[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [linux-linus bisection] complete test-armhf-armhf-xl-arndale
branch xen-unstable xen branch xen-unstable job test-armhf-armhf-xl-arndale test leak-check/basis(8) Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: xen git://xenbits.xen.org/xen.git *** Found and reproduced problem changeset *** Bug is in tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Bug introduced: 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f Bug not present: b7dec838b5f3610c9e800249b1da10468580cd11 commit 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 12 16:35:56 2015 -0700 Linux 4.3-rc1 commit 6917b51dee54f21816706af2278517b7af218f9a Merge: 10fbd36 254a0f4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 12 12:24:29 2015 -0700 Merge tag 'cris-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris Pull CRIS updates from Jesper Nilsson: "Mostly removal of old cruft of which we can use a generic version, or fixes for code not commonly run in the cris port, but also additions to enable some good debug" * tag 'cris-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris: (25 commits) CRISv10: delete unused lib/dmacopy.c CRISv10: delete unused lib/old_checksum.c CRIS: fix switch_mm() lockdep splat CRISv32: enable LOCKDEP_SUPPORT CRIS: add STACKTRACE_SUPPORT CRISv32: annotate irq enable in idle loop CRISv32: add support for irqflags tracing CRIS: UAPI: use generic types.h CRIS: UAPI: use generic shmbuf.h CRIS: UAPI: use generic msgbuf.h CRIS: UAPI: use generic socket.h CRIS: UAPI: use generic sembuf.h CRIS: UAPI: use generic sockios.h CRIS: UAPI: use generic auxvec.h CRIS: UAPI: use generic headers via Kbuild CRIS: UAPI: fix elf.h export CRIS: don't make asm/elf.h depend on asm/user.h CRIS: UAPI: fix ptrace.h CRISv32: Squash compile warnings for axisflashmap CRISv32: Add GPIO driver to the default configs ... commit 10fbd36e362a0f367e34a7cd876a81295d8fc5ca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed May 27 15:32:15 2015 -0700 blk: rq_data_dir() should not return a boolean rq_data_dir() returns either READ or WRITE (0 == READ, 1 == WRITE), not a boolean value. Now, admittedly the "!= 0" doesn't really change the value (0 stays as zero, 1 stays as one), but it's not only redundant, it confuses gcc, and causes gcc to warn about the construct switch (rq_data_dir(req)) { case READ: ... case WRITE: ... that we have in a few drivers. Now, the gcc warning is silly and stupid (it seems to warn not about the switch value having a different type from the case statements, but about _any_ boolean switch value), but in this case the code itself is silly and stupid too, so let's just change it, and get rid of warnings like this: drivers/block/hd.c: In function â??hd_requestâ??: drivers/block/hd.c:630:11: warning: switch condition has boolean value [-Wswitch-bool] switch (rq_data_dir(req)) { The odd '!= 0' came in when "cmd_flags" got turned into a "u64" in commit 5953316dbf90 ("block: make rq->cmd_flags be 64-bit") and is presumably because the old code (that just did a logical 'and' with 1) would then end up making the type of rq_data_dir() be u64 too. But if we want to retain the old regular integer type, let's just cast the result to 'int' rather than use that rather odd '!= 0'. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e1df8b0a1bb2ac8254616d6075e40f9ca447fa29 Merge: dfb22fc 505a666 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 12 11:19:01 2015 -0700 Merge branch 'writeback-plugging' Fix up the writeback plugging introduced in commit d353d7587d02 ("writeback: plug writeback at a high level") that then caused problems due to the unplug happening with a spinlock held. * writeback-plugging: writeback: plug writeback in wb_writeback() and writeback_inodes_wb() Revert "writeback: plug writeback at a high level" commit 505a666ee3fc611518e85df203eb8c707995ceaa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 13:37:19 2015 -0700 writeback: plug writeback in wb_writeback() and writeback_inodes_wb() We had to revert the pluggin in writeback_sb_inodes() because the wb->list_lock is held, but we could easily plug at a higher level before taking that lock, and unplug after releasing it. This does that. Chris will run performance numbers, just to verify that this approach is comparable to the alternative (we could just drop and re-take the lock around the blk_finish_plug() rather than these two commits. I'd have preferred waiting for actual performance numbers before picking one approach over the other, but I don't want to release rc1 with the known "sleeping function called from invalid context" issue, so I'll pick this cleanup version for now. But if the numbers show that we really want to plug just at the writeback_sb_inodes() level, and we should just play ugly games with the spinlock, we'll switch to that. Cc: Chris Mason <clm@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dfb22fc5c0eb7645f47a752ce537bfb2c8a6aea6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 20:06:59 2015 -0700 thermal: fix intel PCH thermal driver mismerge I didn't notice this when merging the thermal code from Zhang, but his merge (commit 5a924a07f882: "Merge branches 'thermal-core' and 'thermal-intel' of .git into next") of the thermal-core and thermal-intel branches was wrong. In thermal-core, commit 17e8351a7739 ("thermal: consistently use int for temperatures") converted the thermal layer to use "int" for temperatures. But in parallel, in the thermal-intel branch commit d0a12625d2ff ("thermal: Add Intel PCH thermal driver") added support for the intel PCH thermal sensor using the old interfaces that used "unsigned long" pointers. This resulted in warnings like this: drivers/thermal/intel_pch_thermal.c:184:14: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] .get_temp = pch_thermal_get_temp, ^ drivers/thermal/intel_pch_thermal.c:184:14: note: (near initialization for â??tzd_ops.get_tempâ??) drivers/thermal/intel_pch_thermal.c:186:19: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] .get_trip_temp = pch_get_trip_temp, ^ drivers/thermal/intel_pch_thermal.c:186:19: note: (near initialization for â??tzd_ops.get_trip_tempâ??) This fixes it. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01b0c014eeb0bb857a5dc572cd108be7becddfe7 Merge: 3ebb054 e527b22 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 19:34:09 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge fourth patch-bomb from Andrew Morton: - sys_membarier syscall - seq_file interface changes - a few misc fixups * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: revert "ocfs2/dlm: use list_for_each_entry instead of list_for_each" mm/early_ioremap: add explicit #include of asm/early_ioremap.h fs/seq_file: convert int seq_vprint/seq_printf/etc... returns to void selftests: enhance membarrier syscall test selftests: add membarrier syscall test sys_membarrier(): system-wide memory barrier (generic, x86) MODSIGN: fix a compilation warning in extract-cert commit 3ebb0540c20d6670396ccee9ff6794c095fa9311 Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Fri Sep 11 16:32:22 2015 -0700 ARCv2: [axs103_smp] Reduce clk for SMP FPGA configs Newer bitfiles needs the reduced clk even for SMP builds Cc: <stable@xxxxxxxxxxxxxxx> #4.2 Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ded0e250b58a27af6034a8ab9226cbcdf7c0d847 Merge: f0c032d 9a07826 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 19:29:00 2015 -0700 Merge tag 'ntb-4.3' of git://github.com/jonmason/ntb Pull NTB fixes from Jon Mason: "NTB bug and documentation fixes, new device IDs, performance improvements, and adding a mailing list to MAINTAINERS for NTB" * tag 'ntb-4.3' of git://github.com/jonmason/ntb: NTB: Fix range check on memory window index NTB: Improve index handling in B2B MW workaround NTB: Fix documentation for ntb_peer_db_clear. NTB: Fix documentation for ntb_link_is_up NTB: Use unique DMA channels for TX and RX NTB: Remove dma_sync_wait from ntb_async_rx NTB: Clean up QP stats info NTB: Make the transport list in order of discovery NTB: Add PCI Device IDs for Broadwell Xeon NTB: Add flow control to the ntb_netdev NTB: Add list to MAINTAINERS commit f0c032d81f58c99b63a6e57cf883e923db910928 Merge: fa9a67e 53431d0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 19:17:28 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull more input updates from Dmitry Torokhov: "Second round of updates for the input subsystem. This introduces two brand new touchscreen drivers (Colibri and imx6ul_tsc), some small driver fixes, and we are no longer report errors from evdev_flush() as users do not really have a way of handling errors, error codes that we were returning were not on the list of errors supposed to be returned by close(), and errors were causing issues with one of older versions of systemd" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: imx_keypad - remove obsolete comment Input: touchscreen - add imx6ul_tsc driver support Input: Add touchscreen support for Colibri VF50 Input: i8042 - lower log level for "no controller" message Input: evdev - do not report errors form flush() Input: elants_i2c - extend the calibration timeout to 12 seconds Input: sparcspkr - fix module autoload for OF platform drivers Input: regulator-haptic - fix module autoload for OF platform driver Input: pwm-beeper - fix module autoload for OF platform driver Input: ab8500-ponkey - Fix module autoload for OF platform driver Input: cyttsp - remove unnecessary MODULE_ALIAS() Input: elan_i2c - add ACPI ID "ELAN1000" commit fa9a67ef9de48de5474ea1e5a358340369e78b74 Merge: 05c7808 4614e0c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 19:11:06 2015 -0700 Merge tag 'pm+acpi-4.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull more power management and ACPI updates from Rafael Wysocki: "These are mostly fixes and cleanups on top of the previous PM+ACPI pull request (cpufreq core and drivers, cpuidle, generic power domains framework). Some of them didn't make to that pull request and some fix issues introduced by it. The only really new thing is the support for suspend frequency in the cpufreq-dt driver, but it is needed to fix an issue with Exynos platforms. Specifics: - build fix for the new Mediatek MT8173 cpufreq driver (Guenter Roeck). - generic power domains framework fixes (power on error code path, subdomain removal) and cleanup of a deprecated API user (Geert Uytterhoeven, Jon Hunter, Ulf Hansson). - cpufreq-dt driver fixes including two fixes for bugs related to the new Operating Performance Points Device Tree bindings introduced recently (Viresh Kumar). - suspend frequency support for the cpufreq-dt driver (Bartlomiej Zolnierkiewicz, Viresh Kumar). - cpufreq core cleanups (Viresh Kumar). - intel_pstate driver fixes (Chen Yu, Kristen Carlson Accardi). - additional sanity check in the cpuidle core (Xunlei Pang). - fix for a comment related to CPU power management (Lina Iyer)" * tag 'pm+acpi-4.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: intel_pstate: fix PCT_TO_HWP macro intel_pstate: Fix user input of min/max to legal policy region PM / OPP: Return suspend_opp only if it is enabled cpufreq-dt: add suspend frequency support cpufreq: allow cpufreq_generic_suspend() to work without suspend frequency PM / OPP: add dev_pm_opp_get_suspend_opp() helper staging: board: Migrate away from __pm_genpd_name_add_device() cpufreq: Use __func__ to print function's name cpufreq: staticize cpufreq_cpu_get_raw() PM / Domains: Ensure subdomain is not in use before removing cpufreq: Add ARM_MT8173_CPUFREQ dependency on THERMAL cpuidle/coupled: Add sanity check for safe_state_index PM / Domains: Try power off masters in error path of __pm_genpd_poweron() cpufreq: dt: Tolerance applies on both sides of target voltage cpufreq: dt: Print error on failing to mark OPPs as shared cpufreq: dt: Check OPP count before marking them shared kernel/cpu_pm: fix cpu_cluster_pm_exit comment commit 05c78081d2d8eaf04bf60946fcc53380febf3376 Merge: 8e78b7d ac64a2c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 19:00:42 2015 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending Pull SCSI target updates from Nicholas Bellinger: "Here are the outstanding target-pending updates for v4.3-rc1. Mostly bug-fixes and minor changes this round. The fallout from the big v4.2-rc1 RCU conversion have (thus far) been minimal. The highlights this round include: - Move sense handling routines into scsi_common code (Sagi) - Return ABORTED_COMMAND sense key for PI errors (Sagi) - Add tpg_enabled_sendtargets attribute for disabled iscsi-target discovery (David) - Shrink target struct se_cmd by rearranging fields (Roland) - Drop iSCSI use of mutex around max_cmd_sn increment (Roland) - Replace iSCSI __kernel_sockaddr_storage with sockaddr_storage (Andy + Chris) - Honor fabric max_data_sg_nents I/O transfer limit (Arun + Himanshu + nab) - Fix EXTENDED_COPY >= v4.1 regression OOPsen (Alex + nab)" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (37 commits) target: use stringify.h instead of own definition target/user: Fix UFLAG_UNKNOWN_OP handling target: Remove no-op conditional target/user: Remove unused variable target: Fix max_cmd_sn increment w/o cmdsn mutex regressions target: Attach EXTENDED_COPY local I/O descriptors to xcopy_pt_sess target/qla2xxx: Honor max_data_sg_nents I/O transfer limit target/iscsi: Replace __kernel_sockaddr_storage with sockaddr_storage target/iscsi: Replace conn->login_ip with login_sockaddr target/iscsi: Keep local_ip as the actual sockaddr target/iscsi: Fix np_ip bracket issue by removing np_ip target: Drop iSCSI use of mutex around max_cmd_sn increment qla2xxx: Update tcm_qla2xxx module description to 24xx+ iscsi-target: Add tpg_enabled_sendtargets for disabled discovery drivers: target: Drop unlikely before IS_ERR(_OR_NULL) target: check DPO/FUA usage for COMPARE AND WRITE target: Shrink struct se_cmd by rearranging fields target: Remove cmd->se_ordered_id (unused except debug log lines) target: add support for START_STOP_UNIT SCSI opcode target: improve unsupported opcode message ... commit 8e78b7dc93c580c050435b0f88991c26e02166bc Merge: 06a660a 294ab78 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 18:15:18 2015 -0700 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull second round of SCSI updates from James Bottomley: "There's one late arriving patch here (added today), fixing a build issue which the scsi_dh patch set in here uncovered. Other than that, everything has been incubated in -next and the checkers for a week. The major pieces of this patch are a set patches facilitating better integration between scsi and scsi_dh (the device handling layer used by multi-path; all the dm parts are acked by Mike Snitzer). This also includes driver updates for mp3sas, scsi_debug and an assortment of bug fixes" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (50 commits) scsi_dh: fix randconfig build error scsi: fix scsi_error_handler vs. scsi_host_dev_release race fcoe: Convert use of __constant_htons to htons mpt2sas: setpci reset kernel oops fix pm80xx: Don't override ts->stat on IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY lpfc: Fix possible use-after-free and double free in lpfc_mbx_cmpl_rdp_page_a2() bfa: Fix incorrect de-reference of pointer bfa: Fix indentation scsi_transport_sas: Remove check for SAS expander when querying bay/enclosure IDs. scsi_debug: resp_request: remove unused variable scsi_debug: fix REPORT LUNS Well Known LU scsi_debug: schedule_resp fix input variable check scsi_debug: make dump_sector static scsi_debug: vfree is null safe so drop the check scsi_debug: use SCSI_W_LUN_REPORT_LUNS instead of SAM2_WLUN_REPORT_LUNS; scsi_debug: define pr_fmt() for consistent logging mpt2sas: Refcount fw_events and fix unsafe list usage mpt2sas: Refcount sas_device objects and fix unsafe list usage scsi_dh: return SCSI_DH_NOTCONN in scsi_dh_activate() scsi_dh: don't allow to detach device handlers at runtime ... commit 06a660ada2064bbdcd09aeb8173f2ad128c71978 Merge: d9b44fe 63540f0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:42:39 2015 -0700 Merge tag 'media/v4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: "A series of patches that move part of the code used to allocate memory from the media subsystem to the mm subsystem" [ The mm parts have been acked by VM people, and the series was apparently in -mm for a while - Linus ] * tag 'media/v4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] drm/exynos: Convert g2d_userptr_get_dma_addr() to use get_vaddr_frames() [media] media: vb2: Remove unused functions [media] media: vb2: Convert vb2_dc_get_userptr() to use frame vector [media] media: vb2: Convert vb2_vmalloc_get_userptr() to use frame vector [media] media: vb2: Convert vb2_dma_sg_get_userptr() to use frame vector [media] vb2: Provide helpers for mapping virtual addresses [media] media: omap_vout: Convert omap_vout_uservirt_to_phys() to use get_vaddr_pfns() [media] mm: Provide new get_vaddr_frames() helper [media] vb2: Push mmap_sem down to memops commit d9b44fe30fb8637b23f804eab2e7afbce129d714 Merge: 9ebd051 12f0721 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:21:12 2015 -0700 Merge tag 'edac/v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac Pull edac updates from Mauro Carvalho Chehab: "Two EDAC fixes for Intel systems (Haswell and Ivy Bridge)" * tag 'edac/v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac: sb_edac: correctly fetch DIMM width on Ivy Bridge and Haswell sb_edac: look harder for DDRIO on Haswell systems commit 9ebd051a7d5aa7b0ce813c3c2e5b9c851e7774b9 Merge: 51a73ba 5a924a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:13:47 2015 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux Pull thermal updates from Zhang Rui: - use int instead of unsigned long to represent temperature to avoid bogus overheat detection when negative temperature reported. From Sascha Hauer. - export available thermal governors information to user space via sysfs. From Wei Ni. - introduce new thermal driver for Wildcat Point platform controller hub, which uses PCH thermal sensor and associated critical and hot trip points. From Tushar Dave. - add suuport for Intel Skylake and Denlow platforms in powerclamp driver. - some small cleanups in thermal core. * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: thermal: Add Intel PCH thermal driver thermal: Add comment explaining test for critical temperature thermal: Use IS_ENABLED instead of #ifdef thermal: remove unnecessary call to thermal_zone_device_set_polling thermal: trivial: fix typo in comment thermal: consistently use int for temperatures thermal: add available policies sysfs attribute thermal/powerclamp: add cpu id for denlow platform thermal/powerclamp: add cpu id for Skylake u/y thermal/powerclamp: add cpu id for skylake h/s commit e527b22c3f63c02832ac4cb8ed0ec3a9b638bbdf Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 13:07:53 2015 -0700 revert "ocfs2/dlm: use list_for_each_entry instead of list_for_each" Revert commit f83c7b5e9fd6 ("ocfs2/dlm: use list_for_each_entry instead of list_for_each"). list_for_each_entry() will dereference its `pos' argument, which can be NULL in dlm_process_recovery_data(). Reported-by: Julia Lawall <julia.lawall@xxxxxxx> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4f1af60bcc2fc6caa7fa3036238b5994708e9a84 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Sep 11 13:07:50 2015 -0700 mm/early_ioremap: add explicit #include of asm/early_ioremap.h Commit 6b0f68e32ea8 ("mm: add utility for early copy from unmapped ram") introduces a function copy_from_early_mem() into mm/early_ioremap.c which itself calls early_memremap()/early_memunmap(). However, since early_memunmap() has not been declared yet at this point in the .c file, nor by any explicitly included header files, we are depending on a transitive include of asm/early_ioremap.h to declare it, which is fragile. So instead, include this header explicitly. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6798a8caaf64fa68b9ab2044e070fe4545034e03 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Sep 11 13:07:48 2015 -0700 fs/seq_file: convert int seq_vprint/seq_printf/etc... returns to void The seq_<foo> function return values were frequently misused. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") All uses of these return values have been removed, so convert the return types to void. Miscellanea: o Move seq_put_decimal_<type> and seq_escape prototypes closer the other seq_vprintf prototypes o Reorder seq_putc and seq_puts to return early on overflow o Add argument names to seq_vprintf and seq_printf o Update the seq_escape kernel-doc o Convert a couple of leading spaces to tabs in seq_escape Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c9946c4208a3725e116c05180d93154eb406d451 Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Date: Fri Sep 11 13:07:45 2015 -0700 selftests: enhance membarrier syscall test Update the membarrier syscall self-test to match the membarrier interface. Extend coverage of the interface. Consider ENOSYS as a "SKIP" test, since it is a valid configuration, but does not allow testing the system call. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Pranith Kumar <bobby.prani@xxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b6d973441675222a4e6c8cad8208c2fe098a0b25 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Sep 11 13:07:42 2015 -0700 selftests: add membarrier syscall test Add a self test for the membarrier system call. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5b25b13ab08f616efd566347d809b4ece54570d1 Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Date: Fri Sep 11 13:07:39 2015 -0700 sys_membarrier(): system-wide memory barrier (generic, x86) Here is an implementation of a new system call, sys_membarrier(), which executes a memory barrier on all threads running on the system. It is implemented by calling synchronize_sched(). It can be used to distribute the cost of user-space memory barriers asymmetrically by transforming pairs of memory barriers into pairs consisting of sys_membarrier() and a compiler barrier. For synchronization primitives that distinguish between read-side and write-side (e.g. userspace RCU [1], rwlocks), the read-side can be accelerated significantly by moving the bulk of the memory barrier overhead to the write-side. The existing applications of which I am aware that would be improved by this system call are as follows: * Through Userspace RCU library (http://urcu.so) - DNS server (Knot DNS) https://www.knot-dns.cz/ - Network sniffer (http://netsniff-ng.org/) - Distributed object storage (https://sheepdog.github.io/sheepdog/) - User-space tracing (http://lttng.org) - Network storage system (https://www.gluster.org/) - Virtual routers (https://events.linuxfoundation.org/sites/events/files/slides/DPDK_RCU_0MQ.pdf) - Financial software (https://lkml.org/lkml/2015/3/23/189) Those projects use RCU in userspace to increase read-side speed and scalability compared to locking. Especially in the case of RCU used by libraries, sys_membarrier can speed up the read-side by moving the bulk of the memory barrier cost to synchronize_rcu(). * Direct users of sys_membarrier - core dotnet garbage collector (https://github.com/dotnet/coreclr/issues/198) Microsoft core dotnet GC developers are planning to use the mprotect() side-effect of issuing memory barriers through IPIs as a way to implement Windows FlushProcessWriteBuffers() on Linux. They are referring to sys_membarrier in their github thread, specifically stating that sys_membarrier() is what they are looking for. To explain the benefit of this scheme, let's introduce two example threads: Thread A (non-frequent, e.g. executing liburcu synchronize_rcu()) Thread B (frequent, e.g. executing liburcu rcu_read_lock()/rcu_read_unlock()) In a scheme where all smp_mb() in thread A are ordering memory accesses with respect to smp_mb() present in Thread B, we can change each smp_mb() within Thread A into calls to sys_membarrier() and each smp_mb() within Thread B into compiler barriers "barrier()". Before the change, we had, for each smp_mb() pairs: Thread A Thread B previous mem accesses previous mem accesses smp_mb() smp_mb() following mem accesses following mem accesses After the change, these pairs become: Thread A Thread B prev mem accesses prev mem accesses sys_membarrier() barrier() follow mem accesses follow mem accesses As we can see, there are two possible scenarios: either Thread B memory accesses do not happen concurrently with Thread A accesses (1), or they do (2). 1) Non-concurrent Thread A vs Thread B accesses: Thread A Thread B prev mem accesses sys_membarrier() follow mem accesses prev mem accesses barrier() follow mem accesses In this case, thread B accesses will be weakly ordered. This is OK, because at that point, thread A is not particularly interested in ordering them with respect to its own accesses. 2) Concurrent Thread A vs Thread B accesses Thread A Thread B prev mem accesses prev mem accesses sys_membarrier() barrier() follow mem accesses follow mem accesses In this case, thread B accesses, which are ensured to be in program order thanks to the compiler barrier, will be "upgraded" to full smp_mb() by synchronize_sched(). * Benchmarks On Intel Xeon E5405 (8 cores) (one thread is calling sys_membarrier, the other 7 threads are busy looping) 1000 non-expedited sys_membarrier calls in 33s =3D 33 milliseconds/call. * User-space user of this system call: Userspace RCU library Both the signal-based and the sys_membarrier userspace RCU schemes permit us to remove the memory barrier from the userspace RCU rcu_read_lock() and rcu_read_unlock() primitives, thus significantly accelerating them. These memory barriers are replaced by compiler barriers on the read-side, and all matching memory barriers on the write-side are turned into an invocation of a memory barrier on all active threads in the process. By letting the kernel perform this synchronization rather than dumbly sending a signal to every process threads (as we currently do), we diminish the number of unnecessary wake ups and only issue the memory barriers on active threads. Non-running threads do not need to execute such barrier anyway, because these are implied by the scheduler context switches. Results in liburcu: Operations in 10s, 6 readers, 2 writers: memory barriers in reader: 1701557485 reads, 2202847 writes signal-based scheme: 9830061167 reads, 6700 writes sys_membarrier: 9952759104 reads, 425 writes sys_membarrier (dyn. check): 7970328887 reads, 425 writes The dynamic sys_membarrier availability check adds some overhead to the read-side compared to the signal-based scheme, but besides that, sys_membarrier slightly outperforms the signal-based scheme. However, this non-expedited sys_membarrier implementation has a much slower grace period than signal and memory barrier schemes. Besides diminishing the number of wake-ups, one major advantage of the membarrier system call over the signal-based scheme is that it does not need to reserve a signal. This plays much more nicely with libraries, and with processes injected into for tracing purposes, for which we cannot expect that signals will be unused by the application. An expedited version of this system call can be added later on to speed up the grace period. Its implementation will likely depend on reading the cpu_curr()->mm without holding each CPU's rq lock. This patch adds the system call to x86 and to asm-generic. [1] http://urcu.so membarrier(2) man page: MEMBARRIER(2) Linux Programmer's Manual MEMBARRIER(2) NAME membarrier - issue memory barriers on a set of threads SYNOPSIS #include <linux/membarrier.h> int membarrier(int cmd, int flags); DESCRIPTION The cmd argument is one of the following: MEMBARRIER_CMD_QUERY Query the set of supported commands. It returns a bitmask of supported commands. MEMBARRIER_CMD_SHARED Execute a memory barrier on all threads running on the system. Upon return from system call, the caller thread is ensured that all running threads have passed through a state where all memory accesses to user-space addresses match program order between entry to and return from the system call (non-running threads are de facto in such a state). This covers threads from all pro=E2=80=90 cesses running on the system. This command returns 0. The flags argument needs to be 0. For future extensions. All memory accesses performed in program order from each targeted thread is guaranteed to be ordered with respect to sys_membarrier(). If we use the semantic "barrier()" to represent a compiler barrier forcing memory accesses to be performed in program order across the barrier, and smp_mb() to represent explicit memory barriers forcing full memory ordering across the barrier, we have the following ordering table for each pair of barrier(), sys_membarrier() and smp_mb(): The pair ordering is detailed as (O: ordered, X: not ordered): barrier() smp_mb() sys_membarrier() barrier() X X O smp_mb() X O O sys_membarrier() O O O RETURN VALUE On success, these system calls return zero. On error, -1 is returned, and errno is set appropriately. For a given command, with flags argument set to 0, this system call is guaranteed to always return the same value until reboot. ERRORS ENOSYS System call is not implemented. EINVAL Invalid arguments. Linux 2015-04-15 MEMBARRIER(2) Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Nicholas Miell <nmiell@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Alan Cox <gnomes@xxxxxxxxxxxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Pranith Kumar <bobby.prani@xxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c0d35a339db612aae5496424030307128f088a9 Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Sep 11 13:07:36 2015 -0700 MODSIGN: fix a compilation warning in extract-cert Fix the following warning when compiling extract-cert: scripts/extract-cert.c: In function `write_cert': scripts/extract-cert.c:89:2: warning: format not a string literal and no format arguments [-Wformat-security] ERR(!i2d_X509_bio(wb, x509), cert_dst); ^ whereby the ERR() macro is taking cert_dst as the format string. "%s" should be used as the format string as the path could contain special characters. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Acked-by : David Woodhouse <david.woodhouse@xxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 51a73ba5f409ef6f419c8ec3a0d1257633500aaa Merge: e91eb62 6551881 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 15:12:59 2015 -0700 Merge git://www.linux-watchdog.org/linux-watchdog Pull watchdog updates from Wim Van Sebroeck: - new driver for NXP LPC18xx Watchdog Timer - new driver for SAMA5D4 watchdog timer - add support for MCP79 to nv_tco driver - clean-up and improvement of the mpc8xxx watchdog driver - improvements to gpio-wdt - at91sam9_wdt clock improvements ... and other small fixes and improvements * git://www.linux-watchdog.org/linux-watchdog: (25 commits) Watchdog: Fix parent of watchdog_devices watchdog: at91rm9200: Correct check for syscon_node_to_regmap() errors watchdog: at91sam9: get and use slow clock Documentation: dt: binding: atmel-sama5d4-wdt: for SAMA5D4 watchdog driver watchdog: add a driver to support SAMA5D4 watchdog timer watchdog: mpc8xxx: allow to compile for MPC512x watchdog: mpc8xxx: use better error code when watchdog cannot be enabled watchdog: mpc8xxx: use dynamic memory for device specific data watchdog: mpc8xxx: use devm_ioremap_resource to map memory watchdog: mpc8xxx: make use of of_device_get_match_data watchdog: mpc8xxx: simplify registration watchdog: mpc8xxx: remove dead code watchdog: lpc18xx_wdt_get_timeleft() can be static DT: watchdog: Add NXP LPC18xx Watchdog Timer binding documentation watchdog: NXP LPC18xx Watchdog Timer Driver watchdog: gpio-wdt: ping already at startup for always running devices watchdog: gpio-wdt: be more strict about hw_algo matching Documentation: watchdog: at91sam9_wdt: add clocks property watchdog: booke_wdt: Use infrastructure to check timeout limits watchdog: (nv_tco) add support for MCP79 ... commit 0ba13fd19d39b7cb672bcec052bc813389c079a4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 13:26:39 2015 -0700 Revert "writeback: plug writeback at a high level" This reverts commit d353d7587d02116b9732d5c06615aed75a4d3a47. Doing the block layer plug/unplug inside writeback_sb_inodes() is broken, because that function is actually called with a spinlock held: wb->list_lock, as pointed out by Chris Mason. Chris suggested just dropping and re-taking the spinlock around the blk_finish_plug() call (the plgging itself can happen under the spinlock), and that would technically work, but is just disgusting. We do something fairly similar - but not quite as disgusting because we at least have a better reason for it - in writeback_single_inode(), so it's not like the caller can depend on the lock being held over the call, but in this case there just isn't any good reason for that "release and re-take the lock" pattern. [ In general, we should really strive to avoid the "release and retake" pattern for locks, because in the general case it can easily cause subtle bugs when the caller caches any state around the call that might be invalidated by dropping the lock even just temporarily. ] But in this case, the plugging should be easy to just move up to the callers before the spinlock is taken, which should even improve the effectiveness of the plug. So there is really no good reason to play games with locking here. I'll send off a test-patch so that Dave Chinner can verify that that plug movement works. In the meantime this just reverts the problematic commit and adds a comment to the function so that we hopefully don't make this mistake again. Reported-by: Chris Mason <clm@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e91eb6204fb826116453e43d4f5cf0f666bf46fe Merge: e013f74 527afb4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 12:38:25 2015 -0700 Merge branch 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs cleanups and fixes from Chris Mason: "These are small cleanups, and also some fixes for our async worker thread initialization. I was having some trouble testing these, but it ended up being a combination of changing around my test servers and a shiny new schedule while atomic from the new start/finish_plug in writeback_sb_inodes(). That one only hits on btrfs raid5/6 or MD raid10, and if I wasn't changing a bunch of things in my test setup at once it would have been really clear. Fix for writeback_sb_inodes() on the way as well" * 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: cleanup: remove unnecessary check before btrfs_free_path is called btrfs: async_thread: Fix workqueue 'max_active' value when initializing btrfs: Add raid56 support for updating num_tolerated_disk_barrier_failures in btrfs_balance btrfs: Cleanup for btrfs_calc_num_tolerated_disk_barrier_failures btrfs: Remove noused chunk_tree and chunk_objectid from scrub_enumerate_chunks and scrub_chunk btrfs: Update out-of-date "skip parity stripe" comment commit e013f74b60bbd37ee8c3a55214eb351ea3101c15 Merge: 01cab55 4383868 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 12:33:03 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph update from Sage Weil: "There are a few fixes for snapshot behavior with CephFS and support for the new keepalive protocol from Zheng, a libceph fix that affects both RBD and CephFS, a few bug fixes and cleanups for RBD from Ilya, and several small fixes and cleanups from Jianpeng and others" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: ceph: improve readahead for file holes ceph: get inode size for each append write libceph: check data_len in ->alloc_msg() libceph: use keepalive2 to verify the mon session is alive rbd: plug rbd_dev->header.object_prefix memory leak rbd: fix double free on rbd_dev->header_name libceph: set 'exists' flag for newly up osd ceph: cleanup use of ceph_msg_get ceph: no need to get parent inode in ceph_open ceph: remove the useless judgement ceph: remove redundant test of head->safe and silence static analysis warnings ceph: fix queuing inode to mdsdir's snaprealm libceph: rename con_work() to ceph_con_workfn() libceph: Avoid holding the zero page on ceph_msgr_slab_init errors libceph: remove the unused macro AES_KEY_SIZE ceph: invalidate dirty pages after forced umount ceph: EIO all operations after forced umount commit 01cab5549c3e9a0fe7248fc5ad0fd79361cc0d39 Merge: 64d1def 8f7e0a8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 12:23:51 2015 -0700 Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 Pull GFS2 updates from Bob Peterson: "Here is a list of patches we've accumulated for GFS2 for the current upstream merge window. This time we've only got six patches, many of which are very small: - three cleanups from Andreas Gruenbacher, including a nice cleanup of the sequence file code for the sbstats debugfs file. - a patch from Ben Hutchings that changes statistics variables from signed to unsigned. - two patches from me that increase GFS2's glock scalability by switching from a conventional hash table to rhashtable" * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: gfs2: A minor "sbstats" cleanup gfs2: Fix a typo in a comment gfs2: Make statistics unsigned, suitable for use with do_div() GFS2: Use resizable hash table for glocks GFS2: Move glock superblock pointer to field gl_name gfs2: Simplify the seq file code for "sbstats" commit 294ab783ad98066b87296db1311c7ba2a60206a5 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 18:04:18 2015 +0200 scsi_dh: fix randconfig build error It looks like the Kconfig check that was meant to fix this (commit fe9233fb6914a0eb20166c967e3020f7f0fba2c9 [SCSI] scsi_dh: fix kconfig related build errors) was actually reversed, but no-one noticed until the new set of patches which separated DM and SCSI_DH). Fixes: fe9233fb6914a0eb20166c967e3020f7f0fba2c9 Signed-off-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 64d1def7d33856824d2c5c6fd6d4579d4d54bb87 Merge: 04d78e3 5ee20bc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 09:42:32 2015 -0700 Merge tag 'sound-fix-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "A collection of small fixes since the last update: the HD-audio quirks as usual with a USB-audio fix and a trivial fix for the old sparc driver" * tag 'sound-fix-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: usb-audio: Change internal PCM order ALSA: hda - Fix white noise on Dell M3800 ALSA: hda - Use ALC880_FIXUP_FUJITSU for FSC Amilo M1437 ALSA: hda - Enable headphone jack detect on old Fujitsu laptops ALSA: sparc: amd7930: Fix module autoload for OF platform driver ALSA: hda - Add some FIXUP quirks for white noise on Dell laptop. commit 04d78e39ee1a7aa3712fce016b37b43a03f810c1 Merge: b0a1ea5 9fbcc7c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 09:35:56 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Just a bunch of fixes to squeeze in before -rc1: - three nouveau regression fixes - one qxl regression fix - a bunch of i915 fixes ... and some core displayport/atomic fixes" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/nouveau/device: enable c800 quirk for tecra w50 drm/nouveau/clk/gt215: Unbreak engine pausing for GT21x/MCP7x drm/nouveau/gr/nv04: fix big endian setting on gr context drm/qxl: validate monitors config modes drm/i915: Allow DSI dual link to be configured on any pipe drm/i915: Don't try to use DDR DVFS on CHV when disabled in the BIOS drm/i915: Fix CSR MMIO address check drm/i915: Limit the number of loops for reading a split 64bit register drm/i915: Fix broken mst get_hw_state. drm/i915: Pass hpd_status_i915[] to intel_get_hpd_pins() in pre-g4x uapi/drm/i915_drm.h: fix userspace compilation. drm/i915: Always mark the object as dirty when used by the GPU drm/dp: Add dp_aux_i2c_speed_khz module param to set the assume i2c bus speed drm/dp: Adjust i2c-over-aux retry count based on message size and i2c bus speed drm/dp: Define AUX_RETRY_INTERVAL as 500 us drm/atomic: Fix bookkeeping with TEST_ONLY, v3. commit 53431d0a3534263168c8ee576bad1c2c3a4cd9e0 Merge: 01b944f ade9c1a Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Sep 11 09:02:36 2015 -0700 Merge branch 'next' into for-linus Prepare second round of input updates for 4.3 merge window. commit 4614e0cc66a8ea1d163efc364ba743424dee5c0a Merge: 3e66c4b 21dd33b abceaa9 f33b774 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Sep 11 15:37:36 2015 +0200 Merge branches 'pm-cpu', 'pm-cpuidle' and 'pm-domains' * pm-cpu: kernel/cpu_pm: fix cpu_cluster_pm_exit comment * pm-cpuidle: cpuidle/coupled: Add sanity check for safe_state_index * pm-domains: staging: board: Migrate away from __pm_genpd_name_add_device() PM / Domains: Ensure subdomain is not in use before removing PM / Domains: Try power off masters in error path of __pm_genpd_poweron() commit 3e66c4b86035884e00f008086b183b925fb0592b Merge: 7c97666 74da56c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Sep 11 15:37:25 2015 +0200 Merge branch 'pm-cpufreq' * pm-cpufreq: intel_pstate: fix PCT_TO_HWP macro intel_pstate: Fix user input of min/max to legal policy region cpufreq-dt: add suspend frequency support cpufreq: allow cpufreq_generic_suspend() to work without suspend frequency cpufreq: Use __func__ to print function's name cpufreq: staticize cpufreq_cpu_get_raw() cpufreq: Add ARM_MT8173_CPUFREQ dependency on THERMAL cpufreq: dt: Tolerance applies on both sides of target voltage cpufreq: dt: Print error on failing to mark OPPs as shared cpufreq: dt: Check OPP count before marking them shared commit 7c976664d537bca19c9bf892b4d9e5ab7ecea927 Merge: ae98207 1b2b90c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Sep 11 15:37:17 2015 +0200 Merge branch 'pm-opp' * pm-opp: PM / OPP: Return suspend_opp only if it is enabled PM / OPP: add dev_pm_opp_get_suspend_opp() helper commit ac64a2ce509104a746321a4f9646b6750cf281eb Author: David Disseldorp <ddiss@xxxxxxx> Date: Fri Sep 4 01:39:56 2015 +0200 target: use stringify.h instead of own definition Signed-off-by: David Disseldorp <ddiss@xxxxxxx> Acked-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ed97d0cd78a337450e17eb613bdeec15e729af46 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Thu Sep 3 16:03:44 2015 -0700 target/user: Fix UFLAG_UNKNOWN_OP handling Calling transport_generic_request_failure() from here causes list corruption. We should be using target_complete_cmd() instead. Which we do in all other cases, so the UNKNOWN_OP case can become just another member of the big else/if chain in tcmu_handle_completion(). Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 06b967e429cfb76494badb9ffdd69e934ba72c77 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Thu Sep 3 16:03:43 2015 -0700 target: Remove no-op conditional This does nothing, and there are many other places where transport_cmd_check_stop_to_fabric()'s retval is not checked>, If we wanted to check it here, we should probably do it those other places too. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4824640ec3fc84337cb2baa9fb780e95864feb88 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Thu Sep 3 16:03:42 2015 -0700 target/user: Remove unused variable We don't use it any more. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7dd03aca9d61a9b64cd2a8cf6f5ea6f1f5391e8d Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Tue Sep 8 06:14:18 2015 -0700 target: Fix max_cmd_sn increment w/o cmdsn mutex regressions Current for-next iscsi target is broken: commit 109e2381749c1cfd94a0d22b2b54142539024973 Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Thu Jul 23 14:53:32 2015 -0700 target: Drop iSCSI use of mutex around max_cmd_sn increment This patch fixes incorrect pr_debug() + atomic_inc_return() usage within iscsit_increment_maxcmdsn() code. Also fix funny iscsit_determine_maxcmdsn() usage and update iscsi_target_do_tx_login_io() code. Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4416f89b8cfcb794d040fc3b68e5fb159b7d8d02 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Thu Sep 3 06:30:45 2015 +0000 target: Attach EXTENDED_COPY local I/O descriptors to xcopy_pt_sess This patch is a >= v4.1 regression bug-fix where control CDB emulation logic in commit 38b57f82 now expects a se_cmd->se_sess pointer to exist when determining T10-PI support is to be exposed for initiator host ports. To address this bug, go ahead and add locally generated se_cmd descriptors for copy-offload block-copy to it's own stand-alone se_session nexus, while the parent EXTENDED_COPY se_cmd descriptor remains associated with it's originating se_cmd->se_sess nexus. Note a valid se_cmd->se_sess is also required for future support of WRITE_INSERT and READ_STRIP software emulation when submitting backend I/O to se_device that exposes T10-PI suport. Reported-by: Alex Gorbachev <ag@xxxxxxxxxxxxxxxxxxx> Tested-by: Alex Gorbachev <ag@xxxxxxxxxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Doug Gilbert <dgilbert@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.1+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 8f9b565482c537821588444e09ff732c7d65ed6e Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:28:13 2015 -0700 target/qla2xxx: Honor max_data_sg_nents I/O transfer limit This patch adds an optional fabric driver provided SGL limit that target-core will honor as it's own internal I/O maximum transfer length limit, as exposed by EVPD=0xb0 block limits parameters. This is required for handling cases when host I/O transfer length exceeds the requested EVPD block limits maximum transfer length. The initial user of this logic is qla2xxx, so that we can avoid having to reject I/Os from some legacy FC hosts where EVPD=0xb0 parameters are not honored. When se_cmd payload length exceeds the provided limit in target_check_max_data_sg_nents() code, se_cmd->data_length + se_cmd->prot_length are reset with se_cmd->residual_count plus underflow bit for outgoing TFO response callbacks. It also checks for existing CDB level underflow + overflow and recalculates final residual_count as necessary. Note this patch currently assumes 1:1 mapping of PAGE_SIZE per struct scatterlist entry. Reported-by: Craig Watson <craig.watson@xxxxxxxxxxxxxxxxxxx> Cc: Craig Watson <craig.watson@xxxxxxxxxxxxxxxxxxx> Tested-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxxxxxxx> Cc: Arun Easi <arun.easi@xxxxxxxxxx> Cc: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Cc: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9fbcc7c007ea200357e2453c6b2b153646fbc165 Merge: d1031d5 778613e5 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 11 14:38:36 2015 +1000 Merge branch 'linux-4.3' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next three nouveau regression fixes. * 'linux-4.3' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau/device: enable c800 quirk for tecra w50 drm/nouveau/clk/gt215: Unbreak engine pausing for GT21x/MCP7x drm/nouveau/gr/nv04: fix big endian setting on gr context commit b0a1ea51bda4c2bcdde460221e1772f3a4f8c44f Merge: 33e247c 69d7fde Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 18:56:14 2015 -0700 Merge branch 'for-4.3/blkcg' of git://git.kernel.dk/linux-block Pull blk-cg updates from Jens Axboe: "A bit later in the cycle, but this has been in the block tree for a a while. This is basically four patchsets from Tejun, that improve our buffered cgroup writeback. It was dependent on the other cgroup changes, but they went in earlier in this cycle. Series 1 is set of 5 patches that has cgroup writeback updates: - bdi_writeback iteration fix which could lead to some wb's being skipped or repeated during e.g. sync under memory pressure. - Simplification of wb work wait mechanism. - Writeback tracepoints updated to report cgroup. Series 2 is is a set of updates for the CFQ cgroup writeback handling: cfq has always charged all async IOs to the root cgroup. It didn't have much choice as writeback didn't know about cgroups and there was no way to tell who to blame for a given writeback IO. writeback finally grew support for cgroups and now tags each writeback IO with the appropriate cgroup to charge it against. This patchset updates cfq so that it follows the blkcg each bio is tagged with. Async cfq_queues are now shared across cfq_group, which is per-cgroup, instead of per-request_queue cfq_data. This makes all IOs follow the weight based IO resource distribution implemented by cfq. - Switched from GFP_ATOMIC to GFP_NOWAIT as suggested by Jeff. - Other misc review points addressed, acks added and rebased. Series 3 is the blkcg policy cleanup patches: This patchset contains assorted cleanups for blkcg_policy methods and blk[c]g_policy_data handling. - alloc/free added for blkg_policy_data. exit dropped. - alloc/free added for blkcg_policy_data. - blk-throttle's async percpu allocation is replaced with direct allocation. - all methods now take blk[c]g_policy_data instead of blkcg_gq or blkcg. And finally, series 4 is a set of patches cleaning up the blkcg stats handling: blkcg's stats have always been somwhat of a mess. This patchset tries to improve the situation a bit. - The following patches added to consolidate blkcg entry point and blkg creation. This is in itself is an improvement and helps colllecting common stats on bio issue. - per-blkg stats now accounted on bio issue rather than request completion so that bio based and request based drivers can behave the same way. The issue was spotted by Vivek. - cfq-iosched implements custom recursive stats and blk-throttle implements custom per-cpu stats. This patchset make blkcg core support both by default. - cfq-iosched and blk-throttle keep track of the same stats multiple times. Unify them" * 'for-4.3/blkcg' of git://git.kernel.dk/linux-block: (45 commits) blkcg: use CGROUP_WEIGHT_* scale for io.weight on the unified hierarchy blkcg: s/CFQ_WEIGHT_*/CFQ_WEIGHT_LEGACY_*/ blkcg: implement interface for the unified hierarchy blkcg: misc preparations for unified hierarchy interface blkcg: separate out tg_conf_updated() from tg_set_conf() blkcg: move body parsing from blkg_conf_prep() to its callers blkcg: mark existing cftypes as legacy blkcg: rename subsystem name from blkio to io blkcg: refine error codes returned during blkcg configuration blkcg: remove unnecessary NULL checks from __cfqg_set_weight_device() blkcg: reduce stack usage of blkg_rwstat_recursive_sum() blkcg: remove cfqg_stats->sectors blkcg: move io_service_bytes and io_serviced stats into blkcg_gq blkcg: make blkg_[rw]stat_recursive_sum() to be able to index into blkcg_gq blkcg: make blkcg_[rw]stat per-cpu blkcg: add blkg_[rw]stat->aux_cnt and replace cfq_group->dead_stats with it blkcg: consolidate blkg creation in blkcg_bio_issue_check() blk-throttle: improve queue bypass handling blkcg: move root blkg lookup optimization from throtl_lookup_tg() to __blkg_lookup() blkcg: inline [__]blkg_lookup() ... commit 778613e583994d947960a7f177226d0e7b5ef124 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Sep 3 12:39:45 2015 +1000 drm/nouveau/device: enable c800 quirk for tecra w50 Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c5bf4609e03e296d74cbbfe124ba49e0f907feb3 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 2 23:21:02 2015 +0100 drm/nouveau/clk/gt215: Unbreak engine pausing for GT21x/MCP7x Typo that snuck in with commit 6979c6303a4abf263753cd9d577d79f05c6e8c47 Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Reported-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 15ee005893c5ac8aabb66c2ad0033ef31dbdcfa3 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Mon Aug 31 22:50:28 2015 -0400 drm/nouveau/gr/nv04: fix big endian setting on gr context Broken since "gr: convert user classes to new-style nvkm_object" Tested on a PPC64 G5 + NV34 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 33e247c7e58d335d70ecb84fd869091e2e4b8dcb Merge: d71fc23 452e06a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 18:19:42 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge third patch-bomb from Andrew Morton: - even more of the rest of MM - lib/ updates - checkpatch updates - small changes to a few scruffy filesystems - kmod fixes/cleanups - kexec updates - a dma-mapping cleanup series from hch * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (81 commits) dma-mapping: consolidate dma_set_mask dma-mapping: consolidate dma_supported dma-mapping: cosolidate dma_mapping_error dma-mapping: consolidate dma_{alloc,free}_noncoherent dma-mapping: consolidate dma_{alloc,free}_{attrs,coherent} mm: use vma_is_anonymous() in create_huge_pmd() and wp_huge_pmd() mm: make sure all file VMAs have ->vm_ops set mm, mpx: add "vm_flags_t vm_flags" arg to do_mmap_pgoff() mm: mark most vm_operations_struct const namei: fix warning while make xmldocs caused by namei.c ipc: convert invalid scenarios to use WARN_ON zlib_deflate/deftree: remove bi_reverse() lib/decompress_unlzma: Do a NULL check for pointer lib/decompressors: use real out buf size for gunzip with kernel fs/affs: make root lookup from blkdev logical size sysctl: fix int -> unsigned long assignments in INT_MIN case kexec: export KERNEL_IMAGE_SIZE to vmcoreinfo kexec: align crash_notes allocation to make it be inside one physical page kexec: remove unnecessary test in kimage_alloc_crash_control_pages() kexec: split kexec_load syscall from kexec core code ... commit d71fc239b6915a8b750e9a447311029ff45b6580 Merge: 519f526 c6e59bd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 17:59:04 2015 -0700 Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull late ARM SoC updates from Kevin Hilman: "This is a collection of a few late fixes and other misc stuff that had dependencies on things being merged from other trees. The bulk of the changes are for samsung/exynos SoCs for some changes that needed a few minor reworks so ended up a bit late. The others are mainly for qcom SoCs: a couple fixes and some DTS updates" * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (37 commits) ARM: multi_v7_defconfig: Enable PBIAS regulator soc: qcom: smd: Correct fBLOCKREADINTR handling soc: qcom: smd: Use correct remote processor ID soc: qcom: smem: Fix errant private access ARM: dts: qcom: msm8974-sony-xperia-honami: Use stdout-path ARM: dts: qcom: msm8960-cdp: Use stdout-path ARM: dts: qcom: msm8660-surf: Use stdout-path ARM: dts: qcom: ipq8064-ap148: Use stdout-path ARM: dts: qcom: apq8084-mtp: Use stdout-path ARM: dts: qcom: apq8084-ifc6540: Use stdout-path ARM: dts: qcom: apq8074-dragonboard: Use stdout-path ARM: dts: qcom: apq8064-ifc6410: Use stdout-path ARM: dts: qcom: apq8064-cm-qs600: Use stdout-path ARM: dts: qcom: Label serial nodes for aliasing and stdout-path reset: ath79: Fix missing spin_lock_init reset: Add (devm_)reset_control_get stub functions ARM: EXYNOS: switch to using generic cpufreq driver for exynos4x12 cpufreq: exynos: Remove unselectable rule for arm-exynos-cpufreq.o ARM: dts: add iommu property to JPEG device for exynos4 ARM: dts: enable SPI1 for exynos4412-odroidu3 ... commit d1031d576d7398ab2e2fce53796d733c5be13d64 Merge: 91b6fc0 f36203b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 11 10:52:37 2015 +1000 Merge tag 'topic/drm-fixes-2015-09-09' of git://anongit.freedesktop.org/drm-intel into drm-next bunch of drm fixes. * tag 'topic/drm-fixes-2015-09-09' of git://anongit.freedesktop.org/drm-intel: drm/dp: Add dp_aux_i2c_speed_khz module param to set the assume i2c bus speed drm/dp: Adjust i2c-over-aux retry count based on message size and i2c bus speed drm/dp: Define AUX_RETRY_INTERVAL as 500 us drm/atomic: Fix bookkeeping with TEST_ONLY, v3. commit 91b6fc02a258422bf342992add24cfe70a029eca Merge: bd3e1c7 8242578 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 11 10:52:08 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-09-10' of git://anongit.freedesktop.org/drm-intel into drm-next Fixes headed for v4.3-rc1, including Maarten's DP MST state checker fix you requested. * tag 'drm-intel-next-fixes-2015-09-10' of git://anongit.freedesktop.org/drm-intel: drm/i915: Allow DSI dual link to be configured on any pipe drm/i915: Don't try to use DDR DVFS on CHV when disabled in the BIOS drm/i915: Fix CSR MMIO address check drm/i915: Limit the number of loops for reading a split 64bit register drm/i915: Fix broken mst get_hw_state. drm/i915: Pass hpd_status_i915[] to intel_get_hpd_pins() in pre-g4x uapi/drm/i915_drm.h: fix userspace compilation. drm/i915: Always mark the object as dirty when used by the GPU commit bd3e1c7c6de9f5f70d97cdb6c817151c0477c5e3 Author: Jonathon Jongsma <jjongsma@xxxxxxxxxx> Date: Thu Aug 20 14:04:32 2015 -0500 drm/qxl: validate monitors config modes Due to some recent changes in drm_helper_probe_single_connector_modes_merge_bits(), old custom modes were not being pruned properly. In current kernels, drm_mode_validate_basic() is called to sanity-check each mode in the list. If the sanity-check passes, the mode's status gets set to to MODE_OK. In older kernels this check was not done, so old custom modes would still have a status of MODE_UNVERIFIED at this point, and would therefore be pruned later in the function. As a result of this new behavior, the list of modes for a device always includes every custom mode ever configured for the device, with the largest one listed first. Since desktop environments usually choose the first preferred mode when a hotplug event is emitted, this had the result of making it very difficult for the user to reduce the size of the display. The qxl driver did implement the mode_valid connector function, but it was empty. In order to restore the old behavior where old custom modes are pruned, we implement a proper mode_valid function for the qxl driver. This function now checks each mode against the last configured custom mode and the list of standard modes. If the mode doesn't match any of these, its status is set to MODE_BAD so that it will be pruned as expected. Signed-off-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 519f526d391b0ef775aeb04c4b6f632ea6b3ee50 Merge: 06ab838 ba60c41 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:42:49 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull more kvm updates from Paolo Bonzini: "ARM: - Full debug support for arm64 - Active state switching for timer interrupts - Lazy FP/SIMD save/restore for arm64 - Generic ARMv8 target PPC: - Book3S: A few bug fixes - Book3S: Allow micro-threading on POWER8 x86: - Compiler warnings Generic: - Adaptive polling for guest halt" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (49 commits) kvm: irqchip: fix memory leak kvm: move new trace event outside #ifdef CONFIG_KVM_ASYNC_PF KVM: trace kvm_halt_poll_ns grow/shrink KVM: dynamic halt-polling KVM: make halt_poll_ns per-vCPU Silence compiler warning in arch/x86/kvm/emulate.c kvm: compile process_smi_save_seg_64() only for x86_64 KVM: x86: avoid uninitialized variable warning KVM: PPC: Book3S: Fix typo in top comment about locking KVM: PPC: Book3S: Fix size of the PSPB register KVM: PPC: Book3S HV: Exit on H_DOORBELL if HOST_IPI is set KVM: PPC: Book3S HV: Fix race in starting secondary threads KVM: PPC: Book3S: correct width in XER handling KVM: PPC: Book3S HV: Fix preempted vcore stolen time calculation KVM: PPC: Book3S HV: Fix preempted vcore list locking KVM: PPC: Book3S HV: Implement H_CLEAR_REF and H_CLEAR_MOD KVM: PPC: Book3S HV: Fix bug in dirty page tracking KVM: PPC: Book3S HV: Fix race in reading change bit when removing HPTE KVM: PPC: Book3S HV: Implement dynamic micro-threading on POWER8 KVM: PPC: Book3S HV: Make use of unused threads when running guests ... commit 06ab838c2024db468855118087db16d8fa905ddc Merge: 573c577 5f51042 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:21:11 2015 -0700 Merge tag 'for-linus-4.3-rc0b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen terminology fixes from David Vrabel: "Use the correct GFN/BFN terms more consistently" * tag 'for-linus-4.3-rc0b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen/xenbus: Rename the variable xen_store_mfn to xen_store_gfn xen/privcmd: Further s/MFN/GFN/ clean-up hvc/xen: Further s/MFN/GFN clean-up video/xen-fbfront: Further s/MFN/GFN clean-up xen/tmem: Use xen_page_to_gfn rather than pfn_to_gfn xen: Use correctly the Xen memory terminologies arm/xen: implement correctly pfn_to_mfn xen: Make clear that swiotlb and biomerge are dealing with DMA address commit 573c577af079184ca523984e3279644eb37756a3 Merge: 0cdf5a4 b141327 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:20:00 2015 -0700 Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze Pull microblaze update from Michal Simek. * 'next' of git://git.monstr.eu/linux-2.6-microblaze: elf-em.h: move EM_MICROBLAZE to the common header commit 0cdf5a464070c8a2980a27113c47fb8e71babb9c Merge: 65c61bc 02cc2cc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:19:07 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel Pull hexagon updates from Richard Kuo: "Just two fixes -- one for a uapi header and one for a timer interface" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel: Revert "Hexagon: fix signal.c compile error" hexagon/time: Migrate to new 'set-state' interface commit 65c61bc5dbbcfa1ff38e58aa834cb9a88e84a886 Merge: b8889c4 3092752 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 13:53:15 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix out-of-bounds array access in netfilter ipset, from Jozsef Kadlecsik. 2) Use correct free operation on netfilter conntrack templates, from Daniel Borkmann. 3) Fix route leak in SCTP, from Marcelo Ricardo Leitner. 4) Fix sizeof(pointer) in mac80211, from Thierry Reding. 5) Fix cache pointer comparison in ip6mr leading to missed unlock of mrt_lock. From Richard Laing. 6) rds_conn_lookup() needs to consider network namespace in key comparison, from Sowmini Varadhan. 7) Fix deadlock in TIPC code wrt broadcast link wakeups, from Kolmakov Dmitriy. 8) Fix fd leaks in bpf syscall, from Daniel Borkmann. 9) Fix error recovery when installing ipv6 multipath routes, we would delete the old route before we would know if we could fully commit to the new set of nexthops. Fix from Roopa Prabhu. 10) Fix run-time suspend problems in r8152, from Hayes Wang. 11) In fec, don't program the MAC address into the chip when the clocks are gated off. From Fugang Duan. 12) Fix poll behavior for netlink sockets when using rx ring mmap, from Daniel Borkmann. 13) Don't allocate memory with GFP_KERNEL from get_stats64 in r8169 driver, from Corinna Vinschen. 14) In TCP Cubic congestion control, handle idle periods better where we are application limited, in order to keep cwnd from growing out of control. From Eric Dumzet. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (65 commits) tcp_cubic: better follow cubic curve after idle period tcp: generate CA_EVENT_TX_START on data frames xen-netfront: respect user provided max_queues xen-netback: respect user provided max_queues r8169: Fix sleeping function called during get_stats64, v2 ether: add IEEE 1722 ethertype - TSN netlink, mmap: fix edge-case leakages in nf queue zero-copy netlink, mmap: don't walk rx ring on poll if receive queue non-empty cxgb4: changes for new firmware 1.14.4.0 net: fec: add netif status check before set mac address r8152: fix the runtime suspend issues r8152: split DRIVER_VERSION ipv6: fix ifnullfree.cocci warnings add microchip LAN88xx phy driver stmmac: fix check for phydev being open net: qlcnic: delete redundant memsets net: mv643xx_eth: use kzalloc net: jme: use kzalloc() instead of kmalloc+memset net: cavium: liquidio: use kzalloc in setup_glist() net: ipv6: use common fib_default_rule_pref ... commit 452e06af1f0149b01201f94264d452cd7a95db7a Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 15:39:53 2015 -0700 dma-mapping: consolidate dma_set_mask Almost everyone implements dma_set_mask the same way, although some time that's hidden in ->set_dma_mask methods. This patch consolidates those into a common implementation that either calls ->set_dma_mask if present or otherwise uses the default implementation. Some architectures used to only call ->set_dma_mask after the initial checks, and those instance have been fixed to do the full work. h8300 implemented dma_set_mask bogusly as a no-ops and has been fixed. Unfortunately some architectures overload unrelated semantics like changing the dma_ops into it so we still need to allow for an architecture override for now. [jcmvbkbc@xxxxxxxxx: fix xtensa] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ee196371d5cb1942ebdccc16bdce389812aa265e Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 15:39:49 2015 -0700 dma-mapping: consolidate dma_supported Most architectures just call into ->dma_supported, but some also return 1 if the method is not present, or 0 if no dma ops are present (although that should never happeb). Consolidate this more broad version into common code. Also fix h8300 which inorrectly always returned 0, which would have been a problem if it's dma_set_mask implementation wasn't a similarly buggy noop. As a few architectures have much more elaborate implementations, we still allow for arch overrides. [jcmvbkbc@xxxxxxxxx: fix xtensa] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit efa21e432c7b3c8ae976039d614a017799b6e874 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 15:39:46 2015 -0700 dma-mapping: cosolidate dma_mapping_error Currently there are three valid implementations of dma_mapping_error: (1) call ->mapping_error (2) check for a hardcoded error code (3) always return 0 This patch provides a common implementation that calls ->mapping_error if present, then checks for DMA_ERROR_CODE if defined or otherwise returns 0. [jcmvbkbc@xxxxxxxxx: fix xtensa] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1e8937526e2309d48fccd81bb30a590ac21a5516 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 15:39:42 2015 -0700 dma-mapping: consolidate dma_{alloc,free}_noncoherent Most architectures do not support non-coherent allocations and either define dma_{alloc,free}_noncoherent to their coherent versions or stub them out. Openrisc uses dma_{alloc,free}_attrs to implement them, and only Mips implements them directly. This patch moves the Openrisc version to common code, and handles the DMA_ATTR_NON_CONSISTENT case in the mips dma_map_ops instance. Note that actual non-coherent allocations require a dma_cache_sync implementation, so if non-coherent allocations didn't work on an architecture before this patch they still won't work after it. [jcmvbkbc@xxxxxxxxx: fix xtensa] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6894258eda2f9badc28c878086c0e54bd5b7fb30 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 15:39:39 2015 -0700 dma-mapping: consolidate dma_{alloc,free}_{attrs,coherent} Since 2009 we have a nice asm-generic header implementing lots of DMA API functions for architectures using struct dma_map_ops, but unfortunately it's still missing a lot of APIs that all architectures still have to duplicate. This series consolidates the remaining functions, although we still need arch opt outs for two of them as a few architectures have very non-standard implementations. This patch (of 5): The coherent DMA allocator works the same over all architectures supporting dma_map operations. This patch consolidates them and converges the minor differences: - the debug_dma helpers are now called from all architectures, including those that were previously missing them - dma_alloc_from_coherent and dma_release_from_coherent are now always called from the generic alloc/free routines instead of the ops dma-mapping-common.h always includes dma-coherent.h to get the defintions for them, or the stubs if the architecture doesn't support this feature - checks for ->alloc / ->free presence are removed. There is only one magic instead of dma_map_ops without them (mic_dma_ops) and that one is x86 only anyway. Besides that only x86 needs special treatment to replace a default devices if none is passed and tweak the gfp_flags. An optional arch hook is provided for that. [linux@xxxxxxxxxxxx: fix build] [jcmvbkbc@xxxxxxxxx: fix xtensa] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fb6dd5fa4165c4b82f1a11416c2fc192ae3a84e2 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:39:35 2015 -0700 mm: use vma_is_anonymous() in create_huge_pmd() and wp_huge_pmd() Let's use helper rather than direct check of vma->vm_ops to distinguish anonymous VMA. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6dc296e7df4c9a0857491cc3f55da16a9eeeeae7 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:39:32 2015 -0700 mm: make sure all file VMAs have ->vm_ops set We rely on vma->vm_ops == NULL to detect anonymous VMA: see vma_is_anonymous(), but some drivers doesn't set ->vm_ops. As a result we can end up with anonymous page in private file mapping. That should not lead to serious misbehaviour, but nevertheless is wrong. Let's fix by setting up dummy ->vm_ops for file mmapping if f_op->mmap() didn't set its own. The patch also adds sanity check into __vma_link_rb(). It will help catch broken VMAs which inserted directly into mm_struct via insert_vm_struct(). Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1fcfd8db7f82fa1f533a6f0e4155614ff4144d56 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Sep 9 15:39:29 2015 -0700 mm, mpx: add "vm_flags_t vm_flags" arg to do_mmap_pgoff() Add the additional "vm_flags_t vm_flags" argument to do_mmap_pgoff(), rename it to do_mmap(), and re-introduce do_mmap_pgoff() as a simple wrapper on top of do_mmap(). Perhaps we should update the callers of do_mmap_pgoff() and kill it later. This way mpx_mmap() can simply call do_mmap(vm_flags => VM_MPX) and do not play with vm internals. After this change mmap_region() has a single user outside of mmap.c, arch/tile/mm/elf.c:arch_setup_additional_pages(). It would be nice to change arch/tile/ and unexport mmap_region(). [kirill@xxxxxxxxxxxxx: fix build] [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Tested-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7cbea8dc0127a95226c7722a738ac6534950ef67 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:39:26 2015 -0700 mm: mark most vm_operations_struct const With two exceptions (drm/qxl and drm/radeon) all vm_operations_struct structs should be constant. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2a78b857d3755a6f8d0c70d7e365e473925987c1 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Sep 9 15:39:23 2015 -0700 namei: fix warning while make xmldocs caused by namei.c Fix the following warnings: Warning(.//fs/namei.c:2422): No description found for parameter 'nd' Warning(.//fs/namei.c:2422): Excess function parameter 'nameidata' description in 'path_mountpoint' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0edd8528362c07216498340e928159510595e7b Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 9 15:39:20 2015 -0700 ipc: convert invalid scenarios to use WARN_ON Considering Linus' past rants about the (ab)use of BUG in the kernel, I took a look at how we deal with such calls in ipc. Given that any errors or corruption in ipc code are most likely contained within the set of processes participating in the broken mechanisms, there aren't really many strong fatal system failure scenarios that would require a BUG call. Also, if something is seriously wrong, ipc might not be the place for such a BUG either. 1. For example, recently, a customer hit one of these BUG_ONs in shm after failing shm_lock(). A busted ID imho does not merit a BUG_ON, and WARN would have been better. 2. MSG_COPY functionality of posix msgrcv(2) for checkpoint/restore. I don't see how we can hit this anyway -- at least it should be IS_ERR. The 'copy' arg from do_msgrcv is always set by calling prepare_copy() first and foremost. We could also probably drop this check altogether. Either way, it does not merit a BUG_ON. 3. No ->fault() callback for the fs getting the corresponding page -- seems selfish to make the system unusable. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Manfred Spraul <manfred@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b235f2f16a472b8cfc10e8ef1286fcd3331e033 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Wed Sep 9 15:39:18 2015 -0700 zlib_deflate/deftree: remove bi_reverse() Remove bi_reverse() and use generic bitrev32() instead - it should have better performance on some platforms. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e4e29dc4841d21943bec1bc5378ab421d2320d83 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Sep 9 15:39:15 2015 -0700 lib/decompress_unlzma: Do a NULL check for pointer Compare pointer-typed values to NULL rather than 0. The semantic patch that makes this change is available in scripts/coccinelle/null/badzero.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2d3862d26e67a59340ba1cf1748196c76c5787de Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Wed Sep 9 15:39:12 2015 -0700 lib/decompressors: use real out buf size for gunzip with kernel When loading x86 64bit kernel above 4GiB with patched grub2, got kernel gunzip error. | early console in decompress_kernel | decompress_kernel: | input: [0x807f2143b4-0x807ff61aee] | output: [0x807cc00000-0x807f3ea29b] 0x027ea29c: output_len | boot via startup_64 | KASLR using RDTSC... | new output: [0x46fe000000-0x470138cfff] 0x0338d000: output_run_size | decompress: [0x46fe000000-0x47007ea29b] <=== [0x807f2143b4-0x807ff61aee] | | Decompressing Linux... gz... | | uncompression error | | -- System halted the new buffer is at 0x46fe000000ULL, decompressor_gzip is using 0xffffffb901ffffff as out_len. gunzip in lib/zlib_inflate/inflate.c cap that len to 0x01ffffff and decompress fails later. We could hit this problem with crashkernel booting that uses kexec loading kernel above 4GiB. We have decompress_* support: 1. inbuf[]/outbuf[] for kernel preboot. 2. inbuf[]/flush() for initramfs 3. fill()/flush() for initrd. This bug only affect kernel preboot path that use outbuf[]. Add __decompress and take real out_buf_len for gunzip instead of guessing wrong buf size. Fixes: 1431574a1c4 (lib/decompressors: fix "no limit" output buffer length) Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Jon Medhurst <tixy@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e852d82a5b55b44ce8be89078d0dfbddbeae3211 Author: Pranay Kr. Srivastava <pranjas@xxxxxxxxx> Date: Wed Sep 9 15:39:09 2015 -0700 fs/affs: make root lookup from blkdev logical size This patch resolves https://bugzilla.kernel.org/show_bug.cgi?id=16531. When logical blkdev size > 512 then sector numbers become larger than the device can support. Make affs start lookup based on the device's logical sector size instead of 512. Reported-by: Mark <markk@xxxxxxxxxxx> Suggested-by: Mark <markk@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9a5bc726d559221a3394bb8ef97d0abc1ee94d00 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Sep 9 15:39:06 2015 -0700 sysctl: fix int -> unsigned long assignments in INT_MIN case The following if (val < 0) *lvalp = (unsigned long)-val; is incorrect because the compiler is free to assume -val to be positive and use a sign-extend instruction for extending the bit pattern. This is a problem if val == INT_MIN: # echo -2147483648 >/proc/sys/dev/scsi/logging_level # cat /proc/sys/dev/scsi/logging_level -18446744071562067968 Cast to unsigned long before negation - that way we first sign-extend and then negate an unsigned, which is well defined. With this: # cat /proc/sys/dev/scsi/logging_level -2147483648 Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Cc: Mikulas Patocka <mikulas@xxxxxxxxxxxxx> Cc: Robert Xiao <nneonneo@xxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1303a27c9c32020a3b6ac89be270d2ab1f28be24 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Wed Sep 9 15:39:03 2015 -0700 kexec: export KERNEL_IMAGE_SIZE to vmcoreinfo In x86_64, since v2.6.26 the KERNEL_IMAGE_SIZE is changed to 512M, and accordingly the MODULES_VADDR is changed to 0xffffffffa0000000. However, in v3.12 Kees Cook introduced kaslr to randomise the location of kernel. And the kernel text mapping addr space is enlarged from 512M to 1G. That means now KERNEL_IMAGE_SIZE is variable, its value is 512M when kaslr support is not compiled in and 1G when kaslr support is compiled in. Accordingly the MODULES_VADDR is changed too to be: #define MODULES_VADDR (__START_KERNEL_map + KERNEL_IMAGE_SIZE) So when kaslr is compiled in and enabled, the kernel text mapping addr space and modules vaddr space need be adjusted. Otherwise makedumpfile will collapse since the addr for some symbols is not correct. Hence KERNEL_IMAGE_SIZE need be exported to vmcoreinfo and got in makedumpfile to help calculate MODULES_VADDR. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bbb78b8f3f4ea8eca14937b693bfe244838e1d4d Author: Baoquan He <bhe@xxxxxxxxxx> Date: Wed Sep 9 15:39:00 2015 -0700 kexec: align crash_notes allocation to make it be inside one physical page People reported that crash_notes in /proc/vmcore were corrupted and this cause crash kdump failure. With code debugging and log we got the root cause. This is because percpu variable crash_notes are allocated in 2 vmalloc pages. Currently percpu is based on vmalloc by default. Vmalloc can't guarantee 2 continuous vmalloc pages are also on 2 continuous physical pages. So when 1st kernel exports the starting address and size of crash_notes through sysfs like below: /sys/devices/system/cpu/cpux/crash_notes /sys/devices/system/cpu/cpux/crash_notes_size kdump kernel use them to get the content of crash_notes. However the 2nd part may not be in the next neighbouring physical page as we expected if crash_notes are allocated accross 2 vmalloc pages. That's why nhdr_ptr->n_namesz or nhdr_ptr->n_descsz could be very huge in update_note_header_size_elf64() and cause note header merging failure or some warnings. In this patch change to call __alloc_percpu() to passed in the align value by rounding crash_notes_size up to the nearest power of two. This makes sure the crash_notes is allocated inside one physical page since sizeof(note_buf_t) in all ARCHS is smaller than PAGE_SIZE. Meanwhile add a BUILD_BUG_ON to break compile if size is bigger than PAGE_SIZE since crash_notes definitely will be in 2 pages. That need be avoided, and need be reported if it's unavoidable. [akpm@xxxxxxxxxxxxxxxxxxxx: use correct comment layout] Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Dave Young <dyoung@xxxxxxxxxx> Cc: Lisa Mitchell <lisa.mitchell@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 04e9949b2d26ae1f0acd1181876a2a8ece92112d Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Wed Sep 9 15:38:58 2015 -0700 kexec: remove unnecessary test in kimage_alloc_crash_control_pages() Transforming PFN(Page Frame Number) to struct page is never failure, so we can simplify the code logic to do the image->control_page assignment directly in the loop, and remove the unnecessary conditional judgement. Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Acked-by: Dave Young <dyoung@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2965faa5e03d1e71e9ff9aa143fff39e0a77543a Author: Dave Young <dyoung@xxxxxxxxxx> Date: Wed Sep 9 15:38:55 2015 -0700 kexec: split kexec_load syscall from kexec core code There are two kexec load syscalls, kexec_load another and kexec_file_load. kexec_file_load has been splited as kernel/kexec_file.c. In this patch I split kexec_load syscall code to kernel/kexec.c. And add a new kconfig option KEXEC_CORE, so we can disable kexec_load and use kexec_file_load only, or vice verse. The original requirement is from Ted Ts'o, he want kexec kernel signature being checked with CONFIG_KEXEC_VERIFY_SIG enabled. But kexec-tools use kexec_load syscall can bypass the checking. Vivek Goyal proposed to create a common kconfig option so user can compile in only one syscall for loading kexec kernel. KEXEC/KEXEC_FILE selects KEXEC_CORE so that old config files still work. Because there's general code need CONFIG_KEXEC_CORE, so I updated all the architecture Kconfig with a new option KEXEC_CORE, and let KEXEC selects KEXEC_CORE in arch Kconfig. Also updated general kernel code with to kexec_load syscall. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Dave Young <dyoung@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Petr Tesarik <ptesarik@xxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a43cac0d9dc2073ff2245a171429ddbe1accece7 Author: Dave Young <dyoung@xxxxxxxxxx> Date: Wed Sep 9 15:38:51 2015 -0700 kexec: split kexec_file syscall code to kexec_file.c Split kexec_file syscall related code to another file kernel/kexec_file.c so that the #ifdef CONFIG_KEXEC_FILE in kexec.c can be dropped. Sharing variables and functions are moved to kernel/kexec_internal.h per suggestion from Vivek and Petr. [akpm@xxxxxxxxxxxxxxxxxxxx: fix bisectability] [akpm@xxxxxxxxxxxxxxxxxxxx: declare the various arch_kexec functions] [akpm@xxxxxxxxxxxxxxxxxxxx: fix build] Signed-off-by: Dave Young <dyoung@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Petr Tesarik <ptesarik@xxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a202fbbf56e819de83876827c4bf5da2bfbac5ec Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:48 2015 -0700 drivers/net/wireless/ath/wil6210: use seq_hex_dump() to dump buffers Instead of custom approach let's use recently introduced seq_hex_dump() helper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6fc37c4900765d579f25fbd293fcda7be5037896 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:45 2015 -0700 kmemleak: use seq_hex_dump() to dump buffers Instead of custom approach let's use recently introduced seq_hex_dump() helper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d2fe875c9e822aa55579ea2032153e2891db57a Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:42 2015 -0700 drivers/s390/crypto/zcrypt_api.c: use seq_hex_dump() to dump buffers Instead of custom approach let's use recently introduced seq_hex_dump() helper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b342a65dd71c02f606dfea51e99773c333a2439d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:39 2015 -0700 parisc: use seq_hex_dump() to dump buffers Instead of custom approach let's use recently introduced seq_hex_dump() helper. In one case it changes the output from 1111111122222222333333334444444455555555666666667777777788888888 to 11111111 22222222 33333333 44444444 55555555 66666666 77777777 88888888 though it seems it prints same data (by meaning) in both cases. I decide to choose to use the space divided one. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Helge Deller <deller@xxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0cce062217fedb448cf7f36e0b82a80ac9e1243 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:36 2015 -0700 drivers/crypto/qat: use seq_hex_dump() to dump buffers Instead of custom approach let's use recently introduced seq_hex_dump() helper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 37607102c4426cf92aeb5da1b1d9a79ba6d95e3f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:33 2015 -0700 seq_file: provide an analogue of print_hex_dump() This introduces a new helper and switches current users to use it. All patches are compiled tested. kmemleak is tested via its own test suite. This patch (of 6): The new seq_hex_dump() is a complete analogue of print_hex_dump(). We have few users of this functionality already. It allows to reduce their codebase. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 40f705a736eac10e7dca7ab5dd5ed675a6df031d Author: Jann Horn <jann@xxxxxxxxx> Date: Wed Sep 9 15:38:30 2015 -0700 fs: Don't dump core if the corefile would become world-readable. On a filesystem like vfat, all files are created with the same owner and mode independent of who created the file. When a vfat filesystem is mounted with root as owner of all files and read access for everyone, root's processes left world-readable coredumps on it (but other users' processes only left empty corefiles when given write access because of the uid mismatch). Given that the old behavior was inconsistent and insecure, I don't see a problem with changing it. Now, all processes refuse to dump core unless the resulting corefile will only be readable by their owner. Signed-off-by: Jann Horn <jann@xxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fbb1816942c04429e85dbf4c1a080accc534299e Author: Jann Horn <jann@xxxxxxxxx> Date: Wed Sep 9 15:38:28 2015 -0700 fs: if a coredump already exists, unlink and recreate with O_EXCL It was possible for an attacking user to trick root (or another user) into writing his coredumps into an attacker-readable, pre-existing file using rename() or link(), causing the disclosure of secret data from the victim process' virtual memory. Depending on the configuration, it was also possible to trick root into overwriting system files with coredumps. Fix that issue by never writing coredumps into existing files. Requirements for the attack: - The attack only applies if the victim's process has a nonzero RLIMIT_CORE and is dumpable. - The attacker can trick the victim into coredumping into an attacker-writable directory D, either because the core_pattern is relative and the victim's cwd is attacker-writable or because an absolute core_pattern pointing to a world-writable directory is used. - The attacker has one of these: A: on a system with protected_hardlinks=0: execute access to a folder containing a victim-owned, attacker-readable file on the same partition as D, and the victim-owned file will be deleted before the main part of the attack takes place. (In practice, there are lots of files that fulfill this condition, e.g. entries in Debian's /var/lib/dpkg/info/.) This does not apply to most Linux systems because most distros set protected_hardlinks=1. B: on a system with protected_hardlinks=1: execute access to a folder containing a victim-owned, attacker-readable and attacker-writable file on the same partition as D, and the victim-owned file will be deleted before the main part of the attack takes place. (This seems to be uncommon.) C: on any system, independent of protected_hardlinks: write access to a non-sticky folder containing a victim-owned, attacker-readable file on the same partition as D (This seems to be uncommon.) The basic idea is that the attacker moves the victim-owned file to where he expects the victim process to dump its core. The victim process dumps its core into the existing file, and the attacker reads the coredump from it. If the attacker can't move the file because he does not have write access to the containing directory, he can instead link the file to a directory he controls, then wait for the original link to the file to be deleted (because the kernel checks that the link count of the corefile is 1). A less reliable variant that requires D to be non-sticky works with link() and does not require deletion of the original link: link() the file into D, but then unlink() it directly before the kernel performs the link count check. On systems with protected_hardlinks=0, this variant allows an attacker to not only gain information from coredumps, but also clobber existing, victim-writable files with coredumps. (This could theoretically lead to a privilege escalation.) Signed-off-by: Jann Horn <jann@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bb304a5c6fc63d8506cd9741a3a5f35b73605625 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Sep 9 15:38:25 2015 -0700 kmod: handle UMH_WAIT_PROC from system unbound workqueue The UMH_WAIT_PROC handler runs in its own thread in order to make sure that waiting for the exec kernel thread completion won't block other usermodehelper queued jobs. On older workqueue implementations, worklets couldn't sleep without blocking the rest of the queue. But now the workqueue subsystem handles that. Khelper still had the older limitation due to its singlethread properties but we replaced it to system unbound workqueues. Those are affine to the current node and can block up to some number of instances. They are a good candidate to handle UMH_WAIT_PROC assuming that we have enough system unbound workers to handle lots of parallel usermodehelper jobs. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 90f023030e26ce8f981b3e688cb79329d8d07cc3 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Sep 9 15:38:22 2015 -0700 kmod: use system_unbound_wq instead of khelper We need to launch the usermodehelper kernel threads with the widest affinity and this is partly why we use khelper. This workqueue has unbound properties and thus a wide affinity inherited by all its children. Now khelper also has special properties that we aren't much interested in: ordered and singlethread. There is really no need about ordering as all we do is creating kernel threads. This can be done concurrently. And singlethread is a useless limitation as well. The workqueue engine already proposes generic unbound workqueues that don't share these useless properties and handle well parallel jobs. The only worrysome specific is their affinity to the node of the current CPU. It's fine for creating the usermodehelper kernel threads but those inherit this affinity for longer jobs such as requesting modules. This patch proposes to use these node affine unbound workqueues assuming that a node is sufficient to handle several parallel usermodehelper requests. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b639e86bae431db3fbc9fae8d09a9bbf97b74711 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Sep 9 15:38:19 2015 -0700 kmod: add up-to-date explanations on the purpose of each asynchronous levels There seem to be quite some confusions on the comments, likely due to changes that came after them. Now since it's very non obvious why we have 3 levels of asynchronous code to implement usermodehelpers, it's important to comment in detail the reason of this layout. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d097c0240ae8085dd39aa6ca9bd9960969b2b38e Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Sep 9 15:38:16 2015 -0700 kmod: remove unecessary explicit wide CPU affinity setting Khelper is affine to all CPUs. Now since it creates the call_usermodehelper_exec_[a]sync() kernel threads, those inherit the wide affinity. As such explicitly forcing a wide affinity from those kernel threads is like a no-op. Just remove it. It's needless and it breaks CPU isolation users who rely on workqueue affinity tuning. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b6b50a814d0ece9c1f98f2b3b5c2a251a5c9a211 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Sep 9 15:38:13 2015 -0700 kmod: bunch of internal functions renames This patchset does a bunch of cleanups and converts khelper to use system unbound workqueues. The 3 first patches should be uncontroversial. The last 2 patches are debatable. Kmod creates kernel threads that perform userspace jobs and we want those to have a large affinity in order not to contend busy CPUs. This is (partly) why we use khelper which has a wide affinity that the kernel threads it create can inherit from. Now khelper is a dedicated workqueue that has singlethread properties which we aren't interested in. Hence those two debatable changes: _ We would like to use generic workqueues. System unbound workqueues are a very good candidate but they are not wide affine, only node affine. Now probably a node is enough to perform many parallel kmod jobs. _ We would like to remove the wait_for_helper kernel thread (UMH_WAIT_PROC handler) to use the workqueue. It means that if the workqueue blocks, and no other worker can take pending kmod request, we can be screwed. Now if we have 512 threads, this should be enough. This patch (of 5): Underscores on function names aren't much verbose to explain the purpose of a function. And kmod has interesting such flavours. Lets rename the following functions: * __call_usermodehelper -> call_usermodehelper_exec_work * ____call_usermodehelper -> call_usermodehelper_exec_async * wait_for_helper -> call_usermodehelper_exec_sync Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 60b61a6f42f36e4fbfbc0139b7e86ce1494d2d9b Author: NeilBrown <neilb@xxxxxxxx> Date: Wed Sep 9 15:38:10 2015 -0700 kmod: correct documentation of return status of request_module If request_module() successfully runs modprobe, but modprobe exits with a non-zero status, then the return value from request_module() will be that (positive) error status. So the return from request_module can be: negative errno zero for success positive exit code. Signed-off-by: NeilBrown <neilb@xxxxxxxx> Cc: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b4cc0efea4f0bfa2477c56af406cfcf3d3e58680 Author: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:07 2015 -0700 hfs: fix B-tree corruption after insertion at position 0 Fix B-tree corruption when a new record is inserted at position 0 in the node in hfs_brec_insert(). This is an identical change to the corresponding hfs b-tree code to Sergei Antonov's "hfsplus: fix B-tree corruption after insertion at position 0", to keep similar code paths in the hfs and hfsplus drivers in sync, where appropriate. Signed-off-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Cc: Sergei Antonov <saproj@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Vyacheslav Dubeyko <slava@xxxxxxxxxxx> Cc: Anton Altaparmakov <anton@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7cb74be6fd827e314f81df3c5889b87e4c87c569 Author: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:04 2015 -0700 hfs,hfsplus: cache pages correctly between bnode_create and bnode_free Pages looked up by __hfs_bnode_create() (called by hfs_bnode_create() and hfs_bnode_find() for finding or creating pages corresponding to an inode) are immediately kmap()'ed and used (both read and write) and kunmap()'ed, and should not be page_cache_release()'ed until hfs_bnode_free(). This patch fixes a problem I first saw in July 2012: merely running "du" on a large hfsplus-mounted directory a few times on a reasonably loaded system would get the hfsplus driver all confused and complaining about B-tree inconsistencies, and generates a "BUG: Bad page state". Most recently, I can generate this problem on up-to-date Fedora 22 with shipped kernel 4.0.5, by running "du /" (="/" + "/home" + "/mnt" + other smaller mounts) and "du /mnt" simultaneously on two windows, where /mnt is a lightly-used QEMU VM image of the full Mac OS X 10.9: $ df -i / /home /mnt Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/fedora-root 3276800 551665 2725135 17% / /dev/mapper/fedora-home 52879360 716221 52163139 2% /home /dev/nbd0p2 4294967295 1387818 4293579477 1% /mnt After applying the patch, I was able to run "du /" (60+ times) and "du /mnt" (150+ times) continuously and simultaneously for 6+ hours. There are many reports of the hfsplus driver getting confused under load and generating "BUG: Bad page state" or other similar issues over the years. [1] The unpatched code [2] has always been wrong since it entered the kernel tree. The only reason why it gets away with it is that the kmap/memcpy/kunmap follow very quickly after the page_cache_release() so the kernel has not had a chance to reuse the memory for something else, most of the time. The current RW driver appears to have followed the design and development of the earlier read-only hfsplus driver [3], where-by version 0.1 (Dec 2001) had a B-tree node-centric approach to read_cache_page()/page_cache_release() per bnode_get()/bnode_put(), migrating towards version 0.2 (June 2002) of caching and releasing pages per inode extents. When the current RW code first entered the kernel [2] in 2005, there was an REF_PAGES conditional (and "//" commented out code) to switch between B-node centric paging to inode-centric paging. There was a mistake with the direction of one of the REF_PAGES conditionals in __hfs_bnode_create(). In a subsequent "remove debug code" commit [4], the read_cache_page()/page_cache_release() per bnode_get()/bnode_put() were removed, but a page_cache_release() was mistakenly left in (propagating the "REF_PAGES <-> !REF_PAGE" mistake), and the commented-out page_cache_release() in bnode_release() (which should be spanned by !REF_PAGES) was never enabled. References: [1]: Michael Fox, Apr 2013 http://www.spinics.net/lists/linux-fsdevel/msg63807.html ("hfsplus volume suddenly inaccessable after 'hfs: recoff %d too large'") Sasha Levin, Feb 2015 http://lkml.org/lkml/2015/2/20/85 ("use after free") https://bugs.launchpad.net/ubuntu/+source/linux/+bug/740814 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1027887 https://bugzilla.kernel.org/show_bug.cgi?id=42342 https://bugzilla.kernel.org/show_bug.cgi?id=63841 https://bugzilla.kernel.org/show_bug.cgi?id=78761 [2]: http://git.kernel.org/cgit/linux/kernel/git/tglx/history.git/commit/\ fs/hfs/bnode.c?id=d1081202f1d0ee35ab0beb490da4b65d4bc763db commit d1081202f1d0ee35ab0beb490da4b65d4bc763db Author: Andrew Morton <akpm@xxxxxxxx> Date: Wed Feb 25 16:17:36 2004 -0800 [PATCH] HFS rewrite http://git.kernel.org/cgit/linux/kernel/git/tglx/history.git/commit/\ fs/hfsplus/bnode.c?id=91556682e0bf004d98a529bf829d339abb98bbbd commit 91556682e0bf004d98a529bf829d339abb98bbbd Author: Andrew Morton <akpm@xxxxxxxx> Date: Wed Feb 25 16:17:48 2004 -0800 [PATCH] HFS+ support [3]: http://sourceforge.net/projects/linux-hfsplus/ http://sourceforge.net/projects/linux-hfsplus/files/Linux%202.4.x%20patch/hfsplus%200.1/ http://sourceforge.net/projects/linux-hfsplus/files/Linux%202.4.x%20patch/hfsplus%200.2/ http://linux-hfsplus.cvs.sourceforge.net/viewvc/linux-hfsplus/linux/\ fs/hfsplus/bnode.c?r1=1.4&r2=1.5 Date: Thu Jun 6 09:45:14 2002 +0000 Use buffer cache instead of page cache in bnode.c. Cache inode extents. [4]: http://git.kernel.org/cgit/linux/kernel/git/\ stable/linux-stable.git/commit/?id=a5e3985fa014029eb6795664c704953720cc7f7d commit a5e3985fa014029eb6795664c704953720cc7f7d Author: Roman Zippel <zippel@xxxxxxxxxxxxxx> Date: Tue Sep 6 15:18:47 2005 -0700 [PATCH] hfs: remove debug code Signed-off-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Sergei Antonov <saproj@xxxxxxxxx> Reviewed-by: Anton Altaparmakov <anton@xxxxxxxxxx> Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Vyacheslav Dubeyko <slava@xxxxxxxxxxx> Cc: Sougata Santra <sougata@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3725e9dd5bef376ab87d41e40c437a6b2a20eb59 Author: Jan Harkes <jaharkes@xxxxxxxxxx> Date: Wed Sep 9 15:38:01 2015 -0700 fs/coda: fix readlink buffer overflow Dan Carpenter discovered a buffer overflow in the Coda file system readlink code. A userspace file system daemon can return a 4096 byte result which then triggers a one byte write past the allocated readlink result buffer. This does not trigger with an unmodified Coda implementation because Coda has a 1024 byte limit for symbolic links, however other userspace file systems using the Coda kernel module could be affected. Although this is an obvious overflow, I don't think this has to be handled as too sensitive from a security perspective because the overflow is on the Coda userspace daemon side which already needs root to open Coda's kernel device and to mount the file system before we get to the point that links can be read. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Jan Harkes <jaharkes@xxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c5595fa2f1ce3c1a74dbd2ddc949257e80d81dc0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:58 2015 -0700 checkpatch: add constant comparison on left side test "CONST <comparison> variable" checks like: if (NULL != foo) and while (0 < bar(...)) where a constant (or what appears to be a constant like an upper case identifier) is on the left of a comparison are generally preferred to be written using the constant on the right side like: if (foo != NULL) and while (bar(...) > 0) Add a test for this. Add a --fix option too, but only do it when the code is immediately surrounded by parentheses to avoid misfixing things like "(0 < bar() + constant)" Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Nicolas Morey Chaisemartin <nmorey@xxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 54507b5183cc4f8e4f1a58a312e1f30c130658b7 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:55 2015 -0700 checkpatch: add __pmem to $Sparse annotations commit 61031952f4c8 ("arch, x86: pmem api for ensuring durability of persistent memory updates") added a new __pmem annotation for sparse verification. Add __pmem to the $Sparse variable so checkpatch can appropriately ignore uses of this attribute too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Acked-by: Andy Whitcroft <apw@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e5d56bdf892e18832a6540b63ebf709966bce2a Author: Eddie Kovsky <ewk@xxxxxxxxxxxx> Date: Wed Sep 9 15:37:52 2015 -0700 checkpatch: fix left brace warning Using checkpatch.pl with Perl 5.22.0 generates the following warning: Unescaped left brace in regex is deprecated, passed through in regex; This patch fixes the warnings by escaping occurrences of the left brace inside the regular expression. Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bf4daf12a9fbc818029051c97b65fbfca6366a44 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:50 2015 -0700 checkpatch: avoid some commit message long line warnings Fixes: and Link: lines may exceed 75 chars in the commit log. So too can stack dump and dmesg lines and lines that seem like filenames. And Fixes: lines don't need to have a "commit" prefix before the commit id. Add exceptions for these types of lines. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e30075742316a1d72b7e8f794f6e0bd44d774e2 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:47 2015 -0700 checkpatch: emit an error on formats with 0x%<decimal> Using 0x%d is wrong. Emit a message when it happens. Miscellanea: Improve the %Lu warning to match formats like %16Lu. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7bd7e483c27d884c2f59e286e42623abba413f83 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:44 2015 -0700 checkpatch: make --strict the default for drivers/staging files and patches Making --strict the default for staging may help some people submit patches without obvious defects. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 86406b1cb7ac4fa5e7691eae5f2fb10c9af03dc3 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:41 2015 -0700 checkpatch: always check block comment styles Some of the block comment tests that are used only for networking are appropriate for all patches. For example, these styles are not encouraged: /* block comment without introductory * */ and /* * block comment with line terminating */ Remove the networking specific test and add comments. There are some infrequent false positives where code is lazily commented out using /* and */ rather than using #if 0/#endif blocks like: /* case foo: case bar: */ case baz: Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d3a9f673e1bdb45f86d15a67e230e4a9b050850 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:39 2015 -0700 checkpatch: report the right line # when using --emacs and --file commit 34d8815f9512 ("checkpatch: add --showfile to allow input via pipe to show filenames") broke the --emacs with --file option. Fix it. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 100425deeb7586c9d401f787aeab3b43a4c6a0c6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:36 2015 -0700 checkpatch: add some <foo>_destroy functions to NEEDLESS_IF tests Sergey Senozhatsky has modified several destroy functions that can now be called with NULL values. - kmem_cache_destroy() - mempool_destroy() - dma_pool_destroy() Update checkpatch to warn when those functions are preceded by an if. Update checkpatch to --fix all the calls too only when the code style form is using leading tabs. from: if (foo) <func>(foo); to: <func>(foo); Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Tested-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3e838b6c41e8ac86c992bdaaa78625faf528a578 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:33 2015 -0700 checkpatch: Allow longer declaration macros Some really long declaration macros exist. For instance; DEFINE_DMA_BUF_EXPORT_INFO(exp_info); and DECLARE_DM_KCOPYD_THROTTLE_WITH_MODULE_PARM(name, description) Increase the limit from 2 words to 6 after DECLARE/DEFINE uses. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f5af480f4554aac12e002b6f5c2b04895857700 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:30 2015 -0700 checkpatch: improve SUSPECT_CODE_INDENT test Many lines exist like if (foo) bar; where the tabbed indentation of the branch is not one more than the "if" line above it. checkpatch should emit a warning on those lines. Miscellenea: o Remove comments from branch blocks o Skip blank lines in block Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9d3e3c705eb395528fd8f17208c87581b134da48 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:27 2015 -0700 checkpatch: add warning on BUG/BUG_ON use Using BUG/BUG_ON crashes the kernel and is just unfriendly. Enable code that emits a warning on BUG/BUG_ON use. Make the code emit the message at WARNING level when scanning a patch and at CHECK level when scanning files so that script users don't feel an obligation to fix code that might be above their pay grade. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fe043ea1205695f2224b279ac9f5cc1742d18f0b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:25 2015 -0700 checkpatch: warn on bare SHA-1 commit IDs in commit logs Commit IDs should have commit descriptions too. Warn when a 12 to 40 byte SHA-1 is used in commit logs. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b4a35fc19a9229080dead8a9c316e8857b3e94d Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Wed Sep 9 15:37:22 2015 -0700 lib/test_kasan.c: make kmalloc_oob_krealloc_less more correctly In kmalloc_oob_krealloc_less, I think it is better to test the size2 boundary. If we do not call krealloc, the access of position size1 will still cause out-of-bounds and access of position size2 does not. After call krealloc, the access of position size2 cause out-of-bounds. So using size2 is more correct. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9789d8e0cfc6b5e265d9b0aa6e86b394a6d216a1 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Wed Sep 9 15:37:19 2015 -0700 lib/test_kasan.c: fix a typo Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b40bdb7fb2b8359d5dfe19a91c147465c3d0359b Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Wed Sep 9 15:37:16 2015 -0700 lib/string_helpers: rename "esc" arg to "only" To further clarify the purpose of the "esc" argument, rename it to "only" to reflect that it is a limit, not a list of additional characters to escape. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Suggested-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d89a3f7335bb5d9e572ecc287b300161200364eb Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Wed Sep 9 15:37:14 2015 -0700 lib/string_helpers: clarify esc arg in string_escape_mem The esc argument is used to reduce which characters will be escaped. For example, using " " with ESCAPE_SPACE will not produce any escaped spaces. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdf17449af1d9b596742c260134edd6c1fac2792 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 9 15:37:11 2015 -0700 hexdump: do not print debug dumps for !CONFIG_DEBUG print_hex_dump_debug() is likely supposed to be analogous to pr_debug() or dev_dbg() & friends. Currently it will adhere to dynamic debug, but will not stub out prints if CONFIG_DEBUG is not set. Let's make it do the right thing, because I am tired of having my dmesg buffer full of hex dumps on production systems. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9bf98f168b7b004c94c766a6989071e0f858def3 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Wed Sep 9 15:37:08 2015 -0700 lib/bitmap.c: bitmap_parselist can accept string with whitespaces on head or tail In __bitmap_parselist we can accept whitespaces on head or tail during every parsing procedure. If input has valid ranges, there is no reason to reject the user. For example, bitmap_parselist(" 1-3, 5, ", &mask, nmaskbits). After separating the string, we get " 1-3", " 5", and " ". It's possible and reasonable to accept such string as long as the parsing result is correct. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d9282cb66353be502aae09aae75d05a6863eb979 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Wed Sep 9 15:37:05 2015 -0700 lib/bitmap.c: fix a special string handling bug in __bitmap_parselist If string end with '-', for exapmle, bitmap_parselist("1,0-",&mask, nmaskbits), It is not in a valid pattern, so add a check after loop. Return -EINVAL on such condition. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d21c3d4d1c6b2a0b85aeae5cc774b1bacc64e5b4 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Wed Sep 9 15:37:02 2015 -0700 lib/bitmap.c: correct a code style and do some, optimization We can avoid in-loop incrementation of ndigits. Save current totaldigits to ndigits before loop, and check ndigits against totaldigits after the loop. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 774636e19ed514cdf560006813c0473409616de8 Author: Alexey Dobriyan <adobriyan@xxxxxxxxx> Date: Wed Sep 9 15:36:59 2015 -0700 proc: convert to kstrto*()/kstrto*_from_user() Convert from manual allocation/copy_from_user/... to kstrto*() family which were designed for exactly that. One case can not be converted to kstrto*_from_user() to make code even more simpler because of whitespace stripping, oh well... Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2d2e4715a65ca7e81b292d01ae009a03ccedb9b5 Author: Alexey Dobriyan <adobriyan@xxxxxxxxx> Date: Wed Sep 9 15:36:17 2015 -0700 kstrto*: accept "-0" for signed conversion strtol(3) et al accept "-0", so should we. Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3cdea4d71439fb5676b7334a333dab0f7b1bd2e9 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:36:14 2015 -0700 MAINTAINERS/CREDITS: mark MaxRAID as Orphan, move Anil Ravindranath to CREDITS Anil's email address bounces and he hasn't had a signoff in over 5 years. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 515a9adce0f0c3d2ef20f869c12902d03851a273 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Wed Sep 9 15:36:12 2015 -0700 include/linux/printk.h: include pr_fmt in pr_debug_ratelimited The other two implementations of pr_debug_ratelimited include pr_fmt, along with every other pr_* function. But pr_debug_ratelimited forgot to add it with the CONFIG_DYNAMIC_DEBUG implementation. This patch unifies the behavior. Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 52aa8536f8f41367d5f2938ad67aa87957e70010 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:36:09 2015 -0700 kernel/cred.c: remove unnecessary kdebug atomic reads Commit e0e817392b9a ("CRED: Add some configurable debugging [try #6]") added the kdebug mechanism to this file back in 2009. The kdebug macro calls no_printk which always evaluates arguments. Most of the kdebug uses have an unnecessary call of atomic_read(&cred->usage) Make the kdebug macro do nothing by defining it with do { if (0) no_printk(...); } while (0) when not enabled. $ size kernel/cred.o* (defconfig x86-64) text data bss dec hex filename 2748 336 8 3092 c14 kernel/cred.o.new 2788 336 8 3132 c3c kernel/cred.o.old Miscellanea: o Neaten the #define kdebug macros while there Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2307e1a3c0780d7b908f6809f34034a04f954806 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Wed Sep 9 15:36:06 2015 -0700 kernel/extable.c: remove duplicated include Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b839635e73575990e92cce1f19f5b1d7febd3fa Author: Vasily Kulikov <segoon@xxxxxxxxxxxx> Date: Wed Sep 9 15:36:03 2015 -0700 include/linux/poison.h: remove not-used poison pointer macros Signed-off-by: Vasily Kulikov <segoon@xxxxxxxxxxxx> Cc: Solar Designer <solar@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a5e5e02fc83aaf67053ab53b359af08c6c49aaf Author: Vasily Kulikov <segoon@xxxxxxxxxxxx> Date: Wed Sep 9 15:36:00 2015 -0700 include/linux/poison.h: fix LIST_POISON{1,2} offset Poison pointer values should be small enough to find a room in non-mmap'able/hardly-mmap'able space. E.g. on x86 "poison pointer space" is located starting from 0x0. Given unprivileged users cannot mmap anything below mmap_min_addr, it should be safe to use poison pointers lower than mmap_min_addr. The current poison pointer values of LIST_POISON{1,2} might be too big for mmap_min_addr values equal or less than 1 MB (common case, e.g. Ubuntu uses only 0x10000). There is little point to use such a big value given the "poison pointer space" below 1 MB is not yet exhausted. Changing it to a smaller value solves the problem for small mmap_min_addr setups. The values are suggested by Solar Designer: http://www.openwall.com/lists/oss-security/2015/05/02/6 Signed-off-by: Vasily Kulikov <segoon@xxxxxxxxxxxx> Cc: Solar Designer <solar@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ecf1a3dfff22bd165532a3af64f32697ae97c1ef Author: Waiman Long <Waiman.Long@xxxxxx> Date: Wed Sep 9 15:35:57 2015 -0700 proc: change proc_subdir_lock to a rwlock The proc_subdir_lock spinlock is used to allow only one task to make change to the proc directory structure as well as looking up information in it. However, the information lookup part can actually be entered by more than one task as the pde_get() and pde_put() reference count update calls in the critical sections are atomic increment and decrement respectively and so are safe with concurrent updates. The x86 architecture has already used qrwlock which is fair and other architectures like ARM are in the process of switching to qrwlock. So unfairness shouldn't be a concern in that conversion. This patch changed the proc_subdir_lock to a rwlock in order to enable concurrent lookup. The following functions were modified to take a write lock: - proc_register() - remove_proc_entry() - remove_proc_subtree() The following functions were modified to take a read lock: - xlate_proc_name() - proc_lookup_de() - proc_readdir_de() A parallel /proc filesystem search with the "find" command (1000 threads) was run on a 4-socket Haswell-EX box (144 threads). Before the patch, the parallel search took about 39s. After the patch, the parallel find took only 25s, a saving of about 14s. The micro-benchmark that I used was artificial, but it was used to reproduce an exit hanging problem that I saw in real application. In fact, only allow one task to do a lookup seems too limiting to me. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bdb4d100afe9818aebd1d98ced575c5ef143456c Author: Calvin Owens <calvinowens@xxxxxx> Date: Wed Sep 9 15:35:54 2015 -0700 procfs: always expose /proc/<pid>/map_files/ and make it readable Currently, /proc/<pid>/map_files/ is restricted to CAP_SYS_ADMIN, and is only exposed if CONFIG_CHECKPOINT_RESTORE is set. Each mapped file region gets a symlink in /proc/<pid>/map_files/ corresponding to the virtual address range at which it is mapped. The symlinks work like the symlinks in /proc/<pid>/fd/, so you can follow them to the backing file even if that backing file has been unlinked. Currently, files which are mapped, unlinked, and closed are impossible to stat() from userspace. Exposing /proc/<pid>/map_files/ closes this functionality "hole". Not being able to stat() such files makes noticing and explicitly accounting for the space they use on the filesystem impossible. You can work around this by summing up the space used by every file in the filesystem and subtracting that total from what statfs() tells you, but that obviously isn't great, and it becomes unworkable once your filesystem becomes large enough. This patch moves map_files/ out from behind CONFIG_CHECKPOINT_RESTORE, and adjusts the permissions enforced on it as follows: * proc_map_files_lookup() * proc_map_files_readdir() * map_files_d_revalidate() Remove the CAP_SYS_ADMIN restriction, leaving only the current restriction requiring PTRACE_MODE_READ. The information made available to userspace by these three functions is already available in /proc/PID/maps with MODE_READ, so I don't see any reason to limit them any further (see below for more detail). * proc_map_files_follow_link() This stub has been added, and requires that the user have CAP_SYS_ADMIN in order to follow the links in map_files/, since there was concern on LKML both about the potential for bypassing permissions on ancestor directories in the path to files pointed to, and about what happens with more exotic memory mappings created by some drivers (ie dma-buf). In older versions of this patch, I changed every permission check in the four functions above to enforce MODE_ATTACH instead of MODE_READ. This was an oversight on my part, and after revisiting the discussion it seems that nobody was concerned about anything outside of what is made possible by ->follow_link(). So in this version, I've left the checks for PTRACE_MODE_READ as-is. [akpm@xxxxxxxxxxxxxxxxxxxx: catch up with concurrent proc_pid_follow_link() changes] Signed-off-by: Calvin Owens <calvinowens@xxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d3691d2c6d3e72624c987bbef6f322631bbb2d5d Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:51 2015 -0700 proc: add cond_resched to /proc/kpage* read/write loop Reading/writing a /proc/kpage* file may take long on machines with a lot of RAM installed. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Suggested-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f074a8f49eb87cde95ac9d040ad5e7ea4f029738 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:48 2015 -0700 proc: export idle flag via kpageflags As noted by Minchan, a benefit of reading idle flag from /proc/kpageflags is that one can easily filter dirty and/or unevictable pages while estimating the size of unused memory. Note that idle flag read from /proc/kpageflags may be stale in case the page was accessed via a PTE, because it would be too costly to iterate over all page mappings on each /proc/kpageflags read to provide an up-to-date value. To make sure the flag is up-to-date one has to read /sys/kernel/mm/page_idle/bitmap first. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 33c3fc71c8cfa3cc3a98beaa901c069c177dc295 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:45 2015 -0700 mm: introduce idle page tracking Knowing the portion of memory that is not used by a certain application or memory cgroup (idle memory) can be useful for partitioning the system efficiently, e.g. by setting memory cgroup limits appropriately. Currently, the only means to estimate the amount of idle memory provided by the kernel is /proc/PID/{clear_refs,smaps}: the user can clear the access bit for all pages mapped to a particular process by writing 1 to clear_refs, wait for some time, and then count smaps:Referenced. However, this method has two serious shortcomings: - it does not count unmapped file pages - it affects the reclaimer logic To overcome these drawbacks, this patch introduces two new page flags, Idle and Young, and a new sysfs file, /sys/kernel/mm/page_idle/bitmap. A page's Idle flag can only be set from userspace by setting bit in /sys/kernel/mm/page_idle/bitmap at the offset corresponding to the page, and it is cleared whenever the page is accessed either through page tables (it is cleared in page_referenced() in this case) or using the read(2) system call (mark_page_accessed()). Thus by setting the Idle flag for pages of a particular workload, which can be found e.g. by reading /proc/PID/pagemap, waiting for some time to let the workload access its working set, and then reading the bitmap file, one can estimate the amount of pages that are not used by the workload. The Young page flag is used to avoid interference with the memory reclaimer. A page's Young flag is set whenever the Access bit of a page table entry pointing to the page is cleared by writing to the bitmap file. If page_referenced() is called on a Young page, it will add 1 to its return value, therefore concealing the fact that the Access bit was cleared. Note, since there is no room for extra page flags on 32 bit, this feature uses extended page flags when compiled on 32 bit. [akpm@xxxxxxxxxxxxxxxxxxxx: fix build] [akpm@xxxxxxxxxxxxxxxxxxxx: kpageidle requires an MMU] [akpm@xxxxxxxxxxxxxxxxxxxx: decouple from page-flags rework] Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1d7715c676a1566c2e4c3e77d16b1f9bb4909025 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:41 2015 -0700 mmu-notifier: add clear_young callback In the scope of the idle memory tracking feature, which is introduced by the following patch, we need to clear the referenced/accessed bit not only in primary, but also in secondary ptes. The latter is required in order to estimate wss of KVM VMs. At the same time we want to avoid flushing tlb, because it is quite expensive and it won't really affect the final result. Currently, there is no function for clearing pte young bit that would meet our requirements, so this patch introduces one. To achieve that we have to add a new mmu-notifier callback, clear_young, since there is no method for testing-and-clearing a secondary pte w/o flushing tlb. The new method is not mandatory and currently only implemented by KVM. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80ae2fdceba8313b0433f899bdd9c6c463291a17 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:38 2015 -0700 proc: add kpagecgroup file /proc/kpagecgroup contains a 64-bit inode number of the memory cgroup each page is charged to, indexed by PFN. Having this information is useful for estimating a cgroup working set size. The file is present if CONFIG_PROC_PAGE_MONITOR && CONFIG_MEMCG. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e993d905c81e2c0f669f2f8e8327df86738baebe Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:35 2015 -0700 memcg: zap try_get_mem_cgroup_from_page It is only used in mem_cgroup_try_charge, so fold it in and zap it. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 94a59fb36ee91b3f977a9b914ec701efe40041de Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:31 2015 -0700 hwpoison: use page_cgroup_ino for filtering by memcg Hwpoison allows to filter pages by memory cgroup ino. Currently, it calls try_get_mem_cgroup_from_page to obtain the cgroup from a page and then its ino using cgroup_ino, but now we have a helper method for that, page_cgroup_ino, so use it instead. This patch also loosens the hwpoison memcg filter dependency rules - it makes it depend on CONFIG_MEMCG instead of CONFIG_MEMCG_SWAP, because hwpoison memcg filter does not require anything (nor it used to) from CONFIG_MEMCG_SWAP side. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2fc045247089ad4ed611ec20cc3a736c0212bf1a Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:28 2015 -0700 memcg: add page_cgroup_ino helper This patchset introduces a new user API for tracking user memory pages that have not been used for a given period of time. The purpose of this is to provide the userspace with the means of tracking a workload's working set, i.e. the set of pages that are actively used by the workload. Knowing the working set size can be useful for partitioning the system more efficiently, e.g. by tuning memory cgroup limits appropriately, or for job placement within a compute cluster. ==== USE CASES ==== The unified cgroup hierarchy has memory.low and memory.high knobs, which are defined as the low and high boundaries for the workload working set size. However, the working set size of a workload may be unknown or change in time. With this patch set, one can periodically estimate the amount of memory unused by each cgroup and tune their memory.low and memory.high parameters accordingly, therefore optimizing the overall memory utilization. Another use case is balancing workloads within a compute cluster. Knowing how much memory is not really used by a workload unit may help take a more optimal decision when considering migrating the unit to another node within the cluster. Also, as noted by Minchan, this would be useful for per-process reclaim (https://lwn.net/Articles/545668/). With idle tracking, we could reclaim idle pages only by smart user memory manager. ==== USER API ==== The user API consists of two new files: * /sys/kernel/mm/page_idle/bitmap. This file implements a bitmap where each bit corresponds to a page, indexed by PFN. When the bit is set, the corresponding page is idle. A page is considered idle if it has not been accessed since it was marked idle. To mark a page idle one should set the bit corresponding to the page by writing to the file. A value written to the file is OR-ed with the current bitmap value. Only user memory pages can be marked idle, for other page types input is silently ignored. Writing to this file beyond max PFN results in the ENXIO error. Only available when CONFIG_IDLE_PAGE_TRACKING is set. This file can be used to estimate the amount of pages that are not used by a particular workload as follows: 1. mark all pages of interest idle by setting corresponding bits in the /sys/kernel/mm/page_idle/bitmap 2. wait until the workload accesses its working set 3. read /sys/kernel/mm/page_idle/bitmap and count the number of bits set * /proc/kpagecgroup. This file contains a 64-bit inode number of the memory cgroup each page is charged to, indexed by PFN. Only available when CONFIG_MEMCG is set. This file can be used to find all pages (including unmapped file pages) accounted to a particular cgroup. Using /sys/kernel/mm/page_idle/bitmap, one can then estimate the cgroup working set size. For an example of using these files for estimating the amount of unused memory pages per each memory cgroup, please see the script attached below. ==== REASONING ==== The reason to introduce the new user API instead of using /proc/PID/{clear_refs,smaps} is that the latter has two serious drawbacks: - it does not count unmapped file pages - it affects the reclaimer logic The new API attempts to overcome them both. For more details on how it is achieved, please see the comment to patch 6. ==== PATCHSET STRUCTURE ==== The patch set is organized as follows: - patch 1 adds page_cgroup_ino() helper for the sake of /proc/kpagecgroup and patches 2-3 do related cleanup - patch 4 adds /proc/kpagecgroup, which reports cgroup ino each page is charged to - patch 5 introduces a new mmu notifier callback, clear_young, which is a lightweight version of clear_flush_young; it is used in patch 6 - patch 6 implements the idle page tracking feature, including the userspace API, /sys/kernel/mm/page_idle/bitmap - patch 7 exports idle flag via /proc/kpageflags ==== SIMILAR WORKS ==== Originally, the patch for tracking idle memory was proposed back in 2011 by Michel Lespinasse (see http://lwn.net/Articles/459269/). The main difference between Michel's patch and this one is that Michel implemented a kernel space daemon for estimating idle memory size per cgroup while this patch only provides the userspace with the minimal API for doing the job, leaving the rest up to the userspace. However, they both share the same idea of Idle/Young page flags to avoid affecting the reclaimer logic. ==== PERFORMANCE EVALUATION ==== SPECjvm2008 (https://www.spec.org/jvm2008/) was used to evaluate the performance impact introduced by this patch set. Three runs were carried out: - base: kernel without the patch - patched: patched kernel, the feature is not used - patched-active: patched kernel, 1 minute-period daemon is used for tracking idle memory For tracking idle memory, idlememstat utility was used: https://github.com/locker/idlememstat testcase base patched patched-active compiler 537.40 ( 0.00)% 532.26 (-0.96)% 538.31 ( 0.17)% compress 305.47 ( 0.00)% 301.08 (-1.44)% 300.71 (-1.56)% crypto 284.32 ( 0.00)% 282.21 (-0.74)% 284.87 ( 0.19)% derby 411.05 ( 0.00)% 413.44 ( 0.58)% 412.07 ( 0.25)% mpegaudio 189.96 ( 0.00)% 190.87 ( 0.48)% 189.42 (-0.28)% scimark.large 46.85 ( 0.00)% 46.41 (-0.94)% 47.83 ( 2.09)% scimark.small 412.91 ( 0.00)% 415.41 ( 0.61)% 421.17 ( 2.00)% serial 204.23 ( 0.00)% 213.46 ( 4.52)% 203.17 (-0.52)% startup 36.76 ( 0.00)% 35.49 (-3.45)% 35.64 (-3.05)% sunflow 115.34 ( 0.00)% 115.08 (-0.23)% 117.37 ( 1.76)% xml 620.55 ( 0.00)% 619.95 (-0.10)% 620.39 (-0.03)% composite 211.50 ( 0.00)% 211.15 (-0.17)% 211.67 ( 0.08)% time idlememstat: 17.20user 65.16system 2:15:23elapsed 1%CPU (0avgtext+0avgdata 8476maxresident)k 448inputs+40outputs (1major+36052minor)pagefaults 0swaps ==== SCRIPT FOR COUNTING IDLE PAGES PER CGROUP ==== #! /usr/bin/python # import os import stat import errno import struct CGROUP_MOUNT = "/sys/fs/cgroup/memory" BUFSIZE = 8 * 1024 # must be multiple of 8 def get_hugepage_size(): with open("/proc/meminfo", "r") as f: for s in f: k, v = s.split(":") if k == "Hugepagesize": return int(v.split()[0]) * 1024 PAGE_SIZE = os.sysconf("SC_PAGE_SIZE") HUGEPAGE_SIZE = get_hugepage_size() def set_idle(): f = open("/sys/kernel/mm/page_idle/bitmap", "wb", BUFSIZE) while True: try: f.write(struct.pack("Q", pow(2, 64) - 1)) except IOError as err: if err.errno == errno.ENXIO: break raise f.close() def count_idle(): f_flags = open("/proc/kpageflags", "rb", BUFSIZE) f_cgroup = open("/proc/kpagecgroup", "rb", BUFSIZE) with open("/sys/kernel/mm/page_idle/bitmap", "rb", BUFSIZE) as f: while f.read(BUFSIZE): pass # update idle flag idlememsz = {} while True: s1, s2 = f_flags.read(8), f_cgroup.read(8) if not s1 or not s2: break flags, = struct.unpack('Q', s1) cgino, = struct.unpack('Q', s2) unevictable = (flags >> 18) & 1 huge = (flags >> 22) & 1 idle = (flags >> 25) & 1 if idle and not unevictable: idlememsz[cgino] = idlememsz.get(cgino, 0) + \ (HUGEPAGE_SIZE if huge else PAGE_SIZE) f_flags.close() f_cgroup.close() return idlememsz if __name__ == "__main__": print "Setting the idle flag for each page..." set_idle() raw_input("Wait until the workload accesses its working set, " "then press Enter") print "Counting idle pages..." idlememsz = count_idle() for dir, subdirs, files in os.walk(CGROUP_MOUNT): ino = os.stat(dir)[stat.ST_INO] print dir + ": " + str(idlememsz.get(ino, 0) / 1024) + " kB" ==== END SCRIPT ==== This patch (of 8): Add page_cgroup_ino() helper to memcg. This function returns the inode number of the closest online ancestor of the memory cgroup a page is charged to. It is required for exporting information about which page is charged to which cgroup to userspace, which will be introduced by a following patch. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c4c5ef3760470cbf8bf408a173d1b2fdba065b1 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Sep 9 15:35:25 2015 -0700 zswap: update docs for runtime-changeable attributes Change the Documentation/vm/zswap.txt doc to indicate that the "zpool" and "compressor" params are now changeable at runtime. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 90b0fc26d5dbe21c7a21668320b276af9b2281d7 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Sep 9 15:35:21 2015 -0700 zswap: change zpool/compressor at runtime Update the zpool and compressor parameters to be changeable at runtime. When changed, a new pool is created with the requested zpool/compressor, and added as the current pool at the front of the pool list. Previous pools remain in the list only to remove existing compressed pages from. The old pool(s) are removed once they become empty. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Acked-by: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f1c54846ee4504d89b59b04d870831db4046b478 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Sep 9 15:35:19 2015 -0700 zswap: dynamic pool creation Add dynamic creation of pools. Move the static crypto compression per-cpu transforms into each pool. Add a pointer to zswap_entry to the pool it's in. This is required by the following patch which enables changing the zswap zpool and compressor params at runtime. [akpm@xxxxxxxxxxxxxxxxxxxx: fix merge snafus] Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Acked-by: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3f0e131221eb951c45c93d1cce9db73889be2a5e Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Sep 9 15:35:16 2015 -0700 zpool: add zpool_has_pool() This series makes creation of the zpool and compressor dynamic, so that they can be changed at runtime. This makes using/configuring zswap easier, as before this zswap had to be configured at boot time, using boot params. This uses a single list to track both the zpool and compressor together, although Seth had mentioned an alternative which is to track the zpools and compressors using separate lists. In the most common case, only a single zpool and single compressor, using one list is slightly simpler than using two lists, and for the uncommon case of multiple zpools and/or compressors, using one list is slightly less simple (and uses slightly more memory, probably) than using two lists. This patch (of 4): Add zpool_has_pool() function, indicating if the specified type of zpool is available (i.e. zsmalloc or zbud). This allows checking if a pool is available, without actually trying to allocate it, similar to crypto_has_alg(). This is used by a following patch to zswap that enables the dynamic runtime creation of zswap zpools. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Acked-by: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 30927520dbae297182990bb21d08762bcc35ce1d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 9 21:55:07 2015 -0700 tcp_cubic: better follow cubic curve after idle period Jana Iyengar found an interesting issue on CUBIC : The epoch is only updated/reset initially and when experiencing losses. The delta "t" of now - epoch_start can be arbitrary large after app idle as well as the bic_target. Consequentially the slope (inverse of ca->cnt) would be really large, and eventually ca->cnt would be lower-bounded in the end to 2 to have delayed-ACK slow-start behavior. This particularly shows up when slow_start_after_idle is disabled as a dangerous cwnd inflation (1.5 x RTT) after few seconds of idle time. Jana initial fix was to reset epoch_start if app limited, but Neal pointed out it would ask the CUBIC algorithm to recalculate the curve so that we again start growing steeply upward from where cwnd is now (as CUBIC does just after a loss). Ideally we'd want the cwnd growth curve to be the same shape, just shifted later in time by the amount of the idle period. Reported-by: Jana Iyengar <jri@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Cc: Sangtae Ha <sangtae.ha@xxxxxxxxx> Cc: Lawrence Brakmo <lawrence@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05c5a46d71f621df620fbabbd7758ee1b44575ad Author: Neal Cardwell <ncardwell@xxxxxxxxxx> Date: Wed Sep 9 21:54:37 2015 -0700 tcp: generate CA_EVENT_TX_START on data frames Issuing a CC TX_START event on control frames like pure ACK is a waste of time, as a CC should not care. Following patch needs this change, as we want CUBIC to properly track idle time at a low cost, with a single TX_START being generated. Yuchung might slightly refine the condition triggering TX_START on a followup patch. Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Jana Iyengar <jri@xxxxxxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Cc: Sangtae Ha <sangtae.ha@xxxxxxxxx> Cc: Lawrence Brakmo <lawrence@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32a844056fd43dda647e1c3c6b9983bdfa04d17d Author: Wei Liu <wei.liu2@xxxxxxxxxx> Date: Thu Sep 10 11:18:58 2015 +0100 xen-netfront: respect user provided max_queues Originally that parameter was always reset to num_online_cpus during module initialisation, which renders it useless. The fix is to only set max_queues to num_online_cpus when user has not provided a value. Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Tested-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c82ac3c37363e8c4ded6a5fe1ec5fa756b34df3 Author: Wei Liu <wei.liu2@xxxxxxxxxx> Date: Thu Sep 10 11:18:57 2015 +0100 xen-netback: respect user provided max_queues Originally that parameter was always reset to num_online_cpus during module initialisation, which renders it useless. The fix is to only set max_queues to num_online_cpus when user has not provided a value. Reported-by: Johnny Strom <johnny.strom@xxxxxxxxxxxxxxxxx> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 420203204eada39cfe0e8eb65e609da7b209cf33 Author: Corinna Vinschen <vinschen@xxxxxxxxxx> Date: Thu Sep 10 10:47:35 2015 +0200 r8169: Fix sleeping function called during get_stats64, v2 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=104031 Fixes: 6e85d5ad36a26debc23a9a865c029cbe242b2dc8 Based on the discussion starting at http://www.spinics.net/lists/netdev/msg342193.html Tested locally on RTL8168evl/8111evl with various concurrent processes accessing /proc/net/dev while changing the link state as well as removing/reloading the r8169 module. Signed-off-by: Corinna Vinschen <vinschen@xxxxxxxxxx> Tested-by: poma <pomidorabelisima@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 824257857fd81f5e749831ff9cd63566b5a86abe Author: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Date: Mon Aug 3 15:45:32 2015 +0530 drm/i915: Allow DSI dual link to be configured on any pipe Just like single link MIPI panels, similarly for dual link panels, pipe to be configured is based on the DVO port from VBT Block 2. In hardware, Port A is mapped with Pipe A and Port C is mapped with Pipe B. This issue got introduced in - commit 7e9804fdcffc650515c60f524b8b2076ee59e710 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Jan 16 14:27:23 2015 +0200 drm/i915/dsi: add drm mipi dsi host support Cc: stable@xxxxxxxxxxxxxxx # v4.0 Signed-off-by: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 58590c14d80defc94e900308a9d8fa55284de6f2 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 21:05:12 2015 +0300 drm/i915: Don't try to use DDR DVFS on CHV when disabled in the BIOS If one disables DDR DVFS in the BIOS, Punit will apparently ignores all DDR DVFS request. Currently we assume that DDR DVFS is always operational, which leads to errors in dmesg when the DDR DVFS requests time out. Fix the problem by gently prodding Punit during driver load to find out whether it will respond to DDR DVFS requests. If the request times out, we assume that DDR DVFS has been permanenly disabled in the BIOS and no longer perster the Punit about it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91629 Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Tested-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 982b0b2dd590c00f089fc6fe915bd0cb302a7f5c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 9 16:52:09 2015 +0200 drm/i915: Fix CSR MMIO address check Fix a wrong logical AND (&&) used for the range check of CSR MMIO. Spotted nicely by gcc -Wlogical-op flag: drivers/gpu/drm/i915/intel_csr.c: In function â??finish_csr_loadâ??: drivers/gpu/drm/i915/intel_csr.c:353:41: warning: logical â??andâ?? of mutually exclusive tests is always false [-Wlogical-op] Fixes: eb805623d8b1 ('drm/i915/skl: Add support to load SKL CSR firmware.') Cc: <stable@xxxxxxxxxxxxxxx> # v4.2 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Animesh Manna <animesh.manna@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 1ab1e895492d8084dfc1c854efacde219e56b8c1 Author: Henrik Austad <henrik@xxxxxxxxx> Date: Wed Sep 9 12:25:17 2015 +0200 ether: add IEEE 1722 ethertype - TSN IEEE 1722 describes AVB (later renamed to TSN - Time Sensitive Networking), a protocol, encapsualtion and synchronization to utilize standard networks for audio/video (and later other time-sensitive) streams. This standard uses ethertype 0x22F0. http://standards.ieee.org/develop/regauth/ethertype/eth.txt This is a respin of a previous patch ("ether: add AVB frame type ETH_P_AVB") CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx CC: linux-api@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Henrik Austad <henrik@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b14132797d8041a42e03f4ffa1e722da1425adfb Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Tue Aug 18 03:28:01 2015 -0400 elf-em.h: move EM_MICROBLAZE to the common header The linux/audit.h header uses EM_MICROBLAZE in order to define AUDIT_ARCH_MICROBLAZE, but it's only available in the microblaze asm headers. Move it to the common elf-em.h header so that the define can be used on non-microblaze systems. Otherwise we get build errors that EM_MICROBLAZE isn't defined when we try to use the AUDIT_ARCH_MICROBLAZE symbol. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 6bb0fef489f667cf701853054f44579754f00a06 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Sep 10 02:10:57 2015 +0200 netlink, mmap: fix edge-case leakages in nf queue zero-copy When netlink mmap on receive side is the consumer of nf queue data, it can happen that in some edge cases, we write skb shared info into the user space mmap buffer: Assume a possible rx ring frame size of only 4096, and the network skb, which is being zero-copied into the netlink skb, contains page frags with an overall skb->len larger than the linear part of the netlink skb. skb_zerocopy(), which is generic and thus not aware of the fact that shared info cannot be accessed for such skbs then tries to write and fill frags, thus leaking kernel data/pointers and in some corner cases possibly writing out of bounds of the mmap area (when filling the last slot in the ring buffer this way). I.e. the ring buffer slot is then of status NL_MMAP_STATUS_VALID, has an advertised length larger than 4096, where the linear part is visible at the slot beginning, and the leaked sizeof(struct skb_shared_info) has been written to the beginning of the next slot (also corrupting the struct nl_mmap_hdr slot header incl. status etc), since skb->end points to skb->data + ring->frame_size - NL_MMAP_HDRLEN. The fix adds and lets __netlink_alloc_skb() take the actual needed linear room for the network skb + meta data into account. It's completely irrelevant for non-mmaped netlink sockets, but in case mmap sockets are used, it can be decided whether the available skb_tailroom() is really large enough for the buffer, or whether it needs to internally fallback to a normal alloc_skb(). >From nf queue side, the information whether the destination port is an mmap RX ring is not really available without extra port-to-socket lookup, thus it can only be determined in lower layers i.e. when __netlink_alloc_skb() is called that checks internally for this. I chose to add the extra ldiff parameter as mmap will then still work: We have data_len and hlen in nfqnl_build_packet_message(), data_len is the full length (capped at queue->copy_range) for skb_zerocopy() and hlen some possible part of data_len that needs to be copied; the rem_len variable indicates the needed remaining linear mmap space. The only other workaround in nf queue internally would be after allocation time by f.e. cap'ing the data_len to the skb_tailroom() iff we deal with an mmap skb, but that would 1) expose the fact that we use a mmap skb to upper layers, and 2) trim the skb where we otherwise could just have moved the full skb into the normal receive queue. After the patch, in my test case the ring slot doesn't fit and therefore shows NL_MMAP_STATUS_COPY, where a full skb carries all the data and thus needs to be picked up via recv(). Fixes: 3ab1f683bf8b ("nfnetlink: add support for memory mapped netlink") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a66e36568e30ed3714c0e3a12bd3b64696343ff5 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Sep 10 01:20:46 2015 +0200 netlink, mmap: don't walk rx ring on poll if receive queue non-empty In case of netlink mmap, there can be situations where received frames have to be placed into the normal receive queue. The ring buffer indicates this through NL_MMAP_STATUS_COPY, so the user is asked to pick them up via recvmsg(2) syscall, and to put the slot back to NL_MMAP_STATUS_UNUSED. Commit 0ef707700f1c ("netlink: rx mmap: fix POLLIN condition") changed polling, so that we walk in the worst case the whole ring through the new netlink_has_valid_frame(), for example, when the ring would have no NL_MMAP_STATUS_VALID, but at least one NL_MMAP_STATUS_COPY frame. Since we do a datagram_poll() already earlier to pick up a mask that could possibly contain POLLIN | POLLRDNORM already (due to NL_MMAP_STATUS_COPY), we can skip checking the rx ring entirely. In case the kernel is compiled with !CONFIG_NETLINK_MMAP, then all this is irrelevant anyway as netlink_poll() is just defined as datagram_poll(). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2be053c83ee93888fc09d90df2bded0deb28947 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Sep 10 09:55:13 2015 +0530 cxgb4: changes for new firmware 1.14.4.0 Incorporate fw_ldst_cmd structure change for new firmware and also update version string for the same Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9638d19e481605217f95d9ab3c8896e499b1407d Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Thu Sep 10 09:35:39 2015 +0800 net: fec: add netif status check before set mac address There exist one issue by below case that case system hang: ifconfig eth0 down ifconfig eth0 hw ether 00:10:19:19:81:19 After eth0 down, all fec clocks are gated off. In the .fec_set_mac_address() function, it will set new MAC address to registers, which causes system hang. So it needs to add netif status check to avoid registers access when clocks are gated off. Until eth0 up the new MAC address are wrote into related registers. V2: As Lucas Stach's suggestion, add a comment in the code to explain why it needed. CC: Lucas Stach <l.stach@xxxxxxxxxxxxxx> CC: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d68c286384d147838d252e2969f2f787e7fbffb Merge: 52fe51f 2dd49e0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 9 20:27:54 2015 -0700 Merge branch 'r8152-autoresume' Hayes Wang says: ==================== r8152: fix the autoresume may fail Fix the autosuspend issues which occur about linking change. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2dd49e0f16fb0e07c6fcc1322ebba310f5827072 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Mon Sep 7 11:57:44 2015 +0800 r8152: fix the runtime suspend issues Fix the runtime suspend issues result from the linking change. Case 1: a) link down occurs. b) driver disable tx/rx. c) autosuspend occurs. d) hw linking up. e) device suspends without enabling tx/rx. f) couldn't wake up when receiving packets. Case 2: a) Nway results in linking down. b) autosuspend occurs. c) device suspends. d) device may not wake up when linking up. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0942473e3ca4629a40bbf0c9fd74fc0c7ff2a79 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Mon Sep 7 11:57:43 2015 +0800 r8152: split DRIVER_VERSION Split DRIVER_VERSION into NETNEXT_VERSION and NET_VERSION. Then, according to the value of DRIVER_VERSION, we could know which patches are used generally without comparing the source code. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52fe51f8523751da0e79c85350c47eb3bb94da5b Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Thu Sep 10 06:57:12 2015 +0800 ipv6: fix ifnullfree.cocci warnings net/ipv6/route.c:2946:3-8: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values. NULL check before some freeing functions is not needed. Based on checkpatch warning "kfree(NULL) is safe this check is probably not required" and kfreeaddr.cocci by Julia Lawall. Generated by: scripts/coccinelle/free/ifnullfree.cocci CC: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 792aec47d59d951865cc617a97b6e6be53d4b977 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 9 20:49:53 2015 +0000 add microchip LAN88xx phy driver Add Microchip LAN88XX phy driver for phylib. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dfc50fcaad574e5c8c85cbc83eca1426b2413fa4 Author: Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> Date: Wed Sep 9 18:01:08 2015 +0300 stmmac: fix check for phydev being open Current check of phydev with IS_ERR(phydev) may make not much sense because of_phy_connect() returns NULL on failure instead of error value. Still for checking result of phy_connect() IS_ERR() makes perfect sense. So let's use combined check IS_ERR_OR_NULL() that covers both cases. Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Cc: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Cc: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f0ca208531a152e1da6aa43d095fe0b2039d9ca Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:38:05 2015 +0200 net: qlcnic: delete redundant memsets In all cases, mbx->req.arg and mbx->rsp.arg have just been allocated using kcalloc(), so these six memsets are redundant. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b66a60857ca4fae5900c5d81c2ba04e657509b99 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:38:04 2015 +0200 net: mv643xx_eth: use kzalloc The double memset is a little ugly; using kzalloc avoids it altogether. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9b5ac277e8f8dffa28f85a065e2fd890d9e48c7 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:38:03 2015 +0200 net: jme: use kzalloc() instead of kmalloc+memset Using kzalloc saves a tiny bit on .text. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce8e5c7035098fa5b8fea910f14be59b8cace81f Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:38:02 2015 +0200 net: cavium: liquidio: use kzalloc in setup_glist() We save a little .text and get rid of the sizeof(...) style inconsistency. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6e59bdac940e63cfabd40a89d342eb470b009b9 Merge: 312146b 208487a Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 9 16:15:34 2015 -0700 Merge tag 'qcom-soc-for-4.3-rc2' of git://codeaurora.org/quic/kernel/agross-msm into next/late Qualcomm ARM Based SoC Updates for 4.3-rc2 * Fix errant private access in SMEM * Fix use of correct remote processor ID in SMD transactions * Correct SMD fBLOCKREADINTR handling * tag 'qcom-soc-for-4.3-rc2' of git://codeaurora.org/quic/kernel/agross-msm: soc: qcom: smd: Correct fBLOCKREADINTR handling soc: qcom: smd: Use correct remote processor ID soc: qcom: smem: Fix errant private access devicetree: soc: Add Qualcomm SMD based RPM DT binding soc: qcom: Driver for the Qualcomm RPM over SMD soc: qcom: Add Shared Memory Driver soc: qcom: Add device tree binding for Shared Memory Device drivers: qcom: Select QCOM_SCM unconditionally for QCOM_PM soc: qcom: Add Shared Memory Manager driver commit 312146b50781a9ed1172402e170983a5e967d55d Merge: 7f98121 8f1dc3c Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 9 16:15:19 2015 -0700 Merge tag 'qcom-dt-for-4.3-rc2' of git://codeaurora.org/quic/kernel/agross-msm into next/late Qualcomm ARM Based Device Tree Updates for v4.3-rc2 * Add labels for serial nodes to be used for aliasing and stdout-path * Add stdout-path for APQ8064 Compulab QS600 * Add stdout-path for APQ8064 Inforce 6410 * Add stdout-path for APQ8074 Dragonboard * Add stdout-path for APQ8084 Inforce 6540 * Add stdout-path for APQ8084 MTP * Add stdout-path for IPQ8064 AP148 * Add stdout-path for MSM8660 Surf * Add stdout-path for MSM8960 CDP * Add stdout-path for MSM8974 Xperia Honami * tag 'qcom-dt-for-4.3-rc2' of git://codeaurora.org/quic/kernel/agross-msm: (24 commits) ARM: dts: qcom: msm8974-sony-xperia-honami: Use stdout-path ARM: dts: qcom: msm8960-cdp: Use stdout-path ARM: dts: qcom: msm8660-surf: Use stdout-path ARM: dts: qcom: ipq8064-ap148: Use stdout-path ARM: dts: qcom: apq8084-mtp: Use stdout-path ARM: dts: qcom: apq8084-ifc6540: Use stdout-path ARM: dts: qcom: apq8074-dragonboard: Use stdout-path ARM: dts: qcom: apq8064-ifc6410: Use stdout-path ARM: dts: qcom: apq8064-cm-qs600: Use stdout-path ARM: dts: qcom: Label serial nodes for aliasing and stdout-path ARM: dts: qs600: Add real regulators to sdcc ARM: dts: ifc6410: add real regulators for sdcc nodes. ARM: dts: apq8064: remove temporary fixed regulator for mmc ARM: dts: apq8064: fix missing gsbi cell-index ARM: dts: apq8064: Add DT support for GSBI6 and for UART pin mux ARM: dts: apq8064: add pm8921 mpp support ARM: dts: apq8064: Add pm8921 mfd and its gpio node ARM: dts: msm8974: Add smem reservation and node ARM: dts: msm8974: Add tcsr mutex node ARM: dts: qcom: Add ks8851 node for wired ethernet ... commit 7f9812122ffaebd71d4d964f6f5109473a9fc683 Merge: 71d4404 ae1973a Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 9 16:07:41 2015 -0700 Merge branch 'next/defconfig' into next/late * next/defconfig: (45 commits) ARM: multi_v7_defconfig: Enable PBIAS regulator ARM: add TC2 PM support to multi_v7_defconfig ARM: tegra: Update multi_v7_defconfig ARM: tegra: Update default configuration ARM: at91/defconfig: at91_dt: remove ARM_AT91_ETHER ARM: at91/defconfig: at91_dt: enable DRM hlcdc support ARM: at91: at91_dt_defconfig: enable ISI and ov2640 support ARM: multi_v7_defconfig: Enable Allwinner P2WI, PWM, DMA_SUN6I, cryptodev ARM: sunxi_defconfig: Enable DMA_SUN6I, P2WI, PWM, cryptodev, EXTCON, FHANDLE ARM: shmobile: Enable fixed voltage regulator in shmobile_defconfig ARM: multi_v7_defconfig: Select MX6UL and MX7D ARM: prima2_defconfig: enable build for hwspinlock ARM: prima2_defconfig: enable build for RTC ARM: prima2_defconfig: enable build for misc input ARM: prima2_defconfig: enable build for SiRFSoC SDHC host ARM: prima2_defconfig: fix the outdated defconfig ARM: imx_v6_v7_defconfig: Select CONFIG_IKCONFIG_PROC ARM: defconfig: orion5x: add DT support ARM: qcom_defconfig: Enable options for KS8851 ethernet ARM: multi_v7_defconfig: Enable support for PWM Regulators ... commit ae1973a2df8ea48ab04cd406c569ce0b5721dd99 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Fri Sep 4 17:43:15 2015 +0530 ARM: multi_v7_defconfig: Enable PBIAS regulator PBIAS regulator is required for MMC module in OMAP2, OMAP3, OMAP4, OMAP5 and DRA7 SoCs. Enable it here. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 71d440499b8ecbd5289bdf4ef5cce6eb62fffb0d Merge: 7c4ecc7 9738031 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 9 15:42:45 2015 -0700 Merge branch 'drivers/reset' into next/late * drivers/reset: reset: ath79: Fix missing spin_lock_init reset: Add (devm_)reset_control_get stub functions reset: reset-zynq: Adding support for Xilinx Zynq reset controller. docs: dts: Added documentation for Xilinx Zynq Reset Controller bindings. MIPS: ath79: Add the reset controller to the AR9132 dtsi reset: Add a driver for the reset controller on the AR71XX/AR9XXX devicetree: Add bindings for the ATH79 reset controller reset: socfpga: Update reset-socfpga to read the altr,modrst-offset property doc: dt: add documentation for lpc1850-rgu reset driver reset: add driver for lpc18xx rgu reset: sti: constify of_device_id array ARM: STi: DT: Move reset controller constants into common location MAINTAINERS: add include/dt-bindings/reset path to reset controller entry commit 9738031561d246f625325badb03a1f1eca2d1b01 Merge: 5d44595 f319cb8 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 9 15:41:42 2015 -0700 Merge tag 'reset-for-4.3-fixes' of git://git.pengutronix.de/git/pza/linux into drivers/reset Merge "Reset controller fixes for v4.3" from Philipp Zabel: Reset controller fixes for v4.3 - added stubs to avoid build breakage in COMPILE_TEST configurations with RESET_CONTROLLER disabled - fixed missing spinlock initialization in ath79 driver * tag 'reset-for-4.3-fixes' of git://git.pengutronix.de/git/pza/linux: reset: ath79: Fix missing spin_lock_init reset: Add (devm_)reset_control_get stub functions commit f53de1e9a4aaf8cbe08845da6f7ff26a078ac507 Author: Phil Sutter <phil@xxxxxx> Date: Wed Sep 9 14:20:56 2015 +0200 net: ipv6: use common fib_default_rule_pref This switches IPv6 policy routing to use the shared fib_default_rule_pref() function of IPv4 and DECnet. It is also used in multicast routing for IPv4 as well as IPv6. The motivation for this patch is a complaint about iproute2 behaving inconsistent between IPv4 and IPv6 when adding policy rules: Formerly, IPv6 rules were assigned a fixed priority of 0x3FFF whereas for IPv4 the assigned priority value was decreased with each rule added. Since then all users of the default_pref field have been converted to assign the generic function fib_default_rule_pref(), fib_nl_newrule() may just use it directly instead. Therefore get rid of the function pointer altogether and make fib_default_rule_pref() static, as it's not used outside fib_rules.c anymore. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 444c5f92ed152346aef0952316e0ea855129846c Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 9 11:24:29 2015 +0200 net: ethoc: Remove unnecessary #ifdef CONFIG_OF For !CONFIG_OF of_get_property() is defined to always return NULL. Thus there's no need to protect the call to of_get_property() with #ifdef CONFIG_OF. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03679a14739a0d4c14b52ba65a69ff553bfba73b Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Sep 8 20:06:41 2015 -0700 net: dsa: bcm_sf2: Fix 64-bits register writes The macro to write 64-bits quantities to the 32-bits register swapped the value and offsets arguments, we want to preserve the ordering of the arguments with respect to how writel() is implemented for instance: value first, offset/base second. Fixes: 246d7f773c13 ("net: dsa: add Broadcom SF2 switch driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 687f07156b0c99205c21aa4e2986564046d342fe Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Sep 8 13:40:01 2015 -0700 bpf: fix out of bounds access in verifier log when the verifier log is enabled the print_bpf_insn() is doing bpf_alu_string[BPF_OP(insn->code) >> 4] and bpf_jmp_string[BPF_OP(insn->code) >> 4] where BPF_OP is a 4-bit instruction opcode. Malformed insns can cause out of bounds access. Fix it by sizing arrays appropriately. The bug was found by clang address sanitizer with libfuzzer. Reported-by: Yonghong Song <yhs@xxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b9ea5a64ed5eeb3f68f2e6fcce0ed1179801d1e Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 10:53:04 2015 -0700 ipv6: fix multipath route replace error recovery Problem: The ecmp route replace support for ipv6 in the kernel, deletes the existing ecmp route too early, ie when it installs the first nexthop. If there is an error in installing the subsequent nexthops, its too late to recover the already deleted existing route leaving the fib in an inconsistent state. This patch reduces the possibility of this by doing the following: a) Changes the existing multipath route add code to a two stage process: build rt6_infos + insert them ip6_route_add rt6_info creation code is moved into ip6_route_info_create. b) This ensures that most errors are caught during building rt6_infos and we fail early c) Separates multipath add and del code. Because add needs the special two stage mode in a) and delete essentially does not care. d) In any event if the code fails during inserting a route again, a warning is printed (This should be unlikely) Before the patch: $ip -6 route show 3000:1000:1000:1000::2 via fe80::202:ff:fe00:b dev swp49s0 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:d dev swp49s1 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:f dev swp49s2 metric 1024 /* Try replacing the route with a duplicate nexthop */ $ip -6 route change 3000:1000:1000:1000::2/128 nexthop via fe80::202:ff:fe00:b dev swp49s0 nexthop via fe80::202:ff:fe00:d dev swp49s1 nexthop via fe80::202:ff:fe00:d dev swp49s1 RTNETLINK answers: File exists $ip -6 route show /* previously added ecmp route 3000:1000:1000:1000::2 dissappears from * kernel */ After the patch: $ip -6 route show 3000:1000:1000:1000::2 via fe80::202:ff:fe00:b dev swp49s0 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:d dev swp49s1 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:f dev swp49s2 metric 1024 /* Try replacing the route with a duplicate nexthop */ $ip -6 route change 3000:1000:1000:1000::2/128 nexthop via fe80::202:ff:fe00:b dev swp49s0 nexthop via fe80::202:ff:fe00:d dev swp49s1 nexthop via fe80::202:ff:fe00:d dev swp49s1 RTNETLINK answers: File exists $ip -6 route show 3000:1000:1000:1000::2 via fe80::202:ff:fe00:b dev swp49s0 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:d dev swp49s1 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:f dev swp49s2 metric 1024 Fixes: 27596472473a ("ipv6: fix ECMP route replacement") Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 208487a8f69084992f76ef87ddd3e00e5eaf6587 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Aug 24 13:38:46 2015 -0700 soc: qcom: smd: Correct fBLOCKREADINTR handling fBLOCKREADINTR is masking the notification from the remote and should hence be cleared while we're waiting the tx fifo to drain. Also change the reset state to mask the notification, as send is the only use case where we're interested in it. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 93dbed9121cc8e0fcc93edd9fca901322bdfbd1a Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Aug 26 14:42:45 2015 -0500 soc: qcom: smd: Use correct remote processor ID This patch fixes SMEM addressing issues when remote processors need to use secure SMEM partitions. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> commit 18912806bbf8bd6e2b5cb12317679790eb0e0ce4 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Tue Aug 11 23:48:15 2015 -0500 soc: qcom: smem: Fix errant private access This patch corrects private partition item access. Instead of falling back to global for instances where we have an actual host and remote partition existing, return the results of the private lookup. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 61e19ba99e2a88392dcaee4b5e7f3e23548b8164 Merge: bc0195a ba68227 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Sep 9 15:56:35 2015 -0500 Merge tag 'qcom-soc-for-4.3' into v4.2-rc2 Qualcomm ARM Based SoC Updates for 4.3 * Add SMEM driver * Add SMD driver * Add RPM over SMD driver * Select QCOM_SCM by default commit 74da56ce5c6715630aed3ccc0fcb86a9210c1a56 Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Date: Wed Sep 9 11:41:22 2015 -0700 intel_pstate: fix PCT_TO_HWP macro PCT_TO_HWP does not take the actual range of pstates exported by HWP_CAPABILITIES in account, and is broken on most platforms. Remove the macro and set the min and max pstate for hwp by determining the range and adjusting by the min and max percent limits values. Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 43717aadd2bc87fb10fbf1cd815c1cbae9bb95b3 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Wed Sep 9 18:27:31 2015 +0800 intel_pstate: Fix user input of min/max to legal policy region In current code, max_perf_pct might be smaller than min_perf_pct by improper user input: $ grep . /sys/devices/system/cpu/intel_pstate/m*_perf_pct /sys/devices/system/cpu/intel_pstate/max_perf_pct:100 /sys/devices/system/cpu/intel_pstate/min_perf_pct:100 $ echo 80 > /sys/devices/system/cpu/intel_pstate/max_perf_pct $ grep . /sys/devices/system/cpu/intel_pstate/m*_perf_pct /sys/devices/system/cpu/intel_pstate/max_perf_pct:80 /sys/devices/system/cpu/intel_pstate/min_perf_pct:100 Fix this problem by 2 steps: 1. Normalize the user input to [min_policy, max_policy]. 2. Make sure max_perf_pct>=min_perf_pct, suggested by Seiichi Ikarashi. Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1b2b90cbea00670221f062814dc8bcecb3af7b90 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Sep 9 16:58:22 2015 +0530 PM / OPP: Return suspend_opp only if it is enabled There is no point returning suspend_opp, if it is disabled by the core. As we can't use it at all. Fix it. Fixes: 4eafbd15b6c8 ("PM / OPP: add dev_pm_opp_get_suspend_opp() helper") Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8f1dc3cf8f1e617ec888bcdb69111aae9bf4a9e0 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:53 2015 -0700 ARM: dts: qcom: msm8974-sony-xperia-honami: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Cc: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c0ed595961c44beea0d0dc3b0e2b1ef354931bdf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:52 2015 -0700 ARM: dts: qcom: msm8960-cdp: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a96731089e8e0d550f017359dacaee19463517c7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:51 2015 -0700 ARM: dts: qcom: msm8660-surf: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9a61b3a39a88b955d89c5f19e01b0b19185ebce6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:50 2015 -0700 ARM: dts: qcom: ipq8064-ap148: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Cc: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ccfdf7cd7dfaa4140702ff43d760d0eb1578d725 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:49 2015 -0700 ARM: dts: qcom: apq8084-mtp: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d92c945d854f9d973d3a0836548c93ed249b8f3a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:48 2015 -0700 ARM: dts: qcom: apq8084-ifc6540: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5f769789bdec38c1d5b19a8743924daf87f5d023 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:47 2015 -0700 ARM: dts: qcom: apq8074-dragonboard: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7f9e28b61057da3a4aa56a79436916a821e63a35 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:46 2015 -0700 ARM: dts: qcom: apq8064-ifc6410: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4e19db11e99b27bdd4817c3d58a7ead7af8d7d7c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:45 2015 -0700 ARM: dts: qcom: apq8064-cm-qs600: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Cc: Mike Rapoport <mike.rapoport@xxxxxxxxx> Cc: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 10bfcfea9bbe91adf79cc4efc9c764edd0cbadda Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:44 2015 -0700 ARM: dts: qcom: Label serial nodes for aliasing and stdout-path Add a label to the serial nodes that are being used for the console. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9f384d67f2334b5888ac9e6302f3c35a09b09787 Merge: bc0195a baff39e Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Sep 9 14:56:32 2015 -0500 Merge tag 'qcom-dt-for-4.3' into v4.2-rc2 Qualcomm ARM Based Device Tree Updates for v4.3 * Switch to use pinctrl compatible for GPIOs * Add RPM regulators for MSM8960 * Add SPI Ethernet support on MSM8960 CDP * Add SMEM support along with dependencies * Add PM8921 support for GPIO and MPP * Fix GSBI cell index * Switch to use real regulators on APQ8064 w/ SDCC commit 592867bfabe2fcb449393ba7eb0de4f972a08c63 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Tue Sep 8 18:00:09 2015 +0200 ebpf: fix fd refcount leaks related to maps in bpf syscall We may already have gotten a proper fd struct through fdget(), so whenever we return at the end of an map operation, we need to call fdput(). However, each map operation from syscall side first probes CHECK_ATTR() to verify that unused fields in the bpf_attr union are zero. In case of malformed input, we return with error, but the lookup to the map_fd was already performed at that time, so that we return without an corresponding fdput(). Fix it by performing an fdget() only right before bpf_map_get(). The fdget() invocation on maps in the verifier is not affected. Fixes: db20fd2b0108 ("bpf: add lookup/update/delete/iterate methods to BPF maps") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6551881c86c791237a3bebf11eb3bd70b60ea782 Author: Pratyush Anand <panand@xxxxxxxxxx> Date: Thu Aug 20 14:05:01 2015 +0530 Watchdog: Fix parent of watchdog_devices /sys/class/watchdog/watchdogn/device/modalias can help to identify the driver/module for a given watchdog node. However, many wdt devices do not set their parent and so, we do not see an entry for device in sysfs for such devices. This patch fixes parent of watchdog_device so that /sys/class/watchdog/watchdogn/device is populated. Exceptions: booke, diag288, octeon, softdog and w83627hf -- They do not have any parent. Not sure, how we can identify driver for these devices. Signed-off-by: Pratyush Anand <panand@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Lubomir Rintel <lkundrak@xxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit bf5125d5e0759a0f513b1bcd33c15edc0cf4c17b Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Aug 17 09:19:03 2015 -0700 watchdog: at91rm9200: Correct check for syscon_node_to_regmap() errors syscon_node_to_regmap() returns a regmap or an ERR_PTR(). Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit a97a09bd119fbdf4ba8c634fed8f4148d1def1e0 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 11:23:43 2015 +0200 watchdog: at91sam9: get and use slow clock Commit dca1a4b5ff6e ("clk: at91: keep slow clk enabled to prevent system hang") added a workaround for the slow clock as it is not properly handled by its users. Get and use the slow clock as it is necessary for the at91sam9 watchdog. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f4fff94e3e3a712ef062c44b64ecf8f552f48ea4 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Thu Aug 6 18:17:05 2015 +0800 Documentation: dt: binding: atmel-sama5d4-wdt: for SAMA5D4 watchdog driver The compatible "atmel,sama5d4-wdt" supports the SAMA5D4 watchdog driver and the watchdog's WDT_MR register can be written more than once. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 74e98eb085889b0d2d4908f59f6e00026063014f Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Sep 8 10:53:40 2015 -0400 RDS: verify the underlying transport exists before creating a connection There was no verification that an underlying transport exists when creating a connection, this would cause dereferencing a NULL ptr. It might happen on sockets that weren't properly bound before attempting to send a message, which will cause a NULL ptr deref: [135546.047719] kasan: GPF could be caused by NULL-ptr deref or user memory accessgeneral protection fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC KASAN [135546.051270] Modules linked in: [135546.051781] CPU: 4 PID: 15650 Comm: trinity-c4 Not tainted 4.2.0-next-20150902-sasha-00041-gbaa1222-dirty #2527 [135546.053217] task: ffff8800835bc000 ti: ffff8800bc708000 task.ti: ffff8800bc708000 [135546.054291] RIP: __rds_conn_create (net/rds/connection.c:194) [135546.055666] RSP: 0018:ffff8800bc70fab0 EFLAGS: 00010202 [135546.056457] RAX: dffffc0000000000 RBX: 0000000000000f2c RCX: ffff8800835bc000 [135546.057494] RDX: 0000000000000007 RSI: ffff8800835bccd8 RDI: 0000000000000038 [135546.058530] RBP: ffff8800bc70fb18 R08: 0000000000000001 R09: 0000000000000000 [135546.059556] R10: ffffed014d7a3a23 R11: ffffed014d7a3a21 R12: 0000000000000000 [135546.060614] R13: 0000000000000001 R14: ffff8801ec3d0000 R15: 0000000000000000 [135546.061668] FS: 00007faad4ffb700(0000) GS:ffff880252000000(0000) knlGS:0000000000000000 [135546.062836] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [135546.063682] CR2: 000000000000846a CR3: 000000009d137000 CR4: 00000000000006a0 [135546.064723] Stack: [135546.065048] ffffffffafe2055c ffffffffafe23fc1 ffffed00493097bf ffff8801ec3d0008 [135546.066247] 0000000000000000 00000000000000d0 0000000000000000 ac194a24c0586342 [135546.067438] 1ffff100178e1f78 ffff880320581b00 ffff8800bc70fdd0 ffff880320581b00 [135546.068629] Call Trace: [135546.069028] ? __rds_conn_create (include/linux/rcupdate.h:856 net/rds/connection.c:134) [135546.069989] ? rds_message_copy_from_user (net/rds/message.c:298) [135546.071021] rds_conn_create_outgoing (net/rds/connection.c:278) [135546.071981] rds_sendmsg (net/rds/send.c:1058) [135546.072858] ? perf_trace_lock (include/trace/events/lock.h:38) [135546.073744] ? lockdep_init (kernel/locking/lockdep.c:3298) [135546.074577] ? rds_send_drop_to (net/rds/send.c:976) [135546.075508] ? __might_fault (./arch/x86/include/asm/current.h:14 mm/memory.c:3795) [135546.076349] ? __might_fault (mm/memory.c:3795) [135546.077179] ? rds_send_drop_to (net/rds/send.c:976) [135546.078114] sock_sendmsg (net/socket.c:611 net/socket.c:620) [135546.078856] SYSC_sendto (net/socket.c:1657) [135546.079596] ? SYSC_connect (net/socket.c:1628) [135546.080510] ? trace_dump_stack (kernel/trace/trace.c:1926) [135546.081397] ? ring_buffer_unlock_commit (kernel/trace/ring_buffer.c:2479 kernel/trace/ring_buffer.c:2558 kernel/trace/ring_buffer.c:2674) [135546.082390] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749) [135546.083410] ? trace_event_raw_event_sys_enter (include/trace/events/syscalls.h:16) [135546.084481] ? do_audit_syscall_entry (include/trace/events/syscalls.h:16) [135546.085438] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749) [135546.085515] rds_ib_laddr_check(): addr 36.74.25.172 ret -99 node type -1 Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76534860f108b812926a4fbfbdadbfa9cdec89d0 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Thu Aug 6 18:16:46 2015 +0800 watchdog: add a driver to support SAMA5D4 watchdog timer From SAMA5D4, the watchdog timer is upgrated with a new feature, which is describled as in the datasheet, "WDT_MR can be written until a LOCKMR command is issued in WDT_CR". That is to say, as long as the bootstrap and u-boot don't issue a LOCKMR command, WDT_MR can be written more than once in the driver. So the SAMA5D4 watchdog driver's implementation is different from the at91sam9260 watchdog driver implemented in file at91sam9_wdt.c. The user application open the device file to enable the watchdog timer hardware, and close to disable it, and set the watchdog timer timeout by seting WDV and WDD fields of WDT_MR register, and ping the watchdog by issuing WDRSTT command to WDT_CR register with hard-coded key. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f8c33e9717150f7b8063d6d77a8ea90adad434e9 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:58 2015 +0200 watchdog: mpc8xxx: allow to compile for MPC512x The MPC5125 processor features a watchdog device that is identical to the MPC8610 one. So allow to enable the driver for MPC512x kernel configurations. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 72cd501e6a9b578cf99ae062477d9c7a938a3238 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:57 2015 +0200 watchdog: mpc8xxx: use better error code when watchdog cannot be enabled checkpatch warns about ENOSYS, telling "ENOSYS means 'invalid syscall nr' and nothing else". So use ENODEV instead. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 7997ebad4d747ff5561cb5ec0c7423e0d4e628d5 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:56 2015 +0200 watchdog: mpc8xxx: use dynamic memory for device specific data Instead of relying on global static memory dynamically allocate the needed data. This has the benefit of some saved bytes if the driver is not in use and making it possible to bind more than one device (even though this has no known use case). Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit de5f71222bd544558d81701454eb457b295de96e Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:55 2015 +0200 watchdog: mpc8xxx: use devm_ioremap_resource to map memory This simplifies the error paths and device unbinding. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f0ded83b96d27b27db0015e701cfd916330e3c50 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:54 2015 +0200 watchdog: mpc8xxx: make use of of_device_get_match_data This function is new in v4.2-rc1 and makes a forward declaration of the match table superfluous which can so be removed. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 50ffb53ef2311e4631086d27783b00db6859c60e Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:53 2015 +0200 watchdog: mpc8xxx: simplify registration Since commit ef90174f8210 ("watchdog: watchdog_core: Add watchdog registration deferral mechanism") there is no need to delay the call to watchdog_register_device any more. So simplify the registration code accordingly. Resetting wd_base to NULL can the also be dropped because nothing depends on it being NULL to signal probe failure any more. (The matching wd_base = NULL in .remove was missing, too.) Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit a57e06f7c6365f7d6e13f35933d3ef329205c1af Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:52 2015 +0200 watchdog: mpc8xxx: remove dead code Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 6cd8a1b9f71290d58099101e65e7e2279bcdb212 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Fri Aug 7 10:28:40 2015 -0700 watchdog: lpc18xx_wdt_get_timeleft() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit cfde37e1ec18dc68a52a1b882390c0f9c52b5f10 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 1 15:37:17 2015 -0300 DT: watchdog: Add NXP LPC18xx Watchdog Timer binding documentation Add the devicetree binding document for NXP LPC18xx Watchdog Timer. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 7c25f8c9f67708e6464d2221bc311cbd99e950dc Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 1 15:37:16 2015 -0300 watchdog: NXP LPC18xx Watchdog Timer Driver This commit adds support for the watchdog timer found in NXP LPC SoCs family, which includes LPC18xx/LPC43xx. Other SoCs in that family may share the same watchdog hardware. Watchdog driver registers a restart handler that will restart the system by performing an incorrect feed after ensuring the watchdog is enabled in reset mode. As watchdog cannot be disabled in hardware, driver's stop routine will regularly send a keepalive ping using a timer. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 4f2d0b2d1b31cbe704c8f94e74e46cb64187ab0c Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jul 31 09:21:36 2015 +0200 watchdog: gpio-wdt: ping already at startup for always running devices During probe for an always-running watchdog a timer is setup to constantly ping the watchdog while the device is not open. The gpio to ping the watchdog is setup to inactive. For a watchdog with hw_algo = "toggle" this results in a ping depending on the initial state of the gpio, for hw_algo = "level" no ping is generated. Make sure that the first automatic ping is sent immediately and not only when the timer expires the first time. This makes the machine survive in case more than half of the watchdog timeout is already elapsed. (Which is very probable for the chip I'm faced with that has a timeout of one second.) Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 0a0a542f6bbb2ebe956f0117c842302442ef52da Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 30 11:32:23 2015 +0200 watchdog: gpio-wdt: be more strict about hw_algo matching strncmp(algo, "toggle", 6) doesn't compare the trailing '\0' byte, so using hw_algo = "toggleboggle" is recognized the same way as hw_algo = "toggle" . While this doesn't introduce any problems for a device tree that sticks to the documented settings it's still ugly. Fix this by using strcmp to only match on "toggle" and "level". Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit ab54d7f017772e89964d4040937a83cd4468562a Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 11:39:39 2015 +0200 Documentation: watchdog: at91sam9_wdt: add clocks property The watchdog has an input clock, the slow clock. It is required as it will not function without it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 1d5d48523900a4b0f25d6b52f1a93c84bd671186 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Tue Sep 8 14:25:14 2015 +0100 xen-netback: require fewer guest Rx slots when not using GSO Commit f48da8b14d04ca87ffcffe68829afd45f926ec6a (xen-netback: fix unlimited guest Rx internal queue and carrier flapping) introduced a regression. The PV frontend in IPXE only places 4 requests on the guest Rx ring. Since netback required at least (MAX_SKB_FRAGS + 1) slots, IPXE could not receive any packets. a) If GSO is not enabled on the VIF, fewer guest Rx slots are required for the largest possible packet. Calculate the required slots based on the maximum GSO size or the MTU. This calculation of the number of required slots relies on 1650d5455bd2 (xen-netback: always fully coalesce guest Rx packets) which present in 4.0-rc1 and later. b) Reduce the Rx stall detection to checking for at least one available Rx request. This is fine since we're predominately concerned with detecting interfaces which are down and thus have zero available Rx requests. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa928ee8d4af1f70eee77a5ac77c084a0715eb9e Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Jul 29 09:45:36 2015 -0700 watchdog: booke_wdt: Use infrastructure to check timeout limits The watchdog infrastructure checks the maximum timeout for us. Use it. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 64307b48f79f35d28ed6b44e20b773bc00a0152e Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:03:30 2015 -0400 watchdog: (nv_tco) add support for MCP79 Tested on the Nvidia chipset with an SMBus controller PCI ID 0x0AA2 (as shown in the PCI listing during the boot sequence). Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 0919e4445190da18496d31aac08b90828a47d45f Author: Francesco Lavra <francescolavra.fl@xxxxxxxxx> Date: Sat Jul 25 08:25:18 2015 +0200 watchdog: sunxi: fix activation of system reset Commit f2147de33470 ("watchdog: sunxi: support parameterized compatible strings") introduced a regression in sunxi_wdt_start(), by which the system reset function of the watchdog is not enabled upon starting the watchdog. As a result, the system is not reset when the watchdog expires. Fix it. Fixes: f2147de33470 ("watchdog: sunxi: support parameterized compatible strings") Signed-off-by: Francesco Lavra <francescolavra.fl@xxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5724485b185a4ac4bb96149718ff736c5ef5c169 Author: Greta Zhang <greta.zhang@xxxxxxxxxxxx> Date: Fri Jul 24 15:28:46 2015 +0800 watchdog: mtk_wdt: add wdt shutdown callback to disable wdt if enabled Without .shutdown(), watchdog might reset the system during power off. For example, if watchdog's timeout is set to 30s, then it is reset to zero by mtk_wdt_ping(). During power off, no app will ping watchdog, but watchdog is still running and may trigger reset. Signed-off-by: Greta Zhang <greta.zhang@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Acked-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 9fab06920c9207aca8ff4e2416bb10cabc19294a Author: Greta Zhang <greta.zhang@xxxxxxxxxxxx> Date: Fri Jul 24 15:28:45 2015 +0800 watchdog: mtk_wdt: add suspend/resume support add mediatek watchdog driver suspend/resume support Signed-off-by: Greta Zhang <greta.zhang@xxxxxxxxxxxx> Signed-off-by: Roger Lu <roger.lu@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Acked-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 8a340dbbc4b10fe07a924e91979bfc93e966dd65 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 23 17:21:16 2015 -0300 watchdog: imgpdc: Unregister restart handler on remove Commit c631f20068 ("watchdog: imgpdc: Add reboot support") introduced a restart handler but forgot to unregister it on driver removal. Fix it. Fixes: c631f20068 ("watchdog: imgpdc: Add reboot support") Reported-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f15d7114bbdd594f1d8b644a44f647d2b6e9772e Author: Timur Tabi <timur@xxxxxxxxxxxxxx> Date: Mon Jun 29 11:46:17 2015 -0500 Documentation/watchdog: add timeout and ping rate control to watchdog-test.c The watchdog test program is much more useful if it can configure the timeout value and ping rate. This will allow you to test actual timeouts. Adds the -t parameter to set the timeout value (in seconds), and -p to set the ping rate (number of seconds between pings). Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 9b57ab8b58571ee57030210b74e2aabd1a18cff2 Merge: d43cefc 2a485cf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 9 12:29:26 2015 -0700 Merge branch 'cxgb4-fixes' Hariprasad Shenai says: ==================== cxgb4: Fix tx flit calculation and wc stat configuration This patch series fixes the following: Patch 1/2 fixes tx flit calculation, which if wrong can lead to stall, hang, data corrpution, write combining failure. Patch 2/2 fixes PCI-E write combining stats configuration. This patch series has been created against net tree and includes patches on cxgb4 driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a485cf7db2815ca0d1510143d9126c4475aab39 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 16:25:40 2015 +0530 cxgb4: Fix for write-combining stats configuration The write-combining configuration register SGE_STAT_CFG_A needs to be configured after FW initializes the adapter, else FW will reset the configuration Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd1754fb8afbd9cf4ea279d533414aa6577b7e60 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 16:25:39 2015 +0530 cxgb4: Fix tx flit calculation In commit 0aac3f56d4a63f04 ("cxgb4: Add comment for calculate tx flits and sge length code") introduced a regression where tx flit calculation is going wrong, which can lead to data corruption, hang, stall and write-combining failure. Fixing it. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d43cefcd68bbc9a67b2c0efe38eb9cf6b5170fe8 Author: Atsushi Nemoto <nemoto@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 18:15:41 2015 +0900 net: eth: altera: Fix the initial device operstate Call netif_carrier_off() prior to register_netdev(), otherwise userspace can see incorrect link state. Signed-off-by: Atsushi Nemoto <nemoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8889c4fc6ba03e289cec6a4d692f6f080a55e53 Merge: fac33bf 0de6cfb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 11:27:01 2015 -0700 Merge tag 'tty-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty driver reverts from Greg KH: "Here are some reverts for some tty patches (specifically the pl011 driver) that ended up breaking a bunch of machines (i.e. almost all of the ones with this chip). People are working on a fix for this, but in the meantime, it's best to just revert all 5 patches to restore people's serial consoles. These reverts have been in linux-next for many days now" * tag 'tty-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: Revert "uart: pl011: Rename regs with enumeration" Revert "uart: pl011: Introduce register accessor" Revert "uart: pl011: Introduce register look up table" Revert "uart: pl011: Improve LCRH register access decision" Revert "uart: pl011: Add support to ZTE ZX296702 uart" commit fac33bfdb0a54e149f8d1c2f002de5b57770b84c Merge: 82278fc 2ff46e6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 11:17:33 2015 -0700 Merge tag 'for-linus-20150909' of git://git.infradead.org/linux-mtd Pull more MTD updates from Brian Norris: "There was one significant bug in my first pull request, fixed here. I also threw in a few trivial ID additions and a small module rename. Details: - SPI NOR: bug fix for a "end of table" check that resulted in a NULL dereference in some cases - SPI NOR: a few new IDs / feature flags - OMAP2 NAND: rename module so it doesn't conflict with onenand omap2.ko" * tag 'for-linus-20150909' of git://git.infradead.org/linux-mtd: mtd: spi-nor: fix NULL dereference when no match found in spi_nor_ids[] mtd: spi-nor: s25sl064p supports both dual and quad I/O mtd: spi-nor: allow dual/quad reads on S25FL129P mtd: nand: omap2: Rename shippable module to omap2_nand mtd: spi-nor: Add support for sst25wf020a mtd: spi-nor: Add support for Micron n25q064a serial flash commit 82278fc079542a04e076da34546a7d6dc649b0cc Merge: bd2843f 7a59382 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:55:32 2015 -0700 Merge tag 'pwm/for-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm Pull pwm updates from Thierry Reding: "This set of changes introduces the beginnings of a new API that's based around the concept of states that can be atomically applied. Drivers go to various lengths to implement something similar, which indicates that the core should really be providing the necessary framework. On top of that, there is a bit of cleanup as well as improved kerneldoc and integration into the device-drivers DocBook. Regarding drivers there is a new one for the NXP LPC18xx family of SoCs and a couple of fixes for existing drivers (pca9685, Broadcom Kona and Atmel HLCDC)" * tag 'pwm/for-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: ARM: at91: pwm: atmel-hlcdc: Add at91sam9n12 errata pwm: Add NXP LPC18xx PWM/SCT DT binding documentation pwm: NXP LPC18xx PWM/SCT driver pwm-pca9685: Support changing the output frequency pwm-pca9685: Fix several driver bugs pwm: kona: Modify settings application sequence pwm: pca9685: Drop owner assignment pwm: Add to device-drivers documentation pwm: Clean up kerneldoc pwm: Remove useless whitespace pwm: sysfs: Remove unnecessary padding pwm: sysfs: Properly convert from enum to string pwm: Make use of pwm_get_xxx() helpers where appropriate pwm: Add pwm_get_polarity() helper function pwm: Constify PWM device where possible pwm: Add the pwm_is_enabled() helper commit bd2843fe1f29f6145c623ae9390f144cefaa611d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:16:39 2015 +0100 fix ufs write vs readpage race when writing into a hole Followup to the UFS series - with the way we clear the new blocks (via buffer cache, possibly on more than a page worth of file) we really should not insert a reference to new block into inode block tree until after we'd cleared it. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit daf0e1ed578f65e8395102549e135887e6661860 Merge: 065d80b 997e120 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:37:41 2015 -0700 Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost Pull virtio updates from Michael Tsirkin: "Virtio fixes and features for 4.3: - virtio-mmio can now be auto-loaded through acpi. - virtio blk supports extended partitions. - total memory is better reported when using virtio balloon with auto-deflate. - cache control is re-enabled when using virtio-blk in modern mode" * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: virtio_balloon: do not change memory amount visible via /proc/meminfo virtio_ballon: change stub of release_pages_by_pfn virtio-blk: Allow extended partitions virtio_mmio: add ACPI probing virtio-blk: use VIRTIO_BLK_F_WCE and VIRTIO_BLK_F_CONFIG_WCE in virtio1 commit 065d80b4bf314df143aa9f260a154a24e33b4fbe Merge: 949feac e7e98d7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:27:59 2015 -0700 Merge tag 'metag-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag Pull metag updates from James Hogan: "Metag architecture changes for v4.3. Just a couple of changes for v4.3-rc1. A preparatory IRQ patch to prepare for moving irq_data struct members, and a tweak to Documentation/features since Meta2 could support THP" * tag 'metag-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag: Documentation/features/vm: Meta2 is capable of THP metag/irq: Use access helper irq_data_get_affinity_mask() commit 949feacb8af3659037dd34ef177e9bc727627859 Merge: 384989b 08441d4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:07:32 2015 -0700 Merge tag 'nios2-v4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2 Pull nios2 updates from Ley Foon Tan: - add defconfig and device tree for max 10 support - migrate to new 'set-state' interface for timer - fix unaligned handler - MAINTAINERS: update nios2 git repo * tag 'nios2-v4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2: nios2: add Max10 defconfig nios2: Add Max10 device tree MAINTAINERS: update nios2 git repo nios2: remove unused statistic counters nios2: fixed variable imm16 to s16 nios2/time: Migrate to new 'set-state' interface commit 384989b58d45e5478d555cdb4ac79336a88a45cc Merge: d77e92e 5fb4e28 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 09:59:35 2015 -0700 Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 Pull cifs updates from Steve French: "Small cifs fix and a patch for improved debugging" * 'for-next' of git://git.samba.org/sfrench/cifs-2.6: cifs: Fix use-after-free on mid_q_entry Update cifs version number Add way to query server fs info for smb3 commit d77e92e270edd79a2218ce0ba5b6179ad0c93175 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Wed Sep 9 10:29:40 2015 -0600 dax: update PMD fault handler with PMEM API As part of the v4.3 merge window the DAX code was updated by Matthew and Kirill to handle PMD pages. Also as part of the v4.3 merge window we updated the DAX code to do proper PMEM flushing (commit 2765cfbb342c: "dax: update I/O path to do proper PMEM flushing"). The additional code added by the DAX PMD patches also needs to be updated to properly use the PMEM API. This ensures that after a PMD fault is handled the zeros written to the newly allocated pages are durable on the DIMMs. linux/dax.h is included to get rid of a bunch of sparse warnings. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>, Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Kirill Shutemov <kirill@xxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 02cc2ccfe771677db3cd40a71837e1467ebc839a Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Wed Apr 22 21:28:04 2015 -0400 Revert "Hexagon: fix signal.c compile error" This reverts commit f3f601c1d2728f02544cfd143eaa82e5398b3e9b. UAPI headers cannot use "uapi/" in their paths by design -- when they're installed, they do not have the uapi/ prefix. Otherwise doing so breaks userland badly. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Signed-off-by: Richard Kuo <rkuo@xxxxxxxxxxxxxx> commit 26d2177e977c912863ac04f6c1a967e793ca3a56 Merge: a794b4f d1178cb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 08:33:31 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma Pull inifiniband/rdma updates from Doug Ledford: "This is a fairly sizeable set of changes. I've put them through a decent amount of testing prior to sending the pull request due to that. There are still a few fixups that I know are coming, but I wanted to go ahead and get the big, sizable chunk into your hands sooner rather than waiting for those last few fixups. Of note is the fact that this creates what is intended to be a temporary area in the drivers/staging tree specifically for some cleanups and additions that are coming for the RDMA stack. We deprecated two drivers (ipath and amso1100) and are waiting to hear back if we can deprecate another one (ehca). We also put Intel's new hfi1 driver into this area because it needs to be refactored and a transfer library created out of the factored out code, and then it and the qib driver and the soft-roce driver should all be modified to use that library. I expect drivers/staging/rdma to be around for three or four kernel releases and then to go away as all of the work is completed and final deletions of deprecated drivers are done. Summary of changes for 4.3: - Create drivers/staging/rdma - Move amso1100 driver to staging/rdma and schedule for deletion - Move ipath driver to staging/rdma and schedule for deletion - Add hfi1 driver to staging/rdma and set TODO for move to regular tree - Initial support for namespaces to be used on RDMA devices - Add RoCE GID table handling to the RDMA core caching code - Infrastructure to support handling of devices with differing read and write scatter gather capabilities - Various iSER updates - Kill off unsafe usage of global mr registrations - Update SRP driver - Misc mlx4 driver updates - Support for the mr_alloc verb - Support for a netlink interface between kernel and user space cache daemon to speed path record queries and route resolution - Ininitial support for safe hot removal of verbs devices" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (136 commits) IB/ipoib: Suppress warning for send only join failures IB/ipoib: Clean up send-only multicast joins IB/srp: Fix possible protection fault IB/core: Move SM class defines from ib_mad.h to ib_smi.h IB/core: Remove unnecessary defines from ib_mad.h IB/hfi1: Add PSM2 user space header to header_install IB/hfi1: Add CSRs for CONFIG_SDMA_VERBOSITY mlx5: Fix incorrect wc pkey_index assignment for GSI messages IB/mlx5: avoid destroying a NULL mr in reg_user_mr error flow IB/uverbs: reject invalid or unknown opcodes IB/cxgb4: Fix if statement in pick_local_ip6adddrs IB/sa: Fix rdma netlink message flags IB/ucma: HW Device hot-removal support IB/mlx4_ib: Disassociate support IB/uverbs: Enable device removal when there are active user space applications IB/uverbs: Explicitly pass ib_dev to uverbs commands IB/uverbs: Fix race between ib_uverbs_open and remove_one IB/uverbs: Fix reference counting usage of event files IB/core: Make ib_dealloc_pd return void IB/srp: Create an insecure all physical rkey only if needed ... commit 7a5938201834a9c25155176d0f5942d48336b244 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Jul 31 18:51:20 2015 +0200 ARM: at91: pwm: atmel-hlcdc: Add at91sam9n12 errata The errata for HLCDC PWM of at91sam9n12 are the same as for at91sam9x5. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit b0dabcc6f8b7cb08d5c81ecbc642105d67a4c1d2 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 23:31:47 2015 -0300 pwm: Add NXP LPC18xx PWM/SCT DT binding documentation Add the devicetree binding document for NXP LPC18xx PWM/SCT. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 841e6f90bb789a1372087b22c39f3a9ef2e02758 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 23:31:46 2015 -0300 pwm: NXP LPC18xx PWM/SCT driver This commit adds support for NXP LPC18xx PWM/SCT. NXP LPC SoCs family, which includes LPC18xx/LPC43xx, provides a State Configurable Timer (SCT) which can be configured as a Pulse Width Modulator. Other SoCs in that family may share the same hardware. The PWM supports a total of 16 channels, but only 15 can be simultaneously requested. There's only one period, global to all the channels, thus PWM driver will refuse setting different values to it, unless there's only one channel requested. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> [thierry.reding@xxxxxxxxx: remove excessive padding of fields] Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit acd29f7b22262d9e848393b9b6ae13eb42d22514 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:17:13 2015 +0100 drm/i915: Limit the number of loops for reading a split 64bit register In I915_READ64_2x32 we attempt to read a 64bit register using 2 32bit reads. Due to the nature of the registers we try to read in this manner, they may increment between the two instruction (e.g. a timestamp counter). To keep the result accurate, we repeat the read if we detect an overflow (i.e. the upper value varies). However, some hardware is just plain flaky and may endless loop as the the upper 32bits are not stable. Just give up after a couple of tries and report whatever we read last. v2: Use the most recent values when erring out on an unstable register. Reported-by: russianneuromancer@xxxxx Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91906 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 438386853d4c0c48fe73bf05a7d61c70ca5a3bfb Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Sep 7 15:46:24 2015 +0800 ceph: improve readahead for file holes When readahead encounters file holes, osd reply returns error -ENOENT, finish_read() skips adding pages to the the page cache. So readahead does not work for file holes. The fix is adding zero pages to the page cache when -ENOENT is returned. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 55b0b31cbc09f80db384671e22cdc94b2aa26b29 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Sep 7 11:35:01 2015 +0800 ceph: get inode size for each append write Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit d15f9d694b77fe5e4ea12b3031ecaa13b5aa2b10 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Sep 2 11:37:09 2015 +0300 libceph: check data_len in ->alloc_msg() Only ->alloc_msg() should check data_len of the incoming message against the preallocated ceph_msg, doing it in the messenger is not right. The contract is that either ->alloc_msg() returns a ceph_msg which will fit all of the portions of the incoming message, or it returns NULL and possibly sets skip, signaling whether NULL is due to an -ENOMEM. ->alloc_msg() should be the only place where we make the skip/no-skip decision. I stumbled upon this while looking at con/osd ref counting. Right now, if we get a non-extent message with a larger data portion than we are prepared for, ->alloc_msg() returns a ceph_msg, and then, when we skip it in the messenger, we don't put the con/osd ref acquired in ceph_con_in_msg_alloc() (which is normally put in process_message()), so this also fixes a memory leak. An existing BUG_ON in ceph_msg_data_cursor_init() ensures we don't corrupt random memory should a buggy ->alloc_msg() return an unfit ceph_msg. While at it, I changed the "unknown tid" dout() to a pr_warn() to make sure all skips are seen and unified format strings. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 7845989cb4b3da1db903918c844fccb9817d34a0 Author: Kolmakov Dmitriy <kolmakov.dmitriy@xxxxxxxxxx> Date: Mon Sep 7 09:05:48 2015 +0000 net: tipc: fix stall during bclink wakeup procedure If an attempt to wake up users of broadcast link is made when there is no enough place in send queue than it may hang up inside the tipc_sk_rcv() function since the loop breaks only after the wake up queue becomes empty. This can lead to complete CPU stall with the following message generated by RCU: INFO: rcu_sched self-detected stall on CPU { 0} (t=2101 jiffies g=54225 c=54224 q=11465) Task dump for CPU 0: tpch R running task 0 39949 39948 0x0000000a ffffffff818536c0 ffff88181fa037a0 ffffffff8106a4be 0000000000000000 ffffffff818536c0 ffff88181fa037c0 ffffffff8106d8a8 ffff88181fa03800 0000000000000001 ffff88181fa037f0 ffffffff81094a50 ffff88181fa15680 Call Trace: <IRQ> [<ffffffff8106a4be>] sched_show_task+0xae/0x120 [<ffffffff8106d8a8>] dump_cpu_task+0x38/0x40 [<ffffffff81094a50>] rcu_dump_cpu_stacks+0x90/0xd0 [<ffffffff81097c3b>] rcu_check_callbacks+0x3eb/0x6e0 [<ffffffff8106e53f>] ? account_system_time+0x7f/0x170 [<ffffffff81099e64>] update_process_times+0x34/0x60 [<ffffffff810a84d1>] tick_sched_handle.isra.18+0x31/0x40 [<ffffffff810a851c>] tick_sched_timer+0x3c/0x70 [<ffffffff8109a43d>] __run_hrtimer.isra.34+0x3d/0xc0 [<ffffffff8109aa95>] hrtimer_interrupt+0xc5/0x1e0 [<ffffffff81030d52>] ? native_smp_send_reschedule+0x42/0x60 [<ffffffff81032f04>] local_apic_timer_interrupt+0x34/0x60 [<ffffffff810335bc>] smp_apic_timer_interrupt+0x3c/0x60 [<ffffffff8165a3fb>] apic_timer_interrupt+0x6b/0x70 [<ffffffff81659129>] ? _raw_spin_unlock_irqrestore+0x9/0x10 [<ffffffff8107eb9f>] __wake_up_sync_key+0x4f/0x60 [<ffffffffa313ddd1>] tipc_write_space+0x31/0x40 [tipc] [<ffffffffa313dadf>] filter_rcv+0x31f/0x520 [tipc] [<ffffffffa313d699>] ? tipc_sk_lookup+0xc9/0x110 [tipc] [<ffffffff81659259>] ? _raw_spin_lock_bh+0x19/0x30 [<ffffffffa314122c>] tipc_sk_rcv+0x2dc/0x3e0 [tipc] [<ffffffffa312e7ff>] tipc_bclink_wakeup_users+0x2f/0x40 [tipc] [<ffffffffa313ce26>] tipc_node_unlock+0x186/0x190 [tipc] [<ffffffff81597c1c>] ? kfree_skb+0x2c/0x40 [<ffffffffa313475c>] tipc_rcv+0x2ac/0x8c0 [tipc] [<ffffffffa312ff58>] tipc_l2_rcv_msg+0x38/0x50 [tipc] [<ffffffff815a76d3>] __netif_receive_skb_core+0x5a3/0x950 [<ffffffff815a98d3>] __netif_receive_skb+0x13/0x60 [<ffffffff815a993e>] netif_receive_skb_internal+0x1e/0x90 [<ffffffff815aa138>] napi_gro_receive+0x78/0xa0 [<ffffffffa07f93f4>] tg3_poll_work+0xc54/0xf40 [tg3] [<ffffffff81597c8c>] ? consume_skb+0x2c/0x40 [<ffffffffa07f9721>] tg3_poll_msix+0x41/0x160 [tg3] [<ffffffff815ab0f2>] net_rx_action+0xe2/0x290 [<ffffffff8104b92a>] __do_softirq+0xda/0x1f0 [<ffffffff8104bc26>] irq_exit+0x76/0xa0 [<ffffffff81004355>] do_IRQ+0x55/0xf0 [<ffffffff8165a12b>] common_interrupt+0x6b/0x6b <EOI> The issue occurs only when tipc_sk_rcv() is used to wake up postponed senders: tipc_bclink_wakeup_users() // wakeupq - is a queue which consists of special // messages with SOCK_WAKEUP type. tipc_sk_rcv(wakeupq) ... while (skb_queue_len(inputq)) { filter_rcv(skb) // Here the type of message is checked // and if it is SOCK_WAKEUP then // it tries to wake up a sender. tipc_write_space(sk) wake_up_interruptible_sync_poll() } After the sender thread is woke up it can gather control and perform an attempt to send a message. But if there is no enough place in send queue it will call link_schedule_user() function which puts a message of type SOCK_WAKEUP to the wakeup queue and put the sender to sleep. Thus the size of the queue actually is not changed and the while() loop never exits. The approach I proposed is to wake up only senders for which there is enough place in send queue so the described issue can't occur. Moreover the same approach is already used to wake up senders on unicast links. I have got into the issue on our product code but to reproduce the issue I changed a benchmark test application (from tipcutils/demos/benchmark) to perform the following scenario: 1. Run 64 instances of test application (nodes). It can be done on the one physical machine. 2. Each application connects to all other using TIPC sockets in RDM mode. 3. When setup is done all nodes start simultaneously send broadcast messages. 4. Everything hangs up. The issue is reproducible only when a congestion on broadcast link occurs. For example, when there are only 8 nodes it works fine since congestion doesn't occur. Send queue limit is 40 in my case (I use a critical importance level) and when 64 nodes send a message at the same moment a congestion occurs every time. Signed-off-by: Dmitry S Kolmakov <kolmakov.dmitriy@xxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b9018738e43c7c7693632174c69fde83b8edc07 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Sep 7 03:15:20 2015 +0000 dm9000: fix a typo Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a577f013d6745c800a11a2911ddc9a3214e7f09 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 21:49:41 2015 -0400 net: bridge: remove unnecessary switchdev include Remove the unnecessary switchdev.h include from br_netlink.c. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf361ad38165939049a2649b1a0078f3268d4bd1 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 21:27:57 2015 -0400 net: bridge: check __vlan_vid_del for error Since __vlan_del can return an error code, change its inner function __vlan_vid_del to return an eventual error from switchdev_port_obj_del. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39797a279d62972cd914ef580fdfacb13e508bf8 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Sat Sep 5 13:07:27 2015 -0700 net: dsa: bcm_sf2: Fix ageing conditions and operation The comparison check between cur_hw_state and hw_state is currently invalid because cur_hw_state is right shifted by G_MISTP_SHIFT, while hw_state is not, so we end-up comparing bits 2:0 with bits 7:5, which is going to cause an additional aging to occur. Fix this by not shifting cur_hw_state while reading it, but instead, mask the value with the appropriately shitfted bitmask. The other problem with the fast-ageing process is that we did not set the EN_AGE_DYNAMIC bit to request the ageing to occur for dynamically learned MAC addresses. Finally, write back 0 to the FAST_AGE_CTRL register to avoid leaving spurious bits sets from one operation to the other. Fixes: 12f460f23423 ("net: dsa: bcm_sf2: add HW bridging support") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a794b4f3292160bb3fd0f1f90ec8df454e3b17b3 Merge: f6f7a63 bf2d087 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 18:19:17 2015 -0700 Merge tag 'for-linus-4.3' of git://git.code.sf.net/p/openipmi/linux-ipmi Pull IPMI updates from Corey Minyard: "Most of these have been sitting in linux-next for more than a release, particularly commit 0fbcf4af7c83 ("ipmi: Convert the IPMI SI ACPI handling to a platform device") which is probably the most complex patch. That is also the one that changes drivers/acpi/acpi_pnp.c. The change in that file is only removing IPMI from a "special platform devices" list, since I convert it to the standard PNP interface. I posted this one to the ACPI list twice and got no response, and it seems to work well in my testing, so I'm hoping it's good. Hidehiro Kawai posted a set of changes that improves the panic time handling in the IPMI driver. The rest of the changes are minor bug fixes or cleanups and some documentation" * tag 'for-linus-4.3' of git://git.code.sf.net/p/openipmi/linux-ipmi: ipmi:ssif: Add a module parm to specify that SMBus alerts don't work ipmi: add of_device_id in MODULE_DEVICE_TABLE ipmi: Compensate for BMCs that wont set the irq enable bit ipmi: Don't call receive handler in the panic context ipmi: Avoid touching possible corrupted lists in the panic context ipmi: Don't flush messages in sender() in run-to-completion mode ipmi: Factor out message flushing procedure ipmi: Remove unneeded set_run_to_completion call ipmi: Make some data const that was only read ipmi: constify SSIF ACPI device ids ipmi: Delete an unnecessary check before the function call "cleanup_one_si" char:ipmi - Change 1 to true for bool type variables during initialization. impi:Remove unneeded setting of module owner to THIS_MODULE in the platform structure, powernv_ipmi_driver ipmi: Add a comment in how messages are delivered from the lower layer ipmi/powernv: Fix potential invalid pointer dereference ipmi: Convert the IPMI SI ACPI handling to a platform device ipmi: Add device tree bindings information commit f6f7a6369203fa3e07efb7f35cfd81efe9f25b07 Merge: 839fe91 df69f52 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 17:52:23 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge second patch-bomb from Andrew Morton: "Almost all of the rest of MM. There was an unusually large amount of MM material this time" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (141 commits) zpool: remove no-op module init/exit mm: zbud: constify the zbud_ops mm: zpool: constify the zpool_ops mm: swap: zswap: maybe_preload & refactoring zram: unify error reporting zsmalloc: remove null check from destroy_handle_cache() zsmalloc: do not take class lock in zs_shrinker_count() zsmalloc: use class->pages_per_zspage zsmalloc: consider ZS_ALMOST_FULL as migrate source zsmalloc: partial page ordering within a fullness_list zsmalloc: use shrinker to trigger auto-compaction zsmalloc: account the number of compacted pages zsmalloc/zram: introduce zs_pool_stats api zsmalloc: cosmetic compaction code adjustments zsmalloc: introduce zs_can_compact() function zsmalloc: always keep per-class stats zsmalloc: drop unused variable `nr_to_migrate' mm/memblock.c: fix comment in __next_mem_range() mm/page_alloc.c: fix type information of memoryless node memory-hotplug: fix comments in zone_spanned_pages_in_node() and zone_spanned_pages_in_node() ... commit 839fe9156fbe89c3157aa6146d22090f8cffddd8 Merge: 54283ae 6dc0dcd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 17:45:05 2015 -0700 Merge branch 'parisc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc updates from Helge Deller: "The most important changes in this patchset are: - re-enable 64bit PCI bus addresses which were temporarily disabled for PA-RISC in kernel 4.2 - fix the 64bit CAS operation in the LWS path which now enables us to enable the 64bit gcc atomic builtins even on 32bit userspace with 64bit kernel - fix a long-standing bug which sometimes crashed kernel at bootup while serial interrupt wasn't registered yet" * 'parisc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Use platform_device_register_simple("rtc-generic") parisc: Drop CONFIG_SMP around update_cr16_clocksource() parisc: Use double word condition in 64bit CAS operation parisc: Filter out spurious interrupts in PA-RISC irq handler parisc: Additionally check for in_atomic() in page fault handler PCI,parisc: Enable 64-bit bus addresses on PA-RISC parisc: Define ioremap_uc and ioremap_wc commit 54283aed90c3cf353e2c01a1d1ca853f5eedf92a Merge: 9a9952b 7eba7d9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 17:39:10 2015 -0700 Merge tag 'linux-kselftest-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest update from Shuah Khan: "This update adds new zram test and fixes to problems found during testing this new zram test. In addition, there are a few bug fixes and ksefltest improvement patches from Linaro developers. I will send another update later on this week to fix kselftest breakage due to commit 2bf9e0ab08c6 ("locking/static_keys: Provide a selftest") after the fix soaks in next for a couple of days" * tag 'linux-kselftest-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests/zram: Makefile fix selftests/zram: must be run as root selftests: breakpoints: fix installing error on the architecture except x86 selftests: check before install selftests/zram: Adding zram tests commit 953ba9ff77f3d08635712eaeffb218d46889b58a Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Sep 8 18:41:03 2015 +0200 cpufreq-dt: add suspend frequency support Add suspend frequency support and if needed set it to the frequency obtained from the suspend opp (can be defined using opp-v2 bindings and is optional). Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 201f3716575781b83259ed026845a213c2355035 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Sep 8 18:41:02 2015 +0200 cpufreq: allow cpufreq_generic_suspend() to work without suspend frequency Some cpufreq drivers may set suspend frequency only for selected setups but still would like to use the generic suspend handler. Thus don't treat !policy->suspend_freq condition as an incorrect one. Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9a9952bbd76a13fc2c95c28f09ba1801a3664929 Merge: e81b594 4ad7956 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 17:22:35 2015 -0700 Merge tag 'iommu-updates-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull iommu updates for from Joerg Roedel: "This time the IOMMU updates are mostly cleanups or fixes. No big new features or drivers this time. In particular the changes include: - Bigger cleanup of the Domain<->IOMMU data structures and the code that manages them in the Intel VT-d driver. This makes the code easier to understand and maintain, and also easier to keep the data structures in sync. It is also a preparation step to make use of default domains from the IOMMU core in the Intel VT-d driver. - Fixes for a couple of DMA-API misuses in ARM IOMMU drivers, namely in the ARM and Tegra SMMU drivers. - Fix for a potential buffer overflow in the OMAP iommu driver's debug code - A couple of smaller fixes and cleanups in various drivers - One small new feature: Report domain-id usage in the Intel VT-d driver to easier detect bugs where these are leaked" * tag 'iommu-updates-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (83 commits) iommu/vt-d: Really use upper context table when necessary x86/vt-d: Fix documentation of DRHD iommu/fsl: Really fix init section(s) content iommu/io-pgtable-arm: Unmap and free table when overwriting with block iommu/io-pgtable-arm: Move init-fn declarations to io-pgtable.h iommu/msm: Use BUG_ON instead of if () BUG() iommu/vt-d: Access iomem correctly iommu/vt-d: Make two functions static iommu/vt-d: Use BUG_ON instead of if () BUG() iommu/vt-d: Return false instead of 0 in irq_remapping_cap() iommu/amd: Use BUG_ON instead of if () BUG() iommu/amd: Make a symbol static iommu/amd: Simplify allocation in irq_remapping_alloc() iommu/tegra-smmu: Parameterize number of TLB lines iommu/tegra-smmu: Factor out tegra_smmu_set_pde() iommu/tegra-smmu: Extract tegra_smmu_pte_get_use() iommu/tegra-smmu: Use __GFP_ZERO to allocate zeroed pages iommu/tegra-smmu: Remove PageReserved manipulation iommu/tegra-smmu: Convert to use DMA API iommu/tegra-smmu: smmu_flush_ptc() wants device addresses ... commit d9df93ec8eb751f96c8070f104fa2a588b5ad345 Merge: 63431f7 4eafbd1 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Sep 9 02:21:06 2015 +0200 Merge branch 'pm-opp' into pm-cpufreq commit 4eafbd15b6c84cd3f6c76022c8a6c27f7cc076e1 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Sep 8 18:41:01 2015 +0200 PM / OPP: add dev_pm_opp_get_suspend_opp() helper Add dev_pm_opp_get_suspend_opp() helper to obtain suspend opp. Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f33b77408a91d4427374010897b90af678dc47be Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 8 19:06:03 2015 +0200 staging: board: Migrate away from __pm_genpd_name_add_device() The named genpd APIs are deprecated. Hence convert the board staging code from using genpd names to DT node paths. For now this supports PM domains with "#power-domain-cells = <0>" only. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e81b594cdae73f341ea13bc9fb2b57a5b739c1a3 Merge: fa81558 072502a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 16:48:55 2015 -0700 Merge tag 'regmap-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap Pull regmap updates from Mark Brown: "This has been a busy release for regmap. By far the biggest set of changes here are those from Markus Pargmann which implement support for block transfers in smbus devices. This required quite a bit of refactoring but leaves us better able to handle odd restrictions that controllers may have and with better performance on smbus. Other new features include: - Fix interactions with lockdep for nested regmaps (eg, when a device using regmap is connected to a bus where the bus controller has a separate regmap). Lockdep's default class identification is too crude to work without help. - Support for must write bitfield operations, useful for operations which require writing a bit to trigger them from Kuniori Morimoto. - Support for delaying during register patch application from Nariman Poushin. - Support for overriding cache state via the debugfs implementation from Richard Fitzgerald" * tag 'regmap-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (25 commits) regmap: fix a NULL pointer dereference in __regmap_init regmap: Support bulk reads for devices without raw formatting regmap-i2c: Add smbus i2c block support regmap: Add raw_write/read checks for max_raw_write/read sizes regmap: regmap max_raw_read/write getter functions regmap: Introduce max_raw_read/write for regmap_bulk_read/write regmap: Add missing comments about struct regmap_bus regmap: No multi_write support if bus->write does not exist regmap: Split use_single_rw internally into use_single_read/write regmap: Fix regmap_bulk_write for bus writes regmap: regmap_raw_read return error on !bus->read regulator: core: Print at debug level on debugfs creation failure regmap: Fix regmap_can_raw_write check regmap: fix typos in regmap.c regmap: Fix integertypes for register address and value regmap: Move documentation to regmap.h regmap: Use different lockdep class for each regmap init call thermal: sti: Add parentheses around bridge->ops->regmap_init call mfd: vexpress: Add parentheses around bridge->ops->regmap_init call regmap: debugfs: Fix misuse of IS_ENABLED ... commit d70e22d5bcf700a53881acad71a6c669be6eec93 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:19 2015 +0530 hexagon/time: Migrate to new 'set-state' interface Migrate hexagon driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: linux-hexagon@xxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Richard Kuo <rkuo@xxxxxxxxxxxxxx> commit fa815580fb87d1b8c218f9eba8122b2fc3f1a68c Merge: 85579ad 57817e6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 16:42:55 2015 -0700 Merge tag 'fbdev-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev updates from Tomi Valkeinen: "Minor fixes and cleanups" * tag 'fbdev-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: video: fbdev: atmel_lcdfb: remove useless include video: fbdev: pxa168fb: Use devm_clk_get fbdev: ssd1307fb: fix error return code fbdev: fix snprintf() limit in show_bl_curve() video: fbdev: s3c-fb: Constify platform_device_id video: fbdev: atmel: fix warning for const return value video: fbdev: Drop owner assignment from platform_driver video: fbdev: Drop owner assignment from i2c_driver fbdev: remove unnecessary memset in vfb framebuffer: disable vgacon on microblaze arch fbdev: udlfb: remove unneeded initialization in few places fbdev: Allow compile test of GPIO consumers if !GPIOLIB fbdev: fix cea_modes array size commit 12f0721c5a70408e86257c5c99605cf743cd44c6 Author: Aristeu Rozanski <aris@xxxxxxxxxx> Date: Fri Jun 12 15:08:17 2015 -0400 sb_edac: correctly fetch DIMM width on Ivy Bridge and Haswell dimm_dev_type has been incorrectly determined in sb_edac. This patch fixes it for Ivy Bridge and Haswell only since nothing like exists for Sandy Bridge. We tested this patch in multiple systems matching the results with the installed memory modules. Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Aristeu Rozanski <aris@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 85579ad7f1dfc0b72bb243b7227bc4f663035e71 Merge: 3af6e98 092b6db Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 16:33:16 2015 -0700 Merge tag 'mmc-v4.3' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC updates from Ulf Hansson: "MMC core: - Fix a race condition in the request handling - Skip trim commands for some buggy kingston eMMCs - An optimization and a correction for erase groups - Set CMD23 quirk for some Sandisk cards MMC host: - sdhci: Give GPIO CD higher precedence and don't poll when it's used - sdhci: Fix DMA memory leakage - sdhci: Some updates for clock management - sdhci-of-at91: introduce driver for the Atmel SDMMC - sdhci-of-arasan: Add support for sdhci-5.1 - sdhci-esdhc-imx: Add support for imx7d which also supports HS400 - sdhci: A collection of fixes and improvements for various sdhci hosts - omap_hsmmc: Modernization of the regulator code - dw_mmc: A couple of fixes for DMA and PIO mode - usdhi6rol0: A few fixes and support probe deferral for regulators - pxamci: Convert to use dmaengine - sh_mmcif: Fix the suspend process in a short term solution - tmio: Adjust timeout for commands - sunxi: Fix timeout while gating/ungating clock" * tag 'mmc-v4.3' of git://git.linaro.org/people/ulf.hansson/mmc: (67 commits) mmc: android-goldfish: remove incorrect __iomem annotation mmc: core: fix race condition in mmc_wait_data_done mmc: host: omap_hsmmc: remove CONFIG_REGULATOR check mmc: host: omap_hsmmc: use ios->vdd for setting vmmc voltage mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias status mmc: host: omap_hsmmc: enable/disable vmmc_aux regulator based on previous state mmc: host: omap_hsmmc: don't use ->set_power to set initial regulator state mmc: host: omap_hsmmc: avoid pbias regulator enable on power off mmc: host: omap_hsmmc: add separate function to set pbias mmc: host: omap_hsmmc: add separate functions for enable/disable supply mmc: host: omap_hsmmc: return error if any of the regulator APIs fail mmc: host: omap_hsmmc: remove unnecessary pbias set_voltage mmc: host: omap_hsmmc: use mmc_host's vmmc and vqmmc mmc: host: omap_hsmmc: use the ocrmask provided by the vmmc regulator mmc: host: omap_hsmmc: cleanup omap_hsmmc_reg_get() mmc: host: omap_hsmmc: return on fatal errors from omap_hsmmc_reg_get mmc: host: omap_hsmmc: use devm_regulator_get_optional() for vmmc mmc: sdhci-of-at91: fix platform_no_drv_owner.cocci warnings mmc: sh_mmcif: Fix suspend process mmc: usdhi6rol0: fix error return code ... commit 7179385afef252cd3f52c0a06cc0c405ae6d66bc Author: Aristeu Rozanski <aris@xxxxxxxxxx> Date: Fri Jun 12 09:44:52 2015 -0400 sb_edac: look harder for DDRIO on Haswell systems In case the memory banks are populated so the first channel isn't used, the DDRIO PCI device won't be visible and it won't be possible to determine the memory type. Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Aristeu Rozanski <aris@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3af6e98f25d1f68b9c36beee330342944a4e0048 Merge: acceba5 628b3198 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 16:26:18 2015 -0700 Merge tag 'platform-drivers-x86-v4.3-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull x86 platform driver updates from Darren Hart: "Significant work on toshiba_acpi, including new hardware support, refactoring, and cleanups. Extend device support for asus, ideapad, and acer systems. New surface pro 3 buttons driver. Misc minor cleanups for thinkpad and hp-wireless. acer-wmi: - No rfkill on HP Omen 15 wifi thinkpad_acpi: - Remove side effects from vdbg_printk -> no_printk macro surface pro 3: - Add support driver for Surface Pro 3 buttons hp-wireless: - remove unneeded goto/label in hpwl_init ideapad-laptop: - add alternative representation for Yoga 2 to DMI table - Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list asus-laptop: - Add key found on Asus F3M MAINTAINERS: - Remove Toshiba Linux mailing list address toshiba_acpi: - Bump driver version to 0.23 - Remove unnecessary checks and returns in HCI/SCI functions - Refactor *{get, set} functions return value - Remove "*not supported" feature prints - Change *available functions return type - Add set_fan_status function - Change some variables to avoid warnings from ninja-check - Reorder toshiba_acpi_alt_keymap entries - Remove unused wireless defines - Transflective backlight updates - Avoid registering input device on WMI event laptops - Add /dev/toshiba_acpi device - Adapt /proc/acpi/toshiba/keys to TOS1900 devices" * tag 'platform-drivers-x86-v4.3-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (21 commits) acer-wmi: No rfkill on HP Omen 15 wifi thinkpad_acpi: Remove side effects from vdbg_printk -> no_printk macro surface pro 3: Add support driver for Surface Pro 3 buttons hp-wireless: remove unneeded goto/label in hpwl_init ideapad-laptop: add alternative representation for Yoga 2 to DMI table asus-laptop: Add key found on Asus F3M MAINTAINERS: Remove Toshiba Linux mailing list address ideapad-laptop: Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list toshiba_acpi: Bump driver version to 0.23 toshiba_acpi: Remove unnecessary checks and returns in HCI/SCI functions toshiba_acpi: Refactor *{get, set} functions return value toshiba_acpi: Remove "*not supported" feature prints toshiba_acpi: Change *available functions return type toshiba_acpi: Add set_fan_status function toshiba_acpi: Change some variables to avoid warnings from ninja-check toshiba_acpi: Reorder toshiba_acpi_alt_keymap entries toshiba_acpi: Remove unused wireless defines toshiba_acpi: Transflective backlight updates toshiba_acpi: Avoid registering input device on WMI event laptops toshiba_acpi: Add /dev/toshiba_acpi device ... commit acceba598eda9817bc187f3a683a2d2ee7e7fbc7 Merge: c191761 5a73882 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 16:16:26 2015 -0700 Merge branch 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c updates from Wolfram Sang: "Features: - new drivers: Renesas EMEV2, register based MUX, NXP LPC2xxx - core: scans DT and assigns wakeup interrupts. no driver changes needed. - core: some refcouting issues fixed and better API for that - core: new helper function for best effort block read emulation - slave framework: proper DT bindings and userspace instantiation - some bigger work for xiic, pxa, omap drivers .. and quite a number of smaller driver fixes, cleanups, improvements" * 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (65 commits) i2c: mux: reg Change ioread endianness for readback i2c: mux: reg: fix compilation warnings i2c: mux: reg: simplify register size checking i2c: muxes: fix leaked i2c adapter device node references i2c: allow specifying separate wakeup interrupt in device tree of/irq: export of_get_irq_byname() i2c: xgene-slimpro: dma_mapping_error() doesn't return an error code i2c: Replace I2C_CROS_EC_TUNNEL dependency eeprom: at24: use i2c_smbus_read_i2c_block_data_or_emulated i2c: core: Add support for best effort block read emulation i2c: lpc2k: add driver i2c: mux: Add register-based mux i2c-mux-reg i2c: dt: describe generic bindings i2c: slave: print warning if slave flag not set i2c: support 10 bit and slave addresses in sysfs 'new_device' i2c: take address space into account when checking for used addresses i2c: apply DT flags when probing i2c: make address check indpendent from client struct i2c: rename address check functions i2c: apply address offset for slaves, too ... commit c19176154b464c861e49355eff636aa6896735b5 Merge: 12f03ee 5f1b2f7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 15:46:31 2015 -0700 Merge tag 'rtc-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux Pull RTC updates from Alexandre Belloni: "Core: - use is_visible() to control sysfs attributes - switch wakealarm attribute to DEVICE_ATTR_RW - make rtc_does_wakealarm() return boolean - properly manage lifetime of dev and cdev in rtc device - remove unnecessary device_get() in rtc_device_unregister - fix double free in rtc_register_device() error path New drivers: - NXP LPC24xx - Xilinx Zynq MP - Dialog DA9062 Subsystem wide cleanups: - fix drivers that consider 0 as a valid IRQ in client->irq - Drop (un)likely before IS_ERR(_OR_NULL) - drop the remaining owner assignment for i2c_driver and platform_driver - module autoload fixes Drivers: - 88pm80x: add device tree support - abx80x: fix RTC write bit - ab8500: Add a sentinel to ab85xx_rtc_ids[] - armada38x: Align RTC set time procedure with the official errata - as3722: correct month value - at91sam9: cleanups - at91rm9200: get and use slow clock and cleanups - bq32k: remove redundant check - cmos: century support, proper fix for the spurious wakeup - ds1307: cleanups and wakeup irq support - ds1374: Remove unused variable - ds1685: Use module_platform_driver - ds3232: fix WARNING trace in resume function - gemini: fix ptr_ret.cocci warnings - mt6397: implement suspend/resume - omap: support internal and external clock enabling - opal: Enable alarms only when opal supports tpo - pcf2127: use OFS flag to detect unreliable date and warn the user - pl031: fix typo for author email - rx8025: huge cleanup and fixes - sa1100/pxa: share common code - s5m: fix to update ctrl register - s3c: fix clocks and wakeup, cleanup - sirfsoc: use regmap - nvram_read()/nvram_write() functions for cmos, ds1305, ds1307, ds1343, ds1511, ds1553, ds1742, m48t59, rp5c01, stk17ta8, tx4939 - use rtc_valid_tm() error code when reading date/time instead of 0 for isl12022, pcf2123, pcf2127" * tag 'rtc-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (90 commits) rtc: abx80x: fix RTC write bit rtc: ab8500: Add a sentinel to ab85xx_rtc_ids[] rtc: ds1374: Remove unused variable rtc: Fix module autoload for OF platform drivers rtc: Fix module autoload for rtc-{ab8500,max8997,s5m} drivers rtc: omap: Add external clock enabling support rtc: omap: Add internal clock enabling support ARM: dts: AM437x: Add the internal and external clock nodes for rtc rtc: s5m: fix to update ctrl register rtc: add xilinx zynqmp rtc driver devicetree: bindings: rtc: add bindings for xilinx zynqmp rtc rtc: as3722: correct month value ARM: config: Switch PXA27x platforms to use PXA RTC driver ARM: mmp: remove unused RTC register definitions ARM: sa1100: remove unused RTC register definitions rtc: sa1100/pxa: convert to run-time register mapping ARM: pxa: add memory resource to SA1100 RTC device rtc: pxa: convert to use shared sa1100 functions rtc: sa1100: prepare to share sa1100_rtc_ops rtc: ds3232: fix WARNING trace in resume function ... commit df69f52d990bd85159727bd26e819d3a6e49c666 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Tue Sep 8 15:05:09 2015 -0700 zpool: remove no-op module init/exit Remove zpool_init() and zpool_exit(); they do nothing other than print "loaded" and "unloaded". Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c83db4f419e7105af38cdcca80cc51213214a2c8 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 8 15:05:06 2015 -0700 mm: zbud: constify the zbud_ops The structure zbud_ops is not modified so make the pointer to it a pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 786727799a85aeabc20cab5ecfb72771bcbd6b85 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 8 15:05:03 2015 -0700 mm: zpool: constify the zpool_ops The structure zpool_ops is not modified so make the pointer to it a pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5b999aadbae65696a148f55250d94b6f3d74071e Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 8 15:05:00 2015 -0700 mm: swap: zswap: maybe_preload & refactoring zswap_get_swap_cache_page and read_swap_cache_async have pretty much the same code with only significant difference in return value and usage of swap_readpage. I a helper __read_swap_cache_async() with the common code. Behavior change: now zswap_get_swap_cache_page will use radix_tree_maybe_preload instead radix_tree_preload. Looks like, this wasn't changed only by the reason of code duplication. Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 708649694a8699ff91d395c4aef5ecea3ade14bc Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:58 2015 -0700 zram: unify error reporting Make zram syslog error reporting more consistent. We have random error levels in some places. For example, critical errors like "Error allocating memory for compressed page" and "Unable to allocate temp memory" are reported as KERN_INFO messages. a) Reassign error levels Error messages that directly affect zram functionality -- pr_err(): Error allocating zram address table Error creating memory pool Decompression failed! err=%d, page=%u Unable to allocate temp memory Compression failed! err=%d Error allocating memory for compressed page: %u, size=%zu Cannot initialise %s compressing backend Error allocating disk queue for device %d Error allocating disk structure for device %d Error creating sysfs group for device %d Unable to register zram-control class Unable to get major number Messages that do not affect functionality, but user must be warned (because sysfs attrs will be removed in this particular case) -- pr_warn(): %d (%s) Attribute %s (and others) will be removed. %s Messages that do not affect functionality and mostly are informative -- pr_info(): Cannot change max compression streams Can't change algorithm for initialized device Cannot change disksize for initialized device Added device: %s Removed device: %s b) Update sysfs_create_group() error message First, it lacks a trailing new line; add it. Second, every error message in zram_add() has a "for device %d" part, which makes errors more informative. Add missing part to "Error creating sysfs group" message. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd10add00c1b31cd664a31108a9b395025def50a Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:55 2015 -0700 zsmalloc: remove null check from destroy_handle_cache() We can pass a NULL cache pointer to kmem_cache_destroy(), because it NULL-checks its argument now. Remove redundant test from destroy_handle_cache(). Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b3e237f1f5a86030c875e186ff19640f4f4f3c63 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:52 2015 -0700 zsmalloc: do not take class lock in zs_shrinker_count() We can avoid taking class ->lock around zs_can_compact() in zs_shrinker_count(), because the number that we return back is outdated in general case, by design. We have different sources that are able to change class's state right after we return from zs_can_compact() -- ongoing I/O operations, manually triggered compaction, or two of them happening simultaneously. We re-do this calculations during compaction on a per class basis anyway. zs_unregister_shrinker() will not return until we have an active shrinker, so classes won't unexpectedly disappear while zs_shrinker_count() iterates them. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6cbf16b3b66a61b9c6df8f2ed4ac346cb427f28a Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Tue Sep 8 15:04:49 2015 -0700 zsmalloc: use class->pages_per_zspage There is no need to recalcurate pages_per_zspage in runtime. Just use class->pages_per_zspage to avoid unnecessary runtime overhead. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad9d5e175a77a253f52a7259a7c918b8351d99f1 Author: Minchan Kim <minchan.kim@xxxxxxx> Date: Tue Sep 8 15:04:47 2015 -0700 zsmalloc: consider ZS_ALMOST_FULL as migrate source There is no reason to prevent select ZS_ALMOST_FULL as migration source if we cannot find source from ZS_ALMOST_EMPTY. With this patch, zs_can_compact will return more exact result. Signed-off-by: Minchan Kim <minchan.kim@xxxxxxx> Acked-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58f171174625150f3aaad0cddd3e365270b8e1b8 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:44 2015 -0700 zsmalloc: partial page ordering within a fullness_list We want to see more ZS_FULL pages and less ZS_ALMOST_{FULL, EMPTY} pages. Put a page with higher ->inuse count first within its ->fullness_list, which will give us better chances to fill up this page with new objects (find_get_zspage() return ->fullness_list head for new object allocation), so some zspages will become ZS_ALMOST_FULL/ZS_FULL quicker. It performs a trivial and cheap ->inuse compare which does not slow down zsmalloc and in the worst case keeps the list pages in no particular order. A more expensive solution could sort fullness_list by ->inuse count. [minchan@xxxxxxxxxx: code adjustments] Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ab9d306d9c3bf64b1dbad127aa13252cc550f839 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:41 2015 -0700 zsmalloc: use shrinker to trigger auto-compaction Perform automatic pool compaction by a shrinker when system is getting tight on memory. User-space has a very little knowledge regarding zsmalloc fragmentation and basically has no mechanism to tell whether compaction will result in any memory gain. Another issue is that user space is not always aware of the fact that system is getting tight on memory. Which leads to very uncomfortable scenarios when user space may start issuing compaction 'randomly' or from crontab (for example). Fragmentation is not always necessarily bad, allocated and unused objects, after all, may be filled with the data later, w/o the need of allocating a new zspage. On the other hand, we obviously don't want to waste memory when the system needs it. Compaction now has a relatively quick pool scan so we are able to estimate the number of pages that will be freed easily, which makes it possible to call this function from a shrinker->count_objects() callback. We also abort compaction as soon as we detect that we can't free any pages any more, preventing wasteful objects migrations. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Suggested-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 860c707dca155a56dfa115ddd6c00959296144a6 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:38 2015 -0700 zsmalloc: account the number of compacted pages Compaction returns back to zram the number of migrated objects, which is quite uninformative -- we have objects of different sizes so user space cannot obtain any valuable data from that number. Change compaction to operate in terms of pages and return back to compaction issuer the number of pages that were freed during compaction. So from now on we will export more meaningful value in zram<id>/mm_stat -- the number of freed (compacted) pages. This requires: (a) a rename of `num_migrated' to 'pages_compacted' (b) a internal API change -- return first_page's fullness_group from putback_zspage(), so we know when putback_zspage() did free_zspage(). It helps us to account compaction stats correctly. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d3f3938236b4bb878214e6791e76fd8409bdeee Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:35 2015 -0700 zsmalloc/zram: introduce zs_pool_stats api `zs_compact_control' accounts the number of migrated objects but it has a limited lifespan -- we lose it as soon as zs_compaction() returns back to zram. It worked fine, because (a) zram had it's own counter of migrated objects and (b) only zram could trigger compaction. However, this does not work for automatic pool compaction (not issued by zram). To account objects migrated during auto-compaction (issued by the shrinker) we need to store this number in zs_pool. Define a new `struct zs_pool_stats' structure to keep zs_pool's stats there. It provides only `num_migrated', as of this writing, but it surely can be extended. A new zsmalloc zs_pool_stats() symbol exports zs_pool's stats back to caller. Use zs_pool_stats() in zram and remove `num_migrated' from zram_stats. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Suggested-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0dc63d488a2a433a4a85d3908b3f195c4e6450d2 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:33 2015 -0700 zsmalloc: cosmetic compaction code adjustments Change zs_object_copy() argument order to be (DST, SRC) rather than (SRC, DST). copy/move functions usually have (to, from) arguments order. Rename alloc_target_page() to isolate_target_page(). This function doesn't allocate anything, it isolates target page, pretty much like isolate_source_page(). Tweak __zs_compact() comment. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 04f05909e0fde36ba481ad4c850b666ebef1ac55 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:30 2015 -0700 zsmalloc: introduce zs_can_compact() function This function checks if class compaction will free any pages. Rephrasing -- do we have enough unused objects to form at least one ZS_EMPTY page and free it. It aborts compaction if class compaction will not result in any (further) savings. EXAMPLE (this debug output is not part of this patch set): - class size - number of allocated objects - number of used objects - max objects per zspage - pages per zspage - estimated number of pages that will be freed [..] class-512 objs:544 inuse:540 maxobj-per-zspage:8 pages-per-zspage:1 zspages-to-free:0 ... class-512 compaction is useless. break class-496 objs:660 inuse:570 maxobj-per-zspage:33 pages-per-zspage:4 zspages-to-free:2 class-496 objs:627 inuse:570 maxobj-per-zspage:33 pages-per-zspage:4 zspages-to-free:1 class-496 objs:594 inuse:570 maxobj-per-zspage:33 pages-per-zspage:4 zspages-to-free:0 ... class-496 compaction is useless. break class-448 objs:657 inuse:617 maxobj-per-zspage:9 pages-per-zspage:1 zspages-to-free:4 class-448 objs:648 inuse:617 maxobj-per-zspage:9 pages-per-zspage:1 zspages-to-free:3 class-448 objs:639 inuse:617 maxobj-per-zspage:9 pages-per-zspage:1 zspages-to-free:2 class-448 objs:630 inuse:617 maxobj-per-zspage:9 pages-per-zspage:1 zspages-to-free:1 class-448 objs:621 inuse:617 maxobj-per-zspage:9 pages-per-zspage:1 zspages-to-free:0 ... class-448 compaction is useless. break class-432 objs:728 inuse:685 maxobj-per-zspage:28 pages-per-zspage:3 zspages-to-free:1 class-432 objs:700 inuse:685 maxobj-per-zspage:28 pages-per-zspage:3 zspages-to-free:0 ... class-432 compaction is useless. break class-416 objs:819 inuse:705 maxobj-per-zspage:39 pages-per-zspage:4 zspages-to-free:2 class-416 objs:780 inuse:705 maxobj-per-zspage:39 pages-per-zspage:4 zspages-to-free:1 class-416 objs:741 inuse:705 maxobj-per-zspage:39 pages-per-zspage:4 zspages-to-free:0 ... class-416 compaction is useless. break class-400 objs:690 inuse:674 maxobj-per-zspage:10 pages-per-zspage:1 zspages-to-free:1 class-400 objs:680 inuse:674 maxobj-per-zspage:10 pages-per-zspage:1 zspages-to-free:0 ... class-400 compaction is useless. break class-384 objs:736 inuse:709 maxobj-per-zspage:32 pages-per-zspage:3 zspages-to-free:0 ... class-384 compaction is useless. break [..] Every "compaction is useless" indicates that we saved CPU cycles. class-512 has 544 object allocated 540 objects used 8 objects per-page Even if we have a ALMOST_EMPTY zspage, we still don't have enough room to migrate all of its objects and free this zspage; so compaction will not make a lot of sense, it's better to just leave it as is. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 57244594195fe697f9261c7970ca25db35280967 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:27 2015 -0700 zsmalloc: always keep per-class stats Always account per-class `zs_size_stat' stats. This data will help us make better decisions during compaction. We are especially interested in OBJ_ALLOCATED and OBJ_USED, which can tell us if class compaction will result in any memory gain. For instance, we know the number of allocated objects in the class, the number of objects being used (so we also know how many objects are not used) and the number of objects per-page. So we can ensure if we have enough unused objects to form at least one ZS_EMPTY zspage during compaction. We calculate this value on per-class basis so we can calculate a total number of zspages that can be released. Which is exactly what a shrinker wants to know. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b430d1fd6c7d22cc07e7c22a2ee1078667605313 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:24 2015 -0700 zsmalloc: drop unused variable `nr_to_migrate' This patchset tweaks compaction and makes it possible to trigger pool compaction automatically when system is getting low on memory. zsmalloc in some cases can suffer from a notable fragmentation and compaction can release some considerable amount of memory. The problem here is that currently we fully rely on user space to perform compaction when needed. However, performing zsmalloc compaction is not always an obvious thing to do. For example, suppose we have a `idle' fragmented (compaction was never performed) zram device and system is getting low on memory due to some 3rd party user processes (gcc LTO, or firefox, etc.). It's quite unlikely that user space will issue zpool compaction in this case. Besides, user space cannot tell for sure how badly pool is fragmented; however, this info is known to zsmalloc and, hence, to a shrinker. This patch (of 7): __zs_compact() does not use `nr_to_migrate', drop it. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad5ea8cd5b934cc082f2cda900b490def149908e Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Tue Sep 8 15:04:22 2015 -0700 mm/memblock.c: fix comment in __next_mem_range() Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4ada0c5a2daf11816180ec30bdbdbed1f6ff3224 Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Tue Sep 8 15:04:19 2015 -0700 mm/page_alloc.c: fix type information of memoryless node For a memoryless node, the output of get_pfn_range_for_nid are all zero. It will display mem from 0 to -1. Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b5685e9263a6f3a8da546b8a46382f18a63745c9 Author: Xishi Qiu <qiuxishi@xxxxxxxxxx> Date: Tue Sep 8 15:04:16 2015 -0700 memory-hotplug: fix comments in zone_spanned_pages_in_node() and zone_spanned_pages_in_node() When hot adding a node from add_memory(), we will add memblock first, so the node is not empty. But when called from cpu_up(), the node should be empty. Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx>\ Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 34b100605cb7e201d5c4e39f54d0e11caa950733 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 8 15:04:13 2015 -0700 mm/page_alloc.c: change sysctl_lower_zone_reserve_ratio to sysctl_lowmem_reserve_ratio in comments We use sysctl_lowmem_reserve_ratio rather than sysctl_lower_zone_reserve_ratio to determine how aggressive the kernel is in defending lowmem from the possibility of being captured into pinned user memory. To avoid misleading, correct it in some comments. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 013110a73dcf970cb28c5b0a79f9eee577ea6aa2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 8 15:04:10 2015 -0700 mm/page_alloc.c: fix a misleading comment The comment says that the per-cpu batchsize and zone watermarks are determined by present_pages which is definitely wrong, they are both calculated from managed_pages. Fix it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c9d13f5fc748a02cb5917a798f065681007342b9 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Sep 8 15:04:08 2015 -0700 mm/mmap.c:insert_vm_struct(): check for failure before setting values There's no point in initializing vma->vm_pgoff if the insertion attempt will be failing anyway. Run the checks before performing the initialization. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bde43c6c9f4f360ae549a0ed9f10a3e62e363aca Author: Petr Mladek <pmladek@xxxxxxxx> Date: Tue Sep 8 15:04:05 2015 -0700 mm/khugepaged: allow interruption of allocation sleep again Commit 1dfb059b9438 ("thp: reduce khugepaged freezing latency") fixed khugepaged to do not block a system suspend. But the result is that it could not get interrupted before the given timeout because the condition for the wait event is "false". This patch puts back the original approach but it uses freezable_schedule_timeout_interruptible() instead of schedule_timeout_interruptible(). It does the right thing. I am pretty sure that the freezable variant was not used in the original fix only because it was not available at that time. The regression has been there for ages. It was not critical. It just did the allocation throttling a little bit more aggressively. I found this problem when converting the kthread to kthread worker API and trying to understand the code. This bug is thought to have minimal userspace-visible impact. Somebody could set a high alloc_sleep value by mistake, and then try to fix it back, but khugepaged would keep sleeping until the high value expires. Signed-off-by: Petr Mladek <pmladek@xxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c11539315129b599aae6d9bc0f941dee5559ec58 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Tue Sep 8 15:04:02 2015 -0700 mm/memblock.c: fiy typos in comments s/succees/success/ Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1a16718cf7f4f48ee2aa2cfd9a961c6b433a7b5b Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Tue Sep 8 15:03:59 2015 -0700 mm/compaction: correct to flush migrated pages if pageblock skip happens We cache isolate_start_pfn before entering isolate_migratepages(). If pageblock is skipped in isolate_migratepages() due to whatever reason, cc->migrate_pfn can be far from isolate_start_pfn hence we flush pages that were freed. For example, the following scenario can be possible: - assume order-9 compaction, pageblock order is 9 - start_isolate_pfn is 0x200 - isolate_migratepages() - skip a number of pageblocks - start to isolate from pfn 0x600 - cc->migrate_pfn = 0x620 - return - last_migrated_pfn is set to 0x200 - check flushing condition - current_block_start is set to 0x600 - last_migrated_pfn < current_block_start then do useless flush This wrong flush would not help the performance and success rate so this patch tries to fix it. One simple way to know the exact position where we start to isolate migratable pages is that we cache it in isolate_migratepages() before entering actual isolation. This patch implements that and fixes the problem. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 82c1fc714763b823169958a98196d9be56c63b30 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:03:56 2015 -0700 mm: use numa_mem_id() in alloc_pages_node() alloc_pages_node() might fail when called with NUMA_NO_NODE and __GFP_THISNODE on a CPU belonging to a memoryless node. To make the local-node fallback more robust and prevent such situations, use numa_mem_id(), which was introduced for similar scenarios in the slab context. Suggested-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0bc35a970c01c50e3bcc4b5a612787346024e5db Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:03:53 2015 -0700 mm: unify checks in alloc_pages_node() and __alloc_pages_node() Perform the same debug checks in alloc_pages_node() as are done in __alloc_pages_node(), by making the former function a wrapper of the latter one. In addition to better diagnostics in DEBUG_VM builds for situations which have been already fatal (e.g. out-of-bounds node id), there are two visible changes for potential existing buggy callers of alloc_pages_node(): - calling alloc_pages_node() with any negative nid (e.g. due to arithmetic overflow) was treated as passing NUMA_NO_NODE and fallback to local node was applied. This will now be fatal. - calling alloc_pages_node() with an offline node will now be checked for DEBUG_VM builds. Since it's not fatal if the node has been previously online, and this patch may expose some existing buggy callers, change the VM_BUG_ON in __alloc_pages_node() to VM_WARN_ON. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 96db800f5d73cd5c49461253d45766e094f0f8c2 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:03:50 2015 -0700 mm: rename alloc_pages_exact_node() to __alloc_pages_node() alloc_pages_exact_node() was introduced in commit 6484eb3e2a81 ("page allocator: do not check NUMA node ID when the caller knows the node is valid") as an optimized variant of alloc_pages_node(), that doesn't fallback to current node for nid == NUMA_NO_NODE. Unfortunately the name of the function can easily suggest that the allocation is restricted to the given node and fails otherwise. In truth, the node is only preferred, unless __GFP_THISNODE is passed among the gfp flags. The misleading name has lead to mistakes in the past, see for example commits 5265047ac301 ("mm, thp: really limit transparent hugepage allocation to local node") and b360edb43f8e ("mm, mempolicy: migrate_to_node should only migrate to node"). Another issue with the name is that there's a family of alloc_pages_exact*() functions where 'exact' means exact size (instead of page order), which leads to more confusion. To prevent further mistakes, this patch effectively renames alloc_pages_exact_node() to __alloc_pages_node() to better convey that it's an optimized variant of alloc_pages_node() not intended for general usage. Both functions get described in comments. It has been also considered to really provide a convenience function for allocations restricted to a node, but the major opinion seems to be that __GFP_THISNODE already provides that functionality and we shouldn't duplicate the API needlessly. The number of users would be small anyway. Existing callers of alloc_pages_exact_node() are simply converted to call __alloc_pages_node(), with the exception of sba_alloc_coherent() which open-codes the check for NUMA_NO_NODE, so it is converted to use alloc_pages_node() instead. This means it no longer performs some VM_BUG_ON checks, and since the current check for nid in alloc_pages_node() uses a 'nid < 0' comparison (which includes NUMA_NO_NODE), it may hide wrong values which would be previously exposed. Both differences will be rectified by the next patch. To sum up, this patch makes no functional changes, except temporarily hiding potentially buggy callers. Restricting the checks in alloc_pages_node() is left for the next patch which can in turn expose more existing buggy callers. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Robin Holt <robinmholt@xxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Cliff Whickman <cpw@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7fadc820222497eac234d1d51a66517c00a6ca4c Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Tue Sep 8 15:03:46 2015 -0700 mm, vmscan: unlock page while waiting on writeback This is merely a politeness: I've not found that shrink_page_list() leads to deadlock with the page it holds locked across wait_on_page_writeback(); but nevertheless, why hold others off by keeping the page locked there? And while we're at it: remove the mistaken "not " from the commentary on this Case 3 (and a distracting blank line from Case 2, if I may). Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 26f5d7609f03ad8d6dc552458e4e371a62416b37 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Tue Sep 8 15:03:44 2015 -0700 list_lru: don't call list_lru_from_kmem if the list_head is empty If the list_head is empty then we'll have called list_lru_from_kmem for nothing. Move that call inside of the list_empty if block. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21cd3a604797c2774676926a95a3d17d4cd5cbb3 Author: Wang Kai <morgan.wang@xxxxxxxxxx> Date: Tue Sep 8 15:03:41 2015 -0700 kmemleak: record accurate early log buffer count and report when exceeded In log_early function, crt_early_log should also count once when 'crt_early_log >= ARRAY_SIZE(early_log)'. Otherwise the reported count from kmemleak_init is one less than 'actual number'. Then, in kmemleak_init, if early_log buffer size equal actual number, kmemleak will init sucessful, so change warning condition to 'crt_early_log > ARRAY_SIZE(early_log)'. Signed-off-by: Wang Kai <morgan.wang@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e3975891254e08d220ddcafca93a0e05d9560bfb Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Sep 8 15:03:38 2015 -0700 mm/mmap.c: simplify the failure return working flow __split_vma() doesn't need out_err label, neither need initializing err. copy_vma() can return NULL directly when kmem_cache_alloc() fails. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 44a30220bc0a171c010e8df63d144655abdafe61 Author: Yu Zhao <yuzhao@xxxxxxxxxx> Date: Tue Sep 8 15:03:33 2015 -0700 shmem: recalculate file inode when fstat Shmem uses shmem_recalc_inode to update i_blocks when it allocates page, undoes range or swaps. But mm can drop clean page without notifying shmem. This makes fstat sometimes return out-of-date block size. The problem can be partially solved when we add inode_operations->getattr which calls shmem_recalc_inode to update i_blocks for fstat. shmem_recalc_inode also updates counter used by statfs and vm_committed_as. For them the situation is not changed. They still suffer from the discrepancy after dropping clean page and before the function is called by aforementioned triggers. Signed-off-by: Yu Zhao <yuzhao@xxxxxxxxxx> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 567d117b8b2ab1c3437acc4799505a59bfa5722b Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Tue Sep 8 15:03:33 2015 -0700 mm/memblock.c: rename local variable of memblock_type to 'type' Since commit e3239ff92a17 ("memblock: Rename memblock_region to memblock_type and memblock_property to memblock_region"), all local variables of the membock_type type were renamed to 'type'. This commit renames all remaining local variables with the memblock_type type to the same view. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 230ac719c500e58e71342be381ad2042a8cffc42 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue Sep 8 15:03:29 2015 -0700 mm/hwpoison: don't try to unpoison containment-failed pages memory_failure() can be called at any page at any time, which means that we can't eliminate the possibility of containment failure. In such case the best option is to leak the page intentionally (and never touch it later.) We have an unpoison function for testing, and it cannot handle such containment-failed pages, which results in kernel panic (visible with various calltraces.) So this patch suggests that we limit the unpoisonable pages to properly contained pages and ignore any other ones. Testers are recommended to keep in mind that there're un-unpoisonable pages when writing test programs. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Tested-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da1b13ccfbebe0b9d69b5d61eff0a675e19e69a5 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:27 2015 -0700 mm/hwpoison: fix race between soft_offline_page and unpoison_memory Wanpeng Li reported a race between soft_offline_page() and unpoison_memory(), which causes the following kernel panic: BUG: Bad page state in process bash pfn:97000 page:ffffea00025c0000 count:0 mapcount:1 mapping: (null) index:0x7f4fdbe00 flags: 0x1fffff80080048(uptodate|active|swapbacked) page dumped because: PAGE_FLAGS_CHECK_AT_FREE flag(s) set bad because of flags: flags: 0x40(active) Modules linked in: snd_hda_codec_hdmi i915 rpcsec_gss_krb5 nfsv4 dns_resolver bnep rfcomm nfsd bluetooth auth_rpcgss nfs_acl nfs rfkill lockd grace sunrpc i2c_algo_bit drm_kms_helper snd_hda_codec_realtek snd_hda_codec_generic drm snd_hda_intel fscache snd_hda_codec x86_pkg_temp_thermal coretemp kvm_intel snd_hda_core snd_hwdep kvm snd_pcm snd_seq_dummy snd_seq_oss crct10dif_pclmul snd_seq_midi crc32_pclmul snd_seq_midi_event ghash_clmulni_intel snd_rawmidi aesni_intel lrw gf128mul snd_seq glue_helper ablk_helper snd_seq_device cryptd fuse snd_timer dcdbas serio_raw mei_me parport_pc snd mei ppdev i2c_core video lp soundcore parport lpc_ich shpchp mfd_core ext4 mbcache jbd2 sd_mod e1000e ahci ptp libahci crc32c_intel libata pps_core CPU: 3 PID: 2211 Comm: bash Not tainted 4.2.0-rc5-mm1+ #45 Hardware name: Dell Inc. OptiPlex 7020/0F5C5X, BIOS A03 01/08/2015 Call Trace: dump_stack+0x48/0x5c bad_page+0xe6/0x140 free_pages_prepare+0x2f9/0x320 ? uncharge_list+0xdd/0x100 free_hot_cold_page+0x40/0x170 __put_single_page+0x20/0x30 put_page+0x25/0x40 unmap_and_move+0x1a6/0x1f0 migrate_pages+0x100/0x1d0 ? kill_procs+0x100/0x100 ? unlock_page+0x6f/0x90 __soft_offline_page+0x127/0x2a0 soft_offline_page+0xa6/0x200 This race is explained like below: CPU0 CPU1 soft_offline_page __soft_offline_page TestSetPageHWPoison unpoison_memory PageHWPoison check (true) TestClearPageHWPoison put_page -> release refcount held by get_hwpoison_page in unpoison_memory put_page -> release refcount held by isolate_lru_page in __soft_offline_page migrate_pages The second put_page() releases refcount held by isolate_lru_page() which will lead to unmap_and_move() releases the last refcount of page and w/ mapcount still 1 since try_to_unmap() is not called if there is only one user map the page. Anyway, the page refcount and mapcount will still mess if the page is mapped by multiple users. This race was introduced by commit 4491f71260 ("mm/memory-failure: set PageHWPoison before migrate_pages()"), which focuses on preventing the reuse of successfully migrated page. Before this commit we prevent the reuse by changing the migratetype to MIGRATE_ISOLATE during soft offlining, which has the following problems, so simply reverting the commit is not a best option: 1) it doesn't eliminate the reuse completely, because set_migratetype_isolate() can fail to set MIGRATE_ISOLATE to the target page if the pageblock of the page contains one or more unmovable pages (i.e. has_unmovable_pages() returns true). 2) the original code changes migratetype to MIGRATE_ISOLATE forcibly, and sets it to MIGRATE_MOVABLE forcibly after soft offline, regardless of the original migratetype state, which could impact other subsystems like memory hotplug or compaction. This patch moves PageSetHWPoison just after put_page() in unmap_and_move(), which closes up the reported race window and minimizes another race window b/w SetPageHWPoison and reallocation (which causes the reuse of soft-offlined page.) The latter race window still exists but it's acceptable, because it's rare and effectively the same as ordinary "containment failure" case even if it happens, so keep the window open is acceptable. Fixes: 4491f71260 ("mm/memory-failure: set PageHWPoison before migrate_pages()") Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reported-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Tested-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8e30456b6c56029ecbb43b777519175e478adfbf Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue Sep 8 15:03:24 2015 -0700 mm/hwpoison: introduce num_poisoned_pages wrappers num_poisoned_pages counter will be changed outside mm/memory-failure.c by a subsequent patch, so this patch prepares wrappers to manipulate it. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Tested-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 665d9da7f0a9bd80b64d0024630806e45c7ff7d7 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:21 2015 -0700 mm/hwpoison: replace most of put_page in memory error handling by put_hwpoison_page Replace most instances of put_page() in memory error handling with put_hwpoison_page(). Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit be91748fa6ca6909853c3dc630d65e45084962d7 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:18 2015 -0700 mm/hwpoison: fix refcount of THP head page in no-injection case Hwpoison injection takes a refcount of target page and another refcount of head page of THP if the target page is the tail page of a THP. However, current code doesn't release the refcount of head page if the THP is not supported to be injected wrt hwpoison filter. Fix it by reducing the refcount of head page if the target page is the tail page of a THP and it is not supported to be injected. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 94bf4ec84a84d3ab2513b4e681fd3d083328d76d Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:15 2015 -0700 mm/hwpoison: introduce put_hwpoison_page to put refcount for memory error handling Introduce put_hwpoison_page to put refcount for memory error handling. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Suggested-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1e0e635be82132167a134b5a9c884e70e61f8373 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:13 2015 -0700 mm/hwpoison: fix PageHWPoison test/set race There is a race between madvise_hwpoison path and memory_failure: CPU0 CPU1 madvise_hwpoison get_user_pages_fast PageHWPoison check (false) memory_failure TestSetPageHWPoison soft_offline_page PageHWPoison check (true) return -EBUSY (without put_page) Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Suggested-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d1900c744b2e4687b3e467edf58373c02bcf22d Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:10 2015 -0700 mm/hwpoison: fix failure to split thp w/ refcount held THP pages will get a refcount in madvise_hwpoison() w/ MF_COUNT_INCREASED flag, however, the refcount is still held when fail to split THP pages. Fix it by reducing the refcount of THP pages when fail to split THP. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5dd2c4bded8776ee93c8f38b739fea531095067f Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Sep 8 15:03:07 2015 -0700 x86: use generic early mem copy The early_ioremap library now has a generic copy_from_early_mem() function. Use the generic copy function for x86 relocate_initrd(). [akpm@xxxxxxxxxxxxxxxxxxxx: remove MAX_MAP_CHUNK define, per Yinghai Lu] Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1570f0d7ab425c1e0905715bf9cc98b2a82e723f Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Sep 8 15:03:04 2015 -0700 arm64: support initrd outside kernel linear map The use of mem= could leave part or all of the initrd outside of the kernel linear map. This will lead to an error when unpacking the initrd and a probable failure to boot. This patch catches that situation and relocates the initrd to be fully within the linear map. Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b0f68e32ea8749ff7d4a66cd5761e915e48e59d Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Sep 8 15:03:01 2015 -0700 mm: add utility for early copy from unmapped ram When booting an arm64 kernel w/initrd using UEFI/grub, use of mem= will likely cut off part or all of the initrd. This leaves it outside the kernel linear map which leads to failure when unpacking. The x86 code has a similar need to relocate an initrd outside of mapped memory in some cases. The current x86 code uses early_memremap() to copy the original initrd from unmapped to mapped RAM. This patchset creates a generic copy_from_early_mem() utility based on that x86 code and has arm64 and x86 share it in their respective initrd relocation code. This patch (of 3): In some early boot circumstances, it may be necessary to copy from RAM outside the kernel linear mapping to mapped RAM. The need to relocate an initrd is one example in the x86 code. This patch creates a helper function based on current x86 code. Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e6590740ceb83fd014fae7d571fe5a5d5886b7c8 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:02:58 2015 -0700 Documentation: update libhugetlbfs location and use for testing The URL for libhugetlbfs has changed. Also, put a stronger emphasis on using libgugetlbfs for hugetlb regression testing. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fd5a9ecd6880619bea74c6b12ec86819eacfb012 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:02:55 2015 -0700 selftests:vm: point to libhugetlbfs for regression testing The hugetlb selftests provide minimal coverage. Have run script point people at libhugetlbfs for better regression testing. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 243db5351aae5e6756fb610d41431a30d44b56a6 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:02:52 2015 -0700 Revert "selftests: add hugetlbfstest" This manually reverts 7e50533d4b842 ("selftests: add hugetlbfstest"). The hugetlbfstest test depends on hugetlb pages being counted in a task's rss. This functionality is not in the kernel, so the test will always fail. Remove test to avoid confusion. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9fcd6d2e052eef525e94a9ae58dbe7ed4df4f5a7 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:02:49 2015 -0700 mm, compaction: skip compound pages by order in free scanner The compaction free scanner is looking for PageBuddy() pages and skipping all others. For large compound pages such as THP or hugetlbfs, we can save a lot of iterations if we skip them at once using their compound_order(). This is generally unsafe and we can read a bogus value of order due to a race, but if we are careful, the only danger is skipping too much. When tested with stress-highalloc from mmtests on 4GB system with 1GB hugetlbfs pages, the vmstat compact_free_scanned count decreased by at least 15%. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 29c0dde830f8c08ceacf2d3edf6dc8ddd9a9c3c4 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:02:46 2015 -0700 mm, compaction: always skip all compound pages by order in migrate scanner The compaction migrate scanner tries to skip THP pages by their order, to reduce number of iterations for pages it cannot isolate. The check is only done if PageLRU() is true, which means it applies to THP pages, but not e.g. hugetlbfs pages or any other non-LRU compound pages, which we have to iterate by base pages. This limitation comes from the assumption that it's only safe to read compound_order() when we have the zone's lru_lock and THP cannot be split under us. But the only danger (after filtering out order values that are not below MAX_ORDER, to prevent overflows) is that we skip too much or too little after reading a bogus compound_order() due to a rare race. This is the same reasoning as patch 99c0fd5e51c4 ("mm, compaction: skip buddy pages by their order in the migrate scanner") introduced for unsafely reading PageBuddy() order. After this patch, all pages are tested for PageCompound() and we skip them by compound_order(). The test is done after the test for balloon_page_movable() as we don't want to assume if balloon pages (or other pages with own isolation and migration implementation if a generic API gets implemented) are compound or not. When tested with stress-highalloc from mmtests on 4GB system with 1GB hugetlbfs pages, the vmstat compact_migrate_scanned count decreased by 15%. [kirill.shutemov@xxxxxxxxxxxxxxx: change PageTransHuge checks to PageCompound for different series was squashed here] Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 02333641e2cf4ac9f23eeeb01183ed8318d346ca Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:02:42 2015 -0700 mm, compaction: encapsulate resetting cached scanner positions Reseting the cached compaction scanner positions is now open-coded in __reset_isolation_suitable() and compact_finished(). Encapsulate the functionality in a new function reset_cached_positions(). Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f5f61a320bf6275f37fcabf6645b4ac8e683c007 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:02:39 2015 -0700 mm, compaction: simplify handling restart position in free pages scanner Handling the position where compaction free scanner should restart (stored in cc->free_pfn) got more complex with commit e14c720efdd7 ("mm, compaction: remember position within pageblock in free pages scanner"). Currently the position is updated in each loop iteration of isolate_freepages(), although it should be enough to update it only when breaking from the loop. There's also an extra check outside the loop updates the position in case we have met the migration scanner. This can be simplified if we move the test for having isolated enough from the for-loop header next to the test for contention, and determining the restart position only in these cases. We can reuse the isolate_start_pfn variable for this instead of setting cc->free_pfn directly. Outside the loop, we can simply set cc->free_pfn to current value of isolate_start_pfn without any extra check. Also add a VM_BUG_ON to catch possible mistake in the future, in case we later add a new condition that terminates isolate_freepages_block() prematurely without also considering the condition in isolate_freepages(). Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2849aa09d4fbc4145ebb5dc96187c9ab967f5cf Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:02:36 2015 -0700 mm, compaction: more robust check for scanners meeting Assorted compaction cleanups and optimizations. The interesting patches are 4 and 5. In 4, skipping of compound pages in single iteration is improved for migration scanner, so it works also for !PageLRU compound pages such as hugetlbfs, slab etc. Patch 5 introduces this kind of skipping in the free scanner. The trick is that we can read compound_order() without any protection, if we are careful to filter out values larger than MAX_ORDER. The only danger is that we skip too much. The same trick was already used for reading the freepage order in the migrate scanner. To demonstrate improvements of Patches 4 and 5 I've run stress-highalloc from mmtests, set to simulate THP allocations (including __GFP_COMP) on a 4GB system where 1GB was occupied by hugetlbfs pages. I'll include just the relevant stats: Patch 3 Patch 4 Patch 5 Compaction stalls 7523 7529 7515 Compaction success 323 304 322 Compaction failures 7200 7224 7192 Page migrate success 247778 264395 240737 Page migrate failure 15358 33184 21621 Compaction pages isolated 906928 980192 909983 Compaction migrate scanned 2005277 1692805 1498800 Compaction free scanned 13255284 11539986 9011276 Compaction cost 288 305 277 With 5 iterations per patch, the results are still noisy, but we can see that Patch 4 does reduce migrate_scanned by 15% thanks to skipping the hugetlbfs pages at once. Interestingly, free_scanned is also reduced and I have no idea why. Patch 5 further reduces free_scanned as expected, by 15%. Other stats are unaffected modulo noise. [1] https://lkml.org/lkml/2015/1/19/158 This patch (of 5): Compaction should finish when the migration and free scanner meet, i.e. they reach the same pageblock. Currently however, the test in compact_finished() simply just compares the exact pfns, which may yield a false negative when the free scanner position is in the middle of a pageblock and the migration scanner reaches the begining of the same pageblock. This hasn't been a problem until commit e14c720efdd7 ("mm, compaction: remember position within pageblock in free pages scanner") allowed the free scanner position to be in the middle of a pageblock between invocations. The hot-fix 1d5bfe1ffb5b ("mm, compaction: prevent infinite loop in compact_zone") prevented the issue by adding a special check in the migration scanner to satisfy the current detection of scanners meeting. However, the proper fix is to make the detection more robust. This patch introduces the compact_scanners_met() function that returns true when the free scanner position is in the same or lower pageblock than the migration scanner. The special case in isolate_migratepages() introduced by 1d5bfe1ffb5b is removed. Suggested-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1fc524d74cf40072a2de3f74a920818398dbff30 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Tue Sep 8 15:02:33 2015 -0700 coccinelle: mm: scripts/coccinelle/api/alloc/pool_zalloc-simple.cocci add [pci|dma]_pool_zalloc coccinelle check. replaces instances of [pci|dma]_pool_alloc() followed by memset(0) with [pci|dma]_pool_zalloc(). Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Gilles Muller <Gilles.Muller@xxxxxxx> Cc: Nicolas Palix <nicolas.palix@xxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01a7fd337b2c2af97e9c55bb9406a222a2e209d3 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Tue Sep 8 15:02:30 2015 -0700 pci: mm: add pci_pool_zalloc() call Add a wrapper function for pci_pool_alloc() to get zeroed memory. Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Gilles Muller <Gilles.Muller@xxxxxxx> Cc: Nicolas Palix <nicolas.palix@xxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad82362b2defd4adad87d8538617b2f51a4bf9c3 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Tue Sep 8 15:02:27 2015 -0700 mm: add dma_pool_zalloc() call to DMA API Add a wrapper function for dma_pool_alloc() to get zeroed memory. Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Gilles Muller <Gilles.Muller@xxxxxxx> Cc: Nicolas Palix <nicolas.palix@xxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fa23f56d90ed7bd760ae2aea6dfb2f501a099e90 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Tue Sep 8 15:02:24 2015 -0700 mm: add support for __GFP_ZERO flag to dma_pool_alloc() Currently a call to dma_pool_alloc() with a ___GFP_ZERO flag returns a non-zeroed memory region. This patchset adds support for the __GFP_ZERO flag to dma_pool_alloc(), adds 2 wrapper functions for allocing zeroed memory from a pool, and provides a coccinelle script for finding & replacing instances of dma_pool_alloc() followed by memset(0) with a single dma_pool_zalloc() call. There was some concern that this always calls memset() to zero, instead of passing __GFP_ZERO into the page allocator. [https://lkml.org/lkml/2015/7/15/881] I ran a test on my system to get an idea of how often dma_pool_alloc() calls into pool_alloc_page(). After Boot: [ 30.119863] alloc_calls:541, page_allocs:7 After an hour: [ 3600.951031] alloc_calls:9566, page_allocs:12 After copying 1GB file onto a USB drive: [ 4260.657148] alloc_calls:17225, page_allocs:12 It doesn't look like dma_pool_alloc() calls down to the page allocator very often (at least on my system). This patch (of 4): Currently the __GFP_ZERO flag is ignored by dma_pool_alloc(). Make dma_pool_alloc() zero the memory if this flag is set. Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Gilles Muller <Gilles.Muller@xxxxxxx> Cc: Nicolas Palix <nicolas.palix@xxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c54839a722a02818677bcabe57e957f0ce4f841d Author: Jaewon Kim <jaewon31.kim@xxxxxxxxxxx> Date: Tue Sep 8 15:02:21 2015 -0700 vmscan: fix increasing nr_isolated incurred by putback unevictable pages reclaim_clean_pages_from_list() assumes that shrink_page_list() returns number of pages removed from the candidate list. But shrink_page_list() puts back mlocked pages without passing it to caller and without counting as nr_reclaimed. This increases nr_isolated. To fix this, this patch changes shrink_page_list() to pass unevictable pages back to caller. Caller will take care those pages. Minchan said: It fixes two issues. 1. With unevictable page, cma_alloc will be successful. Exactly speaking, cma_alloc of current kernel will fail due to unevictable pages. 2. fix leaking of NR_ISOLATED counter of vmstat With it, too_many_isolated works. Otherwise, it could make hang until the process get SIGKILL. Signed-off-by: Jaewon Kim <jaewon31.kim@xxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0b802f101d0c6caeeee89066dc2c8665082a83df Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Tue Sep 8 15:02:18 2015 -0700 mm: vmscan: never isolate more pages than necessary If transparent huge pages are enabled, we can isolate many more pages than we actually need to scan, because we count both single and huge pages equally in isolate_lru_pages(). Since commit 5bc7b8aca942d ("mm: thp: add split tail pages to shrink page list in page reclaim"), we scan all the tail pages immediately after a huge page split (see shrink_page_list()). As a result, we can reclaim up to SWAP_CLUSTER_MAX * HPAGE_PMD_NR (512 MB) in one run! This is easy to catch on memcg reclaim with zswap enabled. The latter makes swapout instant so that if we happen to scan an unreferenced huge page we will evict both its head and tail pages immediately, which is likely to result in excessive reclaim. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 64b990d2957cb535fe1c17b9694d5d4f7de69962 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 15:02:15 2015 -0700 mm: drop __nocast from vm_flags_t definition __nocast does no good for vm_flags_t. It only produces useless sparse warnings. Let's drop it. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1b4ace4141db1ddc46f6c9915086dd5e18d7154d Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Tue Sep 8 15:02:12 2015 -0700 bootmem: avoid freeing to bootmem after bootmem is done Bootmem isn't popular any more, but some architectures still use it, and freeing to bootmem after calling free_all_bootmem_core() can end up scribbling over random memory. Instead, make sure the kernel generates a warning in this case by ensuring the node_bootmem_map field is non-NULL when are freeing or marking bootmem. An instance of this bug was just fixed in the tile architecture ("tile: use free_bootmem_late() for initrd") and catching this case more widely seems like a good thing. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Paul McQuade <paulmcquad@xxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c5b4e1b02f2a0c2309ecd58a235a2f5ee4eb0074 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue Sep 8 15:02:09 2015 -0700 mm, page_isolation: make set/unset_migratetype_isolate() file-local Nowaday, set/unset_migratetype_isolate() is defined and used only in mm/page_isolation, so let's limit the scope within the file. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit acda0c3340282bc7c36f4e9a5e2ccb7bb7e64676 Author: Aristeu Rozanski <aris@xxxxxxxxxx> Date: Tue Sep 8 15:02:06 2015 -0700 mm/mempolicy.c: get rid of duplicated check for vma(VM_PFNMAP) in queue_pages_range() This check was introduced as part of 6f4576e3687 ("mempolicy: apply page table walker on queue_pages_range()") which got duplicated by 48684a65b4e ("mm: pagewalk: fix misbehavior of walk_page_range for vma(VM_PFNMAP)") by reintroducing it earlier on queue_page_test_walk() Signed-off-by: Aristeu Rozanski <aris@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 95cf82ecc1fcb44df1768162343cc8eb88083b86 Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:02:03 2015 -0700 mem-hotplug: handle node hole when initializing numa_meminfo. When parsing SRAT, all memory ranges are added into numa_meminfo. In numa_init(), before entering numa_cleanup_meminfo(), all possible memory ranges are in numa_meminfo. And numa_cleanup_meminfo() removes all ranges over max_pfn or empty. But, this only works if the nodes are continuous. Let's have a look at the following example: We have an SRAT like this: SRAT: Node 0 PXM 0 [mem 0x00000000-0x5fffffff] SRAT: Node 0 PXM 0 [mem 0x100000000-0x1ffffffffff] SRAT: Node 1 PXM 1 [mem 0x20000000000-0x3ffffffffff] SRAT: Node 4 PXM 2 [mem 0x40000000000-0x5ffffffffff] hotplug SRAT: Node 5 PXM 3 [mem 0x60000000000-0x7ffffffffff] hotplug SRAT: Node 2 PXM 4 [mem 0x80000000000-0x9ffffffffff] hotplug SRAT: Node 3 PXM 5 [mem 0xa0000000000-0xbffffffffff] hotplug SRAT: Node 6 PXM 6 [mem 0xc0000000000-0xdffffffffff] hotplug SRAT: Node 7 PXM 7 [mem 0xe0000000000-0xfffffffffff] hotplug On boot, only node 0,1,2,3 exist. And the numa_meminfo will look like this: numa_meminfo.nr_blks = 9 1. on node 0: [0, 60000000] 2. on node 0: [100000000, 20000000000] 3. on node 1: [20000000000, 40000000000] 4. on node 4: [40000000000, 60000000000] 5. on node 5: [60000000000, 80000000000] 6. on node 2: [80000000000, a0000000000] 7. on node 3: [a0000000000, a0800000000] 8. on node 6: [c0000000000, a0800000000] 9. on node 7: [e0000000000, a0800000000] And numa_cleanup_meminfo() will merge 1 and 2, and remove 8,9 because the end address is over max_pfn, which is a0800000000. But 4 and 5 are not removed because their end addresses are less then max_pfn. But in fact, node 4 and 5 don't exist. In a word, numa_cleanup_meminfo() is not able to handle holes between nodes. Since memory ranges in node 4 and 5 are in numa_meminfo, in numa_register_memblks(), node 4 and 5 will be mistakenly set to online. If you run lscpu, it will show: NUMA node0 CPU(s): 0-14,128-142 NUMA node1 CPU(s): 15-29,143-157 NUMA node2 CPU(s): NUMA node3 CPU(s): NUMA node4 CPU(s): 62-76,190-204 NUMA node5 CPU(s): 78-92,206-220 In this patch, we use memblock_overlaps_region() to check if ranges in numa_meminfo overlap with ranges in memory_block. Since memory_block contains all available memory at boot time, if they overlap, it means the ranges exist. If not, then remove them from numa_meminfo. After this patch, lscpu will show: NUMA node0 CPU(s): 0-14,128-142 NUMA node1 CPU(s): 15-29,143-157 NUMA node4 CPU(s): 62-76,190-204 NUMA node5 CPU(s): 78-92,206-220 Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Baoquan He <bhe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c5c5c9d1008fb15945d0173b3ca75931ef53ae1f Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:02:00 2015 -0700 mm/memblock.c: make memblock_overlaps_region() return bool. memblock_overlaps_region() checks if the given memblock region intersects a region in memblock. If so, it returns the index of the intersected region. But its only caller is memblock_is_region_reserved(), and it returns 0 if false, non-zero if true. Both of these should return bool. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Baoquan He <bhe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 72079ba0dfefc1444b4ef98a2fa3d040838a775f Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:57 2015 -0700 mm: madvise allow remove operation for hugetlbfs Now that we have hole punching support for hugetlbfs, we can also support the MADV_REMOVE interface to it. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 70c3547e36f5c9fbc4caecfeca98f0effa6932c5 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:54 2015 -0700 hugetlbfs: add hugetlbfs_fallocate() This is based on the shmem version, but it has diverged quite a bit. We have no swap to worry about, nor the new file sealing. Add synchronication via the fault mutex table to coordinate page faults, fallocate allocation and fallocate hole punch. What this allows us to do is move physical memory in and out of a hugetlbfs file without having it mapped. This also gives us the ability to support MADV_REMOVE since it is currently implemented using fallocate(). MADV_REMOVE lets madvise() remove pages from the middle of a hugetlbfs file, which wasn't possible before. hugetlbfs fallocate only operates on whole huge pages. Based on code by Dave Hansen. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ab76ad540a50191308e5bb6b5e2d9e26c78616d3 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:50 2015 -0700 hugetlbfs: New huge_add_to_page_cache helper routine Currently, there is only a single place where hugetlbfs pages are added to the page cache. The new fallocate code be adding a second one, so break the functionality out into its own helper. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d85f69b0b533ec6d7ac8c21db958c44c6d957c90 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:47 2015 -0700 mm/hugetlb: alloc_huge_page handle areas hole punched by fallocate Areas hole punched by fallocate will not have entries in the region/reserve map. However, shared mappings with min_size subpool reservations may still have reserved pages. alloc_huge_page needs to handle this special case and do the proper accounting. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1fb1b0e9ef2d661488f8053986c3b7641cae529d Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:44 2015 -0700 mm/hugetlb: vma_has_reserves() needs to handle fallocate hole punch In vma_has_reserves(), the current assumption is that reserves are always present for shared mappings. However, this will not be the case with fallocate hole punch. When punching a hole, the present page will be deleted as well as the region/reserve map entry (and hence any reservation). vma_has_reserves is passed "chg" which indicates whether or not a region/reserve map is present. Use this to determine if reserves are actually present or were removed via hole punch. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b5cec28d36f5ee6b4e6f68a0a40aa1e4045d6d99 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:41 2015 -0700 hugetlbfs: truncate_hugepages() takes a range of pages Modify truncate_hugepages() to take a range of pages (start, end) instead of simply start. If an end value of LLONG_MAX is passed, the current "truncate" functionality is maintained. Existing callers are modified to pass LLONG_MAX as end of range. By keying off end == LLONG_MAX, the routine behaves differently for truncate and hole punch. Page removal is now synchronized with page allocation via faults by using the fault mutex table. The hole punch case can experience the rare region_del error and must handle accordingly. Add the routine hugetlb_fix_reserve_counts to fix up reserve counts in the case where region_del returns an error. Since the routine handles more than just the truncate case, it is renamed to remove_inode_hugepages(). To be consistent, the routine truncate_huge_page() is renamed remove_huge_page(). Downstream of remove_inode_hugepages(), the routine hugetlb_unreserve_pages() is also modified to take a range of pages. hugetlb_unreserve_pages is modified to detect an error from region_del and pass it back to the caller. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1bfad99ab42569807d0ca1698449cae5e8c0334a Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:38 2015 -0700 hugetlbfs: hugetlb_vmtruncate_list() needs to take a range to delete fallocate hole punch will want to unmap a specific range of pages. Modify the existing hugetlb_vmtruncate_list() routine to take a start/end range. If end is 0, this indicates all pages after start should be unmapped. This is the same as the existing truncate functionality. Modify existing callers to add 0 as end of range. Since the routine will be used in hole punch as well as truncate operations, it is more appropriately renamed to hugetlb_vmdelete_list(). Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c672c7f29f2fdb73e1f72911bf499675c81fcdbb Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:35 2015 -0700 mm/hugetlb: expose hugetlb fault mutex for use by fallocate hugetlb page faults are currently synchronized by the table of mutexes (htlb_fault_mutex_table). fallocate code will need to synchronize with the page fault code when it allocates or deletes pages. Expose interfaces so that fallocate operations can be synchronized with page faults. Minor name changes to be more consistent with other global hugetlb symbols. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit feba16e25a578080af5aad5eb9e469b4e6c23eef Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:31 2015 -0700 mm/hugetlb: add region_del() to delete a specific range of entries fallocate hole punch will want to remove a specific range of pages. The existing region_truncate() routine deletes all region/reserve map entries after a specified offset. region_del() will provide this same functionality if the end of region is specified as LONG_MAX. Hence, region_del() can replace region_truncate(). Unlike region_truncate(), region_del() can return an error in the rare case where it can not allocate memory for a region descriptor. This ONLY happens in the case where an existing region must be split. Current callers passing LONG_MAX as end of range will never experience this error and do not need to deal with error handling. Future callers of region_del() (such as fallocate hole punch) will need to handle this error. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5e9113731a3ce616e8b5aa128ffc1aeaa4942571 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:28 2015 -0700 mm/hugetlb: add cache of descriptors to resv_map for region_add hugetlbfs is used today by applications that want a high degree of control over huge page usage. Often, large hugetlbfs files are used to map a large number huge pages into the application processes. The applications know when page ranges within these large files will no longer be used, and ideally would like to release them back to the subpool or global pools for other uses. The fallocate() system call provides an interface for preallocation and hole punching within files. This patch set adds fallocate functionality to hugetlbfs. fallocate hole punch will want to remove a specific range of pages. When pages are removed, their associated entries in the region/reserve map will also be removed. This will break an assumption in the region_chg/region_add calling sequence. If a new region descriptor must be allocated, it is done as part of the region_chg processing. In this way, region_add can not fail because it does not need to attempt an allocation. To prepare for fallocate hole punch, create a "cache" of descriptors that can be used by region_add if necessary. region_chg will ensure there are sufficient entries in the cache. It will be necessary to track the number of in progress add operations to know a sufficient number of descriptors reside in the cache. A new routine region_abort is added to adjust this in progress count when add operations are aborted. vma_abort_reservation is also added for callers creating reservations with vma_needs_reservation/vma_commit_reservation. [akpm@xxxxxxxxxxxxxxxxxxxx: fix typo in comment, use more cols] Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bb14c2c75db972a1bf65fd63c8d5a0b41a8f263a Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:01:25 2015 -0700 mm: rename and move get/set_freepage_migratetype The pair of get/set_freepage_migratetype() functions are used to cache pageblock migratetype for a page put on a pcplist, so that it does not have to be retrieved again when the page is put on a free list (e.g. when pcplists become full). Historically it was also assumed that the value is accurate for pages on freelists (as the functions' names unfortunately suggest), but that cannot be guaranteed without affecting various allocator fast paths. It is in fact not needed and all such uses have been removed. The last remaining (but pointless) usage related to pages of freelists is in move_freepages(), which this patch removes. To prevent further confusion, rename the functions to get/set_pcppage_migratetype() and expand their description. Since all the users are now in mm/page_alloc.c, move the functions there from the shared header. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Seungho Park <seungho1.park@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aa016d145d4c3b8a7273429528f19d5b423ddbc7 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:01:22 2015 -0700 mm, page_isolation: remove bogus tests for isolated pages The __test_page_isolated_in_pageblock() is used to verify whether all pages in pageblock were either successfully isolated, or are hwpoisoned. Two of the possible state of pages, that are tested, are however bogus and misleading. Both tests rely on get_freepage_migratetype(page), which however has no guarantees about pages on freelists. Specifically, it doesn't guarantee that the migratetype returned by the function actually matches the migratetype of the freelist that the page is on. Such guarantee is not its purpose and would have negative impact on allocator performance. The first test checks whether the freepage_migratetype equals MIGRATE_ISOLATE, supposedly to catch races between page isolation and allocator activity. These races should be fixed nowadays with 51bb1a4093 ("mm/page_alloc: add freepage on isolate pageblock to correct buddy list") and related patches. As explained above, the check wouldn't be able to catch them reliably anyway. For the same reason false positives can happen, although they are harmless, as the move_freepages() call would just move the page to the same freelist it's already on. So removing the test is not a bug fix, just cleanup. After this patch, we assume that all PageBuddy pages are on the correct freelist and that the races were really fixed. A truly reliable verification in the form of e.g. VM_BUG_ON() would be complicated and is arguably not needed. The second test (page_count(page) == 0 && get_freepage_migratetype(page) == MIGRATE_ISOLATE) is probably supposed (the code comes from a big memory isolation patch from 2007) to catch pages on MIGRATE_ISOLATE pcplists. However, pcplists don't contain MIGRATE_ISOLATE freepages nowadays, those are freed directly to free lists, so the check is obsolete. Remove it as well. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Seungho Park <seungho1.park@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 156408c0edaacbea1137f58b28fd6ec341064310 Author: Vishnu Pratap Singh <vishnu.ps@xxxxxxxxxxx> Date: Tue Sep 8 15:01:19 2015 -0700 lib/show_mem.c: correct reserved memory calculation CMA reserved memory is not part of total reserved memory. Currently when we print the total reserve memory it considers cma as part of reserve memory and do minus of totalcma_pages from reserved, which is wrong. In cases where total reserved is less than cma reserved we will get negative values & while printing we print as unsigned and we will get a very large value. Below is the show mem output on X86 ubuntu based system where CMA reserved is 100MB (25600 pages) & total reserved is ~40MB(10316 pages). And reserve memory shows a large value because of this bug. Before: [ 127.066430] 898908 pages RAM [ 127.066432] 671682 pages HighMem/MovableOnly [ 127.066434] 4294952012 pages reserved [ 127.066436] 25600 pages cma reserved After: [ 44.663129] 898908 pages RAM [ 44.663130] 671682 pages HighMem/MovableOnly [ 44.663130] 10316 pages reserved [ 44.663131] 25600 pages cma reserved Signed-off-by: Vishnu Pratap Singh <vishnu.ps@xxxxxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Danesh Petigara <dpetigara@xxxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e752eb68811aeece2220e183e23369a34122fb5e Author: Michal Hocko <mhocko@xxxxxxxx> Date: Tue Sep 8 15:01:16 2015 -0700 memcg: move memcg_proto_active from sock.h The only user is sock_update_memcg which is living in memcontrol.c so it doesn't make much sense to pollute sock.h by this inline helper. Move it to memcontrol.c and open code it into its only caller. Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a03f1f058969ec350fb7451a6fbca23096ee5727 Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Sep 8 15:01:13 2015 -0700 memcg, tcp_kmem: check for cg_proto in sock_update_memcg sk_prot->proto_cgroup is allowed to return NULL but sock_update_memcg doesn't check for NULL. The function relies on the mem_cgroup_is_root check because we shouldn't get NULL otherwise because mem_cgroup_from_task will always return !NULL. All other callers are checking for NULL and we can safely replace mem_cgroup_is_root() check by cg_proto != NULL which will be more straightforward (proto_cgroup returns NULL for the root memcg already). Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f2115f93b88e5e8d48b87b153e36a537afb58cb Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 8 15:01:10 2015 -0700 memcg: restructure mem_cgroup_can_attach() Restructure it to lower nesting level and help the planned threadgroup leader iteration changes. This is pure reorganization. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 64219994898c8689c3d57668996f476f8c2d398c Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Sep 8 15:01:07 2015 -0700 memcg: get rid of extern for functions in memcontrol.h Most of the exported functions in this header are not marked extern so change the rest to follow the same style. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fabc3fdde00b54825ba23230aedbf88a735b4e49 Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Sep 8 15:01:04 2015 -0700 memcg: get rid of mem_cgroup_root_css for !CONFIG_MEMCG The only user is cgwb_bdi_init and that one depends on CONFIG_CGROUP_WRITEBACK which in turn depends on CONFIG_MEMCG so it doesn't make much sense to definte an empty stub for !CONFIG_MEMCG. Moreover ERR_PTR(-EINVAL) is ugly and would lead to runtime crashes if used in unguarded code paths. Better fail during compilation. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 33398cf2f360c5ce24c8a22436d52a06ad4e5eb5 Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Sep 8 15:01:02 2015 -0700 memcg: export struct mem_cgroup mem_cgroup structure is defined in mm/memcontrol.c currently which means that the code outside of this file has to use external API even for trivial access stuff. This patch exports mm_struct with its dependencies and makes some of the exported functions inlines. This even helps to reduce the code size a bit (make defconfig + CONFIG_MEMCG=y) text data bss dec hex filename 12355346 1823792 1089536 15268674 e8fb42 vmlinux.before 12354970 1823792 1089536 15268298 e8f9ca vmlinux.after This is not much (370B) but better than nothing. We also save a function call in some hot paths like callers of mem_cgroup_count_vm_event which is used for accounting. The patch doesn't introduce any functional changes. [vdavykov@xxxxxxxxxxxxx: inline memcg_kmem_is_active] [vdavykov@xxxxxxxxxxxxx: do not expose type outside of CONFIG_MEMCG] [akpm@xxxxxxxxxxxxxxxxxxxx: memcontrol.h needs eventfd.h for eventfd_ctx] [akpm@xxxxxxxxxxxxxxxxxxxx: export mem_cgroup_from_task() to modules] Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Suggested-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b3d9ed3fd872fc074286674ae8595ee880938bbf Author: Michal Hocko <mhocko@xxxxxxxx> Date: Tue Sep 8 15:00:59 2015 -0700 sparc32: do not include swap.h from pgtable_32.h "memcg: export struct mem_cgroup" will add includes into linux/memcontrol.h which lead to further header dependency issues as reported by Guenter Roeck: In file included from include/linux/highmem.h:7:0, from include/linux/bio.h:23, from include/linux/writeback.h:192, from include/linux/memcontrol.h:30, from include/linux/swap.h:8, from ./arch/sparc/include/asm/pgtable_32.h:17, from ./arch/sparc/include/asm/pgtable.h:6, from arch/sparc/kernel/traps_32.c:23: include/linux/mm.h: In function 'is_vmalloc_addr': include/linux/mm.h:371:17: error: 'VMALLOC_START' undeclared (first use in this function) include/linux/mm.h:371:17: note: each undeclared identifier is reported only once for each function it appears in include/linux/mm.h:371:41: error: 'VMALLOC_END' undeclared (first use in this function) include/linux/mm.h: In function 'maybe_mkwrite': include/linux/mm.h:556:3: error: implicit declaration of function 'pte_mkwrite' The issue is that pgtable_32.h depends on swap.h to get swap_entry_t but that goes all the way down to linux/mm.h which wants to have VMALLOC_* which is defined later in pgtable_32.h, though. swap_entry_t is defined in include/mm_types.h so it should be sufficient to include this header without more dependencies. Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 44d7175da6ea10e353e69b586bb68bbfef89e403 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:00:56 2015 -0700 mm/dmapool: allow NULL `pool' pointer in dma_pool_destroy() dma_pool_destroy() does not tolerate a NULL dma_pool pointer argument and performs a NULL-pointer dereference. This requires additional attention and effort from developers/reviewers and forces all dma_pool_destroy() callers to do a NULL check if (pool) dma_pool_destroy(pool); Or, otherwise, be invalid dma_pool_destroy() users. Tweak dma_pool_destroy() and NULL-check the pointer there. Proposed by Andrew Morton. Link: https://lkml.org/lkml/2015/6/8/583 Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e3ca3e033d1eea62fa16c3fdbef4f20427bd0de Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:00:53 2015 -0700 mm/mempool: allow NULL `pool' pointer in mempool_destroy() mempool_destroy() does not tolerate a NULL mempool_t pointer argument and performs a NULL-pointer dereference. This requires additional attention and effort from developers/reviewers and forces all mempool_destroy() callers to do a NULL check if (pool) mempool_destroy(pool); Or, otherwise, be invalid mempool_destroy() users. Tweak mempool_destroy() and NULL-check the pointer there. Proposed by Andrew Morton. Link: https://lkml.org/lkml/2015/6/8/583 Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3942d29918522ba6a393c19388301ec04df429cd Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:00:50 2015 -0700 mm/slab_common: allow NULL cache pointer in kmem_cache_destroy() kmem_cache_destroy() does not tolerate a NULL kmem_cache pointer argument and performs a NULL-pointer dereference. This requires additional attention and effort from developers/reviewers and forces all kmem_cache_destroy() callers (200+ as of 4.1) to do a NULL check if (cache) kmem_cache_destroy(cache); Or, otherwise, be invalid kmem_cache_destroy() users. Tweak kmem_cache_destroy() and NULL-check the pointer there. Proposed by Andrew Morton. Link: https://lkml.org/lkml/2015/6/8/583 Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 75e8f8b24cb0dc4951267d31f0a49e5ce2f345c4 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:47 2015 -0700 mm, oom: remove unnecessary variable The "killed" variable in out_of_memory() can be removed since the call to oom_kill_process() where we should block to allow the process time to exit is obvious. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8989e4c7d4e3c30b55c998a1138cd06c92df7295 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:44 2015 -0700 mm, oom: add description of struct oom_control Describe the purpose of struct oom_control and what each member does. Also make gfp_mask and order const since they are never manipulated or passed to functions that discard the qualifier. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 071a4befebb655d6b31bf5c6bacd5a6df035224d Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:42 2015 -0700 mm, oom: do not panic for oom kills triggered from sysrq Sysrq+f is used to kill a process either for debug or when the VM is otherwise unresponsive. It is not intended to trigger a panic when no process may be killed. Avoid panicking the system for sysrq+f when no processes are killed. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Suggested-by: Michal Hocko <mhocko@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 54e9e29132d7caefcad470281cae06ac34a982c8 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:39 2015 -0700 mm, oom: pass an oom order of -1 when triggered by sysrq The force_kill member of struct oom_control isn't needed if an order of -1 is used instead. This is the same as order == -1 in struct compact_control which requires full memory compaction. This patch introduces no functional change. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e0fc46dc2152d3e2d25a5d5b640ae3586c247c6 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:36 2015 -0700 mm, oom: organize oom context into struct There are essential elements to an oom context that are passed around to multiple functions. Organize these elements into a new struct, struct oom_control, that specifies the context for an oom condition. This patch introduces no functional change. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c0b80d463c6ade539d51ad03bc7c41849fb37e8 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Tue Sep 8 15:00:33 2015 -0700 mm: make set_recommended_min_free_kbytes() return void This makes set_recommended_min_free_kbytes() have a return type of void as it cannot fail. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 28c015d07507e164d93b33498b4e482ff81c0e9b Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:31 2015 -0700 mm: improve __GFP_NORETRY comment based on implementation Explicitly state that __GFP_NORETRY will attempt direct reclaim and memory compaction before returning NULL and that the oom killer is not called in the current implementation of the page allocator. [akpm@xxxxxxxxxxxxxxxxxxxx: s/has/have/] Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 998ef75ddb5709bbea0bf1506cd2717348a3c647 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:28 2015 -0700 fs: do not prefault sys_write() user buffer pages === Short summary ==== iov_iter_fault_in_readable() works around a really rare case and we can avoid the deadlock it addresses in another way: disable page faults and work around copy failures by faulting after the copy in a slow path instead of before in a hot one. I have a little microbenchmark that does repeated, small writes to tmpfs. This patch speeds that micro up by 6.2%. === Long version === When doing a sys_write() we have a source buffer in userspace and then a target file page. If both of those are the same physical page, there is a potential deadlock that we avoid. It would happen something like this: 1. We start the write to the file 2. Allocate page cache page and set it !Uptodate 3. Touch the userspace buffer to copy in the user data 4. Page fault (since source of the write not yet mapped) 5. Page fault code tries to lock the page and deadlocks (more details on this below) To avoid this, we prefault the page to guarantee that this fault does not occur. But, this prefault comes at a cost. It is one of the most expensive things that we do in a hot write() path (especially if we compare it to the read path). It is working around a pretty rare case. To fix this, it's pretty simple. We move the "prefault" code to run after we attempt the copy. We explicitly disable page faults _during_ the copy, detect the copy failure, then execute the "prefault" ouside of where the page lock needs to be held. iov_iter_copy_from_user_atomic() actually already has an implicit pagefault_disable() inside of it (at least on x86), but we add an explicit one. I don't think we can depend on every kmap_atomic() implementation to pagefault_disable() for eternity. =================================================== The stack trace when this happens looks like this: wait_on_page_bit_killable+0xc0/0xd0 __lock_page_or_retry+0x84/0xa0 filemap_fault+0x1ed/0x3d0 __do_fault+0x41/0xc0 handle_mm_fault+0x9bb/0x1210 __do_page_fault+0x17f/0x3d0 do_page_fault+0xc/0x10 page_fault+0x22/0x30 generic_perform_write+0xca/0x1a0 __generic_file_write_iter+0x190/0x1f0 ext4_file_write_iter+0xe9/0x460 __vfs_write+0xaa/0xe0 vfs_write+0xa6/0x1a0 SyS_write+0x46/0xa0 entry_SYSCALL_64_fastpath+0x12/0x6a 0xffffffffffffffff (Note, this does *NOT* happen in practice today because the kmap_atomic() does a pagefault_disable(). The trace above was obtained by taking out the pagefault_disable().) You can trigger the deadlock with this little code snippet: fd = open("foo", O_RDWR); fdmap = mmap(NULL, len, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0); write(fd, &fdmap[0], 1); Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: NeilBrown <neilb@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Paul Cassella <cassella@xxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8334b96221ff0dcbde4873d31eb4d84774ed8ed4 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Tue Sep 8 15:00:24 2015 -0700 mm: /proc/pid/smaps:: show proportional swap share of the mapping We want to know per-process workingset size for smart memory management on userland and we use swap(ex, zram) heavily to maximize memory efficiency so workingset includes swap as well as RSS. On such system, if there are lots of shared anonymous pages, it's really hard to figure out exactly how many each process consumes memory(ie, rss + wap) if the system has lots of shared anonymous memory(e.g, android). This patch introduces SwapPss field on /proc/<pid>/smaps so we can get more exact workingset size per process. Bongkyu tested it. Result is below. 1. 50M used swap SwapTotal: 461976 kB SwapFree: 411192 kB $ adb shell cat /proc/*/smaps | grep "SwapPss:" | awk '{sum += $2} END {print sum}'; 48236 $ adb shell cat /proc/*/smaps | grep "Swap:" | awk '{sum += $2} END {print sum}'; 141184 2. 240M used swap SwapTotal: 461976 kB SwapFree: 216808 kB $ adb shell cat /proc/*/smaps | grep "SwapPss:" | awk '{sum += $2} END {print sum}'; 230315 $ adb shell cat /proc/*/smaps | grep "Swap:" | awk '{sum += $2} END {print sum}'; 1387744 [akpm@xxxxxxxxxxxxxxxxxxxx: simplify kunmap_atomic() call] Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Reported-by: Bongkyu Kim <bongkyu.kim@xxxxxxx> Tested-by: Bongkyu Kim <bongkyu.kim@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3115aec4513e5bcb399235cac98a5637fe641c13 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Sep 8 15:00:22 2015 -0700 memtest: remove unused header files memtest does not require these headers to be included. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: Leon Romanovsky <leon@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f373bafcad68834761b40da9cecda842f43d4797 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Sep 8 15:00:19 2015 -0700 memtest: cleanup log messages - prefer pr_info(... to printk(KERN_INFO ... - use %pa for phys_addr_t - use cpu_to_be64 while printing pattern in reserve_bad_mem() Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: Leon Romanovsky <leon@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 06f805965fc205e27681eee99fd2376fafd8da65 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Sep 8 15:00:16 2015 -0700 memtest: use kstrtouint instead of simple_strtoul Since simple_strtoul is obsolete and memtest_pattern is type of int, use kstrtouint instead. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: Leon Romanovsky <leon@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 83b4b0bb635eee2b8e075062e4e008d1bc110ed7 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:13 2015 -0700 pagemap: update documentation Notes about recent changes. [akpm@xxxxxxxxxxxxxxxxxxxx: various tweaks] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Cc: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 77bb499bb60f4b79cca7d139c8041662860fcf87 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:10 2015 -0700 pagemap: add mmap-exclusive bit for marking pages mapped only here This patch sets bit 56 in pagemap if this page is mapped only once. It allows to detect exclusively used pages without exposing PFN: present file exclusive state 0 0 0 non-present 1 1 0 file page mapped somewhere else 1 1 1 file page mapped only here 1 0 0 anon non-CoWed page (shared with parent/child) 1 0 1 anon CoWed page (or never forked) CoWed pages in (MAP_FILE | MAP_PRIVATE) areas are anon in this context. MMap-exclusive bit doesn't reflect potential page-sharing via swapcache: page could be mapped once but has several swap-ptes which point to it. Application could detect that by swap bit in pagemap entry and touch that pte via /proc/pid/mem to get real information. See http://lkml.kernel.org/r/CAEVpBa+_RyACkhODZrRvQLs80iy0sqpdrd0AaP_-tgnX3Y9yNQ@xxxxxxxxxxxxxx Requested by Mark Williamson. [akpm@xxxxxxxxxxxxxxxxxxxx: fix spello] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Reviewed-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Tested-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c90308e7a77af6742a97d1021cca923b23b7f0d Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:07 2015 -0700 pagemap: hide physical addresses from non-privileged users This patch makes pagemap readable for normal users and hides physical addresses from them. For some use-cases PFN isn't required at all. See http://lkml.kernel.org/r/1425935472-17949-1-git-send-email-kirill@xxxxxxxxxxxxx Fixes: ab676b7d6fbf ("pagemap: do not leak physical addresses to non-privileged userspace") Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Tested-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 356515e7b64c2629f686109d426baaf868cdf7e8 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:04 2015 -0700 pagemap: rework hugetlb and thp report This patch moves pmd dissection out of reporting loop: huge pages are reported as bunch of normal pages with contiguous PFNs. Add missing "FILE" bit in hugetlb vmas. Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Tested-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit deb945441b9408d6cd15751f5232eeca9f50a5a1 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:02 2015 -0700 pagemap: switch to the new format and do some cleanup This patch removes page-shift bits (scheduled to remove since 3.11) and completes migration to the new bit layout. Also it cleans messy macro. Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Tested-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a06db751c321546e5563041956a57613259c6720 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:59 2015 -0700 pagemap: check permissions and capabilities at open time This patchset makes pagemap useable again in the safe way (after row hammer bug it was made CAP_SYS_ADMIN-only). This patchset restores access for non-privileged users but hides PFNs from them. Also it adds bit 'map-exclusive' which is set if page is mapped only here: it helps in estimation of working set without exposing pfns and allows to distinguish CoWed and non-CoWed private anonymous pages. Second patch removes page-shift bits and completes migration to the new pagemap format: flags soft-dirty and mmap-exclusive are available only in the new format. This patch (of 5): This patch moves permission checks from pagemap_read() into pagemap_open(). Pointer to mm is saved in file->private_data. This reference pins only mm_struct itself. /proc/*/mem, maps, smaps already work in the same way. See http://lkml.kernel.org/r/CA+55aFyKpWrt_Ajzh1rzp_GcwZ4=6Y=kOv8hBz172CFJp6L8Tg@xxxxxxxxxxxxxx Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Tested-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b5e3aa0a4d5e35329203fd09acb0dbc7f7fd64de Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Tue Sep 8 14:59:56 2015 -0700 mm: remove put_page_unless_one() It has no callers. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4fcab5f437c481e51c270a2d12ef56a3f2367371 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:53 2015 -0700 mm/memblock.c: WARN_ON when flags differs from overlap region Each memblock_region has flags to indicates the type of this range. For the overlap case, memblock_add_range() inserts the lower part and leave the upper part as indicated in the overlapped region. If the flags of the new range differs from the overlapped region, the information recorded is not correct. This patch adds a WARN_ON when the flags of the new range differs from the overlapped region. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f3eb55bfad8a6dfd880559210f5b21737d69815 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:50 2015 -0700 mm/page_alloc.c: remove unused variable in free_area_init_core() Commit febd5949e134 ("mm/memory hotplug: init the zone's size when calculating node totalpages") refines the function free_area_init_core(). After doing so, these two parameters are not used anymore. This patch removes these two parameters. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 904a9553d4fcdc0c7d5621f6178f0e07598701dc Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:48 2015 -0700 mm/page_alloc.c: refine the calculation of highest possible node id nr_node_ids records the highest possible node id, which is calculated by scanning the bitmap node_states[N_POSSIBLE]. Current implementation scan the bitmap from the beginning, which will scan the whole bitmap. This patch reverses the order by scanning from the end with find_last_bit(). Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 52a2b53ffde6d6018dfc454fbde34383351fb896 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:45 2015 -0700 mm, dax: use i_mmap_unlock_write() in do_cow_fault() __dax_fault() takes i_mmap_lock for write. Let's pair it with write unlock on do_cow_fault() side. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 46c043ede4711e8d598b9d63c5616c1fedb0605e Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:42 2015 -0700 mm: take i_mmap_lock in unmap_mapping_range() for DAX DAX is not so special: we need i_mmap_lock to protect mapping->i_mmap. __dax_pmd_fault() uses unmap_mapping_range() shoot out zero page from all mappings. We need to drop i_mmap_lock there to avoid lock deadlock. Re-aquiring the lock should be fine since we check i_size after the point. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3fdd1b479dbc03347e98f904f54133a9cef5521f Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:39 2015 -0700 dax: use linear_page_index() I was basically open-coding it (thanks to copying code from do_fault() which probably also needs to be fixed). Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 73a6ec47f68787df1b41869def52915da2f4a6b7 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:37 2015 -0700 dax: ensure that zero pages are removed from other processes If the first access to a huge page was a store, there would be no existing zero pmd in this process's page tables. There could be a zero pmd in another process's page tables, if it had done a load. We can detect this case by noticing that the buffer_head returned from the filesystem is New, and ensure that other processes mapping this huge page have their page tables flushed. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Reported-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d295e3415a88ae63a37a22652808b20c7fcb970e Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:34 2015 -0700 dax: don't use set_huge_zero_page() This is another place where DAX assumed that pgtable_t was a pointer. Open code the important parts of set_huge_zero_page() in DAX and make set_huge_zero_page() static again. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da146769004e1dd5ed06853e6d009be8ca675d5f Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:31 2015 -0700 thp: fix zap_huge_pmd() for DAX The original DAX code assumed that pgtable_t was a pointer, which isn't true on all architectures. Restructure the code to not rely on that assumption. [willy@xxxxxxxxxxxxxxx: further fixes integrated into this patch] Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5b701b846aad7909d20693bcced2522d0ce8d1bc Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:28 2015 -0700 thp: decrement refcount on huge zero page if it is split The DAX code neglected to put the refcount on the huge zero page. Also we must notify on splits. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 843172978bb92997310d2f7fbc172ece423cfc02 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:25 2015 -0700 dax: fix race between simultaneous faults If two threads write-fault on the same hole at the same time, the winner of the race will return to userspace and complete their store, only to have the loser overwrite their store with zeroes. Fix this for now by taking the i_mmap_sem for write instead of read, and do so outside the call to get_block(). Now the loser of the race will see the block has already been zeroed, and will not zero it again. This severely limits our scalability. I have ideas for improving it, but those can wait for a later patch. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01a33b4ace68bc35679a347f21d5ed6e222e30dc Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:22 2015 -0700 ext4: start transaction before calling into DAX Jan Kara pointed out that in the case where we are writing to a hole, we can end up with a lock inversion between the page lock and the journal lock. We can avoid this by starting the transaction in ext4 before calling into DAX. The journal lock nests inside the superblock pagefault lock, so we have to duplicate that code from dax_fault, like XFS does. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ed923b5776a2d2e949bd5b20f3956d68f3c826b7 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:20 2015 -0700 ext4: add ext4_get_block_dax() DAX wants different semantics from any currently-existing ext4 get_block callback. Unlike ext4_get_block_write(), it needs to honour the 'create' flag, and unlike ext4_get_block(), it needs to be able to return unwritten extents. So introduce a new ext4_get_block_dax() which has those semantics. We could also change ext4_get_block_write() to honour the 'create' flag, but that might have consequences on other users that I do not currently understand. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 84c4e5e675408b6fb7d74eec7da9a4a5698b50af Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:17 2015 -0700 dax: improve comment about truncate race Jan Kara pointed out I should be more explicit here about the perils of racing against truncate. The comment is mostly the same as for the PTE case. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ae18d6dcf57b56b984ff27fd55b4e2caf5bfbd44 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:14 2015 -0700 thp: change insert_pfn's return type to void It would make more sense to have all the return values from vmf_insert_pfn_pmd() encoded in one place instead of having to follow the convention into insert_pfn(). Suggested by Jeff Moyer. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e676a4c191653787c3fe851fe3b9f1f33d49dac2 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:11 2015 -0700 ext4: use ext4_get_block_write() for DAX DAX relies on the get_block function either zeroing newly allocated blocks before they're findable by subsequent calls to get_block, or marking newly allocated blocks as unwritten. ext4_get_block() cannot create unwritten extents, but ext4_get_block_write() can. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Reported-by: Andy Rudoff <andy.rudoff@xxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd8a2b6c29a3221c19ab475c8408fc2b914ccfab Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Tue Sep 8 14:59:09 2015 -0700 fs/dax.c: fix typo in #endif comment Fix typo s/CONFIG_TRANSPARENT_HUGEPAGES/CONFIG_TRANSPARENT_HUGEPAGE/ in #endif comment introduced by commit 2b26a9206d6a ("dax: add huge page fault support"). Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit acd76e74d80f961553861d9cf49a62cbcf496d28 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:06 2015 -0700 xfs: huge page fault support Use DAX to provide support for huge pages. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 11bd1a9ecdd687b8a4b9b360b7e4b74a1a5e2bd5 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:03 2015 -0700 ext4: huge page fault support Use DAX to provide support for huge pages. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e7b1ea2ad6581b83f63246db48aa2c2c9bf2ec8d Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:00 2015 -0700 ext2: huge page fault support Use DAX to provide support for huge pages. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 844f35db1088dd1a9de37b53d4d823626232bd19 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:57 2015 -0700 dax: add huge page fault support This is the support code for DAX-enabled filesystems to allow them to provide huge pages in response to faults. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5cad465d7fa646bad3d677df276bfc8e2ad709e3 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:54 2015 -0700 mm: add vmf_insert_pfn_pmd() Similar to vm_insert_pfn(), but for PMDs rather than PTEs. The 'vmf_' prefix instead of 'vm_' prefix is intended to indicate that it returns a VMF_ value rather than an errno (which would only have to be converted into a VMF_ value anyway). Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fc43704437ebe40f642ac53f7ee73661fe74e6b8 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:51 2015 -0700 mm: export various functions for the benefit of DAX To use the huge zero page in DAX, we need these functions exported. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b96375f74a6d4f39fc6cbdc0bce5175115c7f96f Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:48 2015 -0700 mm: add a pmd_fault handler Allow non-anonymous VMAs to provide huge pages in response to a page fault. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4897c7655d9419ba7e62bac145ec6a1847134d93 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:45 2015 -0700 thp: prepare for DAX huge pages Add a vma_is_dax() helper macro to test whether the VMA is DAX, and use it in zap_huge_pmd() and __split_huge_page_pmd(). [akpm@xxxxxxxxxxxxxxxxxxxx: fix build] Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c414164593514f76b422faae0824bdd3754209b Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:43 2015 -0700 dax: revert userfaultfd change Undo the change which "userfaultfd: call handle_userfault() for userfaultfd_missing() faults" made to set_huge_zero_page(). DAX will need that return value. Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c94c2acf84dc16cf4b989bb0bc849785b7ff52f5 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:40 2015 -0700 dax: move DAX-related functions to a new header In order to handle the !CONFIG_TRANSPARENT_HUGEPAGES case, we need to return VM_FAULT_FALLBACK from the inlined dax_pmd_fault(), which is defined in linux/mm.h. Given that we don't want to include <linux/mm.h> in <linux/fs.h>, the easiest solution is to move the DAX-related functions to a new header, <linux/dax.h>. We could also have moved VM_FAULT_* definitions to a new header, or a different header that isn't quite such a boil-the-ocean header as <linux/mm.h>, but this felt like the best option. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e1b9996b85ba3ff143ded04523cd015762d20f03 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:37 2015 -0700 thp: vma_adjust_trans_huge(): adjust file-backed VMA too This series of patches adds support for using PMD page table entries to map DAX files. We expect NV-DIMMs to start showing up that are many gigabytes in size and the memory consumption of 4kB PTEs will be astronomical. The patch series leverages much of the Transparant Huge Pages infrastructure, going so far as to borrow one of Kirill's patches from his THP page cache series. This patch (of 10): Since we're going to have huge pages in page cache, we need to call adjust file-backed VMA, which potentially can contain huge pages. For now we call it for all VMAs. Probably later we will need to introduce a flag to indicate that the VMA has huge pages. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Acked-by: Hillf Danton <dhillf@xxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ce75799b83aaf3fd592e21531a9532bed157c6b5 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 8 14:58:34 2015 -0700 mremap: fix the wrong !vma->vm_file check in copy_vma() Test-case: #define _GNU_SOURCE #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/mman.h> #include <assert.h> void *find_vdso_vaddr(void) { FILE *perl; char buf[32] = {}; perl = popen("perl -e 'open STDIN,qq|/proc/@{[getppid]}/maps|;" "/^(.*?)-.*vdso/ && print hex $1 while <>'", "r"); fread(buf, sizeof(buf), 1, perl); fclose(perl); return (void *)atol(buf); } #define PAGE_SIZE 4096 void *get_unmapped_area(void) { void *p = mmap(0, PAGE_SIZE, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1,0); assert(p != MAP_FAILED); munmap(p, PAGE_SIZE); return p; } char save[2][PAGE_SIZE]; int main(void) { void *vdso = find_vdso_vaddr(); void *page[2]; assert(vdso); memcpy(save, vdso, sizeof (save)); // force another fault on the next check assert(madvise(vdso, 2 * PAGE_SIZE, MADV_DONTNEED) == 0); page[0] = mremap(vdso, PAGE_SIZE, PAGE_SIZE, MREMAP_FIXED | MREMAP_MAYMOVE, get_unmapped_area()); page[1] = mremap(vdso + PAGE_SIZE, PAGE_SIZE, PAGE_SIZE, MREMAP_FIXED | MREMAP_MAYMOVE, get_unmapped_area()); assert(page[0] != MAP_FAILED && page[1] != MAP_FAILED); printf("match: %d %d\n", !memcmp(save[0], page[0], PAGE_SIZE), !memcmp(save[1], page[1], PAGE_SIZE)); return 0; } fails without this patch. Before the previous commit it gets the wrong page, now it segfaults (which is imho better). This is because copy_vma() wrongly assumes that if vma->vm_file == NULL is irrelevant until the first fault which will use do_anonymous_page(). This is obviously wrong for the special mapping. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a9cc3b55e9d20289cc18a65257e62c2dd4932fb Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 8 14:58:31 2015 -0700 mmap: fix the usage of ->vm_pgoff in special_mapping paths Test-case: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/mman.h> #include <assert.h> void *find_vdso_vaddr(void) { FILE *perl; char buf[32] = {}; perl = popen("perl -e 'open STDIN,qq|/proc/@{[getppid]}/maps|;" "/^(.*?)-.*vdso/ && print hex $1 while <>'", "r"); fread(buf, sizeof(buf), 1, perl); fclose(perl); return (void *)atol(buf); } #define PAGE_SIZE 4096 int main(void) { void *vdso = find_vdso_vaddr(); assert(vdso); // of course they should differ, and they do so far printf("vdso pages differ: %d\n", !!memcmp(vdso, vdso + PAGE_SIZE, PAGE_SIZE)); // split into 2 vma's assert(mprotect(vdso, PAGE_SIZE, PROT_READ) == 0); // force another fault on the next check assert(madvise(vdso, 2 * PAGE_SIZE, MADV_DONTNEED) == 0); // now they no longer differ, the 2nd vm_pgoff is wrong printf("vdso pages differ: %d\n", !!memcmp(vdso, vdso + PAGE_SIZE, PAGE_SIZE)); return 0; } Output: vdso pages differ: 1 vdso pages differ: 0 This is because split_vma() correctly updates ->vm_pgoff, but the logic in insert_vm_struct() and special_mapping_fault() is absolutely broken, so the fault at vdso + PAGE_SIZE return the 1st page. The same happens if you simply unmap the 1st page. special_mapping_fault() does: pgoff = vmf->pgoff - vma->vm_pgoff; and this is _only_ correct if vma->vm_start mmaps the first page from ->vm_private_data array. vdso or any other user of install_special_mapping() is not anonymous, it has the "backing storage" even if it is just the array of pages. So we actually need to make vm_pgoff work as an offset in this array. Note: this also allows to fix another problem: currently gdb can't access "[vvar]" memory because in this case special_mapping_fault() doesn't work. Now that we can use ->vm_pgoff we can implement ->access() and fix this. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b5330628546616af14ff23075fbf8d4ad91f6e25 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 8 14:58:28 2015 -0700 mm: introduce vma_is_anonymous(vma) helper special_mapping_fault() is absolutely broken. It seems it was always wrong, but this didn't matter until vdso/vvar started to use more than one page. And after this change vma_is_anonymous() becomes really trivial, it simply checks vm_ops == NULL. However, I do think the helper makes sense. There are a lot of ->vm_ops != NULL checks, the helper makes the caller's code more understandable (self-documented) and this is more grep-friendly. This patch (of 3): Preparation. Add the new simple helper, vma_is_anonymous(vma), and change handle_pte_fault() to use it. It will have more users. The name is not accurate, say a hpet_mmap()'ed vma is not anonymous. Perhaps it should be named vma_has_fault() instead. But it matches the logic in mmap.c/memory.c (see next changes). "True" just means that a page fault will use do_anonymous_page(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit af8713b701a74c3784ce6683f64f474a94b1b643 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:25 2015 -0700 selftests/userfaultfd: fix compiler warnings on 32-bit On 32-bit: userfaultfd.c: In function 'locking_thread': userfaultfd.c:152: warning: left shift count >= width of type userfaultfd.c: In function 'uffd_poll_thread': userfaultfd.c:295: warning: cast to pointer from integer of different size userfaultfd.c: In function 'uffd_read_thread': userfaultfd.c:332: warning: cast to pointer from integer of different size Fix the shift warning by splitting the shift in two parts, and the integer/pointer warnigns by adding intermediate casts to "unsigned long". Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 61e57c0c3a37539e13af03ce68598034d37c7256 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Sep 8 14:58:22 2015 -0700 cgroup: fix seq_show_option merge with legacy_name When seq_show_option (commit a068acf2ee77: "fs: create and use seq_show_option for escaping") was merged, it did not correctly collide with cgroup's addition of legacy_name (commit 3e1d2eed39d8: "cgroup: introduce cgroup_subsys->legacy_name") changes. This fixes the reported name. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 12f03ee606914317e7e6a0815e53a48205c31dae Merge: d9241b2 004f1af Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:35:59 2015 -0700 Merge tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull libnvdimm updates from Dan Williams: "This update has successfully completed a 0day-kbuild run and has appeared in a linux-next release. The changes outside of the typical drivers/nvdimm/ and drivers/acpi/nfit.[ch] paths are related to the removal of IORESOURCE_CACHEABLE, the introduction of memremap(), and the introduction of ZONE_DEVICE + devm_memremap_pages(). Summary: - Introduce ZONE_DEVICE and devm_memremap_pages() as a generic mechanism for adding device-driver-discovered memory regions to the kernel's direct map. This facility is used by the pmem driver to enable pfn_to_page() operations on the page frames returned by DAX ('direct_access' in 'struct block_device_operations'). For now, the 'memmap' allocation for these "device" pages comes from "System RAM". Support for allocating the memmap from device memory will arrive in a later kernel. - Introduce memremap() to replace usages of ioremap_cache() and ioremap_wt(). memremap() drops the __iomem annotation for these mappings to memory that do not have i/o side effects. The replacement of ioremap_cache() with memremap() is limited to the pmem driver to ease merging the api change in v4.3. Completion of the conversion is targeted for v4.4. - Similar to the usage of memcpy_to_pmem() + wmb_pmem() in the pmem driver, update the VFS DAX implementation and PMEM api to provide persistence guarantees for kernel operations on a DAX mapping. - Convert the ACPI NFIT 'BLK' driver to map the block apertures as cacheable to improve performance. - Miscellaneous updates and fixes to libnvdimm including support for issuing "address range scrub" commands, clarifying the optimal 'sector size' of pmem devices, a clarification of the usage of the ACPI '_STA' (status) property for DIMM devices, and other minor fixes" * tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (34 commits) libnvdimm, pmem: direct map legacy pmem by default libnvdimm, pmem: 'struct page' for pmem libnvdimm, pfn: 'struct page' provider infrastructure x86, pmem: clarify that ARCH_HAS_PMEM_API implies PMEM mapped WB add devm_memremap_pages mm: ZONE_DEVICE for "device memory" mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h dax: drop size parameter to ->direct_access() nd_blk: change aperture mapping from WC to WB nvdimm: change to use generic kvfree() pmem, dax: have direct_access use __pmem annotation dax: update I/O path to do proper PMEM flushing pmem: add copy_from_iter_pmem() and clear_pmem() pmem, x86: clean up conditional pmem includes pmem: remove layer when calling arch_has_wmb_pmem() pmem, x86: move x86 PMEM API to new pmem.h header libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option pmem: switch to devm_ allocations devres: add devm_memremap libnvdimm, btt: write and validate parent_uuid ... commit d9241b22b58e012f26dd2244508d9f4837402af0 Merge: 605e971 3716001 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:23:13 2015 -0700 Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull misc kbuild updates from Michal Marek: - deb-pkg: + module signing fix + dtb files are added to the package + do not require `hostname -f` to work during build + make deb-pkg generates a source package, bindeb-pkg has been added to only generate the binary package - rpm-pkg packages /lib/modules as well - new coccinelle patch and updates to existing ones - new stackusage & stackdelta script to collect and compare stack usage info (using gcc's -fstack-usage) - make tags understands trace_*_rcuidle() macros - .gitignore updates, misc cleanups * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (27 commits) deb-pkg: add source package package/Makefile: move source tar creation to a function scripts: add stackdelta script kbuild: remove *.su files generated by -fstack-usage .gitignore: add *.su pattern scripts: add stackusage script kbuild: avoid listing /lib/modules in kernel spec file fallback to hostname in scripts/package/builddeb coccinelle: api: extend spatch for dropping unnecessary owner deb-pkg: simplify directory creation scripts/tags.sh: Include trace_*_rcuidle() in tags scripts/package/Makefile: rpmbuild is needed for rpm targets Kbuild: Add ID files to .gitignore gitignore: Add MIPS vmlinux.32 to the list coccinelle: simple_return: Add a blank line coccinelle: irqf_oneshot.cocci: Improve the generated commit log coccinelle: api: add vma_pages.cocci scripts/coccinelle/misc/irqf_oneshot.cocci: Fix grammar scripts/coccinelle/misc/semicolon.cocci: Use imperative mood coccinelle: simple_open: Use imperative mood ... commit 605e9710fb5fef0dd2bb49d7b75e46601df62112 Merge: dab3c3c 78a6854 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:17:38 2015 -0700 Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kconfig updates from Michal Marek: - kconfig warns about junk characters in Kconfig files - merge_config.sh error handling - small cleanup * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: merge_config.sh: exit on missing input files kconfig: Regenerate shipped zconf.{hash,lex}.c files kconfig: warn of unhandled characters in Kconfig commands kconfig: Delete unnecessary checks before the function call "sym_calc_value" commit dab3c3cc4f44273ccf2d7ff57c0a4f5bd45c0528 Merge: 59a47ff 5631d9c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:12:19 2015 -0700 Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull core kbuild updates from Michal Marek: - modpost portability fix - linker script fix - genksyms segfault fix - fixdep cleanup - fix for clang detection * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: kbuild: Fix clang detection kbuild: fixdep: drop meaningless hash table initialization kbuild: fixdep: optimize code slightly genksyms: Regenerate parser genksyms: Duplicate function pointer type definitions segfault kbuild: Fix .text.unlikely placement Avoid conflict with host definitions when cross-compiling commit 59a47fff0217592e248556a7ab436d5c17365962 Merge: 425afcf b7dc42f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:04:14 2015 -0700 Merge tag 'trace-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing update from Steven Rostedt: "Mostly this is just clean ups and micro optimizations. The changes with more meat are: - Allowing the trace event filters to filter on CPU number and process ids - Two new markers for trace output latency were added (10 and 100 msec latencies) - Have tracing_thresh filter function profiling time I also worked on modifying the ring buffer code for some future work, and moved the adding of the timestamp around. One of my changes caused a regression, and since other changes were built on top of it and already tested, I had to operate a revert of that change. Instead of rebasing, this change set has the code that caused a regression as well as the code to revert that change without touching the other changes that were made on top of it" * tag 'trace-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: ring-buffer: Revert "ring-buffer: Get timestamp after event is allocated" tracing: Don't make assumptions about length of string on task rename tracing: Allow triggers to filter for CPU ids and process names ftrace: Format MCOUNT_ADDR address as type unsigned long tracing: Introduce two additional marks for delay ftrace: Fix function_graph duration spacing with 7-digits ftrace: add tracing_thresh to function profile tracing: Clean up stack tracing and fix fentry updates ring-buffer: Reorganize function locations ring-buffer: Make sure event has enough room for extend and padding ring-buffer: Get timestamp after event is allocated ring-buffer: Move the adding of the extended timestamp out of line ring-buffer: Add event descriptor to simplify passing data ftrace: correct the counter increment for trace_buffer data tracing: Fix for non-continuous cpu ids tracing: Prefer kcalloc over kzalloc with multiply commit 5b902d6f97f573fde911338e5d943e6b07fac7f9 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Thu Sep 3 23:59:50 2015 +0100 device property: Don't overwrite addr when failing in device_get_mac_address The function device_get_mac_address is trying different property names in order to get the mac address. To check the return value, the variable addr (which contain the buffer pass by the caller) will be re-used. This means that if the previous property is not found, the next property will be read using a NULL buffer. Therefore it's only possible to retrieve the mac if node contains a property "mac-address". Fix it by using a temporary buffer for the return value. This has been introduced by commit 4c96b7dc0d393f12c17e0d81db15aa4a820a6ab3 "Add a matching set of device_ functions for determining mac/phy" Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Cc: Jeremy Linton <jeremy.linton@xxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 425afcff13a4bea2a3cf6f395cbc66fc158852be Merge: b793c00 15ce414 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 13:34:59 2015 -0700 Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit Pull audit update from Paul Moore: "This is one of the larger audit patchsets in recent history, consisting of eight patches and almost 400 lines of changes. The bulk of the patchset is the new "audit by executable" functionality which allows admins to set an audit watch based on the executable on disk. Prior to this, admins could only track an application by PID, which has some obvious limitations. Beyond the new functionality we also have some refcnt fixes and a few minor cleanups" * 'upstream' of git://git.infradead.org/users/pcmoore/audit: fixup: audit: implement audit by executable audit: implement audit by executable audit: clean simple fsnotify implementation audit: use macros for unset inode and device values audit: make audit_del_rule() more robust audit: fix uninitialized variable in audit_add_rule() audit: eliminate unnecessary extra layer of watch parent references audit: eliminate unnecessary extra layer of watch references commit fcb0bb6aab256288a4e0a8650d26e4096ec30319 Author: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Date: Tue Sep 1 17:05:33 2015 +0300 usbnet: Fix a race between usbnet_stop() and the BH The race may happen when a device (e.g. YOTA 4G LTE Modem) is unplugged while the system is downloading a large file from the Net. Hardware breakpoints and Kprobes with delays were used to confirm that the race does actually happen. The race is on skb_queue ('next' pointer) between usbnet_stop() and rx_complete(), which, in turn, calls usbnet_bh(). Here is a part of the call stack with the code where the changes to the queue happen. The line numbers are for the kernel 4.1.0: *0 __skb_unlink (skbuff.h:1517) prev->next = next; *1 defer_bh (usbnet.c:430) spin_lock_irqsave(&list->lock, flags); old_state = entry->state; entry->state = state; __skb_unlink(skb, list); spin_unlock(&list->lock); spin_lock(&dev->done.lock); __skb_queue_tail(&dev->done, skb); if (dev->done.qlen == 1) tasklet_schedule(&dev->bh); spin_unlock_irqrestore(&dev->done.lock, flags); *2 rx_complete (usbnet.c:640) state = defer_bh(dev, skb, &dev->rxq, state); At the same time, the following code repeatedly checks if the queue is empty and reads these values concurrently with the above changes: *0 usbnet_terminate_urbs (usbnet.c:765) /* maybe wait for deletions to finish. */ while (!skb_queue_empty(&dev->rxq) && !skb_queue_empty(&dev->txq) && !skb_queue_empty(&dev->done)) { schedule_timeout(msecs_to_jiffies(UNLINK_TIMEOUT_MS)); set_current_state(TASK_UNINTERRUPTIBLE); netif_dbg(dev, ifdown, dev->net, "waited for %d urb completions\n", temp); } *1 usbnet_stop (usbnet.c:806) if (!(info->flags & FLAG_AVOID_UNLINK_URBS)) usbnet_terminate_urbs(dev); As a result, it is possible, for example, that the skb is removed from dev->rxq by __skb_unlink() before the check "!skb_queue_empty(&dev->rxq)" in usbnet_terminate_urbs() is made. It is also possible in this case that the skb is added to dev->done queue after "!skb_queue_empty(&dev->done)" is checked. So usbnet_terminate_urbs() may stop waiting and return while dev->done queue still has an item. Locking in defer_bh() and usbnet_terminate_urbs() was revisited to avoid this race. Signed-off-by: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Reviewed-by: Bjørn Mork <bjorn@xxxxxxx> Acked-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b9558aab853e98ba6e3fee0dd8545544966958c Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Sep 1 17:19:38 2015 +0800 libceph: use keepalive2 to verify the mon session is alive Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit d194cd1dd1be61249b08e5461ae8a9c05d1072c9 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Aug 31 18:22:10 2015 +0300 rbd: plug rbd_dev->header.object_prefix memory leak Need to free object_prefix when rbd_dev_v2_snap_context() fails, but only if this is the first time we are reading in the header. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 3ebe138ac642a195c7f2efdb918f464734421fd6 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Aug 31 15:21:39 2015 +0300 rbd: fix double free on rbd_dev->header_name If rbd_dev_image_probe() in rbd_dev_probe_parent() fails, header_name is freed twice: once in rbd_dev_probe_parent() and then in its caller rbd_dev_image_probe() (rbd_dev_image_probe() is called recursively to handle parent images). rbd_dev_probe_parent() is responsible for probing the parent, so it shouldn't muck with clone's fields. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 6dd74e44dc1df85f125982a8d6591bc4a76c9f5d Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Fri Aug 28 17:59:35 2015 +0800 libceph: set 'exists' flag for newly up osd Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 5fdb1389e1399d6801a8c5d10952ef4153039fb2 Author: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Date: Tue Aug 18 10:30:38 2015 +0800 ceph: cleanup use of ceph_msg_get Signed-off-by: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit e36d571d70c7f46b20c28d81025fd5fc044a8e22 Author: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Date: Tue Aug 18 10:25:35 2015 +0800 ceph: no need to get parent inode in ceph_open parent inode is needed in creating new inode case. For ceph_open, the target inode already exists. Signed-off-by: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit a43137f7b0f1467cf3005b6ff6574d978642d247 Author: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Date: Tue Aug 18 10:23:50 2015 +0800 ceph: remove the useless judgement err != 0 is already handled. So skip this. Signed-off-by: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 1550d34e5626a20a2e12c73bdc1e6e217a0ba897 Author: Brad Hubbard <bhubbard@xxxxxxxxxx> Date: Tue Aug 18 10:18:53 2015 +0800 ceph: remove redundant test of head->safe and silence static analysis warnings Signed-off-by: Brad Hubbard <bhubbard@xxxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 23078637e05460428f803be7d0f46908df8a970a Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Jul 20 10:14:06 2015 +0800 ceph: fix queuing inode to mdsdir's snaprealm During MDS failovers, MClientSnap message may cause kclient to move some inodes from root directory's snaprealm to mdsdir's snaprealm and queue snapshots for these inodes. For a FS has never created any snapshot, both root directory's snaprealm and mdsdir's snaprealm share the same snapshot contexts (both are ceph_empty_snapc). This confuses ceph_put_wrbuffer_cap_refs(), make it unable to distinguish snapshot buffers from head buffers. The fix is do not use ceph_empty_snapc as snaprealm's cached context. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 6893162215d7bf08a4273247ec1fc7dedee5135c Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Fri Jul 3 15:44:41 2015 +0300 libceph: rename con_work() to ceph_con_workfn() Even though it's static, con_work(), being a work func, shows up in various stacktraces a lot. Prefix it with ceph_. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit d920ff6fc7c1ec3d7bd80432bff5575c0ebe426c Author: Benoît Canet <benoit.canet@xxxxxxxxxxxx> Date: Thu Jun 25 21:02:57 2015 +0200 libceph: Avoid holding the zero page on ceph_msgr_slab_init errors ceph_msgr_slab_init may fail due to a temporary ENOMEM. Delay a bit the initialization of zero_page in ceph_msgr_init and reorder its cleanup in _ceph_msgr_exit so it's done in reverse order of setup. BUG_ON() will not suffer to be postponed in case it is triggered. Signed-off-by: Benoît Canet <benoit.canet@xxxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit b79b23682a1649f30960fb5bd920ba46c89a1b14 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Sun Jul 5 06:34:05 2015 +0000 libceph: remove the unused macro AES_KEY_SIZE This removes the no longer used macro AES_KEY_SIZE as no functions use this macro anymore and thus this macro can be removed due it no longer being required. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit a341d4df87487ae68189e0be869c39a2b0cb9aaa Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Jul 1 17:03:23 2015 +0800 ceph: invalidate dirty pages after forced umount After forced umount, ceph_writepages_start() skips flushing dirty pages. To make sure inode's reference count get dropped to zero, we need to invalidate dirty pages. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 48fec5d0a504dfbb302cb1dd24ebb0b82a46cce9 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Jul 1 16:27:46 2015 +0800 ceph: EIO all operations after forced umount This patch makes try_get_cap_refs() and __do_request() check if the file system was forced umount, and return -EIO if it was. This patch also adds a helper function to drops dirty caps and wakes up blocking operation. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit b793c005ceabf6db0b17494b0ec67ade6796bb34 Merge: 6f0a2fc 07f081f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 12:41:25 2015 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull security subsystem updates from James Morris: "Highlights: - PKCS#7 support added to support signed kexec, also utilized for module signing. See comments in 3f1e1bea. ** NOTE: this requires linking against the OpenSSL library, which must be installed, e.g. the openssl-devel on Fedora ** - Smack - add IPv6 host labeling; ignore labels on kernel threads - support smack labeling mounts which use binary mount data - SELinux: - add ioctl whitelisting (see http://kernsec.org/files/lss2015/vanderstoep.pdf) - fix mprotect PROT_EXEC regression caused by mm change - Seccomp: - add ptrace options for suspend/resume" * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (57 commits) PKCS#7: Add OIDs for sha224, sha284 and sha512 hash algos and use them Documentation/Changes: Now need OpenSSL devel packages for module signing scripts: add extract-cert and sign-file to .gitignore modsign: Handle signing key in source tree modsign: Use if_changed rule for extracting cert from module signing key Move certificate handling to its own directory sign-file: Fix warning about BIO_reset() return value PKCS#7: Add MODULE_LICENSE() to test module Smack - Fix build error with bringup unconfigured sign-file: Document dependency on OpenSSL devel libraries PKCS#7: Appropriately restrict authenticated attributes and content type KEYS: Add a name for PKEY_ID_PKCS7 PKCS#7: Improve and export the X.509 ASN.1 time object decoder modsign: Use extract-cert to process CONFIG_SYSTEM_TRUSTED_KEYS extract-cert: Cope with multiple X.509 certificates in a single file sign-file: Generate CMS message as signature instead of PKCS#7 PKCS#7: Support CMS messages also [RFC5652] X.509: Change recorded SKID & AKID to not include Subject or Issuer PKCS#7: Check content type and versions MAINTAINERS: The keyrings mailing list has moved ... commit 6f0a2fc1feb19bd142961a39dc118e7e55418b3f Merge: 752240e 96f0e00 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 12:28:10 2015 -0700 Merge branch 'nmi' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull NMI backtrace update from Russell King: "These changes convert the x86 NMI handling to be a library implementation which other architectures can make use of. Thomas Gleixner has reviewed and tested these changes, and wishes me to send these rather than taking them through the tip tree. The final patch in the set adds an initial implementation using this infrastructure to ARM, even though it doesn't send the IPI at "NMI" level. Patches are in progress to add the ARM equivalent of NMI, but we still need the IRQ-level fallback for systems where the "NMI" isn't available due to secure firmware denying access to it" * 'nmi' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: add basic support for on-demand backtrace of other CPUs nmi: x86: convert to generic nmi handler nmi: create generic NMI backtrace implementation commit 752240e74d650faa24425adc523f1308973ea51c Merge: b8cb642 626d750 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 11:46:48 2015 -0700 Merge tag 'for-linus-4.3-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen updates from David Vrabel: "Xen features and fixes for 4.3: - Convert xen-blkfront to the multiqueue API - [arm] Support binding event channels to different VCPUs. - [x86] Support > 512 GiB in a PV guests (off by default as such a guest cannot be migrated with the current toolstack). - [x86] PMU support for PV dom0 (limited support for using perf with Xen and other guests)" * tag 'for-linus-4.3-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (33 commits) xen: switch extra memory accounting to use pfns xen: limit memory to architectural maximum xen: avoid another early crash of memory limited dom0 xen: avoid early crash of memory limited dom0 arm/xen: Remove helpers which are PV specific xen/x86: Don't try to set PCE bit in CR4 xen/PMU: PMU emulation code xen/PMU: Intercept PMU-related MSR and APIC accesses xen/PMU: Describe vendor-specific PMU registers xen/PMU: Initialization code for Xen PMU xen/PMU: Sysfs interface for setting Xen PMU mode xen: xensyms support xen: remove no longer needed p2m.h xen: allow more than 512 GB of RAM for 64 bit pv-domains xen: move p2m list if conflicting with e820 map xen: add explicit memblock_reserve() calls for special pages mm: provide early_memremap_ro to establish read-only mapping xen: check for initrd conflicting with e820 map xen: check pre-allocated page tables for conflict with memory map xen: check for kernel memory conflicting with memory layout ... commit b8cb642af98216fe6eeca1525345b8a5c9d7c9a4 Merge: 1c8cc72 4a6ac30 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 11:36:56 2015 -0700 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull more irq updates from Thomas Gleixner: "The second part of irq related updates: - Provide EOImode for GIC[V3] irq chips, which is a prerequisite for direct interrupt handling in [KVM] guests" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip/GIC: Fix EOImode setting for non-DT/ACPI systems irqchip/GIC: Don't deactivate interrupts forwarded to a guest irqchip/GIC: Convert to EOImode == 1 irqchip/GICv3: Don't deactivate interrupts forwarded to a guest irqchip/GICv3: Convert to EOImode == 1 commit 1c8cc72d57f321bfccadf4f7b38b94ba287928bc Merge: b9ffce9 50e48bd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 11:31:33 2015 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu Pull m68k/colfire fixes from Greg Ungerer: "Only a couple of patches this time. One migrating the clock driver code to the new set-state interface. The other cleaning up to use the PFN_DOWN macro" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k/coldfire: use PFN_DOWN macro m68k/coldfire/pit: Migrate to new 'set-state' interface commit b9ffce9ae14fa6068a7c8c3ce2350ee3a8c1787b Merge: 0c8e2f2 0dad87f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 11:26:17 2015 -0700 Merge tag 'ecryptfs-4.3-rc1-stale-dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs Pull ecryptfs fixes from Tyler Hicks: "Invalidate stale eCryptfs dcache entries caused by unlinked lower inodes" * tag 'ecryptfs-4.3-rc1-stale-dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs: eCryptfs: Delete a check before the function call "key_put" eCryptfs: Invalidate dcache entries when lower i_nlink is zero commit 0c8e2f2c7b86c29775379f716f7db07516fcbcbf Merge: 49df2e3 71c6da8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 11:20:39 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fix from Herbert Xu: "This fixes a memory corruption bug in ghash-clmulni-intel due to insufficient memory allocation" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: ghash-clmulni: specify context size for ghash async algorithm commit 49df2e3e902e1c3caf998f97a92512424936199d Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Wed Jul 29 18:53:17 2015 +0200 userfaultfd: selftest: update userfaultfd x86 32bit syscall number It changed as result of other syscalls, and while the system call list itself was correctly updated, the selftest program was not. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5f51042f876b88a3b81a135cc4ca0adb3d246112 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:42 2015 +0100 xen/xenbus: Rename the variable xen_store_mfn to xen_store_gfn The variable xen_store_mfn is effectively storing a GFN and not an MFN. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a13d7201d7deedcbb6ac6efa94a1a7d34d3d79ec Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:41 2015 +0100 xen/privcmd: Further s/MFN/GFN/ clean-up The privcmd code is mixing the usage of GFN and MFN within the same functions which make the code difficult to understand when you only work with auto-translated guests. The privcmd driver is only dealing with GFN so replace all the mention of MFN into GFN. The ioctl structure used to map foreign change has been left unchanged given that the userspace is using it. Nonetheless, add a comment to explain the expected value within the "mfn" field. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 859e3267c515d0cc7cc11528e80a2b7f3edc3bd9 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:40 2015 +0100 hvc/xen: Further s/MFN/GFN clean-up HVM_PARAM_CONSOLE_PFN is used to retrieved the console PFN for HVM guest. It returns a PFN (aka GFN) and not a MFN. Furthermore, use directly virt_to_gfn for both PV and HVM domain rather than doing a special case for each of the them. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 0467533a7a5da08a881a31120d95cd159e54640b Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:39 2015 +0100 video/xen-fbfront: Further s/MFN/GFN clean-up The PV driver xen-fbfront is only dealing with GFN and not MFN. Rename all the occurence of MFN to GFN. Also take the opportunity to replace to usage of pfn_to_gfn by xen_page_to_gfn. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a76e3cc32d872acd5104278d21d2084da07c16a8 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:38 2015 +0100 xen/tmem: Use xen_page_to_gfn rather than pfn_to_gfn All the caller of xen_tmem_{get,put}_page have a struct page * in hand and call pfn_to_gfn for the only benefits of these 2 functions. Rather than passing the pfn in parameter, pass directly the page and use directly xen_page_to_gfn. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 0df4f266b3af90442bbeb5e685a84a80745beba0 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:37 2015 +0100 xen: Use correctly the Xen memory terminologies Based on include/xen/mm.h [1], Linux is mistakenly using MFN when GFN is meant, I suspect this is because the first support for Xen was for PV. This resulted in some misimplementation of helpers on ARM and confused developers about the expected behavior. For instance, with pfn_to_mfn, we expect to get an MFN based on the name. Although, if we look at the implementation on x86, it's returning a GFN. For clarity and avoid new confusion, replace any reference to mfn with gfn in any helpers used by PV drivers. The x86 code will still keep some reference of pfn_to_mfn which may be used by all kind of guests No changes as been made in the hypercall field, even though they may be invalid, in order to keep the same as the defintion in xen repo. Note that page_to_mfn has been renamed to xen_page_to_gfn to avoid a name to close to the KVM function gfn_to_page. Take also the opportunity to simplify simple construction such as pfn_to_mfn(page_to_pfn(page)) into xen_page_to_gfn. More complex clean up will come in follow-up patches. [1] http://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=e758ed14f390342513405dd766e874934573e6cb Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5192b35de47e47a0f736fe30da199f32030680e7 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:36 2015 +0100 arm/xen: implement correctly pfn_to_mfn After the commit introducing convertion between DMA and guest addresses, all the callers of pfn_to_mfn are expecting to get a GFN (Guest Frame Number). On ARM, all the guests are auto-translated so the GFN is equal to the Linux PFN (Pseudo-physical Frame Number). The current implementation may return an MFN if the caller is passing a PFN associated to a mapped foreign grant. In pratice, I haven't seen the problem on running guest but we should fix it for the sake of correctness. Correct the implementation by always returning the pfn passed in parameter. A follow-up patch will take care to rename pfn_to_mfn to a suitable name. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 32e09870eedfb501a6cb5729d8c23f44f8a7cbdd Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:35 2015 +0100 xen: Make clear that swiotlb and biomerge are dealing with DMA address The swiotlb is required when programming a DMA address on ARM when a device is not protected by an IOMMU. In this case, the DMA address should always be equal to the machine address. For DOM0 memory, Xen ensure it by have an identity mapping between the guest address and host address. However, when mapping a foreign grant reference, the 1:1 model doesn't work. For ARM guest, most of the callers of pfn_to_mfn expects to get a GFN (Guest Frame Number), i.e a PFN (Page Frame Number) from the Linux point of view given that all ARM guest are auto-translated. Even though the name pfn_to_mfn is misleading, we need to ensure that those caller get a GFN and not by mistake a MFN. In pratical, I haven't seen error related to this but we should fix it for the sake of correctness. In order to fix the implementation of pfn_to_mfn on ARM in a follow-up patch, we have to introduce new helpers to return the DMA from a PFN and the invert. On x86, the new helpers will be an alias of pfn_to_mfn and mfn_to_pfn. The helpers will be used in swiotlb and xen_biovec_phys_mergeable. This is necessary in the latter because we have to ensure that the biovec code will not try to merge a biovec using foreign page and another using Linux memory. Lastly, the helper mfn_to_local_pfn has been renamed to bfn_to_local_pfn given that the only usage was in swiotlb. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 6dc0dcde406bb0e40ad6a6f45f44534d3a094205 Author: Helge Deller <deller@xxxxxx> Date: Tue Sep 8 17:50:03 2015 +0200 parisc: Use platform_device_register_simple("rtc-generic") Signed-off-by: Helge Deller <deller@xxxxxx> commit 72581cecee411be2b2c00226c98e0c20aab337a2 Author: Helge Deller <deller@xxxxxx> Date: Tue Sep 8 17:49:31 2015 +0200 parisc: Drop CONFIG_SMP around update_cr16_clocksource() No need to use CONFIG_SMP around update_cr16_clocksource(). It checks for num_online_cpus() beeing greater than 1, which is always 1 in UP builds. Signed-off-by: Helge Deller <deller@xxxxxx> commit 626d7508664c4bc8e67f496da4387ecd0c410b8c Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Sep 4 14:05:51 2015 +0200 xen: switch extra memory accounting to use pfns Instead of using physical addresses for accounting of extra memory areas available for ballooning switch to pfns as this is much less error prone regarding partial pages. Reported-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Tested-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit cb9e444b5aaa900bb4310da411315b6947c53e37 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Sep 4 14:18:08 2015 +0200 xen: limit memory to architectural maximum When a pv-domain (including dom0) is started it tries to size it's p2m list according to the maximum possible memory amount it ever can achieve. Limit the initial maximum memory size to the architectural limit of the hardware in order to avoid overflows during remapping of memory. This problem will occur when dom0 is started with an initial memory size being a multiple of 1GB, but without specifying it's maximum memory size. The kernel must be configured without CONFIG_XEN_BALLOON_MEMORY_HOTPLUG for the problem to happen. Reported-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Tested-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit ab24507cfae8d916814bb6c16f66e453184a29a5 Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Aug 19 18:53:11 2015 +0200 xen: avoid another early crash of memory limited dom0 Commit b1c9f169047b ("xen: split counting of extra memory pages...") introduced an error when dom0 was started with limited memory occurring only on some hardware. The problem arises in case dom0 is started with initial memory and maximum memory being the same. The kernel must be configured without CONFIG_XEN_BALLOON_MEMORY_HOTPLUG for the problem to happen. If all of this is true and the E820 map of the machine is sparse (some areas are not covered) then the machine might crash early in the boot process. An example E820 map triggering the problem looks like this: [ 0.000000] e820: BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] usable [ 0.000000] BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000cf7fafff] usable [ 0.000000] BIOS-e820: [mem 0x00000000cf7fb000-0x00000000cf95ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cf960000-0x00000000cfb62fff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfb63000-0x00000000cfd14fff] usable [ 0.000000] BIOS-e820: [mem 0x00000000cfd15000-0x00000000cfd61fff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfd62000-0x00000000cfd6cfff] ACPI data [ 0.000000] BIOS-e820: [mem 0x00000000cfd6d000-0x00000000cfd6ffff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfd70000-0x00000000cfd70fff] usable [ 0.000000] BIOS-e820: [mem 0x00000000cfd71000-0x00000000cfea8fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cfea9000-0x00000000cfeb9fff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfeba000-0x00000000cfecafff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cfecb000-0x00000000cfecbfff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfecc000-0x00000000cfedbfff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cfedc000-0x00000000cfedcfff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfedd000-0x00000000cfeddfff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cfede000-0x00000000cfee3fff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfee4000-0x00000000cfef6fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cfef7000-0x00000000cfefffff] usable [ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fec10000-0x00000000fec10fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed00fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed40000-0x00000000fed44fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed61000-0x00000000fed70fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed80000-0x00000000fed8ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000100001000-0x000000020effffff] usable In this case the area a0000-dffff isn't present in the map. This will confuse the memory setup of the domain when remapping the memory from such holes to populated areas. To avoid the problem the accounting of to be remapped memory has to count such holes in the E820 map as well. Reported-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit eafd72e016c69df511b14a98b61e439c58ad9c51 Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Aug 19 18:52:34 2015 +0200 xen: avoid early crash of memory limited dom0 Commit b1c9f169047b ("xen: split counting of extra memory pages...") introduced an error when dom0 was started with limited memory. The problem arises in case dom0 is started with initial memory and maximum memory being the same and exactly a multiple of 1 GB. The kernel must be configured without CONFIG_XEN_BALLOON_MEMORY_HOTPLUG for the problem to happen. In this case it will crash very early during boot due to the virtual mapped p2m list not being large enough to be able to remap any memory: (XEN) Freed 304kB init memory. mapping kernel into physical memory about to get started... (XEN) traps.c:459:d0v0 Unhandled invalid opcode fault/trap [#6] on VCPU 0 [ec=0000] (XEN) domain_crash_sync called from entry.S: fault at ffff82d080229a93 create_bounce_frame+0x12b/0x13a (XEN) Domain 0 (vcpu#0) crashed on cpu#0: (XEN) ----[ Xen-4.5.2-pre x86_64 debug=n Not tainted ]---- (XEN) CPU: 0 (XEN) RIP: e033:[<ffffffff81d120cb>] (XEN) RFLAGS: 0000000000000206 EM: 1 CONTEXT: pv guest (d0v0) (XEN) rax: ffffffff81db2000 rbx: 000000004d000000 rcx: 0000000000000000 (XEN) rdx: 000000004d000000 rsi: 0000000000063000 rdi: 000000004d063000 (XEN) rbp: ffffffff81c03d78 rsp: ffffffff81c03d28 r8: 0000000000023000 (XEN) r9: 00000001040ff000 r10: 0000000000007ff0 r11: 0000000000000000 (XEN) r12: 0000000000063000 r13: 000000000004d000 r14: 0000000000000063 (XEN) r15: 0000000000000063 cr0: 0000000080050033 cr4: 00000000000006f0 (XEN) cr3: 0000000105c0f000 cr2: ffffc90000268000 (XEN) ds: 0000 es: 0000 fs: 0000 gs: 0000 ss: e02b cs: e033 (XEN) Guest stack trace from rsp=ffffffff81c03d28: (XEN) 0000000000000000 0000000000000000 ffffffff81d120cb 000000010000e030 (XEN) 0000000000010006 ffffffff81c03d68 000000000000e02b ffffffffffffffff (XEN) 0000000000000063 000000000004d063 ffffffff81c03de8 ffffffff81d130a7 (XEN) ffffffff81c03de8 000000000004d000 00000001040ff000 0000000000105db1 (XEN) 00000001040ff001 000000000004d062 ffff8800092d6ff8 0000000002027000 (XEN) ffff8800094d8340 ffff8800092d6ff8 00003ffffffff000 ffff8800092d7ff8 (XEN) ffffffff81c03e48 ffffffff81d13c43 ffff8800094d8000 ffff8800094d9000 (XEN) 0000000000000000 ffff8800092d6000 00000000092d6000 000000004cfbf000 (XEN) 00000000092d6000 00000000052d5442 0000000000000000 0000000000000000 (XEN) ffffffff81c03ed8 ffffffff81d185c1 0000000000000000 0000000000000000 (XEN) ffffffff81c03e78 ffffffff810f8ca4 ffffffff81c03ed8 ffffffff8171a15d (XEN) 0000000000000010 ffffffff81c03ee8 0000000000000000 0000000000000000 (XEN) ffffffff81f0e402 ffffffffffffffff ffffffff81dae900 0000000000000000 (XEN) 0000000000000000 0000000000000000 ffffffff81c03f28 ffffffff81d0cf0f (XEN) 0000000000000000 0000000000000000 0000000000000000 ffffffff81db82e0 (XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000 (XEN) ffffffff81c03f38 ffffffff81d0c603 ffffffff81c03ff8 ffffffff81d11c86 (XEN) 0300000100000032 0000000000000005 0000000000000020 0000000000000000 (XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000 (XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000 (XEN) Domain 0 crashed: rebooting machine in 5 seconds. This can be avoided by allocating aneough space for the p2m to cover the maximum memory of dom0 plus the identity mapped holes required for PCI space, BIOS etc. Reported-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 1b59ddfcf1678de38a1f8ca9fb8ea5eebeff1843 Author: John David Anglin <dave.anglin@xxxxxxxx> Date: Mon Sep 7 20:13:28 2015 -0400 parisc: Use double word condition in 64bit CAS operation The attached change fixes the condition used in the "sub" instruction. A double word comparison is needed. This fixes the 64-bit LWS CAS operation on 64-bit kernels. I can now enable 64-bit atomic support in GCC. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: John David Anglin <dave.anglin> Signed-off-by: Helge Deller <deller@xxxxxx> commit b1b4e435e4ef7de77f07bf2a42c8380b960c2d44 Author: Helge Deller <deller@xxxxxx> Date: Thu Sep 3 22:45:21 2015 +0200 parisc: Filter out spurious interrupts in PA-RISC irq handler When detecting a serial port on newer PA-RISC machines (with iosapic) we have a long way to go to find the right IRQ line, registering it, then registering the serial port and the irq handler for the serial port. During this phase spurious interrupts for the serial port may happen which then crashes the kernel because the action handler might not have been set up yet. So, basically it's a race condition between the serial port hardware and the CPU which sets up the necessary fields in the irq sructs. The main reason for this race is, that we unmask the serial port irqs too early without having set up everything properly before (which isn't easily possible because we need the IRQ number to register the serial ports). This patch is a work-around for this problem. It adds checks to the CPU irq handler to verify if the IRQ action field has been initialized already. If not, we just skip this interrupt (which isn't critical for a serial port at bootup). The real fix would probably involve rewriting all PA-RISC specific IRQ code (for CPU, IOSAPIC, GSC and EISA) to use IRQ domains with proper parenting of the irq chips and proper irq enabling along this line. This bug has been in the PA-RISC port since the beginning, but the crashes happened very rarely with currently used hardware. But on the latest machine which I bought (a C8000 workstation), which uses the fastest CPUs (4 x PA8900, 1GHz) and which has the largest possible L1 cache size (64MB each), the kernel crashed at every boot because of this race. So, without this patch the machine would currently be unuseable. For the record, here is the flow logic: 1. serial_init_chip() in 8250_gsc.c calls iosapic_serial_irq(). 2. iosapic_serial_irq() calls txn_alloc_irq() to find the irq. 3. iosapic_serial_irq() calls cpu_claim_irq() to register the CPU irq 4. cpu_claim_irq() unmasks the CPU irq (which it shouldn't!) 5. serial_init_chip() then registers the 8250 port. Problems: - In step 4 the CPU irq shouldn't have been registered yet, but after step 5 - If serial irq happens between 4 and 5 have finished, the kernel will crash Signed-off-by: Helge Deller <deller@xxxxxx> commit 699817c3df46eb209044d8c9eb20c6ff6c67c81d Author: Helge Deller <deller@xxxxxx> Date: Wed Sep 2 18:18:48 2015 +0200 parisc: Additionally check for in_atomic() in page fault handler Craig Estey noticed that we didn't checked for in_atomic() in our page fault handler like other architectures. This commit adds this check by using faulthandler_disabled() which includes a check for pagefault_disabled() and in_atomic(). Reported-by: Craig Estey <cae370@xxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit e02a653e15d8d32e9e768fd99a3271aafe5c5d77 Author: Helge Deller <deller@xxxxxx> Date: Wed Sep 2 18:17:29 2015 +0200 PCI,parisc: Enable 64-bit bus addresses on PA-RISC Commit 3a9ad0b ("PCI: Add pci_bus_addr_t") unconditionally introduced usage of 64-bit PCI bus addresses on all 64-bit platforms which broke PA-RISC. It turned out that due to enabling the 64-bit addresses, the PCI logic decided to use the GMMIO instead of the LMMIO region. This commit simply disables registering the GMMIO and thus we fall back to use the LMMIO region as before. Reverts commit 45ea2a5fed6dacb9bb0558d8b21eacc1c45d5bb4 ("PCI: Don't use 64-bit bus addresses on PA-RISC") To: linux-parisc@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Meelis Roos <mroos@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.19+ Signed-off-by: Helge Deller <deller@xxxxxx> commit 38d9029a652cb2925a97a8484f6e8f2c85fd55bb Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Jul 31 19:34:46 2015 -0700 parisc: Define ioremap_uc and ioremap_wc Commit 3cc2dac5be3f ("drivers/video/fbdev/atyfb: Replace MTRR UC hole with strong UC") introduces calls to ioremap_wc and ioremap_uc. This causes build failures with parisc:allmodconfig. Map the missing functions to ioremap_nocache. Fixes: 3cc2dac5be3f ("drivers/video/fbdev/atyfb: Replace MTRR UC hole with strong UC") Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit e85376cbd23299e4d40bace0cb5ab867b270fdbd Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 13:13:31 2015 +0200 drm/i915: Fix broken mst get_hw_state. connector->encoder is initialized as NULL. Fix this by setting it in during pre enable. MST connectors are not read out during initial hw readout, and have no fixed encoder mappings. So it's harmless to return false when the connector has never been assigned to an encoder. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 997e120843e82609c8d99a9d5714e6cf91e14cbe Author: Denis V. Lunev <den@xxxxxxxxxx> Date: Thu Aug 20 00:49:49 2015 +0300 virtio_balloon: do not change memory amount visible via /proc/meminfo Balloon device is frequently used as a mean of cooperative memory control in between guest and host to manage memory overcommitment. This is the typical case for any hosting workload when KVM guest is provided for end-user. Though there is a problem in this setup. The end-user and hosting provider have signed SLA agreement in which some amount of memory is guaranted for the guest. The good thing is that this memory will be given to the guest when the guest will really need it (f.e. with OOM in guest and with VIRTIO_BALLOON_F_DEFLATE_ON_OOM configuration flag set). The bad thing is that end-user does not know this. Balloon by default reduce the amount of memory exposed to the end-user each time when the page is stolen from guest or returned back by using adjust_managed_page_count and thus /proc/meminfo shows reduced amount of memory. Fortunately the solution is simple, we should just avoid to call adjust_managed_page_count with VIRTIO_BALLOON_F_DEFLATE_ON_OOM set. Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit b4d34037329f46ed818d3b0a6e1e23b9c8721f79 Author: Denis V. Lunev <den@xxxxxxxxxx> Date: Thu Aug 20 00:49:48 2015 +0300 virtio_ballon: change stub of release_pages_by_pfn and rename it to release_pages_balloon. The function originally takes arrays of pfns and now it takes pointer to struct virtio_ballon. This change is necessary to conditionally call adjust_managed_page_count in the next patch. Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 5fa3142da14b162f30e4781ff17e1926c47f28fb Author: Fam Zheng <famz@xxxxxxxxxx> Date: Sun Sep 6 17:05:42 2015 +0800 virtio-blk: Allow extended partitions This will allow up to DISK_MAX_PARTS (256) partitions, with for example GPT in the guest. Otherwise, the partition scan code will only discover the first 15 partitions. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 38c4ab8e48ab153dee461e10e81256720b70a0b3 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Jul 28 10:44:02 2015 +0100 virtio_mmio: add ACPI probing Added the match table and pointers for ACPI probing to the driver. This uses the same identifier for virt devices as being used for qemu ARM64 ACPI support. http://git.linaro.org/people/shannon.zhao/qemu.git/commit/d0bf1955a3ecbab4b51d46f8c5dda02b7e14a17e Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 53eab6fd2777dc7cb338519827e23f8bf892903e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 21 15:53:55 2015 -0700 virtio-blk: use VIRTIO_BLK_F_WCE and VIRTIO_BLK_F_CONFIG_WCE in virtio1 VIRTIO_BLK_F_CONFIG_WCE is important in order to achieve good performance (up to 2x, though more realistically +30-40%) in latency-bound workloads. However, it was removed by mistake together with VIRTIO_BLK_F_FLUSH. It will be restored in the next revision of the virtio 1.0 standard, so do the same in Linux. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 08441d462ebdc64df79b392f877e26522616bad5 Author: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Date: Tue Sep 8 18:08:56 2015 +0800 nios2: add Max10 defconfig Max10 is a FPGA device. This patch adds defconfig based on Max10 hardware reference design. Design is intended to run on Max10 development kit. Signed-off-by: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 61c610ec61bb334ba97cddaf352c95b9371d2a23 Author: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Date: Tue Sep 8 18:07:44 2015 +0800 nios2: Add Max10 device tree Max10 is a FPGA device. This patch adds Nios2 support for Max10. This device tree is based on Max10 hardware reference design. Signed-off-by: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit ba60c41ae392b473a1897faa0b8739fcb8759d69 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 2 12:33:53 2015 +0530 kvm: irqchip: fix memory leak We were taking the exit path after checking ue->flags and return value of setup_routing_entry(), but 'e' was not freed incase of a failure. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3dfe6a507353f3253c8136734d94bfdb459fa04d Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 11:14:13 2015 +0200 kvm: move new trace event outside #ifdef CONFIG_KVM_ASYNC_PF Fixes compilation with ppc64_defconfig. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 63431f789c957cebcffeb51953dfaeb7f1ddd827 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 27 17:58:06 2015 +0530 cpufreq: Use __func__ to print function's name Its better to use __func__ to print functions name instead of writing the name in the print statement. This also has the advantage that a change in function's name doesn't force us to change the print message as well. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4e4adb2f462889b9eac736dd06d60658beb091b6 Merge: 77a7880 5445b1f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 14:02:24 2015 -0700 Merge tag 'nfs-for-4.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs Pull NFS client updates from Trond Myklebust: "Highlights include: Stable patches: - Fix atomicity of pNFS commit list updates - Fix NFSv4 handling of open(O_CREAT|O_EXCL|O_RDONLY) - nfs_set_pgio_error sometimes misses errors - Fix a thinko in xs_connect() - Fix borkage in _same_data_server_addrs_locked() - Fix a NULL pointer dereference of migration recovery ops for v4.2 client - Don't let the ctime override attribute barriers. - Revert "NFSv4: Remove incorrect check in can_open_delegated()" - Ensure flexfiles pNFS driver updates the inode after write finishes - flexfiles must not pollute the attribute cache with attrbutes from the DS - Fix a protocol error in layoutreturn - Fix a protocol issue with NFSv4.1 CLOSE stateids Bugfixes + cleanups - pNFS blocks bugfixes from Christoph - Various cleanups from Anna - More fixes for delegation corner cases - Don't fsync twice for O_SYNC/IS_SYNC files - Fix pNFS and flexfiles layoutstats bugs - pnfs/flexfiles: avoid duplicate tracking of mirror data - pnfs: Fix layoutget/layoutreturn/return-on-close serialisation issues - pnfs/flexfiles: error handling retries a layoutget before fallback to MDS Features: - Full support for the OPEN NFS4_CREATE_EXCLUSIVE4_1 mode from Kinglong - More RDMA client transport improvements from Chuck - Removal of the deprecated ib_reg_phys_mr() and ib_rereg_phys_mr() verbs from the SUNRPC, Lustre and core infiniband tree. - Optimise away the close-to-open getattr if there is no cached data" * tag 'nfs-for-4.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (108 commits) NFSv4: Respect the server imposed limit on how many changes we may cache NFSv4: Express delegation limit in units of pages Revert "NFS: Make close(2) asynchronous when closing NFS O_DIRECT files" NFS: Optimise away the close-to-open getattr if there is no cached data NFSv4.1/flexfiles: Clean up ff_layout_write_done_cb/ff_layout_commit_done_cb NFSv4.1/flexfiles: Mark the layout for return in ff_layout_io_track_ds_error() nfs: Remove unneeded checking of the return value from scnprintf nfs: Fix truncated client owner id without proto type NFSv4.1/flexfiles: Mark layout for return if the mirrors are invalid NFSv4.1/flexfiles: RW layouts are valid only if all mirrors are valid NFSv4.1/flexfiles: Fix incorrect usage of pnfs_generic_mark_devid_invalid() NFSv4.1/flexfiles: Fix freeing of mirrors NFSv4.1/pNFS: Don't request a minimal read layout beyond the end of file NFSv4.1/pnfs: Handle LAYOUTGET return values correctly NFSv4.1/pnfs: Don't ask for a read layout for an empty file. NFSv4.1: Fix a protocol issue with CLOSE stateids NFSv4.1/flexfiles: Don't mark the entire deviceid as bad for file errors SUNRPC: Prevent SYN+SYNACK+RST storms SUNRPC: xs_reset_transport must mark the connection as disconnected NFSv4.1/pnfs: Ensure layoutreturn reserves space for the opaque payload ... commit 77a78806c7df8d414c33031a1ca5121876910c4f Merge: 7d9071a 5d54b8c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 13:28:32 2015 -0700 Merge tag 'xfs-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs Pull xfs updates from Dave Chinner: "There isn't a whole lot to this update - it's mostly bug fixes and they are spread pretty much all over XFS. There are some corruption fixes, some fixes for log recovery, some fixes that prevent unount from hanging, a lockdep annotation rework for inode locking to prevent false positives and the usual random bunch of cleanups and minor improvements. Deatils: - large rework of EFI/EFD lifecycle handling to fix log recovery corruption issues, crashes and unmount hangs - separate metadata UUID on disk to enable changing boot label UUID for v5 filesystems - fixes for gcc miscompilation on certain platforms and optimisation levels - remote attribute allocation and recovery corruption fixes - inode lockdep annotation rework to fix bugs with too many subclasses - directory inode locking changes to prevent lockdep false positives - a handful of minor corruption fixes - various other small cleanups and bug fixes" * tag 'xfs-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (42 commits) xfs: fix error gotos in xfs_setattr_nonsize xfs: add mssing inode cache attempts counter increment xfs: return errors from partial I/O failures to files libxfs: bad magic number should set da block buffer error xfs: fix non-debug build warnings xfs: collapse allocsize and biosize mount option handling xfs: Fix file type directory corruption for btree directories xfs: lockdep annotations throw warnings on non-debug builds xfs: Fix uninitialized return value in xfs_alloc_fix_freelist() xfs: inode lockdep annotations broke non-lockdep build xfs: flush entire file on dio read/write to cached file xfs: Fix xfs_attr_leafblock definition libxfs: readahead of dir3 data blocks should use the read verifier xfs: stop holding ILOCK over filldir callbacks xfs: clean up inode lockdep annotations xfs: swap leaf buffer into path struct atomically during path shift xfs: relocate sparse inode mount warning xfs: dquots should be stamped with sb_meta_uuid xfs: log recovery needs to validate against sb_meta_uuid xfs: growfs not aware of sb_meta_uuid ... commit d075a88e515278b3e2d5ec39e80e6fd3c6e48841 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 3 12:15:21 2015 +0530 cpufreq: staticize cpufreq_cpu_get_raw() cpufreq_cpu_get_raw() isn't used by any external users, staticize it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9a07826f99034202dad589285a47132685d9538b Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Mon Aug 31 09:31:00 2015 -0400 NTB: Fix range check on memory window index The range check must exclude the upper bound. Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 2aa2a77a489deda473c99a4c15074d092718912c Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Mon Aug 31 09:30:59 2015 -0400 NTB: Improve index handling in B2B MW workaround Check that b2b_mw_idx is in range of the number of memory windows when initializing the device. The workaround is considered to be in effect only if the device b2b_idx is exactly UINT_MAX, instead of any index past the last memory window. Only print B2B MW workaround information in debugfs if the workaround is in effect. Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 86663c91866ae85c219f1a80ef2c9460b7ca5cd8 Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Wed Jul 15 12:43:21 2015 -0400 NTB: Fix documentation for ntb_peer_db_clear. The documentation should say "peer" not "local" when referring to the peer doorbell register. Reported-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit a7c23237481782fbea3c2230e362b72863e144b0 Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Wed Jul 15 04:15:28 2015 -0400 NTB: Fix documentation for ntb_link_is_up There was a copy and paste error in the documentation for ntb_link_is_up. The long description was mistakenly copied from ntb_link_set_trans. This adds the appropriate long description for ntb_link_is_up. Reported-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 569410ca756cd3ebb15609cb6828a8393fb6384d Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Mon Jul 13 08:07:22 2015 -0400 NTB: Use unique DMA channels for TX and RX Allocate two DMA channels, one for TX operation and one for RX operation, instead of having one DMA channel for everything. This provides slightly better performance, and also will make error handling cleaner later on. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 905921e74864e80228e7f8cfe75315cd0a8cada8 Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Mon Jul 13 08:07:21 2015 -0400 NTB: Remove dma_sync_wait from ntb_async_rx The dma_sync_wait can hurt the performance of workloads mixed with both large and small frames. Large frames will be copied using the dma engine. Small frames will be copied by the cpu. The dma_sync_wait prevents the cpu and dma engine copying in parallel. In the period where the cpu is copying, the dma engine is stopped. The dma engine is not doing any useful work to copy large frames during that time, and the additional time to restart the dma engine for the next large frame. This will decrease the throughput for the portion of a workload with large frames. In the period where the dma engine is copying, the cpu is held up waiting for dma to complete. The small frames processing will be delayed until the dma is complete. The RX frames are completed in-order, and the processing of small frames takes very little time, so dma_sync_wait may have an insignificant impact on the respose time of frames. The more significant impact is to the system, because the delay in dma_sync_wait is implemented as busy non-blocking wait. This can prevent the delayed core from doing any useful work, even if it could be processing work for other drivers, unrelated to transport RX processing. After applying the earlier patch to fix out-of-order RX acknoledgement, the dma_sync_wait is no longer necessary. Remove it, so that cpu memcpy will proceed immediately for small frames, in parallel with ongoing dma for large frames. Do not hold up the cpu from doing work while dma is in progress. The prior fix will continue to ensure in-order completion of the RX frames to the upper layer, and in-order delivery of the RX acknoledgement. Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit d98ef99e378b0d5c42be928d6f2abe08a5f9ce53 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Mon Jul 13 08:07:20 2015 -0400 NTB: Clean up QP stats info Make QP stats info more readable for debugging purposes. Also add an entry to indicate whether DMA is being used. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 315100004fd6d9189b033f3bf9c5eba9eb906705 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Mon Jul 13 08:07:19 2015 -0400 NTB: Make the transport list in order of discovery The list should be added from the bottom and not the top in order to ensure the transport is provided in the same order to clients as ntb devices are discovered. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 0a5d19d9f046d770776508fdde959d2a42bce9f7 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Mon Jul 13 08:07:18 2015 -0400 NTB: Add PCI Device IDs for Broadwell Xeon Adding PCI Device IDs for B2B (back to back), RP (root port, primary), and TB (transparent bridge, secondary) devices. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit e74bfeedad08180b968d8613dcde141ffb0720c3 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Mon Jul 13 08:07:17 2015 -0400 NTB: Add flow control to the ntb_netdev Right now if we push the NTB really hard, we start dropping packets due to not able to process the packets fast enough. We need to st:qop the upper layer from flooding us when that happens. A timer is necessary in order to restart the queue once the resource has been processed on the receive side. Due to the way NTB is setup, the resources on the tx side are tied to the processing of the rx side and there's no async way to know when the rx side has released those resources. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 5e9fd733fa34b491e7ac41c91aa42ba0a9d8ea10 Author: Jon Mason <jdmason@xxxxxxxx> Date: Sat Jul 4 14:48:33 2015 -0400 NTB: Add list to MAINTAINERS Add the new NTB mailing list to MAINTAINERS Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 0094dc40a97260b64313b169989952d3aa2013f6 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Tue Sep 8 01:50:05 2015 +0800 MAINTAINERS: update nios2 git repo Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 3fb39c482c39760ab3b5e59f30868c988c25578d Author: Bernd Weiberg <bernd.weiberg@xxxxxxxxxxx> Date: Fri Sep 4 16:59:45 2015 +0800 nios2: remove unused statistic counters Removed some statistic counters to improve the performance of the handler. Signed-off-by: Bernd Weiberg <bernd.weiberg@xxxxxxxxxxx> Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit db5a7e55468147f28d1a408880564b61c542e4f8 Author: Bernd Weiberg <bernd.weiberg@xxxxxxxxxxx> Date: Fri Sep 4 17:03:03 2015 +0800 nios2: fixed variable imm16 to s16 Fxid variable imm16 to s16 instead of u16, offset might be negative. Signed-off-by: Bernd Weiberg <bernd.weiberg@xxxxxxxxxxx> Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 549a14c14b2f1868b81e5417a33b6d79e6da1d00 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Aug 18 13:59:28 2015 +0800 nios2/time: Migrate to new 'set-state' interface Migrate nios2 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Ley Foon Tan <lftan@xxxxxxxxxx> Cc: Tobias Klauser <tklauser@xxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Cc: nios2-dev@xxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 5445b1fbd123420bffed5e629a420aa2a16bf849 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Sep 5 19:06:58 2015 -0400 NFSv4: Respect the server imposed limit on how many changes we may cache The NFSv4 delegation spec allows the server to tell a client to limit how much data it cache after the file is closed. In return, the server guarantees enough free space to avoid ENOSPC situations, etc. Prior to this patch, we assumed we could always cache aggressively after close. Unfortunately, this causes problems with servers that set the limit to 0 and therefore do not offer any ENOSPC guarantees. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7d160a6c462c2c690e074c173b43aad7204049ad Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Sep 5 19:06:57 2015 -0400 NFSv4: Express delegation limit in units of pages Since we're tracking modifications to the page cache on a per-page basis, it makes sense to express the limit to how much we may cache in units of pages. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5ee20bc792467d7d612157e0a9962765aa943b08 Author: Johan Rastén <johan@xxxxxxxx> Date: Sun Sep 6 18:16:13 2015 +0200 ALSA: usb-audio: Change internal PCM order New PCMs will now be added to the end of the chip's PCM list instead of to the front. This changes the way streams are combined so that the first capture stream will now be merged with the first playback stream instead of the last. This fixes a problem with ASUS U7. Cards with one playback stream and cards without capture streams should be unaffected by this change. Exception added for M-Audio Audiophile USB (tm) since it seems to have a fix to swap capture stream numbering in alsa-lib conf/cards/USB-audio.conf Signed-off-by: Johan Rastén <johan@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e7e98d76777ffba334bbf7a61939c5de48acc5a0 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jul 30 13:31:42 2015 +0100 Documentation/features/vm: Meta2 is capable of THP Change metag Transparent Huge Pages (THP) support from .. to TODO. Meta2 has variable sized pages, between 4KB and 4MB, specified at the 1st level page table level, and already supports hugetlbfs, so supporting THP is theoretically possible too. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx commit 46cdc9be0841b30ba612aec1878cb746faf280a4 Author: françois romieu <romieu@xxxxxxxxxxxxx> Date: Fri Sep 4 23:05:42 2015 +0200 cxgb4: fix usage of uninitialized variable drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c: In function â??init_oneâ??: drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:4579:8: warning: â??chipâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] chip |= CHELSIO_CHIP_CODE(CHELSIO_T4, pl_rev); ^ drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:4571:11: note: â??chipâ?? was declared here int ver, chip; ^ Fixes: d86bd29e0b31 ("cxgb4/cxgb4vf: read the correct bits of PL Who Am I register") Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Cc: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd1a05ee98b06c9a20138c45f96ccfddf3163f93 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 23:22:16 2015 +0300 fixed_phy: pass 'irq' to fixed_phy_add() I've noticed that fixed_phy_register() ignores its 'irq' parameter instead of passing it to fixed_phy_add(). Luckily, fixed_phy_register() seems to always be called with PHY_POLL for 'irq'... :-) Fixes: a75951217472 ("net: phy: extend fixed driver with fixed_phy_register()") Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f88f69dd17f150e2abcc7e2d95f895f2546fa381 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Fri Sep 4 13:07:40 2015 -0700 openvswitch: Remove conntrack Kconfig option. There's no particular desire to have conntrack action support in Open vSwitch as an independently configurable bit, rather just to ensure there is not a hard dependency. This exposed option doesn't accurately reflect the conntrack dependency when enabled, so simplify this by removing the option. Compile the support if NF_CONNTRACK is enabled. Fixes: 7f8a436eaa2c ("openvswitch: Add conntrack action") Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 585e7e1a544c5b13b2a0014c23f3cb6622e8c995 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 11:22:24 2015 -0400 net: dsa: mv88e6171: add hardware 802.1Q support The Marvell 88E6171 switch is in the 88E6351 family, which supports 802.1Q, thus add support from the generic mv88e6xxx functions. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 080fff50a3bd669dbc16261602055a157fe89583 Merge: e5a5837 ef9be10 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 6 19:49:55 2015 -0700 Merge tag 'mac80211-for-davem-2015-09-04' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 Johannes Berg says: ==================== For the first round of fixes, we have this: * fix for the sizeof() pointer type issue * a fix for regulatory getting into a restore loop * a fix for rfkill global 'all' state, it needs to be stored everywhere to apply correctly to new rfkill instances * properly refuse CQM RSSI when it cannot actually be used * protect HT TDLS traffic properly in non-HT networks * don't incorrectly advertise 80 MHz support when not allowed ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5a5837da756b4826d40636239718eb8f76775fd Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Sep 4 14:44:12 2015 +0200 ethernet: synopsys: SYNOPSYS_DWC_ETH_QOS should depend on HAS_DMA If NO_DMA=y: ERROR: "dma_alloc_coherent" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! ERROR: "dma_free_coherent" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! ERROR: "dma_unmap_single" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! ERROR: "dma_map_page" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! ERROR: "dma_mapping_error" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! ERROR: "dma_map_single" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f1b7354e0d65ad528b820a8a46c15d70954f699 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Sep 4 12:49:32 2015 +0200 vxlan: Refactor vxlan_udp_encap_recv() to kill compiler warning drivers/net/vxlan.c: In function â??vxlan_udp_encap_recvâ??: drivers/net/vxlan.c:1226: warning: â??infoâ?? may be used uninitialized in this function While this warning is a false positive, it can be killed easily by getting rid of the pointer intermediary and referring directly to the ip_tunnel_info structure. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Reviewed-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99c79eceb152e2ac7f8a81ff55d4a810f730ec7b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Sep 4 12:47:28 2015 +0200 lan78xx: Fix ladv/radv error handling in lan78xx_link_reset() net/usb/lan78xx.c: In function â??lan78xx_link_resetâ??: net/usb/lan78xx.c:1107: warning: comparison is always false due to limited range of data type net/usb/lan78xx.c:1111: warning: comparison is always false due to limited range of data type Assigning return values that can be negative error codes to "u16" variables makes them positive, ignoring the errors. Hence use "int" instead. Drop the "unlikely"s (unlikely considered harmful) and propagate the actual error values instead of overriding them to -EIO while we're at it. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 537b604c8b3aa8b96fe35f87dd085816552e294c Author: Michal Hocko <mhocko@xxxxxxxx> Date: Thu Aug 27 20:16:37 2015 +0200 scsi: fix scsi_error_handler vs. scsi_host_dev_release race b9d5c6b7ef57 ("[SCSI] cleanup setting task state in scsi_error_handler()") has introduced a race between scsi_error_handler and scsi_host_dev_release resulting in the hang when the device goes away because scsi_error_handler might miss a wake up: CPU0 CPU1 scsi_error_handler scsi_host_dev_release kthread_stop() kthread_should_stop() test_bit(KTHREAD_SHOULD_STOP) set_bit(KTHREAD_SHOULD_STOP) wake_up_process() wait_for_completion() set_current_state(TASK_INTERRUPTIBLE) schedule() The most straightforward solution seems to be to invert the ordering of the set_current_state and kthread_should_stop. The issue has been noticed during reboot test on a 3.0 based kernel but the current code seems to be affected in the same way. [jejb: additional comment added] Cc: <stable@xxxxxxxxxxxxxxx> # 3.6+ Reported-and-debugged-by: Mike Mayer <Mike.Meyer@xxxxxxxxxxxx> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 420fa2118c020a005e9f0311c1e0b27414306618 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Aug 19 11:18:44 2015 +0530 fcoe: Convert use of __constant_htons to htons In little endian cases, the macro htons unfolds to __swab16 which provides special case for constants. In big endian cases, __constant_htons and htons expand directly to the same expression. So, replace __constant_htons with htons with the goal of getting rid of the definition of __constant_htons completely. The semantic patch that performs this transformation is as follows: @@expression x;@@ - __constant_htons(x) + htons(x) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6229b414b3adb3aac0b54e67d72d6462fc230c0d Author: Nagarajkumar Narayanan <nagarajkumar.narayanan@xxxxxxxxxxx> Date: Tue Aug 18 13:27:10 2015 +0530 mpt2sas: setpci reset kernel oops fix mpt2sas: setpci reset on nytro warpdrive card along with sysfs access and cli ioctl access resulted in kernel oops 1. pci_access_mutex lock added to provide synchronization between IOCTL, sysfs, PCI resource handling path 2. gioc_lock spinlock to protect list operations over multiple controllers >From c53a1cff4c07528b8b9ec7f6716e94950283e8f9 Mon Sep 17 00:00:00 2001 From: Nagarajkumar Narayanan <nagarajkumar.narayanan@xxxxxxxxxxx> Date: Tue, 18 Aug 2015 11:58:13 +0530 Subject: [PATCH] mpt2sas setpci reset oops fix In mpt2sas driver due to lack of synchronization between ioctl, BRM status access through sysfs, pci resource removal kernel oops happen as ioctl path and BRM status sysfs access path still tries to access the removed resources Two locks added to provide syncrhonization 1. pci_access_mutex: Mutex to synchronize ioctl,sysfs show path and pci resource handling. PCI resource freeing will lead to free vital hardware/memory resource, which might be in use by cli/sysfs path functions resulting in Null pointer reference followed by kernel crash. To avoid the above race condition we use mutex syncrhonization which ensures the syncrhonization between cli/sysfs_show path Note: pci_access_mutex is used only if nytro warpdrive cards (ioc->is_warpdrive based on device id) are used as we could not test this case with other SAS2 HBA cards We can remove this check if this behaviour confirmed from other cards. 2. spinlock on list operations over IOCs Case: when multiple warpdrive cards(IOCs) are in use Each IOC will added to the ioc list stucture on initialization. Watchdog threads run at regular intervals to check IOC for any fault conditions which will trigger the dead_ioc thread to deallocate pci resource, resulting deleting the IOC netry from list, this deletion need to protected by spinlock to enusre that ioc removal is syncrhonized, if not synchronized it might lead to list_del corruption as the ioc list is traversed in cli path Signed-off-by: Nagarajkumar Narayanan <nagarajkumar.narayanan@xxxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 50acde8ed35620fdfad88f4e20a39a1eb0d8d4c9 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Mon Aug 17 15:52:32 2015 +0200 pm80xx: Don't override ts->stat on IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY In case psataPayload->status has a status of IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY ts->stat gets set to SAS_OPEN_REJECT but a missing 'break' statement causes a fallthrough to the default handler of the switch statement overriding ts->stat to SAS_DEV_NO_RESPONSE. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 612872cabf5be6f95d43d9a88eef38201ae8005d Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Mon Aug 17 13:03:02 2015 +0200 lpfc: Fix possible use-after-free and double free in lpfc_mbx_cmpl_rdp_page_a2() If the bf_get() call in lpfc_mbx_cmpl_rdp_page_a2() does succeeds, execution continues normally and mp gets kfree()d. If the subsequent call to lpfc_sli_issue_mbox() fails execution jumps to the error label where lpfc_mbuf_free() is called with mp->virt and mp->phys as function arguments. This is the use after free. Following the use after free mp gets kfree()d again which is a double free. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6f3d828f5bd72174c24789aba5d4ed036b60f44b Author: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx> Date: Thu Aug 13 06:41:52 2015 -0400 bfa: Fix incorrect de-reference of pointer Signed-off-by: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx> Tested-by: Sudarsana Kalluru <sudarsana.kalluru@xxxxxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b7f4d6343820af5c2dc3979e91d85e71e638cd3d Author: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx> Date: Thu Aug 13 06:41:51 2015 -0400 bfa: Fix indentation Signed-off-by: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx> Tested-by : Sudarasana Kalluru <sudarsana.kalluru@xxxxxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0c416b54f29151a31999868d59c64ace11589d1b Author: Jordan Hargrave <jharg93@xxxxxxxxx> Date: Mon Jul 13 09:27:33 2015 -0500 scsi_transport_sas: Remove check for SAS expander when querying bay/enclosure IDs. Dell Server backplanes can report bay/enclosure IDs without an expander present. This patch allows the bay/enclosure IDs to be propagaged to sysfs.we Signed-off-by: Jordan Hargrave <jordan_hargrave@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2492fc09f0b90cd69cd9788d12c5c79d673adef3 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:26 2015 +0300 scsi_debug: resp_request: remove unused variable Fixes the following warning In function â??resp_requestsâ??: drivers/scsi//scsi_debug.c:1432:15: warning: variable â??want_dsenseâ?? set but not used [-Wunused-but-set-variable] bool dsense, want_dsense; Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f2d3fd29ba6226218533ad3fbba2312ae122663f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:25 2015 +0300 scsi_debug: fix REPORT LUNS Well Known LU The use case to report 'REPORT LUNS WLUN' described in scsi_debug documentation didn't work because: scsi_scan_host_selected() checks for: lun < shost->max_lun To fix this we set: max_lun = SCSI_W_LUN_REPORT_LUNS + 1; Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 299b6c07ea134d4f9d7cb743194bf9c1941585b2 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:24 2015 +0300 scsi_debug: schedule_resp fix input variable check The function should never be called with cmnd NULL so put a fat WARN there. Fix also smatch wraning: schedule_resp() warn: variable dereferenced before check 'cmnd' Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 58a8635d5a1b49c4b87fb48969319e1ce77d3f03 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:23 2015 +0300 scsi_debug: make dump_sector static fixes warning: warning: no previous prototype for â??dump_sectorâ?? Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit de232af6703ff8e283559016c14a3273ea932878 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:22 2015 +0300 scsi_debug: vfree is null safe so drop the check Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 34d55434ba1f39093ea30cb770d70508fdb1edaa Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:21 2015 +0300 scsi_debug: use SCSI_W_LUN_REPORT_LUNS instead of SAM2_WLUN_REPORT_LUNS; use SCSI_W_LUN_REPORT_LUNS from scsi.h instead of localy defined SAM2_WLUN_REPORT_LUNS Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c1287970f4847a973830daf4076bc25929f3b2d9 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:20 2015 +0300 scsi_debug: define pr_fmt() for consistent logging Use pr_fmt with both module name and __func__ Also drop few bare printk leftovers The log format should stay pretty much intact Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 008549f6e8a1dc4aeea4a8d64184909786b27713 Author: Calvin Owens <calvinowens@xxxxxx> Date: Thu Aug 13 18:48:10 2015 -0700 mpt2sas: Refcount fw_events and fix unsafe list usage The fw_event_work struct is concurrently referenced at shutdown, so add a refcount to protect it, and refactor the code to use it. Additionally, refactor _scsih_fw_event_cleanup_queue() such that it no longer iterates over the list without holding the lock, since _firmware_event_work() concurrently deletes items from the list. Signed-off-by: Calvin Owens <calvinowens@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Tested-by: Chaitra Basappa <chaitra.basappa@xxxxxxxxxxxxx> Acked-by: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d224fe0d609734888af63656ddaf3a8352f0a7b5 Author: Calvin Owens <calvinowens@xxxxxx> Date: Thu Aug 13 18:48:09 2015 -0700 mpt2sas: Refcount sas_device objects and fix unsafe list usage These objects can be referenced concurrently throughout the driver, we need a way to make sure threads can't delete them out from under each other. This patch adds the refcount, and refactors the code to use it. Additionally, we cannot iterate over the sas_device_list without holding the lock, or we risk corrupting random memory if items are added or deleted as we iterate. This patch refactors _scsih_probe_sas() to use the sas_device_list in a safe way. Signed-off-by: Calvin Owens <calvinowens@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Tested-by: Chaitra Basappa <chaitra.basappa@xxxxxxxxxxxxx> Acked-by: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2cbd78244fb26a06f2b8fb006b32f133451df413 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Thu Sep 3 22:07:39 2015 +0800 KVM: trace kvm_halt_poll_ns grow/shrink Tracepoint for dynamic halt_pool_ns, fired on every potential change. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit aca6ff29c4063a8d467cdee241e6b3bf7dc4a171 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Thu Sep 3 22:07:38 2015 +0800 KVM: dynamic halt-polling There is a downside of always-poll since poll is still happened for idle vCPUs which can waste cpu usage. This patchset add the ability to adjust halt_poll_ns dynamically, to grow halt_poll_ns when shot halt is detected, and to shrink halt_poll_ns when long halt is detected. There are two new kernel parameters for changing the halt_poll_ns: halt_poll_ns_grow and halt_poll_ns_shrink. no-poll always-poll dynamic-poll ----------------------------------------------------------------------- Idle (nohz) vCPU %c0 0.15% 0.3% 0.2% Idle (250HZ) vCPU %c0 1.1% 4.6%~14% 1.2% TCP_RR latency 34us 27us 26.7us "Idle (X) vCPU %c0" is the percent of time the physical cpu spent in c0 over 60 seconds (each vCPU is pinned to a pCPU). (nohz) means the guest was tickless. (250HZ) means the guest was ticking at 250HZ. The big win is with ticking operating systems. Running the linux guest with nohz=off (and HZ=250), we save 3.4%~12.8% CPUs/second and get close to no-polling overhead levels by using the dynamic-poll. The savings should be even higher for higher frequency ticks. Suggested-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> [Simplify the patch. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 19020f8ab83de9dc5a9c8af1f321a526f38bbc40 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Thu Sep 3 22:07:37 2015 +0800 KVM: make halt_poll_ns per-vCPU Change halt_poll_ns into per-VCPU variable, seeded from module parameter, to allow greater flexibility. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e8dd2d2d641cb2724ee10e76c0ad02e04289c017 Author: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Date: Sat Aug 29 17:49:16 2015 -0400 Silence compiler warning in arch/x86/kvm/emulate.c Compiler warning: CC [M] arch/x86/kvm/emulate.o arch/x86/kvm/emulate.c: In function "__do_insn_fetch_bytes": arch/x86/kvm/emulate.c:814:9: warning: "linear" may be used uninitialized in this function [-Wmaybe-uninitialized] GCC is smart enough to realize that the inlined __linearize may return before setting the value of linear, but not smart enough to realize the same X86EMU_CONTINUE blocks actual use of the value. However, the value of 'linear' can only be set to one value, so hoisting the one line of code upwards makes GCC happy with the code. Reported-by: Aruna Hewapathirane <aruna.hewapathirane@xxxxxxxxx> Tested-by: Aruna Hewapathirane <aruna.hewapathirane@xxxxxxxxx> Signed-off-by: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit efbb288afc2f3079fa5e9308f4d9d06a390babdc Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Sun Sep 6 19:35:41 2015 +0600 kvm: compile process_smi_save_seg_64() only for x86_64 The process_smi_save_seg_64() function called only in the process_smi_save_state_64() if the CONFIG_X86_64 is set. This patch adds #ifdef CONFIG_X86_64 around process_smi_save_seg_64() to prevent following warning message: arch/x86/kvm/x86.c:5946:13: warning: ââ?¬Ë?process_smi_save_seg_64ââ?¬â?¢ defined but not used [-Wunused-function] static void process_smi_save_seg_64(struct kvm_vcpu *vcpu, char *buf, int n) ^ Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 29ecd66019047768080e8eeab4cd6582b28383a2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Sep 6 16:24:50 2015 +0200 KVM: x86: avoid uninitialized variable warning This does not show up on all compiler versions, so it sneaked into the first 4.3 pull request. The fix is to mimic the logic of the "print sptes" loop in the "fill array" loop. Then leaf and root can be both initialized unconditionally. Note that "leaf" now points to the first unused element of the array, not the last filled element. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8f384c0177a03640312b9cb3638c998b32243b63 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Sep 3 16:24:52 2015 -0400 RDS: rds_conn_lookup() should factor in the struct net for a match Only return a conn if the rds_conn_net(conn) matches the struct net passed to rds_conn_lookup(). Fixes: 467fa15356ac ("RDS-TCP: Support multiple RDS-TCP listen endpoints, one per netns.") Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42ea4457aea7aaeddf0c0b06724f297608f5e9d2 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 21:38:30 2015 +0200 net: fec: normalize return value of pm_runtime_get_sync() in MDIO write If fec MDIO write method succeeds its return value comes from call to pm_runtime_get_sync(). But pm_runtime_get_sync() can also return 1. In case of Micrel KSZ9031 PHY this value will then be returned along the call chain of phy_write() -> ksz9031_extended_write() -> ksz9031_center_flp_timing() -> ksz9031_config_init() -> phy_init_hw() -> phy_attach_direct() -> phy_connect_direct(). Then phy_connect() will cast it into a pointer using ERR_PTR(), which then fec_enet_mii_probe() will try to dereference resulting in an oops. Fix it by normalizing return value of pm_runtime_get_sync() to be zero if positive in MDIO write method. Fixes: 8fff755e9f8d ("net: fec: Ensure clocks are enabled while using mdio bus") Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0890cf6cb6ab1af650025670b1a839671a9a3fcb Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 3 14:04:17 2015 +0200 switchdev: fix return value of switchdev_port_fdb_dump in case of error switchdev_port_fdb_dump is used as .ndo_fdb_dump. Its return value is idx, so we cannot return errval. Fixes: 45d4122ca7cd ("switchdev: add support for fdb add/del/dump via switchdev_port_obj ops.") Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Sridhar Samudrala <sridhar.samudrala@xxxxxxxxx> Acked-by: Scott Feldman<sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b65888796b72b677928527b17eeb8e935b767146 Author: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Date: Thu Sep 3 07:41:53 2015 -0400 be2net: Revert "make the RX_FILTER command asynchronous" commit The be_cmd_rx_filter() routine sends a non-embedded cmd to the FW and used a pre-allocated dma memory to hold the cmd payload. This worked fine when this cmd was synchronous. This cmd was changed to asynchronous mode by the commit 8af65c2f4("make the RX_FILTER command asynchronous"). So now when there are two quick invocations of this cmd, the 2nd request may end up overwriting the first request, causing FW cmd corruption. This patch reverts the offending commit and hence fixes the regression. Fixes: 8af65c2f4("be2net: make the RX_FILTER command asynchronous") Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53cfd053e4d82b46dddc5d3522700263016e3156 Merge: bd516bd 9cf94ea Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 5 17:36:30 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Conflicts: include/net/netfilter/nf_conntrack.h The conflict was an overlap between changing the type of the zone argument to nf_ct_tmpl_alloc() whilst exporting nf_ct_tmpl_free. Pablo Neira Ayuso says: ==================== Netfilter fixes for net The following patchset contains Netfilter fixes for net, they are: 1) Oneliner to restore maps in nf_tables since we support addressing registers at 32 bits level. 2) Restore previous default behaviour in bridge netfilter when CONFIG_IPV6=n, oneliner from Bernhard Thaler. 3) Out of bound access in ipset hash:net* set types, reported by Dave Jones' KASan utility, patch from Jozsef Kadlecsik. 4) Fix ipset compilation with gcc 4.4.7 related to C99 initialization of unnamed unions, patch from Elad Raz. 5) Add a workaround to address inconsistent endianess in the res_id field of nfnetlink batch messages, reported by Florian Westphal. 6) Fix error paths of CT/synproxy since the conntrack template was moved to use kmalloc, patch from Daniel Borkmann. All of them look good to me to reach 4.2, I can route this to -stable myself too, just let me know what you prefer. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d9071a095023cd1db8fa18fa0d648dc1a5210e0 Merge: bd77966 397d425 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 20:34:28 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs updates from Al Viro: "In this one: - d_move fixes (Eric Biederman) - UFS fixes (me; locking is mostly sane now, a bunch of bugs in error handling ought to be fixed) - switch of sb_writers to percpu rwsem (Oleg Nesterov) - superblock scalability (Josef Bacik and Dave Chinner) - swapon(2) race fix (Hugh Dickins)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (65 commits) vfs: Test for and handle paths that are unreachable from their mnt_root dcache: Reduce the scope of i_lock in d_splice_alias dcache: Handle escaped paths in prepend_path mm: fix potential data race in SyS_swapon inode: don't softlockup when evicting inodes inode: rename i_wb_list to i_io_list sync: serialise per-superblock sync operations inode: convert inode_sb_list_lock to per-sb inode: add hlist_fake to avoid the inode hash lock in evict writeback: plug writeback at a high level change sb_writers to use percpu_rw_semaphore shift percpu_counter_destroy() into destroy_super_work() percpu-rwsem: kill CONFIG_PERCPU_RWSEM percpu-rwsem: introduce percpu_rwsem_release() and percpu_rwsem_acquire() percpu-rwsem: introduce percpu_down_read_trylock() document rwsem_release() in sb_wait_write() fix the broken lockdep logic in __sb_start_write() introduce __sb_writers_{acquired,release}() helpers ufs_inode_get{frag,block}(): get rid of 'phys' argument ufs_getfrag_block(): tidy up a bit ... commit bd779669945ed9982890da789ad32e3bd0d41f14 Merge: 9cfcc65 b5ac1fb2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 20:33:10 2015 -0700 Merge tag 'for-linus-4.3-merge-window-part-1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs Pull 9p updates from Eric Van Hensbergen: "Just a few cleanups for 4.3 merge window for the 9p file system. I've gotten several more over the past week, but this group has been in for-next for at least a couple of weeks so I figured I'd push them first while I test the rest. Most of the ones not in this set are bug-fixes anyways so I could hold them for rc1" * tag 'for-linus-4.3-merge-window-part-1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: fix return code of read() when count is 0 9p: remove unused option Opt_trans commit 9cfcc658da9693f65e7224e8329e40ada2f3c699 Merge: e3a98ac 50ef28a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 18:21:14 2015 -0700 Merge tag 'media/v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - new DVB frontend drivers: ascot2e, cxd2841er, horus3a, lnbh25 - new HDMI capture driver: tc358743 - new driver for NetUP DVB new boards (netup_unidvb) - IR support for DVBSky cards (smipcie-ir) - Coda driver has gain macroblock tiling support - Renesas R-Car gains JPEG codec driver - new DVB platform driver for STi boards: c8sectpfe - added documentation for the media core kABI to device-drivers DocBook - lots of driver fixups, cleanups and improvements * tag 'media/v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (297 commits) [media] c8sectpfe: Remove select on undefined LIBELF_32 [media] i2c: fix platform_no_drv_owner.cocci warnings [media] cx231xx: Use wake_up_interruptible() instead of wake_up_interruptible_nr() [media] tc358743: only queue subdev notifications if devnode is set [media] tc358743: add missing Kconfig dependency/select [media] c8sectpfe: Use %pad to print 'dma_addr_t' [media] DocBook media: Fix typo "the the" in xml files [media] tc358743: make reset gpio optional [media] tc358743: set direction of reset gpio using devm_gpiod_get [media] dvbdev: document most of the functions/data structs [media] dvb_frontend.h: document the struct dvb_frontend [media] dvb-frontend.h: document struct dtv_frontend_properties [media] dvb-frontend.h: document struct dvb_frontend_ops [media] dvb: Use DVBFE_ALGO_HW where applicable [media] dvb_frontend.h: document struct analog_demod_ops [media] dvb_frontend.h: Document struct dvb_tuner_ops [media] Docbook: Document struct analog_parameters [media] dvb_frontend.h: get rid of dvbfe_modcod [media] add documentation for struct dvb_tuner_info [media] dvb_frontend: document dvb_frontend_tune_settings ... commit e3a98ac47698bf1c1e4e6fae72afc9866953fce5 Merge: 2a013e3 86e488a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 18:11:04 2015 -0700 Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration Pull mailbox updates from Jassi Brar: "Mainly we move from jiffy based timer to HRTIMER for finer control over polling. Then a controller reduces its polling period from 10 to 1ms" * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration: mailbox: arm_mhu: reduce txpoll_period from 10ms to 1 ms mailbox: switch to hrtimer for tx_complete polling mailbox: Drop owner assignment from platform_driver commit 2a013e37ce691a7c072df27b35e9790fc8f5a82f Merge: 1744771 e89c6fd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 17:52:22 2015 -0700 Merge tag 'md/4.3' of git://neil.brown.name/md Pull md updates from Neil Brown: - an assortment of little fixes, several for minor races only likely to be hit during testing - further cluster-md-raid1 development, not ready for real use yet. - new RAID6 syndrome code for ARM NEON - fix a race where a write can return before failure of one device is properly recorded in metadata, so an immediate crash might result in that write being lost. * tag 'md/4.3' of git://neil.brown.name/md: (33 commits) md/raid5: ensure device failure recorded before write request returns. md/raid5: use bio_list for the list of bios to return. md/raid10: ensure device failure recorded before write request returns. md/raid1: ensure device failure recorded before write request returns. md-cluster: remove inappropriate try_module_get from join() md: extend spinlock protection in register_md_cluster_operations md-cluster: Read the disk bitmap sb and check if it needs recovery md-cluster: only call complete(&cinfo->completion) when node join cluster md-cluster: add missed lockres_free md-cluster: remove the unused sb_lock md-cluster: init suspend_list and suspend_lock early in join md-cluster: add the error check if failed to get dlm lock md-cluster: init completion within lockres_init md-cluster: fix deadlock issue on message lock md-cluster: transfer the resync ownership to another node md-cluster: split recover_slot for future code reuse md-cluster: use %pU to print UUIDs md: setup safemode_timer before it's being used md/raid5: handle possible race as reshape completes. md: sync sync_completed has correct value as recovery finishes. ... commit bd516bd1feeb3890502178a74228ec05271f2b6d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 3 11:30:30 2015 +0530 net: wan: sbni: fix device usage count dev_get_by_name() will increment the usage count if the matching device is found. But we were not decrementing the count if we have got the device and the device is non-active. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25b4a44c19c83d98e8c0807a7ede07c1f28eab8b Author: Richard Laing <richard.laing@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:52:31 2015 +1200 net/ipv6: Correct PIM6 mrt_lock handling In the IPv6 multicast routing code the mrt_lock was not being released correctly in the MFC iterator, as a result adding or deleting a MIF would cause a hang because the mrt_lock could not be acquired. This fix is a copy of the code for the IPv4 case and ensures that the lock is released correctly. Signed-off-by: Richard Laing <richard.laing@xxxxxxxxxxxxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17447717a3266965e257d3eae79d89539ce3ec0a Merge: 2236597 a457974 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 17:26:24 2015 -0700 Merge tag 'nfsd-4.3' of git://linux-nfs.org/~bfields/linux Pull nfsd updates from Bruce Fields: "Nothing major, but: - Add Jeff Layton as an nfsd co-maintainer: no change to existing practice, just an acknowledgement of the status quo. - Two patches ("nfsd: ensure that...") for a race overlooked by the state locking rewrite, causing a crash noticed by multiple users. - Lots of smaller bugfixes all over from Kinglong Mee. - From Jeff, some cleanup of server rpc code in preparation for possible shift of nfsd threads to workqueues" * tag 'nfsd-4.3' of git://linux-nfs.org/~bfields/linux: (52 commits) nfsd: deal with DELEGRETURN racing with CB_RECALL nfsd: return CLID_INUSE for unexpected SETCLIENTID_CONFIRM case nfsd: ensure that delegation stateid hash references are only put once nfsd: ensure that the ol stateid hash reference is only put once net: sunrpc: fix tracepoint Warning: unknown op '->' nfsd: allow more than one laundry job to run at a time nfsd: don't WARN/backtrace for invalid container deployment. fs: fix fs/locks.c kernel-doc warning nfsd: Add Jeff Layton as co-maintainer NFSD: Return word2 bitmask if setting security label in OPEN/CREATE NFSD: Set the attributes used to store the verifier for EXCLUSIVE4_1 nfsd: SUPPATTR_EXCLCREAT must be encoded before SECURITY_LABEL. nfsd: Fix an FS_LAYOUT_TYPES/LAYOUT_TYPES encode bug NFSD: Store parent's stat in a separate value nfsd: Fix two typos in comments lockd: NLM grace period shouldn't block NFSv4 opens nfsd: include linux/nfs4.h in export.h sunrpc: Switch to using hash list instead single list sunrpc/nfsd: Remove redundant code by exports seq_operations functions sunrpc: Store cache_detail in seq_file's private directly ... commit 22365979ab15f8500254cb90037b0b4c17554739 Merge: 6c0f568 3a9508b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 15:14:43 2015 -0700 Merge branch 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs updates from Chris Mason: "This has Jeff Mahoney's long standing trim patch that fixes corners where trims were missing. Omar has some raid5/6 fixes, especially for using scrub and device replace when devices are missing. Zhao Lie continues cleaning and fixing things, this series fixes some really hard to hit corners in xfstests. I had to pull it last merge window due to some deadlocks, but those are now resolved. I added support for Tejun's new blkio controllers. It seems to work well for single devices, we'll expand to multi-device as well" * 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (47 commits) btrfs: fix compile when block cgroups are not enabled Btrfs: fix file read corruption after extent cloning and fsync Btrfs: check if previous transaction aborted to avoid fs corruption btrfs: use __GFP_NOFAIL in alloc_btrfs_bio btrfs: Prevent from early transaction abort btrfs: Remove unused arguments in tree-log.c btrfs: Remove useless condition in start_log_trans() Btrfs: add support for blkio controllers Btrfs: remove unused mutex from struct 'btrfs_fs_info' Btrfs: fix parity scrub of RAID 5/6 with missing device Btrfs: fix device replace of a missing RAID 5/6 device Btrfs: add RAID 5/6 BTRFS_RBIO_REBUILD_MISSING operation Btrfs: count devices correctly in readahead during RAID 5/6 replace Btrfs: remove misleading handling of missing device scrub btrfs: fix clone / extent-same deadlocks Btrfs: fix defrag to merge tail file extent Btrfs: fix warning in backref walking btrfs: Add WARN_ON() for double lock in btrfs_tree_lock() btrfs: Remove root argument in extent_data_ref_count() btrfs: Fix wrong comment of btrfs_alloc_tree_block() ... commit 6c0f568e84a3cfc775682311d65205462c3f3bc1 Merge: c821990 559ec2f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:27:38 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge patch-bomb from Andrew Morton: - a few misc things - Andy's "ambient capabilities" - fs/nofity updates - the ocfs2 queue - kernel/watchdog.c updates and feature work. - some of MM. Includes Andrea's userfaultfd feature. [ Hadn't noticed that userfaultfd was 'default y' when applying the patches, so that got fixed in this merge instead. We do _not_ mark new features that nobody uses yet 'default y' - Linus ] * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (118 commits) mm/hugetlb.c: make vma_has_reserves() return bool mm/madvise.c: make madvise_behaviour_valid() return bool mm/memory.c: make tlb_next_batch() return bool mm/dmapool.c: change is_page_busy() return from int to bool mm: remove struct node_active_region mremap: simplify the "overlap" check in mremap_to() mremap: don't do uneccesary checks if new_len == old_len mremap: don't do mm_populate(new_addr) on failure mm: move ->mremap() from file_operations to vm_operations_struct mremap: don't leak new_vma if f_op->mremap() fails mm/hugetlb.c: make vma_shareable() return bool mm: make GUP handle pfn mapping unless FOLL_GET is requested mm: fix status code which move_pages() returns for zero page mm: memcontrol: bring back the VM_BUG_ON() in mem_cgroup_swapout() genalloc: add support of multiple gen_pools per device genalloc: add name arg to gen_pool_get() and devm_gen_pool_create() mm/memblock: WARN_ON when nid differs from overlap region Documentation/features/vm: add feature description and arch support status for batched TLB flush after unmap mm: defer flush of writable TLB entries mm: send one IPI per CPU to TLB flush all entries after unmapping pages ... commit c82199061009d1561e31e17fca5e47a87cb7ff4c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Aug 28 19:42:30 2015 -0700 task_work: remove fifo ordering guarantee In commit f341861fb0b ("task_work: add a scheduling point in task_work_run()") I fixed a latency problem adding a cond_resched() call. Later, commit ac3d0da8f329 added yet another loop to reverse a list, bringing back the latency spike : I've seen in some cases this loop taking 275 ms, if for example a process with 2,000,000 files is killed. We could add yet another cond_resched() in the reverse loop, or we can simply remove the reversal, as I do not think anything would depend on order of task_work_add() submitted works. Fixes: ac3d0da8f329 ("task_work: Make task_work_add() lockless") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Maciej Å»enczykowski <maze@xxxxxxxxxx> Acked-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ade9c1a47c811a7ae1c874882ad9178af1ed1098 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Feb 19 13:38:13 2014 -0800 Input: imx_keypad - remove obsolete comment Since commit 81e8f2bc (Input: imx_keypad - add pm suspend and resume support) the imx_keypad driver supports power management, so let's remove the obsolete comment. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9a436d524d3533cd15ed5a189d2237ff1e4e5343 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Sat Sep 5 11:31:21 2015 -0700 Input: touchscreen - add imx6ul_tsc driver support Freescale i.MX6UL contains a internal touchscreen controller, this patch add a driver to support this controller. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 48ead50c1dd8e5cdb7ead067558a834c1e895e6e Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Sat Sep 5 10:32:09 2015 -0700 Input: Add touchscreen support for Colibri VF50 The Colibri Vybrid VF50 module supports 4-wire touchscreens using FETs and ADC inputs. This driver uses the IIO consumer interface and relies on the vf610_adc driver based on the IIO framework. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f5d75341fac6033f6afac900da110cc78e06d40d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Sep 5 10:29:09 2015 -0700 Input: i8042 - lower log level for "no controller" message Nowadays the machines without i8042 controller is popular, and no need to print "No controller found" message in the error log level, which annoys at booting in quiet mode. Let's lower it info level. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5f1b2f77646fc0ef2f36fc554f5722a1381d0892 Author: Mitja Spes <mitja@xxxxxxxxx> Date: Wed Sep 2 10:02:29 2015 +0200 rtc: abx80x: fix RTC write bit Fix RTC write bit as per application manual Cc: stable@xxxxxxxxxxxxxxx # 4.1+ Signed-off-by: Mitja Spes <mitja@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8a67e93153f03a8d205727c0aeacb5524a414f77 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 4 08:58:05 2015 -0300 rtc: ab8500: Add a sentinel to ab85xx_rtc_ids[] Add a sentinel to ab85xx_rtc_ids[] in order to fix the following error: drivers/rtc/rtc-ab8500: struct platform_device_id is 24 bytes. The last of 2 is: 0x61 0x62 0x38 0x35 0x34 0x30 0x2d 0x72 0x74 0x63 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x8c FATAL: drivers/rtc/rtc-ab8500: struct platform_device_id is not terminated with a NULL entry! Reported-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d78908d9717b627a261b1bfe6feb67181e12752e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Aug 10 09:47:45 2015 -0300 rtc: ds1374: Remove unused variable Remove unused variable 'res' and fix the following build warning: drivers/rtc/rtc-ds1374.c:667:6: warning: unused variable 'res' [-Wunused-variable] Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 73798d5c41fdb434ccbeeec76afc8106869a98c3 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 27 13:52:02 2015 +0200 rtc: Fix module autoload for OF platform drivers These platform drivers have a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 63074cc3d4b8367aa6d9dc5520b88ca6557d32fa Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 27 12:34:32 2015 +0200 rtc: Fix module autoload for rtc-{ab8500,max8997,s5m} drivers These platform drivers have a platform device ID table but the module alias information is not created so module autoloading will not work. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 399cf0f63f6f24d7a837fbfbc801010cb6e77579 Author: Keerthy <j-keerthy@xxxxxx> Date: Tue Aug 18 15:11:16 2015 +0530 rtc: omap: Add external clock enabling support Configure the clock source to external clock if available. External clock is preferred as it can be ticking during suspend. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 532409aa1ba8b69d5a3dea159d4b1bd9adbd7a46 Author: Keerthy <j-keerthy@xxxxxx> Date: Tue Aug 18 15:11:15 2015 +0530 rtc: omap: Add internal clock enabling support The rtc can be clocked by an internal 32K clock. Adding the support to enable the same. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit fff51e771eafc3b4fa6daf1372fd4a4023bb402b Author: Keerthy <j-keerthy@xxxxxx> Date: Tue Aug 18 15:11:14 2015 +0530 ARM: dts: AM437x: Add the internal and external clock nodes for rtc rtc can either be supplied from internal 32k clock or external crystal generated 32k clock. Internal clock is SOC specific and the external clock is board dependent. Adding the corresponding nodes. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit ff02c0444b83201ff76cc49deccac8cf2bffc7bc Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Fri Aug 21 18:43:41 2015 +0900 rtc: s5m: fix to update ctrl register According to datasheet, the S2MPS13X and S2MPS14X should update write buffer via setting WUDR bit to high after ctrl register is written. If not, ALARM interrupt of rtc-s5m doesn't happen first time when i use tools/testing/selftests/timers/rtctest.c test program and hour format is used to 12 hour mode in Odroid-XU3 board. One more issue is the RTC doesn't keep time on Odroid-XU3 board when i turn on board after power off even if RTC battery is connected. It can be solved as setting WUDR & RUDR bits to high at the same time after RTC_CTRL register is written. It's same with condition of only writing ALARM registers, so this is for only S2MPS14 and we should set WUDR & A_UDR bits to high on S2MPS13. I can't find any reasonable description about this like fix from datasheet, but can find similar codes from rtc driver source of hardkernel kernel and vendor kernel. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.16 Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 11143c19eb57a8aee4335e57b21f2897b9fff294 Author: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Date: Wed Aug 19 15:23:22 2015 +0530 rtc: add xilinx zynqmp rtc driver Add support for RTC controller found on Xilinx Zynq Ultrascale+ MPSoC platform. Signed-off-by: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 12ece40d9196e01961192fc25cfdaf22392520de Author: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Date: Wed Aug 19 15:23:21 2015 +0530 devicetree: bindings: rtc: add bindings for xilinx zynqmp rtc adds file for description on device node bindings for RTC found on Xilinx Zynq Ultrascale+ MPSoC. Signed-off-by: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a038c3aa9f3afe9ab97a75827789859fb4af5767 Author: Bibek Basu <bbasu@xxxxxxxxxx> Date: Fri Aug 14 20:44:02 2015 +0200 rtc: as3722: correct month value The RTC month value is 1-indexed, but the kernel assumes it is 0-indexed. This may result in the RTC not rolling over correctly. Signed-off-by: Bibek Basu <bbasu@xxxxxxxxxx> Signed-off-by: Felix Janda <felix.janda@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit e66ce07a9692f492580820640b446971dff97a74 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jun 1 07:53:01 2015 -0500 ARM: config: Switch PXA27x platforms to use PXA RTC driver With the SA1100 and PXA RTC drivers be mutually exclusive and no longer sharing hardware, PXA27x/PXA3xx platforms must use the PXA RTC driver as the SA1100 platform device is no longer registered. This change should be almost transparent to userspace. Former users of pxa-rtc should be aware that 2 RTCs will be available on their kernels, rtc0 being sa1100-rtc and rtc1 being pxa-rtc. Any userspace relying on the fact that rtc0 was pxa-rtc should be fixed. As a consequence: - the first reboot after the switch will have the wrong time, - on dual boot platform where the other OS programs some logic into the sa1100 rtc IP, a lack of fix in userspace, ie. a kernel changing sa1100-rtc thinking it is pxa-rtc could have dire consequence, such as wiping the other OS data partition. (Thanks to Robert Jarmik for help on the above commit text.) Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Sergey Lapin <slapin@xxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Mike Rapoport <mike@xxxxxxxxxxxxxx> Cc: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7b758ef4440cd581e8207d762af635c644c85f81 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Feb 3 14:54:01 2015 -0600 ARM: mmp: remove unused RTC register definitions Now that register definitions have been moved to the driver, regs-rtc.h is no longer used and can be removed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Eric Miao <eric.y.miao@xxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d6679c48c13ce896a428d392ffe8a62ad6a75b77 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Feb 3 14:46:29 2015 -0600 ARM: sa1100: remove unused RTC register definitions Now that register definitions have been moved to the driver, we can remove them from machine specific code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 90d0ae8e9583355725583e9d1ff0ebdc97936f39 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Feb 3 14:44:51 2015 -0600 rtc: sa1100/pxa: convert to run-time register mapping SA1100 and PXA differ only in register offsets which are currently hardcoded in a machine specific header. Some arm64 platforms (PXA1928) have this RTC block as well (and not the PXA270 variant). Convert the driver to use ioremap and set the register offsets dynamically. Since we are touching all the register accesses, convert them all to readl_relaxed/writel_relaxed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2c4fabec8790384b91473aa3d0d28d4407168ef9 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Feb 2 17:50:32 2015 -0600 ARM: pxa: add memory resource to SA1100 RTC device The drivers for the SA1100 and PXA RTCs are now mutually exclusive, so add the memory resource for the sa1100-rtc device. Since the memory resource is already present in the pxa_rtc_resources, that makes sa1100_rtc_resources and pxa_rtc_resources equivalent, so use pxa_rtc_resources for both devices and remove the duplicate sa1100_rtc_resources. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3cdf4ad9633e3ca616617e76b46915c02cba426b Author: Rob Herring <robh@xxxxxxxxxx> Date: Wed May 13 09:20:04 2015 -0500 rtc: pxa: convert to use shared sa1100 functions Currently, the rtc-sa1100 and rtc-pxa drivers co-exist as rtc-pxa has a superset of functionality. Having 2 drivers sharing the same memory resource is not allowed by the driver model if resources are properly declared. This problem was avoided by not adding memory resources to the SA1100 RTC driver, but that prevents clean-up of the SA1100 driver. This commit converts the PXA RTC to use the exported SA1100 RTC functions. Now the sa1100-rtc and pxa-rtc devices are mutually exclusive, so we must remove the sa1100-rtc from pxa27x and pxa3xx. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8c0961ba7c9356186a0606a391f08e2ecb491a57 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue May 12 16:23:23 2015 -0500 rtc: sa1100: prepare to share sa1100_rtc_ops Factor out the RTC initialization from the platform device specific parts in order to share the RTC device ops with other drivers. Specifically, it will be shared with rtc-pxa driver. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit dc2280ebf45bfa4fbc4b1588a6642aa33454a9b8 Author: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Date: Wed Aug 12 17:14:13 2015 +0800 rtc: ds3232: fix WARNING trace in resume function If ds3232 work on some platform that is not implementing irq_set_wake, ds3232 will get a WARNING trace in resume. So fix ds3232->suspended state to false when irq_set_irq_wake return error. WARNING: CPU: 0 PID: 729 at kernel/irq/manage.c:604 irq_set_irq_wake+0x4b/0x8c() Unbalanced IRQ 201 wake disable Modules linked in: CPU: 0 PID: 729 Comm: sh Not tainted 3.12.19-rt30+ #25 [<800107d9>] (unwind_backtrace+0x1/0x88) from [<8000e4ef>] (show_stack+0xb/0xc) [<8000e4ef>] (show_stack+0xb/0xc) from [<802b5fa9>] (dump_stack+0x4d/0x60) [<802b5fa9>] (dump_stack+0x4d/0x60) from [<800186dd>] (warn_slowpath_common+0x45/0x64) [<800186dd>] (warn_slowpath_common+0x45/0x64) from [<80018717>] (warn_slowpath_fmt+0x1b/0x24) [<80018717>] (warn_slowpath_fmt+0x1b/0x24) from [<8003a8d3>] (irq_set_irq_wake+0x4b/0x8c) [<8003a8d3>] (irq_set_irq_wake+0x4b/0x8c) from [<80204fcb>] (ds3232_resume+0x2d/0x36) [<80204fcb>] (ds3232_resume+0x2d/0x36) from [<801954c7>] (dpm_run_callback.isra.13+0xb/0x28) [<801954c7>] (dpm_run_callback.isra.13+0xb/0x28) from [<80195b1b>] (device_resume+0x7b/0xa2) [<80195b1b>] (device_resume+0x7b/0xa2) from [<80195f0f>] (dpm_resume+0xbb/0x19c) [<80195f0f>] (dpm_resume+0xbb/0x19c) from [<801960d9>] (dpm_resume_end+0x9/0x12) [<801960d9>] (dpm_resume_end+0x9/0x12) from [<80037e1d>] (suspend_devices_and_enter+0x17d/0x1d0) [<80037e1d>] (suspend_devices_and_enter+0x17d/0x1d0) from [<80037ee1>] (pm_suspend+0x71/0x128) [<80037ee1>] (pm_suspend+0x71/0x128) from [<80037449>] (state_store+0x6d/0x80) [<80037449>] (state_store+0x6d/0x80) from [<800af4d5>] (sysfs_write_file+0x9f/0xde) [<800af4d5>] (sysfs_write_file+0x9f/0xde) from [<8007a437>] (vfs_write+0x7b/0x104) [<8007a437>] (vfs_write+0x7b/0x104) from [<8007a7f7>] (SyS_write+0x27/0x48) [<8007a7f7>] (SyS_write+0x27/0x48) from [<8000c121>] (ret_fast_syscall+0x1/0x44) Signed-off-by: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 467e1436ba85f78b8c4610c4549eb255a8211c42 Author: Niranjan Sivakumar <ns253@xxxxxxxxxxx> Date: Sat Sep 5 18:20:35 2015 +0200 ALSA: hda - Fix white noise on Dell M3800 The M3800 is very minor workstation variant of the XPS 15 which has already been patched for this issue. I figured it's probably more important for this version of the laptop to be patched than the regular XPS as Dell sells is pre-configured with Ubuntu to be used as a Linux workstation. I have tested the patch on my the hardware on Linux 4.2.0. Signed-off-by: Niranjan Sivakumar <ns253@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.1+ Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a161574e200ae63a5042120e0d8c36830e81bde3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Aug 13 18:05:06 2015 +0200 ALSA: hda - Use ALC880_FIXUP_FUJITSU for FSC Amilo M1437 It turned out that the machine has a bass speaker, so take a correct fixup entry. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=102501 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bb148bdeb0ab16fc0ae8009799471e4d7180073b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Aug 13 18:02:39 2015 +0200 ALSA: hda - Enable headphone jack detect on old Fujitsu laptops According to the bug report, FSC Amilo laptops with ALC880 can detect the headphone jack but currently the driver disables it. It's partly intentionally, as non-working jack detect was reported in the past. Let's enable now. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=102501 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 27b15e31dbc5f4d7fc93e6acaa898cbfd1cf74ea Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Aug 11 20:28:20 2015 +0900 rtc: s3c: remove unnecessary NULL assignment It's unnecessary the code that assigns info->rtc_clk to NULL in s3c_rtc_remove. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7f23a93661eb5caa373f75a145cec14331a8caaa Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Aug 11 20:28:19 2015 +0900 rtc: s3c: add missing clk control It's missed to call clk_unprepare() about info->rtc_src_clk in s3c_rtc_remove and to call clk_disable_unprepare about info->rtc_clk in error routine of s3c_rtc_probe. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1fb1c35f56bb6ab4a65920c648154b0f78f634a5 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Wed Aug 12 19:21:46 2015 +0900 rtc: s3c: fix disabled clocks for alarm The clock enable/disable codes for alarm have been removed from commit 24e1455493da ("drivers/rtc/rtc-s3c.c: delete duplicate clock control") and the clocks are disabled even if alarm is set, so alarm interrupt can't happen. The s3c_rtc_setaie function can be called several times with 'enabled' argument having same value, so it needs to check whether clocks are enabled or not. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.1 Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 80e274e96e5bc4ddf9ee4b31ab6f4a2a9fa08040 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:33:40 2015 +0200 rtc: at91sam9: remove useless include Definitions from linux/platform_data/atmel.h are not used, remove the include. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1955f213a68323f7348fc06461017c7675efe6c1 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:33:39 2015 +0200 rtc: at91sam9: include linux/of.h This driver is using device tree but is not including of.h Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 0c6e718389305cbc4cd9b8e3fd4b4173bd1127e6 Author: Nadav Haklai <nadavh@xxxxxxxxxxx> Date: Thu Aug 6 17:18:48 2015 +0200 rtc: armada38x: Align RTC set time procedure with the official errata According to the Armada38x functional errata FE-3124064, writing to the RTC TIME register may fail. As a workaround, after writing to RTC TIME register, issue a dummy write of 0x0 twice to the RTC Status register. This is the updated implementation of the Errata that eliminates the need of the long 100ms delay during the RTC set time procedure. [gregory.clement@xxxxxxxxxxxxxxxxxx]: removed the mutex and use the spinlock again Signed-off-by: Nadav Haklai <nadavh@xxxxxxxxxxx> Reviewed-by: Neta Zur Hershkovits <neta@xxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit efbbb4fd6b6fe0d3d2cfb3c5bbcdf00f1995cb60 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 11:33:59 2015 +0200 rtc: rx8025: check time validity when necessary Check time validity when reading time as this is when we need to know. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 5c66e1e0b79bd63dcdfbc03b80823522643a1f14 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 11:24:33 2015 +0200 rtc: rx8025: fix RX8025_BIT_CTRL2_CTFG initialization RX8025_BIT_CTRL2_CTFG was set to 0 only when it was already 0. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 4b33d36b670e7166e8a082e050bfb241ba65271f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 10:56:50 2015 +0200 rtc: rx8025: remove useless initialization irq_freq is already initialized to 1 in rtc_device_register() Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8c4a4467cda299491eff64640c891a0b2926cb76 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 10:48:20 2015 +0200 rtc: rx8025: reset validity when setting time Wait for the user to set the time to reset the validity bits. Until then, the time may be invalid. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a27c7bf657cb4ab893328359b66a584251be6cac Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 10:46:22 2015 +0200 rtc: rx8025: fix rx8025_init_client() rx8025_init_client is modifying ctrl[0] and writing it to RX8025_REG_CTRL2 but ctrl[0] is actually RX8025_REG_CTRL1. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8a06513df55ef10baf80f55d13786eb29efa4fa6 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 00:45:37 2015 +0200 rtc: rx8025: continue without alarm when irq request fails Instead of bailing out, disable alarms and continue when devm_request_threaded_irq() fails. This allows to still provide some functionality. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit fd9061fb497926c0e62bf1c7ff727801499fd2ea Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 00:40:25 2015 +0200 rtc: rx8025: cleanup accessors Remove useless error messages, at that point, the user already knows something went wrong but will not be able to do anything about it anyway. It is also highly unlikely that some registers are readable/writable but not some other ones. Also, transform rx8025_read_reg to be more resemblant to i2c_smbus_read_byte_data() Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 6f0a8cfebb898b88fb0d934d7a44a6d4c98d5285 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 26 10:13:31 2015 +0200 rtc: rx8025: don't reset the time Stop setting the time to epoch when it is invalid. The proper way to handle that is to return an error when it is invalid instead of returning an incorrect value. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2e10e74df72ff0f8ea65eb1ee6e39ed8278a91bf Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 25 15:54:59 2015 +0200 rtc: rx8025: fix transfer mode The datasheet specifies that transfer mode must be 0 for write and either 0x4 (simplified read) or 0 (standard read). 0x8 is not specified, use standard mode. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 32672c55951b2633bb93ec6f12734cf17e9d3a14 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 25 12:07:37 2015 +0200 rtc: rx8025: only handle dates between 2000 and 2099 The hardware is only capable of handling dates between 2000 and 2099, enforce that. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2ddd18693cb93126077bd072884dffca423c1e27 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 25 11:50:22 2015 +0200 rtc: rx8025: use BIT() Use BIT() instead of hand coding. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit dbcce7cf1eb95c704faa3fff1acc974010c8e5a4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 16:12:10 2015 +0200 rtc: rx8025: remove useless probe error message It is useless to print a message when probe fails as the user is already aware that it failed. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f0b63a1d5a4a4d9d60fe728ede0fa78ec5aab8be Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 16:07:30 2015 +0200 rtc: rx8025: switch to managed irq allocation Use devm_request_threaded_irq() so it is not necessary to call free_irq() explicitly. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit b6a57c955c362cb9d6ace991cdd77376849abb44 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 15:59:43 2015 +0200 rtc: rx8025: Convert to threaded IRQ The driver currently emulates the concept of threaded IRQ using a workqueue, switch to threaded IRQ instead. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 15d3bdc23eb54c50b2a5f143325fe83c3ab0dd27 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 15:50:23 2015 +0200 rtc: rx8025: remove useless headers and reorder them Remove the useless includes and order the remaining ones alphabetically. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 824625d3926f0caf4753426d2b24a8fc08a406c8 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:36 2015 +0300 rtc: tx4939: clean up tx4939_rtc_nvram_read()/tx4939_rtc_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit ecc663c3d0dc181fd15e4d60753024d180fd7e8f Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:35 2015 +0300 rtc: stk17ta8: clean up stk17ta8_nvram_read()/stk17ta8_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d1cf4bdee8e574c0d2b7ce9fa8d9cd89c0ac761a Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:34 2015 +0300 rtc: rp5c01: clean up rp5c01_nvram_read()/rp5c01_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 99be3e371b2ac03b936044139be10cf0c7b9cc58 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Wed Aug 5 21:13:02 2015 +0300 rtc: m48t59: clean up m48t59_nvram_read()/m48t59_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Spinlock acquisition/release is moved out of the loop body to get atomic states of NVRAM reading and writing operations. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c472d7ded2dfbe7da29531a9c9e6b951e5658605 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:32 2015 +0300 rtc: ds1742: clean up ds1742_nvram_read()/ds1742_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a9118d77b3be366c4843446d671a52ccfddcc15c Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:31 2015 +0300 rtc: ds1553: clean up ds1553_nvram_read()/ds1553_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8ccba14233000f48639aad4cab55ed7b61260db5 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Wed Aug 5 21:12:58 2015 +0300 rtc: ds1511: clean up ds1511_nvram_read()/ds1511_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c The change enables burst mode of access to SRAM for any read()/write() operations, it is worth to mention that this may influence on userspace, for instance prior to the change read(fd, buf, 1); read(fd, buf + 1, 1); and read(fd, buf, 2); sequences of syscalls over DS1511's sysfs "nvram" fd led to different DS1511 state changes and/or buf content, if some userspace applications are written specifically for DS1511 and exploit this strange "feature", they may be impacted. Also the change corrects NVRAM size accessible to userspace from 255 bytes to 256 bytes. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f4843b19d2c7b5effd25e2a65b487d02bf55e96f Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:29 2015 +0300 rtc: ds1343: clean up ds1343_nvram_read()/ds1343_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit ca7c14d3a1ab1932732c506e32ab5b189b9c0a16 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:28 2015 +0300 rtc: ds1307: clean up ds1307_nvram_read()/ds1307_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 273e03041e6d48024a57682cbf7b61510f74ec64 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:27 2015 +0300 rtc: ds1305: clean up ds1305_nvram_read()/ds1305_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller size in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a3781639e148497d7381d8786aaefe9f8b7e3028 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:26 2015 +0300 rtc: cmos: clean up cmos_nvram_read()/cmos_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3c217e51d8a272b9301058fe845d6c69cc0651cb Author: Sylvain Chouleur <sylvain.chouleur@xxxxxxxxx> Date: Mon Jun 8 11:45:19 2015 +0200 rtc: cmos: century support If century field is supported by the RTC CMOS device, then we should use it and then do not consider years greater that 169 as an error. For information, the year field of the rtc_time structure contains the value to add to 1970 to obtain the current year. This was a hack to be able to support years for 1970 to 2069. This patch remains compatible with this implementation. Signed-off-by: Sylvain Chouleur <sylvain.chouleur@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 11f67a8bbf65872c3e9edc70242420a8c314a860 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 11:39:51 2015 +0200 rtc: at91rm9200: get and use slow clock Commit dca1a4b5ff6e ("clk: at91: keep slow clk enabled to prevent system hang") added a workaround for the slow clock as it is not properly handled by its users. Get and use the slow clock as it is necessary for the at91rm9200 rtc. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 202cc98acf96de1c3897194e1ed5ae1c80c8b0f3 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Jul 31 15:01:04 2015 +0530 rtc: gemini: fix ptr_ret.cocci warnings drivers/rtc/rtc-gemini.c:151:1-3: WARNING: PTR_ERR_OR_ZERO can be used Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR Generated by: scripts/coccinelle/api/ptr_ret.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit e7cba884af366f49ab7b7f5157e690357addebba Author: viresh kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 31 16:23:43 2015 +0530 rtc: Drop (un)likely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. gemini driver was using likely() for a failure case while the rtc driver is getting registered. That looks wrong and it should really be unlikely. But because we are killing all the unlikely() flags, lets kill that too. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 74000eb14a173f427240b90363580c686a675ddf Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 02:01:33 2015 +0200 rtc: at91rm9200: sort headers alphabetically Sort included headers alphabetically. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8918bd8a5f6c37963ba04ae79ad6488108894ab9 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 21:51:10 2015 +0200 rtc: at91sam9: get sclk rate after enabling it See help for clk_get_rate(): "obtain the current clock rate (in Hz) for a clock source. This is only valid once the clock source has been enabled." It currently returns the correct value but that may not stay that way. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 6932ff5395e3a2541fba696b38dc71393cf7ce57 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 21:49:24 2015 +0200 rtc: at91sam9: sort headers alphabetically Sort included headers alphabetically. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 73ab31ce1bbc64c590b2a2d58364942adfa11a3f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 21:47:57 2015 +0200 rtc: at91sam9: remove useless check rtc->sclk necessarily points to a valid clocks at this point. Else the probe would have aborted. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ffe60fcfda98a3e4f51bc1e02ff5412a7e1c9c79 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 21:46:15 2015 +0200 rtc: at91sam9: properly handle error case In case of a probe error, it is possible to abort after issuing clk_prepare_enable(). Ensure the clock is disabled and unprepared in that case. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 27675ef03c0535158b77af76591920fe041ebf14 Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Wed Jul 29 14:13:40 2015 +0800 rtc: pl031: fix typo for author email The email address missed character ">", so add it. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1c4fc2955ad37afb0d75ed5a67bad94c1529b0cf Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:46 2015 +0200 rtc: Export OF module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8109d44f7604cd5ab833ea09da98703f6eb16460 Author: Adrian Huang <adrianhuang0701@xxxxxxxxx> Date: Mon Jul 6 12:19:13 2015 +0800 rtc: cmos: Revert "rtc-cmos: Add an alarm disable quirk" Commit d5a1c7e3fc38 ("rtc-cmos: Add an alarm disable quirk") that added a special quirk is not needed because [PATCH 1/2] of this patchset makes the kernel more robust: rtc-cmos: Cancel alarm timer if alarm time is equal to now+1 seconds Signed-off-by: Adrian Huang <ahuang12@xxxxxxxxxx> Tested-by: Egbert Eich <eich@xxxxxxx> Tested-by: Diego Ercolani <diego.ercolani@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 88b8d33b1c6aadba553c998db91c4b36be0fac52 Author: Adrian Huang <adrianhuang0701@xxxxxxxxx> Date: Mon Jul 6 12:19:12 2015 +0800 rtc: cmos: Cancel alarm timer if alarm time is equal to now+1 seconds Steps to reproduce the problem: 1) Enable RTC wake-up option in BIOS Setup 2) Issue one of these commands in the OS: "poweroff" or "shutdown -h now" 3) System will shut down and then reboot automatically Root-cause of the issue: 1) During the shutdown process, the hwclock utility is used to save the system clock to hardware clock (RTC). 2) The hwclock utility invokes ioctl() with RTC_UIE_ON. The kernel configures the RTC alarm for the periodic interrupt (every 1 second). 3) The hwclock uitlity closes the /dev/rtc0 device, and the kernel disables the RTC alarm irq (AIE bit of Register B) via ioctl() with RTC_UIE_OFF. But, the configured alarm time is the current_time + 1. 4) After the next 1 second is elapsed, the AF (alarm interrupt flag) of Register C is set. 5) The S5 handler in BIOS is invoked to configure alarm registers (enable AIE bit and configure alarm date/time). But, BIOS does not clear the previous interrupt status during alarm configuration. Therefore, "AF=AIE=1" causes the rtc device to trigger an interrupt. 6) So, the machine reboots automatically right after shutdown. This patch cancels the alarm timer if the following condictions are met (suggested by Alexandre): 1) The configured alarm time is equal to current_time + 1 seconds. 2) The AIE timer is not in use. The member 'alarm_expires' is introduced in struct cmos_rtc because of the following reasons: 1) The configured alarm time can be retrieved from cmos_read_alarm(), but we need to take the 'wrapped timestamp' and 'time rollover' into consideration. The function __rtc_read_alarm() eliminates the concerns. To avoid the duplicated code in the lower level RTC driver, invoking __rtc_read_alarm from the lower level RTC driver is not encouraged. Moreover, the compilation error 'the undefined __rtc_read_alarm" is observed if the lower level RTC driver is compiled as a kernel module. 2) The uie_rtctimer.node.expires and aie_timer.node.expires can be retrieved for the configured alarm time. But, the problem is that either of them might configure the CMOS alarm time. We cannot make sure UIE timer or AIE tiemr configured the CMOS alarm time before. (uie_rtctimer or aie_timer is enabled and then is disabled). 3) The patch introduces the member 'alarm_expires' to keep the newly configured alarm time, so the above-mentioned concerns can be eliminated. The issue goes away after 20-time shutdown tests. Signed-off-by: Adrian Huang <ahuang12@xxxxxxxxxx> Tested-by: Egbert Eich <eich@xxxxxxx> Tested-by: Diego Ercolani <diego.ercolani@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 80ca3277bc7f398e3315af996443464dac5d4b88 Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Tue Jul 21 11:29:07 2015 +0100 rtc: da9063: Add DA9062 RTC capability to DA9063 RTC driver Add DA9062 RTC support into the existing DA9063 RTC driver component by using generic access tables for common register and bit mask definitions. The following change will add generic register and bit mask support to the DA9063 RTC. The changes are slightly complicated by requiring support for three register sets: DA9063-AD, DA9063-BB and DA9062-AA. The following alterations have been made to the DA9063 RTC: - Addition of a da9063_compatible_rtc_regmap structure to hold all generic registers and bitmasks for this type of RTC component. - A re-write of struct da9063 to use pointers for regmap and compatible registers/masks definitions - Addition of a of_device_id table for DA9063 and DA9062 defaults - Refactoring functions to use struct da9063_compatible_rtc accesses to generic registers/masks instead of using defines from registers.h - Re-work of da9063_rtc_probe() to use of_match_node() and dev_get_regmap() to provide initialisation of generic registers and masks and access to regmap Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d7f9777de884daf5721211bddfd21e7c8c156b17 Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Thu Jul 30 22:53:14 2015 +0800 rtc: mt6397: implement suspend/resume function in rtc-mt6397 driver Implement the suspend/resume function in order to control rtc's irq_wake flag and handle as wakeup source. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Acked-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3ee2c40b7ac2bf121aaa1176d8ac25b6a26e3a94 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 23 16:01:08 2015 -0700 rtc: switch to using is_visible() to control sysfs attributes Instead of creating wakealarm attribute manually, after the device has been registered, let's rely on facilities provided by the attribute groups to control which attributes are visible and which are not. This allows to create all needed attributes at once, at the same time that we register RTC class device. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a17ccd1c6a327e5b468358e8352a6af004261473 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 23 16:01:07 2015 -0700 rtc: switch wakealarm attribute to DEVICE_ATTR_RW Instead of using older style DEVICE_ATTR for wakealarm attribute let's switch to using DEVICE_ATTR_RW that ensures consistent across the kernel permissions on the attribute. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit df100c017ea9f1a6a517c3fba84f8507973c004e Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 23 16:01:06 2015 -0700 rtc: make rtc_does_wakealarm() return boolean Users of rtc_does_wakealarm() return value treat it as boolean so let's change the signature accordingly. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f2284f9c900a47961883b88064933a89b5dd5f46 Author: Henri Roosen <henriroosen@xxxxxxxxx> Date: Fri Jul 24 10:16:06 2015 +0200 rtc: rx8025: remove obsolete local_irq_disable() and local_irq_enable() for rtc_update_irq() Since commit e6229bec25be ("rtc: make rtc_update_irq callable with irqs enabled") rtc_update_irq() is callable with irqs enabled. Signed-off-by: Henri Roosen <henriroosen@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 0d9030a2c3214cf8f9bfff84204e0f5ba5e790d7 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Fri Jun 5 16:59:43 2015 +0300 rtc: fix drivers that consider 0 as a valid IRQ in client->irq Since dab472eb931b ("i2c / ACPI: Use 0 to indicate that device does not have interrupt assigned"), 0 is not a valid i2c client irq anymore, so change all driver's checks accordingly. The same issue occurs when the device is instantiated via device tree with no IRQ, or from the i2c sysfs interface, even before the patch above. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1e4cd62558c293bc51cc179d676b708683a29c12 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 20 16:02:51 2015 -0700 rtc: dev: properly manage lifetime of dev and cdev in rtc device struct rtc embeds both struct dev and struct cdev. Unfortunately character device structure may outlive the parent rtc structure unless we set it up as parent of character device so that it will stay pinned until character device is freed. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c3b399a4b6703a04ef6eb3efe35ff12163e409e0 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 20 16:02:50 2015 -0700 rtc: class: remove unnecessary device_get() in rtc_device_unregister Technically the address of rtc->dev can never be NULL, so get_device() can never fail. Also caller of rtc_device_unregister() supposed to be the owner of the device and thus have a valid reference. Therefore call to get_device() is not needed here. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 6706664d92ea841913d5fcfd06c290fbe6d33bd2 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 20 16:02:49 2015 -0700 rtc: class: fix double free in rtc_register_device() error path Commit 59cca865f21e ("drivers/rtc/class.c: fix device_register() error handling") correctly noted that naked kfree() should not be used after failed device_register() call, however, while it added the needed put_device() it forgot to remove the original kfree() causing double-free. Cc: Vasiliy Kulikov <segooon@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit dfe6c04aa289de06df95d888719af63d1d4c982d Author: Guo Zeng <guo.zeng@xxxxxxx> Date: Tue Jul 14 01:31:38 2015 +0000 rtc: sirfsoc: move to regmap APIs from platform-specific APIs The current codes use CSR platform specific API exported by machine codes to read/write RTC registers. they are: sirfsoc_rtc_iobrg_readl() sirfsoc_rtc_iobrg_writel() commit b1999477ed91 ("ARM: prima2: move to use REGMAP APIs for rtciobrg") moves to regmap support, now we can move to use regmap APIs in RTC driver. Signed-off-by: Guo Zeng <guo.zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f4a2eecb3ff9f51b179b213e7cc3766f920f2dc5 Author: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 13:28:28 2015 +0530 rtc: opal: Enable alarms only when opal supports tpo rtc-opal driver provides support for rtc alarms via timed-power-on(tpo). However some Power platforms like BML use a fake rtc clock and don't support tpo. Such platforms are indicated by the missing 'has-tpo' property in the device tree. Current implementation however enables callback for rtc_class_ops.read/set alarm irrespective of the tpo support from the platform. This results in a failed opal call when kernel tries to read an existing alarms via opal_get_tpo_time during rtc device registration. This patch fixes this issue by setting opal_rtc_ops.read/set_alarm callback pointers only when tpo is supported. Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Acked-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c28b42e3aee03fe869a3f73039cf92686ccbc8fb Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jul 11 19:28:49 2015 +0200 rtc: add rtc-lpc24xx driver Add driver for the RTC found on NXP LPC178x/18xx/408x/43xx devices. The RTC provides calendar and clock functionality together with alarm interrupt support. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit dcb9372b34c9de90672e4cf811d7c3a8519320aa Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jul 11 19:28:50 2015 +0200 doc: dt: add documentation for nxp,lpc1788-rtc Document NXP LPC178x/18xx/408x/43xx bindings Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 045c6fdd37a01d950c0f5ca64733b53b184fe91b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:39:51 2015 +0900 rtc: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit b28845433eb9c205c381ed69b09167d6ae5aac1c Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:39:50 2015 +0900 rtc: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 653ebd75e9e469e99a40ab14128d915386dc78c6 Author: Andrea Scian <andrea.scian@xxxxxxx> Date: Tue Jun 16 11:39:47 2015 +0200 rtc: pcf2127: use OFS flag to detect unreliable date and warn the user The PCF2127 datasheet states that it's wrong to say that the date in unreliable if BLF (battery low flag) is set but instead, OSF (seconds register) should be used to check if oscillator, for any reason, stopped. Battery may be low (usually below 2V5 threshold) but the date may be anyway correct (typically date is unreliable when input voltage is below 1V2). Signed-off-by: Andrea Scian <andrea.scian@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 821f51c4da869706356ddecfeeac286bf4df9b98 Author: Andrea Scian <andrea.scian@xxxxxxx> Date: Tue Jun 16 11:35:19 2015 +0200 rtc: use rtc_valid_tm() error code when reading date/time There's a wrong comment in some RTC drivers that say it's better to ignore rtc_valid_tm() when reading RTC timestamp. However this is wrong and is better to return to the userspace the error if timestamp is not valid. Signed-off-by: Andrea Scian <andrea.scian@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 4ab82103131777b9aabb6ba31aead6e5b0293b32 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Thu Jul 9 12:25:51 2015 +0530 rtc: 88pm80x: add device tree support Along with DT support, this patch also cleans up the unnecessary code around 'rtc_wakeup' initialization. Signed-off-by: Chao Xie <chao.xie@xxxxxxxxxxx> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 617f6f7ef5bfe8c0ac580243c3da9a836c6e39bf Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Wed Jul 8 12:26:47 2015 +0530 rtc: bq32k: remove redundant check removing below static analysis error: (error) Possible null pointer dereference: client if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) ^^^^^^^ Error comes because client is dereferenced before NULL check. So probably NULL this check is not required. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 508db592e2f54d731bf2f5eabd9642a1a566f276 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Jul 7 11:16:14 2015 +0530 rtc: ds1685: Use module_platform_driver Use module_platform_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return platform_driver_register(&x); } @b depends on a@ identifier e, a.x; @@ -static e(...) { platform_driver_unregister(&x); } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_platform_driver; @@ -module_exit(e); +module_platform_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7abea617a4bae178da0f42983998c779ec2f732d Author: Nishanth Menon <nm@xxxxxx> Date: Wed Jun 24 11:26:54 2015 -0500 rtc: ds1307: Support optional wakeup interrupt source With the recent pinctrl-single changes, SoCs such as Texas Instrument's OMAP processors can treat wake-up events from deeper idle states as interrupts. Let's add support for the optional second interrupt for wake-up using the generic wakeirq support added in commit 4990d4fe327b ("PM / Wakeirq: Add automated device wake IRQ handling") Finally, to pass the wake-up interrupt in the dts file, interrupts-extended property needs to be passed. This is similar in approach to commit 2a0b965cfb6e ("serial: omap: Add support for optional wake-up") + ee83bd3b6483 ("serial: omap: Switch wake-up interrupt to generic wakeirq") Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit eac7237fd8432e232af3c407e667dbdc17ebf1d8 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Jun 23 11:15:12 2015 -0500 rtc: ds1307: Sort the headers It is always a good practice to keep the #includes sorted Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c5983191362af5ef7a627d8811a45f0fd01a3582 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Jun 23 11:15:11 2015 -0500 rtc: ds1307: Switch to managed irq allocation Since we are not doing anything fancy in remove function that requires us to sequence IRQ free operation, we might as well switch over to devm_ equivalent of managed IRQ allocation and remove the explicit free_irq since it'd be done automatically at remove. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2fb07a10e0aa699ddb12aba1459208579bdc9802 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 23 11:15:10 2015 -0500 rtc: ds1307: Convert to threaded IRQ The driver currently emulates the concept of threaded IRQ using a workqueue, which it really does not need to. Instead, switch over to threaded_irq handlers which is meant precisely for the same purpose. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit e89c6fdf9e0eb1b5a03574d4ca73e83eae8deb91 Merge: c3cce6c 1081230 Author: NeilBrown <neilb@xxxxxxxx> Date: Sat Sep 5 11:07:04 2015 +0200 Merge linux-block/for-4.3/core into md/for-linux There were a few conflicts that are fairly easy to resolve. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 30e7a65b3fdb53cc49f85c965095e40aceea3961 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Sep 3 09:10:37 2015 +0100 PM / Domains: Ensure subdomain is not in use before removing The function pm_genpd_remove_subdomain() removes a subdomain from a generic PM domain, however, it does not check if the subdomain has any slave domains or device attached before doing so. Therefore, add a test to verify that the subdomain does not have any slave domains associated or any device attached before removing. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5269e7067cd66f4797760f160be21ff50f2d1582 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Sep 3 08:20:58 2015 -0700 cpufreq: Add ARM_MT8173_CPUFREQ dependency on THERMAL If ARM_MT8173_CPUFREQ is configured, and THERMAL is configured as module, the following build error is seen for arm:allmodconfig and arm64:allmodconfig. drivers/built-in.o: In function `mtk_cpufreq_ready': :(.text+0x32a20c): undefined reference to `of_cpufreq_cooling_register' drivers/built-in.o: In function `mtk_cpufreq_exit': :(.text+0x32a420): undefined reference to `cpufreq_cooling_unregister' The fix is similar to CPUFREQ_DT, but more restrictive since ARM_MT8173_CPUFREQ can not be built as module. Fixes: 1453863fb02a ("cpufreq: mediatek: Add MT8173 cpufreq driver") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 559ec2f8fd50981821621f52db5e1a8ffcf8d792 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Fri Sep 4 15:48:27 2015 -0700 mm/hugetlb.c: make vma_has_reserves() return bool This makes vma_has_reserves() return bool due to this particular function only returning either one or zero as its return value. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1ecef9ed0f63bfff58895a4f3aec751e907c7f3d Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Fri Sep 4 15:48:24 2015 -0700 mm/madvise.c: make madvise_behaviour_valid() return bool This makes the madvise_bahaviour_valid() function return bool due to this particular function always returning the value of either one or zero as its return value. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ca1d6c7d9d461effa2c4e8b9b227a14e9fdcf1cc Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Fri Sep 4 15:48:22 2015 -0700 mm/memory.c: make tlb_next_batch() return bool This makes the tlb_next_batch() bool due to this particular function only ever returning either one or zero as its return value. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d9e7e37b4d83371d08650612e0bb0b80a1240289 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Fri Sep 4 15:48:19 2015 -0700 mm/dmapool.c: change is_page_busy() return from int to bool This makes the function is_page_busy() return bool rather then an int now due to this particular function's single return statement only ever evaulating to either one or zero. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e6dab4233f667c0ae465e5cb46603b49b4f6d74 Author: minkyung88.kim <minkyung88.kim@xxxxxxx> Date: Fri Sep 4 15:48:16 2015 -0700 mm: remove struct node_active_region struct node_active_region is not used anymore. Remove it. Signed-off-by: minkyung88.kim <minkyung88.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9943242ca468149c4ce30d4633524c0866d4a87b Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 4 15:48:13 2015 -0700 mremap: simplify the "overlap" check in mremap_to() Minor, but this check is overcomplicated. Two half-intervals do NOT overlap if END1 <= START2 || END2 <= START1, mremap_to() just needs to negate this check. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1d3916869798755968b3cd764ab21f2bb86ffff7 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 4 15:48:10 2015 -0700 mremap: don't do uneccesary checks if new_len == old_len The "new_len > old_len" branch in vma_to_resize() looks very confusing. It only covers the VM_DONTEXPAND/pgoff checks but everything below is equally unneeded if new_len == old_len. Change this code to return if "new_len == old_len", new_len < old_len is not possible, otherwise the code below is wrong anyway. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d456fb9e5254df433d4806769d7ff75d80d66aa4 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 4 15:48:07 2015 -0700 mremap: don't do mm_populate(new_addr) on failure move_vma() sets *locked even if move_page_tables() or ->mremap() fails, change sys_mremap() to check "ret & ~PAGE_MASK". I think we should simply remove the VM_LOCKED code in move_vma(), that is why this patch doesn't change move_vma(). But this needs more cleanups. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5477e70a6420a6b7ca96c8e21413ee1c96a84260 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 4 15:48:04 2015 -0700 mm: move ->mremap() from file_operations to vm_operations_struct vma->vm_ops->mremap() looks more natural and clean in move_vma(), and this way ->mremap() can have more users. Say, vdso. While at it, s/aio_ring_remap/aio_ring_mremap/. Note: this is the minimal change before ->mremap() finds another user in file_operations; this method should have more arguments, and it can be used to kill arch_remap(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit df1eab303c836c98a79de427aa1c7d6812acaaa9 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 4 15:48:01 2015 -0700 mremap: don't leak new_vma if f_op->mremap() fails move_vma() can't just return if f_op->mremap() fails, we should unmap the new vma like we do if move_page_tables() fails. To avoid the code duplication this patch moves the "move entries back" under the new "if (err)" branch. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Kirill Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 31aafb45f4e1c34e4aba37c150ae4e74880b46ed Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Fri Sep 4 15:47:58 2015 -0700 mm/hugetlb.c: make vma_shareable() return bool This makes vma_shareable() return bool now due to this particular function only ever returning either one or zero as its return value. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Acked-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1027e4436b6a5c413c95d95e50d0f26348a602ac Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:47:55 2015 -0700 mm: make GUP handle pfn mapping unless FOLL_GET is requested With DAX, pfn mapping becoming more common. The patch adjusts GUP code to cover pfn mapping for cases when we don't need struct page to proceed. To make it possible, let's change follow_page() code to return -EEXIST error code if proper page table entry exists, but no corresponding struct page. __get_user_page() would ignore the error code and move to the next page frame. The immediate effect of the change is working MAP_POPULATE and mlock() on DAX mappings. [akpm@xxxxxxxxxxxxxxxxxxxx: fix arm64 build] Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Toshi Kani <toshi.kani@xxxxxx> Acked-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d899844e9c98c9c74b4d9926fd3bd66a225f6978 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:47:53 2015 -0700 mm: fix status code which move_pages() returns for zero page The manpage for move_pages(2) specifies that status code for zero page is supposed to be -EFAULT. Currently kernel return -ENOENT in this case. follow_page() can do it for us, if we would ask for FOLL_DUMP. The use of FOLL_DUMP also means that the upper layer page tables pages are no longer allocated. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ce9ce6659a5775047ad529ed77ab119da5fb8b0c Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Sep 4 15:47:50 2015 -0700 mm: memcontrol: bring back the VM_BUG_ON() in mem_cgroup_swapout() Clark stumbled over a VM_BUG_ON() in -RT which was then was removed by Johannes in commit f371763a79d ("mm: memcontrol: fix false-positive VM_BUG_ON() on -rt"). The comment before that patch was a tiny bit better than it is now. While the patch claimed to fix a false-postive on -RT this was not the case. None of the -RT folks ACKed it and it was not a false positive report. That was a *real* problem. This patch updates the comment that is improper because it refers to "disabled preemption" as a consequence of that lock being taken. A spin_lock() disables preemption, true, but in this case the code relies on the fact that the lock _also_ disables interrupts once it is acquired. And this is the important detail (which was checked the VM_BUG_ON()) which needs to be pointed out. This is the hint one needs while looking at the code. It was explained by Johannes on the list that the per-CPU variables are protected by local_irq_save(). The BUG_ON() was helpful. This code has been workarounded in -RT in the meantime. I wouldn't mind running into more of those if the code in question uses *special* kind of locking since now there is no verification (in terms of lockdep or BUG_ON()) and therefore I bring the VM_BUG_ON() check back in. The two functions after the comment could also have a "local_irq_save()" dance around them in order to serialize access to the per-CPU variables. This has been avoided because the interrupts should be off. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Clark Williams <williams@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c98c36355dd6d5c4433c8d17e8eb839ca9b97606 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Fri Sep 4 15:47:47 2015 -0700 genalloc: add support of multiple gen_pools per device This change fills devm_gen_pool_create()/gen_pool_get() "name" argument stub with contents and extends of_gen_pool_get() functionality on this basis. If there is no associated platform device with a device node passed to of_gen_pool_get(), the function attempts to get a label property or device node name (= repeats MTD OF partition standard) and seeks for a named gen_pool registered by device of the parent device node. The main idea of the change is to allow registration of independent gen_pools under the same umbrella device, say "partitions" on "storage device", the original functionality of one "partition" per "storage device" is untouched. [akpm@xxxxxxxxxxxxxxxxxxxx: fix constness in devres_find()] [dan.carpenter@xxxxxxxxxx: freeing const data pointers] Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 73858173593c31cb94bce63fe1c24eb803bb04e6 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Fri Sep 4 15:47:43 2015 -0700 genalloc: add name arg to gen_pool_get() and devm_gen_pool_create() This change modifies gen_pool_get() and devm_gen_pool_create() client interfaces adding one more argument "name" of a gen_pool object. Due to implementation gen_pool_get() is capable to retrieve only one gen_pool associated with a device even if multiple gen_pools are created, fortunately right at the moment it is sufficient for the clients, hence provide NULL as a valid argument on both producer devm_gen_pool_create() and consumer gen_pool_get() sides. Because only one created gen_pool per device is addressable, explicitly add a restriction to devm_gen_pool_create() to create only one gen_pool per device, this implies two possible error codes returned by the function, account it on client side (only misc/sram). This completes client side changes related to genalloc updates. [akpm@xxxxxxxxxxxxxxxxxxxx: gen_pool_get() cleanup] Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c0a294988322a804901fe24222027fe8a34defcb Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 15:47:38 2015 -0700 mm/memblock: WARN_ON when nid differs from overlap region Each memblock_region has nid to indicates the Node ID of this range. For the overlap case, memblock_add_range() inserts the lower part and leave the upper part as indicated in the overlapped region. If the nid of the new range differs from the overlapped region, the information recorded is not correct. This patch adds a WARN_ON when the nid of the new range differs from the overlapped region. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c7e1e3ccfbd153c890240a391f258efaedfa94d0 Author: Mel Gorman <mgorman@xxxxxxx> Date: Fri Sep 4 15:47:38 2015 -0700 Documentation/features/vm: add feature description and arch support status for batched TLB flush after unmap Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d950c9477d51f0cefc2ed3cf76e695d46af0d9c1 Author: Mel Gorman <mgorman@xxxxxxx> Date: Fri Sep 4 15:47:35 2015 -0700 mm: defer flush of writable TLB entries If a PTE is unmapped and it's dirty then it was writable recently. Due to deferred TLB flushing, it's best to assume a writable TLB cache entry exists. With that assumption, the TLB must be flushed before any IO can start or the page is freed to avoid lost writes or data corruption. This patch defers flushing of potentially writable TLBs as long as possible. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 72b252aed506b8f1a03f7abd29caef4cdf6a043b Author: Mel Gorman <mgorman@xxxxxxx> Date: Fri Sep 4 15:47:32 2015 -0700 mm: send one IPI per CPU to TLB flush all entries after unmapping pages An IPI is sent to flush remote TLBs when a page is unmapped that was potentially accesssed by other CPUs. There are many circumstances where this happens but the obvious one is kswapd reclaiming pages belonging to a running process as kswapd and the task are likely running on separate CPUs. On small machines, this is not a significant problem but as machine gets larger with more cores and more memory, the cost of these IPIs can be high. This patch uses a simple structure that tracks CPUs that potentially have TLB entries for pages being unmapped. When the unmapping is complete, the full TLB is flushed on the assumption that a refill cost is lower than flushing individual entries. Architectures wishing to do this must give the following guarantee. If a clean page is unmapped and not immediately flushed, the architecture must guarantee that a write to that linear address from a CPU with a cached TLB entry will trap a page fault. This is essentially what the kernel already depends on but the window is much larger with this patch applied and is worth highlighting. The architecture should consider whether the cost of the full TLB flush is higher than sending an IPI to flush each individual entry. An additional architecture helper called flush_tlb_local is required. It's a trivial wrapper with some accounting in the x86 case. The impact of this patch depends on the workload as measuring any benefit requires both mapped pages co-located on the LRU and memory pressure. The case with the biggest impact is multiple processes reading mapped pages taken from the vm-scalability test suite. The test case uses NR_CPU readers of mapped files that consume 10*RAM. Linear mapped reader on a 4-node machine with 64G RAM and 48 CPUs 4.2.0-rc1 4.2.0-rc1 vanilla flushfull-v7 Ops lru-file-mmap-read-elapsed 159.62 ( 0.00%) 120.68 ( 24.40%) Ops lru-file-mmap-read-time_range 30.59 ( 0.00%) 2.80 ( 90.85%) Ops lru-file-mmap-read-time_stddv 6.70 ( 0.00%) 0.64 ( 90.38%) 4.2.0-rc1 4.2.0-rc1 vanilla flushfull-v7 User 581.00 611.43 System 5804.93 4111.76 Elapsed 161.03 122.12 This is showing that the readers completed 24.40% faster with 29% less system CPU time. From vmstats, it is known that the vanilla kernel was interrupted roughly 900K times per second during the steady phase of the test and the patched kernel was interrupts 180K times per second. The impact is lower on a single socket machine. 4.2.0-rc1 4.2.0-rc1 vanilla flushfull-v7 Ops lru-file-mmap-read-elapsed 25.33 ( 0.00%) 20.38 ( 19.54%) Ops lru-file-mmap-read-time_range 0.91 ( 0.00%) 1.44 (-58.24%) Ops lru-file-mmap-read-time_stddv 0.28 ( 0.00%) 0.47 (-65.34%) 4.2.0-rc1 4.2.0-rc1 vanilla flushfull-v7 User 58.09 57.64 System 111.82 76.56 Elapsed 27.29 22.55 It's still a noticeable improvement with vmstat showing interrupts went from roughly 500K per second to 45K per second. The patch will have no impact on workloads with no memory pressure or have relatively few mapped pages. It will have an unpredictable impact on the workload running on the CPU being flushed as it'll depend on how many TLB entries need to be refilled and how long that takes. Worst case, the TLB will be completely cleared of active entries when the target PFNs were not resident at all. [sasha.levin@xxxxxxxxxx: trace tlb flush after disabling preemption in try_to_unmap_flush] Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5b74283ab251b9db55cbbe31d19ca72482103290 Author: Mel Gorman <mgorman@xxxxxxx> Date: Fri Sep 4 15:47:29 2015 -0700 x86, mm: trace when an IPI is about to be sent When unmapping pages it is necessary to flush the TLB. If that page was accessed by another CPU then an IPI is used to flush the remote CPU. That is a lot of IPIs if kswapd is scanning and unmapping >100K pages per second. There already is a window between when a page is unmapped and when it is TLB flushed. This series increases the window so multiple pages can be flushed using a single IPI. This should be safe or the kernel is hosed already. Patch 1 simply made the rest of the series easier to write as ftrace could identify all the senders of TLB flush IPIS. Patch 2 tracks what CPUs potentially map a PFN and then sends an IPI to flush the entire TLB. Patch 3 tracks when there potentially are writable TLB entries that need to be batched differently Patch 4 increases SWAP_CLUSTER_MAX to further batch flushes The performance impact is documented in the changelogs but in the optimistic case on a 4-socket machine the full series reduces interrupts from 900K interrupts/second to 60K interrupts/second. This patch (of 4): It is easy to trace when an IPI is received to flush a TLB but harder to detect what event sent it. This patch makes it easy to identify the source of IPIs being transmitted for TLB flushes on x86. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Dave Hansen <dave.hansen@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c47174fc362a089b1125174258e53ef4a69ce6b8 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:23 2015 -0700 userfaultfd: selftest This test allocates two virtual areas and bounces the physical memory across the two virtual areas using only userfaultfd. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Shuah Khan <shuah.kh@xxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c5b7e1be74ff0175dedbbd325abe9f0dbbb09ae Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:23 2015 -0700 userfaultfd: avoid missing wakeups during refile in userfaultfd_read During the refile in userfaultfd_read both waitqueues could look empty to the lockless wake_userfault(). Use a seqcount to prevent this false negative that could leave an userfault blocked. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 230c92a8797e0e717c6732de0fffdd5726c0f48f Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:20 2015 -0700 userfaultfd: propagate the full address in THP faults The THP faults were not propagating the original fault address. The latest version of the API with uffd.arg.pagefault.address is supposed to propagate the full address through THP faults. This was not a kernel crashing bug and it wouldn't risk to corrupt user memory, but it would cause a SIGBUS failure because the wrong page was being copied. For various reasons this wasn't easily reproducible in the qemu workload, but the strestest exposed the problem immediately. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dfa37dc3fc1f6f81a6900d0e561c02362f4817f6 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:18 2015 -0700 userfaultfd: allow signals to interrupt a userfault This is only simple to achieve if the userfault is going to return to userland (not to the kernel) because we can avoid returning VM_FAULT_RETRY despite we temporarily released the mmap_sem. The fault would just be retried by userland then. This is safe at least on x86 and powerpc (the two archs with the syscall implemented so far). Hint to verify for which archs this is safe: after handle_mm_fault returns, no access to data structures protected by the mmap_sem must be done by the fault code in arch/*/mm/fault.c until up_read(&mm->mmap_sem) is called. This has two main benefits: signals can run with lower latency in production (signals aren't blocked by userfaults and userfaults are immediately repeated after signal processing) and gdb can then trivially debug the threads blocked in this kind of userfaults coming directly from userland. On a side note: while gdb has a need to get signal processed, coredumps always worked perfectly with userfaults, no matter if the userfault is triggered by GUP a kernel copy_user or directly from userland. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e6485a47b758cae04a496764a1095961ee3249e4 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:15 2015 -0700 userfaultfd: require UFFDIO_API before other ioctls UFFDIO_API was already forced before read/poll could work. This makes the code more strict to force it also for all other ioctls. All users would already have been required to call UFFDIO_API before invoking other ioctls but this makes it more explicit. This will ensure we can change all ioctls (all but UFFDIO_API/struct uffdio_api) with a bump of uffdio_api.api. There's no actual plan or need to change the API or the ioctl, the current API already should cover fine even the non cooperative usage, but this is just for the longer term future just in case. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad465cae96b456b48d26c96f27a0577ba443472a Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:11 2015 -0700 userfaultfd: UFFDIO_COPY and UFFDIO_ZEROPAGE These two ioctl allows to either atomically copy or to map zeropages into the virtual address space. This is used by the thread that opened the userfaultfd to resolve the userfaults. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b6ebaedb4cb1a18220ae626c3a9e184ee39dd248 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:08 2015 -0700 userfaultfd: avoid mmap_sem read recursion in mcopy_atomic If the rwsem starves writers it wasn't strictly a bug but lockdep doesn't like it and this avoids depending on lowlevel implementation details of the lock. [akpm@xxxxxxxxxxxxxxxxxxxx: delete weird BUILD_BUG_ON()] Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c1a4de99fada21e2e9251e52cbb51eff5aadc757 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:04 2015 -0700 userfaultfd: mcopy_atomic|mfill_zeropage: UFFDIO_COPY|UFFDIO_ZEROPAGE preparation This implements mcopy_atomic and mfill_zeropage that are the lowlevel VM methods that are invoked respectively by the UFFDIO_COPY and UFFDIO_ZEROPAGE userfaultfd commands. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1f1c6f075904c241f9e44eb37efa8777141fc938 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:01 2015 -0700 userfaultfd: UFFDIO_COPY|UFFDIO_ZEROPAGE uAPI This implements the uABI of UFFDIO_COPY and UFFDIO_ZEROPAGE. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1380fca084743fef8d17e59b273473393944ce58 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:58 2015 -0700 userfaultfd: activate syscall This activates the userfaultfd syscall. [sfr@xxxxxxxxxxxxxxxx: activate syscall fix] [akpm@xxxxxxxxxxxxxxxxxxxx: don't enable userfaultfd on powerpc] Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a14c151e567cb2c3e62611da808a8bdab86fdee5 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:54 2015 -0700 userfaultfd: buildsystem activation This allows to select the userfaultfd during configuration to build it. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8d2afd96c20316d112e04d935d9e09150e988397 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:51 2015 -0700 userfaultfd: solve the race between UFFDIO_COPY|ZEROPAGE and read Solve in-kernel the race between UFFDIO_COPY|ZEROPAGE and userfaultfd_read if they are run on different threads simultaneously. Until now qemu solved the race in userland: the race was explicitly and intentionally left for userland to solve. However we can also solve it in kernel. Requiring all users to solve this race if they use two threads (one for the background transfer and one for the userfault reads) isn't very attractive from an API prospective, furthermore this allows to remove a whole bunch of mutex and bitmap code from qemu, making it faster. The cost of __get_user_pages_fast should be insignificant considering it scales perfectly and the pagetables are already hot in the CPU cache, compared to the overhead in userland to maintain those structures. Applying this patch is backwards compatible with respect to the userfaultfd userland API, however reverting this change wouldn't be backwards compatible anymore. Without this patch qemu in the background transfer thread, has to read the old state, and do UFFDIO_WAKE if old_state is missing but it become REQUESTED by the time it tries to set it to RECEIVED (signaling the other side received an userfault). vcpu background_thr userfault_thr ----- ----- ----- vcpu0 handle_mm_fault() postcopy_place_page read old_state -> MISSING UFFDIO_COPY 0x7fb76a139000 (no wakeup, still pending) vcpu0 fault at 0x7fb76a139000 enters handle_userfault poll() is kicked poll() -> POLLIN read() -> 0x7fb76a139000 postcopy_pmi_change_state(MISSING, REQUESTED) -> REQUESTED tmp_state = postcopy_pmi_change_state(old_state, RECEIVED) -> REQUESTED /* check that no userfault raced with UFFDIO_COPY */ if (old_state == MISSING && tmp_state == REQUESTED) UFFDIO_WAKE from background thread And a second case where a UFFDIO_WAKE would be needed is in the userfault thread: vcpu background_thr userfault_thr ----- ----- ----- vcpu0 handle_mm_fault() postcopy_place_page read old_state -> MISSING UFFDIO_COPY 0x7fb76a139000 (no wakeup, still pending) tmp_state = postcopy_pmi_change_state(old_state, RECEIVED) -> RECEIVED vcpu0 fault at 0x7fb76a139000 enters handle_userfault poll() is kicked poll() -> POLLIN read() -> 0x7fb76a139000 if (postcopy_pmi_change_state(MISSING, REQUESTED) == RECEIVED) UFFDIO_WAKE from userfault thread This patch removes the need of both UFFDIO_WAKE and of the associated per-page tristate as well. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3004ec9cabf49f43fae2b2bd1855a4720f1def7a Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:48 2015 -0700 userfaultfd: allocate the userfaultfd_ctx cacheline aligned Use proper slab to guarantee alignment. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 15b726ef048b31a24b3fefb6863083a25fe34800 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:44 2015 -0700 userfaultfd: optimize read() and poll() to be O(1) This makes read O(1) and poll that was already O(1) becomes lockless. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ba85c702e4b247393ffe9e3fbc13d8aee7b02059 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:41 2015 -0700 userfaultfd: wake pending userfaults This is an optimization but it's a userland visible one and it affects the API. The downside of this optimization is that if you call poll() and you get POLLIN, read(ufd) may still return -EAGAIN. The blocked userfault may be waken by a different thread, before read(ufd) comes around. This in short means that poll() isn't really usable if the userfaultfd is opened in blocking mode. userfaults won't wait in "pending" state to be read anymore and any UFFDIO_WAKE or similar operations that has the objective of waking userfaults after their resolution, will wake all blocked userfaults for the resolved range, including those that haven't been read() by userland yet. The behavior of poll() becomes not standard, but this obviates the need of "spurious" UFFDIO_WAKE and it lets the userland threads to restart immediately without requiring an UFFDIO_WAKE. This is even more significant in case of repeated faults on the same address from multiple threads. This optimization is justified by the measurement that the number of spurious UFFDIO_WAKE accounts for 5% and 10% of the total userfaults for heavy workloads, so it's worth optimizing those away. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a9b85f9415fd9e529d03299e5335433f614ec1fb Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:37 2015 -0700 userfaultfd: change the read API to return a uffd_msg I had requests to return the full address (not the page aligned one) to userland. It's not entirely clear how the page offset could be relevant because userfaults aren't like SIGBUS that can sigjump to a different place and it actually skip resolving the fault depending on a page offset. There's currently no real way to skip the fault especially because after a UFFDIO_COPY|ZEROPAGE, the fault is optimized to be retried within the kernel without having to return to userland first (not even self modifying code replacing the .text that touched the faulting address would prevent the fault to be repeated). Userland cannot skip repeating the fault even more so if the fault was triggered by a KVM secondary page fault or any get_user_pages or any copy-user inside some syscall which will return to kernel code. The second time FAULT_FLAG_RETRY_NOWAIT won't be set leading to a SIGBUS being raised because the userfault can't wait if it cannot release the mmap_map first (and FAULT_FLAG_RETRY_NOWAIT is required for that). Still returning userland a proper structure during the read() on the uffd, can allow to use the current UFFD_API for the future non-cooperative extensions too and it looks cleaner as well. Once we get additional fields there's no point to return the fault address page aligned anymore to reuse the bits below PAGE_SHIFT. The only downside is that the read() syscall will read 32bytes instead of 8bytes but that's not going to be measurable overhead. The total number of new events that can be extended or of new future bits for already shipped events, is limited to 64 by the features field of the uffdio_api structure. If more will be needed a bump of UFFD_API will be required. [akpm@xxxxxxxxxxxxxxxxxxxx: use __packed] Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3f602d2724b1f7d2d27ddcd7963a040a5890fd16 Author: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Date: Fri Sep 4 15:46:34 2015 -0700 userfaultfd: Rename uffd_api.bits into .features This is (seems to be) the minimal thing that is required to unblock standard uffd usage from the non-cooperative one. Now more bits can be added to the features field indicating e.g. UFFD_FEATURE_FORK and others needed for the latter use-case. Signed-off-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 86039bd3b4e6a1129318cbfed4e0a6e001656635 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:31 2015 -0700 userfaultfd: add new syscall to provide memory externalization Once an userfaultfd has been created and certain region of the process virtual address space have been registered into it, the thread responsible for doing the memory externalization can manage the page faults in userland by talking to the kernel using the userfaultfd protocol. poll() can be used to know when there are new pending userfaults to be read (POLLIN). Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c1294d05de5df1ab8c93aa13c531782ede907e14 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:27 2015 -0700 userfaultfd: prevent khugepaged to merge if userfaultfd is armed If userfaultfd is armed on a certain vma we can't "fill" the holes with zeroes or we'll break the userland on demand paging. The holes if the userfault is armed, are really missing information (not zeroes) that the userland has to load from network or elsewhere. The same issue happens for wrprotected ptes that we can't just convert into a single writable pmd_trans_huge. We could however in theory still merge across zeropages if only VM_UFFD_MISSING is set (so if VM_UFFD_WP is not set)... that could be slightly improved but it'd be much more complex code for a tiny corner case. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 19a809afe2fe089317226bbe5c5a1ce7f53dcdca Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:24 2015 -0700 userfaultfd: teach vma_merge to merge across vma->vm_userfaultfd_ctx vma->vm_userfaultfd_ctx is yet another vma parameter that vma_merge must be aware about so that we can merge vmas back like they were originally before arming the userfaultfd on some memory range. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b251fc96cf2cdf1ce4b5db055547e2a5679bc77 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:20 2015 -0700 userfaultfd: call handle_userfault() for userfaultfd_missing() faults This is where the page faults must be modified to call handle_userfault() if userfaultfd_missing() is true (so if the vma->vm_flags had VM_UFFD_MISSING set). handle_userfault() then takes care of blocking the page fault and delivering it to userland. The fault flags must also be passed as parameter so the "read|write" kind of fault can be passed to userland. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 16ba6f811dfe44bc14f7946a4b257b85476fc16e Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:17 2015 -0700 userfaultfd: add VM_UFFD_MISSING and VM_UFFD_WP These two flags gets set in vma->vm_flags to tell the VM common code if the userfaultfd is armed and in which mode (only tracking missing faults, only tracking wrprotect faults or both). If neither flags is set it means the userfaultfd is not armed on the vma. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 745f234be12b6191b15eae8dd415cc81a9137f47 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:14 2015 -0700 userfaultfd: add vm_userfaultfd_ctx to the vm_area_struct This adds the vm_userfaultfd_ctx to the vm_area_struct. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 932b18e0aec65acb089f4bd8761ee85e70f8eb6a Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:10 2015 -0700 userfaultfd: linux/userfaultfd_k.h Kernel header defining the methods needed by the VM common code to interact with the userfaultfd. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1038628d80e96e3a086189172d9be8eb85ecfabf Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:04 2015 -0700 userfaultfd: uAPI Defines the uAPI of the userfaultfd, notably the ioctl numbers and protocol. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 51360155eccb907ff8635bd10fc7de876408c2e0 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:04 2015 -0700 userfaultfd: waitqueue: add nr wake parameter to __wake_up_locked_key userfaultfd needs to wake all waitqueues (pass 0 as nr parameter), instead of the current hardcoded 1 (that would wake just the first waitqueue in the head list). Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25edd8bffd0f7563f0c04c1d219eb89061ce9886 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:00 2015 -0700 userfaultfd: linux/Documentation/vm/userfaultfd.txt This is the latest userfaultfd patchset. The postcopy live migration feature on the qemu side is mostly ready to be merged and it entirely depends on the userfaultfd syscall to be merged as well. So it'd be great if this patchset could be reviewed for merging in -mm. Userfaults allow to implement on demand paging from userland and more generally they allow userland to more efficiently take control of the behavior of page faults than what was available before (PROT_NONE + SIGSEGV trap). The use cases are: 1) KVM postcopy live migration (one form of cloud memory externalization). KVM postcopy live migration is the primary driver of this work: http://blog.zhaw.ch/icclab/setting-up-post-copy-live-migration-in-openstack/ http://lists.gnu.org/archive/html/qemu-devel/2015-02/msg04873.html 2) postcopy live migration of binaries inside linux containers: http://thread.gmane.org/gmane.linux.kernel.mm/132662 3) KVM postcopy live snapshotting (allowing to limit/throttle the memory usage, unlike fork would, plus the avoidance of fork overhead in the first place). While the wrprotect tracking is not implemented yet, the syscall API is already contemplating the wrprotect fault tracking and it's generic enough to allow its later implementation in a backwards compatible fashion. 4) KVM userfaults on shared memory. The UFFDIO_COPY lowlevel method should be extended to work also on tmpfs and then the uffdio_register.ioctls will notify userland that UFFDIO_COPY is available even when the registered virtual memory range is tmpfs backed. 5) alternate mechanism to notify web browsers or apps on embedded devices that volatile pages have been reclaimed. This basically avoids the need to run a syscall before the app can access with the CPU the virtual regions marked volatile. This depends on point 4) to be fulfilled first, as volatile pages happily apply to tmpfs. Even though there wasn't a real use case requesting it yet, it also allows to implement distributed shared memory in a way that readonly shared mappings can exist simultaneously in different hosts and they can be become exclusive at the first wrprotect fault. This patch (of 22): Add documentation. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2d16e0fd3265b42648d267b7adb837db9798edaf Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Sep 4 15:45:57 2015 -0700 mm/slab.h: fix argument order in cache_from_obj's error message While debugging a networking issue, I hit a condition that triggered an object to be freed into the wrong kmem cache, and thus triggered the warning in cache_from_obj(). The arguments in the error message are in wrong order: the location of the object's kmem cache is in cachep, not s. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 45eb00cd3a034b8448f52fd9074e9b2b11d857c1 Author: Joonsoo Kim <js1304@xxxxxxxxx> Date: Fri Sep 4 15:45:54 2015 -0700 mm/slub: don't wait for high-order page allocation Description is almost copied from commit fb05e7a89f50 ("net: don't wait for order-3 page allocation"). I saw excessive direct memory reclaim/compaction triggered by slub. This causes performance issues and add latency. Slub uses high-order allocation to reduce internal fragmentation and management overhead. But, direct memory reclaim/compaction has high overhead and the benefit of high-order allocation can't compensate the overhead of both work. This patch makes auxiliary high-order allocation atomic. If there is no memory pressure and memory isn't fragmented, the alloction will still success, so we don't sacrifice high-order allocation's benefit here. If the atomic allocation fails, direct memory reclaim/compaction will not be triggered, allocation fallback to low-order immediately, hence the direct memory reclaim/compaction overhead is avoided. In the allocation failure case, kswapd is waken up and trying to make high-order freepages, so allocation could success next time. Following is the test to measure effect of this patch. System: QEMU, CPU 8, 512 MB Mem: 25% memory is allocated at random position to make fragmentation. Memory-hogger occupies 150 MB memory. Workload: hackbench -g 20 -l 1000 Average result by 10 runs (Base va Patched) elapsed_time(s): 4.3468 vs 2.9838 compact_stall: 461.7 vs 73.6 pgmigrate_success: 28315.9 vs 7256.1 Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Shaohua Li <shli@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80da026a8e5da83b6ab029807844587960490e2b Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Fri Sep 4 15:45:51 2015 -0700 mm/slub: fix slab double-free in case of duplicate sysfs filename sysfs_slab_add() shouldn't call kobject_put at error path: this puts last reference of kmem-cache kobject and frees it. Kmem cache will be freed second time at error path in kmem_cache_create(). For example this happens when slub debug was enabled in runtime and somebody creates new kmem cache: # echo 1 | tee /sys/kernel/slab/*/sanity_checks # modprobe configfs "configfs_dir_cache" cannot be merged because existing slab have debug and cannot create new slab because unique name ":t-0000096" already taken. Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 588f8ba913d35a667407afa29444bf2f94e03d19 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Sep 4 15:45:48 2015 -0700 mm/slub: move slab initialization into irq enabled region Initializing a new slab can introduce rather large latencies because most of the initialization runs always with interrupts disabled. There is no point in doing so. The newly allocated slab is not visible yet, so there is no reason to protect it against concurrent alloc/free. Move the expensive parts of the initialization into allocate_slab(), so for all allocations with GFP_WAIT set, interrupts are enabled. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3eed034d045ce93a40e232a6bd5f86127342053a Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Sep 4 15:45:45 2015 -0700 slub: add support for kmem_cache_debug in bulk calls Per request of Joonsoo Kim adding kmem debug support. I've tested that when debugging is disabled, then there is almost no performance impact as this code basically gets removed by the compiler. Need some guidance in enabling and testing this. bulk- PREVIOUS - THIS-PATCH 1 - 43 cycles(tsc) 10.811 ns - 44 cycles(tsc) 11.236 ns improved -2.3% 2 - 27 cycles(tsc) 6.867 ns - 28 cycles(tsc) 7.019 ns improved -3.7% 3 - 21 cycles(tsc) 5.496 ns - 22 cycles(tsc) 5.526 ns improved -4.8% 4 - 24 cycles(tsc) 6.038 ns - 19 cycles(tsc) 4.786 ns improved 20.8% 8 - 17 cycles(tsc) 4.280 ns - 18 cycles(tsc) 4.572 ns improved -5.9% 16 - 17 cycles(tsc) 4.483 ns - 18 cycles(tsc) 4.658 ns improved -5.9% 30 - 18 cycles(tsc) 4.531 ns - 18 cycles(tsc) 4.568 ns improved 0.0% 32 - 58 cycles(tsc) 14.586 ns - 65 cycles(tsc) 16.454 ns improved -12.1% 34 - 53 cycles(tsc) 13.391 ns - 63 cycles(tsc) 15.932 ns improved -18.9% 48 - 65 cycles(tsc) 16.268 ns - 50 cycles(tsc) 12.506 ns improved 23.1% 64 - 53 cycles(tsc) 13.440 ns - 63 cycles(tsc) 15.929 ns improved -18.9% 128 - 79 cycles(tsc) 19.899 ns - 86 cycles(tsc) 21.583 ns improved -8.9% 158 - 90 cycles(tsc) 22.732 ns - 90 cycles(tsc) 22.552 ns improved 0.0% 250 - 95 cycles(tsc) 23.916 ns - 98 cycles(tsc) 24.589 ns improved -3.2% Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fbd02630c6e3c60feecc4688f5f98b015d264516 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Sep 4 15:45:43 2015 -0700 slub: initial bulk free implementation This implements SLUB specific kmem_cache_free_bulk(). SLUB allocator now both have bulk alloc and free implemented. Choose to reenable local IRQs while calling slowpath __slab_free(). In worst case, where all objects hit slowpath call, the performance should still be faster than fallback function __kmem_cache_free_bulk(), because local_irq_{disable+enable} is very fast (7-cycles), while the fallback invokes this_cpu_cmpxchg() which is slightly slower (9-cycles). Nitpicking, this should be faster for N>=4, due to the entry cost of local_irq_{disable+enable}. Do notice that the save+restore variant is very expensive, this is key to why this optimization works. CPU: i7-4790K CPU @ 4.00GHz * local_irq_{disable,enable}: 7 cycles(tsc) - 1.821 ns * local_irq_{save,restore} : 37 cycles(tsc) - 9.443 ns Measurements on CPU CPU i7-4790K @ 4.00GHz Baseline normal fastpath (alloc+free cost): 43 cycles(tsc) 10.834 ns Bulk- fallback - this-patch 1 - 58 cycles(tsc) 14.542 ns - 43 cycles(tsc) 10.811 ns improved 25.9% 2 - 50 cycles(tsc) 12.659 ns - 27 cycles(tsc) 6.867 ns improved 46.0% 3 - 48 cycles(tsc) 12.168 ns - 21 cycles(tsc) 5.496 ns improved 56.2% 4 - 47 cycles(tsc) 11.987 ns - 24 cycles(tsc) 6.038 ns improved 48.9% 8 - 46 cycles(tsc) 11.518 ns - 17 cycles(tsc) 4.280 ns improved 63.0% 16 - 45 cycles(tsc) 11.366 ns - 17 cycles(tsc) 4.483 ns improved 62.2% 30 - 45 cycles(tsc) 11.433 ns - 18 cycles(tsc) 4.531 ns improved 60.0% 32 - 75 cycles(tsc) 18.983 ns - 58 cycles(tsc) 14.586 ns improved 22.7% 34 - 71 cycles(tsc) 17.940 ns - 53 cycles(tsc) 13.391 ns improved 25.4% 48 - 80 cycles(tsc) 20.077 ns - 65 cycles(tsc) 16.268 ns improved 18.8% 64 - 71 cycles(tsc) 17.799 ns - 53 cycles(tsc) 13.440 ns improved 25.4% 128 - 91 cycles(tsc) 22.980 ns - 79 cycles(tsc) 19.899 ns improved 13.2% 158 - 100 cycles(tsc) 25.241 ns - 90 cycles(tsc) 22.732 ns improved 10.0% 250 - 102 cycles(tsc) 25.583 ns - 95 cycles(tsc) 23.916 ns improved 6.9% Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ebe909e0fdb34b980c5cf636c495e4f0bb0dfda8 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Sep 4 15:45:40 2015 -0700 slub: improve bulk alloc strategy Call slowpath __slab_alloc() from within the bulk loop, as the side-effect of this call likely repopulates c->freelist. Choose to reenable local IRQs while calling slowpath. Saving some optimizations for later. E.g. it is possible to extract parts of __slab_alloc() and avoid the unnecessary and expensive (37 cycles) local_irq_{save,restore}. For now, be happy calling __slab_alloc() this lower icache impact of this func and I don't have to worry about correctness. Measurements on CPU CPU i7-4790K @ 4.00GHz Baseline normal fastpath (alloc+free cost): 42 cycles(tsc) 10.601 ns Bulk- fallback - this-patch 1 - 58 cycles(tsc) 14.516 ns - 49 cycles(tsc) 12.459 ns improved 15.5% 2 - 51 cycles(tsc) 12.930 ns - 38 cycles(tsc) 9.605 ns improved 25.5% 3 - 49 cycles(tsc) 12.274 ns - 34 cycles(tsc) 8.525 ns improved 30.6% 4 - 48 cycles(tsc) 12.058 ns - 32 cycles(tsc) 8.036 ns improved 33.3% 8 - 46 cycles(tsc) 11.609 ns - 31 cycles(tsc) 7.756 ns improved 32.6% 16 - 45 cycles(tsc) 11.451 ns - 32 cycles(tsc) 8.148 ns improved 28.9% 30 - 79 cycles(tsc) 19.865 ns - 68 cycles(tsc) 17.164 ns improved 13.9% 32 - 76 cycles(tsc) 19.212 ns - 66 cycles(tsc) 16.584 ns improved 13.2% 34 - 74 cycles(tsc) 18.600 ns - 63 cycles(tsc) 15.954 ns improved 14.9% 48 - 88 cycles(tsc) 22.092 ns - 77 cycles(tsc) 19.373 ns improved 12.5% 64 - 80 cycles(tsc) 20.043 ns - 68 cycles(tsc) 17.188 ns improved 15.0% 128 - 99 cycles(tsc) 24.818 ns - 89 cycles(tsc) 22.404 ns improved 10.1% 158 - 99 cycles(tsc) 24.977 ns - 92 cycles(tsc) 23.089 ns improved 7.1% 250 - 106 cycles(tsc) 26.552 ns - 99 cycles(tsc) 24.785 ns improved 6.6% Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 994eb764ec5ad57c9b7c5e72b892205039a84b69 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Sep 4 15:45:37 2015 -0700 slub bulk alloc: extract objects from the per cpu slab First piece: acceleration of retrieval of per cpu objects If we are allocating lots of objects then it is advantageous to disable interrupts and avoid the this_cpu_cmpxchg() operation to get these objects faster. Note that we cannot do the fast operation if debugging is enabled, because we would have to add extra code to do all the debugging checks. And it would not be fast anyway. Note also that the requirement of having interrupts disabled avoids having to do processor flag operations. Allocate as many objects as possible in the fast way and then fall back to the generic implementation for the rest of the objects. Measurements on CPU CPU i7-4790K @ 4.00GHz Baseline normal fastpath (alloc+free cost): 42 cycles(tsc) 10.554 ns Bulk- fallback - this-patch 1 - 57 cycles(tsc) 14.432 ns - 48 cycles(tsc) 12.155 ns improved 15.8% 2 - 50 cycles(tsc) 12.746 ns - 37 cycles(tsc) 9.390 ns improved 26.0% 3 - 48 cycles(tsc) 12.180 ns - 33 cycles(tsc) 8.417 ns improved 31.2% 4 - 48 cycles(tsc) 12.015 ns - 32 cycles(tsc) 8.045 ns improved 33.3% 8 - 46 cycles(tsc) 11.526 ns - 30 cycles(tsc) 7.699 ns improved 34.8% 16 - 45 cycles(tsc) 11.418 ns - 32 cycles(tsc) 8.205 ns improved 28.9% 30 - 80 cycles(tsc) 20.246 ns - 73 cycles(tsc) 18.328 ns improved 8.8% 32 - 79 cycles(tsc) 19.946 ns - 72 cycles(tsc) 18.208 ns improved 8.9% 34 - 78 cycles(tsc) 19.659 ns - 71 cycles(tsc) 17.987 ns improved 9.0% 48 - 86 cycles(tsc) 21.516 ns - 82 cycles(tsc) 20.566 ns improved 4.7% 64 - 93 cycles(tsc) 23.423 ns - 89 cycles(tsc) 22.480 ns improved 4.3% 128 - 100 cycles(tsc) 25.170 ns - 99 cycles(tsc) 24.871 ns improved 1.0% 158 - 102 cycles(tsc) 25.549 ns - 101 cycles(tsc) 25.375 ns improved 1.0% 250 - 101 cycles(tsc) 25.344 ns - 100 cycles(tsc) 25.182 ns improved 1.0% Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 484748f0b65a1950b2b93f444a2287e8dd2cedd6 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Fri Sep 4 15:45:34 2015 -0700 slab: infrastructure for bulk object allocation and freeing Add the basic infrastructure for alloc/free operations on pointer arrays. It includes a generic function in the common slab code that is used in this infrastructure patch to create the unoptimized functionality for slab bulk operations. Allocators can then provide optimized allocation functions for situations in which large numbers of objects are needed. These optimization may avoid taking locks repeatedly and bypass metadata creation if all objects in slab pages can be used to provide the objects required. Allocators can extend the skeletons provided and add their own code to the bulk alloc and free functions. They can keep the generic allocation and freeing and just fall back to those if optimizations would not work (like for example when debugging is on). Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2ae44005b678431a5c7a55dafcd09421ba3fadf0 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Sep 4 15:45:31 2015 -0700 slub: fix spelling succedd to succeed With this patchset the SLUB allocator now has both bulk alloc and free implemented. This patchset mostly optimizes the "fastpath" where objects are available on the per CPU fastpath page. This mostly amortize the less-heavy none-locked cmpxchg_double used on fastpath. The "fallback" bulking (e.g __kmem_cache_free_bulk) provides a good basis for comparison. Measurements[1] of the fallback functions __kmem_cache_{free,alloc}_bulk have been copied from slab_common.c and forced "noinline" to force a function call like slab_common.c. Measurements on CPU CPU i7-4790K @ 4.00GHz Baseline normal fastpath (alloc+free cost): 42 cycles(tsc) 10.601 ns Measurements last-patch with disabled debugging: Bulk- fallback - this-patch 1 - 57 cycles(tsc) 14.448 ns - 44 cycles(tsc) 11.236 ns improved 22.8% 2 - 51 cycles(tsc) 12.768 ns - 28 cycles(tsc) 7.019 ns improved 45.1% 3 - 48 cycles(tsc) 12.232 ns - 22 cycles(tsc) 5.526 ns improved 54.2% 4 - 48 cycles(tsc) 12.025 ns - 19 cycles(tsc) 4.786 ns improved 60.4% 8 - 46 cycles(tsc) 11.558 ns - 18 cycles(tsc) 4.572 ns improved 60.9% 16 - 45 cycles(tsc) 11.458 ns - 18 cycles(tsc) 4.658 ns improved 60.0% 30 - 45 cycles(tsc) 11.499 ns - 18 cycles(tsc) 4.568 ns improved 60.0% 32 - 79 cycles(tsc) 19.917 ns - 65 cycles(tsc) 16.454 ns improved 17.7% 34 - 78 cycles(tsc) 19.655 ns - 63 cycles(tsc) 15.932 ns improved 19.2% 48 - 68 cycles(tsc) 17.049 ns - 50 cycles(tsc) 12.506 ns improved 26.5% 64 - 80 cycles(tsc) 20.009 ns - 63 cycles(tsc) 15.929 ns improved 21.3% 128 - 94 cycles(tsc) 23.749 ns - 86 cycles(tsc) 21.583 ns improved 8.5% 158 - 97 cycles(tsc) 24.299 ns - 90 cycles(tsc) 22.552 ns improved 7.2% 250 - 102 cycles(tsc) 25.681 ns - 98 cycles(tsc) 24.589 ns improved 3.9% Benchmarking shows impressive improvements in the "fastpath" with a small number of objects in the working set. Once the working set increases, resulting in activating the "slowpath" (that contains the heavier locked cmpxchg_double) the improvement decreases. I'm currently working on also optimizing the "slowpath" (as network stack use-case hits this), but this patchset should provide a good foundation for further improvements. Rest of my patch queue in this area needs some more work, but preliminary results are good. I'm attending Netfilter Workshop[2] next week, and I'll hopefully return working on further improvements in this area. This patch (of 6): s/succedd/succeed/ Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ec6a90661a0d6ce1461d05c7a58a0a151154e14a Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Fri Sep 4 15:45:28 2015 -0700 watchdog: rename watchdog_suspend() and watchdog_resume() Rename watchdog_suspend() to lockup_detector_suspend() and watchdog_resume() to lockup_detector_resume() to avoid confusion with the watchdog subsystem and to be consistent with the existing name lockup_detector_init(). Also provide comment blocks to explain the watchdog_running and watchdog_suspended variables and their relationship. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 999bbe49ea0118b70ddf3f5d679f51dc7a97ae55 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Fri Sep 4 15:45:25 2015 -0700 watchdog: use suspend/resume interface in fixup_ht_bug() Remove watchdog_nmi_disable_all() and watchdog_nmi_enable_all() since these functions are no longer needed. If a subsystem has a need to deactivate the watchdog temporarily, it should utilize the watchdog_suspend() and watchdog_resume() functions. [akpm@xxxxxxxxxxxxxxxxxxxx: fix build with CONFIG_LOCKUP_DETECTOR=m] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d4bdd0b21c7652a8271f873cc755486b255c1bbd Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Fri Sep 4 15:45:21 2015 -0700 watchdog: use park/unpark functions in update_watchdog_all_cpus() Remove update_watchdog() and restart_watchdog_hrtimer() since these functions are no longer needed. Changes of parameters such as the sample period are honored at the time when the watchdog threads are being unparked. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8c073d27d7ad293bf734cc8475689413afadab81 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Fri Sep 4 15:45:18 2015 -0700 watchdog: introduce watchdog_suspend() and watchdog_resume() This interface can be utilized to deactivate the hard and soft lockup detector temporarily. Callers are expected to minimize the duration of deactivation. Multiple deactivations are allowed to occur in parallel but should be rare in practice. [akpm@xxxxxxxxxxxxxxxxxxxx: remove unneeded static initialization] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81a4beef91ba4a9e8ad6054ca9933dff7e25ff28 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Fri Sep 4 15:45:15 2015 -0700 watchdog: introduce watchdog_park_threads() and watchdog_unpark_threads() Originally watchdog_nmi_enable(cpu) and watchdog_nmi_disable(cpu) were only called in watchdog thread context. However, the following commits utilize these functions outside of watchdog thread context too. commit 9809b18fcf6b8d8ec4d3643677345907e6b50eca Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Sep 24 15:27:30 2013 -0700 watchdog: update watchdog_thresh properly commit b3738d29323344da3017a91010530cf3a58590fc Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:07:03 2014 +0100 watchdog: Add watchdog enable/disable all functions Hence, it is now possible that these functions execute concurrently with the same 'cpu' argument. This concurrency is problematic because per-cpu 'watchdog_ev' can be accessed/modified without adequate synchronization. The patch series aims to address the above problem. However, instead of introducing locks to protect per-cpu 'watchdog_ev' a different approach is taken: Invoke these functions by parking and unparking the watchdog threads (to ensure they are always called in watchdog thread context). static struct smp_hotplug_thread watchdog_threads = { ... .park = watchdog_disable, // calls watchdog_nmi_disable() .unpark = watchdog_enable, // calls watchdog_nmi_enable() }; Both previously mentioned commits call these functions in a similar way and thus in principle contain some duplicate code. The patch series also avoids this duplication by providing a commonly usable mechanism. - Patch 1/4 introduces the watchdog_{park|unpark}_threads functions that park/unpark all watchdog threads specified in 'watchdog_cpumask'. They are intended to be called inside of kernel/watchdog.c only. - Patch 2/4 introduces the watchdog_{suspend|resume} functions which can be utilized by external callers to deactivate the hard and soft lockup detector temporarily. - Patch 3/4 utilizes watchdog_{park|unpark}_threads to replace some code that was introduced by commit 9809b18fcf6b8d8ec4d3643677345907e6b50eca. - Patch 4/4 utilizes watchdog_{suspend|resume} to replace some code that was introduced by commit b3738d29323344da3017a91010530cf3a58590fc. A few corner cases should be mentioned here for completeness. - kthread_park() of watchdog/N could hang if cpu N is already locked up. However, if watchdog is enabled the lockup will be detected anyway. - kthread_unpark() of watchdog/N could hang if cpu N got locked up after kthread_park(). The occurrence of this scenario should be _very_ rare in practice, in particular because it is not expected that temporary deactivation will happen frequently, and if it happens at all it is expected that the duration of deactivation will be short. This patch (of 4): introduce watchdog_park_threads() and watchdog_unpark_threads() These functions are intended to be used only from inside kernel/watchdog.c to park/unpark all watchdog threads that are specified in watchdog_cpumask. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aacfbe6a9724bb6d66a656a5abcc681d5649ed92 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 4 15:45:12 2015 -0700 kernel/watchdog: move NMI function header declarations from watchdog.h to nmi.h The kernel's NMI watchdog has nothing to do with the watchdog subsystem. Its header declarations should be in linux/nmi.h, not linux/watchdog.h. The code provided two sets of dummy functions if HARDLOCKUP_DETECTOR is not configured, one in the include file and one in kernel/watchdog.c. Remove the dummy functions from kernel/watchdog.c and use those from the include file. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 314b08ff5205420d956d14657e16d92c460a6f21 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Sep 4 15:45:09 2015 -0700 watchdog: simplify housekeeping affinity with the appropriate mask housekeeping_mask gathers all the CPUs that aren't part of the nohz_full set. This is exactly what we want the watchdog to be affine to without the need to use complicated cpumask operations. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 230ec93909f00678401cb2d63b8b95f1dea68e40 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Sep 4 15:45:06 2015 -0700 smpboot: allow passing the cpumask on per-cpu thread registration It makes the registration cheaper and simpler for the smpboot per-cpu kthread users that don't need to always update the cpumask after threads creation. [sfr@xxxxxxxxxxxxxxxx: fix for allow passing the cpumask on per-cpu thread registration] Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3dd08c0c918f9bf058572ddbf26e7d6fb5674a5c Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Sep 4 15:45:03 2015 -0700 smpboot: make cleanup to mirror setup The per-cpu kthread cleanup() callback is the mirror of the setup() callback. When the per-cpu kthread is started, it first calls setup() to initialize the resources which are then released by cleanup() when the kthread exits. Now since the introduction of a per-cpu kthread cpumask, the kthreads excluded by the cpumask on boot may happen to be parked immediately after their creation without taking the setup() stage, waiting to be asked to unpark to do so. Then when smpboot_unregister_percpu_thread() is later called, the kthread is stopped without having ever called setup(). But this triggers a bug as the kthread unconditionally calls cleanup() on exit but this doesn't mirror any setup(). Thus the kernel crashes because we try to free resources that haven't been initialized, as in the watchdog case: WATCHDOG disable 0 WATCHDOG disable 1 WATCHDOG disable 2 BUG: unable to handle kernel NULL pointer dereference at (null) IP: hrtimer_active+0x26/0x60 [...] Call Trace: hrtimer_try_to_cancel+0x1c/0x280 hrtimer_cancel+0x1d/0x30 watchdog_disable+0x56/0x70 watchdog_cleanup+0xe/0x10 smpboot_thread_fn+0x23c/0x2c0 kthread+0xf8/0x110 ret_from_fork+0x3f/0x70 This bug is currently masked with explicit kthread unparking before kthread_stop() on smpboot_destroy_threads(). This forces a call to setup() and then unpark(). We could fix this by unconditionally calling setup() on kthread entry. But setup() isn't always cheap. In the case of watchdog it launches hrtimer, perf events, etc... So we may as well like to skip it if there are chances the kthread will never be used, as in a reduced cpumask value. So let's simply do a state machine check before calling cleanup() that makes sure setup() has been called before mirroring it. And remove the nasty hack workaround. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5869b5064b0950afc447610c0f5d4134b71d9e94 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Sep 4 15:45:00 2015 -0700 smpboot: fix memory leak on error handling The cpumask is allocated before threads get created. If the latter step fails, we need to free the cpumask. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a068acf2ee77693e0bf39d6e07139ba704f461c3 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Fri Sep 4 15:44:57 2015 -0700 fs: create and use seq_show_option for escaping Many file systems that implement the show_options hook fail to correctly escape their output which could lead to unescaped characters (e.g. new lines) leaking into /proc/mounts and /proc/[pid]/mountinfo files. This could lead to confusion, spoofed entries (resulting in things like systemd issuing false d-bus "mount" notifications), and who knows what else. This looks like it would only be the root user stepping on themselves, but it's possible weird things could happen in containers or in other situations with delegated mount privileges. Here's an example using overlay with setuid fusermount trusting the contents of /proc/mounts (via the /etc/mtab symlink). Imagine the use of "sudo" is something more sneaky: $ BASE="ovl" $ MNT="$BASE/mnt" $ LOW="$BASE/lower" $ UP="$BASE/upper" $ WORK="$BASE/work/ 0 0 none /proc fuse.pwn user_id=1000" $ mkdir -p "$LOW" "$UP" "$WORK" $ sudo mount -t overlay -o "lowerdir=$LOW,upperdir=$UP,workdir=$WORK" none /mnt $ cat /proc/mounts none /root/ovl/mnt overlay rw,relatime,lowerdir=ovl/lower,upperdir=ovl/upper,workdir=ovl/work/ 0 0 none /proc fuse.pwn user_id=1000 0 0 $ fusermount -u /proc $ cat /proc/mounts cat: /proc/mounts: No such file or directory This fixes the problem by adding new seq_show_option and seq_show_option_n helpers, and updating the vulnerable show_option handlers to use them as needed. Some, like SELinux, need to be open coded due to unusual existing escape mechanisms. [akpm@xxxxxxxxxxxxxxxxxxxx: add lost chunk, per Kees] [keescook@xxxxxxxxxxxx: seq_show_option should be using const parameters] Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Acked-by: Jan Kara <jack@xxxxxxxx> Acked-by: Paul Moore <paul@xxxxxxxxxxxxxx> Cc: J. R. Okajima <hooanon05g@xxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 46359295a352e01a5a017297c70b7ee0c5da6de6 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:44:54 2015 -0700 ocfs2: clean up redundant NULL checks before kfree NULL check before kfree is redundant and so clean them up. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7ecef14ab1db961545354fa443749aeda2ea1b75 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Sep 4 15:44:51 2015 -0700 ocfs2: neaten do_error, ocfs2_error and ocfs2_abort These uses sometimes do and sometimes don't have '\n' terminations. Make the uses consistently use '\n' terminations and remove the newline from the functions. Miscellanea: o Coalesce formats o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0c97d52f5e1de125394d748be7bd5763fd9ed9e Author: Xue jiufei <xuejiufei@xxxxxxxxxx> Date: Fri Sep 4 15:44:48 2015 -0700 ocfs2: do not set fs read-only if rec[0] is empty while committing truncate While appending an extent to a file, it will call these functions: ocfs2_insert_extent -> call ocfs2_grow_tree() if there's no free rec -> ocfs2_add_branch add a new branch to extent tree, now rec[0] in the leaf of rightmost path is empty -> ocfs2_do_insert_extent -> ocfs2_rotate_tree_right -> ocfs2_extend_rotate_transaction -> jbd2_journal_restart if jbd2_journal_extend fail -> ocfs2_insert_path -> ocfs2_extend_trans -> jbd2_journal_restart if jbd2_journal_extend fail -> ocfs2_insert_at_leaf -> ocfs2_et_update_clusters Function jbd2_journal_restart() may be called and it may happened that buffers dirtied in ocfs2_add_branch() are committed while buffers dirtied in ocfs2_insert_at_leaf() and ocfs2_et_update_clusters() are not. So an empty rec[0] is left in rightmost path which will cause read-only filesystem when call ocfs2_commit_truncate() with the error message: "Inode %lu has an empty extent record". This is not a serious problem, so remove the rightmost path when call ocfs2_commit_truncate(). Signed-off-by: joyce.xue <xuejiufei@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f27ec978b0ef37391262bbf15c587fd8526e268 Author: yangwenfang <vicky.yangwenfang@xxxxxxxxxx> Date: Fri Sep 4 15:44:45 2015 -0700 ocfs2: call ocfs2_journal_access_di() before ocfs2_journal_dirty() in ocfs2_write_end_nolock() 1: After we call ocfs2_journal_access_di() in ocfs2_write_begin(), jbd2_journal_restart() may also be called, in this function transaction A's t_updates-- and obtains a new transaction B. If jbd2_journal_commit_transaction() is happened to commit transaction A, when t_updates==0, it will continue to complete commit and unfile buffer. So when jbd2_journal_dirty_metadata(), the handle is pointed a new transaction B, and the buffer head's journal head is already freed, jh->b_transaction == NULL, jh->b_next_transaction == NULL, it returns EINVAL, So it triggers the BUG_ON(status). thread 1 jbd2 ocfs2_write_begin jbd2_journal_commit_transaction ocfs2_write_begin_nolock ocfs2_start_trans jbd2__journal_start(t_updates+1, transaction A) ocfs2_journal_access_di ocfs2_write_cluster_by_desc ocfs2_mark_extent_written ocfs2_change_extent_flag ocfs2_split_extent ocfs2_extend_rotate_transaction jbd2_journal_restart (t_updates-1,transaction B) t_updates==0 __jbd2_journal_refile_buffer (jh->b_transaction = NULL) ocfs2_write_end ocfs2_write_end_nolock ocfs2_journal_dirty jbd2_journal_dirty_metadata(bug) ocfs2_commit_trans 2. In ext4, I found that: jbd2_journal_get_write_access() called by ext4_write_end. ext4_write_begin ext4_journal_start __ext4_journal_start_sb ext4_journal_check_start jbd2__journal_start ext4_write_end ext4_mark_inode_dirty ext4_reserve_inode_write ext4_journal_get_write_access jbd2_journal_get_write_access ext4_mark_iloc_dirty ext4_do_update_inode ext4_handle_dirty_metadata jbd2_journal_dirty_metadata 3. So I think we should put ocfs2_journal_access_di before ocfs2_journal_dirty in the ocfs2_write_end. and it works well after my modification. Signed-off-by: vicky <vicky.yangwenfang@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Zhangguanghui <zhang.guanghui@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 40476b8294466d40e7db57b4cbf69a831a4486b8 Author: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Date: Fri Sep 4 15:44:43 2015 -0700 ocfs2: use 64bit variables to track heartbeat time o2hb_elapsed_msecs computes the time taken for a disk heartbeat. 'struct timeval' variables are used to store start and end times. On 32-bit systems, the 'tv_sec' component of 'struct timeval' will overflow in year 2038 and beyond. This patch solves the overflow with the following: 1. Replace o2hb_elapsed_msecs using 'ktime_t' values to measure start and end time, and built-in function 'ktime_ms_delta' to compute the elapsed time. ktime_get_real() is used since the code prints out the wallclock time. 2. Changes format string to print time as a single 64-bit nanoseconds value ("%lld") instead of seconds and microseconds. This simplifies the code since converting ktime_t to that format would need expensive computation. However, the debug log string is less readable than the previous format. Signed-off-by: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Suggested by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad694821224634d46b6571f0161e85ac2e397396 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:44:40 2015 -0700 ocfs2: fix race between crashed dio and rm There is a race case between crashed dio and rm, which will lead to OCFS2_VALID_FL not set read-only. N1 N2 ------------------------------------------------------------------------ dd with direct flag rm file crashed with an dio entry left in orphan dir clear OCFS2_VALID_FL in ocfs2_remove_inode recover N1 and read the corrupted inode, and set filesystem read-only So we skip the inode deletion this time and wait for dio entry recovered first. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f57a22ddecd6f26040a67e2c12880f98f88b6e00 Author: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Date: Fri Sep 4 15:44:37 2015 -0700 ocfs2: avoid access invalid address when read o2dlm debug messages The following case will lead to a lockres is freed but is still in use. cat /sys/kernel/debug/o2dlm/locking_state dlm_thread lockres_seq_start -> lock dlm->track_lock -> get resA resA->refs decrease to 0, call dlm_lockres_release, and wait for "cat" unlock. Although resA->refs is already set to 0, increase resA->refs, and then unlock lock dlm->track_lock -> list_del_init() -> unlock -> free resA In such a race case, invalid address access may occurs. So we should delete list res->tracking before resA->refs decrease to 0. Signed-off-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 743b5f1434f57a147226c747fe228cadeb7b05ed Author: Tariq Saeed <tariq.x.saeed@xxxxxxxxxx> Date: Fri Sep 4 15:44:34 2015 -0700 ocfs2: take inode lock in ocfs2_iop_set/get_acl() This bug in mainline code is pointed out by Mark Fasheh. When ocfs2_iop_set_acl() and ocfs2_iop_get_acl() are entered from VFS layer, inode lock is not held. This seems to be regression from older kernels. The patch is to fix that. Orabug: 20189959 Signed-off-by: Tariq Saeed <tariq.x.saeed@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3d46a44a0c01b15d385ccaae24b56f619613c256 Author: Tariq Saeed <tariq.x.saeed@xxxxxxxxxx> Date: Fri Sep 4 15:44:31 2015 -0700 ocfs2: fix BUG_ON() in ocfs2_ci_checkpointed() PID: 614 TASK: ffff882a739da580 CPU: 3 COMMAND: "ocfs2dc" #0 [ffff882ecc3759b0] machine_kexec at ffffffff8103b35d #1 [ffff882ecc375a20] crash_kexec at ffffffff810b95b5 #2 [ffff882ecc375af0] oops_end at ffffffff815091d8 #3 [ffff882ecc375b20] die at ffffffff8101868b #4 [ffff882ecc375b50] do_trap at ffffffff81508bb0 #5 [ffff882ecc375ba0] do_invalid_op at ffffffff810165e5 #6 [ffff882ecc375c40] invalid_op at ffffffff815116fb [exception RIP: ocfs2_ci_checkpointed+208] RIP: ffffffffa0a7e940 RSP: ffff882ecc375cf0 RFLAGS: 00010002 RAX: 0000000000000001 RBX: 000000000000654b RCX: ffff8812dc83f1f8 RDX: 00000000000017d9 RSI: ffff8812dc83f1f8 RDI: ffffffffa0b2c318 RBP: ffff882ecc375d20 R8: ffff882ef6ecfa60 R9: ffff88301f272200 R10: 0000000000000000 R11: 0000000000000000 R12: ffffffffffffffff R13: ffff8812dc83f4f0 R14: 0000000000000000 R15: ffff8812dc83f1f8 ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018 #7 [ffff882ecc375d28] ocfs2_check_meta_downconvert at ffffffffa0a7edbd [ocfs2] #8 [ffff882ecc375d38] ocfs2_unblock_lock at ffffffffa0a84af8 [ocfs2] #9 [ffff882ecc375dc8] ocfs2_process_blocked_lock at ffffffffa0a85285 [ocfs2] #10 [ffff882ecc375e18] ocfs2_downconvert_thread_do_work at ffffffffa0a85445 [ocfs2] #11 [ffff882ecc375e68] ocfs2_downconvert_thread at ffffffffa0a854de [ocfs2] #12 [ffff882ecc375ee8] kthread at ffffffff81090da7 #13 [ffff882ecc375f48] kernel_thread_helper at ffffffff81511884 assert is tripped because the tran is not checkpointed and the lock level is PR. Some time ago, chmod command had been executed. As result, the following call chain left the inode cluster lock in PR state, latter on causing the assert. system_call_fastpath -> my_chmod -> sys_chmod -> sys_fchmodat -> notify_change -> ocfs2_setattr -> posix_acl_chmod -> ocfs2_iop_set_acl -> ocfs2_set_acl -> ocfs2_acl_set_mode Here is how. 1119 int ocfs2_setattr(struct dentry *dentry, struct iattr *attr) 1120 { 1247 ocfs2_inode_unlock(inode, 1); <<< WRONG thing to do. .. 1258 if (!status && attr->ia_valid & ATTR_MODE) { 1259 status = posix_acl_chmod(inode, inode->i_mode); 519 posix_acl_chmod(struct inode *inode, umode_t mode) 520 { .. 539 ret = inode->i_op->set_acl(inode, acl, ACL_TYPE_ACCESS); 287 int ocfs2_iop_set_acl(struct inode *inode, struct posix_acl *acl, ... 288 { 289 return ocfs2_set_acl(NULL, inode, NULL, type, acl, NULL, NULL); 224 int ocfs2_set_acl(handle_t *handle, 225 struct inode *inode, ... 231 { .. 252 ret = ocfs2_acl_set_mode(inode, di_bh, 253 handle, mode); 168 static int ocfs2_acl_set_mode(struct inode *inode, struct buffer_head ... 170 { 183 if (handle == NULL) { >>> BUG: inode lock not held in ex at this point <<< 184 handle = ocfs2_start_trans(OCFS2_SB(inode->i_sb), 185 OCFS2_INODE_UPDATE_CREDITS); ocfs2_setattr.#1247 we unlock and at #1259 call posix_acl_chmod. When we reach ocfs2_acl_set_mode.#181 and do trans, the inode cluster lock is not held in EX mode (it should be). How this could have happended? We are the lock master, were holding lock EX and have released it in ocfs2_setattr.#1247. Note that there are no holders of this lock at this point. Another node needs the lock in PR, and we downconvert from EX to PR. So the inode lock is PR when do the trans in ocfs2_acl_set_mode.#184. The trans stays in core (not flushed to disc). Now another node want the lock in EX, downconvert thread gets kicked (the one that tripped assert abovt), finds an unflushed trans but the lock is not EX (it is PR). If the lock was at EX, it would have flushed the trans ocfs2_ci_checkpointed -> ocfs2_start_checkpoint before downconverting (to NULL) for the request. ocfs2_setattr must not drop inode lock ex in this code path. If it does, takes it again before the trans, say in ocfs2_set_acl, another cluster node can get in between, execute another setattr, overwriting the one in progress on this node, resulting in a mode acl size combo that is a mix of the two. Orabug: 20189959 Signed-off-by: Tariq Saeed <tariq.x.saeed@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Joseph Qi <joseph.qi@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 72f6fe1fe5a386225cdc30f025681830a63a117e Author: Norton.Zhu <norton.zhu@xxxxxxxxxx> Date: Fri Sep 4 15:44:28 2015 -0700 ocfs2: optimize error handling in dlm_request_join Currently error handling in dlm_request_join is a little obscure, so optimize it to promote readability. If packet.code is invalid, reset it to JOIN_DISALLOW to keep it meaningful. It only influences the log printing. Signed-off-by: Norton.Zhu <norton.zhu@xxxxxxxxxx> Cc: Srinivas Eeda <srinivas.eeda@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 928dda1f9433f024ac48c3d97ae683bf83dd0e42 Author: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Date: Fri Sep 4 15:44:25 2015 -0700 ocfs2: fix a tiny case that inode can not removed When running dirop_fileop_racer we found a case that inode can not removed. Two nodes, say Node A and Node B, mount the same ocfs2 volume. Create two dirs /race/1/ and /race/2/ in the filesystem. Node A Node B rm -r /race/2/ mv /race/1/ /race/2/ call ocfs2_unlink(), get the EX mode of /race/2/ wait for B unlock /race/2/ decrease i_nlink of /race/2/ to 0, and add inode of /race/2/ into orphan dir, unlock /race/2/ got EX mode of /race/2/. because /race/1/ is dir, so inc i_nlink of /race/2/ and update into disk, unlock /race/2/ because i_nlink of /race/2/ is not zero, this inode will always remain in orphan dir This patch fixes this case by test whether i_nlink of new dir is zero. Signed-off-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Xue jiufei <xuejiufei@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6ab855a99b735c227ad1e0deda636833f41c5b87 Author: WeiWei Wang <wangww631@xxxxxxxxxx> Date: Fri Sep 4 15:44:23 2015 -0700 ocfs2: add ip_alloc_sem in direct IO to protect allocation changes In ocfs2, ip_alloc_sem is used to protect allocation changes on the node. In direct IO, we add ip_alloc_sem to protect date consistent between direct-io and ocfs2_truncate_file race (buffer io use ip_alloc_sem already). Although inode->i_mutex lock is used to avoid concurrency of above situation, i think ip_alloc_sem is still needed because protect allocation changes is significant. Other filesystem like ext4 also uses rw_semaphore to protect data consistent between get_block-vs-truncate race by other means, So ip_alloc_sem in ocfs2 direct io is needed. Signed-off-by: Weiwei Wang <wangww631@xxxxxxxxxx> Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 34237681e02ad1617138926f437d0a147249ec13 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Fri Sep 4 15:44:20 2015 -0700 ocfs2: clear the rest of the buffers on error In case a validation fails, clear the rest of the buffers and return the error to the calling function. This also facilitates bubbling up the error originating from ocfs2_error to calling functions. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 17a5b9ab32fe0464e7f556e28a2b49d2023fb533 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Fri Sep 4 15:44:17 2015 -0700 ocfs2: acknowledge return value of ocfs2_error() Caveat: This may return -EROFS for a read case, which seems wrong. This is happening even without this patch series though. Should we convert EROFS to EIO? Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d0fb9148ab6f52006de7cce18860227594ba872 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Fri Sep 4 15:44:11 2015 -0700 ocfs2: add errors=continue OCFS2 is often used in high-availaibility systems. However, ocfs2 converts the filesystem to read-only at the drop of the hat. This may not be necessary, since turning the filesystem read-only would affect other running processes as well, decreasing availability. This attempt is to add errors=continue, which would return the EIO to the calling process and terminate furhter processing so that the filesystem is not corrupted further. However, the filesystem is not converted to read-only. As a future plan, I intend to create a small utility or extend fsck.ocfs2 to fix small errors such as in the inode. The input to the utility such as the inode can come from the kernel logs so we don't have to schedule a downtime for fixing small-enough errors. The patch changes the ocfs2_error to return an error. The error returned depends on the mount option set. If none is set, the default is to turn the filesystem read-only. Perhaps errors=continue is not the best option name. Historically it is used for making an attempt to progress in the current process itself. Should we call it errors=eio? or errors=killproc? Suggestions/Comments welcome. Sources are available at: https://github.com/goldwynr/linux/tree/error-cont Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 513e2dae9422223072ed3887e91efebec2fc0a01 Author: Xue jiufei <xuejiufei@xxxxxxxxxx> Date: Fri Sep 4 15:44:11 2015 -0700 ocfs2: flush inode data to disk and free inode when i_count becomes zero Disk inode deletion may be heavily delayed when one node unlink a file after the same dentry is freed on another node(say N1) because of memory shrink but inode is left in memory. This inode can only be freed while N1 doing the orphan scan work. However, N1 may skip orphan scan for several times because other nodes may do the work earlier. In our tests, it may take 1 hour on 4 nodes cluster and it hurts the user experience. So we think the inode should be freed after the data flushed to disk when i_count becomes zero to avoid such circumstances. Signed-off-by: Joyce.xue <xuejiufei@xxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f5e7b41f91814447defc34e915fc5d6e52266d9 Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Date: Fri Sep 4 15:44:08 2015 -0700 ocfs2: trusted xattr missing CAP_SYS_ADMIN check The trusted extended attributes are only visible to the process which hvae CAP_SYS_ADMIN capability but the check is missing in ocfs2 xattr_handler trusted list. The check is important because this will be used for implementing mechanisms in the userspace for which other ordinary processes should not have access to. Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Taesoo kim <taesoo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 807a7907114c7c703017ed7a96477a2eeb0d08e0 Author: jiangyiwen <jiangyiwen@xxxxxxxxxx> Date: Fri Sep 4 15:44:06 2015 -0700 ocfs2: set filesytem read-only when ocfs2_delete_entry failed. In ocfs2_rename, it will lead to an inode with two entried(old and new) if ocfs2_delete_entry(old) failed. Thus, filesystem will be inconsistent. The case is described below: ocfs2_rename -> ocfs2_start_trans -> ocfs2_add_entry(new) -> ocfs2_delete_entry(old) -> __ocfs2_journal_access *failed* because of -ENOMEM -> ocfs2_commit_trans So filesystem should be set to read-only at the moment. Signed-off-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Cc: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f83c7b5e9fd633fe91128af116e6472a8c4d29a5 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:44:03 2015 -0700 ocfs2/dlm: use list_for_each_entry instead of list_for_each Use list_for_each_entry instead of list_for_each to simplify code. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0e3d9eafb86183a33efc42f0beff5afceebbafba Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:44:00 2015 -0700 ocfs2: remove unneeded code in dlm_register_domain_handlers The last goto statement is unneeded, so remove it. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdd09f49cb271d95cbe69ef886459e0490040e98 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:57 2015 -0700 ocfs2: fix BUG when o2hb_register_callback fails In dlm_register_domain_handlers, if o2hb_register_callback fails, it will call dlm_unregister_domain_handlers to unregister. This will trigger the BUG_ON in o2hb_unregister_callback because hc_magic is 0. So we should call o2hb_setup_callback to initialize hc first. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 914a9b74295774b92409fbc3e0abcfa9185d9469 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:54 2015 -0700 ocfs2: remove unneeded code in ocfs2_dlm_init status is already initialized and it will only be 0 or negatives in the code flow. So remove the unneeded assignment after the lable 'local'. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3cb2ec43f63c42412a18620f1226eb4aa434a7a8 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:52 2015 -0700 ocfs2: adjust code to match locking/unlocking order Unlocking order in ocfs2_unlink and ocfs2_rename mismatches the corresponding locking order, although it won't cause issues, adjust the code so that it looks more reasonable. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bf59e6623a3a92a2bf428f2d6592c81aae6317e1 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:49 2015 -0700 ocfs2: clean up unused local variables in ocfs2_file_write_iter Since commit 86b9c6f3f891 ("ocfs2: remove filesize checks for sync I/O journal commit") removes filesize checks for sync I/O journal commit, variables old_size and old_clusters are not actually used any more. So clean them up. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 372a447c4bb8271d128def5f93e3365d5d06b4d8 Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Fri Sep 4 15:43:46 2015 -0700 ocfs2: do not log twice error messages 'o2hb_map_slot_data' and 'o2hb_populate_slot_data' are called from only one place, in 'o2hb_region_dev_write'. Return value is checked and 'mlog_errno' is called to log a message if it is not 0. So there is no need to call 'mlog_errno' directly within these functions. This would result on logging the message twice. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit acf8fdbe6afb084666df347602fe4258f1cf5fd5 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:43 2015 -0700 ocfs2: do not BUG if buffer not uptodate in __ocfs2_journal_access When storage network is unstable, it may trigger the BUG in __ocfs2_journal_access because of buffer not uptodate. We can retry the write in this case or return error instead of BUG. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reported-by: Zhangguanghui <zhang.guanghui@xxxxxxx> Tested-by: Zhangguanghui <zhang.guanghui@xxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit faaebf18f831c1546bdc65ff8f49d2a73e675ded Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:40 2015 -0700 ocfs2: fix several issues of append dio 1) Take rw EX lock in case of append dio. 2) Explicitly treat the error code -EIOCBQUEUED as normal. 3) Set di_bh to NULL after brelse if it may be used again later. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Cc: Weiwei Wang <wangww631@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 512f62acbdf1ee81ce4882c85835f5420a1c304c Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:37 2015 -0700 ocfs2: fix race between dio and recover orphan During direct io the inode will be added to orphan first and then deleted from orphan. There is a race window that the orphan entry will be deleted twice and thus trigger the BUG when validating OCFS2_DIO_ORPHANED_FL in ocfs2_del_inode_from_orphan. ocfs2_direct_IO_write ... ocfs2_add_inode_to_orphan >>>>>>>> race window. 1) another node may rm the file and then down, this node take care of orphan recovery and clear flag OCFS2_DIO_ORPHANED_FL. 2) since rw lock is unlocked, it may race with another orphan recovery and append dio. ocfs2_del_inode_from_orphan So take inode mutex lock when recovering orphans and make rw unlock at the end of aio write in case of append dio. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reported-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Cc: Weiwei Wang <wangww631@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81cf09edc793688cbf53c3082802571e2018f3ac Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Fri Sep 4 15:43:35 2015 -0700 sh: use PFN_DOWN macro Replace ((x) >> PAGE_SHIFT) with the predefined PFN_DOWN macro. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 917520e100e1db5e8dd546dd94fef070a31652a5 Author: SF Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 15:43:32 2015 -0700 ntfs: delete unnecessary checks before calling iput() iput() tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Reviewed-by: Anton Altaparmakov <anton@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 35108d71383c5f4abc286430c0b5da79d22553f9 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Fri Sep 4 15:43:29 2015 -0700 scripts/spelling.txt: add some typo-words I wrote a small script to show word-pair from all linux spelling-typo commits, and get following result by sort | uniq -c: 181 occured -> occurred 78 transfered -> transferred 67 recieved -> received 65 dependant -> dependent 58 wether -> whether 56 accomodate -> accommodate 54 occured -> occurred 51 recieve -> receive 47 cant -> can't 40 sucessfully -> successfully ... Some of them are not in spelling.txt, this patch adds the most common word-pairs into spelling.txt. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e260fe01fa39eddb05bd8b70fad5bc9a129648f2 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Fri Sep 4 15:43:26 2015 -0700 scripts: decode_stacktrace: fix ARM architecture decoding Fix the stack decoder for the ARM architecture. An ARM stack is designed as : [ 81.547704] [<c023eb04>] (bucket_find_contain) from [<c023ec88>] (check_sync+0x40/0x4f8) [ 81.559668] [<c023ec88>] (check_sync) from [<c023f8c4>] (debug_dma_sync_sg_for_cpu+0x128/0x194) [ 81.571583] [<c023f8c4>] (debug_dma_sync_sg_for_cpu) from [<c0327dec>] (__videobuf_s The current script doesn't expect the symbols to be bound by parenthesis, and triggers the following errors : awk: cmd. line:1: error: Unmatched ( or \(: / (check_sync$/ [ 81.547704] (bucket_find_contain) from (check_sync+0x40/0x4f8) Fix it by chopping starting and ending parenthesis from the each symbol name. As a side note, this probably comes from the function dump_backtrace_entry(), which is implemented differently for each architecture. That makes a single decoding script a bit a challenge. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fa70900e0984792cc45a9e51c28684c3287058c2 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Sep 4 15:43:24 2015 -0700 scripts/Lindent: handle missing indent gracefully If indent is not found, bail out immediately instead of spitting random shell script error messages. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d40e1e6532efbb40f8fc1f5af093063a3d186754 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Sep 4 15:43:21 2015 -0700 kerneldoc: Convert error messages to GNU error message format Editors like emacs and vi recognize a number of error message formats. The format used by the kerneldoc tool is not recognized by emacs. Change the kerneldoc error message format to the GNU style such that the emacs prev-error and next-error commands can be used to navigate through kerneldoc error messages. For more information about the GNU error message format, see also https://www.gnu.org/prep/standards/html_node/Errors.html. This patch has been generated via the following sed command: sed -i.orig 's/Error(\${file}:\$.):/\${file}:\$.: error:/g;s/Warning(\${file}:\$.):/\${file}:\$.: warning:/g;s/Warning(\${file}):/\${file}:1: warning:/g;s/Info(\${file}:\$.):/\${file}:\$.: info:/g' scripts/kernel-doc Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Johannes Berg <johannes.berg@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c22b6ae69ee93c1ecc6821847a8542163fbf3e1a Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 15:43:18 2015 -0700 scripts/spelling.txt: spelling of uninitialized I just did a spelling mistake of uninitialized and wrote that as unintialized. Fortunately I noticed it in my final review. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 779a6ce877bf711323f998b3a7382cdbe7350d87 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Fri Sep 4 15:43:15 2015 -0700 scripts/spelling.txt: add misspelled words for check misspelled words for check:- chcek chck cehck I myself did these spell mistakes in changelog for patches, Thus suggesting to add in spelling.txt, so that checkpatch.pl warns it earlier. References:- ./arch/powerpc/kernel/exceptions-64e.S:456: . . . make sure you chcek https://lkml.org/lkml/2015/6/25/289 ./arch/x86/mm/pageattr.c:1368: * No need to cehck in that case [akpm@xxxxxxxxxxxxxxxxxxxx: add whcih->which, whcih I always get wrong] Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4712e722f91457e60723b9cef6265a74290efba9 Author: Jan Kara <jack@xxxxxxxx> Date: Fri Sep 4 15:43:12 2015 -0700 fsnotify: get rid of fsnotify_destroy_mark_locked() fsnotify_destroy_mark_locked() is subtle to use because it temporarily releases group->mark_mutex. To avoid future problems with this function, split it into two. fsnotify_detach_mark() is the part that needs group->mark_mutex and fsnotify_free_mark() is the part that must be called outside of group->mark_mutex. This way it's much clearer what's going on and we also avoid some pointless acquisitions of group->mark_mutex. Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 925d1132a03e33cb8f29a0057300d023b4f1be23 Author: Jan Kara <jack@xxxxxxxx> Date: Fri Sep 4 15:43:09 2015 -0700 fsnotify: remove mark->free_list Free list is used when all marks on given inode / mount should be destroyed when inode / mount is going away. However we can free all of the marks without using a special list with some care. Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1e39fc01836d02a11515aaabd97a0a938326bfe2 Author: Jan Kara <jack@xxxxxxxx> Date: Fri Sep 4 15:43:06 2015 -0700 fsnotify: document mark locking Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3c53e514212455db9923c203694a72007558b48f Author: Jan Kara <jack@xxxxxxx> Date: Fri Sep 4 15:43:03 2015 -0700 fsnotify: fix check in inotify fdinfo printing A check in inotify_fdinfo() checking whether mark is valid was always true due to a bug. Luckily we can never get to invalidated marks since we hold mark_mutex and invalidated marks get removed from the group list when they are invalidated under that mutex. Anyway fix the check to make code more future proof. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c49b8616460ebb12ee56d80d1abfbc20b6f3cbb Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:43:01 2015 -0700 fs/notify: optimize inotify/fsnotify code for unwatched files I have a _tiny_ microbenchmark that sits in a loop and writes single bytes to a file. Writing one byte to a tmpfs file is around 2x slower than reading one byte from a file, which is a _bit_ more than I expecte. This is a dumb benchmark, but I think it's hard to deny that write() is a hot path and we should avoid unnecessary overhead there. I did a 'perf record' of 30-second samples of read and write. The top item in a diffprofile is srcu_read_lock() from fsnotify(). There are active inotify fd's from systemd, but nothing is actually listening to the file or its part of the filesystem. I *think* we can avoid taking the srcu_read_lock() for the common case where there are no actual marks on the file. This means that there will both be nothing to notify for *and* implies that there is no need for clearing the ignore mask. This patch gave a 13.1% speedup in writes/second on my test, which is an improvement from the 10.8% that I saw with the last version. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxx> Cc: John McCutchan <john@xxxxxxxxxxxxxxxxx> Cc: Robert Love <rlove@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 031e29b5877f31676739dc2f847d04c2c0732034 Author: Yuriy Kolerov <yuriy.kolerov@xxxxxxxxxxxx> Date: Fri Sep 4 15:42:58 2015 -0700 drivers/video/concole: add negative dependency for VGA_CONSOLE on ARC Architectures which support VGA console must define screen_info structurture from "uapi/linux/screen_info.h". Otherwise undefined symbol error occurs. Usually it's defined in "setup.c" for each architecture. If an architecture does not support VGA console (ARC's case) there are 2 ways: define a dummy instance of screen_info or add a negative dependency for VGA_CONSOLE in to prevent selecting this option. I've implemented the second way. However the best solution is to add HAVE_VGA_CONSOLE option for targets which support VGA console. Then turn off VGA_CONSOLE by default and add dependency to HAVE_VGA_CONSOLE. But right now it's better to just add a negative dependency for ARC and then consider how to collaborate about this issue with maintainers of other architectures. Signed-off-by: Yuriy Kolerov <yuriy.kolerov@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Jaya Kumar <jayalk@xxxxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 746bf6d64275be0c65b0631d8a72b16f1454cfa1 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Sep 4 15:42:51 2015 -0700 capabilities: add a securebit to disable PR_CAP_AMBIENT_RAISE Per Andrew Morgan's request, add a securebit to allow admins to disable PR_CAP_AMBIENT_RAISE. This securebit will prevent processes from adding capabilities to their ambient set. For simplicity, this disables PR_CAP_AMBIENT_RAISE entirely rather than just disabling setting previously cleared bits. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Andrew G. Morgan <morgan@xxxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Aaron Jones <aaronmdjones@xxxxxxxxx> Cc: Ted Ts'o <tytso@xxxxxxx> Cc: Andrew G. Morgan <morgan@xxxxxxxxxx> Cc: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: Austin S Hemmelgarn <ahferroin7@xxxxxxxxx> Cc: Markku Savela <msa@xxxxxxxxxxx> Cc: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: James Morris <james.l.morris@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 32ae976ed3b5ba39c9208ace41bcdf4157d21db3 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Sep 4 15:42:48 2015 -0700 selftests/capabilities: Add tests for capability evolution This test focuses on ambient capabilities. It requires either root or the ability to create user namespaces. Some of the test cases will be skipped for nonroot users. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> # Original author Cc: Serge E. Hallyn <serge.hallyn@xxxxxxxxxx> Cc: James Morris <james.l.morris@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58319057b7847667f0c9585b9de0e8932b0fdb08 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Sep 4 15:42:45 2015 -0700 capabilities: ambient capabilities Credit where credit is due: this idea comes from Christoph Lameter with a lot of valuable input from Serge Hallyn. This patch is heavily based on Christoph's patch. ===== The status quo ===== On Linux, there are a number of capabilities defined by the kernel. To perform various privileged tasks, processes can wield capabilities that they hold. Each task has four capability masks: effective (pE), permitted (pP), inheritable (pI), and a bounding set (X). When the kernel checks for a capability, it checks pE. The other capability masks serve to modify what capabilities can be in pE. Any task can remove capabilities from pE, pP, or pI at any time. If a task has a capability in pP, it can add that capability to pE and/or pI. If a task has CAP_SETPCAP, then it can add any capability to pI, and it can remove capabilities from X. Tasks are not the only things that can have capabilities; files can also have capabilities. A file can have no capabilty information at all [1]. If a file has capability information, then it has a permitted mask (fP) and an inheritable mask (fI) as well as a single effective bit (fE) [2]. File capabilities modify the capabilities of tasks that execve(2) them. A task that successfully calls execve has its capabilities modified for the file ultimately being excecuted (i.e. the binary itself if that binary is ELF or for the interpreter if the binary is a script.) [3] In the capability evolution rules, for each mask Z, pZ represents the old value and pZ' represents the new value. The rules are: pP' = (X & fP) | (pI & fI) pI' = pI pE' = (fE ? pP' : 0) X is unchanged For setuid binaries, fP, fI, and fE are modified by a moderately complicated set of rules that emulate POSIX behavior. Similarly, if euid == 0 or ruid == 0, then fP, fI, and fE are modified differently (primary, fP and fI usually end up being the full set). For nonroot users executing binaries with neither setuid nor file caps, fI and fP are empty and fE is false. As an extra complication, if you execute a process as nonroot and fE is set, then the "secure exec" rules are in effect: AT_SECURE gets set, LD_PRELOAD doesn't work, etc. This is rather messy. We've learned that making any changes is dangerous, though: if a new kernel version allows an unprivileged program to change its security state in a way that persists cross execution of a setuid program or a program with file caps, this persistent state is surprisingly likely to allow setuid or file-capped programs to be exploited for privilege escalation. ===== The problem ===== Capability inheritance is basically useless. If you aren't root and you execute an ordinary binary, fI is zero, so your capabilities have no effect whatsoever on pP'. This means that you can't usefully execute a helper process or a shell command with elevated capabilities if you aren't root. On current kernels, you can sort of work around this by setting fI to the full set for most or all non-setuid executable files. This causes pP' = pI for nonroot, and inheritance works. No one does this because it's a PITA and it isn't even supported on most filesystems. If you try this, you'll discover that every nonroot program ends up with secure exec rules, breaking many things. This is a problem that has bitten many people who have tried to use capabilities for anything useful. ===== The proposed change ===== This patch adds a fifth capability mask called the ambient mask (pA). pA does what most people expect pI to do. pA obeys the invariant that no bit can ever be set in pA if it is not set in both pP and pI. Dropping a bit from pP or pI drops that bit from pA. This ensures that existing programs that try to drop capabilities still do so, with a complication. Because capability inheritance is so broken, setting KEEPCAPS, using setresuid to switch to nonroot uids, and then calling execve effectively drops capabilities. Therefore, setresuid from root to nonroot conditionally clears pA unless SECBIT_NO_SETUID_FIXUP is set. Processes that don't like this can re-add bits to pA afterwards. The capability evolution rules are changed: pA' = (file caps or setuid or setgid ? 0 : pA) pP' = (X & fP) | (pI & fI) | pA' pI' = pI pE' = (fE ? pP' : pA') X is unchanged If you are nonroot but you have a capability, you can add it to pA. If you do so, your children get that capability in pA, pP, and pE. For example, you can set pA = CAP_NET_BIND_SERVICE, and your children can automatically bind low-numbered ports. Hallelujah! Unprivileged users can create user namespaces, map themselves to a nonzero uid, and create both privileged (relative to their namespace) and unprivileged process trees. This is currently more or less impossible. Hallelujah! You cannot use pA to try to subvert a setuid, setgid, or file-capped program: if you execute any such program, pA gets cleared and the resulting evolution rules are unchanged by this patch. Users with nonzero pA are unlikely to unintentionally leak that capability. If they run programs that try to drop privileges, dropping privileges will still work. It's worth noting that the degree of paranoia in this patch could possibly be reduced without causing serious problems. Specifically, if we allowed pA to persist across executing non-pA-aware setuid binaries and across setresuid, then, naively, the only capabilities that could leak as a result would be the capabilities in pA, and any attacker *already* has those capabilities. This would make me nervous, though -- setuid binaries that tried to privilege-separate might fail to do so, and putting CAP_DAC_READ_SEARCH or CAP_DAC_OVERRIDE into pA could have unexpected side effects. (Whether these unexpected side effects would be exploitable is an open question.) I've therefore taken the more paranoid route. We can revisit this later. An alternative would be to require PR_SET_NO_NEW_PRIVS before setting ambient capabilities. I think that this would be annoying and would make granting otherwise unprivileged users minor ambient capabilities (CAP_NET_BIND_SERVICE or CAP_NET_RAW for example) much less useful than it is with this patch. ===== Footnotes ===== [1] Files that are missing the "security.capability" xattr or that have unrecognized values for that xattr end up with has_cap set to false. The code that does that appears to be complicated for no good reason. [2] The libcap capability mask parsers and formatters are dangerously misleading and the documentation is flat-out wrong. fE is *not* a mask; it's a single bit. This has probably confused every single person who has tried to use file capabilities. [3] Linux very confusingly processes both the script and the interpreter if applicable, for reasons that elude me. The results from thinking about a script's file capabilities and/or setuid bits are mostly discarded. Preliminary userspace code is here, but it needs updating: https://git.kernel.org/cgit/linux/kernel/git/luto/util-linux-playground.git/commit/?h=cap_ambient&id=7f5afbd175d2 Here is a test program that can be used to verify the functionality (from Christoph): /* * Test program for the ambient capabilities. This program spawns a shell * that allows running processes with a defined set of capabilities. * * (C) 2015 Christoph Lameter <cl@xxxxxxxxx> * Released under: GPL v3 or later. * * * Compile using: * * gcc -o ambient_test ambient_test.o -lcap-ng * * This program must have the following capabilities to run properly: * Permissions for CAP_NET_RAW, CAP_NET_ADMIN, CAP_SYS_NICE * * A command to equip the binary with the right caps is: * * setcap cap_net_raw,cap_net_admin,cap_sys_nice+p ambient_test * * * To get a shell with additional caps that can be inherited by other processes: * * ./ambient_test /bin/bash * * * Verifying that it works: * * From the bash spawed by ambient_test run * * cat /proc/$$/status * * and have a look at the capabilities. */ #include <stdlib.h> #include <stdio.h> #include <errno.h> #include <cap-ng.h> #include <sys/prctl.h> #include <linux/capability.h> /* * Definitions from the kernel header files. These are going to be removed * when the /usr/include files have these defined. */ #define PR_CAP_AMBIENT 47 #define PR_CAP_AMBIENT_IS_SET 1 #define PR_CAP_AMBIENT_RAISE 2 #define PR_CAP_AMBIENT_LOWER 3 #define PR_CAP_AMBIENT_CLEAR_ALL 4 static void set_ambient_cap(int cap) { int rc; capng_get_caps_process(); rc = capng_update(CAPNG_ADD, CAPNG_INHERITABLE, cap); if (rc) { printf("Cannot add inheritable cap\n"); exit(2); } capng_apply(CAPNG_SELECT_CAPS); /* Note the two 0s at the end. Kernel checks for these */ if (prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_RAISE, cap, 0, 0)) { perror("Cannot set cap"); exit(1); } } int main(int argc, char **argv) { int rc; set_ambient_cap(CAP_NET_RAW); set_ambient_cap(CAP_NET_ADMIN); set_ambient_cap(CAP_SYS_NICE); printf("Ambient_test forking shell\n"); if (execv(argv[1], argv + 1)) perror("Cannot exec"); return 0; } Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> # Original author Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Serge E. Hallyn <serge.hallyn@xxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Aaron Jones <aaronmdjones@xxxxxxxxx> Cc: Ted Ts'o <tytso@xxxxxxx> Cc: Andrew G. Morgan <morgan@xxxxxxxxxx> Cc: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: Austin S Hemmelgarn <ahferroin7@xxxxxxxxx> Cc: Markku Savela <msa@xxxxxxxxxxx> Cc: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: James Morris <james.l.morris@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e9f069868d60550c4b46f084ac9276a57c1b4711 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 15:42:42 2015 -0700 kernel/kthread.c:kthread_create_on_node(): clarify documentation - Make it clear that the `node' arg refers to memory allocations only: kthread_create_on_node() does not pin the new thread to that node's CPUs. - Encourage the use of NUMA_NO_NODE. [nzimmer@xxxxxxx: use NUMA_NO_NODE in kthread_create() also] Cc: Nathan Zimmer <nzimmer@xxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 04697858d89e4bf2650364f8d6956e2554e8ef88 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Fri Sep 4 15:42:39 2015 -0700 mm: check if section present during memory block registering Tony Luck found on his setup, if memory block size 512M will cause crash during booting. BUG: unable to handle kernel paging request at ffffea0074000020 IP: get_nid_for_pfn+0x17/0x40 PGD 128ffcb067 PUD 128ffc9067 PMD 0 Oops: 0000 [#1] SMP Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.2.0-rc8 #1 ... Call Trace: ? register_mem_sect_under_node+0x66/0xe0 register_one_node+0x17b/0x240 ? pci_iommu_alloc+0x6e/0x6e topology_init+0x3c/0x95 do_one_initcall+0xcd/0x1f0 The system has non continuous RAM address: BIOS-e820: [mem 0x0000001300000000-0x0000001cffffffff] usable BIOS-e820: [mem 0x0000001d70000000-0x0000001ec7ffefff] usable BIOS-e820: [mem 0x0000001f00000000-0x0000002bffffffff] usable BIOS-e820: [mem 0x0000002c18000000-0x0000002d6fffefff] usable BIOS-e820: [mem 0x0000002e00000000-0x00000039ffffffff] usable So there are start sections in memory block not present. For example: memory block : [0x2c18000000, 0x2c20000000) 512M first three sections are not present. The current register_mem_sect_under_node() assume first section is present, but memory block section number range [start_section_nr, end_section_nr] would include not present section. For arch that support vmemmap, we don't setup memmap for struct page area within not present sections area. So skip the pfn range that belong to absent section. [akpm@xxxxxxxxxxxxxxxxxxxx: simplification] [rientjes@xxxxxxxxxx: more simplification] Fixes: bdee237c0343 ("x86: mm: Use 2GB memory block size on large memory x86-64 systems") Fixes: 982792c782ef ("x86, mm: probe memory block size for generic x86 64bit") Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Reported-by: Tony Luck <tony.luck@xxxxxxxxx> Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Tested-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.15+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aa1057b3dec478b20c77bad07442318ae36d893c Author: Ryan Ding <ryan.ding@xxxxxxxxxx> Date: Fri Sep 4 15:42:36 2015 -0700 ocfs2: direct write will call ocfs2_rw_unlock() twice when doing aio+dio ocfs2_file_write_iter() is usng the wrong return value ('written'). This will cause ocfs2_rw_unlock() be called both in write_iter & end_io, triggering a BUG_ON. This issue was introduced by commit 7da839c47589 ("ocfs2: use __generic_file_write_iter()"). Orabug: 21612107 Fixes: 7da839c47589 ("ocfs2: use __generic_file_write_iter()") Signed-off-by: Ryan Ding <ryan.ding@xxxxxxxxxx> Reviewed-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f36e3e56db1ae75d1e157011b3cb2e0957f0a7e Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Fri Sep 4 15:42:32 2015 -0700 memory-hotplug: add hot-added memory ranges to memblock before allocate node_data for a node. Commit f9126ab9241f ("memory-hotplug: fix wrong edge when hot add a new node") hot-added memory range to memblock, after creating pgdat for new node. But there is a problem: add_memory() |--> hotadd_new_pgdat() |--> free_area_init_node() |--> get_pfn_range_for_nid() |--> find start_pfn and end_pfn in memblock |--> ...... |--> memblock_add_node(start, size, nid) -------- Here, just too late. get_pfn_range_for_nid() will find that start_pfn and end_pfn are both 0. As a result, when adding memory, dmesg will give the following wrong message. Initmem setup node 5 [mem 0x0000000000000000-0xffffffffffffffff] On node 5 totalpages: 0 Built 5 zonelists in Node order, mobility grouping on. Total pages: 32588823 Policy zone: Normal init_memory_mapping: [mem 0x60000000000-0x607ffffffff] The solution is simple, just add the memory range to memblock a little earlier, before hotadd_new_pgdat(). [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [4.2.x] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 254a0f4135482dc02701562a38e10675a48c8ddf Author: Rabin Vincent <rabin@xxxxxx> Date: Fri May 22 20:58:49 2015 +0200 CRISv10: delete unused lib/dmacopy.c This file is never built. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit c2ffc68afc0fce16923a54b2dad4d544463b9e0b Author: Rabin Vincent <rabin@xxxxxx> Date: Fri May 22 20:58:48 2015 +0200 CRISv10: delete unused lib/old_checksum.c This file is never built. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 7f0144e7779a8c62e3177301d4b2179432ce5460 Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Feb 20 19:35:16 2015 +0100 CRIS: fix switch_mm() lockdep splat With lockdep support implemented on CRISv32, we get the following splat. switch_mm() can be called both from the scheduler() (with interrupts disabled) and from flush_old_exec (via activate_mm()), with interrupts enabled. Fix it by disabling interrupts in activate_mm(), similar to powerpc and hexagon. t====================================================== [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ] 3.19.0-08802-g20bc9f1-dirty #323 Not tainted ------------------------------------------------------ init/1 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: (mmu_context_lock){+.+...}, at: [<c0009290>] switch_mm+0x22/0xc6 and this task is already holding: (&rq->lock){-.-.-.}, at: [<c01a0756>] __schedule+0x5e/0x648 which would create a new lock dependency: (&rq->lock){-.-.-.} -> (mmu_context_lock){+.+...} but this new dependency connects a HARDIRQ-irq-safe lock: (&rq->lock){-.-.-.} ... which became HARDIRQ-irq-safe at: [<c002b03c>] scheduler_tick+0x28/0x5e [<c0007c6c>] timer_interrupt+0x4e/0x6a [<c0043ac4>] handle_irq_event_percpu+0x54/0x13c [<c004343c>] generic_handle_irq+0x2a/0x36 to a HARDIRQ-irq-unsafe lock: (mmu_context_lock){+.+...} ... which became HARDIRQ-irq-unsafe at: ... [<c0039e60>] __lock_acquire+0x8f8/0x1d9c [<c0009290>] switch_mm+0x22/0xc6 [<c009c260>] flush_old_exec+0x500/0x5d4 [<c00da4c6>] load_elf_phdrs+0x7a/0x84 [<c00dbdb0>] load_elf_binary+0x21c/0x13b4 [<c009cdb6>] do_execve+0x22/0x2c [<c001dcf2>] ____call_usermodehelper+0x0/0x154 [<c000581e>] ret_from_kernel_thread+0xe/0x14 other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(mmu_context_lock); local_irq_disable(); lock(&rq->lock); lock(mmu_context_lock); <Interrupt> lock(&rq->lock); *** DEADLOCK *** 1 lock held by init/1: #0: (&rq->lock){-.-.-.}, at: [<c01a0756>] __schedule+0x5e/0x648 Call Trace: [<c019fe9e>] printk+0x0/0x4e [<c00368f8>] print_shortest_lock_dependencies+0x0/0x15c [<c0048628>] print_stack_trace+0x0/0x88 [<c0038912>] __lock_is_held+0x3e/0x5e [<c003b894>] lock_acquire+0x8a/0xcc [<c01a50c4>] _raw_spin_lock+0x44/0x7a [<c0009290>] switch_mm+0x22/0xc6 [<c01a06f8>] __schedule+0x0/0x648 [<c01a0d76>] schedule+0x36/0x7c [<c0037d04>] trace_hardirqs_on+0x0/0x1e [<c0004e18>] do_work_pending+0x30/0xd4 [<c000591a>] _work_pending+0xe/0x12 Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 94c5c115c1f7d347d5ec7f32a090f8643dd42525 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu May 14 18:19:37 2015 +0200 CRISv32: enable LOCKDEP_SUPPORT Now that we have stack tracing and irq flags tracing support, we can also enable lockdep support Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit aa6f4d2b6547a9949d87c9b09a872a7015366588 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu May 14 18:19:03 2015 +0200 CRIS: add STACKTRACE_SUPPORT Add stacktrace support, which is required for lockdep and tracing. The stack tracing simply looks at all kernel text symbols found on the stack, similar to the trap stack dumping code, which can also be converted to use this. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 3fffa23ee0a348aef1b597b67626d4724667143b Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Feb 20 18:57:37 2015 +0100 CRISv32: annotate irq enable in idle loop Use a call to local_irq_enable() instead of incline asm so that the irqsoff latency tracer knows that interrupts are enabled here. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 444e0c2881bcc70db6833d9c653c6ced36813d3b Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 21:36:55 2015 +0100 CRISv32: add support for irqflags tracing Add support irqflags tracing, which is required for things like lockdep and ftrace. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 20ae24739968ae7f94d0e73215d444042f91df78 Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:59:50 2015 +0100 CRIS: UAPI: use generic types.h CRIS' types.h is functionally identical to the asm-generic version. Effective diff: +#ifndef _ASM_GENERIC_TYPES_H +#define _ASM_GENERIC_TYPES_H + #include <asm-generic/int-ll64.h> + +#endif Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 258a9ff66c30c830f6e2f06856878be4d4cc81af Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:55:46 2015 +0100 CRIS: UAPI: use generic shmbuf.h CRIS' shmbuf.h is equivalent to the asm-generic verison. Effective diff: -#ifndef _CRIS_SHMBUF_H -#define _CRIS_SHMBUF_H +#ifndef __ASM_GENERIC_SHMBUF_H +#define __ASM_GENERIC_SHMBUF_H + +#include <asm/bitsperlong.h> struct ipc64_perm shm_perm; size_t shm_segsz; __kernel_time_t shm_atime; +#if __BITS_PER_LONG != 64 unsigned long __unused1; +#endif __kernel_time_t shm_dtime; +#if __BITS_PER_LONG != 64 unsigned long __unused2; +#endif __kernel_time_t shm_ctime; +#if __BITS_PER_LONG != 64 unsigned long __unused3; +#endif __kernel_pid_t shm_cpid; __kernel_pid_t shm_lpid; - unsigned long shm_nattch; - unsigned long __unused4; - unsigned long __unused5; + __kernel_ulong_t shm_nattch; + __kernel_ulong_t __unused4; + __kernel_ulong_t __unused5; }; struct shminfo64 { - unsigned long shmmax; - unsigned long shmmin; - unsigned long shmmni; - unsigned long shmseg; - unsigned long shmall; - unsigned long __unused1; - unsigned long __unused2; - unsigned long __unused3; - unsigned long __unused4; + __kernel_ulong_t shmmax; + __kernel_ulong_t shmmin; + __kernel_ulong_t shmmni; + __kernel_ulong_t shmseg; + __kernel_ulong_t shmall; + __kernel_ulong_t __unused1; + __kernel_ulong_t __unused2; + __kernel_ulong_t __unused3; + __kernel_ulong_t __unused4; }; #endif Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 74d94adb351161cc4027f94e878ac4e80adcfdc9 Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:53:37 2015 +0100 CRIS: UAPI: use generic msgbuf.h CRIS' msgbuf.h is equivalent to the asm-generic version. Effective diff: -#ifndef _CRIS_MSGBUF_H -#define _CRIS_MSGBUF_H - - +#ifndef __ASM_GENERIC_MSGBUF_H +#define __ASM_GENERIC_MSGBUF_H +#include <asm/bitsperlong.h> struct msqid64_ds { struct ipc64_perm msg_perm; __kernel_time_t msg_stime; +#if __BITS_PER_LONG != 64 unsigned long __unused1; +#endif __kernel_time_t msg_rtime; +#if __BITS_PER_LONG != 64 unsigned long __unused2; +#endif __kernel_time_t msg_ctime; +#if __BITS_PER_LONG != 64 unsigned long __unused3; - unsigned long msg_cbytes; - unsigned long msg_qnum; - unsigned long msg_qbytes; +#endif + __kernel_ulong_t msg_cbytes; + __kernel_ulong_t msg_qnum; + __kernel_ulong_t msg_qbytes; __kernel_pid_t msg_lspid; __kernel_pid_t msg_lrpid; - unsigned long __unused4; - unsigned long __unused5; + __kernel_ulong_t __unused4; + __kernel_ulong_t __unused5; }; #endif Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 45266922510fcd1e55df483f41be8debd5df9de8 Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:47:37 2015 +0100 CRIS: UAPI: use generic socket.h CRIS' socket.h is equivalent to the asm-generic version. Effective diff: -#ifndef _ASM_SOCKET_H -#define _ASM_SOCKET_H - - +#ifndef __ASM_GENERIC_SOCKET_H +#define __ASM_GENERIC_SOCKET_H #include <asm/sockios.h> #define SO_LINGER 13 #define SO_BSDCOMPAT 14 #define SO_REUSEPORT 15 +#ifndef SO_PASSCRED #define SO_PASSCRED 16 #define SO_PEERCRED 17 #define SO_RCVLOWAT 18 #define SO_SNDLOWAT 19 #define SO_RCVTIMEO 20 #define SO_SNDTIMEO 21 +#endif #define SO_SECURITY_AUTHENTICATION 22 Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 53789d25a0603e5c836e460c758867d2071eb135 Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:43:31 2015 +0100 CRIS: UAPI: use generic sembuf.h CRIS's sembuf.h is equivalent to the asm-generic version. Effective diff: -#ifndef _CRIS_SEMBUF_H -#define _CRIS_SEMBUF_H +#ifndef __ASM_GENERIC_SEMBUF_H +#define __ASM_GENERIC_SEMBUF_H +#include <asm/bitsperlong.h> struct semid64_ds { struct ipc64_perm sem_perm; __kernel_time_t sem_otime; +#if __BITS_PER_LONG != 64 unsigned long __unused1; +#endif __kernel_time_t sem_ctime; +#if __BITS_PER_LONG != 64 unsigned long __unused2; +#endif unsigned long sem_nsems; unsigned long __unused3; unsigned long __unused4; Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit c823b970b632a86e4f01f3eae9c0860350b70c3c Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:21:25 2015 +0100 CRIS: UAPI: use generic sockios.h CRIS' sockios.h is equivalent to the asm-generic version. Effective diff: -#ifndef __ARCH_CRIS_SOCKIOS__ -#define __ARCH_CRIS_SOCKIOS__ +#ifndef __ASM_GENERIC_SOCKIOS_H +#define __ASM_GENERIC_SOCKIOS_H Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 889d74a4d40f60427d0482bc271bfc5660a1157b Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 22:59:42 2015 +0100 CRIS: UAPI: use generic auxvec.h CRIS's auxvec.h is empty just like the asm-generic version. Effective diff: -#ifndef __ASMCRIS_AUXVEC_H -#define __ASMCRIS_AUXVEC_H +#ifndef __ASM_GENERIC_AUXVEC_H +#define __ASM_GENERIC_AUXVEC_H + Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 0c02fa2f4ef47334387aeb3aef21ccdab6513459 Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:31:10 2015 +0100 CRIS: UAPI: use generic headers via Kbuild Use Kbuild magic to include the generic headers. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit f377ea88b862bf7151be96d276f4cb740f8e1c41 Merge: 51e771c 73bf1b7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 15:49:32 2015 -0700 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull drm updates from Dave Airlie: "This is the main pull request for the drm for 4.3. Nouveau is probably the biggest amount of changes in here, since it missed 4.2. Highlights below, along with the usual bunch of fixes. All stuff outside drm should have applicable acks. Highlights: - new drivers: freescale dcu kms driver - core: more atomic fixes disable some dri1 interfaces on kms drivers drop fb panic handling, this was just getting more broken, as more locking was required. new core fbdev Kconfig support - instead of each driver enable/disabling it struct_mutex cleanups - panel: more new panels cleanup Kconfig - i915: Skylake support enabled by default legacy modesetting using atomic infrastructure Skylake fixes GEN9 workarounds - amdgpu: Fiji support CGS support for amdgpu Initial GPU scheduler - off by default Lots of bug fixes and optimisations. - radeon: DP fixes misc fixes - amdkfd: Add Carrizo support for amdkfd using amdgpu. - nouveau: long pending cleanup to complete driver, fully bisectable which makes it larger, perfmon work more reclocking improvements maxwell displayport fixes - vmwgfx: new DX device support, supports OpenGL 3.3 screen targets support - mgag200: G200eW support G200e new revision support - msm: dragonboard 410c support, msm8x94 support, msm8x74v1 support yuv format support dma plane support mdp5 rotation initial hdcp - sti: atomic support - exynos: lots of cleanups atomic modesetting/pageflipping support render node support - tegra: tegra210 support (dc, dsi, dp/hdmi) dpms with atomic modesetting support - atmel: support for 3 more atmel SoCs new input formats, PRIME support. - dwhdmi: preparing to add audio support - rockchip: yuv plane support" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (1369 commits) drm/amdgpu: rename gmc_v8_0_init_compute_vmid drm/amdgpu: fix vce3 instance handling drm/amdgpu: remove ib test for the second VCE Ring drm/amdgpu: properly enable VM fault interrupts drm/amdgpu: fix warning in scheduler drm/amdgpu: fix buffer placement under memory pressure drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic drm/amdgpu: fix typo in dce11 watermark setup drm/amdgpu: fix typo in dce10 watermark setup drm/amdgpu: use top down allocation for non-CPU accessible vram drm/amdgpu: be explicit about cpu vram access for driver BOs (v2) drm/amdgpu: set MEC doorbell range for Fiji drm/amdgpu: implement burst NOP for SDMA drm/amdgpu: add insert_nop ring func and default implementation drm/amdgpu: add amdgpu_get_sdma_instance helper function drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES drm/amdgpu: add burst_nop flag for sdma drm/amdgpu: add count field for the SDMA NOP packet v2 drm/amdgpu: use PT for VM sync on unmap drm/amdgpu: make wait_event uninterruptible in push_job ... commit 2493d3e28a22087116158249d79410fd355d1e83 Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Mar 27 22:35:11 2015 +0100 CRIS: UAPI: fix elf.h export CRIS userspace (uClibc for one) expects asm/elf.h to be exported but this header appears to have gone missing at some point. Move it to uapi/ and export it. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 3a79a075375cebb672ddaea7896378afa0203e87 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu May 14 17:00:58 2015 +0200 CRIS: don't make asm/elf.h depend on asm/user.h We're going to export asm/elf.h; remove its dependencies on the non-exported asm/user.h and the unused asm/system.h include. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 835e4177284e1574033dea47d4bb8e55c21b6345 Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Mar 27 22:32:27 2015 +0100 CRIS: UAPI: fix ptrace.h The exported ptrace.h header on CRIS references an "arch" directory which does not exist. Fix this by having the variants in the same directory and including them conditionally, similar to other architectures. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 4b86715748da506b176b5ec50c041b335c9d1769 Author: Jesper Nilsson <jespern@xxxxxxxx> Date: Wed Jun 3 13:04:23 2015 +0200 CRISv32: Squash compile warnings for axisflashmap Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 939b83fb03f275016cd72a0f81f49bf8e63c2a14 Author: Jesper Nilsson <jespern@xxxxxxxx> Date: Wed Jun 3 12:42:01 2015 +0200 CRISv32: Add GPIO driver to the default configs Fix a number of small issues visible when GPIO is enabled: - Correct missing default for !ETRAXFS in Kconfig - Remove information on number of bits for some Kconfigs related to the GPIO, they are different in ETRAX FS and ARTPEC-3 - Fix compile warning in ARTPEC-3 GPIO driver Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 94230178678cb7e0f82ff2c161ac84742f79a2e7 Author: Jesper Nilsson <jespern@xxxxxxxx> Date: Wed Jun 3 12:25:51 2015 +0200 CRISv32: ETRAX FS: Squash warnings in pinmux driver Squash the followng warnings arch/cris/arch-v32/mach-fs/pinmux.c: In function 'crisv32_pinmux_alloc_fixed': arch/cris/arch-v32/mach-fs/pinmux.c:104:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] arch/cris/arch-v32/mach-fs/pinmux.c: In function 'crisv32_pinmux_dealloc_fixed': arch/cris/arch-v32/mach-fs/pinmux.c:238:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] arch/cris/arch-v32/mach-fs/pinmux.c: In function '__crisv32_pinmux_alloc': arch/cris/arch-v32/mach-fs/pinmux.c:49:1: warning: control reaches end of non-void function [-Wreturn-type] Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit ee59843cd2b4331db49671c7f045ee2ff9d535b6 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed May 6 21:48:12 2015 +0800 CRIS: Wire up missing syscalls The related warnings: CALL scripts/checksyscalls.sh <stdin>:1229:2: warning: #warning syscall sched_setattr not implemented [-Wcpp] <stdin>:1232:2: warning: #warning syscall sched_getattr not implemented [-Wcpp] <stdin>:1235:2: warning: #warning syscall renameat2 not implemented [-Wcpp] <stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp] <stdin>:1241:2: warning: #warning syscall getrandom not implemented [-Wcpp] <stdin>:1244:2: warning: #warning syscall memfd_create not implemented [-Wcpp] <stdin>:1247:2: warning: #warning syscall bpf not implemented [-Wcpp] <stdin>:1250:2: warning: #warning syscall execveat not implemented [-Wcpp] Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit f59625a8f770741d590da09be4f0fcfc75b31e46 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu May 14 14:36:56 2015 +0200 CRISv32: allow CONFIG_DEBUG_BUGVERBOSE Support for verbose BUG reporting already exists, but the HAVE flag that allows the option to be enabled is missing. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 98a725a57a8e92bfbe962a8c69975ce0f9ff11fe Author: Rabin Vincent <rabin@xxxxxx> Date: Thu May 14 14:36:55 2015 +0200 CRISv32: add unreachable() to BUG() Add an unreachable() in the BUG() implementations, to get rid of several warnings similar to the one below: kernel/sched/core.c: In function 'pick_next_task': kernel/sched/core.c:2690:1: warning: control reaches end of non-void function [-Wreturn-type] Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 6a4756f6951f97a9a601ba24632c5906750ef00d Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Fri May 1 15:58:19 2015 +0200 cris: arch-v32: gpio: Use kzalloc instead of kmalloc/memset Turn a kmalloc/memset into an equivalent kzalloc. Doing so also move the zero'ing of the memory outside of a mutex. Signed-off-by: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 73bf1b7be7aab60d7c651402441dd0b0b4991098 Merge: 5b78cb6 35c7a95 Author: Dave Airlie <airlied@xxxxxxxxx> Date: Sat Sep 5 07:46:09 2015 +1000 Merge branch 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-next A few more fixes for amdgpu from the last few days: - Fix several copy paste typos - Resume from suspend fixes for VCE - Fix the GPU scheduler warning in kfifo_out - Re-enable GPUVM fault interrupts which were inadvertently disabled - GPUVM page table hang fix when paging * 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux: drm/amdgpu: rename gmc_v8_0_init_compute_vmid drm/amdgpu: fix vce3 instance handling drm/amdgpu: remove ib test for the second VCE Ring drm/amdgpu: properly enable VM fault interrupts drm/amdgpu: fix warning in scheduler drm/amdgpu: fix buffer placement under memory pressure drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic drm/amdgpu: fix typo in dce11 watermark setup drm/amdgpu: fix typo in dce10 watermark setup drm/amdgpu: use top down allocation for non-CPU accessible vram drm/amdgpu: be explicit about cpu vram access for driver BOs (v2) commit 4eae50143bcbfda819c650b7ed6739f3b6338ffc Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:17:53 2015 -0400 Revert "NFS: Make close(2) asynchronous when closing NFS O_DIRECT files" This reverts commit f895c53f8ace3c3e49ebf9def90e63fc6d46d2bf. This commit causes a NFSv4 regression in that close()+unlink() can end up failing. The reason is that we no longer have a guarantee that the CLOSE has completed on the server, meaning that the subsequent call to REMOVE may fail with NFS4ERR_FILE_OPEN if the server implements Windows unlink() semantics. Reported-by: <Olga Kornievskaia <aglo@xxxxxxxxx> Cc: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5cf9d70659594e1a75b34d18619d0bb6e0cbbafa Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:07:37 2015 -0400 NFS: Optimise away the close-to-open getattr if there is no cached data If there is no cached data, then there is no need to track the file change attribute on close. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 35c7a9526af75040fac744babd0fafe18b8fe0a1 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 18:01:00 2015 -0400 drm/amdgpu: rename gmc_v8_0_init_compute_vmid It should be gfx_v8_0_init_compute_vmid since it's part of the gfx block. Acked-by: Leo Liu <leo.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit be4f38e28ca2bbd6d06db8064277d71389746e26 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 19:03:11 2015 -0400 drm/amdgpu: fix vce3 instance handling Need to properly handle the instances for the idle checks and soft reset. Acked-by: Leo Liu <leo.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 898e50d444e12f735e45d07cd3f306ac5d4abca8 Author: Leo Liu <leo.liu@xxxxxxx> Date: Fri Sep 4 15:08:55 2015 -0400 drm/amdgpu: remove ib test for the second VCE Ring it seems the VCE ring 1 ib test not reliable, remove it for now. Signed-off-by: Leo Liu <leo.liu@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Tested-and-Reviewed-by: Sonny Jiang <sonny.jiang@xxxxxxx> commit 140b519f7a117c86c085b3800a2fea3015cd877f Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Sep 4 18:48:29 2015 +0200 drm/amdgpu: properly enable VM fault interrupts This fixes not printing VM faults. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 51e771c0d25b43d0f12b2c7c01939942becbbe28 Merge: abebcdf 01b944f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 12:02:11 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input subsystem updates from Dmitry Torokhov: "Drivers, drivers, drivers... No interesting input core changes this time" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (74 commits) Input: elan_i2c - use iap_version to get firmware information Input: max8997_haptic - fix module alias Input: elan_i2c - fix typos for validpage_count Input: psmouse - add small delay for IBM trackpoint pass-through mode Input: synaptics - fix handling of disabling gesture mode Input: elan_i2c - enable ELAN0100 acpi panels Input: gpio-keys - report error when disabling unsupported key Input: sur40 - fix error return code Input: sentelic - silence some underflow warnings Input: zhenhua - switch to using bitrev8() Input: cros_ec_keyb - replace KEYBOARD_CROS_EC dependency Input: cap11xx - add LED support Input: elants_i2c - fix for devm_gpiod_get API change Input: elan_i2c - enable asynchronous probing Input: elants_i2c - enable asynchronous probing Input: elants_i2c - wire up regulator support Input: do not emit unneeded EV_SYN when suspending Input: elants_i2c - disable idle mode before updating firmware MAINTAINERS: Add maintainer for atmel_mxt_ts Input: atmel_mxt_ts - remove warning on zero T44 count ... commit abebcdfb64f1b39eeeb14282d9cd4aad1ed86f8d Merge: 670c039 d5f362a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 11:46:02 2015 -0700 Merge tag 'sound-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "There are little changes in core part, but lots of development are found in drivers, especially ASoC. The diffstat shows regmap-related changes for a slight API additions / changes, and that's all. Looking at the code size statistics, the most significant addition is for Intel Skylake. (Note that SKL support is still underway, the codec driver is missing.) Also STI controller driver is a major addition as well as a few new codec drivers. In HD-audio side, there are fewer changes than the past. The noticeable change is the support of ELD notification from i915 graphics driver. Thus this pull request carries a few changes in drm/i915. Other than that, USB-audio got a rewrite of runtime PM code. It was initiated by lockdep warning, but resulted in a good cleanup in the end. Below are the highlights: Common: - Factoring out of AC'97 reset code from ASoC into the core helper - A few regmap API extensions (in case it's not pulled yet) ASoC: - New drivers for Cirrus CS4349, GTM601, InvenSense ICS43432, Realtek RT298 and ST STI controllers - Machine drivers for Rockchip systems with MAX98090 and RT5645 and RT5650 - Initial driver support for Intel Skylake devices - Lots of rsnd cleanup and enhancements - A few DAPM fixes and cleanups - A large number of cleanups in various drivers (conversion and standardized to regmap, component) mostly by Lars-Peter and Axel HD-audio: - Extended HD-audio core for Intel Skylake controller support - Quirks for Dell headsets, Alienware 15 - Clean up of pin-based quirk tables for Realtek codecs - ELD notifier implenetation for Intel HDMI/DP USB-audio: - Refactor runtime PM code to make lockdep happier" * tag 'sound-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (411 commits) drm/i915: Add locks around audio component bind/unbind drm/i915: Drop port_mst_index parameter from pin/eld callback ALSA: hda - Fix missing inline for dummy snd_hdac_set_codec_wakeup() ALSA: hda - Wake the codec up on pin/ELD notify events ALSA: hda - allow codecs to access the i915 pin/ELD callback drm/i915: Call audio pin/ELD notify function drm/i915: Add audio pin sense / ELD callback ASoC: zx296702-i2s: Fix resource leak when unload module ASoC: sti_uniperif: Ensure component is unregistered when unload module ASoC: au1x: psc-i2s: Convert to use devm_ioremap_resource ASoC: sh: dma-sh7760: Convert to devm_snd_soc_register_platform ASoC: spear_pcm: Use devm_snd_dmaengine_pcm_register to fix resource leak ALSA: fireworks/bebob/dice/oxfw: fix substreams counting at vmalloc failure ASoC: Clean up docbook warnings ASoC: txx9: Convert to devm_snd_soc_register_platform ASoC: pxa: Convert to devm_snd_soc_register_platform ASoC: nuc900: Convert to devm_snd_soc_register_platform ASoC: blackfin: Convert to devm_snd_soc_register_platform ASoC: au1x: Convert to devm_snd_soc_register_platform ASoC: qcom: Constify asoc_qcom_lpass_cpu_dai_ops ... commit 670c039deeffb5c0a3a900de53b95dba781aaf89 Merge: 8bd8fd0 13d20b3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 11:40:40 2015 -0700 Merge tag 'backlight-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight Pull backlight updates from Lee Jones: - Stop using LP855X Platform Data to control regulators - Move PWM8941 WLED driver into Backlight - Remove invalid use of IS_ERR_VALUE() macro - Remove duplicate check for NULL data before unregistering - Export I2C Device ID structure * tag 'backlight-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: backlight: tosa: Export I2C module alias information backlight: lp8788_bl: Delete a check before backlight_device_unregister() backlight: sky81452: Remove unneeded use of IS_ERR_VALUE() macro backlight: pm8941-wled: Move PM8941 WLED driver to backlight backlight: lp855x: Use private data for regulator control commit 8bd8fd0a29bfd5ad8e1976edd8c4c40cdb39aa4f Merge: 3527122 5a688c4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 11:35:03 2015 -0700 Merge tag 'mfd-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD updates from Lee Jones: "New Device Support: - New Clocksource driver from ST - New MFD/ACPI/DMA drivers for Intel's Sunrisepoint PCH based platforms - Add support for Arizona WM8998 and WM1814 - Add support for Dialog Semi DA9062 and DA9063 - Add support for Kontron COMe-bBL6 and COMe-cBW6 - Add support for X-Powers AXP152 - Add support for Atmel, many - Add support for STMPE, many - Add support for USB in X-Powers AXP22X Core Frameworks: - New Base API to traverse devices and their children in reverse order Bug Fixes: - Fix race between runtime-suspend and IRQs - Obtain platform data form more reliable source Fix-ups: - Constifying things - Variable signage changes - Kconfig depends|selects changes - Make use of BIT() macro - Do not supply .owner attribute in *_driver structures - MAINTAINERS entries - Stop using set_irq_flags() - Start using irq_set_chained_handler_and_data() - Export DT device ID structures" * tag 'mfd-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (69 commits) mfd: jz4740-adc: Init mask cache in generic IRQ chip mfd: cros_ec: spi: Add OF match table mfd: stmpe: Add OF match table mfd: max77686: Split out regulator part from the DT binding mfd: Add DT binding for Maxim MAX77802 IC mfd: max77686: Use a generic name for the PMIC node in the example mfd: max77686: Don't suggest in binding to use a deprecated property mfd: Add MFD_CROS_EC dependencies mfd: cros_ec: Remove CROS_EC_PROTO dependency for SPI and I2C drivers mfd: axp20x: Add a cell for the usb power_supply part of the axp20x PMICs mfd: axp20x: Add missing registers, and mark more registers volatile mfd: arizona: Fixup some formatting/white space errors mfd: wm8994: Fix NULL pointer exception on missing pdata of: Add vendor prefix for Nuvoton mfd: mt6397: Implement wake handler and suspend/resume to handle wake up event mfd: atmel-hlcdc: Add support for new SoCs mfd: Export OF module alias information in missing drivers mfd: stw481x: Export I2C module alias information mfd: da9062: Support for the DA9063 OnKey in the DA9062 core mfd: max899x: Avoid redundant irq_data lookup ... commit 352712274507645b6f82b8763977ad87321919a3 Merge: 88a9988 ab98193 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 11:10:18 2015 -0700 Merge tag 'dmaengine-4.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma Pull dmaengine updates from Vinod Koul: "This time we have aded a new capability for scatter-gathered memset using dmaengine APIs. This is supported in xdmac & hdmac drivers We have added support for reusing descriptors for examples like video buffers etc. Driver will follow The behaviour of descriptor ack has been clarified and documented New devices added are: - dma controller in sun[457]i SoCs - lpc18xx dmamux - ZTE ZX296702 dma controller - Analog Devices AXI-DMAC DMA controller - eDMA support for dma-crossbar - imx6sx support in imx-sdma driver - imx-sdma device to device support Other: - jz4780 fixes - ioatdma large refactor and cleanup for removal of ioat v1 and v2 which is deprecated and fixes - ACPI support in X-Gene DMA engine driver - ipu irq fixes - mvxor fixes - minor fixes spread thru drivers" [ The Kconfig and Makefile entries got re-sorted alphabetically, and I handled the conflict with the new Intel integrated IDMA driver by slightly mis-sorting it on purpose: "IDMA64" got sorted after "IMX" in order to keep the Intel entries together. I think it might be a good idea to just rename the IDMA64 config entry to INTEL_IDMA64 to make the sorting be a true sort, not this mismash. Also, this merge disables the COMPILE_TEST for the sun4i DMA controller, because it does not compile cleanly at all. - Linus ] * tag 'dmaengine-4.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (89 commits) dmaengine: ioatdma: add Broadwell EP ioatdma PCI dev IDs dmaengine :ipu: change ipu_irq_handler() to remove compile warning dmaengine: ioatdma: Fix variable array length dmaengine: ioatdma: fix sparse "error" with prep lock dmaengine: hdmac: Add memset capabilities dmaengine: sort the sh Makefile dmaengine: sort the sh Kconfig dmaengine: sort the dw Kconfig dmaengine: sort the Kconfig dmaengine: sort the makefile drivers/dma: make mv_xor.c driver explicitly non-modular dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller devicetree: Add bindings documentation for Analog Devices AXI-DMAC dmaengine: xgene-dma: Fix the lock to allow client for further submission of requests dmaengine: ioatdma: fix coccinelle warning dmaengine: ioatdma: fix zero day warning on incompatible pointer type dmaengine: tegra-apb: Simplify locking for device using global pause dmaengine: tegra-apb: Remove unnecessary return statements and variables dmaengine: tegra-apb: Avoid unnecessary channel base address calculation dmaengine: tegra-apb: Remove unused variables ... commit 88a99886c26fec8bf662e7b6bc080431a8660326 Merge: 8d2faea 1ab3638 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 10:22:09 2015 -0700 Merge tag 'pinctrl-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control updates from Linus Walleij: "This is the bulk of pin control changes for the v4.3 development cycle. Like with GPIO it's a lot of stuff. If my subsystems are any sign of the overall tempo of the kernel v4.3 will be a gigantic diff. [ It looks like 4.3 is calmer than 4.2 in most other subsystems, but we'll see - Linus ] Core changes: - It is possible configure groups in debugfs. - Consolidation of chained IRQ handler install/remove replacing all call sites where irq_set_handler_data() and irq_set_chained_handler() were done in succession with a combined call to irq_set_chained_handler_and_data(). This series was created by Thomas Gleixner after the problem was observed by Russell King. - Tglx also made another series of patches switching __irq_set_handler_locked() for irq_set_handler_locked() which is way cleaner. - Tglx also wrote a good bunch of patches to make use of irq_desc_get_xxx() accessors and avoid looking up irq_descs from IRQ numbers. The goal is to get rid of the irq number from the handlers in the IRQ flow which is nice. Driver feature enhancements: - Power management support for the SiRF SoC Atlas 7. - Power down support for the Qualcomm driver. - Intel Cherryview and Baytrail: switch drivers to use raw spinlocks in IRQ handlers to play nice with the realtime patch set. - Rework and new modes handling for Qualcomm SPMI-MPP. - Pinconf power source config for SH PFC. New drivers and subdrivers: - A new driver for Conexant Digicolor CX92755. - A new driver for UniPhier PH1-LD4, PH1-Pro4, PH1-sLD8, PH1-Pro5, ProXtream2 and PH1-LD6b SoC pin control support. - Reverse-egineered the S/PDIF settings for the Allwinner sun4i driver. - Support for Qualcomm Technologies QDF2xxx ARM64 SoCs - A new Freescale i.mx6ul subdriver. Cleanup: - Remove platform data support in a number of SH PFC subdrivers" * tag 'pinctrl-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (95 commits) pinctrl: at91: fix null pointer dereference pinctrl: mediatek: Implement wake handler and suspend resume pinctrl: mediatek: Fix multiple registration issue. pinctrl: sh-pfc: r8a7794: add USB pin groups pinctrl: at91: Use generic irq_{request,release}_resources() pinctrl: cherryview: Use raw_spinlock for locking pinctrl: baytrail: Use raw_spinlock for locking pinctrl: imx6ul: Remove .owner field pinctrl: zynq: Fix typos in smc0_nand_grp and smc0_nor_grp pinctrl: sh-pfc: Implement pinconf power-source param for voltage switching clk: rockchip: add pclk_pd_pmu to the list of rk3288 critical clocks pinctrl: sun4i: add spdif to pin description. pinctrl: atlas7: clear ugly branch statements for pull and drivestrength pinctrl: baytrail: Serialize all register access pinctrl: baytrail: Drop FSF mailing address pinctrl: rockchip: only enable gpio clock when it setting pinctrl/mediatek: fix spelling mistake in dev_err error message pinctrl: cherryview: Serialize all register access pinctrl: UniPhier: PH1-Pro5: add I2C ch6 pin-mux setting pinctrl: nomadik: reflect current input value ... commit 8d2faea672606827c2018143ec7d88c760f2d6de Merge: 02cf1da 01e2dae Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 10:07:45 2015 -0700 Merge tag 'gpio-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO updates from Linus Walleij: "This is the bulk of GPIO changes for the v4.3 kernel cycle. There is quite a lot going on in the GPIO subsystem this merge window, so the main matter is decribed below. The hits in other subsystems when making the GPIO flags optional are all ACKed by their respective subsystem maintainers. Core changes: - Root out the wrapper devm_gpiod_get() and gpiod_get() etc versions of the descriptor calls that did not use the flags argument on the end. This was around for too long and eventually Uwe Kleine-König took the time to clean it out and the last users are removed along with the macros in this tag. In several cases the use of flags simplifies the code. For this reason we have (ACKed) patches hitting in DRM, IIO, media, NFC, USB+PHY up until we hammer in the nail with removing the macros. - Add a fat document describing how much ready-made GPIO stuff we have i the kernel to discourage people from reinventing a square wheel in userspace, as so often happens. - Create a separate lockdep class for each instance of a GPIO IRQ chip instead of using one class for all chips, as the current code will not work with systems with several GPIO chips doing lockdep debugging. - Protect against driver unloading also when a GPIO line is only used as IRQ for the GPIOLIB_IRQCHIP helpers. - If the GPIO chip has no designated owner, assign the parent device driver owner as owner. - Consolidation of chained IRQ handler install/remove replacing all call sites where irq_set_handler_data() and irq_set_chained_handler() were done in succession with a combined call to irq_set_chained_handler_and_data(). This series was created by Thomas Gleixner after the problem was observed by Russell King. - Tglx also made another series of patches switching __irq_set_handler_locked() for irq_set_handler_locked() which is way cleaner. - Tglx and Jiang Liu wrote a good bunch of patches to make use of irq_desc_get_xxx() accessors and avoid looking up irq_descs from IRQ numbers. The goal is to get rid of the irq number from the handlers in the IRQ flow which is nice. - Rob Herring killed off the set_irq_flags() for all GPIO drivers. This was an ARM specific function that is replaced with the generic irq_modify_status() where special flags are actually needed. - When an OF node has a pin range for its GPIOs, return -EPROBE_DEFER if the pin controller isn't available. Pretty logical, yet needed to be fixed. - If a driver using GPIOLIB_IRQCHIP has its own irq_*_resources call back, then call these instead of the defaults provided by the GPIOLIB. - Fix an undocumented ABI hole: named GPIOs were not properly documented. Driver improvements: - Add get_direction() support to the generic GPIO driver, it's strange that we didn't have that before. - Make it possible to have input-only GPIO chips using the generic GPIO driver. - Clean out platform data support from the Emma Mobile (EM) driver - Finegrained runtime PM support for the RCAR driver. - Support r8a7795 (R-car H3) in the RCAR driver. - Support interrupts on GPIOs 16 thru 31 in the DaVinci driver. - Some consolidation and new support in the MPC8xxx driver, we now support MPC5125. - Preempt-RT-friendly patches: the OMAP, MPC8xxx, drivers uses raw spinlocks making it work better with the realime patches. - Interrupt support for the EXTRAXFS GPIO driver. - Make the ETRAXFS GPIO driver support also ARTPEC-3. - Interrupt and wakeup support for the BRCMSTB driver, also for wakeup from S5 cold boot. - Mask MXC IRQs during suspend. - Improve OMAP2 GPIO set_debounce() to work according to spec. - The VF610 driver handles IRQs properly. New drivers: - ZTE ZX GPIO driver" * tag 'gpio-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (87 commits) Revert "gpio: extraxfs: fix returnvar.cocci warnings" gpio: tc3589x: use static container helper gpio: xlp: fix error return code gpio: vf610: handle level IRQ's properly gpio: max732x: Fix error handling in probe() gpio: omap: fix clk_prepare/unprepare usage gpio: omap: protect regs access in omap_gpio_irq_handler gpio: omap: fix omap2_set_gpio_debounce gpio: omap: switch to use platform_get_irq gpio: omap: remove wrong irq_domain_remove usage in probe gpiolib: add description for gpio irqchip fields in struct gpio_chip gpio: extraxfs: fix returnvar.cocci warnings gpiolib: irqchip: use different lockdep class for each gpio irqchip gpio/grgpio: fix deadlock in grgpio_irq_unmap() Documentation: gpio: consumer: describe active low property gpio: mxc: fix section mismatch warning gpio/mxc: mask gpio interrupts in suspend gpio: omap: Fix missing raw locks conversion gpio: brcmstb: support wakeup from S5 cold boot gpio: brcmstb: Add interrupt and wakeup source support ... commit 072502a67c9164625288cca17704808e6c06273f Merge: 84fb901 1ed8111 2de9d60 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:22:10 2015 +0100 Merge remote-tracking branches 'regmap/topic/lockdep' and 'regmap/topic/seq-delay' into regmap-next commit 84fb9015d20dc12a2d36f7d775700a53cc45ad90 Merge: a458a6d ad3a942 e874e6c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:22:09 2015 +0100 Merge remote-tracking branches 'regmap/topic/debugfs' and 'regmap/topic/force-update' into regmap-next commit a458a6d411b86de7a2a8e51f9016cf017d5ed545 Merge: f7474161 04782ca Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:22:08 2015 +0100 Merge remote-tracking branch 'regmap/topic/core' into regmap-next commit f74741615368af1b8401be4b7a6f0b9ccbc2420a Merge: b3959b5 9a16ea9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:22:07 2015 +0100 Merge remote-tracking branch 'regmap/fix/raw' into regmap-linus commit b3959b5cd33383d9fa9b6c653e162331c2af2e08 Merge: 64291f7 2f9b660 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:22:07 2015 +0100 Merge remote-tracking branch 'regmap/fix/core' into regmap-linus commit 04782ca20a8ebb5acf0c35756a38964ae5ea7321 Merge: d5b98eb 17649c9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:16:39 2015 +0100 Merge branch 'topic/smbus-block' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into regmap-core commit 0de6cfb9f314db230c47b2158e7725208b3b4728 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:13:56 2015 -0700 Revert "uart: pl011: Rename regs with enumeration" This reverts commit 534e14e2293d8cd714b94513686228453b21fae2 as with this patch the serial console is broken on lots of platforms. Reported-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f11c98417c65ddd730c483c1c9290ae0f7b121a7 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:13:39 2015 -0700 Revert "uart: pl011: Introduce register accessor" This reverts commit 7b753f318d1456c8e7740f3bd96d1dbb362d5449 as with this patch the serial console is broken on lots of platforms. Reported-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab66ca27c801605c6bb19baed2933544dd7d39e6 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:13:30 2015 -0700 Revert "uart: pl011: Introduce register look up table" This reverts commit 2c096a9eedc6841d3610545f4e6c3d72bd0962be as with this patch the serial console is broken on lots of platforms. Reported-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e50254a6ab2abb6ae08699adffe3d89e4c75912 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:12:03 2015 -0700 Revert "uart: pl011: Improve LCRH register access decision" This reverts commit 09dcc7dfc05b31bf0bbcd1511cd1a2644908d5c8 as with this patch the serial console is broken on lots of platforms. Reported-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 062a68a5e0aaa9577d75391ffafa11e3c2a5f892 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:11:24 2015 -0700 Revert "uart: pl011: Add support to ZTE ZX296702 uart" This reverts commit 8cd90e50d1408c65c355084b1c7f8f9085f49c6b as with this patch the serial console is broken on lots of platforms. Reported-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02cf1da2548d318ad4db9eb4cf8656e24b11aefc Merge: a4fdb2a 8d03bc5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 08:59:53 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile Pull tile updates from Chris Metcalf: "This includes secure computing support as well as miscellaneous minor improvements" * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: tile: correct some typos in opcode type names tile/vdso: emit a GNU hash as well tile: Remove finish_arch_switch tile: enable full SECCOMP support tile/time: Migrate to new 'set-state' interface commit 71c6da846be478a61556717ef1ee1cea91f5d6a8 Author: Andrey Ryabinin <aryabinin@xxxxxxxx> Date: Thu Sep 3 14:32:01 2015 +0300 crypto: ghash-clmulni: specify context size for ghash async algorithm Currently context size (cra_ctxsize) doesn't specified for ghash_async_alg. Which means it's zero. Thus crypto_create_tfm() doesn't allocate needed space for ghash_async_ctx, so any read/write to ctx (e.g. in ghash_async_init_tfm()) is not valid. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5134e999cb72c621f48305d5c201ab30156505c1 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Sep 4 00:11:54 2015 -0400 drm/amdgpu: fix warning in scheduler This should never happen so warn when the count does not equal the expected size. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a4fdb2a46f617b8b2cd47acec026ec16532edbc6 Merge: 807249d 674c242c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 07:18:09 2015 -0700 Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 updates from Will Deacon: - Support for new architectural features introduced in ARMv8.1: * Privileged Access Never (PAN) to catch user pointer dereferences in the kernel * Large System Extension (LSE) for building scalable atomics and locks (depends on locking/arch-atomic from tip, which is included here) * Hardware Dirty Bit Management (DBM) for updating clean PTEs automatically - Move our PSCI implementation out into drivers/firmware/, where it can be shared with arch/arm/. RMK has also pulled this component branch and has additional patches moving arch/arm/ over. MAINTAINERS is updated accordingly. - Better BUG implementation based on the BRK instruction for trapping - Leaf TLB invalidation for unmapping user pages - Support for PROBE_ONLY PCI configurations - Various cleanups and non-critical fixes, including: * Always flush FP/SIMD state over exec() * Restrict memblock additions based on range of linear mapping * Ensure *(LIST_POISON) generates a fatal fault * Context-tracking syscall return no longer corrupts return value when not forced on. * Alternatives patching synchronisation/stability improvements * Signed sub-word cmpxchg compare fix (tickled by HAVE_CMPXCHG_LOCAL) * Force SMP=y * Hide direct DCC access from userspace * Fix EFI stub memory allocation when DRAM starts at 0x0 * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (92 commits) arm64: flush FP/SIMD state correctly after execve() arm64: makefile: fix perf_callchain.o kconfig dependency arm64: set MAX_MEMBLOCK_ADDR according to linear region size of/fdt: make memblock maximum physical address arch configurable arm64: Fix source code file path in comments arm64: entry: always restore x0 from the stack on syscall return arm64: mdscr_el1: avoid exposing DCC to userspace arm64: kconfig: Move LIST_POISON to a safe value arm64: Add __exception_irq_entry definition for function graph arm64: mm: ensure patched kernel text is fetched from PoU arm64: alternatives: ensure secondary CPUs execute ISB after patching arm64: make ll/sc __cmpxchg_case_##name asm consistent arm64: dma-mapping: Simplify pgprot handling arm64: restore cpu suspend/resume functionality ARM64: PCI: do not enable resources on PROBE_ONLY systems arm64: cmpxchg: truncate sub-word signed types before comparison arm64: alternative: put secondary CPUs into polling loop during patch arm64/Documentation: clarify wording regarding memory below the Image arm64: lse: fix lse cmpxchg code indentation arm64: remove redundant object file list ... commit ef9be10c8c999e00b239eec24cf01952a308f8e7 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 28 10:44:20 2015 +0200 mac80211: reject software RSSI CQM with beacon filtering When beacon filtering is enabled the mac80211 software implementation for RSSI CQM cannot work as beacons will not be available. Rather than accepting such a configuration without proper effect, reject it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 52a45f38ca5998db0394e782d137595a82a08b43 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sat Aug 15 22:39:53 2015 +0300 mac80211: avoid VHT usage with no 80MHz chans allowed Currently if 80MHz channels are not allowed for use, the VHT IE is not included in the probe request for an AP. This is not good enough if the AP is configured with the wrong regulatory and supports VHT even where prohibited or in TDLS scenarios. Mark the ifmgd with the DISABLE_VHT flag for the misbehaving-AP case, and unset VHT support from the peer-station entry for the TDLS case. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 549cc1c560128d583698ba9a73af283fe87dbab8 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 19:00:31 2015 +0200 cfg80211: regulatory: restore proper user alpha2 restore_regulatory_settings() should restore alpha2 as computed in restore_alpha2(), not raw user_alpha2 to behave as described in the comment just above that code. This fixes endless loop of calling CRDA for "00" and "97" countries after resume from suspend on my laptop. Looks like others had the same problem, too: http://ath9k-devel.ath9k.narkive.com/knY5W6St/ath9k-and-crda-messages-in-logs https://bugs.launchpad.net/ubuntu/+source/linux/+bug/899335 https://forum.porteus.org/viewtopic.php?t=4975&p=36436 https://forums.opensuse.org/showthread.php/483356-Authentication-Regulatory-Domain-issues-ath5k-12-2 Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4c0778933a3d7c35a94e8c35847acd9bb59a257d Author: João Paulo Rechi Vita <jprvita@xxxxxxxxx> Date: Tue Aug 25 08:56:43 2015 -0400 rfkill: Copy "all" global state to other types When switching the state of all RFKill switches of type all we need to replicate the RFKILL_TYPE_ALL global state to all the other types global state, so it is used to initialize persistent RFKill switches on register. Signed-off-by: João Paulo Rechi Vita <jprvita@xxxxxxxxxxxx> Acked-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 22f66895e60cfc55b92f6fa93f05bb3fbdbd0bed Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Tue Aug 18 16:52:07 2015 +0300 mac80211: protect non-HT BSS when HT TDLS traffic exists HT TDLS traffic should be protected in a non-HT BSS to avoid collisions. Therefore, when TDLS peers join/leave, check if protection is (now) needed and set the ht_operation_mode of the virtual interface according to the HT capabilities of the TDLS peer(s). This works because a non-HT BSS connection never sets (or otherwise uses) the ht_operation_mode; it just means that drivers must be aware that this field applies to all HT traffic for this virtual interface, not just the traffic within the BSS. Document that. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 98a1f8282b8c37378c1b947d661a58942331ca90 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 26 12:22:14 2015 +0200 mac80211: Do not use sizeof() on pointer type The rate_control_cap_mask() function takes a parameter mcs_mask, which GCC will take to be u8 * even though it was declared with a fixed size. This causes the following warning: net/mac80211/rate.c: In function 'rate_control_cap_mask': net/mac80211/rate.c:719:25: warning: 'sizeof' on array function parameter 'mcs_mask' will return size of 'u8 * {aka unsigned char *}' [-Wsizeof-array-argument] for (i = 0; i < sizeof(mcs_mask); i++) ^ net/mac80211/rate.c:684:10: note: declared here u8 mcs_mask[IEEE80211_HT_MCS_MASK_LEN], ^ This can be easily fixed by using the IEEE80211_HT_MCS_MASK_LEN directly within the loop condition. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5631d9c429857194bd55d7bcd8fa5bdd1a9899a3 Author: Michal Marek <mmarek@xxxxxxxx> Date: Wed Aug 19 17:36:41 2015 +0200 kbuild: Fix clang detection We cannot detect clang before including the arch Makefile, because that can set the default cross compiler. We also cannot detect clang after including the arch Makefile, because powerpc wants to know about clang. Solve this by using an deferred variable. This costs us a few shell invocations, but this is only a constant number. Reported-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reported-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 86bfbc15660a61bb7b3df73db11939eec3393008 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:03:04 2015 +0200 ALSA: sparc: amd7930: Fix module autoload for OF platform driver This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3716001bcb7f5822382ac1f2f54226b87312cc6b Author: Riku Voipio <riku.voipio@xxxxxxxxxx> Date: Wed Sep 2 12:57:24 2015 +0300 deb-pkg: add source package Make deb-pkg build both source and binary package like make rpm-pkg does. For people who only need binary kernel package, there is now bindeb-pkg target, same target also used to build the .deb files if built from the source package using dpkg-buildpackage. Generated source package will build the same kernel .config than what was available for make deb-pkg. The name of the source package can be set with KDEB_SOURCENAME enviroment variable. The source package is useful for GPL compliance, or for feeding to a automated debian package builder. Cc: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Reviewed-by: maximilian attems <maks@xxxxxxx> Reviewed-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 26803821463c4e76322559b3dfb0c6b0fcc8aee8 Author: Riku Voipio <riku.voipio@xxxxxxxxxx> Date: Wed Sep 2 12:57:08 2015 +0300 package/Makefile: move source tar creation to a function Split source tarball creation from rpm-pkg target so it can be used from deb-pkg target as well. As added bonus, we can now pretty print TAR the name of tarball created in quiet mode This patch prepares the groundwork for deb-pkg source package adding bit. Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 1adecc6755e1e4193b5618ddb2e107f6d6e88f4b Author: Woodrow Shen <woodrow.shen@xxxxxxxxxxxxx> Date: Fri Sep 4 15:08:12 2015 +0800 ALSA: hda - Add some FIXUP quirks for white noise on Dell laptop. Dell laptop has a series model to use the same codec but different subsystem ID. At the same time they happens the white noise by login screen and headphone; for fixing them together, I only can add these IDs to FIXUP function ALC292_FIXUP_DISABLE_AAMIX, then try to solve such the similar issues. Codec: Realtek ALC3235 Vendor Id: 0x10ec0293 Subsystem Id: 0x102806dd Subsystem Id: 0x102806df Subsystem Id: 0x102806e0 Cc: <stable@xxxxxxxxxxxxxxx> BugLink: https://bugs.launchpad.net/bugs/1492132 Signed-off-by: Woodrow Shen <woodrow.shen@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eb38f3a4f6e86f8bb10a3217ebd85ecc5d763aae Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 3 22:20:00 2015 -0700 Input: evdev - do not report errors form flush() We've got bug reports showing the old systemd-logind (at least system-210) aborting unexpectedly, and this turned out to be because of an invalid error code from close() call to evdev devices. close() is supposed to return only either EINTR or EBADFD, while the device returned ENODEV. logind was overreacting to it and decided to kill itself when an unexpected error code was received. What a tragedy. The bad error code comes from flush fops, and actually evdev_flush() returns ENODEV when device is disconnected or client's access to it is revoked. But in these cases the fact that flush did not actually happen is not an error, but rather normal behavior. For non-disconnected devices result of flush is also not that interesting as there is no potential of data loss and even if it fails application has no way of handling the error. Because of that we are better off always returning success from evdev_flush(). Also returning EINTR from flush()/close() is discouraged (as it is not clear how application should handle this error), so let's stop taking evdev->mutex interruptibly. Bugzilla: http://bugzilla.suse.com/show_bug.cgi?id=939834 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 22c15e5e008297c90daa8657fea1a3f0e0675454 Author: James Chen <james.chen@xxxxxxxxxx> Date: Thu Sep 3 22:12:38 2015 -0700 Input: elants_i2c - extend the calibration timeout to 12 seconds The 23 inch device found in Chrome project buddy requires 9.2~10.5 seconds to complete calibration. Let's increase calibration timeout to 12 seconds to give the device enough time. Signed-off-by: James Chen <james.chen@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 26492f195eed08b95ad5acdfbe625062ad7d86c6 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 10:50:57 2015 -0700 Input: sparcspkr - fix module autoload for OF platform drivers These platform drivers have a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5b78cb668764061bd8a06f73f9bd081ba6942fef Merge: aed160e 6fa2d19 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 4 13:09:20 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-09-02' of git://anongit.freedesktop.org/drm-intel into drm-next i915 display fixes headed for v4.3. Mostly SKL, but some regression fixes too. * tag 'drm-intel-next-fixes-2015-09-02' of git://anongit.freedesktop.org/drm-intel: i915: Set ddi_pll_sel in DP MST path drm/i915: Don't use link_bw for PLL setup drm/i915: Preserve SSC earlier drm/i915/skl: Adding DDI_E power well domain drm/i915: eDP can be present on DDI-E drm/i915/skl: Enable DDI-E drm/i915: Enable HDMI on DDI-E drm/i915: apply the PCI_D0/D3 hibernation workaround everywhere on pre GEN6 drm/i915: Check DP link status on long hpd too drm/i915: set CDCLK if DPLL0 enabled during resuming from S3 commit aed160eac581258f5f280b6e4b3f49b106973a78 Merge: 41e8a0a3 4c156c2 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 4 13:08:40 2015 +1000 Merge branch 'drm-rockchip-2015-08-26' of https://github.com/markyzq/kernel-drm-rockchip into drm-next Here are some fixes and some new features for rockchip drm, tested on popmetal rk3288 board, can you land them? * 'drm-rockchip-2015-08-26' of https://github.com/markyzq/kernel-drm-rockchip: drm/rockchip: vop: support plane scale drm/rockchip: vop: restore vop registers when resume drm/rockchip: vop: Default enable win2/3 area0 bit drm/rockchip: vop: Add yuv plane support drm/rockchip: vop: Fix window dest start point drm/rockchip: vop: Fix virtual stride calculation commit 41e8a0a3046530911bf2f2fc28c971bf588858b8 Merge: 55cdb31 aa3469c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 4 13:08:08 2015 +1000 Merge tag 'vmwgfx-next-15-09-01' of git://people.freedesktop.org/~thomash/linux into drm-next Pull request of 2015-09-01 A single commit. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1227193 * tag 'vmwgfx-next-15-09-01' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Allow dropped masters render-node like access on legacy nodes v2 commit 55cdb314494b0372c2f0ba3a589aeb412a9626ba Merge: 9949558 c305857 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 4 13:07:18 2015 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next This is a last pull request, which includes two g2d patches I missed, and more cleanup series of Exynos drm driver. The cleanup series makes Exynos drm driver more simple, and removes unnecessary codes, and considers multiple plane format of framebuffer. I hope this not to be late. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm/exynos: remove buf_cnt from struct exynos_drm_fb drm/exynos: remove exynos_drm_fb_get_buf_cnt() drm/exynos: cleanup exynos_user_fb_create() drm/exynos: update exynos_drm_framebuffer_init() for multiple buffers drm/exynos: cleanup to get gem object for fb drm/exynos: update fb_info via only one function drm/exynos: cleanup exynos_drm_fbdev_update() drm/exynos: s/exynos_gem_obj/obj in exynos_drm_fbdev.c drm/exynos: remove exynos_drm_fb_set_buf_cnt() drm/exynos: remove superfluous checks in g2d_check_reg_offset() drm/exynos: fix size check in g2d_check_buf_desc_is_valid() commit 99495589aa4de7166af254bc497cdbe133fc24bb Merge: 879a37d bddf802 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 4 13:06:29 2015 +1000 Merge branch 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-next More fixes for radeon and amdgpu for 4.3: - Send full DP aux address fixes for radeon and amdgpu - Fix an HDMI display regression for pre-DCE5 parts - UVD suspend fixes for amdgpu - Add an rs480 suspend quirk - Fix bo reserve handling in amdgpu GEM_OP ioctl - GPU scheduler fixes - SDMA optimizations - MEC fix for Fiji * 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux: (21 commits) drm/amdgpu: set MEC doorbell range for Fiji drm/amdgpu: implement burst NOP for SDMA drm/amdgpu: add insert_nop ring func and default implementation drm/amdgpu: add amdgpu_get_sdma_instance helper function drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES drm/amdgpu: add burst_nop flag for sdma drm/amdgpu: add count field for the SDMA NOP packet v2 drm/amdgpu: use PT for VM sync on unmap drm/amdgpu: make wait_event uninterruptible in push_job drm/amdgpu: fix amdgpu_bo_unreserve order in GEM_OP IOCTL v2 drm/amdgpu: partially revert "modify amdgpu_fence_wait_any() to amdgpu_fence_wait_multiple()" v2 Add radeon suspend/resume quirk for HP Compaq dc5750. drm/amdgpu: re-work sync_resv drm/amdgpu/atom: Send out the full AUX address drm/radeon/native: Send out the full AUX address drm/radeon/atom: Send out the full AUX address drm/amdgpu: use IB for fill_buffer instead of direct command drm/amdgpu: stop trying to suspend UVD sessions v2 drm/amdgpu: add scheduler dependency callback v2 drm/amdgpu: let the scheduler work more with jobs v2 ... commit 807249d3ada1ff28a47c4054ca4edd479421b671 Merge: ff474e8 2db9704 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 16:55:55 2015 -0700 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS updates from Ralf Baechle: "This is the main pull request for 4.3 for MIPS. Here's the summary: Three fixes that didn't make 4.2-stable: - a -Os build might compile the kernel using the MIPS16 instruction set but the R2 optimized inline functions in <uapi/asm/swab.h> are implemented using 32-bit wide instructions which is invalid. - a build error in pgtable-bits.h for a particular kernel configuration. - accessing registers of the CM GCR might have been compiled to use 64 bit accesses but these registers are onl 32 bit wide. And also a few new bits: - move the ATH79 GPIO driver to drivers/gpio - the definition of IRQCHIP_DECLARE has moved to linux/irqchip.h, change ATH79 accordingly. - fix definition of pgprot_writecombine - add an implementation of dma_map_ops.mmap - fix alignment of quiet build output for vmlinuz link - BCM47xx: Use kmemdup rather than duplicating its implementation - Netlogic: Fix 0x0x prefixes of constants. - merge Bjorn Helgaas' series to remove most of the weak keywords from function declarations. - CP0 and CP1 registers are best considered treated as unsigned values to avoid large values from becoming negative values. - improve support for the MIPS GIC timer. - enable common clock framework for Malta and SEAD3. - a number of improvments and fixes to dump_tlb(). - document the MIPS TLB dump functionality in Magic SysRq. - Cavium Octeon CN68XX improvments. - NetLogic improvments. - irq: Use access helper irq_data_get_affinity_mask. - handle MSA unaligned accesses. - a number of R6-related math-emu fixes. - support for I6400. - improvments to MSA support. - add uprobes support. - move from deprecated __initcall to arch_initcall. - remove finish_arch_switch(). - IRQ cleanups by Thomas Gleixner. - migrate to new 'set-state' interface. - random small cleanups" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (148 commits) MIPS: UAPI: Fix unrecognized opcode WSBH/DSBH/DSHD when using MIPS16. MIPS: Fix alignment of quiet build output for vmlinuz link MIPS: math-emu: Remove unused handle_dsemul function declaration MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction MIPS: math-emu: Add support for the MIPS R6 RINT FPU instruction MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction MIPS: math-emu: Add support for the MIPS R6 SELNEZ FPU instruction MIPS: math-emu: Add support for the MIPS R6 SELEQZ FPU instruction MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction MIPS: inst.h: Add new MIPS R6 FPU opcodes MIPS: Octeon: Fix management port MII address on Kontron S1901 MIPS: BCM47xx: Use kmemdup rather than duplicating its implementation STAGING: Octeon: Use common helpers for determining interface and port MIPS: Octeon: Support interfaces 4 and 5 MIPS: Octeon: Set up 1:1 mapping between CN68XX PKO queues and ports MIPS: Octeon: Initialize CN68XX PKO STAGING: Octeon: Support CN68XX style WQE ... commit ff474e8ca8547d09cb82ebab56d4c96f9eea01ce Merge: 4c92b5b 390fd59 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 16:41:38 2015 -0700 Merge tag 'powerpc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc updates from Michael Ellerman: - support "hybrid" iommu/direct DMA ops for coherent_mask < dma_mask from Benjamin Herrenschmidt - EEH fixes for SRIOV from Gavin - introduce rtas_get_sensor_fast() for IRQ handlers from Thomas Huth - use hardware RNG for arch_get_random_seed_* not arch_get_random_* from Paul Mackerras - seccomp filter support from Michael Ellerman - opal_cec_reboot2() handling for HMIs & machine checks from Mahesh Salgaonkar - add powerpc timebase as a trace clock source from Naveen N. Rao - misc cleanups in the xmon, signal & SLB code from Anshuman Khandual - add an inline function to update POWER8 HID0 from Gautham R. Shenoy - fix pte_pagesize_index() crash on 4K w/64K hash from Michael Ellerman - drop support for 64K local store on 4K kernels from Michael Ellerman - move dma_get_required_mask() from pnv_phb to pci_controller_ops from Andrew Donnellan - initialize distance lookup table from drconf path from Nikunj A Dadhania - enable RTC class support from Vaibhav Jain - disable automatically blocked PCI config from Gavin Shan - add LEDs driver for PowerNV platform from Vasant Hegde - fix endianness issues in the HVSI driver from Laurent Dufour - kexec endian fixes from Samuel Mendoza-Jonas - fix corrupted pdn list from Gavin Shan - fix fenced PHB caused by eeh_slot_error_detail() from Gavin Shan - Freescale updates from Scott: Highlights include 32-bit memcpy/memset optimizations, checksum optimizations, 85xx config fragments and updates, device tree updates, e6500 fixes for non-SMP, and misc cleanup and minor fixes. - a ton of cxl updates & fixes: - add explicit precision specifiers from Rasmus Villemoes - use more common format specifier from Rasmus Villemoes - destroy cxl_adapter_idr on module_exit from Johannes Thumshirn - destroy afu->contexts_idr on release of an afu from Johannes Thumshirn - compile with -Werror from Daniel Axtens - EEH support from Daniel Axtens - plug irq_bitmap getting leaked in cxl_context from Vaibhav Jain - add alternate MMIO error handling from Ian Munsie - allow release of contexts which have been OPENED but not STARTED from Andrew Donnellan - remove use of macro DEFINE_PCI_DEVICE_TABLE from Vaishali Thakkar - release irqs if memory allocation fails from Vaibhav Jain - remove racy attempt to force EEH invocation in reset from Daniel Axtens - fix + cleanup error paths in cxl_dev_context_init from Ian Munsie - fix force unmapping mmaps of contexts allocated through the kernel api from Ian Munsie - set up and enable PSL Timebase from Philippe Bergheaud * tag 'powerpc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (140 commits) cxl: Set up and enable PSL Timebase cxl: Fix force unmapping mmaps of contexts allocated through the kernel api cxl: Fix + cleanup error paths in cxl_dev_context_init powerpc/eeh: Fix fenced PHB caused by eeh_slot_error_detail() powerpc/pseries: Cleanup on pci_dn_reconfig_notifier() powerpc/pseries: Fix corrupted pdn list powerpc/powernv: Enable LEDS support powerpc/iommu: Set default DMA offset in dma_dev_setup cxl: Remove racy attempt to force EEH invocation in reset cxl: Release irqs if memory allocation fails cxl: Remove use of macro DEFINE_PCI_DEVICE_TABLE powerpc/powernv: Fix mis-merge of OPAL support for LEDS driver powerpc/powernv: Reset HILE before kexec_sequence() powerpc/kexec: Reset secondary cpu endianness before kexec powerpc/hvsi: Fix endianness issues in the HVSI driver leds/powernv: Add driver for PowerNV platform powerpc/powernv: Create LED platform device powerpc/powernv: Add OPAL interfaces for accessing and modifying system LED states powerpc/powernv: Fix the log message when disabling VF cxl: Allow release of contexts which have been OPENED but not STARTED ... commit 4c92b5bb14226faa16d29a1df5752baf1ff22b53 Merge: c706c7e fca8b80 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 16:36:33 2015 -0700 Merge branch 'pcmcia' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM pcmcia updates from Russell King: "A series of changes updating the PXA and SA11x0 PCMCIA code to use devm_* APIs, and resolve some resource leaks in doing so. This results in a few small cleanups which are included in this set. FYI, the recommit of these today is to add Robert Jarzmik's reviewed-by tags, which I'd forgotten to add from mid-July" * 'pcmcia' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: pcmcia: soc_common: remove skt_dev_info's clk pointer pcmcia: sa11xx_base.c: remove useless init/exit functions pcmcia: sa1111: simplify clk handing in sa1111_pcmcia_add() pcmcia: sa1111: update socket driver to use devm_clk_get() API pcmcia: pxa2xx: convert memory allocation to devm_* API pcmcia: pxa2xx: update socket driver to use devm_clk_get() API pcmcia: sa11x0: convert memory allocation to devm_* API pcmcia: sa11x0: fix missing clk_put() in sa11x0 socket drivers commit c706c7eb0d08098f0d768aeef945d7cf1f8858b4 Merge: 79b0691 3ff32a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 16:27:01 2015 -0700 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM development updates from Russell King: "Included in this update: - moving PSCI code from ARM64/ARM to drivers/ - removal of some architecture internals from global kernel view - addition of software based "privileged no access" support using the old domains register to turn off the ability for kernel loads/stores to access userspace. Only the proper accessors will be usable. - addition of early fixup support for early console - re-addition (and reimplementation) of OMAP special interconnect barrier - removal of finish_arch_switch() - only expose cpuX/online in sysfs if hotpluggable - a number of code cleanups" * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (41 commits) ARM: software-based priviledged-no-access support ARM: entry: provide uaccess assembly macro hooks ARM: entry: get rid of multiple macro definitions ARM: 8421/1: smp: Collapse arch_cpu_idle_dead() into cpu_die() ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore() ARM: mm: improve do_ldrd_abort macro ARM: entry: ensure that IRQs are enabled when calling syscall_trace_exit() ARM: entry: efficiency cleanups ARM: entry: get rid of asm_trace_hardirqs_on_cond ARM: uaccess: simplify user access assembly ARM: domains: remove DOMAIN_TABLE ARM: domains: keep vectors in separate domain ARM: domains: get rid of manager mode for user domain ARM: domains: move initial domain setting value to asm/domains.h ARM: domains: provide domain_mask() ARM: domains: switch to keeping domain value in register ARM: 8419/1: dma-mapping: harmonize definition of DMA_ERROR_CODE ARM: 8417/1: refactor bitops functions with BIT_MASK() and BIT_WORD() ARM: 8416/1: Feroceon: use of_iomap() to map register base ARM: 8415/1: early fixmap support for earlycon ... commit 79b0691d0c1d3d4a976e3304a1512e6eca9671ec Merge: ca520ca 5b92356 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 16:15:41 2015 -0700 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf fixes from Ingo Molnar: "Tooling fixes plus a handful of late arriving tooling changes" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf tools: Fix link time error with sample_reg_masks on non x86 perf build: Fix Intel PT instruction decoder dependency problem perf dwarf: Fix potential array out of bounds access perf record: Add ability to name registers to record perf/x86: Add list of register names perf script: Enable printing of interrupted machine state perf evlist: Open event on evsel cpus and threads bpf tools: New API to get name from a BPF object perf tools: Fix build on powerpc broken by pt/bts commit ca520cab25e0e8da717c596ccaa2c2b3650cfa09 Merge: 4c12ab7 d420acd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 15:46:07 2015 -0700 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull locking and atomic updates from Ingo Molnar: "Main changes in this cycle are: - Extend atomic primitives with coherent logic op primitives (atomic_{or,and,xor}()) and deprecate the old partial APIs (atomic_{set,clear}_mask()) The old ops were incoherent with incompatible signatures across architectures and with incomplete support. Now every architecture supports the primitives consistently (by Peter Zijlstra) - Generic support for 'relaxed atomics': - _acquire/release/relaxed() flavours of xchg(), cmpxchg() and {add,sub}_return() - atomic_read_acquire() - atomic_set_release() This came out of porting qwrlock code to arm64 (by Will Deacon) - Clean up the fragile static_key APIs that were causing repeat bugs, by introducing a new one: DEFINE_STATIC_KEY_TRUE(name); DEFINE_STATIC_KEY_FALSE(name); which define a key of different types with an initial true/false value. Then allow: static_branch_likely() static_branch_unlikely() to take a key of either type and emit the right instruction for the case. To be able to know the 'type' of the static key we encode it in the jump entry (by Peter Zijlstra) - Static key self-tests (by Jason Baron) - qrwlock optimizations (by Waiman Long) - small futex enhancements (by Davidlohr Bueso) - ... and misc other changes" * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (63 commits) jump_label/x86: Work around asm build bug on older/backported GCCs locking, ARM, atomics: Define our SMP atomics in terms of _relaxed() operations locking, include/llist: Use linux/atomic.h instead of asm/cmpxchg.h locking/qrwlock: Make use of _{acquire|release|relaxed}() atomics locking/qrwlock: Implement queue_write_unlock() using smp_store_release() locking/lockref: Remove homebrew cmpxchg64_relaxed() macro definition locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t' locking, asm-generic: Rework atomic-long.h to avoid bulk code duplication locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations locking, compiler.h: Cast away attributes in the WRITE_ONCE() magic locking/static_keys: Make verify_keys() static jump label, locking/static_keys: Update docs locking/static_keys: Provide a selftest jump_label: Provide a self-test s390/uaccess, locking/static_keys: employ static_branch_likely() x86, tsc, locking/static_keys: Employ static_branch_likely() locking/static_keys: Add selftest locking/static_keys: Add a new static_key interface locking/static_keys: Rework update logic locking/static_keys: Add static_key_{en,dis}able() helpers ... commit 724a7636ad026a3a68f3fc626ccd04111f65cfd9 Merge: 4548a69 410f038 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 3 15:43:06 2015 -0700 Merge branch 'sctp-fixes' Marcelo Ricardo Leitner says: ==================== couple of sctp fixes for 0ca50d12fe46 These are two fixes for sctp after my patch on 0ca50d12fe46 ("sctp: fix src address selection if using secondary addresses") The first, fix a dst leak on those it decided to skip. The second, adds the fallback on src selection that Vlad had asked about. Unfortunatelly a lot of ipvs setups relies on the old behavior and I don't see a better fix for it. Please consider both to -stable tree. ==================== Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 410f03831c0768f2b1850d28ba697b167ddcb89b Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Wed Sep 2 16:20:22 2015 -0300 sctp: add routing output fallback Commit 0ca50d12fe46 added a restriction that the address must belong to the output interface, so that sctp will use the right interface even when using secondary addresses. But it breaks IPVS setups, on which people is used to attach VIP addresses to loopback interface on real servers. It's preferred to attach to the interface actually in use, but it's a very common setup and that used to work. This patch then saves the first routing good result, even if it would be going out through an interface that doesn't have that address. If no better hit found, it's then used. This effectively restores the original behavior if no better interface could be found. Fixes: 0ca50d12fe46 ("sctp: fix src address selection if using secondary addresses") Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d82f0f1fc8a4f214a50c9dfc64e3896f9894afb7 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Wed Sep 2 16:20:21 2015 -0300 sctp: fix dst leak Commit 0ca50d12fe46 failed to release the reference to dst entries that it decided to skip. Fixes: 0ca50d12fe46 ("sctp: fix src address selection if using secondary addresses") Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4548a697e4969d695047cebd6d9af5e2f6cc728e Author: Atsushi Nemoto <nemoto@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 17:49:29 2015 +0900 net: eth: altera: fix napi poll_list corruption tse_poll() calls __napi_complete() with irq enabled. This leads napi poll_list corruption and may stop all napi drivers working. Use napi_complete() instead of __napi_complete(). Signed-off-by: Atsushi Nemoto <nemoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e33d1f0a145d48e8cf287954bbf791af8387cfb Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 11:12:59 2015 +0200 KVM: PPC: Book3S: Fix typo in top comment about locking Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit d1178cbcdcf91900ccf10a177350d7945703c151 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 17:34:13 2015 -0600 IB/ipoib: Suppress warning for send only join failures We expect send only joins to fail, it just means there are no listeners for the group. The correct thing to do is silently drop the packet at source. Eg avahi will full join 224.0.0.251 which causes a send only IGMP packet to 224.0.0.22, and then a warning level kmessage like this: ib0: sendonly multicast join failed for ff12:401b:ffff:0000:0000:0000:0000:0016, status -22 If there is no IP router listening to IGMP. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c3acdc06a95ff20d920220ecb931186b0bb22c42 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Thu Sep 3 17:05:58 2015 -0400 IB/ipoib: Clean up send-only multicast joins Even though we don't expect the group to be created by the SM we sill need to provide all the parameters to force the SM to validate they are correct. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4c12ab7e5e2e892fa94df500f96001837918a281 Merge: 9cbf22b 01a5ad8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:10:22 2015 -0700 Merge tag 'for-f2fs-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs updates from Jaegeuk Kim: "The major work includes fixing and enhancing the existing extent_cache feature, which has been well settling down so far and now it becomes a default mount option accordingly. Also, this version newly registers a f2fs memory shrinker to reclaim several objects consumed by a couple of data structures in order to avoid memory pressures. Another new feature is to add ioctl(F2FS_GARBAGE_COLLECT) which triggers a cleaning job explicitly by users. Most of the other patches are to fix bugs occurred in the corner cases across the whole code area" * tag 'for-f2fs-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (85 commits) f2fs: upset segment_info repair f2fs: avoid accessing NULL pointer in f2fs_drop_largest_extent f2fs: update extent tree in batches f2fs: fix to release inode correctly f2fs: handle f2fs_truncate error correctly f2fs: avoid unneeded initializing when converting inline dentry f2fs: atomically set inode->i_flags f2fs: fix wrong pointer access during try_to_free_nids f2fs: use __GFP_NOFAIL to avoid infinite loop f2fs: lookup neighbor extent nodes for merging later f2fs: split __insert_extent_tree_ret for readability f2fs: kill dead code in __insert_extent_tree f2fs: adjust showing of extent cache stat f2fs: add largest/cached stat in extent cache f2fs: fix incorrect mapping for bmap f2fs: add annotation for space utilization of regular/inline dentry f2fs: fix to update cached_en of extent tree properly f2fs: fix typo f2fs: check the node block address of newly allocated nid f2fs: go out for insert_inode_locked failure ... commit bf2d087749d91e1fa2826edde1e2fd650d3053ca Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Thu Aug 27 15:49:18 2015 -0500 ipmi:ssif: Add a module parm to specify that SMBus alerts don't work They are broken on some platforms, this gives people a chance to work around it until the firmware is fixed. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit acbd9ae70a94bdc626508f444879e19ebe1c421f Author: Brijesh Singh <brijeshkumar.singh@xxxxxxx> Date: Mon Aug 24 09:15:25 2015 -0500 ipmi: add of_device_id in MODULE_DEVICE_TABLE Fix autoloading ipmi modules when using device tree. Signed-off-by: Brijesh Singh <brijeshkumar.singh@xxxxxxx> Moved this change up into the CONFIG_OF section to account for changes to the probing code. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit d08828973d96eb26e48fb7ca8fb8a8d49adbe53a Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Tue Aug 18 14:29:10 2015 -0500 ipmi: Compensate for BMCs that wont set the irq enable bit It appears that some BMCs support interrupts but don't support setting the irq enable bits. The interrupts are just always on. Sigh. Add code to compensate. The new code was very similar to another functions, so this also factors out the common code into other functions. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Tested-by: Henrik Korkuc <henrik@xxxxxxxxx> commit c49c097610fe1aabf86111297280a718abb5dcc2 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Mon Jul 27 14:55:16 2015 +0900 ipmi: Don't call receive handler in the panic context Received handlers defined as ipmi_recv_hndl member of struct ipmi_user_hndl can take a spinlock. This means that if the kernel panics while holding the lock, a deadlock may happen on the lock while flushing queued messages in the panic context. Calling the receive handler doesn't make much meanings in the panic context, simply skip it to avoid possible deadlocks. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 06e5e345fea8df24b1d935f98741343df4cab664 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Mon Jul 27 14:55:16 2015 +0900 ipmi: Avoid touching possible corrupted lists in the panic context When processing queued messages in the panic context, IPMI driver tries to do it without any locking to avoid deadlocks. However, this means we can touch a corrupted list if the kernel panicked while manipulating the list. Fortunately, current `add-tail and del-from-head' style implementation won't touch the corrupted part, but it is inherently risky. To get rid of the risk, this patch re-initializes the message lists on panic if the related spinlock has already been acquired. As the result, we may lose queued messages, but it's not so painful. Dropping messages on the received message list is also less problematic because no one can respond the received messages. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Fixed a comment typo. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 82802f968bd3118af04eaeb3814c21d9813be527 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Mon Jul 27 14:55:16 2015 +0900 ipmi: Don't flush messages in sender() in run-to-completion mode When flushing queued messages in run-to-completion mode, smi_event_handler() is recursively called. flush_messages() smi_event_handler() handle_transaction_done() deliver_recv_msg() ipmi_smi_msg_received() smi_recv_tasklet() sender() flush_messages() smi_event_handler() ... The depth of the recursive call depends on the number of queued messages, so it can cause a stack overflow if many messages have been queued. To solve this problem, this patch removes flush_messages() from sender()@ipmi_si_intf.c. Instead, add flush_messages() to caller side of sender() if needed. Additionally, to implement this, add new handler flush_messages to struct ipmi_smi_handlers. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Fixed up a comment and some spacing issues. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit e45361d733d0a1432b0f6307375045e66ac02489 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Mon Jul 27 14:55:16 2015 +0900 ipmi: Factor out message flushing procedure Factor out message flushing procedure which is used in run-to-completion mode. This patch doesn't change the logic. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit b0868dd5c17c0d9cc8919e786db2e428aa225621 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Mon Jul 27 14:55:16 2015 +0900 ipmi: Remove unneeded set_run_to_completion call send_panic_events() calls intf->handlers->set_run_to_completion(), but it has already been done in the caller function panic_event(). Remove it from send_panic_events(). Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 81d02b7f8c507f06299476a0e5b2aa677c5eaecb Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Sat Jun 13 10:34:25 2015 -0500 ipmi: Make some data const that was only read Several data structures were only used for reading, so make them const. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 5186cf9c74034a4a7856de9c8048493be34c457d Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sat Jun 13 14:19:33 2015 +0200 ipmi: constify SSIF ACPI device ids Constify the ACPI device ID array, it doesn't need to be writable at runtime. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit a7930899ca0082a33350b253c6ed34f67255f98e Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 18:12:14 2015 +0200 ipmi: Delete an unnecessary check before the function call "cleanup_one_si" The cleanup_one_si() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit fedb25ea903d3520b6cff00c41740a892cf6bc0e Author: Shailendra Verma <shailendra.capricorn@xxxxxxxxx> Date: Tue May 26 00:54:57 2015 +0530 char:ipmi - Change 1 to true for bool type variables during initialization. Signed-off-by: Shailendra Verma <shailendra.capricorn@xxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 881c585ef79addb2440a7f8d59bda5640d0ff623 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Sat May 9 15:32:28 2015 -0400 impi:Remove unneeded setting of module owner to THIS_MODULE in the platform structure, powernv_ipmi_driver This removes the no longer required setting of the module owner for the plaform structure,powernv_ipmi_driver to THIS_MODULE as the driver core for ipmi drivers will directly find and set the module owner for this driver. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit b2234ee9fc059c17e811a365383e3412a2f50bed Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Thu Feb 19 11:29:24 2015 -0600 ipmi: Add a comment in how messages are delivered from the lower layer To avoid confusion in the future. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit cca85f19c260df495a487495479c67803b25fa8a Author: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 16:46:54 2015 +0530 ipmi/powernv: Fix potential invalid pointer dereference If the OPAL call to receive the ipmi message fails, then we free up the smi message and return. But, the driver still holds the reference to old smi message in the 'cur_msg' which can potentially be accessed later and freed again leading to kernel oops. To fix it up, The kernel driver should reset the 'cur_msg' and send reply to the user in addition to freeing the message. Signed-off-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Fixed a checkpatch warning dealing with an else after a return. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 0fbcf4af7c8362d4691f9388efa57d0b14b34225 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Tue Jun 9 16:51:46 2015 -0500 ipmi: Convert the IPMI SI ACPI handling to a platform device The IPMI SI driver was using direct PNP, but that was not really ideal because the IPMI device is a platform device. There was some special handling in the acpi_pnp.c code for making this work, but that was breaking ACPI handling for the IPMI SSIF driver. So without this patch there were significant issues getting the SSIF driver to work with ACPI. So use a platform device for ACPI detection and remove the entry from acpi_pnp.c. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 92e847212676bb3c5f9f7e317907367dbb8c504b Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Thu Sep 3 14:58:55 2015 -0500 ipmi: Add device tree bindings information Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 7fbc67df2cd6d0b72fd5d6d3acaa79ab6f5b0224 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Mon Aug 24 19:04:51 2015 +0300 IB/srp: Fix possible protection fault srp_destroy_qp is designed to indicate we are safe to continue with freeing the channel resources by modifying the qp error state, posting a dummy wr on the queue-pair and waiting for it to flush. This also holds for the channel registration pool as we are unmapping the memory region when handling a scsi response. Destroying the channel registration pool before we make sure we processed all the inflight IO might introduce a use-after-free of the registration pool. This use-after-free is demonstrated in the stack trace below where srp is trying to unmap a used FMR after the fmr_pool was already destroyed. general protection fault: 0000 [#1] SMP RIP: 0010:[<ffffffff8151121b>] [<ffffffff8151121b>] _raw_spin_lock_irqsave+0x1b/0x50 Call Trace: [<ffffffffa055d88a>] ib_fmr_pool_unmap+0x1a/0xb0 [ib_core] [<ffffffffa06c00ed>] srp_unmap_data.isra.28+0x17d/0x250 [ib_srp] [<ffffffffa06c01eb>] srp_free_req+0x2b/0x60 [ib_srp] [<ffffffffa06c0c94>] srp_recv_completion+0x174/0x580 [ib_srp] [<ffffffffa04580fe>] mlx4_eq_int+0x4de/0xe50 [mlx4_core] [<ffffffffa0458b00>] mlx4_msi_x_interrupt+0x10/0x20 [mlx4_core] [<ffffffff810abc45>] handle_irq_event_percpu+0x35/0x1b0 [<ffffffff810abdf2>] handle_irq_event+0x32/0x50 [<ffffffff810ae5cf>] handle_edge_irq+0x6f/0x120 [<ffffffff8100455a>] handle_irq+0x1a/0x30 [<ffffffff8151b475>] do_IRQ+0x45/0xb0 [<ffffffff8151162d>] common_interrupt+0x6d/0x6d [<ffffffff813e4d2f>] cpuidle_enter_state+0x4f/0xc0 [<ffffffff813e4e6c>] cpuidle_idle_call+0xcc/0x210 [<ffffffff8100b9ea>] arch_cpu_idle+0xa/0x30 [<ffffffff810ab1e1>] cpu_startup_entry+0xe1/0x270 [<ffffffff81030b3a>] start_secondary+0x21a/0x2c0 Reported-by: Eliott Kespi <eliottk@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9cbf22b37ae0592dea809cb8d424990774c21786 Merge: ea814ab b3a5bbf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:57:48 2015 -0700 Merge tag 'dlm-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm Pull dlm updates from David Teigland: "This set mainly includes a change to the way the dlm uses the SCTP API in the kernel, removing the direct dependency on the sctp module. Other odd SCTP-related fixes are also included. The other notable fix is for a long standing regression in the behavior of lock value blocks for user space locks" * tag 'dlm-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm: dlm: print error from kernel_sendpage dlm: fix lvb copy for user locks dlm: sctp_accept_from_sock() can be static dlm: fix reconnecting but not sending data dlm: replace BUG_ON with a less severe handling dlm: use sctp 1-to-1 API dlm: fix not reconnecting on connecting error handling dlm: fix race while closing connections dlm: fix connection stealing if using SCTP commit ea814ab9aab23505f6828a0cc01c985e59847f4e Merge: e31fb9e bdfe0cbd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:52:19 2015 -0700 Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 updates from Ted Ts'o: "Pretty much all bug fixes and clean ups for 4.3, after a lot of features and other churn going into 4.2" * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: Revert "ext4: remove block_device_ejected" ext4: ratelimit the file system mounted message ext4: silence a format string false positive ext4: simplify some code in read_mmp_block() ext4: don't manipulate recovery flag when freezing no-journal fs jbd2: limit number of reserved credits ext4 crypto: remove duplicate header file ext4: update c/mtime on truncate up jbd2: avoid infinite loop when destroying aborted journal ext4, jbd2: add REQ_FUA flag when recording an error in the superblock ext4 crypto: fix spelling typo in comment ext4 crypto: exit cleanly if ext4_derive_key_aes() fails ext4: reject journal options for ext2 mounts ext4: implement cgroup writeback support ext4: replace ext4_io_submit->io_op with ->io_wbc ext4 crypto: check for too-short encrypted file names ext4 crypto: use a jbd2 transaction when adding a crypto policy jbd2: speedup jbd2_journal_dirty_metadata() commit 0629cb06cdf8f1a403ce71bce5b83380ae898e1a Author: Ira Weiny <ira.weiny@xxxxxxxxx> Date: Thu Sep 3 14:16:30 2015 -0400 IB/core: Move SM class defines from ib_mad.h to ib_smi.h When the hfi1 driver was added these definitions were moved from the qib driver to ib_mad.h to be used by both qib and hfi1. They should have been moved to ib_smi.h instead. Fixes: d4ab347005fb ("IB/core: Add core header changes needed for OPA") Reviewed-by: Hal Rosenstock <hal@xxxxxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ce755c9b01e09ee4907cf79bd0f57fa5cf65c4c3 Author: Ira Weiny <ira.weiny@xxxxxxxxx> Date: Wed Sep 2 18:45:54 2015 -0400 IB/core: Remove unnecessary defines from ib_mad.h Remove the unused IB_NOTICE_REPRESS_* defines. When the hfi1 driver was added these definitions were moved from the qib driver to ib_mad.h. They should have been removed instead. Fixes: d4ab347005fb ("IB/core: Add core header changes needed for OPA") Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Reviewed-by: Hal Rosenstock <hal@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6f876ce4b53f7c748e07cedab661aa4bcc8a09d2 Author: Ira Weiny <ira.weiny@xxxxxxxxx> Date: Wed Sep 2 18:46:21 2015 -0400 IB/hfi1: Add PSM2 user space header to header_install When the hfi1 driver was added a user space header file (hfi1_user.h) was added to be shared between PSM2 and the driver. However, the file was not added to the header install. Add it now. Fixes: d4ab347005fb ("IB/core: Add core header changes needed for OPA") Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e31fb9e00543e5d3c5b686747d3c862bc09b59f3 Merge: 824b005 9181f8b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:28:30 2015 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs Pull ext3 removal, quota & udf fixes from Jan Kara: "The biggest change in the pull is the removal of ext3 filesystem driver (~28k lines removed). Ext4 driver is a full featured replacement these days and both RH and SUSE use it for several years without issues. Also there are some workarounds in VM & block layer mainly for ext3 which we could eventually get rid of. Other larger change is addition of proper error handling for dquot_initialize(). The rest is small fixes and cleanups" [ I wasn't convinced about the ext3 removal and worried about things falling through the cracks for legacy users, but ext4 maintainers piped up and were all unanimously in favor of removal, and maintaining all legacy ext3 support inside ext4. - Linus ] * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: udf: Don't modify filesystem for read-only mounts quota: remove an unneeded condition ext4: memory leak on error in ext4_symlink() mm/Kconfig: NEED_BOUNCE_POOL: clean-up condition ext4: Improve ext4 Kconfig test block: Remove forced page bouncing under IO fs: Remove ext3 filesystem driver doc: Update doc about journalling layer jfs: Handle error from dquot_initialize() reiserfs: Handle error from dquot_initialize() ocfs2: Handle error from dquot_initialize() ext4: Handle error from dquot_initialize() ext2: Handle error from dquot_initalize() quota: Propagate error from ->acquire_dquot() commit 6fd8edabc2b03203e6bc44e77d1dfff415e706cc Author: Jubin John <jubin.john@xxxxxxxxx> Date: Wed Sep 2 10:43:24 2015 -0400 IB/hfi1: Add CSRs for CONFIG_SDMA_VERBOSITY 3 CSRs needed by the CONFIG_SDMA_VERBOSITY code were removed during the CSR clean up. Adding these CSRs back to resolve 0-day build failure: https://lists.01.org/pipermail/kbuild-all/2015-August/011919.html Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Jubin John <jubin.john@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 824b005c86f91fe02eb2743a4526361f11786f70 Merge: dd5cdb4 f49a26e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 11:55:55 2015 -0700 Merge branch 'hpfs' (patches from Mikulas) Merge hpfs upddate from Mikulas Patocka. * emailed patches from Mikulas Patocka <mikulas@xxxxxxxxxxxxx>: hpfs: update ctime and mtime on directory modification hpfs: support hotfixes commit f49a26e7718dd30b49e3541e3e25aecf5e7294e2 Author: Mikulas Patocka <mikulas@xxxxxxxxxxxxx> Date: Wed Sep 2 22:51:53 2015 +0200 hpfs: update ctime and mtime on directory modification Update ctime and mtime when a directory is modified. (though OS/2 doesn't update them anyway) Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxx # v3.3+ Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a64eefaac1c5cc8dbc6995228fe08a61b8e1d26b Author: Mikulas Patocka <mikulas@xxxxxxxxxxxxx> Date: Wed Sep 2 22:50:12 2015 +0200 hpfs: support hotfixes When the OS/2 driver hits a disk write error, it writes the sector to another location and adds the sector mapping to the hotfix map. This patch makes the hpfs driver understand the hotfix map and remap accesses accoring to it. Signed-off-by: Mikulas Patocka <mikulas@xxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b636401f0ec9bbf7931774e00f3adf7ee9214cce Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Sep 2 22:23:04 2015 +0300 mlx5: Fix incorrect wc pkey_index assignment for GSI messages Since patch series "Demux IB CM requests in the rdma_cm module" the P_Key index is taken from the work completion rather than the message itself. The HCA provides us with the message P_Key. In order to provide the P_Key index, we need to look it up. Given that this is relevant only for GSI messages (session establishments) which is less performance critical, micro-optimize against the GSI (is_qp1) branch. Fixes: 4c21b5bcef73 ("IB/cma: Add net_dev and private data checks to RDMA CM") Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 11d748045c6dadb279d1acdb6d2ea8f3f2ede85b Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Tue Sep 1 09:56:56 2015 +0300 IB/mlx5: avoid destroying a NULL mr in reg_user_mr error flow The mlx5_ib_reg_user_mr() function will attempt to call clean_mr() in its error flow even though there is never a case where the error flow occurs with a valid MR pointer to destroy. Remove the clean_mr() call and the incorrect comment above it. Fixes: b4cfe447d47b ("IB/mlx5: Implement on demand paging by adding support for MMU notifiers") Cc: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8f7e0a806db0a3ba33234af3c39d68ed8c144071 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Thu Aug 27 13:02:54 2015 -0500 gfs2: A minor "sbstats" cleanup It seems cleaner to avoid the temporary value here. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit c9ea8c8b74b5fb2584879e4338770ed252d8a489 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Thu Aug 27 13:05:08 2015 -0500 gfs2: Fix a typo in a comment Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 4d207133e9c362bc05a3bb6701d63eeb75cc4b77 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Thu Aug 27 12:51:45 2015 -0500 gfs2: Make statistics unsigned, suitable for use with do_div() None of these statistics can meaningfully be negative, and the numerator for do_div() must have the type u64. The generic implementation of do_div() used on some 32-bit architectures asserts that, resulting in a compiler error in gfs2_rgrp_congested(). Fixes: 0166b197c2ed ("GFS2: Average in only non-zero round-trip times ...") Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> commit 88ffbf3e037e67b52c46d528aca1618489c21f68 Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Mon Mar 16 11:02:46 2015 -0500 GFS2: Use resizable hash table for glocks This patch changes the glock hash table from a normal hash table to a resizable hash table, which scales better. This also simplifies a lot of code. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 15562c439d0a1850b71aa1c0d92d1f4fb9503c8d Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Mon Mar 16 11:52:05 2015 -0500 GFS2: Move glock superblock pointer to field gl_name What uniquely identifies a glock in the glock hash table is not gl_name, but gl_name and its superblock pointer. This patch makes the gl_name field correspond to a unique glock identifier. That will allow us to simplify hashing with a future patch, since the hash algorithm can then take the gl_name and hash its components in one operation. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 81648d043191e5f8f5870c5af6060b56383b139d Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Thu Aug 27 11:43:00 2015 -0500 gfs2: Simplify the seq file code for "sbstats" Don't use struct gfs2_glock_iter as the helper data structure for iterating through "sbstats"; we are not iterating through glocks here. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 270e869d846af143f60b7404e01e785d18420007 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Sep 2 20:25:48 2015 +0200 drm/amdgpu: fix buffer placement under memory pressure Some buffers (UVD/VM page tables) must be placed in VRAM, but the byte restriction for moving buffers didn't took this into account. Port of radeon commit 4b09556660bfe1b43d72ca858524c6baf2c6cb1d. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit b632ffa7cee439ba5dce3b3bc4a5cbe2b3e20133 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Aug 26 11:00:37 2015 +0200 IB/uverbs: reject invalid or unknown opcodes We have many WR opcodes that are only supported in kernel space and/or require optional information to be copied into the WR structure. Reject all those not explicitly handled so that we can't pass invalid information to drivers. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 54b9a96f10d9acb7b1ffd40e2e1736443eb7656d Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Wed Aug 26 23:00:59 2015 -0400 IB/cxgb4: Fix if statement in pick_local_ip6adddrs This fixes an if statement checking the return value of the function get_lladdr for success in the function pick_local_ip6addrs to instead of directly checking the return value of this call check the opposite as get_lladdr returns zero for success which would incorrectly make this if statement block not execute with the current if statement check. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Acked-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 731857715f03035c812c3f6bdcb6b0179150c1aa Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 10:50:21 2015 -0700 Input: regulator-haptic - fix module autoload for OF platform driver This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 544edf56fdbf3916f4dad4e2dc71de3965a9d964 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 10:49:46 2015 -0700 Input: pwm-beeper - fix module autoload for OF platform driver This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e4dbe796285d96976586487fe0555f678c95b60f Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 10:49:17 2015 -0700 Input: ab8500-ponkey - Fix module autoload for OF platform driver This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f2bc114b82ecbd32b3581bebdf40f1f2c4e9941b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 3 10:47:25 2015 -0700 Input: cyttsp - remove unnecessary MODULE_ALIAS() The drivers have a I2C device ID table that is used to create the module aliases and also "cyttsp" and "cyttsp4" are not supported I2C device IDs so these module aliases are never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4aeca98c49e9873e18b27540a0ba18b22e1b9424 Author: João Paulo Rechi Vita <jprvita@xxxxxxxxx> Date: Thu Sep 3 10:04:49 2015 -0700 Input: elan_i2c - add ACPI ID "ELAN1000" This ACPI ID present in the DSDT of the ASUS E202SA laptop. Signed-off-by: João Paulo Rechi Vita <jprvita@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 50ef28a6ac216fd8b796257a3768fef8f57b917d Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Sep 1 07:48:11 2015 -0300 [media] c8sectpfe: Remove select on undefined LIBELF_32 LIBELF_32 is not defined in Kconfig, and is left over legacy which is not required in the upstream driver, so remove it. Suggested-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 01b944fe1cd4e21a2a9ed51adbdbafe2d5e905ba Merge: e51e384 58f1eae Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Sep 3 10:01:44 2015 -0700 Merge branch 'next' into for-linus Prepare first round of input updates for 4.3 merge window. commit 58f1eae48e5372200553de07b5ecc7574803ee91 Author: Duson Lin <dusonlin@xxxxxxxxxx> Date: Thu Sep 3 09:46:45 2015 -0700 Input: elan_i2c - use iap_version to get firmware information When driver is in IAP mode ic_type query may return 0xff. However iap_version will always be valid, so let's use it to determine parameters of the firmware that the controller is supposed to accept. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit cfd34ed8deede7cbb0ba46d61870f075ac9694e3 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Fri Aug 21 17:12:20 2015 -0300 [media] i2c: fix platform_no_drv_owner.cocci warnings drivers/media/i2c/tc358743.c:1960:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 543409a2475de00d336468eee5bba8409092db16 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Thu Aug 20 18:03:43 2015 -0300 [media] cx231xx: Use wake_up_interruptible() instead of wake_up_interruptible_nr() While looking at use cases of the wake queues in order to add support for simple wait queues, I noticed that there was only a single user of wake_up_interruptible_nr(), and that use was doing a single task wake up. Have that user use the proper wake_up_interruptible() instead, and perhaps we can even remove the function wake_up_interruptible_nr(). Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit abeaca0ff5666a1cd7460304e619e4c6a486ea04 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Aug 20 04:35:43 2015 -0300 [media] tc358743: only queue subdev notifications if devnode is set Hardware interrupts are enabled in the probe function, before the subdev is registered to its v4l2_device. Until v4l2_device_register_subdev_node is called, sd->devnode is NULL and v4l2_subdev_notify_event must not be called. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 22dbe35a3aa2c06cef9faa472c46e8decbcd64e9 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Aug 19 03:27:27 2015 -0300 [media] tc358743: add missing Kconfig dependency/select As reported by Randy: > when CONFIG_MEDIA_CONTROLLER is not enabled: > > ../drivers/media/i2c/tc358743.c: In function 'tc358743_probe': > ../drivers/media/i2c/tc358743.c:1890:29: error: 'struct v4l2_subdev' has no member named 'entity' > err = media_entity_init(&sd->entity, 1, &state->pad, 0); > ^ > ../drivers/media/i2c/tc358743.c:1940:26: error: 'struct v4l2_subdev' has no member named 'entity' > media_entity_cleanup(&sd->entity); > ^ > ../drivers/media/i2c/tc358743.c: In function 'tc358743_remove': > ../drivers/media/i2c/tc358743.c:1955:26: error: 'struct v4l2_subdev' has no member named 'entity' > media_entity_cleanup(&sd->entity); > ^ This driver depends on VIDEO_V4L2_SUBDEV_API and needs to select HDMI. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 62e5f051c110a4f8de66f4c33e690892089aaac4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 18 10:23:05 2015 -0300 [media] c8sectpfe: Use %pad to print 'dma_addr_t' Use %pad to print 'dma_addr_t' in order to fix the following build warning: drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:588:2: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t' [-Wformat=] Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 062683901ad5c29ac375e6b7c7bca2737d41e11a Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Aug 17 08:20:56 2015 -0300 [media] DocBook media: Fix typo "the the" in xml files This patch fix spelling typo "the the" found in controls.xml and vidioc-g-param.xml. These xml files are'nt generated from any source files, so I have to fix these xml files directly. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1e137d92c0c6f162d57ede1ba85c298acde26bdc Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Aug 18 05:31:10 2015 -0300 [media] tc358743: make reset gpio optional Commit 256148246852 ("[media] tc358743: support probe from device tree") specified in the device tree binding documentation that the reset gpio is optional. Make the implementation match accordingly. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 06d3f2e02024912d46e1fc8387c0284c9dfc36ad Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Aug 18 05:31:09 2015 -0300 [media] tc358743: set direction of reset gpio using devm_gpiod_get Commit 256148246852 ("[media] tc358743: support probe from device tree") failed to explicitly set the direction of the reset gpio. Use the optional flag of devm_gpiod_get to make up leeway. This is also necessary because the flag parameter will become mandatory soon. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 362eda04ba0638af1c41dcc1e594dcbff80346c1 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 00:53:24 2015 -0400 drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic The logic was reversed. This feature is not enabled at the moment, but fix it now for the future. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 99a092383794e07d60644b449a01656da112eb1f Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 10:16:23 2015 -0400 drm/amdgpu: fix typo in dce11 watermark setup Using the wrong watermwark value for the secondary watermark. Copy paste typo. Noticed by Mykola. Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit be9fd2e978939ab3e59ee4164fa0893e70359557 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 10:19:03 2015 -0400 drm/amdgpu: fix typo in dce10 watermark setup Using the wrong watermwark value for the secondary watermark. Copy paste typo. Noticed by Mykola. Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit dd5cdb48edfd34401799056a9acf61078d773f90 Merge: 1e1a4e8 62da986 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 08:08:17 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Pull networking updates from David Miller: "Another merge window, another set of networking changes. I've heard rumblings that the lightweight tunnels infrastructure has been voted networking change of the year. But what do I know? 1) Add conntrack support to openvswitch, from Joe Stringer. 2) Initial support for VRF (Virtual Routing and Forwarding), which allows the segmentation of routing paths without using multiple devices. There are some semantic kinks to work out still, but this is a reasonably strong foundation. From David Ahern. 3) Remove spinlock fro act_bpf fast path, from Alexei Starovoitov. 4) Ignore route nexthops with a link down state in ipv6, just like ipv4. From Andy Gospodarek. 5) Remove spinlock from fast path of act_gact and act_mirred, from Eric Dumazet. 6) Document the DSA layer, from Florian Fainelli. 7) Add netconsole support to bcmgenet, systemport, and DSA. Also from Florian Fainelli. 8) Add Mellanox Switch Driver and core infrastructure, from Jiri Pirko. 9) Add support for "light weight tunnels", which allow for encapsulation and decapsulation without bearing the overhead of a full blown netdevice. From Thomas Graf, Jiri Benc, and a cast of others. 10) Add Identifier Locator Addressing support for ipv6, from Tom Herbert. 11) Support fragmented SKBs in iwlwifi, from Johannes Berg. 12) Allow perf PMUs to be accessed from eBPF programs, from Kaixu Xia. 13) Add BQL support to 3c59x driver, from Loganaden Velvindron. 14) Stop using a zero TX queue length to mean that a device shouldn't have a qdisc attached, use an explicit flag instead. From Phil Sutter. 15) Use generic geneve netdevice infrastructure in openvswitch, from Pravin B Shelar. 16) Add infrastructure to avoid re-forwarding a packet in software that was already forwarded by a hardware switch. From Scott Feldman. 17) Allow AF_PACKET fanout function to be implemented in a bpf program, from Willem de Bruijn" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1458 commits) netfilter: nf_conntrack: make nf_ct_zone_dflt built-in netfilter: nf_dup{4, 6}: fix build error when nf_conntrack disabled net: fec: clear receive interrupts before processing a packet ipv6: fix exthdrs offload registration in out_rt path xen-netback: add support for multicast control bgmac: Update fixed_phy_register() sock, diag: fix panic in sock_diag_put_filterinfo flow_dissector: Use 'const' where possible. flow_dissector: Fix function argument ordering dependency ixgbe: Resolve "initialized field overwritten" warnings ixgbe: Remove bimodal SR-IOV disabling ixgbe: Add support for reporting 2.5G link speed ixgbe: fix bounds checking in ixgbe_setup_tc for 82598 ixgbe: support for ethtool set_rxfh ixgbe: Avoid needless PHY access on copper phys ixgbe: cleanup to use cached mask value ixgbe: Remove second instance of lan_id variable ixgbe: use kzalloc for allocating one thing flow: Move __get_hash_from_flowi{4,6} into flow_dissector.c ixgbe: Remove unused PCI bus types ... commit fca8b807a667c6f34af1cffe57efbd17b257d07b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:01:04 2015 +0000 pcmcia: soc_common: remove skt_dev_info's clk pointer We no longer need to store the clk pointer in struct skt_dev_info as we no longer need to remember the clk pointer for the cleanup paths. Reviewed-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c3eb700c5db18be80c1ba37d39995b4c23fbe792 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:57:48 2015 +0000 pcmcia: sa11xx_base.c: remove useless init/exit functions A library module is not required to have module init/exit functions. Get rid of these unnecessary functions. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 321ae9646bbfdf27550ecb65617322abc2b92052 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:46:35 2015 +0000 pcmcia: sa1111: simplify clk handing in sa1111_pcmcia_add() clk_get(dev, NULL) will always refer to the same clock, so it's pointless calling this multiple times for the same device. As we no longer have to worry about the cleanup (via use of devm_clk_get()) we can simplify sa1111_pcmcia_add() too. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 924e5ea2ce0f6addb8b098760d840b0923573d19 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:27:08 2015 +0000 pcmcia: sa1111: update socket driver to use devm_clk_get() API Update the pxa2xx socket driver to use the devm_clk_get() API so that the cleanup paths are simplified. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8e2caf0d21a7059d8b56cb19d5d0182a28b1eabc Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:33:16 2015 +0000 pcmcia: pxa2xx: convert memory allocation to devm_* API Convert the pxa2xx socket driver memory allocation to use devm_kzalloc() to simplify the cleanup path. Reviewed-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ac92f1517379299c03dc501b6a44be49cfcbcfe4 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:27:08 2015 +0000 pcmcia: pxa2xx: update socket driver to use devm_clk_get() API Update the pxa2xx socket driver to use the devm_clk_get() API so that the cleanup paths are simplified. Reviewed-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit cace5dce5581a5a1232b68e1bc7b778ff40c328b Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Sep 2 15:06:08 2015 -0400 drm/amdgpu: use top down allocation for non-CPU accessible vram Should help avoid fragmentation of vram due to CPU access requirements. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 857d913d057f8e7330e9f17eaa2b0eb7ad492c33 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Aug 27 00:14:16 2015 -0400 drm/amdgpu: be explicit about cpu vram access for driver BOs (v2) For kernel driver BOs, be explicit about whether we need vram access up front. This avoids unecessary migrations and avoids using visible vram for buffers were it's not needed. v2: line wrap fixes Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3ff32a0def6e0d2e21a6c5ad1b00726592774018 Merge: 40d3f02 8149795 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Sep 3 15:28:50 2015 +0100 Merge branch 'devel-stable' into for-linus Conflicts: drivers/perf/arm_pmu.c commit 40d3f02851577da27b5cbb1538888301245ef1e7 Merge: e0aa3a6 3939f33 9205b79 3fa6097 a5e090a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Sep 3 15:28:37 2015 +0100 Merge branches 'cleanup', 'fixes', 'misc', 'omap-barrier' and 'uaccess' into for-linus commit b7dc42fd79390c074e2bff3b172b585d5c2d80c2 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Sep 3 08:57:12 2015 -0400 ring-buffer: Revert "ring-buffer: Get timestamp after event is allocated" The commit a4543a2fa9ef31 "ring-buffer: Get timestamp after event is allocated" is needed for some future work. But after adding it, there is a race somewhere that causes the saved timestamp to have a slight shift, and get ahead of the actual timestamp and make it look like time goes backwards. I'm still looking into why this happens, but in the mean time, this is holding up other work to get in. I'm reverting the change for now (which makes the problem go away), and will add it back after I know what is wrong and fix it. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2db97045aa40da4312f7321845bc52b136c8603a Merge: fb2646a e0d8b2e Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Sep 3 14:06:33 2015 +0200 Merge branch '4.2-fixes' into mips-for-linux-next commit d5f362a7b977bdfaf8a955f3d604a29267bd5464 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Thu Sep 3 11:51:35 2015 +0200 drm/i915: Add locks around audio component bind/unbind This will make sure that audio callbacks do not race with component bind/unbind. [Note: this is an update patch to commit [51e1d83cab99: drm/i915: Call audio pin/ELD notify function] where I mistakenly applied the older version. Jani and Daniel's review tags were to the latest version, so I add them below, too -- tiwai] Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e0d8b2ec532852d4b5aabcec3e7611848c32237d Author: Yousong Zhou <yszhou4tech@xxxxxxxxx> Date: Thu Sep 3 17:47:45 2015 +0800 MIPS: UAPI: Fix unrecognized opcode WSBH/DSBH/DSHD when using MIPS16. The nomips16 has to be added both as function attribute and assembler directive. When only function attribute is specified, the compiler will inline the function with -Os optimization. The generated assembly code cannot be correctly assembled because ISA mode switch has to be done through jump instruction. When only ".set nomips16" directive is used, the generated assembly code will use MIPS32 code for the inline assembly template and MIPS16 for the function return. The compiled binary is invalid: 00403100 <__arch_swab16>: 403100: 7c0410a0 wsbh v0,a0 403104: e820ea31 swc2 $0,-5583(at) while correct code should be: 00402650 <__arch_swab16>: 402650: 7c0410a0 wsbh v0,a0 402654: 03e00008 jr ra 402658: 3042ffff andi v0,v0,0xffff Signed-off-by: Yousong Zhou <yszhou4tech@xxxxxxxxx> Cc: Chen Jie <chenj@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11087/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f0675d4a8ed9d3e863ff611561ee0944969a2784 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Thu Sep 3 11:51:34 2015 +0200 drm/i915: Drop port_mst_index parameter from pin/eld callback The port_mst_index parameter was reserved for future use, but maintainers prefer to add it later when it is actually used. [Note: this is an update patch to commit [51e1d83cab99: drm/i915: Call audio pin/ELD notify function] where I mistakenly applied the older version. Jani and Daniel's review tags were to the latest version, so I add them below, too -- tiwai] Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fb2646ab032d12ef06225c64768691c7ecc500ec Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Tue Aug 18 15:03:10 2015 +0100 MIPS: Fix alignment of quiet build output for vmlinuz link The "LD vmlinuz" line in the quiet build output is misaligned with the rest of the output. Fix this. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11019/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 65ab562cabe01d524ec6b50f37694200745c21c1 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Wed Aug 12 10:14:35 2015 +0100 MIPS: math-emu: Remove unused handle_dsemul function declaration handle_dsemul does not exist and it's not being used in the code at all so remove its declaration. The deliberate DS emulation exception is handled by the do_dsemulret C code. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10950/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a79f5f9ba5088f157482feaa6ae2bacc9da0f5db Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:36 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction MIPS R6 introduced the following instruction: Scalar Floating-Point Maximum and Scalar Floating-Point argument with Maximum Absolute Value MAX.fmt writes the maximum value of the inputs fs and ft to the destination fd. MAXA.fmt takes input arguments fs and ft and writes the argument with the maximum absolute value to the destination fd. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10961/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4e9561b20e2f5c1170704a81ec7e1ac961ba5e68 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:35 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction MIPS R6 introduced the following instruction: Scalar Floating-Point Minimum and Scalar Floating-Point argument with Minimum Absolute Value MIN.fmt writes the minimum value of the inputs fs and ft to the destination fd. MINA.fmt takes input arguments fs and ft and writes the argument with the minimum absolute value to the destination fd. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10960/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 38db37ba069f9d801ef56b820cfc7c247a7ffc02 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:34 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction MIPS R6 introduced the following instruction: Stores in fd a bit mask reflecting the floating-point class of the floating point scalar value fs. CLASS.fmt: FPR[fd] = class(FPR[fs]) Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10959/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 400bd2e41393a783e0532321fdb369d2cc15ea26 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:33 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 RINT FPU instruction MIPS R6 introduced the following instruction: Floating-Point Round to Integral Scalar floating-point round to integral floating point value. RINT.fmt: FPR[fd] = round_int(FPR[fs]) Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10958/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 83d43305a1df2aa2976e3ccf012e4cf0dc29673d Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:32 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction MIPS R6 introduced the following instruction: Floating Point Fused Multiply Subtract: MSUBF.fmt To perform a fused multiply-subtract of FP values. MSUBF.fmt: FPR[fd] = FPR[fd] - (FPR[fs] x FPR[ft]) Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10957/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e24c3bec3e8e254a3784b3e4c97bd3a76fbcc807 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:31 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction MIPS R6 introduced the following instruction: Floating Point Fused Multiply Add: MADDF.fmt To perform a fused multiply-add of FP values. MADDF.fmt: FPR[fd] = FPR[fd] + (FPR[fs] x FPR[ft]) Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10956/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 130fe357ee895421a4aefef7b1285bf52f295afe Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:30 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 SELNEZ FPU instruction MIPS R6 introduced the following instruction: SELNEZ.fmt: FPR[fd] ï?¬ FPR[ft].bit0 ? FPR[fs] : 0 Add support for emulating the single and double precision formats of the said instruction. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10955/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 67613f02788d73541c7c9b1c851061b8c223057b Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:29 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 SELEQZ FPU instruction MIPS R6 introduced the following instruction: SELEQZ.fmt: FPR[fd] ï?¬ FPR[ft].bit0 ? 0 : FPR[fs] Add support for emulating the single and double precision formats of the said instruction. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10954/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f8c3c6717a7128f9601b20f890d658283d59561a Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:28 2015 +0200 MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction Add support for emulating the new CMP.condn.fmt R6 instructions and return SIGILL for the old C.cond.fmt if R2 emulation is not enabled since it's not supported by R6. The functionality of the new CMP.condn.fmt is the following one: If the comparison specified by the condn field of the instruction is true for the operand values, the result is true; otherwise, the result is false. If no exception is taken, the result is written into FPR fd; true is all 1s and false is all 0s repeated the operand width of fmt. All other bits beyond the operand width fmt are UNPREDICTABLE. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10953/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 107d34009ef00d1680521be2c4a1cba31f9b69a6 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:27 2015 +0200 MIPS: inst.h: Add new MIPS R6 FPU opcodes Add opcodes for the new MIPS R6 FPU instructions. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10952/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cef232ec86cdadfa7f58c7db140084db0b6cc9db Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Tue Aug 11 10:56:28 2015 +0300 MIPS: Octeon: Fix management port MII address on Kontron S1901 Management port MII address is incorrect on Kontron S1901 resulting in broken networking. Fix by providing definitions for the in-tree DT pruning code. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10914/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e5dd8f2cf65cb228fad881ecd35093d8409d17c6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:10 2015 +0200 MIPS: BCM47xx: Use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10898/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1d39a5e4ce09172358a5435a3411a46e76a04bb4 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:46 2015 +0300 STAGING: Octeon: Use common helpers for determining interface and port Currently the Octeon Ethernet driver hardcodes the mapping between interface/port and IPD port number. Since we have generic helpers for the very same purpose, we might as well use them instead. This prevents having the same information in multiple places. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10975/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 31705376a2fd71f5c5b596fb2d3b2c6232a6268a Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:45 2015 +0300 MIPS: Octeon: Support interfaces 4 and 5 Add the support for mapping between interface/port numbers and IPD port numbers also for the additional interfaces some Octeon II models have. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10967/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 85847d8033b66c2f36e9a992ff3873fb10d72b80 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:44 2015 +0300 MIPS: Octeon: Set up 1:1 mapping between CN68XX PKO queues and ports Use the internal port number also as the queue number on CN68XX. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10962/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 153bfe381356226ed4c330bb2dff957a6e6c3986 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:43 2015 +0300 MIPS: Octeon: Initialize CN68XX PKO CN68XX requires a different PKO configuration. This patch provides just enough setup to get the XAUI interfaces on CN6880 working with default parameters. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10974/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f8023da8ae40c275403568d6f9fc9b585c7f6fab Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:42 2015 +0300 STAGING: Octeon: Support CN68XX style WQE CN68XX has a bit different WQE structure. This patch provides the new definitions and converts the code to use the proper variant based on the actual model. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10973/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d5f9bc7360fc130b6f26e7c0684bc61df29deb6a Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:41 2015 +0300 STAGING: Octeon: Increase output command buffers The Octeon II models have more interfaces and thus require more output command buffers. Increase the allocation to support these models. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10965/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f5cfc8db28e63d992d293d5b49d7cb8ec5214c56 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Thu Aug 13 16:21:40 2015 +0300 STAGING: Octeon: Set SSO group mask properly on CN68XX CN68XX uses SSO instead of POW. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10966/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bcbb13964dd4174f3a512d6a4460173c5c252199 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Thu Aug 13 16:21:39 2015 +0300 STAGING: Octeon: Properly enable/disable SSO WQE interrupts The Octeon models with SSO instead of POW need to use a different register for configuring the WQE interrupt thresholds. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10964/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 70b4e2ed4343f03bd7d64d6a58801ff28d231d34 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:38 2015 +0300 MIPS: Octeon: Add definitions for setting up SSO Some Octeon II models have SSO instead of POW and use a different register for setting the interrupt thresholds. Add the necessary definitions for configuring the interrupts also on those models. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10972/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b92084ba545b73933ca179d46fe11801f7f9d349 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:37 2015 +0300 MIPS: Octeon: Configure minimum PKO packet sizes on CN68XX CN68XX has common minimum packet size filters that need to be configured for the traffic to work. Just set them to a default value. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10963/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4397564542c18d2fee904b1e2c09ae15a871d853 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:36 2015 +0300 MIPS: Octeon: Configure XAUI pkinds Configure the pkinds of XAUI interfaces on Octeon models that have them. This simple configuration uses 1:1 mapping between the PIP input port number and the selected pkind. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10971/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fce0af1dc34e2765357dfbd21dd923c89254bcdb Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:35 2015 +0300 MIPS: Octeon: Support all PIP input ports on CN68XX CN68XX has 48 PIP input ports. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10969/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2c8c3f0201333f430b632c6b62a5b81456284884 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:34 2015 +0300 MIPS: Octeon: Support additional interfaces on CN68XX CN68XX has 9 interfaces. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10968/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c0034c30ed301e28c72dc516156baabf5840ce5f Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:33 2015 +0300 MIPS: Octeon: Fix CN6880 hang on XAUI init Some CN68XX series Octeon II chips seem to hang if a reset is issued on XAUI initialization. Avoid the hang by disabling the reset on affected models. Tested on Cavium EBB6800 evaluation board and Kontron S1901 board. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: http://patchwork.linux-mips.org/patch/10970/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit af0cfb2c44ee5cd3c86d1ffd054d318f536cb6dd Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Thu Aug 6 12:22:43 2015 +0100 MIPS: pistachio: Allow to enable the external timer based clocksource This commit introduces a new config, so the user can choose to enable the General Purpose Timer based clocksource. This option is required to have CPUFreq support. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Patchwork: http://patchwork.linux-mips.org/patch/10887/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 84583983c31983068429d82e6f9262009d584549 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Fri Aug 7 16:39:31 2015 +0100 CLOCKSOURCE: Add Pistachio clocksource-only driver The Pistachio SoC provides four general purpose timers, and allow to implement a clocksource driver. This driver can be used as a replacement for the MIPS GIC and MIPS R4K clocksources and sched clocks, which are clocked from the CPU clock. Given the general purpose timers are clocked from an independent clock, this new clocksource driver will be useful to introduce CPUFreq support for Pistachio machines. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10899/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d6ed2b9b60cb03091e0c84c270d145a475606297 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Jul 27 15:02:33 2015 +0100 Documentation: dt: Add Pistachio SoC general purpose timer binding document Add a device-tree binding document for the clocksource driver provided by Pistachio SoC general purpose timers. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10783/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fc6a6772f888ee8ab4c5428854f7f1d3abda13df Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Jul 27 15:00:15 2015 +0100 CLOCKSOURCE: mips-gic: Update clockevent frequency on clock rate changes This commit introduces the clockevent frequency update, using a clock notifier. It will be used to support CPUFreq on platforms using MIPS GIC based clockevents. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10782/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 42b002ab73e00b24356be4f01954fa961fea4d82 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Aug 22 02:40:41 2015 -0700 MIPS: Kconfig: Enable common clock framework for Malta and SEAD3 Now that we're ready to enable COMMON_CLK for GIC platforms do so for Malta and SEAD3. The only other user of the GIC Pistachio does already do so. [ralf@xxxxxxxxxxxxxx: Rewrite the commit message because applied in the right order there is no breakage thus no fix required.] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11038/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 67d4e669c1e504a491e44737f3561eaba919b304 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Jul 27 15:00:14 2015 +0100 CLOCKSOURCE: mips-gic: Split clocksource and clockevent initialization This is preparation work for the introduction of clockevent frequency update with a clock notifier. This is only possible when the device is passed a clk struct, so let's split the legacy and devicetree initialization. Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10781/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f95ac8558b88a5e9ae2b1d580a5cc55bffa512fa Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Jul 27 15:00:13 2015 +0100 CLOCKSOURCE: mips-gic: Add missing error returns checks This commit adds the required checks on the functions that return an error. Some of them are not critical, so only a warning is printed. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10780/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit eb811c73b69f18cefb7a63f22fe07212c6575650 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Jul 27 15:00:12 2015 +0100 CLOCKSOURCE: mips-gic: Enable the clock before using it For the clock to be used (e.g. get its rate through clk_get_rate) it should be prepared and enabled first. Also, while the clock is enabled the driver must hold a reference to it, so let's remove the call to clk_put. Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10779/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1a3d59579b9f436da038f377309cf2270c76318e Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Aug 3 08:49:30 2015 -0700 MIPS: Tidy up FPU context switching Rather than saving the scalar FP or vector context in the assembly resume function, reuse the existing C code we have in fpu.h to do exactly that. This reduces duplication, results in a much easier to read resume function & should allow the compiler to optimise out more MSA code due to is_msa_enabled()/cpu_has_msa being known-zero at compile time for kernels without MSA support. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10830/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 23eb6f4016758b756b54704b359e3c51d425d6ab Author: Antonio Ospite <ao2@xxxxxx> Date: Tue Apr 28 13:11:25 2015 +0200 MIPS: Netlogic: Fix 0x0x prefixes. Fix the 0x0x prefix in integer constants, in this case the registers interval is actually 0x8065 .. 0x80A4 as confirmed some lines above in the code. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Jiri Kosina <trivial@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9908/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b7565cc3321987e46d1f65f5b5eb3fb48268fdc2 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 29 23:17:00 2015 +0200 Documentation: MIPS now supports uprobes. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 40e084a506eba78310cd5e8ab700fd1226c6130a Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 29 22:44:53 2015 +0200 MIPS: Add uprobes support. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e3b28831c18c6c95c51b6bb717fa116d2b658ba9 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Jul 28 20:37:43 2015 +0200 MIPS: Set trap_no field in thread_struct on exception. This reverts commit 7281cd22973008a782860e48ed8d85d00204168c and adds actual functionality to use the field. commit 8c576912e4708144cbaa28228cc910746f39bafd Author: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Date: Sat Aug 1 17:44:23 2015 +0530 MIPS: Netlogic: NAND IRQ mapping Add NAND IRQ mapping for XLP9xx processor. Signed-off-by: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10820/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 079e31600786b1ef8cab15ac6345605ad9150daf Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Sat Aug 1 17:44:22 2015 +0530 MIPS: Netlogic: set ARCH_REQUIRE_GPIOLIB for XLP platform This is needed to enable GPIO framework support for Netlogic XLP platform. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10818/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a8a747764a970fc4c4f39f554c7dc08a4ca67db8 Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Sat Aug 1 17:44:21 2015 +0530 MIPS: Netlogic: add device tree entry for XLP GPIO Add GPIO entries to the Netlogic XLP device tree files. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10819/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 325f0a1833c41d2d399fda161866923b72592cc9 Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Sat Aug 1 17:44:20 2015 +0530 MIPS: Netlogic: Use chip_data for irq_chip methods Update mips/netlogic/common/irq.c and mips/pci/msi-xlp.c to use chip_data to store interrupt controller data pointer. It uses handler_data now, and that causes errors when an API (like the GPIO subsystem) tries to use the handler data. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10817/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 832f5dacfa0bb081a3b3b979a36a132b28ffacf3 Author: Alban Bedel <albeu@xxxxxxx> Date: Sun Aug 2 18:30:11 2015 +0200 MIPS: Remove all the uses of custom gpio.h Currently CONFIG_ARCH_HAVE_CUSTOM_GPIO_H is defined for all MIPS machines, and each machine type provides its own gpio.h. However only a handful really implement the GPIO API, most just forward everythings to gpiolib. The Alchemy machine is notable as it provides a system to allow implementing the GPIO API at the board level. But it is not used by any board currently supported, so it can also be removed. For most machine types we can just remove the custom gpio.h, as well as the custom wrappers if some exists. Some of the code found in the wrappers must be moved to the respective GPIO driver. A few more fixes are need in some drivers as they rely on linux/gpio.h to provides some machine specific definitions, or used asm/gpio.h instead of linux/gpio.h for the gpio API. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Florian Fainelli <florian@xxxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Daniel Walter <dwalter@xxxxxxxxxx> Cc: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Varka Bhadram <varkabhadram@xxxxxxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Michael Buesch <m@xxxxxxx> Cc: abdoulaye berthe <berthe.ab@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: linux-input@xxxxxxxxxxxxxxx Cc: netdev@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10828/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1d473c2cb9fe25fc6bad30b0eb8d92e384496042 Author: Alban Bedel <albeu@xxxxxxx> Date: Fri Jul 3 11:11:49 2015 +0200 MIPS: ath79: Move the GPIO driver to drivers/gpio GPIO drivers should be in drivers/gpio Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Gabor Juhos <juhosg@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10597/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f689332b19fa1120de1bd84988a7bd0c08bd9b7b Author: Alban Bedel <albeu@xxxxxxx> Date: Fri Jul 3 11:11:48 2015 +0200 MIPS: Ath79: Remove the unused GPIO function API To prepare moving the GPIO driver to drivers/gpio remove the platform specific pinmux API. As it is not used by any board, and such functionality should better be implemented using the pinmux subsystem just removing it seems to be the best option. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Gabor Juhos <juhosg@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10596/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5fac4f7ac067b2eee3aaf19eff8bd1d7d8e9a91e Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Thu Jul 30 08:16:10 2015 -0700 MIPS: Select CONFIG_ARCH_USE_CMPXCHG_LOCKREF for MIPS64 On MIPS64 we have spinlocks that are 32b in size and an efficient cmpxchg64 implementation, so we qualify to make use of cmpxchg backed lockrefs. Select the ARCH_USE_CMPXCHG_LOCKREF Kconfig symbol and provide a trivial implementation of arch_spin_value_unlocked to satisfy the lockref code. Using Linus' simple testcase from http://article.gmane.org/gmane.linux.file-systems/77466 on a dual core system with an in-development MIPS64 CPU running on FPGA I see around an 8% gain: Pre-patch: Total loops: 252698 Total loops: 251482 Total loops: 250806 Total loops: 252885 Total loops: 251666 Post-patch: Total loops: 273728 Total loops: 269932 Total loops: 269341 Total loops: 275004 Total loops: 270208 [ralf@xxxxxxxxxxxxxx: Fixed conflict.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10810/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f51246efee2b6bc72e86bc1d16599fc7c455b986 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 29 12:14:42 2015 +0200 MIPS: Get rid of finish_arch_switch(). MIPS was using finish_arch_switch() as a hook to restore and initialize CPU context for all threads, even newly created kernel and user threads. This is however entirely solvable within switch_to() so get rid of finish_arch_switch() which is in the way of scheduler cleanups. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f1f5e414851fdb69a3200e5c15799ea4788d423e Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 16:16:12 2015 +0100 MIPS: Use Ingenic-specific write combine attribute on all Ingenic platforms The Ingenic-specific write combining cache attribute was defined based on CONFIG_MACH_JZ4740 and therefore not used on JZ4780. Change this to CONFIG_MACH_INGENIC so that it gets used on all Ingenic platforms. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10769/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8c172467be36f7c9591e59b647e4cd342ce2ef41 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Thu Jul 30 12:03:42 2015 +0100 MIPS: Add implementation of dma_map_ops.mmap() The generic implementation of dma_map_ops.mmap(), dma_common_mmap(), is not correct for non-coherent devices. It expects to be passed a virtual address previously returned by dma_alloc_coherent(), which for a non-coherent device will return a KSEG1 address. It then attempts to convert that virtual address to a physical address using virt_to_page() which will yield an incorrect address. Also, dma_common_mmap() does not handle the DMA_ATTR_WRITE_COMBINE attribute, and therefore dma_mmap_writecombine() will not actually set the appropriate pgprot_t flags for write combining. This patch adds an implementation of dma_map_ops.mmap() that correctly handles KSEG1 addresses, and enables write combining when requested. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Sadegh Abbasi <Sadegh.Abbasi@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10808/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c4687b15a8487e8ef028814a301a88958baf72bc Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 16:16:10 2015 +0100 MIPS: Fix definition of pgprot_writecombine() If pgprot_writecombine is not #defined, asm-generic/pgtable.h will try to provide a default implementation by #defining it to pgprot_noncached. However our implementation is an inline function rather than a #define, so it was never actually used because of the #define in generic code. Add "#define pgprot_writecombine pgprot_writecombine" to prevent generic code from re-defining it. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10767/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0ce3417e84825155e2d74ac65e133bf7ba995a74 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:27 2015 -0700 MIPS: Drop EXPERIMENTAL tag from O32+FP64 & MSA CONFIG_MIPS_O32_FP64_SUPPORT and CONFIG_CPU_HAS_MSA are in pretty good shape these days, and in much wider use than they once were. Stop referring to them as EXPERIMENTAL. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10801/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3cc9fa7fb3e38e83e59977c8bc5c355687232362 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:25 2015 -0700 MIPS: Advertise MSA support via HWCAP when present If MSA is supported by both the hardware & the kernel then advertise that support to userland via the AT_HWCAP aux vector. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10799/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4c0630346e2fcfe68eac8fa31d38daf04570e671 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:24 2015 -0700 MIPS: Advertise MIPSr6 via HWCAP when appropriate When running on a CPU implementing the release 6 of the MIPS32 or MIPS64 ISA, advertise that to userland via the appropriate HWCAP bit. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10798/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e14f1db7a61f016d74393ca9e8fc49a91d27f603 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:23 2015 -0700 MIPS: AT_HWCAP aux vector infrastructure In order for userland to determine whether various features are safe to use, it will need to know both that the hardware supports those features and that the kernel is recent enough & configured appropriately to support them. For example under the O32 modeless FP proposal the dynamic linker & ifunc resolvers will need this information. The kernel is the only thing in a position to know availability accurately, so the kernel needs to provide the information to userland. This patch introduces the infrastructure to provide the AT_HWCAP aux vector to userland in order to provide that information. It also defines the 2 currently specified flags, which indicate MIPSr6 & MSA support. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10797/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bf82cb30c7e58b3a9742f0a45962ebdf51befac7 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:22 2015 -0700 MIPS: Save MSA extended context around signals It is desirable for signal handlers to be allowed to make use of MSA, particularly if auto vectorisation is used when compiling a program. The MSA context must therefore be saved & restored before & after invoking the signal handler. Make use of the extended context structs defined in the preceding patch to save MSA context after the sigframe when appropriate. [ralf@xxxxxxxxxxxxxx: Fixed conflicts.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10796/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f1fe2d21f4e1aca8644cea888dc618f0183ad671 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:21 2015 -0700 MIPS: Add definitions for extended context The context introduced by MSA needs to be saved around signals. However, we can't increase the size of struct sigcontext because that will change the offset of the signal mask in struct sigframe or struct ucontext. This patch instead places the new context immediately after the struct sigframe for traditional signals, or similarly after struct ucontext for RT signals. The layout of struct sigframe & struct ucontext is identical from their sigcontext fields onwards, so the offset from the sigcontext to the extended context will always be the same regardless of the type of signal. Userland will be able to search through the extended context by using the magic values to detect which types of context are present. Any unrecognised context can be skipped over using the size field of struct extcontext. Once the magic value END_EXTCONTEXT_MAGIC is seen it is known that there are no further extended context structures to examine. This approach is somewhat similar to that taken by ARM to save VFP & other context at the end of struct ucontext. Userland can determine whether extended context is present by checking for the USED_EXTCONTEXT bit in the sc_used_math field of struct sigcontext. Whilst this could potentially change the historic semantics of sc_used_math if further extended context which does not imply FP context were to be introduced in the future, I have been unable to find any userland code making use of sc_used_math at all. Using one of the fields described as unused in struct sigcontext was considered, but the kernel does not already write to those fields so there would be no guarantee of the field being clear on older kernels. Other alternatives would be to have userland check the kernel version, or to have a HWCAP bit indicating presence of extended context. However there is a desire to have the context & information required to decode it be self contained such that, for example, debuggers could decode the saved context easily. [ralf@xxxxxxxxxxxxxx: Fixed conflict.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10795/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0d071fa3772b85fe5d81032fbc011c623570d2fc Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:20 2015 -0700 MIPS: Indicate FP mode in sigcontext sc_used_math The sc_used_math field of struct sigcontext & its variants has traditionally been used as a boolean value indicating only whether or not floating point context is saved within the sigcontext. With various supported FP modes & the ability to switch between them this information will no longer be enough to decode the meaning of the data stored in the sc_fpregs fields of struct sigcontext. To make that possible 3 bits are defined within sc_used_math: - Bit 0 (USED_FP) represents whether FP was used, essentially providing the boolean flag which sc_used_math as a whole provided previously. - Bit 1 (USED_FR1) provides the value of the Status.FR bit at the time the FP context was saved. - Bit 2 (USED_HYBRID_FPRS) indicates whether the FP context was saved under the hybrid FPR scheme. Essentially, when set the odd singles are located in bits 63:32 of the preceding even indexed sc_fpregs element. Any userland that tests whether the sc_used_math field is zero or non-zero will continue to function as expected. Having said that, I could not find any userland which uses the sc_used_math field at all. [ralf@xxxxxxxxxxxxxx: Fixed rejects.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10794/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6a24432cf9cfb6e071fb3566144a3a5ace9d3c0d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:19 2015 -0700 MIPS: Remove unused {get,put}_sigset functions These functions are never called & thus dead code. Remove them. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10793/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d02a40aff6e043bae1cd6e6416e9048990928b1d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:18 2015 -0700 MIPS: Use common FP sigcontext code for O32 compat Make use of the common FP sigcontext code for O32 binaries running on MIPS64 kernels now that it is taking appropriate offsets into struct sigcontext(32) from struct mips_abi. [ralf@xxxxxxxxxxxxxx: Fixed reject.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10792/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6f0aba63bfb3eb33b68cf746c44b6ab302599180 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:17 2015 -0700 MIPS: Skip odd double FP registers when copying FP32 sigcontext When a task uses 32 bit floating point, the odd indexed 32b register values are stored in bits 63:32 of the preceding even indexed 64b FP register field in saved context. Thus there is no point in preserving the odd indexed 64b register fields since they hold no valid context. This patch will cause them to be skipped, as is already done in arch/mips/kernel/signal32.c. [ralf@xxxxxxxxxxxxxx: Fixed reject.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10791/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 64243c2a945640392b59fe1dc66c30ee1ca04170 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:16 2015 -0700 MIPS: Move FP usage checks into protected_{save, restore}_fp_context In preparation for sharing protected_{save,restore}_fp_context with compat ABIs, move the FP usage checks into said functions. This will both enable that code to be shared, and allow for extensions of it in further patches to also be shared. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10790/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2db9ca0a355100c40d1bef2aae3b9d9cf199cd04 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:15 2015 -0700 MIPS: Use struct mips_abi offsets to save FP context When saving FP state to struct sigcontext, make use of the offsets provided by struct mips_abi to obtain appropriate addresses for the sc_fpregs & sc_fpc_csr fields of the sigcontext. This is done only for the native struct sigcontext in this patch (ie. for O32 in CONFIG_32BIT kernels or for N64 in CONFIG_64BIT kernels) but is done in preparation for sharing this code with compat ABIs in further patches. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10789/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 778561006e5891801ac794ddf7b21148a5555e35 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:14 2015 -0700 MIPS: Add offsets to sigcontext FP fields to struct mips_abi Add fields to struct mips_abi, which holds information regarding the kernel-userland ABI regarding signals, to specify the offsets to the FP related fields within the appropriate variant of struct sigcontext. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10788/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 689ee8565c5b5af9369f4c34af04196f2d3fea83 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:13 2015 -0700 MIPS: Simplify EVA FP context handling code The protected_{save,restore}_fp_context functions had effectively different implementations for EVA. Simplify & unify the code somewhat such that EVA configurations simply guarantee the FPU-not-owned path through the standard code path. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10787/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 397d08b006fc8bbb087615214400b86b64f8fe50 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:05 2015 +0530 MIPS: sni: Migrate to new 'set-state' interface Migrate sni driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10612/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0c16240ab07ff8a0e611f676f86a92a4b513d15d Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:04 2015 +0530 MIPS: IP27: Migrate to new 'set-state' interface Migrate sgidriver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10611/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 59113d93c2b483485cf62f0b057f896e420048c2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:03 2015 +0530 MIPS: rt3352: Migrate to new 'set-state' interface Migrate ralink driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10610/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1fed884d5f3d615d56d3b3c07d5ef95f7b49b5f5 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:02 2015 +0530 MIPS: loongsoon32: Migrate to new 'set-state' interface Migrate loongsoon32 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Kelvin Cheung <keguang.zhang@xxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10609/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e3280b2a54b38406563d6422685a20172382d365 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:01 2015 +0530 MIPS: loongson64/timer: Migrate to new 'set-state' interface Migrate loongson driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. [ralf@xxxxxxxxxxxxxx: Folded in Viresh's followon fix.] Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: Hongliang Tao <taohl@xxxxxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10608/ Patchwork: https://patchwork.linux-mips.org/patch/10883/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d199da550da30e0946a7554f8a93ef75f66f8005 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:00 2015 +0530 MIPS: cevt-txx9: Migrate to new 'set-state' interface Migrate cevt-txx9 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10607/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 57e148cabbb2f1e6770d6a506088486142b26b97 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:59 2015 +0530 MIPS: cevt-sb1250: Migrate to new 'set-state' interface Migrate cevt-rsb1250 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10606/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 877c61dc63c2eaa98515abfd89596f293b543342 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:58 2015 +0530 MIPS: cevt-r4k: Migrate to new 'set-state' interface Migrate cevt-4k driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10605/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c88f2fb4d81df3dbafd79d51b2cacefb356d466c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:57 2015 +0530 MIPS: cevt-gt641xx: Migrate to new 'set-state' interface Migrate cevt-gt641xx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10604/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9f95618f9fe5fc902a3d8fecd10c98e482fab6c5 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:56 2015 +0530 MIPS: cevt-ds1287: Migrate to new 'set-state' interface Migrate cevt-ds1287 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10603/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1edf907a09e1cad9032411d84679b637ab696593 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:55 2015 +0530 MIPS: cevt-bcm1480: Migrate to new 'set-state' interface Migrate cevt-bcm1480 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Read operation on R_SCD_TIMER_CFG and R_SCD_TIMER_INIT registers isn't performed now for many modes as there returned values aren't used. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10602/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c87cbe06916868e1b14a0681e874b96cfab61083 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:54 2015 +0530 MIPS: jz4740: Migrate to new 'set-state' interface Migrate jz4740 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10601/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 20a7835f8f3666eaaec599f8f9f1628c4e7e88dd Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:53 2015 +0530 MIPS: Jazz: Migrate to new 'set-state' interface Migrate jazz driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10600/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3dcd7779ac4dada4a2c97e19a9ac3593891d89a0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:52 2015 +0530 MIPS: Alchemy: Migrate to new 'set-state' interface Migrate alchemy driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10599/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f17c4ca33601f03f4b5f598f085ee356358932b7 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Jul 23 12:02:09 2015 +0200 MIPS: Kconfig: Separate 32BIT and 64BIT config block by blank line. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1249ed3540809d30d1fe42c94276a9db2845d173 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Jul 20 09:10:20 2015 +0200 MIPS: math-emu: Move from deprecated __initcall to arch_initcall. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1bab0b627f6d9cd5af08f6be81288883d3b1aa9c Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Jul 20 09:09:40 2015 +0200 MIPS: Lasat: Move from deprecated __initcall to arch_initcall. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8d6b591ce9b2706403b4c79d72c4483a7fbeda54 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Jul 20 09:04:41 2015 +0200 MIPS: unaligned: Move from deprecated __initcall to arch_initcall. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 486fcde40d8f903dbd460fb0b5a35423528032e3 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Jul 20 08:58:20 2015 +0200 MIPS: Sibyte: Move bus watcher from deprecated __initcall to device_initcall Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bae637a2148c97882a1bbfdac08d7a5f4441cdb3 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:47 2015 +0100 MIPS: Rearrange ENTRYLO field definitions The generic field definitions (i.e. present before MIPS32/MIPS64) in mipsregs.h are conventionally not prefixed with MIPS_, so rename the recently added MIPS_ENTRYLO_* definitions for the G, V, D, and C fields to ENTRYLO_*. Also rearrange to put the EntryLo and EntryHi definitions in the right place in the file. Fixes: 8ab6abcb6aa4 ("MIPS: mipsregs.h: Add EntryLo bit definitions") Reported-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10725/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9bd860cae3c46a83371ce899ae0d665b6e253687 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:46 2015 +0100 MIPS: dump_tlb: Dump FrameMask register if exists The FrameMask register is relevant to the TLB so it should be dumped by dump_tlb_regs(), however it is only present in certain cores (r10000, r12000, r14000, r16000). Add dumping of it, conditional upon current_cpu_type(). Suggested-by: Joshua Kinard <kumba@xxxxxxxxxx> Suggested-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10724/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5d3c3c7d296d9622560558de96875cf694d96f58 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:45 2015 +0100 MIPS: dump_tlb: Only dump PageGrain if interesting The PageGrain register may not exist if certain architectural features aren't present, therefore only print out its value when dumping the TLB registers if it is expected to contain fields relevant to the TLB. Fixes: d1e9a4f54735 ("MIPS: Add SysRq operation to dump TLBs on all CPUs") Reported-by: Joshua Kinard <kumba@xxxxxxxxxx> Reported-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10723/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit aaa7be48fdbf14836ff1bc61c72969960a5923c6 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:44 2015 +0100 MIPS: Probe for small (1KiB) page support Probe Config3 for small page support. This will be useful to give clues as to whether the PageGrain register exists. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10722/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3c865dd9c1d64046877112451f13db2cb46d4d28 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:43 2015 +0100 MIPS: Refactor dumping of TLB registers for r3k/r4k The TLB registers are dumped in a couble of places: - sysrq_tlbdump_single() - when dumping TLB state. - do_mcheck() - in response to a machine check error. The main TLB registers also differ between r3k and r4k, but r4k appears to be assumed. Refactor this code into a dump_tlb_regs() function, implemented for both r3k and r4k, and used by both of the above functions. Fixes: d1e9a4f54735 ("MIPS: Add SysRq operation to dump TLBs on all CPUs") Suggested-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10721/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0f6ce77538c3f0628acdeee30738e4c8fe08d7e2 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:42 2015 +0100 Documentation/sysrq.txt: Mention MIPS TLB dump (x) Commit d1e9a4f54735 ("MIPS: Add SysRq operation to dump TLBs on all CPUs") added the 'x' sysrq key for dumping MIPS TLB entries, but didn't document it in Documentation/sysrq.txt. Add mention of the MIPS use of the 'x' SysRq key. Reported-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10720/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c909ca718e8f50cf484ef06a8dd935e738e8e53d Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 17 10:38:32 2015 +0100 MIPS: math-emu: Emulate missing BC1{EQ,NE}Z instructions Commit c8a34581ec09 ("MIPS: Emulate the BC1{EQ,NE}Z FPU instructions") added support for emulating the new R6 BC1{EQ,NE}Z branches but it missed the case where the instruction that caused the exception was not on a DS. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: c8a34581ec09 ("MIPS: Emulate the BC1{EQ,NE}Z FPU instructions") Cc: <stable@xxxxxxxxxxxxxxx> # 4.0+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10738/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e8f80cc1a6d80587136b015e989a12827e1fcfe5 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 17 10:36:03 2015 +0100 MIPS: math-emu: Allow m{f,t}hc emulation on MIPS R6 The mfhc/mthc instructions are supported on MIPS R6 so emulate them if needed. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.0+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10737/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 166457436e38175e1d9891f98d9d6edbee100f32 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 16 16:43:33 2015 +0100 MIPS: math-emu: Fix indentation Fix indentation for the final 'else' blocks. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10735/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bbdd8147b1b9efb7268a7cad31e148d794363abe Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 16 14:06:45 2015 +0100 MIPS: cp1emu: Fix closing bracket for the d_fmt case The double format (d_fmt) case uses an opening bracket which then closes at the end of the word format (w_fmt). This can be rather confusing so add the closing bracket at the end of the d_fmt case and use another one for the w_fmt one. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10733/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 674d10e26dd4c1a1b9161e9dcce0667d1c5dd318 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 16 13:24:46 2015 +0100 MIPS: Kconfig: Drop the EXPERIMENTAL tag from MIPS R6 The MIPS R6 ISA support has been part of mainline since v4.0 and it should be in a good shape nowadays so it is not an experimental feature anymore. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10731/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c46a2f01fb2bea6ae7e4e3f3f2aad65d8eda837d Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 15 11:48:15 2015 +0200 MIPS: Treat CP1 control registers as unsigned ints. These are bitfields and treating them as signed values doesn't make any sense. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Reported-by: Chris Packham <judge.packham@xxxxxxxxx> commit 82eb8f7342cf722a8bf3d42e9982f56bff166b85 Author: Chris Packham <judge.packham@xxxxxxxxx> Date: Wed Jul 15 10:44:30 2015 +1200 MIPS: Use unsigned int when reading CP0 registers Update __read_32bit_c0_register() and __read_32bit_c0_ctrl_register() to use "unsigned int res;" instead of "int res;". There is little reason to treat these register values as signed. They are either counters (which by definition are unsigned) or are made up of various bit fields to be interpreted as per the CPU datasheet. This has come up via u-boot[1] which sync's asm/mipsregs.h with the kernel. In u-boots case the value read from read_c0_count() is assigned to an unsigned long [2] which triggers a sign extension and causes a bug. U-boot should probably be more explicit about the types used for the timer_read_counter() API but that aside is there any reason to treat these values as signed integers? A quick grep around the arch/mips makes me thing that there may be some bugs lurking when read_c0_count() starts to yield a negative value but I haven't really explored any of them. [1] - http://lists.denx.de/pipermail/u-boot/2015-July/219086.html [2] - http://git.denx.de/?p=u-boot.git;a=blob;f=arch/mips/cpu/time.c#l11 Signed-off-by: Chris Packham <judge.packham@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Daniel Schwierzeck <daniel.schwierzeck@xxxxxxxxx> Cc: Chris Packham <judge.packham@xxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10718/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 570e5d26ff2e970e018343675bc64302420221d8 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jul 10 16:52:39 2015 +0100 MIPS: malta: Use generic platform_maar_init The default implementation of platform_maar_init is sufficient for Malta boards where we want to allow speculation in the regions of memory corresponding to DDR & disallow it elsewhere. Drop the custom implementation such that the default is used, reducing the duplication of information provided by the Malta platform code. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10677/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cbd95a89996d1b5fadf411e9218c64e713a83099 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jul 10 16:52:38 2015 +0100 MIPS: mm: default platform_maar_init using bootmem data Introduce a default weak implementation of platform_maar_init which makes use of the data that platforms already provide to the bootmem allocator. This should hopefully cover the most common configurations, reduce the duplication of information provided by platforms & leaves platforms with the option of providing a custom implementation if required. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10676/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e4aa1f153add29343eeb8b3bf0f64e7c6fc7e697 Author: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Date: Mon Jun 22 12:21:00 2015 +0100 MIPS: MSA unaligned memory access support The MSA architecture specification allows for hardware to not implement unaligned vector memory accesses in some or all cases. A typical example of this is the I6400 core which does not implement unaligned vector memory access when the memory crosses a page boundary. The architecture also requires that such memory accesses complete successfully as far as userland is concerned, so the kernel is required to emulate them. This patch implements support for emulating unaligned MSA ld & st instructions by copying between the user memory & the tasks FP context in struct thread_struct, updating hardware registers from there as appropriate in order to avoid saving & restoring the entire vector context for each unaligned memory access. Tested both using an I6400 CPU and with a QEMU build hacked to produce AdEL exceptions for unaligned vector memory accesses. [paul.burton@xxxxxxxxxx: - Remove #ifdef's - Move msa_op into enum major_op rather than #define - Replace msa_{to,from}_wd with {read,write}_msa_wr_{b,h,w,l} and the format-agnostic wrappers, removing the custom endian mangling for big endian systems. - Restructure the msa_op case in emulate_load_store_insn to share more code between the load & store cases. - Avoid the need for a temporary union fpureg on the stack by simply reusing the already suitably aligned context in struct thread_struct. - Use sizeof(*fpr) rather than hardcoding 16 as the size for user memory checks & copies. - Stop recalculating the address of the unaligned vector memory access and rely upon the value read from BadVAddr as we do for other unaligned memory access instructions. - Drop the now unused val8 & val16 fields in union fpureg. - Rewrite commit message. - General formatting cleanups.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Jie Chen <chenj@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10573/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6b35e11442db48638c9e9f2ff19f706484a73abe Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jun 22 12:20:59 2015 +0100 MIPS: Introduce accessors for MSA vector registers Introduce accessor functions allowing the kernel to access arbitrary vector registers using an arbitrary data format. The accessors are implemented in assembly, using macros to avoid massive duplication, in order to make use of the existing support for MSA with & without toolchain support. The accessors will be used in a later patch. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10572/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6701ca2df4e22fb130330800b6cde687cb761637 Author: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Date: Mon Jun 22 12:20:58 2015 +0100 MIPS: Declare MSA MI10 instruction formats Declare a struct describing the MSA MI10 instruction format used for ld & st instructions, for use by subsequent patches. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10571/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b620c9720a0e18bc2067c65ad3b9020e813372eb Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:12:03 2015 -0500 MIPS: Remove "__weak" definition from arch-specific linkage.h "__weak" is defined in include/linux/compiler-gcc.h. We shouldn't need an arch-specific definition. Remove the "__weak" definition from arch/mips/include/asm/linkage.h. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10689/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e1d97497309867cdc1064ed6b10953abd1740b05 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:54 2015 -0500 MIPS: Remove "weak" from mips_cdmm_phys_base() declaration Weak header file declarations are error-prone because they make every definition weak, and the linker chooses one based on link order (see 10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node decl")). mips_cdmm_phys_base() is defined only in arch/mips/mti-malta/malta-memory.c so there's no problem with multiple definitions. But it works better to have a weak default implementation and allow a strong function to override it. Then we don't have to test whether a definition is present, and if there are ever multiple strong definitions, we get a link error instead of calling a random definition. Add a weak mips_cdmm_phys_base() definition and remove the weak annotation from the declaration in arch/mips/include/asm/cdmm.h. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10688/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 770847bad0200b62af2d93808b4e69d82f14264e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:46 2015 -0500 MIPS: Remove "weak" from get_c0_fdc_int() declaration Weak header file declarations are error-prone because they make every definition weak, and the linker chooses one based on link order (see 10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node decl")). The most elegant solution is to have a weak default implementation and allow a strong function to override it. Then we don't have to test whether a definition is present, and if there are ever multiple strong definitions, we get a link error instead of calling a random definition. Add a weak get_c0_fdc_int() definition with the default code and remove the weak annotation from the declaration. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10687/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ec0b9d35d1fbf7e3a3eccc662ad641794d3685a5 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:38 2015 -0500 MIPS: Remove "weak" from get_c0_compare_int() declaration Weak header file declarations are error-prone because they make every definition weak, and the linker chooses one based on link order (see 10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node decl")). get_c0_compare_int() is defined in several files. Each definition is weak, so I assume Kconfig prevents two or more from being included. The caller contains default code used when get_c0_compare_int() isn't defined at all. Add a weak get_c0_compare_int() definition with the default code and remove the weak annotation from the declaration. Then the platform implementations will be strong and will override the weak default. If multiple platforms are ever configured in, we'll get a link error instead of calling a random platform's implementation. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10686/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5a73882fd2c3a86b502d54da532d373a1f2db15e Author: York Sun <yorksun@xxxxxxxxxxxxx> Date: Wed Sep 2 11:40:46 2015 -0500 i2c: mux: reg Change ioread endianness for readback Reading the register (if allowed) after writing is to ensure writing is completed on a posted bus. The endianness of reading doesn't matter. Signed-off-by: York Sun <yorksun@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit a05a34e7f6ff4a942186e99932885b10c6bc1d1a Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 2 11:03:41 2015 +0300 i2c: mux: reg: fix compilation warnings With CONFIG_OF=n, the following warnings occur when compiling drivers/i2c/muxes/i2c-mux-reg.c: CC drivers/i2c/muxes/i2c-mux-reg.o drivers/i2c/muxes/i2c-mux-reg.c:170:13: warning: â??struct gpiomuxâ?? declared inside parameter list [enabled by default] struct platform_device *pdev) ^ drivers/i2c/muxes/i2c-mux-reg.c:170:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] drivers/i2c/muxes/i2c-mux-reg.c: In function â??i2c_mux_reg_probeâ??: drivers/i2c/muxes/i2c-mux-reg.c:201:3: warning: passing argument 1 of â??i2c_mux_reg_probe_dtâ?? from incompatible pointer type [enabled by default] ret = i2c_mux_reg_probe_dt(mux, pdev); ^ Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fce388afd633cdf20844e17f47b0d97c7ee06e69 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Thu Aug 20 23:40:46 2015 +0200 i2c: mux: reg: simplify register size checking Checking was done at three different locations, just do it once and properly at probing time. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: York Sun <yorksun@xxxxxxxxxxxxx> commit f35f3a48d6ee810557b58e6b7d933438999401b6 Author: Thomas Huth <thuth@xxxxxxxxxx> Date: Wed Sep 2 11:14:48 2015 +0200 KVM: PPC: Book3S: Fix size of the PSPB register The size of the Problem State Priority Boost Register is only 32 bits, but the kvm_vcpu_arch->pspb variable is declared as "ulong", ie. 64-bit. However, the assembler code accesses this variable with 32-bit accesses, and the KVM_REG_PPC_PSPB macro is defined with SIZE_U32, too, so that the current code is broken on big endian hosts: kvmppc_get_one_reg_hv() will only return zero for this register since it is using the wrong half of the pspb variable. Let's fix this problem by adjusting the size of the pspb field in the kvm_vcpu_arch structure. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 06554d9f6cc8f0b5ec903db19726a15dfc7b09d6 Author: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 17:41:20 2015 +0530 KVM: PPC: Book3S HV: Exit on H_DOORBELL if HOST_IPI is set The code that handles the case when we receive a H_DOORBELL interrupt has a comment which says "Hypervisor doorbell - exit only if host IPI flag set". However, the current code does not actually check if the host IPI flag is set. This is due to a comparison instruction that got missed. As a result, the current code performs the exit to host only if some sibling thread or a sibling sub-core is exiting to the host. This implies that, an IPI sent to a sibling core in (subcores-per-core != 1) mode will be missed by the host unless the sibling core is on the exit path to the host. This patch adds the missing comparison operation which will ensure that when HOST_IPI flag is set, we unconditionally exit to the host. Fixes: 66feed61cdf6 Cc: stable@xxxxxxxxxxxxxxx # v4.1+ Signed-off-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 7f23532866f931be626e69ff55caf39e54516047 Author: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 21:48:58 2015 +0530 KVM: PPC: Book3S HV: Fix race in starting secondary threads The current dynamic micro-threading code has a race due to which a secondary thread naps when it is supposed to be running a vcpu. As a side effect of this, on a guest exit, the primary thread in kvmppc_wait_for_nap() finds that this secondary thread hasn't cleared its vcore pointer. This results in "CPU X seems to be stuck!" warnings. The race is possible since the primary thread on exiting the guests only waits for all the secondaries to clear its vcore pointer. It subsequently expects the secondary threads to enter nap while it unsplits the core. A secondary thread which hasn't yet entered the nap will loop in kvm_no_guest until its vcore pointer and the do_nap flag are unset. Once the core has been unsplit, a new vcpu thread can grab the core and set the do_nap flag *before* setting the vcore pointers of the secondary. As a result, the secondary thread will now enter nap via kvm_unsplit_nap instead of running the guest vcpu. Fix this by setting the do_nap flag after setting the vcore pointer in the PACA of the secondary in kvmppc_run_core. Also, ensure that a secondary thread doesn't nap in kvm_unsplit_nap when the vcore pointer in its PACA struct is set. Fixes: b4deba5c41e9 Signed-off-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit abceaa9cded5f059f8c3b3b6f32730084fe5e39f Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Mon Aug 31 11:34:05 2015 +0800 cpuidle/coupled: Add sanity check for safe_state_index Since we are using cpuidle_driver::safe_state_index directly as the target state index, it is better to add the sanity check at the point of registering the driver. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 29e47e2173349ee06bd339f7753821c720d50923 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 2 10:16:13 2015 +0200 PM / Domains: Try power off masters in error path of __pm_genpd_poweron() While powering up a genpd, its domain masters are first being powered up. In the error path of __pm_genpd_poweron(), we didn't care to try power off these domain masters. Let's deal with that to avoid leaving unused PM domains powered. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a2022001cebd0825b96aa0f3345ea3ad44ae79d4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Sep 2 14:36:50 2015 +0530 cpufreq: dt: Tolerance applies on both sides of target voltage Tolerance applies on both sides of the target voltage, i.e. both min and max sides. But while checking if a voltage is supported by the regulator or not, we haven't taken care of tolerance on the lower side. Fix that. Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Fixes: 045ee45c4ff2 ("cpufreq: cpufreq-dt: disable unsupported OPPs") Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8bc862843901e282e58f5ecd66f1df24366ecb6b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Sep 2 14:36:49 2015 +0530 cpufreq: dt: Print error on failing to mark OPPs as shared We need to explicitly mark OPPs as shared, when they are not defined with OPP-v2 bindings. This operation can potentially fail, and in that case we should at least print an error message. Fixes: 2e02d8723edf ("cpufreq: dt: Add support for operating-points-v2 bindings") Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7d5d0c8ba369cbfb68eec6912f35197d82214668 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Sep 2 14:36:48 2015 +0530 cpufreq: dt: Check OPP count before marking them shared We need to explicitly mark OPPs as shared, when they are not defined with OPP-v2 bindings. But this isn't required to be done if we failed to initialize OPP table. Reorder code to verify OPP count before marking them shared. Fixes: 2e02d8723edf ("cpufreq: dt: Add support for operating-points-v2 bindings") Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0ed537b5fd18c38b526fd0e6837a00f96aee30c4 Merge: 72e624d 50a3cb0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Sep 3 02:46:01 2015 +0200 Merge branch 'pm-opp' into pm-cpufreq commit 21dd33b09c61597df603c654589adffd7955491a Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Sep 2 16:18:57 2015 -0600 kernel/cpu_pm: fix cpu_cluster_pm_exit comment cpu_cluster_pm_exit() must be sent after cpu_cluster_pm_enter() has been sent for the cluster and before any cpu_pm_exit() notifications are sent for any CPU. Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1e1a4e8f439113b7820bc7150569f685e1cc2b43 Merge: d975f30 cc7da0b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 16:35:26 2015 -0700 Merge tag 'dm-4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper update from Mike Snitzer: - a couple small cleanups in dm-cache, dm-verity, persistent-data's dm-btree, and DM core. - a 4.1-stable fix for dm-cache that fixes the leaking of deferred bio prison cells - a 4.2-stable fix that adds feature reporting for the dm-stats features added in 4.2 - improve DM-snapshot to not invalidate the on-disk snapshot if snapshot device write overflow occurs; but a write overflow triggered through the origin device will still invalidate the snapshot. - optimize DM-thinp's async discard submission a bit now that late bio splitting has been included in block core. - switch DM-cache's SMQ policy lock from using a mutex to a spinlock; improves performance on very low latency devices (eg. NVMe SSD). - document DM RAID 4/5/6's discard support [ I did not pull the slab changes, which weren't appropriate for this tree, and weren't obviously the right thing to do anyway. At the very least they need some discussion and explanation before getting merged. Because not pulling the actual tagged commit but doing a partial pull instead, this merge commit thus also obviously is missing the git signature from the original tag ] * tag 'dm-4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm cache: fix use after freeing migrations dm cache: small cleanups related to deferred prison cell cleanup dm cache: fix leaking of deferred bio prison cells dm raid: document RAID 4/5/6 discard support dm stats: report precise_timestamps and histogram in @stats_list output dm thin: optimize async discard submission dm snapshot: don't invalidate on-disk image on snapshot write overflow dm: remove unlikely() before IS_ERR() dm: do not override error code returned from dm_get_device() dm: test return value for DM_MAPIO_SUBMITTED dm verity: remove unused mempool dm cache: move wake_waker() from free_migrations() to where it is needed dm btree remove: remove unused function get_nr_entries() dm btree: remove unused "dm_block_t root" parameter in btree_split_sibling() dm cache policy smq: change the mutex to a spinlock commit 2ff46e6fea6254ac8fa97aeb9c14e51436ab95f6 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Sep 2 16:34:35 2015 -0700 mtd: spi-nor: fix NULL dereference when no match found in spi_nor_ids[] Commit 06bb6f5a69df ("mtd: spi-nor: stop (ab)using struct spi_device_id") converted an array into a pointer, which means that we should be checking if the pointer goes anywhere, not whether the C string is empty. To do the latter means we dereference a NULL pointer when we reach the terminating entry, for which 'name' is now NULL instead of an array { 0, 0, ... }. Sample crash: [ 1.101371] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 1.109457] pgd = c0004000 [ 1.112157] [00000000] *pgd=00000000 [ 1.115736] Internal error: Oops: 5 [#1] SMP ARM [ 1.120345] Modules linked in: [ 1.123405] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 4.2.0-next-20150902+ #61 [ 1.130611] Hardware name: Rockchip (Device Tree) [ 1.135306] task: ee0b8d40 ti: ee0ba000 task.ti: ee0ba000 [ 1.140697] PC is at spi_nor_scan+0x90/0x8c4 [ 1.144958] LR is at spi_nor_scan+0xa4/0x8c4 ... [ 1.504112] [<c03cc2e0>] (spi_nor_scan) from [<c03cb188>] (m25p_probe+0xc8/0x11c) [ 1.511583] [<c03cb188>] (m25p_probe) from [<c03cd9d8>] (spi_drv_probe+0x60/0x7c) [ 1.519055] [<c03cd9d8>] (spi_drv_probe) from [<c037faa0>] (driver_probe_device+0x1a0/0x444) [ 1.527478] [<c037faa0>] (driver_probe_device) from [<c037fec8>] (__device_attach_driver+0x94/0xa0) [ 1.536507] [<c037fec8>] (__device_attach_driver) from [<c037db3c>] (bus_for_each_drv+0x94/0xa4) [ 1.545277] [<c037db3c>] (bus_for_each_drv) from [<c037f7e4>] (__device_attach+0xa4/0x144) [ 1.553526] [<c037f7e4>] (__device_attach) from [<c0380058>] (device_initial_probe+0x1c/0x20) [ 1.562035] [<c0380058>] (device_initial_probe) from [<c037ec88>] (bus_probe_device+0x38/0x94) [ 1.570631] [<c037ec88>] (bus_probe_device) from [<c037ccf4>] (device_add+0x430/0x558) [ 1.578534] [<c037ccf4>] (device_add) from [<c03d0240>] (spi_add_device+0xe4/0x174) [ 1.586178] [<c03d0240>] (spi_add_device) from [<c03d0a24>] (spi_register_master+0x698/0x7d4) [ 1.594688] [<c03d0a24>] (spi_register_master) from [<c03d0ba0>] (devm_spi_register_master+0x40/0x7c) [ 1.603892] [<c03d0ba0>] (devm_spi_register_master) from [<c03d2fb4>] (rockchip_spi_probe+0x360/0x3f4) [ 1.613182] [<c03d2fb4>] (rockchip_spi_probe) from [<c0381e34>] (platform_drv_probe+0x58/0xa8) [ 1.621779] [<c0381e34>] (platform_drv_probe) from [<c037faa0>] (driver_probe_device+0x1a0/0x444) [ 1.630635] [<c037faa0>] (driver_probe_device) from [<c037fdc4>] (__driver_attach+0x80/0xa4) [ 1.639058] [<c037fdc4>] (__driver_attach) from [<c037e850>] (bus_for_each_dev+0x98/0xac) [ 1.647221] [<c037e850>] (bus_for_each_dev) from [<c037f448>] (driver_attach+0x28/0x30) [ 1.655210] [<c037f448>] (driver_attach) from [<c037ef74>] (bus_add_driver+0x128/0x250) [ 1.663200] [<c037ef74>] (bus_add_driver) from [<c0380c40>] (driver_register+0xac/0xf0) [ 1.671191] [<c0380c40>] (driver_register) from [<c0381d50>] (__platform_driver_register+0x58/0x6c) [ 1.680221] [<c0381d50>] (__platform_driver_register) from [<c0a467c8>] (rockchip_spi_driver_init+0x18/0x20) [ 1.690033] [<c0a467c8>] (rockchip_spi_driver_init) from [<c00098a4>] (do_one_initcall+0x124/0x1dc) [ 1.699063] [<c00098a4>] (do_one_initcall) from [<c0a19f84>] (kernel_init_freeable+0x218/0x2ec) [ 1.707748] [<c0a19f84>] (kernel_init_freeable) from [<c0719ed8>] (kernel_init+0x1c/0xf4) [ 1.715912] [<c0719ed8>] (kernel_init) from [<c000fe50>] (ret_from_fork+0x14/0x24) [ 1.723460] Code: e3510000 159f67c0 0a00000c e5961000 (e5d13000) [ 1.729564] ---[ end trace 95baa6b3b861ce25 ]--- Fixes: 06bb6f5a69df ("mtd: spi-nor: stop (ab)using struct spi_device_id") Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> commit 62da98656b62a5ca57f22263705175af8ded5aa1 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Sep 3 01:26:07 2015 +0200 netfilter: nf_conntrack: make nf_ct_zone_dflt built-in Fengguang reported, that some randconfig generated the following linker issue with nf_ct_zone_dflt object involved: [...] CC init/version.o LD init/built-in.o net/built-in.o: In function `ipv4_conntrack_defrag': nf_defrag_ipv4.c:(.text+0x93e95): undefined reference to `nf_ct_zone_dflt' net/built-in.o: In function `ipv6_defrag': nf_defrag_ipv6_hooks.c:(.text+0xe3ffe): undefined reference to `nf_ct_zone_dflt' make: *** [vmlinux] Error 1 Given that configurations exist where we have a built-in part, which is accessing nf_ct_zone_dflt such as the two handlers nf_ct_defrag_user() and nf_ct6_defrag_user(), and a part that configures nf_conntrack as a module, we must move nf_ct_zone_dflt into a fixed, guaranteed built-in area when netfilter is configured in general. Therefore, split the more generic parts into a common header under include/linux/netfilter/ and move nf_ct_zone_dflt into the built-in section that already holds parts related to CONFIG_NF_CONNTRACK in the netfilter core. This fixes the issue on my side. Fixes: 308ac9143ee2 ("netfilter: nf_conntrack: push zone object into functions") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a82b0e63917f597c546cd479acc938e08ac54f2d Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 2 20:54:02 2015 +0200 netfilter: nf_dup{4, 6}: fix build error when nf_conntrack disabled While testing various Kconfig options on another issue, I found that the following one triggers as well on allmodconfig and nf_conntrack disabled: net/ipv4/netfilter/nf_dup_ipv4.c: In function â??nf_dup_ipv4â??: net/ipv4/netfilter/nf_dup_ipv4.c:72:20: error: â??nf_skb_duplicatedâ?? undeclared (first use in this function) if (this_cpu_read(nf_skb_duplicated)) [...] net/ipv6/netfilter/nf_dup_ipv6.c: In function â??nf_dup_ipv6â??: net/ipv6/netfilter/nf_dup_ipv6.c:66:20: error: â??nf_skb_duplicatedâ?? undeclared (first use in this function) if (this_cpu_read(nf_skb_duplicated)) Fix it by including directly the header where it is defined. Fixes: bbde9fc1824a ("netfilter: factor out packet duplication for IPv4/IPv6") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed63f1dcd5788d36f942fbcce350742385e3e18c Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 2 17:24:14 2015 +0800 net: fec: clear receive interrupts before processing a packet The patch just to re-submit the patch "db3421c114cfa6326" because the patch "4d494cdc92b3b9a0" remove the change. Clear any pending receive interrupt before we process a pending packet. This helps to avoid any spurious interrupts being raised after we have fully cleaned the receive ring, while still allowing an interrupt to be raised if we receive another packet. The position of this is critical: we must do this prior to reading the next packet status to avoid potentially dropping an interrupt when a packet is still pending. Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e41b0bedba0293b9e1e8d1e8ed553104b9693656 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Sep 3 00:29:07 2015 +0200 ipv6: fix exthdrs offload registration in out_rt path We previously register IPPROTO_ROUTING offload under inet6_add_offload(), but in error path, we try to unregister it with inet_del_offload(). This doesn't seem correct, it should actually be inet6_del_offload(), also ipv6_exthdrs_offload_exit() from that commit seems rather incorrect (it also uses rthdr_offload twice), but it got removed entirely later on. Fixes: 3336288a9fea ("ipv6: Switch to using new offload infrastructure.") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7cc8c5cde0a5872f5d013f82978b73c011d8f8f1 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Sep 2 15:22:48 2015 -0700 NFSv4.1/flexfiles: Clean up ff_layout_write_done_cb/ff_layout_commit_done_cb Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f95c03b2d5fb6d56c0d7ec21970329b49b657fed Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Sep 2 15:15:11 2015 -0700 NFSv4.1/flexfiles: Mark the layout for return in ff_layout_io_track_ds_error() When I/O cannot complete due to a fatal error on the DS, ensure that we invalidate the corresponding layout segment and return it. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0f12a27b47284e86eaa4a5ad3877ec3018463178 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Aug 14 18:42:32 2015 +0200 mtd: spi-nor: s25sl064p supports both dual and quad I/O This chip can be found on Hitex LPC4350 Evaluation Board. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c1752086796bafaf0c933240642ed1cf21ddab4f Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Wed Aug 26 14:56:53 2015 +0200 mtd: spi-nor: allow dual/quad reads on S25FL129P According to the datasheet[1], both S25FL129P0 (256kB sectors) and S25FL129P1 (64kB sectors) support dual read, quad read, dual i/o read and quad i/o read. I have verified dual read to be working for S25FL129P1 on a dual capable spi controller. Quad as well as S25FL129P0 is untested, lacking hardware to verify. [1] http://www.spansion.com/Support/Datasheets/S25FL129P_00.pdf Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 092f05c3eccbd616a0cfa21945412a3e82a9fb6c Author: Roger Quadros <rogerq@xxxxxx> Date: Fri Aug 21 13:45:35 2015 +0300 mtd: nand: omap2: Rename shippable module to omap2_nand As both omap2 onenand and omap2 nand driver modules are named the same i.e. "omap2.ko", only one of them gets shipped during MODPOST if both are configured as loadable modules. To avoid this ambiguity let's ship the omap2 nand driver as "omap2_nand.ko" Reported by Pierre Neyron via github https://github.com/beagleboard/linux/issues/40 Cc: Robert Nelson <robertcnelson@xxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a1d97ef96e3899ad9d4ec0024f9b4927e0490689 Author: Alexis Ballier <aballier@xxxxxxxxxx> Date: Fri Aug 14 19:35:39 2015 +0200 mtd: spi-nor: Add support for sst25wf020a It is a 256KiB flash with 4 KiB erase sectors and 64KiB overlay blocks. This is the one available on Hardkernel's Odroid U3 shield. Signed-off-by: Alexis Ballier <aballier@xxxxxxxxxx> [Brian: seems like this does NOT require the usual SST_WRITE hacks] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2a06c7b1fd2389aed2a308db8de803603d592444 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Aug 27 12:52:19 2015 +0300 mtd: spi-nor: Add support for Micron n25q064a serial flash Add Micron (n25q064a) 8MB flash to the list of supported chips. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Jagan Teki <jteki@xxxxxxxxxxxx> [Brian: fixup context] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d975f309a8b250e67b66eabeb56be6989c783629 Merge: 52b084d f8bcbe6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:22:38 2015 -0700 Merge branch 'for-4.3/sg' of git://git.kernel.dk/linux-block Pull SG updates from Jens Axboe: "This contains a set of scatter-gather related changes/fixes for 4.3: - Add support for limited chaining of sg tables even for architectures that do not set ARCH_HAS_SG_CHAIN. From Christoph. - Add sg chain support to target_rd. From Christoph. - Fixup open coded sg->page_link in crypto/omap-sham. From Christoph. - Fixup open coded crypto ->page_link manipulation. From Dan. - Also from Dan, automated fixup of manual sg_unmark_end() manipulations. - Also from Dan, automated fixup of open coded sg_phys() implementations. - From Robert Jarzmik, addition of an sg table splitting helper that drivers can use" * 'for-4.3/sg' of git://git.kernel.dk/linux-block: lib: scatterlist: add sg splitting function scatterlist: use sg_phys() crypto/omap-sham: remove an open coded access to ->page_link scatterlist: remove open coded sg_unmark_end instances crypto: replace scatterwalk_sg_chain with sg_chain target/rd: always chain S/G list scatterlist: allow limited chaining without ARCH_HAS_SG_CHAIN commit 52b084d31cbc8e90cb6fc1ac4061d9a24375c89d Merge: 1081230 e19b127 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:14:58 2015 -0700 Merge branch 'for-4.3/drivers' of git://git.kernel.dk/linux-block Pull block driver updates from Jens Axboe: "On top of the 4.3 core block IO changes, here are the driver related changes for 4.3. Basically just NVMe and nbd this time around: - NVMe: - PRACT PI improvement from Alok Pandey. - Cleanups and improvements on submission queue doorbell and writing, using CMB if available. From Jon Derrick. - From Keith, support for setting queue maximum segments, and reset support. - Also from Jon, fixup of u64 division issue on 32-bit archs and wiring up of the reset support through and ioctl. - Two small cleanups from Matias and Sunad - Various code cleanups and fixes from Markus Pargmann" * 'for-4.3/drivers' of git://git.kernel.dk/linux-block: NVMe: Using PRACT bit to generate and verify PI by controller NVMe:Remove unreachable code in nvme_abort_req NVMe: Add nvme subsystem reset IOCTL NVMe: Add nvme subsystem reset support NVMe: removed unused nn var from nvme_dev_add NVMe: Set queue max segments nbd: flags is a u32 variable nbd: Rename functions for clearness of recv/send path nbd: Change 'disconnect' to be boolean nbd: Add debugfs entries nbd: Remove variable 'pid' nbd: Move clear queue debug message nbd: Remove 'harderror' and propagate error properly nbd: restructure sock_shutdown nbd: sock_shutdown, remove conditional lock nbd: Fix timeout detection nvme: Fixes u64 division which breaks i386 builds NVMe: Use CMB for the IO SQes if available NVMe: Unify SQ entry writing and doorbell ringing commit 1081230b748de8f03f37f80c53dfa89feda9b8de Merge: df91039 2ca495a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:10:25 2015 -0700 Merge branch 'for-4.3/core' of git://git.kernel.dk/linux-block Pull core block updates from Jens Axboe: "This first core part of the block IO changes contains: - Cleanup of the bio IO error signaling from Christoph. We used to rely on the uptodate bit and passing around of an error, now we store the error in the bio itself. - Improvement of the above from myself, by shrinking the bio size down again to fit in two cachelines on x86-64. - Revert of the max_hw_sectors cap removal from a revision again, from Jeff Moyer. This caused performance regressions in various tests. Reinstate the limit, bump it to a more reasonable size instead. - Make /sys/block/<dev>/queue/discard_max_bytes writeable, by me. Most devices have huge trim limits, which can cause nasty latencies when deleting files. Enable the admin to configure the size down. We will look into having a more sane default instead of UINT_MAX sectors. - Improvement of the SGP gaps logic from Keith Busch. - Enable the block core to handle arbitrarily sized bios, which enables a nice simplification of bio_add_page() (which is an IO hot path). From Kent. - Improvements to the partition io stats accounting, making it faster. From Ming Lei. - Also from Ming Lei, a basic fixup for overflow of the sysfs pending file in blk-mq, as well as a fix for a blk-mq timeout race condition. - Ming Lin has been carrying Kents above mentioned patches forward for a while, and testing them. Ming also did a few fixes around that. - Sasha Levin found and fixed a use-after-free problem introduced by the bio->bi_error changes from Christoph. - Small blk cgroup cleanup from Viresh Kumar" * 'for-4.3/core' of git://git.kernel.dk/linux-block: (26 commits) blk: Fix bio_io_vec index when checking bvec gaps block: Replace SG_GAPS with new queue limits mask block: bump BLK_DEF_MAX_SECTORS to 2560 Revert "block: remove artifical max_hw_sectors cap" blk-mq: fix race between timeout and freeing request blk-mq: fix buffer overflow when reading sysfs file of 'pending' Documentation: update notes in biovecs about arbitrarily sized bios block: remove bio_get_nr_vecs() fs: use helper bio_add_page() instead of open coding on bi_io_vec block: kill merge_bvec_fn() completely md/raid5: get rid of bio_fits_rdev() md/raid5: split bio for chunk_aligned_read block: remove split code in blkdev_issue_{discard,write_same} btrfs: remove bio splitting and merge_bvec_fn() calls bcache: remove driver private bio splitting code block: simplify bio_add_page() block: make generic_make_request handle arbitrarily sized bios blk-cgroup: Drop unlikely before IS_ERR(_OR_NULL) block: don't access bio->bi_error after bio_put() block: shrink struct bio down to 2 cache lines again ... commit df910390e2db07a76c87f258475f6c96253cee6c Merge: 91a247d 9f55bca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 12:22:54 2015 -0700 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull first round of SCSI updates from James Bottomley: "This includes one new driver: cxlflash plus the usual grab bag of updates for the major drivers: qla2xxx, ipr, storvsc, pm80xx, hptiop, plus a few assorted fixes. There's another tranch coming, but I want to incubate it another few days in the checkers, plus it includes a mpt2sas separated lifetime fix, which Avago won't get done testing until Friday" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (85 commits) aic94xx: set an error code on failure storvsc: Set the error code correctly in failure conditions storvsc: Allow write_same when host is windows 10 storvsc: use storage protocol version to determine storage capabilities storvsc: use correct defaults for values determined by protocol negotiation storvsc: Untangle the storage protocol negotiation from the vmbus protocol negotiation. storvsc: Use a single value to track protocol versions storvsc: Rather than look for sets of specific protocol versions, make decisions based on ranges. cxlflash: Remove unused variable from queuecommand cxlflash: shift wrapping bug in afu_link_reset() cxlflash: off by one bug in cxlflash_show_port_status() cxlflash: Virtual LUN support cxlflash: Superpipe support cxlflash: Base error recovery support qla2xxx: Update driver version to 8.07.00.26-k qla2xxx: Add pci device id 0x2261. qla2xxx: Fix missing device login retries. qla2xxx: do not clear slot in outstanding cmd array qla2xxx: Remove decrement of sp reference count in abort handler. qla2xxx: Add support to show MPI and PEP FW version for ISP27xx. ... commit 91a247d7d3694a161092931ea4e0b13c11b8e9a0 Merge: 8bdc69b 718e38b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 12:16:24 2015 -0700 Merge tag 'for-linus-20150901' of git://git.infradead.org/linux-mtd Pull MTD updates from Brian Norris: "SPI NOR: - reduce virtual address space requirements for fsl-quadspi memory map - new fsl-quadspi IP support: imx6ul-qspi and imx7d-qspi - add new NOR flash device support - add new driver for NXP SPI Flash Interface (SPIFI) - stop abusing SPI API structs for non-SPI framework - fixup DT table matching for new "jedec,spi-nor" string NAND: - brcmnand: fix big endian MIPS macro usage - denali: refactor to use devres, dev_*() printing, etc. - OMAP ELM: change the module alias to actually be usable - pxa3xx_nand: fixup a few command sequencing issues -- both new and old - race conditions in the IRQ handler status clearing - problems when a bootloader left interrupts pending - config issues when overriding the bootloader configuration - new flash device support - sunxi_nand: - optimize timing configuration by calculation, rather than fixed fail-safe values - use EDO setting from ONFI - r852: fix compiler warnings - davinci: add 4KB page support Core: - oobtest: correct debug print information" * tag 'for-linus-20150901' of git://git.infradead.org/linux-mtd: (42 commits) mtd: mtd_oobtest: Fix the address offset with vary_offset case mtd: blkdevs: fix switch-bool compilation warning mtd: spi-nor: stop (ab)using struct spi_device_id mtd: nand: add Toshiba TC58NVG0S3E to nand_ids table mtd: dataflash: Export OF module alias information nand: pxa3xx: Increase READ_ID buffer and make the size static mtd: nand: pxa3xx-nand: fix random command timeouts mtd: nand: pxa3xx_nand: fix early spurious interrupt mtd: pxa3xx_nand: add a default chunk size mtd: omap_elm: Fix module alias mtd: physmap_of: fix null pointer deference when kzalloc returns null mtd: nettel: do not ignore mtd_device_register() failure in nettel_init() mtd: denali_pci: switch to dev_err() mtd: denali_pci: refactor driver using devres API mtd: denali_pci: use module_pci_driver() macro mtd: denali: hide core part from user in Kconfig mtd: spi-nor: add Spansion S25FL204K support mtd: spi-nor: Improve Kconfig help text for SPI_FSL_QUADSPI mtd: spi-nor: add driver for NXP SPI Flash Interface (SPIFI) doc: dt: add documentation for nxp,lpc1773-spifi ... commit 210c34dcd8d912dcc740f1f17625a7293af5cb56 Author: Paul Durrant <Paul.Durrant@xxxxxxxxxx> Date: Wed Sep 2 17:58:36 2015 +0100 xen-netback: add support for multicast control Xen's PV network protocol includes messages to add/remove ethernet multicast addresses to/from a filter list in the backend. This allows the frontend to request the backend only forward multicast packets which are of interest thus preventing unnecessary noise on the shared ring. The canonical netif header in git://xenbits.xen.org/xen.git specifies the message format (two more XEN_NETIF_EXTRA_TYPEs) so the minimal necessary changes have been pulled into include/xen/interface/io/netif.h. To prevent the frontend from extending the multicast filter list arbitrarily a limit (XEN_NETBK_MCAST_MAX) has been set to 64 entries. This limit is not specified by the protocol and so may change in future. If the limit is reached then the next XEN_NETIF_EXTRA_TYPE_MCAST_ADD sent by the frontend will be failed with NETIF_RSP_ERROR. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4db78d31deff77f227de56316ee865d65eaa7f01 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Sep 2 13:25:59 2015 -0300 bgmac: Update fixed_phy_register() Commit a5597008dbc2 ("phy: fixed_phy: Add gpio to determine link up/down.") added a new argument to fixed_phy_register(), but missed to update bgmac driver, causing the following build failure: drivers/net/ethernet/broadcom/bgmac.c:1450:2: error: too few arguments to function 'fixed_phy_register' Add the missing argument. Reported-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b382c08656000c12a146723a153b85b13a855b49 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 2 14:00:36 2015 +0200 sock, diag: fix panic in sock_diag_put_filterinfo diag socket's sock_diag_put_filterinfo() dumps classic BPF programs upon request to user space (ss -0 -b). However, native eBPF programs attached to sockets (SO_ATTACH_BPF) cannot be dumped with this method: Their orig_prog is always NULL. However, sock_diag_put_filterinfo() unconditionally tries to access its filter length resp. wants to copy the filter insns from there. Internal cBPF to eBPF transformations attached to sockets don't have this issue, as orig_prog state is kept. It's currently only used by packet sockets. If we would want to add native eBPF support in the future, this needs to be done through a different attribute than PACKET_DIAG_FILTER to not confuse possible user space disassemblers that work on diag data. Fixes: 89aa075832b0 ("net: sock: allow eBPF programs to be attached to sockets") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba13b5f8f86efa78bc0aaea297b0001b6cbf6c21 Author: Kaike Wan <kaike.wan@xxxxxxxxx> Date: Thu Aug 20 14:20:42 2015 -0400 IB/sa: Fix rdma netlink message flags The flags to ibnl_put_msg should be NLM_F_REQUEST instead of GFP_KERNEL. Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: John Fleck <john.fleck@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bddf8026386927985ef6d0d11c3ba78f70b76bad Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Sep 1 16:44:11 2015 +0800 drm/amdgpu: set MEC doorbell range for Fiji Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ac01db3dd5a0c7916e804a52752b780c5c18b98d Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Sep 1 13:13:54 2015 +0800 drm/amdgpu: implement burst NOP for SDMA Customize the insert_nop func for SDMA rings, and use burst NOP for ring/IB submissions in other places as well Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit edff0e2826412be38f0c7977cbf89262141aad87 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Sep 1 13:04:08 2015 +0800 drm/amdgpu: add insert_nop ring func and default implementation The insert_nop function is added to amdgpu_ring_funcs structure as well as the default implementation Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4b2f7e2ca94d58ea16e411a1f717392b91f7730a Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Sep 1 12:56:17 2015 +0800 drm/amdgpu: add amdgpu_get_sdma_instance helper function This function is added to map the ring to sdma instance Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 36f523a7c095192662286057a7eb70d583203fe5 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Sep 1 12:54:27 2015 +0800 drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES Remove the hardcoded usage Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 18111de0dfc38c582c4348af3bda5d3331d35012 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Mon Aug 31 14:06:39 2015 +0800 drm/amdgpu: add burst_nop flag for sdma The burst NOP is supported for SDMA when feature_version is >= 20. Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4207a734c32cafd8ea603eb440d6a8e100e7d1d2 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Mon Aug 31 14:01:05 2015 +0800 drm/amdgpu: add count field for the SDMA NOP packet v2 This is added to support the burst NOP v2: squash the typo fix Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a60c42320b375e80e52e7861acd6b81c61f05166 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Sep 1 15:33:25 2015 +0200 drm/amdgpu: use PT for VM sync on unmap Instead of the array which is used for ID management. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit c9f0fe5e19ec485476c3b22e9265016b96c813ef Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 31 15:46:12 2015 +0800 drm/amdgpu: make wait_event uninterruptible in push_job with interruptible, the push_job maybe return -ERESTARTSYS, then result in push_job error. E.g. bug trace: [ 181.618860] *****amdgpu_copy_buffer:fence->seq:0x0000000048d8758b, contxt:1207959552, ref:683967304, r:-512 [ 181.618929] BUG: unable to handle kernel paging request at ffffffff811aa266 [ 181.625887] IP: [<ffffffff81548ffc>] reservation_object_add_excl_fence+0x3c/0x120 ... [ 181.859767] [<ffffffff811aa266>] ? unmap_mapping_range+0x66/0x110 [ 181.865928] [<ffffffffc0608ac1>] ttm_bo_move_accel_cleanup+0x41/0x3c0 [ttm] [ 181.872971] [<ffffffffc062d382>] amdgpu_move_blit.isra.18+0x122/0x150 [amdgpu] [ 181.880254] [<ffffffff811aa266>] ? unmap_mapping_range+0x66/0x110 [ 181.886420] [<ffffffffc062d709>] amdgpu_bo_move+0xa9/0x200 [amdgpu] [ 181.892753] [<ffffffffc0606e8d>] ttm_bo_handle_move_mem+0x26d/0x5c0 [ttm] Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 4c28fb0b27ad58d772cb972564369b9ebdad0d6b Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 28 17:27:54 2015 +0200 drm/amdgpu: fix amdgpu_bo_unreserve order in GEM_OP IOCTL v2 No copy_(to|from)_user while BO is reserved. v2: handle default path as well Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 8221d706f4f39337e28644f333aefbca41ac0d18 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Sep 2 12:14:57 2015 -0400 drm/amdgpu: partially revert "modify amdgpu_fence_wait_any() to amdgpu_fence_wait_multiple()" v2 That isn't used any more. v2: rebase Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 09bfda10e6efd7b65bcc29237bee1765ed779657 Author: Jeffery Miller <jmiller@xxxxxxxxxxxxx> Date: Tue Sep 1 11:23:02 2015 -0400 Add radeon suspend/resume quirk for HP Compaq dc5750. With the radeon driver loaded the HP Compaq dc5750 Small Form Factor machine fails to resume from suspend. Adding a quirk similar to other devices avoids the problem and the system resumes properly. Signed-off-by: Jeffery Miller <jmiller@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 423a9480add9d9afba035d3c2617034d5f766065 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 24 16:59:54 2015 +0800 drm/amdgpu: re-work sync_resv sync_resv is to handle both amdgpu_fence and sched_fence. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit e39daf2c63518a8ce92e3ad5caa04097524b3585 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Aug 31 11:08:44 2015 -0400 drm/amdgpu/atom: Send out the full AUX address AUX addresses are 20 bits long. Send out the entire address instead of just the low 16 bits. Port of: drm/radeon/atom: Send out the full AUX address to amdgpu Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 8bdc69b764013a9b5ebeef7df8f314f1066c5d79 Merge: 76ec51e 20f1f4b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 08:04:23 2015 -0700 Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup Pull cgroup updates from Tejun Heo: - a new PIDs controller is added. It turns out that PIDs are actually an independent resource from kmem due to the limited PID space. - more core preparations for the v2 interface. Once cpu side interface is settled, it should be ready for lifting the devel mask. for-4.3-unified-base was temporarily branched so that other trees (block) can pull cgroup core changes that blkcg changes depend on. - a non-critical idr_preload usage bug fix. * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: cgroup: pids: fix invalid get/put usage cgroup: introduce cgroup_subsys->legacy_name cgroup: don't print subsystems for the default hierarchy cgroup: make cftype->private a unsigned long cgroup: export cgrp_dfl_root cgroup: define controller file conventions cgroup: fix idr_preload usage cgroup: add documentation for the PIDs controller cgroup: implement the PIDs subsystem cgroup: allow a cgroup subsystem to reject a fork commit 76ec51ef5edfe540bbc3c61b860f88deb8e6a37b Merge: 7d3e2eb 292c24a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 08:03:25 2015 -0700 Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu Pull percpu updates from Tejun Heo: "Minor cleanups" * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: clean up of schunk->map[] assignment in pcpu_setup_first_chunk percpu: update incorrect comment for this_cpu_*() operations commit 7d3e2eb1786fafa186eb8bc276edef75ba69e023 Merge: 2dc7e55 355c066 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 08:02:20 2015 -0700 Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq Pull workqueue updates from Tejun Heo: "Only three trivial changes for workqueue this time - doc, MAINTAINERS and EXPORT_SYMBOL updates" * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: fix some docbook warnings workqueue: Make flush_workqueue() available again to non GPL modules workqueue: add myself as a dedicated reviwer commit 2dc7e555e33e645df70a8aa89c529de1902f0064 Merge: ae98207 d6e9b70 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 08:00:54 2015 -0700 Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata updates from Tejun Heo: "Nothing interesting. A couple device specific minor updates and a kernel doc change" * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: ata: pata_arasam_cf: Use devm_clk_get libata: fix libata-core.c kernel-doc warning ata: sata_rcar: Remove obsolete sata-r8a779* platform_device_id entries commit c3058579a2882bb4bb6bf1ab0fe65f5ed070e530 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:55 2015 +0900 drm/exynos: remove buf_cnt from struct exynos_drm_fb Looking other drm drivers, there is no the restriction that framebuffer has only one buffer in .create_handle() callback. They use just first buffer. If this limitation is removed, there is no reason keeping buffer count for framebuffer, so we can remove buf_cnt from struct exynos_drm_fb. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit faec262b14f3d92601c06b5c73b45ea71d0d164b Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:54 2015 +0900 drm/exynos: remove exynos_drm_fb_get_buf_cnt() We can get buffer count of framebuffer using drm_format_num_planes(), so keeping exynos_drm_fb_get_buf_cnt() is unnecessary. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8d31758ecfe156fa4775017858613a5087eb57bf Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:53 2015 +0900 drm/exynos: cleanup exynos_user_fb_create() Using exynos_drm_framebuffer_init(), redundant codes can be removed. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d56125afcbdfde09bcb05d3e07e1d063989b5f74 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:52 2015 +0900 drm/exynos: update exynos_drm_framebuffer_init() for multiple buffers This modifies exynos_drm_framebuffer_init() to be possible to support multiple buffers. Then it can be used by exynos_user_fb_create(). Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit dcbb85a1641771547d83ee3a43230ea76703ed68 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:51 2015 +0900 drm/exynos: cleanup to get gem object for fb Current codes get first gem object and then again get remain gem objects. They can be unified to one routine. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit ee885ca5c0a34d5212eae9293ee8359e65c73715 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:50 2015 +0900 drm/exynos: update fb_info via only one function This patch moves codes to update fb_info into exynos_drm_fbdev_update(), so fb_info is updated via only one function. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d76199609823ef0c5ab20ccdc8785df283241fd1 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:49 2015 +0900 drm/exynos: cleanup exynos_drm_fbdev_update() It can get exynos_gem object via function argument, so no need to call exynos_drm_fb_gem_obj() in exynos_drm_fbdev_update. It also can get struct drm_framebuffer *fb via helper->fb, so can remove a function argument for it. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 39a839f2e65185bcde80f99b5ee5ccd649ba07a2 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:48 2015 +0900 drm/exynos: s/exynos_gem_obj/obj in exynos_drm_fbdev.c The variable name "exynos_gem_obj" is too long, so some lines exceed 80 characters. It's simple to use "obj" instead of "exynos_gem_obj". Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 94e30d93f9360051b76e8e2a4b61753cde5e16c8 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:47 2015 +0900 drm/exynos: remove exynos_drm_fb_set_buf_cnt() The exynos_drm_fb_set_buf_cnt() is used to set buffer count only in exynos_drm_fbdev_update(). This patch sets directly buffer count in exynos_drm_framebuffer_init() without using exynos_drm_fb_set_buf_cnt(), so there is no any reason to keep exynos_drm_fb_set_buf_cnt(). Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7de5c36c2aa9fc7ae1443d144f895ffd044c6b36 Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 00:51:23 2015 +0200 drm/exynos: remove superfluous checks in g2d_check_reg_offset() The cases of the switch statement ensure that reg_type can never be REG_TYPE_NONE here. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 179239a7ae805f7695167c62a97eac3efe52d7af Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 00:51:24 2015 +0200 drm/exynos: fix size check in g2d_check_buf_desc_is_valid() The size check was incomplete. It only computed the size of area of the drawing rectangle and checked if the size still fit inside the buffer. The correct check is to compute the position of the last byte that the G2D engine is going to access and then check if that position is still contained in the buffer. In particular we need the stride information to determine this. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a457974f1b9524a6e7d0a0be10df760e7802d32f Author: Andrew Elble <aweits@xxxxxxx> Date: Mon Aug 31 12:06:41 2015 -0400 nfsd: deal with DELEGRETURN racing with CB_RECALL We have observed the server sending recalls for delegation stateids that have already been successfully returned. Change nfsd4_cb_recall_done() to return success if the client has returned the delegation. While this does not completely eliminate the sending of recalls for delegations that have already been returned, this does prevent unnecessarily declaring the callback path to be down. Reported-by: Eric Meddaugh <etmsys@xxxxxxx> Signed-off-by: Andrew Elble <aweits@xxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4e3d1e26c2b2c40ebff69f2825fa862bfcf082d1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:12 2015 +0300 drm/i915: Pass hpd_status_i915[] to intel_get_hpd_pins() in pre-g4x Pass the correct hpd[] array to intel_get_hpd_pins() on pre-g4x platforms. This got broken in the following commit: commit fd63e2a972c670887e5e8a08440111d3812c0996 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Jul 21 15:32:44 2015 -0700 drm/i915: combine i9xx_get_hpd_pins and pch_get_hpd_pins Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Egbert Eich <eich@xxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 16f7249ddf831f5ec0e1358222ce5db300446b84 Author: Artem Savkov <asavkov@xxxxxxxxxx> Date: Wed Sep 2 13:41:18 2015 +0200 uapi/drm/i915_drm.h: fix userspace compilation. commit 346add7834557b5b9628b9bf2387106d42e631d4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 14 18:07:30 2015 +0200 drm/i915: Use expcitly fixed type in compat32 structs changed the type of param field in drm_i915_getparam from int to s32. This header is exported to userspace and needs to use userspace type __s32 instead. This fixes userspace compilation errors like the following: include/drm/i915_drm.h:361:2: error: unknown type name 's32' s32 param; Signed-off-by: Artem Savkov <asavkov@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 51bc140431e233284660b1d22c47dec9ecdb521e Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:10:39 2015 +0100 drm/i915: Always mark the object as dirty when used by the GPU There have been many hard to track down bugs whereby userspace forgot to flag a write buffer and then cause graphics corruption or a hung GPU when that buffer was later purged under memory pressure (as the buffer appeared clean, its pages would have been evicted rather than preserved and any changes more recent than in the backing storage would be lost). In retrospect this is a rare optimisation against memory pressure, already the slow path. If we always mark the buffer as dirty when accessed by the GPU, anything not used can still be evicted cheaply (ideal behaviour for mark-and-sweep eviction) but we do not run the risk of corruption. For correct read serialisation, userspace still has to notify when the GPU writes to an object. However, there are certain situations under which userspace may wish to tell white lies to the kernel... Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Kristian Høgsberg <krh@xxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: "Goel, Akash" <akash.goel@xxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f36203be608a38a5b5523a7aa52cc72f757b9679 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 26 22:55:07 2015 +0300 drm/dp: Add dp_aux_i2c_speed_khz module param to set the assume i2c bus speed To help with debugging i2c-over-aux issues, add a module parameter than can be used to tweak the assumed i2c bus speed, and thus the maximum number of retries we will do for each aux message. Cc: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Cc: moosotc@xxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 4efa83c8c786ab7ec7982e3dd348cb7e7ecbeb04 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 1 20:12:54 2015 +0300 drm/dp: Adjust i2c-over-aux retry count based on message size and i2c bus speed Calculate the number of retries we should do for each i2c-over-aux message based on the time it takes to perform the i2c transfer vs. the aux transfer. We assume the shortest possible length for the aux transfer, and the longest possible (exluding clock stretching) for the i2c transfer. The DP spec has some examples on how to calculate this, but we don't calculate things quite the same way. The spec doesn't account for the retry interval (assumes immediate retry on defer), and doesn't assume the best/worst case behaviour as we do. Note that currently we assume 10 kHz speed for the i2c bus. Some real world devices (eg. some Apple DP->VGA dongle) fails with less than 16 retries. and that would correspond to something close to 15 kHz (with our method of calculating things) But let's just go for 10 kHz to be on the safe side. Ideally we should query/set the i2c bus speed via DPCD but for now this should at leaast remove the regression from the 1->16 byte trasnfer size change. And of course if the sink completes the transfer quicker this shouldn't slow things down since we don't change the interval between retries. I did a few experiments with a DP->DVI dongle I have that allows you to change the i2c bus speed. Here are the results of me changing the actual bus speed and the assumed bus speed and seeing when we start to fail the operation: actual i2c khz assumed i2c khz max retries 1 1 ok -> 2 fail 211 ok -> 106 fail 5 8 ok -> 9 fail 27 ok -> 24 fail 10 17 ok -> 18 fail 13 ok -> 12 fail 100 210 ok -> 211 fail 2 ok -> 1 fail So based on that we have a fairly decent safety margin baked into the formula to calculate the max number of retries. Fixes a regression with some DP dongles from: commit 1d002fa720738bcd0bddb9178e9ea0773288e1dd Author: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Date: Tue Feb 10 18:38:08 2015 +0000 drm/dp: Use large transactions for I2C over AUX v2: Use best case for AUX and worst case for i2c (Simon Farnsworth) Add a define our AUX retry interval and account for it v3: Make everything usecs to avoid confusion about units (Daniel) Add a comment reminding people about the AUX bitrate (Daniel) Use DIV_ROUND_UP() since we're after the "worst" case for i2c Cc: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Cc: moosotc@xxxxxxxxx Tested-by: moosotc@xxxxxxxxx Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91451 Reviewed-by: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 79a2b161c12a1b751f53a7698494cb722530bca5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 26 22:55:05 2015 +0300 drm/dp: Define AUX_RETRY_INTERVAL as 500 us Currently we react to native and i2c defers by waiting either 400-500 us or 500-600 us, depending on which code path we take. Consolidate them all to one define AUX_RETRY_INTERVAL which defines the minimum interval. Since we've been using two different intervals pick the longer of them and define AUX_RETRY_INTERVAL as 500 us. For the maximum just use AUX_RETRY_INTERVAL+100 us. I want to have a define for this so that I can use it when calculating the estimated duration of i2c-over-aux transfers. Without a define it would be very easy to change the sleep duration and neglect to update the i2c-over-aux estimates. Cc: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Cc: moosotc@xxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 57817e619a215588739f3f644986c78b586b541b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:31:54 2015 +0200 video: fbdev: atmel_lcdfb: remove useless include Definitions from linux/platform_data/atmel.h are not used, remove the include. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 6869de380e8c11c31b608bb2502dcacd634eda13 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 2 12:24:55 2015 +0200 ALSA: hda - Fix missing inline for dummy snd_hdac_set_codec_wakeup() This seems overlooked. Fixes: 98d8fc6c5d36 ('ALSA: hda - Move hda_i915.c from sound/pci/hda to sound/hda') Cc: <stable@xxxxxxxxxxxxxxx> # v4.2+ Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 25adc137c546ce297b4d76820913dda11cad3891 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Aug 19 10:48:58 2015 +0200 ALSA: hda - Wake the codec up on pin/ELD notify events Whenever there is an event from the i915 driver, wake the codec and recheck plug/unplug + ELD status. This fixes the issue with lost unsol events in power save mode, the codec and controller can now sleep in D3 and still know when the HDMI monitor has been connected. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 45c053df5bdc4843cf19b920db6ab819ddc27ff7 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Aug 19 10:48:57 2015 +0200 ALSA: hda - allow codecs to access the i915 pin/ELD callback This lets the interested codec be notified when an i915 pin/ELD event happens. [tiwai: Fixed a trivial build error for CONFIG_SND_HDA_I915=n] Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 51e1d83cab9988716ae68801a721f4df0aaa374b Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Aug 19 10:48:56 2015 +0200 drm/i915: Call audio pin/ELD notify function When the audio codec is enabled or disabled, notify the audio driver. This will enable the audio driver to get the notification at all times (even when audio is in different powersave states). Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2a8ceedf787167e6b1670b89d44e8dffca14d19c Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Aug 19 10:48:55 2015 +0200 drm/i915: Add audio pin sense / ELD callback This callback will be called by the i915 driver to notify the hda driver that its HDMI information needs to be refreshed, i e, that audio output is now available (or unavailable) - usually as a result of a monitor being plugged in (or unplugged). Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5b923564ccf43f92969c9e0fd199c8c5db657039 Merge: 5320266 af4aead Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 2 09:22:53 2015 +0200 Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/urgent fixes from Arnaldo Carvalho de Melo: - Fix link time error with sample_reg_masks on non-x86. (Stephane Eranian) - Fix potential array out of bounds access. (Wang Nan) - Fix Intel PT instruction decoder dependency problem. (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 20a17bf6c04e3eca8824c930ecc55ab832558e3b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 1 21:19:17 2015 -0700 flow_dissector: Use 'const' where possible. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de4c1f8ba302ccf4f2b3b17dc614b0a0b14d351a Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 18:11:04 2015 -0700 flow_dissector: Fix function argument ordering dependency Commit c6cc1ca7f4d70c ("flowi: Abstract out functions to get flow hash based on flowi") introduced a bug in __skb_set_sw_hash where we require a dependency on evaluating arguments in a function in order. There is no such ordering enforced in C, so this incorrect. This patch fixes that by splitting out the arguments. This bug was found via a compiler warning that keys may be uninitialized. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bd40543534578f20889d5e999a0f184fd7ea88f Merge: a17ace9 990a2d6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 1 20:17:17 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-09-01 This series contains updates to i40e, ixgbe and ixgbevf. Anjali fixes a bug in i40e where the port is not receiving multicast or VLAN tagged packets in promiscuous mode. Which can occur when a software bridge is created on top of the device. Don adds support in ixgbe that indicates the presence of management firmware. Added support for entering low power link up state on devices that support it when the device is closing or suspending. Updated the driver to report unknown bus speed and width since IOSF does not report a PCIe bus speed or width for X550 devices. Also added the new bus type for integrated I/O interface (IOSF). Cleaned up of redundant code in ixgbe. Mark adds support for UDP-encapsulation transmit checksum and for VXLAN receive offloads. Introduces a helper function to do the register access and processing to avoid needless PHY access on copper PHYs. Added support for reporting 2.5G link speed. Fixed warnings resulting from redundant initializations of the get_bus_info field. Maninder Singh updates the ixgbe driver to use kzalloc instead of kcalloc for allocation of one thing. Tom Barbette adds support for ethtool to change the rxfh indirection table and/or key using ethtool interface. Emil resolves an issue where users were not able to dynamically set number of queues for 82598 via ethtool -L. Alex Williamson removes bimodal SR-IOV disabling behavior since it is confusing to users and results in a state where the PF is broken for other uses unless the user sets sriov_numvfs to zero prior to unbinding the device. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae982073095a44f004d7ffb9f271077abef9dbcf Merge: f1a3c0b e625ccec Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 19:45:46 2015 -0700 Merge tag 'pm+acpi-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI updates from Rafael Wysocki: "From the number of commits perspective, the biggest items are ACPICA and cpufreq changes with the latter taking the lead (over 50 commits). On the cpufreq front, there are many cleanups and minor fixes in the core and governors, driver updates etc. We also have a new cpufreq driver for Mediatek MT8173 chips. ACPICA mostly updates its debug infrastructure and adds a number of fixes and cleanups for a good measure. The Operating Performance Points (OPP) framework is updated with new DT bindings and support for them among other things. We have a few updates of the generic power domains framework and a reorganization of the ACPI device enumeration code and bus type operations. And a lot of fixes and cleanups all over. Included is one branch from the MFD tree as it contains some PM-related driver core and ACPI PM changes a few other commits are based on. Specifics: - ACPICA update to upstream revision 20150818 including method tracing extensions to allow more in-depth AML debugging in the kernel and a number of assorted fixes and cleanups (Bob Moore, Lv Zheng, Markus Elfring). - ACPI sysfs code updates and a documentation update related to AML method tracing (Lv Zheng). - ACPI EC driver fix related to serialized evaluations of _Qxx methods and ACPI tools updates allowing the EC userspace tool to be built from the kernel source (Lv Zheng). - ACPI processor driver updates preparing it for future introduction of CPPC support and ACPI PCC mailbox driver updates (Ashwin Chaugule). - ACPI interrupts enumeration fix for a regression related to the handling of IRQ attribute conflicts between MADT and the ACPI namespace (Jiang Liu). - Fixes related to ACPI device PM (Mika Westerberg, Srinidhi Kasagar). - ACPI device registration code reorganization to separate the sysfs-related code and bus type operations from the rest (Rafael J Wysocki). - Assorted cleanups in the ACPI core (Jarkko Nikula, Mathias Krause, Andy Shevchenko, Rafael J Wysocki, Nicolas Iooss). - ACPI cpufreq driver and ia64 cpufreq driver fixes and cleanups (Pan Xinhui, Rafael J Wysocki). - cpufreq core cleanups on top of the previous changes allowing it to preseve its sysfs directories over system suspend/resume (Viresh Kumar, Rafael J Wysocki, Sebastian Andrzej Siewior). - cpufreq fixes and cleanups related to governors (Viresh Kumar). - cpufreq updates (core and the cpufreq-dt driver) related to the turbo/boost mode support (Viresh Kumar, Bartlomiej Zolnierkiewicz). - New DT bindings for Operating Performance Points (OPP), support for them in the OPP framework and in the cpufreq-dt driver plus related OPP framework fixes and cleanups (Viresh Kumar). - cpufreq powernv driver updates (Shilpasri G Bhat). - New cpufreq driver for Mediatek MT8173 (Pi-Cheng Chen). - Assorted cpufreq driver (speedstep-lib, sfi, integrator) cleanups and fixes (Abhilash Jindal, Andrzej Hajda, Cristian Ardelean). - intel_pstate driver updates including Skylake-S support, support for enabling HW P-states per CPU and an additional vendor bypass list entry (Kristen Carlson Accardi, Chen Yu, Ethan Zhao). - cpuidle core fixes related to the handling of coupled idle states (Xunlei Pang). - intel_idle driver updates including Skylake Client support and support for freeze-mode-specific idle states (Len Brown). - Driver core updates related to power management (Andy Shevchenko, Rafael J Wysocki). - Generic power domains framework fixes and cleanups (Jon Hunter, Geert Uytterhoeven, Rajendra Nayak, Ulf Hansson). - Device PM QoS framework update to allow the latency tolerance setting to be exposed to user space via sysfs (Mika Westerberg). - devfreq support for PPMUv2 in Exynos5433 and a fix for an incorrect exynos-ppmu DT binding (Chanwoo Choi, Javier Martinez Canillas). - System sleep support updates (Alan Stern, Len Brown, SungEun Kim). - rockchip-io AVS support updates (Heiko Stuebner). - PM core clocks support fixup (Colin Ian King). - Power capping RAPL driver update including support for Skylake H/S and Broadwell-H (Radivoje Jovanovic, Seiichi Ikarashi). - Generic device properties framework fixes related to the handling of static (driver-provided) property sets (Andy Shevchenko). - turbostat and cpupower updates (Len Brown, Shilpasri G Bhat, Shreyas B Prabhu)" * tag 'pm+acpi-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (180 commits) cpufreq: speedstep-lib: Use monotonic clock cpufreq: powernv: Increase the verbosity of OCC console messages cpufreq: sfi: use kmemdup rather than duplicating its implementation cpufreq: drop !cpufreq_driver check from cpufreq_parse_governor() cpufreq: rename cpufreq_real_policy as cpufreq_user_policy cpufreq: remove redundant 'policy' field from user_policy cpufreq: remove redundant 'governor' field from user_policy cpufreq: update user_policy.* on success cpufreq: use memcpy() to copy policy cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event cpufreq: mediatek: Add MT8173 cpufreq driver dt-bindings: mediatek: Add MT8173 CPU DVFS clock bindings PM / Domains: Fix typo in description of genpd_dev_pm_detach() PM / Domains: Remove unusable governor dummies PM / Domains: Make pm_genpd_init() available to modules PM / domains: Align column headers and data in pm_genpd_summary output powercap / RAPL: disable the 2nd power limit properly tools: cpupower: Fix error when running cpupower monitor PM / OPP: Drop unlikely before IS_ERR(_OR_NULL) PM / OPP: Fix static checker warning (broken 64bit big endian systems) ... commit f1a3c0b933e7ff856223d6fcd7456d403e54e4e5 Merge: 089b669 c8fb70a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 19:37:56 2015 -0700 Merge tag 'devicetree-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree updates from Rob Herring: - added Frank Rowand as DT maintainer in preparation for Grant's retirement. - generic MSI binding documentation and a few other minor doc updates - fix long standing issue with DT platorm device unregistration - fix loop forever bug in of_find_matching_node_by_address() * tag 'devicetree-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: MAINTAINERS: Add Frank Rowand as DT maintainer mtd: nand: pxa3xx: add optional dma for pxa architecture Documentation: DT: cpsw: document missing compatible Docs: dt: add generic MSI bindings drivercore: Fix unregistration path of platform devices of/address: Don't loop forever in of_find_matching_node_by_address(). of: Add vendor prefix for JEDEC Solid State Technology Association of/platform: add function to populate default bus of: Add vendor prefix for Sharp Corporation commit 5a924a07f882e866f2337bf65048be357956691a Merge: 64291f7 934c93b d0a1262 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Wed Sep 2 10:08:02 2015 +0800 Merge branches 'thermal-core' and 'thermal-intel' of .git into next commit 089b669506ef28fae2c24a0ec21e06c02a38556b Merge: 45c680b e5f6450 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 18:46:42 2015 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull trivial tree updates from Jiri Kosina: "The usual stuff from trivial tree for 4.3 (kerneldoc updates, printk() fixes, Documentation and MAINTAINERS updates)" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits) MAINTAINERS: update my e-mail address mod_devicetable: add space before */ scsi: a100u2w: trivial typo in printk i2c: Fix typo in i2c-bfin-twi.c treewide: fix typos in comment blocks Doc: fix trivial typo in SubmittingPatches proportions: Spelling s/consitent/consistent/ dm: Spelling s/consitent/consistent/ aic7xxx: Fix typo in error message pcmcia: Fix typo in locking documentation scsi/arcmsr: Fix typos in error log drm/nouveau/gr: Fix typo in nv10.c [SCSI] Fix printk typos in drivers/scsi staging: comedi: Grammar s/Enable support a/Enable support for a/ Btrfs: Spelling s/consitent/consistent/ README: GTK+ is a acronym ASoC: omap: Fix typo in config option description mm: tlb.c: Fix error message ntfs: super.c: Fix error log fix typo in Documentation/SubmittingPatches ... commit 45c680b9949ecdb829a331100ae49926bf82899c Merge: 851328f 225f58f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 18:44:28 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching Pull livepatching fix from Jiri Kosina: "Livepatching error handling fix" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching: livepatch: Improve error handling in klp_disable_func() commit 851328feb8c1d4130d3a0acb004e474168702d6d Merge: 2d678b6 f212bd9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 18:39:09 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid Pull HID updates from Jiri Kosina: "to receive patches queued for 4.3 merge window in HID tree. Highlights: - a lot of improvements (regarding supported features and devices) to Wacom driver, from Aaron Skomra and Jason Gerecke - a lot of functional fixes and support for large I2C transfer to cp2112 driver, from Ellen Wang - HW support improvements to RMI driver, from Andrew Duggan - quite some small fixes and device ID additions all over the place" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (44 commits) HID: wacom: wacom_setup_numbered_buttons is local to wacom_wac HID: wacom: Add support for Express Key Remote. HID: wacom: Set button bits based on a new numbered_buttons HID: quirks: add QUIRK_NOGET for an other TPV touchscreen HID: usbhid: Fix the check for HID_RESET_PENDING in hid_io_error HID: i2c-hid: Only disable irq wake if it was successfully enabled during suspend HID: wacom: Use tablet-provided touch height/width values for INTUOSHT HID: gembird: add new driver to fix Gembird JPD-DualForce 2 HID: lenovo: Hide middle-button press until release HID: lenovo: Add missing return-value check HID: lenovo: Use constants for axes names HID: wacom: Simplify 'wacom_pl_irq' HID: wacom: Do not repeatedly attempt to set device mode on error HID: wacom: Do not repeatedly attempt to set device mode on error HID: wacom: Remove WACOM_QUIRK_NO_INPUT HID: wacom: Replace WACOM_QUIRK_MONITOR with WACOM_DEVICETYPE_WL_MONITOR HID: wacom: Use calculated pkglen for wireless touch interface HID: sony: Fix DS4 controller reporting rate issues HID: chicony: Add support for Acer Aspire Switch 12 HID: hid-lg: Add USBID for Logitech G29 Wheel ... commit 2d678b68e842e5b6fc46fc6914f7b7144bb2c23d Merge: 73b6fa8 99e1dfb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 18:34:22 2015 -0700 Merge tag 'edac_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp Pull EDAC fixes from Borislav Petkov: "Two minor fixlets this time: AMD MCE decoding correction and xgene_edac cleanup" * tag 'edac_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: EDAC, mce_amd: Don't emit 'CE' for Deferred error EDAC, xgene: Drop owner assignment from platform_driver commit 990a2d6ed543bd18b864b8a11f7be3368c67ccea Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Wed Jul 29 16:00:38 2015 -0700 ixgbe: Resolve "initialized field overwritten" warnings Resolve warnings resulting from redundant initialization of the get_bus_info field in the mac_ops_X550* structures. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7837e2867f56ec4435e75af54236732885303694 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Jul 10 15:31:34 2015 -0600 ixgbe: Remove bimodal SR-IOV disabling When unbinding an SR-IOV device with VFs configured from ixgbe, the driver behaves in one of two ways. If max_vfs was specified, the SR-IOV state is disabled, removing the VFs. The occurs regardless of whether the VF count was later modified through sysfs. If however max_vfs is zero, such as by not specifying the module parameter, the VFs persist after the PF is unbound from ixgbe. If the PF is then bound to vfio-pci to be assigned to a VM, the PF is non-functional. >From the comment, commit da36b64736cf ("ixgbe: Implement PCI SR-IOV sysfs callback operation") clearly intended this alternate behavior, but probably didn't realize the PF doesn't work in this mode. This bimodal behavior is confusing to users and results in a state where the PF is broken for other uses unless the user sets sriov_numvfs to zero prior to unbinding the device. Remove this behavior so that VFs are removed and the PF is functional for other uses after unbind, regardless of the way VFs are enabled. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 454adb008d78e4ecdfec3f2e5e9eb08ee5a60f1a Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Fri Jul 10 14:19:22 2015 -0700 ixgbe: Add support for reporting 2.5G link speed Now that we can do 2.5G link speed, we need to be able to report it. Also change the nested triadic involved in creating the log message to instead use a simpler switch statement to set a string pointer. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7e3f5c8881ba45eba1c74344b00558920008e6e6 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Thu Jul 9 12:28:59 2015 -0700 ixgbe: fix bounds checking in ixgbe_setup_tc for 82598 This patch resolves an issue where users were not able to dynamically set number of queues for 82598 via ethtool -L Reported-by: Tal Abudi <talabudi@xxxxxxxxx> Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1c7cf0784e4d448ed8a07c5fc1e3aac1528272f1 Author: Tom Barbette <tom.barbette@xxxxxxxxx> Date: Fri Jun 26 15:40:18 2015 +0200 ixgbe: support for ethtool set_rxfh Allows to change the rxfh indirection table and/or key using ethtool interface. Signed-off-by: Tom Barbette <tom.barbette@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ae8140aa6bf5c7aafc0d9c2f612c5b59bea1ce9f Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Jun 25 17:49:57 2015 -0700 ixgbe: Avoid needless PHY access on copper phys Avoid a needless PHY access on copper phys to save the 10ms wait time for each PHY access. A helper function is introduced to actually do the register access and process the contents. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 897b9349f056d1c1cf5141ded4ec26766d845f8b Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Fri Jun 19 19:14:57 2015 -0400 ixgbe: cleanup to use cached mask value We already cache this FW/SW semaphore mask so might as well use it for consistency. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d5702dea43fc517c389f2d9825213dabbfdaed5e Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Fri Jun 19 12:23:36 2015 -0400 ixgbe: Remove second instance of lan_id variable This patch removes the redundant lan_id in the phy struct and uses the bus version. Both variables exist and intend to represent the STATUS register LAN_ID field. However, phy.lan_id is not bit shifted so the phy.lan_id = 0x0 for LAN Id 0 and phy.lan_id = 0x4 for LAN Id 1. Where bus.lan_id is bit shifted so bus.lan_id = 0x0 for LAN Id 0 and bus.lan_id = 0x1 for LAN Id 1. There seems no need for the additional lan_id variable and this should make the code less confusing. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bc52f951e344b2ec64388c71890d88c5fc154a41 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Fri Jun 19 09:37:55 2015 +0530 ixgbe: use kzalloc for allocating one thing Use kzalloc rather than kcalloc(1.. The semantic patch that makes this change is as follows: // <smpl> @@ @@ - kcalloc(1, + kzalloc( ...) // </smpl> and removing checkpatch below CHECK: CHECK: Prefer kzalloc(sizeof(*fwd_adapter)...) over kzalloc(sizeof(struct ixgbe_fwd_adapter)...) Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reviewed-by: Vaneet Narang <v.narang@xxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a17ace95b0f08ccbcf24946db5673c4b5ee8fcae Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 1 17:00:24 2015 -0700 flow: Move __get_hash_from_flowi{4,6} into flow_dissector.c These cannot live in net/core/flow.c which only builds when XFRM is enabled. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa888b891384ccbf18e70af2e02f5173e55e5e7f Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Thu Jun 18 16:31:42 2015 -0400 ixgbe: Remove unused PCI bus types The ixgbe never has as very doubtfully ever will support either PCI or PCI-X devices. So remove the unused types from the ixgbe_bus_type. Thanks to Alex Duyck for suggesting this. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f9328bc6a7edc0fbaea836007b4261ca6233d96f Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Thu Jun 18 13:24:06 2015 -0400 ixgbe: add new bus type for intergrated I/O interface (IOSF) With this patch we add support for a new bus type ixgbe_bus_type_internal. X550em devices use IOSF and not PCIe bus so this new type is to accommodate them. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 454c65dd1a1e7fdaa5bbd3a34e14ab5560fbfad7 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 17 20:59:59 2015 -0400 ixgbe: add get_bus_info method for X550 Added ixgbe_get_bus_info_X550em to X550 code. ixgbe_get_bus_info_X550em sets bus.width to ixgbe_bus_width_unknown and bus.speed to ixgbe_bus_speed_unknown, because IOSF does not report a PCIe bus width or speed. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6ac7439459606a57265800e60b14d58365ab19eb Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 17 17:34:31 2015 -0400 ixgbe: Add support for entering low power link up state When the device is closing or suspending, call ixgbe_enter_lplu to enter low power link up state on devices that support it. When this is done, prevent the phy from being reset in the ixgbe_down path so that link is present when calling ixgbe_enter_lplu. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 67359c3c9fc8e9fbed991bbe0cfeda55c7e0a64c Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Jun 15 11:33:25 2015 -0700 ixgbe: Add support for VXLAN RX offloads Add support for VXLAN RX offloads for the X55x devices that support them. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f467bc06022d4d37de459f9498ff4fbc7e9b0fca Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Jun 15 11:33:20 2015 -0700 ixgbe: Add support for UDP-encapsulated tx checksum offload By using GSO for UDP-encapsulated packets, all ixgbe devices can be directed to generate checksums for the inner headers because the outer UDP checksum can be zero. So point the machinery at the inner headers and have the hardware generate the checksum. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4b36993d3df0834eff3b4172962de0343a4d9123 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 1 16:46:08 2015 -0700 flow_dissector: Don't use bit fields. Just have a flags member instead. In file included from include/linux/linkage.h:4:0, from include/linux/kernel.h:6, from net/core/flow_dissector.c:1: In function 'flow_keys_hash_start', inlined from 'flow_hash_from_keys' at net/core/flow_dissector.c:553:34: >> include/linux/compiler.h:447:38: error: call to '__compiletime_assert_459' declared with attribute error: BUILD_BUG_ON failed: FLOW_KEYS_HASH_OFFSET % sizeof(u32) Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d490d15877b2e6fc2d800ea232a0eca54cf4592c Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Jun 11 11:02:20 2015 -0700 ixgbe: Check whether FDIRCMD writes actually complete Wait up to about 100 us for FDIRCMD writes to complete and return failure indications. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b5529ef5be1f0a0089988ec51541aa9573e94476 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 10 20:42:30 2015 -0400 ixgbe: Assign set_phy_power dynamically where needed There are various reasons why this method may or may not need to be defined and some of these we don't know until runtime. So we will set the value in get_invariants. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bd8069ace513dd2741bc7177eeebc9a392451db1 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 10 20:05:02 2015 -0400 ixgbe: add new function to check for management presence This patch adds a support function that will indicate for the existence of management FW. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 92faef85613d6d56803ad6130f6daf4a803deddc Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Jul 28 13:02:00 2015 -0400 i40e: Set defport behavior for the Main VSI when in promiscuous mode This fixes bugs where the port is not receiving multicast or VLAN tagged packets when in promiscuous mode. This can occur when a SW bridge is created on top of the device. This also fixes issues where the promiscuous behavior setting was not being preserved across a reset caused by features being enabled or disabled. We are using defport instead of doing a true promiscuous mode because we do not need to receive the SRIOV or VMDq VSI directed traffic which would suck up bandwidth and is really not intended for the SW bridge. In addition, with defport we get VLAN promiscuous behavior which is not possible from the VSI level promiscuous setting. Change-ID: Ie21985eac32d5af1c02e9d71c6430a90d5bab40f Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 73b6fa8e49c2d13e04d20186261e5f7855c6d0bf Merge: e713c80 4b75de86 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 16:13:25 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace Pull user namespace updates from Eric Biederman: "This finishes up the changes to ensure proc and sysfs do not start implementing executable files, as the there are application today that are only secure because such files do not exist. It akso fixes a long standing misfeature of /proc/<pid>/mountinfo that did not show the proper source for files bind mounted from /proc/<pid>/ns/*. It also straightens out the handling of clone flags related to user namespaces, fixing an unnecessary failure of unshare(CLONE_NEWUSER) when files such as /proc/<pid>/environ are read while <pid> is calling unshare. This winds up fixing a minor bug in unshare flag handling that dates back to the first version of unshare in the kernel. Finally, this fixes a minor regression caused by the introduction of sysfs_create_mount_point, which broke someone's in house application, by restoring the size of /sys/fs/cgroup to 0 bytes. Apparently that application uses the directory size to determine if a tmpfs is mounted on /sys/fs/cgroup. The bind mount escape fixes are present in Al Viros for-next branch. and I expect them to come from there. The bind mount escape is the last of the user namespace related security bugs that I am aware of" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: fs: Set the size of empty dirs to 0. userns,pidns: Force thread group sharing, not signal handler sharing. unshare: Unsharing a thread does not require unsharing a vm nsfs: Add a show_path method to fix mountinfo mnt: fs_fully_visible enforce noexec and nosuid if !SB_I_NOEXEC vfs: Commit to never having exectuables on proc and sysfs. commit e713c80a4e49d4bed5324d24755e42bf01c87556 Merge: 43af987 c8b5db7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 15:42:28 2015 -0700 Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 clockevent update from Thomas Gleixner: "A single commit, which converts HPET clockevents driver to the new callbacks" * 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/hpet: Migrate to new set_state interface commit 43af9872f52abfed5523b8346d98a5e283b38163 Merge: 17e6b00 a47d457 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 15:20:51 2015 -0700 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 apic updates from Thomas Gleixner: "This udpate contains: - rework the irq vector array to store a pointer to the irq descriptor instead of the irq number to avoid a lookup of the irq descriptor in the irq entry path - lguest interrupt handling cleanups - conversion of the local apic timer to the new clockevent callbacks - preparatory changes for the irq argument removal of interrupt flow handlers" * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/irq: Do not dereference irq descriptor before checking it tools/lguest: Clean up include dir tools/lguest: Fix redefinition of struct virtio_pci_cfg_cap x86/irq: Store irq descriptor in vector array genirq: Provide irq_desc_has_action x86/irq: Get rid of an indentation level x86/irq: Rename VECTOR_UNDEFINED to VECTOR_UNUSED x86/irq: Replace numeric constant x86/irq: Protect smp_cleanup_move x86/lguest: Do not setup unused irq vectors x86/lguest: Clean up lguest_setup_irq x86/apic: Drop local_irq_save/restore in timer callbacks x86/apic: Migrate apic timer to new set_state interface x86/irq: Use access helper irq_data_get_affinity_mask() x86/irq: Use accessor irq_data_get_irq_handler_data() x86/irq: Use accessor irq_data_get_node() commit 4a3e5779cf6c6d557682b499c2190ad04c80c6fd Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Aug 31 10:53:43 2015 +0800 nfs: Remove unneeded checking of the return value from scnprintf The return value from scnprintf always less than the buffer length. So, result >= len always false. This patch removes those checking. int vscnprintf(char *buf, size_t size, const char *fmt, va_list args) { int i; i = vsnprintf(buf, size, fmt, args); if (likely(i < size)) return i; if (size != 0) return size - 1; return 0; } Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4a70316caef7d158445e672e146eb9f1b8c1aeee Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Aug 31 10:53:33 2015 +0800 nfs: Fix truncated client owner id without proto type The length of "Linux NFSv4.0 " is 14, not 10. Without this patch, I get a truncated client owner id as, "Linux NFSv4.0 ::1/::1" With this patch, "Linux NFSv4.0 ::1/::1 tcp" Fixes: a319268891 ("nfs: make nfs4_init_nonuniform_client_string use a dynamically allocated buffer") Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 889d94d49a3cbcbc8c8d07208549fa614d33da76 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 1 00:58:24 2015 -0700 NFSv4.1/flexfiles: Mark layout for return if the mirrors are invalid If a read-write layout has an invalid mirror, then we should mark it as invalid, and return it. If a read-only layout has an invalid mirror, then mark it as invalid and check if there is still at least one valid mirror before we return it. Note: Also fix incorrect use of pnfs_generic_mark_devid_invalid(). We really want nfs4_mark_deviceid_unavailable(). Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 81d6dc8b3431d298abaef11d8bc64646fc691618 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 1 02:49:44 2015 -0700 NFSv4.1/flexfiles: RW layouts are valid only if all mirrors are valid Unlike read layouts, the writeable layout cannot fall back to using only one of the mirrors. It need to write to all of them. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 388ef16640cefd202daa723fba02e7c0266f8454 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 1 03:31:33 2015 -0700 NFSv4.1/flexfiles: Fix incorrect usage of pnfs_generic_mark_devid_invalid() Unlike the files layout, flexfiles does not test for the NFS_DEVICEID_INVALID flag. Instead it relies on NFS_DEVICEID_UNAVAILABLE. Fix is to replace with nfs4_mark_deviceid_unavailable(). Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 41ecc3d390266acc1aa911d2ec477928a5248f75 Merge: d3d11fe 6db61d7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 1 15:06:24 2015 -0700 Merge branch 'flow-dissector-features' Tom Herbert says: ==================== flow_dissector: Paramterize dissection and other features This patch set adds some new capabilities to flow_dissector: - Add flags to flow dissector functions to control dissection - Flag to stop dissection when L3 header is seen (don't dissect L4) - Flag to stop dissection when encapsulation is detected - Flag to parse first fragment of fragmented packet. This may provide L4 ports - Added new reporting in key_control - Packet is a fragment - Packet is a first fragment - Packet has encapsulation Also: - Make __skb_set_sw_hash a general function - Create functions to get a flow hash based on flowi4 or flowi6 structures without an reference to an skbuff - Ignore flow dissector return value from ___skb_get_hash. Just use whatever key fields are found to make a hash Tested: Ran 200 netperf TCP_RR instances for IPv6 and IPv4. Did not see any regression. Ran UDP_RR with 10000 byte request and response size for IPv4 and IPv6, no regression observed however I did see better performance with IPv6 flow labels due to use of flow labels for L4 hash. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6db61d79c1e1b2346e2142d6c950a8d2e8380b82 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:33 2015 -0700 flow_dissector: Ignore flow dissector return value from ___skb_get_hash In ___skb_get_hash ignore return value from skb_flow_dissect_flow_keys. A failure in that function likely means that there was a parse error, so we may as well use whatever fields were found before the error was hit. This is also good because it means we won't keep trying to derive the hash on subsequent calls to skb_get_hash for the same packet. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 823b96939578eae67b9d6c0e33a39d6a7b6401e7 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:32 2015 -0700 flow_dissector: Add control/reporting of encapsulation Add an input flag to flow dissector on rather dissection should stop when encapsulation is detected (IP/IP or GRE). Also, add a key_control flag that indicates encapsulation was encountered during the dissection. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 872b1abb1ed47a691f465fb3d285f6cf6bcd8663 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:31 2015 -0700 flow_dissector: Add flag to stop parsing when an IPv6 flow label is seen Add an input flag to flow dissector on rather dissection should be stopped when a flow label is encountered. Presumably, the flow label is derived from a sufficient hash of an inner transport packet so further dissection is not needed (that is ports are not included in the flow hash). Using the flow label instead of ports has the additional benefit that packet fragments should hash to same value as non-fragments for a flow (assuming that the same flow label is used). We set this flag by default in for skb_get_hash. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8306b688f1a6621b9efe3b0d827e26750528b12a Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:30 2015 -0700 flow_dissector: Add flag to stop parsing at L3 Add an input flag to flow dissector on rather dissection should be stopped when an L3 packet is encountered. This would be useful if a caller just wanted to get IP addresses of the outermost header (e.g. to do an L3 hash). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b840f28b908da0239c8c5d9c8cae362ad21cda97 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:29 2015 -0700 flow_dissector: Support IPv6 fragment header Parse NEXTHDR_FRAGMENT. When seen account for it in the fragment bits of key_control. Also, check if first fragment should be parsed. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 807e165dc44fd93f9d378f861f0540a158d7343a Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:28 2015 -0700 flow_dissector: Add control/reporting of fragmentation Add an input flag to flow dissector on rather dissection should be attempted on a first fragment. Also add key_control flags to indicate that a packet is a fragment or first fragment. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd79a2382aa5dcefa6e21a7c59bb1bb19e53b74d Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:27 2015 -0700 flow_dissector: Add flags argument to skb_flow_dissector functions The flags argument will allow control of the dissection process (for instance whether to parse beyond L3). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6e544b0a88b53114bfa5a57e21b7be7a8dfc9d0 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:26 2015 -0700 flow_dissector: Jump to exit code in __skb_flow_dissect Instead of returning immediately (on a parsing failure for instance) we jump to cleanup code. This always sets protocol values in key_control (even on a failure there is still valid information in the key_tags that was set before the problem was hit). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6cc1ca7f4d70cbb3ea3a5ca163c5dabaf155cdb Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:25 2015 -0700 flowi: Abstract out functions to get flow hash based on flowi Create __get_hash_from_flowi6 and __get_hash_from_flowi4 to get the flow keys and hash based on flowi structures. These are called by __skb_get_hash_flowi6 and __skb_get_hash_flowi4. Also, created get_hash_from_flowi6 and get_hash_from_flowi4 which can be called when just the hash value for a flowi is needed. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bcc83839ffdb063dd2b0370cd85c4f825761fc59 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:24 2015 -0700 skbuff: Make __skb_set_sw_hash a general function Move __skb_set_sw_hash to skbuff.h and add __skb_set_hash which is a common method (between __skb_set_sw_hash and skb_set_hash) to set the hash in an skbuff. Also, move skb_clear_hash to be closer to __skb_set_hash. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5276937ae6e654a811345f0716266f12e77bede Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:23 2015 -0700 flow_dissector: Move skb related functions to skbuff.h Move the flow dissector functions that are specific to skbuffs into skbuff.h out of flow_dissector.h. This makes flow_dissector.h have no dependencies on skbuff.h. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3d11fe08ccc9bff174fc958722b5661f0932486 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Tue Sep 1 18:07:41 2015 +0200 tg3: Fix temperature reporting The temperature registers appear to report values in degrees Celsius while the hwmon API mandates values to be exposed in millidegrees Celsius. Do the conversion so that the values reported by "sensors" are correct. Fixes: aed93e0bf493 ("tg3: Add hwmon support for temperature") Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Cc: Michael Chan <mchan@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [v3.6+] Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6c6aedcbcbacd7b0cb4b64ed5ac835bc1c60a03 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Sep 1 09:36:05 2015 -0400 phylib: fix device deletion order in mdiobus_unregister() commit 8b63ec1837fa ("phylib: Make PHYs children of their MDIO bus, not the bus' parent.") uncovered a problem in mdiobus_unregister() which leads to this warning when I reboot an APM Mustang (arm64) platform: WARNING: CPU: 7 PID: 4239 at fs/sysfs/group.c:224 sysfs_remove_group+0xa0/0xa4() sysfs group fffffe0000e07a10 not found for kobject 'xgene-mii-eth0:03' ... CPU: 7 PID: 4239 Comm: reboot Tainted: G E 4.2.0-0.18.el7.test15.aarch64 #1 Hardware name: AppliedMicro Mustang/Mustang, BIOS 1.1.0 Aug 26 2015 Call Trace: [<fffffe000009739c>] dump_backtrace+0x0/0x170 [<fffffe000009752c>] show_stack+0x20/0x2c [<fffffe00007436f0>] dump_stack+0x78/0x9c [<fffffe00000c2cb4>] warn_slowpath_common+0xa0/0xd8 [<fffffe00000c2d60>] warn_slowpath_fmt+0x74/0x88 [<fffffe0000293d3c>] sysfs_remove_group+0x9c/0xa4 [<fffffe00004a8bac>] dpm_sysfs_remove+0x5c/0x70 [<fffffe000049b388>] device_del+0x44/0x208 [<fffffe000049b578>] device_unregister+0x2c/0x7c [<fffffe000050dc68>] mdiobus_unregister+0x48/0x94 [<fffffe000052afd0>] xgene_enet_mdio_remove+0x28/0x44 [<fffffe000052d3f0>] xgene_enet_remove+0xd0/0xd8 [<fffffe000052d424>] xgene_enet_shutdown+0x2c/0x3c [<fffffe00004a204c>] platform_drv_shutdown+0x24/0x40 [<fffffe000049d4f4>] device_shutdown+0xf0/0x1b4 [<fffffe00000e31ec>] kernel_restart_prepare+0x40/0x4c [<fffffe00000e32f8>] kernel_restart+0x1c/0x80 [<fffffe00000e3670>] SyS_reboot+0x17c/0x250 The problem is that mdiobus_unregister() deletes the bus device before unregistering the phy devices on the bus. This wasn't a problem before because the phys were not children of the bus: /sys/devices/platform/APMC0D05:00/net/eth0/xgene-mii-eth0:03 /sys/devices/platform/APMC0D05:00/net/eth0/xgene-mii-eth0 But now that they are: /sys/devices/platform/APMC0D05:00/net/eth0/xgene-mii-eth0/xgene-mii-eth0:03 when mdiobus_unregister deletes the bus device, the phy subdirs are removed from sysfs also. So when the phys are unregistered afterward, we get the warning. This patch changes the order so that phys are unregistered before the bus device is deleted. Fixes: 8b63ec1837fa ("phylib: Make PHYs children of their MDIO bus, not the bus' parent.") Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 01a5ad827a36e36f45e1fdb96903ea115f759865 Author: Yunlei He <heyunlei@xxxxxxxxxx> Date: Mon Aug 31 17:15:10 2015 +0800 f2fs: upset segment_info repair upset segment_info like this: 276000|161 0|0 4|70 3|0 3|0 0|0 0|91 4|0 4|232 4|39 276104|0 4|0 4|1 4|0 4|0 4|280 4|0 4|42 4|262 4|38 276204|179 4|89 4|39 4|24 4|0 4|96 4|3 4|428 4|0 4|118 276304|112 4|97 4|0 4|0 4|0 4|68 4|0 4|0 4|86 4|138 276404|0 4|0 0|166 5|39 4|101 0|111 Signed-off-by: Yunlei He <heyunlei@xxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 17e6b00ac422b49d44a0b8d98402a211f726282d Merge: 5e359bf e324c4d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 14:33:35 2015 -0700 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq updates from Thomas Gleixner: "This updated pull request does not contain the last few GIC related patches which were reported to cause a regression. There is a fix available, but I let it breed for a couple of days first. The irq departement provides: - new infrastructure to support non PCI based MSI interrupts - a couple of new irq chip drivers - the usual pile of fixlets and updates to irq chip drivers - preparatory changes for removal of the irq argument from interrupt flow handlers - preparatory changes to remove IRQF_VALID" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (129 commits) irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources irqchip: Add bcm2836 interrupt controller for Raspberry Pi 2 irqchip: Add documentation for the bcm2836 interrupt controller irqchip/bcm2835: Add support for being used as a second level controller irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ PCI: xilinx: Fix typo in function name irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance irqchip/gic: Only allow the primary GIC to set the CPU map PCI/MSI: pci-xgene-msi: Consolidate chained IRQ handler install/remove unicore32/irq: Prepare puv3_gpio_handler for irq argument removal tile/pci_gx: Prepare trio_handle_level_irq for irq argument removal m68k/irq: Prepare irq handlers for irq argument removal C6X/megamode-pic: Prepare megamod_irq_cascade for irq argument removal blackfin: Prepare irq handlers for irq argument removal arc/irq: Prepare idu_cascade_isr for irq argument removal sparc/irq: Use access helper irq_data_get_affinity_mask() sparc/irq: Use helper irq_data_get_irq_handler_data() parisc/irq: Use access helper irq_data_get_affinity_mask() mn10300/irq: Use access helper irq_data_get_affinity_mask() irqchip/i8259: Prepare i8259_irq_dispatch for irq argument removal ... commit 9b8ff51822893e743eee09350c1928daa3ef503f Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 14:26:35 2015 -0600 net: Make table id type u32 A number of VRF patches used 'int' for table id. It should be u32 to be consistent with the rest of the stack. Fixes: 4e3c89920cd3a ("net: Introduce VRF related flags and helpers") 15be405eb2ea9 ("net: Add inet_addr lookup by table") 30bbaa1950055 ("net: Fix up inet_addr_type checks") 021dd3b8a142d ("net: Add routes to the table associated with the device") dc028da54ed35 ("inet: Move VRF table lookup to inlined function") f6d3c19274c74 ("net: FIB tracepoints") Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e359bf2219d8622eb0931701e45af55db323228 Merge: 8d01b66 85e1cd6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 14:04:50 2015 -0700 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer updates from Thomas Gleixner: "Rather large, but nothing exiting: - new range check for settimeofday() to prevent that boot time becomes negative. - fix for file time rounding - a few simplifications of the hrtimer code - fix for the proc/timerlist code so the output of clock realtime timers is accurate - more y2038 work - tree wide conversion of clockevent drivers to the new callbacks" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (88 commits) hrtimer: Handle failure of tick_init_highres() gracefully hrtimer: Unconfuse switch_hrtimer_base() a bit hrtimer: Simplify get_target_base() by returning current base hrtimer: Drop return code of hrtimer_switch_to_hres() time: Introduce timespec64_to_jiffies()/jiffies_to_timespec64() time: Introduce current_kernel_time64() time: Introduce struct itimerspec64 time: Add the common weak version of update_persistent_clock() time: Always make sure wall_to_monotonic isn't positive time: Fix nanosecond file time rounding in timespec_trunc() timer_list: Add the base offset so remaining nsecs are accurate for non monotonic timers cris/time: Migrate to new 'set-state' interface kernel: broadcast-hrtimer: Migrate to new 'set-state' interface xtensa/time: Migrate to new 'set-state' interface unicore/time: Migrate to new 'set-state' interface um/time: Migrate to new 'set-state' interface sparc/time: Migrate to new 'set-state' interface sh/localtimer: Migrate to new 'set-state' interface score/time: Migrate to new 'set-state' interface s390/time: Migrate to new 'set-state' interface ... commit 8d01b66b4f23a9fcf5c6787b27f0be5f8cbae98c Merge: 2faf962 341a670 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 13:29:48 2015 -0700 Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC 64-bit changes from Olof Johansson: "Here's our branch of ARM64 contents for this merge window. Most of this is DT contents for new SoCs (or those who have seen new device support added). Maybe we should stop separating out the arm64 contents here to avoid the kind of internal conflicts as we got this time around, where 32- and 64-bit contents conflicted. Anyhow, on the actual contents: New SoCs: - Broadcom North Star 2 (ns2) - Marvell Berlin4CT - Mediatek MT6795 - Rockchip RK3368 In addition, there are enhancements for the following platforms: - Mediatek MT8173: cpuidle-dt updates, misc other additions - ZyncMP: A bunch of devices added to the existing DTSI - Qualcomm MSM8916 and APQ8016 updates for USB, etc. + a handful of other updates for various platforms" * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (47 commits) ARM64: dts: vexpress: Use assigned-clock-parents for sp810 ARM64: dts: mt6795: enable basic SMP bringup for MT6795 arm64: Enable Marvell Berlin SoC family in defconfig arm64: Enable Marvell Berlin SoC family in Kconfig arm64: dts: Add dts files for Marvell Berlin4CT SoC ARM64: zynqmp: Move SPI nodes to the right location ARM64: zynqmp: Move uart and ttcs to the right location ARM64: zynqmp: Enable spi flashes on ep108 ARM64: zynqmp: Add eeprom memories on i2c bus ARM64: zynqmp: Enable sdhci on ep108 ARM64: zynqmp: Enable watchdog on ep108 ARM64: zynqmp: Add DWC3 usb support ARM64: zynqmp: Add SMMU support ARM64: zynqmp: Add CANs node for platform ARM64: zynqmp: Use zynqmp specific compatible string for gpio devicetree: xilinx: zynqmp: add sata node PCI: iproc: Fix BCMA dependency in Kconfig arm64: dts: Add Broadcom North Star 2 support arm64: Add Broadcom iProc family support PCI: iproc: Fix ARM64 dependency in Kconfig ... commit 2faf962d90ca4c5ee7ba026b7351b1f74500bcdf Merge: b3a5af4 ba5d183 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 13:17:43 2015 -0700 Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC defconfig updates from Olof Johansson: "We mostly keep defconfigs updates on a separate branch due to their tendency to conflict between platforms and this encourages more careful separation of code changes and config changes. Most updates here are minor tweaks, enabling new drivers for various platforms, and so on. Renesas also removed one defconfig (marzen_defconfig)" * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits) ARM: add TC2 PM support to multi_v7_defconfig ARM: tegra: Update multi_v7_defconfig ARM: tegra: Update default configuration ARM: at91/defconfig: at91_dt: remove ARM_AT91_ETHER ARM: at91/defconfig: at91_dt: enable DRM hlcdc support ARM: at91: at91_dt_defconfig: enable ISI and ov2640 support ARM: multi_v7_defconfig: Enable Allwinner P2WI, PWM, DMA_SUN6I, cryptodev ARM: sunxi_defconfig: Enable DMA_SUN6I, P2WI, PWM, cryptodev, EXTCON, FHANDLE ARM: shmobile: Enable fixed voltage regulator in shmobile_defconfig ARM: multi_v7_defconfig: Select MX6UL and MX7D ARM: prima2_defconfig: enable build for hwspinlock ARM: prima2_defconfig: enable build for RTC ARM: prima2_defconfig: enable build for misc input ARM: prima2_defconfig: enable build for SiRFSoC SDHC host ARM: prima2_defconfig: fix the outdated defconfig ARM: imx_v6_v7_defconfig: Select CONFIG_IKCONFIG_PROC ARM: defconfig: orion5x: add DT support ARM: qcom_defconfig: Enable options for KS8851 ethernet ARM: multi_v7_defconfig: Enable support for PWM Regulators ARM: multi_v7_defconfig: Enable ST's PWM driver ... commit b3a5af435ab4b860714b2f56c65fd506aa677e71 Merge: 1021781 4c80a00 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 13:09:20 2015 -0700 Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM DT updates from Olof Johansson: "Ladies and gentlemen, we proudly announce to you the latest branch of ARM device tree contents for the mainline kernel. Come and see, come and see! No less than twentythree thousand lines of additions! Just imagine the joy you will have of using your mainline kernel on newly supported hardware such as Rockchip Chromebooks, Freescale i.MX6UL boards or UniPhier hardware! For those of you feeling less adventurous, added hardware support on platforms such as TI DM814x and Gumstix Overo platforms might be more of your liking. We've got something for everyone here! Ahem. Cough. So, anyway... This is the usual large batch of DT updates. Lots and lots of smaller changes, some of the larger ones to point out are: - Rockchip veyron (Chromebook) support, as well as several other new boards - DRM support on Atmel AT91SAM9N12EK - USB additions on some Allwinner platforms - Mediatek MT6580 support - Freescale i.MX6UL support - cleanups for Renesas shmobile platforms - lots of added devices on LPC18xx - lots of added devices and boards on UniPhier There's also some dependent code added here, in particular some branches that are primarily merged through the clock tree" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (389 commits) ARM: tegra: Add gpio-ranges property ARM: tegra: Fix AHB base address on Tegra20, Tegra30 and Tegra114 ARM: tegra: Add Tegra124 PMU support ARM: tegra: jetson-tk1: Add GK20A GPU DT node ARM: tegra: venice2: Add GK20A GPU DT node ARM: tegra: Add IOMMU node to GK20A ARM: tegra: Add CPU regulator to the Jetson TK1 device tree ARM: tegra: Add entries for cpufreq on Tegra124 ARM: tegra: Enable the DFLL on the Jetson TK1 ARM: tegra: Add the DFLL to Tegra124 device tree ARM: dts: zynq: Add devicetree entry for Xilinx Zynq reset controller. ARM: dts: UniPhier: fix PPI interrupt CPU mask of timer nodes ARM: dts: rockchip: correct regulator power states for suspend ARM: dts: rockchip: correct regulator PM properties ARM: dts: vexpress: Use assigned-clock-parents for sp810 pinctrl: tegra: Only set the gpio range if needed arm: boot: dts: am4372: add ARM timers and SCU nodes ARM: dts: AM4372: Add the am4372-rtc compatible string ARM: shmobile: r8a7794 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7793 dtsi: Add CPG/MSTP Clock Domain ... commit 102178108e2246cb4b329d3fb7872cd3d7120205 Merge: 50686e8 21815b9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 13:00:04 2015 -0700 Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC driver updates from Olof Johansson: "Some releases this branch is nearly empty, others we have more stuff. It tends to gather drivers that need SoC modification or dependencies such that they have to (also) go in through our tree. For this release, we have merged in part of the reset controller tree (with handshake that the parts we have merged in will remain stable), as well as dependencies on a few clock branches. In general, new items here are: - Qualcomm driver for SMM/SMD, which is how they communicate with the coprocessors on (some) of their platforms - memory controller work for ARM's PL172 memory controller - reset drivers for various platforms - PMU power domain support for Marvell platforms - Tegra support for T132/T210 SoCs: PMC, fuse, memory controller per-SoC support" * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (49 commits) ARM: tegra: cpuidle: implement cpuidle_state.enter_freeze() ARM: tegra: Disable cpuidle if PSCI is available soc/tegra: pmc: Use existing pclk reference soc/tegra: pmc: Remove unnecessary return statement soc: tegra: Remove redundant $(CONFIG_ARCH_TEGRA) in Makefile memory: tegra: Add Tegra210 support memory: tegra: Add support for a variable-size client ID bitfield clk: shmobile: rz: Add CPG/MSTP Clock Domain support clk: shmobile: rcar-gen2: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7779: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7778: Add CPG/MSTP Clock Domain support clk: shmobile: Add CPG/MSTP Clock Domain support ARM: dove: create a proper PMU driver for power domains, PMU IRQs and resets reset: reset-zynq: Adding support for Xilinx Zynq reset controller. docs: dts: Added documentation for Xilinx Zynq Reset Controller bindings. MIPS: ath79: Add the reset controller to the AR9132 dtsi reset: Add a driver for the reset controller on the AR71XX/AR9XXX devicetree: Add bindings for the ATH79 reset controller reset: socfpga: Update reset-socfpga to read the altr,modrst-offset property doc: dt: add documentation for lpc1850-rgu reset driver ... commit 972398fa0a5f47c6ee0bde4d6d24b29f90ec888d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 1 12:03:56 2015 -0700 NFSv4.1/flexfiles: Fix freeing of mirrors Mirrors are now shared objects, so we should not be freeing them directly inside ff_layout_free_lseg(). We should already be doing the right thing in _ff_layout_free_lseg(), so just let it handle things. Also ensure that ff_layout_free_mirror() frees the RPC credential if it is set. Fixes: 28a0d72c6867 ("Add refcounting to struct nfs4_ff_layout_mirror") Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 50686e8a3aed2f5d295e9d2e79ff43df461c7b76 Merge: c5fc249 1ec6f70 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 12:18:40 2015 -0700 Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC platform updates from Olof Johansson: "New or improved SoC support: - add support for Atmel's SAMA5D2 SoC - add support for Freescale i.MX6UL - improved support for TI's DM814x platform - misc fixes and improvements for RockChip platforms - Marvell MVEBU suspend/resume support A few driver changes that ideally would belong in the drivers branch are also here (acked by appropriate maintainers): - power key input driver for Freescale platforms (svns) - RTC driver updates for Freescale platforms (svns/mxc) - clk fixes for TI DM814/816X + a bunch of other changes for various platforms" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits) ARM: rockchip: pm: Fix PTR_ERR() argument ARM: imx: mach-imx6ul: Fix allmodconfig build clk: ti: fix for definition movement ARM: uniphier: drop v7_invalidate_l1 call at secondary entry memory: kill off set_irq_flags usage rtc: snvs: select option REGMAP_MMIO ARM: brcmstb: select ARCH_DMA_ADDR_T_64BIT for LPAE ARM: BCM: Enable ARM erratum 798181 for BRCMSTB ARM: OMAP2+: Fix power domain operations regression caused by 81xx ARM: rockchip: enable PMU_GPIOINT_WAKEUP_EN when entering shallow suspend ARM: rockchip: set correct stabilization thresholds in suspend ARM: rockchip: rename osc_switch_to_32k variable ARM: imx6ul: add fec MAC refrence clock and phy fixup init ARM: imx6ul: add fec bits to GPR syscon definition rtc: mxc: add support of device tree dt-binding: document the binding for mxc rtc rtc: mxc: use a second rtc clock ARM: davinci: cp_intc: use IRQCHIP_SKIP_SET_WAKE instead of irq_set_wake callback soc: mediatek: Fix SCPSYS compilation ARM: at91/soc: add basic support for new sama5d2 SoC ... commit c5fc249862af862df027030188cc083e072ecd19 Merge: 00e3fcc 97a2482 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 12:10:20 2015 -0700 Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC cleanups from Olof Johansson: "A large cleanup branch this release, with a healthy 10k negative line delta. Most of this is removal of legacy (non-DT) support of shmobile platforms. There is also removal of two non-DT platforms on OMAP, and the plat-samsung directory is cleaned out by moving most of the previously shared-location-but-not-actually-shared files from there to the appropriate mach directories instead. There are other sets of changes in here as well: - Rob Herring removed use of set_irq_flags under all platforms and moved to genirq alternatives - a series of timer API conversions to set-state interface - ep93xx, nomadik and ux500 cleanups from Linus Walleij - __init annotation fixes from Nicolas Pitre + a bunch of other changes that all add up to a nice set of cleanups" * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (108 commits) ARM/fb: ep93xx: switch framebuffer to use modedb only ARM: gemini: Setup timer3 as free running timer ARM: gemini: Use timer1 for clockevent ARM: gemini: Add missing register definitions for gemini timer ARM: ep93xx/timer: Migrate to new 'set-state' interface ARM: nomadik: push accelerometer down to boards ARM: nomadik: move l2x0 setup to device tree ARM: nomadik: selectively enable UART0 on boards ARM: nomadik: move hog code to use DT hogs ARM: shmobile: Fix mismerges ARM: ux500: simplify secondary CPU boot ARM: SAMSUNG: remove keypad-core header in plat-samsung ARM: SAMSUNG: local watchdog-reset header in mach-s3c64xx ARM: SAMSUNG: local onenand-core header in mach-s3c64xx ARM: SAMSUNG: local irq-uart header in mach-s3c64xx ARM: SAMSUNG: local backlight header in mach-s3c64xx ARM: SAMSUNG: local ata-core header in mach-s3c64xx ARM: SAMSUNG: local regs-usb-hsotg-phy header in mach-s3c64xx ARM: SAMSUNG: local spi-core header in mach-s3c24xx ARM: SAMSUNG: local nand-core header in mach-s3c24xx ... commit 00e3fcc221f6fe6a890bf3e0e71c6b9944e58233 Merge: 28dce7c 330349f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 12:01:40 2015 -0700 Merge tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC non-urgent fixes from Olof Johansson: "We normally collect non-urgent fixes during the release cycle and queue them for the merge window. This time around the list is short (in part because some have gone in other branches). - Maintainers addition for bcm2835 - IRQ number fix for orion5x (been present since 3.18) - DT fix for display on exynos3250 - Exynos fix to use of IOMEM_ERR_PTR properly" * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: orion5x: fix legacy orion5x IRQ numbers MAINTAINERS: Explicitly add linux-arm-kernel for bcm2835 MAINTAINERS: Add myself as a bcm2835 co-maintainer. ARM: EXYNOS: Use IOMEM_ERR_PTR when function returns iomem ARM: dts: fix clock-frequency of display timing0 for exynos3250-rinato commit 28dce7c7703fd6ec922fa63b1187cf9f43d1d1c4 Merge: 361f7d1 3d59265 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 11:55:57 2015 -0700 Merge tag 'arc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc Pull ARC architecture updates from Vineet Gupta: "ARC updates for 4.3: - perf support for ARCv2 based cores (sampling interrupt, SMP) - leftovers for ARCv2 support - futex fixes" * tag 'arc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARCv2: entry: Fix reserved handler ARCv2: perf: Finally introduce HS perf unit ARCv2: perf: SMP support ARCv2: perf: implement exclusion of event counting in user or kernel mode ARCv2: perf: Support sampling events using overflow interrupts ARCv2: perf: implement "event_set_period" ARC: perf: cap the number of counters to hardware max of 32 ARC: Eliminate some ARCv2 specific code for ARCompact build ARC: add/fix some comments in code - no functional change ARC: change some branchs to jumps to resolve linkage errors ARC: ensure futex ops are atomic in !LLSC config ARC: Enable HAVE_FUTEX_CMPXCHG ARC: make futex_atomic_cmpxchg_inatomic() return bimodal ARC: futex cosmetics ARC: add barriers to futex code ARCv2: IOC: Allow boot time disable ARCv2: SLC: Allow boot time disable ARCv2: Support IO Coherency and permutations involving L1 and L2 caches ARC: Enable optimistic spinning for LLSC config MAINTAINERS: add git tree for the arc architecture commit f984a7ce58ea9a12eca7f960bdf68124c8589b60 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Sep 1 13:40:53 2015 -0400 nfsd: return CLID_INUSE for unexpected SETCLIENTID_CONFIRM case Somebody with a Solaris client was hitting this case. We haven't figured out why yet, and don't have a reproducer. Meanwhile Frank noticed that RFC 7530 actually recommends CLID_INUSE for this case. Unlikely to help the original reporter, but may as well fix it. Reported-by: Frank Filz <ffilzlnx@xxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 361f7d175734a8e21bcd0585eca9be195c12c5c5 Merge: 25525be e971aa2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 10:33:31 2015 -0700 Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 core platform updates from Ingo Molnar: "The main changes are: - Intel Atom platform updates. (Andy Shevchenko) - modularity fixlets. (Paul Gortmaker) - x86 platform clockevents driver updates for lguest, uv and Xen. (Viresh Kumar) - Microsoft Hyper-V TSC fixlet. (Vitaly Kuznetsov)" * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/platform: Make atom/pmc_atom.c explicitly non-modular x86/hyperv: Mark the Hyper-V TSC as unstable x86/xen/time: Migrate to new set-state interface x86/uv/time: Migrate to new set-state interface x86/lguest/timer: Migrate to new set-state interface x86/pci/intel_mid_pci: Use proper constants for irq polarity x86/pci/intel_mid_pci: Make intel_mid_pci_ops static x86/pci/intel_mid_pci: Propagate actual return code x86/pci/intel_mid_pci: Work around for IRQ0 assignment x86/platform/iosf_mbi: Add Intel Tangier PCI id x86/platform/iosf_mbi: Source cleanup x86/platform/iosf_mbi: Remove NULL pointer checks for pci_dev_put() x86/platform/iosf_mbi: Check return value of debugfs_create properly x86/platform/iosf_mbi: Move to dedicated folder x86/platform/intel/pmc_atom: Move the PMC-Atom code to arch/x86/platform/atom x86/platform/intel/pmc_atom: Add Cherrytrail PMC interface x86/platform/intel/pmc_atom: Supply register mappings via PMC object x86/platform/intel/pmc_atom: Print index of device in loop x86/platform/intel/pmc_atom: Export accessors to PMC registers commit 25525bea46e7d5bc1f82cbc12de2f27b9c346a92 Merge: 2962156 2baa891 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 10:07:40 2015 -0700 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 mm updates from Ingo Molnar: "The dominant change in this cycle was the continued work to isolate kernel drivers from MTRR legacies: this tree gets rid of all kernel internal driver interfaces to MTRRs (mostly by rewriting it to proper PAT interfaces), the only access left is the /proc/mtrr ABI. This work was done by Luis R Rodriguez. There's also some related PCI interface additions for which I've Cc:-ed Bjorn" * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits) x86/mm/mtrr: Remove kernel internal MTRR interfaces: unexport mtrr_add() and mtrr_del() s390/io: Add pci_iomap_wc() and pci_iomap_wc_range() drivers/dma/iop-adma: Use dma_alloc_writecombine() kernel-style drivers/video/fbdev/vt8623fb: Use arch_phys_wc_add() and pci_iomap_wc() drivers/video/fbdev/s3fb: Use arch_phys_wc_add() and pci_iomap_wc() drivers/video/fbdev/arkfb.c: Use arch_phys_wc_add() and pci_iomap_wc() PCI: Add pci_iomap_wc() variants drivers/video/fbdev/gxt4500: Use pci_ioremap_wc_bar() to map framebuffer drivers/video/fbdev/kyrofb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() drivers/video/fbdev/i740fb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() PCI: Add pci_ioremap_wc_bar() x86/mm: Make kernel/check.c explicitly non-modular x86/mm/pat: Make mm/pageattr[-test].c explicitly non-modular x86/mm/pat: Add comments to cachemode translation tables arch/*/io.h: Add ioremap_uc() to all architectures drivers/video/fbdev/atyfb: Use arch_phys_wc_add() and ioremap_wc() drivers/video/fbdev/atyfb: Replace MTRR UC hole with strong UC drivers/video/fbdev/atyfb: Clarify ioremap() base and length used drivers/video/fbdev/atyfb: Carve out framebuffer length fudging into a helper x86/mm, asm-generic: Add IOMMU ioremap_uc() variant default ... commit 2962156d5cc0e7f959353d3f5275da7cc3765f06 Merge: 6b2282a 9d87cd6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 10:05:44 2015 -0700 Merge branch 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 irq fixlet from Ingo Molnar: "A single change that hides the 'HYP:' line in /proc/interrupts when it's unused" * 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/irq: Hide 'HYP:' line in /proc/interrupts when not on Xen/Hyper-V commit 2ca495ac27d245513c11fed70591b1838250e240 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Sep 1 10:46:44 2015 -0600 blk: Fix bio_io_vec index when checking bvec gaps Corrects a coding error from earlier patch. Reported by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Fixes: 03100aada96f ("block: Replace SG_GAPS with new queue limits mask") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4a6ac3044f1504fe4521efa7334095c9c9ceecfd Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Sep 1 10:08:53 2015 +0100 irqchip/GIC: Fix EOImode setting for non-DT/ACPI systems Non-DT/ACPI systems call directly into the GIC driver at init time. Turns out 0b996fd35957 ("irqchip/GIC: Convert to EOImode == 1") breaks old non firmware-driven platforms, as the driver only works out the capability of the platform on the DT/ACPI paths. Fix this thinko by forcing EOImode==0 on non-DT platforms, which are not capable of supporting a hypervisor anyway. Reported-and-tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441098533-31523-1-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7eba7d90d48217a97afc171a311b386bde965f39 Author: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Date: Mon Aug 31 17:11:56 2015 +0530 selftests/zram: Makefile fix Do not override run_tests, The default rule will just run TEST_PROGS Signed-off-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 2dfb28e3410d775a687d429f5cadf88e795e7eb6 Author: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Date: Mon Aug 31 17:11:55 2015 +0530 selftests/zram: must be run as root Adding new functionality check_prereqs() to check test must be run as root Signed-off-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 6b2282aa372665c14ea1100b63ac0703051407e9 Merge: 0c0fee0 b1c599b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 09:41:03 2015 -0700 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cpu updates from Ingo Molnar: "Two changes: a suspend/resume quirk and a new CPUID bit definition" * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpufeature: Add feature bit for Intel's Silicon Debug CPUID bit x86/cpu: Restore MSR_IA32_ENERGY_PERF_BIAS after resume commit 0c0fee018d14b585461b146bdeda8bab9a61c211 Merge: a0c0d985 4daa832 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 09:33:26 2015 -0700 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 init code fixlet from Ingo Molnar: "A single change: fix obsolete init code annotations" * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: Drop bogus __ref / __refdata annotations commit a0c0d985ded583e52399b5158791bedc2815eefa Merge: 11e612d 16eefbd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 09:32:37 2015 -0700 Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 build fixlet from Ingo Molnar: "A single change propagating CONFIG_JUMP_LABEL into the x86 defconfigs" * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kconfig: Enable CONFIG_JUMP_LABEL in the defconfigs commit af4aeadd8c04303c0aa2d112145c3627e2ebd026 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Sep 1 11:30:14 2015 +0200 perf tools: Fix link time error with sample_reg_masks on non x86 This patch makes perf compile on non x86 platforms by defining a weak symbol for sample_reg_masks[] in util/perf_regs.c. The patch also moves the REG() and REG_END() macros into the util/per_regs.h header file. The macros are renamed to SMPL_REG/SMPL_REG_END to avoid clashes with other header files. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441099814-26783-1-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 11e612ddb4bc667d0b830bfaab3acdf8b86da845 Merge: 5778077 656bba3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 09:04:31 2015 -0700 Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 boot updates from Ingo Molnar: "The main x86 bootup related changes in this cycle were: - more boot time optimizations. (Len Brown) - implement hex output to allow the debugging of early bootup parameters. (Kees Cook) - remove obsolete MCA leftovers. (Paolo Pisati)" * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted x86/smpboot: Remove SIPI delays from cpu_up() x86/smpboot: Remove udelay(100) when polling cpu_callin_map x86/smpboot: Remove udelay(100) when polling cpu_initialized_map x86/boot: Obsolete the MCA sys_desc_table x86/boot: Add hex output for debugging commit 04aa90b529ee45c5ee88997bc214202e07b26979 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Sep 1 05:56:45 2015 +0000 perf build: Fix Intel PT instruction decoder dependency problem I hit following building error randomly: ... /bin/sh: /path/to/kernel/buildperf/util/intel-pt-decoder/inat-tables.c: No such file or directory ... LINK /path/to/kernel/buildperf/plugin_mac80211.so LINK /path/to/kernel/buildperf/plugin_kmem.so LINK /path/to/kernel/buildperf/plugin_xen.so LINK /path/to/kernel/buildperf/plugin_hrtimer.so In file included from util/intel-pt-decoder/intel-pt-insn-decoder.c:25:0: util/intel-pt-decoder/inat.c:24:25: fatal error: inat-tables.c: No such file or directory #include "inat-tables.c" ^ compilation terminated. make[4]: *** [/path/to/kernel/buildperf/util/intel-pt-decoder/intel-pt-insn-decoder.o] Error 1 make[4]: *** Waiting for unfinished jobs.... LINK /path/to/kernel/buildperf/plugin_function.so This is caused by tools/perf/util/intel-pt-decoder/Build that, it tries to generate $(OUTPUT)util/intel-pt-decoder/inat-tables.c atomatically but forget to ensure the existance of $(OUTPUT)util/intel-pt-decoder directory. This patch fixes it by adding $(call rule_mkdir) like other similar rules. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441087005-107540-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5778077d03cb25aac9b6a428e18970642fc019e3 Merge: 65a9959 7e01ebf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 08:40:25 2015 -0700 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 asm changes from Ingo Molnar: "The biggest changes in this cycle were: - Revamp, simplify (and in some cases fix) Time Stamp Counter (TSC) primitives. (Andy Lutomirski) - Add new, comprehensible entry and exit handlers written in C. (Andy Lutomirski) - vm86 mode cleanups and fixes. (Brian Gerst) - 32-bit compat code cleanups. (Brian Gerst) The amount of simplification in low level assembly code is already palpable: arch/x86/entry/entry_32.S | 130 +---- arch/x86/entry/entry_64.S | 197 ++----- but more simplifications are planned. There's also the usual laudry mix of low level changes - see the changelog for details" * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (83 commits) x86/asm: Drop repeated macro of X86_EFLAGS_AC definition x86/asm/msr: Make wrmsrl() a function x86/asm/delay: Introduce an MWAITX-based delay with a configurable timer x86/asm: Add MONITORX/MWAITX instruction support x86/traps: Weaken context tracking entry assertions x86/asm/tsc: Add rdtscll() merge helper selftests/x86: Add syscall_nt selftest selftests/x86: Disable sigreturn_64 x86/vdso: Emit a GNU hash x86/entry: Remove do_notify_resume(), syscall_trace_leave(), and their TIF masks x86/entry/32: Migrate to C exit path x86/entry/32: Remove 32-bit syscall audit optimizations x86/vm86: Rename vm86->v86flags and v86mask x86/vm86: Rename vm86->vm86_info to user_vm86 x86/vm86: Clean up vm86.h includes x86/vm86: Move the vm86 IRQ definitions to vm86.h x86/vm86: Use the normal pt_regs area for vm86 x86/vm86: Eliminate 'struct kernel_vm86_struct' x86/vm86: Move fields from 'struct kernel_vm86_struct' to 'struct vm86' x86/vm86: Move vm86 fields out of 'thread_struct' ... commit 3b27d13940c3710a1128527c43719cb0bb05d73b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Sep 1 03:29:44 2015 +0000 perf dwarf: Fix potential array out of bounds access There is a problem in the dwarf-regs.c files for sh, sparc and x86 where it is possible to make an out-of-bounds array access when searching for register names. This patch fixes it by replacing '<=' to '<', so when register (number == XXX_MAX_REGS), get_arch_regstr() will return NULL. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxxxxx Link: http://lkml.kernel.org/r/1441078184-105038-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e625ccec1fa6c24620f38fd72d5b2fd62230ad2b Merge: 56963d9 404c2db 5021282 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 15:54:30 2015 +0200 Merge branches 'pm-tools' and 'powercap' * pm-tools: tools: cpupower: Fix error when running cpupower monitor tools/power turbostat: fix typo on DRAM column in Joules-mode cpupower: Do not change the frequency of offline cpu tools/power turbostat: fix parameter passing for forked command tools/power turbostat: dump CONFIG_TDP tools/power turbostat: cpu0 is no longer hard-coded, so update output tools/power turbostat: update turbostat(8) * powercap: powercap / RAPL: disable the 2nd power limit properly powercap / RAPL: Add support for Broadwell-H powercap / RAPL: Add support for Skylake H/S commit 56963d99b72ac52bb3185be7fe9832c1715c655a Merge: 5cf896b 2fd77ff 8bb6944 3fc147e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 15:54:20 2015 +0200 Merge branches 'pm-sleep', 'pm-domains' and 'pm-avs' * pm-sleep: PM / suspend: make sync() on suspend-to-RAM build-time optional PM / sleep: Allow devices without runtime PM to do direct-complete PM / autosleep: Use workqueue for user space wakeup sources garbage collector * pm-domains: PM / Domains: Fix typo in description of genpd_dev_pm_detach() PM / Domains: Remove unusable governor dummies PM / Domains: Make pm_genpd_init() available to modules PM / domains: Align column headers and data in pm_genpd_summary output PM / Domains: Return -EPROBE_DEFER if we fail to init or turn-on domain PM / Domains: Correct unit address in power-controller example PM / Domains: Remove intermediate states from the power off sequence * pm-avs: PM / AVS: rockchip-io: add io selectors and supplies for rk3368 PM / AVS: rockchip-io: depend on CONFIG_POWER_AVS commit 5cf896b3c7842036ba37cc7057d74d5a2af159a7 Merge: ac2a29c 4c1ed5a 00dabd5 f4745a9 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 15:53:37 2015 +0200 Merge branches 'pm-cpuidle', 'pm-devfreq' and 'pm-clk' * pm-cpuidle: cpuidle/coupled: Remove redundant 'dev' argument of cpuidle_state_is_coupled() cpuidle/coupled: Remove cpuidle_device::safe_state_index intel_idle: Skylake Client Support intel_idle: allow idle states to be freeze-mode specific * pm-devfreq: PM / devfreq: exynos-ppmu: Update documentation to support PPMUv2 PM / devfreq: exynos-ppmu: Add the support of PPMUv2 for Exynos5433 PM / devfreq: event: Remove incorrect property in exynos-ppmu DT binding * pm-clk: PM / clk: don't return int on __pm_clk_enable() commit ac2a29c8a4a641574febccd10169b26138a5d656 Merge: 4ffe18c 50a3cb0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 15:52:41 2015 +0200 Merge branch 'pm-opp' * pm-opp: PM / OPP: Drop unlikely before IS_ERR(_OR_NULL) PM / OPP: Fix static checker warning (broken 64bit big endian systems) PM / OPP: Free resources and properly return error on failure cpufreq-dt: make scaling_boost_freqs sysfs attr available when boost is enabled cpufreq: dt: Add support for turbo/boost mode cpufreq: dt: Add support for operating-points-v2 bindings cpufreq: Allow drivers to enable boost support after registering driver cpufreq: Update boost flag while initializing freq table from OPPs PM / OPP: add dev_pm_opp_is_turbo() helper PM / OPP: Add helpers for initializing CPU OPPs PM / OPP: Add support for opp-suspend PM / OPP: Add OPP sharing information to OPP library PM / OPP: Add clock-latency-ns support PM / OPP: Add support to parse "operating-points-v2" bindings PM / OPP: Break _opp_add_dynamic() into smaller functions PM / OPP: Allocate dev_opp from _add_device_opp() PM / OPP: Create _remove_device_opp() for freeing dev_opp PM / OPP: Relocate few routines PM / OPP: Create a directory for opp bindings PM / OPP: Update bindings to make opp-hz a 64 bit value commit 4ffe18c2556f2848c4e57457915b08a63dc00fd5 Merge: 4980125 72e624d Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 15:52:35 2015 +0200 Merge branch 'pm-cpufreq' * pm-cpufreq: (53 commits) cpufreq: speedstep-lib: Use monotonic clock cpufreq: powernv: Increase the verbosity of OCC console messages cpufreq: sfi: use kmemdup rather than duplicating its implementation cpufreq: drop !cpufreq_driver check from cpufreq_parse_governor() cpufreq: rename cpufreq_real_policy as cpufreq_user_policy cpufreq: remove redundant 'policy' field from user_policy cpufreq: remove redundant 'governor' field from user_policy cpufreq: update user_policy.* on success cpufreq: use memcpy() to copy policy cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event cpufreq: mediatek: Add MT8173 cpufreq driver dt-bindings: mediatek: Add MT8173 CPU DVFS clock bindings intel_pstate: append more Oracle OEM table id to vendor bypass list intel_pstate: Add SKY-S support intel_pstate: Fix possible overflow complained by Coverity cpufreq: Correct a freq check in cpufreq_set_policy() cpufreq: Lock CPU online/offline in cpufreq_register_driver() cpufreq: Replace recover_policy with new_policy in cpufreq_online() cpufreq: Separate CPU device registration from CPU online cpufreq: powernv: Restore cpu frequency to policy->cur on unthrottling ... commit 72e624de6e6f0d5a638fbc23842aa76ae048e9e7 Author: Abhilash Jindal <klock.android@xxxxxxxxx> Date: Tue Aug 11 12:01:22 2015 -0400 cpufreq: speedstep-lib: Use monotonic clock Wall time obtained from do_gettimeofday is susceptible to sudden jumps due to user setting the time or due to NTP. Monotonic time is constantly increasing time better suited for comparing two timestamps. Signed-off-by: Abhilash Jindal <klock.android@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 309d0631cc329ca1051c631c89e0acc9b752cb4d Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:41:44 2015 +0530 cpufreq: powernv: Increase the verbosity of OCC console messages Modify the OCC reset/load/active event message to make it clearer for the user to understand the event and effect of the event. Suggested-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a482e5562e48d89ea50f41f9fc6ed3a9768de2ff Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:17 2015 +0200 cpufreq: sfi: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 36dfef23cd26a6d3b71dd86509e34d311f1cd906 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:20 2015 +0530 cpufreq: drop !cpufreq_driver check from cpufreq_parse_governor() Driver is guaranteed to be present on a call to cpufreq_parse_governor() and there is no need to check for !cpufreq_driver. Drop it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c7a7b418dd1991079dd7ef03fec7d1863ef96154 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:19 2015 +0530 cpufreq: rename cpufreq_real_policy as cpufreq_user_policy Its all about caching min/max freq requested by userspace, and the name 'cpufreq_real_policy' doesn't fit that well. Rename it to cpufreq_user_policy. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 88dc4384958759510db248bf9158434ac783d407 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:18 2015 +0530 cpufreq: remove redundant 'policy' field from user_policy Its always same as policy->policy, and there is no need to keep another copy of it. Remove it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e27f8bd248756310a6df8b67f96d41d5a693642c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:17 2015 +0530 cpufreq: remove redundant 'governor' field from user_policy Its always same as policy->governor, and there is no need to keep another copy of it. Remove it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 14ca0bdfdd6b422027b9b733abb0bf151811eaa7 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:16 2015 +0530 cpufreq: update user_policy.* on success 'user_policy' caches properties of a policy that are set by userspace. And these must be updated only if cpufreq core was successful in updating them based on request from user space. In store_scaling_governor(), we are updating user_policy.policy and user_policy.governor even if cpufreq_set_policy() failed. That's incorrect. Fix this by updating user_policy.* only if we were successful in updating the properties. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8fa5b631f32238a16ae3db0db5b354f7b9eb20cb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:15 2015 +0530 cpufreq: use memcpy() to copy policy cpufreq_get_policy() is useful if the pointer to policy isn't available in advance. But if it is available, then there is no need to call cpufreq_get_policy(). Directly use memcpy() to copy the policy. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6bfb7c7434f75d29241413dc7e784295ba56de98 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:14 2015 +0530 cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event What's being done from CPUFREQ_INCOMPATIBLE, can also be done with CPUFREQ_ADJUST. There is nothing special with CPUFREQ_INCOMPATIBLE notifier. Kill CPUFREQ_INCOMPATIBLE and fix its usage sites. This also updates the numbering of notifier events to remove holes. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1453863fb02a18900c9079fa2e4f02710bf46507 Author: Pi-Cheng Chen <pi-cheng.chen@xxxxxxxxxx> Date: Wed Aug 19 10:05:06 2015 +0800 cpufreq: mediatek: Add MT8173 cpufreq driver Mediatek MT8173 is an ARMv8 based quad-core (2*Cortex-A53 and 2*Cortex-A72) SoC with duall clusters. For each cluster, two voltage inputs, Vproc and Vsram are supplied by two regulators. For the big cluster, two regulators come from different PMICs. In this case, when scaling voltage inputs of the cluster, the voltages of two regulator inputs need to be controlled by software explicitly under the SoC specific limitation: 100mV < Vsram - Vproc < 200mV which is called 'voltage tracking' mechanism. And when scaling the frequency of cluster clock input, the input MUX need to be parented to another "intermediate" stable PLL first and reparented to the original PLL once the original PLL is stable at the target frequency. This patch implements those mechanisms to enable CPU DVFS support for Mediatek MT8173 SoC. Signed-off-by: Pi-Cheng Chen <pi-cheng.chen@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c9c96ae2c57d91ea2b73ef447fdd44c760a96d97 Author: Pi-Cheng Chen <pi-cheng.chen@xxxxxxxxxx> Date: Mon Aug 17 17:24:23 2015 +0800 dt-bindings: mediatek: Add MT8173 CPU DVFS clock bindings This patch adds the clock and regulator consumer properties part of document for CPU DVFS clocks on Mediatek MT8173 SoC. Signed-off-by: Pi-Cheng Chen <pi-cheng.chen@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f212bd95a9f62b7929c59b16e1d3bbde2fb4081d Merge: 8c4de9b 0439de7 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Sep 1 15:38:33 2015 +0200 Merge branch 'for-4.3/microsoft' into for-linus Conflicts: drivers/hid/usbhid/hid-quirks.c commit 8c4de9bc2041229fb778e0c47e32585b6f6b1d09 Merge: 067e260 9a1d78a 29e2d6d d1c4803 3cb5ff0 c873d9a 070f63b 4b8a826 9a98b33 21589eb 824deff 5397df1 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Sep 1 15:37:30 2015 +0200 Merge branches 'for-4.3/chicony', 'for-4.3/cp2112', 'for-4.3/i2c-hid', 'for-4.3/lenovo', 'for-4.3/logitech', 'for-4.3/multitouch', 'for-4.3/picolcd', 'for-4.3/rmi', 'for-4.3/sensor-hub', 'for-4.3/sony' and 'for-4.3/wacom' into for-linus commit 067e2601d3c076abbf45db91261f9065eaa879b2 Merge: 3e097d1 931830a Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Sep 1 15:35:24 2015 +0200 Merge branch 'for-4.3/gembird' into for-linus commit 3e097d1271ecdff2f251a54ddfc5eaa1f9821e96 Merge: 0be0171 c9b5772 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Sep 1 15:23:13 2015 +0200 Merge branches 'for-4.2/upstream-fixes-devm-fixed' and 'for-4.3/upstream' into for-linus commit c8fb70a3e8dd60e31c4422bae85783cf1733f038 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Sun Aug 23 13:34:08 2015 -0700 MAINTAINERS: Add Frank Rowand as DT maintainer Frank has agreed to step up and help with DT core code maintainership. At the same time, Grant is taking a step back from active maintainership responsibilities. Add Frank to the device tree core code entry and shuffle Grant to the end of the list. In a few releases time Grant will be removed entirely. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 9d6f85d9fe422aa42f3f337872050fb2a30cd430 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Aug 30 21:44:12 2015 +0200 mtd: nand: pxa3xx: add optional dma for pxa architecture The PXA architecture provides a DMA to pump data from the nand controller to memory and the other way around. Add it to the binding description. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 472204fe37083aa8f31aaf183b4072d432e7c5ea Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Aug 31 11:51:29 2015 +0530 Documentation: DT: cpsw: document missing compatible CPSW driver has multiple compatibles for errata implementations but not documented, add necessary documentation. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit cc7da0ba9c96699592d0a69d7d146ac6adcc18e7 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Tue Sep 1 11:38:19 2015 +0100 dm cache: fix use after freeing migrations Both free_io_migration() and issue_discard() dereference a migration that was just freed. Fix those by saving off the migrations's cache object before freeing the migration. Also cleanup needless mg->cache dereferences now that the cache object is available directly. Fixes: e44b6a5a3c ("dm cache: move wake_waker() from free_migrations() to where it is needed") Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit f319cb8491e1b4cc44e7baeeb3ae7817dedf57fc Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 1 20:15:10 2015 +0800 reset: ath79: Fix missing spin_lock_init Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Alban Bedel <albeu@xxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 092b6dbe8a4a24c17f2ebfe86995dc994e61f420 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 10:09:26 2015 +0200 mmc: android-goldfish: remove incorrect __iomem annotation Make sparse happy: drivers/mmc/host/android-goldfish.c:535:56: sparse: incorrect type in argument 3 (different address spaces) Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7b554088d56e9df3ee5dff8989b44903965bad95 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Aug 18 08:58:40 2015 +0530 video: fbdev: pxa168fb: Use devm_clk_get This patch introduces the use of managed resource function devm_clk_get instead of clk_get and removes corresponding calls to clk_put in the probe and remove functions. To be compatible with the change various gotos are replaced with direct returns, and unneeded label failed_put_clk is dropped. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c4e6774de19f4638bb887a47a58ee21d6809360b Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Aug 23 02:11:15 2015 +0200 fbdev: ssd1307fb: fix error return code Propagate error code on failure. Also changed %ld to %d in dev_err to use ret variable rather than putting two calls to PTR_ERR. A simplified version of the semantic match that finds the first problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit b4df20474ff76b4dbab7d991de271820383995b8 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Aug 24 22:54:21 2015 +0300 fbdev: fix snprintf() limit in show_bl_curve() The limit should be "PAGE_SIZE - len" instead of PAGE_SIZE. Also let's use scnprintf() because snprintf() returns the number of bytes which would have been printed if there were space and scnprintf() returns the number of bytes actually printed. I don't think we are ever going to actually hit this limit in real life. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 9cf94eab8b309e8bcc78b41dd1561c75b537dd0b Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Aug 31 19:11:02 2015 +0200 netfilter: conntrack: use nf_ct_tmpl_free in CT/synproxy error paths Commit 0838aa7fcfcd ("netfilter: fix netns dependencies with conntrack templates") migrated templates to the new allocator api, but forgot to update error paths for them in CT and synproxy to use nf_ct_tmpl_free() instead of nf_conntrack_free(). Due to that, memory is being freed into the wrong kmemcache, but also we drop the per net reference count of ct objects causing an imbalance. In Brad's case, this leads to a wrap-around of net->ct.count and thus lets __nf_conntrack_alloc() refuse to create a new ct object: [ 10.340913] xt_addrtype: ipv6 does not support BROADCAST matching [ 10.810168] nf_conntrack: table full, dropping packet [ 11.917416] r8169 0000:07:00.0 eth0: link up [ 11.917438] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 12.815902] nf_conntrack: table full, dropping packet [ 15.688561] nf_conntrack: table full, dropping packet [ 15.689365] nf_conntrack: table full, dropping packet [ 15.690169] nf_conntrack: table full, dropping packet [ 15.690967] nf_conntrack: table full, dropping packet [...] With slab debugging, it also reports the wrong kmemcache (kmalloc-512 vs. nf_conntrack_ffffffff81ce75c0) and reports poison overwrites, etc. Thus, to fix the problem, export and use nf_ct_tmpl_free() instead. Fixes: 0838aa7fcfcd ("netfilter: fix netns dependencies with conntrack templates") Reported-by: Brad Jackson <bjackson0971@xxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6fa2d197936ba0b8936e813d0adecefac160062b Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Aug 31 11:23:28 2015 +0300 i915: Set ddi_pll_sel in DP MST path The DP MST encoder config function never sets ddi_pll_sel, even though its value is programmed in its ->pre_enable() hook. That used to work because a new pipe_config was kzalloc'ed at every modeset, and the value of zero selects the highest clock for the PLL. Starting with the commit below, the value of ddi_pll_sel is preserved through modesets, and since the correct value wasn't properly setup by the MST code, it could lead to warnings and blank screens. commit 8504c74c7ae48b4b8ed1f1c0acf67482a7f45c93 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri May 15 11:51:50 2015 +0300 drm/i915: Preserve ddi_pll_sel when allocating new pipe_config Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91628 Cc: stable@xxxxxxxxxxxxxxx # 7e6313a2516d drm/i915: Don't use link_bw for PLL setup Cc: stable@xxxxxxxxxxxxxxx Cc: Timo Aaltonen <tjaalton@xxxxxxxxxx> Cc: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 7e6313a2516dbcd168f4ae36f0abe1a9227106b5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 11 20:21:46 2015 +0300 drm/i915: Don't use link_bw for PLL setup Use port_clock instead of link_bw when picking the PLL parameters for DP. link_bw may be zero with an eDP 1.4 sink that supports DP_LINK_RATE_SET so we shouldn't use it for anything other than feed it to the sink appropriately. v2: Fix typo in commit message (Sivakumar) Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [Jani: cherry-picked from future.] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit aa3469ce7afd86a670d22375a64f1b5a06707725 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Aug 27 10:06:24 2015 -0700 drm/vmwgfx: Allow dropped masters render-node like access on legacy nodes v2 Applications like gnome-shell may try to render after dropping master privileges. Since the driver should now be safe against this scenario, allow those applications to use their legacy node like a render node. v2: Add missing return statement. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit c4749c9a4a9ddc16200ce46a19078357727bf4b1 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Aug 31 12:25:04 2015 +0200 drm/atomic: Fix bookkeeping with TEST_ONLY, v3. Commit ec9f932ed41622d120de52a5b525e4d77b9ef17e "drm/atomic: Cleanup on error properly in the atomic ioctl." cleaned up some error paths, but didn't fix the TEST_ONLY path. In the check only case plane->fb shouldn't be updated, and the vblank events should be cleared as on failure. Changes since v1: - Fix -EDEADLK handling of vblank events too. - Free state last with CHECK_ONLY. Changes since v2: - Add comment about freeing crtc_state->event with TEST_ONLY. (Daniel Stone) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 532026612455a4a6fd27c1b2e7111263f63218a2 Merge: 65a9959 bcc84ec Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 1 10:24:54 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Add ability to specify to select which registers to record, to reduce the size of perf.data files, and also allow printing the registers in 'perf script': (Stephane Eranian) # perf record --intr-regs=AX,SP usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.016 MB perf.data (8 samples) ] # perf script -F ip,sym,iregs | tail -5 ffffffff8105f42a native_write_msr_safe AX:0xf SP:0xffff8802629c3c00 ffffffff8105f42a native_write_msr_safe AX:0xf SP:0xffff8802629c3c00 ffffffff81761ac0 _raw_spin_lock AX:0xffff8801bfcf8020 SP:0xffff8802629c3ce8 ffffffff81202bf8 __vma_adjust_trans_huge AX:0x7ffc75200000 SP:0xffff8802629c3b30 ffffffff8122b089 dput AX:0x101 SP:0xffff8802629c3c78 # Infrastructure changes: - Open event on evsel cpus and threads. (Kan Liang) - Add new bpf API to get name from a BPF object. (Wang Nan) Build fixes: - Fix build on powerpc broken by pt/bts. (Adrian Hunter) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5bcd0b7f3c56c616abffd89e11c841834dd1528c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 1 07:56:38 2015 +0800 reset: Add (devm_)reset_control_get stub functions So the drivers can be compiled with CONFIG_RESET_CONTROLLER disabled. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 69f92f67b68ab7028ffe15f0eea76b59f8859383 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Wed Jul 15 13:57:35 2015 +0200 drm/i915: Preserve SSC earlier Commit 92122789b2d6 ("drm/i915: preserve SSC if previously set v3") added code to intel_modeset_gem_init to override the SSC status read from VBT with the SSC status set by BIOS. However, intel_modeset_gem_init is invoked *after* intel_modeset_init, which calls intel_setup_outputs, which *modifies* SSC status by way of intel_init_pch_refclk. So unlike advertised, intel_modeset_gem_init doesn't preserve the SSC status set by BIOS but whatever intel_init_pch_refclk decided on. This is a problem on dual gpu laptops such as the MacBook Pro which require either a handler to switch DDC lines, or the discrete gpu to proxy DDC/AUX communication: Both the handler and the discrete gpu may initialize after the i915 driver, and consequently, an LVDS connector may initially seem disconnected and the SSC therefore is disabled by intel_init_pch_refclk, but on reprobe the connector may turn out to be connected and the SSC must then be enabled. Due to 92122789b2d6 however, the SSC is not enabled on reprobe since it is assumed BIOS disabled it while in fact it was disabled by intel_init_pch_refclk. Also, because the SSC status is preserved so late, the preserved value only ever gets used on resume but not on panel initialization: intel_modeset_init calls intel_init_display which indirectly calls intel_panel_use_ssc via multiple subroutines, *before* the BIOS value overrides the VBT value in intel_modeset_gem_init (intel_panel_use_ssc is the sole user of dev_priv->vbt.lvds_use_ssc). Fix this by moving the code introduced by 92122789b2d6 from intel_modeset_gem_init to intel_modeset_init before the invocation of intel_setup_outputs and intel_init_display. Add a DRM_DEBUG_KMS as suggested way back by Jani: http://lists.freedesktop.org/archives/intel-gfx/2014-June/046666.html Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=88861 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61115 Tested-by: Paul Hordiienko <pvt.gord@xxxxxxxxx> [MBP 6,2 2010 intel ILK + nvidia GT216 pre-retina] Tested-by: William Brown <william@xxxxxxxxxxxxxxxx> [MBP 8,2 2011 intel SNB + amd turks pre-retina] Tested-by: Lukas Wunner <lukas@xxxxxxxxx> [MBP 9,1 2012 intel IVB + nvidia GK107 pre-retina] Tested-by: Bruno Bierbaumer <bruno@xxxxxxxxxxxxxx> [MBP 11,3 2013 intel HSW + nvidia GK107 retina -- work in progress] Fixes: 92122789b2d6 ("drm/i915: preserve SSC if previously set v3") Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 63b6c13dbb7d3e36f031629f7e4e86dacfcab8cf Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Mon Aug 31 20:05:57 2015 -0700 tun_dst: Remove opts_size opts_size is only written and never read. Following patch removes this unused variable. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2053aeb69a53224717296db31b13d5b45b4f1a0e Author: Marius Tomaschewski <mt@xxxxxxx> Date: Tue Sep 1 01:57:30 2015 +0200 ipv6: send only one NEWLINK when RA causes changes Signed-off-by: Marius Tomaschewski <mt@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65a99597f044c083983f4274ab049c9ec3b9d764 Merge: 418c2e1 555ee95 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 21:04:24 2015 -0700 Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull NOHZ updates from Ingo Molnar: "The main changes, mostly written by Frederic Weisbecker, include: - Fix some jiffies based cputime assumptions. (No real harm because the concerned code isn't used by full dynticks.) - Simplify jiffies <-> usecs conversions. Remove dead code. - Remove early hacks on nohz full code that avoided messing up idle nohz internals. Now nohz integrates well full and idle and such hack have become needless. - Restart nohz full tick from irq exit. (A simplification and a preparation for future optimization on scheduler kick to nohz full) - Code cleanups. - Tile driver isolation enhancement on top of nohz. (Chris Metcalf)" * 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: nohz: Remove useless argument on tick_nohz_task_switch() nohz: Move tick_nohz_restart_sched_tick() above its users nohz: Restart nohz full tick from irq exit nohz: Remove idle task special case nohz: Prevent tilegx network driver interrupts alpha: Fix jiffies based cputime assumption apm32: Fix cputime == jiffies assumption jiffies: Remove HZ > USEC_PER_SEC special case commit 418c2e1f67658460533e4aaa7a0bcc64290ec951 Merge: a1d8561 dd9d384 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 20:55:23 2015 -0700 Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fix from Ingo Molnar: "This is a leftover scheduler fix from the v4.2 cycle" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched: Fix cpu_active_mask/cpu_online_mask race commit a1d8561172f369ba56d636df49a6b4d6d77e2123 Merge: 3959df1d ff277d4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 20:26:22 2015 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler updates from Ingo Molnar: "The biggest change in this cycle is the rewrite of the main SMP load balancing metric: the CPU load/utilization. The main goal was to make the metric more precise and more representative - see the changelog of this commit for the gory details: 9d89c257dfb9 ("sched/fair: Rewrite runnable load and utilization average tracking") It is done in a way that significantly reduces complexity of the code: 5 files changed, 249 insertions(+), 494 deletions(-) and the performance testing results are encouraging. Nevertheless we need to keep an eye on potential regressions, since this potentially affects every SMP workload in existence. This work comes from Yuyang Du. Other changes: - SCHED_DL updates. (Andrea Parri) - Simplify architecture callbacks by removing finish_arch_switch(). (Peter Zijlstra et al) - cputime accounting: guarantee stime + utime == rtime. (Peter Zijlstra) - optimize idle CPU wakeups some more - inspired by Facebook server loads. (Mike Galbraith) - stop_machine fixes and updates. (Oleg Nesterov) - Introduce the 'trace_sched_waking' tracepoint. (Peter Zijlstra) - sched/numa tweaks. (Srikar Dronamraju) - misc fixes and small cleanups" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits) sched/deadline: Fix comment in enqueue_task_dl() sched/deadline: Fix comment in push_dl_tasks() sched: Change the sched_class::set_cpus_allowed() calling context sched: Make sched_class::set_cpus_allowed() unconditional sched: Fix a race between __kthread_bind() and sched_setaffinity() sched: Ensure a task has a non-normalized vruntime when returning back to CFS sched/numa: Fix NUMA_DIRECT topology identification tile: Reorganize _switch_to() sched, sparc32: Update scheduler comments in copy_thread() sched: Remove finish_arch_switch() sched, tile: Remove finish_arch_switch sched, sh: Fold finish_arch_switch() into switch_to() sched, score: Remove finish_arch_switch() sched, avr32: Remove finish_arch_switch() sched, MIPS: Get rid of finish_arch_switch() sched, arm: Remove finish_arch_switch() sched/fair: Clean up load average references sched/fair: Provide runnable_load_avg back to cfs_rq sched/fair: Remove task and group entity load when they are dead sched/fair: Init cfs_rq's sched_entity load average ... commit 3959df1dfb9538498ec3372a2d390bc7fbdbfac2 Merge: 41d859a 6c36dfe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 20:20:30 2015 -0700 Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RAS updates from Ingo Molnar: "MCE handling updates, but also some generic drivers/edac/ changes to better organize the Kconfig space" * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/ras: Move AMD MCE injector to arch/x86/ras/ x86/mce: Add a wrapper around mce_log() for injection x86/mce: Rename rcu_dereference_check_mce() to mce_log_get_idx_check() RAS: Add a menuconfig option with descriptive text x86/mce: Reenable CMCI banks when swiching back to interrupt mode x86/mce: Clear Local MCE opt-in before kexec x86/mce: Remove unused function declarations x86/mce: Kill drain_mcelog_buffer() x86/mce: Avoid potential deadlock due to printk() in MCE context x86/mce: Remove the MCE ring for Action Optional errors x86/mce: Don't use percpu workqueues x86/mce: Provide a lockless memory pool to save error records x86/mce: Reuse one of the u16 padding fields in 'struct mce' commit 41d859a83c567a9c9f50a34082cc64aab0abb0cd Merge: 4658000 bac2e4a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 19:49:05 2015 -0700 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf updates from Ingo Molnar: "Main perf kernel side changes: - uprobes updates/fixes. (Oleg Nesterov) - Add PERF_RECORD_SWITCH to indicate context switches and use it in tooling. (Adrian Hunter) - Support BPF programs attached to uprobes and first steps for BPF tooling support. (Wang Nan) - x86 generic x86 MSR-to-perf PMU driver. (Andy Lutomirski) - x86 Intel PT, LBR and BTS updates. (Alexander Shishkin) - x86 Intel Skylake support. (Andi Kleen) - x86 Intel Knights Landing (KNL) RAPL support. (Dasaratharaman Chandramouli) - x86 Intel Broadwell-DE uncore support. (Kan Liang) - x86 hw breakpoints robustization (Andy Lutomirski) Main perf tooling side changes: - Support Intel PT in several tools, enabling the use of the processor trace feature introduced in Intel Broadwell processors: (Adrian Hunter) # dmesg | grep Performance # [0.188477] Performance Events: PEBS fmt2+, 16-deep LBR, Broadwell events, full-width counters, Intel PMU driver. # perf record -e intel_pt//u -a sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.216 MB perf.data ] # perf script # then navigate in the tool output to some area, like this one: 184 1030 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba661440 dl_main (/usr/lib64/ld-2.17.so) 185 1457 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba669f10 _dl_new_object (/usr/lib64/ld-2.17.so) 186 9f37 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba677b90 strlen (/usr/lib64/ld-2.17.so) 187 7ba3 strlen (/usr/lib64/ld-2.17.so) => 7f21ba677c75 strlen (/usr/lib64/ld-2.17.so) 188 7c78 strlen (/usr/lib64/ld-2.17.so) => 7f21ba669f3c _dl_new_object (/usr/lib64/ld-2.17.so) 189 9f8a _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba65fab0 calloc@plt (/usr/lib64/ld-2.17.so) 190 fab0 calloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e70 calloc (/usr/lib64/ld-2.17.so) 191 5e87 calloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa90 malloc@plt (/usr/lib64/ld-2.17.so) 192 fa90 malloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e60 malloc (/usr/lib64/ld-2.17.so) 193 5e68 malloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so) 194 fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so) => 7f21ba675d50 __libc_memalign (/usr/lib64/ld-2.17.so) 195 5d63 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e20 __libc_memalign (/usr/lib64/ld-2.17.so) 196 5e40 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675d73 __libc_memalign (/usr/lib64/ld-2.17.so) 197 5d97 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e18 __libc_memalign (/usr/lib64/ld-2.17.so) 198 5e1e __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675df9 __libc_memalign (/usr/lib64/ld-2.17.so) 199 5e10 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba669f8f _dl_new_object (/usr/lib64/ld-2.17.so) 200 9fc2 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba678e70 memcpy (/usr/lib64/ld-2.17.so) 201 8e8c memcpy (/usr/lib64/ld-2.17.so) => 7f21ba678ea0 memcpy (/usr/lib64/ld-2.17.so) - Add support for using several Intel PT features (CYC, MTC packets), the relevant documentation was updated in: tools/perf/Documentation/intel-pt.txt briefly describing those packets, its purposes, how to configure them in the event config terms and relevant external documentation for further reading. (Adrian Hunter) - Introduce support for probing at an absolute address, for user and kernel 'perf probe's, useful when one have the symbol maps on a developer machine but not on an embedded system. (Wang Nan) - Add Intel BTS support, with a call-graph script to show it and PT in use in a GUI using 'perf script' python scripting with postgresql and Qt. (Adrian Hunter) - Allow selecting the type of callchains per event, including disabling callchains in all but one entry in an event list, to save space, and also to ask for the callchains collected in one event to be used in other events. (Kan Liang) - Beautify more syscall arguments in 'perf trace': (Arnaldo Carvalho de Melo) * A bunch more translate file/pathnames from pointers to strings. * Convert numbers to strings for the 'keyctl' syscall 'option' arg. * Add missing 'clockid' entries. - Introduce 'srcfile' sort key: (Andi Kleen) # perf record -F 10000 usleep 1 # perf report --stdio --dsos '[kernel.vmlinux]' -s srcfile <SNIP> # Overhead Source File 26.49% copy_page_64.S 5.49% signal.c 0.51% msr.h # It can be combined with other fields, for instance, experiment with '-s srcfile,symbol'. There are some oddities in some distros and with some specific DSOs, being investigated, so your mileage may vary. - Support per-event 'freq' term: (Namhyung Kim) $ perf record -e 'cpu/instructions,freq=1234/',cycles -c 1000 sleep 1 $ perf evlist -F cpu/instructions,freq=1234/: sample_freq=1234 cycles: sample_period=1000 $ - Deref sys_enter pointer args with contents from probe:vfs_getname, showing pathnames instead of pointers in many syscalls in 'perf trace'. (Arnaldo Carvalho de Melo) - Stop collecting /proc/kallsyms in perf.data files, saving about 4.5MB on a typical x86-64 system, use the the symbol resolution routines used in all the other tools (report, top, etc) now that we can ask libtraceevent to use perf's symbol resolution code. (Arnaldo Carvalho de Melo) - Allow filtering out of perf's PID via 'perf record --exclude-perf'. (Wang Nan) - 'perf trace' now supports syscall groups, like strace, i.e: $ trace -e file touch file Will expand 'file' into multiple, file related, syscalls. More work needed to add extra groups for other syscall groups, and also to complement what was added for the 'file' group, included as a proof of concept. (Arnaldo Carvalho de Melo) - Add lock_pi stresser to 'perf bench futex', to test the kernel code related to FUTEX_(UN)LOCK_PI. (Davidlohr Bueso) - Let user have timestamps with per-thread recording in 'perf record' (Adrian Hunter) - ... and tons of other changes, see the shortlog and the Git log for details" * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (240 commits) perf evlist: Add backpointer for perf_env to evlist perf tools: Rename perf_session_env to perf_env perf tools: Do not change lib/api/fs/debugfs directly perf tools: Add tracing_path and remove unneeded functions perf buildid: Introduce sysfs/filename__sprintf_build_id perf evsel: Add a backpointer to the evlist a evsel is in perf trace: Add header with copyright and background info perf scripts python: Add new compaction-times script perf stat: Get correct cpu id for print_aggr tools lib traceeveent: Allow for negative numbers in print format perf script: Add --[no-]-demangle/--[no-]-demangle-kernel tracing/uprobes: Do not print '0x (null)' when offset is 0 perf probe: Support probing at absolute address perf probe: Fix error reported when offset without function perf probe: Fix list result when address is zero perf probe: Fix list result when symbol can't be found tools build: Allow duplicate objects in the object list perf tools: Remove export.h from MANIFEST perf probe: Prevent segfault when reading probe point with absolute address perf tools: Update Intel PT documentation ... commit 4658000955d1864b54890214434e171949c7f1c5 Merge: e10994f 69786cdb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 19:16:36 2015 -0700 Merge branch 'mm-kasan-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86/kasan changes from Ingo Molnar: "These are two KASAN changes that factor out (and generalize) x86 specific KASAN code from x86 to mm" * 'mm-kasan-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kasan, mm: Introduce generic kasan_populate_zero_shadow() x86/kasan: Define KASAN_SHADOW_OFFSET per architecture commit e10994ff38ded64e4cd2267a6e404a4c8632bcf5 Merge: 5757bd6 33fef66 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 19:11:50 2015 -0700 Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull liblockdep fixes from Ingo Molnar: "Three liblockdep fixes left over from the v4.2 cycle" * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: tools/liblockdep: Use the rbtree header provided by common tools headers tools/liblockdep: Correct macro for WARN tools: Restore export.h commit 498012511a060575a56551d28a10bb392aa361b5 Merge: 5d2a1a9 4bf0118 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:45:05 2015 +0200 Merge branch 'device-properties' * device-properties: device property: check fwnode type in to_of_node() device property: attach 'else if' to the proper 'if' device property: fallback to pset when gettng one string device property: fix potential NULL pointer dereference commit 5d2a1a927d487d6bb60c87b837d82702d8ebcaad Merge: ef5f5de 5d0ddfe b00855a 02b771b 3277b4e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:41:19 2015 +0200 Merge branches 'acpi-pci', 'acpi-soc', 'acpi-ec' and 'acpi-osl' * acpi-pci: ACPI, PCI: Penalize legacy IRQ used by ACPI SCI * acpi-soc: ACPI / LPSS: Ignore 10ms delay for Braswell * acpi-ec: ACPI / EC: Fix an issue caused by the serialized _Qxx evaluations * acpi-osl: ACPI / osl: replace custom implementation of readq / writeq commit ef5f5de069bd9081a7ddf6998269b58fc65e27ef Merge: 73990fc e91a398 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:38:43 2015 +0200 Merge branch 'acpi-pm' * acpi-pm: ACPI / bus: Move duplicate code to a separate new function mfd: Add support for Intel Sunrisepoint LPSS devices dmaengine: add a driver for Intel integrated DMA 64-bit mfd: make mfd_remove_devices() iterate in reverse order driver core: implement device_for_each_child_reverse() klist: implement klist_prev() Driver core: wakeup the parent device before trying probe ACPI / PM: Attach ACPI power domain only once PM / QoS: Make it possible to expose device latency tolerance to userspace ACPI / PM: Update the copyright notice and description of power.c commit 73990fc810bf84c5338d9596f8af8d70fe90ac72 Merge: 94f2bb9 1dcc3d3 b6fc607 1074261 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:38:22 2015 +0200 Merge branches 'acpi-scan', 'acpi-processor' and 'acpi-assorted' * acpi-scan: ACPI / bus: Move ACPI bus type registration ACPI / scan: Move bus operations and notification routines to bus.c ACPI / scan: Move device matching code to bus.c ACPI / scan: Move sysfs-related device code to a separate file * acpi-processor: PCC: Disable compilation by default ACPI: Decouple ACPI idle and ACPI processor drivers ACPI: Split out ACPI PSS from ACPI Processor driver PCC: Initialize PCC Mailbox earlier at boot ACPI / processor: remove leftover __refdata annotations * acpi-assorted: ACPI: fix acpi_debugfs_init prototype ACPI: Remove FSF mailing addresses commit 94f2bb9b599f8d6a3a1309d39b3b219da314470c Merge: 20a2000 cb4ff76 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:37:59 2015 +0200 Merge branch 'acpi-trace' * acpi-trace: ACPI / Documentation: Update method tracing documentation. ACPI / sysfs: Add support to allow leading "\" missing in trace_method_name. ACPI / sysfs: Update method tracing facility. ACPI / sysfs: Add ACPI_LV_REPAIR debug level. commit 20a200085f64cce4f33ab33ae262ff291dc5d6d0 Merge: c91c5b2 4305cd0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:37:51 2015 +0200 Merge branch 'acpi-tools' * acpi-tools: tools/power/acpi: Enable build for EC userspace tool tools/power/acpi: Add descend support in ACPI tools Makefile commit 5757bd6157f523ff0d448a4ec93938523ca441a9 Merge: 7073bc6 accd0b9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 18:37:33 2015 -0700 Merge branch 'core-types-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull inlining tuning from Ingo Molnar: "A handful of inlining optimizations inspired by x86 work but applicable in general" * 'core-types-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: jiffies: Force inlining of {m,u}msecs_to_jiffies() x86/hweight: Force inlining of __arch_hweight{32,64}() linux/bitmap: Force inlining of bitmap weight functions commit c91c5b276bc1e60c0d65ff69e29b6edc5948430d Merge: 64291f7 b7a4f7f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:37:30 2015 +0200 Merge branch 'acpica' * acpica: (42 commits) ACPICA: Update version to 20150818 ACPICA: Debugger: Cleanup debugging outputs to dump name path without trailing underscores ACPICA: Disassembler: Cleanup acpi_gbl_db_opt_verbose acpiexec usage ACPICA: Disassembler: Cleanup acpi_gbl_db_opt_disasm ACPICA: Debugger: Split debugger initialization/termination APIs ACPICA: Header support to improve compatibility with MSVC ACPICA: Make the max-number-of-loops runtime configurable ACPICA: Debugger: Add option to display namespace summary/counts ACPICA: Add additional debug info/statements ACPICA: Table handling: Cleanup and update debug output for tools ACPICA: acpiexec/acpinames: Support very large number of ACPI tables ACPICA: acpinames: Add new options and wildcard support ACPICA: Headers: Fix some comments, no functional change ACPICA: Tables: Cleanup to reduce FACS globals ACPICA: Tables: Fix global table list issues by removing fixed table indexes ACPICA: Update info messages during ACPICA init ACPICA: Disassembler: Update for new listing mode ACPICA: Update parameter validation for data_table_region and load_table ACPICA: Disassembler: Remove duplicate code in _PLD processing. ACPICA: Correctly cleanup after a ACPI table load failure ... commit 7073bc66126e3ab742cce9416ad6b4be8b03c4f7 Merge: d4c9039 f612a7b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 18:12:07 2015 -0700 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RCU updates from Ingo Molnar: "The main RCU changes in this cycle are: - the combination of tree geometry-initialization simplifications and OS-jitter-reduction changes to expedited grace periods. These two are stacked due to the large number of conflicts that would otherwise result. - privatize smp_mb__after_unlock_lock(). This commit moves the definition of smp_mb__after_unlock_lock() to kernel/rcu/tree.h, in recognition of the fact that RCU is the only thing using this, that nothing else is likely to use it, and that it is likely to go away completely. - documentation updates. - torture-test updates. - misc fixes" * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits) rcu,locking: Privatize smp_mb__after_unlock_lock() rcu: Silence lockdep false positive for expedited grace periods rcu: Don't disable CPU hotplug during OOM notifiers scripts: Make checkpatch.pl warn on expedited RCU grace periods rcu: Update MAINTAINERS entry rcu: Clarify CONFIG_RCU_EQS_DEBUG help text rcu: Fix backwards RCU_LOCKDEP_WARN() in synchronize_rcu_tasks() rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN() rcu: Make rcu_is_watching() really notrace cpu: Wait for RCU grace periods concurrently rcu: Create a synchronize_rcu_mult() rcu: Fix obsolete priority-boosting comment rcu: Use WRITE_ONCE in RCU_INIT_POINTER rcu: Hide RCU_NOCB_CPU behind RCU_EXPERT rcu: Add RCU-sched flavors of get-state and cond-sync rcu: Add fastpath bypassing funnel locking rcu: Rename RCU_GP_DONE_FQS to RCU_GP_DOING_FQS rcu: Pull out wait_event*() condition into helper function documentation: Describe new expedited stall warnings rcu: Add stall warnings to synchronize_sched_expedited() ... commit d4c90396ed7ef9b4e4d221e008e54be8bea8307f Merge: f36fc04 bf43341 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 17:38:39 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto updates from Herbert Xu: "Here is the crypto update for 4.3: API: - the AEAD interface transition is now complete. - add top-level skcipher interface. Drivers: - x86-64 acceleration for chacha20/poly1305. - add sunxi-ss Allwinner Security System crypto accelerator. - add RSA algorithm to qat driver. - add SRIOV support to qat driver. - add LS1021A support to caam. - add i.MX6 support to caam" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (163 commits) crypto: algif_aead - fix for multiple operations on AF_ALG sockets crypto: qat - enable legacy VFs MPI: Fix mpi_read_buffer crypto: qat - silence a static checker warning crypto: vmx - Fixing opcode issue crypto: caam - Use the preferred style for memory allocations crypto: caam - Propagate the real error code in caam_probe crypto: caam - Fix the error handling in caam_probe crypto: caam - fix writing to JQCR_MS when using service interface crypto: hash - Add AHASH_REQUEST_ON_STACK crypto: testmgr - Use new skcipher interface crypto: skcipher - Add top-level skcipher interface crypto: cmac - allow usage in FIPS mode crypto: sahara - Use dmam_alloc_coherent crypto: caam - Add support for LS1021A crypto: qat - Don't move data inside output buffer crypto: vmx - Fixing GHASH Key issue on little endian crypto: vmx - Fixing AES-CTR counter bug crypto: null - Add missing Kconfig tristate for NULL2 crypto: nx - Add forward declaration for struct crypto_aead ... commit 5d54b8cdeaf4679c51a510dea3f8921992d0b064 Merge: 70b33a7 1a7ccad Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 1 10:30:11 2015 +1000 Merge branch 'xfs-misc-fixes-for-4.3-4' into for-next commit f36fc04e4cdda9e4c72ee504e7dc638f9a168863 Merge: 26f8b7e ba30011 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 17:26:48 2015 -0700 Merge tag 'clk-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux Pull clk updates from Michael Turquette: "The clk framework changes for 4.3 are mostly updates to existing drivers and the addition of new clock drivers. Stephen Boyd has also done a lot of subsystem-wide driver clean-ups (thanks!). There are also fixes to the framework core and changes to better split clock provider drivers from clock consumer drivers" * tag 'clk-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (227 commits) clk: s5pv210: add missing call to samsung_clk_of_add_provider() clk: pistachio: correct critical clock list clk: pistachio: Fix PLL rate calculation in integer mode clk: pistachio: Fix override of clk-pll settings from boot loader clk: pistachio: Fix 32bit integer overflows clk: tegra: Fix some static checker problems clk: qcom: Fix MSM8916 prng clock enable bit clk: Add missing header for 'bool' definition to clk-conf.h drivers/clk: appropriate __init annotation for const data clk: rockchip: register pll mux before pll itself clk: add bindings for the Ux500 clocks clk/ARM: move Ux500 PRCC bases to the device tree clk: remove duplicated code with __clk_set_parent_after clk: Convert __clk_get_name(hw->clk) to clk_hw_get_name(hw) clk: Constify clk_hw argument to provider APIs clk: Hi6220: add stub clock driver dt-bindings: clk: Hi6220: Document stub clock driver dt-bindings: arm: Hi6220: add doc for SRAM controller clk: atlas7: fix pll missed divide NR in fraction mode clk: atlas7: fix bit field and its root clk for coresight_tpiu ... commit 26f8b7edc9eab56638274f5db90848a6df602081 Merge: edc837d 9ca678d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 17:14:39 2015 -0700 Merge tag 'pci-v4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI updates from Bjorn Helgaas: "PCI changes for the v4.3 merge window: Enumeration: - Allocate ATS struct during enumeration (Bjorn Helgaas) - Embed ATS info directly into struct pci_dev (Bjorn Helgaas) - Reduce size of ATS structure elements (Bjorn Helgaas) - Stop caching ATS Invalidate Queue Depth (Bjorn Helgaas) - iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth (Bjorn Helgaas) - Move MPS configuration check to pci_configure_device() (Bjorn Helgaas) - Set MPS to match upstream bridge (Keith Busch) - ARM/PCI: Set MPS before pci_bus_add_devices() (Murali Karicheri) - Add pci_scan_root_bus_msi() (Lorenzo Pieralisi) - ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() (Lorenzo Pieralisi) Resource management: - Call pci_read_bridge_bases() from core instead of arch code (Lorenzo Pieralisi) PCI device hotplug: - pciehp: Remove unused interrupt events (Bjorn Helgaas) - pciehp: Remove ignored MRL sensor interrupt events (Bjorn Helgaas) - pciehp: Handle invalid data when reading from non-existent devices (Jarod Wilson) - pciehp: Simplify pcie_poll_cmd() (Yijing Wang) - Use "slot" and "pci_slot" for struct hotplug_slot and struct pci_slot (Yijing Wang) - Protect pci_bus->slots with pci_slot_mutex, not pci_bus_sem (Yijing Wang) - Hold pci_slot_mutex while searching bus->slots list (Yijing Wang) Power management: - Disable async suspend/resume for JMicron multi-function SATA/AHCI (Zhang Rui) Virtualization: - Add ACS quirks for Intel I219-LM/V (Alex Williamson) - Restore ACS configuration as part of pci_restore_state() (Alexander Duyck) MSI: - Add pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu) - x86: Implement pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu) - Add helpers to manage pci_dev->irq and pci_dev->irq_managed (Jiang Liu) - Free legacy IRQ when enabling MSI/MSI-X (Jiang Liu) - ARM/PCI: Remove msi_controller from struct pci_sys_data (Lorenzo Pieralisi) - Remove unused pcibios_msi_controller() hook (Lorenzo Pieralisi) Generic host bridge driver: - Remove dependency on ARM-specific struct hw_pci (Jayachandran C) - Build setup-irq.o for arm64 (Jayachandran C) - Add arm64 support (Jayachandran C) APM X-Gene host bridge driver: - Add APM X-Gene PCIe 64-bit prefetchable window (Duc Dang) - Add support for a 64-bit prefetchable memory window (Duc Dang) - Drop owner assignment from platform_driver (Krzysztof Kozlowski) Broadcom iProc host bridge driver: - Allow BCMA bus driver to be built as module (Hauke Mehrtens) - Delete unnecessary checks before phy calls (Markus Elfring) - Add arm64 support (Ray Jui) Synopsys DesignWare host bridge driver: - Don't complain missing *config* reg space if va_cfg0 is set (Murali Karicheri) TI DRA7xx host bridge driver: - Disable pm_runtime on get_sync failure (Kishon Vijay Abraham I) - Add PM support (Kishon Vijay Abraham I) - Clear MSE bit during suspend so clocks will idle (Kishon Vijay Abraham I) - Add support to make GPIO drive PERST# line (Kishon Vijay Abraham I) Xilinx AXI host bridge driver: - Check for MSI interrupt flag before handling as INTx (Russell Joyce) Miscellaneous: - Fix Intersil/Techwell TW686[4589] AV capture class code (Krzysztof HaÅ?asa) - Use PCI_CLASS_SERIAL_USB instead of bare number (Bjorn Helgaas) - Fix generic NCR 53c810 class code quirk (Bjorn Helgaas) - Fix TI816X class code quirk (Bjorn Helgaas) - Remove unused "pci_probe" flags (Bjorn Helgaas) - Host bridge driver code simplifications (Fabio Estevam) - Add dev_flags bit to access VPD through function 0 (Mark Rustad) - Add VPD function 0 quirk for Intel Ethernet devices (Mark Rustad) - Kill off set_irq_flags() usage (Rob Herring) - Remove Intel Cherrytrail D3 delays (Srinidhi Kasagar) - Clean up pci_find_capability() (Wei Yang)" * tag 'pci-v4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (72 commits) PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI PCI: Set MPS to match upstream bridge PCI: Move MPS configuration check to pci_configure_device() PCI: Drop references acquired by of_parse_phandle() PCI/MSI: Remove unused pcibios_msi_controller() hook ARM/PCI: Remove msi_controller from struct pci_sys_data ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() PCI: Add pci_scan_root_bus_msi() ARM/PCI: Replace panic with WARN messages on failures PCI: generic: Add arm64 support PCI: Build setup-irq.o for arm64 PCI: generic: Remove dependency on ARM-specific struct hw_pci PCI: imx6: Simplify a trivial if-return sequence PCI: spear: Use BUG_ON() instead of condition followed by BUG() PCI: dra7xx: Remove unneeded use of IS_ERR_VALUE() PCI: Remove pci_ats_enabled() PCI: Stop caching ATS Invalidate Queue Depth PCI: Move ATS declarations to linux/pci.h so they're all together PCI: Clean up ATS error handling PCI: Use pci_physfn() rather than looking up physfn by hand ... commit edc837da4b54a01ba6fa3c29b411e35d1a8430ca Merge: e5aeced 4d59ed8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 17:08:05 2015 -0700 Merge tag 'leds_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds Pull LED updates from Jacek Anaszewski: "In this merge window we'd like to announce a change on the list of LED subsystem maintainers - Bryan Wu decided to step back and handed over the maintainership to me (Jacek Anaszewski), which entailed an update of LED subsystem git tree URL. Besides the changes in MAINTAINERS we have: - optimizations and improvements to existing LED class drivers - improvements to the common LEDs DT documentation - modifications of kirkwood-* dts files, to be in sync with patches for leds-ns2 driver, that move LEDs mode mapping outside of the driver" * tag 'leds_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: leds: Export OF module alias information in missing drivers leds:lp55xx: use the private data instead of updating I2C device platform data leds: syscon: Correct check for syscon_node_to_regmap() errors leds: leds-fsg: Use devm_led_classdev_register MAINTAINERS: Change LED subsystem git tree URL leds/led-class: Add missing put_device() ARM: Kirkwood: add modes-map property to ns2-leds nodes leds: tlc591xx: Remove redundant I2C_FUNC_SMBUS_BYTE_DATA functionality check leds: leds-ns2: depends on MACH_ARMADA_370 leds: leds-ns2: handle can_sleep GPIOs leds: leds-ns2: move LED modes mapping outside of the driver leds: lp8860: Constify reg_default tables leds: Drop owner assignment from i2c_driver leds: Allow compile test of LEDS_AAT1290 and LEDS_KTD2692 if !GPIOLIB leds: Allow compile test of GPIO consumers if !GPIOLIB DT: leds: Improve description of flash LEDs related properties commit 07f081fb5057b2ea98baeca3a47bf0eb33e94aa1 Author: David Howells <dhowells@xxxxxxxxxx> Date: Sun Aug 30 16:59:57 2015 +0100 PKCS#7: Add OIDs for sha224, sha284 and sha512 hash algos and use them Add OIDs for sha224, sha284 and sha512 hash algos and use them to select the hashing algorithm. Without this, something like the following error might get written to dmesg: [ 31.829322] PKCS7: Unknown OID: [32] 2.16.840.1.101.3.4.2.3 [ 31.829328] PKCS7: Unknown OID: [180] 2.16.840.1.101.3.4.2.3 [ 31.829330] Unsupported digest algo: 55 Where the 55 on the third line is OID__NR indicating an unknown OID. Reported-by: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-By: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit e5aeced6bcec5a110e6dfcb78acc203dbe895b59 Merge: cf9d615 c5992f6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:55:49 2015 -0700 Merge tag 'spi-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi updates from Mark Brown: "A few core tweaks this time together with the usual collection of driver specific updates and fixes plus a larger than average selection of new device support: - fix DMA mapping of unaligned vmalloc() buffers - statistics tracking transfer volumes exposed via sysfs - new drivers for Freescale MPC5125, Intel Sunrise Point, Mediatek SoCs, and Netlogic XLP SoCs" * tag 'spi-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (66 commits) spi: sh-msiof: Fix FIFO size to 64 word from 256 word spi: fsl-(e)spi: Fix checking return value of devm_ioremap_resource spi: Add DT bindings documentation for Netlogic XLP SPI controller spi/xlp: SPI controller driver for Netlogic XLP SoCs spi: fsl-espi: add runtime PM spi: fsl-(e)spi: simplify cleanup code spi: fsl-(e)spi: migrate to using devm_ functions to simplify cleanup spi: mediatek: fix SPI_CMD_PAUSE_IE macro error spi: check bits_per_word in spi_setup spi: mediatek: replace *_time name spi: mediatek: add PM clk_prepare_enable fail flow spi: mediatek: replace int with u32, delete TAB and define MTK_SPI_PAUSE_INT_STATUS marco spi: mediatek: add linux/io.h include file spi/bcm63xx-hsspi: add support for dual spi read/write spi: dw: Allow interface drivers to limit data I/O to word sizes dt: snps,dw-apb-ssi: Document new I/O data register width property spi: Fall back to master maximum speed if no slave speed specified spi: mediatek: use BIT() to instead of SPI_CMD_*_OFFSET spi: medaitek: revise quirks compatibility style spi: mediatek: fix spi incorrect endian usage ... commit cf9d615f7f5842ca1ef0f28ed9f67a97d20cf6fc Merge: e270160 f5164b8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:49:19 2015 -0700 Merge tag 'regulator-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "The biggest changes in the core this time around have been some refactorings that move us towards being able to drop the list of regulators maintained by the core and instead just use the driver model list maintained for the class devices for regulators which will make the code smaller and avoid some potential bugs. Otherwise another fairly quiet release for the regulator API, highlights include: - a new API for setting voltages based on a minimum, target, maximum triplet - support for continuous voltage ranges rather than tables of explicit steps in the PWM regulator, requiring less explicit configuration - new driver support for Dialog DA9215, Maxim 77843, Mediatek MT6311 and Qualcomm RPM" * tag 'regulator-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (70 commits) regulator: mt6311: fix platform_no_drv_owner.cocci warnings regulator: ltc3589: Remove unnecessary MODULE_ALIAS() regulator: ad5398: Remove unnecessary MODULE_ALIAS() regulator: pfuze100: Remove unnecessary MODULE_ALIAS() regulator: core: use debug level print in regulator_check_drms regulator: lp872x: handle error case regulator: lp872x: use the private data instead of updating I2C device platform data regulator: isl9305: Export OF module alias information regulators: max77693: register driver earlier to avoid deferred probe regulator: qcom_smd: Set n_voltages for pm8941_lnldo regulator: core: Use IS_ERR_OR_NULL() regulator: core: Define regulator_set_voltage_triplet() regulator: Regulator driver for the Qualcomm RPM regulator: pbias: Fix broken pbias disable functionality regulator: core: Spelling fix regulator: core: Use class device list for regulator_list in late init regulator: core: Move more deallocation into class unregister regulator: core: Reduce rdev locking region when releasing regulator Input: Remove the max77843 haptic driver Input: max77693: Add support for Maxim 77843 ... commit e2701603f72cd38e99c6b1da13c8e99bc27b2f34 Merge: 22629b6 ce14c58 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:40:05 2015 -0700 Merge tag 'docs-for-linus' of git://git.lwn.net/linux-2.6 Pull documentation updates from Jonathan Corbet: "There's been a fair amount going on in the docs tree this time around, including: - Support for reproducible document builds, from Ben Hutchings and company. - The ability to automatically generate cross-reference links within a single DocBook book and embedded descriptions for large structures. From Danilo Cesar Lemes de Paula. - A new document on how to add a system call from David Drysdale. - Chameleon bus documentation from Johannes Thumshirn. ...plus the usual collection of improvements, typo fixes, and more" * tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: (39 commits) Documentation, add kernel-parameters.txt entry for dis_ucode_ldr Documentation/x86: Rename IRQSTACKSIZE to IRQ_STACK_SIZE Documentation/Intel-IOMMU.txt: Modify definition of DRHD docs: update HOWTO for 3.x -> 4.x versioning kernel-doc: ignore unneeded attribute information scripts/kernel-doc: Adding cross-reference links to html documentation. DocBook: Fix non-determinstic installation of duplicate man pages Documentation: minor typo fix in mailbox.txt Documentation: describe how to add a system call doc: Add more workqueue functions to the documentation ARM: keystone: add documentation for SoCs and EVMs scripts/kernel-doc Allow struct arguments documentation in struct body SubmittingPatches: remove stray quote character Revert "DocBook: Avoid building man pages repeatedly and inconsistently" Documentation: Minor changes to men-chameleon-bus.txt Doc: fix trivial typo in SubmittingPatches MAINTAINERS: Direct Documentation/DocBook/media properly Documentation: installed man pages don't need to be executable fix Evolution submenu name in email-clients.txt Documentation: Add MCB documentation ... commit 22629b6d9072c4e86e900306d7020ad722ae6536 Merge: c8192ba 1ed3216 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:31:12 2015 -0700 Merge tag 'hwmon-for-linus-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon updates from Guenter Roeck: "Notable changes: - added support for LTM4675, LTC3886, LTC2980, LTM2987, LTC2975, LTC3887, LTC3882, MAX20751, ADM1293, and ADM1294 to PMBus drivers - added support for IT8732F to it87 driver - added support for AMD Carrizo to fam15h_power driver - added support for various new attributes to nct7802 driver - added support for F81866 and F71868 to f71882fg driver" * tag 'hwmon-for-linus-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (45 commits) hwmon: (fam15h_power) Add ratio of Tsample to the PTSC period hwmon: (fam15h_power) Add documentation for new processors support hwmon: (fam15h_power) Update running_avg_capture bit field to 28 hwmon: (fam15h_power) Rename fam15h_power_is_internal_node0 function hwmon: (fam15h_power) Add support for AMD Carrizo hwmon: (ltc2978) Add support for LTM4675 hwmon: (ltc2978) Add polling for chips requiring it hwmon: (pmbus) Enable PEC if the controller supports it hwmon: (pmbus) Use BIT macro hwmon: (ltc2978) Add support for LTC3886 hwmon: (ltc2978) Add support for LTC2980 and LTM2987 hwmon: (ltc2978) Add missing chip IDs for LTC2978 and LTC3882 hwmon: (ltc2978) Use correct ID mask to detect all chips hwmon: (ltc2978) Introduce helper functions for min and max values hwmon: (ltc2978) Introduce feature flags hwmon: (pmbus) Convert command register definitions to enum hwmon: (ltc2978) Add support for LTC2975 hwmon: (ltc2978) Add support for LTC3887 hwmon: (ltc2978) Add additional chip IDs for LTM4676 and LTM4676A hwmon: (ltc2978) Add support for LTC3882 ... commit c8192ba416397ad6ce493f186da40767ce086c3b Merge: 9c6a019 b68c316 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:25:16 2015 -0700 Merge tag 'for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply Pull power supply and reset changes from Sebastian Reichel: - new reset driver for ZTE SoCs - add support for sama5d3 reset handling - overhaul of twl4030 charger driver - misc fixes and cleanups * tag 'for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (35 commits) bq2415x_charger: Allow to load and use driver even if notify device is not registered yet twl4030_charger: fix compile error when TWL4030_MADC not available. power: bq24190_charger: Fix charge type sysfs property power: Allow compile test of GPIO consumers if !GPIOLIB power: Export I2C module alias information in missing drivers twl4030_charger: Increase current carefully while watching voltage. twl4030_charger: add ac/mode to match usb/mode twl4030_charger: add software controlled linear charging mode. twl4030_charger: enable manual enable/disable of usb charging. twl4030_charger: allow max_current to be managed via sysfs. twl4030_charger: distinguish between USB current and 'AC' current twl4030_charger: allow fine control of charger current. twl4030_charger: split uA calculation into a function. twl4030_charger: trust phy to determine when USB power is available. twl4030_charger: correctly handle -EPROBE_DEFER from devm_usb_get_phy_by_node twl4030_charger: convert to module_platform_driver instead of ..._probe. twl4030_charger: use runtime_pm to keep usb phy active while charging. rx51-battery: Set name to rx51-battery MAINTAINERS: AVS is not maintained via power supply tree power: olpc_battery: clean up eeprom read function ... commit c42858eaf4926eb2f44f3e26731b276ab966ac28 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Aug 31 13:57:34 2015 -0700 gro_cells: remove spinlock protecting receive queues As David pointed out, spinlock are no longer needed to protect the per cpu queues used in gro cells infrastructure. Also use new napi_complete_done() API so that gro_flush_timeout tweaks have an effect. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e704059272aae2aaa5e5ce7a76e4c27c492e947e Author: David Ward <david.ward@xxxxxxxxxx> Date: Mon Aug 31 14:15:14 2015 -0400 net: qmi_wwan: Sierra Wireless MC73xx -> Sierra Wireless MC7304/MC7354 Other Sierra Wireless MC73xx devices exist, with different USB IDs. Cc: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a394eef562d781f37a50d99cf1dfe596dc1ed96d Author: Marius Tomaschewski <mt@xxxxxxx> Date: Mon Aug 31 15:59:22 2015 +0200 ipv6: send NEWLINK on RA managed/otherconf changes The kernel is applying the RA managed/otherconf flags silently and forgets to send ifinfo notify to inform about their change when the router provides a zero reachable_time and retrans_timer as dnsmasq and many routers send it, which just means unspecified by this router and the host should continue using whatever value it is already using. Userspace may monitor the ifinfo notifications to activate dhcpv6. Signed-off-by: Marius Tomaschewski <mt@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c6a019c6edf8591e34ae9da51bac7684131d905 Merge: 7c01919 e4ec735 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:11:53 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "The big one is support for fake NUMA, splitting a really large machine in more manageable piece improves performance in some cases, e.g. for a KVM host. The FICON Link Incident handling has been improved, this helps the operator to identify degraded or non-operational FICON connections. The save and restore of floating point and vector registers has been overhauled to allow the future use of vector registers in the kernel. A few small enhancement, magic sys-requests for the vt220 console via SCLP, some more assembler code has been converted to C, the PCI error handling is improved. And the usual cleanup and bug fixing" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (59 commits) s390/jump_label: Use %*ph to print small buffers s390/sclp_vt220: support magic sysrequests s390/ctrlchar: improve handling of magic sysrequests s390/numa: remove superfluous ARCH_WANT defines s390/3270: redraw screen on unsolicited device end s390/dcssblk: correct out of bounds array indexes s390/mm: simplify page table alloc/free code s390/pci: move debug messages to debugfs s390/nmi: initialize control register 0 earlier s390/zcrypt: use msleep() instead of mdelay() s390/hmcdrv: fix interrupt registration s390/setup: fix novx parameter s390/uaccess: remove uaccess_primary kernel parameter s390: remove unneeded sizeof(void *) comparisons s390/facilities: remove transactional-execution bits s390/numa: re-add DIE sched_domain_topology_level s390/dasd: enhance CUIR scope detection s390/dasd: fix failing path verification s390/vdso: emit a GNU hash s390/numa: make core to node mapping data dynamic ... commit 7c01919130ef8b27306ed1faf1f2cc079621923c Merge: 7b8067d 650c919 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:06:28 2015 -0700 Merge tag 'xtensa-20150830' of git://github.com/czankel/xtensa-linux Pull xtensa updates from Chris Zankel: "Xtensa fixes and improvements for 4.3: - reimplement DMA API using common helpers - implement counting and sampling perf events using hardware perf counters - add fake NMI support for hardware perf counters - fix THREADPTR register reloading on return to userspace - keep exception/interrupt stack continuous for debugger - improve vmlinux.lds.S post-processing" * tag 'xtensa-20150830' of git://github.com/czankel/xtensa-linux: xtensa: improve vmlinux.lds.S sed post-processing xtensa: drop unused irq_err_count xtensa: implement fake NMI xtensa: don't touch EXC_TABLE_FIXUP in _switch_to xtensa: fix kernel register spilling xtensa: reorganize irq flags tracing perf tools: xtensa: add DWARF register names xtensa: implement counting and sampling perf events xtensa: count software page fault perf events xtensa: add profiling IRQ type to xtensa_irq_map xtensa: select PERF_USE_VMALLOC for cache-aliasing configurations xtensa: move oprofile stack tracing to stacktrace.c xtensa: keep exception/interrupt stack continuous xtensa: clean up Kconfig dependencies for custom cores xtensa: reimplement DMA API using common helpers xtensa: fix threadptr reload on return to userspace xtensa: ISS: add missing va_end into split_if_spec commit 7b8067d37058ec01889513e16033fb6de72a98ce Merge: 9551bf2 8f8dcb3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:01:08 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha Pull alpha update from Matt Turner: "A single patch for alpha, one that enables ARCH_USE_CMPXCHG_LOCKREF and offers around an 8% performance improvement on a little benchmark that you wrote" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha: alpha: select CONFIG_ARCH_USE_CMPXCHG_LOCKREF. commit 9551bf292d67e9070409b59685cdb8fc5437ec3a Merge: 4ff1204 1ecb406 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 14:52:45 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k Pull m68k updates from Geert Uytterhoeven. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k/bootinfo: Use kmemdup rather than duplicating its implementation m68k/defconfig: Update defconfigs for v4.2-rc1 m68k/defconfig: Disable experimental CONFIG_DM_CACHE commit 684511ac2eeb015b7a9a46c575543566e1b1fb7c Merge: 6ea3c9d5 bc0f4a8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 31 14:48:03 2015 -0700 Merge branch 'dsa-port-config' Andrew Lunn says: ==================== DSA port configuration and status This patchset allows various switch port settings to be configured and port status to be sampled. Some of these patches have been posted before. The first three patches provide infrastructure for configuring a switch ports link speed and duplex from a fixed_link phy. Patch four then uses this infrastructure to allow the CPU and DSA ports of a switch to be configured using a fixed-link property in the device tree. Patches five and six allow a phy-mode property to be specified in the device tree, and allow this to be used for configuring RGMII delays. Patches seven through nine allow link status, for example that of an SFP module, to be read from a gpio. Changes since v1: Rewrite 9/9 so that it hopefully does not regression on 868a4215be9a6d80 ("net: phy: fixed_phy: handle link-down case") ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc0f4a87fc7e45642455682f281de2131cde9695 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:54 2015 +0200 net: phy: fixed_phy: Set phy capabilities even when link down. What features a phy supports is masked in genphy_config_init() by looking at the PHYs BMSR register. If the link is down, fixed_phy_update_regs() will only set the auto- negotiation capable bit in BMSR. Thus genphy_config_init() comes to the conclusion the PHY can only perform 10/Half, and masks out the higher speed features. If however the link it up, BMSR is set to indicate the speed the PHY is capable of auto-negotiating, and genphy_config_init() does not mask out the high speed features. To fix this, when the link is down, have fixed_phy_update_regs() leave the link status, auto-negotiation complete, and link partner capabilities unset, but set all the local capabilities depending on the fixed phy speed. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5597008dbc230876db2d344561d634f4d52ea4a Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:53 2015 +0200 phy: fixed_phy: Add gpio to determine link up/down. An SFP module may have a link up/down status pin which can be connection to a GPIO line of the host. Add support for reading such an GPIO in the fixed_phy driver. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b59d19e749b8cb454b7912396c2a6a1b91b9d30 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:52 2015 +0200 dsa: mv88e6xxx: Don't poll forced interfaces for state changes When polling for link status, don't consider ports which have a forced link. Such ports don't monitor their phy or may not even have a phy. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7e72ac05acc357065a9448314dd14fff7c40d39 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:51 2015 +0200 dsa: mv88e6xxx: Set the RGMII delay based on phy interface Some Marvell switches allow the RGMII Rx and Tx clock to be delayed when the port is using RGMII. Have the adjust_link function look at the phy interface type and enable this delay as requested. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e44853466844c20d8b5b16de187f63ddc50710dd Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:50 2015 +0200 net: dsa: Allow DSA and CPU ports to have a phy-mode property It can be useful for DSA and CPU ports to have a phy-mode property, in particular to specify RGMII delays. Parse the property and set it in the fixed-link phydev. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39b0c705195e9409dc8a40cc82b11d81405a4a4b Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:49 2015 +0200 net: dsa: Allow configuration of CPU & DSA port speeds/duplex By default, DSA and CPU ports are configured to the maximum speed the switch supports. However there can be use cases where the peer devices port is slower. Allow a fixed-link property to be used with the DSA and CPU port in the device tree, and use this information to configure the port. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34b31da486a5e4eda9ff548ebf6dc3adc167bd0c Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:48 2015 +0200 phy: fixed_phy: Set supported speed in phydev Set the supported field of the phydev to indicate the speed features of the phy. If the phy is never attached to a netdev, but used in an adjust_link() function, the speed will be incorrectly evaluated to 10/half rather than the correct speed/duplex. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dea870242a9c4ea74b3ca0f2da3f864c47484cff Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:47 2015 +0200 dsa: mv88e6xxx: Allow speed/duplex of port to be configured The current code sets user ports to perform auto negotiation using the phy. CPU and DSA ports are configured to full duplex and maximum speed the switch supports. There are however use cases where the CPU has a slower port, and when user ports have SFP modules with fixed speed. In these cases, port settings to be read from a fixed_phy devices. The switch driver then needs to implement the adjust_link op, so the port settings can be set. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a11dd7d9649149f336ca72069d56ce52b21567f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Aug 31 15:56:46 2015 +0200 net: phy: Allow PHY devices to identify themselves as Ethernet switches, etc. Some Ethernet MAC drivers using the PHY library require the hardcoding of link parameters when interfaced to a switch device, SFP module, switch to switch port, etc. This has typically lead to various ad-hoc implementations looking like this: - using a "fixed PHY" emulated device, which will provide link indication towards the Ethernet MAC driver and hardware - pretend there is no PHY and hardcode link parameters, ala mv643x_eth Based on that, it is desireable to have the PHY drivers advertise the correct link parameters, just like regular Ethernet PHYs towards their CPU Ethernet MAC drivers, however, Ethernet MAC drivers should be able to tell whether this link should be monitored or not. In the context of an Ethernet switch, SFP module, switch to switch link, we do not need to monitor this link since it should be always up. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ff12049d6b6cc79ad8ee092ae226434687062ec Merge: c207840 44840de Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 14:38:07 2015 -0700 Merge tag 'usb-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB updates from Greg KH: "Here's the big USB and PHY patchset for 4.3-rc1. As usual, the majority of the changes are in the USB gadget portion of the tree, lots of little changes all over the place for bugs and new hardware. Other than that, the normal mix of new hardware support and bugfixes. All have been in linux-next with no reported issues" * tag 'usb-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (261 commits) USB: qcserial: add HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module USB: ftdi_sio: Added custom PID for CustomWare products USB: usb_wwan: silence read errors on disconnect USB: option: silence interrupt errors USB: symbolserial: Correct transferred data size USB: symbolserial: Use usb_get_serial_port_data usb: misc: usbtest: format max packet size for iso transfer usb: host: ehci-sys: delete useless bus_to_hcd conversion Revert "usb: interface authorization: Declare authorized attribute" Revert "usb: interface authorization: Introduces the default interface authorization" Revert "usb: interface authorization: Control interface probing and claiming" Revert "usb: interface authorization: Introduces the USB interface authorization" Revert "usb: interface authorization: SysFS part of USB interface authorization" Revert "usb: interface authorization: Documentation part" Revert "usb: interface authorization: Use a flag for the default device authorization" usb: core: hub: Removed some warnings generated by checkpatch.pl USB: host: ohci-at91: merge loops in ohci_hcd_at91_drv_probe USB: host: ohci-at91: merge ohci_at91_of_init in ohci_hcd_at91_drv_probe USB: host: ohci-at91: depend on OF USB: host: ohci-at91: move at91_usbh_data definition in c file ... commit c2078402e479f963168bfcf7a8de78ab63748a98 Merge: 2f37d65 c868cbb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 14:28:07 2015 -0700 Merge tag 'tty-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial driver updates from Greg KH: "Here is the big tty/serial driver update for 4.3-rc1. Not many major things, a number of driver updates and changes, and the 8250 driver got split up a bit to make it easier to work with by moving some functions to a new file. Full details are in the shortlog. All have been in linux-next with no reported issues" * tag 'tty-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (90 commits) serial: imx: save and restore context in the suspend path serial: imx: allow waking up on RTSD serial: imx: introduce serial_imx_enable_wakeup() serial: imx: remove unbalanced clk_prepare serial: 8250: move rx_running out of the bitfield tty: serial: 8250_omap: do not use RX DMA if pause is not supported serial:8250_dw: do not alter CTS and DCTS since AFE is enabled tty: serial: men_z135_uart.c: Don't initialize port->lock tty: serial: men_z135_uart.c: Fix race between IRQ and set_termios() serial: 8250: bind to ALi Fast Infrared Controller (ALI5123) serial: 8250: don't bind to SMSC IrCC IR port serial: mxs-auart: fix baud rate range serial: mxs-auart: keep the AUART unit in reset state when not in use serial: mxs-auart: use a function name to reflect what it really does serial: 8250_pci: fix mode after S3/S4 resume for F81504/508/512 sc16is7xx: constify devtype sc16is7xx: support multiple devices sc16is7xx: save and use per-chip line number uart: pl011: Add support to ZTE ZX296702 uart uart: pl011: Improve LCRH register access decision ... commit bcc84ec65ad1bd9f777a1fade6f8e5e0c5808fa5 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 31 18:41:12 2015 +0200 perf record: Add ability to name registers to record This patch modifies the -I/--int-regs option to enablepassing the name of the registers to sample on interrupt. Registers can be specified by their symbolic names. For instance on x86, --intr-regs=ax,si. The motivation is to reduce the size of the perf.data file and the overhead of sampling by only collecting the registers useful to a specific analysis. For instance, for value profiling, sampling only the registers used to passed arguements to functions. With no parameter, the --intr-regs still records all possible registers based on the architecture. To name registers, it is necessary to use the long form of the option, i.e., --intr-regs: $ perf record --intr-regs=si,di,r8,r9 ..... To record any possible registers: $ perf record -I ..... $ perf report --intr-regs ... To display the register, one can use perf report -D To list the available registers: $ perf record --intr-regs=\? available registers: AX BX CX DX SI DI BP SP IP FLAGS CS SS R8 R9 R10 R11 R12 R13 R14 R15 Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441039273-16260-4-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c5e991ee9dff0f8136168ed2d0d1a8cc3620dac4 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 31 18:41:11 2015 +0200 perf/x86: Add list of register names This patch adds a way to locate a register identifier (PERF_X86_REG_*) based on its name, e.g., AX. This will be used by a subsequent patch to improved flexibility of perf record. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441039273-16260-3-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fc36f9485aee3a62b22be1f561543a31bce6d48e Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 31 18:41:10 2015 +0200 perf script: Enable printing of interrupted machine state This patch adds the output of the interrupted machine state (iregs) to perf script. It presents them as NAME:VALUE so this is easy to parse during post processing. To capture the interrupted machine state: $ perf record -I .... to display iregs, use the -F option: $ perf script -F ip,iregs 40afc2 AX:0x6c5770 BX:0x1e CX:0x5f4d80a DX:0x101010101010101 SI:0x1 Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441039273-16260-2-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bdbf4a29ee5bbe5b6743ba47bc7b10ec2cba8b21 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Wed Aug 26 23:59:33 2015 +0300 i2c: muxes: fix leaked i2c adapter device node references Every call of of_parse_phandle() increments user count of found device node, if OF_DYNAMIC is enabled. The change fixes all similar addressed cases in drivers/i2c. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 3fcbbd244ed1d20dc0eb7d48d729503992fa9b7d Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Aug 24 12:41:48 2015 -0400 nfsd: ensure that delegation stateid hash references are only put once It's possible that a DELEGRETURN could race with (e.g.) client expiry, in which case we could end up putting the delegation hash reference more than once. Have unhash_delegation_locked return a bool that indicates whether it was already unhashed. In the case of destroy_delegation we only conditionally put the hash reference if that returns true. The other callers of unhash_delegation_locked call it while walking list_heads that shouldn't yet be detached. If we find that it doesn't return true in those cases, then throw a WARN_ON as that indicates that we have a partially hashed delegation, and that something is likely very wrong. Tested-by: Andrew W Elble <aweits@xxxxxxx> Tested-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e85687393f3ee0a77ccca016f903d1558bb69258 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Aug 24 12:41:47 2015 -0400 nfsd: ensure that the ol stateid hash reference is only put once When an open or lock stateid is hashed, we take an extra reference to it. When we unhash it, we drop that reference. The code however does not properly account for the case where we have two callers concurrently trying to unhash the stateid. This can lead to list corruption and the hash reference being put more than once. Fix this by having unhash_ol_stateid use list_del_init on the st_perfile list_head, and then testing to see if that list_head is empty before releasing the hash reference. This means that some of the unhashing wrappers now become bool return functions so we can test to see whether the stateid was unhashed before we put the reference. Reported-by: Andrew W Elble <aweits@xxxxxxx> Tested-by: Andrew W Elble <aweits@xxxxxxx> Reported-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Tested-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 051ac3848a94f21cfdec899cc9c65ce7f9f116fa Author: Pratyush Anand <panand@xxxxxxxxxx> Date: Thu Aug 27 10:01:33 2015 +0530 net: sunrpc: fix tracepoint Warning: unknown op '->' `perf stat -e sunrpc:svc_xprt_do_enqueue true` results in Warning: unknown op '->' Warning: [sunrpc:svc_xprt_do_enqueue] unknown op '->' Similar warning for svc_handle_xprt as well. Actually TP_printk() should never dereference an address saved in the ring buffer that points somewhere in the kernel. There's no guarantee that that object still exists (with the exception of static strings). Therefore change all the arguments for TP_printk(), so that it references values existing in the ring buffer only. While doing that, also fix another possible bug when argument xprt could be NULL and TP_fast_assign() tries to access it's elements. Signed-off-by: Pratyush Anand <panand@xxxxxxxxxx> Reviewed-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Fixes: 83a712e0afef "sunrpc: add some tracepoints around ..." Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 51a545685905c934237e640083bc3aa40b36dc14 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Aug 20 07:17:01 2015 -0400 nfsd: allow more than one laundry job to run at a time We can potentially have several nfs4_laundromat jobs running if there are multiple namespaces running nfsd on the box. Those are effectively separated from one another though, so I don't see any reason to serialize them. Also, create_singlethread_workqueue automatically adds the WQ_MEM_RECLAIM flag. Since we run this job on a timer, it's not really involved in any reclaim paths. I see no need for a rescuer thread. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 46cc8ba30445025f0ed3ed9f429aea573b301122 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Aug 25 16:59:16 2015 -0400 nfsd: don't WARN/backtrace for invalid container deployment. These messages, combined with the backtrace they trigger, makes it seem like a serious problem, though a quick search shows distros marking it as a "won't fix" non-issue when the problem is reported by users. The backtrace is overkill, and only really manages to show that if you follow the code path, you can't really avoid it with bootargs or configuration settings in the container. Given that, lets tone it down a bit and get rid of the WARN severity, and the associated backtrace, so people aren't needlessly alarmed. Also, lets drop the split printk line, since they are grep unfriendly. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit d988d5ee647861706bc7a391ddbc29429b50f00e Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Aug 21 02:23:14 2015 -0400 perf evlist: Open event on evsel cpus and threads An evsel may have different cpus and threads than the evlist it is in. Use it's own cpus and threads, when opening the evsel in 'perf record'. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440138194-17001-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7fadc59cc89f207ff6ca3d0951e11265fb4f806e Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sun Aug 9 18:43:17 2015 -0700 fs: fix fs/locks.c kernel-doc warning Fix kernel-doc warnings in fs/locks.c: Warning(..//fs/locks.c:1577): No description found for parameter 'flags' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 1f65c17e15992193f1c3f735696872cb75191517 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Aug 18 15:34:44 2015 -0400 nfsd: Add Jeff Layton as co-maintainer Jeff has been doing a lot of development (including much of the state-locking rewrite just as one example) plus lots of review and other miscellaneous nfsd work, so let's acknowledge the status quo. I'll continue to be the one to send regular pull requests but Jeff will should be available to cover there occasionally too. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 75976de6556f593f6c2a18bbbcfb1e594cc7598a Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:55:30 2015 +0800 NFSD: Return word2 bitmask if setting security label in OPEN/CREATE Security label can be set in OPEN/CREATE request, nfsd should set the bitmask in word2 if setting success. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ead8fb8c24411722b92198b3dccd102a76cdd050 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:55:02 2015 +0800 NFSD: Set the attributes used to store the verifier for EXCLUSIVE4_1 According to rfc5661 18.16.4, "If EXCLUSIVE4_1 was used, the client determines the attributes used for the verifier by comparing attrset with cva_attrs.attrmask;" So, EXCLUSIVE4_1 also needs those bitmask used to store the verifier. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7d580722c9f353d19e255f929d341caa821060d6 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:54:26 2015 +0800 nfsd: SUPPATTR_EXCLCREAT must be encoded before SECURITY_LABEL. The encode order should be as the bitmask defined order. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6896f15aabde505b35888039af93d1d182a0108a Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:52:44 2015 +0800 nfsd: Fix an FS_LAYOUT_TYPES/LAYOUT_TYPES encode bug Currently we'll respond correctly to a request for either FS_LAYOUT_TYPES or LAYOUT_TYPES, but not to a request for both attributes simultaneously. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit acf860ae7c53cc8b0c5d372c218332aac3eeba4f Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Aug 27 02:30:55 2015 +0000 bpf tools: New API to get name from a BPF object Before this patch there's no way to connect a loaded bpf object to its source file. However, during applying perf's '--filter' to BPF object, without this connection makes things harder, because perf loads all programs together, but '--filter' setting is for each object. The API of bpf_object__open_buffer() is changed to allow passing a name. Fortunately, at this time there's only one user of it (perf test LLVM), so we change it together. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440742821-44548-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc9cee5db50afaf38506bc12eb479fb8ea536dba Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Aug 31 15:41:34 2015 -0400 dm cache: small cleanups related to deferred prison cell cleanup Eliminate __cell_release() since it only had one caller that always released the cell holder. Switch cell_error_with_code() to using free_prison_cell() for the sake of consistency. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 6ea3c9d5b042edf14eac1e21af21c41f81f3491e Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 10:44:19 2015 -0700 mpls: fix mpls_net_init memory leak Fix a memory leak in the mpls netns init function in case of failure. If register_net_sysctl fails then we need to free the ctl_table. Fixes: 7720c01f3f59 ("mpls: Add a sysctl to control the size of the mpls label table") Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0fa6e529efbca3b97ab6286dbeb5910e33f6c53 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 09:57:12 2015 -0600 net: Add tos to validate source tracepoint TOS is another key aspect of the lookup passed to fib_validate_source. Add it to the tracepoint. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbb7ee0e474cc8221de55583f516275693c5b552 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Aug 31 08:57:10 2015 -0700 lib: move strncpy_from_unsafe() into mm/maccess.c To fix build errors: kernel/built-in.o: In function `bpf_trace_printk': bpf_trace.c:(.text+0x11a254): undefined reference to `strncpy_from_unsafe' kernel/built-in.o: In function `fetch_memory_string': trace_kprobe.c:(.text+0x11acf8): undefined reference to `strncpy_from_unsafe' move strncpy_from_unsafe() next to probe_kernel_read/write() which use the same memory access style. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Fixes: 1a6877b9c0c2 ("lib: introduce strncpy_from_unsafe()") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9dc30648f0708cf063e29470d83f63f8dc8fc430 Merge: 87583eb c3a8d94 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 31 12:34:00 2015 -0700 Merge branch 'per-route-dctcp-receive-side' Daniel Borkmann says: ==================== tcp: receive-side per route dctcp handling Original cover letter: Currently, the following case doesn't use DCTCP, even if it should: - responder has f.e. cubic as system wide default - 'ip route congctl dctcp $src' was set Then, DCTCP is NOT used if a DCTCP sender attempts to connect from a host in the $src range: ECT(0) is set, but listen_sk is not dctcp, so we fail the INET_ECN_is_not_ect sanity check. We also have to examine the dst used for the SYN/ACK reply to make this case work. In order to minimize additional cost, store the 'ecn is must have' information is the dst_features field. The set targets -next instead of -net since this doesn't seem to be a serious bug and to give the change more soak time until it hits linus tree. v1 -> v2: - Addressed Dave's feedback, not exposing any bits to user space - Added patch 3 to reject incorrect configurations - Rest as is, rebased and retested ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3a8d9474684d391b0afc3970d9b249add15ec07 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Aug 31 15:58:47 2015 +0200 tcp: use dctcp if enabled on the route to the initiator Currently, the following case doesn't use DCTCP, even if it should: A responder has f.e. Cubic as system wide default, but for a specific route to the initiating host, DCTCP is being set in RTAX_CC_ALGO. The initiating host then uses DCTCP as congestion control, but since the initiator sets ECT(0), tcp_ecn_create_request() doesn't set ecn_ok, and we have to fall back to Reno after 3WHS completes. We were thinking on how to solve this in a minimal, non-intrusive way without bloating tcp_ecn_create_request() needlessly: lets cache the CA ecn option flag in RTAX_FEATURES. In other words, when ECT(0) is set on the SYN packet, set ecn_ok=1 iff route RTAX_FEATURES contains the unexposed (internal-only) DST_FEATURE_ECN_CA. This allows to only do a single metric feature lookup inside tcp_ecn_create_request(). Joint work with Florian Westphal. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8d3e4163a3562d7cba486687904383e78e7dd6a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Aug 31 15:58:46 2015 +0200 fib, fib6: reject invalid feature bits Feature bits that are invalid should not be accepted by the kernel, only the lower 4 bits may be configured, but not the remaining ones. Even from these 4, 2 of them are unused. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bb14807bc761a88bb9d319e7bf519eebf4c82ec Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Aug 31 15:58:45 2015 +0200 net: fib6: reduce identation in ip6_convert_metrics Reduce the identation a bit, there's no need to artificically have it increased. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cf9dfd3bd62edfff69f11c0f111bc261166e4c7 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Aug 31 15:58:44 2015 +0200 net: fib: move metrics parsing to a helper fib_create_info() is already quite large, so before adding more code to the metrics section move that to a helper, similar to ip6_convert_metrics. Suggested-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87583ebb9f6ea6dc7f8ef167b815656787e429fc Author: Philip Downey <pdowney@xxxxxxxxxxx> Date: Mon Aug 31 11:30:38 2015 +0100 IGMP: Document igmp_link_local_mcast_reports Document the addition of a new sysctl variable which controls the generation of IGMP reports for link local multicast groups in the 224.0.0.X range. IGMP reports for local multicast groups can now be optionally inhibited by setting the value to zero e.g.: echo 0 > /proc/sys/net/ipv4/igmp_link_local_mcast_reports To retain backwards compatibility the previous behaviour is retained by default on system boot or reverted by setting the value back to non-zero. Signed-off-by: Philip Downey <pdowney@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c22279848c531fc7f555d463daf3d0df963bd41 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Sun Aug 30 18:09:38 2015 -0700 ip-tunnel: Use API to access tunnel metadata options. Currently tun-info options pointer is used in few cases to pass options around. But tunnel options can be accessed using ip_tunnel_info_opts() API without using the pointer. Following patch removes the redundant pointer and consistently make use of API. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a2050d744037158de773be5c6f1fc468a551bae Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:51:54 2015 +0800 NFSD: Store parent's stat in a separate value After commit ae7095a7c4 (nfsd4: helper function for getting mounted_on ino) we ignore the return value from get_parent_attributes(). Also, the following FATTR4_WORD2_LAYOUT_BLKSIZE uses stat.blksize, so to avoid overwriting that, use an independent value for the parent's attributes. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9153df7405ae04c1b0466de720e0a685cfea1a3a Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Mon Aug 31 18:20:08 2015 +0100 dm cache: fix leaking of deferred bio prison cells There were two cases where dm_cell_visit_release() was being called, which removes the cell from the prison's rbtree, but the callers didn't also return the cell to the mempool. Fix this by having them call free_prison_cell(). This leak manifested as the 'kmalloc-96' slab growing until OOM. Fixes: 651f5fa2a3 ("dm cache: defer whole cells") Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.1+ commit f15f4d720088c140cdf1fee6aeab3549dbdddc41 Author: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Date: Tue Aug 25 17:15:41 2015 +0200 dm raid: document RAID 4/5/6 discard support For RAID 4/5/6 data integrity reasons 'discard_zeroes_data' must work properly. Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 97db62062ac76e314c8bda4dc5b63f0ea906d15f Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Aug 31 21:39:44 2015 +0300 perf tools: Fix build on powerpc broken by pt/bts It is theoretically possible to process perf.data files created on x86 and that contain Intel PT or Intel BTS data, on any other architecture, which is why it is possible for there to be build errors on powerpc caused by pt/bts. The errors were: util/intel-pt-decoder/intel-pt-insn-decoder.c: In function â??intel_pt_insn_decoderâ??: util/intel-pt-decoder/intel-pt-insn-decoder.c:138:3: error: switch missing default case [-Werror=switch-default] switch (insn->immediate.nbytes) { ^ cc1: all warnings being treated as errors linux-acme.git/tools/perf/perf-obj/libperf.a(libperf-in.o): In function `intel_pt_synth_branch_sample': sources/linux-acme.git/tools/perf/util/intel-pt.c:871: undefined reference to `tsc_to_perf_time' linux-acme.git/tools/perf/perf-obj/libperf.a(libperf-in.o): In function `intel_pt_sample': sources/linux-acme.git/tools/perf/util/intel-pt.c:915: undefined reference to `tsc_to_perf_time' sources/linux-acme.git/tools/perf/util/intel-pt.c:962: undefined reference to `tsc_to_perf_time' linux-acme.git/tools/perf/perf-obj/libperf.a(libperf-in.o): In function `intel_pt_process_event': sources/linux-acme.git/tools/perf/util/intel-pt.c:1454: undefined reference to `perf_time_to_tsc' Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441046384-28663-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 527afb4493c2892ce89fb74648e72a30b68ba120 Author: Tsutomu Itoh <t-itoh@xxxxxxxxxxxxxx> Date: Wed Aug 19 14:55:00 2015 +0900 Btrfs: cleanup: remove unnecessary check before btrfs_free_path is called We need not check path before btrfs_free_path() is called because path is checked in btrfs_free_path(). Signed-off-by: Tsutomu Itoh <t-itoh@xxxxxxxxxxxxxx> Reviewed-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c6dd6ea55758cf403bdc07a51a06c2a1d474f906 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Thu Aug 20 09:30:39 2015 +0800 btrfs: async_thread: Fix workqueue 'max_active' value when initializing At initializing time, for threshold-able workqueue, it's max_active of kernel workqueue should be 1 and grow if it hits threshold. But due to the bad naming, there is both 'max_active' for kernel workqueue and btrfs workqueue. So wrong value is given at workqueue initialization. This patch fixes it, and to avoid further misunderstanding, change the member name of btrfs_workqueue to 'current_active' and 'limit_active'. Also corresponding comment is added for readability. Reported-by: Alex Lyakas <alex.btrfs@xxxxxxxxxxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 943c6e9925d90dc80207322b5799d95fb90ffec0 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 19 15:54:15 2015 +0800 btrfs: Add raid56 support for updating num_tolerated_disk_barrier_failures in btrfs_balance Code for updating fs_info->num_tolerated_disk_barrier_failures in btrfs_balance() lacks raid56 support. Reason: Above code was wroten in 2012-08-01, together with btrfs_calc_num_tolerated_disk_barrier_failures()'s first version. Then, btrfs_calc_num_tolerated_disk_barrier_failures() got updated later to support raid56, but code in btrfs_balance() was not updated together. Fix: Merge above similar code to a common function: btrfs_get_num_tolerated_disk_barrier_failures() and make it support both case. It can fix this bug with a bonus of cleanup, and make these code never in above no-sync state from now on. Suggested-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2c4580454fffbf184fdb9292aa19ab1ffc224add Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Jul 16 15:00:46 2015 +0800 btrfs: Cleanup for btrfs_calc_num_tolerated_disk_barrier_failures 1: Use ARRAY_SIZE(types) to replace a static-value variant: int num_types = 4; 2: Use 'continue' on condition to reduce one level tab if (!XXX) { code; ... } -> if (XXX) continue; code; ... 3: Put setting 'num_tolerated_disk_barrier_failures = 2' to (num_tolerated_disk_barrier_failures > 2) condition to make make logic neat. if (num_tolerated_disk_barrier_failures > 0 && XXX) num_tolerated_disk_barrier_failures = 0; else if (num_tolerated_disk_barrier_failures > 1) { if (XXX) num_tolerated_disk_barrier_failures = 1; else if (XXX) num_tolerated_disk_barrier_failures = 2; -> if (num_tolerated_disk_barrier_failures > 0 && XXX) num_tolerated_disk_barrier_failures = 0; if (num_tolerated_disk_barrier_failures > 1 && XXX) num_tolerated_disk_barrier_failures = ; if (num_tolerated_disk_barrier_failures > 2 && XXX) num_tolerated_disk_barrier_failures = 2; 4: Remove comment of: num_mirrors - 1: if RAID1 or RAID10 is configured and more than 2 mirrors are used. which is not fit with code. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8c204c9657c32ec5a259ebf852a767afe7efdafa Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 19 15:02:40 2015 +0800 btrfs: Remove noused chunk_tree and chunk_objectid from scrub_enumerate_chunks and scrub_chunk These variables are not used from introduced version, remove them. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7955323bdcab307bd8b1d5ef7a031e4a3d059da3 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Aug 18 17:54:30 2015 +0800 btrfs: Update out-of-date "skip parity stripe" comment Because btrfs support scrub raid56 parity stripe now. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d1bfc62591a0a5144dc380976e737fbbb4f40f4f Author: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Date: Mon Aug 31 15:46:07 2015 +0300 ipv4: fix 32b build Address remaining issue after 80ec192. Signed-off-by: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3cce6cda162eb2b2960a85d9c8992f4f3be85d0 Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Aug 14 12:47:33 2015 +1000 md/raid5: ensure device failure recorded before write request returns. When a write to one of the devices of a RAID5/6 fails, the failure is recorded in the metadata of the other devices so that after a restart the data on the failed drive wont be trusted even if that drive seems to be working again (maybe a cable was unplugged). Similarly when we record a bad-block in response to a write failure, we must not let the write complete until the bad-block update is safe. Currently there is no interlock between the write request completing and the metadata update. So it is possible that the write will complete, the app will confirm success in some way, and then the machine will crash before the metadata update completes. This is an extremely small hole for a racy to fit in, but it is theoretically possible and so should be closed. So: - set MD_CHANGE_PENDING when requesting a metadata update for a failed device, so we can know with certainty when it completes - queue requests that completed when MD_CHANGE_PENDING is set to only be processed after the metadata update completes - call raid_end_bio_io() on bios in that queue when the time comes. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 34a6f80e1639b124f24b5fadc1d45d69417cbace Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Aug 14 12:07:57 2015 +1000 md/raid5: use bio_list for the list of bios to return. This will make it easier to splice two lists together which will be needed in future patch. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 95af587e95aacb9cfda4a9641069a5244a540dc8 Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Aug 14 11:26:17 2015 +1000 md/raid10: ensure device failure recorded before write request returns. When a write to one of the legs of a RAID10 fails, the failure is recorded in the metadata of the other legs so that after a restart the data on the failed drive wont be trusted even if that drive seems to be working again (maybe a cable was unplugged). Currently there is no interlock between the write request completing and the metadata update. So it is possible that the write will complete, the app will confirm success in some way, and then the machine will crash before the metadata update completes. This is an extremely small hole for a racy to fit in, but it is theoretically possible and so should be closed. So: - set MD_CHANGE_PENDING when requesting a metadata update for a failed device, so we can know with certainty when it completes - queue requests that experienced an error on a new queue which is only processed after the metadata update completes - call raid_end_bio_io() on bios in that queue when the time comes. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 55ce74d4bfe1b9444436264c637f39a152d1e5ac Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Aug 14 11:11:10 2015 +1000 md/raid1: ensure device failure recorded before write request returns. When a write to one of the legs of a RAID1 fails, the failure is recorded in the metadata of the other leg(s) so that after a restart the data on the failed drive wont be trusted even if that drive seems to be working again (maybe a cable was unplugged). Similarly when we record a bad-block in response to a write failure, we must not let the write complete until the bad-block update is safe. Currently there is no interlock between the write request completing and the metadata update. So it is possible that the write will complete, the app will confirm success in some way, and then the machine will crash before the metadata update completes. This is an extremely small hole for a racy to fit in, but it is theoretically possible and so should be closed. So: - set MD_CHANGE_PENDING when requesting a metadata update for a failed device, so we can know with certainty when it completes - queue requests that experienced an error on a new queue which is only processed after the metadata update completes - call raid_end_bio_io() on bios in that queue when the time comes. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 18b9f67962eb890da0c053e04c3cf0e91871d4fa Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Aug 14 10:22:00 2015 +1000 md-cluster: remove inappropriate try_module_get from join() md_setup_cluster already calls try_module_get(), so this try_module_get isn't needed. Also, there is no matching module_put (except in error patch), so this leaves an unbalanced module count. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6022e75bf0686799a6ecca3c33a669e6c70e9d26 Author: NeilBrown <neilb@xxxxxxxx> Date: Thu Aug 13 12:32:55 2015 +1000 md: extend spinlock protection in register_md_cluster_operations This code looks racy. The only possible race is if two modules try to register at the same time and that won't happen. But make the code look safe anyway. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit abb9b22ac948000ae156cd2d115c8632ec30a2ce Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:22 2015 +0800 md-cluster: Read the disk bitmap sb and check if it needs recovery In gather_all_resync_info, we need to read the disk bitmap sb and check if it needs recovery. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit eece075cda38f55fc5829b5f9ec5fb919c561d81 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:21 2015 +0800 md-cluster: only call complete(&cinfo->completion) when node join cluster Introduce MD_CLUSTER_BEGIN_JOIN_CLUSTER flag to make sure complete(&cinfo->completion) is only be invoked when node join cluster. Otherwise node failure could also call the complete, and it doesn't make sense to do it. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6e6d9f2cda47745a3abcb6609b1dee0e831161d8 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:20 2015 +0800 md-cluster: add missed lockres_free We also need to free the lock resource before goto out. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b2b9bfff0aa721a04a3924ed451c417d2bd9ed15 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:19 2015 +0800 md-cluster: remove the unused sb_lock The sb_lock is not used anywhere, so let's remove it. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 9e3072e373320b331512e24f6650efa0a09720af Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:18 2015 +0800 md-cluster: init suspend_list and suspend_lock early in join If the node just join the cluster, and receive the msg from other nodes before init suspend_list, it will cause kernel crash due to NULL pointer dereference, so move the initializations early to fix the bug. md-cluster: Joined cluster 3578507b-e0cb-6d4f-6322-696cd7b1b10c slot 3 BUG: unable to handle kernel NULL pointer dereference at (null) ... ... ... Call Trace: [<ffffffffa0444924>] process_recvd_msg+0x2e4/0x330 [md_cluster] [<ffffffffa0444a06>] recv_daemon+0x96/0x170 [md_cluster] [<ffffffffa045189d>] md_thread+0x11d/0x170 [md_mod] [<ffffffff810768c4>] kthread+0xb4/0xc0 [<ffffffff8151927c>] ret_from_fork+0x7c/0xb0 ... ... ... RIP [<ffffffffa0443581>] __remove_suspend_info+0x11/0xa0 [md_cluster] Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b5ef56789b808a57fcd07271ff509911662fd877 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:17 2015 +0800 md-cluster: add the error check if failed to get dlm lock In complicated cluster environment, it is possible that the dlm lock couldn't be get/convert on purpose, the related err info is added for better debug potential issue. For lockres_free, if the lock is blocking by a lock request or conversion request, then dlm_unlock just put it back to grant queue, so need to ensure the lock is free finally. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b83d51c0785c34d552111f38fbecbe00cd58b913 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:16 2015 +0800 md-cluster: init completion within lockres_init We should init completion within lockres_init, otherwise completion could be initialized more than one time during it's life cycle. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 66099bb0ee6c20f91ace3fa5f82202fbceb67d8e Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:15 2015 +0800 md-cluster: fix deadlock issue on message lock There is problem with previous communication mechanism, and we got below deadlock scenario with cluster which has 3 nodes. Sender Receiver Receiver token(EX) message(EX) writes message downconverts message(CR) requests ack(EX) get message(CR) gets message(CR) reads message reads message requests EX on message requests EX on message To fix this problem, we do the following changes: 1. the sender downconverts MESSAGE to CW rather than CR. 2. and the receiver request PR lock not EX lock on message. And in case we failed to down-convert EX to CW on message, it is better to unlock message otherthan still hold the lock. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Lidong Zhong <ldzhong@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit dc737d7c3d62d2cd2b62c7739aaa7604330c3dd8 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 16:54:04 2015 +0800 md-cluster: transfer the resync ownership to another node When node A stops an array while the array is doing a resync, we need to let another node B take over the resync task. To achieve the goal, we need the A send an explicit BITMAP_NEEDS_SYNC message to the cluster. And the node B which received that message will invoke __recover_slot to do resync. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 05cd0e51769a51f53c68e83976c83653f6ab1595 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 16:54:03 2015 +0800 md-cluster: split recover_slot for future code reuse Make recover_slot as a wraper to __recover_slot, since the logic of __recover_slot can be reused for the condition when other nodes need to take over the resync job. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b89f704a8ddf7be1a66af9aad350226ae283292f Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 16:54:02 2015 +0800 md-cluster: use %pU to print UUIDs Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 25b2edfa3b6940b73180d2735cd19fdf58d0cf91 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Jul 24 18:19:58 2015 -0400 md: setup safemode_timer before it's being used We used to set up the safemode_timer timer in md_run. If md_run would fail before the timer was set up we'd end up trying to modify a timer that doesn't have a callback function when we access safe_delay_store, which would trigger a BUG. neilb: delete init_timer() call as setup_timer() does that. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6cbd81487f7cfa30e22537bf7cd07f48c4e7164d Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Jul 24 13:30:32 2015 +1000 md/raid5: handle possible race as reshape completes. It is possible (though unlikely) for a reshape to be interrupted between the time that end_reshape is called and the time when raid5_finish_reshape is called. This can leave conf->reshape_progress set to MaxSector, but mddev->reshape_position not. This combination confused reshape_request() when ->reshape_backwards. As conf->reshape_progress is so high, it seems the reshape hasn't really begun. But assuming MaxSector is a valid address only leads to sorrow. So ensure reshape_position and reshape_progress both agree, and add an extra check in reshape_request() just in case they don't. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 5ed1df2eacc0ba92c8c7e2499c97594b5ef928a8 Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Jul 24 13:27:08 2015 +1000 md: sync sync_completed has correct value as recovery finishes. There can be a small window between the moment that recovery actually writes the last block and the time when various sysfs and /proc/mdstat attributes report that it has finished. During this time, 'sync_completed' can have the wrong value. This can confuse monitoring software. So: - don't set curr_resync_completed beyond the end of the devices, - set it correctly when resync/recovery has completed. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c5e19d906a658f27fa858b09a95d9551b1a69bd0 Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Jul 17 12:06:02 2015 +1000 md: be careful when testing resync_max against curr_resync_completed. While it generally shouldn't happen, it is not impossible for curr_resync_completed to exceed resync_max. This can particularly happen when reshaping RAID5 - the current status isn't copied to curr_resync_completed promptly, so when it is, it can exceed resync_max. This happens when the reshape is 'frozen', resync_max is set low, and reshape is re-enabled. Taking a difference between two unsigned numbers is always dangerous anyway, so add a test to behave correctly if curr_resync_completed > resync_max Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit a4a3d26d8757a30ae21724d8b0d79e00e113c38d Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Jul 17 11:57:30 2015 +1000 md: set MD_RECOVERY_RECOVER when starting a degraded array. This ensures that 'sync_action' will show 'recover' immediately the array is started. If there is no spare the status will change to 'idle' once that is detected. Clear MD_RECOVERY_RECOVER for a read-only array to ensure this change happens. This allows scripts which monitor status not to get confused - particularly my test scripts. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c74c0d760e30f56f9699dc180036ca37993d1c58 Author: NeilBrown <neilb@xxxxxxxx> Date: Wed Jul 15 17:54:15 2015 +1000 md/raid5: remove incorrect "min_t()" when calculating writepos. This code is calculating: writepos, which is the furthest along address (device-space) that we *will* be writing to readpos, which is the earliest address that we *could* possible read from, and safepos, which is the earliest address in the 'old' section that we might read from after a crash when the reshape position is recovered from metadata. The first is a precise calculation, so clipping at zero doesn't make sense. As the reshape position is now guaranteed to always be a multiple of reshape_sectors and as we already BUG_ON when reshape_progress is zero, there is no point in this min_t() call. The readpos and safepos are worst case - actual value depends on precise geometry. That worst case could be negative, which is only a problem because we are storing the value in an unsigned. So leave the min_t() for those. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 05256d9884d3276f61537d3d7f5605dc21bd3477 Author: NeilBrown <neilb@xxxxxxxx> Date: Wed Jul 15 17:36:21 2015 +1000 md/raid5: strengthen check on reshape_position at run. When reshaping, we work in units of the largest chunk size. If changing from a larger to a smaller chunk size, that means we reshape more than one stripe at a time. So the required alignment of reshape_position needs to take into account both the old and new chunk size. This means that both 'here_new' and 'here_old' are calculated with respect to the same (maximum) chunk size, so testing if they are the same when delta_disks is zero becomes pointless. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 3cb5edf45457948347b5ae8cc9650c000cef4391 Author: NeilBrown <neilb@xxxxxxxx> Date: Wed Jul 15 17:24:17 2015 +1000 md/raid5: switch to use conf->chunk_sectors in place of mddev->chunk_sectors where possible The chunk_sectors and new_chunk_sectors fields of mddev can be changed any time (via sysfs) that the reconfig mutex can be taken. So raid5 keeps internal copies in 'conf' which are stable except for a short locked moment when reshape stops/starts. So any access that does not hold reconfig_mutex should use the 'conf' values, not the 'mddev' values. Several don't. This could result in corruption if new values were written at awkward times. Also use min() or max() rather than open-coding. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 5cac6bcb9312a18a5091976fc374b4c7b9c4ae2e Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Jul 17 12:17:50 2015 +1000 md/raid5: always set conf->prev_chunk_sectors and ->prev_algo These aren't really needed when no reshape is happening, but it is safer to have them always set to a meaningful value. The next patch will use ->prev_chunk_sectors without checking if a reshape is happening (because that makes the code simpler), and this patch makes that safe. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 02ec50265b16493e4a62228727e9f774068123d2 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Jul 6 16:33:47 2015 +1000 md/raid10: fix a few typos in comments Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 92140480ed59a006b245efd33a195fde62d1845f Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Jul 6 12:28:45 2015 +1000 md/raid5: consider updating reshape_position at start of reshape. md/raid5 only updates ->reshape_position (which is stored in metadata and is authoritative) occasionally, but particularly when getting closed to ->resync_max as it must be correct when ->resync_max is reached. When mdadm tries to stop an array which is reshaping it will: - freeze the reshape, - set resync_max to where the reshape has reached. - unfreeze the reshape. When this happens, the reshape is aborted and then restarted. The restart doesn't check that resync_max is close, and so doesn't update ->reshape_position like it should. This results in the reshape stopping, but ->reshape_position being incorrect. So on that first call to reshape_request, make sure ->reshape_position is updated if needed. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 985ca973b68cac0adfa83497db231da7f99c6ed9 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Jul 6 12:26:57 2015 +1000 md: close some races between setting and checking sync_action. When checking sync_action in a script, we want to be sure it is as accurate as possible. As resync/reshape etc doesn't always start immediately (a separate thread is scheduled to do it), it is best if 'action_show' checks if MD_RECOVER_NEEDED is set (which it does) and in that case reports what is likely to start soon (which it only sometimes does). So: - report 'reshape' if reshape_position suggests one might start. - set MD_RECOVERY_RECOVER in raid1_reshape(), because that is very likely to happen next. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit f7851be736d58e7270f05a4ca84b16ce72734a18 Author: NeilBrown <neilb@xxxxxxxx> Date: Thu Jul 2 17:12:58 2015 +1000 md: Keep /proc/mdstat reporting recovery until fully DONE. Currently when a recovery completes, mdstat shows that it has finished before the new device is marked as a full member. Because of this it can appear to a script that the recovery finished but the array isn't in sync. So while MD_RECOVERY_DONE is still set, keep mdstat reporting "recovery". Once md_reap_sync_thread() completes, the spare will be active and then MD_RECOVERY_DONE will be cleared. To ensure this is race-free, set MD_RECOVERY_DONE before clearning curr_resync. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 0e833e697bcf4c2f3f7fb9fce39d08cd4439e5d7 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Jul 1 12:19:56 2015 +1000 md/raid6: delta syndrome for ARM NEON This implements XOR syndrome calculation using NEON intrinsics. As before, the module can be built for ARM and arm64 from the same source. Relative performance on a Cortex-A57 based system: raid6: int64x1 gen() 905 MB/s raid6: int64x1 xor() 881 MB/s raid6: int64x2 gen() 1343 MB/s raid6: int64x2 xor() 1286 MB/s raid6: int64x4 gen() 1896 MB/s raid6: int64x4 xor() 1321 MB/s raid6: int64x8 gen() 1773 MB/s raid6: int64x8 xor() 1165 MB/s raid6: neonx1 gen() 1834 MB/s raid6: neonx1 xor() 1278 MB/s raid6: neonx2 gen() 2528 MB/s raid6: neonx2 xor() 1942 MB/s raid6: neonx4 gen() 2888 MB/s raid6: neonx4 xor() 2334 MB/s raid6: neonx8 gen() 2957 MB/s raid6: neonx8 xor() 2232 MB/s raid6: using algorithm neonx8 gen() 2957 MB/s raid6: .... xor() 2232 MB/s, rmw enabled Cc: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 2f37d65a6a5c360ba0c386a6aa0d2afcbda7060d Merge: 1af115d 415bcb5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 09:24:06 2015 -0700 Merge tag 'staging-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver updates from Greg KH: "Here is the big staging driver updates for 4.3-rc1. Lots of things all over the place, almost all of them trivial fixups and changes. The usual IIO updates and new drivers and we have added the MOST driver subsystem which is getting cleaned up in the tree. The ozwpan driver is finally being deleted as it is obviously abandoned and no one cares about it. Full details are in the shortlog, and all of these have been in linux-next with no reported issues" * tag 'staging-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (912 commits) staging/lustre/o2iblnd: remove references to ib_reg_phsy_mr() staging: wilc1000: fix build warning with setup_timer() staging: wilc1000: remove DECLARE_WILC_BUFFER() staging: wilc1000: remove void function return statements that are not useful staging: wilc1000: coreconfigurator.c: fix kmalloc error check staging: wilc1000: coreconfigurator.c: use kmalloc instead of WILC_MALLOC staging: wilc1000: remove unused codes of gps8ConfigPacket staging: wilc1000: remove unnecessary void pointer cast staging: wilc1000: remove WILC_NEW and WILC_NEW_EX staging: wilc1000: use kmalloc instead of WILC_NEW staging: wilc1000: Process WARN, INFO options of debug levels from user staging: wilc1000: remove unneeded tstrWILC_MsgQueueAttrs typedef staging: wilc1000: delete wilc_osconfig.h staging: wilc1000: delete wilc_log.h staging: wilc1000: delete wilc_timer.h staging: wilc1000: remove WILC_TimerStart() staging: wilc1000: remove WILC_TimerCreate() staging: wilc1000: remove WILC_TimerDestroy() staging: wilc1000: remove WILC_TimerStop() staging: wilc1000: remove tstrWILC_TimerAttrs typedef ... commit 1af115d675f323afee1e64650277a9b170845b81 Merge: 1c00038 71db87b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 08:47:40 2015 -0700 Merge tag 'driver-core-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core updates from Greg KH: "Here is the new patches for the driver core / sysfs for 4.3-rc1. Very small number of changes here, all the details are in the shortlog, nothing major happening at all this kernel release, which is nice to see" * tag 'driver-core-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: bus: subsys: update return type of ->remove_dev() to void driver core: correct device's shutdown order driver core: fix docbook for device_private.device selftests: firmware: skip timeout checks for kernels without user mode helper kernel, cpu: Remove bogus __ref annotations cpu: Remove bogus __ref annotation of cpu_subsys_online() firmware: fix wrong memory deallocation in fw_add_devm_name() sysfs.txt: update show method notes about sprintf/snprintf/scnprintf usage devres: fix devres_get() commit d8e19f99d3483adb01c6269dd5775ba8ecf1870a Author: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Date: Thu Aug 13 18:00:12 2015 +0800 drm/i915/skl: Adding DDI_E power well domain From B spec, DDI_E port belong to PowerWell 2, but DDI_E share the powerwell_req/staus register bit with DDI_A which belong to DDI_A_E_POWER_WELL. In order to communicate with the connector on DDI-E, both DDI_A_E_POWER_WELL and POWER_WELL_2 must be enabled. Currently intel_dp_power_get(DDI_E) only enable DDI_A_E_POWER_WELL, this patch will not only enable DDI_a_E_POWER_WELL but also enable POWER_WELL_2. This patch also fix the DDI-E hotplug function. Signed-off-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 7040c399aea2b0213a9aefd73e507369a6d641d6 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Aug 31 11:15:05 2015 -0400 drm/radeon/native: Send out the full AUX address AUX addresses are 20 bits long. Send out the entire address instead of just the low 16 bits. Port of: drm/radeon/atom: Send out the full AUX address to radeon non-atom aux path Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3f8340cc72c9a1a4b49bce7802afd7f248400ef5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:31 2015 +0300 drm/radeon/atom: Send out the full AUX address AUX addresses are 20 bits long. Send out the entire address instead of just the low 16 bits. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 477ec3283c324d16e8da07a8d8a4a367e31b6eab Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Aug 6 15:51:39 2015 +0800 drm/i915: eDP can be present on DDI-E Enable eDP on DDI-E. Also let's remove duplicated definitions to avoid later confusion. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 1c00038c765561c08fd942d08579fa860e604f31 Merge: 44e98ed 672cfee Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 08:34:13 2015 -0700 Merge tag 'char-misc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver patches from Greg KH: "Here's the "big" char/misc driver update for 4.3-rc1. Not much really interesting here, just a number of little changes all over the place, and some nice consolidation of the nvmem drivers to a common framework. As usual, the mei drivers stand out as the largest "churn" to handle new devices and features in their hardware. All have been in linux-next for a while with no issues" * tag 'char-misc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (136 commits) auxdisplay: ks0108: initialize local parport variable extcon: palmas: Fix build break due to devm_gpiod_get_optional API change extcon: palmas: Support GPIO based USB ID detection extcon: Fix signedness bugs about break error handling extcon: Drop owner assignment from i2c_driver extcon: arizona: Simplify pdata symantics for micd_dbtime extcon: arizona: Declare 3-pole jack if we detect open circuit on mic extcon: Add exception handling to prevent the NULL pointer access extcon: arizona: Ensure variables are set for headphone detection extcon: arizona: Use gpiod inteface to handle micd_pol_gpio gpio extcon: arizona: Add basic microphone detection DT/ACPI bindings extcon: arizona: Update to use the new device properties API extcon: palmas: Remove the mutually_exclusive array extcon: Remove optional print_state() function pointer of struct extcon_dev extcon: Remove duplicate header file in extcon.h extcon: max77843: Clear IRQ bits state before request IRQ toshiba laptop: replace ioremap_cache with ioremap misc: eeprom: max6875: clean up max6875_read() misc: eeprom: clean up eeprom_read() misc: eeprom: 93xx46: clean up eeprom_93xx46_bin_read/write ... commit 2800e4c228b8961c4da1a4925cc20c16e623851b Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Aug 7 17:35:21 2015 -0700 drm/i915/skl: Enable DDI-E There are OEMs using DDI-E out there, so let's enable it. Unfortunately there is no detection bit for DDI-E So we need to rely on VBT for that. I also need to give credits to Xiong since before seing his approach to check info->support_* I was creating an ugly vbt->ddie_sfuse_strap in order to propagate the ddi presence info v2: Rebased as last patch in the series. since all other patches in this series are needed for anything working propperly on DDI-E. Credits-to: "Zhang, Xiong Y" <xiong.y.zhang@xxxxxxxxx> Cc: "Zhang, Xiong Y" <xiong.y.zhang@xxxxxxxxx> Reviewed-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 44e98edcd11a48619b342d8f442d447b094ab2fc Merge: 64291f7 4d283ec Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 08:27:44 2015 -0700 Merge tag 'kvm-4.3-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull kvm updates from Paolo Bonzini: "A very small release for x86 and s390 KVM. - s390: timekeeping changes, cleanups and fixes - x86: support for Hyper-V MSRs to report crashes, and a bunch of cleanups. One interesting feature that was planned for 4.3 (emulating the local APIC in kernel while keeping the IOAPIC and 8254 in userspace) had to be delayed because Intel complained about my reading of the manual" * tag 'kvm-4.3-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (42 commits) x86/kvm: Rename VMX's segment access rights defines KVM: x86/vPMU: Fix unnecessary signed extension for AMD PERFCTRn kvm: x86: Fix error handling in the function kvm_lapic_sync_from_vapic KVM: s390: Fix assumption that kvm_set_irq_routing is always run successfully KVM: VMX: drop ept misconfig check KVM: MMU: fully check zero bits for sptes KVM: MMU: introduce is_shadow_zero_bits_set() KVM: MMU: introduce the framework to check zero bits on sptes KVM: MMU: split reset_rsvds_bits_mask_ept KVM: MMU: split reset_rsvds_bits_mask KVM: MMU: introduce rsvd_bits_validate KVM: MMU: move FNAME(is_rsvd_bits_set) to mmu.c KVM: MMU: fix validation of mmio page fault KVM: MTRR: Use default type for non-MTRR-covered gfn before WARN_ON KVM: s390: host STP toleration for VMs KVM: x86: clean/fix memory barriers in irqchip_in_kernel KVM: document memory barriers for kvm->vcpus/kvm->online_vcpus KVM: x86: remove unnecessary memory barriers for shared MSRs KVM: move code related to KVM_SET_BOOT_CPU_ID to x86 KVM: s390: log capability enablement and vm attribute changes ... commit 11c1b657c42f65c43f866b611956ef0a10bedafc Author: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Date: Mon Aug 17 16:04:04 2015 +0800 drm/i915: Enable HDMI on DDI-E DDI-E doesn't have the correspondent GMBUS pin. We rely on VBT to tell us which one it being used instead. The DVI/HDMI on shared port couldn't exist. This patch isn't tested without hardware wchich has HDMI on DDI-E. v2: fix trailing whitespace v3: MISSING_CASE take place of BUG() Signed-off-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 54875571bbfde00fc63741715c531cbb5246c3b2 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Jun 30 17:06:47 2015 +0300 drm/i915: apply the PCI_D0/D3 hibernation workaround everywhere on pre GEN6 commit da2bc1b9db3351addd293e5b82757efe1f77ed1d Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Oct 23 19:23:26 2014 +0300 drm/i915: add poweroff_late handler introduced a regression on old platforms during hibernation. A workaround was added in commit ab3be73fa7b43f4c3648ce29b5fd649ea54d3adb Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Mar 2 13:04:41 2015 +0200 drm/i915: gen4: work around hang during hibernation using an explicit blacklist for the GENs/BIOS vendors where the issue was reported. Later there we had reports of the same failure on platforms not on this list. To my best knowledge the correct thing to do is still to put the device to PCI D3 state during hibernation, see [1] and [2] for the reasons. This also aligns with our future plans to unify more the runtime and system suspend/resume paths. Since an exact blacklist seems to be impractical (multiple GENs and BIOS vendors are affected) apply the workaround on everything pre GEN6. [1] http://lists.freedesktop.org/archives/intel-gfx/2015-February/060710.html [2] https://lkml.org/lkml/2015/6/22/274 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=95061 Reported-by: Ilya Tumaykin <itumaykin@xxxxxxxxx> Reported-by: Dirk Griesbach <spamthis@xxxxxxxxxx> Reported-by: Pavel Machek <pavel@xxxxxx> Reported-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Tested-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Reported-by: Paul Bolle <pebolle@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d14e7b6d1d8747826cb900db852351c550e00fdd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 20 19:37:29 2015 +0300 drm/i915: Check DP link status on long hpd too We are no longer checkling the DP link status on long hpd. We used to do that from the .hot_plug() handler, but it was removed when MST got introduced. If there's no userspace we now fail to retrain the link if the sink power is toggled (or cable yanked and replugged), meaning the user is left staring at a blank screen. With the retraining put back that should be fixed. Also remove the leftover comment that referred to the old retraining from .hot_plug(). Fixes a regression introduced in: commit 0e32b39ceed665bfa4a77a4bc307b6652b991632 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri May 2 14:02:48 2014 +1000 drm/i915: add DP 1.2 MST support (v0.7) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89453 Tested-by: Palmer Dabbelt <palmer@xxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91407 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89461 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89594 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85641 Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f0a515780393dffbb363e6d1567da46af6f3c5f3 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Aug 28 07:06:58 2015 -0400 tracing: Don't make assumptions about length of string on task rename While the dest comm string size is assured to be at least TASK_COMM_LEN long, doing a memcpy() also adds the assumption that the source is at least that long as well, which isn't assured, and isn't true in cases such as: set_task_comm(worker->task, "kworker/dying"); This leads to accessing invalid memory. Link: http://lkml.kernel.org/r/1440760018-1557-1-git-send-email-sasha.levin@xxxxxxxxxx Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 08ceab9d875824f8b389530e830349d5d6c4e582 Merge: 22c103c 9193132 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 31 16:25:22 2015 +0200 Merge tag 'asoc-v4.2-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Updates for v4.3 Not many updates to the core here, but an awful lot of driver updates this time round: - Factoring out of AC'97 reset code into the core - New drivers for Cirrus CS4349, GTM601, InvenSense ICS43432, Realtek RT298 and ST STI controllers. - Machine drivers for Rockchip systems with MAX98090 and RT5645 and RT5650. - Initial driver support for Intel Skylake devices. - A large number of cleanups for Lars-Peter Clausen and Axel Lin. commit c5992f610f78e6c9d0a78e8fef1066ad640e17e8 Merge: c92ec7c f682c4f 98c7863 bf96283 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:45 2015 +0100 Merge remote-tracking branches 'spi/topic/ti-qspi', 'spi/topic/xcomm' and 'spi/topic/xlp' into spi-next commit c92ec7c7ae99a371bbc69f0258888a0328ba4838 Merge: 2ca0a9d ed425dc 65598c1 fe78d0b 89a6356 eca2ebc Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:41 2015 +0100 Merge remote-tracking branches 'spi/topic/s3c64xx', 'spi/topic/sg', 'spi/topic/sh-msiof', 'spi/topic/spidev' and 'spi/topic/stats' into spi-next commit 2ca0a9d80c3a2cd3917b768080cce7f59b9bc490 Merge: 18c558e 1529332 757fe8d cb76b1c 99622f5 385a9c8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:36 2015 +0100 Merge remote-tracking branches 'spi/topic/mtk', 'spi/topic/pxa2xx', 'spi/topic/qspi', 'spi/topic/rockchip' and 'spi/topic/s3c24xx' into spi-next commit 18c558ec748b13048ae51681f7da8248ddcb7d1c Merge: 9d05943 c4fe57f 37c5db7 93e3a9e 1f2112a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:32 2015 +0100 Merge remote-tracking branches 'spi/topic/dw', 'spi/topic/fsl-espi', 'spi/topic/img-spfi' and 'spi/topic/mpc512x-psc' into spi-next commit 9d05943e79cc54a9d8ef8196900d7cca9e5ca039 Merge: 8e42ac8 bdbbd38 ca861dd f4d8622 1b0838b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:29 2015 +0100 Merge remote-tracking branches 'spi/topic/atmel', 'spi/topic/bcm2835', 'spi/topic/bcm63xx-hsspi' and 'spi/topic/davinci' into spi-next commit 8e42ac814c63dd5c5e39bbbfbc9c6578e19c765f Merge: bc64509 c37f45b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:28 2015 +0100 Merge remote-tracking branch 'spi/topic/dma' into spi-next commit bc6450994976f26bbde656b1994f95b955bdabfc Merge: af21121 63ab645 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:27 2015 +0100 Merge remote-tracking branch 'spi/topic/core' into spi-next commit af211211e39f59575854d5976a4e301c8c21d4bc Merge: c13dcf9 43a0da2 26a67ec 9176c66 5f74db1 38d6211 7434684 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:23 2015 +0100 Merge remote-tracking branches 'spi/fix/bcm2835', 'spi/fix/bitbang', 'spi/fix/img-spfi', 'spi/fix/omap2-mcspi', 'spi/fix/orion' and 'spi/fix/xilinx' into spi-linus commit fe78d0b7691c02744004b15f6979b3f106464bc4 Author: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Date: Mon Jun 15 02:25:05 2015 +0900 spi: sh-msiof: Fix FIFO size to 64 word from 256 word The upper limit of Tx/Rx FIFO size is 64 word by the specification of H/W. This patch corrects to 64 word from 256 word. Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 17649c90ff4c5246bb4babf6260029968a6d119d Author: Sergey SENOZHATSKY <sergey.senozhatsky.work@xxxxxxxxx> Date: Mon Aug 31 18:54:58 2015 +0900 regmap: fix a NULL pointer dereference in __regmap_init __regmap_init() may receive a NULL `struct regmap_bus *bus' pointer, for example, from snd_hdac_regmap_init(), and it make sure that it does not NULL deference `bus`, except around ->max_raw_read and ->max_raw_write initialisation. Add missing check. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d5b98eb12420ce856caaf57dc5256eedc56a3747 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Aug 28 20:04:53 2015 +0100 regmap: Support bulk reads for devices without raw formatting When doing a bulk read from a device which lacks raw I/O support we fall back to doing register at a time reads but we still use the raw formatters in order to render the data into the word size used by the device (since bulk reads still operate on the device word size rather than unsigned ints). This means that devices without raw formatting such as those that provide reg_read() are not supported. Provide handling for them by copying the values read into native endian values of the appropriate size. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2d89a1d3c9ff8ceb115f001e66cff9788338ca47 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 31 02:05:47 2015 -0700 NFSv4.1/pNFS: Don't request a minimal read layout beyond the end of file If we have a read layout, then sanity check the minimal layout length so that it does not extend beyond the end of file. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 21b874c873b5019db8bb4b4f6aa929c4bac0a398 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 31 01:19:22 2015 -0700 NFSv4.1/pnfs: Handle LAYOUTGET return values correctly According to RFC5661 section 18.43.3, if the server cannot satisfy the loga_minlength argument to LAYOUTGET, there are 2 cases: 1) If loga_minlength == 0, it returns NFS4ERR_LAYOUTTRYLATER 2) If loga_minlength != 0, it returns NFS4ERR_BADLAYOUT Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4ae93560b11cb2b57ea5732d442458694ab0c168 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 31 01:25:11 2015 -0700 NFSv4.1/pnfs: Don't ask for a read layout for an empty file. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit bac2e4a96d1c0bcce5e9654dcc902f75576b9b03 Merge: 02b643b 2c07144 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 31 10:25:46 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvement and fixes from Arnaldo Carvalho de Melo: User visible changes: - Add new compaction-times python script. (Tony Jones) - Make the --[no-]-demangle/--[no-]-demangle-kernel command line options available in 'perf script' too. (Mark Drayton) - Allow for negative numbers in libtraceevent's print format, fixing up misformatting in some tracepoints. (Steven Rostedt) Infrastructure changes: - perf_env/perf_evlist changes to allow accessing the data structure with the environment where some perf data was collected in functions not necessarily related to perf.data file processing. (Kan Liang) - Cleanups for the tracepoint definition location paths routines. (Jiri Olsa) - Introduce sysfs/filename__sprintf_build_id, removing code duplication. (Masami Hiramatsu) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02b643b643254ec79b5f9aaa143e10be68eabdab Merge: d1ee8bc 4c09e0d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 31 10:25:26 2015 +0200 Merge branch 'perf/urgent' into perf/core, to pick up fixes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4c09e0d6ba65507a0ee0ca9abc5335e4f7bd7404 Merge: 64291f7 601083c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 31 10:24:24 2015 +0200 Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/urgent fix from Arnaldo Carvalho de Melo: - Use index, not CPU id, to find core/pkg id in 'perf stat' (Kan Liang) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 71f8a4b81d040b3d094424197ca2f1bf811b1245 Author: Jialing Fu <jlfu@xxxxxxxxxxx> Date: Fri Aug 28 11:13:09 2015 +0800 mmc: core: fix race condition in mmc_wait_data_done The following panic is captured in ker3.14, but the issue still exists in latest kernel. --------------------------------------------------------------------- [ 20.738217] c0 3136 (Compiler) Unable to handle kernel NULL pointer dereference at virtual address 00000578 ...... [ 20.738499] c0 3136 (Compiler) PC is at _raw_spin_lock_irqsave+0x24/0x60 [ 20.738527] c0 3136 (Compiler) LR is at _raw_spin_lock_irqsave+0x20/0x60 [ 20.740134] c0 3136 (Compiler) Call trace: [ 20.740165] c0 3136 (Compiler) [<ffffffc0008ee900>] _raw_spin_lock_irqsave+0x24/0x60 [ 20.740200] c0 3136 (Compiler) [<ffffffc0000dd024>] __wake_up+0x1c/0x54 [ 20.740230] c0 3136 (Compiler) [<ffffffc000639414>] mmc_wait_data_done+0x28/0x34 [ 20.740262] c0 3136 (Compiler) [<ffffffc0006391a0>] mmc_request_done+0xa4/0x220 [ 20.740314] c0 3136 (Compiler) [<ffffffc000656894>] sdhci_tasklet_finish+0xac/0x264 [ 20.740352] c0 3136 (Compiler) [<ffffffc0000a2b58>] tasklet_action+0xa0/0x158 [ 20.740382] c0 3136 (Compiler) [<ffffffc0000a2078>] __do_softirq+0x10c/0x2e4 [ 20.740411] c0 3136 (Compiler) [<ffffffc0000a24bc>] irq_exit+0x8c/0xc0 [ 20.740439] c0 3136 (Compiler) [<ffffffc00008489c>] handle_IRQ+0x48/0xac [ 20.740469] c0 3136 (Compiler) [<ffffffc000081428>] gic_handle_irq+0x38/0x7c ---------------------------------------------------------------------- Because in SMP, "mrq" has race condition between below two paths: path1: CPU0: <tasklet context> static void mmc_wait_data_done(struct mmc_request *mrq) { mrq->host->context_info.is_done_rcv = true; // // If CPU0 has just finished "is_done_rcv = true" in path1, and at // this moment, IRQ or ICache line missing happens in CPU0. // What happens in CPU1 (path2)? // // If the mmcqd thread in CPU1(path2) hasn't entered to sleep mode: // path2 would have chance to break from wait_event_interruptible // in mmc_wait_for_data_req_done and continue to run for next // mmc_request (mmc_blk_rw_rq_prep). // // Within mmc_blk_rq_prep, mrq is cleared to 0. // If below line still gets host from "mrq" as the result of // compiler, the panic happens as we traced. wake_up_interruptible(&mrq->host->context_info.wait); } path2: CPU1: <The mmcqd thread runs mmc_queue_thread> static int mmc_wait_for_data_req_done(... { ... while (1) { wait_event_interruptible(context_info->wait, (context_info->is_done_rcv || context_info->is_new_req)); static void mmc_blk_rw_rq_prep(... { ... memset(brq, 0, sizeof(struct mmc_blk_request)); This issue happens very coincidentally; however adding mdelay(1) in mmc_wait_data_done as below could duplicate it easily. static void mmc_wait_data_done(struct mmc_request *mrq) { mrq->host->context_info.is_done_rcv = true; + mdelay(1); wake_up_interruptible(&mrq->host->context_info.wait); } At runtime, IRQ or ICache line missing may just happen at the same place of the mdelay(1). This patch gets the mmc_context_info at the beginning of function, it can avoid this race condition. Signed-off-by: Jialing Fu <jlfu@xxxxxxxxxxx> Tested-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Fixes: 2220eedfd7ae ("mmc: fix async request mechanism ....") Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 01e2dae991771adb1257eb5cd3cecfda1aa09ba9 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Aug 31 08:56:04 2015 +0200 Revert "gpio: extraxfs: fix returnvar.cocci warnings" This reverts commit 5e22ec019823b0204720e1ad9a5866c638332b3a. commit 80ec1927b102480f89436e7d7f961a263e916a44 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 30 22:40:44 2015 -0700 ipv4: Fix 32-bit build. net/ipv4/af_inet.c: In function 'snmp_get_cpu_field64': >> net/ipv4/af_inet.c:1486:26: error: 'offt' undeclared (first use in this function) v = *(((u64 *)bhptr) + offt); ^ net/ipv4/af_inet.c:1486:26: note: each undeclared identifier is reported only once for each function it appears in net/ipv4/af_inet.c: In function 'snmp_fold_field64': >> net/ipv4/af_inet.c:1499:39: error: 'offct' undeclared (first use in this function) res += snmp_get_cpu_field(mib, cpu, offct, syncp_offset); ^ >> net/ipv4/af_inet.c:1499:10: error: too many arguments to function 'snmp_get_cpu_field' res += snmp_get_cpu_field(mib, cpu, offct, syncp_offset); ^ net/ipv4/af_inet.c:1455:5: note: declared here u64 snmp_get_cpu_field(void __percpu *mib, int cpu, int offt) ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ef707700f1cef2357ce655fc86a4de5e41fa4b5 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Mon Aug 31 07:54:49 2015 +0900 netlink: rx mmap: fix POLLIN condition Poll() returns immediately after setting the kernel current frame (ring->head) to SKIP from user space even though there is no new frame. And in a case of all frames is VALID, user space program unintensionally sets (only) kernel current frame to UNUSED, then calls poll(), it will not return immediately even though there are VALID frames. To avoid situations like above, I think we need to scan all frames to find VALID frames at poll() like netlink_alloc_skb(), netlink_forward_ring() finding an UNUSED frame at skb allocation. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 793768f55c218a260015fe2029ae3d84676cae03 Merge: ef34c0f d77a238 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 30 21:54:13 2015 -0700 Merge branch 'thunderx-features-fixes' Aleksey Makarov says: ==================== net: thunderx: New features and fixes v2: - The unused affinity_mask field of the structure cmp_queue has been deleted. (thanks to David Miller) - The unneeded initializers have been dropped. (thanks to Alexey Klimov) - The commit message "net: thunderx: Rework interrupt handling" has been fixed. (thanks to Alexey Klimov) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d77a2384988fd397cf4f71417b9d971aa435758d Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:16 2015 +0300 net: thunderx: Support for internal loopback mode Support for setting VF's corresponding BGX LMAC in internal loopback mode. This mode can be used for verifying basic HW functionality such as packet I/O, RX checksum validation, CQ/RBDR interrupts, stats e.t.c. Useful when DUT has no external network connectivity. 'loopback' mode can be enabled or disabled via ethtool. Note: This feature is not supported when no of VFs enabled are morethan no of physical interfaces i.e active BGX LMACs Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92dc87697e6a71675a9e9eec04ebecd8cf4837a3 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:15 2015 +0300 net: thunderx: Support for upto 96 queues for a VF This patch adds support for handling multiple qsets assigned to a single VF. There by increasing no of queues from earlier 8 to max no of CPUs in the system i.e 48 queues on a single node and 96 on dual node system. User doesn't have option to assign which Qsets/VFs to be merged. Upon request from VF, PF assigns next free Qsets as secondary qsets. To maintain current behavior no of queues is kept to 8 by default which can be increased via ethtool. If user wants to unbind NICVF driver from a secondary Qset then it should be done after tearing down primary VF's interface. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39ad6eea6c1a01b69abb1102a767697fb9349830 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:14 2015 +0300 net: thunderx: Rework interrupt handling Rework interrupt handler to avoid checking IRQ affinity of CQ interrupts. Now separate handlers are registered for each IRQ including RBDR. Register interrupt handlers for only those which are being used. Add nicvf_dump_intr_status() and use it in irq handlers. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa2e259b474a4f52ecc9f6e0d444547de0aac4b2 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:13 2015 +0300 net: thunderx: Support for HW VLAN stripping This patch configures HW to strip 802.1Q header if found in a receiving packet. The stripped VLAN ID and TCI information is passed on to software via CQE_RX. Also sets netdev's 'vlan_features' so that other HW offload features can be used for tagged packets. This offload feature can be enabled or disabled via ethtool. Network stack normally ignores RPS for 802.1Q packets and hence low throughput. With this offload enabled throughput for tagged packets will be almost same as normal packets. Note: This patch doesn't enable HW VLAN insertion for transmit packets. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 38bb5d4f4f988c98035fca003138dd84471432f2 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:12 2015 +0300 net: thunderx: Receive hashing HW offload support Adding support for receive hashing HW offload by using RSS_ALG and RSS_TAG fields of CQE_RX descriptor. Also removed dependency on minimum receive queue count to configure RSS so that hash is always generated. This hash is used by RPS logic to distribute flows across multiple CPUs. Offload can be disabled via ethtool. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6051cba77c1c768d954cf9e423c44bcb85b9adb8 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:11 2015 +0300 net: thunderx: mailboxes: remove code duplication Use the nicvf_send_msg_to_pf() function in the mailbox code. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2dc5dedbbb32d082a9b6edf8793734dbfd59315 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:10 2015 +0300 net: thunderx: Add receive error stats reporting via ethtool Added ethtool support to dump receive packet error statistics reported in CQE. Also made some small fixes Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 322e5cc5c6c03584ff9362357fc1448b5e442e9e Author: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 12:29:09 2015 +0300 net: thunderx: fix MAINTAINERS The liquidio and thunder drivers have different maintainers. Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef34c0f6c18b463e644929e300473c80d4157896 Merge: 06fb4e7 a3a7737 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 30 21:48:59 2015 -0700 Merge branch 'snmp-stat-aggregation' Raghavendra K T says: ==================== Optimize the snmp stat aggregation for large cpus While creating 1000 containers, perf is showing lot of time spent in snmp_fold_field on a large cpu system. The current patch tries to improve by reordering the statistics gathering. Please note that similar overhead was also reported while creating veth pairs https://lkml.org/lkml/2013/3/19/556 Changes in V4: - remove 'item' variable and use IPSTATS_MIB_MAX to avoid sparse warning (Eric) also remove 'item' parameter (Joe) - add missing memset of padding. Changes in V3: - use memset to initialize temp buffer in leaf function. (David) - use memcpy to copy the buffer data to stat instead of unalign_pu (Joe) - Move buffer definition to leaf function __snmp6_fill_stats64() (Eric) - Changes in V2: - Allocate the stat calculation buffer in stack. (Eric) Setup: 160 cpu (20 core) baremetal powerpc system with 1TB memory 1000 docker containers was created with command docker run -itd ubuntu:15.04 /bin/bash in loop observation: Docker container creation linearly increased from around 1.6 sec to 7.5 sec (at 1000 containers) perf data showed, creating veth interfaces resulting in the below code path was taking more time. rtnl_fill_ifinfo -> inet6_fill_link_af -> inet6_fill_ifla6_attrs -> snmp_fold_field proposed idea: currently __snmp6_fill_stats64 calls snmp_fold_field that walks through per cpu data to of an item (iteratively for around 36 items). The patch tries to aggregate the statistics by going through all the items of each cpu sequentially which is reducing cache misses. Performance of docker creation improved by around more than 2x after the patch. before the patch: ================ 3f45ba571a42e925c4ec4aaee0e48d7610a9ed82a4c931f83324d41822cf6617 real 0m6.836s user 0m0.095s sys 0m0.011s perf record -a docker run -itd ubuntu:15.04 /bin/bash ======================================================= 50.73% docker [kernel.kallsyms] [k] snmp_fold_field 9.07% swapper [kernel.kallsyms] [k] snooze_loop 3.49% docker [kernel.kallsyms] [k] veth_stats_one 2.85% swapper [kernel.kallsyms] [k] _raw_spin_lock 1.37% docker docker [.] backtrace_qsort 1.31% docker docker [.] strings.FieldsFunc cache-misses: 2.7% after the patch: ============= 9178273e9df399c8290b6c196e4aef9273be2876225f63b14a60cf97eacfafb5 real 0m3.249s user 0m0.088s sys 0m0.020s perf record -a docker run -itd ubuntu:15.04 /bin/bash ======================================================= 10.57% docker docker [.] scanblock 8.37% swapper [kernel.kallsyms] [k] snooze_loop 6.91% docker [kernel.kallsyms] [k] snmp_get_cpu_field 6.67% docker [kernel.kallsyms] [k] veth_stats_one 3.96% docker docker [.] runtime_MSpan_Sweep 2.47% docker docker [.] strings.FieldsFunc cache-misses: 1.41 % Please let me know if you have suggestions/comments. Thanks Eric, Joe and David for the comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3a773726c9f9ba2e87fd8ad8e36feff5f6ffd8e Author: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 11:29:42 2015 +0530 net: Optimize snmp stat aggregation by walking all the percpu data at once Docker container creation linearly increased from around 1.6 sec to 7.5 sec (at 1000 containers) and perf data showed 50% ovehead in snmp_fold_field. reason: currently __snmp6_fill_stats64 calls snmp_fold_field that walks through per cpu data of an item (iteratively for around 36 items). idea: This patch tries to aggregate the statistics by going through all the items of each cpu sequentially which is reducing cache misses. Docker creation got faster by more than 2x after the patch. Result: Before After Docker creation time 6.836s 3.25s cache miss 2.7% 1.41% perf before: 50.73% docker [kernel.kallsyms] [k] snmp_fold_field 9.07% swapper [kernel.kallsyms] [k] snooze_loop 3.49% docker [kernel.kallsyms] [k] veth_stats_one 2.85% swapper [kernel.kallsyms] [k] _raw_spin_lock perf after: 10.57% docker docker [.] scanblock 8.37% swapper [kernel.kallsyms] [k] snooze_loop 6.91% docker [kernel.kallsyms] [k] snmp_get_cpu_field 6.67% docker [kernel.kallsyms] [k] veth_stats_one changes/ideas suggested: Using buffer in stack (Eric), Usage of memset (David), Using memcpy in place of unaligned_put (Joe). Signed-off-by: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4c6bc314618f60ba69b0cbf93e506e4c38a11d2 Author: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 11:29:41 2015 +0530 net: Introduce helper functions to get the per cpu data Signed-off-by: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06fb4e701b17e93366542e4cc57047e411136af7 Merge: 2573d78 f892a84 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 30 21:45:01 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit 4a1e2feb9d246775dee0f78ed5b18826bae2b1c5 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 30 18:37:59 2015 -0700 NFSv4.1: Fix a protocol issue with CLOSE stateids According to RFC5661 Section 18.2.4, CLOSE is supposed to return the zero stateid. This means that nfs_clear_open_stateid_locked() cannot assume that the result stateid will always match the 'other' field of the existing open stateid when trying to determine a race with a parallel OPEN. Instead, we look at the argument, and check for matches. Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8f8dcb3f7fe4febbfa96e64d4ad47de958c5cc34 Author: Matt Turner <mattst88@xxxxxxxxx> Date: Tue Aug 4 14:35:05 2015 -0700 alpha: select CONFIG_ARCH_USE_CMPXCHG_LOCKREF. On Alpha we have spinlocks that are 32b in size and an efficient cmpxchg64 implementation, so we qualify to make use of cmpxchg backed lockrefs. Select the ARCH_USE_CMPXCHG_LOCKREF Kconfig symbol and provide a trivial implementation of arch_spin_value_unlocked to satisfy the lockref code. Using Linus' simple testcase from http://article.gmane.org/gmane.linux.file-systems/77466 on a dual CPU ES47 system I see around an 8% gain: N Min Max Median Avg Stddev x 30 6194580 6295654 6272504 6272514 17694.232 + 30 6731164 6786334 6767982 6764274 13738.863 Difference at 95.0% confidence 491760 +/- 8188.17 7.83992% +/- 0.130541% (Student's t, pooled s = 15840.5) Signed-off-by: Matt Turner <mattst88@xxxxxxxxx> commit 879a37d00f1882b1e56a66e626af4194d592d257 Merge: 701078d 50002d4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 31 10:25:45 2015 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next This is a second pull-request which adds last part of atomic modeset/pageflip support, render node support, clean-up, and fix-up. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm/exynos: fix build warning to exynos_drm_gem.c drm/exynos: Properly report supported formats for each device drm/exynos: add render node support drm/exynos: implement atomic_{begin/flush} of DECON drm/exynos: remove legacy ->suspend()/resume() drm/exynos: Enable atomic modesetting feature drm/exynos: remove wait queue for pending page flip drm/exynos: wait all planes updates to finish drm/exynos: add atomic asynchronous commit drm/exynos: fimd: only finish update if START == START_S drm/exynos: add macro to get the address of START_S reg drm/exynos: check for pending fb before finish update drm/exynos: fimd: move window protect code to prepare/cleanup_plane drm/exynos: add prepare and cleanup phases for planes drm/exynos: fimd: unify call to exynos_drm_crtc_finish_pageflip() drm/exynos: don't track enabled state at exynos_crtc commit 701078d538e5b2bec95cbbc53cca71c120cd063f Merge: d3e8ea5 26951ca Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 31 10:06:22 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-08-28' of git://anongit.freedesktop.org/drm-intel into drm-next Some i915 fixes headed for v4.3. SKL DDI-E is a wip, but here's the first in a series. * tag 'drm-intel-next-fixes-2015-08-28' of git://anongit.freedesktop.org/drm-intel: drm/i915/skl: enable DDI-E hotplug drm/i915: Fix build warning on 32-bit drm/i915/skl: Update DDI buffer translation programming. drm/i915: Allow parsing of variable size child device entries from VBT drm/i915: fix link rates reported for SKL drm/i915: fix VBT parsing for SDVO child device mapping commit d3e8ea50922d90aea473474bdcede34ce743e1a5 Merge: 92cffd5 2497ee7 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 31 10:05:37 2015 +1000 Merge tag 'drm-amdkfd-next-fixes-2015-08-30' of git://people.freedesktop.org/~gabbayo/linux into drm-next Just one small fix before 4.3 merge window: - Use linux/mman.h instead of uapi's mman-common.h inside the driver. * tag 'drm-amdkfd-next-fixes-2015-08-30' of git://people.freedesktop.org/~gabbayo/linux: amdkfd: use <linux/mman.h> instead of <uapi/asm-generic/mman-common.h> commit e1c30298ccab87151a0c4241fc5985c591598361 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:07 2015 +0300 IB/ucma: HW Device hot-removal support Currently, IB/cma remove_one flow blocks until all user descriptor managed by IB/ucma are released. This prevents hot-removal of IB devices. This patch allows IB/cma to remove devices regardless of user space activity. Upon getting the RDMA_CM_EVENT_DEVICE_REMOVAL event we close all the underlying HW resources for the given ucontext. The ucontext itself is still alive till its explicit destroying by its creator. Running applications at that time will have some zombie device, further operations may fail. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ae184ddeca5db6d60ba9067ba1c9e940fa01d400 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:06 2015 +0300 IB/mlx4_ib: Disassociate support Implements the IB core disassociate_ucontext API. The driver detaches the HW resources for a given user context to prevent a dependency between application termination and device disconnecting. This is done by managing the VMAs that were mapped to the HW bars such as door bell and blueflame. When need to detach remap them to an arbitrary kernel page returned by the zap API. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 036b10635739ffd030246eedde3d67f724800177 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:05 2015 +0300 IB/uverbs: Enable device removal when there are active user space applications Enables the uverbs_remove_one to succeed despite the fact that there are running IB applications working with the given ib device. This functionality enables a HW device to be unbind/reset despite the fact that there are running user space applications using it. It exposes a new IB kernel API named 'disassociate_ucontext' which lets a driver detaching its HW resources from a given user context without crashing/terminating the application. In case a driver implemented the above API and registered with ib_uverb there will be no dependency between its device to its uverbs_device. Upon calling remove_one of ib_uverbs the call should return after disassociating the open HW resources without waiting to clients disconnecting. In case driver didn't implement this API there will be no change to current behaviour and uverbs_remove_one will return only when last client has disconnected and reference count on uverbs device became 0. In case the lower driver device was removed any application will continue working over some zombie HCA, further calls will ended with an immediate error. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 057aec0d23f750b27f0bb92d2606871f60417e0a Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:04 2015 +0300 IB/uverbs: Explicitly pass ib_dev to uverbs commands Done in preparation for deploying RCU for the device removal flow. Allows isolating the RCU handling to the uverb_main layer and keeping the uverbs_cmd code as is. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 35d4a0b63dc0c6d1177d4f532a9deae958f0662c Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:03 2015 +0300 IB/uverbs: Fix race between ib_uverbs_open and remove_one Fixes: 2a72f212263701b927559f6850446421d5906c41 ("IB/uverbs: Remove dev_table") Before this commit there was a device look-up table that was protected by a spin_lock used by ib_uverbs_open and by ib_uverbs_remove_one. When it was dropped and container_of was used instead, it enabled the race with remove_one as dev might be freed just after: dev = container_of(inode->i_cdev, struct ib_uverbs_device, cdev) but before the kref_get. In addition, this buggy patch added some dead code as container_of(x,y,z) can never be NULL and so dev can never be NULL. As a result the comment above ib_uverbs_open saying "the open method will either immediately run -ENXIO" is wrong as it can never happen. The solution follows Jason Gunthorpe suggestion from below URL: https://www.mail-archive.com/linux-rdma@xxxxxxxxxxxxxxx/msg25692.html cdev will hold a kref on the parent (the containing structure, ib_uverbs_device) and only when that kref is released it is guaranteed that open will never be called again. In addition, fixes the active count scheme to use an atomic not a kref to prevent WARN_ON as pointed by above comment from Jason. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 03c40442a0e66fa52aec6733ea88804fe7d12c77 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:02 2015 +0300 IB/uverbs: Fix reference counting usage of event files Fix the reference counting usage to be handled in the event file creation/destruction function, instead of being done by the caller. This is done for both async/non-async event files. Based on Jason Gunthorpe report at https://www.mail-archive.com/ linux-rdma@xxxxxxxxxxxxxxx/msg24680.html: "The existing code for this is broken, in ib_uverbs_get_context all the error paths between ib_uverbs_alloc_event_file and the kref_get(file->ref) are wrong - this will result in fput() which will call ib_uverbs_event_close, which will try to do kref_put and ib_unregister_event_handler - which are no longer paired." Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7dd78647a2c2c224e376fc72797d411a3a0bb047 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 14:34:31 2015 -0600 IB/core: Make ib_dealloc_pd return void The majority of callers never check the return value, and even if they did, they can't do anything about a failure. All possible failure cases represent a bug in the caller, so just WARN_ON inside the function instead. This fixes a few random errors: net/rd/iw.c infinite loops while it fails. (racing with EBUSY?) This also lays the ground work to get rid of error return from the drivers. Most drivers do not error, the few that do are broken since it cannot be handled. Since uverbs can legitimately make use of EBUSY, open code the check. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 03f6fb93fde24f01a940283bdf55024e576ee87d Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:09:36 2015 -0700 IB/srp: Create an insecure all physical rkey only if needed The SRP initiator only needs this if the insecure register_always=N performance optimization is enabled, or if FRWR/FMR is not supported in the driver. Do not create an all physical MR unless it is needed to support either of those modes. Default register_always to true so the out of the box configuration does not create an insecure all physical MR. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> [bvanassche: reworked and rebased this patch] Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 330179f2fa93c1c6c41a90c7deabc98e363018e5 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:09:05 2015 -0700 IB/srp: Register the indirect data buffer descriptor Instead of always using the global rkey for the indirect data buffer descriptor, register that descriptor with the HCA if the kernel module parameter register_always has been set to Y. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 002f15674c84fb4c38ed5237c1e7235e09c033f0 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:08:44 2015 -0700 IB/srp: Introduce srp_device.use_fmr Introduce the variable srp_device.use_fmr. Leave out the dev->has_fr / dev->has_fmr and ch->fr_pool / ch->fmr_pool checks since these are redundant. This patch does not change any functionality but makes the source code easier to read. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 3ae95da8831e7bcf7b6da2b31cb4b50b3058f14e Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:08:18 2015 -0700 IB/srp: Remove use_mr argument from srp_map_sg_entry() Move the srp_map_desc() call from inside srp_map_sg_entry() to srp_map_sg() such that the use_mr argument can be removed from srp_map_sg_entry(). Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0e0d3a480090d03f29e58dfd717960776f3416d9 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:07:46 2015 -0700 IB/srp: Remove the memory registration backtracking code Mapping a discontiguous sg-list requires multiple memory regions and hence can exhaust the memory region pool. The SRP initiator already handles this by temporarily reducing the queue depth. This means that it is safe to remove the memory registration backtracking code. This patch has been tested with direct I/O sizes up to 256 MB. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f731ed62934ace0d3f5aa9ec557349171711be05 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:07:27 2015 -0700 IB/srp: Add memory descriptor array pointer range checking Although most paths through which a request is submitted check block layer parameters like the max_segments limit, these are not checked when an SG_IO or direct I/O request is submitted. Hence add a range check for the memory descriptor array pointer. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7e85c91970125cb16399c7d1cfedc943266eee49 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:06:57 2015 -0700 IB/srp: Use multiple registrations for large memory regions Instead of using the global rkey for large memory regions, use multiple registrations. See also the while (dma_len) loop further down in srp_map_sg_entry(). Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 186fbc6689a368364b7c9eb9d42d6f84b3079f65 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:06:29 2015 -0700 IB/srp: Re-enable FMR for non-page aligned buffers During a discussion in 2011 nobody recalled why FMR was not used for non-page aligned buffers (see also http://thread.gmane.org/gmane.linux.drivers.rdma/7149). Re-enable FMR for such buffers. For the reason why the srp_map_fmr() function needs to be modified, see also patch "IB/srp: rework mapping engine to use multiple FMR entries" (commit ID 8f26c9ff9cd0; January 2011). Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e5580242aa8fab292579a1661463f7479275f7ff Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:26 2015 -0600 rds/ib: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2f31fa881fbe70808b945a6d23cae1ca8eadf1b3 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:25 2015 -0600 net/9p: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Tested-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5a783956c2b90179b852dd58a2ee668f16dfe980 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:24 2015 -0600 ib_srpt: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e6bf5f48d2adc443689c5e627bcd559b00201e5c Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:22 2015 -0600 IB/srp: Use pd->local_dma_lkey Replace all leys with pd->local_dma_lkey. This driver does not support iWarp, so this is safe. The insecure use of ib_get_dma_mr is thus isolated to an rkey, and will have to be fixed separately. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 34efc7dfbd88e4a232b1efa31c5e900606c84fca Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:21 2015 -0600 iser-target: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 256b7ad27316525711dfa98b67e7c40cb28b1711 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:20 2015 -0600 IB/iser: Use pd->local_dma_lkey Replace all leys with pd->local_dma_lkey. This driver does not support iWarp, so this is safe. The insecure use of ib_get_dma_mr is thus isolated to an rkey, and this looks trivially fixed by forcing the use of registration in a future patch. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b37c788f595cd578524fb8f50d3bd2fff8b62bc3 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:19 2015 -0600 IB/mlx5: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7dd975762825e4c2b95df5e24759a9d6ad915c79 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:18 2015 -0600 IB/mlx4: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 77b1f99660ed60694e1d0e3a63096c1f252debfd Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:17 2015 -0600 IB/ipoib: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4be90bc60df47f6268b594c4fb6c90f0ff2f519f Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:16 2015 -0600 IB/mad: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 96249d70dd70496084c7ec1465ec449cd032955a Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 14:14:45 2015 -0600 IB/core: Guarantee that a local_dma_lkey is available Every single ULP requires a local_dma_lkey to do anything with a QP, so let us ensure one exists for every PD created. If the driver can supply a global local_dma_lkey then use that, otherwise ask the driver to create a local use all physical memory MR associated with the new PD. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Reviewed-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> Tested-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7332bed085c68fc76462583a1003c6dca2c31e11 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:06 2015 +0300 IB/iser: Chain all iser transaction send work requests Chaning of send work requests benefits performance by reducing the send queue lock contention (acquired in ib_post_send) and saves us HW doorbells which is posted only once. Currently, in normal IO flows iser does not chain the CDB send work request with the registration work request. Also in PI flows, signature work requests are not chained as well. Lets chain those and post only once. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1b16c9894b63c8dfbc578ecf1186be4508b2c49e Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:05 2015 +0300 IB/iser: Add debug prints to the various memory registration methods Easier to debug when we have the registration details. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit df749cdc45d9f97cb0a5e6ceab80e2e00ee9bf85 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:04 2015 +0300 IB/iser: Support up to 8MB data transfer in a single command iser support up to 512KB data transfer in a single scsi command. This means that larger IOs will split to different request. While iser can easily saturate FDR/EDR wires, some arrays are fine tuned for 1MB (or larger) IO sizes, hence add an option to support larger transfers (up to 8MB) if the device allows it. Given that a few target implementations don't support data transfers of more than 512KB by default and the fact that larger IO sizes require more resources, we introduce a module parameter to determine the maximum number of 512B sectors in a single scsi command. Users that are interested in larger transfers can change this value given that the target supports larger transfers. At the moment, iser works in 4K pages granularity, In a later stage we will get it to work with system page size instead. IO operations that consists of N pages will need a page vector of size N+1 in case the first SG element contains an offset. Given that some devices allocates memory regions in powers of 2, this means that allocating a region with N+1 pages, will result in region resources allocation of the next power of 2. Since we don't want that to happen, in case we are in the limit of IO size supported and the first SG element has an offset, we align the SG list using a bounce buffer (which is OK given that this is not likely to happen a lot). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f8db651da29bcad213d43328ebf8ce8459f526a7 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:03 2015 +0300 IB/iser: Pass registration pool a size parameter Hard coded for now. This will allow to allocate different sized MRs depending on the IO size needed (and device capabilities). This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 32467c420bb68776ebaa53ddf6712e1dba7bb5da Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:02 2015 +0300 IB/iser: Unify fast memory registration flows iser_reg_rdma_mem_[fastreg|fmr] share a lot of code, and logically do the same thing other than the buffer registration method itself (iser_fast_reg_mr vs. iser_fast_reg_fmr). The DIF logic is not implemented in the FMR flow as there is no existing device that supports FMRs and Signature feature. This patch unifies the flow in a single routine iser_reg_rdma_mem and just split to fmr/frwr for the buffer registration itself. Also, for symmetry reasons, unify iser_unreg_rdma_mem (which will call the relevant device specific unreg routine). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 81722909c8f78ee2db62373a74ec2ecb709c112e Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:01 2015 +0300 IB/iser: Make reg_desc_get a per device routine As for fmrs we will hold a single registration descriptor as no need for multiple like in the frwr mode (descriptor for each task). This change helps unifying the duplicate registration code paths. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7d0483c927f429c7aece47e730eaa91007577d99 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:00 2015 +0300 IB/iser: Rename iser_reg_page_vec to iser_fast_reg_fmr Also, change a name of a local variable. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2b3bf958103899a96d230c9f2e0d87606f08a7be Author: Adir Lev <adirl@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:59 2015 +0300 IB/iser: Maintain connection fmr_pool under a single registration descriptor This will allow us to unify the memory registration code path between the various methods which vary by the device capabilities. This change will make it easier and less intrusive to remove fmr_pools from the code when we'd want to. The reason we use a single descriptor is to avoid taking a redundant spinlock when working with FMRs. We also change the signature of iser_reg_page_vec to make it match iser_fast_reg_mr (and the future indirect registration method). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 385ad87d4b637c1ebdb54bc93274fc2c267dfc16 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:58 2015 +0300 IB/iser: Introduce iser registration pool struct Instead of having it a part of the connection structure, have it be under a dedicated (embedded) structure in the connection. A logical separation of the registration pool and the connection structure. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit eb6ea8c36c90f022dd9603530286e0707a9c467b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:57 2015 +0300 IB/iser: Move fastreg descriptor allocation to iser_create_fastreg_desc Don't have the caller allocate the structure and worry about freeing it in case the routine failed. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 48afbff673d3d2ff6c52342574392db504dae301 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:56 2015 +0300 IB/iser: Introduce iser_reg_ops Move all the per-device function pointers to an easy extensible iser_reg_ops structure that contains all the iser registration operations. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8c18ed03a95cb6c3543b0a9e0df5e9366baea5df Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:55 2015 +0300 IB/iser: Remove dead code in fmr_pool alloc/free In the past the we always tried to allocate an fmr_pool and if it failed on ENOSYS (not supported) then we continued with dma mr. This is not the case anymore and if we tried to allocate an fmr_pool then it is supported and we expect to succeed. Also, the check if fmr_pool is allocated when free is called is redundant as well as we are guaranteed it exists. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5190cc2664972f2c51502e928fcb7a608dddab5f Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:54 2015 +0300 IB/iser: Rename struct fast_reg_descriptor -> iser_fr_desc Avoid struct names without iser_ prefix. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d711d81d6463ecf566b93810e16949f2d159aa50 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:53 2015 +0300 IB/iser: Introduce struct iser_reg_resources Have fast_reg_descriptor hold struct iser_reg_resources (mr, frpl, valid flag). This will be useful when the actual buffer registration routines will be passed with the needed registration resources (i.e. iser_reg_resources) without being aware of their nature (i.e. data or protection). In order to achieve this, we remove reg_indicators flags container and place specific flags (mr_valid) within iser_reg_resources struct. We also place the sig_mr_valid and sig_protcted flags in iser_pi_context. This patch also modifies iser_fast_reg_mr to receive the reg_resources instead of the fast_reg_descriptor and a data/protection indicator. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ea18f5d7777dc4fa9c18c4919281301cf4fd921a Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:52 2015 +0300 IB/iser: Remove an unneeded print for unaligned memory We can do it in iser_aligned_data_len instead and it will save us an argument that is passed to fall_to_counce_buf just for the print. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b9abd8d21d3a04903aefcb7742efe3390f2fac57 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:51 2015 +0300 IB/iser: Remove a redundant always-false condition We always call iser_initialize_task_headers() and set the header tx_sg.lkey to the device mr lkey, so no point in checking it in iser_create_send_desc(). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8d5944d80359e645feb2ebd069a6f4caf7825e40 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:50 2015 +0300 IB/iser: Fix possible bogus DMA unmapping If iser_initialize_task_headers() routine failed before dma mapping, we should not attempt to unmap in cleanup_task(). Fixes: 7414dde0a6c3a958e (IB/iser: Fix race between iser connection ...) Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 02816a8b8881f9dea68883c9b72672e87cb91d36 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:49 2015 +0300 IB/iser: Get rid of un-maintained counters We don't update those anywhere in the code and they seem pretty useless (no one seem to care about those). qp_tx_queue_full: We never should get this fmr_map_not_avail: We can never get to this eh_abort_cnt: We don't monitor aborts Go ahead and remove them. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d16739055bd1f562ae4d83e69f7f7f1cefcfbe16 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:48 2015 +0300 IB/iser: Fix missing return status check in iser_send_data_out Since commit "IB/iser: Fix race between iser connection teardown..." iser_initialize_task_headers() might fail, so we need to check that. Fixes: 7414dde0a6c3a958e (IB/iser: Fix race between iser connection ...) Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1156cc80f8fc31f8c52740a9c8051afd8d70faf3 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:47 2015 +0300 IB/iser: Remove '.' from log message Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 74ce897b7c9be9f5913bbffafcac10f0871c503b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:46 2015 +0300 IB/iser: Change minor assignments and logging prints Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit db0a6cbd21d6ece6587c157b3d183521bc8a2781 Author: Jenny Falkovich <jennyf@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:45 2015 +0300 IB/iser: Change some module parameters to be RO While we're at it, use permission defines instead of octal values and rearrange a little bit. Signed-off-by: Jenny Derzhavetz <jennyf@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2ca546b92a024d07adedd15b4c262b1c2c0786ec Author: Kaike Wan <kaike.wan@xxxxxxxxx> Date: Fri Aug 14 08:52:09 2015 -0400 IB/sa: Route SA pathrecord query through netlink This patch routes a SA pathrecord query to netlink first and processes the response appropriately. If a failure is returned, the request will be sent through IB. The decision whether to route the request to netlink first is determined by the presence of a listener for the local service netlink multicast group. If the user-space local service netlink multicast group listener is not present, the request will be sent through IB, just like what is currently being done. Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: John Fleck <john.fleck@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5d2657708ec25b9fb3dd174443b1f647babcbe62 Author: Kaike Wan <kaike.wan@xxxxxxxxx> Date: Fri Aug 14 08:52:08 2015 -0400 IB/sa: Allocate SA query with kzalloc Replace kmalloc with kzalloc so that all uninitialized fields in SA query will be zero-ed out to avoid unintentional consequence. This prepares the SA query structure to accept new fields in the future. Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: John Fleck <john.fleck@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bc10ed7d3d19ff61427007b4d7bf98d3e57bb333 Author: Kaike Wan <kaike.wan@xxxxxxxxx> Date: Fri Aug 14 08:52:07 2015 -0400 IB/core: Add rdma netlink helper functions This patch adds a function to check if listeners for a netlink multicast group are present. It also adds a function to receive netlink response messages. Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: John Fleck <john.fleck@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6431eb87065ffd24dfc7c0b6954e80a4eb74e177 Author: Kaike Wan <kaike.wan@xxxxxxxxx> Date: Fri Aug 14 08:52:06 2015 -0400 IB/netlink: Add defines for local service requests through netlink This patch adds netlink defines for local service client, local service group, local service operations, and related attributes. Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: John Fleck <john.fleck@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bc44bd1d864664f3658352c6aaaa02557d49165d Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Aug 14 11:01:09 2015 -0700 IB/srp: Stop the scsi_eh_<n> and scsi_tmf_<n> threads if login fails scsi_host_alloc() not only allocates memory for a SCSI host but also creates the scsi_eh_<n> kernel thread and the scsi_tmf_<n> workqueue. Stop these threads if login fails by calling scsi_host_put(). Reported-by: Konstantin Krotov <kkv@xxxxxxxx> Fixes: fb49c8bbaae7 ("Remove an extraneous scsi_host_put() from an error path") Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v3.19 Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 713ef24e41757561c7f0bfc9bf4436f7e4a5b527 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Jul 31 14:13:52 2015 -0700 IB/srp: Bump driver version and release date Since version 1.0 e.g. scsi-mq has been added. Since this is a significant change, bump the driver version and release date. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c257ea6f9f9aed0b173e0c2932bb8dac5612cdc6 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Jul 31 14:13:22 2015 -0700 IB/srp: Handle partial connection success correctly Avoid that the following kernel warning is reported if the SRP target system accepts fewer channels per connection than what was requested by the initiator system: WARNING: at drivers/infiniband/ulp/srp/ib_srp.c:617 srp_destroy_qp+0xb1/0x120 [ib_srp]() Call Trace: [<ffffffff8105d67f>] warn_slowpath_common+0x7f/0xc0 [<ffffffff8105d6da>] warn_slowpath_null+0x1a/0x20 [<ffffffffa05419e1>] srp_destroy_qp+0xb1/0x120 [ib_srp] [<ffffffffa05445fb>] srp_create_ch_ib+0x19b/0x420 [ib_srp] [<ffffffffa0545257>] srp_create_target+0x7d7/0xa94 [ib_srp] [<ffffffff8138dac0>] dev_attr_store+0x20/0x30 [<ffffffff812079ef>] sysfs_write_file+0xef/0x170 [<ffffffff81191fc4>] vfs_write+0xb4/0x130 [<ffffffff8119276f>] sys_write+0x5f/0xa0 [<ffffffff815a0a59>] system_call_fastpath+0x16/0x1b Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e6300cbd9b09e7bf12f5f7b79e77b58d62b9d990 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Jul 31 14:12:48 2015 -0700 IB/srp: Constify a function argument This patch does not change any functionality. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 799cdaf8a98f13d4fba3162e21e1e63f21045010 Author: Ariel Nahum <arieln@xxxxxxxxxxxx> Date: Sun Aug 9 11:16:27 2015 +0300 IB/mlx4: Fix incorrect cq flushing in error state When handling a device internal error, the driver is responsible to drain the completion queue with flush errors. In case a completion queue was assigned to multiple send queues, the driver iterates over the send queues and generates flush errors of inflight wqes. The driver must correctly pass the wc array with an offset as a result of the previous send queue iteration. Not doing so will overwrite previously set completions and return a wrong number of polled completions which includes ones which were not correctly set. Fixes: 35f05dabf95a (IB/mlx4: Reset flow support for IB kernel ULPs) Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5e99b139f1b68acd65e36515ca347b03856dfb5a Author: Noa Osherovich <noaos@xxxxxxxxxxxx> Date: Thu Jul 30 17:34:24 2015 +0300 IB/mlx4: Use correct SL on AH query under RoCE The mlx4 IB driver implementation for ib_query_ah used a wrong offset (28 instead of 29) when link type is Ethernet. Fixed to use the correct one. Fixes: fa417f7b520e ('IB/mlx4: Add support for IBoE') Signed-off-by: Shani Michaeli <shanim@xxxxxxxxxxxx> Signed-off-by: Noa Osherovich <noaos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2b135db3e81301d0452e6aa107349abe67b097d6 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:34:23 2015 +0300 IB/mlx4: Forbid using sysfs to change RoCE pkeys The pkey mapping for RoCE must remain the default mapping: VFs: virtual index 0 = mapped to real index 0 (0xFFFF) All others indices: mapped to a real pkey index containing an invalid pkey. PF: virtual index i = real index i. Don't allow users to change these mappings using files found in sysfs. Fixes: c1e7e466120b ('IB/mlx4: Add iov directory in sysfs under the ib device') Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2cb8e7f86e8cabd1e8aa608fc2a44e5bfa1d81ca Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:34:22 2015 +0300 IB/mlx4: Demote mcg message from warning to debug The mcg "too many pending requests" warning message fills the log when OpenSM is downed. Demote the message from warning level to debug level. Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 90c1d8b6350cca9d8a234f03c77a317a7613bcee Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:34:21 2015 +0300 IB/mlx4: Fix potential deadlock when sending mad to wire send_mad_to_wire takes the same spinlock that is taken in the interrupt context. Therefore, it needs irqsave/restore. Fixes: b9c5d6a64358 ('IB/mlx4: Add multicast group (MCG) paravirtualization for SR-IOV') Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b8071ad893841aba967b7c54e712179864cdf5c3 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Aug 15 10:16:14 2015 -0400 IB/core: Remove needless bracketization Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit cc36929e736a30a291ab543b633046eb57d67e68 Author: Somnath Kotur <somnath.kotur@xxxxxxxxxxxxx> Date: Thu Jul 30 18:33:31 2015 +0300 RDMA/ocrdma: Incorporate the moving of GID Table mgmt to IB/Core 1.Change query_gid hook to return value from IB/Core GID management APIs. 2.Get rid of all the netdev notifier chain subscription code as well as maintenance of SGID Table in memory. 3.Implement get_netdev hook in driver. Signed-off-by: Somnath Kotur <somnath.kotur@xxxxxxxxxxxxx> Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5070cd2239bd4b382c55c212f10b845ec2de31fc Author: Moni Shoua <monis@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:30 2015 +0300 IB/mlx4: Replace mechanism for RoCE GID management Manage RoCE gid table with logic in IB/core, which is common to all vendors, and remove the mechanism from the mlx4 IB driver. Since management of the GID cache may lead to index mismatch with the hardware GID table, a translation between indexes is required when modifying a QP or creating an address handle. Signed-off-by: Moni Shoua <monis@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e26be1bfef81a2314a075f54dd8930cf5e8656df Author: Moni Shoua <monis@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:29 2015 +0300 IB/mlx4: Implement ib_device callbacks get_netdev: get the net_device on the physical port of the IB transport port. In port aggregation mode it is required to return the netdev of the active port. modify_gid: note for a change in the RoCE gid cache. Handle this by writing to the harsware GID table. It is possible that indexes in cahce and hardware tables won't match so a translation is required when modifying a QP or creating an address handle. Signed-off-by: Moni Shoua <monis@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 79857cd31fe70145ff007d4e968557af342c8ccd Author: Moni Shoua <monis@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:28 2015 +0300 net/mlx4: Postpone the registration of net_device The mlx4 network driver was registered in the context of the 'add' function of the core driver (called when HW should be registered). This makes the netdev event NETDEV_REGISTER to be sent in a context where the answer to get_protocol_dev() callback returns NULL. This may be confusing to listeners of netdev events. This patch is a preparation to the patch that implements the get_netdev() callback in the IB/mlx4 driver. Signed-off-by: Moni Shoua <monis@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 238fdf48f2b54a01cedb5774c3a1e81c94e1a3a0 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:27 2015 +0300 IB/core: Add RoCE table bonding support Handling bonding and other devices require us to all all GIDs of the net-devices which are upper-devices of the RoCE port related net-device. Active-backup configurations imposes even more challenges as the default GID should only be set on the active devices (this is necessary as otherwise the same MAC could be used for several slaves and thus several slaves will have identical GIDs). Managing these configurations are done by listening to: (a) NETDEV_CHANGEUPPER event (1) if a related net-device is linked, delete all inactive slaves default GIDs and add the upper device GIDs. (2) if a related net-device is unlinked, delete all upper GIDs and add the default GIDs. (b) NETDEV_BONDING_FAILOVER: (1) delete the bond GIDs from inactive slaves (2) delete the inactive slave's default GIDs (3) Add the bond GIDs to the active slave. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 98d25afa970d134024d8652360569e3bd74782b3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 12:22:10 2015 +0300 IB/core: missing curly braces in ib_find_gid() Smatch says that, based on the indenting, we should probably add curly braces here. Fixes: 03db3a2d81e6 ('IB/core: Add RoCE GID table management') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 03db3a2d81e6e84f3ed3cb9e087cae17d762642b Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:26 2015 +0300 IB/core: Add RoCE GID table management RoCE GIDs are based on IP addresses configured on Ethernet net-devices which relate to the RDMA (RoCE) device port. Currently, each of the low-level drivers that support RoCE (ocrdma, mlx4) manages its own RoCE port GID table. As there's nothing which is essentially vendor specific, we generalize that, and enhance the RDMA core GID cache to do this job. In order to populate the GID table, we listen for events: (a) netdev up/down/change_addr events - if a netdev is built onto our RoCE device, we need to add/delete its IPs. This involves adding all GIDs related to this ndev, add default GIDs, etc. (b) inet events - add new GIDs (according to the IP addresses) to the table. For programming the port RoCE GID table, providers must implement the add_gid and del_gid callbacks. RoCE GID management requires us to state the associated net_device alongside the GID. This information is necessary in order to manage the GID table. For example, when a net_device is removed, its associated GIDs need to be removed as well. RoCE mandates generating a default GID for each port, based on the related net-device's IPv6 link local. In contrast to the GID based on the regular IPv6 link-local (as we generate GID per IP address), the default GID is also available when the net device is down (in order to support loopback). Locking is done as follows: The patch modify the GID table code both for new RoCE drivers implementing the add_gid/del_gid callbacks and for current RoCE and IB drivers that do not. The flows for updating the table are different, so the locking requirements are too. While updating RoCE GID table, protection against multiple writers is achieved via mutex_lock(&table->lock). Since writing to a table requires us to find an entry (possible a free entry) in the table and then modify it, this mutex protects both the find_gid and write_gid ensuring the atomicity of the action. Each entry in the GID cache is protected by rwlock. In RoCE, writing (usually results from netdev notifier) involves invoking the vendor's add_gid and del_gid callbacks, which could sleep. Therefore, an invalid flag is added for each entry. Updates for RoCE are done via a workqueue, thus sleeping is permitted. In IB, updates are done in write_lock_irq(&device->cache.lock), thus write_gid isn't allowed to sleep and add_gid/del_gid are not called. When passing net-device into/out-of the GID cache, the device is always passed held (dev_hold). The code uses a single work item for updating all RDMA devices, following a netdev or inet notifier. The patch moves the cache from being a client (which was incorrect, as the cache is part of the IB infrastructure) to being explicitly initialized/freed when a device is registered/removed. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 55aeed06544f675f25aef06a8c47b0b6b8850f4f Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:23:34 2015 -0600 IB/core: Make ib_alloc_device init the kobject This gets rid of the weird in-between state where struct ib_device was allocated but the kobject didn't work. Consequently ib_device_release is now guaranteed to be called in all situations and we needn't duplicate its kfrees on error paths. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e999869548b9ab97b7dffa053ba2fee81c31d069 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:24 2015 +0300 net/bonding: Export bond_option_active_slave_get_rcu Some consumers of the netdev events API would like to know who is the active slave when a NETDEV_CHANGEUPPER or NETDEV_BONDING_FAILOVER events occur. For example, when managing RoCE GIDs, GIDs based on the bond's ips should only be set on the port which corresponds to active slave netdevice. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 816dd19b3d191da88bc034fb85e21ed09a3ed320 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:23 2015 +0300 net: Add info for NETDEV_CHANGEUPPER event Some consumers of NETDEV_CHANGEUPPER event would like to know which upper device was linked/unlinked and what operation was carried. Add information in the notifier info block for that purpose. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 399e6f95811bd36fb64b3d30cf8529d633884b4c Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:22 2015 +0300 net/ipv6: Export addrconf_ifid_eui48 For loopback purposes, RoCE devices should have a default GID in the port GID table, even when the interface is down. In order to do so, we use the IPv6 link local address which would have been genenrated for the related Ethernet netdevice when it goes up as a default GID. addrconf_ifid_eui48 is used to gernerate this address, export it. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d9f272c523db47a56a64942eb6f25361c400de66 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:48 2015 +0300 IB/core: Drop ib_alloc_fast_reg_mr Fully replaced by a more generic and suitable ib_alloc_mr. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d9fe6dd7afaff529124dd7f49c2da89ef789a56f Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Fri Aug 7 10:51:25 2015 -0400 IB/hfi1: Support ib_alloc_mr verb Ported from upstream qib commit 68c02e232b8a ("qib: Support ib_alloc_mr verb") Tested-by: Jubin John <jubin.john@xxxxxxxxx> Reviewed-by: Jubin John <jubin.john@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1302f8452bfbede92c5e984afd64d91eb5459ee7 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:47 2015 +0300 qib: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e02e4d554d2b0c20b1f191c5d98bbf5da500a285 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:46 2015 +0300 nes: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f683d3bdbb37baa49510e32789164e5d33d76ba1 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:45 2015 +0300 cxgb3: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a21640347a01ba2f96dfc887b8e33cce462780fd Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:44 2015 +0300 iw_cxgb4: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit cacb7d59bed3fd9f65d6ba1a4ea948ce8baa9126 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:43 2015 +0300 ocrdma: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 679e34d1d050fc67f2ab157ebf8553dddc216c55 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:42 2015 +0300 mlx4: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b3778ba8ded0aafbd820b68be0686ff0c6026eff Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:41 2015 +0300 mlx5: Drop mlx5_ib_alloc_fast_reg_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit fc27995942960c894bc4725435dce8750e44cd64 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:40 2015 +0300 RDS: Convert to ib_alloc_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9ac07501e1918b8d1140adcc360e8d8c7f5a2f7c Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:11:20 2015 -0500 svcrdma: limit FRMR page list lengths to device max Svcrdma was incorrectly allocating fastreg MRs and page lists using RPCSVC_MAXPAGES, which can exceed the device capabilities. So limit the depth to the minimum of RPCSVC_MAXPAGES and xprt->sc_frmr_pg_list_len. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0410e38eca85e042f5d5a281dbcc792db701ed44 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:39 2015 +0300 xprtrdma, svcrdma: Convert to ib_alloc_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 563b67c5f90abeae1038008e6c9c187fb36ad35c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:38 2015 +0300 IB/srp: Convert to ib_alloc_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a89be2cc51f6602e803f2f9a9c8c4f59a0bd58b3 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:37 2015 +0300 iser-target: Convert to ib_alloc_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 34780f012ceeb41ec6d44b3877396042e750862c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:36 2015 +0300 IB/iser: Convert to ib_alloc_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9bee178b4f6b3e122ed8eda990450a638706e271 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:35 2015 +0300 IB: Modify ib_create_mr API Use ib_alloc_mr with specific parameters. Change the existing callers. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8b91ffc1cf67d3f0834197c80c5182890c8d508d Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:34 2015 +0300 IB/core: Get rid of redundant verb ib_destroy_mr This was added in a thought of uniting all mr allocation and deallocation routines but the fact is we have a single deallocation routine already, ib_dereg_mr. And, move mlx5_ib_destroy_mr specific logic into mlx5_ib_dereg_mr (includes only signature stuff for now). And, fixup the only callers (iser/isert) accordingly. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit be688195bd08b1c045f89d72c07c7e3ef6516f38 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Aug 27 15:55:15 2015 +0300 IB/cma: Fix net_dev reference leak with failed requests When no matching listening ID is found for a given request, the net_dev that was used to find the request isn't released. Fixes: 0b3ca768fcb0 ("IB/cma: Use found net_dev for passive connections") Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 90816d1ddacfb5a8b783f67e2c1a1bc77dc50ff4 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 30 09:53:06 2015 -0700 NFSv4.1/flexfiles: Don't mark the entire deviceid as bad for file errors If the file was fenced and/or has been deleted on the DS, then we want to retry pNFS after a layoutreturn with error report. If the server cannot fix the problem, then we rely on it to tell us so in the response to the LAYOUTGET. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 1ab36387ea4face01aac3560b396b1e2ce07c4ff Author: David Dueck <davidcdueck@xxxxxxxxxxxxxx> Date: Tue Jul 28 09:48:16 2015 +0200 pinctrl: at91: fix null pointer dereference Not all gpio banks are necessarily enabled, in the current code this can lead to null pointer dereferences. [ 51.130000] Unable to handle kernel NULL pointer dereference at virtual address 00000058 [ 51.130000] pgd = dee04000 [ 51.130000] [00000058] *pgd=3f66d831, *pte=00000000, *ppte=00000000 [ 51.140000] Internal error: Oops: 17 [#1] ARM [ 51.140000] Modules linked in: [ 51.140000] CPU: 0 PID: 1664 Comm: cat Not tainted 4.1.1+ #6 [ 51.140000] Hardware name: Atmel SAMA5 [ 51.140000] task: df6dd880 ti: dec60000 task.ti: dec60000 [ 51.140000] PC is at at91_pinconf_get+0xb4/0x200 [ 51.140000] LR is at at91_pinconf_get+0xb4/0x200 [ 51.140000] pc : [<c01e71a0>] lr : [<c01e71a0>] psr: 600f0013 sp : dec61e48 ip : 600f0013 fp : df522538 [ 51.140000] r10: df52250c r9 : 00000058 r8 : 00000068 [ 51.140000] r7 : 00000000 r6 : df53c910 r5 : 00000000 r4 : dec61e7c [ 51.140000] r3 : 00000000 r2 : c06746d4 r1 : 00000000 r0 : 00000003 [ 51.140000] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user [ 51.140000] Control: 10c53c7d Table: 3ee04059 DAC: 00000015 [ 51.140000] Process cat (pid: 1664, stack limit = 0xdec60208) [ 51.140000] Stack: (0xdec61e48 to 0xdec62000) [ 51.140000] 1e40: 00000358 00000000 df522500 ded15f80 c05a9d08 ded15f80 [ 51.140000] 1e60: 0000048c 00000061 df522500 ded15f80 c05a9d08 c01e7304 ded15f80 00000000 [ 51.140000] 1e80: c01e6008 00000060 0000048c c01e6034 c01e5f6c ded15f80 dec61ec0 00000000 [ 51.140000] 1ea0: 00020000 ded6f280 dec61f80 00000001 00000001 c00ae0b8 b6e80000 ded15fb0 [ 51.140000] 1ec0: 00000000 00000000 df4bc974 00000055 00000800 ded6f280 b6e80000 ded6f280 [ 51.140000] 1ee0: ded6f280 00020000 b6e80000 00000000 00020000 c0090dec c0671e1c dec61fb0 [ 51.140000] 1f00: b6f8b510 00000001 00004201 c000924c 00000000 00000003 00000003 00000000 [ 51.140000] 1f20: df4bc940 00022000 00000022 c066e188 b6e7f000 c00836f4 000b6e7f ded6f280 [ 51.140000] 1f40: ded6f280 b6e80000 dec61f80 ded6f280 00020000 c0091508 00000000 00000003 [ 51.140000] 1f60: 00022000 00000000 00000000 ded6f280 ded6f280 00020000 b6e80000 c0091d9c [ 51.140000] 1f80: 00000000 00000000 ffffffff 00020000 00020000 b6e80000 00000003 c000f124 [ 51.140000] 1fa0: dec60000 c000efa0 00020000 00020000 00000003 b6e80000 00020000 000271c4 [ 51.140000] 1fc0: 00020000 00020000 b6e80000 00000003 7fffe000 00000000 00000000 00020000 [ 51.140000] 1fe0: 00000000 bef50b64 00013835 b6f29c76 400f0030 00000003 00000000 00000000 [ 51.140000] [<c01e71a0>] (at91_pinconf_get) from [<c01e7304>] (at91_pinconf_dbg_show+0x18/0x2c0) [ 51.140000] [<c01e7304>] (at91_pinconf_dbg_show) from [<c01e6034>] (pinconf_pins_show+0xc8/0xf8) [ 51.140000] [<c01e6034>] (pinconf_pins_show) from [<c00ae0b8>] (seq_read+0x1a0/0x464) [ 51.140000] [<c00ae0b8>] (seq_read) from [<c0090dec>] (__vfs_read+0x20/0xd0) [ 51.140000] [<c0090dec>] (__vfs_read) from [<c0091508>] (vfs_read+0x7c/0x108) [ 51.140000] [<c0091508>] (vfs_read) from [<c0091d9c>] (SyS_read+0x40/0x94) [ 51.140000] [<c0091d9c>] (SyS_read) from [<c000efa0>] (ret_fast_syscall+0x0/0x3c) [ 51.140000] Code: eb010ec2 e30a0d08 e34c005a eb0ae5a7 (e5993000) [ 51.150000] ---[ end trace fb3c370da3ea4794 ]--- Fixes: a0b957f306fa ("pinctrl: at91: allow to have disabled gpio bank") Cc: stable@xxxxxxxxxxxxxxx # 3.18 Signed-off-by: David Dueck <davidcdueck@xxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 73fec7fd04a2ad6c879c93881cba9a40d551b3fd Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:26 2015 +0300 IB/cm: Remove compare_data checks Now that there are no ib_cm clients using the compare_data feature for matching IB CM requests' private data, remove the compare_data parameter of ib_cm_listen and remove the code implementing the feature. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 51efe394bcab3a0c511634f7ae58bb88b1686983 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:25 2015 +0300 IB/cma: Share ib_cm_ids between rdma_cm_ids Use ib_cm_insert_listen to create listening IB CM IDs or share existing ones if needed. When given a request on a specific CM ID, the code now matches the request to the RDMA CM ID based on the request parameters, so it no longer needs to rely on the ib_cm's private data matching capabilities. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0b3ca768fcb07338c99df5e3ccec99119435e321 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:24 2015 +0300 IB/cma: Use found net_dev for passive connections When receiving a new connection in cma_req_handler, we actually already know the net_dev that is used for the connection's creation. Instead of calling cma_translate_addr to resolve the new connection id's source address, just use the net_dev that was found. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f887f2ac87c25124a90adf97d76b258eba6295cb Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:23 2015 +0300 IB/cma: Validate routing of incoming requests Pass incoming request parameters through the relevant IPv4/IPv6 routing tables and make sure the network stack is configured to handle such requests. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4c21b5bcef73e6649429c1d9b39f5065e756d857 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:22 2015 +0300 IB/cma: Add net_dev and private data checks to RDMA CM Instead of relying on a the ib_cm module to check an incoming CM request's private data header, add these checks to the RDMA CM module. This allows a following patch to to clean up the ib_cm interface and remove the code that looks into the private headers. It will also allow supporting namespaces in RDMA CM by making these checks namespace aware later on. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 24cad9a7e8bfd4cf1ace7ac2a2b3f696a0e70420 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:21 2015 +0300 IB/cm: Expose BTH P_Key in CM and SIDR request events The rdma_cm module will later use the P_Key from the BTH to de-mux requests. See discussion at: http://www.spinics.net/lists/netdev/msg336067.html Cc: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Cc: Liran Liss <liranl@xxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit aac978e15230fccb7a3e9190eb58732925019300 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:20 2015 +0300 IB/cma: Helper functions to access port space IDRs Add helper functions to access the IDRs by port-space and port number. Pass around the port-space enum in cma.c instead of using pointers to port-space IDRs. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0c505f70a28d943e15a6702ca75bea4f332a03ed Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:19 2015 +0300 IB/cma: Refactor RDMA IP CM private-data parsing code When receiving a connection request, rdma_cm needs to associate the request with a network device, in order to disambiguate requests. To do this, it needs to know the request's destination IP. For this the module needs to allow getting this information from the private data in the request packet, instead of relying on the information already being in the listening RDMA CM ID. When creating a new incoming connection ID, the code in cma_save_ip{4,6}_info can no longer rely on the listener's private data to find the port number, so it reads it from the requested service ID. Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 067b171b8679f99e170feae2e1d2eae319736420 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:18 2015 +0300 IB/cm: Share listening CM IDs Enabling network namespaces for RDMA CM will allow processes on different namespaces to listen on the same port. In order to leave namespace support out of the CM layer, this requires that multiple RDMA CM IDs will be able to share a single CM ID. This patch adds infrastructure to retrieve an existing listening ib_cm_id, based on its device and service ID, or create a new one if one does not already exist. It also adds a reference count for such instances (cm_id_private.listen_sharecount), and prevents cm_destroy_id from destroying a CM if it is still shared. See the relevant discussion [1]. [1] Re: [PATCH v3 for-next 05/13] IB/cm: Reference count ib_cm_ids http://www.spinics.net/lists/netdev/msg328860.html Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 15865e7dab62a58407f1b7decdafd89dd0a8b063 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:17 2015 +0300 IB/cm: Expose service ID in request events Expose the service ID on an incoming CM or SIDR request to the event handler. This will allow the RDMA CM module to de-multiplex connection requests based on the information encoded in the service ID. Acked-by: Sean Hefty <sean.hefty@xxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ddde896e561a51ae5023e531d66dc6a140a95ec3 Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:16 2015 +0300 IB/ipoib: Return IPoIB devices matching connection parameters Implement the get_net_device_by_port_pkey_ip callback that returns network device to ib_core according to connection parameters. Check the ipoib device and iterate over all child devices to look for a match. For each IPoIB device we iterate through all upper devices when searching for a matching IP, in order to support bonding. Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9268f72dcb24348c8b4cf9bcf8afeb24035157a5 Author: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:15 2015 +0300 IB/core: Find the network device matching connection parameters In the case of IPoIB, and maybe in other cases, the network device is managed by an upper-layer protocol (ULP). In order to expose this network device to other users of the IB device, let ULPs implement a callback that returns network device according to connection parameters. The IB device and port, together with the P_Key and the GID should be enough to uniquely identify the ULP net device. However, in current kernels there can be multiple IPoIB interfaces created with the same GID. Furthermore, such configuration may be desireable to support ipvlan-like configurations for RDMA CM with IPoIB. To resolve the device in these cases the code will also take the IP address as an additional input. Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7c1eb45a22d76bb99236e7485958f87ef7c449cf Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:14 2015 +0300 IB/core: lock client data with lists_rwsem An ib_client callback that is called with the lists_rwsem locked only for read is protected from changes to the IB client lists, but not from ib_unregister_device() freeing its client data. This is because ib_unregister_device() will remove the device from the device list with lists_rwsem locked for write, but perform the rest of the cleanup, including the call to remove() without that lock. Mark client data that is undergoing de-registration with a new going_down flag in the client data context. Lock the client data list with lists_rwsem for write in addition to using the spinlock, so that functions calling the callback would be able to lock only lists_rwsem for read and let callbacks sleep. Since ib_unregister_client() now marks the client data context, no need for remove() to search the context again, so pass the client data directly to remove() callbacks. Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5aa44bb90f047662c12c44be1b6de454658632d0 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:13 2015 +0300 IB/core: Add rwsem to allow reading device list or client list Currently the RDMA subsystem's device list and client list are protected by a single mutex. This prevents adding user-facing APIs that iterate these lists, since using them may cause a deadlock. The patch attempts to solve this problem by adding a read-write semaphore to protect the lists. Readers now don't need the mutex, and are safe just by read-locking the semaphore. The ib_register_device, ib_register_client, ib_unregister_device, and ib_unregister_client functions are modified to lock the semaphore for write during their respective list modification. Also, in order to make sure client callbacks are called only between add() and remove() calls, the code is changed to only add items to the lists after the add() calls and remove from the lists before the remove() calls. This patch attempts to solve a similar need [1] that was seen in the RoCE v2 patch series. [1] http://www.spinics.net/lists/linux-rdma/msg24733.html Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Cc: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 64291f7db5bd8150a74ad2036f1037e6a0428df2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 11:34:09 2015 -0700 Linux 4.2 commit 50002d4c2176da6b2ed5a2529a2367c05f0fd73b Author: Inki Dae <daeinki@xxxxxxxxx> Date: Mon Aug 31 01:11:53 2015 +0900 drm/exynos: fix build warning to exynos_drm_gem.c Signed-off-by: Inki Dae <daeinki@xxxxxxxxx> commit fbbb1e1a7f170cb560224d9694f1afd851bcf47f Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Aug 31 00:53:57 2015 +0900 drm/exynos: Properly report supported formats for each device Exynos DRM reported that all planes for all supported sub-devices supports only three pixel formats: XRGB24, ARGB24 and NV12. This patch lets each Exynos DRM sub-drivers to provide the list of supported pixel formats and registers this list to DRM core. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 74f230d2a7e36c27fde38db20ebfb7ddb9c4a116 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Mon Aug 31 00:45:56 2015 +0900 drm/exynos: add render node support This patch allows clients who want to use render node to access rendering relevant ioctls - g2d, post processor and gem allocation. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cc5a7b35799459ec1d0b0e538f4d810aef704217 Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Thu Aug 27 18:21:14 2015 +0900 drm/exynos: implement atomic_{begin/flush} of DECON Each CRTC's atomic_{begin/flush} must stop/start the update of shadow registers to active register in the functions. This patch achieves these purpose by moving the setting of protection bits to those functions from decon_update_plane. v2: rebased to the branch exynos-drm-next Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit e7fefb1d5af5d90baec5204d9096e8c4db8c93bd Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 31 00:33:57 2015 +0900 drm/exynos: remove legacy ->suspend()/resume() These legacy helpers should only be used by shadow-attaching drivers. KMS drivers has its own way to handle suspend/resume and don't need to use these two helpers. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <daeinki@xxxxxxxxx> commit c8c38ccff9308a706b5314ca1cf157713a40f6b5 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 24 20:52:19 2015 +0900 drm/exynos: Enable atomic modesetting feature From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Now that atomic modesetting is implemented for exynos enable the DRIVER_ATOMIC flag on the driver's features. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7cf23eaf0d8e6f34f3bc89141efc96b2502b290c Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:19 2015 -0300 drm/exynos: remove wait queue for pending page flip Exynos atomic commit procedures already does this job of waiting for pending updates to finish, that means using pending_flip_queue is pointless now because the disable CRTC procedure will never happen during a page_flip. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c4533665d819271dad890440b887776ac3d5f265 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:18 2015 -0300 drm/exynos: wait all planes updates to finish Add infrastructure to wait for all planes updates to finish by using an atomic_t variable to track how many pending updates we are waiting plus a wait_queue for the wait part. It also changes vblank behaviour and keeps it enabled for all types of updates Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a379df19356de97afdca37c4e8f5e8729215d6ea Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:17 2015 -0300 drm/exynos: add atomic asynchronous commit The atomic modesetting interfaces supports async commits that should be implemented by the drivers. If drm core requests an async commit exynos_atomic_commit() will now schedule a work task to run the update later. It also serializes commits that needs to run on the same crtc, putting the following commit to wait until the current one is finished. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cb11b3f18957f90f8adeb95adf694f52581416b3 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:16 2015 -0300 drm/exynos: fimd: only finish update if START == START_S fimd_update_plane() programs BUF_START[win] and during the update BUF_START[win] is copied to BUF_START_S[win] (its shadow register) and starts scanning out, then it raises a irq. The fimd_irq_handler, in the case we have a pending_fb, will check the fb value was copied to START_S register and finish the update in case of success. Based on patch from Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 44205083751cdcfdbd3f8607694ee1a5a9b161c7 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:15 2015 -0300 drm/exynos: add macro to get the address of START_S reg This macro is need to get the value of the START shadow register, that will tell if an framebuffer is currently displayed on the screen or not. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 822f6dfd714c961e3c5648b1d4a5ac10f807d592 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:14 2015 -0300 drm/exynos: check for pending fb before finish update The current code was ignoring the end of update for all overlay planes, caring only for the primary plane update in case of pageflip. This change adds a change to start to check for pending updates for all planes through exynos_plane->pending_fb. At the start of plane update the pending_fb is set with the fb to be shown on the screen. Then only when to fb is already presented in the screen we set pending_fb to NULL to signal that the update was finished. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> fixup! drm/exynos: check for pending fb before finish update commit ce3ff36be91a85d87f138794dbbd704fb99320c2 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:13 2015 -0300 drm/exynos: fimd: move window protect code to prepare/cleanup_plane Only set/clear the update bit in the CRTC's .atomic_begin()/flush() so all planes are really committed at the same time. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d9220d4733d1ea1ae375bd76dd2c961969a6795c Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 24 20:36:59 2015 +0900 drm/exynos: add prepare and cleanup phases for planes From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> .prepare_plane() and .cleanup_plane() allows to perform extra operations before and after the update of planes. For FIMD for example this will be used to enable disable the shadow protection bit. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit fc75f7107a8de47e135cf3b9fec62f99c184a2c8 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:11 2015 -0300 drm/exynos: fimd: unify call to exynos_drm_crtc_finish_pageflip() Unify handling of finished plane update to prepare for a following patch that will check for the START and START_S regs to really make sure that the plane was updated. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit bb0fa93523b8d7f89b6ee61ab8e9b926ff7a9779 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:10 2015 -0300 drm/exynos: don't track enabled state at exynos_crtc struct drm_crtc already stores the enabled state of the crtc thus we don't need to replicate enabled in exynos_drm_crtc. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 91931320cfbbcc1dd874c2d0aef62e7d90f07f70 Merge: 02dc14d ca94085 d32e03f 534dcd7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:59:18 2015 +0100 Merge remote-tracking branches 'asoc/topic/wm8996', 'asoc/topic/xtensa' and 'asoc/topic/zx296702' into asoc-next commit 02dc14d66e2047ca2d1bc7ed8ebef7f3415cf476 Merge: 384ea79 84eac61 b970499 779ea47 3176bf2 85e7118 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:58:56 2015 +0100 Merge remote-tracking branches 'asoc/topic/wm8741', 'asoc/topic/wm8753', 'asoc/topic/wm8904', 'asoc/topic/wm8960' and 'asoc/topic/wm8983' into asoc-next commit 384ea7936cc987ee771690f624593f6dd8ca15a2 Merge: c009d37 030e6ee efc04ca dc606e05 c8a6b92 f611cdd Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:58:36 2015 +0100 Merge remote-tracking branches 'asoc/topic/wm0010', 'asoc/topic/wm5100', 'asoc/topic/wm5110', 'asoc/topic/wm8004' and 'asoc/topic/wm8731' into asoc-next commit c009d370dd35eb29a8c14f6eb50a4da4276db3f1 Merge: 428157c 95e3c23 ef3355d 4313489 0a3dcb5 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:58:18 2015 +0100 Merge remote-tracking branches 'asoc/topic/txx9', 'asoc/topic/uda134x', 'asoc/topic/ux500' and 'asoc/topic/width' into asoc-next commit 428157c1e8c9eaf0029430ae82ec0df8578de46b Merge: 0a5ff07 82cf77a 9425e9d f57ddcd 2e45a25 1a3232d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:57:34 2015 +0100 Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next commit 0a5ff077572d058d3023d243ba97a7e98d111f4c Merge: cfed47d 601e457 97a7471 e129091 601b9d9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:57:13 2015 +0100 Merge remote-tracking branches 'asoc/topic/ssm2518', 'asoc/topic/sta529', 'asoc/topic/sti' and 'asoc/topic/sti-sas' into asoc-next commit cfed47d7b5abd5ce9c010169cce9c2754394a02d Merge: a8f1d97 7d4d443 e8de871 e225797 8e2175d 2c3f4b9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:56:44 2015 +0100 Merge remote-tracking branches 'asoc/topic/rt5677', 'asoc/topic/sh', 'asoc/topic/simple', 'asoc/topic/sirf-codec' and 'asoc/topic/spear' into asoc-next commit a8f1d97bfa986f00835d2669a970e19f6dd9b9d8 Merge: 532161e 5efe58c 818454d 469444f 387ad57 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:56:27 2015 +0100 Merge remote-tracking branches 'asoc/topic/rt298', 'asoc/topic/rt5640', 'asoc/topic/rt5651' and 'asoc/topic/rt5670' into asoc-next commit 532161e6ccbd1c5ac3a2ea9dc60c8e253cd22fa5 Merge: d781c23 1af2cc6 41a5fefe ac1125d 1c0beb2 a5afdc5 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:55:54 2015 +0100 Merge remote-tracking branches 'asoc/topic/rcar', 'asoc/topic/reg-default', 'asoc/topic/rl6231', 'asoc/topic/rockchip' and 'asoc/topic/rt286' into asoc-next commit d781c23e9b46f33c1c6c07febae36f37a11f9d4d Merge: acb47ad 42d1b8c 637c4497 618718d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:55:41 2015 +0100 Merge remote-tracking branches 'asoc/topic/pm-ops', 'asoc/topic/pxa' and 'asoc/topic/qcom' into asoc-next commit acb47ad5023fbd29a2c9a681c28b33968c9dcc9e Merge: 1d1ed2c 775b07d 0643558 d5f1117 5e3cdaa 7d40acc Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:55:21 2015 +0100 Merge remote-tracking branches 'asoc/topic/mediatek', 'asoc/topic/mtk', 'asoc/topic/nuc900', 'asoc/topic/of-name' and 'asoc/topic/omap' into asoc-next commit 1d1ed2c23e6fac1c9a11df846536553754ac9780 Merge: 373e515 62d6d47 5549ce8 4ab0c591 623436a 6eb1c2a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:54:57 2015 +0100 Merge remote-tracking branches 'asoc/topic/max98090', 'asoc/topic/max98095', 'asoc/topic/max98357a', 'asoc/topic/max9877' and 'asoc/topic/max98925' into asoc-next commit 373e515d655086d4c05aae3b098bd48fe1f0c382 Merge: 246647e e1d46d3 c4a4291 6f43979 04b5cbd f102aa1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:54:38 2015 +0100 Merge remote-tracking branches 'asoc/topic/intel', 'asoc/topic/kirkwood', 'asoc/topic/lm49453', 'asoc/topic/max9768' and 'asoc/topic/max98088' into asoc-next commit 246647ee3e7533362e2c291eebaa7409b8565376 Merge: bb85d37 89e0e25 dce0332 2002e90 b37bfda bf08f39 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:54:15 2015 +0100 Merge remote-tracking branches 'asoc/topic/fsl-spdif', 'asoc/topic/fsl-ssi', 'asoc/topic/gtm601', 'asoc/topic/ics43432' and 'asoc/topic/ids' into asoc-next commit bb85d37358bbca1bbd0fffda87bb38e7c9b69364 Merge: 7c00313 be9ae23 dcfcf2c fa3be920 50e0ee0 9b7493d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:53:56 2015 +0100 Merge remote-tracking branches 'asoc/topic/fsi', 'asoc/topic/fsl', 'asoc/topic/fsl-asrc', 'asoc/topic/fsl-card' and 'asoc/topic/fsl-sai' into asoc-next commit 7c0031360bd721254a52c56bd1c2e90b6d9df57b Merge: 3999622 508a43f 553de19 628536e c5b8540 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:53:39 2015 +0100 Merge remote-tracking branches 'asoc/topic/davinci', 'asoc/topic/davinci-vcif', 'asoc/topic/doc' and 'asoc/topic/dpcm' into asoc-next commit 399962239c07ab00adbfda72064b045c9c2c7b40 Merge: b18fec9 7f325bf fbf917e f755d11 a01da00 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:53:22 2015 +0100 Merge remote-tracking branches 'asoc/topic/cs42l56', 'asoc/topic/cs42l73', 'asoc/topic/cs4349' and 'asoc/topic/da732x' into asoc-next commit b18fec9fe42846784e1744e6bd6c754751e1d172 Merge: 48997b9 6479304 c176330 80deaf0 4caae95 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:59 2015 +0100 Merge remote-tracking branches 'asoc/topic/const', 'asoc/topic/cs35l32', 'asoc/topic/cs4265' and 'asoc/topic/cs42l52' into asoc-next commit 48997b9c03a80cadd14e0ed097f9594ff8454039 Merge: 21af109 fd63542 054bc83 c4d2ab0 54d8697 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:41 2015 +0100 Merge remote-tracking branches 'asoc/topic/au1x', 'asoc/topic/bcm2835', 'asoc/topic/blackfin' and 'asoc/topic/card' into asoc-next commit 21af1094385186a078a044f886a312511dcca04f Merge: 28becbd 93ec3a1 310398f f8ea6ce d90c6cc 56113f6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:21 2015 +0100 Merge remote-tracking branches 'asoc/topic/88pm860x', 'asoc/topic/ac97', 'asoc/topic/ak4542', 'asoc/topic/arizona' and 'asoc/topic/atmel' into asoc-next commit 28becbd59c89cccf26b7539684105437fa77210e Merge: cb42e0f dbe71b9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:16 2015 +0100 Merge remote-tracking branch 'asoc/topic/ssm4567' into asoc-next commit cb42e0f709a73caf4d631be32189bb1ca513ad25 Merge: ca945cf f2988af Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:12 2015 +0100 Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-next commit ca945cf9fb887ff64e63f324a9098a1bd848c58f Merge: 4253f3a 48f403b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:08 2015 +0100 Merge remote-tracking branch 'asoc/topic/pcm1681' into asoc-next commit 4253f3a8f4c7835a95dbdef232ad81d0af88fab3 Merge: 24ecc23 6e588a0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:51:57 2015 +0100 Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next commit 24ecc23cf62a48ae47ccc40f0f226d45c962512e Merge: a178065 abd31b3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:51:52 2015 +0100 Merge remote-tracking branch 'asoc/topic/core' into asoc-next commit a1780653b906ca342f20812570e1f07edb35b907 Merge: 1931553 9d83528 0e76597 e5b9408 9b850ca 14a500f e134cb2 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:51:20 2015 +0100 Merge remote-tracking branches 'asoc/fix/adav80x', 'asoc/fix/arizona', 'asoc/fix/max98090', 'asoc/fix/rt5640', 'asoc/fix/samsung' and 'asoc/fix/wm8994' into asoc-linus commit 19315532b6d46142e401db4dce3cd52cd5c60577 Merge: c13dcf9 c171348 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:51:15 2015 +0100 Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-linus commit 534dcd7ea60cebc41816eff0c290700acb2cc43e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 29 23:09:30 2015 +0800 ASoC: zx296702-i2s: Fix resource leak when unload module Use devm_* API to fix leaks in current code. 1. Use devm_kzalloc to fix memory leak for zx_i2s when unload the module. 2. Use devm_snd_soc_register_component to ensure component is unregistered when unload the module. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f5164b8833498825b3197cb34150b142a9fc5bbf Merge: aaa9b64 a70f0d0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:40:29 2015 +0100 Merge remote-tracking branch 'regulator/topic/tps6586x' into regulator-next commit aaa9b649d0868725cd7536bc9017fe3956ad5393 Merge: 3e68312 5a286aa e2adfac a13eaf0 5127e31 30f93ca Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:40:11 2015 +0100 Merge remote-tracking branches 'regulator/topic/qcom-smd', 'regulator/topic/qcom-spmi', 'regulator/topic/rk808', 'regulator/topic/stub' and 'regulator/topic/tol' into regulator-next commit 3e683126f4b42bd29ac5adff1eb178880aa7706a Merge: 176175b 6d73aef 3a003ba a807a6c a02daad 60cb65e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:39:48 2015 +0100 Merge remote-tracking branches 'regulator/topic/mt6311', 'regulator/topic/ocp', 'regulator/topic/owner', 'regulator/topic/pfuze100' and 'regulator/topic/pwm' into regulator-next commit 176175b613cb560a33839838c3baa817c9e218ca Merge: 11f2482 804486b 6cb6e6b ee3010d b10c7f3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:39:34 2015 +0100 Merge remote-tracking branches 'regulator/topic/lp872x', 'regulator/topic/ltc3589', 'regulator/topic/max77693' and 'regulator/topic/max8973' into regulator-next commit 11f24823667400983a05e6099d645f523d1989ef Merge: 08aad16 4245746 7bd3935 e80c47b 5b87af4 609ca5f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:39:14 2015 +0100 Merge remote-tracking branches 'regulator/topic/da9210', 'regulator/topic/da9211', 'regulator/topic/fan53555', 'regulator/topic/isl9305' and 'regulator/topic/list' into regulator-next commit 08aad16c80f22d2c34407dc2f8cfe0eb57750db6 Merge: eaf018e bf1fc23 ce31751 d4ea7d8 736050c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:38:50 2015 +0100 Merge remote-tracking branches 'regulator/topic/88pm800', 'regulator/topic/ad5398', 'regulator/topic/axp20x' and 'regulator/topic/da9062' into regulator-next commit eaf018e170cef4a5a4378c984b70d768dd30048d Merge: e616e2f 099982f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:38:46 2015 +0100 Merge remote-tracking branch 'regulator/topic/core' into regulator-next commit e616e2f11b2776cbc24035fd14df4773a57b4b6a Merge: c13dcf9 c329061 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:38:37 2015 +0100 Merge remote-tracking branch 'regulator/fix/pbias' into regulator-linus commit 6d73aef11760017c37e448d84595dcb44e1c3827 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sun Aug 30 20:20:42 2015 +0800 regulator: mt6311: fix platform_no_drv_owner.cocci warnings drivers/regulator/mt6311-regulator.c:169:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6cb6e6be41b5b42370e9028d7b691803295b097e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sat Aug 29 13:56:11 2015 +0200 regulator: ltc3589: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and already contains a "ltc3589" device id. So the modalias is unnecessary. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ce317515b43f3e0b789b41df9b54e1608c783c5d Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sat Aug 29 13:56:10 2015 +0200 regulator: ad5398: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and also "ad5398-regulator" is not a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e12909107c30efccf570ac67802df5d2eec4cabd Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 29 23:06:32 2015 +0800 ASoC: sti_uniperif: Ensure component is unregistered when unload module Use devm_snd_soc_register_component to ensure component is unregistered when unload the module. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1cfa8de2880e5512f9037c7804ea47a79cc8232c Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Sun May 3 10:36:19 2015 +0100 MIPS: pgtable-bits.h: Correct _PAGE_GLOBAL_SHIFT build failure Correct a build failure introduced by be0c37c9 [MIPS: Rearrange PTE bits into fixed positions.]: In file included from ./arch/mips/include/asm/io.h:27:0, from ./arch/mips/include/asm/page.h:176, from include/linux/mm_types.h:15, from include/linux/sched.h:27, from include/linux/ptrace.h:5, from arch/mips/kernel/cpu-probe.c:16: ./arch/mips/include/asm/pgtable-bits.h:164:0: error: "_PAGE_GLOBAL_SHIFT" redefined [-Werror] #define _PAGE_GLOBAL_SHIFT (_PAGE_MODIFIED_SHIFT + 1) ^ ./arch/mips/include/asm/pgtable-bits.h:141:0: note: this is the location of the previous definition #define _PAGE_GLOBAL_SHIFT (_PAGE_SPLITTING_SHIFT + 1) ^ cc1: all warnings being treated as errors make[2]: *** [arch/mips/kernel/cpu-probe.o] Error 1 for 64BIT/CPU_MIPSR1/MIPS_HUGE_TLB_SUPPORT configurations. Remove the scattered double `_PAGE_NO_EXEC_SHIFT' and `_PAGE_GLOBAL_SHIFT' macro definitions and rearrange them so that the respective macros these definitions are based on are also those used for guarding conditionals. [ralf@xxxxxxxxxxxxxx: resolved conflicts and updated commments.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9960/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fd63542fc5492b86158dbd53ce5de764f171b1b6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 11:09:49 2015 +0800 ASoC: au1x: psc-i2s: Convert to use devm_ioremap_resource Use devm_ioremap_resource() instead of open code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e8de871e19668257972b167aabd56bb5faae784c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 11:07:33 2015 +0800 ASoC: sh: dma-sh7760: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 37c5db7938093cada165146ee99bd57c97baf6a3 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 18:35:51 2015 +0800 spi: fsl-(e)spi: Fix checking return value of devm_ioremap_resource devm_ioremap_resource() returns ERR_PTR on error. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2c3f4b97eea5ce405baf2591715445da6ed05851 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 08:08:15 2015 +0800 ASoC: spear_pcm: Use devm_snd_dmaengine_pcm_register to fix resource leak All the callers assume devm_spear_pcm_platform_register is a devm_ API, so use devm_snd_dmaengine_pcm_register in devm_spear_pcm_platform_register. Fixes: e1771bcf99b0 ("ASoC: SPEAr: remove custom DMA alloc compat function") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2497ee721524be80a7690dac0956d04c0ee954f0 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:16 2015 +0200 amdkfd: use <linux/mman.h> instead of <uapi/asm-generic/mman-common.h> The latter is a default version of <asm/mman.h> and not for driver use. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 29332534e2b68b5889a40ccb6606ba0d06750a69 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Sun Aug 30 09:33:56 2015 +0200 regmap-i2c: Add smbus i2c block support This allows to read/write up to 32 bytes of data and is to be prefered if supported before the register read/write smbus support. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c335931ed9d22c30017cf957518262c2fe6502ce Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Sun Aug 30 09:33:55 2015 +0200 regmap: Add raw_write/read checks for max_raw_write/read sizes Check in regmap_raw_read() and regmap_raw_write() for correct maximum sizes of the operations. Return -E2BIG if this size is not supported because it is too big. Also this patch causes an uninitialized variable warning so it initializes ret (although not necessary). Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f50c9eb4e9304cf555206c93152f580c0e7213b2 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Sun Aug 30 09:33:54 2015 +0200 regmap: regmap max_raw_read/write getter functions Add functions to access the maximum size we can read/write using regmap_raw_read/write(). This helps drivers that need to know how much they can write with the raw functions without problems. There are some devices (e.g. bmc150) that have fifos as registers which need to be read in specific chunks otherwise samples are dropped. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit adaac459759db4a1fd35baddbe47bac700095496 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Sun Aug 30 09:33:53 2015 +0200 regmap: Introduce max_raw_read/write for regmap_bulk_read/write There are some buses which have a limit on the maximum number of bytes that can be send/received. An example for this is I2C_FUNC_SMBUS_I2C_BLOCK which does not support any reads/writes of more than 32 bytes. The regmap_bulk operations should still be able to utilize the full 32 bytes in this case. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 10524612e8aa98804190ec7d0b380cf99c3bdbd7 Merge: c13dcf9 9a16ea9 9c9f7f6 07ea400 c5f58f2 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 10:19:11 2015 +0100 Merge branches 'fix/raw', 'topic/core', 'topic/i2c', 'topic/raw' and 'topic/doc' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into regmap-smbus-block commit 390fd5929f52bdfb9dfcc03820041ba556780f4a Author: Philippe Bergheaud <felix@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 09:37:36 2015 +0200 cxl: Set up and enable PSL Timebase This patch configures the PSL Timebase function and enables it, after the CAPP has been initialized by OPAL. Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Philippe Bergheaud <felix@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 55e07668fbba9466e6a9ef7650718356cda38406 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Thu Aug 27 19:50:19 2015 +1000 cxl: Fix force unmapping mmaps of contexts allocated through the kernel api The cxl user api uses the address_space associated with the file when we need to force unmap all cxl mmap regions (e.g. on eeh, driver detach, etc). Currently, contexts allocated through the kernel api do not do this and instead skip the mmap invalidation, potentially allowing them to poke at the hardware after such an event, which may cause all sorts of trouble. This patch allocates an address_space for cxl contexts allocated through the kernel api so that the same invalidate path will for these contexts as well. We don't use the anonymous inode's address_space, as doing so could invalidate any mmaps of completely unrelated drivers using anonymous file descriptors. This patch also introduces a kernelapi flag, so we know when freeing the context if the address_space was allocated by us and needs to be freed. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit af2a50bb0ce1ca7a9c4784813419c922bf2285df Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Thu Aug 27 19:50:18 2015 +1000 cxl: Fix + cleanup error paths in cxl_dev_context_init If the cxl_context_alloc() call fails, we return immediately without releasing the reference on the AFU device, allowing it to leak. This patch switches to using goto style error handling so that the device is released in common code for both error paths, and will also simplify things if we add additional initialisation in this function in the future. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 099392048cd443349c50310f7fdc96070e40f4e7 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Aug 29 19:11:21 2015 -0700 SUNRPC: Prevent SYN+SYNACK+RST storms Add a shutdown() call before we release the socket in order to ensure the reset is sent before we try to reconnect. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2573d78872f242a05b842e9c553da45a3d9924e5 Merge: 8e816df a581b96 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 29 19:07:16 2015 -0700 Merge branch 'ovs-vport-cleanup' Pravin B Shelar says: ==================== openvswitch: Cleanup post vport conversion. After converting all vport to netdev implmentations there is no need for some of vport functionality. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a581b96dbfc52b6b498552525ec929aa635680ed Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Sat Aug 29 17:44:08 2015 -0700 openvswitch: Remove vport-net This structure is not used anymore. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c876639c98501b049269b554bf4ecbb8f9c012f Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Sat Aug 29 17:44:07 2015 -0700 openvswitch: Remove vport stats. Since all vport types are now backed by netdev, we can directly use netdev stats. Following patch removes redundant stat from vport. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3eedb41fb43461b5fde3f72fd00a7706f0b90103 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Sat Aug 29 17:44:06 2015 -0700 openvswitch: Remove egress_tun_info. tun info is passed using skb-dst pointer. Now we have converted all vports to netdev based implementation so Now we can remove redundant pointer to tun-info from OVS_CB. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24d43f32d86026a0e318fee736380e164d85eefa Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Sat Aug 29 17:44:05 2015 -0700 openvswitch: Remove vport get_name() Remove unused get_name() function pointer from vport ops. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 650c919798c71fb34b77a6f2ba03a06907f06a76 Merge: 895fb31 64291f7 Author: Chris Zankel <chris@xxxxxxxxxx> Date: Sat Aug 29 23:55:58 2015 +0000 Merge tag 'v4.2' into for_next Linux 4.2 commit 8e816df87997bb0c40122d5df621423b445c4fe6 Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Aug 28 16:54:40 2015 -0700 geneve: Use GRO cells infrastructure. Geneve can benefit from GRO at the device level in a manner similar to other tunnels, especially as hardware offloads are still emerging. After this patch, aggregated frames are seen on the tunnel interface. Single stream throughput nearly doubles in ideal circumstances (on old hardware). Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c78789e3a030615c6650fde89546cadf40ec2cc Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Aug 29 13:36:30 2015 -0700 SUNRPC: xs_reset_transport must mark the connection as disconnected In case the reconnection attempt fails. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c30da497893718abc6cec4f1d34d35875200edee Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Sat Aug 29 09:02:21 2015 +0900 openvswitch: retain parsed IPv6 header fields in flow on error skipping extension headers When an error occurs skipping IPv6 extension headers retain the already parsed IP protocol and IPv6 addresses in the flow. Also assume that the packet is not a fragment in the absence of information to the contrary; that is always use the frag_off value set by ipv6_skip_exthdr(). This allows matching on the IP protocol and IPv6 addresses of packets with malformed extension headers. Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5004a14fac0a71656340544c48a14c80a3afddf Merge: 6d74232 917522a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 29 13:15:03 2015 -0700 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-08-28 One more bunch of Bluetooth patches for 4.3: - Crash fix for hci_bcm driver - Enhancements to hci_intel driver (e.g. baudrate configuration) - Fix for SCO link type after multiple connect attempts - Cleanups & minor fixes in a few other places Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f892a84cc890aaaba7bc42daf2e2ee86b0961884 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Aug 28 11:50:15 2015 -0700 net/smsc911x: Fix deferred probe for interrupt The interrupt handler may not be available when smsc911x probes if the interrupt handler is a GPIO controller for example. Let's fix that by adding handling for -EPROBE_DEFER. Cc: Steve Glendinning <steve.glendinning@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d74232410a9f3ed0e1fc0f5e538598f21e93982 Merge: f6d3c19 a43a9ef Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 29 13:07:55 2015 -0700 Merge branch 'tnl-ipv4-ipv6' Jiri Benc says: ==================== tunnels: fix incorrect IPv4/v6 headers interpretation With tunneling, it is currently possible to get an IPv6 header and interpret it as an IPv4 header, or to interpret an IPv6 address as an IPv4 address (and vice versa). This leads to things like sending packets to incorrect address, IPv6 flow label being interpreted as IP packet length, etc. Fix several places where this can happen. Most of this is net-next only. The third patch affects net, too, but it doesn't seem there's anything in user space that sets the attribute at all currently, thus net-next is fine. Changelog: v2: fixed geneve after incorrect rebase on top of Pravin's patches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a43a9ef6a2e510fec61176ff2c34fab3e7d581da Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 28 20:48:22 2015 +0200 vxlan: do not receive IPv4 packets on IPv6 socket By default (subject to the sysctl settings), IPv6 sockets listen also for IPv4 traffic. Vxlan is not prepared for that and expects IPv6 header in packets received through an IPv6 socket. In addition, it's currently not possible to have both IPv4 and IPv6 vxlan tunnel on the same port (unless bindv6only sysctl is enabled), as it's not possible to create and bind both IPv4 and IPv6 vxlan interfaces and there's no way to specify both IPv4 and IPv6 remote/group IP addresses. Set IPV6_V6ONLY on vxlan sockets to fix both of these issues. This is not done globally in udp_tunnel, as l2tp and tipc seems to work okay when receiving IPv4 packets on IPv6 socket and people may rely on this behavior. The other tunnels (geneve and fou) do not support IPv6. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9b6695cf0e1afebc207e28c7e9350c90547a426 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 28 20:48:21 2015 +0200 fou: reject IPv6 config fou does not really support IPv6 encapsulation. After an UDP socket is created in fou_create, the encap_rcv callback is set either to fou_udp_recv or to gue_udp_recv. Both of those unconditionally assume that the received packet has an IPv4 header and access the data at network_header as it was an IPv4 header. This leads to IPv6 flow label being interpreted as IP packet length, etc. Disallow fou tunnel to be configured as IPv6 until real IPv6 support is added to fou. CC: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f9562a1f405306eacb97f95d78cb996e33f27f5 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 28 20:48:20 2015 +0200 ip_tunnels: record IP version in tunnel info There's currently nothing preventing directing packets with IPv6 encapsulation data to IPv4 tunnels (and vice versa). If this happens, IPv6 addresses are incorrectly interpreted as IPv4 ones. Track whether the given ip_tunnel_key contains IPv4 or IPv6 data. Store this in ip_tunnel_info. Reject packets at appropriate places if they are supposed to be encapsulated into an incompatible protocol. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46fa062ad63146dd138ec0f017e71224471e8ea5 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 28 20:48:19 2015 +0200 ip_tunnels: convert the mode field of ip_tunnel_info to flags The mode field holds a single bit of information only (whether the ip_tunnel_info struct is for rx or tx). Change the mode field to bit flags. This allows more mode flags to be added. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6d3c19274c74ff17174df8078e0a14df003667f Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 08:42:09 2015 -0700 net: FIB tracepoints A few useful tracepoints developing VRF driver. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9751a9e449da2a7749d89968039d532c615beeaa Author: Javi Merino <javi.merino@xxxxxxx> Date: Tue Aug 25 19:22:35 2015 +0100 thermal: power_allocator: allocate with kcalloc what you free with kfree Commit cf736ea6f902 ("thermal: power_allocator: do not use devm* interfaces") forgot to change a devm_kcalloc() to just kcalloc(), but it's corresponding devm_kfree() was changed to kfree(). Allocate with kcalloc() to match the kfree(). Fixes: cf736ea6f902 ("thermal: power_allocator: do not use devm* interfaces") Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a02daad70214a820988c045494a15dea047c16d4 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sat Aug 29 02:35:13 2015 +0200 regulator: pfuze100: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and also "pfuze100-regulator" is not a supported I2C id, so is never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 22c103cd3dfadff340b3b639e477a3c161cb2104 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Aug 29 10:38:46 2015 +0900 ALSA: fireworks/bebob/dice/oxfw: fix substreams counting at vmalloc failure In PCM core, when hw_params() in each driver returns error, the state of PCM substream is kept as 'open'. In this case, current drivers for sound units on IEEE 1394 bus doesn't decrement substream counter in hw_free() correctly. This causes these drivers to keep streams even if not required. This commit fixes this bug. When snd_pcm_lib_alloc_vmalloc_buffer() fails, hw_params function in each driver returns without incrementing the counter. Reported-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Acked-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 73e6742027f5cb5a7c747d9abab5351b01fd4c74 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri Aug 28 21:23:39 2015 -0400 sctp: Do not try to search for the transport twice When removing an non-primary transport during ASCONF processing, we end up traversing the transport list twice: once in sctp_cmd_del_non_primary, and once in sctp_assoc_del_peer. We can avoid the second search and call sctp_assoc_rm_peer() instead. Found by code inspection during code reviews. Signed-off-by: Vladislav Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0d4943eec9a42c7ba2065f6cfa949894204dd4a Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 15:05:32 2015 -0700 bonding: fix bond_poll_controller bh_enable warning The problem is rcu_read_unlock_bh() which triggers a warning when irqs are disabled. ndo_poll_controller should run with irqs disabled always so we can drop the rcu_read_lock_bh. [ 98.502922] bond0: making interface eth1 the new active one [ 98.503039] ------------[ cut here ]------------ [ 98.503039] WARNING: CPU: 0 PID: 1744 at kernel/softirq.c:150 __local_bh_enable_ip+0x96/0xc0() [ 98.503039] Modules linked in: bonding(OE) rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache netconsole ppdev joydev parport_pc serio_raw parport i2c_piix4 video acpi_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc virtio_net e1000 ata_generic pcnet32 mii virtio_pci virtio_ring virtio pata_acpi [ 98.503039] CPU: 0 PID: 1744 Comm: ifenslave Tainted: G OE 4.2.0-rc7+ #56 [ 98.503039] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [ 98.503039] 0000000000000000 00000000e96ba230 ffff880020c236b8 ffffffff8183f105 [ 98.503039] 0000000000000000 0000000000000000 ffff880020c236f8 ffffffff810a9496 [ 98.503039] ffff88002ea99e08 0000000000000200 ffffffffa02a8e06 ffff88002ea99e08 [ 98.503039] Call Trace: [ 98.503039] [<ffffffff8183f105>] dump_stack+0x4c/0x65 [ 98.503039] [<ffffffff810a9496>] warn_slowpath_common+0x86/0xc0 [ 98.503039] [<ffffffffa02a8e06>] ? bond_poll_controller+0x146/0x250 [bonding] [ 98.503039] [<ffffffff810a95ca>] warn_slowpath_null+0x1a/0x20 [ 98.503039] [<ffffffff810ae376>] __local_bh_enable_ip+0x96/0xc0 [ 98.503039] [<ffffffffa02a8e2f>] bond_poll_controller+0x16f/0x250 [bonding] [ 98.503039] [<ffffffffa02a8cf3>] ? bond_poll_controller+0x33/0x250 [bonding] [ 98.503039] [<ffffffff810feaed>] ? trace_hardirqs_off+0xd/0x10 [ 98.503039] [<ffffffff81848afb>] ? _raw_spin_unlock_irqrestore+0x5b/0x60 [ 98.503039] [<ffffffff816ec48e>] netpoll_poll_dev+0x6e/0x350 [ 98.503039] [<ffffffff816eb977>] ? netpoll_start_xmit+0x137/0x1d0 [ 98.503039] [<ffffffff816b2e8b>] ? __alloc_skb+0x5b/0x210 [ 98.503039] [<ffffffff816ec89d>] netpoll_send_skb_on_dev+0x12d/0x2a0 [ 98.503039] [<ffffffff816eccde>] netpoll_send_udp+0x2ce/0x430 [ 98.503039] [<ffffffffa0190850>] write_msg+0xb0/0xf0 [netconsole] [ 98.503039] [<ffffffff81116b63>] call_console_drivers.constprop.25+0x133/0x260 [ 98.503039] [<ffffffff81117934>] console_unlock+0x2f4/0x580 [ 98.503039] [<ffffffff81117ea5>] ? vprintk_emit+0x2e5/0x630 [ 98.503039] [<ffffffff81117ee5>] vprintk_emit+0x325/0x630 [ 98.503039] [<ffffffff81118379>] vprintk_default+0x29/0x40 [ 98.503039] [<ffffffff8183de4f>] printk+0x55/0x6b [ 98.503039] [<ffffffff816c754c>] __netdev_printk+0x16c/0x260 [ 98.503039] [<ffffffff816c7a12>] netdev_info+0x62/0x80 [ 98.503039] [<ffffffffa02ab464>] bond_change_active_slave+0x134/0x6a0 [bonding] [ 98.503039] [<ffffffffa02aba95>] bond_select_active_slave+0xc5/0x310 [bonding] [ 98.503039] [<ffffffffa02aeb78>] bond_enslave+0x1088/0x10c0 [bonding] [ 98.503039] [<ffffffffa02af46b>] bond_do_ioctl+0x37b/0x400 [bonding] [ 98.503039] [<ffffffff81101d8d>] ? trace_hardirqs_on+0xd/0x10 [ 98.503039] [<ffffffff816dc437>] ? rtnl_lock+0x17/0x20 [ 98.503039] [<ffffffff816e5fd1>] dev_ifsioc+0x331/0x3e0 [ 98.503039] [<ffffffff816e62dc>] dev_ioctl+0xec/0x6c0 [ 98.503039] [<ffffffff816a6c6a>] sock_do_ioctl+0x4a/0x60 [ 98.503039] [<ffffffff816a7300>] sock_ioctl+0x1c0/0x250 [ 98.503039] [<ffffffff81271bfe>] do_vfs_ioctl+0x2ee/0x540 [ 98.503039] [<ffffffff810fd943>] ? up_read+0x23/0x40 [ 98.503039] [<ffffffff81070993>] ? __do_page_fault+0x1d3/0x420 [ 98.503039] [<ffffffff8127e246>] ? __fget_light+0x66/0x90 [ 98.503039] [<ffffffff81271ec9>] SyS_ioctl+0x79/0x90 [ 98.503039] [<ffffffff8184936e>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 98.503039] ---[ end trace 00cfa804b0670051 ]--- Fixes: 616f45416ca0 ("bonding: implement bond_poll_controller()") Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a468ac624c80bda76957d8cbc28024f4f68e316 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 16:56:01 2015 +0300 sh_eth: propagate platform_get_irq() error upstream The driver overrides the error returned by platform_get_irq() with -ENODEV which e.g. precludes the deferred probing from working. Propagate the real error code to the driver core instead. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f375339e497582ea0bc8806a0552add1cabb6d4e Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 16:55:10 2015 +0300 ravb: propagate platform_get_irq() error upstream The driver overrides the error returned by platform_get_irq() with -ENODEV which e.g. precludes the deferred probing from working. Propagate the real error code to the driver core instead. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c5a9461812b21e1a1b7a09a83e97530b8867459 Author: lucien <lucien.xin@xxxxxxxxx> Date: Fri Aug 28 17:45:58 2015 +0800 sctp: ASCONF-ACK with Unresolvable Address should be sent RFC 5061: This is an opaque integer assigned by the sender to identify each request parameter. The receiver of the ASCONF Chunk will copy this 32-bit value into the ASCONF Response Correlation ID field of the ASCONF-ACK response parameter. The sender of the ASCONF can use this same value in the ASCONF-ACK to find which request the response is for. Note that the receiver MUST NOT change this 32-bit value. Address Parameter: TLV This field contains an IPv4 or IPv6 address parameter, as described in Section 3.3.2.1 of [RFC4960]. ASCONF chunk with Error Cause Indication Parameter (Unresolvable Address) should be sent if the Delete IP Address is not part of the association. Endpoint A Endpoint B (ESTABLISHED) (ESTABLISHED) ASCONF -----------------> (Delete IP Address) <----------------- ASCONF-ACK (Unresolvable Address) Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7084a315897715776d1764f5fd9250609e515beb Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Fri Aug 28 16:05:20 2015 +0900 netlink: mmap: fix lookup frame position __netlink_lookup_frame() was always called with the same "pos" value in netlink_forward_ring(). It will look at the same ring entry header over and over again, every time through this loop. Then cycle through the whole ring, advancing ring->head, not "pos" until it equals the "ring->head != head" loop test fails. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a6a3a23ea6efde079a5b77688541a98bf202721 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 28 07:07:48 2015 +0200 netlink: add NETLINK_CAP_ACK socket option Since commit c05cdb1b864f ("netlink: allow large data transfers from user-space"), the kernel may fail to allocate the necessary room for the acknowledgment message back to userspace. This patch introduces a new socket option that trims off the payload of the original netlink message. The netlink message header is still included, so the user can guess from the sequence number what is the message that has triggered the acknowledgment. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d5cdef8d5dd0a6819fd85305adb448f5ba56f24 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Fri Aug 28 19:22:11 2015 -0700 openvswitch: Fix conntrack compilation without mark. Fix build with !CONFIG_NF_CONNTRACK_MARK && CONFIG_OPENVSWITCH_CONNTRACK Fixes: 182e304 ("openvswitch: Allow matching on conntrack mark") Reported-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Tested-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 004f1afbe199e6ab20805b95aefd83ccd24bc5c7 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 24 19:20:23 2015 -0400 libnvdimm, pmem: direct map legacy pmem by default The expectation is that the legacy / non-standard pmem discovery method (e820 type-12) will only ever be used to describe small quantities of persistent memory. Larger capacities will be described via the ACPI NFIT. When "allocate struct page from pmem" support is added this default policy can be overridden by assigning a legacy pmem namespace to a pfn device, however this would be only be necessary if a platform used the legacy mechanism to define a very large range. Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 32ab0a3f51701cb37ab960635254d5f84ec3de0a Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Sat Aug 1 02:16:37 2015 -0400 libnvdimm, pmem: 'struct page' for pmem Enable the pmem driver to handle PFN device instances. Attaching a pmem namespace to a pfn device triggers the driver to allocate and initialize struct page entries for pmem. Memory capacity for this allocation comes exclusively from RAM for now which is suitable for low PMEM to RAM ratios. This mechanism will be expanded later for setting an "allocate from PMEM" policy. Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit e1455744b27c9e6115c3508a7b2902157c2c4347 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Jul 30 17:57:47 2015 -0400 libnvdimm, pfn: 'struct page' provider infrastructure Implement the base infrastructure for libnvdimm PFN devices. Similar to BTT devices they take a namespace as a backing device and layer functionality on top. In this case the functionality is reserving space for an array of 'struct page' entries to be handed out through pfn_to_page(). For now this is just the basic libnvdimm-device-model for configuring the base PFN device. As the namespace claiming mechanism for PFN devices is mostly identical to BTT devices drivers/nvdimm/claim.c is created to house the common bits. Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 3403051ebbd486a342272a404f16e7f1aca8758e Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 18:10:18 2015 -0500 RDMA/Core: remove rdma_cap_read_multi_sge() helper This functionality already exists via the max_sge_rd device capability. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bc3fe2e3769874dfa8674791e84c4a901ba9e48b Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 18:10:12 2015 -0500 svcrdma: Use max_sge_rd for destination read depths Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit aaae91f4f05c39f02e36e89b00ad84465f8eb02b Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 18:10:07 2015 -0500 ipath,qib: Expose max_sge_rd correctly Applications must not assume that max_sge and max_sge_rd are the same, Hence expose max_sge_rd correctly as well. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 18ebd40773bf500054a5e079e71cd13aafd1b6eb Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Mon Jul 27 18:10:01 2015 -0500 mlx4, mlx5, mthca: Expose max_sge_rd correctly Applications must not assume that max_sge and max_sge_rd are the same, Hence expose max_sge_rd correctly as well. Reported-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a724648e8a8f7ff874f0d58491b39517718c7237 Author: Jeff Becker <jeffrey.c.becker@xxxxxxxx> Date: Fri Aug 21 12:26:22 2015 -0700 staging/hfi1: replace indent spaces with tabs Running checkpatch.pl on mad.c produces several "ERROR: code indent should use tabs where possible" messages. This patch fixes these. Signed-off-by: Jeff Becker <Jeffrey.C.Becker@xxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7724105686e718ac476a6ad3304fea2fbcfcffde Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Thu Jul 30 15:17:43 2015 -0400 IB/hfi1: add driver files Signed-off-by: Andrew Friedley <andrew.friedley@xxxxxxxxx> Signed-off-by: Arthur Kepner <arthur.kepner@xxxxxxxxx> Signed-off-by: Brendan Cunningham <brendan.cunningham@xxxxxxxxx> Signed-off-by: Brian Welty <brian.welty@xxxxxxxxx> Signed-off-by: Caz Yokoyama <caz.yokoyama@xxxxxxxxx> Signed-off-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Signed-off-by: Harish Chegondi <harish.chegondi@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Jim Snow <jim.m.snow@xxxxxxxxx> Signed-off-by: John Gregor <john.a.gregor@xxxxxxxxx> Signed-off-by: Jubin John <jubin.john@xxxxxxxxx> Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: Kevin Pine <kevin.pine@xxxxxxxxx> Signed-off-by: Kyle Liddell <kyle.liddell@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Ravi Krishnaswamy <ravi.krishnaswamy@xxxxxxxxx> Signed-off-by: Sadanand Warrier <sadanand.warrier@xxxxxxxxx> Signed-off-by: Sanath Kumar <sanath.s.kumar@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Vlad Danushevsky <vladimir.danusevsky@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d4ab347005fb26f414b98b2c8d5ef6de5778c3dc Author: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Date: Thu Jul 30 15:17:32 2015 -0400 IB/core: Add core header changes needed for OPA This patch adds the value of the CNP opcode to the existing list of enumerated opcodes in ib_pack.h Add common OPA header definitions for driver build: - opa_port_info.h - opa_smi.h - hfi1_user.h Additionally, ib_mad.h, has additional definitions that are common to ib_drivers including: - trap support - cca support The qib driver has the duplication removed in favor those in ib_mad.h Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Reviewed-by: John, Jubin <jubin.john@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 072bf1f7e4b5963034df35460f5f311396347a36 Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 09:44:14 2015 -0500 RDMA/amso1100: Deprecate the amso1100 driver and move to staging The HW hasn't been sold since 2005, and the SW has definite bit rot. Its time to remove it. So move it to staging for a few releases and then remove it after that. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6f9b38903c06c159d167344821cd7b4bae864380 Author: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Date: Thu Jul 30 09:25:42 2015 -0400 IB/ipath: Deprecate ipath driver and move to staging. It is now time for the ipath driver to begin to be phased out of the kernel. This patch moves the ipath driver from the Infiniband sub tree to the staging area where it will remain until the code is removed from the kernel in a few releases. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2dfcad3adea961916f013387889bc418c65421cd Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Thu Aug 27 14:18:57 2015 -0400 Staging: Add staging/rdma directory and update MAINTAINERS Create the rdma directory in the staging area for use as we deprecate some older drivers and as we bring in some new drivers that are in need of work. Update the MAINTAINERS file so that updates to these files go to linux-rdma@xxxxxxxxxxxxxxxx Expected lifespan of this directory is three releases for any deprecated drivers moved here and an unknown, but theoretically bounded amount of time for the new drivers as a new core RDMA transfer library needs to be written and the drivers modified to use it in order for them to move out of this directory. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 84cc6ac62d4386f5b6d9ccf2900686b5648e230f Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue Aug 25 14:08:23 2015 +0530 iw_cxgb4: Add support for clip Add support for ipv6 address handling clip api provided by lld Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Acked-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6c26a77124ff94102ea59ac23a54cdad2c49e644 Author: Spencer Baugh <sbaugh@xxxxxxxxxx> Date: Thu Aug 13 12:19:10 2015 -0700 RDMA/cma: fix IPv6 address resolution Resolving a link-local IPv6 address with an unspecified source address was broken by commit 5462eddd7a, which prevented the IPv6 stack from learning the scope id of the link-local IPv6 address, causing random failures as the IP stack chose a random link to resolve the address on. This commit 5462eddd7a made us bail out of cma_check_linklocal early if the address passed in was not an IPv6 link-local address. On the address resolution path, the address passed in is the source address; if the source address is the unspecified address, which is not link-local, we will bail out early. This is mostly correct, but if the destination address is a link-local address, then we will be following a link-local route, and we'll need to tell the IPv6 stack what the scope id of the destination address is. This used to be done by last line of cma_check_linklocal, which is skipped when bailing out early: dev_addr->bound_dev_if = sin6->sin6_scope_id; (In cma_bind_addr, the sin6_scope_id of the source address is set to the sin6_scope_id of the destination address, so this is correct) This line is required in turn for the following line, L279 of addr6_resolve, to actually inform the IPv6 stack of the scope id: fl6.flowi6_oif = addr->bound_dev_if; Since we can only know we are in this failure case when we have access to both the source IPv6 address and destination IPv6 address, we have to deal with this further up the stack. So detect this failure case in cma_bind_addr, and set bound_dev_if to the destination address scope id to correct it. Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7e967fd0b84a843b2475acc67a5a8df138c5f5c0 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 17:13:32 2015 -0600 IB/ucma: Fix theoretical user triggered use-after-free Something like this: CPU A CPU B Acked-by: Sean Hefty <sean.hefty@xxxxxxxxx> ======================== ================================ ucma_destroy_id() wait_for_completion() .. anything ucma_put_ctx() complete() .. continues ... ucma_leave_multicast() mutex_lock(mut) atomic_inc(ctx->ref) mutex_unlock(mut) ucma_free_ctx() ucma_cleanup_multicast() mutex_lock(mut) kfree(mc) rdma_leave_multicast(mc->ctx->cm_id,.. Fix it by latching the ref at 0. Once it goes to 0 mc and ctx cannot leave the mutex(mut) protection. The other atomic_inc in ucma_get_ctx is OK because mutex(mut) protects it from racing with ucma_destroy_id. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Acked-by: Sean Hefty <sean.hefty@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b8ac3112462900a55a45df8e6098c67a139d8c2d Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Mon Jul 27 14:08:52 2015 +0530 iw_cxgb4: set the default MPA version to 2 This enables ORD/IRD negotiation and its about time to enable it by default Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7854550ae6d89bb90980b9885c7a71e471820bf2 Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 09:13:52 2015 -0500 RDMA/iser: Limit sgs to the device fastreg depth Currently the sg tablesize, which dictates fast register page list depth to use, does not take into account the limits of the rdma device. So adjust it once we discover the device fastreg max depth limit. Also adjust the max_sectors based on the resulting sg tablesize. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d6c7276be180fbd0a30cda8fac5c82d483be47b6 Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Mon Jul 27 14:43:23 2015 -0700 IB/mlx5: Remove dead code from alloc_cached_mr() The only place that assigns mr inside the loop already does a break. So "if (mr)" will never be true here since the function initializes mr to NULL at the top. We can just drop the extra if and break here. Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Acked-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d6f1c17e162b2a11e708f28fa93f2f79c164b442 Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Tue Jul 21 08:36:07 2015 -0400 IB/qib: Change lkey table allocation to support more MRs The lkey table is allocated with with a get_user_pages() with an order based on a number of index bits from a module parameter. The underlying kernel code cannot allocate that many contiguous pages. There is no reason the underlying memory needs to be physically contiguous. This patch: - switches the allocation/deallocation to vmalloc/vfree - caps the number of bits to 23 to insure at least 1 generation bit o this matches the module parameter description Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Vinit Agnihotri <vinit.abhay.agnihotri@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e0238a6a369eaa2e41b2c0321453272fb859f618 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Jul 21 14:40:12 2015 +0300 mlx5: Expose correct page_size_cap in device attributes Should be all the page sizes that are supported by the device. Reported-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a3c874200cbcd95ed914ba84f33f571a0ef7adfa Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Mon Jul 20 19:54:36 2015 +0300 mlx5: Fix missing device local_dma_lkey The mlx5 driver exposes device capability IB_DEVICE_LOCAL_DMA_LKEY but does not set the the device local_dma_lkey. This breaks rpcrdma drivers. Query and set this lkey when creating the device resources. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d6f5aef298b5e5bd12e5d3ef111a4d0fc727ca70 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Aug 28 17:30:46 2015 -0700 Input: max8997_haptic - fix module alias The driver is a platform driver and not a I2C driver so its modalias should be exported with MODULE_DEVICE_TABLE(platform,...) instead of MODULE_DEVICE_TABLE(i2c,...). Also, remove the unnecessary MODULE_ALIAS("platform:max8997-haptic") now that the correct module alias is created. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 742f452b9b60c228a33e8d35fd2c74cd15bdaa29 Author: Benson Leung <bleung@xxxxxxxxxxxx> Date: Fri Aug 28 17:30:16 2015 -0700 Input: elan_i2c - fix typos for validpage_count Search for "vaildpage_count" and replace with "validpage_count". Signed-off-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8bb6944e5aabaf9b7977502667a6981733564f85 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Aug 27 10:17:00 2015 +0100 PM / Domains: Fix typo in description of genpd_dev_pm_detach() The function genpd_dev_pm_detach() detaches a device from a PM domain, however, in the description, the "dev" argument for the function is described as the device to "attach" instead of "detach". Correct this. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ad440bf40e2846966da44e885bb7d8a1f8384fa6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 18 13:38:02 2015 +0200 PM / Domains: Remove unusable governor dummies The governor dummies for the !CONFIG_PM_GENERIC_DOMAINS case are unusable, as a governors is always referred to by taking its address, which you can't do with a literal NULL pointer. I.e. pm_genpd_init(genpd, &simple_qos_governor, false); fails to compile with: error: lvalue required as unary '&' operand Hence just remove the governor dummies. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit be5ed55de011bddbb8ef7b3453edf07a26865beb Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 13 11:51:57 2015 +0530 PM / Domains: Make pm_genpd_init() available to modules Export symbol pm_genpd_init so it can be used in loadable kernel modules Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 15dec67ae3ddb222fe6907db299229906ede8143 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 11 14:50:49 2015 +0200 PM / domains: Align column headers and data in pm_genpd_summary output "domain": header is indented by 4, data by 0 spaces => 0 spaces "/device": header is indented by 11, data by 4 spaces => 4 spaces "slaves": header is indented by 47, data by 49 spaces => 48 spaces Ruler: 1234567890123456789012345678901234567890123456789012345678901234567890 Before: domain status slaves /device runtime status ---------------------------------------------------------------------- a3sp on a2us /devices/platform/e60b0000.i2c suspended After: domain status slaves /device runtime status ---------------------------------------------------------------------- a3sp on a2us /devices/platform/e60b0000.i2c suspended Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5021282cc483d4126c1704942adb74806f7d15d6 Author: Seiichi Ikarashi <s.ikarashi@xxxxxxxxxxxxxx> Date: Wed Aug 19 14:26:03 2015 +0900 powercap / RAPL: disable the 2nd power limit properly Let rapl_unregister_powercap() disable the second power limit only if it exists. Intel64 SDM Vol.3 14.9 says that the package domain has it but neither the power plane domain nor the DRAM domain has it. Signed-off-by: Seiichi Ikarashi <s.ikarashi@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 404c2db635b0e41697eed165b045cb47fd729dd0 Author: Shreyas B. Prabhu <shreyas@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 11:46:00 2015 +0530 tools: cpupower: Fix error when running cpupower monitor get_cpu_topology() tries to get topology info from all cpus by reading files in the topology sysfs dir. If a cpu is offlined, since it doesn't have topology dir, this function fails and returns -1. This causes functions relying on get_cpu_topology() to fail. For example- $ cpupower monitor Cannot read number of available processors Fix this by skipping fetching topology info for offline cpus. Signed-off-by: Shreyas B. Prabhu <shreyas@xxxxxxxxxxxxxxxxxx> Reported-by: Pavaman Subramaniyam <pavsubra@xxxxxxxxxxxxxxxxxx> Acked-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 581a5f2a6111e3d3b22f31a7d93b6bae2627e83a Merge: cc7acad 851345c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 28 16:29:59 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter/IPVS updates for your net-next tree. In sum, patches to address fallout from the previous round plus updates from the IPVS folks via Simon Horman, they are: 1) Add a new scheduler to IPVS: The weighted overflow scheduling algorithm directs network connections to the server with the highest weight that is currently available and overflows to the next when active connections exceed the node's weight. From Raducu Deaconu. 2) Fix locking ordering in IPVS, always take rtnl_lock in first place. Patch from Julian Anastasov. 3) Allow to indicate the MTU to the IPVS in-kernel state sync daemon. From Julian Anastasov. 4) Enhance multicast configuration for the IPVS state sync daemon. Also from Julian. 5) Resolve sparse warnings in the nf_dup modules. 6) Fix a linking problem when CONFIG_NF_DUP_IPV6 is not set. 7) Add ICMP codes 5 and 6 to IPv6 REJECT target, they are more informative subsets of code 1. From Andreas Herz. 8) Revert the jumpstack size calculation from mark_source_chains due to chain depth miscalculations, from Florian Westphal. 9) Calm down more sparse warning around the Netfilter tree, again from Florian Westphal. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc7acad135b7228b56977867afb07d3d54f0cdd3 Merge: c9fd56b 8d3b7dc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 28 16:27:28 2015 -0700 Merge branch 'bpf_trace_printk-percent-s' Alexei Starovoitov says: ==================== support for '%s' in bpf_trace_printk v2->v3: fix the comment to mention that strncpy_from_unsafe() returns the length of the string including the trailing NUL. v1->v2: patch 1: generalize FETCH_FUNC_NAME(memory, string) into strncpy_from_unsafe() patch 2: use it in bpf_trace_printk ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d3b7dce8622919da5c5822ef7338d6604c9fe6e Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Aug 28 15:56:23 2015 -0700 bpf: add support for %s specifier to bpf_trace_printk() %s specifier makes bpf program and kernel debugging easier. To make sure that trace_printk won't crash the unsafe string is copied into stack and unsafe pointer is substituted. The following C program: #include <linux/fs.h> int foo(struct pt_regs *ctx, struct filename *filename) { void *name = 0; bpf_probe_read(&name, sizeof(name), &filename->name); bpf_trace_printk("executed %s\n", name); return 0; } when attached to kprobe do_execve() will produce output in /sys/kernel/debug/tracing/trace_pipe : make-13492 [002] d..1 3250.997277: : executed /bin/sh sh-13493 [004] d..1 3250.998716: : executed /usr/bin/gcc gcc-13494 [002] d..1 3250.999822: : executed /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1 gcc-13495 [002] d..1 3251.006731: : executed /usr/bin/as gcc-13496 [002] d..1 3251.011831: : executed /usr/lib/gcc/x86_64-linux-gnu/4.7/collect2 collect2-13497 [000] d..1 3251.012941: : executed /usr/bin/ld Suggested-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a6877b9c0c2ad901d4335d909432d3bb6d3a330 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Aug 28 15:56:22 2015 -0700 lib: introduce strncpy_from_unsafe() generalize FETCH_FUNC_NAME(memory, string) into strncpy_from_unsafe() and fix sparse warnings that were present in original implementation. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9fd56b34efd06a031cbc918d288f09e38173ff9 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 15:44:25 2015 -0700 netpoll: warn on netpoll_send_udp users who haven't disabled irqs Make sure we catch future netpoll_send_udp users who use it without disabling irqs and also as a hint for poll_controller users. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9de9777d613500b089a7416f936bf3ae5f070d2 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Aug 28 21:01:43 2015 +0200 netfilter: nfnetlink: work around wrong endianess in res_id field The convention in nfnetlink is to use network byte order in every header field as well as in the attribute payload. The initial version of the batching infrastructure assumes that res_id comes in host byte order though. The only client of the batching infrastructure is nf_tables, so let's add a workaround to address this inconsistency. We currently have 11 nfnetlink subsystems according to NFNL_SUBSYS_COUNT, so we can assume that the subsystem 2560, ie. htons(10), will not be allocated anytime soon, so it can be an alias of nf_tables from the nfnetlink batching path when interpreting the res_id field. Based on original patch from Florian Westphal. Reported-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 96be5f2806cd65a2ebced3bfcdf7df0116e6c4a6 Author: Elad Raz <eladr@xxxxxxxxxxxx> Date: Sat Aug 22 08:44:11 2015 +0300 netfilter: ipset: Fixing unnamed union init In continue to proposed Vinson Lee's post [1], this patch fixes compilation issues founded at gcc 4.4.7. The initialization of .cidr field of unnamed unions causes compilation error in gcc 4.4.x. References Visible links [1] https://lkml.org/lkml/2015/7/5/74 Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 55cc051915fd066f46c56ebd60ba486ad11e0e29 Merge: c1b3b19 ef899c0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 28 14:15:25 2015 -0700 Merge branch 'phylib-simplifications' Sergei Shtylyov says: ==================== Some phylib simplifications Here's 2 patches against DaveM's 'net-next.git' repo. We simplify a bogus string of type casts in the 1st patch and make the code respect some coding standards of the networking code in the 2nd one. I may follow with fixing of checkpatch.pl's complaints. if I have time.. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef899c0778a39063816e19d749a688c06a6ac78e Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 21:35:14 2015 +0300 phylib: simplify NULL checks Fix scripts/checkpatch.pl's messages like: CHECK: Comparison to NULL could be written "!phydrv->read_mmd_indirect" BTW, it doesn't detect the reversed comparisons (which I've fixed as well). Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3765f08d6f32f17ac898ec1f19957b322d4157f Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 21:34:34 2015 +0300 phylib: simplify bogus phy_device_create() result Get rid of the bogus string of type casts where ERR_PTR() is enough. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1b3b19923a371c9e099c30372d376b02fe66088 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Aug 28 18:46:39 2015 +0200 net: sched: don't break line in tc_classify loop notification Just some minor noise follow-up to address some stylistic issues of commit 3b3ae880266d ("net: sched: consolidate tc_classify{,_compat}"). Accidentally v1 instead of v2 of that commit got applied, so this patch adds the relative diff. Suggested-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0fbdae127a3968688ff7b474e9164dc4bf30dd5 Author: Shradha Shah <sshah@xxxxxxxxxxxxxx> Date: Fri Aug 28 10:55:42 2015 +0100 sfc: Allow driver to cope with a lower number of VIs than it needs for RSS Previously, the driver would refuse to load if it couldn't secure enough VIs from the MC to fulfill its RSS requirements. This was causing probe to fail on later functions in configurations where we'd run out of VIs, such as having many VFs. This change allows the driver to load with fewer VIs, down to a minimum of 2. A warning will be printed saying that RSS requirements were not met, possibly affecting performance. efx->max_tx_channels needs to be set to avoid going down the failure path in efx_probe_nic() immediately in the loop after the probe() NIC-type function. Also, Set rc=ENOSPC when bombing out of efx_probe_nic due to lack of VIs. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ca678d1dff610f7df6ac9b31fd9152c4426f815 Merge: 2fc32c9 27d868b 91f15fb Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Aug 28 15:53:08 2015 -0500 Merge branches 'pci/enumeration' and 'pci/misc' into next * pci/enumeration: PCI: Set MPS to match upstream bridge PCI: Move MPS configuration check to pci_configure_device() PCI: Drop references acquired by of_parse_phandle() PCI/MSI: Remove unused pcibios_msi_controller() hook ARM/PCI: Remove msi_controller from struct pci_sys_data ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() PCI: Add pci_scan_root_bus_msi() ARM/PCI: Replace panic with WARN messages on failures PCI: generic: Add arm64 support PCI: Build setup-irq.o for arm64 PCI: generic: Remove dependency on ARM-specific struct hw_pci ARM/PCI: Set MPS before pci_bus_add_devices() * pci/misc: PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI commit a69265e9f65a6747c27b01b4030ad85d71aa11ba Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Aug 28 11:17:12 2015 +0530 cxgb4: Force uninitialized state if FW in adapter is unsupported Forcing uninitialized state allows us to upgrade and reinitialize the adapter. FW_VERSION_T4 = 1.4.0.0 FW_VERSION_T5 = 0.0.0.0 FW_VERSION_T6 = 0.0.0.0 At this point driver supports above and greater than above version. If FW in adapter < min FW_VERSION driver supports tries to upgrade the FW If FW in adapter >= FW_VERSION driver supports then it follows normal path Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b72ca67fed39816b732b0cf53a1c7f2efc6400d Merge: 9723e6a ed29266 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 28 13:43:33 2015 -0700 Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge Antonio Quartulli says: ==================== Included changes: - code beautification - remove obsolete 'deleted' attribute for bat-gw node - increase internal version number - prevent potential access to netdev object after deregistration - set needed_head/tail_room for batman virtual interface ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9723e6abc70a472c726d5d5ac6402a2d1bb10882 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Fri Aug 28 10:39:56 2015 +0200 openswitch: fix typo CONFIG_NF_CONNTRACK_LABEL Fix typo in conntrack.c s/CONFIG_NF_CONNTRACK_LABEL/CONFIG_NF_CONNTRACK_LABELS/ Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe55565ef251d486c2c97779512ad22faf57384c Merge: 8f58336 192132b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 28 13:32:37 2015 -0700 Merge branch 'vrf-inetpeer' David Ahern says: ==================== net: Refactor inetpeer cache and add support for VRFs Per Dave's comment on the version 1 patch adding VRF support to inetpeer cache by explicitly making the address + index a key. Refactored the inetpeer code in the process; mostly impacts the use by tcp_metrics. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 192132b9a034d87566294be0fba5f8f75c2cf16b Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 16:07:03 2015 -0700 net: Add support for VRFs to inetpeer cache inetpeer caches based on address only, so duplicate IP addresses within a namespace return the same cached entry. Enhance the ipv4 address key to contain both the IPv4 address and VRF device index. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5345c2e12d41f815c1009c9dee72f3d5fcfd4282 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 16:07:02 2015 -0700 net: Refactor inetpeer address struct Move the inetpeer_addr_base union to inetpeer_addr and drop inetpeer_addr_base. Both the a6 and in6_addr overlays are not needed; drop the __be32 version and rename in6 to a6 for consistency with ipv4. Add a new u32 array to the union which removes the need for the typecast in the compare function and the use of a consistent arg for both ipv4 and ipv6 addresses which makes the compare function more readable. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d39d14ffa24cca9f0e44aa4a63315f4c44c56a93 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 16:07:01 2015 -0700 net: Add helper function to compare inetpeer addresses tcp_metrics and inetpeer both have functions to compare inetpeer addresses. Consolidate into 1 version. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3abef286cf2f138de353fb0b54453621de961043 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 16:07:00 2015 -0700 net: Add set,get helpers for inetpeer addresses Use inetpeer set,get helpers in tcp_metrics rather than peeking into the inetpeer_addr struct. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72afa352d6a3d4da7783b5ddee02b94be49e051a Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 16:06:59 2015 -0700 net: Introduce ipv4_addr_hash and use it for tcp metrics Refactors a common line into helper function. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f58336d3f78aef61c8023c18546155f5fdf3224 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 10:10:50 2015 -0700 net: Add ethernet header for pass through VRF device The change to use a custom dst broke tcpdump captures on the VRF device: $ tcpdump -n -i vrf10 ... 05:32:29.009362 IP 10.2.1.254 > 10.2.1.2: ICMP echo request, id 21989, seq 1, length 64 05:32:29.009855 00:00:40:01:8d:36 > 45:00:00:54:d6:6f, ethertype Unknown (0x0a02), length 84: 0x0000: 0102 0a02 01fe 0000 9181 55e5 0001 bd11 ..........U..... 0x0010: da55 0000 0000 bb5d 0700 0000 0000 1011 .U.....]........ 0x0020: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021 ...............! 0x0030: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031 "#$%&'()*+,-./01 0x0040: 3233 3435 3637 234567 Local packets going through the VRF device are missing an ethernet header. Fix by adding one and then stripping it off before pushing back to the IP stack. With this patch you get the expected dumps: ... 05:36:15.713944 IP 10.2.1.254 > 10.2.1.2: ICMP echo request, id 23795, seq 1, length 64 05:36:15.714160 IP 10.2.1.2 > 10.2.1.254: ICMP echo reply, id 23795, seq 1, length 64 ... Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 274b045509175db0405c784be85e8cce116e6f7d Author: Chas Williams <3chas3@xxxxxxxxx> Date: Thu Aug 27 12:28:46 2015 -0400 net/xen-netfront: only napi_synchronize() if running If an interface isn't running napi_synchronize() will hang forever. [ 392.248403] rmmod R running task 0 359 343 0x00000000 [ 392.257671] ffff88003760fc88 ffff880037193b40 ffff880037193160 ffff88003760fc88 [ 392.267644] ffff880037610000 ffff88003760fcd8 0000000100014c22 ffffffff81f75c40 [ 392.277524] 0000000000bc7010 ffff88003760fca8 ffffffff81796927 ffffffff81f75c40 [ 392.287323] Call Trace: [ 392.291599] [<ffffffff81796927>] schedule+0x37/0x90 [ 392.298553] [<ffffffff8179985b>] schedule_timeout+0x14b/0x280 [ 392.306421] [<ffffffff810f91b9>] ? irq_free_descs+0x69/0x80 [ 392.314006] [<ffffffff811084d0>] ? internal_add_timer+0xb0/0xb0 [ 392.322125] [<ffffffff81109d07>] msleep+0x37/0x50 [ 392.329037] [<ffffffffa00ec79a>] xennet_disconnect_backend.isra.24+0xda/0x390 [xen_netfront] [ 392.339658] [<ffffffffa00ecadc>] xennet_remove+0x2c/0x80 [xen_netfront] [ 392.348516] [<ffffffff81481c69>] xenbus_dev_remove+0x59/0xc0 [ 392.356257] [<ffffffff814e7217>] __device_release_driver+0x87/0x120 [ 392.364645] [<ffffffff814e7cf8>] driver_detach+0xb8/0xc0 [ 392.371989] [<ffffffff814e6e69>] bus_remove_driver+0x59/0xe0 [ 392.379883] [<ffffffff814e84f0>] driver_unregister+0x30/0x70 [ 392.387495] [<ffffffff814814b2>] xenbus_unregister_driver+0x12/0x20 [ 392.395908] [<ffffffffa00ed89b>] netif_exit+0x10/0x775 [xen_netfront] [ 392.404877] [<ffffffff81124e08>] SyS_delete_module+0x1d8/0x230 [ 392.412804] [<ffffffff8179a8ee>] system_call_fastpath+0x12/0x71 Signed-off-by: Chas Williams <3chas3@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df2cf4a78e488d26728590cb3c6b4fe4c4862c77 Author: Philip Downey <pdowney@xxxxxxxxxxx> Date: Thu Aug 27 16:46:26 2015 +0100 IGMP: Inhibit reports for local multicast groups The range of addresses between 224.0.0.0 and 224.0.0.255 inclusive, is reserved for the use of routing protocols and other low-level topology discovery or maintenance protocols, such as gateway discovery and group membership reporting. Multicast routers should not forward any multicast datagram with destination addresses in this range, regardless of its TTL. Currently, IGMP reports are generated for this reserved range of addresses even though a router will ignore this information since it has no purpose. However, the presence of reserved group addresses in an IGMP membership report uses up network bandwidth and can also obscure addresses of interest when inspecting membership reports using packet inspection or debug messages. Although the RFCs for the various version of IGMP (e.g.RFC 3376 for v3) do not specify that the reserved addresses be excluded from membership reports, it should do no harm in doing so. In particular there should be no adverse effect in any IGMP snooping functionality since 224.0.0.x is specifically excluded as per RFC 4541 (IGMP and MLD Snooping Switches Considerations) section 2.1.2. Data Forwarding Rules: 2) Packets with a destination IP (DIP) address in the 224.0.0.X range which are not IGMP must be forwarded on all ports. IGMP reports for local multicast groups can now be optionally inhibited by means of a system control variable (by setting the value to zero) e.g.: echo 0 > /proc/sys/net/ipv4/igmp_link_local_mcast_reports To retain backwards compatibility the previous behaviour is retained by default on system boot or reverted by setting the value back to non-zero e.g.: echo 1 > /proc/sys/net/ipv4/igmp_link_local_mcast_reports Signed-off-by: Philip Downey <pdowney@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7d2d89d4b0afa8f4c2b169475a0c6e43553c146 Author: Corinna Vinschen <vinschen@xxxxxxxxxx> Date: Thu Aug 27 17:11:48 2015 +0200 r8169: Add software counter for multicast packages The multicast hardware counter on 8168/8111 chips is only 32 bit while the statistics in struct rtnl_link_stats64 are 64 bit. Given that statistics are requested on an irregular basis, an overflow of the hardware counter can go unnoticed. To count even very large numbers of multicast packets reliably, add a software counter and remove previously applied code to fill the multicast field requested by @rtl8169_get_stats64 with the values read from the rx_multicast hardware counter. Signed-off-by: Corinna Vinschen <vinschen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 710105fda7a7f350c9fb22e7f61f74c3dc0fe514 Author: Hannes Reinecke <hare@xxxxxxx> Date: Thu Aug 27 14:17:02 2015 +0200 scsi_dh: return SCSI_DH_NOTCONN in scsi_dh_activate() When calling scsi_dh_activate() we should be returning SCSI_DH_NOTCONN if the device handler couldn't be attached. Reviewed-by: Bart van Assche <bart.vanassche@xxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d44227749500d8b88a1c079bc04f69187eaf8747 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:17:01 2015 +0200 scsi_dh: don't allow to detach device handlers at runtime The I/O submission and completion paths call into the device handler without any synchronization agains detachment. So disallow detaching device handlers at runtime. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e959ed9a44c5239863ca6db42cb37130bee3c7a3 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:17:00 2015 +0200 scsi_dh: add a common helper to get a scsi_device from a request_queue And cleanup the various messy opencoded versions of this. Note that this moves the sdev_state checks outside the queue_lock coverage, but as we don't hold the lock over the activation they are only advisory anyway. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ee14c674e8fc57251223054fb52dc0ecfe711028 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:59 2015 +0200 scsi_dh: kill struct scsi_dh_data Add a ->handler and a ->handler_data field to struct scsi_device and kill this indirection. Also move struct scsi_device_handler to scsi_dh.h so that changes to it don't require rebuilding every SCSI LLDD. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d95dbff2a41e934cd8789734b34dc591e78ba11c Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:58 2015 +0200 scsi_dh: move device matching to the core code Add a single list of devices that need non-ALUA device handlers to the core scsi_dh code so that we can autoload the modules for them at probe time. While this is a little ugly in terms of architecture it actually significantly simplifies the code in addition to the new autoloading functionality. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 086b91d052ebe4ead5d28021afe3bdfd70af15bf Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:57 2015 +0200 scsi_dh: integrate into the core SCSI code Stop building scsi_dh as a separate module and integrate it fully into the core SCSI code with explicit callouts at bus scan time. For now the callouts are placed at the same point as the old bus notifiers were called, but in the future we will be able to look at ALUA INQUIRY data earlier on. Note that this also means that the device handler modules need to be loaded by the time we scan the bus. The next patches will add support for autoloading device handlers at bus scan time to make sure they are always loaded if they are enabled in the kernel config. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit daaa858b7a6bb497f11c2aae555053b9c047824b Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:56 2015 +0200 scsi_dh: move to drivers/scsi Prepare for building scsi_dh.c into the core SCSI module by moving it to drivers/scsi. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 566079c849cfe538e908c44ac11a9c4638db8f91 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:55 2015 +0200 dm-mpath, scsi_dh: request scsi_dh modules in scsi_dh, not dm-mpath This way we can reused the same code any attachment method, not just those requested from dm-mpath. [jejb: fixup checkpatch error] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1bab0de0274fbe8c8ac92179e6705584c55ed169 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:54 2015 +0200 dm-mpath, scsi_dh: don't let dm detach device handlers While allowing dm-mpath to attach device handlers is a functionality we need for backwards compatibility reason there is no reason to reference count them and detach them if dm-mpath stops using the device for some reason. If the device handler works for the given device it can just stay attached, and we can take the retain_hw_handler codepath. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 36dd5acd196574d41de3e81d8264df475bbb7123 Author: Hannes Reinecke <hare@xxxxxxx> Date: Mon Jul 6 13:07:58 2015 +0200 aic94xx: Skip reading user settings if flash is not found If no user settings are found it's pointless trying to read them from flash. So skip that step. This also fixes a compilation warning about uninitialized variables in aic94xx. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e35d7f27fbd51a09a41a5439e39f22a3d102c00b Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 11:47:06 2015 -0300 ipr: Enable SIS pipe commands for SIS-32 devices. Remove unnecessary check that disabled SIS pipe commands for SIS-32 devices. This change was sufficient to enable raw mode and send SIS pipe commands for a 57B3 device. Fixes: f8ee25d7d239 ("ipr: AF DASD raw mode implementation in ipr driver") Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3cb4fc1fcae9647c594bc2b8fda1b818f4fb757f Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 11:47:05 2015 -0300 ipr: Inhibit underlength data check for AFDASD in raw mode. Disable underlength error verification based on count of bytes actually transferred for AF DASD devices when SIS pipe mode is enabled. This avoids unexpected underlength errors when issuing some commands in raw mode. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 917522aae169ad02010dcee6ae42c16155bcd285 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Fri Aug 28 15:44:00 2015 +0200 Bluetooth: hci_bcm: Fix crash on suspend If bcm_suspend is called whithout device opened there is a crash as it tries to use bdev->hu which is NULL. Rename bcm_device_list_lock to bcm_device_lock as it does not only apply to bcm_device_list. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6e7a3840745c950c37d37cbb0af2e753a765d4ec Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Thu Aug 27 13:46:09 2015 +0800 drm/amdgpu: use IB for fill_buffer instead of direct command Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8f8202f771c182a7244caa5880f50def1bedd713 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu May 7 15:19:25 2015 +0200 drm/amdgpu: stop trying to suspend UVD sessions v2 Saving the current UVD state on suspend and restoring it on resume just doesn't work reliable. Just close cleanup all sessions on suspend. Ported from radeon commit "12e49feadff6d7b7ebbe852b36943a71524d8d34". v2: rebased Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v1) commit e61235db62c5e68e56e59bea62b88f9f3d7a3cf5 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 25 11:05:36 2015 +0200 drm/amdgpu: add scheduler dependency callback v2 This way the scheduler doesn't wait in it's work thread any more. v2: fix race conditions Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 69bd5bf13a8eccb4db5f26de608556416a56d973 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 26 11:31:23 2015 +0200 drm/amdgpu: let the scheduler work more with jobs v2 v2: fix another race condition Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 86b7709d48f0df8796bddd7e1ce45c6fb7a7c6ec Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Aug 27 09:52:22 2015 -0400 drm/radeon: fix HDMI quantization_range for pre-DCE5 asics Support for output_csc is only available on DCE5 and newer so don't mess with the HDMI quantization_range on pre-DCE5 asics. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83226 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 851345c5bbb4644911f7c351c042559a71f57d19 Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Aug 28 00:16:21 2015 +0200 netfilter: reduce sparse warnings bridge/netfilter/ebtables.c:290:26: warning: incorrect type in assignment (different modifiers) -> remove __pure annotation. ipv6/netfilter/ip6t_SYNPROXY.c:240:27: warning: cast from restricted __be16 -> switch ntohs to htons and vice versa. netfilter/core.c:391:30: warning: symbol 'nfq_ct_nat_hook' was not declared. Should it be static? -> delete it, got removed net/netfilter/nf_synproxy_core.c:221:48: warning: cast to restricted __be32 -> Use __be32 instead of u32. Tested with objdiff that these changes do not affect generated code. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 98dbbfc3f1a555194e784304d930d2aafde3e2a3 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Aug 26 23:20:51 2015 +0200 Revert "netfilter: xtables: compute exact size needed for jumpstack" This reverts commit 98d1bd802cdbc8f56868fae51edec13e86b59515. mark_source_chains will not re-visit chains, so *filter :INPUT ACCEPT [365:25776] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [217:45832] :t1 - [0:0] :t2 - [0:0] :t3 - [0:0] :t4 - [0:0] -A t1 -i lo -j t2 -A t2 -i lo -j t3 -A t3 -i lo -j t4 # -A INPUT -j t4 # -A INPUT -j t3 # -A INPUT -j t2 -A INPUT -j t1 COMMIT Will compute a chain depth of 2 if the comments are removed. Revert back to counting the number of chains for the time being. Reported-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Reported-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 618353b1f34947b3a399d6f51934f10df40e42ff Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Fri Aug 28 13:05:22 2015 +0100 Bluetooth: Fix SCO link type handling on connection complete Synchronous connections are initially created with type eSCO. Link manager may reject proposed link parameters, which triggers connection setup retry with a different set. Link type embedded in responses should be disregarded until Synchronous Connect Complete returns Success (0x00). Current code updates link type every time which creates an issue when link type changes to SCO and back to eSCO on further attepts. Issue happens with BlackBerry 9100 and 9700 with Intel WilkinsPeak on third connection setup attept 2015-05-18 01:27:57.332242 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17 handle 256 voice setting 0x0060 ptype 0x0380 2015-05-18 01:27:57.333604 > HCI Event: Command Status (0x0f) plen 4 Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1 2015-05-18 01:27:57.334614 > HCI Event: Synchronous Connect Complete (0x2c) plen 17 status 0x1a handle 0 bdaddr 30:7C:30:B3:A8:86 type SCO Error: Unsupported Remote Feature / Unsupported LMP Feature 2015-05-18 01:27:57.334895 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17 handle 256 voice setting 0x0060 ptype 0x0380 2015-05-18 01:27:57.335601 > HCI Event: Command Status (0x0f) plen 4 Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1 2015-05-18 01:27:57.336610 > HCI Event: Synchronous Connect Complete (0x2c) plen 17 status 0x1a handle 0 bdaddr 30:7C:30:B3:A8:86 type SCO Error: Unsupported Remote Feature / Unsupported LMP Feature 2015-05-18 01:27:57.336685 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17 handle 256 voice setting 0x0060 ptype 0x03c8 2015-05-18 01:27:57.337603 > HCI Event: Command Status (0x0f) plen 4 Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1 2015-05-18 01:27:57.342608 > HCI Event: Max Slots Change (0x1b) plen 3 handle 256 slots 1 2015-05-18 01:27:57.377631 > HCI Event: Synchronous Connect Complete (0x2c) plen 17 status 0x00 handle 257 bdaddr 30:7C:30:B3:A8:86 type eSCO Air mode: CVSD Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5e7fec290e41462af28626f8089d08cd4c4aaeab Merge: b29083c 7a7184b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 12:02:51 2015 -0700 Merge branch 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata fixlet from Tejun Heo: "Simple blacklist entry addition" * 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: Add factory recertified Crucial M500s to blacklist commit 1ab1f239bf17e91b183a0f18fbb22722ff16d164 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Thu Aug 27 07:21:51 2015 +0200 Bluetooth: hci_intel: Add support for platform driver A platform device can be used to provide some specific resources in order to manage the controller. In this first patch we retrieve the reset gpio which is used to power on/off the controller. The main issue is to match the current tty with the correct pdev. In case of ACPI, we can easily find the right tty/pdev pair because they are both child of the same UART port. If controller is powered-on from the driver, we need to wait for a HCI boot event before being able to send any command. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0ed97e829458496cc41ff8c39eb330d5a2247191 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Aug 27 08:57:39 2015 +0200 Bluetooth: btintel: Add MODULE_FIRMWARE entries for iBT 3.0 controllers The iBT 3.0 controllers need intel/ibt-11-5.sfi and intel/ibt-11-5.ddc firmware files from linux-firmware repository. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5075edae086ff1c09e66699b7a27e1589ca75a3f Author: Minjune Kim <infinite.minjune.kim@xxxxxxxxx> Date: Thu Aug 27 13:21:52 2015 +0900 Bluetooth: btusb: Correct typos based on checkpatch.pl Signed-off-by: Minjune Kim <infinite.minjune.kim@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ff2895592f0fccc59332d5c7d4917ccbecd7468e Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Tue Aug 25 17:55:44 2015 +0200 Bluetooth: hci_intel: Add Intel baudrate configuration support Implement the set_baudrate callback for hci_intel. - Controller requires a read Intel version command before updating its baudrate. - The operation consists in an async cmd since the controller does not respond at the same speed. - Wait 100ms to let the controller change its baudrate. - Clear RTS until we change our own UART speed Manage speed change in the setup function, we need to restore the oper speed once chip has booted on patched firmware. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e54991677e1c8060ba5642472cbd9a0954298d01 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Mon Aug 24 18:57:57 2015 +0200 Bluetooth: hci_uart: Fix zero len data packet reception issue Packets with a variable length value equal to zero were not received. Since no more data expected (and input buffer entirely consumed), we need to complete/forward the packet immediately instead of waiting for more data. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4e1795de10903ae561872c54a72fa1bcf78f49cd Author: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Date: Thu Aug 20 12:09:47 2015 +0200 nl802154: stricter input checking for boolean inputs So far we handled boolean input by forcing them with !! and assigning them into a bool. This allowed userspace to send values > 1 which were used as 1. We should be stricter here and return -EINVAL for all but 0 or 1. Signed-off-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit df945360ce07ca592464e44fdd2ce61ee1536e1e Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Tue Aug 18 21:23:01 2015 -0400 Bluetooth: Make the function sco_conn_del have a return type of void This makes the function sco_conn_del have a return type of void now due to this function always running successfully and thus never needing to signal its caller when a non recoverable internal failure occurs by returning a error code to its respective caller. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d4902632ffe5d6958bd267a6712575e3a312a6e2 Author: Shengzhen Li <szli@xxxxxxxxxxx> Date: Wed Aug 19 03:12:19 2015 -0700 Bluetooth: btmrvl: change device pointer passed to dev_coredumpv This change ensures we will get driver name as 'btmrvl_sdio' in udev event. Signed-off-by: Shengzhen Li <szli@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5397df15fd993acd23d9590dbb29d39219d80e3d Author: Jiri Kosina <jkosina@xxxxxxx> Date: Fri Aug 28 20:46:42 2015 +0200 HID: wacom: wacom_setup_numbered_buttons is local to wacom_wac wacom_setup_numbered_buttons() is not used outside of wacom_wac.c, make it static. Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 72b236d60218fe211a8e1210be31c31e81684b86 Author: Aaron Skomra <skomra@xxxxxxxxx> Date: Thu Aug 20 16:05:17 2015 -0700 HID: wacom: Add support for Express Key Remote. This device is pad (buttons) only, there is no stylus or touch. Up to five remotes can pair with the device's associated USB dongle. Signed-off-by: Aaron Skomra <aaron.skomra@xxxxxxxxx> Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 70ee06c5f447b9d50747b29d3e8d48ae7ef1cabe Author: Aaron Skomra <skomra@xxxxxxxxx> Date: Thu Aug 20 16:05:16 2015 -0700 HID: wacom: Set button bits based on a new numbered_buttons Prior to this commit, numbered button bit setting was done separately for each device type in wacom_setup_pad_capabilities(). Here we add a numbered_buttons property to the wacom_features struct and extract the repeated bit setting code to a new function: wacom_settup_numbered_buttons(). Signed-off-by: Aaron Skomra <aaron.skomra@xxxxxxxxx> Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b29083c5e52481e8ce6ce0007590f7a1f405018b Merge: 4941b8f c7cd0ef Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 11:42:00 2015 -0700 Merge tag 'sound-fix-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Here are stable fixes that have been gathered since rc8: fixes for HD-audio widget power control regressions since 4.1, a NULL fix for HD-audio HDMI, a noise fix for Conexant codecs and a quirk addition for USB-Audio DSD" * tag 'sound-fix-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Fix path power activation ALSA: hda - Check all inputs for is_active_nid_for_any() ALSA: hda: fix possible NULL dereference ALSA: hda - Shutdown CX20722 on reboot/free to avoid spurious noises ALSA: usb: Add native DSD support for Gustard DAC-X20U commit 628b3198ccc235e387c0b8ee200c10c883e86644 Author: Michael Powell <michael_powell@xxxxxxxxxx> Date: Sun Aug 2 22:59:29 2015 +0000 acer-wmi: No rfkill on HP Omen 15 wifi Prevents acer-wmi from blocking wifi on HP Omen 15 laptops Signed-off-by: Michael Powell <michael_powell@xxxxxxxxxx> [david.ward@xxxxxxxxxx: Resubmitted clean patch] Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 628536ea0627e71da654bd34b1942c85832dbdba Author: Jonathan Corbet <corbet@xxxxxxx> Date: Tue Aug 25 01:14:48 2015 -0600 ASoC: Clean up docbook warnings A number of functions and structures in the sound subsystem had incomplete and/or obsolete DocBook comments, leading to warnings when the docs were built. Correct those comments so that we can enjoy our audio in the absence of warning noise. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2c07144dfce366e21465cc7b0ada9f0b6dc7b7ed Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Aug 28 05:48:05 2015 -0400 perf evlist: Add backpointer for perf_env to evlist Add backpointer to perf_env in evlist, so we can easily access env when processing something where we have a evsel or evlist. Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440755289-30939-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ce80d3bef9ff97638ca57a5659ef6ad356f35047 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Aug 28 05:48:04 2015 -0400 perf tools: Rename perf_session_env to perf_env As it is not necessarily tied to a perf.data file and needs using in places where a perf_session is not required. Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440755289-30939-4-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9f30fffc78ca35c862f74f34cc597c7fdddc8793 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Aug 26 15:46:45 2015 +0200 perf tools: Do not change lib/api/fs/debugfs directly The tracing_events_path is the variable we want to change via --debugfs-dir option, not the debugfs_mountpoint. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1440596813-12844-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9f44f0cc1c32f1542071447a9493652bbc03facb Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Aug 26 15:46:44 2015 +0200 perf tools: Add tracing_path and remove unneeded functions There's no need for find_tracing_dir, because perf already searches for debugfs/tracefs mount on start and populate tracing_events_path. Adding tracing_path to carry tracing dir string to be used in get_tracing_file instead of calling find_tracing_dir. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1440596813-12844-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0b5a7935f3b5b7d40293b02c3e552f3d67af208b Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Sat Aug 15 20:42:59 2015 +0900 perf buildid: Introduce sysfs/filename__sprintf_build_id Introduce sysfs/filename__sprintf_build_id for consolidating similar code. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150815114259.13642.34685.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d49e4695077278ee3016cd242967de23072ec331 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Aug 27 08:07:40 2015 -0400 perf evsel: Add a backpointer to the evlist a evsel is in So that functions that deal primarily with an evsel to access information that concerns the whole evlist it is in. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440677263-21954-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a598bb5e3558509cbb8aa1d422071ef61fda9d77 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Aug 28 12:02:37 2015 -0300 perf trace: Add header with copyright and background info Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-5yqtfs728r1j1u8zmg8ufxwm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 84e5d89a777cca26cc513264752b439874702dd6 Author: Tony Jones <tonyj@xxxxxxxx> Date: Mon Aug 17 12:48:52 2015 -0700 perf scripts python: Add new compaction-times script This patch creates a new script (compaction-times) to report time spent in mm compaction. It is possible to report times in nanoseconds (default) or microseconds (-u). The option -p will break down results by process id, -pv will further decompose by each compaction entry/exit. For each compaction entry/exit what is reported is controlled by the options: -t report only timing -m report migration stats -ms report migration scanner stats -fs report free scanner stats The default is to report all. Entries may be further filtered by pid, pid-range or comm (regex). The script is useful when analysing workloads that compact memory. The most common example will be THP allocations on systems with a lot of uptime that has fragmented memory. This is an example of using the script to analyse a thpscale from mmtests which deliberately fragments memory and allocates THP in 4 separate threads # Recording step, one of the following; $ perf record -e 'compaction:mm_compaction_*' ./workload # or: $ perf script record compaction-times # Reporting: basic total: 2444505743ns migration: moved=357738 failed=39275 free_scanner: scanned=2705578 isolated=387875 migration_scanner: scanned=414426 isolated=397013 # Reporting: Per task stall times $ perf script report compaction-times -- -t -p total: 2444505743ns 6384[thpscale]: 740800017ns 6385[thpscale]: 274119512ns 6386[thpscale]: 832961337ns 6383[thpscale]: 596624877ns # Reporting: Per-compaction attempts for task 6385 $ perf script report compaction-times -- -m -pv 6385 total: 274119512ns migration: moved=14893 failed=24285 6385[thpscale]: 274119512ns migration: moved=14893 failed=24285 6385[thpscale].1: 3033277ns migration: moved=511 failed=1 6385[thpscale].2: 9592094ns migration: moved=1524 failed=12 6385[thpscale].3: 2495587ns migration: moved=512 failed=0 6385[thpscale].4: 2561766ns migration: moved=512 failed=0 6385[thpscale].5: 2523521ns migration: moved=512 failed=0 ..... output continues ... Changes since v1: - report stats for isolate_migratepages and isolate_freepages (Vlastimil Babka) - refactor code to achieve above - add help text - output to stdout/stderr explicitly Signed-off-by: Tony Jones <tonyj@xxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Link: http://lkml.kernel.org/r/1439840932-8933-1-git-send-email-tonyj@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit efd85cf86a56898686187397adfd52dfac79aff2 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Aug 26 11:13:38 2015 -0700 thinkpad_acpi: Remove side effects from vdbg_printk -> no_printk macro vdbg_printk when not using CONFIG_THINKPAD_ACPI_DEBUG uses no_printk which produces no logging output but always evaluates arguments. Change the macro to surround the no_printk call with do { if (0) no_printk(...); } while (0) to avoid the unnecessary argument evaluations. $ size drivers/platform/x86/thinkpad_acpi.o* text data bss dec hex filename 60918 6184 824 67926 10956 drivers/platform/x86/thinkpad_acpi.o.new 60927 6184 824 67935 1095f drivers/platform/x86/thinkpad_acpi.o.old Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 099982fac0f3e884ed4af2178d4dcded69e0042e Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Aug 28 16:22:18 2015 +0530 regulator: core: use debug level print in regulator_check_drms When calling regulator_set_load, regulator_check_drms prints and returns an error if the regulator device's flag REGULATOR_CHANGE_DRMS isn't set. drms_uA_update, however, bails out without reporting an error. Replace the error print with a debug level print so that we don't get such prints when the underlying regulator doesn't support DRMS. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 39d9b85a4d4fa1642663ca0d208b5c246a3d6f50 Author: Gary Wang <gary.c.wang@xxxxxxxxx> Date: Fri Aug 28 16:40:34 2015 +0800 drm/i915: set CDCLK if DPLL0 enabled during resuming from S3 Since BIOS RC 1.4 it would enable CDCLK PLL during BIOS S3 resume, then driver needs to set CDCLK to avoid display corruption if DPLL0 enabled. References: https://bugs.freedesktop.org/show_bug.cgi?id=91697 Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Cooper Chiou <cooper.chiou@xxxxxxxxx> Reviewed-by: Wei Shun Chang <wei.shun.chang@xxxxxxxxx> Tested-by: Gary Wang <gary.c.wang@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Gavin Hindman <gavin.hindman@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Xiong Y Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Gary Wang <gary.c.wang@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit bf9628373418328daf67b6508fc3713fc6f5067d Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Thu Aug 27 17:49:29 2015 +0530 spi: Add DT bindings documentation for Netlogic XLP SPI controller Add DT bindings documentation for SPI controller driver used by Netlogic XLP MIPS64 SoCs. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d8c80d49cfa08b83841a3e315fa13dd310bec006 Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Thu Aug 27 17:49:28 2015 +0530 spi/xlp: SPI controller driver for Netlogic XLP SoCs Add SPI Master controller driver for the SPI interface on XLP8XX, XLP3XX, XLP2XX, XLP9XX and XLP5XX family of Netlogic XLP MIPS64 processors. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e9abb4db8d108624c293f06dce06b2978e626a13 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Aug 26 21:21:55 2015 +0200 spi: fsl-espi: add runtime PM Add runtime PM and use autosuspend instead of suspending the SPI controller after each transfer. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3c5395b66ff69d8d568d0b9ff8b1077e044def5b Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Aug 26 21:21:53 2015 +0200 spi: fsl-(e)spi: simplify cleanup code Now that most cleanup is done automatically the remove functions can be significantly simplified. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4178b6b1b595003cd6e04711b449797a582e44f5 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Aug 26 21:21:50 2015 +0200 spi: fsl-(e)spi: migrate to using devm_ functions to simplify cleanup Migrate fsl-espi and fsl-spi to using the managed devm_ functions for resource handling. This simplifies the cleanup. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54d71856428961124be26301b7997f2ad23be520 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Aug 28 18:18:57 2015 +0800 f2fs: avoid accessing NULL pointer in f2fs_drop_largest_extent If extent cache is disable, we will encounter oops when triggering direct IO as below: BUG: unable to handle kernel NULL pointer dereference at 0000000c IP: [<f0b9c61e>] f2fs_drop_largest_extent+0xe/0x30 [f2fs] *pdpt = 000000002bb9a001 *pde = 0000000000000000 Oops: 0000 [#1] SMP Modules linked in: f2fs(O) fuse bnep rfcomm bluetooth nfsd dm_crypt nfs_acl auth_rpcgss oid_registry nfs binfmt_misc fscache lockd sunrpc grace snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd soundcore joydev psmouse hid_generic i2c_piix4 serio_raw ppdev mac_hid parport_pc lp parport ext4 jbd2 mbcache usbhid hid e1000 CPU: 3 PID: 3608 Comm: dd Tainted: G O 4.2.0-rc4 #12 Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 task: ef161600 ti: ebd5e000 task.ti: ebd5e000 EIP: 0060:[<f0b9c61e>] EFLAGS: 00010202 CPU: 3 EIP is at f2fs_drop_largest_extent+0xe/0x30 [f2fs] EAX: 00000000 EBX: ddebc000 ECX: 00000000 EDX: 00000000 ESI: ebd5fdf8 EDI: 00000000 EBP: ebd5fd58 ESP: ebd5fd58 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 80050033 CR2: 0000000c CR3: 2c24ee40 CR4: 000006f0 Stack: ebd5fda4 f0b8c005 00000000 00000001 00000000 f0b8c430 c816cd68 ddebc000 ddebc088 00001000 00000555 00000555 ffffffff c160bb00 00055501 00000000 00000000 00000100 00000000 ebd5fe20 f0b8c430 00000046 ef161600 00001000 Call Trace: [<f0b8c005>] __allocate_data_block+0x1a5/0x260 [f2fs] [<f0b8c430>] ? f2fs_direct_IO+0x370/0x440 [f2fs] [<c160bb00>] ? down_read+0x30/0x50 [<f0b8c430>] f2fs_direct_IO+0x370/0x440 [f2fs] [<c113e115>] generic_file_direct_write+0xa5/0x260 [<c10b53f8>] ? current_fs_time+0x18/0x50 [<c113e38b>] __generic_file_write_iter+0xbb/0x210 [<c113e50f>] ? generic_file_write_iter+0x2f/0x320 [<c113e63c>] generic_file_write_iter+0x15c/0x320 [<f0b77f29>] f2fs_file_write_iter+0x39/0x80 [f2fs] [<c11984d9>] __vfs_write+0xa9/0xe0 [<c1199227>] vfs_write+0x97/0x180 [<c119955b>] SyS_write+0x5b/0xd0 [<c160dcd0>] sysenter_do_call+0x12/0x12 Code: 10 8b 50 1c 89 53 14 eb ca 8d 74 26 00 85 f6 74 86 eb a6 0f 0b 90 8d b4 26 00 00 00 00 55 89 e5 3e 8d 74 26 00 8b 80 d4 02 00 00 <8b> 48 0c 39 d1 77 0e 03 48 14 39 ca 73 07 c7 40 14 00 00 00 00 EIP: [<f0b9c61e>] f2fs_drop_largest_extent+0xe/0x30 [f2fs] SS:ESP 0068:ebd5fd58 CR2: 000000000000000c ---[ end trace a38c07026a1afffd ]--- This is because when extent cache is disable, extent_tree pointer in struct f2fs_inode_info should be NULL, but in f2fs_drop_largest_extent we access this NULL pointer directly without checking state of extent cache, then, the oops occurs. Let's fix it by checking state of extent cache before accessing. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 95e3c2305b79e9c0e5f2cb0090efca397249b51f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 27 09:14:50 2015 +0800 ASoC: txx9: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 637c4497bbf0c9a4e00d6be2731bd560bf609f6b Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 27 09:13:46 2015 +0800 ASoC: pxa: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d5f1117ff60d1e314b15e3a85b7705db3421d7d4 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 27 09:12:17 2015 +0800 ASoC: nuc900: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c4d2ab0d59f53a1534e6817b5dbd28719f667c39 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 27 09:11:13 2015 +0800 ASoC: blackfin: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit edd98a1a2d163cef6d91226bf42ca002ced6ff16 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 27 09:09:29 2015 +0800 ASoC: au1x: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6fe7ccfd77415a6ba250c10c580eb3f9acf79753 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Tue Aug 25 11:17:51 2015 +0200 netfilter: ipset: Out of bound access in hash:net* types fixed Dave Jones reported that KASan detected out of bounds access in hash:net* types: [ 23.139532] ================================================================== [ 23.146130] BUG: KASan: out of bounds access in hash_net4_add_cidr+0x1db/0x220 at addr ffff8800d4844b58 [ 23.152937] Write of size 4 by task ipset/457 [ 23.159742] ============================================================================= [ 23.166672] BUG kmalloc-512 (Not tainted): kasan: bad access detected [ 23.173641] ----------------------------------------------------------------------------- [ 23.194668] INFO: Allocated in hash_net_create+0x16a/0x470 age=7 cpu=1 pid=456 [ 23.201836] __slab_alloc.constprop.66+0x554/0x620 [ 23.208994] __kmalloc+0x2f2/0x360 [ 23.216105] hash_net_create+0x16a/0x470 [ 23.223238] ip_set_create+0x3e6/0x740 [ 23.230343] nfnetlink_rcv_msg+0x599/0x640 [ 23.237454] netlink_rcv_skb+0x14f/0x190 [ 23.244533] nfnetlink_rcv+0x3f6/0x790 [ 23.251579] netlink_unicast+0x272/0x390 [ 23.258573] netlink_sendmsg+0x5a1/0xa50 [ 23.265485] SYSC_sendto+0x1da/0x2c0 [ 23.272364] SyS_sendto+0xe/0x10 [ 23.279168] entry_SYSCALL_64_fastpath+0x12/0x6f The bug is fixed in the patch and the testsuite is extended in ipset to check cidr handling more thoroughly. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 618718dc56a49321a12f231b34f6c43f44c3c374 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 28 10:53:31 2015 +0800 ASoC: qcom: Constify asoc_qcom_lpass_cpu_dai_ops asoc_qcom_lpass_cpu_dai_ops is exported and used by multiple drivers, make it const to prevent modifying it at run time. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 92eca20bbeaa4ec1908bad8aeefcaa2d98e302ff Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 28 10:50:53 2015 +0800 ASoC: sh: ssi: Convert to devm_snd_soc_register_component Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2cf32b7b338086e9b85bb9fdd8aa398e89d83e9e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 28 10:49:44 2015 +0800 ASoC: pxa2xx-i2s: Convert to devm_snd_soc_register_component Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 637ce53a1b1c489ff0e92aa00b8376464f697dc5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 28 10:48:35 2015 +0800 ASoC: pxa-ssp: Convert to devm_snd_soc_register_component Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b37bfdaac914f4886b8be803703b12177eb873f6 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Fri Aug 28 12:11:48 2015 +0200 ASoC: ics43432: Fix build errors Fix build errors Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2f38bc8829b83aed3e2c5e6d43a430d39f1b0e1d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 28 11:23:05 2015 +0800 ASoC: ics43432: Fix module license Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 11d932416ecada27ca7576dca7e74e23477df7ef Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Aug 28 10:04:03 2015 +0800 ASoC: ics43432: fix platform_no_drv_owner.cocci warnings sound/soc/codecs/ics43432.c:66:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5bbb9f753afe213aebc8dba30c7e2dbb73616b79 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 11:53:30 2015 +0200 scripts: add stackdelta script This adds a simple perl script for reading two files as produced by the stackusage script and computing the changes in stack usage. For example: $ scripts/stackusage -o /tmp/old.su CC=gcc-4.7 -j8 fs/ext4/ $ scripts/stackusage -o /tmp/new.su CC=gcc-5.0 -j8 fs/ext4/ $ scripts/stackdelta /tmp/{old,new}.su | sort -k5,5g shows that gcc 5.0 generally produces less stack-hungry code than gcc 4.7. Obviously, the script can also be used for measuring the effect of commits, .config tweaks or whatnot. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit d523b255de60880304038006de5f93f2db612ad6 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 11:53:29 2015 +0200 kbuild: remove *.su files generated by -fstack-usage Make sure 'make clean' removes *.su files generated by the gcc option -fstack-usage. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit e25572878a70d9cd84020f577b7c45583b9d42ae Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 11:53:28 2015 +0200 .gitignore: add *.su pattern Ignore the *.su files generated by using the gcc option -fstack-usage. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 56d4a3814690a62a3fd9724844e23ea152ce938c Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 11:53:27 2015 +0200 scripts: add stackusage script The current checkstack.pl script has a few problems, stemming from the overly simplistic attempt at parsing objdump output with regular expressions: For example, on x86_64 it doesn't take the push instruction into account, making it consistently underestimate the real stack use, and it also doesn't capture stack pointer adjustments of exactly 128 bytes [1]. Since newer gcc (>= 4.6) knows about -fstack-usage, we might as well take the information straight from the horse's mouth. This patch introduces scripts/stackusage, which is a simple wrapper for running make with KCFLAGS set to -fstack-usage. Example use is scripts/stackusage -o out.su -j8 lib/ The script understands "-o foo" for writing to 'foo' and -h for a trivial help text; anything else is passed to make. Afterwards, we find all newly created .su files, massage them a little, sort by stack use and write the result to a single output file. Note that the function names printed by (at least) gcc 4.7 are sometimes useless. For example, the first three lines of out.su generated above are ./lib/decompress_bunzip2.c:155 get_next_block 448 static ./lib/decompress_unlzma.c:537 unlzma 336 static ./lib/vsprintf.c:616 8 304 static That function '8' is really the static symbol_string(), but it has been subject to 'interprocedural scalar replacement of aggregates', so its name in the object file is 'symbol_string.isra.8'. gcc 5.0 doesn't have this problem; it uses the full name as seen in the object file. [1] Since gcc encodes that by 48 83 c4 80 add $0xffffffffffffff80,%rsp and not 48 81 ec 80 00 00 00 sub $0x80,%rsp since -128 fits in an imm8. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 601083cffb7cabdcc55b8195d732f0f7028570fa Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Jul 2 03:08:43 2015 -0400 perf stat: Get correct cpu id for print_aggr print_aggr() fails to print per-core/per-socket statistics after commit 582ec0829b3d ("perf stat: Fix per-socket output bug for uncore events") if events have differnt cpus. Because in print_aggr(), aggr_get_id needs index (not cpu id) to find core/pkg id. Also, evsel cpu maps should be used to get aggregated id. Here is an example: Counting events cycles,uncore_imc_0/cas_count_read/. (Uncore event has cpumask 0,18) $ perf stat -e cycles,uncore_imc_0/cas_count_read/ -C0,18 --per-core sleep 2 Without this patch, it failes to get CPU 18 result. Performance counter stats for 'CPU(s) 0,18': S0-C0 1 7526851 cycles S0-C0 1 1.05 MiB uncore_imc_0/cas_count_read/ S1-C0 0 <not counted> cycles S1-C0 0 <not counted> MiB uncore_imc_0/cas_count_read/ With this patch, it can get both CPU0 and CPU18 result. Performance counter stats for 'CPU(s) 0,18': S0-C0 1 6327768 cycles S0-C0 1 0.47 MiB uncore_imc_0/cas_count_read/ S1-C0 1 330228 cycles S1-C0 1 0.29 MiB uncore_imc_0/cas_count_read/ Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Fixes: 582ec0829b3d ("perf stat: Fix per-socket output bug for uncore events") Link: http://lkml.kernel.org/r/1435820925-51091-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1d945012d1381f0232ea2d66e32b06182eedb476 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Thu Aug 27 09:46:01 2015 -0400 tools lib traceeveent: Allow for negative numbers in print format It was reported that "%-8s" does not parse well when used in the printk format. The '-' is what is throwing it off. Allow that to be included. Reporter note: Example before: transhuge-stres-10730 [004] 5897.713989: mm_compaction_finished: node=0 zone=>-<8s order=-2119871790 ret= Example after: transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 zone=ffffffff81815d7a order=9 ret= (I will send patches to fix the string handling in the tracepoints so it's on par with in-kernel printing via trace_pipe:) transhuge-stres-10921 [007] ...1 6307.140205: mm_compaction_finished: node=0 zone=Normal order=9 ret=partial Reported-by: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Tested-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150827094601.46518bcc@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 77e0070da41f76e1ebd15291fb0254b0c174adfa Author: Mark Drayton <mbd@xxxxxx> Date: Wed Aug 26 12:18:15 2015 -0700 perf script: Add --[no-]-demangle/--[no-]-demangle-kernel Sometimes when post-processing output from `perf script` one does not want to demangle C++ symbol names. Add an option to allow this. Also add --[no-]demangle-kernel to be consistent with top/report/probe. Signed-off-by: Mark Drayton <mbd@xxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440616695-32340-1-git-send-email-scientist@xxxxxx Signed-off-by: Yannick Brosseau <scientist@xxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 50a3cb04a5f9cd5323a76db9ee409a7f3004259a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:39 2015 +0530 PM / OPP: Drop unlikely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 68fa9f0ab1b61cfc7deee699da8b5b5cb12f7a58 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 17 19:20:20 2015 +0530 PM / OPP: Fix static checker warning (broken 64bit big endian systems) Dan Carpenter reported (generated with static checker): drivers/base/power/opp.c:949 _opp_add_static_v2() warn: passing casted pointer '&new_opp->clock_latency_ns' to 'of_property_read_u32()' 64 vs 32. This code will break on 64 bit, big endian machines. Fix this by reading the value in a u32 type variable first and then assigning it to the unsigned long variable. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4c1ed5a6079078699128064664913ae7b079648f Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Tue Aug 4 13:48:56 2015 +0800 cpuidle/coupled: Remove redundant 'dev' argument of cpuidle_state_is_coupled() For cpuidle_state_is_coupled(), 'dev' is not used, so remove it. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ba6a860d41ed3a377d61d59d7c7b08dd7455c686 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Tue Aug 4 13:48:55 2015 +0800 cpuidle/coupled: Remove cpuidle_device::safe_state_index cpuidle_device::safe_state_index need to be initialized before use, it should be the same as cpuidle_driver::safe_state_index. We tackled this issue by removing the safe_state_index from the cpuidle_device structure and use the one in the cpuidle_driver structure instead. Suggested-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ce14c5831364118324b10c0355dead062b9ddd40 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Tue Aug 25 13:34:53 2015 -0400 Documentation, add kernel-parameters.txt entry for dis_ucode_ldr dis_ucode_ldr was introduced in 65cef13 ("x86, microcode: Add a disable chicken bit") and will disable microcode loading on x86. This kernel parameter is buried in the code and should be added to the Documentation. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 4d59ed85451befda203d72462f1b7ead0fde3267 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:31:16 2015 +0200 leds: Export OF module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<modalias>" regardless of the mechanism that was used to register the device (i.e: OF or board code) and the table that is used later to match the driver with the device (i.e: I2C id table or OF match table). So drivers needs to export the I2C id table and this be built into the module or udev won't have the necessary information to autoload the needed driver module when the device is added. But this means that OF-only drivers needs to have both OF and I2C id tables that have to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. Which can lead to issues if two vendors use the same I2C device name for example. To avoid the above, the I2C core behavior may be changed in the future to not require an SPI device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table even when is unused now to prevent breaking module loading when the core changes. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit ed133352047e46687afd98c299ec8ce7f6ea07bd Author: Milo Kim <milo.kim@xxxxxx> Date: Mon Aug 24 16:09:55 2015 +0900 leds:lp55xx: use the private data instead of updating I2C device platform data Currently, lp55xx_of_populate_pdata() allocates lp55xx_platform_data if it's null. And it parses the DT and copies values into the 'client->dev.platform_data'. This may have architectural issue. Platform data is configurable through the DT or I2C board info inside the platform area. However, lp55xx common driver changes this configuration when it is loaded. So 'client->dev.platform_data' is not null anymore. Eventually, the driver initialization is not identical when it's unloaded and loaded again. The lp55xx common driver should use the private data, 'lp55xx_chip->pdata' instead of changing the original platform data. So, lp55xx_of_populate_pdata() is modified as follows. * Do not update 'dev->platform_data'. Return the pointer of new allocated lp55xx_platform_data. Then the driver points it to private data, 'lp55xx_chip->pdata'. * Each lp55xx driver checks the pointer and handles an error case. Then, original platform data configuration will be kept regardless of loading or unloading the driver. The driver allocates the memory and copies them from the DT if it's NULL. After the driver is loaded again, 'client->dev.platform_data' is same as initial load, so the driver is initialized identically. Cc: Toshi Kikuchi <toshik@xxxxxxxxxxxx> Cc: linux-leds@xxxxxxxxxxxxxxx Signed-off-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 991a3f61fa93c1752a47ae157a8238395850c730 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Aug 18 12:25:26 2015 -0700 leds: syscon: Correct check for syscon_node_to_regmap() errors syscon_node_to_regmap() returns a regmap or an ERR_PTR(). Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit c2d4af9370b1757714b895f005479393e4ec14b8 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Aug 18 19:50:16 2015 +0530 leds: leds-fsg: Use devm_led_classdev_register Use resource-managed function devm_led_classdev_register instead of led_classdev_register to make the error-path simpler. To be compatible with the change, various gotos are replaced with direct returns and unneeded labels are dropped. Also, remove fsg_led_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit b8926ba0d7fd74e140d408f6dfeff5f5b9c2afae Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Aug 20 08:59:35 2015 +0200 MAINTAINERS: Change LED subsystem git tree URL This patch removes Bryan Wu from the list of LED subsystem maintainers and replaces related git tree URL with the one maintained by Jacek Anaszewski. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> commit e5b5a61fcb3743f1dacf9e20d28f48423cecf0c1 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Fri Jul 31 13:36:21 2015 +0200 leds/led-class: Add missing put_device() Devices found by class_find_device must be freed with put_device(). Otherwise the reference count will not work properly. Fixes: a96aa64cb572 ("leds/led-class: Handle LEDs with the same name") Reported-by: Alan Tull <delicious.quinoa@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 4fc5af86837d983d7b1dd4edad245454e1874fa0 Author: Vincent Donnefort <vdonnefort@xxxxxxxxx> Date: Thu Jul 2 19:56:41 2015 +0200 ARM: Kirkwood: add modes-map property to ns2-leds nodes Since the LED modes mapping is no longer hardcoded inside the leds-ns2 driver, then it must be provided through the modes-map property in the ns2-leds nodes. Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit f3a2a097a37acfb7c28da171248d15b9bb2e657b Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 26 12:05:16 2015 +0800 leds: tlc591xx: Remove redundant I2C_FUNC_SMBUS_BYTE_DATA functionality check This checking is done by regmap_get_i2c_bus() which is called in devm_regmap_init_i2c(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 259f5ba308ee46c616ced3d336d7ab8e06f5a6ce Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Thu Jul 2 19:56:43 2015 +0200 leds: leds-ns2: depends on MACH_ARMADA_370 The leds-ns2 driver is also used by the n090401 board (Seagate NAS 4-Bay), which is based on the Marvell Armada-370 SoC. Then this patch allows to select the leds-ns2 driver if MACH_ARMADA_370 is enabled. Additionally, this also updates the Kconfig help message. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 4b90432dc1edca6cfc0bb338794beed46af3a472 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Thu Jul 2 19:56:42 2015 +0200 leds: leds-ns2: handle can_sleep GPIOs On the board n090401 (Seagate NAS 4-Bay), some of the LEDs are handled by the leds-ns2 driver. This LEDs are connected to an I2C GPIO expander (PCA95554PW) which means that GPIO access may sleep. This patch makes leds-ns2 compatible with such GPIOs by using the *_cansleep() variant of the GPIO functions. As a drawback this functions can't be used safely in a timer context (with the timer LED trigger for example). To fix this issue, a workqueue mechanism (copied from the leds-gpio driver) is used. Note that this patch also updates slightly the ns2_led_sata_store function. The LED state is now retrieved from cached values instead of reading the GPIOs previously. This prevents ns2_led_sata_store from working with a stale LED state (which may happen when a delayed work is pending). Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit f7fafd083ccc340502448903aaddc76f10785c8c Author: Vincent Donnefort <vdonnefort@xxxxxxxxx> Date: Thu Jul 2 19:56:40 2015 +0200 leds: leds-ns2: move LED modes mapping outside of the driver On the board n090401 (Seagate NAS 4-Bay), the LED mode mapping (GPIO values to LED mode) is different from the one used on other boards supported by the leds-ns2 driver. With this patch the hardcoded mapping is removed from leds-ns2. Now, it must be defined either in the platform data (if an old-fashion board setup file is used) or in the DT node. In order to allow the later, this patch also introduces a modes-map property for the leds-ns2 DT binding. Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit de88e71a91ed7c8de321b44882e0805f0b24d734 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 8 10:43:26 2015 +0800 leds: lp8860: Constify reg_default tables These reg_default tables are not modified after initialized, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 44ab901f91b22dcfc7d03d6f0da15c5354042367 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:00:52 2015 +0900 leds: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 6e3956cd532d8c263e68ebae1252828e297aac4d Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:42:34 2015 +0200 leds: Allow compile test of LEDS_AAT1290 and LEDS_KTD2692 if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. If COMPILE_TEST is enabled, relax the dependency on GPIOLIB for the recently introduced symbols LEDS_AAT1290 and LEDS_KTD2692. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 823227419588001f2d4accf3c5660cd99442a0f8 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue May 5 18:32:25 2015 +0200 leds: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: linux-leds@xxxxxxxxxxxxxxx Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit aa14318aa02f14044acf81f418e1a1cbda29fcfc Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Fri Apr 10 10:36:56 2015 +0200 DT: leds: Improve description of flash LEDs related properties 1. Since max-microamp property has had no users so far, then rename it to more descriptive led-max-microamp. 2. Since flash-timeout-us property has had no users so far, then rename it to more accurate flash-max-timeout-us. 3. Describe led-max-microamp property as mandatory for specific board configurations. 4. Make flash-max-microamp and flash-max-timeout-us properties mandatory for devices with configurable flash current and flash timeout settings respectively. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 92cffd56b21c825579f3b37bc7803e4c37073076 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 28 20:33:58 2015 +1000 drm/nouveau/dispnv04: fix build on powerpc align with mask code in overlay.c, Ben can clean the naming up later if necessary. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 90996511187d6282db6d02d3f97006b4dbb5c457 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Wed Aug 5 15:42:35 2015 -0700 MIPS: CPS: use 32b accesses to GCRs Commit b677bc03d757 ("MIPS: cps-vec: Use macros for various arithmetics and memory operations") replaced various load & store instructions through cps-vec.S with the PTR_L & PTR_S macros. However it was somewhat overzealous in doing so for CM GCR accesses, since the bit width of the CM doesn't necessarily match that of the CPU. The registers accessed (GCR_CL_COHERENCE & GCR_CL_ID) should be safe to simply always access using 32b instructions, so do so in order to avoid issues when using a 32b CM with a 64b CPU. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.16+ Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10864/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6aa6925cad06159dc6e25857991bbc4960821242 Author: Yao-Wen Mao <yaowen@xxxxxxxxxx> Date: Fri Aug 28 16:33:25 2015 +0800 ALSA: usb-audio: correct the value cache check. The check of cval->cached should be zero-based (including master channel). Signed-off-by: Yao-Wen Mao <yaowen@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a47d4576cd1c58157a2d8cfffa93aa7ca375eede Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Aug 28 10:30:15 2015 +0200 x86/irq: Do not dereference irq descriptor before checking it Having the IS_NULL_OR_ERR() check after dereferencing the pointer is not really working well. Move the dereference after the check. Fixes: a782a7e46bb5 'x86/irq: Store irq descriptor in vector array' Reported-and-tested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4b9e78bd9f0efcf9e82b4886de7a4289dbf3cffe Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 28 18:18:10 2015 +1000 nouveau: fix powerpc build Reported-by: Ilia Mirkin on irc. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 2baa891e42d84159b693eadd44f6fe1486285bdc Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:33 2015 -0700 x86/mm/mtrr: Remove kernel internal MTRR interfaces: unexport mtrr_add() and mtrr_del() The effort to replace mtrr_add() with architecture agnostic arch_phys_wc_add() is complete, this will ensure write-combining implementations (PAT on x86) is taken advantage instead of using MTRR. With the effort done now, hide direct MTRR access for drivers. The legacy user-space /proc/mtrr ABI is not affected. Update x86 documentation on MTRR to reflect the completion of the phasing out of direct access to MTRR, also add a note on platform firmware code use of MTRRs based on the obituary discussion of MTRRs on Linux [0]. [0] http://lkml.kernel.org/r/1438991330.3109.196.camel@xxxxxx Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: <syrjala@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Doug Ledford <dledford@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-media@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: netdev@xxxxxxxxxxxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-12-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d1ee8bc195ffedbf91af0245a2406d6ebd2578f8 Merge: 0e53909 a2fb338 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Aug 28 08:22:02 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Add support for using several Intel PT features (CYC, MTC packets), the relevant documentation was updated: tools/perf/Documentation/intel-pt.txt, briefly describing those packets, its purposes, how to configure them in the event config terms and relevant external documentation for further reading. (Adrian Hunter) - Introduce support for probing at an absolute address, for user and kernel 'perf probe's, useful when one have the symbol maps on a developer machine but not on an embedded system. (Wang Nan) - Fix 'perf probe' list results when a symbol can't be found or the address is zero and when an offset is provided without a function (Wang Nan) - Do not print '0x (null)' in uprobes when offset is zero (Wang Nan) - Clear the progress bar at the end of a ordered_events flush, fixing an UI artifact when, after ordering the events the screen doesn't get completely redraw, for instance, when an error window covers just the center of the screen and waits for user input. (Arnaldo Carvalho de Melo) - Fix 'annotate' segfault by resetting the dso find_symbol cache when removing symbols. (Arnaldo Carvalho de Melo) Infrastructure changes: - Allow duplicate objects in the object list, just like it is possible to have things like this, in the kernel: drivers/Makefile:obj-$(CONFIG_PCI) += usb/ drivers/Makefile:obj-$(CONFIG_USB_GADGET) += usb/ (Jiri Olsa) - Fix Intel PT 'instructions' sample period. (Adrian Hunter) - Prevent segfault when reading probe point with absolute address. (Wang Nan) Build fixes: - Fix tarball build broken by pt/bts. (Adrian Hunter) - Remove export.h from MANIFEST, fixing the perf tarball make target. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ee03c5868e74847ba0bd1e6dccbbe26e6504466d Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Aug 26 16:34:10 2015 -0700 s390/io: Add pci_iomap_wc() and pci_iomap_wc_range() The following commit: 1b3d4200c1e0 ("PCI: Add pci_iomap_wc() variants") Introduced pci_iomap_wc() variants but broke the s390 build, because s390 requires its own implementation of pcio_iomap*() calls. The reason for that is that: "BAR spaces are not disjunctive on s390 so we need the bar parameter of pci_iomap to find the corresponding device and create the mapping cookie" so it has its own lookup/lock solution and it does not include asm-generic/pci_iomap.h. Since it currenty maps ioremap_wc() to ioremap_nocache() and that's the architecture default we can easily just map the wc calls to the default calls as well. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Frank Blaschka <frank.blaschka@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Cc: linux390@xxxxxxxxxx Link: http://lkml.kernel.org/r/1440632050-23648-1-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7e01ebffffedec22cea86ebe94802f909e4579ca Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 18:04:04 2015 +0800 x86/asm: Drop repeated macro of X86_EFLAGS_AC definition We just need one macro of X86_EFLAGS_AC_BIT and X86_EFLAGS_AC. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Li <tony.li@xxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1440669844-21535-1-git-send-email-ray.huang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a7ccad88d1bcebabc011b54a2f8615175e523fc Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 28 14:51:10 2015 +1000 xfs: fix error gotos in xfs_setattr_nonsize As the code stands today, if xfs_trans_reserve() fails, we goto out_dqrele, which does not free the allocated transaction. Fix up the goto targets to undo everything properly. Addresses-Coverity-Id: 145571 Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8774cf8bacd4e79b7c65cdf1208da264a9d436d2 Author: Lucas Stach <dev@xxxxxxxxxx> Date: Fri Aug 28 14:50:56 2015 +1000 xfs: add mssing inode cache attempts counter increment Increasing the inode cache attempt counter was apparently dropped while refactoring the cache code and so stayed at the initial 0 value. Add the increment back to make the runtime stats more useful. Signed-off-by: Lucas Stach <dev@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit c9eb256eda4420c06bb10f5e8fbdbe1a34bc98e0 Author: David Jeffery <djeffery@xxxxxxxxxx> Date: Fri Aug 28 14:50:45 2015 +1000 xfs: return errors from partial I/O failures to files There is an issue with xfs's error reporting in some cases of I/O partially failing and partially succeeding. Calls like fsync() can report success even though not all I/O was successful in partial-failure cases such as one disk of a RAID0 array being offline. The issue can occur when there are more than one bio per xfs_ioend struct. Each call to xfs_end_bio() for a bio completing will write a value to ioend->io_error. If a successful bio completes after any failed bio, no error is reported do to it writing 0 over the error code set by any failed bio. The I/O error information is now lost and when the ioend is completed only success is reported back up the filesystem stack. xfs_end_bio() should only set ioend->io_error in the case of BIO_UPTODATE being clear. ioend->io_error is initialized to 0 at allocation so only needs to be updated by a failed bio. Also check that ioend->io_error is 0 so that the first error reported will be the error code returned. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: David Jeffery <djeffery@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit dfdd4ac66c2f921ecec730a2b24b0b13e10346b2 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Fri Aug 28 14:50:03 2015 +1000 libxfs: bad magic number should set da block buffer error If xfs_da3_node_read_verify() doesn't recognize the magic number of a buffer it's just read, set the buffer error to -EFSCORRUPTED so that the error can be sent up to userspace. Without this patch we'll notice the bad magic eventually while trying to traverse or change the block, but we really ought to fail early in the verifier. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0d36938bb82a7775c21ce0a7429f08ba13d025b6 Merge: 55f14da 4941b8f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 21:45:31 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit ab98193dace971f4742eebb5103212e23bb392f5 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Wed Aug 26 14:16:27 2015 -0700 dmaengine: ioatdma: add Broadwell EP ioatdma PCI dev IDs Adding the Broadwell Xeon ioatdma PCI device IDs and related bits. This is still IOATDMA 3.2 based hw. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6ef41cf6f721573d286a06ca35a9f1e370637d51 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Tue Aug 25 16:15:13 2015 +0800 dmaengine :ipu: change ipu_irq_handler() to remove compile warning Change ipu_irq_handler() to avoid gcc warning: drivers/dma/ipu/ipu_irq.c:305:4: warning: 'irq' may be used uninitialized in this function [-Wmaybe-uninitialized] generic_handle_irq(irq); Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 259800135c654a098d9f0adfdd3d1f20eef1f231 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 11:57:00 2015 +1000 powerpc/eeh: Fix fenced PHB caused by eeh_slot_error_detail() The config space of some PCI devices can't be accessed when their PEs are in frozen state. Otherwise, fenced PHB might be seen. Those PEs are identified with flag EEH_PE_CFG_RESTRICTED, meaing EEH_PE_CFG_BLOCKED is set automatically when the PE is put to frozen state (EEH_PE_ISOLATED). eeh_slot_error_detail() restores PCI device BARs with eeh_pe_restore_bars(), which then calls eeh_ops->restore_config() to reinitialize the PCI device in (OPAL) firmware. eeh_ops->restore_config() produces PCI config access that causes fenced PHB. The problem was reported on below adapter: 0001:01:00.0 0200: 14e4:168e (rev 10) 0001:01:00.0 Ethernet controller: Broadcom Corporation \ NetXtreme II BCM57810 10 Gigabit Ethernet (rev 10) This fixes the issue by skipping eeh_pe_restore_bars() in eeh_slot_error_detail() when EEH_PE_CFG_BLOCKED is set for the PE. Fixes: b6541db1 ("powerpc/eeh: Block PCI config access upon frozen PE") Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Reported-by: Manvanthara B. Puttashankar <mputtash@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3439633a85891626abf124a52f2c3e3e83cca9d0 Merge: d7b27368 a3c1ff8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 28 13:20:09 2015 +1000 Merge branch 'linux-4.3' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next Rather large pull request this time around, due to the long-pending cleanup of the kernel driver being here. There's a stupidly large number of commits for that, as I wanted to have the series be bisectable at a fairly fine-grained level. That said, a very large portion of the churn in the rework was automated, and a very large number of boards from right across the whole range we support have been tested. I'm fairly confident there shouldn't be (too many) issues from this. Beyond correcting some not-so-great design decisions and making the code a lot easier to work with, there's not much exciting (lower memory usage, GPU VM should be a lot faster, etc) to be gained by the end-user as a result of the cleanup, it mostly lays the groundwork for future improvements. A big thanks goes to Alexandre Courbot for testing/debugging the GK20A codepaths for me :) Highlights: - A heap of perfmon work, providing a more useful userspace interface and specifying counters for a bunch of boards - Support for GT200 reclocking + other misc pm improvements - Initial patches towards supporting GM20B (Tegra X1) - Maxwell DisplayPort fixes - Cleanup of the kernel driver - The usual collection of random fixes * 'linux-4.3' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (312 commits) drm/nouveau: bump driver version for release drm/nouveau/tegra: merge platform setup from nouveau drm drm/nouveau/pci: merge agp handling from nouveau drm drm/nouveau/device: remove pci/platform_device from common struct drm/nouveau/device: import pciid list and integrate quirks with it drm/nouveau/device: cleaner abstraction for device resource functions drm/nouveau/mc: move device irq handling to platform-specific code drm/nouveau/mc/gf100-: handle second interrupt tree drm/nouveau/mc: abstract interface to master intr registers drm/nouveau/pci: new subdev drm/nouveau/object: merge with handle drm/nouveau/core: remove the remainder of the previous style drm/nouveau/mpeg: convert to new-style nvkm_engine drm/nouveau/sw: convert to new-style nvkm_engine drm/nouveau/pm: convert to new-style nvkm_engine drm/nouveau/gr: convert to new-style nvkm_engine drm/nouveau/fifo: convert to new-style nvkm_engine drm/nouveau/disp: convert to new-style nvkm_engine drm/nouveau/dma: convert to new-style nvkm_engine drm/nouveau/cipher: convert to new-style nvkm_engine ... commit a3c1ff87cfe27f99de58c153eb9d42dcfdbfa59b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau: bump driver version for release Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 43a70661eaa64aa4e36e421eee3b9ded3190837b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau/tegra: merge platform setup from nouveau drm The copyright header in nvkm/engine/device/platform.c has been replaced with the NVIDIA one from drm/nouveau_platform.c, as most of the actual code is now theirs. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 340b0e7c500a0ac8fb649c58cf8528550642c1d8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau/pci: merge agp handling from nouveau drm This commit reinstates the pre-DEVINIT AGP fiddling that was broken in an earlier commit. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 26c9e8effebb9166eb1cfba2d164676e98c505c7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau/device: remove pci/platform_device from common struct Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c7af0ff0e89327918743052d12bf5536e34c7f1a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau/device: import pciid list and integrate quirks with it PCI IDs taken from the NVIDIA binary driver, with permission. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7e8820fed712c6de1933dcc91edbf08dcec74925 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau/device: cleaner abstraction for device resource functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2b700825e7a7702fb862edba1262c98040dc1bf6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/mc: move device irq handling to platform-specific code Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ae0a5b2dd2f54584d677701d989732b464b6d8c9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/mc/gf100-: handle second interrupt tree Doesn't fix any known issue, but best be safe in case control is handed to us from firmware with these left enabled. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d4c4cc8373806d0f822f8847f8bcda64f36cb73f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/mc: abstract interface to master intr registers Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0a34fb3149c3001f9c1b2bd0f98f94d63e74cb85 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/pci: new subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fbd58ebda9c8572ca6285b88e3348c7712f125ec Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/object: merge with handle Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 68f3f702b6a430a8d1e909455a60d26c0f2da530 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/core: remove the remainder of the previous style Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7624fc011e56902a83e409b14d6c1efa75aa4a58 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/mpeg: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6f41c7c56929b3a2ad943d5b6dd4d66d716e74d7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/sw: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 97070f23c60869830039b216ff88230f54ef7107 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/pm: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c85ee6ca79590cd51356bf24fb8936bc352138cf Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/gr: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 13de7f462902d1a452d501cdb2d06ef02cabbfff Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/fifo: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 70aa8670e5229766f12c4b818a68aa61913df0b6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/disp: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bd70563f015a5204c62a52a87a35c32377940187 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/dma: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 14d74acafb15fd3fac16eef89de7643cddd01775 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/cipher: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e5b31ca63249f03e56529dcd4260b23196ce2c28 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/ce: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 98b20c9ab88ff4dbe5f3e239efa5a6b7818c1da7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/xtensa: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 53e60da43aee440d3f75000cdd269bd1324a8ad4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/falcon: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 437b2296ced574eada632b11346e22f6b0103e17 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/volt: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 31649ecf47a44e02e73bffc5680c8f56d6cf587a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/tmr: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 57113c0170b9efeacb3e3e9d4c2178c30d9cd991 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/therm: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e2ca4e7d6e56cb73a068708f0b0c9bd62ab9e02c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/pmu: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a4f7bd360893ab4f6bbc1ae4ef617c68bf987f3d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/mxm: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c9582455ab74246ec9f5986db3821b33058de585 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/mmu: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 54dcadd5b65e12f851ff80af4afef606040ad8b9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/mc: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 70bc7182cbf1bb07e414bbb553890ddf1b540264 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/ltc: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b7a2bc1886d00f5f1358079e1e6f4979006a4ed6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/imem: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8de65bd0901e2ee7a485a158bfe9e4631cc00644 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/devinit: run devinit scripts right after preinit This ensures we have a valid mask of disabled engines before we start trying to execute fini()/init() on the subdevs, potentially touching devices that don't exist. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 551d341755e2ade4a915d889524a4187f2cd210e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/ibus: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 49bd8da5130aa2de1c891c71163a033254eaf932 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/i2c: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2ea7249fe2d4815fc6d0b50021bcbd8bb72b8437 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/gpio: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c5fcafa528463b207108cd606e0d41741fb7dc50 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/fuse: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 03c8952fb36b58e451b8a93a1a2abd59e09ddf7b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/fb: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 151abd44c27c1562f348a99c176b078a876ebe93 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/devinit: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6625f55c080f888ccf51b6881f0bad13f5762d15 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/clk: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bb23f9d7919311ebc696bc540e41c908168f9cb5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/bus: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 46484438ab7dbab6ed29cf647d029e0b1ef3d9d8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/bios: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3293228174e4d44cca56d809cc8409c3f88f8b90 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/bar: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ef8bc5760b51d69741ed5f42224f1fdd2935541a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/core: kill some (now) dead code Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 07b9e6cc957195bd1e6908612d67a92ba0ed2cb6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/sw: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5ffeb84b8eba71b4f88af6997db843ddf68149e0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/pm: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 218f978d43296a9ac142a63361e25f517df3d318 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/mpeg: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 27f3d6cf80324940edd29be7758f81145e73d1ff Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/gr: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b3c981504721a5765641a21d521eb04f7d23e065 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/cipher: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e5ff112781667dbe641aee2adf6189d8023cb27f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/ce: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c79a191b2799fb36a7b64c0f9ddc20383ed0dcdb Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/xtensa: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9d498e0f7a5ece8f61c8a174b40668a2621a82e3 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/falcon: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8f0649b5c6e70ec18122255690e39f010c12a614 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/fifo: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9a65a38c456ebac97f0498e85fe26f6d26fe3936 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/fifo: split user classes out from engine implementations Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0ce41e3c66ca8958dec427f1c46f64efdda90f30 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/disp: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a7909c0ade08c66690e6115ae49765dc47873e6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/disp: split user classes out from engine implementations Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0710cc31482ae3711367c42e61580126c50c8ec0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/dma: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 19fef52d93518cc01fd284b55ee93c0a9967634f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/dma: split user classes out from engine implementations Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0e29998a89a6254f5ca9f78167f9ce790d01da45 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/device: convert ctrl class to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a9f847f5d43d15c0401d050cdd77fb4cbe7da06 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/device: convert user class to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 24bd0930bedea1182aaadc52757897d2b9b3ca99 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/client: convert to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6157091177102638c7d94ffc159c0b157a1c9b56 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/sw: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 590801c1a3b19883b0d0e4c60241cbed8a916d47 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/mpeg: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a65955e19e769e92a0e29cccdc29aea0b19f3809 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/gr: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6ca307b0c9c7878eb1b2b42982c05671f0591229 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/fifo: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 35acf3d72cf273e164c9a8bbf30610b95e2a4c84 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/cipher: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a83d8872fc8a482e47f7375ab66006e1f8c1fd59 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/falcon: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 344c2d429dd86b1b0113177e18f15adb74e9d936 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/fb: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 898a2b32138da26ed8f7abc0cc8232741ca03de7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/sw: turn flip completion into an event Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cd459e7776c2c08e3771e20fca7de96272f2c9cd Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/sw/nv04: replace direct context access with GetRef method Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1d2a1e53865266a67fb569705eba3ec992682721 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/ramht: remove dependence on namedb Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f027f49166171c98d5945af12ac3ee9bc9f9bf4c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/gpuobj: separate allocation from nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 227c95d90a3c50defbc7b4f98605e13af4e6214c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/gr: directly use instmem where currently possible Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 358ce601ae5de59bf6f08f79455c5b3cb7d359d4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/fifo: directly use instmem for runlists and polling areas Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit faf468981e3a50ce088460595bd10812af9be7f8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/xtensa: directly use instmem for ucode image Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 406ca8c714825c2d9e2c866787150eae4e1a1cc3 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/falcon: directly use instmem for ucode image Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5b1ab0c2c79c3556c4350f4f47d11745fdffad8f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/imem/nv04-nv40: directly use instmem for vbios/ramfc/ramro Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit adb53d2773a7b0e95bb47e092c71906c7d989366 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/bar/gf100: directly use instmem for channel descriptors Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d0659d3277cd7bf50e45d48f4692a7fbb11e5957 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/mmu: directly use instmem for page tables Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d8e83994aaf6749b7124a219f5b46bd1329e2a08 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/imem: improve management of instance memory Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1de68568d69ac518db076cc6118af91e930b5f90 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/mmu: protect each vm with its own mutex An upcoming commit requires being able to modify the PRAMIN BAR page tables while already holding the MMU subdev mutex. To solve this issue, each VM has been given its own mutex. As a nice side-effect, this also allows separate VMs to be updated concurrently. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 524bdbf2025d44cdea672511d21012a52b427374 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/core: prepare for new-style objects Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6cf813fb26640ef539051fb7f965af8c9ff10d92 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/device: prepare for new-style subdevs Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7974dd1bdb43aaf5b45a915c6b439d11733450fc Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/device: separate construction of pci/tegra devices Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 168c2e213d3a9b605856d3676d9e93733c8b37d3 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/engine: implement support for new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f0290215c44370ff5d55c01a13dc5a44a1f86efa Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/subdev: implement support for new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cbea21e2ab658ca1256bfe5f4c535b2b1b9e4060 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/object: implement support for new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 89c651e2213a148d19407109051abbf81328a4a8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/engine: rename some functions to avoid upcoming conflicts Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3a8c3400f3e74638bedd0d2410416aa8b794c0fd Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/subdev: rename some functions to avoid upcoming conflicts Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit aa35888ff024b18c7b6b29eb773a221f642987f7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/object: rename some functions to avoid upcoming conflicts Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d61f4c178cb36a7b15871fcc60814f1f94a5044d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: device time mthd Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 159045cdc460794df27e2cc624a9641be5c54b23 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: replace pushbuf with vm in fermi/kepler gpfifo class args Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 22827fa42b0baa9287ea56691f26dc45fecea049 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: return chipset/board names from device info method Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d56241794c293ff7341d373d853e5a4e2f5de244 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: add supported engines query to kepler gpfifo class Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 41a634064db489713945e228e216336080ba57f8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: return min/max versions for supported object classes Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f58ddf9581655d3fea51465f06f292d365af9c87 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: assign internal class identifiers to sw classes Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 315a8b2edf51711857795ba6e02b843d7792b59c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: use negative oclass identifier for internal classes Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5c15bf709eb6fb52c5bcb95d545250dde22f9625 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: return success from sclass even for objects without children Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 99d4d36ad673c2b4fea364f6d456718f0f701ce4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: extend nop ioctl to return nvif version identifier Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bf81df9be28657eea4aca8c6ab4ed3e69f8a051c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: replace path-based object identification Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a01ca78c8f118e5a24f1527ecf078ab56ddd4805 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/nvif: simplify and tidy library interfaces A variety of tweaks to the NVIF library interfaces, mostly ripping out things that turned out to be not so useful. - Removed refcounting from nvif_object, callers are expected to not be stupid instead. - nvif_client is directly reachable from anything derived from nvif_object, removing the need for heuristics to locate it - _new() versions of interfaces, that allocate memory for the object they construct, have been removed. The vast majority of callers used the embedded _init() interfaces. - No longer storing constructor arguments (and the data returned from nvkm) inside nvif_object, it's more or less unused and just wastes memory. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4e7e62d607a711bc8e8576a0fc7d8f242d25c9b3 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/client: store default device by handle, not reference Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 102b49da15834c1d2ba508457fdf69b3d07c6fee Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/parent: remove some (now) unnecessary special-case handling Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 493f189dc0cbbe9bde8074fb49ca777ba1ef292c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/object: store object type data outside of handle Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a1e88736221d2e971726931c449ed7d0af31755b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/device: decouple from engine machinery Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a1bfb29a33521efa6b1714589bf68cb4afebacb1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/device: split user device implementation out on its own Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0ac9d210a13c6eaa5492bdd27eb0add952238b8c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/device: simplify subdev construction Replaces the piece-by-piece (in response to NV_DEVICE ctor args) device contruction with a once-off all-or-nothing approach, eliminating some tricky refcounting issues. The partial device init capability was only required by some tools, and has been moved to probe time instead. Temporarily removes a workaround for some boards where we need to fiddle with AGP registers before executing the DEVINIT scripts. A later commit in this series reinstates it. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c813d8e048740ca82b88a9d3f639bbd8095b24ac Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/bin: punt client/device argument handling into a common helper Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e781dc8f6cebf69bd410eb652a13e0a3797d71fe Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/device: tidy ctor/dtor interfaces Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 76ecea5b4b9383edde2bfe49e59e76fec4e21aa4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/client: tidy ctor/dtor interfaces Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 47b2505efb2d951f16c3a229d93450b463d925e5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/platform: remove subclassing of nvkm_device Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f2c906fc0cf1657e4164e09ae6061534eebd5430 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/disp: transition outp/conn away from being based on nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2aa5eac5163fedf09f2d61992cb5ea4d75bec9db Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/i2c: transition pad/ports away from being based on nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d36a99d2da22bdffebf644e4a5f811e8eff82360 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/fb: transition nvkm_ram away from being based on nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a8dae9fe0e8ad94de1bb2bfda90d288c1b9eb6e6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/vga: require nvkm_device pointer in accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 95cf469cc3b266324cd9129f93a2d44b85ea27ed Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/imem: use object accessor function for suspend/resume Very much not ideal, but this will be improved later. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cfdc4c44b4388bb8e697882cddd966333e4ab7b0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/core: wrap direct use of object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 572fb13db2a9dc5336a4b769d60428bc9cff0af6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/mpeg: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 142ea05f49b9517929f8b27ee800160e7ebf3a02 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/gr: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5444e770e3991ddb5a9583d622fc18bbf414b551 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/fifo: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3f532ef1e23395d7abb0eed316dd31123f87f448 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/dma: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6d06fd68cb8d3c8be819d96bffb0a342d01b5e22 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/cipher: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit edb1dc51de2f93905f49ba693c1777d6497a5cae Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/xtensa: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9cc264a3aac2ca62d8a2e13c8f13c8ef8567550b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/falcon: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cd821077aa7f180f83f3a5d60ec47cb75d56fd37 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/mmu: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1918707556986e9460682845a2bf4055c43a8b65 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/bar: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 45ea503161af6e94d593a59e8cca8981d0435d5c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/core: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 384af9aceaf8ee1e2d3791cc89a32c161d67bb57 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/gpuobj: type-safe accessor macros These require an explicit struct nvkm_gpuobj pointer, unlike the previous macros which take a void *, and work with any nvkm_object. New semantics require acquiring/releasing a gpuobj before accessing them, which will be made use of in later patches to greatly reduce the overhead of accesses, particularly when a direct mmio mapping of the object is not available (suspend/resume, out of ioremap() space, and on GK20A). Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9ccdc76006e3b6ca46c8dbc446bc2e3f6d8d95cb Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/xtensa: remove object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 63902181a7ce9177c476103694cbdf45ee5c0578 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/falcon: remove object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a47474261e77b148480daff855e516dc60e80b48 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/imem: remove object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7e24c1145a9176fb9c9b81b3a0f0703598b1445c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/fuse: remove object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7f5f518fd70b1b72ca4cf8249ca3306846383ed4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/bios: remove object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 53003941067534b1071b0f7b71f4700c16d97b28 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/core: remove last printks Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9ad97ede4b1b257ccc867d5a1e865049e1f09166 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau: use dev_* for logging Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9e3911e5b244c01886f25ce1cb453dd9c5334853 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/sec: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 476901ff6c611620daab3af6cea940be91d97420 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/pm: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b835c09bc6b87318fd06bfcb9ac4bb59eaa48f57 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/mpeg: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 109c2f2f1c42c16a4b265e796dee6ae4ada78417 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/gr: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e5c5e4f5d319799fe67dc67531e41ba0b7ed15e6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/fifo: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 84407824e97d87161f5ef09ba43a1ac6ec10f479 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/disp: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e37f543370b86de9eefd86896adb171b7c45a451 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/device: switch to dev_printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 65850a3b407b065f4b0db0264796d2981feb85aa Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/cipher: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1eed206fa29a98df728dd6e67ac02e135645029f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/ce: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7108bfe4086862fa29ba1cf82f4dee66be314619 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/xtensa: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 64b5ce1fe9ab0949c6387f5df57aaf0527567e08 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/falcon: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 185eda33394af09dbb0c9d330811718e84c0b070 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/volt: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9d7b9d9f1140e56ad14111fd9576e7333412dc12 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/tmr: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b3c418bb48228a206a8c421adaf269cdc83c3c52 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/therm: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c19e329d663715014b367c4fedb217e0378342bf Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/pmu: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 27cc60a17512055c63f05a27eb6687051ade5257 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/mxm: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 85ae830f5ac177244892b934953106d11cd5a679 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/mmu: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c47a48a544ba47eb26ff922203fa0f99c0306907 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/mc: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 59e1a2f1a665c6defc0050060846ed3d89291e8c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/ltc: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 00c5550710184bad189d2cfe6b1880c0e9331bae Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/imem: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 18019e95de4ffdfb020d61197b8da2af1a442c8e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/ibus: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1cb57d25b6b62b39f07c4ff4370c2c48803000e9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/i2c: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3ecd329b6445efdcad26e94edd57f0fd5ccd080b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/fb: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit aa860e4bbe16d5756d6845022a6e94d6cb200df9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/devinit: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b907649e7be734a4911f83b67a14e3425fa8a2a1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/clk: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a699a85addc747068a9ac1b2046f4313eb499bc2 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/bus: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 60b29d2071795d322221cfcfe377e6778b09ca90 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/bios: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0df18e6d52fab22e841e734c384c86f3b7b762b8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/bar: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6594363b9f765e569feb6222d7d07e19db3fa460 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/core: type-safe printk macros These require an explicit pointers to nvkm_object/nvkm_subdev/nvkm_device, depending on which macros are used. This is unlike the previous macros which take a void *, and work for anything derived from nvkm_object (by way of some awful heuristics). The output will be a bit confused until everything has been transitioned, as the logging format used is a more standard style that previously. In addition, usage of pr_cont(), which doesn't work correctly with the dev_*() printk functions (and was potentially racy to begin with), will be replaced. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5444204036b2e3a4aeeef6265897df3a9976bf97 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 37eabb030c03539996bff662e4adb078a7f8b2a6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/mpeg: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c4584adc37720b65ae44a84c660d47b3ebcf7dfb Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/gr: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit af3082b3c621e75371dc6d11fac5a2dc2b19b1bc Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/fifo: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3a020b4dfc3a6c79f144b2c6786d86b33cda64d9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/disp: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6ed5c1682425e29913785977cccca67ff3dec5f1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/falcon: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit dd4bb3eccc806e78baee3009aa466466daae0f29 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/pmu: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 909604d444eb26ed37860268cfc6a68d4a5f28cb Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/mmu: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1302bcbb8229b0575401be87765277629330384a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/ltc: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 63bb5c390bf2f975f0936b6523af6784af811b49 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/ibus: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cf07d861ce3c4bfd9d45f9e66f30cbfb56dca3a0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/fb: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6979c6303a4abf263753cd9d577d79f05c6e8c47 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/clk: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4f31c84ebafd7b3940c2fe109fe173c62d097080 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/bus: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4dd308f446c31e8f4a2b5033ba2de6f53f015114 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/bar: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 56f67dc19623b6cd4db57ee07d6f0cad32bcd5af Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/tmr: type-safe PTIMER-based delay/wait macros These require an explicit struct nvkm_device pointer, unlike the previous macros which take a void *, and work for (almost) anything derived from nvkm_object by using some heuristics. These macros are more general than the previous ones, and can be used to handle PTIMER-based busy-waits (will be used in later devinit fixes) as well as more complicated wait conditions. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2ebfa1bc6ff1a7cded8b662f507d34574ffcc2c6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/kms/nv04: fix incorrect use of register accessors Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 01d64afc2e3238cf1658184427fa2563963c8708 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/sw: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b8ad561e5541e6e6fe5c60ef33fec50ec211c92b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/sec: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 846e831d953fd01cb78b9ed92495baee142bed37 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/pm: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f2d85ad1a63130ba31434d042b6c76f24f6b9673 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/msvld: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 320ca25131758a445e351f701daf91d8aa5be096 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/msppp: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 54118c74fb4b4fdb032a6c4dfc59bb856bc6fc48 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/mspdec: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 636e37aa978b4904189710b5b501299bd7404ad5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/mpeg: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 276836d46e535c8ca299a1ea8302879dbdd3e93a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/gr: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8774440390cdfe37c5d003f850847c9fd67cdf61 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/fifo: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2fde1f1c343030d169945aa67a0e485b568f1393 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/disp: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f9793bb7ed4d83c1b72661c1cca2949a343df231 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/device: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b958bf916d34f35639048361f7d87334770ebf4d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/cipher: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 29e9f51094316879c4602795167e9635e18a3c8b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/ce: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2ef770f743c55ee2e7efb8e750c6e2d2eae9f74e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/xtensa: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 96975248ee45cd50101b4bdf0eaf8c2d9e6cfa73 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/falcon: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c44c049f28dbebfb95aca3847fd4996ca3503b0c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/tmr: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5718ea3257f5fb945a8625dd17d0d753c9dbec34 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/therm: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bef002e87f1accc12a7fc7c98b80354c136c199e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/pmu: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 83f56106ead017a07868176279746d73bc7a7060 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/mmu: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 25e3a463fc1bd39c01cc6d19d2c8b4c4725699b9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/mc: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 99336ed363f49f484b4d93600c4dfec1f2ebb84a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/ltc: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d5c5bcf693e7c72f2f853066858f3d40a42ba942 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/imem: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fef5cc0f258d68d3a9ead1058461bf5f2e2796da Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/ibus: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6f2274991043a3db2ab84b5d9462a085d38f1fb1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/i2c: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4de93a086eb0315f0bd8e1d6da40186842670b57 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/gpio: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2bdb4995fd9629840ed80305f2a9f046071881d7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/fuse: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6758745b2821bddcec1aae0c4cffaa9608aeda59 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/fb: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8ac3f64f75b6b7dbe5917e5c65344915415f58e1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/devinit: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 822ad79fa40070fc36cae2ad929ab0c409919080 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/clk: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 14caba447c9a22ceb0400e964f585e5ffff5f0b8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/bus: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d8f266a353cb397aa792b59d5aa16ea09579f9ac Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/bios: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9155c16214631e064d0d1edcd60a62347f823c80 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/bar: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 94bab102233e30d08fcb33a424ec56520b22eb1b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/core: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit dd64694208d7c902ba7a5bcd2bf012c1087ba0f0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/device: type-safe register accessor macros These require an explit struct nvkm_device pointer, unlike the previous macros which take a void *, and assume it's any old nvkm_subdev. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8699745a2bc143eee429c556d631e8e5be5dc009 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/vp: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 226dcefe706ff8854bca1bb75ae7bfd2fe3296c5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/sw: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c0e297dc61f8d4453e07afbea1fa8d0e67cd4a34 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/sec: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8c1aeaa13954585e8482866457abacb5c094db35 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/pm: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 74137ffcd1dfd6537bbfdd1d1149942412280e9e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/msvld: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fd507a53abda54697bcae2f60cfaf41932634d68 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/msppp: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 11271f9f8ff3755bf9a413d157dc7cb7c36856b1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/mspdec: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b19de4f3d787947224e89447505dd3c99b304d7b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/mpeg: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bfee3f3d97db88bfb732735eb4955ad3381ac758 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/gr: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6189f1b0938dc0621c27494031b83ffae566e318 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/fifo: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a317aa21be51f869d5ab0198fad94a4570af9ddb Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/dma: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fd166a1832db138f22ad95eacd0879af30742f57 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/disp: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e2f1cf253e0cf5b64fa6fee439aeeda49c6f09d8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/cipher: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d9261a68374fbeda5a180fbba926aaba29321a75 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/ce: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d8c304b504bc2709eaec742be1b30d5e53e47449 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/bsp: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f0961867b817e3aca45dca7e1885a7ec99a260ed Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/xtensa: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b26ada6fedeb7cf6dacb1275a8ea08f4e39b53d2 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/falcon: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6052dc5775ac0be49db3e25d2719c72a250189a2 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/volt: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cb8bb9cedb6015eafd56ef9e9c5b2c216e8e7960 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/tmr: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit da06b46b720687117178d3ee85a601762f1c36b5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/therm: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5a7d1e22feedd3cfab5a94bba5f26ab61610bc62 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/pmu: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2d9d5889e8848501ffe71b4e99c639a29a1fe10f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/mxm: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1f5bffca226929a834c7d631464d420e78cbe5f1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/mmu: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2ca0ddbc03917f94c6d34820f91d0c920c057df2 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/mc: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c7750cfbc150460a507deb27b8eed93fcf60ea8d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/ltc: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c44c06aeebf481fb69c665a21090f2f0aac878c5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/imem: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ac51596f27d5cece39cb63b857e6ebbffa05ca33 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/ibus: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5b920d926422fdc5b40b703d72344d5e20b3872a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/i2c: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e7d65181045898a6da80add0392765e253b0023c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/gpio: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ce7b4f60a84cfb1533f217198b01758aab05f4dc Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/fuse: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b1e4553cb1f9deddbd8c13d95e9cef81967a3f41 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/fb: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 266f8b5ee6e98979f3251efc81451a2a2cbf2a28 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/devinit: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3eca809b3c05ea6918c1d13da478abdae5e712ba Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/clk: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 01d6b95605ad5c5be9ce0c7bf37b1a6d51cbb9e4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/bus: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a00014e3963642e7cf7206a9fa814b547d642a72 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/bios: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5b0c189fcb232daa1cabac8892e42cdee57254bd Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/bar: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9ace404b1098221021b01c2ba0eeea0c257fa4a5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/device: include core/device.h automatically for subdevs/engines Pretty much every subdev/engine is going to need access to nvkm_device shortly to touch registers and/or output messages. The odd placement of the includes is necessary to work around some inter-dependencies that currently exist. This will be fixed later. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6d0d40e7a577bbc7497ee7fbfeb2315d46a872a6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/device: add direct pointer to struct device A future commit will hide the platform/pci specifics from nvkm_device, but it's still very useful in a lot of places to have access to the Linux device struct. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 741d778ea0dde26a345717f1843407760f02fe03 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:05 2015 +1000 drm/nouveau/device: add direct pointers to subdevs from nvkm_device Will be used in upcoming commits to remove the need for lookup/runtime type-checking functions when accessing foreign subdevs. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d351b8569e3c57bf5dc3dd5a1295974a9e04316e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:05 2015 +1000 drm/nouveau/subdev: add direct pointer to nvkm_device Will be utilised in upcoming commits to remove the need for heuristics to lookup the device a subdev belongs to. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0d5dd3f301bbc66c41b219f50fa97a6df1965cfe Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:05 2015 +1000 drm/nouveau/lib: various tweaks Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 205877f9156daebb975fb46205488da6fdf5b3f5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 27 17:33:19 2015 +1000 drm/nouveau/pmu/gk104: implement a hackish workaround for a hw bug Only a handful of machines have this enabled by default, where it's been proven to work. The workaround can be explicitly enabled with a module option also. Still waiting on feedback from NVIDIA for a proper idea of exactly what this fix is doing, and how to implement it properly. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a89359415da2fc1250b4c205de3c384bd781f54 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Aug 21 13:38:31 2015 +1000 drm/nouveau/disp/dp: gm1xx appears to have same dp lane ordering as gm2xx Fixes 2-lane DP on Quadro K620. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fe0f5d08806dcf7fd51092dfc6ea666ea2392692 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Aug 21 12:50:07 2015 +1000 drm/nouveau/disp/dp: fix some tx_pu mishandling We only need to mask 0x0f on GM2xx, and want to keep the higher bits on earlier cards. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f10956d4455fcb24ecbdca30e6d9d88c95dc2588 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Aug 21 13:19:13 2015 +1000 drm/nouveau/bios/dp: use alternate set of drvctl values where necessary Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7c11c99b3c66a8e03494e56ce6e6c5303ee85934 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Aug 21 10:52:54 2015 +1000 drm/nouveau/bios/dcb: accept "maxwell" lane count values for dcb 4.0 We previously assumed that the values "2" and "4" were new in DCB 4.1, however, there's at least one GM107 DCB 4.0 board (Quadro K620) that uses the newer values. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 895fb8e6f77589b9c50ff1f231b5025935d1d59f Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Mon Aug 17 19:37:34 2015 -0400 drm/nouveau/fb/sddr3: add WR/CWL values seen on a GK208 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0a363e85cdafbceeee6a49b91c604d0d4d070dc7 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Jul 23 17:20:12 2015 +0200 drm/nouveau/nv46: Change mc subdev oclass from nv44 to nv4c MSI interrupts appear to not work for nv46 based cards. Change the mc subdev oclass for these cards from nv44 to nv4c, the nv4c mc code is identical to the nv44 mc code except that it does not use msi (it does not define a msi_rearm callback). BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=90435 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2df0bf57f89cfa6e6adafb44d666ecc4a228a731 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Tue Aug 4 23:58:15 2015 +0200 drm/nouveau/pm/gf100: only use PBFB_BROADCAST.PM_UNK100 for PBFB signals High level hardware events related to PBFB will monitor all partitions. While we are at it, fix bitfield for this mux. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8feece04db884e04c31c008b76a7610849757720 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Tue Aug 4 23:58:14 2015 +0200 drm/nouveau/pm/gf100: remove multiple definitions of GPC_DOM signal 0x0e Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9b4dc66d4772a432f271e1ebafd70aafe2b9bb27 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Tue Aug 4 23:58:13 2015 +0200 drm/nouveau/pm/gf100: remove undefined TEX.PM_UNKC8 mux This mux only exists on GF108+ (except for GF110 one), but since it is not used by the userspace we can drop it for now. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7fe882eb90844f79acd9cdd3ccd5d3459c27cf3f Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Tue Aug 4 23:58:12 2015 +0200 drm/nouveau/pm: allow zeroed signals to enable sources Hardware signals index 0x00 are defined for some domains and they have to be allowed to enable sources like the others. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5a23936129b87833e3f3e90a610c65f73c7bbeaa Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jul 26 11:30:08 2015 +0200 drm/nouveau/pm/nv50: TPC[0x3] must be used for PGRAPH muxs on G80 I thought that using TPC[0x0] like for G84:GT215 was sufficient on G80, but it's actually not the case. According to NVIDIA PerfKit on Windows, we have to configure PGRAPH related muxs on TPC[0x3] for this chipset. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a4650ed9bd6564b5135ccebf8a5b108ed16abbac Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jul 26 11:30:07 2015 +0200 drm/nouveau/pm/nv50: fix wrong addr for ZCULL source on G80:GT215 Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bacbad17fbc636125bf472240860a58a54ad62db Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Fri Jun 19 02:51:23 2015 -0400 drm/nouveau/bios: add opcodes 0x73 and 0x77 No known VBIOSes use these, but they are present in the actual VBIOS table parsing logic. No harm in adding these too. Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 970fee29d036eda3ea869033d6b0b7b42238b22a Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:06 2015 +0900 drm/nouveau/platform: recognize GM20B Allow the platform driver to recognize GM20B. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d10ae271301803c2720b8ad53d6a90b5620ea439 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:05 2015 +0900 drm/nouveau/device: recognize GM20B Recognize GM20B and assign the right engines and subdevs. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a032fb9da665ed6e6a36fa6788eff1db43ba2703 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:04 2015 +0900 drm/nouveau/gr: add GM20B support Add support for GM20B's graphics engine, based on GK20A. Note that this code alone will not allow the engine to initialize on released devices which require PMU-assisted secure boot. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3326060a17f6ef8ca3d3f785b1ae31ff76f713f6 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:03 2015 +0900 drm/nouveau/fifo: add GM20B fifo GM20B has a 512-channels FIFO similar to GK104. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c4d0f8f6f8c8dc09cd32e7fdb31e3d1a65a0f8f1 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:02 2015 +0900 drm/nouveau/gr/gk20a: use same initialization sequence as nvgpu GK20A's initialization was based on GK104, but differences exist in the way the initial context is built and the initialization process itself. This patch follows the same initialization sequence as nvgpu performs to avoid bad surprises. Since the register bundles initialization also differ considerably from GK104, the register packs are now loaded from firmware files, again similarly to what is done with nvgpu. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8539b37acef73949861a16808b60cb8b5b9b3bab Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:01 2015 +0900 drm/nouveau/gr: use NVIDIA-provided external firmwares NVIDIA will officially start providing GR firmwares through linux-firmware for GPUs that require it. Change the GR firmware lookup function to use these files. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 13cffadced770954fc647e1aee8c959a99ecf0f4 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Fri Jun 19 17:37:18 2015 +0200 drm/nouveau/pm/gk104: add compute signals/sources These signals and sources have been reverse engineered from CUPTI (Linux). Graphics signals exposed by PerfKit (Windows only) will be added later. I need to reverse engineer them and it's a bit painful. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1914f673ec8b440a03ed56e0a1f42e3565c405c7 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Fri Jun 19 17:37:17 2015 +0200 drm/nouveau/pm/gk104: re-use gf100_pm_ctor() gk104_pm_ctor() is equal to gf100_pm_ctor(). Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 261d678d10d9ba866e279e0da0415267f1e6e561 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Fri Jun 19 17:36:38 2015 +0200 drm/nouveau/pm/nv40: rename pcounter domains to 'pc' instead of 'pm' This trivial patch makes thing more consistent since hardware signals names are prefixed by 'pcXX'. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit df0b37ee1aa19fc1b948099bf449fdd94f36036c Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Fri Jun 19 17:36:37 2015 +0200 drm/nouveau/pm: expose name of domains This is going to be very useful for GF100+ because each GPC can have its own domain of counters. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 85fa319d8a5240bab2e4123cfc9178bff55694ca Author: Wei Ni <wni@xxxxxxxxxx> Date: Tue Jun 16 17:35:12 2015 +0800 drm/nouveau/drm/nouveau/clk: fix tstate to pstate calculation According to the tstate calculation in nvkm_clk_tstate(), the range of tstate is from -(clk->state_nr - 1) to 0, it mean the tstate is negative value. But in nvkm_pstate_work(), it use (clk->state_nr - 1 - clk->tstate) to limit pstate, it's not correct. This patch fix it to use (clk->state_nr - 1 + clk->tstate) to limit pstate. Signed-off-by: Wei Ni <wni@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d4a312dc90a7c1079133b038aec0120ee9e3d0ce Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 14 13:50:06 2015 +0200 drm/nouveau/pm: some fixes related to sources Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit eb94345a93204f0d7d7e0809dde329977522aec0 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 14 13:50:05 2015 +0200 drm/nouveau/pm: fix signals/sources for GT200+ Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 94a2ef69aa0c3612577ab1a6f5c248b206118e68 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 14 13:33:55 2015 +0200 drm/nouveau/pm/gf100: add compute signals/sources These signals and sources have been reverse engineered from CUPTI (Linux). Graphics signals exposed by PerfKit (Windows only) will be added later. I need to reverse engineer them and it's a bit painful. This commit also adds a new class for GF108 and GF117. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 060f50e3b100b8f51fbf165de48c2ea097ff7390 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 14 13:33:54 2015 +0200 drm/nouveau/pm/gf100: allow to share GPC, HUB and PART domains Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f21950ea35c86be79c293b199fe48b5152ec8311 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Sun Jun 14 12:20:37 2015 +1000 drm/nouveau/pm: stack perfdom class under perfmon Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2d4b94b95f30b0a4244fce4866583094d991c0ec Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Sun Jun 14 12:10:59 2015 +1000 drm/nouveau/pm: swap perfmon/perfdom code to avoid forward decl in next commit Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 06b7972dc915e60051cd6531d988a7c72645d00a Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:28 2015 +0200 drm/nouveau/pm/nv50: add compute and graphics signals/sources These signals and sources have been reverse engineered from NVIDIA PerfKit (Windows) and CUPTI (Linux), they will be used to build complex hardware events from the userspace. This commit also adds a new class for GT200. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6137b5a7c2aeca9f72229c120504f5d083fa9127 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:27 2015 +0200 drm/nouveau/pm: allow the userspace to configure sources Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0f3804360dd4f88332b9c0b2d7cb4c1f30893cc7 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:26 2015 +0200 drm/nouveau/pm: allow to configure domains instead of simple counters Configuring counters from the userspace require the kernel to handle some logic related to performance counters. Basically, it has to find a free slot to assign a counter, to handle extra counting modes like B4/B6 and it must return and error when it can't configure a counter. In my opinion, the kernel should not handle all of that logic but it should only write the configuration sent by the userspace without checking anything. In other words, it should overwrite the configuration even if it's already counting and do not return any errors. This patch allows the userspace to configure a domain instead of separate counters. This has the advantage to move all of the logic to the userspace. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3bfdde178a959cb5e490e4a3a2433c95a9a1af26 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:25 2015 +0200 drm/nouveau/pm: allow the userspace to schedule hardware counters This adds a new method NVIF_PERFCTR_V0_INIT which starts a batch of hardware counters for sampling. This will allow the userspace to start a monitoring session using the INIT method and to stop it with SAMPLE, for example before and after a frame is rendered. This commit temporarily breaks nv_perfmon but this is going to be fixed with the upcoming patch. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6f99c84873f455a76a0356061b276bc0c89b5d92 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:24 2015 +0200 drm/nouveau/pm: implement NVIF_PERFMON_V0_QUERY_SOURCE method This allows to query the ID, the mask and the user-readable name of sources for each signal. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 50d138d7528c3370ebf3a54079091a35a60a23be Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:23 2015 +0200 drm/nouveau/pm: allow to query the number of sources for a signal Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e82661e23c60fc41424ca138820d729d8e4a2226 Author: Samuel Pitoiset <samuel.pitoisetÅ?gmail.com> Date: Sun Jun 7 22:40:22 2015 +0200 drm/nouveau/pm: add concept of sources A source (or multiplexer) is a tuple addr+mask+shift which allows to control a block of signals. The maximum number of sources that a signal can define is arbitrary limited to 8 and this should be large enough. This patch allows to define multi-level of sources for a signal. Each different sources are stored to a global list and will be exposed to the userspace through the nvif interface in order to avoid conflicts. Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 40a3b22c92ac3dad5adc818a84671bfb00303731 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:21 2015 +0200 drm/nouveau/pm: allow to monitor hardware signal index 0x00 This signal index must be always allowed even if it's not clearly defined in a domain in order to monitor a counter like 0x03020100 because it's the default value of signals. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 10a4d2b2489394e32f17afc6cc63ccdfc1b6050b Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:20 2015 +0200 drm/nouveau/pm: use hardware signals indexes instead of user-readable names Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e4047599aede7a7aca97ace770002c4e29e403d2 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:19 2015 +0200 drm/nouveau/pm: change signal iter to u16 16 bits is large enough to store the maximum number of signals available for one domain (i.e. 256). Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3e1b33571ab4937cbd400976a115e4922797559a Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:18 2015 +0200 drm/nouveau/pm: allow to query signals by domain This will allow to configure performance counters with hardware signal indexes instead of user-readable names in an upcoming patch. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 45f0f94db285009a41a94e069618ea9bb269af84 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:17 2015 +0200 drm/nouveau/pm: implement NVIF_PERFMON_V0_QUERY_DOMAIN method This allows to query the number of available domains, including the number of hardware counter and the number of signals per domain. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 44d9de58ea5633e4f2d062e718016383b28b4eed Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:16 2015 +0200 drm/nouveau/pm: prevent creating a perfctr object when signals are not found Since a new class has been introduced to query signals, we can now return an error when the userspace wants to monitor unknown signals. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5a0bc4b5aeba3bb32eb7da6a98108e93bbd64f7e Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:15 2015 +0200 drm/nouveau/pm: reorganize the nvif interface This commit introduces the NVIF_IOCTL_NEW_V0_PERFMON class which will be used in order to query domains, signals and sources. This separates the querying and the counting interface. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a78ce96f96d76311fd165207a6ffb64b0ebd85cc Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:14 2015 +0200 drm/nouveau/pm: remove unused nvkm_perfsig_wrap() function Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Reviewed-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0b7515c035d26faee91b6c3023622385c109b99e Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:13 2015 +0200 drm/nouveau/pm: remove pmu signals PDAEMON signals don't have to be exposed by the perfmon engine. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Reviewed-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 087cd0db87a79b03d35567a32d4a29bee179ad9e Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sun May 24 10:44:02 2015 +0200 drm/nouveau/clk/nv50: Enable user reclocking for NVA0 Tested on a few cards. Probably works quite well for most, given they should all be GDDR3. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 852c619b6e6e33509b405a5ad7400255e02ba8ec Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sun May 24 10:44:01 2015 +0200 drm/nouveau/fb/gddr3: Add a few CL and WR entries observed on GTX260 Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 82a74fd2936afd97e83cf195c41dc372ebe9fc84 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sun May 24 10:44:00 2015 +0200 drm/nouveau/fb/ramnv50: GDDR3 script for NVA0 This looks surprisingly similar to scripts on earlier cards as well but they don't seem to work just yet. That... and I don't have any, which makes it a tough job to reverse engineer. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c25bf7b6155cb1e737c39ab76c844469deed3c98 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sun May 24 10:43:59 2015 +0200 drm/nouveau/bios/ramcfg: Separate out RON pull value Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2813e19f13035e5971b6f4001782135cfc0909e0 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sat May 23 10:37:47 2015 +0200 drm/nouveau/bios/rammap: Parse perf mode as if it's a rammap entry Some of the bits in there are similar to the bits in the gt215 rammap. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 35fe024acffc2c29bade5a68a09962bf7ea3c8ed Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sat May 23 10:37:46 2015 +0200 drm/nouveau/fb/ramnv50: Ressurect timing code, use proper timing/rammap handlers Might need some generalisation to < GT200. For those: use at your own risk! Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3b582bed907a26b30e511c83c24254c0ae987f47 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sat May 23 10:37:45 2015 +0200 drm/nouveau/fb/ramgt215: No need to cuss like that Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d4cc5f0c2aea8350fe07a87cd312ca6a8f1f3129 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sat May 23 10:37:44 2015 +0200 drm/nouveau/fb/ramnv50: Make 0x100da0 per-partition Like on GT215 Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7164f4c5b2cfe9aa59d290ea71268022f8950eba Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sat May 23 10:37:43 2015 +0200 drm/nouveau/bios/rammap: Pull DLLoff bit out of version 0x10 struct In preparation of NV50 reclocking, where there is no version Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4a68ccc8e49854e071e14995de2a35016b240131 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Apr 29 10:28:17 2015 +1000 remove unnecessary include This was merged with core/device.h in an earlier commit, but somehow never got removed. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1f821ed7afaa7ed689322ee2369f270e374a6350 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 16:30:18 2015 +0530 PM / OPP: Free resources and properly return error on failure _of_init_opp_table_v2() isn't freeing up resources on some errors and the error values returned are also not correct always. This fixes following problems: - Return -ENOENT, if no entries are found in the table. - Use IS_ERR() to properly check return value of _find_device_opp(). - Return error value with PTR_ERR() in above case. - Free table if _find_device_opp() fails. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ea0f8acf4d44727f7d3a38072566029bf5e17b44 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:12:37 2015 +1000 powerpc/pseries: Cleanup on pci_dn_reconfig_notifier() This applies cleanup on pci_dn_reconfig_notifier(), no functional changes: * Rename variable "pci" to "pdn" to indicate its purpose clearly. * The parent node can be released at any time. So it should be hold with of_get_parent() before accessing it. * The device node doesn't have to have parent node in theory. More check on this. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 590c7567a2895f939525ead57b0334c6d47986f0 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:12:36 2015 +1000 powerpc/pseries: Fix corrupted pdn list Commit cca87d30 ("powerpc/pci: Refactor pci_dn") introduced pdn list for SRIOV VFs. It means the pdn is be put into the child list of its parent pdn when the pdn is created. When doing PCI hot unplugging on pSeries, the PCI device node as well as its pdn are released through procfs entry "powerpc/ofdt". Some one else grabs the memory chunk of the pdn and update it accordingly. At the same time, the pdn is still tracked in the child list of parent pdn. It leads to corrupted child list in the parent pdn. This fixes above issue by removing the pdn from the child list of its parent pdn when the device node is detached from the system. Note the pdn is free'd when the device node is released if the device node is dynamic one. Otherwise, the device node as well as the pdn won't be released. Fixes: cca87d30 ("powerpc/pci: Refactor pci_dn") Cc: stable@xxxxxxxxxxxxxxx # 4.1+ Reported-by: Santwana Samantray <santwana.samantray@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4941b8f0c2b9d88e8a6dacebf8b7faf603b98368 Merge: e001d70 4d9aac3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 17:59:17 2015 -0700 Merge tag 'powerpc-4.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fixes from Michael Ellerman: "Fix MSI/MSI-X on pseries from Guilherme" * tag 'powerpc-4.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code commit e001d7084a687c7a25b02bee47548a1df10d6e0b Merge: 5c98bcc f648f80 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 17:52:38 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "Some straggler bug fixes here: 1) Netlink_sendmsg() doesn't check iterator type properly in mmap case, from Ken-ichirou MATSUZAWA. 2) Don't sleep in atomic context in bcmgenet driver, from Florian Fainelli. 3) The pfkey_broadcast() code patch can't actually ever use anything other than GFP_ATOMIC. And the cases that right now pass GFP_KERNEL or similar will currently trigger an RCU splat. Just use GFP_ATOMIC unconditionally. From David Ahern. 4) Fix FD bit timings handling in pcan_usb driver, from Marc Kleine-Budde. 5) Cache dst leaked in ip6_gre tunnel removal, fix from Huaibin Wang. 6) Traversal into drivers/net/ethernet/renesas should be triggered by CONFIG_NET_VENDOR_RENESAS, not a particular driver's config option. From Kazuya Mizuguchi. 7) Fix regression in handling of igmp_join errors in vxlan, from Marcelo Ricardo Leitner. 8) Make phy_{read,write}_mmd_indirect() properly take the mdio_lock mutex when programming the registers. From Russell King. 9) Fix non-forced handling in u32_destroy(), from WANG Cong. 10) Test the EVENT_NO_RUNTIME_PM flag before it is cleared in usbnet_stop(), from Eugene Shatokhin. 11) In sfc driver, don't fetch statistics firmware isn't capable of, from Bert Kenward. 12) Verify ASCONF address parameter location in SCTP, from Xin Long" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state sctp: asconf's process should verify address parameter is in the beginning sfc: only use vadaptor stats if firmware is capable net: phy: fixed: propagate fixed link values to struct usbnet: Get EVENT_NO_RUNTIME_PM bit before it is cleared drivers: net: xgene: fix: Oops in linkwatch_fire_event cls_u32: complete the check for non-forced case in u32_destroy() net: fec: use reinit_completion() in mdio accessor functions net: phy: add locking to phy_read_mmd_indirect()/phy_write_mmd_indirect() vxlan: re-ignore EADDRINUSE from igmp_join net: compile renesas directory if NET_VENDOR_RENESAS is configured ip6_gre: release cached dst on tunnel removal phylib: Make PHYs children of their MDIO bus, not the bus' parent. can: pcan_usb: don't provide CAN FD bittimings by non-FD adapters net: Fix RCU splat in af_key net: bcmgenet: fix uncleaned dma flags net: bcmgenet: Avoid sleeping in bcmgenet_timeout netlink: mmap: fix tx type check commit 5c98bcce6497c55947f1fc22e51b41849d9ad3fe Merge: 9580381 402bae5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 17:46:06 2015 -0700 Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull nvdimm fixlet from Dan Williams: "This is a libnvdimm ABI fixup. I pushed back on this change quite hard given the late date, that it appears to be purely cosmetic, sysfs is not necessarily meant to be a user friendly UI, and the kernel interprets the reversed polarity of the ACPI_NFIT_MEM_ARMED flag correctly. When this flag is set, the energy source of an NVDIMM is not armed and any new writes to the DIMM may not be preserved. However, Bob Moore warned me that it is important to get these things named correctly wherever they appear otherwise we run the risk of a less than cautious firmware engineer implementing the polarity the wrong way. Once a mistake like that escapes into production platforms the flag becomes useless and we need to move to a new bit position. Bob has agreed to take a change through ACPICA to rename ACPI_NFIT_MEM_ARMED to ACPI_NFIT_MEM_NOT_ARMED, and the patch below from Toshi brings the sysfs representation of these flags in line with their respective polarities. Please pull for 4.2 as this is the first kernel to expose the ACPI NFIT sysfs representation, and this is likely a kernel that firmware developers will be using for checking out their NVDIMM enabling" * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: nfit: Clarify memory device state flags strings commit 6669cb8bed02ec1b60e80f2e1e317afc28544207 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 27 20:43:20 2015 -0400 NFSv4.1/pnfs: Ensure layoutreturn reserves space for the opaque payload The "FIXME" is outdated. Flexfiles does add a payload. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit d13549074cf066d6d5bb29903d044beffea342d3 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 27 20:37:39 2015 -0400 NFSv4.1/flexfiles: Fix a protocol error in layoutreturn According to the flexfiles protocol, the layoutreturn should specify an array of errors in the following format: struct ff_ioerr4 { offset4 ffie_offset; length4 ffie_length; stateid4 ffie_stateid; device_error4 ffie_errors<>; }; This patch fixes up the code to ensure that our ffie_errors is indeed encoded as an array (albeit with only a single entry). Reported-by: Tom Haynes <thomas.haynes@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 55f14da66954083b621debbdbf62c7fc429291e8 Merge: 69dba9b 3e692f2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 17:14:30 2015 -0700 Merge branch 'iff_no_queue_fixups' Phil Sutter says: ==================== fixup IFF_NO_QUEUE conversion This series serves two purposes: On one hand it fixes a quite embarrassing bug around the warning I added for drivers still setting tx_queue_len = 0 to achieve noqueue operation. It turned out to be quite useless as due to using alloc_netdev(), many in-kernel drivers fell into the trap by accident, as well. Instead this place serves pretty well as a sanitizing point to set IFF_NO_QUEUE for drivers not initializing tx_queue_len, which in turn allows to drop all special treatment of the latter being zero since that can not happen anymore without IFF_NO_QUEUE being set. On the other hand, it provides a better solution for Eric Dumazet's concern regarding how to assign noqueue to an interface which does not default to it already. In order to make this possible, noqueue is being registered so users can 'tc qd add dev eth0 root noqueue'. In addition, it resolves the ugly situation of 'tc qd show' not showing noqueue. Finally, the former changes allow for some code cleanup. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e692f21532a54eeb5e6fc0ccc214cfa56fe23d3 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 27 21:21:39 2015 +0200 net: sched: simplify attach_one_default_qdisc() Now that noqueue qdisc can be attached just like any other qdisc, no special treatment is necessary anymore when attaching it as default qdisc. This change has the added benefit that 'tc qdisc show' prints noqueue instead of nothing for devices defaulting to noqueue. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d66d6c3152e8d5a6db42a56bf7ae1c6cae87ba48 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 27 21:21:38 2015 +0200 net: sched: register noqueue qdisc This way users can attach noqueue just like any other qdisc using tc without having to mess with tx_queue_len first. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db4094bca7a5746bc8e36db0557e8732963e88f0 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 27 21:21:37 2015 +0200 net: sched: ignore tx_queue_len when assigning default qdisc Since alloc_netdev_mqs() sets IFF_NO_QUEUE for drivers not initializing tx_queue_len, it is safe to assume that if tx_queue_len is zero, dev->priv flags always contains IFF_NO_QUEUE. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f84bb1eac0275283ccd76455e20f926e186ea8c8 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 27 21:21:36 2015 +0200 net: fix IFF_NO_QUEUE for drivers using alloc_netdev Printing a warning in alloc_netdev_mqs() if tx_queue_len is zero and IFF_NO_QUEUE not set is not appropriate since drivers may use one of the alloc_netdev* macros instead of alloc_etherdev*, thereby not intentionally leaving tx_queue_len uninitialized. Instead check here if tx_queue_len is zero and set IFF_NO_QUEUE, so the value of tx_queue_len can be ignored in net/sched_generic.c. Fixes: 906470c ("net: warn if drivers set tx_queue_len = 0") Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69dba9bbc50609f19ee89d62d5199c81fcbc74b2 Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Thu Aug 27 18:05:49 2015 -0600 sock: fix kernel doc error The symbol '__sk_reclaim' is not present in the current tree. Apparently '__sk_reclaim' was meant to be '__sk_mem_reclaim', so fix it with the right symbol name for the kernel doc. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Cc: Hideo Aoki <haoki@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f648f807f61e64d247d26611e34cc97e4ed03401 Author: lucien <lucien.xin@xxxxxxxxx> Date: Thu Aug 27 04:52:20 2015 +0800 sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state Commit f8d960524328 ("sctp: Enforce retransmission limit during shutdown") fixed a problem with excessive retransmissions in the SHUTDOWN_PENDING by not resetting the association overall_error_count. This allowed the association to better enforce assoc.max_retrans limit. However, the same issue still exists when the association is in SHUTDOWN_RECEIVED state. In this state, HB-ACKs will continue to reset the overall_error_count for the association would extend the lifetime of association unnecessarily. This patch solves this by resetting the overall_error_count whenever the current state is small then SCTP_STATE_SHUTDOWN_PENDING. As a small side-effect, we end up also handling SCTP_STATE_SHUTDOWN_ACK_SENT and SCTP_STATE_SHUTDOWN_SENT states, but they are not really impacted because we disable Heartbeats in those states. Fixes: Commit f8d960524328 ("sctp: Enforce retransmission limit during shutdown") Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5334c5bdac926c5f8d89729beccb46fe88eda9e7 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Aug 26 21:13:37 2015 +0800 NFS: Send attributes in OPEN request for NFS4_CREATE_EXCLUSIVE4_1 Client sends a SETATTR request after OPEN for updating attributes. For create file with S_ISGID is set, the S_ISGID in SETATTR will be ignored at nfs server as chmod of no PERMISSION. v3, same as v2. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8c61282ff61c28d5a12bb53f0eaa221d30fd3ae1 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Aug 26 21:12:58 2015 +0800 NFS: Get suppattr_exclcreat when getting server capabilities Create file with attributs as NFS4_CREATE_EXCLUSIVE4_1 mode depends on suppattr_exclcreat attribut. v3, same as v2. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5153aacfb8e2744af68e7b84ccd3f02aeefe4f48 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Aug 26 21:12:15 2015 +0800 NFS: Update NFS4_BITMAP_SIZE v4.1/v4.2 have define attributes at word2, nfs client also support security label now. v3, same as v2. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c5c3fb5f975a8bcc42cd039b83d9a4729ce489bb Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Aug 26 21:11:39 2015 +0800 NFS: Make opened as optional argument in _nfs4_do_open Check opened, only update it when non-NULL. It's not needs define an unused value for the opened when calling _nfs4_do_open. v3, same as v2. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit ae57ca0f4fce219ef34c28f0edc210598c465a4d Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Aug 26 21:10:55 2015 +0800 NFS: Check size by inode_newsize_ok in nfs_setattr Set rlimit for NFS's files is useless right now. For local process's rlimit, it should be checked by nfs client. The same, CIFS also call inode_change_ok checking rlimit at its client in cifs_setattr_nounix() and cifs_setattr_unix(). v3, fix bad using of error Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 96601adb745186ccbcf5b078d4756f13381ec2af Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 24 18:29:38 2015 -0400 x86, pmem: clarify that ARCH_HAS_PMEM_API implies PMEM mapped WB Given that a write-back (WB) mapping plus non-temporal stores is expected to be the most efficient way to access PMEM, update the definition of ARCH_HAS_PMEM_API to imply arch support for WB-mapped-PMEM. This is needed as a pre-requisite for adding PMEM to the direct map and mapping it with struct page. The above clarification for X86_64 means that memcpy_to_pmem() is permitted to use the non-temporal arch_memcpy_to_pmem() rather than needlessly fall back to default_memcpy_to_pmem() when the pcommit instruction is not available. When arch_memcpy_to_pmem() is not guaranteed to flush writes out of cache, i.e. on older X86_32 implementations where non-temporal stores may just dirty cache, ARCH_HAS_PMEM_API is simply disabled. The default fall back for persistent memory handling remains. Namely, map it with the WT (write-through) cache-type and hope for the best. arch_has_pmem_api() is updated to only indicate whether the arch provides the proper helpers to meet the minimum "writes are visible outside the cache hierarchy after memcpy_to_pmem() + wmb_pmem()". Code that cares whether wmb_pmem() actually flushes writes to pmem must now call arch_has_wmb_pmem() directly. Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> [hch: set ARCH_HAS_PMEM_API=n on x86_32] Reviewed-by: Christoph Hellwig <hch@xxxxxx> [toshi: x86_32 compile fixes] Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 41e94a851304f7acac840adec4004f8aeee53ad4 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 16:00:35 2015 +0200 add devm_memremap_pages This behaves like devm_memremap except that it ensures we have page structures available that can back the region. Signed-off-by: Christoph Hellwig <hch@xxxxxx> [djbw: catch attempts to remap RAM, drop flags] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 033fbae988fcb67e5077203512181890848b8e90 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Sun Aug 9 15:29:06 2015 -0400 mm: ZONE_DEVICE for "device memory" While pmem is usable as a block device or via DAX mappings to userspace there are several usage scenarios that can not target pmem due to its lack of struct page coverage. In preparation for "hot plugging" pmem into the vmemmap add ZONE_DEVICE as a new zone to tag these pages separately from the ones that are subject to standard page allocations. Importantly "device memory" can be removed at will by userspace unbinding the driver of the device. Having a separate zone prevents allocation and otherwise marks these pages that are distinct from typical uniform memory. Device memory has different lifetime and performance characteristics than RAM. However, since we have run out of ZONES_SHIFT bits this functionality currently depends on sacrificing ZONE_DMA. Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Jerome Glisse <j.glisse@xxxxxxxxx> [hch: various simplifications in the arch interface] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 012dcef3f058385268630c0003e9b7f8dcafbeb4 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 7 17:41:01 2015 -0400 mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h Three architectures already define these, and we'll need them genericly soon. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit cb389b9c0e00c30c9daf20287f7d91e2466edbb1 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Aug 7 17:41:00 2015 -0400 dax: drop size parameter to ->direct_access() None of the implementations currently use it. The common bdev_direct_access() entry point handles all the size checks before calling ->direct_access(). Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit b0f6446377e72bcabafe83d29bf6a2f6dd19d0b0 Author: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:43:26 2015 -0500 net/mlx4_core: Fix unintialized variable used in error path The uninitialized value name in mlx4_en_activate_cq was used in order to print an error message. Fixing it by replacing it with cq->vector. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a9bf88a5caa8495b5eb2b738d5fb40924bbc538 Merge: a06a757 67a3e8f Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Aug 27 19:40:26 2015 -0400 Merge branch 'pmem-api' into libnvdimm-for-next commit 9293267a3e2a7a2555d8ddc8f9301525e5b03b1b Author: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:43:25 2015 -0500 net/mlx4_core: Capping number of requested MSIXs to MAX_MSIX We currently manage IRQs in pool_bm which is a bit field of MAX_MSIX bits. Thus, allocating more than MAX_MSIX interrupts can't be managed in pool_bm. Fixing this by capping number of requested MSIXs to MAX_MSIX. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b22fbf22f8469d8cacb6fcf5d266426826e1137d Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:19:20 2015 -0700 bridge: fdb: rearrange net_bridge_fdb_entry While looking into fixing the local entries scalability issue I noticed that the structure is badly arranged because vlan_id would fall in a second cache line while keeping rcu which is used only when deleting in the first, so re-arrange the structure and push rcu to the end so we can get 16 bytes which can be used for other fields (by pushing rcu fully in the second 64 byte chunk). With this change all the core necessary information when doing fdb lookups will be available in a single cache line. pahole before (note vlan_id): struct net_bridge_fdb_entry { struct hlist_node hlist; /* 0 16 */ struct net_bridge_port * dst; /* 16 8 */ struct callback_head rcu; /* 24 16 */ long unsigned int updated; /* 40 8 */ long unsigned int used; /* 48 8 */ mac_addr addr; /* 56 6 */ unsigned char is_local:1; /* 62: 7 1 */ unsigned char is_static:1; /* 62: 6 1 */ unsigned char added_by_user:1; /* 62: 5 1 */ unsigned char added_by_external_learn:1; /* 62: 4 1 */ /* XXX 4 bits hole, try to pack */ /* XXX 1 byte hole, try to pack */ /* --- cacheline 1 boundary (64 bytes) --- */ __u16 vlan_id; /* 64 2 */ /* size: 72, cachelines: 2, members: 11 */ /* sum members: 65, holes: 1, sum holes: 1 */ /* bit holes: 1, sum bit holes: 4 bits */ /* padding: 6 */ /* last cacheline: 8 bytes */ } pahole after (note vlan_id): struct net_bridge_fdb_entry { struct hlist_node hlist; /* 0 16 */ struct net_bridge_port * dst; /* 16 8 */ long unsigned int updated; /* 24 8 */ long unsigned int used; /* 32 8 */ mac_addr addr; /* 40 6 */ __u16 vlan_id; /* 46 2 */ unsigned char is_local:1; /* 48: 7 1 */ unsigned char is_static:1; /* 48: 6 1 */ unsigned char added_by_user:1; /* 48: 5 1 */ unsigned char added_by_external_learn:1; /* 48: 4 1 */ /* XXX 4 bits hole, try to pack */ /* XXX 7 bytes hole, try to pack */ struct callback_head rcu; /* 56 16 */ /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ /* size: 72, cachelines: 2, members: 11 */ /* sum members: 65, holes: 1, sum holes: 7 */ /* bit holes: 1, sum bit holes: 4 bits */ /* last cacheline: 8 bytes */ } Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67a3e8fe90156d41cd480d3dfbb40f3bc007c262 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Thu Aug 27 13:14:20 2015 -0600 nd_blk: change aperture mapping from WC to WB This should result in a pretty sizeable performance gain for reads. For rough comparison I did some simple read testing using PMEM to compare reads of write combining (WC) mappings vs write-back (WB). This was done on a random lab machine. PMEM reads from a write combining mapping: # dd of=/dev/null if=/dev/pmem0 bs=4096 count=100000 100000+0 records in 100000+0 records out 409600000 bytes (410 MB) copied, 9.2855 s, 44.1 MB/s PMEM reads from a write-back mapping: # dd of=/dev/null if=/dev/pmem0 bs=4096 count=1000000 1000000+0 records in 1000000+0 records out 4096000000 bytes (4.1 GB) copied, 3.44034 s, 1.2 GB/s To be able to safely support a write-back aperture I needed to add support for the "read flush" _DSM flag, as outlined in the DSM spec: http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf This flag tells the ND BLK driver that it needs to flush the cache lines associated with the aperture after the aperture is moved but before any new data is read. This ensures that any stale cache lines from the previous contents of the aperture will be discarded from the processor cache, and the new data will be read properly from the DIMM. We know that the cache lines are clean and will be discarded without any writeback because either a) the previous aperture operation was a read, and we never modified the contents of the aperture, or b) the previous aperture operation was a write and we must have written back the dirtied contents of the aperture to the DIMM before the I/O was completed. In order to add support for the "read flush" flag I needed to add a generic routine to invalidate cache lines, mmio_flush_range(). This is protected by the ARCH_HAS_MMIO_FLUSH Kconfig variable, and is currently only supported on x86. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit d3a730971b90dd150e43c924b1b4dec8197fccad Merge: c4d3e22 7b85b4d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 16:35:51 2015 -0700 Merge branch 'ovs-v6-build-err' Joe Stringer says: ==================== OPENVSWITCH && !NETFILTER build fix. Fix issues reported by kbuild test robot: All error/warnings (new ones prefixed by >>): net/openvswitch/actions.c: In function 'ovs_fragment': >> net/openvswitch/actions.c:705:16: error: implicit declaration of function 'nf_get_ipv6_ops' [-Werror=implicit-function-declaration] const struct nf_ipv6_ops *v6ops = nf_get_ipv6_ops(); ^ >> net/openvswitch/actions.c:705:37: warning: initialization makes pointer from integer without a cast const struct nf_ipv6_ops *v6ops = nf_get_ipv6_ops(); ^ >> net/openvswitch/actions.c:707:19: error: storage size of 'ovs_rt' isn't known struct rt6_info ovs_rt; ^ >> net/openvswitch/actions.c:724:8: error: dereferencing pointer to incomplete type v6ops->fragment(skb->sk, skb, ovs_vport_output); ^ >> net/openvswitch/actions.c:707:19: warning: unused variable 'ovs_rt' [-Wunused-variable] struct rt6_info ovs_rt; ^ cc1: some warnings being treated as errors ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b85b4dff2caa5e52726093fd058f87bbc14f156 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Thu Aug 27 15:25:46 2015 -0700 openvswitch: Include ip6_fib.h. kbuild test robot reports that certain configurations will not automatically pick up on the "struct rt6_info" definition, so explicitly include the header for this structure. Fixes: 7f8a436 "openvswitch: Add conntrack action" Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e4cfae2a8e3f9ce3925c9b6e9e865fe8476fc4f Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Thu Aug 27 15:25:45 2015 -0700 netfilter: Define v6ops in !CONFIG_NETFILTER case. When CONFIG_OPENVSWITCH is set, and CONFIG_NETFILTER is not set, the openvswitch IPv6 fragmentation handling cannot refer to ipv6_ops because it isn't defined. Add a dummy version to avoid #ifdefs in source files. Fixes: 7f8a436 "openvswitch: Add conntrack action" Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a06a7576526e10a99ea7721533e7f2df3e26baad Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Thu Aug 27 19:35:48 2015 -0400 nvdimm: change to use generic kvfree() Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit c4d3e22438d405b84c00710aad177184d789353f Merge: ec5d165 1e81779 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 16:31:17 2015 -0700 Merge branch 'mlxsw-small-updates' Jiri Pirko says: ==================== mlxsw: small driver update Ido Schimmel (2): mlxsw: Remove duplicate included header mlxsw: Make mailboxes 4KB aligned Jiri Pirko (1): mlxsw: adjust transmit fail log message level in __mlxsw_emad_transmit ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e81779ae41e5d14174ce5e61790ace34914ade0 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 27 17:59:57 2015 +0200 mlxsw: Make mailboxes 4KB aligned The HW-SW contract requires mailboxes passed to the firmware to be 4KB aligned. Previously, these mailboxes were mapped using streaming DMA routines, which do not guarantee the bus addresses to be 4KB aligned. Under certain conditions this constraint was indeed violated and errors were observed. By using consistent DMA mapping routines together with a mailbox size of 4KB we are guaranteed not to violate the constraint. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 262df6919edd837c0745fc2a751364af671feaf7 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 17:59:56 2015 +0200 mlxsw: adjust transmit fail log message level in __mlxsw_emad_transmit When transmit fails, it is an error, not a warning. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a585dabd96f3ccb4ada36cf616ab4477873b506c Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 27 17:59:55 2015 +0200 mlxsw: Remove duplicate included header Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 718e38b4d96085b4dab08d3d32e5e033aa1ba6e9 Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Jul 8 14:50:19 2015 +0300 mtd: mtd_oobtest: Fix the address offset with vary_offset case When vary_offset is set (e.g. test case 3), the offset is not always zero so memcmpshow() will show the wrong offset in the print message. To fix this we introduce a new function memcmpshowoffset() which takes offset as a parameter and displays the right offset and use it in the case where offset is non zero. The old memcmpshow() functionality is preserved by converting it into a macro with offset preset to 0. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ec5d165555ea02ac9b69bbed8ff8f1de7c782f66 Merge: 547c890 686ed30 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 16:28:35 2015 -0700 Merge branch 'rocker-master-change' Jiri Pirko says: ==================== rocker: make master change handling nicer Jiri Pirko (6): net: introduce change upper device notifier change info net: add netif_is_bridge_master helper net: add netif_is_ovs_master helper with IFF_OPENVSWITCH private flag net: kill long time unused bonding private flags rocker: use new helper to figure out master kind rocker: use change upper info ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 686ed3047e8727fe3c7eb5a3c63a5e9b1556bbbb Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:23 2015 +0200 rocker: use change upper info Since now information about changed upper is passed along, benefit from that and use this info directly. This also fixes possible issues that could happen when non-master device is added (current code does not distinguish between master and non-master upper device). Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb4bf214346e37778bcf00a89bfb90112859b23c Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:22 2015 +0200 rocker: use new helper to figure out master kind Looking at rtnl kind string is kind of ugly. So use new helpers to do this in nicer way. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0dc1549bfd67053181415a3f7544628a6bcd2a08 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:21 2015 +0200 net: kill long time unused bonding private flags We don't use them for years, just kill them now. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35d4e1725202e6656fcfa8b88447327ad3ae0c0c Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:20 2015 +0200 net: add netif_is_ovs_master helper with IFF_OPENVSWITCH private flag Add this helper so code can easily figure out if netdev is openswitch. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0894ae3f0a587bda9733ec4a4b67af7ded3a9498 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:19 2015 +0200 net: add netif_is_bridge_master helper Add this helper so code can easily figure out if netdev is a bridge. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0e4ead9d7b3655d76371604abb9b0dcc4e79bb7d Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:18 2015 +0200 net: introduce change upper device notifier change info Add info that is passed along with NETDEV_CHANGEUPPER event. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0bdb8fa6ecb4a356f26c6874db51b5488706e088 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 27 19:17:33 2015 -0400 NFSv4.1/pNFS: pnfs_mark_matching_lsegs_return must notify of layout return It's not sufficient to just mark the layout segment for layout return. We also need to set the NFS_LAYOUT_RETURN_BEFORE_CLOSE flag in the layout header. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 547c890cfd26010e01b3faf98f29ca9b2252c8d8 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Thu Aug 27 14:53:06 2015 +0800 virtio-net: avoid unnecessary sg initialzation Usually an skb does not have up to MAX_SKB_FRAGS frags. So no need to initialize the unuse part of sg. This patch initialize the sg based on the real number it will used: - during xmit, it could be inferred from nr_frags and can_push. - for small receive buffer, it will also be 2. Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e0aa59728854837a7256e21644596f21a16ce0f Merge: d2d427b 66d4700 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 15:42:48 2015 -0700 Merge branch 'geneve-consolidation' Pravin B Shelar says: ==================== Geneve: Add support for tunnel metadata mode Following patches adds support for Geneve tunnel metadata mode. OVS can make use of Geneve net-device with tunnel metadata API from kernel. This also allows us to consolidate Geneve implementation from two kernel modules geneve_core and geneve to single geneve module. geneve_core module was targeted to share Geneve encap and decap code between Geneve netdevice and OVS Geneve tunnel implementation, Since OVS no longer needs these API, Geneve code can be consolidated into single geneve module. v3-v4: - Drop NETIF_F_NETNS_LOCAL feature. - Fix geneve device newlink check v2-v3: - make tunnel medata device and regular device mutually exclusive. - Fix Kconfig dependency for Geneve. - Fix dst-port netlink encoding. - drop changelink patch. v1-v2: - Replaced per hash table tunnel pointer (metadata enabled) with flag. - Added support for changelink. - Improve geneve device route lookup with more parameters. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66d47003f7c1034d66776ab869030f73f6c9ce81 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:55 2015 -0700 geneve: Move device hash table to geneve socket. This change simplifies Geneve Tunnel hash table management. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Reviewed-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 371bd1061d29562e6423435073623add8c475ee2 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:54 2015 -0700 geneve: Consolidate Geneve functionality in single module. geneve_core module handles send and receive functionality. This way OVS could use the Geneve API. Now with use of tunnel meatadata mode OVS can directly use Geneve netdevice. So there is no need for separate module for Geneve. Following patch consolidates Geneve protocol processing in single module. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b001e682e90d7edf21f93687f5c3b39d412ad6c Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:53 2015 -0700 openvswitch: Use Geneve device. With help of tunnel metadata mode OVS can directly use Geneve devices to implement Geneve tunnels. This patch removes all of the OVS specific Geneve code and make OVS use a Geneve net_device. Basic geneve vport is still there to handle compatibility with current userspace application. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e305ac6cf5a1e1386aedce7ef9cb773635d5845c Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:52 2015 -0700 geneve: Add support to collect tunnel metadata. Following patch create new tunnel flag which enable tunnel metadata collection on given device. These devices can be used by tunnel metadata based routing or by OVS. Geneve Consolidation patch get rid of collect_md_tun to simplify tunnel lookup further. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd7918b35f0ee0106bbe2ce4a14b5a8c9763deb8 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:51 2015 -0700 geneve: Make dst-port configurable. Add netlink interface to configure Geneve UDP port number. So that user can configure it for a Gevene device. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c29a70d2cadfea443c027d23481f820530b70057 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:50 2015 -0700 tunnel: introduce udp_tun_rx_dst() Introduce function udp_tun_rx_dst() to initialize tunnel dst on receive path. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 980c394c53e420f7e5484d011378a4bec861ec7a Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:49 2015 -0700 geneve: Use skb mark and protocol to lookup route. On packet transmit path geneve need to lookup route. Following patch improves route lookup using more parameters. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87cd3dcaf4bd135e44ee187baf788deeb011e58d Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:48 2015 -0700 geneve: Initialize ethernet address in device setup. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2d427b3927bd7a0348fc7f323d0e291f79a2779 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Thu Aug 27 15:32:26 2015 +0900 bridge: Add netlink support for vlan_protocol attribute This enables bridge vlan_protocol to be configured through netlink. When CONFIG_BRIDGE_VLAN_FILTERING is disabled, kernel behaves the same way as this feature is not implemented. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c9a6524b5fdf6cb57c9ff627b7f242a6a4e0b00 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Thu Aug 27 08:03:08 2015 +0300 bnx2x: Add new device ids under the Qlogic vendor This adds support for 3 new PCI device combinations - 1077:16a1, 1077:16a4 and 1077:16ad. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fae100cbd1049057bbc3e3180a6de339b9b73a9 Author: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Date: Fri Aug 14 21:43:38 2015 +0800 selftests: breakpoints: fix installing error on the architecture except x86 Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit a7d0f078892ee5e737cbe79541353c630bc71651 Author: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Date: Fri Aug 14 21:43:35 2015 +0800 selftests: check before install When the test cases is not supported by the current architecture the install files(TEST_PROGS, TEST_PROGS_EXTENDED and TEST_FILES) will be empty. Check it before installation to dismiss a failure reported by install program. Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit f21fb798fe38cf87b177d45820991f0e315c0ba8 Author: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Date: Tue Aug 18 12:31:59 2015 +0530 selftests/zram: Adding zram tests zram: Compressed RAM based block devices ---------------------------------------- The zram module creates RAM based block devices named /dev/zram<id> (<id> = 0, 1, ...). Pages written to these disks are compressed and stored in memory itself. These disks allow very fast I/O and compression provides good amounts of memory savings. Some of the usecases include /tmp storage, use as swap disks, various caches under /var and maybe many more :) Statistics for individual zram devices are exported through sysfs nodes at /sys/block/zram<id>/ This patch is to validate the zram functionality. Test interacts with block device /dev/zram<id> and sysfs nodes /sys/block/zram<id>/ zram.sh: sanity check of CONFIG_ZRAM and to run zram01 and zram02 tests zram01.sh: creates general purpose ram disks with different filesystems zram02.sh: creates block device for swap zram_lib.sh: create library with initialization/cleanup functions README: ZRAM introduction and Kconfig required. Makefile: To run zram tests zram test output ----------------- ./zram.sh -------------------- running zram tests -------------------- /dev/zram0 device file found: OK set max_comp_streams to zram device(s) /sys/block/zram0/max_comp_streams = '2' (1/1) zram max streams: OK test that we can set compression algorithm supported algs: [lzo] lz4 /sys/block/zram0/comp_algorithm = 'lzo' (1/1) zram set compression algorithm: OK set disk size to zram device(s) /sys/block/zram0/disksize = '2097152' (1/1) zram set disksizes: OK set memory limit to zram device(s) /sys/block/zram0/mem_limit = '2M' (1/1) zram set memory limit: OK make ext4 filesystem on /dev/zram0 zram mkfs.ext4: OK mount /dev/zram0 zram mount of zram device(s): OK fill zram0... zram0 can be filled with '1932' KB zram used 3M, zram disk sizes 2097152M zram compression ratio: 699050.66:1: OK zram cleanup zram01 : [PASS] /dev/zram0 device file found: OK set max_comp_streams to zram device(s) /sys/block/zram0/max_comp_streams = '2' (1/1) zram max streams: OK set disk size to zram device(s) /sys/block/zram0/disksize = '1048576' (1/1) zram set disksizes: OK set memory limit to zram device(s) /sys/block/zram0/mem_limit = '1M' (1/1) zram set memory limit: OK make swap with zram device(s) done with /dev/zram0 zram making zram mkswap and swapon: OK zram swapoff: OK zram cleanup zram02 : [PASS] CC: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> CC: Tyler Baker <tyler.baker@xxxxxxxxxx> CC: Milosz Wasilewski <milosz.wasilewski@xxxxxxxxxx> CC: Alexey Kodanev <alexey.kodanev@xxxxxxxxxx> Signed-off-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Signed-off-by: Alexey Kodanev <alexey.kodanev@xxxxxxxxxx> Reviewed-By: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 3f1d44ae640172482a8c0125efe9ca93331b056b Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Aug 27 11:13:36 2015 +0100 Documentation/Changes: Now need OpenSSL devel packages for module signing The module signing script (sign-file) used to be a wrapper around the openssl program. It has now been replaced by a C program that uses the crypto library from the OpenSSL package meaning that the OpenSSL devel packages are necessary to provide the devel library link and the header files. This would be openssl-devel on Fedora and libssl-dev on Debian. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 31cb5c9e69cedd4bdd7bb7b442582914ceae8c2b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Aug 26 20:27:05 2015 -0700 smsc911x: Ignore error return from device_get_phy_mode() Commit 62ee783bf1f8 ("smsc911x: Fix crash seen if neither ACPI nor OF is configured or used") introduces an error check for the return value from device_get_phy_mode() and bails out if there is an error. Unfortunately, there are configurations where no phy is configured. Those configurations now fail. To fix the problem, accept error returns from device_get_phy_mode(), and use the return value from device_property_read_u32() to determine if there is a suitable firmware interface to read the configuration. Fixes: 62ee783bf1f8 ("smsc911x: Fix crash seen if neither ACPI nor OF is configured or used") Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4fa7508e9f1c64ae39516e40ee5495aaa4616ad7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Aug 26 20:27:04 2015 -0700 device property: Return -ENXIO if there is no suitable FW interface Return -ENXIO if device property array access functions don't find a suitable firmware interface. This lets drivers decide if they should use available platform data instead. Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b3ae880266d148bf73a573a766bc9b78c08d805 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Aug 26 23:00:06 2015 +0200 net: sched: consolidate tc_classify{,_compat} For classifiers getting invoked via tc_classify(), we always need an extra function call into tc_classify_compat(), as both are being exported as symbols and tc_classify() itself doesn't do much except handling of reclassifications when tp->classify() returned with TC_ACT_RECLASSIFY. CBQ and ATM are the only qdiscs that directly call into tc_classify_compat(), all others use tc_classify(). When tc actions are being configured out in the kernel, tc_classify() effectively does nothing besides delegating. We could spare this layer and consolidate both functions. pktgen on single CPU constantly pushing skbs directly into the netif_receive_skb() path with a dummy classifier on ingress qdisc attached, improves slightly from 22.3Mpps to 23.1Mpps. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe2188236ad04618b25978c44d896c16613de9aa Merge: 0118e01 bf41846 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 14:06:09 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-08-26 This series contains updates to i40e and i40evf only. Anjali provides a fix for i40e where the part is not receiving multicast or VLAN tagged packets when in promiscuous mode. This can occur when a software bridge is created on top of the device. Fixed the legacy and MSI interrupt mode in the driver, which was non-existent before since we were assuming MSIX was the only mode that the driver ran in. Fixed the i40evf driver, where the wrong defines were getting used in the VF driver. Mitch fixes a sparse warning about comparing __le16 to u16 so use le16_to_cpu() to resolve the warning. Also fixed a dyslexic spelling of invalid. Shannon adds port.crc_errors to receive CRC error counter, since it is a receive counter. Catherine provides a fix to move the stopping of the service task and flow director to i40e_shutdown() instead of i40e_suspend(). Greg fixes the ethtool offline diagnostic with netqueues, which just need to be treated the same as virtual functions when someone wants to run the ethtool offline diagnostic test. Also fixed up code comments for the i40e ethtool diagnostic test function. Cleans up redundant and unneeded messages, since the kernel notifies all VXLAN capable registered drivers, so no need to log this. Neerav adds the ability to update statistics per VEB per traffic class and dump it via ethtool. Jingjing adds support for virtual channel offload to support receive polling mode in the VF driver. v2: dropped patch which added helper functions into a header, feedback from David Miller was to make the functions constant to reduce the driver footprint, so remove the patch while Anjali works on making the requested changes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce7b4ccc4f62775f4167495a06fbee0025f87175 Author: lucien <lucien.xin@xxxxxxxxx> Date: Thu Aug 27 16:26:34 2015 +0800 sctp: asconf's process should verify address parameter is in the beginning in sctp_process_asconf(), we get address parameter from the beginning of the addip params. but we never check if it's really there. if the addr param is not there, it still can pass sctp_verify_asconf(), then to be handled by sctp_process_asconf(), it will not be safe. so add a code in sctp_verify_asconf() to check the address parameter is in the beginning, or return false to send abort. note that this can also detect multiple address parameters, and reject it. Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <mleitner@xxxxxxxxxx> Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0118e01935cae83261f1c52f1c88c6514ef330f6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Aug 26 11:49:35 2015 -0700 smsc9194: Remove uncompilable #if 0'd use of pr_dbg No pr_dbg method exists. While this code is #if 0'd, it'd be nicer to use the generic hex_dump, so use it instead. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 763a32bd0fea2893d4b87f20f9f9c278d776fbf6 Merge: 21c721f 9b00eb4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 13:51:38 2015 -0700 Merge branch 'xgene-tso' Iyappan Subramanian says: ==================== drivers: net: xgene: Add TSO support Adding TSO support for 10GbE iperf Tx data rate without TSO: 3.42 Gbps with TSO: 9.41 Gbps v2: Address review comments from v1 - skb_linearize() if headers doesn't fit in 3 hardware buffers v1: * Initial version ==================== Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> commit 9b00eb494dc7c19ee69afef46e864f842cc1824f Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Wed Aug 26 11:48:06 2015 -0700 drivers: net: xgene: Adding support for TSO Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 949c40bb16bcf5f9584ce585f8a477481ab6aa80 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Wed Aug 26 11:48:05 2015 -0700 drivers: net: xgene: Preparatory patch for TSO support - Rearranged descriptor writes - Moved increment command write to xgene_enet_setup_tx_desc Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 152933244a1a3232b32d2e973754d03321a5b0c6 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Aug 27 21:09:04 2015 +0800 spi: mediatek: fix SPI_CMD_PAUSE_IE macro error enable pause interrupt should use SPI_CMD_PAUSE_IE MACRO, so fix it. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2002e90412df17ef7f714be62ed96a3c80b2f907 Merge: 02a9547 3b7ce99 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Aug 27 20:30:46 2015 +0100 Merge branch 'topic/ics43432' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-gtm601 commit d6aa1db3eac37cc92d67c3f66eab1b46d5bb9f7b Merge: 3b7ce99 02a9547 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Aug 27 20:29:18 2015 +0100 Merge branch 'topic/gtm601' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-ics43432 commit 054bc835d27b558393541c32a209c01d89cda75a Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Aug 27 17:04:01 2015 +0200 ASoC: bcm2835-i2s: Fix module autoload for OF platform drivers These platform drivers have a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f2988afedf2c19880a3c65d79dfc7939e1b53d8a Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Thu Aug 27 15:14:51 2015 +0800 ASoC: rt5645: Prevent the pop sound of the headphone while rebooting or shutdowning Add i2c shutdown function to prevent the pop sound of the headphone while the system is rebooting or shutdowning. It de-initials the jack detection function, and it cannot be turned off in _BIAS_OFF. If we don't de-initial it, the pop sound will be heard in the situation of powering off. And replace the related register settings from magic number to meaningful defined name. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ba30011577330b7e29ecb5916d89c6db9fbc5b3d Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Aug 12 10:58:22 2015 +0200 clk: s5pv210: add missing call to samsung_clk_of_add_provider() Commit d5e136a21b2028fb1f45143ea7112d5869bfc6c7 ("clk: samsung: Register clk provider only after registering its all clocks", merged to v3.17-rc1) modified a way that driver registers registers to core framework. This change has not been applied to s5pv210 clocks driver, which has been merged in parallel to that commit. This patch adds a missing call to samsung_clk_of_add_provider(), so the driver is operational again. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.17+ Acked-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 21c721fd0b991b1871ea5dd517be1b5375c5f8f7 Merge: 538e456 cae3a26 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 11:40:44 2015 -0700 Merge branch 'ovs-conntrack' Joe Stringer says: ==================== OVS conntrack support The goal of this series is to allow OVS to send packets through the Linux kernel connection tracker, and subsequently match on fields populated by conntrack. This functionality is enabled through a new CONFIG_OPENVSWITCH_CONNTRACK option. This version addresses the feedback from v5, primarily checking the behaviour is correct with different configurations such as disabling CONFIG_OPENVSWITCH_CONNTRACK or disabling individual conntrack features like connlabels. The branch below has been updated with the corresponding userspace pieces: https://github.com/joestringer/ovs dev/ct_20150818 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cae3a2627520c3795b54533c5328b77af3405dbe Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:53 2015 -0700 openvswitch: Allow attaching helpers to ct action Add support for using conntrack helpers to assist protocol detection. The new OVS_CT_ATTR_HELPER attribute of the CT action specifies a helper to be used for this connection. If no helper is specified, then helpers will be automatically applied as per the sysctl configuration of net.netfilter.nf_conntrack_helper. The helper may be specified as part of the conntrack action, eg: ct(helper=ftp). Initial packets for related connections should be committed to allow later packets for the flow to be considered established. Example ovs-ofctl flows allowing FTP connections from ports 1->2: in_port=1,tcp,action=ct(helper=ftp,commit),2 in_port=2,tcp,ct_state=-trk,action=ct(recirc) in_port=2,tcp,ct_state=+trk-new+est,action=1 in_port=2,tcp,ct_state=+trk+rel,action=1 Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2ac667358708d7cce64c78f58af6adf4c1e848b Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:52 2015 -0700 openvswitch: Allow matching on conntrack label Allow matching and setting the ct_label field. As with ct_mark, this is populated by executing the CT action. The label field may be modified by specifying a label and mask nested under the CT action. It is stored as metadata attached to the connection. Label modification occurs after lookup, and will only persist when the conntrack entry is committed by providing the COMMIT flag to the CT action. Labels are currently fixed to 128 bits in size. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86ca02e77408bb58ba596c1a411ec7f631733690 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:51 2015 -0700 netfilter: connlabels: Export setting connlabel length Add functions to change connlabel length into nf_conntrack_labels.c so they may be reused by other modules like OVS and nftables without needing to jump through xt_match_check() hoops. Suggested-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55e5713f2b5cefed98e3674017e994d688e47b85 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:50 2015 -0700 netfilter: Always export nf_connlabels_replace() The following patches will reuse this code from OVS. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 182e3042e15de759e81618d11fe4f62f5259d982 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:49 2015 -0700 openvswitch: Allow matching on conntrack mark Allow matching and setting the ct_mark field. As with ct_state and ct_zone, these fields are populated when the CT action is executed. To write to this field, a value and mask can be specified as a nested attribute under the CT action. This data is stored with the conntrack entry, and is executed after the lookup occurs for the CT action. The conntrack entry itself must be committed using the COMMIT flag in the CT action flags for this change to persist. Signed-off-by: Justin Pettit <jpettit@xxxxxxxxxx> Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f8a436eaa2c3ddd8e1ff2fbca267e6275085536 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:48 2015 -0700 openvswitch: Add conntrack action Expose the kernel connection tracker via OVS. Userspace components can make use of the CT action to populate the connection state (ct_state) field for a flow. This state can be subsequently matched. Exposed connection states are OVS_CS_F_*: - NEW (0x01) - Beginning of a new connection. - ESTABLISHED (0x02) - Part of an existing connection. - RELATED (0x04) - Related to an established connection. - INVALID (0x20) - Could not track the connection for this packet. - REPLY_DIR (0x40) - This packet is in the reply direction for the flow. - TRACKED (0x80) - This packet has been sent through conntrack. When the CT action is executed by itself, it will send the packet through the connection tracker and populate the ct_state field with one or more of the connection state flags above. The CT action will always set the TRACKED bit. When the COMMIT flag is passed to the conntrack action, this specifies that information about the connection should be stored. This allows subsequent packets for the same (or related) connections to be correlated with this connection. Sending subsequent packets for the connection through conntrack allows the connection tracker to consider the packets as ESTABLISHED, RELATED, and/or REPLY_DIR. The CT action may optionally take a zone to track the flow within. This allows connections with the same 5-tuple to be kept logically separate from connections in other zones. If the zone is specified, then the "ct_zone" match field will be subsequently populated with the zone id. IP fragments are handled by transparently assembling them as part of the CT action. The maximum received unit (MRU) size is tracked so that refragmentation can occur during output. IP frag handling contributed by Andy Zhou. Based on original design by Justin Pettit. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: Justin Pettit <jpettit@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e79e259588a414589a016edc428ee8dd308f81ad Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:47 2015 -0700 dst: Add __skb_dst_copy() variation This variation on skb_dst_copy() doesn't require two skbs. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b490047240f7b986228de968334ddd7a341e1fe Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:46 2015 -0700 ipv6: Export nf_ct_frag6_gather() Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be26b9a88fcee570796c67701f50800039e25aec Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:45 2015 -0700 openvswitch: Move MASKED* macros to datapath.h This will allow the ovs-conntrack code to reuse these macros. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e2fed1c0cfbb29995a4301060acc0ef4ee84420 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:44 2015 -0700 openvswitch: Serialize acts with original netlink len Previously, we used the kernel-internal netlink actions length to calculate the size of messages to serialize back to userspace. However,the sw_flow_actions may not be formatted exactly the same as the actions on the wire, so store the original actions length when de-serializing and re-use the original length when serializing. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 402bae597ec68b84498432f5a0069f28bfb807d6 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Wed Aug 26 10:20:23 2015 -0600 nfit: Clarify memory device state flags strings ACPI 6.0 NFIT Memory Device State Flags in Table 5-129 defines NVDIMM status as follows. These bits indicate multiple info, such as failures, pending event, and capability. Bit [0] set to 1 to indicate that the previous SAVE to the Memory Device failed. Bit [1] set to 1 to indicate that the last RESTORE from the Memory Device failed. Bit [2] set to 1 to indicate that platform flush of data to Memory Device failed. As a result, the restored data content may be inconsistent even if SAVE and RESTORE do not indicate failure. Bit [3] set to 1 to indicate that the Memory Device is observed to be not armed prior to OSPM hand off. A Memory Device is considered armed if it is able to accept persistent writes. Bit [4] set to 1 to indicate that the Memory Device observed SMART and health events prior to OSPM handoff. /sys/bus/nd/devices/nmemX/nfit/flags shows this flags info. The output strings associated with the bits are "save", "restore", "smart", etc., which can be confusing as they may be interpreted as positive status, i.e. save succeeded. Change also the dev_info() message in acpi_nfit_register_dimms() to be consistent with the sysfs flags strings. Reported-by: Robert Elliott <elliott@xxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> [ross: rename 'not_arm' to 'not_armed'] Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> [djbw: defer adding bit5, HEALTH_ENABLED, for now] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 538e4563198cd3d1a8e74c47fee3e49dc93e4a95 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Aug 26 17:53:45 2015 +0200 bgmac: support up to 3 cores (devices) on a bus Broadcom buses may have more than 1 Ethernet device. This is used e.g. to have few interfaces connected to different switch ports. So far we saw chipsets with only 2 devices (e.g. BCM4706) but recent ones have up to 3 (e.g. Netgear R8000 uses 3rd interface for most of switch traffic, lower interfaces are for some kind of offloading). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fbe4307e9ffd9b9c9d4631a37c8f16080da8df85 Author: Bert Kenward <bkenward@xxxxxxxxxxxxxx> Date: Wed Aug 26 16:39:03 2015 +0100 sfc: only use vadaptor stats if firmware is capable Some of the stats handling code differs based on SR-IOV support, and SRIOV support is only available if full-featured firmware is used. Do not use vadaptor stats if firmware mode is not set to full-featured. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 395250e483d492e9ec5e36a6b78fb142affddee2 Merge: 1dd34b5 0ba3ac0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 11:25:56 2015 -0700 Merge tag 'wireless-drivers-next-for-davem-2015-08-26' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: iwlwifi: * new Tx power firmware API * bump max firmware API to 17 * fix bug in debug prints * static checker fix * fix unused defines * fix command list on newest firmware brcmfmac: * support NVRAM loading for bcm47xx platform * new debugfs entry for msgbuf protocol layer used with PCIe devices ath10k: * add spectral scan support for qca99x0 * add qca6164 support ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b195360914583899070835a08ceb06ac7b848d6 Author: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Date: Wed Aug 26 17:58:47 2015 +0300 net: phy: fixed: propagate fixed link values to struct The fixed link values parsed from the device tree are stored in the struct fixed_phy member status. The struct phy_device members speed, duplex were not updated. Signed-off-by: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed29266347025a19ee689807b07d121f0a7441f1 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Tue Aug 4 23:31:44 2015 +0800 batman-adv: turn batadv_neigh_node_get() into local function commit c214ebe1eb29 ("batman-adv: move neigh_node list add into batadv_neigh_node_new()") removed external calls to batadv_neigh_node_get(). Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 7bca68c7844b1642868809a5ef4387c1f099ab1d Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Fri Aug 7 19:28:42 2015 +0200 batman-adv: Add lower layer needed_(head|tail)room to own ones The maximum of hard_header_len and maximum of all needed_(head|tail)room of all slave interfaces of a batman-adv device must be used to define the batman-adv device needed_(head|tail)room. This is required to avoid too small buffer problems when these slave devices try to send the encapsulated packet in a tx path without the possibility to resize the skbuff. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit a5256f7e74d85d7ae60ac3bd557d5fe3444be810 Author: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> Date: Tue Aug 4 22:26:19 2015 +0200 batman-adv: don't access unregistered net_device object In batadv_hardif_disable_interface() there is a call to batadv_softif_destroy_sysfs() which in turns invokes unregister_netdevice() on the soft_iface. After this point we cannot rely on the soft_iface object anymore because it might get free'd by the netdev periodic routine at any time. For this reason the netdev_upper_dev_unlink(.., soft_iface) call is moved before the invocation of batadv_softif_destroy_sysfs() so that we can be sure that the soft_iface object is still valid. Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> commit 07c48eca1661decbd52393ef535f0c97e5313c4e Author: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 14:43:16 2015 +0200 batman-adv: Start new development cycle Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 1e3b4669e79253748073b0ee95270f92f0372b20 Author: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:44:06 2015 +0200 batman-adv: fix gateway client style issues commit 0511575c4d03 ("batman-adv: remove obsolete deleted attribute for gateway node") incorrectly added an empy line and forgot to remove an include. Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 3f32f8a6874ae2515c8894588a5c60dd65ecc7e5 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Sun Jul 26 04:59:15 2015 +0800 batman-adv: rearrange batadv_neigh_node_new() arguments to follow convention Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Acked-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit bd3524c14bd02f94a4fa33e700883e01182f5ed5 Author: Simon Wunderlich <simon@xxxxxxxxxxxxx> Date: Mon Aug 3 19:13:58 2015 +0200 batman-adv: remove obsolete deleted attribute for gateway node With rcu, the gateway node deleted attribute is not needed anymore. In fact, it may delay the free of the gateway node and its referenced structures. Therefore remove it altogether and simplify purging as well. Signed-off-by: Simon Wunderlich <simon@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 741aa06bfb0ab731086d258a1838152fe2502b5f Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Sun Jul 26 04:57:43 2015 +0800 batman-adv: move neigh_node list add into batadv_neigh_node_new() All batadv_neigh_node_* functions expect the neigh_node list item to be part of the orig_node->neigh_list, therefore the constructor of said list item should be adding the newly created neigh_node to the respective list. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Acked-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 39bf7618f038474a0ccbeb0be173f11e147bd083 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Sun Jul 26 04:37:47 2015 +0800 batman-adv: remove redundant hard_iface assignment The batadv_neigh_node_new() function already sets the hard_iface pointer. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Acked-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit f729dc70dafec281e524f51ae496a72ea4f8e319 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Sun Jul 26 04:37:15 2015 +0800 batman-adv: move hardif refcount inc to batadv_neigh_node_new() The batadv_neigh_node cleanup function 'batadv_neigh_node_free_rcu()' takes care of reducing the hardif refcounter, hence it's only logical to assume the creating function of that same object 'batadv_neigh_node_new()' takes care of increasing the same refcounter. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Acked-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 95803812cfb3ece8ee1bb3747611ead48300fca2 Merge: f9ed72d 126c69a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 11:12:41 2015 -0700 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull amr64 kvm fix from Will Deacon: "We've uncovered a nasty bug in the arm64 KVM code which allows a badly behaved 32-bit guest to bring down the host. The fix is simple (it's what I believe we call a "brown paper bag" bug) and I don't think it makes sense to sit on this, particularly as Russell ended up triggering this rather than just somebody noticing a potential problem by inspection. Usually arm64 KVM changes would go via Paolo's tree, but he's on holiday at the moment and the deal is that anything urgent gets shuffled via the arch trees, so here it is. Summary: Fix arm64 KVM issue when injecting an abort into a 32-bit guest, which would lead to an illegal exception return at EL2 and a subsequent host crash" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: KVM: Fix host crash when injecting a fault into a 32bit guest commit c75683ca13d12a700531864bcd3118e94bc9eaa0 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:06 2015 +0530 mpt3sas : Bump mpt3sas driver version to 9.100.00.00 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit df838f92f3f5240dca54e1629e8547818e8ea646 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:05 2015 +0530 mpt3sas: When device is blocked followed by unblock fails, unfreeze the I/Os Issue: When the disks are getting discovered and assigned device handles by the kernel, a device block followed by an unblock (due to broadcast primitives) issued by the driver is interspersed by the kernel changing the state of the device. Therefore the unblock by the driver results in a no operation within the kernel API. To fix this one, the below patch checks the return of the unblock API and performs a block followed by an unblock to unfreeze the block layer's I/O queue. Sufficient checks and prints are also added in the driver to identify this condition caused by the kernel. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 36814028ad720165a6febcf9ddd7de20833fd240 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:04 2015 +0530 mpt3sas: Call dma_mapping_error() API after mapping an address with dma_map_single() API Added dma_mapping_error() API after mapping an address with dma_map_single() API. Otherwise when CONFIG_DMA_API_DEBUG is enabled in the kernel, then it complains about mpt3sas driver not calling dma_mapping_error after mapping an address with dma_map_single Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit bdff785e4f593218816fa3677e043aae1481aa98 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:03 2015 +0530 mpt3sas: Use alloc_ordered_workqueue() API instead of create_singlethread_workqueue() API Created a thread using alloc_ordered_workqueue() API in order to process the works from firmware Work-queue sequentially instead of create_singlethread_workqueue() API. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d8eb4a47c70b4bab34b938d2f682044687f53c64 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:02 2015 +0530 mpt3sas: Added support for customer specific branding "VendorID" "DeviceID" "SubsystemVendor ID" "SubsystemDevice ID" Cisco Branding String 0x1000 0x97 0x1137 0x154 Cisco 9300-8i 12Gbps SAS HBA 0x1000 0x97 0x1137 0x155 Cisco 12G Modular SAS Pass through Controller 0x1000 0x97 0x1137 0x156 UCS C3X60 12G SAS Pass through Controller Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 62f5c74c97037c7c00fdefb69dcfe39810c34a05 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:01 2015 +0530 mpt3sas: Return host busy error status to SML when DMA mapping of scatter gather list fails for a SCSI command scsi_dma_map API will return a negative value (i.e. -ENOMEM) if DMA mapping of sg lists fails and zero if the sg list in the SCSI cmd is NULL. But drivers doesn't handled sg list DMA mapping failure case properly. So, Updated the code to return host busy error status to SCSI MID Layer(SML), when DMA mapping of scatter gather list fails for a SCSI command. So that SML will retry this SCSI cmd after some time. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3898f08e8ccfc8b7b4c297960ecdde970869e950 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:00 2015 +0530 mpt3sas: Complete the SCSI command with DID_RESET status for log_info value 0x0x32010081 For any SCSI command, if the driver receives IOC status = SCSI_IOC_TERMINATED and log info = 0x32010081 then that command will be completed with DID_RESET host status. The definition of this log info value is "Virtual IO has failed and has to be retried". Firmware will provide this log info value with IOC Status "SCSI_IOC_TERMINATED", whenever a drive (with is a part of a volume) is pulled and pushed back within some minimal delay. With this log info value, firmware informs the driver to retry the failed IO command infinite times, so to provide some time for the firmware to discover the reinserted drive successfully instated of just retrying failed command for five times(doesn't giving enough time for firmware to complete the drive discovery) and failing the IO permanently even though drive came back successfully. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a6f84009b9d7ca97c400ca929f9d58f43b0ece9d Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:59 2015 +0530 mpt3sas: MPI 2.5 Rev K (2.5.6) specifications Below are the new changes to MPI 2.5 Rev K(2.5.6) specification and 2.00.35 header files 1) Added a minimum size requirement for target mode command buffers. 2) Added MinMSIxIndex and MaxMSIxIndex fields to CommandBufferPostBase Request. 3) For BIOS Page 1, added SSUTimeout field, and added Product Name String Format bits to the BiosOptions field Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2b89669ae4addfa68a58e0fc16afdd24739720d8 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:58 2015 +0530 mpt3sas: Bump mpt3sas driver version to v6.100.00.00 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 38e4141ecb0e59c93d85ec5948f98d1f1e331a88 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:57 2015 +0530 mpt3sas: Add branding string support for OEM custom HBA Add the following OEM's branding to the mpt3sas driver. "VendorID" "DeviceID" "SubsystemVendor ID" "SubsystemDevice ID" Cisco Branding String 0x1000 0x97 SVID = 0x1137 0x014C Cisco 9300-8E 12G SAS HBA Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fb84dfc44718ef4099a827d147f738e428828d02 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:56 2015 +0530 mpt3sas: Add branding string support for OEM's HBA Added the following Dell branding to the mpt3sas driver. "VendorID" "DeviceID" "SubsystemVendor ID" "SubsystemDevice ID" Dell Branding String 0x1000 0x0097 0x1028 0x1F46 DELL 12Gbps HBA Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 35c319b47884e49d9d0a84779097916ccb173947 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:55 2015 +0530 mpt3sas: MPI 2.5 Rev J (2.5.5) specification and 2.00.34 header files Following is the change set, 1. Added more defines for the BiosOptions field of MPI2_CONFIG_PAGE_BIOS_1. 2. Added MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC definition. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2e26c3853206ba166c3434e5f2ca4c82078ad84e Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:54 2015 +0530 mpt3sas: Update MPI2 strings to MPI2.5 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f9d81cfc23151eb6e9e498663c9784c351646d0e Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:53 2015 +0530 mpt3sas: Bump mpt3sas Driver version to v5.100.00.00 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e6d45e3e7e6582fa206ef84631639ce70d50e5c5 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:52 2015 +0530 mpt3sas: Provides the physical location of sas drives This Patch will provide more details of the devices such as slot number, enclosure logical id, enclosure level & connector name in the following scenarios, - When end device is added in the topology, - When the end device is removed from the setup, - When the SCSI mid layer issues TASK ABORT/ DEVICE RESET/ TARGET RESET during error handling, - When any command to the device fails with Sense key Hardware error or Medium error or Unit Attention, - When firmware returns device error or device not ready status for the end device, - When a Predicted fault is detected on an end device. This information can be used by the user to identify the location of the desired drive in the topology. Driver will get these information by reading the sas device page0. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a94bea343c2f747c62ef66b52d2430e6aeb75434 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:51 2015 +0530 mpt3sas: MPI 2.5 Rev I (2.5.4) specifications. Update MPI 2.5 Release: MPI 2.5 Rev I (2.5.4) specification and 2.00.33 header files Below is the change set from the MPI specification for I Rev 1) Added Base Enclosure Level bit to the Flags field of Manufacturing Page 7. 2) Updated description of the MaxTargetPortConnectTime field of SAS IO Unit Page 1. 3) Added EnclosureLevel and ConnectorName fields to SAS Device Page 0. Also, added EnclosureLevel and ConnectorName Valid bit to the Flags field. 4) Added EnclosureLevel field to SAS Enclosure Page 0. Also, added EnclosureLevel Valid bit to the Flags field. 5) Added value for BIOS image to HashImageType. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 580d4e3153f0d7a9a9235b675b0b7b13e2185a8b Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:50 2015 +0530 mpt3sas: Remove redundancy code while freeing the controller resources. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e4bc7f5c21a18cab9acd30940df0ee791fcd7b9e Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:49 2015 +0530 mpt3sas: Don't block the drive when drive addition under the control of SML During hot-plugging of a disk(having a flaky link), the disk addition stops and any further disk addition or removal doesn't happen on that controller. This is because, when driver receives DELAY_NOT_RESPONDING event for a disk while it is undergoing addition at the SCSI Transport layer, the driver would block the I/O to that disk resulting in a deadlock. i.e the disk addition work couldn't be completed at the SCSI Transport Layer as it can't send any I/Os (such as Inquiry, Report LUNs etc) to the disk as I/Os are blocked to this drive. Also any subsequent device removal (TARGET_NOT_RESPONDING) or link update(RC_PHY_CHANGED) event couldn't be processed as they are in the queue to get processed after disk addition event. Description of Change: Don't block the drive when drive addition is under the control of SML. So that SML won't be blocked of issuing the device dicovery commands (such as Inquiry, Report LUNs etc). Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4dc8c8087f0304ff8d06f862520406b11aac4a66 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:48 2015 +0530 mpt3sas: Get IOC_FACTS information using handshake protocol only after HBA card gets into READY or Operational state. Driver initialization fails if driver tries to send IOC facts request message when the IOC is in reset or in a fault state. This patch will make sure that 1.Driver to send IOC facts request message only if HBA is in operational or ready state. 2.If IOC is in fault state, a diagnostic reset would be issued. 3.If IOC is in reset state then driver will wait for 10 seconds to exit out of reset state. If the HBA continues to be in reset state, then the HBA wouldn't be claimed by the driver. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fb77bb5376a55f4e6c8d9243249e82831a276ee5 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:47 2015 +0530 mpt3sas: Added Combined Reply Queue feature to extend up-to 96 MSIX vector support In this patch, increased the number of MSIX vector support for SAS3 C0 HBAs to up-to 96. Following are changes that are done in this patch 1. This feature is enabled only for SAS3 C0 and higher revision cards and also only when reply post free queue count is greater than 8. 2. To support this feature 12 SupplementalReplyPostHostIndex system interfaces are used. MSI-X index numbered from 0 to 7 use the first SupplementalReplyPostHostIndex system interface to update its corresponding ReplyPostHostIndex values, MSI-X index numbered from 8 to 15 will use the second SupplementalReplyPostHostIndex system interface and so on. These 12 SuppementalReplyPostHostIndex system interfaces address are saved in the array replyPostRegisterIndex[]. 3. As each SupplementalReplyPostHostIndex register supports 8 MSI-X vectors. So MSIxIndex field in these register must contain a value between 0 and 7. 4. After processing the reply descriptors from a reply post free queues then update the new reply post host index value in ReplyPostHostIndex field and (msix_index mod 8) value in MSIxIndex field of SupplementalReplyPostHostIndex register. The Address of this SupplementalReplyPostHostIndex register is retrived from (msix_index/8)th entry of replyPostRegisterIndex[] array. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b00855aecbb166428c67b26e1bfeb675463a0212 Author: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Date: Thu Aug 27 21:30:55 2015 +0530 ACPI / LPSS: Ignore 10ms delay for Braswell LPSS devices in Braswell does not need the default 10ms d3_delay imposed by PCI specification. Removing this unnecessary delay significantly reduces the resume time approximately upto 200ms on this platform. Signed-off-by: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3b7ce99748f0d006f9d1aa85709872e7b46787f7 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Thu Aug 27 11:35:20 2015 +0200 ASoC: ics43432: Add codec driver for InvenSense ICS-43432 Add support for the InvenSense ICS-43432 I2S MEMS microphone. This is a non-software-configurable MEMS microphone with I2S output. Tested on a setup with a single ICS-43432 (the device itself supports stereo operation using a hardware pin controlling left vs. right channel output). Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8d03bc56cc27ddd93f70a630686ef06289787c78 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Wed Aug 26 13:09:28 2015 -0400 tile: correct some typos in opcode type names These particular opcode names are not used in the kernel directly, so updating them just has the effect of making downstream consumers more likely to end up using better names; this was reported from the qemu community. Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 126c69a0bd0e441bf6766a5d9bf20de011be9f68 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Aug 27 16:10:01 2015 +0100 arm64: KVM: Fix host crash when injecting a fault into a 32bit guest When injecting a fault into a misbehaving 32bit guest, it seems rather idiotic to also inject a 64bit fault that is only going to corrupt the guest state. This leads to a situation where we perform an illegal exception return at EL2 causing the host to crash instead of killing the guest. Just fix the stupid bug that has been there from day 1. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Tested-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 01f779f4862b53810ba4eb247f57bd1ad31d1c18 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Aug 26 17:00:45 2015 +0100 irqchip/GIC: Don't deactivate interrupts forwarded to a guest Commit 0a4377de3056 ("genirq: Introduce irq_set_vcpu_affinity() to target an interrupt to a VCPU") added just what we needed at the lowest level to allow an interrupt to be deactivated by a guest. When such a request reaches the GIC, it knows it doesn't need to perform the deactivation anymore, and can safely leave the guest do its magic. This of course requires additional support in both VFIO and KVM. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440604845-28229-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0b996fd35957a30568cddbce05b917c1897966e0 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Aug 26 17:00:44 2015 +0100 irqchip/GIC: Convert to EOImode == 1 So far, GICv2 has been used with EOImode == 0. The effect of this mode is to perform the priority drop and the deactivation of the interrupt at the same time. While this works perfectly for Linux (we only have a single priority), it causes issues when an interrupt is forwarded to a guest, and when we want the guest to perform the EOI itself. For this case, the GIC architecture provides EOImode == 1, where: - A write to the EOI register drops the priority of the interrupt and leaves it active. Other interrupts at the same priority level can now be taken, but the active interrupt cannot be taken again - A write to the DIR marks the interrupt as inactive, meaning it can now be taken again. We only enable this feature when booted in HYP mode and that the device-tree reported a suitable CPU interface. Observable behaviour should remain unchanged. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440604845-28229-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 530bf353e4eb06bcba5078390c949650cd26a7c7 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Aug 26 17:00:43 2015 +0100 irqchip/GICv3: Don't deactivate interrupts forwarded to a guest Commit 0a4377de3056 ("genirq: Introduce irq_set_vcpu_affinity() to target an interrupt to a VCPU") added just what we needed at the lowest level to allow an interrupt to be deactivated by a guest. When such a request reaches the GIC, it knows it doesn't need to perform the deactivation anymore, and can safely leave the guest do its magic. This of course requires additional support in both VFIO and KVM. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440604845-28229-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0b6a3da9617a08e13afc09cb7e148470ed0eb280 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Aug 26 17:00:42 2015 +0100 irqchip/GICv3: Convert to EOImode == 1 So far, GICv3 has been used in with EOImode == 0. The effect of this mode is to perform the priority drop and the deactivation of the interrupt at the same time. While this works perfectly for Linux (we only have a single priority), it causes issues when an interrupt is forwarded to a guest, and when we want the guest to perform the EOI itself. For this case, the GIC architecture provides EOImode == 1, where: - A write to ICC_EOIR1_EL1 drops the priority of the interrupt and leaves it active. Other interrupts at the same priority level can now be taken, but the active interrupt cannot be taken again - A write to ICC_DIR_EL1 marks the interrupt as inactive, meaning it can now be taken again. This patch converts the driver to be able to use this new mode, depending on whether or not the kernel can behave as a hypervisor. No feature change. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440604845-28229-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1ed32160dba643e61504b334f45b002198c88254 Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 16:07:38 2015 +0800 hwmon: (fam15h_power) Add ratio of Tsample to the PTSC period This patch adds a member (cpu_pwr_sample_ratio) of fam15h_power_data, that represents the ratio of compute unit power accumulator sample period to the PTSC counter period. Tsample: compute unit power accumulator sample period Tref: the performance timestamp counter period PTSC: performance timestamp counter Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 5aeb5d205e122b70742df94a7d51a3502f1a8277 Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 16:07:37 2015 +0800 hwmon: (fam15h_power) Add documentation for new processors support This patch updates description of fam15h_power driver, its scope is extended to family 16h processsors. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e9cd4d55d16f880ddf436fbae8c0c82ce0a928d5 Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 16:07:35 2015 +0800 hwmon: (fam15h_power) Update running_avg_capture bit field to 28 On Carrizo and later platforms, running_avg_capture bit field is extended to 4:31 (28 bits) from 4:25. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit b3a5bbfd780d9e9291f5f257be06e9ad6db11657 Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Thu Aug 27 09:34:47 2015 -0500 dlm: print error from kernel_sendpage Print a dlm-specific error when a socket error occurs when sending a dlm message. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit d83e92b3af602c6ebb6d25d5232ecba73201a0e5 Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 16:07:33 2015 +0800 hwmon: (fam15h_power) Rename fam15h_power_is_internal_node0 function We rename fam15h_power_is_internal_node0() function to should_load_on_this_node(), because it may not be node0 from KV and on, and they are single-node processors. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 5dc087254acf12bf6908a924539fb624891e8b24 Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 16:07:32 2015 +0800 hwmon: (fam15h_power) Add support for AMD Carrizo AMD Carrizo(Fam15h, M60h) processors can report power1_crit (ProcessorPwrWatts) and power1_input (CurrPwrWatts) values. And this patch adds support for CZ. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 987e05c9c3fbffba81104b8ae9a0dde9c73758e9 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:07 2015 +0530 mmc: host: omap_hsmmc: remove CONFIG_REGULATOR check Now that support for platforms which have optional regulator is added, remove CONFIG_REGULATOR check in omap_hsmmc. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1d17f30bd87bf4857478b2a68dadf0096ca1cb40 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:06 2015 +0530 mmc: host: omap_hsmmc: use ios->vdd for setting vmmc voltage vdd voltage is set in mmc core to ios->vdd and vmmc should actually be set to this voltage. Modify omap_hsmmc_enable_supply to not take vdd as argument since now it's directly set to the voltage in ios->vdd. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c55d7a0553643a7e8f120688b82b594471084d3c Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:05 2015 +0530 mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias status Use regulator_is_enabled of pbias regulator to find pbias regulator status instead of maintaining a custom bookkeeping pbias_enabled variable. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3f77f702389b7fbc955ec95721ce3861e40697fc Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:04 2015 +0530 mmc: host: omap_hsmmc: enable/disable vmmc_aux regulator based on previous state enable vmmc_aux regulator only if it is in disabled state and disable vmmc_aux regulator only if it is in enabled state. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c8518efa6de999bcbd638702c2a2d72fe83431e4 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:03 2015 +0530 mmc: host: omap_hsmmc: don't use ->set_power to set initial regulator state If the regulator is enabled on boot (checked using regulator_is_enabled), invoke regulator_enable() so that the usecount reflects the correct state of the regulator and then disable the regulator so that the initial state of the regulator is disabled. Avoid using ->set_power, since set_power also takes care of setting the voltages which is not needed at this point. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 97fe7e5ab6318ea5716f86be3b4ca8776a9e609c Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:02 2015 +0530 mmc: host: omap_hsmmc: avoid pbias regulator enable on power off Fix omap_hsmmc_set_power so that pbias regulator is not enabled during power off. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ec85c95e8ce5df18608ee9aa6a2626d903f548af Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:01 2015 +0530 mmc: host: omap_hsmmc: add separate function to set pbias No functional change. Cleanup omap_hsmmc_set_power by adding separate functions to set pbias and invoke it from omap_hsmmc_set_power. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2a17f84442e22cd1522400fcc0356c4a36b38361 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:00 2015 +0530 mmc: host: omap_hsmmc: add separate functions for enable/disable supply No functional change. Cleanup omap_hsmmc_set_power by adding separate functions for enable/disable supply and invoke it from omap_hsmmc_set_power. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 229f329265d6d2a738fc861b7b9b6144980580f6 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:59 2015 +0530 mmc: host: omap_hsmmc: return error if any of the regulator APIs fail Return error if any of the regulator APIs (regulator_enable, regulator_disable, regulator_set_voltage) fails in omap_hsmmc_set_power to avoid undefined behavior. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ef62b8bc2c740a7f72525a4797aa45056c833e3d Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:58 2015 +0530 mmc: host: omap_hsmmc: remove unnecessary pbias set_voltage Remove the unnecessary pbias regulator_set_voltage done after pbias regulator_disable in omap_hsmmc_set_power. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit aa9a68014bb6c6e1052d79561815885b797d15ea Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:57 2015 +0530 mmc: host: omap_hsmmc: use mmc_host's vmmc and vqmmc No functional change. Instead of using omap_hsmmc_host's vcc and vcc_aux members, use vmmc and vqmmc present in mmc_host which is present for the same purpose. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b49069fc0b96de5dd508ccba0a1417e524734712 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:56 2015 +0530 mmc: host: omap_hsmmc: use the ocrmask provided by the vmmc regulator If the vmmc regulator provides a valid ocrmask, use it. By this even if the pdata has a valid ocrmask, it will be overwritten with the ocrmask of the vmmc regulator. Also remove the unnecessary compatibility check between the ocrmask in the pdata and the ocrmask from the vmmc regulator. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c299dc39883ca5596905507cc945332fa4bae8bd Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:55 2015 +0530 mmc: host: omap_hsmmc: cleanup omap_hsmmc_reg_get() No functional change. Instead of using a local regulator variable in omap_hsmmc_reg_get() for holding the return value of devm_regulator_get_optional() and then assigning to omap_hsmmc_host regulator members: vcc, vcc_aux and pbias, directly use the omap_hsmmc_host regulator members. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6a9b2ff07d0415ad19fb07b9a141863fb86c3497 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:54 2015 +0530 mmc: host: omap_hsmmc: return on fatal errors from omap_hsmmc_reg_get Now return error only if the return value of devm_regulator_get_optional() is not the same as -ENODEV, since with -EPROBE_DEFER, the regulator can be obtained later and all other errors are fatal. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7d607f917008218564ae44ca3ef47076a9b36e8f Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:53 2015 +0530 mmc: host: omap_hsmmc: use devm_regulator_get_optional() for vmmc Since vmmc can be optional for some platforms, use devm_regulator_get_optional() for vmmc. Now return error only if the return value of devm_regulator_get_optional() is not the same as -ENODEV, since with -EPROBE_DEFER, the regulator can be obtained later and all other errors are fatal. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5f2b3eab3fade514f9647e88356d29c7795ed7ef Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Aug 25 16:13:29 2015 +0200 mmc: sdhci-of-at91: fix platform_no_drv_owner.cocci warnings Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: ludovic.desroches@xxxxxxxxx <ludovic.desroches@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5afc30fc666165c1c37c246e08b4282bc8c31d98 Author: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Date: Sun Aug 23 21:58:08 2015 +0900 mmc: sh_mmcif: Fix suspend process The clock should be enable when SDHI registers are accessed. Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3b1cac4d9f915758d0d755f11bb8fd4373cf653b Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Aug 23 02:11:17 2015 +0200 mmc: usdhi6rol0: fix error return code Propagate error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 38276a912c9bb6dc48e21dc23a92b6286ca00962 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Aug 23 02:11:12 2015 +0200 mmc: omap: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3fe95db19be6a98bcb45d2780c6a90d1e96bfcc9 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Wed Aug 19 15:41:36 2015 +0200 mmc: usdhi6rol0: fix ack register write The intent appears to be to clear only the bits which are set in status (by setting them to zero in the ack write), like in the other interrupt handlers, and not to always clear everything (by always writing zero). Use the correct not operator. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bb08a7d489bd22a9b6e489f8c8449b0bc92594d0 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Wed Aug 19 15:41:35 2015 +0200 mmc: usdhi6rol0: fix NULL pointer deref in debug print host->sg is only set when we're transferring multiple blocks. Check for its availibility before dereferencing it in the timeout work debug print. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 767264725d6c0c8e2a42f14ded88c8f05fec5863 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Wed Aug 19 15:41:34 2015 +0200 mmc: usdhi6rol0: handle probe deferral for regulator We ignore errors from mmc_regulator_get_supply() because the usage of the regulators is optional for the driver, but we still need to check for and handle EPROBE_DEFER, like it's done in for example dw_mmc. Otherwise we might end up not using the specified regulators just because of probe order. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit da795ec26e2542f1e306598a1d7a31c0762f2bd7 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Tue Aug 11 15:57:05 2015 +0800 mmc: sdhci-of-arasan: Add the support for sdhci-5.1 This patch adds the compatible string in sdhci-of-arasan.c to support sdhci-arasan5.1 version of controller. No documented controller IP version is found in the TRM, so we use ths version of command queueing engine integrated into this controller by arasan to specify our controller. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0dafa60eb2506617e6968b97cc5a44914a7fb1a6 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Aug 18 16:21:39 2015 +0800 mmc: sdhci: also get preset value and driver type for MMC_DDR52 commit bb8175a8aa42 ("mmc: sdhci: clarify DDR timing mode between SD-UHS and eMMC") added MMC_DDR52 as eMMC's DDR mode to be distinguished from SD-UHS, but it missed setting driver type for MMC_DDR52 timing mode. So sometimes we get the following error on Marvell BG2Q DMP board: [ 1.559598] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00 [ 1.569314] mmcblk0: retrying using single block read [ 1.575676] mmcblk0: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0 [ 1.585202] blk_update_request: I/O error, dev mmcblk0, sector 2 [ 1.591818] mmcblk0: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0 [ 1.601341] blk_update_request: I/O error, dev mmcblk0, sector 3 This patches fixes this by adding the missing driver type setting. Fixes: bb8175a8aa42 ("mmc: sdhci: clarify DDR timing mode ...") Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f912632b6086d4464af2443dee0c6f4055cf5159 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:26:48 2015 +0200 mmc: atmel-mci: remove useless include Definitions from linux/platform_data/atmel.h are not used, remove the include. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7bb9c244356d2d45ac03cf65e55b035c5954d7de Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Wed Aug 12 15:29:31 2015 +0200 mmc: sunxi: fix timeout in sunxi_mmc_oclk_onoff The 250ms timeout is too short. On my system enabling the oclk takes under 50ms and disabling slightly over 100ms when idle. Under load disabling the clock can take over 350ms. This does not make mmc clock gating look like good option to have on sunxi but the system should not crash with mmc clock gating enabled nonetheless. This patch sets the timeout to 750ms. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1880d8f6fbb01a16404dee7167621dc09b5f1d35 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Wed Aug 12 06:59:33 2015 +0000 mmc: sdhci-sirf: corrent quirk according to real chips the current quirk set is for an old FPGA, and this patch corrects quirks according to real SoC. Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b5b4ff0a633910b2b9dca7915fd6ab17aa10dc3e Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Aug 12 13:08:32 2015 +0800 mmc: block: skip trim for some kingston eMMCs For some mass production of kingston eMMCs which adopt Phison's firmware will meet an unrecoverable data conrruption occasionally if performing trim due to a firmware bug confirmed by vendor. We found it on Intel-C3230RK platform. So we add fixup of broken trim for it. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e31e67cf2578bd05e99afabb22403542306d6bed Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:31 2015 +0800 mmc: sdhci-esdhc-imx: change default watermark level and burst length By default, for all imx SoC types, the watermark level is 16, and the burst length is 8. But if the SDIO/SD/MMC I/O speed is fast enough, this default watermark level and burst length will be the performance bottleneck. For example, i.MX7D support eMMC HS400 mode, this mode can run in 8 bit, 200MHZ DDR mode. So the I/O speed improve a lot compare to SD3.0. The default burst length is 8, if we don't change this value, in HS400 mode, when we do eMMC read operation, we can find that the clock signal will stop for a period of time. This means the speed of data moving on AHB bus is slower than I/O speed. So we should improve the speed of data moving on AHB bus. This patch set the default burst length as 16, and set the default watermark level as 64. The test result is the clock signal has no stop during the eMMC HS400 operation. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fd44954e77b436673eb5221e5485a32ea6550128 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:30 2015 +0800 mmc: sdhci-esdhc-imx: set back the burst_length_enable bit to 1 Currently we find that if a usdhc is choosed to boot system, then ROM code will set the burst length enable bit of this usdhc as 0. This will make performance drop a lot if this usdhc's burst length is configed. So this patch set back the burst_length_enable bit as 1, which is the default value, and means burst length is enabled for INCR. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d407e30ba614b1542c8ac032f8fb2332b8071efe Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:27 2015 +0800 mmc: sdhci-esdhc-imx: add tuning-step setting support tuning-step is the delay cell steps in tuning procedure. The default value of tuning-step is 1. Some boards or cards need another value to pass the tuning procedure. For example, imx7d-sdb board need the tuning-step value as 2, otherwise it can't pass the tuning procedure. So this patch add the tuning-step setting in driver, so that user can set the tuning-step value in dts. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 28b07674f287092f3b63a7d5e5c7e68bdeed0247 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:26 2015 +0800 mmc: sdhci-esdhc-imx: add imx7d support and support HS400 The imx7d usdhc is derived from imx6sx, the difference is that imx7d support HS400. So introduce a new compatible string for imx7d and add HS400 support for imx7d usdhc. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2a2a7ea7c0126d388c14c28927cdba429b4858dd Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:28 2015 +0800 mmc: sdhci-esdhc-imx: Document new DT bindings for imx7d support Add a required property "fsl,imx7d-usdhc" in binding doc. Add an optional property "fsl,tuning-step" in binding doc. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 77bd2f6f6c65b4ad259394d416855ed561f21e8f Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Tue Aug 11 10:53:34 2015 +0800 mmc: sdhci-of-esdhc: add workaround for pre divider initial value For eSDHC(version < 2.3), the pre divider only could divide base clock by 2 at least. Add workaround for this to avoid unexpected issue. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Acked-by: Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx> Fixes: bd455029d01c ("mmc: sdhci-of-esdhc: Pre divider starts at 1") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d31911b9374a76560d2c8ea4aa6ce5781621e81d Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 25 10:02:11 2015 +0800 mmc: sdhci: fix dma memory leak in sdhci_pre_req() Currently one mrq->data maybe execute dma_map_sg() twice when mmc subsystem prepare over one new request, and the following log show up: sdhci[sdhci_pre_dma_transfer] invalid cookie: 24, next-cookie 25 In this condition, mrq->date map a dma-memory(1) in sdhci_pre_req for the first time, and map another dma-memory(2) in sdhci_prepare_data for the second time. But driver only unmap the dma-memory(2), and dma-memory(1) never unmapped, which cause the dma memory leak issue. This patch use another method to map the dma memory for the mrq->data which can fix this dma memory leak issue. Fixes: 348487cb28e6 ("mmc: sdhci: use pipeline mmc requests to improve performance") Reported-and-tested-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 90614cd9045dc7003913ee58cbc77950351485a0 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 01:06:48 2015 +0300 mmc: host: use of_property_read_bool() Use more compact of_property_read_bool() calls instead of the of_find_property() calls. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 143b648ddf1583905fa15d32be27a31442fc7933 Author: Adam Lee <adam.lee@xxxxxxxxxxxxx> Date: Mon Aug 3 14:33:28 2015 +0800 mmc: sdhci-pci: set the clear transfer mode register quirk for O2Micro This patch fixes MMC not working issue on O2Micro/BayHub Host, which requires transfer mode register to be cleared when sending no DMA command. Signed-off-by: Peter Guo <peter.guo@xxxxxxxxxxxxxx> Signed-off-by: Adam Lee <adam.lee@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 22d7e85ff8e5826845e9a4fa34b4723e5a97ee9b Author: Robin van der Gracht <robin@xxxxxxxxxxx> Date: Tue Aug 4 08:58:33 2015 +0200 mmc: core: Fixed bug in one erase-group budget TRIM When requesting a trim for several bytes, everything up to the next erase-group is erased. This causes data corruption. Signed-off-by: Robin van der Gracht <robin@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0c9fc10df211e0c931787a51c58caf487035f74e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Aug 27 14:05:26 2015 +0200 gpio: tc3589x: use static container helper There is a helper function to do the container_of() magic for the tc3589x GPIO, so use it. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3d5926599a6bc551efc0c8b244469a711f0d0166 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 27 16:25:07 2015 +0530 ARCv2: entry: Fix reserved handler Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 96983515657bfd532f4d2599df16c9d756de17ea Merge: d690740 4524cd0 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Aug 27 20:13:12 2015 +1000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next Freescale updates from Scott: "Highlights include 32-bit memcpy/memset optimizations, checksum optimizations, 85xx config fragments and updates, device tree updates, e6500 fixes for non-SMP, and misc cleanup and minor fixes." commit d690740f22f6520873f96e66aae7119ec2215755 Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 11:34:10 2015 +0530 powerpc/powernv: Enable LEDS support Commit 84ad6e5c added LEDS support for PowerNV platform. Lets update ppc64_defconfig to pick LEDS driver. PowerNV LEDS driver looks for "/ibm,opal/leds" node in device tree and loads if this node exists. Hence added it as 'm'. Also note that powernv LEDS driver needs NEW_LEDS and LEDS_CLASS as well. Hence added them to config file. mpe: Also add them to pseries_defconfig, which is currently also used for powernv systems. Suggested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Cc: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0e1ffef02cf94e46f95957af0f822531fecf741c Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu Aug 27 16:01:16 2015 +1000 powerpc/iommu: Set default DMA offset in dma_dev_setup Commit e91c25111aa3 "powerpc/iommu: Cleanup setting of DMA base/offset" expects that the default DMA offset is set from pnv_ioda_setup_bus_dma() which is correct unless it is SRIOV where the code flow is different - at the moment when pnv_ioda_setup_bus_dma() is called, PCI devices for VFs are not created yet. This adds missing set_dma_offset() to pnv_pci_ioda_dma_dev_setup() to cover the case of SRIOV. Note that we still need set_dma_offset() in pnv_ioda_setup_bus_dma() as at the boot time pnv_pci_ioda_dma_dev_setup() is called when no PE was created yet, this happens at the PHB fixup stage. Fixes: e91c25111aa3 ("powerpc/iommu: Cleanup setting of DMA base/offset") Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Reviewed-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9b28829d6da391f67a76dbba07a167e2b554bd10 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Nov 18 17:36:11 2014 +0530 ARCv2: perf: Finally introduce HS perf unit With all features in place, the ARC HS pct block can now be effectively allowed to be probed/used Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e525c37f8413b19130d0499c7467fed45a94579b Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Mon Aug 24 14:03:30 2015 +0300 ARCv2: perf: SMP support * split off pmu info into singleton and per-cpu bits * setup PMU on all cores Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e6b1d126bb748103824087189e30febc88c4db73 Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Mon Aug 24 13:53:36 2015 +0300 ARCv2: perf: implement exclusion of event counting in user or kernel mode Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 36481cf7fbcc666699d54cb267088d2b415ff164 Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Mon Aug 24 13:48:06 2015 +0300 ARCv2: perf: Support sampling events using overflow interrupts In times of ARC 700 performance counters didn't have support of interrupt an so for ARC we only had support of non-sampling events. Put simply only "perf stat" was functional. Now with ARC HS we have support of interrupts in performance counters which this change introduces support of. ARC performance counters act in the following way in regard of interrupts generation. [1] A counter counts starting from value set in PCT_COUNT register pair [2] Once counter reaches value set in PCT_INT_CNT interrupt is raised Basic setup look like this: [1] PCT_COUNT = 0; [2] PCT_INT_CNT = __limit_value__; [3] Enable interrupts for that counter and let it run [4] Let counter reach its limit [5] Handle interrupt when it happens Note that PCT HW block is build in CPU core and so ints interrupt line (which is basically OR of all counters IRQs) is wired directly to top-level IRQC. That means do de-assert PCT interrupt it's required to reset IRQs from all counters that have reached their limit values. Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 1fe8bfa5ff3b2e97f26add89b20768fb7c4188c0 Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Mon Aug 24 13:42:27 2015 +0300 ARCv2: perf: implement "event_set_period" This generalization prepares for support of overflow interrupts. Hardware event counters on ARC work that way: Each counter counts from programmed start value (set in ARC_REG_PCT_COUNT) to a limit value (set in ARC_REG_PCT_INT_CNT) and once limit value is reached this timer generates an interrupt. Even though this hardware implementation allows for more flexibility, in Linux kernel we decided to mimic behavior of other architectures this way: [1] Set limit value as half of counter's max value (to allow counter to run after reaching it limit, see below for more explanation): ---------->8----------- arc_pmu->max_period = (1ULL << counter_size) / 2 - 1ULL; ---------->8----------- [2] Set start value as "arc_pmu->max_period - sample_period" and then count up to the limit Our event counters don't stop on reaching max value (the one we set in ARC_REG_PCT_INT_CNT) but continue to count until kernel explicitly stops each of them. And setting a limit as half of counter capacity is done to allow capturing of additional events in between moment when interrupt was triggered until we're actually processing PMU interrupts. That way we're trying to be more precise. For example if we count CPU cycles we keep track of cycles while running through generic IRQ handling code: [1] We set counter period as say 100_000 events of type "crun" [2] Counter reaches that limit and raises its interrupt [3] Once we get in PMU IRQ handler we read current counter value from ARC_REG_PCT_SNAP ans see there something like 105_000. If counters stop on reaching a limit value then we would miss additional 5000 cycles. Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit fb7c57255168d34ae34300bcf78f50aebdeae4dc Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Aug 24 13:37:01 2015 +0300 ARC: perf: cap the number of counters to hardware max of 32 The number of counters in PCT can never be more than 32 (while countable conditions could be 100+) for both ARCompact and ARCv2 And while at it update copyright dates. Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 674c242c9323d3c293fc4f9a3a3a619fe3063290 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Aug 27 07:12:33 2015 +0100 arm64: flush FP/SIMD state correctly after execve() When a task calls execve(), its FP/SIMD state is flushed so that none of the original program state is observeable by the incoming program. However, since this flushing consists of setting the in-memory copy of the FP/SIMD state to all zeroes, the CPU field is set to CPU 0 as well, which indicates to the lazy FP/SIMD preserve/restore code that the FP/SIMD state does not need to be reread from memory if the task is scheduled again on CPU 0 without any other tasks having entered userland (or used the FP/SIMD in kernel mode) on the same CPU in the mean time. If this happens, the FP/SIMD state of the old program will still be present in the registers when the new program starts. So set the CPU field to the invalid value of NR_CPUS when performing the flush, by calling fpsimd_flush_task_state(). Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Chunyan Zhang <chunyan.zhang@xxxxxxxxxxxxxx> Reported-by: Janet Liu <janet.liu@xxxxxxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e4ec73510812f24087a28ac8cbf1f77c9fb262e5 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Aug 27 01:17:46 2015 +0600 s390/jump_label: Use %*ph to print small buffers printk() supports %*ph format specifier for printing a small buffers, let's use it intead of %02x %02x... Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 13a3cf08fa1e4b3a252f24202d47a556242aea03 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Aug 24 10:26:06 2015 -0700 target/iscsi: Replace __kernel_sockaddr_storage with sockaddr_storage It appears to be what the rest of the kernel does, so let's do it too. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit dc58f760e2e1f8f2265b581d35f211415c4fee0c Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Aug 24 10:26:05 2015 -0700 target/iscsi: Replace conn->login_ip with login_sockaddr Very similar to how it went with local_sockaddr. It was embedded in iscsi_login_stats so some changes there, and we needed to copy in a sockaddr_storage comparison function. Hopefully the kernel will get a standard one soon, our implementation makes the 3rd. isert_set_conn_info() became much smaller. IPV6_ADDRESS_SPACE define goes away, had to modify a call to in6_pton(), can just use -1 since we are sure string is null-terminated. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 69d755747d31c07a416064f251c2f408938fb67a Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Aug 24 10:26:04 2015 -0700 target/iscsi: Keep local_ip as the actual sockaddr This is a more natural format that lets us format it with the appropriate printk specifier as needed. This also lets us handle v4-mapped ipv6 addresses a little more nicely, by storing the addr as an actual v4 sockaddr in conn->local_sockaddr. Finally, we no longer need to maintain variables for port, since this is contained in sockaddr. Remove iscsi_np.np_port and iscsi_conn.local_port. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 76c28f1fcfeb42b47f798fe498351ee1d60086ae Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Aug 24 10:26:03 2015 -0700 target/iscsi: Fix np_ip bracket issue by removing np_ip Revert commit 1997e6259, which causes double brackets on ipv6 inaddr_any addresses. Since we have np_sockaddr, if we need a textual representation we can use "%pISc". Change iscsit_add_network_portal() and iscsit_add_np() signatures to remove *ip_str parameter. Fix and extend some comments earlier in the function. Tested to work for :: and ::1 via iscsiadm, previously :: failed, see https://bugzilla.redhat.com/show_bug.cgi?id=1249107 . CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9f55bca2b82a77a3cc3204900db2fc40ab30019e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 12:20:29 2015 +0300 aic94xx: set an error code on failure We recently did some cleanup here and now the static checkers notice that there is a missing error code when ioremap() fails. Let's set it to -ENOMEM. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 111f2d15b543e15c1e0ee89745fae84e3eb91932 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:52 2015 -0700 storvsc: Set the error code correctly in failure conditions In the function storvsc_channel_init(), error code was not getting set correctly in some of the failure cases. Fix this issue. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b95f5be09069526cf53705acbc1e22600f3f550b Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:51 2015 -0700 storvsc: Allow write_same when host is windows 10 Allow WRITE_SAME for Windows10 and above hosts. Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e6c4bc66842752110a66746e2d044fafc01e4800 Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:50 2015 -0700 storvsc: use storage protocol version to determine storage capabilities Use storage protocol version instead of vmbus protocol version when determining storage capabilities. Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cb11feada9c049bc633831d3a5dcc50163f13b5e Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:49 2015 -0700 storvsc: use correct defaults for values determined by protocol negotiation Use correct defaults for values determined by protocol negotiation, instead of resetting them with every scsi controller. Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1a3631081d88180f5cc421711e40b4aecff8618e Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:48 2015 -0700 storvsc: Untangle the storage protocol negotiation from the vmbus protocol negotiation. Currently we are making decisions based on vmbus protocol versions that have been negotiated; use storage potocol versions instead. [jejb: fold ARRAY_SIZE conversion suggested by Johannes Thumshirn <jthumshirn@xxxxxxx> make vmstor_protocol static] Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2492fd7a60270b81b7ed491745fd595a26841a45 Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:47 2015 -0700 storvsc: Use a single value to track protocol versions Use a single value to track protocol versions to simplify comparisons and to be consistent with vmbus version tracking. Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6ee5c61535a2df807069145970d3e7fa492a3fac Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:46 2015 -0700 storvsc: Rather than look for sets of specific protocol versions, make decisions based on ranges. Rather than look for sets of specific protocol versions, make decisions based on ranges. This will be safer and require fewer changes going forward as we add more storage protocol versions. Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9d8e27673c45927fee9e7d8992ffb325a6b0b0e4 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 21 17:25:15 2015 +1000 cxl: Remove racy attempt to force EEH invocation in reset cxl_reset currently PERSTs the slot, and then repeatedly tries to read MMIO space in order to kick off EEH. There are 2 problems with this: it's unnecessary, and it's racy. It's unnecessary because the PERST will bring down the PHB link. That will be picked up by the CAPP, which will send out an HMI. Skiboot, noticing an HMI from the CAPP, will send an OPAL notification to the kernel, which will trigger EEH recovery. It's also racy: the EEH recovery triggered by the CAPP will eventually cause the MMIO space to have its mapping invalidated and the pointer NULLed out. This races with our attempt to read the MMIO space. This is causing OOPSes in testing. Simply drop all the attempts to force EEH detection, and trust that Skiboot will send the notification and that we'll act on it. The Skiboot code to send the EEH notification has been in Skiboot for as long as CAPP recovery has been supported, so we don't need to worry about breaking obscure setups with ancient firmware. Cc: Ryan Grimm <grimm@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Fixes: 62fa19d4b4fd ("cxl: Add ability to reset the card") Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a6897f39660cc07fa78b4459d82f12b07abb50b1 Author: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 11:04:48 2015 +0530 cxl: Release irqs if memory allocation fails This minor patch plugs a potential irq leak in case of a memory allocation failure inside function the afu_allocate_irqs. Presently the irqs allocated to the context gets leaked if allocation of either one of context irq_bitmap or irq_names fails. Signed-off-by: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d7b273685fedba5359a4ba0ae4f542e3ece28153 Merge: 3160779 6dc2e1b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 27 13:01:57 2015 +1000 Merge branch 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next Here are some development updates for the Synopsis Designware HDMI driver, which clean up some of the code, and start preparing to add audio support to the driver. This series of patches are based on a couple of dependent commits from the ALSA tree. Briefly, the updates are: - move comments which should have moved with the phy values to the IMX part of the driver. - clean up the phy configuration: to all lookups before starting to program the phy. - clean up the HDMI clock regenerator code - use the drm_hdmi_avi_infoframe_from_display_mode() helper which allows the code to be subsequently simplified - remove the unused 'regmap' pointer in struct dw_hdmi - use the bridge drm device rather than the connector (we're the bridge code) - remove private hsync/vsync/interlaced flags, getting them from the DRM mode structure instead. - implement interface functions to support audio - setting the audio sample rate, and enabling the audio clocks. - removal of broken pixel repetition support - cleanup DVI vs HDMI sink handling - enable audio only if connected device supports audio - avoid double-enabling bridge in the sink path (once in mode_set, and again in commit) - rename mis-named dw_hdmi_phy_enable_power() - fix bridge enable/disable handing, so a plug-in event doesn't reconfigure the bridge if DRM has disabled the output - fix from Vladimir Zapolskiy for the I2CM_ADDRESS macro name These are primerily preparitory patches for the AHB audio driver and the I2S audio driver (from Rockchip) for this IP. * 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm: bridge/dw_hdmi: fix register I2CM_ADDRESS register name drm: bridge/dw_hdmi: fix phy enable/disable handling drm: bridge/dw_hdmi: rename dw_hdmi_phy_enable_power() drm: bridge/dw_hdmi: avoid enabling interface in mode_set drm: bridge/dw_hdmi: enable audio only if sink supports audio drm: bridge/dw_hdmi: clean up HDMI vs DVI mode handling drm: bridge/dw_hdmi: don't support any pixel doubled modes drm: bridge/dw_hdmi: remove pixel repetition setting for all VICs drm: bridge/dw_hdmi: introduce interfaces to enable and disable audio drm: bridge/dw_hdmi: introduce interface to setting sample rate drm: bridge/dw_hdmi: remove mhsyncpolarity/mvsyncpolarity/minterlaced drm: bridge/dw_hdmi: use our own drm_device drm: bridge/dw_hdmi: remove unused 'regmap' struct member drm: bridge/dw_hdmi: simplify hdmi_config_AVI() a little drm: bridge/dw_hdmi: use drm_hdmi_avi_infoframe_from_display_mode() drm: bridge/dw_hdmi: clean up hdmi_set_clk_regenerator() drm: bridge/dw_hdmi: clean up phy configuration drm: imx/dw_hdmi: move phy comments drm/edid: add function to help find SADs commit 31607793ee81da3f1024df9560f0dec49abde37f Merge: 40b2dff 36d4e87 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 27 13:01:23 2015 +1000 Merge tag 'vmwgfx-next-15-08-21' of git://people.freedesktop.org/~thomash/linux into drm-next Pull request of 15-08-21 The third pull request for 4.3. Contains two fixes for regressions introduced with previous pull requests. * tag 'vmwgfx-next-15-08-21' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Remove duplicate ttm_bo_device_release drm/vmwgfx: Fix a circular locking dependency in the fbdev code commit 40b2dffbcc67e92d5df97785dffc68fe88605bfa Merge: db56176 c2b6bd7 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 27 13:00:28 2015 +1000 Merge branch 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-next - DP fixes for radeon and amdgpu - IH ring fix for tonga and fiji - Lots of GPU scheduler fixes - Misc additional fixes * 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux: (42 commits) drm/amdgpu: fix wait queue handling in the scheduler drm/amdgpu: remove extra parameters from scheduler callbacks drm/amdgpu: wake up scheduler only when neccessary drm/amdgpu: remove entity idle timeout v2 drm/amdgpu: fix postclose order drm/amdgpu: use IB for copy buffer of eviction drm/amdgpu: adjust the judgement of removing fence callback drm/amdgpu: fix no sync_wait in copy_buffer drm/amdgpu: fix last_vm_update fence is not effetive for sched fence drm/amdgpu: add priv data to sched drm/amdgpu: add owner for sched fence drm/amdgpu: remove entity reference from sched fence drm/amdgpu: fix and cleanup amd_sched_entity_push_job drm/amdgpu: remove amdgpu_bo_list_clone drm/amdgpu: remove the context from amdgpu_job drm/amdgpu: remove unused parameters to amd_sched_create drm/amdgpu: remove sched_lock drm/amdgpu: remove prepare_job callback drm/amdgpu: cleanup a scheduler function name drm/amdgpu: reorder scheduler functions ... commit 89576205de8a5b6c19a4b3bb25bd16484a567b4e Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 26 18:36:12 2015 -0500 cxlflash: Remove unused variable from queuecommand The queuecommand routine has a local dev pointer used for the dev_* prints. The two prints that currently exist are tucked under a debug define and thus can be left out. Use the actual location instead of a local to avoid this warning. This patch is intended to be applied after the "CXL Flash Error Recovery and Superpipe" series. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4da74db0d9a6ffe053d3a3efa756906e0afc4cf7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 11:57:43 2015 +0300 cxlflash: shift wrapping bug in afu_link_reset() "port_sel" is a u64 so the shifting should also be a 64 bit shift. Fixes: c21e0bbfc485 ('cxlflash: Base support for IBM CXL Flash Adapter') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 46c6d45d7875a0328258a574e376ae75f7b2a64b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 14 23:35:25 2015 +0300 cxlflash: off by one bug in cxlflash_show_port_status() The > should be >= or we read one element past the end of the array. Fixes: c21e0bbfc485 ('cxlflash: Base support for IBM CXL Flash Adapter') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2cb79266d6b229dbebd31fe114af1bdab25c8076 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 21:47:53 2015 -0500 cxlflash: Virtual LUN support Add support for physical LUN segmentation (virtual LUNs) to device driver supporting the IBM CXL Flash adapter. This patch allows user space applications to virtually segment a physical LUN into N virtual LUNs, taking advantage of the translation features provided by this adapter. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Michael Neuling <mikey@xxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 65be2c79acc3aa0f9c0e8d4871f5a451d854465a Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 21:47:43 2015 -0500 cxlflash: Superpipe support Add superpipe supporting infrastructure to device driver for the IBM CXL Flash adapter. This patch allows userspace applications to take advantage of the accelerated I/O features that this adapter provides and bypass the traditional filesystem stack. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Michael Neuling <mikey@xxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5cdac81a870f3bb65c50d3f5566a86fb086118d2 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 21:47:34 2015 -0500 cxlflash: Base error recovery support Introduce support for enhanced I/O error handling. A device state is added to track 3 possible states of the device: Normal - the device is operating normally and is fully operational Limbo - the device is in a reset/recovery scenario and its operational status is paused Failed/terminating - the device has either failed to be reset/recovered or is being terminated (removed); it is no longer operational All operations are allowed when the device is operating normally. When the device transitions to limbo state, I/O must be paused. To help accomplish this, a wait queue is introduced where existing and new threads can wait until the device is no longer in limbo. When coming out of limbo, threads need to check the state and error out gracefully when encountering the failed state. When the device transitions to the failed/terminating state, normal operations are no longer allowed. Only specially designated operations related to graceful cleanup are permitted. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Michael Neuling <mikey@xxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ef2a388dfce6ddc2fd0d1d798a8974396f6b6a22 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Tue Aug 4 13:38:04 2015 -0400 qla2xxx: Update driver version to 8.07.00.26-k Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2b48992f656e109b9d7357cedc0406b50ec82c22 Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Tue Aug 4 13:38:03 2015 -0400 qla2xxx: Add pci device id 0x2261. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a1d0285ecb61800a9e6808f716b880eae95f14bc Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Tue Aug 4 13:38:02 2015 -0400 qla2xxx: Fix missing device login retries. On certain conditions, login failures will just invoke qla2x00_mark_device_lost() with the intend to do login again; but if login_retry has been set already, that would fail to set the relogin needed flag which is required to wakeup the DPC to retry. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 63e322aaa6a00536055558ac1307b2919ee57aef Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Tue Aug 4 13:38:01 2015 -0400 qla2xxx: do not clear slot in outstanding cmd array Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 96219424f2c7b767e42ccf203df40d7df677a5e3 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Tue Aug 4 13:38:00 2015 -0400 qla2xxx: Remove decrement of sp reference count in abort handler. Fix for memory leak when command is not found by firmware due to mismatch in sp reference count. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 03aa868c1b7b2633a4faa97b28c40e64c91a8e7f Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Tue Aug 4 13:37:59 2015 -0400 qla2xxx: Add support to show MPI and PEP FW version for ISP27xx. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fd49a540ead94ce5769f6eb2028e97577739e24b Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Tue Aug 4 13:37:58 2015 -0400 qla2xxx: Do not reset ISP for error entry with an out of range handle. Instead of resetting the adapter wait for the login to timeout and retry. Resetting the adapter can cause extended path recovery times. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c7bc4cae0d5c9703d8b15fcc0fd53b86b135bde8 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Tue Aug 4 13:37:57 2015 -0400 qla2xxx: Do not reset adapter if SRB handle is in range. If an SRB is NULL but the handle is in range just drop the command instead of also resetting the adapter. If the handle is in range then the command was valid at some point and may have been aborted. Resetting the adapter can lead to extended recovery times in this case. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8fbdac8c70d378016f568106f09fb3ff153a47c3 Author: Hiral Patel <hiral.patel@xxxxxxxxxx> Date: Tue Aug 4 13:37:56 2015 -0400 qla2xxx: Do not crash system for sp ref count zero Aovid crashing the system in the scenario where firmware just completes the command and it can not find the command during abort mailbox processing. This scenario can lead to sp reference counter being zero. Instead of crashing the system, use WARN_ON to print warning in log file. Signed-off-by: Hiral Patel <hiral.patel@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d6b9b42b49518c30df9de92ce499f005d336e97b Author: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Date: Tue Aug 4 13:37:55 2015 -0400 qla2xxx: Add adapter checks for FAWWN functionality. Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8dd7e3a55949f17fecba4aedb2cb943b153e5e55 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Tue Aug 4 13:37:54 2015 -0400 qla2xxx: Pause risc before manipulating risc semaphore. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cc790764391a68511cf6a7e4dd18eeb6e7640233 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Tue Aug 4 13:37:53 2015 -0400 qla2xxx: Use ssdid to gate semaphore manipulation. Execute qla25xx_manipulate_risc_semaphore() only for ssdid 0x0175 and 0x0240. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 17cac3a175a02cd1ae21f9183b09f30a719832df Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Tue Aug 4 13:37:52 2015 -0400 qla2xxx: Handle AEN8014 incoming port logout. When we get logged out, mark the port lost and set dpc flag for relogin. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1dd34b5ad8aebaff17b625fc0126e18243008a3f Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Aug 26 15:57:38 2015 -0700 bpf: fix bpf_skb_set_tunnel_key() helper Make sure to indicate to tunnel driver that key.tun_id is set, otherwise gre won't recognize the metadata. Fixes: d3aa45ce6b94 ("bpf: add helpers to access tunnel metadata") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f299c7c2ab5df78e3201af34e596e8a3ba4d2791 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Tue Aug 4 13:37:51 2015 -0400 qla2xxx: Add serdes register read/write support for ISP25xx. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 709c75b5a2411c31e5a649a2cd6d4866dd11f456 Author: jiang.biao2@xxxxxxxxxx <jiang.biao2@xxxxxxxxxx> Date: Fri Jul 31 17:52:10 2015 +0800 scsi_error: should not get sense for timeout IO in scsi error handler scsi_error: should not get sense for timeout IO in scsi error handler When an IO timeout occurs, the IO will be aborted in scsi_abort_command() and SCSI_EH_ABORT_SCHEDULED will be set. Because of that, the SCSI_EH_CANCEL_CMD will be clear in scsi_eh_scmd_add(). So when scsi error handler starts, it will get sense for this timeout IO and the scmd of the IO request will be reused. In that case, the scmd may be double released when racing with io_done(), which will result in crash. SO SCSI_EH_ABORT_SCHEDULED should also be checked when getting sense. The bug maybe reproduced when the link between host and disk is unstable. Signed-off-by: Jiang Biao <jiang.biao2@xxxxxxxxxx> Signed-off-by: Long Chun <long.chun@xxxxxxxxxx> Reviewed-by: Tan Hu <tan.hu@xxxxxxxxxx> Reviewed-by: Chen Donghai <chen.donghai@xxxxxxxxxx> Reviewed-by: Cai Qu <cai.qu@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1cd129918f14f42f8b1940096dba629ce7e7a243 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:32 2015 +0530 pm80xx: Bump pm80xx driver version to 0.1.38 Bump pm80xx driver version to 0.1.38. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 27ecfa5e79bfc2e4efca67a6077080acab546a4a Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:31 2015 +0530 pm80xx: Handling Invalid SSP Response frame The request has to be retried incase if the length of the SSP Response IU is invalid. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8414cd8057c29f60cda241aa489b33e4db6652f2 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:30 2015 +0530 pm80xx: Add PORT RECOVERY TIMEOUT support PORT RECOVERY TIMEOUT is the maximum time between the controller's detection of the PHY down until the receipt of the ID_Frame (from the same remote SAS port). If the time expires before the ID_FRAME is received, the port is considered INVALID and can be removed. The IOP_EVENT_PORT_RECOVERY_TIMER_TMO event is reported following the IOP_EVENT_ PHY_DOWN event when the PHY/port does not recover after Port Recovery Time. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3b77894b2c32ed3326c47b550f30684beb64abd3 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:29 2015 +0530 pm80xx: Remove unnecessary phy disconnect while link error If the link error happens, we don't need to disconnect the phy, which will remove the drive. Instead acknowledging the controller and logging the error will be enough. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3b700e341144f278b8248418991c086d09b7137b Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:28 2015 +0530 pm80xx: Fix for Incorrect DMA Unmapping of SG List In pm8001_ccb_task_free(), the dma unmapping is done based on ccb->n_elem value. This should be initialized to zero in the task_abort(). Otherwise, pm8001_ccb_task_free() will try for dma_unmap_sg() which is invalid for task abort and can lead to kernel crash. Changes From V1: None Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 842784e0d15bc21b31ce69f8f3518a8cf86084e3 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:27 2015 +0530 pm80xx: Update For Thermal Page Code Thermal page code has been changed to 7 for the 12G controllers. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3a1ae967741c301a5ad26665dcfb184082b969b2 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:26 2015 +0530 pm80xx: Corrected device state changes in I_T_Nexus_Reset. In Nexus reset the device state request are not needed. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Acked-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b093d590367f6eafbec89243fabb12d4b96a9997 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:25 2015 +0530 pm80xx: Updated link rate Updated 12G linkrate to libsas. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d32477e2a72cf9b99bb174e0f11e1b1c7834b76f Author: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:02:50 2015 +0200 MAINTAINERS: update email for pm8001 Company has policy to use company email address, so update my email address to company address. Signed-off-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b103918a5f21a51d12018a09919617687e584384 Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Wed Jul 22 10:53:22 2015 +0200 lpfc: Use && instead of & for boolean expression Use logical instead of bitwise AND. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5155ce5f8395730f681fe48cdc8867838e3a3f2c Author: Dilip Kumar Uppugandla <dilip@xxxxxxxxxxxxxxx> Date: Tue Jul 21 15:07:55 2015 -0700 qla2xxx: Return the fabric command state for non-task management requests Invoking get_cmd_state for qla2xxx always returns 0. Instead change it to return the actual fabric state from qla_tgt_cmd. This will help with debugging. Signed-off-by: Dilip Kumar Uppugandla <dilip@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2d041306b669e281427de7dd398e74335c9f5042 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:13:15 2015 -0500 hpsa: fix rmmod issues The driver is calling hpsa_shutdown before calling scsi_remove_host. hpsa_shutdown is disabling interrupts. scsi_remove_host can trigger I/O operations, such as SYNCHRONIZE CACHE when multipath is enabled which hang the system. Call scsi_remove_host before calling hpsa_shutdown. Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9a4178b76a973684750d20b684bae4f57ab9a355 Author: shane.seymour <shane.seymour@xxxxxx> Date: Sat Jul 18 11:13:09 2015 -0500 hpsa: fix issues with multilun devices A regression was introduced into the hpsa driver a while back so non-zero LUNs of multi-LUN devices may no longer be presented via a SAS based Smart Array. I have not done a bisection to discover the change that caused it. The CISS firmware specification (available on sourceforge) defines an 8 byte lunid that describes devices that the Smart Array can see/present to the system. The current code in the hpsa driver attempts to find matches for non-zero LUNs with LUN 0 for a bus/target by zeroing out byte 4 of the lunid and find a match. This method is sufficient for SCSI based Smart Arrays because byte 5 is always 0. For SAS based Smart arrays byte 5 of the lunid contains the path number for a multipath device and either one or two bits (the documentation does not define how many bits are used but it appears it may be one only) that indicate if the given path number in byte 5 must always be used to access that device. Byte 5 may not always be zero. The following are lunids (spaces added for clarity) for a MSL2024 single drive library connected via a H241 Smart Array: 00 00 00 00 01 00 00 01 (changer) 00 00 00 00 00 80 00 01 (tape) In the 4th byte (counting from 0) you can see that the tape is LUN 0 and the changer is LUN 1. The 0x80 set in the 5th byte for the tape drive means the driver should force access to path 0 (the library in this case was connected to one path only anyway). After the changes we can see the following in the dmesg output: scsi 0:3:0:0: RAID HP H241 1.18 \ PQ: 0 ANSI: 5 scsi 0:2:0:0: Sequential-Access HP Ultrium 6-SCSI 354W \ PQ: 0 ANSI: 6 scsi 0:2:0:1: Medium Changer HP MSL G3 Series 8.70 \ PQ: 0 ANSI: 5 Showing that the changer is correctly identified as LUN 1 of bus 2 target 0. Before the change the changer device is not seen. Suggested-by: shane.seymour <shane.seymour@xxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5ca0120447ae8d485e2ee5100f25b6645e3e320f Author: Scott Benesh <scott.benesh@xxxxxxxx> Date: Sat Jul 18 11:13:04 2015 -0500 hpsa: add in new offline mode prevent adding volumes that are not available. Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b9092b79ccaf4404509d6aeb2c76eb7cbfa57bf1 Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Sat Jul 18 11:12:59 2015 -0500 Change how controllers in mixed mode are handled. Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cbb47dcbb405d4a694801e6ad6d63c2992f83bb4 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:54 2015 -0500 hpsa: add in new controllers Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9384950809d96ee08dcd7bb2eadc9628b99d0474 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:49 2015 -0500 hpsa: cleanup update scsi devices showing that tables have been updated unnecessarily. Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8270b8624365887a716615294d0ac28af07c9287 Author: Joe Handzik <joseph.t.handzik@xxxxxx> Date: Sat Jul 18 11:12:43 2015 -0500 hpsa: add sysfs entry path_info to show box and bay information host no, bus, target, lun, scsi_device_type for hba mode add: box and bay information report if the path is active/inactive Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1358f6dc5875f5cef06eeeeb4532f382aaff8483 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:38 2015 -0500 hpsa: add PMC to copyright need to add PMC to copyright notice and update the Hewlett-Packard copyright notification. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 7ef7323f4bf467ce9fe51177301ad8cbb7dc2631 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:33 2015 -0500 hpsa: correct static checker warnings on driver init cleanup Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 81c275576bcee1a80e046117c7923586216a2dd4 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:28 2015 -0500 hpsa: correct decode sense data Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 77678d3a35455d7b7c4da4e56b20de17ee63cec1 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:22 2015 -0500 hpsa: Correct double unlock of mutex Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5d0ddfebb93069061880fc57ee4ba7246bd1e1ee Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Fri Aug 21 15:36:23 2015 +0800 ACPI, PCI: Penalize legacy IRQ used by ACPI SCI Nick Meier reported a regression with HyperV that " After rebooting the VM, the following messages are logged in syslog when trying to load the tulip driver: tulip: Linux Tulip drivers version 1.1.15 (Feb 27, 2007) tulip: 0000:00:0a.0: PCI INT A: failed to register GSI tulip: Cannot enable tulip board #0, aborting tulip: probe of 0000:00:0a.0 failed with error -16 Errors occur in 3.19.0 kernel Works in 3.17 kernel. " According to the ACPI dump file posted by Nick at https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1440072 The ACPI MADT table includes an interrupt source overridden entry for ACPI SCI: [236h 0566 1] Subtable Type : 02 <Interrupt Source Override> [237h 0567 1] Length : 0A [238h 0568 1] Bus : 00 [239h 0569 1] Source : 09 [23Ah 0570 4] Interrupt : 00000009 [23Eh 0574 2] Flags (decoded below) : 000D Polarity : 1 Trigger Mode : 3 And in DSDT table, we have _PRT method to define PCI interrupts, which eventually goes to: Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12,14,15} }) Name (PRSB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12,14,15} }) Name (PRSC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12,14,15} }) Name (PRSD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12,14,15} }) According to the MADT and DSDT tables, IRQ 9 may be used for: 1) ACPI SCI in level, high mode 2) PCI legacy IRQ in level, low mode So there's a conflict in polarity setting for IRQ 9. Prior to commit cd68f6bd53cf ("x86, irq, acpi: Get rid of special handling of GSI for ACPI SCI"), ACPI SCI is handled specially and there's no check for conflicts between ACPI SCI and PCI legagy IRQ. And it seems that the HyperV hypervisor doesn't make use of the polarity configuration in IOAPIC entry, so it just works. Commit cd68f6bd53cf gets rid of the specially handling of ACPI SCI, and then the pin attribute checking code discloses the conflicts between ACPI SCI and PCI legacy IRQ on HyperV virtual machine, and rejects the request to assign IRQ9 to PCI devices. So penalize legacy IRQ used by ACPI SCI and mark it unusable if ACPI SCI attributes conflict with PCI IRQ attributes. Please refer to following links for more information: https://bugzilla.kernel.org/show_bug.cgi?id=101301 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1440072 Fixes: cd68f6bd53cf ("x86, irq, acpi: Get rid of special handling of GSI for ACPI SCI") Reported-and-tested-by: Nick Meier <nmeier@xxxxxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: 3.19+ <stable@xxxxxxxxxxxxxxx> # 3.19+ Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bf41846edf5b1618a37f8ec830251b31d8ed6ab3 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Jul 10 19:36:10 2015 -0400 i40e/i40evf: Bump i40e to 1.3.9 and i40evf to 1.3.5 Bump version and update the copyright year for i40evf. Change-ID: Iddb81b9dba09f0dc57ab54937b5821ecdd721ff6 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9fffa3f34dff2585ae86cd5b59c68ad2d4172f25 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Fri Jul 10 19:36:09 2015 -0400 i40e/i40evf: Cache the CEE TLV status returned from firmware Store the CEE TLV status returned by firmware to allow drivers to dump that for debug purposes. Change-ID: Ie3c4cf8cebabee4f15e1e3fdc4fc8a68bbca40ee Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b8262a6dfad8825e0b117fe5e3a1715a585bbd79 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jul 10 19:36:08 2015 -0400 i40e/i40evf: add VIRTCHNL_VF_OFFLOAD flag Add virtual channel offload capability to support RX polling mode in the VF. Change-ID: Ib643ae2a7506dfc75fc489fc207493fabefa4832 Signed-off-by: Jingjing Wu <jingjing.wu@xxxxxxxxx> Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2b20c88397fde2902c7834bb9e3ef8afc0237306 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Jul 10 19:36:07 2015 -0400 i40e: Remove redundant and unneeded messages The kernel notifies all VXLAN capable registered drivers, i.e. any driver that implements ndo_add_vxlan_port(), of the addition of a port so that the driver can track which ports are in use. There's no need to log this - it just fills the system log with useless and irksome noise. Also, when failing to init SR-IOV interfaces the driver was printing the same message twice. Just remove the inner printk and let the outer message catch enable as well as the other failures. Change-ID: Id5ecb1d425c2a357ee2bc1635dab24553831dade Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e02a7f83d84d0580a62df8d4c4e95cd8791c6645 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jul 10 19:36:06 2015 -0400 i40evf: Remove PF specific register definitions from the VF There were quite a few issues when the wrong defines were getting used in the VF driver. This patch fixes the code where PF driver registers were getting used for VF driver, and also removes the registers that are not being used from the VF register file. Change-ID: If116a9730112950d006eb8ec763998fc914cc839 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Acked-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b1f3366b86a9e99f4d4d557b02e0f53fa7ccd72c Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jul 10 19:36:05 2015 -0400 i40evf: Use the correct defines to match the VF registers Use CTLN1 instead of CTLN for the VF relative register space. Change-ID: Iefba63faf0307af55fec8dbb64f26059f7d91318 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit cd494fb4c2ba56dd9bb3919dc55565c2cc1551b6 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Jul 10 19:36:04 2015 -0400 i40e: correct spelling error Turns out that 'inavlid' is an inavlid spelling for 'invalid'. Change-ID: Ie1fe2d0f8d1ba75ab880594875ec2e4152a76f61 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b4e53f02d7356809acbab673e6c20773cf56dbd6 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Jul 10 19:36:03 2015 -0400 i40e: Fix comment for ethtool diagnostic link test The existing comment is incorrect. Add new comment to point out that the PF reset does not affect link but if the reset is changed to a different type that does affect link then the link test would need to be moved to before the reset. Change-ID: I28d786f46e9465860babdee61c1dba51016464df Reported-by: Jeremiah Kyle <jeremiah.kyle@xxxxxxxxx> Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fe860afb4638f5e62e7d861bfc35a1580fb633bb Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Fri Jul 10 19:36:02 2015 -0400 i40e/i40evf: Add capability to gather VEB per TC stats This patch adds capability to update per VEB per TC statistics and dump it via ethtool. It also adds a structure to hold VEB per TC statistics. The fields can be filled by reading the GLVEBTC_* counters. Change-ID: I28b4759b9ab6ad5a61f046a1bc9ef6b16fe31538 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c2b6bd7e91aad8440a2f55bdbde6f5a8ae19fac5 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 25 21:39:31 2015 +0200 drm/amdgpu: fix wait queue handling in the scheduler Freeing up a queue after signalling it isn't race free. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit bd755d08709f05a81104e8f81d721b5cc353a2b3 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 24 14:57:26 2015 +0200 drm/amdgpu: remove extra parameters from scheduler callbacks Signed-off-by: Christian König <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 510efb2682b35790b2274639ab985fe385bb526a Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Jul 10 19:36:01 2015 -0400 i40e: Fix ethtool offline diagnostic with netqueues Treat netqueues the same way we do virtual functions when someone wants to run the ethtool offline diagnostic test. Change-ID: Id48d2b933f1fd0db7be06305a93c6ebe3dc821f5 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 88079006dc412c5d1676f9f6e9c4d72a209eb556 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 24 14:29:40 2015 +0200 drm/amdgpu: wake up scheduler only when neccessary Signed-off-by: Christian König <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 062c7fb3ebb42d2a50d4644b3e49e731361e6951 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 21 15:46:43 2015 +0200 drm/amdgpu: remove entity idle timeout v2 Removing the entity from scheduling can deadlock the whole system. Wait forever till the remaining IBs are scheduled. v2: fix comment as well Signed-off-by: Christian König <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) commit 02537d63623ce5281c20d76f1b61797a7836acf4 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 25 15:05:20 2015 +0200 drm/amdgpu: fix postclose order The context needs to finish before everything else. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 26cdc443fd8fccccdfb17fd2845cf9233a995325 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jul 10 19:36:00 2015 -0400 i40e: Fix legacy interrupt mode in the driver This patch fixes the driver flow to take into account legacy interrupts. Over time we added code that assumes MSIX is the only mode that the driver runs in. It also enables a legacy workaround to trigger SWINT when the TX ring has non-cache aligned descriptors pending and interrupts are disabled. We work with a single vector in MSI mode too, so apply the same restrictions as Legacy. Change-ID: I826ddff1f9bd45d2dbe11f56a3ddcef0dbf42563 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c7ae72c01be10f539f385f624713f8ba0aa11a8f Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 25 17:23:45 2015 +0800 drm/amdgpu: use IB for copy buffer of eviction This aids handling buffers moves with the scheduler. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 113cd9dacbad4906e1c8db09233b9fdcb002f80d Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Wed Aug 26 09:34:59 2015 +0800 drm/amdgpu: adjust the judgement of removing fence callback The fence in the array may be skipped if wait_all is false, thus the related callback is not initialized with list head. So removing this kind callback will cause NULL pointer reference. Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 02b42498f383a6c24f7c751d4fe89a911a249242 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Jul 10 19:35:59 2015 -0400 i40e: Move function calls to i40e_shutdown instead of i40e_suspend We should be stopping the service task and flow director on shutdown not on suspension. Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9f7c94487197df9aaca172027419af57e5dc7d6f Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Jul 10 19:35:57 2015 -0400 i40e: add RX to port CRC errors label The port.crc_errors is really an RX counter, so let's mark it as such. Change-ID: I179afd3f8a95d45229bb4163a6aeb01f0d2d250b Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ecbb44e8f81b860ef279b0f176a878da9ebd614e Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Jul 10 19:35:56 2015 -0400 i40e: don't degrade __le16 Sparse cries when we compare an __le16 to a u16, almost like it cares about architectures other than x86. Weird. Use the le16_to_cpu macro to make it stop crying. Change-ID: Id068f4d7868a2d3df234a791a76d15938f37db35 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 66bc2f51ef7deabc8b8f3baa98ae64b65e5e973a Author: Stefan Assmann <sassmann@xxxxxxxxx> Date: Wed Aug 26 13:11:49 2015 -0700 Input: psmouse - add small delay for IBM trackpoint pass-through mode There are trackpoint devices that fail to respond to the PS2 command PSMOUSE_CMD_GETID if immediately queried after the parent device is deactivated. Add a small delay for the hardware to get in a sane state before sending any PS2 commands. One example of such a system is: Lenovo ThinkPad X120e, model 30515QG synaptics: Touchpad model: 1, fw: 8.0, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x121c00, board id: 1811, fw id: 797391 Signed-off-by: Stefan Assmann <sassmann@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a5e090acbf545c0a3b04080f8a488b17ec41fe02 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 20:40:41 2015 +0100 ARM: software-based priviledged-no-access support Provide a software-based implementation of the priviledged no access support found in ARMv8.1. Userspace pages are mapped using a different domain number from the kernel and IO mappings. If we switch the user domain to "no access" when we enter the kernel, we can prevent the kernel from touching userspace. However, the kernel needs to be able to access userspace via the various user accessor functions. With the wrapping in the previous patch, we can temporarily enable access when the kernel needs user access, and re-disable it afterwards. This allows us to trap non-intended accesses to userspace, eg, caused by an inadvertent dereference of the LIST_POISON* values, which, with appropriate user mappings setup, can be made to succeed. This in turn can allow use-after-free bugs to be further exploited than would otherwise be possible. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 2190fed67ba6f3e8129513929f2395843645e928 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 20 10:32:02 2015 +0100 ARM: entry: provide uaccess assembly macro hooks Provide hooks into the kernel entry and exit paths to permit control of userspace visibility to the kernel. The intended use is: - on entry to kernel from user, uaccess_disable will be called to disable userspace visibility - on exit from kernel to user, uaccess_enable will be called to enable userspace visibility - on entry from a kernel exception, uaccess_save_and_disable will be called to save the current userspace visibility setting, and disable access - on exit from a kernel exception, uaccess_restore will be called to restore the userspace visibility as it was before the exception occurred. These hooks allows us to keep userspace visibility disabled for the vast majority of the kernel, except for localised regions where we want to explicitly access userspace. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit aa06e5c1f9c2b466712be904cc5b56a813e24cfd Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Aug 26 20:07:25 2015 +0100 ARM: entry: get rid of multiple macro definitions The following structure is just asking for trouble: #ifdef CONFIG_symbol .macro foo ... .endm .macro bar ... .endm .macro baz ... .endm #else .macro foo ... .endm .macro bar ... .endm #ifdef CONFIG_symbol2 .macro baz ... .endm #else .macro baz ... .endm #endif #endif such as one defintion being updated, but the other definitions miss out. Where the contents of a macro needs to be conditional, the hint is in the first clause of this very sentence. "contents" "conditional". Not multiple separate definitions, especially not when much of the macro is the same between different configs. This patch fixes this bad style, which had caused the Thumb2 code to miss-out on the uaccess updates. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 19b2c30d3cce928010138cae4b9e57c388aa065c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 26 20:34:48 2015 +0800 f2fs: update extent tree in batches This patch introduce a new helper f2fs_update_extent_tree_range which can do extent mapping update at a specified range. The main idea is: 1) punch all mapping info in extent node(s) which are at a specified range; 2) try to merge new extent mapping with adjacent node, or failing that, insert the mapping into extent tree as a new node. In order to see the benefit, I add a function for stating time stamping count as below: uint64_t rdtsc(void) { uint32_t lo, hi; __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi)); return (uint64_t)hi << 32 | lo; } My test environment is: ubuntu, intel i7-3770, 16G memory, 256g micron ssd. truncation path: update extent cache from truncate_data_blocks_range non-truncataion path: update extent cache from other paths total: all update paths a) Removing 128MB file which has one extent node mapping whole range of file: 1. dd if=/dev/zero of=/mnt/f2fs/128M bs=1M count=128 2. sync 3. rm /mnt/f2fs/128M Before: total count average truncation: 7651022 32768 233.49 Patched: total count average truncation: 3321 33 100.64 b) fsstress: fsstress -d /mnt/f2fs -l 5 -n 100 -p 20 Test times: 5 times. Before: total count average truncation: 5812480.6 20911.6 277.95 non-truncation: 7783845.6 13440.8 579.12 total: 13596326.2 34352.4 395.79 Patched: total count average truncation: 1281283.0 3041.6 421.25 non-truncation: 7355844.4 13662.8 538.38 total: 8637127.4 16704.4 517.06 1) For the updates in truncation path: - we can see updating in batches leads total tsc and update count reducing explicitly; - besides, for a single batched updating, punching multiple extent nodes in a loop, result in executing more operations, so our average tsc increase intensively. 2) For the updates in non-truncation path: - there is a little improvement, that is because for the scenario that we just need to update in the head or tail of extent node, new interface optimize to update info in extent node directly, rather than removing original extent node for updating and then inserting that updated one into cache as new node. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1b383bf912b25029fb180cf2cf8f33f90d6cf97f Merge: 1afe839 d332881 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Aug 26 20:33:58 2015 +0200 Merge tag 'ipvs2-for-v4.3' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next Simon Horman says: ==================== Second Round of IPVS Updates for v4.3 I realise these are a little late in the cycle, so if you would prefer me to repost them for v4.4 then just let me know. The updates include: * A new scheduler from Raducu Deaconu * Enhanced configurability of the sync daemon from Julian Anastasov ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d31ff5f7f3b142b8d1ebb3da89187c54cdf2bc71 Author: Damien.Horsley <Damien.Horsley@xxxxxxxxxx> Date: Wed Aug 26 17:11:40 2015 +0100 clk: pistachio: correct critical clock list Current critical clock list for pistachio enables only mips and sys clocks by default but there are also other clocks that are not claimed by anyone and needs to be enabled by default. This patch updates the critical clocks that need to be enabled by default. Add a separate struct to distinguish the critical clocks as listed: 1.) core clocks: a.) mips clock 2.) peripheral system clocks: a.) sys clock b.) sys_bus clock c.) DDR clock d.) ROM clock Fixes: b35d7c33419c("CLK: Pistachio: Register core clocks") Cc: <stable@xxxxxxxxxxxxxxx> # 4.1 Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Damien.Horsley <Damien.Horsley@xxxxxxxxxx> Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7937c6c57e0da7bffa7b10bac23f230c77523e35 Author: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Date: Wed Aug 26 17:11:39 2015 +0100 clk: pistachio: Fix PLL rate calculation in integer mode .recalc_rate callback for the fractional PLL doesn't take operating mode into account when calculating PLL rate. This results in the incorrect PLL rates when PLL is operating in integer mode. Operating mode of fractional PLL is based on the value of the fractional divider. Currently it assumes that the PLL will always be configured in fractional mode which may not be the case. This may result in the wrong output frequency. Also vco was calculated based on the current operating mode which makes no sense because .set_rate is setting operating mode. Instead, vco should be calculated using PLL settings that are about to be set. Fixes: 43049b0c83f17("CLK: Pistachio: Add PLL driver") Cc: <stable@xxxxxxxxxxxxxxx> # 4.1 Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e53f21c761d141bbcbce06e9ddab3b4e0a828f2c Author: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Date: Wed Aug 26 17:11:38 2015 +0100 clk: pistachio: Fix override of clk-pll settings from boot loader PLL enable callbacks are overriding PLL mode (int/frac) and Noise reduction (on/off) settings set by the boot loader which results in the incorrect clock rate. PLL mode and noise reduction are defined by the DSMPD and DACPD bits of the PLL control register. PLL .enable() callbacks enable PLL by deasserting all power-down bits of the PLL control register, including DSMPD and DACPD bits, which is not necessary since these bits don't actually enable/disable PLL. This commit fixes the problem by removing DSMPD and DACPD bits from the "PLL enable" mask. Fixes: 43049b0c83f17("CLK: Pistachio: Add PLL driver") Cc: <stable@xxxxxxxxxxxxxxx> # 4.1 Reviewed-by: Andrew Bresitcker <abrestic@xxxxxxxxxxxx> Signed-off-by: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 093affb009a3d87848e51217cd1a06ce1135633f Author: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Date: Wed Aug 26 17:11:37 2015 +0100 clk: pistachio: Fix 32bit integer overflows This commit fixes 32bit integer overflows throughout the pll driver (i.e. wherever the result of integer multiplication may exceed the range of u32). One of the functions affected by this problem is .recalc_rate. It returns incorrect rate for some pll settings (not for all though) which in turn results in the incorrect rate setup of pll's child clocks. Fixes: 43049b0c83f17("CLK: Pistachio: Add PLL driver") Cc: <stable@xxxxxxxxxxxxxxx> # 4.1 Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1afe839e6b31a85fc53adbf8757d6373908d414d Author: Andreas Herz <andi@xxxxxxxxxxxxxxx> Date: Fri Aug 21 11:31:32 2015 +0200 netfilter: ip6t_REJECT: added missing icmpv6 codes RFC 4443 added two new codes values for ICMPv6 type 1: 5 - Source address failed ingress/egress policy 6 - Reject route to destination And RFC 7084 states in L-14 that IPv6 Router MUST send ICMPv6 Destination Unreachable with code 5 for packets forwarded to it that use an address from a prefix that has been invalidated. Codes 5 and 6 are more informative subsets of code 1. Signed-off-by: Andreas Herz <andi@xxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f9ed72dde34e3d5253e206e4bc3edbc6373015d6 Merge: f5db4b3 74c9c91 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 26 11:08:47 2015 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block fixes from Jens Axboe: "Two fixes in this pull request: - The writeback regression fix from Tejun, which has been weeks in the making. This fixes a case where we would sometimes not issue writeback when we should have. - An older fix for a memory corruption issue in mtip32xx. It was deferred since we wanted a better fix for this (driver should not have to handle that case), but given the timing, it's better to put the simple fix in for 4.2 release" * 'for-linus' of git://git.kernel.dk/linux-block: mtip32x: fix regression introduced by blk-mq per-hctx flush writeback: sync_inodes_sb() must write out I_DIRTY_TIME inodes and always call wait_sb_inodes() commit 8c5bbe77d4cd012668cdaf501bbd1cbfb9ad1d24 Merge: dc8242f cff8245 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 26 11:01:45 2015 -0700 Merge branch 'act_bpf_lockless' Alexei Starovoitov says: ==================== act_bpf: remove spinlock in fast path v1 version had a race condition in cleanup path of bpf_prog. I tried to fix it by adding new callback 'cleanup_rcu' to 'struct tcf_common' and call it out of act_api cleanup path, but Daniel noticed (thanks for the idea!) that most of the classifiers already do action cleanup out of rcu callback. So instead this set of patches converts tcindex and rsvp classifiers to call tcf_exts_destroy() after rcu grace period and since action cleanup logic in __tcf_hash_release() is only called when bind and refcnt goes to zero, it's guaranteed that cleanup() callback is called from rcu callback. More specifically: patches 1 and 2 - simple fixes patches 2 and 3 - convert tcf_exts_destroy in tcindex and rsvp to call_rcu patch 5 - removes spin_lock from act_bpf The cleanup of actions is now universally done after rcu grace period and in the future we can drop (now unnecessary) call_rcu from tcf_hash_destroy() patch 5 is using synchronize_rcu() in act_bpf replacement path, since it's very rare and alternative of dynamically allocating 'struct tcf_bpf_cfg' just to pass it to call_rcu looks even less appealing. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cff82457c5584f6a96d2b85d1a88b81ba304a330 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 25 20:06:35 2015 -0700 net_sched: act_bpf: remove spinlock in fast path Similar to act_gact/act_mirred, act_bpf can be lockless in packet processing with extra care taken to free bpf programs after rcu grace period. Replacement of existing act_bpf (very rare) is done with synchronize_rcu() and final destruction is done from tc_action_ops->cleanup() callback that is called from tcf_exts_destroy()->tcf_action_destroy()->__tcf_hash_release() when bind and refcnt reach zero which is only possible when classifier is destroyed. Previous two patches fixed the last two classifiers (tcindex and rsvp) to call tcf_exts_destroy() from rcu callback. Similar to gact/mirred there is a race between prog->filter and prog->tcf_action. Meaning that the program being replaced may use previous default action if it happened to return TC_ACT_UNSPEC. act_mirred race betwen tcf_action and tcfm_dev is similar. In all cases the race is harmless. Long term we may want to improve the situation by replacing the whole tc_action->priv as single pointer instead of updating inner fields one by one. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e528d89154b602209fda2fb92e89927bbffc976 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 25 20:06:34 2015 -0700 net_sched: convert rsvp to call tcf_exts_destroy from rcu callback Adjust destroy path of cls_rsvp to call tcf_exts_destroy() after rcu grace period. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed7aa879ce1a0ff6468c5a6d3eb4e31169b95c4a Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 25 20:06:33 2015 -0700 net_sched: convert tcindex to call tcf_exts_destroy from rcu callback Adjust destroy path of cls_tcindex to call tcf_exts_destroy() after rcu grace period. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit faa54be4c78da6aa2148c539659867afdecd3e8d Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 25 20:06:32 2015 -0700 net_sched: act_bpf: remove unnecessary copy Fix harmless typo and avoid unnecessary copy of empty 'prog' into unused 'strcut tcf_bpf_cfg old'. Fixes: f4eaed28c783 ("act_bpf: fix memory leaks when replacing bpf programs") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c645621b79828be7a46fb2694eb423b343b4bbe Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 25 20:06:31 2015 -0700 net_sched: make tcf_hash_destroy() static tcf_hash_destroy() used once. Make it static. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30b139dfe0bfa8727ceec2a1d5294766943dcdc8 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 26 14:36:46 2015 +0100 scripts: add extract-cert and sign-file to .gitignore ...so "git status" doesn't nag us about them. Cc: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit f57ddcdfa146636dbdcd6ac0a6d22c15d47b08c8 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 23 23:32:14 2015 +0800 ASoC: tegra: Use devm_ioremap_resource instead of open code Use devm_ioremap_resource() to simplify the code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 63ab645f4d8b2dc1351c41751e7ebb1b3f1c99d3 Author: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Date: Sun Aug 23 16:06:30 2015 +0200 spi: check bits_per_word in spi_setup This allows drivers for devices connected via SPI to check if the controller supports a given bits_per_word value during setup. Currently any BPW value is accepted durings setup, and transfers are rejected later. Signed-off-by: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5aeeb78aeb4c8607cbda54a7b0dc7315171e214f Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Jul 15 10:19:56 2015 +0530 mpt2sas, mpt3sas: Abort initialization if no memory I/O resources detected Driver crashes if the BIOS do not set up at least one memory I/O resource. This failure can happen if the device is too slow to respond during POST and is missed by the BIOS, but Linux then detects the device later in the boot process. Based on a patch from Timothy Pearson <tpearson@xxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 7d40acc38be55abb095f517e4e3a634818bc5253 Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Aug 26 16:11:40 2015 +0300 ASoC: omap-hdmi-audio: Set buffer bytes step constraint to 128 Set buffer bytes step constraint to 128. A matching constraint has already been set to period size. This helps PCM setup to tolerate ALSA clients that set the PCM hw params in unusual order. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dc8242f704fee4fddcbebfcc5a4d08526951444a Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Wed Aug 26 15:36:12 2015 +0200 lib/Makefile: remove CONFIG_AVERAGE build rule The Kconfig option AVERAGE and its implementation has been removed by commit f4e774f55fe0 ("average: remove out-of-line implementation"). Remove the dead build rule in lib/Makefile. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d16366b5f23e928e5fd22eaeaceeb0356921fc0 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:25:46 2015 -0700 qla2xxx: Avoid that sparse complains about context imbalances Surround conditional locking statements with "#ifndef __CHECKER__" / "#endif" to hide these for the sparse static source code analysis tool. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8a318fe16096a45c03e8c9a39449d1f750fafd27 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:25:25 2015 -0700 qla2xxx: Remove dead code The "return QLA_SUCCESS" statement just above the "fw_load_failed" label cannot be reached, hence remove it. Additionally remove the "else" keyword since the code block below the if-statement ends with a return statement. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 82e6afd49d9a5da8cdb648cb66e54432173298d7 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:25:07 2015 -0700 qla2xxx: Remove a superfluous test Avoid that smatch reports the following warning: drivers/scsi/qla2xxx/qla_attr.c:1081: qla2x00_model_desc_show() warn: this array is probably non-NULL. 'vha->hw->model_desc' Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8dfa4b5a9b44714d7710f9f452f65763629f10df Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:24:50 2015 -0700 qla2xxx: Fix sparse annotations This patch removes 21 casts between an __iomem pointer type and another data type but also introduces five new casts (see also the casts with "__force"). Although this patch does not change any functionality, IMHO the code with __force casts needs further review. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 118e2ef9df2297147706d21d2a1dfeefea878c5a Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:24:27 2015 -0700 qla2xxx: Avoid that sparse complains about duplicate [noderef] attributes Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ad950360eebb5f5f7610b13cfd08c0185ca3f146 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:24:08 2015 -0700 qla2xxx: Remove __constant_ prefix Whether htonl() or __constant_htonl() is used, if the argument is a constant the conversion happens at compile time. Hence leave out the __constant_ prefix for this and other endianness conversion functions. This improves source code readability. [jejb: checkpatch fixes] Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit df3f4cd0defd5f832a806ca1f0dd6638a2df17a5 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:23:46 2015 -0700 qla2xxx: Replace two macros with an inline function Replace the QLA82XX_ADDR_IN_RANGE() and QLA8044_ADDR_IN_RANGE() macros with the inline function addr_in_range(). This avoids that the compiler reports the following warning when building with W=1: comparison of unsigned expression >= 0 is always true. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 52c82823cc686d4faf9e9bc4feec4bf48c36fded Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:23:26 2015 -0700 qla2xxx: Remove set-but-not-used variables Detected these variables by building with W=1. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2374dd238c287fb7a370b53aad2dbc4c8f0c241c Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:23:02 2015 -0700 qla2xxx: Declare local functions static Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c3ff356d08275960b4a36471a81d5b2685a4074e Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:22:38 2015 -0700 qla2xxx: Report both rsp_info and rsp_info_len Let the debug statement in qlafx00_tm_iocb_entry() report both rsp_info and rsp_info_len instead of reporting rsp_info_len twice. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e51e38494a8ecc18650efb0c840600637891de2c Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Aug 20 14:28:48 2015 -0700 Input: synaptics - fix handling of disabling gesture mode Bit 2 of the mode byte has dual meaning: it can disable reporting of gestures when touchpad works in Relative mode or normal Absolute mode, or it can enable so called Extended W-Mode when touchpad uses enhanced Absolute mode (W-mode). The extended W-Mode confuses our driver and causes missing button presses on some Thinkpads (x250, T450s), so let's make sure we do not enable it. Also, according to the spec W mode "... bit is defined only in Absolute mode on pads whose capExtended capability bit is set. In Relative mode and in TouchPads without this capability, the bit is reserved and should be left at 0.", so let's make sure we respect this requirement as well. Reported-by: Nick Bowler <nbowler@xxxxxxxxxx> Suggested-by: Gabor Balla <gaborwho@xxxxxxxxx> Tested-by: Gabor Balla <gaborwho@xxxxxxxxx> Tested-by: Nick Bowler <nbowler@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3fffd12839273429a185d68431f117f0a3654b07 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Aug 17 23:52:51 2015 -0700 i2c: allow specifying separate wakeup interrupt in device tree Instead of having each i2c driver individually parse device tree data in case it or platform supports separate wakeup interrupt, and handle enabling and disabling wakeup interrupts in their power management routines, let's have i2c core do that for us. Platforms wishing to specify separate wakeup interrupt for the device should use named interrupt syntax in their DTSes: interrupt-parent = <&intc1>; interrupts = <5 0>, <6 0>; interrupt-names = "irq", "wakeup"; This patch is inspired by work done by Vignesh R <vigneshr@xxxxxx> for pixcir_i2c_ts driver. Note that the original code tried to preserve any existing wakeup settings from userspace but was not quite right in that regard: it would preserve wakeup flag set by userspace upon driver rebinding; but it would re-arm the wakeup flag if it was disabled by userspace. We think that resetting the flag upon re-binding the driver is proper behavior as the driver is responsible for setting up and handling wakeups. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Tested-by: Vignesh R <vigneshr@xxxxxx> [wsa: updated the commit message] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6602c452caf532893c1bde50aacda0bd17f958aa Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Aug 25 17:04:02 2015 -0700 of/irq: export of_get_irq_byname() Similarly to of_get_irq(), let's export of_irq_get_byname(), so if a bus core can be compiled as a module (such as I2C) it can have access to the symbol. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7a7184b01aa9deb86df661c6f7cbcf69a95b728c Author: Guillermo A. Amaral <g@xxxxxxxx> Date: Tue Aug 25 23:29:13 2015 -0700 Add factory recertified Crucial M500s to blacklist The Crucial M500 is known to have issues with queued TRIM commands, the factory recertified SSDs use a different model number naming convention which causes them to get ignored by the blacklist. The new naming convention boils down to: s/Crucial_/FC/ Signed-off-by: Guillermo A. Amaral <g@xxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1d3f9094c6fdb5680fd3b19a5b153308d53a70ee Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:13:41 2015 +0200 s390/sclp_vt220: support magic sysrequests Implement magic sysrequest handling for the VT220 terminal (also known as the Integrated ASCII console on the HMC/SE). To invoke a "magic sysrequest" function, press "Ctrl+o" followed by a second character that designates the debugging function. The handling of the sysrq is scheduled away from the SCLP IRQ context; because large amounts of sysrq output might fill up the console buffers. The console might deadlock because it cannot empty the buffers while still in the receiving IRQ context. This behavior is the same as for the SCLP console. Reported-by: Horst Weber <hweber@xxxxxxxxxx> Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ab7373bf235ede864a72f0d2f8f9a21a1748c4a2 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 17:42:39 2015 +0200 s390/ctrlchar: improve handling of magic sysrequests Extract the sysrq handling from the ctrlchar_handle() into a separate function that can be directly used by other users. Introduce a new sysrq_work structure to embed the work_struct and to specify the magic sysrq function to be invoked. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit de9c35f32410c225c585535a321ce591ea001645 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 19:29:33 2015 +0200 s390/numa: remove superfluous ARCH_WANT defines The NUMA system call "__ARCH_WANT" defines are not used by the Linux kernel, therefore remove them. Fixes: 9df62adffeb0 ("s390/numa: add core infrastructure") Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 05bfd70bcdd3cd12c061cb77b73a11ba6f87379d Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Aug 19 16:50:10 2015 +0200 s390/3270: redraw screen on unsolicited device end If a 3270 terminal is disconnected and later reconnected again, it gets an unsolicited device end. This is currently ignored and you have to hit the clear key to get the screen redrawn. Add an automatic full redraw of the screen for this case. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e19b127f5b76ec03b9c52b64f117dc75bb39eda1 Author: Alok Pandey <pandey.alok@xxxxxxxxxxx> Date: Wed Aug 26 08:56:14 2015 -0600 NVMe: Using PRACT bit to generate and verify PI by controller This patch enables the PRCHK and reftag support when PRACT bit is set, and block layer integrity is disabled. Signed-off-by: Alok Pandey <pandey.alok@xxxxxxxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2d3a5d215e24d9bfb822ae82c6c2c5d333be076d Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Wed Jul 8 17:24:01 2015 +0200 st: Destroy st_index_idr on module exit Destroy st_index_idr on module exit, reclaiming the allocated memory. This was detected by the following semantic patch (written by Luis Rodriguez <mcgrof@xxxxxxxx>) <SmPL> @ defines_module_init @ declarer name module_init, module_exit; declarer name DEFINE_IDR; identifier init; @@ module_init(init); @ defines_module_exit @ identifier exit; @@ module_exit(exit); @ declares_idr depends on defines_module_init && defines_module_exit @ identifier idr; @@ DEFINE_IDR(idr); @ on_exit_calls_destroy depends on declares_idr && defines_module_exit @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... idr_destroy(&idr); ... } @ missing_module_idr_destroy depends on declares_idr && defines_module_exit && !on_exit_calls_destroy @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... +idr_destroy(&idr); } </SmPL> Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Kai Mäkisara <kai.makisara@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit da0dc9fb4e6b0ad5a947c27a3c48985f6a2377eb Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Jul 7 15:52:45 2015 -0500 megaraid_sas: fix whitespace errors Fix whitespace and indentation errors. No code change. [jejb: checkpatch fixes] Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1be1825453f6d75ea9c9ea0c8549ca481d94a7ab Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Jul 7 15:52:34 2015 -0500 megaraid_sas: use dev_printk when possible Use dev_printk() when possible to make messages more useful. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3b8a1ba378b7502c7206ab3da5ea484a132ad30c Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Jul 7 15:52:25 2015 -0500 megaraid : use dev_printk when possible Use dev_printk() when possible to make messages more useful. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 14c3e677df9fa2e4bf87b9de683452fc140934b2 Author: Hannes Reinecke <hare@xxxxxxx> Date: Mon Jul 6 13:41:53 2015 +0200 scsi: Add ALUA state change UA handling Log the ALUA state change unit attention correctly with the message log and emit an event to allow user-space tools to react to it. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0662292aec0528363df037ad7c66bf9949c7ce46 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 26 10:23:26 2015 +0200 ALSA: usb-audio: Handle normal and auto-suspend equally In theory, the device may get suspended even at runtime PM suspend. Currently we don't save the mixer state for autopm, and it may bring inconsistency. This patch removes the special handling for autosuspend. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e819cdb198319cccf4af4fc12ac4d796109d8c23 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Jul 3 11:53:03 2015 +0300 mptfusion: prevent some memory corruption These are signed values the come from the user, we put a cap on the upper bounds but not on the lower bounds. We use "karg.dataSgeOffset" to calculate "sz". We verify "sz" and proceed as if that means that "karg.dataSgeOffset" is correct but this fails to consider that the "sz" calculations can have integer overflows. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a2fb3382edbea83c6f2bf6ac15e3673b2e254aad Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Aug 26 10:57:46 2015 +0000 tracing/uprobes: Do not print '0x (null)' when offset is 0 When manually added uprobe point with zero address, 'uprobe_events' output '(null)' instead of 0x00000000: # echo p:probe_libc/abs_0 /path/to/lib.bin:0x0 arg1=%ax > \ /sys/kernel/debug/tracing/uprobe_events # cat /sys/kernel/debug/tracing/uprobe_events p:probe_libc/abs_0 /path/to/lib.bin:0x (null) arg1=%ax This patch fixes this behavior: # cat /sys/kernel/debug/tracing/uprobe_events p:probe_libc/abs_0 /path/to/lib.bin:0x0000000000000000 Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440586666-235233-8-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit da15bd9df4afd2f9f78cf29f85f013e3a38402b5 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Aug 26 10:57:45 2015 +0000 perf probe: Support probing at absolute address It should be useful to allow 'perf probe' probe at absolute offset of a target. For example, when (u)probing at a instruction of a shared object in a embedded system where debuginfo is not avaliable but we know the offset of that instruction by manually digging. This patch enables following perf probe command syntax: # perf probe 0xffffffff811e6615 And # perf probe /lib/x86_64-linux-gnu/libc-2.19.so 0xeb860 In the above example, we don't need a anchor symbol, so it is possible to compute absolute addresses using other methods and then use 'perf probe' to create the probing points. v1 -> v2: Drop the leading '+' in cmdline; Allow uprobing at offset 0x0; Improve 'perf probe -l' result when uprobe at area without debuginfo. v2 -> v3: Split bugfix to a separated patch. Test result: # perf probe 0xffffffff8119d175 %ax # perf probe sys_write %ax # perf probe /lib64/libc-2.18.so 0x0 %ax # perf probe /lib64/libc-2.18.so 0x5 %ax # perf probe /lib64/libc-2.18.so 0xd8e40 %ax # perf probe /lib64/libc-2.18.so __write %ax # perf probe /lib64/libc-2.18.so 0xd8e49 %ax # cat /sys/kernel/debug/tracing/uprobe_events p:probe_libc/abs_0 /lib64/libc-2.18.so:0x (null) arg1=%ax p:probe_libc/abs_5 /lib64/libc-2.18.so:0x0000000000000005 arg1=%ax p:probe_libc/abs_d8e40 /lib64/libc-2.18.so:0x00000000000d8e40 arg1=%ax p:probe_libc/__write /lib64/libc-2.18.so:0x00000000000d8e40 arg1=%ax p:probe_libc/abs_d8e49 /lib64/libc-2.18.so:0x00000000000d8e49 arg1=%ax # cat /sys/kernel/debug/tracing/kprobe_events p:probe/abs_ffffffff8119d175 0xffffffff8119d175 arg1=%ax p:probe/sys_write _text+1692016 arg1=%ax # perf probe -l Failed to find debug information for address 5 probe:abs_ffffffff8119d175 (on sys_write+5 with arg1) probe:sys_write (on sys_write with arg1) probe_libc:__write (on @unix/syscall-template.S:81 in /lib64/libc-2.18.so with arg1) probe_libc:abs_0 (on 0x0 in /lib64/libc-2.18.so with arg1) probe_libc:abs_5 (on 0x5 in /lib64/libc-2.18.so with arg1) probe_libc:abs_d8e40 (on @unix/syscall-template.S:81 in /lib64/libc-2.18.so with arg1) probe_libc:abs_d8e49 (on __GI___libc_write+9 in /lib64/libc-2.18.so with arg1) Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440586666-235233-7-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6c6e024f0a62a6a08c06002fd3caa2307cc54fd0 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Aug 26 10:57:44 2015 +0000 perf probe: Fix error reported when offset without function This patch fixes a bug that, when offset is provided but function is lost, parse_perf_probe_point() will give a "" string as function name, so the checking code at the end of parse_perf_probe_point() become useless. For example: # perf probe +0x1234 Failed to find symbol in kernel Error: Failed to add events. After this patch: # perf probe +0x1234 Semantic error :Offset requires an entry function. Error: Command Parse Error. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440586666-235233-6-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a6da499b76b1a75412f047ac388e9ffd69a5c55b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 26 10:20:59 2015 +0200 ALSA: usb-audio: Replace probing flag with active refcount We can use active refcount for preventing autopm during probe. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit be07afe92a09638db9159d2c0794487d66a437a2 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Aug 26 10:57:43 2015 +0000 perf probe: Fix list result when address is zero When manually added uprobe point with zero address, 'perf probe -l' reports error. For example: # echo p:probe_libc/abs_0 /path/to/lib.bin:0x0 arg1=%ax > \ /sys/kernel/debug/tracing/uprobe_events # perf probe -l Error: Failed to show event list. Probing at 0x0 is possible and useful when lib.bin is not a normal shared object but is manually mapped. However, in this case kernel report: # cat /sys/kernel/debug/tracing/uprobe_events p:probe_libc/abs_0 /path/to/lib.bin:0x (null) arg1=%ax This patch supports the above kernel output. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440586666-235233-5-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 47ab154593827b1a8f0713a2b9dd445753d551d8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 25 16:09:00 2015 +0200 ALSA: usb-audio: Avoid nested autoresume calls After the recent fix of runtime PM for USB-audio driver, we got a lockdep warning like: ============================================= [ INFO: possible recursive locking detected ] 4.2.0-rc8+ #61 Not tainted --------------------------------------------- pulseaudio/980 is trying to acquire lock: (&chip->shutdown_rwsem){.+.+.+}, at: [<ffffffffa0355dac>] snd_usb_autoresume+0x1d/0x52 [snd_usb_audio] but task is already holding lock: (&chip->shutdown_rwsem){.+.+.+}, at: [<ffffffffa0355dac>] snd_usb_autoresume+0x1d/0x52 [snd_usb_audio] This comes from snd_usb_autoresume() invoking down_read() and it's used in a nested way. Although it's basically safe, per se (as these are read locks), it's better to reduce such spurious warnings. The read lock is needed to guarantee the execution of "shutdown" (cleanup at disconnection) task after all concurrent tasks are finished. This can be implemented in another better way. Also, the current check of chip->in_pm isn't good enough for protecting the racy execution of multiple auto-resumes. This patch rewrites the logic of snd_usb_autoresume() & co; namely, - The recursive call of autopm is avoided by the new refcount, chip->active. The chip->in_pm flag is removed accordingly. - Instead of rwsem, another refcount, chip->usage_count, is introduced for tracking the period to delay the shutdown procedure. At the last clear of this refcount, wake_up() to the shutdown waiter is called. - The shutdown flag is replaced with shutdown atomic count; this is for reducing the lock. - Two new helpers are introduced to simplify the management of these refcounts; snd_usb_lock_shutdown() increases the usage_count, checks the shutdown state, and does autoresume. snd_usb_unlock_shutdown() does the opposite. Most of mixer and other codes just need this, and simply returns an error if it receives an error from lock. Fixes: 9003ebb13f61 ('ALSA: usb-audio: Fix runtime PM unbalance') Reported-and-tested-by: Alexnader Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 614e2fdbd79b47ddf63a1ccd3f2343e98c3077fb Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Aug 26 10:57:42 2015 +0000 perf probe: Fix list result when symbol can't be found 'perf probe -l' reports error if it is unable find symbol through address. Here is an example. # echo 'p:probe_libc/abs_5 /lib64/libc.so.6:0x5' > /sys/kernel/debug/tracing/uprobe_events # cat /sys/kernel/debug/tracing/uprobe_events p:probe_libc/abs_5 /lib64/libc.so.6:0x0000000000000005 # perf probe -l Error: Failed to show event list Also, this situation triggers a logical inconsistency in convert_to_perf_probe_point() that, it returns ENOMEM but actually it never try strdup(). This patch removes !tp->module && !is_kprobe condition, so it always uses address to build function name if symbol not found. Test result: # perf probe -l probe_libc:abs_5 (on 0x5 in /lib64/libc.so.6) Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440586666-235233-4-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0bdede8a3e4ff7710622a2e6713d04b3243c24a8 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Aug 26 15:01:03 2015 +0200 tools build: Allow duplicate objects in the object list It's sometimes useful to specify the object affiliation to multiple config options like: libperf-$(CONFIG_X86) += tsc.o libperf-$(CONFIG_AUXTRACE) += tsc.o while the object itself is linked only once. Adding the support for this and ignoring duplicate objects in the object list. Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150826130103.GF22670@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 18b9a05868391e8f617febb4528bc1765dc921cf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Aug 26 10:07:50 2015 +0200 perf tools: Remove export.h from MANIFEST We don't carry an export.h wrapper anymore, remove it from the MANIFEST file to avoid breaking the make perf-tar targets. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150826080750.GD22670@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e486367f0101d43a044404ed2fa35aa043b19667 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Aug 25 13:27:35 2015 +0000 perf probe: Prevent segfault when reading probe point with absolute address 'perf probe -l' panic if there is a manually inserted probing point with absolute address. For example: # echo 'p:probe/abs_ffffffff811e6615 0xffffffff811e6615' > /sys/kernel/debug/tracing/kprobe_events # perf probe -l Segmentation fault (core dumped) This patch fix this problem by considering the situation that "tp->symbol == NULL" in find_perf_probe_point_from_dwarf() and find_perf_probe_point_from_map(). After this patch: # perf probe -l probe:abs_ffffffff811e6615 (on SyS_write+5@fs/read_write.c) And when debug info is missing: # rm -rf ~/.debug # mv /lib/modules/4.2.0-rc1+/build/vmlinux /lib/modules/4.2.0-rc1+/build/vmlinux.bak # perf probe -l probe:abs_ffffffff811e6615 (on sys_write+5) Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440509256-193590-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c60f99445aed684b5a8d84dcb84f5a06c1f70430 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:20 2015 -0500 MIPS: MT: Remove "weak" from vpe_run() declaration Weak header file declarations are error-prone because they make every definition weak, and the linker chooses one based on link order (see 10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node decl")). That's not a problem for vpe_run() because Kconfig ensures there's never more than one definition: - vpe_run() is defined in arch/mips/kernel/vpe-mt.c if CONFIG_MIPS_VPE_LOADER_MT=y - vpe_run() is defined in arch/mips/mti-malta/malta-amon.c if CONFIG_MIPS_CMP=y - CONFIG_MIPS_VPE_LOADER_MT cannot be set if CONFIG_MIPS_CMP=y But it's simpler to verify correctness if we remove "weak" from the picture and test the config symbols directly. Remove "weak" from the vpe_run() declaration and use #if to test whether a definition should be present. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10684/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1c205b9cc6f66c5caa91fa2644dcf75254c3bfe1 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:12 2015 -0500 MIPS: VPE: Exit vpe_release() early if vpe_run() isn't defined vpe_run() is a weak symbol. If there's no definition of it, its value is zero. If vpe_run is zero, return failure early. We're going to fail anyway, so there's no point in getting a VPE and attempting to load it. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10683/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 27d8d449ba7c553e9e004aaa07b225625b20fd2d Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:04 2015 -0500 MIPS: Remove "weak" from platform_maar_init() declaration Weak header file declarations are error-prone because they make every definition weak, and the linker chooses one based on link order (see 10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node decl")). platform_maar_init() is defined in: - arch/mips/mm/init.c (where it is marked "weak") - arch/mips/mti-malta/malta-memory.c (without annotation) The "weak" attribute on the platform_maar_init() extern declaration applies to the platform-specific definition in arch/mips/mti-malta/malta-memory.c, so both definitions are weak, and which one we get depends on link order. Remove the "weak" attribute from the declaration. That makes the malta definition strong, so it will always be preferred if it is present. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: linux-mips@xxxxxxxxxxxxxx Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10682/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8dedde6b289c51ba216fdf5467fc85a673775489 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:10:56 2015 -0500 MIPS: CPC: Remove "weak" from mips_cpc_phys_base() and make it static There's only one implementation of mips_cpc_phys_base(), and it's only used within the same file, so it doesn't need to be weak, and it doesn't need an extern declaration. Remove the extern mips_cpc_phys_base() declaration and make it static. [ralf@xxxxxxxxxxxxxx: Fixed conflict.] Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: linux-mips@xxxxxxxxxxxxxx Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10681/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9b4685de77afd688407fd56cc350083a0a6a0516 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 13 17:14:22 2015 +0100 MIPS: Drop CONFIG_RUNTIME_DEBUG & debug.h The debug.h header provided some MIPS-specific debug macros, which are no longer used at all. Remove them. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10693/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2dca88da835616c3c65d1e4167288346fd67f02f Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 13 17:14:21 2015 +0100 MIPS: ops-emma2rh: Drop nonsensical db_assert The db_assert call checks whether the bus_num pointer is non-NULL, but does so after said pointer has been dereferenced by the assignment on the previous line. Thus the check is pointless & likely to have been optimised out by the compiler anyway. The check_args function is static & only ever called from the local file with bus_num being a pointer to an on-stack variable, so the check seems somewhat overzealous anyway. Simply remove it. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10692/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e51395d2739d0bb4991b6b531e1066475aae9bfd Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:10 2015 +0000 MIPS: rt3883: Prepare rt3883_pci_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10706/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 31429d1a74c01875d7dad72a6a1d75d8eeca2bc6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:09 2015 +0000 MIPS: netlogic: Prepare ipi handlers for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10705/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 56a86c352b02ce2fe09a72771ef4334632a1f9c1 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:07 2015 +0000 MIPS: octeon: Replace the homebrewn flow handler The gpio interrupt handling of octeon contains a homebrewn flow handler which calls either handle_level_irq or handle_edge_irq depending on the trigger type. Thats an extra conditional and call in the interrupt handling path. The proper way to handle different types and therefor different flows is to update the handler in the irq_set_type() callback. Remove the extra indirection and add the handler update to octeon_irq_ciu_gpio_set_type(). At mapping time it defaults to handle_level_irq which gets updated if the device tree contains a different trigger type. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10704/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9d9a2fa7dcbd05a1608a6a38b6ec1a092e117c3c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:06 2015 +0000 MIPS: ath91: Remove pointless irqdisable/enable The various interrupt flow handlers in ath79 are cascading interrupt handlers. They all have a disable_irq_nosync()/enable_irq() pair around the generic_handle_irq() call. The value of this disable/enable is zero because its a complete noop: disable_irq_nosync() merily increments the disable count without actually masking the interrupt. enable_irq() soleley decrements the disable count without touching the interrupt chip. The interrupt cannot arrive again because the complete call chain runs with interrupts disabled. Remove it. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10703/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e0288a0a7bb8b28787453cb96f7aad272086def1 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:04 2015 +0000 MIPS: alchemy: Remove pointless irqdisable/enable bcsr_csc_handler() is a cascading interrupt handler. It has a disable_irq_nosync()/enable_irq() pair around the generic_handle_irq() call. The value of this disable/enable is zero because its a complete noop: disable_irq_nosync() merily increments the disable count without actually masking the interrupt. enable_irq() soleley decrements the disable count without touching the interrupt chip. The interrupt cannot arrive again because the complete call chain runs with interrupts disabled. Remove it. [ralf@xxxxxxxxxxxxxx: Fold in followup fix from Thomas Gleixner.] Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10702/ Patchwork: https://patchwork.linux-mips.org/patch/10708/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9154566ee3edd0f6a7aa4ef8bed76d3cd57bcb88 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:02 2015 +0000 MIPS: bcm63xx: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10701/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5a06545008514ce4b9315284b4ddff31bfa9d77e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:01 2015 +0000 MIPS: alchemy: Use irq_set_chip_handler_name_locked() Hand in irq_data and avoid the redundant lookup of irq_desc. Originally-from: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10700/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5c1594224fffccb4adb76fb460871e1047accbbd Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:45:59 2015 +0000 MIPS: irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10699/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 586134a84c0e3e503d2e65a117e2cb06f376aac8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:45:58 2015 +0000 MIPS: pci-rt3883: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10698/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4d3f77d855090e11c9823fcb00864745adaf6fae Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:45:56 2015 +0000 MIPS: pci-ar724x: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10697/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 777fd18a71866f5057b27535c47c817973293498 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:45:55 2015 +0000 MIPS: pci-ar71xx: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10696/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f058dc80d6f964fa466650f74290a964a7f91c92 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:45:53 2015 +0000 MIPS: jz4740: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10695/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 20a7f7e5a6739a3521529a5f2bbfddf9f545fef9 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:53 2015 +0100 MIPS: Set up FTLB probability for I6400 Set up the I6400 FTLB probability similar to P5600 and proAptiv. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10652/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e87569cd6c57cfe8c3fbbd20a5cf5cefb8b14156 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:52 2015 +0100 MIPS: cpu-probe: Fix VTLB/FTLB configuration for R6 R6 has dropped the MMUExtDef field from the config4 register and it now returns 0. However, the return value means nothing in that case and the only supported configuration for R6 is the VTLB+FTLB (MMUextDef == 3). As a result, rework the code so that the correct value is set for R6 cores. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10651/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 912708c26d673f8d043bc4a9552495fefd6ddf18 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:51 2015 +0100 MIPS: Add default case for the FTLB enable/disable code Add a default case for the FTLB enable/disable code. This will be used to detect that something went wrong in the set_ftlb_enable() function either because that function knows nothing about the running core, or simply because the core can't turn its FTLB on/off. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10650/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c982c6d6c48b48159db481581cadbb8773219677 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:50 2015 +0100 MIPS: cpu-probe: Remove cp0 hazard barrier when enabling the FTLB We are so early in the boot process where we really don't want to stall and wait for CP0 FTLB related changes become visible so just drop the cp0 hazard barrier. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10649/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6f50c83529ac1fa3444ff4be5f5b0bf3d76db678 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:49 2015 +0100 IRQCHIP: irq-mips-gic: Add support for CM3 64-bit timer irqs CM3 uses a 64-bit counter and compare registers so add support for them in the GIC counter interrupt. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10648/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c3f57f02e3a275d8b5c6dc692adb21525ccb392c Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Jul 14 10:26:09 2015 +0100 IRQCHIP: irq-mips-gic: Extend GIC accessors for 64-bit CMs Previously, the GIC accessors were only accessing u32 registers but newer CMs may actually be 64-bit on MIPS64 cores. As a result of which, extended these accessors to support 64-bit reads and writes. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10709/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3885c2b463f6a236e47df22ef13d13433006b951 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:47 2015 +0100 MIPS: CM: Add support for reporting CM cache errors The CM cache error reporting code is not Malta specific and as such it should live in the mips-cm.c file. Moreover, CM2 and CM3 differ in the way cache errors are being recorded to the registers so extend the previous code to add support for the CM3 as well. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10646/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 391057d915f42d4942f0c65e7d55cec6662c8a54 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:46 2015 +0100 MIPS: CPC: Fix type for GCR CPC base reg for 64-bit The GCR CPC base register is 64-bit on 64-bit processors so use the appropriate field. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10645/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 038b0f536e45d85038428d2edc169f1f4089c36d Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:45 2015 +0100 MIPS: CM: The CMGCRBase register is 64-bit on 64 bit kernels. The CMGCRBase register (CP0, 15, 3) register is 64-bit on MIPS64 so we change its type to unsigned long. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10644/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c0b584a2691ccbc3c0d4e6cb1874bcf00a921371 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Jul 14 09:14:12 2015 +0100 MIPS: mips-cm: Extend CM accessors for 64-bit CPUs Previously, the CM accessors were only accessing CM registers as u32 types instead of using the native CM register with. However, newer CMs may actually be 64-bit on MIPS64 cores. Fortunately, current 64-bit CMs (CM3) hold all the useful configuration bits in the lower half of the 64-bit registers (at least most of them) so they can still be accessed using the current 32-bit accessors. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10707/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c014d164f21dbdbe721a4ec7e5147591c4eed545 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:43 2015 +0100 MIPS: Add platform callback before initializing the L2 cache Allow platforms to perform platform-specific steps before configuring the L2 cache. This is necessary for platforms with CM3 since the L2 parameters no longer live in the Config2 register. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10642/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7d53e9c4cd21cbc82b7422c90852e56baaf7ddae Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Thu Jul 9 10:40:42 2015 +0100 MIPS: CM3: Add support for CM3 L2 cache. Detect the L2 cache configuration from GCR_L2_CONFIG when a CM3 is present in the system, rather than from Config2 which does not expose the L2 configuration on I6400. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10641/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0ba3c125aa0ff9f993c0f9629945a0dd18d42568 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Thu Jul 9 10:40:40 2015 +0100 MIPS: CM: Add GCR_L2_CONFIG register accessors Provide accessor functions for the GCR_L2_CONFIG register introduced with CM3, and define the bits included in the register. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10639/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 197e89e0984a2aaf1a5a998887b22e53051e3b6d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jul 10 10:12:52 2015 +0100 MIPS: mips-cm: Implement mips_cm_revision Provide a function to trivially return the version of the CM present in the system, or 0 if no CM is present. The mips_cm_revision() will be used later on to determine the CM register width, so it must not use the regular CM accessors to read the revision register since that will lead to build failures due to recursive inlines. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10655/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5676319c91c8d668635ac0b9b6d9145c4fa418ac Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:38 2015 +0100 MIPS: Kconfig: Disable MIPS MT and SMP implementations for R6 R6 does not support the MIPS MT ASE and the CMP/SMP options so restrict them in order to prevent users from selecting incompatible SMP configuration for R6 cores. We also disable the CPS/SMP option because its support hasn't been added to the CPS code yet. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10637/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e57f9a2dcedc7f4847799e13a9987874a161d308 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:37 2015 +0100 MIPS: Add MIPS I6400 probe support Add a case in cpu_probe_mips for the MIPS I6400 processor ID, which sets the CPU type to the new CPU_I6400. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10636/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4e88a8621301b992e8e3422e08bfb604772f3338 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:36 2015 +0100 MIPS: Add cases for CPU_I6400 Add a CPU_I6400 case to various switch statements, doing the same thing as for CPU_P5600. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10635/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 90b8baa2c1acb8c270aa31e75d00b44193fb306f Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:35 2015 +0100 MIPS: Add MIPS I6400 PRid and cputype identifiers Add a Processor ID and CPU type for the MIPS I6400 core. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10634/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7653716bf989cf8be04c7bedcad6bb201b1df108 Author: Alban Bedel <albeu@xxxxxxx> Date: Thu Jul 9 10:51:36 2015 +0200 MIPS: ath79: irq: IRQCHIP_DECLARE moved to linux/irqchip.h Remove the ugly cross tree include now that IRQCHIP_DECLARE moved to linux/irqchip.h. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10633/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a0c81ce08791d3892aacba341efa29fadf30beda Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Aug 23 02:11:22 2015 +0200 gpio: xlp: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fd96811576e646011489e38b0594dc017db21971 Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Aug 21 15:56:42 2015 -0700 gpio: vf610: handle level IRQ's properly The GPIO IRQ controller is able to generate level triggered interrupts, however, these were handled by handle_simple_irq so far which did not take care of IRQ masking. This lead to "nobody cared (try booting with the "irqpoll" option)" stack traces. Use the generic interrupt handlers depending on the IRQ type. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 58a5e1b64bb0a9ef7747840b79d290e1ad4eed44 Author: Maoguang Meng <maoguang.meng@xxxxxxxxxxxx> Date: Fri Aug 14 16:38:06 2015 +0800 pinctrl: mediatek: Implement wake handler and suspend resume This patch implement irq_set_wake to get who is wakeup source and setup on suspend resume. Signed-off-by: Maoguang Meng <maoguang.meng@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Acked-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d48c2c02645392483f2b88b050d21ce1db6997b3 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Tue Aug 25 17:32:45 2015 -0700 pinctrl: mediatek: Fix multiple registration issue. Since our common driver need support main chip and PMU at the same time, that means it will register two pinctrl device, and the pinctrl_desc structure should be used two times. But pinctrl_desc use global static definition, then the latest registered pinctrl device will overwrite the old one's, all members in pinctrl_desc will set to the new one's, such as name, pins and pins numbers, etc. This is a bug. Move pinctrl_desc into mtk_pinctrl, assign new value for each pinctrl device to fix it. Cc: stable@xxxxxxxxxxxxxxx # v4.1+ Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Reviewed-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b25cf30a013195a69c167209d13c19b90a7450f2 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 26 14:21:14 2015 +0200 ALSA: hda - Remove superfluous pcm NULL check The variable pcm can be never NULL since it was rewritten with list_for_each_entry(). Suggested-by: Markus Osterhoff <linux-kernel@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1c0beb27443c98257a5bced2978f2556f2ae1709 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Wed Aug 26 19:48:13 2015 +0800 ASoC: rockchip: fix platform_no_drv_owner.cocci warnings sound/soc/rockchip/rockchip_rt5645.c:214:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0137d5ff8488f1d17a83508578976d3a67ba8e81 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Wed Aug 26 19:44:10 2015 +0800 ASoC: rockchip: fix platform_no_drv_owner.cocci warnings sound/soc/rockchip/rockchip_max98090.c:225:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d9aac397a5d8f4ee26a4178b5e4a5c474a3a76a Author: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 22:42:47 2015 +1000 powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case Since commit 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI"), the setup of dev->msi_cap/msix_cap and the disable of MSI/MSI-X interrupts isn't being done at PCI probe time, as the logic responsible for this was moved in the aforementioned commit from pci_device_add() to pci_setup_device(). The latter function is not reachable on PowerPC pseries platform during Open Firmware PCI probing time. This exhibits as drivers not being able to enable MSI, eg: bnx2x 0000:01:00.0: no msix capability found This patch calls pci_msi_setup_pci_dev() explicitly to disable MSI/MSI-X during PCI probe time on pSeries platform. Fixes: 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI") [mpe: Flesh out change log and clarify comment] Signed-off-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 22b6839b914bbe5d94de11bbb83931952090719c Author: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 22:42:46 2015 +1000 PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code Commit 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI") changed the location of the code that initialises dev->msi_cap/msix_cap and then disables MSI/MSI-X interrupts at PCI probe time in devices that have this flag set. It moved the code from pci_msi_init_pci_dev() to a new function named pci_msi_setup_pci_dev(), called by pci_setup_device(). The pseries PCI probing code does not call pci_setup_device(), so since the aforementioned commit the function pci_msi_setup_pci_dev() is not called and MSI/MSI-X interrupts are left enabled. Additionally because dev->msi_cap/msix_cap are not initialised no driver can ever enable MSI/MSI-X. To fix this, the pseries PCI probe should manually call pci_msi_setup_pci_dev(), so this patch makes it non-static. Fixes: 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI") [mpe: Update change log to mention dev->msi_cap/msix_cap] Signed-off-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 580a7ee93317b901358f497c2de34f7a66066963 Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Wed Aug 19 01:26:55 2015 +0300 pinctrl: sh-pfc: r8a7794: add USB pin groups Add USB0/1 pin groups to R8A7794 PFC driver. Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> [Sergei: rebased, renamed, added changelog.] Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 78de5d5220322456f2568de23bc2e97bba3957e3 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Tue Aug 18 09:55:44 2015 -0400 gpio: max732x: Fix error handling in probe() This fixes error handling in the function max732x_probe by checking if the calls to the function max732x_readb fail by returning a error code. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f8ce20005d1694584448cd544be5fb32416a277c Author: Xing Zheng <zhengxing@xxxxxxxxxxxxxx> Date: Tue Aug 25 15:52:42 2015 +0800 ASoC: rockchip: fix a misjudgement by return Being careless, judge the return value of snd_soc_card_jack_new is opposite, so it should be fixed. Signed-off-by: Xing Zheng <zhengxing@xxxxxxxxxxxxxx> Reviewed-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0ba3ac03c1f38be17102d1c76c42a7c66a3e9ff2 Merge: a8b9774 ee92a20 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Wed Aug 26 12:40:23 2015 +0300 Merge ath-next from ath.git Major changes in ath10k: * add spectral scan support for qca99x0 * add qca6164 support commit ee92a2099f79d47e1d6d4857ab308f5b15a00549 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Fri Aug 21 18:42:36 2015 +0530 ath10k: fix compilation warnings in wmi phyerr pull function Below compilation warnings are observed in gcc version 4.8.2. Even though it's not seen in bit older gcc versions (for ex, 4.7.3), It's good to fix it by changing format specifier from %d to %zd in wmi pull phyerr functions. wmi.c: In function 'ath10k_wmi_op_pull_phyerr_ev': wmi.c:3567:8: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long unsigned int' [-Wformat=] left_len, sizeof(*phyerr)); ^ wmi.c: In function 'ath10k_wmi_10_4_op_pull_phyerr_ev': wmi.c:3612:8: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long unsigned int' [-Wformat=] left_len, sizeof(*phyerr)); ^ Fixes: 991adf71a6cd ("ath10k: refactor phyerr event handlers") Fixes: 2b0a2e0d7c2f ("ath10k: handle 10.4 firmware phyerr event") Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a9dd941d840714b96b0a60451f6a3aa3a9be8fc6 Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Thu Aug 13 17:16:10 2015 -0400 kbuild: avoid listing /lib/modules in kernel spec file This causes conflicts when using multiple kernels built with this mechanism. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 36582e5d4daeccf68a8a3cef9bc37b60fb7d45b9 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 13 14:32:26 2015 +0200 ath10k: add qca6164 support This adds additional 0x0041 PCI Device ID definition to ath10k for QCA6164 which is a 1 spatial stream sibling of the QCA6174 (which is 2 spatial stream chip). The QCA6164 needs a dedicated board.bin file which is different than the one used for QCA6174. If the board.bin is wrong the device will crash early while trying to boot firmware. The register dump will look like this: ath10k_pci 0000:02:00.0: firmware register dump: ath10k_pci 0000:02:00.0: [00]: 0x05010000 0x000015B3 0x000A012D 0x00955B31 ... Note the value 0x000A012D. Special credit goes to Alan Liu <alanliu@xxxxxxxxxxxxxxxx> for providing support help which enabled me to come up with this patch. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 4535edbd4214ce21328655434c0b75da404e29b7 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Thu Aug 20 10:29:05 2015 +0530 ath10k: add spectral scan support for 10.4 fw To enable/configure spectral scan parameters in 10.4 firmware, existing wmi spectral related functions can be reused. Link those functions in 10.4 wmi ops table. In addition, adjust bin size (only when size is 68 bytes) before reporting bin samples to user space. The background for this adjustment is that qca99x0 reports bin size as 68 bytes (64 bytes + 4 bytes) in report mode 2. First 64 bytes carries in-band tones (-32 to +31) and last 4 byte carries band edge detection data (+32) mainly used in radar detection purpose. Additional last 4 bytes are stripped to make bin size valid one. This bin size adjustment will happen only for qca99x0, all other chipsets will report proper bin sizes (64/128) without extra 4 bytes being added at the end. The changes are validated in qca99x0 using 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5e55e3cbd1042cffa6249f22c10585e63f8a29bf Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 19 13:10:43 2015 +0200 ath10k: fix dma_mapping_error() handling The function returns 1 when DMA mapping fails. The driver would return bogus values and could possibly confuse itself if DMA failed. Fixes: 767d34fc67af ("ath10k: remove DMA mapping wrappers") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 503422d95248c1d9698735bb5803b70aa51b18ef Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 19 13:08:53 2015 +0200 ath10k: add missing mutex unlock on failpath Kernel would complain about leaving a held lock after going back to userspace and would subsequently deadlock. Fixes: e04cafbc38c7 ("ath10k: fix peer limit enforcement") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5d9452e7c52a106c9efdeb6c72fc73b184a6543f Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Aug 18 14:10:56 2015 +0300 gpio: omap: fix clk_prepare/unprepare usage As per CCF documentation (clk.txt) the clk_prepare/unprepare APIs are not allowed in atomic context. But now OMAP GPIO driver uses them while applying debounce settings and as part of PM runtime irqsafe operations: - omap_gpio_debounce() is holding the lock with IRQs off. + omap2_set_gpio_debounce() + clk_prepare_enable() + clk_prepare() this one might sleep. - pm_runtime_get_sync() is holding the lock with IRQs off + omap_gpio_runtime_suspend() + raw_spin_lock_irqsave() + omap_gpio_dbck_disable() + clk_disable_unprepare() Hence, fix it by moeving dbclk prepare/unprepare in OMAP GPIO omap_gpio_probe/omap_gpio_remove. Also, while here, ensure that debounce functionality is disabled if clk_get() failed, because otherwise kernel will carsh in omap2_set_gpio_debounce(). Reported-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 235f1eb1ab93a8e30a66c38949e6d2aeda136aec Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Aug 18 14:10:55 2015 +0300 gpio: omap: protect regs access in omap_gpio_irq_handler The access to HW registers has to be be protected in omap_gpio_irq_handler(), as it may race with code executed on another CPUs. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e85ec6c3047be0646e7c572e24869c212b685c7c Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Aug 18 14:10:54 2015 +0300 gpio: omap: fix omap2_set_gpio_debounce According to TRMs: Required input line stable = (the value of the GPIO_DEBOUNCINGTIME[7:0].DEBOUNCETIME + 1) Ã?â?? 31, where the value of the GPIO_DEBOUNCINGTIME[7:0].DEBOUNCETIME bit field is from 0 to 255. But now omap2_set_gpio_debounce() will calculate debounce time and behave incorrectly in the following cases: 1) requested debounce time is !0 and <32 calculated DEBOUNCETIME = 0x1 == 62 us; expected value of DEBOUNCETIME = 0x0 == 31us 2) requested debounce time is 0 calculated DEBOUNCETIME = 0x1 == 62 us; expected: disable debounce and DEBOUNCETIME = 0x0 3) requested debounce time is >32 and <63 calculated DEBOUNCETIME = 0x0 and debounce will be disabled; expected: enable debounce and DEBOUNCETIME = 0x1 == 62 us Hence, rework omap2_set_gpio_debounce() to fix above cases: 1) introduce local variable "enable" and use it to identify when debounce need to be enabled or disabled. Disable debounce if requested debounce time is 0. 2) use below formula for debounce time calculation: debounce = (DIV_ROUND_UP(debounce, 31) - 1) & 0xFF; Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 89d18e3af8b99481589e07f92fd966ceb86eff5d Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Aug 18 14:10:53 2015 +0300 gpio: omap: switch to use platform_get_irq Switch OMAP GPIO driver to use platform_get_irq(), because it is not recommened to use platform_get_resource(pdev, IORESOURCE_IRQ, ..) for requesting IRQ resources any more, as they can be not ready yet in case of DT-boot. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bb8cdf9510d5d2b67126b36747c51d531026215d Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Aug 18 14:10:52 2015 +0300 gpio: omap: remove wrong irq_domain_remove usage in probe The bank->chip.irqdomain is uninitialized at the moment when irq_domain_remove() is called, so remove this call. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 91d33cfedf181cd9e1230d38e466de2f6697d317 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Aug 17 15:32:16 2015 +0200 pinctrl: at91: Use generic irq_{request,release}_resources() The at91-specific irq_{request,release}_resources() callbacks are identical to the generic ones, modulo the bug fix in 5b76e79c77264899 ("gpiolib: irqchip: prevent driver unloading if gpio is used as irq only"). Until commit 8b67a1f0ad1f260f ("gpio: don't override irq_*_resources() callbacks"), the buggy at91-specific callbacks were never used, though. Hence drop the at91-specific ones in favor of the generic ones. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 41d6bb4c890c8db01248b1bdd512a18e7bd29ca3 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Aug 17 15:35:24 2015 +0300 gpiolib: add description for gpio irqchip fields in struct gpio_chip Add missed description for GPIO irqchip fields in struct gpio_chip. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 109fdf1572be86aaf681e69b30dc5ada90ce6f35 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Aug 17 16:13:30 2015 +0300 pinctrl: cherryview: Use raw_spinlock for locking When running -rt kernel and an interrupt happens on a GPIO line controlled by Intel Cherryview/Braswell pinctrl driver we get: BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917 in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0 Preemption disabled at:[<ffffffff81092e9f>] cpu_startup_entry+0x17f/0x480 CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.1.5-rt5 #16 ... Call Trace: <IRQ> [<ffffffff816283c6>] dump_stack+0x4a/0x61 [<ffffffff81077e17>] ___might_sleep+0xe7/0x170 [<ffffffff8162d6cf>] rt_spin_lock+0x1f/0x50 [<ffffffff812e52ed>] chv_gpio_irq_ack+0x3d/0xa0 [<ffffffff810a72f5>] handle_edge_irq+0x75/0x180 [<ffffffff810a3457>] generic_handle_irq+0x27/0x40 [<ffffffff812e57de>] chv_gpio_irq_handler+0x7e/0x110 [<ffffffff810050aa>] handle_irq+0xaa/0x190 ... This is because desc->lock is raw_spinlock and is held when chv_gpio_irq_ack() is called by the genirq core. chv_gpio_irq_ack() in turn takes pctrl->lock which in -rt is an rt-mutex causing might_sleep() rightfully to complain about sleeping function called from invalid context. In order to keep -rt happy but at the same time make sure that register accesses get serialized, convert the driver to use raw_spinlock instead. Suggested-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 78e1c896932df5b8bcdff7bf5417d8e72a4d0d6b Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Aug 17 16:03:17 2015 +0300 pinctrl: baytrail: Use raw_spinlock for locking The Intel Baytrail pinctrl driver implements irqchip callbacks which are called with desc->lock raw_spinlock held. In mainline this is fine because spinlock resolves to raw_spinlock. However, running the same code in -rt we get: BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917 in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0 Preemption disabled at:[<ffffffff81092e9f>] cpu_startup_entry+0x17f/0x480 CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.1.5-rt5 #13 ... Call Trace: <IRQ> [<ffffffff816283c6>] dump_stack+0x4a/0x61 [<ffffffff81077e17>] ___might_sleep+0xe7/0x170 [<ffffffff8162d6cf>] rt_spin_lock+0x1f/0x50 [<ffffffff812e3b88>] byt_gpio_clear_triggering+0x38/0x60 [<ffffffff812e3bc1>] byt_irq_mask+0x11/0x20 [<ffffffff810a7013>] handle_level_irq+0x83/0x150 [<ffffffff810a3457>] generic_handle_irq+0x27/0x40 [<ffffffff812e3a5f>] byt_gpio_irq_handler+0x7f/0xc0 [<ffffffff810050aa>] handle_irq+0xaa/0x190 ... This is because in -rt spinlocks are preemptible so taking the driver private spinlock in irqchip callbacks causes might_sleep() to trigger. In order to keep -rt happy but at the same time make sure that register accesses get serialized, convert the driver to use raw_spinlock instead. Also shorten the critical section a bit in few places. Suggested-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 26951caf55d73ceb1967b0bf12f6d0b96853508e Author: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Date: Mon Aug 17 15:55:50 2015 +0800 drm/i915/skl: enable DDI-E hotplug v2: fix one error found by checkpath.pl v3: Add one ignored break for switch-case. DDI-E hotplug function doesn't work after updating drm-intel tree, I checked the code and found this missing which isn't the root cause for broke DDI-E hp. The broken DDI-E hp function is fixed by "Adding DDI_E power well domain". Signed-off-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Tested-by: Timo Aaltonen <timo.aaltonen@xxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 2508a45a924dfa4a5f6e60675aa4732d888134a7 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Tue Aug 18 23:30:25 2015 +0800 surface pro 3: Add support driver for Surface Pro 3 buttons Since Surface Pro 3 does not follow the specs of "Windows ACPI Design Guide for SoC Platform", code in drivers/input/misc/soc_array.c can not detect these buttons on it. According to bios implementation, Surface Pro 3 encapsulates these buttons in a device named "VGBI", with _HID "MSHW0028". When any of the buttons is pressed, a specify ACPI notification code for this button will be delivered to "VGBI". For example, if power button is pressed down, ACPI notification code of 0xc6 will be sent by Notify(VGBI, 0xc6). This patch leverages "VGBI" to distinguish different ACPI notification code from Power button, Home button, Volume button, then dispatches these code to input layer. Lid is already covered by acpi button driver, so there's no need to rewrite. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=84651 Tested-by: Ethan Schoonover <es@xxxxxxxxxxxxxxxxxxx> Tested-by: Peter Amidon <psa.pub.0@xxxxxxxxxxxxxx> Tested-by: Donavan Lance <tusklahoma@xxxxxxxxx> Tested-by: Stephen Just <stephenjust@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> [dvhart@xxxxxxxxxxxxxxx: Formatting corrections in MAINTAINERS and Intel (c)] Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 8e9d597a37e407476b4de725bef4cb1ad1f5c22c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 12:35:23 2015 +0200 drm/i915: Fix build warning on 32-bit The gtt.stolen_size field is of type size_t, and so should be printed using %zu to avoid build warnings on either 32-bit and 64-bit builds. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 5f8b253147c27b8244451ee28aeb3429c5aa2e52 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Mon Aug 24 16:48:44 2015 -0700 drm/i915/skl: Update DDI buffer translation programming. SKL-Y can now use the same programming for all VccIO values after an adjustment to I_boost. SKL-U DP table adjustments. 1. Remove SKL Y 0.95V from "SKL H and S" columns in all tables. The other SKL Y column removes the "0.85V VccIO" so it now applies to all voltages. 2. DP table changes SKL U 400mV+0db dword 0 value from 2016h to 201Bh. 3. DP table changes SKL U 600mv+0db dword 0 value from 2016h to 201Bh. 4. DP table increases I_boost to level 3 for SKL Y 400mv+9.5db. v2: Fix compilation warnings as pointed by Paulo. Reference: Graphics Spec Change r97962 Cc: Arthur Runyan <arthur.j.runyan@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> [Jani: reformatted commit message for shorter lines.] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit fc0bfacd045a17e385b4272dfe2387ba3a6d8745 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Sun Aug 23 14:41:09 2015 +0300 hp-wireless: remove unneeded goto/label in hpwl_init acpi_bus_register_driver() already returns an appropriate value (0 on success, and some negative value on error) to be used in __init functions so the goto/label is redundant in hpwl_init thus remove it and directly return the value Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 4c156c21c7948a0be854cbe5914af3181303e529 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Fri Jun 26 17:14:46 2015 +0800 drm/rockchip: vop: support plane scale Win_full support 1/8 to 8 scale down/up engine, support all format scale. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 77faa1619a5ae9ed600b0836bc1eec57bad1895b Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Mon Jul 20 16:25:20 2015 +0800 drm/rockchip: vop: restore vop registers when resume The registers will be reset to default values when whole power domain off, so restore registers from regsbak. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit c1998f08587a252734bad42b66b430f126f2385b Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Fri Jun 26 18:10:32 2015 +0800 drm/rockchip: vop: Default enable win2/3 area0 bit Win2/3 support multiple area function, but we haven't found a suitable way to use it yet, so let's just use them as other windows with only area 0 enabled. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 84c7f8ca43000ee97e556bddbbc4543e2514239d Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Mon Jul 20 16:16:49 2015 +0800 drm/rockchip: vop: Add yuv plane support vop support yuv with NV12, NV16 and NV24, only 2 plane yuv. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit acf8c3e0a9eb5658e6ac4379cba51dba9b941083 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Mon Jul 20 16:02:47 2015 +0800 drm/rockchip: vop: Fix window dest start point Dest start point use crtc_x/y is wrong, crtc_x/y is not equal to dest.x1/y1 at plane scale. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit f1c79abef5bae62aefcadf16917905cb7f98dc19 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Fri Jun 26 18:07:25 2015 +0800 drm/rockchip: vop: Fix virtual stride calculation vir_stride need number words of the virtual width, and fb->pitches save bytes_per_pixel, so just div 4 switch to stride. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit a92d5ee8666afcb4abc7686d7b760f0fb7a0c14c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 26 07:22:49 2015 +0200 ALSA: hda - Fix widget sysfs tree corruption after refresh When snd_hdac_refresh_widget_sysfs() is called before the first hda_widget_sysfs_init(), the next call overrides and eventually fails. This results in unexpected Oops, something like: BUG: unable to handle kernel NULL pointer dereference at 00000000000000c8 IP: [<ffffffff8180e2a3>] hdmi_chmap_ctl_info+0x23/0x40 The fix is to add a check of the existing sysfs tree. Also, for more safety, this patch adds the checks of device_is_registered() in snd-hdac_refresh_wdiget_sysfs(), too. Fixes: fa4f18b4f402 ('ALSA: hda - Refresh widgets sysfs at probing Haswell+ HDMI codecs') Bugizlla: https://bugzilla.kernel.org/show_bug.cgi?id=103431 Reported-by: Andreas Reis <andreas.reis@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b51aa1cc7807f4dff7b70a762aa6d8814976d706 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Aug 26 10:42:27 2015 +0930 tools/lguest: Clean up include dir It contains a symlinked header we use; ignore it and clean it up on 'make clean'. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e523caa601f4a7c2fa1ecd040db921baf7453798 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Aug 26 10:42:26 2015 +0930 tools/lguest: Fix redefinition of struct virtio_pci_cfg_cap Ours uses a u32 for the data, since we ensure it's always aligned and it's x86 so it doesn't matter anyway. lguest.c:128:8: error: redefinition of â??struct virtio_pci_cfg_capâ?? Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Fixes: 3121bb023e2db ("virtio: define virtio_pci_cfg_cap in header.") Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f50791ac1aca1ac1b0370d62397b43e9f831421a Author: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Date: Mon Aug 24 23:13:42 2015 +0300 usbnet: Get EVENT_NO_RUNTIME_PM bit before it is cleared It is needed to check EVENT_NO_RUNTIME_PM bit of dev->flags in usbnet_stop(), but its value should be read before it is cleared when dev->flags is set to 0. The problem was spotted and the fix was provided by Oliver Neukum <oneukum@xxxxxxx>. Signed-off-by: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Acked-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b7d0ca7778d359584859cb5e75965ad34f42533 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 25 12:58:11 2015 -0700 dmaengine: ioatdma: Fix variable array length Sparse reported: drivers/dma/ioat/prep.c:637:27: sparse: Variable length array is used. Assigning a static value for the array. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5c65cb93a3d066f52a109552572304675d5a52fc Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 25 12:58:05 2015 -0700 dmaengine: ioatdma: fix sparse "error" with prep lock The prep lock gets acquired in ioat_check_space_lock and released in ioat_tx_submit_unlock. Setting the annotations so sparse does not freak out. drivers/dma/ioat/dma.c:273:30: sparse: context imbalance in 'ioat_tx_submit_unlock' - unexpected unlock drivers/dma/ioat/dma.c:476:5: sparse: context imbalance in 'ioat_check_space_lock' - wrong count at exit Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4d112426c3446d94b9bc56396075524b06913b1c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 11:21:15 2015 +0200 dmaengine: hdmac: Add memset capabilities Just like for the XDMAC, the SoCs that embed the HDMAC don't have any kind of GPU, and need to accelerate a few framebuffer-related operations through their DMA controller. However, unlike the XDMAC, the HDMAC doesn't have the memset capability built-in. That can be easily emulated though, by doing a transfer with a fixed address on the variable that holds the value we want to set. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8a4ce226b9061fe3ab04f6db34d4b2ae645b9f65 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 24 13:43:14 2015 +0530 dmaengine: sort the sh Makefile Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit eeb72a8de8e5471cdce71ea7b2f908e851a73909 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 24 13:43:14 2015 +0530 dmaengine: sort the sh Kconfig Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f5db4b31b31504a1058339bc00488bf56ad1f0aa Merge: f045fd7 e308fd3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 18:18:22 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull LSM regression fix from James Morris. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: LSM: restore certain default error codes commit f045fd755fe9ba2b15265cd237d6ae5d924689d3 Merge: b1713b1 de4a196 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 17:26:00 2015 -0700 Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull nvdimm fix from Dan Williams: "A single fix for status register read size in the nd_blk driver. The effect of getting the width of this register read wrong is that all I/O fails when the read returns non-zero. Given the availability of ACPI 6 NFIT enabled platforms, this could reasonably wait to come in during the 4.3 merge window with a tag for 4.2-stable. Otherwise, this makes the 4.2 kernel fully functional with devices that conform to the mmio-block-apertures defined in the ACPI 6 NFIT (NVDIMM Firmware Interface Table)" * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: nfit, nd_blk: BLK status register is only 32 bits commit b6fc6072b1268a0025850cd9d3dce25a7be0158d Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Aug 5 09:40:31 2015 -0400 PCC: Disable compilation by default PCC is made selectable only by clients which use it. e.g. CPPC Default it to disabled so that it is not included accidentally on platforms which dont use it. Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Reviewed-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1090c3bf81ef12eb22383d4b6627d372ce5115d9 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Wed Aug 26 00:13:16 2015 +0800 nfs42: remove unused declaration Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 19cf6335134d82be792831e14aae9d037d0cb30b Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Wed Aug 26 00:13:15 2015 +0800 nfs42: decode_layoutstats does not need res parameter Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit ccc02ddb1bb7c0c1cac695db18f7533296b51ecc Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Tue Aug 25 15:03:03 2015 -0700 drivers: net: xgene: fix: Oops in linkwatch_fire_event [ 1065.801569] Internal error: Oops: 96000006 [#1] SMP ... [ 1065.866655] Hardware name: AppliedMicro Mustang/Mustang, BIOS 1.1.0 Apr 22 2015 [ 1065.873937] Workqueue: events_power_efficient phy_state_machine [ 1065.879837] task: fffffe01de105e80 ti: fffffe00bcf18000 task.ti: fffffe00bcf18000 [ 1065.887288] PC is at linkwatch_fire_event+0xac/0xc0 [ 1065.892141] LR is at linkwatch_fire_event+0xa0/0xc0 [ 1065.896995] pc : [<fffffe000060284c>] lr : [<fffffe0000602840>] pstate: 200001c5 [ 1065.904356] sp : fffffe00bcf1bd00 ... [ 1066.196813] Call Trace: [ 1066.199248] [<fffffe000060284c>] linkwatch_fire_event+0xac/0xc0 [ 1066.205140] [<fffffe000061167c>] netif_carrier_off+0x54/0x64 [ 1066.210773] [<fffffe00004f1654>] phy_state_machine+0x120/0x3bc [ 1066.216578] [<fffffe00000d8d10>] process_one_work+0x15c/0x3a8 [ 1066.222296] [<fffffe00000d9090>] worker_thread+0x134/0x470 [ 1066.227757] [<fffffe00000df014>] kthread+0xe0/0xf8 [ 1066.232525] Code: 97f65ee9 f9420660 d538d082 8b000042 (885f7c40) The fix is to call phy_disconnect() from xgene_enet_mdio_remove, which in turn call cancel_delayed_work_sync(). Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6c1aea044e490da3e59124ec55991fe316818d5 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Aug 25 16:38:12 2015 -0700 cls_u32: complete the check for non-forced case in u32_destroy() In commit 1e052be69d04 ("net_sched: destroy proto tp when all filters are gone") I added a check in u32_destroy() to see if all real filters are gone for each tp, however, that is only done for root_ht, same is needed for others. This can be reproduced by the following tc commands: tc filter add dev eth0 parent 1:0 prio 5 handle 15: protocol ip u32 divisor 256 tc filter add dev eth0 protocol ip parent 1: prio 5 handle 15:2:2 u32 ht 15:2: match ip src 10.0.0.2 flowid 1:10 tc filter add dev eth0 protocol ip parent 1: prio 5 handle 15:2:3 u32 ht 15:2: match ip src 10.0.0.3 flowid 1:10 Fixes: 1e052be69d04 ("net_sched: destroy proto tp when all filters are gone") Reported-by: Akshat Kakkar <akshat.1984@xxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b635f0901a4404ebc1881eb3fce0fc2f925f6728 Merge: c30ee8b ef63463 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 17:01:33 2015 -0700 Merge branch 'dsa-docs' Florian Fainelli says: ==================== Documentation: dsa This patch series adds some documentation about DSA as a subsystem as well as the SF2 driver since it slightly diverges from your average DSA driver ;) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef6346386b096549972d5b62f773eafb772682e3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 25 15:33:14 2015 -0700 Documentation: networking: dsa: Add Broadcom SF2 document Add a document describing the Broadcom Starfigther 2 switch hardware, its specifics, and how the driver is implemented and its specifics. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77760e94928f910b745ab8d00298a7c8b5786fb3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 25 15:33:13 2015 -0700 Documentation: networking: add a DSA document Describe how the DSA subsystem works, its design principles, limitations, and describe in details how to implement a DSA switch driver. Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e308fd3bb2e469c4939d3f4bd22b468de3ed04ae Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Mon Aug 24 06:22:25 2015 -0600 LSM: restore certain default error codes While in most cases commit b1d9e6b064 ("LSM: Switch to lists of hooks") retained previous error returns, in three cases it altered them without any explanation in the commit message. Restore all of them - in the security_old_inode_init_security() case this led to reiserfs using uninitialized data, sooner or later crashing the system (the only other user of this function - ocfs2 - was unaffected afaict, since it passes pre-initialized structures). Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 4bf011815f2e093c7f60004f4f5683cf40b905b9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Aug 10 19:56:46 2015 +0300 device property: check fwnode type in to_of_node() Potentially one of platform can support both ACPI and OF. In that case when we call to_of_node() for non-OF fwnode types we will get non-NULL result, which is wrong. Check for the type and return a correspondent result. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7dc59dc938f034c69dcf9080d45b936882b7ffa3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Aug 10 19:56:48 2015 +0300 device property: attach 'else if' to the proper 'if' Obviously in the current place the 'else' keyword is redundant, though it seems quite correct when we check if nval is in allowed range. Reattach the condition branch there. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4f73b0654d8a954540d49bb0a300f31663423db9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Aug 10 19:56:47 2015 +0300 device property: fallback to pset when gettng one string The one string as an equivalent to an array of one element. Allow user to read one string as a plain string. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0762ed2ced40bfe648378ef0e1635cf4d3a6fb76 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 25 17:38:25 2015 -0400 NFSv4.1/flexfiles: Allow coalescing of new layout segments and existing ones In order to ensure atomicity of updates, we merge the old layout segments into the new ones, and then invalidate the old ones. Also ensure that we order the list of layout segments so that RO segments are preferred over RW. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 03772d2f00313bb22d91b2019cb8e6e91b415653 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:54:17 2015 -0400 NFSv4.1/pnfs: Allow pNFS device drivers to customise layout segment insertion This is needed in order to allow merging of contiguous layout segments, and also to correct the ordering of layouts for those device drivers that don't necessarily want to place the read-write layouts first. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit de4a196c02a2a2631b516d90da6e8d052ccb07e8 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Thu Aug 20 16:27:38 2015 -0600 nfit, nd_blk: BLK status register is only 32 bits Only read 32 bits for the BLK status register in read_blk_stat(). The format and size of this register is defined in the "NVDIMM Driver Writer's guide": http://pmem.io/documents/NVDIMM_Driver_Writers_Guide.pdf Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reported-by: Nicholas Moulin <nicholas.w.moulin@xxxxxxxxxxxxxxx> Tested-by: Nicholas Moulin <nicholas.w.moulin@xxxxxxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit aac27c7a0d76683f7f4bdf41cec174db2819f635 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Aug 25 09:49:53 2015 +0100 net: fec: use reinit_completion() in mdio accessor functions Rather than re-initialising the entire completion on every mdio access, use reinit_completion() which only resets the completion count. This avoids possible reinitialisation of the contained spinlock and waitqueue while they may be in use (eg, mid-completion.) Such an event could occur if there's a long delay in interrupt handling causing the mdio accessor to time out, then a second access comes in while the interrupt handler on a different CPU has called complete(). Another scenario where this has been observed is while locking has been missing at the phy layer, allowing concurrent attempts to access the MDIO bus. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05a7f582be961824d62a7f4a817f3783148b5f8a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Aug 25 09:49:47 2015 +0100 net: phy: add locking to phy_read_mmd_indirect()/phy_write_mmd_indirect() The phy layer is missing locking for the above two functions - it has been observed that two threads (userspace and the phy worker thread) can race, entering the bus ->write or ->read functions simultaneously. This causes the FEC driver to initialise a completion while another thread is waiting on it or while the interrupt is calling complete() on it, which causes spinlock unlock-without-lock, spinlock lockups, and completion timeouts. Fixes: a59a4d192 ("phy: add the EEE support and the way to access to the MMD registers.") Fixes: 0c1d77dfb ("net: libphy: Add phy specific function to access mmd phy registers") Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c30ee8b743ab10271823ffdccc71b6acd62f847c Merge: b8766e4 2724121 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 16:28:11 2015 -0700 Merge branch 'rds-more-fixes' Santosh Shilimkar says: ==================== RDS: Few more fixes As indicated in the earlier series [1], this is a follow-up series which addresses few issues around the RDS FMR code. With [1] and the subject series, now I can run many parallel threads with multiple sockets with N x N traffic. The stress tests has survived overnight runs. [1] https://lkml.org/lkml/2015/8/22/127 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 272412141908c40517cc89d5bb2eb074a2ec1474 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Tue Aug 25 12:02:03 2015 -0700 RDS: remove superfluous from rds_ib_alloc_fmr() Memory allocated for 'ibmr' uses kzalloc_node() which already initialises the memory to zero. There is no need to do memset() 0 on that memory. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef5217a6e2e60bc3d0679f2652480b99730956fe Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Tue Aug 25 12:02:02 2015 -0700 RDS: flush the FMR pool less often FMR flush is an expensive and time consuming operation. Reduce the frequency of FMR pool flush by 50% so that more FMR work gets accumulated for more efficient flushing. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad1d7dc0d79d3dd2c5d2931b13edbd4fe33e5fac Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Tue Aug 25 12:02:01 2015 -0700 RDS: push FMR pool flush work to its own worker RDS FMR flush operation and also it races with connect/reconect which happes a lot with RDS. FMR flush being on common rds_wq aggrevates the problem. Lets push RDS FMR pool flush work to its own worker. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6116c2030fff91950f68b7fffb5959c91a05aaf6 Author: Wengang Wang <wen.gang.wang@xxxxxxxxxx> Date: Tue Aug 25 12:02:00 2015 -0700 RDS: fix fmr pool dirty_count In rds_ib_flush_mr_pool(), dirty_count accounts the clean ones which is wrong. This can lead to a negative dirty count value. Lets fix it. Signed-off-by: Wengang Wang <wen.gang.wang@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f6b3143031b678a8577df1f24ca977510aefcf5 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Tue Aug 25 12:01:59 2015 -0700 RDS: Fix rds MR reference count in rds_rdma_unuse() rds_rdma_unuse() drops the mr reference count which it hasn't taken. Correct way of removing mr is to remove mr from the tree and then rdma_destroy_mr() it first, then rds_mr_put() to decrement its reference count. Whichever thread holds last reference will free the mr via rds_mr_put() This bug was triggering weird null pointer crashes. One if the trace for it is captured below. BUG: unable to handle kernel NULL pointer dereference at 0000000000000104 IP: [<ffffffffa0899471>] rds_ib_free_mr+0x31/0x130 [rds_rdma] PGD 4366fa067 PUD 4366f9067 PMD 0 Oops: 0000 [#1] SMP [...] task: ffff88046da6a000 ti: ffff88046da6c000 task.ti: ffff88046da6c000 RIP: 0010:[<ffffffffa0899471>] [<ffffffffa0899471>] rds_ib_free_mr+0x31/0x130 [rds_rdma] RSP: 0018:ffff88046fa43bd8 EFLAGS: 00010286 RAX: 0000000071d38b80 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff880079e7ff40 RBP: ffff88046fa43bf8 R08: 0000000000000000 R09: 0000000000000000 R10: ffff88046fa43ca8 R11: ffff88046a802ed8 R12: ffff880079e7fa40 R13: 0000000000000000 R14: ffff880079e7ff40 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff88046fa40000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000104 CR3: 00000004366fb000 CR4: 00000000000006e0 Stack: ffff880079e7fa40 ffff880671d38f08 ffff880079e7ff40 0000000000000296 ffff88046fa43c28 ffffffffa087a38b ffff880079e7fa40 ffff880671d38f10 0000000000000000 0000000000000292 ffff88046fa43c48 ffffffffa087a3b6 Call Trace: <IRQ> [<ffffffffa087a38b>] rds_destroy_mr+0x8b/0xa0 [rds] [<ffffffffa087a3b6>] __rds_put_mr_final+0x16/0x30 [rds] [<ffffffffa087a492>] rds_rdma_unuse+0xc2/0x120 [rds] [<ffffffffa08766d3>] rds_recv_incoming_exthdrs+0x83/0xa0 [rds] [<ffffffffa0876782>] rds_recv_incoming+0x92/0x200 [rds] [<ffffffffa0895269>] rds_ib_process_recv+0x259/0x320 [rds_rdma] [<ffffffffa08962a8>] rds_ib_recv_tasklet_fn+0x1a8/0x490 [rds_rdma] [<ffffffff810dcd78>] ? __remove_hrtimer+0x58/0x90 [<ffffffff810799e1>] tasklet_action+0xb1/0xc0 [<ffffffff81079b52>] __do_softirq+0xe2/0x290 [<ffffffff81079df6>] irq_exit+0xa6/0xb0 [<ffffffff81613915>] do_IRQ+0x65/0xf0 [<ffffffff816118ab>] common_interrupt+0x6b/0x6b Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba54d3ced958435e1802daf992cfd44c26cd4cb7 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Tue Aug 25 12:01:58 2015 -0700 RDS: fix the dangling reference to rds_ib_incoming_slab On rds_ib_frag_slab allocation failure, ensure rds_ib_incoming_slab is not pointing to the detsroyed memory. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bef0057b7ba881d5ae67eec876df7a26fe672a59 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 25 20:22:35 2015 -0300 vxlan: re-ignore EADDRINUSE from igmp_join Before 56ef9c909b40[1] it used to ignore all errors from igmp_join(). That commit enhanced that and made it error out whatever error happened with igmp_join(), but that's not good because when using multicast groups vxlan will try to join it multiple times if the socket is reused and then the 2nd and further attempts will fail with EADDRINUSE. As we don't track to which groups the socket is already subscribed, it's okay to just ignore that error. Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope") Reported-by: John Nielsen <lists@xxxxxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8766e4ed3e9fc6b27dc3ead029cd307caa926d2 Merge: dafc219 854d2a6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 16:20:38 2015 -0700 Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge Antonio Quartulli says: ==================== Included changes: - code restyling and beautification - use int kernel types instead of C99 - update kereldoc - prevent potential hlist double deletion of VLAN objects - fix gw bandwidth calculation - convert list to hlist when needed - add lockdep_asserts calls in function with lock requirements described in kerneldoc ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e732cdd416cb85fdba6919af2e271c64c08bb26d Merge: 83bc805 06b23f7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 16:12:45 2015 -0700 Merge tag 'linux-can-fixes-for-4.2-20150825' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can Marc Kleine-Budde says: ==================== this is the updated pull request of one patch by me for the peak_usb driver. It fixes the driver, so that non FD adapters don't provide CAN FD bittimings. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dafc21995db9b2ef61a2d613f872a5c565731548 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Tue Aug 25 14:15:11 2015 +0530 enic: reduce ioread in devcmd2 posted_index is RO in firmware. We need not do ioread everytime to get posted index. Store posted index locally. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83bc805bff89854e4c81c67633a52ce1015b1502 Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Tue Aug 25 18:03:20 2015 +1000 net: compile renesas directory if NET_VENDOR_RENESAS is configured Currently the renesas ethernet driver directory is compiled if SH_ETH is configured rather than NET_VENDOR_RENESAS. Although incorrect that was quite harmless as until recently as SH_ETH configured the only driver in the renesas directory. However, as of c156633f1353 ("Renesas Ethernet AVB driver proper") the renesas directory includes another driver, configured by RAVB, and it makes little sense for it to have a hidden dependency on SH_ETH. Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> [horms: rewrote changelog] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5a132a84a692f8d81f3b6959b98bcd959659457 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Aug 25 16:02:02 2015 -0700 clk: tegra: Fix some static checker problems The latest Tegra clk pull had some problems. Fix them. drivers/clk/tegra/clk-tegra124.c:1450:6: warning: symbol 'tegra124_clock_assert_dfll_dvco_reset' was not declared. Should it be static? drivers/clk/tegra/clk-tegra124.c:1466:6: warning: symbol 'tegra124_clock_deassert_dfll_dvco_reset' was not declared. Should it be static? drivers/clk/tegra/clk-tegra124.c:1476:5: warning: symbol 'tegra124_reset_assert' was not declared. Should it be static? drivers/clk/tegra/clk-tegra124.c:1486:5: warning: symbol 'tegra124_reset_deassert' was not declared. Should it be static? drivers/clk/tegra/clk-dfll.c:590 dfll_load_i2c_lut() warn: inconsistent indenting drivers/clk/tegra/clk-dfll.c:1448 dfll_build_i2c_lut() warn: unsigned 'td->i2c_lut[0]' is never less than zero. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6e85d5ad36a26debc23a9a865c029cbe242b2dc8 Author: Corinna Vinschen <vinschen@xxxxxxxxxx> Date: Mon Aug 24 12:52:39 2015 +0200 r8169: Add values missing in @get_stats64 from HW counters The r8169 driver collects statistical information returned by @get_stats64 by counting them in the driver itself, even though many (but not all) of the values are already collected by tally counters (TCs) in the NIC. Some of these TC values are not returned by @get_stats64. Especially the received multicast packages are missing from /proc/net/dev. Rectify this by fetching the TCs and returning them from rtl8169_get_stats64. The counters collected in the driver obviously disappear as soon as the driver is unloaded so after a driver is loaded the counters always start at 0. The TCs on the other hand are only reset by a power cycle. Without further considerations the values collected by the driver would not match up against the TC values. This patch introduces a new function rtl8169_reset_counters which resets the TCs. Also, since rtl8169_reset_counters shares most of its code with rtl8169_update_counters, refactor the shared code into two new functions rtl8169_map_counters and rtl8169_unmap_counters. Unfortunately chip versions prior to RTL_GIGA_MAC_VER_19 don't allow to reset the TCs programatically. Therefore introduce an addition to the rtl8169_private struct and a function rtl8169_init_counter_offsets to store the TCs at first rtl_open. Use these values as offsets in rtl8169_get_stats64. Propagate a failure to reset *and* update the counters up to rtl_open and emit a warning message, if so. Signed-off-by: Corinna Vinschen <vinschen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7c602bf42f943e717eed92165ebfa6dbaba3029 Merge: 1c4b4b0 79cf95c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Aug 25 15:55:28 2015 -0700 Merge tag 'tegra-for-4.3-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into clk-next clk: tegra: Changes for v4.3-rc1 This contains the DFLL driver needed to implement CPU frequency scaling on Tegra. commit b01d04aa511b78c795dd258bf8689a421a6b4d0c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 15:54:25 2015 -0700 rds: Fix improper gfp_t usage. >> net/rds/ib_recv.c:382:28: sparse: incorrect type in initializer (different base types) net/rds/ib_recv.c:382:28: expected int [signed] can_wait net/rds/ib_recv.c:382:28: got restricted gfp_t net/rds/ib_recv.c:828:23: sparse: cast to restricted __le64 Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f062bcaa2579af077313e989fc7dec777965a057 Merge: 3e5f206 3ee550f Author: James Morris <jmorris@xxxxxxxxx> Date: Wed Aug 26 08:24:23 2015 +1000 Merge tag 'modsign-pkcs7-20150814' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into ra-next commit 04e1b7341dc33abe4dd3f761e2e9137701e55684 Author: Shrikrishna Khare <skhare@xxxxxxxxxx> Date: Mon Aug 24 14:24:11 2015 -0700 MAINTAINERS: update vmxnet3 driver maintainer Shreyas Bhatewara would no longer maintain the vmxnet3 driver. Taking over the role of vmxnet3 maintainer. Signed-off-by: Shrikrishna Khare <skhare@xxxxxxxxxx> Signed off-by: Shreyas Bhatewara <sbhatewara@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4257295ba1b389c693b79de857a96e4b7cd8ac0 Author: huaibin Wang <huaibin.wang@xxxxxxxxx> Date: Tue Aug 25 16:20:34 2015 +0200 ip6_gre: release cached dst on tunnel removal When a tunnel is deleted, the cached dst entry should be released. This problem may prevent the removal of a netns (seen with a x-netns IPv6 gre tunnel): unregister_netdevice: waiting for lo to become free. Usage count = 3 CC: Dmitry Kozlov <xeb@xxxxxxx> Fixes: c12b395a4664 ("gre: Support GRE over IPv6") Signed-off-by: huaibin Wang <huaibin.wang@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48e92c44bd73a8bc213560058e6b18e45929526e Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Tue Aug 25 18:36:50 2015 +0200 vxlan: fix multiple inclusion of vxlan.h The vxlan_get_sk_family inline function was added after the last #endif, making multiple inclusion of net/vxlan.h fail. Move it to the proper place. Reported-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Fixes: 705cc62f6728c ("vxlan: provide access function for vxlan socket address family") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 081958ebe150dc42a0f50669169c4177786b747e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 10:26:22 2015 -0700 MAINTAINERS: Add VRF entry Add entry for new VRF device driver. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e252b3d1a1744af1431aca30e091420734c2b012 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Aug 25 10:38:53 2015 -0700 route: fix a use-after-free This patch fixes the following crash: general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.2.0-rc7+ #166 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 task: ffff88010656d280 ti: ffff880106570000 task.ti: ffff880106570000 RIP: 0010:[<ffffffff8182f91b>] [<ffffffff8182f91b>] dst_destroy+0xa6/0xef RSP: 0018:ffff880107603e38 EFLAGS: 00010202 RAX: 0000000000000001 RBX: ffff8800d225a000 RCX: ffffffff82250fd0 RDX: 0000000000000001 RSI: ffffffff82250fd0 RDI: 6b6b6b6b6b6b6b6b RBP: ffff880107603e58 R08: 0000000000000001 R09: 0000000000000001 R10: 000000000000b530 R11: ffff880107609000 R12: 0000000000000000 R13: ffffffff82343c40 R14: 0000000000000000 R15: ffffffff8182fb4f FS: 0000000000000000(0000) GS:ffff880107600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007fcabd9d3000 CR3: 00000000d7279000 CR4: 00000000000006e0 Stack: ffffffff82250fd0 ffff8801077d6f00 ffffffff82253c40 ffff8800d225a000 ffff880107603e68 ffffffff8182fb5d ffff880107603f08 ffffffff810d795e ffffffff810d7648 ffff880106574000 ffff88010656d280 ffff88010656d280 Call Trace: <IRQ> [<ffffffff8182fb5d>] dst_destroy_rcu+0xe/0x1d [<ffffffff810d795e>] rcu_process_callbacks+0x618/0x7eb [<ffffffff810d7648>] ? rcu_process_callbacks+0x302/0x7eb [<ffffffff8182fb4f>] ? dst_gc_task+0x1eb/0x1eb [<ffffffff8107e11b>] __do_softirq+0x178/0x39f [<ffffffff8107e52e>] irq_exit+0x41/0x95 [<ffffffff81a4f215>] smp_apic_timer_interrupt+0x34/0x40 [<ffffffff81a4d5cd>] apic_timer_interrupt+0x6d/0x80 <EOI> [<ffffffff8100b968>] ? default_idle+0x21/0x32 [<ffffffff8100b966>] ? default_idle+0x1f/0x32 [<ffffffff8100bf19>] arch_cpu_idle+0xf/0x11 [<ffffffff810b0bc7>] default_idle_call+0x1f/0x21 [<ffffffff810b0dce>] cpu_startup_entry+0x1ad/0x273 [<ffffffff8102fe67>] start_secondary+0x135/0x156 dst is freed right before lwtstate_put(), this is not correct... Fixes: 61adedf3e3f1 ("route: move lwtunnel state to dst_entry") Acked-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7499160107dd1367cf34873564b522a5516430c Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Aug 24 22:56:54 2015 +0900 net-next: Fix warning while make xmldocs caused by skbuff.c This patch fix following warnings. .//net/core/skbuff.c:407: warning: No description found for parameter 'len' .//net/core/skbuff.c:407: warning: Excess function parameter 'length' description in '__netdev_alloc_skb' .//net/core/skbuff.c:476: warning: No description found for parameter 'len' .//net/core/skbuff.c:476: warning: Excess function parameter 'length' description in '__napi_alloc_skb' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7a4f7ff7f83bd42ee765f666e6c0a28545bc6d6 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:30:48 2015 +0800 ACPICA: Update version to 20150818 ACPICA commit d93470de8febeecdc20633fde11cb0b200fa773b Version 20150818. Link: https://github.com/acpica/acpica/commit/d93470de Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2e5321cb62ca1b29941d483c21b41f71b4dc8c78 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:30:41 2015 +0800 ACPICA: Debugger: Cleanup debugging outputs to dump name path without trailing underscores ACPICA commit 51a49c2fb4a73f302a6df2b8ddc1350dd261684d It is better to use unified ASL path name to interact with the developers. There are following acpi_ns_build_normalized_pathname() users invoking it for debugging purposes (acpiexec test results are attached): 1. acpi_ut_display_init_pathname (acpi_ns_handle_to_pathname): --------------------------------------------- Initializing Region \_SB.H_EC.ECF2 --------------------------------------------- 2. acpi_ns_print_node_pathname (acpi_ns_handle_to_pathname): --------------------------------------------- - ex \_SB.H_EC._STA Evaluating \_SB.H_EC._STA --------------------------------------------- 3. acpi_ds_print_node_pathname (acpi_ns_handle_to_pathname): --------------------------------------------- - level 211b console - execute \M1 ... **** Exception AE_AML_UNINITIALIZED_ARG during execution of method [\M1] (Node 009CB6B8) --------------------------------------------- 4. acpi_ex_dump_reference_obj (acpi_ns_handle_to_pathname): --------------------------------------------- - dump \_TZ.FAN4._PR0 ... [00] 00835E98 [Object Reference] Type [Named Object] 05 00828878 \_TZ.FN04 --------------------------------------------- 5. acpi_db_bus_walk (acpi_ns_handle_to_pathname): --------------------------------------------- - businfo \_SB.PCI0 Type 6 ... --------------------------------------------- 6. acpi_db_walk_and_match_name (acpi_ns_handle_to_pathname): --------------------------------------------- - find _PR0 \_TZ.FAN4._PR0 Package 002D8DF8 01 Elements 01 --------------------------------------------- 7. acpi_db_walk_for_specific_objects (acpi_ns_handle_to_pathname): --------------------------------------------- - methods ... \_SB.PCI0._PRT Method 0026D918 01 Args 0 Len 0005 Aml 0026B199 ... --------------------------------------------- 8. acpi_db_decode_and_dispaly_object (acpi_get_name): --------------------------------------------- - gpes Block 0 - Info 003AC7B0 device_node 003A0E08 [\_GPE] - FADT-defined GPE block ... --------------------------------------------- 9. acpi_db_display_gpes (acpi_get_name): --------------------------------------------- - dump \_GPE Object (003A0E08) Pathname: \_GPE --------------------------------------------- 10.ae_miscellaneous_tests (acpi_get_name): No output available This patch cleans up all of the above usages. ACPICA BZ 1178, Lv Zheng. Linux kernel's ACPICA debugging messages may also be changed. Link: https://github.com/acpica/acpica/commit/51a49c2f Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a2352db584d6402c044a07b5b252b7f133ab70cf Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:30:34 2015 +0800 ACPICA: Disassembler: Cleanup acpi_gbl_db_opt_verbose acpiexec usage ACPICA commit 42d7ad7bfb1cfb95183c1386c77509f2036f521d When acpi_gbl_db_opt_verbose is used in acpi_dm_descending_op() (invoked by acpi_dm_disassemble()), it is actually exported by the disassembler but used by the debugger to distinguish the output of the disassembler for different debugger commands. It is by default TRUE but is set to FALSE for control method disassembly command - "disassemble". So it's initialization should be a part of the ACPI_DISASSEMBLER conditioned code. This patch uses ACPI_INIT_GLOBAL to achieve a clean manner so that when ACPI_DISASSEMBLER is not defined, ACPI_DEBUGGER conditioned code needn't link to this option. Since it is a disassembler exported variable, it is renamed to acpi_gbl_dm_opt_Verbose in this patch. As VERBOSE_PRINT() macro has only one user, this patch also removes the definition of this macro. Lv Zheng. This patch doesn't affect Linux kernel. Link: https://github.com/acpica/acpica/commit/42d7ad7b Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1bdc63bf05096afac4b1e5361417fb730d77dfc7 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:30:27 2015 +0800 ACPICA: Disassembler: Cleanup acpi_gbl_db_opt_disasm ACPICA commit 969989cf7f85e2a2a0cd048cd25fc706246a48a2 This patch cleans up the following global variable - acpi_gbl_db_opt_disasm: The setting is used to control the full disassembly feature for iasl. ACPI debugger (acpiexec) shall have nothing to do with it. Actually, acpiexec never links to ad_aml_disassemble(). This patch thus renames this global option to acpi_gbl_dm_opt_disasm and removes all acpiexec and debugger references on it. Lv Zheng. This patch doesn't affect Linux kernel. Link: https://github.com/acpica/acpica/commit/969989cf Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f8fb4c383e7342731b77693edde9c6ea02ab0365 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:30:19 2015 +0800 ACPICA: Debugger: Split debugger initialization/termination APIs ACPICA commit 7a3f22baab000b186779dac64ad71d9776b8f432 It is likely that the debugger is enabled only when a userspace program explicitly tells a kernel to do so, so it shouldn't be initialized as early as current implementation. The only tool requiring ACPI_DEBUGGER is acpiexec, so acpiexec need to call the new APIs by itself. And BSD developers may also get notified to invoke the APIs for DDB enabling. Lv Zheng. This patch doesn't affect Linux kernel as debugger is currently not enabled in the Linux kernel. Link: https://github.com/acpica/acpica/commit/7a3f22ba Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cff9406128a4f9b683eb8c52a8864496e7025467 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:30:11 2015 +0800 ACPICA: Header support to improve compatibility with MSVC ACPICA commit 5b4087fba991d8383046b550bbe22f3d8d9b9c8f Needed to improve MSVC editor support for symbols. For Linux kernel, this change is a no-op. Link: https://github.com/acpica/acpica/commit/5b4087fb Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 47cdf8c692d5a64855a7aff83800d5bc5c925d7c Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:30:00 2015 +0800 ACPICA: Make the max-number-of-loops runtime configurable ACPICA commit a9d9c2d0c2d077bb3175ec9c252cf0e5da3efd45 Was previously compile-time only. Add support option for acpiexec. Link: https://github.com/acpica/acpica/commit/a9d9c2d0 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e69ab9a99e1d112045dd87902e467daec0d189da Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:52 2015 +0800 ACPICA: Debugger: Add option to display namespace summary/counts ACPICA commit bba222c15c2ce79076eb3a5e9d4d5f7120db8a00 If "Objects" command is invoked with no arguments, the counts for each object type are displayed. Linux kernel is not affected by this commit as currently debugger is not enabled in the Linux kernel. Link: https://github.com/acpica/acpica/commit/bba222c1 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 25823e784aac78964ada0e49efe2766d2aeb9fa4 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:45 2015 +0800 ACPICA: Add additional debug info/statements ACPICA commit 74094ca9f51e2652a9b5f01722d8640a653cc75a For _REG methods and module-level code blocks. For acpiexec, add deletion of module-level blocks in case of an early abort. Link: https://github.com/acpica/acpica/commit/74094ca9 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3c0503dd289eb6658f16d77fa12b3a30a4072be3 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:39 2015 +0800 ACPICA: Table handling: Cleanup and update debug output for tools ACPICA commit 93862bd7a227543bc617d822ef5c4f8a5d68b519 Add output of table OEM ID along with signature to support lots of SSDTs. Cleanup use of table pointers. Link: https://github.com/acpica/acpica/commit/93862bd7 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 93cdafa071bd436596a0501fd43f4fab89c2be78 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:33 2015 +0800 ACPICA: acpiexec/acpinames: Support very large number of ACPI tables ACPICA commit ca3bd4c5cdc39a9009280032adbbc20f34e94c47 Fix a couple of issues with >40 ACPI tables. Return exit error for acpinames to enable use with BIOS builds. The new exported function is used by acpinames. For Linux kernel, this change is a no-op. Link: https://github.com/acpica/acpica/commit/ca3bd4c5 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 17dd4dcfadffba93cf18652eb16b345526b04ce1 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:25 2015 +0800 ACPICA: acpinames: Add new options and wildcard support ACPICA commit 0ecf5b5a41c3d2e09af48f0fdbc9ae784f631788 - Add wilcard support for input filenames. - Add -l option to load tables and exit, no display. This is useful for validation of the namespace during BIOS generation. - Add -x option for specifying debug level. Linux kernel is not affected by this commit. Link: https://github.com/acpica/acpica/commit/0ecf5b5a Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 10ac218e9a1e76e0d3adec8fe2e2f84bbc138759 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:17 2015 +0800 ACPICA: Headers: Fix some comments, no functional change ACPICA commit 539f8c03fe64305725bd85343e42f3b6c42aad14 A couple typos and long lines. Link: https://github.com/acpica/acpica/commit/539f8c03 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7484619bff495c30e977dafe2ff735477bd569ff Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:29:08 2015 +0800 ACPICA: Tables: Cleanup to reduce FACS globals ACPICA commit 3f42ba76e2a0453976d3108296d5f656fdf2bd6e In this patch, FACS table mapping is also tuned a bit so that only the selected FACS table will be mapped by the OSPM (mapped on demand) and the FACS related global variables can be reduced. Lv Zheng. Link: https://github.com/acpica/acpica/commit/3f42ba76 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8ec3f459073e67e5c6d78507dec693064b3040a2 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:29:01 2015 +0800 ACPICA: Tables: Fix global table list issues by removing fixed table indexes ACPICA commit c0b38b4c3982c2336ee92a2a14716107248bd941 The fixed table indexes leave holes in the global table list: 1. One hole can be seen when there is only 1 FACS provided by the BIOS. 2. Tow holes can be seen when it is a reduced hardware platform. The holes do not break OSPMs but have broken ACPI debugger "tables" command. Also the "fixed table indexes" mechanism may make the descriptors of the standard tables installed earlier than DSDT to be overwritten by the descriptors of the fixed tables. For example, FACP disappears from the global table list after DSDT is installed. This patch fixes all above issues by removing the "fixed table indexes" mechanism which is too complicated to be maintained in a regression safe manner. After removal, the table loader will determine the indexes of the fixed tables. Lv Zheng. Link: https://github.com/acpica/acpica/commit/c0b38b4c Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 92b21a9502ea3a83464aea885b3c65c528b10190 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:28:54 2015 +0800 ACPICA: Update info messages during ACPICA init ACPICA commit 4ccf8a1cc499ec8f00345f662a5887483980e1dd Small cleanup of messages. Link: https://github.com/acpica/acpica/commit/4ccf8a1c Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2aabfad7c6680178ffa8f02957287178a58a46ca Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:28:47 2015 +0800 ACPICA: Disassembler: Update for new listing mode ACPICA commit 2ed09bb7619d25f5a5c065c33a8a775a6db3a856 ACPICA commit 2fefacf73825b0ec96bbfc4f70a256735b715d6c This mode emits AML code along with the ASL code. A new global was needed to ensure the listing mode is completely separate from the debugger verbose mode. Emits the correct AML offset for the AML code. The -l option now works for both the compiler and disassembler. Linux kernel is not affected by this commit. Link: https://github.com/acpica/acpica/commit/2fefacf7 Link: https://github.com/acpica/acpica/commit/2ed09bb7 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9f41fd8a175ff87ba610fc387a6922b0f49f8e19 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:28:39 2015 +0800 ACPICA: Update parameter validation for data_table_region and load_table ACPICA commit 51ab555e60b4a3de3cc4a846e86d0de255be441a Add additional validation for the table signature and the OEM strings. Eliminates buffer read overrun in data_table_region. ACPICA BZ 1184. Link: https://bugs.acpica.org/show_bug.cgi?id=1184 Link: https://github.com/acpica/acpica/commit/51ab555e Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3534969721ba011b8c2bcb5686819852df7aa971 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:28:32 2015 +0800 ACPICA: Disassembler: Remove duplicate code in _PLD processing. ACPICA commit 6d9c827b540837b6e54059e17756a06985e4a196 ACPICA BZ 1176. Link: https://bugs.acpica.org/show_bug.cgi?id=1176 Link: https://github.com/acpica/acpica/commit/6d9c827b Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4712f71b609d1805b958c0c355b16a995b11ab6e Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:28:26 2015 +0800 ACPICA: Correctly cleanup after a ACPI table load failure ACPICA commit ed7769e832de6c7ba90615480d916c85fd100422 If a table load fails, delete all namespace objects created by the table, otherwise these objects will be uninitialized, causing problems later. This appears to be a very rare problem. Also handle the unitialized node problem to prevent possible faults. ACPICA BZ 1185. Link: https://github.com/acpica/acpica/commit/ed7769e8 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 79c441ae505ccfaed9d80df95e83fb2573f23f8e Author: Guillaume Nault <g.nault@xxxxxxxxxxxx> Date: Mon Aug 24 11:35:30 2015 +0200 ppp: implement x-netns support Let packets move from one netns to the other at PPP encapsulation and decapsulation time. PPP units and channels remain in the netns in which they were originally created. Only the net_device may move to a different namespace. Cross netns handling is thus transparent to lower PPP layers (PPPoE, L2TP, etc.). PPP devices are automatically unregistered when their netns gets removed. So read() and poll() on the unit file descriptor will respectively receive EOF and POLLHUP. Channels aren't affected. Signed-off-by: Guillaume Nault <g.nault@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc7fce80229067890365c1ee196be5d304d36dea Author: Tomer Barletz <barletz@xxxxxxxxx> Date: Tue Aug 4 21:00:24 2015 -0700 mtd: blkdevs: fix switch-bool compilation warning With gcc 5.1 I get: warning: switch condition has boolean value [-Wswitch-bool] Signed-off-by: Tomer Barletz <barletz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 542a64c7076565d73eea39057113914e1607db30 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Aug 23 20:31:38 2015 +0200 net: sun4i-emac: Claim emac sram Claim the emac sram ourselves, rather then relying on the bootloader having mapped the sram to the emac controller during boot. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c0027cd54cc3ed856e87d9aeddb6ef00f5f17f4 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 23 08:21:22 2015 -0600 inetpeer: remove dead code Remove various inlined functions not referenced in the kernel. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5283af899adec1a7765e413e43b27a335fadac5d Author: Rana Shahout <ranas@xxxxxxxxxxxx> Date: Sun Aug 23 16:12:14 2015 +0300 net/mlx5e: Avoid accessing NULL pointer at ndo_select_queue To avoid multiply/division operations on the data path, we hold a {channel, tc}==>txq mapping table. We held this mapping table inside the channel object that is being destroyed upon some configuration operations (e.g MTU change). So in case ndo_select_queue occurs during such a configuration operation, it may access a NULL channel pointer, resulting in kernel panic. To fix this issue we moved the {channel, tc}==>txq mapping table outside the channel object so that it will be available also during such configuration operations. Signed-off-by: Rana Shahout <ranas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06bb6f5a69dfc53b79dd5f7afabdcd070a18afbf Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Aug 10 21:39:03 2015 +0200 mtd: spi-nor: stop (ab)using struct spi_device_id Using struct spi_device_id for storing list of flash devices comes from early SPI NOR framework days. Thanks to the commit 70f3ce0510af ("mtd: spi-nor: make spi_nor_scan() take a chip type name, not spi_device_id") we can stop using spi_device_id and just switch to our own struct. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 94c10f0ea303473884f69edd6bbb0cedcf570105 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 13:38:50 2015 -0700 ah4: Fix error return in ah_input(). Noticed by Herbert Xu. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25105051fde444cac11a2e2599350e5388936428 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Aug 23 02:11:21 2015 +0200 ah6: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c12197939be10c117039aabc06830297fb6d6ee Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Aug 23 02:11:16 2015 +0200 mlxsw: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ef53ebfa9ff5b205604fc781868765e00ae875f Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Aug 23 02:11:14 2015 +0200 net: davinci_emac: fix error return code Propagate error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74c9c9134bf8d8a6d5c5683f60262eed3d6fb5ac Author: Jeff Moyer <jmoyer@xxxxxxxxxx> Date: Wed Jul 29 10:22:50 2015 -0400 mtip32x: fix regression introduced by blk-mq per-hctx flush Hi, After commit f70ced091707 (blk-mq: support per-distpatch_queue flush machinery), the mtip32xx driver may oops upon module load due to walking off the end of an array in mtip_init_cmd. On initialization of the flush_rq, init_request is called with request_index >= the maximum queue depth the driver supports. For mtip32xx, this value is used to index into an array. What this means is that the driver will walk off the end of the array, and either oops or cause random memory corruption. The problem is easily reproduced by doing modprobe/rmmod of the mtip32xx driver in a loop. I can typically reproduce the problem in about 30 seconds. Now, in the case of mtip32xx, it actually doesn't support flush/fua, so I think we can simply return without doing anything. In addition, no other mq-enabled driver does anything with the request_index passed into init_request(), so no other driver is affected. However, I'm not really sure what is expected of drivers. Ming, what did you envision drivers would do when initializing the flush requests? Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 96fd26b97a6b1412e9a302cd11363e28aa9b4ee5 Merge: 43e122b ae05368 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 13:35:32 2015 -0700 Merge branch 'rds-assorted-bug-fixes' Santosh Shilimkar says: ==================== RDS: Assorted bug fixes We would like to improve RDS upstream support and in that context, I started playing with it. But run into number of issues including as basic is RDS IB RDMA doesn't work. As part of the debug, I ended up creating the $subject series which has bunch of assorted fixes. At least with this series I can run RDS IB RDMA and other tests successfully. Some of these fixes have been done by Chris Meson, Andy Grover and Zach Brown while at Oracle. There are still more kinks with FMR and error handling and I plan to address them in a follow up series. Series generated against Linus's master(v4.2-rc-7) but also applies against next-next cleanly. Its tested on Oracle hardware with IB fabric for both bcopy as well as RDMA mode. I don't have access to iWARP hardware so any testing help on iWARP hardware appreciated. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae05368afa7ea27fd906477874ed3ebc7df7e53c Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:35 2015 -0700 RDS: check for valid cm_id before initiating connection Connection could have been dropped while the route is being resolved so check for valid cm_id before initiating the connection. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06e8941e22f5cbaa4051f06d7ac99e3f302f6d48 Author: Mukesh Kacker <mukesh.kacker@xxxxxxxxxx> Date: Sat Aug 22 15:45:34 2015 -0700 RDS: return EMSGSIZE for oversize requests before processing/queueing rds_send_queue_rm() allows for the "current datagram" being queued to exceed SO_SNDBUF thresholds by checking bytes queued without counting in length of current datagram. (Since sk_sndbuf is set to twice requested SO_SNDBUF value as a kernel heuristic this is usually fine!) If this "current datagram" squeezing past the threshold is itself many times the size of the sk_sndbuf threshold itself then even twice the SO_SNDBUF does not save us and it gets queued but cannot be transmitted. Threads block and deadlock and device becomes unusable. The check for this datagram not exceeding SNDBUF thresholds (EMSGSIZE) is not done on this datagram as that check is only done if queueing attempt fails. (Datagrams that follow this datagram fail queueing attempts, go through the check and eventually trip EMSGSIZE error but zero length datagrams silently fail!) This fix moves the check for datagrams exceeding SNDBUF limits before any processing or queueing is attempted and returns EMSGSIZE early in the rds_sndmsg() code. This change also ensures that all datagrams get checked for exceeding SNDBUF/sk_sndbuf size limits and the large datagrams that exceed those limits do not get to rds_send_queue_rm() code for processing. Signed-off-by: Mukesh Kacker <mukesh.kacker@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dfcec251d22bab947d10cf37e9ad67085cf7f097 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:33 2015 -0700 RDS: make sure rds_send_drop_to properly takes the m_rs_lock rds_send_drop_to() is used during socket tear down to find all the messages on the socket and flush them . It can race with the acking code unless it takes the m_rs_lock on each and every message. This plugs a hole where we didn't take m_rs_lock on any message that didn't have the RDS_MSG_ON_CONN set. Taking m_rs_lock avoids double frees and other memory corruptions as the ack code trusts the message m_rs pointer on a socket that had actually been freed. We must take m_rs_lock to access m_rs. Because of lock nesting and rs access, we also need to acquire rs_lock. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c3be624f40acd6f2bd0f22ade081ac2467e8617 Author: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Date: Sat Aug 22 15:45:32 2015 -0700 RDS: Don't destroy the rdma id until after we're done using it During connection resets, we are destroying the rdma id too soon. We can't destroy it when it is still in use. So lets move rdma_destroy_id() after we clear the rings. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c240fa2ab394af1dbde280e00cc038cbc7f0409 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:31 2015 -0700 RDS: Fix assertion level from fatal to warning Fix the asserion level since its not fatal and can be hit in normal execution paths. There is no need to take the system down. We keep the WARN_ON() to detect the condition if we get here with bad pages. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3049147ca7c8426268433d16d7546a51dede316d Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:30 2015 -0700 RDS: Make sure we do a signaled send for large-send WR(Work Requests )always generate a WC(Work Completion) with signaled send. Default RDS ib code is setup for un-signaled completion. Since RDS connction is persistent, we can end up sending the data even after large-send when the remote end is not active(for any reason). By doing a signaled send at least once per large-send, we can at least detect the problem in work completion handler there by avoiding sending more data to inactive remote. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f73113c63bae5cd092c93c2a9835b9d3c7f0b54 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:29 2015 -0700 RDS: Mark message mapped before transmit rds_send_xmit() marks the rds message map flag after xmit_[rdma/atomic]() which is clearly wrong. We need to maintain the ownership between transport and rds. Also take care of error path. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0df5f9a68a79f31e608b69a9369d6415a38843e1 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:28 2015 -0700 RDS: add a sock_destruct callback debug aid This helps to detect the accidental processes/apps trying to destroy the RDS socket which they are sharing with other processes/apps. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c484240210a8c835a216dbca6f1d690e4094a7c Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:27 2015 -0700 RDS: check for congestion updates during rds_send_xmit Ensure we don't keep sending the data if the link is congested. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73ce4317bf983282593aff710b112a7e705620c3 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:26 2015 -0700 RDS: make sure we post recv buffers If we get an ENOMEM during rds_ib_recv_refill, we might never come back and refill again later. Patch makes sure to kick krdsd into helping out. To achieve this we add RDS_RECV_REFILL flag and update in the refill path based on that so that at least some therad will keep posting receive buffers. Since krdsd and softirq both might race for refill, we decide to schedule on work queue based on ring_low instead of ring_empty. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1f475a738e4c861d8aff84b737a0538680cbe05 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:25 2015 -0700 RDS: don't update ip address tables if the address hasn't changed If the ip address tables hasn't changed, there is no need to remove them only to be added back again. Lets fix it. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bc7b863f230e429dd7a06c0956ada7933d69f50 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:24 2015 -0700 RDS: destroy the ib state earlier during shutdown Destroy ib state early during shutdown. Otherwise we can get callbacks after the QP isn't really able to handle them. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43962dd7ee192299c6e0c6cd7f0a65997308f1f4 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:23 2015 -0700 RDS: always free recv frag as we free its ring entry We were still seeing rare occurrences of the WARN_ON(recv->r_frag) which indicates that the recv refill path was finding allocated frags in ring entries that were marked free. These were usually followed by OOM crashes. They only seem to be occurring in the presence of completion errors and connection resets. This patch ensures that we free the frag as we mark the ring entry free. This should stop the refill path from finding allocated frags in ring entries that were marked free. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d2e3f396c532b95a37bbee92269f37efe908457 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:22 2015 -0700 RDS: restore return value in rds_cmsg_rdma_args() In rds_cmsg_rdma_args() 'ret' is used by rds_pin_pages() which returns number of pinned pages on success. And the same value is returned to the caller of rds_cmsg_rdma_args() on success which is not intended. Commit f4a3fc03c1d7 ("RDS: Clean up error handling in rds_cmsg_rdma_args") removed the 'ret = 0' line which broke RDS RDMA mode. Fix it by restoring the return value on rds_pin_pages() success keeping the clean-up in place. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 006a0973ed020a81fe1f24b511ce9feb53f70e44 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 25 14:11:52 2015 -0400 writeback: sync_inodes_sb() must write out I_DIRTY_TIME inodes and always call wait_sb_inodes() e79729123f63 ("writeback: don't issue wb_writeback_work if clean") updated writeback path to avoid kicking writeback work items if there are no inodes to be written out; unfortunately, the avoidance logic was too aggressive and broke sync_inodes_sb(). * sync_inodes_sb() must write out I_DIRTY_TIME inodes but I_DIRTY_TIME inodes dont't contribute to bdi/wb_has_dirty_io() tests and were being skipped over. * inodes are taken off wb->b_dirty/io/more_io lists after writeback starts on them. sync_inodes_sb() skipping wait_sb_inodes() when bdi_has_dirty_io() breaks it by making it return while writebacks are in-flight. This patch fixes the breakages by * Removing bdi_has_dirty_io() shortcut from bdi_split_work_to_wbs(). The callers are already testing the condition. * Removing bdi_has_dirty_io() shortcut from sync_inodes_sb() so that it always calls into bdi_split_work_to_wbs() and wait_sb_inodes(). * Making bdi_split_work_to_wbs() consider the b_dirty_time list for WB_SYNC_ALL writebacks. Kudos to Eryu, Dave and Jan for tracking down the issue. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: e79729123f63 ("writeback: don't issue wb_writeback_work if clean") Link: http://lkml.kernel.org/g/20150812101204.GE17933@xxxxxxxxxxxxxxxxxxxxxxxxxx Reported-and-bisected-by: Eryu Guan <eguan@xxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxxx> Cc: Ted Ts'o <tytso@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b96f465035f9fae83c1d8de3e80eecfe6877608c Author: David Teigland <teigland@xxxxxxxxxx> Date: Tue Aug 25 12:51:44 2015 -0500 dlm: fix lvb copy for user locks For a userland lock request, the previous and current lock modes are used to decide when the lvb should be copied back to the user. The wrong previous value was used, so that it always matched the current value. This caused the lvb to be copied back to the user in the wrong cases. Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 0cb850486048ba4f64482a9d3e33dff47df34c79 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Wed Dec 31 13:58:53 2014 +0100 mtd: nand: add Toshiba TC58NVG0S3E to nand_ids table Add the full description of the Toshiba TC58NVG0S3E NAND chip in the nand_ids table so that we can later use the NAND ECC info and ONFI timing mode in controller drivers. Tested with asm9260_nand driver. [Brian: driver still under review] Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 540d9864e1c5f8d3ca2ecc919e7d8a47e713ec3f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 25 11:16:13 2015 -0400 NFSv4.1/pnfs: Add sanity check for the layout range returned by the server Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 82714bd1424a88e4bb43813c8a78fbe8f6c5feab Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:41:24 2015 -0400 NFSv4.1/pnfs Improve the packing of struct pnfs_layout_hdr Eliminate a couple of holes in the structure, and move the 2 atomics into the same cacheline. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e3b1df2dbd7bcda807a94db131fda6c2bbd1480a Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Aug 25 11:19:25 2015 +0800 NFSv4.1/flexfile: ff_layout_remove_mirror can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit bbf58bf3488e41f346536aa89d62bdf2fe771128 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 24 20:39:18 2015 -0400 NFSv4.2/pnfs: Make the layoutstats timer configurable Allow advanced users to set the layoutstats timer in order to lengthen or shorten the period between layoutstat transmissions to the server. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 266d12d42ebd2587d3d0e8c4a4e54bfb5ed29543 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 24 20:03:17 2015 -0400 NFSv4.1/flexfile: Ensure uniqueness of mirrors across layout segments Keep the full list of mirrors in the struct nfs4_ff_layout_mirror so that they can be shared among the layout segments that use them. Also ensure that we send out only one copy of the layoutstats per mirror. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0b7baf9433d4e0a0c83eecbadc1f035d5370c6dc Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 24 18:22:28 2015 -0400 NFSv4.1/flexfiles: Remove mirror backpointer to lseg. When we start sharing mirrors between several lsegs, we won't be able to keep it. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 28a0d72c6867af307c000e068a6da93ae98bcd0c Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 24 18:08:30 2015 -0400 NFSv4.1/flexfiles: Add refcounting to struct nfs4_ff_layout_mirror We do want to share mirrors between layout segments, so add a refcount to enable that. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a6970317f2d5f596302d957ae2f5b0d7c8676371 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Tue Aug 18 21:04:35 2015 -0400 staging/lustre/o2iblnd: remove references to ib_reg_phsy_mr() Removed references to ib_reg_phsy_mr() and PMR which was added to deal with some Chelsio specific scenario, but no longer needed now. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Amir Shehata <amir.shehata@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5420401079e152ff68a8024f6a375804b1c21505 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:40:00 2015 +0800 NFS41/flexfiles: zero out DS write wcc We do not want to update inode attributes with DS values. Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3976143b063e3c42fe5471d87860f6ae118e0eee Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Fri Aug 21 12:49:44 2015 +0800 NFS41: remove NFS_LAYOUT_ROC flag If we return delegation before closing, we fail to do roc check during close because NFS_LAYOUT_ROC is cleared by delegreturn and it causes layouts to be still hanging around after delegreturn + close, which is a voilation against protocol. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 249b2eef647f97164b8bb61f2d9282f227a17992 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 20:43:14 2015 -0500 NFSv4: Add a tracepoint for CB_LAYOUTRECALL Only support for single file layoutrecall for now. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7cd148610af9312aa6454395fe174ebfe9496aa1 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 20:07:54 2015 -0500 NFSv4: Add a tracepoint for CB_GETATTR Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 6a463beb9a433d91f3eaf85c2f0ca0aeddf3e0ab Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 15:40:47 2015 -0500 NFSv4.1/pnfs: Add a tracepoint for return-on-close events Allow tracing of return-on-close. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit aaae3f00d3f67f681a1f3cb7af999e976e8a24ce Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 18:56:07 2015 -0500 NFSv4: Force a post-op attribute update when holding a delegation If the ctime or mtime or change attribute have changed because of an operation we initiated, we should make sure that we force an attribute update. However we do not want to mark the page cache for revalidation. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v4.0+ commit 804486b19de92449203f95027c2b207d8c5d5c79 Author: Milo Kim <milo.kim@xxxxxx> Date: Tue Aug 25 14:54:12 2015 +0900 regulator: lp872x: handle error case If memory allocation gets failed on parsing the DT, then it returns error '-ENOMEM' explicitly. Then, the driver exists from the _probe(). Signed-off-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d9ffae15f7b1933c71dfb7c5e8ef61296d2833d7 Author: Milo Kim <milo.kim@xxxxxx> Date: Tue Aug 25 14:54:11 2015 +0900 regulator: lp872x: use the private data instead of updating I2C device platform data Currently, lp872x driver parses the DT and copies values into the 'cl->dev.platform_data' if 'of_node' exists. This may have architectural issue. Platform data is configurable through the DT or I2C board info inside the platform area. However, lp872x driver changes this configuration when it is loaded. The lp872x driver should get data from the platform side and use the private data, 'lp872x->pdata' instead of changing the original platform data. Signed-off-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 43e122b014c955a33220fabbd09c4b5e4f422c3c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Aug 21 17:38:02 2015 -0700 tcp: refine pacing rate determination When TCP pacing was added back in linux-3.12, we chose to apply a fixed ratio of 200 % against current rate, to allow probing for optimal throughput even during slow start phase, where cwnd can be doubled every other gRTT. At Google, we found it was better applying a different ratio while in Congestion Avoidance phase. This ratio was set to 120 %. We've used the normal tcp_in_slow_start() helper for a while, then tuned the condition to select the conservative ratio as soon as cwnd >= ssthresh/2 : - After cwnd reduction, it is safer to ramp up more slowly, as we approach optimal cwnd. - Initial ramp up (ssthresh == INFINITY) still allows doubling cwnd every other RTT. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b63ec1837fa4c1ea604b278d201454eb3b85066 Author: David Daney <david.daney@xxxxxxxxxx> Date: Fri Aug 21 16:16:03 2015 -0700 phylib: Make PHYs children of their MDIO bus, not the bus' parent. commit 18ee49ddb0d2 ("phylib: rename mii_bus::dev to mii_bus::parent") changed the parent of PHY devices from the bus to the bus parent. Then, commit 4dea547fef1b ("phylib: rework to prepare for OF registration of PHYs") moved the code into phy_device.c At this point, it is somewhat unclear why the change was seen as necessary. But, when we look at the device model tree in /sys/devices, it is clearly incorrect. The PHYs should be children of their MDIO bus. Change the PHY's parent device to be the MDIO bus device. Cc: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c4b4b0eb1909010b8ebda1ef208bf3ed62e7487 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Tue Aug 25 15:27:43 2015 +0300 clk: qcom: Fix MSM8916 prng clock enable bit Fix the enable bit of the pseudorandom number generator clock. Reported-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Fixes: 3966fab8b6ab "clk: qcom: Add MSM8916 Global Clock Controller support" Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4ec3b28c2763e11a423d03810ff0be65f02e635e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 15:06:30 2015 -0700 xfrm: Use VRF master index if output device is enslaved Directs route lookups to VRF table. Compiles out if NET_VRF is not enabled. With this patch able to successfully bring up ipsec tunnels in VRFs, even with duplicate network configuration. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f021c62d64f38092bc2a0c5fe7b81d5e5b21a00 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Aug 21 12:30:00 2015 -0700 tcp: fix slow start after idle vs TSO/GSO slow start after idle might reduce cwnd, but we perform this after first packet was cooked and sent. With TSO/GSO, it means that we might send a full TSO packet even if cwnd should have been reduced to IW10. Moving the SSAI check in skb_entail() makes sense, because we slightly reduce number of times this check is done, especially for large send() and TCP Small queue callbacks from softirq context. As Neal pointed out, we also need to perform the check if/when receive window opens. Tested: Following packetdrill test demonstrates the problem // Test of slow start after idle `sysctl -q net.ipv4.tcp_slow_start_after_idle=1` 0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 +0 bind(3, ..., ...) = 0 +0 listen(3, 1) = 0 +0 < S 0:0(0) win 65535 <mss 1000,sackOK,nop,nop,nop,wscale 7> +0 > S. 0:0(0) ack 1 <mss 1460,nop,nop,sackOK,nop,wscale 6> +.100 < . 1:1(0) ack 1 win 511 +0 accept(3, ..., ...) = 4 +0 setsockopt(4, SOL_SOCKET, SO_SNDBUF, [200000], 4) = 0 +0 write(4, ..., 26000) = 26000 +0 > . 1:5001(5000) ack 1 +0 > . 5001:10001(5000) ack 1 +0 %{ assert tcpi_snd_cwnd == 10 }% +.100 < . 1:1(0) ack 10001 win 511 +0 %{ assert tcpi_snd_cwnd == 20, tcpi_snd_cwnd }% +0 > . 10001:20001(10000) ack 1 +0 > P. 20001:26001(6000) ack 1 +.100 < . 1:1(0) ack 26001 win 511 +0 %{ assert tcpi_snd_cwnd == 36, tcpi_snd_cwnd }% +4 write(4, ..., 20000) = 20000 // If slow start after idle works properly, we should send 5 MSS here (cwnd/2) +0 > . 26001:31001(5000) ack 1 +0 %{ assert tcpi_snd_cwnd == 10, tcpi_snd_cwnd }% +0 > . 31001:36001(5000) ack 1 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20f1f4b5ffb870631bf4a4e7c7ba10e3528ae6a6 Merge: ce52399 3e1d2ee Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 25 14:19:29 2015 -0400 Merge branch 'for-4.3-unified-base' into for-4.3 commit ce52399520e4b97466165737e00c7b528ae8c8f5 Author: Aleksa Sarai <cyphar@xxxxxxxxxx> Date: Tue Aug 25 12:50:44 2015 +1000 cgroup: pids: fix invalid get/put usage Fix incorrect usage of css_get and css_put to put a different css in pids_{cancel_,}attach() than the one grabbed in pids_can_attach(). This could lead to quite serious memory leakage (and unsafe operations on the putted css). tj: minor comment update Signed-off-by: Aleksa Sarai <cyphar@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 0e7659712836ca59b4735bc5cc94de38698a5e01 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 12:43:48 2015 +0100 ASoC: arizona: Poll for FLL clock OK rather than use interrupts The extcon driver takes the DAPM mutex from within the interrupt thread in several places, which makes it possible to get into a situation where the interrupt thread is blocked waiting on the DAPM mutex whilst a DAPM sequence is running which is attempting to configure the FLL. In this case the FLL completion can't be completed as as the IRQ handler is ONE_SHOT, which cause the FLL lock to use the full time out (250mS) and report that the process timed out. It is not really practical to make the extcon driver not take the DAPM mutex from within the interrupt thread, at least not without extensive modification. So this patch fixes the issue by switching the wait for the FLL lock to polling. A few fast polls are done first as the FLL should lock quickly for a good quality reference clock, (indeed it hits on the first poll on my system) and it will poll every 20mS after that until it times out. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit c1713485f9fc06e1f4de9800b43f6486f2527379 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Tue Aug 25 16:03:48 2015 +0800 ASoC: rt5645: Add struct dmi_system_id "Google Celes" for chrome platform Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b1d42598cb654ce63b55ccf27da09dcd914781f3 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Aug 24 20:32:59 2015 +0800 ASoC: rt5645: Add the register RT5645_CHARGE_PUMP to readable check function Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4aed4c9efb30253483869c58236ab00bdfa45630 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Aug 24 20:32:58 2015 +0800 ASoC: rt5645: Remove the incorrect setting of the JD mode The patch removes the incorrect setting of the JD mode. It will cause pop sound in the booting time. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8db7f56ddf2c4571e33756b70a1a8f492c050449 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Aug 24 20:32:57 2015 +0800 ASoC: rt5645: Modify the jack detection function to prevent the pop sound while the jack plug in The patch corrects the sequence of the jack detection. It will prevent the pop sound while the jack plug in. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 588cd850f5089cb63e031e8d70e9c081b0d97ab2 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Aug 24 20:32:56 2015 +0800 ASoC: rt5645: Modify the headphone depop and calibration function to prevent the pop sound in the booting time Remove the original calibration function and modify the depop and calibration function to prevent the pop sound in the booting time. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a8cfe8cfd0da4502f5fa924f47c7ba6c7047c722 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 18 15:16:45 2015 +0800 clk: Add missing header for 'bool' definition to clk-conf.h of_clk_set_defaults uses the type 'bool', but clk-conf.h does not include its definition. This results in a compile error when only clk-conf.h is used. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2ce0acf5673e7ee82506e69109876e037e4a64be Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Aug 24 11:45:18 2015 +0800 spi: mediatek: replace *_time name This patch replaces *_time name in mtk_spi_prepare_transfer(). Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 13da5a0b72ea66c74483966ff91718ae0a9c0703 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Aug 24 11:45:17 2015 +0800 spi: mediatek: add PM clk_prepare_enable fail flow This patch adds PM clk_prepare_enable fail flow. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 50f8fec2162db918540d0845481f3f6fffc5b033 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Aug 24 11:45:16 2015 +0800 spi: mediatek: replace int with u32, delete TAB and define MTK_SPI_PAUSE_INT_STATUS marco this patch replaces int with u32, deletes TAB, and defines MTK_SPI_PAUSE_INT_STATUS marco. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd69a0a69c9ee3e09da7f3771c1aa420e49464ce Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Aug 24 11:45:15 2015 +0800 spi: mediatek: add linux/io.h include file mediatek spi driver uses readl/writel, so add linux/io.h, even so it's implicitly imported by spi/spi.h Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9205b797dbe519a629267ec8c5766cd973d35063 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Aug 24 21:49:30 2015 +0100 ARM: 8421/1: smp: Collapse arch_cpu_idle_dead() into cpu_die() The only caller of cpu_die() on ARM is arch_cpu_idle_dead(), so let's simplify the code by renaming cpu_die() to arch_cpu_idle_dead(). While were here, drop the __ref annotation because __cpuinit is gone nowadays. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1ec6f701707e4e97e451ff8b662360f1262a6c59 Merge: 6be4b0d 2a03c02 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 25 10:16:48 2015 -0700 Merge tag 'v4.3-rockchip32-soc3' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc Fix for wrong error-codes in rk3288 suspend code. * tag 'v4.3-rockchip32-soc3' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: rockchip: pm: Fix PTR_ERR() argument Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4c80a00388dd7b9d9e7ebf31e62b96c7b74178b8 Merge: f4be3c6 467fb18 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 25 10:15:27 2015 -0700 Merge tag 'v4.3-rockchip32-dts3' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Fixes for non-standard and inverted regulator-suspend-properties on veyron boards. * tag 'v4.3-rockchip32-dts3' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: correct regulator power states for suspend ARM: dts: rockchip: correct regulator PM properties Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7d4d443eb4386d6dbd420fa96303dd8fbc1eefc8 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Fri Aug 21 21:17:00 2015 -0700 ASoC: rt5677: Allow arbitrary block read/write via SPI Added rt5677_spi_read() and refactored rt5677_spi_write() so that an arbitrary block in the DSP address space can be read/written via SPI. For example, this allows us to load an ELF DSP firmware with sparse sections, and stream audio samples from DSP ring buffer. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Acked-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f4d86223771533c68f1a6692d499f7ef0025f733 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Aug 23 22:49:32 2015 +0200 spi/bcm63xx-hsspi: add support for dual spi read/write Add support for dual read/writes on spi-bcm63xx-hsspi. This has been tested with a s25fl129p1 dual read capable spi flash, with a nice speed improvement: serial read: root@OpenWrt:/# time dd if=/dev/mtd4 of=/dev/null bs=8192 2032+0 records in 2032+0 records out real 0m 4.39s user 0m 0.00s sys 0m 1.55s dual read: root@OpenWrt:/# time dd if=/dev/mtd4 of=/dev/null bs=8192 2032+0 records in 2032+0 records out real 0m 3.09s user 0m 0.00s sys 0m 1.56s Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 126b16e2ad98c46aa0f53dbf62f71c09ba6b1d99 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Thu Jul 23 17:52:43 2015 +0100 Docs: dt: add generic MSI bindings Currently msi-parent is used in a couple of drivers despite being fairly underspecified. This patch adds a generic binding for MSIs (including the existing msi-parent property) enabling the description of platform devices capable of using MSIs. While MSIs are primarily distinguished by doorbell and payload, some MSI controllers (e.g. the GICv3 ITS) also use side-band information accompanying the write to identify the master which originated the MSI, to allow for sandboxing. This sideband information is non-probeable and needs to be described in the DT. Other MSI controllers may have additional configuration details which need to be described per-master. This patch adds a generic msi-parent binding document, extending the de-facto standard with a new (optional) #msi-cells which can be used to express any per-master configuration and/or sideband data. This is sufficient to describe non-hotpluggable devices. For busses where sideband data may be derived from some bus-specific master ID scheme, other properties will be required to describe the mapping. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 7f5dcaf1fdf289767a126a0a5cc3ef39b5254b06 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Sun Jun 7 15:20:11 2015 +0100 drivercore: Fix unregistration path of platform devices The unregister path of platform_device is broken. On registration, it will register all resources with either a parent already set, or type==IORESOURCE_{IO,MEM}. However, on unregister it will release everything with type==IORESOURCE_{IO,MEM}, but ignore the others. There are also cases where resources don't get registered in the first place, like with devices created by of_platform_populate()*. Fix the unregister path to be symmetrical with the register path by checking the parent pointer instead of the type field to decide which resources to unregister. This is safe because the upshot of the registration path algorithm is that registered resources have a parent pointer, and non-registered resources do not. * It can be argued that of_platform_populate() should be registering it's resources, and they argument has some merit. However, there are quite a few platforms that end up broken if we try to do that due to overlapping resources in the device tree. Until that is fixed, we need to solve the immediate problem. Cc: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Tested-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Tested-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 3a496b00b6f90c41bd21a410871dfc97d4f3c7ab Author: David Daney <david.daney@xxxxxxxxxx> Date: Wed Aug 19 13:17:47 2015 -0700 of/address: Don't loop forever in of_find_matching_node_by_address(). If the internal call to of_address_to_resource() fails, we end up looping forever in of_find_matching_node_by_address(). This can be caused by a defective device tree, or calling with an incorrect matches argument. Fix by calling of_find_matching_node() unconditionally at the end of the loop. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 068627a5978a885b33f0f49da81860ce78c3ac6f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:11:21 2015 +0200 of: Add vendor prefix for JEDEC Solid State Technology Association Add the "jedec" vendor prefix for the "JEDEC Solid State Technology Association" (formerly known as the "Joint Electron Device Engineering Council"), which is already in use in several bindings. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 43443ad692cf1d41a90cac2ed7066a10cd67a9c6 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Aug 2 19:44:43 2015 +0200 of/platform: add function to populate default bus When a default bus like the simple-bus should be used someone had to call of_platform_populate() with the default match table. This match table was not exported, so it is impossible for code build as a module to use this. Instead of exporting of_default_bus_match_table, add a new function which uses this default match table and populates the bus. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 5b87af4cca175c4f03f790f2b15be7e4dd436df9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:31:17 2015 +0200 regulator: isl9305: Export OF module alias information The I2C core always reports the MODALIAS uevent as "i2c:<modalias>" regardless of the mechanism that was used to register the device (i.e: OF or board code) and the table that is used later to match the driver with the device (i.e: I2C id table or OF match table). So drivers needs to export the I2C id table and this be built into the module or udev won't have the necessary information to autoload the needed driver module when the device is added. But this means that OF-only drivers needs to have both OF and I2C id tables that have to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. Which can lead to issues if two vendors use the same I2C device name for example. To avoid the above, the I2C core behavior may be changed in the future to not require an SPI device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table even when is unused now to prevent breaking module loading when the core changes. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b1713b135fb1ae4d52531a55f0687f985bffe271 Merge: 883985f a57e456 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 09:01:05 2015 -0700 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fix from Thomas Gleixner: "A single fix for a APIC regression introduced in 4.0 which went undetected until now. I screwed up the x2apic cleanup in a subtle way. The screwup is only visible on systems which have x2apic preenabled in the BIOS and need to disable it during boot" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/apic: Fix fallout from x2apic cleanup commit 3fba7e23f754a9a6e639b640fa2a393712ffe1b8 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 11:02:28 2015 +0100 ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore() Provide uaccess_save_and_enable() and uaccess_restore() to permit control of userspace visibility to the kernel, and hook these into the appropriate places in the kernel where we need to access userspace. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 08446b129bbde34665c423d882f857a45b8c3aed Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Aug 25 14:59:15 2015 +0100 ARM: mm: improve do_ldrd_abort macro Improve the do_ldrd_abort macro code - firstly, it inefficiently checks for the LDRD encoding by doing a multi-stage test of various bits. This can be simplified by generating a mask, bitmasking the instruction and then comparing the result. Secondly, we want to be able to test the result rather than branching to do_DataAbort, so remove the branch at the end and rename the macro to 'teq_ldrd' to reflect it's new usage. teq_ldrd macro returns 'eq' if the instruction was a LDRD. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9066b0c318589f47b754a3def4fe8ec4688dc21a Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 25 15:12:26 2015 +0800 drm/amdgpu: fix no sync_wait in copy_buffer when eviction is happening, if don't handle dependency, then the fence could be dead off. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 3c62338c26bf2677c8285b406cd769b92ee0dc10 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Thu Aug 20 18:33:59 2015 +0800 drm/amdgpu: fix last_vm_update fence is not effetive for sched fence Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit f38fdfddfaab070e3ff2333a79e45169ee33dc28 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 24 11:35:26 2015 +0800 drm/amdgpu: add priv data to sched Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 84f76ea6b03a766931e5d6d650af5ab980c6c4f4 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 24 12:47:36 2015 +0800 drm/amdgpu: add owner for sched fence Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit c14692f0a728a9d79fb03c7ce521eb07ec0e2b23 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 21 15:18:47 2015 +0200 drm/amdgpu: remove entity reference from sched fence Entity don't live as long as scheduler fences. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 6c859274f363be9dc13f8849bdc59bb64f922f26 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 16:12:50 2015 +0200 drm/amdgpu: fix and cleanup amd_sched_entity_push_job Calling schedule() is probably the worse things we can do. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 87e0a87dabdbe9e1698ef85c620c4110b04992a0 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:36:28 2015 +0200 drm/amdgpu: remove amdgpu_bo_list_clone Not used any more. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 3a185a33a2d291883bd1d0691d22901c345b12c9 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:35:34 2015 +0200 drm/amdgpu: remove the context from amdgpu_job Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 69f7dd652c08bffb267f418ded7b358e74783045 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:24:40 2015 +0200 drm/amdgpu: remove unused parameters to amd_sched_create Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 1fca766b24d07e2daed1da0f224f5f395c73e32b Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:09:54 2015 +0200 drm/amdgpu: remove sched_lock It isn't protecting anything. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit b034b572f2823122d56cd0d235158873f84c7c23 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:08:25 2015 +0200 drm/amdgpu: remove prepare_job callback Not used any more. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit d54fdb94b2fd4c989d498f69e8bbf4189fde42ef Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:03:48 2015 +0200 drm/amdgpu: cleanup a scheduler function name Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit e688b728228b951f41175e3a7c0738708d045969 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:01:01 2015 +0200 drm/amdgpu: reorder scheduler functions Keep run queue, entity and scheduler handling together. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit f49565982194d601f4f3a99892d0f3c765aec104 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 16:59:38 2015 +0200 drm/amdgpu: fix scheduler thread creation error checking Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit aef4852eed2841892796fb1e9abd7f8468384e62 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 14:47:46 2015 +0200 drm/amdgpu: fix entity wakeup race condition That actually didn't worked at all. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit f85a6dd9ebd1bcaeb2f31cca71537e62606a23c2 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 19 17:37:52 2015 +0200 drm/amdgpu: cleanup entity picking Cleanup function name, stop checking scheduler ready twice, but check if kernel thread should stop instead. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 9788ec40322ef40d64f6d4276248f40666dc4505 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 19 17:34:20 2015 +0200 drm/amdgpu: remove some more unused entity members v2 None of them are used any more. v2: fix type in error message Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit eb98d1c54d1e058f406f3f4acf15684ad26f9676 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:28:36 2015 +0200 drm/amdgpu: fix user fences when scheduler is enabled Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit f91b3a69418120974c9a416939b903ec86607c52 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 14:47:40 2015 +0800 drm/amdgpu: fix fence wait in sync_fence, instead should be in sync_rings Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit c746ba222363d2e0b0316b1c0bda21e2646b66f2 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 19 16:12:15 2015 +0200 drm/amdgpu: rework scheduler submission handling. Remove active_hw_rq and it's protecting queue_lock, they are unused. User 32bit atomic for hw_rq_count, 64bits for counting to three is a bit overkill. Cleanup the function name and remove incorrect comments. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit ce882e6dc241ab8dded0eeeb33a86482d44a5689 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 19 15:00:55 2015 +0200 drm/amdgpu: remove v_seq handling from the scheduler v2 Simply not used any more. Only keep 32bit atomic for fence sequence numbering. v2: trivial rebase Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v1) Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> (v1) Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) commit 4ce9891ee17c6e064cc334e3297f7e992d47f3a6 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Aug 19 16:41:19 2015 +0800 drm/amdgpu: improve sa_bo->fence by kernel fence Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 1aa4051b7f5474cca6009c13868c59d78d06f983 Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Wed Aug 19 16:24:19 2015 +0800 drm/amdgpu: modify amdgpu_fence_wait_any() to amdgpu_fence_wait_multiple() Rename the function and update the related code with this modified function. Add the new parameter of bool wait_all. If wait_all is true, it will return when all fences are signaled or timeout. If wait_all is false, it will return when any fence is signaled or timeout. Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Monk Liu <monk.liu@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 00133ffbf150bf145a946b3f4ee7031503e9751e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 13 17:20:21 2015 -0300 pinctrl: imx6ul: Remove .owner field platform_driver does not need to set an owner as it will be populated by the driver core. The semantic patch that makes this change is available in scripts/coccinelle/api/platform_no_drv_owner.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5e22ec019823b0204720e1ad9a5866c638332b3a Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Thu Aug 13 17:41:16 2015 +0200 gpio: extraxfs: fix returnvar.cocci warnings Remove unneeded variable used to store return value. Generated by: scripts/coccinelle/misc/returnvar.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2fe2918fa3294edc9c3d8d1622bb1a07c00463ff Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Wed Aug 12 16:22:12 2015 +0200 pinctrl: zynq: Fix typos in smc0_nand_grp and smc0_nor_grp Group names should be smc0_nand_grp and smc0_nor_grp, otherwise you'll get errors like this if you try to pinmux them via the devicetree: zynq-pinctrl 700.pinctrl: invalid group "smc0_nand_grp" for function "smc0_nand" Probably a typo while creating these tables. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 52293c67f1e7542a6dc61037d83c266e216bef27 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Aug 24 22:46:13 2015 -0400 drm/amdgpu: fix IH ring allocation for bus addresses (v2) Use pci_alloc_consistent rather than kzalloc since we need 256 byte aligned memory for the ring buffer. v2: fix copy paste typo in free function noticed by Jammy. bug: https://bugs.freedesktop.org/show_bug.cgi?id=91749 Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit bf433416e67597ba105ece55b3136557874945db Author: Lars Persson <lars.persson@xxxxxxxx> Date: Tue Aug 25 11:59:15 2015 +0200 crypto: algif_aead - fix for multiple operations on AF_ALG sockets The tsgl scatterlist must be re-initialized after each operation. Otherwise the sticky bits in the page_link will corrupt the list with pre-mature termination or false chaining. Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit df9e21e100a65618b56971ec8da4975eb60e919d Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Aug 24 11:56:02 2015 -0700 crypto: qat - enable legacy VFs We need to support legacy VFs as well as VFs running on different OSes. To do so the compatibility check need needs to be relaxed. This patch moves the logic responsible for VF to PF version and compatibility checking from adfsriov.c to adf_pf2vf_msg.c, where it belongs, and changes the logic enable legacy VFs. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0f74fbf77d457c692e108c91475bb7a46aa6d60c Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Aug 24 07:52:14 2015 -0700 MPI: Fix mpi_read_buffer Change mpi_read_buffer to return a number without leading zeros so that mpi_read_buffer and mpi_get_buffer return the same thing. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a8b9774571d46506a0774b1ced3493b1245cf893 Author: Christian Engelmayer <cengelma@xxxxxx> Date: Fri Aug 21 23:14:26 2015 +0200 rsi: Fix possible leak when loading firmware Commit 5d5cd85ff441 ("rsi: Fix failure to load firmware after memory leak fix and fix the leak") also added a check on the allocation of DMA-accessible memory that may directly return. In that case the already allocated firmware data is leaked. Make sure the data is always freed correctly. Detected by Coverity CID 1316519. Fixes: 5d5cd85ff441 ("rsi: Fix failure to load firmware after memory leak fix and fix the leak") Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4e70f2144db01f7214ed5846e47abf128fbfb5af Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:08 2015 +0200 brcmfmac: Add support for host platform NVRAM loading. Host platforms such as routers supported by OpenWRT can support NVRAM reading directly from internal NVRAM store. With this patch the nvram load routines will fall back to this method when there is no nvram file and support is available in the kernel. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit fc7c3ad5251cf76fc78b7f4701e35a0af6375335 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:07 2015 +0200 brcmfmac: bump highest event number for 4339 firmware The event mask length is determined by the highest event number that is specified in the driver. When this length is shorter than firmware expects setting event mask will fail and device becomes pretty useless. This issue was reported with bcm4339 firmware that was recently released. Reported-by: Pontus Fuchs <pontusf@xxxxxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Pontus Fuchs <pontusf@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b02bf1932a4855dc860ed20cdab94f1ea9b1c56f Author: Franky Lin <frankyl@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:06 2015 +0200 brcmfmac: block the correct flowring when backup queue overflow brcmf_flowring_block blocks the last active flowring under the same interface instead of the one provided by caller. This could lead to a dead lock of netif stop if there are more than one flowring under the interface and the traffic is high enough so brcmf_flowring_enqueue can not unblock the ring right away. Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Franky Lin <frankyl@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 39504a2d21adde4748b5ce8c057e09edf3fe17bb Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:05 2015 +0200 brcmfmac: make use of cfg80211_check_combinations() Use cfg80211_check_combinations() so we can bail out early when an interface add or change results in an invalid combination. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2bb66a8183d6396babde51e558b1ab35733f275f Author: Franky Lin <frankyl@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:04 2015 +0200 brcmfmac: add debugfs entry for msgbuf statistics Expose ring buffer read/write pointers and other useful statistics through debugfs. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Franky Lin <frankyl@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0882dda3bcbb51e63c2fd25705ec8541bf86378e Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:03 2015 +0200 brcmfmac: correct interface combination info The interface combination provided by brcmfmac did not truly reflect the combinations supported by driver and/or firmware. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Pontus Fuchs <pontusf@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 50f32e2d1044b1f1658a1e40c8831969a30ca6a1 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Aug 20 00:16:42 2015 +0200 brcmfmac: check all combinations when setting wiphy's addresses Broadcom is working on better reflection of interface combinations. With upcoming patches we may have 1st combination supporting less interfaces than others. To don't run out of addresses check all combinations to find the one with the greatest max_interfaces value. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1642d09fb9b128e8e538b2a4179962a34f38dff9 Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Wed Aug 19 17:33:12 2015 +0200 rtlwifi: rtl8192cu: Add new device ID The v2 of NetGear WNA1000M uses a different idProduct: USB ID 0846:9043 Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 654e2751c9f00491c4622893de59a21784e39ccf Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 25 14:04:44 2015 +0200 ALSA: ppc: Add missing inclusion of linux/module.h Otherwise it triggers a compile warning like: sound/ppc/keywest.c:104:1: warning: data definition has no type or storage class sound/ppc/keywest.c:104:1: error: type defaults to 'int' in declaration of 'MODULE_DEVICE_TABLE' [-Werror=implicit-int] Fixes: a2bc2af66a5b ('ALSA: ppc: keywest: Export I2C module alias information') Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 12ff7288bfed9d6d62186f0dd782b7b5a43670cd Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Sat Aug 15 18:36:37 2015 +0800 rtlwifi: rtl8192ee: fix semicolon.cocci warnings drivers/net/wireless/rtlwifi/rtl8192ee/phy.c:856:2-3: Unneeded semicolon drivers/net/wireless/rtlwifi/rtl8192ee/phy.c:492:3-4: Unneeded semicolon drivers/net/wireless/rtlwifi/rtl8192ee/phy.c:452:3-4: Unneeded semicolon Remove unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci CC: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 14250640cd52bf12831799c35502184c4ae8963b Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 07:16:39 2015 +0200 ath9k_htc: do ani shortcalibratio if we got -ETIMEDOUT current code will handle -ETIMEDOUT as success which is probalbly wrong. According to this comment I assume it is safe to handle -ETIMEDOUT as false: drivers/net/wireless/ath/ath9k/calib.c 290 /* 291 * We timed out waiting for the noisefloor to load, probably due to an 292 * in-progress rx. Simply return here and allow the load plenty of time 293 * to complete before the next calibration interval. We need to avoid 294 * trying to load -50 (which happens below) while the previous load is 295 * still in progress as this can cause rx deafness. Instead by returning 296 * here, the baseband nf cal will just be capped by our present 297 * noisefloor until the next calibration timer. 298 */ Since no other error wariants are present, this patch is checking only for (ret <= 0). Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 11c36537056759578f9baae03c4ff9dba95661cc Merge: 4a89ba0 5865f36 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Aug 25 14:54:38 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-08-23' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * new Tx power firmware API * bump max firmware API to 17 * fix bug in debug prints * static checker fix * fix unused defines * fix command list on newest firmware commit a2bc2af66a5b656577fc2d71b6c277b73537777e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:31:14 2015 +0200 ALSA: ppc: keywest: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dd9d3843755da95f63dd3a376f62b3e45c011210 Author: Jan H. Schönherr <jschoenh@xxxxxxxxx> Date: Wed Aug 12 21:35:56 2015 +0200 sched: Fix cpu_active_mask/cpu_online_mask race There is a race condition in SMP bootup code, which may result in WARNING: CPU: 0 PID: 1 at kernel/workqueue.c:4418 workqueue_cpu_up_callback() or kernel BUG at kernel/smpboot.c:135! It can be triggered with a bit of luck in Linux guests running on busy hosts. CPU0 CPUn ==== ==== _cpu_up() __cpu_up() start_secondary() set_cpu_online() cpumask_set_cpu(cpu, to_cpumask(cpu_online_bits)); cpu_notify(CPU_ONLINE) <do stuff, see below> cpumask_set_cpu(cpu, to_cpumask(cpu_active_bits)); During the various CPU_ONLINE callbacks CPUn is online but not active. Several things can go wrong at that point, depending on the scheduling of tasks on CPU0. Variant 1: cpu_notify(CPU_ONLINE) workqueue_cpu_up_callback() rebind_workers() set_cpus_allowed_ptr() This call fails because it requires an active CPU; rebind_workers() ends with a warning: WARNING: CPU: 0 PID: 1 at kernel/workqueue.c:4418 workqueue_cpu_up_callback() Variant 2: cpu_notify(CPU_ONLINE) smpboot_thread_call() smpboot_unpark_threads() .. __kthread_unpark() __kthread_bind() wake_up_state() .. select_task_rq() select_fallback_rq() The ->wake_cpu of the unparked thread is not allowed, making a call to select_fallback_rq() necessary. Then, select_fallback_rq() cannot find an allowed, active CPU and promptly resets the allowed CPUs, so that the task in question ends up on CPU0. When those unparked tasks are eventually executed, they run immediately into a BUG: kernel BUG at kernel/smpboot.c:135! Just changing the order in which the online/active bits are set (and adding some memory barriers), would solve the two issues above. However, it would change the order of operations back to the one before commit 6acbfb96976f ("sched: Fix hotplug vs. set_cpus_allowed_ptr()"), thus, reintroducing that particular problem. Going further back into history, we have at least the following commits touching this topic: - commit 2baab4e90495 ("sched: Fix select_fallback_rq() vs cpu_active/cpu_online") - commit 5fbd036b552f ("sched: Cleanup cpu_active madness") Together, these give us the following non-working solutions: - secondary CPU sets active before online, because active is assumed to be a subset of online; - secondary CPU sets online before active, because the primary CPU assumes that an online CPU is also active; - secondary CPU sets online and waits for primary CPU to set active, because it might deadlock. Commit 875ebe940d77 ("powerpc/smp: Wait until secondaries are active & online") introduces an arch-specific solution to this arch-independent problem. Now, go for a more general solution without explicit waiting and simply set active twice: once on the secondary CPU after online was set and once on the primary CPU after online was seen. set_cpus_allowed_ptr()") Signed-off-by: Jan H. Schönherr <jschoenh@xxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Wilson <msw@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 6acbfb96976f ("sched: Fix hotplug vs. set_cpus_allowed_ptr()") Link: http://lkml.kernel.org/r/1439408156-18840-1-git-send-email-jschoenh@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4ad79562577a3936b08365260f86eeb83156479f Merge: c13dcf9 e203db2 6e6cfbc cf27ec9 54e466f 4df4eab 23d3a98 57fb907 7b0ce72 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 25 11:39:50 2015 +0200 Merge branches 'arm/omap', 'arm/msm', 'arm/smmu', 'arm/tegra', 'x86/vt-d', 'x86/amd', 'ppc/pamu' and 'core' into next commit 4df4eab168c1c4058603be55a3169d4a45779cc0 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 25 10:54:28 2015 +0200 iommu/vt-d: Really use upper context table when necessary There is a bug in iommu_context_addr() which will always use the lower context table, even when the upper context table needs to be used. Fix this issue. Fixes: 03ecc32c5274 ("iommu/vt-d: support extended root and context entries") Reported-by: Xiao, Nan <nan.xiao@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5e9a3fcfa2ca10e3ff76938fe9a12515ffa41003 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 23 10:07:13 2015 +0800 ASoC: tegra: Fix unused variable 'spdif' warning Fix below build warning: CC [M] sound/soc/tegra/tegra20_spdif.o sound/soc/tegra/tegra20_spdif.c: In function 'tegra20_spdif_platform_remove': sound/soc/tegra/tegra20_spdif.c:361:24: warning: unused variable 'spdif' [-Wunused-variable] Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e0aa3a665782e29cec752ae667c51ed4ee75d11f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 20 17:39:32 2015 +0100 ARM: entry: ensure that IRQs are enabled when calling syscall_trace_exit() The audit code looks like it's been written to cope with being called with IRQs enabled. However, it's unclear whether IRQs should be enabled or disabled when calling the syscall tracing infrastructure. Right now, sometimes we call this with IRQs enabled, and other times with IRQs disabled. Opt for IRQs being enabled for consistency. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3302caddf10ad50710dbb7a94ccbdb3ad5bf1412 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 20 16:13:37 2015 +0100 ARM: entry: efficiency cleanups Make the "fast" syscall return path fast again. The addition of IRQ tracing and context tracking has made this path grossly inefficient. We can do much better if these options are enabled if we save the syscall return code on the stack - we then don't need to save a bunch of registers around every single callout to C code. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 01e09a28167c338684606b70797422da3bbb6650 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 20 14:22:48 2015 +0100 ARM: entry: get rid of asm_trace_hardirqs_on_cond There's no need for this macro, it can use a default for the condition argument. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b64d1f66517a89b9b0f6bd0bca86b05a55a5e742 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Aug 18 23:06:25 2015 +0100 ARM: uaccess: simplify user access assembly The user assembly for byte and word accesses was virtually identical. Rather than duplicating this, use a macro instead. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 552ef80389ec2567566be1ccc0dd79f08ba32cce Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Aug 24 16:52:30 2015 +0800 ASoC: SPEAr: Convert to use devm_ioremap_resource Use devm_ioremap_resource() instead of open code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5aec892a6ebe5a3e2a006d969b5fab59e6c79f63 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Aug 24 16:49:05 2015 +0800 ASoC: omap-mcbsp: Convert to use devm_ioremap_resource Use devm_ioremap_resource() instead of open code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 508a43fdd73072c959f849b4e9eb60a9b523396f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Aug 24 16:47:36 2015 +0800 ASoC: davinci: Convert to use devm_ioremap_resource Use devm_ioremap_resource() instead of open code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca30475698696af3a03f6eaee16472ae09d42269 Author: Xiao, Nan <nan.xiao@xxxxxx> Date: Mon Aug 24 06:22:42 2015 +0000 x86/vt-d: Fix documentation of DRHD According to "Intel Virtualization Technology for Directed I/O" specification, DRHD stands for "DMA Remapping Hardware Unit Definition" , not "DMA Engine Reporting Structure". Signed-off-by: Nan Xiao <nan.xiao@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 39c33704420b147fb7e193a9f406cc8420a1d610 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:31 2015 -0700 drivers/dma/iop-adma: Use dma_alloc_writecombine() kernel-style dma_alloc_writecombine()'s call and return value check is tangled in all in one call. Untangle both calls according to kernel coding style. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: daniel.vetter@xxxxxxxx Cc: dmaengine@xxxxxxxxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: tomi.valkeinen@xxxxxx Cc: toshi.kani@xxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-10-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 81bdef04d3bc76fc516ca613fa96061ff27bced9 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:30 2015 -0700 drivers/video/fbdev/vt8623fb: Use arch_phys_wc_add() and pci_iomap_wc() This driver uses the same area for MTRR as for the ioremap(). Convert the driver from using the x86-specific MTRR code to the architecture-agnostic arch_phys_wc_add(). It will avoid MTRRs if write-combining is available. In order to take advantage of that also ensure the ioremapped area is requested as write-combining. There are a few motivations for this: a) Take advantage of PAT when available. b) Help bury MTRR code away, MTRR is architecture-specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR. @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-9-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4edcd2ab125506516c7de038f6e0a6d19dcc411d Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:29 2015 -0700 drivers/video/fbdev/s3fb: Use arch_phys_wc_add() and pci_iomap_wc() This driver uses the same area for MTRR as for the ioremap(). Convert the driver from using the x86-specific MTRR code to the architecture-agnostic arch_phys_wc_add(). It will avoid MTRRs if write-combining is available. In order to take advantage of that also ensure the ioremapped area is requested as write-combining. There are a few motivations for this: a) Take advantage of PAT when available. b) Help bury MTRR code away, MTRR is architecture-specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR. @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-8-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c823a48ac47f8e0274fa7c8a3befae4bfa8412e3 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:28 2015 -0700 drivers/video/fbdev/arkfb.c: Use arch_phys_wc_add() and pci_iomap_wc() Convert the driver from using the x86-specific MTRR code to the architecture-agnostic arch_phys_wc_add(). It will avoid MTRRs if write-combining is available. In order to take advantage of that also ensure the ioremapped area is requested as write-combining. There are a few motivations for this: a) Take advantage of PAT when available. b) Help bury MTRR code away, MTRR is architecture-specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR. @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-7-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1b3d4200c1e00a3fb5e0aea428de5b07079a37e3 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:27 2015 -0700 PCI: Add pci_iomap_wc() variants PCI BARs tell us whether prefetching is safe, but they don't say anything about write combining (WC). WC changes ordering rules and allows writes to be collapsed, so it's not safe in general to use it on a prefetchable region. Add pci_iomap_wc() and pci_iomap_wc_range() so drivers can take advantage of write combining when they know it's safe. On architectures that don't fully support WC, e.g., x86 without PAT, drivers for legacy framebuffers may get some of the benefit by using arch_phys_wc_add() in addition to pci_iomap_wc(). But arch_phys_wc_add() is unreliable and should be avoided in general. On x86, it uses MTRRs, which are limited in number and size, so the results will vary based on driver loading order. The goals of adding pci_iomap_wc() are to: - Give drivers an architecture-independent way to use WC so they can stop using interfaces like mtrr_add() (on x86, pci_iomap_wc() uses PAT when available). - Move toward using _PAGE_CACHE_MODE_UC, not _PAGE_CACHE_MODE_UC_MINUS, on x86 on ioremap_nocache() (see de33c442ed2a ("x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> [ Move IORESOURCE_IO check up, space out statements for better readability. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: <roger.pau@xxxxxxxxxx> Cc: <syrjala@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Stefan Bader <stefan.bader@xxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: david.vrabel@xxxxxxxxxx Cc: jbeulich@xxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: venkatesh.pallipadi@xxxxxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-6-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f3adccbd75831f3651ca6e2cbb83f27cd68a27c9 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:26 2015 -0700 drivers/video/fbdev/gxt4500: Use pci_ioremap_wc_bar() to map framebuffer The driver doesn't use mtrr_add() or arch_phys_wc_add() but since we know the framebuffer is isolated already on an ioremap() we can take advantage of write combining for performance where possible. In this case there are a few motivations for this: a) Take advantage of PAT when available. b) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-5-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9e517ac88b2443bebc0499c0b477b155d63648a7 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:25 2015 -0700 drivers/video/fbdev/kyrofb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() Convert the driver from using the x86-specific MTRR code to the architecture-agnostic arch_phys_wc_add(). It will avoid MTRR if write-combining is available, in order to take advantage of that also ensure the ioremapped area is requested as write-combining. There are a few motivations for this: a) Take advantage of PAT when available b) Help bury MTRR code away, MTRR is architecture-specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()") The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR. @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-4-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c112709809b2ca1e8ff2841a1958503e548b81e4 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:24 2015 -0700 drivers/video/fbdev/i740fb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() Convert the driver from using the x86-specific MTRR code to the architecture-agnostic arch_phys_wc_add(). It will avoid MTRR if write-combining is available, in order to take advantage of that also ensure the ioremapped area is requested as write-combining. There are a few motivations for this: a) Take advantage of PAT when available b) Help bury MTRR code away, MTRR is architecture-specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()") The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR. @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Benoit Taine <benoit.taine@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-3-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c43996f4001de629af4a4d6713782e883677e5b9 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:23 2015 -0700 PCI: Add pci_ioremap_wc_bar() This lets drivers take advantage of PAT when available. It should help with the transition of converting video drivers over to ioremap_wc() to help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache(), see: de33c442ed2a ("x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()") Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: <syrjala@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-2-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8d58b66ed2b000f27658c88a4ed70e8042e86a58 Merge: 13fe86f4 c13dcf9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Aug 25 09:59:19 2015 +0200 Merge tag 'v4.2-rc8' into x86/mm, before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13fe86f465b72fc9328d4f5ebc33223c011852ae Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Aug 24 19:34:55 2015 -0400 x86/mm: Make kernel/check.c explicitly non-modular The Kconfig currently controlling compilation of this code is: arch/x86/Kconfig:config X86_CHECK_BIOS_CORRUPTION arch/x86/Kconfig: bool "Check for low memory corruption" ...meaning that it currently is not being built as a module by anyone. Lets remove the couple traces of modularity so that when reading the code there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440459295-21814-4-git-send-email-paul.gortmaker@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8f45fe441a9836011672436ef007654969b28ccc Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Aug 24 19:34:54 2015 -0400 x86/mm/pat: Make mm/pageattr[-test].c explicitly non-modular The file pageattr.c is obj-y and it includes pageattr-test.c based on CPA_DEBUG (a bool), meaning that no code here is currently being built as a module by anyone. Lets remove the couple traces of modularity so that when reading the code there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440459295-21814-3-git-send-email-paul.gortmaker@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e971aa2cbac02363a29e9358de3b688001191ffd Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Aug 24 19:34:53 2015 -0400 x86/platform: Make atom/pmc_atom.c explicitly non-modular The Kconfig currently controlling compilation of this code is: config PMC_ATOM def_bool y ...meaning that it currently is not being built as a module by anyone. Lets remove the couple traces of modularity so that when reading the driver there is no doubt it is builtin-only. Since module_init() translates to device_initcall() in the non-modular case, the init ordering remains unchanged with this commit. We leave some tags like MODULE_AUTHOR() for documentation purposes. Also note that MODULE_DEVICE_TABLE() is a no-op for non-modular code. We correct a comment that indicates the data was only used by that macro, as it actually is used by the code directly. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440459295-21814-2-git-send-email-paul.gortmaker@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f612a7b1a7f1b5139f228724ce340aac24720591 Merge: 9b9412d 12d560f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Aug 25 09:44:49 2015 +0200 Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull RCU cleanup from Paul E. McKenney: "Privatize smp_mb__after_unlock_lock(). This commit moves the definition of smp_mb__after_unlock_lock() to kernel/rcu/tree.h, in recognition of the fact that RCU is the only thing using this, that nothing else is likely to use it, and that it is likely to go away completely." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 33fef662d20a8a98bafa6b2430b845def30f616a Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Aug 25 01:19:45 2015 -0400 tools/liblockdep: Use the rbtree header provided by common tools headers Recent changes to rbtree.h may break compilation. There is no reason to use a liblockdep specific header to begin with, so we'll use the one shared with all other tools/. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440479985-6696-3-git-send-email-sasha.levin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 62b989de598c486df65a14dfd9bb4a9953c75568 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Aug 25 01:19:44 2015 -0400 tools/liblockdep: Correct macro for WARN As Peter Zijlstra pointed out, the varargs for WARN() are optional, so we need to correctly handle the case where they don't exist. This would cause a compilation error. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440479985-6696-2-git-send-email-sasha.levin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 92e25fd9be82a37247e587415ff9a9e773008d56 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Aug 25 01:19:43 2015 -0400 tools: Restore export.h Commit 3f735377b ("tools: Copy lib/rbtree.c to tools/lib/") has removed export.h, which was still in use by liblockdep. Restore it. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440479985-6696-1-git-send-email-sasha.levin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13d20b3b618adc43168b034792eec57063b5ec6f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:31:12 2015 +0200 backlight: tosa: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<modalias>" regardless of the mechanism that was used to register the device (i.e: OF or board code) and the table that is used later to match the driver with the device (i.e: I2C id table or OF match table). So drivers needs to export the I2C id table and this be built into the module or udev won't have the necessary information to autoload the needed driver module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 85463d8ed1ffae0eb0bd070e400f33918a6696ef Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 12:08:31 2015 +0200 backlight: lp8788_bl: Delete a check before backlight_device_unregister() The backlight_device_unregister() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 047ffbb27115b57759767145803b752518399d90 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Aug 17 15:59:17 2015 +0800 backlight: sky81452: Remove unneeded use of IS_ERR_VALUE() macro IS_ERR_VALUE() makes sense only *if* there could be valid values in negative error range. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7ddbc2423c3301280b883bbb04b998203f30312c Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Jul 21 17:44:49 2015 -0700 backlight: pm8941-wled: Move PM8941 WLED driver to backlight The Qualcomm PM8941 WLED block is used for backlight and should therefor be in the backlight framework and not in the LED framework. This moves the driver and adapts to the backlight api instead. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Rob Clark <robdclark@xxxxxxxxx> Acked-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fe009175ae3ec3724c1414440e22a1d32d806ec5 Author: Milo Kim <milo.kim@xxxxxx> Date: Mon Jul 20 15:45:38 2015 +0900 backlight: lp855x: Use private data for regulator control LP855x backlight device can be enabled by external VDD input. The 'supply' data is used for this purpose. It's kind of private data which runs internally, so there is no reason to expose to the platform data. And devm_regulator_get() is moved from _parse_dt() to _probe(). Regulator consumer(lp855x) can control regulator not only from DT but also from platform data configuration in a source file such like board-*.c. Signed-off-by: Milo Kim <milo.kim@xxxxxx> Acked-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit db56176025cee5e242dfeed5f4e304d095d29fa3 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Aug 25 17:23:36 2015 +1000 Revert "drm/atomic: Call ww_acquire_done after check phase is complete" This reverts commit 992cbf19b32900efa17850b9fa0031fd623edd4d. Until we make fbdev layer atomic we can't call this. Requested-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx? Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit f755d114cba98708932cba89d8c98c4ab89a83b0 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sun Aug 23 00:30:19 2015 +0800 ASoC: cs4349: fix platform_no_drv_owner.cocci warnings sound/soc/codecs/cs4349.c:389:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Tim Howe <tim.howe@xxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9dcc144b1f91c4fe33422518e401e9c624e2c64f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 25 08:52:55 2015 +0200 ALSA: hda - Refresh sysfs at snd_hda_codec_update_widgets() In the commit [fa4f18b4f402: ALSA: hda - Refresh widgets sysfs at probing Haswell+ HDMI codecs], snd_hdac_refresh_widget_sysfs() is explicitly called in the codec driver. But this results in refreshing twice, as snd_hdac_refresh_widget_sysfs() itself calls snd_hdac_refresh_widgets() function. Instead, we can replace the call in snd_hda_codec_update_widgets() with snd_hdac_refresh_widget_sysfs(). This also fixes the missing sysfs update for ca0132, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 06b23f7fbbf26a025fd68395c7586949db586b47 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Thu Aug 6 09:48:34 2015 +0200 can: pcan_usb: don't provide CAN FD bittimings by non-FD adapters The CAN FD data bittiming constants are provided via netlink only when there are valid CAN FD constants available in priv->data_bittiming_const. Due to the indirection of pointer assignments in the peak_usb driver the priv->data_bittiming_const never becomes NULL - not even for non-FD adapters. The data_bittiming_const points to zero'ed data which leads to this result when running 'ip -details link show can0': 35: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10 link/can promiscuity 0 can state STOPPED restart-ms 0 pcan_usb: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1 : dtseg1 0..0 dtseg2 0..0 dsjw 1..0 dbrp 0..0 dbrp-inc 0 <== BROKEN! clock 8000000 This patch changes the struct peak_usb_adapter::bittiming_const and struct peak_usb_adapter::data_bittiming_const to pointers to fix the assignemnt problems. Cc: linux-stable <stable@xxxxxxxxxxxxxxx> # >= 4.0 Reported-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Tested-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit c4a91e173ac671e81ea6fc9d0951b7527e2ae13d Merge: 4308c9b c7cd0ef Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 25 08:01:41 2015 +0200 Merge branch 'for-linus' into for-next commit c7cd0ef66aade29e37ee08821a0e195ee776c6e6 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 24 10:52:06 2015 +0200 ALSA: hda - Fix path power activation The widget power-saving code tries to turn up/down the power of each widget in the I/O paths that are modified at each jack plug/unplug. The recent report revealed that the power activation leaves some widgets unpowered after plugging. This is because snd_hda_activate_path() turns on path->active flag at the end of the function while the path power management is done before that. Then it's regarded as if nothing is active, and the driver turns off the power. The fix is simply to set the flag at the beginning of the function, before trying to power up. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=102521 Cc: <stable@xxxxxxxxxxxxxxx> [v4.1+] Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9d2b48f7304aafaefbf0794a556ab4e307929d24 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 24 10:45:27 2015 +0200 ALSA: hda - Check all inputs for is_active_nid_for_any() The is_active_nid_for_any() function in the generic parser is supposed to check all connections from/to the given widget, but the current code checks only the first input connection (index = 0). This patch corrects the code to check all inputs by passing -1 to index argument. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=102521 Cc: <stable@xxxxxxxxxxxxxxx> [v4.1+] Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5f05586c609dfc737e2e00c757a51c7dbb415e51 Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Aug 5 09:40:26 2015 -0400 ACPI: Decouple ACPI idle and ACPI processor drivers This patch introduces a new Kconfig symbol, ACPI_PROCESSOR_IDLE, which is auto selected by architectures which support the ACPI based C states for CPU Idle management. The processor_idle driver in its present form contains declarations specific to X86 and IA64. Since there are no reasonable defaults for other architectures e.g. ARM64, the driver is selected only for X86 or IA64. This helps in decoupling the ACPI processor_driver from the ACPI processor_idle driver which is useful for the upcoming alternative patchwork for controlling CPU Performance (CPPC) and CPU Idle (LPI). Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 239708a3af44064366f1af0eea02dc1e8991c11b Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Aug 5 09:40:25 2015 -0400 ACPI: Split out ACPI PSS from ACPI Processor driver The ACPI processor driver is currently tied too closely to the ACPI P-states (PSS) and other related constructs for controlling CPU performance. The newer ACPI specification (v5.1 onwards) introduces alternative methods to PSS. These new mechanisms are described within each ACPI Processor object and so they need to be scanned whenever a new Processor object is detected. This patch introduces a new Kconfig symbol to allow for finer configurability among the two options for controlling performance states. There is no change in functionality and the option is auto-selected by the architectures which support it. A future commit will introduce support for CPPC: A newer method of controlling CPU performance. The OS is not expected to support CPPC and PSS at the same time, so the Kconfig option lets us make the two mutually exclusive at compile time. Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d3c68f218f927bd4b14b586ea2dcecee54cf09ad Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Aug 5 09:40:24 2015 -0400 PCC: Initialize PCC Mailbox earlier at boot This change initializes the PCC Mailbox earlier than the ACPI processor driver. This enables drivers introduced in follow up patches (e.g. CPPC) to be probed via the ACPI processor driver interface. The CPPC probe requires the PCC channel to be initialized for it to query each CPUs performance capabilities. Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Reviewed-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3277b4ea216e5cd7d3f6095ff40f1a9e574f37b3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Aug 17 17:28:46 2015 +0300 ACPI / osl: replace custom implementation of readq / writeq The readq() and writeq() helpers are available in the asm-generic/io-64-nonatomic-hi-lo.h and asm-generic/io-64-nonatomic-lo-hi.h headers. Replace custom implementation by the generic helpers. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 02b771b64b73226052d6e731a0987db3b47281e9 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Wed Aug 12 11:12:02 2015 +0800 ACPI / EC: Fix an issue caused by the serialized _Qxx evaluations It is proven that Windows evaluates _Qxx handlers in a parallel way. This patch follows this fact, splits _Qxx evaluations from the NOTIFY queue to form a separate queue, so that _Qxx evaluations can be queued up on different CPUs rather than being queued up on a CPU0 bound queue. Event handling related callbacks are also renamed and sorted in this patch. Link: https://bugzilla.kernel.org/show_bug.cgi?id=94411 Reported-and-tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 70b33a7466baac62103e04c916b8915665b79d80 Merge: aa49338 f79af0b Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Aug 25 10:13:35 2015 +1000 Merge branch 'xfs-misc-fixes-for-4.3-3' into for-next commit f79af0b9090895520c69fbe1939184c4f8ed8426 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Aug 25 10:05:13 2015 +1000 xfs: fix non-debug build warnings There seem to be a couple of new set-but-unused build warnings that gcc 4.9.3 is now warning about. These are not regressions, just the compiler being more picky. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2ccf4a9b18868b0900072e6d5d15a04254a07345 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Tue Aug 25 10:05:13 2015 +1000 xfs: collapse allocsize and biosize mount option handling The allocsize and biosize mount options are handled identically, other than allocsize accepting suffixes. suffix_kstrtoint handles bare numbers just fine too, so these can be collapsed. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 037542345a82aaaa228ec280fe6ddff1568d169f Author: Jan Kara <jack@xxxxxxxx> Date: Tue Aug 25 10:05:13 2015 +1000 xfs: Fix file type directory corruption for btree directories Users have occasionally reported that file type for some directory entries is wrong. This mostly happened after updating libraries some libraries. After some debugging the problem was traced down to xfs_dir2_node_replace(). The function uses args->filetype as a file type to store in the replaced directory entry however it also calls xfs_da3_node_lookup_int() which will store file type of the current directory entry in args->filetype. Thus we fail to change file type of a directory entry to a proper type. Fix the problem by storing new file type in a local variable before calling xfs_da3_node_lookup_int(). cc: <stable@xxxxxxxxxxxxxxx> # 3.16 - 4.x Reported-by: Giacomo Comes <comes@xxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b6a9947efdbe0c9135d94b26b2f912f5b0b9dc45 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Aug 25 10:05:13 2015 +1000 xfs: lockdep annotations throw warnings on non-debug builds SO, now if we enable lockdep without enabling CONFIG_XFS_DEBUG, the lockdep annotations throw a warning because the assert that uses the lockdep define is not built in: fs/xfs/xfs_inode.c:367:1: warning: 'xfs_lockdep_subclass_ok' defined but not used [-Wunused-function] xfs_lockdep_subclass_ok( So now we need to create an ifdef mess to sort this all out, because we need to handle all the combinations of CONFIG_XFS_DEBUG=[y|n], CONFIG_XFS_WARNING=[y|n] and CONFIG_LOCKDEP=[y|n] appropriately. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit c184f855c483428027d6ec937e4a9d5f15b2cbad Author: Jan Kara <jack@xxxxxxxx> Date: Tue Aug 25 10:05:13 2015 +1000 xfs: Fix uninitialized return value in xfs_alloc_fix_freelist() xfs_alloc_fix_freelist() can sometimes jump to out_agbp_relse without ever setting value of 'error' variable which is then returned. This can happen e.g. when pag->pagf_init is set but AG is for metadata and we want to allocate user data. Fix the problem by initializing 'error' to 0, which is the desired return value when we decide to skip this group. CC: xfs@xxxxxxxxxxx Coverity-id: 1309714 Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e3ee276a5a62a1cd06de46aa0c808000d3fef00e Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Tue Jul 28 19:43:20 2015 -0400 drivers/clk: appropriate __init annotation for const data Init data marked const should be annotated with __initconst for correctness and not __initdata. This also fixes LTO builds that otherwise fail with section mismatch errors. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Dropped hunks that moved const char * arrays to const char * const] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 10897370345b792c00ccba6aa7ea86ae6bfa2c7a Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Aug 19 15:06:55 2015 +0200 clk: rockchip: register pll mux before pll itself The structure is xin24m -> pll -> pll-mux (xin24m,pll,xin32k). The pll does have an init callback to make sure the boot-selected frequency is using the expected pll settings and resets the same frequency using the values provided in the driver if necessary. The setting itself also involves remuxing the pll-mux temporarily to the xin24m source to let the new pll rate settle. Until now this worked flawlessly, even when it had the flaw of accessing the mux settings before the mux actually got registered. With the recent clock-core conversions this flaw became apparent in null pointer dereference in [<c03fc400>] (clk_hw_get_num_parents) from [<c0400df0>] (clk_mux_get_parent+0x14/0xc8) [<c0400ddc>] (clk_mux_get_parent) from [<c040246c>] (rockchip_rk3066_pll_set_rate+0xd8/0x320) So to fix that, simply register the pll-mux before the pll, so that it will be fully initialized when the pll clock executes its init- callback and possibly touches the pll-mux clock. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 67c9a1b5dadf05e22d7e2d32604fb2b21bf3f666 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 30 15:20:00 2015 +0200 clk: add bindings for the Ux500 clocks These Ux500 clocks have been around for years and were never properly documented. Add the proper binding documentation. Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5dc0fe199b358966021b015c71ca4049d0f42aa6 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 30 15:19:25 2015 +0200 clk/ARM: move Ux500 PRCC bases to the device tree The base addresses for the Ux500 PRCC controllers are hardcoded, let's move them to the clock node in the device tree and delete the constants. Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c660b2ebb25be5668a4ed333539f34b05841e17a Author: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Date: Tue Jul 28 21:19:41 2015 +0800 clk: remove duplicated code with __clk_set_parent_after __clk_set_parent_after() actually used the second argument then we could put this duplicate logic in there and call it with a different order of arguments in the success vs. error paths in this function. Cc: Mike Turquette <mturquette@xxxxxxxxxx> Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 836ee0f7d95c3feb742bd4b3a02fea3fe75bdef3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Aug 12 11:42:23 2015 -0700 clk: Convert __clk_get_name(hw->clk) to clk_hw_get_name(hw) Use the provider based method to get a clock's name so that we can get rid of the clk member in struct clk_hw one day. Mostly converted with the following coccinelle script. @@ struct clk_hw *E; @@ -__clk_get_name(E->clk) +clk_hw_get_name(E) Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-rockchip@xxxxxxxxxxxxxxxxxxx Cc: linux-samsung-soc@xxxxxxxxxxxxxxx Cc: linux-tegra@xxxxxxxxxxxxxxx Cc: linux-omap@xxxxxxxxxxxxxxx Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e7df6f6e21883d7e8b3ad4641c911da8314ef283 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Aug 12 13:04:56 2015 -0700 clk: Constify clk_hw argument to provider APIs We don't modify the clk_hw argument in these functions, so it's safe to mark it as const. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c1628a2c416da947f5afac615d53189250fa49cb Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Tue Aug 4 15:27:28 2015 +0800 clk: Hi6220: add stub clock driver On Hi6220, there have some clocks which can use mailbox channel to send messages to power controller to change frequency; this includes CPU, GPU and DDR clocks. For dynamic frequency scaling, firstly need write the frequency value to SRAM region, and then send message to mailbox to trigger power controller to handle this requirement. This driver will use syscon APIs to pass SRAM memory region and use common mailbox APIs for channels accessing. This init driver will support cpu frequency change firstly. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 832446e8aaaeaf9365da18f95f01a42e6da27279 Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Tue Aug 4 15:27:27 2015 +0800 dt-bindings: clk: Hi6220: Document stub clock driver Document the new compatible for stub clock driver which is used for CPU and DDR's dynamic frequency scaling. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7e2a51e0cf75028888e5c670b3a3963e1716bdff Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Tue Aug 4 15:27:26 2015 +0800 dt-bindings: arm: Hi6220: add doc for SRAM controller Document "hisilicon,hi6220-sramctrl" for SRAM controller. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b32a7cc63bee7bffbd61f88b157b78a9b2101de0 Author: Guo Zeng <guo.zeng@xxxxxxx> Date: Tue Aug 4 14:45:32 2015 +0000 clk: atlas7: fix pll missed divide NR in fraction mode PLL VCO frequency is given by Fvco = Fref * 2 * NF / NR in integer-N mode, or by Fvco = Fref * SSN / NR in Spread Spectrum (fractional-N) mode. Thus fix the missing part of NR Signed-off-by: Guo Zeng <guo.zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit cf8709eabc07c4681eb0bfd63139142c9bef8b59 Author: Guo Zeng <guo.zeng@xxxxxxx> Date: Tue Aug 4 14:45:31 2015 +0000 clk: atlas7: fix bit field and its root clk for coresight_tpiu bit4 thcpum_cpudiv4_clken r/w thcpum_cpudiv4_clk clock enable (default: 1) Root clock CPU_CLK must be enabled for this clock to be enabled bit3 coresight_tpiu_clken r/w coresight_tpiu_clk clock enable (default: 0) Root clock TPIU_CLK must be enabled for this clock to be enabled Signed-off-by: Guo Zeng <guo.zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d1ccbddd090b74b8027727cb543b9c23d7f0f23e Author: Yibo Cai <yibo.cai@xxxxxxx> Date: Tue Aug 4 14:45:29 2015 +0000 clk: atlas7: replace dto resolution magic number by macro Signed-off-by: Yibo Cai <yibo.cai@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6132e89aef51df044246b5aef822144217794ae1 Author: Yibo Cai <yibo.cai@xxxxxxx> Date: Tue Aug 4 14:45:28 2015 +0000 clk: atlas7: fix integer overflow in dto rate calculation I cannot believe that I spend quite a lot time in finding this bug. It seems a pitfall people tend to fall in. In "int64 = int32 * int32", conversion from 32-bits to 64-bits comes after the multiplication. So this statement may not work as expected. Signed-off-by: Yibo Cai <yibo.cai@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b1062298fea59dca23cdbcafaa5bed79c273d88f Author: Guo Zeng <guo.zeng@xxxxxxx> Date: Tue Aug 4 14:45:27 2015 +0000 clk: atlas7: export mux clks so that consumers can get them this patch makes mux clks can be referenced by device drivers. Signed-off-by: Guo Zeng <guo.zeng@xxxxxxx> Signed-off-by: Barry Song <Barry.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 3922107c796164560b797ae8dece697b5b5e4c24 Author: Guo Zeng <Guo.Zeng@xxxxxxx> Date: Tue Aug 4 14:45:26 2015 +0000 clk: atlas7: add lost pwm unit clks Signed-off-by: Guo Zeng <Guo.Zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 34d5003bfba44a73fe9fbcf75e1d41d130d59bd1 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 22:30:18 2015 -0500 clk: socfpga: Add a second parent option for the dbg_base_clk The debug base clock can be bypassed from the main PLL to the OSC1 clock. The bypass register is the staysoc1(0x10) register that is in the clock manager. This patch adds the option to get the correct parent for the debug base clock. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0f350f063eb62212a701a512f74e63ae4714441c Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 30 15:19:12 2015 +0200 clk: ux500: delete the non-DT U8500 clock implementation This code is unused and not coming back. Let's kill it off. Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fc4a05d4b0eb1a0110ef11201bf563cd4b53fbce Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jun 25 17:24:15 2015 -0700 clk: Remove unused provider APIs Remove these APIs now that we've converted all users to the replacement struct clk_hw based versions. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 44f22a5d671ad8b3bcef7a72059fe1c00139e199 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:32:34 2015 -0700 clk: si5351: Convert __clk_get_name() to clk_hw_get_name() This driver uses __clk_get_name() when it's dealing with struct clk_hw pointers. Use the simpler form so that we can get rid of the clk member in struct clk_hw one day. Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 203e118bd58c48905a82b4161db5441e5c5041f2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 drm/msm/dsi: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 62f477119834d912a8471e775d2aeaca0166ab29 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: versatile: Switch to assigned clock parents We're removing struct clk from the clk provider API. This code is calling the consumer APIs to change the parent to a 1 MHz fixed rate clock for each of the clocks that the driver provides. Move to using the assigned-clock-parents DT property for this instead. Because this is an ABI break, detect if the property is missing and fall back to setting the parent explicitly before the clocks are registered. Acked-by: Pawel Moll <pawel.moll@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 32ecaf89bdfd842c9669b3f38ff82907e3cd60d0 Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Thu Aug 6 16:05:13 2015 +0100 clk: versatile: Add SP810 device tree bindings document Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a53ad8ef3dccb0c5482c60a3f6b8c0cbd498efe5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: ti: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5cdb1dc50be615aa26f8952e4b6f67b483849e97 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: tegra: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1b14afa64d2ef36f228e9540664586fd7ad67a81 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: sunxi: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: "Emilio López" <emilio@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b73d616d5bd0bb94b3fe1374edad05253fe3684f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: spear: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b17dbff418f62e87fdb3d683d532c139c4f1bf31 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: sirf: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0454159fa91b91c0baa63ded5ce425a8519a9613 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: samsung: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4c34875059fa025be671108de1b0993cc14c9256 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: rockchip: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ac269395cdd80b9b088d9b5306015bd4b8bc176d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: qcom: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 17ae4b40b475e2de5a0b0b475539624b7162a931 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: stm32f4: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit eca61c9ff2588e1df373e61078e1874976315839 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: mvebu: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. This also removes a clk_get() in this driver that can just as easily use of_clk_get_parent_name() instead. Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit aef28cb6b3b22fb5a6718650340d2efcfe10dd20 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: mmp: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Chao Xie <chao.xie@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2f508a955a671e095d5c8a629de1c8c32bc420c2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: Convert basic types to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6f220c22438ab846c824a042746a54058cf22af7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: bcm: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Reviewed-by: Alex Elder <elder@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d0979335c329bad3b924b9d74fd0b86d57815c8f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: at91: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 617b8272a63c9f60bd4b1e33d56318402b0b84be Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 MIPS: alchemy: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7819189779aab580145edcc94771cb8dd10485a3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 ARM: OMAP: Convert __clk_get_rate() to provider/consumer APIs We're removing struct clk from the clk provider API, so switch to clk_get_rate() and clk_hw_get_rate() here appropriately. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b137b4507c55f2aa80aed03c56c28dd34d35c619 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 20 17:23:54 2015 -0700 clk: ti: Remove CLK_IS_BASIC check This code is never called with a basic clock type, so the check here is not doing anything useful and is blocking the removal of __clk_get_flags(). Remove the check so we can delete the __clk_get_flags() API. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 98d8a60eccee74165793379f1f8a3b1cef3131c7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jun 29 16:56:30 2015 -0700 clk: Convert __clk_get_flags() to clk_hw_get_flags() Mostly converted with the following snippet: @@ struct clk_hw *E; @@ -__clk_get_flags(E->clk) +clk_hw_get_flags(E) Acked-by: Tero Kristo <t-kristo@xxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Coquelin <mcoquelin.stm32@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 497295afb5ab070211a9963c80a89bc6fbfd6197 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jun 25 16:53:23 2015 -0700 clk: Replace __clk_get_num_parents with clk_hw_get_num_parents() Mostly converted with the following semantic patch: @@ struct clk_hw *E; @@ -__clk_get_num_parents(E->clk) +clk_hw_get_num_parents(E) Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Chao Xie <chao.xie@xxxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: "Emilio López" <emilio@xxxxxxxxxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1a9c069cb2d28bb72fefee509e0d26f92d7f7166 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jun 25 15:55:14 2015 -0700 clk: Add clk_hw_*() APIs for use by clk providers clk providers shouldn't need to use the consumer APIs (clk.h). Add provider APIs to replace the __clk_*() APIs that take a struct clk_hw as their first argument instead of a struct clk. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 13ec7297e5331f2754d7629a068c619c41f20e56 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Aug 24 17:40:45 2015 +0800 f2fs: fix to release inode correctly In following call stack, if unfortunately we lose all chances to truncate inode page in remove_inode_page, eventually we will add the nid allocated previously into free nid cache, this nid is with NID_NEW status and with NEW_ADDR in its blkaddr pointer: - f2fs_create - f2fs_add_link - __f2fs_add_link - init_inode_metadata - new_inode_page - new_node_page - set_node_addr(, NEW_ADDR) - f2fs_init_acl failed - remove_inode_page failed - handle_failed_inode - remove_inode_page failed - iput - f2fs_evict_inode - remove_inode_page failed - alloc_nid_failed cache a nid with valid blkaddr: NEW_ADDR This may not only cause resource leak of previous inode, but also may cause incorrect use of the previous blkaddr which is located in NO.nid node entry when this nid is reused by others. This patch tries to add this inode to orphan list if we fail to truncate inode, so that we can obtain a second chance to release it in orphan recovery flow. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 854d2a63de86a769db4dbed75b660f544b3c0c7a Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Fri Jul 17 22:25:59 2015 +0800 batman-adv: beautify supported routing algorithm list Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 87b40f534d2a266eec55a897e9a93f3b022c901d Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Fri Jul 17 10:03:42 2015 +0200 batman-adv: Fix conditional statements indentation commit 29b9256e6631 ("batman-adv: consider outgoing interface in OGM sending") incorrectly indented the interface check code. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 5274cd68d744b4bc59b32d87cbde70803130eb3f Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sun Jun 21 14:45:15 2015 +0200 batman-adv: Add lockdep_asserts for documented external locks Some functions already have documentation about locks they require inside their kerneldoc header. These can be directly tested during runtime using the lockdep asserts. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 2c72d655b04450056566bcbfe89c2427376b60b4 Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sun Jun 21 14:45:14 2015 +0200 batman-adv: Annotate deleting functions with external lock via lockdep Functions which use (h)list_del* are requiring correct locking when they operate on global lists. Most of the time the search in the list and the delete are done in the same function. All other cases should have it visible that they require a special lock to avoid race conditions. Lockdep asserts can be used to check these problem during runtime when the lockdep functionality is enabled. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 7c26a53ba5e7e4bf2be3cb93f2fffaefccff2e3b Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Sun Jun 28 22:16:06 2015 +0800 batman-adv: convert bat_priv->tt.req_list to hlist Since the list's tail is never accessed using a double linked list head wastes memory. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 0b8336f5fc26f263821534d7a9a3633748692207 Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sun Jun 21 19:40:09 2015 +0200 batman-adv: Fix gw_bandwidth calculation on 32 bit systems The TVLV for the gw_bandwidth stores everything as u32. But the gw_bandwidth reads the signed long which limits the maximum value to (2 ** 31 - 1) on systems with 4 byte long. Also the input value is always converted from either Mibit/s or Kibit/s to 100Kibit/s. This reduces the values even further when the user sets it via the default unit Kibit/s. It may even cause an integer overflow and end up with a value the user never intended. Instead read the values as u64, check for possible overflows, do the unit adjustments and then reduce the size to u32. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 77927b7d9dd6c9c5f59f0f49c76cda54b908090e Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sun Jun 21 14:42:49 2015 +0200 batman-adv: Return EINVAL on invalid gw_bandwidth change Invalid speed settings by the user are currently acknowledged as correct but not stored. Instead the return of the store operation of the file "gw_bandwidth" should indicate that the given value is not acceptable. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit a121048a89f8186fa2c8388d5b41528466013857 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Mon Jun 22 00:30:23 2015 +0800 batman-adv: prevent potential hlist double deletion The hlist_del_rcu() call in batadv_tt_global_size_mod() does not check if the element still is part of the list prior to deletion. The atomic list counter should prevent the worst but converting to hlist_del_init_rcu() ensures the element can't be deleted more than once. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit d0fa4f3f5b0419a016ff27eea2fa615e4c0d1713 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Mon Jun 22 00:30:22 2015 +0800 batman-adv: convert orig_node->vlan_list to hlist Since the list's tail is never accessed using a double linked list head wastes memory. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 2bdd1888f147576fb870a926a4d015305b5bbeee Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Thu Jun 18 18:53:19 2015 +0200 batman-adv: Remove batadv_ types forward declarations main.h is included in every file and is the only way to access types.h. This makes forward declarations for all types defined in types.h unnecessary. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 383b863620aa5127200bff591f7465d593290997 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Thu Jun 18 16:24:24 2015 +0800 batman-adv: rename batadv_new_tt_req_node to batadv_tt_req_node_new Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 433ff98f3f1d6baa56e23f6b50370a5ab16c0e66 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Thu Jun 18 16:11:07 2015 +0800 batman-adv: update kernel doc of batadv_tt_global_del_orig_entry() The updated kernel doc & additional comment shall prevent accidental copy & paste errors or calling the function without the required precautions. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 4f248cff9e21720bd5f057661f752fba067f3779 Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Tue Jun 9 20:50:49 2015 +0200 batman-adv: Remove multiple assignment per line The Linux CodingStyle disallows multiple assignments in a single line. (see chapter 1) Reported-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 34473822da06510d708087bb76d9ad757ac09567 Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sun May 31 10:10:20 2015 +0200 batman-adv: Fix kerneldoc over 80 column lines Kerneldoc required single line documentation in the past (before 2009). Therefore, the 80 columns limit per line check of checkpatch was disabled for kerneldoc. But kerneldoc is not excluded anymore from it and checkpatch now enabled the check again. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 6b5e971a282c0e7b18b47823103d695352b5a3c2 Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Tue May 26 18:34:26 2015 +0200 batman-adv: Replace C99 int types with kernel type (s|u)(8|16|32|64) are the preferred types in the kernel. The use of the standard C99 types u?int(8|16|32|64)_t are objected by some people and even checkpatch now warns about using them. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 883985f61246ff7457325da454886bf71e40058c Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Mon Aug 24 16:44:40 2015 -0400 nfsd: Add Jeff Layton as co-maintainer Jeff has been doing a lot of development (including much of the state-locking rewrite just as one example) plus lots of review and other miscellaneous nfsd work, so let's acknowledge the status quo. I'll continue to be the one to send regular pull requests but Jeff will should be available to cover there occasionally too. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ba51b6be38c122f7dab40965b4397aaf6188a464 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 15:17:17 2015 -0600 net: Fix RCU splat in af_key Hit the following splat testing VRF change for ipsec: [ 113.475692] =============================== [ 113.476194] [ INFO: suspicious RCU usage. ] [ 113.476667] 4.2.0-rc6-1+deb7u2+clUNRELEASED #3.2.65-1+deb7u2+clUNRELEASED Not tainted [ 113.477545] ------------------------------- [ 113.478013] /work/monster-14/dsa/kernel.git/include/linux/rcupdate.h:568 Illegal context switch in RCU read-side critical section! [ 113.479288] [ 113.479288] other info that might help us debug this: [ 113.479288] [ 113.480207] [ 113.480207] rcu_scheduler_active = 1, debug_locks = 1 [ 113.480931] 2 locks held by setkey/6829: [ 113.481371] #0: (&net->xfrm.xfrm_cfg_mutex){+.+.+.}, at: [<ffffffff814e9887>] pfkey_sendmsg+0xfb/0x213 [ 113.482509] #1: (rcu_read_lock){......}, at: [<ffffffff814e767f>] rcu_read_lock+0x0/0x6e [ 113.483509] [ 113.483509] stack backtrace: [ 113.484041] CPU: 0 PID: 6829 Comm: setkey Not tainted 4.2.0-rc6-1+deb7u2+clUNRELEASED #3.2.65-1+deb7u2+clUNRELEASED [ 113.485422] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5.1-0-g8936dbb-20141113_115728-nilsson.home.kraxel.org 04/01/2014 [ 113.486845] 0000000000000001 ffff88001d4c7a98 ffffffff81518af2 ffffffff81086962 [ 113.487732] ffff88001d538480 ffff88001d4c7ac8 ffffffff8107ae75 ffffffff8180a154 [ 113.488628] 0000000000000b30 0000000000000000 00000000000000d0 ffff88001d4c7ad8 [ 113.489525] Call Trace: [ 113.489813] [<ffffffff81518af2>] dump_stack+0x4c/0x65 [ 113.490389] [<ffffffff81086962>] ? console_unlock+0x3d6/0x405 [ 113.491039] [<ffffffff8107ae75>] lockdep_rcu_suspicious+0xfa/0x103 [ 113.491735] [<ffffffff81064032>] rcu_preempt_sleep_check+0x45/0x47 [ 113.492442] [<ffffffff8106404d>] ___might_sleep+0x19/0x1c8 [ 113.493077] [<ffffffff81064268>] __might_sleep+0x6c/0x82 [ 113.493681] [<ffffffff81133190>] cache_alloc_debugcheck_before.isra.50+0x1d/0x24 [ 113.494508] [<ffffffff81134876>] kmem_cache_alloc+0x31/0x18f [ 113.495149] [<ffffffff814012b5>] skb_clone+0x64/0x80 [ 113.495712] [<ffffffff814e6f71>] pfkey_broadcast_one+0x3d/0xff [ 113.496380] [<ffffffff814e7b84>] pfkey_broadcast+0xb5/0x11e [ 113.497024] [<ffffffff814e82d1>] pfkey_register+0x191/0x1b1 [ 113.497653] [<ffffffff814e9770>] pfkey_process+0x162/0x17e [ 113.498274] [<ffffffff814e9895>] pfkey_sendmsg+0x109/0x213 In pfkey_sendmsg the net mutex is taken and then pfkey_broadcast takes the RCU lock. Since pfkey_broadcast takes the RCU lock the allocation argument is pointless since GFP_ATOMIC must be used between the rcu_read_{,un}lock. The one call outside of rcu can be done with GFP_KERNEL. Fixes: 7f6b9dbd5afbd ("af_key: locking change") Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 82bb70c599d81e6b2535f887b02e1719cc4856ac Merge: 2e5e8fd bd6906e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Aug 24 23:10:02 2015 +0200 Merge branch 'turbostat' of https://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux into pm-tools Pull turbostat changes for v4.3 from Len Brown. * 'turbostat' of https://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: tools/power turbostat: fix typo on DRAM column in Joules-mode tools/power turbostat: fix parameter passing for forked command tools/power turbostat: dump CONFIG_TDP tools/power turbostat: cpu0 is no longer hard-coded, so update output tools/power turbostat: update turbostat(8) commit c75b89ebff52f758e2559664b2ae3ceed410da30 Merge: c13dcf9 493f133 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Aug 24 23:09:17 2015 +0200 Merge branch 'cpuidle' of https://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux into pm-cpuidle Pull intel_idle changes for v4.3 from Len Brown. * 'cpuidle' of https://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: intel_idle: Skylake Client Support intel_idle: allow idle states to be freeze-mode specific commit 56fff0a01fa056502a28d67cb5a2714d64780415 Merge: 4a89ba0 786eec2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 24 14:06:37 2015 -0700 Merge branch 'fjes' Taku Izumi says: ==================== FUJITSU Extended Socket network device driver This patchsets adds FUJITSU Extended Socket network device driver. Extended Socket network device is a shared memory based high-speed network interface between Extended Partitions of PRIMEQUEST 2000 E2 series. You can get some information about Extended Partition and Extended Socket by referring the following manual. http://globalsp.ts.fujitsu.com/dmsp/Publications/public/CA92344-0537.pdf 3.2.1 Extended Partitioning 3.2.2 Extended Socke v2.2 -> v3: - Fix up according to David's comment (No functional change) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 786eec27cbb1713caf3b33538a877a21e779d3bc Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:38 2015 +0900 fjes: ethtool support This patch adds implementation for ethtool support. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb79eaaec4c1046e4b3d55c27aee48774c5ff936 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:37 2015 +0900 fjes: handle receive cancellation request interrupt This patch adds implementation of handling IRQ of other receiver's receive cancellation request. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5a9152d993a4f08d6e08ac0dde3a09993dc9c45 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:36 2015 +0900 fjes: epstop_task This patch adds epstop_task. This task is used to process other receiver's cancellation request. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 785f28e061a870eba937cb2a860cbcf631f5ebb0 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:35 2015 +0900 fjes: update_zone_task This patch adds update_zone_task. Zoning information can be changed by user. This task is used to monitor if zoning information is changed or not. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fc4cadb98c6a0f1eecde678271fcc957258af3e Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:34 2015 +0900 fjes: unshare_watch_task This patch adds unshare_watch_task. Shared buffer's status can be changed into unshared. This task is used to monitor shared buffer's status. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff5b42103227c01c4082f27b06a43758efbf5ab8 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:33 2015 +0900 fjes: force_close_task This patch adds force_close_task. This task is used to close network device forcibly. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8edb62a8131ca5b5ecbb29e45d812d9583585afb Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:32 2015 +0900 fjes: interrupt_watch_task This patch adds interrupt_watch_task. This task is used to prevent delay of interrupts. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e3fedda31798cff2cb5358e15263b8799c1e72c Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:31 2015 +0900 fjes: net_device_ops.ndo_vlan_rx_add/kill_vid This patch adds net_device_ops.ndo_vlan_rx_add_vid and net_device_ops.ndo_vlan_rx_kill_vid callback. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4393e767aee706944dbdf3aa91810a0c981b6710 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:30 2015 +0900 fjes: net_device_ops.ndo_tx_timeout This patch adds net_device_ops.ndo_tx_timeout callback. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9e23a67d52f956d75e6327a7fccbb53fbdc540b Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:29 2015 +0900 fjes: net_device_ops.ndo_change_mtu This patch adds net_device_ops.ndo_change_mtu. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 879bc9a3ea3b9015833b53f6ec114bb602a663a8 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:28 2015 +0900 fjes: net_device_ops.ndo_get_stats64 This patch adds net_device_ops.ndo_get_stats64 callback. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 265859309a761b4eec36620b324c9eb27a3cfee1 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:27 2015 +0900 fjes: NAPI polling function This patch adds NAPI polling function and receive related work. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac63b947085d8297bed10063cdf1ed6374d04b73 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:26 2015 +0900 fjes: tx_stall_task This patch adds tx_stall_task. When receiver's buffer is full, sender stops its tx queue. This task is used to monitor receiver's status and when receiver's buffer is avairable, it resumes tx queue. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b772b9dc63df0ca8a750ceac9ab356376022f0b6 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:25 2015 +0900 fjes: raise_intr_rxdata_task This patch add raise_intr_rxdata_task. Extended Socket Network Device is shared memory based, so someone's transmission denotes other's reception. In order to notify receivers, sender has to raise interruption of receivers. raise_intr_rxdata_task does this work. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9acf51cbf73de8952e3df75200d7a7755c16d0f6 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:24 2015 +0900 fjes: net_device_ops.ndo_start_xmit This patch adds net_device_ops.ndo_start_xmit callback, which is called when sending packets. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5d486dcaa45dd365970c09395ae24df5a0e3f77 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:23 2015 +0900 fjes: net_device_ops.ndo_open and .ndo_stop This patch adds net_device_ops.ndo_open and .ndo_stop callback. These function is called when network device activation and deactivation. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7950e6c5da55715debef9fa06b5ac87fb3eb4355 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:22 2015 +0900 fjes: buffer address regist/unregistration routine This patch adds buffer address regist/unregistration routine. This function is mainly invoked when network device's activation (open) and deactivation (close) in order to retist/unregist shared buffer address. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bb025d4f756049d297f2bed605241d4d43a15fe Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:21 2015 +0900 fjes: ES information acquisition routine This patch adds ES information acquisition routine. ES information can be retrieved issuing information request command. ES information includes which receiver is same zone. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2fcbca687702163ae3a37ec4eac5905d6f119296 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:20 2015 +0900 fjes: platform_driver's .probe and .remove routine This patch implements platform_driver's .probe and .remove routine, and also adds board specific private data structure. This driver registers net_device at platform_driver's .probe routine and unregisters net_device at its .remove routine. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a18aaec21ec8f4d2a4e09ad590437777a1ebf691 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:19 2015 +0900 fjes: Hardware cleanup routine This patch adds hardware cleanup routine to be invoked at driver's .remove routine. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8cdc3f6c5d22dd059fe8127be7b5cae113e79afb Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:18 2015 +0900 fjes: Hardware initialization routine This patch adds hardware initialization routine to be invoked at driver's .probe routine. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 658d439b22924796d00f03282135a356f47cc64e Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:17 2015 +0900 fjes: Introduce FUJITSU Extended Socket Network Device driver This patch adds the basic code of FUJITSU Extended Socket Network Device driver. When "PNP0C02" is found in ACPI DSDT, it evaluates "_STR" to check if "PNP0C02" is for Extended Socket device driver and retrieves ACPI resource information. Then creates platform_device. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9d1bf02ac3d41367896b38793db6f8f30bb9a295 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:34:00 2015 +0300 perf tools: Update Intel PT documentation Update Intel PT documentation to describe new features. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-26-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7eacca3ebb03a4ee7bb41284aafeb19a54242621 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:59 2015 +0300 perf tools: Add Intel PT support for decoding TRACESTOP packets A TRACESTOP packet is produced when an Intel PT trace enters a defined region of the address space at which point the tracing stops. This patch just adds decoder support. Support for specifying TRACESTOP regions is left until later. For details refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-25-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0de802abd14abdf8cbbba28b421a1a00fa0939d5 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:58 2015 +0300 perf tools: Add Intel PT support for using CYC packets CYC packets are a new Intel PT feature. CYC packets provide even finer grain timestamp information than MTC and TSC packets. A CYC packet contains the number of CPU cycles since the last CYC packet. Unlike MTC and TSC packets, CYC packets are only sent when another packet is also sent. Support for this feature is indicated by: /sys/bus/event_source/devices/intel_pt/caps/psb_cyc which contains "1" if the feature is supported and "0" otherwise. CYC packets can be requested using a PMU config term e.g. perf record -e intel_pt/cyc/u sleep 1 The frequency of CYC packets can also be specified. e.g. perf record -e intel_pt/cyc,cyc_thresh=2/u sleep 1 CYC packets are not requested by default. Valid cyc_thresh values are given by: /sys/bus/event_source/devices/intel_pt/caps/cycle_thresholds which contains a hexadecimal value, the bits of which represent valid values e.g. bit 2 set means value 2 is valid. The value represents the minimum number of CPU cycles that must have passed before a CYC packet can be sent. The number of CPU cycles is: 2 ^ (value - 1) e.g. value 4 means 8 CPU cycles must pass before a CYC packet can be sent. Note a CYC packet is still only sent when another packet is sent, not at, e.g. every 8 CPU cycles. If an invalid value is entered, the error message will give a list of valid values e.g. $ perf record -e intel_pt/cyc,cyc_thresh=15/u uname Invalid cyc_thresh for intel_pt. Valid values are: 0-12 tools/perf/Documentation/intel-pt.txt is updated in a later patch as there are a number of new features being added. For more information refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-24-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cc33618619cefc6d730cca3bb8e15311016a4da7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:57 2015 +0300 perf tools: Add Intel PT support for decoding CYC packets CYC packets provide even finer grain timestamp information than MTC and TSC packets. A CYC packet contains the number of CPU cycles since the last CYC packet. This patch just adds decoder support. The CPU frequency can be related to TSC using the Maximum Non-Turbo Ratio in combination with the CBR (core-to-bus ratio) packet. However more accuracy is achieved by simply interpolating the number of cycles between other timing packets like MTC or TSC. This patch takes the latter approach. Support for a default value and validation of values is provided by a later patch. Also documentation is updated in a separate patch. For details refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-23-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b45fc0bfaf4a0b60ce2deda222f8ef2a23b89a5f Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:56 2015 +0300 perf tools: Add Intel PT support for using MTC packets MTC packets are a new Intel PT feature. MTC packets provide finer grain timestamp information than TSC packets. Support for this feature is indicated by: /sys/bus/event_source/devices/intel_pt/caps/mtc which contains "1" if the feature is supported and "0" otherwise. MTC packets can be requested using a PMU config term e.g. perf record -e intel_pt/mtc/u sleep 1 The frequency of MTC packets can also be specified. e.g. perf record -e intel_pt/mtc,mtc_period=2/u sleep 1 The default value is 3 or the nearest lower value that is supported. 0 is always supported. Valid values are given by: /sys/bus/event_source/devices/intel_pt/caps/mtc_periods which contains a hexadecimal value, the bits of which represent valid values e.g. bit 2 set means value 2 is valid. The value is converted to the MTC frequency as: CTC-frequency / (2 ^ value) e.g. value 3 means one eighth of CTC-frequency Where CTC is the hardware crystal clock, the frequency of which can be related to TSC via values provided in cpuid leaf 0x15. If an invalid value is entered, the error message will give a list of valid values e.g. $ perf record -e intel_pt/mtc_period=15/u uname Invalid mtc_period for intel_pt. Valid values are: 0,3,6,9 tools/perf/Documentation/intel-pt.txt is updated in a later patch as there are a number of new features being added. For more information refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-22-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 79b58424b821c651a4b4df9018a14684e3670f42 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:55 2015 +0300 perf tools: Add Intel PT support for decoding MTC packets MTC packets provide finer grain timestamp information than TSC packets. MTC packets record time using the hardware crystal clock (CTC) which is related to TSC packets using a TMA packet. This patch just adds decoder support. Support for a default value and validation of values is provided by a later patch. Also documentation is updated in a separate patch. For details refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-21-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 11fa7cb86b56d3610043ba2ac6cbd81feab4b7c4 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:54 2015 +0300 perf tools: Pass Intel PT information for decoding MTC and CYC Record additional information in the AUXTRACE_INFO event in preparation for decoding MTC and CYC packets. Pass the information to the decoder. The AUXTRACE_INFO record can be extended by using the size to indicate the presence of new members. The additional information includes PMU config bit positions and the TSC to CTC (hardware crystal clock) ratio needed to decode MTC packets. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-20-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3d49807870f08d6f3406b77efd94bb3788372162 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:53 2015 +0300 perf tools: Add new Intel PT packet definitions New features have been added to Intel PT which include a number of new packet definitions. This patch adds packet definitions for new packets: TMA, MTC, CYC, VMCS, TRACESTOP and MNT. Also another bit in PIP is defined. This patch only adds support for the definitions. Later patches add support for decoding TMA, MTC, CYC and TRACESTOP which is where those packets are explained. VMCS and the newly defined bit in PIP are used with virtualization which is not supported yet. MNT is a maintenance packet which the decoder should ignore. For details, refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-19-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bc9b6bf07c8b3f4e85509f9b3a552c86e567b4ae Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:52 2015 +0300 perf tools: Add Intel PT support for PSB periods The PSB packet is a synchronization packet that provides a starting point for decoding or recovery from errors. This patch adds support for a new Intel PT feature that allows the frequency of PSB packets to be specified. Support for this feature is indicated by /sys/bus/event_source/devices/intel_pt/caps/psb_cyc which contains "1" if the feature is supported and "0" otherwise. The PSB period can be specified as a PMU config term e.g. perf record -e intel_pt/psb_period=2/u sleep 1 The default value is 3 or the nearest lower value that is supported. 0 is always supported. Valid values are given by: /sys/bus/event_source/devices/intel_pt/caps/psb_periods which contains a hexadecimal value, the bits of which represent valid values e.g. bit 2 set means value 2 is valid. The value is converted to the approximate number of trace bytes between PSB packets as: 2 ^ (value + 11) e.g. value 3 means 16KiB bytes between PSBs If an invalid value is entered, the error message will give a list of valid values e.g. $ perf record -e intel_pt/psb_period=15/u uname Invalid psb_period for intel_pt. Valid values are: 0-5 tools/perf/Documentation/intel-pt.txt is updated in a later patch as there are a number of new features being added. For more information about PSB periods refer to the Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace from June 2015 or later. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-18-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2a21d03686881331b0af0471588674e7e896eeb2 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:48 2015 +0300 perf tools: Fix Intel PT 'instructions' sample period The period on synthesized 'instructions' samples was being set to a fixed value, whereas the correct value is the number of instructions since the last sample, which is a value that the decoder can provide. So do it that way. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-14-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f8bcbe62acd0e1ce9004b83e98a4af87ae385dcf Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Aug 8 10:44:10 2015 +0200 lib: scatterlist: add sg splitting function Sometimes a scatter-gather has to be split into several chunks, or sub scatter lists. This happens for example if a scatter list will be handled by multiple DMA channels, each one filling a part of it. A concrete example comes with the media V4L2 API, where the scatter list is allocated from userspace to hold an image, regardless of the knowledge of how many DMAs will fill it : - in a simple RGB565 case, one DMA will pump data from the camera ISP to memory - in the trickier YUV422 case, 3 DMAs will pump data from the camera ISP pipes, one for pipe Y, one for pipe U and one for pipe V For these cases, it is necessary to split the original scatter list into multiple scatter lists, which is the purpose of this patch. The guarantees that are required for this patch are : - the intersection of spans of any couple of resulting scatter lists is empty. - the union of spans of all resulting scatter lists is a subrange of the span of the original scatter list. - streaming DMA API operations (mapping, unmapping) should not happen both on both the resulting and the original scatter list. It's either the first or the later ones. - the caller is reponsible to call kfree() on the resulting scatterlists. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 91f15fb30c77d4a0d0d9b97e5cec647650853145 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Mon Aug 24 15:27:11 2015 -0500 PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI On multi-function JMicron SATA/PATA/AHCI devices, the PATA controller at function 1 doesn't work if it is powered on before the SATA controller at function 0. The result is that PATA doesn't work after resume, and we print messages like this: pata_jmicron 0000:02:00.1: Refused to change power state, currently in D3 irq 17: nobody cared (try booting with the "irqpoll" option) Async resume was introduced in v3.15 by 76569faa62c4 ("PM / sleep: Asynchronous threads for resume_noirq"). Prior to that, we powered on the functions in order, so this problem shouldn't happen. e6b7e41cdd8c ("ata: Disabling the async PM for JMicron chip 363/361") solved the problem for JMicron 361 and 363 devices. With async suspend disabled, we always power on function 0 before function 1. Barto then reported the same problem with a JMicron 368 (see comment #57 in the bugzilla). Rather than extending the blacklist piecemeal, disable async suspend for all JMicron multi-function SATA/PATA/AHCI devices. This quirk could stay in the ahci and pata_jmicron drivers, but it's likely the problem will occur even if pata_jmicron isn't loaded until after the suspend/resume. Making it a PCI quirk ensures that we'll preserve the power-on order even if the drivers aren't loaded. [bhelgaas: changelog, limit to multi-function, limit to IDE/ATA] Link: https://bugzilla.kernel.org/show_bug.cgi?id=81551 Reported-and-tested-by: Barto <mister.freeman@xxxxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.15+ commit 5c9ce1e644c1919ac4bff4394a4c372f47a89b4e Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 24 17:16:22 2015 -0300 perf ordered_events: Clear the progress bar at the end of a flush We were depending on the next screen operation after a flush() being one that would redraw the whole screen so that the progress bar would be overwritten, when that didn't happen a screen artifact of, say, a error dialog window would be overlaid on top of the progress bar, fix it by calling ui_browser__finish(), that now has a TUI implementation. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-el0fyw6duemnx62lydjzhs8c@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e324c4dc4a5991d5b1171f434884a4026345e4b4 Author: Shenwei Wang <shenwei.wang@xxxxxxxxxxxxx> Date: Mon Aug 24 14:04:15 2015 -0500 irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources IMX7D contains a new version of GPC IP block (GPCv2). It has two major functions: power management and wakeup source management. When the system is in WFI (wait for interrupt) mode, the GPC block will be the first block on the platform to be activated and signaled. In normal wait mode during cpu idle, the system can be woken up by any enabled interrupts. In standby or suspend mode, the system can only be wokem up by the pre-defined wakeup sources. Based-on-patch-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shenwei Wang <shenwei.wang@xxxxxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: <shawn.guo@xxxxxxxxxx> Cc: <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440443055-7291-1-git-send-email-shenwei.wang@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4a89ba04ecc6377696e4e26c1abc1cb5764decb9 Author: Loganaden Velvindron <logan@xxxxxxxxxxxx> Date: Thu Aug 20 19:22:18 2015 -0700 3c59x: Add BQL support for 3c59x ethernet driver. This BQL patch is based on work done by Tino Reichardt. Tested on 0000:05:00.0: 3Com PCI 3c905C Tornado at ffffc90000e6e000 by running Flent several times. Signed-off-by: Loganaden Velvindron <logan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e259ad4a25e37eb298bb5772b9a51e70bed7782 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 24 16:18:26 2015 -0300 perf ui tui progress: Implement the ui_progress_ops->finish() method So that we can erase the progress bar after we're done with it, avoiding things like: ------------------------------------------------------------------- â??â??Error:â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? â??Can't annotate unmapped_area_topdown: â?? â?? â?? â??No vmlinux file with build id a826726b5ddacfab1f0bade868f1a79â?? â??was found in the path. â?? â?? â?? â??Note that annotation using /proc/kcore requires CAP_SYS_RAWIOâ?? â??Processinâ?? â??â??â??â?? â?? â??Please use: â?? â?? â??â??â??â??â??â??â??â??â??â??â?? â??â??â??â?? â?? perf buildid-cache -vu vmlinux â?? â?? â?? â??or: â?? â?? â?? â?? --vmlinux vmlinux â?? â?? â?? â?? â?? â??Press any key... â?? â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? Can't annotate unmapped_area_topdown: ------------------------------------------------------------------- I.e. that finished progress bar behind the error window. It is not a problem when we end up redrawing the whole screen, but its ugly when we present such error windows, provide a TUI method so that code like the above may avoid this situation, as will be done with the annotation code in the next cset. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-qvktnojzwwe37pweging058t@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2fc32c92593dd7900c0635398800214733b8b397 Merge: f0d9ac7 d3f4caa 8d1ceb5 68ebb7c Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Aug 24 14:15:05 2015 -0500 Merge branches 'pci/host-dra7xx', 'pci/host-imx6' and 'pci/host-spear' into next * pci/host-dra7xx: PCI: dra7xx: Remove unneeded use of IS_ERR_VALUE() * pci/host-imx6: PCI: imx6: Simplify a trivial if-return sequence * pci/host-spear: PCI: spear: Use BUG_ON() instead of condition followed by BUG() commit 534fcb3bdaab801636d2146079462f7fdf52be0a Author: Michele Curti <michele.curti@xxxxxxxxx> Date: Mon Aug 24 10:49:29 2015 -0700 Input: elan_i2c - enable ELAN0100 acpi panels Enable ELAN0100 touchpad driver, found on a Asus X205TA laptop, to gai 2,3 fingers tap and 2 fingers scroll. Signed-off-by: Michele Curti <michele.curti@xxxxxxxxx> Reviewed-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4ea14a53d8f881034fa9e186653821c4e3d9a8fb Author: Peng Fan <van.freenix@xxxxxxxxx> Date: Mon Aug 24 10:42:25 2015 -0700 Input: gpio-keys - report error when disabling unsupported key When trying to disable a key that is not supported by the device we should report error, not do nothing and report success: root@yocto:/sys/devices/soc0/gpio-keys# cat keys 114-116 root@yocto:/sys/devices/soc0/gpio-keys# echo 77 > keys root@yocto:/sys/devices/soc0/gpio-keys# We want 'echo 77 > keys' to report an error, but silence to give us an illusion that all is 'ok'. Signed-off-by: Peng Fan <van.freenix@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ff89de6ba1d41ad4dea2c59531c5b4038ae43e8c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Aug 24 10:51:04 2015 -0700 Input: sur40 - fix error return code Propagate error code on failure, or upper layers will be confused by returned 0 (success) code. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0fe0965e63c80dbc4bb005253ecff3494cbefc04 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Fri Aug 21 15:19:06 2015 +0600 Documentation/x86: Rename IRQSTACKSIZE to IRQ_STACK_SIZE The IRQSTACKSIZE was renamed to the IRQ_STACK_SIZE in the (26f80bd6a9 x86-64: Convert irqstacks to per-cpu) commit, but it still named IRQSTACKSIZE in the documentation. This patch fixes this. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 61a88a76b43ce35254415821047aeefde3f656a9 Author: Nan Xiao <xiaonan830818@xxxxxxxxx> Date: Thu Aug 20 18:17:10 2015 +0800 Documentation/Intel-IOMMU.txt: Modify definition of DRHD Hi all, According to "Intel Virtualization Technology for Directed I/O" specification, DRHD stands for "DMA Remapping Hardware Unit Definition" , not "DMA Engine Reporting Structure". Signed-off-by: Nan Xiao <nan@xxxxxxxxxxxxxxx> commit b17f29646dfabe147a7a4d54cc628e8046be3761 Merge: 54cf7be 92b78af Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 24 10:34:40 2015 -0700 Merge branch 'ila-precompute' Tom Herbert says: ==================== ila: Precompute checksums This patch set: - Adds argument ot LWT build_state that holds a pointer to the fib configuration being applied to the new route - Adds support in ILA to precompute checksum difference for performance optimization v2: - Move return argument in build_state to end of arguments v3: - Update the signature for ip6_tun_build_state() ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92b78aff855a4815afe5311e3473ec829d3f2a9e Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 24 09:45:42 2015 -0700 ila: Precompute checksum difference for translations In the ILA build state for LWT compute the checksum difference to apply to transport checksums that include the IPv6 pseudo header. The difference is between the route destination (from fib6_config) and the locator to write. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 127eb7cd3c210afead788991a30950a9e36759ea Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 24 09:45:41 2015 -0700 lwt: Add cfg argument to build_state Add cfg and family arguments to lwt build state functions. cfg is a void pointer and will either be a pointer to a fib_config or fib6_config structure. The family parameter indicates which one (either AF_INET or AF_INET6). LWT encpasulation implementation may use the fib configuration to build the LWT state. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4144fe5d47c91c92d36cdbd5f31ed8d6e3a57ab Author: Mario Carrillo <mario.alfredo.c.arevalo@xxxxxxxxx> Date: Mon Aug 24 09:33:09 2015 -0500 docs: update HOWTO for 3.x -> 4.x versioning The HOWTO document needed updating for the new kernel versioning. Signed-off-by: Mario Carrillo <mario.alfredo.c.arevalo@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit b01548919c33767bc457390fa3c41aedc273bfff Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Aug 24 17:39:42 2015 +0800 f2fs: handle f2fs_truncate error correctly This patch fixes to return error number of f2fs_truncate, so that we can handle the error correctly in callers. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4ec17d688d74b6b7cb10043c57ff4818cde2b0ca Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Aug 24 17:36:25 2015 +0800 f2fs: avoid unneeded initializing when converting inline dentry When converting inline dentry, we will zero out target dentry page before duplicating data of inline dentry into target page, it become overhead since inline dentry size is not small. So this patch tries to remove unneeded initializing in the space of target dentry page. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6a6788576dac56135bf98ad974a038b0afb1a499 Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Date: Mon Aug 24 10:41:32 2015 +0800 f2fs: atomically set inode->i_flags According to commit 5f16f3225b06 ("ext4: atomically set inode->i_flags in ext4_set_inode_flags()"). Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f7409d0fae7a02ea6c8195f75ad73866d5dea617 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Aug 21 23:37:18 2015 -0700 f2fs: fix wrong pointer access during try_to_free_nids If we release the lock in list_for_each_entry_safe, we can lose the tmp pointer by alloc_nid. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 80c545055dc7c1f7f487176fe0aac17896a4b7af Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Aug 20 08:51:56 2015 -0700 f2fs: use __GFP_NOFAIL to avoid infinite loop __GFP_NOFAIL can avoid retrying the whole path of kmem_cache_alloc and bio_alloc. And, it also fixes the use cases of GFP_ATOMIC correctly. Suggested-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c0b4dffbc529244d3e4e3bd392f2bffa2d8531a7 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 24 13:33:14 2015 -0300 perf annotate: Reset the dso find_symbol cache when removing symbols The 'annotate' tool does some filtering in the entries in a DSO but forgot to reset the cache done in dso__find_symbol(), cauxing a SEGV: [root@zoo ~]# perf annotate netlink_poll perf: Segmentation fault -------- backtrace -------- perf[0x526ceb] /lib64/libc.so.6(+0x34960)[0x7faedfbe0960] perf(rb_erase+0x223)[0x499d63] perf[0x4213e9] perf[0x4bc123] perf[0x4bc621] perf[0x4bf26b] perf[0x4bc855] perf(perf_session__process_events+0x340)[0x4bddc0] perf(cmd_annotate+0x6bb)[0x421b5b] perf[0x479063] perf(main+0x60a)[0x42098a] /lib64/libc.so.6(__libc_start_main+0xf0)[0x7faedfbcbfe0] perf[0x420aa9] [0x0] [root@zoo ~]# Fix it by reseting the find cache when removing symbols. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Fixes: b685ac22b436 ("perf symbols: Add front end cache for DSO symbol lookup") Link: http://lkml.kernel.org/n/tip-b2y9x46y0t8yem1ive41zqyp@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cebb053bd144d88a4c24b14dd8ac775d8e5972d5 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 1 15:50:44 2014 +0200 of: Add vendor prefix for Sharp Corporation Use "sharp" as the vendor prefix for Sharp Corporation in device tree compatible strings. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> [robh: fix name to Sharp Corporation] Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit d179e22762fd38414c4108acedd5feca4cf7e0d8 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 24 14:18:46 2015 +0900 kbuild: fixdep: drop meaningless hash table initialization The clear_config() is called just once at the beginning of this program, but the global variable hashtab[] is already zero-filled at the start-up. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit d721109611fb94aff53c2397859046e5f92f55ae Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 24 14:18:45 2015 +0900 kbuild: fixdep: optimize code slightly If the target string matches "CONFIG_", move the pointer p forward. This saves several 7-chars adjustments. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 5a688c455066c21c133bc8ffa7b11f8c66b7fe0b Author: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Date: Thu Aug 20 11:30:32 2015 +0100 mfd: jz4740-adc: Init mask cache in generic IRQ chip The mask cache must be initialised in the generic IRQ chip, otherwise enabling one channel will actually enable all channels when the empty mask cache is written. Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a78ea195f77a8ed2c5f3108a8cdb9a26ebd474d8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:22 2015 +0200 mfd: cros_ec: spi: Add OF match table The Documentation/devicetree/bindings/mfd/cros-ec.txt DT binding doc lists "google,cros-ec-spi" as a compatible string but the corresponding driver does not have an OF match table. Add the table to the driver so the SPI core can do an OF style match. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1e955bece28f0f464c2db03c7e12951cea65fab6 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:25 2015 +0200 mfd: stmpe: Add OF match table The Documentation/devicetree/bindings/mfd/stmpe.txt DT binding doc lists "st,stmpe[610|801|811|1601|2401|2403]" as valid compatible strings but the corresponding driver does not have an OF match table. Add the table to the driver so the SPI core can do an OF style match. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit aa60a8391337aa0f14ed890b237f5b8e6cadfbbf Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 24 10:47:21 2015 +0200 mfd: max77686: Split out regulator part from the DT binding The Maxim MAX77686 PMIC is a multi-function device with regulators, clocks and a RTC. The DT bindings for the clocks are in a separate file but the bindings for the regulators are inside the mfd part. To make it consistent with the clocks portion of the binding and because is more natural to look for regulator bindings under the bindings/regulator sub-directory, split the regulator portion of the DT binding and add it as a separate file. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 00f1493e9e0c875f16623bdb088108ada6e7647e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 24 10:47:20 2015 +0200 mfd: Add DT binding for Maxim MAX77802 IC The MAX77802 is a chip that contains regulators, 2 32kHz clocks, a RTC and an I2C interface to program the individual components. The are already DT bindings for the regulators and clocks and these reference to a bindings/mfd/max77802.txt file, that didn't exist, for the details about the PMIC. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 00d689169dd088257de7ed218ff2c638bc5ad3b5 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 24 10:47:19 2015 +0200 mfd: max77686: Use a generic name for the PMIC node in the example The ePAPR standard says that: "the name of a node should be somewhat generic, reflecting the function of the device and not its precise programming model." So, change the max77686 binding document example to use a generic node name instead of using the chip's name. Suggested-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 89bd794cf60760ef053d3694c6749f651c034e02 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 24 10:47:18 2015 +0200 mfd: max77686: Don't suggest in binding to use a deprecated property The regulator-compatible property from the regulator DT binding was deprecated. But the max77686 DT binding doc still suggest to use it instead of the regulator node name's which is the correct approach. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b9124a523017a53cce071451f5c38a0b77761534 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:19:53 2015 +0200 mfd: Add MFD_CROS_EC dependencies The MFD_CROS_EC symbol select CHROME_PLATFORMS and CROS_EC_PROTO but that caused a Kconfig unmet direct dependencies warning since these symbols could only be selected for X86 || ARM. The fix it, the CHROME_PLATFORMS dependencies were relexed on commit d12bbcd3ea44 ("platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM") but that was found to be wrong and the correct fix is to add the needed dependencies to the MFD_CROS_EC config symbol. There are only x86 and ARM based Chromebooks so to avoid showing up the config option on unsupported platforms, make the symbol depend on these architectures. Also add a || COMPILE_TEST so it can have build coverage on other platforms. Suggested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit da935c0b6eeeac16de0a82cc1152fb0a9b5a11ef Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:19:56 2015 +0200 mfd: cros_ec: Remove CROS_EC_PROTO dependency for SPI and I2C drivers The ChromeOS EC SPI and I2C transport drivers depends on CROS_EC_PROTO but MFD_CROS_EC select CROS_EC_PROTO instead. Mixing select and depends on is bad practice as it may lead to circular Kconfig dependencies. Since these drivers already depend on MFD_CROS_EC and that config option already selects CROS_EC_PROTO, there is no need to make them explicitly depend on CROS_EC_PROTO since that dependency is already met. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 55e8dba1acc2e3e9d77226c3b08b25a02a0e3a3a Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Sat Aug 22 08:29:30 2015 -0700 crypto: qat - silence a static checker warning Add range check for ring number. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 73613a8159ddbf5a9ead0c03174458fa8210bdf7 Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 17:27:43 2015 -0300 crypto: vmx - Fixing opcode issue In build time vadduqm opcode is not being mapped correctly. Adding a new map in ppc-xlate to do this. Signed-off-by: Leonidas S Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9c4f9733e26f0d6977096fcafe71ea2ba9f0cd7c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Aug 21 13:52:00 2015 -0300 crypto: caam - Use the preferred style for memory allocations "The preferred form for passing a size of a struct is the following: p = kmalloc(sizeof(*p), ...); .... The preferred form for allocating a zeroed array is the following: p = kcalloc(n, sizeof(...), ...); " ,so do as suggested. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a3c09550f0cbd9965e44a2dc62c85ff5db91f8ff Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Aug 21 13:51:59 2015 -0300 crypto: caam - Propagate the real error code in caam_probe Instead of propagating a 'fake' error code, just propagate the real one in the case of caam_drv_identify_clk() failure. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 31f44d150791c3fe923399a1159320acc4a9b3b4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Aug 21 13:51:58 2015 -0300 crypto: caam - Fix the error handling in caam_probe In the error path we should disable the resources that were previously acquired, so fix the error handling accordingly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9f587fa29f7e8ed6b8885cff51a51ace3ad85152 Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Fri Aug 21 18:53:20 2015 +0300 crypto: caam - fix writing to JQCR_MS when using service interface Most significant part of JQCR (Job Queue Control Register) contains bits that control endianness: ILE - Immediate Little Endian, DWS - Double Word Swap. The bits are automatically set by the Job Queue Controller HW. Unfortunately these bits are cleared in SW when submitting descriptors via the register-based service interface. >From LS1021A: JQCR_MS = 08080100 - before writing: ILE | DWS | SRC (JR0) JQCR_MS = 30000100 - after writing: WHL | FOUR | SRC (JR0) This would cause problems on little endian caam for descriptors containing immediata data or double-word pointers. Currently there is no problem since the only descriptors ran through this interface are the ones that (un)instantiate RNG. Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 27d868b5e6cfaee4fec66b388e4085ff94050fa7 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Mon Aug 24 08:48:16 2015 -0500 PCI: Set MPS to match upstream bridge Firmware typically configures the PCIe fabric with a consistent Max Payload Size setting based on the devices present at boot. A hot-added device typically has the power-on default MPS setting (128 bytes), which may not match the fabric. The previous Linux default, in the absence of any "pci=pcie_bus_*" options, was PCIE_BUS_TUNE_OFF, in which we never touch MPS, even for hot-added devices. Add a new default setting, PCIE_BUS_DEFAULT, in which we make sure every device's MPS setting matches the upstream bridge. This makes it more likely that a hot-added device will work in a system with optimized MPS configuration. Note that if we hot-add a device that only supports 128-byte MPS, it still likely won't work because we don't reconfigure the rest of the fabric. Booting with "pci=pcie_bus_peer2peer" is a workaround for this because it sets MPS to 128 for everything. [bhelgaas: changelog, new default, rework for pci_configure_device() path] Tested-by: Keith Busch <keith.busch@xxxxxxxxx> Tested-by: Jordan Hargrave <jharg93@xxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit c7e69ae6b4ff49edf50180c0a32f3dd9d7967e31 Author: Markus Osterhoff <linux-kernel@xxxxxxxxxx> Date: Mon Aug 24 14:11:39 2015 +0200 ALSA: hda: fix possible NULL dereference After a for-loop was replaced by list_for_each_entry, see Commit bbbc7e8502c9 ("ALSA: hda - Allocate hda_pcm objects dynamically"), Commit 751e2216899c ("ALSA: hda: fix possible null dereference"), a possible NULL pointer dereference has been introduced; this patch adds the NULL check on pcm->pcm, while leaving a potentially superfluous check on pcm itself untouched. Signed-off-by: Markus Osterhoff <linux-kernel@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v4.1+ Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5166c20ef95be89d10ffe0140e74df5cf26e9786 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Aug 24 13:35:51 2015 +0100 arm64: makefile: fix perf_callchain.o kconfig dependency Commit 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant #ifdefs") incorrectly resolved a conflict on arch/arm64/kernel/Makefile which resulted in a partial revert of 52da443ec4d0 ("arm64: perf: factor out callchain code"), leading to perf_callchain.o depending on CONFIG_HW_PERF_EVENTS instead of CONFIG_PERF_EVENTS. This patch restores the kconfig dependency for perf_callchain.o. Reported-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a4a9a8cb3248b3b48a6049acaeaf23d4ad3712b9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 12:12:19 2015 +0300 i2c: xgene-slimpro: dma_mapping_error() doesn't return an error code The dma_mapping_error() function returns true if there is an error, it doesn't return an error code. We should return -ENOMEM. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit 480b141abf7ffe630016dd4ced0fc57f105a05a9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:19:57 2015 +0200 i2c: Replace I2C_CROS_EC_TUNNEL dependency The ChromeOS EC tunnel I2C bus driver depend on CROS_EC_PROTO but MFD_CROS_EC select CROS_EC_PROTO instead. Mixing select and depends on is bad practice as it may lead to circular Kconfig dependencies. Since the platform device that is matched with the I2C bus driver is registered by the ChromeOS EC mfd driver, I2C_CROS_EC_TUNNEL really depends on MFD_CROS_EC. And because this config option selects CROS_EC_PROTO, that dependency is met as well. So make the driver to depend on MFD_CROS_EC instead of CROS_EC_PROTO. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2cd9fbd0ed5ef12bf550c06126ebbe720574fc0e Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Wed Aug 12 17:31:34 2015 +0300 eeprom: at24: use i2c_smbus_read_i2c_block_data_or_emulated For i2c busses that support only SMBUS extensions, the eeprom at24 driver reads data from the device using the SMBus block, word or byte read protocols depending on availability. Replace the block read emulation from the driver with the i2c_smbus_read_i2c_block_data_or_emulated call from i2c core. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 01eef96e37d77cd89156e5f51aab81a9d5c96539 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Wed Aug 12 17:31:33 2015 +0300 i2c: core: Add support for best effort block read emulation There are devices that need to handle block transactions regardless of the capabilities exported by the adapter. For performance reasons, they need to use i2c read blocks if available, otherwise emulate the block transaction with word or byte transactions. Add support for a helper function that would read a data block using the best transfer available: I2C_FUNC_SMBUS_READ_I2C_BLOCK, I2C_FUNC_SMBUS_READ_WORD_DATA or I2C_FUNC_SMBUS_READ_BYTE_DATA. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 3f9c37a0c9a59db97ca5712eca7838b842949047 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sun Aug 16 20:10:16 2015 +0200 i2c: lpc2k: add driver Add support for the I2C controller found on several NXP devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx. The controller is implemented as a state machine and the driver act upon the state changes when the bus is accessed. The I2C controller supports master/slave operation, bus arbitration, programmable clock rate, and speeds up to 1 Mbit/s. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b3fdd32799d834e2626fae087906e886037350c6 Author: York Sun <yorksun@xxxxxxxxxxxxx> Date: Mon Aug 17 11:53:48 2015 -0700 i2c: mux: Add register-based mux i2c-mux-reg Based on i2c-mux-gpio driver, similarly the register-based mux switch from one bus to another by setting a single register. The register can be on PCIe bus, local bus, or any memory-mapped address. The endianness of such register can be specified in device tree if used, or in platform data. Signed-off-by: York Sun <yorksun@xxxxxxxxxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7a59b00a0906945f7fe25a10332ac0820491a0c3 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 8 13:35:18 2015 +0200 i2c: dt: describe generic bindings Start a new file which describes the generic bindings used for I2C with device tree. So we have a central place to look for them, increase visibility of them, and hopefully reduce the amount of custom properties introduced. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c6909d6f6f1082b8bb4c1b0ef3460a005c9dcb4d Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 21:12:54 2015 +0200 i2c: slave: print warning if slave flag not set Address collisions will be rare, but we should let the user know that slaves have their own address space nonetheless. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit cfa0327b0d03091e0c47249c080e50e287be762d Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 14:03:38 2015 +0200 i2c: support 10 bit and slave addresses in sysfs 'new_device' We now have seperate address spaces for 10 bit and we-are-slave clients. Update the sysfs device instantiation method to support these types by accepting the address offsets that are assigned to the extra address spaces. Update the documentation, too. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9bccc70a127cfe2a13e34d6b6e7300caae113f8f Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 14:48:56 2015 +0200 i2c: take address space into account when checking for used addresses It is not enough to compare the plain address value, we also need to check the flags enabling a different address space. E.g. it is valid to have address 0x50 as a 7-bit address and 0x050 as 10-bit address on the same bus. Same for addresses when we are the slave. Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b4e2f6ac1281cd3e066919cc762eef4924e9fcc5 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 19 21:04:40 2015 +0200 i2c: apply DT flags when probing Check for slave and 10-bit flags when probing and mark the client when found. Improve the address validity check, too Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c4019b7040eaf88f440ce5212e055a4f19b1b541 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 12:50:06 2015 +0200 i2c: make address check indpendent from client struct We want to use this function with struct boardinfo soon, so let's just pass the parameters really needed. We also extend the type of addr, so more types can be input. Remove a superfluous dangling comment while here. Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 66be6056eba80690bb7fa3d983c21494e1950bea Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 12:43:22 2015 +0200 i2c: rename address check functions The current naming is based on the arguments of the functions and not on what they do. Even I as the maintainer find this confusing, so let's rename them to something more descriptive. Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit da899f55b359225f85e154765baaddb13ec436ca Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 18 21:09:12 2015 +0200 i2c: apply address offset for slaves, too We want a separate address range for being an I2C slave. Add an offset of 0x1000, so it can be combined with ten bit addresses as well. Add a separate function to create the address value, we will need it later in other places. Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c5ebb387f4e6b2dd7c74d71caf7b696834d0c887 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 19 17:44:31 2015 +0200 i2c: add a flag to mark clients as slaves And update indentation with one more tab, sigh... Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f5005f7835e0da9ea6f203f8acc356bef9b331da Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 19 17:40:55 2015 +0200 dt-bindings: add header for generic I2C flags in bindings Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c9b57724b38d4c1555ee49418be3d76801e3327c Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Fri Aug 21 10:18:08 2015 -0400 HID: quirks: add QUIRK_NOGET for an other TPV touchscreen Looks like 0x8882 needs the same quirk than 0x8883. Given that both devices claim they are "TPV OpticalTouchScreen" rename the 0x8883 to add its PID in the #define. Reported-by: Blaine Lee <blaine.j.lee@xxxxxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2a03c025fdea25a491c359b31d8a8c8d452b06d0 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 13 23:43:19 2015 -0300 ARM: rockchip: pm: Fix PTR_ERR() argument PTR_ERR should access the value just tested by IS_ERR. The semantic patch that makes this change is available in scripts/coccinelle/tests/odd_ptr_err.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 0df9d2eae5e1092b07eaab6b989c2ff14115cab5 Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Date: Mon Jul 20 01:39:59 2015 +0900 mmc: tmio: Fix timeout value for command request Fix the problem which timeout occurs at the time of command request with several cards. The timeout value was insufficient as a verification of several cards, so it was changed 5 seconds from 2 seconds. Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 05c441efcc9796dd27451b9d87f5b22b8ebcdb2b Author: ludovic.desroches@xxxxxxxxx <ludovic.desroches@xxxxxxxxx> Date: Wed Jul 29 16:22:48 2015 +0200 MAINTAINERS: add entry for Atmel sdhci-of-at91 driver Add an entry for Atmel SDMMC device. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bb5f8ea4d5149f3dec6f7cd24c040c52bfc0cdbd Author: ludovic.desroches@xxxxxxxxx <ludovic.desroches@xxxxxxxxx> Date: Wed Jul 29 16:22:47 2015 +0200 mmc: sdhci-of-at91: introduce driver for the Atmel SDMMC Introduce driver for he Atmel SDMMC available on sama5d2. It is a sdhci compliant controller. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5497159c460fadf0d8190b6ef144ec22fa26aa6b Author: ludovic.desroches@xxxxxxxxx <ludovic.desroches@xxxxxxxxx> Date: Wed Jul 29 16:22:46 2015 +0200 mmc: sdhci: switch from programmable clock mode to divided one if needed In programmable mode, if the clock frequency is too high, the divider can be too small to meet the clock frequency requirement especially to init the SD card. In this case, switch to the divided clock mode. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 34ba2c4247e5c4b1542b1106e156af324660c4f0 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Aug 18 10:34:42 2015 +0100 arm64: set MAX_MEMBLOCK_ADDR according to linear region size The linear region size of a 39-bit VA kernel is only 256 GB, which may be insufficient to cover all of system RAM, even on platforms that have much less than 256 GB of memory but which is laid out very sparsely. So make sure we clip the memory we will not be able to map before installing it into the memblock memory table, by setting MAX_MEMBLOCK_ADDR accordingly. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8eafeb48022816513abc4f440bdad4c350fe81a3 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Aug 18 10:34:41 2015 +0100 of/fdt: make memblock maximum physical address arch configurable When parsing the memory nodes to populate the memblock memory table, we check against high and low limits and clip any memory that exceeds either one of them. However, for arm64, the high limit of (phys_addr_t)~0 is not very meaningful, since phys_addr_t is 64 bits (i.e., no limit) but there may be other constraints that limit the memory ranges that we can support. So rename MAX_PHYS_ADDR to MAX_MEMBLOCK_ADDR (for clarity) and only define it if the arch does not supply a definition of its own. Acked-by: Rob Herring <robh@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5d3c2c352998fdefdc62795249cfc7311cf36df9 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Sun Aug 23 14:24:44 2015 +0100 arm64: Fix source code file path in comments Architecture specific code for i386 and x86_64 was unified and merged to the arch/x86. This patch fix old path of x86 architecture in a comment from the arch/arm64/include/asm/fixmap.h. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5b9eaa5659b32cf6c85a492d2e3bfa7a3a413144 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Jun 30 17:53:59 2015 +0100 pinctrl: sh-pfc: Implement pinconf power-source param for voltage switching The pfc in the R8A7790 (and probably others in the R-Car gen 2 family) supports switching SDHI signals between 3.3V and 1.8V nominal voltage, and the SD driver should do that when switching to and from UHS modes. Add a flag for pins that have configurable I/O voltage and SoC operations to get and set the nominal voltage. Implement the pinconf power-source parameter using these operations. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6c310c46efeae99a1569947b8c60d4aab36bd61c Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 24 13:43:14 2015 +0530 dmaengine: sort the dw Kconfig Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3c21619077beb40ae3e49eb868798377e69dd940 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 24 13:43:14 2015 +0530 dmaengine: sort the Kconfig dmaengine Kconfig grew over the years, unfortunately without any order to it. So order by core, driver and client sections, and sort these sections alphabetically Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7e97229b3920568067feefc8b49a98534c1a908c Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 24 13:43:14 2015 +0530 dmaengine: sort the makefile dmaengine makefile grew over the years, unfortunately without any order to it. So order by core, dmatest and driver sections and sort these sections alphabetically Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e2d6cf7f3696c87546f7fefe9bac79ee09db4bef Author: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Date: Fri Aug 21 16:52:01 2015 +0300 drm/i915: Allow parsing of variable size child device entries from VBT VBT version 196 increased the size of common_child_dev_config. The parser code assumed that the size of this structure would not change. The modified code now copies the amount needed based on the VBT version, and emits a debug message if the VBT version is unknown (too new); since the struct config block won't shrink in newer versions it should be harmless to copy the maximum known size in such cases, so that's what we do, but emitting the warning is probably sensible anyway. In the longer run it might make sense to modify the parser code to use a version/feature mapping, rather than hardcoding things like this, but for now the variants are fairly manageable. This fixes a regression introduced in commit 75067ddecf21271631bc018d2fb23ddd09b66aae Author: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Date: Fri Jul 10 14:10:55 2015 +0300 drm/i915: Per-DDI I_boost override since that commit changed the child device config size without updating the checks and memcpy. v2: Stricter size checks v3 by Jani: - Keep the checks strict, and warnigns verbose, but keep going anyway. - Take care to copy the max amount of child device config we can. - Fix the messages. Signed-off-by: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit af7080f555e556094762c03c31cabdbe072b16b6 Author: Thulasimani,Sivakumar <sivakumar.thulasimani@xxxxxxxxx> Date: Tue Aug 18 11:07:59 2015 +0530 drm/i915: fix link rates reported for SKL This patch fixes the bug that SKL SKUs before B0 might return HBR2 as supported even though it is not supposed to be enabled on such platforms. v2: optimize if else condition (Jani) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> [Jani: minor whitespace fix.] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 6cc38acaaa995ad229447d87a3c5a181ba0cc161 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Aug 18 14:28:55 2015 +0300 drm/i915: fix VBT parsing for SDVO child device mapping commit 75067ddecf21271631bc018d2fb23ddd09b66aae Author: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Date: Fri Jul 10 14:10:55 2015 +0300 drm/i915: Per-DDI I_boost override increased size of union child_device_config without taking into account the size check in parse_sdvo_device_mapping(). Switch the function over to using the legacy struct only. Fixes: 75067ddecf21 ("drm/i915: Per-DDI I_boost override") Cc: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Cc: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 3732ce72b45a2a145803558758821bf198751276 Merge: e829d7e c13dcf9 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 24 16:36:42 2015 +1000 Merge tag 'v4.2-rc8' into drm-next Linux 4.2-rc8 Backmerge required for Intel so they can fix their -next tree up properly. commit 54cf7be992fe86571a3f07b96446cd5334b014ab Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Aug 21 15:29:29 2015 +0800 net: phy: add interrupt support for aquantia phy By implementing config_intr & ack_interrupt, now the phy can support link connect/disconnect interrupt. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6df7d61c8776a882dd47ba4714d1445dd7ef2d9 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Fri Aug 21 10:08:26 2015 +0900 net: bcmgenet: fix uncleaned dma flags Clean the dma flags of multiq ring buffer int the interface stop process. This patch fixes that the genet is not running while the interface is re-enabled. $ ifup eth0 - running after booting $ ifdown eth0 $ ifup eth0 - not running and occur tx_timeout The bcmgenet_dma_disable() in bcmgenet_open() do clean ring16 dma flag only. If the genet has multiq, the dma register is not cleaned. and bcmgenet_init_dma() is not done correctly. in case GENET_V2(tx_queues=4), tdma_ctrl has 0x1e after running bcmgenet_dma_disable(). Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eed635699abaacebc9b19a2f9de9ddc688c390c2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Aug 20 18:04:22 2015 -0700 net: bcmgenet: Avoid sleeping in bcmgenet_timeout bcmgenet_timeout() executes in atomic context, yet we will invoke napi_disable() which does sleep. Looking back at the changes, disabling TX napi and re-enabling it is completely useless, since we reclaim all TX buffers and re-enable interrupts, and wake up the TX queues. Fixes: 13ea657806cf ("net: bcmgenet: improve TX timeout") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50e48bd0673180311874d0c1bd88505eefd75c4e Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Wed Aug 12 13:14:59 2015 +0600 m68k/coldfire: use PFN_DOWN macro Replace ((x) >> PAGE_SHIFT) with the predefined PFN_DOWN macro. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit 5bbc08fb0f1457ceef388739b48c72675246639c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:20 2015 +0530 m68k/coldfire/pit: Migrate to new 'set-state' interface Migrate m68k driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ->set_mode(RESUME) and so tick_resume() isn't implemented. Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit c13dcf9f2d6f5f06ef1bf79ec456df614c5e058b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 23 20:52:59 2015 -0700 Linux 4.2-rc8 commit e829d7ef9f17d7b84d4c3d110ecd4b7b2bcba865 Author: Mathieu Larouche <mathieu.larouche@xxxxxxxxxx> Date: Fri Aug 21 09:24:13 2015 -0400 drm/mgag200: Add support for a new rev of G200e - Added PLL algorithm for a new rev of G200e - Removed the bandwidth limitation for the new G200e Signed-off-by: Mathieu Larouche <mathieu.larouche@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 6d857c18aefdec782ba1db578a390fbac5145107 Author: Mathieu Larouche <mathieu.larouche@xxxxxxxxxx> Date: Fri Aug 21 09:24:05 2015 -0400 drm/mgag200: Add support for a new G200eW3 chipset - Added support for the new deviceID for G200eW3 - Added PLL algorithm for the G200eW3 - Added some initialization code for G200eW3 Signed-off-by: Mathieu Larouche <mathieu.larouche@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d683477020be2036d6c2d7d2cd3ffac4f2acbd6c Merge: eb63b34 49718f0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 23 20:46:22 2015 -0700 Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "A couple of major (hang and deadlock) fixes with fortunately fairly rare triggering conditions. The PM oops is only really triggered by people using enclosure services (rare) and the fnic driver is mostly used in enterprise environments" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: SCSI: Fix NULL pointer dereference in runtime PM fnic: Use the local variable instead of I/O flag to acquire io_req_lock in fnic_queuecommand() to avoid deadloack commit d9893d1351e11f565940df6cd6f9bf13aac27a3a Merge: 751a587 29e7692 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 23 20:42:57 2015 -0700 Merge tag 'nfc-next-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next Samuel Ortiz says: ==================== NFC 4.3 pull request This is the NFC pull request for 4.3. With this one we have: - A new driver for Samsung's S3FWRN5 NFC chipset. In order to properly support this driver, a few NCI core routines needed to be exported. Future drivers like Intel's Fields Peak will benefit from this. - SPI support as a physical transport for STM st21nfcb. - An additional netlink API for sending replies back to userspace from vendor commands. - 2 small fixes for TI's trf7970a - A few st-nci fixes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 751a587ac9f9a8bf314590fbac32d9e418060c5a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 21 12:41:14 2015 +0200 route: fix breakage after moving lwtunnel state __recnt and related fields need to be in its own cacheline for performance reasons. Commit 61adedf3e3f1 ("route: move lwtunnel state to dst_entry") broke that on 32bit archs, causing BUILD_BUG_ON in dst_hold to be triggered. This patch fixes the breakage by moving the lwtunnel state to the end of dst_entry on 32bit archs. Unfortunately, this makes it share the cacheline with __refcnt and may affect performance, thus further patches may be needed. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: 61adedf3e3f1 ("route: move lwtunnel state to dst_entry") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31fbde9967330404175a06df15bdb24d671d4475 Merge: c5f98b5 7a4b6c8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 23 16:28:18 2015 -0700 Merge tag 'linux-can-next-for-4.3-20150820' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== this is a pull request of a two patches for net-next. The first patch is by Nik Nyby and fixes a typo in a function name. The second patch by Lucas Stach demotes register output to debug level. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5f98b5669b875564f992e1398f5a4407dba8b07 Merge: 7f629be 2be80c2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 23 16:14:46 2015 -0700 Merge branch 'tipc-failover-fixes' Jon Maloy says: ==================== tipc: fix link failover/synch problems We fix three problems with the new link failover/synch implementation, which was introduced earlier in this release cycle. They are all related to situations where there is a very short interval between the disabling and enabling of interfaces. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2be80c2d87de789550982e74a11e9f9ff5940845 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Aug 20 02:12:56 2015 -0400 tipc: fix stale link problem during synchronization Recent changes to the link synchronization means that we can now just drop packets arriving on the synchronizing link before the synch point is reached. This has lead to significant simplifications to the implementation, but also turns out to have a flip side that we need to consider. Under unlucky circumstances, the two endpoints may end up repeatedly dropping each other's packets, while immediately asking for retransmission of the same packets, just to drop them once more. This pattern will eventually be broken when the synch point is reached on the other link, but before that, the endpoints may have arrived at the retransmission limit (stale counter) that indicates that the link should be broken. We see this happen at rare occasions. The fix for this is to not ask for retransmissions when a link is in state LINK_SYNCHING. The fact that the link has reached this state means that it has already received the first SYNCH packet, and that it knows the synch point. Hence, it doesn't need any more packets until the other link has reached the synch point, whereafter it can go ahead and ask for the missing packets. However, because of the reduced traffic on the synching link that follows this change, it may now take longer to discover that the synch point has been reached. We compensate for this by letting all packets, on any of the links, trig a check for synchronization termination. This is possible because the packets themselves don't contain any information that is needed for discovering this condition. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ae2f8e6857968d6dddbd3879ed0a32b860e02d1 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Aug 20 02:12:55 2015 -0400 tipc: interrupt link synchronization when a link goes down When we introduced the new link failover/synch mechanism in commit 6e498158a827fd515b514842e9a06bdf0f75ab86 ("tipc: move link synch and failover to link aggregation level"), we missed the case when the non-tunnel link goes down during the link synchronization period. In this case the tunnel link will remain in state LINK_SYNCHING, something leading to unpredictable behavior when the failover procedure is initiated. In this commit, we ensure that the node and remaining link goes back to regular communication state (SELF_UP_PEER_UP/LINK_ESTABLISHED) when one of the parallel links goes down. We also ensure that we don't re-enter synch mode if subsequent SYNCH packets arrive on the remaining link. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17b2063077a7478e5fd3c34b04a059dbb8474638 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Aug 20 02:12:54 2015 -0400 tipc: eliminate risk of premature link setup during failover When a link goes down, and there is still a working link towards its destination node, a failover is initiated, and the failed link is not allowed to re-establish until that procedure is finished. To ensure this, the concerned link endpoints are set to state LINK_FAILINGOVER, and the node endpoints to NODE_FAILINGOVER during the failover period. However, if the link reset is due to a disabled bearer, the corres- ponding link endpoint is deleted, and only the node endpoint knows about the ongoing failover. Now, if the disabled bearer is re-enabled during the failover period, the discovery mechanism may create a new link endpoint that is ready to be established, despite that this is not permitted. This situation may cause both the ongoing failover and any subsequent link synchronization to fail. In this commit, we ensure that a newly created link goes directly to state LINK_FAILINGOVER if the corresponding node state is NODE_FAILINGOVER. This eliminates the problem described above. Furthermore, we tighten the criteria for which packets are allowed to end a failover state in the function tipc_node_check_state(). By checking that the receiving link is up and running, instead of just checking that it is not in failover mode, we eliminate the risk that protocol packets from the re-created link may cause the failover to be prematurely terminated. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f629be158a93e1b8f882c13c098d043f68cad9c Merge: 1728369 4149379 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 23 16:08:54 2015 -0700 Merge branch 'nps_enet_fixes' Noam Camus says: ==================== *** nps_enet fixups *** Change v2 TX done is handled back with NAPI poll. Change v1 This patch set is a bunch of fixes to make nps_enet work correctly with all platforms, i.e. real device, emulation system, and simulation system. The main trigger for this patch set was that in our emulation system the TX end interrupt is "edge-sensitive" and therefore we cannot use the cause register since it is not sticky. Also: TX is handled during HW interrupt context and not NAPI job. race with TX done was fixed. added acknowledge for TX when device is "level sensitive". enable drop of control frames which is not needed for regular usage. So most of this patch set is about TX handling, which is now more complete. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41493795a4c18170fdf27c0373d386b4039b24df Author: Noam Camus <noamc@xxxxxxxxxx> Date: Thu Aug 20 08:00:05 2015 +0300 NET: nps_enet: minor namespace cleanup We define buf_int_enable in the minimal namespace it is used. Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d99b74ab3c4b7e529d5820ccadabfb81085f020 Author: Noam Camus <noamc@xxxxxxxxxx> Date: Thu Aug 20 08:00:04 2015 +0300 NET: nps_enet: TX done acknowledge. This is needed for when TX done interrupt is in "level mode". For example it is true for some simulators of this device. Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de6715677aaa5e9ed27dab1f6ca6597b74a3f7bc Author: Noam Camus <noamc@xxxxxxxxxx> Date: Thu Aug 20 08:00:03 2015 +0300 NET: nps_enet: drop control frames We set controller to drop control frames and not trying to pass them on. This is only needed for debug reasons. Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93fcf83eb953d9ca2d3c51ff7f87095f0dd43511 Author: Noam Camus <noamc@xxxxxxxxxx> Date: Thu Aug 20 08:00:02 2015 +0300 NET: nps_enet: TX done race condition We need to set tx_skb pointer before send frame. If we receive interrupt before we set pointer we will try to free SKB with wrong pointer. Now we are sure that SKB pointer will never be NULL during handling TX done and check is removed. Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0dd20f3ce04e75521bd3f9867ecbc852ab348912 Author: Noam Camus <noamc@xxxxxxxxxx> Date: Thu Aug 20 08:00:01 2015 +0300 NET: nps_enet: replace use of cause register When interrupt is received we read directly from control register for RX/TX instead of reading cause register since this register fails to indicate TX done when TX interrupt is "edge mode". Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c953e23936f902c7719166327e3113639105c981 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Thu Aug 20 12:43:53 2015 +0900 netlink: mmap: fix tx type check I can't send netlink message via mmaped netlink socket since commit: a8866ff6a5bce7d0ec465a63bc482a85c09b0d39 netlink: make the check for "send from tx_ring" deterministic msg->msg_iter.type is set to WRITE (1) at SYSCALL_DEFINE6(sendto, ... import_single_range(WRITE, ... iov_iter_init(1, WRITE, ... call path, so that we need to check the type by iter_is_iovec() to accept the WRITE. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1728369e8c57f27e0374f4702cbfdb9196bc586b Merge: 9a873c7 2701366 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 23 15:59:57 2015 -0700 Merge branch 'gro_tunnels' Tom Herbert says: ==================== gro: Fixes for tunnels and GRO This patch set addresses some issue related to tunneling and GRO: - Fix remote checksum offload to properly deal with frag0 in GRO. - Add support for GRO at VXLAN tunnel (call gro_cells) Testing: Ran one netperf TCP_STREAM to highlight impact of different configurations: GUE Zero UDP checksum 4628.42 MBps UDP checksums enabled 6800.51 MBps UDP checksums and remote checksum offload 7663.82 MBps UDP checksums and remote checksum offload using no-partial 7287.25 MBps VXLAN Zero UDP checksum 4112.02 UDP checksums enabled 6785.80 MBps UDP checksums and remote checksum offload 7075.56 MBps v2: - Drop "gro: Pull headers into skb head for 1st skb in gro list" from patch set - In vxlan_remcsum and gue_remcsum return immediately if remcsum processing was already done - Add gro callbacks for sit offload - Use WARN_ON_ONCE if we get a GUE protocol that does not have GRO offload support v3: - Don't restore gro callbacks for sit offload ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 270136613bf7306e2b83457628e2b2f6c6be3989 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Aug 19 17:07:34 2015 -0700 fou: Do WARN_ON_ONCE in gue_gro_receive for bad proto callbacks Do WARN_ON_ONCE instead of WARN_ON in gue_gro_receive when the offload callcaks are bad (either don't exist or gro_receive is not specified). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58ce31cca1ffe057f4744c3f671e3e84606d3d4a Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Aug 19 17:07:33 2015 -0700 vxlan: GRO support at tunnel layer Add calls to gro_cells infrastructure to do GRO when receiving on a tunnel. Testing: Ran 200 netperf TCP_STREAM instance - With fix (GRO enabled on VXLAN interface) Verify GRO is happening. 9084 MBps tput 3.44% CPU utilization - Without fix (GRO disabled on VXLAN interface) Verified no GRO is happening. 9084 MBps tput 5.54% CPU utilization Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7fe10e5ebac2a3f37e95535e616494b65fa020f Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Aug 19 17:07:32 2015 -0700 gro: Fix remcsum offload to deal with frags in GRO The remote checksum offload GRO did not consider the case that frag0 might be in use. This patch fixes that by accessing headers using the skb_gro functions and not saving offsets relative to skb->head. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a873c71e91cabf4c10fd9bbd8358c22deaf6c9e Author: Chas Williams <3chas3@xxxxxxxxx> Date: Wed Aug 19 19:14:20 2015 -0400 net/xen-netfront: only clean up queues if present If you simply load and unload the module without starting the interfaces, the queues are never created and you get a bad pointer dereference. Signed-off-by: Chas Williams <3chas3@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5117ce4f6a16fa2a02ceff9c337cfffca8b75f2 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 18:54:55 2015 -0400 net: dsa: mv88e6xxx: set 802.1Q mode to Fallback The current Secure port mode requires the port-based VLANs to also be valid in the 802.1Q VLAN Table Unit. The current hardware bridging support only configures the port-based VLANs, thus is broken. A new patchset is required to adapt the hardware bridging code to fully support the Secure port mode. In the meantime, change the 802.1Q mode of every ports to Fallback, which filtering is more permissive, and doesn't add this restriction to handle port-based and tagged-based VLANs. Fixes: 8efdda4a1b60 ("net: dsa: mv88e6xxx: use port 802.1Q mode Secure") Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f007492964c125cb3e88a51ba2e50c3b44d33ae0 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Sun Aug 23 13:35:23 2015 -0600 kernel-doc: ignore unneeded attribute information The kernel-doc script gets confused by __attribute__(()) strings in structures, so just clean the out. Also ignore the CRYPTO_MINALIGN_ATTR macro used in the crypto subsystem. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit b5ac1fb2717e48177d3f73f9e4c9b556c0a24c6b Author: Vincent Bernat <vincent@xxxxxxxxx> Date: Sat Aug 15 14:07:44 2015 +0200 9p: fix return code of read() when count is 0 When reading 0 bytes from an empty file on a 9P filesystem, the return code of read() was not 0 as expected due to an unitialized err variable. Tested with this simple program: #include <assert.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> int main(int argc, const char **argv) { assert(argc == 2); char buffer[256]; int fd = open(argv[1], O_RDONLY|O_NOCTTY); assert(fd >= 0); assert(read(fd, buffer, 0) == 0); return 0; } Signed-off-by: Vincent Bernat <vincent@xxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit cb9af418598b8f388844e1849014c689a048ce54 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Jun 5 19:09:35 2015 +0200 9p: remove unused option Opt_trans Commit 8a0dc95fd976 ("9p: transport API reorganization") removed Opt_trans in tokens not in enum. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit eb63b34bdfbdd70a734c2a90d89117c5c6c605c2 Merge: c4c53ba 72ccc89 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 23 07:23:09 2015 -0700 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS bug fixes from Ralf Baechle: "Two more fixes for 4.2. One fixes a build issue with the LLVM assembler - LLVM assembler macro names are case sensitive, GNU as macro names are insensitive; the other corrects a license string (GPL v2, not GPLv2) such that the module loader will recognice the license correctly" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: FIRMWARE: bcm47xx_nvram: Fix module license. MIPS: Fix LLVM build issue. commit 25cf68da08389bb107e5cba2cbfb3b6e4a246095 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Fri Aug 21 16:27:49 2015 -0400 drivers/dma: make mv_xor.c driver explicitly non-modular The Kconfig for this driver is currently: config MV_XOR bool "Marvell XOR engine support" ...meaning that it currently is not being built as a module by anyone. Lets remove the modular code that is essentially orphaned, so that when reading the driver there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. We leave some tags like MODULE_AUTHOR for documentation purposes. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code. Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0e3b67b348b838d519b5d9ff30261f471d6371f2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Aug 20 17:39:13 2015 +0200 dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller Add support for the Analog Devices AXI-DMAC DMA controller. This controller is a soft peripheral that can be instantiated in a FPGA and is often used in Analog Devices' reference designs for FPGA platforms. The peripheral has various configuration options that can be selected at synthesis time and influence the supported features of the instantiated peripheral, those options are represented as device-tree properties to allow the driver to behave accordingly. The peripheral has a zero latency architecture, which means it is possible to switch from one to the next descriptor without any delay. This is archived by having a internal queue which can hold multiple descriptors. The driver supports this, which means it will submit new descriptors directly to the hardware until the queue is full and not wait for a descriptor to complete before the next one is submitted. Interrupts are used for the descriptor queue flow control. Currently the driver supports SG, cyclic and interleaved slave DMA. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 43bcad2bb485f053661e5cfe306c34178c6651c7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Aug 20 17:39:12 2015 +0200 devicetree: Add bindings documentation for Analog Devices AXI-DMAC Add the devicetree descriptor for the Analog Devices AXI-DMAC DMA controller. This is a soft peripheral used in FPGAs and the bindings describe how it is connected to the system (clock, interrupt, memory map) as well as the configuration options that were used when the peripheral was instantiated. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b2b48ac4c584ae31eb23ad1f86964cc6e52eaa54 Merge: 76891cc ed9c87b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sun Aug 23 18:54:39 2015 +0530 Merge branch 'topic/zxdma' into for-linus commit 76891cc8c4930e21b9bce226524f1b57756bc25e Merge: 59b0fbd 28eb232 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sun Aug 23 18:54:31 2015 +0530 Merge branch 'topic/ti-xbar' into for-linus commit 59b0fbdf15900abc57bd90f1cca1f6ff28b470c0 Merge: 005ce70 35ca0ee Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sun Aug 23 18:54:22 2015 +0530 Merge branch 'topic/at_xdmac' into for-linus commit 47edb65178cb7056c2eea0b6c41a7d8c84547192 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 23 12:14:40 2015 -0700 x86/asm/msr: Make wrmsrl() a function As of cf991de2f614 ("x86/asm/msr: Make wrmsrl_safe() a function"), wrmsrl_safe is a function, but wrmsrl is still a macro. The wrmsrl macro performs invalid shifts if the value argument is 32 bits. This makes it unnecessarily awkward to write code that puts an unsigned long into an MSR. To make this work, syscall_init needs tweaking to stop passing a function pointer to wrmsrl. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Willy Tarreau <w@xxxxxx> Link: http://lkml.kernel.org/r/690f0c629a1085d054e2d1ef3da073cfb3f7db92.1437678821.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5865f3658ba37c54e346b0fdee08a1c7a152681b Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Aug 23 12:54:16 2015 +0300 iwlwifi: mvm: bump firmware API to 17 The driver is now able to handle -17.ucode. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4308c9b083fbab1a442e68a03de099841791df27 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sun Aug 23 11:52:51 2015 +0530 ALSA: hdac: Add snd_hdac_get_hdac_stream() Add a helper to find the stream using stream tag and direction. This is useful for drivers to query stream based on stream tag and direction, fox example while downloading FW thru DSP loader code Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 54d1d2f5f0886f7c31512c83a6ed87bbcd0d2b3a Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sun Aug 23 11:52:50 2015 +0530 ALSA: hdac: fix the spbmaxfifo API spbmaxfifo API is actually a query function not a set function so name it snd_hdac_ext_stream_get_spbmaxfifo() Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e57690b1aeb208642d00f9b378830b26c9585caf Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sun Aug 23 11:52:49 2015 +0530 ALSA: hdac: Fix size allocation for ext device allocation While creating hdac_ext_device, we used hdev for sizeof insteadof edev, which resulted in eventual crash of the system Fix the size here Fixes: a512f5611646 ('ALSA: hdac: add hdac extended device') Reported-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit da03f0296c0c122cb91ed3c87a7efa4ea5127f22 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Aug 18 15:15:36 2015 +0200 iwlwifi: mvm: support new TX power command Add support for the new (bigger) TX power command. This doesn't actually take advantage of the new capabilities (to set per-chain TX power limits) but makes the code compatible with newer firmware images expecting the larger command. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a7b3bc91c5b0a6a7eecfd33ac71e266c6fe897f8 Author: Ayala Beker <ayala.beker@xxxxxxxxx> Date: Thu Aug 20 04:00:38 2015 +0300 iwlwifi: mvm: split debug message to avoid exceeding 110 characters split long debug messages that may result warning in tracing. Fixes: 1a84e7716086 ("iwlwifi: mvm: add debug info to schedule scan complete message.") Signed-off-by: Ayala Beker <ayala.beker@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 32c93a7057d600a06f96ff8997da1fadca65795a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 19 16:51:33 2015 +0200 iwlwifi: correctly size command string arrays The command string array is assumed to be indexable by a full u8, so it must have 256 entries (0-255), not just 255. A recent firmware change (apparently) started using the command 0xff for a notification to the host, causing the driver to crash in debug message/tracing code. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ba537f98b5296cdb08ea98c23963201b3db14ed9 Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Wed Aug 19 16:29:31 2015 +0300 iwlwifi: mvm: update wakeup reason enum when waking from d0i3 there is a wakeup reason. Enum in driver is not up to date with FW api - fix it. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 8e8114dee2a9a767ca8abc1c2d6a94a3ca5d4c7f Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 21 11:48:21 2015 +0300 iwlwifi: mvm: catch underflow error earlier My static checker complains that we don't check for underflows in iwl_dbgfs_fw_dbg_conf_write(). This is harmless because we have a sanity check in iwl_mvm_start_fw_dbg_conf(), but we may as well make this unsigned and silence the underflow warning. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c4c53bad4095aec461ed2488534ce6c7e672228a Merge: b7dec83 999b8b8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 22 20:22:11 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull 9p regression fix from Al Viro: "Fix for breakage introduced when switching p9_client_{read,write}() to struct iov_iter * (went into 4.1)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: 9p: ensure err is initialized to 0 in p9_client_read/write commit 999b8b88c6060adf7a9b7907740ae86ace65291e Author: Vincent Bernat <vincent@xxxxxxxxx> Date: Sat Aug 15 15:49:13 2015 +0200 9p: ensure err is initialized to 0 in p9_client_read/write Some use of those functions were providing unitialized values to those functions. Notably, when reading 0 bytes from an empty file on a 9P filesystem, the return code of read() was not 0. Tested with this simple program: #include <assert.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> int main(int argc, const char **argv) { assert(argc == 2); char buffer[256]; int fd = open(argv[1], O_RDONLY|O_NOCTTY); assert(fd >= 0); assert(read(fd, buffer, 0) == 0); return 0; } Cc: stable@xxxxxxxxxxxxxxx # v4.1 Signed-off-by: Vincent Bernat <vincent@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d071c833a0d30e7aae0ea565d92ef83c79106d6f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 19:39:38 2015 -0300 [media] dvbdev: document most of the functions/data structs Document the most relevant functions and data structs for developers that are working with the DVB subsystem. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit e3dbc572fe11a5231568e106fa3dcedd1d1bec0f Merge: ce8c669 c63517c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Aug 22 14:57:59 2015 -0700 Merge tag 'signed-kvm-ppc-next' of git://github.com/agraf/linux-2.6 into kvm-queue Patch queue for ppc - 2015-08-22 Highlights for KVM PPC this time around: - Book3S: A few bug fixes - Book3S: Allow micro-threading on POWER8 commit ce8c669e446371c1eb21b0566f6dfcb70ef3a435 Merge: bc0195a 054167b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Aug 22 14:53:22 2015 -0700 Merge tag 'kvm-arm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-queue KVM/ARM changes for 4.3 - Full debug support for arm64 - Active state switching for timer interrupts - Lazy FP/SIMD save/restore for arm64 - Generic ARMv8 target commit 35848bf0aa6ba677458adfbde49ef73d10c9f381 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 14:20:25 2015 -0300 [media] dvb_frontend.h: document the struct dvb_frontend That struct is used on every DVB Front End driver, as it contains what's needed to register/use a frontend at the Kernel. Document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit a3cccb2411a634b751771596bf21afc2d2bd5990 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 14:10:31 2015 -0300 [media] dvb-frontend.h: document struct dtv_frontend_properties Most of the parameters here are already well defined at the userspace documentation. Yet, it is good to add some documentation, for the developers to be sure that they are the same as the ones at userspace API. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 0cfcc493a50ef6d8b2ceda3390be0306f319ed18 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 13:28:02 2015 -0300 [media] dvb-frontend.h: document struct dvb_frontend_ops This is one of the most important functions of the DVB frontend, containing the logic needed to set the parameters at the demux and to send commands via SEC. Document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 27460adc07a3f84e671dec71ac553818d5988003 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 12:48:09 2015 -0300 [media] dvb: Use DVBFE_ALGO_HW where applicable The dvb_frontend.c core defines a FE_ALGO_HW symbol that it is never used. Also, both cx24123 returns 1 to get_algo() callback instead of using DVBFE_ALGO_HW. Probably, those are some left overs from some code cleanup. Let's stop returning magic numbers and use the proper macro value. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 0bf6cd7bc5d6751386d5f092e8d3fd2537aac954 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 11:35:50 2015 -0300 [media] dvb_frontend.h: document struct analog_demod_ops Add documentation for struct analog_demod_info and struct analog_demod_ops. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 465291a0eba9662a2ec597b96881dd92b034c30c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 11:13:37 2015 -0300 [media] dvb_frontend.h: Document struct dvb_tuner_ops The struct dvb_tuner_ops contains lots of callbacks used by tuners. Document them. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 1a77763428c7647e74347c1c5760440fe0cd0aea Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:58:26 2015 -0300 [media] Docbook: Document struct analog_parameters That struct inside dvb-frontend.h stores some parameters from V4L2 API (videodev2.h), in order to be used by the hybrid analog/digital TV tuners. Document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 0c68b1ce850592fb5812e425cba6ab92951955a4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:48:57 2015 -0300 [media] dvb_frontend.h: get rid of dvbfe_modcod This enum is not used anymore, as drivers use the modulation definitions from the public API. It is probably a left over from some DVB core cleanup. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 8bcbc2f32e3388c6b899fd8c662be471ef609b2a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:48:05 2015 -0300 [media] add documentation for struct dvb_tuner_info Despite being used everywhere at DVB frontends, the struct dvb_tuner_info were never documented. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit d6e9b704d9553ee9d54baddcc6d9b63a4574f272 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Aug 22 09:04:50 2015 +0530 ata: pata_arasam_cf: Use devm_clk_get This patch introduces the use of managed resource function devm_clk_get instead of clk_get and removes corresponding call to clk_put in the remove function. To be compatible with the change various gotos are replaced with direct returns, and unneeded label is dropped. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 5839a5506de30c23d4cfaf49755cd294f5c48368 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 21 22:05:58 2015 +0300 perf tools: Fix tarball build broken by pt/bts Fix some include paths and add missing inat_types.h. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/55D77696.60102@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a57e456a7b28431b55e407e5ab78ebd5b378d19e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sat Aug 22 16:41:17 2015 +0200 x86/apic: Fix fallout from x2apic cleanup In the recent x2apic cleanup I got two things really wrong: 1) The safety check in __disable_x2apic which allows the function to be called unconditionally is backwards. The check is there to prevent access to the apic MSR in case that the machine has no apic. Though right now it returns if the machine has an apic and therefor the disabling of x2apic is never invoked. 2) x2apic_disable() sets x2apic_mode to 0 after registering the local apic. That's wrong, because register_lapic_address() checks x2apic mode and therefor takes the wrong code path. This results in boot failures on machines with x2apic preenabled by BIOS and can also lead to an fatal MSR access on machines without apic. The solutions are simple: 1) Correct the sanity check for apic availability 2) Clear x2apic_mode _before_ calling register_lapic_address() Fixes: 659006bf3ae3 'x86/x2apic: Split enable and setup function' Reported-and-tested-by: Javier Monteagudo <javiermon@xxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: https://bugzilla.redhat.com/show_bug.cgi?id=1224764 Cc: stable@xxxxxxxxxxxxxxx # 4.0+ Cc: Laura Abbott <labbott@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Joerg Roedel <joro@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> commit 69786cdb379bbc6eab14cf2393c1abd879316e85 Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Thu Aug 13 08:37:24 2015 +0300 x86/kasan, mm: Introduce generic kasan_populate_zero_shadow() Introduce generic kasan_populate_zero_shadow(shadow_start, shadow_end). This function maps kasan_zero_page to the [shadow_start, shadow_end] addresses. This replaces x86_64 specific populate_zero_shadow() and will be used for ARM64 in follow on patches. The main changes from original version are: * Use p?d_populate*() instead of set_p?d() * Use memblock allocator directly instead of vmemmap_alloc_block() * __pa() instead of __pa_nodebug(). __pa() causes troubles iff we use it before kasan_early_init(). kasan_populate_zero_shadow() will be used later, so we ok with __pa() here. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Keitel <dkeitel@xxxxxxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yury <yury.norov@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1439444244-26057-3-git-send-email-ryabinin.a.a@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 920e277e17f12870188f4564887a95ae9ac03e31 Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Thu Aug 13 08:37:23 2015 +0300 x86/kasan: Define KASAN_SHADOW_OFFSET per architecture Current definition of KASAN_SHADOW_OFFSET in include/linux/kasan.h will not work for upcomming arm64, so move it to the arch header. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: David Keitel <dkeitel@xxxxxxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yury <yury.norov@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1439444244-26057-2-git-send-email-ryabinin.a.a@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b466bdb614823aaaa7188e85516177d2850f4782 Author: Huang Rui <ray.huang@xxxxxxx> Date: Mon Aug 10 12:19:54 2015 +0200 x86/asm/delay: Introduce an MWAITX-based delay with a configurable timer MWAITX can enable a timer and a corresponding timer value specified in SW P0 clocks. The SW P0 frequency is the same as TSC. The timer provides an upper bound on how long the instruction waits before exiting. This way, a delay function in the kernel can leverage that MWAITX timer of MWAITX. When a CPU core executes MWAITX, it will be quiesced in a waiting phase, diminishing its power consumption. This way, we can save power in comparison to our default TSC-based delays. A simple test shows that: $ cat /sys/bus/pci/devices/0000\:00\:18.4/hwmon/hwmon0/power1_acc $ sleep 10000s $ cat /sys/bus/pci/devices/0000\:00\:18.4/hwmon/hwmon0/power1_acc Results: * TSC-based default delay: 485115 uWatts average power * MWAITX-based delay: 252738 uWatts average power Thus, that's about 240 milliWatts less power consumption. The test method relies on the support of AMD CPU accumulated power algorithm in fam15h_power for which patches are forthcoming. Suggested-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Suggested-by: Borislav Petkov <bp@xxxxxxx> Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Huang Rui <ray.huang@xxxxxxx> [ Fix delay truncation. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Aaron Lu <aaron.lu@xxxxxxxxx> Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxx> Cc: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Frédéric Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Hector Marco-Gisbert <hecmargi@xxxxxx> Cc: Jacob Shin <jacob.w.shin@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Li <tony.li@xxxxxxx> Link: http://lkml.kernel.org/r/1438744732-1459-3-git-send-email-ray.huang@xxxxxxx Link: http://lkml.kernel.org/r/1439201994-28067-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f96756746c7909de37db3d03ac5fd5cfb2757f38 Author: Huang Rui <ray.huang@xxxxxxx> Date: Mon Aug 10 12:19:53 2015 +0200 x86/asm: Add MONITORX/MWAITX instruction support AMD Carrizo processors (Family 15h, Models 60h-6fh) added a new feature called MWAITX (MWAIT with extensions) as an extension to MONITOR/MWAIT. This new instruction controls a configurable timer which causes the core to exit wait state on timer expiration, in addition to "normal" MWAIT condition of reading from a monitored VA. Compared to MONITOR/MWAIT, there are minor differences in opcode and input parameters: MWAITX ECX[1]: enable timer if set MWAITX EBX[31:0]: max wait time expressed in SW P0 clocks == TSC. The software P0 frequency is the same as the TSC frequency. MWAIT MWAITX opcode 0f 01 c9 | 0f 01 fb ECX[0] value of RFLAGS.IF seen by instruction ECX[1] unused/#GP if set | enable timer if set ECX[31:2] unused/#GP if set EAX unused (reserve for hint) EBX[31:0] unused | max wait time (SW P0 == TSC) MONITOR MONITORX opcode 0f 01 c8 | 0f 01 fa EAX (logical) address to monitor ECX #GP if not zero Max timeout = EBX/(TSC frequency) Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Aaron Lu <aaron.lu@xxxxxxxxx> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Dirk Brandewie <dirk.j.brandewie@xxxxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Frédéric Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <bitbucket@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Li <tony.li@xxxxxxx> Link: http://lkml.kernel.org/r/1439201994-28067-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b9de1726b52d0c1dc07d90fd6a63fca49ea8b5b9 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:47:04 2015 -0300 [media] dvb_frontend: document dvb_frontend_tune_settings Add Documentation for dvb_frontend_tune_settings struct. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 04ffb9c126d6d887b08b68bbe0c0842ec9def78d Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:22:25 2015 -0300 [media] DocBook: Better organize media devices Instead of putting all media devices on a flat structure, split them on 4 types, just like we do with the userspace API: Video2Linux devices Digital TV (DVB) devices Remote Controller devices Media Controller devices Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 98d00bd7a2477ffce8010458938425095345f470 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:04:46 2015 -0300 [media] v4l2-mediabus: Add to DocBook Fix the format of the comments and add to DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit b6836a6fbc4b7e35679bf7bb8b54bad294ae0b10 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:01:58 2015 -0300 [media] videobuf2-memops.h: add to device-drivers DocBook The comment metadata was wrong: Warning(.//include/media/videobuf2-memops.h:25): cannot understand function prototype: 'struct vb2_vmarea_handler ' Warning(.//include/media/videobuf2-memops.h): no structured comments found Fix and add to DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit d78757e780f1845dd5c9615169f7401c7d0d1a66 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:57:02 2015 -0300 [media] videobuf2-core: Add it to device-drivers DocBook Most of the stuff at videobuf2-core are ok for adding it to DocBook. Two notes here: 1) As videobuf2-core will be soon be changed, better to not spend too much efforts right now, as things will change soon; 2) struct vb2_queue has a number of private elements that are documented. As Kernel nano documentation format handles "private:" arguments, we need to put them on a separate comment block or to remove. Keeping the comments is obviously better ;) Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 506bb54bdb0898e046e62751d761a5592966a637 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:36:13 2015 -0300 [media] v4l-dv-timings.h: Add to device-drivers DocBook There are already markups for documentation at v4l-dv-timings.h, however, they're not properly formatted. Convert them to the right format and add this file to the device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit b6fce850d9fa46eefdaa7ef28ac1f3fce7c803d2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:28:39 2015 -0300 [media] v4l2-event.h: fix comments and add to DocBook The comments there are good enough for DocBook, however they're using a wrong format. Fix and add to device-drivers.xml. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 7dc879190f55f4ecb12c754fb0f11a596e478fd1 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:22:03 2015 -0300 [media] v4l2-ctrls.h: Document a few missing arguments Warning(.//include/media/v4l2-ctrls.h:217): No description found for parameter 'p_new' Warning(.//include/media/v4l2-ctrls.h:217): No description found for parameter 'p_cur' Warning(.//include/media/v4l2-ctrls.h:217): Excess struct/union/enum/typedef member 'val64' description in 'v4l2_ctrl' Warning(.//include/media/v4l2-ctrls.h:314): No description found for parameter 'qmenu_int' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 276ce3a860d3c119e472abcfa75351c703f8722f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:21:10 2015 -0300 [media] v4l2-ctls: don't document v4l2_ctrl_fill() This is an obsolete function that has several missing arguments: Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'id' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'name' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'type' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'min' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'max' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'step' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'def' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'flags' However, this is an obsolete function that should be removed soon. And are not meant to be used anymore. So, instead of documenting those stuff, let's just make DocBook to not handle it, by replacing "/**" by "/*". Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 8c2721d57a4bac055ae7bb1874a13a928277d5ff Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:03:49 2015 -0300 [media] v4l2-ctrls.h: add to device-drivers DocBook The comments there are using a wrong format. Due to that, DocBook were unable to parse it. Fix the tags format, and add it to device-drivers.xml. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 2a86e373e0cf926f5cb41725f1b0ce3874e7b1cf Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 07:38:51 2015 -0300 [media] DocBook: add dvb_ringbuffer.h to documentation There are already some comments at dvb_ringbuffer.h that are ready for DocBook, although not properly formatted. Convert them, fix some issues and add this file to the device-drivers DocBook. While here, put multi-line comments on the right format. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit e08bb6f79fa0b9bf94ea44a306d1528172d788af Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 07:37:28 2015 -0300 [media] DocBook: add dvb_math.h to documentation There are already some comments at dvb_math.h that are ready for DocBook, although not properly formatted. Convert them, fix some issues and add this file to the device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 4f1c1868e8d4e493d66b8e11eebbc95abdbaf444 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 07:19:20 2015 -0300 [media] DocBook: add dvb_frontend.h to documentation There are already some comments at dvb_frontend.h that are ready for DocBook, although not properly formatted. Convert them, and add this file to the device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit f47f966fbe0aaff4ebbdb83d95acdfa5d3c20477 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sun Jul 19 22:53:52 2015 +0530 cxl: Remove use of macro DEFINE_PCI_DEVICE_TABLE Macro DEFINE_PCI_DEVICE_TABLE is deprecated. So, here use struct pci_device_id instead of DEFINE_PCI_DEVICE_TABLE with the goal of getting rid of this macro completely. The Coccinelle semantic patch that performs this transformation is as follows: @@ identifier a; declarer name DEFINE_PCI_DEVICE_TABLE; initializer i; @@ - DEFINE_PCI_DEVICE_TABLE(a) + const struct pci_device_id a[] = i; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5d53be7d8c7ccf8eec1ce66c6b3573c01d16b755 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Sat Aug 22 09:33:55 2015 +1000 powerpc/powernv: Fix mis-merge of OPAL support for LEDS driver When I merged the OPAL support for the powernv LEDS driver I missed a hunk. This is slightly modified from the original patch, as the original added code to opal-api.h which is not in the skiboot version, which is discouraged. Instead those values are moved into the driver, which is the only place they are used. Fixes: 8a8d91817aec ("powerpc/powernv: Add OPAL interfaces for accessing and modifying system LED states") Reviewed-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fbefb1a87c7e6e24df6ca5b42b42985e2680c2ea Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 07:09:29 2015 -0300 [media] DocBook: add dvb_ca_en50221.h to documentation There are already some tags at dvb_ca_en50221.h, but using a different format. Convert them, fix a few entries and add to the device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 1d8955b2c3fa476a1222b020349937c93a8e4762 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:59:26 2015 -0300 [media] v4l2-subdev: add remaining argument descriptions Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'ioctl' Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'compat_ioctl32' Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'subscribe_event' Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'unsubscribe_event' Warning(.//include/media/v4l2-subdev.h:273): No description found for parameter 's_stream' Warning(.//include/media/v4l2-subdev.h:407): No description found for parameter 's_stream' Warning(.//include/media/v4l2-subdev.h:623): No description found for parameter 'link_validate' Warning(.//include/media/v4l2-subdev.h:623): No description found for parameter 'set_frame_desc' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit e44cc20a1d0952835e2fc01706b609ee8a3d9d92 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:34:06 2015 -0300 [media] v4l2_subdev: describe ioctl parms at the remaining structs Fixes the following warnings: Warning(.//include/media/v4l2-subdev.h:445): No description found for parameter 'g_sliced_vbi_cap' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_mbus_code' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_frame_size' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_frame_interval' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'get_fmt' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'set_fmt' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'get_selection' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'set_selection' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'get_edid' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'set_edid' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'dv_timings_cap' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_dv_timings' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 914728ab609f7160a1b6d2a3be1edd8f6b2cf88e Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:18:13 2015 -0300 [media] v4l2_subdev: describe ioctl parms at v4l2_subdev_video_ops Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_std' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_std' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'querystd' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'cropcap' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_crop' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_crop' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_parm' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_parm' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_frame_interval' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_frame_interval' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_dv_timings' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_dv_timings' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'query_dv_timings' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit b84aeb03a886beef39f80e30b76d30a833dd8161 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:12:35 2015 -0300 [media] v4l2-subdev: reorder the v4l2_subdev_video_ops comments The comments for struct v4l2_subdev_video_ops are out of the order as the parameter would appear at struct. This is not a problem for DocBook, but humans find harder to mentally reorder ;) So, put them at the right order. That makes easier to check what's missing, and to put the comments in the right place. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 91963aae9a65286eea30ca810027ddc09b26e779 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:07:29 2015 -0300 [media] v4l2-subdev: Add description for radio ioctl handlers Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 's_radio' Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 's_frequency' Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 'enum_freq_bands' Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 'g_tuner' Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 'g_modulator' Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 's_modulator' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 783001adf99b432a31acb2a4c198da8846d8dcc3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:00:22 2015 -0300 [media] v4l2-subdev: Add description for core ioctl handlers Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'queryctrl' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'g_ctrl' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 's_ctrl' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'g_ext_ctrls' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 's_ext_ctrls' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'try_ext_ctrls' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'querymenu' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'g_register' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 's_register' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit a3b3a9db5d26bef1e62054c95c3d7701de5110d5 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 22 12:24:13 2015 +0300 ALSA: hdsp: silence a sprinft() overflow warning card->shortname is a 32 char string so the sprintf() can theoretically overflow. snd_rawmidi_new() can accept strings up to 64 bytes long. I have made the temporay buf[] array 40 bytes long and changed the sprintf() to snprintf(). Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c63517c2e3810071359af926f621c1f784388c3f Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Wed May 27 09:56:57 2015 +1000 KVM: PPC: Book3S: correct width in XER handling In 64 bit kernels, the Fixed Point Exception Register (XER) is a 64 bit field (e.g. in kvm_regs and kvm_vcpu_arch) and in most places it is accessed as such. This patch corrects places where it is accessed as a 32 bit field by a 64 bit kernel. In some cases this is via a 32 bit load or store instruction which, depending on endianness, will cause either the lower or upper 32 bits to be missed. In another case it is cast as a u32, causing the upper 32 bits to be cleared. This patch corrects those places by extending the access methods to 64 bits. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Reviewed-by: Laurent Vivier <lvivier@xxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxx> Tested-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 563a1e93afac4d2c135072461fbab418b9dff43f Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Thu Jul 16 17:11:14 2015 +1000 KVM: PPC: Book3S HV: Fix preempted vcore stolen time calculation Whenever a vcore state is VCORE_PREEMPT we need to be counting stolen time for it. This currently isn't the case when we have a vcore that no longer has any runnable threads in it but still has a runner task, so we do an explicit call to kvmppc_core_start_stolen() in that case. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 402813fe39db66e8f3be2a1b5b62dd664e33f6b8 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Thu Jul 16 17:11:13 2015 +1000 KVM: PPC: Book3S HV: Fix preempted vcore list locking When a vcore gets preempted, we put it on the preempted vcore list for the current CPU. The runner task then calls schedule() and comes back some time later and takes itself off the list. We need to be careful to lock the list that it was put onto, which may not be the list for the current CPU since the runner task may have moved to another CPU. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cdeee51842b55acb3e699a4083fa97e82384e456 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Jun 24 21:18:07 2015 +1000 KVM: PPC: Book3S HV: Implement H_CLEAR_REF and H_CLEAR_MOD This adds implementations for the H_CLEAR_REF (test and clear reference bit) and H_CLEAR_MOD (test and clear changed bit) hypercalls. When clearing the reference or change bit in the guest view of the HPTE, we also have to clear it in the real HPTE so that we can detect future references or changes. When we do so, we transfer the R or C bit value to the rmap entry for the underlying host page so that kvm_age_hva_hv(), kvm_test_age_hva_hv() and kvmppc_hv_get_dirty_log() know that the page has been referenced and/or changed. These hypercalls are not used by Linux guests. These implementations have been tested using a FreeBSD guest. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 08fe1e7bd216339501c4eb0d0df0f413d715327a Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Jun 24 21:18:06 2015 +1000 KVM: PPC: Book3S HV: Fix bug in dirty page tracking This fixes a bug in the tracking of pages that get modified by the guest. If the guest creates a large-page HPTE, writes to memory somewhere within the large page, and then removes the HPTE, we only record the modified state for the first normal page within the large page, when in fact the guest might have modified some other normal page within the large page. To fix this we use some unused bits in the rmap entry to record the order (log base 2) of the size of the page that was modified, when removing an HPTE. Then in kvm_test_clear_dirty_npages() we use that order to return the correct number of modified pages. The same thing could in principle happen when removing a HPTE at the host's request, i.e. when paging out a page, except that we never page out large pages, and the guest can only create large-page HPTEs if the guest RAM is backed by large pages. However, we also fix this case for the sake of future-proofing. The reference bit is also subject to the same loss of information. We don't make the same fix here for the reference bit because there isn't an interface for userspace to find out which pages the guest has referenced, whereas there is one for userspace to find out which pages the guest has modified. Because of this loss of information, the kvm_age_hva_hv() and kvm_test_age_hva_hv() functions might incorrectly say that a page has not been referenced when it has, but that doesn't matter greatly because we never page or swap out large pages. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1e5bf454f58731e360e504253e85bae7aaa2d298 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Jun 24 21:18:05 2015 +1000 KVM: PPC: Book3S HV: Fix race in reading change bit when removing HPTE The reference (R) and change (C) bits in a HPT entry can be set by hardware at any time up until the HPTE is invalidated and the TLB invalidation sequence has completed. This means that when removing a HPTE, we need to read the HPTE after the invalidation sequence has completed in order to obtain reliable values of R and C. The code in kvmppc_do_h_remove() used to do this. However, commit 6f22bd3265fb ("KVM: PPC: Book3S HV: Make HTAB code LE host aware") removed the read after invalidation as a side effect of other changes. This restores the read of the HPTE after invalidation. The user-visible effect of this bug would be that when migrating a guest, there is a small probability that a page modified by the guest and then unmapped by the guest might not get re-transmitted and thus the destination might end up with a stale copy of the page. Fixes: 6f22bd3265fb Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b4deba5c41e9f6d3239606c9e060853d9decfee1 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Thu Jul 2 20:38:16 2015 +1000 KVM: PPC: Book3S HV: Implement dynamic micro-threading on POWER8 This builds on the ability to run more than one vcore on a physical core by using the micro-threading (split-core) modes of the POWER8 chip. Previously, only vcores from the same VM could be run together, and (on POWER8) only if they had just one thread per core. With the ability to split the core on guest entry and unsplit it on guest exit, we can run up to 8 vcpu threads from up to 4 different VMs, and we can run multiple vcores with 2 or 4 vcpus per vcore. Dynamic micro-threading is only available if the static configuration of the cores is whole-core mode (unsplit), and only on POWER8. To manage this, we introduce a new kvm_split_mode struct which is shared across all of the subcores in the core, with a pointer in the paca on each thread. In addition we extend the core_info struct to have information on each subcore. When deciding whether to add a vcore to the set already on the core, we now have two possibilities: (a) piggyback the vcore onto an existing subcore, or (b) start a new subcore. Currently, when any vcpu needs to exit the guest and switch to host virtual mode, we interrupt all the threads in all subcores and switch the core back to whole-core mode. It may be possible in future to allow some of the subcores to keep executing in the guest while subcore 0 switches to the host, but that is not implemented in this patch. This adds a module parameter called dynamic_mt_modes which controls which micro-threading (split-core) modes the code will consider, as a bitmap. In other words, if it is 0, no micro-threading mode is considered; if it is 2, only 2-way micro-threading is considered; if it is 4, only 4-way, and if it is 6, both 2-way and 4-way micro-threading mode will be considered. The default is 6. With this, we now have secondary threads which are the primary thread for their subcore and therefore need to do the MMU switch. These threads will need to be started even if they have no vcpu to run, so we use the vcore pointer in the PACA rather than the vcpu pointer to trigger them. It is now possible for thread 0 to find that an exit has been requested before it gets to switch the subcore state to the guest. In that case we haven't added the guest's timebase offset to the timebase, so we need to be careful not to subtract the offset in the guest exit path. In fact we just skip the whole path that switches back to host context, since we haven't switched to the guest context. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ec257165082616841a354dd915801ed43e3553be Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Jun 24 21:18:03 2015 +1000 KVM: PPC: Book3S HV: Make use of unused threads when running guests When running a virtual core of a guest that is configured with fewer threads per core than the physical cores have, the extra physical threads are currently unused. This makes it possible to use them to run one or more other virtual cores from the same guest when certain conditions are met. This applies on POWER7, and on POWER8 to guests with one thread per virtual core. (It doesn't apply to POWER8 guests with multiple threads per vcore because they require a 1-1 virtual to physical thread mapping in order to be able to use msgsndp and the TIR.) The idea is that we maintain a list of preempted vcores for each physical cpu (i.e. each core, since the host runs single-threaded). Then, when a vcore is about to run, it checks to see if there are any vcores on the list for its physical cpu that could be piggybacked onto this vcore's execution. If so, those additional vcores are put into state VCORE_PIGGYBACK and their runnable VCPU threads are started as well as the original vcore, which is called the master vcore. After the vcores have exited the guest, the extra ones are put back onto the preempted list if any of their VCPUs are still runnable and not idle. This means that vcpu->arch.ptid is no longer necessarily the same as the physical thread that the vcpu runs on. In order to make it easier for code that wants to send an IPI to know which CPU to target, we now store that in a new field in struct vcpu_arch, called thread_cpu. Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Tested-by: Laurent Vivier <lvivier@xxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 845ac985cf8e3d52939dbe2446d91e47e91a07b6 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Mon May 18 15:44:27 2015 +0300 KVM: PPC: add missing pt_regs initialization On this switch branch the regs initialization doesn't happen so add it. This was found with the help of a static code analysis tool. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5358a96341a7fba23cbf0eaf01ce1ab4d738fc90 Author: Thomas Huth <thuth@xxxxxxxxxx> Date: Fri May 22 09:25:02 2015 +0200 KVM: PPC: Fix warnings from sparse When compiling the KVM code for POWER with "make C=1", sparse complains about functions missing proper prototypes and a 64-bit constant missing the ULL prefix. Let's fix this by making the functions static or by including the proper header with the prototypes, and by appending a ULL prefix to the constant PPC_MPPE_ADDRESS_MASK. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 129fd4233b62159d50c35fb6489cb22ee9c27415 Author: Thomas Huth <thuth@xxxxxxxxxx> Date: Fri May 22 11:41:01 2015 +0200 KVM: PPC: Remove PPC970 from KVM_BOOK3S_64_HV text in Kconfig Since the PPC970 support has been removed from the kvm-hv kernel module recently, we should also reflect this change in the help text of the corresponding Kconfig option. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f5ffe330f5e63325000f58ed982a159c512f6db3 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Mon May 25 11:48:39 2015 +0300 KVM: PPC: fix suspicious use of conditional operator This was signaled by a static code analysis tool. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Reviewed-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f0a97af83f6287357dcc100c859ec0066f164f32 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Aug 20 22:03:21 2015 -0700 x86/traps: Weaken context tracking entry assertions We were asserting that we were all the way in CONTEXT_KERNEL when exception handlers were called. While having this be true is, I think, a nice goal (or maybe a variant in which we assert that we're in CONTEXT_KERNEL or some new IRQ context), we're not quite there. In particular, if an IRQ interrupts the SYSCALL prologue and the IRQ handler in turn causes an exception, the exception entry will be called in RCU IRQ mode but with CONTEXT_USER. This is okay (nothing goes wrong), but until we fix up the SYSCALL prologue, we need to avoid warning. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/c81faf3916346c0e04346c441392974f49cd7184.1440133286.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5c6629847cf6641984b1808707b43772db4e4403 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:40:29 2015 -0300 [media] v4l2-subdev: convert documentation to the right format struct v4l2_subdev_core_ops has some kernel-doc-nano documentation using a wrong format, with affects the number of stuff reported at the DocBook device-drivers.xml. Properly mark the such comment blocks using the right notation. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 85e1cd6e769dfc84995270d0a4838021fcb8602d Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Aug 22 01:10:47 2015 -0700 hrtimer: Handle failure of tick_init_highres() gracefully Commit 75e3b37d0598 ("hrtimer: Drop return code of hrtimer_switch_to_hres()") drops the return code of hrtimer_switch_to_hres(). While doing so, it also drops the return statement itself on failure. This may cause a system hang. Seen when running arm:multi_v7_defconfig in qemu with devicetree file vexpress-v2p-ca9. Fixes: 75e3b37d0598 ("hrtimer: Drop return code of hrtimer_switch_to_hres()") Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440231047-16256-1-git-send-email-linux@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 62c0d016dab0ffd3cd28f10236186ef341ddece8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:34:40 2015 -0300 [media] Docbook: Fix comments at v4l2-mem2mem.h Warning(.//include/media/v4l2-mem2mem.h:50): No description found for parameter 'lock' Warning(.//include/media/v4l2-mem2mem.h:50): No description found for parameter 'unlock' Warning(.//include/media/v4l2-mem2mem.h:167): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:177): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:188): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:197): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:206): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:215): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:226): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:235): No description found for parameter 'm2m_ctx' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 62ba6b22f4bb99dbf53c5a0ac43b24c00c0fc86a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:28:44 2015 -0300 [media] Docbook: fix comments at v4l2-flash-led-class.h Warning(.//include/media/v4l2-flash-led-class.h:51): bad line: unique in the system Warning(.//include/media/v4l2-flash-led-class.h:56): bad line: definitions are available in the header file Warning(.//include/media/v4l2-flash-led-class.h:57): bad line: <linux/led-class-flash.h> Warning(.//include/media/v4l2-flash-led-class.h:122): No description found for parameter 'ops' Warning(.//include/media/v4l2-flash-led-class.h:122): Excess function parameter 'flash_ops' description in 'v4l2_flash_init' Warning(.//include/media/v4l2-flash-led-class.h:130): No description found for parameter 'v4l2_flash' Warning(.//include/media/v4l2-flash-led-class.h:130): Excess function parameter 'flash' description in 'v4l2_flash_release' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit fa810845efc4d3c0f159a3e7a35f009e0249c857 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:25:45 2015 -0300 [media] Docbook: Fix s_rx_carrier_range parameter description Warning(.//include/media/rc-core.h:178): No description found for parameter 's_rx_carrier_range' Warning(.//include/media/rc-core.h:178): Excess struct/union/enum/typedef member 's_rx_carrier' description in 'rc_dev' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit f8b27377076e4405a25bdb40ee32ef7a0b261573 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:16:24 2015 -0300 [media] Docbook: Fix comments at v4l2-async.h Warning(.//include/media/v4l2-async.h:62): No description found for parameter 'match_type' Warning(.//include/media/v4l2-async.h:62): Excess struct/union/enum/typedef member 'bus_type' description in 'v4l2_async_subdev' Warning(.//include/media/v4l2-async.h:76): cannot understand function prototype: 'struct v4l2_async_notifier ' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 5240f4e68d4209588194ea1db60f7c822e2a1c6f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:02:21 2015 -0300 [media] DocBook/media/Makefile: Avoid make htmldocs to fail If make is called twice like that: make V=1 DOCBOOKS=device-drivers.xml htmldocs Make will fail with: make -f ./scripts/Makefile.build obj=scripts/basic rm -f .tmp_quiet_recordmcount make -f ./scripts/Makefile.build obj=scripts build_docproc make -f ./scripts/Makefile.build obj=Documentation/DocBook htmldocs rm -rf Documentation/DocBook/index.html; echo '<h1>Linux Kernel HTML Documentation</h1>' >> Documentation/DocBook/index.html && echo '<h2>Kernel Version: 4.2.0-rc2</h2>' >> Documentation/DocBook/index.html && cat Documentation/DocBook/device-drivers.html >> Documentation/DocBook/index.html cp ./Documentation/DocBook//bayer.png ./Documentation/DocBook//constraints.png ./Documentation/DocBook//crop.gif ./Documentation/DocBook//dvbstb.png ./Documentation/DocBook//fieldseq_bt.gif ./Documentation/DocBook//fieldseq_tb.gif ./Documentation/DocBook//nv12mt.gif ./Documentation/DocBook//nv12mt_example.gif ./Documentation/DocBook//pipeline.png ./Documentation/DocBook//selection.png ./Documentation/DocBook//vbi_525.gif ./Documentation/DocBook//vbi_625.gif ./Documentation/DocBook//vbi_hsync.gif ./Documentation/DocBook/media/*.svg ./Documentation/DocBook/media/v4l/*.svg ./Documentation/DocBook//media_api cp: target './Documentation/DocBook//media_api' is not a directory Documentation/DocBook/Makefile:53: recipe for target 'htmldocs' failed Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit ec0255cad2dace5be54cc52010bb07fdb5628e1e Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 04:45:03 2015 -0300 [media] Docbook: Fix description of struct media_devnode Warning(.//include/media/media-devnode.h:80): No description found for parameter 'fops' Warning(.//include/media/media-devnode.h:80): No description found for parameter 'dev' Warning(.//include/media/media-devnode.h:80): No description found for parameter 'cdev' Warning(.//include/media/media-devnode.h:80): No description found for parameter 'release' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit dc2c8bd3c9a44ed38d9af6c7243fdddc42ec391a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Aug 21 14:17:13 2015 -0300 [media] DocBook/device-drivers: Add drivers/media core stuff There are lots of docbook marks at the media subsystem, but those aren't used. Add the core headers/code in order to start generating docs. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 88c25dcb1185f2c7041550976430e27fa9d8dcca Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Aug 21 13:37:54 2015 -0300 [media] DocBook: fix an unbalanced <para> tag The </para> got lost on some change at the DVB docbook, making the tag unbalanced and causing a warning. Fix it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 0e53909a1cf0153736fb52c216558a65530d8c40 Merge: 82819ff 1c0bd0e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Aug 22 08:45:46 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Fix segfault using 'perf script --show-mmap-events', affects only current perf/core. (Adrian Hunter) - /proc/kcore requires CAP_SYS_RAWIO message too noisy, make it debug only. (Adrian Hunter) - Fix Intel PT timestamp handling. (Adrian Hunter) - Add Intel BTS support, with a call-graph script to show it and PT in use in a GUI using 'perf script' python scripting with postgresql and Qt. (Adrian Hunter) - Add checks for returned EVENT_ERROR type in libtraceevent, fixing a bug that surfaced on arm64 systems. (Dean Nelson) - Fallback to using kallsyms when libdw fails to handle a vmlinux file, that can happen, for instance, when perf is statically linked and then libdw fails to load libebl_{arch}.so. (Wang Nan) Infrastructure changes: - Initialize reference counts in map__clone(). (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dac2ddefe62841efc0b6cdcb0bbf3e3594aa01bf Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:16:09 2015 +0800 f2fs: lookup neighbor extent nodes for merging later In __lookup_extent_tree_ret we will not try to find neighbor nodes if we find the target node, in this condition, we will lost the chance to merge the new mapping with exist extent node later. So our extent cache of inode will be fragmented after overwrite exist file, we can see the number of extent node increases intensively in following test case: dd if=/dev/zero of=/mnt/f2fs/4m bs=4K count=1024 Extent Cache: - Hit Count: L1-1:0 L1-2:0 L2:0 - Hit Ratio: 0% (0 / 3072) - Inner Struct Count: tree: 1, node: 1 dd if=/dev/zero of=/mnt/f2fs/4m bs=4K count=1024 conv=notrunc Extent Cache: - Hit Count: L1-1:2048 L1-2:0 L2:0 - Hit Ratio: 33% (2048 / 6144) - Inner Struct Count: tree: 1, node: 961 This patch fixes to lookup neighbors of target node for further merging. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ef05e221995057a8588cad675992ca2cb47e9891 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:15:09 2015 +0800 f2fs: split __insert_extent_tree_ret for readability This patch splits __insert_extent_tree_ret into __try_merge_extent_node & __insert_extent_tree for code readability. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a6f7834594a284316b38d0885b2ee1ab47899dbc Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:14:15 2015 +0800 f2fs: kill dead code in __insert_extent_tree After commit 0f825ee6e873 ("f2fs: add new interfaces for extent tree"), f2fs_init_extent_tree becomes the only caller of __insert_extent_tree, and in f2fs_init_extent_tree, we will only insert extent node in an empty tree, so __try_{back,front}_merge in __insert_extent_tree will never be called. This patch removes these dead codes, besides, rename __insert_extent_tree to __init_extent_tree for readability. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 029e13cc3221be4bc46909225142277fee52c37e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:13:25 2015 +0800 f2fs: adjust showing of extent cache stat This patch alters to replace total hit stat with rbtree hit stat, and then adjust showing of extent cache stat: Hit Count: L1-1: for largest node hit count; L1-2: for last cached node hit count; L2: for extent node hit after lookuping in rbtree. Hit Ratio: ratio (hit count / total lookup count) Inner Struct Count: tree count, node count. Before: Extent Hit Ratio: 0 / 2 Extent Tree Count: 3 Extent Node Count: 2 Patched: Exten Cacache: - Hit Count: L1-1:4871 L1-2:2074 L2:208 - Hit Ratio: 1% (7153 / 550751) - Inner Struct Count: tree: 26560, node: 11824 Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 91c481fff92c705dd382f1f53c01e6b6b88507d0 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:12:20 2015 +0800 f2fs: add largest/cached stat in extent cache This patch adds to stat the hit count of largest/cached node for showing in debugfs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit e2b4e2bc8865e03eecd49caa9713a2402a96bba9 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:11:19 2015 +0800 f2fs: fix incorrect mapping for bmap The test step is like below: 1. touch file 2. truncate -s $((1024*1024)) file 3. fallocate -o 0 -l $((1024*1024)) file 4. fibmap.f2fs file Our result of fibmap.f2fs showed below is not correct: file_pos start_blk end_blk blks 0 -937166132 -937166132 1 4096 -937166132 -937166132 1 8192 -937166132 -937166132 1 12288 -937166132 -937166132 1 16384 -937166132 -937166132 1 20480 -937166132 -937166132 1 ... 1040384 -937166132 -937166132 1 1044480 -937166132 -937166132 1 This is because f2fs_map_blocks will return with no error when meeting a hole or preallocated block, the caller __get_data_block will map the uninitialized variable value to bh->b_blocknr. Unfortunately generic_block_bmap will neither check the return value of get_data() nor check mapping info of buffer_head, result in returning the random block address. After fixing the issue, our result shows correctly: file_pos start_blk end_blk blks 0 0 0 256 Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c031f6a904975d5fa84c541333cce444a21ca713 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:02:02 2015 +0800 f2fs: add annotation for space utilization of regular/inline dentry Add annotation to let us know more clearly about space utilization information of regular dentry and inline dentry. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f8b703da2c23f9bfda7299bd14e4f7201c2be3c8 Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Tue Aug 18 17:13:13 2015 +0800 f2fs: fix to update cached_en of extent tree properly In f2fs_lookup_extent_tree, et->cached_en was read and updated with only read lock held, it could cause __lookup_extent_tree within return entirely wrong extent_node, if other thread update et->cached_en just before __lookup_extent_tree return. However, there are two things about this patch that need to be noticed: 1. It does no good to arrange the order of concurrent read/write, the result would still be random in such case. 2. It's built on this assumption: the mix up of reads and writes on a single pointer would not make the pointer partially wrong at any time. Please let me know if I'm wrong, thx. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 217940d4f0c4ec4f0852f7046fa419d0edf65c17 Author: Junesung Lee <junesoung412@xxxxxxxxx> Date: Tue Aug 18 22:42:15 2015 +0900 f2fs: fix typo Fix typo. Signed-off-by: Junesung Lee <junesoung412@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d1d97b76c4af41c8e836e73742c91cbf97d7483c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:16 2015 +0200 mtd: dataflash: Export OF module alias information The SPI core currently reports the MODALIAS uevent as "spi:<modalias>" even for SPI devices that were registered by OF. That means the OF module alias exported by MODULE_OF_TABLE(of,...) is currently not used and user-space has no way to autoload this module. But it is still a good practice to add the OF module alias information into the kernel module even when it currently is unused so once the SPI core is changed to report a correct OF modalias uevent, module autoloading will be working for this driver. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1a3232d2f61d2853a848464b7bde2d54960c58bb Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Tue Aug 18 18:12:20 2015 +0800 ASoC: topology: Add support for TLV bytes controls Allow vendor drivers to define bespoke bytes ext handlers and IDs for TLV bytes controls. And the topology core will bind these handlers by matching IDs defined by the vendor driver and user space topology data file. And TLV callback binding is moved to soc_tplg_kcontrol_bind_io(). This function process all handler binding now. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2b5cdb9156f76162d5302e2847f84a79de8a3ad1 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Tue Aug 18 18:12:01 2015 +0800 ASoC: topology: Reduce arguments of soc_tplg_kcontrol_bind_io() Add the pointer of struct soc_tplg as one argument, so no need to pass standard/vendor specific kcontrol handlers and their count. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 88a17d8fb7c4a156ec13e6668b46dbbedf670ff7 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Tue Aug 18 18:11:51 2015 +0800 ASoC: topology: Bind vendor specific kcontrol handlers before standard ones Vendor specific handlers should override standard handlers. So we can handle things in the order from specific to generic. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d033de5ceee8333e4fee3d59a956244d3736102a Merge: 1a8e7fa f7644cb Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Aug 21 15:26:37 2015 -0700 Merge tag 'v4.2-rc6' into asoc-topology Linux 4.2-rc6 commit a887adadb7b9ef9eb4ee48e4ad575aefcfd1db14 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Aug 21 18:07:38 2015 -0400 drm/amdgpu: Don't link train DisplayPort on HPD until we get the dpcd This is a port of: DRM - radeon: Don't link train DisplayPort on HPD until we get the dpcd to amdgpu. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 924f92bf12bfbef3662619e3ed24a1cea7c1cbcd Author: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Date: Fri Aug 21 14:16:12 2015 -0400 DRM - radeon: Don't link train DisplayPort on HPD until we get the dpcd Most of the time this isn't an issue since hotplugging an adaptor will trigger a crtc mode change which in turn, causes the driver to probe every DisplayPort for a dpcd. However, in cases where hotplugging doesn't cause a mode change (specifically when one unplugs a monitor from a DisplayPort connector, then plugs that same monitor back in seconds later on the same port without any other monitors connected), we never probe for the dpcd before starting the initial link training. What happens from there looks like this: - GPU has only one monitor connected. It's connected via DisplayPort, and does not go through an adaptor of any sort. - User unplugs DisplayPort connector from GPU. - Change in HPD is detected by the driver, we probe every DisplayPort for a possible connection. - Probe the port the user originally had the monitor connected on for it's dpcd. This fails, and we clear the first (and only the first) byte of the dpcd to indicate we no longer have a dpcd for this port. - User plugs the previously disconnected monitor back into the same DisplayPort. - radeon_connector_hotplug() is called before everyone else, and tries to handle the link training. Since only the first byte of the dpcd is zeroed, the driver is able to complete link training but does so against the wrong dpcd, causing it to initialize the link with the wrong settings. - Display stays blank (usually), dpcd is probed after the initial link training, and the driver prints no obvious messages to the log. In theory, since only one byte of the dpcd is chopped off (specifically, the byte that contains the revision information for DisplayPort), it's not entirely impossible that this bug may not show on certain monitors. For instance, the only reason this bug was visible on my ASUS PB238 monitor was due to the fact that this monitor using the enhanced framing symbol sequence, the flag for which is ignored if the radeon driver thinks that the DisplayPort version is below 1.1. Signed-off-by: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Reviewed-by: Jerome Glisse <jglisse@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 116984a316c3a3200f8a7912110cc4a6d6c0989e Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Aug 21 21:34:08 2015 +0200 netfilter: xt_TEE: use IS_ENABLED(CONFIG_NF_DUP_IPV6) Instead of IS_ENABLED(CONFIG_IPV6), otherwise we hit: et/built-in.o: In function `tee_tg6': >> xt_TEE.c:(.text+0x6cd8c): undefined reference to `nf_dup_ipv6' when: CONFIG_IPV6=y CONFIG_NF_DUP_IPV4=y # CONFIG_NF_DUP_IPV6 is not set CONFIG_NETFILTER_XT_TARGET_TEE=y Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 59e26423e00263b6b06b39d219147f22610ce5d6 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Aug 21 21:28:10 2015 +0200 netfilter: nf_dup: fix sparse warnings >> net/ipv4/netfilter/nft_dup_ipv4.c:29:37: sparse: incorrect type in initializer (different base types) net/ipv4/netfilter/nft_dup_ipv4.c:29:37: expected restricted __be32 [user type] s_addr net/ipv4/netfilter/nft_dup_ipv4.c:29:37: got unsigned int [unsigned] <noident> >> net/ipv6/netfilter/nf_dup_ipv6.c:48:23: sparse: incorrect type in assignment (different base types) net/ipv6/netfilter/nf_dup_ipv6.c:48:23: expected restricted __be32 [addressable] [assigned] [usertype] flowlabel net/ipv6/netfilter/nf_dup_ipv6.c:48:23: got int Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit dc25b25897289bad4907f30151ffe5baf75ff369 Merge: 1a69205 0bad909 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 21 11:44:04 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/usb/qmi_wwan.c Overlapping additions of new device IDs to qmi_wwan.c Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a69205c471221a7f9101df164642611e37c52e4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 21 11:38:41 2015 -0700 enic: Fix build failure with SRIOV disabled. err_out_vnic_unregister is used regardless of whether SRIOV is enabled or not. Reported-by: Jesse Brandeburg <jesse.brangeburg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5f58f2d700ef484fc2fbaa9c624c6076109f989 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 21 10:26:40 2015 +0200 regmap: Add missing comments about struct regmap_bus There are some fields of this struct undocumented or old. This patch updates the missing comments. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f09d4f26f6192ec9b060047cc7126e01980bb36c Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Aug 21 21:36:21 2015 +0530 ALSA: hdac: Remove the usage of key for host stream hdac_ext_stream assign doesn't require key mapping as in case of hdac_stream. So for host stream, the key to device mapping needs to be removed. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ee8bc4df1b5a9df1ede13975c40dec7009214595 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Aug 21 21:36:20 2015 +0530 ALSA: hdac: Add support to enable SPIB for hdac ext stream The drivers need to set the spib and maxfifios values, so add these new APIs snd_hdac_ext_stream_set_spib() and snd_hdac_ext_stream_set_spbmaxfifo() APIs For these APIs we also need to have spib and fifos pointer, so add these to hdac_ext_stream and initialize them at stream init Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c5b0c09b8fa3e02d9cbfd9445fb4114becdd3390 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Aug 21 21:36:18 2015 +0530 ALSA: hdac: Add snd_hdac_ext_bus_link_power_down_all() New HDA controllers like Skylake sport multiple HDA links, so we need a helper to turn off all the links in one go while suspending the device so add snd_hdac_ext_bus_link_power_down_all() API Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a7e3dd85cab1c6990cafd0bedb0b8809f15149b0 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Aug 21 21:36:17 2015 +0530 ALSA: hdac: Fix to read the correct offset of spcap/link register SPCAP and Mutilink register offset were incorrect as offset needs to be based on capability offset. So correct the offset for read/write of spcap/link register. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9bc07dfbcde5b6f3aefa06b902b47eef9769d260 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Aug 21 09:48:33 2015 +0200 ALSA: ac97: Switch to dev_pm_ops Convert the ac97_bus from legacy suspend/resume callbacks to dev_pm_ops. Since there isn't anything special to do at the bus level the bus driver does not have to implement any callbacks. The device driver core will automatically pick up and execute the device's PM ops. As there is only a single AC'97 driver implementing suspend and resume, update both the core and driver at the same time to avoid unnecessary code churn. While we are at it also drop the ifdefs around the suspend/resume functions to increase compile test coverage. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 00833d70ca29a9d60c694b9475a9d3327ed9461e Merge: fa4f18b f6b28e4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Aug 21 19:26:48 2015 +0200 Merge branch 'for-linus' into for-next commit c4fe57f76269dbb2af135071513f260ca40229a3 Author: Michael van der Westhuizen <michael@xxxxxxxxxxxxxxxx> Date: Tue Aug 18 22:21:53 2015 +0200 spi: dw: Allow interface drivers to limit data I/O to word sizes The commit dd11444327ce ("spi: dw-spi: Convert 16bit accesses to 32bit accesses") changed all 16bit accesses in the DW_apb_ssi driver to 32bit. This, unfortunately, breaks data register access on picoXcell, where the DW IP needs data register accesses to be word accesses (all other accesses appear to be OK). This change introduces a new master variable to allow interface drivers to specify that 16bit data transfer I/O is required. This change also introduces the ability to set this variable via device tree bindings in the MMIO interface driver. Both the core and the MMIO interface driver default to the current 32bit behaviour. Before this change, on a picoXcell pc3x3: spi_master spi32766: interrupt_transfer: fifo overrun/underrun m25p80 spi32766.0: error -5 reading 9f m25p80: probe of spi32766.0 failed with error -5 After this change: m25p80 spi32766.0: m25p40 (512 Kbytes) Fixes: dd11444327ce ("spi: dw-spi: Convert 16bit accesses to 32bit accesses") Signed-off-by: Michael van der Westhuizen <michael@xxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4b226fbde68b8bfb66452067523a677b8e6492fa Author: Michael van der Westhuizen <michael@xxxxxxxxxxxxxxxx> Date: Tue Aug 18 22:21:52 2015 +0200 dt: snps,dw-apb-ssi: Document new I/O data register width property This change documents a new property for the snps,dw-apb-ssi device, allowing an implementer to specify either four byte or two bytes access to the SPI controller data register. This supports a change that unbreaks this driver on picoXcell platforms. Signed-off-by: Michael van der Westhuizen <michael@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7dc9fbc342deb2e2658ebdecb5ffd7ff57945a66 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Aug 20 11:52:18 2015 -0700 spi: Fall back to master maximum speed if no slave speed specified If a slave appears with no maximum transfer speed specified fall back to using the maximum for the master instead. It's questionable if we should let slaves do this but let's be defensive. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f4be3c67ed5829462f53e225edd95029bb0793c4 Merge: 99650c2 17cdddf Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Aug 21 10:15:29 2015 -0700 Merge tag 'tegra-for-4.3-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt ARM: tegra: Devicetree changes for v4.3-rc1 Enables CPU frequency scaling on Jetson TK1 and enables the GK20A GPU on Venice2 and Jetson TK1. This also enables support for the PMU hardware found on Tegra124, which among other things, can be used for performance measurements. * tag 'tegra-for-4.3-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Add gpio-ranges property ARM: tegra: Fix AHB base address on Tegra20, Tegra30 and Tegra114 ARM: tegra: Add Tegra124 PMU support ARM: tegra: jetson-tk1: Add GK20A GPU DT node ARM: tegra: venice2: Add GK20A GPU DT node ARM: tegra: Add IOMMU node to GK20A ARM: tegra: Add CPU regulator to the Jetson TK1 device tree ARM: tegra: Add entries for cpufreq on Tegra124 ARM: tegra: Enable the DFLL on the Jetson TK1 ARM: tegra: Add the DFLL to Tegra124 device tree pinctrl: tegra: Only set the gpio range if needed clk: tegra: Add the DFLL as a possible parent of the cclk_g clock clk: tegra: Save/restore CCLKG_BURST_POLICY on suspend clk: tegra: Add Tegra124 DFLL clocksource platform driver clk: tegra: Add DFLL DVCO reset control for Tegra124 clk: tegra: Introduce ability for SoC-specific reset control callbacks clk: tegra: Add functions for parsing CVB tables clk: tegra: Add closed loop support for the DFLL clk: tegra: Add library for the DFLL clock source (open-loop mode) clk: tegra: Add binding for the Tegra124 DFLL clocksource Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3a9508b0221dfd290b95fb0ab199958fe078bbdf Author: Chris Mason <clm@xxxxxx> Date: Fri Aug 21 10:05:39 2015 -0700 btrfs: fix compile when block cgroups are not enabled bio->bi_css and bio->bi_ioc don't exist when block cgroups are not on. This adds an ifdef around them. It's not perfect, but our use of bi_ioc is being removed in the 4.3 merge window. The bi_css usage really should go into bio_clone, but I want to make sure that doesn't introduce problems for other bio_clone use cases. Signed-off-by: Chris Mason <clm@xxxxxx> commit 17cdddf0fb684f5456c1af3aa2c10aca3b68b8de Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Jul 14 10:29:56 2015 +0200 ARM: tegra: Add gpio-ranges property Specify how the GPIOs map to the pins in Tegra SoCs, so the dependency is explicit. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0d5ccb38d19574fecfa471205317d37221ec59a7 Author: Nicolas Chauvet <kwizart@xxxxxxxxx> Date: Sat Aug 8 15:58:12 2015 +0200 ARM: tegra: Fix AHB base address on Tegra20, Tegra30 and Tegra114 Current base address is wrong by 0x04 bytes for AHB bus device as shown in dmesg: tegra-ahb 6000c004.ahb: incorrect AHB base address in DT data - enabling workaround To correct old DTBs, commit ce7a10b0ff3d ("ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address") checks for the low bit of the base address and removes theses 0x04 bytes at runtime. This patch fixes the original DTS, so upstream version doesn't need the workaround of the base address. As both addresses are valid, this patch doesn't break compatibility. Tested on tegra20-paz00 (aka ac100). Signed-off-by: Nicolas Chauvet <kwizart@xxxxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 82fe42f5d7b01848a6fc2aee150a4050ca56b1e0 Author: Kyle Huey <me@xxxxxxxxxxxx> Date: Mon Jul 13 10:35:45 2015 -0700 ARM: tegra: Add Tegra124 PMU support This patch modifies the device tree for Tegra124 based devices to enable the Cortex A15 PMU. The interrupt numbers are taken from NVIDIA Tegra K1 TRM (DP-06905-001_v03p). This patch was tested on a Jetson TK1. Signed-off-by: Kyle Huey <khuey@xxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 21fa196fc0f4b79abb923042cb89651ca47b4b92 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Wed Jul 1 18:13:47 2015 +0900 ARM: tegra: jetson-tk1: Add GK20A GPU DT node Add the device-tree node for the GK20A GPU and leave it disabled. It is the responsibility of the bootloader to enable it if the VPR registers have been programmed such that the GPU can operate. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e34cc1b6b7115de2320c2acdb62c82ebeb502c01 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 1 18:13:46 2015 +0900 ARM: tegra: venice2: Add GK20A GPU DT node Add the device-tree node for the GK20A GPU and leave it disabled. It is the responsibility of the bootloader to enable it if the VPR registers have been programmed such that the GPU can operate. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> commit c96cd17708cfcffc9ccf2132fdcb360fa04f092f Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Wed Jul 1 18:13:45 2015 +0900 ARM: tegra: Add IOMMU node to GK20A Nouveau can make use of the IOMMU to make physical appear linear in the GPU address space. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ee9f106feafcf73dd56872718ec20ee1f787da1b Author: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Date: Wed May 13 17:58:50 2015 +0300 ARM: tegra: Add CPU regulator to the Jetson TK1 device tree Specify the CPU voltage regulator for the cpufreq driver. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0de088cc3463d451ca96439c723cc58932430820 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:49 2015 +0300 ARM: tegra: Add entries for cpufreq on Tegra124 The Tegra124 cpufreq driver relies on certain clocks being present in the /cpus/cpu@0 node. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9be1e477c31437907d0db4fa72d7c2920dfdeec8 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:45 2015 +0300 ARM: tegra: Enable the DFLL on the Jetson TK1 Add the board-specific properties of the DFLL for the Jetson TK1 board. On this board, the DFLL will take control of the sd0 regulator on the on-board AS3722 PMIC. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit bf9d026775796bec30895cab080baf37b70bc3b3 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:44 2015 +0300 ARM: tegra: Add the DFLL to Tegra124 device tree The DFLL clocksource is a separate IP block from the usual clock-and-reset controller, so it gets its own device tree node. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 233da3b1c620b10a70c019b2134e7b1276b57695 Merge: 7292ba6 79cf95c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 21 18:44:15 2015 +0200 Merge branch 'for-4.3/clk' into for-4.3/dt commit 7292ba64bd56d39c3b1fe4cbe8559e6c95858180 Merge: d770e55 9462510 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 21 18:44:05 2015 +0200 Merge branch 'for-4.3/pinctrl' into for-4.3/dt commit 6be4b0da4ecf1472cb4a064c752214dcb2ba4be2 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Aug 19 15:31:30 2015 -0300 ARM: imx: mach-imx6ul: Fix allmodconfig build We should call phy_register_fixup_for_uid() only when CONFIG_PHYLIB is built-in, otherwise we get the following link error when building allmodconfig: arch/arm/mach-imx/built-in.o: In function `imx6ul_init_machine': :(.init.text+0xa714): undefined reference to `phy_register_fixup_for_uid' This is the same approach done in mach-imx6q.c and mach-imx6sx.c. Reported-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9c9f7f675970ba1b888272f016157de21f69e7e2 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 21 10:26:43 2015 +0200 regmap: No multi_write support if bus->write does not exist There is no multi_write support available if we cannot use raw_write. This is the case if bus->write is not implemented. This patch adds a condition that we need bus and bus->write so that can_multi_write is true. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 67921a1a6660d32cc2770d05d656a1187b6d94d5 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 21 10:26:42 2015 +0200 regmap: Split use_single_rw internally into use_single_read/write use_single_rw currently reflects the capabilities of the connected device. The capabilities of the bus are currently missing for this variable. As there are read only and write only buses we need seperate values for use_single_rw to also reflect tha capabilities of the bus. This patch splits use_single_rw into use_single_read and use_single_write. The initialization is changed to check the configuration for use_single_rw and to check the capabilities of the used bus. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9c8f55798a9d716daed4de6d7038a21c3ca6e673 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 21 09:29:50 2015 -0700 Input: sentelic - silence some underflow warnings I have a static checker that complains when we check for an upper bound but don't have a corresponding check for a lower bound. With this code, the upper bound check seems not really required, so it is not a bug to leave the lower bound check out as well. But let's silence the warning by making these variables unsigned. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c594b7f21d7d02115e828db46fddbba1da7ed1b8 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 21 10:26:41 2015 +0200 regmap: Fix regmap_bulk_write for bus writes The regmap config does not prohibit val_bytes that are not powers of two. But the current code of regmap_bulk_write for use_single_rw does limit the possible val_bytes to 1, 2 and 4. This patch fixes the behaviour to allow bus writes with non-standard val_bytes sizes. Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 330349fae46f8400e86ef98ee05af4ba13466f49 Merge: efd16bd 5be9fc2 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Aug 21 09:10:50 2015 -0700 Merge tag 'mvebu-fixes-4.2-1' of git://git.infradead.org/linux-mvebu into next/fixes-non-critical mvebu fixes changes for v4.2 Fix legacy orion5x IRQ numbers broken since 3.18 * tag 'mvebu-fixes-4.2-1' of git://git.infradead.org/linux-mvebu: ARM: orion5x: fix legacy orion5x IRQ numbers Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d33288172e72c4729e8b9f2243fb40601afabc8f Author: Julian Anastasov <ja@xxxxxx> Date: Sun Jul 26 15:03:28 2015 +0300 ipvs: add more mcast parameters for the sync daemon - mcast_group: configure the multicast address, now IPv6 is supported too - mcast_port: configure the multicast port - mcast_ttl: configure the multicast TTL/HOP_LIMIT Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit e4ff67513096e6e196ca58043fce04d0f87babbe Author: Julian Anastasov <ja@xxxxxx> Date: Sun Jul 26 15:03:27 2015 +0300 ipvs: add sync_maxlen parameter for the sync daemon Allow setups with large MTU to send large sync packets by adding sync_maxlen parameter. The default value is now based on MTU but no more than 1500 for compatibility reasons. To avoid problems if MTU changes allow fragmentation by sending packets with DF=0. Problem reported by Dan Carpenter. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 99650c258a4bbe7e62754c734c3888f29b59f72a Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Thu Jul 30 18:13:55 2015 -0700 ARM: dts: zynq: Add devicetree entry for Xilinx Zynq reset controller. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e0b26cc997d57305b4097711e12e13992580ae34 Author: Julian Anastasov <ja@xxxxxx> Date: Sun Jul 26 14:57:34 2015 +0300 ipvs: call rtnl_lock early When the sync damon is started we need to hold rtnl lock while calling ip_mc_join_group. Currently, we have a wrong locking order because the correct one is rtnl_lock->__ip_vs_mutex. It is implied from the usage of __ip_vs_mutex in ip_vs_dst_event() which is called under rtnl lock during NETDEV_* notifications. Fix the problem by calling rtnl_lock early only for the start_sync_thread call. As a bonus this fixes the usage __dev_get_by_name which was not called under rtnl lock. This patch actually extends and depends on commit 54ff9ef36bdf ("ipv4, ipv6: kill ip_mc_{join, leave}_group and ipv6_sock_mc_{join, drop}"). Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit eefa32d3f3c54bc7f9704968bc78adf0439c6c2a Author: Raducu Deaconu <rhadoo.io88@xxxxxxxxx> Date: Fri Jul 17 08:45:40 2015 +0300 ipvs: Add ovf scheduler The weighted overflow scheduling algorithm directs network connections to the server with the highest weight that is currently available and overflows to the next when active connections exceed the node's weight. Signed-off-by: Raducu Deaconu <rhadoo.io88@xxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ee3010d0ab288d1c307464c1bd1dc3bf16aca7e4 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 21 14:38:39 2015 +0200 regulators: max77693: register driver earlier to avoid deferred probe MAX77693 based regulators are used by USB gadget subsystem, which doesn't support deferred probe, so the driver should be registered before USB gadget drivers get probed. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54d8697fa5036df0e27f8d62edb7ebc35c3f73d6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 21 20:59:21 2015 +0800 ASoC: Set missing card owner field Set the card owner field to prevent the module from being removed from underneath its users. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1c0bd0e891aaed0219010bfe79b32e1b0b82d662 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Aug 21 10:09:02 2015 +0000 perf probe: Try to use symbol table if searching debug info failed A problem can occur in a statically linked perf when vmlinux can be found: # perf probe --add sys_epoll_pwait probe-definition(0): sys_epoll_pwait symbol:sys_epoll_pwait file:(null) line:0 offset:0 return:0 lazy:(null) 0 arguments Looking at the vmlinux_path (7 entries long) Using /lib/modules/4.2.0-rc1+/build/vmlinux for symbols Open Debuginfo file: /lib/modules/4.2.0-rc1+/build/vmlinux Try to find probe point from debuginfo. Symbol sys_epoll_pwait address found : ffffffff8122bd40 Matched function: SyS_epoll_pwait Failed to get call frame on 0xffffffff8122bd40 An error occurred in debuginfo analysis (-2). Error: Failed to add events. Reason: No such file or directory (Code: -2) The reason is caused by libdw that, if libdw is statically linked, it can't load libebl_{arch}.so reliable. In this case it is still possible to get the address from /proc/kalksyms. However, perf tries that only when libdw returns -EBADF. This patch gives it another chance to utilize symbol table, even if libdw returns an error code other than -EBADF. After applying this patch: # perf probe -nv --add sys_epoll_pwait probe-definition(0): sys_epoll_pwait symbol:sys_epoll_pwait file:(null) line:0 offset:0 return:0 lazy:(null) 0 arguments Looking at the vmlinux_path (7 entries long) Using /lib/modules/4.2.0-rc1+/build/vmlinux for symbols Open Debuginfo file: /lib/modules/4.2.0-rc1+/build/vmlinux Try to find probe point from debuginfo. Symbol sys_epoll_pwait address found : ffffffff8122bd40 Matched function: SyS_epoll_pwait Failed to get call frame on 0xffffffff8122bd40 An error occurred in debuginfo analysis (-2). Trying to use symbols. Opening /sys/kernel/debug/tracing/kprobe_events write=1 Added new event: Writing event: p:probe/sys_epoll_pwait _text+2276672 probe:sys_epoll_pwait (on sys_epoll_pwait) You can now use it in all perf tools, such as: perf record -e probe:sys_epoll_pwait -aR sleep 1 Although libdw returns an error (Failed to get call frame), perf tries symbol table and finally gets correct address. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440151770-129878-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 66671d001aeb525b9101e0ccb9062627539de555 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 18 15:19:50 2015 -0300 perf tools: Initialize reference counts in map__clone() Map clone was written before we introduced reference counts for maps and dsos, so all that was needed was just a copy and then we would insert it into the new map_groups instance. Fix it by, after copying, initializing the map->refcnt, grabbing a struct dso refcount and resetting pointers that may be used to determine if a map, when deleted, is in a rb_tree. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-pd4mr80o5b9gvk50iineacec@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5be9fc23cdb42e1d383ecc8eae8a8ff70a752708 Author: Benjamin Cama <benoar@xxxxxxxx> Date: Tue Jul 14 16:25:58 2015 +0200 ARM: orion5x: fix legacy orion5x IRQ numbers Since v3.18, attempts to deliver IRQ0 are rejected, breaking orion5x. Fix this by increasing all interrupts by one, as did 5d6bed2a9c8b for dove. Also, force MULTI_IRQ_HANDLER for all orion platforms (including dove) as the specific handler is needed to shift back IRQ numbers by one. [gregory.clement@xxxxxxxxxxxxxxxxxx]: moved the select MULTI_IRQ_HANDLER from PLAT_ORION_LEGACY to ARCH_ORION5X as it broke the build for dove. Fixes: a71b092a9c68 ("ARM: Convert handle_IRQ to use __handle_domain_irq") Signed-off-by: Benjamin Cama <benoar@xxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Detlef Vollmann <dv@xxxxxxxxxxx> commit 4b715d24f4f14731c7b553cbb8604fe865cb8d3c Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:45 2015 +0300 perf tools: Add example call-graph script Add a script to produce a call-graph from data exported to a postgresql database and derived from a processor trace event like intel_pt or intel_bts. Refer to comments in the scripts call-graph-from-postgresql.py and export-to-postgresql.py for more details on how to set up the environment, install the required packages, etc. Committer note: From the scripts, for convenience while reading 'git log': An example of using this script with Intel PT: $ perf record -e intel_pt//u ls $ perf script -s ~/libexec/perf-core/scripts/python/export-to-postgresql.py pt_example branches calls 2015-05-29 12:49:23.464364 Creating database... 2015-05-29 12:49:26.281717 Writing to intermediate files... 2015-05-29 12:49:27.190383 Copying to database... 2015-05-29 12:49:28.140451 Removing intermediate files... 2015-05-29 12:49:28.147451 Adding primary keys 2015-05-29 12:49:28.655683 Adding foreign keys 2015-05-29 12:49:29.365350 Done $ python tools/perf/scripts/python/call-graph-from-postgresql.py pt_example # The result is a GUI window with a tree representing a context-sensitive # call-graph. Expanding a couple of levels of the tree and adjusting column # widths to suit will display something like: Call Graph: pt_example Call Path |Object |Count|Time(ns)|Time(%)|Branch Count|Branch Count(%) v- ls v- 2638:2638 v- _start ld-2.19.so 1 10074071 100.0 211135 100.0 |- unknown unknown 1 13198 0.1 1 0.0 >- _dl_start ld-2.19.so 1 1400980 13.9 19637 9.3 >- _d_linit_internal ld-2.19.so 1 448152 4.4 11094 5.3 v-__libc_start_main@plt ls 1 8211741 81.5 180397 85.4 >- _dl_fixup ld-2.19.so 1 7607 0.1 108 0.1 >- __cxa_atexit libc-2.19.so 1 11737 0.1 10 0.0 >- __libc_csu_init ls 1 10354 0.1 10 0.0 |- _setjmp libc-2.19.so 1 0 0.0 4 0.0 v- main ls 1 8182043 99.6 180254 99.9 Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-11-git-send-email-adrian.hunter@xxxxxxxxx [ Added 'python-pyside qt-postgresql' to the yum cmdline installing required packages ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b68c3161430a4c7c0a001e658188bfea6a2fe5bd Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Tue Aug 11 13:22:19 2015 +0200 bq2415x_charger: Allow to load and use driver even if notify device is not registered yet Driver bq2415x_charger works also without notify power supply device for charger detection. But when charger detection is specified in DT, then bq2415x_charger refused to loaded with -EPROBE_DEFER. This patch rewrites code so that notify device for charger detection is checked when power supply event is received and not when registering power supply device. So this patch allows to use bq2415x_charger driver also when kernel is compiled without driver for notify power supply device. Now after this patch scheduled workqueue is called after INIT_DELAYED_WORK, so it also fix problem when scheduled workqueue was called before init. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 60b88d8743892218f82048a3df624f5fc5460843 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:44 2015 +0300 perf tools: Put itrace options into an asciidoc include perf script, report and inject all have the same itrace options. Put them into an asciidoc include file. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-10-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d0170af7004dce9cd90b749842c37e379476cbc8 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:43 2015 +0300 perf tools: Add Intel BTS support Intel BTS support fits within the new auxtrace infrastructure. Recording is supporting by identifying the Intel BTS PMU, parsing options and setting up events. Decoding is supported by queuing up trace data by thread and then decoding synchronously delivering synthesized event samples into the session processing for tools to consume. Committer note: E.g: [root@felicio ~]# perf record --per-thread -e intel_bts// ls anaconda-ks.cfg apctest.output bin kernel-rt-3.10.0-298.rt56.171.el7.x86_64.rpm libexec lock_page.bpf.c perf.data perf.data.old [ perf record: Woken up 3 times to write data ] [ perf record: Captured and wrote 4.367 MB perf.data ] [root@felicio ~]# perf evlist -v intel_bts//: type: 6, size: 112, { sample_period, sample_freq }: 1, sample_type: IP|TID|IDENTIFIER, read_format: ID, disabled: 1, enable_on_exec: 1, sample_id_all: 1, exclude_guest: 1 dummy:u: type: 1, size: 112, config: 0x9, { sample_period, sample_freq }: 1, sample_type: IP|TID|IDENTIFIER, read_format: ID, disabled: 1, exclude_kernel: 1, exclude_hv: 1, mmap: 1, comm: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, mmap2: 1, comm_exec: 1 [root@felicio ~]# perf script # the navigate in the pager to some interesting place: ls 1843 1 branches: ffffffff810a60cb flush_signal_handlers ([kernel.kallsyms]) => ffffffff8121a522 setup_new_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8121a529 setup_new_exec ([kernel.kallsyms]) => ffffffff8122fa30 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa5d do_close_on_exec ([kernel.kallsyms]) => ffffffff81767ae0 _raw_spin_lock ([kernel.kallsyms]) ls 1843 1 branches: ffffffff81767af4 _raw_spin_lock ([kernel.kallsyms]) => ffffffff8122fa62 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fac9 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fad2 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fadd do_close_on_exec ([kernel.kallsyms]) => ffffffff8120fc80 filp_close ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8120fcaf filp_close ([kernel.kallsyms]) => ffffffff8120fcb6 filp_close ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8120fcc2 filp_close ([kernel.kallsyms]) => ffffffff812547f0 dnotify_flush ([kernel.kallsyms]) ls 1843 1 branches: ffffffff81254823 dnotify_flush ([kernel.kallsyms]) => ffffffff8120fcc7 filp_close ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8120fccd filp_close ([kernel.kallsyms]) => ffffffff81261790 locks_remove_posix ([kernel.kallsyms]) ls 1843 1 branches: ffffffff812617a3 locks_remove_posix ([kernel.kallsyms]) => ffffffff812617b9 locks_remove_posix ([kernel.kallsyms]) ls 1843 1 branches: ffffffff812617b9 locks_remove_posix ([kernel.kallsyms]) => ffffffff8120fcd2 filp_close ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8120fcd5 filp_close ([kernel.kallsyms]) => ffffffff812142c0 fput ([kernel.kallsyms]) ls 1843 1 branches: ffffffff812142d6 fput ([kernel.kallsyms]) => ffffffff812142df fput ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8121430c fput ([kernel.kallsyms]) => ffffffff810b6580 task_work_add ([kernel.kallsyms]) ls 1843 1 branches: ffffffff810b65ad task_work_add ([kernel.kallsyms]) => ffffffff810b65b1 task_work_add ([kernel.kallsyms]) ls 1843 1 branches: ffffffff810b65c1 task_work_add ([kernel.kallsyms]) => ffffffff810bc710 kick_process ([kernel.kallsyms]) ls 1843 1 branches: ffffffff810bc725 kick_process ([kernel.kallsyms]) => ffffffff810bc742 kick_process ([kernel.kallsyms]) ls 1843 1 branches: ffffffff810bc742 kick_process ([kernel.kallsyms]) => ffffffff810b65c6 task_work_add ([kernel.kallsyms]) ls 1843 1 branches: ffffffff810b65c9 task_work_add ([kernel.kallsyms]) => ffffffff81214311 fput ([kernel.kallsyms]) Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-9-git-send-email-adrian.hunter@xxxxxxxxx [ Merged sample->time fix for bug found after first round of testing on slightly older kernel ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d4421c54c45f643731c92daa8e268ce74dcdf5a2 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 17:02:40 2015 +0800 crypto: hash - Add AHASH_REQUEST_ON_STACK This patch adds the helper AHASH_REQUEST_ON_STACK for those users of ahash that are synchronous only. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 12773d932fc22c60e0d5a20660d564542fab811b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 15:21:46 2015 +0800 crypto: testmgr - Use new skcipher interface This patch replaces uses of blkcipher and ablkcipher with the new skcipher interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7a7ffe65c8c5fbf272b132d8980b2511d5e5fc98 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 15:21:45 2015 +0800 crypto: skcipher - Add top-level skcipher interface This patch introduces the crypto skcipher interface which aims to replace both blkcipher and ablkcipher. It's very similar to the existing ablkcipher interface. The main difference is the removal of the givcrypt interface. In order to make the transition easier for blkcipher users, there is a helper SKCIPHER_REQUEST_ON_STACK which can be used to place a request on the stack for synchronous transforms. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 412fcb6cebd758d080cacd5a41a0cbc656ea5fce Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Aug 19 15:57:09 2015 +0100 arm64: entry: always restore x0 from the stack on syscall return We have a micro-optimisation on the fast syscall return path where we take care to keep x0 live with the return value from the syscall so that we can avoid restoring it from the stack. The benefit of doing this is fairly suspect, since we will be restoring x1 from the stack anyway (which lives adjacent in the pt_regs structure) and the only additional cost is saving x0 back to pt_regs after the syscall handler, which could be seen as a poor man's prefetch. More importantly, this causes issues with the context tracking code. The ct_user_enter macro ends up branching into C code, which is free to use x0 as a scratch register and consequently leads to us returning junk back to userspace as the syscall return value. Rather than special case the context-tracking code, this patch removes the questionable optimisation entirely. Cc: <stable@xxxxxxxxxxxxxxx> Cc: Larry Bassel <larry.bassel@xxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6f56e9cf581c6cedcaea3eb69444b169867ccf3d Author: Dean Nelson <dnelson@xxxxxxxxxx> Date: Thu Aug 20 11:16:32 2015 -0400 tools lib traceevent: Add checks for returned EVENT_ERROR type Running the following perf-stat command on an arm64 system produces the following result... [root@aarch64 ~]# perf stat -e kmem:mm_page_alloc -a sleep 1 Warning: [kmem:mm_page_alloc] function sizeof not defined Warning: Error: expected type 4 but read 0 Segmentation fault [root@aarch64 ~]# The second warning was a result of the first warning not stopping processing after it detected the issue. That is, code that found the issue reported the first problem, but because it did not exit out of the functions smoothly, it caused the other warning to appear and not only that, it later caused the SIGSEGV. Signed-off-by: Dean Nelson <dnelson@xxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150820151632.13927.13791.email-sent-by-dnelson@teal Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 81cd60cc29a9c3e92ad6ca167a4764b2c2d2fc04 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 20 11:51:32 2015 +0300 perf tools: Fix Intel PT timestamp handling Events that don't sample the timestamp have a timestamp value of -1. Intel PT processing wasn't taking that into account. This is particularly noticeable with Intel BTS because timestamps are not requested by default. Then, if the conversion of -1 to TSC results in a small number, the processing is unaffected. However if the conversion results in a big number, then the data is processed prematurely before relevant sideband data like mmap events, which in turn results in samples with unknown dsos. Commiter note: Since BTS wasn't upstream, I split the patch to fold the BTS part with the patch introducing it, to avoid having this bug in the commit history. PT was already upstream, so this patch contains that part. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440060692-5585-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 133de940435493266acd4100b0dae8ba7eaa7c71 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 20 13:07:40 2015 +0300 perf tools: /proc/kcore requires CAP_SYS_RAWIO message too noisy The "/proc/kcore requires CAP_SYS_RAWIO" message comes up all the time for 'perf script' if vmlinux is not found and the user isn't root, even when the kernel is not being traced and even though the message is only really relevant for annotation. Change it to pr_debug and instead put a note in the message displayed if annotation is not possible. Also, the file being accessed might not be /proc/kcore. Tools can be directed to a different location using the --kallsyms option in which case kcore is expected to be in the same directory. Adjust the message so it is not misleading in that case. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Li Zhang <zhlcindy@xxxxxxxxxxxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440065260-8802-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 05169df5561363ff04ac04d6aad0be3b45c26ac1 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 20 11:26:45 2015 +0300 perf script: Fix segfault using --show-mmap-events Patch "perf script: Don't assume evsel position of tracking events" changed 'perf script' to use 'perf_evlist__id2evsel()'. That results in a segfault if there is more than 1 event and there are synthesized mmap events e.g. $ perf record -e cycles,instructions -p$$ sleep 1 $ perf script --show-mmap-events Segmentation fault (core dumped) That happens because these synthesized events have an 'id' of zero which does not match any 'evsel'. Currently, these synthesized events use the sample type of the first evsel. Change 'perf_evlist__id2evsel()' to reflect that which also makes it consistent with 'perf_evlist__event2evsel()'. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Fixes: 06b234ec26fd ("perf script: Don't assume evsel position of tracking events") Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440059205-1765-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fa4f18b4f402d3654415935511d8e0bb51a102b7 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Aug 21 15:05:20 2015 +0200 ALSA: hda - Refresh widgets sysfs at probing Haswell+ HDMI codecs Intel Haswell (and later) codec refreshes the widgets tree to expose the whole widget nodes at probing. However, this refresh was missing for sysfs tree. This patch adds the missing piece, as we have now a proper API. Reported-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1fb6755f16872ad256c18cce2830f9087502dffd Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:42:10 2015 +0100 ARM: domains: remove DOMAIN_TABLE DOMAIN_TABLE is not used; in any case, it aliases to the kernel domain. Remove this definition. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a02d8dfd54cdf3b1b0464ccc2c1c4afe2c003a35 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:38:31 2015 +0100 ARM: domains: keep vectors in separate domain Keep the machine vectors in its own domain to avoid software based user access control from making the vector code inaccessible, and thereby deadlocking the machine. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3c2aed5b28819564e1a07b4686bd89802bcc4d6b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:30:16 2015 +0100 ARM: domains: get rid of manager mode for user domain Since we switched to early trap initialisation in 94e5a85b3be0 ("ARM: earlier initialization of vectors page") we haven't been writing directly to the vectors page, and so there's no need for this domain to be in manager mode. Switch it to client mode. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0171356a7708af01ad3224702b7f0aaa5b7a1399 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:23:26 2015 +0100 ARM: domains: move initial domain setting value to asm/domains.h Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8e798706f7e9cd7f096aa194de90269dde83773e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 22:36:24 2015 +0100 ARM: domains: provide domain_mask() Provide a macro to generate the mask for a domain, rather than using domain_val(, DOMAIN_MANAGER) which won't work when CPU_USE_DOMAINS is turned off. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1eef5d2f1b461c120bcd82077edee5ec706ac53b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 21:23:48 2015 +0100 ARM: domains: switch to keeping domain value in register Rather than modifying both the domain access control register and our per-thread copy, modify only the domain access control register, and use the per-thread copy to save and restore the register over context switches. We can also avoid the explicit initialisation of the init thread_info structure. This allows us to avoid needing to gain access to the thread information at the uaccess control sites. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9e46aedab389122948144713ee5b8bae2658fb1b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 21 14:25:34 2015 +0300 ALSA: hdsp: silence and underflow warning I believe this probably cannot happen, as the code suggests. There would have to be an kcontrol->index.id which was zero, otherwise this would be prevented in snd_ctl_find_id(). But snd_BUG_ON() is just a WARN() or a no-op so static checkers complain that we keep on going with a negative offset. Let's just handle the error as well as printing a warning. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 18dfd79d92e5292611ac4944a67bd837dd7632c9 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Aug 21 15:47:43 2015 +0530 ALSA: hdac: add snd_hdac_refresh_widget_sysfs() Some codecs like Intel HDMI by default do not show up all the pins, they have to be manually enabled, so we need to refresh the codec widgets and then recreate the sysfs tree. So add new API snd_hdac_refresh_widget_sysfs() to do this. It should be be used by codec driver after sending magic verbs to codec Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d51783c15f7548229e49331d254a738be8ac865c Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Aug 21 15:47:42 2015 +0530 ALSA: hdac: add extended device driver registration This adds new extended driver objects and API for registering the extended devices. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a512f5611646ab12f3f8fea2a3d2582adabe5157 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Aug 21 15:47:41 2015 +0530 ALSA: hdac: add hdac extended device This adds based hdac extended device object which will be used by ASoC HDAC codecs Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ee2d51b3d4c940cd34dbc83eb10bb24205c56ebf Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Aug 21 15:47:40 2015 +0530 ALSA: hdac: Add API for removing hdac extended device The HDAC extended device objects are created by HDAC extended bus on probe. When controller is removed they should be removed as well, so add API snd_hdac_ext_bus_device_remove for this Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 005ce70b9448ed86c9a12e6504f1f9896a826e3d Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Fri Aug 21 14:33:34 2015 +0530 dmaengine: xgene-dma: Fix the lock to allow client for further submission of requests This patch provides the fix in the cleanup routing such that client can perform further submission by releasing the lock before calling client's callback function. Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit fd0881a24ac9ab2be6c052d30ca779597c0bd3bc Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Aug 21 15:06:43 2015 +0530 ARC: Eliminate some ARCv2 specific code for ARCompact build Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 64f1d0ffbaaccf2ddaf02d3ebf67bf9044cb4db4 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 20 08:44:14 2015 -0700 dmaengine: ioatdma: fix coccinelle warning Simplifying the end return. This existed in the original code but was flagged when refactoring of the code made it appear it's new. coccinelle warnings: (new ones prefixed by >>) >> drivers/dma/ioat/init.c:1018:1-3: WARNING: end returns can be simpified Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit aaecdebc5855b77e2120d11c750630a3e60ffb10 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 20 08:44:09 2015 -0700 dmaengine: ioatdma: fix zero day warning on incompatible pointer type The 32bit build is creating this warning. Since we don't expect anyone actually use this on 32bit, restrict ioatdma to be built only on x86_64. This issue has long existed and only reason it's surfacing due to code refactoring. drivers/dma/ioat/dma.c: In function 'ioat_timer_event': >> drivers/dma/ioat/dma.c:870:39: warning: passing argument 2 of 'ioat_cleanup_preamble' from incompatible pointer type if (ioat_cleanup_preamble(ioat_chan, &phys_complete)) ^ drivers/dma/ioat/dma.c:577:13: note: expected 'u64 *' but argument is of type 'dma_addr_t *' static bool ioat_cleanup_preamble(struct ioatdma_chan *ioat_chan, ^ Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f6b28e4ded45bb91bc4cd115d55e35badedfce5f Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Fri Aug 21 09:42:35 2015 +0200 ALSA: hda - Shutdown CX20722 on reboot/free to avoid spurious noises On shutdown/reboot of CX20722, first shut down all EAPDs, then shut down the afg node to D3. Failure to do so can lead to spurious noises from the internal speaker directly after reboot (and before the codec is reinitialized again, i e in BIOS setup or GRUB menus). BugLink: https://bugs.launchpad.net/bugs/1487345 Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9544f8b6e2ee9ed02d2322ff018837b185f51d45 Author: Jurgen Kramer <gtmkramer@xxxxxxxxx> Date: Fri Aug 21 09:48:35 2015 +0200 ALSA: usb: Add native DSD support for Gustard DAC-X20U This patch adds native DSD support for the Gustard DAC-X20U. Signed-off-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 36d4e87b497d9cb3bf8e1bb2f803c7aa41dfb463 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Aug 19 03:19:47 2015 -0700 drm/vmwgfx: Remove duplicate ttm_bo_device_release No need to try to call ttm_bo_device_release twice during module unload. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 772269f970129a7b9b50d68684b2568a41850111 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Tue Aug 18 09:07:38 2015 -0700 drm/vmwgfx: Fix a circular locking dependency in the fbdev code When a user-space process writes directly to the fbdev framebuffer, we hit a circular locking dependency. Fix this by introducing a local delayed work callback so that the defio lock can be released before calling into the modesetting code for a dirty update. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 397d425dc26da728396e66d392d5dcb8dac30c37 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Aug 15 20:27:13 2015 -0500 vfs: Test for and handle paths that are unreachable from their mnt_root In rare cases a directory can be renamed out from under a bind mount. In those cases without special handling it becomes possible to walk up the directory tree to the root dentry of the filesystem and down from the root dentry to every other file or directory on the filesystem. Like division by zero .. from an unconnected path can not be given a useful semantic as there is no predicting at which path component the code will realize it is unconnected. We certainly can not match the current behavior as the current behavior is a security hole. Therefore when encounting .. when following an unconnected path return -ENOENT. - Add a function path_connected to verify path->dentry is reachable from path->mnt.mnt_root. AKA to validate that rename did not do something nasty to the bind mount. To avoid races path_connected must be called after following a path component to it's next path component. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 88c9281a9fba67636ab26c1fd6afbc78a632374f Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Aug 19 09:54:24 2015 -0700 x86/hyperv: Mark the Hyper-V TSC as unstable The Hyper-V top-level functional specification states, that "algorithms should be resilient to sudden jumps forward or backward in the TSC value", this means that we should consider TSC as unstable. In some cases tsc tests are able to detect the instability, it was detected in 543 out of 646 boots in my testing: Measured 6277 cycles TSC warp between CPUs, turning off TSC clock. tsc: Marking TSC unstable due to check_tsc_sync_source failed This is, however, just a heuristic. On Hyper-V platform there are two good clocksources: MSR-based hyperv_clocksource and recently introduced TSC page. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440003264-9949-1-git-send-email-vkuznets@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 99770737ca7e3ebc14e66460a69b7032de9421e1 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Aug 21 08:33:53 2015 +0200 x86/asm/tsc: Add rdtscll() merge helper Some in-flight code makes use of the old rdtscll() (now removed), provide a wrapper for a kernel cycle to smooth the transition to rdtsc(). ( We use the safest variant, rdtsc_ordered(), which has barriers - this adds another incentive to remove the wrapper in the future. ) Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/dddbf98a2af53312e9aa73a5a2b1622fe5d6f52b.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a03e283bf5c3d4851b4998122196ce9f849e6dfb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Aug 15 13:36:41 2015 -0500 dcache: Reduce the scope of i_lock in d_splice_alias i_lock is only needed until __d_find_any_alias calls dget on the alias dentry. After that the reference to new ensures that dentry_kill and d_delete will not remove the inode from the dentry, and remove the dentry from the inode->d_entry list. The inode i_lock came to be held over the the __d_move calls in d_splice_alias through a series of introduction of locks with increasing smaller scope. First it was the dcache_lock, then it was the dcache_inode_lock, and finally inode->i_lock. Furthermore inode->i_lock is not held over any other calls to d_move or __d_move so it can not provide any meaningful rename protection. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cde93be45a8a90d8c264c776fab63487b5038a65 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Aug 15 13:36:12 2015 -0500 dcache: Handle escaped paths in prepend_path A rename can result in a dentry that by walking up d_parent will never reach it's mnt_root. For lack of a better term I call this an escaped path. prepend_path is called by four different functions __d_path, d_absolute_path, d_path, and getcwd. __d_path only wants to see paths are connected to the root it passes in. So __d_path needs prepend_path to return an error. d_absolute_path similarly wants to see paths that are connected to some root. Escaped paths are not connected to any mnt_root so d_absolute_path needs prepend_path to return an error greater than 1. So escaped paths will be treated like paths on lazily unmounted mounts. getcwd needs to prepend "(unreachable)" so getcwd also needs prepend_path to return an error. d_path is the interesting hold out. d_path just wants to print something, and does not care about the weird cases. Which raises the question what should be printed? Given that <escaped_path>/<anything> should result in -ENOENT I believe it is desirable for escaped paths to be printed as empty paths. As there are not really any meaninful path components when considered from the perspective of a mount tree. So tweak prepend_path to return an empty path with an new error code of 3 when it encounters an escaped path. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6f179af88f60b32c2855e7f3e16ea8e336a7043f Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Mon Aug 17 17:34:27 2015 -0700 mm: fix potential data race in SyS_swapon While running KernelThreadSanitizer (ktsan) on upstream kernel with trinity, we got a few reports from SyS_swapon, here is one of them: Read of size 8 by thread T307 (K7621): [< inlined >] SyS_swapon+0x3c0/0x1850 SYSC_swapon mm/swapfile.c:2395 [<ffffffff812242c0>] SyS_swapon+0x3c0/0x1850 mm/swapfile.c:2345 [<ffffffff81e97c8a>] ia32_do_call+0x1b/0x25 Looks like the swap_lock should be taken when iterating through the swap_info array on lines 2392 - 2401: q->swap_file may be reset to NULL by another thread before it is dereferenced for f_mapping. But why is that iteration needed at all? Doesn't the claim_swapfile() which follows do all that is needed to check for a duplicate entry - FMODE_EXCL on a bdev, testing IS_SWAPFILE under i_mutex on a regfile? Well, not quite: bd_may_claim() allows the same "holder" to claim the bdev again, so we do need to use a different holder than "sys_swapon"; and we should not replace appropriate -EBUSY by inappropriate -EINVAL. Index i was reused in a cpu loop further down: renamed cpu there. Reported-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 061f98e959ea025a5d87c3e089d59ec2ec5f5d6d Merge: b5f5914 ac05fbb Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 02:31:20 2015 -0400 Merge branch 'superblock-scaling' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next into for-next Conflicts: include/linux/fs.h commit 82819ffb42fb45197bacf3223191deca31d3eb91 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Aug 21 08:14:46 2015 +0200 perf/x86/msr: Fix the MSR driver build The new MSR PMU driver made use of rdtsc() which does not exist (yet) in this tree: arch/x86/kernel/cpu/perf_event_msr.c:91:3: error: implicit declaration of function 'rdtsc' Use the old rdtscll() primitive for now. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b06ece93cf96b430587e77e01053b2b8f99cb750 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Tue Jul 7 22:00:47 2015 +0900 video: fbdev: s3c-fb: Constify platform_device_id The platform_device_id is not modified by the driver and core uses it as const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit a9e01ed986aa80d3092134428f453072752da223 Merge: 08617f4 81bf1c6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 20 22:18:45 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next This is second pull request includes the conflict resolution patch that resulted from the updates that we got for the conntrack template through kmalloc. No changes with regards to the previously sent 15 patches. The following patchset contains Netfilter updates for your net-next tree, they are: 1) Rework the existing nf_tables counter expression to make it per-cpu. 2) Prepare and factor out common packet duplication code from the TEE target so it can be reused from the new dup expression. 3) Add the new dup expression for the nf_tables IPv4 and IPv6 families. 4) Convert the nf_tables limit expression to use a token-based approach with 64-bits precision. 5) Enhance the nf_tables limit expression to support limiting at packet byte. This comes after several preparation patches. 6) Add a burst parameter to indicate the amount of packets or bytes that can exceed the limiting. 7) Add netns support to nfacct, from Andreas Schultz. 8) Pass the nf_conn_zone structure instead of the zone ID in nf_tables to allow accessing more zone specific information, from Daniel Borkmann. 9) Allow to define zone per-direction to support netns containers with overlapping network addressing, also from Daniel. 10) Extend the CT target to allow setting the zone based on the skb->mark as a way to support simple mappings from iptables, also from Daniel. 11) Make the nf_tables payload expression aware of the fact that VLAN offload may have removed a vlan header, from Florian Westphal. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81bf1c64e7fe08f956c74fe2b0f1fa6eb163bd91 Merge: 8cfd23e 938049e Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Aug 21 01:10:19 2015 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Resolve conflicts with conntrack template fixes. Conflicts: net/netfilter/nf_conntrack_core.c net/netfilter/nf_synproxy_core.c net/netfilter/xt_CT.c Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 44790462d041d3037d60b3bf88f30837a72006ff Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Jul 14 11:33:31 2015 +1000 drm/dp/mst: dump branch OUI in debugfs (v2) It appears some MST docks are worse than other, but the only way to know is to see the sw revisions in here, so dump the branch OUI so we can look at the sw revision. v2: Thierry made me feel guilty, so I parsed the branch OUI. Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ba5d183bced6cb60b2838a0bf04665c1c1e4bff1 Merge: ff2d920 258d9bc Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:59:45 2015 -0700 Merge tag 'tegra-for-4.3-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/defconfig ARM: tegra: Default configuration updates for v4.3-rc1 Enable the GK20A GPU (via the Nouveau driver) and CPU frequency scaling on Tegra124. * tag 'tegra-for-4.3-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Update multi_v7_defconfig ARM: tegra: Update default configuration Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 21815b9a24c6e6d3488703609561bd2892d3d9f3 Merge: 420f262 588c43a Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:50:17 2015 -0700 Merge tag 'tegra-for-4.3-memory' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers ARM: tegra: Memory controller updates for v4.3-rc1 Adds support for Tegra210, which allows the SMMU to be used on this new SoC generation. * tag 'tegra-for-4.3-memory' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: memory: tegra: Add Tegra210 support memory: tegra: Add support for a variable-size client ID bitfield memory: tegra: Expose supported rates via debugfs Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 420f2629fa041ed92f7e687b3bc8020d80b209bb Merge: 5378e46 9eb15db Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:47:04 2015 -0700 Merge tag 'tegra-for-4.3-cpufreq' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers ARM: tegra: CPU frequency scaling for v4.3-rc1 This adds CPU frequency scaling support for Tegra124. * tag 'tegra-for-4.3-cpufreq' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: cpufreq: Add cpufreq driver for Tegra124 cpufreq: tegra: Rename tegra-cpufreq to tegra20-cpufreq cpufreq: tegra124: Add device tree bindings Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5378e4665f226e3b5b460793397eff32b4de9daa Merge: bd90f11 1ec0e11 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:43:15 2015 -0700 Merge tag 'tegra-for-4.3-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers ARM: tegra: Core SoC changes for v4.3-rc1 This contains a bit more of Tegra210 support, which is shaping up pretty nicely. Other than that there are a couple of cleanup patches here, too. * tag 'tegra-for-4.3-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: cpuidle: implement cpuidle_state.enter_freeze() ARM: tegra: Disable cpuidle if PSCI is available soc/tegra: pmc: Use existing pclk reference soc/tegra: pmc: Remove unnecessary return statement soc: tegra: Remove redundant $(CONFIG_ARCH_TEGRA) in Makefile soc/tegra: fuse: Add spare bit offset for Tegra210 soc/tegra: fuse: Add spare bit offset for Tegra124 soc/tegra: fuse: Add spare bit offset for Tegra114 soc/tegra: fuse: Rename core_* to soc_* soc/tegra: fuse: Add Tegra210 support soc/tegra: fuse: Unify Tegra20 and Tegra30 drivers soc/tegra: fuse: Restrict legacy code to 32-bit ARM soc/tegra: pmc: Add Tegra210 support soc/tegra: pmc: Restrict legacy code to 32-bit ARM soc/tegra: pmc: Avoid usage of uninitialized variable soc/tegra: Add Tegra210 support soc/tegra: Add Tegra132 support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 97a2482d9891f0ad6a3710e0b6ae9949c140c7f1 Merge: 16478b6 5cf4af3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:41:42 2015 -0700 Merge tag 'tegra-for-4.3-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/cleanup ARM: tegra: Cleanup patches for v4.3-rc1 Just a couple of trivial cleanups to make the HDA controller driver code match the device tree binding. * tag 'tegra-for-4.3-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ALSA: hda/tegra: Order clock and reset names consistently ALSA: hda/tegra - Fix hda2codec_2x clock and reset names Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7c4ecc72d82f2908b9fe70dbd49c1cd35738f995 Merge: deb1436 2b347c6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:39:57 2015 -0700 Merge tag 'samsung-defconfig-new' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/late Samsung defconfig updates for v4.3 - for exynos_defconfig : enable SND_SOC_ODROIDX2 and SND_SIMPLE_CARD for Odroid-XU3 to use max98090 audio codec : enalbe SENSORS_NTC_THERMISTOR for Peach boards : enable cpufreq-dt driver with ONDEMAND governor for Exynos SoCs 3250, 4210, 4212, 4412 and 5250 - for multi_v7_defconfig: : remove SAMSUNG_USB2PHY and SAMSUNG_USB3PHY are not used now : enable SENSORS_NTC_THERMISTOR and EXYNOS_ADC for Peach boards : enable REGULATOR_MAX77802 for Peach boards * tag 'samsung-defconfig-new' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: exynos_defconfig: Enable cpufreq-dt driver ARM: multi_v7_defconfig: Enable max77802 regulator ARM: exynos_defconfig: Enable NTC Thermistors support ARM: multi_v7_defconfig: Enable NTC Thermistors support ARM: multi_v7_defconfig: Remove old Samsung USB PHY configs ARM: exynos_defconfig: Enable CONFIG_SND_SOC_ODROIDX2 for Odroid-XU3 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit deb14362a5268a094efb0534f2999bc8ea97ce2f Merge: 418012f 5e3863a Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:38:39 2015 -0700 Merge tag 'samsung-late-cpufreq-driver' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/late Samsung cpufreq driver updates for v4.3 - remove exynos4 SoCs and exynos5250 specific cpufreq driver support and unselectable rule for arm-exynos-cpufreq.o because of supporting generic cpufreq driver for the exynos SoCs * Note this is depending on tags/samsung-clk-driver, tags/samsung-soc and tags/samsung-late-dt * tag 'samsung-late-cpufreq-driver' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: cpufreq: exynos: Remove unselectable rule for arm-exynos-cpufreq.o cpufreq: exynos: remove Exynos4x12 specific cpufreq driver support cpufreq: exynos: remove exynos5250 specific cpufreq driver support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 418012fbe5e6ef83424a8233b29c11159acd4af9 Merge: 819167e bdd2648 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:37:55 2015 -0700 Merge tag 'samsung-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/late Samsung SoC updates for v4.3 - add compatible string to exynos_cpufreq_matchs to switch for supporting generic cpufreq driver for exynos3250, 4210, 4212 and 5250 SoCs in mach-exynos/ * tag 'samsung-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: switch to using generic cpufreq driver for exynos4x12 ARM: EXYNOS: Add exynos3250 compatible to use generic cpufreq driver ARM: EXYNOS: switch to using generic cpufreq driver for exynos5250 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 819167e7a0808891048ef45a8933fdeb1f04899f Merge: 6b07705 ba03279 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:35:34 2015 -0700 Merge tag 'samsung-late-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/late Samsung 2nd DT updates for v4.3 - for exynos3250, 4212, 4412 and 5250 : add CPU OPP and regulator supply property - for exynos3250 : add CPU cooling binding for exynos3250 boards - for exynos4 SoCs : add iommu property to JPEG device - for exynos4412-odroidu3 : enable SPI1 - for exynos5250-snow : add SPI CS - for exynos5422 : add exynos5422-cpus.dtsi to correct cpu order * Note this branch is depending on tags/samsung-clk-driver * tag 'samsung-late-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (22 commits) ARM: dts: add iommu property to JPEG device for exynos4 ARM: dts: enable SPI1 for exynos4412-odroidu3 ARM: dts: Add SPI CS on exynos5250-snow ARM: dts: Add CPU cooling binding for exynos3250 boards ARM: dts: add exynos5422-cpus.dtsi to correct cpu order ARM: dts: add CPU OPP and regulator supply property for exynos4x12 ARM: dts: Add CPU OPP and regulator supply property for exynos3250 ARM: dts: add CPU OPP and regulator supply property for exynos5250 ARM: dts: Extend exynos5420-pinctrl nodes using labels instead of paths ARM: dts: Include exynos5420-pinctrl after the nodes were defined for exynos5420 ARM: dts: Extend exynos5250-pinctrl nodes using labels instead of paths ARM: dts: Include exynos5250-pinctrl after the nodes were defined for exynos5250 ARM: dts: Enable thermal-zones for exynos5422-odroidxu3 ARM: dts: Define default thermal-zones for exynos5422 ARM: dts: Enable TMU for exynos5422-odroidxu3 ARM: dts: Add pwm-fan node for exynos5422-odroidxu3 ARM: dts: Use labels for overriding nodes for exynos4210-universal_c210 ARM: dts: Set max17047 over heat and voltage thresholds for exynos4412-trats2 ARM: dts: Enable USB3 regulators for exynos5422-odroidxu3 ARM: dts: Clean up indentation for exynos5410-smdk5410 ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6b0770582d3b1c60172bc515d658fa12a72e1faf Merge: bc0195a cd6acee Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:35:02 2015 -0700 Merge tag 'samsung-clk-driver' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/late Samsung clk driver updates for v4.3 - add cpu clock configuration data and instantiate cpu clock for exynos3250, 4210, 4412 and 5250 SoCs to support Samsung specific cpu-clock type * Note this branch has been provided to clk tree as a topic branch * tag 'samsung-clk-driver' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: clk: exynos4x12: add cpu clock configuration data and instantiate cpu clock clk: exynos3250: Add cpu clock configuration data and instaniate cpu clock clk: exynos5250: add cpu clock configuration data and instantiate cpu clock Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit bd90f11589181adad1b32b16a34df52d17dd4961 Merge: a005bc6 5d44595 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:30:09 2015 -0700 Merge tag 'reset-for-4.3' of git://git.pengutronix.de/git/pza/linux into next/drivers Reset controller changes for v4.3 - moved the DT reset binding includes from include/dt-bindings/reset-controller to include/dt-bindings/reset - new driver for LPC18xx Reset Generation Unit (RGU) - of_device_id array in the STi driver changed to const. - extend SoCFPGA reset driver to support Arria10 - new ath79 reset controller driver for AR71XX/AR9XXX - new driver for Xilinx Zynq reset controller * tag 'reset-for-4.3' of git://git.pengutronix.de/git/pza/linux: reset: reset-zynq: Adding support for Xilinx Zynq reset controller. docs: dts: Added documentation for Xilinx Zynq Reset Controller bindings. MIPS: ath79: Add the reset controller to the AR9132 dtsi reset: Add a driver for the reset controller on the AR71XX/AR9XXX devicetree: Add bindings for the ATH79 reset controller reset: socfpga: Update reset-socfpga to read the altr,modrst-offset property doc: dt: add documentation for lpc1850-rgu reset driver reset: add driver for lpc18xx rgu reset: sti: constify of_device_id array ARM: STi: DT: Move reset controller constants into common location MAINTAINERS: add include/dt-bindings/reset path to reset controller entry Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f2032f24c0e51487d88c3555db12e27d561e4f14 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Aug 19 14:49:26 2015 +0900 ARM: dts: UniPhier: fix PPI interrupt CPU mask of timer nodes This SoC is integrated with 4 Cortex-A9 cores. The GIC bindings document says that the bits[15:8] of the 3rd cell of the interrupts property represents PPI interrupt CPU mask. Because the timer interrupts are wired to all of the 4 cores, bits[15:8] should be set to 0xf. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 012bd2a533cd665c9961c5905f144170b16f61e4 Author: Yalin Wang <yalin.wang2010@xxxxxxxxx> Date: Thu Aug 20 17:41:42 2015 -0700 Input: zhenhua - switch to using bitrev8() Instead of custom zhenhua_bitreverse() let's use generic bitrev8(). Signed-off-by: Yalin Wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 467fb18a8d538be6548ef4093003b63aebbb07b9 Author: Brian Norris <briannorris@xxxxxxxxxxxx> Date: Wed Aug 19 15:18:41 2015 -0700 ARM: dts: rockchip: correct regulator power states for suspend When getting translated from a downstream device tree that used slightly different DT bindings, these regulators got labeled with the "on-in-suspend" state, when they were actually supposed to be turned off for S3 suspend. This was harmless, but not intentional, AFAICT. Let's turn them off to get the optimal power state. Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 6a414e462a7c493ed83535f388b07a34446f33f4 Author: Brian Norris <briannorris@xxxxxxxxxxxx> Date: Wed Aug 19 15:18:40 2015 -0700 ARM: dts: rockchip: correct regulator PM properties This DTS file was submitted with non-upstream bindings. I happened across this while reviewing the jaq DTS. Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit dd52128afddecade1dcd0767aec124c13c8a40bb Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 17:59:49 2015 -0500 NFSv4.1/pnfs Ensure flexfiles reports all connection related errors Make sure that we also handle RPC level connection and protocol negotiation errors. Reported-by: Tom Haynes <loghyr@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 08617f47eaf8c70b4c236dee2014c6141aa282bf Merge: 938049e 32a2b00 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 20 15:42:38 2015 -0700 Merge branch 'lwt-ipv6' Jiri Benc says: ==================== lwtunnel: per route ipv6 support for vxlan v3: Moved LWTUNNEL_ENCAP_IP6 definition in patch 13. v2: Fixed issues in patch 4 pointed out by Alexei. This series enables IPv6 tunnels based on lwtunnel infrastructure. Only vxlan is supported for now. Tested in all combinations of IPv4 over IPv6, IPv6 over IPv4 and IPv6 over IPv6. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32a2b002ce615eadd3bfaddabde290f70a1dd17b Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:32 2015 +0200 ipv6: route: per route IP tunnel metadata via lightweight tunnel Allow specification of per route IP tunnel instructions also for IPv6. This complements commit 3093fbe7ff4b ("route: Per route IP tunnel metadata via lightweight tunnel"). Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> CC: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 904af04d30f303d96902584206457128c3051d8d Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:31 2015 +0200 ipv6: route: extend flow representation with tunnel key Use flowi_tunnel in flowi6 similarly to what is done with IPv4. This complements commit 1b7179d3adff ("route: Extend flow representation with tunnel key"). Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a725e514dbb444f2a39c2bc5de72eb5efbeb7d5e Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:30 2015 +0200 vxlan: metadata based tunneling for IPv6 Support metadata based (formerly flow based) tunneling also for IPv6. This complements commit ee122c79d422 ("vxlan: Flow based tunneling"). Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f264e47d4dbbe590ac1131587933bb87ded296d Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:29 2015 +0200 vxlan: do not shadow flags variable The 'flags' variable is already defined in the outer scope. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 705cc62f6728c5a23e3c82465aa94e652e0b50e4 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:28 2015 +0200 vxlan: provide access function for vxlan socket address family Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab450605b35caa768ca33e86db9403229bf42be4 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:27 2015 +0200 ipv6: ndisc: inherit metadata dst when creating ndisc requests If output device wants to see the dst, inherit the dst of the original skb in the ndisc request. This is an IPv6 counterpart of commit 0accfc268f4d ("arp: Inherit metadata dst when creating ARP requests"). Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06e9d040ba08b0f645783ff958384d5837b3fa3a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:26 2015 +0200 ipv6: drop metadata dst in ip6_route_input The fix in commit 48fb6b554501 is incomplete, as now ip6_route_input can be called with non-NULL dst if it's a metadata dst and the reference is leaked. Drop the reference. Fixes: 48fb6b554501 ("ipv6: fix crash over flow-based vxlan device") Fixes: ee122c79d422 ("vxlan: Flow based tunneling") CC: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> CC: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61adedf3e3f1d3f032c5a6a299978d91eff6d555 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:25 2015 +0200 route: move lwtunnel state to dst_entry Currently, the lwtunnel state resides in per-protocol data. This is a problem if we encapsulate ipv6 traffic in an ipv4 tunnel (or vice versa). The xmit function of the tunnel does not know whether the packet has been routed to it by ipv4 or ipv6, yet it needs the lwtstate data. Moving the lwtstate data to dst_entry makes such inter-protocol tunneling possible. As a bonus, this brings a nice diffstat. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c383fb2254c44e096427470da6a36380169b548 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:24 2015 +0200 ip_tunnels: use tos and ttl fields also for IPv6 Rename the ipv4_tos and ipv4_ttl fields to just 'tos' and 'ttl', as they'll be used with IPv6 tunnels, too. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1ea5d672aaff08da337dee735dbb548e3415585 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:23 2015 +0200 ip_tunnels: add IPv6 addresses to ip_tunnel_key Add the IPv6 addresses as an union with IPv4 ones. When using IPv4, the newly introduced padding after the IPv4 addresses needs to be zeroed out. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 376534a3d17002d608985bd67c3b0880eacadd14 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:22 2015 +0200 ip_tunnels: use offsetofend Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b8847c5a2bafbbf92f4b779f87165093457ea68 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:21 2015 +0200 ip_tunnels: use u8/u16/u32 The ip_tunnels.h include file uses mixture of __u16 and u16 (etc.) types. Unify it to the non-underscore variants. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac1cf3990c99802eae3aa735b35c94a2131eb9fe Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:20 2015 +0200 ip_tunnels: remove custom alignment and packing The custom alignment of struct ip_tunnel_key is unnecessary. In struct sw_flow_key, it starts at offset 256, in struct ip_tunnel_info it's the first field. The structure is also packed even without the __packed keyword. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 938049e18dca57bcd2f93986fc1cbb5a83cdf027 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 19 13:56:42 2015 -0500 net: xgene Remove xgene specific phy and MAC lookup functions Convert the xgene_get_mac_address to device_get_mac_address(), and xgene_get_phy_mode() to device_get_phy_mode(). Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c9bcd117918ba6096d01194565e9d1814e5ef22 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 11:40:31 2015 -0700 net: Fix nexthop lookups Andreas reported breakage adding routes with local nexthops: $ ip route show table main ... 172.28.0.0/24 dev vnf-xe1p0 proto kernel scope link src 172.28.0.16 $ ip route add 10.0.0.0/8 via 172.28.0.32 table 100 dev vnf-xe1p0 RTNETLINK answers: Resource temporarily unavailable 3bfd847203c changed the lookup to use the passed in table but for cases like this the nexthop is in the local table rather than the passed in table. Fixes: 3bfd847203c ("net: Use passed in table for nexthop lookups") Reported-by: Andreas Schultz <aschultz@xxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb4cb85180cd3baee4a01fd32e296fc28c2cffc1 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Aug 19 11:29:35 2015 -0700 bridge: fix netlink max attr size .maxtype should match .policy. Probably just been getting lucky here because IFLA_BRPORT_MAX > IFLA_BR_MAX. Fixes: 13323516 ("bridge: implement rtnl_link_ops->changelink") Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d14a63400dd3e353acb6547831fe465f85864b1 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 19 11:46:43 2015 -0500 smsc911x: Remove dev==NULL check. The dev==NULL check in smsc911x_probe_config is useless and isn't providing any additional protection. If a fwnode doesn't exist then an appropriate error should be returned by device_get_phy_mode() covering the original case of a missing of/fwnode. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f710a3a8089c12dfe3c0cf04bb0a3dee3dea019 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 19 11:46:42 2015 -0500 device property: Add ETH_ALEN check, update comments. This patch adds MAC address length check back into the device_get_mac_addr() function before calling is_valid_ether_addr() similar to the way the OF routine does it. Update the comments for the two new functions. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef09242f3997f5fa063bcfa918d3ce4c4485376c Merge: e01286e a6bf49d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 20 14:13:25 2015 -0700 Merge tag 'wireless-drivers-next-for-davem-2015-08-19' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: ath10k: * add support for qca99x0 family of devices * improve performance of tx_lock * add support for raw mode (802.11 frame format) and software crypto engine enabled via a module parameter ath9k: * add fast-xmit support wil6210: * implement TSO support * support bootloader v1 and onwards iwlwifi: * Deprecate -10.ucode * Clean ups towards multiple Rx queues * Add support for longer CMD IDs. This will be required by new firmwares since we are getting close to the u8 limit. * bugfixes for the D0i3 power state * Add basic support for FTM * polish the Miracast operation * fix a few power consumption issues * scan cleanup * fixes for D0i3 system state * add paging for devices that support it * add again the new RBD allocation model * add more options to the firmware debug system * add support for frag SKBs in Tx ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e01286ef03a9c7b1d4937309f923c226ab05bc4d Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Aug 19 16:04:51 2015 +0800 ipv4: Make fib_encap_match static Make fib_encap_match() static as it isn't used outside the file. Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84b6714e54e5199e76f845be70295ccaab924872 Merge: 0f8f27d f4e774f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 20 14:10:23 2015 -0700 Merge branch 'ewma' Johannes Berg says: ==================== average: convert users to inline implementation Since there's very little benefit of the out-of-line implementation (a single byte of .text in one driver as far as I've seen), convert all drivers to the inline implementation, saving memory, and remove the out-of-line implementation. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4e774f55fe0bb568a0877b2eb9e1b4b5a6f5cbc Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 19 09:46:22 2015 +0200 average: remove out-of-line implementation Since all users are now converted to the inline implementation, remove the out-of-line implementation entirely. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11ab35ed0457a4b7914358986a67064ecb467e7d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 19 09:46:21 2015 +0200 rt2x00: use DECLARE_EWMA Instead of using the out-of-line EWMA calculation, use DECLARE_EWMA() to create static inlines. On x86/64 this results in code that's one byte larger (for me), but reduces struct link_ant and struct link size by the two unsigned long values that store the parameters each. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46f26ddf562e7495ffa37144be5e447aeb13795e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 19 09:46:20 2015 +0200 ath5k: use DECLARE_EWMA This reduces code size slightly (at least on x86/64) while also removing memory consumption by two unsigned long values for each ath5k device. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5377d75823ff90c0d5d52d69087707b2e54be21b Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 09:48:40 2015 +0200 virtio_net: use DECLARE_EWMA Instead of using the out-of-line EWMA calculation, use DECLARE_EWMA() to create static inlines. On x86/64 this results in no change in code size for me, but reduces the struct receive_queue size by the two unsigned long values that store the parameters. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9dae3a97297f71e884ed8e7664955bcacb86f010 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 20 16:08:27 2015 -0500 PCI: Move MPS configuration check to pci_configure_device() Previously we checked for invalid MPS settings, i.e., a device with MPS different than its upstream bridge, in pcie_bus_detect_mps(). We only did this if the arch or hotplug driver called pcie_bus_configure_settings(), and then only if PCIe bus tuning was disabled (PCIE_BUS_TUNE_OFF). Move the MPS checking code to pci_configure_device(), so we do it in the pci_device_add() path for every device. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0f8f27de19667075591eaffbf435dd78c73a2df4 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Aug 19 10:21:58 2015 +0300 bnx2x: Fix vxlan endianity issue Commit f34fa14cc033 ("bnx2x: Add vxlan RSS support") has introduced an endianity issue when passing the vxlan UDP port to the HW. Reported-by: <fengguang.wu@xxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26a6980cf40c67182bc36fa0b088ebed79796110 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 18 21:09:33 2015 +0200 drm/amdgpu: fix CS error handling v2 Stop double freeing the the BO list by pulling the content of amdgpu_cs_parser_prepare_job() into the IOCTL function again. v2: better commit message Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b203dd95949ec8d5e30d53446408eb9a4d1bdc62 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 18 18:23:16 2015 +0200 drm/amdgpu: fix zeroing all IB fields manually v2 The problem now is that we don't necessarily call amdgpu_ib_get() in some error paths and so work with uninitialized data. Better require that the memory is already zeroed. v2: better commit message Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bf7ebaeed4dca7c0a7f9d9a44efbd9f74cf22c5d Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 18 15:30:26 2015 +0200 drm/amdgpu: free the job immediately after dispatching it Fixes a whole bunch of lockdep warnings. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 2b184d8dbc002d3ef26e4827dd5a80d57533dcae Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 18 14:41:25 2015 +0200 drm/amdgpu: use a spinlock instead of a mutex for the rq More appropriate and fixes some nasty lockdep warnings. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit a3348bb801bac5c9a81fb3da4b1a2f0479e97923 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 18 16:25:46 2015 +0800 drm/amdgpu: don't need to use bo_list_clone any more Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 3c4adead8480f81df687a181d1e54a39b91b9363 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 18 16:19:13 2015 +0800 drm/amdgpu: some clean up for cs_ioctl Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 4fe6311734986220e40afe4bf72d62383c1e8d6c Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 18 16:12:15 2015 +0800 drm/amdgpu: prepare job should be common code path Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit bb977d3711ed1de1601b463e7fd5a43d82a2b077 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 18 15:16:40 2015 +0800 drm/amdgpu: abstract amdgpu_job for scheduler Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 1a15aaa998dc3b51f7f8b9a820bc7a192a0c2f76 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Aug 6 16:00:33 2015 -0700 irqchip: Add bcm2836 interrupt controller for Raspberry Pi 2 This interrupt controller is the new root interrupt controller with the timer, PMU events, and IPIs, and the bcm2835's interrupt controller is chained off of it to handle the peripherals. I wrote the interrupt chip support, while Andrea Merello wrote the IPI code. Signed-off-by: Andrea Merello <andrea.merello@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx Cc: Lee Jones <lee@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438902033-31477-5-git-send-email-eric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 815e7a31c3f7929f371da9c7e9ee91cfd52ef453 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Aug 6 16:00:32 2015 -0700 irqchip: Add documentation for the bcm2836 interrupt controller This is a new per-cpu root interrupt controller on the Raspberry Pi 2, which will chain to the bcm2835 interrupt controller for peripheral interrupts. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx Cc: Lee Jones <lee@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438902033-31477-4-git-send-email-eric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a493f339a88ddd20693460c1dcf8230aa3732b8b Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Aug 6 16:00:31 2015 -0700 irqchip/bcm2835: Add support for being used as a second level controller The BCM2836 (Raspberry Pi 2) uses two levels of interrupt handling with the CPU-local interrupts being the root, so we need to register ours as chained off of the CPU's local interrupt. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx Cc: Lee Jones <lee@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438902033-31477-3-git-send-email-eric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit de58e52f207e3318cb1e1d43f951454e0c83827f Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Aug 6 16:00:30 2015 -0700 irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ For BCM2836, we want to chain into this IRQ chip from the root controller, and for chaining we need to do something else instead of handle_IRQ() once we have decoded the IRQ. Note that this changes the behavior a little bit: Previously for a non-shortcut IRQ, we'd loop reading and handling the second level IRQ status until it was cleared before returning to the loop reading the top level IRQ status (Note that the top level bit is just an OR of the low level bits). For the expected case of just one interrupt to be handled, this was an extra register read, so we're down from 4 to 3 reads. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx Cc: Lee Jones <lee@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438902033-31477-2-git-send-email-eric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6055f37afd8b68aaf512532e7e2dd651df2d7833 Author: Marek Olšák <marek.olsak@xxxxxxx> Date: Tue Aug 18 23:58:47 2015 +0200 drm/amdgpu: bump the DRM version for new allowed mem-mapped registers Used by mesa, etc. for profiling. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b86d598d0c9d847c3ff0fc1b31c762551a0f0e12 Merge: 57b8efa 2640b39 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 20 13:01:57 2015 -0700 Merge branch 'vrf-cleanups-part-2' Nikolay Aleksandrov says: ==================== vrf: cleanups part 2 This is the next part of vrf cleanups, patch 1 drops the SLAB_PANIC when creating kmem cache since it's handled, patch 02 removes a slave duplicate check which is already done by the lower/upper code, patch 3 moves the ndo_add_slave code around a bit so we can drop an error label and patch 4 drops the master device checks which are unnecessary because the ops are taken from the master device itself so it can't be different. ==================== Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> commit 2640b39c28174dba1c9e089be575d87e5204282f Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 06:27:10 2015 +0300 vrf: ndo_add|del_slave drop unnecessary checks When ndo_add|del_slave ops are used, they're taken from the respective master device's netdev ops, so if the master device is a VRF only then the VRF ops will get called thus no need to check the type of the master. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15df5e711245743a7a8018dd6535e39dcfcb38fc Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 06:27:09 2015 +0300 vrf: move vrf_insert_slave so we can drop a goto label We can simplify do_vrf_add_slave by moving vrf_insert_slave in the end of the enslaving and thus eliminate an error goto label. It always succeeds and isn't needed before that anyway. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67f3a90b54322314a01af28946799a84c1b1d190 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 06:27:08 2015 +0300 vrf: remove unnecessary duplicate check The upper/lower functions already check for duplicate slaves so no need to do it again. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e367da02fefcc6026c560ab3f361a40a16ccd9b3 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 06:27:07 2015 +0300 vrf: don't panic on cache create failure It's pointless to panic on cache create failure when that case is handled and even more so since it's not a kernel-wide fatal problem so don't panic. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29e76924cf087bc6a9114a9244828fd13ae959bb Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Aug 19 21:26:43 2015 +0200 nfc: netlink: Add capability to reply to vendor_cmd with data A proprietary vendor command may send back useful data to the user application. For example, the field level applied on the NFC router antenna. Still based on net/wireless/nl80211.c implementation, add nfc_vendor_cmd_alloc_reply_skb and nfc_vendor_cmd_reply in order to send back over netlink data generated by a proprietary command. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 57b8efa1a5e4baf3dfca8d5d7bfb946bd44ff390 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 06:12:29 2015 +0300 vrf: plug skb leaks Currently whenever a packet different from ETH_P_IP is sent through the VRF device it is leaked so plug the leaks and properly drop these packets. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a9e0ffc0f128ecdf7c770f76c268e4f9f3c9118 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Aug 19 21:26:42 2015 +0200 nfc: nci: hci: Add check on skb nci_hci_send_cmd parameter skb can be NULL and may lead to a NULL pointer error. Add a check condition before setting HCI rx buffer. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d5dc861bd601b546ae6b36af54485142cca36a5e Author: Toshi Kani <toshi.kani@xxxxxx> Date: Wed Jul 22 12:06:11 2015 -0600 x86/mm/pat: Add comments to cachemode translation tables Add comments to the cachemode translation tables to clarify that the default values are set as minimal supported mode, which are necessary to handle WC and WT fallback to UC- when they are not enabled. Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437588371-28223-1-git-send-email-toshi.kani@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c04c674fadeb4a8e6522fc838d4620f7cfd4c621 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 20 17:26:02 2015 +0200 nfc: s3fwrn5: Add driver for Samsung S3FWRN5 NFC Chip Add driver for Samsung S3FWRN5 NFC controller. S3FWRN5 is using NCI protocol and I2C communication interface. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 025a0cb8380b7100d39fb426db9192b6c59595dc Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 20 17:26:01 2015 +0200 NFC: nci: export nci_core_reset and nci_core_init Some drivers needs to have ability to reinit NCI core, for example after updating firmware in setup() of post_setup() callback. This patch makes nci_core_reset() and nci_core_init() functions public, to make it possible. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fdf79bd48876812acf0de58ed7a8bc1b3a3c67d6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 20 17:26:00 2015 +0200 NFC: nci: Add post_setup handler Some drivers require non-standard configuration after NCI_CORE_INIT request, because they need to know ndev->manufact_specific_info or ndev->manufact_id. This patch adds post_setup handler allowing to do such custom configuration. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 05ddaa4d6d3806bebdf14f7c5de742a6e0e3b689 Merge: b48362d 9ca3085 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 20 21:13:22 2015 +0200 Merge branch 'fortglx/4.3/time' of https://git.linaro.org/people/john.stultz/linux into timers/core - A handful or y2038 related items - A walltime to monotonic limit - Small fixes for timespec_trunc() and timer_list output commit e76d28dd9ca84fa96dc0054bab34ccec34a7662a Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 13:12:51 2015 -0500 NFSv4.1/pnfs: Ensure the flexfiles layoutstats timers are consistent We want to ensure that the stopwatches for the busy timer and the aggregate timer are consistent. This means that they need to use the same start/stop times. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 046be74da8f257c4f1925ed4b5d4ee4c822ef9c6 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Fri Aug 21 10:32:50 2015 +0800 NFS41: fix list splice type We want to move commiting pages to pages list instead. Otherwise it causes pnfs small writes crash like: [34560.037692] BUG: unable to handle kernel NULL pointer dereference at 0000000000000068 [34560.038557] IP: [<ffffffffa05423d6>] nfs_init_commit+0x26/0x130 [nfs] [34560.039400] PGD 69f5a067 PUD 69f59067 PMD 0 [34560.040207] Oops: 0000 [#1] SMP [34560.041014] Modules linked in: nfsv3(OE) nfs_layout_flexfiles(OE) nfsv4(OE) nfs(OE) fscache(E) rpcsec_gss_krb5(E) xt_addrtype(E) xt_conntrack(E) ipt_MASQUERADE(E) nf_nat_masquerade_ipv4(E) iptable_nat(E) nf_conntrack_ipv4(E) nf_defrag_ipv4(E) nf_nat_ipv4(E) iptable_filter(E) ip_tables(E) x_tables(E) nf_nat(E) nf_conntrack(E) bridge(E) stp(E) llc(E) dm_thin_pool(E) dm_persistent_data(E) dm_bio_prison(E) dm_bufio(E) ppdev(E) vmw_balloon(E) coretemp(E) crc32_pclmul(E) ghash_clmulni_intel(E) aesni_intel(E) aes_x86_64(E) glue_helper(E) lrw(E) gf128mul(E) ablk_helper(E) cryptd(E) psmouse(E) serio_raw(E) vmw_vmci(E) i2c_piix4(E) shpchp(E) parport_pc(E) parport(E) mac_hid(E) nfsd(E) auth_rpcgss(E) nfs_acl(E) lockd(E) grace(E) sunrpc(E) xfs(E) libcrc32c(E) hid_generic(E) usbhid(E) hid(E) e1000(E) mptspi(E) [34560.045106] mptscsih(E) mptbase(E) vmwgfx(E) drm_kms_helper(E) ttm(E) drm(E) autofs4(E) [last unloaded: fscache] [34560.045897] CPU: 0 PID: 130543 Comm: bash Tainted: G OE 4.2.0-rc5-dp-00057-gf993a93 #11 [34560.046699] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 05/20/2014 [34560.047525] task: ffff880031b0a980 ti: ffff880045fec000 task.ti: ffff880045fec000 [34560.048264] RIP: 0010:[<ffffffffa05423d6>] [<ffffffffa05423d6>] nfs_init_commit+0x26/0x130 [nfs] [34560.049000] RSP: 0018:ffff880045fefc18 EFLAGS: 00010246 [34560.049717] RAX: 0000000000000000 RBX: ffff8800208fbc80 RCX: ffff880045fefd50 [34560.050396] RDX: ffff880031c19ec0 RSI: ffff880045fefc88 RDI: ffff8800208fbc80 [34560.051041] RBP: ffff880045fefc28 R08: ffff8800208fbe68 R09: ffff880045fefc88 [34560.051666] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880045fefc78 [34560.052247] R13: ffff880045fefc88 R14: ffff880045fefa90 R15: ffff880045fefd50 [34560.052825] FS: 00007fa02d58c740(0000) GS:ffff88006d600000(0000) knlGS:0000000000000000 [34560.053410] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [34560.053992] CR2: 0000000000000068 CR3: 000000003b37a000 CR4: 00000000001406f0 [34560.054615] Stack: [34560.055200] ffff8800208fbc80 ffff8800208fbc80 ffff880045fefcc8 ffffffffa05c1a5b [34560.055800] ffff880045fefcc8 ffff880045fefd50 0000000045fefcb8 ffff880045fefd40 [34560.056418] ffff8800420608e0 ffffffffa04f3910 0000000100000001 ffff880045fefd50 [34560.057013] Call Trace: [34560.057672] [<ffffffffa05c1a5b>] pnfs_generic_commit_pagelist+0x1cb/0x300 [nfsv4] [34560.058277] [<ffffffffa04f3910>] ? ff_layout_commit_pagelist+0x20/0x20 [nfs_layout_flexfiles] [34560.058907] [<ffffffffa04f3905>] ff_layout_commit_pagelist+0x15/0x20 [nfs_layout_flexfiles] [34560.059557] [<ffffffffa0543fc1>] nfs_generic_commit_list+0xb1/0xf0 [nfs] [34560.060214] [<ffffffffa0543e47>] ? nfs_scan_commit+0x37/0xa0 [nfs] [34560.060825] [<ffffffffa0544081>] nfs_commit_inode+0x81/0x150 [nfs] [34560.061432] [<ffffffffa05443ae>] nfs_wb_all+0x1ae/0x400 [nfs] [34560.062035] [<ffffffffa05380ad>] nfs_getattr+0x33d/0x510 [nfs] [34560.062630] [<ffffffff8122499c>] vfs_getattr_nosec+0x2c/0x40 [34560.063223] [<ffffffff81224a66>] vfs_getattr+0x26/0x30 [34560.063818] [<ffffffff81224b35>] vfs_fstatat+0x65/0xa0 [34560.064413] [<ffffffff81224f3f>] SYSC_newstat+0x1f/0x40 [34560.065016] [<ffffffff8102b176>] ? do_audit_syscall_entry+0x66/0x70 [34560.065626] [<ffffffff8102c773>] ? syscall_trace_enter_phase1+0x113/0x170 [34560.066245] [<ffffffff81003017>] ? trace_hardirqs_on_thunk+0x17/0x19 [34560.066868] [<ffffffff812251ae>] SyS_newstat+0xe/0x10 [34560.067533] [<ffffffff817a5df2>] entry_SYSCALL_64_fastpath+0x16/0x7a [34560.068173] Code: 0f 1f 44 00 00 0f 1f 44 00 00 55 4c 8d 87 e8 01 00 00 48 89 e5 53 48 89 fb 48 83 ec 08 4c 8b 0e 49 8b 41 18 4c 39 ce 48 8b 40 40 <4c> 8b 50 68 74 24 48 8b 87 e8 01 00 00 48 8b 7e 08 4d 89 41 08 [34560.069609] RIP [<ffffffffa05423d6>] nfs_init_commit+0x26/0x130 [nfs] [34560.070295] RSP <ffff880045fefc18> [34560.071008] CR2: 0000000000000068 [34560.073207] ---[ end trace f85f873260977406 ]--- [fixes 27571297a7e(pNFS: Tighten up locking around DS commit buckets)] Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9a16ea900fadc88714e3a32214dea8e968ccd889 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Aug 20 11:12:35 2015 +0200 regmap: regmap_raw_read return error on !bus->read Return -ENOTSUPP if map->bus->read is not implemented and we do not use the cache. This code path would directly use bus->read would run into an NULL pointer for the read function. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a71d6ea6d3ec3e8ba4220370f29531903e3bc153 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Aug 20 17:19:08 2015 +0800 spi: mediatek: use BIT() to instead of SPI_CMD_*_OFFSET This patch removes SPI_CMD_*_OFFSET defines, and uses the BIT(x) defines instead. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af57937e862370c14b7d71d15d969593ffca1ba8 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Aug 20 17:19:07 2015 +0800 spi: medaitek: revise quirks compatibility style The quirks are true/false, so define these as bool. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44f636da4e71e0c73d6e29d0319a8954ce3f247a Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Aug 20 17:19:06 2015 +0800 spi: mediatek: fix spi incorrect endian usage TX_ENDIAN/RX_ENDIAN bits define whether to reverse the endian order of the data DMA from/to memory. The endian order should keep the same with cpu endian. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2e05394e4a3420dab96f728df4531893494e15d Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:41 2015 -0600 pmem, dax: have direct_access use __pmem annotation Update the annotation for the kaddr pointer returned by direct_access() so that it is a __pmem pointer. This is consistent with the PMEM driver and with how this direct_access() pointer is used in the DAX code. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 2765cfbb342c727c3fd47b165196cb16da158022 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:40 2015 -0600 dax: update I/O path to do proper PMEM flushing Update the DAX I/O path so that all operations that store data (I/O writes, zeroing blocks, punching holes, etc.) properly synchronize the stores to media using the PMEM API. This ensures that the data DAX is writing is durable on media before the operation completes. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 5de490daec8b6354b90d5c9d3e2415b195f5adb6 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:39 2015 -0600 pmem: add copy_from_iter_pmem() and clear_pmem() Add support for two new PMEM APIs, copy_from_iter_pmem() and clear_pmem(). copy_from_iter_pmem() is used to copy data from an iterator into a PMEM buffer. clear_pmem() zeros a PMEM memory range. Both of these new APIs must be explicitly ordered using a wmb_pmem() function call and are implemented in such a way that the wmb_pmem() will make the stores to PMEM durable. Because both APIs are unordered they can be called as needed without introducing any unwanted memory barriers. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 4a370df5534ef727cba9a9d74bf22e0609f91d6e Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:38 2015 -0600 pmem, x86: clean up conditional pmem includes Prior to this change x86_64 used the pmem defines in arch/x86/include/asm/pmem.h, and UM used the default ones at the top of include/linux/pmem.h. The inclusion or exclusion in linux/pmem.h was controlled by CONFIG_ARCH_HAS_PMEM_API, but the ones in asm/pmem.h were controlled by ARCH_HAS_NOCACHE_UACCESS. Instead, control them both with CONFIG_ARCH_HAS_PMEM_API so that it's clear that they are related and we don't run into the possibility where they are both included or excluded. Also remove a bunch of stale function prototypes meant for UM in asm/pmem.h - these just conflicted with the inline defaults in linux/pmem.h and gave compile errors. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 18279b467a9d89afe44afbc19d768e834dbf4545 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:37 2015 -0600 pmem: remove layer when calling arch_has_wmb_pmem() Prior to this change arch_has_wmb_pmem() was only called by arch_has_pmem_api(). Both arch_has_wmb_pmem() and arch_has_pmem_api() checked to make sure that CONFIG_ARCH_HAS_PMEM_API was enabled. Instead, remove the old arch_has_wmb_pmem() wrapper to be rid of one extra layer of indirection and the redundant CONFIG_ARCH_HAS_PMEM_API check. Rename __arch_has_wmb_pmem() to arch_has_wmb_pmem() since we no longer have a wrapper, and just have arch_has_pmem_api() call the architecture specific arch_has_wmb_pmem() directly. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 40603526569b304dd92f720f2f8ab11e828ea145 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:36 2015 -0600 pmem, x86: move x86 PMEM API to new pmem.h header Move the x86 PMEM API implementation out of asm/cacheflush.h and into its own header asm/pmem.h. This will allow members of the PMEM API to be more easily identified on this and other architectures. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Suggested-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit e134cb2041359c927b735b81568373624ea26baf Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Aug 14 11:22:16 2015 +0800 ASoC: wm8994: fix add dynamic path error If there don't exist dynamic sink or source widget, it will failed to add dynamic path. "AIF3ADCDAT" is snd_soc_dapm_aif_out, can't be dynamic sink widget. So change the audio route to fix this issue. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f682c4ffd25a19594d21987c19a69fa123242eb7 Author: Vignesh R <vigneshr@xxxxxx> Date: Thu Aug 20 16:00:59 2015 +0530 spi: ti-qspi: use 128 bit transfer mode where possible TI QSPI has four 32 bit data regsiters which can be used to transfer 16 bytes of data at once. The register group QSPI_SPI_DATA_REG_3, QSPI_SPI_DATA_REG_2, QSPI_SPI_DATA_REG_1 and QSPI_SPI_DATA_REG is treated as a single 128-bit word for shifting data in and out. The bit at QSPI_SPI_DATA_REG_3[31] position is the first bit to be shifted out in case of 128 bit transfer mode. Therefore the first byte to be written to flash should be at QSPI_SPI_DATA_REG_3[31-25] position. Instead of writing 1 byte at a time when interacting with spi-nor flash, make use of all the four registers so that 16 bytes can be transferred in one go. This reduces number of register writes and Word Complete interrupts for a given transfer message size, thereby increasing the write performance. Without this patch the raw flash write speed is ~100KB/s, with this patch the write speed increases to ~400 kB/s on DRA74 EVM. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 14a500fe1396934c6b3ed8f009459a4723da7862 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Aug 20 22:11:15 2015 +0530 ASoC: samsung: Remove redundant arndale_audio_remove There is no use of snd_soc_unregister_card in remove function as devm_snd_soc_register_card in probe function automatically handles it. So, remove use of snd_soc_unregister_card and with this change remove arndale_audio_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3a10766d0624c72b978790dba864cf7d6160f89f Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Aug 4 14:54:04 2015 -0500 PCI: Drop references acquired by of_parse_phandle() of_parse_phandle() returns a device_node pointer with the refcount incremented. We should dispose of this reference when we're finished. Drop the reference acquired by of_parse_phandle(). Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 2291ec09025f85c11fbd0e9877c4306a8aa6e7e9 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Mon Aug 3 22:04:06 2015 -0500 PCI/MSI: Remove unused pcibios_msi_controller() hook The pcibios_msi_controller() hook was only implemented by ARM, and it sets pci_bus->msi now, so it doesn't need this hook anymore. Remove the unused pcibios_msi_controller() hook. [bhelgaas: changelog, split into separate patch] Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b5e5e8a13e19ee17e6ffbe2c3d344182b7be20f6 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Aug 4 11:58:49 2015 -0500 ARM/PCI: Remove msi_controller from struct pci_sys_data ARM now uses pci_bus->msi to store the msi_controller pointer, so we don't need to save it in struct pci_sys_data, and we don't need to implement pcibios_msi_controller() to get it out of pci_sys_data. Remove msi_controller from struct pci_sys_data and pcibios_msi_controller(). [bhelgaas: changelog, split into separate patch] Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit 8953aab1e80fd299d6185a57edaff733fa5c6a55 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Wed Jul 29 12:33:18 2015 +0100 ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() ARM previously stored the msi_controller pointer in its sysdata, struct pci_sys_data, and implemented pcibios_msi_controller() to retrieve it. That made PCI host controller drivers specific to ARM because they had to put the msi_controller pointer in the ARM-specific pci_sys_data. There is now a generic mechanism, pci_scan_root_bus_msi(), for giving the msi_controller pointer to the PCI core. Use this for all ARM systems and for the DesignWare and Xilinx PCI host controller drivers. This removes an ARM dependency from the DesignWare, DRA7xx, EXYNOS, i.MX6, Keystone, Layerscape, SPEAr13xx, and Xilinx drivers. [bhelgaas: changelog, split into separate patch] Suggested-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> CC: Pratyush Anand <pratyush.anand@xxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Simon Horman <horms@xxxxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> CC: Thierry Reding <thierry.reding@xxxxxxxxx> CC: Michal Simek <michal.simek@xxxxxxxxxx> CC: Marc Zyngier <marc.zyngier@xxxxxxx> commit d2a7926d42b3b46e45b4e44dc3302b2701ec0856 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Mon Aug 3 21:27:10 2015 -0500 PCI: Add pci_scan_root_bus_msi() Add a pci_scan_root_bus_msi() interface so an arch can specify the MSI controller up front. This removes the need for a pcibios callback to set the MSI controller later. This is not exported because I'd like to replace the variety of "scan root bus" interfaces with a single, more extensible interface that can handle the MSI controller, domain, pci_ops, resources, etc. I hope this interface is temporary. [bhelgaas: changelog, split into separate patch] Suggested-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit ada8b675b76ec847bfa4a237d82a7a96da128768 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Wed Jul 29 12:33:17 2015 +0100 ARM/PCI: Replace panic with WARN messages on failures In the ARM PCI bios32 layer, failures to dynamically allocate pci_sys_data for a PCI bus, or a PCI bus scan failure have to be considered serious warnings but they should not trigger a system panic so that at least the system is given a chance to be debugged. This patch replaces the panic statements with WARN() messages to improve error reporting in the ARM PCI bios32 layer. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Marc Zyngier <marc.zyngier@xxxxxxx> commit aa4a5c0d2d7e3c30f9df033ea0367f148bb369f6 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Aug 5 02:23:40 2015 +0530 PCI: generic: Add arm64 support Make pci-host-generic driver (kernel option PCI_HOST_GENERIC) available on arm64. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 459a07721c113b807ffcaa7bc98dd5d26beb39d5 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Aug 5 02:23:39 2015 +0530 PCI: Build setup-irq.o for arm64 ARM64 requires setup-irq.o to provide pci_fixup_irqs() implementation. We are adding this now to support the pci-host-generic host controller, but we enable it for ARM64 PCI so that other host controllers can use this as well. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 499733e0cc1a00523c5056a690f65dea7b9da140 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Aug 5 02:23:38 2015 +0530 PCI: generic: Remove dependency on ARM-specific struct hw_pci The generic OF-based host controller driver uses pci_common_init_dev(), which is ARM-specific and requires the ARM struct hw_pci. The part of pci_common_init_dev() that is needed is limited and can be done here without using hw_pci. Note that the ARM pcibios functions expect the PCI sysdata to be a pointer to a struct pci_sys_data. Add a struct pci_sys_data as the first element in struct gen_pci so that when we use a gen_pci pointer as sysdata, it is also a pointer to a struct pci_sys_data. Create and scan the root bus directly without using the ARM pci_common_init_dev() interface. [bhelgaas: changelog, move pcie_bus_configure_settings() before pci_bus_add_devices(), combine !PCI_PROBE_ONLY blocks] Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 24928634f81b1592e83b37dcd89ed45c28f12feb Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sun Aug 16 13:04:50 2015 -0700 f2fs: check the node block address of newly allocated nid This patch adds a routine which checks the block address of newly allocated nid. If an nid has already allocated by other thread due to subtle data races, it will result in filesystem corruption. So, it needs to check whether its block address was already allocated or not in prior to nid allocation as the last chance. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a21c20f0c812925085204fced932ac95f2a76bf0 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sun Aug 16 12:38:15 2015 -0700 f2fs: go out for insert_inode_locked failure We should not call unlock_new_inode when insert_inode_locked failed. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5ee5293c3290a8e710d75977418f954e62c3dfdf Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Aug 15 22:06:08 2015 -0700 f2fs: retry gc if one section is not successfully reclaimed If FG_GC failed to reclaim one section, let's retry with another section from the start, since we can get anoterh good candidate. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2286c0205d1478d4bece6e733cbaf15535fba09d Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Aug 15 21:51:05 2015 -0700 f2fs: fix to cover lock_op for update_inode_page Previously, update_inode_page is not called under f2fs_lock_op. Instead we should call with f2fs_write_inode. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 268344664603706b6f156548f9d7482665222f87 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Aug 14 17:57:29 2015 -0700 f2fs: reuse nids more aggressively If we can reuse nids as many as possible, we can mitigate producing obsolete node pages in the page cache. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 26d5859974bb817f7615be90199a8e82e3f0a0ed Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Aug 14 14:37:50 2015 -0700 f2fs: avoid garbage collecting already moved node blocks If node blocks were already moved, we don't need to move them again. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 740432f835608d11b5386321ab5aa8f61e07fb27 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Aug 14 11:43:56 2015 -0700 f2fs: handle failed bio allocation As the below comment of bio_alloc_bioset, f2fs can allocate multiple bios at the same time. So, we can't guarantee that bio is allocated all the time. " * When @bs is not NULL, if %__GFP_WAIT is set then bio_alloc will always be * able to allocate a bio. This is due to the mempool guarantees. To make this * work, callers must never allocate more than 1 bio at a time from this pool. * Callers that need to allocate more than 1 bio must always submit the * previously allocated bio for IO before attempting to allocate a new one. * Failure to do so can cause deadlocks under memory pressure. " Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a6db67f06fd9f6b1ddb11bcf4d7e8e8a86908d01 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Aug 10 15:01:12 2015 -0700 f2fs: increase the number of max hard links This patch increases the number of maximum hard links for one file. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 798c1b16d1a6171587ff46c74ede8092e66f72f7 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Aug 11 21:59:49 2015 -0700 f2fs: skip checkpoint if there is no dirty and prefree segments We should avoid needless checkpoints when there is no dirty and prefree segment. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 31696580bf4c042a0f7b06d855e04441488d18b1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Jul 28 18:33:46 2015 +0800 f2fs: shrink free_nids entries This patch introduces __count_free_nids/try_to_free_nids and registers them in slab shrinker for shrinking under memory pressure. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 206e61be29624499af46546076e835da93e6bde5 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 12 17:48:21 2015 +0800 f2fs: avoid clear valid page In f2fs_delete_entry, if last dirent is remove from the dentry page, we will try to punch that page since it has no valid date in it. But truncate_hole which is used for punching could fail because of no memory or IO error, if that happened, we'd better skip clearing this valid dentry page. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7b2a246b888ffb26fcec10adf7ff80b00fbad909 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 12 17:47:08 2015 +0800 MAINTAINERS: add myself as a dedicated reviewer of f2fs I volunteer to be a dedicated reviewer of f2fs, add my email address in maintainship entry of f2fs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 315df8398e36360c0be62e6fdd3f2708fc3a2567 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Aug 11 12:45:39 2015 -0700 f2fs: do not write any node pages related to orphan inodes We should not write node pages when deleting orphan inodes. In order to do that, we can eaisly set POR_DOING flag earlier before entering orphan inode routine. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 895fb3159280fe7695b35ec7c87ec19e13ca5b6e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Aug 21 20:43:44 2015 +0300 xtensa: improve vmlinux.lds.S sed post-processing Current sed script makes assumptions about the structure of rules that group .text sections in the vmlinux linker script. These assumptions get broken occasionally, e.g.: 779c88c94c34 "ARM: 8321/1: asm-generic: introduce.text.fixup input section", or 9bebe9e5b0f3 "kbuild: Fix .text.unlikely placement". Rewrite sed rules so that they don't depend on number/arrangement of text sections in *(...) blocks. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 5fb4e288a025af1abc5c67ecebf30fbf6b3edad1 Author: Christopher Oo <t-chriso@xxxxxxxxxxxxx> Date: Thu Jun 25 16:10:48 2015 -0700 cifs: Fix use-after-free on mid_q_entry With CIFS_DEBUG_2 enabled, additional debug information is tracked inside each mid_q_entry struct, however cifs_save_when_sent may use the mid_q_entry after it has been freed from the appropriate callback if the transport layer has very low latency. Holding the srv_mutex fixes this use-after-free, as cifs_save_when_sent is called while the srv_mutex is held while the request is sent. Signed-off-by: Christopher Oo <t-chriso@xxxxxxxxxxxxx> commit 0a6d0b64120759df8b9291af92d998ed1cbefc9d Author: Steve French <steve.french@xxxxxxxxxxxxxxx> Date: Sat Jul 4 18:45:33 2015 -0500 Update cifs version number Update modinfo cifs.ko version number to 2.07 Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> commit 0de1f4c6f6c028249579d8d80fa0a4f6322b2227 Author: Steve French <steve.french@xxxxxxxxxxxxxxx> Date: Sat Jul 4 18:40:10 2015 -0500 Add way to query server fs info for smb3 The server exports information about the share and underlying device under an SMB3 export, including its attributes and capabilities, which is stored by cifs.ko when first connecting to the share. Add ioctl to cifs.ko to allow user space smb3 helper utilities (in cifs-utils) to display this (e.g. via smb3util). This information is also useful for debugging and for resolving configuration errors. Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> commit d8d23fa0f27f3b2942a7bbc7378c7735324ed519 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 20 11:47:13 2015 +0100 arm64: mdscr_el1: avoid exposing DCC to userspace We don't want to expose the DCC to userspace, particularly as there is a kernel console driver for it. This patch resets mdscr_el1 to disable userspace access to the DCC registers on the cold boot path. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 090749502ff20d7d9ec244036fe636b6bf0433b6 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Aug 19 17:23:58 2015 +0530 ARC: add/fix some comments in code - no functional change Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 6de6066c0d24a66df465cf87a4041ef7ef35ba6f Author: Yuriy Kolerov <yuriy.kolerov@xxxxxxxxxxxx> Date: Wed Aug 12 17:23:32 2015 +0300 ARC: change some branchs to jumps to resolve linkage errors When kernel's binary becomes large enough (32M and more) errors may occur during the final linkage stage. It happens because the build system uses short relocations for ARC by default. This problem may be easily resolved by passing -mlong-calls option to GCC to use long absolute jumps (j) instead of short relative branchs (b). But there are fragments of pure assembler code exist which use branchs in inappropriate places and cause a linkage error because of relocations overflow. First of these fragments is .fixup insertion in futex.h and unaligned.c. It inserts a code in the separate section (.fixup) with branch instruction. It leads to the linkage error when kernel becomes large. Second of these fragments is calling scheduler's functions (common kernel code) from entry.S of ARC's code. When kernel's binary becomes large it may lead to the linkage error because scheduler may occur far enough from ARC's code in the final binary. Signed-off-by: Yuriy Kolerov <yuriy.kolerov@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 9181f8bf5abf4b9d59b12e878895375b84fe32ba Author: Jan Kara <jack@xxxxxxxx> Date: Thu Aug 20 14:50:07 2015 +0200 udf: Don't modify filesystem for read-only mounts When read-write mount of a filesystem is requested but we find out we can mount the filesystem only in read-only mode, we still modify LVID in udf_close_lvid(). That is both unnecessary and contrary to expectation that when we fall back to read-only mount we don't modify the filesystem. Make sure we call udf_close_lvid() only if we called udf_open_lvid() so that filesystem gets modified only if we verified we are allowed to write to it. Reported-by: Karel Zak <kzak@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit 5b733faca671756dd41b7e24584374e2b1fc3c4d Author: Michal Marek <mmarek@xxxxxxxx> Date: Thu Aug 20 14:13:35 2015 +0200 genksyms: Regenerate parser Rebuild the parser after commit 1c722503fa81 (genksyms: Duplicate function pointer type definitions segfault), using bison 2.7. Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 1c722503fa81888c936a8d1a5052daec859f1a7c Author: Richard Yao <richard.yao@xxxxxxxxxxxxx> Date: Mon Jul 20 19:52:48 2015 -0400 genksyms: Duplicate function pointer type definitions segfault I noticed that genksyms will segfault when it sees duplicate function pointer type declaration when I placed the same function pointer definition in two separate headers in a local branch as an intermediate step of some refactoring. This can be reproduced by piping the following minimal test case into `genksyms -r /dev/null` or alternatively, putting it into a C file attempting a build: typedef int (*f)(); typedef int (*f)(); Attaching gdb to genksyms to understand this failure is useless without changing CFLAGS to emit debuginfo. Once you have debuginfo, you will find that the failure is that `char *s` was NULL and the program executed `while(*s)`. At which point, further debugging requires familiarity with compiler front end / parser development. What happens is that flex identifies the first instance of the token "f" as IDENT and the yacc parser adds it to the symbol table. On the second instance, flex will identify "f" as TYPE, which triggers an error case in the yacc parser. Given that TYPE would have been IDENT had it not been in the symbol table, the the segmentaion fault could be avoided by treating TYPE as IDENT in the affected rule. Some might consider placing identical function pointer type declarations in different headers to be poor style might consider a failure to be beneficial. However, failing through a segmentation fault makes the cause non-obvious and can waste the time of anyone who encounters it. Signed-off-by: Richard Yao <richard.yao@xxxxxxxxxxxxx> Acked-by: Madhuri Yechuri <madhuriyechuri@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 9bebe9e5b0f3109a14000df25308c2971f872605 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun Jul 19 18:01:19 2015 -0700 kbuild: Fix .text.unlikely placement When building a kernel with .text.unlikely text the unlikely text for each translation unit was put next to the main .text code in the final vmlinux. The problem is that the linker doesn't allow more specific submatches of a section name in a different linker script statement after the main match. So we need to move them all into one line. With that change .text.unlikely is at the end of everything again. I also moved .text.hot into the same statement though, even though that's not strictly needed. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 3c0561e0043fe870426b445890ab93204332ae39 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Fri Aug 14 13:52:13 2015 +0300 Avoid conflict with host definitions when cross-compiling Certain platforms (e. g. BSD-based ones) define some ELF constants according to host. This patch fixes problems with cross-building Linux kernel on these platforms (e. g. building ARM 32-bit version on x86-64 host). Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit eb2cd8b72b08fe56998600aee8a5dff93f7be5a2 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 6 19:11:06 2015 +0530 ARC: ensure futex ops are atomic in !LLSC config W/o hardware assisted atomic r-m-w the best we can do is to disable preemption. Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5e0574292ad48dcdf48ef90a47da862c21d649a6 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 6 17:55:34 2015 +0530 ARC: Enable HAVE_FUTEX_CMPXCHG ARC doesn't need the runtime detection of futex cmpxchg op Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 882a95ae0a4f8fc303257acf5c6ff305df34d04b Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 6 17:03:17 2015 +0530 ARC: make futex_atomic_cmpxchg_inatomic() return bimodal Callers of cmpxchg_futex_value_locked() in futex code expect bimodal return value: !0 (essentially -EFAULT as failure) 0 (success) Before this patch, the success return value was old value of futex, which could very well be non zero, causing caller to possibly take the failure path erroneously. Fix that by returning 0 for success (This fix was done back in 2011 for all upstream arches, which ARC obviously missed) Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit ed574e2bbd81ec20134059fb5e17acbc76387270 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Aug 5 19:23:34 2015 +0530 ARC: futex cosmetics Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 31d30c8208a38a0442cc01a9c7f6542489c76353 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Aug 5 19:10:02 2015 +0530 ARC: add barriers to futex code The atomic ops on futex need to provide the full barrier just like regular atomics in kernel. Also remove pagefault_enable/disable in futex_atomic_cmpxchg_inatomic() as core code already does that Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 1648c70d301e669ba03aa1c70fff46ec2c400414 Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Tue Jun 9 11:25:22 2015 +0300 ARCv2: IOC: Allow boot time disable Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 79335a2ca03fdd883823e068b5e2f89a8ee47839 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Jun 4 18:30:23 2015 +0530 ARCv2: SLC: Allow boot time disable Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit f2b0b25a37a6db12580dcdfdf00f020e5e0e3a43 Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Mon May 25 19:54:28 2015 +0300 ARCv2: Support IO Coherency and permutations involving L1 and L2 caches In case of ARCv2 CPU there're could be following configurations that affect cache handling for data exchanged with peripherals via DMA: [1] Only L1 cache exists [2] Both L1 and L2 exist, but no IO coherency unit [3] L1, L2 caches and IO coherency unit exist Current implementation takes care of [1] and [2]. Moreover support of [2] is implemented with run-time check for SLC existence which is not super optimal. This patch introduces support of [3] and rework of DMA ops usage. Instead of doing run-time check every time a particular DMA op is executed we'll have 3 different implementations of DMA ops and select appropriate one during init. As for IOC support for it we need: [a] Implement empty DMA ops because IOC takes care of cache coherency with DMAed data [b] Route dma_alloc_coherent() via dma_alloc_noncoherent() This is required to make IOC work in first place and also serves as optimization as LD/ST to coherent buffers can be srviced from caches w/o going all the way to memory Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> [vgupta: -Added some comments about IOC gains -Marked dma ops as static, -Massaged changelog a bit] Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 78a6854e219ba266b6cc12f840b571c5f1168b5e Author: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Date: Mon Jul 20 15:12:19 2015 +1000 merge_config.sh: exit on missing input files Add a check for the existence of input files and exit (with failure) if they are missing. Without this additional check, missing files produce error messages but still result in an output file being generated and a successful exit code. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 724afaea2020f3bd98891b535f3ce5d3935bcf63 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:34 2015 +0100 arm/xen: Remove helpers which are PV specific ARM guests are always HVM. The current implementation is assuming a 1:1 mapping which is only true for DOM0 and may not be at all in the future. Furthermore, all the helpers but arbitrary_virt_to_machine are used in x86 specific code (or only compiled for). The helper arbitrary_virt_to_machine is only used in PV specific code. Therefore we should never call the function. Add a BUG() in this helper and drop all the others. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 3375d8284dfb7866f261ec008d15d30999ff273b Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:38 2015 -0400 xen/x86: Don't try to set PCE bit in CR4 Since VPMU code emulates RDPMC instruction with RDMSR and because hypervisor does not emulate it there is no reason to try setting CR4's PCE bit (and the hypervisor will warn on seeing it set). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit bf6dfb154d935725c9a2005033ca33017b9df439 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:37 2015 -0400 xen/PMU: PMU emulation code Add PMU emulation code that runs when we are processing a PMU interrupt. This code will allow us not to trap to hypervisor on each MSR/LVTPC access (of which there may be quite a few in the handler). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 6b08cd6328c58a2ae190c5ee03a2ffcab5ef828e Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:36 2015 -0400 xen/PMU: Intercept PMU-related MSR and APIC accesses Provide interfaces for recognizing accesses to PMU-related MSRs and LVTPC APIC and process these accesses in Xen PMU code. (The interrupt handler performs XENPMU_flush right away in the beginning since no PMU emulation is available. It will be added with a later patch). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit e27b72df01109c689062caeba1defa013b759e0e Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:35 2015 -0400 xen/PMU: Describe vendor-specific PMU registers AMD and Intel PMU register initialization and helpers that determine whether a register belongs to PMU. This and some of subsequent PMU emulation code is somewhat similar to Xen's PMU implementation. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 65d0cf0be79feebeb19e7626fd3ed41ae73f642d Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:34 2015 -0400 xen/PMU: Initialization code for Xen PMU Map shared data structure that will hold CPU registers, VPMU context, V/PCPU IDs of the CPU interrupted by PMU interrupt. Hypervisor fills this information in its handler and passes it to the guest for further processing. Set up PMU VIRQ. Now that perf infrastructure will assume that PMU is available on a PV guest we need to be careful and make sure that accesses via RDPMC instruction don't cause fatal traps by the hypervisor. Provide a nop RDPMC handler. For the same reason avoid issuing a warning on a write to APIC's LVTPC. Both of these will be made functional in later patches. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5f141548824cebbff2e838ff401c34e667797467 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:33 2015 -0400 xen/PMU: Sysfs interface for setting Xen PMU mode Set Xen's PMU mode via /sys/hypervisor/pmu/pmu_mode. Add XENPMU hypercall. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a11f4f0a4e18b4bdc7d5e36438711e038b7a1f74 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:32 2015 -0400 xen: xensyms support Export Xen symbols to dom0 via /proc/xen/xensyms (similar to /proc/kallsyms). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit cb3eb850137cd43fc3e25d2062525f5ba5fd884a Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:37 2015 +0200 xen: remove no longer needed p2m.h Cleanup by removing arch/x86/xen/p2m.h as it isn't needed any more. Most definitions in this file are used in p2m.c only. Move those into p2m.c. set_phys_range_identity() is already declared in arch/x86/include/asm/xen/page.h, add __init annotation there. MAX_REMAP_RANGES isn't used at all, just delete it. The only define left is P2M_PER_PAGE which is moved to page.h as well. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit c70727a5bc18a5a233fddc6056d1de9144d7a293 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:36 2015 +0200 xen: allow more than 512 GB of RAM for 64 bit pv-domains 64 bit pv-domains under Xen are limited to 512 GB of RAM today. The main reason has been the 3 level p2m tree, which was replaced by the virtual mapped linear p2m list. Parallel to the p2m list which is being used by the kernel itself there is a 3 level mfn tree for usage by the Xen tools and eventually for crash dump analysis. For this tree the linear p2m list can serve as a replacement, too. As the kernel can't know whether the tools are capable of dealing with the p2m list instead of the mfn tree, the limit of 512 GB can't be dropped in all cases. This patch replaces the hard limit by a kernel parameter which tells the kernel to obey the 512 GB limit or not. The default is selected by a configuration parameter which specifies whether the 512 GB limit should be active per default for domUs (domain save/restore/migration and crash dump analysis are affected). Memory above the domain limit is returned to the hypervisor instead of being identity mapped, which was wrong anyway. The kernel configuration parameter to specify the maximum size of a domain can be deleted, as it is not relevant any more. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 70e61199559a09c62714694cd5ac3c3640c41552 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:35 2015 +0200 xen: move p2m list if conflicting with e820 map Check whether the hypervisor supplied p2m list is placed at a location which is conflicting with the target E820 map. If this is the case relocate it to a new area unused up to now and compliant to the E820 map. As the p2m list might by huge (up to several GB) and is required to be mapped virtually, set up a temporary mapping for the copied list. For pvh domains just delete the p2m related information from start info instead of reserving the p2m memory, as we don't need it at all. For 32 bit kernels adjust the memblock_reserve() parameters in order to cover the page tables only. This requires to memblock_reserve() the start_info page on it's own. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 6c2681c863b24360098d1ba60f2af060a13a0561 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:34 2015 +0200 xen: add explicit memblock_reserve() calls for special pages Some special pages containing interfaces to xen are being reserved implicitly only today. The memblock_reserve() call to reserve them is meant to reserve the p2m list supplied by xen. It is just reserving not only the p2m list itself, but some more pages up to the start of the xen built page tables. To be able to move the p2m list to another pfn range, which is needed for support of huge RAM, this memblock_reserve() must be split up to cover all affected reserved pages explicitly. The affected pages are: - start_info page - xenstore ring (might be missing, mfn is 0 in this case) - console ring (not for initial domain) Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 2592dbbbf4c67501c2bd2dcf89c2b8924d592a9f Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:33 2015 +0200 mm: provide early_memremap_ro to establish read-only mapping During early boot as Xen pv domain the kernel needs to map some page tables supplied by the hypervisor read only. This is needed to be able to relocate some data structures conflicting with the physical memory map especially on systems with huge RAM (above 512GB). Provide the function early_memremap_ro() to provide this read only mapping. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4b9c15377f96e241be347fd3bbeeff74fbad0b44 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:32 2015 +0200 xen: check for initrd conflicting with e820 map Check whether the initrd is placed at a location which is conflicting with the target E820 map. If this is the case relocate it to a new area unused up to now and compliant to the E820 map. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 04414baab5ba862b10bde837c4773ffdbb78f0e0 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:31 2015 +0200 xen: check pre-allocated page tables for conflict with memory map Check whether the page tables built by the domain builder are at memory addresses which are in conflict with the target memory map. If this is the case just panic instead of running into problems later. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 808fdb71936c41d46245f0e3aa6ec889cba70d97 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:30 2015 +0200 xen: check for kernel memory conflicting with memory layout Checks whether the pre-allocated memory of the loaded kernel is in conflict with the target memory map. If this is the case, just panic instead of run into problems later, as there is nothing we can do to repair this situation. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 9ddac5b724a9465e27f25a0aa943e92c8341a85b Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:29 2015 +0200 xen: find unused contiguous memory area For being able to relocate pre-allocated data areas like initrd or p2m list it is mandatory to find a contiguous memory area which is not yet in use and doesn't conflict with the memory map we want to be in effect. In case such an area is found reserve it at once as this will be required to be done in any case. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit e612b4a7db4ae1dd8c2bbe171e10c21723de95b2 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:28 2015 +0200 xen: check memory area against e820 map Provide a service routine to check a physical memory area against the E820 map. The routine will return false if the complete area is RAM according to the E820 map and true otherwise. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5097cdf6cef15439f971df54f9abcf143d7ca698 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:27 2015 +0200 xen: split counting of extra memory pages from remapping Memory pages in the initial memory setup done by the Xen hypervisor conflicting with the target E820 map are remapped. In order to do this those pages are counted and remapped in xen_set_identity_and_remap(). Split the counting from the remapping operation to be able to setup the needed memory sizes in time but doing the remap operation at a later time. This enables us to simplify the interface to xen_set_identity_and_remap() as the number of remapped and released pages is no longer needed here. Finally move the remapping further down to prepare relocating conflicting memory contents before the memory might be clobbered by xen_set_identity_and_remap(). This requires to not destroy the Xen E820 map when the one for the system is being constructed. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 69632ecfcd03b12202ed62dfa0aabac83904f8ac Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:26 2015 +0200 xen: move static e820 map to global scope Instead of using a function local static e820 map in xen_memory_setup() and calling various functions in the same source with the map as a parameter use a map directly accessible by all functions in the source. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 8f5b0c63987207fd5c3c1f89c9eb6cb95b30386e Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:25 2015 +0200 xen: eliminate scalability issues from initial mapping setup Direct Xen to place the initial P->M table outside of the initial mapping, as otherwise the 1G (implementation) / 2G (theoretical) restriction on the size of the initial mapping limits the amount of memory a domain can be handed initially. As the initial P->M table is copied rather early during boot to domain private memory and it's initial virtual mapping is dropped, the easiest way to avoid virtual address conflicts with other addresses in the kernel is to use a user address area for the virtual address of the initial P->M table. This allows us to just throw away the page tables of the initial mapping after the copy without having to care about address invalidation. It should be noted that this patch won't enable a pv-domain to USE more than 512 GB of RAM. It just enables it to be started with a P->M table covering more memory. This is especially important for being able to boot a Dom0 on a system with more than 512 GB memory. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Based-on-patch-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d51e8b3e85972dee10be7943b0b0106742b1e847 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:24 2015 +0200 xen: don't build mfn tree if tools don't need it In case the Xen tools indicate they don't need the p2m 3 level tree as they support the virtual mapped linear p2m list, just omit building the tree. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4b9c9a11803eaa73b3223da9fcaea39b2f919d80 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:23 2015 +0200 xen: save linear p2m list address in shared info structure The virtual address of the linear p2m list should be stored in the shared info structure read by the Xen tools to be able to support 64 bit pv-domains larger than 512 GB. Additionally the linear p2m list interface includes a generation count which is changed prior to and after each mapping change of the p2m list. Reading the generation count the Xen tools can detect changes of the mappings and re-read the p2m list eventually. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 17fb46b1190b677a37cdd636e2aa30052109f51b Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:22 2015 +0200 xen: sync with xen headers Use the newest headers from the xen tree to get some new structure layouts. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 7ed208ef4ef9dbd03cda8a5b5a85cc78f79ef213 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Mon Aug 3 09:50:55 2015 +0000 arm/xen: Drop the definition of xen_pci_platform_unplug The commit 6f6c15ef912465b3aaafe709f39bd6026a8b3e72 "xen/pvhvm: Remove the xen_platform_pci int." makes the x86 version of xen_pci_platform_unplug static. Therefore we don't need anymore to define a dummy xen_pci_platform_unplug for ARM. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 4a5b69464e51f4a8dd432e8c2a1468630df1a53c Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Jul 28 10:10:42 2015 +0100 xen/events: Support event channel rebind on ARM Currently, the event channel rebind code is gated with the presence of the vector callback. The virtual interrupt controller on ARM has the concept of per-CPU interrupt (PPI) which allow us to support per-VCPU event channel. Therefore there is no need of vector callback for ARM. Xen is already using a free PPI to notify the guest VCPU of an event. Furthermore, the xen code initialization in Linux (see arch/arm/xen/enlighten.c) is requesting correctly a per-CPU IRQ. Introduce new helper xen_support_evtchn_rebind to allow architecture decide whether rebind an event is support or not. It will always return true on ARM and keep the same behavior on x86. This is also allow us to drop the usage of xen_have_vector_callback entirely in the ARM code. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 907c3eb18e0bd86ca12a9de80befe8e3647bac3e Author: Bob Liu <bob.liu@xxxxxxxxxx> Date: Mon Jul 13 17:55:24 2015 +0800 xen-blkfront: convert to blk-mq APIs Note: This patch is based on original work of Arianna's internship for GNOME's Outreach Program for Women. Only one hardware queue is used now, so there is no significant performance change The legacy non-mq code is deleted completely which is the same as other drivers like virtio, mtip, and nvme. Also dropped one unnecessary holding of info->io_lock when calling blk_mq_stop_hw_queues(). Signed-off-by: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Jens Axboe <axboe@xxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a7da51ae10032a507ddeae6a490916eadbd1e10a Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:52:01 2015 +0300 xen/preempt: use need_resched() instead of should_resched() This code is used only when CONFIG_PREEMPT=n and only in non-atomic context: xen_in_preemptible_hcall is set only in privcmd_ioctl_hypercall(). Thus preempt_count is zero and should_resched() is equal to need_resched(). Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 772f95e3b9460c64fb99b134022855cbce75b9a0 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Thu Jul 16 20:34:42 2015 +0100 x86/xen: fix non-ANSI declaration of xen_has_pv_devices() xen_has_pv_devices() has no parameters, so use the normal void parameter convention to make it match the prototype in the header file include/xen/platform_pci.h. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit cb73b40e59f0f62099bfb8a836697a74dc151395 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Aug 20 13:46:10 2015 +0300 video: fbdev: atmel: fix warning for const return value A const on a return value is meaningless and generates a warning on some versions of gcc: drivers/video/fbdev/atmel_lcdfb.c:1003: warning: type qualifiers ignored on function return type The function in question is only used inside the .c file, so the author of the code most likely means "static" instead of "const". Change the const to static. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit dd2281be03a7f4d3f249a733913a9ebb36e721f4 Merge: 40a2ea1 5efb1d5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Aug 20 11:49:26 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: - Support Intel PT in several tools, enabling the use of the processor trace feature introduced in Intel Broadwell processors: (Adrian Hunter) # dmesg | grep Performance # [0.188477] Performance Events: PEBS fmt2+, 16-deep LBR, Broadwell events, full-width counters, Intel PMU driver. # perf record -e intel_pt//u -a sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.216 MB perf.data ] # perf script # then navigate in the tool output to some area, like this one: 184 1030 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba661440 dl_main (/usr/lib64/ld-2.17.so) 185 1457 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba669f10 _dl_new_object (/usr/lib64/ld-2.17.so) 186 9f37 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba677b90 strlen (/usr/lib64/ld-2.17.so) 187 7ba3 strlen (/usr/lib64/ld-2.17.so) => 7f21ba677c75 strlen (/usr/lib64/ld-2.17.so) 188 7c78 strlen (/usr/lib64/ld-2.17.so) => 7f21ba669f3c _dl_new_object (/usr/lib64/ld-2.17.so) 189 9f8a _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba65fab0 calloc@plt (/usr/lib64/ld-2.17.so) 190 fab0 calloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e70 calloc (/usr/lib64/ld-2.17.so) 191 5e87 calloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa90 malloc@plt (/usr/lib64/ld-2.17.so) 192 fa90 malloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e60 malloc (/usr/lib64/ld-2.17.so) 193 5e68 malloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so) 194 fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so) => 7f21ba675d50 __libc_memalign (/usr/lib64/ld-2.17.so) 195 5d63 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e20 __libc_memalign (/usr/lib64/ld-2.17.so) 196 5e40 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675d73 __libc_memalign (/usr/lib64/ld-2.17.so) 197 5d97 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e18 __libc_memalign (/usr/lib64/ld-2.17.so) 198 5e1e __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675df9 __libc_memalign (/usr/lib64/ld-2.17.so) 199 5e10 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba669f8f _dl_new_object (/usr/lib64/ld-2.17.so) 200 9fc2 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba678e70 memcpy (/usr/lib64/ld-2.17.so) 201 8e8c memcpy (/usr/lib64/ld-2.17.so) => 7f21ba678ea0 memcpy (/usr/lib64/ld-2.17.so) - Fix annotation of vdso (Adrian Hunter) - Fix DWARF callchains in 'perf script' (Jiri Olsa) - Fix adding probes in kernel syscalls and listing which variables can be collected at kernel syscall function lines (Masami Hiramatsu) Build Fixes: - Fix 32-bit compilation error in util/annotate.c (Adrian Hunter) - Support static linking with libdw on Fedora 22 (Andi Kleen) Infrastructure changes: - Add a helper function to probe whether cpu-wide tracing is possible (Adrian Hunter) - Move vfs_getname storage to per thread area in 'perf trace' (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 40a2ea1bd988e3bbdb07a0708681fdb05cd7d267 Merge: a897b5f 1966764 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Aug 20 11:48:56 2015 +0200 Merge branch 'perf/urgent' into perf/core, to pick up fixes before adding more changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c4a2f5beb7fe3cf4e33ed79040d699fd6c17083f Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:37:30 2015 +0900 video: fbdev: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 2e8bcf4d40d8ec720372df5c591f0151f8ffe946 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:37:29 2015 +0900 video: fbdev: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c0a3229313d6931a77e0c1e1c22e398c0312bf6f Author: Marcin Chojnacki <marcinch7@xxxxxxxxx> Date: Thu Jun 18 15:01:52 2015 +0200 fbdev: remove unnecessary memset in vfb In vfb_probe memory is allocated using rvmalloc which automatically sets the allocated memory to zero. This patch removes the second unnecessary memset in vfb_probe. Signed-off-by: Marcin Chojnacki <marcinch7@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7a4b6c860e7268a79545c30882928b234dd1655d Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Aug 7 17:16:03 2015 +0200 can: flexcan: demote register output to debug level This message isn't really helpful for the general reader of the kernel logs, so should not be printed with info level. All other register programming outputs in the flexcan driver already use the debug level. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit ae421e33bce78c7d624ecbf079cdaa5248f167b6 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 19:09:57 2015 -0400 can: gs_usb: Fix typo in function name This fixes typos in gs_usb.c where 'receive' is misspelled as 'recieve'. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit e72bb8a5a884d022231149d407653923a1d79e53 Author: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Date: Wed Jul 22 15:50:51 2015 +1000 powerpc/powernv: Reset HILE before kexec_sequence() On powernv secondary cpus are returned to OPAL, and will then enter the target kernel in big-endian. However if it is set the HILE bit will persist, causing the first exception in the target kernel to be delivered in litte-endian regardless of the current endianness. If running on top of OPAL make sure the HILE bit is reset once we've finished waiting for all of the secondaries to be returned to OPAL. Signed-off-by: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ffebf5f391dfa9da3e086abad3eef7d3e5300249 Author: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Date: Wed Jul 22 15:50:50 2015 +1000 powerpc/kexec: Reset secondary cpu endianness before kexec If the target kernel does not inlcude the FIXUP_ENDIAN check, coming from a different-endian kernel will cause the target kernel to panic. All ppc64 kernels can handle starting in big-endian mode, so return to big-endian before branching into the target kernel. This mainly affects pseries as secondaries on powernv are returned to OPAL. Signed-off-by: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 480798044eb268a31f6b84bc3b7f99b9989e463d Author: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 11:29:50 2015 +0200 powerpc/hvsi: Fix endianness issues in the HVSI driver This patch fixes several endianness issues detected when running the HVSI driver in little endian mode. These issues are raised in little endian mode because the data exchanged in memory between the kernel and the hypervisor has to be in big endian format. This exhibits as errors such as: irq: (null) didn't like hwirq-0x1000a00 to VIRQ16 mapping (rc=-22) hvsi_console_init: couldn't create irq mapping for 0x1000a00 The data structures already have endian annotations, and sparse is generating numerous warnings based on those. This commit fixes all of them. Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> CC: Jiri Slaby <jslaby@xxxxxxx> CC: linuxppc-dev@xxxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx [mpe: Flesh out change log] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 84ad6e5cd3e8b365c893f31787864cae5500610b Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 22:19:54 2015 +0530 leds/powernv: Add driver for PowerNV platform This patch implements LED driver for PowerNV platform using the existing generic LED class framework. PowerNV platform has below type of LEDs: - System attention Indicates there is a problem with the system that needs attention. - Identify Helps the user locate/identify a particular FRU or resource in the system. - Fault Indicates there is a problem with the FRU or resource at the location with which the indicator is associated. We register classdev structures for all individual LEDs detected on the system through LED specific device tree nodes. Device tree nodes specify what all kind of LEDs present on the same location code. It registers LED classdev structure for each of them. All the system LEDs can be found in the same regular path /sys/class/leds/. We don't use LED colors. We use LED node and led-types property to form LED classdev. Our LEDs have names in this format. <location_code>:<attention|identify|fault> Any positive brightness value would turn on the LED and a zero value would turn off the LED. The driver will return LED_FULL (255) for any turned on LED and LED_OFF (0) for any turned off LED. The platform level implementation of LED get and set state has been achieved through OPAL calls. These calls are made available for the driver by exporting from architecture specific codes. Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Tested-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Acked-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c159b5968ec9d3cbf16802189b29eb0ec17ae4d8 Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 22:19:53 2015 +0530 powerpc/powernv: Create LED platform device This patch adds platform devices for leds. Also export LED related OPAL API's so that led driver can use these APIs. Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8a8d91817aec6b9ca7a289891f9e6f721100ec09 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 22:19:52 2015 +0530 powerpc/powernv: Add OPAL interfaces for accessing and modifying system LED states This patch registers the following two new OPAL interfaces calls for the platform LED subsystem. With the help of these new OPAL calls, the kernel will be able to get or set the state of various individual LEDs on the system at any given location code which is passed through the LED specific device tree nodes. (1) OPAL_LEDS_GET_INDICATOR opal_leds_get_ind (2) OPAL_LEDS_SET_INDICATOR opal_leds_set_ind Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Tested-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 48fd8ecf29e3c1199432e173858f5ca4bc529738 Author: Nicolai Stange <nicstange@xxxxxxxxx> Date: Wed Jun 17 21:40:33 2015 +0200 framebuffer: disable vgacon on microblaze arch Fix an allmodconfig link failer on microblaze: drivers/built-in.o: In function `vgacon_save_screen': drivers/video/console/.tmp_vgacon.o:(.text+0x8fc10): undefined reference to `screen_info' Disable vgacon on microblaze because the symbol struct screen_info screen_info; is not defined for the microblaze arch. Signed-off-by: Nicolai Stange <nicstange@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit f63cb8d7aa31e7a8f98cec36557b265951e9aba7 Author: Alexey Klimov <klimov.linux@xxxxxxxxx> Date: Mon Jun 8 02:02:47 2015 +0300 fbdev: udlfb: remove unneeded initialization in few places Small minor cleanup. This patch removes unneeded initializations of variables in few places in different functions and one empty line. Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 71540cfbe9d401f4848abc0e6b56a541307a47dd Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:53 2015 +0200 fbdev: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 6080a89357cc46f3450839a84af75c3d18f57772 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Jan 15 13:47:19 2015 +0200 fbdev: fix cea_modes array size CEA defines 64 modes, indexed from 1 to 64. modedb has cea_modes arrays, which contains 64 entries. However, the code uses the CEA indices directly, i.e. the first mode is at cea_modes[1]. This means the array is one too short. This does not cause references to uninitialized memory as the code in fbmon only allows indexes up to 63, and the cea_modes does not contain an entry for the mode 64 so it could not be used in any case. However, the code contains a check 'if (idx > ARRAY_SIZE(cea_modes)', and while that check is a no-op as at that point idx cannot be >= 63, it upsets static checkers. Fix this by increasing the cea_array size to be 65, and change the code to allow mode 64. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> commit 23a1ec304ae8fdd29235f864bd8193e9981c9bd1 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Aug 6 14:32:33 2015 +0100 dmaengine: tegra-apb: Simplify locking for device using global pause Sparse reports the following with regard to locking in the tegra_dma_global_pause() and tegra_dma_global_resume() functions: drivers/dma/tegra20-apb-dma.c:362:9: warning: context imbalance in 'tegra_dma_global_pause' - wrong count at exit drivers/dma/tegra20-apb-dma.c:366:13: warning: context imbalance in 'tegra_dma_global_resume' - unexpected unlock The warning is caused because tegra_dma_global_pause() acquires a lock but does not release it. However, the lock is released by tegra_dma_global_resume(). These pause/resume functions are called in pairs and so it does appear to work. This global pause is used on early tegra devices that do not have an individual pause for each channel. The lock appears to be used to ensure that multiple channels do not attempt to assert/de-assert the global pause at the same time which could cause the DMA controller to be in the wrong paused state. Rather than locking around the entire code between the pause and resume, employ a simple counter to keep track of the global pause requests. By using a counter, it is only necessary to hold the lock when pausing and unpausing the DMA controller and hence, fixes the sparse warning. Please note that for devices that support individual channel pausing, the DMA controller lock is not held between pausing and unpausing the channel. Hence, this change will make the devices that use the global pause behave in the same way, with regard to locking, as those that don't. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit dc1ff4b30a3592caf2ac6be691bd6c97b17383cd Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Aug 6 14:32:32 2015 +0100 dmaengine: tegra-apb: Remove unnecessary return statements and variables Some void functions have unnecessary return statements at the end (reported by sparse) and so remove these. Also remove the return variables from functions tegra_dma_prep_slave_sg() and tegra_dma_prep_slave_cyclic() because the value is not used. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 13a3328638dd009e76d4bb86e18dc8f3ae4f11dd Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Aug 6 14:32:31 2015 +0100 dmaengine: tegra-apb: Avoid unnecessary channel base address calculation Everytime a DMA channel register is accessed, the channel base address is calculated by adding the DMA base address and the channel register offset. Avoid this calculation and simply calculate the channel base address once at probe time for each DMA channel. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c67886f5b809cfd9dc20f906f38fc0eddc7cba93 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Aug 6 14:32:30 2015 +0100 dmaengine: tegra-apb: Remove unused variables The callback and callback_param members of the tegra_dma_sg_req structure are never used. The dma-engine structure, dma_async_tx_descriptor, defines the same members and these are the ones used by the driver. Therefore, remove the unused versions from the tegra_dma_sg_req structure. The half_done member of tegra_dma_channel structure is configured but never used and so remove it. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8d1ceb52e110aec808d64973f90fe4f69a5e42e9 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 20 01:31:58 2015 -0500 PCI: imx6: Simplify a trivial if-return sequence Simplify a trivial if-return sequence by combining it with a preceding function call. The semantic patch that makes this change is available in scripts/coccinelle/misc/simple_return.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Lucas Stach <l.stach@xxxxxxxxxxxxxx> commit 68ebb7ce395c6d8ca99163911ec384853d4f88ad Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 20 01:31:24 2015 -0500 PCI: spear: Use BUG_ON() instead of condition followed by BUG() Use BUG_ON() instead of an if condition followed by BUG(). The semantic patch that makes this change is available in scripts/coccinelle/misc/bugon.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 7dfffb9541bca80bbf8df1869564f9220ee150d2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Aug 17 15:08:55 2015 +0200 dmaengine: Stricter legacy checking in dma_request_slave_channel_compat() dma_request_slave_channel_compat() is meant for drivers that support both DT and legacy platform device based probing: if DT channel DMA setup fails, it will fall back to platform data based DMA channel setup, using hardcoded DMA channel IDs and a filter function. However, if the DTS doesn't provide a "dmas" property for the device, the fallback is also used. If the legacy filter function is not hardcoded in the DMA slave driver, but comes from platform data, it will be NULL. Then dma_request_slave_channel_compat() will succeed incorrectly, and return a DMA channel, as a NULL legacy filter function actually means "all channels are OK", not "do not match". Later, when trying to use that DMA channel, it will fail with: rcar-dmac e6700000.dma-controller: rcar_dmac_prep_slave_sg: bad parameter: len=1, id=-22 To fix this, ensure that both the filter function and the DMA channel ID are not NULL before using the legacy fallback. Note that some DMA slave drivers can handle this failure, and will fall back to PIO. See also commit 056f6c87028544de ("dmaengine: shdma: Make dummy shdma_chan_filter() always return false"), which fixed the same issue for the case where shdma_chan_filter() is hardcoded in a DMA slave driver. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d3f4caa355c1c9d2ce7fd3da88e2be37836323db Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 20 01:30:36 2015 -0500 PCI: dra7xx: Remove unneeded use of IS_ERR_VALUE() There is no need to use the IS_ERR_VALUE() macro for checking the return value from pm_runtime_* functions. Test for a negative pm_runtime_get_sync() return value instead of using IS_ERR_VALUE(). The semantic patch that makes this change is available in scripts/coccinelle/api/pm_runtime.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Kishon Vijay Abraham I <kishon@xxxxxx> commit 89079493437701551938652003eb75b328425c66 Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Tue Jul 21 18:44:39 2015 +0530 dmaengine: xgene-dma: Add ACPI support for X-Gene DMA engine driver This patch adds ACPI support for the APM X-Gene DMA engine driver. Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 74703cc4e08372b8aedfd687bef8182797215d30 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 18:14:58 2015 +0800 powerpc/powernv: Fix the log message when disabling VF On powernv platform, IOV BAR would be shifted if necessary. While the log message is not correct when disabling VFs. This patch fixes this by print correct message based on the offset value. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7c26b9cf5347c24272152438cdd9675183804425 Author: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Date: Wed Aug 19 09:27:18 2015 +1000 cxl: Allow release of contexts which have been OPENED but not STARTED If we open a context but do not start it (either because we do not attempt to start it, or because it fails to start for some reason), we are left with a context in state OPENED. Previously, cxl_release_context() only allowed releasing contexts in state CLOSED, so attempting to release an OPENED context would fail. In particular, this bug causes available contexts to run out after some EEH failures, where drivers attempt to release contexts that have failed to start. Allow releasing contexts in any state with a value lower than STARTED, i.e. OPENED or CLOSED (we can't release a STARTED context as it's currently using the hardware, and we assume that contexts in any new states which may be added in future with a value higher than STARTED are also unsafe to release). Cc: stable@xxxxxxxxxxxxxxx Fixes: 6f7f0b3df6d4 ("cxl: Add AFU virtual PHB and kernel API") Signed-off-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a1a42b7920ba57f287d742d42f113402fbb7c85e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:47 2015 +0200 macintosh/therm_windtunnel: Export OF module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit cb0eefcc3271ea1d370476dd29685918b99c5a9f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:30 2015 +0200 macintosh/therm_windtunnel: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b93edcdd037f713e9b62cc76fb2064282af01aec Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Jul 29 21:03:49 2015 -0300 dmaengine: imx-sdma: Check for clk_enable() errors clk_enable() may fail, so we should better check the return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b096c1377d1e50cea91d1db13bca8e7802199a67 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Sun Jul 26 22:50:55 2015 +0200 dmaengine: sun4i: Add support for the DMA engine on sun[457]i SoCs This patch adds support for the DMA engine present on Allwinner A10, A13, A10S and A20 SoCs. This engine has two kinds of channels: normal and dedicated. The main difference is in the mode of operation; while a single normal channel may be operating at any given time, dedicated channels may operate simultaneously provided there is no overlap of source or destination. Hardware documentation can be found on A10 User Manual (section 12), A13 User Manual (section 14) and A20 User Manual (section 1.12) Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 18041e31743d278b6323518d20a2ef656c3cc689 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 21:40:16 2015 +0300 vrf: vrf_master_ifindex_rcu is not always called with rcu read lock While running net-next I hit this: [ 634.073119] =============================== [ 634.073150] [ INFO: suspicious RCU usage. ] [ 634.073182] 4.2.0-rc6+ #45 Not tainted [ 634.073213] ------------------------------- [ 634.073244] include/net/vrf.h:38 suspicious rcu_dereference_check() usage! [ 634.073274] other info that might help us debug this: [ 634.073307] rcu_scheduler_active = 1, debug_locks = 1 [ 634.073338] 2 locks held by swapper/0/0: [ 634.073369] #0: (((&n->timer))){+.-...}, at: [<ffffffff8112bc35>] call_timer_fn+0x5/0x480 [ 634.073412] #1: (slock-AF_INET){+.-...}, at: [<ffffffff8174f0f5>] icmp_send+0x155/0x5f0 [ 634.073450] stack backtrace: [ 634.073483] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.2.0-rc6+ #45 [ 634.073514] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [ 634.073545] 0000000000000000 0593ba8242d9ace4 ffff88002fc03b48 ffffffff81803f1b [ 634.073612] 0000000000000000 ffffffff81e12500 ffff88002fc03b78 ffffffff811003c5 [ 634.073642] 0000000000000000 ffff88002ec4e600 ffffffff81f00f80 ffff88002fc03cf0 [ 634.073669] Call Trace: [ 634.073694] <IRQ> [<ffffffff81803f1b>] dump_stack+0x4c/0x65 [ 634.073728] [<ffffffff811003c5>] lockdep_rcu_suspicious+0xc5/0x100 [ 634.073763] [<ffffffff8174eb56>] icmp_route_lookup+0x176/0x5c0 [ 634.073793] [<ffffffff8174f2fb>] ? icmp_send+0x35b/0x5f0 [ 634.073818] [<ffffffff8174f274>] ? icmp_send+0x2d4/0x5f0 [ 634.073844] [<ffffffff8174f3ce>] icmp_send+0x42e/0x5f0 [ 634.073873] [<ffffffff8170b662>] ipv4_link_failure+0x22/0xa0 [ 634.073899] [<ffffffff8174bdda>] arp_error_report+0x3a/0x80 [ 634.073926] [<ffffffff816d6100>] ? neigh_lookup+0x2c0/0x2c0 [ 634.073952] [<ffffffff816d396e>] neigh_invalidate+0x8e/0x110 [ 634.073984] [<ffffffff816d62ae>] neigh_timer_handler+0x1ae/0x290 [ 634.074013] [<ffffffff816d6100>] ? neigh_lookup+0x2c0/0x2c0 [ 634.074013] [<ffffffff8112bce3>] call_timer_fn+0xb3/0x480 [ 634.074013] [<ffffffff8112bc35>] ? call_timer_fn+0x5/0x480 [ 634.074013] [<ffffffff816d6100>] ? neigh_lookup+0x2c0/0x2c0 [ 634.074013] [<ffffffff8112c2bc>] run_timer_softirq+0x20c/0x430 [ 634.074013] [<ffffffff810af50e>] __do_softirq+0xde/0x630 [ 634.074013] [<ffffffff810afc97>] irq_exit+0x117/0x120 [ 634.074013] [<ffffffff81810976>] smp_apic_timer_interrupt+0x46/0x60 [ 634.074013] [<ffffffff8180e950>] apic_timer_interrupt+0x70/0x80 [ 634.074013] <EOI> [<ffffffff8106b9d6>] ? native_safe_halt+0x6/0x10 [ 634.074013] [<ffffffff81101d8d>] ? trace_hardirqs_on+0xd/0x10 [ 634.074013] [<ffffffff81027d43>] default_idle+0x23/0x200 [ 634.074013] [<ffffffff8102852f>] arch_cpu_idle+0xf/0x20 [ 634.074013] [<ffffffff810f89ba>] default_idle_call+0x2a/0x40 [ 634.074013] [<ffffffff810f8dcc>] cpu_startup_entry+0x39c/0x4c0 [ 634.074013] [<ffffffff817f9cad>] rest_init+0x13d/0x150 [ 634.074013] [<ffffffff81f69038>] start_kernel+0x4a8/0x4c9 [ 634.074013] [<ffffffff81f68120>] ? early_idt_handler_array+0x120/0x120 [ 634.074013] [<ffffffff81f68339>] x86_64_start_reservations+0x2a/0x2c [ 634.074013] [<ffffffff81f68485>] x86_64_start_kernel+0x14a/0x16d It would seem vrf_master_ifindex_rcu() can be called without RCU held in other contexts as well so introduce a new helper which acquires rcu and returns the ifindex. Also add curly braces around both the "if" and "else" parts as per the style guide. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aaba64487a96df6584a05d8898634307f3c86790 Merge: d072f46 b55a1b9 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 20 14:11:17 2015 +1000 Merge branch 'drm-next-fsl-dcu' of https://github.com/Jianwei-Wang/linux-drm-fsl-dcu into drm-next Merge Freescale DCU FRM driver. * 'drm-next-fsl-dcu' of https://github.com/Jianwei-Wang/linux-drm-fsl-dcu: MAINTAINERS: Add Freescale DCU DRM driver maintainer devicetree: Add NEC to the vendor-prefix list drm/layerscape: Add Freescale DCU DRM driver commit 2a606188c55990fa65cba3fd9b64f2b7542b7692 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 19 22:30:00 2015 -0500 NFSv4: Enable delegated opens even when reboot recovery is pending Unlike the previous attempt, this takes into account the fact that we may be calling it from the recovery thread itself. Detect this by looking at what kind of open we're doing, and checking the state of the NFS_DELEGATION_NEED_RECLAIM if it turns out we're doing a reboot reclaim-type open. Cc: Olga Kornievskaia <aglo@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c740624989eb87fa7cbd1b5338cef01dd49f1f29 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 19 23:00:50 2015 -0500 pNFS: Fix an unused variable warning in pnfs_roc_get_barrier Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c2126157ea3c4f72b315749e0c07a1b162a2fe2b Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 19 21:46:15 2015 -0500 SUNRPC: Allow sockets to do GFP_NOIO allocations Follow up to commit c4a7ca774949 ("SUNRPC: Allow waiting on memory allocation"). Allows the RPC socket code to do non-IO blocking. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit b55a1b9c55ee9ed5b7d1d2acbabb078a454dbeea Author: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Date: Wed Aug 19 22:26:33 2015 -0400 MAINTAINERS: Add Freescale DCU DRM driver maintainer Add Alison and myself as maintainers of the Freescale DCU DRM driver. Signed-off-by: Alison Wang <b18965@xxxxxxxxxxxxx> Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> commit 6e3fc2741ae8107546673656de89eefb89051ec0 Author: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Date: Wed Aug 19 22:24:45 2015 -0400 devicetree: Add NEC to the vendor-prefix list NEC represent NEC LCD Technologies, Ltd. Signed-off-by: Alison Wang <b18965@xxxxxxxxxxxxx> Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> commit 109eee2f2a181a89a26f6b59b83b50ebab281d4d Author: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Date: Wed Aug 19 22:19:49 2015 -0400 drm/layerscape: Add Freescale DCU DRM driver This patch add support for Two Dimensional Animation and Compositing Engine (2D-ACE) on the Freescale SoCs. 2D-ACE is a Freescale display controller. 2D-ACE describes the functionality of the module extremely well its name is a value that cannot be used as a token in programming languages. Instead the valid token "DCU" is used to tag the register names and function names. The Display Controller Unit (DCU) module is a system master that fetches graphics stored in internal or external memory and displays them on a TFT LCD panel. A wide range of panel sizes is supported and the timing of the interface signals is highly configurable. Graphics are read directly from memory and then blended in real-time, which allows for dynamic content creation with minimal CPU intervention. The features: (1) Full RGB888 output to TFT LCD panel. (2) Blending of each pixel using up to 4 source layers dependent on size of panel. (3) Each graphic layer can be placed with one pixel resolution in either axis. (4) Each graphic layer support RGB565 and RGB888 direct colors without alpha channel and BGRA8888 BGRA4444 ARGB1555 direct colors with an alpha channel and YUV422 format. (5) Each graphic layer support alpha blending with 8-bit resolution. This is a simplified version, only one primary plane, one framebuffer, one crtc, one connector and one encoder for TFT LCD panel. Signed-off-by: Alison Wang <b18965@xxxxxxxxxxxxx> Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 824e7383e92815cb591793c74cc836aa5165f7f8 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Aug 19 15:46:17 2015 +0800 lwtunnel: Fix the sparse warnings in fib_encap_match When CONFIG_LWTUNNEL config is not enabled, the lwtstate_free() is not declared in lwtunnel.h at all. However, even in this case, the function is still referenced in fib_semantics.c so that there appears the following sparse warnings: net/ipv4/fib_semantics.c:553:17: error: undefined identifier 'lwtstate_free' CC net/ipv4/fib_semantics.o net/ipv4/fib_semantics.c: In function â??fib_encap_matchâ??: net/ipv4/fib_semantics.c:553:3: error: implicit declaration of function â??lwtstate_freeâ?? [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[1]: *** [net/ipv4/fib_semantics.o] Error 1 make: *** [net/ipv4/fib_semantics.o] Error 2 To eliminate the error, we define an empty function for lwtstate_free() in lwtunnel.h when CONFIG_LWTUNNEL is disabled. Fixes: df383e6240ef ("lwtunnel: fix memory leak") Cc: Jiri Benc <jbenc@xxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d072f4654464b242e536a03102ebd3d481f6b418 Merge: e2a8986 5b9fb5e Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 20 10:35:29 2015 +1000 Merge branch 'drm-atmel-hlcdc-devel' of https://github.com/bbrezillon/linux-at91 into drm-next The following PR add support for 3 more atmel SoCs and for some missing features (new input formats and PRIME support). * 'drm-atmel-hlcdc-devel' of https://github.com/bbrezillon/linux-at91: drm: atmel-hlcdc: add support for sama5d4 SoCs drm: atmel-hlcdc: add support for at91sam9n12 SoC drm: atmel-hlcdc: add support for at91sam9x5 SoCs drm: atmel-hlcdc: add RGB565 and RGB444 output support drm: atmel-hlcdc: add the missing DRM_ATOMIC flag drm: atmel-hlcdc: add PRIME support commit e2a8986f3e287dc036ce1b9452d7b9e2d8839f2b Merge: 294947a 05906de Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 20 09:40:49 2015 +1000 Merge branch 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-next amdgpu and radeon changes for 4.3. Highlights: - Fiji support for amdgpu. - CGS support for amdgpu. This is a new driver internal cross-component API. - Initial GPU scheduler for amdgpu. Still disabled by default. - Lots of bug fixes and optimizations * 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux: (130 commits) drm/amdgpu: wait on page directory changes. v2 drm/amdgpu: Select BACKLIGHT_LCD_SUPPORT drm/radeon: Select BACKLIGHT_LCD_SUPPORT drm/amdgpu: cleanup sheduler rq handling v2 drm/amdgpu: move prepare work out of scheduler to cs_ioctl drm/amdgpu: fix unnecessary wake up drm/amdgpu: fix duplicated mapping invoke bug drm/amdgpu: drop bo_list_clone when no scheduler drm/amdgpu: disable GPU reset by default drm/amdgpu: fix type mismatch error drm/amdgpu: add reference for **fence drm/amdgpu: fix waiting for all fences before flipping drm/amdgpu: fix UVD return code checking drm/amdgpu: remove scheduler fence list v2 drm/amdgpu: remove amd_sched_wait_emit v2 drm/amdgpu: remove unecessary scheduler fence callbacks drm/amdgpu: fix scheduler fence implementation drm/amdgpu: don't grab dev->struct_mutex in pm functions drm/amdgpu: Don't take dev->struct_mutex in bo_force_delete drm/radeon: Don't take dev->struct_mutex in pm functions ... commit aa493382cb8c5768ba452d87f175fc2aff63911d Merge: 5be203a 3403ccc Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Thu Aug 20 09:28:45 2015 +1000 Merge branch 'xfs-misc-fixes-for-4.3-2' into for-next commit 3403ccc0c9f069c40ea751a93ac6746f5ef2116a Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Aug 20 09:27:49 2015 +1000 xfs: inode lockdep annotations broke non-lockdep build Fix CONFIG_LOCKDEP=n build, because asserts I put in to ensure we aren't overrunning lockdep subclasses in commit 0952c81 ("xfs: clean up inode lockdep annotations") use a define that doesn't exist when CONFIG_LOCKDEP=n Only check the subclass limits when lockdep is actually enabled. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b226eca2088004622434cbcc27c6401b64f22d7c Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 19:40:09 2015 -0300 nand: pxa3xx: Increase READ_ID buffer and make the size static The read ID count should be made as large as the maximum READ_ID size, so there's no need to have dynamic size. This commit sets the hardware maximum read ID count, which should be more than enough on all cases. Also, we get rid of the read_id_bytes, and use a macro instead. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 21fc0ef9652f0c809dc0d3e0a67f1e1bf6ff8255 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Aug 19 20:30:15 2015 +0200 mtd: nand: pxa3xx-nand: fix random command timeouts When 2 commands are submitted in a row, and the second is very quick, the completion of the second command might never come. This happens especially if the second command is quick, such as a status read after an erase. The issue is that in the interrupt handler, the status bits are cleared after the new command is issued. There is a small temporal window where this happens : - the previous command has set the command done bit - the ready for a command bit is set - the handler submits the next command - just then, the command completes, and the command done bit is still set - the handler clears the "previous" command done bit - the handler exits In this flow, the "command done" of the next command will never trigger a new interrupt to finish the status command, as it was cleared for both commands. Fix this by clearing the status bit before submitting a new command. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0b14392db2e998157d924085d7913e537ec26121 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Aug 19 20:30:14 2015 +0200 mtd: nand: pxa3xx_nand: fix early spurious interrupt When the nand is first probe, and upon the first command start, the status bits should be cleared before the interrupts are unmasked. The bug is tricky : if the bootloader left a status bit set, the unmasking of interrupts does trigger the interrupt handler before the first command is issued, blocking the good behavior of the nand. The same would happen if in pxa3xx_nand code flow a status bit is left, and then a command is started. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e3f879bf1ea3e03f433d292b0114807785f0754b Author: Sunad Bhandary <sunad.s@xxxxxxxxxxx> Date: Fri Jul 31 18:56:58 2015 +0530 NVMe:Remove unreachable code in nvme_abort_req Removing unreachable code from nvme_abort_req as nvme_submit_cmd has no failure status to return. Signed-off-by: Sunad Bhandary <sunad.s@xxxxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 054167b3d55127feb64978eddf3f9f3a84fe493b Author: Mario Smarduch <m.smarduch@xxxxxxxxxxx> Date: Thu Jul 16 22:29:38 2015 +0100 arm: KVM: keep arm vfp/simd exit handling consistent with arm64 After enhancing arm64 FP/SIMD exit handling, ARMv7 VFP exit branch is moved to guest trap handling. This allows us to keep exit handling flow between both architectures consistent. Signed-off-by: Mario Smarduch <m.smarduch@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit b84b8390d6009cde5134f775a251103c14bbed74 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Aug 19 11:09:40 2015 +0100 Btrfs: fix file read corruption after extent cloning and fsync If we partially clone one extent of a file into a lower offset of the file, fsync the file, power fail and then mount the fs to trigger log replay, we can get multiple checksum items in the csum tree that overlap each other and result in checksum lookup failures later. Those failures can make file data read requests assume a checksum value of 0, but they will not return an error (-EIO for example) to userspace exactly because the expected checksum value 0 is a special value that makes the read bio endio callback return success and set all the bytes of the corresponding page with the value 0x01 (at fs/btrfs/inode.c:__readpage_endio_check()). From a userspace perspective this is equivalent to file corruption because we are not returning what was written to the file. Details about how this can happen, and why, are included inline in the following reproducer test case for fstests and the comment added to tree-log.c. seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { _cleanup_flakey rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter . ./common/dmflakey # real QA test starts here _need_to_be_root _supported_fs btrfs _supported_os Linux _require_scratch _require_dm_flakey _require_cloner _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _init_flakey _mount_flakey # Create our test file with a single 100K extent starting at file # offset 800K. We fsync the file here to make the fsync log tree gets # a single csum item that covers the whole 100K extent, which causes # the second fsync, done after the cloning operation below, to not # leave in the log tree two csum items covering two sub-ranges # ([0, 20K[ and [20K, 100K[)) of our extent. $XFS_IO_PROG -f -c "pwrite -S 0xaa 800K 100K" \ -c "fsync" \ $SCRATCH_MNT/foo | _filter_xfs_io # Now clone part of our extent into file offset 400K. This adds a file # extent item to our inode's metadata that points to the 100K extent # we created before, using a data offset of 20K and a data length of # 20K, so that it refers to the sub-range [20K, 40K[ of our original # extent. $CLONER_PROG -s $((800 * 1024 + 20 * 1024)) -d $((400 * 1024)) \ -l $((20 * 1024)) $SCRATCH_MNT/foo $SCRATCH_MNT/foo # Now fsync our file to make sure the extent cloning is durably # persisted. This fsync will not add a second csum item to the log # tree containing the checksums for the blocks in the sub-range # [20K, 40K[ of our extent, because there was already a csum item in # the log tree covering the whole extent, added by the first fsync # we did before. $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foo echo "File digest before power failure:" md5sum $SCRATCH_MNT/foo | _filter_scratch # Silently drop all writes and ummount to simulate a crash/power # failure. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey # Allow writes again, mount to trigger log replay and validate file # contents. # The fsync log replay first processes the file extent item # corresponding to the file offset 400K (the one which refers to the # [20K, 40K[ sub-range of our 100K extent) and then processes the file # extent item for file offset 800K. It used to happen that when # processing the later, it erroneously left in the csum tree 2 csum # items that overlapped each other, 1 for the sub-range [20K, 40K[ and # 1 for the whole range of our extent. This introduced a problem where # subsequent lookups for the checksums of blocks within the range # [40K, 100K[ of our extent would not find anything because lookups in # the csum tree ended up looking only at the smaller csum item, the # one covering the subrange [20K, 40K[. This made read requests assume # an expected checksum with a value of 0 for those blocks, which caused # checksum verification failure when the read operations finished. # However those checksum failure did not result in read requests # returning an error to user space (like -EIO for e.g.) because the # expected checksum value had the special value 0, and in that case # btrfs set all bytes of the corresponding pages with the value 0x01 # and produce the following warning in dmesg/syslog: # # "BTRFS warning (device dm-0): csum failed ino 257 off 917504 csum\ # 1322675045 expected csum 0" # _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey echo "File digest after log replay:" # Must match the same digest he had after cloning the extent and # before the power failure happened. md5sum $SCRATCH_MNT/foo | _filter_scratch _unmount_flakey status=0 exit Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1f9b8c8fbc9a4d029760b16f477b9d15500e3a34 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Aug 12 11:54:35 2015 +0100 Btrfs: check if previous transaction aborted to avoid fs corruption While we are committing a transaction, it's possible the previous one is still finishing its commit and therefore we wait for it to finish first. However we were not checking if that previous transaction ended up getting aborted after we waited for it to commit, so we ended up committing the current transaction which can lead to fs corruption because the new superblock can point to trees that have had one or more nodes/leafs that were never durably persisted. The following sequence diagram exemplifies how this is possible: CPU 0 CPU 1 transaction N starts (...) btrfs_commit_transaction(N) cur_trans->state = TRANS_STATE_COMMIT_START; (...) cur_trans->state = TRANS_STATE_COMMIT_DOING; (...) cur_trans->state = TRANS_STATE_UNBLOCKED; root->fs_info->running_transaction = NULL; btrfs_start_transaction() --> starts transaction N + 1 btrfs_write_and_wait_transaction(trans, root); --> starts writing all new or COWed ebs created at transaction N creates some new ebs, COWs some existing ebs but doesn't COW or deletes eb X btrfs_commit_transaction(N + 1) (...) cur_trans->state = TRANS_STATE_COMMIT_START; (...) wait_for_commit(root, prev_trans); --> prev_trans == transaction N btrfs_write_and_wait_transaction() continues writing ebs --> fails writing eb X, we abort transaction N and set bit BTRFS_FS_STATE_ERROR on fs_info->fs_state, so no new transactions can start after setting that bit cleanup_transaction() btrfs_cleanup_one_transaction() wakes up task at CPU 1 continues, doesn't abort because cur_trans->aborted (transaction N + 1) is zero, and no checks for bit BTRFS_FS_STATE_ERROR in fs_info->fs_state are made btrfs_write_and_wait_transaction(trans, root); --> succeeds, no errors during writeback write_ctree_super(trans, root, 0); --> succeeds --> we have now a superblock that points us to some root that uses eb X, which was never written to disk In this scenario future attempts to read eb X from disk results in an error message like "parent transid verify failed on X wanted Y found Z". So fix this by aborting the current transaction if after waiting for the previous transaction we verify that it was aborted. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 03100aada96f0645bbcb89aea24c01f02d0ef1fa Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Wed Aug 19 14:24:05 2015 -0700 block: Replace SG_GAPS with new queue limits mask The SG_GAPS queue flag caused checks for bio vector alignment against PAGE_SIZE, but the device may have different constraints. This patch adds a queue limits so a driver with such constraints can set to allow requests that would have been unnecessarily split. The new gaps check takes the request_queue as a parameter to simplify the logic around invoking this function. This new limit makes the queue flag redundant, so removing it and all usage. Device-mappers will inherit the correct settings through blk_stack_limits(). Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 33c76a0b8126946026fa1122cb774553afae0956 Author: Mario Smarduch <m.smarduch@xxxxxxxxxxx> Date: Thu Jul 16 22:29:37 2015 +0100 arm64: KVM: Optimize arm64 skip 30-50% vfp/simd save/restore on exits This patch only saves and restores FP/SIMD registers on Guest access. To do this cptr_el2 FP/SIMD trap is set on Guest entry and later checked on exit. lmbench, hackbench show significant improvements, for 30-50% exits FP/SIMD context is not saved/restored [chazy/maz: fixed save/restore logic for 32bit guests] Signed-off-by: Mario Smarduch <m.smarduch@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 277fb5fc177dc4674ef6151a7697f5396bbdff11 Author: Michal Hocko <mhocko@xxxxxxxx> Date: Wed Aug 19 14:17:41 2015 +0200 btrfs: use __GFP_NOFAIL in alloc_btrfs_bio alloc_btrfs_bio relies on GFP_NOFS allocation when committing the transaction but this allocation context is rather weak wrt. reclaim capabilities. The page allocator currently tries hard to not fail these allocations if they are small (<=PAGE_ALLOC_COSTLY_ORDER) but it can still fail if the _current_ process is the OOM killer victim. Moreover there is an attempt to move away from the default no-fail behavior and allow these allocation to fail more eagerly. This would lead to: [ 37.928625] kernel BUG at fs/btrfs/extent_io.c:4045 which is clearly undesirable and the nofail behavior should be explicit if the allocation failure cannot be tolerated. Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d1b5c5671d010de1df78d3efddb84bf22bfafd1e Author: Michal Hocko <mhocko@xxxxxxxx> Date: Wed Aug 19 14:17:40 2015 +0200 btrfs: Prevent from early transaction abort Btrfs relies on GFP_NOFS allocation when committing the transaction but this allocation context is rather weak wrt. reclaim capabilities. The page allocator currently tries hard to not fail these allocations if they are small (<=PAGE_ALLOC_COSTLY_ORDER) so this is not a problem currently but there is an attempt to move away from the default no-fail behavior and allow these allocation to fail more eagerly. And this would lead to a pre-mature transaction abort as follows: [ 55.328093] Call Trace: [ 55.328890] [<ffffffff8154e6f0>] dump_stack+0x4f/0x7b [ 55.330518] [<ffffffff8108fa28>] ? console_unlock+0x334/0x363 [ 55.332738] [<ffffffff8110873e>] __alloc_pages_nodemask+0x81d/0x8d4 [ 55.334910] [<ffffffff81100752>] pagecache_get_page+0x10e/0x20c [ 55.336844] [<ffffffffa007d916>] alloc_extent_buffer+0xd0/0x350 [btrfs] [ 55.338973] [<ffffffffa0059d8c>] btrfs_find_create_tree_block+0x15/0x17 [btrfs] [ 55.341329] [<ffffffffa004f728>] btrfs_alloc_tree_block+0x18c/0x405 [btrfs] [ 55.343566] [<ffffffffa003fa34>] split_leaf+0x1e4/0x6a6 [btrfs] [ 55.345577] [<ffffffffa0040567>] btrfs_search_slot+0x671/0x831 [btrfs] [ 55.347679] [<ffffffff810682d7>] ? get_parent_ip+0xe/0x3e [ 55.349434] [<ffffffffa0041cb2>] btrfs_insert_empty_items+0x5d/0xa8 [btrfs] [ 55.351681] [<ffffffffa004ecfb>] __btrfs_run_delayed_refs+0x7a6/0xf35 [btrfs] [ 55.353979] [<ffffffffa00512ea>] btrfs_run_delayed_refs+0x6e/0x226 [btrfs] [ 55.356212] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.358378] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.360626] [<ffffffffa0060221>] btrfs_commit_transaction+0x4c/0xaba [btrfs] [ 55.362894] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.365221] [<ffffffffa0073428>] btrfs_sync_file+0x29c/0x310 [btrfs] [ 55.367273] [<ffffffff81186808>] vfs_fsync_range+0x8f/0x9e [ 55.369047] [<ffffffff81186833>] vfs_fsync+0x1c/0x1e [ 55.370654] [<ffffffff81186869>] do_fsync+0x34/0x4e [ 55.372246] [<ffffffff81186ab3>] SyS_fsync+0x10/0x14 [ 55.373851] [<ffffffff81554f97>] system_call_fastpath+0x12/0x6f [ 55.381070] BTRFS: error (device hdb1) in btrfs_run_delayed_refs:2821: errno=-12 Out of memory [ 55.382431] BTRFS warning (device hdb1): Skipping commit of aborted transaction. [ 55.382433] BTRFS warning (device hdb1): cleanup_transaction:1692: Aborting unused transaction(IO failure). [ 55.384280] ------------[ cut here ]------------ [ 55.384312] WARNING: CPU: 0 PID: 3010 at fs/btrfs/delayed-ref.c:438 btrfs_select_ref_head+0xd9/0xfe [btrfs]() [...] [ 55.384337] Call Trace: [ 55.384353] [<ffffffff8154e6f0>] dump_stack+0x4f/0x7b [ 55.384357] [<ffffffff8107f717>] ? down_trylock+0x2d/0x37 [ 55.384359] [<ffffffff81046977>] warn_slowpath_common+0xa1/0xbb [ 55.384398] [<ffffffffa00a1d6b>] ? btrfs_select_ref_head+0xd9/0xfe [btrfs] [ 55.384400] [<ffffffff81046a34>] warn_slowpath_null+0x1a/0x1c [ 55.384423] [<ffffffffa00a1d6b>] btrfs_select_ref_head+0xd9/0xfe [btrfs] [ 55.384446] [<ffffffffa004e5f7>] ? __btrfs_run_delayed_refs+0xa2/0xf35 [btrfs] [ 55.384455] [<ffffffffa004e600>] __btrfs_run_delayed_refs+0xab/0xf35 [btrfs] [ 55.384476] [<ffffffffa00512ea>] btrfs_run_delayed_refs+0x6e/0x226 [btrfs] [ 55.384499] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.384521] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.384543] [<ffffffffa0060221>] btrfs_commit_transaction+0x4c/0xaba [btrfs] [ 55.384565] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.384588] [<ffffffffa0073428>] btrfs_sync_file+0x29c/0x310 [btrfs] [ 55.384591] [<ffffffff81186808>] vfs_fsync_range+0x8f/0x9e [ 55.384592] [<ffffffff81186833>] vfs_fsync+0x1c/0x1e [ 55.384593] [<ffffffff81186869>] do_fsync+0x34/0x4e [ 55.384594] [<ffffffff81186ab3>] SyS_fsync+0x10/0x14 [ 55.384595] [<ffffffff81554f97>] system_call_fastpath+0x12/0x6f [...] [ 55.384608] ---[ end trace c29799da1d4dd621 ]--- [ 55.437323] BTRFS info (device hdb1): forced readonly [ 55.438815] BTRFS info (device hdb1): delayed_refs has NO entry Fix this by being explicit about the no-fail behavior of this allocation path and use __GFP_NOFAIL. Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 60d53eb3107c8e8960e8d7c22aa4e69aac7a8fe6 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 17 18:44:46 2015 +0800 btrfs: Remove unused arguments in tree-log.c Following arguments are not used in tree-log.c: insert_one_name(): path, type wait_log_commit(): trans wait_for_writer(): trans This patch remove them. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 34eb2a524997e5cd7117569b1fda925516adf6ac Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 17 18:44:45 2015 +0800 btrfs: Remove useless condition in start_log_trans() Dan Carpenter <dan.carpenter@xxxxxxxxxx> reported a smatch warning for start_log_trans(): fs/btrfs/tree-log.c:178 start_log_trans() warn: we tested 'root->log_root' before and it was 'false' fs/btrfs/tree-log.c 147 if (root->log_root) { We test "root->log_root" here. ... Reason: Condition of: fs/btrfs/tree-log.c:178: if (!root->log_root) { is not necessary after commit: 7237f1833 It caused a smatch warning, and no functionally error. Fix: Deleting above condition will make smatch shut up, but a better way is to do cleanup for start_log_trans() to remove duplicated code and make code more readable. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 95ecdc2549ccc1f4f5af1f37c080120c2f0a1be3 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 14:20:45 2015 -0700 Input: cros_ec_keyb - replace KEYBOARD_CROS_EC dependency The ChromeOS EC keyboard driver config depends on CROS_EC_PROTO but MFD_CROS_EC selects CROS_EC_PROTO instead. Mixing select and depends on is bad practice as it may lead to circular Kconfig dependencies. Since the platform device that is matched with the keyboard driver is registered by the ChromeOS EC mfd driver, KEYBOARD_CROS_EC really should depend on MFD_CROS_EC. And because this config option selects CROS_EC_PROTO, that dependency is met as well. So make the driver to depend on MFD_CROS_EC instead of CROS_EC_PROTO. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 18e1db67e93ed75d9dc0d34c8d783ccf10547c2b Author: Bernhard Thaler <bernhard.thaler@xxxxxxxx> Date: Thu Aug 13 08:58:15 2015 +0200 netfilter: bridge: fix IPv6 packets not being bridged with CONFIG_IPV6=n 230ac490f7fba introduced a dependency to CONFIG_IPV6 which breaks bridging of IPv6 packets on a bridge with CONFIG_IPV6=n. Sysctl entry /proc/sys/net/bridge/bridge-nf-call-ip6tables defaults to 1, for this reason packets are handled by br_nf_pre_routing_ipv6(). When compiled with CONFIG_IPV6=n this function returns NF_DROP but should return NF_ACCEPT to let packets through. Change CONFIG_IPV6=n br_nf_pre_routing_ipv6() return value to NF_ACCEPT. Tested with a simple bridge with two interfaces and IPv6 packets trying to pass from host on left side to host on right side of the bridge. Fixes: 230ac490f7fba ("netfilter: bridge: split ipv6 code into separated file") Signed-off-by: Bernhard Thaler <bernhard.thaler@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit bf798657eb5ba57552096843c315f096fdf9b715 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Aug 12 17:41:00 2015 +0200 netfilter: nf_tables: Use 32 bit addressing register from nft_type_to_reg() nft_type_to_reg() needs to return the register in the new 32 bit addressing, otherwise we hit EINVAL when using mappings. Fixes: 49499c3 ("netfilter: nf_tables: switch registers to 32 bit addressing") Reported-by: Andreas Schultz <aschultz@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 69f230d907e8c1ca3f9bd528993eeb98f712b0dd Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Thu Aug 20 01:52:59 2015 +0800 NFS41/flexfiles: update inode after write finishes Otherwise we break fstest case tests/read_write/mctime.t Does files layout need the same fix as well? Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Cc: Anna Schumaker <anna.schumaker@xxxxxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c5e5cd28d7c5a18d6da6575957dd0c5243ac3e7b Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Wed Aug 19 11:37:57 2015 +0800 spi: mediatek: remove redundant clock in prepare_hardware/unprepare_hardware clock in prepare_hardware/unprepare_hardware is redundant with pm_runtime, so remove them. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aaee24accb9e374c04eb9672d5324160626462c5 Author: Mark Greer <mgreer@xxxxxxxxxxxxxxx> Date: Wed Aug 19 08:58:52 2015 -0700 NFC: trf7970a: Add NULL check to clear up smatch warning Although it should be unnecessary, add a NULL pointer check to trf7970a_send_upstream() to eliminate a smatch warning. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ae291f79da57ef4cb747ae1940b37152d1a4e5cf Author: Mark Greer <mgreer@xxxxxxxxxxxxxxx> Date: Wed Aug 19 08:57:58 2015 -0700 NFC: trf7970a: SDD_EN is bit 5 not bit 3 The SDD_EN bit in the NFC Target Detection Level Register is bit 5 not bit 3 so change the TRF7970A_NFC_TARGET_LEVEL_SDD_EN macro accordingly. Reported-by: Raymond Lei <Raymond.Lei@xxxxxxxxxx> Signed-off-by: Mark Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 777572911a732c0d3e6dbc514f9a1206606ffd0b Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:28:19 2015 +0200 dmaengine: mv_xor: optimize performance by using a subset of the XOR channels Due to how async_tx behaves internally, having more XOR channels than CPUs is actually hurting performance more than it improves it, because memcpy requests get scheduled on a different channel than the XOR requests, but async_tx will still wait for the completion of the memcpy requests before scheduling the XOR requests. It is in fact more efficient to have at most one channel per CPU, which this patch implements by limiting the number of channels per engine, and the number of engines registered depending on the number of availables CPUs. Marvell platforms are currently available in one CPU, two CPUs and four CPUs configurations: - in the configurations with one CPU, only one channel from one engine is used. - in the configurations with two CPUs, only one channel from each engine is used (they are two XOR engines) - in the configurations with four CPUs, both channels of both engines are used. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6d8f7abd235c1a38629cdada49cc53992f4ad42e Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:28:16 2015 +0200 dmaengine: mv_xor: remove support for dmacap,* DT properties The only reason why we had dmacap,* properties is because back when DMA_MEMSET was supported, only one out of the two channels per engine could do a memset operation. But this is something that the driver already knows anyway, and since then, the DMA_MEMSET support has been removed. The driver is already well aware of what each channel supports and the one to one mapping between Linux specific implementation details (such as dmacap,interrupt enabling DMA_INTERRUPT) and DT properties is a good indication that these DT properties are wrong. Therefore, this commit simply gets rid of these dmacap,* properties, they are now ignored, and the driver is responsible for knowing the capabilities of the hardware with regard to the dmaengine subsystem expectations. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 31495d60a06524f37a9ea66d7d62ce0418ef3506 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Thu Jul 23 18:04:49 2015 +0200 dmaengine: pl330: do not emit loop for 1 byte transfer. When there is only one burst required do not emit loop instructions to loop exactly once. Emit just the body of the loop. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1cf5a330c05ae37a0a98ac7c9800a6f50d5579ec Author: Nikesh Oswal <Nikesh.Oswal@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 16:02:24 2015 +0100 ASoC: arizona: Fix gain settings of FLL in free-run mode The wrong register was used to set the gain of ref loop, when changing the FLL output on an active FLL. This patch corrects the offset of the gain register. Signed-off-by: Nikesh Oswal <Nikesh.Oswal@xxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5a286aae3d2c6e494fbcafdf4e911e2e976562a8 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 19 11:17:53 2015 +0800 regulator: qcom_smd: Set n_voltages for pm8941_lnldo Just setting fixed_uV is not enough, the regulator core will also check n_voltages setting. The fixed_uV only works when n_voltages is 1. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bf0c4e04732479f650ff59d1ee82de761c0071f0 Author: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Date: Tue Aug 18 20:50:10 2015 +0100 arm64: kconfig: Move LIST_POISON to a safe value Move the poison pointer offset to 0xdead000000000000, a recognized value that is not mappable by user-space exploits. Cc: <stable@xxxxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Thierry Strudel <tstrudel@xxxxxxxxxx> Signed-off-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ccf2dc51bc4a715670641aa5af0d4636acd8e0cd Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 20:08:09 2015 -0700 hwmon: (ltc2978) Add support for LTM4675 LTM2975 is a dual 9A or single 18A μModule regulator. It is register compatible with LTM4676. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e04d1ce9bbb49862fd8266da764f5ebf67baaac0 Author: Michael Jones <mike@xxxxxxxxxxxxx> Date: Mon Aug 17 17:45:32 2015 -0700 hwmon: (ltc2978) Add polling for chips requiring it Some of the LTC chips supported by this driver have to be polled to ensure that they are ready to accept commands. Signed-off-by: Michael Jones <mike@xxxxxxxxxxxxx> [Guenter Roeck: simplifications and formatting changes] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit d830e27dac26b4f084c5ed2282666527f90db0ed Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 16:26:21 2015 -0700 hwmon: (pmbus) Enable PEC if the controller supports it PMBus controllers optionally support PEC. Configure the driver to use it if available to improve operational security. Suggested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2c052d4280ca48fddc7a9ffd2329ada3628cab86 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 16:17:24 2015 -0700 hwmon: (pmbus) Use BIT macro Using the BIT macro makes the code a little easier to read. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9430e547894d2ff099e5717050eb40c1e1dd2bad Author: Julian Scheel <julian@xxxxxxxx> Date: Wed Aug 19 09:28:09 2015 +0200 ALSA: usb-audio: Recurse before saving terminal properties The input terminal parser recurses into the referenced clock entity to verify it is existant and thus the terminal descriptor is valid. The actual property values of the term instance which is initially parsed must not be overriden by the recursion. For this to work the term properties have to be assigned after recursing into the referenced clock entity descriptors. Signed-off-by: Julian Scheel <julian@xxxxxxxx> Acked-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ebb75c0bdba238013976b53e256f8d13216304e4 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Aug 15 07:21:00 2015 +0530 ASoC: rockchip: i2s: Adjust devm usage Remove use of snd_soc_unregister_component in remove function as devm_snd_soc_register_component in probe function automatically handles it. Also, convert call of snd_dmaengine_pcm_register to managed resource function devm_snd_dmaengine_pcm_register and remove usage of snd_dmaengine_pcm_unregister in probe and remove functions. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bea107b1f1ee79da0bc2c1ee0c70bf1c3c6c41b4 Author: Christian Kujau <lists@xxxxxxxxxxxxxxx> Date: Sun Aug 2 20:03:26 2015 -0700 fallback to hostname in scripts/package/builddeb I happened to build a kernel with "make deb-pkg" on a machine with no network connectivity, but this failed with: [...] INSTALL debian/headertmp/usr/include/asm/ (65 files) hostname: Name or service not known ../scripts/package/Makefile:90: recipe for target 'deb-pkg' failed make[2]: *** [deb-pkg] Error 1 In scripts/package/builddeb it tries to construct an email address (that can be queried in /proc/version later on) but with no network, the "hostname -f" fails. The following patch falls back to just use the shortname if we cannot determine our FQDN. Signed-off-by: Christian Kujau <lists@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 2f27b81c0e5670fbdd902ca8f85617153d69b8cb Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:15 2015 -0500 dmaengine: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d078cd1b4185134fe861e2b16a40ba14efb307b7 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Thu Jul 23 11:40:49 2015 +0800 dmaengine: imx-sdma: Add imx6sx platform support The new Solo X has more requirements for SDMA events. So it creates a event mux to remap most of event numbers in GPR (General Purpose Register). If we want to use SDMA support for those module who do not get the even number as default, we need to configure GPR first. Thus this patch adds this support of GPR event remapping configuration to the SDMA driver. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e900c30dc1bb0cbc07708e9be1188f531632b2ef Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Jul 22 16:12:29 2015 +0200 dmaengine: at_xdmac: fix bug in prep_dma_cyclic In cyclic mode, the round chaining has been broken by the introduction of at_xdmac_queue_desc(): AT_XDMAC_MBR_UBC_NDE is set for all descriptors excepted for the last one. at_xdmac_queue_desc() has to be called one more time to chain the last and the first descriptors. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Fixes: 0d0ee751f7f7 ("dmaengine: xdmac: Rework the chaining logic") Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e755d638e91be254d441602e8d7d9f1d9c944556 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:49:19 2015 +0800 NFS41: make sure sending LAYOUTRETURN before close if marked so If layout is marked by NFS_LAYOUT_RETURN_BEFORE_CLOSE, we should always send LAYOUTRETURN before close, and we don't need to do ROC drain if we do send LAYOUTRETURN. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit bec8a5a22640325e86cf5b737c18888747631099 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 13:53:06 2015 +0900 coccinelle: api: extend spatch for dropping unnecessary owner i2c_add_driver (through i2c_register_driver) sets the owner field so we can drop it also from i2c drivers, just like from platform drivers. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 09cd75555cd9051bdeac7a29c6ff12d6b9e8341b Author: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Date: Sun Jul 12 09:41:51 2015 +0200 kconfig: Regenerate shipped zconf.{hash,lex}.c files Update the shipped files generated by flex and gperf to support the explicit use of "---help---" and to emit warnings for unsupported characters on COMMAND tokens. As I could not find out which flex/gperf version was used to generate the previous version, I used flex 2.5.35 and gperf 3.0.4 from Ubuntu 14.04 - this also leads to the big number of changed lines in this patch. Signed-off-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Reviewed-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Tested-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit c2264564df3d70723c6d6eb96c18b99698c112fd Author: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Date: Sun Jul 12 09:41:50 2015 +0200 kconfig: warn of unhandled characters in Kconfig commands In Kconfig, definitions of options take the following form: "<COMMAND> <PARAM> <PARAM> ...". COMMANDs and PARAMs are treated slightly different by the underlying parser. While commit 2e0d737fc76f ("kconfig: don't silently ignore unhandled characters") introduced a warning for unsupported characters around PARAMs, it does not cover situations where a COMMAND has additional characters before it. This change makes Kconfig emit a warning if superfluous characters are found before COMMANDs. As the 'help' statement sometimes is written as '---help---', the '-' character would now also be regarded as unhandled and generate a warning. To avoid that, '-' is added to the list of allowed characters, and the token '---help---' is included in the zconf.gperf file. Reported-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Reviewed-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Tested-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 8f183751a8604be5aaf0ad6dedac4890bb6fa0d5 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Wed Aug 19 08:42:07 2015 +0200 crypto: cmac - allow usage in FIPS mode CMAC is an approved cipher in FIPS 140-2. The patch allows the use of CMAC with TDES and AES in FIPS mode. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 66c9a04e33947191a03a1cf5103b8bf9051774df Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Aug 18 11:36:05 2015 +0530 crypto: sahara - Use dmam_alloc_coherent This patch moves the data allocated using dma_alloc_coherent to the corresponding managed interface. To be compatible with the change, various gotos are replaced with direct returns and unneeded labels are dropped. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 35ffd08d9bc92b5d56f6536406c379d82a757e7a Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 21:48:23 2015 +0200 kconfig: Delete unnecessary checks before the function call "sym_calc_value" The sym_calc_value() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit bf7b00557d10c0b84b6717305815c8fff7007830 Author: Riku Voipio <riku.voipio@xxxxxxxxxx> Date: Thu May 28 12:11:14 2015 +0300 deb-pkg: simplify directory creation Every package needs /usr/share/doc/$package_name and DEBIAN directory, so create them as part of create_package function. Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 3c42f0b803613c4888aa2214e86d6ea746cb94de Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 18:00:37 2015 -0700 scripts/tags.sh: Include trace_*_rcuidle() in tags Every tracepoint creates two functions, the usual one 'trace_*()' and the rcuidle one 'trace_*_rcuidle()'. Add regex for the rcuidle variant so that we can jump to the tracepoints that use rcuidle. Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 72ccc89e38031183323f8e715503d7e61fcff2ab Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 19 10:32:23 2015 +0800 FIRMWARE: bcm47xx_nvram: Fix module license. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11020/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5db879aefa0ef6dea4fdda268dd94016bc165f3d Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Thu Jul 9 14:19:43 2015 +0530 ath10k: free collected fw stats memory if .pull_fw_stats fails If .pull_fw_stats() fails for some reason while processing fw stats event, collected pdev/vdev/peer stats just before the failure should be freed. This is unlikely to happen, just code review catch. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f1ee2682ef8dffe6d6ec6f7788d6bf33d6bab7a6 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Thu Jul 9 14:19:42 2015 +0530 ath10k: ensure pktlog disable cmd reaches fw before pdev suspend Found incorrect sequence in ath10k_core_stop() where wmi pktlog disable cmd is passed from ath10k_debug_stop() to firmware immediately after wmi pdev suspend cmd. Firmware will not accept any wmi cmd after receiving wmi pdev suspend cmd. Fix this issue in ath10k_core_stop() by moving ath10k_debug_stop() just before sending pdev suspend cmd. So that pktlog disable cmd will get passed before pdev suspend cmd. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 42cfc6b590c5eb7ae3c1de89594f8f2193ecbc97 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Aug 19 10:42:23 2015 +0200 s390/dcssblk: correct out of bounds array indexes Fix a couple of warnings like this: [linux-4.2-rc7/drivers/s390/block/dcssblk.c:553]: (style) Array index 'j' is used before limits check. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 78fb907626dccfeee6f4213c649606e9ba49c6bc Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 14 14:58:50 2015 +0200 s390/mm: simplify page table alloc/free code With the removal of the dynamic reallocation of page tables for KVM (see git commit 0b46e0a3ec0d7a04af6a091354f1b5e1b952d70a) the page table allocation / freeing code can be simplified. The page table free code can now use the alloc_pgste bit in the mm context to decide if a page table is 2K or 4K, there is no mix of different sized page tables anymore. This eliminates the need to use "page->_mapcount == 0" to check for 4K page table. Use the lower two bits in page->_mapcount to indicate which 2K fragments of the 4K page are in use. As 31-bit support is gone, remove the two defines ALLOC_ORDER and FRAG_MASK and use the constants directly where appropriate. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3d8258e4ab5166ca702b2828c99a5fa7dcb40a0c Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:39:27 2015 +0200 s390/pci: move debug messages to debugfs The error messages in pci_insn are for debug purposes only. Move them to the debugfs. Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 24d05ff863e78544e8538a792e3234291cdd5650 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Aug 17 08:09:17 2015 +0200 s390/nmi: initialize control register 0 earlier Change machine_check_init() to an early_initcall(). This makes sure it will be called before all other cpus are online and therfore saves us a lot of pointless smp_call_function() calls. The control register settings will be forwarded to the other cpus when they will be brought online. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e4e1899aaec0370aea6b98597ee6289d60544ae2 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Aug 17 07:59:47 2015 +0200 s390/zcrypt: use msleep() instead of mdelay() There is no need to busy loop and monopolize a cpu for up to ~2 seconds. The code in question that calls mdelay() is preemptible anyway, so better let the kernel schedule different processes than just looping and causing unnecessary delays. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e619cd3d618672bea8602d682ea63b42a1faf1bc Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Aug 17 07:56:20 2015 +0200 s390/hmcdrv: fix interrupt registration The z/VM driver sets bit "63-22" in control register zero to one in order to enable the CP Service interrupt (0x2603). However the irq subclass mask that normally corresponds to the CP Service interrupt is "63-54" (== "63-22-32"). So it looks like the author read the documentation with the 32 bit sized cr0 register bit positions (== 22), but didn't realize that bit numbers change, if applied to a 64 bit register (== 54) due to the numbering scheme. Also use irq_subclass_register() instead if ctl_set_bit() since multiple services depend on the service signal subclass mask, which is the correct bit. This also explains why nobody noticed the bug, since the bit is always enabled anyway (e.g. pfault). Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 89b1145e93771d727645c96e323539c029b63f1c Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 14 13:20:28 2015 +0200 s390/setup: fix novx parameter The novx parameter disables the vector facility but the HWCAP_S390_VXRS bit in the ELf hardware capabilies is always set if the machine has the vector facility. If the user space program uses the "vx" string in the features field of /proc/cpuinfo to utilize vector instruction it will crash if the novx kernel paramter is set. Convert setup_hwcaps to an arch_initcall and use MACHINE_HAS_VX to decide if the HWCAPS_S390_VXRS bit needs to be set. Cc: stable@xxxxxxxxxxxxxxx # 3.18+ Reported-by: Ulrich Weigand <uweigand@xxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit cabc4abe8e368d754805691b146f31f574533cfa Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Aug 13 13:44:34 2015 +0200 s390/uaccess: remove uaccess_primary kernel parameter get_user() and put_user() are inline functions in the meantime again. Both will generate the mvcos instruction if compiled with -march=z10 (or greater). The kernel parameter "uaccess_primary" can only change the behavior of out-of-line uaccess functions like copy_from_user() to not use the mvcos instruction, but not for the above named inlined functions. Therefore it is quite useless and the parameter can be removed. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 92d6289105d134582094eede00192bd66f54905f Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Aug 13 13:26:49 2015 +0200 s390: remove unneeded sizeof(void *) comparisons Remove two more statements which always evaluate to 'false'. These are more leftovers from the 31 bit era. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a69db2f6ad69157cace810971f19cb5aec9956b1 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Aug 13 12:27:16 2015 +0200 s390/facilities: remove transactional-execution bits Remove the two facility bits 50 - constrained transactional-execution facility 74 - transactional-execution facility from the required facilities if the kernel is built with -march=zEC12. E.g. z/VM 6.3 doesn't virtualize the TX facility yet. Therefore a kernel built with -march=zEC12 and ipl'ed on a zEC12 machine as a z/VM 6.3 guest will emit a message about the missing facilities and stop working. The kernel however doesn't make use of the TX facility, therefore remove the two TX related facility bits and fix this unpleasant behavior. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c0e5ddab6e985c83714b31a88098e76c39ff084a Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 10:35:11 2015 +0200 s390/numa: re-add DIE sched_domain_topology_level By accident this level has been removed by the NUMA infrastructure patch. For non-NUMA systems with CPUs that span more than one book, this makes the scheduler only use one of the books and the other books remain idle. Fix this and re-add the missing level. For NUMA and non-NUMA we have the following scheduling domains and groups: - SMT (Groups: CPU threads) - MC (Groups: Cores) - BOOK (Groups: Books) For the non-NUMA case we have one last level scheduling domain: - DIE (Groups: Whole system, has all CPUs -> cpu_cpu_mask) For the NUMA case we have the following two last level scheduling domains: - DIE (Groups: NUMA nodes -> cpu_cpu_mask -> returns node siblings) - NUMA (Groups: Whole system, has all CPUs -> created in sched_init_numa()) Fixes: e8054b654bf5 ("s390/numa: add topology tree infrastructure") Reported-and-tested-by: Evgeny Cherkashin <Eugene.Crosser@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8cfd23e6740158817d2045915f6ea5a2daf11bce Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Aug 17 18:09:55 2015 +0200 netfilter: nft_payload: work around vlan header stripping make payload expression aware of the fact that VLAN offload may have removed a vlan header. When we encounter tagged skb, transparently insert the tag into the register so that vlan header matching can work without userspace being aware of offload features. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit acf6cec8365bfe1e6435e503eae4eab48ee04fc8 Author: Gerhard Sittig <gsi@xxxxxxx> Date: Mon Jun 3 13:18:06 2013 +0200 powerpc/512x: silence a USB Kconfig dependency warning the PPC_MPC512x config automatically selected USB_EHCI_BIG_ENDIAN_* switches, which made Kconfig warn about "unmet direct dependencies": scripts/kconfig/conf --silentoldconfig Kconfig warning: (PPC_MPC512x && 440EPX) selects USB_EHCI_BIG_ENDIAN_DESC which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) warning: (PPC_MPC512x && PPC_PS3 && PPC_CELLEB && 440EPX) selects USB_EHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) warning: (PPC_MPC512x && 440EPX) selects USB_EHCI_BIG_ENDIAN_DESC which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) warning: (PPC_MPC512x && PPC_PS3 && PPC_CELLEB && 440EPX) selects USB_EHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) make the selected entries additionally depend on USB_EHCI_HCD which silences the warning Signed-off-by: Gerhard Sittig <gsi@xxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 74943dab6b155b1a9d4037b7f01a396f28f9c44a Author: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Date: Mon May 11 13:53:43 2015 +0530 powerpc/nvram: print no error when pstore backend is not nvram Pstore only supports one backend at a time. The preferred pstore backend is set by passing the pstore.backend=<name> argument to the kernel at boot time. Currently, while trying to register with pstore, nvram throws an error message even when "pstore.backend != nvram", which is unnecessary. This patch removes the error message in case "pstore.backend != nvram". Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 36319608e28701c07cad80ae3be8b0fdfb1ab40f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 19 00:14:20 2015 -0500 Revert "NFSv4: Remove incorrect check in can_open_delegated()" This reverts commit 4e379d36c050b0117b5d10048be63a44f5036115. This commit opens up a race between the recovery code and the open code. Reported-by: Olga Kornievskaia <aglo@xxxxxxxxx> Cc: stable@xxxxxxxxxxx # v4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3c13cb5b647ebe36fb79128bc8b917d2a3317b65 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 18 23:45:13 2015 -0500 NFSv4.1/pnfs: Play safe w.r.t. close() races when return-on-close is set If we have an OPEN_DOWNGRADE and CLOSE race with one another, we want to ensure that the layout is forgotten by the client, so that we start afresh with a new layoutget. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7a67832c7e44c20935c5d6f2264035a0f7bf0d8f Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Aug 19 00:34:34 2015 -0400 libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option We currently register a platform device for e820 type-12 memory and register a nvdimm bus beneath it. Registering the platform device triggers the device-core machinery to probe for a driver, but that search currently comes up empty. Building the nvdimm-bus registration into the e820_pmem platform device registration in this way forces libnvdimm to be built-in. Instead, convert the built-in portion of CONFIG_X86_PMEM_LEGACY to simply register a platform device and move the rest of the logic to the driver for e820_pmem, for the following reasons: 1/ Letting e820_pmem support be a module allows building and testing libnvdimm.ko changes without rebooting 2/ All the normal policy around modules can be applied to e820_pmem (unbind to disable and/or blacklisting the module from loading by default) 3/ Moving the driver to a generic location and converting it to scan "iomem_resource" rather than "e820.map" means any other architecture can take advantage of this simple nvdimm resource discovery mechanism by registering a resource named "Persistent Memory (legacy)" Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 4ff376feaf57af94e08c8df769e7c48b805ac897 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 18 23:23:21 2015 -0500 NFSv4.1/pnfs: Fix a close/delegreturn hang when return-on-close is set The helper pnfs_roc() has already verified that we have no delegations, and no further open files, hence no outstanding I/O and it has marked all the return-on-close lsegs as being invalid. Furthermore, it sets the NFS_LAYOUT_RETURN bit, thus serialising the close/delegreturn with all future layoutget calls on this inode. The checks in pnfs_roc_drain() for valid layout segments are therefore redundant: those cannot exist until another layoutget completes. The other check for whether or not NFS_LAYOUT_RETURN is set, actually causes a hang, since we already know that we hold that flag. To fix, we therefore strip out all the functionality in pnfs_roc_drain() except the retrieval of the barrier state, and then rename the function accordingly. Reported-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Fixes: 5c4a79fb2b1c ("Don't prevent layoutgets when doing return-on-close") Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit b5f5914cb8a2745ee4edc9d7f3596d596f1ea1b0 Merge: 15cf3b7 4e317ce Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 23:52:47 2015 -0400 Merge branch 'ufs' into for-next commit 15cf3b7afd94895f86ef10aa313053ad1c0f463d Merge: 2c6625c 8129ed2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 23:43:29 2015 -0400 Merge branch 'sb_writers_pcpu_rwsem' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc into for-next commit def63be85fe774477fb66043003e5b2ee748c4fa Merge: 1c8aa21 56d1392 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 20:21:32 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-08-18 This series contains updates to igb, e100, e1000e and ixgbe. Shota Suzuki provides a fix for a possible overflow in igb_set_interrupt_capability() which leads to an oops. When changing the number of queues by "ethtool -L", set IGB_FLAG_QUEUE_PAIRS in the same manner as when initializing the igb driver. Vasily Averin provides a fix for a missing rtnl_unlock() for when we error out due to not being able to allocate memory for our queues. Stefan Assman provides a couple of fixes for igb/igbvf. First changes the igb driver in probe to simply call igb_enable_sriov() instead of igb_sriov_reinit() since we are starting from scratch. Then in igbvf, fix the driver where it does not clear the buffer_info->dma in all cases after calling dma_unmap_single(), which was found by changing the MTU twice. Richard Cochran implements the periodic output function using the programmable clock outputs available in i210 when possible, falling back to the target time for longer periods. Todd adds support for the Marvell PHY 1512 which is required for i354 devices. Then updates igb to make sure SR-IOV init uses the correct number of queues, since recent changes could result in the PF holding onto all of the queues. Alex Williamson provides a fix in the case where a guest OS does not support hot-unplug, so disable SR-IOV prior to unregister_netdev() to avoid the problem. Jia-Ju Bai provides several patches, first knocks some collecting dust off an old e100 driver to add a check to avoid a null pointer dereference. Then cleans up a possible resource leak by releasing the skb buffer allocated when the e100_xmit_prepare() runs into an issue in the DMA mapping. In igb, add a missing rtnl_unlock() for when we error out due to igb_sriov_reinit() in the igb_init_interrupt_scheme(). Provides a e1000e fix, based on suggestions from Alex Duyck to move head/tail register writing to e1000_configure_tx/rx() to avoid a possible null pointer dereference (similar to igb driver). Lastly, fix a possible memory leak in igb_probe(), where the memory shadow_vfta allocated by kcalloc in igb_sw_init() is not freed. Mark simplifies port-specific macros for ixgbe by eliminating explicit comparisons with 0 and enclose formal parameters in parens to eliminate the risk of an operator precedence issue. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c8aa215ec060f5df64ff99b088e8a97f45efb0b Merge: 954591b 58aa908 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 20:16:53 2015 -0700 Merge branch 'vrf-next' Nikolay Aleksandrov says: ==================== vrf: a few simplifications and cleanups These patches remove some unnecessary checks (patches 3, 4), unnecessary num_slaves member and refcnt manipulations which are already done by the upper functions. ==================== Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58aa90875da1ab075d712585305d1e520812bbb1 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 20:28:04 2015 +0300 vrf: simplify the netdev notifier function We can drop the check because if vrf_ptr is present then we must have the vrf device as a master and since we're running with rtnl it can't go away. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a4a27d3bde1c9cd8159c86a79796348cab90140 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 20:28:03 2015 +0300 vrf: don't check for dstats and rth in uninit path dstats and rth are always present because we fail the device registration if they can't be allocated in vrf_init() (ndo_init) so drop the unnecessary checks. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db5dbec5ef2d4565bb8d42709802de66b06f9965 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 20:28:02 2015 +0300 vrf: drop unused num_slaves member slave_queue has a num_slaves member which is unused, drop it. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17d95f5ee2ba45a9771c97eb1037dfff1d51b064 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 20:28:01 2015 +0300 vrf: drop unnecessary dev refcnt changes netdev_master_upper_dev_link/unlink already do a dev_hold/put on the devices being linked, so no need to take another reference. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 954591b9f3b43e7015bdd83acaa317658a9b7048 Author: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Date: Tue Aug 18 20:06:32 2015 -0700 hv_netvsc: Fix dereference of nvdev before check Passes static analysis by Smatch. Signed-off-by: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 415bcb5c6eff630967baa4e671cebe883d83ee79 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Tue Aug 18 21:04:35 2015 -0400 staging/lustre/o2iblnd: remove references to ib_reg_phsy_mr() Removed references to ib_reg_phsy_mr() and PMR which was added to deal with some Chelsio specific scenario, but no longer needed now. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Amir Shehata <amir.shehata@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d79849903e00fb445038ddd8afb2acfbf89eb7f Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Tue Aug 18 18:42:09 2015 +0200 lwtunnel: ip tunnel: fix multiple routes with different encap Currently, two routes going through the same tunnel interface are considered the same even when they are routed to a different host after encapsulation. This causes all routes added after the first one to have incorrect encapsulation parameters. This is nicely visible by doing: # ip r a 192.168.1.2/32 dev vxlan0 tunnel dst 10.0.0.2 # ip r a 192.168.1.3/32 dev vxlan0 tunnel dst 10.0.0.3 # ip r [...] 192.168.1.2/32 tunnel id 0 src 0.0.0.0 dst 10.0.0.2 [...] 192.168.1.3/32 tunnel id 0 src 0.0.0.0 dst 10.0.0.2 [...] Implement the missing comparison function. Fixes: 3093fbe7ff4bc ("route: Per route IP tunnel metadata via lightweight tunnel") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df383e6240ef222703648072dafd2a1ae21b0d2a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Tue Aug 18 18:41:13 2015 +0200 lwtunnel: fix memory leak The built lwtunnel_state struct has to be freed after comparison. Fixes: 571e722676fe3 ("ipv4: support for fib route lwtunnel encap attributes") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c938a003448063382e0575aee2d381d4cd7aec34 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 12:31:44 2015 +0300 cxgb4: memory corruption in debugfs You can't use kstrtoul() with an int or it causes memory corruption. Also j should be unsigned or we have underflow bugs. I considered changing "j" to unsigned long but everything fits in a u32. Fixes: 8e3d04fd7d70 ('cxgb4: Add MPS tracing support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc3e00f04cc1fe033a289c2fc2e5c73c0168d360 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:59:10 2015 +0200 mtd: pxa3xx_nand: add a default chunk size When keeping the configuration set by the bootloader (by using the marvell,nand-keep-config property), the pxa3xx_nand_detect_config() function is called and set the chunk size to 512 as a default value if NDCR_PAGE_SZ is not set. In the other case, when not keeping the bootloader configuration, no chunk size is set. Fix this by adding a default chunk size of 512. Fixes: 70ed85232a93 ("mtd: nand: pxa3xx: Introduce multiple page I/O support") Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@free> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0f0aca5d50ced8d8c18c7982a6b6332182b70e33 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Aug 18 21:03:13 2015 +0800 mtd: omap_elm: Fix module alias Remove extra space after the "platform:" prefix and make the alias matches driver name. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7e0c19c9608483808e6b5c294e357fa456f058e1 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Fri Jul 17 11:37:52 2015 +0100 mtd: physmap_of: fix null pointer deference when kzalloc returns null static analysis by smatch caught the following error: drivers/mtd/maps/physmap_of.c:135 of_get_probes() error: potential null dereference 'res'. (kzalloc returns null) Check for failed kzalloc and return -ENOMEM in of_flash_probe if this occurs. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3d751af2cbe9a73a869986a18e865f8a34265052 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:35:04 2015 +1000 xfs: flush entire file on dio read/write to cached file Filesystems are responsible to manage file coherency between the page cache and direct I/O. The generic dio code flushes dirty pages over the range of a dio to ensure that the dio read or a future buffered read returns the correct data. XFS has generally followed this pattern, though traditionally has flushed and invalidated the range from the start of the I/O all the way to the end of the file. This changed after the following commit: 7d4ea3ce xfs: use ranged writeback and invalidation for direct IO ... as the full file flush was no longer necessary to deal with the strange post-eof delalloc issues that were since fixed. Unfortunately, we have since received complaints about performance degradation due to the increased exclusive iolock cycles (which locks out parallel dio submission) that occur when a file has cached pages. This does not occur on filesystems that use the generic code as it also does not incorporate locking. The exclusive iolock is acquired any time the inode mapping has cached pages, regardless of whether they reside in the range of the I/O or not. If not, the flush/inval calls do no work and the lock was cycled for no reason. Under consideration of the cost of the exclusive iolock, update the dio read and write handlers to flush and invalidate the entire mapping when cached pages exist. In most cases, this increases the cost of the initial flush sequence but eliminates the need for further lock cycles and flushes so long as the workload does not actively mix direct and buffered I/O. This also more closely matches historical behavior and performance characteristics that users have come to expect. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ffeecc5213024ae663377b442eedcfbacf6d0c5d Author: Jan Kara <jack@xxxxxxxx> Date: Wed Aug 19 10:34:32 2015 +1000 xfs: Fix xfs_attr_leafblock definition struct xfs_attr_leafblock contains 'entries' array which is declared with size 1 altough it can in fact contain much more entries. Since this array is followed by further struct members, gcc (at least in version 4.8.3) thinks that the array has the fixed size of 1 element and thus may optimize away all accesses beyond the end of array resulting in non-working code. This problem was only observed with userspace code in xfsprogs, however it's better to be safe in kernel as well and have matching kernel and xfsprogs definitions. cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2f123bce18943fff819bc10f8868ffb9149fc622 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Wed Aug 19 10:33:58 2015 +1000 libxfs: readahead of dir3 data blocks should use the read verifier In the dir3 data block readahead function, use the regular read verifier to check the block's CRC and spot-check the block contents instead of directly calling only the spot-checking routine. This prevents corrupted directory data blocks from being read into the kernel, which can lead to garbage ls output and directory loops (if say one of the entries contains slashes and other junk). cc: <stable@xxxxxxxxxxxxxxx> # 3.12 - 4.2 Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 11c7e0e2f91fdfdf9f7b4d107bc93d6c298c95fe Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Fri Aug 14 01:37:47 2015 +0300 mtd: nettel: do not ignore mtd_device_register() failure in nettel_init() If mtd_device_register() fails in nettel_init(), iomap left mapped. The patch adds failure handling for mtd_device_register(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit dbad7c993053d8f482a5f76270a93307537efd8e Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:33:00 2015 +1000 xfs: stop holding ILOCK over filldir callbacks The recent change to the readdir locking made in 40194ec ("xfs: reinstate the ilock in xfs_readdir") for CXFS directory sanity was probably the wrong thing to do. Deep in the readdir code we can take page faults in the filldir callback, and so taking a page fault while holding an inode ilock creates a new set of locking issues that lockdep warns all over the place about. The locking order for regular inodes w.r.t. page faults is io_lock -> pagefault -> mmap_sem -> ilock. The directory readdir code now triggers ilock -> page fault -> mmap_sem. While we cannot deadlock at this point, it inverts all the locking patterns that lockdep normally sees on XFS inodes, and so triggers lockdep. We worked around this with commit 93a8614 ("xfs: fix directory inode iolock lockdep false positive"), but that then just moved the lockdep warning to deeper in the page fault path and triggered on security inode locks. Fixing the shmem issue there just moved the lockdep reports somewhere else, and now we are getting false positives from filesystem freezing annotations getting confused. Further, if we enter memory reclaim in a readdir path, we now get lockdep warning about potential deadlocks because the ilock is held when we enter reclaim. This, again, is different to a regular file in that we never allow memory reclaim to run while holding the ilock for regular files. Hence lockdep now throws ilock->kmalloc->reclaim->ilock warnings. Basically, the problem is that the ilock is being used to protect the directory data and the inode metadata, whereas for a regular file the iolock protects the data and the ilock protects the metadata. From the VFS perspective, the i_mutex serialises all accesses to the directory data, and so not holding the ilock for readdir doesn't matter. The issue is that CXFS doesn't access directory data via the VFS, so it has no "data serialisaton" mechanism. Hence we need to hold the IOLOCK in the correct places to provide this low level directory data access serialisation. The ilock can then be used just when the extent list needs to be read, just like we do for regular files. The directory modification code can take the iolock exclusive when the ilock is also taken, and this then ensures that readdir is correct excluded while modifications are in progress. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0952c8183c1575a78dc416b5e168987ff98728bb Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:32:49 2015 +1000 xfs: clean up inode lockdep annotations Lockdep annotations are a maintenance nightmare. Locking has to be modified to suit the limitations of the annotations, and we're always having to fix the annotations because they are unable to express the complexity of locking heirarchies correctly. So, next up, we've got more issues with lockdep annotations for inode locking w.r.t. XFS_LOCK_PARENT: - lockdep classes are exclusive and can't be ORed together to form new classes. - IOLOCK needs multiple PARENT subclasses to express the changes needed for the readdir locking rework needed to stop the endless flow of lockdep false positives involving readdir calling filldir under the ILOCK. - there are only 8 unique lockdep subclasses available, so we can't create a generic solution. IOWs we need to treat the 3-bit space available to each lock type differently: - IOLOCK uses xfs_lock_two_inodes(), so needs: - at least 2 IOLOCK subclasses - at least 2 IOLOCK_PARENT subclasses - MMAPLOCK uses xfs_lock_two_inodes(), so needs: - at least 2 MMAPLOCK subclasses - ILOCK uses xfs_lock_inodes with up to 5 inodes, so needs: - at least 5 ILOCK subclasses - one ILOCK_PARENT subclass - one RTBITMAP subclass - one RTSUM subclass For the IOLOCK, split the space into two sets of subclasses. For the MMAPLOCK, just use half the space for the one subclass to match the non-parent lock classes of the IOLOCK. For the ILOCK, use 0-4 as the ILOCK subclasses, 5-7 for the remaining individual subclasses. Because they are now all different, modify xfs_lock_inumorder() to handle the nested subclasses, and to assert fail if passed an invalid subclass. Further, annotate xfs_lock_inodes() to assert fail if an invalid combination of lock primitives and inode counts are passed that would result in a lockdep subclass annotation overflow. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 7df1c170b9a45ab3a7401c79bbefa9939bf8eafb Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:32:33 2015 +1000 xfs: swap leaf buffer into path struct atomically during path shift The node directory lookup code uses a state structure that tracks the path of buffers used to search for the hash of a filename through the leaf blocks. When the lookup encounters a block that ends with the requested hash, but the entry has not yet been found, it must shift over to the next block and continue looking for the entry (i.e., duplicate hashes could continue over into the next block). This shift mechanism involves walking back up and down the state structure, replacing buffers at the appropriate btree levels as necessary. When a buffer is replaced, the old buffer is released and the new buffer read into the active slot in the path structure. Because the buffer is read directly into the path slot, a buffer read failure can result in setting a NULL buffer pointer in an active slot. This throws off the state cleanup code in xfs_dir2_node_lookup(), which expects to release a buffer from each active slot. Instead, a BUG occurs due to a NULL pointer dereference: BUG: unable to handle kernel NULL pointer dereference at 00000000000001e8 IP: [<ffffffffa0585063>] xfs_trans_brelse+0x2a3/0x3c0 [xfs] ... RIP: 0010:[<ffffffffa0585063>] [<ffffffffa0585063>] xfs_trans_brelse+0x2a3/0x3c0 [xfs] ... Call Trace: [<ffffffffa05250c6>] xfs_dir2_node_lookup+0xa6/0x2c0 [xfs] [<ffffffffa0519f7c>] xfs_dir_lookup+0x1ac/0x1c0 [xfs] [<ffffffffa055d0e1>] xfs_lookup+0x91/0x290 [xfs] [<ffffffffa05580b3>] xfs_vn_lookup+0x73/0xb0 [xfs] [<ffffffff8122de8d>] lookup_real+0x1d/0x50 [<ffffffff8123330e>] path_openat+0x91e/0x1490 [<ffffffff81235079>] do_filp_open+0x89/0x100 ... This has been reproduced via a parallel fsstress and filesystem shutdown workload in a loop. The shutdown triggers the read error in the aforementioned codepath and causes the BUG in xfs_dir2_node_lookup(). Update xfs_da3_path_shift() to update the active path slot atomically with respect to the caller when a buffer is replaced. This ensures that the caller always sees the old or new buffer in the slot and prevents the NULL pointer dereference. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 1b867d3ab562b6b03e46113fad3e87b05fbfbb85 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:32:14 2015 +1000 xfs: relocate sparse inode mount warning The sparse inodes feature is currently considered experimental. We warn at mount time from xfs_mount_validate_sb(). This function is part of the superblock verifier codepath, however, which means it could be invoked repeatedly on superblock reads or writes. This is currently only noticeable from userspace, where mkfs produces multiple warnings at format time. As mkfs warnings were not the intent of this change, relocate the mount time warning to xfs_fs_fill_super(), which is only invoked once and only in kernel space. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 928634514bc53f66631a731bf623157c913b145e Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:32:01 2015 +1000 xfs: dquots should be stamped with sb_meta_uuid Once the sb_uuid is changed, the wrong uuid is stamped into new dquots on disk. Found by inspection, verified by generic/219. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fcfbe2c4ef4243cc11a1cd64ee1b4907b6afea06 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:31:54 2015 +1000 xfs: log recovery needs to validate against sb_meta_uuid Now that sb_uuid can be changed by the user, we cannot use this to validate the metadata blocks being recovered belong to this filesystem. We must check against the sb_meta_uuid as that will remain unchanged. There is a complication in this code - the superblock itself. We can not check the sb_meta_uuid unconditionally, as that may not be set on disk. Hence we must verify the superblock sb_uuid matches between the log record and the in-core superblock. Found by inspection after the previous two problems were found. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ac383de20d468a75e7023caf06dcf6606cd85220 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:31:41 2015 +1000 xfs: growfs not aware of sb_meta_uuid Adding this simple change to xfstests:common/rc::_scratch_mkfs_xfs: + if [ $mkfs_status -eq 0 ]; then + xfs_admin -U generate $SCRATCH_DEV > /dev/null + fi triggers all sorts of errors in xfstests. xfs/104 is an example, where growfs fails with a UUID mismatch corruption detected by xfs_agf_write_verify() when trying to write the first new AG headers. Fix this problem by making sure we copy the sb_meta_uuid into new metadata written by growfs. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit bbf155add09e1f0179eca89e0999cf28d335ca0a Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:31:18 2015 +1000 xfs: fix sb_meta_uuid usage After changing the UUID on a v5 filesystem, xfstests fails immediately on a debug kernel with: XFS: Assertion failed: uuid_equal(&ip->i_d.di_uuid, &mp->m_sb.sb_uuid), file: fs/xfs/xfs_inode.c, line: 799 This needs to check against the sb_meta_uuid, not the user visible UUID that was changed. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit c400ee3ed1b13d45adde68e12254dc6ab6977b59 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Wed Aug 19 10:30:48 2015 +1000 xfs: set XFS_DA_OP_OKNOENT in xfs_attr_get It's entirely possible for userspace to ask for an xattr which does not exist. Normally, there is no problem whatsoever when we ask for such a thing, but when we look at an obfuscated metadump image on a debug kernel with selinux, we trip over this ASSERT in xfs_da3_path_shift(): *result = -ENOENT; /* we're out of our tree */ ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); It (more or less) only shows up in the above scenario, because xfs_metadump obfuscates attr names, but chooses names which keep the same hash value - and xfs_da3_node_lookup_int does: if (((retval == -ENOENT) || (retval == -ENOATTR)) && (blk->hashval == args->hashval)) { error = xfs_da3_path_shift(state, &state->path, 1, 1, &retval); IOWS, we only get down to the xfs_da3_path_shift() ASSERT if we are looking for an xattr which doesn't exist, but we find xattrs on disk which have the same hash, and so might be a hash collision, so we try the path shift. When *that* fails to find what we're looking for, we hit the assert about XFS_DA_OP_OKNOENT. Simply setting XFS_DA_OP_OKNOENT in xfs_attr_get solves this rather corner-case problem with no ill side effects. It's fine for an attr name lookup to fail. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit af83a67cad1452d48ecd77792f9218f26c445650 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:04:24 2015 +0300 mtd: denali_pci: switch to dev_err() It is better to have device name prefixed the actual error message. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit add243d5bc371eef66f81c9da4fd4b55a18dad23 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:04:23 2015 +0300 mtd: denali_pci: refactor driver using devres API In recent kernels we have a lot of helper functions, including devres API, to make life of device driver developer easy. Convert the driver using devm_kzalloc() and pcim_enable_device(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2445d33d852320d4ce700b2428d60991f8cf478f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:04:22 2015 +0300 mtd: denali_pci: use module_pci_driver() macro Let's use module_pci_driver() macro to reduce code base of the driver. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 04868a67ed582e845bf14a5a7789f8bdb3faadd3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:04:21 2015 +0300 mtd: denali: hide core part from user in Kconfig There is no need to user to see the core part of the driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5be203ad115c1d8294e8685253e05fcea0202e04 Merge: 5461ad9 d4a97a0 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Aug 19 10:10:47 2015 +1000 Merge branch 'xfs-efi-rework' into for-next commit d4a97a04227d5ba91b91888a016e2300861cfbc7 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:01:40 2015 +1000 xfs: add missing bmap cancel calls in error paths If a failure occurs after the bmap free list is populated and before xfs_bmap_finish() completes successfully (which returns a partial list on failure), the bmap free list must be cancelled. Otherwise, the extent items on the list are never freed and a memory leak occurs. Several random error paths throughout the code suffer this problem. Fix these up such that xfs_bmap_cancel() is always called on error. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 146e54b71ea4b998d65c25964807ff6792bbf436 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:01:08 2015 +1000 xfs: add helper to conditionally remove items from the AIL Several areas of code duplicate a pattern where we take the AIL lock, check whether an item is in the AIL and remove it if so. Create a new helper for this pattern and use it where appropriate. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> commit f307080a626569f89bc8fbad9f936b307aded877 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:00:53 2015 +1000 xfs: fix btree cursor error cleanups The btree cursor cleanup function takes an error parameter that affects how buffers are released from the cursor. All buffers are released in the event of error. Several callers do not specify the XFS_BTREE_ERROR flag in the event of error, however. This can cause buffers to hang around locked or with an elevated hold count and thus lead to umount hangs in the event of errors. Fix up the xfs_btree_del_cursor() callers to pass XFS_BTREE_ERROR if the cursor is being torn down due to error. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0ae120f8a81a8dc4f974d0819c97b58c4fa935ac Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:00:28 2015 +1000 xfs: clean up root inode properly on mount failure The root inode is read as part of the xfs_mountfs() sequence and the reference is dropped in the event of failure after we grab the inode. The reference drop doesn't necessarily free the inode, however. It marks it for reclaim and potentially kicks off the reclaim workqueue. The workqueue is destroyed further up the error path, which means we are subject to crash if the workqueue job runs after this point or a memory leak which is identified if the xfs_inode_zone is destroyed (e.g., on module removal). Both of these outcomes are reproducible via manual instrumentation of a mount error after the root inode xfs_iget() call in xfs_mountfs(). Update the xfs_mountfs() error path to cancel any potential reclaim work items and to run a synchronous inode reclaim if the root inode is marked for reclaim. This ensures that no jobs remain on the queue before it is destroyed and that the root inode is freed before the reclaim mechanism is torn down. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a3f20014659a1566a4e516e2bf95287960fe2c44 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:59:50 2015 +1000 xfs: checksum log record ext headers based on record size The first 4 bytes of every basic block in the physical log is stamped with the current lsn. To support this mechanism, the log record header (first block of each new log record) contains space for the original first byte of each log record block before it is replaced with the lsn. The log record header has space for 32k worth of blocks. The version 2 log adds new extended record headers for each additional 32k worth of blocks beyond what is supported by the record header. The log record checksum incorporates the log record header, the extended headers and the record payload. xlog_cksum() checksums the extended headers based on log->l_iclog_heads, which specifies the number of extended headers in a log record based on the log buffer size mount option. The log buffer size is variable, however, and thus means the checksum can be calculated differently based on how a filesystem is mounted. This is problematic if a filesystem crashes and recovery occurs on a subsequent mount using a different log buffer size. For example, crash an active filesystem that is mounted with the default (32k) logbsize, attempt remount/recovery using '-o logbsize=64k' and the mount fails on or warns about log checksum failures. To avoid this problem, update xlog_cksum() to calculate the checksum based on the size of the log buffer according to the log record. The size is already included in the h_size field of the log record header and thus is available at log recovery time. Extended log record headers are also only written when the log record is large enough to require them. This makes checksum calculation of log records consistent with the extended record header mechanism as well as how on-disk records are checksummed with various log buffer size mount options. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fc0d1656964fc53fca84549df5a6bd4a16a29cdf Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:59:38 2015 +1000 xfs: fix broken icreate log item cancellation Inode cluster buffers are invalidated and cancelled when inode chunks are freed to notify log recovery that previous logged updates to the metadata buffer should be skipped. This ensures that log recovery does not overwrite buffers that might have already been reused. On v4 filesystems, inode chunk allocation and inode updates are logged via the cluster buffers and thus cancellation is easily detected via buffer cancellation items. v5 filesystems use the new icreate transaction, which uses logical logging and ordered buffers to log a full inode chunk allocation at once. The resulting icreate item often spans multiple inode cluster buffers. Log recovery checks for cancelled buffers when processing icreate log items, but it has a couple problems. First, it uses the full length of the inode chunk rather than the cluster size. Second, it uses the length in FSB units rather than BB units. Either of these problems prevent icreate recovery from identifying cancelled buffers and thus inode initialization proceeds unconditionally. Update xlog_recover_do_icreate_pass2() to iterate the icreate range in cluster sized increments and check each increment for cancellation. Since icreate is currently only used for the minimum atomic inode chunk allocation, we expect that either all or none of the buffers will be cancelled. Cancel the icreate if at least one buffer is cancelled to avoid making a bad situation worse by initializing a partial inode chunk, but detect such anomalies and warn the user. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 78d57e4593bf700e1a4447e3a7769da8dd0e0844 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:58:48 2015 +1000 xfs: icreate log item recovery and cancellation tracepoints Various log items have recovery tracepoints to identify whether a particular log item is recovered or cancelled. Add the equivalent tracepoints for the icreate transaction. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f0b2efad16e78623b5a156f6e4e9166907b83155 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:58:36 2015 +1000 xfs: don't leave EFIs on AIL on mount failure Log recovery occurs in two phases at mount time. In the first phase, EFIs and EFDs are processed and potentially cancelled out. EFIs without EFD objects are inserted into the AIL for processing and recovery in the second phase. xfs_mountfs() runs various other operations between the phases and is thus subject to failure. If failure occurs after the first phase but before the second, pending EFIs sit on the AIL, pin it and cause the mount to hang. Update the mount sequence to ensure that pending EFIs are cancelled in the event of failure. Add a recovery cancellation mechanism to iterate the AIL and cancel all EFI items when requested. Plumb cancellation support through the log mount finish helper and update xfs_mountfs() to invoke cancellation in the event of failure after recovery has started. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e32a1d1fbf6eb2bdc24aa0502e827ff4d2234604 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:52:21 2015 +1000 xfs: use EFI refcount consistently in log recovery The EFI is initialized with a reference count of 2. One for the EFI to ensure the item makes it to the AIL and one for the subsequently created EFD to release the EFI once the EFD is committed. Log recovery uses the EFI in a similar manner, but implements a hack to remove both references in one call once the EFD is handled. Update log recovery to use EFI reference counting in a manner consistent with the log. When an EFI is encountered during recovery, an EFI item is allocated and inserted to the AIL directly. Since the EFI reference is typically dropped when the EFI is unpinned and this is analogous with AIL insertion, drop the EFI reference at this point. When a corresponding EFD is encountered in the log, this indicates that the extents were freed, no processing is required and the EFI can be dropped. Update xlog_recover_efd_pass2() to simply drop the EFD reference at this point rather than open code the AIL removal and EFI free. Remaining EFIs (i.e., with no corresponding EFD) are processed in xlog_recover_finish(). An EFD transaction is allocated and the extents are freed, which transfers ownership of the EFI reference to the EFD item in the log. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 6bc43af3d5f507254b8de2058ea51f6ec998ae52 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:51:43 2015 +1000 xfs: ensure EFD trans aborts on log recovery extent free failure Log recovery attempts to free extents with leftover EFIs in the AIL after initial processing. If the extent free fails (e.g., due to unrelated fs corruption), the transaction is cancelled, though it might not be dirtied at the time. If this is the case, the EFD does not abort and thus does not release the EFI. This can lead to hangs as the EFI pins the AIL. Update xlog_recover_process_efi() to log the EFD in the transaction before xfs_free_extent() errors are handled to ensure the transaction is dirty, aborts the EFD and releases the EFI on error. Since this is a requirement for EFD processing (and consistent with xfs_bmap_finish()), update the EFD logging helper to do the extent free and unconditionally log the EFD. This encodes the required EFD logging behavior into the helper and reduces the likelihood of errors down the road. [dchinner: re-add xfs_alloc.h to xfs_log_recover.c to fix build failure.] Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8d99fe92fed019e203f458370129fb28b3fb5740 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:51:16 2015 +1000 xfs: fix efi/efd error handling to avoid fs shutdown hangs Freeing an extent in XFS involves logging an EFI (extent free intention), freeing the actual extent, and logging an EFD (extent free done). The EFI object is created with a reference count of 2: one for the current transaction and one for the subsequently created EFD. Under normal circumstances, the first reference is dropped when the EFI is unpinned and the second reference is dropped when the EFD is committed to the on-disk log. In event of errors or filesystem shutdown, there are various potential cleanup scenarios depending on the state of the EFI/EFD. The cleanup scenarios are confusing and racy, as demonstrated by the following test sequence: # mount $dev $mnt # fsstress -d $mnt -n 99999 -p 16 -z -f fallocate=1 \ -f punch=1 -f creat=1 -f unlink=1 & # sleep 5 # killall -9 fsstress; wait # godown -f $mnt # umount ... in which the final umount can hang due to the AIL being pinned indefinitely by one or more EFI items. This can occur due to several conditions. For example, if the shutdown occurs after the EFI is committed to the on-disk log and the EFD committed to the CIL, but before the EFD committed to the log, the EFD iop_committed() abort handler does not drop its reference to the EFI. Alternatively, manual error injection in the xfs_bmap_finish() codepath shows that if an error occurs after the EFI transaction is committed but before the EFD is constructed and logged, the EFI is never released from the AIL. Update the EFI/EFD item handling code to use a more straightforward and reliable approach to error handling. If an error occurs after the EFI transaction is committed and before the EFD is constructed, release the EFI explicitly from xfs_bmap_finish(). If the EFI transaction is cancelled, release the EFI in the unlock handler. Once the EFD is constructed, it is responsible for releasing the EFI under any circumstances (including whether the EFI item aborts due to log I/O error). Update the EFD item handlers to release the EFI if the transaction is cancelled or aborts due to log I/O error. Finally, update xfs_bmap_finish() to log at least one EFD extent to the transaction before xfs_free_extent() errors are handled to ensure the transaction is dirty and EFD item error handling is triggered. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d43ac29be7a174f93a3d26cc1e68668fe86b782f Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:50:13 2015 +1000 xfs: return committed status from xfs_trans_roll() Some callers need to make error handling decisions based on whether the current transaction successfully committed or not. Rename xfs_trans_roll(), add a new parameter and provide a wrapper to preserve existing callers. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 5e4b5386a2c29429add601c8cfb45bb10d80c490 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:50:12 2015 +1000 xfs: disentagle EFI release from the extent count Release of the EFI either occurs based on the reference count or the extent count. The extent count used is either the count tracked in the EFI or EFD, depending on the particular situation. In either case, the count is initialized to the final value and thus always matches the current efi_next_extent value once the EFI is completely constructed. For example, the EFI extent count is increased as the extents are logged in xfs_bmap_finish() and the full free list is always completely processed. Therefore, the count is guaranteed to be complete once the EFI transaction is committed. The EFD uses the efd_nextents counter to release the EFI. This counter is initialized to the count of the EFI when the EFD is created. Thus the EFD, as currently used, has no concept of partial EFI release based on extent count. Given that the EFI extent count is always released in whole, use of the extent count for reference counting is unnecessary. Remove this level of the API and release the EFI based on the core reference count. The efi_next_extent counter remains because it is still used to track the slot to log the next extent to free. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 69d7fde5909b614114343974cfc52cb8ff30b544 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:36 2015 -0700 blkcg: use CGROUP_WEIGHT_* scale for io.weight on the unified hierarchy cgroup is trying to make interface consistent across different controllers. For weight based resource control, the knob should have the range [1, 10000] and default to 100. This patch updates cfq-iosched so that the weight range conforms. The internal calculations have enough range and the widening of the weight range shouldn't cause any problem. * blkcg_policy->cpd_bind_fn() is added. If present, this is invoked when blkcg is attached to a hierarchy. * cfq_cpd_init() is updated to use the new default value on the unified hierarchy. * cfq_cpd_bind() callback is implemented to clear per-blkg configs and apply the default config matching the hierarchy type. * cfqd->root_group->[leaf_]weight initialization in cfq_init_queue() is moved into !CONFIG_CFQ_GROUP_IOSCHED block. cfq_cpd_bind() is now responsible for initializing the initial weights when blkcg is enabled. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3ecca62931ee6a30822a1ab7299bc8b8a21e5288 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:35 2015 -0700 blkcg: s/CFQ_WEIGHT_*/CFQ_WEIGHT_LEGACY_*/ blkcg is gonna switch to cgroup common weight range as defined by CGROUP_WEIGHT_* on the unified hierarchy. In preparation, rename CFQ_WEIGHT_* constants to CFQ_WEIGHT_LEGACY_*. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2ee867dcfa2eaef1063b686da55c35878b2da4a2 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:34 2015 -0700 blkcg: implement interface for the unified hierarchy blkcg interface grew to be the biggest of all controllers and unfortunately most inconsistent too. The interface files are inconsistent with a number of cloes duplicates. Some files have recursive variants while others don't. There's distinction between normal and leaf weights which isn't intuitive and there are a lot of stat knobs which don't make much sense outside of debugging and expose too much implementation details to userland. In the unified hierarchy, everything is always hierarchical and internal nodes can't have tasks rendering the two structural issues twisting the current interface. The interface has to be updated in a significant anyway and this is a good chance to revamp it as a whole. This patch implements blkcg interface for the unified hierarchy. * (from a previous patch) blkcg is identified by "io" instead of "blkio" on the unified hierarchy. Given that the whole interface is updated anyway, the rename shouldn't carry noticeable conversion overhead. * The original interface consisted of 27 files is replaced with the following three files. blkio.stat : per-blkcg stats blkio.weight : per-cgroup and per-cgroup-queue weight settings blkio.max : per-cgroup-queue bps and iops max limits Documentation/cgroups/unified-hierarchy.txt updated accordingly. v2: blkcg_policy->dfl_cftypes wasn't removed on blkcg_policy_unregister() corrupting the cftypes list. Fixed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dd165eb3bb4ef16bcdb75417add40633f38c52b8 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:33 2015 -0700 blkcg: misc preparations for unified hierarchy interface * Export blkg_dev_name() * Drop unnecessary @cft from __cfq_set_weight(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 69948b070ee2bc3cc253e862cbe2bb09b173d7bd Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:32 2015 -0700 blkcg: separate out tg_conf_updated() from tg_set_conf() tg_set_conf() is largely consisted of parsing and setting the new config and the follow-up application and propagation. This patch separates out the latter part into tg_conf_updated(). This will be used to implement interface for the unified hierarchy. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 36aa9e5f591e84d67aad2c5bff75e413d77660dd Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:31 2015 -0700 blkcg: move body parsing from blkg_conf_prep() to its callers Currently, blkg_conf_prep() expects input to be of the following form MAJ:MIN NUM and reads the NUM part into blkg_conf_ctx->v. This is quite restrictive and gets in the way in implementing blkcg interface for the unified hierarchy. This patch updates blkg_conf_prep() so that it expects MAJ:MIN BODY_STR where BODY_STR is an arbitrary string. blkg_conf_ctx->v is replaced with ->body which is a char pointer pointing to the start of BODY_STR. Parsing of the body is moved to blkg_conf_prep()'s callers. To allow using, for example, strsep() on blkg_conf_ctx->val, it is a non-const pointer and to accommodate that const is dropped from @input too. This doesn't cause any behavior changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 880f50e228f80626dff6327a6e281e40286f5228 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:30 2015 -0700 blkcg: mark existing cftypes as legacy blkcg is about to grow interface for the unified hierarchy. Add legacy to existing cftypes. * blkcg_policy->cftypes -> blkcg_policy->legacy_cftypes * blk-cgroup.c:blkcg_files -> blkcg_legacy_files * cfq-iosched.c:cfq_blkcg_files -> cfq_blkcg_legacy_files * blk-throttle.c:throtl_files -> throtl_legacy_files Pure renames. No functional change. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c165b3e3c7bb68c2ed55a5ac2623f030d01d9567 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:29 2015 -0700 blkcg: rename subsystem name from blkio to io blkio interface has become messy over time and is currently the largest. In addition to the inconsistent naming scheme, it has multiple stat files which report more or less the same thing, a number of debug stat files which expose internal details which shouldn't have been part of the public interface in the first place, recursive and non-recursive stats and leaf and non-leaf knobs. Both recursive vs. non-recursive and leaf vs. non-leaf distinctions don't make any sense on the unified hierarchy as only leaf cgroups can contain processes. cgroups is going through a major interface revision with the unified hierarchy involving significant fundamental usage changes and given that a significant portion of the interface doesn't make sense anymore, it's a good time to reorganize the interface. As the first step, this patch renames the external visible subsystem name from "blkio" to "io". This is more concise, matches the other two major subsystem names, "cpu" and "memory", and better suited as blkcg will be involved in anything writeback related too whether an actual block device is involved or not. As the subsystem legacy_name is set to "blkio", the only userland visible change outside the unified hierarchy is that blkcg is reported as "io" instead of "blkio" in the subsystem initialized message during boot. On the unified hierarchy, blkcg now appears as "io". Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: cgroups@xxxxxxxxxxxxxxx Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 20386ce0143899ccb5bcbda714436a82d3029f33 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:28 2015 -0700 blkcg: refine error codes returned during blkcg configuration blkcg currently returns -EINVAL for most errors which can be pretty confusing given that the failure modes are quite varied. Update the error returns so that * -EINVAL only for syntactic errors. * -ERANGE if the value is out of range. * -ENODEV if the target device can't be found. * -EOPNOTSUPP if the policy is not enabled on the target device. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5332dfc36483d2373d980526145789a354af2d49 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:27 2015 -0700 blkcg: remove unnecessary NULL checks from __cfqg_set_weight_device() blkg_to_cfqg() and blkcg_to_cfqgd() on a valid blkg with the policy enabled are guaranteed to return non-NULL and the counterpart in blk-throttle doesn't have these checks either. Remove the spurious NULL checks. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3a7faeada20d72f07d3a7b13454859025cd50a36 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:26 2015 -0700 blkcg: reduce stack usage of blkg_rwstat_recursive_sum() The recent percpu conversion of blkg_rwstat triggered the following warning in certain configurations. block/blk-cgroup.c:654:1: warning: the frame size of 1360 bytes is larger than 1024 bytes This is because blkg_rwstat now contains four percpu_counter which can be pretty big depending on debug options although it shouldn't be a problem in production configs. This patch removes one of the two local blkg_rwstat variables used by blkg_rwstat_recursive_sum() to reduce stack usage. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Link: http://article.gmane.org/gmane.linux.kernel.cgroups/13835 Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 702747cabe737fe9b358739443d539f10cc7c715 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:25 2015 -0700 blkcg: remove cfqg_stats->sectors cfq_stats->sectors is a blkg_stat which keeps track of the total number of sectors serviced; however, this can be trivially calculated from blkcg_gq->stat_bytes. The only thing necessary is adding up READs and WRITEs and then dividing by sector size. Remove cfqg_stats->sectors and make cfq print "sectors" and "sectors_recursive" from stat_bytes. While this is a bit more code, it removes duplicate stat allocations and updates and ensures that the reported stats stay in tune with each other. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 77ea733884eb5520f22c36def1309fe2ab61633e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:24 2015 -0700 blkcg: move io_service_bytes and io_serviced stats into blkcg_gq Currently, both cfq-iosched and blk-throttle keep track of io_service_bytes and io_serviced stats. While keeping track of them separately may be useful during development, it doesn't make much sense otherwise. Also, blk-throttle was counting bio's as IOs while cfq-iosched request's, which is more confusing than informative. This patch adds ->stat_bytes and ->stat_ios to blkg (blkcg_gq), removes the counterparts from cfq-iosched and blk-throttle and let them print from the common blkg counters. The common counters are incremented during bio issue in blkcg_bio_issue_check(). The outputs are still filtered by whether the policy has blkg_policy_data on a given blkg, so cfq's output won't show up if it has never been used for a given blkg. The only times when the outputs would differ significantly are when policies are attached on the fly or elevators are switched back and forth. Those are quite exceptional operations and I don't think they warrant keeping separate counters. v3: Update blkio-controller.txt accordingly. v2: Account IOs during bio issues instead of request completions so that bio-based drivers can be handled the same way. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f12c74cab1635d67077ce8cc40da88b57980f637 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:23 2015 -0700 blkcg: make blkg_[rw]stat_recursive_sum() to be able to index into blkcg_gq Currently, blkg_[rw]stat_recursive_sum() assume that the target counter is located in pd (blkg_policy_data); however, some counters are planned to be moved to blkg (blkcg_gq). This patch updates blkg_[rw]stat_recursive_sum() to take blkg and blkg_policy pointers instead of pd. If policy is NULL, it indexes into blkg. If non-NULL, into the blkg's pd of the policy. The existing usages are updated to maintain the current behaviors. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 24bdb8ef068ebdc2a57ce715f0ab22d5da32832a Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:22 2015 -0700 blkcg: make blkcg_[rw]stat per-cpu blkcg_[rw]stat are used as stat counters for blkcg policies. It isn't per-cpu by itself and blk-throttle makes it per-cpu by wrapping around it. This patch makes blkcg_[rw]stat per-cpu and drop the ad-hoc per-cpu wrapping in blk-throttle. * blkg_[rw]stat->cnt is replaced with cpu_cnt which is struct percpu_counter. This makes syncp unnecessary as remote accesses are handled by percpu_counter itself. * blkg_[rw]stat_init() can now fail due to percpu allocation failure and thus are updated to return int. * percpu_counters need explicit freeing. blkg_[rw]stat_exit() added. * As blkg_rwstat->cpu_cnt[] can't be read directly anymore, reading and summing results are stored in ->aux_cnt[] instead. * Custom per-cpu stat implementation in blk-throttle is removed. This makes all blkcg stat counters per-cpu without complicating policy implmentations. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e6269c44546755094979ab53609e6e203a68c8ff Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:21 2015 -0700 blkcg: add blkg_[rw]stat->aux_cnt and replace cfq_group->dead_stats with it cgroup stats are local to each cgroup and doesn't propagate to ancestors by default. When recursive stats are necessary, the sum is calculated over all the descendants. This initially was for backward compatibility to support both group-local and recursive stats but this mode of operation makes general sense as stat update is much hotter thafn reporting those stats. This however ends up losing recursive stats when a child is removed. To work around this, cfq-iosched adds its stats to its parent cfq_group->dead_stats which is summed up together when calculating recursive stats. It's planned that the core stats will be moved to blkcg_gq, so we want to move the mechanism for keeping track of the stats of dead children from cfq to blkcg core. This patch adds blkg_[rw]stat->aux_cnt which are atomic64_t's keeping track of auxiliary counts which are excluded when reading local counts but included for recursive. blkg_[rw]stat_merge() which were used by cfq to implement dead_stats are replaced by blkg_[rw]stat_add_aux(), and cfq now forwards stats of a dead cgroup to the aux counts of parent->stats instead of separate ->dead_stats. This will also help making blkg_[rw]stats per-cpu. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ae11889636111199dbcf47283b4167f578b69472 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:20 2015 -0700 blkcg: consolidate blkg creation in blkcg_bio_issue_check() blkg (blkcg_gq) currently is created by blkcg policies invoking blkg_lookup_create() which ends up repeating about the same code in different policies. Theoretically, this can avoid the overhead of looking and/or creating blkg's if blkcg is enabled but no policy is in use; however, the cost of blkg lookup / creation is very low especially if only the root blkcg is in use which is highly likely if no blkcg policy is in active use - it boils down to a single very predictable conditional and surrounding RCU protection. This patch consolidates blkg creation to a new function blkcg_bio_issue_check() which is called during bio issue from generic_make_request_checks(). blkcg_bio_issue_check() is now the only function which tries to create missing blkg's. The subsequent policy and request_list operations just perform blkg_lookup() and if missing falls back to the root. * blk_get_rl() no longer tries to create blkg. It uses blkg_lookup() instead of blkg_lookup_create(). * blk_throtl_bio() is now called from blkcg_bio_issue_check() with rcu read locked and blkg already looked up. Both throtl_lookup_tg() and throtl_lookup_create_tg() are dropped. * cfq is similarly updated. cfq_lookup_create_cfqg() is replaced with cfq_lookup_cfqg()which uses blkg_lookup(). This consolidates blkg handling and avoids unnecessary blkg creation retries under memory pressure. In addition, this provides a common bio entry point into blkcg where things like common accounting can be performed. v2: Build fixes for !CONFIG_CFQ_GROUP_IOSCHED and !CONFIG_BLK_DEV_THROTTLING. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c9589f03e490956628ff91a1da133216dc796b63 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:19 2015 -0700 blk-throttle: improve queue bypass handling If a queue is bypassing, all blkcg policies should become noops but blk-throttle wasn't. It only became noop if the queue was dying. While this wouldn't lead to an oops as falling back to the root blkg is safe in this case, this can be a bit surprising - a bypassing queue could still be applying throttle limits. Fix it by removing blk_queue_dying() test in throtl_lookup_create_tg() and testing blk_queue_bypass() in blk_throtl_bio() and bypassing before doing anything else. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 85b6bc9db6d5ab6980b43c38b5cbd11d24414ce4 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:18 2015 -0700 blkcg: move root blkg lookup optimization from throtl_lookup_tg() to __blkg_lookup() Currently, both throttle and cfq policies implement their own root blkg (blkcg_gq) lookup fast path. This patch moves root blkg optimization from throtl_lookup_tg() to __blkg_lookup(). cfq-iosched currently doesn't use blkg_lookup() but will be converted and drop the optimization too. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 24f290466f79a6497f1654f64b9a841872cba3ca Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:17 2015 -0700 blkcg: inline [__]blkg_lookup() blkg_lookup() checks whether the target queue is bypassing and, if not, calls __blkg_lookup() which first checks the lookup hint and then performs radix tree walk. The operations upto hint checking are trivial and there are many users of this function. This patch inlines blkg_lookup() and the fast path part of __blkg_lookup(). The radix tree lookup and hint update are now in blkg_lookup_slowpath(). This will help consolidating blkg handling by easing moving root blkcg short-circuit to inlined lookup fast path. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e4a9bde9589fdc51283755cdd75d47b27ca7c6fb Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:16 2015 -0700 blkcg: replace blkcg_policy->cpd_size with ->cpd_alloc/free_fn() methods Each active policy has a cpd (blkcg_policy_data) on each blkcg. The cpd's were allocated by blkcg core and each policy could request to allocate extra space at the end by setting blkcg_policy->cpd_size larger than the size of cpd. This is a bit unusual but blkg (blkcg_gq) policy data used to be handled this way too so it made sense to be consistent; however, blkg policy data switched to alloc/free callbacks. This patch makes similar changes to cpd handling. blkcg_policy->cpd_alloc/free_fn() are added to replace ->cpd_size. As cpd allocation is now done from policy side, it can simply allocate a larger area which embeds cpd at the beginning. As ->cpd_alloc_fn() may be able to perform all necessary initializations, this patch makes ->cpd_init_fn() optional. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 814376483e7d85b69a70634633f1f9d01c6ee0cf Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:15 2015 -0700 blkcg: minor updates around blkcg_policy_data * Rename blkcg->pd[] to blkcg->cpd[] so that cpd is consistently used for blkcg_policy_data. * Make blkcg_policy->cpd_init_fn() take blkcg_policy_data instead of blkcg. This makes it consistent with blkg_policy_data methods and to-be-added cpd alloc/free methods. * blkcg_policy_data->blkcg and cpd_to_blkcg() added so that cpd_init_fn() can determine the associated blkcg from blkcg_policy_data. v2: blkcg_policy_data->blkcg initializations were missing. Added. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit a9520cd6f2ac1fbbf206b915946534c6dddbaae2 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:14 2015 -0700 blkcg: make blkcg_policy methods take a pointer to blkcg_policy_data The newly added ->pd_alloc_fn() and ->pd_free_fn() deal with pd (blkg_policy_data) while the older ones use blkg (blkcg_gq). As using blkg doesn't make sense for ->pd_alloc_fn() and after allocation pd can always be mapped to blkg and given that these are policy-specific methods, it makes sense to converge on pd. This patch makes all methods deal with pd instead of blkg. Most conversions are trivial. In blk-cgroup.c, a couple method invocation sites now test whether pd exists instead of policy state for consistency. This shouldn't cause any behavioral differences. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b2ce2643cc705aa9043642d7b6248ccfd8e20629 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:13 2015 -0700 blk-throttle: clean up blkg_policy_data alloc/init/exit/free methods With the recent addition of alloc and free methods, things became messier. This patch reorganizes them according to the followings. * ->pd_alloc_fn() Responsible for allocation and static initializations - the ones which can be done independent of where the pd might be attached. * ->pd_init_fn() Initializations which require the knowledge of where the pd is attached. * ->pd_free_fn() The counter part of pd_alloc_fn(). Static de-init and freeing. This leaves ->pd_exit_fn() without any users. Removed. While at it, collapse an one liner function throtl_pd_exit(), which has only one user, into its user. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4fb72036fbf9c28de7a64b1d3f19b4ce9da1c6bf Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:12 2015 -0700 blk-throttle: remove asynchrnous percpu stats allocation mechanism Because percpu allocator couldn't do non-blocking allocations, blk-throttle was forced to implement an ad-hoc asynchronous allocation mechanism for its percpu stats for cases where blkg's (blkcg_gq's) are allocated from an IO path without sleepable context. Now that percpu allocator can handle gfp_mask and blkg_policy_data alloc / free are handled by policy methods, the ad-hoc asynchronous allocation mechanism can be replaced with direct allocation from tg_stats_alloc_fn(). Rit it out. This ensures that an active throtl_grp always has valid non-NULL ->stats_cpu. Remove checks on it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 001bea73e70efdf48a9e00188cf302f6b6aed2bf Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:11 2015 -0700 blkcg: replace blkcg_policy->pd_size with ->pd_alloc/free_fn() methods A blkg (blkcg_gq) represents the relationship between a cgroup and request_queue. Each active policy has a pd (blkg_policy_data) on each blkg. The pd's were allocated by blkcg core and each policy could request to allocate extra space at the end by setting blkcg_policy->pd_size larger than the size of pd. This is a bit unusual but was done this way mostly to simplify error handling and all the existing use cases could be handled this way; however, this is becoming too restrictive now that percpu memory can be allocated without blocking. This introduces two new mandatory blkcg_policy methods - pd_alloc_fn() and pd_free_fn() - which are used to allocate and release pd for a given policy. As pd allocation is now done from policy side, it can simply allocate a larger area which embeds pd at the beginning. This change makes ->pd_size pointless. Removed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3e41871046bfe0ba7d122a1f14f0c1db2dca0256 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:10 2015 -0700 blkcg: make blkcg_activate_policy() allow NULL ->pd_init_fn blkg_create() allows NULL ->pd_init_fn() but blkcg_activate_policy() doesn't. As both in-kernel policies implement ->pd_init_fn, it currently doesn't break anything. Update blkcg_activate_policy() so that its behavior is consistent with blkg_create(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4c55f4f9ad3001ac1fefdd8d8ca7641d18558e23 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:09 2015 -0700 blkcg: restructure blkg_policy_data allocation in blkcg_activate_policy() When a policy gets activated, it needs to allocate and install its policy data on all existing blkg's (blkcg_gq's). Because blkg iteration is protected by a spinlock, it currently counts the total number of blkg's in the system, allocates the matching number of policy data on a list and installs them during a single iteration. This can be simplified by using speculative GFP_NOWAIT allocations while iterating and falling back to a preallocated policy data on failure. If the preallocated one has already been consumed, it releases the lock, preallocate with GFP_KERNEL and then restarts the iteration. This can be a bit more expensive than before but policy activation is a very cold path and shouldn't matter. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bc915e61cde25d0b429f536cec9e83039bf23504 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:08 2015 -0700 blkcg: remove unnecessary blkcg_root handling from css_alloc/free paths blkcg_css_alloc() bypasses policy data allocation and blkcg_css_free() bypasses policy data and blkcg freeing for blkcg_root. There's no reason to to treat policy data any differently for blkcg_root. If the root css gets allocated after policies are registered, policy registration path will add policy data; otherwise, the alloc path will. The free path isn't never invoked for root csses. This patch removes the unnecessary special handling of blkcg_root from css_alloc/free paths. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 994b78327458ea14a1743196ee0560c73ace37f3 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:07 2015 -0700 blkcg: use blkg_free() in blkcg_init_queue() failure path When blkcg_init_queue() fails midway after creating a new blkg, it performs kfree() directly; however, this doesn't free the policy data areas. Make it use blkg_free() instead. In turn, blkg_free() is updated to handle root request_list special case. While this fixes a possible memory leak, it's on an unlikely failure path of an already cold path and the size leaked per occurrence is miniscule too. I don't think it needs to be tagged for -stable. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 401efbf835040dd2ebca54f78d58fc8e3c51f91d Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:06 2015 -0700 blkcg: remove unnecessary request_list->blkg NULL test in blk_put_rl() Since ec13b1d6f0a0 ("blkcg: always create the blkcg_gq for the root blkcg"), a request_list always has its blkg associated. Drop unnecessary rl->blkg NULL test from blk_put_rl(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 60a837077e2b5672ebbd4c8bd67ca443951bbc92 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:05 2015 -0700 cfq-iosched: charge async IOs to the appropriate blkcg's instead of the root Up until now, all async IOs were queued to async queues which are shared across the whole request_queue, which means that blkcg resource control is completely void on async IOs including all writeback IOs. It was done this way because writeback didn't support writeback and there was no way of telling which writeback IO belonged to which cgroup; however, writeback recently became cgroup aware and writeback bio's are sent down properly tagged with the blkcg's to charge them against. This patch makes async cfq_queues per-cfq_cgroup instead of per-cfq_data so that each async IO is charged to the blkcg that it was tagged for instead of unconditionally attributing it to root. * cfq_data->async_cfqq and ->async_idle_cfqq are moved to cfq_group and alloc / destroy paths are updated accordingly. * cfq_link_cfqq_cfqg() no longer overrides @cfqg to root for async queues. * check_blkcg_changed() now also invalidates async queues as they no longer stay the same across cgroups. After this patch, cfq's proportional IO control through blkio.weight works correctly when cgroup writeback is in use. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d4aad7ff04dfd00f2a69356a48054d6be84dda31 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:04 2015 -0700 cfq-iosched: fold cfq_find_alloc_queue() into cfq_get_queue() cfq_find_alloc_queue() checks whether a queue actually needs to be allocated, which is unnecessary as its sole caller, cfq_get_queue(), only calls it if so. Also, the oom queue fallback logic is scattered between cfq_get_queue() and cfq_find_alloc_queue(). There really isn't much going on in the latter and things can be made simpler by folding it into cfq_get_queue(). This patch collapses cfq_find_alloc_queue() into cfq_get_queue(). The change is fairly straight-forward with one exception - async_cfqq is now initialized to NULL and the "!is_sync" test in the last if conditional is replaced with "async_cfqq" test. This is because gcc (5.1.1) gets confused for some reason and warns that async_cfqq may be used uninitialized otherwise. Oh well, the code isn't necessarily worse this way. This patch doesn't cause any functional difference. v2: Updated to reflect GFP_ATOMIC -> GPF_NOWAIT. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 322731ed0dd2d8a7f11307e0444257f48580a0de Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:03 2015 -0700 cfq-iosched: move cfq_group determination from cfq_find_alloc_queue() to cfq_get_queue() This is necessary for making async cfq_cgroups per-cfq_group instead of per-cfq_data. While this change makes cfq_get_queue() perform RCU locking and look up cfq_group even when it reuses async queue, the extra overhead is extremely unlikely to be noticeable given that this is already sitting behind cic->cfqq[] cache and the overall cost of cfq operation. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2da8de0bb799bf2bdfa893e5a1e294eb6bafba62 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:02 2015 -0700 cfq-iosched: remove @gfp_mask from cfq_find_alloc_queue() Even when allocations fail, cfq_find_alloc_queue() always returns a valid cfq_queue by falling back to the oom cfq_queue. As such, there isn't much point in taking @gfp_mask and trying "harder" if __GFP_WAIT is set. GFP_NOWAIT allocations don't fail often and even when they do the degraded behavior is acceptable and temporary. After all, the only reason get_request(), which ultimately determines the gfp_mask, cares about __GFP_WAIT is to guarantee request allocation, assuming IO forward progress, for callers which are willing to wait. There's no reason for cfq_find_alloc_queue() to behave differently on __GFP_WAIT when it already has a fallback mechanism. Remove @gfp_mask from cfq_find_alloc_queue() and propagate the changes to its callers. This simplifies the function quite a bit and will help making async queues per-cfq_group. v2: Updated to reflect GFP_ATOMIC -> GPF_NOWAIT. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d93a11f1cd890d4ea72f7cef75fac56801b099b3 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:01 2015 -0700 blkcg, cfq-iosched: use GFP_NOWAIT instead of GFP_ATOMIC for non-critical allocations blkcg performs several allocations to track IOs per cgroup and enforce resource control. Most of these allocations are performed lazily on demand in the IO path and thus can't involve reclaim path. Currently, these allocations use GFP_ATOMIC; however, blkcg can gracefully deal with occassional failures of these allocations by punting IOs to the root cgroup and there's no reason to reach into the emergency reserve. This patch replaces GFP_ATOMIC with GFP_NOWAIT for the following allocations. * bdi_writeback_congested and blkcg_gq allocations in blkg_create(). * radix tree node allocations for blkcg->blkg_tree. * cfq_queue allocation on ioprio changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Suggested-and-Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Suggested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 563180a44b7d7978f44e9776eedfbbc550c2398d Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:00 2015 -0700 cfq-iosched: minor cleanups * Some were accessing cic->cfqq[] directly. Always use cic_to_cfqq() and cic_set_cfqq(). * check_ioprio_changed() doesn't need to verify cfq_get_queue()'s return for NULL. It's always non-NULL. Simplify accordingly. This patch doesn't cause any functional changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bce6133b09013f70d41a678d262a12147ed43889 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:59 2015 -0700 cfq-iosched: fix oom cfq_queue ref leak in cfq_set_request() If the cfq_queue cached in cfq_io_cq is the oom one, cfq_set_request() replaces it by invoking cfq_get_queue() again without putting the oom queue leaking the reference it was holding. While oom queues are not released through reference counting, they're still reference counted and this can theoretically lead to the reference count overflowing and incorrectly invoke the usual release path on it. Fix it by making cfq_set_request() put the ref it was holding. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 95e5d6f62693f27d9011ec307eb32c6126314ea3 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:58 2015 -0700 cfq-iosched: fix async oom queue handling Async cfqq's (cfq_queue's) are shared across cfq_data. When cfq_get_queue() obtains a new queue from cfq_find_alloc_queue(), it stashes the pointer in cfq_data and reuses it from then on; however, the function doesn't consider that cfq_find_alloc_queue() may return the oom_cfqq under memory pressure and installs the returned queue unconditionally. If the oom_cfqq is installed as an async cfqq, cfq_set_request() will continue calling cfq_get_queue() hoping to replace it with a proper queue; however, cfq_get_queue() will keep returning the cached queue for the slot - the oom_cfqq. Fix it by skipping caching if the queue is the oom one. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4ebc1c61d6185604c97fd0b0355ab668052044ab Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:57 2015 -0700 cfq-iosched: simplify control flow in cfq_get_queue() cfq_get_queue()'s control flow looks like the following. async_cfqq = NULL; cfqq = NULL; if (!is_sync) { ... async_cfqq = ...; cfqq = *async_cfqq; } if (!cfqq) cfqq = ...; if (!is_sync && !(*async_cfqq)) ...; The only thing the local variable init, the second if, and the async_cfqq test in the third if achieves is to skip cfqq creation and installation if *async_cfqq was already non-NULL. This is needlessly complicated with different tests examining the same condition. Simplify it to the following. if (!is_sync) { ... async_cfqq = ...; cfqq = *async_cfqq; if (cfqq) goto out; } cfqq = ...; if (!is_sync) ...; out: Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5634cc2aa9aebc77bc862992e7805469dcf83dac Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:56 2015 -0700 writeback: update writeback tracepoints to report cgroup The following tracepoints are updated to report the cgroup used during cgroup writeback. * writeback_write_inode[_start] * writeback_queue * writeback_exec * writeback_start * writeback_written * writeback_wait * writeback_nowork * writeback_wake_background * wbc_writepage * writeback_queue_io * bdi_dirty_ratelimit * balance_dirty_pages * writeback_sb_inodes_requeue * writeback_single_inode[_start] Note that writeback_bdi_register is separated out from writeback_class as reporting cgroup doesn't make sense to it. Tracepoints which take bdi are updated to take bdi_writeback instead. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Suggested-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 9acee9c551f045d2c5b5261aa587331423fd7d92 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:55 2015 -0700 kernfs: implement kernfs_path_len() Add a function to determine the path length of a kernfs node. This for now will be used by writeback tracepoint updates. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 60292bcc1b240a6708aa531c8ece1da2a78d560a Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:54 2015 -0700 writeback: explain why @inode is allowed to be NULL for inode_congested() Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Suggested-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8a1270cda7b473c8ea71a7a44613465fe0708488 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:53 2015 -0700 writeback: remove wb_writeback_work->single_wait/done wb_writeback_work->single_wait/done are used for the wait mechanism for synchronous wb_work (wb_writeback_work) items which are issued when bdi_split_work_to_wbs() fails to allocate memory for asynchronous wb_work items; however, there's no reason to use a separate wait mechanism for this. bdi_split_work_to_wbs() can simply use on-stack fallback wb_work item and separate wb_completion to wait for it. This patch removes wb_work->single_wait/done and the related code and make bdi_split_work_to_wbs() use on-stack fallback wb_work and wb_completion instead. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Suggested-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1ed8d48c57bf7400eac7b8dc622ab0413715cafb Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:52 2015 -0700 writeback: bdi_for_each_wb() iteration is memcg ID based not blkcg wb's (bdi_writeback's) are currently keyed by memcg ID; however, in an earlier implementation, wb's were keyed by blkcg ID. bdi_for_each_wb() walks bdi->cgwb_tree in the ascending ID order and allows iterations to start from an arbitrary ID which is used to interrupt and resume iterations. Unfortunately, while changing wb to be keyed by memcg ID instead of blkcg, bdi_for_each_wb() was missed and is still assuming that wb's are keyed by blkcg ID. This doesn't affect iterations which don't get interrupted but bdi_split_work_to_wbs() makes use of iteration resuming on allocation failures and thus may incorrectly skip or repeat wb's. Fix it by changing bdi_for_each_wb() to take memcg IDs instead of blkcg IDs and updating bdi_split_work_to_wbs() accordingly. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 11743ee0477ab9691d08aa121c583184769d2847 Merge: e162b21 3e1d2ee Author: Jens Axboe <axboe@xxxxxx> Date: Tue Aug 18 15:49:11 2015 -0700 Merge branch 'for-4.3-unified-base' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup into for-4.3/blkcg commit 0dad87fcb732691bfd3183acccda6709e1e759ca Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 26 18:18:54 2015 +0200 eCryptfs: Delete a check before the function call "key_put" The key_put() function tests whether its argument is NULL and then returns immediately. Thus the test around this call might not be needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit 5556e7e6d30e8e9b5ee51b0e5edd526ee80e5e36 Author: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> Date: Wed Aug 5 11:26:36 2015 -0500 eCryptfs: Invalidate dcache entries when lower i_nlink is zero Consider eCryptfs dcache entries to be stale when the corresponding lower inode's i_nlink count is zero. This solves a problem caused by the lower inode being directly modified, without going through the eCryptfs mount, leaving stale eCryptfs dentries cached and the eCryptfs inode's i_nlink count not being cleared. Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> Reported-by: Richard Weinberger <richard@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3af4e5a95184d6d3c1c6a065f163faa174a96a1d Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Mon Aug 10 12:06:53 2015 -0400 HID: usbhid: Fix the check for HID_RESET_PENDING in hid_io_error It was reported that after 10-20 reboots, a usb keyboard plugged into a docking station would not work unless it was replugged in. Using usbmon, it turns out the interrupt URBs were streaming with callback errors of -71 for some reason. The hid-core.c::hid_io_error was supposed to retry and then reset, but the reset wasn't really happening. The check for HID_NO_BANDWIDTH was inverted. Fix was simple. Tested by reporter and locally by me by unplugging a keyboard halfway until I could recreate a stream of errors but no disconnect. Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit ff2d92066429d1ba21cea64543264563477ad4da Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Fri Aug 14 22:46:25 2015 -0400 ARM: add TC2 PM support to multi_v7_defconfig Without this, the multi_v7_defconfig kernel cannot boot all CPUs nor do deep cpuidle power saving on a TC2 board. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3dc33e23227de8d854a665157cf465303e7cbbce Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 14:24:18 2015 -0700 enic: Fix namespace pollution causing build errors. drivers/net/built-in.o: In function `.vnic_wq_devcmd2_alloc': (.text+0x49fe40): multiple definition of `.vnic_wq_devcmd2_alloc' drivers/scsi/built-in.o:(.text+0xb4318): first defined here drivers/net/built-in.o:(.opd+0x2af00): multiple definition of `vnic_wq_devcmd2_alloc' drivers/scsi/built-in.o:(.opd+0xad70): first defined here drivers/net/built-in.o: In function `.vnic_wq_init_start': (.text+0x49f9c0): multiple definition of `.vnic_wq_init_start' drivers/scsi/built-in.o:(.text+0xb3b58): first defined here drivers/net/built-in.o:(.opd+0x2ae88): multiple definition of `vnic_wq_init_start' drivers/scsi/built-in.o:(.opd+0xace0): first defined here Rename these to 'enic_*' to avoid the conflict with the functiosn of the same name in the snic scsi driver. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f34fa14cc033239037622dbe84faf53923bb7e74 Author: Rajesh Borundia <Rajesh.Borundia@xxxxxxxxxx> Date: Tue Aug 18 10:22:59 2015 +0300 bnx2x: Add vxlan RSS support Latest FW submission added some vxlan offload capabilities to our device. This patch adds the ability to connect to the vxlan NDOs and configure the UDP port associated with it in the HW. The device would now be capable of performing RSS according to the inner headers of the vxlan packets. Signed-off-by: Rajesh Borundia <Rajesh.Borundia@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd49784fd1e8f42c7600fbfa206361324857f373 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Tue Aug 18 16:26:16 2015 -0400 dm stats: report precise_timestamps and histogram in @stats_list output If the user selected the precise_timestamps or histogram options, report it in the @stats_list message output. If the user didn't select these options, no extra tokens are reported, thus it is backward compatible with old software that doesn't know about precise timestamps and histogram. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.2 commit 3f0bf60f96e3eaecd6920f5910ffcd8685774fb3 Merge: 61ed713 6083ce7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 14:17:22 2015 -0700 Merge branch 'dsa-multi-swtich' Andrew Lunn says: ==================== D in DSA patches The D in DSA is distributed, meaning multiple switches can be connected together. Currently no mainline system does this, and so the code is broken. This patchset contains two fixes, and a small helper. With three of more switches, the current device tree binding is not sufficient to express the routing between the switches. The first patch extends the binding, in a backwards compatible way, to allow a link between a switch to describe all the switches accessible over the link, not just the direct neighbor. The third patch fixes the port configuration on newer devices for links connecting switches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6083ce715f09568a8b0996ca15ae31aaa94f081f Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 17 23:52:52 2015 +0200 dsa: mv88e6xxx: Set DSA mode based on chip abilities Older devices only support a single DSA frame format, where as newer devices have two. Take this into account when configuring a DSA port. The port needs to be in plain old DSA mode, since this is a DSA link, where as the newer format can be used for the CPU port. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60045cbfc0b291dae8dd5b929d67b87c5ea954d4 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 17 23:52:51 2015 +0200 net: dsa: Add dsa_is_dsa_port() helper Add an inline helper for determining is a port is a DSA port. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e72e6f8859a598bfc22cf268c2dafe8ddb9f1b4 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 17 23:52:50 2015 +0200 net: dsa: Allow multi hop routes to be expressed With more than two switches in a hierarchy, it becomes necessary to describe multi-hop routes between switches. The current binding does not allow this, although the older platform_data did. Extend the link property to be a list rather than a single phandle to a remote switch. It is then possible to express that a port should be used to reach more than one switch and the switch maybe more than one hop away. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56d1392f2f8b5f5450e3e5f32733c8e44fe95199 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 10 11:44:45 2015 -0700 ixgbe: TRIVIAL fix up double 'the' and comment style Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d147329b0ac66490d9eb331b0a89a79d09d4dfbc Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Jun 6 10:41:03 2015 -0700 ixgbe: Simplify port-specific macros Simplify port-specific macros by eliminating explicit comparison with 0. More importantly, enclose formal parameter in parens to eliminate the risk of an operator precedence surprise. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ceee3450b3a85db05a107d54fbea031c77d30401 Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Fri Aug 7 17:27:39 2015 -0700 igb: make sure SR-IOV init uses the right number of queues Recent changes to igb_probe_vfs() could lead to the PF holding onto all of the queues. Reorder igb_probe_vfs() to be before gb_init_queue_configuration() and add some more error checking. Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fae5ecaee3e6265c2aec29ac238ccc29c6f11fc3 Author: Stefan Assmann <sassmann@xxxxxxxxx> Date: Thu Aug 6 09:32:17 2015 +0200 igbvf: clear buffer_info->dma after dma_unmap_single() The driver doesn't clear buffer_info->dma after calling dma_unmap_single() in all cases. This has been discovered by changing the mtu twice, which caused the following backtrace. [ 68.569280] WARNING: CPU: 2 PID: 1860 at drivers/iommu/intel-iommu.c:3517 intel_unmap+0x20c/0x220() [ 68.579392] Driver unmaps unmatched page at PFN fffc2a40 [ 68.585322] Modules linked in: igbvf ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat kvm_intel kvm igb megs [ 68.599163] CPU: 2 PID: 1860 Comm: ifconfig Not tainted 4.2.0-rc4+ #147 [ 68.606543] Hardware name: IBM -[546025Z]-/00Y7630, BIOS -[VVE134TUS-1.51]- 10/17/2013 [ 68.615473] 0000000000000dbd ffff88046441bb08 ffffffff81a5ad0b ffffffff81e2f9ea [ 68.623775] ffff88046441bb58 ffff88046441bb48 ffffffff81056b55 ffff88047fc583c0 [ 68.632075] 0000000000000000 ffff880469a8e600 00000000fffc2a40 ffff880465b32098 [ 68.640375] Call Trace: [ 68.643109] [<ffffffff81a5ad0b>] dump_stack+0x48/0x5d [ 68.648844] [<ffffffff81056b55>] warn_slowpath_common+0x95/0xe0 [ 68.655549] [<ffffffff81056c56>] warn_slowpath_fmt+0x46/0x70 [ 68.661960] [<ffffffff8158a614>] ? find_iova+0x54/0x90 [ 68.667791] [<ffffffff815988dc>] intel_unmap+0x20c/0x220 [ 68.673815] [<ffffffff8159891e>] intel_unmap_page+0xe/0x10 [ 68.680038] [<ffffffffa0067536>] igbvf_clean_rx_ring+0x96/0x370 [igbvf] [ 68.687516] [<ffffffffa0067915>] igbvf_down+0x105/0x110 [igbvf] [ 68.694219] [<ffffffffa0067beb>] igbvf_change_mtu+0x16b/0x180 [igbvf] [...] Signed-off-by: Stefan Assmann <sassmann@xxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 42ad1a03b4caf4d95b980bce17c46242e6728ddc Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Wed Aug 5 22:05:16 2015 +0800 igb: Fix a memory leak in igb_probe In error handling code of igb_probe, the memory adapter->shadow_vfta allocated by kcalloc in igb_sw_init is not freed. So when register_netdev or igb_init_i2c is failed, a memory leak will occur. This patch adds kfree to fix it. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0845d45e900cad5f7f855a7a6a21c33477800b1f Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Wed Aug 5 18:16:10 2015 +0800 e1000e: Modify Tx/Rx configurations to avoid null pointer dereferences in e1000_open When e1000e_setup_rx_resources is failed in e1000_open, e1000e_free_tx_resources in "err_setup_rx" segment is executed. "writel(0, tx_ring->head)" statement in e1000_clean_tx_ring in e1000e_free_tx_resources will cause a null poonter dereference(crash), because "tx_ring->head" is only assigned in e1000_configure_tx in e1000_configure, but it is after e1000e_setup_rx_resources. This patch moves head/tail register writing to e1000_configure_tx/rx, which can fix this problem. It is inspired by igb_configure_tx_ring in the igb driver. Specially, thank Alexander Duyck for his valuable suggestion. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3eb14ea8d9584e96680729c2c7a9129bafa13a39 Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Mon Aug 3 11:36:26 2015 +0800 igb: Fix a deadlock in igb_sriov_reinit When igb_init_interrupt_scheme in igb_sriov_reinit is failed, the lock acquired by rtnl_lock() is not released, which causes a deadlock. This patch adds rtnl_unlock() in error handling to fix it. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5e5d49422dfb035ca9e280cd61d434095c151272 Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Mon Aug 3 10:40:48 2015 +0800 e100: Release skb when DMA mapping is failed in e100_xmit_prepare When pci_dma_mapping_error in e100_xmit_prepare is failed, the skb buffer allocated by netdev_alloc_skb_ip_align in e100_rx_alloc_skb is not released, which causes a possible resource leak. This patch adds error handling code to fix it. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9ad607b4a9cb365fbd8387b1250ec448e497223e Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Mon Aug 3 10:17:08 2015 +0800 e100: Add a check after pci_pool_create to avoid null pointer dereference The driver lacks the check of nic->cbs_pool after pci_pool_create in e100_probe. When this function is failed, a null pointer dereference occurs when pci_pool_alloc uses nic->cbs_pool in e100_alloc_cbs. This patch adds a check and related error handling code to fix it. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c23d92b80e0b44d4c17085f0413e7574a7583615 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Jul 29 14:38:15 2015 -0600 igb: Teardown SR-IOV before unregister_netdev() When the .remove() callback for a PF is called, SR-IOV support for the device is disabled, which requires unbinding and removing the VFs. The VFs may be in-use either by the host kernel or userspace, such as assigned to a VM through vfio-pci. In this latter case, the VFs may be removed either by shutting down the VM or hot-unplugging the devices from the VM. Unfortunately in the case of a Windows 2012 R2 guest, hot-unplug is broken due to the ordering of the PF driver teardown. Disabling SR-IOV prior to unregister_netdev() avoids this issue. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 51045ecff09e33dcf4027f4aa6e6a05a840899d3 Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Wed Jul 29 07:32:06 2015 -0700 igb: add support for 1512 PHY This patch adds support for Marvell PHY 1512 (required for I354). Submitted by: Maciej Szwed <maciej.szwed@xxxxxxxxx> Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 30c72916d71b7970b16dca2bb1234aef2d37b695 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Thu Jul 23 14:59:30 2015 -0700 igb: implement high frequency periodic output signals In addition to interrupt driven target time output events, the i210 also has two programmable clock outputs. These clocks support periods between 16 nanoseconds and 140 milliseconds. This patch implements the periodic output function using the clock outputs when possible, falling back to the target time for longer periods. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6423fc34160939142d72ffeaa2db6408317f54df Author: Stefan Assmann <sassmann@xxxxxxxxx> Date: Fri Jul 10 15:01:12 2015 +0200 igb: do not re-init SR-IOV during probe During driver probing the following code path is triggered. igb_probe ->igb_sw_init ->igb_probe_vfs ->igb_pci_enable_sriov ->igb_sriov_reinit Doing the SR-IOV re-init is not necessary during probing since we're starting from scratch. Here we can call igb_enable_sriov() right away. Running igb_sriov_reinit() during igb_probe() also seems to cause occasional packet loss on some onboard 82576 NICs. Reproduced on Dell and HP servers with onboard 82576 NICs. Example: Intel Corporation 82576 Gigabit Network Connection [8086:10c9] (rev 01) Subsystem: Dell Device [1028:0481] Signed-off-by: Stefan Assmann <sassmann@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f468adc944ef40f23cacdd898e8cfbb5ba4b75a4 Author: Vasily Averin <vvs@xxxxxxxxxxxxx> Date: Tue Jul 7 18:53:45 2015 +0300 igb: missing rtnl_unlock in igb_sriov_reinit() Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 72ddef0506da852dc82f078f37ced8ef4d74a2bf Author: Shota Suzuki <suzuki_shota_t3@xxxxxxxxxxxxx> Date: Wed Jul 1 09:25:52 2015 +0900 igb: Fix oops caused by missing queue pairing When initializing igb driver (e.g. 82576, I350), IGB_FLAG_QUEUE_PAIRS is set if adapter->rss_queues exceeds half of max_rss_queues in igb_init_queue_configuration(). On the other hand, IGB_FLAG_QUEUE_PAIRS is not set even if the number of queues exceeds half of max_combined in igb_set_channels() when changing the number of queues by "ethtool -L". In this case, if numvecs is larger than MAX_MSIX_ENTRIES (10), the size of adapter->msix_entries[], an overflow can occur in igb_set_interrupt_capability(), which in turn leads to an oops. Fix this problem as follows: - When changing the number of queues by "ethtool -L", set IGB_FLAG_QUEUE_PAIRS in the same way as initializing igb driver. - When increasing the size of q_vector, reallocate it appropriately. (With IGB_FLAG_QUEUE_PAIRS set, the size of q_vector gets larger.) Another possible way to fix this problem is to cap the queues at its initial number, which is the number of the initial online cpus. But this is not the optimal way because we cannot increase queues when another cpu becomes online. Note that before commit cd14ef54d25b ("igb: Change to use statically allocated array for MSIx entries"), this problem did not cause oops but just made the number of queues become 1 because of entering msi_only mode in igb_set_interrupt_capability(). Fixes: 907b7835799f ("igb: Add ethtool support to configure number of channels") CC: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Shota Suzuki <suzuki_shota_t3@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3e1d2eed39d804e48282931835c7203fa47fe1d9 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 13:58:16 2015 -0700 cgroup: introduce cgroup_subsys->legacy_name This allows cgroup subsystems to use a different name on the unified hierarchy. cgroup_subsys->name is used on the unified hierarchy, ->legacy_name elsewhere. If ->legacy_name is not explicitly set, it's automatically set to ->name and the userland visible behavior remains unchanged. v2: Make parse_cgroupfs_options() only consider ->legacy_name as mount options are used only on legacy hierarchies. Suggested by Li Zefan. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: cgroups@xxxxxxxxxxxxxxx commit d98817d4961b9ef75062d1e129829d283b3dac57 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 13:58:16 2015 -0700 cgroup: don't print subsystems for the default hierarchy It doesn't make sense to print subsystems on mount option or /proc/PID/cgroup for the default hierarchy. * cgroup.controllers file at the root of the default hierarchy lists the currently attached controllers. * The default hierarchy is catch-all for unmounted subsystems. * The default hierarchy doesn't accept any mount options. Suppress subsystem printing on mount options and /proc/PID/cgroup for the default hierarchy. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: cgroups@xxxxxxxxxxxxxxx commit 62060a3548c5ea038b4ade518cce92be32a6718d Merge: 582271a 8cbd4c2f Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:33:48 2015 -0700 Merge tag 'omap-for-v4.3/dt-pt4-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Fix up bogus RTC compatible change for am4372 and add missing DPLL for am4372 cpsw Ethernet driver. Also add ARM global and local timers for am4372. * tag 'omap-for-v4.3/dt-pt4-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: arm: boot: dts: am4372: add ARM timers and SCU nodes ARM: dts: AM4372: Add the am4372-rtc compatible string ARM: dts: am4372: Set the default clock rate for dpll_clksel_mac_clk clock ARM: dts: AM437X: add dpll_clksel_mac_clk node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 443d7920a5ea454b4d46839a029fb26fd5a2cdee Merge: 207b504 ed293d1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:33:09 2015 -0700 Merge tag 'omap-for-v4.3/soc-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Fix omap PM regression in Linux next and kill set_irq_flags usage for GPMC. * tag 'omap-for-v4.3/soc-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: memory: kill off set_irq_flags usage ARM: OMAP2+: Fix power domain operations regression caused by 81xx Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 582271a3d0c8eed65d8716cf8dba6fa04e9bfc85 Merge: 3cf6a06 60c0745 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:31:26 2015 -0700 Merge tag 'renesas-dt4-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Fourth Round of Renesas ARM Based SoC DT Updates for v4.3 * Enable Clock Domain support of the Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks driver. * tag 'renesas-dt4-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7794 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7793 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7791 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7790 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7779 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7778 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r7s72100 dtsi: Add CPG/MSTP Clock Domain clk: shmobile: rz: Add CPG/MSTP Clock Domain support clk: shmobile: rcar-gen2: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7779: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7778: Add CPG/MSTP Clock Domain support clk: shmobile: Add CPG/MSTP Clock Domain support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a005bc6f69d79574840bdf04350671fb3b2dd8ae Merge: 0bf4135 f04b486 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:30:18 2015 -0700 Merge tag 'renesas-clk-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers Renesas ARM Based SoC CPG/MSTP Clock Driver Updates for v4.3 * Add Clock Domain support to the Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks driver using the generic PM Domain. * tag 'renesas-clk-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: clk: shmobile: rz: Add CPG/MSTP Clock Domain support clk: shmobile: rcar-gen2: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7779: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7778: Add CPG/MSTP Clock Domain support clk: shmobile: Add CPG/MSTP Clock Domain support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d2be537c3ba3568acd79cd178327b842e60d035e Author: Jeff Moyer <jmoyer@xxxxxxxxxx> Date: Thu Aug 13 14:57:57 2015 -0400 block: bump BLK_DEF_MAX_SECTORS to 2560 A value of 2560 (1280k) will accommodate a 10-data-disk stripe write with chunk size 128k. In the testing I've done using iozone, fio, and aio-stress across a number of different storage devices, a value of 1280 does not show a big performance difference from 512, but will hopefully help software RAID setups using SATA disks, as reported by Christoph. NOTE: drivers/block/aoe/aoeblk.c sets its own max_hw_sectors_kb to BLK_DEF_MAX_SECTORS. So, this patch essentially changes aeoblk to Use a larger maximum sector size, and I did not test this. Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 30e2bc08b2bb7c069246feee78f7ed4006e130fe Author: Jeff Moyer <jmoyer@xxxxxxxxxx> Date: Thu Aug 13 14:57:56 2015 -0400 Revert "block: remove artifical max_hw_sectors cap" This reverts commit 34b48db66e08ca1c1bc07cf305d672ac940268dc. That commit caused performance regressions for streaming I/O workloads on a number of different storage devices, from SATA disks to external RAID arrays. It also managed to trip up some buggy firmware in at least one drive, causing data corruption. The next patch will bump the default max_sectors_kb value to 1280, which will accommodate a 10-data-disk stripe write with chunk size 128k. In the testing I've done using iozone, fio, and aio-stress, a value of 1280 does not show a big performance difference from 512. This will hopefully still help the software RAID setup that Christoph saw the original performance gains with while still not regressing other storage configurations. Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 341a670abd1c086d44e09901f0ebee3dd86a60ba Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Aug 11 18:36:51 2015 -0700 ARM64: dts: vexpress: Use assigned-clock-parents for sp810 The sp810 clk driver is calling the clk consumer APIs from clk_prepare ops to change the parent to a 1 MHz fixed rate clock for each of the clocks that the driver provides. Use assigned-clock-parents for this instead of doing it in the driver to avoid using the consumer API in provider code. This also allows us to remove the usage of clk provider APIs that take a struct clk as an argument from the sp810 driver. Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3cf6a067994fadcb99d841ec3ce6652fd95f91a1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Aug 11 18:36:50 2015 -0700 ARM: dts: vexpress: Use assigned-clock-parents for sp810 The sp810 clk driver is calling the clk consumer APIs from clk_prepare ops to change the parent to a 1 MHz fixed rate clock for each of the clocks that the driver provides. Use assigned-clock-parents for this instead of doing it in the driver to avoid using the consumer API in provider code. This also allows us to remove the usage of clk provider APIs that take a struct clk as an argument from the sp810 driver. Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5446584eeba48ae357435388fb39f35ee9e5d851 Merge: 80d352d 9559b3a Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:15:57 2015 -0700 Merge tag 'imx-defconfig-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig The i.MX defconfig updates for 4.3: - Enable i.MX6UL SoC build - Enable powerkey and syscon poweroff support - Build in multi-channel audio support, including i.MX ASRC and CS42xx8 codec drivers. - Enable kexec build, HCIUART_H4 and IKCONFIG_PROC support. * tag 'imx-defconfig-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v6_v7_defconfig: Select CONFIG_IKCONFIG_PROC ARM: imx: imx_v6_v7_defconfig enable imx6ul support ARM: imx_v6_v7_defconfig: enable powerkey and syscon power off ARM: imx_v6_v7_defconfig: Select HCIUART_H4 ARM: imx_v6_v7_defconfig: build in audio driver ARM: imx_v6_v7_defconfig: Enable kexec support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b12c0820868f8f65289dda974c54eff2b0290fa7 Merge: e789546 3603257 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:14:39 2015 -0700 Merge tag 'imx-dt-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt The i.MX device tree updates for 4.3: - Add audio and eTSEC device support and update dspi node for LS1021A. - Add initial i.MX6UL and imx6ul-14x14-evk board support, and enable a bunch of device support for i.MX6UL, including RTC, power key, USB, QSPI, and dual FEC. - Enable HDMI and LVDS dual display support for a few imx6qdl boards. - Support of imx6sl-warp board rev1.12, the version which will be publicly available for the customers. - A few i.MX7D device additions, watchdog, cortex-a7 coresight components, RTC, power key, power off. - Some Vybrid updates: add device support for I2C, QSPI, eSDHC etc., update ADC node, and define stdout-path property. - A few random updates for i.MX27 and i.MX53 devices. * tag 'imx-dt-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (44 commits) ARM: dts: imx6ul: add snvs power key support ARM: dts: imx6ul: add RTC support ARM: dts: imx6ul: enable GPC as extended interrupt controller ARM: dts: imx6sx: correct property name for wakeup source ARM: dts: add property for maximum ADC clock frequencies ARM: dts: imx7d: enable snvs rtc, onoffkey and power off ARM: dts: imx6ul-14x14-evk: add fec1 and fec2 support ARM: dts: imx: add fec1 and fec2 nodes for SOC i.MX6UL ARM: dts: imx27: add support of internal rtc ARM: dts: vf-colibri: define stdout-path property ARM: dts: ls1021a: Enable the eTSEC ports on QDS and TWR ARM: dts: ls1021a: Add the eTSEC controller nodes ARM: dts: imx6ul: add qspi support ARM: dts: imx6ul: fix low case define in imx6ul-pinfunc.h ARM: dts: imx6ul: add usb host and function support ARM: dts: vfxxx: Add io-channel-cells property for ADC node ARM: dts: ls1021a: Add dts nodes for audio on LS1021A ARM: imx6qdl-sabreauto.dtsi: enable USB support ARM: dts: imx: update snvs to use syscon access register ARM: dts: imx: add imx6ul and imx6ul evk board support ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 207b504a63b849519cc285c3ddb37411d67beead Merge: f9511a4 8a0fa18 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:10:05 2015 -0700 Merge tag 'imx-soc-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc The i.MX SoC changes for 4.3: - Add i.MX6 Ultralite SoC support, which is the newest addition to i.MX6 family. It integrates a single Cortex-A7 core and a power management module that reduces the complexity of external power supply and simplifies power sequencing. - Change SNVS RTC driver to use syscon interface for register access, and add SNVS power key driver support. - Add a second clock for mxc rtc driver, and support device tree probe for the driver. - Add FEC MAC reference clock and phy fixup initialization for i.MX6UL platform. * tag 'imx-soc-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: rtc: snvs: select option REGMAP_MMIO ARM: imx6ul: add fec MAC refrence clock and phy fixup init ARM: imx6ul: add fec bits to GPR syscon definition rtc: mxc: add support of device tree dt-binding: document the binding for mxc rtc rtc: mxc: use a second rtc clock input: snvs_pwrkey: use "wakeup-source" as deivce tree property name Document: devicetree: input: imx: i.mx snvs power device tree bindings input: keyboard: imx: add snvs power key driver Document: dt: fsl: snvs: change support syscon rtc: snvs: use syscon to access register ARM: imx: add low-level debug support for i.mx6ul ARM: imx: add i.mx6ul msl support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 61ed713bbb043f333ca9576c79a3d33d2ad17438 Merge: 0b233dc 348e343 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 11:55:08 2015 -0700 Merge branch 'drivers_iff_no_queue' Phil Sutter says: ==================== net: Convert drivers to IFF_NO_QUEUE and cleanup afterwards This series converts in-tree users away from the old and deprecated 'tx_queue_len = 0' idiom, adds a warning to notify out-of-tree driver maintainers that there is need for action on their behalf and finally drops any workarounds in scheduling algorithm implementations. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 348e3435cbefa815bd56a5205c1412b5afe7b92e Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:49 2015 +0200 net: sched: drop all special handling of tx_queue_len == 0 Those were all workarounds for the formerly double meaning of tx_queue_len, which broke scheduling algorithms if untreated. Now that all in-tree drivers have been converted away from setting tx_queue_len = 0, it should be safe to drop these workarounds for categorically broken setups. Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 906470c19da771e638e7c8e16e16c31995b139cc Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:48 2015 +0200 net: warn if drivers set tx_queue_len = 0 Due to the introduction of IFF_NO_QUEUE, there is a better way for drivers to indicate that no qdisc should be attached by default. Though, the old convention can't be dropped since ignoring that setting would break drivers still using it. Instead, add a warning so out-of-tree driver maintainers get a chance to adjust their code before we finally get rid of any special handling of tx_queue_len == 0. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d9e437d56bea20bef180bd64ad2ad354de4c79b Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:47 2015 +0200 staging: wilc1000: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4676a15207e3bc5e18b7e39b934ce0e890ee54fe Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:46 2015 +0200 net: caif: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Dmitry Tarnyagin <dmitry.tarnyagin@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ad09c5c05f7ce718d135ba8b55f9af733fc9b3f Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:45 2015 +0200 net: hsr: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Arvid Brodin <arvid.brodin@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cdf7370391d3a482ef2f2a8c73d16c6db3dbecf0 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:44 2015 +0200 net: batman-adv: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Cc: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Cc: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3db6da1f07b4ee3c0657973f504a44d38b5c04a1 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:43 2015 +0200 net: mac80211_hwsim: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a9c0a1bb82aef17468f4aff492421c875fff71c Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:42 2015 +0200 net: hostap: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Jouni Malinen <j@xxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a5f107b6774aa9c48ca3e924dccaf1296ef6a43 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:41 2015 +0200 net: dsa: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf485bcf0df5dcb01b723efc9d5887329e515aa7 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:40 2015 +0200 net: ipvlan: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e6f20ca6c90d06d8d7654009aa99f0eec76ea65 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:39 2015 +0200 net: bonding: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Jay Vosburgh <j.vosburgh@xxxxxxxxx> Cc: Veaceslav Falico <vfalico@xxxxxxxxx> Cc: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4afbc0db720555f1bf0dd9f3e112819041231818 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:38 2015 +0200 net: 6lowpan: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccecb2a47ceb0fc59b23b966cd63b5f19315b2a2 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:37 2015 +0200 net: bridge: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e659c0551c99c9712724d96acd3d9271587265c Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:36 2015 +0200 net: 8021q: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22dba393a3eed4878937fa5bf804eb7be8aa70f4 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:35 2015 +0200 net: vxlan: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22e380a649371dc2182c39f03887aad2576e11cd Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:34 2015 +0200 net: team: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85773a61a310aa5214e8e87d29792803ec5a9eed Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:33 2015 +0200 net: nlmon: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e65db2b724a2758ede002cb995bee1470f805b1a Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:32 2015 +0200 net: loopback: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed961ac23384826d92ed7f3dd6fe8e007db76145 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:31 2015 +0200 net: geneve: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff42c02c09aa03b6ecd22695e923595244d3ee6d Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:30 2015 +0200 net: dummy: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02f01ec1c5c697e0f84b9e58bf9a294a3a1b348e Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:29 2015 +0200 net: veth: enable noqueue operation by default Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81f03fedcce7ee7e83c37237ecaa2f68aad236fd Author: Jon Derrick <jonathan.derrick@xxxxxxxxx> Date: Mon Aug 10 15:20:41 2015 -0600 NVMe: Add nvme subsystem reset IOCTL Controllers can perform optional subsystem resets as introduced in NVMe 1.1. This patch adds an IOCTL to trigger the subsystem reset by writing "NVMe" to the NSSR register. Signed-off-by: Jon Derrick <jonathan.derrick@xxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dfbac8c7ac5f58448b2216fe42ff52aaf175421d Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Mon Aug 10 15:20:40 2015 -0600 NVMe: Add nvme subsystem reset support Controllers part of an NVMe subsystem may be reset by any other controller in the subsystem. If the device is capable of subsystem resets, this patch adds detection for such events and performs appropriate controller initialization upon subsystem reset detection. The register bit is a RW1C type, so the driver needs to write a 1 to the status bit to clear the subsystem reset occured bit during initialization. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ac05fbb40062411ea1b722aa2cede7feaa94f1b4 Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Mar 4 16:52:52 2015 -0500 inode: don't softlockup when evicting inodes On a box with a lot of ram (148gb) I can make the box softlockup after running an fs_mark job that creates hundreds of millions of empty files. This is because we never generate enough memory pressure to keep the number of inodes on our unused list low, so when we go to unmount we have to evict ~100 million inodes. This makes one processor a very unhappy person, so add a cond_resched() in dispose_list() and if we need a resched when processing the s_inodes list do that and run dispose_list() on what we've currently culled. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 44840dec6127e4d7c5074f75d2dd96bc4ab85fe3 Author: David Ward <david.ward@xxxxxxxxxx> Date: Tue Aug 18 10:36:23 2015 +0200 USB: qcserial: add HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module This is an HP-branded Sierra Wireless EM7355: https://bugzilla.redhat.com/show_bug.cgi?id=1223646#c2 Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fb8dc36384ae1140ee6ccc470de74397606a9d5 Author: Matthijs Kooijman <matthijs@xxxxxxxx> Date: Tue Aug 18 10:33:56 2015 +0200 USB: ftdi_sio: Added custom PID for CustomWare products CustomWare uses the FTDI VID with custom PIDs for their ShipModul MiniPlex products. Signed-off-by: Matthijs Kooijman <matthijs@xxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2958d1b8fb0cffa362b187c0375a5aff4fe3825 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 17 17:35:24 2015 +0200 USB: usb_wwan: silence read errors on disconnect Silence read-urb resubmission errors when the device is going away. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9257f1daa8befd5c0a343031dd870236550e00c5 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 17 17:35:23 2015 +0200 USB: option: silence interrupt errors Avoid spamming the logs (e.g. with -EPROTO errors) when attempting to resubmit the interrupt urb while a disconnect of an in-use device is being processed. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ae25a355b5969e12f3185e8cb8eb08b871c9084 Author: Philipp Hachtmann <hachti@xxxxxxxxx> Date: Mon Aug 17 17:31:47 2015 +0200 USB: symbolserial: Correct transferred data size The scanner (here DS3508) always returns 64 bytes per urb buffer. The first byte indicates the data length used in the current buffer. There even was a comment describing this. But the comment also said that we'll send everything in the buffer to the tty layer. That means sending the actual barcode data and lots of trailing zeroes. This patch lets the driver only send the real data. Signed-off-by: Philipp Hachtmann <hachti@xxxxxxxxx> Acked-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 951d3793bbfc0a441d791d820183aa3085c83ea9 Author: Philipp Hachtmann <hachti@xxxxxxxxx> Date: Mon Aug 17 17:31:46 2015 +0200 USB: symbolserial: Use usb_get_serial_port_data The driver used usb_get_serial_data(port->serial) which compiled but resulted in a NULL pointer being returned (and subsequently used). I did not go deeper into this but I guess this is a regression. Signed-off-by: Philipp Hachtmann <hachti@xxxxxxxxx> Fixes: a85796ee5149 ("USB: symbolserial: move private-data allocation to port_probe") Cc: stable <stable@xxxxxxxxxxxxxxx> # v3.10 Acked-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0c9d0defcdadd31ab111b1616f60cf919c6a020 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Aug 17 16:36:53 2015 +0800 usb: misc: usbtest: format max packet size for iso transfer The current code prints all wMaxPacketSize content at endpoint descriptor, if there is a high speed, high bandwidth endpoint, it may confuse the users, eg, if there are 3 transactions during microframe, it will print "wMaxPacket 1400" for packet content. This commit splits wMaxpacketSize and transaction numbers for output messages. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0521cfd06e1ebcd575e7ae36aab068b38df23850 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Aug 17 10:23:03 2015 +0800 usb: host: ehci-sys: delete useless bus_to_hcd conversion The ehci platform device's drvdata is the pointer of struct usb_hcd already, so we doesn't need to call bus_to_hcd conversion again. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 475908bc4d29b95b24c03206f673f46b41e7124d Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:59:12 2015 -0700 Revert "usb: interface authorization: Declare authorized attribute" This reverts commit 484ebaedecc5ddf778a30ee1efab367cbee27030 as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae9c02b421139c4c44340b019e250a9969a91613 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:27 2015 +0100 dmaengine: jz4780: Kill tasklets before unregistering the device Tasklets may have been scheduled as a result of an earlier interrupt that could still be running. Kill them before unregistering the device. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d509a83cea8a64478c7899f28e961543b6569cfc Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:26 2015 +0100 dmaengine: jz4780: Don't use devm_*_irq() functions We must explicitly free the IRQ before the device is unregistered in case any device interrupt still occurs, so there's no point in using the managed variations of the IRQ functions. Change to the regular versions. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d3597236fd30d76bef4ba8b4713013006842f117 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:25 2015 +0100 dmaengine: jz4780: Remove request type number definitions header The header just includes definitions of hardware-specific numbers which can be written directly in the device tree, there's no need for a public header containing these definitions. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 026fd406c81b8a2936e77342a255d55534f92061 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:24 2015 +0100 dmaengine: jz4780: Ensure channel is on correct controller in filter When scanning for a free DMA channel, the filter function should ensure that the channel is on the controller that it was requested to be on in the DT. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d3273e10ad871e903456a875e1062514cd13a244 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:23 2015 +0100 dmaengine: jz4780: Use dma_get_slave_channel when requesting a specific channel When the DT requests a specific channel to use it is not necesssary to scan through all DMA channels in the system. Just return the requested channel using dma_get_slave_channel(). Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 839896ef3fdacf3a27460b6f6dabc6ac1475a00c Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:22 2015 +0100 dmaengine: jz4780: Fix error handling/signedness issues There are a some signedness bugs such as testing for < 0 on unsigned return values. Additionally there are some cases where functions which should return NULL on error actually return a PTR_ERR value which can result in oopses on error. Fix these issues. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit dc578f314e2471ca93a4c1f80988ecc781836f72 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:21 2015 +0100 dmaengine: jz4780: Fall back on smaller transfer sizes where necessary For some reason the controller does not support 8 byte transfers (but does support all other powers of 2 up to 128). In this case fall back to 4 bytes. In addition, fall back to 128 bytes when any larger power of 2 would be possible within the alignment constraints, as this is the maximum supported. It makes no sense to outright reject 8 or >128 bytes just because the alignment constraints make those the maximum possible size given the parameters for the transaction. For instance, this can result in a DMA from/to an 8 byte aligned address failing. It is perfectly safe to fall back to smaller transfer sizes, the only consequence is reduced transfer efficiency, which is far better than not allowing the transfer at all. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 46fa516869f4b57f9eb63db02c76642abfb9f682 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:20 2015 +0100 dmaengine: jz4780: Fix up dmaengine API function prototypes Several function prototypes did not match the dmaengine API they were implementing, resulting in build warnings. Correct these. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 12e1a6a0f16168346cb8f33aff135ed523a9f097 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:58:45 2015 -0700 Revert "usb: interface authorization: Introduces the default interface authorization" This reverts commit 1d958bef45030acfc5578263e9de3bb07032b8da as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c2ea97a3a4124628de2ed9a1f891c706788468a Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:58:26 2015 -0700 Revert "usb: interface authorization: Control interface probing and claiming" This reverts commit de7718bd9c4d3db96991a98c2a0cb38258a04e47 as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5651440e453910f3a1f795e66db5d16291c3ba44 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:58:04 2015 -0700 Revert "usb: interface authorization: Introduces the USB interface authorization" This reverts commit ef0909c50fe63be3f9aa09bdf4db7efaa5919be9 as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d924d7a81627663720223b5c4330c18d8063fb6 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:57:43 2015 -0700 Revert "usb: interface authorization: SysFS part of USB interface authorization" This reverts commit 187b3d75bbfba45a38b5d1d3656c0f11f6f6f2d0 as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dba3398381dd1175c74721c97d1daf8fc5939276 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:57:15 2015 -0700 Revert "usb: interface authorization: Documentation part" This reverts commit 6ef2bf71764708f7c58ee9300acd8df05dbaa06f as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1b93ab71587b8b44d45d114937cb4e75f9a5f27 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:56:04 2015 -0700 Revert "usb: interface authorization: Use a flag for the default device authorization" This reverts commit 3cf1fc80655d3af7083ea4b3615e5f8532543be7 as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d15f21dc8030c4511964819b89b50e39d5a7013 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Aug 18 17:26:45 2015 +0530 ASoC: tegra: Revert part of "ASoC: tegra: Convert to managed resources" Revert the problematic part of commit 470805eb9f31 ("ASoC: tegra: Convert to managed resources"). Before this commit, PM cleanup was performed after the component was unregistered. But returning directly will skip PM cleanup. So, to be on safe side it is better to use snd_soc_register_component instead of devm_snd_soc_register_component. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ac9bd0ef5d3eefe9a21a7df6819937e3aa265203 Author: Yanchang Li <yl22@xxxxxxx> Date: Mon Jul 27 05:50:21 2015 +0000 dmaengine: sirf: clear pending DMA interrupt when DMA terminates If DMA interrupt comes and is latched by IRQ controller during the execution of dma_terminate_all(), dma_irq routine will be executed after dma terminated, and it will cause kernel panic. We clear DMA interrupts in dma_terminate_all() to avoid this useless interrupt. Signed-off-by: Yanchang Li <Yanchang.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit df48f3ff95c432cc3469e0df67da76ffcf2237af Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jul 11 14:12:07 2015 +0200 doc: dt: dma: add bindings for lpc1850-dmamux Add device tree bindings documentation for the lpc1850-dmamux DMA router. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e5f4ae84be7421010780984bdc121eac15997327 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jul 11 14:12:06 2015 +0200 dmaengine: add driver for lpc18xx dmamux Add support for DMA on NXP LPC18xx/43xx platforms which has a multiplexer in front of the PL080 dma request lines. The mux is a single register in the LPC18xx/43xx CREG block and can multiplex up to 4 request lines to each of the 16 lines on the PL080. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit fbd7e41005a4daa676e3f516d07aeff0a81dca2b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sat Jul 11 14:12:05 2015 +0200 doc: dt: dma: add binding doc for pl08x This introduces device tree bindings for the PL08x DMA controllers when used with fixed signal assignment per channel, i.e. if each channel on the PL08x is assigned precisely one burst/single signal set. [je: remove channel sub-node parsing, use cell value to assign AHB] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit aa4734da66744230af1ad2b468dcc7fea53cd637 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sat Jul 11 14:12:04 2015 +0200 dmaengine: pl08x: support dt channel assignment Add support for assigning DMA channels from a device tree. [je: remove channel sub-node parsing, dynamic channel creation on xlate] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4a736d156d6de171f2c8453f5a6911e40e9aab0a Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Tue Aug 18 08:15:32 2015 +0200 dmaengine: pxa_dma: fix debug information This fixes the following error: drivers/dma/pxa_dma.c: In function â??dbg_show_requester_chanâ??: drivers/dma/pxa_dma.c:192:2: error: void value not ignored as it ought to be pos += seq_printf(s, "DMA channel %d requester :\n", phy->idx); ^ drivers/dma/pxa_dma.c:197:8: error: void value not ignored as it ought to be !!(drcmr & DRCMR_MAPVLD)); ^ scripts/Makefile.build:258: recipe for target 'drivers/dma/pxa_dma.o' failed Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b48362d8aaf32aeb4a75f5c556c652ffeeb1be5d Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Tue Aug 18 16:18:29 2015 +0200 hrtimer: Unconfuse switch_hrtimer_base() a bit The variable called "this_base" is confusing because its name suggests it's of "struct hrtimer_clock_base" type, along with "base" and "new_base" which doesn't help understanding this complicated function. Make its name clearer and fix the misleading comment while at it. [ tglx: Fixed the comment for real ] Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439907509-9553-3-git-send-email-fweisbec@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 662b3e194656cc713d51d52780fb71f499c46619 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Tue Aug 18 16:18:28 2015 +0200 hrtimer: Simplify get_target_base() by returning current base Instead of fetching again the current cpu base, just take it from the parameter. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439907509-9553-2-git-send-email-fweisbec@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 84eac6196c4b3930fc81f9bcd76c4a1a2161fd34 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 14 17:58:01 2015 +0800 ASoC: wm8741: Drop misleading readable_reg callback implementation regmap_readable() returns false if map->format.format_write is set. For .reg_bits = 7, .val_bits = 9, setting, map->format.format_write = regmap_format_7_9_write; Even current code has implemented map->readable_reg, regmap_readable() still returns false anyway. Thus drop the misleading readable_reg callback implementation. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b2b1ec9b55ed0840956db15f823c4a73383c08be Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Tue Aug 18 10:13:41 2015 -0600 NVMe: removed unused nn var from nvme_dev_add The logic in nvme_dev_add to enumerate namespaces was moved to nvme_dev_scan. When moved, the nn variable is no longer used. This patch removes it. Fixes: a5768aai ("NVMe: Automatic namespace rescan") Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 649953b5b89dc308747797810812747333d971cd Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Aug 18 23:45:55 2015 +0800 PCI: xilinx: Fix typo in function name There's a typo in commit e39758e0ea76 in linux-next, which incorrectly spells "msi_desc_to_pci_sysdata()" as "msi_desc_to_pci_sys_data()" and causes build failure: > ../drivers/pci/host/pcie-xilinx.c:235:3: error: implicit declaration of function 'msi_desc_to_pci_sys_data' [-Werror=implicit-function-declaration] Fixes: e39758e0ea76 "PCI: Use helper functions to access fields in struct msi_desc" Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Cc: Srikanth Thokala <sthokal@xxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439912763-10645-1-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 84f8bd86cc8977c344df572169f7ec10b8188cfa Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Aug 18 10:31:09 2015 -0400 dm thin: optimize async discard submission __blkdev_issue_discard_async() doesn't need to worry about further splitting because the upper layer blkdev_issue_discard() will have already handled splitting bios such that the bi_size isn't overflowed. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Joe Thornber <ejt@xxxxxxxxxx> commit 49718f0fb8c9af192b33d8af3a2826db04025371 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:02:42 2015 -0400 SCSI: Fix NULL pointer dereference in runtime PM The routines in scsi_rpm.c assume that if a runtime-PM callback is invoked for a SCSI device, it can only mean that the device's driver has asked the block layer to handle the runtime power management (by calling blk_pm_runtime_init(), which among other things sets q->dev). However, this assumption turns out to be wrong for things like the ses driver. Normally ses devices are not allowed to do runtime PM, but userspace can override this setting. If this happens, the kernel gets a NULL pointer dereference when blk_post_runtime_resume() tries to use the uninitialized q->dev pointer. This patch fixes the problem by calling the block layer's runtime-PM routines only if the device's driver really does have a runtime-PM callback routine. Since ses doesn't define any such callbacks, the crash won't occur. This fixes Bugzilla #101371. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Reported-by: StanisÅ?aw Pitucha <viraptor@xxxxxxxxx> Reported-by: Ilan Cohen <ilanco@xxxxxxxxx> Tested-by: Ilan Cohen <ilanco@xxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit db196935d9562abec4510f48d887bc1f1e054fcf Author: Hiral Shah <hishah@xxxxxxxxx> Date: Tue Jul 14 07:08:57 2015 -0700 fnic: Use the local variable instead of I/O flag to acquire io_req_lock in fnic_queuecommand() to avoid deadloack We added changes in fnic driver patch 1.6.0.16 to acquire io_req_lock in fnic_queuecommand() before issuing I/O so that io completion is serialized. But when releasing the lock we check for the I/O flag and this could be modified if IO abort occurs before I/O completion. In this case we wont release the lock and causes deadlock in some scenerios. Using the local variable to check the IO lock status will resolve the problem. Fixes: 41df7b02db82cf6c14f094757bac3830d10a827f Signed-off-by: Hiral Shah <hishah@xxxxxxxxx> Signed-off-by: Sesidhar Baddela <sebaddel@xxxxxxxxx> Signed-off-by: Anil Chintalapati <achintal@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a6bf49db8c94d194d1c197deba2935468026ec89 Merge: 74f4e0c ecc7c51 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Aug 18 17:20:11 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-08-18' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * polish the Miracast operation * fix a few power consumption issues * scan cleanup * fixes for D0i3 system state * add paging for devices that support it * add again the new RBD allocation model * add more options to the firmware debug system * add support for frag SKBs in Tx commit d1c48038b849e9df0475621a52193a62424a4e87 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Thu Jul 30 14:49:00 2015 -0700 HID: i2c-hid: Only disable irq wake if it was successfully enabled during suspend Enabling irq wake could potentially fail and calling disable_irq_wake after a failed call to enable_irq_wake could result in an unbalanced irq warning. This patch warns if enable_irq_wake fails and avoids other potential issues caused by calling disable_irq_wake on resume after enable_irq_wake failed during suspend. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 76703be827a7867c28b904562bc78ed1314698bc Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Aug 17 17:41:53 2015 -0700 HID: wacom: Use tablet-provided touch height/width values for INTUOSHT The current generation of "Intuos" tablets (i.e. INTUOSHT) report touch width and height data just like the "Intuos Pro" do. This commit changes the code to allow these tablets to use the appropriate codepath instead of the one intended for Intuos5/Bamboo. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 931830aa5c251e0803523213428f777a48bde254 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Aug 13 11:11:27 2015 -0400 HID: gembird: add new driver to fix Gembird JPD-DualForce 2 This gamepad advertise 5 absolute axis while 4 are actually used. The second Z axis shows some garbage, so it has to be ignored by HID. The first Z axis and the Rz one are actually Rx and Ry. Remap them. We could also just remap and ignore the axis in .input_mapping(). I went ahead with .report_fixup() first, so here it is. Reported-by: Orivej Desh <orivej@xxxxxx> Tested-by: Orivej Desh <orivej@xxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 96231b2686b53f71838a335bdc404cb5285d1a01 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Aug 18 09:14:15 2015 +0100 ARM: 8419/1: dma-mapping: harmonize definition of DMA_ERROR_CODE All architectures except arm that define DMA_ERROR_CODE are casting it to (dma_addr_t) - as it is always compared to dma_addr_t in arm as well this could be harmonized. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8901925d32232adb57ba1b4c26d0c0f9d521a78c Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Mon Aug 17 03:59:52 2015 +0100 ARM: 8417/1: refactor bitops functions with BIT_MASK() and BIT_WORD() Use BIT_MASK() and BIT_WORD() rather than hard-coding the size of the "long" type. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit da4f295b4aeca0bca4ab406e70fb7087f93ede39 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Mon Aug 17 03:45:35 2015 +0100 ARM: 8416/1: Feroceon: use of_iomap() to map register base The chain of of_address_to_resource() and ioremap() can be replaced with of_iomap(). Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a5f4c561b3b19a9bc43a81da6382b0098ebbc1fb Author: Stefan Agner <stefan@xxxxxxxx> Date: Thu Aug 13 00:01:52 2015 +0100 ARM: 8415/1: early fixmap support for earlycon Add early fixmap support, initially to support permanent, fixed mapping support for early console. A temporary, early pte is created which is migrated to a permanent mapping in paging_init. This is also needed since the attributes may change as the memory types are initialized. The 3MiB range of fixmap spans two pte tables, but currently only one pte is created for early fixmap support. Re-add FIX_KMAP_BEGIN to the index calculation in highmem.c since the index for kmap does not start at zero anymore. This reverts 4221e2e6b316 ("ARM: 8031/1: fixmap: remove FIX_KMAP_BEGIN and FIX_KMAP_END") to some extent. Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6dc2e1bf8e0025db2ff8a35ee3e0bd88203d4402 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon May 18 15:32:20 2015 +0300 drm: bridge/dw_hdmi: fix register I2CM_ADDRESS register name I2CM_ADDRESS became a MESS, fix it, also change guarding define to __DW_HDMI_H__ , since the driver is not IMX specific. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b872a8e16b3fb17c3fe1e97f4ed0803f4a740aae Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jun 5 12:22:46 2015 +0100 drm: bridge/dw_hdmi: fix phy enable/disable handling The dw_hdmi enable/disable handling is particularly weak in several regards: * The hotplug interrupt could call hdmi_poweron() or hdmi_poweroff() while DRM is setting a mode, which could race with a mode being set. * Hotplug will always re-enable the phy whenever it detects an active hotplug signal, even if DRM has disabled the output. Resolve all of these by introducing a mutex to prevent races, and a state-tracking bool so we know whether DRM wishes the output to be enabled. We choose to use our own mutex rather than ->struct_mutex so that we can still process interrupts in a timely fashion. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 2fada109cfb7dbfd52f472140d6477a27a1f0d6d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 28 12:21:34 2015 +0100 drm: bridge/dw_hdmi: rename dw_hdmi_phy_enable_power() dw_hdmi_phy_enable_power() is not about enabling and disabling power. It is about allowing or preventing power-down mode being entered - the register is documented as "Power-down enable (active low 0b)." This can be seen as the bit has no effect when the HDMI phy is operational on iMX6 hardware. Rename the function to dw_hdmi_phy_enable_powerdown() to reflect the documentation, make it take a bool for the 'enable' argument, and invert the value to be written. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 552e67859c3ae9277ed26d5393d733207d129dae Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 11:04:00 2015 +0100 drm: bridge/dw_hdmi: avoid enabling interface in mode_set On a mode set, DRM makes the following sequence of calls: * for_each_encoder * bridge mode_fixup * encoder mode_fixup * crtc mode_fixup * for_each_encoder * bridge disable * encoder prepare * bridge post_disable * disable unused encoders * crtc prepare * crtc mode_set * for_each_encoder * encoder mode_set * bridge mode_set * crtc commit * for_each_encoder * bridge pre_enable * encoder commit * bridge enable dw_hdmi enables the HDMI output in both the bridge mode_set() and also the bridge enable() step. This is duplicated work - we can avoid the setup in mode_set() and just do it in the enable() stage. This simplifies the code a little. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f709ec07e38a714f8a959f28b3e0388cfb1b2540 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 16:09:39 2015 +0100 drm: bridge/dw_hdmi: enable audio only if sink supports audio Only enable audio support if the sink supports audio in some form, as defined via its EDID. We discover this capability using the generic drm_detect_monitor_audio() function. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 05b1342f5014b7c100834ae179dd90d1a1da7366 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 15:35:52 2015 +0100 drm: bridge/dw_hdmi: clean up HDMI vs DVI mode handling The FSL kernel detects the HDMI vendor id, and uses this to set hdmi->edid_cfg.hdmi_cap, which is then used to set mdvi appropriately, rather than detecting whether we are outputting a CEA mode. Update the dw_hdmi code to use this logic, but lets eliminate the mdvi variable, prefering the more verbose "hdmi->sink_is_hdmi" instead. Use the generic drm_detect_hdmi_monitor() to detect a HDMI sink. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8add41900e2177b20c28b64d13d8da8088c9606b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 11:14:00 2015 +0100 drm: bridge/dw_hdmi: don't support any pixel doubled modes As mentioned in the previous commit, the dw-hdmi driver does not support pixel doubled modes at present; it does not configure the PLL correctly for these modes. Therefore, filter out the double-clocked modes as we presently are unable to support them. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d10ca826b71b4c1c3ecab846528881aa0cf24266 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 11:25:00 2015 +0100 drm: bridge/dw_hdmi: remove pixel repetition setting for all VICs dw_hdmi sets a pixel repetition factor of 1 for VICs 10-15, 25-30 and 35-38. However, DRM uses their native resolutions in its timing information. For example, VIC 14 can be 1440x480 with no repetition, or 720x480 with one pixel repetition. As DRM uses 1440 pixels per line for this video mode, we need no pixel repetition. In any case, pixel repetition appears broken in dw_hdmi. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b90120a9660884b8f11bbb9904fbaa4c12d17e0a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 12:59:58 2015 +0000 drm: bridge/dw_hdmi: introduce interfaces to enable and disable audio iMX6 devices suffer from an errata (ERR005174) where the audio FIFO can be emptied while it is partially full, resulting in misalignment of the audio samples. To prevent this, the errata workaround recommends writing N as zero until the audio FIFO has been loaded by DMA. Writing N=0 prevents the HDMI bridge from reading from the audio FIFO, effectively disabling audio. This means we need to provide the audio driver with a pair of functions to enable/disable audio. These are dw_hdmi_audio_enable() and dw_hdmi_audio_disable(). A spinlock is introduced to ensure that setting the CTS/N values can't race, ensuring that the audio driver calling the enable/disable functions (which are called in an atomic context) can't race with a modeset. Tested-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b5814fff27c6d0212b86306bdd01fe3aea99cabb Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 12:50:58 2015 +0000 drm: bridge/dw_hdmi: introduce interface to setting sample rate Introduce dw_hdmi_set_sample_rate(), which allows us to configure the audio sample rate, setting the CTS/N values appropriately. Tested-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b91eee8cd8a547e43e271e5908e16c4a53c9416d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 23:27:17 2015 +0000 drm: bridge/dw_hdmi: remove mhsyncpolarity/mvsyncpolarity/minterlaced Remove the struct hdmi_vmode mhsyncpolarity/mvsyncpolarity/minterlaced members, which are only used within a single function. We can directly reference the appropriate mode->flags instead. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4b9bcaa7f18ef7c599963464d282bc769997f83b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 00:12:41 2015 +0100 drm: bridge/dw_hdmi: use our own drm_device Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a1b9f2ae213dd085bbe3c9fa68c5c4af5db9c77b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jun 5 12:18:09 2015 +0100 drm: bridge/dw_hdmi: remove unused 'regmap' struct member This driver does not make use of regmaps, let's remove this unnecessary structure member. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d083c312cba2735566af9598cb281ea2ae6b729a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 23:14:16 2015 +0000 drm: bridge/dw_hdmi: simplify hdmi_config_AVI() a little When a YCBCR format is selected, we can merely copy the colorimetry information directly as we use the same definitions for both the unpacked AVI info frame and the hdmi_data_info structure. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d4ac4cb69e79e3175329e03262354beef6aab38b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 20:06:50 2015 +0000 drm: bridge/dw_hdmi: use drm_hdmi_avi_infoframe_from_display_mode() Use drm_hdmi_avi_infoframe_from_display_mode() to compose the AVI frame. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f879b38f9155e85dc30a2e1e7d18b06251a7f9f8 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 12:53:29 2015 +0000 drm: bridge/dw_hdmi: clean up hdmi_set_clk_regenerator() Clean up hdmi_set_clk_regenerator() by allowing it to take the audio sample rate and ratio directly, rather than hiding it inside the function. Raise the unsupported pixel clock/sample rate message from debug to error level as this results in audio not working correctly. Tested-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 39cc1535fe1e401c523065f7b219ac1cd76e4a7d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Mar 31 18:34:11 2015 +0100 drm: bridge/dw_hdmi: clean up phy configuration The phy configuration is dependent on the SoC, and we look up values for some of the registers in SoC specific data. However, we had partially programmed the phy before we had successfully looked up the clock rate. Also, we were only checking that we had a valid configuration for the currctrl register. Move all these lookups to the start of this function instead, so we can check that all lookups were successful before beginning to program the phy. Tested-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 36b8ae0d608696cb8b48639813ec22be99c4a8e6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Mar 31 18:23:16 2015 +0100 drm: imx/dw_hdmi: move phy comments The phy comments in dw_hdmi.c applied to the iMX6 version. Move these comments to the iMX6 dw_hdmi-imx data along side the data. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 627563d1696b8978b550ed192acc1bc8fc461da5 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Mar 28 18:13:52 2015 +0000 drm/edid: add function to help find SADs Add a function to find the start of the SADs in the ELD. This complements the helper to retrieve the SAD count. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 158d3b2ad18ca4570c9929b9b31d298d86fa2c02 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Aug 18 11:25:50 2015 +0200 MIPS: Fix LLVM build issue. Matthew Fortune <Matthew.Fortune@xxxxxxxxxx> reports: The genex.S file appears to mix the case of a macro between its definition and use. A cut down example of this is below. The macro __build_clear_none has lower case 'build' but ends up being instantiated with upper case BUILD. Can this be fixed on master. It has been picked up by the LLVM integrated assembler which is currently case sensitive. We are likely to fix the assembler as well but the code is currently inconsistent in the kernel. .macro __build_clear_none .endm .macro __BUILD_HANDLER exception handler clear verbose ext .align 5 .globl handle_\exception; .align 2; .type handle_\exception, @function; .ent handle_\exception, 0; handle_\exception: .frame $29, 184, $29 .set noat .globl handle_\exception\ext; .type handle_\exception\ext, @function; handle_\exception\ext: __BUILD_clear_\clear .endm .macro BUILD_HANDLER exception handler clear verbose __BUILD_HANDLER \exception \handler \clear \verbose _int .endm BUILD_HANDLER ftlb ftlb none silent Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Reported-by: Matthew Fortune <Matthew.Fortune@xxxxxxxxxx> commit d9232a3da8683cd9c9854a858bcca968fe5f3bca Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Thu Jul 23 16:43:56 2015 +1000 cxl: Add alternate MMIO error handling userspace programs using cxl currently have to use two strategies for dealing with MMIO errors simultaneously. They have to check every read for a return of all Fs in case the adapter has gone away and the kernel has not yet noticed, and they have to deal with SIGBUS in case the kernel has already noticed, invalidated the mapping and marked the context as failed. In order to simplify things, this patch adds an alternative approach where the kernel will return a page filled with Fs instead of delivering a SIGBUS. This allows userspace to only need to deal with one of these two error paths, and is intended for use in libraries that use cxl transparently and may not be able to safely install a signal handler. This approach will only work if certain constraints are met. Namely, if the application is both reading and writing to an address in the problem state area it cannot assume that a non-FF read is OK, as it may just be reading out a value it has previously written. Further - since only one page is used per context a write to a given offset would be visible when reading the same offset from a different page in the mapping (this only applies within a single context, not between contexts). An application could deal with this by e.g. making sure it also reads from a read-only offset after any reads to a read/write offset. Due to these constraints, this functionality must be explicitly requested by userspace when starting the context by passing in the CXL_START_WORK_ERR_FF flag. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fc9e9cbf4e48f28525edd27e285820988f1a54b1 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:11 2015 +0200 powerpc/nvram: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2e16acc5ee3626bcd32e2252c8260b65efde7b36 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:12 2015 +0200 powerpc/pseries: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 39bfd715b4837433a86c168c610880e9ae2185ae Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 09:26:51 2015 +1000 powerpc/eeh: Disable automatically blocked PCI config pcibios_set_pcie_reset_state() could be called to complete reset request when passing through PCI device, flag EEH_PE_ISOLATED is set before saving the PCI config sapce. On some Broadcom adapters, EEH_PE_CFG_BLOCKED is automatically set when the flag EEH_PE_ISOLATED is marked. It caused bogus data saved from the PCI config space, which will be restored to the PCI adapter after the reset. Eventually, the hardware can't work with corrupted data in PCI config space. The patch fixes the issue with eeh_pe_state_mark_no_cfg(), which doesn't set EEH_PE_CFG_BLOCKED when seeing EEH_PE_ISOLATED on the PE, in order to avoid the bogus data saved and restored to the PCI config space. Reported-by: Rajanikanth H. Adaveeshaiah <rajanikanth.ha@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit dd497154d359ba9d2d3e71075bed794b93b47b48 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:57:40 2015 +1000 powerpc: Export include/uapi/asm/eeh.h This adds include/uapi/asm/eeh.h to kbuild so that the header file will be exported automatically with below command. The header file was added by commit ed3e81ff2016 ("powerpc/eeh: Move PE state constants around") make INSTALL_HDR_PATH=/tmp/headers \ SRCARCH=powerpc headers_install Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e0ad784b65a64a617179598addb417d49dd4e08f Author: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 10:41:20 2015 +0530 powerpc/pseries: enable RTC class support A working rtc kernel driver is needed so that hwclock can synchronize system clock to rtc during shutdown/boot. We already have a powernv platform rtc driver located at drivers/rtc/rtc-opal.c. However it depends on CONFIG_RTC_CLASS which is disabled by default. Hence the driver isn't enabled and not compiled for the powernv kernel. We fix this by enabling rtc class support in pseries defconfig which enables this driver and compiles it into the pseries kernel. In case CONFIG_PPC_POWERNV is not enabled we fallback to 'Generic RTC support' driver which emulates the legacy 'PC RTC driver'. Signed-off-by: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1d805440a364b4a68562e70119d8f94456698e55 Author: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 11:09:01 2015 +0530 powerpc/numa: initialize distance lookup table from drconf path In some situations, a NUMA guest that supports ibm,dynamic-memory-reconfiguration node will end up having flat NUMA distances between nodes. This is because of two problems in the current code. 1) Different representations of associativity lists. There is an assumption about the associativity list in initialize_distance_lookup_table(). Associativity list has two forms: a) [cpu,memory]@x/ibm,associativity has following format: <N> <N integers> b) ibm,dynamic-reconfiguration-memory/ibm,associativity-lookup-arrays <M> <N> <M associativity lists each having N integers> M = the number of associativity lists N = the number of entries per associativity list Fix initialize_distance_lookup_table() so that it does not assume "case a". And update the caller to skip the length field before sending the associativity list. 2) Distance table not getting updated from drconf path. Node distance table will not get initialized in certain cases as ibm,dynamic-reconfiguration-memory path does not initialize the lookup table. Call initialize_distance_lookup_table() from drconf path with appropriate associativity list. Reported-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 53522982fc3c254bb4444c336cb005c8636930c8 Author: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Date: Fri Aug 7 13:45:54 2015 +1000 powerpc/powernv: move dma_get_required_mask from pnv_phb to pci_controller_ops Simplify the dma_get_required_mask call chain by moving it from pnv_phb to pci_controller_ops, similar to commit 763d2d8df1ee ("powerpc/powernv: Move dma_set_mask from pnv_phb to pci_controller_ops"). Previous call chain: 0) call dma_get_required_mask() (kernel/dma.c) 1) call ppc_md.dma_get_required_mask, if it exists. On powernv, that points to pnv_dma_get_required_mask() (platforms/powernv/setup.c) 2) device is PCI, therefore call pnv_pci_dma_get_required_mask() (platforms/powernv/pci.c) 3) call phb->dma_get_required_mask if it exists 4) it only exists in the ioda case, where it points to pnv_pci_ioda_dma_get_required_mask() (platforms/powernv/pci-ioda.c) New call chain: 0) call dma_get_required_mask() (kernel/dma.c) 1) device is PCI, therefore call pci_controller_ops.dma_get_required_mask if it exists 2) in the ioda case, that points to pnv_pci_ioda_dma_get_required_mask() (platforms/powernv/pci-ioda.c) In the p5ioc2 case, the call chain remains the same - dma_get_required_mask() does not find either a ppc_md call or pci_controller_ops call, so it calls __dma_get_required_mask(). Signed-off-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 73b341efda6664afbb0b6884eae60f04208b4128 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:19:47 2015 +1000 powerpc/mm: Drop CONFIG_PPC_HAS_HASH_64K The relation between CONFIG_PPC_HAS_HASH_64K and CONFIG_PPC_64K_PAGES is painfully complicated. But if we rearrange it enough we can see that PPC_HAS_HASH_64K essentially depends on PPC_STD_MMU_64 && PPC_64K_PAGES. We can then notice that PPC_HAS_HASH_64K is used in files that are only built for PPC_STD_MMU_64, meaning it's equivalent to PPC_64K_PAGES. So replace all uses and drop it. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 55f8b5b82fe7ab21da4153ed177b6fe17b1d59a3 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:19:46 2015 +1000 powerpc/mm: Simplify page size kconfig dependencies For config options with only a single value, guarding the single value with 'if' is the same as adding a 'depends' statement. And it's more standard to just use 'depends'. And if the option has both an 'if' guard and a 'depends' we can collapse them into a single 'depends' by combining them with &&. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 953005770ec3b52132a4cdbdbce74bd0de2b8490 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:19:45 2015 +1000 powerpc/mm: Drop the 64K on 4K version of pte_pagesize_index() Now that support for 64k pages with a 4K kernel is removed, this code is unreachable. CONFIG_PPC_HAS_HASH_64K can only be true when CONFIG_PPC_64K_PAGES is also true. But when CONFIG_PPC_64K_PAGES is true we include pte-hash64.h which includes pte-hash64-64k.h, which defines both pte_pagesize_index() and crucially __real_pte, which means this definition can never be used. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 57fb907da89977640ef183556a621336c1348fa0 Author: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Date: Wed Mar 25 00:28:48 2015 -0500 iommu/fsl: Really fix init section(s) content '0f1fb99 iommu/fsl: Fix section mismatch' was intended to address the modpost warning and the potential crash. Crash which is actually easy to trigger with a 'unbind' followed by a 'bind' sequence. The fix is wrong as fsl_of_pamu_driver.driver gets added by bus_add_driver() to a couple of klist(s) which become invalid/corrupted as soon as the init sections are freed. Depending on when/how the init sections storage is reused various/random errors and crashes will happen 'cd70d46 iommu/fsl: Various cleanups' contains annotations that go further down the wrong path laid by '0f1fb99 iommu/fsl: Fix section mismatch' Now remove all the incorrect annotations from the above mentioned patches (not exactly a revert) and those previously existing in the code, This fixes the modpost warning(s), the unbind/bind sequence crashes and the random errors/crashes Fixes: 0f1fb99b62ce ("iommu/fsl: Fix section mismatch") Fixes: cd70d4659ff3 ("iommu/fsl: Various cleanups") Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Acked-by: Varun Sethi <Varun.Sethi@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Tested-by: Madalin Bucur <Madalin.Bucur@xxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f444f1f898d7c4bbe45d12ffe3f38349ff83ec4a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:19:44 2015 +1000 powerpc/cell: Drop support for 64K local store on 4K kernels Back in the olden days we added support for using 64K pages to map the SPU (Synergistic Processing Unit) local store on Cell, when the main kernel was using 4K pages. This was useful at the time because distros were using 4K pages, but using 64K pages on the SPUs could reduce TLB pressure there. However these days the number of Cell users is approaching zero, and supporting this option adds unpleasant complexity to the memory management code. So drop the option, CONFIG_SPU_FS_64K_LS, and all related code. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Jeremy Kerr <jk@xxxxxxxxxx> commit 74b5037baa2011a2799e2c43adde7d171b072f9e Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:19:43 2015 +1000 powerpc/mm: Fix pte_pagesize_index() crash on 4K w/64K hash The powerpc kernel can be built to have either a 4K PAGE_SIZE or a 64K PAGE_SIZE. However when built with a 4K PAGE_SIZE there is an additional config option which can be enabled, PPC_HAS_HASH_64K, which means the kernel also knows how to hash a 64K page even though the base PAGE_SIZE is 4K. This is used in one obscure configuration, to support 64K pages for SPU local store on the Cell processor when the rest of the kernel is using 4K pages. In this configuration, pte_pagesize_index() is defined to just pass through its arguments to get_slice_psize(). However pte_pagesize_index() is called for both user and kernel addresses, whereas get_slice_psize() only knows how to handle user addresses. This has been broken forever, however until recently it happened to work. That was because in get_slice_psize() the large kernel address would cause the right shift of the slice mask to return zero. However in commit 7aa0727f3302 ("powerpc/mm: Increase the slice range to 64TB"), the get_slice_psize() code was changed so that instead of a right shift we do an array lookup based on the address. When passed a kernel address this means we index way off the end of the slice array and return random junk. That is only fatal if we happen to hit something non-zero, but when we do return a non-zero value we confuse the MMU code and eventually cause a check stop. This fix is ugly, but simple. When we're called for a kernel address we return 4K, which is always correct in this configuration, otherwise we use the slice mask. Fixes: 7aa0727f3302 ("powerpc/mm: Increase the slice range to 64TB") Reported-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit cf27ec930be906e142c752f9161197d69ca534d7 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 11 16:48:32 2015 +0100 iommu/io-pgtable-arm: Unmap and free table when overwriting with block When installing a block mapping, we unconditionally overwrite a non-leaf PTE if we find one. However, this can cause a problem if the following sequence of events occur: (1) iommu_map called for a 4k (i.e. PAGE_SIZE) mapping at some address - We initialise the page table all the way down to a leaf entry - No TLB maintenance is required, because we're going from invalid to valid. (2) iommu_unmap is called on the mapping installed in (1) - We walk the page table to the final (leaf) entry and zero it - We only changed a valid leaf entry, so we invalidate leaf-only (3) iommu_map is called on the same address as (1), but this time for a 2MB (i.e. BLOCK_SIZE) mapping) - We walk the page table down to the penultimate level, where we find a table entry - We overwrite the table entry with a block mapping and return without any TLB maintenance and without freeing the memory used by the now-orphaned table. This last step can lead to a walk-cache caching the overwritten table entry, causing unexpected faults when the new mapping is accessed by a device. One way to fix this would be to collapse the page table when freeing the last page at a given level, but this would require expensive iteration on every map call. Instead, this patch detects the case when we are overwriting a table entry and explicitly unmaps the table first, which takes care of both freeing and TLB invalidation. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Brian Starkey <brian.starkey@xxxxxxx> Tested-by: Brian Starkey <brian.starkey@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5b9fb5e6c6c74666f88f34bd0db183b9c4269d97 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 7 10:25:41 2015 +0100 drm: atmel-hlcdc: add support for sama5d4 SoCs Describe capabilities of the HLCDC IP found on sama5d4 SoCs and add a new entry to the atmel_hlcdc_of_match table. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 6b22cadce2175c997435d93cd3ef9b0389c45ad7 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 7 10:12:41 2015 +0100 drm: atmel-hlcdc: add support for at91sam9n12 SoC Describe capabilities of the HLCDC IP found on at91sam9n12 SoC and add a new entry to the atmel_hlcdc_of_match table. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 348ef85f6216c1a11726a165a7f32b8516aa8014 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 7 09:30:20 2015 +0100 drm: atmel-hlcdc: add support for at91sam9x5 SoCs Describe capabilities of the HLCDC IP found on at91sam9x5 SoCs and add a new entry to the atmel_hlcdc_of_match table. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 923f869846014ac56937690a7cc968414a1e92d0 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 11:18:09 2015 +0100 drm: atmel-hlcdc: add RGB565 and RGB444 output support The HLCDC IP supports RGB565 and RGB444 output formats. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit aa690a9edc5750bb5955b524dd7db842e36004eb Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 15:10:26 2015 +0200 drm: atmel-hlcdc: add the missing DRM_ATOMIC flag The atmel-hlcdc driver already supports atomic operations, add the missing DRM_ATOMIC flag to expose the atomic features to userspace. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit e14c71c849f838a4618fe46f5b6a0414c07891d1 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 13:43:26 2015 +0200 drm: atmel-hlcdc: add PRIME support Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit a9c909ce8c7853b4fc16055c50eb50d91e20cb93 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Aug 17 12:22:52 2015 -0700 selftests/x86: Add syscall_nt selftest I've had this sitting around for a while. Add it to the selftests tree. Far Cry running under Wine depends on this behavior. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/ee4d63799a9e5294b70930618b71d04d2770eb2d.1439838962.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 33f3df41d03879ab86c7f2d650e67b655e0b85c8 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Aug 17 12:22:51 2015 -0700 selftests/x86: Disable sigreturn_64 sigreturn_64 was broken by ed596cde9425 ("Revert x86 sigcontext cleanups"). Turn it off until we have a better fix. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a184e75ff170a0bcd76bf376c41cad2c402fe9f7.1439838962.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5dd19249607474ed680f16b4f5e8477d2b68689 Merge: 6b7e265 512255a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Aug 18 09:39:47 2015 +0200 Merge branch 'x86/urgent' into x86/asm to fix up conflicts and to pick up fixes Conflicts: arch/x86/entry/entry_64_compat.S arch/x86/math-emu/get_address.c Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ecc7c518b3017821a6b26fb5fdaa548afa8ee236 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Aug 17 15:54:41 2015 +0300 iwlwifi: mvm: fix a race in D0i3 vs. Tx path When we enter D0i3, we must stop TXing otherwise the sequence number we use might conflict with the firmware's internal TX. In order to do so, we have IWL_MVM_STATUS_IN_D0I3 which should prevent any Tx while we enter D0i3. There is a bug in this code since we may Tx even if IWL_MVM_STATUS_IN_D0I3 is set. This can happen as long as mvm->d0i3_ap_sta_id is not set. To make sure that we don't have any packet in the Tx path while we set mvm->d0i3_ap_sta_id, call synchronize_net only after we already set mvm->d0i3_ap_sta_id. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b3df22475423a99cc1f6c4b202970fa89a4d9716 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Thu Aug 6 10:26:50 2015 +0300 iwlwifi: mvm: don't disconnect on beacon loss in D0I3 Currently if we wake up during D0I3 due to beacon loss we disconnect immediately. This behaviour causes redundant disconnection, which could be prevented by polling as it is usually done in mac80211. Instead, we prefer reporting beacon loss and let mac80211 try polling before disconnection. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e192cd121dbe009f67eddd5171d588994b15486c Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Fri Aug 14 02:35:32 2015 +0200 iwlwifi: out-of-bounds access in iwl_init_sband_channels KASan error report: ================================================================== BUG: KASan: out of bounds access in iwl_init_sband_channels+0x207/0x260 [iwlwifi] at addr ffff8800c2d0aac8 Read of size 4 by task modprobe/329 ================================================================== Both loops of this function compare data from the 'chan' array and then check if the index is valid. The 2 conditions should be inverted to avoid an out-of-bounds access. Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit da0fa5ebb254d1617455ace9af1ce2f1d375a95d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Aug 16 10:39:49 2015 +0300 iwlwifi: bump mvm firmware API to 16 The driver is now able to handle -16.ucode. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 783eaee6dbf475827b5fbdb13c17c54510aaa95e Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Tue Jul 28 16:50:51 2015 +0300 iwlwifi: rs: disable MIMO only if allowed in configuration Fix bug where MIMO is disabled for low latency TX on P2P VIF regardless of configuration. Make it dependent on IWL_MVM_RS_DISABLE_P2P_MIMO compilation option. Change configuration so that MIMO will be disabled only in SDIO platforms. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 74f4e0cc61080f63f28e8d519bdf437957e64217 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Aug 14 00:21:45 2015 +0200 bcma: switch GPIO portions to use GPIOLIB_IRQCHIP This switches the BCMA GPIO driver to use GPIOLIB_IRQCHIP to handle its interrupts instead of rolling its own copy of the irqdomain handling etc. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1165dd900cc8de3addbc8bef7e6196b07799d25e Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Date: Wed Aug 12 14:20:46 2015 +0800 ath9k: add correct MAC/BB name for ar9561 MAC/BB name is"????" if the MAC/BB is unknown. Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit fc645df093926d8cd33a9dd9b6532ff3fd937193 Author: Guy Mishol <guym@xxxxxx> Date: Tue Aug 11 10:02:57 2015 +0300 wl18xx: add diversity statistics Add diversity statistics and sync the driver statistics acx and debugfs representation with the current fw api. Signed-off-by: Guy Mishol <guym@xxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c48276cbbeaedd49cdf32f2b734b4a1ec6d6ccad Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Tue Aug 11 10:02:56 2015 +0300 wl18xx: update statistics acx and debugfs files Sync the driver statistics acx and debugfs representation with the current fw api. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f10746fef3dfa8546808989f71c3543db832f374 Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Tue Aug 11 00:25:53 2015 +0200 rt2x00: adjust EEPROM_SIZE for rt2500usb rt2500usb_validate_eeprom() read data up to 0x6e (EEPROM_CALIBRATE_OFFSET) but only 0x6a bytes has been allocated and read from the eeprom. This lead to out-of-bound accesses and invalid values for EEPROM_BBPTUNE_R17 and EEPROM_CALIBRATE_OFFSET. Change the EEPROM_SIZE to 0x6e in order to retrieve all the fields. Tested with a rt2570 device. Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Acked-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bafc6e4cd897ef14015d8d32a04ee9bfa8d91370 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Mon Aug 10 12:05:39 2015 -0400 mwl8k: refactor some conditionals for clarity CC [M] drivers/net/wireless/mwl8k.o drivers/net/wireless/mwl8k.c: In function â??mwl8k_bss_info_changedâ??: drivers/net/wireless/mwl8k.c:3290:2: warning: â??ap_mcs_ratesâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] memcpy(cmd->mcs_set, mcs_rates, 16); ^ drivers/net/wireless/mwl8k.c:4987:5: note: â??ap_mcs_ratesâ?? was declared here u8 ap_mcs_rates[16]; ^ The warning was bogus. But the conditionals were rather complicated, with multiple redundant checks. This consolidates the checking and makes it more readable IMHO. Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9ff4b6de26a72f76450943548ee7d9d779eeaac5 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Tue Apr 7 03:13:00 2015 +0900 rtlwifi: rtl8192cu: Remove and replace routine in hw.c and mac.c I remove duplicated routines which related rtl92cu_set_hw_reg(). 1. rtl92c_set_qos() and HW_VAR_AC_PARAM routine are similar code. so i replace code with rtlpriv->cfg->ops->set_hw_reg(). 2. rtl92c_set_mac_addr() and 'HW_VAR_ETHER_ADDR' case at rtl92cu_set_hw_reg() routine are similar code. so i removed rtl92c_set_mac_addr() function. also it was not used anywhere. 3. remove HW_VAR_ACM_CTRL routine in rtl92cu_set_hw_reg(). if rtl_usb->acm_method is not EACMWAY2_SW, HW_VAR_ACM_CTRL is called from HW_VAR_AC_PARAM. but it never called. because acm_method is always EACMWAY2_SW. so i remove acm_method check routine and HW_VAR_ACM_CTRL routine. both usb and pci interface is not used HW_VAR_ACM_CTRL. but i can't test pci interface module, so i didn't modify pci code. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bf27cea49502799be15beab3567ea2bd9901ad2f Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Tue Mar 31 00:55:32 2015 +0900 rtlwifi: rtl8192cu: remove duplicated routine in hw.c and mac.c rtl92c_set_xxx_filter is same routine with rtl92cu_set_hw_reg. so i remove those functions that are rtl92c_set_xxx_filter. (rtl92c_get_xxx_filter is also same reason.) also i add code updating struct rtl_mac member variable in the rtl92cu_set_hw_reg. after that, no more _update_mac_setting is not useful. thus i remove that. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 15f6d96ded057b898312b0a088a964d585a779b1 Merge: 94e92a7 8f9c98d Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Aug 18 08:44:22 2015 +0300 Merge tag 'mac80211-next-for-davem-2015-08-14' mac80211-next.git iwlwifi needs new mac80211 patches so merge mac80211-next.git to wireless-drivers-next.git. commit 0b233dc7167884f95f08e796ac6a6767ae7d0d70 Merge: f376d4a 65d7ab8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 21:33:06 2015 -0700 Merge branch 'Identifier-Locator-Addressing' Tom Herbert says: ==================== net: Identifier Locator Addressing - Part I This patch set provides rudimentary support for Identifier Locator Addressing or ILA. The basic concept of ILA is that we split an IPv6 address into a 64 bit locator and 64 bit identifier. The identifier is the identity of an entity in communication ("who"), and the locator expresses the location of the entity ("where"). Applications use externally visible address that contains the identifier. When a packet is actually sent, a translation is done that overwrites the first 64 bits of the address with a locator. The packet can then be forwarded over the network to the host where the addressed entity is located. At the receiver, the reverse translation is done so the that the application sees the original, untranslated address. Presumably an external control plane will provide identifier->locator mappings. v2: - Fix compilation erros when LWT not configured - Consolidate ILA into a single ila.c v3: - Change pseudohdr argument od inet_proto_csum_replace functions to be a bool v4: - In ila_build_state check locator being in netlink params before allocating tunnel state The data path for ILA is a simple NAT translation that only operates on the upper 64 bits of a destination address in IPv6 packets. The basic process is: 1) Lookup 64 bit identifier (lower 64 bits of destination) 2) If a match is found a) Overwrite locator (upper 64 bits of destination) with the new locator b) Adjust any checksum that has destination address included in pseudo header 3) Send or receive packet ILA is a means to implement tunnels or network virtualization without encapsulation. Since there is no encapsulation involved, we assume that stateless support in the network for IPv6 (e.g. RSS, ECMP, TSO, etc.) just works. Also, since we're minimally changing the packet many of the worries about encapsulation (MTU, checksum, fragmentation) are not relevant. The downside is that, ILA is not extensible like other encapsulations (GUE for instance) so it might not be appropriate for all use cases. Also, this only makes sense to do in IPv6! A key aspect of ILA is performance. The intent is that ILA would be used in data centers in virtualizing tasks or jobs. In the fullest incarnation all intra data center communications might be targeted to virtual ILA addresses. This is basically adding a new virtualization capability to the existing services in a datacenter, so there is a strong expectation is that this does not degrade performance for existing applications. Performance seems to be dependent on how ILA is hooked into kernel. ILA can be implemented under some different models: - Mechanically it is a form a stateless DNAT - It can be thought of as a type of (source) routing - As a functional replacement of encapsulation In this patch set we hook into the data path using Light Weight Tunnels (LWT) infrastructure. As part of that, we add support in LWT to redirect dst input. iproute will be modified to take a new ila encap type. ILA can be configured like: ip route add 3333:0:0:1:5555:0:2:0/128 \ encap ila 2001:0:0:2 via 2401:db00:20:911a:face:0:27:0 ip -6 addr add 3333:0:0:1:5555:0:1:0/128 dev eth0 ip route add table local local 2001:0:0:1:5555:0:1:0/128 encap ila 3333:0:0:1 dev lo So sending to destination 3333:0:0:1:5555:0:2:0 will have destination of 2001:0:0:2:5555:0:2:0 on the wire. Performance results are below. With ILA we see about a 10% drop in pps compared to non-ILA. Much of this drop can be attributed to the loss of early demux on input (translation occurs after it is attempted). We will address this in the next patch set. Also, IPvlan input path does not work with ILA since the routing is bypassed-- this will be addressed in a future patch. Performance testing: Performing netperf TCP_RR with 200 clients: Non-ILA baseline 84.92% CPU utilization 1861922.9 tps 93/163/330 50/90/99% latencies ILA single destination 83.16% CPU utilization 1679683.4 tps 105/180/332 50/90/99% latencies References: Slides from netconf: http://vger.kernel.org/netconf2015Herbert-ILA.pdf Slides from presentation at IETF: https://www.ietf.org/proceedings/92/slides/slides-92-nvo3-1.pdf I-D: https://tools.ietf.org/html/draft-herbert-nvo3-ila-00 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65d7ab8de582bc668e3dabb6ff48f750098a6e78 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:42:27 2015 -0700 net: Identifier Locator Addressing module Adding new module name ila. This implements ILA translation. Light weight tunnel redirection is used to perform the translation in the data path. This is configured by the "ip -6 route" command using the "encap ila <locator>" option, where <locator> is the value to set in destination locator of the packet. e.g. ip -6 route add 3333:0:0:1:5555:0:1:0/128 \ encap ila 2001:0:0:1 via 2401:db00:20:911a:face:0:25:0 Sets a route where 3333:0:0:1 will be overwritten by 2001:0:0:1 on output. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abc5d1ff3e8f9b4a9d274818459b123e31981dc9 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:42:26 2015 -0700 net: Add inet_proto_csum_replace_by_diff utility function This function updates a checksum field value and skb->csum based on a value which is the difference between the old and new checksum. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b048d6d9d0b0b90e1e94f2393796bbf1fa8df4e Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:42:25 2015 -0700 net: Change pseudohdr argument of inet_proto_csum_replace* to be a bool inet_proto_csum_replace4,2,16 take a pseudohdr argument which indicates the checksum field carries a pseudo header. This argument should be a boolean instead of an int. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2536862311d2276454ddef9dc36d6551a4b400fd Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:42:24 2015 -0700 lwt: Add support to redirect dst.input This patch adds the capability to redirect dst input in the same way that dst output is redirected by LWT. Also, save the original dst.input and and dst.out when setting up lwtunnel redirection. These can be called by the client as a pass- through. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f376d4adfdd2d860aea3e99aa86e98324621ece7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 21:24:59 2015 -0700 enic: Fix sparse warning in vnic_devcmd_init(). >> drivers/net/ethernet/cisco/enic/vnic_dev.c:1095:13: sparse: incorrect type in assignment (different address spaces) drivers/net/ethernet/cisco/enic/vnic_dev.c:1095:13: expected void *res drivers/net/ethernet/cisco/enic/vnic_dev.c:1095:13: got void [noderef] <asn:2>* Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ecf842f65c76f7dc2420a5295dfbf01ec7232320 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 21:22:26 2015 -0700 mlx5e: Fix sparse warnings in mlx5e_handle_csum(). >> drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:173:44: sparse: incorrect type in argument 1 (different base types) drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:173:44: expected restricted __sum16 [usertype] n drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:173:44: got restricted __be16 [usertype] check_sum Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7f5408493aeb01532927b2276316797a03ed6ee Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 4 14:07:22 2015 -0500 inode: rename i_wb_list to i_io_list There's a small consistency problem between the inode and writeback naming. Writeback calls the "for IO" inode queues b_io and b_more_io, but the inode calls these the "writeback list" or i_wb_list. This makes it hard to an new "under writeback" list to the inode, or call it an "under IO" list on the bdi because either way we'll have writeback on IO and IO on writeback and it'll just be confusing. I'm getting confused just writing this! So, rename the inode "for IO" list variable to i_io_list so we can add a new "writeback list" in a subsequent patch. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Dave Chinner <dchinner@xxxxxxxxxx> commit 6c3af955935223217f23ef0ae672d3842418ec50 Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Mon Aug 17 15:24:10 2015 +0300 crypto: caam - add support for LS1021A LS1021A is a QorIQ SoC having little endian CAAM. There are a few differences b/w QorIQ and i.MX from CAAM perspective: 1. i.MX platforms are somewhat special wrt. 64-bit registers: -big endian format at 64-bit level: MSW at address+0 and LSW at address+4 -little endian format at 32-bit level (within MSW and LSW) and thus need special handling. 2. No CCM (clock controller module) for QorIQ. No CAAM clocks to enable / disable. A new Kconfig option - CRYPTO_DEV_FSL_CAAM_LE - is added to indicate CAAM is little endian (*). It is hidden from the user (to avoid misconfiguration); when adding support for a new platform with LE CAAM, either the Kconfig needs to be updated or the corresponding defconfig needs to indicate that CAAM is LE. (*) Using a DT property to provide CAAM endianness would not allow for the ifdeffery. In order to keep changes to a minimum, the following changes are postponed: -endianness fix of the last word in the S/G (rsvd2, bpid, offset), fields are always 0 anyway; -S/G format fix for i.MX7 (yes, i.MX7 support was not added yet, but still...) Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c1ae632ad2608d0214291a64ca719f900ffef14b Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 14 07:24:23 2015 -0700 crypto: qat - Don't move data inside output buffer Change memcpy to memmove because the copy is done within the same buffer. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3c5f0ed78e976be705218cad62acf6a68e9d121e Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 10:14:16 2015 -0300 crypto: vmx - Fixing GHASH Key issue on little endian GHASH table algorithm is using a big endian key. In little endian machines key will be LE ordered. After a lxvd2x instruction key is loaded as it is, LE/BE order, in first case it'll generate a wrong table resulting in wrong hashes from the algorithm. Bug affects only LE machines. In order to fix it we do a swap for loaded key. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Leonidas S Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1d4aa0b4c1816e8ca92a6aadb0d8f6b43c56c0d0 Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 10:12:22 2015 -0300 crypto: vmx - Fixing AES-CTR counter bug AES-CTR is using a counter 8bytes-8bytes what miss match with kernel specs. In the previous code a vadduwm was done to increment counter. Replacing this for a vadduqm now considering both cases counter 8-8 bytes and full 16bytes. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Leonidas S Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4524cd093fa8f03b198e095ebbb679c30839559c Author: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Date: Fri Jul 10 17:11:01 2015 +0800 powerpc/t1023rdb/dts: set ifc nand chip select from 2 to 1 IFC NAND chip select is wrongly mapped to 2 in reg property of NAND node. Due to this kernel is not able probe NAND flash. Set chip select to 1 in reg property. Signed-off-by: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 163e60c169752b2e817735d28d3bd2d73cd268f3 Author: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Date: Fri Aug 14 11:12:10 2015 +0800 powerpc/mpc85xx:Add SCFG device tree support of T104x Signed-off-by: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit c8254e27fd34cdd21febd5b1caca409117914332 Author: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Date: Fri Aug 14 11:12:09 2015 +0800 powerpc/85xx: Add binding for SCFG SCFG provides SoC specific configuration and status registers for the chip. Add this for powerpc platform. Signed-off-by: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 0d748ec5eaedfa0802e02df6b5912d32c752f88e Author: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Date: Thu Jul 30 10:33:55 2015 +0530 powerpc/fsl-booke: Add T1040D4RDB/T1042D4RDB board support T1040D4RDB/T1042D4RDB are Freescale Reference Design Board which can support T1040/T1042 QorIQ Power Architectureâ?¢ processor respectively T1040D4RDB/T1042D4RDB board Overview ------------------------------------- - SERDES Connections, 8 lanes supporting: - PCI - SGMII - SATA 2.0 - QSGMII(only for T1040D4RDB) - DDR Controller - Supports rates of up to 1600 MHz data-rate - Supports one DDR4 UDIMM -IFC/Local Bus - NAND flash: 1GB 8-bit NAND flash - NOR: 128MB 16-bit NOR Flash - Ethernet - Two on-board RGMII 10/100/1G ethernet ports. - PHY #0 remains powered up during deep-sleep - CPLD - Clocks - System and DDR clock (SYSCLK, â??DDRCLKâ??) - SERDES clocks - Power Supplies - USB - Supports two USB 2.0 ports with integrated PHYs - Two type A ports with 5V@xxxx per port. - SDHC - SDHC/SDXC connector - SPI - On-board 64MB SPI flash - I2C - Devices connected: EEPROM, thermal monitor, VID controller - Other IO - Two Serial ports - ProfiBus port Add support for T1040/T1042D4RDB board: -add device tree -Add entry in corenet_generic.c Signed-off-by: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 32d3c4ff01e0c765594b7dd8f5c539e9dca92223 Author: Hou Zhiqiang <B48286@xxxxxxxxxxxxx> Date: Mon Aug 10 17:39:45 2015 +0800 powerpc/85xx: Remove unused pci fixup hooks on c293pcie The c293pcie board is an endpoint device and it doesn't need PM, so remove hooks pcibios_fixup_phb and pcibios_fixup_bus. Signed-off-by: Hou Zhiqiang <B48286@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 69399ee9cbcb00bbdd9ff6fafafde23ef404d40f Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Aug 13 19:51:36 2015 +0800 powerpc/e6500: hw tablewalk: optimize a bit for tcd lock acquiring codes It makes no sense to put the instructions for calculating the lock value (cpu number + 1) and the clearing of eq bit of cr1 in lbarx/stbcx loop. And when the lock is acquired by the other thread, the current lock value has no chance to equal with the lock value used by current cpu. So we can skip the comparing for these two lock values in the lbz/bne loop. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit e5e55cc08c76134e38526a66b3bd30b1b71bbf63 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Aug 13 19:51:35 2015 +0800 powerpc/e6500: remove the stale TCD_LOCK macro Since we moved the "lock" to be the first element of struct tlb_core_data in commit 82d86de25b9c ("powerpc/e6500: Make TLB lock recursive"), this macro is not used by any code. Just delete it. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit e8c4b3dfe17a7e83ea134d6a857f9a3e8e71357f Author: Jason Jin <Jason.Jin@xxxxxxxxxxxxx> Date: Mon Aug 17 15:50:57 2015 +0800 powerpc: Add a vga alias node for P1022 In u-boot, when set the video as console, the name 'vga' is used as a general name for the video device, during the fdt_fixup_stdout process, the 'vga' name is used to search in the dtb to setup the 'linux,stdout-path' node. Though the P1022 DIU is not VGA-compatible device, to meet the 'vga' name used in u-boot, the vga alias node is added for P1022 in this patch. At the same time, a display alias is also added so that no other components grow dependencies on the vga alias node. Signed-off-by: Jason Jin <Jason.Jin@xxxxxxxxxxxxx> Signed-off-by: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 228b687d9e20f367e4d5ea8723e3abbf0892db61 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 07:21:43 2015 -0700 hwmon: (ltc2978) Add support for LTC3886 LTC3886 is a is a dual PolyPhase DC/DC synchronous step-down switching regulator controller. It is mostly command compatible to LTC3883, but supports two phases instead of one. Suggested-by: Michael Jones <mike@xxxxxxxxxxxxx> Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 52aae6af71e0e78e25c64e13266917bb323984d5 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 06:38:01 2015 -0700 hwmon: (ltc2978) Add support for LTC2980 and LTM2987 LTC2980 and LTM2987 are command compatible to LTC2977. They consist of two LTC2977 on a single die, and are instantiated as two separate chips, each supporting eight channels. Suggested-by: Michael Jones <mike@xxxxxxxxxxxxx> Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit acb092cdf9a285fd4706bc6ffd5f99840d53bba5 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 06:27:56 2015 -0700 hwmon: (ltc2978) Add missing chip IDs for LTC2978 and LTC3882 Add additional chip ID for an older revision of LTC2978, as well as two chip IDs for LTC3882. Turns out the LTC3882 does support the LTC2978_MFR_SPECIAL_ID register, and reading it returns its chip ID, but the register is undocumented. Suggested-by: Michael Jones <mike@xxxxxxxxxxxxx> Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 00c83371911836c47654e1de5b4706a0e578922a Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 06:21:01 2015 -0700 hwmon: (ltc2978) Use correct ID mask to detect all chips Per information from Linear Technologies, the ID mask is 12 bit for all chips of this series. Use this mask to detect chips to ensure that all chip revisions are detected. Suggested-by: Michael Jones <mike@xxxxxxxxxxxxx> Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 5e8018fc61423e677398d4ad4d72df70b9788e77 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Aug 14 16:03:40 2015 +0200 netfilter: nf_conntrack: add efficient mark to zone mapping This work adds the possibility of deriving the zone id from the skb->mark field in a scalable manner. This allows for having only a single template serving hundreds/thousands of different zones, for example, instead of the need to have one match for each zone as an extra CT jump target. Note that we'd need to have this information attached to the template as at the time when we're trying to lookup a possible ct object, we already need to know zone information for a possible match when going into __nf_conntrack_find_get(). This work provides a minimal implementation for a possible mapping. In order to not add/expose an extra ct->status bit, the zone structure has been extended to carry a flag for deriving the mark. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit deedb59039f111c41aa5a54ee384c8e7c08bc78a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Aug 14 16:03:39 2015 +0200 netfilter: nf_conntrack: add direction support for zones This work adds a direction parameter to netfilter zones, so identity separation can be performed only in original/reply or both directions (default). This basically opens up the possibility of doing NAT with conflicting IP address/port tuples from multiple, isolated tenants on a host (e.g. from a netns) without requiring each tenant to NAT twice resp. to use its own dedicated IP address to SNAT to, meaning overlapping tuples can be made unique with the zone identifier in original direction, where the NAT engine will then allocate a unique tuple in the commonly shared default zone for the reply direction. In some restricted, local DNAT cases, also port redirection could be used for making the reply traffic unique w/o requiring SNAT. The consensus we've reached and discussed at NFWS and since the initial implementation [1] was to directly integrate the direction meta data into the existing zones infrastructure, as opposed to the ct->mark approach we proposed initially. As we pass the nf_conntrack_zone object directly around, we don't have to touch all call-sites, but only those, that contain equality checks of zones. Thus, based on the current direction (original or reply), we either return the actual id, or the default NF_CT_DEFAULT_ZONE_ID. CT expectations are direction-agnostic entities when expectations are being compared among themselves, so we can only use the identifier in this case. Note that zone identifiers can not be included into the hash mix anymore as they don't contain a "stable" value that would be equal for both directions at all times, f.e. if only zone->id would unconditionally be xor'ed into the table slot hash, then replies won't find the corresponding conntracking entry anymore. If no particular direction is specified when configuring zones, the behaviour is exactly as we expect currently (both directions). Support has been added for the CT netlink interface as well as the x_tables raw CT target, which both already offer existing interfaces to user space for the configuration of zones. Below a minimal, simplified collision example (script in [2]) with netperf sessions: +--- tenant-1 ---+ mark := 1 | netperf |--+ +----------------+ | CT zone := mark [ORIGINAL] [ip,sport] := X +--------------+ +--- gateway ---+ | mark routing |--| SNAT |-- ... + +--------------+ +---------------+ | +--- tenant-2 ---+ | ~~~|~~~ | netperf |--+ +-----------+ | +----------------+ mark := 2 | netserver |------ ... + [ip,sport] := X +-----------+ [ip,port] := Y On the gateway netns, example: iptables -t raw -A PREROUTING -j CT --zone mark --zone-dir ORIGINAL iptables -t nat -A POSTROUTING -o <dev> -j SNAT --to-source <ip> --random-fully iptables -t mangle -A PREROUTING -m conntrack --ctdir ORIGINAL -j CONNMARK --save-mark iptables -t mangle -A POSTROUTING -m conntrack --ctdir REPLY -j CONNMARK --restore-mark conntrack dump from gateway netns: netperf -H 10.1.1.2 -t TCP_STREAM -l60 -p12865,5555 from each tenant netns tcp 6 431995 ESTABLISHED src=40.1.1.1 dst=10.1.1.2 sport=5555 dport=12865 zone-orig=1 src=10.1.1.2 dst=10.1.1.1 sport=12865 dport=1024 [ASSURED] mark=1 secctx=system_u:object_r:unlabeled_t:s0 use=1 tcp 6 431994 ESTABLISHED src=40.1.1.1 dst=10.1.1.2 sport=5555 dport=12865 zone-orig=2 src=10.1.1.2 dst=10.1.1.1 sport=12865 dport=5555 [ASSURED] mark=2 secctx=system_u:object_r:unlabeled_t:s0 use=1 tcp 6 299 ESTABLISHED src=40.1.1.1 dst=10.1.1.2 sport=39438 dport=33768 zone-orig=1 src=10.1.1.2 dst=10.1.1.1 sport=33768 dport=39438 [ASSURED] mark=1 secctx=system_u:object_r:unlabeled_t:s0 use=1 tcp 6 300 ESTABLISHED src=40.1.1.1 dst=10.1.1.2 sport=32889 dport=40206 zone-orig=2 src=10.1.1.2 dst=10.1.1.1 sport=40206 dport=32889 [ASSURED] mark=2 secctx=system_u:object_r:unlabeled_t:s0 use=2 Taking this further, test script in [2] creates 200 tenants and runs original-tuple colliding netperf sessions each. A conntrack -L dump in the gateway netns also confirms 200 overlapping entries, all in ESTABLISHED state as expected. I also did run various other tests with some permutations of the script, to mention some: SNAT in random/random-fully/persistent mode, no zones (no overlaps), static zones (original, reply, both directions), etc. [1] http://thread.gmane.org/gmane.comp.security.firewalls.netfilter.devel/57412/ [2] https://paste.fedoraproject.org/242835/65657871/ Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2af0a709134f842b67151d6b97d512184fcc4ad6 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Mon Aug 17 16:00:21 2015 +0200 Bluetooth: hci_bcm: Use non-sleep version of gpio_set_value We should not sleep while holding a spinlock. bcm_gpio_set_power is called while holding the bcm_device_list lock. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dc028da54ed353edd44dca88b7eb19fd5126c354 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 17:13:27 2015 -0600 inet: Move VRF table lookup to inlined function Table lookup compiles out when VRF is not enabled. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 808d28c468a89e8680396d98aea96024b6f5afdc Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 10:26:49 2015 -0600 net: Fix docbook warning for IFF_VRF_MASTER enum kbuild test robot reported: tree: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master head: d52736e24fe2e927c26817256f8d1a3c8b5d51a0 commit: 4e3c89920cd3a6cfce22c6f537690747c26128dd [751/762] net: Introduce VRF related flags and helpers reproduce: make htmldocs >> Warning(include/linux/netdevice.h:1293): Enum value 'IFF_VRF_MASTER' not described in enum 'netdev_priv_flags' Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f52bdcf6ba1bd81597b1505a222430676548b3a Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 07:49:20 2015 -0600 net: Updates to netif_index_is_vrf As Eric noted netif_index_is_vrf is not called with rcu_read_lock held, so wrap the dev_get_by_index_rcu in rcu_read_lock and unlock. If VRF is not enabled or oif is 0 skip the device lookup. In both cases index cannot be the VRF master. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9cd3778cd7e8f165675705511cfcd4ea6eb88d27 Merge: 0aa65cc bbceefc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 15:51:36 2015 -0700 Merge branch 'mlx5e-next' Achiad Shochat says: ==================== Driver updates 16-Aug-2015 This patchset contains bug fixes, new RSS and pause parameters ethtool options, and support for RX CHECKSUM_COMPLETE. Patchset was applied and tested over commit adc6310 ("Merge branch 'mv88e6xxx-switchdev-fdb'"). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bbceefce9adfc9cf7b4110727c96c841ba8c7964 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:52 2015 +0300 net/mlx5e: Support RX CHECKSUM_COMPLETE Only for packets with first ethertype set to IPv4/6 for now. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c2d18ef22df1bdccfb11a5b85b29e4e61b9d9c6 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:51 2015 +0300 net/mlx5e: Support ethtool get/set_pauseparam Only rx/tx pause settings. Autoneg setting is currently not supported. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6fa1bcab6be6e9bd93f80e345c7e9a4ec7861df9 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:50 2015 +0300 net/mlx5e: Ethtool link speed setting fixes - Port speed settings are applied by the device only upon port admin status transition from DOWN to UP. So we enforce this transition regardless of the port's current operation state (which may be occasionally DOWN if for example the network cable is disconnected). - Fix the PORT_UP/DOWN device interface enum - Set the local_port bit in the device PAOS register - EXPORT the PAOS (Port Administrative and Operational Status) register set/query access functions. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9a40271cfe625950dc4ef0cbd8429c0d28e62d1 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:49 2015 +0300 net/mlx5e: HW LRO changes/fixes - Change the maximum LRO session size from 16KB to 64KB - Reduce the LRO session timeout from 512us to 32us in order to reduce the TCP latency of non-LRO'ed flows. - Fix skb_shinfo(skb)->gso_size and set skb_shinfo(skb)->gso_type. - Fix a bug accessing un-initialized mdev pointer. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e842b1001dc9b90cc62b489b07ff18e123c8c858 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:48 2015 +0300 net/mlx5e: Support smaller RX/TX ring sizes We un-intentionally limited the minimum rings size too much. TX minimum ring size reduced from 128 to 64. RX minimum ring size reduced from 128 to 2. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d75b2bc8a8c0ce5567a6ecef52e194d117efe3f Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:47 2015 +0300 net/mlx5e: Add ethtool RSS configuration options - get_rxfh_key_size - get_rxfh_indir_size - get/set_rxfh indirection table and RSS Toeplitz hash key - get_rxnfc Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 936896e9080b84b0e8b9b23e84fb734e91f5ba6d Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:46 2015 +0300 net/mlx5e: Make RSS indirection table size a constant The indirection table size was defined by a variable that was actually assigned a constant value. Since we do not have any forseen intension to make it configurable we simply made it a constant. We also limit the number of channels such that the RSS indirection table could always populate all RX rings. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57afead5445de85658e3fa3811ef0cdbf5ed73bf Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:45 2015 +0300 net/mlx5e: Have a single RSS Toeplitz hash key No need to generate a unique key per TIR. Generating a single key per netdev and copying it to all its TIRs. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0aa65cc0c2ca7e3908b1e4ae7946d909a4882249 Merge: 863960b c0015bf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 15:41:21 2015 -0700 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-08-16 Here's what's likely the last bluetooth-next pull request for 4.3: - 6lowpan/802.15.4 refactoring, cleanups & fixes - Document 6lowpan netdev usage in Documentation/networking/6lowpan.txt - Support for UART based QCA Bluetooth controllers - Power management support for Broeadcom Bluetooth controllers - Change LE connection initiation to always use passive scanning first - Support for new Silicon Wave USB ID Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e97fedb9ef9868ff24d588be781906cf7c1b59ae Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 4 13:40:00 2015 -0500 sync: serialise per-superblock sync operations When competing sync(2) calls walk the same filesystem, they need to walk the list of inodes on the superblock to find all the inodes that we need to wait for IO completion on. However, when multiple wait_sb_inodes() calls do this at the same time, they contend on the the inode_sb_list_lock and the contention causes system wide slowdowns. In effect, concurrent sync(2) calls can take longer and burn more CPU than if they were serialised. Stop the worst of the contention by adding a per-sb mutex to wrap around wait_sb_inodes() so that we only execute one sync(2) IO completion walk per superblock superblock at a time and hence avoid contention being triggered by concurrent sync(2) calls. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Dave Chinner <dchinner@xxxxxxxxxx> commit 74278da9f70d84d715601fe794567a6d2bfdf078 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 4 12:37:22 2015 -0500 inode: convert inode_sb_list_lock to per-sb The process of reducing contention on per-superblock inode lists starts with moving the locking to match the per-superblock inode list. This takes the global lock out of the picture and reduces the contention problems to within a single filesystem. This doesn't get rid of contention as the locks still have global CPU scope, but it does isolate operations on different superblocks form each other. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Dave Chinner <dchinner@xxxxxxxxxx> commit cbedaac63481dea52327127a9f1c60f092bd6b07 Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Mar 12 08:19:11 2015 -0400 inode: add hlist_fake to avoid the inode hash lock in evict Some filesystems don't use the VFS inode hash and fake the fact they are hashed so that all the writeback code works correctly. However, this means the evict() path still tries to remove the inode from the hash, meaning that the inode_hash_lock() needs to be taken unnecessarily. Hence under certain workloads the inode_hash_lock can be contended even if the inode is never actually hashed. To avoid this add hlist_fake to test if the inode isn't actually hashed to avoid taking the hash lock on inodes that have never been hashed. Based on Dave Chinner's inode: add IOP_NOTHASHED to avoid inode hash lock in evict basd on Al's suggestions. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Dave Chinner <dchinner@xxxxxxxxxx> commit d353d7587d02116b9732d5c06615aed75a4d3a47 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 4 11:16:36 2015 -0500 writeback: plug writeback at a high level Doing writeback on lots of little files causes terrible IOPS storms because of the per-mapping writeback plugging we do. This essentially causes imeediate dispatch of IO for each mapping, regardless of the context in which writeback is occurring. IOWs, running a concurrent write-lots-of-small 4k files using fsmark on XFS results in a huge number of IOPS being issued for data writes. Metadata writes are sorted and plugged at a high level by XFS, so aggregate nicely into large IOs. However, data writeback IOs are dispatched in individual 4k IOs, even when the blocks of two consecutively written files are adjacent. Test VM: 8p, 8GB RAM, 4xSSD in RAID0, 100TB sparse XFS filesystem, metadata CRCs enabled. Kernel: 3.10-rc5 + xfsdev + my 3.11 xfs queue (~70 patches) Test: $ ./fs_mark -D 10000 -S0 -n 10000 -s 4096 -L 120 -d /mnt/scratch/0 -d /mnt/scratch/1 -d /mnt/scratch/2 -d /mnt/scratch/3 -d /mnt/scratch/4 -d /mnt/scratch/5 -d /mnt/scratch/6 -d /mnt/scratch/7 Result: wall sys create rate Physical write IO time CPU (avg files/s) IOPS Bandwidth ----- ----- ------------ ------ --------- unpatched 6m56s 15m47s 24,000+/-500 26,000 130MB/s patched 5m06s 13m28s 32,800+/-600 1,500 180MB/s improvement -26.44% -14.68% +36.67% -94.23% +38.46% If I use zero length files, this workload at about 500 IOPS, so plugging drops the data IOs from roughly 25,500/s to 1000/s. 3 lines of code, 35% better throughput for 15% less CPU. The benefits of plugging at this layer are likely to be higher for spinning media as the IO patterns for this workload are going make a much bigger difference on high IO latency devices..... Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Tested-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 863960b4c5c564819b153d53cffdf3f68283eaa2 Merge: 2ea273d 373fb08 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 15:25:30 2015 -0700 Merge branch 'enic-devcmd2' Govindarajulu Varadarajan says: ==================== enic: add devcmd2 This series adds new devcmd2 support. The first two patches are code refactoring. devcmd is an interface for driver to communicate with fw/adaptor. It involves writing data to hardware registers and waiting for the result. This mechanism does not scale well. The queuing of "no wait" devcmds is done in firmware memory rather than on the host. Firmware memory is a rather more scarce and valuable resource than host memory. A devcmd storm from one vf can disrupt the service on other pf/vf. The lack of flow control allows for possible denial of server from one VM to another. Devcmd2 uses work queue to post the devcmds, just like tx work queue. This allows better flow control. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 373fb0873d4325a7afa04aec29ced0c122d1f8a9 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Sun Aug 16 01:44:54 2015 +0530 enic: add devcmd2 devcmd is an interface for driver to communicate with fw/adaptor. It involves writing data to hardware registers and waiting for the result. This mechanism does not scale well. The queuing of "no wait" devcmds is done in firmware memory rather than on the host. Firmware memory is a rather more scarce and valuable resource than host memory. A devcmd storm from one vf can disrupt the service on other pf/vf. The lack of flow control allows for possible denial of server from one VM to another. Devcmd2 uses work queue to post the devcmds, just like tx work queue. This allows better flow control. Initialize devcmd2, if fails we fall back to devcmd1. Also change the driver version. Signed-off-by: N V V Satyanarayana Reddy <nalreddy@xxxxxxxxx> Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fda3f52bdbbe576d78ca9ea84912b48fa51f0e90 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Sun Aug 16 01:44:53 2015 +0530 enic: add devcmd2 resources Add devcmd resources to vnic_res_type. Add data types used by devcmd. Signed-off-by: N V V Satyanarayana Reddy <nalreddy@xxxxxxxxx> Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a3c2f838c69406688ed0dbae473c3a08eeb5519 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Sun Aug 16 01:44:52 2015 +0530 enic: use netdev_<foo> or dev_<foo> instead of pr_<foo> pr_info does not give any details about the interface involved. This patch uses netdev_info for printing the message. Use dev_info where netdev is not ready. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b89f3a19de05992a70f727072b65f3ea1397075 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Sun Aug 16 01:44:51 2015 +0530 enic: move struct definition from .c to .h file Some of the structure definitions are in .c file to make them private to that file. This patch moves the struct definition to .h file, So that their definitions are accessible from other files. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e94d6c4ab69562423fdc18801050a84462c2787 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 16:55:18 2015 -0500 NFS: Don't fsync twice for O_SYNC/IS_SYNC files generic_file_write_iter() will already do an fsync on our behalf if the file descriptor is O_SYNC or the file is marked as IS_SYNC. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e824410ffcf4b245296b56c6fdf7b9797fce8c3e Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Wed Aug 12 16:17:54 2015 -0600 NVMe: Set queue max segments This sets the queue's max segment size to match the device's capabilities. The default of 128 is usable until a device's transfer capability exceeds 512k, assuming a device page size of 4k. Many nvme devices exceed that transfer limit, so this lets the block layer know what kind of commands it to allow to form rather than unnecessarily split them. One additional segment is added to account for a transfer that may start in the middle of a page. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2ea273d76a4869c097c6b1a1070162add2f66a6e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 14:37:06 2015 -0700 net: Export bpf_prog_create_from_user(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec120da6f0fe59f175c2a8faa0a7700280c39644 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 22:43:38 2015 +0100 ipv6: trivial whitespace fix Change brace placement to be in line with coding standards Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4a3e90ba5739cfd761b6befadae9728bd3641ed Author: Phil Sutter <phil@xxxxxx> Date: Sat Aug 15 00:37:15 2015 +0200 rhashtable-test: extend to test concurrency After having tested insertion, lookup, table walk and removal, spawn a number of threads running operations on the same rhashtable. Each of them will: 1) insert it's own set of objects, 2) lookup every successfully inserted object and finally 3) remove objects in several rounds until all of them have been removed, making sure the remaining ones are still found after each round. This should put a good amount of load onto the system and due to synchronising thread startup via two semaphores also extensive concurrent table access. The default number of ten threads returned within half a second on my local VM with two cores. Running 200 threads took about four seconds. If slow systems suffer too much from this though, the default could be lowered or even set to zero so this extended test does not run at all by default. Signed-off-by: Phil Sutter <phil@xxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1f066d4ee0bde4bb0ff4ac295218b631729e0de Merge: 2bd736f 53cf037 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 14:31:42 2015 -0700 Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge Antonio Quartulli says: ==================== Included changes: - avoid integer overflow in GW selection routine - prevent race condition by making capability bit changes atomic (use clear/set/test_bit) - fix synchronization issue in mcast tvlv handler - fix crash on double list removal of TT Request objects - fix leak by puring packets enqueued for sending upon iface removal - ensure network header pointer is set in skb ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2bd736fa0d8a1da90e6ccaa6a79e56a8d2ae60c4 Merge: 90eb7fa 8f9c98d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 14:25:04 2015 -0700 Merge tag 'mac80211-next-for-davem-2015-08-14' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== Another pull request for the next cycle, this time with quite a bit of content: * mesh fixes/improvements from Alexis, Bob, Chun-Yeow and Jesse * TDLS higher bandwidth support (Arik) * OCB fixes from Bertold Van den Bergh * suspend/resume fixes from Eliad * dynamic SMPS support for minstrel-HT (Krishna Chaitanya) * VHT bitrate mask support (Lorenzo Bianconi) * better regulatory support for 5/10 MHz channels (Matthias May) * basic support for MU-MIMO to avoid the multi-vif issue (Sara Sharon) along with a number of other cleanups. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18df8a87badac0ab05679df9bd44b5033e30d97c Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Aug 18 04:50:36 2015 +0800 dlm: sctp_accept_from_sock() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 90eb7fa51ccb9af58c437581af73c4a1d5fd2b9f Merge: a1c234f 30da679 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 14:22:48 2015 -0700 Merge branch 'bpf_fanout' Willem de Bruijn says: ==================== packet: add cBPF and eBPF fanout modes Allow programmable fanout modes. Support both classical BPF programs passed directly and extended BPF programs passed by file descriptor. One use case is packet steering by deep packet inspection, for instance for packet steering by application layer header fields. Separate the configuration of the fanout mode and the configuration of the program, to allow dynamic updates to the latter at runtime. Changes v1 -> v2: - follow SO_LOCK_FILTER semantics on filter updates - only accept eBPF programs of type BPF_PROG_TYPE_SOCKET_FILTER - rename PACKET_FANOUT_BPF to PACKET_FANOUT_CBPF to match man 2 bpf usage: "classic" vs. "extended" BPF. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30da679e679dbe7bb103c5d9c137ec5a070b7150 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Fri Aug 14 22:31:37 2015 -0400 selftests/net: test extended BPF fanout mode Test PACKET_FANOUT_EBPF by inserting a program into the the kernel with bpf(), then attaching it to the fanout group. Observe the same payload-based distribution as in the PACKET_FANOUT_CBPF test. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95e22792fa5460e579a69171777ff79d8725be29 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Fri Aug 14 22:31:36 2015 -0400 selftests/net: test classic bpf fanout mode Test PACKET_FANOUT_CBPF by inserting a cBPF program that selects a socket by payload. Requires modifying the test program to send packets with multiple payloads. Also fix a bug in testing the return value of mmap() Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2e520956a1ab636698f8160194c9b8ac0989aab Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Fri Aug 14 22:31:35 2015 -0400 packet: add extended BPF fanout mode Add fanout mode PACKET_FANOUT_EBPF that accepts an en extended BPF program to select a socket. Update the internal eBPF program by passing to socket option SOL_PACKET/PACKET_FANOUT_DATA a file descriptor returned by bpf(). Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47dceb8ecdc1c3ad1818dfea3d659a05b74c3fc2 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Fri Aug 14 22:31:34 2015 -0400 packet: add classic BPF fanout mode Add fanout mode PACKET_FANOUT_CBPF that accepts a classic BPF program to select a socket. This avoids having to keep adding special case fanout modes. One example use case is application layer load balancing. The QUIC protocol, for instance, encodes a connection ID in UDP payload. Also add socket option SOL_PACKET/PACKET_FANOUT_DATA that updates data associated with the socket group. Fanout mode PACKET_FANOUT_CBPF is the only user so far. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00dcffaebf7b4ab0524c56694c22de6b0eb22feb Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:25 2015 -0300 dlm: fix reconnecting but not sending data There are cases on which lowcomms_connect_sock() is called directly, which caused the CF_WRITE_PENDING flag to not bet set upon reconnect, specially on send_to_sock() error handling. On this last, the flag was already cleared and no further attempt on transmitting would be done. As dlm tends to connect when it needs to transmit something, it makes sense to always mark this flag right after the connect. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit acee4e527d5f069351f835602b23602d01de5e1f Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:24 2015 -0300 dlm: replace BUG_ON with a less severe handling BUG_ON() is a severe action for this case, specially now that DLM with SCTP will use 1 socket per association. Instead, we can just close the socket on this error condition and return from the function. Also move the check to an earlier stage as it won't change and thus we can abort as soon as possible. Although this issue was reported when still using SCTP with 1-to-many API, this cleanup wouldn't be that simple back then because we couldn't close the socket and making sure such event would cease would be hard. And actually, previous code was closing the association, yet SCTP layer is still raising the new data event. Probably a bug to be fixed in SCTP. Reported-by: <tan.hu@xxxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit ee44b4bc054afc586c92558a225055ef9fd25d17 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:23 2015 -0300 dlm: use sctp 1-to-1 API DLM is using 1-to-many API but in a 1-to-1 fashion. That is, it's not needed but this causes it to use sctp_do_peeloff() to mimic an kernel_accept() and this causes a symbol dependency on sctp module. By switching it to 1-to-1 API we can avoid this dependency and also reduce quite a lot of SCTP-specific code in lowcomms.c. The caveat is that now DLM won't always use the same src port. It will choose a random one, just like TCP code. This allows the peers to attempt simultaneous connections, which now are handled just like for TCP. Even more sharing between TCP and SCTP code on DLM is possible, but it is intentionally left for a later commit. Note that for using nodes with this commit, you have to have at least the early fixes on this patchset otherwise it will trigger some issues on old nodes. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 356344c4c36dc960f90a3457dd67fe2efcf92417 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:22 2015 -0300 dlm: fix not reconnecting on connecting error handling If we don't clear that bit, lowcomms_connect_sock() will not schedule another attempt, and no further attempt will be done. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 0d737a8cfd8341d6ba8215443a3ddfe5ddd4e51a Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:21 2015 -0300 dlm: fix race while closing connections When a connection have issues DLM may need to close it. Therefore we should also cancel pending workqueues for such connection at that time, and not just when dlm is not willing to use this connection anymore. Also, if we don't clear CF_CONNECT_PENDING flag, the error handling routines won't be able to re-connect as lowcomms_connect_sock() will check for it. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 28926a0965a943f7c1586342f9482a6e41b4f0c9 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:20 2015 -0300 dlm: fix connection stealing if using SCTP When using SCTP and accepting a new connection, DLM currently validates if the peer trying to connect to it is one of the cluster nodes, but it doesn't check if it already has a connection to it or not. If it already had a connection, it will be overwritten, and the new one will be used for writes, possibly causing the node to leave the cluster due to communication breakage. Still, one could DoS the node by attempting N connections and keeping them open. As said, but being explicit, both situations are only triggerable from other cluster nodes, but are doable with only user-level perms. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 75e3b37d059856a972a5bf2bdfeac0f0f2db9ea3 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Aug 11 16:40:43 2015 -0400 hrtimer: Drop return code of hrtimer_switch_to_hres() It's not checked by the caller. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150811164043.538241ef@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a1c234f95cae2d293047bb6c36e7a4840dbac815 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 14 16:40:40 2015 +0200 lwtunnel: rename ip lwtunnel attributes We already have IFLA_IPTUN_ netlink attributes. The IP_TUN_ attributes look very similar, yet they serve very different purpose. This is confusing for anyone trying to implement a user space tool supporting lwt. As the IP_TUN_ attributes are used only for the lightweight tunnels, prefix them with LWTUNNEL_IP_ instead to make their purpose clear. Also, it's more logical to have them in lwtunnel.h together with the encap enum. Fixes: 3093fbe7ff4b ("route: Per route IP tunnel metadata via lightweight tunnel") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62ee783bf1f872ba879e088a669b04afebee899b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 13:45:36 2015 -0700 smsc911x: Fix crash seen if neither ACPI nor OF is configured or used Commit 0b50dc4fc971 ("Convert smsc911x to use ACPI as well as DT") makes the call to smsc911x_probe_config() unconditional, and no longer fails if there is no device node. device_get_phy_mode() is called unconditionally, and if there is no phy node configured returns an error code. This error code is assigned to phy_interface, and interpreted elsewhere in the code as valid phy mode. This in turn causes qemu to crash when running a variant of realview_pb_defconfig. qemu: hardware error: lan9118_read: Bad reg 0x86 Fixes: 0b50dc4fc971 ("Convert smsc911x to use ACPI as well as DT") Cc: Jeremy Linton <jeremy.linton@xxxxxxx> Cc Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c87acb2558db7a870575dd8e14ded2e5acbdc295 Merge: fbaff3e e69948a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 14:05:14 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next Steffen Klassert says: ==================== pull request (net-next): ipsec-next 2015-08-17 1) Fix IPv6 ECN decapsulation for IPsec interfamily tunnels. From Thomas Egerer. 2) Use kmemdup instead of duplicating it in xfrm_dump_sa(). From Andrzej Hajda. 3) Pass oif to the xfrm lookups so that it gets set on the flow and the resolver routines can match based on oif. From David Ahern. 4) Add documentation for the new xfrm garbage collector threshold. From Alexander Duyck. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05906dec7d7daf197b9b773295c95ad6b9af2a5a Author: Bas Nieuwenhuizen <bas@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 20:08:40 2015 +0200 drm/amdgpu: wait on page directory changes. v2 Pagetables can be moved and therefore the page directory update can be necessary for the current cs even if none of the the bo's are moved. In that scenario there is no fence between the sdma0 and gfx ring, so we add one. v2 (chk): rebased Signed-off-by: Bas Nieuwenhuizen <bas@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b325a789c7e6554a14fae3c2310ee22fa4ca7cf6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 12:50:12 2015 +0200 drm/amdgpu: Select BACKLIGHT_LCD_SUPPORT Explicitly select BACKLIGHT_LCD_SUPPORT to satisfy the direct dependency of BACKLIGHT_CLASS_DEVICE. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 33610527907d532e5abedc2b1026b4992726c3b0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 12:50:11 2015 +0200 drm/radeon: Select BACKLIGHT_LCD_SUPPORT Explicitly select BACKLIGHT_LCD_SUPPORT to satisfy the direct dependency of BACKLIGHT_CLASS_DEVICE. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 432a4ff8b7224908a8bbc34b598f48af3f42b827 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 12 11:46:04 2015 +0200 drm/amdgpu: cleanup sheduler rq handling v2 Rework run queue implementation, especially remove the odd list handling. v2: cleanup the code only, no algorithem change. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit c3b95d4f9e460704e184ded7af60b9c4898f6181 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Aug 14 14:55:27 2015 +0800 drm/amdgpu: move prepare work out of scheduler to cs_ioctl Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 1c8f805af9af445a42b8dbda5f620752996cba44 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Thu Aug 13 13:04:06 2015 +0800 drm/amdgpu: fix unnecessary wake up decrease CPU extra overhead. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 6d1d0ef7433caf1df920116bfd445aa698a7f37d Author: monk.liu <monk.liu@xxxxxxx> Date: Fri Aug 14 13:36:41 2015 +0800 drm/amdgpu: fix duplicated mapping invoke bug fix the bug that there is duplicated bo_update_mapping issued Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 1939e3e265d2fb984b56829c51f5843bfc6d5292 Author: monk.liu <monk.liu@xxxxxxx> Date: Thu Aug 13 16:19:54 2015 +0800 drm/amdgpu: drop bo_list_clone when no scheduler bo_list_clone() will take a lot of time when bo_list hold too much elements, like above 7000 Signed-off-by: Monk.Liu <monk.liu@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit a895c222e7ab5f50ec10e209cd4548ecd5dd9443 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Aug 13 13:20:20 2015 -0400 drm/amdgpu: disable GPU reset by default It's not validated yet and causes more harm than good. Avoids spurious resets. Reviewed-by: Leo Liu <leo.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a8f5bf0b220c28b1b600a5ff3cae0b53c5c2079b Author: monk.liu <monk.liu@xxxxxxx> Date: Wed Aug 12 17:56:52 2015 +0800 drm/amdgpu: fix type mismatch error remaining timeout returned by amdgpu_fence_wait_any can be larger than max int value, thus the truncated 32 bit value in r ends up being negative while its original long value is positive. Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit 281b42230175608dec0cd8dab9908250e7aa36a9 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Aug 12 12:58:31 2015 +0800 drm/amdgpu: add reference for **fence fix fence is released when pass to **fence sometimes. add reference for it. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 1ffd265243803ac5de9927dfc32541f41da2acf3 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 11 17:29:52 2015 +0200 drm/amdgpu: fix waiting for all fences before flipping Otherwise we might see corruption. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4127a59e0b3f914ae8d9843d521a07e117db045a Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 11 16:35:54 2015 +0200 drm/amdgpu: fix UVD return code checking Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Tested-and-Reviewed-by: Leo Liu <leo.liu@xxxxxxx> commit 5b232c2a717684d0dffc27e50bf05e1fb72f9d6e Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 10 14:16:24 2015 +0200 drm/amdgpu: remove scheduler fence list v2 Unused and missing proper locking. v2: add locking comment to commit message. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) commit 05caae8515e12073f4a3beb048e0d289cbe687b7 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 10 14:04:12 2015 +0200 drm/amdgpu: remove amd_sched_wait_emit v2 Not used any more. v2: remove amd_sched_emit as well. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 2983e5cef33b48dede6c023230cc0b54d6f67362 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 10 14:20:55 2015 +0200 drm/amdgpu: remove unecessary scheduler fence callbacks Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit db789d34514b1b1bec20b30f9ae0b61c36f028b8 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 10 17:27:23 2015 +0200 drm/amdgpu: fix scheduler fence implementation Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 5516ab86a873efc78fc356b0979294203f1cffb0 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:50 2015 +0200 drm/amdgpu: don't grab dev->struct_mutex in pm functions Similar to radeon, except that amdgpu doesn't even use struct_mutex to protect anything like the shared z buffer (sane gpu architecture, yay!). And the code already grabs the globa adev->ring_lock, so this code can't race with itself. Which makes struct_mutex completely redundnant. Remove it. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit db4448f78d5982997751120ca358c97a7f96e122 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:49 2015 +0200 drm/amdgpu: Don't take dev->struct_mutex in bo_force_delete It really doesn't protect anything which doesn't have other locks already. Also this is run from driver unload code so not much need for locks anyway. Same changes as for radeon really. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 34ddc3e9d1781a4914c673013c0eaca3ae642641 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:48 2015 +0200 drm/radeon: Don't take dev->struct_mutex in pm functions We already grab 2 device-global locks (write-sema rdev->pm.mclk_lock and rdev->ring_lock), adding another global mutex won't serialize this code more. And since there's really nothing interesting that gets protected in radeon by dev->struct mutex (we only have the global z buffer owners and it's still serializing gem bo destruction in the drm core - which is irrelevant since radeon uses ttm anyway internally) this doesn't add protection. Remove it. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 42192a941e427440e642623c64bda4486c527a54 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:47 2015 +0200 drm/radeon: Don't take dev->struct_mutex in bo_force_delete It really doesn't protect anything which doesn't have other locks already. Also this is run from driver unload code so not much need for locks anyway. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c548b345d15092bf46469a0339d41ae3e106987d Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 7 20:22:40 2015 +0200 drm/amdgpu: remove VI hw bug workaround v3 The workaround simply doesn't work because VM mappings are controlled by userspace not the kernel. Additional to that this is just a performance problem which happens if you have holes in your VM mapping. v2: adjust virtual addr alignment as well. v3: fix trivial warning Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Monk Liu <monk.liu@xxxxxxx> (v1) Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> (v2) commit 00d2a2b21dbd6010247d44cd0cd05e5bc40af8e6 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 7 16:15:36 2015 +0200 drm/amdgpu: cleanup amdgpu_fence_ring_wait_seq Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 68ed3de43428def8ca0105bb53da8863ba456114 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 7 15:57:21 2015 +0200 drm/amdgpu: remove duplicate amdgpu_fence_process implementation Looks like that somehow got missed while during porting the radeon changes. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 02bc0650bc930105346773253e5bf33c2917c601 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 7 13:53:36 2015 +0200 drm/amdgpu: remove amdgpu_fence_wait It was just a wrapper for fence_wait anyway. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 713293b82563006df3cc91582b5b36b092481d76 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 6 20:44:47 2015 +0200 drm/amdgpu: use the reservation obj wait for the UVD msg Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3cdb8119d95411ddbca9f9af13b72e4afce6e6d2 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 6 17:49:25 2015 +0200 drm/amdgpu: remove amdgpu_fence_signaled The common kernel function does the same thing. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f556cb0caeec1ba9b8e5e2aa85b47e76277f5d4b Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Sun Aug 2 11:18:04 2015 +0800 drm/amd: add scheduler fence implementation (v2) scheduler fence is based on kernel fence framework. v2: squash in Christian's build fix Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 4af9f07ccdac96e16f7a0ddaf983891a29ebd11a Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 12:57:31 2015 +0800 drm/amdgpu: use kernel submit helper in vm Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 953e8fd4e734857f6dabbaf325035bf10c4a9c7a Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Thu Aug 6 15:19:12 2015 +0800 drm/amdgpu: use amd_sched_job in its backend ops Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 6f0e54a964932d3d5252ac1ff7ab153c984a5d51 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 5 21:22:10 2015 +0200 drm/amdgpu: cleanup and fix scheduler fence handling v2 v2: rebased Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v1) Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 91404fb20825418fd9ab8e6533bc336e1ffc748e Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 5 18:33:21 2015 +0200 drm/amdgpu: merge amd_sched_entity and amd_context_entity v2 Avoiding a couple of casts. v2: rename c_entity to entity as well Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 4cd7f42cf8f57512b13a13bb7dcbeabb644f5264 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 5 18:18:52 2015 +0200 drm/amdgpu: fix coding style in a couple of places Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit ddf94d33d6434199be08f8965f63d408e2787539 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 5 18:11:14 2015 +0200 drm/amdgpu: remove unused parent entity Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 4cef92670bc908aaa48771fc9c72f4bcfb7d6a35 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Aug 5 19:52:14 2015 +0800 drm/amdgpu: process sched job exactly triggered by fence signal Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 80de5913cf31c86d64547af0715de4822c9b1abe Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Aug 5 19:07:08 2015 +0800 Revert "drm/amdgpu: return new seq_no for amd_sched_push_job" This reverts commit d1d33da8eb86b8ca41dd9ed95738030df5267b95. Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Conflicts: drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c commit 47f38501f11fa45d8a7797f1965448c1e20049d4 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 4 17:51:05 2015 +0200 drm/amdgpu: cleanup amdgpu_ctx inti/fini v2 Cleanup the kernel context handling. v2: rebased Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) commit 0e89d0c16b9446a094215e71734e583c438bf83d Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 4 16:58:36 2015 +0200 drm/amdgpu: stop leaking the ctx id into the scheduler v2 Id's are for the IOCTL ABI only. v2: remove tgid as well Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit efd4ccb59a4acb8b85835d6b053362dbacee40f9 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 4 16:20:31 2015 +0200 drm/amdgpu: cleanup ctx_mgr init/fini Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 34cb581a7d99401cad0e1c43b528690885435f5b Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 4 11:54:48 2015 +0200 drm/amdgpu: fix bo list handling in CS We didn't initialized the mutex in the cloned bo list resulting in nice warnings from lockdep. Also fixes error handling in this function. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 351dba73691fc632b269f531bbce80157f79c5b3 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 3 20:39:12 2015 +0200 drm/amdgpu: reorder the code to avoid forward declerations Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 7484667c6a8a9122d139a287454bc9c8799c3def Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 4 11:30:09 2015 +0800 drm/amdgpu: move sched job process from isr to fence callback This way can avoid interrupt lost, and can process sched job exactly. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 27f6642d066ecea7b535dd9b24e2f41e54f3dd85 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Mon Aug 3 10:27:57 2015 +0800 drm/amdgpu: add amd_sched_next_queued_seq function This function is used to get the next queued sequence number Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 63ad8d5882fcd466861fdbe51fc3a119b894d9a3 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Fri Jul 31 17:54:29 2015 +0800 drm/amdgpu: make last_handled_seq atomic Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f95b7e3e8664fbea4e60f15e7e8a975e4b2b7c3f Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Fri Jul 31 17:18:15 2015 +0800 drm/amdgpu: add amd_sched_commit This function is to update last_emitted_v_seq and wake up the waiters. It should be called by driver in the run_job backend function Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ea199cc9f825f3ef5aab3db5f00dcc639f8a8b02 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Fri Jul 31 16:47:28 2015 +0800 drm/amdgpu: return new seq_no for amd_sched_push_job It is clean to update last_queued_v_seq in the scheduler module Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit dd01d071957ded58d9bae3d3bf6061ada1d84692 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Thu Jul 30 17:19:52 2015 +0800 drm/amdgpu: some code refinement v2 Fix the code alignment, etc. v2: rebase the code Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 03d3a3e634894259a27979f4a372273162611e78 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 20:02:43 2015 +0800 drm/amdgpu: fix null pointer by previous cleanup Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 1763552ee8a7f39a1788d24e27b50d4dee383520 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 11:43:19 2015 +0800 drm/amdgpu: add kernel fence in ib_submit_kernel_helper every sbumission should be able to get a fence. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit ed88a0ee7ff53c292350fc5d38eae161c2372d51 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 13:22:35 2015 +0800 drm/amdgpu: use kernel fence for sdma ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit ab3cb0ce9e865c53f2027068f49a0edb40666f3f Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 13:19:43 2015 +0800 drm/amdgpu: use kernel fence for gfx ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit 6863bc8bb3750049d1b63574ef29cbf94d52eb47 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 16:19:29 2015 +0800 drm/amdgpu: use kernel fence in amdgpu_test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit ed40bfb81af54fcdc1b96ffdeb14d69458234642 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 13:28:16 2015 +0800 drm/amdgpu: use kernel fence for vce ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit 0e3f154a9eb9f7a5ec365c4586a606ba882a3f15 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 13:11:04 2015 +0800 drm/amdgpu: change uvd ib test to use kernel fence directly Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit bb1e38a4bead5025ecca90544f0f733f59996b13 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 18:19:38 2015 +0800 drm/amdgpu: use kernel fence for last_pt_update Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit e40a31159b72742224c249cf57c5313be7ccd629 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 11:38:09 2015 +0800 drm/amdgpu: use kernel fence diretly in amdgpu_bo_fence Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit 1d7dd229f5dded247bc8800f8f4551d3d6314afa Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Jul 31 14:31:49 2015 +0200 drm/amdgpu: clean up amd sched wait_ts and wait_signal Remove code not used at the moment. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 7fc11959018f8ba2d92025679a72339da18a74ad Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Jul 30 11:53:42 2015 +0200 drm/amdgpu: stop using addr to check for BO move v3 It is theoretically possible that a swapped out BO gets the same GTT address, but different backing pages while being swapped in. Instead just use another VA state to note updated areas. Ported from not upstream yet radeon commit with the same name. v2: fix some bugs in the original implementation found in the radeon code. v3: squash in VCE/UVD fix Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7f06c236b964db3d8d086c5a0087b2eb4de3bf7a Author: monk.liu <monk.liu@xxxxxxx> Date: Thu Jul 30 18:28:12 2015 +0800 drm/amdgpu: move wait_queue_head from adev to ring (v2) thus unnecessary wake up could be avoid between rings v2: move wait_queue_head to fence_drv from ring Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit e29551556e055f463fb80cfb07e1cb15641e60a3 Author: monk.liu <monk.liu@xxxxxxx> Date: Thu Jul 30 18:26:18 2015 +0800 drm/amdgpu: re-implement fence_default_wait use fence_wait_any to implement fence_default_wait Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 332dfe907bef6f299f5844f947c4e141eebb8091 Author: monk.liu <monk.liu@xxxxxxx> Date: Thu Jul 30 15:19:05 2015 +0800 drm/amdgpu: new implement for fence_wait_any (v2) origninal method will sleep/schedule at the granurarity of HZ/2 and based on seq signal method, the new implement is based on kernel fance interface, no unnecessary schedule at all v2: replace logic of original amdgpu_fence_wait_any Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 2e536084f24f99f0a2cc0b6ce38ad8298ea58b22 Author: monk.liu <monk.liu@xxxxxxx> Date: Thu Jul 30 14:56:18 2015 +0800 drm/amdgpu: use kernel fence interface when possible Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 8128765ce5fb68e3b34a8f524791d5758514f511 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Jul 3 14:18:26 2015 +0800 drm/amdgpu: use scheduler for VCE ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 7b5ec431770ac581aa23d460f670cfb97c14280d Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Jul 3 14:08:18 2015 +0800 drm/amdgpu: use scheduler for UVD ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 0011fdaa4dab19bf545a28c0d4d164bba4745d29 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Jun 1 15:33:20 2015 +0800 drm/amdgpu: use gpu scheduler for sdma ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 42d13693c01f895d7918ed49c65c0c4844027314 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Jun 1 15:16:03 2015 +0800 drm/amdgpu: Use gpu scheduler for gfx ring ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 3c704e934d07bcb5fdf9725db190e2ae60fba1bd Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Jul 29 10:33:14 2015 +0800 drm/amdgpu: add helper function for kernel submission Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit d1ff9086c1b8e67390161599006a34056b437a72 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Thu Jul 30 17:59:43 2015 +0800 drm/amdgpu: fix seq in ctx_add_fence if enabling scheduler, then the queued seq is assigned when pushing job before emitting job. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 51b9db27d07869cf565ba135e97e2ed5f858612e Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 28 17:31:04 2015 +0800 drm/amdgpu: wait forever for wait emit the job must be emitted by scheduler, otherwise scheduler is abnormal. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 4afcb30383bef8bf972c6aae47995ef314e5f8a1 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Thu Jul 30 16:44:05 2015 +0800 drm/amdgpu: add amdgpu.sched_hw_submission option This option can be used to specify the max number of submissions in the active HW queue. The default value is 2 now. Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 1333f723fb6f1356a54135586f1ede44dcaa9652 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Thu Jul 30 16:36:58 2015 +0800 drm/amdgpu: add amdgpu.sched_jobs option This option can be used to specify the max job number in the job queue, and it is 16 by default. Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit c0044bc2c62dc3267f2a555ed8342181516008a5 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Thu Jul 30 16:24:53 2015 +0800 drm/amdgpu: silent the message for GPU scheduler creation Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 1d3897e056d2ff2bb3b17e054aa75d36adacaacc Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Jul 27 15:40:35 2015 +0200 drm/amdgpu: fix syncing to VM updates Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit afe10081498fdf2c5b92c7fcc534e49544218fb9 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 28 16:11:52 2015 +0800 drm/amdgpu: add check for callback it is possible that the callback isn't defined sometimes. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 02b9f0bfd49da01629eef6d250c477490047acd6 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Wed May 27 18:23:34 2015 +0800 drm/amdgpu: add enable_scheduler module option Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 176e1ab1b534368d0cd338a010aaea99067c3c6e Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Jul 24 10:49:47 2015 +0800 drm/amdgpu: protect fence_process from multiple context fence_process may be called from kthread, user thread and interrupt context. it is possible to called concurrently, then will wake up fence queue multiple times. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit e0d8f3c34e54b7f7563360131e89be0d9405d436 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 17:43:41 2015 +0800 drm/amdgpu: add sched isr to fence process Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit d5fc5e82a3127b8839c4a4457f3b950a009737a7 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 16:52:10 2015 +0800 drm/amdgpu: dispatch job for vm use kernel context to submit command for vm Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 23ca0e4e478836dcb93a54aa68cb48fbc66fb0ed Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Jul 6 13:42:58 2015 +0800 drm/amdgpu: add kernel ctx support (v2) v2: rebase against kfd changes Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 4274f5d45cf11f88d7380702a7147b70553ddd6e Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 16:04:39 2015 +0800 drm/amdgpu: prepare job before push to sw queue for pte ring user mode will still use pte ring as a normal ring. if the prepare job generates another command(update pte) on its ring in scheduler, then will kill scheduler which is going to waiting later job but pending running job. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 4b559c90bc1870313f02cceef680884519af6b2b Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 15:53:04 2015 +0800 drm/amdgpu: make sure the fence is emitted before ring to get it. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit b43a9a7e87d2bbb8d0c6ae4ff06dcc604f00e31a Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 15:13:53 2015 +0800 drm/amdgpu: use scheduler user seq instead of previous user seq Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 049fc527b4641f99e573b26f1a726a3eadd0cc25 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 14:36:51 2015 +0800 drm/amdgpu: dispatch jobs in cs BO validation is moved to scheduler except usrptr which must be validated in user process Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 372bc1e18ca961ef51997df235e822aed6283726 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 13:47:05 2015 +0800 drm/amdgpu: add bo list copy Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit c1b69ed0c62f9d86599600f4c1a3bd82db1b7362 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 13:45:14 2015 +0800 drm/amdgpu: add backend implementation of gpu scheduler (v2) v2: fix rebase breakage Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 2c4888a0d392b206eb348d4fc6dec539eee2c534 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 13:19:45 2015 +0800 drm/amdgpu: disable hw semaphore with scheduler Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 9cb7e5a91f6cd4dc018cca7120d2da067f816d3a Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 13:17:19 2015 +0800 drm/amdgpu: add context entity init Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit b80d8475c1fdf5f4bcabb65168b2e8a9c3d77731 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Sun Aug 16 22:55:02 2015 -0400 drm/amdgpu: add scheduler initialization 1. Add kernel parameter option, default 0 2. Add scheduler initialization for amdgpu Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit a72ce6f84109c1dec1ab236d65979d3250668af3 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Fri May 22 18:55:07 2015 +0800 drm/amd: add basic scheduling framework run queue: A set of entities scheduling commands for the same ring. It implements the scheduling policy that selects the next entity to emit commands from. entity: A scheduler entity is a wrapper around a job queue or a group of other entities. This can be used to build hierarchies of entities. For example all job queue entities belonging to the same process may be placed in a higher level entity and scheduled against other process entities. Entities take turns emitting jobs from their job queue to the corresponding hardware ring, in accordance with the scheduler policy. Signed-off-by: Shaoyun Liu <Shaoyun.Liu@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 2da78e21d153d333778d6566f159be06548418f9 Author: David Zhang <david1.zhang@xxxxxxx> Date: Sat Jul 11 23:13:40 2015 +0800 drm/amdgpu: Enable the Fiji DID 0x7300 support Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit d07f5c4c235670fa4686eb08cb6211eb3bd0c864 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Aug 6 11:51:23 2015 -0400 drm/amdgpu: remove VM workaround for Fiji The bug is fixed in fiji. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 188a9bcd6cbe55c6fea23309548741d8e34bb590 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Jul 27 14:24:14 2015 -0400 drm/amdgpu: add support for VCE 3.x on Fiji VCE on fiji is single pipe only. Reviewed-by: David Zhang <david1.zhang@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 974ee3db0ff88e5413b734e634119d1e8a10a77f Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 17:32:15 2015 +0800 drm/amdgpu: Add Fiji support to the UVD 6.0 IP module Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 1a5bbb669597d7c47da2d7fd03ed7c33989257b8 Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 17:29:27 2015 +0800 drm/amdgpu: Add Fiji support to the SDMA 3.0 IP module Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit af15a2d51dba75498b7802fd67399a093961ddc4 Author: David Zhang <david1.zhang@xxxxxxx> Date: Thu Jul 30 19:42:11 2015 -0400 drm/amdgpu: Add Fiji support to the GFX 8.0 IP module (v2) v2: agd5f: fix the rb setup. Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 843908604d72a1988d94936d9c34768eb8de97a6 Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 01:28:20 2015 +0800 drm/amdgpu: Add Fiji support to the DCE 10.0 IP module (v2) v2: agd5f: fix up XDMA golden settings Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 8e711e1a1ad3a95883ae15deead593d22e57c3f1 Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 01:23:25 2015 +0800 drm/amdgpu: Add Fiji support to SMC and DPM (v2) v2: agd5f: prepare for release Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit d1c4dcfb76a0053ca7bcc90608b3699ac1e1b39d Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 19:13:25 2015 +0800 drm/amdgpu: Add Fiji smu 7.1.3 headers (v2) v2: agd5f: prepare for release Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit aa8a3b5395f61ee2418ea33c6f2d95b432a13f35 Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 21:40:31 2015 +0800 drm/amdgpu: Add Fiji support to IH module Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 127a262853a4ca8a9284f58241c733ff074f8327 Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 01:11:52 2015 +0800 drm/amdgpu: Add Fiji support to the GMC 8.5 IP module Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 48299f95f75b695329c53a33dd6673ccf1b5a03f Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 01:05:16 2015 +0800 drm/amdgpu: Add Fiji DID 0x7300 common support Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 41548ef78bbf26994546ea5225ad4b4c1bf96d1f Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Jul 31 17:20:14 2015 -0400 drm/amdgpu: handle conditional support for CIK properly gfx7 support is not necessary or available if CIK support is not enabled. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e60b344f6c0eff03362b5083db746ef5442c4b36 Author: monk.liu <monk.liu@xxxxxxx> Date: Fri Jul 17 18:39:25 2015 +0800 drm/amdgpu: optimize amdgpu_parser_init use kmalloc_array instead of kcalloc where appropriate and other cleanups. Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 2f7d10b393c83acd3eedc3d6ab94dce29ac6a890 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Wed Jul 22 11:29:01 2015 +0800 drm/amdgpu: merge amdgpu_family.h into amd_shared.h (v2) Make the definitions common for all driver components v2: fix kfd Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fa9f1d4e86f67a4df03e153d9b9cd1bd1838767c Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Jul 21 21:17:16 2015 +0800 drm/amdgpu: add some pptable definitions Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 0b2daf09cf3c9893872d68f0ce9a3f4b7e3ff06c Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Jul 21 17:41:48 2015 +0800 drm/amdgpu: add some common definitions to amd_shared.h Add GPU family definitions and timeout value for IP components. Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c7890fea04acbaa89f572adcd9efe0b2d390a8e7 Author: Marek Olšák <marek.olsak@xxxxxxx> Date: Sat Jul 11 12:08:46 2015 +0200 drm/amdgpu: allow userspace to read more debug registers Feel free to suggest more. Signed-off-by: Marek Olšák <marek.olsak@xxxxxxx> Acked-by: Michel Dänzer <michel.daenzer@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 8e9198d0698a4a748bac9a7b33ed1300cf5f3793 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Sun Aug 16 22:51:50 2015 -0400 drm/amdgpu: move some atombios definitions to common folder (v2) the definitions can be shared by different IP components. v2: fix include path Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 5430a3ffb0b1902e8aea4ed2ba256b1263126e8d Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Jul 21 18:02:21 2015 +0200 drm/amdgpu: fix UVD/VCE fence handling We need to return the sequence number to userspace even when we don't use user fences. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 5ceb54c68a28fc8af5cf8d32c4fde29c97dd3c18 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Aug 5 12:41:48 2015 -0400 drm/amdgpu: add fence suspend/resume functions Added to: - handle draining the ring on suspend - properly enable/disable interrupts on suspend and resume Fix breakages from: commit 467ee3be53d240d08beed2e82a941e820c1ac323 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Jun 1 14:14:32 2015 +0800 drm/amdgpu: always enable EOP interrupt v2 Tested-by: Audrey Grodzovsky <audrey.grodzovsky@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c6a4079badc2f0eda69a028622c7080a284ae147 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Jun 1 14:14:32 2015 +0800 drm/amdgpu: always enable EOP interrupt v2 v2 (chk): always enable EOP interrupt, independent of scheduler, remove now unused delayed_irq handling. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 7f8a5290f5b6c14dd1d295e2508e0dd193a9fda5 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Jul 20 16:09:40 2015 +0200 drm/amdgpu: rework vm_grab_id interface This makes assigning VM IDs independent from the use of VM IDs. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit fc8fa5e428ae937f79a36ccbe303fa871ffbbbf7 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Jul 20 15:47:30 2015 +0200 drm/amdgpu: no updates shouldn't cause vm flush v2 v2 (chk): split fix from original patch Signed-off-by: monk.liu <monk.liu@xxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit cf6f1d39496e9b5dd62953f8dca9f995d80ab4ff Author: Christian König <christian.koenig@xxxxxxx> Date: Sat Jul 18 19:20:05 2015 +0200 drm/amdgpu: fix signed overrun in amdgpu_ctx_get_fence Otherwise the first 16 fences of a context will always signal immediately. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit cdecb65b4eaba1d45abbfe34b724664f65623531 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Jul 16 12:01:06 2015 +0200 drm/amdgpu: fix context memory leak Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 0753b45242059f523a6238ec2741a4436db2fbd0 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Jul 7 18:44:01 2015 +0200 drm/amdgpu: remove amdgpu_fence_recreate It's not used any more. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 21c16bf634e62cf9673946f509b469e7f0953ecf Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Jul 7 17:24:49 2015 +0200 drm/amdgpu: add user fence context map v2 This is a prerequisite for the GPU scheduler to make the order of submission independent from the order of execution. v2: properly implement the locking Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 91e1a5207edec9e4f888e44478a9a254186e0ba8 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Jul 6 22:06:40 2015 +0200 drm/amdgpu: deal with foreign fences in amdgpu_sync This also requires some error handling from the callers of that function. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 0b492a4c92050862a9780b941d52c05923fcd669 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Sun Aug 16 22:48:26 2015 -0400 drm/amdgpu: cleanup context structure v2 The comment is misleading and incorrect, remove it. Printing the id is completely meaningless and this practice can cause a race conditions on command submission. The flags and hangs fields are completely unused. Give all fields a common indentation. v2: remove fpriv reference and unused flags as well, fix debug message. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 404b2fa3385565b1c472a0482f6564a1550fc8d1 Author: rezhu <rezhu@xxxxxxx> Date: Fri Aug 7 13:37:56 2015 +0800 drm/amdgpu: add cgs_interface for pg and cg v3: check whether ip_blocks is enable v2: add break in the for loop. Signed-off-by: Rex zhu <rezhu@xxxxxxx> commit 97baee7170099dac2ce5671d3bb9cb364194b052 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Jul 21 17:02:44 2015 +0800 drm/amdgpu: fix some typo for cgs definitions Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bf3911b06fa9c551b852af563fed393a02e48a7a Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Wed May 13 18:58:05 2015 +0800 drm/amdgpu: add cgs_get_firmware_info interface v2 This new interface can be used by IP components to retrieve the firmware information from the core driver. v2: fix one typo Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Rex Zhu <Rex.Zhou@xxxxxxx> Signed-off-by: Young Yang <Young.Yang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 57ff96cf471a30104c1ffdc49d237942d4908608 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Apr 24 17:38:20 2015 +0800 drm/amdgpu: implement cgs gpu memory callbacks This implements the cgs interface for allocating GPU memory. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 25da442779041e5fac7ceba552264fda55106e3f Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri May 22 12:14:04 2015 -0400 drm/amdgpu: add atom interfaces for CGS This implements the interface for atombios command and data table access. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 0cf3be21782f8d5b74cce98a2b934e14ef418ef3 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Jul 28 14:24:53 2015 -0400 drm/amdgpu: Implement irq interfaces for CGS This implements the irq src registrar. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 97cb7f6e6c4d7d78de7e174d8776a95ef7fd1e8a Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri May 22 11:33:31 2015 -0400 drm/amdgpu: Implement the pciconfig callbacks for CGS This implements the pciconfig register accessors. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit aba684d87a4d6805feddc7c4bc77c3c24f913ed1 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri May 22 11:29:30 2015 -0400 drm/amdgpu: Implement mmio callbacks for CGS This implements the MMIO register accessors. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d03846af92750f83d36ff2110a0cee444979b2a2 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Tue Jul 28 14:20:03 2015 -0400 drm/amd: Add CGS interfaces CGS (Common Graphics Services) is an AMD cross component abstraction layer to designed to better encapsulate specific IP block drivers so different teams can effectively work on differnet IP block drivers independently. It provides a common interface for things like accessing registers, allocating GPU memory, and registering interrupt sources. The plan is to eventually move more and more IP drivers to this interface. The first user is the ACP IP driver. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Acked-by: Christian König <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 553de19a0e2f21809bc3864d40308864652521eb Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Aug 15 08:01:55 2015 +0530 ASoC: davinci-vcif: Use devm_snd_soc_register_component Use resource managed function devm_snd_soc_register_component for component registration instead of snd_soc_register_component. Also, remove davinci_vcif_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93576842718edf302b03f30b9915d3e704b0c78a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 17 12:30:58 2015 +0530 regulator: core: Use IS_ERR_OR_NULL() Use IS_ERR_OR_NULL() rather than open coding it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 507d7fc56154031a1d023d74e02ed9d3c4f4da31 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 12:59:42 2015 -0700 staging: wilc1000: fix build warning with setup_timer() I forgot to properly cast a pointer to unsigned long in a conversion to setup_timer() which resulted in a build warning. Fix that up. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db93ec4f30f1826cc64560ffdf9cc6f2f4eff49f Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Mon Aug 17 15:28:28 2015 -0400 staging: wilc1000: remove DECLARE_WILC_BUFFER() It was just a wrapper to initialize a variable. Initialize it directly instead. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dec180c86425e4ffcf9699c6cbc6682a63e8d11c Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Mon Aug 17 15:28:26 2015 -0400 staging: wilc1000: remove void function return statements that are not useful Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30f93ca8323f0c21b789bea0f7db8e8e3a7915c6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 17 08:16:51 2015 +0530 regulator: core: Define regulator_set_voltage_triplet() Voltage tolerance isn't necessarily same on both sides of the target voltage and regulator_set_voltage_tol() wouldn't be suitable in such cases. Add another routine regulator_set_voltage_triplet(), which accepts target, min and max voltages as arguments. This first tries to set the voltage between the target voltage and the upper limit, then fall back on the full range. The idea behind this is to set regulator's voltage as close to the target voltage, as possible. Based on regulator_set_voltage_tol(). Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da65e367b67e15fc41cbf646c506c802dd5213b7 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Aug 17 11:43:59 2015 -0700 regulator: Regulator driver for the Qualcomm RPM Driver for regulators exposed by the Resource Power Manager (RPM) found in devices based on Qualcomm 8974 and newer platforms. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Andy Gross <agross@xxxxxxxxxxxxxx> Tested-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a78d9a38a52fc0660e6efb8eaf6540f975db87c6 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:15 2015 +0900 staging: wilc1000: coreconfigurator.c: fix kmalloc error check It is added and fixed error check when kmalloc is failed. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ac87998784e261e1080907da912afb562737c69 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:14 2015 +0900 staging: wilc1000: coreconfigurator.c: use kmalloc instead of WILC_MALLOC The kmalloc is used to handle host interface message within kernel thread. The manipulation of host interface message is not called on IRQ context and I could not find any spinlock inside function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 280f1fa0808ea6e3b6bd5b39d67a0bb0a35a6761 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:13 2015 +0900 staging: wilc1000: remove unused codes of gps8ConfigPacket This patch removes unused codes of gps8ConfigPacket declared by global variable. It is allocated and freed memory within CoreConfiguratorInit and CoreConfiguratorDeInit. There is no used anywhere except within two functions. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc0ad74bc432eccb96f3249de20f3b2b468d0919 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:12 2015 +0900 staging: wilc1000: remove unnecessary void pointer cast This patch removes unnecessary void pointer cast of WILC_MALLOC. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 355c06633e233a57155b827ebe99b91c35bc1f5c Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Aug 13 17:52:02 2015 -0600 workqueue: fix some docbook warnings There are some errors in the docbook comments in workqueue.h that cause warnings when the docs are built; this only recently came to light because these comments were not used until now. Fix the comments to make the warnings go away. The "args..." "fix" is a hack. kerneldoc doesn't deal properly with named variadic arguments in macros, so all I've really achieved here is to make it shut up. Fixing kerneldoc will have to wait for more time. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9fba8e30f704d49627ab8a4a57213862206b3e5f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 14:46:51 2015 -0500 SUNRPC: Drop double-underscores from __rpc_cmp_addr6() Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: 7b0ce60c0b20 ("SUNRPC: Drop double-underscores from rpc_cmp_addr{4|6}()") Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 636dcf9716306bc93afffe8f968a3f232c42f6d7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:11 2015 +0900 staging: wilc1000: remove WILC_NEW and WILC_NEW_EX This patch removes WILC_NEW and WILC_NEW_EX defines that are not used anywhere. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c07828f5db4c620a4f574b3a4bb0a0bba82826b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:10 2015 +0900 staging: wilc1000: use kmalloc instead of WILC_NEW WILC_NEW is replaced by kmallo with GFP_ATOMIC. This kmalloc is inside a spin_lock_irqsave region. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e3f05bfc02b61adf50709c4a96f07314addeeb6 Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Sat Aug 15 12:23:31 2015 +0530 staging: wilc1000: Process WARN, INFO options of debug levels from user This patch enables setting the module's debug options WARN and INFO in the debugfs file 'wilc_debug_level'. This functionality allows the user to enable logging of warnings and other information. Before this change, writes to this debugfs file set only one option - DEBUG. Another option that is enabled by default is ERR. As a side effect, this patch removes the 'sparse' warning - 'warning: incorrect type in argument 2 (different address spaces)'. Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbaff3ef859a86dc3df2128d2de9f8a6e255a967 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Aug 13 18:34:03 2015 -0700 net: fix endian check warning in etherdevice.h Sparse builds have been warning for a really long time now that etherdevice.h has a conversion that is unsafe. include/linux/etherdevice.h:79:32: warning: restricted __be16 degrades to integer This code change fixes the issue and generates the exact same assembly before/after (checked on x86_64) Fixes: 2c722fe1c821 (etherdevice: Optimize a few is_<foo>_ether_addr functions) Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> CC: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee847a252664f54d06bcc6ab2864322cbcb52692 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Aug 15 17:17:53 2015 -0700 hwmon: (ltc2978) Introduce helper functions for min and max values The code used to determine historic low and high peaks is repeated several times. Introduce helper functions to simplify it. Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 8582bcc8ebb21375b37f337c58ca783b997a0355 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Aug 15 17:02:09 2015 -0700 hwmon: (ltc2978) Introduce feature flags It is becoming cumbersom to track per-chip feature support. Introduce feature flag to simplify the code. Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2238835c5ce9f8eae5cb4dd6a6c05a6c82743282 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Aug 12 21:05:38 2015 -0700 hwmon: (pmbus) Convert command register definitions to enum This will simplify adding new virtual commands. Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 649ca820dab3d76e12408b74af3e8e97abb07ae0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jun 8 09:56:20 2015 -0700 hwmon: (ltc2978) Add support for LTC2975 LTC2975 is mostly compatible to LTC2974, but supports input current and power measurement. Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit f3ae683f09aff7c53dab8b85d2425d746c8e0d5f Merge: 8f8ff913 4b46995 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 11:50:25 2015 -0700 Merge branch 'iff_no_queue' Phil Sutter says: ==================== net: introduce IFF_NO_QUEUE as successor of zero tx_queue_len This series adds a new private net_device flag indicating that a device may (and probably should) be used without a queueing discipline attached to it. This is already common practice for many virtual device types like e.g. loopback, VLAN (802.1Q) or bridges (802.1D). The reason for this is that these devices lack an underlying layer which could impose back pressure and therefore making a TX queue necessary to not slow down senders. Up to now, drivers being aware of the above applying to them set dev->tx_queue_len to zero to indicate no qdisc should be attached to the interface they drive and the kernel reacts upon this by assigning the noop qdisc instead of the default pfifo_fast. This implicit agreement though leads to an inconvenient situation once a user tries to attach a real qdisc to these devices, as the formerly special tx_queue_len value becomes a regular one, limiting the queue to zero packets and thus prevents any TX from happening. To overcome this, practically all qdisc implementations intercept and sanitize the malicious value. With this series applied, drivers may signal the lack of need for a qdisc without having to tamper with tx_queue_len, making fallbacks in qdiscs and caveats in userspace unnecessary. Upon upstream acceptance, this series will be followed up by a set of patches converting device drivers, adding a warning so out-of-tree driver authors get aware of this change and dropping all special handling of tx_queue_len in net/sched/. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b469955685d58c2f8198bf817fc661600b7e3d0 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 13 19:01:07 2015 +0200 net: sch_generic: react upon IFF_NO_QUEUE flag Handle IFF_NO_QUEUE as alternative to tx_queue_len being zero. Signed-off-by: Phil Sutter <phil@xxxxxx> Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa8187c96471c49419c25d4ec3299d17d3f274b2 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 13 19:01:06 2015 +0200 net: declare new net_device priv_flag IFF_NO_QUEUE This private net_device flag can be set by drivers to inform that a device runs fine without a qdisc attached. This was formerly done by setting tx_queue_len to zero. Signed-off-by: Phil Sutter <phil@xxxxxx> Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c2dad99d60c86ec686b3bfdcb787c450a7ea89f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 6 12:06:30 2015 -0400 NFS: Don't let the ctime override attribute barriers. Chuck reports seeing cases where a GETATTR that happens to race with an asynchronous WRITE is overriding the file size, despite the attribute barrier being set by the writeback code. The culprit turns out to be the check in nfs_ctime_need_update(), which sees that the ctime is newer than the cached ctime, and assumes that it is safe to override the attribute barrier. This patch removes that override, and ensures that attribute barriers are always respected. Reported-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Fixes: a08a8cd375db9 ("NFS: Add attribute update barriers to NFS writebacks") Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 74918f937d9896aa2910cfe81f06499abd1dba59 Merge: 37bfcc1 5883055 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:36:32 2015 -0500 Merge branch 'layoutfixes' * layoutfixes: NFSv4.1/pnfs: Remove redundant wakeup in pnfs_send_layoutreturn() NFSv4.1/pnfs: Remove redundant check in pnfs_layoutgets_blocked() NFSv4.1/pnfs: Remove redundant lo->plh_block_lgets in layoutreturn NFSv4.1/pnfs: Don't prevent layoutgets when doing return-on-close NFSv4.1/pnfs: Fix serialisation of layout return and layoutget NFSv4.1/pnfs: Remove redundant checks in pnfs_layoutgets_blocked() pNFS: Tighten up locking around DS commit buckets commit 37bfcc14b2b44ce03930eeb2c3de1c20f7da6fb9 Merge: eed889b 99b1a4c Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:36:22 2015 -0500 Merge branch 'bugfixes' * bugfixes: SUNRPC: Fix a thinko in xs_connect() NFSv4.1/pNFS: Fix borken function _same_data_server_addrs_locked() NFS: nfs_set_pgio_error sometimes misses errors commit eed889b161ce4817e594c28906269d776f4806a5 Merge: aff8d8d d0f36c4 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:33:58 2015 -0500 Merge tag 'nfs-rdma-for-4.3' of git://git.linux-nfs.org/projects/anna/nfs-rdma NFS: NFS over RDMA Client Side Changes These patches improve both client performance and scalability, most notably by increasing the maixmum allowed rsize and wsize and by increasing the number of RDMA "credits". There are also several bugfixes, such as correcting how WRITE compounds are encoded and fixing large NFS symlink operations. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit aff8d8dc4c34804c6a1de04f1b3313aa9063bf46 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:33 2015 -0400 NFS: Remove nfs_release() And call nfs_file_clear_open_context() directly. This makes it obvious that nfs_file_release() will always return 0. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c4f83a5571981c92b028c8e9a9da827598905059 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:32:38 2015 -0700 staging: wilc1000: remove unneeded tstrWILC_MsgQueueAttrs typedef No one uses it, so remove it and all of the NULL parameters being used to pass it into the msg code. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae09c31f66cc673bb8c64a5dbfdc04ab67f66d7e Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:32 2015 -0400 NFS: Rename nfs_commit_unstable_pages() to nfs_write_inode() All nfs_write_inode() does is pass its arguments to nfs_commit_unstable_pages(). Let's cut out the middle man and have nfs_write_pages() do the work directly. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3f10a6af4b577da2117907ac8420f27af81d57de Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:31 2015 -0400 NFS: Remove nfs41_server_notify_{target|highest}_slotid_update() All these functions do is call nfs41_ping_server() without adding anything. Let's remove them and give nfs41_ping_server() a better name instead. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fb2a525cf086bb080f84b0b748ee823ef79e539c Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:29 2015 -0400 NFS: Combine nfs_idmap_{init|quit}() and nfs_idmap_{init|quit}_keyring() The idmap_init() and idmap_quit() functions only exist to call the _keyring() version. Let's just call the keyring() functions directly. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit d8efa4e62505f5113e363572b5438b7be0d08b12 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:28 2015 -0400 NFS: Use RPC functions for matching sockaddrs They already exist and do the exact same thing. Let's save ourselves several lines of code! Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 58cc8a55aa38655d472a4c381df465c9ab97b4d6 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:27 2015 -0400 SUNRPC: Add an rpc_cmp_addr_port() function This function is to help determine if two sockaddrs are really the same socket. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7b0ce60c0b203a2a037f308e387152acbf99c445 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:26 2015 -0400 SUNRPC: Drop double-underscores from rpc_cmp_addr{4|6}() I'm planning on using these functions inside the client, so remove the underscores to make it feel like I'm using a public interface. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c7e9668e78eab69b7ade9897bea1fbd77dd18775 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:25 2015 -0400 NFS: Rename nfs_readdir_free_pagearray() and nfs_readdir_large_page() nfs_readdir_xdr_to_array() uses both a cache array and an array of pages, so I rename these functions to make it clearer how the code works. nfs_readdir_large_page() becomes nfs_readdir_alloc_pages() because this function has absolutely nothing to do with setting up a large page. nfs_readdir_free_pagearray() becomes nfs_readdir_free_pages() to stay consistent with the new alloc_pages() function. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0b936e37df8111ea727263a5a246b58e05b7aa1b Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:24 2015 -0400 NFS: Remove unused variable "pages_ptr" This variable is initialized to NULL and is never modified before being passed to nfs_readdir_free_large_page(). But that's okay, because nfs_readdir_free_large_page() only seems to exist as a way of calling nfs_readdir_free_pagearray() without this parameter. Let's simplify by removing pages_ptr and nfs_readdir_free_pagearray(). Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9ca308506062fc4a4ee8ca7ad2f71033c831c2fb Author: Baolin Wang <baolin.wang@xxxxxxxxxx> Date: Wed Jul 29 20:18:31 2015 +0800 time: Introduce timespec64_to_jiffies()/jiffies_to_timespec64() The conversion between struct timespec and jiffies is not year 2038 safe on 32bit systems. Introduce timespec64_to_jiffies() and jiffies_to_timespec64() functions which use struct timespec64 to make it ready for 2038 issue. Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 8758a240e2d74c5932ab51a73377e6507b7fd441 Author: Baolin Wang <baolin.wang@xxxxxxxxxx> Date: Wed Jul 29 20:09:43 2015 +0800 time: Introduce current_kernel_time64() The current_kernel_time() is not year 2038 safe on 32bit systems since it returns a timespec value. Introduce current_kernel_time64() which returns a timespec64 value. Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 19a46fe57a005a884ccb38419071f772ac2fca2b Author: Baolin Wang <baolin.wang@xxxxxxxxxx> Date: Wed Jul 29 19:58:15 2015 +0800 time: Introduce struct itimerspec64 The struct itimerspec is not year 2038 safe on 32bit systems due to the limitation of the struct timespec members. Introduce itimerspec64 which uses struct timespec64 instead and provide conversion functions. Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 7494e9eedee2121305a48af4fbbcedb69a2c2b93 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Sun Jul 26 18:45:39 2015 +0800 time: Add the common weak version of update_persistent_clock() The weak update_persistent_clock64() calls update_persistent_clock(), if the architecture defines an update_persistent_clock64() to replace and remove its update_persistent_clock() version, when building the kernel the linker will throw an undefined symbol error, that is, any arch that switches to update_persistent_clock64() will have this issue. To solve the issue, we add the common weak update_persistent_clock(). Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit ce603281468cf1be0a70a45fdaef761db134b900 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Jul 10 15:59:26 2015 -0400 nfs: remove some dead code in ff_layout_pg_get_mirror_count_write We already know that pg_lseg is NULL here. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e1d7ba8735551ed79c7a0463a042353574b96da3 Author: Wang YanQing <udknight@xxxxxxxxx> Date: Tue Jun 23 18:38:54 2015 +0800 time: Always make sure wall_to_monotonic isn't positive Two issues were found on an IMX6 development board without an enabled RTC device(resulting in the boot time and monotonic time being initialized to 0). Issue 1:exportfs -a generate: "exportfs: /opt/nfs/arm does not support NFS export" Issue 2:cat /proc/stat: "btime 4294967236" The same issues can be reproduced on x86 after running the following code: int main(void) { struct timeval val; int ret; val.tv_sec = 0; val.tv_usec = 0; ret = settimeofday(&val, NULL); return 0; } Two issues are different symptoms of same problem: The reason is a positive wall_to_monotonic pushes boot time back to the time before Epoch, and getboottime will return negative value. In symptom 1: negative boot time cause get_expiry() to overflow time_t when input expire time is 2147483647, then cache_flush() always clears entries just added in ip_map_parse. In symptom 2: show_stat() uses "unsigned long" to print negative btime value returned by getboottime. This patch fix the problem by prohibiting time from being set to a value which would cause a negative boot time. As a result one can't set the CLOCK_REALTIME time prior to (1970 + system uptime). Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Wang YanQing <udknight@xxxxxxxxx> [jstultz: reworded commit message] Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit de4a95faf173be1e798c37ca486dfcb234a0941b Author: Karsten Blees <karsten.blees@xxxxxxxxx> Date: Thu Jun 25 14:13:55 2015 +0200 time: Fix nanosecond file time rounding in timespec_trunc() timespec_trunc() avoids rounding if granularity <= nanoseconds-per-jiffie (or TICK_NSEC). This optimization assumes that: 1. current_kernel_time().tv_nsec is already rounded to TICK_NSEC (i.e. with HZ=1000 you'd get 1000000, 2000000, 3000000... but never 1000001). This is no longer true (probably since hrtimers introduced in 2.6.16). 2. TICK_NSEC is evenly divisible by all possible granularities. This may be true for HZ=100, 250, 1000, but obviously not for HZ=300 / TICK_NSEC=3333333 (introduced in 2.6.20). Thus, sub-second portions of in-core file times are not rounded to on-disk granularity. I.e. file times may change when the inode is re-read from disk or when the file system is remounted. This affects all file systems with file time granularities > 1 ns and < 1s, e.g. CEPH (1000 ns), UDF (1000 ns), CIFS (100 ns), NTFS (100 ns) and FUSE (configurable from user mode via struct fuse_init_out.time_gran). Steps to reproduce with e.g. UDF: $ dd if=/dev/zero of=udfdisk count=10000 && mkudffs udfdisk $ mkdir udf && mount udfdisk udf $ touch udf/test && stat -c %y udf/test 2015-06-09 10:22:56.130006767 +0200 $ umount udf && mount udfdisk udf $ stat -c %y udf/test 2015-06-09 10:22:56.130006000 +0200 Remounting truncates the mtime to 1 µs. Fix the rounding in timespec_trunc() and update the documentation. timespec_trunc() is exclusively used to calculate inode's [acm]time (mostly via current_fs_time()), and always with super_block.s_time_gran as second argument. So this can safely be changed without side effects. Note: This does _not_ fix the issue for FAT's 2 second mtime resolution, as super_block.s_time_gran isn't prepared to handle different ctime / mtime / atime resolutions nor resolutions > 1 second. Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Karsten Blees <blees@xxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 38bf985b05625df3fbbc1dbf543bdd2da447c2af Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed May 27 16:44:48 2015 -0700 timer_list: Add the base offset so remaining nsecs are accurate for non monotonic timers I noticed for non-monotonic timers in timer_list, some of the output looked a little confusing. For example: #1: <0000000000000000>, posix_timer_fn, S:01, hrtimer_start_range_ns, leap-a-day/2360 # expires at 1434412800000000000-1434412800000000000 nsecs [in 1434410725062375469 to 1434410725062375469 nsecs] You'll note the relative time till the expiration "[in xxx to yyy nsecs]" is incorrect. This is because its printing the delta between CLOCK_MONOTONIC time to the CLOCK_REALTIME expiration. This patch fixes this issue by adding the clock offset to the "now" time which we use to calculate the delta. Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Jiri Bohac <jbohac@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 8bb28975823aee062f82b99ddacc499601c0cfd1 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 18:41:01 2015 +0200 pnfs: move common blocklayout XDR defintions to nfs4.h Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 513d6d7a9591d7c5ebb5f05465942185db9299a4 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 18:41:00 2015 +0200 pnfs/blocklayout: pass proper file mode to blkdev_get/put We generally want to read and write to a block device that's used by the pNFS block layout client (and even if it's read only the server has no way of telling us). Add FMODE_WRITE to the mode argument so that we don't incorrectly tell the block driver that we want a read-only open. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2bd3c63a333c364cfde4701b51f82e1fae106a88 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 18:40:59 2015 +0200 pnfs/blocklayout: reject too long signatures Instead of overwriting kernel memory reject too long signatures. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 68596bd188e5e621c28a2f6fc0a3dd80a606d16b Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 18:40:58 2015 +0200 pnfs/blocklayout: set up layoutupdate_pages properly We need to replace the __be32 with a void pointer to do proper arithmentics on the virtual addresses so that we can get the right page pointers. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 29662fa646b41492a9c298a83399126f94847e93 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 18:40:57 2015 +0200 pnfs/blocklayout: calculate layoutupdate size correctly We need to include the first u32 for the number of entries. Add a helper for the calculation instead of opencoding it so that it's in one place. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 18e3b739fdc826481c6a1335ce0c5b19b3d415da Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sat Aug 15 21:52:10 2015 +0800 NFS: Fix a NULL pointer dereference of migration recovery ops for v4.2 client ---Steps to Reproduce-- <nfs-server> # cat /etc/exports /nfs/referal *(rw,insecure,no_subtree_check,no_root_squash,crossmnt) /nfs/old *(ro,insecure,subtree_check,root_squash,crossmnt) <nfs-client> # mount -t nfs nfs-server:/nfs/ /mnt/ # ll /mnt/*/ <nfs-server> # cat /etc/exports /nfs/referal *(rw,insecure,no_subtree_check,no_root_squash,crossmnt,refer=/nfs/old/@nfs-server) /nfs/old *(ro,insecure,subtree_check,root_squash,crossmnt) # service nfs restart <nfs-client> # ll /mnt/*/ --->>>>> oops here [ 5123.102925] BUG: unable to handle kernel NULL pointer dereference at (null) [ 5123.103363] IP: [<ffffffffa03ed38b>] nfs4_proc_get_locations+0x9b/0x120 [nfsv4] [ 5123.103752] PGD 587b9067 PUD 3cbf5067 PMD 0 [ 5123.104131] Oops: 0000 [#1] [ 5123.104529] Modules linked in: nfsv4(OE) nfs(OE) fscache(E) nfsd(OE) xfs libcrc32c iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi coretemp crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel ppdev vmw_balloon parport_pc parport i2c_piix4 shpchp auth_rpcgss nfs_acl vmw_vmci lockd grace sunrpc vmwgfx drm_kms_helper ttm drm mptspi serio_raw scsi_transport_spi e1000 mptscsih mptbase ata_generic pata_acpi [last unloaded: nfsd] [ 5123.105887] CPU: 0 PID: 15853 Comm: ::1-manager Tainted: G OE 4.2.0-rc6+ #214 [ 5123.106358] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 05/20/2014 [ 5123.106860] task: ffff88007620f300 ti: ffff88005877c000 task.ti: ffff88005877c000 [ 5123.107363] RIP: 0010:[<ffffffffa03ed38b>] [<ffffffffa03ed38b>] nfs4_proc_get_locations+0x9b/0x120 [nfsv4] [ 5123.107909] RSP: 0018:ffff88005877fdb8 EFLAGS: 00010246 [ 5123.108435] RAX: ffff880053f3bc00 RBX: ffff88006ce6c908 RCX: ffff880053a0d240 [ 5123.108968] RDX: ffffea0000e6d940 RSI: ffff8800399a0000 RDI: ffff88006ce6c908 [ 5123.109503] RBP: ffff88005877fe28 R08: ffffffff81c708a0 R09: 0000000000000000 [ 5123.110045] R10: 00000000000001a2 R11: ffff88003ba7f5c8 R12: ffff880054c55800 [ 5123.110618] R13: 0000000000000000 R14: ffff880053a0d240 R15: ffff880053a0d240 [ 5123.111169] FS: 0000000000000000(0000) GS:ffffffff81c27000(0000) knlGS:0000000000000000 [ 5123.111726] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 5123.112286] CR2: 0000000000000000 CR3: 0000000054cac000 CR4: 00000000001406f0 [ 5123.112888] Stack: [ 5123.113458] ffffea0000e6d940 ffff8800399a0000 00000000000167d0 0000000000000000 [ 5123.114049] 0000000000000000 0000000000000000 0000000000000000 00000000a7ec82c6 [ 5123.114662] ffff88005877fe18 ffffea0000e6d940 ffff8800399a0000 ffff880054c55800 [ 5123.115264] Call Trace: [ 5123.115868] [<ffffffffa03fb44b>] nfs4_try_migration+0xbb/0x220 [nfsv4] [ 5123.116487] [<ffffffffa03fcb3b>] nfs4_run_state_manager+0x4ab/0x7b0 [nfsv4] [ 5123.117104] [<ffffffffa03fc690>] ? nfs4_do_reclaim+0x510/0x510 [nfsv4] [ 5123.117813] [<ffffffff810a4527>] kthread+0xd7/0xf0 [ 5123.118456] [<ffffffff810a4450>] ? kthread_worker_fn+0x160/0x160 [ 5123.119108] [<ffffffff816d9cdf>] ret_from_fork+0x3f/0x70 [ 5123.119723] [<ffffffff810a4450>] ? kthread_worker_fn+0x160/0x160 [ 5123.120329] Code: 4c 8b 6a 58 74 17 eb 52 48 8d 55 a8 89 c6 4c 89 e7 e8 4a b5 ff ff 8b 45 b0 85 c0 74 1c 4c 89 f9 48 8b 55 90 48 8b 75 98 48 89 df <41> ff 55 00 3d e8 d8 ff ff 41 89 c6 74 cf 48 8b 4d c8 65 48 33 [ 5123.121643] RIP [<ffffffffa03ed38b>] nfs4_proc_get_locations+0x9b/0x120 [nfsv4] [ 5123.122308] RSP <ffff88005877fdb8> [ 5123.122942] CR2: 0000000000000000 Fixes: ec011fe847 ("NFS: Introduce a vector of migration recovery ops") Cc: stable@xxxxxxxxxxxxxxx # v3.13+ Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2b5f12eac0ce4e6ffa5788400750da0a60fe8678 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:20:57 2015 -0700 staging: wilc1000: delete wilc_osconfig.h This .h file isn't needed at all, so delete it, and the one line that added it to the build. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e53191d6e15b7afb71dfbd3134c567fcc4eb2cd Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:17:57 2015 -0700 staging: wilc1000: delete wilc_log.h The macros are not used in the driver at all, except in one commented out line, so just remove the .h file so that no one thinks it is a good idea to add any code to use them in the future. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97fd0f07d4d3f71c20ef4a4f5a65eb461290ca1c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:12:49 2015 -0700 staging: wilc1000: delete wilc_timer.h It is no longer needed at all, so remove this header file. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9eb066438b01bc70ef915987f881d3e57e698a30 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:10:55 2015 -0700 staging: wilc1000: remove WILC_TimerStart() It was a wrapper around mod_timer() so replace it with the real timer call and remove wilc_timer.c as it's now empty. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99b1a4c32ad22024ac6198a4337aaec5ea23168f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 13 15:33:51 2015 -0400 SUNRPC: Fix a thinko in xs_connect() It is rather pointless to test the value of transport->inet after calling xs_reset_transport(), since it will always be zero, and so we will never see any exponential back off behaviour. Also don't force early connections for SOFTCONN tasks. If the server disconnects us, we should respect the exponential backoff. Cc: stable@xxxxxxxxxxxxxxx # 4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 6f536936b79bd4b5cea8fb0e5b8b0bce8cd1ea4a Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 13 10:59:07 2015 -0400 NFSv4.1/pNFS: Fix borken function _same_data_server_addrs_locked() - Switch back to using list_for_each_entry(). Fixes an incorrect test for list NULL termination. - Do not assume that lists are sorted. - Finally, consider an existing entry to match if it consists of a subset of the addresses in the new entry. Cc: stable@xxxxxxxxxxxxxxx # 4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e9ae58aeee8842a50f7e199d602a5ccb2e41a95f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 12:57:07 2015 -0500 NFS: nfs_set_pgio_error sometimes misses errors We should ensure that we always set the pgio_header's error field if a READ or WRITE RPC call returns an error. The current code depends on 'hdr->good_bytes' always being initialised to a large value, which is not always done correctly by callers. When this happens, applications may end up missing important errors. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0643558f85e740019e0632072c55e8b2f79a8d7d Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Mon Aug 17 19:16:51 2015 +0800 ASoC: mediatek: Remove AIF widgets for backend DAIs DAPM core already creates widgets for DAIs. It is not necessary to declare them by SND_SOC_DAPM_AIF_IN/SND_SOC_DAPM_AIF_OUT. Furthermore, original codes use backend DAI's stream name to be the AIF widget name. It causes the same widget to be created twice, and after commit 92fa12426741 ("ASoC: dapm: Add new widgets to the end of the widget list") the first created widget (by snd_soc_dapm_new_controls) is used, not the 2nd created one (by snd_soc_dapm_new_dai_widgets), so audio path is broken. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f8ff9135b28a7560a5627aceaf289e3f0d4cd64 Author: Richard Alpe <richard.alpe@xxxxxxxxxxxx> Date: Mon Aug 17 14:15:10 2015 +0200 tipc: don't sanity check non-existing TLV (NL compat) A zero length payload means that no TLV (Type Length Value) data has been passed. Prior to this patch a non-existing TLV could be sanity checked with TLV_OK() resulting in random behavior where a user sending an empty message occasionally got a incorrect "operation not supported" message back. Signed-off-by: Richard Alpe <richard.alpe@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da3cc2da7c08dc1f4371a4cc2eb83b22a0cf83a8 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Aug 17 08:28:25 2015 +0300 bnx2: Fix bandwidth allocation for some MF modes Management firmware tells driver in case bandwidth configuration for a specific function exists, but [regretably] the same field has different meanings depending on the multi-function mode - it can either be a percentile value or an actual speed. For newer multi-function modes current logic is incorrect - driver understands values as actual speeds instead of percentages, causing the resulting chip configuration to be incorrect. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 672cfeeb93e572f108965cf964c3e2a869a549cc Merge: 92f2618 ac22a1d Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 09:12:15 2015 -0700 Merge tag 'extcon-next-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-testing Chanwoo writes: Update extcon for v4.3 This patchset include the function update of extcon drivers without critical update and fix minor issue of extcon drivers. Detailed description for patchset: 1. Update the extcon drivers: - Update the logic of microphone detection for extcon-arizona driver - Support GPIO based USB ID detection of extcon-palmas driver 2. Fix minor issues: - Clean code and remove the opitonal print_state() function pointer from extcon core driver - Clear interrupt bit state before requesting irq on extcon-max778433 driver - Fix signedness bugs of extcon core driver commit 02dc2723f2b0b94bb3e47c08e1543b84b1836086 Merge: 1724856 26c78da Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 09:09:51 2015 -0700 Merge tag 'usb-serial-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next Johan writes: USB-serial updates for v4.3-rc1 Here's a fix for a long-standing issue with the pl2303 divisor calculations that affects some non-standard baudrates that were enabled in v3.18. Adding support for newer Edgeport devices and firmware required changes to the io_ti driver and also exposed some issues with the driver's current firmware handling. Included is also a URL comment-typo fix. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 3a6b0605c73d1d695f6d4e49289deaa3fa3e73ee Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Aug 17 11:51:35 2015 -0300 Revert "[media] ARM: DT: STi: STiH407: Add c8sectpfe LinuxDVB DT node" There are some missing dependencies at the DT, as it looks for an I2C bus named "ssc2", but this is not defined. Probably, it misses some dependencies from some other tree. For now, revert this patch, to avoid build breakages. This reverts commit 5d8877b6ae0d47897b821b8a11a2e8dee9a22686. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b2887410f0d00f376b250f78d34654b4ac093900 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Aug 13 21:10:54 2015 +0530 ath10k: fill in wmi 10.4 command handlers for addba/delba debug commands WMI 10.4 uses the same command interface as QCA988X for addba/delba debug wmi commands. Fill wmi_10_4_ops table with the functions used for QCA988X for these commands. With this change, the following debugfs entries can be used to configure the aggregation mode and to send addba request, addba response and delba respectively in manual aggregation mode for QCA99X0 chip. /sys/kernel/debug/ieee80211/phyX/netdev:wlanX/stations/XX:XX:XX:XX:XX:XX/aggr_mode /sys/kernel/debug/ieee80211/phyX/netdev:wlanX/stations/XX:XX:XX:XX:XX:XX/addba /sys/kernel/debug/ieee80211/phyX/netdev:wlanX/stations/XX:XX:XX:XX:XX:XX/addba_resp /sys/kernel/debug/ieee80211/phyX/netdev:wlanX/stations/XX:XX:XX:XX:XX:XX/delba Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2b0a2e0d7c2f12d06575fdc2a0f5cc04b131202d Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:13:34 2015 +0300 ath10k: handle 10.4 firmware phyerr event Header format of 10.4 firmware phyerr event is not alligned with pre 10.4 firmware. Introduce new wmi handlers to parse 10.4 firmware specific phyerror event header. With changes covered in this patch, radar detection works on qca9x0 hw 2.0 which uses 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 991adf71a6cd993c3e6a1a0d8ea9f88b2fa51b95 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:13:29 2015 +0300 ath10k: refactor phyerr event handlers Existing phyerr event handlers directly uses phyerr header format (ie, struct wmi_phyerr and struct wmi_phyerr_event) in the code exactly on how firmware packs it. This is the problem in 10.4 fw specific phyerr event handling where it uses different phyerror header format. Before adding 10.4 specific handler, little bit of refactor is done in existing phyerr handlers. Two new abstracted structures (struct wmi_phyerr_ev_hdr_arg and struct wmi_phyerr_ev_arg) are introduced to remove dependency of using firmware specific header format in the code. So that firmware specific phyerror handlers can populate values to abstracted structures and the following code can use abstracted struct for further operation. .pull_phyerr_hdr is added newly to pull common phyerr header info like tsf, buf_len, number of phyerr packed. Existing .pull_phyerr handler is changed and called to parse every sub phyerrs in the event. Validated these refactoring on qca988x hw2.0 using fw 10.2.4 version. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f4bbb8290143b61904a082e9c6d69b6633721925 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu Aug 13 15:38:31 2015 +0300 wil6210: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. As remain is exclusively used for wait_for_completion_timeout here its type is simply changed to unsigned long. API conformance testing for completions with coccinelle spatches are being used to locate API usage inconsistencies: ./drivers/net/wireless/ath/wil6210/wmi.c:827 int return assigned to unsigned long Patch was compile tested with x86_64_defconfig + CONFIG_ATH_CARDS=m, CONFIG_WIL6210=m Patch is against 4.1-rc3 (localversion-next is -next-20150514) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8674d909fabf49140e266f124af68daa3ac93ab3 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 13 14:10:46 2015 +0200 ath10k: split ap/ibss wep key install process Apparently it's not safe to install both pairwise and groupwise keys on AP vdevs as it can cause traffic to stop working in some multi-vif (WPA+WEP) cases. Fixes: ce90b27128c2 ("ath10k: fix multiple key static wep with ibss") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 01ec8472009c973413d4dc6fb198f0cc40abb9b4 Author: Clemens Gruber <clemens.gruber@xxxxxxxxxxxx> Date: Thu Jul 23 17:19:02 2015 +0200 pwm-pca9685: Support changing the output frequency Previously, period_ns and duty_ns were only used to determine the ratio of ON and OFF time, the default frequency of 200 Hz was never changed. The PCA9685 however is capable of changing the PWM output frequency, which is expected when changing the period. This patch configures the prescaler accordingly, using the formula and notes provided in the PCA9685 datasheet. Bounds checking for the minimum and maximum frequencies, last updated in revision v.4 of said datasheet, is also added. The prescaler is only touched if the period changed, because we have to put the chip into sleep mode to unlock the prescale register. If it is changed, the PWM output frequency changes for all outputs, because there is one prescaler per chip. This is documented in the PCA9685 datasheet and in the comments. If the duty cycle is not changed at the same time as the period, then we restart the PWM output using the duty cycle to period ratio from before the period change. When using LEDs for example, previously set brightness levels stay the same when the frequency changes. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Clemens Gruber <clemens.gruber@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 4a627b52e47ee09348773a981f2097f69ff349ee Author: Clemens Gruber <clemens.gruber@xxxxxxxxxxxx> Date: Thu Jul 23 17:19:01 2015 +0200 pwm-pca9685: Fix several driver bugs Problems: - When duty_ns == period_ns, the full OFF bit was not cleared and the PWM output of the PCA9685 stayed off. - When duty_ns == period_ns and the catch-all channel was used, the ALL_LED_OFF_L register was not cleared. - The full ON bit was not cleared when setting the OFF time, therefore the exact OFF time was ignored when setting a duty_ns < period_ns Solution: Clear both OFF registers when setting full ON and clear the full ON bit when changing the OFF registers. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Clemens Gruber <clemens.gruber@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 22d109c1bb312dbf321f3d0ab1b0ed94f1a7e304 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:09 2015 +0200 nbd: flags is a u32 variable The flags variable is used as u32 variable. This patch changes the type to be u32. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit cad73b2703cff68b140d68221eeecd5a30322b44 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:08 2015 +0200 nbd: Rename functions for clearness of recv/send path This patch renames functions so that it is clear what the function does. Otherwise it is not directly understandable what for example 'do_it' means. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 696697cb50e4b57d4163d59a496ad9e52f6bff8a Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:07 2015 +0200 nbd: Change 'disconnect' to be boolean Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 30d53d9c11b6c2f71253a2be582969d7e6fa7f10 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:06 2015 +0200 nbd: Add debugfs entries Add some debugfs files that help to understand the internal state of NBD. This exports the different sizes, flags, tasks and so on. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6521d39a64b3f9c3acb0fd25a34cfaf9a40e548e Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:05 2015 +0200 nbd: Remove variable 'pid' This patch uses nbd->task_recv to determine the value of the previously used variable 'pid' for sysfs. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e78273c80b213806ec7c51176ec81e034fe5cb9f Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:04 2015 +0200 nbd: Move clear queue debug message This message was a warning without a reason. This patch moves it into nbd_clear_que and transforms it to a debug message. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 193918307f4e66eb6a811f30795991c6f7680b34 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:03 2015 +0200 nbd: Remove 'harderror' and propagate error properly Instead of a variable 'harderror' we can simply try to correctly propagate errors to the userspace. This patch removes the harderror variable and passes errors through error pointers and nbd_do_it back to the userspace. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 260bbce403e2ac601b422fd926f48b9924051f92 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:02 2015 +0200 nbd: restructure sock_shutdown This patch restructures sock_shutdown to avoid having the main code path in an if block. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 36e47bee7c9bc7771aad6e972dea92e2324338a4 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:01 2015 +0200 nbd: sock_shutdown, remove conditional lock Move the conditional lock from sock_shutdown into the surrounding code. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7e2893a16d3e71035a38122a77bc55848a29f0e4 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:00 2015 +0200 nbd: Fix timeout detection At the moment the nbd timeout just detects hanging tcp operations. This is not enough to detect a hanging or bad connection as expected of a timeout. This patch redesigns the timeout detection to include some more cases. The timeout is now in relation to replies from the server. If the server does not send replies within the timeout the connection will be shut down. The patch adds a continous timer 'timeout_timer' that is setup in one of two cases: - The request list is empty and we are sending the first request out to the server. We want to have a reply within the given timeout, otherwise we consider the connection to be dead. - A server response was received. This means the server is still communicating with us. The timer is reset to the timeout value. The timer is not stopped if the list becomes empty. It will just trigger a timeout which will directly leave the handling routine again as the request list is empty. The whole patch does not use any additional explicit locking. The list_empty() calls are safe to be used concurrently. The timer is locked internally as we just use mod_timer and del_timer_sync(). The patch is based on the idea of Michal Belczyk with a previous different implementation. Cc: Michal Belczyk <belczyk@xxxxxxxxxxxxx> Cc: Hermann Lauer <Hermann.Lauer@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Tested-by: Hermann Lauer <Hermann.Lauer@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit fe0aea7978d25d8df6c128481b8111e76d972657 Author: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Date: Mon Jun 15 14:21:01 2015 -0700 pwm: kona: Modify settings application sequence Update the driver so that settings are applied in accordance with the most recent version of the hardware spec. The revised sequence clears the trigger bit, waits 400ns, writes settings, sets the trigger bit, and waits another 400ns. This corrects an issue where occasionally a requested change was not properly reflected in the PWM output. Reviewed-by: Arun Ramamurthy <arunrama@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Scott Branden <sbranden@xxxxxxxxxxxx> Reviewed-by: Tim Kryger <tim.kryger@xxxxxxxxx> Signed-off-by: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit db0fa0cb015794dd19f664933d49c6ce902ec1e1 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 17 08:13:26 2015 -0600 scatterlist: use sg_phys() Coccinelle cleanup to replace open coded sg to physical address translations. This is in preparation for introducing scatterlists that reference __pfn_t. // sg_phys.cocci: convert usage page_to_phys(sg_page(sg)) to sg_phys(sg) // usage: make coccicheck COCCI=sg_phys.cocci MODE=patch virtual patch @@ struct scatterlist *sg; @@ - page_to_phys(sg_page(sg)) + sg->offset + sg_phys(sg) @@ struct scatterlist *sg; @@ - page_to_phys(sg_page(sg)) + sg_phys(sg) & PAGE_MASK Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 89e2a8404e4415da1edbac6ca4f7332b4a74fae2 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 7 18:15:15 2015 +0200 crypto/omap-sham: remove an open coded access to ->page_link Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> [hch: split from a larger patch by Dan] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit da81ed16bdb3bc1bf92e6cb3340915a3204d5ace Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Aug 7 18:15:14 2015 +0200 scatterlist: remove open coded sg_unmark_end instances Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> [hch: split from a larger patch by Dan] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c56f6d1270b9fc31144b59106bc8590c2acf4a8e Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Aug 7 18:15:13 2015 +0200 crypto: replace scatterwalk_sg_chain with sg_chain Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> [hch: split from a larger patch by Dan] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 02c4de53add1b799f5663d5e9c8e9a5d9366a507 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 7 18:15:12 2015 +0200 target/rd: always chain S/G list The rd sg lists are never passed to hardware, so use S/G chaining unonditionally. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 10c95ed9aa2970e05fedb4ac8b3ce1b934dab17b Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 7 18:15:11 2015 +0200 scatterlist: allow limited chaining without ARCH_HAS_SG_CHAIN There are a couple of uses of struct scatterlist that never go to the dma_map_sg() helper and thus don't care about ARCH_HAS_SG_CHAIN which indicates that we can map chained S/G list. The most important one is the crypto code, which currently has to open code a few helpers to always allow chaining. This patch removes a few #ifdef ARCH_HAS_SG_CHAIN statements so that we can switch the crypto code to these common helpers. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5efb1d5489520ce72232bbc28e9156f0ebddc44e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:42 2015 +0300 perf tools: Take Intel PT into use To record an AUX area, the weak function auxtrace_record__init() must be implemented. Equally to decode an AUX area, the AUX area tracing type must be added to the perf_event__process_auxtrace_info() function. This patch makes those two changes plus hooks up default config for the intel_pt PMU. Also some brief documentation is provided for using the tools with intel_pt. Commiter note: E.g: [root@perf4 ~]# dmesg 451 [0.405807] Performance Events: PEBS fmt2+, 16-deep LBR, Broadwell events, full-width counters, Intel PMU driver. [root@perf4 ~]# perf --version perf version 4.1.g53874a [root@perf4 ~]# perf record -e intel_pt//u -a sleep 10 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.383 MB perf.data ] [root@perf4 ~]# perf evlist intel_pt//u sched:sched_switch dummy:u [root@perf4 ~]# perf report --stdio # To display the perf.data header info, please use --header/--header-only options. # # # Total Lost Samples: 0 # # Samples: 0 of event 'intel_pt//u' # Event count (approx.): 0 # # Overhead Command Shared Object Symbol # ........ ....... ............. ...... # # Samples: 393 of event 'sched:sched_switch' # Event count (approx.): 393 # # Overhead Command Shared Object Symbol # ........ .............. ................ .............. 49.62% swapper [kernel.vmlinux] [k] __schedule 10.69% rcu_sched [kernel.vmlinux] [k] __schedule 6.62% rcuos/0 [kernel.vmlinux] [k] __schedule 5.60% kworker/0:1 [kernel.vmlinux] [k] __schedule 3.56% rcuos/3 [kernel.vmlinux] [k] __schedule 3.05% kworker/u384:2 [kernel.vmlinux] [k] __schedule 2.54% kworker/2:0 [kernel.vmlinux] [k] __schedule 2.54% tuned [kernel.vmlinux] [k] __schedule <SNIP> # Samples: 0 of event 'dummy:u' # Event count (approx.): 0 # # Overhead Command Shared Object Symbol # ........ ....... ............. ...... # Samples: 28 of event 'instructions:u' # Event count (approx.): 5030172 # # Overhead Command Shared Object Symbol # ........ .......... ................... ................................ # 21.43% tuned libpython2.7.so.1.0 [.] PyEval_EvalFrameEx | ---PyEval_EvalFrameEx | |--83.33%-- PyEval_EvalCodeEx | PyEval_EvalFrameEx | | | |--60.00%-- PyEval_EvalCodeEx | | PyEval_EvalFrameEx | | PyEval_EvalFrameEx | | | --40.00%-- PyEval_EvalFrameEx | --16.67%-- PyEval_EvalFrameEx PyEval_EvalCodeEx PyEval_EvalFrameEx PyEval_EvalCodeEx PyEval_EvalFrameEx PyEval_EvalFrameEx 14.29% tuned libpython2.7.so.1.0 [.] _PyType_Lookup | ---_PyType_Lookup _PyObject_GenericGetAttrWithDict PyEval_EvalFrameEx PyEval_EvalCodeEx PyEval_EvalFrameEx PyEval_EvalCodeEx PyEval_EvalFrameEx | |--75.00%-- PyEval_EvalFrameEx | --25.00%-- PyEval_EvalCodeEx PyEval_EvalFrameEx PyEval_EvalFrameEx 3.57% irqbalance irqbalance [.] 0x0000000000004038 | ---0x4038 0x4761 0x4761 0x4761 0x49f1 0x2295 3.57% irqbalance libc-2.17.so [.] __GI_____strtoull_l_internal | ---__GI_____strtoull_l_internal 0x6f49 0x229a 3.57% irqbalance libc-2.17.so [.] __strchrnul | ---__strchrnul vfprintf __vsprintf_chk __sprintf_chk 0x2724 0x4038 0x2331 3.57% irqbalance libc-2.17.so [.] __strstr_sse42 | ---__strstr_sse42 0x71e0 0x229f # And now to some userspace ftrace on uninstrumented binaries 8-) : # Hand edited to make it a bit more compact, replacing /home/acme/bin/perf # with /bin/perf: [root@perf4 ~]# perf script perf 8921 [3] 7.310889: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310889: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 481630 perf_evlist__enable (/bin/perf) => 4816d8 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 4816de perf_evlist__enable (/bin/perf) => 48164f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310889: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.310890: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310890: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310890: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310890: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310890: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310890: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310890: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.310893: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310893: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310893: 1 branches:u: 4816a8 perf_evlist__enable (/bin/perf) => 4815f8 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310893: 1 branches:u: 4815fe perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310893: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310893: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310893: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310893: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.310956: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310956: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 481630 perf_evlist__enable (/bin/perf) => 4816d8 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 4816de perf_evlist__enable (/bin/perf) => 48164f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310956: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.310961: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310961: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310961: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310961: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310961: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310961: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310961: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.310968: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310968: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310968: 1 branches:u: 4816a8 perf_evlist__enable (/bin/perf) => 4815f8 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310968: 1 branches:u: 4815fe perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310968: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310968: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310968: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310968: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.311040: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.311040: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 481630 perf_evlist__enable (/bin/perf) => 4816d8 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 4816de perf_evlist__enable (/bin/perf) => 48164f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.311040: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.311046: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.311046: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311046: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311046: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311046: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.311046: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.311046: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.311050: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.311050: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) : Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-8-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 90e457f7be0870052724b2d9c2c106e5847f2c19 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:41 2015 +0300 perf tools: Add Intel PT support Add support for Intel Processor Trace. Intel PT support fits within the new auxtrace infrastructure. Recording is supporting by identifying the Intel PT PMU, parsing options and setting up events. Decoding is supported by queuing up trace data by cpu or thread and then decoding synchronously delivering synthesized event samples into the session processing for tools to consume. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-7-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f4aa081949e7b6b01e711229c5a47ee3482a169c Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:40 2015 +0300 perf tools: Add Intel PT decoder Add support for decoding an Intel Processor Trace. Intel PT trace data must be 'decoded' which involves walking the object code and matching the trace data packets. The decoder requests a buffer of binary data via a get_trace() call-back, which it decodes using instruction information which it gets via another call-back walk_insn(). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-6-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 53af92849d793662e943d61bb16f7d3eb2d7a072 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:39 2015 +0300 perf tools: Add Intel PT log Add a facility to log Intel Processor Trace decoding. The log is intended for debugging purposes only. The log file name is "intel_pt.log" and is opened in the current directory. The log contains a record of all packets and instructions decoded and can get very large (10 MB would be a small one). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 237fae79f50d2d0c7bdeb039bc2c87fc6d52c7e7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 13 10:14:55 2015 +0300 perf tools: Add Intel PT instruction decoder Add support for decoding instructions for Intel Processor Trace. The kernel x86 instruction decoder is copied for this. This essentially provides intel_pt_get_insn() which takes a binary buffer, uses the kernel's x86 instruction decoder to get details of the instruction and then categorizes it for consumption by an Intel PT decoder. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439450095-30122-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a4e925905c98fb83538c164878946d77d0df1433 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:37 2015 +0300 perf tools: Add Intel PT packet decoder Add support for decoding Intel Processor Trace packets. This essentially provides intel_pt_get_packet() which takes a buffer of binary data and returns the decoded packet. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 55ea4ab4260f42b824450faa47fe4d129fce0918 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:36 2015 +0300 perf auxtrace: Add Intel PT as an AUX area tracing type Add the Intel Processor Trace type constant PERF_AUXTRACE_INTEL_PT. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 835095653ebfe4b16596a30db1c4e7c414014b5e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 13 12:40:56 2015 +0300 perf tools: Add a helper function to probe whether cpu-wide tracing is possible Add a helper function to probe whether cpu-wide tracing is possible. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439458857-30636-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f0ee3b467ab7a74ffce75190259eb59dbf30ecad Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 14 15:50:06 2015 +0300 perf symbols: Fix annotation of vdso Older kernels attempt to prelink vdso to its virtual address. To permit annotation using objdump, the map__rip_2objdump() calculation must result in that same address which we can infer from the start and offset of the text section. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1439556606-11297-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3d7245b0946c13a97e3a10213b8fd0152972a0d5 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 14 10:11:34 2015 +0300 perf annotate: Fix 32-bit compilation error in util/annotate.c Fix the following 32-bit compilation errors: util/annotate.c: In function â??addr_map_symbol__account_cyclesâ??: util/annotate.c:643:3: error: format â??%lxâ?? expects argument of type â??long unsigned intâ??, but argument 4 has type â??u64â?? [-Werror=format=] pr_debug2("BB with bad start: addr %lx start %lx sym %lx saddr %lx\n", ^ util/annotate.c:643:3: error: format â??%lxâ?? expects argument of type â??long unsigned intâ??, but argument 5 has type â??u64â?? [-Werror=format=] util/annotate.c:643:3: error: format â??%lxâ?? expects argument of type â??long unsigned intâ??, but argument 6 has type â??u64â?? [-Werror=format=] These were introduced by the patch: "perf report: Add infrastructure for a cycles histogram" Also change the 'saddr' variable from 'unsigned long' to 'u64' noting that theoretically we could be processing data captured on a 64-bit machine but processing it on a 32-bit machine. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Fixes: d4957633bf9d ("perf report: Add infrastructure for a cycles histogram") Link: http://lkml.kernel.org/r/1439536294-18241-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 09c14459f2622ccacdff13461c5c864bff80cc07 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:28:10 2015 +0900 pwm: pca9685: Drop owner assignment i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 21df89a5667de5fcd061753d3833e7dfcf5509d3 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Fri Aug 7 15:30:44 2015 +0800 drm/amdgpu: fix one warning message In function 'amdgpu_uvd_cs_pass2': warning: 'min_ctx_size' may be used uninitialized in this function buf_sizes[0x4] = min_ctx_size; ^ note: 'min_ctx_size' was declared here unsigned image_size, tmp, min_dpb_size, num_dpb_buffer, min_ctx_size; ^ Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 7322d6c98dd214252bd697f8dde64a3576977fab Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Aug 13 09:17:24 2015 +0200 perf script: Initialize callchain_param.record_mode Milian Wolff reported non functional DWARF unwind under perf script. The reason is that perf script does not properly configure callchain_param.record_mode, which is needed by unwind code. Stealing the code from report and leaving the place for more initialization code in a hope we could merge it with report__setup_sample_type one day. Reported-by: Milian Wolff <mail@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Milian Wolff <milian.wolff@xxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150813071724.GA21322@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9c8fb548fb242b462657151eb9c5dd6b6def5b62 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Wed Aug 12 16:24:05 2015 +0530 ath10k: add cycle/rx_clear counters frequency to hw_params The frequency at which cycle/rx_clear counters are running might change from one target type to another. QCA99X0 is running the counters at 150Mhz while QCA9888X and QCA6174 are running at 88Mhz. Add a new entry to hw_params to store the target specific frequency and use it in msecs conversion. This change fixes inconsistent channel active/busy time. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3d2a2e293e9578f59b182c8e5ad7b54ec4e28318 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Wed Aug 12 16:24:04 2015 +0530 ath10k: fix invalid survey reporting for QCA99X0 There are three WMI_CHAN_INFO events reported per channel in QCA99X0 firmware. First one is a notification at the begining of the channel dwell time with cmd_flag as CHAN_INFO_START(cmd_flag = 0), second one is a notification at the end of the dwell time with cmd_flag CHAN_INFO_PRE_COMPLETE (cmd_flag = 2) and the third is the indication with CHAN_INFO_COMPLETE (cmd_flag = 1) which is the last indication for the channel. Since there is a new state before the completion, the handler is to fixed so that the counts are deducted from the ones reported with CHAN_INFO_START rather than the ones reported with CHAN_INFO_PRE_COMPLETE. Without this fix there will be lots of 0 msecs reported as active and busy time. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d0465208206c7c6859afffc405570c1921e2d896 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Jul 23 10:53:51 2015 -0400 drm/radeon/dce6: assign different audio pins to each encoder This allows you to send different audio to each audio capable display. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 6d2d51ecfff13f5f6ffc476dccf4d5b2668072eb Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 7 09:08:21 2015 +0200 ath10k: wake up queue upon vif creation Vif's vdev_id is used as queue number. However due to the tx pausing design in ath10k it was possible for a new interface to be created with its tx queue stopped (via ieee80211_stop_queues). This could in turn leave the interface inoperable until ath10k_mac_tx_unlock() was called. This problem only affected multi-vif scenarios when new interfaces were created some time later after other interfaces have been running for some time and had Tx queue full at some point prior. Possible manifestation of the bug was authentication timeout for a client vif. Fixes: 96d828d45e16 ("ath10k: rework tx queue locking") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6e146f5c41da7e9601fe92fb4d06b45431dbf95b Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Jul 27 12:00:23 2015 +0200 pwm: Add to device-drivers documentation Add a short introductory text along with API documentation generated from kerneldoc comments for the PWM framework. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 048838027667872a75d3af40c51a22088bafd968 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Jul 27 11:58:32 2015 +0200 pwm: Clean up kerneldoc Clean up kerneldoc in preparation for including the PWM documentation in DocBook. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 6bc7064a69fc5b1f774771ea9e2c50e497311766 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Jul 27 11:57:28 2015 +0200 pwm: Remove useless whitespace Remove useless tabs used for padding in structure definitions as well as some blank lines. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 3a73d1a6f22bf13044056543ad43b2a304ee0022 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 6 14:46:54 2015 +0200 ath10k: wake up offchannel queue properly Once HTT Tx queue got full offchannel queue was stopped and never woken up again. This broke, e.g. P2P. This could be reproduced after running a lot of traffic enough to saturate 100% of the driver Tx queue and then trying to send offchannel traffic. Fixes: 96d828d45e16 ("ath10k: rework tx queue locking") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a0a8bcf4670c2c696e6e83742539a5e0dd7a62d6 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Aug 17 15:35:23 2015 +0300 gpiolib: irqchip: use different lockdep class for each gpio irqchip Since IRQ chip helpers were introduced drivers lose ability to register separate lockdep classes for each registered GPIO IRQ chip and the gpiolib now is using shared lockdep class for all GPIO IRQ chips (gpiochip_irq_lock_class). As result, lockdep will produce warning when there are min two stacked GPIO chips and all of them are interrupt controllers. HW configuration which generates lockdep warning (TI dra7-evm): [SOC GPIO bankA.gpioX] <- irq - [pcf875x.gpioY] <- irq - DevZ.enable_irq_wake(pcf_gpioY_irq); The issue was reported in [1] and discussed [2]. ============================================= [ INFO: possible recursive locking detected ] 4.2.0-rc6-00013-g5d050ed-dirty #55 Not tainted --------------------------------------------- sh/63 is trying to acquire lock: (class){......}, at: [<c009b91c>] __irq_get_desc_lock+0x50/0x94 but task is already holding lock: (class){......}, at: [<c009b91c>] __irq_get_desc_lock+0x50/0x94 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(class); lock(class); *** DEADLOCK *** May be due to missing lock nesting notation 7 locks held by sh/63: #0: (sb_writers#4){.+.+.+}, at: [<c016bbb8>] vfs_write+0x13c/0x164 #1: (&of->mutex){+.+.+.}, at: [<c01debf4>] kernfs_fop_write+0x4c/0x1a0 #2: (s_active#36){.+.+.+}, at: [<c01debfc>] kernfs_fop_write+0x54/0x1a0 #3: (pm_mutex){+.+.+.}, at: [<c009758c>] pm_suspend+0xec/0x4c4 #4: (&dev->mutex){......}, at: [<c03f77f8>] __device_suspend+0xd4/0x398 #5: (&gpio->lock){+.+.+.}, at: [<c009b940>] __irq_get_desc_lock+0x74/0x94 #6: (class){......}, at: [<c009b91c>] __irq_get_desc_lock+0x50/0x94 stack backtrace: CPU: 0 PID: 63 Comm: sh Not tainted 4.2.0-rc6-00013-g5d050ed-dirty #55 Hardware name: Generic DRA74X (Flattened Device Tree) [<c0016e24>] (unwind_backtrace) from [<c0013338>] (show_stack+0x10/0x14) [<c0013338>] (show_stack) from [<c05f6b24>] (dump_stack+0x84/0x9c) [<c05f6b24>] (dump_stack) from [<c00903f4>] (__lock_acquire+0x19c0/0x1e20) [<c00903f4>] (__lock_acquire) from [<c0091098>] (lock_acquire+0xa8/0x128) [<c0091098>] (lock_acquire) from [<c05fd61c>] (_raw_spin_lock_irqsave+0x38/0x4c) [<c05fd61c>] (_raw_spin_lock_irqsave) from [<c009b91c>] (__irq_get_desc_lock+0x50/0x94) [<c009b91c>] (__irq_get_desc_lock) from [<c009c4f4>] (irq_set_irq_wake+0x20/0xfc) [<c009c4f4>] (irq_set_irq_wake) from [<c0393ac4>] (pcf857x_irq_set_wake+0x24/0x54) [<c0393ac4>] (pcf857x_irq_set_wake) from [<c009c560>] (irq_set_irq_wake+0x8c/0xfc) [<c009c560>] (irq_set_irq_wake) from [<c04a02ac>] (gpio_keys_suspend+0x70/0xd4) [<c04a02ac>] (gpio_keys_suspend) from [<c03f6a00>] (dpm_run_callback+0x50/0x124) [<c03f6a00>] (dpm_run_callback) from [<c03f7830>] (__device_suspend+0x10c/0x398) [<c03f7830>] (__device_suspend) from [<c03f90f0>] (dpm_suspend+0x134/0x2f4) [<c03f90f0>] (dpm_suspend) from [<c0096e20>] (suspend_devices_and_enter+0xa8/0x728) [<c0096e20>] (suspend_devices_and_enter) from [<c00977cc>] (pm_suspend+0x32c/0x4c4) [<c00977cc>] (pm_suspend) from [<c0096060>] (state_store+0x64/0xb8) [<c0096060>] (state_store) from [<c01dec64>] (kernfs_fop_write+0xbc/0x1a0) [<c01dec64>] (kernfs_fop_write) from [<c016b280>] (__vfs_write+0x20/0xd8) [<c016b280>] (__vfs_write) from [<c016bb0c>] (vfs_write+0x90/0x164) [<c016bb0c>] (vfs_write) from [<c016c330>] (SyS_write+0x44/0x9c) [<c016c330>] (SyS_write) from [<c000f500>] (ret_fast_syscall+0x0/0x54) Lets fix it by using separate lockdep class for each registered GPIO IRQ Chip. This is done by wrapping gpiochip_irqchip_add call into macros. The implementation of this patch inspired by solution done by Nicolas Boichat for regmap [3] [1] http://www.spinics.net/lists/linux-gpio/msg05844.html [2] http://www.spinics.net/lists/linux-gpio/msg06021.html [3] http://www.spinics.net/lists/arm-kernel/msg429834.html Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Roger Quadros <rogerq@xxxxxx> Reported-by: Roger Quadros <rogerq@xxxxxx> Tested-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d5cf00c7ac2bf6b9d10c393b1e3b7551176c7f40 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 17 15:06:52 2015 +0200 ALSA: hda/eld - Add const to possible places Similar like the previous fix to hda_proc.c, adding const prefix will save our world (a little bit). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1d260d7b3b03f96dfbc9781ec046edc729220f09 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 17 14:57:32 2015 +0200 ALSA: hda/proc - Fix racy string access for power states The power states in a proc file are printed in a racy manner on a single static string buffer. Fix it by calling snd_iprintf() directly for each state instead of processing on a temporary buffer. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cc75cdfe1d64585d82013632b81199b1e9f1da97 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 17 14:52:51 2015 +0200 ALSA: hda/proc - Add const to possible places Many arrays in hda_proc.c are string arrays that should be covered by const prefix for increasing the safety and reducing the size. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d2c6b63df5c143ea1535398e0874432277285765 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 17 14:44:24 2015 +0200 ALSA: hda - Make some helper functions local A few helper functions to convert the pin information to strings have been exported with assumption that they were used by other drivers. But they are referred only in the proc interface in the end. Let's make them local so that we can get rid of a few exports. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dd43c4e92fbb135dcbf02845578db60be56a453a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 20:39:40 2015 +0800 crypto: null - Add missing Kconfig tristate for NULL2 This patch adds a missing tristate statement to Kconfig for the new CRYPTO_NULL2 option. Fixes: 149a39717dcc ("crypto: aead - Add type-safe geniv init/exit helpers") Reported-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 54e466fde4816455cc5b1893b73c2f3c7ca52e49 Merge: 2c6625c 11cec15 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Mon Aug 17 14:16:59 2015 +0200 Merge tag 'tegra-for-4.3-iommu' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/tegra iommu/tegra-smmu: Changes for v4.3-rc1 A bunch of improvements by Russell King, along with a fix to restore display support when using the SMMU. This was due to the SMMU driver writing the wrong value of active TLB lines, effectively disabling the TLB and causing massive underflows on the display controller because of the latency introduced by the SMMU. commit 9129c26da1711aba1e6295c28de8814301869732 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 18:04:17 2015 +0800 crypto: nx - Add forward declaration for struct crypto_aead The file nx.h has function prototypes that use struct crypto_aead. However, as crypto/aead.h is not included we don't have a definition for it. This patch adds a forward declaration to fix this. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a26bcb04861db3061bb7db11ce905aa037111f81 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 17:45:27 2015 +0800 crypto: null - Use NULL2 in Makefile The Kconfig option NULL2 has been added as CRYPTO_MANAGER now depends indirectly on NULL2. However, the Makefile was not updated to use the new option, resulting in potential build failures when only NULL2 is enabled. Fixes: 149a39717dcc ("crypto: aead - Add type-safe geniv init/exit helpers") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 57e104864bc4874a36796fd222d8d084dbf90b9b Author: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Date: Tue Aug 11 01:27:18 2015 +0900 mmc: dw_mmc: add quirk for broken data transfer over scheme This patch add a new quirk to add a s/w timer to notify the driver to terminate current transfer and report a data timeout to the core, if DTO interrupt does NOT come within the given time. dw_mmc call mmc_request_done func to finish transfer depends on DTO interrupt. If DTO interrupt does not come in sending data state, the current transfer will be blocked. We got the reply from synopsys: There are two counters but both use the same value of [31:8] bits. Data timeout counter doesn't wait for stop clock and you should get DRTO even when the clock is not stopped. Host Starvation timeout counter is triggered with stop clock condition. This means that host should get DRTO and DTO interrupt. But this case really exists, when driver reads tuning data from card on RK3288-pink2 board. I measured waveforms by oscilloscope and found that card clock was always on and data lines were always holded high level in sending data state. There are two possibility that data over interrupt doesn't come in reading data state on RK3X SoCs: - get command done interrupt, but doesn't get any data-related interrupt. - get data error interrupt, but doesn't get data over interrupt. Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 40a7a463a80ae9e3b85a9fd85cf704fb9ac28b6f Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Thu Aug 6 16:23:26 2015 +0900 mmc: dw_mmc: print the message for deprecated property supports-highspeed was deprecated. If someone use it, we need to notice information for it. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 2b708df2b3edf6e91a4c8d89e7aedb0f861d0e41 Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Thu Aug 6 16:23:25 2015 +0900 mmc: dw_mmc: remove the unused blk_setting "blk_setting" doesn't use anywhere. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 9e747b7e4af090a4974005f3064963026f519fcc Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Thu Aug 6 16:23:24 2015 +0900 mmc: dw_mmc: fix the wrong condition checking When num-slots is lower than 1, it's right that should be returned -ENODEV. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 575c319dfe872fc8bf1d57b244fb40f497ab3a47 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Aug 3 17:04:10 2015 +0200 mmc: dw_mmc: fix pio mode when internal dmac is enabled The dw_mci_init_dma() may decide to not use dma, but pio instead, caused by things like wrong dma settings in the system. Till now the code dw_mci_init_slot() always assumed that dma is available when CONFIG_MMC_DW_IDMAC was defined, ignoring the host->use_dma var set during dma init. So when now the dma init failed for whatever reason, the transfer sizes would still be set for dma transfers, especially including the maximum block-count calculated from host->ring_size and resulting in a [ 4.991109] ------------[ cut here ]------------ [ 4.991111] kernel BUG at drivers/mmc/core/core.c:256! [ 4.991113] Internal error: Oops - BUG: 0 [#1] SMP ARM because host->ring_size is 0 in this case and the slot init code uses the wrong code to calculate the values. Fix this by selecting the correct calculations using the host->use_dma variable instead of the CONFIG_MMC_DW_IDMAC config option. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 0e3a22c044478b6114a767af4a765c0e33eddd53 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Mon Aug 3 15:07:21 2015 +0800 mmc: dw_mmc: Fix coding style issues This patch fixes the following issues reported by checkpatch.pl: - use -EINVAL instead of -ENOSYS, to fix warning message: "ENOSYS means 'invalid syscall nr' and nothing else" - split lines whose length is greater than 80 characters - avoid quoted string split across lines - use min_t instead of min, to fix warning message: "min() should probably be min_t(int, cnt, host->part_buf_count)" - fix missing a blank line after declarations Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 5959b32e3636f9bfe3f869d1e440bc4a4d660965 Author: Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> Date: Thu Jun 25 11:25:07 2015 +0300 mmc: dw_mmc: handle data blocks > than 4kB if IDMAC is used As per DW MobileStorage databook "each descriptor can transfer up to 4kB of data in chained mode", moreover buffer size that is put in "des1" is limited to 13 bits, i.e. for example on attempt to IDMAC_SET_BUFFER1_SIZE(desc, 8192) size value that's effectively written will be 0. On the platform with 8kB PAGE_SIZE I see dw_mmc gets data blocks in SG-list of 8kB size and that leads to unpredictable behavior of the SD/MMC controller. In particular on write to FAT partition of SD-card the controller will stuck in the middle of DMA transaction. Solution to the problem is simple - we need to pass large (> 4kB) data buffers to the controller via multiple descriptors. And that's what that change does. What's interesting I did try original driver on same platform but configured with 4kB PAGE_SIZE and may confirm that data blocks passed in SG-list to dw_mmc never exeed 4kB limit - that explains why nobody ever faced a problem I did. Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Cc: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Cc: arc-linux-dev@xxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 7d70d476d0112b44bf93747934ff089c50549e6d Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Fri Jul 10 11:44:03 2015 +0800 mmc: block: add fixup of broken CMD23 for Sandisk card Some Sandisk cards(such as "SDMB-32" and "SDM032" cards) can't support CMD23, and would generate CMD timeout. So add FIX-UP for these two types Sandisk cards. Error log: mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 end_request: I/O error, dev mmcblk0, sector 0 Buffer I/O error on device mmcblk0, logical block 0 mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 67b589a2ebe3f9705e8a70275cedec78447f803a Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Fri Jul 10 11:42:37 2015 +0800 mmc: sdhci-esdhc: add default quirk SDHCI_QUIRK_NO_HISPD_BIT eSDHC supports high speed mode, but has no enabling bit for it. Add this quirk to avoid writing to eSDHC_PROCTL[DTW] by mistake. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f13e5b9f3c625916d7658ba526574a5d24e4d664 Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Fri Jul 10 11:36:45 2015 +0800 mmc: sdio: avoid using NULL sdio_irq_thread pointer For Freescale QorIQ LS1021AQDS board, there is a SDIO interrupt in the process of resume without inserting SD adapter because of some unknown issue. But the driver doesn't assign sdio_irq_thread pointer. This will block the resume of kernel. This patch is used to avoid using NULL sdio_irq_thread pointer. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4c06654c47ee2ff5308b7e89994225ff81b48ef2 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Jul 7 20:38:44 2015 +0200 mmc: omap_hsmmc: regulator automatically released by devm Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f7f0f03506d00fc2939a8625ed141c2dda568fad Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Jul 7 20:38:43 2015 +0200 mmc: omap_hsmmc: call omap_hsmmc_set_power directly If no pdata.set_power was set by the platform code, the driver was updating pdata with its own fallback function. This is a no-no since pdata shall be read-only. This patch pushes the check 'pdata->set_power != NULL' down into the fallback functions. If pdata.set_power is really set, it calls them and exits, otherwise the fallback code is used. Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c21e678b256baec428662704138d85cfc593abf4 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Jul 7 19:53:10 2015 +0200 Documentation: dt: update ti,am33xx-hsmmc swakeup workaround Before 5b83b2234be6733cf the driver was hard coding the wakeup irq to be active low. The generic pm wakeirq does not override the active high/low parameter, hence it must be specified correctly in the device tree. Mind that SDIO IRQ is active low as defined in the SDIO specification Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 135b0a284d9c2bcfb64a5f7d90c439ede8bc5e06 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Jul 6 15:16:21 2015 +0300 mmc: sdhci: properly check card present state when quirk NO_CARD_NO_RESET is set Controller could have both NO_CARD_NO_RESET and BROKEN_CARD_DETECTION quirks set. Use sdhci_do_get_cd() when applying NO_CARD_NO_RESET, which properly check for BROKEN_CARD_DETECTION quirk. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c31d22eb335d4e3d2016135038fac8daaa9708d6 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Jul 6 15:16:20 2015 +0300 mmc: sdhci: don't use card state polling when CD GPIO is defined There is no reason to use polling for card detection state change when drivers are using dedicated GPIO for this. Don't poll in this case. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 88af56552b121295ba905db2523b1622fb4fc1e4 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Jul 6 15:16:19 2015 +0300 mmc: sdhci: let GPIO based card detection have higher precedence Controller could have BROKEN_CARD_DETECTION quirk set, but drivers could use GPIO to detect card present state. Let, when defined, GPIO take precedence, so drivers could properly detect card state and not use polling. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 951b8c875ac905aa9d348c825c380e7ce66c0f62 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Jul 6 14:53:38 2015 +0300 mmc: sdhci-msm: Boost controller core clock Ensure SDCC is working with maximum clock otherwise card detection could be extremely slow, up to 7 seconds. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Reviewed-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 829b6962f7e3cfc06f7c5c26269fd47ad48cf503 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jun 24 14:32:21 2015 +0300 mmc: block: don't use parameter prefix if built as module It's excessive to use prefix for the parameters when you do modprobe mmc-block mmcblk.perdev_minors=16 Make this available only for built-in case. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8292adc6ba1d59fa227bcc43cec2ce207cbb588c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Jun 16 21:15:15 2015 +0200 mmc: omap: use for_each_sg() for scatterlist parsing See Documentation/DMA-API.txt - Part Id Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2d532d458b43ea273632bf1cbc56c040a4b40898 Author: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Date: Tue Jun 9 13:01:51 2015 +0530 mmc: sdhci-of-arasan: add quirks for broken clock base adding SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN,SDHCI_QUIRK2_PRESET_VALUE_BROKEN flags for arasan sdhc. Signed-off-by: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d1955c3a9a1d89c53c9e7ce3b87799f8db1855c1 Author: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Date: Tue Jun 9 13:01:50 2015 +0530 mmc: sdhci: add quirk SDHCI_QUIRK_CLOCK_DIV_ZERO_BROKEN adds quirk for controllers whose clock divider zero is broken, sdhci_set_clock function will incorporate this modification. Signed-off-by: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6464b71409511939efce1ae4fb4ec6e3483b11b2 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Sat Jun 6 23:15:22 2015 +0200 mmc: pxamci: switch over to dmaengine use Switch over pxamci to dmaengine. This prepares the devicetree full support of pxamci. This was successfully tested on a PXA3xx board, as well as PXA27x. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> [adapted to pxa-dma] Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 642c28ab86f7666d2ac62a0dc391b4c3121f1d6e Author: David Jander <david@xxxxxxxxxxx> Date: Tue Jun 23 11:43:52 2015 +0200 mmc: core: Optimize case for exactly one erase-group budget In the (not so unlikely) case that the mmc controller timeout budget is enough for exactly one erase-group, the simplification of allowing one sector has an enormous performance penalty. We optimize this special case by introducing a flag that prohibits erase-group boundary crossing, so that we can allow trimming more than one sector at a time. Signed-off-by: David Jander <david@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1dc042885456dff457d0b758b69209dcafa688ec Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Aug 12 11:30:59 2015 +0300 dmaengine: Make __dma_request_slave_channel_compat() name argument constant Inline function __dma_request_slave_channel_compat() doesn't modify "name" argument but passes it to dma_request_slave_channel() which already takes it as a constant. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0e95fb9ceb82433f4f910d1cece0f4d6b0c25c51 Author: Robert Jarzmik <rj@xxxxxxxxxxxxxx> Date: Tue Aug 11 22:16:32 2015 +0200 dmaengine: pxa_dma: don't use config direction parameter Don't use the direction passed in the configuration, and rely on each transfer's direction to prepare the transfers. This will enable future removal of direction parameter from dma_slave_config. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 272420214d261e97f08a4c555defb3924de06ae8 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Aug 5 08:42:05 2015 +0530 dmaengine: Add DMA_CTRL_REUSE This adds new descriptor flag for reusing a descriptor by submitting multiple times by a client, for example video buffer. Add helper APIs for this as well Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by:Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 7fa25937542358bfa01ef5c5a1e9a00bd164c000 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Mon Aug 17 17:23:52 2015 +0900 gpio/grgpio: fix deadlock in grgpio_irq_unmap() As reported by Alexey Khoroshilov: grgpio_irq_unmap() code looks quite suspicious regarding usage of priv->bgc.lock spinlock. It locks the spinlock in line 310: spin_lock_irqsave(&priv->bgc.lock, flags); and then it can call grgpio_set_imask() in line 317: grgpio_set_imask(priv, i, 0); But grgpio_set_imask() unconditionally locks the spinlock by itself. Fix this by moving the spinlock acquisition outside of grgpio_set_imask(). Found by Linux Driver Verification project (linuxtesting.org). Reported-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Cc: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 58268e58e63550e24dee7d6125078ab2a2a22272 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Aug 14 00:09:29 2015 -0300 crypto: amcc - Do a NULL check for pointer Compare pointer-typed values to NULL rather than 0. The semantic patch that makes this change is available in scripts/coccinelle/null/badzero.cocci Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5e4b8c1fcc70016f43926203ae1820c3b380d5cd Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:29:06 2015 +0800 crypto: aead - Remove CRYPTO_ALG_AEAD_NEW flag This patch removes the CRYPTO_ALG_AEAD_NEW flag now that everyone has been converted. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b0d955ba4688fcba8112884931aea1f1e6f50f03 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:30:41 2015 +0800 crypto: aead - Remove old AEAD interfaces Now that the AEAD conversion is complete we can rip out the old AEAD interafce and associated code. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0a139416eed5f05118cb05aba37470de68c55272 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:29:04 2015 +0800 crypto: qat - Remove reference to crypto_aead_crt The qat driver uses crypto_aead_crt in order to get the authsize. This patch replaces it with the crypto_aead_authsize helper instead. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ba3749a719a6da4297fb8e1bb56ee06d74129c0f Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:29:02 2015 +0800 crypto: cryptd - Remove reference to crypto_aead_crt Pretty soon the crypto_aead encrypt/decrypt hooks will disappear as they are now always identical to those in struct aead_alg. This patch replaces the references to these hooks with the ones from aead_alg instead. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 376e0d697a8194a5ab684d7fc57b2ce5483bda53 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:29:01 2015 +0800 crypto: echainiv - Use generic geniv init/exit helpers This patch replaces the echainiv init/exit handlers with the generic geniv helpers. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 659e7f528317d5a97e5100abcaf6e00552c23417 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:59 2015 +0800 crypto: seqiv - Use generic geniv init/exit helpers This patch replaces the seqiv init/exit handlers with the generic geniv helpers. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 149a39717dcce3b6ba15285c9fc86e4423437e05 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:58 2015 +0800 crypto: aead - Add type-safe geniv init/exit helpers This patch adds the helpers aead_init_geniv and aead_exit_geniv which are type-safe and intended the replace the existing geniv init/exit helpers. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 66008d4230f6e599275f1cf01db268fcaaadda44 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:56 2015 +0800 crypto: echainiv - Remove AEAD compatibility code Now that we no longer have any legacy AEAD implementations the compatibility code path can no longer be triggered. This patch removes it. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 92932d03c2b3613f40ce49ff42088e814e403afc Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:54 2015 +0800 crypto: seqiv - Remove AEAD compatibility code Now that we no longer have any legacy AEAD implementations the compatibility code path can no longer be triggered. This patch removes it. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8a2cd1c4a7aa0b4a24eafd6914756be6fbe7f361 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:53 2015 +0800 crypto: seqiv - Remove seqniv Now that IPsec no longer uses seqniv we can remove it. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit de0ded77b995552ad650d22748a507a1ede7fa72 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:52 2015 +0800 ipsec: Replace seqniv with seqiv Now that seqniv is identical with seqiv we no longer need it. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 60333f7b5dccd0adcdcc7ec9eb3f9f1039e257ed Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:50 2015 +0800 crypto: user - Remove crypto_lookup_aead call As IV generators are now standalone AEAD transforms, we no longer need to use the crypto_lookup_aead call. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit aa1b6bb7d7f5cb0d21eacea3639da8cb24c5092a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:49 2015 +0800 crypto: algboss - Remove reference to nivaead This patch removes a legacy reference to nivaead which is no longer used. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit adca3c38d807b341a965d0aba8721d0784d8471b Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Aug 17 08:33:43 2015 +0200 nfc: netlink: Warning fix When NFC_ATTR_VENDOR_DATA is not set, data_len is 0 and data is NULL. Fixes the following warning: net/nfc/netlink.c:1536:3: warning: 'data' may be used uninitialized +in this function [-Wmaybe-uninitialized] return cmd->doit(dev, data, data_len); Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 656bba306827a44ed73b3f93f75bb3147de17fae Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 16 11:45:48 2015 -0400 x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted Both the per-APIC flag ".wait_for_init_deassert", and the global atomic_t "init_deasserted" are dead code -- remove them. For all APIC types, "wait_for_master()" prevents an AP from proceeding until the BSP has set cpu_callout_mask, making "init_deasserted" {unnecessary}: BSP: <de-assert INIT> ... BSP: {set init_deasserted} AP: wait_for_master() set cpu_initialized_mask wait for cpu_callout_mask BSP: test cpu_initialized_mask BSP: set cpu_callout_mask AP: test cpu_callout_mask AP: {wait for init_deasserted} ... AP: <touch APIC> Deleting the {dead code} above is necessary to enable some parallelism in a future patch. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jan H. Schönherr <jschoenh@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Zhu Guihua <zhugh.fnst@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/de4b3a9bab894735e285870b5296da25ee6a8a5a.1439739165.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a9bcaa02a5104ace6a9d9e4a9cd9192a9e7744d6 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 16 11:45:47 2015 -0400 x86/smpboot: Remove SIPI delays from cpu_up() MPS 1.4 example code shows the following required delays during processor on-lining: INIT udelay(10,000) SIPI udelay(200) SIPI udelay(200) /* Linux actually implements this as udelay(300) */ Linux skips the udelay(10,000) on modern processors. This patch removes the udelay(200) after each SIPI on those same processors. All three legacy delays can be restored by the cmdline "cpu_init_udelay=10000". As measured by analyze_suspend.py, this patch speeds processor resume time on my desktop from 2.4ms to 1.8ms, per AP. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jan H. Schönherr <jschoenh@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Zhu Guihua <zhugh.fnst@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a5dfdbc8fbfdd813784da204aad5677fe459ac37.1439739165.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2d99af8e8fd6c2dea11ab539f7aba69c37b845b4 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 16 11:45:46 2015 -0400 x86/smpboot: Remove udelay(100) when polling cpu_callin_map After the BSP sends INIT/SIPI/SIP to the AP and sees the AP in the cpu_initialized_map, it sets the AP loose via the cpu_callout_map, and waits for it via the cpu_callin_map. The BSP polls the cpu_callin_map with a udelay(100) and a schedule() in each iteration. The udelay(100) adds no value. For example, on my 4-CPU dekstop, the AP finishes cpu_callin() in under 70 usec and sets the cpu_callin_mask. The BSP, however, doesn't see that setting until over 30 usec later, because it was still running its udelay(100) when the AP finished. Deleting the udelay(100) in the cpu_callin_mask polling loop, saves from 0 to 100 usec per Application Processor. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jan H. Schönherr <jschoenh@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Zhu Guihua <zhugh.fnst@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/0aade12eabeb89a688c929fe80856eaea0544bb7.1439739165.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6e38f1e79d16f4fa9e5cf06792500e11c96a6f84 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 16 11:45:45 2015 -0400 x86/smpboot: Remove udelay(100) when polling cpu_initialized_map After the BSP sends the APIC INIT/SIPI/SIPI to the AP, it waits for the AP to come up and indicate that it is alive by setting its own bit in the cpu_initialized_mask. Linux polls for up to 10 seconds for this to happen. Each polling loop has a udelay(100) and a call to schedule(). The udelay(100) adds no value. For example, on my desktop, the BSP waits for the other 3 CPUs to come on line at boot for 305, 404, 405 usec. For resume from S3, it waits 317, 404, 405 usec. But when the udelay(100) is removed, the BSP waits 305, 310, 306 for boot, and 305, 307, 306 for resume. So for both boot and resume, removing the udelay(100) speeds online by about 100us in 2 of 3 cases. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jan H. Schönherr <jschoenh@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Zhu Guihua <zhugh.fnst@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/33ef746c67d2489cad0a9b1958cf71167232ff2b.1439739165.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5461bd81bf7f86503f393b0b1d57e69b1f1bd44e Merge: 9491630 2c6625c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 17 10:41:59 2015 +0200 Merge tag 'v4.2-rc7' into x86/boot, to refresh the branch before merging new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ac49fbd1f9d437cca7234473850aef4165779383 Author: Dirk Behme <dirk.behme@xxxxxxxxx> Date: Sat Jul 18 08:02:07 2015 +0200 Documentation: gpio: consumer: describe active low property I've been searching for any documentation of 'the active-low property of a GPIO' already mentioned in this documenation. But couldn't find any. Add it. Sigend-off-by: Dirk Behme <dirk.behme@xxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> [Spelling, grammar fixes] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 281786ea2cd03635648d1e2b131c6fbc0ed47b68 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Aug 17 16:35:48 2015 +1000 selftests/powerpc: Install tempfile so the subpage_prot_file test works We forgot to install the tempfile, so when the selftests are installed and then run the subpage_prot_file test fails. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 94e92a7bff2317bedd67ed7c46ac63e9affb7a99 Merge: 94fdc2e e04cafb Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Mon Aug 17 11:23:03 2015 +0300 Merge ath-next from ath.git. Major changes in ath10k: * add support for qca99x0 family of devices * improve performance of tx_lock * add support for raw mode (802.11 frame format) and software crypto engine enabled via a module parameter wil6210: * implement TSO support * support bootloader v1 and onwards commit 60884ddecdc2f45fd2862b7e95c9ad858584f82b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Aug 5 08:42:06 2015 +0530 Documentation: dmaengine: Add DMA_CTRL_REUSE documentation Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by:Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 06f10e2f936424496d44e5541c220845c8c55345 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Aug 5 08:42:04 2015 +0530 Documentation: dmaengine: fix the DMA_CTRL_ACK documentation As discussed recently the meaning of DMA_CTRL_ACK is that a desc cannot be reused by provider until the client acknowledges receipt, i.e. has has a chance to establish any dependency chains. So update documentation Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by:Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 09659a5978e16a7f3676fd6cb41e21daa77ce9a6 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:49:11 2015 -0700 dmaengine: ioatdma: Clean up IOAT_COMPLETION_PENDING flag IOAT_COMPLETION_PENDING flag was deprecated for v2 and v3 drivers but was not cleaned up. Doing that now. The commit deprecated this flag was 4dec23d7 ioatdma: fix race between updating ioat->head and IOAT_COMPLETION_PENDING. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c7b0e8d7b5d1523ca3a85d3d3d9d113bb19a5668 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:49:05 2015 -0700 dmaengine: ioatdma: fixup kernel doc errors from dma.h ./scripts/kerne-doc is reporting errors on dma.h. Clean up all reported errors. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ef97bd0f59741ca1a555b69b8708f6601e35c3ed Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:49:00 2015 -0700 dmanegine: ioatdma: remove function ptrs in ioatdma_device Since we are a "single" device driver now we no longer require the function pointers in ioatdma_device. Remove. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3372de5813e4da8305002ff6ffbfc0c7012cb319 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:55 2015 -0700 dmaengine: ioatdma: removal of dma_v3.c and relevant ioat3 references Moving the relevant functions to their respective .c files and removal of dma_v3.c file. Also removed various ioat3 references when appropriate. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 599d49de7f69cb5a23e913db24e168ba2f09bd05 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:49 2015 -0700 dmaengine: ioatdma: move dma prep functions to single location Move all DMA descriptor prepping functions to prep.c file. Fixup all broken bits caused by the move. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c0f28ce66ecfd9fa0ae662a2c7f3e68e537e77f4 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:43 2015 -0700 dmaengine: ioatdma: move all the init routines Moving all the init routines to init.c and fixup anything broken during the move. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 80b1973659949fbdcbfe9e086e2370313a9f1288 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:38 2015 -0700 dmaengine: ioatdma: move all sysfs related code Move and fixup all sysfs related bits to sysfs.c file. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 885b201056e942f7deb66496b5c501d2a35d6c04 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:32 2015 -0700 dmaengine: ioatdma: remove dma_v2.* Clean out dma_v2 and remove ioat2 calls since we are moving everything to just ioat. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 55f878ec47e3ab560a046c9030a97b1048b74e8b Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:27 2015 -0700 dmaengine: ioatdma: fixup ioatdma_device namings Changing the variable names for ioatdma_device to be consistently named ioat_dma instead of device/dma in order to avoid confusion and distinct from struct device. This will clearly indicate that it is an ioatdma_device. This also make all the naming consistent that the dma device is ioat_dma and all the channels are ioat_chan. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5a976888c953a50336c2266bab894c1c098462b3 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:21 2015 -0700 dmaengine: ioatdma: clean up local dma channel data structure Kill the common ioatdma channel structure and everything that is not dma_chan to be ioat_dma_chan. Since we don't have to worry about v1 and v2 ioatdma anymore this makes it much cleaner and obvious for maintenance. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7f832645d0e5a0431e4ee02bae98e47ded32ac6f Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:16 2015 -0700 dmaengine: ioatdma: remove ioatdma v2 registration Removal of support for ioatdma v2 device support. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 85596a19478da5125f3471a0c474b3f05a78e390 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:10 2015 -0700 dmaengine: ioatdma: remove ioat1 specific code Cleaning up of ioat1 specific code as it is no longer supported Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d73f277b329f46c13527c1090808421828671596 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:04 2015 -0700 dmaengine: ioatdma: deprecating and removal of old ioatdma devices Removal of any devices that are ioatdma pre-3.0. This is the first step in attempting to clean up the ioatdma driver and remove hw no longer supported. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5484526ac120eb543e5a28610775f04014814d89 Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Tue Aug 11 04:05:43 2015 -0400 dmaengine: ioatdma: fix u16 overflow in cleanup If the allocation order is 16, then the u16 count will overflow and wrap to zero when assigned the value 1 << 16. Change the type of 'total_descs' to int, so that it is large enough to store a value equal or greater than 1 << 16. Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Acked-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 870ce49022d1a278e441d2cb7b92acae2416b510 Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Tue Aug 11 04:05:42 2015 -0400 dmaengine: ioatdma: fix u16 overflow in reshape If the allocation order is 16, then the u16 index will overflow and wrap to zero instead of being equal or greater than 1 << 16. The loop condition will always be true, and the loop will run until all the memory resources are depleted. Change the type of index 'i' to u32, so that it is large enough to store a value equal or greater than 1 << 16. Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Acked-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit efe3b616f88caa95dbe8636f4d0b3dcefca962bb Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Aug 16 23:04:53 2015 -0700 Input: cap11xx - add LED support Several cap11xx variants have LEDs that be can be controlled; let's plug the driver into the LED subsystem. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 294947a5c7f6d228b70fcc51a89527e74a38a2c5 Merge: 6406e45 54fbde8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 16:03:48 2015 +1000 Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next A couple of fixes from the previous pull request as well as gl3 support. There is one drm core change, an export of a previously private function. Take 2 implementing screen targets, this time with the fbdev code adjusted accordingly. Also there is an implementation of register-driven command buffers, that overrides the FIFO ring for command processing. It's needed for our upcoming hardware revision. * 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux: (35 commits) drm/vmwgfx: Fix copyright headers drm/vmwgfx: Add DX query support. Various fixes. drm/vmwgfx: Add command parser support for a couple of DX commands drm/vmwgfx: Command parser fixes for DX drm/vmwgfx: Initial DX support drm/vmwgfx: Update device includes for DX device functionality drm: export the DRM permission check code drm/vmwgfx: Fix crash when unloading vmwgfx v2 drm/vmwgfx: Fix framebuffer creation on older hardware drm/vmwgfx: Fixed topology boundary checking for Screen Targets drm/vmwgfx: Fix an uninitialized value drm/vmwgfx: Fix compiler warning with 32-bit dma_addr_t drm/vmwgfx: Kill a bunch of sparse warnings drm/vmwgfx: Fix kms preferred mode sorting drm/vmwgfx: Reinstate the legacy display system dirty callback drm/vmwgfx: Implement fbdev on kms v2 drm/vmwgfx: Add a kernel interface to create a framebuffer v2 drm/vmwgfx: Avoid cmdbuf alloc sleeping if !TASK_RUNNING drm/vmwgfx: Convert screen targets to new helpers v3 drm/vmwgfx: Convert screen objects to the new helpers ... commit 6406e45cc6f4976ace2b6d23b76bb5f07541e68f Merge: bef2c7b a33ee95 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 15:53:05 2015 +1000 Merge tag 'drm/panel/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/panel: Changes for v4.3-rc1 This introduces support for a couple of new panels and also contains some work to restructure the directories to get more consistency, to deal better with more panel and bridge drivers getting added. * tag 'drm/panel/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/bridge: Put Kconfig entries in a separate menu drm/panel: Add support for LG LG4573 480x800 4.3" panel drm/panel: Add display timing for Okaya RS800480T-7X0GP of: Add Okaya Electric America vendor prefix drm/panel: simple: Add support for NEC NL4827HC19-05B 480x272 panel drm/panel: simple: Add support for AUO B080UAN01 drm/panel: simple: Correct minimum hsync length of the HannStar HSD070PWW1 panel drm/panel: simple: Add bus format for HannStar HSD070PWW1 LVDS panel drm/bridge: Add vendor prefixes drm/panel: Add Samsung prefix to panel drivers drm/exynos: Remove PTN3460 dependency commit bef2c7bd578e91c9c10983e0c15c4501127b77ca Merge: 3ff8e50 459cc2c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 15:52:39 2015 +1000 Merge tag 'drm/tegra/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/tegra: Changes for v4.3-rc1 There are a bunch of non-critical fixes here that I've collected over the past few months, but the biggest part is Tegra210 support, in the DC, DSI and SOR/HDMI drivers. Also this finally restores DPMS with atomic mode-setting, something that has been broken since the conversion and which I had originally expected to take far less longer to fix. * tag 'drm/tegra/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux: (41 commits) drm/tegra: sor: Add HDMI support drm/tegra: sor: Add Tegra210 eDP support drm/tegra: dc: Implement atomic DPMS drm/tegra: sor: Restore DPMS drm/tegra: dsi: Restore DPMS drm/tegra: hdmi: Restore DPMS drm/tegra: rgb: Restore DPMS drm/tegra: sor: Use DRM debugfs infrastructure for CRC drm/tegra: sor: Write correct head state registers drm/tegra: sor: Constify display mode drm/tegra: sor: Reset the correct debugfs fields drm/tegra: sor: Set minor after debugfs initialization drm/tegra: sor: Provide error messages in probe drm/tegra: sor: Rename registers for consistency drm/tegra: dpaux: Disable interrupt when detached drm/tegra: dpaux: Configure pads as I2C by default drm/tegra: dpaux: Provide error message in probe drm/tegra: dsi: Add Tegra210 support drm/tegra: dsi: Add Tegra132 support drm/tegra: dsi: Add Tegra124 support ... commit 3ff8e5090c337a4eb26952d68587f450e012bd72 Merge: 3be6671 2a8cb48 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 15:33:23 2015 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next Summary: - Clean up HDMI and MIXER parts - Clean up legacy structures specific to Exynos DRM . This patch series removes existing exyons_drm_display and exynos_drm_encoder structures specific to Exynos DRM, and makes them to replace with common drm_encoder structure. With cleanup patch, we removes exynos_drm_encoder module. - Clean up gem, dmabuf and buffer modules . This patch series replaces existing Exynos DRM dmabuf codes with common drm prime ones, and embeds all codes of exynos_drm_buf into exynos_drm_gem module. With cleanup patch, we removes exynos_drm_buf and exynos_drm_dmabuf modules. - And some fixups. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (53 commits) drm/exynos: merge exynos_drm_buf.c to exynos_drm_gem.c drm/exynos: use prime helpers drm/exynos: remove function roundup_gem_size drm/exynos: remove function update_vm_cache_attr drm/exynos: remove function check_gem_flags drm/exynos: use ERR_PTR instead of NULL in exynos_drm_gem_init drm/exynos: remove unused fields of struct exynos_drm_gem_buf drm/exynos: stop copying sg table drm/exynos: remove function exynos_drm_gem_map_buf drm/exynos: remove mutex locking in pagefault handler drm/exynos: remove function convert_to_vm_err_msg drm/exynos: stop using sgtable in page fault handler drm/exynos: remove struct exynos_drm_encoder layer drm/exynos: fold encoder setup into exynos_drm_load() drm/exynos: remove exynos_drm_create_enc_conn() drm/exynos: remove exynos_encoder's .commit() op drm/exynos: remove extra call to exynos_dp_commit() drm/exynos: remove extra call to hdmi_commit() drm/exynos: remove struct exynos_drm_display drm/exynos: simplify calculation of possible CRTCs ... commit 1e3136789975f03e461798149309034e5213c1b4 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Aug 15 10:54:07 2015 -0700 ipv4: fix refcount leak in fib_check_nh() fib_lookup() forces FIB_LOOKUP_NOREF flag, while fib_table_lookup() does not. This patch solves the typical message at reboot time or device dismantle : unregister_netdevice: waiting for eth0 to become free. Usage count = 4 Fixes: 3bfd847203c6 ("net: Use passed in table for nexthop lookups") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69034db79a8101dccdeb2b909b3aaa52001ab1ef Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Jul 18 10:05:05 2015 +0300 xtensa: drop unused irq_err_count Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 38fef73c21d117cf992fb5ec6e30630e54e13f4f Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jul 16 10:37:31 2015 +0300 xtensa: implement fake NMI In case perf IRQ is the highest of the medium-level IRQs, and is alone on its level, it may be treated as NMI: - LOCKLEVEL is defined to be one level less than EXCM level, - IRQ masking never lowers current IRQ level, - new fake exception cause code, EXCCAUSE_MAPPED_NMI is assigned to that IRQ; new second level exception handler, do_nmi, assigned to it handles it as NMI, - atomic operations in configurations without s32c1i still need to mask all interrupts. Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 98e298329e7b391293da5097817437292c842dc9 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Jul 17 05:24:49 2015 +0300 xtensa: don't touch EXC_TABLE_FIXUP in _switch_to There's no way _switch_to can produce double exceptions now, don't enter/leave EXC_TABLE_FIXUP critical section. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 77d6273e79e3a86552fcf10cdd31a69b46ed2ce6 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jul 16 10:41:02 2015 +0300 xtensa: fix kernel register spilling call12 can't be safely used as the first call in the inline function, because the compiler does not extend the stack frame of the bounding function accordingly, which may result in corruption of local variables. If a call needs to be done, do call8 first followed by call12. For pure assembly code in _switch_to increase stack frame size of the bounding function. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 7d5f6a9a2496c6e4f2a3b5db7743ff4e3a99738e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jul 16 06:18:46 2015 +0300 xtensa: reorganize irq flags tracing entry.s only disables IRQs on hardware IRQ, move trace_hardirqs_off call into do_interrupt. Check actual intlevel that will be restored on return from exception handler to decide if trace_hardirqs_on should be called. Annotate IRQ on/off points in the TIF_* handling loop on return from exception handler. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 18bc5b85aac08d35eeca174abc73238a4d5deb0b Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Jun 26 04:11:08 2015 +0300 perf tools: xtensa: add DWARF register names Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 9bd46da45edd9701bcb2a221d58afe7d01febd1d Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sun Jun 14 01:41:25 2015 +0300 xtensa: implement counting and sampling perf events Xtensa Performance Monitor Module has up to 8 32 bit wide performance counters. Each counter may be enabled independently and can count any single type of hardware performance events. Event counting may be enabled and disabled globally (per PMM). Each counter has status register with bits indicating if the counter has been overflown and may be programmed to raise profiling IRQ on overflow. This IRQ is used to rewind counters and allow for counting more than 2^32 samples for counting events and to report samples for sampling events. For more details see Tensilica Debug User's Guide, chapter 8 "Performance monitor module". Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit af885de869a9d7086d50a2c250323f0bfd939fd4 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jun 4 13:42:22 2015 +0300 xtensa: count software page fault perf events Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 3be66711b6adefad2a95c108161607d79729ea05 Merge: d3638ac d248b61 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 14:33:11 2015 +1000 Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next 1) includes all the drm/msm side of things for upstream kernel working on dragonboard 410c (still some pending work on adv7533 bridge chip) 2) initial support for msm8x94 (snapdragon 810) 3) support for msm8x74v1 (in addition to existing v2 support) 4) support for dma planes on mdp5 (additional planes that cannot scale/csc) 5) more yuv format support for mdp5 (single plane vyuy/uyvy/yuyv/yvyu, two plane nv16/nv61, and three plane yuv420/yvu420) 6) rotation support for mdp5 7) initial hdcp support 8) fixes, etc * 'msm-next' of git://people.freedesktop.org/~robclark/linux: (46 commits) drm/msm/dsi: Introduce DSI configuration module drm/msm/dsi: Make each PHY type compilation independent drm/msm/dsi: Split PHY drivers to separate files drm/msm/dsi: Return void from msm_dsi_phy_disable() drm/msm/dsi: Specify bitmask to set source PLL drm/msm/mdp: Clear pending interrupt status before enable interrupt drm/msm/mdp5: Add rotation (hflip/vflip) support to MDP5 planes (v2) drm/msm: add calls to prepare and unprepare panel drm/msm/dsi: Modify dsi manager bridge ops to work with external bridges drm/msm/dsi: Allow dsi to connect to an external bridge drm/msm/dsi: Create a helper to check if there is a connected device drm/msm/dsi: Refer to connected device as 'device' instead of 'panel' drm/msm/dsi: Make TE gpio optional drm/msm: mdp4 lvds: get panel node via of graph parsing drm/msm: dsi host: Use device graph parsing to parse connected panel drm/msm: dsi host: add missing of_node_put() drm/msm: Enable clocks during enable/disable_vblank() callbacks drm/msm/mdp5: Add support for msm8x74v1 drm/msm/mdp5: Add DMA pipe planes for MDP5 drm/msm/mdp: Add capabilities to MDP planes (v2) ... commit ae0b7139ab49c986e798ca9a46b7ad763ea8b8ca Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Tue Jun 23 01:53:05 2015 +0300 xtensa: add profiling IRQ type to xtensa_irq_map Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit db8165f5d975533880f516fed142364ba3e6046e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jun 4 13:41:27 2015 +0300 xtensa: select PERF_USE_VMALLOC for cache-aliasing configurations Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 5fdf377d802ddd439fe16dd2e9e38039af535af2 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jun 25 07:27:16 2015 +0300 xtensa: move oprofile stack tracing to stacktrace.c Old oprofile interface will share user stack tracing with new perf interface. Move oprofile user/kernel stack tracing to stacktrace.c to make it possible. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit b6569439f1cec0ce15f647e2ba814431b5930b82 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jun 25 23:03:29 2015 +0300 xtensa: keep exception/interrupt stack continuous Restore original a0 in the kernel exception stack frame. This way it looks like the frame that got interrupt/exception did alloca (copy a0 and a1 spilled under old stack to the new location as well) to save registers and then did a call to handler. The point where interrupt/exception was taken is not in the stack chain, only in pt_regs (call4 from that address can be simulated to keep it in the stack trace). Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit de7c1c7862c4072bc93155da2cd6921137cb87ae Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Jun 27 07:31:12 2015 +0300 xtensa: clean up Kconfig dependencies for custom cores Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit c75959a6da19df2700556dc76861442e9716317d Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon May 25 06:55:05 2015 +0300 xtensa: reimplement DMA API using common helpers - keep existing functionality: don't handle attributes, don't support high memory; - implement scatterlist primitives (map/unmap/sync); - enable DMA API debug. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit d3638ac429ff0e8af81c1bc551cbd8da5c09e3d2 Merge: 4eebf60 75067dd Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 14:14:34 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-08-16' of git://anongit.freedesktop.org/drm-intel into drm-next Bunch more fixes for 4.3, most of it skl fallout. It's not quite all yet, there's still a few more patches pending to enable DDI-E correctly on skl. Also included the dpms atomic work from Maarten since atomic is just a pain and not including would cause piles of conflicts right from the start. * tag 'drm-intel-next-fixes-2015-08-16' of git://anongit.freedesktop.org/drm-intel: (67 commits) drm/i915: Per-DDI I_boost override drm/i915/skl: WaIgnoreDDIAStrap is forever, always init DDI A drm/i915: fix checksum write for automated test reply drm/i915: Contain the WA_REG macro drm/i915: Remove the failed context from the fpriv->context_idr drm/i915: Report IOMMU enabled status for GPU hangs drm/i915: Check idle to active before processing CSQ drm/i915: Set alternate aux for DDI-E drm/i915: Set power domain for DDI-E drm/i915: fix stolen bios_reserved checks drm/i915: Use masked write for Context Status Buffer Pointer drm/i915/skl WaDisableSbeCacheDispatchPortSharing drm/i915: Spam less on dp aux send/receive problems drm/i915: Handle return value in intel_pin_and_fence_fb_obj, v2. drm/i915: Only update mode related state if a modeset happened. drm/i915: Remove connectors_active. drm/i915: Remove connectors_active from intel_dp.c, v2. drm/i915: Remove connectors_active from sanitization, v2. drm/i915: Get rid of dpms handling. drm/i915: Make crtc checking use the atomic state, v2. ... commit 4eebf60b7452fbd551fd7dece855ba7825a49cbc Merge: 8f9cb50 2c6625c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 14:13:53 2015 +1000 Merge tag 'v4.2-rc7' into drm-next Linux 4.2-rc7 Backmerge master for i915 fixes commit 5699f871d2d51ce40012501378670613d4d49214 Author: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Date: Tue Jul 28 16:45:15 2015 -0300 scripts/kernel-doc: Adding cross-reference links to html documentation. Functions, Structs and Parameters definitions on kernel documentation are pure cosmetic, it only highlights the element. To ease the navigation in the documentation we should use <links> inside those tags so readers can easily jump between methods directly. This was discussed in 2014[1] and is implemented by getting a list of <refentries> from the DocBook XML to generate a database. Then it looks for <function>,<structnames> and <paramdef> tags that matches the ones in the database. As it only links existent references, no broken links are added. [1] - lists.freedesktop.org/archives/dri-devel/2014-August/065404.html Signed-off-by: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Stephan Mueller <smueller@xxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: intel-gfx <intel-gfx@xxxxxxxxxxxxxxxxxxxxx> Cc: dri-devel <dri-devel@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 8c7dd08a8ccac3f0f3df6002dc8e86d3ca6c56a8 Author: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 12:28:38 2015 +0530 cxl: Plug irq_bitmap getting leaked in cxl_context This patch plugs the leak of irq_bitmap, allocated as part of initialization of cxl_context struct; during the call to afu_allocate_irqs. The bitmap is now release during the call to function afu_release_irqs. Reported-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 25901632c9323e5208cca66097a0b8f34c752606 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:27 2015 +1000 cxl: Add CONFIG_CXL_EEH symbol CONFIG_CXL_EEH is for CXL's EEH related code. Other drivers can depend on or #ifdef on this symbol to configure PERST behaviour, allowing CXL to participate in the EEH process. Reviewed-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fe202fe95564023223ce1910c9e352f391abb1d5 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:40 2015 +0200 nfc: netlink: Add check on NFC_ATTR_VENDOR_DATA NFC_ATTR_VENDOR_DATA is an optional vendor_cmd argument. The current code was potentially using a non existing argument leading to potential catastrophic results. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 94b85938ad21944afeff71d1cca68b094905e1b9 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:39 2015 +0200 nfc: st-nci: Remove pr_err in rcv_queue when ndlc header is unknown spi phy needs to use ndlc_recv at every spi transaction causing "unknown packet control byte" error message each time the header is 00. Make this silent. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a6be357e9720a7f8e11e2997e60626179151d190 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:38 2015 +0200 nfc: st-nci: Add device tree documentation for spi phy Add st-nci-spi phy devicetree documentation Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2bc4d4f8c8f3ce863e3644736d1790b0684c7eb0 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:37 2015 +0200 nfc: st-nci: Add spi phy support for st21nfcb st21nfcb does support another phy than i2c: spi. st21nfcc does not support spi as the spi ios are used by the AMS RF booster. st21nfcb is not following NCI NFC Forum recommendations for spi but rely on ST prioritary protocol ndlc as for i2c. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 8b706884eac958ec16518315053f77e052627084 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:36 2015 +0200 nfc: st-nci: Free data with irrelevant NDLC PCB_SYNC value PCB_SYNC different than PCB_TYPE_SUPERVISOR or PCB_TYPE_DATAFRAME should be discarded. Irrelevant data may be forwarded up to the ndlc state machine by phys like spi to prevent missing potential data during "write" transactions. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1d816b6eb513498aa28a0ff1e4db7632bded1707 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:35 2015 +0200 nfc: st-nci: Remove data from ack_pending_q when receiving a SYNC_ACK When receiving a NDLC PCB_SYNC_ACK the pending data was never removed from ack_pending_q and cleared. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit daaf1e1f1640eb11259954d1d847d8a72ab5b938 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:34 2015 +0200 NFC: st-nci: fix use of uninitialized variables in error path st_nci_hci_load_session() calls kfree_skb() on unitialized variables skb_pipe_info and skb_pipe_list if the call to nci_hci_connect_gate() failed. Reword the error path to not use these variables when they are not initialized. While at it, there seemed to be a memory leak because skb_pipe_info was only freed once, after the for-loop, even though several ones were created by nci_hci_send_cmd. Cc: stable@xxxxxxxxxxxxxxx Acked-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 5a3570061a131309143a49e4bbdbce7e23f261e7 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:33 2015 +0200 NFC: st21nfca: fix use of uninitialized variables in error path st21nfca_hci_load_session() calls kfree_skb() on unitialized variables skb_pipe_info and skb_pipe_list if the call to nfc_hci_connect_gate() failed. Reword the error path to not use these variables when they are not initialized. While at it, there seemed to be a memory leak because skb_pipe_info was only freed once, after the for-loop, even though several ones were created by nfc_hci_send_cmd. Fixes: ec03ff1a8f9a ("NFC: st21nfca: Remove skb_pipe_list and skb_pipe_info useless allocation") Cc: stable@xxxxxxxxxxxxxxx Acked-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit e7723b33077b04648213f043bc22654c54e375e4 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:32 2015 +0200 nfc: st-nci: Fix non accurate comment for st_nci_i2c_read Due to a copy and paste error st_nci_i2c_read still contains st21nfca header comment. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 30458aac63c89771d19f023083d64d018562812e Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:31 2015 +0200 nfc: st-nci: Fix typo when changing from st21nfcb to st-nci Replace ST21NFCB with ST_NCI or st21nfcb with st_nci as it was forgotten in commit "nfc: st-nci: Rename st21nfcb to st-nci" ed06aeefdac348cfb91a3db5fe1067e3202afd70 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 76b733d15874128ee2d0365b4cbe7d51decd8d37 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:30 2015 +0200 nfc: st-nci: Remove duplicate file platform_data/st_nci.h commit "nfc: st-nci: Rename st21nfcb to st-nci" adds include/linux/platform_data/st_nci.h duplicated with include/linux/platform_data/st-nci.h. Only drivers/nfc/st-nci/i2c.c uses platform_data/st_nci.h. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 38e6a417f6205e98bef53c5530f5fddfea08e1c6 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Aug 12 04:14:28 2015 -0300 [media] horus3a: fix compiler warning Shut up this compiler warning that I get during the daily build: horus3a.c: In function 'horus3a_set_params': horus3a.c:308:24: warning: 'rolloff' may be used uninitialized in this function [-Wmaybe-uninitialized] symbol_rate * (100 + rolloff), 200000) + 5; ^ Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 82fde1a98eb9866347a1d3543fac4ab9a69aeb7d Author: Abhilash Jindal <klock.android@xxxxxxxxx> Date: Tue Aug 11 12:22:57 2015 -0300 [media] bt8xxx: Use monotonic time Wall time obtained from do_gettimeofday is susceptible to sudden jumps due to user setting the time or due to NTP. Monotonic time is constantly increasing time better suited for comparing two timestamps. Signed-off-by: Abhilash Jindal <klock.android@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e4d45dd81e67f9fe0e1af44bddd53c3d4eb061ea Author: Abhilash Jindal <klock.android@xxxxxxxxx> Date: Tue Aug 11 12:09:49 2015 -0300 [media] zoran: Use monotonic time Wall time obtained from do_gettimeofday is susceptible to sudden jumps due to user setting the time or due to NTP. Monotonic time is constantly increasing time better suited for comparing two timestamps. Signed-off-by: Abhilash Jindal <klock.android@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8f7a5f462a255b4395e5f0f08c045dc8af6efd55 Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Tue Aug 11 09:21:07 2015 -0300 [media] i2c/adv7511: Fix license, set to GPL v2 Header claims GPL v2, so make the MODULE_LICENSE reflect that properly. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4284118058b2b4f217a050908a555d0e1ed58641 Author: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Date: Thu Jul 23 09:21:43 2015 -0300 [media] media: rcar_vin: Reject videobufs that are too small for current format In videobuf_setup reject buffers that are too small for the configured format. Fixes v4l2-compliance issue. Signed-off-by: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Reviewed-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 734f3f238587ffb6938700c4495dd5b5a54c4125 Author: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Date: Thu Jul 23 09:21:42 2015 -0300 [media] media: rcar_vin: fill in bus_info field Adapt rcar_vin_querycap() so that cap->bus_info is populated with something meaningful/unique. Signed-off-by: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Signed-off-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 920a1bf30a361fc2c6d713a26deb3a488639def3 Author: William Towle <william.towle@xxxxxxxxxxxxxxx> Date: Thu Jul 23 09:21:36 2015 -0300 [media] media: soc_camera: rcar_vin: Add BT.709 24-bit RGB888 input support This adds V4L2_MBUS_FMT_RGB888_1X24 input format support which is used by the ADV7612 chip. Modified to use MEDIA_BUS_FMT_* constants Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Reviewed-by: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ab149b88eb23482cd9c203527bf4e612ee95b50f Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:09:10 2015 -0300 [media] tw68: Move PCI vendor and device IDs to pci_ids.h This commits moves the Intersil/Techwell PCI vendor ID, and the device IDs for the TW68 PCI video capture cards. This will allow to support future Intersil/Techwell devices without duplicating the IDs. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 823ea2a639611f79a3b4d3daff5ff722316342e7 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Thu Feb 12 11:43:11 2015 -0200 [media] media: Correctly notify about the failed pipeline validation On the place of the source entity name, the sink entity name was printed. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 78c66fbcec717b22fd9db4ddc95e543cfcf544af Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed May 20 04:08:30 2015 -0300 [media] v4l: omap3isp: Drop platform data support Platforms using the OMAP3 ISP have all switched to DT, drop platform data support. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 63540f01917c0d8b03b9813a0d6539469b163139 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 20 05:03:35 2015 -0300 [media] drm/exynos: Convert g2d_userptr_get_dma_addr() to use get_vaddr_frames() Convert g2d_userptr_get_dma_addr() to pin pages using get_vaddr_frames(). This removes the knowledge about vmas and mmap_sem locking from exynos driver. Also it fixes a problem that the function has been mapping user provided address without holding mmap_sem. Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6690c8c78c745239bb1f22b23f3889a0a14c249b Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:50 2015 -0300 [media] media: vb2: Remove unused functions Conversion to the use of pinned pfns made some functions unused. Remove them. Also there's no need to lock mmap_sem in __buf_prepare() anymore. Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fb639eb39154312af8bf08c58cc0142179e0c224 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:49 2015 -0300 [media] media: vb2: Convert vb2_dc_get_userptr() to use frame vector Convert vb2_dc_get_userptr() to use frame vector infrastructure. When we are doing that there's no need to allocate page array and some code can be simplified. Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5a9e4dec393a2c5a01be6adc63065059b367d532 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:48 2015 -0300 [media] media: vb2: Convert vb2_vmalloc_get_userptr() to use frame vector Convert vb2_vmalloc_get_userptr() to use frame vector infrastructure. When we are doing that there's no need to allocate page array and some code can be simplified. Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3336c24f25ec932aab128cf7285ca90a4dbcb816 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:47 2015 -0300 [media] media: vb2: Convert vb2_dma_sg_get_userptr() to use frame vector Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 21fb0cb7ec65a40b9f5f7cda59eba0eb2ae76473 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:46 2015 -0300 [media] vb2: Provide helpers for mapping virtual addresses Provide simple helper functions to map virtual address range into an array of pfns / pages. Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8a677b6eddfc3127ea36a710838ecd20502b1cb9 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:45 2015 -0300 [media] media: omap_vout: Convert omap_vout_uservirt_to_phys() to use get_vaddr_pfns() Convert omap_vout_uservirt_to_phys() to use get_vaddr_pfns() instead of hand made mapping of virtual address to physical address. Also the function leaked page reference from get_user_pages() so fix that by properly release the reference when omap_vout_buffer_release() is called. Signed-off-by: Jan Kara <jack@xxxxxxx> [hans.verkuil@xxxxxxxxx: remove unused variable] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8025e5ddf9c1cac0e632dad49a63abf7848b78cb Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:44 2015 -0300 [media] mm: Provide new get_vaddr_frames() helper Provide new function get_vaddr_frames(). This function maps virtual addresses from given start and fills given array with page frame numbers of the corresponding pages. If given start belongs to a normal vma, the function grabs reference to each of the pages to pin them in memory. If start belongs to VM_IO | VM_PFNMAP vma, we don't touch page structures. Caller must make sure pfns aren't reused for anything else while he is using them. This function is created for various drivers to simplify handling of their buffers. Signed-off-by: Jan Kara <jack@xxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0f6e2825ce916eed882996bb6e9148c13ecebefd Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:43 2015 -0300 [media] vb2: Push mmap_sem down to memops Currently vb2 core acquires mmap_sem just around call to __qbuf_userptr(). However since commit f035eb4e976ef5 (videobuf2: fix lockdep warning) it isn't necessary to acquire it so early as we no longer have to drop queue mutex before acquiring mmap_sem. So push acquisition of mmap_sem down into .get_userptr memop so that the semaphore is acquired for a shorter time and it is clearer what it is needed for. Note that we also need mmap_sem in .put_userptr memop since that ends up calling vb2_put_vma() which calls vma->vm_ops->close() which should be called with mmap_sem held. However we didn't hold mmap_sem in some code paths anyway (e.g. when called via vb2_ioctl_reqbufs() -> __vb2_queue_free() -> vb2_dma_sg_put_userptr()) and getting mmap_sem in put_userptr() introduces a lock inversion with queue->mmap_lock in the above mentioned call path. Luckily this whole locking mess will get resolved once we convert videobuf2 core to the new mm helper which avoids the need for mmap_sem in .put_userptr memop altogether. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 27c039750c8ff1297632e424a4674732cc4c3c70 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 12:18:33 2015 -0300 [media] sr030pc30: don't read a new pointer sr030pc30_get_fmt() can only succeed if both info->curr_win and info->curr_fmt are not NULL. If one of those vars are null, the curent code would call: ret = sr030pc30_set_params(sd); If the curr_win is null, it will return -EINVAL, as it would be expected. However, if curr_fmt is NULL, the function won't set it. The code will then try to read from it: mf->code = info->curr_fmt->code; mf->colorspace = info->curr_fmt->colorspace; with obviouly won't work. This got reported by smatch: drivers/media/i2c/sr030pc30.c:505 sr030pc30_get_fmt() error: we previously assumed 'info->curr_win' could be null (see line 499) drivers/media/i2c/sr030pc30.c:507 sr030pc30_get_fmt() error: we previously assumed 'info->curr_fmt' could be null (see line 499) Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ab9a953b9f58ae695bbbe04a8540830bbae5d246 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 12:18:32 2015 -0300 [media] ov2659: get rid of unused values Why to store the chosed values for prediv, postdiv and mult if those won't be used? drivers/media/i2c/ov2659.c: In function 'ov2659_pll_calc_params': drivers/media/i2c/ov2659.c:912:35: warning: variable 's_mult' set but not used [-Wunused-but-set-variable] u32 s_prediv = 1, s_postdiv = 1, s_mult = 1; ^ drivers/media/i2c/ov2659.c:912:20: warning: variable 's_postdiv' set but not used [-Wunused-but-set-variable] u32 s_prediv = 1, s_postdiv = 1, s_mult = 1; ^ drivers/media/i2c/ov2659.c:912:6: warning: variable 's_prediv' set but not used [-Wunused-but-set-variable] u32 s_prediv = 1, s_postdiv = 1, s_mult = 1; ^ This is likely some leftover from some past change. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 12976516558c81f20757f6b0947823119ad87046 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 12:18:31 2015 -0300 [media] ov9650: remove an extra space drivers/media/i2c/ov9650.c:1439 ov965x_detect_sensor() warn: inconsistent indenting Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1d88f831d20c10b5633cd71117917cd04a0735a8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 12:18:30 2015 -0300 [media] tc358743: don't use variable length array for I2C writes drivers/media/i2c/tc358743.c:148:19: warning: Variable length array is used. As the maximum size is 1026, we can't use dynamic var, as it would otherwise spend 1056 bytes of the stack at i2c_wr() function. So, allocate a buffer with the allowed maximum size together with the state var. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Mats Randgaard <matrandg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5d44595c2627f7edcd8c24a76b13bd115f9fc2da Merge: fedf42b 93a1cee Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Sun Aug 16 17:10:20 2015 +0200 Merge branch 'reset/ath79' into reset/next commit bdfe0cbd746aa9b2509c2f6d6be17193cf7facd7 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Aug 16 10:03:57 2015 -0400 Revert "ext4: remove block_device_ejected" This reverts commit 08439fec266c3cc5702953b4f54bdf5649357de0. Unfortunately we still need to test for bdi->dev to avoid a crash when a USB stick is yanked out while a file system is mounted: usb 2-2: USB disconnect, device number 2 Buffer I/O error on dev sdb1, logical block 15237120, lost sync page write JBD2: Error -5 detected when updating journal superblock for sdb1-8. BUG: unable to handle kernel paging request at 34beb000 IP: [<c136ce88>] __percpu_counter_add+0x18/0xc0 *pdpt = 0000000023db9001 *pde = 0000000000000000 Oops: 0000 [#1] SMP CPU: 0 PID: 4083 Comm: umount Tainted: G U OE 4.1.1-040101-generic #201507011435 Hardware name: LENOVO 7675CTO/7675CTO, BIOS 7NETC2WW (2.22 ) 03/22/2011 task: ebf06b50 ti: ebebc000 task.ti: ebebc000 EIP: 0060:[<c136ce88>] EFLAGS: 00010082 CPU: 0 EIP is at __percpu_counter_add+0x18/0xc0 EAX: f21c8e88 EBX: f21c8e88 ECX: 00000000 EDX: 00000001 ESI: 00000001 EDI: 00000000 EBP: ebebde60 ESP: ebebde40 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 CR0: 8005003b CR2: 34beb000 CR3: 33354200 CR4: 000007f0 Stack: c1abe100 edcb0098 edcb00ec ffffffff f21c8e68 ffffffff f21c8e68 f286d160 ebebde84 c1160454 00000010 00000282 f72a77f8 00000984 f72a77f8 f286d160 f286d170 ebebdea0 c11e613f 00000000 00000282 f72a77f8 edd7f4d0 00000000 Call Trace: [<c1160454>] account_page_dirtied+0x74/0x110 [<c11e613f>] __set_page_dirty+0x3f/0xb0 [<c11e6203>] mark_buffer_dirty+0x53/0xc0 [<c124a0cb>] ext4_commit_super+0x17b/0x250 [<c124ac71>] ext4_put_super+0xc1/0x320 [<c11f04ba>] ? fsnotify_unmount_inodes+0x1aa/0x1c0 [<c11cfeda>] ? evict_inodes+0xca/0xe0 [<c11b925a>] generic_shutdown_super+0x6a/0xe0 [<c10a1df0>] ? prepare_to_wait_event+0xd0/0xd0 [<c1165a50>] ? unregister_shrinker+0x40/0x50 [<c11b92f6>] kill_block_super+0x26/0x70 [<c11b94f5>] deactivate_locked_super+0x45/0x80 [<c11ba007>] deactivate_super+0x47/0x60 [<c11d2b39>] cleanup_mnt+0x39/0x80 [<c11d2bc0>] __cleanup_mnt+0x10/0x20 [<c1080b51>] task_work_run+0x91/0xd0 [<c1011e3c>] do_notify_resume+0x7c/0x90 [<c1720da5>] work_notify Code: 8b 55 e8 e9 f4 fe ff ff 90 90 90 90 90 90 90 90 90 90 90 55 89 e5 83 ec 20 89 5d f4 89 c3 89 75 f8 89 d6 89 7d fc 89 cf 8b 48 14 <64> 8b 01 89 45 ec 89 c2 8b 45 08 c1 fa 1f 01 75 ec 89 55 f0 89 EIP: [<c136ce88>] __percpu_counter_add+0x18/0xc0 SS:ESP 0068:ebebde40 CR2: 0000000034beb000 ---[ end trace dd564a7bea834ecd ]--- Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=101011 Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3c22a0ed597c1ff33eddeafd04be5e6ce544262d Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Wed Aug 5 23:07:42 2015 +0300 iwlwifi: mvm: Enable power management on low-latency bss Currently the driver disable power management on all low-latency interfaces, while it should disable it on WiDi interfaces only. Non-P2P interfaces that runs voice and video traffic should enable power management. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7c4f084372ed35aef3e8c6e6b1f1b1dc3235987a Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Thu Apr 30 18:31:45 2015 +0300 iwlwifi: mvm: support TDLS wider-bandwidth When TDLS support is declared by the FW, set the bit indicating wider-BW support as well. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5b9d47cdde1aacaac9b9dcefe44ee3493dc5fd87 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 11 00:45:03 2015 +0300 iwlwifi: mvm: fix a range check in debugfs code The &mvm->tof_data.range_req.ap[] array has IWL_MVM_TOF_MAX_APS elements so the check should be >= instead of >. Also the test can underflow so I have changed "i" to unsigned. Fixes: ce7929186a39 ('wlwifi: mvm: add basic Time of Flight (802.11mc FTM) support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3cd6e2f768851a760c072f0f84b9688b1755d24d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Jul 16 15:42:14 2015 +0300 iwlwifi: convert hex_dump_to_buffer() to %*ph There is no need to use hex_dump_to_buffer() in the cases like this: hexdump_to_buffer(buf, len, 16, 1, outbuf, outlen, false); /* len <= 16 */ sprintf("%s\n", outbuf); since it maybe easily converted to simple: sprintf("%*ph\n", len, buf); Note: it seems in one case the output is groupped by 2 bytes and looks like a typo. Thus, patch changes that to plain byte stream. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1be5d8cc165d56b7267f5adc96d496a33c33219e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Jun 11 16:51:24 2015 +0200 iwlwifi: pass NAPI struct from transport layer The mac80211 patch to pass the NAPI struct only changed iwlwifi to store the NAPI struct, but we can do better: pass it directly from the lower transport layer to the opmode during RX, and then on to mac80211 from there. When we add multiple RX queues, we can then pass the appropriate NAPI struct properly. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 473e0bc39bd5d2542e90edc622a65bd49206409d Merge: 1a84e77 8f9c98d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Aug 16 10:20:58 2015 +0300 Merge tag 'mac80211-next-for-davem-2015-08-14' into next Another pull request for the next cycle, this time with quite a bit of content: * mesh fixes/improvements from Alexis, Bob, Chun-Yeow and Jesse * TDLS higher bandwidth support (Arik) * OCB fixes from Bertold Van den Bergh * suspend/resume fixes from Eliad * dynamic SMPS support for minstrel-HT (Krishna Chaitanya) * VHT bitrate mask support (Lorenzo Bianconi) * better regulatory support for 5/10 MHz channels (Matthias May) * basic support for MU-MIMO to avoid the multi-vif issue (Sara Sharon) along with a number of other cleanups. commit 1a84e7716086be3b90e3b735725d0a14da28a69c Author: Ayala Beker <ayala.beker@xxxxxxxxx> Date: Wed Jul 22 13:54:31 2015 +0300 iwlwifi: mvm: add debug info to schedule scan complete message. Add more information to schedule scan complete message. Signed-off-by: Ayala Beker <ayala.beker@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3b44a0ef12b9676914b25dcf3bf7f0cdd07de5b3 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Sun Jun 21 11:57:36 2015 +0300 iwlwifi: mvm: remove partial and full scan lists from lmac sched scan Lmac sched scan supports partial scans, so we can set some channels to be scanned on every scan iteration and others to be scanned only on some iterations. Currently we set all channels to be scanned every iteration, but still have some configuration of which iterations should be partial and which should be full. Remove all partial/full scan configuration to reduce confusions. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9437e9941025bc83d3dd43f2927019149029f667 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Mon Jun 22 13:20:00 2015 +0300 iwlwifi: mvm: simplify calculating scan dwells and other timing values Remove timing values from iwl_mvm_scan_params and use defines and arrays of values instead. While at that fix few values and corner cases and align all OSs to ChromeOS values. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 80de4321a65c680dd7ce0138d88dc96e0d2a18fb Author: Eliad Peller <eliadx.peller@xxxxxxxxx> Date: Thu Jul 30 16:53:27 2015 +0300 iwlwifi: make sure d3_suspend/resume ops exist We added calls to d3_suspend/resume trans ops during the suspend/resume flow. However, the wrapper code didn't verify the trans ops were actually defined, resulting in panic when they were not (such as in the case of sdio trans) Fixes: 6dfb36c89dc2 ("iwlwifi: call d3_suspend/resume in d0i3 case as well") Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 395ae54bd8775508a9616817188cabbcd6f53260 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Aug 14 17:19:43 2015 -0500 ALSA: usb: handle descriptor with SYNC_NONE illegal value The M-Audio Transit exposes an interface with a SYNC_NONE attribute. This is not a valid value according to the USB audio classspec. However there is a sync endpoint associated to this record. Changing the logic to try to use this sync endpoint allows for seamless transitions between altset 2 and altset 3. If any errors happen, the behavior remains the same. $ more /proc/asound/card1/stream0 M-Audio Transit USB at usb-0000:00:14.0-2, full speed : USB Audio Playback: Status: Stop Interface 1 Altset 1 Format: S24_3LE Channels: 2 Endpoint: 3 OUT (ADAPTIVE) Rates: 48001 - 96000 (continuous) Interface 1 Altset 2 Format: S24_3LE Channels: 2 Endpoint: 3 OUT (NONE) Rates: 8000 - 48000 (continuous) Interface 1 Altset 3 Format: S16_LE Channels: 2 Endpoint: 3 OUT (ASYNC) Rates: 8000 - 48000 (continuous) Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 630184477e7eccb2b31ee4c20b6905ca5fa4b3a8 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Aug 14 17:19:42 2015 -0500 ALSA: usb: fix corrupted pointers due to interface setting change When a transition occurs between alternate settings that do not use the same synchronization method, the substream pointers were not reset. This prevents audio from being played during the second transition. Identified and tested with M-Audio Transit device (0763:2006 Midiman M-Audio Transit) Details of the issue: First playback to adaptive endpoint: $ aplay -Dhw:1,0 ~/24_96.wav Playing WAVE '/home/plb/24_96.wav' : Signed 24 bit Little Endian in 3bytes, Rate 96000 Hz, Stereo [ 3169.297556] usb 1-2: setting usb interface 1:1 [ 3169.297568] usb 1-2: Creating new playback data endpoint #3 [ 3169.298563] usb 1-2: Setting params for ep #3 (type 0, 3 urbs), ret=0 [ 3169.298574] usb 1-2: Starting data EP @ffff880035fc8000 first playback to asynchronous endpoint: $ aplay -Dhw:1,0 ~/16_48.wav Playing WAVE '/home/plb/16_48.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo [ 3204.520251] usb 1-2: setting usb interface 1:3 [ 3204.520264] usb 1-2: Creating new playback data endpoint #3 [ 3204.520272] usb 1-2: Creating new capture sync endpoint #83 [ 3204.521162] usb 1-2: Setting params for ep #3 (type 0, 4 urbs), ret=0 [ 3204.521177] usb 1-2: Setting params for ep #83 (type 1, 4 urbs), ret=0 [ 3204.521182] usb 1-2: Starting data EP @ffff880035fce000 [ 3204.521204] usb 1-2: Starting sync EP @ffff8800bd616000 second playback to adaptive endpoint: no audio and error on terminal: $ aplay -Dhw:1,0 ~/24_96.wav Playing WAVE '/home/plb/24_96.wav' : Signed 24 bit Little Endian in 3bytes, Rate 96000 Hz, Stereo aplay: pcm_write:1939: write error: Input/output error [ 3239.483589] usb 1-2: setting usb interface 1:1 [ 3239.483601] usb 1-2: Re-using EP 3 in iface 1,1 @ffff880035fc8000 [ 3239.484590] usb 1-2: Setting params for ep #3 (type 0, 4 urbs), ret=0 [ 3239.484606] usb 1-2: Setting params for ep #83 (type 1, 4 urbs), ret=0 This last line shows that a sync endpoint is used when it shouldn't. The sync endpoint is no longer valid and the pointers are corrupted Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2a8cb48945408984cd04c850b293f467b32ec5af Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Sun Aug 16 14:38:49 2015 +0900 drm/exynos: merge exynos_drm_buf.c to exynos_drm_gem.c The struct exynos_drm_gem_obj can have fields of the struct exynos_drm_gem_buf then don't need to use exynos_drm_buf.c file. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 01ed50ddbd6f7b4fafcf366994949d5a1a8356c0 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Sun Aug 16 14:33:08 2015 +0900 drm/exynos: use prime helpers The dma-buf codes of exynos drm is almost same with prime helpers. A difference is that consider DMA_NONE when import dma-buf, but it's wrong and we don't consider it any more, so we can use prime interface. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit eb57da880b00b6c68f971e077ff3e4db9ef0deae Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:27 2015 +0900 drm/exynos: remove function roundup_gem_size The function roundup_gem_size can be merged in exynos_drm_gem_create. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 211b8878c13fbd5f8ae8a7b68798d178cb5346b4 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Sun Aug 16 14:16:49 2015 +0900 drm/exynos: remove function update_vm_cache_attr The function update_vm_cache_attr can be merged in exynos_drm_gem_mmap. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c4130bcd6a80f29a5d0cabcef8f0341cfa812dff Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Sun Aug 16 14:15:06 2015 +0900 drm/exynos: remove function check_gem_flags The function check_gem_flags is too simple, so it's better to move codes in each consumer functions. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5f3f42664fafa7dd88aee30a2ea77ca45c9362e7 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:22 2015 +0900 drm/exynos: use ERR_PTR instead of NULL in exynos_drm_gem_init For more correct error information. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8e38976ee9aceec4231e7aa5aacf3c6e7aa41471 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:21 2015 +0900 drm/exynos: remove unused fields of struct exynos_drm_gem_buf The userptr, write and pfnmap of struct exynos_drm_gem_buf are not used anywhere. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 67e93c808b486817193dbd1ff93ee03adb9eef28 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:20 2015 +0900 drm/exynos: stop copying sg table Already struct exynos_drm_gem_buf has pages of the buffer, so we don't need to copy from sg table of the buffer to sg table of dma-buf attachment, just can make sg table from pages of the buffer. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 0e9a2ee3bc1ee24be519312453ef93288b545ad3 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:19 2015 +0900 drm/exynos: remove function exynos_drm_gem_map_buf The exynos_drm_gem_map_buf can be merged in exynos_drm_gem_fault. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 67412d15afb7cc34943157c4bce2cf138b579fd1 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:18 2015 +0900 drm/exynos: remove mutex locking in pagefault handler There is no reason to use mutex locking in pagefault handler. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 23597e2642ca76883ef533d3e3947b859537fd49 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:17 2015 +0900 drm/exynos: remove function convert_to_vm_err_msg The convert_to_vm_err_msg is called just once by exynos_drm_gem_fault, so it's simple not to use the function. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8139951cae69637cc882e23f36fc45ecfa1ec814 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:16 2015 +0900 drm/exynos: stop using sgtable in page fault handler Already struct exynos_drm_gem_buf has pages of the buffer when buffer is created, so just can use pages in page fault handler, we don't have to make sgtable of the buffer. But this needs to construct pages of the buffer that is imported from dma-buf prime. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 493f133f47750aa5566fafa9403617e3f0506f8c Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Mar 25 23:20:37 2015 -0400 intel_idle: Skylake Client Support Skylake Client CPU idle Power states (C-states) are similar to the previous generation, Broadwell. However, Skylake does get its own table with updated worst-case latency and average energy-break-even residency values. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 2b8376c803c4c1c02446520527b31161e8a3c066 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 12:14:08 2015 -0300 drm/exynos: remove struct exynos_drm_encoder layer struct exynos_drm_encoder was justing wrapping struct drm_encoder, it had only a drm_encoder member and the internal exynos_drm_encoders ops that was directly mapped to the drm_encoder helper funcs. So now exynos DRM uses struct drm_encoder directly, this removes completely the struct exynos_drm_encoder. v2: add empty .mode_fixup() and .mode_set() to DSI and DPI to avoid null pointer. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 6cf272751be22a9ae6a6a9550854156dd812ff66 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Aug 6 10:31:47 2015 -0300 drm/exynos: fold encoder setup into exynos_drm_load() As we are removing the exynos encoder move the encoder setup operation directly inside the exynos_drm_load() Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a2986e8032bddbe237ed16e2e26c71f5416cd5fd Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:20 2015 -0300 drm/exynos: remove exynos_drm_create_enc_conn() This functions was just hiding the encoder and connector creation in a way that was less clean than if we get rid of it. For example, exynos_encoder ops had .create_connector() defined only because we were handing off the encoder and connector creation to exynos_drm_create_enc_conn(). Without this function we can directly call the create_connector function internally in the code, without the need of any vtable access. It also does some refactoring in the code like creating a bind function for dpi devices. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit af8be3f6fe80262f29b5e353421392196ff626f0 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:19 2015 -0300 drm/exynos: remove exynos_encoder's .commit() op .commit() is not used anymore, Exynos encoders now follow the .enable()/.disable() semantics from drm atomic core, so remove this callback. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 07fd6e1f9985399f08af0f7981eaed362512a5af Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:18 2015 -0300 drm/exynos: remove extra call to exynos_dp_commit() exynos_dp_commit() was getting called twice by exynos encoder core, once inside the .enable() call and another time by .commit() itself. The remove of the second call caused the wake of a bug, the operations orders inside exynos_dp_commit was wrong and we had to move exynos_dp_start_video() to be the last operation in there. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c2c099f2d97a039c5e1714c803dd9d20458c388f Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:17 2015 -0300 drm/exynos: remove extra call to hdmi_commit() hdmi_commit() was getting called twice by exynos encoder core, once inside the .enable() call and another time by .commit() itself. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cf67cc9a29ac19c98bc4fa0e6d14b0c1f592d322 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Tue Aug 11 17:38:06 2015 +0900 drm/exynos: remove struct exynos_drm_display This struct was just representing encoder information, it was a member of struct exynos_drm_encoder, so any code trying to access encoder data would have to go through the encoder struct, get the display struct and then get the data it want. During this patchset we also realized that the only data exynos_drm_encoder needs to store is the drm_encoder parent and the exynos_drm_encoder_ops. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d1fa72d0a6e70057f6aa0d0f6187e4a49e261fa8 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:15 2015 -0300 drm/exynos: simplify calculation of possible CRTCs All CRTCs can only be LCD, HDMI or VIDI, so basically all CRTCs will be a possible CRTCs. This patch removes an extra function with switch that was only checking if the CRTC type was one of those three above. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a090f45ff0acae51aa0363a72e5c3b47332af9f9 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:14 2015 -0300 drm/exynos: remove unused .remove() and .check_mode() ops from display These two display_ops are not used anywhere, remove them. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b6f3c36183470bbbee9da1c0a8cc892e69f88c4f Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:13 2015 -0300 drm/exynos: remove wrappers for phy_power_{on,off} phy_power_on() and phy_power_off() already checks for NULL pointer. This patch removes the wrappers exynos_dp_phy_init() and exynos_dp_phy_exit() since the only think they were doing was a check for NULL phy. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b6595dc7e1ccc0964862a5bd436a8f004b36c02f Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 10 21:37:04 2015 -0300 drm/exynos: split display's .dpms() into .enable() and .disable() The DRM Core doesn't have a dpms() operation anymore, everything now is enable() or disable(). Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 08dd20099f3ce55a2ded0045b5a087aefea38cd8 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:39 2015 -0300 drm/exynos: return return value of exynos_crtc->enable_vblank Instead of blindly ignore the return value of enable_vblank return it to the upper DRM layer for error handling. Suggested-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d88d2463fecb13c67d8eec78c4b61671900deb94 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:38 2015 -0300 drm/exynos: unify exynos_drm_plane names with drm core Rename crtc_{widht,height} to crtc_{w,h} and src_{width,height} to src_{w,h} to make it similar to the atomic state names. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a1bcc9da90ab44d29c38fc6e4a8dba633e97f3f3 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:37 2015 -0300 drm/exynos: remove unused fields from struct exynos_drm_plane Now after the move to use drm_plane_state directly struct drm_plane_state has many unused fields, along with others that weren't used before the plane state change. Thus remove them all. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 2eeb2e5e6634dbb97bdda81f65f70e4b037028d5 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 3 14:40:44 2015 +0900 drm/exynos: use drm atomic state directly For some fields the use of struct exynos_drm_plane filled with data from the plane state just creates a source of duplicated information and overhead. Here we change the crtc drivers to access the plane state directly simplifying the code by not relying on a exynos internal struct. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1e1d13932283419ddfdb60c73319cc0e753ded5b Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 3 14:39:36 2015 +0900 drm/exynos: pass struct exynos_drm_plane in update/enable We already have the plane pointer in before calling .update_plane() or disable_plane() so pass it directly to those calls avoiding a new conversion from zpos to struct exynos_drm_plane. v2: don't remove check for suspended in FIMD (comment by Joonyoung) Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 9cc7610a2375a94ec967f771ce74b51db0d43d1c Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 3 14:38:05 2015 +0900 drm/exynos: rename win_commit/disable to atomic-like names Rename win_commit() helper to update_plane() and win_disable() to disable_plane(). Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit f59a89d05f1290d0cdaa588d29871e05cdec159b Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:33 2015 -0300 drm/exynos: remove duplicated check for suspend The same check is placed twice in fimd/decon_update_plane(), remove one of them. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit eafd540aeaae6f1c4d04fdf3959419716d23cdc5 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:32 2015 -0300 drm/exynos: use KMS version of DRM vblanks functions Get rid of legacy DRM vblank function that are less clear to use. The new ones basically requires only the crtc as parameters. It also clean ups exynos_drm_crtc_finish_pageflip() parameters as a consequence. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 451a8c0c59b3feebb5bf6a1ce1335e9f3e428355 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:31 2015 -0300 drm/exynos: pass the correct pipe number Instead of giving -1 to as arg to drm_send_vblank_event() pass the correct pipe number to it. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 43a3b866a9e73e9bd215ec3f36c71e42469e70c6 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:51:02 2015 +0900 drm/exynos: clear channels only when iommu is enabled This is simplest solution about reported problem[1]. It's no problem to clear channel only when iommu is enabled, if we consider that we cannot recognize iommu errors when iommu is disabled and it have been valid until now. But this cannot be nice solution. [1] https://lkml.org/lkml/2015/7/21/404 Reported-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit eb7a3fc74c58be9c01cdbe23947ae9eb032e8365 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Thu Jul 2 21:49:39 2015 +0900 drm/exynos: remove drm_iommu_attach_device_if_possible Already drm_iommu_attach_device checks whether support iommu internally. It should clear channels always regardless iommu support. We didn't know because we can detect the problem when iommu is enabled, so we don't have to use drm_iommu_attach_device_if_possible and then we can remove drm_iommu_attach_device_if_possible and clear_channels function pointer. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 735c21c3c802e9e89ce302ab40ea92f5d1151e02 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Wed Jul 15 12:04:39 2015 +0900 drm/exynos: move order to register vidi kms driver The vidi is virtual kms driver and now it is registered earlier than actual hw kms drivers, so it will occupy crtc index 0. Some users assume the condition yet that actual hw kms driver has crtc index 0. It may or may not be matter but let's arrange register order. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 0df5e4acf584ad1b1b5689d283e1e81655eefab1 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 08:25:43 2015 +0200 drm/exynos/mixer: replace MXR_INT_EN register cache with flag Driver uses only VSYNC interrupts, so we need to cache VSYNC bit state only. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a44652e845739b88214adf9f40478f1ed037348d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 08:25:42 2015 +0200 drm/exynos/mixer: simplify poweron flag The driver uses bool protected by mutex to track power state. The patch replaces this combo with single bit and atomic bitops. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit bf56608a73444037d6960204d81662ccbdebe282 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Thu Jul 2 21:49:38 2015 +0900 drm/exynos: remove unnecessary checking to support iommu Already drm_iommu_attach_device and drm_iommu_detach_device check whether support iommu internally, so we don't have to call is_drm_iommu_supported before call them. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b24919575ea26937013a4380a604c4e8c0a71c81 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Thu Jul 2 21:49:37 2015 +0900 drm/exynos: remove to use ifdef CONFIG_ARM_DMA_USE_IOMMU If CONFIG_ARM_DMA_USE_IOMMU is disable, CONFIG_DRM_EXYNOS_IOMMU also is disable. When CONFIG_DRM_EXYNOS_IOMMU is disable, is_drm_iommu_supported() returns always false, so we can remove to use ifdef CONFIG_ARM_DMA_USE_IOMMU in is_drm_iommu_supported(). Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5149705dacfb24406634d2060880cd5605772540 Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Wed Jul 1 19:09:25 2015 +0900 drm/exynos: gsc: Handles the combination of rotation and flip The unique results of all the combination of rotation and flip can be represented by just 8 states. This patch handles all the combination correctly. Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7b5102da0a9f008a5d59fa4e3cd9e6006848f3bd Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:12 2015 +0200 drm/exynos/hdmi: remove hdmi_v14_conf struct The patch removes intermediate struct for HDMIv14 register configuration, instead registry values are calculated on the fly. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit edb6e41201c626439a8f3687a0cc81c0d1f13c84 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:11 2015 +0200 drm/exynos/hdmi: remove hdmi_v13_conf struct The patch removes intermediate struct for HDMIv13 register configuration, instead registry values are calculated on the fly. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c93aaebfd1945fd0c3efacad001906dd6bcbb3df Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:10 2015 +0200 drm/exynos/hdmi: remove redundant configuration fields The patch removes redundant fields from hdmi_conf_regs. Their values can be calculated from current_mode. This patch is the first step to remove whole hdmi_conf_regs structure. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cd240cde91fa637449b564c08b31030073769ad7 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:09 2015 +0200 drm/exynos/hdmi: add driver data pointer to private context The patch replaces duplicated driver data fields in private context with pointer to driver data. It also simplifies driver data lookup code. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 882a0644fd3427a17d80ad14d1ca3a6228a3860f Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:08 2015 +0200 drm/exynos/hdmi: remove private lock code Most of the code is called by drm core framework, so it is already synchronized. The only async function is irq routine which only calls drm framework so it does not need to be synchronized. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit ef6ce28bc7c529d4d0b8c699d26fb568208bc305 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:07 2015 +0200 drm/exynos/hdmi: Simplify HPD gpio handling GPIO is tested only in hdmi_detect, so there is no reason to set it in other places and to preserve its value in context. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d36b3004ca2c99f39e9691ad8a10c02803ad28fc Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:06 2015 +0200 drm/exynos/hdmi: remove old platform data code s5p_hdmi_platform_data were used before device tree introduction. As HDMI driver is DT only we can drop this struct completely. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit e920efe6fe06b3d4a181a00c54ae00ee83545992 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Apr 9 10:46:00 2015 +0200 drm/exynos/fimc: fix runtime pm support Once pm_runtime_set_active() gets called, the kernel assumes that given device has already enabled runtime pm and will call pm_runtime_suspend() without matching pm_runtime_resume(). In case of DRM FIMC IPP driver, this will result in calling clk_disable() without respective call to clk_enable(). This patch removes call to pm_runtime_set_active() to ensure that pm_runtime_suspend/resume calls will match. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 947710c6702a4916a7a01b3af4decb66ae7fc34f Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 08:25:41 2015 +0200 drm/exynos/mixer: always update INT_EN cache INT_EN cache field was updated only by mixer_enable_vblank. The patch adds update also by mixer_disable_vblank function. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit fc073248ceb56af8cedebff36bf1cdc5da3c6847 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 08:25:40 2015 +0200 drm/exynos/mixer: correct vsync configuration sequence Specification advises to clear vsync indicator before configuring vsync. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 81a464df5c5cdb47c2c5e271f7440e011d694018 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 10:07:53 2015 +0200 drm/exynos/mixer: fix interrupt clearing The driver used incorrect flags to clear interrupt status. The patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 64ebd8904fab29ee0b76f923aac77da5caa0437d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 08:25:38 2015 +0200 drm/exynos/hdmi: fix edid memory leak edid returned by drm_get_edid should be freed. The patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 988a47311952db42b3bf84be0dd515ca7d86aaa3 Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Wed Jul 1 19:09:24 2015 +0900 drm/exynos: gsc: fix wrong bitwise operation for swap detection The bits for rotation are not used as exclusively. So GSC_IN_ROT_270 can not be used for swap detection. The definition of it is same with GSC_IN_ROT_MASK. It is enough to check GSC_IN_ROT_90 bit is set or not to check whether width / height size swapping is needed. Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d248b61f611463cca906d5663a9a0de63ade97a9 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:49:29 2015 -0400 drm/msm/dsi: Introduce DSI configuration module With more platforms supported, the DSI host configuration array keeps expanding. This change moves those to a separate dsi_cfg module. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 1bf4d7c5651a7cfcdcd77389b42d266441ecf444 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:45:53 2015 -0400 drm/msm/dsi: Make each PHY type compilation independent On a certain platform, only one type of DSI PHY is used. This change allows the user to only compile the PHY type which is being used. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 5c8290284402bf7d2c12269402b3177b899c78b7 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:45:52 2015 -0400 drm/msm/dsi: Split PHY drivers to separate files This change moves each PHY type specific code into separate files. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 29e61690130adb1c27053558d2f21af88ae0334e Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:45:51 2015 -0400 drm/msm/dsi: Return void from msm_dsi_phy_disable() We are not checking the return value from msm_dsi_phy_disable(). Change the return type to void. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit fae11c1106ad8304c09e3b9bf95dd6d03f4a5afa Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:45:50 2015 -0400 drm/msm/dsi: Specify bitmask to set source PLL The bit position to configure source PLL will change on new types of PHYs. The caller should pass down this information. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 29f034d776209042f7aaaf1518a66841c1d42233 Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Wed Aug 5 15:33:29 2015 -0400 drm/msm/mdp: Clear pending interrupt status before enable interrupt Pending interrupt status needs to be cleared before enable the interrupt. Otherwise it's possible to get a pending interrupt instead of an incoming interrupt. Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 8089082fae1975ad9d5abbd37c0ee8f688be28a0 Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Fri Jul 31 10:13:26 2015 -0400 drm/msm/mdp5: Add rotation (hflip/vflip) support to MDP5 planes (v2) MDP5 SSPPs can flip the input source horizontally or vertically. This change is to add this support to MDP5 planes. v1: Initial change v2: Use existing "rotation" property instead of creating msm specific properties. In order to be compatiable with legacy non-atomic set_property, switch to drm_atomic_helper_plane_set_property helper function. Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 095022b9aa0546a0f3d3fb5f42c82b4004103864 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 15:12:39 2015 +0100 drm/msm: add calls to prepare and unprepare panel Prepare the panel before it's enabled and un-prepare after disable, this will make sure that the regulators are switched on and off correctly. Tested it on APQ8064 based IFC6410 with panel. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 09992e4d46935798b4a1cf3a734e6a0f3470f107 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Mon Aug 3 14:09:36 2015 +0530 drm/msm/dsi: Modify dsi manager bridge ops to work with external bridges The dsi bridge ops call drm_panel functions to set up the connected drm_panel. Add checks to make sure these aren't called when we're connected to an external bridge. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit c118e29033aa5b38b593ebd0e02f8b1224c20ed3 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 14:06:10 2015 +0530 drm/msm/dsi: Allow dsi to connect to an external bridge There are platforms where the DSI output can be connected to another encoder bridge chip (DSI to HDMI, DSI to LVDS etc). Add support for external bridge support to the dsi driver. We assume that the external bridge chip would be of the type drm_bridge. The dsi driver's internal drm_bridge (msm_dsi->bridge) is linked to the external bridge's drm_bridge struct. In the case we're connected to an external bridge, we don't need to create and manage a connector within our driver, it's the bridge driver's responsibility to create one. v2: - Move the external bridge attaching stuff to dsi manager to make things cleaner. - Force the bridge to connect to a video mode encoder for now (the dsi mode flags may have not been populated by modeset_init) Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 6f054ec5b9ced3041f29541ae79402198678fc06 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Mon Aug 3 14:08:33 2015 +0530 drm/msm/dsi: Create a helper to check if there is a connected device Create a helper msm_dsi_device_connected() which checks whether we have a device connected to the dsi host or not. This check gets messy when we have support external bridges too. Having an inline function makes it more legible. For now, the check only consists of msm_dsi->panel being non-NULL. Later, this will check if we have an external bridge or not. This helper isn't used in dsi_connector related code as that's specific to only when a drm_panel is connected. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a9ddac9c5765712fa7eace55feeaf7c4ac75e32b Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Mon Aug 3 14:05:45 2015 +0530 drm/msm/dsi: Refer to connected device as 'device' instead of 'panel' We currently support only panels connected to dsi output. We're going to also support external bridge chips now. Change 'panel_node' to 'device_node' in the struct msm_dsi_host and 'panel_flags' to 'device_flags' in msm_dsi. This makes things sound a bit more generic. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 60d05cb4eabcfcab00784677c2a55ed1b9bda2ec Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Thu Jun 25 14:36:35 2015 +0530 drm/msm/dsi: Make TE gpio optional Platforms containing only DSI video mode devices don't need a TE gpio. Make TE gpio optional. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3d6df06249277aabaf895951855c4ed704b038bb Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Tue Jun 9 14:17:22 2015 +0530 drm/msm: mdp4 lvds: get panel node via of graph parsing We currently get the output connected to LVDS by looking for a phandle called 'qcom,lvds-panel' under the mdp DT node. Use the more standard of_graph approach to create an lvds output port, and retrieve the panel node from the port's endpoint data. v3 - Fix return value checks of of_graph_* calls. Tested-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit f7009d266d8b2f4b54da42399aaa536d74fe3e7c Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Thu Jun 25 11:43:40 2015 +0530 drm/msm: dsi host: Use device graph parsing to parse connected panel The dsi host looks for the connected panel node by parsing for a child named 'panel'. This hierarchy isn't very flexible. The connected panel is forced to be a child to the dsi host, and hence, a mipi dsi device. This isn't suitable for dsi devices that don't use mipi dsi as their control bus. Follow the of_graph approach of creating ports and endpoints to represent the connections between the dsi host and the panel connected to it. In our case, the dsi host will only have one output port, linked to the panel's input port. Update DT binding documentation with device graph usage info. v3: - Fix return value checks of of_graph_* calls. - Don't make port a mandatory DT property - Fix defer check when no panel node specified - Rename parse_dt func to align with other dsi_host funcs Reviewed-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 14bb28b0f91f868f081f71eb0c7b590e13527c3c Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Thu Jun 4 15:01:57 2015 +0530 drm/msm: dsi host: add missing of_node_put() Decrement device node refcount if of_get_child_by_name is successfully called. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 78b1d470d57dd7a6e0efda63ebad97f0d44e817c Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Mon Jul 27 13:49:45 2015 -0400 drm/msm: Enable clocks during enable/disable_vblank() callbacks AHB clock should be enabled before accessing registers during enable/disable_vblank(). Since these 2 callbacks are called in atomic context while clk_prepare may cause thread sleep, a work is scheduled to control vblanks. v2: fixup spinlock initialization Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> [add comment about cancel_work_sync() before drm_irq_uninstall()] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 8a94b0aa372ebf7375c8ea861cb9bbf84b39d2df Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Wed Jul 8 18:25:40 2015 -0400 drm/msm/mdp5: Add support for msm8x74v1 msm8x74v1 has different MDP5 version (v1.0) from msm8x74v2 (v1.2). Add a separate config data to support msm8x74v1. Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 8155ad4ce67d2f3418a4a72144c10114d21f0ece Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Tue Jul 7 17:17:28 2015 -0400 drm/msm/mdp5: Add DMA pipe planes for MDP5 This change is to add planes which use DMA pipes for MDP5. Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> [slight comment adjust to s/Construct public planes/Construct video planes/ since DMA planes are public planes too, they just can't scale or CSC] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3498409f0315b93f969f87c31d014a9819f6fa7d Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Wed Jul 8 18:12:40 2015 -0400 drm/msm/mdp: Add capabilities to MDP planes (v2) MDP planes can be implemented using different type of HW pipes, RGB/VIG/DMA pipes for MDP5 and RGB/VG/DMA pipes for MDP4. Each type of pipe has different HW capabilities such as scaling, color space conversion, decimation... Add a variable in plane data structure to specify the difference of each plane which comes from mdp5_cfg data and use it to differenciate the plane operation. V1: Initial change V2: Fix a typo in mdp4_kms.h Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit bef799fb77dc30d32362b6850e997f1c29fc99eb Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:35:31 2015 -0400 drm/msm/mdp5: add more YUV formats for MDP5 Add packed YUV422 and planar YUV420 formats to MDP supported formats. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 9cc137a3ffa3162a0d5af822149a5cec1b42c24e Author: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:35:30 2015 -0400 drm/msm/mdp5: use 2 memory clients for YUV formats on newer mdp5 Newer MDP5 uses 2 shared memory pool clients for certain YUV formats. For example, if VIG0 is used to fetch data in YUYV format, it will use VIG0_Y for Y component, and VIG0_Cr for UV packed. Signed-off-by: Wentao Xu <wentaox@xxxxxxxxxxxxxx> [rebase] Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> commit ff78a6b3771f48d1d5585e5d08ab4ae6fd606ab0 Author: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:35:29 2015 -0400 drm/msm/mdp: mark if a MDP format is YUV at definition This makes it easy to determine if a format is YUV. The old method of using chroma sample type incorrectly marks YUV444 as RGB format. Signed-off-by: Wentao Xu <wentaox@xxxxxxxxxxxxxx> [rebase] Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 02b3ee466443ba6780562fb2af5fe0ad5bf059f6 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Jul 6 11:09:41 2015 +0200 drm/msm/dp: use flags argument of devm_gpiod_get to set direction Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Use this to simplify the driver. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 328e1a633c9bc26c36ecd320246e4a9b2726e81a Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Fri Jul 3 10:09:46 2015 -0400 drm/msm/dsi: Save/Restore PLL status across PHY reset Reset DSI PHY silently changes its PLL registers to reset status, which will make cached status in clock driver invalid and result in wrong output rate of link clocks. The current restore mechanism in DSI PLL does not cover all the cases. This change is to recover PLL status after PHY reset to match HW status with cached status in clock driver. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit da882cd1ee132ecbb4a4848a6b0797ea2ed4bee7 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 22:23:28 2015 +0200 drm/msm/dsi: One function call less in dsi_init() after error detection The dsi_destroy() function was called in two cases by the dsi_init() function during error handling even if the passed variable contained a null pointer. * This implementation detail could be improved by adjustments for jump targets according to the Linux coding style convention. * Drop an unnecessary initialisation for the variable "msm_dsi" then. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> [add couple missing ERR_PTR()'s] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a60bbb2764b73a3f54c7462f3d28f960b7811682 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 22:05:31 2015 +0200 drm/msm/dsi: Delete an unnecessary check before the function call "dsi_destroy" The dsi_destroy() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit b96b3a06d1211ba86674db99a6aafe39ef4cbed2 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Fri Jun 26 16:03:26 2015 -0400 drm/msm/mdp5: Allocate CTL0/1 for dual DSI single FLUSH This change takes advantage of a HW feature that synchronize flush operation on CTL1 to CTL0, to keep dual DSI pipes in sync. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit c71716b17bc772e9c38f85a4b496bbfac0dd32f0 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Fri Jun 26 16:03:25 2015 -0400 drm/msm/mdp5: Allocate CTL for each display interface In MDP5, CTL contains information of the whole pipeline whose output goes down to a display interface. In various cases, one interface may require 2 CRTCs, but only one CTL. Some interfaces also require to use certain CTLs. Instead of allocating CTL for each active CRTC, this change is to associate a CTL with each interface. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 129877819c0a5f8d419fe67ae08a8a7c811afa5e Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Thu Jun 25 17:37:42 2015 -0400 drm/msm/mdp5: Add plane blending operation support for MDP5 (v2) This change is to add properties alpha/zpos/blend_mode to mdp5 plane for alpha blending operation to generate the blended output. v1: Initial change v2: Change "premultilied" property to enum (Rob's comment) Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> [Don't actually expose alpha/premultiplied props to userspace yet pending a chance for discussion and some userspace to exercise it] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 4ff696eafaa50d6d649d256d20528b475104a500 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Jul 28 11:05:03 2015 -0400 drm/msm: don't install plane properties on crtc This was a hold-over from the pre-atomic days and legacy userspace that only understood CRTCs. Fortunately we don't have any properties, so this doesn't change anything. But before we start growing some plane properties, we should fix this. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 01199361c665245d557b8eefef56d648ddb3867a Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Thu Jun 25 11:29:24 2015 +0530 drm/msm/dsi: Report PHY errors only when they really occur DSI PHY errors are falsely reported whenever a dsi error occurs. This is because DSI_DLN0_PHY_ERR isn't only used as a status register, but also used to mask PHY errors. Currently, we end up reading the mask bits too and therefore always report errors. Ignore the register mask bits and check for only the status/clear bits. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 9b7a9fc29a48026d797cbf237121850c1c241df4 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Wed Jun 24 19:13:40 2015 -0400 drm/msm: Set different display size limitation on each target The maximum output width of one pipeline depends on the LayerMixer's capability. It may be different on each target. Also, MDP5 doesn't have vertical limitation in one frame, as long as the pixel clock can be supported. This change obtains the maximum LM resolution from configuration table and treat it as the whole pipe's limitation for MDP5. The size limit on MDP4 is not changed. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> commit 5cf3a4553fc8395c4ad38077f8cee6c91f832393 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Mon Jul 27 20:52:50 2015 -0400 drm/msm/hdmi: standardize on lead chip for compatible names For all of these devices, msm89xy was the lead chip, so standardize the compatible names to align with convention used by rest of the qcom/msm drivers. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3a84f8469e2687b9fdcf83d615b8001a2443566a Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Jun 19 16:04:47 2015 -0400 drm/msm: Add support for msm8x94 This change adds the MDP and HDMI support for msm8x94. Note that HDMI PHY registers are not being accessed anymore from the driver. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> [rename compatible s/8x94/8994/ since preference is to not trust the marketing folks who invent chip #'s but instead name things after the lead chip.. we should rename some 80XY to 89XY to standardize on the lead chip but leave that for another patch. Also, update dt bindings doc] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit da32855219f86f27cad1b12be2264ffb0b97b9fa Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Jun 19 16:04:46 2015 -0400 drm/msm/hdmi: remove ->reset() from HDMI PHY ->reset() currently only accesses HDMI core registers, and yet it is located in hdmi_phy*. Since no PHY registers are being accessed during ->reset(), it would be better to bring that function in hdmi core module where HDMI core registers are usually being accessed. This will also help for msm8x94 for which no PHY registers accesses are done (->phy_init == NULL) but the HDMI PHY reset from HDMI core still needs to be done. Note: SW_RESET_PLL bit is not written in hdmi_phy_8x60_reset(); this write should not affect anything if the corresponding field is not writable. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> [fixed warning about unused 'phy' in hpd_enable() while merging] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit dcefc117cc192f215d04c4e7cbae6b76a9bafcf4 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Jun 18 10:14:21 2015 -0400 drm/msm/dsi: Add support for msm8x94 DSI controller on msm8x94 is version 1.3, which requires different power supplies and works with 20nm DSI PHY. This change is to add the basic support for this version. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit ab8909b032ffccc15384879dd5798b8647d6ab8a Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Jun 11 10:56:46 2015 -0400 drm/msm/dsi: Use pinctrl in DSI driver Some targets use pinctrl framework to configure some pins. This change allows DSI driver to set default and sleep pinctrl status. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 678565c3cb2100a8f03c23592f13f6b78e69a590 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Wed Jun 10 13:18:18 2015 -0400 drm/msm/dsi: Rename *dual panel* to *dual DSI* The current term of *dual panel* in DSI driver code causes confusion. It is supposed to indicate the panel using two DSI links. Rename it to *dual DSI*. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 13351cd17791694f2dcc96dc920e58b090b18c31 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Wed Jun 10 13:18:17 2015 -0400 drm/msm/dsi: Update source PLL selection in DSI PHY The source PLL to be used by each DSI PHY should be decided by DSI manager based on dual DSI information, while the register programming to select PLL is different from one type of PHY to another. This change adds the H/W difference to PHY configuration and updates the interface between DSI manager and PHY. With this change, PLL selection can be supported on different targets. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit c6a57a50ad562a2e6fc6ac3218b710caea73a58b Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Thu Apr 2 17:49:01 2015 -0400 drm/msm/hdmi: add hdmi hdcp support (V3) Add HDMI HDCP support including HDCP PartI/II/III authentication. V1: Initial Change V2: Address Bjorn&Rob's comments Refactor the authentication process to use single work instead of multiple work for different authentication stages. V3: Update to align with qcom SCM api. Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 2d3584eb871da2a6fa72e3d50781f33b0312589a Author: Rob Clark <robdclark@xxxxxxxxx> Date: Mon Jul 27 19:37:12 2015 -0400 drm/msm: update generated headers Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit c0015bf3a34961342a27b021672049e535ab36a1 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sat Aug 15 11:00:33 2015 +0200 ieee802154: 6lowpan: fix non-lowpan wpan interfaces We receive all 802.15.4 frames on the packet handler "lowpan_rcv" this patch checks if the wpan device belongs to a lowpan interface. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0751272880f3a0c74c786ecfaba2b3d98748482f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sat Aug 15 11:00:32 2015 +0200 ieee802154: 6lowpan: fix packet layer registration This patch fixes 802.15.4 packet layer registration when mutliple lowpan interfaces will be added. We need to register the packet layer at the first lowpan interface and deregister it at the last interface. This done by open_count variable which is protected by rtnl. Additional do a quiet fix by adding dev_put(real_dev) when netdev registration fails, which fix the refcount for the wpan dev. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4481c0767e52eea674794de4b9123c9bc3d24f24 Author: Peter Poklop <peter.poklop@xxxxxxxxx> Date: Sat Aug 15 20:47:09 2015 +0200 Bluetooth: btusb: mark 0c10:0000 devices with BTUSB_SWAVE This patch enables quirk handling for Silicon Wave based devices and fixes kernel bug with id 42985. T: Bus=01 Lev=01 Prnt=01 Port=07 Cnt=04 Dev#= 6 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0c10 ProdID=0000 Rev=15.00 S: Manufacturer=SiW S: Product=SiW S: SerialNumber=340A05F61100 C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 50mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms Signed-off-by: Peter Poklop <peter.poklop@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e294a5371b2e0bd22d4a917d4c354a52a7057b6e Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Aug 15 14:59:44 2015 -0400 ext4: ratelimit the file system mounted message The xfstests ext4/305 will mount and unmount the same file system over 4,000 times, and each one of these will cause a system log message. Ratelimit this message since if we are getting more than a few dozen of these messages, they probably aren't going to be helpful. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 50e0ee01382b8e08289d3db209738c5856fd25cf Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Aug 14 19:11:09 2015 +0800 ASoC: fsl-asoc-card: add wm8960 support add wm8960 support for fsl-asoc-card Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0048b4837affd153897ed1222283492070027aa9 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Sun Aug 9 03:41:51 2015 -0400 blk-mq: fix race between timeout and freeing request Inside timeout handler, blk_mq_tag_to_rq() is called to retrieve the request from one tag. This way is obviously wrong because the request can be freed any time and some fiedds of the request can't be trusted, then kernel oops might be triggered[1]. Currently wrt. blk_mq_tag_to_rq(), the only special case is that the flush request can share same tag with the request cloned from, and the two requests can't be active at the same time, so this patch fixes the above issue by updating tags->rqs[tag] with the active request(either flush rq or the request cloned from) of the tag. Also blk_mq_tag_to_rq() gets much simplified with this patch. Given blk_mq_tag_to_rq() is mainly for drivers and the caller must make sure the request can't be freed, so in bt_for_each() this helper is replaced with tags->rqs[tag]. [1] kernel oops log [ 439.696220] BUG: unable to handle kernel NULL pointer dereference at 0000000000000158^M [ 439.697162] IP: [<ffffffff812d89ba>] blk_mq_tag_to_rq+0x21/0x6e^M [ 439.700653] PGD 7ef765067 PUD 7ef764067 PMD 0 ^M [ 439.700653] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC ^M [ 439.700653] Dumping ftrace buffer:^M [ 439.700653] (ftrace buffer empty)^M [ 439.700653] Modules linked in: nbd ipv6 kvm_intel kvm serio_raw^M [ 439.700653] CPU: 6 PID: 2779 Comm: stress-ng-sigfd Not tainted 4.2.0-rc5-next-20150805+ #265^M [ 439.730500] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011^M [ 439.730500] task: ffff880605308000 ti: ffff88060530c000 task.ti: ffff88060530c000^M [ 439.730500] RIP: 0010:[<ffffffff812d89ba>] [<ffffffff812d89ba>] blk_mq_tag_to_rq+0x21/0x6e^M [ 439.730500] RSP: 0018:ffff880819203da0 EFLAGS: 00010283^M [ 439.730500] RAX: ffff880811b0e000 RBX: ffff8800bb465f00 RCX: 0000000000000002^M [ 439.730500] RDX: 0000000000000000 RSI: 0000000000000202 RDI: 0000000000000000^M [ 439.730500] RBP: ffff880819203db0 R08: 0000000000000002 R09: 0000000000000000^M [ 439.730500] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000202^M [ 439.730500] R13: ffff880814104800 R14: 0000000000000002 R15: ffff880811a2ea00^M [ 439.730500] FS: 00007f165b3f5740(0000) GS:ffff880819200000(0000) knlGS:0000000000000000^M [ 439.730500] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b^M [ 439.730500] CR2: 0000000000000158 CR3: 00000007ef766000 CR4: 00000000000006e0^M [ 439.730500] Stack:^M [ 439.730500] 0000000000000008 ffff8808114eed90 ffff880819203e00 ffffffff812dc104^M [ 439.755663] ffff880819203e40 ffffffff812d9f5e 0000020000000000 ffff8808114eed80^M [ 439.755663] Call Trace:^M [ 439.755663] <IRQ> ^M [ 439.755663] [<ffffffff812dc104>] bt_for_each+0x6e/0xc8^M [ 439.755663] [<ffffffff812d9f5e>] ? blk_mq_rq_timed_out+0x6a/0x6a^M [ 439.755663] [<ffffffff812d9f5e>] ? blk_mq_rq_timed_out+0x6a/0x6a^M [ 439.755663] [<ffffffff812dc1b3>] blk_mq_tag_busy_iter+0x55/0x5e^M [ 439.755663] [<ffffffff812d88b4>] ? blk_mq_bio_to_request+0x38/0x38^M [ 439.755663] [<ffffffff812d8911>] blk_mq_rq_timer+0x5d/0xd4^M [ 439.755663] [<ffffffff810a3e10>] call_timer_fn+0xf7/0x284^M [ 439.755663] [<ffffffff810a3d1e>] ? call_timer_fn+0x5/0x284^M [ 439.755663] [<ffffffff812d88b4>] ? blk_mq_bio_to_request+0x38/0x38^M [ 439.755663] [<ffffffff810a46d6>] run_timer_softirq+0x1ce/0x1f8^M [ 439.755663] [<ffffffff8104c367>] __do_softirq+0x181/0x3a4^M [ 439.755663] [<ffffffff8104c76e>] irq_exit+0x40/0x94^M [ 439.755663] [<ffffffff81031482>] smp_apic_timer_interrupt+0x33/0x3e^M [ 439.755663] [<ffffffff815559a4>] apic_timer_interrupt+0x84/0x90^M [ 439.755663] <EOI> ^M [ 439.755663] [<ffffffff81554350>] ? _raw_spin_unlock_irq+0x32/0x4a^M [ 439.755663] [<ffffffff8106a98b>] finish_task_switch+0xe0/0x163^M [ 439.755663] [<ffffffff8106a94d>] ? finish_task_switch+0xa2/0x163^M [ 439.755663] [<ffffffff81550066>] __schedule+0x469/0x6cd^M [ 439.755663] [<ffffffff8155039b>] schedule+0x82/0x9a^M [ 439.789267] [<ffffffff8119b28b>] signalfd_read+0x186/0x49a^M [ 439.790911] [<ffffffff8106d86a>] ? wake_up_q+0x47/0x47^M [ 439.790911] [<ffffffff811618c2>] __vfs_read+0x28/0x9f^M [ 439.790911] [<ffffffff8117a289>] ? __fget_light+0x4d/0x74^M [ 439.790911] [<ffffffff811620a7>] vfs_read+0x7a/0xc6^M [ 439.790911] [<ffffffff8116292b>] SyS_read+0x49/0x7f^M [ 439.790911] [<ffffffff81554c17>] entry_SYSCALL_64_fastpath+0x12/0x6f^M [ 439.790911] Code: 48 89 e5 e8 a9 b8 e7 ff 5d c3 0f 1f 44 00 00 55 89 f2 48 89 e5 41 54 41 89 f4 53 48 8b 47 60 48 8b 1c d0 48 8b 7b 30 48 8b 53 38 <48> 8b 87 58 01 00 00 48 85 c0 75 09 48 8b 97 88 0c 00 00 eb 10 ^M [ 439.790911] RIP [<ffffffff812d89ba>] blk_mq_tag_to_rq+0x21/0x6e^M [ 439.790911] RSP <ffff880819203da0>^M [ 439.790911] CR2: 0000000000000158^M [ 439.790911] ---[ end trace d40af58949325661 ]---^M Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 596f5aad2a704b72934e5abec1b1b4114c16f45b Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Sun Aug 9 03:41:50 2015 -0400 blk-mq: fix buffer overflow when reading sysfs file of 'pending' There may be lots of pending requests so that the buffer of PAGE_SIZE can't hold them at all. One typical example is scsi-mq, the queue depth(.can_queue) of scsi_host and blk-mq is quite big but scsi_device's queue_depth is a bit small(.cmd_per_lun), then it is quite easy to have lots of pending requests in hw queue. This patch fixes the following warning and the related memory destruction. [ 359.025101] fill_read_buffer: blk_mq_hw_sysfs_show+0x0/0x7d returned bad count^M [ 359.055595] irq event stamp: 15537^M [ 359.055606] general protection fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC ^M [ 359.055614] Dumping ftrace buffer:^M [ 359.055660] (ftrace buffer empty)^M [ 359.055672] Modules linked in: nbd ipv6 kvm_intel kvm serio_raw^M [ 359.055678] CPU: 4 PID: 21631 Comm: stress-ng-sysfs Not tainted 4.2.0-rc5-next-20150805 #434^M [ 359.055679] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011^M [ 359.055682] task: ffff8802161cc000 ti: ffff88021b4a8000 task.ti: ffff88021b4a8000^M [ 359.055693] RIP: 0010:[<ffffffff811541c5>] [<ffffffff811541c5>] __kmalloc+0xe8/0x152^M Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit da0b5e40ab10f44019a1ecec09fadfcd5bdb76b6 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 15 11:38:13 2015 -0400 ext4: silence a format string false positive Static checkers complain that the format string should be "%s". It does not make a difference for the current code. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 9810446836ab5a4b34a749bb77f3eb5836f982cc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 15 11:30:31 2015 -0400 ext4: simplify some code in read_mmp_block() My static check complains because we have: if (!*bh) return -ENOMEM; if (*bh) { The second check is unnecessary. I've simplified this code by moving the "if (!*bh)" checks around. Also Andreas Dilger says we should probably print a warning if sb_getblk() fails. [ Restructured the code so that we print a warning message as well if the mmp block doesn't check out, and to print the error code to disambiguate between the error cases. - TYT ] Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit c642dc9e1aaed953597e7092d7df329e6234096e Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Sat Aug 15 10:45:06 2015 -0400 ext4: don't manipulate recovery flag when freezing no-journal fs At some point along this sequence of changes: f6e63f9 ext4: fold ext4_nojournal_sops into ext4_sops bb04457 ext4: support freezing ext2 (nojournal) file systems 9ca9238 ext4: Use separate super_operations structure for no_journal filesystems ext4 started setting needs_recovery on filesystems without journals when they are unfrozen. This makes no sense, and in fact confuses blkid to the point where it doesn't recognize the filesystem at all. (freeze ext2; unfreeze ext2; run blkid; see no output; run dumpe2fs, see needs_recovery set on fs w/ no journal). To fix this, don't manipulate the INCOMPAT_RECOVER feature on filesystems without journals. Reported-by: Stu Mark <smark@xxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 8129ed29644bf56ed17ec1bbbeed5c568b43d6a0 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Aug 11 17:05:04 2015 +0200 change sb_writers to use percpu_rw_semaphore We can remove everything from struct sb_writers except frozen and add the array of percpu_rw_semaphore's instead. This patch doesn't remove sb_writers->wait_unfrozen yet, we keep it for get_super_thawed(). We will probably remove it later. This change tries to address the following problems: - Firstly, __sb_start_write() looks simply buggy. It does __sb_end_write() if it sees ->frozen, but if it migrates to another CPU before percpu_counter_dec(), sb_wait_write() can wrongly succeed if there is another task which holds the same "semaphore": sb_wait_write() can miss the result of the previous percpu_counter_inc() but see the result of this percpu_counter_dec(). - As Dave Hansen reports, it is suboptimal. The trivial microbenchmark that writes to a tmpfs file in a loop runs 12% faster if we change this code to rely on RCU and kill the memory barriers. - This code doesn't look simple. It would be better to rely on the generic locking code. According to Dave, this change adds the same performance improvement. Note: with this change both freeze_super() and thaw_super() will do synchronize_sched_expedited() 3 times. This is just ugly. But: - This will be "fixed" by the rcu_sync changes we are going to merge. After that freeze_super()->percpu_down_write() will use synchronize_sched(), and thaw_super() won't use synchronize() at all. This doesn't need any changes in fs/super.c. - Once we merge rcu_sync changes, we can also change super.c so that all wb_write->rw_sem's will share the single ->rss in struct sb_writes, then freeze_super() will need only one synchronize_sched(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit 853b39a7c82826b8413048feec7bf08e98ce7a84 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Jul 22 20:21:13 2015 +0200 shift percpu_counter_destroy() into destroy_super_work() Of course, this patch is ugly as hell. It will be (partially) reverted later. We add it to ensure that other WIP changes in percpu_rw_semaphore won't break fs/super.c. We do not even need this change right now, percpu_free_rwsem() is fine in atomic context. But we are going to change this, it will be might_sleep() after we merge the rcu_sync() patches. And even after that we do not really need destroy_super_work(), we will kill it in any case. Instead, destroy_super_rcu() should just check that rss->cb_state == CB_IDLE and do call_rcu() again in the (very unlikely) case this is not true. So this is just the temporary kludge which helps us to avoid the conflicts with the changes which will be (hopefully) routed via rcu tree. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit bf3eac84c42da7017610abc8cfba64921ea92c76 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Aug 11 17:26:29 2015 +0200 percpu-rwsem: kill CONFIG_PERCPU_RWSEM Remove CONFIG_PERCPU_RWSEM, the next patch adds the unconditional user of percpu_rw_semaphore. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> commit 55cc156505f2e43fa45dbd4bfe8f9c9d848ca44c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 20:26:44 2015 +0200 percpu-rwsem: introduce percpu_rwsem_release() and percpu_rwsem_acquire() Add percpu_rwsem_release() and percpu_rwsem_acquire() for the users which need to return to userspace with percpu-rwsem lock held and/or pass the ownership to another thread. TODO: change percpu_rwsem_release() to use rwsem_clear_owner(). We can either fold kernel/locking/rwsem.h into include/linux/rwsem.h, or add the non-inline percpu_rwsem_clear_owner(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> commit 9287f6925ad9d8fb8c6283066b4f77fd87f123a9 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 17:45:57 2015 +0200 percpu-rwsem: introduce percpu_down_read_trylock() Add percpu_down_read_trylock(), it will have the user soon. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> commit 0e28e01f1e73015d8e1b8fa1cda071d0bd9a2600 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Aug 11 16:28:29 2015 +0200 document rwsem_release() in sb_wait_write() Not only we need to avoid the warning from lockdep_sys_exit(), the caller of freeze_super() can never release this lock. Another thread can do this, so there is another reason for rwsem_release(). Plus the comment should explain why we have to fool lockdep. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit f4b554af9931585174d4913b482eacab75858964 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Jul 20 00:50:55 2015 +0200 fix the broken lockdep logic in __sb_start_write() 1. wait_event(frozen < level) without rwsem_acquire_read() is just wrong from lockdep perspective. If we are going to deadlock because the caller is buggy, lockdep can't detect this problem. 2. __sb_start_write() can race with thaw_super() + freeze_super(), and after "goto retry" the 2nd acquire_freeze_lock() is wrong. 3. The "tell lockdep we are doing trylock" hack doesn't look nice. I think this is correct, but this logic should be more explicit. Yes, the recursive read_lock() is fine if we hold the lock on a higher level. But we do not need to fool lockdep. If we can not deadlock in this case then try-lock must not fail and we can use use wait == F throughout this code. Note: as Dave Chinner explains, the "trylock" hack and the fat comment can be probably removed. But this needs a separate change and it will be trivial: just kill __sb_start_write() and rename do_sb_start_write() back to __sb_start_write(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit bee9182d955227f01ff3b80c4cb6acca9bb40b11 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Jul 19 23:48:20 2015 +0200 introduce __sb_writers_{acquired,release}() helpers Preparation to hide the sb->s_writers internals from xfs and btrfs. Add 2 trivial define's they can use rather than play with ->s_writers directly. No changes in btrfs/transaction.o and xfs/xfs_aops.o. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit 93dee8eea02aefebe2d21128b5f742afe6671f23 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 20:28:32 2015 -0700 staging: wilc1000: remove WILC_TimerCreate() It was just a wrapper around setup_timer() and could never fail, so just call the real function, and fix up the function arguments of the callbacks to be proper timer callback functions. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4183e9794c751c5139e4599a0c512c7804575a82 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 20:11:16 2015 -0700 staging: wilc1000: remove WILC_TimerDestroy() It was just a wrapper around del_timer_sync() so call that instead. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8972d0fe41e1869b0c7f4c164ea7bffc073dd6b8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 20:04:13 2015 -0700 staging: wilc1000: remove WILC_TimerStop() It was just a wrapper around del_timer() so call that instead. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 334e1a5777290e118abcbb5aa5488c55961609b6 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 20:00:01 2015 -0700 staging: wilc1000: remove tstrWILC_TimerAttrs typedef It was not used for anything, so remove it, and the variables in wilc_timer.c that were being passed of its type. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da711eb68e6f91b271a465cbcef3e96759840148 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:46:06 2015 -0700 staging: wilc1000: remove WILC_TimerHandle typedef Use the proper structure (struct timer_list) instead, which makes things much more readable. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80e29c7a8045005e1a146d86aa4e4a8cce13688c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:42:23 2015 -0700 staging: wilc1000: remove WILC_Sleep() It was just a wrapper around usleep_range() so call that directly instead and remove the now-empty file. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb7b1a76aad831d2c92998de928fdd8d987e00f8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:34:43 2015 -0700 staging: wilc1000: remove commented out WILC_Sleep calls It's not being called, so delete these lines. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e5f206c00f73f535c914eedc8b91f424c5a14ab Merge: 0e38c35 fda4d57 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Sat Aug 15 13:29:57 2015 +1000 Merge branch 'next' of git://git.infradead.org/users/pcmoore/selinux into next commit 601e4576594543200bde9201e4d23242e73a778b Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Thu Aug 13 15:10:19 2015 +0200 ASoC: ssm2518: Add explicit device tree support Add OF match table to SSM2518 to allow direct matching without going through I2C subsystem. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e235727173626edf87c63b415d0363b411da299e Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:51 2015 +0100 staging: vt6655: Replace typedef struct tagSTxDesc Replace with struct vnt_tx_desc with all members the same. volatile is removed from pointers as this generates warning message. Only the first four members of vnt_tx_desc need to be volatile. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 543828599afc9cdd9012e363c7393e5ed102aa2a Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:50 2015 +0100 staging: vt6655: replace typedef struct tagDEVICE_TD_INFO and structure Create struct vnt_td_info with members mic_hdr skb buf buf_dma dwReqCount -> req_count byFlags -> flags In struct tagSTxDesc volatile is removed because it will generate a warning (in any case this member is not) and renaming td_info. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a0989bb6cacb1f40273d4c397ea91cabe73bad8 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:49 2015 +0100 staging: vt6655: struct tagDEVICE_TD_INFO remove dwHeaderLength dwHeaderLength is assigned a value but that is never used. Remove variable. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 531a9c524a54b7d232b6bf6631c460450dd41dbf Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:48 2015 +0100 staging: vt6655: struct tagDEVICE_TD_INFO resize dwReqCount. dwReqCount is no bigger than u16 Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cc8eac99c98000a414f916c1c58dab22c29474d Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:47 2015 +0100 staging: vt6655: replaced typedef struct tagTDES1 Create struct vnt_tdes1 that replaces members wReqCount -> req_count byTCR -> tcr byReserved -> reserved Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5235ff6a1df6fb0883f1a9020ab36e0db1c68064 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:46 2015 +0100 staging: vt6655: desc.h replace typedef struct tagTDES0 create struct vnt_tdes0 replacing used members byTSR0 -> tsr0 byTSR1 -> tsr1 f1Owner -> owner Narrowing endian differences to inside structure. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36a24b4eb60eb8644394e319b2e5afc32be8c3a1 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:26:20 2015 -0700 staging: wilc1000: delete wilc_type.h The .h file isn't needed at all, so just remove it. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6d9e0cb142bdae60872a9be392ed8b6e5dde243 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:19:19 2015 -0700 staging: wilc1000: remove WILC_MemoryFree It's no longer needed, so remove the empty wrapper function. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 969effe9dcdccab865c7f57790f647ebc59df457 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:15:34 2015 -0700 staging: wilc1000: remove WILC_FREE_IF_TRUE macro Just use kfree, as that's all it resolves itself to. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc6c16df806f3c263b7cde7d6961d80415f9aba8 Author: Yash Shah <yshah1@xxxxxxxxxxx> Date: Fri Aug 14 06:06:13 2015 +0000 Staging: sm750fb: Fix "foo* bar" should be "foo *bar" errors Fix "foo* bar" should be "foo *bar" errors as detected by checkpatch.pl Signed-off-by: Yash Shah <yshah1@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1126b1d0d7c0daf48f50e566c498912b31c459f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 14 21:57:51 2015 +0530 staging: rtl8188eu: fix possible NULL dereference dm_odm was being checked for NULL after dereferencing it. Lets check for NULL first before derefenrencing it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b05df556e01f846fd67f8888add9919af55f35c Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 13 13:41:21 2015 +0900 staging: wilc1000: clarify the argument type This patch replaces the void pointer type in the host interface functions which process the message from host thread by the real data type, tstrWILC_WFIDrv because the void pointer type as the arguments is not clear and concise. In addition, typecasting to the void pointer type is removed becasue it is not necessary. Signed-off-by: Johnny Kim <johnny.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11f58c88ddf8613dde976e0fe18afecefaf04195 Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 13 13:41:20 2015 +0900 staging: wilc1000: change void pointer type to real type This patch changes the void pointer member of the tstrHostIFmsg to the real data type because the void pointer type is ambiguous and not readable. Signed-off-by: Johnny Kim <johnny.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 218dc407d4b275a6f96311ff8c4b70dd998fcf24 Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 13 13:41:19 2015 +0900 staging: wilc1000: replace WILC_WFIDrvHandle by tstrWILC_WFIDrv The structure, WILC_WFIDrvHandle is used to save the pointer address for the driver handler which is used throughout the driver but it's not easy to understand what it means. In addition, it doesn't support the 64 bit machine and also causes the warnings for the 64 bit build. This patch replaces the WILC_WFIDrvHandle by the tstrWILC_WFIDrv because the tstrWILC_WFIDrv is real structure to represent the driver handler and reduces the 64 bit compile warnings. Also, typecasting to WILC_WFIDrvHandle is not needed by using tstrWILC_WFIDrv as is. Signed-off-by: Johnny Kim <johnny.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 598f85bfaeeaac0272c8e79f314076e48d445bcf Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Aug 11 10:32:42 2015 +0900 staging: wilc1000: remove WILC_FREE Remove WILC_FREE that is replaced by kfree. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49188af27211b218fffacb26df5e96bf4b7e616c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Aug 11 10:32:41 2015 +0900 staging: wilc1000: use kfree instead of WILC_FREE Use kfree instead of WILC_FREE. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b45891aef5904c2a1e76881f3b44fe646d84b54 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Aug 11 10:32:40 2015 +0900 staging: wilc1000: remove unused memory functions This patch remove unused memory functions because some macros with this memory function are deleted. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96ac283d6490932ff5097259c18a4d03bdddb010 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Aug 11 10:32:39 2015 +0900 staging: wilc1000: wilc_memory.h: remove unused define Remove unused define macro that is never used. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a447f4c732e1eca3232effb354e1b18ae38215d Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Fri Aug 14 13:08:32 2015 -0400 Staging: gdm72xx: usb_ids: fix a macro coding style error Fix a macro with complex value coding style error. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 435009bba4d0449b611bc24ae5c9636ac5b2a00e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Aug 12 21:54:49 2015 +0200 staging: rtl8192e: Fix log spamming in rtl8192_hard_data_xmit This patch fixes issue generated by commit ca93dcba3a92 ("staging: rtl8192e: Remove assert() macro") One negation was missed in conversion, therefore asserted message was always printed. For 1MB file downloaded via http, ~500 messages were generated. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bda9e24909b58c90adb4dd03663d250a5c872fb8 Author: Junsu Shin <jjunes0@xxxxxxxxx> Date: Tue Aug 11 17:44:56 2015 -0500 staging: vme: devices: add spaces around '-' This is a patch to the vme_pio2_core.c that adds spaces around '-'. Signed-off-by: Junsu Shin <jjunes0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8f401f9e751eb5d1f6e9f66e45c84e390bc75bb Author: Junsu Shin <jjunes0@xxxxxxxxx> Date: Tue Aug 11 17:07:14 2015 -0500 staging: vme: devices: fix NULL comparison style This is a patch to vme_pio2_core.c that fixes up the NULL comparison style. Signed-off-by: Junsu Shin <jjunes0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c37e7445700fd49a0b86db86b5f2c20bc963fd5 Author: Junsu Shin <jjunes0@xxxxxxxxx> Date: Tue Aug 11 16:36:05 2015 -0500 staging: vme: devices: remove blank line after open brace This is a patch to the vme_pio2_core.c that removes blank line after open brace '{'. Signed-off-by: Junsu Shin <jjunes0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5f0a90e60643fa63fffa88828c5552f3902a5bf Author: Junsu Shin <jjunes0@xxxxxxxxx> Date: Tue Aug 11 15:02:07 2015 -0500 staging: vme: devices: remove multiple blank lines This is a patch to vm2_pio2_core.c that removes multiple blanks lines. Signed-off-by: Junsu Shin <jjunes0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf7281c9ae9a5f0435630f8e972bb4c6204565bc Author: MichaÅ? KÄ?pieÅ? <kernel@xxxxxxxxxx> Date: Tue Aug 11 14:07:00 2015 +0200 staging: unisys: make visorbus_dev_groups static visorbus_dev_groups is not referenced outside visorbus_main.c, so it can be declared static. Found using sparse. Signed-off-by: MichaÅ? KÄ?pieÅ? <kernel@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 110a66be3a26fe05318121412e3c36f7f1e80a12 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Mon Aug 10 18:34:10 2015 -0400 drivers: staging: unisys: add MODULE_DEVICE_TABLE and temporary MODULE_ALIAS lines to visornic This patch adds an module alias and a MODULE_DEVICE_TABLE to autoload the visornic driver when an appropriate device is created by the visorbus. Note, the correct way of fixing this is adding functionality to scripts/mod/file2alias.c for the visorbus bus type. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit beb12167080146c8cbaa204daae52b102c066166 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:30 2015 -0700 staging: rtl8192u: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec9a0ffa494c7f9c6dbffea7f073ec72a77f1cdb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:23 2015 -0700 staging: mt29f_spinand: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35bb99bf6579f04981830d3275dcffd8b2b17edb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:17 2015 -0700 staging: dgnc: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd8c5cb5ac30f26902b130f46e1180c18f006b2a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:19 2015 -0700 staging: ft1000: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignment Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3ff291009c21ff1276a6470325ff6a5149c3b5f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:33 2015 -0700 staging: wilc1000: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee233d3e19d7a5624e872710b1a6f629a0e8ef4f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:29 2015 -0700 staging: rtl8192e: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebea63f66388e4bad2bce39cd12e5b77dc08c1a9 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:28 2015 -0700 staging: rtl8188eu: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddc9bceb4c128aeec8107df816df1ceba4c68f8b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:25 2015 -0700 staging: nvec: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd951ddc2d70e67ee0fc48181bedc27a9515ba78 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:18 2015 -0700 staging: fbtft: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b239904d8f2bfa09956b1ac95009136e452f0923 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:26 2015 -0700 staging: octeon: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5ee4695ec03ce8f7c236f568dc99b5366af1ce8 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:31 2015 -0700 staging: rtl8712: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e075de610913d43d9d4682888cbee7856217103a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:34 2015 -0700 staging: xgifb: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f157d807b9fe44afa19e476b52d791a7377d9ad2 Author: Ioan-Adrian Ratiu <adi@xxxxxxxxxx> Date: Fri Aug 14 12:57:06 2015 +0300 staging: lustre: ptlrpc: add missing include directive Without including ptlrpc_internal.h, GCC gives prototype warnings "pack_generic.c:642:5: warning: no previous prototype for ..." and sparse also complains "pack_generic.c:642:5: warning: symbol 'lustre_unpack_req_ptlrpc_body' was not declared. ..." Signed-off-by: Ioan-Adrian Ratiu <adi@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94a99b46116e82aee359265a1ce48ebffe37a479 Author: Swee Hua Law <sweehua81@xxxxxxxxx> Date: Tue Aug 11 21:32:29 2015 +0800 staging: lustre: Do not init global to NULL Remove "= NULL" in global variable Signed-off-by: Swee Hua Law <sweehua81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8150a97fdd095d0468fe75d0d5ce4c9e0cbaf3a3 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:21 2015 -0700 staging: lustre: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 049fbd9fcc848b667d9658618a4c09c706410813 Author: Swee Hua Law <sweehua81@xxxxxxxxx> Date: Mon Aug 10 21:54:18 2015 +0800 staging: lustre: checkpatch: argument alignment for readability Fix checkpatch problem: move last argument of the hlist..() back to same line Signed-off-by: Swee Hua Law <sweehua81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa62a8415e77c7c46be483cba7b650e1748dcb44 Author: Swee Hua Law <sweehua81@xxxxxxxxx> Date: Mon Aug 10 21:54:17 2015 +0800 staging: lustre: checkpatch: move */ block comment to next line Fix checkpatch problem: move */ from end of line to new line Signed-off-by: Swee Hua Law <sweehua81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcffa060c1dfda25dc8a5b1244330de939550f10 Author: Swee Hua Law <sweehua81@xxxxxxxxx> Date: Mon Aug 10 21:54:16 2015 +0800 staging: lustre: checkpatch: symbol == NULL should be !symbol Fix checkpatch problem: change == NULL comparison to !symbol Signed-off-by: Swee Hua Law <sweehua81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b680a81814cebeafe7e01495d064188a3f2fa2f Author: Swee Hua Law <sweehua81@xxxxxxxxx> Date: Mon Aug 10 21:54:15 2015 +0800 staging: lustre: checkpatch: do not init global to NULL Fix checkpatch problem: remove NULL assignment fro global variable Signed-off-by: Swee Hua Law <sweehua81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8365826553dc5f3d0cd4e05211b752a6f951fc8 Author: Patrick Boettcher <patrick.boettcher@xxxxxxxxx> Date: Mon Aug 10 10:25:09 2015 +0200 staging: lustre-libcfs: make static-variable constant This static can be made constant as it is never modified. Found during sparse-cleanup. Signed-off-by: Patrick Boettcher <patrick.boettcher@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25bbe418f89bec661bcc0dfebcacd6705ed79de6 Author: Patrick Boettcher <patrick.boettcher@xxxxxxxxx> Date: Mon Aug 10 10:25:08 2015 +0200 staging: lustre-libcfs: fix sparse warning Fix sparse warnings of the following type: warning: symbol '....' was not declared. Should it be static? Signed-off-by: Patrick Boettcher <patrick.boettcher@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0df4e3e9bbf8968d5ff079b0ace3de9c0b971021 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Aug 10 13:30:35 2015 +0530 Staging: unisys: Remove useless cast on void pointer void pointers do not need to be cast to other pointer types. The semantic patch used to find this: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94858feccaada3f1810ff50dd21d33b1d4d95d56 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Aug 10 13:30:34 2015 +0530 Staging: lustre: libcfs: Remove unnecessary cast on void* This patch does away with the cast on void * as it is unnecessary. Semantic patch used is as follows: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (void *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 642ac6c0dceb6292065d08925e6ffd6ef1fbc7e1 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Aug 10 13:30:33 2015 +0530 Staging: wilc1000: Remove null check before kfree kfree on NULL pointer is a no-op. This patch uses the following semantic patch to find such an instance where NULL check is present before kfree. // <smpl> @@ expression E; @@ - if (E != NULL) { kfree(E); } + kfree(E); @@ expression E; @@ - if (E != NULL) { kfree(E); E = NULL; } + kfree(E); + E = NULL; // </smpl>smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 772a6e1fff9a8c942e982598632cfc41451e2e9a Author: Jacob Kiefer <jtk54@xxxxxxxxxxx> Date: Sun Aug 9 15:20:28 2015 -0400 staging: rtl8723au: Fix Sparse errors in rtw_security.c This patch fixes the following sparse errors: CHECK drivers/staging/rtl8723au/core/rtw_security.c drivers/staging/rtl8723au/core/rtw_security.c:189:39: \ warning: incorrect type in assignment (different base types) drivers/staging/rtl8723au/core/rtw_security.c:189:39: \ expected unsigned int [unsigned] [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:189:39: \ got restricted __le32 [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:197:39: \ warning: incorrect type in assignment (different base types) drivers/staging/rtl8723au/core/rtw_security.c:197:39: \ expected unsigned int [unsigned] [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:197:39: \ got restricted __le32 [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:682:39: \ warning: incorrect type in assignment (different base types) drivers/staging/rtl8723au/core/rtw_security.c:682:39: \ expected unsigned int [unsigned] [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:682:39: \ got restricted __le32 [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:694:39: \ warning: incorrect type in assignment (different base types) drivers/staging/rtl8723au/core/rtw_security.c:694:39: \ expected unsigned int [unsigned] [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:694:39: \ got restricted __le32 [usertype] <noident> Signed-off-by: Jacob Kiefer <jtk54@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 071c19e73b605086a26d83ff911cdc6e6af0b3b8 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:22 2015 +0900 staging: wilc1000: remove wilc_strutils.c and wilc_strutils.h Remove wilc_strutils.c and wilc_strutils.h that are not needed. wilc_strutils.o is also removed in Makefile. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9504f96492f477b20b97ec92d480f646b7e7a488 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:21 2015 +0900 staging: wilc1000: remove WILC_memcpy_INTERNAL Remove WILC_memcpy_INTERNAL that is used in the WILC_memcpy because WILC_memcpy is replaced by memcpy. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f78d5f809ee248bea66fad9fa14fe62b8aec57af Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:20 2015 +0900 staging: wilc1000: remove WILC_memcpy function Remove WILC_memcpy function that is changed to memcpy. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d00d2ba33351007c752ed0e95adaa0d7728ec1b8 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:19 2015 +0900 staging: wilc1000: use memcpy instead of WILC_memcpy Use memcpy instead of WILC_memcpy that is a custom function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31126a478fcc9020234d45576b432e7789081e0d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:18 2015 +0900 staging: wilc1000: remove WILC_strncmp function Remove WILC_strncmp function that is changed to strncmp. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f882895c717ec107820d7a53919110af702652d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:17 2015 +0900 staging: wilc1000: use strncmp instead of WILC_strncmp Use strncmp instead of WILC_strncmp. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24e326ea2946863ea79d3b3af29815f5d49092b0 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:16 2015 +0900 staging: wilc1000: remove WILC_strncpy function Remove WILC_strncpy function that is changed to strncpy. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85b509f18a7f27d6cc296d62e96e4632c83161fd Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:15 2015 +0900 staging: wilc1000: Use strncpy instead of WILC_strncpy Use strncpy instead of WILC_strncpy that is a custom function Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1799cb6188beeff1b36c8968f942e9a15759b773 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:14 2015 +0900 staging: wilc1000: remove WILC_strlen function Remove WILC_strlen function that is changed to strlen. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff96dfb5b1739c84587be23f113078850a0cef4c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:13 2015 +0900 staging: wilc1000: use strlen instead of WILC_strlen Use strlen instead of WILC_strlen that is a custom function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d2b212f88c369b11fc7c791d02d915ad0121d58 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:12 2015 +0900 staging: wilc1000: remove commented code Remove commented code that is not used. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 358d577ce1a7c56c4300a5b773dbf98cf9c76ae2 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 14 11:54:05 2015 +0300 staging: comedi: me4000: use bitwise AND instead of logical This was supposed to bitwise AND but there is a typo. Fixes: 1a02387063fb ('staging: comedi: me4000: remove 'board' from me4000_ai_insn_read()') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad83dbd974feb2e2a8cc071a1d28782bd4d2c70e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 11 13:05:10 2015 +0100 staging: comedi: adl_pci7x3x: fix digital output on PCI-7230 The "adl_pci7x3x" driver replaced the "adl_pci7230" and "adl_pci7432" drivers in commits 8f567c373c4b ("staging: comedi: new adl_pci7x3x driver") and 657f77d173d3 ("staging: comedi: remove adl_pci7230 and adl_pci7432 drivers"). Although the new driver code agrees with the user manuals for the respective boards, digital outputs stopped working on the PCI-7230. This has 16 digital output channels and the previous adl_pci7230 driver shifted the 16 bit output state left by 16 bits before writing to the hardware register. The new adl_pci7x3x driver doesn't do that. Fix it in `adl_pci7x3x_do_insn_bits()` by checking for the special case of the subdevice having only 16 channels and duplicating the 16 bit output state into both halves of the 32-bit register. That should work both for what the board actually does and for what the user manual says it should do. Fixes: 8f567c373c4b ("staging: comedi: new adl_pci7x3x driver") Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.13+, needs backporting for 3.7 to 3.12 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c38d03ea9b7b92f958ce6b3c2337413227bcb6b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:50 2015 -0700 staging: comedi: hwdrv_apci3501: remove "magic" numbers in apci3501_read_insn_timer() Use register bit defines from addi_tcw.h to remove the "magic" numbers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d5e03079de3332b9c3dbb5be24631502d0d676b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:49 2015 -0700 staging: comedi: hwdrv_apci3501: remove "magic" numbers in apci3501_write_insn_timer() Use register bit defines from addi_tcw.h to remove the "magic" numbers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dc68e350460c4c1620f79f23be70739845994ff Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:48 2015 -0700 staging: comedi: hwdrv_apci3501: remove "magic" numbers in apci3501_config_insn_timer() Use register bit defines from addi_tcw.h to remove the "magic" numbers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 020e05e74d49fc4c5cecee1b779247ec8a243b1f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:47 2015 -0700 staging: comedi: addi_apci_3501: remove "magic" numbers in apci3501_interrupt() Use register bit defines from addi_tcw.h to remove the "magic" numbers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd5d0ae4814f4f943c97c83f7f2f393a99b4d3a0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:46 2015 -0700 staging: comedi: addi_apci_3501: use addi_tcw.h for the timer registers The APCI3501_TIMER_* register defines in this driver are that same as the ADDI_TCW_* defines with an additional offset. Add a 'tcw' (timer/counter/watchdog) member to the private data to hold the address for the iobase of the registers. Use that and the defines from addi_tcw.h to address the registers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f821bf57a41f4aaab5c3306fd81e729208ca1404 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:45 2015 -0700 staging: comedi: addi_apci_3501: rename CamelCase vars in apci3501_interrupt() Rename the CamelCase local variables. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63316aae9102a3f7d0d94e32a43dad3b7b752cfe Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:44 2015 -0700 staging: comedi: addi_apci_3501: prefer using the BIT macro Change the register bit defines to use the BIT macro. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd07fbf27b91c3c71812528ce39f9043ee1352e3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:43 2015 -0700 staging: comedi: addi_apci_3501: rename private data 'i_IobaseAmcc' Rename this CamelCase member of the private data. Also, fix the type of the member, it holds a pci_resource_start() address and should be an unsigned long. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c85c26b8d0242da14732312dd99a8595d7a46e2c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:42 2015 -0700 staging: comedi: hwdrv_apci3501: refactor apci3501_config_insn_timer() The handling for the watchdog and timer modes is very similar. Refactor this function to use a common code path for both modes. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bde879ae6ef93cdaa927d1637995256277844239 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:41 2015 -0700 staging: comedi: hwdrv_apci3501: rename 'ul_Command1' in apci3501_config_insn_timer() Rename this CamelCase local variable. For aesthetics, split the mask/set operations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7f909e09fd0cc22499913933c9caee3000423e3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:40 2015 -0700 staging: comedi: hwdrv_apci3501: refactor apci3501_read_insn_timer() The handling of the ADDIDATA_WATCHDOG and ADDIDATA_TIMER is identical. Refactor this function to use a common code path for both timer modes. Remove the incorrect dev_err() noise. The subdevice is valid but the timer_mode is not supported. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 626bb280d0516c7b4adee50cdd2b8ea377183f46 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:39 2015 -0700 staging: comedi: hwdrv_apci3501: refactor apci3501_write_insn_timer() The handling of the ADDIDATA_WATCHDOG and ADDIDATA_TIMER is identical except for the "stop" operation. Refactor this function to use a common code path for both timer modes. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e078d25639c0f8a5d97c879e276a2eba877dce62 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:38 2015 -0700 staging: comedi: hwdrv_apci3501: rename 'ul_Command1' in apci3501_write_insn_timer() Rename this CamelCase local variable. For aesthetics, split the mask/set operations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4434a99eaab2cb3b214201d05f396c940033a6fe Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:37 2015 -0700 staging: comedi: addi_apci_3501: rename private data 'b_TimerSelectMode' Rename this CamelCase member of the private data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a66f2017ec2daebfef9e7cdf4edeca7a362c7303 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:36 2015 -0700 staging: comedi: hwdrv_apci3501: remove useless read/mask to stop watchdog The watchdog is stopped in apci3501_write_insn_timer() by writing a 0 to the timer control register. There is no need to read the register first and mask it (as done when the timer is used as a timer). Reported-by: coverity (CID 1227052) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2be8ae5898af956560e9f722b327add05574a1f7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 13:13:59 2015 -0700 staging: comedi: comedi_fops: absorb comedi_free_board_minor() This function is only called by comedi_cleanup_board_minors() and the 'minor' parameter will always be < COMEDI_NUM_BOARD_MINORS. For aesthetics, absorb the function and remove the unnecessary BUG_ON(). Split the comedi_clear_board_minor() out to clarify that the return value is a comedi_device pointer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4237a2b59432a6ebf73f813ad9e94ab408bb8f1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 13:14:00 2015 -0700 staging: comedi: comedi_fops: remove BUG_ON() in comedi_dev_get_from_board_minor() This function is only called by comedi_dev_get_from_minor() and the 'minor' value will always be < COMEDI_NUM_BOARD_MINORS. Remove the unnecessary BUG_ON(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5104a8988723b405c9e033b7e57267ebdd387d4d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 13:14:01 2015 -0700 staging: comedi: comedi_fops: remove BUG_ON() in comedi_free_subdevice_minor() Drivers should not crash the kernel. This function is only called by comedi_device_detach_cleanup() and the s->minor will always be valid or the device wouldn't have attached in the first place. Leave the checks for safety in accessing the comedi_subdevice_minor_table array but remove the BUG_ON() calls. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b3703f4cb763d57ab26f2ad262a30cc7f87093c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 13:14:02 2015 -0700 staging: comedi: comedi_fops: remove BUG_ON() in comedi_cleanup() The BUG_ON() checks in this function are not necessary. comedi_cleanup_board_minors() clears all the entries in the comedi_board_minor_table array and will call comedi_device_cleanup() for all attached devices. comedi_device_cleanup() will then clear the entries in the comedi_subdevice_minor_table array with comedi_free_subdevice_minor(). Remove the BUG_ON(), drivers should not crash the kernel. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bb6419ccf5b2548ade321d5337e9d3252a3d4a1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 13:14:03 2015 -0700 staging: comedi: comedi_fops: remove remaining BUG_ON() checks The BUG_ON() checks in comedi_subdevice_from_minor() and comedi_dev_get_from_subdevice_minor() are not necessary. The 'minor' numbers for a given comedi driver are setup by comedi_dev_get_from_subdevice_minor() and will always be in the correct range. Drivers should not crash the kernel, remove the BUG_ON() checks. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5babc1bc4d18f780200e3a794d2d553c6684554c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:14 2015 -0700 staging: comedi: hwdrv_apci1564: remove magic numbers in apci1564_counter_insn_read() Use the bit defines from addi_tcw.h to remove the magic numbers in this function. Add the missing define for ADDI_TCW_STATUS_HARDWARE_TRIG. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6288a3bebd8a59364f9ca9871f0fd2ac11963b4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:13 2015 -0700 staging: comedi: hwdrv_apci1564: tidy up apci1564_counter_insn_write() Clear the gate and trig bits in the common code path. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f5d767fab593659cbebc91197c3f182f6e0d84a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:12 2015 -0700 staging: comedi: hwdrv_apci1564: fix counter "mode" setting According to the (broken) original driver, data[4] passed to this function is the "timer mode". It appears the original code used the wrong shift to set the bits. Use the ADDI_TCW_CTRL_MODE() macro so that the correct bits get set. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 835f8fe9527b826d23b223fb5347ee2c3e670cee Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:11 2015 -0700 staging: comedi: hwdrv_apci1564: remove useless code in apci1564_counter_insn_config() The gate, trig, and ena, bits in the 'ctrl' are cleared at the start of the function. There is no reason clear these bits for each step. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18543b13fc99f0e90aead12ca9fc64145341278c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:10 2015 -0700 staging: comedi: hwdrv_apci1564: remove magic number in apci1564_timer_insn_read() Use the bit define from addi_tcw.h to remove the magic number. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a2d58c7f87bb5a92b4be9fd61af77baa2c832ba Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:09 2015 -0700 staging: comedi: hwdrv_apci1564: tidy up apci1564_timer_insn_write() Clear the gate and trig bits in the common code path. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9fca73c8014cbc971baa980c87caab8004b7c8c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:08 2015 -0700 staging: comedi: hwdrv_apci1564: use addi_tcw.h defines Use the ADDI_TCW_CTRL_REG bit defines in addi_tcw.h to remove the "magic" numbers. Add some missing bit defines and mask defines to addi_tcw.h to help cleanup the code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 836b8f2304a0363e98631f8cbccbe962d7dc23ab Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:07 2015 -0700 staging: comedi: addi_apci_1564: tidy up APCI1564_EEPROM_REG bit defines Use the BIT() macro to define the bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f750d15a1d8387605745c89c21cf46d4ddd4cd0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:06 2015 -0700 staging: comedi: addi_apci_1564: define the APCI1564_DI_IRQ_REG bits Define the bits in this register. Remove the old defines in hwdrv_apci1564.c. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbaa1490f989380b2e7a492d324441cc917628cb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:05 2015 -0700 staging: comedi: addi_apci_1564: define the APCI1564_DO_IRQ_REG bits Define the bits in this register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa1219e03e73fb1ebba87eeb2aa1edbea518622d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:04 2015 -0700 staging: comedi: addi_apci_1564: define the APCI1564_DO_INT_STATUS_REG bits Define the bits in this register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59c8f0dd76ac1358086ac79e177791683b1823d0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:03 2015 -0700 staging: comedi: addi_apci_1564: define the APCI1564_DO_INT_CTRL_REG bits Define the bits in this register. Remove the old defines in hwdrv_apci1564.c. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5387751c34a6a02d715e4885239a05563a418b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:02 2015 -0700 staging: comedi: hwdrv_apci1564: remove unused defines These defines are not used. Remove them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2afc5d49d03ffcd36ef5a50a52709539911ceb00 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:01 2015 -0700 staging: comedi: addi_tcw.h: prefer using the BIT macro Use the BIT macro to define the register bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13d825edd4441dd3453de58d1bd2ade44d5ad2ab Author: Aleksei Fedotov <lexa@xxxxxxxxx> Date: Fri Aug 14 22:34:37 2015 +0300 staging: speakup: Fix warning reported by checkpatch This patch fixes the checkpatch.pl warnings: WARNING: Block comments use a trailing */ on a separate line WARNING: Block comments use * on subsequent lines Signed-off-by: Aleksey Fedotov <lexa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad9f92d2700d19cd680dbfdb5da3859d10f534d1 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:32 2015 -0700 staging: speakup: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4fde76b1667e86bf016f33c3ada33332e586b0d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:27 2015 -0700 staging: olpc_dcon: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7f2c183043a79e1c6115c69314e3d0d2c5e061f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:24 2015 -0700 staging: netlogic: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0f621ca7bac142ecc0516f91ed1199d9c374ff8 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Aug 12 21:08:50 2015 +0300 staging: android: update TODO - remove "make sure things build as modules properly" - remove kuid_t related remarks, they were relevant for logger, but it is gone half year ago - remove dead e-mail address of Brian Swetland - add e-mail addresses of Arve HjønnevÃ¥g and Riley Andrews Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d30649a8b61843bed98f772954e490b75cae2713 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:16 2015 -0700 staging: android: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c71e16ef7a2b4c5251cef74b1065fbb76bb14d09 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Aug 11 13:20:53 2015 +0300 Staging: iio: trigger: Use braces on both branches of if statement Fix style issue related to missing braces, detected by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f3403ac2cdd7d76c531c5b3cf16b05d7a554f18 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Aug 11 13:18:18 2015 +0300 Staging: iio: trigger: Alignment should match open parenthesis Fix alignment for function parameters as suggested by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d98d2ccb4ceb4f28408299d1cc3846ab6be7ec52 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:20 2015 -0700 staging: iio: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5132fcd1fb55eddf04c7a06ede75723d7870b797 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Fri Aug 14 12:18:04 2015 +0200 Staging: most: aim-cdev/cdev.c. Fix "missing static keyword" warnings This is a patch to the most/aim_cdev.c file. It makes several local functions and structures static to prevent global visibility. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23fe15fadf708c562140cd99e4dfd400afc5db8a Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Fri Aug 14 12:18:02 2015 +0200 Staging: most: hdm-usb/hdm_usb.c. Fix "missing static keyword" warnings This is a patch to the most/hdm-usb/hdm_usb.c file. It makes several local functions and structures static to prevent global visibility. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04ca58372c5e4922d7463450ffdb5cdc3d0dd596 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Fri Aug 14 12:18:01 2015 +0200 Staging: most: mostcore/core.c. Fix "Using plain integer as NULL pointer" warnings This patch fixes the warning generated by sparse: "Using plain integer as NULL pointer" by replacing the pointer test against 0 with a logical test. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c942ea7a377edfde7a154f2edd8fde7cfea24de1 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Fri Aug 14 12:18:00 2015 +0200 Staging: most: mostcore/core.c. Fix "missing static keyword" warnings This is a patch to the mostcore/core.c file. It makes several local functions and structures static to prevent global visibility. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddb98ce16158cb979f025eb73eaa44dce4cb1b36 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:22 2015 -0700 staging: most: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 910bf1efe6f7f74b10e918768ddea3ad8b863f8b Author: Tomas Melin <tomas.melin@xxxxxx> Date: Sun Aug 9 17:08:41 2015 +0300 staging/most: fix return value for DIM_GetChannelState Return NULL instead of 0 for invalid input. Signed-off-by: Tomas Melin <tomas.melin@xxxxxx> Acked-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad88aae057b9f952f1cbd2f5df8325b95ba7bb75 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Aug 8 20:09:06 2015 -0400 staging/lustre/llite: get rid of unused ll_super_blocks list ll_super_blocks became unused quite a while ago with switch to the new CLIO code. So this patch removes the list, ll_sb_lock spinlock that guards it and superblock info ll_list linkage. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d38c59e9ab203427f14ab6691529bac098adbacd Author: Abhilash Jindal <klock.android@xxxxxxxxx> Date: Tue Aug 11 10:31:53 2015 -0400 staging: comedi: serial2002: Use monotonic clock Wall time obtained from do_gettimeofday is susceptible to sudden jumps due to user setting the time or due to NTP. Monotonic time is constantly increasing time better suited for comparing two timestamps. Signed-off-by: Abhilash Jindal <klock.android@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 365741e6a6ab7f31ff885c26dd173d9590d1e8ca Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 10:28:08 2015 -0700 staging: comedi: ni_usb6501: fix possible out-of-bounds access Coverity reports a possible Out-of-bounds access (ARRAY_VS_SINGLETON) with the 'const u8 *port' parameter passed to ni6501_port_command(). This param is an actual array for the SET_PORT_DIR operation, called by ni6501_dio_insn_config(). But for the WRITE_PORT and READ_PORT operations, called by ni6501_dio_insn_bits(), it is just the address of an u8 local variable. Fix the coverity issue by changing the parameter to an unsigned int and pass the raw values from ni6501_dio_insn_config() and ni6501_dio_insn_bits(). ni6501_port_command() then handles the masking and shifting needed to load the value into the u8 transmit buffer. For consistency, change the access of the 'bitmap' parameter from an array access to a pointer operation. Reported-by: coverity (CID 1248624) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92f26189b181a65fcb1ff6220a4bf45d44502e4a Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Aug 13 19:06:05 2015 +0530 auxdisplay: ks0108: initialize local parport variable The local variable ks0108_parport is used by other functions to write to the parallel port. We missed initializing it when we converted the driver to use new Parallel Port codes. Fixes: 4edd70c133f3 ("auxdisplay: ks0108: use new parport device model") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c868cbb7e5c6d3c74b8d38c7c356444f2c807c28 Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Tue Aug 11 10:21:23 2015 -0700 serial: imx: save and restore context in the suspend path This change teaches the imx serial driver to save its context and restore it across suspend and resume path. To do so, it introduces serial_imx_restore_context() and serial_imx_save_context() functions. They use a shadow set of registers to save key registers and restore them accordingly. These functions can be reused on other situations, when the device context is lost. Cc: Fabio Estevam <festevam@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc85734b126f813ba46265c2d3a84c8839cb2e54 Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Tue Aug 11 10:21:22 2015 -0700 serial: imx: allow waking up on RTSD This patch sets RTSDEN bit when going into idle (Stop mode). We add the RTSDEN for the case RTS is sent from the remote connection. This way we allow the system to wakeup when RTS is received. Cc: Fabio Stevam <festevam@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 189550b8644ef5d00d3b744f7fd423cce2d7c9ec Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Tue Aug 11 10:21:21 2015 -0700 serial: imx: introduce serial_imx_enable_wakeup() This change is a code reorganization. Here we introduce serial_imx_enable_wakeup() helper function to do the job of configuring and preparing wakeup sources on imx serial device. The idea is to allow other parts of the code to call this function whenever the device is known to go to idle. Cc: Fabio Estevam <festevam@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e7b399d6528eac33a6fbfceb2b92af209c3454d Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Tue Aug 11 10:21:20 2015 -0700 serial: imx: remove unbalanced clk_prepare The current code attempts to prepare clk_per and clk_ipg before using the device. However, the result is an extra prepare call on each clock. Here is the output of uart clocks (only uart enabled and used as console): $ grep uart /sys/kernel/debug/clk/clk_summary uart_serial 1 2 80000000 0 0 uart 1 2 66000000 0 0 This patch balances the calls of prepares. The result is: $ grep uart /sys/kernel/debug/clk/clk_summary uart_serial 1 1 80000000 0 0 uart 1 1 66000000 0 0 Cc: Fabio Estevam <festevam@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eafb9eea7622d765effb1a06f8cf5eb31fa018f6 Author: John Ogness <john.ogness@xxxxxxxxxxxxx> Date: Fri Aug 14 18:01:02 2015 +0200 serial: 8250: move rx_running out of the bitfield That bitfield is modified by read + or + write operation. If someone sets any of the other two bits it might render the lock useless. While at it, remove other bitfields as well to avoid more such errors. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: John Ogness <john.ogness@xxxxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 830acf9e3044d4644f91b4418ef35a2094089946 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Aug 14 17:52:07 2015 +0200 tty: serial: 8250_omap: do not use RX DMA if pause is not supported The 8250-omap driver requires the DMA-engine driver to support the pause command in order to properly turn off programmed RX transfer before the driver stars manually reading from the FIFO. The lacking support of the requirement has been discovered recently. In order to stay safe here we disable RX-DMA completly on probe. The rx_dma_broken assignment on probe could be removed once we working pause function in omap-dma. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbba3e6f7a1eb642cccf520f690d4a58b97a9588 Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Fri Aug 7 19:14:47 2015 +0800 serial:8250_dw: do not alter CTS and DCTS since AFE is enabled Since the serial core is informed that this device is doing automatic flow control, it is not necessary to alter CTS and DCTS of the MSR as the core no longer attempts stop the port in uart_handle_cts_change(). Signed-off-by: Huiquan Zhong <huiquan.zhong@xxxxxxxxx> Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b9a8508cb7f50d1880e2b8bb43615afd228f738 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Thu Aug 6 09:16:38 2015 +0200 tty: serial: men_z135_uart.c: Don't initialize port->lock port->lock get's initialized in uart_add_one_port(), no need to do it in men_z135_probe(). Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8117e347406278fd399b077add4e638cd017ae2d Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Thu Aug 6 09:16:37 2015 +0200 tty: serial: men_z135_uart.c: Fix race between IRQ and set_termios() Fix panic caused by a race between men_z135_intr() and men_z135_set_termios(). men_z135_intr() and men_z135_set_termios() both hold the struct uart_port::lock spinlock, but men_z135_intr() does a spin_lock_irqsave() and men_z135_set_termios() does a normal spin_lock(), which can lead to a deadlock when an interrupt is called while the lock is being helt by men_z135_set_termios(). This was discovered using a insmod, hardware looppback send/receive, rmmod stress test. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Andreas Werner <andreas.werner@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d7002777a8fe8188caaa98d4a8eb4ed298fcdae Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 2 23:15:05 2015 +0200 serial: 8250: bind to ALi Fast Infrared Controller (ALI5123) This way this device can be used with irtty-sir - at least on Toshiba Satellite A20-S103 it is not configured by default and needs PNP activation before it starts to respond on I/O ports. This device has actually its own driver (ali-ircc), but this driver seems to be non-functional for a very long time (see http://permalink.gmane.org/gmane.linux.irda.general/484 http://permalink.gmane.org/gmane.network.protocols.obex.openobex.user/943 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=535070 ). Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffa34de03bcfbfa88d8352942bc238bb48e94e2d Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 2 23:11:52 2015 +0200 serial: 8250: don't bind to SMSC IrCC IR port SMSC IrCC SIR/FIR port should not be bound to by (legacy) serial driver so its own driver (smsc-ircc2) can bind to it. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df57cf6a879502cd6e5559c1f2d6db12128e074f Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Tue Aug 11 11:46:01 2015 +0000 serial: mxs-auart: fix baud rate range Currently mxs-auart doesn't care correctly about the baud rate divisor. According to reference manual the baud rate divisor must be between 0x000000EC and 0x003FFFC0. So calculate the possible baud rate range and use it for uart_get_baud_rate(). Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17dc72cf3d8c6284cc34f29627f891268af07a55 Author: Juergen Borleis <jbe@xxxxxxxxxxxxxx> Date: Fri Aug 7 12:47:04 2015 +0200 serial: mxs-auart: keep the AUART unit in reset state when not in use Whenever the UART device driver gets closed from userland, the driver disables the UART unit and then stops the clocks to save power. The bit which disabled the UART unit is described as:  "UART Enable. If this bit is set to 1, the UART is enabled. Data transmission and reception occurs for the UART signals. When the UART is disabled in the middle of transmission or reception, it completes the current character before stopping." The important part is the "it completes the current character". Whenever a reception is ongoing when the UART gets disabled (including the clock off) the statemachine freezes and "remembers" this state on the next open() when re-enabling the unit's clock. In this case we end up receiving an additional bogus character immediately. The solution in this change is to switch the AUART unit into its reset state on close() and only release it from its reset state on the next open(). Note: when the unit is also used as system console it is always 'in use', so we cannot reset it on close(). Signed-off-by: Juergen Borleis <jbe@xxxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fa30ac3b9a9220fa953eeb6d21b9ca578c67885 Author: Juergen Borleis <jbe@xxxxxxxxxxxxxx> Date: Fri Aug 7 12:47:03 2015 +0200 serial: mxs-auart: use a function name to reflect what it really does This function clears the reset the AUART unit is in after system start to make it work. Signed-off-by: Juergen Borleis <jbe@xxxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17248569499eae54b314fb05c4ff19fd47c9e99b Author: Chase Metzger <chasemetzger15@xxxxxxxxx> Date: Tue Aug 11 21:34:37 2015 -0700 usb: core: hub: Removed some warnings generated by checkpatch.pl Removed some checkpatch.pl warnings saying there was an unwanted space between function names and their arguments. Signed-off-by: Chase Metzger <chasemetzger15@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4df92279fd9e01532f65e5ba397877799ed6252 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:23:12 2015 +0200 USB: host: ohci-at91: merge loops in ohci_hcd_at91_drv_probe ohci_hcd_at91_drv_probe() has four at91_for_each_port. They can be merged into two loops without changing the driver behaviour. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd73bfcd44c0bdcf6efa238e5b21bdbf0778d6ce Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:23:11 2015 +0200 USB: host: ohci-at91: merge ohci_at91_of_init in ohci_hcd_at91_drv_probe As device tree support is now mandatory, merge ohci_at91_of_init() in ohci_hcd_at91_drv_probe(). Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be12be546baa26a1eeb59b78e2a616cd946e850a Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:23:10 2015 +0200 USB: host: ohci-at91: depend on OF Make the driver depend on CONFIG_OF and remove the now useless #ifdef Also, fix the Kconfig indentation. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4f194706dd98d6de21c97eeb888a75abbf75174 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:23:09 2015 +0200 USB: host: ohci-at91: move at91_usbh_data definition in c file Move struct at91_usbh_data back in ohci-at91.c as this is the only user left after switching all at91 platforms to DT only. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cf1fc80655d3af7083ea4b3615e5f8532543be7 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:56 2015 +0200 usb: interface authorization: Use a flag for the default device authorization With this patch a flag instead of a variable is used for the default device authorization. Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ef2bf71764708f7c58ee9300acd8df05dbaa06f Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:55 2015 +0200 usb: interface authorization: Documentation part This part adds the documentation for the interface authorization. Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 187b3d75bbfba45a38b5d1d3656c0f11f6f6f2d0 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:54 2015 +0200 usb: interface authorization: SysFS part of USB interface authorization This introduces an attribute for each interface to authorize (1) or deauthorize (0) it: /sys/bus/usb/devices/INTERFACE/authorized Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef0909c50fe63be3f9aa09bdf4db7efaa5919be9 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:53 2015 +0200 usb: interface authorization: Introduces the USB interface authorization The kernel supports the device authorization because of wireless USB. These is usable for wired USB devices, too. These new interface authorization allows to enable or disable individual interfaces instead a whole device. If a deauthorized interface will be authorized so the driver probing must be triggered manually by writing INTERFACE to /sys/bus/usb/drivers_probe Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de7718bd9c4d3db96991a98c2a0cb38258a04e47 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:52 2015 +0200 usb: interface authorization: Control interface probing and claiming Driver probings and interface claims get rejected if an interface is not authorized. Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d958bef45030acfc5578263e9de3bb07032b8da Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:51 2015 +0200 usb: interface authorization: Introduces the default interface authorization Interfaces are allowed per default. This can disabled or enabled (again) by writing 0 or 1 to /sys/bus/usb/devices/usbX/interface_authorized_default Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 484ebaedecc5ddf778a30ee1efab367cbee27030 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:50 2015 +0200 usb: interface authorization: Declare authorized attribute The attribute authorized shows the authorization state for an interface. Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 088a3daeadf6f4123f54d5208b0ec7cbbfc8853f Author: Kris Borer <kborer@xxxxxxxxx> Date: Tue Aug 11 11:12:45 2015 -0400 usb: hub: remove assignment from if condition Fix one occurrence of the checkpatch.pl error: ERROR: do not use assignment in if condition The semantic patch that makes this change is: // <smpl> @@ identifier i; expression E, E2, E3; statement S1, S2; binary operator b; @@ + i = E; if ( - (i = E) + i b ... && E2 && E3 ) S1 else S2 // </smpl> Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3ec4fda072c72c8ed014b58a3a4dd54b2b454bd Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:29:33 2015 +0200 usb: gadget: atmel: remove useless include Definitions from linux/platform_data/atmel.h are not used, remove the include. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3290b1b818934a517a593159f39a3651dcf34518 Author: Kris Borer <kborer@xxxxxxxxx> Date: Mon Aug 10 09:13:15 2015 -0400 usb: endpoint: convert spaces to tabs Fix one occurrence of the checkpatch error: ERROR: code indent should use tabs where possible Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31b92d81e5d4574eb3d038642c7ba6ec66ea7db1 Author: Kris Borer <kborer@xxxxxxxxx> Date: Sun Aug 9 21:48:18 2015 -0400 usb: otg_whitelist: remove whitespace Fix one occurrence of the checkpatch error: ERROR: space prohibited before open square bracket '[' Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8786a91548df6930643a052e40e5c0b7a8403a5 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Thu Aug 6 14:51:27 2015 +0530 drivers: usb: fsl: Workaround for USB erratum-A005275 Incoming packets in high speed are randomly corrupted by h/w resulting in multiple errors. This workaround makes FS as default mode in all affected socs by disabling HS chirp signalling.This errata does not affect FS and LS mode. Forces all HS devices to connect in FS mode for all socs affected by this erratum: P3041 and P2041 rev 1.0 and 1.1 P5020 and P5010 rev 1.0 and 2.0 P5040, P1010 and T4240 rev 1.0 Signed-off-by: Ramneek Mehresh <ramneek.mehresh@xxxxxxxxxxxxx> Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d50f14805ec0f1cf50654e23559d1dcf81c68b26 Merge: 37a842d cfd093b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 16:45:51 2015 -0700 Merge tag 'phy-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next Kishon writes: phy: for 4.3 *) Add new NXP USB OTG PHY driver *) Add vbus/id detection, extcon support and fixes in phy-sun4i-usb driver *) Add support to use phy-sun4i-usb driver for sun8i-a23 and sun8i-a33 SoCs *) Other trivial code cleanups, dropping .owner assignment and constify phy_ops Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 37a842d36f63a047d94be2603d40d4407c949f1b Merge: a3fbedf 96625ea Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 16:43:09 2015 -0700 Merge tag 'usb-ci-v4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-next Peter writes: USB: chipidea updates for v4.3-rc1 The main changes are adding several system interfaces for tuning performance, and each vendors can adjust them according to their design configurations. Others are tiny improvements, like more well siTD supports, USB_DEVICE_A_HNP_SUPPORT supports, etc. commit a3fbedf98fe9909cb2e406e2018ec437d64806f6 Merge: e6bbe1d 2f3cc24 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 16:41:11 2015 -0700 Merge tag 'usb-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next Felipe writes: usb: patches for v4.3 merge window New support for Allwinne SoC on the MUSB driver has been added to the list of glue layers. MUSB also got support for building all DMA engines in one binary; this will be great for distros. DWC3 now has no trace of dev_dbg()/dev_vdbg() usage. We will rely solely on tracing to debug DWC3. There was also a fix for memory corruption with EP0 when maxpacket size transfers are > 512 bytes. Robert's EP capabilities flags is making EP selection a lot simpler. UDCs are now required to set these flags up when adding endpoints to the framework. Other than these, we have the usual set of miscelaneous cleanups and minor fixes. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4c278394b0feb7aadc538be12ab0474b106a7255 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Aug 11 16:01:30 2015 -0700 f2fs: avoid a build warning If F2FS_CHECK_FS is turned off, we can get a build warning for unused variable. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 8c14bfadeac2a01b305ef4434907295b81b58db2 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Aug 7 17:58:43 2015 +0800 f2fs: handle error of f2fs_iget correctly In recover_orphan_inode, whenever f2fs_iget fail, we will make kernel panic, but it's not reasonable, because f2fs_iget can fail due to a lot of reasons including out of memory. So we change error handling method as below: a) when finding no entry for the orphan inode, bug_on for catching bugs; b) for other reasons, report it to caller. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 47e70ca46f9074efe6573263c0de5bef0af829de Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Aug 11 10:17:27 2015 -0700 f2fs: do not assign a new segment for dio under space shortage If there is not enough free segment, we should not assign a new segment explicitly. Otherwise, we can run out of free segment. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4d283ec908e617fa28bcb06bce310206f0655d67 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Aug 13 13:18:48 2015 -0700 x86/kvm: Rename VMX's segment access rights defines VMX encodes access rights differently from LAR, and the latter is most likely what x86 people think of when they think of "access rights". Rename them to avoid confusion. Cc: kvm@xxxxxxxxxxxxxxx Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 657c63f0af2d0b44446c840cd42228ef1ebcdce4 Author: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Date: Fri Jun 19 14:03:42 2015 -0400 drm/msm/mdp5: release SMB (shared memory blocks) in various cases Release all blocks after the pipe is disabled, even when vsync didn't happen in some error cases. Allow requesting SMB multiple times before configuring to hardware, by releasing blocks not programmed to hardware yet for shrinking case. This fixes a potential leak of shared memory pool blocks. Signed-off-by: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Tested-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a9702ca23edae7b72dcff266a0c5ae56f6af0fa5 Author: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Date: Mon Jun 22 11:53:42 2015 -0400 drm/msm: change to uninterruptible wait in atomic commit The atomic commit cannot easily undo and return an error once the state is swapped. Change to uninterruptible wait, and ignore the timeout error. Signed-off-by: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 507d71b1fa91e2ea5887fcc347d5e71605e113f8 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jun 26 15:49:43 2015 +0530 drm/msm: mdp4: Fix drm_framebuffer dereference crash mdp4_get_frame_format() can dereference a drm_framebuffer when it's NULL. Call it in mdp4_plane_mode_set only when we know fb is non-NULL. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit bbcc71872a57cb4642c15423ae229aefdf09910a Author: Rob Clark <robdclark@xxxxxxxxx> Date: Thu Jul 23 13:44:56 2015 -0400 drm/msm: fix msm_gem_prime_get_sg_table() We need to return a new sgt, since the caller takes ownership of it. Reported-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 53cf037bf846417fd92dc92ddf97267f69b110f4 Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 30 23:45:26 2015 +0200 batman-adv: Fix potentially broken skb network header access The two commits noted below added calls to ip_hdr() and ipv6_hdr(). They need a correctly set skb network header. Unfortunately we cannot rely on the device drivers to set it for us. Therefore setting it in the beginning of the according ndo_start_xmit handler. Fixes: 1d8ab8d3c176 ("batman-adv: Modified forwarding behaviour for multicast packets") Fixes: ab49886e3da7 ("batman-adv: Add IPv4 link-local/IPv6-ll-all-nodes multicast support") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 3f1e08d0ae6746379b9e21264dae52f4f35c7ad2 Author: Simon Wunderlich <simon@xxxxxxxxxxxxx> Date: Wed Jun 24 14:50:20 2015 +0200 batman-adv: remove broadcast packets scheduled for purged outgoing if When an interface is purged, the broadcast packets scheduled for this interface should get purged as well. Signed-off-by: Simon Wunderlich <simon@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 1f155101646e6f6cda218534ff6e252ff625137b Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Mon Jun 22 00:36:28 2015 +0800 batman-adv: protect tt request from double deletion The list_del() calls were changed to list_del_init() to prevent an accidental double deletion in batadv_tt_req_node_new(). Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 8a4023c5b5e30b11f1f383186f4a7222b3b823cf Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 16 17:10:26 2015 +0200 batman-adv: Fix potential synchronization issues in mcast tvlv handler So far the mcast tvlv handler did not anticipate the processing of multiple incoming OGMs from the same originator at the same time. This can lead to various issues: * Broken refcounting: For instance two mcast handlers might both assume that an originator just got multicast capabilities and will together wrongly decrease mcast.num_disabled by two, potentially leading to an integer underflow. * Potential kernel panic on hlist_del_rcu(): Two mcast handlers might one after another try to do an hlist_del_rcu(&orig->mcast_want_all_*_node). The second one will cause memory corruption / crashes. (Reported by: Sven Eckelmann <sven@xxxxxxxxxxxxx>) Right in the beginning the code path makes assumptions about the current multicast related state of an originator and bases all updates on that. The easiest and least error prune way to fix the issues in this case is to serialize multiple mcast handler invocations with a spinlock. Fixes: 60432d756cf0 ("batman-adv: Announce new capability via multicast TVLV") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 9c936e3f4c4fad07abb6c082a89508b8f724c88f Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 16 17:10:25 2015 +0200 batman-adv: Make MCAST capability changes atomic Bitwise OR/AND assignments in C aren't guaranteed to be atomic. One OGM handler might undo the set/clear of a specific bit from another handler run in between. Fix this by using the atomic set_bit()/clear_bit()/test_bit() functions. Fixes: 60432d756cf0 ("batman-adv: Announce new capability via multicast TVLV") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit ac4eebd48461ec993e7cb614d5afe7df8c72e6b7 Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 16 17:10:24 2015 +0200 batman-adv: Make TT capability changes atomic Bitwise OR/AND assignments in C aren't guaranteed to be atomic. One OGM handler might undo the set/clear of a specific bit from another handler run in between. Fix this by using the atomic set_bit()/clear_bit()/test_bit() functions. Fixes: e17931d1a61d ("batman-adv: introduce capability initialization bitfield") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 4635469f5c617282f18c69643af36cd8c0acf707 Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 16 17:10:23 2015 +0200 batman-adv: Make NC capability changes atomic Bitwise OR/AND assignments in C aren't guaranteed to be atomic. One OGM handler might undo the set/clear of a specific bit from another handler run in between. Fix this by using the atomic set_bit()/clear_bit()/test_bit() functions. Fixes: 3f4841ffb336 ("batman-adv: tvlv - add network coding container") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 65d7d46050704bcdb8121ddbf4110bfbf2b38baa Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 16 17:10:22 2015 +0200 batman-adv: Make DAT capability changes atomic Bitwise OR/AND assignments in C aren't guaranteed to be atomic. One OGM handler might undo the set/clear of a specific bit from another handler run in between. Fix this by using the atomic set_bit()/clear_bit()/test_bit() functions. Fixes: 17cf0ea455f1 ("batman-adv: tvlv - add distributed arp table container") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 1a8e7fab70c8d7cad2e606e7b21d46e42e51c2fd Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Mon Aug 10 22:48:30 2015 +0800 ASoC: topology: Change pass number of DAI smaller than graph The PCM DAIs need to be loaded and added to ASoC core ealier than the graph (route). Otherwise, adding routes will fail for missing DAIs. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 708ab62bef1ed3a3cf065a4138bd87f5d083cfeb Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 10 23:07:08 2015 -0400 pmem: switch to devm_ allocations Signed-off-by: Christoph Hellwig <hch@xxxxxx> [djbw: tools/testing/nvdimm/ and memunmap_pmem support] Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 7d3dcf26a6559fa82af3f53e2c8b163cec95fdaf Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 10 23:07:07 2015 -0400 devres: add devm_memremap Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit a33ee95f8f456c241897a4b6153610b8488d009d Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Jul 21 17:01:19 2015 +0200 drm/bridge: Put Kconfig entries in a separate menu Put the Kconfig entries for bridge drivers into a separate menu so that they are automatically grouped and don't clutter up the top-level menu. While at it, move the bridge menu towards the end of the top-level menu where the panel menu is already located. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 58c467ece486e9bd1e26b4fd68e8cdef8501952d Author: Heiko Schocher <hs@xxxxxxx> Date: Tue Jun 9 07:51:22 2015 +0200 drm/panel: Add support for LG LG4573 480x800 4.3" panel The LG4573 is used on the LG LCD LB043WV2-SD01, an industrial 4.3" TFT panel with SPI control interface. Signed-off-by: Heiko Schocher <hs@xxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a99fb6269d1af432c051ed552aaea807f9f906c9 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 10 18:44:23 2015 +0200 drm/panel: Add display timing for Okaya RS800480T-7X0GP Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver. The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz. This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/ Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 58c948d8c4145d354457bdfd654b828007722c44 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 10 18:44:22 2015 +0200 of: Add Okaya Electric America vendor prefix This patch adds vendor prefix for Okaya Electronic America, a provider of LCD modules and display technologies. Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c6e87f91f0445e80656eddae84429ad7d687dc3f Author: jianwei wang <jianwei.wang.chn@xxxxxxxxx> Date: Wed Jul 29 16:30:02 2015 +0800 drm/panel: simple: Add support for NEC NL4827HC19-05B 480x272 panel This adds support for the NEC NL4827HC19-05B 480x272 panel to the DRM simple panel driver. Signed-off-by: Alison Wang <b18965@xxxxxxxxxxxxx> Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [treding@xxxxxxxxxx: add .bpc field for panel] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d718d79e57039ccf59f638efe7c9ede2bfabc6f1 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 16:52:33 2015 +0200 drm/panel: simple: Add support for AUO B080UAN01 The AUO B080UAN01 is an 8.0" WUXGA TFT LCD panel connected using four DSI lanes. It can be supported by the simple-panel driver. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d901d2ba8a1577ea213e4c4e22e9ca1f67db61dd Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Aug 12 12:32:13 2015 +0200 drm/panel: simple: Correct minimum hsync length of the HannStar HSD070PWW1 panel According to the data sheet, the minimum horizontal blanking interval is 54 clocks (1 + 52 + 1), but tests with a Nitrogen6X have shown the minimum working horizontal blanking interval to be 60 clocks. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 58d6a7bc4f851b5bd43280eab145bab992cb7ebe Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Aug 12 12:32:12 2015 +0200 drm/panel: simple: Add bus format for HannStar HSD070PWW1 LVDS panel The bus format both specifies the bpc and the way the individual bits get serialized into the 7 LVDS timeslots. While the is only one standard mapping for 6 bpc and so the driver could infer the bit mapping from the bpc alone, there are more options for the 8 bpc case which makes specifiying the bus format mandatory. To keep things consistent across panels and to set a precedent for new panel additions add the proper bus format. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 1b0838b5a794456ca36ce02b405bd7bcc85bfba0 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Wed Aug 12 08:26:19 2015 -0500 ARM: davinci: Set proper SPI prescale limit value SPI Davinci driver has been updated to allow SOCs to specify their minimum prescale value. Update the various SOCs board files that use this driver with their proper prescaler limit. Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 330b48bd700d5cdc3d1922c4e50f0626ab8ec002 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Apr 14 15:39:51 2015 +0200 drm/bridge: Add vendor prefixes Use vendor prefixes for Kconfig symbols and filenames. This should make it easier to identify the various bridge drivers and to organize the directory. v2: fix object name for dw-hdmi (Fabio Estevam) Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ad3a942bd22fd40a0f4ddaf2759946ce945662af Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jun 1 18:47:55 2015 -0700 regulator: core: Print at debug level on debugfs creation failure Failure to create a debugfs node is not an error, but we print a warning upon failure to create the node. Downgrade this to a debug printk so that we're quiet here. This allows multiple drivers to request a CPU's regulator so that CPUfreq and AVSish drivers can coexist. The downside of this approach is that whoever gets to debugfs first the others who come later to not have any debugfs attributes associated with them. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dce0332c85c4d9eb5d96182c56f63cd20566f073 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:29:02 2015 +0200 ASoC: fsl_ssi: adjust set DAI format in AC'97 mode Adjust set DAI format function in fsl_ssi driver so it doesn't fail and clears RXDIR in AC'97 mode. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8ed0c842153434fa3aeeb89d16b71ac7dc8e12ee Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:26:44 2015 +0200 ASoC: fsl_ssi: instantiate AC'97 CODEC Instantiate AC'97 CODEC in fsl_ssi driver AC'97 mode. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 04143d614f3af84a3f39e79a24a7ca740bd39efd Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:25:31 2015 +0200 ASoC: fsl_ssi: add AC'97 ops setting check and cleanup Check whether setting AC'97 ops succeeded and clean them on removal so the fsl_ssi driver can be reloaded. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 06cb373692083d169ab080b31c55af91d22b6d99 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:24:10 2015 +0200 ASoC: fsl_ssi: enable AC'97 asymmetric rates AC'97 bus can support asymmetric playback/capture rates so enable them in this case in fsl_ssi driver. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 793e3e9eeffc3e270483a450bc08e60f38e401ff Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:22:53 2015 +0200 ASoC: fsl_ssi: AC'97 DAI driver needs probe method too AC'97 DAI driver struct need the same probe method as I2S one to setup DMA params in fsl_ssi driver. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8277df3c66f1a8cecfadc29f7394f623263b4445 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:21:35 2015 +0200 ASoC: fsl_ssi: enable IPG clock during AC'97 reg access IPG clock have to be enabled during AC'97 CODEC register access in fsl_ssi driver. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b4d97f022ac07c26d8f41f105b6c9c9a699875a2 Author: Antony Pavlov <antonynpavlov@xxxxxxxxx> Date: Tue Jun 16 11:37:04 2015 +0300 mtd: spi-nor: add Spansion S25FL204K support Spansion S25FL204K is a 4-Mbit 3.0V Serial Flash Memory with Uniform 4 kB Sectors. Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx> Acked-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 842c12ddb49ef271ff978cbd022777d3d2c7787f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 13 14:02:05 2015 -0300 mtd: spi-nor: Improve Kconfig help text for SPI_FSL_QUADSPI The current "We only connect the NOR to this controller now." text is not very clear, so explain it better by saying that generic SPI is not supported by SPI_FSL_QUADSPI and only SPI NOR is. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f617b9587c1662a2352b90cb64ad8bcf0ff4d0af Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Aug 13 19:19:40 2015 +0200 mtd: spi-nor: add driver for NXP SPI Flash Interface (SPIFI) Add SPI-NOR driver for the SPI Flash Interface (SPIFI) controller that is found on newer NXP MCU devices. The controller supports serial SPI Flash devices with 1-, 2- and 4-bit width in either SPI mode 0 or 3. The controller can operate in either command or memory mode. In memory mode the Flash is exposed as normal memory and can be directly accessed by the CPU. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Reviewed-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 89f271c4d052063a72af2622f285f70caac91845 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 9 22:19:07 2015 +0200 doc: dt: add documentation for nxp,lpc1773-spifi Add device tree binding documentation for the SPI Flash Interface (SPIFI) found on NXP LPC18xx and LPC43xx devies. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c16340973fcb6461474a9f811f7f3ff2f946b24c Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 11:31:26 2015 -0300 nand: pxa3xx: Increase initial buffer size The initial buffer is used for the initial commands used to detect a flash device (STATUS, READID and PARAM). ONFI param page is 256 bytes, and there are three redundant copies to be read. JEDEC param page is 512 bytes, and there are also three redundant copies to be read. Hence this buffer should be at least 512 x 3. This commits rounds the buffer size to 2048. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ca861dd0c5e36c4a2cf454049a45a961c855290a Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 28 14:03:12 2015 +0000 spi: bcm2835: set up spi-mode before asserting cs-gpio When using reverse polarity for clock (spi-cpol) on a device the clock line gets altered after chip-select has been asserted resulting in an additional clock beat, which confuses hardware. This did not show when using native-CS, as the same register is used to control cs as well as polarity, so the changes came into effect at the same time. Unfortunately this is not true with gpio-cs. To avoid this situation this patch moves the setup of polarity (spi-cpol and spi-cpha) outside of the chip-select into prepare_message, which is run prior to asserting chip-select. Also fixes resetting 3-wire mode after use of rx-mode, so that a 3-Wire sequence TX, RX, TX works as well (right now it runs TX, RX, RX instead) Reported-by: Noralf Tronnes <noralf@xxxxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 07ea400e1b26726f21b2c2299d187d6eb7eb4324 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 12:12:33 2015 +0200 regmap: Fix regmap_can_raw_write check This function is missing a check if map->bus->write is implemented. If it is not implemented arbitrary raw writes are not possible. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c329061be51bef655f28c9296093984c977aff85 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 16:54:10 2015 +0530 regulator: pbias: Fix broken pbias disable functionality regulator_disable of pbias always writes '0' to the enable_reg. However actual disable value of pbias regulator is not always '0'. Fix it by populating the disable_val in pbias_reg_info for the various platforms and assign it to the disable_val of pbias regulator descriptor. This will be used by regulator_disable_regmap while disabling pbias regulator. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit 6ec689542b5bc516187917d49b112847dfb75b0b Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Wed Jul 29 14:58:09 2015 -0600 libnvdimm, btt: write and validate parent_uuid When a BTT is instantiated on a namespace it must validate the namespace uuid matches the 'parent_uuid' stored in the btt superblock. This property enforces that changing the namespace UUID invalidates all former BTT instances on that storage. For "IO namespaces" that don't have a label or UUID, the parent_uuid is set to zero, and this validation is skipped. For such cases, old BTTs have to be invalidated by forcing the namespace to raw mode, and overwriting the BTT info blocks. Based on a patch by Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit ab45e7632717b811e0786e46ca5ad279cb731b66 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Wed Jul 29 14:58:08 2015 -0600 libnvdimm, btt: consolidate arena validation Use arena_is_valid as a common routine for checking the validity of an info block from both discover_arenas, and nd_btt_probe. As a result, don't check for validity of the BTT's UUID, and lbasize. The checksum in the BTT info block guarantees self-consistency, and when we're called from nd_btt_probe, we don't have a valid uuid or lbasize available to check against. Also cleanup to return a bool instead of an int. Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit fbde1414acc0440024083bf0c391b259bcfc4826 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Wed Jul 29 14:58:07 2015 -0600 libnvdimm, btt: clean up internal interfaces Consolidate the parameters passed to arena_is_valid into just nd_btt, and an info block to increase re-usability. Similarly, btt_arena_write_layout doesn't need to be passed a uuid, as it can be obtained from arena->nd_btt. Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit e836a256e8fd579c9d7a3685f22981225a1ca451 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Aug 12 18:42:56 2015 -0400 pmem: convert to generic memremap Kill arch_memremap_pmem() and just let the architecture specify the flags to be passed to memremap(). Default to writethrough by default. Suggested-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 3103dc0304fd9c8ab576977cd98140d4fbac1730 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 10 23:07:06 2015 -0400 visorbus: switch from ioremap_cache to memremap In preparation for deprecating ioremap_cache() convert its usage in visorbus to memremap. Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Cc: David Kershner <david.kershner@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 92281dee825f6d2eb07c441437e4196a44b0861c Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 10 23:07:06 2015 -0400 arch: introduce memremap() Existing users of ioremap_cache() are mapping memory that is known in advance to not have i/o side effects. These users are forced to cast away the __iomem annotation, or otherwise neglect to fix the sparse errors thrown when dereferencing pointers to this memory. Provide memremap() as a non __iomem annotated ioremap_*() in the case when ioremap is otherwise a pointer to cacheable memory. Empirically, ioremap_<cacheable-type>() call sites are seeking memory-like semantics (e.g. speculative reads, and prefetching permitted). memremap() is a break from the ioremap implementation pattern of adding a new memremap_<type>() for each mapping type and having silent compatibility fall backs. Instead, the implementation defines flags that are passed to the central memremap() and if a mapping type is not supported by an arch memremap returns NULL. We introduce a memremap prototype as a trivial wrapper of ioremap_cache() and ioremap_wt(). Later, once all ioremap_cache() and ioremap_wt() usage has been removed from drivers we teach archs to implement arch_memremap() with the ability to strictly enforce the mapping type. Cc: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 9ed71e7ad95eb9885420e8d33f33bd4d49e1b775 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Thu Aug 6 23:36:52 2015 +0100 DocBook: Fix non-determinstic installation of duplicate man pages Some kernel-doc sections are included in multiple DocBook files. This means the mandocs target will generate the same manual page multiple times with different metadata (author name/address and manual title, taken from the including DocBook file). If it's invoked in a parallel build, the output is non-determinstic. Build the manual pages in a separate subdirectory per DocBook file, then sort and de-duplicate when installing them (which is serialised). Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> [jc: fixed conflicts with the docs tree] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit e1d46d30d133e7909e7dde06a4e867225c7e079b Author: Junjie Mao <junjie.mao@xxxxxxxxx> Date: Fri Jul 17 10:29:00 2015 +0800 ASoC: Intel: fix runtime pm imbalance on error pm_runtime_get_sync() increments the runtime PM usage counter even the call returns an error code. Thus a pairing decrement is needed on the error handling path to keep the counter balanced. Signed-off-by: Junjie Mao <junjie.mao@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fbf917e14eb65689ad80290170f7d615be711fb7 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 12 11:10:49 2015 +0800 ASoC: cs42l73: Use case range at appropriate place The readable registers are in continuous ranges: 0x01 ~ 0x03, 0x05 ~ 0x5f. Use case range syntax makes the code shorter with better readability when we have a large number of continuous switch cases. No functional change with this patch. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f325bfc933d140337e55507821d6bb021321059 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 12 11:09:39 2015 +0800 ASoC: cs42l56: Use case range at appropriate place The readable registers are in continuous range: 0x01 ~ 0x2e. Use case range syntax makes the code shorter with better readability when we have a large number of continuous switch cases. No functional change with this patch. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4caae9546d2cf7dbc7a12d451f847d7b58912bda Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 12 11:08:37 2015 +0800 ASoC: cs42l52: Use case range at appropriate place The readable registers are in continuous range: 0x01 ~ 0x34. Use case range syntax makes the code shorter with better readability when we have a large number of continuous switch cases. No functional change with this patch. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c17633081a0dc4c9f8c28b7a77ac5b63a1780e49 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 12 11:07:46 2015 +0800 ASoC: cs35l32: Use case range at appropriate places Use case range syntax makes the code shorter with better readability when we have a large number of continuous switch cases. Below are the summary of readable/volatile/precious registers. The readable registers: 0x01 ~ 0x0D, 0x0F ~ 0x1C The volatile registers: 0x01 ~ 0x05, 0x15 ~ 0x18 The precious registers: 0x15 ~ 0x18 No functional change with this patch. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 470805eb9f31be7b0b94cb8e0cbeb5910c47ce37 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Aug 13 12:59:21 2015 +0530 ASoC: tegra: Convert to managed resources Use managed resource functions devm_clk_put and devm_snd_soc_register_component to simplify error handling. To be compatible with the change various gotos are replaced with direct returns, and unneeded labels are dropped. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dbe71b9d86ee77cf58a92657c43b0e48954dc62b Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 12 13:58:38 2015 +0200 ASoC: ssm4567: Add sense support The ssm4567 has sensing circuitry that can be used to monitor the current and voltage on the speaker amplifier output has well as the VBAT input. This data can be output over the I2S interface so it can be processed by a DSP or similar. This patch adds the sense capture output stream to the CODEC DAI as well as DAPM widgets that ensure that the sensing circuitry is powered up when the capture stream is active. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f4f800131a281a1e1738c0bc45659c1260dc96a Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Aug 14 13:16:27 2015 -0300 perf trace: Move vfs_getname storage to per thread area We were storing the vfs_getname payload (i.e. ptr->string) into the trace wide storage area (struct trace), so that we could use the last payload when setting up the fd->pathname per thread tables, oops, not a good idea for multi cpu tracing sessions... Fix it by moving it to the per thread area (struct thread_trace). Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-3j05ttqyaem7kh7oubvr1keo@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 75067ddecf21271631bc018d2fb23ddd09b66aae Author: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Date: Fri Jul 10 14:10:55 2015 +0300 drm/i915: Per-DDI I_boost override An OEM may request increased I_boost beyond the recommended values by specifying an I_boost value to be applied to all swing entries for a port. These override values are specified in VBT. v2: rebase and remove unused iboost_bit variable Issue: VIZ-5676 Signed-off-by: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Reviewed-by: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 622147fdad5425f6f572f84ce709303e5e0500b7 Merge: 5a2376d d2944cf Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Aug 14 18:10:35 2015 +0200 Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes Backmerge drm-intel-fixes because a bunch of atomic patch backporting we had to do lead to horrible conflicts. Conflicts: drivers/gpu/drm/drm_crtc.c Just a bit of context conflict between -next and -fixes. drivers/gpu/drm/i915/intel_atomic.c drivers/gpu/drm/i915/intel_display.c Atomic conflicts, always pick the code from -next. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 5a2376d1360bfc9ebf3b554dd8db1922d42cee4b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Aug 14 10:53:17 2015 +0300 drm/i915/skl: WaIgnoreDDIAStrap is forever, always init DDI A There is currently conflicting documentation on which steppings the workaround is needed, up to C vs. forever. However there is post-C stepping hardware that doesn't report port presence on DDI A, leading to black screen on eDP. Assume the strap isn't connected, and try to enable DDI A on these machines. (We'll still check the VBT for the info in DDI init.) Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f79b468eca20dae31b6fcaaa738a7f99b764837d Author: Thulasimani,Sivakumar <sivakumar.thulasimani@xxxxxxxxx> Date: Fri Aug 7 15:14:30 2015 +0530 drm/i915: fix checksum write for automated test reply DP spec requires the checksum of the last block read to be written when replying to TEST_EDID_READ. This patch fixes the current code to do the same. v2: removed loop for jumping blocks and performed direct addition as recommended by Daniel Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ca5a0fbd53be86d2bf44769741e02e66feeacc0a Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Date: Tue Aug 11 15:44:31 2015 +0100 drm/i915: Contain the WA_REG macro Prevent leaking the if scoping by containing the WA_REG macro inside its own scope. Reported-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> [danvet: Appease checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 37876df61f279099334e0108bac9d28ee9789052 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 8 14:02:36 2015 +0100 drm/i915: Remove the failed context from the fpriv->context_idr If we encounter an allocation failure during ppggt creation (trivial even with 16Gib+ RAM!), we need to remove the dead context from the fpriv->context_idr along with the references. gem_exec_ctx: page allocation failure: order:0, mode:0x8004 CPU: 3 PID: 27272 Comm: gem_exec_ctx Tainted: G W 4.2.0-rc5+ #37 0000000000000000 ffff880086ff7a78 ffffffff816b947a ffff88041ed90038 0000000000008004 ffff880086ff7b08 ffffffff8114b1a5 ffff880086ff7ac8 ffffffff8108d848 0000000000000000 ffffffff81ce84b8 0000000000000000 Call Trace: [<ffffffff816b947a>] dump_stack+0x45/0x57 [<ffffffff8114b1a5>] warn_alloc_failed+0xd5/0x120 [<ffffffff8108d848>] ? __wake_up+0x48/0x60 [<ffffffff8114e0ed>] __alloc_pages_nodemask+0x73d/0x8e0 [<ffffffffc0472238>] ? i915_gem_execbuffer2+0x148/0x240 [i915] [<ffffffffc0474240>] __setup_page_dma+0x30/0x110 [i915] [<ffffffffc0477f61>] gen8_ppgtt_init+0x31/0x2f0 [i915] [<ffffffffc04785e0>] i915_ppgtt_init+0x30/0x80 [i915] [<ffffffffc0478928>] i915_ppgtt_create+0x48/0xc0 [i915] [<ffffffffc046c9c2>] i915_gem_create_context+0x1c2/0x390 [i915] [<ffffffffc046d9cb>] i915_gem_context_create_ioctl+0x5b/0xa0 [i915] leading to an oops in i915_gem_context_close. Also note that this benchmark should not be running out of memory in the first place... Testcase: igt/benchmark/gem_exec_ctx -b create # ppgtt >= 2 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eb5be9d0e7e78fd2b9f34c63dd2535ab6f985739 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 20:24:15 2015 +0100 drm/i915: Report IOMMU enabled status for GPU hangs The IOMMU for Intel graphics has historically had many issues resulting in random GPU hangs. Lets include its status when capturing the GPU hang error state for post-mortem analysis. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 031a8936dc660e7ae2485eb7493eba1876cf25fe Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Aug 6 17:09:17 2015 +0300 drm/i915: Check idle to active before processing CSQ If idle to active bit is set, the rest of the fields in CSQ are not valid. Bail out early if this is the case in order to prevent rest of the loop inspecting stale values. This was found by Bspec/code inspection. Doesn't seem to fix any of the known issues. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> [danvet: Add note about how this was found.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 500ea70d503ed9ba448611049a4a718c2761a5f2 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Aug 7 17:01:16 2015 -0700 drm/i915: Set alternate aux for DDI-E There is no correspondent Aux channel for DDI-E. So we need to rely on VBT to let us know witch one is being used instead. v2: Removing some trailing spaces and giving proper credit to Xiong that added a nice way to avoid port conflicts by setting supports_dp = 0 when using equivalent aux for DDI-E. Credits-to: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a513e3d75a3bb41cf2648764a2567879f6d138e5 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Aug 6 15:51:37 2015 +0800 drm/i915: Set power domain for DDI-E DDI-E and DDI-A share 4 the same DDI-A lanes. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3774eb507e7b7df7f9b7d8d867eea330c7146aaa Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Aug 10 14:57:32 2015 -0300 drm/i915: fix stolen bios_reserved checks I started digging this when I noticed that the BDW code was just reserving 1mb by coincidence since it was reading reserved fields. Then I noticed we didn't have any values set for SNB and earlier, and that the HSW sizes were wrong. After that, I noticed that the reserved area has a specific start, and may not exactly end where the stolen memory ends. I also noticed the base pointer can be zero. So I decided to just write a single patch fixing everything instead of 20 patches that would be much harder to review. This patch may solve random stolen memory corruption/problems on almost all platforms. Notice that since this is always dealing with the top of the stolen memory, the problems are not so easy to reproduce - especially since FBC is still disabled by default. One of the major differences of this patch is that we now look at both the size and base address. By only looking at the size we were assuming that the reserved area was always at the very top of stolen, which is not always true. After we merge the patch series that allows user space to allocate stolen memory we'll be able to write IGT tests that maybe catch the bugs fixed by this patch. v2: - s/BIOS reserved/stolen reserved/g (Chris) - Don't DRM_ERROR if we can't do anything about it (Chris) - Improve debug messages (Chris). - Use the gen7 version instead of gen6 on HSW. Tom found some documentation problems, so I think with gen7 we're on the safer side (Tom). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cc53699b25b59eb1020af8064f99edd0014b7071 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Aug 6 17:00:59 2015 +0300 drm/i915: Use masked write for Context Status Buffer Pointer This register needs to be updated with masked writes. This was found by code inspection and comparison with Bspec and doesn't seem to fix any known issue. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> [danvet: Add note about impact.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9bd9dfb4f9a1edcbb561a80d00c234fbe11dc1a6 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:51:00 2015 +0300 drm/i915/skl WaDisableSbeCacheDispatchPortSharing Add WaDisableSbeCacheDispatchPortSharing:skl Cc: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 02196c776ec67e05d3003926ba648bd2eab20e29 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:48:58 2015 +0300 drm/i915: Spam less on dp aux send/receive problems If we encounter frequent problems with dp aux channel communications, we end up spamming the dmesg with the exact similar trace and status. Inject a new backtrace only if we have new information to share as otherwise we flush out all other important stuff. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 842315ee7e416fa2f37c649c8a9ae6d6960b42a6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:11 2015 +0200 drm/i915: Handle return value in intel_pin_and_fence_fb_obj, v2. -EDEADLK has special meaning in atomic, but get_fence may call i915_find_fence_reg which can return -EDEADLK. This has special meaning in the atomic world, so convert the error to -EBUSY for this case. Changes since v1: - Add comment in the code. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4740b0f2b80cc7810bf5fa871189c318b08dbc46 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:10 2015 +0200 drm/i915: Only update mode related state if a modeset happened. The rest will be a noop anyway, since without modeset there will be no updated dplls and no modeset state to update. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2d406bb0d95c8dfdee4389471869a6e48c7b3432 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:09 2015 +0200 drm/i915: Remove connectors_active. There are no more users, byebye! Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e02f9a0610c1cbc6395858d1f2b68c48b820a971 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:08 2015 +0200 drm/i915: Remove connectors_active from intel_dp.c, v2. Now that everything's atomic, checking encoder->base.crtc is enough. This function doesn't have the locks to dereference crtc->state, but stealing an encoder bound to any crtc is probably enough reason to warn. Changes since v1: - Commit message. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 873ffe69a9097fb241fff2967ea6f0bf2c179195 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:07 2015 +0200 drm/i915: Remove connectors_active from sanitization, v2. connectors_active will be removed, so just calculate this instead. Changes since v1: - Look for the right pointer in intel_sanitize_encoder. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d688a2a15a52225289754627fc3a35f68c125ec Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:06 2015 +0200 drm/i915: Get rid of dpms handling. This is now done completely atomically. Keep connectors_active for now, but make it mirror crtc_state->active. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d20cd860bbe908ef62aa4673eeac8f8f2c43735 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:05 2015 +0200 drm/i915: Make crtc checking use the atomic state, v2. Instead of allocating pipe_config on the stack use the old crtc_state, it's only going to freed from this point on. All crtc' are now only checked once during modeset, because false positives can happen with encoders after dpms changes and to limit the amount of errors for 1 failure. Changes since v1: - crtc_state -> old_crtc_state - state -> old_state Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7c60d1984afa482f0648d963206124df6dca325e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:04 2015 +0200 drm/i915: Remove connectors_active from state checking. Connectors are updated atomically now, so the only interaction with the encoder is through base.crtc. If it's NULL the encoder's not part of any crtc, and if it's not NULL then active should be equal to crtc_state->active. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b89b8de4e90d3c08f845e2b559929c8f77981ae Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:03 2015 +0200 drm/i915: Remove some unneeded checks from check_crtc_state. This is handled by the atomic core now, no need to check this for ourself. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 35dd3c6450a6dc05781e391d6669df34044a7e0f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 6 13:49:22 2015 +0200 drm/i915: Convert connector checking to atomic, v3. Right now dpms callbacks can still fiddle with the connector state, but it can only turn connectors off. This is remediated by only checking crtc->state->active when the connector is active, and ignore crtc->state->active when the connector is off. connectors_active is no longer checked, and will be removed later in this series together with dpms. Another check for !encoder->crtc is performed by check_encoder_state too, so it can be removed. Changes since v1: - Add commit message. - rename state to old_state. - Move deletion of mst_port check to mst patch. Changes since v2: - Fix a null pointer dereference on MST now hw readout is fixed. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 20fae983c6667d038e810c618e3340946b8dc506 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 6 13:47:36 2015 +0200 drm/i915: Update atomic state when removing mst connector, v3. Fully remove the MST connector from the atomic state, and remove the early returns in check_*_state for MST connectors. With atomic the state can be made consistent all the time. Thanks to Sivakumar Thulasimani for the idea of using drm_atomic_helper_set_config. Changes since v1: - Remove the MST check in intel_connector_check_state too. Changes since v2: - Use drm_atomic_helper_set_config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ee165b1a6e0269e5badde679f72fe39d3d15a7d4 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:00 2015 +0200 drm/i915: Validate the state after an atomic modeset only, and pass the state. First step in removing dpms and validating atomic state. There can still be a mismatch in the connector state because the dpms callbacks are still used, but this can not happen immediately after a modeset. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c4e2d043ffb3714e63931aec52b8b920cc767367 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:36:59 2015 +0200 drm/i915: Make the force_thru workaround atomic, v2. Set connectors_changed to force a modeset if the panel fitter's force enabled on eDP. Changes since v1: - Use connectors_changed instead of active_changed because it's a routing update. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8f9c98df949333f08b74e5df1caacf7e2c5e8552 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Jul 19 16:09:12 2015 +0300 mac80211: fix BIT position for TDLS WIDE extended cap The bit was not according to ieee80211 specification. Fix that. Reviewed-by: Arik Nemtsov <arik@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 40d9a38ad3b7029be9c278738b67cbdb6349ce85 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Jul 13 12:26:46 2015 +0200 mac80211: use DECLARE_EWMA Instead of using the out-of-line average calculation, use the new DECLARE_EWMA() macro to declare a signal EWMA, and use that. This actually *reduces* the code size slightly (on x86-64) while also reducing the station info size by 80 bytes. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2377799c084d86d22074cd4acd20edc32024d669 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Jul 13 12:17:25 2015 +0200 average: provide macro to create static EWMA Having the EWMA parameters stored in the runtime struct imposes memory requirements for the constant values that could just be inlined in the code. This particularly makes sense if there are a lot of such structs, for example in mac80211 in the station table where each station has a number of these in an array, and there can be many stations. Provide a macro DECLARE_EWMA() that declares the necessary struct and inline functions to access it with the parameters hard-coded; using this also means the user no longer needs to 'select AVERAGE' as it's entirely self-contained. In the mac80211 case, on x86-64, this actually slightly *reduces* code size, while also saving 80 bytes of runtime memory per sta. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2459cd876e2828dc63c19ea5dadf8a94a8f11244 Author: Su Kang Yin <cantona@xxxxxxxxxxx> Date: Fri Aug 7 16:54:10 2015 +0800 mac80211_hwsim: unregister genetlink family properly During hwsim_init_netlink(), we should call genl_unregister_family() if failed on netlink_register_notifier() since the genetlink is already registered. Signed-off-by: Su Kang Yin <cantona@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b119ad6e726cc805f739f8f6843b9de4df1f895e Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Aug 6 23:47:33 2015 +0200 mac80211: add rate mask logic for vht rates Define rc_rateidx_vht_mcs_mask array and rate_idx_match_vht_mcs_mask() method in order to apply mcs mask for vht rates Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e910867bd285bb8470c47076d99d0325aaea895c Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Aug 6 23:47:32 2015 +0200 mac80211: define rate_control_apply_mask_ratetbl() Define rate_control_apply_mask_ratetbl() in order to apply ratemask in rate_control_set_rates() for station rate table Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 90c66bd2232ae6d3c88c1f3378e3028fded642b3 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Aug 6 23:47:31 2015 +0200 mac80211: remove ieee80211_tx_rate dependency in rate mask code Remove ieee80211_tx_rate dependency in rate_idx_match_legacy_mask(), rate_idx_match_mcs_mask() and rate_idx_match_mask() in order to use the previous logic to define a ratemask in rate_control_set_rates() for station rate table. Moreover move rate mask definition logic in rate_control_cap_mask() Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 35225eb7a5589407299033bfa7e1ac723b17e2b5 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Aug 6 23:47:30 2015 +0200 mac80211: remove ieee80211_tx_info from rate_control_apply_mask signature Remove unnecessary ieee80211_tx_info pointer from rate_control_apply_mask signature. rate_control_apply_mask() will be used to define a ratemask in rate_control_set_rates() for station rate table Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4b819f6cc4221ea6dd250e006f7b9ab0f6c71b45 Author: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Date: Wed Aug 5 16:02:50 2015 +0200 mac80211: Make OCB mode set BSSID Perform the BSS_CHANGED_BSSID action when joining an OCB network. This is required to set the broadcast BSSID in some network drivers. Signed-off-by: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cc11729893558b374316e6142dc383f0508436c8 Author: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Date: Wed Aug 5 16:02:42 2015 +0200 mac80211: Only accept data frames in OCB mode Currently OCB mode accepts frames with bssid==broadcast and type!=beacon. Some non-data frames are sent matching this, for example probe responses. This results in unnecessary creation of STA entries. Signed-off-by: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5765f9f66e72ddedfe04e057a5a01454d7b67157 Author: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Date: Wed Aug 5 16:02:28 2015 +0200 mac80211: Set txrc.bss to true for OCB interfaces To make mac80211 accept the multicast rate requested by the user the rate control should be told that it is operating in BSS mode. Without this, the default rate is selected in rate_control_send_low (!pubsta and !txrc->bss) Signed-off-by: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 876dc9308e8b8a8fb57059234e57f4145c870c3c Author: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Date: Wed Aug 5 16:02:21 2015 +0200 nl80211: Allow setting multicast rate on OCB interfaces Allow setting multicast rate on OCB interfaces. Current behaviour results in EOPNOTSUPP when attempting this. Signed-off-by: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9189ee31df40f88808daee10aa7f99ba43ff8b13 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 3 10:55:24 2015 +0200 cfg80211: propagate set_wiphy failure to userspace If driver failed to setup wiphy params (e.g. rts threshold, fragmentation treshold) userspace wasn't properly notified about this. This could lead to user confusion who would think the command succeeded even if that wasn't the case. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4edd56981c8fbb349b1529a2feaf772636eb1c83 Author: Matthias May <matthias.may@xxxxxxxxxxx> Date: Fri Jul 17 15:28:39 2015 +0200 cfg80211: regulatory: handle 5 and 10 MHz channels properly The original assumption of 20MHz wide channels hasn't been true since the addition of support for 5 and 10 MHz channels. Change the code to no longer disable all channels that don't fit into the 20MHz grid, but instead set the appropriate flags to disable operation on specific bandwidths. Signed-off-by: Matthias May <matthias.may@xxxxxxxxxxx> [reword commit message] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 74346841e6f5df5f7b83d5904435d273c507dba6 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Thu Aug 13 16:09:28 2015 +0200 spi/spi-xilinx: Fix spurious IRQ ACK on irq mode The ACK of an inexistent IRQ can trigger an spurious IRQ that breaks the txrx logic. This has been observed on axi_quad_spi:3.2 core. This patch only ACKs IRQs that have not been Acknowledge jet. Reported-by: Edward Kigwana <ekigwana@xxxxxxxxxx> Tested-by: Edward Kigwana <ekigwana@xxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9d8352864907f0ad76124c5b28f65b5a382d7d7c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 14 17:54:07 2015 +0800 ASoC: adav80x: Remove .read_flag_mask setting from adav80x_regmap_config Don't set .read_flag_mask for adav803, it's for adav801 only. Fixes: 0c2d69645628 ("ASoC: adav80x: Split SPI and I2C code into different modules") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3ee550f12c1529a023f71c9b5becb3351911047b Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Aug 14 16:17:16 2015 +0100 modsign: Handle signing key in source tree Since commit 1329e8cc69 ("modsign: Extract signing cert from CONFIG_MODULE_SIG_KEY if needed"), the build system has carefully coped with the signing key being specified as a relative path in either the source or or the build trees. However, the actual signing of modules has not worked if the filename is relative to the source tree. Fix that by moving the config_filename helper into scripts/Kbuild.include so that it can be used from elsewhere, and then using it in the top-level Makefile to find the signing key file. Kill the intermediate $(MODPUBKEY) and $(MODSECKEY) variables too, while we're at it. There's no need for them. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 62172c81f2d6c2311284467d6aaa00bd8967e136 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Aug 14 15:33:56 2015 +0100 modsign: Use if_changed rule for extracting cert from module signing key We couldn't use if_changed for this before, because it didn't live in the kernel/ directory so we couldn't add it to $(targets). It was easier just to leave it as it was. Now it's in the certs/ directory we can use if_changed, the same as we do for the trusted certificate list. Aside from making things consistent, this means we don't need to depend explicitly on the include/config/module/sig/key.h file. And we also get to automatically do the right thing and re-extract the cert if the user does odd things like using a relative filename and then playing silly buggers with adding/removing that file in both the source and object trees. We always favour the one in the object tree if it exists, and now we'll correctly re-extract the cert when it changes. Previously we'd *only* re-extract the cert if the config option changed, even if the actual file we're using did change. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit cfc411e7fff3e15cd6354ff69773907e2c9d1c0c Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Aug 14 15:20:41 2015 +0100 Move certificate handling to its own directory Move certificate handling out of the kernel/ directory and into a certs/ directory to get all the weird stuff in one place and move the generated signing keys into this directory. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit bc18e31c3042f14fa5f2ff5c21136e2fdf4140f8 Author: Julian Scheel <julian@xxxxxxxx> Date: Fri Aug 14 16:14:45 2015 +0200 ALSA: usb-audio: Fix parameter block size for UAC2 control requests USB Audio Class version 2.0 supports three different parameter block sizes for CUR requests, which are 1 byte (5.2.3.1 Layout 1 Parameter Block), 2 bytes (5.2.3.2 Layout 2 Parameter Block) and 4 bytes (5.2.3.3 Layout 3 Parameter Block). Use the correct size according to the specific control as it was already done for UACv1. The allocated block size for control requests is increased to support the 4 byte worst case. Signed-off-by: Julian Scheel <julian@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 258d9bc5e77fa40e290a0bd480d5349224374480 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 16:17:52 2015 +0200 ARM: tegra: Update multi_v7_defconfig Add Tegra-specific configuration options to multi_v7_defconfig: * HDA controller and codec support * Watchdog support * Nouveau (for GK20A GPU) support Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 461cfe4e2f5d000f76a38fb7cefd2fedf42c9026 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:51 2015 +0300 ARM: tegra: Update default configuration * CPU frequency scaling for Tegra124 * Nouveau (for GK20A GPU) support Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit f0d9ac7510ee06162c9db31851a1169ae716867e Merge: 1f408d5 73c8f0c 05aa7d6 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Aug 14 08:21:16 2015 -0500 Merge branches 'pci/host-dra7xx' and 'pci/host-iproc' into next * pci/host-dra7xx: ARM: dts: am57xx-evm: Add 'gpios' property with gpio2_8 PCI: dra7xx: Add support to make GPIO drive PERST# line PCI: dra7xx: Clear MSE bit during suspend so clocks will idle PCI: dra7xx: Add PM support PCI: dra7xx: Disable pm_runtime on get_sync failure * pci/host-iproc: PCI: iproc: Allow BCMA bus driver to be built as module PCI: iproc: Add arm64 support PCI: iproc: Delete unnecessary checks before phy calls commit 1f408d57437e53ae9aa6edb335ff9fe7ba7aba2c Merge: 5a4f3cf 2db0f71 f7ef134 3e14675 95e1658 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Aug 14 08:16:29 2015 -0500 Merge branches 'pci/hotplug', 'pci/iommu', 'pci/irq' and 'pci/virtualization' into next * pci/hotplug: PCI: pciehp: Remove ignored MRL sensor interrupt events PCI: pciehp: Remove unused interrupt events PCI: pciehp: Handle invalid data when reading from non-existent devices PCI: Hold pci_slot_mutex while searching bus->slots list PCI: Protect pci_bus->slots with pci_slot_mutex, not pci_bus_sem PCI: pciehp: Simplify pcie_poll_cmd() PCI: Use "slot" and "pci_slot" for struct hotplug_slot and struct pci_slot * pci/iommu: PCI: Remove pci_ats_enabled() PCI: Stop caching ATS Invalidate Queue Depth PCI: Move ATS declarations to linux/pci.h so they're all together PCI: Clean up ATS error handling PCI: Use pci_physfn() rather than looking up physfn by hand PCI: Inline the ATS setup code into pci_ats_init() PCI: Rationalize pci_ats_queue_depth() error checking PCI: Reduce size of ATS structure elements PCI: Embed ATS info directly into struct pci_dev PCI: Allocate ATS struct during enumeration iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth * pci/irq: PCI: Kill off set_irq_flags() usage * pci/virtualization: PCI: Add ACS quirks for Intel I219-LM/V commit 9e8df8a219635c5af36a49d78c1f69009b780339 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:26 2015 +1000 cxl: EEH support EEH (Enhanced Error Handling) allows a driver to recover from the temporary failure of an attached PCI card. Enable basic CXL support for EEH. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 13e68d8bd05c998cae452a4f3400af1e8edd852e Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:25 2015 +1000 cxl: Allow the kernel to trust that an image won't change on PERST. Provide a kernel API and a sysfs entry which allow a user to specify that when a card is PERSTed, it's image will stay the same, allowing it to participate in EEH. cxl_reset is used to reflash the card. In that case, we cannot safely assert that the image will not change. Therefore, disallow cxl_reset if the flag is set. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4e1efb403c1c016ae831bd9988a7d2e5e0af41a0 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:24 2015 +1000 cxl: Don't remove AFUs/vPHBs in cxl_reset If the driver doesn't participate in EEH, the AFUs will be removed by cxl_remove, which will be invoked by EEH. If the driver does particpate in EEH, the vPHB needs to stick around so that the it can particpate. In both cases, we shouldn't remove the AFU/vPHB. Reviewed-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d76427b0d89524fdb623774a22a005ba5c400134 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:23 2015 +1000 cxl: Refactor AFU init/teardown As with an adapter, some aspects of initialisation are done only once in the lifetime of an AFU: for example, allocating memory, or setting up sysfs/debugfs files. However, we may want to be able to do some parts of the initialisation multiple times: for example, in error recovery we want to be able to tear down and then re-map IO memory and IRQs. Therefore, refactor AFU init/teardown as follows. - Create two new functions: 'cxl_configure_afu', and its pair 'cxl_deconfigure_afu'. As with the adapter functions, these (de)configure resources that do not need to last the entire lifetime of the AFU. - Allocating and releasing memory remain the task of 'cxl_alloc_afu' and 'cxl_release_afu'. - Once-only functions that do not involve allocating/releasing memory stay in the overarching 'cxl_init_afu'/'cxl_remove_afu' pair. However, the task of picking an AFU mode and activating it has been broken out. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c044c4154247372c86b468644de88a4e48f903e9 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:22 2015 +1000 cxl: Refactor adaptor init/teardown Some aspects of initialisation are done only once in the lifetime of an adapter: for example, allocating memory for the adapter, allocating the adapter number, or setting up sysfs/debugfs files. However, we may want to be able to do some parts of the initialisation multiple times: for example, in error recovery we want to be able to tear down and then re-map IO memory and IRQs. Therefore, refactor CXL init/teardown as follows. - Keep the overarching functions 'cxl_init_adapter' and its pair, 'cxl_remove_adapter'. - Move all 'once only' allocation/freeing steps to the existing 'cxl_alloc_adapter' function, and its pair 'cxl_release_adapter' (This involves moving allocation of the adapter number out of cxl_init_adapter.) - Create two new functions: 'cxl_configure_adapter', and its pair 'cxl_deconfigure_adapter'. These two functions 'wire up' the hardware --- they (de)configure resources that do not need to last the entire lifetime of the adapter Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 575e6986f028711287fbbf250e5289a089bac8cb Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:21 2015 +1000 cxl: Clean up adapter MMIO unmap path. - MMIO pointer unmapping is guarded by a null pointer check. However, iounmap doesn't null the pointer, just invalidate it. Therefore, explicitly null the pointer after unmapping. - afu_desc_mmio also needs to be unmapped. - PCI regions are allocated in cxl_map_adapter_regs. Therefore they should be released in unmap, not elsewhere. Acked-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e640d2fc811ff8cc1451f92490d3ccc2adcad179 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:20 2015 +1000 cxl: Make IRQ release idempotent Check if an IRQ is mapped before releasing it. This will simplify future EEH code by allowing unconditional unmapping of IRQs. Acked-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 05155772f642a5b0e421adf2017f993759bf7f95 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:19 2015 +1000 cxl: Allocate and release the SPA with the AFU Previously the SPA was allocated and freed upon entering and leaving AFU-directed mode. This causes some issues for error recovery - contexts hold a pointer inside the SPA, and they may persist after the AFU has been detached. We would ideally like to allocate the SPA when the AFU is allocated, and release it until the AFU is released. However, we don't know how big the SPA needs to be until we read the AFU descriptor. Therefore, restructure the code: - Allocate the SPA only once, on the first attach. - Release the SPA only when the entire AFU is being released (not detached). Guard the release with a NULL check, so we don't free if it was never allocated (e.g. dedicated mode) Acked-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0b3f9c757cabad4b8101c5fcddddd029ed5506a6 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:18 2015 +1000 cxl: Drop commands if the PCI channel is not in normal state If the PCI channel has gone down, don't attempt to poke the hardware. We need to guard every time cxl_whatever_(read|write) is called. This is because a call to those functions will dereference an offset into an mmio register, and the mmio mappings get invalidated in the EEH teardown. Check in the read/write functions in the header. We give them the same semantics as usual PCI operations: - a write to a channel that is down is ignored. - a read from a channel that is down returns all fs. Also, we try to access the MMIO space of a vPHB device as part of the PCI disable path. Because that's a read that bypasses most of our usual checks, we handle it explicitly. As far as user visible warnings go: - Check link state in file ops, return -EIO if down. - Be reasonably quiet if there's an error in a teardown path, or when we already know the hardware is going down. - Throw a big WARN if someone tries to start a CXL operation while the card is down. This gives a useful stacktrace for debugging whatever is doing that. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 588b34be20bc3dd7441c108c95039933699467ab Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:17 2015 +1000 cxl: Convert MMIO read/write macros to inline functions We're about to make these more complex, so make them functions first. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e642d11bdbfe8eb10116ab3959a2b5d75efda832 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 16:03:19 2015 +1000 powerpc/eeh: Probe after unbalanced kref check In the complete hotplug case, EEH PEs are supposed to be released and set to NULL. Normally, this is done by eeh_remove_device(), which is called from pcibios_release_device(). However, if something is holding a kref to the device, it will not be released, and the PE will remain. eeh_add_device_late() has a check for this which will explictly destroy the PE in this case. This check in eeh_add_device_late() occurs after a call to eeh_ops->probe(). On PowerNV, probe is a pointer to pnv_eeh_probe(), which will exit without probing if there is an existing PE. This means that on PowerNV, devices with outstanding krefs will not be rediscovered by EEH correctly after a complete hotplug. This is affecting CXL (CAPI) devices in the field. Put the probe after the kref check so that the PE is destroyed and affected devices are correctly rediscovered by EEH. Fixes: d91dafc02f42 ("powerpc/eeh: Delay probing EEH device during hotplug") Cc: stable@xxxxxxxxxxxxxxx Cc: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0e38c35815f50e5a347977d76fb5eb4c3bf020b5 Merge: e4fc02f 3d04c92 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Fri Aug 14 17:35:10 2015 +1000 Merge branch 'smack-for-4.3' of https://github.com/cschaufler/smack-next into next commit 10be6c0f27d729dcebaa0ac5f168009244d71fed Author: Ben YoungTae Kim <ytkim@xxxxxxxxxxxxxxxx> Date: Thu Aug 13 22:09:42 2015 -0700 Bluetooth: hciuart: Fix to use boolean flag with u32 type debugfs_create_bool is asking to put u32 type pointer instead of bool so that passing bool type with u32* cast will cause memory corruption to read that value since it is handled by 4 bytes instead of 1 byte inside. Signed-off-by: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e63dbd16ab7be41f5b66a70f1082242d76dd21d7 Author: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 12:38:31 2015 +0530 powerpc: Add an inline function to update POWER8 HID0 Section 3.7 of Version 1.2 of the Power8 Processor User's Manual prescribes that updates to HID0 be preceded by a SYNC instruction and followed by an ISYNC instruction (Page 91). Create an inline function name update_power8_hid0() which follows this recipe and invoke it from the static split core path. Signed-off-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Reviewed-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Tested-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d52736e24fe2e927c26817256f8d1a3c8b5d51a0 Merge: 0344338 193125d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 22:43:22 2015 -0700 Merge branch 'vrf-lite' David Ahern says: ==================== VRF-lite - v6 In the context of internet scale routing a requirement that always comes up is the need to partition the available routing tables into disjoint routing planes. A specific use case is the multi-tenancy problem where each tenant has their own unique routing tables and in the very least need different default gateways. This patch allows the ability to create virtual router domains (aka VRFs (VRF-lite to be specific) in the linux packet forwarding stack. The main observation is that through the use of rules and socket binding to interfaces, all the facilities that we need are already present in the infrastructure. What is missing is a handle that identifies a routing domain and can be used to gather applicable rules/tables and uniqify neighbor selection. The scheme used needs to preserves the notions of ECMP, and general routing principles. This driver is a cross between functionality that the IPVLAN driver and the Team drivers provide where a device is created and packets into/out of the routing domain are shuttled through this device. The device is then used as a handle to identify the applicable rules. The VRF device is thus the layer3 equivalent of a vlan device. The very important point to note is that this is only a Layer3 concept so L2 tools (e.g., LLDP) do not need to be run in each VRF, processes can run in unaware mode or select a VRF to be talking through. Also the behavioral model is a generalized application of the familiar VRF-Lite model with some performance paths that need optimization. (Specifically the output route selector that Roopa, Robert, Thomas and EricB are currently discussing on the MPLS thread) High Level points ================= 1. Simple overlay driver (minimal changes to current stack) * uses the existing fib tables and fib rules infrastructure 2. Modelled closely after the ipvlan driver 3. Uses current API and infrastructure. * Applications can use SO_BINDTODEVICE or cmsg device indentifiers to pick VRF (ping, traceroute just work) * Standard IP Rules work, and since they are aggregated against the device, scale is manageable 4. Completely orthogonal to Namespaces and only provides separation in the routing plane (and ARP) N2 N1 (all configs here) +---------------+ +--------------+ | | |swp1 :10.0.1.1+----------------------+swp1 :10.0.1.2 | | | | | |swp2 :10.0.2.1+----------------------+swp2 :10.0.2.2 | | | +---------------+ | VRF 1 | | table 5 | | | +---------------+ | | | VRF 2 | N3 | table 6 | +---------------+ | | | | |swp3 :10.0.2.1+----------------------+swp1 :10.0.2.2 | | | | | |swp4 :10.0.3.1+----------------------+swp2 :10.0.3.2 | +--------------+ +---------------+ Given the topology above, the setup needed to get the basic VRF functions working would be Create the VRF devices and associate with a table ip link add vrf1 type vrf table 5 ip link add vrf2 type vrf table 6 Install the lookup rules that map table to VRF domain ip rule add pref 200 oif vrf1 lookup 5 ip rule add pref 200 iif vrf1 lookup 5 ip rule add pref 200 oif vrf2 lookup 6 ip rule add pref 200 iif vrf2 lookup 6 ip link set vrf1 up ip link set vrf2 up Enslave the routing member interfaces ip link set swp1 master vrf1 ip link set swp2 master vrf1 ip link set swp3 master vrf2 ip link set swp4 master vrf2 Connected and local routes are automatically moved from main and local tables to the VRF table. ping using VRF0 is simply ping -I vrf0 10.0.1.2 Design Highlights ================= If a device is enslaved to a VRF device (ie., associated with a VRF) then: 1. Rx path The master device index is used as the iif for all lookups. 2. Tx path Similarly, for Tx the VRF device oif is used in the flow to direct lookups to the table associated with the VRF via its rule. From there the FLOWI_FLAG_VRFSRC flag is used to indicate that the oif should not be used for FIB table lookups. 3. Connected and local routes On link up for a device, connected and local routes are added to the table associated with the VRF device, rather than the local and main tables. 4. Socket lookups Sockets operating in the VRF must be bound to the VRF device. As such socket lookups compare the VRF device index to sk_bound_dev_if. 5. Neighbor entries Neighbor entries are not impacted by the VRF device. Entries are associated with a particular interface; the VRF association is indirect via the interface-to-VRF device enslavement. Version 6 - addressed comments from DaveM - added patch to properly set oif in ip_send_unicast_reply. Needs to be set to VRF device for proper FIB lookup - added patch to handle IP fragments Version 5 - dropped patch regarding socket lookups; no longer needed + removed vrf helpers no longer needed after this patch is dropped - removed dev_open and close operations + no need to reset vrf data on an ifdown and creates problems if a slave is deleted while the vrf interface is down (Thanks, Nikolay) - cleanups for sparse warnings + make C=2 is now clean for vrf driver Version 4 - builds are clean with and without VRF device enabled (no, yes and module) - tightened the driver implementation + device add/delete, slave add/remove, and module unload are all clean - fixed RCU references + with RCU and lock debugging enabled changes are clean through the suite of tests - TX path uses custom dst, so patch refactoring rtable allocation is dropped along with the patch adding rt_nexthop helper - dropped the task patch that adds default bind to interface for sockets and the associated chvrf example command + the patches are a convenience for running unmodified code. They are not needed for the core functionality. Any application with support for SO_BINDTODEVICE works properly with this patch set. Version 3 - addressed comments from first 2 RFCs with the exception of the name Nicolas: We will do the name conversion once we agree on what the correct name should be (vrf, mrf or something else) - packets flow through the VRF device in both directions allowing the following: - tcpdump -i vrf<n> - tc rules on vrf device - netfilter rules on vrf device TO-DO ===== 1. IPv6 2. ipsec, xfrms - dst patch accepted into ipsec-next; will post VRF patch once merge happens 3. listen filter to allow 1 socket to work with multiple VRF devices - i.e., bind to VRF's a, b, c only or NOT VRFs e, f, g Eric B: I have ipsec working with VRFs implemented using the VRF driver, including the worst case scenario of complete duplication in the networking config. Thanks to Nikolay for his many, many code reviews whipping the device driver into shape, and bug-Fixes and ideas from Hannes, Roopa Prabhu, Jon Toppins, Jamal. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 193125dbd8eb292d88feb201f030889b488b0a02 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:10 2015 -0600 net: Introduce VRF device driver This driver borrows heavily from IPvlan and teaming drivers. Routing domains (VRF-lite) are created by instantiating a VRF master device with an associated table and enslaving all routed interfaces that participate in the domain. As part of the enslavement, all connected routes for the enslaved devices are moved to the table associated with the VRF device. Outgoing sockets must bind to the VRF device to function. Standard FIB rules bind the VRF device to tables and regular fib rule processing is followed. Routed traffic through the box, is forwarded by using the VRF device as the IIF and following the IIF rule to a table that is mated with the VRF. Example: Create vrf 1: ip link add vrf1 type vrf table 5 ip rule add iif vrf1 table 5 ip rule add oif vrf1 table 5 ip route add table 5 prohibit default ip link set vrf1 up Add interface to vrf 1: ip link set eth1 master vrf1 Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9972f134a273d6dc52d912a3513fa06b426de9b4 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:09 2015 -0600 net: frags: Add VRF device index to cache and lookup Fragmentation cache uses information from the IP header to reassemble packets. That information can be duplicated across VRFs -- same source and destination addresses, protocol and id. Handle fragmentation with VRFs by adding the VRF device index to entries in the cache and the lookup arg. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7ba868b71bc858cf06de11fc8150c4552cfad81 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:08 2015 -0600 net: Use VRF index for oif in ip_send_unicast_reply If output device is not specified use VRF device if input device is enslaved. This is needed to ensure tcp acks and resets go out VRF device. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bfd847203c6d89532f836ad3f5b4ff4ced26dd9 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:07 2015 -0600 net: Use passed in table for nexthop lookups If a user passes in a table for new routes use that table for nexthop lookups. Specifically, this solves the case where a connected route does not exist in the main table, but only another table and then a subsequent route is added with a next hop using the connected route. ie., $ ip route ls default via 10.0.2.2 dev eth0 10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15 169.254.0.0/16 dev eth0 scope link metric 1003 192.168.56.0/24 dev eth1 proto kernel scope link src 192.168.56.51 $ ip route ls table 10 1.1.1.0/24 dev eth2 scope link Without this patch adding a nexthop route fails: $ ip route add table 10 2.2.2.0/24 via 1.1.1.10 RTNETLINK answers: Network is unreachable With this patch the route is added successfully. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 021dd3b8a142d482cb65a27bf6644e3764001460 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:06 2015 -0600 net: Add routes to the table associated with the device When a device associated with a VRF is brought up or down routes should be added to/removed from the table associated with the VRF. fib_magic defaults to using the main or local tables. Have it use the table with the device if there is one. A part of this is directing prefsrc validations to the correct table as well. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30bbaa19500559d7625c65632195413f639b3b97 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:05 2015 -0600 net: Fix up inet_addr_type checks Currently inet_addr_type and inet_dev_addr_type expect local addresses to be in the local table. With the VRF device local routes for devices associated with a VRF will be in the table associated with the VRF. Provide an alternate inet_addr lookup to use a specific table rather than defaulting to the local table. inet_addr_type_dev_table keeps the same semantics as inet_addr_type but if the passed in device is enslaved to a VRF then the table for that VRF is used for the lookup. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15be405eb2ea943ac5fa2aab7d0ba282e9ef1301 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:04 2015 -0600 net: Add inet_addr lookup by table Currently inet_addr_type and inet_dev_addr_type expect local addresses to be in the local table. With the VRF device local routes for devices associated with a VRF will be in the table associated with the VRF. Provide an alternate inet_addr lookup to use a specific table rather than defaulting to the local table. Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a24abfa42613fefc68963a98c2b7ab7fd7e374c Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:03 2015 -0600 udp: Handle VRF device in sendmsg For unconnected UDP sockets using a VRF device lookup source address based on VRF table. This allows the UDP header to be properly setup before showing up at the VRF device via the dst. Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 613d09b30f8b589d5a9b49775054c8865db95d1c Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:02 2015 -0600 net: Use VRF device index for lookups on TX As with ingress use the index of VRF master device for route lookups on egress. However, the oif should only be used to direct the lookups to a specific table. Routes in the table are not based on the VRF device but rather interfaces that are part of the VRF so do not consider the oif for lookups within the table. The FLOWI_FLAG_VRFSRC is used to control this latter part. Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd2fbe1b6b517ca7c0e80b103c674fdf5bd50f76 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:01 2015 -0600 net: Use VRF device index for lookups on RX On ingress use index of VRF master device for route lookups if real device is enslaved. Rules are expected to be installed for the VRF device to direct lookups to a specific table. Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e3c89920cd3a6cfce22c6f537690747c26128dd Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:00 2015 -0600 net: Introduce VRF related flags and helpers Add a VRF_MASTER flag for interfaces and helper functions for determining if a device is a VRF_MASTER. Add link attribute for passing VRF_TABLE id. Add vrf_ptr to netdevice. Add various macros for determining if a device is a VRF device, the index of the master VRF device and table associated with VRF device. Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0344338bd883e5e4a2f80409ed8260cd65d69e3b Author: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 15:26:35 2015 -0400 net: addr IFLA_OPERSTATE to netlink message for ipv6 ifinfo This is useful information to include in ipv6 netlink messages that report interface information. IFLA_OPERSTATE is already included in ipv4 messages, but missing for ipv6. This closes that gap. Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da65ad1fe399d77234a4caa50008c6b87f1fe401 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Aug 13 14:03:16 2015 -0400 net: allow sleeping when modifying store_rps_map Commit 10e4ea751 ("net: Fix race condition in store_rps_map") has moved the manipulation of the rps_needed jump label under a spinlock. Since changing the state of a jump label may sleep this is incorrect and causes warnings during runtime. Make rps_map_lock a mutex to allow sleeping under it. Fixes: 10e4ea751 ("net: Fix race condition in store_rps_map") Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 968d7cb82aad3c6bfada79a8e26d65a1fb3f618a Merge: 35103d1 8efdda4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 21:31:14 2015 -0700 Merge branch 'mv88e6xxx-hw-vlan' Vivien Didelot says: ==================== net: dsa: mv88e6xxx: add hardware VLAN support This patchset brings support to access hardware VLAN entries in DSA and mv88e6xxx, through switchdev VLAN objects. In the following example, ports swp[0-2] belong to bridge br0, and ports swp[3-4] belong to bridge br1. Here's an example of what can be achieved after this patchset: # bridge vlan add dev swp1 vid 100 master # bridge vlan add dev swp2 vid 100 master # bridge vlan add dev swp3 vid 100 master # bridge vlan add dev swp4 vid 100 master # bridge vlan del dev swp1 vid 100 master The above commands correctly programmed hardware VLAN 100 for port swp2, while ports swp3 and swp4 use software VLAN 100, as shown with: # bridge vlan port vlan ids swp0 None swp0 swp1 None swp1 swp2 100 swp2 100 swp3 100 swp3 swp4 100 swp4 br0 None br1 None Assuming that port 5 is the CPU port, the hardware VLAN table would contain the following data: VID FID SID 0 1 2 3 4 5 6 100 8 0 x x t x x t x Where 'x' means excluded, and 't' means tagged. Also, adding an FDB entry to VLAN 100 for port swp2 like this: # bridge fdb add 3c:97:0e:11:6e:30 dev swp2 vlan 100 Would result in the following example output: # bridge fdb # 01:00:5e:00:00:01 dev eth0 self permanent # 01:00:5e:00:00:01 dev eth1 self permanent # 00:50:d2:10:78:15 dev swp0 master br0 permanent # 00:50:d2:10:78:15 dev swp2 vlan 100 master br0 permanent # 3c:97:0e:11:6e:30 dev swp2 vlan 100 self static # 00:50:d2:10:78:15 dev swp3 master br1 permanent # 00:50:d2:10:78:15 dev swp3 vlan 100 master br1 permanent And the Address Translation Unit would contain: DB T/P Vec State Addr 008 Port 004 e 3c:97:0e:11:6e:30 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8efdda4a1b609ac40c4729109215f9c77f938fdc Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:23 2015 -0400 net: dsa: mv88e6xxx: use port 802.1Q mode Secure This commit changes the 802.1Q mode of each port from Disabled to Secure. This enables the VLAN support, by checking the VTU entries on ingress. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d3b33e60206f40c802581fa35316a6ccdb00caa Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:22 2015 -0400 net: dsa: mv88e6xxx: add VLAN Load support Implement port_pvid_set and port_vlan_add to add new entries in the VLAN hardware table, and join ports to them. The patch also implement the STU Get Next and Load Purge operations, since it is required to have a valid STU entry for at least all VLANs. Each VLAN has its own forwarding database, with FID num_ports+1 to 4095. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7dad08d738222e998bc27f67f73be713d64cecb8 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:21 2015 -0400 net: dsa: mv88e6xxx: add VLAN Purge support Add support for the VTU Load Purge operation and implement the port_vlan_del driver function to remove a port from a VLAN entry, and delete the VLAN if the given port was its last member. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02512b6fccecb4cfac9a253686712e790b01ff91 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:20 2015 -0400 net: dsa: mv88e6xxx: add VLAN support to FDB dump Add an helper function to read the next valid VLAN entry for a given port. It is used in the VID to FID conversion function to retrieve the forwarding database assigned to a given VLAN port. Finally update the FDB getnext operation to iterate on the next valid port VLAN when the end of the current database is reached. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8fee95710639f1075534178701b64b66a180617 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:19 2015 -0400 net: dsa: mv88e6xxx: add VLAN Get Next support Implement the port_pvid_get and vlan_getnext driver functions required to dump VLAN entries from the hardware, with the VTU Get Next operation. Some functions and structure will be shared with STU operations, since their table format are similar (e.g. STU data entries are accessible with the same registers as VTU entries, except with an offset of 2). Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b17e864477fbc73772708655dea7fe4139c14f6 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:18 2015 -0400 net: dsa: mv88e6xxx: flush VTU and STU entries Implement the VTU Flush operation (which also flushes the STU), so that warm boots won't preserved old entries. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 111495361598205967f1be4e07d4726b0f762d60 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:17 2015 -0400 net: dsa: add support for switchdev VLAN objects Add new functions in DSA drivers to access hardware VLAN entries through SWITCHDEV_OBJ_PORT_VLAN objects: - port_pvid_get() and vlan_getnext() to dump a VLAN - port_vlan_del() to exclude a port from a VLAN - port_pvid_set() and port_vlan_add() to join a port to a VLAN The DSA infrastructure will ensure that each VLAN of the given range does not already belong to another bridge. If it does, it will fallback to software VLAN and won't program the hardware. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35103d11173b8fea874183f8aa508ae71234d299 Author: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 10:39:01 2015 -0400 net: ipv6 sysctl option to ignore routes when nexthop link is down Like the ipv4 patch with a similar title, this adds a sysctl to allow the user to change routing behavior based on whether or not the interface associated with the nexthop was an up or down link. The default setting preserves the current behavior, but anyone that enables it will notice that nexthops on down interfaces will no longer be selected: net.ipv6.conf.all.ignore_routes_with_linkdown = 0 net.ipv6.conf.default.ignore_routes_with_linkdown = 0 net.ipv6.conf.lo.ignore_routes_with_linkdown = 0 ... When the above sysctls are set, not only will link status be reported to userspace, but an indication that a nexthop is dead and will not be used is also reported. 1000::/8 via 7000::2 dev p7p1 metric 1024 dead linkdown pref medium 1000::/8 via 8000::2 dev p8p1 metric 1024 pref medium 7000::/8 dev p7p1 proto kernel metric 256 dead linkdown pref medium 8000::/8 dev p8p1 proto kernel metric 256 pref medium 9000::/8 via 8000::2 dev p8p1 metric 2048 pref medium 9000::/8 via 7000::2 dev p7p1 metric 1024 dead linkdown pref medium fe80::/64 dev p7p1 proto kernel metric 256 dead linkdown pref medium fe80::/64 dev p8p1 proto kernel metric 256 pref medium This also adds devconf support and notification when sysctl values change. v2: drop use of rt6i_nhflags since it is not needed right now Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dinesh Dutt <ddutt@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cea45e208d700e9d633a636384a49f19cda979b7 Author: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 10:39:00 2015 -0400 net: track link status of ipv6 nexthops Add support to track current link status of ipv6 nexthops to match recent changes that added support for ipv4 nexthops. This takes a simple approach to track linkdown status for next-hops and simply checks the dev for the dst entry and sets proper flags that to be used in the netlink message. v2: drop use of rt6i_nhflags since it is not needed right now Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dinesh Dutt <ddutt@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e3d04fd7d70679eed631ba5889f81b2d9415404 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Aug 13 09:44:22 2015 +0530 cxgb4: Add MPS tracing support Handle TRACE_PKT, stack can sniff them on the first port Add debubfs enrty to configure tracing for offload traffic like iWARP & iSCSI for debugging purpose. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f02e58f91a121ec909efad06b0a7aa806e1f7a84 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Thu Aug 13 12:01:33 2015 +0800 net/fddi: remove HWM_REVERSE() macro HWM_REVERSE() macro is unused, remove it. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4fc02f24c223ee8d668bf2d39bb8a2dbd61b40e Merge: aa62eff e9a5e8c Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Fri Aug 14 12:08:39 2015 +1000 Merge tag 'modsign-pkcs7-20150812-3' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next commit 96625eadca1bb8832fb502f0899a543695f1ba35 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Mar 17 17:32:45 2015 +0800 usb: chipidea: add tx/rx burst size configuration interface The user can adjust it through dts or platform data Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit bd6e9d115df7fc6f11f3021c6fc05e3eaeb04a32 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Aug 7 15:08:02 2015 +0800 Doc: usb: ci-hdrc-usb2: add tx(rx)-burst-config-dword for binding doc It is used to override the default setting for burst size, changing burst size takes effect only when the SBUSCFG.AHBBRST = 0. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit ed6e5eb50f7f07561d6a40f18bc11484736098db Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Nov 5 14:58:32 2014 +0800 usb: chipidea: usbmisc_imx: add non-burst setting for imx6 With this setting and AHBBRST at SBUSCFG as "Incremental burst of unspecified length", each non-burst size can be taken as single transfer. It is benefit for non-burst size transfer. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 65668718f2c5b76d5f4513564a3c56672bb07892 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Mar 17 14:21:00 2015 +0800 usb: chipidea: add ahb burst configuration interface The users can change it through dts or platform data if they want to change the default value. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit c6fba7b750efe64a69dd83e0ff7249abd0e783aa Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Jul 28 13:33:15 2015 +0800 Doc: usb: ci-hdrc-usb2: add ahb-burst-config for binding doc It is used to change ahb burst configuration for platforms, it is vendor specific. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 0ef877a408ebaa4d65ab1f886100dab198bf673e Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Oct 30 11:10:04 2014 +0800 usb: chipidea: imx: add stream mode enable for device mode at imx6sl/imx6sx Stream mode enable is known for better performance, this stream mode enable patch has been passed with stress tests at device mode for imx6sl and imx6sx, and no issue is found. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 8022d3d51c6fb14736e26fd13caca91a38e07580 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Oct 30 09:15:15 2014 +0800 usb: chipidea: define stream mode disable for both roles The system bus and chipidea IP have different limitations for both host and device mode. For example, with below errata, we need to enable SDIS(Stream Disable Mode) at host mode. But we don't want it for device mode at the same system. TAR 9000378958 Title: Non-Double Word Aligned Buffer Address Sometimes Causes Host to Hang on OUT Retry Impacted Configuration: Host mode, all transfer types Description: The host core operating in streaming mode may under run while sending the data packet of an OUT transaction. This under run can occur if there are unexpected system delays in fetching the remaining packet data from memory. The host forces a bad CRC on the packet, the device detects the error and discards the packet. The host then retries a Bulk, Interrupt, or Control transfer if an under run occurs according to the USB specification. During simulations, it was found that the host does not issue the retry of the failed bulk OUT. It does not issue any other transactions except SOF packets that have incorrect frame numbers. The second failure mode occurs if the under run occurs on an ISO OUT transaction and the next ISO transaction is a zero byte packet. The host does not issue any transactions (including SOFs). The device detects a Suspend condition, reverts to full speed, and waits for resume signaling. A third failure mode occurs when the host under runs on an ISO OUT and the next ISO in the schedule is an ISO OUT with two max packets of 1024 bytes each. The host should issue MDATA for the first OUT followed by DATA1 for the second. However, it drops the MDATA transaction, and issues the DATA1 transaction. The system impact of this bug is the same regardless of the failure mode observed. The host core hangs, the ehci_ctrl state machine waits for the protocol engine to send the completion status for the corrupted transaction, which never occurs. No indication is sent to the host controller driver, no register bits change and no interrupts occur. Eventually the requesting application times out. Detailed internal behavior: The EHCI control state machine (ehci_ctrl) in the DMA block is responsible for parsing the schedules and initiating all transactions. The ehci_ctrl state machine passes the transaction details to the protocol block by writing the transaction information in to the TxFIFO. It then asserts the pe_hst_run_pkt signal to inform the host protocol state machine (pe_hst_state) that there is a packet in the TxFIFO. A tag of 0x0 indicates a start of packet with the data providing the following information: 35:32 Tag 31:30 Reserved 29:23 Endpoint (lowest 4 bits) 22:16 Address 15:10 Reserved 9:8 Endpoint speed 7:6 Endpoint type 5:6 Data Toggle 3:0 PID The pe_hst_state reads the packet information and constructs the packet and issues it to the PHY interface. The ehci_ctrl state machine writes the start transaction information in to the TxFIFO as 0x03002910c for the OUT packet that had the under run error. However, it writes 0xC3002910C for the retry of the Out transaction, which is incorrect. The pe_hst_state enters a bus timeout state after sending the bad CRC for the packet that under ran. It then purges any data that was back filled in to the TxFIFO for the packet that under ran. The pe_hst_state machine stops purging the TxFIFO when it is empty or if it reads a location that has a tag of 0x0, indicating a start of packet command. The pe_hst_state reads 0xC3002910C and discards it as it does not decode to a start of packet command. It continues to purge the OUT data that has been pre-buffered for the OUT retry . The pe_hst_state detects the hst_packet_run signal and attempts to read the PID and address information from the TxFIFO. This location has packet data and so does not decode to a valid PID and so falls through to the PE_HST_SOF_LOAD state where the frame_num_counter is updated. The frame_num_counter is updated with the data in the TxFIFO. In this case, the data is incorrect as the ehci_ctrl state machine did not initiate the load. The hst_pe_state machine detects the SOF request signal and sends an SOF with the bad frame number. Meanwhile, the ehci_ctrl state machine waits indefinitely in the run_pkt state waiting for the completion status from pe_hst_state machine, which will never happen. The ISO failure case is similar except that there is no retry for ISO. The ehci_ctrl state machine moves to the next transfer in the periodic schedule. If the under run occurs on the last entry of the periodic list then it moves to the Async schedule. In the case of ISO OUT simulations, the next ISO is a zero byte OUT and again the start of packet command gets corrupted. The TxFIFO is empty when the hst_pe_state attempts to read the Address and PID information as the transaction is a zero byte packet. This results in the hst_pe_state machine staying in the GET_PID state, which means that it does not issue any transactions (including SOFs). The device detects a Suspend condition and reverts to full speed mode and waits for a Resume or Reset signal. The EHCI specification allows a Non-DoubleWord (32 bits) offset to be used as a current offset for Buffer Pointer Page 0 of the qTD. In Non-DoubleWord aligned cases, the core reads the packet data from the AHB memory, performs the alignment operation before writing it in to the TxFIFO as a 32 bit data word. An End Of Packet tag (EOP) is written to the TxFIFO after all the packet data has been written in to the TxFIFO. The alignment function is reset to Idle by the EOP tag. The corruption of the start of packet command arises because the packet buffer for the OUT transaction that under ran is not aligned to a DoubleWord, and hence no EOP tag is written to the TxFIFO. The alignment function is still active when the start packet information is written in to the TxFIFO for the retry of the bulk packet or for the next transaction in the case of an under run on an ISO. This results in the corruption of the start tag and the transaction information. Click for waveform showing the command 0x 0000300291 being written in to the TX FIFO for the Out that under ran. Click for waveform showing the command 0xC3002910C written to the TxFIFO instead of 0x 0000300291 Versions affected: Versions 2.10a and previous versions How discovered: Customer simulation Workaround: 1- The EHCI specification allows a non-DoubleWord offset to be used as a current offset for Buffer Pointer Page 0 of the qTD. However, if a DoubleWord offset is used then this issue does not arise. 2- Use non streaming mode to eliminate under runs. Resolution: The fix involves changes to the traffic state machine in the vusb_hs_dma_traf block. The ehci_ctrl state machine updates the context information by encoding the transaction results on the hst_op_context_update signals at the end of a transaction. The signal hst_op_context_update is added to the traffic state machine, and the tx_fifo_under_ran_r signal is generated if the transaction results in an under run error. Click for waveform The traffic state machine then traverses to the do_eop states if the tx_fifo_under_ran error is asserted. Thus an EOP tag is written in to the TxFIFO as shown in this waveform . The EOP tag resets the align state machine to the Idle state ensuring that the next command written by the echi_ctrl state machine does not get corrupted. File(s) modified: RTL code fixed: â?¦.. Method of reproducing: This failure cannot be reproduced in the current test bench. Date Found: March 2010 Date Fixed: June 2010 Update information: Added the RTL code fix Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit a4da4f12b4a7e7072753ebae9b2ccd72b89c3392 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Jul 28 10:08:32 2015 +0800 usb: chipidea: udc: zero-length packet is only needed for TX The zero-length packet is the sendor tells the receiver that there is no more data, so it is only needed at the TX side. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 11a27098e884b8eb797f1579ebc51cb0e0510cc3 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Aug 5 10:16:19 2015 +0800 usb: chipidea: host: override hcd reset API The system configuration API should be called before the controller run, otherwise, undefined results may occur. So, we override hcd reset API, and add system configuration API after controller reset. Cc: Li Jun <peter.chen@xxxxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit ef12da914ed696745b495bea22aea137e88cffb6 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Aug 6 15:09:54 2015 +0200 usb: chipidea: imx: properly check for usbmisc If usbmisc hasn't probed yet, defer the probe. It's not enough to check if the platform device for the OF node of the usbmisc has been registered, but it also needs to have been probed already before we can call imx_usbmisc_init(). This can happen if the order in which devices are probed change due to async probing or on-demand probing of dependencies. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> commit bc24937943d9f71a1e32b5dc4e2f0ef8fcc07b64 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Wed Jul 29 13:11:11 2015 +0800 usb: chipidea: debug: add runtime pm for register access Add runtime pm operations for registers access to avoid system hang. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> commit 158ec071fb5243e5c49259d2dbc4c8dbaed24c47 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Sat Jun 27 00:34:48 2015 -0400 usb:chipidea:Make the function hw_alloc_repmap have a return type of void This makes the function hw_alloc_repmap be declared to have a return type of void now due to this particular function never returning a error code to its caller due to this function always running successfully to completion nor it's caller putting the return value into a variable in order to check if a error code is passed from the function hw_alloc_repmap when calling this function. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> commit 1311d6e3ea3316e9d2383219a36353ad335f6932 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Jul 14 15:43:02 2015 +0800 usb: chipidea: host: delete the redundancy ci_hdrc struct The struct ci_hdrc is the drvdata for hcd device, so we don't need to introduce extra ci_hdrc structure for ehci. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit df96ed8dced21426c54c7f69cf7513e75280957a Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Sep 22 16:45:39 2014 +0800 usb: chipidea: introduce ITC tuning interface ITC (Interrupt Threshold Control) is used to set the maximum rate at which the host/device controller will issue interrupts. The default value is 8 (1ms) for it. EHCI core will modify it to 1, but device mode keeps it as default value. In some use cases like Android ADB, it only has one usb request for each direction, and maximum payload data is only 4KB, so the speed is 4MB/s at most, it needs controller to trigger interrupt as fast as possible to increase the speed. The USB performance will be better if the interrupt can be triggered faster. Reduce ITC value is benefit for USB performance, but the interrupt number is increased at the same time, it may increase cpu utilization too. Most of use case cares about performance, but some may care about cpu utilization, so, we leave a platform interface for user. We set ITC as 1 (1 micro-frame) as default value which is aligned with ehci core default value. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 1bd57127d4aaff518cf93f4809ec2f11b2baf865 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Jul 15 13:53:05 2015 +0800 Doc: usb: ci-hdrc-usb2: add itc-setting at binding doc It is used to configure the ITC (in register USBCMD) value for kinds of applications. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit bf9c85e78d0fec61360ece46dacf9ab71ba89361 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Mar 17 10:40:50 2015 +0800 usb: chipidea: introduce ci_platform_configure It is used to configure controller parameters according to platform data, like speed, stream mode, etc, both host and device's initialization need it, most of code are the same for both roles, with this new interface, it can reduce the duplicated code and be easy to maintain in future. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 9d2effea12a3a7139daf04a2be97f18d3e6913a3 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Jul 15 13:56:26 2015 +0800 usb: chipidea: otg_fsm: delete the duplicated reset controller operation At host_stop, it will call usb_remove_hcd, and reset controller later. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 3520d462b95fff1c445faec6f54953cd8da25ca7 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Jul 17 08:44:24 2015 +0800 usb: chipidea: udc: add USB_DEVICE_A_HNP_SUPPORT request support We can support USB OTG 1.3 USB_DEVICE_A_HNP_SUPPORT request when the driver supports OTG FSM mode. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit e765bfb73ff711b1d139a4438af9ecedabb07d34 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Jun 18 11:43:34 2015 +0800 usb: chipidea: imx: enable CI_HDRC_SET_NON_ZERO_TTHA For i.mx platform, set ttctrl.ttha with non-zero value only affects sitd, and ehci core makes sure the schedule is not full when accepts new request, so it will not occur the transaction which will acorss the SoF. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 28362673129e7d4510a5a92a8b68ee47f282210b Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Jun 18 11:51:53 2015 +0800 usb: chipidea: add ttctrl.ttha control interface The register of ttctrl.ttha describes like below: - Internal TT Hub Address Representation - RW - Default = 0000000b This field is used to match against the Hub Address field in QH & siTD to determine if the packet is routed to the internal TT for directly attached FS/LS devices. If the Hub Address in the QH or siTD does not match this address then the packet will be broadcast on the High Speed ports destined for a downstream High Speed hub with the address in the QH/siTD. In silicon RTL, this entry only affects QH and siTD, and the hub.addr at both QH and siTD are 0 in ehci core for chipidea (with hcd->has_tt = 1). So, for QH, if the "usage_tt" flag at RTL is 0, set CI_HDRC_SET_NON_ZERO_TTHA will not affect QH (with non-hs device); for siTD, set this flag will change remaining space requirement for the last transaction from 1023 bytes to 188 bytes, it can increase the number of transactions within one frame, ehci periodic schedule code will not queue the packet if the frame space is full, so it is safe to set this flag for siTD. With this flag, it can fix the problem Alan Stern reported below: http://www.spinics.net/lists/linux-usb/msg123125.html And may fix Michael Tessier's problem too. http://www.spinics.net/lists/linux-usb/msg118679.html CC: stern@xxxxxxxxxxxxxxxxxxx CC: michael.tessier@xxxxxxxxxxxx Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 8f9cb50789e76f3e224e8861adf650e55c747af4 Merge: e1474e7 a63c580 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 14 10:15:24 2015 +1000 Merge tag 'drm-amdkfd-next-fixes-2015-08-05' of git://people.freedesktop.org/~gabbayo/linux into drm-next Two small bug fixes for the code you pulled for 4.3: - Used a SHIFT define instead of a MASK define to check if a bit is turned on when destroying hqd. Luckily, this is in gfx7 interface file with amdgpu, which was used only for bring-up purposes of amdgpu, so no real effect on a running system - Used a logical AND instead of a bitwise AND operator, when initializing sdma virtual memory when using SDMA queues * tag 'drm-amdkfd-next-fixes-2015-08-05' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: fix bug when initializing sdma vm drm/amdgpu: fix bug when amdkfd destroys hqd commit e1474e7bdf6b16db41cc12b8e7b3fefd8668f3cf Merge: 1ce4200 29d1dc6 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 14 10:14:23 2015 +1000 Merge branch 'drm-sti-next-atomic-2015-08-11' of http://git.linaro.org/people/benjamin.gaignard/kernel into drm-next This serie of patches fix minor bugs around how driver sub-components are bind and planes z-ordering. The main part is about atomic support: using more atomic helpers allow us to simplify the code (~300 lines removed) and to ahve a better match between drm concepts (planes and crtc) and hardware split. [airlied: fixed up conflict in atomic code] * 'drm-sti-next-atomic-2015-08-11' of http://git.linaro.org/people/benjamin.gaignard/kernel: drm/sti: atomic crtc/plane update drm/sti: rename files and functions drm/sti: code clean up drm/sti: fix dynamic z-ordering drm: sti: fix sub-components bind commit dd19f83d6cd90e4b7a601da2ed40d2a9d70aaf10 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Aug 12 18:45:25 2015 -0700 rocker: hook ndo_neigh_destroy to cleanup neigh refs in driver Rocker driver tracks arp_tbl neighs to resolve IPv4 route nexthops. The driver uses NETEVENT_NEIGH_UPDATE for neigh adds and updates, but there is no event when the neigh is removed from the device (such as when the device goes admin down). This patches hooks ndo_neigh_destroy so the driver can know when a neigh is removed from the device. In response, the driver will purge the neigh entry from its internal tbl. I didn't find an in-tree users of ndo_neigh_destroy, so I'm not sure if this ndo is vestigial or if there are out-of-tree users. In any case, it does what I need here. An alternative design would be to generate NETEVENT_NEIGH_UPDATE event when neigh is being destroyed, setting state to NUD_NONE so driver knows neigh entry is dead. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8beb5b2613418e7ac1ffaee1f0796e77a4000be Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Aug 12 18:44:13 2015 -0700 rocker: print switch ID consistent with phys_switch_id sysfs node On sucessful probe, driver prints the switch ID. This patch changes the format of the printed ID to match what's used in sysfs phys_switch_id node. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7bbac697e4a6e64cc4bae26d57310c916aa0da7a Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Mon Aug 3 09:30:25 2015 +0800 Documentation: minor typo fix in mailbox.txt Fix minor typo so that can pass correct pointer variable for container_of(). Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> [jc: tweaked formatting] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 1ce4200df02aac780fe92c92b31497891c36c3ac Merge: e5dafc0 d485363 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 14 10:02:21 2015 +1000 Merge tag 'topic/drm-misc-2015-08-13' of git://anongit.freedesktop.org/drm-intel into drm-next Final drm-misc pull for 4.3: - fbdev emulation Kconfig option for everyone thanks to Archit. It's not everything yet bit this is fairly tricky since it spawns all drivers. - vgaarb & vgaswitcheroo polish from Thierry - some drm_irq.c cleanups (Thierry) - struct_mutex crusade from me - more fbdev panic handling removal - various things all over in drm core&helpers * tag 'topic/drm-misc-2015-08-13' of git://anongit.freedesktop.org/drm-intel: (65 commits) drm/atomic: Use KMS VBLANK API drm/irq: Document return values more consistently drm/irq: Make pipe unsigned and name consistent drm/irq: Check for valid VBLANK before dereference drm/irq: Remove negative CRTC index special-case drm/plane: Remove redundant extern drm/plane: Use consistent data types for format count vga_switcheroo: Remove unnecessary checks vga_switcheroo: Wrap overly long lines vga_switcheroo: Use pr_fmt() vga_switcheroo: Cleanup header comment vga_switcheroo: Use pr_*() instead of printk() vgaarb: Fix a few checkpatch errors and warnings vgaarb: Use vgaarb: prefix consistently in messages vgaarb: Stop complaining about absent devices drm/atomic: fix null pointer access to mode_fixup callback drm/i915: Use CONFIG_DRM_FBDEV_EMULATION drm/core: Set mode to NULL when connectors in a set drops to 0. drm/atomic: Call ww_acquire_done after check phase is complete drm/atomic: Paper over locking WARN in default_state_clear ... commit c28446c2b78fde4b47a4baf3b2cf7c3c4ca621dc Merge: 5bbbcc0 0b50dc4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 16:58:29 2015 -0700 Merge branch 'smsc911x-acpi' Jeremy Linton says: ==================== Enable smsc911x for use with ACPI This set of patches enables the front Ethernet port on the ARM Juno development platform when used with an ACPI enabled kernel. These patches covert the of_property* calls in the driver to the DT/ACPI agnostic device_property* calls, and add the arm hardware id to the acpi_match_table. To support the above changes I copied a couple routines from of_net into the properties.c file, and modified them to be ACPI/DT agnostic. I'm not 100% sure this is the correct location for these functions. But I think they are required to avoid having a dozen different implementations scattered across assorted Ethernet adapters that are being enabled to use ACPI properties. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b50dc4fc971cc788b0974ebd70f06efff1ad5d8 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 12 17:06:27 2015 -0500 Convert smsc911x to use ACPI as well as DT Add ACPI bindings for the smsc911x driver. Convert the DT specific calls to nonspecific device* calls, This allows the driver to work with both ACPI and DT configurations. Ethernet should now work when using ACPI on ARM Juno. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Reviewed-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c96b7dc0d393f12c17e0d81db15aa4a820a6ab3 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 12 17:06:26 2015 -0500 Add a matching set of device_ functions for determining mac/phy OF has some helper functions for parsing MAC and PHY settings. In cases where the platform is providing this information rather than the device itself, there needs to be similar functions for ACPI. These functions are slightly modified versions of the ones in of_net which can use information provided via DT or ACPI. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4983953dbd038fd720e7e16eb9bad5d8ea059ccf Author: David Drysdale <drysdale@xxxxxxxxxx> Date: Mon Aug 10 09:00:44 2015 +0100 Documentation: describe how to add a system call Add a document describing the process of adding a new system call, including the need for a flags argument for future compatibility, and covering 32-bit/64-bit concerns (albeit in an x86-centric way). Signed-off-by: David Drysdale <drysdale@xxxxxxxxxx> Reviewed-by: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Reviewed-by: Eric B Munson <emunson@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 5bbbcc0073331d4e37c9f91c59cfc9f5d2033860 Merge: 646244b b340b26 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 16:52:20 2015 -0700 Merge branch 'tcp-loss-probe' Yuchung Cheng says: ==================== minor tail loss probe improvements This patch series enhance the tail loss probe (TLP) on some error conditions. When TLP fails to send a probe, it will no longer extend the RTO. When it fails to send a new packet because of receiver window limit, it'll try to retransmit the last packet. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b340b26454e7ba0f5d04b4bd5c4c782f1628ebe1 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Wed Aug 12 11:18:19 2015 -0700 tcp: TLP retransmits last if failed to send new packet When TLP fails to send new packet because of receive window limit, it should fall back to retransmit the last packet instead. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fcd16c0a95a8faf4d310f94d831b22f901c5a744 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Wed Aug 12 11:18:18 2015 -0700 tcp: don't extend RTO on failed loss probe attempts If TLP was unable to send a probe, it extended the RTO to now + icsk_rto. But extending the RTO makes little sense if no TLP probe went out. With this commit, instead of extending the RTO we re-arm it relative to the transmit time of the write queue head. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 646244b223090e379070d149312b222867e42aa6 Merge: 182ad46 21696f7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 16:51:00 2015 -0700 Merge branch 'cpsw-errata-workaround' Mugunthan V N says: ==================== Add AM335x PG1.0 CPSW errata workaround With commit 870915feabdc ("drivers: net: cpsw: remove disable_irq/enable_irq as irq can be masked from cpsw itself"), CPSW on AM335x beagle bone white is broken as there is a errata for AM335x PG1.0. This patch series implements the workaround by disabling the interrupts from ARM IRQ controller for AM335x SoC in addition to the masking of interrupts in CPSW. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21696f717b3404f17dfd5433d391ef55fbcb812b Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Wed Aug 12 15:22:55 2015 +0530 ARM: dts: am33xx: update cpsw compatible CPSW driver has been updated with compatibles for enabling errata workarounds. So updating cpsw compatibles. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2095318aff16019fdedf2002222ae7076a51935 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Wed Aug 12 15:22:54 2015 +0530 ARM: dts: dra7: update cpsw compatible CPSW driver has been updated with compatibles for enabling errata workarounds. So updating cpsw compatibles. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7da1160002f1d59e79e7d89da474ff7c679a07a5 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Wed Aug 12 15:22:53 2015 +0530 drivers: net: cpsw: add am335x errata workarround for interrutps As per Am335x Errata [1] Advisory 1.0.9, The CPSW C0_TX_PEND and C0_RX_PEND interrupt outputs provide a single transmit interrupt that combines transmit channel interrupts TXPEND[7:0] and a single receive interrupt that combines receive channel interrupts RXPEND[7:0]. The TXPEND[0] and RXPEND[0] interrupt outputs are connected to the ARM Cortex-A8 interrupt controller (INTC) rather than the C0_TX_PEND and C0_RX_PEND interrupt outputs. So even though CPSW interrupt is cleared by writing appropriate values to EOI register the interrupt is not cleared in IRQ controller. So interrupt is still pending and CPU is struck in ISR, the workaround is to disable the interrupts in ARM irq controller. [1] http://www.ti.com/lit/er/sprz360f/sprz360f.pdf Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81db32a3c4627605a0e950d27a403ea02447ab60 Author: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Date: Mon Aug 10 15:16:16 2015 -0700 doc: Add more workqueue functions to the documentation There are some workqueue functions declared in workqueue.h, so include that in the workqueue section of the DocBook docs. Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 182ad468e70fc7e8ff2e5d64344c690beaa00ddd Merge: e8fed98 5b3e2e1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 16:23:11 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/cavium/Kconfig The cavium conflict was overlapping dependency changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7229b87bb269c9e18cabbc43c5fb01c81d097b24 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Sun Aug 9 22:37:46 2015 -0700 Input: elants_i2c - fix for devm_gpiod_get API change Flags are now mandatory for devm_gpiod_get(). So let's use proper flag to configure gpio for output instead of doing this by hand. Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> [Dmitry: GPIOD_ASIS -> GPIOD_OUT_LOW] Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f7ef1340bb501717372a39f4807d0ad519ebd432 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Jul 20 09:23:37 2015 -0500 PCI: Remove pci_ats_enabled() Remove pci_ats_enabled(). There are no callers outside the ATS code itself. We don't need to check ats_cap, because if we don't find an ATS capability, we'll never set ats_enabled. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit a71f938f3a9a7bc879296cd34ecae9effe5edf3f Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Jul 20 09:24:32 2015 -0500 PCI: Stop caching ATS Invalidate Queue Depth Stop caching the Invalidate Queue Depth in struct pci_dev. pci_ats_queue_depth() is typically called only once per device, and it returns a fixed value per-device, so callers who need the value frequently can cache it themselves. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit ff9bee895c4d11a519a6b2c49451376025a6af4e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:55:48 2015 -0500 PCI: Move ATS declarations to linux/pci.h so they're all together Move ATS declarations to linux/pci.h so they're all in one place. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit a021f3019db7b40f0fe85b0a64c6be21e3665fbf Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:43:27 2015 -0500 PCI: Clean up ATS error handling There's no need to BUG() if we enable ATS when it's already enabled. We don't need to BUG() when disabling ATS on a device that doesn't support ATS or if it's already disabled. If ATS is enabled, certainly we found an ATS capability in the past, so it should still be there now. Clean up these error paths. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit c39127dbaf6c267f18d1cac14e2b0ecbfaa52d63 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:38:13 2015 -0500 PCI: Use pci_physfn() rather than looking up physfn by hand Use the pci_physfn() helper rather than looking up physfn by hand. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit afdd596c42c4540308eae9f4c685d9bccc525cfc Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:35:18 2015 -0500 PCI: Inline the ATS setup code into pci_ats_init() The ATS setup code in ats_alloc_one() is only used by pci_ats_init(), so inline it there. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit 3c765399524308ab36777a443ce77e19810a97d7 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:30:26 2015 -0500 PCI: Rationalize pci_ats_queue_depth() error checking We previously returned -ENODEV for devices that don't support ATS (except that we always returned 0 for VFs, whether or not they support ATS). For consistency, always return -EINVAL (not -ENODEV) if the device doesn't support ATS. Return zero for VFs that support ATS. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit 67930995d7fb8ae7d2078822b563010b289ace2e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:27:34 2015 -0500 PCI: Reduce size of ATS structure elements The extended capabilities list is linked with 12-bit pointers, and the ATS Smallest Translation Unit and Invalidate Queue Depth fields are both 5 bits. Use u16 and u8 to hold the extended capability address and the stu and qdep values. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit d544d75ac96aa1b0a8a378826626a0fbd8ce4380 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:15:19 2015 -0500 PCI: Embed ATS info directly into struct pci_dev The pci_ats struct is small and will get smaller, so I don't think it's worth allocating it separately from the pci_dev struct. Embed the ATS fields directly into struct pci_dev. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit edc90fee916b4f0d14af9c6b5c08666747488ef8 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:05:46 2015 -0500 PCI: Allocate ATS struct during enumeration Previously, we allocated pci_ats structures when an IOMMU driver called pci_enable_ats(). An SR-IOV VF shares the STU setting with its PF, so when enabling ATS on the VF, we allocated a pci_ats struct for the PF if it didn't already have one. We held the sriov->lock to serialize threads concurrently enabling ATS on several VFS so only one would allocate the PF pci_ats. Gregor reported a deadlock here: pci_enable_sriov sriov_enable virtfn_add mutex_lock(dev->sriov->lock) # acquire sriov->lock pci_device_add device_add BUS_NOTIFY_ADD_DEVICE notifier chain iommu_bus_notifier amd_iommu_add_device # iommu_ops.add_device init_iommu_group iommu_group_get_for_dev iommu_group_add_device __iommu_attach_device amd_iommu_attach_device # iommu_ops.attach_device attach_device pci_enable_ats mutex_lock(dev->sriov->lock) # deadlock There's no reason to delay allocating the pci_ats struct, and if we allocate it for each device at enumeration-time, there's no need for locking in pci_enable_ats(). Allocate pci_ats struct during enumeration, when we initialize other capabilities. Note that this implementation requires ATS to be enabled on the PF first, before on any of the VFs because the PF controls the STU for all the VFs. Link: http://permalink.gmane.org/gmane.linux.kernel.iommu/9433 Reported-by: Gregor Dick <gdick@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit 2ec3182f9c20a9eef0dacc0512cf2ca2df7be5ad Author: Dongsu Park <dpark@xxxxxxxxxx> Date: Fri Dec 19 14:53:03 2014 +0100 Documentation: update notes in biovecs about arbitrarily sized bios Update block/biovecs.txt so that it includes a note on what kind of effects arbitrarily sized bios would bring to the block layer. Also fix a trivial typo, bio_iter_iovec. Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Kent Overstreet <kent.overstreet@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-doc@xxxxxxxxxxxxxxx Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b54ffb73cadcdcff9cc1ae0e11f502407e3e2e4c Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Tue May 19 14:31:01 2015 +0200 block: remove bio_get_nr_vecs() We can always fill up the bio now, no need to estimate the possible size based on queue parameters. Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [hch: rebased and wrote a changelog] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6cf66b4caf9c71f64a5486cadbd71ab58d0d4307 Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Mon Dec 22 12:48:42 2014 +0100 fs: use helper bio_add_page() instead of open coding on bi_io_vec Call pre-defined helper bio_add_page() instead of open coding for iterating through bi_io_vec[]. Doing that, it's possible to make some parts in filesystems and mm/page_io.c simpler than before. Acked-by: Dave Kleikamp <shaggy@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: linux-fsdevel@xxxxxxxxxxxxxxx Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: add more description in commit message] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8ae126660fddbeebb9251a174e6fa45b6ad8f932 Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Mon Apr 27 23:48:34 2015 -0700 block: kill merge_bvec_fn() completely As generic_make_request() is now able to handle arbitrarily sized bios, it's no longer necessary for each individual block driver to define its own ->merge_bvec_fn() callback. Remove every invocation completely. Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx> Cc: drbd-user@xxxxxxxxxxxxxxxx Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Yehuda Sadeh <yehuda@xxxxxxxxxxx> Cc: Sage Weil <sage@xxxxxxxxxxx> Cc: Alex Elder <elder@xxxxxxxxxx> Cc: ceph-devel@xxxxxxxxxxxxxxx Cc: Alasdair Kergon <agk@xxxxxxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: dm-devel@xxxxxxxxxx Cc: Neil Brown <neilb@xxxxxxx> Cc: linux-raid@xxxxxxxxxxxxxxx Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Acked-by: NeilBrown <neilb@xxxxxxx> (for the 'md' bits) Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: also remove ->merge_bvec_fn() in dm-thin as well as dm-era-target, and resolve merge conflicts] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7140aafce2fc14c5af02fdb7859b6bea0108be3d Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Wed Sep 25 13:37:01 2013 -0700 md/raid5: get rid of bio_fits_rdev() Remove bio_fits_rdev() as sufficient merge_bvec_fn() handling is now performed by blk_queue_split() in md_make_request(). Cc: Neil Brown <neilb@xxxxxxx> Cc: linux-raid@xxxxxxxxxxxxxxx Acked-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: add more description in commit message] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7ef6b12a1966f273afb750e19e1e8129bea48fec Author: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Date: Wed May 6 22:51:24 2015 -0700 md/raid5: split bio for chunk_aligned_read If a read request fits entirely in a chunk, it will be passed directly to the underlying device (providing it hasn't failed of course). If it doesn't fit, the slightly less efficient path that uses the stripe_cache is used. Requests that get to the stripe cache are always completely split up as necessary. So with RAID5, ripping out the merge_bvec_fn doesn't cause it to stop work, but could cause it to take the less efficient path more often. All that is needed to manage this is for 'chunk_aligned_read' do some bio splitting, much like the RAID0 code does. Cc: Neil Brown <neilb@xxxxxxx> Cc: linux-raid@xxxxxxxxxxxxxxx Acked-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b49a0871be31a745b2ef7912653683a1876ff701 Author: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Date: Fri May 22 00:46:56 2015 -0700 block: remove split code in blkdev_issue_{discard,write_same} The split code in blkdev_issue_{discard,write_same} can go away now that any driver that cares does the split. We have to make sure bio size doesn't overflow. For discard, we set max discard sectors to (1<<31)>>9 to ensure it doesn't overflow bi_size and hopefully it is of the proper granularity as long as the granularity is a power of two. Acked-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0e28997ec476bad4c7dbe0a08775290051325f53 Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Mon Dec 2 18:30:25 2013 -0800 btrfs: remove bio splitting and merge_bvec_fn() calls Btrfs has been doing bio splitting from btrfs_map_bio(), by checking device limits as well as calling ->merge_bvec_fn() etc. That is not necessary any more, because generic_make_request() is now able to handle arbitrarily sized bios. So clean up unnecessary code paths. Cc: Chris Mason <clm@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Cc: linux-btrfs@xxxxxxxxxxxxxxx Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> [dpark: add more description in commit message] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 749b61dab30736eb95b1ee23738cae90973d4fc3 Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Sat Nov 23 23:11:25 2013 -0800 bcache: remove driver private bio splitting code The bcache driver has always accepted arbitrarily large bios and split them internally. Now that every driver must accept arbitrarily large bios this code isn't nessecary anymore. Cc: linux-bcache@xxxxxxxxxxxxxxx Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: add more description in commit message] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c66a14d07c136cc35d4dcb84bfc7bc188be24d4c Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Sat Nov 23 22:30:22 2013 -0800 block: simplify bio_add_page() Since generic_make_request() can now handle arbitrary size bios, all we have to do is make sure the bvec array doesn't overflow. __bio_add_page() doesn't need to call ->merge_bvec_fn(), where we can get rid of unnecessary code paths. Removing the call to ->merge_bvec_fn() is also fine, as no driver that implements support for BLOCK_PC commands even has a ->merge_bvec_fn() method. Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: rebase and resolve merge conflicts, change a couple of comments, make bio_add_page() warn once upon a cloned bio.] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 54efd50bfd873e2dbf784e0b21a8027ba4299a3e Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Thu Apr 23 22:37:18 2015 -0700 block: make generic_make_request handle arbitrarily sized bios The way the block layer is currently written, it goes to great lengths to avoid having to split bios; upper layer code (such as bio_add_page()) checks what the underlying device can handle and tries to always create bios that don't need to be split. But this approach becomes unwieldy and eventually breaks down with stacked devices and devices with dynamic limits, and it adds a lot of complexity. If the block layer could split bios as needed, we could eliminate a lot of complexity elsewhere - particularly in stacked drivers. Code that creates bios can then create whatever size bios are convenient, and more importantly stacked drivers don't have to deal with both their own bio size limitations and the limitations of the (potentially multiple) devices underneath them. In the future this will let us delete merge_bvec_fn and a bunch of other code. We do this by adding calls to blk_queue_split() to the various make_request functions that need it - a few can already handle arbitrary size bios. Note that we add the call _after_ any call to blk_queue_bounce(); this means that blk_queue_split() and blk_recalc_rq_segments() don't need to be concerned with bouncing affecting segment merging. Some make_request_fn() callbacks were simple enough to audit and verify they don't need blk_queue_split() calls. The skipped ones are: * nfhd_make_request (arch/m68k/emu/nfblock.c) * axon_ram_make_request (arch/powerpc/sysdev/axonram.c) * simdisk_make_request (arch/xtensa/platforms/iss/simdisk.c) * brd_make_request (ramdisk - drivers/block/brd.c) * mtip_submit_request (drivers/block/mtip32xx/mtip32xx.c) * loop_make_request * null_queue_bio * bcache's make_request fns Some others are almost certainly safe to remove now, but will be left for future patches. Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Ming Lei <ming.lei@xxxxxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxx> Cc: Alasdair Kergon <agk@xxxxxxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: dm-devel@xxxxxxxxxx Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx> Cc: drbd-user@xxxxxxxxxxxxxxxx Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Geoff Levand <geoff@xxxxxxxxxxxxx> Cc: Jim Paris <jim@xxxxxxxx> Cc: Philip Kelleher <pjk1939@xxxxxxxxxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Acked-by: NeilBrown <neilb@xxxxxxx> (for the 'md/md.c' bits) Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: skip more mq-based drivers, resolve merge conflicts, etc.] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bdd2648e50508cbb2eb6d1c303e4d2d6d7505400 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Aug 12 07:41:11 2015 +0900 ARM: EXYNOS: switch to using generic cpufreq driver for exynos4x12 The new CPU clock type allows the use of generic CPUfreq driver. Switch Exynos4x12 to using generic cpufreq driver. Previously (when exynos-cpufreq driver was used with boost functionality) ARM_EXYNOS_CPU_FREQ_BOOST_SW config option (which enabled boost functionality) selected EXYNOS_THERMAL one. After switching Exynos4x12 platforms to use cpufreq-dt driver boost support is enabled in the cpufreq-dt driver itself (because there are turbo OPPs defined in the board's DTS file). However we still would like to allow enabling boost support only if thermal support is also enabled for Exynos platforms. To achieve this make ARCH_EXYNOS config option select THERMAL and EXYNOS_THERMAL ones. Please also note that the switch to use the generic cpufreq-dt driver fixes the minor issue present with the old code (support for 'boost' mode in the exynos-cpufreq driver was enabled for all supported SoCs even though 'boost' frequency was provided only for Exynos4x12 ones). Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Cc: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Tested-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 86a76027457633488b0a83d5e2bb944159885605 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 13 06:55:41 2015 +0900 perf probe: Fix to add missed brace around if block The commit 75186a9b09e4 (perf probe: Fix to show lines of sys_ functions correctly) introduced a bug by a missed brace around if block. This fixes to add it. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Fixes: 75186a9b09e4 ("perf probe: Fix to show lines of sys_ functions correctly") Link: http://lkml.kernel.org/r/20150812215541.9088.62425.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2e169bb3ccc20fea5e6f59d1abcea249c6598163 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 12:01:10 2015 +0200 iommu/io-pgtable-arm: Move init-fn declarations to io-pgtable.h Avoid extern declarations in c files. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 6e6cfbc859481b2af7282170ff732fa5e035d842 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:15:13 2015 +0200 iommu/msm: Use BUG_ON instead of if () BUG() Found by a coccicheck script. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 543c8dcf1d3762c6fe372acf78eedc8898709106 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:56:59 2015 +0200 iommu/vt-d: Access iomem correctly This fixes wrong accesses to iomem introduced by the kdump fixing code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit b690420a406256c83ef2c7e96466052e5cab7676 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:32:18 2015 +0200 iommu/vt-d: Make two functions static These functions are only used in that file and can be static. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit dc02e46e8d0234eed9f6e42f50763b406c380bc4 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:15:13 2015 +0200 iommu/vt-d: Use BUG_ON instead of if () BUG() Found by a coccicheck script. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 30e93761fbf706c0f8a6f7d1abc1b0ddbeea208c Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:13:17 2015 +0200 iommu/vt-d: Return false instead of 0 in irq_remapping_cap() The function return type is bool, so return false instead of 0. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 23d3a98c13ee0ffe2647121fac7533282643e6f1 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:15:13 2015 +0200 iommu/amd: Use BUG_ON instead of if () BUG() Found by a coccicheck script. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7aec51cbf0646cc15d719b08caea931576dc7f2a Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Aug 12 15:48:37 2015 -0700 perf tools: Support static linking with libdw The Fedora 22 version of libdw requires a couple of extra libraries to link. With a dynamic link the dependencies are pulled in automatically, but this doesn't work for static linking. Add the needed libraries explicitely to the feature probe and the Makefile. v2: Explicitly check for static linking and only add the dependencies when -static is set. This is to avoid regressions on Arnaldo's system. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439419717-20601-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4160cd9e5ef9ac9f1c9c429e1606bf08a56c8a49 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:31:48 2015 +0200 iommu/amd: Make a symbol static Symbol is only used in that file and can be static. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a130e69f28ba1d180242b581a15d09f06dad9227 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:07:25 2015 +0200 iommu/amd: Simplify allocation in irq_remapping_alloc() Allocate the irq data only in the loop. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5e3863a74fb70d6a432504ba2fa16a998cd3736b Author: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 02:36:14 2015 +0900 cpufreq: exynos: Remove unselectable rule for arm-exynos-cpufreq.o Commit 966f2a71a92d ("cpufreq: exynos: remove Exynos4x12 specific cpufreq driver support") deleted option ARM_EXYNOS_CPUFREQ but missed to delete a rule in drivers/cpufreq/Makefile which depends on that option. Remove unselectable rule for arm-exynos-cpufreq.o from drivers/cpufreq/Makefile. Signed-off-by: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ba032795463bfc461937dbde7a345103a47f969b Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 14 02:29:48 2015 +0900 ARM: dts: add iommu property to JPEG device for exynos4 JPEG codec node has been added in parallel to the patch, which added support for IOMMU to Exynos platform, so JPEG device for Exynos4 SoCs lacked IOMMU property. This patch fixes this issue. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c8b34e36ca1a3e4c8ada87acefbb25119ee89347 Author: Alexis Ballier <aballier@xxxxxxxxxx> Date: Fri Aug 14 02:27:33 2015 +0900 ARM: dts: enable SPI1 for exynos4412-odroidu3 SPI1 is available on IO Port #2 (as depicted on their website) in PCB Revision 0.5 of Hardkernel Odroid U3 board. The shield connects a 256KiB spi-nor flash on that bus. Signed-off-by: Alexis Ballier <aballier@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit e0b12512b40c7a1cc0825773d118ecfdb464be41 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Thu Jul 30 23:12:43 2015 +0900 ARM: dts: Add SPI CS on exynos5250-snow Although there is only one choice of chipselect it is necessary to specify it. The driver cannot claim the gpio otherwise. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 5600f8cc8aa8bdcf335e84a7f85eae204b379bae Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Jul 30 23:02:22 2015 +0900 ARM: dts: Add CPU cooling binding for exynos3250 boards This patch add the cooling device to control the overheating issue on Exynos3250-based Rinato/Monk board. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit df09df6f9ac384fef825c2c21c62cd576acda17f Author: Chanho Park <parkch98@xxxxxxxxx> Date: Thu Jul 30 23:11:00 2015 +0900 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order The odroid-xu3 board which is based on exynos5422 not exynos5800 is booted from cortex-a7 core unlike exynos5800. The odroid-xu3's cpu order is quite strange. cpu0 and cpu5-7 are cortex-a7 cores and cpu1-4 are cortex-a15 cores. To correct this mis-odering, I added exynos5422-cpus.dtsi and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and cpu4-7 are cortex-a15. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Chanho Park <parkch98@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f44997412e5b39b6a1231f16555120c5b2aae0ed Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Aug 12 07:38:45 2015 +0900 ARM: dts: add CPU OPP and regulator supply property for exynos4x12 For Exynos4x12 platforms, add CPU operating points (using opp-v2 bindings) and CPU regulator supply properties for migrating from Exynos specific cpufreq driver to using generic cpufreq driver. Based on the earlier work by Thomas Abraham. Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Andreas Faerber <afaerber@xxxxxxx> Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Tested-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 48816affd931c44045913873dff21693cd7fc948 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Jul 24 12:55:21 2015 +0900 ARM: dts: Add CPU OPP and regulator supply property for exynos3250 This patch add CPU operating points which include CPU frequency and regulator voltage to use generic cpufreq drivers. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 846c53009170bae6cfe0b75eb793c6966d2c0f83 Author: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Date: Wed Jul 1 15:10:36 2015 +0200 ARM: dts: add CPU OPP and regulator supply property for exynos5250 For Exynos5250 platforms, add CPU operating points and CPU regulator supply properties for migrating from Exynos specific cpufreq driver to using generic cpufreq driver. Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx> [b.zolnierkie: split Exynos5250 support from the original patch] [b.zolnierkie: added CPU regulator supply property for Spring boards] Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 58c036a7ac417013bc01d09ae876265069e189d9 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Jul 24 12:58:41 2015 +0900 ARM: EXYNOS: Add exynos3250 compatible to use generic cpufreq driver This patch add exynos3250 compatible string to exynos_cpufreq_matches for supporting generic cpufreq driver on Exynos3250. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c913f022dacad8c92ce1ed6bca7587e45a3b380e Author: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Date: Wed Jul 1 15:10:37 2015 +0200 ARM: EXYNOS: switch to using generic cpufreq driver for exynos5250 The new CPU clock type allows the use of generic CPUfreq driver. Switch Exynos5250 to using generic cpufreq driver. Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx> [b.zolnierkie: split Exynos5250 support from the original patch] Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 966f2a71a92d1e7adafb5c62d1634beb451b1500 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Aug 12 07:44:22 2015 +0900 cpufreq: exynos: remove Exynos4x12 specific cpufreq driver support Exynos4x12 based platforms have switched over to use generic cpufreq driver for cpufreq functionality. So the Exynos specific cpufreq support for these platforms can be removed. Also once Exynos4x12 based platforms support have been removed the shared exynos-cpufreq driver is no longer needed and can be deleted. Based on the earlier work by Thomas Abraham. Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Tested-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit cd6aceef028afc3fa216e3e7bc94cc31632cad43 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Aug 12 07:36:47 2015 +0900 clk: exynos4x12: add cpu clock configuration data and instantiate cpu clock With the addition of the new Samsung specific cpu-clock type, the arm clock can be represented as a cpu-clock type. Add the CPU clock configuration data and instantiate the CPU clock type for Exynos4x12. Based on the earlier work by Thomas Abraham. Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Michael Turquette <mturquette@xxxxxxxxxxxx> Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Tested-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 41609892701e26724b8617201f43254cadf2e7ae Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:45 2015 +0530 blk-cgroup: Drop unlikely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 11cec15bf3fb498206ef63b1fa26c27689e02d0e Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Aug 6 14:20:31 2015 +0200 iommu/tegra-smmu: Parameterize number of TLB lines The number of TLB lines was increased from 16 on Tegra30 to 32 on Tegra114 and later. Parameterize the value so that the initial default can be set accordingly. On Tegra30, initializing the value to 32 would effectively disable the TLB and hence cause massive latencies for memory accesses translated through the SMMU. This is especially noticeable for isochronuous clients such as display, whose FIFOs would continuously underrun. Fixes: 891846516317 ("memory: Add NVIDIA Tegra memory controller support") Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 1ec0e115f8604940491861d207cc1e1478db97b3 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue May 19 16:49:12 2015 +0200 ARM: tegra: cpuidle: implement cpuidle_state.enter_freeze() This callback is expected to do the same as enter() but it has to guarantee that interrupts aren't enabled at any point in its execution, as the tick is frozen. It will be called when the system goes to suspend-to-idle and will reduce power usage because CPUs won't be awaken for unnecessary IRQs. By setting the CPUIDLE_FLAG_TIMER_STOP flag, we can reuse the same code for both the enter() and enter_freeze() callbacks. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit fc0cf1773434c153a831067a29935e4627803583 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Feb 23 15:24:11 2015 +0100 ARM: tegra: Disable cpuidle if PSCI is available This is only relevant on Tegra114 and Tegra124, because earlier Tegra generations used Cortex-A9 without secure extensions. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 592431b0369dc7a1f4a68f15ff0c48d94b66297f Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 4 15:25:03 2015 +0200 soc/tegra: pmc: Use existing pclk reference The driver requests the pclk clock at probe time already and stores its reference to it in struct tegra_pmc, so there is no need to look it up everytime it is needed. Use the existing reference instead. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4a4466a6a418b96d6cb07ffb46cefa13df8f12ef Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jul 3 11:50:27 2015 +0200 soc/tegra: pmc: Remove unnecessary return statement Functions returning no value don't need an explicit return statement. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e538674740e632b57091f72cc06c0b03b45fb021 Author: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Date: Tue Aug 11 11:30:31 2015 +0200 nfsd: Fix two typos in comments (espect -> expect) and (no -> know) Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9462510ce31e2b91156bdcc33e4c737e6768e5f8 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Jul 14 10:29:55 2015 +0200 pinctrl: tegra: Only set the gpio range if needed If the gpio DT node has the gpio-ranges property, the range will be added by the gpio core and doesn't need to be added by the pinctrl driver. By having the gpio-ranges property, we have an explicit dependency from the gpio node to the pinctrl node and we can stop using the deprecated pinctrl_add_gpio_range() function. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c87fb4a378f93f114b9906e180d83877cee4e7f4 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Thu Aug 6 12:47:02 2015 -0400 lockd: NLM grace period shouldn't block NFSv4 opens NLM locks don't conflict with NFSv4 share reservations, so we're not going to learn anything new by watiting for them. They do conflict with NFSv4 locks and with delegations. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4bc6603778e473938ae815123b786e724084790c Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Jul 30 09:52:13 2015 -0400 nfsd: include linux/nfs4.h in export.h export.h refers to the pnfs_layouttype enum, which is defined there. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7c9fd23ff12e04f36be5ae5ff5dfe72fb913f215 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 31 14:58:21 2015 +0900 soc: tegra: Remove redundant $(CONFIG_ARCH_TEGRA) in Makefile Kbuild descends into drivers/soc/tegra/ only when CONFIG_ARCH_TEGRA is enabled. (see drivers/soc/Makefile) $(CONFIG_ARCH_TEGRA) in drivers/soc/tegra/Makefile always evaluates to 'y'. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 15ee1f7d1432c8a781df5d8f92c18bd952088667 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Aug 11 18:12:03 2015 +0800 clk: rockchip: add pclk_pd_pmu to the list of rk3288 critical clocks pclk_pd_pmu needs to keep running and with the upcoming gpio clock handling this is not always the case anymore. So add it to the list of critical clocks for now. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Lin Huang <hl@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 588c43a7bd5a53ae523b318e1db16bdd59963a3c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 10:45:12 2015 +0100 memory: tegra: Add Tegra210 support Add the table of memory clients and SWGROUPs for Tegra210 to enable SMMU support for this new SoC. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3c01cf3befa66cc21f06672685cf59a53056887a Author: Paul Walmsley <paul@xxxxxxxxx> Date: Thu Jun 4 19:33:48 2015 +0000 memory: tegra: Add support for a variable-size client ID bitfield Recent versions of the Tegra MC hardware extend the size of the client ID bitfield in the MC_ERR_STATUS register by one bit. While one could simply extend the bitfield for older hardware, that would allow data from reserved bits into the driver code, which is generally a bad idea on principle. So this patch instead passes in the client ID mask from from the per-SoC MC data. There's no MC support for T210 (yet), but when that support winds up in the kernel, the appropriate soc->client_id_mask value for that chip will be 0xff. Based on an original patch by David Ung <davidu@xxxxxxxxxx>. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: David Ung <davidu@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4080e99b8341f81c4ed1e17d8ef44d171c473a1b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:30:12 2015 +0100 iommu/tegra-smmu: Factor out tegra_smmu_set_pde() This code is used both when creating a new page directory entry and when tearing it down, with only the PDE value changing between both cases. Factor the code out so that it can be reused. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> [treding@xxxxxxxxxx: make commit message more accurate] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7ffc6f066eb73b07a0ef7c94d05107aef271ac21 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 6 14:56:39 2015 +0200 iommu/tegra-smmu: Extract tegra_smmu_pte_get_use() Extract the use count reference accounting into a separate function and separate it from allocating the PTE. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> [treding@xxxxxxxxxx: extract and write commit message] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 707917cbc6ac0c0ea968b5eb635722ea84808286 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:30:02 2015 +0100 iommu/tegra-smmu: Use __GFP_ZERO to allocate zeroed pages Rather than explicitly zeroing pages allocated via alloc_page(), add __GFP_ZERO to the gfp mask to ask the allocator for zeroed pages. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 05a65f06f69fa6c487c2933f2971d9ec4e33eb0d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:57 2015 +0100 iommu/tegra-smmu: Remove PageReserved manipulation Remove the unnecessary manipulation of the PageReserved flags in the Tegra SMMU driver. None of this is required as the page(s) remain private to the SMMU driver. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e3c971960fd41fc55235ba05b95e053355cb0e73 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:52 2015 +0100 iommu/tegra-smmu: Convert to use DMA API Use the DMA API instead of calling architecture internal functions in the Tegra SMMU driver. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d62c7a886c2bc9f9258164814245dc0678b9a52e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:46 2015 +0100 iommu/tegra-smmu: smmu_flush_ptc() wants device addresses Pass smmu_flush_ptc() the device address rather than struct page pointer. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b8fe03827b192a23d04e99c40d72e6b938fa6576 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:41 2015 +0100 iommu/tegra-smmu: Split smmu_flush_ptc() smmu_flush_ptc() is used in two modes: one is to flush an individual entry, the other is to flush all entries. We know at the call site which we require. Split the function into smmu_flush_ptc_all() and smmu_flush_ptc(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4b3c7d10765403ab19628fb7d530b8ce1c50b81d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:36 2015 +0100 iommu/tegra-smmu: Move flush_dcache to tegra-smmu.c Drivers should not be using __cpuc_* functions nor outer_cache_flush() directly. This change partly cleans up tegra-smmu.c. The only difference between cache handling of the tegra variants is Denver, which omits the call to outer_cache_flush(). This is due to Denver being an ARM64 CPU, and the ARM64 architecture does not provide this function. (This, in itself, is a good reason why these should not be used.) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> [treding@xxxxxxxxxx: fix build failure on 64-bit ARM] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 32924c76b0cbc67aa4cf0741f7bc6c37f097aaf3 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:31 2015 +0100 iommu/tegra-smmu: Use kcalloc() to allocate counter array Use kcalloc() to allocate the use-counter array for the page directory entries/page tables. Using kcalloc() allows us to be provided with zero-initialised memory from the allocators, rather than initialising it ourselves. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 853520fa96511e4a49942d2cba34a329528c7e41 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:26 2015 +0100 iommu/tegra-smmu: Store struct page pointer for page tables Store the struct page pointer for the second level page tables, rather than working back from the page directory entry. This is necessary as we want to eliminate the use of physical addresses used with arch-private functions, switching instead to use the streaming DMA API. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0b42c7c1132f331fba263f0d2ca23544770584b7 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:21 2015 +0100 iommu/tegra-smmu: Fix page table lookup in unmap/iova_to_phys methods Fix the page table lookup in the unmap and iova_to_phys methods. Neither of these methods should allocate a page table; a missing page table should be treated the same as no mapping present. More importantly, using as_get_pte() for an IOVA corresponding with a non-present page table entry increments the use-count for the page table, on the assumption that the caller of as_get_pte() is going to setup a mapping. This is an incorrect assumption. Fix both of these bugs by providing a separate helper which only looks up the page table, but never allocates it. This is akin to pte_offset() for CPU page tables. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 34d35f8cbe51bf93faf3214ee5b5d6f8ae7df4c1 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:16 2015 +0100 iommu/tegra-smmu: Add iova_pd_index() and iova_pt_index() helpers Add a pair of helpers to get the page directory and page table indexes. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8482ee5ea1097445f6498ee522965f5311667763 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:10 2015 +0100 iommu/tegra-smmu: Factor out common PTE setting Factor out the common PTE setting code into a separate function. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b98e34f0c6f1c4ac7af41afecc4a26f5f2ebe68d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:05 2015 +0100 iommu/tegra-smmu: Fix unmap() method The Tegra SMMU unmap path has several problems: 1. as_pte_put() can perform a write-after-free 2. tegra_smmu_unmap() can perform cache maintanence on a page we have just freed. 3. when a page table is unmapped, there is no CPU cache maintanence of the write clearing the page directory entry, nor is there any maintanence of the IOMMU to ensure that it sees the page table has gone. Fix this by getting rid of as_pte_put(), and instead coding the PTE unmap separately from the PDE unmap, placing the PDE unmap after the PTE unmap has been completed. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9113785c3e918187b6b0c084c60e0344a2f1685c Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:00 2015 +0100 iommu/tegra-smmu: Fix iova_to_phys() method iova_to_phys() has several problems: (a) iova_to_phys() is supposed to return 0 if there is no entry present for the iova. (b) if as_get_pte() fails, we oops the kernel by dereferencing a NULL pointer. Really, we should not even be trying to allocate a page table at all, but should only be returning the presence of the 2nd level page table. This will be fixed in a subsequent patch. Treat both of these conditions as "no mapping" conditions. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8152d8cc593095fab36d7b71365bd32c9c1dfd29 Author: Marcus Cooper <codekipper@xxxxxxxxx> Date: Wed Aug 12 19:27:48 2015 +0200 pinctrl: sun4i: add spdif to pin description. Signed-off-by: Marcus Cooper <codekipper@xxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 929550b9f9f870d73489df98318a740183c2e955 Author: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Date: Tue Aug 11 15:51:59 2015 +0300 gpio: mxc: fix section mismatch warning Fix the section mismatch warning WARNING: vmlinux.o(.text+0x2b2788): Section mismatch in reference from the function mxc_gpio_probe() to the function .init.text:mxc_gpio_init_gc() The function mxc_gpio_probe() references the function __init mxc_gpio_init_gc(). This is often because mxc_gpio_probe lacks a __init annotation or the annotation of mxc_gpio_init_gc is wrong. Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 39ba928f8b34720b60c68d4c1bb274ae219ab39e Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Aug 13 20:06:41 2015 +0800 spi: Mediatek: fixup cpu_to_le32 incorrect usage writel() already does a cpu_to_le32 conversion, so remove cpu_to_le32(). Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3fb9800146b7ad96b7604755c1a943fe1abbde2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 13 18:09:49 2015 +0530 regulator: core: Spelling fix Trivial spell fix, s/succesfully/successfully. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0bf413558eb5668fe92b1a1931dc26b0df5908ae Merge: 3d3cacc ba68227 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 15:05:06 2015 +0200 Merge tag 'qcom-soc-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm into next/drivers Qualcomm ARM Based SoC Updates for 4.3 * Add SMEM driver * Add SMD driver * Add RPM over SMD driver * Select QCOM_SCM by default * tag 'qcom-soc-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm: devicetree: soc: Add Qualcomm SMD based RPM DT binding soc: qcom: Driver for the Qualcomm RPM over SMD soc: qcom: Add Shared Memory Driver soc: qcom: Add device tree binding for Shared Memory Device drivers: qcom: Select QCOM_SCM unconditionally for QCOM_PM soc: qcom: Add Shared Memory Manager driver Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 129e5824cd96d9289679973f0ff7c48e88d569bb Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 27 11:10:15 2015 +0800 sunrpc: Switch to using hash list instead single list Switch using list_head for cache_head in cache_detail, it is useful of remove an cache_head entry directly from cache_detail. v8, using hash list, not head list Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c8c081b70cb563cc4d41ab9933fa3323c6f6ffca Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 27 11:09:42 2015 +0800 sunrpc/nfsd: Remove redundant code by exports seq_operations functions Nfsd has implement a site of seq_operations functions as sunrpc's cache. Just exports sunrpc's codes, and remove nfsd's redundant codes. v8, same as v6 Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9936f2ae37482aff54ce53918c69b378bb50097c Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 27 11:09:10 2015 +0800 sunrpc: Store cache_detail in seq_file's private directly Cleanup. Just store cache_detail in seq_file's private, an allocated handle is redundant. v8, same as v6. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7ba6cad6c88f1bf0b7d66d9628d7c3f36ecb4bfe Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Jun 24 16:33:37 2015 +0800 nfsd: New helper nfsd4_cb_sequence_done() for processing more cb errors According to Christoph's advice, this patch introduce a new helper nfsd4_cb_sequence_done() for processing more callback errors, following the example of the client's nfs41_sequence_done(). Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 509b642ec1cb161f0e9d349bb6bd416554955b3a Merge: ab39aab d93ac74 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 14:48:09 2015 +0200 Merge tag 'berlin64-for-v4.3-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/arm64 Initial support for Marvell Berlin4CT ARM64 SoC * tag 'berlin64-for-v4.3-1' of git://git.infradead.org/users/hesselba/linux-berlin: arm64: dts: Add dts files for Marvell Berlin4CT SoC Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 952cfbd38e263ae81fbb4e575fe40d220891d68b Author: Ulises Brindis <ubrindis56@xxxxxxxxx> Date: Wed Aug 5 10:23:07 2015 -0700 gpio/mxc: mask gpio interrupts in suspend Currently in the FSL platform all GPIO interrupts in a bank are muxed into two GPIO lines to the GPC interrupt controller. In each GPIO bank GPIOs 0-15 are OR'ed into one GPC interrupt controller interrupt and 16-31 are OR'ed into another. With the current code, if any of the 0-15 or 16-31 interrupts are marked as wakeup capable, all interrupts belonging to that sub-bank (either 0-15 or 16-31) will wake up the device. This is because interrupts are only being masked at the interrupt controller and not at the GPIO controller. This patch allows masking of GPIO interrupts at the GPIO controller during suspend if they have not been labeled wakeup capable. This patch uses preexisting IRQCHIP_MASK_ON_SUSPEND flag while initializing the GPIO interrupts to get the desired behavior. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Ulises Brindis <ubrindis56@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 627c89b4d7c0a916b7702e23ded6e063dcb14ad5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 5 22:37:41 2015 +0800 gpio: omap: Fix missing raw locks conversion Fix below build warning: CC drivers/gpio/gpio-omap.o drivers/gpio/gpio-omap.c: In function 'omap_gpio_irq_type': drivers/gpio/gpio-omap.c:504:3: warning: passing argument 1 of 'spin_unlock_irqrestore' from incompatible pointer type [enabled by default] include/linux/spinlock.h:360:29: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *' Fixes: commit 4dbada2be460 ("gpio: omap: use raw locks for locking") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5f6f02cd49d61e9856ff2c337578316a1a1b3f88 Merge: 3afa129 cbfe8fa Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Aug 13 14:42:55 2015 +0200 Merge tag 'v4.2-rc4' into devel Linux 4.2-rc4 commit 627b1516a390e19fb26b1c0c9bd2546722524965 Author: Wei Chen <Wei.Chen@xxxxxxx> Date: Wed Aug 5 03:22:14 2015 +0000 pinctrl: atlas7: clear ugly branch statements for pull and drivestrength To set/get atlas7 pull & drive strength, we use lots of if/else to check pad type. But except mask value or immediate value, all actions in these conditional branches are the same. So we use predefined pull info table and drive strength table to reduce these redundancy code. Signed-off-by: Wei Chen <Wei.Chen@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 94fdc2e627d1b479a117cd8b9ece5f4613a5c956 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Aug 6 12:46:31 2015 -0400 orinoco: Do not call wiphy_unregister() from free_orinocodev() alloc_orinocodev() would allocate the wiphy entry, but it would only get registered much later in orinoco_init(). If something failed in the init process inbetween the call to alloc_orinocodev() and the completion of orinoco_init(), the drivers would end up calling wiphy_unregister() with a NULL pointer causing beautiful OOPS fireworks. Explicitly call wiphy_unregister() instead in the right places. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cb9d61e5304e2880180e4ccf685a298c868094e0 Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Aug 6 00:39:16 2015 -0700 mwifiex: claim sdio bus while downloading the firmware Our 8887 A2 chip can have separate firmware images for bluetooth and WLAN. We observed an issue during parallel downloading of these images by btmrvl and mwifiex drivers. This patch claims sdio bus before starting of the firmware download in mwifiex and releases it after completion to fix the problem. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2375fa2b36feaf34c7728ee999dc4d8f4d92031d Author: chunfan chen <jeffc@xxxxxxxxxxx> Date: Wed Aug 5 06:09:42 2015 -0700 mwifiex: fix unable to connect hidden SSID AP on DFS channel We will check if any hidden SSID found in passive scan channels and do specific SSID active scan for those channels. Signed-off-by: chunfan chen <jeffc@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit eee7f1961b9d85d1fbd1febf73c90d421cc75536 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Wed Aug 5 06:09:41 2015 -0700 mwifiex: add firmware dump support for SD8997 This patch adds firmware dump feature for SD8997 chipset. The difference here is only one memory type is needed to save all firmware information. Device dump information will be uploaded to usersapace file. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6d85ef00d9dfe3bb61b021476465fa4e371ed076 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Wed Aug 5 06:09:40 2015 -0700 mwifiex: add support for 8997 chipset This patch adds support for 8997 chipset to mwifiex with SDIO/PCIe/USB interface. The corresponding firmware image files are located in: "mrvl/sd8997_uapsta.bin" "mrvl/pcie8997_uapsta.bin" "mrvl/usb8997_uapsta.bin" Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9ef7e25ff62033065ec019425a9c769374455a1a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Apr 14 14:57:14 2015 +0200 drm/panel: Add Samsung prefix to panel drivers The likelihood of getting a large number of panel drivers from different vendors is quite high. Add a prefix to the two existing Samsung panel drivers to set a guideline for future patch submissions. Using vendor prefixes consistently should allow a cleaner organization of the tree. Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3b1f0e86958b8afcfb6980f987c41e149480f9bd Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 4 10:49:27 2015 +0300 mwifiex: usb: return an error if kmalloc fails The current code returns success if kmalloc fails. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 3544f9f150bb58a3678c161a505b186893971c8a Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 16:15:53 2015 -0500 rtlwifi: rtl8192c-common: Fix two typos In this driver, two variables are masked by one quantity, and then tested against a second number with more bits that the mask. Accordingly, the test always fails. To minimize the possibility of such typos, a symbolic definition of the mask is created and used. The separate load and mask operations are also combined into a single statement. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8d882bcf82743f20b0546088f935a718b4ae6f60 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:16 2015 -0500 rtlwifi: rtl8192ee: Fix firmware header endian issues This driver is converted to use the common firmware header struct. Because the old header definition failed to indicate that the multi-byte entries should be little endian, several problems were thus exposed. These are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 201b63c7c907bcc89bb11797ce2ca2a93027004b Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:15 2015 -0500 rtlwifi: rtl888ee: Fix firmware header endian issues This driver is converted to use the common firmware header struct. Because the old header definition failed to indicate that the multi-byte entries should be little endian, several problems were thus exposed. These are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b290b57d18aa0e1d35caf209ccc12ac3ef14a6b3 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:14 2015 -0500 rtlwifi: rtl8192de: Fix firmware header endian issues This driver is converted to use the common firmware header struct. Because the old header definition failed to indicate that the multi-byte entries should be little endian, several problems were thus exposed. These are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 253f10abb7c24665988cf0abda65acaa40ce5815 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:13 2015 -0500 rtlwifi: rtl8821ae: Fix firmware endian issues This driver is converted to use the common firmware header struct. Because the old header definition failed to indicate that the multi-byte entries should be little endian, several problems were thus exposed. These are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7c24d086ef9ccbffc46f5f9e2680f292ca356166 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:12 2015 -0500 rtlwifi: rtl8723ae: rtl8723be: rtl8723com: Fix firmware header endian issues The drivers are converted to use the common firmware header struct. Because the old header definition failed to indicate that the multi-byte entries should be little endian, several problems were thus exposed. These are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e41c513599187bd100644566bde86541c01db1d6 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:11 2015 -0500 rtlwifi: rtl8192ce: rtl8192cu: Fix endian issue Commit e996db69833a (rtlwifi: rtl8192c: Add init codes for "fw_version" and "fw_subversion") added initialization for fw_version, but failed to note that the variable in the firmware header is little-endian. The following Sparse warning results: CHECK drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c:242:36: warning: incorrect type in assignment (different base types) drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c:242:36: expected unsigned short [unsigned] [usertype] fw_version drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c:242:36: got restricted __le16 [usertype] version When fixing this problem, I noticed that several of the drivers contain nearly identical copies of the firmware header struct, and that only the one used in rtl8192c{e,u} had correct endian notation. The struct has been moved into a common header, and the other drivers will be fixed in subsequant patches. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d3928d0946bf75dc6709a08b12839ecb889f2564 Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Thu Jul 9 13:43:18 2015 +0530 brcmfmac: dhd_sdio.c: use existing atomic_or primitive There's already a generic implementation so use that instead. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ab63cb8b0cc84a89f65e418357d7e6b9b914c89a Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu May 14 18:56:16 2015 +0200 ath9k: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. As time_left is exclusively used for wait_for_completion_timeout here its type is simply changed to unsigned long. API conformance testing for completions with coccinelle spatches are being used to locate API usage inconsistencies: ./drivers/net/wireless/ath/ath9k/link.c:197 int return assigned to unsigned long Patch was compile tested with x86_64_defconfig + CONFIG_ATH_CARDS=m, Patch is against 4.1-rc3 (localversion-next is -next-20150514) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 61fc39204bc0db0070267fe0f7920c38b0af87ef Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu May 14 18:43:41 2015 +0200 ath9k_htc: wmi: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. As time_left is exclusively used for wait_for_completion_timeout here its type is simply changed to unsigned long. API conformance testing for completions with coccinelle spatches are being used to locate API usage inconsistencies: ./drivers/net/wireless/ath/ath9k/wmi.c:331 int return assigned to unsigned long Patch was compile tested with x86_64_defconfig + CONFIG_ATH_CARDS=m, CONFIG_ATH9K_HTC=m Patch is against 4.1-rc3 (localversion-next is -next-20150514) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 39ce8150a079e3ae6ed9abf26d7918a558ef7c19 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 4 15:03:14 2015 +0300 pinctrl: baytrail: Serialize all register access There is a hardware issue in Intel Baytrail where concurrent GPIO register access might result reads of 0xffffffff and writes might get dropped completely. Prevent this from happening by taking the serializing lock in all places where it is possible that more than one thread might be accessing the hardware concurrently. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 70a56550a664ce93583f59ef1b885e7616c942e4 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu May 14 18:25:26 2015 +0200 ath9k_htc: drv_init: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. As time_left is exclusively used for wait_for_completion_timeout here its type is simply changed to unsigned long. API conformance testing for completions with coccinelle spatches are being used to locate API usage inconsistencies: ./drivers/net/wireless/ath/ath9k/htc_drv_init.c:81 int return assigned to unsigned long Patch was compile tested with x86_64_defconfig + CONFIG_ATH_CARDS=m, CONFIG_ATH9K_HTC=m Patch is against 4.1-rc3 (localversion-next is -next-20150514) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5ab49db8e007c4479be1a682ea64d9b562aa4880 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 4 15:03:13 2015 +0300 pinctrl: baytrail: Drop FSF mailing address The FSF address is already mentioned in the COPYING file. No need to duplicate that information to individual files. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 34edd5f6839db083b625d473efa4145449cd1af0 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu May 14 17:29:54 2015 +0200 ath9k_htc: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. As time_left is exclusively used for wait_for_completion_timeout here its type is simply changed to unsigned long. API conformance testing for completions with coccinelle spatches are being used to locate API usage inconsistencies: ./drivers/net/wireless/ath/ath9k/htc_hst.c:171 int return assigned to unsigned long ./drivers/net/wireless/ath/ath9k/htc_hst.c:277 int return assigned to unsigned long ./drivers/net/wireless/ath/ath9k/htc_hst.c:206 int return assigned to unsigned long Patch was compile tested with x86_64_defconfig + CONFIG_ATH_CARDS=m, CONFIG_ATH9K_HTC=m Patch is against 4.1-rc3 (localversion-next is -next-20150514) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 07a06ae99ef9b8eda3ec0b69c8f477856042a511 Author: Lin Huang <hl@xxxxxxxxxxxxxx> Date: Tue Aug 11 18:12:04 2015 +0800 pinctrl: rockchip: only enable gpio clock when it setting gpio can keep state even the clock disable, for save power consumption, only enable gpio clock when it setting Signed-off-by: Lin Huang <hl@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Tested-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d07cb049af1a3343cf2043618aaa29f8c84f4649 Author: Cheolhyun Park <pch851130@xxxxxxxxx> Date: Sun Apr 12 16:59:48 2015 +0000 rtlwifi: misspelled code and comments corrected. Signed-off-by: Cheolhyun Park <pch851130@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 43a0da25c0949f6dba0a8d6296907263f1b97ddd Merge: 0122a51 c020e37 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Aug 13 13:22:26 2015 +0100 Merge remote-tracking branch 'spi/fix/bcm2835' into spi-fix-bcm2835 commit c70336cc4ca1162808ee71dfe84696cb1cc91eac Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Aug 3 00:10:45 2015 +0100 pinctrl/mediatek: fix spelling mistake in dev_err error message Trivial change, fix spelling mistake 'invaild' -> 'invalid' in dev_err message. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ffebfc364dcaa5dea1a589d42207834b028df789 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Apr 14 15:37:14 2015 +0200 drm/exynos: Remove PTN3460 dependency Now that the PTN3460 driver has been rewritten as a proper I2C driver and there is infrastructure to hook up the bridge with a DRM device, it is no longer necessary to have this dependency to ensure the correct build mode. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ac22a1d3386e195c57e299da3bfad97a061b9616 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Aug 13 09:19:43 2015 +0900 extcon: palmas: Fix build break due to devm_gpiod_get_optional API change With commit b17d1bf16cc7 ("gpio: make flags mandatory for gpiod_get functions") it becomes necessary to pass the flags argument. And this patch adds the gpio header file to fix the build breakage when build testing with random configuration files. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 459cc2c6800b545a482e428a631d99bca8da7790 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jul 30 10:34:24 2015 +0200 drm/tegra: sor: Add HDMI support The SOR1 introduced on Tegra210 supports HDMI 2.0 and DisplayPort. Add HDMI support and name the debugfs node after the type of SOR. The SOR introduced with Tegra124 is known simply as "sor", whereas the additional SOR found on Tegra210 is known as "sor1". Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3309ac836229d8bc3db7618e04a51334bef13b0a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jul 30 10:32:46 2015 +0200 drm/tegra: sor: Add Tegra210 eDP support The SOR found on Tegra210 is very similar to the version found on Tegra124, except that it no longer supports LVDS. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 003fc848774fcc7b7f14a2b4f3e6411764f43fc0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Aug 3 13:16:26 2015 +0200 drm/tegra: dc: Implement atomic DPMS Move all code into the new canonical ->disable() and ->enable() helper callbacks so that they play extra nice with atomic DPMS. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 850bab448034f0a601727fe266afd0ef64fef6dc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 29 17:58:41 2015 +0200 drm/tegra: sor: Restore DPMS In order to restore DPMS with atomic mode-setting, move all code from the ->mode_set() callback into ->enable(). At the same time, rename the ->prepare() callback to ->disable() to use the names preferred by atomic mode-setting. This simplifies the calling sequence and will allow DPMS to use runtime PM in subsequent patches. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 171e2e6dd912dac625e085919f0822cd94c04ff0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 29 16:04:44 2015 +0200 drm/tegra: dsi: Restore DPMS In order to restore DPMS with atomic mode-setting, move all code from the ->mode_set() callback into ->enable(). At the same time, rename the ->prepare() callback to ->disable() to use the names preferred by atomic mode-setting. This simplifies the calling sequence and will allow DPMS to use runtime PM in subsequent patches. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 29871b21c48c7b13adbd056755d923394ff6110b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 29 09:46:40 2015 +0200 drm/tegra: hdmi: Restore DPMS In order to restore DPMS with atomic mode-setting, move all code from the ->mode_set() callback into ->enable(). At the same time, rename the ->prepare() callback to ->disable() to use the names preferred by atomic mode-setting. This simplifies the calling sequence and will allow DPMS code to use runtime PM in subsequent patches. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 32c3dee11e8e8ff790a8724c1bfe87a51976d7f8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 29 10:08:17 2015 +0200 drm/tegra: rgb: Restore DPMS In order to restore DPMS with atomic mode-setting, move all code from the ->mode_set() callback into ->enable(). At the same time, rename the ->prepare() callback to ->disable() to use the names preferred by atomic mode-setting. This simplifies the calling sequence and will allow DPMS code to use runtime PM in subsequent patches. While at it, remove the enabled field that hasn't been used since the demidlayering of the output drivers done in preparation for the atomic mode-setting conversion. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 530239a8b82c0d051ccda341cb346d3f11a80e70 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Aug 6 11:04:54 2015 +0200 drm/tegra: sor: Use DRM debugfs infrastructure for CRC Instead of duplicating most of the code to set up a debugfs file, use the existing DRM core debugfs infrastructure instead. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 51511d05defe92715c19c3e583c9d1ac1c82e1e6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jul 30 18:47:07 2015 +0200 drm/tegra: sor: Write correct head state registers The head state registers are per head, so they must be properly indexed. This has worked fine so far because all boards with eDP use it as the primary output, so it is very likely to end up attached to head 0. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8044449556338fb27b1a03f6b1dbbdbc59e4ebfa Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 29 18:20:01 2015 +0200 drm/tegra: sor: Constify display mode The data structure is always only read, never written, and can hence be referred to by a const pointer. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 066d30f8c7547f9ca744cd090092d66847e85de4 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jul 3 14:16:30 2015 +0200 drm/tegra: sor: Reset the correct debugfs fields When tearing down debugfs support, make sure to reset the fields to NULL in the correct order, otherwise the debugfs root will not be properly removed. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3ff1f22c882493dcceb25cbca5b516d8e4271151 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jul 3 14:14:29 2015 +0200 drm/tegra: sor: Set minor after debugfs initialization The DRM minor is needed to teardown debugfs, so it needs to be tracked to prevent a crash on driver removal. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4dbdc740c4beec653920e81470a6e6d69c6ab064 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 15:04:26 2015 +0200 drm/tegra: sor: Provide error messages in probe When probing the SOR device fails, output proper error messages to help diagnose the cause of the failure. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a9a9e4fd7c923707a11b1b386cc31156d474039c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 15:01:14 2015 +0200 drm/tegra: sor: Rename registers for consistency The TRM lists indexed registers without an underscore to separate name from index. Use that convention in the driver for consistency. While at it, rename some of the field names to the names used in the TRM. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9e532b3ad9a7fc5f00d29c766439ffbdcc403146 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jul 3 14:56:46 2015 +0200 drm/tegra: dpaux: Disable interrupt when detached When the DPAUX isn't attached to an SOR the interrupts are not useful. This also prevents a race that could potentially cause a crash on driver removal. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3227166c3bd64dc3a44b7a1bf79efff34ec27aa3 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 15:16:26 2015 +0200 drm/tegra: dpaux: Configure pads as I2C by default The DPAUX code paths already configure the pads in AUX mode, but there is no way to reconfigure them in I2C mode for HDMI (the DPAUX module is unused in that case). Enabling the pads in I2C mode by default is the quickest way to support HDMI. Eventually this may need an explicit call in the user drivers. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 08f580ef2fcef724db1107545bc14306b7c9eae2 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 14:50:30 2015 +0200 drm/tegra: dpaux: Provide error message in probe When probing the dpaux device fails, output proper error messages to help diagnose the cause of the failure. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ddfb406b2f9f83e85734e43d043cdd1b2519df13 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 16:56:22 2015 +0200 drm/tegra: dsi: Add Tegra210 support The DSI host controller hasn't changed from Tegra132 to Tegra210, but different characterization parameters may be required. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c06c793084ecf62e77361e671465214a196a2f55 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Apr 10 11:35:21 2015 +0200 drm/tegra: dsi: Add Tegra132 support The DSI host controller hasn't changed from Tegra124 to Tegra132, but different characterization parameters may be required. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7d3385875b7a4722dad4045c65fa51829acd5dff Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Apr 10 11:35:21 2015 +0200 drm/tegra: dsi: Add Tegra124 support The DSI host controller hasn't changed from Tegra114 to Tegra124, but different characterization parameters may be required. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b8be0bdbd52d35aac30fb2d8c295f9a3000873f2 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 16:58:07 2015 +0200 drm/tegra: dsi: Use proper back-porch for non-sync video mode In video modes without sync pulses, the horizontal back-porch needs to include the horizontal sync width. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 472a6d1fd5f5d37a1c081e69f5c8ad5307ac358f Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 5 16:39:55 2015 +0200 drm/tegra: dc: Rename BASE_COLOR_SIZE* fields Use an underscore to separate the prefix from the color size suffix. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 76ac3284bb708545e762091ba5d6d0f0dbc008bc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 7 09:26:57 2015 +0200 drm/tegra: dc: Don't explicitly set owner module The call to platform_driver_register() will already set up the .owner field, so there's no need to do it explicitly. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8fd3ffa902a0d9f282ffa80599970ff1c823b1a8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 14:48:35 2015 +0200 drm/tegra: dc: Rename register for consistency The horizontal pulse enable bits are named H_PULSE{0,1,2}_ENABLE in the TRM. Modify the driver to use the same naming for consistency. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 791ddb1e1cea14aa278580b3832cd0f10252aafa Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Jul 28 21:27:05 2015 +0200 drm/tegra: dc: Record statistics Record interrupt statistics, such as the number of frames and VBLANKs received and the number of FIFO underflow and overflows. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 01a5da0c104d0ce38d2847da2295c510becddbe0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Aug 3 13:18:41 2015 +0200 drm/tegra: dc: Request syncpoint earlier Request a syncpoint for display prior to registering the host1x client. This will ensure that the syncpoint will be acquired when the KMS driver initializes. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e83dcb5bb610a46d10d2d74a67132a75c49804e6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Jul 28 21:28:55 2015 +0200 drm/tegra: dc: Remove gratuituous blank line Blank lines at the end of functions are hideous, so get rid of it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a1df3b24884d5d8946d6cdf44e6d403e3925b4c6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Jul 21 16:42:30 2015 +0200 drm/tegra: dc: Clarify comment about cursor treatment Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 6ca1f62f0d69120030469cc0b409bd521cbd67cc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 1 14:59:40 2015 +0200 drm/tegra: dc: Implement CRC debugfs interface Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5b4f516f5c6a2d3ac6edf750a40041842f928198 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Mar 27 10:31:58 2015 +0100 drm/tegra: dc: Add Tegra210 support Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 31930d4d0860fc87f93d9b76b0a4e6ac0b823dbf Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jul 2 17:04:06 2015 +0200 drm/tegra: dc: Reset VBLANK to off Upon driver load, reset the VBLANK machinery to off to reflect the hardware state. Since the ->reset() callback is called from the initial drm_mode_config_reset() call, move the latter after the VBLANK machinery initialization by drm_vblank_init(). Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit fb36d0eed4fe3359aca8e6000c1bd92cc5199718 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 15:12:39 2015 +0200 drm/tegra: output: Support low-active hotplug detect Support low-active hotplug detect signals by storing the GPIO flags parsed from device tree. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 114bb13968162451f5e1d7fe793f9eb7e0083d9a Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Wed Aug 12 13:06:12 2015 -0700 ASoC: fsl-asoc-card: Specify codec_dai_name for DAI links The dev->name of CODEC might not be identical to its codec_dai_name, so using dev->name to probe the CODEC dai is not a correct approach. This patch specifies each supporting codec_dai_name instead of using dev->name any more. Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a13f1dc4c3b7ac7de9d9ac266c0ed0374cae3421 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 11 13:22:44 2015 +0200 drm/tegra: Use SIMPLE_DEV_PM_OPS Use this macro to reduce some of the boilerplate. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit cdc630b6c677b6d981b368baf44c8b4297adbb09 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Jul 21 16:45:49 2015 +0200 drm/tegra: Allow VBLANK to be disabled Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 15372d4be7f099662dc84e4e35e844bd4373d959 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Apr 10 11:29:41 2015 +0200 gpu: host1x: mipi: Power down regulators when unused Keep track of the number of users of DSI and CSI pads and power down the regulators that supply the bricks when all users are gone. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5e7752436e10427ba598de4f2f6b7889daf586cc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:23:20 2015 +0200 gpu: host1x: mipi: Add Tegra210 support Some changes are needed to the configuration settings for some lanes. In addition, the clock lanes for the CSI pads can no longer be calibrated. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7fd3ecad3f768fd2b39fc4db12044437fbf5d735 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:20:32 2015 +0200 gpu: host1x: mipi: Add Tegra132 support While Tegra132 has the same pads as Tegra124, some configuration values need to be programmed slightly differently. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c22fb79099dbec82b8280106c43f6e800ecc854c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:19:19 2015 +0200 gpu: host1x: mipi: Constify OF match table This table is never modified and can therefore reside in read-only memory. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 2ed264bf916b689fe0c71ac726995f0876062667 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:17:44 2015 +0200 gpu: host1x: mipi: Clear calibration status Before starting a new calibration cycle, make sure to clear the current status by writing a 1 to the various "calibration done" bits. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8ed5c0623272663783e052123fea02651464a0a5 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:06:08 2015 +0200 gpu: host1x: mipi: Fix clock lane register for DSI Use more consistent names for the clock lane configuration registers and fix the offset of the upper clock lane configuration register for the first DSI pad. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 83a3c223cc5678c5ced554fa2819747fd53437c7 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:03:49 2015 +0200 gpu: host1x: mipi: Parameterize to support future SoCs Parameterize more of the register programming to accomodate for changes required by future SoC generations. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 6e588a0d839b51bae49852b68740a25cacc91978 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 11 21:38:01 2015 +0200 ASoC: dapm: Consolidate path trace events The snd_soc_dapm_input_path and snd_soc_dapm_output_path trace events are identical except for the direction. Instead of having two events have a single one that has a field that contains the direction. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a3423b02cf745c1418f1f199646c450d6fc9ca4e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 11 21:38:00 2015 +0200 ASoC: dapm: Consolidate input and output path handling After the recent cleanups and generalizations of the DAPM algorithm the handling of input and output paths is now fully symmetric. This means by making some slight changes to the data structure and using arrays with one entry for each direction, rather than separate fields, it is possible to create a generic implementation that is capable of handling both input and output paths. Unfortunately this generalization significantly increases the code size on the hot path of is_connected_{input,output}_ep() and dapm_widget_invalidate_{input,output}_paths(), which has a negative impact on the overall performance. The inner loops of those functions are quite small and the generic implementation adds extra pointer arithmetic in a few places. Testing on ARM shows that the combined code size of the specialized functions is about 50% larger than the generalized function in relative numbers. But in absolute numbers its less than 200 bytes, which is still quite small. On the other hand the generalized function increases the execution time of dapm_power_one_widget() by 30%. Given that this function is one of the most often called functions of the DAPM framework the trade-off of getting better performance at expense of generating slightly larger code at seems to be worth it. To avoid this still keep two versions of these functions around, one for input and one for output. But have a generic implementation of the algorithm which gets inlined by those two versions. And then let the compiler take care of optimizing it and removing he extra instructions. This still reduces the source code size as well as the makes making changes to the implementation more straight forward since the same change does no longer need to be done in two separate places. Also on the slow paths we can use a generic implementations that handle both input and output paths. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 30abbe7727b23c6661daeea5d36be36ed7a41665 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 11 21:37:59 2015 +0200 ASoC: dapm: dapm_dai_get_connected_widgets: Fix missing mutex unlock Make sure to unlock the DAPM mutex when dapm_widget_list_create() fails. This means the function will now generate a trace_snd_soc_dapm_connected event, even if the creation of the list fails. But that was the behavior before the patch that introduced the unlock issue, so that should be fine. Fixes: 1ce43acff0c0 ("ASoC: dapm: Simplify list creation in dapm_dai_get_connected_widgets()") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e04cafbc38c70af2aad3810ce24ab0eba8114779 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 5 12:15:24 2015 +0200 ath10k: fix peer limit enforcement Firmware peer entries are involved in internal firmware vdev structures. This was not accounted for and could lead firmware to crash due to asking it to do more than it could. Fixes: 039a0051ec1a ("ath10k: allocate fw resources for iface combinations") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit adaeed74bc085bc59991cd6e23ee7f720b6c6aab Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 5 12:15:23 2015 +0200 ath10k: don't remove peer that doesn't exist If peer creation failed during offchannel Tx the driver attempted to delete the peer nonetheless. This caused the ar->num_peers counter to be incorrectly decremented. This subsequently could cause the counter to drop below 0 and also eventually lead to firmware crash because host would think there are less peer entries created in firmware then there really were. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 16ea9b8ac45bf11d48af6013283e141e8ed86348 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Aug 12 18:04:04 2015 +0200 spi/spi-xilinx: Fix mixed poll/irq mode Once the module process a transfer in irq mode, the next poll transfer will not work because the transmitter is left in inhibited state. Fixes: 22417352f6b7f623 (Use polling mode on small transfers) Reported-by: Edward Kigwana <ekigwana@xxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 6f7429c29b9979d64d067543caec940bbc023340 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 5 12:08:38 2015 +0200 ath10k: fix hw reconfig on wow failure When WoWLAN resume fails with retval 1 mac80211 will attempt to reconfig the device in a similar manner when hw restart is requested. This wasn't handled properly and yielded call trace warnings and the device ended up not working. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 84e3df60f0daba5b1e7874101502d0b030afb867 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 5 06:55:37 2015 +0200 ath10k: initialize fw_features var If firmware did not have any feature flags set the var would be left with values found on the stack (i.e. garbage) yielding print string like this: (...) features \xffffffa6m:^R\xfffffffbÔ?\xffffffc4^E Fixes: b27bc5a40f91 ("ath10k: dump fw features during probing") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a48e2cc8992a13a58cff04e54e05f959d418554b Author: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Date: Tue Aug 4 10:45:12 2015 +0530 ath10k: Enable MU MIMO txbf support for QCA99X0 This patch enables MU-MIMO transmit beamforming support for QCA99X0 chipsets. Signed-off-by: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 08e75ea84cb595c52f140049fcf6362679473592 Author: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Date: Tue Aug 4 10:45:11 2015 +0530 ath10k: Support different txbf configuration schemes qca61x4 uses the vdev param as a sole sufficient configuration for txbf while qca99x0 enables txbf during peer assoc by combining the vdev param value with peer assoc's vht capabilities This patch gets the appropriate txbf configuration scheme before passing the wmi command to enable the same in the firmware. Signed-off-by: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 4585b000ace6438d0b142746baab658056b223d9 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Aug 3 12:46:38 2015 +0300 pinctrl: cherryview: Serialize all register access There is a hardware issue in Intel Braswell/Cherryview where concurrent GPIO register access might results reads of 0xffffffff and writes might get dropped. Prevent this from happening by taking the serializing lock for all places where it is possible that more than one thread might be accessing the hardware concurrently. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 39b87ad166114b842159e5384a948b168cfa61d8 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Aug 1 12:38:52 2015 +0900 pinctrl: UniPhier: PH1-Pro5: add I2C ch6 pin-mux setting The initial version of this driver missed to add I2C ch6 pin-muxing. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 92092fe528e79c9bd25784ca0ef341d5a1d1b642 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 3 11:16:43 2015 +0200 ath10k: reject 11b tx fragmentation configuration Even though there's a WMI enum for fragmentation threshold no known firmware actually implements it. Moreover it is not possible to rely frame fragmentation to mac80211 because firmware clears the "more fragments" bit in frame control making it impossible for remote devices to reassemble frames. Hence implement a dummy callback just to say fragmentation isn't supported. This effectively prevents mac80211 from doing frame fragmentation in software. This fixes Tx becoming broken after setting fragmentation threshold. Fixes: 1010ba4c5d1c ("ath10k: unregister and remove frag_threshold callback") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 4dca0e6edd14e0c8afa19c8ad90f711f1563b52e Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 3 11:16:42 2015 +0200 ath10k: remove futile fragmentation threshold config Commit 1010ba4c5d1c ("ath10k: unregister and remove frag_threshold callback") didn't remove all instances of (futile) fragmentation threshold configuration. No known firmware supports the parameter so don't even bother setting it. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3afa129a9de0957d72165cf08a54e5c69938011c Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Fri Jul 31 18:17:44 2015 -0700 gpio: brcmstb: support wakeup from S5 cold boot For wake from S5, we need to: - register a reboot handler - set wakeup capability before requesting IRQ so wakeup count is incremented - mask all GPIO IRQs and clear any pending interrupts during driver probe to since no driver will yet be registered to handle any IRQs carried over from boot at that time, and it's possible that the booted kernel does not request the same IRQ anyway. This means that /sys/.../power/wakeup_count is valid at boot time, and we can properly account for S5 wakeup stats. e.g.: ### After waking from S5 from a GPIO key # cat /sys/bus/platform/drivers/brcmstb-gpio/f04172c0.gpio/power/wakeup enabled # cat /sys/bus/platform/drivers/brcmstb-gpio/f04172c0.gpio/power/wakeup_count 1 Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 19a7b6940b781256ea8821e803d1e5f2933224b1 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Fri Jul 31 18:17:43 2015 -0700 gpio: brcmstb: Add interrupt and wakeup source support Uses the gpiolib irqchip helpers. For this to work, the irq setup function is called once per bank instead of once per device. Note that all known uses of this block have a BCM7120 L2 interrupt controller as a parent. Supports interrupts for all GPIOs. In the IRQ handler, we check for raised IRQs for invalid GPIOs and warn (ratelimited) if they're encountered. Also, several drivers (e.g. gpio-keys) allow for GPIOs to be configured as wakeup sources, and this GPIO controller supports that through a separate interrupt path. The de-facto standard DT property "wakeup-source" is checked, since that indicates whether the GPIO controller hardware can wake. Uses the IRQCHIP_MASK_ON_SUSPEND irq_chip flag because UPG GIO doesn't have any of its own wakeup source configuration. Aside regarding gpiolib irqchip helpers: It wasn't obvious (to me) that you can have multiple chained irqchips and associated IRQ domains for a single parent IRQ, and as long as the xlate function is written correctly, a GPIO IRQ request end up checking the correct domain and will get associated with the correct IRQ. What helps make this clear is to read drivers/gpio/gpiolib-of.c: - of_gpiochip_find_and_xlate() - of_get_named_gpiod_flags() drivers/gpio/gpiolib.c: - gpiochip_find() Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 77a775b7ccaf86b0bb67ceaaf3b6d2720e12b506 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Aug 10 11:51:46 2015 +0200 gpio/ABI: document what is already the case commit 926b663ce8215ba448960e1ff6e58b67a2c3b99b "gpiolib: allow GPIOs to be named" added the ability to name GPIO lines by an array of names stored in the GPIO chip. This was in 2009 and has been an ABI since. Let's document it properly. Cc: Daniel Silverstone <dsilvers@xxxxxxxxxxxxxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Cc: Johan Hovold <johan@xxxxxxxxxx> Cc: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f9511a4fc47940c7b08ae51567bd9bddb54b8461 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 14:11:17 2015 +1000 clk: ti: fix for definition movement Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e7895461593506e2e86404a255208876340d4bca Merge: 93621d7 fd26f88 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:26:29 2015 +0200 Merge tag 'rpi-dt-for-armsoc-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi into next/dt - New Firmware node and accompanying binding document * tag 'rpi-dt-for-armsoc-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi: dt/bindings: Add binding for the Raspberry Pi firmware driver ARM: bcm2835: Add the firmware driver information to the RPi DT Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 16478b61f0d88a08163b92af27f0e77f471576ce Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 11 17:17:18 2015 +0200 ARM/fb: ep93xx: switch framebuffer to use modedb only All the EP93xx boards exclusively use modedb to look up video modes from the command line. Root out the parametrization of custom video modes from the platform data and board files and simplify the driver. Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 93621d7037084676b1fe7c1a8d59a98754f846ec Merge: 6d511a2 6855e5b Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:19:38 2015 +0200 Merge tag 'socfpga_dts_for_v4.3_part_2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt SoCFPGA DTS updates for v4.3, take 2 - Add DTS property "altr,modrst-offset" for reset driver to use - Add updated reset defines for the reset driver - Add reset property for EMACs on Arria10 * tag 'socfpga_dts_for_v4.3_part_2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: dts: Add resets for EMACs on Arria10 ARM: socfpga: dts: add "altr,modrst-offset" property dt-bindings: Add reset manager offsets for Arria10 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6d511a26ce45fc05600f12f02200a65578d67a63 Merge: 85ef6b2 378abcd Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:14:29 2015 +0200 Merge tag 'v4.3-rockchip32-dts2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Some more devicetree changes, including usbphy support for the Cortex-A9 SoCs and actually enabling usb on the rk3066-marsboard, Two more veyron-devices - namely Speedy and Minnie and a fix for the tsadc. One slightly more interesting fix is the blocking of the last 16MB of memory on 4GB rk3288 devices. The rk3288 cannot use this area for dma operations, so things like the mmc or usb controllers regularly fail when trying to read data. This solution mimicks the solution from the ChromeOS kernel, who also do not seem to have found a better solution yet. Here it only moves to the devicetree. As this issue is also present on the arm64 rk3368, any future better solution to this problem would need to describe this in the devicetree as well and could then remove this block. * tag 'v4.3-rockchip32-dts2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: add veyron-minnie board ARM: dts: rockchip: reserve unusable memory region on rk3288 ARM: dts: rockchip: enable usb controller on marsboard ARM: dts: rockchip: add usb phys to Cortex-A9 socs ARM: dts: rockchip: set correct dwc2 params for cortex-a9 socs ARM: dts: rockchip: Add veyron-speedy board ARM: dts: rockchip: Use correct dts properties for tsadc node on veyron Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 8943835e248bca0df431c717f4edce94fa2b8c8e Merge: fb3c442 9bb91ae Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:13:54 2015 +0200 Merge tag 'v4.3-rockchip32-soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc Improve reliability of resume on rk3288 boards. For whatever reason resuming from suspend worked sucessfully on the rk3288-evb but not on other boards, like veyron-devices. Two problems seem to have existed. For one the stabilization delays for pmic and oscillator may have been to short and secondly the shallow suspend seems to need GPIO wakups enabled. Normally this should be covered by the more generic ARMINT wakeups already and the reason for this is still investigated at Rockchip, but meanwhile this makes boards actually resume. * tag 'v4.3-rockchip32-soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: rockchip: enable PMU_GPIOINT_WAKEUP_EN when entering shallow suspend ARM: rockchip: set correct stabilization thresholds in suspend ARM: rockchip: rename osc_switch_to_32k variable Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fb3c44267684b76329b20317f2a62dacc452a09d Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Aug 8 21:13:44 2015 +0900 ARM: uniphier: drop v7_invalidate_l1 call at secondary entry This is unnecessary since commit 02b4e2756e01 ("ARM: v7 setup function should invalidate L1 cache"). Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ab39aab323a38a3fb079651952b13ba1868f90fd Merge: bcfff4d b6e1f7f Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:10:09 2015 +0200 Merge tag 'v4.2-next-arm64-2' of https://github.com/mbgg/linux-mediatek into next/arm64 Add SMP support for mt6795 SoC. * tag 'v4.2-next-arm64-2' of https://github.com/mbgg/linux-mediatek: ARM64: dts: mt6795: enable basic SMP bringup for MT6795 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 80d352de659b57e69856b00d773d7abefe28bf32 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:30:07 2015 +0200 ARM: at91/defconfig: at91_dt: remove ARM_AT91_ETHER CONFIG_ARM_AT91_ETHER doesn't exist anymore, both drivers have been merged in the macb driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5bfb1e4113ed88f0da07a3628f5b9be7b5c29384 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Jul 31 19:26:36 2015 +0200 ARM: at91/defconfig: at91_dt: enable DRM hlcdc support This patch adds drm atmel lcdc, simple panel and backlight options. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3d3cacc0b8c624d042fe905bbc71f97a4d443cdc Merge: 0ff818e 44e259a Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:02:07 2015 +0200 Merge tag 'mvebu-soc-4.3-2' of git://git.infradead.org/linux-mvebu into next/drivers mvebu soc changes for v4.3 (part #2) SoC part of the Dove PMU series * tag 'mvebu-soc-4.3-2' of git://git.infradead.org/linux-mvebu: ARM: dove: create a proper PMU driver for power domains, PMU IRQs and resets Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 85ef6b26d1abc01101cd7a6c8094787990b95c1c Merge: eb2b508 15979ae Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 11:59:56 2015 +0200 Merge tag 'mvebu-dt-4.3-3' of git://git.infradead.org/linux-mvebu into next/dt mvebu dt changes for v4.3 (part #3) - device tree part of the Dove PMU series - converting a new orion5x based platform to dt: Linkstation Mini * tag 'mvebu-dt-4.3-3' of git://git.infradead.org/linux-mvebu: ARM: dts: Convert Linkstation Mini to Device Tree ARM: dt: dove: add GPU power domain description ARM: dt: dove: add video decoder power domain description ARM: dt: dove: wire up RTC interrupt ARM: dt: Add PMU node, making PMU child devices childs of this node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit eb2b5084366a93a5d40cd5746a2d178e02d7762c Merge: 1a08a84 761c586 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 11:58:22 2015 +0200 Merge tag 'at91-ab-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/dt Second batch of DT changes for 4.3: - Add the slow clock to the nodes that will use it - Add hlcd to the at91sam9x5 and at91sam9n12 - Add touchscreen and touch button support to the at91sam9x5ek * tag 'at91-ab-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (22 commits) ARM: at91/dt: sama5d2: use slow clock where necessary ARM: at91/dt: at91sam9x5dm: add QT1070 touch button controller ARM: at91/dt: at91sam9x5dm: add support for the touschscreen ARM: at91/dt: add drm support for at91sam9n12ek ARM: at91/dt: enable lcd support for at91sam9x5 SoCs ARM: at91/dt: add at91sam9x5-ek Display Module dtsi ARM: at91/dt: include lcd dtsi in at91sam9x5 dtsis ARM: at91/dt: define hlcdc node in at91sam9x5_lcd.dtsi ARM: at91/dt: sama5d4: use slow clock where necessary ARM: at91/dt: sama5d3: use slow clock where necessary ARM: at91/dt: at91sam9x5: use slow clock where necessary ARM: at91/dt: at91sam9rl: use slow clock where necessary ARM: at91/dt: at91sam9n12: use slow clock where necessary ARM: at91/dt: at91sam9g45: use slow clock where necessary ARM: at91/dt: at91sam9263: use slow clock where necessary ARM: at91/dt: at91sam9261: use slow clock where necessary ARM: at91/dt: at91sam9260: use slow clock where necessary ARM: at91/dt: at91rm9200: use slow clock where necessary Documentation: dt: rtc: at91rm9200: add clocks property Documentation: watchdog: at91sam9_wdt: add clocks property ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ae6c0aa6ae4d18d0ae74a58af5c521ec771e3730 Merge: b6bb424 152b283 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Aug 13 11:51:50 2015 +0200 Merge tag 'kvm-s390-next-20150812' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD KVM: s390: fix and feature for kvm/next (4.3) 1. error handling for irq routes 2. Gracefully handle STP time changes s390 supports a protocol for syncing different systems via the stp protocol that will steer the TOD clocks to keep all participating clocks below the round trip time between the system. In case of specific out of sync event Linux can opt-in to accept sync checks. This will result in non-monotonic jumps of the TOD clock, which Linux will correct via time offsets to keep the wall clock time monotonic. Now: KVM guests also base their time on the host TOD, so we need to fixup the offset for them as well. commit d330615b90d4997909806f8c22be6a3a2c3449b9 Author: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Date: Tue Aug 11 22:09:05 2015 +0200 ARM: gemini: Setup timer3 as free running timer In the original driver it is missed to setup a free running driver. This timer is needed for the scheduler. So setup it. Signed-off-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5dc90739888e741985036994e2e5700c6dc9d118 Author: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Date: Tue Aug 11 22:09:04 2015 +0200 ARM: gemini: Use timer1 for clockevent Use timer1 as clockevent timer. The old driver uses timer2, which has some issues to setup Signed-off-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 570ceed4e267a6d354653f4884bb8c2b4a975087 Author: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Date: Tue Aug 11 22:09:03 2015 +0200 ARM: gemini: Add missing register definitions for gemini timer Add missing register defintions for the gemini clocksource Also do some #define' cleanup to make the code more readable. Signed-off-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 75dbf00b443c1763138486e87f4978ff43506f9e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Jul 27 11:11:11 2015 +0300 mac80211: remove always true condition The outside if statement checks that IEEE80211_TX_INTFL_MLME_CONN_TX is set so this condition is always true. Checking twice upsets the static checkers. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4b58c37bb9d4282446f7a0194dbc44325787ac8c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jul 8 15:41:48 2015 +0300 mac80211: remove ieee80211_aes_cmac_calculate_k1_k2() The iwlwifi driver was the only driver that used this, but as it turns out it never needed it, so we can remove it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2001a130d4fa8386b9d7978578dc40aa1f0dad6c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 19 10:20:10 2015 +0200 iwlwifi: mvm: don't set K1/K2 for AES-CMAC According to firmware engineers, the firmware has never required these fields and the values have always been calculated, they were just leftovers from a previous implementation. Therefore remove the unnecessary calculation. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a54868b460b65bd93a5324a7fc35dfd556fe576c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 6 14:41:13 2015 +0530 ARM: ep93xx/timer: Migrate to new 'set-state' interface Migrate EP93xx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 36890997b0d219427e9d9d2aad5d46eb44fe808d Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:54 2015 +0200 rfkill: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8cbd4c2f6a996f6cf5dfdf8775d331606cff95bd Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Aug 12 14:56:54 2015 -0500 arm: boot: dts: am4372: add ARM timers and SCU nodes AM437x devices sport SCU, TWD and Global timers, let's add them to DTS so they have a chance to probe and be used by Linux. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6c36dfe949187dc2729abfad4b083758ac5c2e0e Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:45 2015 +0200 x86/ras: Move AMD MCE injector to arch/x86/ras/ This is an x86-specific module and would benefit from being closer to the arch code. Move it there. Update copyright while at it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-14-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a79da38494ec23f1a7d6ee734e07e9575fd18b58 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:44 2015 +0200 x86/mce: Add a wrapper around mce_log() for injection Will be used by an injector module in a following patch. Additionally, add a missing module export reported by 0-DAY kernel test. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-13-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a7783d02197f299f71b4fa2364a345c05f92b83 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:43 2015 +0200 x86/mce: Rename rcu_dereference_check_mce() to mce_log_get_idx_check() The "rcu_" prefix misleads for it being a proper RCU interface which is not. It basically checks whether we're preemptible or holding the chrdev_read mutex. Rename it accordingly. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-12-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9b45ef443acde55526485db37440cd3e8f03d544 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:42 2015 +0200 RAS: Add a menuconfig option with descriptive text Text taken a previous patch from "Gong Chen" <gong.chen@xxxxxxxxxxxxxxx>. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Gong Chen <gong.chen@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-11-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1b48465500611a2dc5e75800c61ac352e22d41c3 Author: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Date: Wed Aug 12 18:29:41 2015 +0200 x86/mce: Reenable CMCI banks when swiching back to interrupt mode Zhang Liguang reported the following issue: 1) System detects a CMCI storm on the current CPU. 2) Kernel disables the CMCI interrupt on banks owned by the current CPU and switches to poll mode 3) After the CMCI storm subsides, kernel switches back to interrupt mode 4) We expect the system to reenable the CMCI interrupt on banks owned by the current CPU mce_intel_adjust_timer |-> cmci_reenable |-> cmci_discover # owned banks are ignored here static void cmci_discover(int banks) ... for (i = 0; i < banks; i++) { ... if (test_bit(i, owned)) # ownd banks is ignore here continue; So convert cmci_storm_disable_banks() to cmci_toggle_interrupt_mode() which controls whether to enable or disable CMCI interrupts with its argument. NB: We cannot clear the owned bit because the banks won't be polled, otherwise. See: 27f6c573e0f7 ("x86, CMCI: Add proper detection of end of CMCI storms") for more info. Reported-by: Zhang Liguang <zhangliguang@xxxxxxxxxx> Signed-off-by: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: huawei.libin@xxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: rui.xiang@xxxxxxxxxx Link: http://lkml.kernel.org/r/1439396985-12812-10-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8838eb6c0bf3b6a6494a163947ab3d1700ab45d2 Author: Ashok Raj <ashok.raj@xxxxxxxxx> Date: Wed Aug 12 18:29:40 2015 +0200 x86/mce: Clear Local MCE opt-in before kexec kexec could boot a kernel that could be legacy with no knowledge of LMCE. Hence we should make sure we clear LMCE optin before kexec reboot. Signed-off-by: Ashok Raj <ashok.raj@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-9-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4d1d5cdc345d15e09518a2410f7fcd069465ffac Author: Ashok Raj <ashok.raj@xxxxxxxxx> Date: Wed Aug 12 18:29:39 2015 +0200 x86/mce: Remove unused function declarations Remove unused function declarations. Signed-off-by: Ashok Raj <ashok.raj@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-8-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eef4dfa0cb83899c782935ac5345532f47073cea Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:38 2015 +0200 x86/mce: Kill drain_mcelog_buffer() This used to flush out MCEs logged during early boot and which were in the MCA registers from a previous system run. No need for that now, since we've moved to a genpool. Suggested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-7-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f29a7aff4bd60ebc3da4982f80144a4158c4c74a Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 12 18:29:37 2015 +0200 x86/mce: Avoid potential deadlock due to printk() in MCE context Printing in MCE context is a no-no, currently, as printk() is not NMI-safe. If some of the notifiers on the MCE chain call do so, we may deadlock. In order to avoid that, delay printk() to process context where it is safe. Reported-by: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> [ Fold in subsequent patch from Boris for early boot logging. ] Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> [ Kick irq_work in mce_log() directly. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-6-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fd4cf79fcc4b5130ced8fd8c40378d3cec2e5fa8 Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 12 18:29:36 2015 +0200 x86/mce: Remove the MCE ring for Action Optional errors Use unified genpool to save Action Optional error events and put Action Optional error handling in the same notification chain as MCE error decoding. Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> [ Fold in subsequent patch from Boris for early boot logging. ] Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> [ Correct a lot. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-5-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 061120aed7081b9a4393fbe07b558192f40ad911 Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 12 18:29:35 2015 +0200 x86/mce: Don't use percpu workqueues An MCE is a rare event. Therefore, there's no need to have per-CPU instances of both normal and IRQ workqueues. Make them both global. Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> [ Fold in subsequent patch from Rui/Boris/Tony for early boot logging. ] Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> [ Massage commit message. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 648ed94038c030245a06e4be59744fd5cdc18c40 Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 12 18:29:34 2015 +0200 x86/mce: Provide a lockless memory pool to save error records printk() is not safe to use in MCE context. Add a lockless memory allocator pool to save error records in MCE context. Those records will be issued later, in a printk-safe context. The idea is inspired by the APEI/GHES driver. We're very conservative and allocate only two pages for it but since we're going to use those pages throughout the system's lifetime, we allocate them statically to avoid early boot time allocation woes. Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> [ Rewrite. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 20d51a426fe9a0d0a63cc3a7488f621c8bac37e1 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:33 2015 +0200 x86/mce: Reuse one of the u16 padding fields in 'struct mce' ... to save the error severity of the MCE and whether the reported address of the error is usable. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-2-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ed293d1ad2b0c28b6abc3bd728b07754bc00f1cd Author: Rob Herring <robh@xxxxxxxxxx> Date: Sun Jul 12 09:26:45 2015 -0500 memory: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also set IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Cc: linux-omap@xxxxxxxxxxxxxxx Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a897b5f0393a8a05d230c9248dc5324fb30720a0 Merge: 5f1230c 71ef150 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Aug 13 09:23:53 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Allow selecting the type of callchains per event, including disabling callchains in all but one entry in an event list, to save space, and also to ask for the callchains collected in one event to be used in other events. (Kan Liang) - Beautify more syscall arguments in 'perf trace': (Arnaldo Carvalho de Melo) - A bunch more translate file/pathnames from pointers to strings. - Convert numbers to strings for the 'keyctl' syscall 'option' arg. - Add missing 'clockid' entries. - Fix 'perf probe -L sys_*' as it was not showing all the source code for syscall functions in the kernel. (Masami Hiramatsu) - Make ESC unzoom as well in the hists browser, i.e. in 'report' and 'top', as we're considering repurposing the right and left arrow keys to use in horizontal scrolling, i.e. leave just ESC to be used for what <- works now, and ENTER for what -> does (they are already aliases for ages). (Arnaldo Carvalho de Melo) Infrastructure fixes: - Check for SRCLINE_UNKNOWN case in "srcfile" processing (Andi Kleen) - Wrap the slsmg_{printf,write_nstring} slang functions behind ui_browser, so that we can make the ui_browser based browsers (annotate, menus, hists, etc) UI library agnostic and usable with multiple backends (slang now, GTK+ and others in the future, maybe) (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e558017b558d2a477b68961b0da792d4346a01b4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Aug 12 14:39:38 2015 -0300 crypto: caam - Remove unneeded 'ret' variable Variable 'ret' is only used for returning the value 0. We can make it simpler and just return 0 instead. The semantic patch that makes this change is available in scripts/coccinelle/misc/returnvar.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ac8ad30777467c5258c52aa4899a8a07a3e56b54 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Aug 12 11:48:42 2015 -0300 crypto: caam - Fix error handling in caam_rng_init() In the error paths we should free the resources that were previously acquired, so fix it accordingly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8669f34e122bad56e4d3ecde5f4720c40261bf4c Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Wed Aug 12 12:50:17 2015 +0800 crypto: qat - fix simple_return.cocci warnings drivers/crypto/qat/qat_common/adf_sriov.c:258:1-4: WARNING: end returns can be simpified and declaration on line 212 can be dropped Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 18be4ebe1f6ba8f5c329a997c2b60c8bba1cf800 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Tue Aug 11 11:05:37 2015 -0700 crypto: qat - Fix unmet direct dependencies for QAT_DH895xCCVF Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 14fee74ca8370e4bfa5c9386e63bfa521b37a505 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 11 13:32:57 2015 +0800 ARM: dts: sun6i: Add security system crypto engine clock and device nodes A31/A31s have the same "Security System" crypto engine as A10/A20, but with a separate reset control. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7ab64628bb4ab139aea9f1238ce6f945be580773 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 11 13:32:56 2015 +0800 crypto: sunxi-ss - Add optional reset control support On sun6i and later platforms, the reset control is split out of the clock gates. Add support for an optional reset control. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ca6bc691b1b7cf45862410952806f73c1aa62fe6 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 11 13:32:55 2015 +0800 crypto: sunxi-ss - Document optional reset control bindings Later Allwinner SoCs split out the reset controls for individual modules out of the clock gate controls. The "Security System" crypto engine is no different. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d420acd816c07c7be31bd19d09cbcb16e5572fa6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Aug 12 21:04:22 2015 +0200 jump_label/x86: Work around asm build bug on older/backported GCCs Boris reported that gcc version 4.4.4 20100503 (Red Hat 4.4.4-2) fails to build linux-next kernels that have this fresh commit via the locking tree: 11276d5306b8 ("locking/static_keys: Add a new static_key interface") The problem appears to be that even though @key and @branch are compile time constants, it doesn't see the following expression as an immediate value: &((char *)key)[branch] More recent GCCs don't appear to have this problem. In particular, Red Hat backported the 'asm goto' feature into 4.4, 'normal' 4.4 compilers will not have this feature and thus not run into this asm. The workaround is to supply both values to the asm as immediates and do the addition in asm. Suggested-by: H. Peter Anvin <hpa@xxxxxxxxx> Reported-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Tested-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9a5e8cc55286941503f36c5b7485a5aa923b3f1 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Aug 13 04:03:12 2015 +0100 sign-file: Fix warning about BIO_reset() return value Fix the following warning: scripts/sign-file.c: In function â??mainâ??: scripts/sign-file.c:188: warning: value computed is not used whereby the result of BIO_ctrl() is cast inside of BIO_reset() to an integer of a different size - which we're not checking but probably should. Reported-by: James Morris <jmorris@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 15ce414b82b07acb99afda6e4d9bd14f317b6011 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Sat Aug 8 10:20:25 2015 -0400 fixup: audit: implement audit by executable The Intel build-bot detected a sparse warning with with a patch I posted a couple of days ago that was accepted in the audit/next tree: Subject: [linux-next:master 6689/6751] kernel/audit_watch.c:543:36: sparse: dereference of noderef expression Date: Friday, August 07, 2015, 06:57:55 PM From: kbuild test robot <fengguang.wu@xxxxxxxxx> tree: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: e6455bc5b91f41f842f30465c9193320f0568707 commit: 2e3a8aeb63e5335d4f837d453787c71bcb479796 [6689/6751] Merge remote- tracking branch 'audit/next' sparse warnings: (new ones prefixed by >>) >> kernel/audit_watch.c:543:36: sparse: dereference of noderef expression kernel/audit_watch.c:544:28: sparse: dereference of noderef expression 34d99af5 Richard Guy Briggs 2015-08-05 541 int audit_exe_compare(struct task_struct *tsk, struct audit_fsnotify_mark *mark) 34d99af5 Richard Guy Briggs 2015-08-05 542 { 34d99af5 Richard Guy Briggs 2015-08-05 @543 unsigned long ino = tsk->mm- >exe_file->f_inode->i_ino; 34d99af5 Richard Guy Briggs 2015-08-05 544 dev_t dev = tsk->mm->exe_file- >f_inode->i_sb->s_dev; :::::: The code at line 543 was first introduced by commit :::::: 34d99af52ad40bd498ba66970579a5bc1fb1a3bc audit: implement audit by executable tsk->mm->exe_file requires RCU access. The warning was reproduceable by adding "C=1 CF=-D__CHECK_ENDIAN__" to the build command, and verified eliminated with this patch. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 772111ab01eace6a7e4cf821a4348cec64a97c92 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Aug 13 02:51:33 2015 +0100 PKCS#7: Add MODULE_LICENSE() to test module Add a MODULE_LICENSE() line to the PKCS#7 test key module to fix this warning: WARNING: modpost: missing MODULE_LICENSE() in crypto/asymmetric_keys/pkcs7_test_key.o Whilst we're at it, also add a module description. Reported-by: James Morris <jmorris@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 3d04c92403d377918c9a3bddab6ee103f0db25dd Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Wed Aug 12 11:56:02 2015 -0700 Smack - Fix build error with bringup unconfigured The changes for mounting binary filesystems was allied improperly, with the list of tokens being in an ifdef that it shouldn't have been. Fix that, and a couple style issues that were bothering me. Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit e8fed985d7bd6cda695e196028b54a5f3d2d91bb Author: Rick Jones <rick.jones2@xxxxxx> Date: Wed Aug 12 10:23:14 2015 -0700 documentation: bring vxlan documentation more up-to-date A few things have changed since the previous version of the vxlan documentation was written, so update it and correct some grammar and such while we are at it. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0c6ce24911fcb64715de9569f0f7b4f54d1d045 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Aug 12 12:10:23 2015 -0300 net: fec: Remove unneeded use of IS_ERR_VALUE() macro There is no need to use the IS_ERR_VALUE() macro for checking the return value from pm_runtime_* functions. Just do a simple negative test instead. The semantic patch that makes this change is available in scripts/coccinelle/api/pm_runtime.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 140d8b335a9beb234fd0ed9a15aa6a47f47fd771 Author: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> Date: Wed Aug 12 07:57:12 2015 -0700 bpf: fix bpf_perf_event_read() loop upper bound Verifier rejects programs incorrectly. Fixes: 35578d798400 ("bpf: Implement function bpf_perf_event_read()") Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dcef70704d6c2792c6025ceba9708554d441a4bb Merge: 7655078 a4011fd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 12 16:42:12 2015 -0700 Merge branch 'cxgb4-more-debug-info' Hariprasad Shenai says: ==================== Add some more debug info This patch series adds the following. Add more info for sge_qinfo dump Differentiate tid and stids between different regions, and add a debugfs entry to dump all the tid info This patch series has been created against net-next tree and includes patches on cxgb4 driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4011fd470d334253a425942b29e65844642d0ff Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Aug 12 16:55:07 2015 +0530 cxgb4: Add debugfs support to dump tid info Add debugfs support to dump tid info like stid, sftid, tids, atid and hwtids Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2248b29349fa8c59e8bf7e13197f7d5303c0a86a Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Aug 12 16:55:06 2015 +0530 cxgb4: Differentiate between stids between server and filter region For T4 adapter, offloaded servers tid for IPv4 connections are allocated from filter region. So add a new field for server filter tid if server tid is allocated from filter region. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a1bb9f64e31febbcf289809343bc7bbbac15519 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Aug 12 16:55:05 2015 +0530 cxgb4: Differentiates between TIDs being used in TCAM and HASH For the tid info, differentiate from which region the TID is allocated from. It can be from TCAM region or HASH region. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e106a4d9ede30cc83b95bbd8ccf75a4aad8b0557 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Aug 12 16:55:04 2015 +0530 cxgb4: Add some more details to sge qinfo Adding more details to sge qinfo for debugging purpose. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76550786c6780d95db1b2de56a115a84347b242d Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Wed Aug 12 15:31:43 2015 +0530 net: ipv4: increase dhcp inter device timeout When a system has multiple ethernet devices and during DHCP request (for using NFS), the system waits only for HZ/2 which is 500mS before switching to another interface for DHCP. There are some routers (Ex: Trendnet routers) which responds to DHCP request at about 560mS. When the system has only one ethernet interface there is no issue as the timeout is 2S and the dev xid doesn't changes and only retries. But when the system has multiple Ethernet like DRA74x with CPSW in dual EMAC mode, the DHCP response is dropped as the dev xid changes while shifting to the next device. So changing inter device timeout to HZ (which is 1S). Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ed3ccbd5ac11414d61c16182718e68868becc16 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Wed Aug 12 09:37:53 2015 +0000 bpf: fix build warnings and add function read_trace_pipe() There are two improvements in this patch: 1. Fix the build warnings; 2. Add function read_trace_pipe() to print the result on the screen; Before this patch, we can get the result through /sys/kernel/de bug/tracing/trace_pipe and get nothing on the screen. By applying this patch, the result can be printed on the screen. $ ./tracex6 ... tracex6-705 [003] d..1 131.428593: : CPU-3 19981414 sshd-683 [000] d..1 131.428727: : CPU-0 221682321 sshd-683 [000] d..1 131.428821: : CPU-0 221808766 sshd-683 [000] d..1 131.428950: : CPU-0 221982984 sshd-683 [000] d..1 131.429045: : CPU-0 222111851 tracex6-705 [003] d..1 131.429168: : CPU-3 20757551 sshd-683 [000] d..1 131.429170: : CPU-0 222281240 sshd-683 [000] d..1 131.429261: : CPU-0 222403340 sshd-683 [000] d..1 131.429378: : CPU-0 222561024 ... Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47b344b27a003fcdaccbdc07b3d558a7ccdfec04 Author: Ron Angeles <ronangeles@xxxxxxxxx> Date: Tue Aug 11 23:01:20 2015 -0700 net: atl1c: add BQL support This BQL implementation is mostly derived from its related driver, alx. Tested on AR8131 (rev c0) [1969:1063]. Saturated a 100mbps link with 5 concurrent runs of netperf. Ping latency dropped from 14ms to 3ms. Signed-off-by: Ron Angeles <ronangeles@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d6a9f5676f0e734967ac3739f5c6a28a0b047d9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Jul 1 11:31:27 2015 +0200 storvsc: use shost_for_each_device() instead of open coding Comment in struct Scsi_Host says that drivers are not supposed to access __devices directly. storvsc_host_scan() doesn't happen in irq context so we can just use shost_for_each_device(). Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Acked-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cb1cf0804fe582f8a626c3cc591cb3127536137c Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Thu Jun 25 18:12:11 2015 +0200 storvsc: be more picky about scmnd->sc_data_direction Under the 'default' case in scmnd->sc_data_direction we have 3 options: - DMA_NONE which we handle correctly. - DMA_BIDIRECTIONAL which is never supposed to be set by SCSI stack. - Garbage value. Do WARN() and return -EINVAL in the last two cases. virtio_scsi does BUG_ON() here but it looks like an overkill. Reported-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Acked-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 10978e48ccc1718dce5c2d275b761ab99c593a81 Author: Seymour, Shane M <shane.seymour@xxxxxx> Date: Wed Jun 24 06:54:35 2015 +0000 st: convert DRIVER_ATTR macros to DRIVER_ATTR_RO Convert DRIVER_ATTR macros to DRIVER_ATTR_RO requested by Greg KH. Also switched to using scnprintf instead of snprintf per Documentation/filesystems/sysfs.txt. Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shane Seymour <shane.seymour@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Kai Mäkisara <kai.makisara@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b5960e6e2b5c52520cec5888c3feb71b71ba1980 Author: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Date: Tue Aug 11 17:14:32 2015 -0700 hv_netvsc: Implement set_channels ethtool op This enables the use of ethtool --set-channels devname combined N to change the number of vRSS queues. Separate rx, tx, and other parameters are not supported. The maximum is rsscap.num_recv_que. It passes the given value to rndis_filter_device_add through the device_info->num_chn field. If the procedure fails, it attempts to recover to the prior state. If the recovery fails, it logs an error and aborts. Current num_chn is saved and restored when changing the MTU. Signed-off-by: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ebdcc52b9b8a53e3ba2643f515d41fff44d4743 Author: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Date: Tue Aug 11 17:14:31 2015 -0700 hv_netvsc: Set vRSS with num_chn in RNDIS filter Uses device_info->num_chn to pass user provided number of vRSS queues (from ethtool --set-channels) to rndis_filter_device_add. If nonzero and less than the maximum, set net_device->num_chn to the given value; else default to prior algorithm. Always initialize struct device_info to 0, otherwise not all its fields are guaranteed to be 0, which is necessary when checking if num_chn has been purposefully set. Signed-off-by: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d57f6232c157f03db7cb1ae62a3dcc548014a530 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Tue Aug 11 15:23:33 2015 +0000 lan78xx: Remove BUG_ON() Removing BUG_ON() Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81c38e811af6107b9941c6716e82c6fd93308541 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Tue Aug 11 15:21:41 2015 +0000 lan78xx: Fix Smatch Warnings lan78xx.c:2282 tx_complete() warn: variable dereferenced before check 'skb' (see line 2249) lan78xx.c:2885 lan78xx_bh() info: ignoring unreachable code. lan78xx.c:3159 lan78xx_probe() info: ignoring unreachable code. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3ffe0ca4a75ec1b5183e6141bed4dfcde4309fb Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Mon Aug 10 12:26:32 2015 +0200 net: eth: altera: Remove sgdmadesclen member from altera_tse_private altera_tse_private->sgdmadesclen is always assigned assigned the same value and never changes during runtime. Remove the struct member and use a new define for sizeof(struct sgdma_descrip) instead. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b75de8615050c1b0dd8d7794838c42f74ed36ba Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Aug 12 15:00:12 2015 -0500 fs: Set the size of empty dirs to 0. Before the make_empty_dir_inode calls were introduce into proc, sysfs, and sysctl those directories when stated reported an i_size of 0. make_empty_dir_inode started reporting an i_size of 2. At least one userspace application depended on stat returning i_size of 0. So modify make_empty_dir_inode to cause an i_size of 0 to be reported for these directories. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 76c44f6d80e151d230844db7ffc058ac21b9e3f2 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Sun Jun 21 16:31:33 2015 -0400 dm snapshot: don't invalidate on-disk image on snapshot write overflow When the snapshot overflows because of a write to the origin, the on-disk image has to be invalidated. However, when the snapshot overflows because of a write to the snapshot, the on-disk image doesn't have to be invalidated. Change the behavior so that the on-disk image is not invalidated in this case. When the snapshot overflows, the variable snapshot_overflowed is set. All writes to the snapshot are disallowed to minimize filesystem corruption - this condition is cleared when the snapshot is deactivated and activated. The user can extend the overflowed snapshot, deactivate and activate it again, run fsck (if journaling filesystem is not used) mount it and recover the data. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit a93429c300483fa2509ae949a7915a01bd0acd20 Author: linux <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 11:25:55 2015 +0800 hptiop: Support HighPoint RR36xx HBAs and Support SAS tape and SAS media changer Support HighPoint RR36xx HBAs which are based on Marvell Frey. Support SAS tape and SAS media changer. [jejb: remove now unused label] Signed-off-by: HighPoint Linux Team <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit faf00da544045fdc1454f3b9e6d7f65c841de302 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Aug 10 18:25:44 2015 -0500 userns,pidns: Force thread group sharing, not signal handler sharing. The code that places signals in signal queues computes the uids, gids, and pids at the time the signals are enqueued. Which means that tasks that share signal queues must be in the same pid and user namespaces. Sharing signal handlers is fine, but bizarre. So make the code in fork and userns_install clearer by only testing for what is functionally necessary. Also update the comment in unshare about unsharing a user namespace to be a little more explicit and make a little more sense. Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 12c641ab8270f787dfcce08b5f20ce8b65008096 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Aug 10 17:35:07 2015 -0500 unshare: Unsharing a thread does not require unsharing a vm In the logic in the initial commit of unshare made creating a new thread group for a process, contingent upon creating a new memory address space for that process. That is wrong. Two separate processes in different thread groups can share a memory address space and clone allows creation of such proceses. This is significant because it was observed that mm_users > 1 does not mean that a process is multi-threaded, as reading /proc/PID/maps temporarily increments mm_users, which allows other processes to (accidentally) interfere with unshare() calls. Correct the check in check_unshare_flags() to test for !thread_group_empty() for CLONE_THREAD, CLONE_SIGHAND, and CLONE_VM. For sighand->count > 1 for CLONE_SIGHAND and CLONE_VM. For !current_is_single_threaded instead of mm_users > 1 for CLONE_VM. By using the correct checks in unshare this removes the possibility of an accidental denial of service attack. Additionally using the correct checks in unshare ensures that only an explicit unshare(CLONE_VM) can possibly trigger the slow path of current_is_single_threaded(). As an explict unshare(CLONE_VM) is pointless it is not expected there are many applications that make that call. Cc: stable@xxxxxxxxxxxxxxx Fixes: b2e0d98705e60e45bbb3c0032c48824ad7ae0704 userns: Implement unshare of the user namespace Reported-by: Ricky Zhou <rickyz@xxxxxxxxxxxx> Reported-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 1c46ae0af6df0bbde66c5e868563be57f18a27b4 Merge: a73e99c 41d903c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 12:43:41 2015 -0700 Merge tag 'iio-for-4.3b-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: Second set of new device support, features and cleanup for the 4.3 cycle. Take 2 also includes a fix set that was too late for the 4.2 cycle. As we had a lot of tools and docs work in this set, I have broken those out into their own categories in this description. Fixes from the pull request '4th set of IIO fixes for the 4.2 cycle'. * Poll functions for both event chardev and the buffer one were returning negative error codes (via a positive value). * A recent change to lsiio adding some error handling that was wrong and stopped the tool working. * bmg160 was missing some dependencies in Kconfig * berlin2-adc had a misshandled register (wrote a value rather than a bitmap) New device support * TI opt3001 light sensor * TXC PA12 ALS and proximity sensor. * mcp3301 ADC support (in mcp320x driver) * ST lsm303agr accelerometer and magnetometer drivers (plus some st-sensors common support to allow different WHOAMI register addresses, devices with fixed scale and allow interrupt equiped magnetometers). * ADIS16305, ADIS16367, ADIS16445IMUs (in the adis16400 driver) * ADIS16266 gyro (in the adis16260 driver) * ADIS16137 gyro (in the adis16136 driver) New functionality * mmc35240 DT bindings. * Inverse unit conversion macros to aid handing of values written to sysfs attributes. Core cleanup * Forward declaration of struct iio_trigger to avoid a compile warning. Driver cleanup / fixes * mxs-lradc - Clarify which parts are supported. - Fix spelling erorrs. - Missing/extra includes - reorder includes - add datasheet name listings for all usable channels (to allow them to be bound by name from consumer drivers) * acpi-als - add some function prefixes as per general iio style. * bmc150_magn - replace a magic value with the existing define. * vf610 - determine possible sample frequencies taking into account the electrical characteristics (defining a minimum sample time) * dht11 - whitespace - additional docs - avoid mulitple assignments in one line - Use the new funciton ktime_get_resolution_ns to cleanup a nasty trick previously used for timing. * Fix all drivers that consider 0 a valid IRQ for historical reasons. * Export I2C module alias info where previously missing (to allow autoprobing) * Export OF module alias info where previously missing. * mmc35240 - switch some variables into arrays to improve readability. * mlx90614 - define some magic numbers for readability. * bmc150_magn - expand area locked by a mutex to cover all the use of the data->buffer. - use descriptive naming for a mask instead of a magic value. * berin2-adc - pass up an error code rather that a generic error - constify the iio_chan_spec - some other little tidy ups. * stk8312 - fix a dependency on triggered buffers in kconfig - add a check for invalid attribute values - improve error handling by returning error codes where possible and return immediately where relevant - rework macro defs to use GENMASK etc - change some variable types to reduce unnecessary casting - clean up code style - drop a local buffer copy for bulk reads and use the one in data->buffer instead. * adis16400 - the adis16448 gyroscope scale was wrong. * adis16480 - some more wrong scales for various parts. * adis16300 - has an undocumented product id and serial number registers so use them. * iio_simple_dummy - fix some wrong code indentation. * bmc150-accel - use the chip ID to detect the chip present rather than verifying the expected part was there. This was in response to a wrong ACPI entry on the WinBook TW100. * mma8452 - fix _get_hp_filter_index - drop a double include - pass up an error code rather than rewriting it - range check input values to attribute writes - register defs tidy up using GENMASK and reordering them to be easier to follow. - various coding style cleanups - put the Kconfig entry in the write place (alphabetically). Tools related * Tools cleanup - drop an explicity NULL comparison, some unnecessary braces, use the ARRAY_SIZE macro, send error messages to stderr instead of dropping them in the middle of normal output. * Fix tools to allow that scale and offset attributes are optional. * More tools fixes including allowing true 32bit data (previously an overflow prevented more than 31bits) * Drop a stray header guard that ended up in a c file. * Make calc_digits static as it isn't exported or in the header. * Set ci_array pointer to NULL after free as a protection against non safe usage of the tools core code. Also convert a double pointer to a single one as the extra level of indirection was unnecessary. Docs * DocBook introduction by Daniel Baluta. Glad we are beginning to draw together some more introductory docs to suplement the various tools / examples. * Drop bytes_per_datum sysfs attribute docs as it no longer exists. * A whole load of missing / fixing of kernel-doc for the core of IIO. * Document the trigger name sysfs attribute in the ABI docs. * Minor typos in the ABI docs related to power down modes. commit 15398566f0ea95c66d202b8705dba4f59b9ba01c Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Aug 7 09:06:37 2015 -0700 hwmon: (ltc2978) Add support for LTC3887 LTC3887 is an enhanced version of LTC3880 and supports the same commands. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e8047a2686d32854e4b82bd5d328da61025fb01a Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Aug 7 01:04:56 2015 -0700 hwmon: (ltc2978) Add additional chip IDs for LTM4676 and LTM4676A Per datasheet, the chip ID for LTM4676 is 0x448x. This was observed in real systems. In addition to that, chip ID 0x4401 was observed as well. Research shows that the chip ID has been changed from 0x440x to 0x448x in datasheet revision C. Add support for the additional chip ID. Also add the chip ID for LTM4676A, which is functionally identical to LTM4676. Reported-by: Ananda Babu Nettam <anandab@xxxxxxxxxxx> Cc: Ananda Babu Nettam <anandab@xxxxxxxxxxx> Cc: Amit U Jain <amjain@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit bf89386f166b18c21b2b7a2c5b6e496726c4f25f Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jun 8 10:29:45 2015 -0700 hwmon: (ltc2978) Add support for LTC3882 LTC3882 is mostly compatible with LTC3880. Major differences are that it does not measure the input current, and it no longer supports LTC's legacy mechanism to identify the chip. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 836954dadcb351d65cf96584f22c9e437169bd49 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jun 8 10:14:00 2015 -0700 hwmon: (ltc2978) Move code to read chip ID into separate function Verifying the chip type is getting more complicated with new chips, since not all chips support the same mechanism to read the chip type. Move the code into a separate function to simplify adding support for those chips. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 58830550f009c5f60f702c9d3021f8c3be0012b0 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 17:18:10 2015 -0400 NFSv4.1/pnfs: Remove redundant wakeup in pnfs_send_layoutreturn() pnfs_clear_layoutreturn_waitbit() should already be calling rpc_wake_up(&NFS_SERVER(ino)->roc_rpcwaitq) for us. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e1c06f80dcca54cd323d1b98eb385a2c05c6e06b Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 16:40:08 2015 -0400 NFSv4.1/pnfs: Remove redundant check in pnfs_layoutgets_blocked() layoutget now should already be serialised w.r.t. layout returns Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2d8ae84fbc32a14bba176cf9c20d5eb2a3d42791 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 16:15:48 2015 -0400 NFSv4.1/pnfs: Remove redundant lo->plh_block_lgets in layoutreturn The NFS_LAYOUT_RETURN bit already suffices to ensure that layoutget is blocked. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5c4a79fb2b1cd80cb58986f6acf402721901c545 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 15:57:13 2015 -0400 NFSv4.1/pnfs: Don't prevent layoutgets when doing return-on-close If there is an outstanding return-on-close, then we just want new layoutget requests to wait rather than fail. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8f70f53a87007bdbb34c79d11178a153914f5db1 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 16:09:44 2015 -0400 NFSv4.1/pnfs: Fix serialisation of layout return and layoutget We should always test for outstanding layout returns, whether or not pnfs_should_retry_layoutget() is true. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a4497a58e4043a925b7b308bd2c32f0744eca440 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 15:41:50 2015 -0400 NFSv4.1/pnfs: Remove redundant checks in pnfs_layoutgets_blocked() If there are no valid layout segments, then we should already have checked in pnfs_update_layout() whether or not this is the first layoutget. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 27571297a7e9a2a845c232813a7ba7e1227f5ec6 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 3 17:38:33 2015 -0400 pNFS: Tighten up locking around DS commit buckets I'm not aware of any bugreports around this issue, but the locking around the pnfs_commit_bucket is inconsistent at best. This patch tightens it up by ensuring that the 'bucket->committing' list is always changed atomically w.r.t. the 'bucket->clseg' layout segment tracking. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 442d75628a3040bbfeb4a1f743b70a8afec0adbc Author: Seymour, Shane M <shane.seymour@xxxxxx> Date: Tue Jun 23 08:11:00 2015 +0000 st: convert to using driver attr groups for sysfs This patch changes the st driver to use attribute groups so driver sysfs files are created automatically. See the following for reference: http://kroah.com/log/blog/2013/06/26/how-to-create-a-sysfs-file-correctly/ Signed-off-by: Shane Seymour <shane.seymour@xxxxxx> Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Kai Mäkisara <kai.makisara@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0847ef88c3c9318d85e92fc42369df0e0190e1ab Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:40:06 2015 +0800 NFS: Remove duplicate svc_xprt_put from nfs41_callback_up The xprt created by svc_create_xprt have be added to serv->sv_permsocks. So putting the xprt directly is useless. Otherwise, there is a more svc_xprt_put after the xprt be freed. v2, same as v1. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit efcbc04e16dfa95fef76309f89710dd1d99a5453 Author: NeilBrown <neilb@xxxxxxxx> Date: Thu Jul 30 13:00:56 2015 +1000 NFSv4: don't set SETATTR for O_RDONLY|O_EXCL It is unusual to combine the open flags O_RDONLY and O_EXCL, but it appears that libre-office does just that. [pid 3250] stat("/home/USER/.config", {st_mode=S_IFDIR|0700, st_size=8192, ...}) = 0 [pid 3250] open("/home/USER/.config/libreoffice/4-suse/user/extensions/buildid", O_RDONLY|O_EXCL <unfinished ...> NFSv4 takes O_EXCL as a sign that a setattr command should be sent, probably to reset the timestamps. When it was an O_RDONLY open, the SETATTR command does not identify any actual attributes to change. If no delegation was provided to the open, the SETATTR uses the all-zeros stateid and the request is accepted (at least by the Linux NFS server - no harm, no foul). If a read-delegation was provided, this is used in the SETATTR request, and a Netapp filer will justifiably claim NFS4ERR_BAD_STATEID, which the Linux client takes as a sign to retry - indefinitely. So only treat O_EXCL specially if O_CREAT was also given. Signed-off-by: NeilBrown <neilb@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5ef8d792fabedeb932375b23735bc7a1a3e8684d Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:41:08 2015 +0800 NFS: Error out when register_shrinker fail in register_nfs_fs Commit 1d3d4437ea "vmscan: per-node deferred work" have made register_shrinker can return an intergater error. If register_shrinker() fail, the later unregister_shrinker() will cause a NULL pointer access. v2, same as v1. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3ff448b5b7dc7ad4d664588c343da1e5e2ce18dd Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Fri Jun 12 01:50:45 2015 +0300 bfa: fix leak of bfad_im_port_index on module unload Resources allocated within bfad_im_port_index idr are not deallocated on module unload. The patch adds idr_destroy() in exit function. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 24a9a9610ce3ba36fd87c1d2f2c9106de6b7e832 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Aug 3 07:44:53 2015 -0400 sunrpc: increase UNX_MAXNODENAME from 32 to __NEW_UTS_LEN bytes The current limit of 32 bytes artificially limits the name string that we end up stuffing into NFSv4.x client ID blobs. If you have multiple hosts with long hostnames that only differ near the end, then this can cause NFSv4 client ID collisions. Linux nodenames are actually limited to __NEW_UTS_LEN bytes (64), so use that as the limit instead. Also, use XDR_QUADLEN to specify the slack length, just for clarity and in case someone in the future changes this to something not evenly divisible by 4. Reported-by: Michael Skralivetsky <michael.skralivetsky@xxxxxxxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c8ad8894e92b853df5a766061ee9cde7e10e682f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 5 17:31:58 2015 -0400 NFSv4.2/pnfs: Use GFP_NOIO for layoutstat reporting in the writeback path Prevent a potential deadlock. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 41d903c00051d8f31c98a8136edbac67e6f8688f Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Aug 3 13:00:47 2015 +0300 iio: event: Remove negative error code from iio_event_poll Negative return values are not supported by iio_event_poll since its return type is unsigned int. Fixes: f18e7a068a0a3 ("iio: Return -ENODEV for file operations if the device has been unregistered") Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1bdc0293901cbea23c6dc29432e81919d4719844 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Aug 3 13:37:40 2015 +0300 iio: industrialio-buffer: Fix iio_buffer_poll return value Change return value to 0 if no device is bound since unsigned int cannot support negative error codes. Fixes: f18e7a068 ("iio: Return -ENODEV for file operations if the device has been unregistered") Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit af255cd562aaa72455f9022a26afacd68f3fbf73 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 4 16:21:49 2015 +0200 iio: lsiio: fix error code handling error commit acf50b3586f8d8a7530b905e111dda41876d38f4 "tools:iio:lsiio: add error handling" introduced error handling of errors returned from read_sysfs_string(), but with a simple if (retval), missing the fact that these functions return a positive value if the read was successful. As a result lsiio regresses and does not show any devices on my filesystem. Fix this by checking for only negative error codes. Cc: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d099d7b8316f3ebd63472d207c4801a464330016 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Mon Aug 10 16:47:32 2015 +0800 pnfs/flexfiles: LAYOUTSTATS ii_count should be ops instead of bytes Turned out I misinterpreted the spec... Cc: Tom Haynes <thomas.haynes@xxxxxxxxxxxxxxx> Reported-by: Jean Spector <jean@xxxxxxxxxxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 06d2f6ca5a38abe92f1f3a132b331eee773868c3 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Jul 29 15:46:03 2015 +0200 iio: bmg160: IIO_BUFFER and IIO_TRIGGERED_BUFFER are required This patch adds selects for IIO_BUFFER and IIO_TRIGGERED_BUFFER. Without IIO_BUFFER, the driver does not compile. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 57cb06762d5e587d58005b17b0fa99bd1e391c29 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:38:57 2015 +0200 iio:adc:berlin2-adc: Fix register definition Active channel number is stored in BERLIN2_SM_CTRL as value, instead of a bit map. The masks for channel interrupts and data ready are a 16 bits wide bit map each, instead of just 4 bits. Also correct the data mask for the temperature sensor, which was Reported-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ce83a4ca18391cfe823629c3863108d265e976f8 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Jun 5 14:20:40 2015 -0700 libfc: Fix a typo in a source code comment Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0a66ac17abf2bd03e30fbe20b1847258b960b683 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Fri May 22 11:15:02 2015 +0200 mvsas: always iounmap resources In case pci_resource_start() or pci_resource_len() reutrn 0, mvsas_ioremap returns without doing an iounmap() of mvi->regs_ex. Found by the cocinelle tool. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a30c2a3bf8571c6748dd16edc10b32d45ed71a72 Author: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:13:05 2015 -0300 qla2xxx: prevent board_disable from running during EEH Commit f3ddac1918fe963bcbf8d407a3a3c0881b47248b ("[SCSI] qla2xxx: Disable adapter when we encounter a PCI disconnect.") has introduced a code that disables the board, releasing some resources, when reading 0xffffffff. In case this happens when there is an EEH, this read will trigger EEH detection and set PCI channel offline. EEH will be able to recover the card from this state by doing a reset, so it's a better option than simply disabling the card. Since eeh_check_failure will mark the channel as offline before returning the read value, in case there really was an EEH, we can simply check for pci_channel_offline, preventing the board_disable code from running if it's true. Without this patch, EEH code will try to access those same resources that board_disable will try to free. This race can cause EEH recovery to fail. [ 504.370577] EEH: Notify device driver to resume [ 504.370580] qla2xxx [0001:07:00.0]-9002:2: The device failed to resume I/O from slot/link_reset. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d8571b1ecbd497d78923e046262872e3206b2deb Author: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Date: Thu Feb 12 12:04:37 2015 +0530 pm80xx: Added pm8006 controller support Signed-off-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Acked-by: Jack Wang <xjtuwjp@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 54fbde8a94a8a78547597215c9e4be590d075ee0 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Wed Jul 29 12:38:02 2015 -0700 drm/vmwgfx: Fix copyright headers Updating and fixing copyright headers. Bump version minor to signal vgpu10 support. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit fd11a3c0bd39162547e8abe44e1aaa11059c15f5 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Mon Aug 10 10:56:15 2015 -0700 drm/vmwgfx: Add DX query support. Various fixes. Add support for vgpu10 queries. Functional- and formatting fixes. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 0fca749e9a085ac4623a807ab12c37fc09851e3c Author: Neha Bhende <nbhende@xxxxxxxxxx> Date: Mon Aug 10 10:51:07 2015 -0700 drm/vmwgfx: Add command parser support for a couple of DX commands Add support for SVGA_3D_CMD_DX_BUFFER_COPY and SVGA_3D_CMD_DX_PRED_COPY_REGION Signed-off-by: Neha Bhende <nbhende@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 2f633e5e40798d5c8db512118b5e464b62f7ff06 Author: Charmaine Lee <charmainel@xxxxxxxxxx> Date: Mon Aug 10 10:45:11 2015 -0700 drm/vmwgfx: Command parser fixes for DX Implement support for a couple of missing commands and fix a command parser error path. Also fix uninitialized devcaps and surface size computation. Signed-off-by: Charmaine Lee <charmainel@xxxxxxxxxx> Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit d80efd5cb3dec16a8d1aea9b8a4a7921972dba65 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Aug 10 10:39:35 2015 -0700 drm/vmwgfx: Initial DX support Initial DX support. Co-authored with Sinclair Yeh, Charmaine Lee and Jakob Bornecrantz. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Charmaine Lee <charmainel@xxxxxxxxxx> commit 8ce75f8ab9044fe11caaaf2b2c82471023212f9f Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Wed Jul 8 21:20:39 2015 -0700 drm/vmwgfx: Update device includes for DX device functionality Add DX includes and move all device includes to a separate directory. Co-authored with Thomas Hellstrom, Charmaine Lee and above all, the VMware device team. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Charmaine Lee <charmainel@xxxxxxxxxx> commit 5101020c78c9f242fe77bd7986bc24f7b800172a Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jul 10 22:31:08 2015 -0700 drm: export the DRM permission check code This way drm_ioctl_permit() can be used by drivers Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 05c9501859c8bd80635d7299c384e2a8db7c0ce1 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Tue Aug 11 22:53:39 2015 -0700 drm/vmwgfx: Fix crash when unloading vmwgfx v2 This patch fixes two issues. One, when a surface is a proxy for a DMA buffer, it holds an extra reference that needs to be cleared. Two, when fbdev is enabled, we need to unpin the framebuffer before unloading the driver. This is done by a call to vmw_fb_off(). v2 Moved unreferencing surface to from vmw_framebuffer_surface_destroy() to vmw_kms_new_framebuffer() Added "struct vmw_framebuffer *vfb = NULL;" to silence a compiler warning. Removed error checking after calling vmw_surface/dmabuf_reference() Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit df45e9d410fc07ab816b006414f52ec4e2fbf2d7 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Aug 12 09:30:09 2015 -0700 drm/vmwgfx: Fix framebuffer creation on older hardware On older hardware, texture max width and height is not available, so set it to something reasonable, like 8192. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 65ade7d34bb6436104f1fdcce899bd81707da2e1 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Thu Jul 16 10:49:13 2015 -0700 drm/vmwgfx: Fixed topology boundary checking for Screen Targets For a Screen Target capable display device, the display topology is limited by SVGA_REG_MAX_PRIMARY_BOUNDING_BOX_MEM. Two values are checked against this limit: 1. Size of the bounding box enclosing all the displays, and 2. Size of the total number of displays, e.g. framebuffers The limitations above mean we do not have exact max width and height for the topology. The best current option is to set those to the maximum texture width/height. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Reviewed-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 9a5ad7d0e3e1c6c0c11df89fbc5376f8aaf7a90f Author: Jungseok Lee <jungseoklee85@xxxxxxxxx> Date: Wed Aug 12 15:16:19 2015 +0100 arm64: Add __exception_irq_entry definition for function graph The gic_handle_irq() is defined with __exception_irq_entry attribute. A single remaining work is to add its definition as ARM did. Below shows how function graph data is changed with these hunks. A prologue of an interrupt handler is drawn as follows. - current status 0) 0.208 us | cpuidle_not_available(); 0) | default_idle_call() { 0) | arch_cpu_idle() { 0) | __handle_domain_irq() { 0) | irq_enter() { 0) 0.313 us | rcu_irq_enter(); 0) 0.261 us | __local_bh_disable_ip(); - with this change 0) 0.625 us | cpuidle_not_available(); 0) | default_idle_call() { 0) | arch_cpu_idle() { 0) ==========> | 0) | gic_handle_irq() { 0) | __handle_domain_irq() { 0) | irq_enter() { 0) 0.885 us | rcu_irq_enter(); 0) 0.781 us | __local_bh_disable_ip(); An epilogue of an interrupt handler is recorded as follows. - current status 0) 0.261 us | idle_cpu(); 0) | rcu_irq_exit() { 0) 0.521 us | rcu_eqs_enter_common.isra.46(); 0) 2.552 us | } 0) ! 322.448 us | } 0) ! 583.437 us | } 0) # 1656.041 us | } 0) # 1658.073 us | } - with this change 0) 0.677 us | idle_cpu(); 0) | rcu_irq_exit() { 0) 1.770 us | rcu_eqs_enter_common.isra.46(); 0) 7.968 us | } 0) # 1803.541 us | } 0) # 2626.667 us | } 0) # 2632.969 us | } 0) <========== | 0) # 14425.00 us | } 0) # 14430.98 us | } Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Rabin Vincent <rabin@xxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 71ef150ee06df29c5b427307dc0bacfe06a8baea Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 11 06:30:50 2015 -0400 perf tests: Add tests to callgraph and time parse Add tests in tests/parse-events.c to check call-graph and time option. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439289050-40510-4-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9e207ddfa20781e56465ce9a537f0a377c9d34fb Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 11 06:30:49 2015 -0400 perf report: Show call graph from reference events Introduce --show-ref-call-graph for perf report to print reference callgraph for no callgraph event. Here is an example. perf report --show-ref-call-graph --stdio # To display the perf.data header info, please use --header/--header-only options. # # # Total Lost Samples: 0 # # Samples: 5 of event 'cpu/cpu-cycles,call-graph=fp/' # Event count (approx.): 144985 # # Children Self Command Shared Object Symbol # ........ ........ ....... ................ ........................................ # 72.30% 0.00% sleep [kernel.vmlinux] [k] entry_SYSCALL_64_fastpath | ---entry_SYSCALL_64_fastpath | |--22.62%-- __GI___libc_nanosleep --77.38%-- [...] ...... # Samples: 6 of event 'cpu/instructions,call-graph=no/', show reference callgraph # Event count (approx.): 172780 # # Children Self Command Shared Object Symbol # ........ ........ ....... ................ ........................................ # 73.16% 0.00% sleep [kernel.vmlinux] [k] entry_SYSCALL_64_fastpath | ---entry_SYSCALL_64_fastpath | |--31.44%-- __GI___libc_nanosleep --68.56%-- [...] Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439289050-40510-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f9db0d0f1b2cf030083c83d3ed3a4bbae6bdc8b7 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 11 06:30:48 2015 -0400 perf callchain: Allow disabling call graphs per event This patch introduce "call-graph=no" to disable per-event callgraph. Here is an example. perf record -e 'cpu/cpu-cycles,call-graph=fp/,cpu/instructions,call-graph=no/' sleep 1 perf report --stdio # To display the perf.data header info, please use --header/--header-only options. # # # Total Lost Samples: 0 # # Samples: 6 of event 'cpu/cpu-cycles,call-graph=fp/' # Event count (approx.): 774218 # # Children Self Command Shared Object Symbol # ........ ........ ....... ................ ........................................ # 61.94% 0.00% sleep [kernel.vmlinux] [k] entry_SYSCALL_64_fastpath | ---entry_SYSCALL_64_fastpath | |--97.30%-- __brk | --2.70%-- mmap64 _dl_check_map_versions _dl_check_all_versions 61.94% 0.00% sleep [kernel.vmlinux] [k] perf_event_mmap | ---perf_event_mmap | |--97.30%-- do_brk | sys_brk | entry_SYSCALL_64_fastpath | __brk | --2.70%-- mmap_region do_mmap_pgoff vm_mmap_pgoff sys_mmap_pgoff sys_mmap entry_SYSCALL_64_fastpath mmap64 _dl_check_map_versions _dl_check_all_versions ...... # Samples: 6 of event 'cpu/instructions,call-graph=no/' # Event count (approx.): 359692 # # Children Self Command Shared Object Symbol # ........ ........ ....... ................ ................................. # 89.03% 0.00% sleep [unknown] [.] 0xffff6598ffff6598 89.03% 0.00% sleep ld-2.17.so [.] _dl_resolve_conflicts 89.03% 0.00% sleep [kernel.vmlinux] [k] page_fault Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439289050-40510-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d457c96392bb418bd998f3ccf93e0e4c958fcd0f Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 11 06:30:47 2015 -0400 perf callchain: Per-event type selection support This patchkit adds the ability to set callgraph mode (fp, dwarf, lbr) per event. This in term can reduce sampling overhead and the size of the perf.data. Here is an example. perf record -e 'cpu/cpu-cycles,period=1000,call-graph=fp,time=1/,cpu/instructions,call-graph=lbr/' sleep 1 perf evlist -v cpu/cpu-cycles,period=1000,call-graph=fp,time=1/: type: 4, size: 112, config: 0x3c, { sample_period, sample_freq }: 1000, sample_type: IP|TID|TIME|CALLCHAIN|PERIOD|IDENTIFIER, read_format: ID, disabled: 1, inherit: 1, mmap: 1, comm: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 cpu/instructions,call-graph=lbr/: type: 4, size: 112, config: 0xc0, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|CALLCHAIN|PERIOD|BRANCH_STACK|IDENTIFIER, read_format: ID, disabled: 1, inherit: 1, freq: 1, enable_on_exec: 1, sample_id_all: 1, exclude_guest: 1 Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439289050-40510-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 75186a9b09e47072f442f43e292cd47180b67b5c Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Aug 12 10:24:07 2015 +0900 perf probe: Fix to show lines of sys_ functions correctly "perf probe --lines sys_poll" shows only the first line of sys_poll, because the SYSCALL_DEFINE macro: ---- SYSCALL_DEFINE*(foo,...) { body; } ---- is expanded as below (on debuginfo) ---- static inline int SYSC_foo(...) { body; } int SyS_foo(...) <- is an alias of sys_foo. { return SYSC_foo(...); } ---- So, "perf probe --lines sys_foo" decodes SyS_foo function and it also skips inlined functions(SYSC_foo) inside the target function because those functions are usually defined somewhere else. To fix this issue, this fix checks whether the inlined function is defined at the same point of the target function, and if so, it doesn't skip the inline function. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150812012406.11811.94691.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 228c37ff980f5643401a1667f5ab7c6f38602cf8 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Aug 11 12:38:54 2015 +0100 sign-file: Document dependency on OpenSSL devel libraries The revised sign-file program is no longer a script that wraps the openssl program, but now rather a program that makes use of OpenSSL's crypto library. This means that to build the sign-file program, the kernel build process now has a dependency on the OpenSSL development packages in addition to OpenSSL itself. Document this in Kconfig and in module-signing.txt. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 99db44350672c8a5ee9a7b0a6f4cd6ff10136065 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 15:22:27 2015 +0100 PKCS#7: Appropriately restrict authenticated attributes and content type A PKCS#7 or CMS message can have per-signature authenticated attributes that are digested as a lump and signed by the authorising key for that signature. If such attributes exist, the content digest isn't itself signed, but rather it is included in a special authattr which then contributes to the signature. Further, we already require the master message content type to be pkcs7_signedData - but there's also a separate content type for the data itself within the SignedData object and this must be repeated inside the authattrs for each signer [RFC2315 9.2, RFC5652 11.1]. We should really validate the authattrs if they exist or forbid them entirely as appropriate. To this end: (1) Alter the PKCS#7 parser to reject any message that has more than one signature where at least one signature has authattrs and at least one that does not. (2) Validate authattrs if they are present and strongly restrict them. Only the following authattrs are permitted and all others are rejected: (a) contentType. This is checked to be an OID that matches the content type in the SignedData object. (b) messageDigest. This must match the crypto digest of the data. (c) signingTime. If present, we check that this is a valid, parseable UTCTime or GeneralTime and that the date it encodes fits within the validity window of the matching X.509 cert. (d) S/MIME capabilities. We don't check the contents. (e) Authenticode SP Opus Info. We don't check the contents. (f) Authenticode Statement Type. We don't check the contents. The message is rejected if (a) or (b) are missing. If the message is an Authenticode type, the message is rejected if (e) is missing; if not Authenticode, the message is rejected if (d) - (f) are present. The S/MIME capabilities authattr (d) unfortunately has to be allowed to support kernels already signed by the pesign program. This only affects kexec. sign-file suppresses them (CMS_NOSMIMECAP). The message is also rejected if an authattr is given more than once or if it contains more than one element in its set of values. (3) Add a parameter to pkcs7_verify() to select one of the following restrictions and pass in the appropriate option from the callers: (*) VERIFYING_MODULE_SIGNATURE This requires that the SignedData content type be pkcs7-data and forbids authattrs. sign-file sets CMS_NOATTR. We could be more flexible and permit authattrs optionally, but only permit minimal content. (*) VERIFYING_FIRMWARE_SIGNATURE This requires that the SignedData content type be pkcs7-data and requires authattrs. In future, this will require an attribute holding the target firmware name in addition to the minimal set. (*) VERIFYING_UNSPECIFIED_SIGNATURE This requires that the SignedData content type be pkcs7-data but allows either no authattrs or only permits the minimal set. (*) VERIFYING_KEXEC_PE_SIGNATURE This only supports the Authenticode SPC_INDIRECT_DATA content type and requires at least an SpcSpOpusInfo authattr in addition to the minimal set. It also permits an SPC_STATEMENT_TYPE authattr (and an S/MIME capabilities authattr because the pesign program doesn't remove these). (*) VERIFYING_KEY_SIGNATURE (*) VERIFYING_KEY_SELF_SIGNATURE These are invalid in this context but are included for later use when limiting the use of X.509 certs. (4) The pkcs7_test key type is given a module parameter to select between the above options for testing purposes. For example: echo 1 >/sys/module/pkcs7_test_key/parameters/usage keyctl padd pkcs7_test foo @s </tmp/stuff.pkcs7 will attempt to check the signature on stuff.pkcs7 as if it contains a firmware blob (1 being VERIFYING_FIRMWARE_SIGNATURE). Suggested-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit f29299b4801076e14bb149cb2fc44bd8dc2f51cc Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Jul 31 11:43:23 2015 +0100 KEYS: Add a name for PKEY_ID_PKCS7 Add a name for PKEY_ID_PKCS7 into the pkey_id_type_name array. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit fd19a3d195be23e8d9d0d66576b96ea25eea8323 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Jul 29 16:58:32 2015 +0100 PKCS#7: Improve and export the X.509 ASN.1 time object decoder Make the X.509 ASN.1 time object decoder fill in a time64_t rather than a struct tm to make comparison easier (unfortunately, this makes readable display less easy) and export it so that it can be used by the PKCS#7 code too. Further, tighten up its parsing to reject invalid dates (eg. weird characters, non-existent hour numbers) and unsupported dates (eg. timezones other than 'Z' or dates earlier than 1970). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 770f2b98760ef0500183d7206724aac762433e2d Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:34 2015 +0100 modsign: Use extract-cert to process CONFIG_SYSTEM_TRUSTED_KEYS Fix up the dependencies somewhat too, while we're at it. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 84706caae9e06363db4f956cde4f9715ce5c0ef3 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:33 2015 +0100 extract-cert: Cope with multiple X.509 certificates in a single file This is not required for the module signing key, although it doesn't do any harm â?? it just means that any additional certs in the PEM file are also trusted by the kernel. But it does allow us to use the extract-cert tool for processing the extra certs from CONFIG_SYSTEM_TRUSTED_KEYS, instead of that horrid awk|base64 hack. Also cope with being invoked with no input file, creating an empty output file as a result. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit ed8c20762a314124cbdd62e9d3e8aa7aa2a16020 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:33 2015 +0100 sign-file: Generate CMS message as signature instead of PKCS#7 Make sign-file use the OpenSSL CMS routines to generate a message to be used as the signature blob instead of the PKCS#7 routines. This allows us to change how the matching X.509 certificate is selected. With PKCS#7 the only option is to match on the serial number and issuer fields of an X.509 certificate; with CMS, we also have the option of matching by subjectKeyId extension. The new behaviour is selected with the "-k" flag. Without the -k flag specified, the output is pretty much identical to the PKCS#7 output. Whilst we're at it, don't include the S/MIME capability list in the message as it's irrelevant to us. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx commit 60d65cacd7c2d84a6dcad69bcb57bbf0220c8643 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:33 2015 +0100 PKCS#7: Support CMS messages also [RFC5652] Since CMS is an evolution of PKCS#7, with much of the ASN.1 being compatible, add support for CMS signed-data messages also [RFC5652 sec 5]. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit a4c6e57f4f5fa65cbdb8cc1c14ff5ca7c56766c3 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:32 2015 +0100 X.509: Change recorded SKID & AKID to not include Subject or Issuer The key identifiers fabricated from an X.509 certificate are currently: (A) Concatenation of serial number and issuer (B) Concatenation of subject and subjectKeyID (SKID) When verifying one X.509 certificate with another, the AKID in the target can be used to match the authoritative certificate. The AKID can specify the match in one or both of two ways: (1) Compare authorityCertSerialNumber and authorityCertIssuer from the AKID to identifier (A) above. (2) Compare keyIdentifier from the AKID plus the issuer from the target certificate to identifier (B) above. When verifying a PKCS#7 message, the only available comparison is between the IssuerAndSerialNumber field and identifier (A) above. However, a subsequent patch adds CMS support. Whilst CMS still supports a match on IssuerAndSerialNumber as for PKCS#7, it also supports an alternative - which is the SubjectKeyIdentifier field. This is used to match to an X.509 certificate on the SKID alone. No subject information is available to be used. To this end change the fabrication of (B) above to be from the X.509 SKID alone. The AKID in keyIdentifier form then only matches on that and does not include the issuer. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 2c7fd3675ef1867d0d0c39e9f0bb5ddb67bfc7a7 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:31 2015 +0100 PKCS#7: Check content type and versions We only support PKCS#7 signed-data [RFC2315 sec 9] content at the top level, so reject anything else. Further, check that the version numbers in SignedData and SignerInfo are 1 in both cases. Note that we don't restrict the inner content type. In the PKCS#7 code we don't parse the data attached there, but merely verify the signature over it. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 63ab1749f39aeec27b0dcf71cd7996d862c5ad63 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Aug 12 12:42:58 2015 -0300 perf hists browser: Make ESC unzoom as well In addition to <-, that may be repurposed for horizontal scrolling. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-w3rctelxr4yxrjufx7z3fclb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d4853630b334017cab9a4602f5e9677e3b792c8a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 17:00:35 2015 +0200 drm/atomic: Use KMS VBLANK API Instead of using the legacy VBLANK API, use the new KMS API. This is part of an effort to convert all existing users so that the KMS API can be changed to properly use per-CRTC data. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c30e11fc66fe21882c46e176ed695728ebd4293a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 17:00:33 2015 +0200 drm/irq: Document return values more consistently Some of the functions are documented inconsistently. Add Returns: sections where missing and use consistent style to describe the return value. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cc1ef118fc099295ae6aabbacc8af94d8d8885eb Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 17:00:31 2015 +0200 drm/irq: Make pipe unsigned and name consistent Name all references to the pipe number (CRTC index) consistently to make it easier to distinguish which is a pipe number and which is a pointer to struct drm_crtc. While at it also make all references to the pipe number unsigned because there is no longer any reason why it should ever be negative. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7d1de851632d013023cd7c89eb8664f62e5beb2c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 17:00:30 2015 +0200 drm/irq: Check for valid VBLANK before dereference When accessing the array of per-CRTC VBLANK structures we must always check that the index into the array is valid before dereferencing to avoid crashing. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> [danvet: Squash in my own whitespace ocd fixup in drm_vblank_count.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc0a446152877d3a4e40166ddb19b6e0cb5f6567 Author: viresh kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 10 11:42:26 2015 +0530 dm: remove unlikely() before IS_ERR() IS_ERR() already contains an 'unlikely' compiler flag so there is no need to do that again from IS_ERR() callers. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e80d1c805a3b2f0ad2081369be5dc5deedd5ee59 Author: Vivek Goyal <vgoyal@xxxxxxxxxx> Date: Fri Jul 31 09:20:36 2015 -0400 dm: do not override error code returned from dm_get_device() Some of the device mapper targets override the error code returned by dm_get_device() and return either -EINVAL or -ENXIO. There is nothing gained by this override. It is better to propagate the returned error code unchanged to caller. This work was motivated by hitting an issue where the underlying device was busy but -EINVAL was being returned. After this change we get -EBUSY instead and it is easier to figure out the problem. Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit ab37844d6169c2dd6f96e665b07b692ba1a4c180 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Wed Jul 1 17:30:36 2015 -0400 dm: test return value for DM_MAPIO_SUBMITTED In properly written code we should not assume that DM_MAPIO_SUBMITTED is zero. We should test the return value for DM_MAPIO_SUBMITTED rather than testing it for zero. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 4fb9aa5abdb791defedb3a5ce254ad193e82d77b Author: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Date: Mon Jun 29 14:14:00 2015 +0100 dm verity: remove unused mempool Since commit 003b5c571 ("block: Convert drivers to immutable biovecs"), vec_mempool in struct dm_verity is no longer used. Remove it and related definitions. Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e44b6a5a3c711c1ada4cf7135bf9dbf860caffd2 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Thu Jul 30 09:29:40 2015 +0100 dm cache: move wake_waker() from free_migrations() to where it is needed This stops spurious wake ups from calls to prealloc_free_structs(). Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 8c747fd0c3f514233afaca98139c03cca2cf2d2f Author: Vivek Goyal <vgoyal@xxxxxxxxxx> Date: Mon Jul 6 11:55:41 2015 -0400 dm btree remove: remove unused function get_nr_entries() rebalance_children() calls get_nr_entries() and assigns the result to an unused local 'child_entries' variable. Remove get_nr_entries() and cleanup rebalance_children() accordingly. Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 0a8d4c3ef8f14cbd26d97767e3676722d4eebee5 Author: Vivek Goyal <vgoyal@xxxxxxxxxx> Date: Mon Jul 6 11:55:40 2015 -0400 dm btree: remove unused "dm_block_t root" parameter in btree_split_sibling() Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 4051aab762f161826f15ea63c8baaf33cb5e6fe3 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Jun 26 13:25:12 2015 +0100 dm cache policy smq: change the mutex to a spinlock We no longer sleep in any of the smq functions, so this can become a spinlock. Switching from mutex to spinlock improves performance when the fast cache device is a very low latency device (e.g. NVMe SSD). The switch to spinlock also allows for removal of the extra tick_lock; which is no longer needed since the main lock being a spinlock now fulfills the locking requirements needed by interrupt context. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 2a7d3d6d5ddbd202c09f228829cd03609a8efb23 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 17:00:24 2015 +0200 drm/irq: Remove negative CRTC index special-case The drm_send_vblank_event() function treats negative CRTC indices as meaning that a driver doesn't have proper VBLANK handling. This is the only place where DRM needs negative CRTC indices, so in order to enable subsequent cleanup, remove this special case and replace it by the more obvious check for whether or not VBLANK support was initialized. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b54a0935b03888c8412aa5acbf873af9d753fbdd Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:54:29 2015 +0200 drm/plane: Remove redundant extern Use of the extern keyword for function prototypes is unnecessary, so it can be removed. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 45e3743aff6f3fbe3f08d43d443dc2d7b5396a31 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:54:28 2015 +0200 drm/plane: Use consistent data types for format count Rather than a mix of the the sized uint32_t and signed integer, use an unsized unsigned int to specify the format count. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 798ae0f6693deac4a07377d0c45b4325b7026278 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:12 2015 +0200 vga_switcheroo: Remove unnecessary checks debugfs_remove() gracefully ignores NULL parameters, so the explicit checks can be removed. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7491bfb446741b1dd65aadda54bade18bfaba442 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:11 2015 +0200 vga_switcheroo: Wrap overly long lines Wrap overly long lines to make checkpatch happy. While at it, also add blank lines after declarations to eliminate additional problems flagged by checkpatch. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9b0be1ebec804c5698541a86486a0b2a4143279d Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:10 2015 +0200 vga_switcheroo: Use pr_fmt() Use pr_fmt() to define the "vga_switcheroo: " prefix that is prepended to all output messages emitted by pr_*() functions. This allows making existing strings much shorter and eliminates a bunch of warnings from checkpatch about lines being overly long. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 713092783082a1469d329cb63be7c7a0992b2448 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:09 2015 +0200 vga_switcheroo: Cleanup header comment The header comment uses a weird combination of formatting styles. Make it consistent. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf8252b3fc247f8634df521af429101064fc43d1 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:08 2015 +0200 vga_switcheroo: Use pr_*() instead of printk() This silences a bunch of checkpatch warnings and makes the code shorter. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5d90ccf908bd806f0767bc07310e4c25c8501369 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:07 2015 +0200 vgaarb: Fix a few checkpatch errors and warnings Wrap overly long lines (offending lines were mostly comments, so trivial to fix up) and a number of other coding style issues pointed out by the checkpatch tool. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8b7e2e865fef94d6a46746c3b7f334b910814031 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:06 2015 +0200 vgaarb: Use vgaarb: prefix consistently in messages Define the pr_fmt() macro to causes all messages emitted by pr_*() functions to be prefixed with "vgaarb: ". Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eb6944f2fc01d5c83bce37fa0e68810565f78a75 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:05 2015 +0200 vgaarb: Stop complaining about absent devices Some setups do not register a default VGA device, in which case the VGA arbiter will still complain about the (non-existent) PCI device being a non-VGA device. Fix this by making the error message conditional on a default VGA device having been set up. Note that the easy route of erroring out early isn't going to work because otherwise priv->target won't be properly updated. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 50d78bcf5d06871a0b3adcb3cbec6e6ca33f226a Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Aug 12 12:46:01 2015 +0200 Bluetooth: hci_bcm: Fix "implicit declaration" The kbuild test robot reported implicit declaration of function 'acpi_dev_get_resources'. Surround ACPI function by CONFIG_ACPI test. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 62aaefa7d03804aef30639ab362f845b1f3e92ed Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 09:20:56 2015 +0200 Bluetooth: hci_bcm: improve use of gpios API devm_gpiod_get currently has an optional parameter to set initial direction and value for the requested gpio. Make use of this to simplify the driver and make it not fail to build when this parameter is made mandatory (which is scheduled for 4.3-rc1). Moreover use the _optional variant of devm_gpiod_get to simplify error handling (which also gets more strict for free). Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f303e50766298feac17c8715e29ecd14b2c12680 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Jul 23 18:37:13 2015 +0200 iommu/vt-d: Avoid duplicate device_domain_info structures When a 'struct device_domain_info' is created as an alias for another device, this struct will not be re-used when the real device is encountered. Fix that to avoid duplicate device_domain_info structures being added. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 08a7f456a759e971caf0cc13987a963de2b0ae7c Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Jul 23 18:09:11 2015 +0200 iommu/vt-d: Only insert alias dev_info if there is an alias For devices without an PCI alias there will be two device_domain_info structures added. Prevent that by checking if the alias is different from the device. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 127c761598f7fbe7ffe6650cdc491eb57c5aaecd Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Jul 23 17:44:46 2015 +0200 iommu/vt-d: Pass device_domain_info to __dmar_remove_one_dev_info This struct contains all necessary information for the function already. Also handle the info->dev == NULL case while at it. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 2309bd793ead6d5e4ace611502aa87b3202856ca Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 17:29:47 2015 +0200 iommu/vt-d: Remove dmar_global_lock from device_notifier The code in the locked section does not touch anything protected by the dmar_global_lock. Remove it from there. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 55d940430ab91b89ff5fc7240555544d86475783 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 16:50:40 2015 +0200 iommu/vt-d: Get rid of domain->iommu_lock When this lock is held the device_domain_lock is also required to make sure the device_domain_info does not vanish while in use. So this lock can be removed as it gives no additional protection. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit de7e888646466e6c32cdd41124c0164cfed4abcb Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 11:58:07 2015 +0200 iommu/vt-d: Only call domain_remove_one_dev_info to detach old domain There is no need to make a difference here between VM and non-VM domains, so simplify this code here. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d160aca5276d093fc68d6ff48888586c90309d03 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 11:52:53 2015 +0200 iommu/vt-d: Unify domain->iommu attach/detachment Move the code to attach/detach domains to iommus and vice verce into a single function to make sure there are no dangling references. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit c6c2cebd665933216785246a1d15b4112fa74bbf Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 13:11:53 2015 +0200 iommu/vt-d: Establish domain<->iommu link in dmar_insert_one_dev_info This makes domain attachment more synchronous with domain deattachment. The domain<->iommu link is released in dmar_remove_one_dev_info. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit dc534b25d11f42e6b4caa5b1918f549d9c0e9d4d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 12:44:02 2015 +0200 iommu/vt-d: Pass an iommu pointer to domain_init() This allows to do domain->iommu attachment after domain_init has run. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 2452d9db1218fdb1c29afb921838c323987f5799 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Jul 23 16:20:14 2015 +0200 iommu/vt-d: Rename iommu_detach_dependent_devices() Rename this function and the ones further down its call-chain to domain_context_clear_*. In particular this means: iommu_detach_dependent_devices -> domain_context_clear iommu_detach_dev_cb -> domain_context_clear_one_cb iommu_detach_dev -> domain_context_clear_one These names match a lot better with its domain_context_mapping counterparts. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e6de0f8dfcd0395efee874db97536531555d91af Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 16:30:36 2015 +0200 iommu/vt-d: Rename domain_remove_one_dev_info() Rename the function to dmar_remove_one_dev_info to match is name better with its dmar_insert_one_dev_info counterpart. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5db31569e9503654477b504de7161d01f85f7261 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 12:40:43 2015 +0200 iommu/vt-d: Rename dmar_insert_dev_info() Rename this function to dmar_insert_one_dev_info() to match the name better with its counter part function domain_remove_one_dev_info(). Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit cc4e2575cc96b1aac910f56e1d7ef45d219b40b2 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 10:04:36 2015 +0200 iommu/vt-d: Move context-mapping into dmar_insert_dev_info Do the context-mapping of devices from a single place in the call-path and clean up the other call-sites. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 76f45fe35c7a54e6fe5539660db2c8cfb23a2972 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 18:25:11 2015 +0200 iommu/vt-d: Simplify domain_remove_dev_info() Just call domain_remove_one_dev_info() for all devices in the domain instead of reimplementing the functionality. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit b608ac3b6d54c38d6cf0eb91547f0f960633eb2d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 18:19:08 2015 +0200 iommu/vt-d: Simplify domain_remove_one_dev_info() Simplify this function as much as possible with the new iommu_refcnt field. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 42e8c186b595a32918933b3dec445f0bf0f486f6 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 15:50:02 2015 +0200 iommu/vt-d: Simplify io/tlb flushing in intel_iommu_unmap We don't need to do an expensive search for domain-ids anymore, as we keep track of per-iommu domain-ids. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 29a27719abaa4d74aed928803c1aa9437bbdde89 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 17:17:12 2015 +0200 iommu/vt-d: Replace iommu_bmp with a refcount This replaces the dmar_domain->iommu_bmp with a similar reference count array. This allows us to keep track of how many devices behind each iommu are attached to the domain. This is necessary for further simplifications and optimizations to the iommu<->domain attachment code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit af1089ce388b2d14c8331b96567b7e3b7eb5f35b Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 15:45:19 2015 +0200 iommu/vt-d: Kill dmar_domain->id This field is now obsolete because all places use the per-iommu domain-ids. Kill the remaining uses of this field and remove it. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 0dc7971594aad73b50722878ea7175055a4fdfcd Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 15:40:06 2015 +0200 iommu/vt-d: Don't pre-allocate domain ids for si_domain There is no reason for this special handling of the si_domain. The per-iommu domain-id can be allocated on-demand like for any other domain. So remove the pre-allocation code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a1ddcbe9301023928f877b675a40914427928f2a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 15:20:32 2015 +0200 iommu/vt-d: Pass dmar_domain directly into iommu_flush_iotlb_psi This function can figure out the domain-id to use itself from the iommu_did array. This is more reliable over different domain types and brings us one step further to remove the domain->id field. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit de24e55395698e29f2a0582ae1899fa0001f829a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 14:53:04 2015 +0200 iommu/vt-d: Simplify domain_context_mapping_one Get rid of the special cases for VM domains vs. non-VM domains and simplify the code further to just handle the hardware passthrough vs. page-table case. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 28ccce0d954a1cf3baba335bf12581357112fb35 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 14:45:31 2015 +0200 iommu/vt-d: Calculate translation in domain_context_mapping_one There is no reason to pass the translation type through multiple layers. It can also be determined in the domain_context_mapping_one function directly. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e2411427f7d3ddcf8d5f35d5ab0a397180deac3a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 11:18:21 2015 +0200 iommu/vt-d: Get rid of iommu_attach_vm_domain() The special case for VM domains is not needed, as other domains could be attached to the iommu in the same way. So get rid of this special case. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 8bf478163e69e42973c7070179a11815139e5bf0 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 10:41:21 2015 +0200 iommu/vt-d: Split up iommu->domains array This array is indexed by the domain-id and contains the pointers to the domains attached to this iommu. Modern systems support 65536 domain ids, so that this array has a size of 512kb, per iommu. This is a huge waste of space, as the array is usually sparsely populated. This patch makes the array two-dimensional and allocates the memory for the domain pointers on-demand. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 9452d5bfe5c3df6befb89835d2c44920e03bd390 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 10:00:56 2015 +0200 iommu/vt-d: Add access functions for iommu->domains This makes it easier to change the layout of the data structure later. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit c0e8a6c8033e205835fa5e67db7ab4589d2491b2 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 09:39:46 2015 +0200 iommu/vt-d: Keep track of per-iommu domain ids Instead of searching in the domain array for already allocated domain ids, keep track of them explicitly. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 517dfdb315fa2da9b144f6fa494b4f54b490de7e Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 12:50:55 2015 -0300 perf ui browser: Introduce ui_browser__printf() To remove direct access to libslang functions, with the immediate goal of implementing horizontal scrolling at the ui_browser level, but also because we may at some point want to implement ui_browser with other UIs in addition to the current libslang implementation. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-w0niblabqrkecs4o0eogfy6c@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 26270a008251ec36431623bd992252934bbe529a Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 12:24:27 2015 -0300 perf ui browser: Introduce ui_browser__write_nstring() To remove direct access to libslang functions, with the immediate goal of implementing horizontal scrolling at the ui_browser level, but also because we may at some point want to implement ui_browser with other UIs in addition to the current libslang implementation. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-437ineavoejzou727mr9bxpi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b62bee1bdea6d78e444183b04c81ce982a371571 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 11:05:36 2015 -0300 perf trace: Beautify keyctl's option arg 8.697 (0.103 ms): pool/2343 keyctl(option: GET_PERSISTENT, arg2: 1000, arg3: 4294967294, arg4: 140703061514067, arg5: 140703692383680) = 1023192809 8.763 (0.049 ms): pool/2343 keyctl(option: SEARCH, arg2: 1023192809, arg3: 140703745767772, arg4: 140703745767832, arg5: 4294967294) = 140224497 8.789 (0.016 ms): pool/2343 keyctl(option: SEARCH, arg2: 140224497, arg3: 140703745767814, arg4: 140703745767900) = 512300257 8.807 (0.011 ms): pool/2343 keyctl(option: READ, arg2: 512300257 ) = 13 8.822 (0.008 ms): pool/2343 keyctl(option: READ, arg2: 512300257, arg3: 140703061514000, arg4: 13 ) = 13 8.837 (0.007 ms): pool/2343 keyctl(option: READ, arg2: 140224497 ) = 4 8.852 (0.009 ms): pool/2343 keyctl(option: READ, arg2: 140224497, arg3: 140703061514000, arg4: 4 ) = 4 8.869 (0.010 ms): pool/2343 keyctl(option: SEARCH, arg2: 140224497, arg3: 140703745767772, arg4: 140703061514032) = -1 ENOKEY Required key not available 8.892 (0.017 ms): pool/2343 keyctl(option: DESCRIBE, arg2: 512300257 ) = 43 8.910 (0.012 ms): pool/2343 keyctl(option: DESCRIBE, arg2: 512300257, arg3: 140703061544384, arg4: 43) = 43 Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-013ab219irsxngyumrf5gp8s@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8d8c66a248dfb9a7e517822b5ef87e357b1605bf Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 10:57:02 2015 -0300 perf trace: Use the FD beautifier for socket syscall fds But we really should have something like 'strace -yy' here... Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-eyrt1ypfq68u4ljagyk2nj1i@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 76b10655818c939e257377f83992975a5f55ffb3 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Aug 11 06:36:55 2015 -0700 perf sort: Check for SRCLINE_UNKNOWN case in "srcfile" processing Handle the SRCLINE_UNKNOWN case correctly when processing "srcfile". Commiter note: We can't just free it, as it was't allocated via malloc, its a guard variable. Reported-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150811133655.GC4524@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 28ebb87c73f9c17266d4f7570d65a1e695df7d9d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 10:38:38 2015 -0300 perf trace: Add missing clockid entries We were missing: CLOCK_BOOTTIME, CLOCK_REALTIME_ALARM, CLOCK_BOOTTIME_ALARM, CLOCK_SGI_CYCLE and CLOCK_TAI. Add them. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <milian.wolff@xxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d67rwqtwm9jyenwes98kr0cr@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 090389b6d95c046cc6caca2e7e00adc27829acf2 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 10 19:20:52 2015 -0300 perf trace: Associate some more syscall args with the getname beautifier This time using 'trinity' to test these: fchmodat, futimesat, llistxattr, lremovexattr, lstat, mknodat, mq_unlink, stat and vmsplice. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <milian.wolff@xxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-a1uqu249nwwh0ixrhm80k4a4@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dcfcf2c2cd71906073beef32aadb1989e8996951 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 14:38:18 2015 +0800 ASoC: fsl: fix typos for sound/soc/fsl/* There are too much noise about the typos for fsl's drivers. So I fix all the typos here in this patch in almost every file I touched. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b486afbd1baf796a9e4b793b2f9121c12e1469af Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 15:02:19 2015 +0800 regmap: fix typos in regmap.c There are two typos in drivers/base/regmap/regmap.c, and they may introduce some noise when checking new patches. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3cb5ff0220e31bd1043bb18fd5765c9f86928491 Author: Jamie Lentin <jm@xxxxxxxxxxxx> Date: Tue Aug 11 22:40:52 2015 +0100 HID: lenovo: Hide middle-button press until release Don't relay a middle button press to userspace until release, and then only if there was no scroll events inbetween. This is closer to what Xorg's wheel emulation does, and avoids spurious middle-click pastes. Signed-off-by: Jamie Lentin <jm@xxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dbfebb44b7c650dd134a8be07f9afd5862150987 Author: Jamie Lentin <jm@xxxxxxxxxxxx> Date: Tue Aug 11 22:40:51 2015 +0100 HID: lenovo: Add missing return-value check Signed-off-by: Jamie Lentin <jm@xxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7f65068fb77f173c5466545fc11818de7a35c1f3 Author: Jamie Lentin <jm@xxxxxxxxxxxx> Date: Tue Aug 11 22:40:50 2015 +0100 HID: lenovo: Use constants for axes names Signed-off-by: Jamie Lentin <jm@xxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 609ca5f3cb32c2d11fd8cabe293ff3689e7d2613 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 10 19:43:47 2015 +0100 regulator: core: Use class device list for regulator_list in late init The regulator_list has exactly the same contents as the list that the driver core maintains of regulator_class members so is redundant. As a first step in converting over to use the class device list convert our iteration in late_initcall() to use the class device iterator. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2f9b660b2128c92d66f18ac7fbd7c39a91cec159 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 12:12:28 2015 +0200 regmap: Fix integertypes for register address and value These values are defined as unsigned int in the struct and are assigned to int values. This patch fixes the type to be unsigned int instead. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f120cd6533d21075ab103ae6c225b1697853660d Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 23 13:59:13 2014 +0100 KVM: arm/arm64: timer: Allow the timer to control the active state In order to remove the crude hack where we sneak the masked bit into the timer's control register, make use of the phys_irq_map API control the active state of the interrupt. This causes some limited changes to allow for potential error propagation. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 773299a570725d1f253d6046cd6475209b0dcd55 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Jul 24 11:30:43 2015 +0100 KVM: arm/arm64: vgic: Prevent userspace injection of a mapped interrupt Virtual interrupts mapped to a HW interrupt should only be triggered from inside the kernel. Otherwise, you could end up confusing the kernel (and the GIC's) state machine. Rearrange the injection path so that kvm_vgic_inject_irq is used for non-mapped interrupts, and kvm_vgic_inject_mapped_irq is used for mapped interrupts. The latter should only be called from inside the kernel (timer, irqfd). Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 6e84e0e0677281b4e7fc634c7e9d085fbcf41b10 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 8 16:13:30 2015 +0100 KVM: arm/arm64: vgic: Add vgic_{get,set}_phys_irq_active In order to control the active state of an interrupt, introduce a pair of accessors allowing the state to be set/queried. This only affects the logical state, and the HW state will only be applied at world-switch time. Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 08fd6461e8752d2db233c1f237fa5771bcefc63f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 8 16:06:13 2015 +0100 KVM: arm/arm64: vgic: Allow HW interrupts to be queued to a guest To allow a HW interrupt to be injected into a guest, we lookup the guest virtual interrupt in the irq_phys_map list, and if we have a match, encode both interrupts in the LR. We also mark the interrupt as "active" at the host distributor level. On guest EOI on the virtual interrupt, the host interrupt will be deactivated. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 6c3d63c9a26ba56e2ca63a9f68d52f77ae551d91 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 23 17:37:18 2014 +0100 KVM: arm/arm64: vgic: Allow dynamic mapping of physical/virtual interrupts In order to be able to feed physical interrupts to a guest, we need to be able to establish the virtual-physical mapping between the two worlds. The mappings are kept in a set of RCU lists, indexed by virtual interrupts. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 7a67b4b7e04b30345584c1b76a80db628530bf21 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Jun 5 16:45:29 2015 +0100 KVM: arm/arm64: vgic: Relax vgic_can_sample_irq for edge IRQs We only set the irq_queued flag for level interrupts, meaning that "!vgic_irq_is_queued(vcpu, irq)" is a good enough predicate for all interrupts. This will allow us to inject edge HW interrupts, for which the state ACTIVE+PENDING is not allowed. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit fb182cf84568cc33ab41121bc8cc999f7aacbd47 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 8 15:37:26 2015 +0100 KVM: arm/arm64: vgic: Allow HW irq to be encoded in LR Now that struct vgic_lr supports the LR_HW bit and carries a hwirq field, we can encode that information into the list registers. This patch provides implementations for both GICv2 and GICv3. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 32d2d8010cd7080a0f1712f1084b92657858428e Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 8 15:21:32 2015 +0100 KVM: arm/arm64: vgic: Convert struct vgic_lr to use bitfields As we're about to cram more information in the vgic_lr structure (HW interrupt number and additional state information), we switch to a layout similar to the HW's: - use bitfields to save space (we don't need more than 10 bits to represent the irq numbers) - source CPU and HW interrupt can share the same field, as a SGI doesn't have a physical line. Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit abdf58438356c7baf34bdd98084b094ca3a6a23f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 8 15:00:28 2015 +0100 arm/arm64: KVM: Move vgic handling to a non-preemptible section As we're about to introduce some serious GIC-poking to the vgic code, it is important to make sure that we're going to poke the part of the GIC that belongs to the CPU we're about to run on (otherwise, we'd end up with some unexpected interrupts firing)... Introducing a non-preemptible section in kvm_arch_vcpu_ioctl_run prevents the problem from occuring. Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 9a99d050705318d1cb27979e1c810464347db9db Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Jun 5 09:33:28 2015 +0100 arm/arm64: KVM: Fix ordering of timer/GIC on guest entry As we now inject the timer interrupt when we're about to enter the guest, it makes a lot more sense to make sure this happens before the vgic code queues the pending interrupts. Otherwise, we get the interrupt on the following exit, which is not great for latency (and leads to all kind of bizarre issues when using with active interrupts at the HW level). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 48f8bd57756573b08520629a2413227fcdf058f5 Author: Vladimir Murzin <Vladimir.Murzin@xxxxxxx> Date: Tue Jul 28 10:42:23 2015 +0100 arm64: KVM: remove remaining reference to vgic_sr_vectors Since commit 8a14849 (arm64: KVM: Switch vgic save/restore to alternative_insn) vgic_sr_vectors is not used anymore, so remove remaining leftovers and kill the structure. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit bca556ac468ab4744692926b67cb525cdce850c9 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Jun 17 10:00:46 2015 +0100 arm64/kvm: Add generic v8 KVM target This patch adds a generic ARM v8 KVM target cpu type for use by the new CPUs which eventualy ends up using the common sys_reg table. For backward compatibility the existing targets have been preserved. Any new target CPU that can be covered by generic v8 sys_reg tables should make use of the new generic target. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Acked-by: Marc Zyngier <Marc.Zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5f1230c9b80b89f404938ff88dfa64a963f74f2c Merge: 709bc87 4605bb5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Aug 12 12:16:11 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Introduce 'srcfile' sort key: (Andi Kleen) # perf record -F 10000 usleep 1 # perf report --stdio --dsos '[kernel.vmlinux]' -s srcfile <SNIP> # Overhead Source File 26.49% copy_page_64.S 5.49% signal.c 0.51% msr.h # It can be combined with other fields, for instance, experiment with '-s srcfile,symbol'. There are some oddities in some distros and with some specific DSOs, being investigated, so your mileage may vary. - Update the column width for the "srcline" sort key (Arnaldo Carvalho de Melo) - Support per-event 'freq' term: (Namhyung Kim) $ perf record -e 'cpu/instructions,freq=1234/',cycles -c 1000 sleep 1 $ perf evlist -F cpu/instructions,freq=1234/: sample_freq=1234 cycles: sample_period=1000 $ Infrastructure changes: - Move perf_counts struct and functions into separate object (Jiri Olsa) - Unset perf_event_attr::freq when period term is set (Jiri Olsa) - Move callchain option parsing code to util.c (Kan Liang) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9b9412dc7008f360c8e8ed10a654d3c8719f69d8 Merge: 58ccab9 3dbe43f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Aug 12 12:12:12 2015 +0200 Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull RCU changes from Paul E. McKenney: - The combination of tree geometry-initialization simplifications and OS-jitter-reduction changes to expedited grace periods. These two are stacked due to the large number of conflicts that would otherwise result. [ With one addition, a temporary commit to silence a lockdep false positive. Additional changes to the expedited grace-period primitives (queued for 4.4) remove the cause of this false positive, and therefore include a revert of this temporary commit. ] - Documentation updates. - Torture-test updates. - Miscellaneous fixes. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ff277d4250fe715b6666219b1a3423b863418794 Author: Andrea Parri <parri.andrea@xxxxxxxxx> Date: Wed Aug 5 15:56:19 2015 +0200 sched/deadline: Fix comment in enqueue_task_dl() The "dl_boosted" flag is set by comparing *absolute* deadlines (c.f., rt_mutex_setprio()). Signed-off-by: Andrea Parri <parri.andrea@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438782979-9057-2-git-send-email-parri.andrea@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4ffa08ed4cc4c5d47d197d749aae6f79af91eb73 Author: Andrea Parri <parri.andrea@xxxxxxxxx> Date: Wed Aug 5 15:56:18 2015 +0200 sched/deadline: Fix comment in push_dl_tasks() The comment is "misleading"; fix it by adapting a comment from push_rt_tasks(). Signed-off-by: Andrea Parri <parri.andrea@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438782979-9057-1-git-send-email-parri.andrea@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6c37067e27867db172b988cc11b9ff921175dee5 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri May 15 17:43:36 2015 +0200 sched: Change the sched_class::set_cpus_allowed() calling context Change the calling context of sched_class::set_cpus_allowed() such that we can assume the task is inactive. This allows us to easily make changes that affect accounting done by enqueue/dequeue. This does in fact completely remove set_cpus_allowed_rt() and greatly reduces set_cpus_allowed_dl(). Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dedekind1@xxxxxxxxx Cc: juri.lelli@xxxxxxx Cc: mgorman@xxxxxxx Cc: riel@xxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Link: http://lkml.kernel.org/r/20150515154833.667516139@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5b2803840817115e9b568d5054e5007ae36176b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri May 15 17:43:35 2015 +0200 sched: Make sched_class::set_cpus_allowed() unconditional Give every class a set_cpus_allowed() method, this enables some small optimization in the RT,DL implementation by avoiding a double cpumask_weight() call. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dedekind1@xxxxxxxxx Cc: juri.lelli@xxxxxxx Cc: mgorman@xxxxxxx Cc: riel@xxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Link: http://lkml.kernel.org/r/20150515154833.614517487@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 25834c73f93af7f0712c98ca4593691592e6b360 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri May 15 17:43:34 2015 +0200 sched: Fix a race between __kthread_bind() and sched_setaffinity() Because sched_setscheduler() checks p->flags & PF_NO_SETAFFINITY without locks, a caller might observe an old value and race with the set_cpus_allowed_ptr() call from __kthread_bind() and effectively undo it: __kthread_bind() do_set_cpus_allowed() <SYSCALL> sched_setaffinity() if (p->flags & PF_NO_SETAFFINITIY) set_cpus_allowed_ptr() p->flags |= PF_NO_SETAFFINITY Fix the bug by putting everything under the regular scheduler locks. This also closes a hole in the serialization of task_struct::{nr_,}cpus_allowed. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dedekind1@xxxxxxxxx Cc: juri.lelli@xxxxxxx Cc: mgorman@xxxxxxx Cc: riel@xxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Link: http://lkml.kernel.org/r/20150515154833.545640346@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7855a35ac07a350e2cd26f09568a6d8e372be358 Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Mon Aug 10 18:02:55 2015 +0900 sched: Ensure a task has a non-normalized vruntime when returning back to CFS Current code ensures that a task has a normalized vruntime when switching away from the fair class, but it does not ensure the task has a non-normalized vruntime when switching back to the fair class. This is an example breaking this consistency: 1. a task is in fair class and !queued 2. changes its class to RT class (still !queued) 3. changes its class to fair class again (still !queued) Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439197375-27927-1-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e237882b8f83dd1a0eece1608bcb689d4f4b221b Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Aug 10 20:20:48 2015 -0500 sched/numa: Fix NUMA_DIRECT topology identification Systems which have all nodes at a distance of at most 1 hop should be identified as 'NUMA_DIRECT'. However, the scheduler incorrectly identifies it as 'NUMA_BACKPLANE'. This is because 'n' is assigned to sched_max_numa_distance but the code (mis)interprets it to mean 'number of hops'. Rik had actually used sched_domains_numa_levels for detecting a 'NUMA_DIRECT' topology: http://marc.info/?l=linux-kernel&m=141279712429834&w=2 But that was changed when he removed the hops table in the subsequent version: http://marc.info/?l=linux-kernel&m=141353106106771&w=2 Fixing the issue here. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439256048-3748-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29f5f4860a8ef9407736594ec43b4fa4152ac7fa Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Aug 7 20:01:32 2015 +0100 regulator: core: Move more deallocation into class unregister We really ought to be using the class dvice lifetime management features more than we are rather than open coding them so take a step towards that by moving some of the simplest deallocations to the dev_release() function. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1768514eebfa888563049fa165449a1c1eba92d8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Aug 7 21:19:26 2015 +0100 regulator: core: Reduce rdev locking region when releasing regulator When we release a regulator we need to remove references to it from the rdev which means locking the rdev. Currently we also free resources associated with the regulator inside the rdev lock but there is no need to do this, we can reduce the region the lock is held by restricting it to just actions that affect the rdev. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 16eefbd1ed4ff474807b1aad50bc2f6317fcb9f4 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Aug 3 11:29:30 2015 +0200 x86/kconfig: Enable CONFIG_JUMP_LABEL in the defconfigs Enable CONFIG_JUMP_LABEL in the defconfigs, the feature already deals with GCC not having the asm-goto feature so will not break the build on older compilers. Having it enabled generates a faster kernel at very little extra cost since we already include all the code patching code by having KPROBES enabled. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0ca326de7aa9cb253db9c1a3eb3f0487c8dbf912 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:44 2015 +0100 locking, ARM, atomics: Define our SMP atomics in terms of _relaxed() operations By defining our SMP atomics in terms of relaxed operations, we gain a small reduction in code size and have acquire/release/fence variants generated automatically by the core code. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-9-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cd074aea9261784e44f292e1132830ec221802c6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:43 2015 +0100 locking, include/llist: Use linux/atomic.h instead of asm/cmpxchg.h Including an asm/ header directly is best avoided, so use linux/atomic.h instead of asm/cmpxchg.h in linux/llist.h. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-8-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 77e430e3e45662b696dc49aa53ea0f7ac63f2574 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:42 2015 +0100 locking/qrwlock: Make use of _{acquire|release|relaxed}() atomics The qrwlock implementation is slightly heavy in its use of memory barriers, mainly through the use of _cmpxchg() and _return() atomics, which imply full barrier semantics. This patch modifies the qrwlock code to use the more relaxed atomic routines so that we can reduce the unnecessary barrier overhead on weakly-ordered architectures. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-7-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2b2a85a4d3534b8884fcfa5bb52837f0e1c672bc Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:41 2015 +0100 locking/qrwlock: Implement queue_write_unlock() using smp_store_release() Since the following commit: 536fa402221f ("compiler: Allow 1- and 2-byte smp_load_acquire() and smp_store_release()") smp_store_release() supports byte accesses, so use that in writer unlock and remove the conditional macro override. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Waiman Long <Waiman.Long@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-6-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f5468ffde13fc991bd4d6bdec507ffd5777865bd Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:40 2015 +0100 locking/lockref: Remove homebrew cmpxchg64_relaxed() macro definition cmpxchg64_relaxed() is now defined by linux/atomic.h, so we can remove our local definition from the lockref code. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-5-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6d79ef2d30ee5af7315535d1e7bf6fce0008f815 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:39 2015 +0100 locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t' This patch adds 'atomic_long_t' wrappers for the new relaxed atomic operations. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-4-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 586b610e43a5ad5096640312fefa6ce931738c7d Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:38 2015 +0100 locking, asm-generic: Rework atomic-long.h to avoid bulk code duplication We can use some (admittedly ugly) macros to generate the 32-bit and 64-bit based atomic_long implementations from the same code. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-3-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 654672d4ba1a6001c365833be895f9477c4d5eab Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:37 2015 +0100 locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations Whilst porting the generic qrwlock code over to arm64, it became apparent that any portable locking code needs finer-grained control of the memory-ordering guarantees provided by our atomic routines. In particular: xchg, cmpxchg, {add,sub}_return are often used in situations where full barrier semantics (currently the only option available) are not required. For example, when a reader increments a reader count to obtain a lock, checking the old value to see if a writer was present, only acquire semantics are strictly needed. This patch introduces three new ordering semantics for these operations: - *_relaxed: No ordering guarantees. This is similar to what we have already for the non-return atomics (e.g. atomic_add). - *_acquire: ACQUIRE semantics, similar to smp_load_acquire. - *_release: RELEASE semantics, similar to smp_store_release. In memory-ordering speak, this means that the acquire/release semantics are RCpc as opposed to RCsc. Consequently a RELEASE followed by an ACQUIRE does not imply a full barrier, as already documented in memory-barriers.txt. Currently, all the new macros are conditionally mapped to the full-mb variants, however if the *_relaxed version is provided by the architecture, then the acquire/release variants are constructed by supplementing the relaxed routine with an explicit barrier. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-2-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ba33034fffc1189d95301bd865f1c799256e72a2 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Aug 4 09:55:48 2015 +0200 locking, compiler.h: Cast away attributes in the WRITE_ONCE() magic The kernel build bot showed a new warning triggered by commit: 76695af20c01 ("locking, arch: use WRITE_ONCE()/READ_ONCE() in smp_store_release()/smp_load_acquire()") because Sparse does not like WRITE_ONCE() accessing elements from the (sparse) RCU address space: fs/afs/inode.c:448:9: sparse: incorrect type in initializer (different address spaces) fs/afs/inode.c:448:9: expected struct afs_permits *__val fs/afs/inode.c:448:9: got void [noderef] <asn:4>*<noident> Solution is to force cast away the sparse attributes for the initializer of the union in WRITE_ONCE(). (And as this now gets too long, also split the macro into multiple lines.) Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438674948-38310-2-git-send-email-borntraeger@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f52609fdabb1c726f8b9fdf64df3161781aa186e Merge: 20f9ed1 41b9e9f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Aug 12 11:44:30 2015 +0200 Merge branch 'locking/arch-atomic' into locking/core, because it's ready for upstream Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 709bc871923c12b284424f9d47b99dc975ba8b29 Author: Takao Indoh <indou.takao@xxxxxxxxxxxxxx> Date: Tue Aug 4 18:36:55 2015 +0900 perf/x86/intel/pt: Clean up files of Intel Processor Trace This patch just cleans up some files of Intel Processor Trace, does not change its behavior. This patch removes unused definitions and replaces a constant value with a macro. Signed-off-by: Takao Indoh <indou.takao@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Alexander Shishkin<alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H.Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438681015-5124-1-git-send-email-indou.takao@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c2ad6b51efc5f27d70ce952decd2a15679b83600 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Jul 28 09:00:04 2015 +0300 perf/ring-buffer: Clarify the use of page::private for high-order AUX allocations A question [1] was raised about the use of page::private in AUX buffer allocations, so let's add a clarification about its intended use. The private field and flag are used by perf's rb_alloc_aux() path to tell the pmu driver the size of each high-order allocation, so that the driver can program those appropriately into its hardware. This only matters for PMUs that don't support hardware scatter tables. Otherwise, every page in the buffer is just a page. This patch adds a comment about the private field to the AUX buffer allocation path. [1] http://marc.info/?l=linux-kernel&m=143803696607968 Reported-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438063204-665-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 19b3340cf58d14decf2898fc795cc2b1fa49e79e Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Aug 6 17:26:58 2015 +0200 perf/x86: Fix MSR PMU driver Currently we only update the sysfs event files per available MSR, we didn't actually disallow creating unlisted events. Rework things such that the dectection, sysfs listing and event creation are better coordinated. Sadly it appears it's impossible to probe R/O MSRs under virt. This means we have to do the full model table to avoid listing all MSRs all the time. Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3d325bf0da91ca5d22f2525a72308dafd4fc0977 Merge: f1d800b d7a702f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Aug 12 11:39:19 2015 +0200 Merge branch 'perf/urgent' into perf/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8de4efdaf3db897022fd20cc7b9168678417926c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Aug 8 17:58:41 2015 +0200 mfd: axp20x: Add a cell for the usb power_supply part of the axp20x PMICs Add a cell for the usb power_supply part of the axp20x PMICs. Note that this cell is only for the usb power_supply part and not the ac-power / battery-charger / rtc-backup-bat-charger bits. Depending on the board each of those must be enabled / disabled separately in devicetree as most boards do not use all 4. So in dt each one needs its own child-node of the axp20x node. Another reason for using separate child nodes for each is so that other devicetree nodes can have a power-supply property with a phandle referencing a node representing a single power-supply. The decision to use a separate devicetree node for each is reflected on the kernel side by each getting its own mfd-cell / platform_device and platform-driver. Note this commit also makes some whitespace changes to the intialization of existing cells in axp20x_cells, these are pure whitespace changes, functionally nothing changes. Signed-off-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 553ed4b5dff66dbb10c20599e493b72ec6af72ab Author: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Date: Sat Aug 8 17:58:40 2015 +0200 mfd: axp20x: Add missing registers, and mark more registers volatile Add an extra set of registers which is necessary tu support the PMICs battery charger function, and mark registers which contain status bits, gpio status, and adc readings as volatile. Signed-off-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3762aede11e516b7a392afdc1e070171e6f6cd00 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 09:34:31 2015 +0100 mfd: arizona: Fixup some formatting/white space errors Clear out a few checkpatch warnings and white space errors. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 05743b3a09e905b4b09681639fa386feb6a96b5a Author: Keerthy <j-keerthy@xxxxxx> Date: Fri Aug 7 10:37:19 2015 +0530 ARM: dts: AM4372: Add the am4372-rtc compatible string am4372-rtc string was already part of dts, introduced to identify the rtc specific to am4372 family of SoCs. It was removed in one of the previous patches. Adding back the same with appropriate documentation. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit aced04843278662c9058a8ff72619af9a4d84065 Merge: ed05637 dff8a20 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Aug 12 01:38:08 2015 -0700 Merge branch 'for-4.3/ti-clk-dt' of https://github.com/t-kristo/linux-pm into omap-for-v4.3/dt-v2 commit bea047e075784471461c4338d0ffa45cb1378d67 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Tue Jul 28 11:52:42 2015 +0200 clk: rockchip: Fix SPIF special clock definition Neither spdif_src nor spdif_pll exists, judging by the vendor kernel in both cases spdif_pre was meant. This brings the naming in line and hierachy in line with that of sclk_i2s0. Also allow sclk_spdif and spdif_frac to change their parents rate as that the upstream dividers are purely there to feed sclk_spdif Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit d24d2ec60f7b52c0eca1c52f821777329e5ffac1 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Mon Jul 20 12:33:04 2015 -0700 clk: bcm2835: Drop the fixed sys_pclk. Nothing uses it, and I can't find any evidence that anything ever has. Its role is now filled by the core clock in the firmware driver. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit e6500344edbbc405cde8d20a9c0d165a4efa9142 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Apr 22 22:53:05 2015 +0200 clk: track the orphan status of clocks and their children While children of orphan clocks are not carried in the orphan-list itself, they're nevertheless orphans in their own right as they also don't have an input-rate available. To ease tracking if a clock is an orphan or has an orphan in its parent path introduce an orphan field into struct clk and update it and the fields in child-clocks when a clock gets added or removed from the orphan-list. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Alex Elder <elder@xxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: kernel@xxxxxxxxxxxxxx Cc: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Cc: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Cc: Chao Xie <chao.xie@xxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Stefan Wahren <stefan.wahren@xxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Barry Song <baohua@xxxxxxxxxx> Cc: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.linux@xxxxxxxxx> Cc: Gabriel FERNANDEZ <gabriel.fernandez@xxxxxx> Cc: emilio@xxxxxxxxxxxxx Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: s/clk/core/ in new function] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ee38b2698ae234c03f65ccafa1811d4dda3c316d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:22 2015 +0200 clk: sunxi: Add a simple gates driver The gates were handled with a common piece of framework that was registering all gates array, that was not using the CLK_OF_DECLARE logic, and was not using clock-indices but some private masks that were pretty much equivalent. Move this code in a new driver that handles all the gates array and solves both these issues. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Include clk.h for consumer API usage] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 06f282757acb92b5bdb208bebd38a4785fae49bd Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:21 2015 +0200 ARM: sun9i: Wrap the clock-indices Wrap the clock-indices to match the wrapping of the clock-output-names in order to make it easier to match indices to names. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit c0a6e360a42a327c1b270d8e0f625175d4ecb500 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:20 2015 +0200 ARM: sun8i: Add clock indices The A23 and A33 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 6bfe30b2fd405052af0172b276f64be8dce4ede9 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:19 2015 +0200 ARM: sun7i: Add clock indices The A20 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit dbbb69223c603a08a176b1f3242e7d47a030d94e Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:18 2015 +0200 ARM: sun6i: Add clock indices The A31 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit dd4de433aa7110c83ba12d1d70d35f4cf6aec543 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:17 2015 +0200 ARM: sun5i: Add clock indices The A10s and A13 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit a38540068f6eaf2420a281185aab1b49bea3759b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:16 2015 +0200 ARM: sun4i: Add clock indices The A10 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 5c489ccad8bff90a12de245995d6f146e7a6ba01 Merge: e8f35aa 3713e3f Author: Michael Turquette <mturquette@xxxxxxxxxxxx> Date: Tue Aug 11 10:44:24 2015 -0700 Merge tag 'imx-clk-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into clk-next The i.MX clock updates for 4.3: - Provide a better IPU clock initial settings on imx6dl for getting HDMI and LVDS at the same time. - Add clock driver support for i.MX6UL SoC - Add a second clock for RTC device on i.MX31 and i.MX35 commit e69948a0a5309f3ef5715cb4ca7a9bd77d64e2cf Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Aug 11 13:35:01 2015 -0700 net: Document xfrm4_gc_thresh and xfrm6_gc_thresh This change adds documentation for xfrm4_gc_thresh and xfrm6_gc_thresh based on the comments in commit eeb1b73378b56 ("xfrm: Increase the garbage collector threshold"). Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 9afac933433ca71e0f78958a1286a8d3b9de5582 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 18:35:07 2015 +0530 powerpc/prom: Use DRCONF flags while processing detected LMBs Replace hard coded values with existing DRCONF flags while procesing detected LMBs from the device tree. Does not change any functionality. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8218a3031c204b20582ba689aaf3bb6d318779d3 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:40:04 2015 +0530 powerpc/xmon: Drop the valid variable completely in dump_segments() The value of 'valid' is always zero when 'esid' is zero, and if 'esid' is non-zero then the value of 'valid' is irrelevant because we are using logical or in the if expression. In fact 'valid' can be dropped completely from dump_segments() by simply doing the check with SLB_ESID_V directly in the if. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Rewrite change log] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9c61f7a0ad6fdff85b0c4c648e0c94947ea05c76 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:40:03 2015 +0530 powerpc/prom: Simplify the logic to fetch SLB size The code to fetch the SLB size from the device tree wants to first look for "slb-size" and then if that's not found "ibm,slb-size". We can simplify the code by looking for the properties and then if we find one of them we set mmu_slb_size. We also change the function name from check_cpu_slb_size() to init_mmu_slb_size() as the function doesn't check anything, it only initialises mmu_slb_size. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Rewrite change log] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 79d0be7407955a268bcee5a33e338e14fdc74bfa Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:40:02 2015 +0530 powerpc/slb: Add documentation on runtime patching of SLB encoding This patch adds some documentation to patch_slb_encoding() explaining how it works. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Update change log and mention the signedness of the immediate] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2be682af48e8236558da702fe67e178cfe7524a1 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:39:59 2015 +0530 powerpc/slb: Rename all the 'slot' occurrences to 'entry' The SLB code uses 'slot' and 'entry' interchangeably, change it to always use 'entry'. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Rewrite change log] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 752b8adec4a776b4fdf01cf9443921bb3ba38779 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:39:58 2015 +0530 powerpc/slb: Remove a duplicate extern variable This patch just removes one redundant entry for one extern variable 'slb_compare_rr_to_size' from the scope. This patch does not change any functionality. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 83c3fee7e78f5a937b734f1ba954c5cdcb2be755 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 7 13:18:20 2015 +1000 cxl: sparse: Silence iomem warning in debugfs file creation An IO address, tagged with __iomem, is passed to debugfs_create_file as private data. This requires that it be cast to void *. The cast drops the __iomem annotation and so creates a sparse warning: drivers/misc/cxl/debugfs.c:51:57: warning: cast removes address space of expression The address space marker is added back in the file operations (fops_io_u64). Silence the warning with __force. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3d6b040e73387570521da4aedfd03d2643acdae7 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 7 13:18:18 2015 +1000 cxl: sparse: Make declarations static A few declarations were identified by sparse as needing to be static: drivers/misc/cxl/irq.c:408:6: warning: symbol 'afu_irq_name_free' was not declared. Should it be static? drivers/misc/cxl/irq.c:467:6: warning: symbol 'afu_register_hwirqs' was not declared. Should it be static? drivers/misc/cxl/file.c:254:6: warning: symbol 'afu_compat_ioctl' was not declared. Should it be static? drivers/misc/cxl/file.c:399:30: warning: symbol 'afu_master_fops' was not declared. Should it be static? Make them static. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit aa62efff65ba572814511efa68cb158fe9e960c4 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Aug 11 13:29:48 2015 +0100 MAINTAINERS: The keyrings mailing list has moved The keyrings mailing list has moved to keyrings@xxxxxxxxxxxxxxx Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 60c0745a80be075bbd4e0925e4b740b3e588a445 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:13 2015 +0200 ARM: shmobile: r8a7794 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4b31bad51f83bcce039e43f1659ffcb4bff454dc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:12 2015 +0200 ARM: shmobile: r8a7793 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 797a0626e08ca4af539cd4888ebbc8c5aacc993d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:11 2015 +0200 ARM: shmobile: r8a7791 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Notable exceptions are the "display" and "sound" nodes, which represent multiple SoC devices, each having their own MSTP clocks. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 484adb005886b1db79050afc7074d2356618b0c2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:10 2015 +0200 ARM: shmobile: r8a7790 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Notable exceptions are the "display" and "sound" nodes, which represent multiple SoC devices, each having their own MSTP clocks. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 33c3632a3f692d82ee0d080350bcd6d1c4cd151f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:09 2015 +0200 ARM: shmobile: r8a7779 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a670f3667a0ad53eef1f66fde41acca890462ec9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:08 2015 +0200 ARM: shmobile: r8a7778 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. A notable exception is the "sound" node, which represents multiple SoC devices, each having their own MSTP clocks. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cbe1f83818c6e2c05fca5045fcc4807177988d61 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:07 2015 +0200 ARM: shmobile: r7s72100 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3f3f0ea0afe031ca20e48a212f4faa00f9920450 Merge: 94bdc48 f04b486 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Aug 12 11:15:19 2015 +0900 Merge branch 'clk-for-v4.3' into dt-for-v4.3 commit f04b486d34ac6bab2aaa3988ee098b2bad3950de Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:06 2015 +0200 clk: shmobile: rz: Add CPG/MSTP Clock Domain support Add Clock Domain support to the RZ Clock Pulse Generator (CPG) driver using the generic PM Domain. This allows to power-manage the module clocks of SoC devices that are part of the CPG/MSTP Clock Domain using Runtime PM, or for system suspend/resume. SoC devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock should be tagged in DT with a proper "power-domains" property. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 63e05d9365dc25ae71bdde436b27c49daedf1977 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:05 2015 +0200 clk: shmobile: rcar-gen2: Add CPG/MSTP Clock Domain support Add Clock Domain support to the R-Car Gen2 Clock Pulse Generator (CPG) driver using the generic PM Domain. This allows to power-manage the module clocks of SoC devices that are part of the CPG/MSTP Clock Domain using Runtime PM, or for system suspend/resume. SoC devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock should be tagged in DT with a proper "power-domains" property. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b31fc90c14d9e584ac19983686cecab3e0764289 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:04 2015 +0200 clk: shmobile: r8a7779: Add CPG/MSTP Clock Domain support Add Clock Domain support to the R-Car H1 Clock Pulse Generator (CPG) driver using the generic PM Domain. This allows to power-manage the module clocks of SoC devices that are part of the CPG/MSTP Clock Domain using Runtime PM, or for system suspend/resume. SoC devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock should be tagged in DT with a proper "power-domains" property. Also update the reg property in the DT binding doc example to match the actual dtsi, which uses #address-cells and #size-cells == 1, not 2. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8bc964aa25e56b7445ffebffccd455f959370a16 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:03 2015 +0200 clk: shmobile: r8a7778: Add CPG/MSTP Clock Domain support Add Clock Domain support to the R-Car M1A Clock Pulse Generator (CPG) driver using the generic PM Domain. This allows to power-manage the module clocks of SoC devices that are part of the CPG/MSTP Clock Domain using Runtime PM, or for system suspend/resume. SoC devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock should be tagged in DT with a proper "power-domains" property. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 752b5ed5f6998e118626feea7375782c4cf5aad6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:02 2015 +0200 clk: shmobile: Add CPG/MSTP Clock Domain support Add Clock Domain support to the Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks driver using the generic PM Domain. This allows to power-manage the module clocks of SoC devices that are part of the CPG/MSTP Clock Domain using Runtime PM, or for system suspend/resume. SoC devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock should be tagged in DT with a proper "power-domains" property. The CPG/MSTP Clock Domain code will scan such devices for clocks that are suitable for power-managing the device, by looking for a clock that is compatible with "renesas,cpg-mstp-clocks". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2b347c6494cbc6bfdc81b5201b8aa34afb2c3500 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Aug 12 07:47:17 2015 +0900 ARM: exynos_defconfig: Enable cpufreq-dt driver With the latest patches the cpufreq-dt can be used on multiple Exynos SoCs: 3250, 4210, 4212, 4412 and 5250. Enable it along with default ondemand governor to conserve the energy, reduce temperature while maintaining acceptable performance. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c3e71f4b5f580b43e0eb3be18059c8844d8713e7 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 16 08:39:42 2015 +0200 ARM: multi_v7_defconfig: Enable max77802 regulator The Exynos5420 based Peach Pit and Exynos5800 based Peach Pi Chromebooks use the Maxim max77802 Power Management IC (PMIC). This PMIC has besides other devices, a set of regulators that can be controller over I2C. Commit f3caa529c6f5 ("ARM: multi_v7_defconfig: Enable max77802 regulator, rtc and clock drivers") was supposed to enable the config option for the regulator driver as a module but the final version that landed did not include this. The commit was modified and the REGULATOR_MAX77802 removed since it was thought to be useless. Unfortunately that's not the case for the mentioned reason above so this patch enables the needed Kconfig option. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> [kgene@xxxxxxxxxx: fixed ordering according to make savedefconfig] Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ca05189716c2ce02c60303e9c1228a61d1cb9542 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 19:24:05 2015 -0300 [media] c8sectpfe: use a new Kconfig menu for DVB platform drivers While this is the first DVB platform drivers, let's keep the Kconfig options well organized, adding it on its own DVB menu. Of course, it should depend on MEDIA_DIGITAL_TV_SUPPORT, as this enables all DVB-related menus. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7d0ddc91c854f1f42fd7165e259b3573f53c1d73 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 19:08:59 2015 -0300 [media] tda10071: use div_s64() when dividing a s64 integer Otherwise, it will break on 32 bits archs. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 53cc7c9043f0a68a66e53623b114c86051a7250c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 18:58:31 2015 -0300 [media] c8sectpfe: fix pinctrl dependencies compiling on some archs fail with: drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:540:8: error: implicit declaration of function â??pinctrl_select_stateâ?? [-Werror=implicit-function-declaration] ret = pinctrl_select_state(fei->pinctrl, tsin->pstate); That's due the need of including pinctrl.h header and because CONFIG_PINCTRL needs to be true. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9f61668073a8d80650622e792aff876db9ca23c6 Author: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Date: Mon Aug 10 14:35:46 2015 +0200 tracing: Allow triggers to filter for CPU ids and process names By extending the filter rules by more generic fields we can write triggers filters like echo 'stacktrace if cpu == 1' > \ /sys/kernel/debug/tracing/events/raw_syscalls/sys_enter/trigger or echo 'stacktrace if comm == sshd' > \ /sys/kernel/debug/tracing/events/raw_syscalls/sys_enter/trigger CPU and COMM are not part of struct trace_entry. We could add the two new fields to ftrace_common_field list and fix up all depending sides. But that looks pretty ugly. Another thing I would like to avoid that the 'format' file contents changes. All this can be avoided by introducing another list which contains non field members of struct trace_entry. Link: http://lkml.kernel.org/r/1439210146-24707-1-git-send-email-daniel.wagner@xxxxxxxxxxxx Signed-off-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2696f495bdc046d84da6c909a1e7f535138a2a62 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Aug 6 06:54:22 2015 -0300 [media] Staging: media: lirc: use USB API functions rather than constants This patch introduces the use of the function usb_endpoint_type. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) + usb_endpoint_type(epd) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7229f8c143dd932719530fb2fe4883f011917554 Author: pradheep <pradheep.sh@xxxxxxxxx> Date: Mon Aug 3 04:56:31 2015 -0300 [media] staging:media:lirc Remove the extra braces in if statement of lirc_imon This patche removes the extra braces found in drivers/staging/media/lirc/lirc_imon.c to fix the warning thrown by checkpatch.pl Signed-off-by: Pradheep Shrinivasan <pradheep.sh@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 73c8f0cbb04ab6bb549d74324fdc2b8b49330724 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Tue Jul 28 19:09:10 2015 +0530 ARM: dts: am57xx-evm: Add 'gpios' property with gpio2_8 gpio2_8 is connected to the PCIe_RESETn line and it has to be driven low to reset the PCIe cards. Add gpios property to PCIe DT node. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5473387b9382a35967d1fcd550482efa3a31d44f Author: Zahari Doychev <zahari.doychev@xxxxxxxxx> Date: Mon Aug 3 08:57:19 2015 -0300 [media] coda: drop zero payload bitstream buffers The buffers with zero payload are now dumped in coda_fill_bitstream and not passed to coda_bitstream_queue. This avoids unnecessary fifo addition and buffer sequence counter increment. Signed-off-by: Zahari Doychev <zahari.doychev@xxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 78bdcad05ea17fa1fe4644324b877162b1df4e16 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Tue Jul 28 19:09:09 2015 +0530 PCI: dra7xx: Add support to make GPIO drive PERST# line The PERST# line in am57x-evm is connected to a GPIO line and PERST# should be driven high to indicate the clocks are stable (As per Figure 2-10: Power Up of the PCIe CEM spec 3.0). Add support to make GPIO drive PERST# line. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit efb4b8b60d79f52a72e3698aa14e6ad2ad25db34 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 13:18:36 2015 -0300 [media] staging: media: lirc: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ed8d1cf07cb16dacc5414cb46a5a48517c9b98f9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 13:18:29 2015 -0300 [media] Export I2C module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 389c7094ec241ee8ebe358ba10fe392018692c8c Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Fri Jul 31 17:55:12 2015 +0530 PCI: dra7xx: Clear MSE bit during suspend so clocks will idle DRA7xx requires the MSE bit to be cleared to set the master in standby mode. (In DRA7xx TRM_vE, section 24.9.4.5.2.2.1 PCIe Controller Master Standby Behavior advises to use the clearing of the local MSE bit to set the master in standby. Without this some of the clocks do not idle). Clear the MSE bit on suspend and enable it on resume. Clearing MSE bit is required to get clocks to be idled after suspend. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit e52eb445ea1d97bf7fb92d2297e487a305392136 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Fri Jul 31 17:55:11 2015 +0530 PCI: dra7xx: Add PM support Add PM support to pci-dra7xx so PCI clocks can be disabled during suspend and enabled during resume without affecting PCI functionality. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit 0e2bdb0e7abf4b5170874e415ec42df547916dd3 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Fri Jul 31 17:55:10 2015 +0530 PCI: dra7xx: Disable pm_runtime on get_sync failure Fix the error handling when pm_runtime_get_sync() fails. If pm_runtime_get_sync() fails, call pm_runtime_disable() so there are no unbalanced pm_runtime_enable() calls. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit 05aa7d6a72c1fca809e4d8bfdc5fa202cb8bed37 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Jul 25 21:15:24 2015 +0200 PCI: iproc: Allow BCMA bus driver to be built as module Change CONFIG_PCIE_IPROC_BCMA to tristate to make it possible to build this driver as a module. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ray Jui <rjui@xxxxxxxxxxxx> commit 95e16587ccd0f330e349360de048ebd4432d4b2c Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Aug 10 12:32:04 2015 -0600 PCI: Add ACS quirks for Intel I219-LM/V The Intel 100-series chipset now includes the integrated Ethernet as part of a multifunction package. The Ethernet function does not include native ACS support, but Intel confirms that the device is not capable of peer-to- peer within the package. We can therefore quirk it to expose the isolation. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: John Ronciak <john.ronciak@xxxxxxxxx> commit 3e14675335a15e1a91573837a15ff3bbb50bc14f Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:21 2015 -0500 PCI: Kill off set_irq_flags() usage set_irq_flags is ARM-specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions, and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE, and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> CC: Kishon Vijay Abraham I <kishon@xxxxxx> CC: Murali Karicheri <m-karicheri2@xxxxxx> CC: Thierry Reding <thierry.reding@xxxxxxxxx> CC: Stephen Warren <swarren@xxxxxxxxxxxxx> CC: Alexandre Courbot <gnurou@xxxxxxxxx> CC: Jingoo Han <jingoohan1@xxxxxxxxx> CC: Pratyush Anand <pratyush.anand@xxxxxxxxx> CC: Simon Horman <horms@xxxxxxxxxxxx> CC: Michal Simek <michal.simek@xxxxxxxxxx> CC: "Sören Brinkmann" <soren.brinkmann@xxxxxxxxxx> commit ea9eb698b2f59e16fbf9f480a9b35ddfb3c3a789 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Aug 11 21:44:10 2015 +0200 documentation: networking: add 6lowpan documentation This patch adds a 6lowpan.txt into the networking documentation directory. Currently this documentation describes how the lowpan private data of net devices will be handled. Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-doc@xxxxxxxxxxxxxxx Suggested-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4ae935c127f701bc06afd0d5567e17511a6d25e8 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Aug 11 21:44:09 2015 +0200 6lowpan: move module_init into core functionality This patch moves module_init of 6lowpan module into core functionality of 6lowpan module. To load the ipv6 module at probing of the 6lowpan module should be core functionality. Loading next header compression modules is iphc specific. Nevertheless we only support IPHC for the generic 6LoWPAN branch right now so we can put it into the core functionality. If possible new compression formats are introduced nhc should load only when iphc is build. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b72f6f51dc5abce94c1b5ee0186e9407ea0f919f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Aug 11 21:44:08 2015 +0200 6lowpan: add generic 6lowpan netdev private data This patch introduced the 6lowpan netdev private data struct. We name it lowpan_priv and it's placed at the beginning of netdev private data. All lowpan interfaces should allocate this room at first of netdev private data. 6LoWPAN LL private data can be allocate by additional netdev private data, e.g. dev->priv_size should be "sizeof(struct lowpan_priv) + sizeof(LL_LOWPAN_PRIVATE_DATA)". Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a42bbba5afd8613374ed043af3b3eda7e0e0e6bb Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Aug 11 21:44:07 2015 +0200 Bluetooth: 6lowpan: change netdev_priv to lowpan_dev The usually way to get the btle lowpan private data is to use the introduced lowpan_dev inline function. This patch will cleanup by using lowpan_dev consequently. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 118612fb91657f041f47d7a29d09e02a86a62ed7 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:35:38 2015 +0200 Bluetooth: hci_bcm: Add suspend/resume PM functions Add reference to hci_uart structure to bcm_device. This allows suspend/resume callbacks to manage UART flow control. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ae056908862bf1ec8d56bc365280f3dab7941886 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:35:37 2015 +0200 Bluetooth: hci_bcm: Retrieve UART speed from ACPI Parse platform_device's ACPI to retrieve UART init speed. When BCM device is open, check if its TTY has same parent as one of the platform devices saved. If yes, use platform_device's init speed. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9e6080936c3e507da60492a8a606bdd1164baa81 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:35:36 2015 +0200 net: rfkill: gpio: Remove BCM2E39 support Power management support for BCM2E39 is now performed in Bluetooth BCM UART driver. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0395ffc1ee0509df11ad830772c22d13627e02ec Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:35:35 2015 +0200 Bluetooth: hci_bcm: Add PM for BCM devices Retrieve "shutdown" and "device_wakeup" GPIOs from ACPI. Set device off during platform device enumeration. Set device on only when attached. As driver can be unbound we need to check if the bcm_device still exists before calling GPIO's functions, this is protected using device_list_lock. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7612cf97ec8533b361529fc864508d1caaf47a87 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:13:54 2015 -0300 [media] c8sectpfe: don't go past channel_data array As reported by smatch: drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:365 find_channel() error: buffer overflow 'fei->channel_data' 8 <= 63 It seems that a cut-and-paste type of error occurred here: the channel_data array size is C8SECTPFE_MAX_TSIN_CHAN, and not C8SECTPFE_MAXCHANNEL. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 409e9eff727295b93a5dde51988a6f8646e5aa6b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:09:21 2015 -0300 [media] c8sectpfe: Allow compiling it with COMPILE_TEST While it won't work, it is good to allow it to build with COMPILE_TEST, as we can check if other patches would break compilation for this driver. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 95d66b161630c9fd26324262732b3854e497a802 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:09:01 2015 -0300 [media] MAINTAINERS: Add c8sectpfe driver directory to STi section Add the new c8sectpfe demux driver to the STi section of the MAINTAINERS file. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 850a3f7d5911bbbdf3eedf2db9083546d49ea806 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:09:00 2015 -0300 [media] c8sectpfe: Add Kconfig and Makefile for the driver This patch adds the Kconfig and Makefile for the c8sectpfe driver so it will be built. It also selects additional demodulator and tuners which are required by the supported NIM cards. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 03ad477615c98239cfa41a28c1c38a9a6d6ba291 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:59 2015 -0300 [media] c8sectpfe: Add c8sectpfe debugfs support Some basic debugfs support to dump the IP registers. Further statistics could easily be added in the future for example for each enabled tsin channel we could expose number of corrupt packets received etc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e77a0cbe6c087d3f181d9058879c45f9b19cce90 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:58 2015 -0300 [media] c8sectpfe: Add support for various ST NIM cards This patch adds support for the following 2 NIM cards: - 1) B2100A (2x stv0367 demods & 2x NXP tda18212 tuners) 2) STV0903-6110NIM (stv0903 demod + 6110 tuner, lnb24) A NIM card is a cold plugable expansion card which usually features a demodulator / tuner combination. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b5e208a6843225d90c297da273d4d2ebd027417b Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:57 2015 -0300 [media] c8sectpfe: Add LDVB helper functions These functions are used by the core code for creating the LDVB devices and adapter. Addtionally some older SoC's (and potentially newer ones) have different frontend HW which would allow those devices to be easily supported in the future by keeping the code specific to the IP separate from the more generic code. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5f5d0f99794cfb675ecacfe37a1b33b352b9752 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:56 2015 -0300 [media] c8sectpfe: STiH407/10 Linux DVB demux support This patch adds support for the c8sectpfe input HW found on STiH407/410 SoC's. It currently supports the TS input block, memdma engine and hw PID filtering blocks of the C8SECTPFE subsystem. The driver creates one LinuxDVB adapter, and a demux/dvr/frontend set of devices for each tsin channel which is specificed in the DT. It has been tested with multiple tsin channels tuned, locked, and grabbing TS simultaneously. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit adc6310ca49e2c007e1a86ff11a4c215687116d4 Merge: cdf0969 ba14d9e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 11 12:03:20 2015 -0700 Merge branch 'mv88e6xxx-switchdev-fdb' Vivien Didelot says: ==================== net: dsa: mv88e6xxx: support switchdev FDB objects This patchset refactors the FDB management in the mv88e6xxx code and adds the glue in DSA to use the switchdev FDB objects. Below is an usage example (ports 0-2 belongs to br0, ports 3-4 belongs to br1): # bridge fdb add 3c:97:0e:11:30:6e dev swp2 # bridge fdb add 3c:97:0e:11:40:78 dev swp3 # bridge fdb add 3c:97:0e:11:50:86 dev swp4 # bridge fdb del 3c:97:0e:11:40:78 dev swp3 # bridge fdb 01:00:5e:00:00:01 dev eth0 self permanent 01:00:5e:00:00:01 dev eth1 self permanent 00:50:d2:10:78:15 dev swp0 master br0 permanent 3c:97:0e:11:30:6e dev swp2 self static 00:50:d2:10:78:15 dev swp3 master br1 permanent 3c:97:0e:11:50:86 dev swp4 self static # cat /sys/kernel/debug/dsa0/atu # DB T/P Vec State Addr # 001 Port 004 e 3c:97:0e:11:30:6e # 004 Port 010 e 3c:97:0e:11:50:86 For the 88E6xxx switches, FIDs 1 to num_ports will be reserved for non-bridged ports and bridge groups, and the remaining will be later used by VLANs. This change is necessary to welcome the support for hardware VLANs (which will follow soon). Changes in v3: - reorder commits to improve bisectability and minimize diffs - add an ndm_state member in switchdev_fdb_obj instead of an is_static boolean - drop the need to convert unsigned char *addr to u8 addr[ETH_ALEN] (it is casted to char pointer anyway) Changes in v2: - remove ndo_bridge_{get,set,del}link from switchdev/DSA glue code - use ether_addr_copy instead of memcpy for MAC addresses - constify MAC address in port_fdb_{add,del} - split the mv88e6xxx code refactoring into several patches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba14d9eb1999cad5b810f1fd97d1cb2d3f00869e Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:53 2015 -0400 net: dsa: add support for switchdev FDB objects Implement the switchdev_port_obj_{add,del,dump} functions in DSA to support the SWITCHDEV_OBJ_PORT_FDB objects. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce80e7bc57e25062c361de8fb6444129a63bac6d Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:52 2015 -0400 net: switchdev: support static FDB addresses This patch adds an ndm_state member to the switchdev_obj_fdb structure, in order to support static FDB addresses. Set Rocker ndm_state to NUD_REACHABLE. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d1940464e4846912a4f1480648a1571065f1eea Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:51 2015 -0400 net: dsa: mv88e6xxx: rework FDB Get Next operation Add a low level _mv88e6xxx_atu_getnext function for convenient access to the hardware, and rework the FDB Get Next operation. This will ease the future integration with VLAN IDs. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd231c829b252303183d1f2f0c11003908f7bb9a Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:50 2015 -0400 net: dsa: mv88e6xxx: rework FDB add/del operations Add a mv88e6xxx_atu_entry structure and a low level function for the ATU Load operation, and provide FDB add and delete wrappers functions. This implementation handles the eventual trunk mapping. If the related bit is set, then the ATU data register would contain the trunk ID, and not the port vector. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a778e1b58990e15de5cba4badec1fa7ecb87e80 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:49 2015 -0400 net: dsa: change FDB routines prototypes Change the prototype of port_getnext to include a vid parameter. This is necessary to introduce the support for VLAN. Also rename the fdb_{add,del,getnext} function pointers to port_fdb_{add,del,getnext} since they are specific to a given port. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5723ac51f2a1eaa69d831b919129a3c2b7efeee Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:48 2015 -0400 net: dsa: mv88e6xxx: rename ATU MAC accessors Rename the __mv88e6xxx_{read,write}_addr functions to more explicit _mv88e6xxx_atu_mac_{read,write} functions, which also respect the single underscore convention used in the file (meaning SMI lock must be held). Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 194fea7bd8786e2b9332df3c6b21b53f15e5fa5a Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:47 2015 -0400 net: dsa: mv88e6xxx: extend fid mask The driver currently manages one FID per port (or bridge group), with a mask of DSA_MAX_PORTS bits, where 0 means that the FID is in use. The Marvell 88E6xxx switches support up to 4094 FIDs (from 1 to 0xfff; FID 0 means that multiple address databases are not being used). This patch changes the fid_mask for an fid_bitmap of 4096 bits. >From now on, FIDs 1 to num_ports are reserved for non-bridged ports and bridge groups (a bridge group gets the FID of its first member). The remaining bits will be reserved for VLAN entries. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a08df0f0f745400249b0a95c704e569a4dd84fd7 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:46 2015 -0400 net: dsa: mv88e6xxx: define GLOBAL_ATU_FID Define register GLOBAL_ATU_FID instead of the raw value 0x01. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cdf0969763e020923abe28fddc605add572febc2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 11 12:00:37 2015 -0700 Revert "Merge branch 'mv88e6xxx-switchdev-fdb'" This reverts commit f1d5ca434413b20cd3f8c18ff2b634b7782149a5, reversing changes made to 4933d85c5173832ebd261756522095837583c458. I applied v2 instead of v3. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d8877b6ae0d47897b821b8a11a2e8dee9a22686 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:55 2015 -0300 [media] ARM: DT: STi: STiH407: Add c8sectpfe LinuxDVB DT node This patch adds in the required DT node for the c8sectpfe Linux DVB demux driver which allows the tsin channels to be used on an upstream kernel. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 179dd8c0348af75b02c7d72eaaf1cb179f1721ef Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:54 2015 -0300 [media] c8sectpfe: Add DT bindings documentation for c8sectpfe driver This patch adds the DT bindings documentation for the c8sectpfe LinuxDVB demux driver whose IP is in the STiH407 family silicon SoC's. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 548146fbbc120404b716f548dc3183b41735aec5 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Jul 30 14:08:53 2015 -0300 [media] dvb-pll: Convert struct dvb_pll_desc uses to const Convert the struct dvb_pll_desc uses to const and change the "entries" fixed array size from 12 to [] It saves a couple KB overall and remove ~5KB of data. $ size drivers/media/dvb-frontends/dvb-pll.o* text data bss dec hex filename 8520 1552 2120 12192 2fa0 drivers/media/dvb-frontends/dvb-pll.o.new 5624 6363 2120 14107 371b drivers/media/dvb-frontends/dvb-pll.o.old [PG] Patch taken from https://lkml.org/lkml/2015/6/24/721 with commit message updated. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Michael Ira Krufky <m.krufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6930f6696e73efe35e9e315588b1912c3d0d2df3 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:52 2015 -0300 [media] stv0367: Add support for 16Mhz reference clock The B2100A dvb NIM card from ST has 2x stv0367 demodulators and 2x TDA18212 silicon tuners, with a 16Mhz crystal. To get this working properly with the upstream driver we need to add support for the 16Mhz reference clock. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 86a10283e2d5e49b2e1827b0b0720734e7f69ff6 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:51 2015 -0300 [media] stv0367: Refine i2c error trace to include i2c address When using stv0367 demodulator with STi STB platforms, we can have easily have four or more stv0367 demods running in the system at one time. As typically the b2120 reference design ships with a b2004a daughter board, which can accept two dvb NIM cards, and each b2100A NIM has 2x stv0367 demods and 2x NXPs tuner on it. In such circumstances it is useful to print the i2c address on error messages to know which one is failing due to I2C issues. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2c9c3bbbbfe9f7f700c30d9ac40c1abca59d39ee Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Tue Aug 11 08:56:51 2015 +0000 bpf: s390: Fix build error caused by the struct bpf_array member name changed There is a build error that "'struct bpf_array' has no member named 'prog'" on s390. In commit 2a36f0b92eb6 ("bpf: Make the bpf_prog_array_map more generic"), the member 'prog' of struct bpf_array is replaced by 'ptrs'. So this patch fixes it. Fixes: 2a36f0b92eb6 ("bpf: Make the bpf_prog_array_map more generic") Reported-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15ee8fcdd2d24351022e12a92c764edaf2f60e51 Merge: 07a51cd 46b903a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 11 11:47:57 2015 -0700 Merge branch 'thunder-acpi' David Daney says: ==================== net: thunder: Add ACPI support. Change from v1: Drop PHY binding part, use fwnode_property* APIs. The first patch (1/2) rearranges the existing code a little with no functional change to get ready for the second. The second (2/2) does the actual work of adding support to extract the needed information from the ACPI tables. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46b903a01c053d0c94975ea7a6819618f121d3d6 Author: David Daney <david.daney@xxxxxxxxxx> Date: Mon Aug 10 17:58:37 2015 -0700 net, thunder, bgx: Add support to get MAC address from ACPI. Currently there is no way to get the MAC address in a firmware independent manner, so set the MAC address of the device directly from the ACPI tables. The binding agrees with the proposed standard here: http://www.uefi.org/sites/default/files/resources/nic-request-v2.pdf Based on code from: Narinder Dhillon <ndhillon@xxxxxxxxxx> Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de387e1156c76b273529f1803c6bd87b61eac2c5 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Aug 10 17:58:36 2015 -0700 net: thunder: Factor out DT specific code in BGX Separate DT code in preparation for follow-on ACPI integration. Based on code from: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8853780ec1e37bb91a1ccef9c05e412cb1cfd9e0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 15:36:15 2015 -0300 [media] ascot2e: don't use variable length arrays The Linux stack is short; we need to be able to count the number of bytes used at stack on each function. So, we don't like to use variable-length arrays, as complained by smatch: drivers/media/dvb-frontends/horus3a.c:57:19: warning: Variable length array is used. The max usecase of the driver seems to be 10 bytes + 1 for the register. So, let's be safe and allocate 11 bytes for the write buffer. This should be enough to cover all cases. If not, let's print an error message. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4aabd91625d0887210f68382f3fccb29a4586792 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 15:29:54 2015 -0300 [media] horus3a: don't use variable length arrays The Linux stack is short; we need to be able to count the number of bytes used at stack on each function. So, we don't like to use variable-length arrays, as complained by smatch: drivers/media/dvb-frontends/horus3a.c:57:19: warning: Variable length array is used. The max usecase of the driver seems to be 5 bytes + 1 for the register. So, let's be safe and allocate 6 bytes for the write buffer. This should be enough to cover all cases. If not, let's print an error message. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d13a7b674af085eb67df73a20f5cc77310dd8602 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 15:22:36 2015 -0300 [media] cxd2841er: don't use variable length arrays The Linux stack is short; we need to be able to count the number of bytes used at stack on each function. So, we don't like to use variable-length arrays, as complained by smatch: drivers/media/dvb-frontends/cxd2841er.c:205:19: warning: Variable length array is used. The max usecase of the driver seems to be 15 bytes + 1 for the register. So, let's be safe and allocate 17 bytes for the write buffer. This should be enough to cover all cases. If not, let's print an error message. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9b7493d00c06013fb9192ea23cc83a1a2d003d61 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Tue Aug 11 11:14:26 2015 +0800 ASoC: fsl-sai: add 32 bit word length support Add 32 bit word length support. There are no code changes required in the SAI driver since it has already wirten the word width to the corresponding register. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit decd36b6c43a1051bab97571cf4c0ec8450268b0 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Aug 7 18:42:09 2015 +0800 f2fs: remove inmem radix tree Previously, we use radix tree to index all registered page entries for atomic file, but now we only use radix tree to see whether current page is indexed or not, since the other user of radix tree is gone in commit 042b7816aaeb ("f2fs: remove unnecessary call to invalidate inmemory pages"). So in this patch, we try to use one more efficient way: Introducing a macro ATOMIC_WRITTEN_PAGE, and setting it as page private value to indicate page indexing status. By using this way, we can save memory and lookup time. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c15e8599ffe1b4f866691424d07037c467c23a2f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Aug 7 18:39:32 2015 +0800 f2fs: report EINVAL for unalignment direct IO We run ltp testcase with f2fs and obtain a TFAIL in diotest4, the result in detail is as fallow: dio04 <<<test_start>>> tag=dio04 stime=1432278894 cmdline="diotest4" contacts="" analysis=exit <<<test_output>>> diotest4 1 TPASS : Negative Offset diotest4 2 TPASS : removed diotest4 3 TFAIL : diotest4.c:129: write allows odd count.returns 1: Success diotest4 4 TFAIL : diotest4.c:183: Odd count of read and write diotest4 5 TPASS : Read beyond the file size ...... the result of ext4 with same environment: dio04 <<<test_start>>> tag=dio04 stime=1432259643 cmdline="diotest4" contacts="" analysis=exit <<<test_output>>> diotest4 1 TPASS : Negative Offset diotest4 2 TPASS : removed diotest4 3 TPASS : Odd count of read and write diotest4 4 TPASS : Read beyond the file size ...... The reason is that when triggering DIO in f2fs, we will return zero value in ->direct_IO if writer's buffer offset, file offset and transfer size is not alignment to block size of filesystem, resulting in falling back into buffered write instead of returning -EINVAL. This patch fixes that problem by returning correct error number for above case, and removing the judgement condition in check_direct_IO to make sure the verification will be enabled for direct reader too. Besides, Jaegeuk Kim pointed out that there is expectional cases we should always make direct-io falling back into buffered write, such as dio in encrypted file. Signed-off-by: Yunlei He <heyunlei@xxxxxxxxxx> [Chao Yu make small change and add detail description in commit message] Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 52b1eaf4c59a3bbd07afbb4ab4f43418a807d02e Author: Kozlov Sergey <serjk@xxxxxxxx> Date: Tue Jul 28 11:33:04 2015 -0300 [media] netup_unidvb: NetUP Universal DVB-S/S2/T/T2/C PCI-E card driver Add NetUP Dual Universal CI PCIe board driver. The board has - two CI slots - two I2C adapters - SPI master bus for accessing flash memory containing FPGA firmware No changes required. Signed-off-by: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c8946c8d5ab8725bd763fc98c0ec6e1e94e6f6a0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 15:08:47 2015 -0300 [media] cxd2841er: declare static functions as such drivers/media/dvb-frontends/cxd2841er.c:992:5: warning: no previous prototype for 'cxd2841er_get_carrier_offset_t2' [-Wmissing-prototypes] int cxd2841er_get_carrier_offset_t2( ^ drivers/media/dvb-frontends/cxd2841er.c:1032:5: warning: no previous prototype for 'cxd2841er_get_carrier_offset_c' [-Wmissing-prototypes] int cxd2841er_get_carrier_offset_c( ^ drivers/media/dvb-frontends/cxd2841er.c:1360:5: warning: no previous prototype for 'cxd2841er_read_snr_t2' [-Wmissing-prototypes] int cxd2841er_read_snr_t2(struct cxd2841er_priv *priv, u32 *snr) ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a6dc60ff1209df29ee4668024e93d31f31421932 Author: Kozlov Sergey <serjk@xxxxxxxx> Date: Tue Jul 28 11:33:03 2015 -0300 [media] cxd2841er: Sony CXD2841ER DVB-S/S2/T/T2/C demodulator driver Add DVB-C/T/T2/S/S2 demodulator frontend driver Sony CXD2841ER chip. Signed-off-by: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9b850ca4f1c5acd7fcbbd4b38a2d27132801a8d5 Author: John Lin <john.lin@xxxxxxxxxxx> Date: Tue Aug 11 14:27:25 2015 +0800 ASoC: rt5640: fix line out no sound issue The power for line out was not turned on when line out is enabled. So we add "LOUT amp" widget to turn on the power for line out. Signed-off-by: John Lin <john.lin@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e025273b86fb4a6440192b809e05332777c3faa5 Author: Kozlov Sergey <serjk@xxxxxxxx> Date: Tue Jul 28 11:33:02 2015 -0300 [media] lnbh25: LNBH25 SEC controller driver Add DVB SEC frontend driver for STM LNBH25PQR chip. [mchehab@xxxxxxxxxxxxxxx: fix merge conflict: fe_sec_voltage_t should not be used in kernelspace anymore. instead, it should use enum fe_sec_voltage] Signed-off-by: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dacf9ce80b41667abb51a2a751a2dfe30e1f9a2b Author: Kozlov Sergey <serjk@xxxxxxxx> Date: Tue Jul 28 11:33:01 2015 -0300 [media] ascot2e: Sony Ascot2e DVB-C/T/T2 tuner driver Add DVB-T/T2/C frontend driver for Sony Ascot2e (CXD2861ER) chip. Signed-off-by: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a5d32b358254ff90f5dcd7ae2798b5d40503013a Author: Kozlov Sergey <serjk@xxxxxxxx> Date: Tue Jul 28 11:33:00 2015 -0300 [media] horus3a: Sony Horus3A DVB-S/S2 tuner driver Add DVB-S/S2 frontend driver for Sony Horus3A (CXD2832AER) chip Signed-off-by: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit efaa6e266ba70439da00e7f1c8a218e243ae140a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jul 24 10:21:02 2015 +0100 firmware: qcom_scm-32: replace open-coded call to __cpuc_flush_dcache_area() Rathe rthan directly accessing architecture internal functions, provide an "method"-centric wrapper for qcom_scm-32 to do what's necessary to ensure that the secure monitor can see the data. This is called "secure_flush_area" and ensures that the specified memory area is coherent across the secure boundary. Acked-by: Andy Gross <agross@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3139f43f8eca4d3a8a0ffe3b0b9cd8ebe0e3be95 Author: Christian Löpke <loepke@xxxxxxxxxxxx> Date: Sat Jul 18 04:15:01 2015 -0300 [media] Technisat SkyStar USB HD,(DVB-S/S2) too much URBs for arm devices Using 8 URBs results in a consecutive buffer allocation of too much memory for some arm devices. As we use isochronuous transfers the number of URBs can be reduced without risking data-loss. Signed-off-by: Christian Loepke <loepke@xxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 731a981e1059dd68c97212ccc9c0e1f169c1a77b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 11 13:35:42 2015 -0400 cgroup: make cftype->private a unsigned long It's pretty unusual to have an int as a private data field and it makes it impossible to carray a pointer value through it. Let's make it an unsigned long. AFAICS, this shouldn't break anything. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 9b81c842355ac96097ba32ad5632e9ef0ff59f92 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Mon Aug 10 19:05:18 2015 -0400 block: don't access bio->bi_error after bio_put() Commit 4246a0b6 ("block: add a bi_error field to struct bio") has added a few dereferences of 'bio' after a call to bio_put(). This causes use-after-frees such as: [521120.719695] BUG: KASan: use after free in dio_bio_complete+0x2b3/0x320 at addr ffff880f36b38714 [521120.720638] Read of size 4 by task mount.ocfs2/9644 [521120.721212] ============================================================================= [521120.722056] BUG kmalloc-256 (Not tainted): kasan: bad access detected [521120.722968] ----------------------------------------------------------------------------- [521120.722968] [521120.723915] Disabling lock debugging due to kernel taint [521120.724539] INFO: Slab 0xffffea003cdace00 objects=32 used=25 fp=0xffff880f36b38600 flags=0x46fffff80004080 [521120.726037] INFO: Object 0xffff880f36b38700 @offset=1792 fp=0xffff880f36b38800 [521120.726037] [521120.726974] Bytes b4 ffff880f36b386f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.727898] Object ffff880f36b38700: 00 88 b3 36 0f 88 ff ff 00 00 d8 de 0b 88 ff ff ...6............ [521120.728822] Object ffff880f36b38710: 02 00 00 f0 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.729705] Object ffff880f36b38720: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 ................ [521120.730623] Object ffff880f36b38730: 00 00 00 00 00 00 00 00 01 00 00 00 00 02 00 00 ................ [521120.731621] Object ffff880f36b38740: 00 02 00 00 01 00 00 00 d0 f7 87 ad ff ff ff ff ................ [521120.732776] Object ffff880f36b38750: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.733640] Object ffff880f36b38760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.734508] Object ffff880f36b38770: 01 00 03 00 01 00 00 00 88 87 b3 36 0f 88 ff ff ...........6.... [521120.735385] Object ffff880f36b38780: 00 73 22 ad 02 88 ff ff 40 13 e0 3c 00 ea ff ff .s".....@..<.... [521120.736667] Object ffff880f36b38790: 00 02 00 00 00 04 00 00 00 00 00 00 00 00 00 00 ................ [521120.737596] Object ffff880f36b387a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.738524] Object ffff880f36b387b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.739388] Object ffff880f36b387c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.740277] Object ffff880f36b387d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.741187] Object ffff880f36b387e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.742233] Object ffff880f36b387f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.743229] CPU: 41 PID: 9644 Comm: mount.ocfs2 Tainted: G B 4.2.0-rc6-next-20150810-sasha-00039-gf909086 #2420 [521120.744274] ffff880f36b38000 ffff880d89c8f638 ffffffffb6e9ba8a ffff880101c0e5c0 [521120.745025] ffff880d89c8f668 ffffffffad76a313 ffff880101c0e5c0 ffffea003cdace00 [521120.745908] ffff880f36b38700 ffff880f36b38798 ffff880d89c8f690 ffffffffad772854 [521120.747063] Call Trace: [521120.747520] dump_stack (lib/dump_stack.c:52) [521120.748053] print_trailer (mm/slub.c:653) [521120.748582] object_err (mm/slub.c:660) [521120.749079] kasan_report_error (include/linux/kasan.h:20 mm/kasan/report.c:152 mm/kasan/report.c:194) [521120.750834] __asan_report_load4_noabort (mm/kasan/report.c:250) [521120.753580] dio_bio_complete (fs/direct-io.c:478) [521120.755752] do_blockdev_direct_IO (fs/direct-io.c:494 fs/direct-io.c:1291) [521120.759765] __blockdev_direct_IO (fs/direct-io.c:1322) [521120.761658] blkdev_direct_IO (fs/block_dev.c:162) [521120.762993] generic_file_read_iter (mm/filemap.c:1738) [521120.767405] blkdev_read_iter (fs/block_dev.c:1649) [521120.768556] __vfs_read (fs/read_write.c:423 fs/read_write.c:434) [521120.772126] vfs_read (fs/read_write.c:454) [521120.773118] SyS_pread64 (fs/read_write.c:607 fs/read_write.c:594) [521120.776062] entry_SYSCALL_64_fastpath (arch/x86/entry/entry_64.S:186) [521120.777375] Memory state around the buggy address: [521120.778118] ffff880f36b38600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [521120.779211] ffff880f36b38680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [521120.780315] >ffff880f36b38700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [521120.781465] ^ [521120.782083] ffff880f36b38780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [521120.783717] ffff880f36b38800: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [521120.784818] ================================================================== This patch fixes a few of those places that I caught while auditing the patch, but the original patch should be audited further for more occurences of this issue since I'm not too familiar with the code. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1ed8111443ae8caa455e7107031da36d1a6d351a Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Tue Aug 11 18:04:21 2015 +0800 regmap: Move documentation to regmap.h Init functions defined in regmap*.c files are now prefixed with __, take lockdep key and class parameters, and should not be called directly: move the documentation to regmap.h, where the macros are defined. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38d6211e8565af5855385825a4fdc7261eb3740e Author: Nadav Haklai <nadavh@xxxxxxxxxxx> Date: Tue Aug 11 11:58:47 2015 +0200 spi: orion: On a38x, implement "50MHZ SPI AC timing" Erratum No. FE-9144572 Description: On Armada 38x, the device SPI interface supports frequencies of up to 50 MHz. However, due to this erratum, when the device core clock is 250 MHz and the SPI interfaces is configured for 50MHz SPI clock and CPOL=CPHA=1, there might occur data corruption on reads from the SPI device. Workaround: Work in one of the following configurations: 1. Set CPOL=CPHA=0 in "SPI Interface Configuration Register". 2. Set TMISO_SAMPLE value to 0x2 in "SPI Timing Parameters 1 Register" before setting the interface. [gregory.clement@xxxxxxxxxxxxxxxxxx}: port to v4.2-rc, use is_errata_50mhz_ac instead of using a new ARMADA_380_SPI spi type. Signed-off-by: Nadav Haklai <nadavh@xxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit dd6ff6a05b3d467acff47131759e15d40933656c Author: David Härdeman <david@xxxxxxxxxxx> Date: Wed Jul 22 17:55:24 2015 -0300 [media] rc-core: improve the lirc protocol reporting Commit 275ddb40bcf686d210d86c6718e42425a6a0bc76 removed the lirc "protocol" but kept backwards compatibility by always listing the protocol as present and enabled. This patch further improves the logic by only listing the protocol if the lirc module is loaded (or if lirc is builtin). Signed-off-by: David Härdeman <david@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1af2cc64b18c29f1d774caa7e592c781bee6a7eb Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 11 14:47:18 2015 +0200 ASoC: rsnd: Silence DMA slave ID compile warning on 64-bit On arm64: sound/soc/sh/rcar/dma.c: In function 'rsnd_dmaen_init': sound/soc/sh/rcar/dma.c:180:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (void *)id); ^ include/linux/dmaengine.h:1185:75: note: in definition of macro 'dma_request_channel' #define dma_request_channel(mask, x, y) __dma_request_channel(&(mask), x, y) ^ Add an intermediate cast to "uintptr_t" to kill the compile warning. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3176bf2d7ccd64da9be7b07036e0ba8293179906 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Tue Aug 11 19:25:15 2015 +0800 ASoC: wm8960: update pll and clock setting function Add sysclk auto mode. When it's sysclk auto mode, if the MCLK is available for clock configure, using MCLK to provide sysclk directly, otherwise, search a available pll out frequcncy and set pll. Configure clock in hw_params may cause problems when using bypass style paths without hw_params in machine driver getting called. So add configure clock to set_bias_level. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7abc01b346e67534cc0307544e563e5497280296 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Tue Aug 11 18:43:09 2015 +0800 spi: mediatek: fix endian warnings This patch fixes endian warnings detected by sparse: - sparse: incorrect type in argument 1 (different base types) expected unsigned int [unsigned] val got restricted __le32 [usertype] <noident> - sparse: incorrect type in argument 1 (different base types) expected unsigned int [unsigned] val got restricted __le32 [usertype] <noident> Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 571a963768e7711e0bb5a30f71247b46ec9ca7b9 Author: Ruben Wisniewski <ruben@xxxxxxxxxxxxxxx> Date: Tue Jun 16 21:06:23 2015 +0200 batman-adv: Avoid u32 overflow during gateway select The gateway selection based on fast connections is using a single value calculated from the average tq (0-255) and the download bandwidth (in 100Kibit). The formula for the first step (tq ** 2 * 10000 * bandwidth) tends to overflow a u32 with low bandwidth settings like 50 [100KiBit] and a tq value of over 92. Changing this to a 64 bit unsigned integer allows to support a bandwidth_down with up to ~2.8e10 [100KiBit] and a perfect tq of 255. This is ~6.6 times higher than the maximum possible value of the gateway announcement TVLV. This problem only affects the non-default gw_sel_class 1. Signed-off-by: Ruben Wisniewsi <ruben@xxxxxxxxxx> [sven@xxxxxxxxxxxxx: rewritten commit message] Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit e071d93eb40c969dc8c578dde5ddd89a30fb01cb Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Mon Jun 22 09:13:23 2015 +0200 batman-adv: Replace gw_reselect divisor with simple shift The gw_factor is divided by BATADV_TQ_LOCAL_WINDOW_SIZE ** 2 * 64. But the rest of the calculation has nothing to do with the tq window size and therefore the calculation is just (tmp_gw_factor / (64 ** 3)). Replace it with a simple shift to avoid a costly 64-bit divide when the max_gw_factor is changed from u32 to u64. This type change is necessary to avoid an overflow bug. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit f103a9c1a0ea1730fa3398366ffcc41c25ad8c9e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:34:28 2015 -0300 [media] staging: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a53546751da4099d9802618313f57ee01c2efdc4 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:34:26 2015 -0300 [media] staging: iio: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit acda7cf4463ae58e68cebeb0f72599fddfeeebb9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:34:27 2015 -0300 [media] staging: media: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ebf8dce56a25f77545f43a15a8205a6ef4fd1ac0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:48 2015 -0300 [media] Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8972943c0e002541a7cede3e6612a3f775496fa2 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:47 2015 -0300 [media] tuners: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f77658bda96431801dcd078765ba92adcd02aaaa Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:46 2015 -0300 [media] radio: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dfadaccabf93362cda7232eb9684b2eae7f2abf9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:44 2015 -0300 [media] i2c: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f078818770e719b3c15b0ee26ace6b6088514152 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:43 2015 -0300 [media] dvb-frontends: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 04d8be053fbeac656f8db2acb768179be9997b0a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:42 2015 -0300 [media] dvb-frontends: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 38dcdca38739b95a29c6d03009c3f63b0d959398 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jun 26 01:34:37 2015 -0300 [media] pctv452e: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. Note that the 6 in the third argument of memset appears to represent an ethernet address size (ETH_ALEN). The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,6); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fd26f8830979de48eb3f1c253eb9d2ee2e468eb6 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Jun 4 13:11:45 2015 -0700 dt/bindings: Add binding for the Raspberry Pi firmware driver This driver will provide support for calls into the firmware that will be used by other drivers like cpufreq and vc4. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8278780e3d3effe8f1db495f7329dbedaf035c46 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jun 29 10:46:49 2015 -0300 [media] tuners: Make all TV tuners visible if COMPILE_TEST=y Make the TV tuners menu visible when compile-testing, to allow selecting additional drivers on top of the drivers that are already automatically selected if MEDIA_SUBDRV_AUTOSELECT is enabled. Without this, many drivers stay disabled during e.g. allmodconfig. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b35ef52672997d7be71c8d8921099b7c8e3158a5 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Jun 4 13:11:47 2015 -0700 ARM: bcm2835: Add the firmware driver information to the RPi DT Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fa9163b570d9cecedcfb45116f2a20dd03fb9cae Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jun 26 01:47:49 2015 -0300 [media] ttpci: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. Note that the 6 in the third argument of memset appears to represent an ethernet address size (ETH_ALEN). The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,6); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a73df85892964a436f9c7f2f803e143b8c97d1ac Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Thu Jun 25 06:58:58 2015 -0300 [media] usb/airspy: removing unneeded goto This patch removes unneded goto, reported by coccinelle. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reviewed-by: Akhilesh Kumar <akhilesh.k@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 845249172a363c2217af5926fac17f58c7228aa4 Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Tue Aug 11 21:23:49 2015 +0900 drm/atomic: fix null pointer access to mode_fixup callback This patch fixes null pointer access incurred when encoder driver didn't set its own mode_fixup callback. mode_fixup callback shoudn't be called if the callback of drm_encoder_helper_funcs is NULL. Changelog v2: - change it to else if Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 360325755336893869c419013ec0e33757432cbb Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Thu Aug 6 16:16:01 2015 +0800 ARM: dts: imx6ul: add snvs power key support Add i.MX6UL SNVS power key support. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 5b032872c9c8a7abe3b19757f6873cc8b9864fc3 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Tue Aug 4 23:54:58 2015 +0800 ARM: dts: imx6ul: add RTC support Add RTC support for i.MX6UL. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 18619ff55d613dc5c8276ae70e5ca4e48c609f44 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Tue Aug 4 01:12:12 2015 +0800 ARM: dts: imx6ul: enable GPC as extended interrupt controller Enable GPC as extended interrupt controller of GIC, as GPC needs to manage wakeup source for low power modes. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 461aa6d723ef7bfd0dcc44676976711e2c3445c6 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Wed Aug 5 21:57:55 2015 +0800 ARM: dts: imx6sx: correct property name for wakeup source Commit(def56bb input: snvs_pwrkey: use "wakeup-source" as deivce tree property name) replaces the property name of "wakeup" with "wakeup-source", update this change in i.MX6SX dtsi accordingly. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit def0641e2f61a545a852887e15a19231c4c863c4 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed May 27 14:47:52 2015 +0200 ARM: dts: add property for maximum ADC clock frequencies The ADC clock frequency is limited depending on modes used. Add device tree property which allow to set the mode used and the maximum frequency ratings for the instance. These allows to set the ADC clock to a frequency which is within specification according to the actual mode used. Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit abb9f253cd9873f1826c4accdad89ec3fe80de21 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed Jul 29 01:50:00 2015 +0800 ARM: dts: imx7d: enable snvs rtc, onoffkey and power off Change SNVS rtc to syscon interface. Enable onoff key and power off function. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 5e8cdb01397fa2f2e368f44049c7a2b17a95ce9c Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Tue Jul 28 15:30:42 2015 +0800 ARM: dts: imx6ul-14x14-evk: add fec1 and fec2 support Add ethernet fec1 and fec2 support for i.MX6ul 14x14 evk board. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 01f3dc7de3293a7ef3839b8173d348cfed2b7252 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Tue Jul 28 15:30:41 2015 +0800 ARM: dts: imx: add fec1 and fec2 nodes for SOC i.MX6UL SOC i.MX6UL has two ethernet MACs, add fec1 and fec2 support for i.MX6UL. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 91eca8d57c392620fa4c4917036925a38ef3f99e Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:53 2015 +0200 ARM: dts: imx27: add support of internal rtc Add support of internal rtc on imx27. Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 4f182ff7d43240aa7dbfd771954adfa1626f1cf6 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Jul 15 16:50:17 2015 +0200 ARM: dts: vf-colibri: define stdout-path property Define Vybrid's UART0, connected to the Colibri pinout UART_A, as standard output. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 055223d4d22da918c3d4dae9122736dfd23ec4a4 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Jul 28 17:43:56 2015 +0300 ARM: dts: ls1021a: Enable the eTSEC ports on QDS and TWR This enables the available eTSEC ethernet ports for the ls1021aqds and ls1021atwr boards. For the QDS, SGMII connections (via riser cards) are assumed for the eTSEC0 and eTSEC1 ports as default configuration. Signed-off-by: Alison Wang <alison.wang@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d69cb5d7ea1664225042c28313d93e6ad6ee506f Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Jul 28 17:43:55 2015 +0300 ARM: dts: ls1021a: Add the eTSEC controller nodes Add basic support for all the eTSEC controllers on the ls1021a SoC. Second interrupt group register blocks and their corresponding Rx/Tx/Err interrupt sources are included as well for each eTSEC node. Signed-off-by: Alison Wang <alison.wang@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 5ff807a56767cd810dde0cec850caf8b6f504737 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Jul 21 03:33:53 2015 +0800 ARM: dts: imx6ul: add qspi support enable qspi support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 4e06dfabe83f757b9dd720592f7546480d1ac45f Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Jul 21 03:33:52 2015 +0800 ARM: dts: imx6ul: fix low case define in imx6ul-pinfunc.h some pin name should be capital "_B" instead of "_b" Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit cad2cb69f5f03edef09cbd2e920ba66192647322 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 17 04:03:16 2015 +0800 ARM: dts: imx6ul: add usb host and function support Enable usb host and function driver Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 9b1793afef83e088ca38f2a348a958e6ceea8e0c Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Thu Jul 16 20:43:19 2015 +0530 ARM: dts: vfxxx: Add io-channel-cells property for ADC node This commit adds io-channel-cells property to the ADC node. This property is required in order for an IIO consumer driver to work. Especially required for Colibri VF50, as the touchscreen driver uses ADC channels with the ADC driver based on IIO framework. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 50897cb6fa45981454a52546dbc3b1a53d195f08 Author: Alison Wang <b18965@xxxxxxxxxxxxx> Date: Wed Jul 15 16:02:46 2015 +0800 ARM: dts: ls1021a: Add dts nodes for audio on LS1021A This patch adds dts nodes for audio on LS1021A. Signed-off-by: Alison Wang <alison.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 0f92fd49ffc4e687fcdc64242b225d4cfffaa1b2 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 13 14:21:43 2015 +0800 ARM: imx6qdl-sabreauto.dtsi: enable USB support Add USBOTG and USB host 1 support Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 95d739b5ca6dc42206a9b4c0a2005f6e2170c62a Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed May 27 00:25:59 2015 +0800 ARM: dts: imx: update snvs to use syscon access register snvs is MFP device. Change dts to use syscon to allocate register resource. snvs power off also switch to common syscon-poweroff Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit a5fcccbc6ef8a6a0e015f3b72a2d8fcac8210425 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:45 2015 +0800 ARM: dts: imx: add imx6ul and imx6ul evk board support Add new SOC i.MX6UL dtb file support, including evk board support i.MX6 Ultralite processor include one ARM cortext-A7 core. Offer high perfomance and lowest power consumption. Main included: - 4 MMC/SD/SDIO - 2 USB 2.0 OTG - 3 I2S/SAI/AC97 - 4 eCSPI - 4 I2C - 2 ENET - 2 CAN - 3 wdog - ASRC - 8 uart - LCDIF - PXP Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Fancy Fang <chen.fang@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 7eeb662ad27862d965b9692f7ca649d70947db76 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:44 2015 +0800 ARM: dts: add i.mx6ul pin function include file add pin mux define file Signed-off-by: Bai Ping <b51503@xxxxxxxxxxxxx> Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit f3ff96e90733c24dc2f7e510822eb177d22683ed Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:43 2015 +0800 Document: dt: binding: imx: update document for imx6ul support This part just add necessary change to boot imx6ul. Update clock and pinctrl for imx6ul Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3b7816bade36f4f04a61d3c2920b5a110f23ce84 Author: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:51:06 2015 -0400 ARM: dts: vfxxx: Include support for esdhc0 functionality. Extend the existing Vybrid eSDHC devicetree implementation to also describe the esdhc0 functional block. Tested on a custom VF610-based board with a Toshiba THGBM1G5D2EBAI7 eMMC module attached to esdhc0. Signed-off-by: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit ed339363de1b5c4630268aa7f934503aaccccb70 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jul 13 13:03:05 2015 -0300 ARM: dts: imx6qdl-sabreauto: Allow HDMI and LVDS to work simultaneously Currently it is not possible to have HDMI and LVDS working simultaneously, because both ports try to use PLL5. Move the LVDS clock parent to PLL3_USB_OTG, so that HDMI and LVDS can be driven from independent sources. With this change the LDB pixel clock goes to 68.57 MHz, which is still within the valid range for the HSD100PXN1 LVDS panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6f5e69672e814e599baf735cda9e1c360d145cd0 Author: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:21:16 2015 -0400 ARM: dts: vfxxx: Include support for qspi1 functionality. This commit extends the existing Vybrid QSPI devicetree implementation to also describe the qspi1 functional block. Signed-off-by: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Reviewed-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit f4b89232f24a9dc37f72874bc418454e9363f52a Author: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:21:15 2015 -0400 ARM: dts: vf610: Add missing QuadSPI register mapping and names. Both 'reg' and 'reg-names' are required properties according to binding documentation, and both should contain two items. Signed-off-by: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit c47d6e380bcf6b45b481a14ea90b4b7aaa95027f Author: Haikun Wang <haikun.wang@xxxxxxxxxxxxx> Date: Wed Jul 8 10:43:40 2015 +0800 ARM: dts: ls1021a: Update 'dspi' device node compatible string Freescale DSPI driver has been updated and supports TCF interrupt type now. In the new driver we choose the interrupt type according the compatible string of the device node. This patch update the compatible string of DSPI device node of LS1021A in order to use the correct interrupt type. Signed-off-by: Haikun Wang <haikun.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3adab7c796f60338f9c1c7bdbc7f24eaf39acf96 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Jun 30 22:58:11 2015 +0800 ARM: dts: imx7d: add cortex-a7 coresight component Added etm, etb, funnel and replicator usage example: echo 1 >/sys/bus/coresight/devices/30086000.etr/enable_sink echo 1 >/sys/bus/coresight/devices/3007c000.etm/enable_source coresight-tmc 30086000.etr: TMC enabled coresight-replicator replicator.1: REPLICATOR enabled coresight-tmc 30084000.tmc: TMC enabled coresight-funnel 30083000.funnel: FUNNEL inport 0 enabled coresight-funnel 30041000.funnel: FUNNEL inport 0 enabled coresight-etm3x 3007c000.etm: ETM tracing enabled etm enable here. trace data save at /dev/30086000.etr cat /dev/30086000.etr > trace.data coresight-tmc 30086000.etr: TMC read start coresight-tmc 30086000.etr: TMC read end use ptm2human(https://github.com/hwangcc23/ptm2human) to show trace data ptm2human -i trace.data Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 7804fbcfe5156ff7eb802c2c71f0dca74d4f7f34 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jun 29 13:16:54 2015 -0300 ARM: dts: imx6qdl-nitrogen6x: Allow HDMI and LVDS to work simultaneously Currently it is not possible to have HDMI and LVDS working simultaneously, because both ports try to use PLL5. Move the LVDS clock parent to PLL3_USB_OTG, so that HDMI and LVDS can be driven from independent sources. With this change the LDB pixel clock goes to 68.57 MHz, which is still within the valid range for the HSD100PXN1 LVDS panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Tested-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit b6db3097db6bcd75061d0a0fdae1fbbcffc1bf2d Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jun 29 13:16:53 2015 -0300 ARM: dts: imx6qdl-sabrelite: Allow HDMI and LVDS to work simultaneously Currently it is not possible to have HDMI and LVDS working simultaneously, because both ports try to use PLL5. Move the LVDS clock parent to PLL3_USB_OTG, so that HDMI and LVDS can be driven from independent sources. With this change the LDB pixel clock goes to 68.57 MHz, which is still within the valid range for the HSD100PXN1 LVDS panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Tested-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d23dfefaf0b4b85756fa2bc90cae21c7d50043c4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jun 29 10:05:42 2015 -0300 ARM: dts: imx6sl-warp: Add changes for rev1.12 Warp board rev1.12 is the version of the hardware that will be publicly available for the customers. It uses UART5 as the Bluetooth serial port as well as some additional signals for HOSTWAKE on Wifi and Bluetooth. Make the changes to support the rev1.12 hardware. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d28be499c45e6e16d7a042ce280eb872dc06952b Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Jun 26 14:10:53 2015 -0300 ARM: dts: imx6qdl-sabresd: Allow HDMI and LVDS to work simultaneously Currently it is not possible to have HDMI and LVDS working simultaneously, because both ports try to use PLL5. Move the LVDS clock parent to PLL3_USB_OTG, so that HDMI and LVDS can be driven from independent sources. With this change the LDB pixel clock goes to 68.57 MHz, which is still within the valid range for the HSD100PXN1 LVDS panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d7f005e8392e41014864b717e00a0777ebcfc64e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 11 17:11:29 2015 +0200 pinctrl: nomadik: reflect current input value Let us see the current value on the input line in debugfs. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8a0fa1843638c5078e6606114ed8bdf9ea56fab1 Author: Shawn Guo <shawnguo@xxxxxxxxxx> Date: Mon Jul 13 15:58:51 2015 +0800 rtc: snvs: select option REGMAP_MMIO Select REGMAP_MMIO to fix the following build error seen with x86_64 randconfig. drivers/built-in.o: In function `snvs_rtc_probe': rtc-snvs.c:(.text+0x567730): undefined reference to `devm_regmap_init_mmio_clk' Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> Acked-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 28c0a8433dd56146627d00907ad99084654741e8 Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Thu Aug 6 15:22:11 2015 +0800 i2c: mediatek: Fixup i2c ack error interrupt handling When occur i2c ack error, i2c controller generate two interrupts, first is the ack error interrupt, then the complete interrupt. i2c interrupt handler should keep the two interrupt value, and only call complete() for the complete interrupt. Signed-off-by: Liguo Zhang <liguo.zhang@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ea89ef1f7bf7c71b4f533a6ffb3f6f124890b37b Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Thu Aug 6 15:22:10 2015 +0800 i2c: mediatek: Reset DMA engine in hardware init function Reset DMA in hardware init function to avoid unknown hardware state before do any I2C operation. Signed-off-by: Liguo Zhang <liguo.zhang@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5cc596c66fe7c725ec049ae2093e7242034c97d6 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jun 29 10:46:48 2015 -0300 [media] i2c: Make all i2c devices visible if COMPILE_TEST=y Make the i2c devices menu visible when compile-testing, to allow selecting additional drivers on top of the drivers that are already automatically selected if MEDIA_SUBDRV_AUTOSELECT is enabled. Without this, many drivers stay disabled during e.g. allmodconfig. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6df34051d8bd8807c873e1bb92b905e370ff3f5b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jun 29 10:46:47 2015 -0300 [media] dvb-frontends: Make all DVB Frontends visible if COMPILE_TEST=y Make the DVB Frontends menu visible when compile-testing, to allow selecting additional drivers on top of the drivers that are already automatically selected if MEDIA_SUBDRV_AUTOSELECT is enabled. Without this, many drivers stay disabled during e.g. allmodconfig. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1e3f2987f3acbdc99b1f527392a40783323b266b Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Jun 24 14:23:20 2015 -0300 [media] x86/mm/pat, drivers/media/ivtv: move pat warn and replace WARN() with pr_warn() On built-in kernels this warning will always splat as this is part of the module init. Fix that by shifting the PAT requirement check out under the code that does the "quasi-probe" for the device. This device driver relies on an existing driver to find its own devices, it looks for that device driver and its own found devices, then uses driver_for_each_device() to try to see if it can probe each of those devices as a frambuffer device with ivtvfb_init_card(). We tuck the PAT requiremenet check then on the ivtvfb_init_card() call making the check at least require an ivtv device present before complaining. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> [0-day test robot] Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7ac5f8315e3daf277ae47620bffe412ef2bf3ab4 Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 11:53:19 2015 -0300 [media] s5c73m3: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e8e9055594e3d9177416aa4e7ff8619cda3745a9 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Fri Jun 19 07:20:40 2015 -0300 [media] pci/Kconfig: don't use MEDIA_ANALOG_TV_SUPPORT for grabber cards I noticed certain cards are currently under MEDIA_ANALOG_TV_SUPPORT but it seems they are frame grabbers (with CVBS, Svideo etc. inputs) rather than TV receivers (with analog TV tuners). MEDIA_CAMERA_SUPPORT maybe isn't the best name (only "meye" driver seems to drive a real camera in a laptop) but it at least doesn't select the TUNERs. Perhaps the following patch would make sense. Signed-off-by: Krzysztof Ha?asa <khalasa@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dd30acc889f586cecdea0d7f401f3dc80752b41e Author: Inha Song <ideal.song@xxxxxxxxxxx> Date: Fri Aug 7 10:35:59 2015 +0900 mfd: wm8994: Fix NULL pointer exception on missing pdata If we use the dev_get_platdata, pdata can be NULL in DT environments. Actually, NULL pointer exception is occurs with error messages like this: [ 1.226583] Unable to handle kernel NULL pointer dereference at virtual address 00000044 [ 1.467910] [<c02f1e38>] (wm8994_irq_init) from [<c02f1bd4>] (wm8994_i2c_probe+0x684/0x858) [ 1.476241] [<c02f1bd4>] (wm8994_i2c_probe) from [<c0371c78>] (i2c_device_probe+0x11c/0x17c) In wm8994-core, we already checked whether platform data is NULL and set the wm8994->pdata to platform data if platform data is not NULL. So, we can use wm8994->pdata instead of platform data. Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ff066f731a71409a3c29d8bd1d702867167c6994 Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Thu Aug 6 01:20:56 2015 +0300 of: Add vendor prefix for Nuvoton Signed-off-by: Constantine Shulyupin <const@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f3151ab4a7320ce3f48955fe796bd90dd00881ab Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Mon Aug 10 21:10:45 2015 +0800 mfd: mt6397: Implement wake handler and suspend/resume to handle wake up event Implement .irq_set_wake() to get who is wakeup source and setup on suspend/reumse. Enable mt6393_irq as wake up source properly to pinctrl by enable_irq_wake()/enable_irq_wake(). Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d9c93f5de8c84ccbb58fd88a530b730643fbb129 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 18:45:54 2015 +0200 mfd: atmel-hlcdc: Add support for new SoCs Add the compatible strings for the at91sam9x5, at91sam9n12, sama5d4 and sama5d2 SoCs. Update the documentation accordingly. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4895e493f91bff7f96f328b883c7f6448aa6abc6 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:41 2015 +0200 mfd: Export OF module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0f63bdedcc749917e74093ecbd8dae7b77934f19 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:26 2015 +0200 mfd: stw481x: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 68b6fd02e6a62d6bdb62e7e74e7c62a8ec54346e Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Thu Jul 23 17:17:41 2015 +0100 mfd: da9062: Support for the DA9063 OnKey in the DA9062 core Add MFD core driver support for a OnKey component - MFD core adds the resource da9062_onkey_resources[] for the OnKey - An appropriate value has been added into mfd_cell da9062_devs[] to support component .name = "da9062-onkey" and .of_compatible = "dlg,da9062-onkey" Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e5ad234485ee868c09f2d59b2ed94d6c6e6d3f19 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:59 2015 +0000 mfd: max899x: Avoid redundant irq_data lookup It's pretty silly to do irq_data *d = irq_get_irq_data(irq_data->irq); because that results in d = irq_data, but goes through a lookup of the irq_data. Use irq_data directly. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0d674d93a08f0073a9eb290bbac56fdedc4f319d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:57 2015 +0000 mfd: ucb1x00: Prepare ucb1x00_irq for irq argument removal irq is incremented for no value in the for loop. Remove it. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1e84aa445893a608445af2fda5d8a03c0a86af84 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:44:56 2015 +0000 mfd: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Do the same change to avoid the pattern "irq_get_chip_data(data->irq)". Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 079140f5cee9d8e0290de12ac1bf74f1ebe72881 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:54 2015 +0000 mfd: tc6393xb: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit de7c9e0da9ca5962ed562296eaa521e5cc492322 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:52 2015 +0000 mfd: t7l66xb: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b79f04382e265cd6e927977581d2fddb53ef916a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:51 2015 +0000 mfd: pm8921: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 59fa909e774d80c20cf69e98fd2ba76bcc0f3fbc Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:49 2015 +0000 mfd: jz4740: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 073f7f99a0054a3af6ecef1d0ce12aab9c800460 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:47 2015 +0000 mfd: htc-egpio: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c89fc9ac88ad99c0e629204d1b62af57367fd32d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:46 2015 +0000 mfd: ezx-pcap: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9bd09f345e62257958342f712efef644494274fb Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:20 2015 -0500 mfd: Kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 035faf4bd2776237940c95d08bfe8928fe0a80e1 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jul 22 09:55:43 2015 +0200 mfd: ipaq-micro: Convert to built-in platform driver Signal that this is a built-in driver and call its probe function immediately on init. Suppress binding attributes and delete the .remove() function since it is never unloaded. Tag probe() and functions only called from probe() with __init. Delete all module macros since this is a pure built-in. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 31115336d95d7d9ebb4b1bb8449876f798b0b2f7 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jul 22 09:55:42 2015 +0200 mfd: ipaq-micro: Convert prints to debug prints There is a special function for debug prints rather than the usual hexdump function, let's use it. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7d60bfc945c7c59bd852a5bedefb7ecb6bbef7ec Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jul 22 09:55:41 2015 +0200 mfd: ipaq-micro: Clean up development cruft Clean out a misspelled "HW" (MW) and remove commented-out codeline. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2f5532a231de3bf9d6e87623f0b307362946e52d Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Tue Jul 21 11:29:06 2015 +0100 devicetree: da9062: Add device tree bindings for DA9062 RTC Add device tree bindings for the DA9062 RTC driver component Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ca1ce176af986213bfdc86ce73c05ab0d2aa3578 Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Tue Jul 21 11:29:06 2015 +0100 mfd: da9062: Support for the DA9063 RTC in the DA9062 core Add MFD core driver support for a RTC component - MFD core adds the RTC resources da9062_rtc_resources[] for the RTC alarm and tick timer IRQ - An appropriate mfd_cell has been added into da9062_devs[] to support a component .name = "da9062-rtc" and .of_compatible = "dlg,da9062-rtc" Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 496e43aeacab245ca57139e89d83655f8370e0ef Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 16:53:47 2015 +0100 mfd: arizona: Specify regmap endianness Explicitly set the regmap endianness instead of relying on the default being correct. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 34885237bf7d744433d3c4558a852e20fb2c2837 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Jul 20 17:23:52 2015 +0800 mfd: rk808: dt: Add the description about dvs gpio for rk808 add the description about dvs1, dvs2, and add the example. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f1837e4ad502d6b15be864ace04b681e5b0fd49e Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Jul 14 23:40:34 2015 -0700 mfd: pm8921: Implement irq_get_irqchip_state Implement irq_chip->irq_get_irqchip_state to make it possible for PMIC block drivers to access the IRQ real time status bits. The status bits are used for various kinds of input signals, e.g. GPIO. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ea31c0cf9b071127a3f16f02b7494b9e5fd6f71f Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 19:16:43 2015 +0200 mfd: atmel-hlcdc: Implement config synchronization Some HLCDC registers cannot be written until the hardware has finished applying the previous configuration request. If they are written while an action is still in progress, the new configuration might be silently ignored, resulting in unpredictable behavior. Hide the config synchronization stuff in a regmap implementation and use this implementation instead of the generic mmio one. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3811405e2f9bc6f39c0cd5aadf95a957ae27b395 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Jul 17 10:17:58 2015 +0200 MAINTAINERS: Add an entry for the Maxim MAX77802 PMIC drivers I added support for the max77802 drivers and have been maintaining them. So add an entry for these drivers to make tools like get_maintainer.pl to work and make people submitting patches add me to the CC list. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 377452f444a63475072cac13159295faac792450 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Jul 17 10:17:57 2015 +0200 MAINTAINERS: Add Device Tree binding doc for max77686 regulator The Device Tree binding documentation for the Maxim max77686 regulators has been moved from the Multi-Function Device DT binding section to its own Documentation/devicetree/bindings/regulator/max77686.txt file. Use a wilcard so both the mfd and regulator DT bindings are resolved. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 03b42710420f2db5cc1e3506625e1311becb286b Author: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Fri Jul 17 10:55:10 2015 +0100 mfd: da9063: Fix missing DA9063_M_DVC_RDY mask bit Fix a missing DVC_RDY interrupt mask in struct regmap_irq definition. The original submission of this driver did not contain all interrupt masking definitions in the struct regmap_irq contained in the file da9063-irq.c The solution is to add a DA9063_IRQ_DVC_RDY entry to enum da9063_irqs list and to add the corresponding values to compensate for the missing mask bit in the static const struct regmap_irq da9063_irqs[] table. Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d8d79f8f60c4363a0fa490ff1626be4bd5e003a3 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Sat Jul 11 14:59:56 2015 +0200 mfd: axp20x: Add axp152 support The axp152 is a stripped down version of the axp202 pmic with the battery charging function removed as it is intended for top-set boxes. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 18ca2ba5995d950619589355c3bc760b2a91e2bf Author: Michael Brunner <mibru@xxxxxx> Date: Tue Jul 14 13:20:50 2015 +0200 mfd: kempld-core: Add support for COMe-bBL6 and COMe-cBW6 to Kontron PLD driver This patch adds the DMI system ID of the Kontron COMe-bBL6 and COME-cBW6 boards to the Kontron PLD driver. The list of supported products in the module description is also updated. Signed-off-by: Michael Brunner <michael.brunner@xxxxxxxxxxx> Acked-by: Christian Rauch <christian.rauch@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 13e72a49376efb9c743578b707033f1cb8865a55 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jul 11 14:59:55 2015 +0200 mfd: axp20x: Add binding documentation for AXP152 PMIC Add devicetree binding documentation for the AXP152 PMIC, this is a stripped down version of the AXP202 PMIC with the battery charging function removed. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 51d0eb81b106a577d686e9ced5aacdc85afb5d0a Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Jul 8 12:40:05 2015 +0300 mfd: qcom-rpm: Add apq8064 QDSS clock resource Qualcomm Debug Subsystem clock is used by CoreSight components. Add required definitions for it. qcom_rpm_resource::status_id is not used by driver, so just mark it as ~0. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0e777366fb0eba6facc44f0604fe6adbaf21d604 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:05:40 2015 +0900 mfd: Drop owner assignment from i2c_drivers i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 66f2752fbb3b50ef816c41f07a6654610bb648ac Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 7 19:10:59 2015 +0800 mfd: wm8994-regmap: Constify reg_default tables These reg_default tables are not modified after initialized, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e6c7efa7ee2eb7c15ea0fc0bd7ab6dc808cb57a3 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 11:23:53 2015 +0100 mfd: arizona: Fixup register table definitions The regmap register definitions have been a source of many small fixes as issues are discovered. As such I made a small automated tool to check these definitions. This patch fixes the issues (mostly harmless) located by that tool, the issues fall into three catagories: 1) Volatile registers that have a default in the defaults table (default has been removed from the table since it is redundant) 2) Registers that are marked as volatile but unreadable (register has been removed from the volatile list since it is obviously not being used) 3) Registers that arn't readable but have an entry in the defaults table (again removed since it is redundant) 4) Readable non-volatile registers that are missing a default, these are dangerous as they won't get synced during a cache sync. Fortunately, most of them seem to be registers that shouldn't be there (for example wm5102 had readable registers for DRC2 and ISRC3 which is doesn't have) Hopefully another tool will be produced to check the actual default values themselves but that is outside the scope of this patch. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 922e3c220c6a5ab4aee066a9fc9aa17fcb0e4740 Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Wed Jul 1 14:11:33 2015 +0100 mfd: da9062: dt: Add bindings for DA9062 driver Add device Tree Bindings for the DA9062 driver Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9b40b030c4ad685732dd3ad5b57249db52a74e71 Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Wed Jul 1 14:11:32 2015 +0100 mfd: da9062: Supply core driver Add MFD core driver support for DA9062 Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 78b7d84c8f6e49f68d7b63c4d67242d4c1bfbadd Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Thu Jul 2 08:52:58 2015 +0530 mfd: t7l66xb: Remove unnecessary pdata check o Making pdata NULL check to (!pdata) as coding standard and all other checks in file. o Removing redundant check of pdata, because we already check for pdata, and also derefernced before this check. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 088d862c53f9664d8bca9f56fb4590e36fbf587a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 7 08:52:06 2015 +0800 mfd: tps6586x: Fix up define for TPS6586X_MAX_REGISTER The latest valid register is TPS6586X_VERSIONCRC. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6887b042c52ee05a405bae859f410c2f63b45339 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 16:16:35 2015 +0100 mfd: arizona: Add support for WM8998 and WM1814 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bc00d68f2f209dd7ad01f64c3bdf67e608c363f1 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Fri Jun 26 18:38:11 2015 +0530 mfd: 880m80x: Make use of BIT() macro Instead of hard coding the shift for bit definition, use BIT() macro. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit acdecb04e2115747f260700384f2c403c8e9693e Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Thu Jun 25 02:20:44 2015 +0200 mfd: Remove MFD_CROS_EC_SPI depends on OF The ChromeOS EC SPI transport driver has a dependency on OF because it uses some OF helpers from the <linux/of.h> header. But there isn't a need for an explicit dependency since the header has stub functions if CONFIG_OF is not defined. Also, MFD_CROS_EC_SPI already depends on MFD_CROS_EC which in turn has a dependency on OF so in practice can't be selected without CONFIG_OF. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 00b6e9ff01a8f41816060b2f70752f66f100fecd Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 11:24:27 2015 +0100 mfd: arizona: Update several pdata members to unsigned Device tree and ACPI primarily deal with unsigned ints, many of the pdata members in the Arizona driver are signed ints but are only ever assigned positive values. Changing these pdata fields to unsigned ints avoids us having to choose between overly verbose code and Sparse warnings. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 16f6a0df1d319705abf068bd1ebada344ad9d04f Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sun Jun 14 15:41:49 2015 +0100 mfd: arizona: Fix race between runtime suspend and IRQs The function arizona_irq_thread (the threaded handler for the arizona IRQs) calls pm_runtime_get_sync at the start to ensure that the chip is active as we handle the IRQ. If the chip is part way through a runtime suspend when an IRQ arrives the PM core will wait for the suspend to complete, before resuming. However, since commit 4f0216409f7c ("mfd: arizona: Add better support for system suspend") the runtime suspend function may call disable_irq, if the chip is going to fully power off, which will try to wait for any outstanding IRQs to complete. This results in deadlock as the IRQ thread is waiting for the PM operation to complete and the PM thread is waiting for the IRQ to complete. To avoid this situation we use disable_irq_nosync, which allows the suspending thread to finish the suspend without waiting for the IRQ to complete. This is safe because if an IRQ is being processed it can only be blocked at the pm_runtime_get_sync at the start of the handler otherwise it wouldn't be possible to suspend. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c465875aa3934c0fdcc26f936322455569e89add Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sat Jun 13 14:20:51 2015 +0200 mfd: intel_soc_pmic: Constify ACPI device ids Constify the ACPI device ID array, it doesn't need to be writable at runtime. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d548ca43d0333a0c4af0c79e9e6aafc29cd5a854 Merge: 4b45efe 82805d1 2a7a0e9 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Aug 11 15:08:04 2015 +0100 Merge branches 'ib-mfd-base-acpi-dma-4.3', 'ib-mfd-clocksource-rtc-watchdog-4.3' and 'ib-mfd-i2c-x86-watchdog-4.3' into ibs-for-mfd-merged commit d5cf4023ebcbae13e14e3ab3c55cb744321b352e Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Aug 10 13:00:02 2015 -0700 crypto: qat - Fix adf_isr_resource_free name clash When both PF and VF drivers are build in linker complains about multiple definition of adf_isr_resource_[alloc/free] functions. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5cd01fe19be0e4ff3f0abfd6defc55a3b5dce224 Author: Paulo Flabiano Smorigo <pfsmorigo@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:14:17 2015 -0300 Fix email address mistypo for NX/VMX crypto driver maintainers Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2a7a0e9bf7b32e838d873226808ab8a6c00148f7 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Thu Aug 6 13:46:26 2015 +0100 watchdog: iTCO_wdt: Add support for TCO on Intel Sunrisepoint The revision of the watchdog hardware in Sunrisepoint necessitates a new "version" inside the TCO watchdog driver because some of the register layouts have changed. Also update the Kconfig entry to select both the LPC and SMBus drivers since the TCO device is on the SMBus in Sunrisepoint. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9424693035a57961a8eb09e96aab315a7096535d Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Aug 6 13:46:25 2015 +0100 i2c: i801: Create iTCO device on newer Intel PCHs Starting from Intel Sunrisepoint (Skylake PCH) the iTCO watchdog resources have been moved to reside under the i801 SMBus host controller whereas previously they were under the LPC device. In order to support the iTCO watchdog on newer PCHs we need to create the platform device here in the SMBus driver and pass all known resources using platform data. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 420b54de25828c45f3fc1f12d52d9657f5e90a53 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Thu Aug 6 13:46:24 2015 +0100 mfd: watchdog: iTCO_wdt: Expose watchdog properties using platform data Intel Sunrisepoint (Skylake PCH) has the iTCO watchdog accessible across the SMBus, unlike previous generations of PCH/ICH where it was on the LPC bus. Because it's on the SMBus, it doesn't make sense to pass around a 'struct lpc_ich_info', and leaking the type of bus into the iTCO watchdog driver is kind of backwards anyway. This change introduces a new 'struct itco_wdt_platform_data' for use inside the iTCO watchdog driver and by the upcoming Intel Sunrisepoint code, which neatly avoids having to include lpc_ich headers in the i801 i2c driver. This change is overdue because lpc_ich_info has already found its way into other TCO watchdog users, notably the intel_pmc_ipc driver where the watchdog actually isn't on the LPC bus as far as I can see. A simple translation layer is provided for converting from the existing 'struct lpc_ich_info' inside the lpc_ich mfd driver. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> [drivers/x86 refactoring] Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b0c49e2acc6e0e1bf5ae80a3afd63bdcfce19883 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 10:30:24 2015 -0300 [media] mantis: remove an uneeded goto Gotos makes a little harder to check the code. In this particular case, the goto is doing nothing but jumping into a return. Instead, just replace the goto by the return, making it simpler. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1a08a84cc68e87d541a9b6e00d53243c2de68011 Merge: 1e86355 94bdc48 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 15:31:53 2015 +0200 Merge tag 'renesas-dt3-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Third Round of Renesas ARM Based SoC DT Updates for v4.3 * Add JPU support: r8a7791 and r8a7790 SoCs * Add MMCIF and PFC support: r8a7794 SoC * Add initial support for r8a7794/silk * Add missing "gpio-ranges" to gpio nodes: sh73a0, r8a7740 and r8a73a4 SoCs * tag 'renesas-dt3-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: sh73a0 dtsi: Add missing "gpio-ranges" to gpio node ARM: shmobile: r8a7740 dtsi: Add missing "gpio-ranges" to gpio node ARM: shmobile: r8a73a4 dtsi: Add missing "gpio-ranges" to gpio node ARM: shmobile: silk: add eMMC DT support ARM: shmobile: r8a7794: add MMCIF DT support ARM: shmobile: silk: add Ether DT support ARM: shmobile: silk: initial device tree ARM: shmobile: r8a7794: add PFC DT support ARM: shmobile: r8a7791: Add JPU device node. ARM: shmobile: r8a7790: Add JPU device node. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4f2f1f76dc8c5cb6528d7451de6eacdbf8fb0cbf Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jul 28 02:11:36 2015 +0200 ARM: nomadik: push accelerometer down to boards The two Nomadik variants have the accelerometer mounted on different I2C lines. Push the definition down to the top-level board DTS files to get things right. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 98badfd31ccb1448866b99cb6a64ad227d141d22 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jul 27 22:40:53 2015 +0200 ARM: nomadik: move l2x0 setup to device tree The cache setup magic value in the Nomadik machine is plain wrong, the correct settings can be done using device tree in accordance with the settings from ST's own port. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1cb3375bb53719a2d90793b5bc47f99c21dc6b72 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 23 23:14:20 2015 +0200 ARM: nomadik: selectively enable UART0 on boards The S8815 board is using RX/TX on UART0, and the NHK8815 is using RX/TX and CTS/RTS (the latter connected to a Bluetooth chip). Activate the right groups with the u0 UART0 function on each board and undisable it. Get rid of the old erroneous default definition from the SoC file. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4cec8cd790e3645d2e5ddf01cbe4ed2a90dcd94f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sat May 30 17:30:26 2015 +0200 ARM: nomadik: move hog code to use DT hogs Instead of introducing a board-specific DT node for biasing the MMC/SD and SATA ports, use the new device tree hogs. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 919db5c3199cbd7cf503cdc42f3467a524d1f9ff Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Aug 10 14:11:41 2015 -0300 [media] mantis: Fix error handling in mantis_dma_init() Current code assigns 0 to variable 'err', which makes mantis_dma_init() to return success even if mantis_alloc_buffers() fails. Fix it by checking the return value from mantis_alloc_buffers() and propagating it in the case of error. Reported-by: RUC_Soft_Sec <zy900702@xxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8e8a6b23f115906678252190c8fcf4168cc60fd5 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Jul 28 05:33:55 2015 -0300 [media] mt9v032: fix uninitialized variable warning drivers/media/i2c/mt9v032.c: In function â??mt9v032_probeâ??: CC [M] drivers/media/i2c/s5k4ecgx.o drivers/media/i2c/mt9v032.c:996:20: warning: â??pdataâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] if (pdata && pdata->link_freqs) { ^ It can indeed be uninitialized in one corner case. Initialize to NULL. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9deb6ad661c1656dc770d35336a84b0d885c3ff2 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Aug 6 09:38:02 2015 -0300 [media] v4l2: move tracepoint generation into separate file To compile videobuf2-core as a module, the vb2_* tracepoints must be exported from the videodev module. Instead of exporting vb2 tracepoint symbols from v4l2-ioctl.c, move the tracepoint generation into a separate file. This patch fixes the following build error in the modpost stage, introduced by 2091f5181c66 ("[media] videobuf2: add trace events"): ERROR: "__tracepoint_vb2_buf_done" undefined! ERROR: "__tracepoint_vb2_dqbuf" undefined! ERROR: "__tracepoint_vb2_qbuf" undefined! ERROR: "__tracepoint_vb2_buf_queue" undefined! Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b1304f9bdc3df8f213550b15cdfd7262420ef328 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Mon Aug 3 05:36:43 2015 -0300 [media] vivid: support cvt, gtf timings for video out The generation of cvt, gtf timings is already supported by v4l2-ctl. This patch adds support for setting cvt,gtf timings for video out. While enabling cvt,gtf in vivid capture, the vivid video out was missed out. Adding it now. Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1e86355adc6df3e228e7fd053d25e301fe768094 Merge: 63ef577 ed05637 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 15:23:24 2015 +0200 Merge tag 'omap-for-v4.3/dt-pt3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Omap device tree changes for v4.3 merge window. Pretty much all just trivial additions to configure devices for various SoCs and boards: - Updates for omap3-devkit8000 board support - M3 coprosessor, regulator, mux, RTC and eMMC updates for am437x - MMC, regmap, mux and dwc3 updates for dra7 and omap5 * tag 'omap-for-v4.3/dt-pt3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (27 commits) ARM: dts: omap3-devkit8000: Add ADS7846 Touchscreen support ARM: dts: omap3-devkit8000: add LCD panels ARM: dts: omap3-devkit8000: Add DSS' DVI support ARM: dts: omap3-devkit8000: Add S-video output support ARM: dts: omap3-devkit8000: Add keymap support ARM: dts: omap3-devkit8000: Add PMU stat support ARM: dts: omap3-devkit8000: Add user button support ARM: dts: am437x-gp-evm: Add regulator-always-on and regulator-boot-on for RTC DCDCs ARM: dts: AM4372: Reorder the rtc compatible string ARM: dts: am437x-gp-evm: Add eMMC support ARM: dts: am437x-gp-evm: Add gpio-hog for configuring eMMC/NAND driver ARM: dts: am43xx: Introduce MUX_MODE9 for pinctrl ARM: dts: dra72-evm: Fix spurious card insert/removal interrupt ARM: dts: dra7-evm: Fix spurious card insert/removal interrupt ARM: dts: am57xx-beagle-x15: mmc1: remove redundant pbias-supply property ARM: dts: dra7-evm: Add MMCSD card removal GPIO ARM: dts: dra72-evm: Set max clock frequency of MMC1 and MMC2 ARM: dts: dra7-evm: add evm_3v3_sd regulator ARM: dts: dra72-evm: add evm_3v3_sd regulator ARM: dts: AM4372: Add the wkup_m3_ipc node ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 63ef577d9ae51a2c4c34670f8f1eeded0be629b2 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Aug 6 19:37:46 2015 +0900 ARM: dts: UniPhier: add reference daughter board This is used as a base board for reference core modules. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b6bb424b407ee0162fc492e6149847d0aa0034ff Author: Wei Huang <wei@xxxxxxxxxx> Date: Fri Aug 7 15:53:30 2015 -0400 KVM: x86/vPMU: Fix unnecessary signed extension for AMD PERFCTRn According to AMD programmer's manual, AMD PERFCTRn is 64-bit MSR which, unlike Intel perf counters, doesn't require signed extension. This patch removes the unnecessary conversion in SVM vPMU code when PERFCTRn is being updated. Signed-off-by: Wei Huang <wei@xxxxxxxxxx> Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b78bda5fd8d04029ca3da512b83e8e636791db53 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Thu Aug 6 19:22:38 2015 -0700 ARM: brcmstb: select ARCH_DMA_ADDR_T_64BIT for LPAE Broadcom STB (BRCMSTB) has some 64-bit capable DMA and therefore needs dma_addr_t to be a 64-bit size. One user is the Broadcom SATA3 AHCI controller driver. Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit aeaeba1b6f0988ad4d9773ba2f1312e3f1436efa Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Tue Aug 4 18:43:28 2015 -0700 ARM: BCM: Enable ARM erratum 798181 for BRCMSTB Commit 04fcab32d3fa1d3f6afe97e0ab431c5572e07a2c ("ARM: 8111/1: Enable erratum 798181 for Broadcom Brahma-B15") enables this erratum for affected Broadcom Brahma-B15 CPUs when CONFIG_ARM_ERRATA_798181=y. Let's make sure that config option is actually set. Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e73ff4d29a780f2b09913cc8599a94e737546310 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Fri Jul 31 18:17:45 2015 -0700 ARM: dts: brcmstb: add BCM7445 GPIO nodes Need the aon_pm_l2_intc and irq0_aon_intc descriptions, so included those as well. Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1ff80363524cf78e2894b1c6fdd5b7b03ea41994 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Wed Jul 29 23:51:00 2015 +0200 ARM: BCM5301X: Add profiling support Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit db44f1342d8c2606dbbcbcab83741a3d1c872cff Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Wed Jul 29 23:50:59 2015 +0200 ARM: BCM5301X: activate some additional options in pl310 cache controller In the default Broadcom SDK the shared override is activated for this cache controller, do the same in the upstream code. Data and instruction prefetching is not activated by default for this cache controller on the bcm53xx SoC, do it manually like it is done in the vendor SDK. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit efd16bda273a9be4f41343482c7c83e40f1cb4c8 Merge: 7776f8e 8248112 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 15:13:03 2015 +0200 Merge tag 'arm-soc/for-4.3/maintainers' of http://github.com/broadcom/stblinux into next/fixes-non-critical This pull request contains the following changes to the MAINTAINERS file: - Add Eric Anholt as a 3rd maintainer for the Raspberry Pi platform code/drivers - Add linux-arm-kernel for all bcm2835 related drivers * tag 'arm-soc/for-4.3/maintainers' of http://github.com/broadcom/stblinux: MAINTAINERS: Explicitly add linux-arm-kernel for bcm2835 MAINTAINERS: Add myself as a bcm2835 co-maintainer. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 603242a88ac44771442b077e0c9cb4d3af2b796f Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Wed Aug 5 10:44:40 2015 -0400 kvm: x86: Fix error handling in the function kvm_lapic_sync_from_vapic This fixes error handling in the function kvm_lapic_sync_from_vapic by checking if the call to kvm_read_guest_cached has returned a error code to signal to its caller the call to this function has failed and due to this we must immediately return to the caller of kvm_lapic_sync_from_vapic to avoid incorrectly call apic_set_tpc if a error has occurred here. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 42d0a99fd64ce01950d57c140aafa59defbb2ebb Merge: a5e921b 2cd2124 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 15:10:01 2015 +0200 Merge tag 'sirf-dts-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux into next/dt ARM: sirf: dts update for 4.3 some missed dt nodes or props for sirf dts for 4.3. Among them: - G2D - PWM - JPEG - Multimedia - PMU(performance monitor unit) - GMAC - SDR(software digital radio) and its DMA - pinmux for NAND - GPIO key * tag 'sirf-dts-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux: ARM: dts: atlas7: add a GPIO key for rearview button ARM: dts: atlas7: put pinctl property to get pinmux for NAND ARM: dts: atlas7: add software digital radio nodes and its DMA channels ARM: dts: atlas7: add lost PWM node ARM: dts: atlas7: add lost G2D node ARM: dts: atlas7: add multimedia codec node ARM: dts: atlas7: add alias name for spi device ARM: dts: atlas7: add lost gmac node ARM: dts: atlas7: add performance monitor unit node ARM: dts: atlas7: add lost jpeg node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a5e921b4771fbdaad97171184725ff60d8e8a7b0 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Aug 4 20:21:04 2015 +0900 ARM: dts: uniphier: add ProXstream2 and PH1-LD6b SoC/board support Initial version of DTSI for ProXstream2 and PH1-LD6b and DTS for PH1-LD6b reference board. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> [olof: sort Makefile entries] Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 474e5ac6247f10924ef4c349c32b2cf303d51210 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Aug 4 20:21:03 2015 +0900 ARM: dts: uniphier: add PH1-Pro5 SoC support Initial version of UniPhier PH1-Pro5 device tree. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 68f46897ea7efbcb30d19304072074fac4569c54 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Aug 4 20:21:02 2015 +0900 ARM: dts: uniphier: add I2C controller device nodes Add I2C controller device nodes for PH1-sLD3, PH1-LD4, PH1-sLD8 (FIFO-less I2C) and PH1-Pro4 (FIFO-builtin I2C). Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b9efb8e30e99fe8ca9f886e0332eb0f29b6b48bb Merge: da5df64 5e080b0 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 15:01:26 2015 +0200 Merge tag 'samsung-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Samsung 1st DT updates for v4.3 - for exynos3250 : update video-phy node with syscon phandle - for exynos4210 : add CPU OPP and regulator supply property : use labels for overriding nodes for exynos4210-universal_c210 - for exynos4412-trats2 : set max17047 over heat and voltage thresholds - for exynos5250 and 5420 : extend exynos5250/5420-pinctrl nodes using labels : include exynos5250/5420-pinctrl after the nodes definitions - for exynos5410-smdk5410 : clean up indentation - for exynos5422-odroidxu3 : define default thermal-zones for exynos5422 : enable USB3 regulators, TMU and thermal-zones : add pwm-fan node * tag 'samsung-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Extend exynos5420-pinctrl nodes using labels instead of paths ARM: dts: Include exynos5420-pinctrl after the nodes were defined for exynos5420 ARM: dts: Extend exynos5250-pinctrl nodes using labels instead of paths ARM: dts: Include exynos5250-pinctrl after the nodes were defined for exynos5250 ARM: dts: Enable thermal-zones for exynos5422-odroidxu3 ARM: dts: Define default thermal-zones for exynos5422 ARM: dts: Enable TMU for exynos5422-odroidxu3 ARM: dts: Add pwm-fan node for exynos5422-odroidxu3 ARM: dts: Use labels for overriding nodes for exynos4210-universal_c210 ARM: dts: Set max17047 over heat and voltage thresholds for exynos4412-trats2 ARM: dts: Enable USB3 regulators for exynos5422-odroidxu3 ARM: dts: Clean up indentation for exynos5410-smdk5410 ARM: dts: add CPU OPP and regulator supply property for exynos4210 ARM: dts: Update video-phy node with syscon phandle for exynos3250 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 28d250c4ed03e148ea98db6e5bb614002606adc2 Merge: fc293f5 d306d08 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 14:59:02 2015 +0200 Merge tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup Samsung cleanup for v4.3 - make the following headers local watchdog-reset, onenand-core, irq-uart, backlight, ata-core, regs-usb-hsotg-phy, spi-core, nand-core, fb-core and regs-srom headers - make the following c file local s5p-dev-mfc, dev-backlight and setup-camif c file - remove keypad-core.h file - drop owner assignment in pmu.c - remove duplicated define of SLEEP_MAGIC - make exynos5420_powerdown_conf() staic * tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: SAMSUNG: remove keypad-core header in plat-samsung ARM: SAMSUNG: local watchdog-reset header in mach-s3c64xx ARM: SAMSUNG: local onenand-core header in mach-s3c64xx ARM: SAMSUNG: local irq-uart header in mach-s3c64xx ARM: SAMSUNG: local backlight header in mach-s3c64xx ARM: SAMSUNG: local ata-core header in mach-s3c64xx ARM: SAMSUNG: local regs-usb-hsotg-phy header in mach-s3c64xx ARM: SAMSUNG: local spi-core header in mach-s3c24xx ARM: SAMSUNG: local nand-core header in mach-s3c24xx ARM: SAMSUNG: local fb-core header in mach-s3c24xx ARM: SAMSUNG: local regs-srom header in mach-exynos ARM: SAMSUNG: make local s5p-dev-mfc in mach-exynos ARM: SAMSUNG: make local dev-backlight in mach-s3c64xx ARM: SAMSUNG: make local setup-camif in mach-s3c24xx ARM: EXYNOS: Drop owner assignment in pmu.c ARM: EXYNOS: Remove duplicated define of SLEEP_MAGIC ARM: EXYNOS: Make local function static Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7111cddd518f7d51d72118b3cb42a8c6d3a00401 Author: William Towle <william.towle@xxxxxxxxxxxxxxx> Date: Thu Jul 23 09:21:34 2015 -0300 [media] media: adv7604: reduce support to first (digital) input Using adv7611_read_cable_det() for ADV7612 means that full support for '.max_port = ADV7604_PAD_HDMI_PORT_B,' isn't available due to the need for multiple port reads to determine cable detection, and an agreed mechanism for communicating the separate statuses. This patch replaces adv7611_read_cable_det() with a functionally identical copy, commented appropriately. Earlier submissions [leading to commit 8331d30b] also set .cp_csc, which is used in a cp_read() call within adv76xx_log_status(). Signed-off-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c1362384a85e429cd4e6f5fd65f130770224bcef Author: William Towle <william.towle@xxxxxxxxxxxxxxx> Date: Thu Jul 23 09:21:33 2015 -0300 [media] media: adv7604: fix probe of ADV7611/7612 Prior to commit f862f57d ("[media] media: i2c: ADV7604: Migrate to regmap"), the local variable 'val' contained the combined register reads used in the chipset version ID test. Restore this expectation so that the comparison works as it used to. Signed-off-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 16225ea7fa6843482c562f033b7ec270651636e9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:40 2015 -0300 [media] soc_camera: always release queue for queue owner Always release the queue if the owner closes its filehandle and not when it is the last open filehandle. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2d703835b02c0d1adbea4b1eeac188be8e76710b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:39 2015 -0300 [media] soc_camera: pass on streamoff error If streamoff returned an error, then pass that on to the caller. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9f317de424dfb57d8c3d3152ace24904bc402810 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:38 2015 -0300 [media] soc_camera: compliance fixes - REQBUFS(0) will stop streaming, free buffers and release the file ownership. - Return ENOTTY for create_bufs for a vb1 driver - Return EBUSY if there is a different streaming owner and set the new owner on success. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eb01b1bca9ac7644f178384a594881f2b3433773 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:37 2015 -0300 [media] soc_camera: fix expbuf support - For vb1 drivers just return -ENOTTY. - For vb2 drivers allow vb2_expbuf without there being a stream owner: the vb2_expbuf function will return the correct error message in that case. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d53c0f72757664d9011263cf655f49959d644028 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:36 2015 -0300 [media] soc_camera: fix enum_input Fill in the std field from the video_device tvnorms field. This fixes a v4l2-compliance failure. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fd41c1af4ed14f9bc8591687c29d8a21d5a63d51 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:35 2015 -0300 [media] sh_mobile_ceu_camera: set field to FIELD_NONE Make sure that 'field' isn't FIELD_ANY when the driver is first loaded. Fixes a v4l2-compliance failure. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 31d38d33d79fe48258c54474a411b201833016f3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:34 2015 -0300 [media] sh_mobile_ceu_camera: fix querycap Fill in the bus_info and driver fields. Found by v4l2-compliance. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d9db01fbab33d7644934ca1c71b1d6908dd56a7f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:33 2015 -0300 [media] mt9t112: JPEG -> SRGB The JPEG colorspace should only be used for JPEG encoded images. This is just a regular sRGB sensor. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 517ef25521ad7fd61ec411871525ebc28b2170a6 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:32 2015 -0300 [media] ak881x: simplify standard checks Simplify confusing conditions. This also swaps the checks for NTSC and PAL: to be consistent with other drivers check for NTSC first. So if the user sets both NTSC and PAL bits, then NTSC wins. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1f3375e0b257d086efe2b7d3d705e47c3e4a6c2d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:31 2015 -0300 [media] tw9910: init priv->scale and update standard When the standard changes the VACTIVE and VDELAY values need to be updated. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9212e1d8722d28a06a763f46b783881dcde1fb34 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:30 2015 -0300 [media] tw9910: don't use COLORSPACE_JPEG This is an SDTV video receiver, so the colorspace should be SMPTE170M. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fc293f5f2a2d94b889666c3dc3faa09f6b55e3e3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 14:43:05 2015 +0200 ARM: shmobile: Fix mismerges Turns out I fumbled a couple of the merge resolutions for marzen board removal. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 073b795efb5c3ed8ddfea4042d5d0d3f8e4409e8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:28 2015 -0300 [media] sh-veu: initialize timestamp_flags and copy timestamp info This field wasn't set, causing WARN_ON's from the vb2 core. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7776f8e3f8708787d0d70aa08dedba714b2b54af Merge: bc0195a 2cc6b81 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 14:38:36 2015 +0200 Merge tag 'samsung-non-critical-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/fixes-non-critical Samsung non-critical fixes for v4.3 - fix sparse warning for returning iomem - fix clock-frequency of display timing0 for exynos3250-rinato * tag 'samsung-non-critical-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: Use IOMEM_ERR_PTR when function returns iomem ARM: dts: fix clock-frequency of display timing0 for exynos3250-rinato Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0695726e85b45f3298f64fa4cee89f40f923fb8c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Aug 10 13:34:08 2015 +0200 drm/i915: Use CONFIG_DRM_FBDEV_EMULATION Instead of our own duplicated one. This fixes a bug in the driver unload code if DRM_FBDEV_EMULATION=n but DRM_I915_FBDEV=y because we try to unregister the nonexistent fbdev drm_framebuffer. Cc: Archit Taneja <architt@xxxxxxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reported-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 42a7b32b73d6bf22e4bdd7bf68746e2d71f4cd8d Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:58:11 2015 -0600 xfrm: Add oif to dst lookups Rules can be installed that direct route lookups to specific tables based on oif. Plumb the oif through the xfrm lookups so it gets set in the flow struct and passed to the resolver routines. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit df367561ffe5a66cd0b2970fdb8897d5487d38e6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:34 2015 +0200 net/xfrm: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit eae8dee992af622fd992cb2370cd596ac80ef141 Author: Thomas Egerer <thomas.egerer@xxxxxxxxxxx> Date: Mon Jul 27 10:50:19 2015 +0200 xfrm6: Fix IPv6 ECN decapsulation Using ipv6_get_dsfield on the outer IP header implies that inner and outer header are of the the same address family. For interfamily tunnels, particularly 646, the code reading the DSCP field obtains the wrong values (IHL and the upper four bits of the DSCP field). This can cause the code to detect a congestion encoutered state in the outer header and enable the corresponding bits in the inner header, too. Since the DSCP field is stored in the xfrm mode common buffer independently from the IP version of the outer header, it's safe (and correct) to take this value from there. Signed-off-by: Thomas Egerer <thomas.egerer@xxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 267897a4708fd7a0592333f33a4a7c393c999ab7 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Apr 21 11:14:44 2015 -0300 [media] tda10071: implement DVBv5 statistics Implement DVBv5 CNR, signal strength, BER and block errors. Wrap legacy DVBv3 statistics to DVBv5 internally. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4c4acb7a7e81e41901825ca2afb064ada672b39c Author: Antti Palosaari <crope@xxxxxx> Date: Tue Apr 21 11:16:44 2015 -0300 [media] tda10071: do not get_frontend() when not ready This is a bit hack, but returning error when driver is not tuned yet causes DVBv5 zap stop polling DVBv5 statistics. Thus return 0 even callback is called during invalid device state. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e14432a5b7302c1f5c6c094de176ae111697bbab Author: Antti Palosaari <crope@xxxxxx> Date: Tue Apr 21 09:58:15 2015 -0300 [media] tda10071: protect firmware command exec with mutex There should be clearly some lock in order to make sure firmware command in execution is not disturbed by another command. It has worked as callbacks are serialized somehow pretty well and command execution happens usually without any delays. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 308ac9143ee2208f54d061eca54a89da509b5d92 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Aug 8 21:40:01 2015 +0200 netfilter: nf_conntrack: push zone object into functions This patch replaces the zone id which is pushed down into functions with the actual zone object. It's a bigger one-time change, but needed for later on extending zones with a direction parameter, and thus decoupling this additional information from all call-sites. No functional changes in this patch. The default zone becomes a global const object, namely nf_ct_zone_dflt and will be returned directly in various cases, one being, when there's f.e. no zoning support. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 54ab48ed5db69212b9b6abc88d21cbbd5c16e7c3 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 22:21:44 2015 -0300 [media] tda10071: convert to regmap I2C API Use regmap API for I2C operations. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fca3e00760edc18955483b25d835630ee1bf3e97 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 20:04:00 2015 -0300 [media] tda10071: rename device state struct to dev Rename device state struct from 'priv' to 'dev'. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 59ca2ce1d5c289e73173d91a139dd4c6cbeb75a2 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 19:54:56 2015 -0300 [media] tda10071: remove legacy media attach All users are now using I2C binding and old attach could be removed. Use I2C client for proper logging at the same. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3250a550c48d075b01226f5561c21bc3a1e63dae Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 18:57:03 2015 -0300 [media] a8293: coding style issues Remove FSF address from license. Indent parameter correctly. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4bef67e311d6f9908eeae054d5b8611138956abc Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 18:47:44 2015 -0300 [media] a8293: improve LNB register programming logic On power-on LNB power supply voltage is disabled, due to that no need to disable it during probe. Tone is supply is hard-coded as external tone coming from the demodulator. Program both voltage and tone on set_voltage(). Use register cache to prevent unneeded programming. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2c509b866bd299ab83cf1a4fb478055154845c8a Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 18:16:19 2015 -0300 [media] a8293: use i2c_master_send / i2c_master_recv for I2C I/O As driver is now proper I2C client driver, we could use correct functions for I2C I/O. Also rename state from priv to dev. Fix logging too. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 55881b4fb50976a2956e6de3001bbe0a37e8be9a Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 17:39:33 2015 -0300 [media] a8293: remove legacy media attach Remove legacy media attach as all users are on I2C bindings now. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d029419dc6176ee860ef73baceec92de3efc4704 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Apr 16 22:55:31 2015 -0300 [media] em28xx: remove unused a8293 SEC config Devices that were using a8293 SEC are converted to I2C platform data thus that old config structure is left unused. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cebbb7396b4493cf72e832cb2aa06f42b1957c7c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Aug 11 09:54:59 2015 +0200 drm/core: Set mode to NULL when connectors in a set drops to 0. Without this when a MST connector is removed drm_atomic_helper_set_config can complain about set->mode && !set->num_connectors. ------------[ cut here ]------------ WARNING: CPU: 2 PID: 2403 at drivers/gpu/drm/drm_atomic_helper.c:1673 drm_atomic_helper_set_config+0x22e/0x420() CPU: 2 PID: 2403 Comm: kms_flip Not tainted 4.2.0-rc5 #4233 Hardware name: NUC5i7RYB, BIOS RYBDWi35.86A.0246.2015.0309.1355 03/09/2015 ffffffff81ac75e8 ffff88004e4ffbf8 ffffffff81714c34 0000000080000000 0000000000000000 ffff88004e4ffc38 ffffffff8107bf81 ffff88004e4ffc48 ffff8800d8ca0690 ffff8800d8d7a080 ffff8800d8cc2290 ffff8800d07bc9f0 Call Trace: [<ffffffff81714c34>] dump_stack+0x4f/0x7b [<ffffffff8107bf81>] warn_slowpath_common+0x81/0xc0 [<ffffffff8107c065>] warn_slowpath_null+0x15/0x20 [<ffffffff813d9e3e>] drm_atomic_helper_set_config+0x22e/0x420 [<ffffffff813da174>] ? drm_atomic_helper_plane_set_property+0x84/0xc0 [<ffffffff813ee101>] drm_mode_set_config_internal+0x61/0x100 [<ffffffff813dc4ed>] restore_fbdev_mode+0xbd/0xe0 [<ffffffff813de1e4>] drm_fb_helper_restore_fbdev_mode_unlocked+0x24/0x70 [<ffffffffc0123d11>] intel_fbdev_restore_mode+0x21/0x80 [i915] [<ffffffffc014bf69>] i915_driver_lastclose+0x9/0x10 [i915] [<ffffffff813e2429>] drm_lastclose+0x29/0x130 [<ffffffff813e2844>] drm_release+0x314/0x500 [<ffffffff81194795>] __fput+0xe5/0x1f0 [<ffffffff811948d9>] ____fput+0x9/0x10 [<ffffffff810968d8>] task_work_run+0x88/0xb0 [<ffffffff8107d53f>] do_exit+0x37f/0xa90 [<ffffffff8127e258>] ? selinux_file_ioctl+0x48/0xc0 [<ffffffff81277dfe>] ? security_file_ioctl+0x3e/0x60 [<ffffffff8107ec80>] do_group_exit+0x40/0xa0 [<ffffffff8107ecef>] SyS_exit_group+0xf/0x10 [<ffffffff8171bdd7>] entry_SYSCALL_64_fastpath+0x12/0x6a ---[ end trace 0daf358c49351567 ]--- Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 992cbf19b32900efa17850b9fa0031fd623edd4d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 6 15:06:40 2015 +0200 drm/atomic: Call ww_acquire_done after check phase is complete We want to make sure that no one tries to acquire more locks and states, and ww mutexes provide debug facilities for that. So use them. v2: Only call acquire_done when ->atomic_check was successful to avoid falling over an -EDEADLK (spotted by Maarten). Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 460e8e2cf464dee6f8a3fc1b81340d818d1ad9e4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 29 12:51:41 2015 +0200 drm/atomic: Paper over locking WARN in default_state_clear In commit 6f75cea66c8dd043ced282016b21a639af176642 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Nov 19 18:38:07 2014 +0100 drm/atomic: Only destroy connector states with connection mutex held I tried to fix races of atomic commits against connector hot-unplugging. The idea is to ensure lifetimes by holding the connection_mutex long enough. That works for synchronous commits, but not for async ones. For async atomic commit we really need to fix up connector lifetimes for real. But that's a much bigger task, so just add more duct-tape: For cleaning up connector states we currently don't need the connector itself. So NULL it out and remove the locking check. Of course that check was to protect the entire sequence, but the modeset itself should be save since currently DP MST hot-removal does a dpms-off. And that should synchronize with any outstanding async atomic commit. Or at least that's my hope, this is all a giant mess. Reported-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit fbb40b285713cbb992466df8c838edb217e98fa6 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Aug 10 11:55:37 2015 +0200 drm/edid: Use ARRAY_SIZE in drm_add_modes_noedid Spotted while reading code for random reasons. Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 2143287d4ed7b7c712aa053f0fb592cdcb71525e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:46 2015 +0200 drm/qxl: Don't take dev->struct_mutex in bo_force_delete It really doesn't protect anything which doesn't have other locks already. It also doesn't seem to be wired up into the driver unload code fwiw, but that's a different issue. Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c325f88d7d8a58fbfaaa5bb9c1d39f2cb4fba827 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:45 2015 +0200 drm/nouveau: Don't take dev->struct_mutex in ttm_fini This is only called in driver load/unload paths, no need to grab any locks at all. Also, ttm takes care of itself anyway. Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 648a4ce7ca209db92db5c3cecb05c14d147a2e6a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:42 2015 +0200 drm/rockchip: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Aside: I stumbled over the mmap handler which directly does a dma_mmap_attrs. But totally fails to grab a reference on the underlying object and hence looks like it happily just leaks the ptes since there's no guarantee the mmap isn't still around when gem_free_object is called. Which the kerneldoc of dma_mmap_attrs explicitly forbids. v2: Fixup compile fail 0-day spotted. Cc: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8d59604547c45332062bde1e25364a9820145fb1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:18:22 2015 -0300 [media] bt819/saa7110/vpx3220: remove legacy control ops The zoran driver has now been converted to the control framework which means that these three subdevice drivers no longer need to support the legacy core control ops since the last bridge driver that needed that has now been converted. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e56c597b027ba95a9ce6719462793da4a91d27d2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:18:21 2015 -0300 [media] zoran: convert to the control framework and to v4l2_fh Switch this driver to the control framework and to v4l2_fh for handling control events. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7b962d43ef875f3a524e92ca944816b862470e21 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:18:20 2015 -0300 [media] zoran: use standard core lock Use the standard core lock to take care of serializing ioctl calls and to serialize file operations. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8148802f186bc09b7d61f9be5cb8d287928c8b50 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:18:19 2015 -0300 [media] zoran: remove unused read/write functions The zoran_read/write functions always return an error. Just remove them. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 160d75724ae7db78112bbdef447f1a7b0f40bdf4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:18:18 2015 -0300 [media] zoran: remove unnecessary memset There is no need to zero the v4l2_capability struct, the v4l2 core has done that already. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0a6b9b04dbe81d781720e077aea147805af0ee87 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:33 2015 -0300 [media] fsl-viu: drop format names The names of the pixelformats is set by the core. So there no longer is any need for drivers to fill it in. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9acc8093282456f920f7d3e34b0b1b58c3f07dbd Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:32 2015 -0300 [media] fsl-viu: small fixes - Fix an off-by-one index check in vidioc_enum_fmt() - Fill in the pix.sizeimage field in vidioc_try_fmt_cap() - Fix an off-by-one index check in vidioc_s_input() Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7fe0b3d7c721ddb5a37e868ad27c2476b4042a54 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:31 2015 -0300 [media] fsl-viu: add control event support Convert the driver to use v4l2_fh in order to support control events. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e299bc99bfa7188d3b52c9aed28e0882f5abd137 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:30 2015 -0300 [media] fsl-viu: fill in colorspace, always set field to interlaced - fill in the missing colorspace value. - don't reject incorrect field values, always replace with a valid value. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 282b3fb831d64b38cac67a912d99ca3dd547aac9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:29 2015 -0300 [media] fsl-viu: fill in bus_info in vidioc_querycap The bus_info field was never filled. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1fea3d6069ae446e084177430f66c11cd4fc8751 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:28 2015 -0300 [media] fsl-viu: convert to the control framework Interestingly enough, the existing control handling code basically did nothing. At least the new code will inherit the controls from the saa7115 driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit df3cfa6d9265f10fabc3c44f852d6b6bbf26029e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:38 2015 -0300 [media] usbvision: move init code to probe() These things are only initialized if you start streaming video, but they are also used in the disconnect function. So just init them always during probe time. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 94384014f6ef8091bf31b68721761e68f77ad214 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:37 2015 -0300 [media] usbvision: fix standards for S-Video/Composite inputs The standards supported by S-Video and Composite inputs are not limited by PAL, so make it more generic. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8926e8453476ef3c714d659803068b0f26dd656c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:36 2015 -0300 [media] usbvision: fix DMA from stack warnings In various places the stack was used to provide buffers for USB data, but this should be allocated memory. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e2c84ccb0fbe5e524d15bb09c042a6ca634adaed Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:35 2015 -0300 [media] usbvision: fix locking error If remove_pending is non-zero, then the v4l2_lock is never unlocked. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4eeda6faaec4b11e3738ba3ad533d440f628faca Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:34 2015 -0300 [media] usbvision: set field and colorspace Set the colorspace and field in vidioc_try_fmt_vid_cap(). Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 64d416ec965360734beb295fe43c24f36ab465ca Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:33 2015 -0300 [media] usbvision: frequency fixes - setup initial radio and tv frequencies. - set/get the correct frequency (radio vs tv). - disable tuner/freq ioctls if there is no tuner. - fix some tuner index checks. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cbe12cc66e9c03ebd62a5937aada4240924dbe75 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:32 2015 -0300 [media] usbvision: the radio device node has wrong caps The radio device node had the same caps as the video node. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 601ecab34bab60896aa135ebde0d2b629d491821 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:31 2015 -0300 [media] usbvision: remove g/s_audio and for radio remove enum/g/s_input The g/s_audio ioctls didn't do anything, so remove them all for both video and radio nodes and remove V4L2_CAP_AUDIO. The enum/g/s_input ioctls are invalid for radio nodes, so remove them from the radio ioctl_ops. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2b43665ffbca7fe38617442cf731332afc94ead2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:30 2015 -0300 [media] usbvision: return valid error in usbvision_register_video() Don't return -1, return a proper error code. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fd95870d1bd6d7da7e7d0c550bfaae6d76f0799f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:29 2015 -0300 [media] usbvision: convert to the control framework Convert this driver to the control framework and struct v4l2_fh (needed for handling control events). Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 62e259493d779b0e2c1a675ab733136511310821 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:28 2015 -0300 [media] usbvision: remove power_on_at_open and timed power off This causes lots of problems and is *very* slow as well. One of the main problems is that this prohibits the use of the control framework since subdevs will be unloaded on power off which is not allowed as long as they are used by a usb device. Apparently the reason for doing this is to turn off a noisy tuner. My hardware has no problem with that, and I wonder whether the hardware with that noisy tuner wasn't just functioning improperly as I have never heard of noisy tuners. Contact me if you have one of those devices and I can take a look whether the tuner can't be powered off if necessary by letting the tuner subdevice go into standby mode. Unloading the tuner module is just evil and is not the right approach. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ed099f66dadd8bac93571fb28b05bdae066b39a2 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Jul 13 20:36:50 2015 -0300 [media] DocBook: Fix typo in intro.xml This patch fix spelling typos in intro.xml. This xml file is not created from comments within source, I fix the xml file. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: removed mention of obsolete devfs] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 207dab5ff84b7d8d9c6e580b6065465f061b76dd Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 08:23:05 2015 -0300 [media] MAINTAINERS: V4L2: PLATFORM: Add entry for Renesas JPEG Processing Unit driver Update RENESAS JPU driver maintainer in MAINTAINERS file. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2c42cdbaec56a9565a2717b450506150c9c55103 Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 08:23:03 2015 -0300 [media] V4L2: platform: Add Renesas R-Car JPEG codec driver Here's the driver for the Renesas R-Car JPEG processing unit. The driver is implemented within the V4L2 framework as a memory-to-memory device. It presents two video nodes to userspace, one for the encoding part, and one for the decoding part. It was found that the only working mode for encoding is no markers output, so we generate markers with software. In the current version of driver we also use software JPEG header parsing because with hardware parsing performance is lower than desired. >From a userspace point of view the process is typical (S_FMT, REQBUF, optionally QUERYBUF, QBUF, STREAMON, DQBUF) for both the source and destination queues. STREAMON can return -EINVAL in case of mismatch of output and capture queues format. Also during decoding driver can return buffers if queued buffer with JPEG image contains image with inappropriate subsampling (e.g. 4:2:0 in JPEG and 4:2:2 in capture). If JPEG image and queue format dimensions differ driver will return buffer on QBUF with VB2_BUF_STATE_ERROR flag. During encoding the available formats are: V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16, V4L2_PIX_FMT_NV16M for source and V4L2_PIX_FMT_JPEG for destination. During decoding the available formats are: V4L2_PIX_FMT_JPEG for source and V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_NV16M, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16 for destination. Performance of current version: 1280x800 NV12 image encoding/decoding decoding ~122 FPS encoding ~191 FPS Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6951813e66e07f18c9a425c3fbd966947ea401ab Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 08:23:04 2015 -0300 [media] devicetree: bindings: Document Renesas R-Car JPEG Processing Unit Add Renesas R-Car JPEG processing unit driver device tree bindings documentation. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6d7570c42b963004ecfb42d9625c898eb3087b02 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Thu Jul 23 19:28:48 2015 -0300 [media] v4l2-ioctl: Give more information when device_caps are missing Currently, the warning for missing device_caps gives a backtrace like so: [<ffffffff8175c199>] dump_stack+0x45/0x57 [<ffffffff8109ad5a>] warn_slowpath_common+0x8a/0xc0 [<ffffffff8109ae8a>] warn_slowpath_null+0x1a/0x20 [<ffffffffa0237453>] v4l_querycap+0x43/0x80 [videodev] [<ffffffffa0237734>] __video_do_ioctl+0x2a4/0x320 [videodev] [<ffffffff812207e5>] ? do_last+0x195/0x1210 [<ffffffffa023a11e>] video_usercopy+0x22e/0x5b0 [videodev] [<ffffffffa0237490>] ? v4l_querycap+0x80/0x80 [videodev] [<ffffffffa023a4b5>] video_ioctl2+0x15/0x20 [videodev] [<ffffffffa0233733>] v4l2_ioctl+0x113/0x150 [videodev] [<ffffffff81225798>] do_vfs_ioctl+0x2f8/0x4f0 [<ffffffff8113b2d4>] ? __audit_syscall_entry+0xb4/0x110 [<ffffffff81022d7c>] ? do_audit_syscall_entry+0x6c/0x70 [<ffffffff81225a11>] SyS_ioctl+0x81/0xa0 [<ffffffff8113b526>] ? __audit_syscall_exit+0x1f6/0x2a0 [<ffffffff81763549>] system_call_fastpath+0x12/0x17 This indicates that device_caps are missing but doesn't give much of a clue which driver is actually at fault. Improve the warning output by showing the capabilities and the responsible driver. Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b0527115af80970d65ae37c468e05e7bde82ce81 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Jul 20 06:47:23 2015 -0300 [media] tc358743: remove unused variable The bt pointer was never used, remove it. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e752577ed7bf55c81e10343fced8b378cda2b63b Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Jul 20 04:58:24 2015 -0300 [media] v4l2-mem2mem: drop lock in v4l2_m2m_fop_mmap The v4l2_m2m_fop_mmap function takes the core mutex, but this will result in a potential circular locking dependency: [ 262.517164] ====================================================== [ 262.517166] [ INFO: possible circular locking dependency detected ] [ 262.517169] 4.2.0-rc2-koryphon #844 Not tainted [ 262.517171] ------------------------------------------------------- [ 262.517173] v4l2-compliance/1379 is trying to acquire lock: [ 262.517175] (&dev->dev_mutex){+.+.+.}, at: [<ffffffffa000ddab>] v4l2_m2m_fop_mmap+0x2b/0x90 [v4l2_mem2mem] [ 262.517187] but task is already holding lock: [ 262.517189] (&mm->mmap_sem){++++++}, at: [<ffffffff81159309>] vm_mmap_pgoff+0x69/0xc0 [ 262.517199] which lock already depends on the new lock. [ 262.517202] the existing dependency chain (in reverse order) is: [ 262.517204] -> #1 (&mm->mmap_sem){++++++}: [ 262.517209] [<ffffffff810d0e6b>] __lock_acquire+0x62b/0xe80 [ 262.517215] [<ffffffff810d2095>] lock_acquire+0x65/0x90 [ 262.517218] [<ffffffff811612e5>] __might_fault+0x75/0xa0 [ 262.517222] [<ffffffffa06dead9>] video_usercopy+0x3e9/0x4e0 [videodev] [ 262.517231] [<ffffffffa06debe0>] video_ioctl2+0x10/0x20 [videodev] [ 262.517238] [<ffffffffa06d8663>] v4l2_ioctl+0xc3/0xe0 [videodev] [ 262.517243] [<ffffffff811a8cac>] do_vfs_ioctl+0x2fc/0x550 [ 262.517248] [<ffffffff811a8f74>] SyS_ioctl+0x74/0x80 [ 262.517252] [<ffffffff81a4d2ee>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 262.517258] -> #0 (&dev->dev_mutex){+.+.+.}: [ 262.517262] [<ffffffff810cf464>] validate_chain.isra.38+0xd04/0x1170 [ 262.517266] [<ffffffff810d0e6b>] __lock_acquire+0x62b/0xe80 [ 262.517270] [<ffffffff810d2095>] lock_acquire+0x65/0x90 [ 262.517273] [<ffffffff81a48e3c>] mutex_lock_interruptible_nested+0x6c/0x4b0 [ 262.517279] [<ffffffffa000ddab>] v4l2_m2m_fop_mmap+0x2b/0x90 [v4l2_mem2mem] [ 262.517284] [<ffffffffa06d80ff>] v4l2_mmap+0x4f/0x90 [videodev] [ 262.517288] [<ffffffff8116b06c>] mmap_region+0x38c/0x5b0 [ 262.517293] [<ffffffff8116b585>] do_mmap_pgoff+0x2f5/0x3e0 [ 262.517297] [<ffffffff8115932a>] vm_mmap_pgoff+0x8a/0xc0 [ 262.517300] [<ffffffff81169bab>] SyS_mmap_pgoff+0x1cb/0x270 [ 262.517304] [<ffffffff8100876d>] SyS_mmap+0x1d/0x20 [ 262.517309] [<ffffffff81a4d2ee>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 262.517313] other info that might help us debug this: [ 262.517315] Possible unsafe locking scenario: [ 262.517318] CPU0 CPU1 [ 262.517319] ---- ---- [ 262.517321] lock(&mm->mmap_sem); [ 262.517324] lock(&dev->dev_mutex); [ 262.517327] lock(&mm->mmap_sem); [ 262.517329] lock(&dev->dev_mutex); [ 262.517332] *** DEADLOCK *** Since vb2_fop_mmap doesn't take the lock, neither should v4l2_m2m_fop_mmap. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Tested-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7a1d4e7c064c0eddd90f0204cecd294d0dc5b36a Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Fri Jul 3 07:04:38 2015 -0300 [media] s5p-jpeg: Eliminate double kfree() video_unregister_device() calls device_unregister(), which calls put_device(), which calls kobject_put(), and if this is the last reference then kobject_release() is called, which calls kobject_cleanup(), which calls ktype's release method which happens to be device_release() in this case, which calls dev->release(), which happens to be v4l2_device_release() in this case, which calls vdev->release(), which happens to be video_device_release(). But video_device_release() is called explicitly both in error recovery path of s5p_jpeg_probe() and in s5p_jpeg_remove(). The pointers in question are not nullified between the two calls, so this is harmful. This patch fixes the driver so that video_device_release() is not called twice for the same object. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1af21985473d72965807ef5e5cc02528aa8c01e4 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Jun 3 07:36:23 2015 -0300 [media] s5p-mfc: add additional check for incorrect memory configuration MFC hardware is known to trash random memory if one tries to use a buffer which has lower DMA addresses than the configured DMA base address. This patch adds a check for this case and proper error handling. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Kamil Debski <kamil@xxxxxxxxx> [s.nawrocki@xxxxxxxxxxx: fixed typo (addres -> address] Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 490a977a1038a7f6a6edf30b2555a6890cf24cab Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Jun 3 07:36:22 2015 -0300 [media] s5p-mfc: add return value check in mfc_sys_init_cmd alloc_dev_context_buffer method might fail, so add proper return value check. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Kamil Debski <kamil@xxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d44da04682033ad4c34d97861aef8ad5f7a8c2b5 Author: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Date: Wed May 13 04:25:25 2015 -0300 [media] s5p-mfc: fix state check from encoder queue_setup MFCINST_GOT_INST state is set to encoder context with set_format only for capture buffer. In queue_setup of encoder called during reqbufs, it is checked MFCINST_GOT_INST state for both capture and output buffer. So this patch fixes encoder to check MFCINST_GOT_INST state only for capture buffer from queue_setup. Signed-off-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4f50efadcb9710876c6d02f60931e5fcc896ddaf Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed Jun 10 06:02:03 2015 -0300 [media] s5p-tv: fix wait_event_timeout return handling event API conformance testing with coccinelle spatches are being used to locate API usage inconsistencies this triggert with: ./drivers/media/platform/s5p-tv/mixer_reg.c:364 incorrect check for negative return Return type of wait_event_timeout is signed long not int and the return type is >=0 always thus the negative check is unnecessary. An appropriately named variable of type long is inserted and the call fixed up aswell as the negative return check dropped. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 264d1cf86c9f801339d272c3067d98eef91611a0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:45 2015 -0300 [media] s5p-tv: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e4001885ca4fa3107898205503f2552ed50f4f02 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Aug 11 09:15:30 2015 +0800 spi: mt65xx: Fix module alias Remove extra space and make the alias matches driver name. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a4401687c11def29fe5a9b23ab98bf7ab1dce61 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Aug 8 17:51:58 2015 +0530 ARC: Enable optimistic spinning for LLSC config Suggested-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit b7182d1a788461c36bad5a13b78d0779a6376f5c Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue Aug 11 12:08:32 2015 +0300 MAINTAINERS: add git tree for the arc architecture Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 72d4d0e48995c91ddf5d1f86612c979eca95bd06 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 11 00:29:55 2015 +0300 quota: remove an unneeded condition We know "ret" is zero here so we can remove this condition. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit 41450b1b5ba101bf470b4fdf0407b30696e86bd3 Merge: fe14f39 6ac7ada Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 11 09:40:16 2015 +0200 Merge branch 'for-linus' into for-next commit 33836ee98533fd27baa89dabca48f8d4e69dd438 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Mon Aug 10 22:41:43 2015 +0800 hwmon:change sht15_reverse() This change sht15_reverse() to be generic bitrev8(). Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit cfca3789e0678c57e09dfb1a09fdfce427b7c92e Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Aug 7 20:55:59 2015 -0700 hwmon: (pmbus) Add device IDs for TPS544{B,C}2{0,5} Add device IDs and references for Texas Instruments TPS544B20, TPS544B25, TPS544C20, and TPS544C25 to the generic PMBus driver. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 6d212b8adce4ddaa20229f781cc86bccb396a9fe Author: Sebastian Krzyszkowiak <dos@xxxxxxxxxxxxx> Date: Sun Jul 19 01:10:21 2015 +0200 ideapad-laptop: add alternative representation for Yoga 2 to DMI table There is at least one (mine) Yoga 2 Pro in existence that has incorrect product version stored in DMI (reading as "INVALID"), causing it to not be recognized as Yoga 2 by ideapad-laptop module, which in turn causes non-existent hardware rfkills to be always reported as blocked. This change adds a second check by board name, which is "Yoga2". Looks like it also happens to be "INVALID" on some other Yoga 2 machines where product version is correct instead, so the original check is left intact to catch both cases. Signed-off-by: Sebastian Krzyszkowiak <dos@xxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 97ade7697bb104523417d0f9b5e38a8bf55ed7f1 Author: Å?ukasz Stelmach <stlman@xxxxxxxxx> Date: Wed Jul 29 21:31:23 2015 +0200 asus-laptop: Add key found on Asus F3M Asus F3M has two keys labeled with an icon of a touchpad. The first, reported as 0x6B is next to the power key and the second, reported as 0x6A, is F9 combined with Fn button. When I was pressing the latter, I was getting "Unknown key 6a pressed" message before applying this patch. Asus F3M does not support WMI so the commit does not update key mappings in the asus-nb-wmi.c file. I have not tested this mapping on any other Asus laptop. Signed-off-by: Å?ukasz Stelmach <stlman@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit e88e28795cb043e65a5197238471c2f573fef3cd Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Aug 3 11:44:08 2015 -0600 MAINTAINERS: Remove Toshiba Linux mailing list address As of March 31th 2015, the mailing-list service finished [1]. This patch simply removes such address. [1] http://goo.gl/F6jS5r Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 07a51cd3794960548627a27aae68c1446341db32 Author: Atzm Watanabe <atzm@xxxxxxxxx> Date: Mon Aug 10 23:39:09 2015 +0900 vxlan: fix fdb_dump index calculation When too many remotes are bound to an FDB entry, index may not be increased. This problem will be caused on the large scale environment that is based on the unicast default destination, for instance. Signed-off-by: Atzm Watanabe <atzm@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85998229161f8a83863c371aa021bdb0887b9a63 Author: Yong Li <sdliyong@xxxxxxxxx> Date: Tue Aug 11 10:43:05 2015 +0800 cc2520: set the default fifo pin value from platform data When the device tree support is disabled, the fifo_pin is uninitialized, this patch will set the fifo_pin value based on platform data Signed-off-by: Yong Li <sdliyong@xxxxxxxxx> Acked-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ed8db18dea26850a73075d0aefcaebb78cc1fe19 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Aug 10 09:54:28 2015 -0300 mellanox: mlxsw: Use '%zx' to print size_t format Use '%zx' to print size_t format in order to fix the following build warning: drivers/net/ethernet/mellanox/mlxsw/item.h:65:3: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'size_t' [-Wformat=] Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa92a31b3335478c545cdc8e79e1e9b788184e6b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 10 10:45:45 2015 +0200 ideapad-laptop: Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list Like some of the other Yoga models the Lenovo Yoga 3 14 does not have a hw rfkill switch, and trying to read the hw rfkill switch through the ideapad module causes it to always reported blocking breaking wifi. This commit adds the Lenovo Yoga 3 14 to the no_hw_rfkill dmi list, fixing the wifi breakage. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1239050 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 92b19ff50e8f242392d78b2aacc5b5b672f1796b Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 10 23:07:06 2015 -0400 cleanup IORESOURCE_CACHEABLE vs ioremap() Quoting Arnd: I was thinking the opposite approach and basically removing all uses of IORESOURCE_CACHEABLE from the kernel. There are only a handful of them.and we can probably replace them all with hardcoded ioremap_cached() calls in the cases they are actually useful. All existing usages of IORESOURCE_CACHEABLE call ioremap() instead of ioremap_nocache() if the resource is cacheable, however ioremap() is uncached by default. Clearly none of the existing usages care about the cacheability. Particularly devm_ioremap_resource() never worked as advertised since it always fell back to plain ioremap(). Clean this up as the new direction we want is to convert ioremap_<type>() usages to memremap(..., flags). Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 2584cf83578c26db144730ef498f4070f82ee3ea Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 10 23:07:05 2015 -0400 arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead Preparation for uniform definition of ioremap, ioremap_wc, ioremap_wt, and ioremap_cache, tree-wide. Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 124fe20d94630b6f173dae5eb815e6e6e350c72d Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 10 23:07:05 2015 -0400 mm: enhance region_is_ram() to region_intersects() region_is_ram() is used to prevent the establishment of aliased mappings to physical "System RAM" with incompatible cache settings. However, it uses "-1" to indicate both "unknown" memory ranges (ranges not described by platform firmware) and "mixed" ranges (where the parameters describe a range that partially overlaps "System RAM"). Fix this up by explicitly tracking the "unknown" vs "mixed" resource cases and returning REGION_INTERSECTS, REGION_MIXED, or REGION_DISJOINT. This re-write also adds support for detecting when the requested region completely eclipses all of a resource. Note, the implementation treats overlaps between "unknown" and the requested memory type as REGION_INTERSECTS. Finally, other memory types can be passed in by name, for now the only usage "System RAM". Suggested-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Reviewed-by: Toshi Kani <toshi.kani@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 5ab16579020edb79e215b401399f88c7e07fdaf9 Merge: 459c15e 41a2d57 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Tue Aug 11 11:18:53 2015 +1000 Merge branch 'smack-for-4.3' of https://github.com/cschaufler/smack-next into next commit a73e99cb67e7438e5ab0c524ae63a8a27616c839 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Mon Aug 10 17:49:51 2015 +0200 staging: ozwpan: Remove from tree Ozwpan is completely unmaintained and potentially a security problem. As this is a staging driver, it should be removed, since it has been abandoned. Cc: Shigekatsu Tateno <shigekatsu.tateno@xxxxxxxxx> Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86d80f973434de24d8a807a92cd59d5ced7bd519 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:24:30 2015 -0400 NFSv4.1/pnfs: Fix atomicity of commit list updates pnfs_layout_mark_request_commit() needs to ensure that it adds the request to the commit list atomically with all the other updates in order to prevent corruption to buckets[ds_commit_idx].wlseg due to races with pnfs_generic_clear_request_commit(). Fixes: 338d00cfef07d ("pnfs: Refactor the *_layout_mark_request_commit...") Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 025bcc154027fc52b1aee192c4599bb6ee6a3c9c Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Aug 3 10:18:10 2015 -0700 HID: wacom: Simplify 'wacom_pl_irq' Unlike other IRQ functions, 'wacom_pl_irq' uses the second element of the 'tool' array to store information about its single pen. This makes the function more difficult to understand (since it doesn't follow the general pattern of other IRQ functions) and prevents the possibility of refactoring how pen state is stored. This patch rewrites 'wacom_pl_irq' to follow the usual IRQ conventions, including storing tool type in 'tool[0]' and implicitly tracking prox with the 'id[0]' variable. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 41a2d5751616e38d1e293e3cb35a6e2bc7a03473 Author: Roman Kubiak <r.kubiak@xxxxxxxxxxx> Date: Mon Aug 10 16:54:25 2015 +0200 Kernel threads excluded from smack checks Adds an ignore case for kernel tasks, so that they can access all resources. Since kernel worker threads are spawned with floor label, they are severely restricted by Smack policy. It is not an issue without onlycap, as these processes also run with root, so CAP_MAC_OVERRIDE kicks in. But with onlycap turned on, there is no way to change the label for these processes. Signed-off-by: Roman Kubiak <r.kubiak@xxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit e5f6450c3f40668de0b9c4cbc53bb345242df78f Author: Jiri Kosina <jikos@xxxxxxxxxx> Date: Sun Aug 9 09:11:34 2015 +0200 MAINTAINERS: update my e-mail address Update my e-mail address to the generic kernel.org one. Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> Signed-off-by: Jiri Kosina <jikos@xxxxxxxxxx> commit 0ff252c1976da5d80db1377eb39b551931e61826 Author: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Date: Mon Aug 10 14:24:17 2015 -0700 Bluetooth: hciuart: Add support QCA chipset for UART QCA61x4 chips have supported sleep feature using In-Band-Sleep commands to enable sleep feature based on H4 protocol. After sending patch/nvm configuration is done, IBS mode will be up and running Signed-off-by: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 83e81961ff7ef75f97756f316caea5aa6bcc19cc Author: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Date: Mon Aug 10 14:24:12 2015 -0700 Bluetooth: btqca: Introduce generic QCA ROME support This is for supporting BT for QCA ROME with vendor specific HCI commands and initialization on the chip. This will have USB/UART implementation both, but for now, adding UART vendor specific commands to patch downloading and set Bluetooth device address using vendor specific command. Signed-off-by: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d3d73f4b38a8ece19846b8fa2519cdc8583f35bb Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 7 13:18:17 2015 +1000 cxl: Compile with -Werror It's a good idea, and it brings us in line with the rest of arch/powerpc. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bec7a630a66a7d688486ae7ceb3f0b5307bdb2c5 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Mon Aug 10 17:15:57 2015 +0800 isdn: Remove reverse_bits(), use revbit8() This change isdn driver, remove reverse_bits() function, use the generic revbit8() function instead. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f3a87326dd4948d21eee8245cde43e8fca9dddf Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 8 22:15:59 2015 +0300 cxgb4: cleanup some indenting Add or remove some tabs so that statements line up correctly. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6bc6d0a88179b732b9a5e40e05099dc219d1b3cb Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 8 17:09:14 2015 +0200 dsa: Support multiple MDIO busses When using a cluster of switches, some topologies will have an MDIO bus per switch, not one for the whole cluster. Allow this to be represented in the device tree, by adding an optional mii-bus property at the switch level. The old platform_device method of instantiation supports this already, so only the device tree binding needs extending with an additional optional phandle. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 966bce38e7fdb75eedaec90e40e4d22b9fbce79f Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 8 17:04:50 2015 +0200 net: dsa: mv88e6352: Use mnemonics for EEPROM registers and bits Add register definitions #defines for accessing the EEPROM. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c73a91b8f944992ec6675fcd34247b9cdf8482ea Merge: fb81139 9f57c67 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 10 14:03:55 2015 -0700 Merge branch 'ovs-gre' Pravin B Shelar says: ==================== GRE: Use flow based tunneling for OVS GRE vport. Following patches make use of new Using GRE tunnel meta data collection feature. This allows us to directly use netdev based GRE tunnel implementation. While doing so I have removed GRE demux API which were targeted for OVS. Most of GRE protocol code is now consolidated in ip_gre module. v5-v4: Fixed Kconfig dependency for vport-gre module. v3-v4: Added interface to ip-gre device to enable meta data collection. While doing this I split second patch into two patches. v2-v3: Add API to create GRE flow based device. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f57c67c379d88a10e8ad676426fee5ae7341b14 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Fri Aug 7 23:51:52 2015 -0700 gre: Remove support for sharing GRE protocol hook. Support for sharing GREPROTO_CISCO port was added so that OVS gre port and kernel GRE devices can co-exist. After flow-based tunneling patches OVS GRE protocol processing is completely moved to ip_gre module. so there is no need for GRE protocol hook. Following patch consolidates GRE protocol related functions into ip_gre module. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2acd1dc3949cd60c571844d495594f05f0351f4 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Fri Aug 7 23:51:47 2015 -0700 openvswitch: Use regular GRE net_device instead of vport Using GRE tunnel meta data collection feature, we can implement OVS GRE vport. This patch removes all of the OVS specific GRE code and make OVS use a ip_gre net_device. Minimal GRE vport is kept to handle compatibility with current userspace application. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e15ea390e6f4466655066d97e22ec66870a042c Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Fri Aug 7 23:51:42 2015 -0700 ip_gre: Add support to collect tunnel metadata. Following patch create new tunnel flag which enable tunnel metadata collection on given device. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9020fde67a6eb77f8130feff633189f99264db1 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Fri Aug 7 23:51:33 2015 -0700 openvswitch: Move tunnel destroy function to oppenvswitch module. This function will be used in gre and geneve vport implementations. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb811395cd5a71b9e94a068f524a6f4a21b67bdb Author: Rick Jones <rick.jones2@xxxxxx> Date: Fri Aug 7 11:10:37 2015 -0700 net: add explicit logging and stat for neighbour table overflow Add an explicit neighbour table overflow message (ratelimited) and statistic to make diagnosing neighbour table overflows tractable in the wild. Diagnosing a neighbour table overflow can be quite difficult in the wild because there is no explicit dmesg logged. Callers to neighbour code seem to use net_dbg_ratelimit when the neighbour call fails which means the "base message" is not emitted and the callback suppressed messages from the ratelimiting can end-up juxtaposed with unrelated messages. Further, a forced garbage collection will increment a stat on each call whether it was successful in freeing-up a table entry or not, so that statistic is only a hint. So, add a net_info_ratelimited message and explicit statistic to the neighbour code. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7854037da006a7472c48773e3190db55217ec9b Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 19:40:45 2015 +0300 bridge: netlink: add support for vlan_filtering attribute This patch adds the ability to toggle the vlan filtering support via netlink. Since we're already running with rtnl in .changelink() we don't need to take any additional locks. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e72ee3ed51542092d83001be6803468e4b91e7be Merge: 07151bc 02509f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 10 13:34:29 2015 -0700 Merge branch 'qlcnic-enhancements' Shahed Shaikh says: ==================== qlcnic: enhancements This series adds few enhancements. o Patch from Harish reorders the sequence of header files inclusion, keeping kernel's header files on top. o Firmware introduced a new feature which allows driver to increases the size of firmware dump of iSCSI function which is being collected by NIC driver. o Print buffer address which is holding a firmware dump. o Use vzalloc() instead kzalloc() for allocating large chunk of memory which will avoid potential memory allocation failure. o Add new device ID for 0x8C30 which is a 83xx series based VF function. Please apply this series to net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02509f171d2379e79328f5e447e6c97c58ae8d52 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Fri Aug 7 07:17:07 2015 -0400 qlcnic: Update version to 5.3.63 Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0e90ad9bfdcc8835945ccb49f39c21ff3cb0b785 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Fri Aug 7 07:17:06 2015 -0400 qlcnic: Don't use kzalloc unncecessarily for allocating large chunk of memory Driver allocates a large chunk of temporary buffer using kzalloc to copy FW image. As there is no real need of this memory to be physically contiguous, use vzalloc instead. Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da286a6fd1e6913779c0a479f428ec3763dfc16c Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Fri Aug 7 07:17:05 2015 -0400 qlcnic: Add new VF device ID 0x8C30 This is a 83xx series based VF device Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 642de51025c3623a9d8c7f3b5e930be0fa95b536 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Fri Aug 7 07:17:04 2015 -0400 qlcnic: Print firmware minidump buffer and template header addresses Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d01a6d3c8ae1425565ff1615d29fab6023c82932 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Fri Aug 7 07:17:03 2015 -0400 qlcnic: Add support to enable capability to extend minidump for iSCSI In some cases it is required to capture minidump for iSCSI functions as part of default minidump collection process. To enable this, firmware exports it's capability and driver need to enable that capability by issuing a mailbox command. With this feature, firmware can provide additional iSCSI function's minidump with smaller minidump capture mask (0x1f). Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a930a4639d8ce8882a44adcafcfa20049bd67cdf Author: Harish Patil <harish.patil@xxxxxxxxxx> Date: Fri Aug 7 07:17:02 2015 -0400 qlcnic: Rearrange ordering of header files inclusion Include local headers files after kernel's header files. Signed-off-by: Harish Patil <harish.patil@xxxxxxxxxx> Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07151bc9f7f53731b355b704141ffaccc8d08752 Author: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Date: Fri Aug 7 17:07:50 2015 +0800 net: phy: select copper mode when Marvel 88e1111 in SGMII For the Marvel 88e1111 PHY only two SGMII modes are available, both allowing only SGMII to copper mode (with or without clock). SGMII to fiber mode is not supported. Make sure the fiber/copper registers selector bits are cleared for selecting copper mode. Signed-off-by: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4bc44c65b6b24722506ad5d1bbf557a71d3df90 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Aug 7 13:52:37 2015 +0800 net: fec: fix the race between xmit and bdp reclaiming path When we transmit a fragmented skb, we may run into a race like the following scenario (assume txq->cur_tx is next to txq->dirty_tx): cpu 0 cpu 1 fec_enet_txq_submit_skb reserve a bdp for the first fragment fec_enet_txq_submit_frag_skb update the bdp for the other fragment update txq->cur_tx fec_enet_tx_queue bdp = fec_enet_get_nextdesc(txq->dirty_tx, fep, queue_id); This bdp is the bdp reserved for the first segment. Given that this bdp BD_ENET_TX_READY bit is not set and txq->cur_tx is already pointed to a bdp beyond this one. We think this is a completed bdp and try to reclaim it. update the bdp for the first segment update txq->cur_tx So we shouldn't update the txq->cur_tx until all the update to the bdps used for fragments are performed. Also add the corresponding memory barrier to guarantee that the update to the bdps, dirty_tx and cur_tx performed in the proper order. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4605bb55b91449a1a953a51f0334d3bc02351adb Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Aug 9 15:45:24 2015 +0900 perf evlist: Be more specific on -F/--freq Currently perf evlist -F shows the number as if it's always sampling frequency. But we now support per-event freq/period settings. So it'd better to show more detailed info whether it's freq or period. $ perf record -e 'cpu/config=1/,cpu/config=2,period=300000/' sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data ] $ perf evlist -F cpu/config=1/: sample_freq=4000 cpu/config=2,period=300000/: sample_period=300000 Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439102724-14079-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 09af2a553577a6e53e40011a910be0f27ce56f3e Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Aug 9 15:45:23 2015 +0900 perf record: Support per-event freq term Now perf can set per-event value of time and (sampling) period. But I guess most users like me just want to set frequency rather than period. So add the 'freq' term in the event parser. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439102724-14079-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 31191a85fb875cf123cea56bbfd34f4b941f3c79 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Aug 7 15:54:24 2015 -0700 perf report: Add support for srcfile sort key In some cases it's useful to characterize samples by file. This is useful to get a higher level categorization, for example to map cost to subsystems. Add a srcfile sort key to perf report. It builds on top of the existing srcline support. Commiter notes: E.g.: # perf record -F 10000 usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.016 MB perf.data (13 samples) ] [root@zoo ~]# perf report -s srcfile --stdio # Total Lost Samples: 0 # # Samples: 13 of event 'cycles' # Event count (approx.): 869878 # # Overhead Source File # ........ ........... 60.99% . 20.62% paravirt.h 14.23% rmap.c 4.04% signal.c 0.11% msr.h # The first line is collecting all the files for which srcfiles couldn't somehow get resolved to: # perf report -s srcfile,dso --stdio # Total Lost Samples: 0 # # Samples: 13 of event 'cycles' # Event count (approx.): 869878 # # Overhead Source File Shared Object # ........ ........... ................ 40.97% . ld-2.20.so 20.62% paravirt.h [kernel.vmlinux] 20.02% . libc-2.20.so 14.23% rmap.c [kernel.vmlinux] 4.04% signal.c [kernel.vmlinux] 0.11% msr.h [kernel.vmlinux] # XXX: Investigate why that is not resolving on Fedora 21, Andi says he hasn't seen this on Fedora 22. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438988064-21834-1-git-send-email-andi@xxxxxxxxxxxxxx [ Added column length update, from 0e65bdb3f90f ('perf hists: Update the column width for the "srcline" sort key') ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e8e6d37e73e6b950c891c780745460b87f4755b6 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 10 16:53:54 2015 -0300 perf hists: Update the column width for the "srcline" sort key When we introduce a new sort key, we need to update the hists__calc_col_len() function accordingly, otherwise the width will be limited to strlen(header). We can't update it when obtaining a line value for a column (for instance, in sort__srcline_cmp()), because we reset it all when doing a resort (see hists__output_recalc_col_len()), so we need to, from what is in the hist_entry fields, set each of the column widths. Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Fixes: 409a8be61560 ("perf tools: Add sort by src line/number") Link: http://lkml.kernel.org/n/tip-jgbe0yx8v1gs89cslr93pvz2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9056fff3d5190617a93a4ae658a2ea7b96772834 Merge: c862399 8fcd461 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Mon Aug 10 16:16:03 2015 -0400 Merge branch 'for-4.2' into for-4.3 commit c8623999ffddb8f906154b195aa80d2d279d814f Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:35:37 2015 +0800 nfsd: Remove unused clientid arguments from, find_lockowner_str{_locked} Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 76f6c9e176dda6e34cbe0f0ca99d59f646a9c950 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:35:10 2015 +0800 nfsd: Use lk_new_xxx instead of v.new.xxx for nfs4_lockowner Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e7969315f472aeddf39d6db34cc3f6bf3316fd62 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:34:19 2015 +0800 nfsd: Remove macro LOFF_OVERFLOW Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7a5e8d5b5cdbd05f8b65a7bbcd62e70a9f48eecb Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:33:55 2015 +0800 nfsd: Remove duplicate checking of nfsd_net in nfs4_laundromat() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit efde6b4d4e668f16bc91e9a462e1ec3c99d41136 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:33:24 2015 +0800 nfsd: Remove unused values in nfs4_setlease() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 871860225b32920dd685c6da488956f1c75bf676 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:32:59 2015 +0800 nfsd: Remove nfs4_set_claim_prev() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit f5e22bb6d91aba04fd252c1067b79c0227599a6a Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:32:34 2015 +0800 nfsd: Drop duplicate checking of seqid in nfsd4_create_session() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6cd22668e8c8e2618c1883c835de10e11395123b Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:32:05 2015 +0800 nfsd: Remove unneeded values in nfsd4_open() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 41eb16702c6e4294685e65e0a63f11cfc816cb96 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:29:41 2015 +0800 nfsd: Add missing gen_confirm in nfsd4_setclientid() Commit 294ac32e99 "nfsd: protect clid and verifier generation with client_lock" moved gen_confirm() to gen_clid(). After that commit, setclientid will return a bad reply with all-zero verifier after copy_clid(). Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 19311aa8353644c18d609291e0078843d1c22ece Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sat Jul 18 07:33:31 2015 +0800 nfsd: New counter for generating client confirm verifier If using clientid_counter, it seems possible that gen_confirm could generate the same verifier for the same client in some situations. Add a new counter for client confirm verifier to make sure gen_confirm generates a different verifier on each call for the same clientid. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit d50ffded7947c052ca91bf02e08d71e3aef8b789 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 16 12:05:07 2015 +0800 nfsd: Fix memory leak of so_owner.data in nfs4_stateowner v2, new helper nfs4_free_stateowner for freeing so_owner.data and sop Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 47e970bee7e83d997be11d91d2fbc7f64c8bb89e Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Jul 21 13:09:17 2015 +0800 nfsd: Add layouts checking in client_has_state() Layout is a state resource, nfsd should check it too. v2, drop unneeded updating in nfsd4_renew() v3, fix compile error without CONFIG_NFSD_PNFS Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit af9dbaf48d00a34c2933ed0c0e9c82b37eb16356 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:30:51 2015 +0800 nfsd: Fix a memory leak of struct file_lock Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 1b6dc1dffbb142de60eb65f6155276ac31ff5474 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:11:10 2015 -0700 nfsd/sunrpc: factor svc_rqst allocation and freeing from sv_nrthreads refcounting In later patches, we'll want to be able to allocate and free svc_rqst structures without monkeying with the serv->sv_nrthreads refcount. Factor those pieces out of their respective functions. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit d70bc0c67c7aaf0d00084b2f91b44fe1a8ae4e15 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:09:54 2015 -0700 nfsd/sunrpc: move pool_mode definitions into svc.h In later patches, we're going to need to allow code external to svc.c to figure out what pool_mode is in use. Move these definitions into svc.h to prepare for that. Also, make the svc_pool_map object available and exported so that other modules can peek in there to get insight into what pool mode is in use. Likewise, export svc_pool_map_get/put function to make it safe to do so. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 598e2359090d393b01a8e10386dc3056ccfa47ae Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:08:33 2015 -0700 nfsd/sunrpc: abstract out svc_set_num_threads to sv_ops Add an operation that will do setup of the service. In the case of a classic thread-based service that means starting up threads. In the case of a workqueue-based service, the setup will do something different. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirliey.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit b9e13cdfac70e38ade17b53810a36968c5842339 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:06:51 2015 -0700 nfsd/sunrpc: turn enqueueing a svc_xprt into a svc_serv operation For now, all services use svc_xprt_do_enqueue, but once we add workqueue-based service support, we'll need to do something different. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 758f62fff9ad630f05866a1dd6ae9453a7730c2e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:05:56 2015 -0700 nfsd/sunrpc: move sv_module parm into sv_ops ...not technically an operation, but it's more convenient and cleaner to pass the module pointer in this struct. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c369014f1776367269c8fbb5ea8932826d89ce2f Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:04:46 2015 -0700 nfsd/sunrpc: move sv_function into sv_ops Since we now have a container for holding svc_serv operations, move the sv_function into it as well. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ea126e74353453d15fc0a181910ae1e25162f2a1 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:03:32 2015 -0700 nfsd/sunrpc: add a new svc_serv_ops struct and move sv_shutdown into it In later patches we'll need to abstract out more operations on a per-service level, besides sv_shutdown and sv_function. Declare a new svc_serv_ops struct to hold these operations, and move sv_shutdown into this struct. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit cc9a903d915c21626b6b2fbf8ed0ff16a7f82210 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Fri Aug 7 16:55:46 2015 -0400 svcrdma: Change maximum server payload back to RPCSVC_MAXPAYLOAD Both commit 0380a3f375 ("svcrdma: Add a separate "max data segs" macro for svcrdma") and commit 7e5be28827bf ("svcrdma: advertise the correct max payload") are incorrect. This commit reverts both changes, restoring the server's maximum payload size to 1MB. Commit 7e5be28827bf based the server's maximum payload on the _client's_ RPCRDMA_MAX_DATA_SEGS value. That was wrong. Commit 0380a3f375 tried to fix this so that the client maximum payload size could be raised without affecting the server, but managed to confuse matters more on the server side. More importantly, limiting the advertised maximum payload size was meant to be a workaround, not the actual fix. We need to revisit https://bugzilla.linux-nfs.org/show_bug.cgi?id=270 A Linux client on a platform with 64KB pages can overrun and crash an x86_64 NFS/RDMA server when the r/wsize is 1MB. An x86/64 Linux client seems to work fine using 1MB reads and writes when the Linux server's maximum payload size is restored to 1MB. BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=270 Fixes: 0380a3f375 ("svcrdma: Add a separate "max data segs" macro") Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 5cef897652f224442c013d9e9425536b38385351 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 10 15:45:55 2015 -0300 perf hists: hist_entry__cmp() may use he_tmp.hists, initialize it The iter_add_next_cumulative_entry() function calls hist_entry__cmp(), which may want to access the hists where this hist_entry is stored, initialize it to let that happen and avoid segfaults. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-iqg98sfn4fvwcxp0pdvqauie@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fa1422207756833096b54356a539e3a7d7edec4f Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:56 2015 +0200 Bluetooth: Enable new connection establishment procedure. Currently, when trying to connect to already paired device that just rotated its RPA MAC address, old address would be used and connection would fail. In order to fix that, kernel must scan and receive advertisement with fresh RPA before connecting. This patch enables new connection establishment procedure. Instead of just sending HCI_OP_LE_CREATE_CONN to controller, "connect" will add device to kernel whitelist and start scan. If advertisement is received, it'll be compared against whitelist and then trigger connection if it matches. That fixes mentioned reconnect issue for already paired devices. It also make whole connection procedure more robust. We can try to connect to multiple devices at same time now, even though controller allow only one. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cc2b6911a205b327b29c1d771925f8ab2f80295f Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:55 2015 +0200 Bluetooth: timeout handling in new connect procedure Currently, when trying to connect to already paired device that just rotated its RPA MAC address, old address would be used and connection would fail. In order to fix that, kernel must scan and receive advertisement with fresh RPA before connecting. This patch makes sure that when new procedure is in use, and we're stuck in scan phase because no advertisement was received and timeout happened, or app decided to close socket, scan whitelist gets properly cleaned up. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 28a667c9c279df5a6467842ee2b3b73ddf874732 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:54 2015 +0200 Bluetooth: advertisement handling in new connect procedure Currently, when trying to connect to already paired device that just rotated its RPA MAC address, old address would be used and connection would fail. In order to fix that, kernel must scan and receive advertisement with fresh RPA before connecting. This path makes sure that after advertisement is received from device that we try to connect to, it is properly handled in check_pending_le_conn and trigger connect attempt. It also modifies hci_le_connect to make sure that connect attempt will be properly continued. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f75113a26008980ca13834fb6573145523596776 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:53 2015 +0200 Bluetooth: add hci_connect_le_scan Currently, when trying to connect to already paired device that just rotated its RPA MAC address, old address would be used and connection would fail. In order to fix that, kernel must scan and receive advertisement with fresh RPA before connecting. This patch adds hci_connect_le_scan with dependencies, new method that will be used to connect to remote LE devices. Instead of just sending connect request, it adds a device to whitelist. Later patches will make use of this whitelist to send conenct request when advertisement is received, and properly handle timeouts. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e7d9ab731ac7babaf2e1b7b5e2280f5f555d263f Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:52 2015 +0200 Bluetooth: add hci_lookup_le_connect This patch adds hci_lookup_le_connect method, that will be used to check wether outgoing le connection attempt is in progress. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 158e92185075184ebc5f25bab61fdd598693e28d Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:51 2015 +0200 Bluetooth: preparation for new connect procedure Currently, when trying to connect to already paired device that just rotated its RPA MAC address, old address would be used and connection would fail. In order to fix that, kernel must scan and receive advertisement with fresh RPA before connecting. This patch adds some fields to hci_conn_params, in preparation to new connect procedure. explicit_connect will be used to override any current auto_connect action, and connect to device when ad is received. HCI_AUTO_CONN_EXPLICIT was added to auto_connect enum. When this value will be used, explicit connect is the only action, and params can be removed after successful connection. HCI_CONN_SCANNING is added to hci_conn flags. When it's set, connect is scan phase. It gets cleared when advertisement is received, and HCI_OP_LE_CREATE_CONN is sent. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6394328ab8a2ab6b127ae85f716943d92595878d Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Aug 7 18:36:06 2015 +0800 f2fs: report error of fill_zero fill_zero can fail due to a lot of reason, but previously we do not handle its return value, so its callers such as punch_hole/f2fs_zero_range may report success, but actually can fail because of error occurs inside fill_zero. This patch fixes to report correct return value of fill_zero. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2db0f71f56795f6b04d386b15c3b32b570558ebd Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Jul 1 17:17:49 2015 -0500 PCI: pciehp: Remove ignored MRL sensor interrupt events We queued interrupt events for the MRL being opened or closed, but the code in interrupt_event_handler() that handles these events ignored them. Stop enabling MRL interrupts and remove the ignored events. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 58fa2405bd44805cb6166603100b0183ce26a0c8 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Jul 1 17:01:03 2015 -0500 PCI: pciehp: Remove unused interrupt events The list of interrupt events (INT_BUTTON_IGNORE, INT_PRESENCE_ON, etc.) was copied from other hotplug drivers, but pciehp doesn't use them all. Remove the interrupt events that aren't used by pciehp. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 1469d17dd341458267a08c8d8bb517cb986ec56d Author: Jarod Wilson <jarod@xxxxxxxxxx> Date: Tue Jul 21 12:25:30 2015 -0400 PCI: pciehp: Handle invalid data when reading from non-existent devices It's platform-dependent, but an MMIO read to a non-existent PCI device generally returns data with all bits set. This happens when the host bridge or Root Complex times out waiting for a response from the device and fabricates return data to complete the CPU's read. One example, reported in the bugzilla below, involved this hierarchy: pci 0000:00:1c.0: PCI bridge to [bus 02-3a] Root Port pci 0000:02:00.0: PCI bridge to [bus 03-0a] Upstream Port pci 0000:03:03.0: PCI bridge to [bus 05-07] Downstream Port pci 0000:05:00.0: PCI bridge to [bus 06-07] Thunderbolt Upstream Port pci 0000:06:00.0: PCI bridge to [bus 07] Thunderbolt Downstream Port pci 0000:07:00.0: BCM57762 NIC Unplugging the Thunderbolt switch and the NIC below it resulted in this: pciehp 0000:03:03.0: Surprise Removal tg3 0000:07:00.0: tg3_abort_hw timed out, TX_MODE_ENABLE will not clear MAC_TX_MODE=ffffffff pciehp 0000:06:00.0: unloading service driver pciehp pciehp 0000:06:00.0: pcie_isr: intr_loc 11f pciehp 0000:06:00.0: Switch interrupt received pciehp 0000:06:00.0: Latch open on Slot pciehp 0000:06:00.0: Attention button interrupt received pciehp 0000:06:00.0: Button pressed on Slot pciehp 0000:06:00.0: Presence/Notify input change pciehp 0000:06:00.0: Card present on Slot pciehp 0000:06:00.0: Power fault interrupt received pciehp 0000:06:00.0: Data Link Layer State change pciehp 0000:06:00.0: Link Up event The pciehp driver correctly noticed that the Thunderbolt switch (05:00.0 and 06:00.0) and NIC (07:00.0) had been removed, and it called their driver remove methods. Since the NIC was already gone, tg3 received 0xffffffff when it tried to read from the device. The resulting timeout is a tg3 issue and not of interest here. Similarly, since the 06:00.0 Thunderbolt switch was already gone, pcie_isr() received 0xffff when it tried to read PCI_EXP_SLTSTA, and pciehp thought that was valid status showing that many events had happened: the latch had been opened, the attention button had been pressed, a card was now present, and the link was now up. These are all wrong, of course, but pciehp went on to try to power up and enumerate devices below the non-existent bridge: pciehp 0000:06:00.0: PCI slot - powering on due to button press pciehp 0000:06:00.0: Surprise Insertion pci 0000:07:00.0 id reading try 50 times with interval 20 ms to get ffffffff [bhelgaas: changelog, also check in pcie_poll_cmd() & pcie_do_write_cmd()] Link: https://bugzilla.kernel.org/show_bug.cgi?id=99841 Suggested-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 9b412590faaea65dab54f9bc5ae5b48ba0e73c5d Author: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Date: Mon Aug 3 15:45:41 2015 +0200 ath: Make ath_opmode_to_string understand OCB mode Make ath_opmode_to_string return "OCB" for NL80211_IFTYPE_OCB. Currently it will return "UNKNOWN". Signed-off-by: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 53cd2fdb00aab34f91762f6345f83625a30480f0 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Aug 2 20:26:52 2015 +0200 bcma: fix access to host_pdev for PCIe devices bus->host_pdev is part of a union so bus->host_pdev != NULL is probably also true for PCIe devices, because there it accesses bus->host_pci. If we access the dev member at the offset defined in struct platform_device in struct pci_dev instead we probably get something else. This patch adds a new function which returns the host dev struct and NULL if we do not have a host dev. When this gets registered on MIPS brcm47xx we do not have a host dev in some situations. This function could also be used in other places. This problem was introduced in this commit: commit cae761b5a6bdc597ba476a040fdcd5b4bc559b85 Author: Rafa? Mi?ecki <zajec5@xxxxxxxxx> Date: Sun Jun 28 17:17:13 2015 +0200 bcma: populate bus DT subnodes as platform_device-s Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 78623bfb6f4cbdba3183621e8e0e781611217022 Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 15:04:49 2015 +0200 mt7601u: lock out rx path and tx status reporting mac80211 requires that rx path does not run concurrently with tx status reporting. Add a spinlock which will ensure that. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4513493d188d5e3052aee68eda85eaaa1a4e41c2 Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 15:04:48 2015 +0200 mt7601u: fix tx status reporting contexts mac80211 requires that rx path does not run concurrently with tx status reporting. Since rx path is run in driver tasklet, tx status cannot be reported directly from interrupt context (there would be no way to lock it out). Add tasklet for tx and move all possible code from irq handler there. Note: tx tasklet is needed because workqueue is queued very rarely and that kills TCP performance. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d9517c0a5d7468a7ea63086057604fcb0fff480e Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 15:04:47 2015 +0200 mt7601u: use correct ieee80211_rx variant Rx is run inside a tasklet so ieee80211_rx() should be used instead of ieee80211_rx_ni(). Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bed429e1ae8b7ee207e01f3aa60dcc0d06a8ed4d Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 15:04:46 2015 +0200 mt7601u: fix dma from stack address DMA to variables located on the stack is a bad idea. For simplicity and to avoid frequent allocations create a buffer inside the device structure. Protect this buffer with vendor_req_mutex. Don't protect vendor requests which don't use this buffer. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7845af35e0deeb7537de759ebc69d6395d4123bf Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 30 22:38:22 2015 +0300 wlcore: add p2p device support When starting a p2p mgmt interface, enable its device role. This allows us to keep the sta role disabled and scan on the dev role. In general, p2p management interfaces cannot send vif-specific commands to FW, as the vif role id is invalid. Only off-channel data and scans happen on this vif, so most ops are not relevant. If the vif is a p2p mgmt vif, block some mac80211 ops. Configure rate policies for p2p mgmt interface, as otherwise p2p packets come out with arbitrary rates. Since wpa_supplicant currently doesn't support standalone p2p device mode (without another attached managed interface), add p2p device to the allowed interface combinations without decreasing the allowed station count. Moreover, increase the station count in some cases, as AP mode usually starts as station interface, and the AP interface is now different from the p2p management one). Signed-off-by: Arik Nemtsov <arik@xxxxxxxxxx> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c32e35f29ce96da371e798a8a04ed299f4ecfc44 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 30 22:38:21 2015 +0300 wlcore: add generic_cfg_feature command definitions Add definitions and function prototypes for generic_cfg command. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8698a3a4fff2b63831fdc0283da87f9f46c2aeb8 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 30 22:38:20 2015 +0300 wl18xx: use long intervals in sched scan Add support for long intervals on sched scan. If configured, the original request interval will be used num_short_interval times, and then the long interval will be used. While on it, fix the scan command field names to reflect the expected value is in ms (rather than secs). These values will be taken from the conf file, so bump its version accordingly. Signed-off-by: Eyal Shapira <eyal@xxxxxxxxxx> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6d5c898798aca634f493cabd2e7a47407ee5e95d Author: Machani, Yaniv <yanivma@xxxxxx> Date: Thu Jul 30 22:38:19 2015 +0300 wlcore/wl18xx : add time sync event handling Added support for a new time sync event the event data contains the WiLink TSF value. To trigger the event, a HW modification is required, so as a supporting firmware binary. Signed-off-by: Yaniv Machani <yanivma@xxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 100a008331072e678ffcf2d903e48c633c2795fe Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Jul 28 07:22:20 2015 -0700 mwifiex: correct TDLS link delete failure message priority Commit d8d2f19feb16 ("mwifiex: silence TDLS link delete failure for nonexistent link") lowers the priority of error message when TDLS link is already deleted. But it had got increased by commit acebe8c10a6e ("mwifiex: change dbg print func to mwifiex_dbg") Reported-by: Nicholas Mc Guire <der.herr@xxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8f8db91840747e95df231f67dfa09eafeb4cc6d0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:59 2015 +0200 ieee802154: 6lowpan: fix error frag handling This patch fixes the error handling for lowpan_xmit_fragment by replace "-PTR_ERR" to "PTR_ERR". PTR_ERR returns already a negative errno code. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c91208d819c814e7f418c7a083059cf533ad0396 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:58 2015 +0200 ieee802154: add ack request default handling This patch introduce a new mib entry which isn't part of 802.15.4 but useful as default behaviour to set the ack request bit or not if we don't know if the ack request bit should set. This is currently used for stacks like IEEE 802.15.4 6LoWPAN. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fc0719e6a144402197a2147117f10b66ee623fbb Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:57 2015 +0200 at86rf230: use STATE_TX_ARET mode only This patch changes the state change behaviour of at86rf230 to always TX_ARET mode. According the at86rf2xx datasheets TX_ARET mode doesn't mean to be always waiting for ack frames after transmit. The transceiver will automatically wait for ack frames or not if the acknowledge request bit is set. See section "TX_ARET_ON â?? Transmit with Automatic Frame Retransmission and CSMA-CA Retry". Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 89c7d788f89d58136a2e5596796c298942ee32d6 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:56 2015 +0200 mac802154: change frame_retries behaviour This patch changes the default minimum value of frame_retries to 0 and changes the frame_retries default value to 3 which is also 802.15.4 default. We don't use the frame_retries "-1" value as indicator for no-aret mode anymore, instead we checking on the ack request bit inside the 802.15.4 frame control field. This allows a acknowledge handling per frame. This checking is done by transceiver or inside xmit callback of driver layer. If a transceiver doesn't support ARET handling the transmit functionality ignores ack frames then, which isn't well but should not effect anything of current functionality. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 91f02b3dd8311b48c021e8667a84dfc2d6445a03 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:55 2015 +0200 mac802154: cfg: remove test and set checks This patch removes several checks if a value is really changed. This makes only sense if we have another layer call e.g. calling the driver_ops which is done by callbacks like "set_channel". For MAC settings which need to be set by phy registers (if the phy supports that handling) this is set by doing an interface up currently and are not direct driver_ops calls, so we remove the checks from these configuration callbacks. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Suggested-by: Phoebe Buckheister <phoebe.buckheister@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 09095fdc9e5d5438051fc4e92867f1aff764cd21 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:54 2015 +0200 mac802154: fix wpan mac setting while lowpan is there If we currently change the mac address inside the wpan interface while we have a lowpan interface on top of the wpan interface, the mac address setting doesn't reach the lowpan interface. The effect would be that the IPv6 lowpan interface has the old SLAAC address and isn't working anymore because the lowpan interface use in internal mechanism sometimes dev->addr which is the old mac address of the wpan interface. This patch checks if a wpan interface belongs to lowpan interface, if yes then we need to check if the lowpan interface is down and change the mac address also at the lowpan interface. When the lowpan interface will be set up afterwards, it will use the correct SLAAC address which based on the updated mac address setting. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Tested-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 51e0e5d8124ece158927a4c2288c0929d3b53aa3 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:53 2015 +0200 ieee802154: 6lowpan: remove multiple lowpan per wpan support We currently supports multiple lowpan interfaces per wpan interface. I never saw any use case into such functionality. We drop this feature now because it's much easier do deal with address changes inside the under laying wpan interface. This patch removes the multiple lowpan interface and adds a lowpan_dev netdev pointer into the wpan_dev, if this pointer isn't null the wpan interface belongs to the assigned lowpan interface. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Tested-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 77e867b5f133f6bb3debcfcc75ce4536d644e62e Author: Lukasz Duda <lukasz.duda@xxxxxxxxxxxxx> Date: Mon Aug 10 21:15:52 2015 +0200 6lowpan: Fix extraction of flow label field The lowpan_fetch_skb function is used to fetch the first byte, which also increments the data pointer in skb structure, making subsequent array lookup of byte 0 actually being byte 1. To decompress the first byte of the Flow Label when the TF flag is set to 0x01, the second half of the first byte is needed. The patch fixes the extraction of the Flow Label field. Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Lukasz Duda <lukasz.duda@xxxxxxxxxxxxx> Signed-off-by: Glenn Ruben Bakke <glenn.ruben.bakke@xxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4863e4cc31d647e11f69e1f4d37a870ff3094fcc Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Aug 6 03:43:09 2015 -0700 Bluetooth: btmrvl: release sdio bus after firmware is up We will not release sdio bus until firmware is completely downloaded and becomes ready. Our 8887 A2 chip can have separate firmware images for WLAN and bluetooth. This patch fixes an issue observed when both drivers simultaneously try to download respective firmwares. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0208bc8803918d7e84f247f1d4f1730171a24c16 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 1 15:30:08 2015 +0300 Bluetooth: Fix breakage in amp_write_rem_assoc_frag() We should be passing the pointer itself instead of the address of the pointer. This was a copy and paste bug when we replaced the calls to hci_send_cmd(). Originally, the arguments were "len, cp" but we overwrote them with "sizeof(cp), &cp" by mistake. Fixes: b3d3914006a0 ('Bluetooth: Move amp assoc read/write completed callback to amp.c') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bdbbd38106c9f72c569be18314f68387e384536c Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:28:07 2015 +0200 spi: atmel: remove useless include Definitions from linux/platform_data/atmel.h are not used, remove the include. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e6bbe1d05353a29628a4ca72d88bac0bdcec5f38 Merge: 7e34d70 f7644cb Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 10:01:33 2015 -0700 Merge 4.2-rc6 into usb-next We want the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f70d6318320983a8d2fac28cfe8d22dfd5e52a73 Merge: b963e72 f7644cb Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:07:25 2015 -0700 Merge 4.2-rc6 into staging-next We want the IIO and staging fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38755e897ec2c371b8e71561622d525b3b94012b Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sun Aug 9 18:37:36 2015 -0700 libata: fix libata-core.c kernel-doc warning Fix kernel-doc warning in libata-core.c: Warning(..//drivers/ata/libata-core.c:4763): No description found for parameter 'tag' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9cfaf082b8775e9f99fa5f2e8b2ae0ca8baff785 Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 8 18:31:01 2015 -0300 crypto: nx - Removing CTR mode from NX driver CTR hardware implementation does not match with kernel spec causing a counter bug where just low 8 bytes are used for counter, when should be all 16bytes. Since we already have other counter modes working according with specs not worth to keep CTR itself on NX. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4cd38750632b864dd56d94e675f5f91ce7723749 Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 8 18:29:27 2015 -0300 Update NX crypto driver maintainers and adding VMX maintainers Marcelo and Fin are no long IBMers, thus no longer NX maintainers. Updating with the new names. Adding VMX crypto maintainers. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3388a614b609ad9ac4f542e56ada737557a19651 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 7 11:34:42 2015 -0700 PCI: Add quirk for Intel DH895xCC VF PCI config erratum The PCI capabilities list for Intel DH895xCC VFs (device id 0x0443) with QuickAssist Technology is prematurely terminated in hardware. Workaround the issue by hard-coding the known expected next capability pointer and saving the PCIE cap into internal buffer. Patch generated against cryptodev-2.6 Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 89c07b8a18a264ba84d135e07b1ee057839d3bda Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 7 11:34:36 2015 -0700 crypto: qat - Add FW const table Some VF drivers need FW const table, so the PF driver needs to load it. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dd0f368398ea100e34259bf812bc482e15c81991 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 7 11:34:31 2015 -0700 crypto: qat - Add qat dh895xcc VF driver Add code specific for the dh895xcc virtual function. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ed8ccaef52fa03fb03cff45b380f72c9f869f273 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 7 11:34:25 2015 -0700 crypto: qat - Add support for SRIOV Add code that enables SRIOV on dh895xcc devices. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a57331394cf5228555dbf4bca21abb2fc1597f04 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 7 11:34:20 2015 -0700 crypto: qat - Move adf admin and adf hw arbitrer to common code Adf admin and HW arbiter function can be used by dh895xcc specific code well as the new dh895xccvf and future devices so moving them to qat_common so that they can be shared. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 104880a6b470958ddc30e139c41aa4f6ed3a5234 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 16:42:59 2015 +0800 crypto: authencesn - Convert to new AEAD interface This patch converts authencesn to the new AEAD interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0e91657e331d55d4fd4d298cf9e9eecf23a3dd45 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Aug 6 14:49:00 2015 -0700 crypto: doc - make URL into hyperlink The HTML output works a little nicer that way. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 35a3bb3d39d5a84b1adc02e5289d01a33d1073b6 Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Wed Aug 5 16:52:08 2015 -0500 crypto: talitos - Prevent panic in probe error path The probe error path for this driver, for all intents and purposes, is the talitos_remove() function due to the common "goto err_out". Without this patch applied, talitos_remove() will panic under these two conditions: 1. If the RNG device hasn't been registered via talitos_register_rng() prior to entry into talitos_remove(), then the attempt to unregister the RNG "device" will cause a panic. 2. If the priv->chan array has not been allocated prior to entry into talitos_remove(), then the per-channel FIFO cleanup will panic because of the dereference of that NULL "array". Both of the above scenarios occur if talitos_probe_irq() fails. This patch resolves issue #1 by introducing a boolean to mask the hwrng_unregister() call in talitos_unregister_rng() if RNG device registration was unsuccessful. It resolves issue #2 by checking that priv->chan is not NULL in the per-channel FIFO cleanup for loop. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ab86ca0755eccfdb0b2ffa3fe17cb41a6e61848b Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:47 2015 -0700 ARM: imx_v6_v7_defconfig: Select CAAM Select CAAM for i.MX6 devices. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bf83490ee4207de3af59b63870eb9f72f1e523f1 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:48 2015 -0700 crypto: caam - Detect hardware features during algorithm registration Register only algorithms supported by CAAM hardware, using the CHA version and instantiation registers to identify hardware capabilities. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 350cdfeba888c21341ad2989c5930a2708def579 Author: Steve Cornelius <steve.cornelius@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:46 2015 -0700 crypto: caam - Enable MXC devices to select CAAM driver in Kconfig Allow CAAM to be selected in the kernel for Freescale i.MX devices if ARCH_MXC is enabled. Signed-off-by: Steve Cornelius <steve.cornelius@xxxxxxxxxxxxx> Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b15e9ea583c718095a05b3e5164628111ab33f90 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Thu Aug 6 11:42:37 2015 -0700 ARM: dts: mx6sx: Add CAAM device node Add CAAM device node to the i.MX6SX device tree. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d462ce996a88b8fc8722d2e88750c654c17c690e Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:44 2015 -0700 ARM: dts: mx6qdl: Add CAAM device node Add CAAM device node to the i.MX6 device tree. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dd503f66098e37dd0090897c099fa6ca343db84d Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:43 2015 -0700 ARM: clk-imx6q: Add CAAM clock support Add CAAM clock support to the i.MX6 clocking infrastructure. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ff1a15d9e79886e253dd4a0fe5c03d130879f58e Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:42 2015 -0700 crypto: caam - Added clocks and clock-names properties to SEC4.0 device tree binding The clocks and clock-names properties describe input clocks that may be required for enablement of CAAM. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ec0273039b6606ae08132f41854381e0d7371ded Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:41 2015 -0700 crypto: caam - Use local sg pointers to walk the scatterlist Avoid moving the head of the scatterlist entry by using temporary pointers to walk the scatterlist. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7d5196aba3c81999d56b26daa5ea7590513cdc1f Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:40 2015 -0700 crypto: caam - Correct DMA unmap size in ahash_update_ctx() This change fixes: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 456 at lib/dma-debug.c:1103 check_unmap+0x438/0x958() caam_jr 2101000.jr0: DMA-API: device driver frees DMA memory with different size [device address=0x000000003a241080] [map ] Modules linked in: tcrypt(+) CPU: 0 PID: 456 Comm: insmod Not tainted 4.1.0-248766-gf823586-dirty #82 Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [<80015e0c>] (unwind_backtrace) from [<80012764>] (show_stack+0x10/0x14) [<80012764>] (show_stack) from [<806df8e8>] (dump_stack+0x84/0xc4) [<806df8e8>] (dump_stack) from [<800266fc>] (warn_slowpath_common+0x84/0xb4) [<800266fc>] (warn_slowpath_common) from [<8002675c>] (warn_slowpath_fmt+0x30/0x40) [<8002675c>] (warn_slowpath_fmt) from [<802c7db8>] (check_unmap+0x438/0x958) [<802c7db8>] (check_unmap) from [<802c835c>] (debug_dma_unmap_page+0x84/0x8c) [<802c835c>] (debug_dma_unmap_page) from [<804d3b94>] (ahash_update_ctx+0xb08/0xec4) [<804d3b94>] (ahash_update_ctx) from [<7f002984>] (test_ahash_pnum.isra.9.constprop.19+0x2b8/0x514 [tcrypt]) [<7f002984>] (test_ahash_pnum.isra.9.constprop.19 [tcrypt]) from [<7f005998>] (do_test+0x2db8/0x37cc [tcrypt]) [<7f005998>] (do_test [tcrypt]) from [<7f00b050>] (tcrypt_mod_init+0x50/0x9c [tcrypt]) [<7f00b050>] (tcrypt_mod_init [tcrypt]) from [<80009730>] (do_one_initcall+0x8c/0x1d4) [<80009730>] (do_one_initcall) from [<806dda4c>] (do_init_module+0x5c/0x1a8) [<806dda4c>] (do_init_module) from [<80085308>] (load_module+0x17e0/0x1da0) [<80085308>] (load_module) from [<80085998>] (SyS_init_module+0xd0/0x120) [<80085998>] (SyS_init_module) from [<8000f4c0>] (ret_fast_syscall+0x0/0x3c) ---[ end trace 60807cfb6521c79f ]--- Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dde20ae9d63835178ef4ba9655f530e052c08ab9 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:39 2015 -0700 crypto: caam - Change kmalloc to kzalloc to avoid residual data Since fields must be ORed in to operate correctly using any order of operations, changed allocations of the combination of extended descriptor structs + hardware scatterlists to use kzalloc() instead of kmalloc(), so as to ensure that residue data would not be ORed in with the correct data. Signed-off-by: Steve Cornelius <steve.cornelius@xxxxxxxxxxxxx> Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1f06ec1d48f31a454e4292f3761a4f4178bb916c Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:38 2015 -0700 crypto: caam - Modify Freescale CAAM driver Scatter Gather entry definition Modify the Scatter-Gather entry definitions for the Freescale CAAM driver to include support for both 64- and 32-bit DMA pointers. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 24821c4652dbf85a69e732574874dc191a813da4 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:37 2015 -0700 crypto: caam - Enable and disable clocks on Freescale i.MX platforms ARM-based systems may disable clocking to the CAAM device on the Freescale i.MX platform for power management purposes. This patch enables the required clocks when the CAAM module is initialized and disables the required clocks when the CAAM module is shut down. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 509da8fda4f06d7914dbada7af121c9f00284173 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:36 2015 -0700 crypto: caam - Add setbits32/clrbits32/clrsetbits primitives for ARM compatibility Add set/clear 32-bit primitives for compatibility with ARM devices since the primitives were previously only defined for the Power architecture. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e7472422392461f59bc5d7ddd8542c6a48740336 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:35 2015 -0700 crypto: caam - Add cache coherency support Freescale i.MX6 ARM platforms do not support hardware cache coherency. This patch adds cache coherency support to the CAAM driver. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bf20d772174bbb6b1a7c0b34f04f51caebe2d6aa Merge: e94c6a7 443c0d7 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 23:17:13 2015 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Merge the crypto tree to pull in the authencesn fix. commit ab35a7d0ee59a36c9c567defe43c1adb72e9240c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Aug 8 19:12:10 2015 +0200 perf tools: Unset perf_event_attr::freq when period term is set We need to unset 'perf_event_attr::freq' bit (default 1) when 'period' term is specified within event definition like: -e 'cpu/cpu-cycles,call-graph=fp,time,period=100000' otherwise it will handle the period value as frequency (and fail if it crossed the maximum allowed frequency value). Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150808171210.GC17040@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a9710ba091b0dcdace90f791706e9192313ffb7c Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Aug 7 15:24:05 2015 -0700 perf tools: Support full source file paths for srcline For perf report/script srcline currently only the base file name of the source file is printed. This is a good default because it usually fits on the screen. But in some cases we want to know the full file name, for example to aggregate hits per file. In the later case we need more than the base file name to resolve file naming collisions: for example the kernel source has ~70 files named "core.c" It's also useful as input to post processing tools which want to point to the right file. Add a flag to allow full file name output. Add an option to perf report/script to enable this option. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438986245-15191-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 81497953e37bc28209d9a647171ea93b4a99fc57 Merge: fa8ad78 be12039 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 7 19:58:48 2015 +0100 Merge branch 'psci/for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux into devel-stable commit fe14f39e88c8ac16d0a051f8444a2294f8cb358c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 10 16:53:32 2015 +0200 ALSA: hda - Fix pin config and mapping on Alienware 15 Alienware 15 has CA0132 codec for its onboard sound, but the pin config and mapping seem quite different from other Creative boards. This patch corrects them, at least, for providing the right headphone and mic jack notification, as well as removing the non-existing SPDIF pins. Even with this fix, not all stuff works perfectly yet, mainly because of the badly written ca0132 driver code -- it has too many implicit assumptions of pin configs and maps. Nevertheless, this is a small good step forward. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=101981 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cfd093bbb5fe84ec8c7bb069fe618159a8b601f5 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sun Aug 9 00:02:41 2015 +0200 phy: lpc18xx-usb-otg: fix clock order in phy init Changing the frequency of the USB clock must be done before the PLL is powered on (prepared). This matters when the USB clock is not setup by either boot ROM or boot loader. Reorder the function calls to adhere to the order noted in the user manual. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 3f6175ece947358e988af149ecca0d31100ee6c4 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 10 13:02:53 2015 +0100 ALSA: echoaudio: Use standard C definitions of true and false The echoaudio locally defines TRUE and FALSE. Not only is this redundant given that C now has a boolean type it results in lots of warnings as other headers also define these macros, causing duplicate definitions. Fix this by removing the local defines and converting all local users to use the standard C true and false instead, simply removing the macros is less safe due to implicit inclusion of the other definitons. [fixed overlooked replacement of FALSE by tiwai] Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 92b7cb5dc885b38b21093eefed8028b615952965 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Aug 3 17:40:51 2015 +0300 extcon: palmas: Support GPIO based USB ID detection Some palmas based chip variants do not have OTG based ID logic. For these variants we rely on GPIO based USB ID detection. These chips do have VBUS comparator for VBUS detection so we continue to use the old way of detecting VBUS. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit a1c173dac102d7d91e5cafdb8cb212300063eaa3 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Wed Aug 5 15:45:30 2015 -0700 HID: wacom: Do not repeatedly attempt to set device mode on error As an extension of aef3156d7, there is no sense in repeatedly calling the 'wacom_set_report' and 'wacom_get_report' functions if they return an error. Getting an error from them implies that the device is out to lunch: either a hard error code was returned or repeated attempts at recovering from a "soft" error all failed. In either case, doing even more retries is not likely to resolve whatever is wrong. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e5b94083d0996b4c69674c8a5563c2eb272557ba Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Fri Aug 7 14:08:15 2015 -0700 ASoC: max98090: Fix sequencing when starting additional routes Enforce correct device sequencing when configuring a new audio route when there is an existing active audio route(s). This patch fixed recording noise issue while playback is active. We have some registers which require the device to be in full shutdown or to enter full shutdown before the register settings will take effect. Currently the driver is not shutting down the device when a new audio route is created. If a new audio route is made active while there is already an active audio route, then the required register sequencing is violated. A hardware shutdown toggle when creating a new audio route corrects the sequencing error. The device must remain in hardware shutdown for 40ms to allow the internal hardware core to fully shutdown. Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@xxxxxxxxx> Acked-by: Anish Kumar <anish.kumar@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 141518b64f611536fb7968d291c794d71879099e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:41 2015 +0200 drm/cma-helper: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 6cc56234fe4d76a4c0cfefbf196a33718ba9db73 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:40 2015 +0200 drm/cirrus: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit bf89209a6de37074e3ccdb7b40500798de750698 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:39 2015 +0200 drm/mga200g: Hold a proper reference for cursor_set Looking up an obj, immediate dropping the acquired reference and then continuing to use it isn't how this is supposed to work. Fix this by holding a reference for the entire function. While at it stop grabbing dev->struct_mutex, it doesn't protect anything here. Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 34c294f5a6c0dca7fb75ddc1be3ec8974b24455f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:38 2015 +0200 drm/mga200g: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 37ae75c8fdf5c48293e8a3c39ace8a68fbcca019 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:37 2015 +0200 drm/bochs: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit a66b2ea224c40cf341ca2096aad225536aa25956 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:36 2015 +0200 drm/ast: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8d77a9404ec38be34ffc491a2022022a56e72c90 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:35 2015 +0200 drm/gem: Be more friendly with locking checks BUG_ON kills the driver, WARN_ON is much friendlier. And usually nothing bad happens when the locking is slightly busted. v2: Fix typos in commit message Thierry spotted. Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 2b5cf544934fe15f7b2f8bd26696284606f9e7d3 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:18 2015 +0530 cris/time: Migrate to new 'set-state' interface Migrate cris driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Cc: Rabin Vincent <rabin@xxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: linux-cris-kernel@xxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit ecbebcb868bed598354d3b6d94cfeb10e440e4ca Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:35 2015 +0530 kernel: broadcast-hrtimer: Migrate to new 'set-state' interface Migrate broadcast-hrtimer driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 8e40fc4b782dc582fbf77ee3ff1d735a1d788a76 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:33 2015 +0530 xtensa/time: Migrate to new 'set-state' interface Migrate xtensa driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Chris Zankel <chris@xxxxxxxxxx> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: linux-xtensa@xxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 3078c8df2c03ebad334e1efe7e0867d8b0cd2764 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:32 2015 +0530 unicore/time: Migrate to new 'set-state' interface Migrate unicore driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything for PERIODIC or RESUME modes and so their callbacks aren't implemented. Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 71b5280b79359ca3c6c21d46b6b14a3ae93d8330 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:31 2015 +0530 um/time: Migrate to new 'set-state' interface Migrate um driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: user-mode-linux-devel@xxxxxxxxxxxxxxxxxxxxx Cc: user-mode-linux-user@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit ff4aea45c7f9c73889f08976ad65b31dbc35047e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:29 2015 +0530 sparc/time: Migrate to new 'set-state' interface Migrate sparc drivers to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything which switching to few clockevent modes and so their callbacks aren't implemented. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit d5ed65d83c27aee1c07bf4879cce539055d0c27f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:28 2015 +0530 sh/localtimer: Migrate to new 'set-state' interface Migrate sh driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: linux-sh@xxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 07d93ebdbffac61201d2f7fb81d08872df402f91 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:27 2015 +0530 score/time: Migrate to new 'set-state' interface Migrate score driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ONESHOT/SHUTDOWN/RESUME modes and so callbacks for them aren't implemented. Cc: Chen Liqin <liqin.linux@xxxxxxxxx> Cc: Lennox Wu <lennox.wu@xxxxxxxxx> Cc: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 07aeed3f9ba2a846d07fa870c26c3634e849d4e4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:26 2015 +0530 s390/time: Migrate to new 'set-state' interface Migrate s390 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: linux390@xxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 37a13e78e017c31fbb98a148b54c2552dc08d788 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:25 2015 +0530 powerpc/time: Migrate to new 'set-state' interface Migrate powerpc driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ->set_mode(ONSHOT) and so set_state_oneshot() isn't implemented. Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 00c5a0acd11ec157585d290469b6c82ddd816663 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:24 2015 +0530 openrisc/time: Migrate to new 'set-state' interface Migrate openrisc driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 032facef42a1a15be4a038e5e45819b941c2a6a8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:22 2015 +0530 mn10300/cevt-mn10300: Migrate to new 'set-state' interface Migrate mn10300 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: linux-am33-list@xxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 9797529d8981b2d2dce116ba7cf0641e13a5774b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:21 2015 +0530 microblaze/timer: Migrate to new 'set-state' interface Migrate microblaze driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ->set_mode(RESUME or ONESHOT) and so tick_resume() set_state_oneshot() aren't implemented. Cc: Michal Simek <monstr@xxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 677e6fe06378829a4263f65ee32c4b7242410636 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:17 2015 +0530 c6x/timer64: Migrate to new 'set-state' interface Migrate c6x driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ->set_mode(RESUME) and so tick_resume() isn't implemented. Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Aurelien Jacquiot <a-jacquiot@xxxxxx> Cc: linux-c6x-dev@xxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 067f96218c60266d606258e246df269dfd34d1e6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:16 2015 +0530 blackfin/time-ts: Migrate to new 'set-state' interface Migrate blackfin driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ->set_mode(RESUME) and so tick_resume() isn't implemented. Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 6ec81932988b231e3038f7b73d58b2f9ce1e7ab0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:13 2015 +0530 alpha/time: Migrate to new 'set-state' interface Migrate alpha driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. rtc clockevent device wasn't doing anything in set-mode and so its set-state callbacks aren't implemented. Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: linux-alpha@xxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit fc2b2f5df6d8dbf78c958a34628a3880150d6c9e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 27 15:02:00 2015 +0530 clockevents/drivers/h8300_timer8: Migrate to new 'set-state' interface Migrate h8300_timer8 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 452b13248fe8499b2d9a487999d3610095aecca5 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Jul 21 08:01:14 2015 +0530 clocksource/drivers/sh_tmu: Fix traceback spotted in -next Traceback in -next due to commit 'clockevents/drivers/sh_tmu: Migrate to new 'set-state' interface'. Commit ("clockevents/drivers/sh_tmu: Migrate to new 'set-state' interface") in -next causes the following traceback. This is seen with qemu runs for the sh target. ------------[ cut here ]------------ WARNING: at drivers/clocksource/sh_tmu.c:202 Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 4.2.0-rc3-next-20150720 #1 task: 8c411ed8 ti: 8c40e000 task.ti: 8c40e000 PC is at sh_tmu_disable+0x40/0x60 PR is at sh_tmu_clock_event_shutdown+0x8/0x20 PC : 8c271220 SP : 8c40ff10 SR : 400081f1 TEA : 00000000 R0 : 8c271240 R1 : 8fc08cfc R2 : 00000000 R3 : 3fffffff R4 : 8fc08c00 R5 : 00000001 R6 : 00000002 R7 : ffffffff R8 : 00000001 R9 : 8fc08c20 R10 : 00000000 R11 : 00000000 R12 : 8c012820 R13 : 00000000 R14 : 00000000 MACH: 3b9ac9ff MACL: 80000000 GBR : 00000000 PR : 8c271248 Call trace: [<8c065836>] clockevents_switch_state+0x16/0x60 [<8c06588c>] clockevents_shutdown+0xc/0x40 [<8c066330>] tick_check_new_device+0x90/0xc0 [<8c065556>] clockevents_register_device+0x56/0x120 [<8c0662a0>] tick_check_new_device+0x0/0xc0 [<8c27167a>] sh_tmu_probe+0x29a/0x4e0 [<8c18a994>] kasprintf+0x14/0x20 [<8c442782>] early_platform_driver_probe+0x20e/0x2bc [<8c1fade0>] platform_match+0x0/0x100 [<8c33babc>] printk+0x0/0x24 [<8c434892>] start_kernel+0x32e/0x574 [<8c33babc>] printk+0x0/0x24 [<8c17d320>] strlen+0x0/0x58 [<8c43430c>] unknown_bootoption+0x0/0x1e0 [<8c011024>] _stext+0x24/0x30 ---[ end trace cb88537fdc8fa200 ]--- Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 005e56272b28193540dcd1dab3dadb3da8375eaf Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Aug 4 11:59:42 2015 +0200 clockevents/drivers/timer-atmel-pit: Fix typo in structure initialization Reported-by: Peter Mamonov <pmamonov@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit daea72831d3a18c561f028258ca5fb65ac3c8947 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 15:39:19 2015 +0530 clockevents/drivers/timer-sp804: Migrate to new 'set-state' interface Migrate timer-sp driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. There are few more changes worth noticing: - The clockevent device was disabled by writing: 'TIMER_CTRL_32BIT | TIMER_CTRL_IE' to ctrl register earlier. i.e. by un-setting the TIMER_CTRL_ENABLE bit. Its done by writing zero now and should have the same effect. - For shutdown and resume we were writing the same value twice to the register (to disable the timer), which is fixed now. - Switching to oneshot mode was divided into two parts earlier: - Firstly set_mode() was writing: 'TIMER_CTRL_32BIT | TIMER_CTRL_IE | TIMER_CTRL_ONESHOT' to ctrl register (device not enabled yet) - Then sp804_set_next_event() was enabling the device by writing 'readl(ctrl) | TIMER_CTRL_ENABLE' to the ctrl register. This was unnecessarily complicated. - Change this to: Stop device on set_state_oneshot and configure it in sp804_set_next_event(). Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 26b91f043abda63dd240374f0eac05e7283a509c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 15:39:18 2015 +0530 clockevents/drivers/timer-imx-gpt: Migrate to new 'set-state' interface Migrate timer-imx-gpt driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also drop: - 'imx_timer.cem': It was caching the last state of the clockevent device. The same behavior can be achieved by using clockevents state helpers. These helpers are only required for oneshot mode as shutdown/resume wouldn't be done twice by the core. - 'clock_event_mode_label': CLOCK_EVT_MODE_* shouldn't be used anymore by drivers. The prints are modified to print the set-state functions name now to debug the driver. Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 8c436f84800c570ecde517dcd8709258bb34e498 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 14:00:47 2015 +0200 clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-48 platform_device_id entry Since the removal of the r8a7740 legacy SoC code in commit 44d88c754e57a6d9 ("ARM: shmobile: Remove legacy SoC code for R-Mobile A1"), all former users of the "sh-cmt-48-gen2" platform device name are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8b5f0010fe0d666bb8dfc74b881f2401324a0e89 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Sat Jul 4 13:06:43 2015 +0800 clockevents/drivers/dw_apb_timer: Add dynamic irq flag to the timer Commit d2348fb6fdc6 ("tick: Dynamically set broadcast irq affinity") adds one excellent feature CLOCK_EVT_FEAT_DYNIRQ to let the core set the interrupt affinity of the broadcast interrupt to the cpu which has the earliest expiry time. This patch adds CLOCK_EVT_FEAT_DYNIRQ flag to avoid unnecessary wakeups and IPIs when the dw_apb_timer is used as broadcast timer. A simple test: ~ # rm /tmp/test.sh ~ # cat > /tmp/test.sh cat /proc/interrupts for i in `seq 10` ; do sleep $i; done cat /proc/interrupts ~ # chmod +x /tmp/test.sh ~ # taskset 0x2 /tmp/test.sh without the patch: CPU0 CPU1 27: 115 36 GIC 27 arch_timer 45: 62 0 GIC 45 mmc0 160: 88 0 interrupt-controller 8 timer 227: 0 0 interrupt-controller 4 f7e81400.i2c 228: 0 0 interrupt-controller 5 f7e81800.i2c 229: 0 0 interrupt-controller 7 dw_spi65535 230: 0 0 interrupt-controller 21 f7e84000.i2c 231: 0 0 interrupt-controller 20 f7e84800.i2c 265: 445 0 interrupt-controller 8 serial IPI0: 0 0 CPU wakeup interrupts IPI1: 0 11 Timer broadcast interrupts IPI2: 56 104 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 0 4 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 25 27 IRQ work interrupts IPI7: 0 0 completion interrupts IPI8: 0 0 CPU backtrace Err: 0 CPU0 CPU1 27: 115 38 GIC 27 arch_timer 45: 62 0 GIC 45 mmc0 160: 160 0 interrupt-controller 8 timer 227: 0 0 interrupt-controller 4 f7e81400.i2c 228: 0 0 interrupt-controller 5 f7e81800.i2c 229: 0 0 interrupt-controller 7 dw_spi65535 230: 0 0 interrupt-controller 21 f7e84000.i2c 231: 0 0 interrupt-controller 20 f7e84800.i2c 265: 514 0 interrupt-controller 8 serial IPI0: 0 0 CPU wakeup interrupts IPI1: 0 83 Timer broadcast interrupts IPI2: 56 104 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 0 4 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 25 46 IRQ work interrupts IPI7: 0 0 completion interrupts IPI8: 0 0 CPU backtrace Err: 0 cpu0 get 160-88=72 timer interrupts, CPU1 got 83-11=72 broadcast timer IPIs So, overall system got 72+72=144 wake ups and 72 broadcast timer IPIs With the patch: CPU0 CPU1 27: 107 37 GIC 27 arch_timer 45: 62 0 GIC 45 mmc0 160: 66 7 interrupt-controller 8 timer 227: 0 0 interrupt-controller 4 f7e81400.i2c 228: 0 0 interrupt-controller 5 f7e81800.i2c 229: 0 0 interrupt-controller 7 dw_spi65535 230: 0 0 interrupt-controller 21 f7e84000.i2c 231: 0 0 interrupt-controller 20 f7e84800.i2c 265: 311 0 interrupt-controller 8 serial IPI0: 0 0 CPU wakeup interrupts IPI1: 2 4 Timer broadcast interrupts IPI2: 58 100 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 0 4 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 21 24 IRQ work interrupts IPI7: 0 0 completion interrupts IPI8: 0 0 CPU backtrace Err: 0 CPU0 CPU1 27: 107 39 GIC 27 arch_timer 45: 62 0 GIC 45 mmc0 160: 69 75 interrupt-controller 8 timer 227: 0 0 interrupt-controller 4 f7e81400.i2c 228: 0 0 interrupt-controller 5 f7e81800.i2c 229: 0 0 interrupt-controller 7 dw_spi65535 230: 0 0 interrupt-controller 21 f7e84000.i2c 231: 0 0 interrupt-controller 20 f7e84800.i2c 265: 380 0 interrupt-controller 8 serial IPI0: 0 0 CPU wakeup interrupts IPI1: 3 6 Timer broadcast interrupts IPI2: 60 100 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 0 4 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 21 45 IRQ work interrupts IPI7: 0 0 completion interrupts IPI8: 0 0 CPU backtrace Err: 0 cpu0 got 69-66=3, cpu1 got 75-7=68 timer interrupts. cpu0 got 3-2=1 broadcast timer IPIs, cpu1 got 6-4=2 broadcast timer IPIs. So, overall system got 3+68+1+2=74 wakeups and 1+2=3 broadcast timer IPIs This patch removes 50% wakeups and almost 100% broadcast timer IPIs! Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 79e436d3a7d0510dfe6be3973efd78f6ccfe1492 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:20 2015 +0530 clockevents/drivers/exynos_mct: Migrate to new 'set-state' interface Migrate exynos_mct driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit cf4541c101ea497f68639cc94a2639a05cc3710f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:38 2015 +0530 clockevents/drivers/tcb_clksrc: Migrate to new 'set-state' interface Migrate tcb_clksrc driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit f0753793d33931bffbc7eee3289bf4d289728ef6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:55 2015 +0530 clockevents/drivers/zevio: Migrate to new 'set-state' interface Migrate zevio driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Daniel Tang <dt.tangr@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 214bc755b67029821106acc0b73abdc9b4ca6968 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:54 2015 +0530 clockevents/drivers/vt8500: Migrate to new 'set-state' interface Migrate vt8500 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Tony Prisk <linux@xxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 9552a6af8c807ab547c053399b40bd05781fa0a8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:53 2015 +0530 clockevents/drivers/vf_pit: Migrate to new 'set-state' interface Migrate vf_pit driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jingchang Lu <b35083@xxxxxxxxxxxxx> Cc: Stefan Agner <stefan@xxxxxxxx> Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> commit 8ff8fc13bdd4f1474720669042fccfbf304638f1 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:52 2015 +0530 clockevents/drivers/u300: Migrate to new 'set-state' interface Migrate u300 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7486f5ad27f6833397d55972878e7d73e84bede2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:51 2015 +0530 clockevents/drivers/sun5i: Migrate to new 'set-state' interface Migrate sun5i driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8e8af4cd3b4227d1bc64db0f0a4081095eb519b2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:50 2015 +0530 clockevents/drivers/stm32: Migrate to new 'set-state' interface Migrate stm32 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Acked-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> commit 53cba064443c1f36a55aa9dbc38f1d0d2aac96a4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:49 2015 +0530 clockevents/drivers/prima2: Migrate to new 'set-state' interface Migrate prima2 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Barry Song <baohua@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 634eb0ec8c210ca3ea81b5b9493b4a39999bbf4a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:48 2015 +0530 clockevents/drivers/keystone: Migrate to new 'set-state' interface Migrate keystone driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also pass the mode-mask to keystone_timer_config() instead of the mode as mode macro's aren't valid anymore. Cc: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit f710bdeecffe9ce3ad8bdc358c6109d3848f6352 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:47 2015 +0530 clockevents/drivers/integrator: Migrate to new 'set-state' interface Migrate integrator driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. For oneshot mode the clkevt device was first getting disabled by clearing TIMER_CTRL_ENABLE bits in TIMER_CTRL register, followed by clearing TIMER_CTRL_PERIODIC bit. Both these are done with a single write operation now. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e0d1ca332c1e91febd0de0ef69a45957cdc39fd8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:46 2015 +0530 clockevents/drivers/digicolor: Migrate to new 'set-state' interface Migrate digicolor driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Baruch Siach <baruch@xxxxxxxxxx> Tested-by: Baruch Siach <baruch@xxxxxxxxxx> commit 8ab282305f88c693275925330a0f93b16cab9c37 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:45 2015 +0530 clockevents/drivers/atmel-st: Migrate to new 'set-state' interface Migrate atmel-st driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 85250fb89be3792c8a6793a594e30307c4e39214 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:44 2015 +0530 clockevents/drivers/atmel: Migrate to new 'set-state' interface Migrate atmel driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1e729d378e75063bf3fa91c62ea372fb73012b24 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:43 2015 +0530 clockevents/drivers/atlas7: Migrate to new 'set-state' interface Migrate atlas7 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Barry Song <baohua@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 5dd2482c8e7d8108e8d5d59a25f7b7a16d1ea64e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:42 2015 +0530 clockevents/drivers/orion: Migrate to new 'set-state' interface Migrate orion driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Gregory Clement <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 20bf54f1172931df634d8f8cf05ba2c2d371dc10 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:41 2015 +0530 clockevents/drivers/efm32: Migrate to new 'set-state' interface Migrate efm32 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. There is nothing to be done for resume state and so isn't implemented. Cc: Uwe Kleine-König <kernel@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit d96f4412bcbd6698b6241146f01021dabdf052f3 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:40 2015 +0530 clockevents/drivers/time-armada-370-xp: Migrate to new 'set-state' interface Migrate time-armada-370-xp driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Cc: Gregory Clement <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 4134d29bfc4703d4000fc3a49ea4aeeae494d85a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 3 14:24:35 2015 +0530 clockevents/drivers/tegra20: Migrate to new 'set-state' interface Migrate tegra20 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 6de6c977bdf61b1ca6f321aba468275c32952d79 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:37 2015 +0530 clockevents/drivers/sun4i: Migrate to new 'set-state' interface Migrate sun4i driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2bcc4da3d45c5c69e529f7f454191a749277ab1d Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:36 2015 +0530 clockevents/drivers/sh_tmu: Migrate to new 'set-state' interface Migrate sh_tmu driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Paul Mundt <lethal@xxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 19a9ffb3d6e9ed1d3a46aee18d0b7f8eff41c82b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:35 2015 +0530 clockevents/drivers/sh_mtu2: Migrate to new 'set-state' interface Migrate sh_mtu2 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Paul Mundt <lethal@xxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 051b782e2406af7f831602c70f887ca9b510b511 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:34 2015 +0530 clockevents/drivers/sh_cmt: Migrate to new 'set-state' interface Migrate sh_cmt driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Paul Mundt <lethal@xxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit b49b570474490bad8ee5289b103563d978f20a7e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:33 2015 +0530 clockevents/drivers/samsung_pwm: Migrate to new 'set-state' interface Migrate samsung_pwm driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Tomasz Figa <tfiga@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 99b3fa72efc545a7e21955c17f6a2f6f87dfacde Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:32 2015 +0530 clockevents/drivers/rockchip: Migrate to new 'set-state' interface Migrate rockchip driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything for oneshot or resume modes, and so the callbacks aren't provided. Cc: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 736b2df2abc1f128ce381e9f2e578502cabc2973 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:31 2015 +0530 clockevents/drivers/qcom: Migrate to new 'set-state' interface Migrate qcom driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Periodic mode isn't supported by the driver and so the callback isn't provided anymore. Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Cc: David Brown <davidb@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 47d490ea1529633f02209fcb4e89438995375a6f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:30 2015 +0530 clockevents/drivers/pxa: Migrate to new 'set-state' interface Migrate pxa driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Both oneshot and shutdown modes had exactly same code and so only a single callback is sufficient now, which will be called for both the modes. Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 9b0af69947562858059b379794b6e94309f367ed Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:29 2015 +0530 clockevents/drivers/nomadik-mtu: Migrate to new 'set-state' interface Migrate nomadik-mtu driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit eb8703e2ef7c311900174818e884bd49f64d4511 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:28 2015 +0530 clockevents/drivers/mxs: Migrate to new 'set-state' interface Migrate mxs driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also drop: - 'mxs_clockevent_mode': as we have helpers available from core for the same. same state twice and so perhaps the check wasn't required. - 'clock_event_mode_label': CLOCK_EVT_MODE_* shouldn't be used anymore by drivers and it was used just to print old-state:new-state. The debug prints are called from mxs_irq_clear() now based on the state-name passed to it. The printed name will be same for shutdown and resume states as they use the same callback pointer. Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit a2b7e10d29051a084b490c2911c3e1388b5f9677 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:27 2015 +0530 clockevents/drivers/mtk: Migrate to new 'set-state' interface Migrate mtk driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 37ae24716a584da33253cf6630a91c01b6656cc0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:26 2015 +0530 clockevents/drivers/moxart: Migrate to new 'set-state' interface Migrate moxart driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit d47409347e76ca5e7cdbbb515a9000878b5222cc Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:25 2015 +0530 clockevents/drivers/mips-gic: Migrate to new 'set-state' interface Migrate mips-gic driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 3f583d01d796f7b9fda0203b134585ca06a242ad Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:24 2015 +0530 clockevents/drivers/metag_generic: Migrate to new 'set-state' interface Migrate metag_generic driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. Even the WARN() for periodic or unused modes isn't required anymore as the core is taking care of that now. So, this patch doesn't provide any set-state callbacks. Cc: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 40117bd559d3119eb06206f5323680d712db7775 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:23 2015 +0530 clockevents/drivers/meson6: Migrate to new 'set-state' interface Migrate meson6 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Carlo Caione <carlo@xxxxxxxxxx> commit 8eda41b0863ca82010010e951b7aa13b66a06e78 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:22 2015 +0530 clockevents/drivers/i8253: Migrate to new 'set-state' interface Migrate i8253 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 737663401897f84610d00552eeb83ffa4d730142 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:21 2015 +0530 clockevents/drivers/fsl_ftm: Migrate to new 'set-state' interface Migrate fsl_ftm driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 226be92b3e6ec2412cd29520fa09fb41a2606cb6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:19 2015 +0530 clockevents/drivers/dw_apb: Migrate to new 'set-state' interface Migrate dw_apb driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Cc: Jamie Iles <jamie@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 5c78b265454e6199754b61fa33ea3c1337e6aeab Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:18 2015 +0530 clockevents/drivers/dummy_timer: Migrate to new 'set-state' interface Migrate dummy_timer driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Viresh Kumae <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit bd88420c589afc0c58542a5d1953637ef2fa64e4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:17 2015 +0530 clockevents/drivers/clps711x: Migrate to new 'set-state' interface Migrate clps711x driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 5c0a4bbefc0571ba3addb39da0eb53368c018b64 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:16 2015 +0530 clockevents/drivers/cadence_ttc: Migrate to new 'set-state' interface Migrate cadence_ttc driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> commit 3465f60917f2dbbc227e2a2e7913ad75bb604c12 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Jun 30 14:30:48 2015 +0530 clockevents/drivers/asm9260: Migrate to new 'set-state' interface Migrate asm9260 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. As a default the timer was stopped when entering in the set_mode(RESUME) function, now this is done explicitly with the new API. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 0fae62eafec3c033d49160344228a4fa7d6303bc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 14:56:29 2015 +0200 clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-48-gen2 platform_device_id entry Since commit 914d7d148411997c ("ARM: shmobile: r8a73a4: Remove legacy code"), all former users of the "sh-cmt-48-gen2" platform device name are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 59252d187763ef3675fba1623be6996761fc2400 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 14:56:28 2015 +0200 clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-32-fast platform_device_id entry Since commit 59b89af1d5551c12 ("ARM: shmobile: sh7372: Remove Legacy C SoC code"), there are no more users left of the "sh-cmt-32-fast" platform device name. Hence remove the corresponding platform_device_id entry from the driver. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 479a932982944786269296a31682e5642f87b89a Author: Alexey Klimov <klimov.linux@xxxxxxxxx> Date: Sun Jun 21 23:41:39 2015 +0300 clockevents/drivers/exynos_mct: Remove unneeded container_of() Patch removes unneeded container_of() macro in exynos4_local_timer_setup(). Instead let's pass mevt pointer to setup and stop functions from exynos4_mct_cpu_notify() and let them get evt pointer. Tested on odroid-xu3. Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit 02760b116c56376ad564e959f81835008848861d Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Wed Jun 17 19:42:30 2015 +0800 clockevents/drivers/Kconfig: Replace USE_OF with OF USE_OF is used as intermediate Kconfig option by few arch's (ARM, MIPS, Xtensa); in all these cases it implies setting option OF too. Replace the only instance of USE_OF in clocksource with OF. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 86e488adaab77a733b01e759bf7bfda054479660 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jul 22 13:28:51 2015 +0100 mailbox: arm_mhu: reduce txpoll_period from 10ms to 1 ms Since the mailbox core users hrtimers now, it can handle much higher resolutions. We can reduce the txpoll_period to 1 ms as the transmit usually takes just few microseconds. Reported-and-suggested-by: Juri Lelli <Juri.Lelli@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 0cc67945ea5933d53db69606312cf52f553d1b81 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Jul 31 11:48:05 2015 +0100 mailbox: switch to hrtimer for tx_complete polling The mailbox core uses jiffy based timer to handle polling for the transmit completion. If the client/protocol have/support notification of the last packet transmit completion via ACK packet, then we tick the Tx state machine immediately in the callback. However if the client doesn't support that mechanism we might end-up waiting for atleast a jiffy even though the remote is ready to receive the next request. This patch switches the timer used for that polling from jiffy-based to hrtimer-based so that we can support polling at much higher time resolution. Reported-and-suggested-by: Juri Lelli <Juri.Lelli@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 64d0ed94f5dfde5efac15941128f60edf7f15c17 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Wed Aug 5 15:45:30 2015 -0700 HID: wacom: Do not repeatedly attempt to set device mode on error As an extension of aef3156d7, there is no sense in repeatedly calling the 'wacom_set_report' and 'wacom_get_report' functions if they return an error. Getting an error from them implies that the device is out to lunch: either a hard error code was returned or repeated attempts at recovering from a "soft" error all failed. In either case, doing even more retries is not likely to resolve whatever is wrong. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1ecb40643a9af05683b7a898d7141884bcb28a82 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:09 2015 +0200 m68k/bootinfo: Use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 519f648e15ccded12e7ce4a26c7959c4ac46b145 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:43:22 2015 +0200 m68k/defconfig: Update defconfigs for v4.2-rc1 Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit d15135bd94bfb94077484baae0e53e3675541763 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:38:14 2015 +0200 m68k/defconfig: Disable experimental CONFIG_DM_CACHE Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 66621f96c95175cc64d91dd213781bf65bbf8ec4 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Fri Jul 17 13:01:23 2015 +0100 i2c: viperboard: clean up inconsistent indenting Minor clean up of indenting, no functional change Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> [wsa: squashed two lines into one] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit a1f64317bbf5febe4c763cd6e022d533a802b847 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 21 16:14:36 2015 +0900 i2c: cadence: set THIS_MODULE to the owner of the adapter The owner of the adapter is missing, while this driver is tristate. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6e24d205a8aa78227c6f2573ed725b4517b5b1b3 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sat Aug 8 20:30:36 2015 +0200 hwmon: ina209: move binding docs to proper place The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 8113627c3f777473262192dfb2c693f0e1f78ef5 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sat Aug 8 20:30:35 2015 +0200 hwmon: ina2xx: move binding docs to proper place The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 220c04f834f7bd76e1a33711add61735796dc7f2 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sat Aug 8 20:30:34 2015 +0200 hwmon: max6697: move binding docs to proper place The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 301b06f80fb120b36ad6981038ffe8a0b5039d44 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sat Aug 8 20:30:33 2015 +0200 rtc: bq32k: move binding docs to proper place The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxxx> commit c49c1f0873faddf78c3545a8e25dfe23e8d15c2f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Aug 7 14:04:19 2015 +0200 misc: eeprom: Export I2C module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name>" regardless if the driver later is match using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fb427466dcde21fc4aab27153735bdd5c62b422d Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Aug 7 14:53:03 2015 +0300 i2c: designware: Make debug print in i2c_dw_isr() shorter Printing adapter name is irrelevant from this debug print and makes output needlessly long. Having already device and functions names printed here is enough for debugging. While at it remove extra space from "enabled= 0x" and use "%#x" for printing "0x" prefixed hexadecimal values. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> [wsa: made it a oneliner] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0d1ad98dd837c069572d16faf77fa7f50748c7d5 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Jul 27 17:30:51 2015 +0300 i2c: arb-gpio-challenge: use of_get_i2c_adapter_by_node interface This change is needed to properly lock I2C parent bus driver. Prior to this change i2c_put_adapter() is misused, which may lead to an overflow over zero of I2C bus driver user counter. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 48e9743dd6483c5fd3f10c8e42c60d52d64b0e27 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Jul 27 17:30:50 2015 +0300 i2c: core: add and export of_get_i2c_adapter_by_node() interface of_find_i2c_adapter_by_node() call requires quite often missing put_device(), and i2c_put_adapter() releases a device locked by i2c_get_adapter() only. In general module_put(adapter->owner) and put_device(dev) are not interchangeable. This is a common error reproduction scenario as a result of the misusage described above (for clearness this is run on iMX6 platform with HDMI and I2C bus drivers compiled as kernel modules): root@mx6q:~# lsmod | grep i2c i2c_imx 10213 0 root@mx6q:~# lsmod | grep dw_hdmi_imx dw_hdmi_imx 3631 0 dw_hdmi 11846 1 dw_hdmi_imx imxdrm 8674 3 dw_hdmi_imx,imx_ipuv3_crtc,imx_ldb drm_kms_helper 113765 5 dw_hdmi,imxdrm,imx_ipuv3_crtc,imx_ldb root@mx6q:~# rmmod dw_hdmi_imx root@mx6q:~# lsmod | grep i2c i2c_imx 10213 -1 ^^^^^ root@mx6q:~# rmmod i2c_imx rmmod: ERROR: Module i2c_imx is in use To fix existing users of these interfaces and to avoid any further confusion and misusage in future, add one more interface of_get_i2c_adapter_by_node(), it is similar to i2c_get_adapter() in sense that an I2C bus device driver found and locked by user can be correctly unlocked by i2c_put_adapter(). Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 611e12ea0f121a31d9e9c4ce2a18a77abc2f28d6 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Jul 27 17:30:49 2015 +0300 i2c: core: manage i2c bus device refcount in i2c_[get|put]_adapter In addition to module_get()/module_put() add get_device()/put_device() calls into i2c_get_adapter()/i2c_put_adapter() exported interfaces. This is done to lock I2C bus device, if it is in use by a client. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 141124e6e0db645396321aabed01c5e0b12cccc1 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:23:17 2015 +0900 misc: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 069d5b745b2a98ebc8c239fe0b7bdb6c5ff0f475 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:52:31 2015 +0900 i2c: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b0898fdaffb2932aba0108986b90d9d69888e189 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 13:15:36 2015 +0300 i2c: designware-pci: use IRQF_COND_SUSPEND flag The mentioned flag fixes a warning on Intel Edison board since one of the I2C controller shares IRQ line with watchdog timer. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8ab7f089ec003f817f74c45a2563ed40a50de208 Author: Denis Carikli <denis@xxxxxxxxxx> Date: Thu Jul 23 12:03:47 2015 +0200 DT: i2c: Add ADS7828 and ADS7830 to list of trivial devices This adds devicetree documentation for the bindings of the ads7828 driver. Signed-off-by: Denis Carikli <denis@xxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 82cd5d041c8c2cdceaa6833d2f73905279d1c94f Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 13 19:31:12 2015 +0200 i2c: parport: Add VCT-jig adapter Add support for VCT-jig parallel port I2C adapter to i2c-parport. The adapter schematic can be found here (in the RAR file): http://remont-aud.net/shop/22/desc/vct-jig-komplekt-dlja-samostojatelnoj-sborki Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 63cab195bf498676619951e81ad5791e9d47c420 Author: Anurag Kumar Vulisha <anurag.kumar.vulisha@xxxxxxxxxx> Date: Fri Jul 10 20:10:14 2015 +0530 i2c: removed work arounds in i2c driver for Zynq Ultrascale+ MPSoC Cadence 1.0 version has bugs which have been fixed in the cadence 1.4 version. This patch removes the quirks present in the driver for cadence 1.4 version. Signed-off-by: Anurag Kumar Vulisha <anuragku@xxxxxxxxxx> [wsa: fixed indentation issues in r1p10_i2c_def] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d57f5dedde18253d5c72a823c0a7ff3b20b57560 Author: Laxman Dewangan <ldewangan@xxxxxxxxxx> Date: Tue Jun 30 16:24:27 2015 +0530 i2c: tegra: add support for fast plus (FM+) mode clock rate Tegra I2C controller required to configure the clock divisor register inside controller to different value based on the clock speed. The recommended clock divisor for the I2C controller for standard/fast mode is 0x19 and for fast-mode plus is 0x10. Add support to configure clock divisor register of I2C controller based on bus clock rate. This clock divisor is supported form T114 onwards. Signed-off-by: Chaitanya Bandi <bandik@xxxxxxxxxx> Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6f4664b2e2c2cfa35b48271423c5e602b6970f14 Author: Laxman Dewangan <ldewangan@xxxxxxxxxx> Date: Tue Jun 30 16:24:26 2015 +0530 i2c: tegra: update CONFIG_LOAD for new conifiguration Once the new configuration is set on the conifg register of I2C controller, it is require to update the CONFIG_LOAD register to transfer the new SW configuration to actual HW internal registers that would be used in the actual logic. It is like, SW is programming only shadow registers through regular configuration and when these load_config bit fields are set to 1, it causes the regular/shadows registers configuration transferred to the HW internal active registers. So SW has to set these bit fields at the end of all regular registers configuration. And these config_load bits are HW auto-clear bits. HW clears these bit fields once the register configuration is moved to HW internal active registers. So SW has to wait until these bits are auto-cleared before going for any further programming This mechanism is supported on T124 and after this SoCs. Signed-off-by: Chaitanya Bandi <bandik@xxxxxxxxxx> Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 77441ac00d324c037c088da090fa505b45dad9d4 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Tue Jul 14 14:07:08 2015 +0200 i2c: omap: fix cleanup regression Patch "i2c: omap: abolish variable name confusion" triggered a coccinelle warning which we fix here: drivers/i2c/busses/i2c-omap.c:1333:5-24: pm_runtime_get_sync returns < 0 as error. Unecessary IS_ERR_VALUE at line 1334 Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6b0c8dc3104253a5e4b2ec923eeb48cece0abcb9 Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:19 2015 +0530 i2c: xiic: Do not continue in case of errors in Rx In case of error conditions like Arbitration lost or NACK lets signal the waiting process. Handle error cases in the Rx path Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7f9906bd7f7211327ba58657caa216608f9c93de Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:18 2015 +0530 i2c: xiic: Service all interrupts in isr Currently only one interrupt is serviced in the isr. In case the multiple interrupts happen simultenously we service and ack only one of them. Check for all the causes in the isr and service them. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 542e2a9b739068c1b72db530987382662201469a Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:17 2015 +0530 i2c: xiic: Remove the Addressed as slave interrupt Currently there is no slave mode support in the driver also in the isr we just ack it and do nothing. So disable the AAS interrupt. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b33aa252785eb6de2f5325a3338fa917a9b4bc66 Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:15 2015 +0530 i2c: xiic: Remove busy loop while waiting for bus busy Remove the busy loop while waiting for bus busy. Instead let the processor sleep. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e6c9a037bc8afdce055a2a23bb61903b3844dfda Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:14 2015 +0530 i2c: xiic: Remove the disabling of interrupts Currently before every transfer the interrupts are disabled. So incase the slave nacks in the middle of the transfer the current transfer is not aborted. Upon enabling the interrupts conditions like NACK , arbitration lost will not be masked. Remove the disabling of the interrupts. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d701667bb3318f27152ad61a6f5cc8b36cc5fcad Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:13 2015 +0530 i2c: xiic: Do not reset controller before every transfer Currently before every transfer the controller is reinitialised. We are already resetting the controller upon errors so upon every transfer is a performance kill. Remove the same. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fcc2fac60a95b4e63682ae4128e86d8768602fab Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:12 2015 +0530 i2c: xiic: move the xiic_process to thread context The xiic_process is a 154 line code that runs in isr context currently move it to thread context. Also the name xiic_process suggests that the intension was to run in process context. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> [wsa: initialized irqreturn_t to IRQ_NONE instead of IRQ_HANDLED] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0387fc1645fed3b723e8556d83452bc09f79fd24 Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:11 2015 +0530 i2c: xiic: Remove the disabling of interrupts Currently the interrupts are disabled at the start of the isr and enabled at the end of the isr. Remove the same. In case the slave device NACKs the transaction while in the isr the transfer will continue and the NACK interrupt will arrive only after the isr is serviced. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 51fcce86a70f6f63d733619afc425821118838dc Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Tue Jul 14 13:06:45 2015 +0530 i2c: pxa: Use devm_ variants in probe function This patch cleans up i2c_pxa_probe() function, - Use devm_ variants wherever This will clean both probe exit and i2c_pxa_remove() functions - Check platform resource before parsing any other data from DT/platform - Use dev_err on failure from i2c_add_numbered_adapter() - Use pr_info instead of printk for KERN_INFO Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> [wsa: removed unneeded error prinout after devm_ioremap_resource] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 3a2dc1677b60af250bea85d470ef5151c70a1264 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Tue Jul 14 13:06:44 2015 +0530 i2c: pxa: Update debug function to dump more info on error Update i2c_pxa_scream_blue_murder() fn to print more information in case of error. Also, use dev_err variants instead of printk. Signed-off-by: Jett.Zhou <jtzhou@xxxxxxxxxxx> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e2b498fd55a871ab3913914b982e3dd07d32e90e Author: Yipeng Yao <ypyao@xxxxxxxxxxx> Date: Tue Jul 14 13:06:43 2015 +0530 i2c: pxa: Fix compile warning in 64bit mode Fix below warning message, coming from 64 bit toolchain. drivers/i2c/busses/i2c-pxa.c:1237:15: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] Signed-off-by: Yipeng Yao <ypyao@xxxxxxxxxxx> [vaibhav.hiremath@xxxxxxxxxx: Updated Changelog] Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8bd75bd3038df5e743c7daa84c2d34d13493b395 Author: Shouming Wang <wangshm@xxxxxxxxxxx> Date: Tue Jul 14 13:06:42 2015 +0530 i2c: pxa: Return I2C_RETRY when timeout in pio mode In case of timeout in pio mode of operation return I2C_RETRY. This behavior will be same as interrupt mode of operation. Signed-off-by: Shouming Wang <wangshm@xxxxxxxxxxx> [vaibhav.hiremath@xxxxxxxxxx: Updated changelog] Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e087b4272effeacc10629316d47a257c88f82898 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Tue Jul 14 13:06:41 2015 +0530 i2c: pxa: No need to set slave addr for i2c master mode reset Normally i2c controller works as master, so slave addr is not needed, or it will impact some slave device (eg. ST NFC chip) i2c accesses, because it has the same i2c address with controller. For example, On the pxa1928 based platform, where PMIC (88pm860) is present @0x30 address on TWSI0 interface, and if we set 0x30 as a slave address in pxa1928 TWSI0 module, all the transactions towards PMIC would go for toss. Signed-off-by: Jett.Zhou <jtzhou@xxxxxxxxxxx> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit abf8a1fba9a48535595857ed46ad642272eea05c Author: Leilei Shang <shangll@xxxxxxxxxxx> Date: Tue Jul 14 13:06:40 2015 +0530 i2c: pxa: keep i2c irq ON in suspend During suspend there may still be some i2c access happening, as the interrupt is shared between multiple drivers. And if we don't keep i2c irq ON, there may be i2c access timeout if i2c is in irq mode of operation. Signed-off-by: Raul Xiong <xjian@xxxxxxxxxxx> Signed-off-by: Xiaofan Tian <tianxf@xxxxxxxxxxx> [vaibhav.hiremath@xxxxxxxxxx: updated Changelog] Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5faf6e1f58b4488a8b24a722ccf317ed67a8e8d8 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 11 09:46:23 2015 +0200 i2c: emev2: add driver Add a basic driver for the Renesas EMEV2 SoC. Based on the driver from the BSP which was first worked on by Ian, and made ready for upstream by me. Signed-off-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e1069878b957c5f6d0eb2f441a8372db8d6198b2 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 11 09:46:22 2015 +0200 clk: shmobile: emev2: deassert reset for IIC0/1 We have a driver now for IIC, so disable reset for them. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1c4828f916ffd5b7cc4d57d832cce615475b36da Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jul 13 15:38:04 2015 -0500 i2c: omap: on ->remove() call pm_runtime_put_sync() we're about to remove the module, so we can't really schedule a PM transition in the future, we must wait for it to finish. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 63f8f85625fa726bdf28862dd4d2e1bf3d230bb8 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jul 13 15:38:03 2015 -0500 i2c: omap: abolish variable name confusion struct device pointers are usually called dev. Calling our struct omap_i2c_dev pointers also dev has caused enough confusion. This is the result of a few simple sed rules to convert all struct omap_i2c_dev pointers to be called omap instead. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c680e3291857216465714ba1d3336befaa5b4725 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jul 13 15:38:02 2015 -0500 i2c: omap: switch to dev_get_drvdata() there's no need to fetch the platform_device in order to dereference it back to the dev pointer to access drvdata, we can use dev_get_drvdata() instead. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 20226118bceed7b432f4bc5bae34c1c160689bf7 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jun 18 18:33:47 2015 +0530 i2c: parport: start using pr_fmt Start using pr_fmt and convert all remaining printk to use pr_* family of macros. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> [wsa: remove print on kzalloc failure] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c5f3d544a7f29b16de37c10f51b38c4b7ad31804 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jun 18 18:33:46 2015 +0530 i2c: parport: use dev_* Now parport is using device model so use dev_* macros instead of printk. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2cf1b5ce16b61259e3633fb61e6fedaad6e25fc5 Merge: ecea499 e577516 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 9 22:54:10 2015 -0700 Merge branch 'mlxsw-fixes' Jiri Pirko says: ==================== mlxsw: Couple of fixes/adjustments Ido Schimmel (5): mlxsw: Call free_netdev when removing port mlxsw: Make system port to local port mapping explicit mlxsw: Simplify mlxsw_sx_port_xmit function mlxsw: Use correct skb length when dumping payload mlxsw: Fix use-after-free bug in mlxsw_sx_port_xmit Jiri Pirko (2): mlxsw: Make pci module dependent on HAS_DMA and HAS_IOMEM mlxsw: Strip FCS from incoming packets ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e577516b9db3e0f19df82b6430fe3b06e05d6304 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:58 2015 +0200 mlxsw: Fix use-after-free bug in mlxsw_sx_port_xmit Store the length of the skb before transmitting it and use it for stats instead of skb->len, since skb might have been freed already. This issue was discovered using the Kernel Address sanitizer (KASan). Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bfcd34764cbd3bcb48f6e9009eacf1d19856213 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:57 2015 +0200 mlxsw: Use correct skb length when dumping payload Do not use the length of the transmitted skb (which was freed), but that of the response skb. This issue was discovered using the Kernel Address sanitizer (KASan). Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d003462a50de8605e66be0966e6370ab9821e07e Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:56 2015 +0200 mlxsw: Simplify mlxsw_sx_port_xmit function Previously we only checked if the transmission queue is not full in the middle of the xmit function. This lead to complex logic due to the fact that sometimes we need to reallocate the headroom for our Tx header. Allow the switch driver to know if the transmission queue is not full before sending the packet and remove this complex logic. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b7b9cff7468fdf38ab189dde6ecb4750b171bc8 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:55 2015 +0200 mlxsw: Strip FCS from incoming packets FCS of incoming packets is already checked by HW. Just strip it out. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74ed207e2a82dece0de0849df62cd450dec9d4d7 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:54 2015 +0200 mlxsw: Make pci module dependent on HAS_DMA and HAS_IOMEM This resolves compile errors on um-allyesconfig. Note that there are many other drivers which have the same issue. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e61011b5e044b15727fc6ee330c17f1fc69faef8 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:53 2015 +0200 mlxsw: Make system port to local port mapping explicit System ports are unique identifiers in a multi-ASIC environment that represent all the available ports in the system. Local ports on the other hand, are unique only within the local ASIC. Since system port to local port mapping is not part of the HW-SW contract and since only single-ASIC configurations are currently supported, set an explicit 1:1 mapping by configuring the Switch System Port Record (SSPR) register. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26a80f6e542e6b86c9ad9c3d217d74ca8c3fed66 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:52 2015 +0200 mlxsw: Call free_netdev when removing port When removing a port's netdevice we should also free the memory allocated by alloc_etherdev(). Do this by calling free_netdev() at the end of the teardown sequence. Reported-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ecea49914b329e3f5cf746979c10e05e6bdad77a Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Aug 6 21:27:54 2015 +0900 net: ethernet: Fix double word "the the" in eth.c This patch fix double word "the the" in Documentation/DocBook/networking/API-eth-get-headlen.html Documentation/DocBook/networking/netdev.html Documentation/DocBook/networking.xml These files are generated from comment in source, so I have to fix comment in net/ethernet/eth.c. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0024f8920045c6a57d98b44290bbaebb0e3c6c00 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Thu Aug 6 19:03:35 2015 +0800 net: phy: add RealTek RTL8211DN phy id RTL8211DN is compatible with RTL8211E. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 118d5234636ca3718f47ca2c8a3b117c19dfdffd Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Thu Aug 6 11:04:56 2015 +0100 mpls: Enforce payload type of traffic sent using explicit NULL RFC 4182 s2 states that if an IPv4 Explicit NULL label is the only label on the stack, then after popping the resulting packet must be treated as a IPv4 packet and forwarded based on the IPv4 header. The same is true for IPv6 Explicit NULL with an IPv6 packet following. Therefore, when installing the IPv4/IPv6 Explicit NULL label routes, add an attribute that specifies the expected payload type for use at forwarding time for determining the type of the encapsulated packet instead of inspecting the first nibble of the packet. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d74a790d5237e7f56677030d932bc4f37ec36c92 Merge: f1d5ca4 47efb30 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 9 22:50:06 2015 -0700 Merge branch 'bpf-perf' Kaixu Xia says: ==================== bpf: Introduce the new ability of eBPF programs to access hardware PMU counter This patchset is base on the net-next: git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git commit 9dc20a649609c95ce7c5ac4282656ba627b67d49. Previous patch v6 url: https://lkml.org/lkml/2015/8/4/188 changes in V7: - rebase the whole patch set to net-next tree(9dc20a64); - split out the core perf APIs into Patch 1/5; - change the return value of function perf_event_attrs() from struct perf_event * to const struct perf_event * in Patch 1/5; - rename the function perf_event_read_internal() to perf_event_ read_local() and rewrite it in Patch 1/5; - rename the function check_func_limit() to check_map_func _compatibility() and remove the unnecessary pass pointer to a pointer in Patch 4/5; changes in V6: - make the Patch 1/4 commit message more meaning and readable; - remove the unnecessary comment in Patch 2/4 and make it clean; - declare the function perf_event_release_kernel() in include/ linux/perf_event.h to fix the build error when CONFIG_PERF_EVENTS isn't configured in Patch 2/4; - add function perf_event_attrs() to get the struct perf_event_attr in Patch 2/4. - move the related code from kernel/trace/bpf_trace.c to kernel/ events/core.c and add function perf_event_read_internal() to avoid poking inside of the event outside of perf code in Patch 3/4; - generial the func & map match-pair with an array in Patch 3/4; changes in V5: - move struct fd_array_map_ops* fd_ops to bpf_map; - move array perf event decrement refcnt function to map_free; - fix the NULL ptr of perf_event_get(); - move bpf_perf_event_read() to kernel/bpf/bpf_trace.c; - get rid of the remaining struct bpf_prog; - move the unnecessay cast on void *; changes in V4: - make the bpf_prog_array_map more generic; - fix the bug of event refcnt leak; - use more useful errno in bpf_perf_event_read(); changes in V3: - collapse V2 patches 1-3 into one; - drop the function map->ops->map_traverse_elem() and release the struct perf_event in map_free; - only allow to access bpf_perf_event_read() from programs; - update the perf_event_array_map elem via xchg(); - pass index directly to bpf_perf_event_read() instead of MAP_KEY; changes in V2: - put atomic_long_inc_not_zero() between fdget() and fdput(); - limit the event type to PERF_TYPE_RAW and PERF_TYPE_HARDWARE; - Only read the event counter on current CPU or on current process; - add new map type BPF_MAP_TYPE_PERF_EVENT_ARRAY to store the pointer to the struct perf_event; - according to the perf_event_map_fd and key, the function bpf_perf_event_read() can get the Hardware PMU counter value; Patch 5/5 is a simple example and shows how to use this new eBPF programs ability. The PMU counter data can be found in /sys/kernel/debug/tracing/trace(trace_pipe).(the cycles PMU value when 'kprobe/sys_write' sampling) $ cat /sys/kernel/debug/tracing/trace_pipe $ ./tracex6 ... syslog-ng-548 [000] d..1 76.905673: : CPU-0 681765271 syslog-ng-548 [000] d..1 76.905690: : CPU-0 681787855 syslog-ng-548 [000] d..1 76.905707: : CPU-0 681810504 syslog-ng-548 [000] d..1 76.905725: : CPU-0 681834771 syslog-ng-548 [000] d..1 76.905745: : CPU-0 681859519 syslog-ng-548 [000] d..1 76.905766: : CPU-0 681890419 syslog-ng-548 [000] d..1 76.905783: : CPU-0 681914045 syslog-ng-548 [000] d..1 76.905800: : CPU-0 681935950 syslog-ng-548 [000] d..1 76.905816: : CPU-0 681958299 ls-690 [005] d..1 82.241308: : CPU-5 3138451 sh-691 [004] d..1 82.244570: : CPU-4 7324988 <...>-699 [007] d..1 99.961387: : CPU-7 3194027 <...>-695 [003] d..1 99.961474: : CPU-3 288901 <...>-695 [003] d..1 99.961541: : CPU-3 383145 <...>-695 [003] d..1 99.961591: : CPU-3 450365 <...>-695 [003] d..1 99.961639: : CPU-3 515751 <...>-695 [003] d..1 99.961686: : CPU-3 579047 ... The detail of patches is as follow: Patch 1/5 add the necessary core perf APIs perf_event_attrs(), perf_event_get(),perf_event_read_local() when accessing events counters in eBPF programs Patch 2/5 rewrites part of the bpf_prog_array map code and make it more generic; Patch 3/5 introduces a new bpf map type. This map only stores the pointer to struct perf_event; Patch 4/5 implements function bpf_perf_event_read() that get the selected hardware PMU conuter; Patch 5/5 gives a simple example. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47efb30274cbec1bd3c0c980a7ece328df2c16a8 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Thu Aug 6 07:02:36 2015 +0000 samples/bpf: example of get selected PMU counter value This is a simple example and shows how to use the new ability to get the selected Hardware PMU counter value. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35578d7984003097af2b1e34502bc943d40c1804 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Thu Aug 6 07:02:35 2015 +0000 bpf: Implement function bpf_perf_event_read() that get the selected hardware PMU conuter According to the perf_event_map_fd and index, the function bpf_perf_event_read() can convert the corresponding map value to the pointer to struct perf_event and return the Hardware PMU counter value. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea317b267e9d03a8241893aa176fba7661d07579 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Thu Aug 6 07:02:34 2015 +0000 bpf: Add new bpf map type to store the pointer to struct perf_event Introduce a new bpf map type 'BPF_MAP_TYPE_PERF_EVENT_ARRAY'. This map only stores the pointer to struct perf_event. The user space event FDs from perf_event_open() syscall are converted to the pointer to struct perf_event and stored in map. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a36f0b92eb638dd023870574eb471b1c56be9ad Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Aug 6 07:02:33 2015 +0000 bpf: Make the bpf_prog_array_map more generic All the map backends are of generic nature. In order to avoid adding much special code into the eBPF core, rewrite part of the bpf_prog_array map code and make it more generic. So the new perf_event_array map type can reuse most of code with bpf_prog_array map and add fewer lines of special code. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ffe8690c85b8426db7783064724d106702f1b1e8 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Thu Aug 6 07:02:32 2015 +0000 perf: add the necessary core perf APIs when accessing events counters in eBPF programs This patch add three core perf APIs: - perf_event_attrs(): export the struct perf_event_attr from struct perf_event; - perf_event_get(): get the struct perf_event from the given fd; - perf_event_read_local(): read the events counters active on the current CPU; These APIs are needed when accessing events counters in eBPF programs. The API perf_event_read_local() comes from Peter and I add the corresponding SOB. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1d5ca434413b20cd3f8c18ff2b634b7782149a5 Merge: 4933d85 8782051 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 9 22:48:10 2015 -0700 Merge branch 'mv88e6xxx-switchdev-fdb' Vivien Didelot says: ==================== net: dsa: mv88e6xxx: support switchdev FDB objects This patchset refactors the DSA and mv88e6xxx code to use the switchdev FDB objects. The first two patches add minor but necessary changes to switchdev, the third one implements the switchdev glue in DSA for FDB routines, and the remaining ones refactor the FDB access functions in the mv88e6xxx code. Below is an usage example (ports 0-2 belongs to br0, ports 3-4 belongs to br1): # bridge fdb add 3c:97:0e:11:30:6e dev swp2 # bridge fdb add 3c:97:0e:11:40:78 dev swp3 # bridge fdb add 3c:97:0e:11:50:86 dev swp4 # bridge fdb del 3c:97:0e:11:40:78 dev swp3 # bridge fdb 01:00:5e:00:00:01 dev eth0 self permanent 01:00:5e:00:00:01 dev eth1 self permanent 00:50:d2:10:78:15 dev swp0 master br0 permanent 3c:97:0e:11:30:6e dev swp2 self static 00:50:d2:10:78:15 dev swp3 master br1 permanent 3c:97:0e:11:50:86 dev swp4 self static # cat /sys/kernel/debug/dsa0/atu # DB T/P Vec State Addr # 001 Port 004 e 3c:97:0e:11:30:6e # 004 Port 010 e 3c:97:0e:11:50:86 For the 88E6xxx switches, FIDs 1 to num_ports will be reserved for non-bridged ports and bridge groups, and the remaining will be later used by VLANs. This change is necessary to welcome the support for hardware VLANs (which will follow soon). Changes in v2: - remove ndo_bridge_{get,set,del}link from switchdev/DSA glue code - use ether_addr_copy instead of memcpy for MAC addresses - constify MAC address in port_fdb_{add,del} - split the mv88e6xxx code refactoring into several patches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 878205101ff1bedfc504bfaa5e999bf426bacd89 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:08 2015 -0400 net: dsa: mv88e6xxx: rework FDB add/del operations Add a low level function for the ATU Load operation, and provide FDB add and delete wrappers functions. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6630e236179f278b5d471c10d458df309067341c Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:07 2015 -0400 net: dsa: mv88e6xxx: rework FDB getnext operation This commit adds a low level _mv88e6xxx_atu_getnext function and helpers to rewrite the mv88e6xxx_port_fdb_getnext operation. A mv88e6xxx_atu_entry structure is added for convenient access to the hardware, and GLOBAL_ATU_FID is defined instead of the raw 0x01 value. The previous implementation did not handle the eventual trunk mapping. If the related bit is set, then the ATU data register would contain the trunk ID, and not the port vector. Check this in the FDB getnext operation and do not handle it (yet). Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 395059fb9269d97198ae3c94a798851e43062da6 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:06 2015 -0400 net: dsa: mv88e6xxx: rename ATU MAC accessors Rename the __mv88e6xxx_{read,write}_addr functions to more explicit _mv88e6xxx_atu_mac_{read,write} functions, which also respect the single underscore convention used in the file (meaning SMI lock must be held). In the meantime, define their MAC address parameters as an array of ETH_ALEN bytes instead of a char pointer. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 368b1d9c10acf99a855961ae6a1430591ee55f03 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:05 2015 -0400 net: dsa: mv88e6xxx: extend fid mask The driver currently manages one FID per port (or bridge group), with a mask of DSA_MAX_PORTS bits, where 0 means that the FID is in use. The Marvell 88E6xxx switches support up to 4094 FIDs (from 1 to 0xfff; FID 0 means that multiple address databases are not being used). This patch changes the fid_mask for an fid_bitmap of 4096 bits. >From now on, FIDs 1 to num_ports are reserved for non-bridged ports and bridge groups (a bridge group gets the FID of its first member). The remaining bits will be reserved for VLAN entries. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55045ddded0f39d84c2ca019508973be8c595a78 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:04 2015 -0400 net: dsa: add support for switchdev FDB objects Remove the fdb_{add,del,getnext} function pointer in favor of new port_fdb_{add,del,getnext}. Implement the switchdev_port_obj_{add,del,dump} functions in DSA to support the SWITCHDEV_OBJ_PORT_FDB objects. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 890248261a18c7ae22923095dfadea2c0a2a304a Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:03 2015 -0400 net: switchdev: support static FDB addresses This patch adds a is_static boolean to the switchdev_obj_fdb structure, in order to set the ndm_state to either NUD_NOARP or NUD_REACHABLE. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1525c386a1f01612c6f3f27241113d7fc8e6d72d Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:02 2015 -0400 net: switchdev: change fdb addr for a byte array The address in the switchdev_obj_fdb structure is currently represented as a pointer. Replacing it for a 6-byte array allows switchdev to carry addresses directly read from hardware registers, not stored by the switch chip driver (as in Rocker). Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4933d85c5173832ebd261756522095837583c458 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Aug 6 12:52:47 2015 +0900 net:wimax: Fix doucble word "the the" in networking.xml This patch fix a double word "the the" in Documentation/DocBook/networking.xml and Documentation/DocBook/networking/API-Wimax-report-rfkill-sw.html. These files are generated from comment in source, so I had to fix the typo in net/wimax/io-rfkill.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6855e5b7090330add9521d8947017875d5f4f88e Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 15:13:17 2015 -0500 ARM: socfpga: dts: Add resets for EMACs on Arria10 Add the reset property for the EMAC controllers on Arria10. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 1a94acf858000836d28b13942eebf5cbffc9ac34 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 14:05:06 2015 -0500 ARM: socfpga: dts: add "altr,modrst-offset" property The "altr,modrst-offset" property represents the offset into the reset manager that is the first register to be used by the driver to bring peripherals out of reset. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 007bb689b3dbad83cdab0ad192bc6ed0162451e0 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 00:01:55 2015 -0500 dt-bindings: Add reset manager offsets for Arria10 The reset manager for is pretty similar to the one for SoCFPGA cyclone5/arria5 except for a few offsets. This patch adds those offsets. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit a598af7f0279195abffbfb9bf2070457e9c89ff3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 4 10:47:23 2015 +0300 extcon: Fix signedness bugs about break error handling Unsigned is never less than zero so this error handling won't work. Fixes: be052cc87745 ('extcon: Fix hang and extcon_get/set_cable_state().') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> [cw00.choi: Change the patch title and fix signedness bug of find_cable_index_by_id() ] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit bef025a1f8e0e566f954613f4e5087f6b156e2a5 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:50:20 2015 +0900 extcon: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit bb327e92a9651c4d9bbf8ee9a367d575d7e6a102 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 13:32:39 2015 +0100 extcon: arizona: Simplify pdata symantics for micd_dbtime Currently micd_dbtime can be set to 0 for default, 1 for 4 measurements, or a greater than 16-bit value for 2 measurements. This patch simplifies the symantics to 2 for 2 measurements, 4 for 4 measurements and any other value for the default. I am not super keen on changing the symantics of the pdata at this stage in the drivers life, but acceptance of the DT binding for this field has been made conditional on this happening. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 57f70ef9bd19378b51a282be6b46b45b70d4980d Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 16:47:02 2015 +0100 extcon: arizona: Declare 3-pole jack if we detect open circuit on mic Detecting an open-circuit on the microphone pin, usually means the headset has a microphone but the cable is faulty. Currently the code will simply stop detecting and declare nothing in this situation. It is better to declare this as headphones such that the user can still use their headset as plain headphones even if the microphone is faulty. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 7eae43aeab27e8f65c0a2e31567fafcfc7aa4649 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Sun Jun 21 23:48:36 2015 +0900 extcon: Add exception handling to prevent the NULL pointer access This patch check whether argument is NULL to prevent NULL pointer access. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 0ffe8cbd51dafa5ad6686435bb1bd0afdd2b006b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 17:23:32 2015 +0100 extcon: arizona: Ensure variables are set for headphone detection The detecting flag really refers to the microphone detection stage and as such should be cleared before arizona_identify_headphones is called. Also the mic flag should be set before identify headphones is called as well. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 8e5838dd7b8c226cca235aa64c2f210517ef9b64 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 17:23:31 2015 +0100 extcon: arizona: Use gpiod inteface to handle micd_pol_gpio gpio Convert to using the newer gpiod interface for the micd_pol_gpio. Although we still carry support for the old gpio interface from pdata. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> [cw00.choi: Modify the patch titlei to include the detailed content] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 4778d44ff3126b64f784ce9bf2b9dd3dbab1551b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 17:23:30 2015 +0100 extcon: arizona: Add basic microphone detection DT/ACPI bindings This patch adds bindings for the basic microphone detection platform data. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit feffb0cc63015798803082a330d2fd96b00e1773 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 17:23:29 2015 +0100 extcon: arizona: Update to use the new device properties API The device properties API will load data from both device tree and ACPI, update the binding to use this API instead of the OF API. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 1fe189bfb0fa2b01cea6464a0a6a98f5f118a376 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Jun 11 20:46:07 2015 +0900 extcon: palmas: Remove the mutually_exclusive array This patch removes the mutually_exclusive array of extcon-palmas.c. After used the unique id of each external connector on 2a9de9c0f08d ("extcon: Use the unique id for external connector instead of string"), extcon driver can't directly handle the bit value indicating the external connectors. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 2519b7650e99d90643a7a20d623513de9c95a817 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Jun 11 20:17:02 2015 +0900 extcon: Remove optional print_state() function pointer of struct extcon_dev This patch removes the optional print_state() function pointer which included in 'struct extcon_dev' because the extcon must maintain the consistent name of extcon device on sysfs instead of inconsistent state of external connectors. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 85a77ff0160ab0a70eb4e8b14200e29b4d35c355 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Jun 11 14:58:47 2015 +0900 extcon: Remove duplicate header file in extcon.h This patch removes the duplicate header file in extcon.h. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 135d9f7d135a11ff4a5279325b06c5e8c82952b5 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Fri Jun 5 13:32:27 2015 +0900 extcon: max77843: Clear IRQ bits state before request IRQ IRQ signal before driver probe is needless because driver sends current state after platform booting done. So, this patch clears MUIC IRQ bits before request IRQ. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 5d44f4b3484e85c8d4527ecaca5e536da774ae21 Merge: 4816693 f7644cb Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 16:28:09 2015 -0700 Merge 4.2-rc6 into char-misc-next We want the fixes in Linus's tree in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f61cab8a729e00af77b51b44c3a8dc8ef3b3eb9 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jun 8 11:15:23 2015 -0700 hwmon: (pmbus) Add support for MAX20751 MAX20751 is a multiphase power controller with internal buck converter. It uses VR12.0 to report the output voltage. This requires an explicit driver, since the VR version can not be auto-detected. The chip supports a manufacturer specific command to fine-tune the output voltage. This command is not currently supported. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 068c227056b9223fea1a759e08db2558d5cbb5ad Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jul 20 09:47:33 2015 -0700 hwmon: (pmbus) Add support for VR12 Newer chips such as MAX20751 support VR12. Add support for it. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit ead8080351c988b9c4bb5ec261d7b4c97ebb2773 Author: Justin Maggard <jmaggard10@xxxxxxxxx> Date: Wed Aug 5 12:53:08 2015 -0700 hwmon: (it87) Add support for IT8732F Add support for the IT8732F. This chip is pretty similar to IT8721F, with the main difference being that the ADC LSB is 10.9 mV instead of 12 mV. Signed-off-by: Justin Maggard <jmaggard@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 1c6e8f6ba89c59270db223284d47e3c928c6fbfc Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Tue Jul 28 01:01:07 2015 +0300 hwmon: (nct7802) Add auto_point attributes Introduced REG_PWM, pwm[1..3]_auto_point[1..5]_temp, pwm[1..3]_auto_point[1..5]_pwm, nct7802_auto_point_attrs, nct7802_auto_point_group, updated nct7802_regmap_is_volatile Signed-off-by: Constantine Shulyupin <const@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit a1dc86ebd2f2eb6652c8be9311c16acccd1708f8 Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Jul 19 00:29:14 2015 +0200 hwmon: (lm70) add device tree support Allow the lm70 to be probed from a device tree. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit aeaa4d9f812bfd841643b37f65c6b6597045be37 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jun 8 11:01:50 2015 -0700 hwmon: (ltc2978) LTM4676 supports CLEAR_PEAKS Use the CLEAR_PEAKS command on LTM4676. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 68a403823600fc9d8277f930981d3a013353b2fe Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Mar 17 13:19:51 2015 -0700 hwmon: (adm1275) Add support for ADM1293 and ADM1294 ADM1293 and ADM1294 are mostly compatible with other chips of the same series, but have more configuration options. There are also some differences in register details. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 48065a138acb8435c60739ffa62622d69f61b712 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Jul 5 13:45:43 2015 -0700 hwmon: (pmbus) Add support for lowest power value attributes Add support for powerX_input_lowest for both input and output power. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9048539b7cd6ca99e03e6d9745779473349426f7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Jul 4 10:09:54 2015 -0700 hwmon: (adm1275) Introduce new feature flags Introduce have_vout, have_vaux_status, have_pin_max, and have_uc_fault to simplify adding support for new chips. Also simplify error returns where appropriate to return immediately on error. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 904b296f308dc70d5560a2b4311bbe255de12fd7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Jul 4 08:39:18 2015 -0700 hwmon: (adm1275) Introduce configuration data structure for coeffcients Each new chip supported by the driver has a new set of coefficients, making hard-coding coefficients more and more cumbersome. Introduce a datastructure and table to simplify configuration. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 99b416085ce99b03b8be63d6ba8872902e9809ae Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Jul 4 09:19:48 2015 -0700 hwmon: (adm1275) Use BIT macro Use BIT macro to simplify adding new bit masks. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit a07d73113febf0e17299338b9a6401955fe63b14 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 10 13:00:08 2015 +0800 hwmon: (pmbus_core) Constify pmbus_regulator_ops pmbus_regulator_ops is not modified after initialized, so make it const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 7b7a8b4237a0d7808df5aa12f49f7979f879cf12 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 10 12:59:13 2015 +0800 hwmon: (pmbus) Explicitly set regulator type for pmbus_regulator_ops The pmbus_regulator_ops is for voltage regulators, so explicitly set regulator type for better readability. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit d4068a59277d0ad5374f71163d45599d589bd617 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:51:32 2015 +0900 hwmon: (g762) Drop owner assignment from struct i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit d8363bb5ad4ff3986c03c6895cc74e2a30041aee Author: George Joseph <george.joseph@xxxxxxxxxxxxx> Date: Tue Jul 7 19:16:53 2015 -0600 hwmon: (f71882fg) Add support for f81768d Add f81768d (id 0x1210) currently found on Jetway motherboards. It has 11 voltages but otherwise needed no special handling in this driver. Signed-off-by: George Joseph <george.joseph@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 5102f022688ccd59b1fe4efc8a46ec3aca02dfc5 Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Wed Jul 8 00:40:10 2015 +0300 hwmon: (nct7802) Add pwmX_enable attribute Introduced REG_SMARTFAN_EN, SMARTFAN_EN_SHIFT, pwmX_enable, show_pwm_enable, store_pwm_enable. Signed-off-by: Constantine Shulyupin <const@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 3e40b8602aa5309e0b117701c36971367af40682 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Jul 7 16:22:38 2015 +0800 hwmon:(f71882fg) Fix f81866a voltage protection The f81866a voltage-1 protector(VIN1) address is differ from f71882. f71882 status:12H, beep:13H, v-high:32H f81866a status:16H, beep:17H, v-high:3aH Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit dcd956fc0b01135e6a00922165e653178d2b177b Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Jul 7 16:22:37 2015 +0800 hwmon: (f71882fg) Fix f81866a temp/beep setting The temperature value of Fintek F81866 is the same with f71882fg. It located with 0x6c + 2*(nr), others located with 0x6c + 2*(nr+1). We change the rule in f71882fg_probe(), If type = f71858fg/f8000/f81866a. the temp_start will set to 0, others are 1. The F81866 over-temperature beep setting is not the same with f71882fg too. They are using the same address 63H, but F81866 is using bit 0/1/2 & 4/5/6, others are using bit 1/2/3 & 5/6/7, So we copy from fxxxx_temp_beep_attr[] to f81866_temp_beep_attr and change bit setting. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2725fe2b74e264a649af72beaaf6cc2c2e1f3495 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Jul 7 16:22:36 2015 +0800 hwmon: (f71882fg) Add support for F81866 and F71868 Add New Fintek SuperIO F81866(0x1010) & F71868(0x1106) with H/W Monitor functions. We increased F71882FG_MAX_INS from 9 to 10 to read F71868 10 voltage sets. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 876420e05a0fda4801c0a0de67e9bbe9831dffee Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Sun Jul 5 01:41:31 2015 +0300 hwmon: (nct7802) Add pwm mode attributes Introduced: show_pwm_mode, pwm1_mode, pwm2_mode, pwm2_mode Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit ea33597c6f9862d7b926bdb9c3ac25012f307dd5 Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Sat Jul 4 21:49:51 2015 +0300 hwmon: (nct7802) Add pwm control Added fan output control registers. Modes of operation are PWM (default) and DC. Introduced show_pwm, store_pwm, nct7802_pwm_attrs, nct7802_pwm_group. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit fcdc5739dce03d8050ebfa7153412c2efcdee94f Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Wed Jul 1 09:52:23 2015 +0300 hwmon: (nct7802) add temperature sensor type attribute Sensor type: 3 diode (current mode), MD=1 4 thermistor, MD=2 Reference: Nuvoton Hardware Monitoring IC NCT7802Y 7.2.32 Mode Selection Register Location : Index 22h Signed-off-by: Constantine Shulyupin <const@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit b179b037e568a27ab3e8f5bedea1f4455aba7378 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Fri Aug 7 13:20:16 2015 +0200 s390/dasd: enhance CUIR scope detection This patch adds an enhanced detection for control unit initiated reconfiguration request scope. The first approach assumed the scope of the reconfiguration request to be restricted to the path on which the message was received. The enhanced approach determines the full scope of the reconfiguration request by evaluating additional path and device selection information contained in the reconfiguration message. Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1eb38023ddb480276c6b75e0db6463c47251eb7b Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Fri Aug 7 13:19:03 2015 +0200 s390/dasd: fix failing path verification DASD path verification requires the usage of sleep_on_immediatly to ensure that no other I/O request is blocking the recovery of disconnected devices. But two concurrent path verification workers for the same device may kill each others requests due to the usage of the immediate sleep_on function. This may lead to unsuccessful path verifications. Prevent that two parallel path verification workers conflict with each other by implementing a device flag signalling a already running worker. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 46cd28555ffaa40162290dba203daad0ff6f7abd Merge: da2f0f7 e33e17e Author: Chris Mason <clm@xxxxxx> Date: Sun Aug 9 07:35:33 2015 -0700 Merge branch 'jeffm-discard-4.3' into for-linus-4.3 commit da2f0f74cf7d074e5a8918c8efdf6aba4a989b4a Author: Chris Mason <clm@xxxxxx> Date: Thu Jul 2 13:57:22 2015 -0700 Btrfs: add support for blkio controllers This attaches accounting information to bios as we submit them so the new blkio controllers can throttle on btrfs filesystems. Not much is required, we're just associating bios with blkcgs during clone, calling wbc_init_bio()/wbc_account_io() during writepages submission, and attaching the bios to the current context during direct IO. Finally if we are splitting bios during btrfs_map_bio, this attaches accounting information to the split. The end result is able to throttle nicely on single disk filesystems. A little more work is required for multi-device filesystems. Signed-off-by: Chris Mason <clm@xxxxxx> commit a4027a20c57a2c8779e17a61425737634bb7163d Author: Byongho Lee <bhlee.kernel@xxxxxxxxx> Date: Fri Jul 10 13:10:26 2015 +0900 Btrfs: remove unused mutex from struct 'btrfs_fs_info' The code using 'ordered_extent_flush_mutex' mutex has removed by below commit. - 8d875f95da43c6a8f18f77869f2ef26e9594fecc btrfs: disable strict file flushes for renames and truncates But the mutex still lives in struct 'btrfs_fs_info'. So, this patch removes the mutex from struct 'btrfs_fs_info' and its initialization code. Signed-off-by: Byongho Lee <bhlee.kernel@xxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4a770891d9ddf94df985ca438e78d355b8469247 Author: Omar Sandoval <osandov@xxxxxx> Date: Fri Jun 19 11:52:52 2015 -0700 Btrfs: fix parity scrub of RAID 5/6 with missing device When testing the previous patch, Zhao Lei reported a similar bug when attempting to scrub a degraded RAID 5/6 filesystem with a missing device, leading to NULL pointer dereferences from the RAID 5/6 parity scrubbing code. The first cause was the same as in the previous patch: attempting to call bio_add_page() on a missing block device. To fix this, scrub_extent_for_parity() can just mark the sectors on the missing device as errors instead of attempting to read from it. Additionally, the code uses scrub_remap_extent() to map the extent of the corresponding data stripe, but the extent wasn't already mapped. If scrub_remap_extent() finds a missing block device, it doesn't initialize extent_dev, so we're left with a NULL struct btrfs_device. The solution is to use btrfs_map_block() directly. Reported-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Omar Sandoval <osandov@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 73ff61dbe5edeb1799d7e91c8b0641f87feb75fa Author: Omar Sandoval <osandov@xxxxxx> Date: Fri Jun 19 11:52:51 2015 -0700 Btrfs: fix device replace of a missing RAID 5/6 device The original implementation of device replace on RAID 5/6 seems to have missed support for replacing a missing device. When this is attempted, we end up calling bio_add_page() on a bio with a NULL ->bi_bdev, which crashes when we try to dereference it. This happens because btrfs_map_block() has no choice but to return us the missing device because RAID 5/6 don't have any alternate mirrors to read from, and a missing device has a NULL bdev. The idea implemented here is to handle the missing device case separately, which better only happen when we're replacing a missing RAID 5/6 device. We use the new BTRFS_RBIO_REBUILD_MISSING operation to reconstruct the data from parity, check it with scrub_recheck_block_checksum(), and write it out with scrub_write_block_to_dev_replace(). Reported-by: Philip <bugzilla@xxxxxxxxxxxxxxxx> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=96141 Signed-off-by: Omar Sandoval <osandov@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b4ee1782686d5b7a97826d67fdeaefaedbca23ce Author: Omar Sandoval <osandov@xxxxxx> Date: Fri Jun 19 11:52:50 2015 -0700 Btrfs: add RAID 5/6 BTRFS_RBIO_REBUILD_MISSING operation The current RAID 5/6 recovery code isn't quite prepared to handle missing devices. In particular, it expects a bio that we previously attempted to use in the read path, meaning that it has valid pages allocated. However, missing devices have a NULL blkdev, and we can't call bio_add_page() on a bio with a NULL blkdev. We could do manual manipulation of bio->bi_io_vec, but that's pretty gross. So instead, add a separate path that allows us to manually add pages to the rbio. Signed-off-by: Omar Sandoval <osandov@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7cb2c4202ed5730ecbf13c5d34c2cadff4cbe88f Author: Omar Sandoval <osandov@xxxxxx> Date: Fri Jun 19 11:52:49 2015 -0700 Btrfs: count devices correctly in readahead during RAID 5/6 replace Commit 5fbc7c59fd22 ("Btrfs: fix unfinished readahead thread for raid5/6 degraded mounting") fixed a problem where we would skip a missing device when we shouldn't have because there are no other mirrors to read from in RAID 5/6. After commit 2c8cdd6ee4e7 ("Btrfs, replace: write dirty pages into the replace target device"), the fix doesn't work when we're doing a missing device replace on RAID 5/6 because the replace device is counted as a mirror so we're tricked into thinking we can safely skip the missing device. The fix is to count only the real stripes and decide based on that. Signed-off-by: Omar Sandoval <osandov@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 03679ade86b2b1c370c8790f1ffcbcdef6d49f9f Author: Omar Sandoval <osandov@xxxxxx> Date: Fri Jun 19 11:52:48 2015 -0700 Btrfs: remove misleading handling of missing device scrub scrub_submit() claims that it can handle a bio with a NULL block device, but this is misleading, as calling bio_add_page() on a bio with a NULL ->bi_bdev would've already crashed. Delete this, as we're about to properly handle a missing block device. Signed-off-by: Omar Sandoval <osandov@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 293a8489f300536dc6d996c35a6ebb89aa03bab2 Author: Mark Fasheh <mfasheh@xxxxxxx> Date: Tue Jun 30 14:42:06 2015 -0700 btrfs: fix clone / extent-same deadlocks Clone and extent same lock their source and target inodes in opposite order. In addition to this, the range locking in clone doesn't take ordering into account. Fix this by having clone use the same locking helpers as btrfs-extent-same. In addition, I do a small cleanup of the locking helpers, removing a case (both inodes being the same) which was poorly accounted for and never actually used by the callers. Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4a3560c4f3f0f92d3b673944753e3e947e030bc4 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Fri Aug 7 16:48:41 2015 +0800 Btrfs: fix defrag to merge tail file extent The file layout is [extent 1]...[extent n][4k extent][HOLE][extent x] extent 1~n and 4k extent can be merged during defrag, and the whole defrag bytes is larger than our defrag thresh(256k), 4k extent as a tail is left unmerged since we check if its next extent can be merged (the next one is a hole, so the check will fail), the layout thus can be [new extent][4k extent][HOLE][extent x] (1~n) To fix it, beside looking at the next one, this also looks at the previous one by checking @defrag_end, which is set to 0 when we decide to stop merging contiguous extents, otherwise, we can merge the previous one with our extent. Also, this makes btrfs behave consistent with how xfs and ext4 do. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit acdf898de8903f50bb10bbce4b774432bcd63c85 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Jul 28 18:03:30 2015 +0800 Btrfs: fix warning in backref walking When we do backref walking, we search firstly in queued delayed refs and then the on-disk backrefs, but we parse differently for shared references, for delayed refs we also add 'ref->root' while for on-disk backrefs we don't, this can prevent us from merging refs indexed by the same bytenr and cause find_parent_nodes() to throw a warning at 'WARN_ON(ref->count < 0)', for example, when we have a shared data extent with 'ref_cnt=1' and a delayed shared data with a BTRFS_DROP_DELAYED_REF, that happens. For shared references, no matter if it's delayed or on-disk, ref->root is not at all used, instead it's ref->parent that really matters, so this has delayed refs handled as the same way as on-disk refs. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 166f66d0bc94a14ec4bc6ee6ab079532df4a8d9e Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Aug 6 22:39:36 2015 +0800 btrfs: Add WARN_ON() for double lock in btrfs_tree_lock() When a task trying to double lock a extent buffer, there are no lockdep warning about it because this lock may be in "blocking_lock" state, and make us hard to debug. This patch add a WARN_ON() for above condition, it can not report all deadlock cases(as lock between tasks), but at least helps us some. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 9ed0dea09fc5e8cb1926c15fc986a46a2db43da6 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Aug 6 22:16:24 2015 +0800 btrfs: Remove root argument in extent_data_ref_count() Because it is never used. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d02207512df120a37a8f1e50a5f90c555266282c Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Aug 6 22:16:23 2015 +0800 btrfs: Fix wrong comment of btrfs_alloc_tree_block() These wrong comment was copyed from another function(expired) from init, this patch fixed them. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 93314e3b64fd2e77237fdba7cfcc0d38dcd05579 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Aug 6 21:56:58 2015 +0800 btrfs: abort transaction on btrfs_reloc_cow_block() When btrfs_reloc_cow_block() failed in __btrfs_cow_block(), current code just return a err-value to caller, but leave new_created extent buffer exist and locked. Then subsequent code (in relocate) try to lock above eb again, and caused deadlock without any dmesg. (eb lock use wait_event(), so no lockdep message) It is hard to do recover work in __btrfs_cow_block() at this error point, but we can abort transaction to avoid deadlock and operate on unstable state.a It also helps developer to find wrong place quickly. (better than a frozen fs without any dmesg before patch) Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 147d256e0980e31505d25d721be979d6a8d2148c Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Aug 6 20:58:11 2015 +0800 btrfs: Remove unnecessary variants in relocation.c These arguments are not used in functions, remove them for cleanup and make kernel stack happy. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dc2ee4e244138124a05cdc39365b38d4cc77e3fa Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 18:00:04 2015 +0800 btrfs: Cleanup: Remove chunk_objectid argument from btrfs_relocate_chunk() Remove chunk_objectid argument from btrfs_relocate_chunk() because it is not necessary, it can also cleanup some code in caller for prepare its value. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4624900dd353488479a12abf8dffe2c1786cdb89 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 18:00:03 2015 +0800 btrfs: Cleanup: Remove objectid's init-value in create_reloc_inode() objectid's init-value is not used in any case, remove it. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4b3576e450a1539492e26e2d7b1e2e69578c032e Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 18:00:02 2015 +0800 btrfs: Error handle for get_ref_objectid_v0() in relocate_block_group() We need error checking code for get_ref_objectid_v0() in relocate_block_group(), to avoid unpredictable result, especially for accessing uninitialized value(when function failed) after this line. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 55e3a601c81cdca4497bf855fa4d331f8e830744 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 16:43:30 2015 +0800 btrfs: Fix data checksum error cause by replace with io-load. xfstests btrfs/070 sometimes failed. In my test machine, its fail rate is about 30%. In another vm(vmware), its fail rate is about 50%. Reason: btrfs/070 do replace and defrag with fsstress simultaneously, after above operation, checksum error is found by scrub. Actually, it have no relationship with defrag operation, only replace with fsstress can trigger this bug. New data writen to target device have possibility rewrited by old data from source device by replace code in debug, to avoid above problem, we can set target block group to readonly in replace period, so new data requested by other operation will not write to same place with replace code. Before patch(4.1-rc3): 30% failed in 100 xfstests. After patch: 0% failed in 300 xfstests. It also happened in btrfs/071 as it's another scrub with IO load tests. Reported-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b708ce969af3ceadca18aac5bffe48fe977473b1 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 16:43:29 2015 +0800 btrfs: use scrub_pause_on/off() to reduce code in scrub_enumerate_chunks() Use new intruduced scrub_pause_on/off() can make this code block clean and more readable. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0e22be890ef385de6816ec87a8a41c0b0f4a7a23 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 16:43:28 2015 +0800 btrfs: Separate scrub_blocked_if_needed() to scrub_pause_on/off() It can reduce current duplicated code which is similar to scrub_blocked_if_needed() but can not call it because little different. It also used by my next patch which is in same case. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 868f401ae38acb439005626c04d575e64c5ae760 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 16:43:27 2015 +0800 btrfs: Use ref_cnt for set_block_group_ro() More than one code call set_block_group_ro() and restore rw in fail. Old code use bool bit to save blockgroup's ro state, it can not support parallel case(it is confirmd exist in my debug log). This patch use ref count to store ro state, and rename set_block_group_ro/set_block_group_rw to inc_block_group_ro/dec_block_group_ro. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d7cad2389560f3249435ac928bc13e9408ae467e Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Jul 22 13:14:48 2015 +0800 btrfs: Bypass unrelated items before accessing its contents in scrub When we access extent_root in scrub_stripe() and scrub_raid56_parity(), we need bypass unrelated tree item firstly before using its contents to do other condition. It is not a bug fix, only making code sequence in logic. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit fe8cf654b1ccf7f0b49cc0de9e6ad8a56529e384 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Jul 22 13:14:47 2015 +0800 btrfs: Load only necessary csums into list in scrub We need not load csum of whole strip in scrub because strip is trimed before use, it is to say, what we really need to calculate csum is data between [extent_logical, extent_len). This patch changed to use above segment for btrfs_lookup_csums_range() in scrub_stripe() Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a0dd59de3c73fbb3b738eaf333732f2f27254a2c Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:42:26 2015 +0800 btrfs: Fix calculate typo caused by ambiguous meaning of logic_end For example, in scrub_raid56_parity(), following lines are used to judge is all data processed: place1: if (key.objectid > logic_end) ... place2: if (logic_start >= logic_end) ... ... (place2 is typo, is should be ">", it is copied from other place, where logic_end's meaning is different, long story...) We can fix above typo directly, but the root reason is ambiguous meaning of logic_end in scrub raid56 parity. In other place, XXX_end is pointed to data which is not included, and we need to process segment of [XXX_start, XXX_end). But for scrub raid56 parity, logic_end is pointed to lattest data need to process, and introduced many "+ 1" and "- 1" in code as below: length = sparity->logic_end - sparity->logic_start + 1 logic_end - logic_start + 1 stripe_logical + increment - 1 This patch changed logic_end's meaning to make it in normal understanding in raid56 parity functions and data struct alone with above bugfix. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 6fa96d72f79a15579da2bb63c65cafb210915b48 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Jul 21 12:22:30 2015 +0800 btrfs: Free checksum list on scrub_extent() fail When scrub_extent() failed, we need to free previois created checksum list. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f2f66a2f886383fb76aca8ecc1bcc116c5d1f6fe Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Jul 21 12:22:29 2015 +0800 btrfs: Check cancel and pause in interval of scrub operation Old code checking cancel and pause request inside scrub stripe operation, like: loop() { if (parity) { scrub_parity_stripe(); continue; } check_cancel_and_pause() scrub_normal_stripe(); } Reason is when introduce raid56 stripe scrub, new code is inserted simplely to front of loop. Better to: loop() { check_cancel_and_pause() if (parity) scrub_parity_stripe(); else scrub_normal_stripe(); } This patch adjusted code place to realize above sequence. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 78fa177029802f7f10953d357067171f39a79b81 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Jul 20 17:54:50 2015 +0800 btrfs: Show detail information when mount failed on missing devices When mount failed because missing device, we can see following dmesg: [ 1060.267743] BTRFS: too many missing devices, writeable mount is not allowed [ 1060.273158] BTRFS: open_ctree failed This patch add missing_device_number and tolerated_missing_device_number to above output, to let user know what really happened, and helps bug-report and debug. dmesg after patch: [ 127.050367] BTRFS: missing devices(1) exceeds the limit(0), writeable mount is not allowed [ 127.056099] BTRFS: open_ctree failed Changelog v1->v2: 1: Changed to more clear description, suggested-by: Anand Jain <anand.jain@xxxxxxxxxx> Suggested-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Reviewed-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a323e8139c3617b2bf975317725d0fd962886d06 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Jul 23 12:29:49 2015 +0800 btrfs: Fix scrub panic when leaf crosses stripes Scrub panic in following operation: mkfs.ext4 /dev/vdh btrfs-convert /dev/vdh mount /dev/vdh /mnt/tmp1 btrfs scrub start -B /dev/vdh (panic) Reason: 1: In some case, leaf created by btrfs-convert was splited into 2 strips. 2: Scrub bypassed part of above wrong leaf data, but remain data caused panic in scrub_checksum_tree_block(). For reason 1: we can get following information after some simple operation. a. mkfs.ext4 /dev/vdh btrfs-convert /dev/vdh b. btrfs-debug-tree /dev/vdh we can see following item in extent tree: item 25 key (27054080 METADATA_ITEM 0) itemoff 15083 itemsize 33 Its logical address is [27054080, 27070464) and acrossed 2 strips: [27000832, 27066368) [27066368, 27131904) Will be fixed in btrfs-progs(btrfs-convert, btrfsck, ...) For reason 2: Scrub is trying to do a "bypass" in this case, but the result is "panic", because current code lacks of some condition in bypass, and let some wrong leaf data escaped. This patch fixed above scrub code. Before patch: # btrfs scrub start -B /dev/vdh (panic) After patch: # btrfs scrub start -B /dev/vdh scrub done for 353cec8f-da31-4a94-aa35-be72d997b06e ... # dmesg ... [ 59.088697] BTRFS error (device vdh): scrub: tree block 27054080 spanning stripes, ignored. logical=27000832 [ 59.089929] BTRFS error (device vdh): scrub: tree block 27054080 spanning stripes, ignored. logical=27066368 # Reported-by: Chris Murphy <lists@xxxxxxxxxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 18aa09229741364280d0a1670597b5207fc05b8d Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Aug 5 16:49:08 2015 +0100 Btrfs: fix stale dir entries after removing a link and fsync We have one more case where after a log tree is replayed we get inconsistent metadata leading to stale directory entries, due to some directories having entries pointing to some inode while the inode does not have a matching BTRFS_INODE_[REF|EXTREF]_KEY item. To trigger the problem we need to have a file with multiple hard links belonging to different parent directories. Then if one of those hard links is removed and we fsync the file using one of its other links that belongs to a different parent directory, we end up not logging the fact that the removed hard link doesn't exists anymore in the parent directory. Simple reproducer: seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { _cleanup_flakey rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter . ./common/dmflakey # real QA test starts here _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch _require_dm_flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _init_flakey _mount_flakey # Create our test directory and file. mkdir $SCRATCH_MNT/testdir touch $SCRATCH_MNT/foo ln $SCRATCH_MNT/foo $SCRATCH_MNT/testdir/foo2 ln $SCRATCH_MNT/foo $SCRATCH_MNT/testdir/foo3 # Make sure everything done so far is durably persisted. sync # Now we remove one of our file's hardlinks in the directory testdir. unlink $SCRATCH_MNT/testdir/foo3 # We now fsync our file using the "foo" link, which has a parent that # is not the directory "testdir". $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foo # Silently drop all writes and unmount to simulate a crash/power # failure. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey # Allow writes again, mount to trigger journal/log replay. _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey # After the journal/log is replayed we expect to not see the "foo3" # link anymore and we should be able to remove all names in the # directory "testdir" and then remove it (no stale directory entries # left after the journal/log replay). echo "Entries in testdir:" ls -1 $SCRATCH_MNT/testdir rm -f $SCRATCH_MNT/testdir/* rmdir $SCRATCH_MNT/testdir _unmount_flakey status=0 exit The test fails with: $ ./check generic/107 FSTYP -- btrfs PLATFORM -- Linux/x86_64 debian3 4.1.0-rc6-btrfs-next-11+ MKFS_OPTIONS -- /dev/sdc MOUNT_OPTIONS -- /dev/sdc /home/fdmanana/btrfs-tests/scratch_1 generic/107 3s ... - output mismatch (see .../results/generic/107.out.bad) --- tests/generic/107.out 2015-08-01 01:39:45.807462161 +0100 +++ /home/fdmanana/git/hub/xfstests/results//generic/107.out.bad @@ -1,3 +1,5 @@ QA output created by 107 Entries in testdir: foo2 +foo3 +rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/testdir': Directory not empty ... _check_btrfs_filesystem: filesystem on /dev/sdc is inconsistent \ (see /home/fdmanana/git/hub/xfstests/results//generic/107.full) _check_dmesg: something found in dmesg (see .../results/generic/107.dmesg) Ran: generic/107 Failures: generic/107 Failed 1 of 1 tests $ cat /home/fdmanana/git/hub/xfstests/results//generic/107.full (...) checking fs roots root 5 inode 257 errors 200, dir isize wrong unresolved ref dir 257 index 3 namelen 4 name foo3 filetype 1 errors 5, no dir item, no inode ref (...) And produces the following warning in dmesg: [127298.759064] BTRFS info (device dm-0): failed to delete reference to foo3, inode 258 parent 257 [127298.762081] ------------[ cut here ]------------ [127298.763311] WARNING: CPU: 10 PID: 7891 at fs/btrfs/inode.c:3956 __btrfs_unlink_inode+0x182/0x35a [btrfs]() [127298.767327] BTRFS: Transaction aborted (error -2) (...) [127298.788611] Call Trace: [127298.789137] [<ffffffff8145f077>] dump_stack+0x4f/0x7b [127298.790090] [<ffffffff81095de5>] ? console_unlock+0x356/0x3a2 [127298.791157] [<ffffffff8104b3b0>] warn_slowpath_common+0xa1/0xbb [127298.792323] [<ffffffffa065ad09>] ? __btrfs_unlink_inode+0x182/0x35a [btrfs] [127298.793633] [<ffffffff8104b410>] warn_slowpath_fmt+0x46/0x48 [127298.794699] [<ffffffffa065ad09>] __btrfs_unlink_inode+0x182/0x35a [btrfs] [127298.797640] [<ffffffffa065be8f>] btrfs_unlink_inode+0x1e/0x40 [btrfs] [127298.798876] [<ffffffffa065bf11>] btrfs_unlink+0x60/0x9b [btrfs] [127298.800154] [<ffffffff8116fb48>] vfs_unlink+0x9c/0xed [127298.801303] [<ffffffff81173481>] do_unlinkat+0x12b/0x1fb [127298.802450] [<ffffffff81253855>] ? lockdep_sys_exit_thunk+0x12/0x14 [127298.803797] [<ffffffff81174056>] SyS_unlinkat+0x29/0x2b [127298.805017] [<ffffffff81465197>] system_call_fastpath+0x12/0x6f [127298.806310] ---[ end trace bbfddacb7aaada7b ]--- [127298.807325] BTRFS warning (device dm-0): __btrfs_unlink_inode:3956: Aborting unused transaction(No such entry). So fix this by logging all parent inodes, current and old ones, to make sure we do not get stale entries after log replay. This is not a simple solution such as triggering a full transaction commit because it would imply full transaction commit when an inode is fsynced in the same transaction that modified it and reloaded it after eviction (because its last_unlink_trans is set to the same value as its last_trans as of the commit with the title "Btrfs: fix stale dir entries after unlink, inode eviction and fsync"), and it would also make fstest generic/066 fail since one of the fsyncs triggers a full commit and the next fsync will not find the inode in the log anymore (therefore not removing the xattr). Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dd81d459a37d73cfa39896bd070e7b92e66e3628 Author: Naohiro Aota <naota@xxxxxxxxx> Date: Tue Jun 30 11:25:43 2015 +0900 btrfs: fix search key advancing condition The search key advancing condition used in copy_to_sk() is loose. It can advance the key even if it reaches sk->max_*: e.g. when the max key = (512, 1024, -1) and the current key = (512, 1025, 10), it increments the offset by 1, continues hopeless search from (512, 1025, 11). This issue make ioctl() to take unexpectedly long time scanning all the leaf a blocks one by one. This commit fix the problem using standard way of key comparison: btrfs_comp_cpu_keys() Signed-off-by: Naohiro Aota <naota@xxxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d6589101b67a55107652050dfbf414403a93e351 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Jul 29 17:21:17 2015 +0100 Btrfs: teach backref walking about backrefs with underflowed offset values When cloning/deduplicating file extents (through the clone and extent_same ioctls) we can get data back references with offset values that are a result of an unsigned integer arithmetic underflow, that is, values that are much larger then they could be otherwise. This is not a problem when decrementing or dropping the back references (happens when we overwrite the extents or punch a hole for example, through __btrfs_drop_extents()), since we compute the same too large offset value, but it is a problem for the backref walking code, used by an incremental send and the ioctls that are used by the btrfs tool "inspect-internal" commands, as it makes it miss the corresponding file extent items because the search key is set for an extent item that starts at an offset matching the exceptionally large offset value of the data back reference. For an incremental send this causes the send ioctl to fail with -EIO. So teach the backref walking code to deal with these cases by setting the search key's offset to 0 if the backref's offset value is larger than LLONG_MAX (the largest possible file offset). This makes sure the backref walking code finds the corresponding file extent items at the expense of scanning more items and leafs in the btree. Fixing the clone/dedup ioctls to not produce such underflowed results would require major changes breaking backward compatibility, updating user space tools, etc. Simple reproducer case for fstests: seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { rm -fr $send_files_dir rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter # real QA test starts here _supported_fs btrfs _supported_os Linux _require_scratch _require_cloner _need_to_be_root send_files_dir=$TEST_DIR/btrfs-test-$seq rm -f $seqres.full rm -fr $send_files_dir mkdir $send_files_dir _scratch_mkfs >>$seqres.full 2>&1 _scratch_mount # Create our test file with a single extent of 64K starting at file # offset 128K. $XFS_IO_PROG -f -c "pwrite -S 0xaa 128K 64K" $SCRATCH_MNT/foo \ | _filter_xfs_io _run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \ $SCRATCH_MNT/mysnap1 # Now clone parts of the original extent into lower offsets of the file. # # The first clone operation adds a file extent item to file offset 0 # that points to our initial extent with a data offset of 16K. The # corresponding data back reference in the extent tree has an offset of # 18446744073709535232, which is the result of file_offset - data_offset # = 0 - 16K. # # The second clone operation adds a file extent item to file offset 16K # that points to our initial extent with a data offset of 48K. The # corresponding data back reference in the extent tree has an offset of # 18446744073709518848, which is the result of file_offset - data_offset # = 16K - 48K. # # Those large back reference offsets (result of unsigned arithmetic # underflow) confused the back reference walking code (used by an # incremental send and the multiple inspect-internal ioctls) and made it # miss the back references, which for the case of an incremental send it # made it fail with -EIO and print a message like the following to # dmesg: # # "BTRFS error (device sdc): did not find backref in send_root. \ # inode=257, offset=0, disk_byte=12845056 found extent=12845056" # $CLONER_PROG -s $(((128 + 16) * 1024)) -d 0 -l $((16 * 1024)) \ $SCRATCH_MNT/foo $SCRATCH_MNT/foo $CLONER_PROG -s $(((128 + 48) * 1024)) -d $((16 * 1024)) \ -l $((16 * 1024)) $SCRATCH_MNT/foo $SCRATCH_MNT/foo _run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \ $SCRATCH_MNT/mysnap2 _run_btrfs_util_prog send $SCRATCH_MNT/mysnap1 -f $send_files_dir/1.snap _run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 $SCRATCH_MNT/mysnap2 \ -f $send_files_dir/2.snap echo "File digest in the original filesystem:" md5sum $SCRATCH_MNT/mysnap2/foo | _filter_scratch # Now recreate the filesystem by receiving both send streams and verify # we get the same file contents that the original filesystem had. _scratch_unmount _scratch_mkfs >>$seqres.full 2>&1 _scratch_mount _run_btrfs_util_prog receive $SCRATCH_MNT -f $send_files_dir/1.snap _run_btrfs_util_prog receive $SCRATCH_MNT -f $send_files_dir/2.snap echo "File digest in the new filesystem:" md5sum $SCRATCH_MNT/mysnap2/foo | _filter_scratch status=0 exit The test's expected golden output is: wrote 65536/65536 bytes at offset 131072 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) File digest in the original filesystem: 6c6079335cff141b8a31233ead04cbff SCRATCH_MNT/mysnap2/foo File digest in the new filesystem: 6c6079335cff141b8a31233ead04cbff SCRATCH_MNT/mysnap2/foo But it failed with: (...) @@ -1,7 +1,5 @@ QA output created by 097 wrote 65536/65536 bytes at offset 131072 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -File digest in the original filesystem: -6c6079335cff141b8a31233ead04cbff SCRATCH_MNT/mysnap2/foo -File digest in the new filesystem: -6c6079335cff141b8a31233ead04cbff SCRATCH_MNT/mysnap2/foo ... $ cat /home/fdmanana/git/hub/xfstests/results//btrfs/097.full (...) ERROR: send ioctl failed with -5: Input/output error Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit bde6c242027b0f1d697d5333950b3a05761d40e4 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Jul 24 00:00:19 2015 +0100 Btrfs: fix stale dir entries after unlink, inode eviction and fsync If we remove a hard link from an inode, the inode gets evicted, then we fsync the inode and then power fail/crash, when the log tree is replayed, the parent directory inode still has entries pointing to the name that no longer exists, while our inode no longer has the BTRFS_INODE_REF_KEY item matching the deleted hard link (as expected), leaving the filesystem in an inconsistent state. The stale directory entries can not be deleted (an attempt to delete them causes -ESTALE errors), which makes it impossible to delete the parent directory. This happens because we track the id of the transaction where the last unlink operation for the inode happened (last_unlink_trans) in an in-memory only field of the inode, that is, a value that is never persisted in the inode item stored on the fs/subvol btree. So if an inode is evicted and loaded again, the value for last_unlink_trans is set to 0, which prevents the fsync from logging the parent directory at btrfs_log_inode_parent(). So fix this by setting last_unlink_trans to the id of the transaction that last modified the inode when we load the inode. This is a pessimistic approach but it always ensures correctness with the trade off of ocassional full transaction commits when an fsync is done against the inode in the same transaction where it was evicted and reloaded when our inode is a directory and often logging its parent unnecessarily when our inode is not a directory. The following test case for fstests triggers the problem: seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { _cleanup_flakey rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter . ./common/dmflakey # real QA test starts here _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch _require_dm_flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _init_flakey _mount_flakey # Create our test file with 2 hard links. mkdir $SCRATCH_MNT/testdir touch $SCRATCH_MNT/testdir/foo ln $SCRATCH_MNT/testdir/foo $SCRATCH_MNT/testdir/bar # Make sure everything done so far is durably persisted. sync # Now remove one of the links, trigger inode eviction and then fsync # our inode. unlink $SCRATCH_MNT/testdir/bar echo 2 > /proc/sys/vm/drop_caches $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/testdir/foo # Silently drop all writes on our scratch device to simulate a power failure. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey # Allow writes again and mount the fs to trigger log/journal replay. _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey # Now verify our directory entries. echo "Entries in testdir:" ls -1 $SCRATCH_MNT/testdir # If we remove our inode, its parent should become empty and therefore we should # be able to remove the parent. rm -f $SCRATCH_MNT/testdir/* rmdir $SCRATCH_MNT/testdir _unmount_flakey # The fstests framework will call fsck against our filesystem which will verify # that all metadata is in a consistent state. status=0 exit The test failed on btrfs with: generic/098 4s ... - output mismatch (see /home/fdmanana/git/hub/xfstests/results//generic/098.out.bad) --- tests/generic/098.out 2015-07-23 18:01:12.616175932 +0100 +++ /home/fdmanana/git/hub/xfstests/results//generic/098.out.bad 2015-07-23 18:04:58.924138308 +0100 @@ -1,3 +1,6 @@ QA output created by 098 Entries in testdir: +bar foo +rm: cannot remove '/home/fdmanana/btrfs-tests/scratch_1/testdir/foo': Stale file handle +rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/testdir': Directory not empty ... (Run 'diff -u tests/generic/098.out /home/fdmanana/git/hub/xfstests/results//generic/098.out.bad' to see the entire diff) _check_btrfs_filesystem: filesystem on /dev/sdc is inconsistent (see /home/fdmanana/git/hub/xfstests/results//generic/098.full) $ cat /home/fdmanana/git/hub/xfstests/results//generic/098.full (...) checking fs roots root 5 inode 258 errors 2001, no inode item, link count wrong unresolved ref dir 257 index 0 namelen 3 name foo filetype 1 errors 6, no dir index, no inode ref unresolved ref dir 257 index 3 namelen 3 name bar filetype 1 errors 5, no dir item, no inode ref Checking filesystem on /dev/sdc (...) Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit bb53eda9029fd52b466fa501ba4aa58e94789b18 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Jul 15 23:26:43 2015 +0100 Btrfs: fix stale directory entries after fsync log replay We have another case where after an fsync log replay we get an inode with a wrong link count (smaller than it should be) and a number of directory entries greater than its link count. This happens when we add a new link hard link to our inode A and then we fsync some other inode B that has the side effect of logging the parent directory inode too. In this case at log replay time we add the new hard link to our inode (the item with key BTRFS_INODE_REF_KEY) when processing the parent directory but we never adjust the link count of our inode A. As a result we get stale dir entries for our inode A that can never be deleted and therefore it makes it impossible to remove the parent directory (as its i_size can never decrease back to 0). A simple reproducer for fstests that triggers this issue: seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { _cleanup_flakey rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter . ./common/dmflakey # real QA test starts here _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch _require_dm_flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _init_flakey _mount_flakey # Create our test directory and files. mkdir $SCRATCH_MNT/testdir touch $SCRATCH_MNT/testdir/foo touch $SCRATCH_MNT/testdir/bar # Make sure everything done so far is durably persisted. sync # Create one hard link for file foo and another one for file bar. After # that fsync only the file bar. ln $SCRATCH_MNT/testdir/bar $SCRATCH_MNT/testdir/bar_link ln $SCRATCH_MNT/testdir/foo $SCRATCH_MNT/testdir/foo_link $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/testdir/bar # Silently drop all writes on scratch device to simulate power failure. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey # Allow writes again and mount the fs to trigger log/journal replay. _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey # Now verify both our files have a link count of 2. echo "Link count for file foo: $(stat --format=%h $SCRATCH_MNT/testdir/foo)" echo "Link count for file bar: $(stat --format=%h $SCRATCH_MNT/testdir/bar)" # We should be able to remove all the links of our files in testdir, and # after that the parent directory should become empty and therefore # possible to remove it. rm -f $SCRATCH_MNT/testdir/* rmdir $SCRATCH_MNT/testdir _unmount_flakey # The fstests framework will call fsck against our filesystem which will verify # that all metadata is in a consistent state. status=0 exit The test fails with: -Link count for file foo: 2 +Link count for file foo: 1 Link count for file bar: 2 +rm: cannot remove '/home/fdmanana/btrfs-tests/scratch_1/testdir/foo_link': Stale file handle +rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/testdir': Directory not empty (...) _check_btrfs_filesystem: filesystem on /dev/sdc is inconsistent And fsck's output: (...) checking fs roots root 5 inode 258 errors 2001, no inode item, link count wrong unresolved ref dir 257 index 5 namelen 8 name foo_link filetype 1 errors 4, no inode ref Checking filesystem on /dev/sdc (...) So fix this by marking inodes for link count fixup at log replay time whenever a directory entry is replayed if the entry was created in the transaction where the fsync was made and if it points to a non-directory inode. This isn't a new problem/regression, the issue exists for a long time, possibly since the log tree feature was added (2008). Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b963e7223cb3278dda35a6550a8df08ff2be2ee5 Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Sat Aug 8 20:43:25 2015 +0200 Staging: lustre/lustre/ptlrpc: service.c: Fixed issue with global integer being initialized to 0 Fixed global integer initialization issue. Global variables should not be explicitly initialized to 0 or NULL. Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 550d35d816da2ad141cf05f176118df6f2c75cdb Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Sat Aug 8 20:34:59 2015 +0200 Staging: lustre/lnet/selftest: framework.c: Fixed coding style issues Fixed coding style issues where statement should be on the next line Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c915aadb5d5ffddfd59170931873a5b102aa7d31 Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Sat Aug 8 20:00:07 2015 +0200 Staging: wilc1000: wilc_platform.h: Fixed include guard spelling error Fixed spelling error Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78174adaf59e85274bb3dde5c5084619ed06020b Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Sat Aug 8 17:41:36 2015 +0530 staging: wilc1000: Remove braces for single statement 'if' and 'else' Fixes the checkpatch.pl warning - braces {} are not necessary for any arm of this statement Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17aacd43c8d4e733d77f093a18de9d8d2b115407 Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Sat Aug 8 17:41:35 2015 +0530 staging: wilc1000: Remove ' ' before quoted '\n' Fixes the checkpatch.pl warning - 'unnecessary whitespace before a quoted newline'. Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bff1fe8c9dbb1a35d3129caaea9e91d4368b36a Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Sat Aug 8 17:41:34 2015 +0530 staging: wilc1000: Remove unused extern declarations 'extern' declarations which are not referenced within the file are removed. Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2b4041ab6ec8b6f07d2da2c993b003dd39f0868 Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Sat Aug 8 17:41:33 2015 +0530 staging: wilc1000: Add space between the braces Inserted space between nested braces. This fixes the checkpatch.pl error - space required after that close brace '}'. Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e34d70a7163b236f520ef4fc0d7c50093dd3746 Author: Tal Shorer <tal.shorer@xxxxxxxxx> Date: Fri Aug 7 22:35:51 2015 +0300 usb: hcd.h: Fix the values of SetHubDepth and GetPortErrorCount to match USB 3.1 specification >From the usb 3.1 spec available at http://www.usb.org/developers/docs/ table 10-7 (Hub Class Requests) specifies the values for SetHubDepth and GetPortErrorCount as: Request bmRequestType bRequest wValue wIndex wLength Data SetHubDepth 00100000B SET_HUB_DEPTH Hub Depth Zero Zero None GetPortErrorCount 10100011B GET_PORT_ERR_COUNT Zero Port Two Number of Link Errors on this port Fix these two values to match the spec. Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 166b8639f52ebeec1bfbe966239530a83040c428 Author: Chase Metzger <chasemetzger15@xxxxxxxxx> Date: Sat Aug 8 01:03:34 2015 -0700 usb: core: hub.c: Removed some warnings generated by checkpatch.pl Removed some checkpatch.pl warnings saying there was an unwanted space between function names and their arguments. Signed-off-by: Chase Metzger <chasemetzger15@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f355e830a54ebe1601613d78a8d5b85eeafde358 Author: Kris Borer <kborer@xxxxxxxxx> Date: Fri Aug 7 07:22:44 2015 -0400 usb: devio: fix spacing Fix two occurrences of the checkpatch.pl error: ERROR: space prohibited before that ',' (ctx:WxW) Fix one occurrence of the checkpatch error: ERROR: space required before the open parenthesis '(' Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40a3b775f49c2784c96b19170fd2478e5e5511a1 Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Thu Aug 6 19:24:01 2015 +0300 xhci: xHCI 1.1: Stopped - Short Packet Capability (SPC) This patch enables xhci driver to support SPC by handling Stopped - Short Packet event in transfer event path. If SPC = '1' and the stop endpoint command is executed, after a Short Packet condition has been detected, but before the end of the TD has been reached, (i.e. the TD is in progress for pipe), then a Transfer Event TRB with its Completion Code set to Stopped - Short Packet and its TRB Transfer Length set to value of the EDTLA shall be forced for the interrupted TRB, irrespective of whether its IOC or ISP flags are set. This Transfer Event TRB will precede the Command Completion Event TRB for the command, and is referred to as a Stopped Transfer Event. Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79b8094f60d8ce54ee76e631ab665c5e3012e6ba Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Thu Aug 6 19:24:00 2015 +0300 xhci: xHCI 1.1: Contiguous Frame ID Capability (CFC) If the Contiguous Frame ID Capability is supported (CFC = 1), then the xHC shall match the Frame ID in every Isoch TD with SIA = 0 against the Frame Index of the MFINDEX register. This rule ensures resynchronization of Isoch TDs even if some are dropped due to Missed Service Errors or Stopping the endpoint. This patch enables xHCI driver to support CFC by calculating and setting the Frame ID field of an Isoch TRB. [made some dbg messages checkpatch friendly -Mathias] Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4758dcd19a7d9ba9610b38fecb93f65f56f86346 Author: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Date: Thu Aug 6 19:23:58 2015 +0300 usb: xhci: Add support for URB_ZERO_PACKET to bulk/sg transfers This commit checks for the URB_ZERO_PACKET flag and creates an extra zero-length td if the urb transfer length is a multiple of the endpoint's max packet length. Signed-off-by: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c05cb145d6716f00d452aeb27916efb6d190cca Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Aug 6 19:23:57 2015 +0300 usb: xhci: make USB_XHCI_PLATFORM selectable Right now xhci-plat-hcd can be built when using one of platform specific drivers only (mvebu/rcar). There shouldn't be such limitation as some platforms may not require any quirks and may want to just use a generic driver ("generic-xhci" / "xhci-hcd"). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95ddd3f4b17e1df20b5e23d7b81614e7c8a643da Author: Joo Aun Saw <jasaw@xxxxxxxxxxx> Date: Sat Jul 25 01:23:29 2015 +1000 tools: iio: remove unnecessary double pointer Remove unnecessary double pointer from channel sorting function. Signed-off-by: Joo Aun Saw <jasaw@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 6b20f40679108e3c04e9bdb3d719e364ec29289e Author: Joo Aun Saw <jasaw@xxxxxxxxxxx> Date: Sat Jul 25 01:23:28 2015 +1000 tools: iio: Set caller's ci_array pointer to NULL after free On error, caller's ci_array is freed and set to NULL to avoid potential double free if some other user of this code is not sufficiently careful. Counter is reset to zero for consistency. Signed-off-by: Joo Aun Saw <jasaw@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bdb25b0af8bd225ddf82083d767fada56fb2c1ae Author: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 15:57:41 2015 +0300 iio: Fix typos in ABI documentation Fix typos in ABI documentation Signed-off-by: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 076a30c411ba2b91a18d44a5a01977035cdd7716 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Aug 6 15:44:52 2015 -0400 perf callchain: Move option parsing code to util.c Move callchain option parse related code to util.c, to avoid dragging more object files into the python binding. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438890294-33409-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d809560b36a7ed31fbaf3719fdf79ddcbd30950b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 7 12:51:03 2015 +0200 perf stat: Move perf_counts struct and functions into separate object Moving 'struct perf_counts' and associated functions into separate object, so we could remove stat.c object dependency from python build. It makes the python code to build properly, because it fails to load due to missing stat-shadow.c object dependency if some patches from Kan Liang are applied. So apply this one, then Kan's. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150807105103.GB8624@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8838cc7f3c584d6aaf56c66577f8a2bfb21081ec Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:52 2015 +0200 iio:accel:mma8452: reorder Kconfig entry Move the entry in Kconfig to its alphabetically correct position. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 686027fbc602e715aae2d1b7987daefc2ff82a8a Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:51 2015 +0200 iio:accel:mma8452: coding style cleanup Some coding style cleanups, mainly indicated by checkpatch.pl, which includes indentation changes, drop spaces after casts and befor tabs. Also insert empty lines after logical blocks and before unconditional returns. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 69abff81d7fa59a0dfca5c72a7f1006f17a06d11 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:50 2015 +0200 iio:accel:mma8452: rework register definitions Rework register definitions to be sorted by register and bit number, with bit definitions cascaded under the appropriate register, use GENMASK for consecutive bitmasks and realign properly. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 11218226184b6b2be5cde4bf16f647dda225d4f3 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:49 2015 +0200 iio:accel:mma8452: check values to be written Check values to be written to the device for valid lower and upper bounds. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b9fddcdb44c2e274193b119dd6c3af3a9324640a Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:48 2015 +0200 iio:accel:mma8452: pass up real error code Pass up the error code provided by functions. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8337455296385b45822dc46c2b25db4c361d734c Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:47 2015 +0200 iio:accel:mma8452: drop double include One inclusion of linux/iio/trigger_consumer.h is sufficient. Fixes: ae6d9ce05691b ("iio: mma8452: Add support for interrupt driven triggers.") Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 001fceb9c64a39aebb85d31134182d39c1628a21 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:46 2015 +0200 iio:accel:mma8452: fix _get_hp_filter_index To iterate through the available frequencies of mma8452_hp_filter_cutoff[], the array size of a row of that table needs to be provided to _get_int_plus_micros_index(). Fixes: 1e79841a00e46 ("iio: mma8452: Add highpass filter configuration.") Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0ad4bf37017621e25fe157fa095fd8849779a873 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Thu Jul 23 17:21:07 2015 +0200 iio:accel:bmc150-accel: Use the chip ID to detect sensor variant Instead of using the I2C or ACPI ID to determine which variant of the chipset to use, determine that from the chip ID. Under Windows, the same driver is used for those variants and, despite incorrect ACPI data, it is able to load and operate the accelerometer. Fixes the accelerometer failing with: bmc150_accel i2c-BMA250E:00: Invalid chip f8 on the WinBook TW100 Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c4eaab798bd459f0c3f8917e74abf1851f3e1cb5 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Thu Jul 23 17:20:59 2015 +0200 iio:accel:bmc150-accel: Move bmc150_accel_chip_init() Move bmc150_accel_chip_init() so that we can use bmc150_accel_chip_info_tbl[] in it. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ee33ddd2915cca51ce9acb1e5584631b74d92b3c Author: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Date: Wed Aug 5 14:15:12 2015 +0200 staging: iio_simple_dummy: Fix indentation errors Fixing indentation errors in drivers/staging/iio/iio_simple_dummy_events.c. Signed-off-by: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5450c360d4608b70ebd85f4ae2f2ce779a296a93 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:21 2015 +0200 iio: adis16136: Add ADIS16137 support The ADIS16137 is register map compatible to the ADIS16136, but has a different scale factor for the gyroscope output. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 72d9c9869df3149316af6cd70585eee15f643f40 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:20 2015 +0200 iio: adis16400: Add ADIS16445 support The ADIS16445 is similar to the ADIS16448, but without the magnetometer and pressure channels as well as different scale factors for the gyroscope and accelerometer outputs. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit dc8615ce34cf72955f098750eef81a5501c107d1 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:19 2015 +0200 iio: adis16400: Add ADIS16367 support The ADIS16367 is mostly register compatible to the ADIS16360. The only difference is the scale factor for the gyroscope output. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f1afda124badf1cf4b013722d55934536ff0892c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:18 2015 +0200 iio: adis16260: Add ADIS16266 support The ADIS16266 is mostly register compatible to the ADIS16260. The difference is a different gyroscope scale factor as well not having the relative angular displacement channel. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3c386760790e3d3d5cb3ac2f0e09f3710eab7f99 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:17 2015 +0200 iio: adis16400: Add ADIS16305 support The ADIS16305 is fully register map compatible to the ADIS16300. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bd95a89e7a80cb0ee57e9ccd62de0dd80f98a270 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:16 2015 +0200 iio: adis16400: adis16300 has product ID and serial number The ADIS16300 has the product ID and serial number registers, they are just not documented. Set the appropriate flags so the driver makes use of them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7abad1063deb0f77d275c61f58863ec319c58c5c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:15 2015 +0200 iio: adis16480: Fix scale factors The different devices support by the adis16480 driver have slightly different scales for the gyroscope and accelerometer channels. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c689a923c867eac40ed3826c1d9328edea8b6bc7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:14 2015 +0200 iio: Add inverse unit conversion macros Add inverse unit conversion macro to convert from standard IIO units to units that might be used by some devices. Those are useful in combination with scale factors that are specified as IIO_VAL_FRACTIONAL. Typically the denominator for those specifications will contain the maximum raw value the sensor will generate and the numerator the value it maps to in a specific unit. Sometimes datasheets specify those in different units than the standard IIO units (e.g. degree/s instead of rad/s) and so we need to do a unit conversion. From a mathematical point of view it does not make a difference whether we apply the unit conversion to the numerator or the inverse unit conversion to the denominator since (x / y) / z = x / (y * z). But as the denominator is typically a larger value and we are rounding both the numerator and denominator to integer values using the later method gives us a better precision (E.g. the relative error is smaller if we round 8000.3 to 8000 rather than rounding 8.3 to 8). This is where in inverse unit conversion macros will be used. Marked for stable as used by some upcoming fixes. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8166537283b31d7abaae9e56bd48fbbc30cdc579 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:13 2015 +0200 iio: adis16400: Fix adis16448 gyroscope scale Use the correct scale for the adis16448 gyroscope output. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8e563b0dabcce7cad80af9bb40b220004f411092 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Aug 6 14:56:02 2015 +0300 iio: trigger: Add missing fields in kernel docs Fix kernel docs warnings by adding the missing description for each of the existing function parameters. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 655665d67c8465501a46aa8ffde4e6e29201ba99 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Aug 6 14:17:53 2015 +0300 iio: Documentation: Add trigger name attribute ABI documentation This patch adds an entry in ABI Documentation for the name attribute issued when a trigger is created. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit aab978772a4fbe71d8231cb58d0989737db27a36 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Tue Aug 4 17:20:08 2015 +0300 DocBook: Add initial documentation for IIO This is intended to help developers faster find their way inside the Industrial I/O core and reduce time spent on IIO drivers development. Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Acked-by: Crt Mori <cmo@xxxxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ad30bad3a5474f2585a7f2a35d4705c7f85210f3 Author: Pengyu Ma <pengyu.ma@xxxxxxxxxxxxx> Date: Tue Aug 4 16:32:18 2015 +0800 iio: declare struct to fix warning When compile iio related driver the following warning shown: include/linux/iio/trigger.h:35:34: warning: 'struct iio_trigger' declared inside parameter list int (*set_trigger_state)(struct iio_trigger *trig, bool state); include/linux/iio/trigger.h:38:18: warning: 'struct iio_dev' declared inside parameter list struct iio_dev *indio_dev); 'struct iio_dev' and 'struct iio_trigger' was used before declaration, forward declaration for these structs to fix warning. Signed-off-by: Pengyu Ma <pengyu.ma@xxxxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7a9fbd250ce274a1a625b1e2055abfe26328e46b Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jul 29 23:39:40 2015 +0200 iio:accel:stk8312: drop local buffer Drop the local buffer in stk8312_trigger_handler() and use data->buffer instead for bulk reads. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit dca5d2846514c0f3d95827d291310a403fc0ebb7 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jul 29 23:39:39 2015 +0200 iio:accel:stk8312: code style cleanup Adjust some indentation issues to make checkpatch.pl happy in strict mode. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7d73e02c5d11ac1298b0a363b57d713969c02bbd Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jul 29 23:39:38 2015 +0200 iio:accel:stk8312: use appropriate variable types Adapt some variable types to reduce unnecessary casting. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 03ecd50c50450b3e3173c9dda8adab241b46ae1e Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jul 29 23:39:37 2015 +0200 iio:accel:stk8312: rework macro definitions Make use of BIT to describe register bits, GENMASK for consecutive bitmasks, rename and sort existing definitions, replace magic value with an expressive definition, drop an unused definition. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 18422bb3c1d89b510bb7c590c716dd6ad8e1a1e4 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jul 29 23:39:36 2015 +0200 iio:accel:stk8312: improve error handling Improve error handling in the following ways: - set return value on error condition to an appropriate error code - return error code immediately in case of an error (slightly changes code structure) - pass up real error code - add missing error handling - return 0 when error have been caught already - put device back in active mode after error occurs Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 378abcdf3297613f6712343ce3a79b7d6abdf955 Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Wed Jul 29 20:57:20 2015 +0200 ARM: dts: rockchip: add veyron-minnie board Also known as the Asus Chromebook Flip. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit b21bcfc9fda56bac573367d18ce3e4dbf3cdedf9 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Aug 1 13:00:49 2015 +0200 ARM: dts: rockchip: reserve unusable memory region on rk3288 The all current Rockchip SoCs supporting 4GB of ram have problems accessing the memory region 0xfe000000~0xff000000. This also seems to includes the rk3368 arm64 soc. All current code handling dma memory oddities I could find, seem to involve soc-specific code (zone-dma or so) while this issue is shared between arm32 and arm64 socs from Rockchip, which would need to have this described in the soc devicetree on both socs. Limiting the dma-zone alone also does not solve the issue and as the dma-masks need to be a power-of-two in the kernel, the next lower dma-mask brings memory usable for dma down to 2GB. So as a stop-gap block off the affected region to prevent its use by devices with 4GB of memory, like some recent Chromebooks. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit 67867fc3382911f1c5eba1a35654d8dbdb9cd92a Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Aug 2 22:34:17 2015 +0200 ARM: dts: rockchip: enable usb controller on marsboard This enables the previously disabled usb controllers on the marsboard and makes it possible to for example mount usb mass storage devices. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 760bb9773f26c09f5e54bf0f7adb6644d689557c Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Aug 1 20:28:36 2015 +0200 ARM: dts: rockchip: add usb phys to Cortex-A9 socs This adds the usbphy nodes to rk3066 and rk3188, which share the usb hosts in rk3xxx.dtsi and also enables it on boards based around these socs. The usb-phy itself is the same as used on the rk3288 already. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ec32bd9fcadc26d8a184c9a09ec3fe29e097c175 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Aug 2 22:29:33 2015 +0200 ARM: dts: rockchip: set correct dwc2 params for cortex-a9 socs According to the manual, the fifo sizes are the same as on later socs like the rk3288 and this also fixes an error about "insufficient fifo memory", as it seems the values read from the ip are wrong. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 6b7e26547fad7ace3dcb27a5babd2317fb9d1e12 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Aug 6 14:45:45 2015 -0700 x86/vdso: Emit a GNU hash Some dynamic loaders may be slightly faster if a GNU hash is available. Strangely, this seems to have no effect at all on the vdso size. This is unlikely to have any measurable effect on the time it takes to resolve vdso symbols (since there are so few of them). In some contexts, it can be a win for a different reason: if every DSO has a GNU hash section, then libc can avoid calculating SysV hashes at all. Both musl and glibc appear to have this optimization. It's plausible that this breaks some ancient glibc version. If so, then, depending on what glibc versions break, we could either require COMPAT_VDSO for them or consider reverting. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Isaac Dunham <ibid.ag@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rich Felker <dalias@xxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: musl@xxxxxxxxxxxxxxxxxx <musl@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/fd56cc057a2d62ab31c56a48d04fccb435b3fd4f.1438897382.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1eaef888158dc441dcd00c20779251cfa5e756b3 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Wed Aug 5 10:03:32 2015 -0400 tile: Reorganize _switch_to() Move the simulator bits into finish_arch_post_lock_switch() and properly call __switch_to() from _switch_to(). Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: <efault@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438783412-10990-1-git-send-email-cmetcalf@xxxxxxxxxx [ Made it a delta to: fe363adb9225 ("sched, tile: Remove finish_arch_switch"). ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f1d800bf615b84ca253af372d2dac8cdef743a20 Merge: 1354ac6 9bc898c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Aug 8 10:05:17 2015 +0200 Merge tag 'perf-ebpf-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/ebpf library + llvm/clang infrastructure changes from Arnaldo Carvalho de Melo: Infrastructure changes: - Add library for interfacing with the kernel eBPF infrastructure, with tools/perf/ targeted as a first user. (Wang Nan) - Add llvm/clang infrastructure for building BPF object files from C source code. (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c60232029aee84f69da0e74aa6f6d249edbbc80b Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Sat Jul 18 14:24:58 2015 -0500 powerpc/fsl: Force coherent memory on e500mc derivatives In CoreNet systems it is not allowed to mix M and non-M mappings to the same memory, and coherent DMA accesses are considered to be M mappings for this purpose. Ignoring this has been observed to cause hard lockups in non-SMP kernels on e6500. Furthermore, e6500 implements the LRAT (logical to real address table) which allows KVM guests to control the WIMGE bits. This means that KVM cannot force the M bit on the way it usually does, so the guest had better set it itself. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 0d61f0b3e222b588480e2ad1e85bb2ea57561c4b Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Sat Jul 18 14:24:57 2015 -0500 powerpc/booke64: Move mb() to __set_pte_at() with kernel-addr test map_kernel() doesn't catch all places that create kernel PTEs. In particular, vmalloc() calls set_pte_at() directly. This causes a crash when booting a non-SMP kernel on e6500. Move the sync to __set_pte(), to be executed only for kernel addresses. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit cf184dc2dd33847f4b211b01d8c7ec0526e6c5e4 Author: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Date: Wed May 20 21:17:11 2015 -0500 fsl_ifc: Change IO accessor based on endianness IFC IO accressor are set at run time based on IFC IP registers endianness.IFC node in DTS file contains information about endianness. Signed-off-by: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3fa647bff31fe7b8818a40742506d47d0dc7f8f5 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Jul 24 11:46:33 2015 +0800 powerpc/config: enable aquantia PHY Aquantia PHYs used on platforms such as T2080RDB, T1024RDB. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit b6808fb731b9a39cc2b676576f76df978208eec6 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Jul 24 11:45:33 2015 +0800 powerpc/85xx: enable teranetics PHY The PHY uses XAUI interface to connect to MAC, mostly the PHY used on riser card. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit add888d6b2db1c52a273093f741e449cf9a28342 Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Date: Tue Jul 7 14:17:41 2015 +0800 powerpc/t1023rdb: add ina220 current sensor node Add support for INA220 current sensor. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 4a6b8a4b20e22e0c170ecd785009fadd7d611e0e Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Date: Tue Jul 7 14:17:40 2015 +0800 powerpc/t1024rdb: add ina220 current sensor node Add support for INA220 current sensor. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 295ffb41896f566d4bd6f93fc230f5d411d373cb Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:57 2015 +0200 powerpc/32: Few optimisations in memcpy This patch adds a few optimisations in memcpy functions by using lbzu/stbu instead of lxb/stb and by re-ordering insn inside a loop to reduce latency due to loading Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 0b05e2d671c40cfb57e66e4e402320d6e056b2f8 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:55 2015 +0200 powerpc/32: cacheable_memcpy becomes memcpy cacheable_memcpy uses dcbz instruction and is more efficient than memcpy when the destination is in RAM. If the destination is in an io area, memcpy_toio() is normally used, not memcpy This patch renames memcpy as generic_memcpy, and renames cacheable_memcpy as memcpy On MPC885, we get approximatly 7% increase of the transfer rate on an FTP reception Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit c152f149ce8e47bc04061a9e9e5f53e219ee5b95 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:52 2015 +0200 powerpc/32: Merge the new memset() with the old one cacheable_memzero() which has become the new memset() and the old memset() are quite similar, so just merge them. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 5b2a32e806342f237f68435a50e1071f7f32b5c5 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:50 2015 +0200 powerpc/32: memset(0): use cacheable_memzero cacheable_memzero uses dcbz instruction and is more efficient than memset(0) when the destination is in RAM This patch renames memset as generic_memset, and defines memset as a prolog to cacheable_memzero. This prolog checks if the byte to set is 0. If not, it falls back to generic_memcpy() cacheable_memzero disappears as it is not referenced anywhere anymore Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit df087e450d7ddc0b15bd8824206d964720b4f5e4 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:48 2015 +0200 Partially revert "powerpc: Remove duplicate cacheable_memcpy/memzero functions" This partially reverts commit 'powerpc: Remove duplicate cacheable_memcpy/memzero functions ("b05ae4ee602b7dc90771408ccf0972e1b3801a35")' Functions cacheable_memcpy/memzero are more efficient than memcpy/memset as they use the dcbz instruction which avoids refill of the cacheline with the data that we will overwrite. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 934628c7e69dc4481011df2c1db86f6be50dad29 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:46 2015 +0200 powerpc: use memset_io() to clear CPM Muram CPM muram is not cached, so use memset_io() instead of memset() Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 2f7d2b74a9dd9140053f143e1c94da0fef3c1109 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Apr 15 19:40:23 2015 -0500 powerpc/mm: Don't call __flush_dcache_icache_phys() with PA>VA __flush_dcache_icache_phys() requires the ability to access the memory with the MMU disabled, which means that on a 32-bit system any memory above 4 GiB is inaccessible. In particular, mpc86xx is 32-bit and can have more than 4 GiB of RAM. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 501c8de7b061d2dc0c21a0a79fee3eddf30af8dd Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 17:18:57 2015 +0200 powerpc: add support for csum_add() The C version of csum_add() as defined in include/net/checksum.h gives the following assembly in ppc32: 0: 7c 04 1a 14 add r0,r4,r3 4: 7c 64 00 10 subfc r3,r4,r0 8: 7c 63 19 10 subfe r3,r3,r3 c: 7c 63 00 50 subf r3,r3,r0 and the following in ppc64: 0xc000000000001af8 <+0>: add r3,r3,r4 0xc000000000001afc <+4>: cmplw cr7,r3,r4 0xc000000000001b00 <+8>: mfcr r4 0xc000000000001b04 <+12>: rlwinm r4,r4,29,31,31 0xc000000000001b08 <+16>: add r3,r4,r3 0xc000000000001b0c <+20>: clrldi r3,r3,32 0xc000000000001b10 <+24>: blr include/net/checksum.h also offers the possibility to define an arch specific function. This patch provides a specific csum_add() inline function. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 92c985f1d76c228abe202cb3004f03c9b45860d1 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 17:18:55 2015 +0200 powerpc: put csum_tcpudp_magic inline csum_tcpudp_magic() is only a few instructions, and does modify really few registers. So it is not worth having it as a separate function and suffer function branching and saving of volatile registers. This patch makes it inline by use of the already existing csum_tcpudp_nofold() function. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 44d5401425db90dc46a0ca000bdc41429768d351 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Jul 29 18:14:04 2015 -0500 powerpc/85xx: Use kconfig fragments Unify mpc85xx and corenet configs using fragments, to ease maintenance and avoid the sort of drift that the previous patch fixed. Hardware and software options are separated, with the hope that other embedded platforms could share the software options, and to make it easier to maintain custom/alternate configs that focus on either hardware or software options. Due to the previous patch, this patch should not affect the results of any of the affected defconfigs -- only how those results are achieved. The resulting config is more or less the union of the options that any of the configs previously selected. No attempt was made in this (or the previous) patch to edit out questionable options, but this patch will make it easier to do so in future patches. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7e2ad2ef851545c9bd0b5aadc8026c6901a87c50 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Jul 30 18:08:56 2015 -0500 powerpc/85xx: Make defconfigs consistent The mpc85xx and corenet configs have many differences between them that can't be explained by the target hardware of each config. The next patch will consolidate these targets using kconfig fragments; this patch shows what the resulting defconfigs will look like (generated by using savedefconfig on a fragment-generated config). Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ecc7456880e0ae393ecee85127c71fc508bce74c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 16:22:53 2015 +1000 powerpc: Update corenet32_smp_defconfig for modern distros corenet32_smp_defconfig is missing some things that modern distros require, enable them. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit f728b8b7d0d18142fd7591b566aae2352e433d7e Author: Yao Yuan <yao.yuan@xxxxxxxxxxxxx> Date: Thu Jul 23 11:00:46 2015 +0800 powerpc/corenet32: enable DMA in defconfig By default we enable DMA(CONFIG_FSL_DMA) support which are needed on P2041RDB, P3041DS, P4080DS, B4860QDS, etc. Signed-off-by: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7a2efb3a88b4d8ba5ab4ca5dacff22122ac51f28 Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Wed May 6 14:29:08 2015 +0800 powerpc/corenet: enable eSDHC Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 21c36d35711d24a7689b7fb9606ce78f3b4c3d3b Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Aug 7 13:59:16 2015 +0200 cpufreq-dt: make scaling_boost_freqs sysfs attr available when boost is enabled Make scaling_boost_freqs sysfs attribute is available when cpufreq-dt driver is used and boost support is enabled. Suggested-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 00dabd57e8207c6c7f3a5decc2c56e54951d568a Merge: 74d3329 a622789 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Aug 8 03:13:49 2015 +0200 Merge tag 'pull_req_20150803' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq into pm-devfreq Pull devfreq changes for v4.3 from MyungJoo Ham. - Device driver update to support additional hardare - Documentation error fix * tag 'pull_req_20150803' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq: PM / devfreq: exynos-ppmu: Update documentation to support PPMUv2 PM / devfreq: exynos-ppmu: Add the support of PPMUv2 for Exynos5433 PM / devfreq: event: Remove incorrect property in exynos-ppmu DT binding commit 3fc147e9156f6c176e5543c59d31182252f14933 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Aug 4 21:37:01 2015 +0200 PM / AVS: rockchip-io: add io selectors and supplies for rk3368 This adds the necessary data for handling io voltage domains on the rk3368. As interesting tidbit, the rk3368 contains two separate iodomain areas. One in the regular General Register Files (GRF) and one in PMUGRF in the pmu power domain. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 28c1f1628ee4b163e615eefe1b6463e3d229a873 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Aug 4 21:36:12 2015 +0200 PM / AVS: rockchip-io: depend on CONFIG_POWER_AVS The rockchip io-domain driver currently only depends on ARCH_ROCKCHIP itself. This makes it possible to select the power-domain driver, but not the POWER_AVS class and results in the iodomain-driver not getting build in this case. So add the additional dependency, which also results in the driver config option now being placed nicely into the AVS submenu. Fixes: 662a958638bd ("PM / AVS: rockchip-io: add driver handling Rockchip io domains") Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ddb2c42b677eb2883e532f0928e445fc205d0019 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 6 12:29:37 2015 +0800 mtd: brcmnand: Fix misuse of IS_ENABLED While IS_ENABLED() is perfectly fine for CONFIG_* symbols, it is not for other symbols such as __BIG_ENDIAN that is provided directly by the compiler. Switch to use CONFIG_CPU_BIG_ENDIAN instead of __BIG_ENDIAN. Fixes: 27c5b17cd1b1 ("mtd: nand: add NAND driver "library" for Broadcom STB NAND controller") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 10e4ea75149d11883a9e04c3b32ee1d7600d481e Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Aug 5 09:39:27 2015 -0700 net: Fix race condition in store_rps_map There is a race condition in store_rps_map that allows jump label count in rps_needed to go below zero. This can happen when concurrently attempting to set and a clear map. Scenario: 1. rps_needed count is zero 2. New map is assigned by setting thread, but rps_needed count _not_ yet incremented (rps_needed count still zero) 2. Map is cleared by second thread, old_map set to that just assigned 3. Second thread performs static_key_slow_dec, rps_needed count now goes negative Fix is to increment or decrement rps_needed under the spinlock. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b17c858def70b03a1652dcb74e061e8077f72c42 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:34 2015 +0530 staging: rtl8188eu: remove multiple blank line Multiple blank lines is against the kernel coding style and checkpatch complains for that. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a45515f3838328334cfac3d1fcddca9f67fb9172 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:33 2015 +0530 staging: rtl8188eu: remove unused function The function rtw_init_recvframe() was not being used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbd0968708c5e6a4811e62b103fa3d8c165f65c3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:32 2015 +0530 staging: rtl8188eu: remove exit label An exit label which does nothing except return, is not worth having. So remove it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea31f616b630723bc220ff4daa123774532f96ea Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:31 2015 +0530 staging: rtl8188eu: remove unused define _RECV_OSDEP_C_ was only defined here but never checked anywhere. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 469d3807e7f99f950348af5f031a580f13863263 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:30 2015 +0530 staging: rtl8188eu: rearrange code Re-arrange the code to directly return success or failure, thus removing the variable used in the function. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b47649c78c09afa43e93e902027d211cd1c6991 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:29 2015 +0530 staging: rtl8188eu: make function void The return value of rtw_os_recv_resource_alloc() is never checked, so make it as void. Moreover as of now the function can not fail. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1695cd29b24eca077fa8ae467f1184009ceb9d05 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:28 2015 +0530 staging: rtl8188eu: remove unused argument The function rtw_os_recv_resource_alloc() only uses the argument struct recv_frame *. So remove the other unused argument. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6356a9617cbaebf1159fe50f2e05d57e7e4242e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Aug 7 09:02:04 2015 +0900 staging: wilc1000: remove WILC_memcmp function Remove WILC_memcmp function because it is changed to memcmp. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a646e7e9e4227d4eeb9ccbbc2d976b3b256a1e6 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Aug 7 09:02:03 2015 +0900 staging: wilc1000: use memcmp instead of WILC_memcmp Use memcmp instead of WILC_memcmp. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70b801cb539ae812662927bb327668aa3c7c21ab Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Aug 7 09:02:02 2015 +0900 staging: wilc1000: remove WILC_memset function Remove WILC_memset function because it is changed to memset. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2cc468378a4f8dd3517d9fc1d613c2f328e070c4 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Aug 7 09:02:01 2015 +0900 staging: wilc1000: use memset instead of WILC_memset Use memset instead of WILC_memset. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 741a3b0745596f18a20da30b167e46c11bb3ce53 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:25 2015 +0200 staging/lustre: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f35aabae837e6d1a1d82a8cc54f8ce7366ed49 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:16 2015 +0200 clk/mmp: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7fb539eda2be9fce93b7f1cc933ef318e9c3771b Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:21 2015 -0700 staging: rtl8712: change SupportedRates to rates Change the value to a name that conforms to Linux coding style. "rates" is equally expressive in this context, and I have left alone a comment and function name that describe the rates as supported rates. Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db55b1652e5b126d0dbfd1ce0bcbaacddac8f36e Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:20 2015 -0700 staging: rtl8712: remove typedefs Coding style fix. Get rid of typedefs NDIS_802_11_RATES and NDIS_802_11_RATES_EX Undo any casting that was done as a result of the typedef. Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 986fc8e7410d65fe5adfee787ce14d56f72b4c4c Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:19 2015 -0700 staging: rtl8712: rename function Rename r8712_get_ndis_wlan_bssid_ex_sz() to r8712_get_wlan_bssid_ex_sz(), which corresponds to the struct whose size it measures. Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44367877c6c5048ac352c529c63ce0698c1ddd5c Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:18 2015 -0700 staging: rtl8712: remove duplicate struct struct ndis_wlan_bssid_ex is a doppelganger of struct wlan_bssid_ex, and is used about a third as often. Switch all instances to wlan_bssid_ex, and remove ndis_wlan_bssid_ex This also gets rid of a use of typedef NDIS_802_11_RATES_EX Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebe92393cac834c89c774f93d92c8118b69e6016 Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:17 2015 -0700 staging: rtl8712: removed unused wrapper structs Remove wrapper structs that just wrap struct ndis_wlan_bssid_ex, and are unused. Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9bdb70ecddd4441be8818ab2f6cbea269c84b3fb Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:16 2015 -0700 staging: rtl8712: fix comment The old comment refers to a typedef name which is being removed, and to a style of calculation which is no longer being used. It falsely states that IELength is variable length, instead of IEs. Change comment to simply state that the IEs field is a buffer of variable size and that IELength refers to the current size. Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 881edf67b26813f91288790bbb575c570b9de901 Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:15 2015 -0700 staging: rtl8712: simplify size calculation replace item-by-item size calculation of a struct with the size of the struct. This gets rid of a use of typedef NDIS_802_11_RATES_EX Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4063ea9af6d287975732a0c992e7fe870591d365 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 17:34:06 2015 +0530 staging: sm750fb: simplify return Lets return the return value directly instead of using a variable to store the result. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8fbc838f4b2cd72da11568b09b956806b98c29e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 17:34:05 2015 +0530 staging: sm750fb: rearrange code Rearrange the code to remove one exit label which also makes the code less indented and more readable. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d11ac7cbcc266c6c2a6ae504e070b6dc4536c1f7 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 17:34:04 2015 +0530 staging: sm750fb: fix multiline comment Multiline comments are edited to be in the kernel coding style. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13ef3458227d4095a4f86270b1f29690dfc248bd Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 17:34:03 2015 +0530 staging: sm750fb: space around operator Kernel coding style says to have a space around the operators. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5fd93ddf32f3ae77e66bee9c341036e03dd389ae Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 17:34:02 2015 +0530 staging: sm750fb: remove multiple blank line Multiple blank lines are not kernel coding style and so checkpatch complains. Remove them. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dab10f444774dd119e3c370cd332df9c1c646c7 Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:14 2015 -0700 staging: rtl8712: fix buggy size calculation r8712_get_ndis_wlan_bssid_ex_sz has a "6 * sizeof(unsigned long)" where the underlying struct has a 6 * unsigned char. Simplify the calculation by just subtracting the variable part from the size of the struct. This also gets rid of a use of typedef NDIS_802_11_RATES_EX Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a1d7b09e7e3c2c7097712331ac64ccfdbcf8f6d Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:49:57 2015 +0200 Staging: lustre: lnet: Remove unnecessary parentheses on return Removed three instances of parentheses in return calls that are unnecessary and do not contribute to readability. Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 276479ff684792fefadec795afd1cb84a81dc8e5 Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:48:48 2015 +0200 staging: lustre: Fix space before '[' error Fix checkpatch.pl error: ERROR: space prohibited before open square bracket '[' Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 270f0c31b47eeedee7d6c538c0f5753df24a7726 Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:47:41 2015 +0200 staging: lustre: Fix space before '(' warnings Fix several instances of checkpatch.pl warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83b912c67b0b42af7bb7cbcb9d4fdb64bcd8dc65 Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:45:50 2015 +0200 staging: lustre: Fix space before '++' error Fix checkpatch.pl error: ERROR: space prohibited before that '++' (ctx:WxO) Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e39f6efaa1d9203527683213a1cf039c4d6c29aa Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:44:36 2015 +0200 staging: lustre: Fix code indent error Fix checkpatch.pl error: ERROR: code indent should use tabs where possible Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66a84f8ae131a7111ce8a6b0a77edf42b2c01d6c Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:43:08 2015 +0200 staging: lustre: Unnecessary line continuation Fix checkpatch.pl warning: WARNING: Avoid unnecessary line continuations Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9eda12565a7df27bf67af99830923d4887c74b5 Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Date: Thu Aug 6 20:09:24 2015 -0500 staging: fsl-mc: add DPAA2 overview readme add README file providing an overview of the DPAA2 architecture and how it is integrated in Linux Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44ae5443ef9fac059a2892cbb3f7e4d95f7f8d12 Author: Navy Cheng <navych@xxxxxxx> Date: Thu Aug 6 09:47:57 2015 +0800 Staging: vme: remove an unnecessary and wrong warning message The wrong warning message in vme_user_probe() will mislead developers and users. As the error message which prompt cdev_add() error already exists, just remove the unnecessary and wrong message. Signed-off-by: Navy Cheng <navych@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2622fb31635d3ffd8a2aa3d7f253d2c13c71ad3 Author: Okash Khawaja <okash.khawaja@xxxxxxxxx> Date: Wed Aug 5 21:13:52 2015 +0100 staging: octeon: fix coding style warnings for block comments The Linux kernel coding style suggests starting every line in a block comment with an asterisk and finishing the block comment with */ on a separate line. This patch fixes those warnings, clearing all warnings and errors in this file, as reported by the checkpatch script. Signed-off-by: Okash Khawaja <okash.khawaja@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbb588a4f7bf5dd8ad871f5d5dec228295cc4b7e Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Sun Aug 2 22:30:14 2015 +0200 Staging: fbtft: Use a struct to describe each LCD controller Use a struct flexfb_lcd_controller to holds chip properties, instead of relying on a long 'if - else if' chain. This allows to: - use a simple linear search to verify if a certain LCD controller model is supported or not. - add support for a new LCD chip controller simply defining a new flexfb_lcd_controller struct. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Acked-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25e66320167117d428d2c99076be5e5de557b7d1 Author: Johannes Postma <jgmpostma@xxxxxxxxx> Date: Fri Aug 7 14:04:34 2015 +0100 staging: rtl8723au: rtl8723a_hal_init: Improve code readability This patch improves code readability in the function rtl8723a_cal_txdesc_chksum. It improves the readability of the argument of the function le16_to_cpu. Signed-off-by: Johannes Postma <jgmpostma@xxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fc8cf4482fa1b983a5e971aa037aaa76179b28c Author: Johannes Postma <jgmpostma@xxxxxxxxx> Date: Thu Aug 6 12:21:52 2015 +0100 staging: rtl8723au: Fix sparse warning: cast to restricted __le16 usPtr is used as __le16 *, but was defined as u16 *. This was reported by sparse as: drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:1850:29: warning: cast to restricted __le16 This patch fixes the type of usPtr. Signed-off-by: Johannes Postma <jgmpostma@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a6779f564bf2f2748a9960a563b5b606d4bedc7 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 18:31:15 2015 +0530 MAINTAINERS: update maintainers list Now since sm712fb has moved out of staging update the maintainers list accordingly. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b55f52d13d3643e7d62ad2f37f55d8e7f5f0c8e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 18:31:14 2015 +0530 Documentation/fb: add documentation for sm712fb Create the documentation for SM712. Mention all the supported modes and how to use. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1461d66728648540a043ba69ace1081ed5006faf Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 18:31:13 2015 +0530 staging: sm7xxfb: merge sm712fb with fbdev Now since all cleanups are done and the code is ready to be merged lets move it out of staging into fbdev location. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b96e53df92ab6ed1ca58639f0bbfacaf717e285b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:23 2015 -0700 staging: comedi: me4000: update MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than "Comedi low- level driver" Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4627c547c031459ad9f504d95c6a56a1d7a1e079 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:22 2015 -0700 staging: comedi: me4000: updata driver status in comedi comment Firmware loading was fixed by: Commit: ac584af5 "staging: comedi: me4000: fix firmware downloading" Change the driver status to "untested" and remove the comments about the driver being broken, Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 751dcb48c7ec8585644d2e62d81ce54228e92c8b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:21 2015 -0700 staging: comedi: me4000: cleanup multi-line comments Format the multi-line comments in the kernel CodingStyle. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fe6929bbbca11b015d182d4864d92d0bf5c244d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:20 2015 -0700 staging: comedi: me4000: usleep_range is preferred over udelay Fix checkpatch issue: "CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt". `udelay()` is only used in the firmware upload process. Replace them with `usleep_range()` with a reasonable upper limit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7022781c460290687b374dab1c230c06091bba10 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:19 2015 -0700 staging: comedi: me4000: introduce me4000_ai_get_sample() The hardware returns two's complement values for the analog input samples. These need to be converted to the unsigned binary format that the comedi core expects. Introduce a helper function to handle this. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36d59d70babc9ad4275d0c7c5e63241a077f572c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:18 2015 -0700 staging: comedi: me4000: comedi_handle_events() will stop conversions The irq handler does not need to manually stop conversions and disable interrupts when "end-of-acquisition", "error", or "overflow" events are detected. The comedi_handle_events() will call the subdevice (*cancel) when these are detected and stop the acquisition. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b36e4fa78ddbb342480031beec5fc63473b340e0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:17 2015 -0700 staging: comedi: me4000: tidy up analog output subdevice init For aesthetics, add some white space to the analog output subdevice initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 607d993942512f6b005b0465be85f21db7725ecc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:16 2015 -0700 staging: comedi: me4000: fix me4000_detach() There is no real reason to reset the board when detaching. The comedi core will ensure that any commands are canceled before the detach. But the PLX interrupts should be disabled. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f3f3eb7a264630a73c23cecfa2af2235775e09a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:15 2015 -0700 staging: comedi: me4000: only enable PLX interrupt if we have and irq Currently me4000_reset() always enables the PLX interrupt. Move the enable of the interrupt into me4000_auto_attach() and only do the enable if we actually have and irq. Make sure the PLX interrupt is disabled in me4000_reset() before we try to request the irq. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b047d9ccc3a40b672594b4eab1eac91d7efebcd9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:14 2015 -0700 staging: comedi: me4000: introduce me4000_ai_reset() Introduce a helper function to stop any ai conversions and reset the ai control register. This consolidates the common code in me4000_reset() and me4000_ai_cancel(). Use the new helper in the ai (*insn_read) to ensure that the ai control register is set to a known state after reading the samples. The ai control register will now always be '0' after the (*cancel) of a command or doing an (*insn_read). Knowing this the programming of the register for single acquisition mode in the (*insn_read) can be simplified. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a31b50ed1b600ed198252acccf6ec570fabcfc03 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:13 2015 -0700 staging: comedi: me4000: clear the ME4000_AI_CTRL_REG in me4000_reset() Reset the analog input control register after ensuring that any active conversions have been stopped. This mimics what the ai subdevice (*cancel) does. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ff848c3be2d066ec0dc05f8477f97d9daa24e0d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:12 2015 -0700 staging: comedi: me4000: remove unnecessary me4000_ai_cancel() The comedi core ensures that the subdevice is not busy before it allows starting a new command. The subdevice (*cancel) is called when the subdevice is set to not busy. In this driver the me4000_ai_cancel() is the ai (*cancel) so the extra call in the ai (*do_cmd) is not necessary. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78e4a573bfb01c287af8b81cd9d0a7329cbae7ca Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:11 2015 -0700 staging: comedi: me4000: remove unnecessary ai control register reset The me4000_ai_cancel() already reset this register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6847df631faedfef33170eed8d81430a4917b8b0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:10 2015 -0700 staging: comedi: me4000: fix me4000_ai_cancel() The STOP and IMMEDIATE_STOP bits in the ME4000_AI_CTRL_REG should be set, not cleared, to stop any running conversions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffaeab349d0c5c28019ed395dac2c962560c34f6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:09 2015 -0700 staging: comedi: me4000: return void from me4000_ai_write_chanlist() This function always returns 0 and the return value is never checked. Just return void. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 576694d83e4b014f66e673fced80fb40be3c35b9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:08 2015 -0700 staging: comedi: me4000: absorb ai_write_timer() This function is only called by me4000_ai_do_cmd(). Absorb it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11e480c3a64355b55ac23aaa3250fcc85f260530 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:07 2015 -0700 staging: comedi: me4000: absorb ai_prepare() This function never fails and it's only called by me4000_ai_do_cmd(). Absorb it and remove the unnecessary failure check. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 272e426ebca118cf202e4cf43dddf65ff358e953 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:06 2015 -0700 staging: comedi: me4000: simplify ai_prepare() The ai (*do_cmd_test) validates the trigger sources in Step 2b to ensure that they are compatible. Save the 'ai_ctrl_mode' that will be used in the private data so that ai_prepare(), which is called by the ai (*do_cmd), does not have to recheck the sources in order to figure it out. Also, tidy up the stop trigger checks so that the ME4000_AI_CTRL_HF_IRQ bit is set in the common code path. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f97f5c92d4dcd561df1c9c064243fedf328177b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:05 2015 -0700 staging: comedi: me4000: move ai command timing values into private data The ai (*do_cmd_test) calls me4000_ai_round_cmd_args() to calculate the timing values needed to the command. The the command test passes, the core will then call the ai (*do_cmd) which then has to call me4000_ai_round_cmd_args() again in order to get the same values to pass to ai_prepare() in order to program the timing. Add members to the private data to allow the (*do_cmd_test) to calculate and save to values needed by ai_prepare(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c72c4c6e3ab4e1a280ab21fd2a6063b4d37fd4ff Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:04 2015 -0700 staging: comedi: me4000: return void from ai_round_cmd_args() This function always succeeds. Change the return type to void and remove the unnecessary error check in me4000_ai_do_cmd(). Move the function call in me4000_ai_do_cmd_test() from before Step 1 to Step 3 where the arguments are validated. There is no reason to get the values if the previous steps fail. Rename the function so it has namespace associated with the driver. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55fb972ee8881e665c9251fa6cb806ab6e1bcadc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:03 2015 -0700 staging: comedi: me4000: tidy up ME4000_DIO_CTRL_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e92a5eba35e801c2af07814d400858e8f290cb9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:02 2015 -0700 staging: comedi: me4000: tidy up ME4000_AO_CTRL_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4831748e7001b998adc209241f2d1fe9cd5c55c8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:01 2015 -0700 staging: comedi: me4000: tidy up ME4000_AO_STATUS_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ec0019a2f7605aad91b7684ca404757446ea1ad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:00 2015 -0700 staging: comedi: me4000: tidy up ME4000_IRQ_STATUS_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da772ad9a83ef3db24be12f355a4a90a21c1f209 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:59 2015 -0700 staging: comedi: me4000: tidy up ME4000_AI_CTRL_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9b586a52a97ca537882a879de583002d74d9e27 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:58 2015 -0700 staging: comedi: me4000: tidy up ME4000_AI_STATUS_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Also, use ME4000_AI_STATUS_REG instead of ME4000_AI_CTRL_REG when reading the register (they happen to be the same). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e978426116ba68069b8dd1a6492ec8a958f27218 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:57 2015 -0700 staging: comedi: me4000: use comedi_range_is_bipolar() in ai (*insn_read) Use the helper function to check the range type instead of relying on the value. For aesthetics, rename the local variable used for the range. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 959717a3f67a7b7ce0bded0ec7d0e7e2e74c786c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:56 2015 -0700 staging: comedi: me4000: use correct types for extracted chanspec values The chanspec channel, range, and aref are unsigned int values. Use the correct types when extracting them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb7891e48fc2eac16f615e81df06b7510981ef73 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:55 2015 -0700 staging: comedi: me4000: fix me4000_ai_insn_read() The coemdi (*insn_read) functions are supposed to read insn->n values from the hardware. Make this function work like the core expects. Use the comedi_offset_munge() helper to munge the two's complement values to offset binary. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 023c129f0a90edf1a9cf2c7ba9086f029f56d488 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:54 2015 -0700 staging: comedi: me4000: use comedi_timeout() to wait for ai (*insn_read) Use the comedi_timeout() helper to busy-wait for the analog input end-of- conversion instead of the udelay(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0861f87185a51b44c972a01bfc9730cb9cbbc2d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:53 2015 -0700 staging: comedi: me4000: tidy up ME4000_AI_CHANNEL_LIST_REG bit defines Use the BIT() macro to define the bits of this register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 518c5b64f6014192e5f9bc3bb1ebf2311e14b621 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:52 2015 -0700 staging: comedi: me4000: fix ai_write_chanlist() Rename this function so it has namespace associated with the driver. The last entry of the chanlist needs the ME4000_AI_LIST_LAST_ENTRY bit set to end the list. Fix the function and tidy if up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 245bd462440ca5914286c71051fdc5af506e76cb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:51 2015 -0700 staging: comedi: me4000: simplify analog input range programming The comedi_lrange table for the analog inputs is inverted compared to the values that need to be written to the ME4000_AI_CHANNEL_LIST_REG to select the range. Create a macro, ME4000_AI_LIST_RANGE(), to handle the inversion. Remove the old defines and simplify the code a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 271f5aa04be0ff3d0c6fc8ccc31a6b0d3294461b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:50 2015 -0700 staging: comedi: me4000: remove unnecessary ME4000_AI_LIST_INPUT_SINGLE_ENDED This define evaluates to 0 and is OR'ed with the 'entry' value that is written to the ME4000_AI_CHANNEL_LIST_REG when the channel aref is a single-ended type (AREF_GROUND or AREF_COMMON). OR'ing a zero value is pretty silly, just remove it. Remove the switch() in me4000_ai_insn_read() to simplify the code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3674a87ebe73be57fe412b8906b0004c6372bac4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:49 2015 -0700 staging: comedi: me4000: rename local variables used for 'dev->private' In comedi drivers the local variable used for the dev->private pointer is normally named 'devpriv'. For aesthetics, rename the variables in this driver. Also, rename the struct to follow the norm. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5f663502228edd9c540c9d550dea59cbdb13d3a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:48 2015 -0700 staging: comedi: me4000: refactor 'ai_sh_nchan' boardinfo Some of the boards supported by this driver can do analog input sample & hold on 8 of the channels. The 'ai_sh_nchan' member of the boardinfo is used to indicate which boards support this feature. To save a bit of space, convert this member to a bit-field, 'can_do_sh_ai'. Note, this feature is not currently supported. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77714d31f6cd6886dadbdb34cf32eddc2853eb50 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:47 2015 -0700 staging: comedi: me4000: refactor 'ao_fifo' boardinfo This member of the boardinfo is always '4' for the boards that have an analog output FIFO. Covert it to a bit-field, 'has_ao_fifo', to save a bit of space. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aed9b66316d2c6eb22c2a80a8af4d1f7beffe309 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:46 2015 -0700 staging: comedi: me4000: refactor 'ao_nchan' boardinfo For the boards that have analog output capability, there are always 4 analog output channels. Convert the 'ao_nchan' member of the boardinfo into a bit-field, 'has_ao', to save a bit of space and set the analog output subdevice 'n_chan' to 4 when supported. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56f71de601468efc12d90db9cad6ccec062b74b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:45 2015 -0700 staging: comedi: me4000: refactor 'ai_diff_nchan' boardinfo This member of the boardinfo is only used as a flag indicating that the board supports differential analog inputs. Convert the member to a bit- field to save a bit of space. For aesthetics, rename the member to 'can_do_diff_ai'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13a463ae576d2e238647b2e2bbfda0512b22dabf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:44 2015 -0700 staging: comedi: me4000: make boardinfo flags bit-fields Change the boardinfo 'has_counter' and 'ai_trig_analog' flags into bit-fields to save a bit of space. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ec85dadb7c7bb6cf84f18b7207f60efe0095d72 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:43 2015 -0700 staging: comedi: me4000: remove 'board' from me4000_ai_check_chanlist() The maximum differential channel is half the subdevice 'n_chan'. Use that instead and remove the need for the 'board' variable. Also, the comedi core does no validate the aref flags. Add a check to ensure that the subdevice actually supports the AREF_DIFF mode. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a02387063fbd32f51c98540499b90acc8b4317f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:42 2015 -0700 staging: comedi: me4000: remove 'board' from me4000_ai_insn_read() The 'board' pointer is only used in this function to verify that the 'chan' is valid for an aref of AREF_DIFF. For differential inputs, the maximum channel is half the subdevice 'n_chan'. Use that instead and remove the 'board' variable. Also, the comedi core does not validate the aref flags. Add a check to ensure that the subdevice actually supports the AREF_DIFF mode. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03611e5491e488f30a5b7653e02ee65032cfba14 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:41 2015 -0700 staging: comedi: me4000: remove 'chan' check in me4000_ai_insn_read() The comedi core validates that the 'chan' is valid for the subdevice before calling the (*insn_read) operation. Remove the unnecessary check. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31bebc030fb2a6e2e7e7ea19ce58a0f196280281 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:40 2015 -0700 staging: comedi: me4000: only set SDF_DIFF when supported Some of the boards supported by this driver do not have differential analog inputs. Only set the SDF_DIFF subdev_flag when the board supports it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14aa4789f0519d0d97f6bf672a077582b08f2cf6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:39 2015 -0700 staging: comedi: me4000: all board types have analog inputs All the boards supported by this driver have analog inputs. They just differ in the number of channels (32 or 16). Always initialize the analog input subdevice in me4000_auto_attach(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d855370186564b2dbfeb82547248a5e1f5f200b4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:38 2015 -0700 staging: comedi: me4000: remove 'dio_nchan' boardinfo All the boards supported by this driver have 32 digital I/O channels. Remove the unnecessary boardinfo. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71d0f562358c3274e78ef371dfeb71ad5e86cb91 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Aug 5 12:01:30 2015 -0700 Input: elan_i2c - enable asynchronous probing It takes a bit of time to go through controller power up sequence and initialization. To not stall the overall boot progress let's probe the controller asynchronously, given that userspace is usually prepared for hot-plugging of input devices and thus does not rely on particular ordering. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9f6a07b67fc032fce28248da62d9342fd4e89954 Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Tue Apr 14 18:18:34 2015 -0700 Input: elants_i2c - enable asynchronous probing It takes a bit of time to go through controller power up sequence and initialization. To not stall the overall boot progress let's probe the controller asynchronously, given that userspace is usually prepared for hot-plugging of input devices and thus does not rely on particular ordering. Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit afe10358e47a3ea1f69005cb1be78170d23f8afa Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Thu Apr 16 18:14:55 2015 -0700 Input: elants_i2c - wire up regulator support Elan touchscreen controllers use two power supplies, vcc33 and vccio, and we need to enable them before trying to access the device. On X86 firmware usually does this, but on ARM it is usually left to the kernel. Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Reviewed-by: Scott Liu <scott.liu@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 00159f19a5057cb779146afce1cceede692af346 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Aug 6 19:15:30 2015 -0700 Input: do not emit unneeded EV_SYN when suspending Do not emit EV_SYN/SYN_REPORT on suspend if there were no keys that are still pressed as we are suspending the device (and in all other cases when input core is forcibly releasing keys via input_dev_release_keys() call). Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e05176a3283822bd32a1f3d929ce2050232299a8 Author: Wenyu Zhang <wenyuz@xxxxxxxxxx> Date: Wed Aug 5 00:30:47 2015 -0700 openvswitch: Make 100 percents packets sampled when sampling rate is 1. When sampling rate is 1, the sampling probability is UINT32_MAX. The packet should be sampled even the prandom32() generate the number of UINT32_MAX. And none packet need be sampled when the probability is 0. Signed-off-by: Wenyu Zhang <wenyuz@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da8b43c0e1dcea3bcac5f37ea59934ddaa137aed Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 4 22:51:07 2015 -0700 vxlan: combine VXLAN_FLOWBASED into VXLAN_COLLECT_METADATA IFLA_VXLAN_FLOWBASED is useless without IFLA_VXLAN_COLLECT_METADATA, so combine them into single IFLA_VXLAN_COLLECT_METADATA flag. 'flowbased' doesn't convey real meaning of the vxlan tunnel mode. This mode can be used by routing, tc+bpf and ovs. Only ovs is strictly flow based, so 'collect metadata' is a better name for this tunnel mode. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e03c512841aa60363a6a5dcfb1e6fc19f35ec22d Merge: 1ebd08a 467fa15 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 7 11:29:58 2015 -0700 Merge branch 'rds-tcp-netns' Sowmini Varadhan says: ==================== RDS-TCP: Network namespace support This patch series contains the set of changes to correctly set up the infra for PF_RDS sockets that use TCP as the transport in multiple network namespaces. Patch 1 in the series is the minimal set of changes to allow a single instance of RDS-TCP to run in any (i.e init_net or other) net namespace. The changes in this patch set ensure that the execution of 'modprobe [-r] rds_tcp' sets up the kernel TCP sockets relative to the current netns, so that RDS applications can send/recv packets from that netns, and the netns can later be deleted cleanly. Patch 2 of the series further allows multiple RDS-TCP instances, one per network namespace. The changes in this patch allows dynamic creation/tear-down of RDS-TCP client and server sockets across all current and future namespaces. v2 changes from RFC sent out earlier: David Ahern comments in patch 1, net_device notifier in patch 2, patch 3 broken off and submitted separately. v3: Cong Wang review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 467fa15356acfb7b2efa38839c3e76caa4e6e0ea Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Aug 5 01:43:26 2015 -0400 RDS-TCP: Support multiple RDS-TCP listen endpoints, one per netns. Register pernet subsys init/stop functions that will set up and tear down per-net RDS-TCP listen endpoints. Unregister pernet subusys functions on 'modprobe -r' to clean up these end points. Enable keepalive on both accept and connect socket endpoints. The keepalive timer expiration will ensure that client socket endpoints will be removed as appropriate from the netns when an interface is removed from a namespace. Register a device notifier callback that will clean up all sockets (and thus avoid the need to wait for keepalive timeout) when the loopback device is unregistered from the netns indicating that the netns is getting deleted. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d5a8ac28a7ff2f250d1bedbb6008dd2f6f6f1638 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Aug 5 01:43:25 2015 -0400 RDS-TCP: Make RDS-TCP work correctly when it is set up in a netns other than init_net Open the sockets calling sock_create_kern() with the correct struct net pointer, and use that struct net pointer when verifying the address passed to rds_bind(). Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6e1f7f966e6d929b24f4318c717bb832afce8c7 Author: Scott Shu <scott.shu@xxxxxxxxxxxx> Date: Tue Aug 4 10:47:37 2015 +0800 ARM64: dts: mt6795: enable basic SMP bringup for MT6795 This patch adds support SMP on MediaTek MT6795 Cortex-A53 Octa-core SoC. Signed-off-by: Scott Shu <scott.shu@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 0630db4f7a43a7d03560ba898134971c53d22a4a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 7 18:10:17 2015 +0200 drm: Remove two-level menu in Kconfig The Direct Rendering Manager Kconfig option is already a separate menu, so remove the extra level to make it easier to navigate. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4299aaaa5da01f46f9186c4bb958200cf9c73532 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Aug 7 22:33:11 2015 +0800 spi: mediatek: mtk_spi_driver can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 761c5867ef031fae244d030bc17c93f5a3df106f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 12:54:10 2015 +0200 ARM: at91/dt: sama5d2: use slow clock where necessary The watchdog, the reset controller, the RTC, the shutdown controller, the timer counters and the LCD PWM need the slow clock, add it to the currently defined nodes. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 921f9a6ca5982efb2a300d45078617ad88f448a4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Mar 25 17:31:09 2015 +0100 ARM: at91/dt: at91sam9x5dm: add QT1070 touch button controller The display module for at91sam9x5-ek has a few touch buttons, add support for those. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8cf5938713e11cb0a47737c6fa550f444f7ea8b4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 23:17:10 2015 +0200 ARM: at91/dt: at91sam9x5dm: add support for the touschscreen The display module on the at91sam9x5-ek has a resistive touchscreen, add it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a437fc59e8a604667634697a13183dc673559348 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Wed Mar 25 18:41:31 2015 +0800 ARM: at91/dt: add drm support for at91sam9n12ek Add drm support for at91sam9n12ek board. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 432a4a82d06fbbf40a76b7cf2c3494c75eaf9863 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 09:37:06 2014 +0200 ARM: at91/dt: enable lcd support for at91sam9x5 SoCs Use the at91sam9x5 display module dtsi in the relevant board dts. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 0171d1d8cf54d4389e596e45c1e5faad73d93eba Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 09:34:54 2014 +0200 ARM: at91/dt: add at91sam9x5-ek Display Module dtsi All the at91sam9x5-ek share the share display module, add a dtsi to describe it. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c052a72ade4dd7ad0e9ddc7a424f93c04657c19d Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 09:36:10 2014 +0200 ARM: at91/dt: include lcd dtsi in at91sam9x5 dtsis Actually make use of at91sam9x5_lcd.dtsi in the relevant SoC dtsis. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit eeff040ab2f9579bdfa1c4df6a35b2d1cdeeaf31 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 09:35:31 2014 +0200 ARM: at91/dt: define hlcdc node in at91sam9x5_lcd.dtsi Define at91sam9x5 hlcdc node for the SoCs with an LCD controller. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 99d27b1b52bd5cdf9bd9f7661ca8641e9a1b55e6 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:31 2015 +0100 modsign: Add explicit CONFIG_SYSTEM_TRUSTED_KEYS option Let the user explicitly provide a file containing trusted keys, instead of just automatically finding files matching *.x509 in the build tree and trusting whatever we find. This really ought to be an *explicit* configuration, and the build rules for dealing with the files were fairly painful too. Fix applied from James Morris that removes an '=' from a macro definition in kernel/Makefile as this is a feature that only exists from GNU make 3.82 onwards. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit fb1179499134bc718dc7557c7a6a95dc72f224cb Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:30 2015 +0100 modsign: Use single PEM file for autogenerated key The current rule for generating signing_key.priv and signing_key.x509 is a classic example of a bad rule which has a tendency to break parallel make. When invoked to create *either* target, it generates the other target as a side-effect that make didn't predict. So let's switch to using a single file signing_key.pem which contains both key and certificate. That matches what we do in the case of an external key specified by CONFIG_MODULE_SIG_KEY anyway, so it's also slightly cleaner. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 1329e8cc69b93a0b1bc6d197b30dcff628c18dbf Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:30 2015 +0100 modsign: Extract signing cert from CONFIG_MODULE_SIG_KEY if needed Where an external PEM file or PKCS#11 URI is given, we can get the cert from it for ourselves instead of making the user drop signing_key.x509 in place for us. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 19e91b69d77bab16405cc284b451378e89a4110c Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:29 2015 +0100 modsign: Allow external signing key to be specified Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 6e3e281f39af78bd680b82d9762bf6c4f8f3f5f4 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:29 2015 +0100 modsign: Allow signing key to be PKCS#11 This is only the key; the corresponding *cert* still needs to be in $(topdir)/signing_key.x509. And there's no way to actually use this from the build system yet. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit af1eb2913275c3ab1598b0c24c893499092df08a Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:28 2015 +0100 modsign: Allow password to be specified for signing key We don't want this in the Kconfig since it might then get exposed in /proc/config.gz. So make it a parameter to Kbuild instead. This also means we don't have to jump through hoops to strip quotes from it, as we would if it was a config option. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit caf6fe91ddf62a96401e21e9b7a07227440f4185 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:28 2015 +0100 modsign: Abort modules_install when signing fails Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 091f6e26eb326adbd718f406e440c838bed8ebb6 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:28 2015 +0100 MODSIGN: Extract the blob PKCS#7 signature verifier from module signing Extract the function that drives the PKCS#7 signature verification given a data blob and a PKCS#7 blob out from the module signing code and lump it with the system keyring code as it's generic. This makes it independent of module config options and opens it to use by the firmware loader. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Ming Lei <ming.lei@xxxxxxxxxxxxx> Cc: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> Cc: Kyle McMartin <kyle@xxxxxxxxxx> commit 1c39449921fc6db1f942051f79868a19c92f4d47 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:27 2015 +0100 system_keyring.c doesn't need to #include module-internal.h system_keyring.c doesn't need to #include module-internal.h as it doesn't use the one thing that exports. Remove the inclusion. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 23dfbbabbb3a62104b040b422121c84800312ad0 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Jul 20 21:16:27 2015 +0100 sign-file: Add option to only create signature file Make the -d option (which currently isn't actually wired to anything) write out the PKCS#7 message as per the -p option and then exit without either modifying the source or writing out a compound file of the source, signature and metadata. This will be useful when firmware signature support is added upstream as firmware will be left intact, and we'll only require the signature file. The descriptor is implicit by file extension and the file's own size. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 3f1e1bea34740069f70c6bc92d0f712345d5c28e Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:27 2015 +0100 MODSIGN: Use PKCS#7 messages as module signatures Move to using PKCS#7 messages as module signatures because: (1) We have to be able to support the use of X.509 certificates that don't have a subjKeyId set. We're currently relying on this to look up the X.509 certificate in the trusted keyring list. (2) PKCS#7 message signed information blocks have a field that supplies the data required to match with the X.509 certificate that signed it. (3) The PKCS#7 certificate carries fields that specify the digest algorithm used to generate the signature in a standardised way and the X.509 certificates specify the public key algorithm in a standardised way - so we don't need our own methods of specifying these. (4) We now have PKCS#7 message support in the kernel for signed kexec purposes and we can make use of this. To make this work, the old sign-file script has been replaced with a program that needs compiling in a previous patch. The rules to build it are added here. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit bc1c373dd2a5113800360f7152be729c9da996cc Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:27 2015 +0100 MODSIGN: Provide a utility to append a PKCS#7 signature to a module Provide a utility that: (1) Digests a module using the specified hash algorithm (typically sha256). [The digest can be dumped into a file by passing the '-d' flag] (2) Generates a PKCS#7 message that: (a) Has detached data (ie. the module content). (b) Is signed with the specified private key. (c) Refers to the specified X.509 certificate. (d) Has an empty X.509 certificate list. [The PKCS#7 message can be dumped into a file by passing the '-p' flag] (3) Generates a signed module by concatenating the old module, the PKCS#7 message, a descriptor and a magic string. The descriptor contains the size of the PKCS#7 message and indicates the id_type as PKEY_ID_PKCS7. (4) Either writes the signed module to the specified destination or renames it over the source module. This allows module signing to reuse the PKCS#7 handling code that was added for PE file parsing for signed kexec. Note that the utility is written in C and must be linked against the OpenSSL crypto library. Note further that I have temporarily dropped support for handling externally created signatures until we can work out the best way to do those. Hopefully, whoever creates the signature can give me a PKCS#7 certificate. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 4ebdb76f7da662346267384440492bb9d87c2aa3 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:26 2015 +0100 PKCS#7: Allow detached data to be supplied for signature checking purposes It is possible for a PKCS#7 message to have detached data. However, to verify the signatures on a PKCS#7 message, we have to be able to digest the data. Provide a function to supply that data. An error is given if the PKCS#7 message included embedded data. This is used in a subsequent patch to supply the data to module signing where the signature is in the form of a PKCS#7 message with detached data, whereby the detached data is the module content that is signed. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 4573b64a31cd8cb4cfeb1d1b95536cfe71980cf4 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:26 2015 +0100 X.509: Support X.509 lookup by Issuer+Serial form AuthorityKeyIdentifier If an X.509 certificate has an AuthorityKeyIdentifier extension that provides an issuer and serialNumber, then make it so that these are used in preference to the keyIdentifier field also held therein for searching for the signing certificate. If both the issuer+serialNumber and the keyIdentifier are supplied, then the certificate is looked up by the former but the latter is checked as well. If the latter doesn't match the subjectKeyIdentifier of the parent certificate, EKEYREJECTED is returned. This makes it possible to chain X.509 certificates based on the issuer and serialNumber fields rather than on subjectKeyIdentifier. This is necessary as we are having to deal with keys that are represented by X.509 certificates that lack a subjectKeyIdentifier. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit b92e6570a992c7d793a209db282f68159368201c Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:26 2015 +0100 X.509: Extract both parts of the AuthorityKeyIdentifier Extract both parts of the AuthorityKeyIdentifier, not just the keyIdentifier, as the second part can be used to match X.509 certificates by issuer and serialNumber. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit c05cae9a58dca6dcbc6e66b228a9589c6b60880c Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Jul 29 21:14:00 2015 +0100 ASN.1: Copy string names to tokens in ASN.1 compiler Copy string names to tokens in ASN.1 compiler rather than storing a pointer into the source text. This means we don't have to use "%*.*s" all over the place. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit ae44a2f6a03338cb9d2bd32864f686c732b7841f Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 14:07:01 2015 +0100 ASN.1: Add an ASN.1 compiler option to dump the element tree Add an ASN.1 compiler option to dump the element tree to stdout. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 2f3cc24f07b8bfe8302a46ceb1ed58cde62cbd09 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Aug 7 14:13:34 2015 +0200 usb: musb: gadget: fix build break by adding missing 'break' Add missing break after 'default' label to fix compilation error. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 38a986c0750db23aeb5968f8b6d37298b9be4b11 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Jul 30 10:36:44 2015 +0900 Input: Remove the max77843 haptic driver The max77693 haptic driver supports Maxim 77843 device so remove the max77843 driver. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 56bbc99e6914eb183fb083f737178a1757083d41 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Jul 30 10:36:43 2015 +0900 Input: max77693: Add support for Maxim 77843 The Maxim 77843 haptic driver differs from 77693 by: 1. Setting the bias. 2. Different configuration register. 3. Not enabling the low-sys DAC. 4. Using same regmap for PMIC and haptic blocks. Incorporate all differences into max77693 haptic driver so both devices can be supported. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6eaa247a5bab775e45a74b52c17bf8bc37fd5f6f Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Jul 30 10:36:42 2015 +0900 Input: max77693: Prepare for adding support for Maxim 77843 Prepare the driver for supporting two devices: Maxim 77693 and 77843: 1. Add table of device ids and store current device type for later usage. 2. Differentiate the haptic device configuration. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b3d8ba746b5109dc890e7480db5d014d19ae6a05 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Jul 30 10:36:41 2015 +0900 Input: max77693: Remove a read-only pwm_divisor field Storing a predefined PWM divisor in state container structure is meaningless. The field, after initialization, is only read so this only obfuscates the code. Remove the field and use directly enum value. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9bc898c7019383b6aa2ae6cb2928c4ca926449f0 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 8 10:04:02 2015 +0000 perf tests: Add LLVM test for eBPF on-the-fly compiling Previous patches introduce llvm__compile_bpf() to compile source file to eBPF object. This patch adds testcase to test it. It also tests libbpf by opening generated object after applying next patch which introduces HAVE_LIBBPF_SUPPORT option. Since llvm__compile_bpf() prints long messages which users who don't explicitly test llvm doesn't care, this patch set verbose to -1 to suppress all debug, warning and error message, and hint user use 'perf test -v' to see the full output. For the same reason, if clang is not found in PATH and there's no [llvm] section in .perfconfig, skip this test. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/n/1436445342-1402-17-git-send-email-wangnan0@xxxxxxxxxx [ Add tools/lib/bpf/ to tools/perf/MANIFEST, so that the tarball targets build ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c6d18bfd551622b438e216e4863155f47907b0d Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Jun 11 11:25:49 2015 +0000 perf tools: Auto detecting kernel include options To help user find correct kernel include options, this patch extracts them from kbuild system by an embedded script kinc_fetch_script, which creates a temporary directory, generates Makefile and an empty dummy.o then use the Makefile to fetch $(NOSTDINC_FLAGS), $(LINUXINCLUDE) and $(EXTRA_CFLAGS) options. The result is passed to compiler script using 'KERNEL_INC_OPTIONS' environment variable. Because options from kbuild contains relative path like 'Iinclude/generated/uapi', the work directory must be changed. This is done by previous patch. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1436445342-1402-16-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d325d7887b960627dc686d70d07682e18383f9c4 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Jul 14 06:40:02 2015 +0000 perf tools: Auto detecting kernel build directory This patch detects kernel build directory by checking the existence of include/generated/autoconf.h. clang working directory is changed to kbuild directory if it is found, to help user use relative include path. Following patch will detect kernel include directory, which contains relative include patch so this workdir changing is needed. Users are allowed to set 'kbuild-dir = ""' manually to disable this checking. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/n/tip-owyfwfbemrjn0tlj6tgk2nf5@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 36cc093520b9a6348292c253d3ec03bb67a84da8 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:07 2015 +0200 ASoC: sti: Add IEC control Add control to configure IEC60958 settings. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3cfe7a74d42b7e3644f8b2b26aa20146d4f90f0f Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Wed Jul 8 14:30:18 2015 +0800 regmap: Use different lockdep class for each regmap init call Lockdep validator complains about recursive locking and deadlock when two different regmap instances are called in a nested order. That happens anytime a regmap read/write call needs to access another regmap. This is because, for performance reason, lockdep groups all locks initialized by the same mutex_init() in the same lock class. Therefore all regmap mutexes are in the same lock class, leading to lockdep "nested locking" warnings if a regmap accesses another regmap. In general, it is impossible to establish in advance the hierarchy of regmaps, so we make sure that each regmap init call initializes its own static lock_class_key. This is done by wrapping all regmap_init calls into macros. This also allows us to give meaningful names to the lock_class_key. For example, in rt5677 case, we have in /proc/lockdep_chains: irq_context: 0 [ffffffc0018d2198] &dev->mutex [ffffffc0018d2198] &dev->mutex [ffffffc001bd7f60] rt5677:5104:(&rt5677_regmap)->_lock [ffffffc001bd7f58] rt5677:5096:(&rt5677_regmap_physical)->_lock [ffffffc001b95448] &(&base->lock)->rlock The above would have resulted in a lockdep recursive warning previously. This is not the case anymore as the lockdep validator now clearly identifies the 2 regmaps as separate. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 331a5fc9f2ed28033ddda89acb2a9b43592a545d Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Wed Jul 8 14:30:17 2015 +0800 thermal: sti: Add parentheses around bridge->ops->regmap_init call regmap_init(...) is a macro since commit "regmap: Use different lockdep class for each regmap init call". That same name is used as a function pointer: prevent its expansion by adding parentheses around the function pointer. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bbb4d872c795ab3a1c0610f69d05fcd93aef83f6 Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Wed Jul 8 14:30:16 2015 +0800 mfd: vexpress: Add parentheses around bridge->ops->regmap_init call regmap_init(...) is a macro since commit "regmap: Use different lockdep class for each regmap init call". That same name is used as a function pointer: prevent its expansion by adding parentheses around the function pointer. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a568231f463225eb31593f71446a267a03ae0528 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Fri Aug 7 15:19:50 2015 +0800 spi: mediatek: Add spi bus for Mediatek MT8173 This patch adds basic spi bus for MT8173. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0d850e7cdc69962e85abd7f7dcd2359f293f835a Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Fri Aug 7 15:19:49 2015 +0800 spi: Mediatek: Document devicetree bindings for spi bus Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c9b1e834bc8decaf979344e8121e4ad1ded8dc8a Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sat Aug 1 19:40:44 2015 +0530 ASoC: Intel: Skylake: Add pipe management helpers To manage DSP we need to create processing pipeline and on cleanup destroy them. So we add create and destroy routines for pipelines The pipelines need to to be executed so we add pipeline run and stop routines All these send required IPCs to DSP using IPC routines added earlier Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit beb73b266a75602084361c5ef0baa5bc14637f4b Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sat Aug 1 19:40:43 2015 +0530 ASoC: Intel: Skylake: Add DSP module init and binding routines A module needs to be instantiated and then connected with other modules. On cleanup we need to disconnect the module. This is achieved by helpers module init, bind and unbind which are added here Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a0ffe48bb5d45fcef444e8a03c75fb7b73a5af29 Author: Hardik T Shah <hardik.t.shah@xxxxxxxxx> Date: Sat Aug 1 19:40:42 2015 +0530 ASoC: Intel: Skylake: Add helpers for SRC and converter modules SRC and converter modules are required to do frequency and channel conversion in DSP. Both take base module configuration and additional SRC and converter parameters. The helpers here are added to calculate the values for these modules Signed-off-by: Hardik T Shah <hardik.t.shah@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 23db472bba549dcd1c7592b5af95cc9ba4b9b5c9 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sat Aug 1 19:40:41 2015 +0530 ASoC: Intel: Skylake: Add helpers for DSP module configuration This adds helper functions to calculate parameters required for base module format and copier module. A generic module is modelled by base module. Copier module is responsible for getting/sending data to FE (host DMAs) and BE (link HDA DMA, SSP, PDM) This also ads module pin management helpers which help in finding pins to use or freeing them up Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aba3dd5ace59d038a9d69e0f5319b6fec61012c8 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sat Aug 1 19:40:40 2015 +0530 ASoC: Intel: Skylake: Use acpi header for NHLT header Instead of defining own acpi header, use the available acpi header defined in acpi framework. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9f2dd0270d81b283e11e39f9276113aef391e420 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sat Aug 1 19:40:39 2015 +0530 ASoC: Intel: Skylake: Fix the NHLT rate size Sampling rate type needs to be u32 instead of u8, nhlt wav format description expected u32 for rate, passing u8 will fetch NULL config in skl_get_ep_blob(). Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4cea3a9cb30a962fa759fcb081fb83351113d9c4 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Jun 11 10:31:09 2015 +0000 perf tools: Call clang to compile C source to object code This is the core patch for supporting eBPF on-the-fly compiling, does the following work: 1. Search clang compiler using search_program(). 2. Run command template defined in llvm-bpf-cmd-template option in [llvm] config section using read_from_pipe(). Patch of clang and source code path is injected into shell command using environment variable using force_set_env(). Commiter notice: When building with DEBUG=1 we get a compiler error that gets fixed with the same approach described in commit b236512280fb: perf kmem: Fix compiler warning about may be accessing uninitialized variable The last argument to strtok_r doesn't need to be initialized, its just a placeholder to make this routine reentrant, but gcc doesn't know about that and complains, breaking the build, fix it by setting it to NULL. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/n/1436445342-1402-14-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit aa61fd05ca79666c973d5b15e0f91ecdc7dcfa21 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Jul 21 11:13:34 2015 +0000 perf tools: Introduce llvm config options This patch introduces [llvm] config section with 5 options. Following patches will use then to config llvm dynamica compiling. 'llvm-utils.[ch]' is introduced in this patch for holding all llvm/clang related stuffs. Example: [llvm] # Path to clang. If omit, search it from $PATH. clang-path = "/path/to/clang" # Cmdline template. Following line shows its default value. # Environment variable is used to passing options. # # *NOTE*: -D__KERNEL__ MUST appears before $CLANG_OPTIONS, # so user have a chance to use -U__KERNEL__ in $CLANG_OPTIONS # to cancel it. clang-bpf-cmd-template = "$CLANG_EXEC -D__KERNEL__ $CLANG_OPTIONS \ $KERNEL_INC_OPTIONS -Wno-unused-value \ -Wno-pointer-sign -working-directory \ $WORKING_DIR -c $CLANG_SOURCE -target \ bpf -O2 -o -" # Options passed to clang, will be passed to cmdline by # $CLANG_OPTIONS. clang-opt = "-Wno-unused-value -Wno-pointer-sign" # kbuild directory. If not set, use /lib/modules/`uname -r`/build. # If set to "" deliberately, skip kernel header auto-detector. kbuild-dir = "/path/to/kernel/build" # Options passed to 'make' when detecting kernel header options. kbuild-opts = "ARCH=x86_64" Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1437477214-149684-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9a208effd1832e50e1f7ea002f400f8b9ca8b1ed Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:10 2015 +0000 bpf tools: Link all bpf objects onto a list To allow enumeration of all bpf_objects, keep them in a list (hidden to caller). bpf_object__for_each_safe() is introduced to do this iteration. It is safe even user close the object during iteration. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-23-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit aa9b1ac33c7979d0d91eff8b70cffc4916f5555c Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:08 2015 +0000 bpf tools: Introduce accessors for struct bpf_program This patch introduces accessors for user of libbpf to retrieve section name and fd of a opened/loaded eBPF program. 'struct bpf_prog_handler' is used for that purpose. Accessors of programs section name and file descriptor are provided. Set/get private data are also impelmented. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1435716878-189507-21-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 55cffde2e1a41109cb49f8e94de954c8240242b5 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:07 2015 +0000 bpf tools: Load eBPF programs in object files into kernel This patch utilizes previous introduced bpf_load_program to load programs in the ELF file into kernel. Result is stored in 'fd' field in 'struct bpf_program'. During loading, it allocs a log buffer and free it before return. Note that that buffer is not passed to bpf_load_program() if the first loading try is successful. Doesn't use a statically allocated log buffer to avoid potention multi-thread problem. Instructions collected during opening is cleared after loading. load_program() is created for loading a 'struct bpf_insn' array into kernel, bpf_program__load() calls it. By this design we have a function loads instructions into kernel. It will be used by further patches, which creates different instances from a program and load them into kernel. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-20-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7bf98369a73a9a84c56b3f2b247ea8f0eaf8668b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:06 2015 +0000 bpf tools: Introduce bpf_load_program() to bpf.c bpf_load_program() can be used to load bpf program into kernel. To make loading faster, first try to load without logbuf. Try again with logbuf if the first try failed. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-19-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8a47a6c522c0593a977069b0b1e5a0725ca0e32e Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:05 2015 +0000 bpf tools: Relocate eBPF programs If an eBPF program accesses a map, LLVM generates a load instruction which loads an absolute address into a register, like this: ld_64 r1, <MCOperand Expr:(mymap)> ... call 2 That ld_64 instruction will be recorded in relocation section. To enable the usage of that map, relocation must be done by replacing the immediate value by real map file descriptor so it can be found by eBPF map functions. This patch to the relocation work based on information collected by patches: 'bpf tools: Collect symbol table from SHT_SYMTAB section', 'bpf tools: Collect relocation sections from SHT_REL sections' and 'bpf tools: Record map accessing instructions for each program'. For each instruction which needs relocation, it inject corresponding file descriptor to imm field. As a part of protocol, src_reg is set to BPF_PSEUDO_MAP_FD to notify kernel this is a map loading instruction. This is the final part of map relocation patch. The principle of map relocation is described in commit message of 'bpf tools: Collect symbol table from SHT_SYMTAB section'. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-18-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 52d3352e79815307521bef6121dba00b6c3477c6 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:04 2015 +0000 bpf tools: Create eBPF maps defined in an object file This patch creates maps based on 'map' section in object file using bpf_create_map(), and stores the fds into an array in 'struct bpf_object'. Previous patches parse ELF object file and collects required data, but doesn't play with the kernel. They belong to the 'opening' phase. This patch is the first patch in 'loading' phase. The 'loaded' field is introduced in 'struct bpf_object' to avoid loading an object twice, because the loading phase clears resources collected during the opening which becomes useless after loading. In this patch, maps_buf is cleared. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-17-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e3ed2fef22b694cf07b06abaa6481a9e6f868e1f Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:03 2015 +0000 bpf tools: Add bpf.c/h for common bpf operations This patch introduces bpf.c and bpf.h, which hold common functions issuing bpf syscall. The goal of these two files is to hide syscall completely from user. Note that bpf.c and bpf.h deal with kernel interface only. Things like structure of 'map' section in the ELF object is not cared by of bpf.[ch]. We first introduce bpf_create_map(). Note that, since functions in bpf.[ch] are wrapper of sys_bpf, they don't use OO style naming. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-16-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 340909152ae5a588b9a77a85df35d61ec3523833 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:02 2015 +0000 bpf tools: Record map accessing instructions for each program This patch records the indices of instructions which are needed to be relocated. That information is saved in the 'reloc_desc' field in 'struct bpf_program'. In the loading phase (this patch takes effect in the opening phase), the collected instructions will be replaced by map loading instructions. Since we are going to close the ELF file and clear all data at the end of the 'opening' phase, the ELF information will no longer be valid in the 'loading' phase. We have to locate the instructions before maps are loaded, instead of directly modifying the instruction. 'struct bpf_map_def' is introduced in this patch to let us know how many maps are defined in the object. This is the third part of map relocation. The principle of map relocation is described in commit message of 'bpf tools: Collect symbol table from SHT_SYMTAB section'. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-15-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b62f06e81bcf28d47fe736fe2beae40f15f496be Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:01 2015 +0000 bpf tools: Collect relocation sections from SHT_REL sections This patch collects relocation sections into 'struct object'. Such sections are used for connecting maps to bpf programs. 'reloc' field in 'struct bpf_object' is introduced for storing such information. This patch simply store the data into 'reloc' field. Following patch will parse them to know the exact instructions which are needed to be relocated. Note that the collected data will be invalid after ELF object file is closed. This is the second patch related to map relocation. The first one is 'bpf tools: Collect symbol table from SHT_SYMTAB section'. The principle of map relocation is described in its commit message. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-14-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5b8bd47dcc574cd3a71357b3a0f586969e4b887 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:00 2015 +0000 bpf tools: Collect eBPF programs from their own sections This patch collects all programs in an object file into an array of 'struct bpf_program' for further processing. That structure is for representing each eBPF program. 'bpf_prog' should be a better name, but it has been used by linux/filter.h. Although it is a kernel space name, I still prefer to call it 'bpf_program' to prevent possible confusion. bpf_object__add_program() creates a new 'struct bpf_program' object. It first init a variable in stack using bpf_program__init(), then if success, enlarges obj->programs array and copy the new object in. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-13-git-send-email-wangnan0@xxxxxxxxxx [ Made bpf_object__add_program() propagate the error (-EINVAL or -ENOMEM) ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bec7d68cb561e94f8a44c2b73c468b534c05f20d Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:59 2015 +0000 bpf tools: Collect symbol table from SHT_SYMTAB section This patch collects symbols section. This section is useful when linking BPF maps. What 'bpf_map_xxx()' functions actually require are map's file descriptors (and the internal verifier converts fds into pointers to 'struct bpf_map'), which we don't know when compiling. Therefore, we should make compiler generate a 'ldr_64 r1, <imm>' instruction, and fill the 'imm' field with the actual file descriptor when loading in libbpf. BPF programs should be written in this way: struct bpf_map_def SEC("maps") my_map = { .type = BPF_MAP_TYPE_HASH, .key_size = sizeof(unsigned long), .value_size = sizeof(unsigned long), .max_entries = 1000000, }; SEC("my_func=sys_write") int my_func(void *ctx) { ... bpf_map_update_elem(&my_map, &key, &value, BPF_ANY); ... } Compiler should convert '&my_map' into a 'ldr_64, r1, <imm>' instruction, where imm should be the address of 'my_map'. According to the address, libbpf knows which map it actually referenced, and then fills the imm field with the 'fd' of that map created by it. However, since we never really 'link' the object file, the imm field is only a record in relocation section. Therefore libbpf should do the relocation: 1. In relocation section (type == SHT_REL), positions of each such 'ldr_64' instruction are recorded with a reference of an entry in symbol table (SHT_SYMTAB); 2. From records in symbol table we can find the indics of map variables. Libbpf first record SHT_SYMTAB and positions of each instruction which required bu such operation. Then create file descriptor. Finally, after map creation complete, replace the imm field. This is the first patch of BPF map related stuff. It records SHT_SYMTAB into object's efile field for further use. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-12-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0b3d1efade1b7e2ccaf79c40a7481c93cfb5090a Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:58 2015 +0000 bpf tools: Collect map definitions from 'maps' section If maps are used by eBPF programs, corresponding object file(s) should contain a section named 'map'. Which contains map definitions. This patch copies the data of the whole section. Map data parsing should be acted just before map loading. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-11-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb1e5e961991ee9b2cbfd3bf06ef490ea578cd2f Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:57 2015 +0000 bpf tools: Collect version and license from ELF sections Expand bpf_obj_elf_collect() to collect license and kernel version information in eBPF object file. eBPF object file should have a section named 'license', which contains a string. It should also have a section named 'version', contains a u32 LINUX_VERSION_CODE. bpf_obj_validate() is introduced to validate object file after loaded. Currently it only check existence of 'version' section. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-10-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 296036653ae8b1367ec9d06d65377c2e2371b153 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:56 2015 +0000 bpf tools: Iterate over ELF sections to collect information bpf_obj_elf_collect() is introduced to iterate over each elf sections to collection information in eBPF object files. This function will futher enhanced to collect license, kernel version, programs, configs and map information. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-9-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cc4228d57c4c35ae0a29efa1e7687a817dc038d9 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:55 2015 +0000 bpf tools: Check endianness and make libbpf fail early Check endianness according to EHDR. Code is taken from tools/perf/util/symbol-elf.c. Libbpf doesn't magically convert missmatched endianness. Even if we swap eBPF instructions to correct byte order, we are unable to deal with endianness in code logical generated by LLVM. Therefore, libbpf should simply reject missmatched ELF object, and let LLVM to create good code. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-8-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6c956392b0486c170e382476ab9dd97a696fd169 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:54 2015 +0000 bpf tools: Read eBPF object from buffer To support dynamic compiling, this patch allows caller to pass a in-memory buffer to libbpf by bpf_object__open_buffer(). libbpf calls elf_memory() to open it as ELF object file. Because __bpf_object__open() collects all required data and won't need that buffer anymore, libbpf uses that buffer directly instead of clone a new buffer. Caller of libbpf can free that buffer or use it do other things after bpf_object__open_buffer() return. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-7-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1a5e3fb1e9a4a3e3695cd57c33c169a90d16fd3b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:53 2015 +0000 bpf tools: Open eBPF object file and do basic validation This patch defines basic interface of libbpf. 'struct bpf_object' will be the handler of each object file. Its internal structure is hide to user. eBPF object files are compiled by LLVM as ELF format. In this patch, libelf is used to open those files, read EHDR and do basic validation according to e_type and e_machine. All elf related staffs are grouped together and reside in efile field of 'struct bpf_object'. bpf_object__elf_finish() is introduced to clear it. After all eBPF programs in an object file are loaded, related ELF information is useless. Close the object file and free those memory. The zfree() and zclose() functions are introduced to ensure setting NULL pointers and negative file descriptors after resources are released. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-6-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b3f59d66e22b8be4ccae67c8eaffa2cbb9e54eb1 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:52 2015 +0000 bpf tools: Allow caller to set printing function By libbpf_set_print(), users of libbpf are allowed to register he/she own debug, info and warning printing functions. Libbpf will use those functions to print messages. If not provided, default info and warning printing functions are fprintf(stderr, ...); default debug printing is NULL. This API is designed to be used by perf, enables it to register its own logging functions to make all logs uniform, instead of separated logging level control. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-5-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1b76c13e4b36f978ea45af079f38ad423a229630 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:51 2015 +0000 bpf tools: Introduce 'bpf' library and add bpf feature check This is the first patch of libbpf. The goal of libbpf is to create a standard way for accessing eBPF object files. This patch creates 'Makefile' and 'Build' for it, allows 'make' to build libbpf.a and libbpf.so, 'make install' to put them into proper directories. Most part of Makefile is borrowed from traceevent. Before building, it checks the existence of libelf in Makefile, and deny to build if not found. Instead of throwing an error if libelf not found, the error raises in a phony target "elfdep". This design is to ensure 'make clean' still workable even if libelf is not found. Because libbpf requires 'kern_version' field set for 'union bpf_attr' (bpfdep" is used for that dependency), Kernel BPF API is also checked by intruducing a new feature check 'bpf' into tools/build/feature, which checks the existence and version of linux/bpf.h. When building libbpf, it searches that file from include/uapi/linux in kernel source tree (controlled by FEATURE_CHECK_CFLAGS-bpf). Since it searches kernel source tree it reside, installing of newest kernel headers is not required, except we are trying to port these files to an old kernel. To avoid checking that file when perf building, the newly introduced 'bpf' feature check doesn't added into FEATURE_TESTS and FEATURE_DISPLAY by default in tools/build/Makefile.feature, but added into libbpf's specific. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Bcc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-4-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 99d49e3af6dfde62caffb2913807fdaf293a9e3d Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Thu Sep 4 00:58:23 2014 +0200 mod_devicetable: add space before */ Match the style of the other one-line comments. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d23684d2738f1c4492d221b37eaee0028df93328 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Wed Jul 29 19:19:45 2015 +0100 scsi: a100u2w: trivial typo in printk Trivial typo fix, \b should be \n Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit e9e346a37b2bdcabc65d2537feccc3b563c1ac43 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Tue Jul 28 20:11:23 2015 +0900 i2c: Fix typo in i2c-bfin-twi.c This patch fix some typos found in a printk message and MODULE_DESCRIPTION. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 96bab82f6ba3c4e116ee89989b3854dde6c0cd2d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:35 2015 +0200 ALSA: firewire: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e1c05067c323fb92d27418fb3586171bd7ce2e12 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 7 10:14:59 2015 +0900 treewide: fix typos in comment blocks Looks like the word "contiguous" is often mistyped. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 6ade97724fb571338a0f82ecaac5bced2f43f042 Author: Benjamin Herr <ben@xxxxxxxx> Date: Sat Jul 18 14:31:40 2015 +0200 Doc: fix trivial typo in SubmittingPatches This patch changes the tense of a verb in SubmittingPatches to ensure grammatical validity of the containing sentence. Signed-off-by: Benjamin Herr <ben@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 377a51a6b8c09b39b540e5a80ad7029a450cee71 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:40:22 2015 +0200 proportions: Spelling s/consitent/consistent/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 57d4248731f6ff7502ead0fedb6ad35c90dead31 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:39:17 2015 +0200 dm: Spelling s/consitent/consistent/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 5f367f0288c44c706ed4b2622aee451498fb3ab3 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jul 6 10:59:48 2015 -0400 aic7xxx: Fix typo in error message This fixes "referenced" where it is spelled "referrenced". Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 831527b7304d06ea24afd2d01956dad06cd34043 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jul 6 10:28:41 2015 -0400 pcmcia: Fix typo in locking documentation This fixes a typo in the docs: "devie" -> "device". Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 1635e88885a8e16dec21206c981421f1f3c3b1df Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 6 10:35:23 2015 +0800 regmap: debugfs: Fix misuse of IS_ENABLED IS_ENABLED should only be used for CONFIG_* symbols. I have done a small test: #define REGMAP_ALLOW_WRITE_DEBUGFS IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS) returns 0. #define REGMAP_ALLOW_WRITE_DEBUGFS 0 IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS) returns 0. #define REGMAP_ALLOW_WRITE_DEBUGFS 1 IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS) returns 1. #define REGMAP_ALLOW_WRITE_DEBUGFS 2 IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS) returns 0. So fix the misuse of IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS) and switch to use #if defined(REGMAP_ALLOW_WRITE_DEBUGFS) instead. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 47268a4f9d179020cff766848086318a9e90d013 Author: Nik Nyby <nikolas@xxxxxxx> Date: Tue Jun 30 17:25:27 2015 -0400 scsi/arcmsr: Fix typos in error log This fixes some typos in one of the error logs. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 4bb138a47b7f8a2867dd3ec1f897a07323598345 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sun May 10 00:55:18 2015 +0900 drm/nouveau/gr: Fix typo in nv10.c This patch fix spelling typo in printk within nv10.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 804ff603d2fe98c48aac4e2d6e4f5db687d78812 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu May 7 23:21:27 2015 +0900 [SCSI] Fix printk typos in drivers/scsi This patch fix spme spelling typos in printk within drivers/scsi. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 376c0afe2f0047d091956a95e382e1edd104ea72 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:37 2015 +0200 ASoC: topology: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b42e093e59c320e91b9c2de73bf3f0429fc45307 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:36 2015 +0200 ASoC: intel: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 839b47bca58ac67657c7afea363ede72c1a2480c Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:41:18 2015 +0200 staging: comedi: Grammar s/Enable support a/Enable support for a/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d41e36a0ab358a40aa2ec7014f38b80ed22773c6 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:38:11 2015 +0200 Btrfs: Spelling s/consitent/consistent/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 79398057a75a3e76047845af70036e6bfff1751b Author: Diego Viola <diego.viola@xxxxxxxxx> Date: Mon Jul 6 14:33:21 2015 -0300 README: GTK+ is a acronym Signed-off-by: Diego Viola <diego.viola@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 99876030b3d8b9c4395f96c9538a129aa644cc51 Author: Nik Nyby <nikolas@xxxxxxx> Date: Tue Jun 30 17:03:18 2015 -0400 ASoC: omap: Fix typo in config option description This fixes a typo in the description for SND_OMAP_SOC_HDMI_AUDIO. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 5e49e399b420a8a8a8ebbdf03099a5b4d7541331 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 16:16:20 2015 -0400 mm: tlb.c: Fix error message This fixes a typo in two error messages, from "Reigster" to "Register". Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d31e77177dfc82670c182e3c4c2456c055cca1d7 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 15:24:38 2015 -0400 ntfs: super.c: Fix error log "transation" should be "transaction" Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 253508cadddbb676b05f03ada93d0f986df107f5 Author: Nik Nyby <nikolas@xxxxxxx> Date: Fri Jun 26 12:05:39 2015 -0400 fix typo in Documentation/SubmittingPatches This adds a missing letter in Documentation/SubmittingPatches. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit bd0a1d6c10a43280a85f7283351623d16e21d9fc Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Jun 4 00:54:34 2015 +0900 scsi:fcoe: Fix typo "a ethernet" in fcoe_transport.c This patch fix some "a ethernet" in MODULE_DESCRIPTIONS in fcoe_transport.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 1066c48281d0401cafff58e7eff1820936eef489 Author: Diego Viola <diego.viola@xxxxxxxxx> Date: Sun May 31 15:52:41 2015 -0300 drivers/usb/gadget/composite.c: i18n is not an acronym Signed-off-by: Diego Viola <diego.viola@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 7cd71c3ba166913a0afb8ac0d6bd5d2730fea6df Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Aug 7 13:00:35 2015 +0100 regulator: core: Drop regulator_list_mutex when we're done with it on remove When removing a regulator we hold regulator_list_mutex in order to ensure the regualtor doesn't become removed again. However we only need to protect the list until we remove the regulator from the list so move the unlock earlier to reduce the locked region. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 60acc4ebe710a8e5c56a8488e91c8b1903289ca8 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed May 27 15:05:42 2015 +0300 treewide: Fix typo compatability -> compatibility Even though 'compatability' has a dedicated entry in the Wiktionary, it's listed as 'Mispelling of compatibility'. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> for the atomic_helper.c Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit b527538fe6f9506d619c09ee5f86b27d91e779e4 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu May 21 22:41:10 2015 +0900 w1: Fix typo in MODULE_DESCRIPTION in matrox_w1.c This patch fix spelling typo in matrox_w1.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 3da56d1663158a23818a5b94721cd79f7e4342d7 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Thu May 21 22:35:57 2015 +0200 kernel: exit: fix typo in comment s,critiera,criteria, While at it, add a comma, because it makes sense grammatically. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit eaf593c38d793ef1e63c90150a1555f5e6631b56 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu May 21 14:12:29 2015 +0200 freevxfs: Grammar s/an negative/a negative/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d8ffcf711c2d58ffb8d3aaa1c7e1d075f13be852 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu May 21 14:02:18 2015 +0200 ASoC: fsl_esai: Spelling s/specifially/specifically/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 971bd8fa369a37b047c26e9a47d4c1f5d2dce4d3 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed May 20 23:54:02 2015 +0900 treewide: Fix typo in printk This patch fix spelling typo inv various part of sources. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 152b28392a8d9dd08e789b48b602eb75eef436fa Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Thu Aug 6 13:05:54 2015 -0400 KVM: s390: Fix assumption that kvm_set_irq_routing is always run successfully This fixes the assumption that kvm_set_irq_routing is always run successfully by instead making it equal to the variable r which we use for returning in the function kvm_arch_vm_ioctl instead of making r equal to zero when calling this particular function and incorrectly making the caller of kvm_arch_vm_ioctl think the function has run successfully. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Message-Id: <1438880754-27149-1-git-send-email-xerofoify@xxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 16fd6572e48a3e3ab42cba72a9d7d57881c5fdfd Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:07 2015 +0200 ARM: at91/dt: sama5d4: use slow clock where necessary The watchdog, the reset controller, the RTC, the shutdown controller, the timer counters and the LCD PWM need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 288fb7ff8eed8a611af0fa35648a035976ed5108 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:06 2015 +0200 ARM: at91/dt: sama5d3: use slow clock where necessary The watchdog, the reset controller, the RTC, the shutdown controller, the timer counters and the LCD PWM need the slow clock, add it where necessary. [boris.brezillon@xxxxxxxxxxxxxxxxxx: add tcb clocks] Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 39c6491505ce872fa52c4961e21ee13ca7675739 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:06 2015 +0200 ARM: at91/dt: at91sam9x5: use slow clock where necessary The watchdog, the reset controller, the RTC, the shutdown controller, the timer counters and the LCD PWM need the slow clock, add it where necessary, The LCD PWM will be handled later. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8c945b7e4eceb09ecb1405b02561fcc1b058a8eb Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:05 2015 +0200 ARM: at91/dt: at91sam9rl: use slow clock where necessary The watchdog, the reset controller, the RTC, the real-time timer, the shutdown controller and the timer counter need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 67451069d4442d2833c906facaff20aa532dea22 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:05 2015 +0200 ARM: at91/dt: at91sam9n12: use slow clock where necessary The watchdog, the reset controller, the RTC, the shutdown controller, the timer counters and the LCD PWM need the slow clock, add it where necessary. The LCD PWM will be handled later. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 6b2717928c6a938dcd2d1cc6a3054be86117700e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:04 2015 +0200 ARM: at91/dt: at91sam9g45: use slow clock where necessary The watchdog, the reset controller, the RTC, the real-time timer, the shutdown controller and the timer counters need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 53b0b37852134b19df04cadf7526ddf6650e9915 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:03 2015 +0200 ARM: at91/dt: at91sam9263: use slow clock where necessary The watchdog, the reset controller, the two real-time timers, the shutdown controller and the timer counter need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 547eab90f9ee6495e1a61520c38a7386e8898fad Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:09:54 2015 +0200 ARM: at91/dt: at91sam9261: use slow clock where necessary The watchdog, the reset controller, the real-time timer, the shutdown controller and the timer counter need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d0c7faba1f37885cd2de66b62d00240623c5e59c Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:09:53 2015 +0200 ARM: at91/dt: at91sam9260: use slow clock where necessary The watchdog, the reset controller, the real-time timer, the shutdown controller, the timer counters need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 07e15f2155a6cc57dc945e67aaa1267b254cba0f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:09:52 2015 +0200 ARM: at91/dt: at91rm9200: use slow clock where necessary The system timer, the RTC and the timer counters need the slow clock, add it. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit e1162cba4e44bd97d7e690bf664afc71a85b1413 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 00:49:44 2015 +0200 Documentation: dt: rtc: at91rm9200: add clocks property The RTC needs an input clock, it is the slow clock. It is required as it will not function without it. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d79e327aa58505fe693ef4a5157cc61eb968be02 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 00:43:07 2015 +0200 Documentation: watchdog: at91sam9_wdt: add clocks property The watchdog has an input clock, the slow clock. It is required as it will not function without it. Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 04600560a01270ef3a9bdeaeeebcfa23df81a327 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 02:11:14 2015 +0200 Documentation: dt: atmel-at91: add slow clock to tcb The timer counters need the slow clock. It is required as they will not function without it. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit fe2edd9cbb7763c68350e267f8060113ce9848fe Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 01:02:36 2015 +0200 Documentation: dt: atmel-at91: add clocks to system timer, rstc and shdwc The system timer (at91rm9200), the reset controller and the shutdown controller need an input clock. This is the slow clock and they will not function without it. Also fix the shutdown controller example. Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3499abb249bb5ed9d21031944bc3059ec4aa2909 Author: Andreas Schultz <aschultz@xxxxxxxx> Date: Wed Aug 5 17:51:45 2015 +0200 netfilter: nfacct: per network namespace support - Move the nfnl_acct_list into the network namespace, initialize and destroy it per namespace - Keep track of refcnt on nfacct objects, the old logic does not longer work with a per namespace list - Adjust xt_nfacct to pass the namespace when registring objects Signed-off-by: Andreas Schultz <aschultz@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d2168e849ebf617b2b7feae44c0c0baf739cb610 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Aug 5 12:38:44 2015 +0200 netfilter: nft_limit: add per-byte limiting This patch adds a new NFTA_LIMIT_TYPE netlink attribute to indicate the type of limiting. Contrary to per-packet limiting, the cost is calculated from the packet path since this depends on the packet length. The burst attribute indicates the number of bytes in which the rate can be exceeded. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8bdf3626425520e9bc55996d5d46f60e12dd3ad7 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun Aug 2 14:24:24 2015 +0200 netfilter: nft_limit: constant token cost per packet The cost per packet can be calculated from the control plane path since this doesn't ever change. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3e87baafa4f476017b2453e52a1ca7308b4e6ad5 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun Aug 2 18:02:14 2015 +0200 netfilter: nft_limit: add burst parameter This patch adds the burst parameter. This burst indicates the number of packets that can exceed the limit. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f8d3a6bc76011bb86d2515ebd0b3b300641f2f8c Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun Aug 2 14:16:42 2015 +0200 netfilter: nft_limit: factor out shared code with per-byte limiting This patch prepares the introduction of per-byte limiting. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit dba27ec1bc382014aa2ba46e96f421b5f6536dae Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Jul 31 14:10:22 2015 +0200 netfilter: nft_limit: convert to token-based limiting at nanosecond granularity Rework the limit expression to use a token-based limiting approach that refills the bucket gradually. The tokens are calculated at nanosecond granularity instead jiffies to improve precision. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 09e4e42a00b99e94cfce27e63b06daca0c26e841 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Jul 31 14:16:51 2015 +0200 netfilter: nft_limit: rename to nft_limit_pkts To prepare introduction of bytes ratelimit support. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d877f07112f1e5a247c6b585c971a93895c9f738 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun May 31 18:04:11 2015 +0200 netfilter: nf_tables: add nft_dup expression This new expression uses the nf_dup engine to clone packets to a given gateway. Unlike xt_TEE, we use an index to indicate output interface which should be fine at this stage. Moreover, change to the preemtion-safe this_cpu_read(nf_skb_duplicated) from nf_dup_ipv{4,6} to silence a lockdep splat. Based on the original tee expression from Arturo Borrero Gonzalez, although this patch has diverted quite a bit from this initial effort due to the change to support maps. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit bbde9fc1824aab58bc78c084163007dd6c03fe5b Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun May 31 17:54:44 2015 +0200 netfilter: factor out packet duplication for IPv4/IPv6 Extracted from the xtables TEE target. This creates two new modules for IPv4 and IPv6 that are shared between the TEE target and the new nf_tables dup expressions. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 24b7811fa5de7bbbab3b782a38889034ea267f70 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Jul 1 16:38:10 2015 +0200 netfilter: xt_TEE: get rid of WITH_CONNTRACK definition Use IS_ENABLED(CONFIG_NF_CONNTRACK) instead. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 0c45e76960ded9da56bd66e603a7f0cae215f87e Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Jun 8 14:42:40 2015 +0200 netfilter: nft_counter: convert it to use per-cpu counters This patch converts the existing seqlock to per-cpu counters. Suggested-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Suggested-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 12e035968191c05a574c9c20367cb3090bc7d99d Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Thu Aug 6 12:44:30 2015 +0200 ath9k: fix build with CONFIG_ATH9K_STATION_STATISTICS=y kbuild bot reported that commit 592fa228f213 ("ath9k: remove struct ath_atx_ac") broke the build when CONFIG_ATH9K_STATION_STATISTICS is y. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: 592fa228f213 ("ath9k: remove struct ath_atx_ac") Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f968393161de7612800ea650d435ebe26d38e3a5 Merge: 74d3329 f5b8319 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Aug 7 10:07:24 2015 +0200 Merge branch 'for-joerg/arm-smmu/updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu commit aad1b688c996b4a247c4a8fd1bd6c5c563963ddb Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 7 08:55:48 2015 +0200 s390/vdso: emit a GNU hash As proposed by Andy Lutomirski create the SysV and the GNU hash for the vdso objects. This may make some dynamic loaders a bit faster. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 7cde4910a5adcab62506eff49f4500053464fc8a Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 11:23:53 2015 +0200 s390/numa: make core to node mapping data dynamic The core to node mapping data consumes about 2 KB bss data. To save memory for the non-NUMA case, make the data dynamic. In addition change the "core_to_node" array from "int" to "s32" which saves 1 KB also for the NUMA case. Suggested-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 854508c0d0bbcf2f80fa1f79af5cb9ce219b2e9c Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Aug 4 23:38:23 2015 -0700 s390/lib: export __delay __delay is exported by most architectures, and may be used in modules. Since it is not exported for s390, s390:allmodconfig currently fails to build with ERROR: "__delay" [drivers/net/phy/mdio-octeon.ko] undefined! Fixes: a6d678645210 ("net: mdio-octeon: Modify driver to work on both ThunderX and Octeon") Cc: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b2f4de8b843567504ee12b652b35819b60e25a86 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Tue Aug 4 17:11:47 2015 +0200 s390: remove unneeded variables This patch remove unneeded variables used to store return values. These issues were detected with the Coccinelle script: scripts/coccinelle/misc/returnvar.cocci [heiko.carstens@xxxxxxxxxx]: make qeth_l[2/3]_stop() return void Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3b97487445ef3833fcb88ca4bb469b6df3b44329 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Tue Aug 4 17:11:15 2015 +0200 s390: remove unneeded semicolon Remove unneeded semicolon. The semantic patch that detects this change is available at scripts/coccinelle/misc/semicolon.cocci. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3a3814c28b13d038ce5e055fc01f9a7aa5b821b9 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 1 18:12:41 2015 +0200 s390/topology: remove topology lock Since we are already protected by the "sched_domains_mutex" lock, we can safely remove the topology lock. Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1ebd08a7e5ef6265092eae19a547674733dc1c01 Merge: d92cff8 d2d7d4e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 7 00:19:09 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-08-05 This series contains updates to i40e, i40evf and e1000e. Anjali adds support for x772 devices to i40e and i40evf. With the added support, x772 supports offloading of the outer UDP transmit and receive checksum for tunneled packets. Also supports evicting ATR filters in the hardware, so update the driver with this new feature set. Raanan provides several fixes for e1000e, first rectifies the Energy Efficient Ethernet in Sx code so that it only applies to parts that actually support EEE in Sx. Fix whitespace and moved ICH8 related define to the proper context. Fixed the ASPM locking which was reported by Bjorn Helgaas. Fix a workaround implementation for systime which could experience a large non-linear increment of the systime value when checking for overflow. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1354ac6ad84395660f551d0614a6ca39e5bfe8e3 Merge: b6b6c18 141b2d3 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Aug 7 09:11:30 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - IPC and cycle accounting in 'perf annotate'. (Andi Kleen) - Display cycles in branch sort mode in 'perf report'. (Andi Kleen) - Add total time column to 'perf trace' syscall stats summary. (Milian Woff) Infrastructure changes: - PMU helpers to use in Intel PT. (Adrian Hunter) - Fix perf-with-kcore script not to split args with spaces. (Adrian Hunter) - Add empty Build files for some more architectures. (Ben Hutchings) - Move 'perf stat' config variables to a struct to allow using some of its functions in more places. (Jiri Olsa) - Add DWARF register names for 'xtensa' arch. (Max Filippov) - Implement BPF programs attached to uprobes. (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d92cff89a0c80e7e49796366e441d97f07b5d321 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Tue Aug 4 18:26:19 2015 +0200 net_dbg_ratelimited: turn into no-op when !DEBUG The pr_debug family of functions turns into a no-op when -DDEBUG is not specified, opting instead to call "no_printk", which gets compiled to a no-op (but retains gcc's nice warnings about printf-style arguments). The problem with net_dbg_ratelimited is that it is defined to be a variant of net_ratelimited_function, which expands to essentially: if (net_ratelimit()) pr_debug(fmt, ...); When DEBUG is not defined, then this becomes, if (net_ratelimit()) ; This seems benign, except it isn't. Firstly, there's the obvious overhead of calling net_ratelimit needlessly, which does quite some book keeping for the rate limiting. Given that the pr_debug and net_dbg_ratelimited family of functions are sprinkled liberally through performance critical code, with developers assuming they'll be compiled out to a no-op most of the time, we certainly do not want this needless book keeping. Secondly, and most visibly, even though no debug message is printed when DEBUG is not defined, if there is a flood of invocations, dmesg winds up peppered with messages such as "net_ratelimit: 320 callbacks suppressed". This is because our aforementioned net_ratelimit() function actually prints this text in some circumstances. It's especially odd to see this when there isn't any other accompanying debug message. So, in sum, it doesn't make sense to have this function's current behavior, and instead it should match what every other debug family of functions in the kernel does with !DEBUG -- nothing. This patch replaces calls to net_dbg_ratelimited when !DEBUG with no_printk, keeping with the idiom of all the other debug print helpers. Also, though not strictly neccessary, it guards the call with an if (0) so that all evaluation of any arguments are sure to be compiled out. Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9610c8abd2d278a957b1b586390b8c928980e79b Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Aug 6 22:09:40 2015 -0700 ARM: OMAP2+: Fix power domain operations regression caused by 81xx I managed to mess up omap3 power domain operations with commit 7c80a3f89c51 ("ARM: OMAP2+: Add custom prwdm_operations for 81xx to support dm814x"), by default we should keep on using the omap3_pwrdm_operations, only 81xx needs custom handling. This causes omap3 PM to break so we won't hit off mode any longer causing idle power consumption go up from less than 10mW to over 50 mW. Fixs: 7c80a3f89c51 ("ARM: OMAP2+: Add custom prwdm_operations for 81xx to support dm814x") Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b49d15d138aa4632f35a2db93dee775d920f3653 Author: NeilBrown <neil@xxxxxxxxxx> Date: Fri Aug 7 13:45:25 2015 +1000 twl4030_charger: fix compile error when TWL4030_MADC not available. We can only use the madc to check for 'ac' availability if the madc has been compiled in. If not: assume always using USB. Reported-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3dcb615e6841eb945a49f605743a6923ed591400 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 06:36:24 2015 -0700 af_mpls: add null dev check in find_outdev This patch adds null dev check for the 'cfg->rc_via_table == NEIGH_LINK_TABLE or dev_get_by_index() failed' case Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c621818404bbb0bed1a8892d843b499182fa7e9 Merge: c71b5ad 86bf172 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 6 22:02:32 2015 -0700 Merge branch 'test-bpf-next' Nicolas Schichan says: ==================== test_bpf improvements Please find below the patch series with my latest changes to test_bpf. The first patch checks for unexpected NULL generated skbs before running the filter. The second patch adds the possibility for tests to generate fragmented skbs. The third patch tests LD_ABS and LD_IND on fragmented skbs. The fourth patch adds the possibility to restrict the tests being run by specifying the name/id/range of the test(s) to run via module parameters. The fifth patch tests LD_ABS and LD_IND on non fragmented skbs with various sizes and alignments. The sixth and final patch checks that the interpreter or JIT correctly resets A and X to 0. This serie is against today's net-next tree. Changes in V2: * move declaration of 'ptr' in if() block in patch 2/6. * fix various typos in patch 4/6 * rework default init of test_range array and cleanup exclude_test() return condition in patch 4/6. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86bf1721b2263607588b23b22e78c971379972b5 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:12 2015 +0200 test_bpf: add tests checking that JIT/interpreter sets A and X to 0. It is mandatory for the JIT or interpreter to reset the A and X registers to 0 before running the filter. Check that it is the case on various ALU and JMP instructions. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08fcb08fc06758411d099bcd6a60d6cdee2d50a7 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:11 2015 +0200 test_bpf: add more tests for LD_ABS and LD_IND. This exerces the LD_ABS and LD_IND instructions for various sizes and alignments. This also checks that X when used as an offset to a BPF_IND instruction first in a filter is correctly set to 0. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2648d4e268cee60c9c917a04c3fbc4e8c3bbc7e Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:10 2015 +0200 test_bpf: add module parameters to filter the tests to run. When developping on the interpreter or a particular JIT, it can be interesting to restrict the tests list to a specific test or a particular range of tests. This patch adds the following module parameters to the test_bpf module: * test_name=<string>: only the specified named test will be run. * test_id=<number>: only the test with the specified id will be run (see the output of test_bpf without parameters to get the test id). * test_range=<number>,<number>: only the tests within IDs in the specified id range are run (see the output of test_bpf without parameters to get the test ids). Any invalid range, test id or test name will result in -EINVAL being returned and no tests being run. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2cf1ad759307f4ef2a27a59f3071e357ec487841 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:09 2015 +0200 test_bpf: test LD_ABS and LD_IND instructions on fragmented skbs. These new tests exercise various load sizes and offsets crossing the head/fragment boundary. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bac142acb90e952899cb8204fad12ef7d1e42f94 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:08 2015 +0200 test_bpf: allow tests to specify an skb fragment. This introduce a new test->aux flag (FLAG_SKB_FRAG) to tell the populate_skb() function to add a fragment to the test skb containing the data specified in test->frag_data). Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e34684f88efd9cf29ad5ff4750a0f5586383141f Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:07 2015 +0200 test_bpf: avoid oopsing the kernel when generate_test_data() fails. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c71b5ad06e7306f73815cd64a5fe039a67126c99 Merge: adc4cc9 efea389 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 6 22:00:59 2015 -0700 Merge branch 'mlx5e-next' Amir Vadai says: ==================== net/mlx5e: Driver updates 04-Aug-2015 This patchset introduces two features to the ConnectX-4 driver: Patch 8/8 ("Support physical port counters") exposes some hardware counters through ethtool. Rest of the patches are preparation and usage of what we call light-weight netdev open/close. Some flows that used to be in the ndo_open/stop are moved to the PCI probe/remove flows - i.e. we will make the netdev open/close operations more "light-weight". The benefits of this change are: 1) Reduce the execution time of the stop/open operations. 2) Avoid saving SW shadows of resource configurations that must persist through stop/open operations (e.g flow table steering rules), and avoid deleting/applying them from/to the device upon netdev stop/open. 3) Avoid synchronizing threads that access those resources with the netdev stop/open threads. Instead of create/destroy the resource during netdev open/stop, This patchset changes the behavior such that upon netdev stop, traffic is redirected to a "Drop RQ" (a RQ that silently drops, at the NIC HW level all incoming traffic). After redirecting the traffic, RX/TX software resources could be destroyed. During netdev open, the RX/TX rings are created and traffic is redirected to the RX rings. Patchset was applied and tested over commit ba7591d ("ebpf: add skb->hash to offset map for usage in {cls, act}_bpf or filters") ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efea389d3cc6427a9a94e92b2d7bf4c862f2cfcf Author: Gal Pressman <galp@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:47 2015 +0300 net/mlx5_core: Support physical port counters Added physical port counters in the following standard formats to ethtool statistics: - IEEE 802.3 - RFC2863 - RFC2819 Signed-off-by: Gal Pressman <galp@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b37b07fcb0e00a9c0b605b7b28c2d200f4eb064 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:46 2015 +0300 net/mlx5e: Take advantage of the light-weight netdev open/stop Now that TIRs, TISs and flow tables are kept alive while the netdev is stopped (after executing ndo_stop()) we can do the following improvements: - Obsolete the active_vlans SW shadow. - Do not delete/add flow table rules upon ndo_stop/open. In addition to simplifying the flow, this change also fastens the ndo_open/close operations. - Obsolete synchronization of threads accessing the flow tables with the netdev stop/open threads. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1cefa326ff26dddb2c4a7f43802ce0ba5c35a2ba Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:45 2015 +0300 net/mlx5e: Disable async events before unregister_netdev() It does not make sense to allow events while the netdev is unregistered. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40ab6a6ebeebbcfc313233f5aa0d55930734f529 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:44 2015 +0300 net/mlx5e: Rename/move functions following the ndo_stop flow change Rename some functions that used to be invoked upon ndo_open/stop and are now invoked upon create/destroy_netdev() in order to better hint their place in the flow. Change some functions location in the file so that functions involved in ndo_open/stop flow will not be interleaved with other functions. This is a cosmetic change, no logical change here. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c50368f38317627421bf24a0b66b1af0d44eddc Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:43 2015 +0300 net/mlx5e: Light-weight netdev open/stop Create/destroy TIRs, TISs and flow tables upon PCI probe/remove rather than upon the netdev ndo_open/stop. Upon ndo_stop(), redirect all RX traffic to the (lately introduced) "Drop RQ" and then close only the RX/TX rings, leaving the TIRs, TISs and flow tables alive. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9eea403ca81f60cd535d354c77ada4c2bee8d66 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:42 2015 +0300 net/mlx5_core: Introduce access function to modify RSS/LRO params To be used by the mlx5 Eth driver in following commit. This is in preparation for netdev "light-weight" open/stop flow change described in previous commit. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50cfa25aba67c658979c5a3188d514ee6780364b Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:41 2015 +0300 net/mlx5e: Introduce the "Drop RQ" RX traffic routed to this RQ will be silently dropped, at the NIC HW level. This is in preparation for netdev "light-weight" open/stop flow change described in previous commit. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cbeaff54f00f39493c4251bf115d02e26ac8bf2 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:40 2015 +0300 net/mlx5e: Unify the RX flow Generally an RX packet flows through the following objects: Flow table --> TIR --> RQT --> RQ Where: - TIR stands for "Transport Interface Receive", defining the RSS and LRO paramaters. - RQT stands for "RQ Table", implementing the RSS indirection table. - RQ stands for "Receive Queue" For flows that do not need LRO, nor RSS, the driver made a shortcut to the above RX flow by pointing to the RQ directly from the TIR, yielding this flow: Flow table --> TIR --> RQ In this commit we remove this shortcut by "inserting" a single-RQ RQT between the TIR and the RQ, i.e RX packets will reach the same RQ but will go through an RQT of size 1, pointing to just a single RQ. This way the RX traffic re-direction to/from the "Drop RQ" will be more uniform (AKA "one flow"), as it will involve only RQTs re-direction and no TIRs re-direction. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit adc4cc99b765d49b0613365a89212cfc75c06c22 Merge: 5a9348b 32a7432 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 6 21:59:27 2015 -0700 Merge branch 'cpsw-next' Mugunthan V N says: ==================== CPSW interrupt handling cleanup and performance improvement This patch series removes the irq controller disable interrupt and adding a napi for tx event handling which improves the performance by ~180Mbps on dra7-evm [ 5] local 192.168.10.116 port 5001 connected with 192.168.10.165 port 44176 [ 5] 0.0-60.0 sec 1.48 GBytes 210 Mbits/sec [ 4] local 192.168.10.116 port 5001 connected with 192.168.10.165 port 33257 [ 4] 0.0-60.0 sec 2.71 GBytes 386 Mbits/sec Changes from initial version: * Added a patch to have napi only for first interface as there is no use of having seperate napis for each interface as the interrupt is shared by both interface and only one napi is scheduled for each interrupt. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32a7432c0fb8b0117961bdc7ab256667d039de16 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Tue Aug 4 16:06:20 2015 +0530 drivers: net: cpsw: add separate napi for tx Instead of processing tx events in isr adding separate napi for tx which improves performance by ~180Mbps with omap2plus_defconfig on DRA74x platform. Also cleaning up rx napis by renaming to napi_rx for better understanding the code. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d354eb85d61803e07831b68d1985cd9cfe2f8b59 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Tue Aug 4 16:06:19 2015 +0530 drivers: net: cpsw: dual_emac: simplify napi usage Since interrupt is shared between the two ethernet interface and in isr only one napi is scheduled at an instance so having two napis doesn't make any difference. So making napi also as a common resource for the dual ethernet interfaces. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 870915feabdc3af5f0ebb72d1fcf96bff01837b0 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Tue Aug 4 16:06:18 2015 +0530 drivers: net: cpsw: remove disable_irq/enable_irq as irq can be masked from cpsw itself CPSW interrupts can be disabled by masking CPSW interrupts and clearing interrupt by writing appropriate EOI. So removing all disable_irq/enable_irq as discussed in [1] [1] http://patchwork.ozlabs.org/patch/492741/ Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a9348b54d396c0b8bb877abcb107293034a87de Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 4 10:44:22 2015 +0300 mpls: small cleanup in inet/inet6_fib_lookup_dev() We recently changed this code from returning NULL to returning ERR_PTR. There are some left over NULL assignments which we can remove. We can preserve the error code from ip_route_output() instead of always returning -ENODEV. Also these functions use a mix of gotos and direct returns. There is no cleanup necessary so I changed the gotos to direct returns. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02b52428475672a241365910949deb6fe95d043c Merge: ff14702 2971ff6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 6 21:54:13 2015 -0700 Merge branch 'bnx2x-cnic-bnx2fc-bd-support' Yuval Mintz says: ==================== bnx2x, cnic, bnx2fc: add support for BD Commit 230d00eb4bfe ("bnx2x: new Multi-function mode - BD") added support for a new multi-function mode, but it added only the support required by bnx2x for L2 interfaces. This adds the required changes to support the new multi-function mode in the offloaded storage protocols. Dave, Please consider applying this series to `net-next'. Do notice that this involves non-networking driver changes - but sending this as a single series seemed like the best approach as we had to have bnx2x changes to support the new functionality. If this is problematic, please tell us what's the preferred solution here. Changes from previous versions ------------------------------ - From v1 - no actual changes; v1 failed to reach netdev so in order to keep things in line I've termed this one v2. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2971ff67bd3283d187bd7a7906adfbbaad2257e1 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Tue Aug 4 09:37:30 2015 +0300 bnx2fc: Read npiv table from nvram and create vports. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97ac4ef78e6d44019745de7761da8536a9068cf8 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Tue Aug 4 09:37:29 2015 +0300 bnx2x: Add BD support for storage Commit 230d00eb4bfe ("bnx2x: new Multi-function mode - BD") adds support for the new mode in bnx2x. This expands this support by implementing APIs required by our storage drivers to support that mode. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b8d5044024df97edfcce8f0c4a6ca0abd99300e Author: Adheer Chandravanshi <adheer.chandravanshi@xxxxxxxxxx> Date: Tue Aug 4 09:37:28 2015 +0300 cnic: Add the interfaces to get FC-NPIV table. Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eddb755428e6e723bf587a4e2c15055c8ac02f5b Author: Tej Parkash <tej.parkash@xxxxxxxxxx> Date: Tue Aug 4 09:37:27 2015 +0300 cnic: Populate upper layer driver state in MFW Signed-off-by: Tej Parkash <tej.parkash@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff1470284493ca18da852e36afe39d29d0feb875 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Mon Aug 3 22:31:18 2015 -0700 rocker: use netdev_err after register_netdev After successful register_netdev, we can use netdev_err rather the more generic dev_err. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c4f7780a5dd6773a653c87bf7ee61c6aea6a4e7 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Mon Aug 3 22:31:17 2015 -0700 rocker: NULL port if port probe fails Set port to NULL if port probe fails so we don't try to remove partially initialized port on port probe err cleanup path. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 459c15e53cf7e4e88a78ecfb109af5a267c5500a Merge: 730daa1 233ce79 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Fri Aug 7 13:27:58 2015 +1000 Merge tag 'asn1-fixes-20150805' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next commit 5aecc3c8a24a7c2db29ec4a927bbb08befcb508e Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Wed Aug 5 09:28:50 2015 +0900 intel_pstate: append more Oracle OEM table id to vendor bypass list Append more Oracle X86 servers that have their own power management, SUN FIRE X4275 M3 SUN FIRE X4170 M3 and SUN FIRE X6-2 Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1c9391238753ffb370f02743b5f43bac6dea304b Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:47:14 2015 -0700 intel_pstate: Add SKY-S support Whitelist the SKL-S processor Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d15fa86276e8515443251c0d18930e392bc5afc5 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:11 2015 +0530 cpufreq: dt: Add support for turbo/boost mode With opp-v2 DT bindings, few OPPs can be used only for the boost mode. But using such OPPs require the boost mode to be supported by cpufreq driver. We will parse DT bindings only during ->init() and so can enable boost support only after registering cpufreq driver. This enables boost support as soon as any policy has boost/turbo OPPs for its CPUs. We don't need to disable boost support as that is done by the core, when the driver is unregistered. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2e02d8723edf6599988852a8ade8f83b2f766cb8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:10 2015 +0530 cpufreq: dt: Add support for operating-points-v2 bindings Support for parsing operating-points-v2 bindings is in place now, lets modify cpufreq-dt driver to use them. For backward compatibility we will continue to support earlier bindings. Special handling for that is required, to make sure OPPs are initialized for all the CPUs. Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 44139ed4943ee8ec186eea3e9072ca16d2b48133 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:09 2015 +0530 cpufreq: Allow drivers to enable boost support after registering driver In some cases it wouldn't be known at time of driver registration, if the driver needs to support boost frequencies. For example, while getting boost information from DT with opp-v2 bindings, we need to parse the bindings for all the CPUs to know if turbo/boost OPPs are supported or not. One way out to do that efficiently is to delay supporting boost mode (i.e. creating /sys/devices/system/cpu/cpufreq/boost file), until the time OPP bindings are parsed. At that point, the driver can enable boost support. This can be done at ->init(), where the frequency table is created. To do that, the driver requires few APIs from cpufreq core that let him do this. This patch provides these APIs. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 79eea44a5d7b9170d12d75c701d8c0e2d8d83c06 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Jul 29 16:23:08 2015 +0530 cpufreq: Update boost flag while initializing freq table from OPPs cpufreq table entries for OPPs with turbo modes enabled, should be marked with CPUFREQ_BOOST_FREQ flag. This ensures that these states are only used while operating in boost or turbo mode. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2dc36ecfaa0e668eabdc6b7df4592a08ef8776ee Merge: 19445b2 144c8e1 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Aug 7 03:25:16 2015 +0200 Merge branch 'pm-cpufreq' into pm-opp commit 19445b25e350ebebaa304bb2135619f643302947 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Thu Jul 9 17:43:35 2015 +0200 PM / OPP: add dev_pm_opp_is_turbo() helper Add dev_pm_opp_is_turbo() helper to verify if an opp is to be used only for turbo mode or not. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8d4d4e98acd68c31435ebb7beea591dbf60b9eb2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 17:10:38 2015 +0530 PM / OPP: Add helpers for initializing CPU OPPs With "operating-points-v2" its possible to tell which devices share OPPs. We already have infrastructure to decode that information. This patch adds following APIs: - of_get_cpus_sharing_opps: Returns cpumask of CPUs sharing OPPs (only valid with v2 bindings). - of_cpumask_init_opp_table: Initializes OPPs for all CPUs present in cpumask. - of_cpumask_free_opp_table: Frees OPPs for all CPUs present in cpumask. - set_cpus_sharing_opps: Sets which CPUs share OPPs (only valid with old OPP bindings, as this information isn't present in DT). Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ad656a6a8b1c8b4b2e723646e0402867f2f45395 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jun 13 15:10:21 2015 +0530 PM / OPP: Add support for opp-suspend With "operating-points-v2" bindings, it's possible to specify the OPP to which the device must be switched, before suspending. This patch adds support for getting that information. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 064416586190cb058d4c76a4e26b1996f434b6ca Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:04 2015 +0530 PM / OPP: Add OPP sharing information to OPP library An opp can be shared by multiple devices, for example its very common for CPUs to share the OPPs, i.e. when they share clock/voltage rails. This patch adds support of shared OPPs to the OPP library. Instead of a single device, dev_opp will now contain a list of devices that use it. It also senses if the device (we are trying to initialize OPPs for) shares OPPs with a device added earlier and in that case we update the list of devices managed by OPPs instead of duplicating OPPs again. The same infrastructure will be used for the old OPP bindings, with later patches. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3ca9bb33c627f22640cfca97fdf88eec0a120dfd Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:03 2015 +0530 PM / OPP: Add clock-latency-ns support With "operating-points-v2" bindings, clock-latency is defined per OPP. Users of this value expect a single value which defines the latency to switch to any clock rate. Find maximum clock-latency-ns from the OPP table to service requests from such users. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 274659029c9de5b11678d3a52a45e3dbc9177a48 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:02 2015 +0530 PM / OPP: Add support to parse "operating-points-v2" bindings This adds support in OPP library to parse and create list of OPPs from operating-points-v2 bindings. It takes care of most of the properties of new bindings (except shared-opp, which will be handled separately). For backward compatibility, we keep supporting earlier bindings. We try to search for the new bindings first, in case they aren't present we look for the old deprecated ones. There are few things marked as TODO: - Support for multiple OPP tables - Support for multiple regulators They should be fixed separately. Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 23dacf6d2e993551ef3ae0629baf6f473930513c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:01 2015 +0530 PM / OPP: Break _opp_add_dynamic() into smaller functions Later commits would add support for new OPP bindings and this would be required then. So, lets do it in a separate patch to make it easily reviewable. Another change worth noticing is INIT_LIST_HEAD(&opp->node). We weren't doing it earlier as we never tried to delete a list node before it is added to list. But this wouldn't be the case anymore. We might try to delete a node (just to reuse the same code paths), without it being getting added to the list. Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit aa5f2f854f03e6dc3dec8874bbcff1452b4bc09e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:00 2015 +0530 PM / OPP: Allocate dev_opp from _add_device_opp() There is no need to complicate _opp_add_dynamic() with allocation of dev_opp as well. Allocate it from _add_device_opp() instead. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3bac42caec612a1b82db7944570353cddca6a013 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:22:59 2015 +0530 PM / OPP: Create _remove_device_opp() for freeing dev_opp This will be used from multiple places later. Lets create a separate routine for that. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 737002b5de3d15b3012feea17f782a628b24699b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:22:58 2015 +0530 PM / OPP: Relocate few routines In order to prepare for the later commits, this relocates few routines towards the top as they will be used earlier in the code. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3566c5b277a41e912d15cd583c4604c95bb6b3f8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 30 22:27:19 2015 +0530 PM / OPP: Create a directory for opp bindings More platform specific extended opp bindings will follow and it would be easy to manage them with a directory for opp. Lets create that and move the existing opp bindings into it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ba4539ffc19b090841cd32ffe2c57d937e311857 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:22:56 2015 +0530 PM / OPP: Update bindings to make opp-hz a 64 bit value With a 32 bit value, the maximum frequency that the bindings can support is ~ 4 GHz. And that might fall short of what newer systems may have. Allow opp-hz to be a 64 bit big-endian value. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Suggested-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 10742619ac63641bcce0a7c07f0dc7509201ed72 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Sat Aug 1 21:32:17 2015 +0800 ACPI: fix acpi_debugfs_init prototype acpi_debugfs_init function is declared with return type int in drivers/acpi/internal.h when CONFIG_DEBUG_FS is enabled, but its definition in drivers/acpi/debugfs.c has return type void. This is due to commit aecad432fd68 ("ACPI: Cleanup custom_method debug stuff"), which changed the return type from int to void without updating the declaration. Fix this inconsistency by updating acpi_debugfs_init prototype. While at it, include internal.h in debugfs.c so that the compiler can check that the declaration and definition remain compatible. Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cb4ff766c42f0511ead5488b8de77fd392677464 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Wed Aug 5 16:24:04 2015 +0800 ACPI / Documentation: Update method tracing documentation. This patch updates method tracing documentation. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a0186bcf7c21907c78ab2b4bc50f3fb2b5047806 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Wed Aug 5 16:23:57 2015 +0800 ACPI / sysfs: Add support to allow leading "\" missing in trace_method_name. Since _SB.PCI0 can be used as relative path from root and can be easily converted into internal trace_method_name format, we allow users to specify trace_method_name using relative paths from root. Note this is useful for grub2 for which users failed to pass "\" from the grub configuration file. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7901a052a981691d18f4e8f91fc27e40849b7336 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Wed Aug 5 16:23:51 2015 +0800 ACPI / sysfs: Update method tracing facility. This patch updates the method tracing facility as the acpi_debug_trace() API has been updated to allow it to trace AML interpreter execution, the meanings and the usages of the API parameters are changed due to the updates. The new API: 1. Uses ACPI_TRACE_ENABLED flag to indicate the enabling of the tracer; 2. Allows tracer still can be enabled when method name is not specified so that the AML interpreter execution can be traced without knowing the method name, which is useful for kernel boot tracing; 3. Supports arbitrary full path name, it doesn't need to be a name related to an entrance of acpi_evaluate_object(). Note that the sysfs parameters are also updated so that when reading the attribute files, ACPICA internal settings are returned. In order to make the sysfs parameters (acpi.trace_state) available during boot, this patch adds code to bypass ACPICA semaphore/mutex invocations when acpi mutex utilities haven't been initialized. This patch doesn't update documentation of method tracing facility, it will be updated by further patches. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 93d988310bb2f5ed16ba075bbc4281aa06907e72 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Wed Aug 5 16:23:43 2015 +0800 ACPI / sysfs: Add ACPI_LV_REPAIR debug level. This patch updates debug_level file, adding ACPI_LV_REPAIR. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6d63e354af8ca57f41ab3958b30a980a0bb50ada Merge: 74d3329 40913fe Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Aug 7 02:40:55 2015 +0200 Merge branch 'acpica' into acpi-trace commit ff3e9a7307db12a553c20bd92a7cade072445244 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Aug 6 20:22:40 2015 -0400 tile/vdso: emit a GNU hash as well In principle, including the GNU hash can allow libc to avoid calculating SysV hashes at all. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 34d99af52ad40bd498ba66970579a5bc1fb1a3bc Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Aug 5 16:29:37 2015 -0400 audit: implement audit by executable This adds the ability audit the actions of a not-yet-running process. This patch implements the ability to filter on the executable path. Instead of just hard coding the ino and dev of the executable we care about at the moment the rule is inserted into the kernel, use the new audit_fsnotify infrastructure to manage this dynamically. This means that if the filename does not yet exist but the containing directory does, or if the inode in question is unlinked and creat'd (aka updated) the rule will just continue to work. If the containing directory is moved or deleted or the filesystem is unmounted, the rule is deleted automatically. A future enhancement would be to have the rule survive across directory disruptions. This is a heavily modified version of a patch originally submitted by Eric Paris with some ideas from Peter Moody. Cc: Peter Moody <peter@xxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [PM: minor whitespace clean to satisfy ./scripts/checkpatch] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 7f49294282c49ef426ed05eb4959728524ba140c Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Aug 5 16:29:36 2015 -0400 audit: clean simple fsnotify implementation This is to be used to audit by executable path rules, but audit watches should be able to share this code eventually. At the moment the audit watch code is a lot more complex. That code only creates one fsnotify watch per parent directory. That 'audit_parent' in turn has a list of 'audit_watches' which contain the name, ino, dev of the specific object we care about. This just creates one fsnotify watch per object we care about. So if you watch 100 inodes in /etc this code will create 100 fsnotify watches on /etc. The audit_watch code will instead create 1 fsnotify watch on /etc (the audit_parent) and then 100 individual watches chained from that fsnotify mark. We should be able to convert the audit_watch code to do one fsnotify mark per watch and simplify things/remove a whole lot of code. After that conversion we should be able to convert the audit_fsnotify code to support that hierarchy if the optimization is necessary. Move the access to the entry for audit_match_signal() to the beginning of the audit_del_rule() function in case the entry found is the same one passed in. This will enable it to be used by audit_autoremove_mark_rule(), kill_rules() and audit_remove_parent_watches(). This is a heavily modified and merged version of two patches originally submitted by Eric Paris. Cc: Peter Moody <peter@xxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [PM: added a space after a declaration to keep ./scripts/checkpatch happy] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 141b2d3161f19a774b3ceaa8faed5e63484a4684 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:51 2015 +0300 perf tools: Extend the event parser maximum error index Extend the event parser maximum error index from 10 to 13. That allows PMU config terms of up to 10 characters to display un-truncated in the error message. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-17-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0efe6b67690b6546daa0d2f34a17eb3ca46c9dea Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:50 2015 +0300 perf tools: Validate config term maximum value Currently the value of a PMU config term is silently truncated if it is too big. This is an impediment to validating the value for other criteria later on i.e. the user provides an invalid value that gets truncated to a valid one. The maximum value validation is only done for the parser where the error is passed back to the user. In other cases the silent truncation continues so as not to affect tools that perhaps rely on it. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-16-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 09ff607176ab2bf7e038150100fdf9290a6fbe47 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:49 2015 +0300 perf tools: Add perf_pmu__format_bits() Add perf_pmu__format_bits() to get the format bits for a PMU config term. Intel PT will use this to validate terms and to record format bits to enable later interpreting the config from the attribute stored in the perf.data file. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-15-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8bd1b2d2578ca2688969352ed1f8a0a8f10dbb63 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:47 2015 +0300 perf tools: Fix perf-with-kcore handling of arguments containing spaces Fix the perf-with-kcore script so that it doesn't split arguments that contain spaces. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-13-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f70cfa07e3675a115265e32d6357272275358cdb Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:46 2015 +0300 perf auxtrace: Fix period type 'i' not working PERF_ITRACE_PERIOD_INSTRUCTIONS is zero so it got overwritten by the default period type. Fix by checking if the period type was set rather than if the value was zero when applying the default. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-12-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 74d4582f430a797564f92fbff0bd3a21945528b7 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Jul 18 11:30:11 2015 +0300 perf tools xtensa: Add DWARF register names Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: Chris Zankel <chris@xxxxxxxxxx> Cc: Marc Gauthier <marc@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-xtensa@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1437208216-15729-9-git-send-email-jcmvbkbc@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 40997d6cf9fc40c85dba479e162a89e7530eb360 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:53 2015 -0700 perf report: Display cycles in branch sort mode Display the cycles by default in branch sort mode. To make enough room for the new column I removed dso_to. It is usually redundant with dso_from. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-9-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a18b027efe1a2a502d98a8d0ea0391a72bf3f696 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:52 2015 -0700 perf top: Add branch annotation code to top Now that we can process branch data in annotate it makes sense to support enabling branch recording from top too. Most of the code needed for this is already in shared code with report. But we need to add: - The option parsing code (using shared code from the previous patch) - Document the options - Set up the IPC/cycles accounting state in the top session - Call the accounting code in the hist iter callback Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-8-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f8f4aaead579c947fb8fc051c9d242037025caf3 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:51 2015 -0700 perf annotate: Finally display IPC and cycle accounting Add two new columns to the annotate display and display the average cycles and the compute IPC if available. When the LBR was not in any branch mode the IPC computation is automatically disabled. We still display the cycle information. Example output (with made up numbers): The second column is the IPC and third average cycles. â?? __attribute__((noinline)) f2() â?? { 5.15 0.07 â?? push %rbp 0.01 0.07 â?? mov %rsp,%rbp â?? c = a / b; 9.87 0.07 â?? mov a,%eax 0.07 â?? mov b,%ecx 0.07 â?? cltd 4.92 0.07 123â?? idiv %ecx 70.79 0.07 â?? mov %eax,__TMC_END__ â?? } 9.25 0.07 â?? pop %rbp 0.01 0.07 123â?? â?? retq v2: Fix display problems. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-7-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 30e863bb6f708c0abd422fbb0e6b295f5ee6407b Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:50 2015 -0700 perf annotate: Compute IPC and basic block cycles Compute the IPC and the basic block cycles for the annotate display. IPC is computed by counting the instructions, and then dividing the accounted cycles by that count. The actual IPC computation can only be done at annotate time, because we need to parse the objdump output first to know the number of instructions in the basic block. The cycles/IPC are also put into the perf function annotation so that the display code can show them. Again basic block overlaps are not handled, with the longest winning, but there are some heuristics to hide the IPC when the longest is not the most common. v2: Compute IPC correctly. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-6-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 57849998e2cd24d50295076a1bbd2f029e2d7c38 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:49 2015 -0700 perf report: Add processing for cycle histograms Call the earlier added cycle histogram infrastructure from the perf report hist iter callback. For this we walk the branch records. This allows to use cycle histograms when browsing perf report annotate. v2: Rename flag Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-5-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d4957633bf9dab70e566e7dbb2b8d0c61c3a2f1e Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:48 2015 -0700 perf report: Add infrastructure for a cycles histogram This adds the basic infrastructure to keep track of cycle counts per basic block for annotate. We allocate an array similar to the normal accounting, and then account branch cycles there. We handle two cases: cycles per basic block with start and cycles per branch (these are later used for either IPC or just cycles per BB) In the start case we cannot handle overlaps, so always the longest basic block wins. For the cycles per branch case everything is accurately accounted. v2: Remove unnecessary checks. Slight restructure. Move symbol__get_annotation to another patch. Move histogram allocation. v3: Merged with current tree Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-4-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 98df858ed46ddaaf9be3573eb2b63b57a68c6af7 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:47 2015 -0700 perf report: Add flag for non ANY branch mode Later patches need to cheaply check that the branch mode is in ANY. Add a new function to check all event attrs and add a flag to the report state, which is then initialized. v2: Rename flag Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0e332f033a8216fa03792fde69882f66500848c7 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:46 2015 -0700 perf tools: Add support for cycles, weight branch_info field cycles is a new branch_info field available on some CPUs that indicates the time deltas between branches in the LBR. Add a sort key and output code for the cycles to allow to display the basic block cycles individually in perf report. We also pass in the cycles for weight when LBRs are processed, which allows to get global and local weight, to get an estimate of the total cost. And also print the cycles information for perf report -D. I also added printing for the previously missing LBR flags (mispredict etc.) Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 93df8a1ed6231727c5db94a80b1a6bd5ee67cec3 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Tue Aug 4 17:10:27 2015 +0100 perf tools: Add empty Build files for architectures lacking them perf currently fails to build on MIPS as there is no tools/perf/arch/mips/Build file. Adding an empty file fixes this as there are no MIPS-specific sources to build. It looks like the same is needed for Alpha and PA-RISC, though I haven't been able to test those. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Fixes: 5e8c0fb6a957 ("perf build: Add arch x86 objects building") Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1438704627.7315.2.camel@xxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b325e832e9478b920c1b8366623fe456a3527513 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Aug 4 12:36:43 2015 -0400 ARM: keystone: add documentation for SoCs and EVMs Currently there is no general documentation on Keystone SoCs in the Linux Documentation folder of the source tree. This patch adds some essential documentation with links to help users of Keystone Linux and also provide links to existing documents where necessary. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit f80010eb230b94e8d9cf5bf83373a097fb5b2dcc Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:27 2015 +0200 perf stat: Move counter processing code into stat object Moving counter processing code into stat object as perf_stat__process_counter. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-8-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5e5fe748bec771a810b1f44ec9c19e4b92685246 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:26 2015 +0200 perf stat: Pass 'struct perf_stat_config' into process_counter() Passing 'struct perf_stat_config' into process_counter(), so that we can make process_counter() non static and use it from other places. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-7-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a4c6ebede2f99fc3aaa5a42228a16747d0aa2504 Author: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Date: Tue Aug 4 09:04:08 2015 -0300 scripts/kernel-doc Allow struct arguments documentation in struct body Describing arguments at top of a struct definition works fine for small/medium size structs, but it definitely doesn't work well for struct with a huge list of elements. Keeping the arguments list inside the struct body makes it easier to maintain the documentation. ie: /** * struct my_struct - short description * @a: first member * @b: second member * * Longer description */ struct my_struct { int a; int b; /** * @c: This is longer description of C * * You can use paragraphs to describe arguments * using this method. */ int c; }; This patch allows the use of this kind of syntax. Only one argument per comment and user can use how many paragraphs he needs. It should start with /**, which is already being used by kernel-doc. If those comment doesn't follow those rules, it will be ignored. Signed-off-by: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Stephan Mueller <smueller@xxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: intel-gfx <intel-gfx@xxxxxxxxxxxxxxxxxxxxx> Cc: dri-devel <dri-devel@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit ec0d3d1fd292adb80372193c03d859e9cbefd367 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:25 2015 +0200 perf stat: Move 'interval' into struct perf_stat_config Moving 'interval' into struct perf_stat_config. The point is to centralize the base stat config so it could be used localy together with other stat routines in other parts of perf code. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5821522e9484a8b503f89aa546085900b99589e9 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:24 2015 +0200 perf stat: Move 'output' into struct perf_stat_config Moving 'output' into struct perf_stat_config. The point is to centralize the base stat config so it could be used localy together with other stat routines in other parts of perf code. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 711a572ea8ae7e9ab6575403c6d632d058d5cb3d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:23 2015 +0200 perf stat: Move 'scale' into struct perf_stat_config Moving 'scale' into struct perf_stat_config. The point is to centralize the base stat config so it could be used localy together with other stat routines in other parts of perf code. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 421a50f3fafaf271bb3293378eaafca71337dfec Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:22 2015 +0200 perf stat: Introduce struct perf_stat_config Moving 'aggr_mode' into new struct. The point is to centralize the base stat config so it could be used localy together with other stat routines in other parts of perf code. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 64e32895f9d87aaa0842c07d0b17f4895955db20 Author: Jakub Wilk <jwilk@xxxxxxxxx> Date: Mon Jul 27 10:15:18 2015 +0200 SubmittingPatches: remove stray quote character Signed-off-by: Jakub Wilk <jwilk@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 60004ca5dcfbf43182a9ba42bcbbf216c3684433 Merge: 7c97211 e9c9963 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Aug 6 12:57:44 2015 -0600 Merge branch 'doc/4.3-reproducible' into docs-next Ben Hutchings writes: As part of the reproducible builds project, Jérémy Bobbio identified several time-dependent and non-deterministic functions in the document build process (htmldocs, mandocs targets). This patch series should fix all of those. I ended up reverting one patch that introduced problems. commit e9c9963b439db734e9705f96909c5a3388dd81bb Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Aug 6 12:44:23 2015 -0600 Revert "DocBook: Avoid building man pages repeatedly and inconsistently" This reverts commit b44158b17099ed5c7c8f4bfb7029942adbfbc318. This commit introduced warnings and possibly inconsistent results into the doc build process. The goal is good but it will need to be achieved another way. Reported-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 84cb777e67814f2e06a99ff228f743409e9617e9 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Aug 5 23:48:20 2015 -0400 audit: use macros for unset inode and device values Clean up a number of places were casted magic numbers are used to represent unset inode and device numbers in preparation for the audit by executable path patch set. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [PM: enclosed the _UNSET macros in parentheses for ./scripts/checkpatch] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 5a023b57a8e96327925a39312bccc443a7c540b6 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Jun 19 08:42:48 2015 +0000 perf tools: Add missing forward declaration of struct map to probe-event.h Commit 7b6ff0bdbf4f7f429c2116cca92a6d171217449e ("perf probe ppc64le: Fixup function entry if using kallsyms lookup") adds 'struct map' into probe-event.h but not forward declares it. This patch fixes it. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Fixes: 7b6ff0bdbf4f ("perf probe ppc64le: Fixup function entry if using kallsyms lookup") Link: http://lkml.kernel.org/n/1436445342-1402-30-git-send-email-wangnan0@xxxxxxxxxx [ No need to include map.h, just forward declare 'struct map' ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0af0885ef69c182d1fa6bb201cd0570e9aa384eb Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Jul 31 10:35:33 2015 -0300 perf tools: Introduce veprintf va_args alternative to eprintf(). Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/n/1436445342-1402-19-git-send-email-wangnan0@xxxxxxxxxx [ split from another patch ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 04a22fae4cbc1f7d3f7471e9b36359f98bd3f043 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:50 2015 +0000 tracing, perf: Implement BPF programs attached to uprobes By copying BPF related operation to uprobe processing path, this patch allow users attach BPF programs to uprobes like what they are already doing on kprobes. After this patch, users are allowed to use PERF_EVENT_IOC_SET_BPF on a uprobe perf event. Which make it possible to profile user space programs and kernel events together using BPF. Because of this patch, CONFIG_BPF_EVENTS should be selected by CONFIG_UPROBE_EVENT to ensure trace_call_bpf() is compiled even if KPROBE_EVENT is not set. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 098d2164e3441c252eaa28906d45e16b7bf1bd2b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:49 2015 +0000 bpf: Use correct #ifdef controller for trace_call_bpf() Commit e1abf2cc8d5d80b41c4419368ec743ccadbb131e ("bpf: Fix the build on BPF_SYSCALL=y && !CONFIG_TRACING kernels, make it more configurable") updated the building condition of bpf_trace.o from CONFIG_BPF_SYSCALL to CONFIG_BPF_EVENTS, but the corresponding #ifdef controller in trace_events.h for trace_call_bpf() was not changed. Which, in theory, is incorrect. With current Kconfigs, we can create a .config with CONFIG_BPF_SYSCALL=y and CONFIG_BPF_EVENTS=n by unselecting CONFIG_KPROBE_EVENT and selecting CONFIG_BPF_SYSCALL. With these options, trace_call_bpf() will be defined as an extern function, but if anyone calls it a symbol missing error will be triggered since bpf_trace.o was not built. This patch changes the #ifdef controller for trace_call_bpf() from CONFIG_BPF_SYSCALL to CONFIG_BPF_EVENTS. I'll show its correctness: Before this patch: BPF_SYSCALL BPF_EVENTS trace_call_bpf bpf_trace.o y y normal compiled n n inline not compiled y n normal not compiled (incorrect) n y impossible (BPF_EVENTS depends on BPF_SYSCALL) After this patch: BPF_SYSCALL BPF_EVENTS trace_call_bpf bpf_trace.o y y normal compiled n n inline not compiled y n inline not compiled (fixed) n y impossible (BPF_EVENTS depends on BPF_SYSCALL) So this patch doesn't break anything. QED. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 788a6cddda9ba83276e37567c17bb78406904074 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:26:16 2015 -0500 mtd: spi-nor: fsl-quadspi: fix unsupported cmd when run flash_erase Erase function will use cmd 0x20 (SPINOR_OP_BE_4K) if kenrel enable option CONFIG_MTD_SPI_NOR_USE_4K_SECTORS. This command is not in fsl-quadspi driver LUT. So driver continue report fsl-quadspi 21e0000.qspi: Unsupported cmd 0x20. This patch fix this issue. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Han Xu <Han.xu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 8b8319c8b7d0385659c2df6376955cb6a1d918b6 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:26:10 2015 -0500 mtd: spi-nor: fsl-quadspi: reset the module in the probe The uboot may run the QuadSpi controler with command: #sf probe So we should reset the module in the probe. This patch also clear the pending interrupts which arised by the uboot code. Signed-off-by: Huang Shijie <shijie8@xxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5cc66cb7345d1bac71e94d7fd05dc86506f59dfe Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:26:04 2015 -0500 mtd: spi-nor: fsl-quadspi: workaround qspi can't wakeup from wait mode QSPI1 cannot wake up CCM from WAIT mode on SX ARD board, add pmqos to let PM NOT enter WAIT mode when accessing QSPI1, refer to TKT245618. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Han Xu <Han.xu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit cacbef40aac478fb25fb7d18ac22d41a11ce06e2 Author: Allen Xu <b45815@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:58 2015 -0500 mtd: spi-nor: fsl-quadspi: i.MX6SX: fixed the random QSPI access failed issue We found there is a low probability(5%) QSPI access timeout issue, usually it happened on kernel boot stage, the first time kernel tried to access QSPI chip. The READ_ID command was sent but not executed, consequently the probe function failed. The root cause is that the divider is not glitchless in i.MX6SX chip. If qspi clock enabled then change clock frequency by call clk_set_rate, there will be glitch at low possiblity rate and pass to qspi controller. The controler will be hang by this glitch. Based on the new clock flag(CLK_SET_RATE_GATE) and new framework, we need to change the approach of seting clock rate. 1. Disable clock. 2. call clk_set_rate. 3. Enable clock again. Signed-off-by: Han Xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit cb94d0bb41e43b4fdd219ad930686397814bcd8d Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:52 2015 -0500 Documentation: fsl-quadspi: Add fsl, imx6ul-qspi compatible string new compatible string: "fsl,imx6ul-qspi". Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 74a081d14f579d0a1de845ba63e8ee5f0c511258 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:47 2015 -0500 mtd: spi-nor: fsl-quadspi: add i.mx6ul support Add i.mx6ul chip support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Han xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 151b49e19119da28dfcd29561147ec56913cbe61 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:41 2015 -0500 Documentation: fsl-quadspi: Add fsl, imx7d-qspi compatible string new compatible string: "fsl,imx7d-qspi" Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d371cbfc151c6a7229150da0954d1f74ea4dcd39 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:35 2015 -0500 mtd: spi-nor: fsl-quadspi: add imx7d support Support i.mx7d. quadspi in i.mx7d increase rxfifo. require fill at least 16byte to trigger data transfer. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Han Xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 80d37724089bc5d09fa12601a763bde01899ba88 Author: Han Xu <han.xu@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:29 2015 -0500 mtd: spi-nor: fsl-quadspi: use quirk to distinguish different qspi version add several quirk to distinguish different version of qspi module. Signed-off-by: Han Xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 49bd706aac8fe7fa90988ecd3fd5c276575b194e Author: Han Xu <han.xu@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:22 2015 -0500 mtd: spi-nor: fsl-quadspi: dynamically map memory space for AHB read QSPI may failed to map enough memory (256MB) for AHB read in previous implementation, especially in 3G/1G memory layout kernel. Dynamically map memory to avoid such issue. This implementation generally map QUADSPI_MAX_IOMAP (default 4MB) memory for AHB read, it should be enough for common scenarios, and the side effect (0.6% performance drop) is minor. Previous implementation root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=1K count=32K 32768+0 records in 32768+0 records out 33554432 bytes (34 MB) copied, 2.16006 s, 15.5 MB/s root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=32M count=1 1+0 records in 1+0 records out 33554432 bytes (34 MB) copied, 1.43149 s, 23.4 MB/s After applied the patch root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=1K count=32K 32768+0 records in 32768+0 records out 33554432 bytes (34 MB) copied, 2.1743 s, 15.4 MB/s root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=32M count=1 1+0 records in 1+0 records out 33554432 bytes (34 MB) copied, 1.43158 s, 23.4 MB/s Signed-off-by: Han Xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 15979aeeb548e020b6107214f0405be894891a57 Author: Benjamin Cama <benoar@xxxxxxxx> Date: Thu Aug 6 18:29:52 2015 +0200 ARM: dts: Convert Linkstation Mini to Device Tree The title says it all. The name of the dts file as been changed to better reflect the manufacturer's device name (LS-WSGL), rather than the original "lsmini", which exists in a kirkwood version too. [gregory.clement@xxxxxxxxxxxxxxxxxx]: use tab instead of space to indent dts at line 185. Reslove merge conflict with patch "ARM: dts: orion5x: add buffalo linkstation ls-wtgl" in the file arch/arm/boot/dts/Makefile. Signed-off-by: Benjamin Cama <benoar@xxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Alexey Kopytko <alexey@xxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 2e8328fb87d02569511c4808a1b3f44f67bd83fd Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Aug 6 11:29:19 2015 -0500 usb: gadget: legacy: nokia: add CONFIG_BLOCK dependency g_nokia now has mass_storage function, so it should depend on CONFIG_BLOCK. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4a1e9211809d4130fe23cad1bea222222d6e94f4 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Aug 6 11:23:32 2015 -0500 usb: gadget: f_mass_storage: add mising <linux/uaccess.h> <linux/uaccess.h> was originally being pulled indirectly through some other header, however it's not anymore, so we need to include it directly Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Suggested-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b0a688ddcc5015eb26000c63841db7c46cfb380a Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Aug 6 10:51:29 2015 -0500 usb: musb: cppi41: allow it to work again since commit 33c300cb90a6 ("usb: musb: dsps: don't fake of_node to musb core") we have been preventing CPPI 4.1 from probing due to NULL of_node. We can't revert said commit otherwise a different regression would show up, so the fix is to look for the parent device's (glue layer's) of_node instead, since that's the thing which is actually described in DTS. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 03840fad004ce8a56bc8b3bb60a2df10f6f9481e Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Aug 6 10:47:16 2015 -0500 usb: musb: gadget: remove remaining DMA ifdeferry Commit fb91cddc54e7 ("usb: musb: Remove DMA ifdef for musb_gadget.c short_packet") tried to remove DMA ifdeferry from musb_gadget.c but ended up leaving some around. Remove them so that when building kernels with all DMA engines enabled, we don't end up trying to allocte channels twice. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit adab43396ed4830c7cee29837e8cedcddb2b5315 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:16 2015 +0200 usb: gadget: remove gadget_chips.h This header file contains helpers for quirks based on UDC controller name. Since we have generic quirk bitfields in usb_gadget structure for all of these quirks we don't need to have this header any longer. This patch removes gadget_chips.h file and makes sure that it's no longer included anywhere in kernel sources. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 26b8aa458c7d99181ceb07f27da9bd7d94185e35 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:15 2015 +0200 usb: musb: gadget: add musb_match_ep() function Add 'match_ep' callback to utilize chip-specific knowledge in endpoint matching process. Function does the same that was done by chip-specific code inside of epautoconf. Now this code can be removed from there to separate generic code from platform specific logic. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8cc67b7bff2fc1adfd080233d35aacba4411cf87 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:14 2015 +0200 usb: gadget: goku_udc: add goku_match_ep() function Add 'match_ep' callback to utilize chip-specific knowledge in endpoint matching process. Function does the same that was done by chip-specific code inside of epautoconf. Now this code can be removed from there to separate generic code from platform specific logic. [ balbi@xxxxxx : fix build breakage ] Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3e8b231818c25a250c36f8bfb944aa1fd2b13396 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:13 2015 +0200 usb: gadget: net2280: add net2280_match_ep() function Add 'match_ep' callback to utilize chip-specific knowledge in endpoint matching process. Function does the same that was done by chip-specific code inside of epautoconf. Now this code can be removed from there to separate generic code from platform specific logic. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b0aea0037c8896b8e69cad3f6e828782789c1edf Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:12 2015 +0200 usb: gadget: move find_ep() from epautoconf to udc-core Move find_ep() to udc-core and rename it to gadget_find_ep_by_name(). It can be used in UDC drivers, especially in 'match_ep' callback after moving chip-specific endpoint matching logic from epautoconf to UDC drivers. Replace all calls of find_ep() function with gadget_find_ep_by_name(). Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4278c687f697b651ab0c771114564da5ed006f22 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:11 2015 +0200 usb: gadget: move ep_matches() from epautoconf to udc-core Move ep_matches() function to udc-core and rename it to usb_gadget_ep_match_desc(). This function can be used by UDC drivers in 'match_ep' callback to avoid writing lots of repetitive code. Replace all calls of ep_matches() with usb_gadget_ep_match_desc(). Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 596c154d62330ea0bb4e3c3e50afa3682e50b617 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:10 2015 +0200 usb: gadget: add 'ep_match' callback to usb_gadget_ops Add callback that is called by epautoconf to allow UDC driver match the best endpoint for specific descriptor. It's intended to supply mechanism which allows to get rid of chip-specific endpoint matching code from epautoconf. If gadget has set 'ep_match' callback we prefer to call it first, and if it fails to find matching endpoint, then we try to use default matching algorithm. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 834fd46ddb50953cf3fd9caa3f35485715c62ea3 Author: Milian Wolff <milian.wolff@xxxxxxxx> Date: Thu Aug 6 11:24:29 2015 +0200 perf trace: Add total time column to summary. It is cumbersome to manually calculate the total time spent in a given syscall by multiplying the average value with the number of calls. Instead, we now do this directly inside perf trace. Note that this is also done by 'strace', which even adds a column with relative numbers - something we could do in the future. Example: perf trace -s find /some/folder > /dev/null Summary of events: find (19976), 700123 events, 100.0%, 0.000 msec syscall calls total min avg max stddev (msec) (msec) (msec) (msec) (%) --------------- -------- --------- --------- --------- --------- ------ read 4 0.006 0.001 0.002 0.003 27.42% write 8046 9.617 0.001 0.001 0.035 0.56% open 34196 40.384 0.001 0.001 0.071 0.30% close 68375 57.104 0.001 0.001 0.076 0.25% stat 4 0.004 0.001 0.001 0.001 3.14% fstat 34189 27.518 0.001 0.001 0.060 0.34% mmap 13 0.029 0.001 0.002 0.003 10.74% mprotect 6 0.018 0.002 0.003 0.005 17.04% munmap 3 0.014 0.003 0.005 0.006 24.87% brk 87 0.490 0.001 0.006 0.016 6.50% ioctl 3 0.004 0.001 0.001 0.003 36.39% access 1 0.004 0.004 0.004 0.004 0.00% uname 1 0.001 0.001 0.001 0.001 0.00% getdents 68393 143.600 0.001 0.002 0.187 0.95% fchdir 68371 56.980 0.001 0.001 0.111 0.39% arch_prctl 1 0.001 0.001 0.001 0.001 0.00% openat 34184 41.737 0.001 0.001 0.102 0.41% newfstatat 34184 41.180 0.001 0.001 0.064 0.34% Signed-off-by: Milian Wolff <milian.wolff@xxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> LPU-Reference: 1438853069-5902-1-git-send-email-milian.wolff@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 26bf956aa9952a8141a12f314df70dcd020572d6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:09 2015 +0200 usb: gadget: epautoconf: rework ep_matches() function Rework ep_matches() function to make it shorter and more readable. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f5b831907da3e64bfb0288089a5c07124266b1a5 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:12 2015 +0100 iommu/io-pgtable: Remove flush_pgtable callback With the users fully converted to DMA API operations, it's dead, Jim. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 857c88ca62f1e2594e1e760ef9a45ec1961f2a53 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:11 2015 +0100 iommu/arm-smmu: Remove arm_smmu_flush_pgtable() With the io-pgtable code now enforcing its own appropriate sync points, the vestigial flush_pgtable callback becomes entirely redundant, so remove it altogether. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4103d662cbd0c045d7a44a18c82172220478b20c Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:10 2015 +0100 iommu/arm-smmu: Remove arm_smmu_flush_pgtable() With the io-pgtable code now enforcing its own appropriate sync points, the vestigial flush_pgtable callback becomes entirely redundant, so remove it altogether. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 87a91b15d691d6f4aa0a5baffb5767bbc6e4a8c4 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:09 2015 +0100 iommu/io-pgtable-arm: Centralise sync points With all current users now opted in to DMA API operations, make the iommu_dev pointer mandatory, rendering the flush_pgtable callback redundant for cache maintenance. However, since the DMA calls could be nops in the case of a coherent IOMMU, we still need to ensure the page table updates are fully synchronised against a subsequent page table walk. In the unmap path, the TLB sync will usually need to do this anyway, so just cement that requirement; in the map path which may consist solely of cacheable memory writes (in the coherent case), insert an appropriate barrier at the end of the operation, and obviate the need to call flush_pgtable on every individual update for synchronisation. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> [will: slight clarification to tlb_sync comment] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ff2ed96dde3b30d8f1b2ab0d9b164140f2278e6e Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:08 2015 +0100 iommu/ipmmu-vmsa: Clean up DMA API usage With the correct DMA API calls now integrated into the io-pgtable code, let that handle the flushing of non-coherent page table updates. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit bdc6d973473f32891a8518c51b210ce7daaa10ac Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:07 2015 +0100 iommu/arm-smmu: Clean up DMA API usage With the correct DMA API calls now integrated into the io-pgtable code, let that handle the flushing of non-coherent page table updates. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2df7a25ce4a79092946330ac4b7a2fbb5944d1d6 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:06 2015 +0100 iommu/arm-smmu: Clean up DMA API usage With the correct DMA API calls now integrated into the io-pgtable code, let that handle the flushing of non-coherent page table updates. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit f8d5496131554f61b0fd931fa046f0233fe2aac2 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:04 2015 +0100 iommu/io-pgtable-arm: Allow appropriate DMA API use Currently, users of the LPAE page table code are (ab)using dma_map_page() as a means to flush page table updates for non-coherent IOMMUs. Since from the CPU's point of view, creating IOMMU page tables *is* passing DMA buffers to a device (the IOMMU's page table walker), there's little reason not to use the DMA API correctly. Allow IOMMU drivers to opt into DMA API operations for page table allocation and updates by providing their appropriate device pointer. The expectation is that an LPAE IOMMU should have a full view of system memory, so use streaming mappings to avoid unnecessary pressure on ZONE_DMA, and treat any DMA translation as a warning sign. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 85430968ae72650a63f77f05a29d5c56e41581db Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Aug 3 10:35:40 2015 +0100 iommu/arm-smmu: Treat unknown OAS as 48-bit A late change to the SMMUv3 architecture ensures that the OAS field will be monotonically increasing, so we can assume that an unknown OAS is at least 48-bit and use that, rather than fail the device probe. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 06059d5090118b047c5b6a621c8b57a068f7ce2c Merge: 80aa931 8c10342 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 6 14:27:09 2015 +0200 Merge tag 'topic/drm-misc-2015-07-28' into drm-intel-next-queued We need a few core drm patches to be able to merge Maarten's series to convert DPMS over to atomic. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit a03fdcb1863297481a4b817c2a759cafcbdfa0ae Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Aug 5 12:28:57 2015 +0530 drm: Add top level Kconfig option for DRM fbdev emulation Legacy fbdev emulation support via DRM is achieved through KMS FB helpers. Most modesetting drivers enable provide fbdev emulation by default by selecting KMS FB helpers. A few provide a separate Kconfig option for the user to enable or disbale fbdev emulation. Enabling fbdev emulation is finally a distro-level decision. Having a top level Kconfig option for fbdev emulation helps by providing a uniform way to enable/disable fbdev emulation for any modesetting driver. It also lets us remove unnecessary driver specific Kconfig options that causes bloat. With a top level Kconfig in place, we can stub out the fb helper functions when not needed without breaking functionality. Having stub functions also prevents drivers to require wrapping fb helper function calls with #ifdefs. DRM_FBDEV_EMULATION defaults to y since many drivers enable fbdev emulation by default and majority of distributions expect the fbdev interface in the kernel. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2c4124fdeaea4b70120da3bddf90c4587e65bbc6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:22:11 2015 +0200 drm/fb-helper: Move drm_fb_helper_force_kernel_mode() inside #ifdef If CONFIG_MAGIC_SYSRQ is not set: drivers/gpu/drm/drm_fb_helper.c:390:13: warning: 'drm_fb_helper_force_kernel_mode' defined but not used [-Wunused-function] static bool drm_fb_helper_force_kernel_mode(void) ^ Move drm_fb_helper_force_kernel_mode() inside the existing #ifdef to fix this. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3d9e35a92e935e1f968e79f0e0b72ce4b9f14c3e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:22:10 2015 +0200 drm/fb-helper: Clarify drm_fb_helper_restore_fbdev_mode*() As of commit 5ea1f752ae04be40 ("drm: add drm_fb_helper_restore_fbdev_mode_unlocked()"), drm_fb_helper_restore_fbdev_mode() is no longer public, and drivers should call drm_fb_helper_restore_fbdev_mode_unlocked() from their ->lastclose callbacks instead. Update the documentation to reflect this, and absorb the one liner drm_fb_helper_restore_fbdev_mode() into its single caller. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 55579cfe67d76394be46f00acef8854d08db5362 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 31 14:08:24 2015 +0530 drivers: gpu: Drop unlikely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0843010bbd60acf9e5a588828ad227937085e7b1 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:22:01 2015 +0530 drm/virtio: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - add missing header for virtgpu_fb.c Cc: David Airlie <airlied@xxxxxxxx> Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2dbaf392d27e8072268595fba557cbe4f4d43f01 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:22:00 2015 +0530 drm/amdgpu: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - Fixed PTR_ERR issue mentioned by kbuild bot Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: Oded Gabbay <oded.gabbay@xxxxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6a752972a33f7763453134a09ed8091bbeea55fc Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:59 2015 +0530 drm/bochs: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - remove unused variable device in bochsfb_create Cc: David Airlie <airlied@xxxxxxxx> Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b166aeb99faa0b42f75ab4f48e98afa44d6a8958 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:57 2015 +0530 drm/nouveau: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - remove unused variable pdev in nouveau_fbcon_create Cc: David Airlie <airlied@xxxxxxxx> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21cff14847421ff75d110890ccea729d8ad1b174 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:56 2015 +0530 drm/i915: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - No changes Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 00450052436f87742bfb9edfb325e1337a79489c Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:54 2015 +0530 drm/radeon: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - Fix build break because of missing include of drm_fb_helper in radeon_drv.c Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4f72a6eaedf71f3d7729086ca34703b3615f59d0 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:53 2015 +0530 drm/mgag200: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - remove unused goto label 'out' Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 231e6faf027ae5e86539bb5a3cdb2b22a96dae8c Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:48 2015 +0530 drm/omap: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Update error handling for new drm_fb_helper funcs. Check using IS_ERR() instead of checking for NULL. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> v2: - No changes Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2b9e6e376af5171444a1cdcc134ed502e33d1fb2 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:44 2015 +0530 drm/cirrus: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. v3: - Don't touch remove_conflicting_framebuffers v2: - Remove stray goto label out_iounmap Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Zach Reizner <zachr@xxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8c2ba316b64b02e43738c41b07a5d9319165f99 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 29 08:32:43 2015 +0200 drm: Fixup locking WARNINGs in drm_mode_config_reset With commit 7a3f3d6667f5f9ffd1517f6b21d64bbf5312042c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:28 2015 +0200 drm: Check locking in drm_for_each_connector we started checking the locking in drm_for_each_connector but somehow I totally missed drm_mode_config_reset. There's no problem there since this function should only be called in single-threaded contexts (driver load or resume), so just wrap the loop with the right lock. v2: Drink coffee and all that ... Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reported-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit bf9e37baac6db7318862447973bd68b5acae4bef Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 28 13:18:42 2015 +0200 drm: Remove __drm_modeset_lock_all The last user is gone, no need for trylocking any more in this legacy helper. Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit dd908c864d9a8347216291b4b61074777458373a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 28 13:18:41 2015 +0200 drm/fb-helper: Stop using trylocks in force_restore Since the panic handling is gone this is only used for force-restoring the fbdev/fbcon from sysrq, and that's done with a work item. No need any more to do trylocks, we can just do normal locking. Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c50bfd08d60cefbe1714c4a53b1c325982858549 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 28 13:18:40 2015 +0200 drm/fbdev: Return -EBUSY when oopsing Trying to do anything with kms drivers when oopsing has become a failing proposition. But since we can end up in the fbdev code simply due to the console unblanking that's done unconditionally just removing our panic handler isn't enough. We need to block all fbdev callbacks when oopsing. There was already one in the blank handler, but it failed silently. That makes it impossible for drivers (like i915) who subclass these functions to figure this out. Instead consistently return -EBUSY so that everyone knows that we really don't want to be bothered right now. This also allows us to remove a pile of FIXMEs from the i915 fbdev code (since due to the failure code they now won't attempt to grab dangerous locks any more). Cc: Dave Airlie <airlied@xxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 85f2edf2115d6aa0d7613f96dd3903b8d5f4a56d Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:20 2015 +0530 drm/fb_cma_helper: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 41ba2f3415741c28c589fd5734237d062c3d54fc Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:16 2015 +0530 drm/udl: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v2: - remove unused variable device in udlfb_create Cc: David Airlie <airlied@xxxxxxxx> Cc: Haixia Shi <hshi@xxxxxxxxxxxx> Cc: "Stéphane Marchesin" <marcheu@xxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e7cd84cf7da4e28749ae8b05fcd706db32496320 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:13 2015 +0530 drm/qxl: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. Cc: David Airlie <airlied@xxxxxxxx> Cc: Frediano Ziglio <fziglio@xxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 546187c85d4d4eab6f71dabbfda76672a69af434 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:10 2015 +0530 drm/gma500: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v2: - removed unused variable 'device' in psbfb_create Cc: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7c7d4507fb04bbeab44755162394951bc29146fb Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:09 2015 +0530 drm/exynos: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v2: - Remove unnecessary dealloc cmap in error handling path Cc: Inki Dae <inki.dae@xxxxxxxxxxx> Cc: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Cc: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 778014f0c80815e5e1ff079343da9673cb4db1a4 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:08 2015 +0530 drm/msm: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Stephane Viau <sviau@xxxxxxxxxxxxxx> Cc: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0f7d9052fb705e629c3f998051e835c97eb44749 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:07 2015 +0530 drm/tegra: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v2: - Fix up error handling path in tegra_fbdev_probe Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: "Terje Bergström" <tbergstrom@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 990e8440f2f8b9428125a32805c67ab22e78a7d9 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:05 2015 +0530 drm/ast: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. Cleaned up the error handling in astfb_create a bit. v2: - removed unused variable 'device' in astfb_create Cc: David Airlie <airlied@xxxxxxxx> Cc: "Y.C. Chen" <yc_chen@xxxxxxxxxxxxxx> Cc: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8b70e4dd7b5dad7c2379de6e0851587bf86bfd6 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:04 2015 +0530 drm/armada: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit df3b031cef742e924aa96fec7fc128d2611e4c1f Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:03 2015 +0530 drm/rockchip: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. This is an effort to create a top level drm fbdev emulation option. Cc: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fdefa58a5097b397ce2d3f6b6f8caa14aacfb70d Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:43 2015 +0530 drm/fb_helper: Create a wrapper for fb_set_suspend Some drm drivers call fb_set_suspend. Create a drm_fb_helper function that wraps around these calls. This is part of an effort to prevent drm drivers from calling fbdev functions directly, in order to make fbdev emulation a top level drm option. v3: - Fixed kerneldoc errors v2: - Added kerneldocs - Added a check for non-NULL fb_helper before proceeding. This will make the helpers work when we have a module param for fbdev emulation - Follow the drm way of aligning of arguments in func definitions Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 742547b73d27e7bce2d0dd0f1b95692436f30950 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:42 2015 +0530 drm/fb_helper: Create wrappers for blit, copyarea and fillrect funcs drm drivers that emulate fbdev populate their fb_fillrect, fb_copyarea and fb_imageblit fb_ops with the help of cfb_* or sys_* fbdev core helper functions. Create drm_fb_helper functions that wrap around these calls. This is part of an effort to prevent drm drivers from calling fbdev functions directly, in order to make fbdev emulation a top level drm option. v3: - Fixed kerneldoc errors v2: - Added kerneldocs - Follow the drm way of aligning of arguments in func definitions - Remove unnecessary checks for non NULL fb_info Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cbb1a82e5608fd6511940d27c231f0f4e2495b04 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:41 2015 +0530 drm/fb_helper: Create wrappers for fb_sys_read/write funcs Some drm drivers populate their fb_ops with fb_sys_read/write fb sysfs ops. Create a drm_fb_helper function that wraps around these calls. This is part of an effort to prevent drm drivers from calling fbdev functions directly, in order to make fbdev emulation a top level drm option. v3: - Fix kerneldoc errors v2: - Added kerneldocs - Follow the drm way of aligning of arguments in func definitions - Remove unnecessary checks for non NULL fb_info Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 47074ab7951c1fcfc3ff637eb8401c3a71272057 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:57:57 2015 +0530 drm/fb_helper: Create a wrapper for unlink_framebuffer Some drm drivers call unlink_framebuffer. Create a drm_fb_helper function that wraps around these calls. This is part of an effort to prevent drm drivers from calling fbdev functions directly, in order to make fbdev emulation a top level drm option. v2: - Added kerneldocs - Added a check for non-NULL fb_helper before proceeding. This will make the helpers work when we have a module param for fbdev emulation Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b8017d6c33be9862505a9154e302c4b00cbfca43 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:57:56 2015 +0530 drm/fb_helper: Add drm_fb_helper functions to manage fb_info creation Every drm driver calls framebuffer_alloc, fb_alloc_cmap, unregister_framebuffer, fb_dealloc_cmap and framebuffer_release in order to emulate fbdev support. Create drm_fb_helper functions that perform the above operations. This is part of an effort to prevent drm drivers from calling fbdev functions directly. It also removes repetitive code from drivers. There are some drivers that call alloc_apertures after framebuffer_alloc and some that don't. Make the helper always call alloc_apertures. This would make certain drivers allocate memory for apertures but not use them. Since it's a small amount of memory, it shouldn't be an issue. v2: - Added kerneldocs - Added a check for non-NULL fb_helper before proceeding. This will make the helpers work when we have a module param for fbdev emulation Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c201d00f4a4c004482aec7de1bffdfe2d85e65cf Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 6 14:09:35 2015 +0200 drm/omap: Fixup compile fail Maarten didn't fully test his patches on all drm drivers and apparently missed a few places when grepping. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4ca7deb1e15e0030d04051cf4285e88249ebe252 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 5 22:34:22 2015 +0800 ASoC: topology: Use kcalloc instead of kzalloc for array allocation Also remove unnecessary memset. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9176c6657b5c313cf504d157e6d91496ee5c8708 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Aug 6 10:33:01 2015 +0100 spi: img-spfi: fix kbuild test robot warning drivers/spi/spi-img-spfi.c: In function 'img_spfi_setup': drivers/spi/spi-img-spfi.c:446: warning: 'ret' may be used uninitialized in this function. Fixes: commit b03ba9e314c1 ("spi: img-spfi: fix multiple calls to request gpio") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9bb91ae970dd004393a3d7d09bdcc30dfe2f8693 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Jul 22 17:18:03 2015 +0200 ARM: rockchip: enable PMU_GPIOINT_WAKEUP_EN when entering shallow suspend PMU_GPIOINT_WAKEUP_EN seems needed when entering the shallow suspend (with logic staying on) but does not seem to be needed for the deep suspend for unknown reasons. Testing revealed that this setting really is necessary to reliably resume the veyron devices from suspend. Reported-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Tested-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit d1d3a1a1d745095261d4a927c0c06588e5bc7f6f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Jul 22 17:04:47 2015 +0200 ARM: rockchip: set correct stabilization thresholds in suspend Currently the stabilization thresholds for the oscillator and external pmu are statically set to 30ms based on a 32kHz clock rate. This leaves out the case when we don't switch to the 32kHz clock when only entering the shallow suspend mode where the logic keeps running. So, set the correct threshold after we have determined if we switch to the 32kHz clock or stay with the 24MHz one. Also set the oscillator- stabilization to 0 if it is kept running during suspend, as it of course does not need to stabilize then. Reported-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Tested-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit 41fe6a01726b79b8531fed0a94b55d89a69ea5ee Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Aug 5 00:14:55 2015 +0200 ARM: rockchip: rename osc_switch_to_32k variable The variable name is misleading, as the deep suspend mode always switches the main supplying clock to the 32kHz source. Additionally the main oscillator remains running in some cases, which this var indicates. So rename it to osc_disable to clarity. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Tested-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit 75f940615aa93cb681b36e355b3f9509d955f547 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:17 2015 +0530 clockevents/drivers/em_sti: Migrate to new 'set-state' interface Migrate em_sti driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. NOTE: This also drops a special check: if (old_mode == CLOCK_EVT_MODE_ONESHOT) em_sti_stop(p, USER_CLOCKEVENT); as it doesn't look like that important. This driver only supports ONESHOT and we can only move only to SHUTDOWN from ONESHOT and. Also on second call (on shutdown), em_sti_stop() would return without disabling the device again. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 8f9327cbb6e87ce1bed3e5dfbac70d8a96c6d1cc Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:16 2015 +0530 clockevents/drivers/cs5535: Migrate to new 'set-state' interface Migrate cs5535 driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Andres Salomon <dilinger@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit b4cf5d710fdf297692d5c0f36cddbbeaa690e323 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:15 2015 +0530 clockevents/drivers/bcm_kona: Migrate to new 'set-state' interface Migrate bcm_kona driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Oneshot callback isn't required as it was empty. Acked-by: Ray Jui <rjui@xxxxxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Ray Jui <rjui@xxxxxxxxxxxx> Cc: Scott Branden <sbranden@xxxxxxxxxxxx> Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 4996978490f7e48f29408e499c7e542ac1e2c5b8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:14 2015 +0530 clockevents/drivers/bcm2835: Migrate to new 'set-state' interface Migrate bcm2835 driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Lee Jones <lee@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit e511e6c3cd9baa3177f29aeb30c4ac7150c5f93b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:13 2015 +0530 clockevents/drivers/arm_global_timer: Migrate to new 'set-state' interface Migrate arm_global_timer driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 46c5bfdda3de91ba4324d73403af7dfb60f5ee38 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:12 2015 +0530 clockevents/drivers/arm_arch_timer: Migrate to new 'set-state' interface Migrate arm_arch_timer driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit ac1125daf02b81cabb19f35963906335e3d4a155 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Wed Aug 5 14:58:33 2015 -0700 ASoC: rl6231: Simplify DMIC divider calculation expression Existing implementation checks all divider values and tracks 'red' proximity value for the frequency. But as divider array is monotonically increasing the first divider that gives DMIC rate in 3MHz range is the best one we should use. No need for 'red' zone tracking. Additionally make sure that DMIC frequency is higher 1MHz. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Acked-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ed05637c30e6d13e5793aab64d6a6e57e30228af Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Wed Aug 5 23:47:09 2015 +0200 ARM: dts: omap3-devkit8000: Add ADS7846 Touchscreen support This patch is the touchscreen part for LCD screens sold with devkit8000 board. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit bcfff4d961fb71c6bea0424a84aaef115b7edaee Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Aug 3 21:24:46 2015 +0200 arm64: Enable Marvell Berlin SoC family in defconfig Enable Marvell Berlin SoC family in arm64 defconfig. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit dd40fd9245fdb5a69b301e358df0b231d2db1db0 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Aug 3 21:24:45 2015 +0200 arm64: Enable Marvell Berlin SoC family in Kconfig This patch introduces ARCH_BERLIN to enable Marvell Berlin SoC family in Kconfig. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d304f99c9cee11fc23ccd29e4506d646df58122f Merge: 1ff2b94 8faf355 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 6 10:12:52 2015 +0200 Merge tag 'sunxi-defconfig-for-4.3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/defconfig Allwinner defconfig changes for 4.3 Two patches that enable various Allwinner related drivers drivers both in sunxi_defconfig and in multi_v7_defconfig * tag 'sunxi-defconfig-for-4.3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: multi_v7_defconfig: Enable Allwinner P2WI, PWM, DMA_SUN6I, cryptodev ARM: sunxi_defconfig: Enable DMA_SUN6I, P2WI, PWM, cryptodev, EXTCON, FHANDLE Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit da5df6440834c64943e09c254dcfb8336ffbac15 Merge: 027b4a6 60018d0 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 6 10:12:13 2015 +0200 Merge tag 'sunxi-dt-for-4.3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Allwinner Device Tree changes for 4.3 A bunch of device tree patches that: - Enable the OTG controller on some boards - Various additions to the existing boards - New boards: A33 Ippo Q8H, Iteaduino Plus, * tag 'sunxi-dt-for-4.3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (35 commits) ARM: dts: sun7i: Change cubietruck wifi enable pin to use mmc-pwrseq ARM: dts: sun5i: hsg-h702: Enable USB OTG controller ARM: dts: sun5i: hsg-h702: Enable side volume buttons with LRADC ARM: dts: sun8i: Enable USB DRC on Ippo Q8H-A33 tablet ARM: dts: sun5i: Enable USB DRC on A13 OLinuxIno ARM: dts: sun5i: Enable USB DRC on A10s OLinuxIno Micro ARM: dts: sun4i: Enable USB DRC on A10 OLinuxIno Lime ARM: sunxi: dt: Convert users to the PIO interrupts binding ARM: dts: sun4i: Add Iteaduino Plus A10 ARM: dts: A10s-OLinuxIno: Add a node for axp152 pmic ARM: dts: axp152: Add a dtsi file for the axp152 pmic ARM: dts: sun6i: Enable otg controller on the cs908 ARM: dts: sun4i: Enable otg controller on the mini-x ARM: dts: sun4i: Enable otg controller on the ba10-tvbox ARM: dts: sunxi: Add regulator-boot-on to usb host port regulator nodes devicetree: Add msi to the vendor-prefix list ARM: sun8i: dts: Add Ippo-q8h v1.2 with A33 ARM: dts: sun8i: sina33: Enable USB hosts ARM: dts: sun8i: Enable USB host on GA10H-A33 tablets ARM: dts: sun8i: Enable USB DRC on GA10H-A33 tablets ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c00def71efd919e8ae835a25f4f4c80a4b2d36d3 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Aug 3 09:26:52 2015 +0200 ARM: ux500: simplify secondary CPU boot This removes a lot of ancient cruft from the Ux500 SMP boot. Instead of the pen grab/release, just point the ROM to secondary_boot() and start the second CPU there, then send the IPI. Use our own SMP enable method. This enables us to remove the last static mapping and get both CPUs booting properly. Tested this and it just works. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 58e00a6c92d41e302880cae71b0f94b7a4d40c5d Merge: ff20775 bf64dd2 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 6 10:11:36 2015 +0200 Merge branch 'fixes' into next/cleanup * fixes: (28 commits) ARM: ux500: add an SMP enablement type and move cpu nodes ARM: dts: keystone: fix dt bindings to use post div register for mainpll ARM: nomadik: disable UART0 on Nomadik boards ARM: dts: i.MX35: Fix can support. ARM: OMAP2+: hwmod: Fix _wait_target_ready() for hwmods without sysc ARM: dts: add CPU OPP and regulator supply property for exynos4210 ARM: dts: Update video-phy node with syscon phandle for exynos3250 ARM: keystone: dts: rename pcie nodes to help override status ARM: keystone: dts: fix dt bindings for PCIe ARM: pxa: fix dm9000 platform data regression ARM: DRA7: hwmod: fix gpmc hwmod ARM: dts: Correct audio input route & set mic bias for am335x-pepper ARM: OMAP2+: Add HAVE_ARM_SCU for AM43XX MAINTAINERS: digicolor: add dts files ARM: ux500: fix MMC/SD card regression ARM: ux500: define serial port aliases ARM: dts: OMAP5: Add #iommu-cells property to IOMMUs ARM: dts: OMAP4: Add #iommu-cells property to IOMMUs ARM: dts: Fix frequency scaling on Gumstix Pepper ARM: dts: configure regulators for Gumstix Pepper ... commit ff20775d189cf8f36684c88f6f95e00d21bc783c Merge: 39aa437 c99cd90 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 6 10:09:08 2015 +0200 Merge tag 'renesas-marzen-board-removal-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Renesas ARM Based SoC Marzen Board Removal for v4.3 * Remove legacy r8a7779 SoC code * Remove legacy marzen board code * tag 'renesas-marzen-board-removal-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7779: Remove legacy SoC code ARM: shmobile: marzen: Remove legacy board code ARM: shmobile: r8a7779: Cleanup header file ARM: shmobile: marzen-reference: Remove C board code ARM: shmobile: r8a7779: Generic SMP ops ARM: shmobile: r8a7779: Generic CCF and timer support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 98c6d5552d45d4c2308c5890ac8fa70d640e50b8 Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Wed Aug 5 23:47:08 2015 +0200 ARM: dts: omap3-devkit8000: add LCD panels Devkit8000 was sold with a 4.3" LCD or 7.0" or without. This patch creates one dts file per bundle. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b02f46b9e0dfe11cb1cff8eeb400e4085a9abbc9 Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Tue Aug 4 22:53:30 2015 +0200 ARM: dts: omap3-devkit8000: Add DSS' DVI support This commit adds the support of DVI output on the devkit8000 board. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> [tony@xxxxxxxxxxx: added missing sign as noted by Anthoine] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f1022b9ce17cd55690a94ddf8492e543b4cd7663 Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Tue Aug 4 22:53:29 2015 +0200 ARM: dts: omap3-devkit8000: Add S-video output support This commit adds the support of TV output on the devkit8000 board. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> [tony@xxxxxxxxxxx: added missing sign as noted by Anthoine] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 26fa89239201d6c5f767ebe7c2353d469ebf6222 Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Tue Aug 4 22:53:28 2015 +0200 ARM: dts: omap3-devkit8000: Add keymap support The keymap is convert in devicetree from the legacy board file. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> [tony@xxxxxxxxxxx: added missing sign as noted by Anthoine] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f67879078fdde59b5372b021eef6c74b832ca20e Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Tue Aug 4 22:53:27 2015 +0200 ARM: dts: omap3-devkit8000: Add PMU stat support This patch declares the LEDB usage to the PMU stat monitor. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> [tony@xxxxxxxxxxx: added missing sign as noted by Anthoine] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d6c8a9108037eada09fc8f91e81464172fd89050 Merge: 754d5c7 f49310d Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 6 09:32:32 2015 +0200 Merge tag 'zynqmp-dt-for-4.3' of https://github.com/Xilinx/linux-xlnx into next/arm64 arm: Xilinx ZynqMP dt patches for v4.3 - Add SATA, GPIO, CAN, SMMU, USB, SPI, I2C, watchdog and sdhci for zynqmp - Sort nodes in dtsi * tag 'zynqmp-dt-for-4.3' of https://github.com/Xilinx/linux-xlnx: ARM64: zynqmp: Move SPI nodes to the right location ARM64: zynqmp: Move uart and ttcs to the right location ARM64: zynqmp: Enable spi flashes on ep108 ARM64: zynqmp: Add eeprom memories on i2c bus ARM64: zynqmp: Enable sdhci on ep108 ARM64: zynqmp: Enable watchdog on ep108 ARM64: zynqmp: Add DWC3 usb support ARM64: zynqmp: Add SMMU support ARM64: zynqmp: Add CANs node for platform ARM64: zynqmp: Use zynqmp specific compatible string for gpio devicetree: xilinx: zynqmp: add sata node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 052633c1ec042503cc78d678238714ea554a18e7 Merge: 5d7e73b 75118fd Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Thu Aug 6 10:27:59 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-08-04' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * Deprecate -10.ucode * Clean ups towards multiple Rx queues * Add support for longer CMD IDs. This will be required by new firmwares since we are getting close to the u8 limit. * bugfixes for the D0i3 power state * Add basic support for FTM * More random that doesn't really stand out commit ab00639e778e63ccbca5ff7c99832dfff515fe13 Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Tue Aug 4 22:53:26 2015 +0200 ARM: dts: omap3-devkit8000: Add user button support This patch links the user button to the BTN_EXTRA action. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> [tony@xxxxxxxxxxx: added missing sign as noted by Anthoine] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1e9f747400f5b061bb088a41c4616342a14fb976 Author: Dave Gerlach <d-gerlach@xxxxxx> Date: Wed Aug 5 16:19:46 2015 +0530 ARM: dts: am437x-gp-evm: Add regulator-always-on and regulator-boot-on for RTC DCDCs DCDC5 and DCDC6 supply rtc and need to be on for accessing the module. On A1 revision of the TPS65218, FSEAL bit would be undefined without coin-cell present which in many cases led to it being set, causing DCDC5 and DCDC6 to stay active, but also leading to unexplained failures when it was not. On B1 revision, FSEAL is always 0 when no coin-cell is present so this patch is required on boards with B1 revision to ever work. This implementation works on boards with either A1 or B1 revision and makes sure that DCDC5 and DCDC6 always stay active. Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5d9ef0cf28fe9edadbc74556dca16725180c2765 Author: Keerthy <j-keerthy@xxxxxx> Date: Wed Aug 5 16:19:45 2015 +0530 ARM: dts: AM4372: Reorder the rtc compatible string Compared to da830-rtc compatibility am3352-rtc is more compatible to the one in am437x. Hence adding the am3352-rtc compatible to cover the entire feature set. The ti,am4372-rtc has no Documentation and not used even in the driver hence removing it. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5d7e73ba2fd54b17aa8a9f0bcc228a4200d094ad Author: Guy Mishol <guym@xxxxxx> Date: Mon Jul 27 17:25:49 2015 +0300 wlcore: add antenna diversity reading comments add comments to the antenna diversity reading Signed-off-by: Guy Mishol <guym@xxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6c6317321107bee5aad2d85d848b0597428343d8 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Mon Jul 27 05:02:27 2015 -0700 mwifiex: add missing skb_push() in mwifiex_check_uap_capabilties For PCIe/USB chipsets, preallocated skb buffers are reused for event handling. mwifiex_check_uap_capabilties() performs skb_pull(). This patch adds missing skb_push() to restore skb's data pointer/length. This bug was introduced by commit debfc6008169 ("mwifiex: update AP WMM settings from BSS_START event") Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d1c5409612ad25d8a35a49a89ad302fc797eeb8e Author: Guy Mishol <guym@xxxxxx> Date: Mon Jul 27 09:46:02 2015 +0300 wl18xx: add dynamic fw traces add option to dynamically configure the fw which debug traces to open Signed-off-by: Guy Mishol <guym@xxxxxx> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2728cecdc7d6bf3d216fc406718d88c35f4d09eb Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Wed Jul 22 04:53:45 2015 -0700 mwifiex: corrections in PCIe event skb handling Preallocated event SKBs are getting reused for PCIe chipset. Their physical addresses are shared with firmware so that firmware can write data into them. This patch makes sure that SKB is cleared and length is set to default while submitting it to firmware. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d788ac29793ae591801103b714c20ca3ae311c21 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Wed Jul 22 04:53:44 2015 -0700 mwifiex: fix system crash observed during initialisation System crash was observed if one of the driver initialisation commands is timed out. The reason is our timeout handler triggers firmware dump, meanwhile driver initialisation error paths have already freed the adapter structure. Firmware hasn't yet completely initialized. So collecting firmware dump is not needed in this case. Command timeout handler is modified in this patch to fix the crash issue. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 398750992ebe8a3f26d9c1c978911b55c2b2ff8b Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Wed Jul 22 04:53:43 2015 -0700 mwifiex: fix command timeout for PCIe chipsets When WLAN interface is up and running, driver unload and load was causing command timeout error. We enable Rx data by updating RX ring read pointer in init_fw_port(). It should be done when FW is completely intialialised. Command timeout is fixed in this patch by moving init_fw_port() call to mwifiex_init_fw_complete(). Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 3afafd6dcc0cb894a2a6cc1a42bb6f84a0519f16 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Wed Jul 22 04:53:42 2015 -0700 mwifiex: using right aid value for tdls action frame Variable pos is u8 here, so memcpy is needed to store u16 aid. At the same time, aid should be platform independent, upper layer utility(wpa_supplicant,etc.,) parse it as le16, so keep it le16 here. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d70d848a75fd65b28835a843bcc4faec2f5803ea Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Wed Jul 22 13:06:14 2015 +0200 ath9k: remove the sched field in struct ath_atx_tid Use list_empty(&tid->list) instead Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 592fa228f213932dc5ec433aade654d7352b3e08 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Wed Jul 22 13:06:13 2015 +0200 ath9k: remove struct ath_atx_ac struct ath_atx_ac contains a list of active TIDs belonging to one WMM AC. This patch changes the code to track active station TIDs in the txq directly. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f419c5f1d8d28391a025618dee7e1a4fdc7a5654 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Wed Jul 22 13:06:12 2015 +0200 ath9k: add fast-xmit support Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1738203ee7291b5e93670d19a663fae03155aebc Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Tue Jul 21 11:11:43 2015 +0200 ath9k: setup rxfilter when offchannel Setup rxfiler correctly for offchannel ctx. This fix problem we didn't configure rxfilter, next didn't receive probe requests and next failed p2p_find. This was seen when ath9k loaded with use_chanctx=1 Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f3771c08282afa1354c2e5a2fdade587f30db4fd Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Tue Jul 21 11:11:42 2015 +0200 ath9k: setup rxfilter for all chanctx While mac80211 setup this per HW, set same rxfilter configuration for all chanctx. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d83520b7cd6e8c5399b1bd0d2f6f9ce733b10454 Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Tue Jul 21 11:11:41 2015 +0200 ath9k: handle RoC cancel correctly In case we will get ROC cancel from mac80211 we should not call ieee80211_remain_on_channel_expired(). In other case I hit such warning on MIPS and p2p negotiation failed (tested with use_chanctx=1). ath: phy0: Starting RoC period ath: phy0: Channel definition created: 2412 MHz ath: phy0: Assigned next_chan to 2412 MHz ath: phy0: Offchannel duration for chan 2412 MHz : 506632 ath: phy0: ath_chanctx_set_next: current: 2412 MHz, next: 2412 MHz ath: phy0: Stopping current chanctx: 2412 ath: phy0: Flush timeout: 200 ath: phy0: ath_chanctx_set_next: Set channel 2412 MHz ath: phy0: Set channel: 2412 MHz width: 0 ath: phy0: Reset to 2412 MHz, HT40: 0 fastcc: 0 ath: phy0: cur_chan: 2412 MHz, event: ATH_CHANCTX_EVENT_TSF_TIMER, state: ATH_CHANCTX_STATE_IDLE ath: phy0: ath_offchannel_channel_change: offchannel state: ATH_OFFCHANNEL_ROC_START ath: phy0: cur_chan: 2412 MHz, event: ATH_CHANCTX_EVENT_SWITCH, state: ATH_CHANCTX_STATE_IDLE ath: phy0: Cancel RoC ath: phy0: RoC aborted ath: phy0: RoC request on vif: 00:03:7f:4e:a0:cd, type: 1 duration: 500 ath: phy0: Starting RoC period ath: phy0: Channel definition created: 2412 MHz ath: phy0: Assigned next_chan to 2412 MHz ath: phy0: Offchannel duration for chan 2412 MHz : 506705 ath: phy0: ath_chanctx_set_next: current: 2412 MHz, next: 2412 MHz ath: phy0: ath_offchannel_channel_change: offchannel state: ATH_OFFCHANNEL_ROC_START ath: phy0: cur_chan: 2412 MHz, event: ATH_CHANCTX_EVENT_SWITCH, state: ATH_CHANCTX_STATE_IDLE ------------[ cut here ]------------ WARNING: CPU: 0 PID: 3312 at drivers/net/wireless/ath/ath9k/main.c:2319 Modules linked in: ath9k ath9k_common ath9k_hw ath mac80211 cfg80211 Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit eb61f9f623f78f463ec08b1c4a1defea9b511312 Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Tue Jul 21 11:11:40 2015 +0200 ath9k: advertise p2p dev support when chanctx Advertise p2p device support when ath9k loaded with use_chanctx=1. This will fix problem, when first interface is an AP and next we would like to run p2p_find. Before p2p find (scan phase) failed with EOPNOTSUPP. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c5bc15fce6aa33b7aeba4e049ceacfab66fa4a9f Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Fri Jul 17 09:13:06 2015 +0200 mwifiex: simplify mwifiex_complete_cmd 600f5d909a54("mwifiex: cleanup ioctl wait queue and abstraction layer") introduced the wakeup_interruptible suppression in mwifiex_complete_cmd b1a47aa5e1e1("mwifiex: fix system hang issue in cmd timeout error case") then added wakup_interruptible to mwifiex_cmd_timeout_func the single place setting a status of ETIMEDOUT. Instead of doing extra work, using the standard call-chain will have the same effect: mwifiex_cancel_pending_ioctl -> mwifiex_recycle_cmd_node -> mwifiex_insert_cmd_to_free_q -> mwifiex_complete_cmd -> wake_up_interruptible The difference is that previously the condition was not set to true, but that's probably just an oversight in b1a47aa5e1e1 and shouldn't have any consequence Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e9f21d403699a4d299a02df107326f11acecd13e Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Fri Jul 17 09:13:05 2015 +0200 mwifiex: remove CMD_F_CANCELED flag CMD_F_CANCELED was used to abort mwifiex_process_cmdresp in case it already started or starts processing the cmd. But this was probably not working the way intended: - it is racy: mwifiex_process_cmdresp might already have passed that test and is continuing to use the cmd node being recycled - mwifiex_process_cmdresp repeatedly uses adapter->curr_cmd which we just set to NULL - mwifiex_recycle_cmd_node will clear the flag The reason why it probably works is that mwifiex_cancel_pending_ioctl is only called from mwifiex_cmd_timeout_func, where the there is little chance of a command response still arriving Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit aeb03000837eec7df4f57034106542efd60be02b Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Fri Jul 17 09:13:04 2015 +0200 mwifiex: remove redundant reset of cmd_wait_q status mwifiex_cancel_pending_ioctl is called only from mwifiex_cmd_timeout_func. There the wait_q status is set to -ETIMEDWAIT before calling this function. Whether we reset the status to -1 or leave it at -ETIMEDWAIT at end doesn't matter since both are != 0 hence mean failure Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e3a3ef25b8cb6d7a20b52dfdadd56516041ffb51 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Fri Jul 17 09:13:03 2015 +0200 mwifiex: remove explicit mwifiex_complete_cmd calls standard call chain when releasing a cmd node: mwifiex_recycle_cmd_node -> mwifiex_insert_cmd_to_free_q -> mwifiex_complete_cmd, if wait_q_enabled calling mwifiex_complete_cmd explicitly and setting wait_q_enabled = false is redundant Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b4336a282db86b298b70563f8ed51782b36b772c Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Thu Jul 16 18:50:01 2015 +0200 mwifiex: sdio: reset adapter using mmc_hw_reset Since 1fb654fd97ff("mmc: sdio: add reset callback to bus operations"), sdio cards can be power cycled using mmc_hw_reset. The use mmc_remove_host/mmc_add_host is discouraged, because these are internal functions to the mmc core and should only be used by mmc hosts Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b6b6c18fcd9af2a71d7b2cfca0388a928308f963 Merge: 75f8085 f151f53 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Aug 6 08:51:18 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: New features: - Deref sys_enter pointer args with contents from probe:vfs_getname, showing pathnames instead of pointers in many syscalls in 'perf trace'. (Arnaldo Carvalho de Melo) - Make 'perf trace' write to stderr by default, just like 'strace'. (Milian Woff) Infrastructure changes: - color_vfprintf() fixes. (Andi Kleen, Jiri Olsa) - Allow enabling/disabling PERF_SAMPLE_TIME per event. (Kan Liang) - Fix build errors with mipsel-linux-uclibc compiler. (Petri Gynther) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 19c871ce3ac5f99d4354b0345c7560f6d0f760bd Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:07 2015 +0300 wil6210: support future boot loaders Boot loader versions as backward compatible, starting from v1 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 409ead544d747a5e80fdd3626a7fd75d6990a2fb Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:06 2015 +0300 wil6210: report boot loader error Boot loader reports error starting from the struct v2. Print error info before reset (power up state) in debug mode, and print same info as error if target reset timed out. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 93cb679a768bb526a60a9c4ce30beb45465334be Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:05 2015 +0300 wil6210: system power management Support for the system suspend/resume. In preparation for the run-time PM, implementation made run-time PM friendly: common for system and run-time PM code factored out as generic functions, albeit is_runtime parameter value is always false currently. For debug purposes, "PM" debug category introduced. Policy: AP-like interface can't be suspended; otherwise suspend is allowed. Hardware brought down if interface was up. Connection, if existed, get lost. Interface will be brought up upon resume if it was up before suspend. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0553640d28baf77cf0fb91c8a834059f0b9be972 Author: Vladimir Shulman <QCA_shulmanv@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:04 2015 +0300 wil6210: allow to handle Rx on 2 cores Allow network stack part of Rx processing to run on separate core, relaxing CPU utilization on the core used for Rx NAPI. If RXHASH feature is enabled, the driver sets rxhash of each skb to 1 to enable RPS. The core for processing the rx skb is determined by RPS mechanism according to rx_cpus bit mask which is configured at user level. For processing skbs on different core from the core which processes the interrupts, it is recommended not to enable core 0 in rx_cpus bit mask. Signed-off-by: Vladimir Shulman <QCA_shulmanv@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b9eeb512496f1b1b5a6e0748c947277d95003af5 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:03 2015 +0300 wil6210: use inline functions for register access Replace macros like "R", "W", "S", "C", defined multiple times, with inline functions "wil_[rwsc]". Use "readl" and "writel" instead of "ioread32" and "iowrite32" since it is granted that memory transactions are used, not port ones like IN/OUT Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bd2d18b50631c027af7674c3f328913c3b87d422 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:02 2015 +0300 wil6210: remove 3-MSI support In the recent kernel versions, multiple MSI is not well supported. In particular, it is not supported on x86 and ARM architectures. Also, internal interrupt handling logic is simpler and more effective when using single interrupt. Remove support for 3 MSI, convert module parameter "use_msi" from int with range [0,1,3] to boolean. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 91a8edcc3173958fd8102343a8a7919a7b703ef0 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:01 2015 +0300 wil6210: detailed statistics for Rx reorder drop Rx drops may be for 2 reasons: frame is old, or it is duplicate. On the debugfs "stations" entry, provide counters per reorder buffer for total frames processed, drops for these 2 reasons. Also add debug print for dropped frames. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5421bf0c1e37642f42758fe1c73e43b27901dd61 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:00 2015 +0300 wil6210: unify wmi_set_ie() error handling When printing error message, provide string describing IE kind. Derive it from IE type This allows removing of error messages printing in callers Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cab5abbf9d0ef8b36d5f5181f0087ed3836385d0 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:59 2015 +0300 wil6210: sort IEs handling sort overall IE's handling prepare code (disabled for now) to add IEs for the beacon Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a3ce5ccd50ee24313fa3e55d2cafc6da7dfcbe18 Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:58 2015 +0300 wil6210: treat "unhandled event" as warning instead of error FW is allowed to generate WMI events that are not handled by this driver. Treat such case as warning instead of error. Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 90d89e9aaa9923cd44bd5bf8a26abb7834581ba6 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:57 2015 +0300 wil6210: improve mgmt frame handling Check event length; hex dump both Rx and Tx frames Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3d4bde15315605d2490eafe9f763897e69f9125e Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:56 2015 +0300 wil6210: TSO implementation Driver report supported TSO (v4 & v6) and IP checksum offload in addition to previously supported features. In data path skbs are checked for non-zero gso_size, and when detected sent to additional function for processing TSO SKBs. Since HW does not fully support TSO, additional effort is required from the driver. Driver partitions the data into mss sized descriptors which are then DMAed to the HW. Signed-off-by: Vladimir Shulman <QCA_shulmanv@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 67131a1dba5f45cee78e9de09605cbdda1a1ce6c Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:55 2015 +0300 wil6210: skip HW version check for chip debugging When loading with debug_fw flag, do not bail out on unknown chipId Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8ad6600fbdd699f0d7a3ec250d20256a7ec98889 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:54 2015 +0300 wil6210: use wil_fw_error_recovery() Use function wil_fw_error_recovery() instead of inline equivalent code Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3e9191fce2d6b36a429dc046cdc1f7e8ec70465c Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:53 2015 +0300 wil6210: wait for del_station to complete Multiple del_station requests may be sent to the driver by the supplicant when turning down AP. This may overflow mailbox between the FW and ucode Wait till disconnect of one STA completed before sending next command. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8a9d1dc5741da8575e3393de392cc1704ecd4fe7 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:52 2015 +0300 wil6210: use <> vs. "" for global include linux/device.h should be included using <>, not "" since it is not local include Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8ea06188fd8cb4c6bb85663b6dedcab22f7ffba7 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:51 2015 +0300 wil6210: print "ulong" fields in hex format in the debugfs In the debugfs, there is "ulong" attribute printing. It is used for bitmap printing, and more appropriate format would be hexadecimal, not decimal. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6093e66b6b456f4526e190b00d362520b787889b Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:50 2015 +0300 wil6210: count drops in Rx block ack reorder When performing Rx reordering, count skb's dropped per reorder buffer; and print dropped packets count on the "stations" debugfs entry Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f1ad8c9346de80c91d7f35d4a1b0d1f2b93b3661 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:49 2015 +0300 wil6210: support boot loader struct v0 & v1 There are 2 versions of boot loader struct: v0 and v1. In the v1, boot loader build version added; as well as RF status. Support both versions. Boot loader structure v1 has RF status; ignore RF error if firmware not going to be loaded; driver can still be used to interact with the HW Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 197165d44925bd0fa892990851dee4d312a44b39 Author: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 14:24:44 2015 +0530 powerpc/ftrace: add powerpc timebase as a trace clock source Add a new powerpc-specific trace clock using the timebase register, similar to x86-tsc. This gives us - a fast, monotonic, hardware clock source for trace entries, and - a clock that can be used to correlate events across cpus as well as across hypervisor and guests. Signed-off-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 35a7f41cc6bb7013e344502b03c5583d04228bd3 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 20:18:50 2015 +0800 powerpc/4xx: Fix return value check in hsta_msi_probe() In case of error, the functions platform_get_resource() and kmalloc() returns NULL not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 12a8343e99a8af50b2a1cd8da72d34b6e860da0f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 5 17:23:54 2015 +0800 f2fs: recover invalid/reserved block address for fsynced file When testing with generic/101 in xfstests, error message outputed as below: --- tests/generic/101.out +++ results//generic/101.out.bad @@ -10,10 +10,14 @@ File foo content after log replay: 0000000 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa * -0200000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0200000 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb * 0372000 ... (Run 'diff -u tests/generic/101.out results/generic/101.out.bad' to see the entire diff) The test flow is like below: 1. pwrite foo -S 0xaa 0 64K 2. pwrite foo -S 0xbb 64K 61K 3. sync 4. truncate foo 64K 5. truncate foo 125K 6. fsync foo 7. flakey drop writes 8. umount After this test, we expect the data of recovered file will have the first 64k of data filling with value 0xaa and the next 61k of data filling with value 0x00 because we have fsynced it before dropping writes in dm. In f2fs, during recovering, we will only recover the valid block address in direct node page if it is marked as a fsynced dnode, but block address which means invalid/reserved (with value NULL_ADDR/NEW_ADDR) will not be recovered. So, the file recovered shows its incorrect data 0xbb in range of [61k, 125k]. In this patch, we fix to recover invalid/reserved block during recover flow. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 759af1c9c16fec5323111b799ce25a3d8864df7e Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Wed Aug 5 15:52:16 2015 +0800 f2fs: use extent cache to optimize f2fs_reserve_block In some cases, we only need the block address when we call f2fs_reserve_block, other fields of struct dnode_of_data aren't necessary. We can try extent cache first for such cases in order to speed up the process. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a368c29cf105485d2c34fb5d09d2dbe813e483e1 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Jul 31 14:14:20 2015 +0200 windfarm: remove three exported but unused functions wf_find_control(), wf_find_sensor(), and wf_is_overtemp() are exported but unused. Remove these three functions. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ca94bbab1a0336f34066f27c503767b8181db5b1 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Jul 31 14:12:20 2015 +0200 windfarm: make wf_critical_overtemp() static wf_critical_overtemp() is exported. But nothing uses that export. That's unsurprising because there's no header that defines it. Stop exporting that function and make it static. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fe2b592173ff0274e70dc44d1d28c19bb995aa7c Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Jul 31 14:08:58 2015 +0200 windfarm: decrement client count when unregistering wf_unregister_client() increments the client count when a client unregisters. That is obviously incorrect. Decrement that client count instead. Fixes: 75722d3992f5 ("[PATCH] ppc64: Thermal control for SMU based machines") Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a825ac078b50266fb09168547752dd73c2fd4b4a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Jun 29 14:30:39 2015 -0700 powerpc: Remove redundant breaks break; break; isn't useful. Remove one. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ae2a84b4074cff81957bae01bc1e0d50712f3dd3 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Jun 12 10:26:37 2015 +0800 powerpc: pci: use %pR for printing struct resource Use %pR to simplify the debug code. This also make the debug info more readable. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> [mpe: Unsplit multi-line printk strings] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 368857c16c595eb7537cc0846708ddaa57a3a25b Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Wed Jul 29 14:07:22 2015 +1000 cxl: Don't ignore add_process_element() result when attaching context Currently when attaching a context in dedicated mode, we ignore the result of add_process_element(), which could potentially fail. If add_process_element() returns an error, pass it back to the caller. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 62521ea6db1045a746d4625f40ef6be8b74f126d Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 16:48:56 2015 +0530 powerpc/powernv: Invoke opal_cec_reboot2() on unrecoverable HMI. Invoke new opal_cec_reboot2() call with reboot type OPAL_REBOOT_PLATFORM_ERROR (for unrecoverable HMI interrupts) to inform BMC/OCC about this error, so that BMC can collect relevant data for error analysis and decide what component to de-configure before rebooting. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e784b6499d9cba83b7f3f032b7ee01f7ca96ad91 Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 21:24:38 2015 +0530 powerpc/powernv: Invoke opal_cec_reboot2() on unrecoverable machine check errors. On non-recoverable MCE errors in kernel space, Linux kernel panics and system reboots. On BMC based system opal-prd runs as a daemon in the host. Hence, kernel crash may prevent opal-prd to detect and analyze this MCE error. This may land us in a situation where the faulty memory never gets de-configured and Linux would keep hitting same MCE error again and again. If this happens in early stage of kernel initialization, then Linux will keep crashing and rebooting in a loop. This patch fixes this issue by invoking new opal_cec_reboot2() call with reboot type OPAL_REBOOT_PLATFORM_ERROR to inform BMC/OCC about this error, so that BMC can collect relevant data for error analysis and decide what component to de-configure before rebooting. This patch is dependent on OPAL patchset posted on skiboot mailing list at https://lists.ozlabs.org/pipermail/skiboot/2015-July/001771.html that introduces opal_cec_reboot2() opal call. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1852ae276ba6d5d481c3fb193054ebb67068be5c Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Tue May 5 13:35:43 2015 +0530 powerpc/powernv: Pull all HMI events before panic. In the event of unrecovered HMI the existing code panics as soon as it receives the first unrecovered HMI event. This makes host to report partial information about HMIs before panic. There may be more errors which would have caused the HMI and hence more HMI event would have been generated waiting to be pulled by host. This patch implements a logic to pull and display all the HMI event before going down panic path. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c33e11d0dd2ebd2cd528aa8e9ef46afdd4d766b0 Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Tue May 5 13:34:58 2015 +0530 powerpc/powernv: display reason for Malfunction Alert HMI. The V2 version of HMI event now carries additional information for Malfunction Alert. It now contains error information about CORE and NX checkstop. This patch checks and displays the check stop reason before panic. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3d8cc00073d6750ffe883685e49b2e4a0f596370 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sat Aug 1 07:06:58 2015 +0000 dmaengine: ipu: Consolidate duplicated irq handlers The functions irq_irq_err and ipu_irq_fn are identical plus/minus the comments. Remove one. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 425e20fd08a53ad06c562960d594505813c7910c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sat Aug 1 07:06:58 2015 +0000 dmaengine: ipu: Prepare irq handlers for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 67a6eedc4d2cc609620d27e33f72b8f90e61e0a7 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 12:19:24 2015 +0200 dmaengine: xdmac: Add scatter gathered memset support The XDMAC also supports memset operations over discontiguous areas. Add the necessary logic to support this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 50c7cd2bd3786258606c6c7c8356064c08ab2383 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 12:19:23 2015 +0200 dmaengine: Add scatter-gathered memset The current API allows the driver to accelerate memset by using the DMA controller. However, it does so over a contiguous memory area, which might proves inefficient when you have to do it over a non-contiguous yet repititive pattern, since you have to create a number of descriptors and then submit each other. Add a memset operation going over a scatter list to handle such cases in a single call. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e91a398c31cef2d51786642e372c503cd43fba90 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Aug 1 02:39:43 2015 +0200 ACPI / bus: Move duplicate code to a separate new function After merging commit 712e960f0ee9 (ACPI / PM: Attach ACPI power domain only once) with commit 1dcc3d3362b0 (ACPI / bus: Move ACPI bus type registration) there is some duplicate code in acpi_device_is_first_physical_node() and acpi_companion_match() that can be moved to a separate routine and called from both places. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> commit 7fc80964e80bcf93cff0f7ba2aa8095d48f940d6 Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Wed Aug 5 00:09:35 2015 +0200 wilc1000: wilc_wfi_cfgoperations.c: Fixed initialization of global boolean. Globals are initialized to zero or NULL by GCC. No need to explicitly initialize them. Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4816693286d4ff9219b1cc72c2ab9c589448ebcb Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Jul 30 12:54:40 2015 -0400 toshiba laptop: replace ioremap_cache with ioremap With ioremap_cache being replaced with memremap there is no longer a guarantee that a mapping will silently fall back to an uncached mapping. Explicitly use a vanilla ioremap() for this short lived mapping. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Jonathan Buzzard <jonathan@xxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71db87ba570038497db1227b7dc61113c4156565 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 30 15:04:01 2015 +0530 bus: subsys: update return type of ->remove_dev() to void Its return value is not used by the subsys core and nothing meaningful can be done with it, even if we want to use it. The subsys device is anyway getting removed. Update prototype of ->remove_dev() to make its return type as void. Fix all usage sites as well. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52cdbdd49853dfa856082edb0f4c4c0249d9df07 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Jul 27 20:43:01 2015 +0300 driver core: correct device's shutdown order Now device's shutdown sequence is performed in reverse order of their registration in devices_kset list and this sequence corresponds to the reverse device's creation order. So, devices_kset data tracks "parent<-child" device's dependencies only. Unfortunately, that's not enough and causes problems in case of implementing board's specific shutdown procedures. For example [1]: "DRA7XX_evm uses PCF8575 and one of the PCF output lines feeds to MMC/SD and this line should be driven high in order for the MMC/SD to be detected. This line is modelled as regulator and the hsmmc driver takes care of enabling and disabling it. In the case of 'reboot', during shutdown path as part of it's cleanup process the hsmmc driver disables this regulator. This makes MMC boot not functional." To handle this issue the .shutdown() callback could be implemented for PCF8575 device where corresponding GPIO pins will be configured to states, required for correct warm/cold reset. This can be achieved only when all .shutdown() callbacks have been called already for all PCF8575's consumers. But devices_kset is not filled correctly now: devices_kset: Device61 4e000000.dmm devices_kset: Device62 48070000.i2c devices_kset: Device63 48072000.i2c devices_kset: Device64 48060000.i2c devices_kset: Device65 4809c000.mmc ... devices_kset: Device102 fixedregulator-sd ... devices_kset: Device181 0-0020 // PCF8575 devices_kset: Device182 gpiochip496 devices_kset: Device183 0-0021 // PCF8575 devices_kset: Device184 gpiochip480 As can be seen from above .shutdown() callback for PCF8575 will be called before its consumers, which, in turn means, that any changes of PCF8575 GPIO's pins will be or unsafe or overwritten later by GPIO's consumers. The problem can be solved if devices_kset list will be filled not only according device creation order, but also according device's probing order to track "supplier<-consumer" dependencies also. Hence, as a fix, lets add devices_kset_move_last(), devices_kset_move_before(), devices_kset_move_after() and call them from device_move() and also add call of devices_kset_move_last() in really_probe(). After this change all entries in devices_kset will be sorted according to device's creation ("parent<-child") and probing ("supplier<-consumer") order. devices_kset after: devices_kset: Device121 48070000.i2c devices_kset: Device122 i2c-0 ... devices_kset: Device147 regulator.24 devices_kset: Device148 0-0020 devices_kset: Device149 gpiochip496 devices_kset: Device150 0-0021 devices_kset: Device151 gpiochip480 devices_kset: Device152 0-0019 ... devices_kset: Device372 fixedregulator-sd devices_kset: Device373 regulator.29 devices_kset: Device374 4809c000.mmc devices_kset: Device375 mmc0 [1] http://www.spinics.net/lists/linux-mmc/msg29825.html Cc: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82b2c3c5b838b4fac9471eab320670aff5a822e0 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Jun 29 16:59:02 2015 +0200 driver core: fix docbook for device_private.device This field refers to the public device struct, not to classes. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d0fbb3467b5a82e33ab57f27b870c1b8275f45d Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Fri Jul 24 15:10:22 2015 -0700 selftests: firmware: skip timeout checks for kernels without user mode helper The CONFIG_FW_LOADER_USER_HELPER is mostly disabled these days, so skip timeout setting for these kernels. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2d7d4e4a60f1aeefb38d7a0bede3742ddb76a68 Author: Raanan Avargil <raanan.avargil@xxxxxxxxx> Date: Sun Jul 19 16:33:21 2015 +0300 e1000e: Increase driver version number Signed-off-by: Raanan Avargil <raanan.avargil@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 37b12910dd11d9ab969f2c310dc9160b7f3e3405 Author: Raanan Avargil <raanan.avargil@xxxxxxxxx> Date: Sun Jul 19 16:33:20 2015 +0300 e1000e: Fix tight loop implementation of systime read algorithm Change the algorithm. Read systimel twice and check for overflow. If there was no overflow, use the first value. If there was an overflow, read systimeh again and use the second systimel value. Signed-off-by: Raanan Avargil <raanan.avargil@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2758f9edb7bd5a06a2ecee83cc2ebaf8822a0cb5 Author: Raanan Avargil <raanan.avargil@xxxxxxxxx> Date: Mon Jul 6 17:57:36 2015 +0300 e1000e: Fix incorrect ASPM locking This patch fixes wrong locking usage. In the context of slot reset, we should use lock. And during resume, there is no need of lock. Reported-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Raanan Avargil <raanan.avargil@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d582891594104adeea89307ddd31b31bcf2d95fa Author: Raanan Avargil <raanan.avargil@xxxxxxxxx> Date: Mon Jul 6 16:58:54 2015 +0300 e1000e: Cosmetic changes 1) Replace spaces with tab. 2) Move ich8lan related define to the proper context. Signed-off-by: Raanan Avargil <raanan.avargil@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f5ac7445ebdbfa8cd2d90ef2a58b8f4455bcb664 Author: Raanan Avargil <raanan.avargil@xxxxxxxxx> Date: Mon Jul 6 16:48:00 2015 +0300 e1000e: Fix EEE in Sx implementation This patch implements the EEE in Sx code so that it only applies to parts that support EEE in Sx (as opposed to all parts that support EEE). It also uses the existing eee_advert and eee_lp_abiliity to set just the bits (100/1000) that should be set. Signed-off-by: Raanan Avargil <raanan.avargil@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7073f46e443ecb5a48221160aa39773ccb520b0f Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Jun 5 12:20:34 2015 -0400 i40e: Add AQ commands for NVM Update for X722 X722 does NVM update via the adminq queue, so we need to add support for that. Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 52eb95ef3286f10c4584c3dcb25d4be7d8e1faeb Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:33 2015 -0400 i40e/i40evf: Add ATR HW eviction support for X722 X722 supports evicting ATR filters in the HW. With this patch, we enable the feature in the driver and avoid filter deletion by the driver. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0d8e14392f7697e5ee241d49fce3355f22406d3e Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:32 2015 -0400 i40e: Add IWARP support for X722 X722 supports IWARP, this patch handles checking for PE critical errors. Since the driver doesn't support the IWARP interface for now, this patch just does bare minimum to log a message oif a PE critical error happens. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 527274c78ea7e0cad8b44ea25509c42aa605634e Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:31 2015 -0400 i40e/i40evf: Add TX/RX outer UDP checksum support for X722 X722 supports offloading of outer UDP TX and RX checksum for tunneled packets. This patch exposes the support and leaves it enabled by default. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8e0764b4d6be42459b6f517e199b8c7df43cc15c Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:30 2015 -0400 i40e/i40evf: Add support for writeback on ITR feature for X722 X722 fixes an issue from X710 where TX descriptor WB would not happen if the interrupts were disabled. In order for the write backs to happen a bit needs to be set in the dynamic interrupt control register called WB_ON_ITR. With this feature, the SW driver need not arm SW interrupts to work around the issue in X710. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e25d00b87b26f96f91434e6608dc4b05f5ef5498 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Jun 23 19:00:04 2015 -0400 i40e/i40evf: RSS changes for X722 X722 uses the admin queue to configure RSS. This patch adds the necessary flow changes to configure RSS through AQ. It also adds the separate VMDQ2 lookup tables and hash key programming for X722. X722 also exposes a different set of PCTYPES for RSS, this patch accommodates those changes. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit da48c9a2aa3a93b4f19e3a37b8fa1cd7fe7005bb Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:28 2015 -0400 i40e/i40evf: Update register.h file for X722 Update the i40e and i40evf register.h file with the registers for X722. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e50c8d6d3d3f5807aaaeaaec42774cd02fd5076f Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:27 2015 -0400 i40e/i40evf: Update FW API with X722 support This patch does the firmware API update to support the new X722 device. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d502ce01d21bf4092f282cae5817e7d140e21816 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:26 2015 -0400 i40e/i40evf: Add flags for X722 capabilities Add capabilities flags specific to X722. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 87e6c1d78706b97018de3169d0edd661f640a425 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:25 2015 -0400 i40e/i40evf: Add device ids for X722 Adding device ids for new hardware X722 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ecc87eed7beeb50c0be0b73322d62135277ea2b0 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Aug 5 16:51:11 2015 +0300 device property: fix potential NULL pointer dereference In device_add_property_set() we check pset parameter for a NULL, but few lines later we do a pointer arithmetic without check that will crash kernel in the set_secondary_fwnode(). Here we check if pset parameter is NULL and return immediately. Fixes: 16ba08d5c9ec (device property: Introduce firmware node type for platform data) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 71cf5aeeb8e2154efda5f40be50c925f15057755 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Jul 19 20:06:22 2015 +0200 kernel, cpu: Remove bogus __ref annotations cpu_chain lost its __cpuinitdata annotation long ago in commit 5c113fbeed7a ("fix cpu_chain section mismatch..."). This and the global __cpuinit annotation drop in v3.11 vanished the need to mark all users, including transitive ones, with the __ref annotation. Just get rid of it to not wrongly hide section mismatches. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eda5867b6992e3de888b516c0ff0fa1f1ee881af Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Jul 19 20:06:21 2015 +0200 cpu: Remove bogus __ref annotation of cpu_subsys_online() In commit 0db0628d9012 ("kernel: delete __cpuinit usage from all core kernel files") cpu_up() lost its __cpuinit annotation, vanishing the need for cpu_subsys_online() to have a __ref annotation. Just drop it to be able to catch real section mismatches in the future. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a885de67157e8e65b92af2e0a77f6eadd112d0b7 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Wed Jul 29 23:26:28 2015 +0300 firmware: fix wrong memory deallocation in fw_add_devm_name() Device resource data allocated with devres_alloc() must be deallocated by devres_free(). Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Acked-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a782a7e46bb50822fabfeb7271605762a59c86df Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:27 2015 +0000 x86/irq: Store irq descriptor in vector array We can spare the irq_desc lookup in the interrupt entry code if we store the descriptor pointer in the vector array instead the interrupt number. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.717724106@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f61ae4fb66a4f7ae49e3456003fc4328d6db09c9 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:26 2015 +0000 genirq: Provide irq_desc_has_action If we have a reference to irq_desc already, there is no point to do another lookup. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.638130301@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 44825757a3ee37c030165a94d6b4dd79c564f661 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:25 2015 +0000 x86/irq: Get rid of an indentation level Make the code simpler to read. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.555253675@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7276c6a2cb5f7ae46fd0c9539af02dbcb7c4f3f5 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:25 2015 +0000 x86/irq: Rename VECTOR_UNDEFINED to VECTOR_UNUSED VECTOR_UNDEFINED is a misnomer. The vector is defined, but unused. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.477282494@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 24c70e07a0311a98dbb5e7a7472fa96a22b789d3 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:24 2015 +0000 x86/irq: Replace numeric constant Use the proper define instead of 0. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.385495420@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit df54c4934e030e73cb6a7bd6713f697350dabd0b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:23 2015 +0000 x86/irq: Protect smp_cleanup_move smp_cleanup_move fiddles without protection in the interrupt descriptors and the vector array. A concurrent irq setup/teardown or affinity setting can pull the rug under that operation. Add proper locking. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.222975294@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ad3f8d5afe503faa78d61a50a1f6eec3afa7c787 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Aug 4 14:02:56 2015 +0930 x86/lguest: Do not setup unused irq vectors No point in assigning the interrupt vectors if there is no interrupt chip installed. Move it to lguest_setup_irq() and call it from lguest_enable_irq. [ rusty: Typo fix and error handling ] Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438662776-4823-2-git-send-email-rusty@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 27a6f41c1a20a3339f456647a21e45fca5b82b62 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Aug 4 14:02:55 2015 +0930 x86/lguest: Clean up lguest_setup_irq We make it static and hoist it higher in the file for the next patch. We also give a nice panic if it fails during boot. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438662776-4823-1-git-send-email-rusty@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 223e8f01b072152cc4336e7dcb1cf8c21ab34432 Author: Seymour, Shane M <shane.seymour@xxxxxx> Date: Thu Jun 25 02:33:08 2015 +0000 sysfs.txt: update show method notes about sprintf/snprintf/scnprintf usage Changed the documentation to allow sprintf() when the buffer provided by sysfs cannot be overflowed. Explicitly say snprintf() must never be used in a show function to format data to be returned to user space. Change based on a discussion about the patch st: convert DRIVER_ATTR macros to DRIVER_ATTR_RO Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shane Seymour <shane.seymour@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64526370d11ce8868ca495723d595b61e8697fbf Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Jul 15 10:29:00 2015 +0900 devres: fix devres_get() Currently, devres_get() passes devres_free() the pointer to devres, but devres_free() should be given with the pointer to resource data. Fixes: 9ac7849e35f7 ("devres: device resource management") Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # 2.6.21+ Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7edaca4e825fd5d7a6ddce3548cc1f7a7337cf8 Merge: c948c26 cbfe8fa Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Aug 5 23:55:52 2015 +0200 Merge branch 'linus' into x86/apic Pull in upstream changes to avoid conflicts commit 8c85fc9ae69a4510ba5e2bd5fac2c1d9d60967ad Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Aug 5 15:23:09 2015 -0400 audit: make audit_del_rule() more robust Move the access to the entry for audit_match_signal() to earlier in the function in case the entry found is the same one passed in. This will enable it to be used by audit_remove_mark_rule(). Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [PM: tweaked subject line as it no longer made sense after multiple revs] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 2664e0386e813158b599a73164f8f7ddb2b0eb6d Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:18:50 2015 +0300 misc: eeprom: max6875: clean up max6875_read() The change removes redundant sysfs binary file boundary check, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79dedbddd0eea471d78ef82eb7c42b8fb1bdef65 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:18:49 2015 +0300 misc: eeprom: clean up eeprom_read() The change removes redundant sysfs binary file boundary check, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5da83d4a9c929ac197313b5d6c5d771447fb59e Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:18:48 2015 +0300 misc: eeprom: 93xx46: clean up eeprom_93xx46_bin_read/write The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b6e5ba3d2ed958f6c32bfc84cdab3377e391f02 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:18:47 2015 +0300 misc: ds1682: clean up ds1682_eeprom_read() and ds1682_eeprom_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acb921a5a1e5fb2b864be25caf7317531f91a832 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:18:46 2015 +0300 misc: cxl: clean up afu_read_config() The sanity checks for overflow are not needed, because this is done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: Ian Munsie <imunsie@xxxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 594069bc3d333101fb187fc708d75d3ef491869a Author: Partha Pratim Mukherjee <ppm.floss@xxxxxxxxx> Date: Mon Jul 27 16:15:19 2015 -0700 fs/char_dev.c: fix incorrect documentation for unregister_chrdev_region The current documentation for unregister_chrdev_region says that it return a range of device numbers which is incorrect. Instead it unregister a range of device numbers. Fix the documentation to make this clear. Signed-off-by: Partha Pratim Mukherjee <ppm.floss@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7390d7c52684ea338621eb3826a60e33a2bab9d Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Jul 7 12:23:49 2015 +0530 w1: Use module_pci_driver Use module_pci_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return pci_register_driver(&x); } @b depends on a@ identifier e, a.x; @@ -static e(...) { pci_unregister_driver(&x); } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_pci_driver; @@ -module_exit(e); +module_pci_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01c48a59bae36f08ba27ed6bfe789aa0d14ee2a1 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:38:10 2015 +0900 w1: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aee4b9bd4505d0a82cae42c35d7d4a0c08725cec Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:17:24 2015 +0100 nvmem: Add to MAINTAINERS for nvmem framework This patch adds MAINTAINERS to nvmem framework. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d0b16a66c8a9d10294572c6f79df4f15a27825d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:17:09 2015 +0100 nvmem: sunxi: Move the SID driver to the nvmem framework Now that we have the nvmem framework, we can consolidate the common driver code. Move the driver to the framework, and hopefully, it will fix the sysfs file creation race. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> [srinivas.kandagatla: Moved to regmap based EEPROM framework] Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b470d6d7a5dfe41112d55c39eac67ddc5afac80d Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:16:59 2015 +0100 nvmem: qfprom: Add bindings for qfprom This patch adds bindings for qfprom found in QCOM SOCs. QFPROM driver is based on simple nvmem framework. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ab11996b489ad65092216315484824ed32018f8 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:15:00 2015 +0100 nvmem: qfprom: Add Qualcomm QFPROM support. This patch adds QFPROM support driver which is used by other drivers like thermal sensor and cpufreq. On MSM parts there are some efuses (called qfprom) these fuses store things like calibration data, speed bins.. etc. Drivers like cpufreq, thermal sensors would read out this data for configuring the driver. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 354ebb541dfa37a83395e5a9b7d68c34f80fffc0 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:14:14 2015 +0100 Documentation: nvmem: add nvmem api level and how-to doc This patch add basic how-to and api summary documentation for simple NVMEM framework. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2af38ab572b031a4111f01153cc020b1038b427b Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:13:58 2015 +0100 nvmem: Add bindings for simple nvmem framework This patch adds bindings for simple nvmem framework which allows nvmem consumers to talk to nvmem providers to get access to nvmem cell data. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> [Maxime Ripard: intial version of eeprom framework] Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2a5402ec7c6d0442cca370a0097e75750f81398 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:13:45 2015 +0100 nvmem: Add nvmem_device based consumer apis. This patch adds read/write apis which are based on nvmem_device. It is common that the drivers like omap cape manager or qcom cpr driver to access bytes directly at particular offset in the eeprom and not from nvmem cell info in DT. These driver would need to get access to the nvmem directly, which is what these new APIS provide. These wrapper apis would help such users to avoid code duplication in there drivers and also avoid them reading a big eeprom blob and parsing it internally in there driver. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69aba7948cbe53f2f1827e84e9dd0ae470a5072e Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:13:34 2015 +0100 nvmem: Add a simple NVMEM framework for consumers This patch adds just consumers part of the framework just to enable easy review. Up until now, nvmem drivers were stored in drivers/misc, where they all had to duplicate pretty much the same code to register a sysfs file, allow in-kernel users to access the content of the devices they were driving, etc. This was also a problem as far as other in-kernel users were involved, since the solutions used were pretty much different from on driver to another, there was a rather big abstraction leak. This introduction of this framework aims at solving this. It also introduces DT representation for consumer devices to go get the data they require (MAC Addresses, SoC/Revision ID, part numbers, and so on) from the nvmems. Having regmap interface to this framework would give much better abstraction for nvmems on different buses. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> [Maxime Ripard: intial version of the framework] Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eace75cfdcf7d9937d8c1fb226780123c64d72c4 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:13:19 2015 +0100 nvmem: Add a simple NVMEM framework for nvmem providers This patch adds just providers part of the framework just to enable easy review. Up until now, NVMEM drivers like eeprom were stored in drivers/misc, where they all had to duplicate pretty much the same code to register a sysfs file, allow in-kernel users to access the content of the devices they were driving, etc. This was also a problem as far as other in-kernel users were involved, since the solutions used were pretty much different from on driver to another, there was a rather big abstraction leak. This introduction of this framework aims at solving this. It also introduces DT representation for consumer devices to go get the data they require (MAC Addresses, SoC/Revision ID, part numbers, and so on) from the nvmems. Having regmap interface to this framework would give much better abstraction for nvmems on different buses. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> [Maxime Ripard: intial version of eeprom framework] Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4edd70c133f3921c594883d8f9da31a7261f8b4f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 20 17:27:24 2015 +0530 auxdisplay: ks0108: use new parport device model Modify auxdisplay driver to use the new parallel port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9efdbe63410984668a4983cc46e31a7b3f0c74e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 20 17:27:23 2015 +0530 auxdisplay: ks0108: use min_t Using min_t() is preffered than using min(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7faad1dfbbe008fe564d94c1b154695fcc13d748 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 20 17:27:22 2015 +0530 auxdisplay: ks0108: start using pr_* Start using pr_* macros instead of using printk and in the process define pr_fmt. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bab383de3b84e584b0f09227151020b2a43dc34c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 20 17:27:21 2015 +0530 auxdisplay: ks0108: fix refcount parport_find_base() will implicitly do parport_get_port() which increases the refcount. Then parport_register_device() will again increment the refcount. But while unloading the module we are only doing parport_unregister_device() decrementing the refcount only once. We add an parport_put_port() to neutralize the effect of parport_get_port(). Cc: <stable@xxxxxxxxxxxxxxx> # 2.6.32+ Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d25ded8d3c6ecc3043763d4330c964603dc61bd4 Author: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 13:35:36 2015 +1000 char/nvram: Use bitwise OR to obtain Atari video mode data Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff63ec1312dabd28876c9c03b5ed172a879bfb60 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 31 09:37:30 2015 -0600 coresight: Fix implicit inclusion of linux/sched.h The patch "Coresight: Add an interface for supporting ETM3/4 Context ID tracing" adds uses of find_task_by_vpid() and task_pid_nr() from linux/sched.h but does not include that header causing build errors in at least an ARM allmodconfig where it is not implicitly included. Add an explicit include to fix that. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8b66fe52d3ae97df9f2eef6410bd5aef095914c Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Fri Jul 31 09:37:29 2015 -0600 Doc: trace: Fix typo in coresight.txt This patch fix spelling typos found in coresight.txt Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f67b467aab10685f695190d2f471221e7a314374 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Fri Jul 31 09:37:28 2015 -0600 coresight-etm4x: Support context-ID tracing when PID namespace is enabled Like ETTv3, ETMv4 also needs the similar modifications to support Context ID tracing when PID namespace is enabled. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a440617e0d882a35accdd32dd7ae180885c6b28c Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Fri Jul 31 09:37:27 2015 -0600 coresight-etm3x: Support context-ID tracing when PID namespace is enabled The Coresight ETM drivers already support context-ID tracing, but it won't work when PID namespace is enabled. This is because when using PID namespace a process id (ie. VPID) seen from the current namespace differs from the id (ie. PID) seen by kernel. So when users write the process id seen by themselves to ETM, there needs to be a translation from VPID to PID, as such ETM drivers will write the PID into the Context ID register correctly. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 722102274ab1206634d31abe4f438a911a0945d2 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Fri Jul 31 09:37:26 2015 -0600 Coresight: Add an interface for supporting ETM3/4 Context ID tracing If PID namespace is enabled, everytime users configure the Context ID register to trace the specific process, there needs to be a translation between the real PID seen from the kernel and VPID seen from the namespace in which the user's process resides . This patch just adds the translation interface for ETMs. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd196ac3fa5a574f3ddf37b66fbe8c58225c3355 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Fri Jul 31 09:37:25 2015 -0600 coresight-etm4x: Change the name of the ctxid_val to ctxid_pid 'ctxid_val' array was used to store the value of ETM context ID comparator which actually stores the process ID to be traced, so using 'ctxid_pid' as its name instead make it easier to understand. This patch also changes the ABI, it is normally not allowed, but fortunately it is a testing ABI and very new for now. Nevertheless, if you don't think it should be changed, we could always add an alias for userspace. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 414a1417d7b35e0e72edb16e45840e242cb6b52e Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Fri Jul 31 09:37:24 2015 -0600 coresight-etm3x: Change the name of the ctxid_val to ctxid_pid 'ctxid_val' array was used to store the value of ETM context ID comparator which actually stores the process ID to be traced, so using 'ctxid_pid' as its name instead make it easier to understand. This patch also changes the ABI, it is normally not allowed, but fortunately it is a testing ABI and very new for now. Nevertheless, if you don't think it should be changed, we could always add an alias for userspace. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c35aaa13794a0c5b752af19993222d08497e7036 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jul 31 09:37:23 2015 -0600 coresight: replicator: Use builtin_platform_driver() Macro builtin_platform_driver can be used for builtin drivers that don't do anything in driver init. This file depends on Kconfig CONFIG_CORESIGHT_LINKS_AND_SINKS which eventually depends on CORESIGHT. Both CONFIG_CORESIGHT_LINKS_AND_SINKS and CORESIGHT are bool. So, use builtin_platform_driver and remove some boilerplate code. Also, remove header file init.h as functionality like module_init and module_exit is now relocated to module.h. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Suggested-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27d3fd3d0d89030798121718637d6b0ed59e0ca5 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Fri Jul 31 09:37:22 2015 -0600 coresight-etm3x: Add Qualcomm PTM v1.1 peripheral ID Add Qualcomm's PTM v1.1 peripheral ID to supported devices. This device could be found at least in MSM8974 and APQ8064 chipsets. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5742ef1279e4cfe52fee7056b15a848ffe5c723 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Fri Jul 31 09:37:21 2015 -0600 coresight: binding for ETMv4 coresight drivers Adding compatible string for new coresight ETMv4 tracer. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 686079c9b71a4673d0068ea4538f22359070ee33 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jun 29 09:12:38 2015 +0200 uio: UIO_PRUSS should depend on HAS_DMA If NO_DMA=y: ERROR: "dma_alloc_coherent" [drivers/uio/uio_pruss.ko] undefined! ERROR: "dma_free_coherent" [drivers/uio/uio_pruss.ko] undefined! Add a dependency on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d12f569c9b57ecdb18631d0b54c5224da5a1c233 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Jul 8 10:24:27 2015 +0530 uio: uio_fsl_elbc_gpcm: Use module_platform_driver Use module_platform_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return platform_driver_register(&x); } @b depends on a@ identifier e, a.x; @@ -static e(...) { platform_driver_unregister(&x); } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_platform_driver; @@ -module_exit(e); +module_platform_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2ef93930326134001523016782daddf1a4b78a2 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Wed Jul 8 17:24:46 2015 +0200 uio: Destroy uio_idr on module exit Destroy uio_idr on module exit, reclaiming the allocated memory. This was detected by the following semantic patch (written by Luis Rodriguez <mcgrof@xxxxxxxx>) <SmPL> @ defines_module_init @ declarer name module_init, module_exit; declarer name DEFINE_IDR; identifier init; @@ module_init(init); @ defines_module_exit @ identifier exit; @@ module_exit(exit); @ declares_idr depends on defines_module_init && defines_module_exit @ identifier idr; @@ DEFINE_IDR(idr); @ on_exit_calls_destroy depends on declares_idr && defines_module_exit @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... idr_destroy(&idr); ... } @ missing_module_idr_destroy depends on declares_idr && defines_module_exit && !on_exit_calls_destroy @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... +idr_destroy(&idr); } </SmPL> Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 513da46d4b72bf6c4c956c57044fcbcfe321deeb Author: Jürg Billeter <j@xxxxxxxxx> Date: Wed Jun 24 12:24:06 2015 +0200 ti-st: st_kim: use gpio_set_value_cansleep to fix warning GPIO accessor functions may sleep. Signed-off-by: Jürg Billeter <j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0bd1b9e58959c51a4c939505f89721dfbc73c44 Author: Rob Herring <robh@xxxxxxxxxx> Date: Wed Jul 22 13:17:15 2015 -0500 Revert "ti-st: add device tree support" This reverts commit 46d0d33350e9b32642d745a8b46a954910196b4d. This binding is horrible and never should have been merged. It is not documented nor are there any in tree users, so reverting it will not break anything we care about. Lets revert it before we do have users. The problems with it are: - It is not documented. - The GPIO connection is described with a custom property and uses Linux GPIO numbering. - The UART connection is described using the Linux tty device name. Cc: Gigi Joseph <gigi.joseph@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0f36c46deea97bd16b9277be2f1acac74d76037 Author: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Date: Mon Aug 3 13:05:04 2015 -0400 xprtrdma: take HCA driver refcount at client This is a rework of the following patch sent almost a year back: http://www.mail-archive.com/linux-rdma%40vger.kernel.org/msg20730.html In presence of active mount if someone tries to rmmod vendor-driver, the command remains stuck forever waiting for destruction of all rdma-cm-id. in worst case client can crash during shutdown with active mounts. The existing code assumes that ia->ri_id->device cannot change during the lifetime of a transport. xprtrdma do not have support for DEVICE_REMOVAL event either. Lifting that assumption and adding support for DEVICE_REMOVAL event is a long chain of work, and is in plan. The community decided that preventing the hang right now is more important than waiting for architectural changes. Thus, this patch introduces a temporary workaround to acquire HCA driver module reference count during the mount of a nfs-rdma mount point. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 1241d7bf2ac8838d0d2d0b54a6173ac3eb3747a4 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:54 2015 -0400 core: Remove the ib_reg_phys_mr() and ib_rereg_phys_mr() verbs The verbs are obsolete. The ib_rereg_phys_mr() verb is not used by kernel ULPs, and the last ib_reg_phys_mr() call site in the kernel tree has now been removed. Two staging tree call sites remain in the Lustre client. The Lustre team has been notified of the deprecation of reg_phys_mr. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Acked-by: Doug Ledford <dledford@xxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 860477d1ff176549f2bf438b61e5c1ec6b1d43e5 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:45 2015 -0400 xprtrdma: Count RDMA_NOMSG type calls RDMA_NOMSG type calls are less efficient than RDMA_MSG. Count NOMSG calls so administrators can tell if they happen to be used more than expected. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 763f7e4e4b9033ac6a0f13aa37ba43636fc3c0af Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:36 2015 -0400 xprtrdma: Clean up xprt_rdma_print_stats() checkpatch.pl complained about the seq_printf() format string split across lines and the use of %Lu. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 2fcc213a18644610c79edbb5e847d73c6c5d5ded Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:26 2015 -0400 xprtrdma: Fix large NFS SYMLINK calls Repair how rpcrdma_marshal_req() chooses which RDMA message type to use for large non-WRITE operations so that it picks RDMA_NOMSG in the correct situations, and sets up the marshaling logic to SEND only the RPC/RDMA header. Large NFSv2 SYMLINK requests now use RDMA_NOMSG calls. The Linux NFS server XDR decoder for NFSv2 SYMLINK does not handle having the pathname argument arrive in a separate buffer. The decoder could be fixed, but this is simpler and RDMA_NOMSG can be used in a variety of other situations. Ensure that the Linux client continues to use "RDMA_MSG + read list" when sending large NFSv3 SYMLINK requests, which is more efficient than using RDMA_NOMSG. Large NFSv4 CREATE(NF4LNK) requests are changed to use "RDMA_MSG + read list" just like NFSv3 (see Section 5 of RFC 5667). Before, these did not work at all. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 677eb17e94edfbbea3b7e628d8aa046930f102c3 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:17 2015 -0400 xprtrdma: Fix XDR tail buffer marshalling Currently xprtrdma appends an extra chunk element to the RPC/RDMA read chunk list of each NFSv4 WRITE compound. The extra element contains the final GETATTR operation in the compound. The result is an extra RDMA READ operation to transfer a very short piece of each NFS WRITE compound (typically 16 bytes). This is inefficient. It is also incorrect. The client is sending the trailing GETATTR at the same Position as the preceding WRITE data payload. Whether or not RFC 5667 allows the GETATTR to appear in a read chunk, RFC 5666 requires that these two separate RPC arguments appear at two distinct Positions. It can also be argued that the GETATTR operation is not bulk data, and therefore RFC 5667 forbids its appearance in a read chunk at all. Although RFC 5667 is not precise about when using a read list with NFSv4 COMPOUND is allowed, the intent is that only data arguments not touched by NFS (ie, read and write payloads) are to be sent using RDMA READ or WRITE. The NFS client constructs GETATTR arguments itself, and therefore is required to send the trailing GETATTR operation as additional inline content, not as a data payload. NB: This change is not backwards compatible. Some older servers do not accept inline content following the read list. The Linux NFS server should handle this content correctly as of commit a97c331f9aa9 ("svcrdma: Handle additional inline content"). Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 33943b2974734ca5e5bef583d09ddd1eded6a77b Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:08 2015 -0400 xprtrdma: Don't provide a reply chunk when expecting a short reply Currently Linux always offers a reply chunk, even when the reply can be sent inline (ie. is smaller than 1KB). On the client, registering a memory region can be expensive. A server may choose not to use the reply chunk, wasting the cost of the registration. This is a change only for RPC replies smaller than 1KB which the server constructs in the RPC reply send buffer. Because the elements of the reply must be XDR encoded, a copy-free data transfer has no benefit in this case. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 02eb57d8f44caa582e297f51f3555d47767c5fe9 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:58 2015 -0400 xprtrdma: Always provide a write list when sending NFS READ The client has been setting up a reply chunk for NFS READs that are smaller than the inline threshold. This is not efficient: both the server and client CPUs have to copy the reply's data payload into and out of the memory region that is then transferred via RDMA. Using the write list, the data payload is moved by the device and no extra data copying is necessary. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Reviewed-By: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 5457ced0b504b41afe9439a6533066dea2fc0e1a Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:49 2015 -0400 xprtrdma: Account for RPC/RDMA header size when deciding to inline When the size of the RPC message is near the inline threshold (1KB), the client would allow messages to be sent that were a few bytes too large. When marshaling RPC/RDMA requests, ensure the combined size of RPC/RDMA header and RPC header do not exceed the inline threshold. Endpoints typically reject RPC/RDMA messages that exceed the size of their receive buffers. The two server implementations I test with (Linux and Solaris) use receive buffers that are larger than the clientâ??s inline threshold. Thus so far this has been benign, observed only by code inspection. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit b3221d6a53c44cd572a3a400abdd1e2a24bea587 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:39 2015 -0400 xprtrdma: Remove logic that constructs RDMA_MSGP type calls RDMA_MSGP type calls insert a zero pad in the middle of the RPC message to align the RPC request's data payload to the server's alignment preferences. A server can then "page flip" the payload into place to avoid a data copy in certain circumstances. However: 1. The client has to have a priori knowledge of the server's preferred alignment 2. Requests eligible for RDMA_MSGP are requests that are small enough to have been sent inline, and convey a data payload at the _end_ of the RPC message Today 1. is done with a sysctl, and is a global setting that is copied during mount. Linux does not support CCP to query the server's preferences (RFC 5666, Section 6). A small-ish NFSv3 WRITE might use RDMA_MSGP, but no NFSv4 compound fits bullet 2. Thus the Linux client currently leaves RDMA_MSGP disabled. The Linux server handles RDMA_MSGP, but does not use any special page flipping, so it confers no benefit. Clean up the marshaling code by removing the logic that constructs RDMA_MSGP type calls. This also reduces the maximum send iovec size from four to just two elements. /proc/sys/sunrpc/rdma_inline_write_padding is a kernel API, and thus is left in place. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit d1ed857e5707e073973cfb1b8df801053a356518 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:30 2015 -0400 xprtrdma: Clean up rpcrdma_ia_open() Untangle the end of rpcrdma_ia_open() by moving DMA MR set-up, which is different for each registration method, to the .ro_open functions. This is refactoring only. No behavior change is expected. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit e531dcabec8dc2ee141aab01ddf20ca87c52d916 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:20 2015 -0400 xprtrdma: Remove last ib_reg_phys_mr() call site All HCA providers have an ib_get_dma_mr() verb. Thus rpcrdma_ia_open() will either grab the device's local_dma_key if one is available, or it will call ib_get_dma_mr(). If ib_get_dma_mr() fails, rpcrdma_ia_open() fails and no transport is created. Therefore execution never reaches the ib_reg_phys_mr() call site in rpcrdma_register_internal(), so it can be removed. The remaining logic in rpcrdma_{de}register_internal() is folded into rpcrdma_{alloc,free}_regbuf(). This is clean up only. No behavior change is expected. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Reviewed-By: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit d23109302390d61d83675a86453674446eccb776 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:09 2015 -0400 xprtrdma: Don't fall back to PHYSICAL memory registration PHYSICAL memory registration uses a single rkey for all of the client's memory, thus is insecure. It is still useful in some cases for testing. Retain the ability to select PHYSICAL memory registration capability via /proc/sys/sunrpc/rdma_memreg_strategy, but don't fall back to it if the HCA does not support FRWR or FMR. This means amso1100 no longer works out of the box with NFS/RDMA. When using amso1100 HCAs, set the memreg_strategy sysctl to 6 before performing NFS/RDMA mounts. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 061dff29f8f62c21c9222897e4d121b4a5fa50da Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:02:59 2015 -0400 xprtrdma: Increase default credit limit In preparation for similar increases on NFS/RDMA servers, bump the advertised credit limit for RPC/RDMA to 128. This allocates some extra resources, but the client will continue to allow only the number of RPCs in flight that the server requests via its advertised credit limit. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-By: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 864be126fe5f325ec4b3e28173ca5cad2b8ee28c Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:02:50 2015 -0400 xprtrdma: Raise maximum payload size to one megabyte The point of larger rsize and wsize is to reduce the per-byte cost of memory registration and deregistration. Modern HCAs can typically handle a megabyte or more with a single registration operation. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Reviewed-By: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 5231eb9773c61a2a17590eabcadf4aecf44100bd Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:02:41 2015 -0400 xprtrdma: Make xprt_setup_rdma() agnostic to family of server address In particular, recognize when an IPv6 connection is bound. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit eb79100fe6a696bfbad21aaf8e373d72763c7462 Author: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Date: Fri Jun 12 11:43:23 2015 -0700 VMware balloon: Add support for balloon capabilities. In order to extend the balloon protocol, the hypervisor and the guest driver need to agree on a set of supported functionality to use. Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dtor@xxxxxxxxxx> Signed-off-by: Philip P. Moltmann <moltmann@xxxxxxxxxx> Acked-by: Andy King <acking@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef0f8f1129844cab9b0fb14aab0d7d7598d81103 Author: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Date: Fri Jun 12 11:43:22 2015 -0700 VMware balloon: partially inline vmballoon_reserve_page. This split the function in two: the allocation part is inlined into the inflate function and the lock part is kept into his own function. This change is needed in order to be able to allocate more than one page before doing the hypervisor call. Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dtor@xxxxxxxxxx> Signed-off-by: Philip P. Moltmann <moltmann@xxxxxxxxxx> Acked-by: Andy King <acking@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0ec4230a077521a984ac604acbd8c15cc12a664 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Aug 5 16:03:19 2015 -0400 cgroup: export cgrp_dfl_root While cgroup subsystems can't be modules, blkcg supports dynamically loadable policies which interact with cgroup core. Export cgrp_dfl_root so that cgroup_on_dfl() can be used in those modules. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit f151f53aa4f54a647353e1935e4c6cef7f094dd4 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Tue Aug 4 17:38:01 2015 -0700 perf tools: Fix build errors with mipsel-linux-uclibc compiler linux/tools$ make ARCH=mips CROSS_COMPILE=mipsel-linux- perf ... config/Makefile:256: *** No gnu/libc-version.h found, please install glibc-dev[el]. Stop. make[1]: *** [all] Error 2 make: *** [perf] Error 2 ... In file included from builtin-sched.c:13:0: util/cloexec.h:8:12: error: redundant redeclaration of â??sched_getcpuâ?? [-Werror=redundant-decls] extern int sched_getcpu(void) __THROW; mipsel-buildroot-linux-uclibc/sysroot/usr/include/bits/sched.h:88:12: note: previous declaration of â??sched_getcpuâ?? was here extern int sched_getcpu (void) __THROW; uclibc info: sysroot/usr/include/bits/uClibc_config.h __UCLIBC_MAJOR__ 0 __UCLIBC_MINOR__ 9 __UCLIBC_SUBLEVEL__ 33 sysroot/usr/include/features.h __UCLIBC__ 1 __GLIBC__ 2 __GLIBC_MINOR__ 2 Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1438735081-24131-1-git-send-email-pgynther@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 007d66a0bd43d886eb3e4aceaf1a96b8743ccaff Author: Milian Wolff <milian.wolff@xxxxxxxx> Date: Wed Aug 5 16:52:23 2015 -0300 perf trace: Write to stderr by default Without this patch, it is cumbersome to read the trace output but ignoring the normal, potentially verbose, output of the debuggee. One common example is doing something like the following: perf trace -s find /tmp > /dev/null Without this patch, the trace summary will be lost. Now, it will still be printed at the end. This behavior is also applied by strace. Cc: Milian Wolff <milian.wolff@xxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-tqnks6y2cnvm5f9g2dsfr7zl@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b7a001d2067830a98e65d1bbbf99a6d435d70616 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Aug 3 17:50:02 2015 -0700 perf tools: Do not include escape sequences in color_vfprintf return color_vprintf was including the length of the invisible escape sequences in its return argument. Don't include them to make the return value usable for indentation calculations. v2: Add comment, rebase Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438649408-20807-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8011de7ab3b10c5352f3f0708f517de2722b0957 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 3 17:50:01 2015 -0700 perf tools: Remove trail argument to color vsprintf Seems like it's always '\n' through color_fprintf_ln, which is not used at all, removing.. ;-) Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438649408-20807-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c3a6a8c40538f609923acf9473250266283269a5 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 4 04:30:20 2015 -0400 perf tools: Refine parse/config callchain functions Pass global callchain_param into parse_callchain_record_opt and perf_evsel__config_callgraph as parameter. So we can reuse these functions to parse/config local param for callchain. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438677022-34296-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a53870c0ebe0b84a6e1a09785d24b0f0e6729962 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:05:03 2015 +0000 usb: misc: ftdi-elan: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb82122a665b31ff9c40f1b4b66be71f0ef21bd3 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:04:35 2015 +0000 usb: serial: mxuport: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1cda54cfb71720058cd65b2f1be7f2a86889935 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:04:09 2015 +0000 usb: host: xhci: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8602b08ab641a6004efa553c8089180c40bc1f72 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:03:45 2015 +0000 usb: host: u132-hcd: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa31a0909cc44bf2f75c14e800caff2d06ff725e Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:03:20 2015 +0000 usb: host: oxu210hp-hcd: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16f9c3fd25b957f4df0fd5d9bf70249495c1a421 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:02:55 2015 +0000 usb: host: ehci-st: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e94a7369a9293de2674de322d1e5253d63ba42ff Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:02:28 2015 +0000 usb: musb: musb_dsps: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9c5d8feb9e751a7521f1a5fa0d56901824e2ad8 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:02:03 2015 +0000 usb: phy: phy-keystone: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 082155eabfabd9148cc7e81c995e2c482075ccc3 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:01:31 2015 +0000 usb: phy: phy-mxs-usb: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 135551ea1abd5038d14825514df7e259fd500033 Author: Kris Borer <kborer@xxxxxxxxx> Date: Tue Aug 4 08:39:31 2015 -0400 usb: devio: remove assignment from if condition Fix five occurrences of the checkpatch.pl error: ERROR: do not use assignment in if condition The semantic patch that makes this change is: // <smpl> @@ identifier i; expression E; statement S1, S2; @@ + i = E; if ( - (i = E) + i ) S1 else S2 @@ identifier i; expression E; statement S; constant c; binary operator b; @@ + i = E; if ( - (i = E) + i b c ) S // </smpl> Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4629a7bdfd8fcafc90ded7e6a1f88099105842d Author: Alban Bedel <albeu@xxxxxxx> Date: Tue Aug 4 10:59:17 2015 +0200 usb: ehci-platform: Fix using multiple controllers from OF When using OF defined controllers the platform data struct is shared between all devices, so it can't be used for device specific settings. However it is currently used for the OF properties needs-reset-on-resume and has-transaction-translator. To fix this issue move setting hcd->has_tt to the probe and move pdata->reset_on_resume to the private data. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d719b76c1306370d146c517e33b25f756b9a12d5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 11:37:16 2015 -0700 spmi: Select IRQ_DOMAIN instead of depend on it IRQ_DOMAIN is a hidden config option, so depending on it doesn't make any sense. Select the config option because it's required to compile this driver. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60be42306f838d9231398bdb7d4ff3451ae13601 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Jul 30 10:53:54 2015 -0700 spmi: pmic-arb: add support for irq_get_irqchip_state Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9fce374815d8ab94a3e6259802a944e2cc21408 Author: Ankit Gupta <ankgupta@xxxxxxxxxxxxxx> Date: Mon Jun 22 16:38:46 2015 -0600 spmi: add command tracepoints for SPMI Add tracepoints to retrieve information about read, write and non-data commands. For performance measurement support tracepoints are added at the beginning and at the end of transfers. Following is a list showing the new tracepoint events. The "cmd" parameter here represents the opcode, SID, and full 16-bit address. spmi_write_begin: cmd and data buffer. spmi_write_end : cmd and return value. spmi_read_begin : cmd. spmi_read_end : cmd, return value and data buffer. spmi_cmd : cmd. The reason that cmd appears at both the beginning and at the end event is that SPMI drivers can request commands concurrently. cmd helps in matching the corresponding events. SPMI tracepoints can be enabled like: echo 1 >/sys/kernel/debug/tracing/events/spmi/enable and will dump messages that can be viewed in /sys/kernel/debug/tracing/trace that look like: ... spmi_read_begin: opc=56 sid=00 addr=0x0000 ... spmi_read_end: opc=56 sid=00 addr=0x0000 ret=0 len=02 buf=0x[01-40] ... spmi_write_begin: opc=48 sid=00 addr=0x0000 len=3 buf=0x[ff-ff-ff] Suggested-by: Sagar Dharia <sdharia@xxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Signed-off-by: Ankit Gupta <ankgupta@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6497a8757361a88b73fc3814d2ee9b9fc105fa42 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Wed Aug 5 13:03:26 2015 +0300 char: xillybus: Allow 64-bit DMA on PCIe interface Until now, only 32-bit DMA addressing was allowed, following a report on some old Intel machine that dropped 64-bit PCIe packets, even though pci_set_dma_mask() was successful with DMA_BIT_MASK(64). But then came TI's Keystone II chip (ARM Cortex A15 + DSPs), which refuses 32-bit DMA addressing (for good reasons). So 64-bit DMA is allowed as a fallback option. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3159455bf46b71d0a4f2bb5d9cb92b64056e2b1 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Wed Aug 5 14:44:53 2015 +0800 serial: 8250_pci: fix mode after S3/S4 resume for F81504/508/512 Fix RS232/485 mode incorrect setting after S3/S4 resume for F81504/508/512 We had add RS232/485 RTS control with fecf27a373f5. But when it resume from S3/S4, the mode register 0x40 + 0x08 * idx + 7 will rewrite to 0x01 (RS232 mode). This patch will modify 2 sections. One is pci_fintek_init(), if it called when first init, it will write mode register with 0x01. If it called from S3/S4 resume, it's will get the relative port data and pass it to pci_fintek_rs485_config() with NULL rs485 parameter. The another modification is in pci_fintek_rs485_config(). It'll re-apply old configuration when the parameter rs485 is NULL. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6255049d397b28fdedab0b6c5f85072b3177e4a4 Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 22:33:23 2015 +0200 staging: lustre: Fix style warning on header Fix checkpatch.pl warning: WARNING: Use #include <linux/io.h> instead of <asm/io.h> Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f016420d368480762061632f9a9254fd3a89239 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Aug 5 01:52:45 2015 +0530 Staging: lustre: obdclass: Use kasprintf This patch uses kasprintf which combines kzalloc and sprintf. kasprintf also takes care of the size calculation. Semantic patch used is as follows: @@ expression a,flag; expression list args; statement S; @@ a = - \(kmalloc\|kzalloc\)(...,flag) + kasprintf (flag,args) <... when != a if (a == NULL || ...) S ...> - sprintf(a,args); Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91f2208c37ab08343b118601eaa0d9bb76fc8762 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:20:51 2015 +0530 Staging: lustre: mgc: Replace comma with a semicolon Replace comma between expression statements by a semicolon. The semantic patch used is as follows: @@ expression e1,e2; @@ e1 - , + ; e2; Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48177898f05916b64935118633353dbc448d3c24 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:20:52 2015 +0530 Staging: netlogic: Replace comma with a semicolon Replace comma between expression statements by a semicolon. The semantic patch used is as follows: @@ expression e1,e2; @@ e1 - , + ; e2; Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b37465e40915a657e60593e068aa3ab447931b1 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:20:50 2015 +0530 Staging: lustre: libcfs: Replace comma with a semicolon Replace comma between expression statements by a semicolon. The semantic patch used is as follows: @@ expression e1,e2; @@ e1 - , + ; e2; Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7856753856b4e6a20c1c91c6db03852e90de273 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:02:34 2015 +0530 Staging: lustre: osc: Drop unnecessary cast on void * This patch does away with the cast on void * as it is unnecessary. Semantic patch used is as follows: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45b30514a34fa7fcb7a84be799ca5fc53d33a4d7 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:02:35 2015 +0530 Staging: lustre: lov: Drop unnecessary cast on void * This patch does away with the cast on void * as it is unnecessary. Semantic patch used is as follows: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a12aaa92f3ccd15015e01373c2b60a3841aaebbb Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:02:33 2015 +0530 Staging: lustre: libcfs: Drop unnecessary cast on void* This patch does away with the cast on void * as it is unnecessary. Semantic patch used is as follows: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 946b254697655f0ea0c54b1b0e20fb3b9aab99da Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Aug 4 15:09:47 2015 -0400 staging: unisys: visornic: Convert to using napi Switch the visornic over to use napi. Currently there is a kernel thread that sits and waits on a wait queue to get notified of incoming virtual interrupts. It would be nice if we could handle frame reception using the standard napi processing instead. This patch creates our napi instance and has the rx thread schedule it Given that the unisys hypervisor currently requires that queue servicing be done by a polling loop that wakes up every 2ms, lets instead also convert that to a timer, which is simpler, and allows us to remove all the thread starting and stopping code. Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6212990a87588869aa9a93fa5b861d3abf1be783 Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Wed Aug 5 22:11:57 2015 +0530 drivers: staging: wilc1000: remove space after '(' The character ' ' is removed after the character '('. This fixes the checkpatch.pl error - "space prohibited after that open parenthesis '('". Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a96c47e1978a874e87e7fea3ebb178eaf8730d46 Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Wed Aug 5 22:11:55 2015 +0530 drivers: staging: wilc1000: use 'void' for no arguments functions Added 'void' keyword in the paranthesis of function definitions, when there are no arguments to the functions. This fixes the checkpatch.pl error - "Bad function definition 'function()' should probably be function(void)". Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1913221c0e3025a93c3c106ec0167f8240df4d35 Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Wed Aug 5 08:18:31 2015 +0200 staging: wilc1000: wilc_cfgoperations.c: Fixed coding styles issues. Fixed coding styles issues with braces. Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eeb1c0629539b1393d0b5ffea9cc2d71e6e933bf Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Aug 5 01:29:22 2015 +0530 Staging: wilc1000: Remove typedefs for struct The Linux kernel coding style guidelines suggest not using typedefs for structure and enum types. This patch gets rid of the typedefs for Ack_session_info_t. The following Coccinelle semantic patch detects the cases for struct type: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2cb1df7ebd8b8807a204ffb0692751b15d4cb1bf Author: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Date: Wed Aug 5 14:15:12 2015 +0200 staging: iio_simple_dummy: Fix indentation errors Fixing indentation errors in drivers/staging/iio/iio_simple_dummy_events.c. Signed-off-by: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fce7f39356c511e263e97094bd18dee40fca6511 Author: Lior Pugatch <buzz5800@xxxxxxxxx> Date: Tue Aug 4 22:18:04 2015 +0300 staging: vt6655: Fixed C99 style comment to C89 style. Patch created to satisfy checkpatch.pl Signed-off-by: Lior Pugatch <buzz5800@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9a47627f7988470ad391091ed9334018e5144a2 Author: Ting-Chih Hsiao <s894330@xxxxxxxxxxx> Date: Tue Aug 4 11:21:10 2015 +0800 staging: rtl8723au: fix up coding style warnings reported by checkpatch.pl. remove spaces at the start of a line align enum variable with other parameters Signed-off-by: Ting-Chih Hsiao <s894330@xxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f72f130d87ff05144553af4894c0c52c57d60930 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Aug 3 21:57:45 2015 -0400 staging/lustre: Properly reference kthread_run instead of cfs_daemonize cfs_daemonize is long gone and replaced by a proper call to kthread_run, so update the comment to reflect that fact. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 967ef593bf26bdd9ddabef8eb8c1ddd8f5d2074a Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Aug 3 21:57:44 2015 -0400 staging/lustre/ptlrpc: Remove stray cfs_daemonize comment Ever since daemonize was removed in 3.18, there are no longer any flags passed to kthread_run. Most of the comments were deleted, but this one lingered on until now. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d27da4dae5f487d64ba52c3d505cc587c19af578 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Aug 5 18:13:26 2015 +0100 staging: comedi: improve comedi_check_chanlist() documentation Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a59adb222bc4758241eb4ff253faa5b1ebd4cab Author: Ted Chen <tedc.37zngo@xxxxxxxxx> Date: Wed Aug 5 01:18:46 2015 +0800 staging: comedi: do not return -ENOSYS. fixed coding style issue by replacing ENOSYS with EIO because it means 'invalid syscall nr' and nothing else. Signed-off-by: Ted Chen <tedc.37zngo@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2537468cee9ff2b9d4c425e2f8141aaa274dc495 Author: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Date: Wed Aug 5 10:09:02 2015 +0800 Staging: android: timed_gpio.c: fix coding style errors remove extra space and replace tab to space after a variable Signed-off-by: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f39c4280a3872b0e6c7b01076132c12ad7a90392 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Aug 5 00:52:48 2015 -0700 Drivers: hv: vmbus: use cpu_hotplug_enable/disable Commit e513229b4c38 ("Drivers: hv: vmbus: prevent cpu offlining on newer hypervisors") was altering smp_ops.cpu_disable to prevent CPU offlining. We can bo better by using cpu_hotplug_enable/disable functions instead of such hard-coding. Reported-by: Radim Kr.má <rkrcmar@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32145c4677d2c46b9d877a33ae82c6fcacd002f9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Aug 5 00:52:47 2015 -0700 cpu-hotplug: export cpu_hotplug_enable/cpu_hotplug_disable Hyper-V module needs to disable cpu hotplug (offlining) as there is no support from hypervisor side to reassign already opened event channels to a different CPU. Currently it is been done by altering smp_ops.cpu_disable but it is hackish. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89af7ba5740b5937d10c8de93e79e71e5a933041 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Aug 5 00:52:46 2015 -0700 cpu-hotplug: convert cpu_hotplug_disabled to a counter As a prerequisite to exporting cpu_hotplug_enable/cpu_hotplug_disable functions to modules we need to convert cpu_hotplug_disabled to a counter to properly support disable -> disable -> enable call sequences. E.g. after Hyper-V vmbus module (which is supposed to be the first user of exported cpu_hotplug_enable/cpu_hotplug_disable) did cpu_hotplug_disable() hibernate path calls disable_nonboot_cpus() and if we hit an error in _cpu_down() enable_nonboot_cpus() will be called on the failure path (thus making cpu_hotplug_disabled = 0 and leaving cpu hotplug in 'enabled' state). Same problem is possible if more than 1 module use cpu_hotplug_disable/cpu_hotplug_enable on their load/unload paths. When one of these modules is been unloaded it is logical to leave cpu hotplug in 'disabled' state. To support the change we need to increse cpu_hotplug_disabled counter in disable_nonboot_cpus() unconditionally as all users of disable_nonboot_cpus() are supposed to do enable_nonboot_cpus() in case an error was returned. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54bf725e5d21022b25fe0d3c103fe82ed13b870b Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:45 2015 -0700 Drivers: hv: vmbus: document the VMBus sysfs files The 4 sysfs files should be stable ABIs to the user space. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 502d84bd1aa2445b13ff75e8ac2a39d249f791ee Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:44 2015 -0700 tools: hv: add a python script lsvmbus to list VMBus devices By default lsvmbus lists all the devices in the VMBus. With -v or -vv, more information is printed, including the VMBus Rel_ID, class ID, device ID and which channel is bound to which virtual processor, etc. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 042ab0313bbb7e776e9510da3f07fb300d08a8ba Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:43 2015 -0700 Drivers: hv: vmbus: add a sysfs attr to show the binding of channel/VP This is useful to analyze performance issue. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca9357bd26c2f8e7b909321eedd651f52cc30d04 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:42 2015 -0700 Drivers: hv: vmbus: Implement a clocksource based on the TSC page The current Hyper-V clock source is based on the per-partition reference counter and this counter is being accessed via s synthetic MSR - HV_X64_MSR_TIME_REF_COUNT. Hyper-V has a more efficient way of computing the per-partition reference counter value that does not involve reading a synthetic MSR. We implement a time source based on this mechanism. Tested-by: Vivek Yadav <vyadav@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc609cb47fb2e74654e23cef0a1d4db38b6570a3 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 5 00:52:41 2015 -0700 drivers/hv: Migrate to new 'set-state' interface Migrate hv driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5cca686ce0ef4909deaee4ed46dd991e3a9ece4 Author: Christopher Oo <t-chriso@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:40 2015 -0700 Drivers: hv_vmbus: Fix signal to host condition Fixes a bug where previously hv_ringbuffer_read would pass in the old number of bytes available to read instead of the expected old read index when calculating when to signal to the host that the ringbuffer is empty. Since the previous write size is already saved, also changes the hv_need_to_signal_on_read to use the previously read value rather than recalculating it. Signed-off-by: Christopher Oo <t-chriso@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b71107d73b16074afa7658f3f0fcf837aabfe24 Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:39 2015 -0700 Drivers: hv: vmbus: Further improve CPU affiliation logic Keep track of CPU affiliations of sub-channels within the scope of the primary channel. This will allow us to better distribute the load amongst available CPUs. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f01ec53458d9e9b68f1c555e773b5d1a1f66e94 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:38 2015 -0700 Drivers: hv: vmbus: Improve the CPU affiliation for channels The current code tracks the assigned CPUs within a NUMA node in the context of the primary channel. So, if we have a VM with a single NUMA node with 8 VCPUs, we may end up unevenly distributing the channel load. Fix the issue by tracking affiliations globally. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3546448338e76a52d4f86eb3680cb2934e22d89b Author: Jake Oshins <jakeo@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:37 2015 -0700 drivers:hv: Move MMIO range picking from hyper_fb to hv_vmbus This patch deletes the logic from hyperv_fb which picked a range of MMIO space for the frame buffer and adds new logic to hv_vmbus which picks ranges for child drivers. The new logic isn't quite the same as the old, as it considers more possible ranges. Signed-off-by: Jake Oshins <jakeo@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f163a6fd957a85f7f66a129db1ad243a44399ee Author: Jake Oshins <jakeo@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:36 2015 -0700 drivers:hv: Modify hv_vmbus to search for all MMIO ranges available. This patch changes the logic in hv_vmbus to record all of the ranges in the VM's firmware (BIOS or UEFI) that offer regions of memory-mapped I/O space for use by paravirtual front-end drivers. The old logic just found one range above 4GB and called it good. This logic will find any ranges above 1MB. It would have been possible with this patch to just use existing resource allocation functions, rather than keep track of the entire set of Hyper-V related MMIO regions in VMBus. This strategy, however, is not sufficient when the resource allocator needs to be aware of the constraints of a Hyper-V virtual machine, which is what happens in the next patch in the series. So this first patch exists to show the first steps in reworking the MMIO allocation paths for Hyper-V front-end drivers. Signed-off-by: Jake Oshins <jakeo@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fd3850227961d70594acd45d146ad28367415b5 Author: James Chen <james.chen@xxxxxxxxxx> Date: Mon Jul 20 11:16:36 2015 -0700 Input: elants_i2c - disable idle mode before updating firmware If the device is in idle mode and is in the middle of a scan it may not have a chance to react to the reset and then IAP commands within required time interval and firmware update may fail. Let's bring the device out of idle mode before attempting to reset it so that the scan period is smaller and thus it can react to the command quicker. Signed-off-by: James Chen <james.chen@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f368ed6088ae9c1fbe1c897bb5f215ce5e63fa1e Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 15:59:57 2015 -0700 char: make misc_deregister a void function With well over 200+ users of this api, there are a mere 12 users that actually checked the return value of this function. And all of them really didn't do anything with that information as the system or module was shutting down no matter what. So stop pretending like it matters, and just return void from misc_deregister(). If something goes wrong in the call, you will get a WARNING splat in the syslog so you know how to fix up your driver. Other than that, there's nothing that can go wrong. Cc: Alasdair Kergon <agk@xxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Cc: Christine Caulfield <ccaulfie@xxxxxxxxxx> Cc: David Teigland <teigland@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Acked-by: Joel Becker <jlbec@xxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 027b4a6d6affec15626e3e985852cf67a6a89842 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:27 2015 +0200 ARM: dts: lpc4350-hitex-eval: add emc pins and static memory devices Setup the emc pins used by external memory devices and add configuration for the devices found on the Hitex eval board. The Hitex eval board has a NOR Flash attached to chip select 0 and 512 kB of SRAM on chip select 2. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit aceacfa6ac41f2fcb0889351d7f13a849a379b3c Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 00:24:26 2015 +0200 ARM: dts: lpc4350-hitex-eval: add ethernet Enable Ethernet and add pin muxing and set the correct frequency on the enet tx clock input. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5e6472001e529ef4c81068d7826064568dd9d104 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 00:24:25 2015 +0200 ARM: dts: lpc4350-hitex-eval: add pinctrl and uart0 muxing Setup pin muxing and properties for the debug console on uart0. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 41a0dec9163c0f9a0f14d79d0bcca4dd1c2005b6 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:24 2015 +0200 ARM: dts: lpc4357-ea4357: add mmio-gpio leds Hook up LEDs on the outputs from the D-type flip-flop found on the address/data bus. Note that the LEDx label in the schematics is reversed in regard to the bits on the data bus. Hence the reverse ordering used here. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3c6abb97f343aec1df1f1cc213886ccfd2f38c6b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:23 2015 +0200 ARM: dts: lpc4357-ea4357: add emc pins and static memory devices Setup the emc pins used by external memory devices and add configuration for the devices found on the EA4357 devkit. The EA4357 devkit has a NOR Flash attached to chip select 0 and a D-type flip-flop used for LEDs on chip select 2. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fd0cb235dfff271340485b2323170eaf968c0ab6 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:22 2015 +0200 ARM: dts: lpc4357-ea4357: add usb0 Enable USB0 on the EA4357 devkit and setup the required USB0 control pins. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 50016385c2a5d484aa2a8defff23d4b2e2927006 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:21 2015 +0200 ARM: dts: lpc18xx: add pl172 memory-controller node All devices in the LPC18xx/43xx familiy contain a ARM PL172 MultiPort Memory Controller (MPMC). Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9cf6267d166a8dc004bbbcdb5b6a371bdd33842b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:20 2015 +0200 ARM: dts: lpc18xx: add pl111 lcd controller node NXP LPC185x and LPC435x/70 devices contain a ARM PL111 lcd controller. Signed-off-by: Joachim Eastwood <joachim.eastwood@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6d6d6b559f322183e5ca94908eac153a85a8b4a3 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:19 2015 +0200 ARM: dts: lpc18xx: add usb otg phy node Add the USB OTG phy under the CREG syscon node and attach it to the USB0 EHCI controller. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 824811293538f5cafaa6d19e3458a13eafa92a32 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Wed Jul 22 12:55:37 2015 -0700 MAINTAINERS: Explicitly add linux-arm-kernel for bcm2835 get_maintainers.pl would list linux-arm-kernel for most bcm2835 changes because it's under arch/arm, but might not for other bcm2835 drivers. Most ARM architectures appear to list linux-arm-kernel as an appropriate list as well. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Suggested-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 10b9e8871558f8dd9485dce003ba1f3285aabbeb Author: Eric Anholt <eric@xxxxxxxxxx> Date: Wed Jul 22 12:55:36 2015 -0700 MAINTAINERS: Add myself as a bcm2835 co-maintainer. The current maintainers have limited free time to work on the architecture, and I'm motivated to do so for my work on graphics for Broadcom. Arnd and Florian suggested to me that this might be the way forward. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 44e259ac909f3b41786cf732a44b5cf8444e098a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:59:36 2015 +0100 ARM: dove: create a proper PMU driver for power domains, PMU IRQs and resets The PMU device contains an interrupt controller, power control and resets. The interrupt controller is a little sub-standard in that there is no race free way to clear down pending interrupts, so we try to avoid problems by reducing the window as much as possible, and clearing as infrequently as possible. The interrupt support is implemented using an IRQ domain, and the parent interrupt referenced in the standard DT way. The power domains and reset support is closely related - there is a defined sequence for powering down a domain which is tightly coupled with asserting the reset. Hence, it makes sense to group these two together, and in order to avoid any locking contention disrupting this sequence, we avoid the use of syscon or regmap. This patch adds the core PMU driver: power domains must be defined in the DT file in order to make use of them. The reset controller can be referenced in the standard way for reset controllers. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit cba3bbcba41f8534df5529752d10dc69b7b38eda Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:59:52 2015 +0100 ARM: dt: dove: add GPU power domain description Add the description of the GPU power domain to the PMU DT entry. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 7c2293f523c67511581711b244022e4a1efdc0a6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:59:46 2015 +0100 ARM: dt: dove: add video decoder power domain description Add the description of the video decoder power domain to the PMU DT entry. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 71296a39c5e5daad7d46a9e759e0c6f8338649aa Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:59:41 2015 +0100 ARM: dt: dove: wire up RTC interrupt Now that we have a PMU driver, we can wire up the RTC interrupt in the DT description for Dove. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 8e7c6a3269d4e22827715c23c854636115f51c23 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:59:31 2015 +0100 ARM: dt: Add PMU node, making PMU child devices childs of this node Add the PMU node, and move the child devices of the PMU node beneath this new node, giving it a "simple-bus" so that the OF platform device creator will create these child devices. No functional change from this is expected. The PMU provides multiple features, including an interrupt, reset, power and isolation controller. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 320677123905fd1dd122895cd5fb870ee9e1380b Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 4 04:30:19 2015 -0400 perf tools: Per-event time support This patchkit adds the ability to turn off time stamps per event. One usaful case for partial time is to work with per-event callgraph to enable "PEBS threshold > 1" (https://lkml.org/lkml/2015/5/10/196), which can significantly reduce the sampling overhead. The event samples with time stamps off will not be ordered. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438677022-34296-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 34221118cb13f8b37480bce7286a1b44e90773d8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 4 23:31:25 2015 -0300 perf trace: Use vfs_getname syscall arg beautifier in more syscalls Those were covered and tested in this cset: access, chdir, chmod, chown, chroot, creat, getxattr, inotify_add_watch, lchown, lgetxattr, listxattr, lsetxattr, mkdir, mkdirat, mknod, rmdir, faccessat, newfstatat, openat, readlink, readlinkat, removexattr, setxattr, statfs, swapon, swapoff, truncate, unlinkat, utime, utimes, utimensat. E.g.: # trace -e statfs,access,mkdir mkdir /tmp/bla 0.285 (0.020 ms): mkdir/2799 access(filename: /etc/ld.so.preload, mode: R ) = -1 ENOENT No such file or directory 1.070 (0.032 ms): mkdir/2799 statfs(pathname: /sys/fs/selinux, buf: 0x7ffeafbdc930) = 0 1.087 (0.013 ms): mkdir/2799 statfs(pathname: /sys/fs/selinux, buf: 0x7ffeafbdc820) = 0 1.189 (0.014 ms): mkdir/2799 access(filename: /etc/selinux/config ) = 0 1.905 (0.610 ms): mkdir/2799 mkdir(pathname: /tmp/bla, mode: 511 ) = 0 # Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-wbqtnlktquun3wtpjdz3okul@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> and an empty message aborts the commit. commit 39aa437e18cac7acae55481ed73feea0de497399 Merge: e8d36d5 f4acd12 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 17:24:11 2015 +0200 Merge branch 'queue/irq/arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next/cleanup Merge "ARM: Interrupt cleanups and API change preparation" from Thomas Gleixner: The following patch series contains the following changes: - Consolidation of chained interrupt handler setup/removal - Switch to functions which avoid a redundant interrupt descriptor lookup - Preparation of interrupt flow handlers for the 'irq' argument removal * 'queue/irq/arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: ARM/orion/gpio: Prepare gpio_irq_handler for irq argument removal ARM/pxa: Prepare balloon3_irq_handler for irq argument removal ARM/pxa: Prepare *_irq_handler for irq argument removal ARM/dove: Prepare pmu_irq_handler for irq argument removal ARM/sa1111: Prepare sa1111_irq_handler for irq argument removal ARM/locomo: Prepare locomo_handler for irq argument removal ARM, irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc ARM/LPC32xx: Use irq_set_handler_locked() ARM/irq: Use access helper irq_data_get_affinity_mask() ARM/locomo: Consolidate chained IRQ handler install/remove ARM/orion: Consolidate chained IRQ handler install/remove Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ae9d2fb482fa48f637b6705e6fef6f7f999ec779 Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed Aug 5 11:19:45 2015 -0400 audit: fix uninitialized variable in audit_add_rule() As reported by the 0-Day testing service: kernel/auditfilter.c: In function 'audit_rule_change': >> kernel/auditfilter.c:864:6: warning: 'err' may be used uninit... int err; Cc: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit e90c2d2850d9d034e814a328725a4b15878f0357 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Jul 28 18:36:47 2015 +0800 f2fs: invalidate temporary meta page To avoid meeting garbage data in next free node block at the end of warm node chain when doing recovery, we will try to zero out that invalid block. If the device is not support discard, our way for zeroing out block is: grabbing a temporary zeroed page in meta inode, then, issue write request with this page. But, we forget to release that temporary page, so our memory usage will increase without gaining any hit ratio benefit, so it's better to free it for saving memory. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 470f00e9686f0b338a457568229fe7b7d44b8e6a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Jul 14 18:14:06 2015 +0800 f2fs: fix to release inode page correctly In following call path, we will pass a locked and referenced ipage pointer to get_new_data_page: - init_inode_metadata - make_empty_dir - get_new_data_page There are two exit paths in get_new_data_page when error occurs: 1) grab_cache_page fails, ipage will not be released; 2) f2fs_reserve_block fails, ipage will be released in callee. So, it's not consistent for error handling in get_new_data_page. For f2fs_reserve_block, it's not very easy to change the rule of error handling, since it's already complicated. Here we deside to choose an easy way to fix this issue: If any error occur in get_new_data_page, we will ensure releasing ipage in this function. The same issue is in f2fs_convert_inline_dir, fix that too. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7a04f64d4d5367ade827d75388d66054b535e201 Author: Liu Xue <liuxueliu.liu@xxxxxxxxxx> Date: Mon Jul 27 10:17:59 2015 +0000 f2fs: unify f2fs_bug_on when check blocks and segment Replace BUG_ON with f2fs_bug_on to deal with block and segment validity check failed. Signed-off-by: Xue Liu <liuxueliu.liu@xxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f3f338caad3428fbc4bb563828efc6ecce4d956b Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Jul 29 17:33:13 2015 +0800 f2fs: freeze filesystem when fail to update meta page due to IO error In get_meta_page, we guarantee no failure for the returned page, but sometimes, IO error from device will incur returning an non-updated page. Then, we still use this page as updated one, exception could happen when using this kind of page. So in this condition, we'd better freeze fs by making fs readonly and and stop doing checkpoint. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5768dcdd7f7675f9540e648428c8a1cd7208a0fe Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Tue Aug 4 13:27:51 2015 +0800 f2fs: change the timing of f2fs_wait_on_page_writeback some backing devices need pages to be stable during writeback. It doesn't matter if the page is completely overwritten or already uptodate, it needs to wait before write. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit edb27deea7cabfff8feb8c62aae647b7673be734 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Jul 25 00:52:52 2015 -0700 f2fs: handle error cases in commit_inmem_pages This patch adds to handle error cases in commit_inmem_pages. If an error occurs, it stops to write the pages and return the error right away. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a6d494b6d84697f954aaade204e8a5843078a94f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 24 18:26:26 2015 +0800 f2fs: fix to build free nids from readaheaded nat pages When there is no enough free nids in free nid cache, we will try to readahead FREE_NID_PAGES:4 nat pages into page cache of meta_inode, then, reading nat entries in nat page for adding free nids to free nid cache. But when traversing all nat pages we readaheaded in a circulation, our exit condition is not set right, one more nat page will be scanned without readaheading, resulting worse read performance. This patch fixes to read the correct number nat pages to avoid bad performance. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit e4e762723a90109c968c6c58f7d9bf4541c22928 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 24 18:24:45 2015 +0800 f2fs: fix inline data/dentry stat number leak If we clear inline data/dentry flag in handle_failed_inode, we will fail to decline the stat count of inline data/dentry in f2fs_evict_inode due to no flag in inode. So remove the wrong clearing. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f4c9c743acedc2f083e6a1d4e186df6a2c12b2fd Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 17 18:06:35 2015 +0800 f2fs: convert inline data before set atomic/volatile flag In f2fs_ioc_start_{atomic,volatile}_write, if we failed in converting inline data, we will report error to user, but still remain atomic/volatile flag in inode, it will impact further writes for this file. Fix it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a5f64b6aa69b5cc05e198291811a2f3faf95b463 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 17 18:05:21 2015 +0800 f2fs: fix to wait all atomic written pages writeback This patch fixes the incorrect range (0, LONG_MAX) which is used in ranged fsync. If we use LONG_MAX as the parameter for indicating the end of file we want to synchronize, in 32-bits architecture machine, these datas after 4GB offset may not be persisted in storage after ->fsync returned. Here, we alter LONG_MAX to LLONG_MAX to fix this issue. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6a2905443cf27f9c14889428f14fccfb98ed97f4 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 17 18:02:39 2015 +0800 f2fs: skip writing in ->writepages when no dirty pages exist When flushing comes from background, if there is no dirty page in the mapping of inode, we'd better to skip seeking dirty page from mapping for writebacking. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 737f18992ee81cab897336e84c5c7f4e179dfd61 Author: Tiezhu Yang <kernelpatch@xxxxxxx> Date: Fri Jul 17 12:56:00 2015 +0800 f2fs: optimize f2fs_write_cache_pages The if statement "goto continue_unlock" is exactly the same when each if condition is true that is depended on the value of both "step" and "is_cold_data(page)" are 0 or 1. That means when the value of "step" equals to "is_cold_data(page)", the if condition is true and the if statement "goto continue_unlock" appears only once, so it can be optimized to reduce the duplicated code. Signed-off-by: Tiezhu Yang <kernelpatch@xxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 55f57d2c4259a9a4048cf4629a2c6ba53729188d Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Jul 16 18:19:02 2015 +0800 f2fs: fix double lock in handle_failed_inode In handle_failed_inode, there is a potential deadlock which can happen in below call path: - f2fs_create - f2fs_lock_op down_read(cp_rwsem) - f2fs_add_link - __f2fs_add_link - init_inode_metadata - f2fs_init_security failed - truncate_blocks failed - handle_failed_inode - f2fs_truncate - truncate_blocks(..,true) - write_checkpoint - block_operations - f2fs_lock_all down_write(cp_rwsem) - f2fs_lock_op down_read(cp_rwsem) So in this path, we pass parameter to f2fs_truncate to make sure cp_rwsem in truncate_blocks will not be locked again. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ecbaa4068f88f96a8ffde37d532e618508394b53 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Jul 16 18:18:11 2015 +0800 f2fs: reduce region of cp_rwsem covered in f2fs_do_collapse In f2fs_do_collapse, region cp_rwsem covered is large, since it will be held until all blocks are left shifted, so if we try to collapse small area at the beginning of large file, checkpoint who want to grab writer's lock of cp_rwsem will be delayed for long time. In order to avoid this condition, altering to lock/unlock cp_rwsem each shift operation. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 0f825ee6e873ac0daf5394c5ec76ca2f3d540370 Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Wed Jul 15 18:05:17 2015 +0800 f2fs: add new interfaces for extent tree Add a lookup and a insertion interface for extent tree. The new lookup return the insert position and the prev/next extents closest to the offset we lookup when find no match. The new insertion uses above parameters to improve performance. There are three possible insertions after the lookup in f2fs_update_extent_tree, two of them insert parts of removed extent back to tree, since no merge happens during this process, new insertion skips the merge check in this scanario; the another insertion inserts a new extent to tree, new insertion uses prev/next extent and insert position to insert this extent directly, and save the time of searching down the tree. As long as tree remains unchanged between lookup and insertion, this would work fine. And the new lookup would be useful when add multi-blocks extent support for insertion interface. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 86531d6b84bc096d5d9dbc23333df0ab8d347763 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Jul 15 13:08:21 2015 -0700 f2fs: callers take care of the page from bio error This patch changes for a caller to handle the page after its bio gets an error. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 727edac572034557d207b293a47de25145e3d58c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Jul 15 17:29:49 2015 +0800 f2fs: use atomic_t to record hit ratio info of extent cache Variables for recording extent cache ratio info were updated without protection, this patch tries to alter them to atomic_t type for more accurate stat. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d5e8f6c9800c382cc55d8df801775d51311f8f21 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Jul 15 17:28:53 2015 +0800 f2fs: stat inline xattr inode number This patch adds to stat the number of inline xattr inode for showing in debugfs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1b77c416e7dfe317277057c32baa67ea9e486ae7 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Jul 13 18:31:24 2015 -0700 f2fs: use a page temporarily for encrypted gced page That encrypted page is used temporarily, so we don't need to mark it accessed. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f6af5df0c7d7b7d0a80a2f4ac4171912312b55d4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 16:19:31 2015 +0200 ALSA: aoa-soundbus: Switch to dev_pm_ops Update the aoa-soundbus framework to use dev_pm_ops rather than the deprecated legacy suspend and resume callbacks. Since there isn't anything special to do at the bus level the bus driver does not have to implement any callbacks. The device driver core will automatically pick up and execute the device's PM ops. As there is only a single aoa-soundbus driver implementing suspend and resume, update both the core and driver at the same time to avoid unnecessary code churn. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2cd212427fa9cbf19c1f353d6e14b959e8f112f7 Author: Andy Sun <Andy.Sun@xxxxxxx> Date: Tue Jul 28 16:38:39 2015 +0800 ARM: dts: atlas7: add a GPIO key for rearview button Touching this key will trigger a camera event for rearview. Signed-off-by: Andy Sun <Andy.Sun@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 627830756dcf647349c25f4212e777e2146465d4 Author: Huayi Li <huayi.li@xxxxxxx> Date: Tue Jul 28 16:03:38 2015 +0800 ARM: dts: atlas7: put pinctl property to get pinmux for NAND Nand controller often share some pins with sd/mmc controller on atlas and prima series, nand node can be disabled if the pins are used by sd/mmc controller. Signed-off-by: Huayi Li <huayi.li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 4e881aa890391140af4a03e2d116b68723efe61a Author: Yonghui Zhang <yonghui.zhang@xxxxxxx> Date: Tue Jul 28 15:59:41 2015 +0800 ARM: dts: atlas7: add software digital radio nodes and its DMA channels this patch adds SDR(software digital raio) nodes and the DMA channels for it. Signed-off-by: Yonghui Zhang <yonghui.zhang@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 5e3773b2b8c576c48aac8c2e59f88fc73803677e Author: Guo Zeng <guo.zeng@xxxxxxx> Date: Tue Jul 28 15:56:34 2015 +0800 ARM: dts: atlas7: add lost PWM node this patch adds lost PWM node, and also fixes the ranges of its parent node. Signed-off-by: Guo Zeng <guo.zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit d9615f8bf5d93afcd6cce35c81d06030a82e93ef Author: Dongli Li <Kasin.Li@xxxxxxx> Date: Tue Jul 28 15:48:22 2015 +0800 ARM: dts: atlas7: add lost G2D node this patch adds lost G2D node, and also fixes the range of its parent node. Signed-off-by: Dongli Li <Kasin.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit f3a19caa52ec8a5d27583a094f957d71e66b9afe Author: Xiaofeng Fei <xiaofeng.fei@xxxxxxx> Date: Tue Jul 28 15:40:37 2015 +0800 ARM: dts: atlas7: add multimedia codec node this patch adds multimedia video codec node, and also fixes the ranges of its parent node. Signed-off-by: Xiaofeng Fei <xiaofeng.fei@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit d015642e124ec3a90d1699293bbd2514f9b525ea Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Mon Feb 9 14:29:46 2015 +0800 ARM: dts: atlas7: add alias name for spi device spi framework can use alias name of spi device to retrieve the bus id, so bus id will not be dynamical but statical and it will be easier for test for a specified spi device with a fixed name like use spidev. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 153645b3e0373e276e3641e8b784f186bcc18b7e Author: Ye He <Ye.He@xxxxxxx> Date: Tue Jul 28 15:31:34 2015 +0800 ARM: dts: atlas7: add lost gmac node this patch adds lost ethernet gmac node, and also fix the ranges of its parent node. Signed-off-by: Ye He <ye.he@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit c95c621157c53f890f55983cd57c128255091f1f Author: Ye He <Ye.He@xxxxxxx> Date: Tue Jul 28 15:26:59 2015 +0800 ARM: dts: atlas7: add performance monitor unit node Signed-off-by: Ye He <ye.he@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 81a85f9ebca5713a99c827e446768b9223f63a25 Author: Lily.Li <Lily.Li@xxxxxxx> Date: Tue Jul 28 15:17:43 2015 +0800 ARM: dts: atlas7: add lost jpeg node this patch adds lost jpeg node, and also fix the ranges of its parent node. Signed-off-by: Lily.Li <Lily.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit f994592d9386548d15cea597cde37a858b61c762 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 4 22:30:09 2015 -0300 perf trace: Deref sys_enter pointer args with contents from probe:vfs_getname To work like strace and dereference syscall pointer args we need to insert probes (or tracepoints) right after we copy those bytes from userspace. Since we're formatting the syscall args at raw_syscalls:sys_enter time, we need to have a formatter that just stores the position where, later, when we get the probe:vfs_getname, we can insert the pointer contents. Now, if a probe:vfs_getname with this format is in place: # perf probe -l probe:vfs_getname (on getname_flags:72@/home/git/linux/fs/namei.c with pathname) That was, in this case, put in place with: # perf probe 'vfs_getname=getname_flags:72 pathname=filename:string' Added new event: probe:vfs_getname (on getname_flags:72 with pathname=filename:string) You can now use it in all perf tools, such as: perf record -e probe:vfs_getname -aR sleep 1 # Then 'perf trace' will notice that and do the pointer -> contents expansion: # trace -e open touch /tmp/bla 0.165 (0.010 ms): touch/17752 open(filename: /etc/ld.so.cache, flags: CLOEXEC) = 3 0.195 (0.011 ms): touch/17752 open(filename: /lib64/libc.so.6, flags: CLOEXEC) = 3 0.512 (0.012 ms): touch/17752 open(filename: /usr/lib/locale/locale-archive, flags: CLOEXEC) = 3 0.582 (0.012 ms): touch/17752 open(filename: /tmp/bla, flags: CREAT|NOCTTY|NONBLOCK|WRONLY, mode: 438) = 3 # Roughly equivalent to strace's output: # strace -rT -e open touch /tmp/bla 0.000000 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 <0.000039> 0.000317 open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 <0.000102> 0.001461 open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 <0.000072> 0.000405 open("/tmp/bla", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3 <0.000055> 0.000641 +++ exited with 0 +++ # Now we need to either look for at all syscalls that are marked as pointers and have some well known names ("filename", "pathname", etc) and set the arg formatter to the one used for the "open" syscall in this patch. This implementation works for syscalls with just a string being copied from userspace, for matching syscalls with more than one string being copied via the same probe/trace point (vfs_getname) we need to extend the vfs_getname probe spec to include the pointer too, but there are some problems with that in 'perf probe' or the kernel kprobes code, need to investigate before considering supporting multiple strings per syscall. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-xvuwx6nuj8cf389kf9s2ue2s@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e4d44e830a4bbeb0cf6fdd24c24794a2e599e26d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 4 22:17:29 2015 -0300 perf trace: Use a constant for the syscall formatting buffer We were using it as a magic number, 1024, fix that. Eventually we need to stop doing it per line, and do it per arg, traversing the args at output time, to avoid the memmove() calls that will be used in the next cset to replace pointers present at raw_syscalls:sys_enter time with its contents that appear at probe:vfs_getname time, before raw_syscalls:sys_exit time. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-4sz3wid39egay1pp8qmbur4u@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 08c987763ad3bc1aef133bcac073198ff86efa85 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 4 17:01:04 2015 -0300 perf trace: Remember if the vfs_getname tracepoint/kprobe is in place So that we can later decide if we will store where to expand the pathname once we are handling vfs_getname or if we should instead just go on and straight away print the pointer. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ytxk5s5jpc50wahffmlxgxuw@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2e5e5f876143b147b98d0c0854b5fc577412b05b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 3 17:12:29 2015 -0300 perf trace: Do not show syscall tracepoint filter in the --no-syscalls case We were accessing trace->syscalls.events members even when that struct wasn't initialized, i.e. --no-syscalls was specified on the command line, fix it to show that, still in debug mode, when we have an event qualifier list, i.e. when we actually are doing subset syscall tracing. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Fixes: 19867b6186f3 ("perf trace: Use event filters for the event qualifier list") Link: http://lkml.kernel.org/n/tip-7980ym6vujgh3yiai0cqzc88@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d422e62562e0dcef0ace4cd4fc4b4519d0a55ab4 Merge: 8ec4198 514f161 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Aug 5 14:14:06 2015 +0100 Merge branch 'aarch64/psci/drivers' into aarch64/for-next/core Move our PSCI implementation out into drivers/firmware/ where it can be shared with arch/arm/. Conflicts: arch/arm64/kernel/psci.c commit 8833c01af6aa8e42fcbc74d76646ead05d0183a7 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Mon Aug 3 17:27:34 2015 +0530 ASoC: tegra: Use devm_clk_get This patch introduces the use of managed resource function devm_clk_get instead of clk_get and removes corresponding calls to clk_put in the probe and remove functions. To be compatible with the change various gotos are replaced with direct returns, and unneeded labels are dropped. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 709bc0657fe6f9f55fdaab246135ff73ba7796e4 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Tue Jul 28 15:30:40 2015 +0800 ARM: imx6ul: add fec MAC refrence clock and phy fixup init Add FEC MAC refrence clock init. Add phy fixup init for i.MX6ul 14x14 evk board that installs KSZ8081 phy. For the phy, there needs extra phy fixup for MII and RMII mode. Signed-off-by: Fugang Duan <b38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 9f55eb92441883a1afca48dc8d32bf62c4d8e833 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Tue Jul 28 15:30:39 2015 +0800 ARM: imx6ul: add fec bits to GPR syscon definition FEC requires additional bits to select refrence clock. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 233ce79db4b23a174bcf30bde5d6ad913d5f46d3 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 12:54:46 2015 +0100 ASN.1: Handle 'ANY OPTIONAL' in grammar An ANY object in an ASN.1 grammar that is marked OPTIONAL should be skipped if there is no more data to be had. This can be tested by editing X.509 certificates or PKCS#7 messages to remove the NULL from subobjects that look like the following: SEQUENCE { OBJECT(2a864886f70d01010b); NULL(); } This is an algorithm identifier plus an optional parameter. The modified DER can be passed to one of: keyctl padd asymmetric "" @s </tmp/modified.x509 keyctl padd pkcs7_test foo @s </tmp/modified.pkcs7 It should work okay with the patch and produce EBADMSG without. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit b970499878563437a43eab2dd2faa9217142fb98 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 1 10:04:52 2015 +0800 ASoC: wm8753: Drop wm8753_writeable function When .max_register is set and .writeable_reg is not implement, registers between 0 and .max_register are writeable. This is the same as current implementation of wm8753_writeable(), so just drop implementation for .writeable_reg callback. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f611cdd8eb33ac6ca1196319b27b7f7f24ef98a9 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 1 10:03:42 2015 +0800 ASoC: wm8731: Drop wm8731_writeable function When .max_register is set and .writeable_reg is not implement, registers between 0 and .max_register are writeable. This is the same as current implementation of wm8731_writeable(), so just drop implementation for .writeable_reg callback. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6f55a041378f8688ab4afd2702416cd5318fa73d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 30 10:24:03 2015 +0800 ASoC: wm8741: Simplify wm8741_set_dai_sysclk implementation Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2e45a25f9cb6546d8b3c20d9461e21f8c0a75a8a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:10 2015 +0200 ASoC: wm_hubs: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5092e76b8ab406af56b6a24629a7daf30ea94f78 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:09 2015 +0200 ASoC: wm9713: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0894e2b3cddaf00a52302d0eb83edb717c6fb913 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:08 2015 +0200 ASoC: wm9090: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5d9a5e609bd026294c0d5c02372303cb969c9d98 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:07 2015 +0200 ASoC: wm9081: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f1022087d372b02c8ffe5e1e084a3de763bea16b Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:06 2015 +0200 ASoC: wm8993: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 00769dbe3982c76dd68dac1d3f54328fa935bd21 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:05 2015 +0200 ASoC: wm8991: Don't use range container for TLVs with one entry For TLVs with only a single entry it is not necessary to use a range container. Use DECLARE_TLV_DB_LINEAR() directly instead of a combination of TLV_DB_RANGE_HEAD() and TLV_DB_LINEAR_ITEM(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dfd0edda1fb3cd7a7cdde56467d718b1e49e32d5 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:04 2015 +0200 ASoC: wm8990: Don't use range container for TLV with one entry For TLVs with only a single entry it is not necessary to use a range container. Use DECLARE_TLV_DB_SCALE() directly instead of a combination of TLV_DB_RANGE_HEAD() and TLV_DB_SCALE_ITEM(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fcbb71e9ccac59940b619bdd5a51c96495dd4731 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:03 2015 +0200 ASoC: wm8962: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5d272d89339a4f8c1905d5bdf5851346582b78f2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:02 2015 +0200 ASoC: wm8961: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 11c3727c4e625c248ff3b546290aade1399affec Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:01 2015 +0200 ASoC: wm8753: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7d711f63e36737968dcda5ce28fed3fb3e12fbdc Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:00 2015 +0200 ASoC: wm8737: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0b65e6c7e22c93139b2b4efdd7ba6bd7bfa27fa7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:59 2015 +0200 ASoC: wm8400: Don't use range container for TLV with one entry For TLVs with only a single entry it is not necessary to use a range container. Use DECLARE_TLV_DB_SCALE() directly instead of a combination of TLV_DB_RANGE_HEAD() and TLV_DB_SCALE_ITEM(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3d383ba8b49fbb2024851442e09a104b1f030fe Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:58 2015 +0200 ASoC: wm8350: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5ee0b8f8296f237604f0ff72f03e7836f5e164b4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:57 2015 +0200 ASoC: uda1380: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2524911e300771954698f384bd7f44543b2af2de Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:56 2015 +0200 ASoC: twl4030: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4e0e5f8084cf9766ea70234f90271e03fd8aa56d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:55 2015 +0200 ASoC: tpa6130a2: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f9d54802b6339cc3d4bdf30ca3648790064462d2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:54 2015 +0200 ASoC: ssm2602: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 53eb1ca3caab417f1f686627bbf6bfa7d54cb5a8 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:53 2015 +0200 ASoC: sgtl5000: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 53f28609b0091c1e450105aaef924320aa748082 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:52 2015 +0200 ASoC: rt5677: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dea6d32e9efea0a75b5fb367fd53fa0562154852 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:51 2015 +0200 ASoC: rt5670: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e3648e10fd832e4e07bc3c0cf0e37f95de60082 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:50 2015 +0200 ASoC: rt5651: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6d698a83fa768be38780d54fc6c244c99cf7684d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:49 2015 +0200 ASoC: rt5645: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8295822dac5d78e62beb6a13bbb2d82e36ba763c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:48 2015 +0200 ASoC: rt5640: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f708abeac7d12f00b200848aa0cafe589ea8454 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:47 2015 +0200 ASoC: rt5631: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d6e3bb7aca7fbd092f1a19991526c095e59f8531 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:46 2015 +0200 ASoC: max9877: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e0340985999fbee1a51bd4653d90ca19a8a7acdc Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:45 2015 +0200 ASoC: max9850: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54c2011f5a7c31ec4e2ddb8694b559e29673941e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:44 2015 +0200 ASoC: max98095: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8896bc3e089b39d077c7afbf785166aac28e5151 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:43 2015 +0200 ASoC: max98090: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 80170468deec8fe851957d1e1cc3cf680ae46804 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:42 2015 +0200 ASoC: max98088: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44744eeccff7de65f98f2d5db804adc51bfd3333 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:41 2015 +0200 ASoC: max9768: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4689ac530efa8dadfb3ef8a284f9b2b14b75ad5f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:40 2015 +0200 ASoC: jz4740: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e27c8404a4745b3efeec1457e6b72f448ab4a785 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:39 2015 +0200 ASoC: da9055: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 32e933be3f221723ace230fe1293eb3b3b3466ff Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:38 2015 +0200 ASoC: da7213: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c1e1bfe22d6dc45384acebe0722d35e89011cc2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:37 2015 +0200 ASoC: da7210: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0c8129152cb849183a204fe0ce95673e4c88d2f6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:36 2015 +0200 ASoC: cs42l73: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 37879bafc2e0932279ad440d5a81c323e0c5c58c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:35 2015 +0200 ASoC: cs42l56: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0a017768e8964ab4a6a68ad47a042d28b35695fb Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:34 2015 +0200 ASoC: cs42l52: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ec7e4dc85cd7a2498d6ab71e9f77f49b41729fb4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:33 2015 +0200 ASoC: alc5632: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c8aeb0f60f648fbb77c1d5b3edda86e08bf53b30 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:32 2015 +0200 ASoC: alc5623: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 31581f3c09e796d5faac183eadfe06dca2223a5e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:31 2015 +0200 ASoC: adau1373: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 69dae09f2da83c96de6c8573061bd38e9989e873 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:30 2015 +0200 ASoC: ab8500: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f17cbcfef3cf6d91a374817f84c66951c84f11e2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:29 2015 +0200 ASoC: 88pm860x: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cec13c26e90e53015360c09574a7a2cde8d29495 Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:52 2015 +0200 rtc: mxc: add support of device tree Add device tree support for the mxc rtc driver. Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 61186371570e3ca62585e29e307f7a9c42ab789a Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:51 2015 +0200 dt-binding: document the binding for mxc rtc This adds documentation of device tree bindings for the mxc rtc. Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 8f5fe77828e16ef6fd8e4931ab177b41449ce8fc Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:50 2015 +0200 rtc: mxc: use a second rtc clock The mxc RTC needs two clocks, one for the input reference, and one for the IP. But this driver was only using one clock (for the reference). This patch add the second clock (for the IP). Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3713e3f5e9274bbe52e94716bde303071364c1ed Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:49 2015 +0200 clk: imx35: define two clocks for rtc The imx35 don't define clocks for rtc. This patch add two clocks, as needed by the mxc rtc driver. Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 00a48fe341ed497be64df2c6875af0da45d6ae90 Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:48 2015 +0200 clk: imx31: add a second rtc clock The mxc rtc driver needs two clock. It was defined only one clock, so we define the second clock. Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6a5278ee34e7fd4b051fd107a94a099778458d8c Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Tue Aug 4 15:37:16 2015 +0200 drm/vmwgfx: Fix an uninitialized value Reported by Intel's kbuild robot. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit 2e3cc8cff629c9697ac27c95a89dda7c7785b6b4 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Tue Aug 4 15:34:14 2015 +0200 drm/vmwgfx: Fix compiler warning with 32-bit dma_addr_t When the size of dma_addr_t was 32 bits, the compiler warned about the size of the 32 bit shift being larger than the size of the data type. Reported by Intel's kbuild robot. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit b9eb1a6174e58eb8beea664ffc20d152230d8004 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Apr 2 02:39:45 2015 -0700 drm/vmwgfx: Kill a bunch of sparse warnings We're giving up all attempts to keep cpu- and device byte ordering separate. This silences sparse when compiled using make C=2 CF="-D__CHECK_ENDIAN__" Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit f6b05004538ab0933c7527f10a2a6ed88c620f99 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Jun 29 12:59:58 2015 -0700 drm/vmwgfx: Fix kms preferred mode sorting The preferred mode typically didn't end up first, since the function drm_mode_connector_list_update() reordered the modes. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 352b20dc51488b264abe6b9755395c63c90e807b Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Jun 29 12:57:37 2015 -0700 drm/vmwgfx: Reinstate the legacy display system dirty callback It somehow got lost in a rewrite. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit a278724aa23c544c2087cb7537db6b950877c291 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Jun 29 12:55:07 2015 -0700 drm/vmwgfx: Implement fbdev on kms v2 With screen targets the old legacy display system fbdev doesn't work satisfactory anymore. At best the resolution is severely restricted. Therefore implement fbdev on top of the kms system. With this change, fbdev will be using whatever KMS backend is chosen. There are helpers available for this, so in the future we'd probably want to implement the helper callbacks instead of calling into our KMS implementation directly. v2: Make sure we take the mode_config mutex around modesetting, Also clear the initial framebuffer using vzalloc instead of vmalloc. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit fd006a43a8c4c9356ace60eacd8ae68954fa25e0 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Sun Jun 28 02:50:56 2015 -0700 drm/vmwgfx: Add a kernel interface to create a framebuffer v2 The kernel interface is needed for fbdev, and needs to be free from a file_priv member. To accomplish this, remove the fb surface mutex and list which isn't used anymore, anyway. Finally, make the pin() and unpin() pin the framebuffer for all display system backends, so that fbdev can pin its framebuffer before mapping it. v2: Address review comments: - Fix vmw_framebuffer_unpin() to handle also the surface framebuffer case. - Fix vmw_kms_new_framebuffer() to actually use the only_2d parameter. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 9b590783b3d6d2e06516788d1061176109677409 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jun 26 04:46:52 2015 -0700 drm/vmwgfx: Avoid cmdbuf alloc sleeping if !TASK_RUNNING If the command buffer pool is out of space, the code waits until space is available. However since the condition code tries to allocate a range manager node while !TASK_RUNNING we get a kernel warning. Avoid this by pre-allocating the mm node. This will also probably be more efficient. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 6bf6bf03b37b5ba0f3399fa9bb3d62edfa117c87 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jun 26 02:22:40 2015 -0700 drm/vmwgfx: Convert screen targets to new helpers v3 Also implements the missing readback function and fixes page flip in case of no event. v2: - Adapt to the work done for screen targets for 2d, in particular Handle proxy surface updates. - Remove execbuf quirks since we now use fifo reserve / commit. - Revert the initial placement of vmw dma buffers. v3: Address review comments. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 10b1e0ca9c32deb3a9b0ecc93fc4920fc24b4a57 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jun 26 02:14:27 2015 -0700 drm/vmwgfx: Convert screen objects to the new helpers This makes it possible to use the same function for surface dirty and present. Also fixes page flip without events. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 1a4b172ac96edd7f571772e83c09c5a18718a4fa Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jun 26 02:03:53 2015 -0700 drm/vmwgfx: Add kms helpers for dirty- and readback functions We need to make the dirty- and readback functions callable without a struct drm_file pointer. We also need to unify the handling of dirty- and readback cliprects that are now implemented in various places across the kms system, som add helpers to facilitate this. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 459d0fa7359654e5e076e84fc58512f00f70fee9 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jun 26 00:25:37 2015 -0700 drm/vmwgfx: Introduce a pin count to allow for recursive pinning v2 v2: Fix dma buffer validation on resource pinning. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit f89c6c321c4a7c0188922f331b70d83af01ab53e Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Fri Jun 26 01:54:28 2015 -0700 drm/vmwgfx: Replace SurfaceDMA usage with SurfaceCopy in 2D VMs This patch address the following underlying issues with SurfaceDMA * SurfaceDMA command does not work in a 2D VM, but we can wrap a proxy surface around the same DMA buffer and use the SurfaceCopy command which does work in a 2D VM. * Wrapping a DMA buffer with a proxy surface also gives us an added optimization path for the case when the DMA buf dimensions match the mode. In this case, the DMA buf can be pinned as the display surface, saving an extra copy. This only works in a 2D VM because we won't be doing any rendering operations directly to the display surface. v2 * Moved is_dmabuf_proxy field to vmw_framebuffer_surface * Undone coding style changes * Addressed other issues from review Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Reviewed-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 35c051258e8fd7cb97222f4aa887bcd404c156d0 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Fri Jun 26 01:42:06 2015 -0700 drm/vmwgfx: Implement screen targets Add support for the screen target device interface. Add a getparam parameter and bump minor to signal availability. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit c9146cd918852ba6ec1af3bb376ac88edc15e3d9 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Mar 2 23:45:04 2015 -0800 drm/vmwgfx: Add "quirk" to handling command verification exceptions For certain surface copies, we don't have a user space handle for the destination surface. In such cases, we are going to trust that our caller is giving us the right surface ID. To do this case, we created a quirk flag that may be useful in the future for handling other cases. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit c8261a961ece4206bd60708eafa24ab81347f87c Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Fri Jun 26 01:23:42 2015 -0700 vmwgfx: Major KMS refactoring / cleanup in preparation of screen targets Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 233826a74881e38aca20ced22842322269877612 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Thu Mar 5 01:06:13 2015 -0800 drm/vmwgfx: Refactor vmw_gb_surface_define_ioctl() Refactored vmw_gb_surface_define_ioctl() and made the surface definition part a separate function. This way other parts of vmwgfx can use it to allocate kernel-visible GB surfaces. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 7b64115fc79c766ba2f89ec822427d720f395f3f Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Fri Feb 27 04:44:24 2015 -0800 drm/vmwgfx: SVGA device definition update Update device definition headers to support screen targets. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit ed93394c14ba50e3e53ef289116625f0f05f8616 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Mar 2 23:26:06 2015 -0800 drm/vmwgfx: Add an interface to pin a resource v3 For screen targets it appears we need to pin surfaces while they are bound as screen targets, so add a small interface to do that. v2: Always increase pin_count on pin. v3: Add missing reservation sem. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit ee511a835a681ee147666a0c85b96f8a43aae2d5 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 12:00:39 2015 -0700 drm/vmwgfx: Fix an overlay lockdep error Fix a circular locking dependency between struct vmw_overlay::mutex and struct vmw_private::reservation_sem Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit 3eab3d9eef65041952fd7b15a2eba13cb308968d Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 11:57:56 2015 -0700 drm/vmwgfx: Add command buffer support v3 Add command buffer support. Currently we don't implement preemption or fancy error handling. Tested with a couple of mesa-demos, compiz/unity and viewperf maya-03. v2: - Synchronize with pending work at command buffer manager takedown. - Add an interface to flush the current command buffer for latency-critical command batches and apply it to framebuffer dirtying. v3: - Minor fixes of definitions and typos to address reviews. - Removed new or moved branch predictor hints. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit cb09bbcc429a290d01ebf23b9f0193dee0da6779 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 11:15:11 2015 -0700 vmwgfx: Update device headers for command buffers. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 13eec7eaae00276c952852f4c2723cd55ac0fb8c Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 11:12:17 2015 -0700 drm/vmwgfx: Fix OTABLE takedown Don't fence and free the BO if command submission fails. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 153b3d5b037eeb01d1e5610958a5bbd79885b2be Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 10:47:43 2015 -0700 vmwgfx: Rework device initialization This commit reworks device initialization so that we always enable the FIFO at driver load, deferring SVGA enable until either first modeset or fbdev enable. This should always leave the fifo properly enabled for render- and control nodes. In addition, *) We disable the use of VRAM when SVGA is not enabled. *) We simplify PM support so that we only throw out resources on hibernate, not on suspend, since the device keeps its state on suspend. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 12617971c443c50750a12a77ea0e08319d161975 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 10:10:36 2015 -0700 drm/vmwgfx: Fix an fb unlocking bug A regression introduced when the master ttm lock was split into two. Reported-and-tested-by: Brian Paul <brianp@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit 0d62e9dd6da45bbf0f33a8617afc5fe774c8f45f Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 12:54:46 2015 +0100 ASN.1: Fix non-match detection failure on data overrun If the ASN.1 decoder is asked to parse a sequence of objects, non-optional matches get skipped if there's no more data to be had rather than a data-overrun error being reported. This is due to the code segment that decides whether to skip optional matches (ie. matches that could get ignored because an element is marked OPTIONAL in the grammar) due to a lack of data also skips non-optional elements if the data pointer has reached the end of the buffer. This can be tested with the data decoder for the new RSA akcipher algorithm that takes three non-optional integers. Currently, it skips the last integer if there is insufficient data. Without the fix, #defining DEBUG in asn1_decoder.c will show something like: next_op: pc=0/13 dp=0/270 C=0 J=0 - match? 30 30 00 - TAG: 30 266 CONS next_op: pc=2/13 dp=4/270 C=1 J=0 - match? 02 02 00 - TAG: 02 257 - LEAF: 257 next_op: pc=5/13 dp=265/270 C=1 J=0 - match? 02 02 00 - TAG: 02 3 - LEAF: 3 next_op: pc=8/13 dp=270/270 C=1 J=0 next_op: pc=11/13 dp=270/270 C=1 J=0 - end cons t=4 dp=270 l=270/270 The next_op line for pc=8/13 should be followed by a match line. This is not exploitable for X.509 certificates by means of shortening the message and fixing up the ASN.1 CONS tags because: (1) The relevant records being built up are cleared before use. (2) If the message is shortened sufficiently to remove the public key, the ASN.1 parse of the RSA key will fail quickly due to a lack of data. (3) Extracted signature data is either turned into MPIs (which cope with a 0 length) or is simpler integers specifying algoritms and suchlike (which can validly be 0); and (4) The AKID and SKID extensions are optional and their removal is handled without risking passing a NULL to asymmetric_key_generate_id(). (5) If the certificate is truncated sufficiently to remove the subject, issuer or serialNumber then the ASN.1 decoder will fail with a 'Cons stack underflow' return. This is not exploitable for PKCS#7 messages by means of removal of elements from such a message from the tail end of a sequence: (1) Any shortened X.509 certs embedded in the PKCS#7 message are survivable as detailed above. (2) The message digest content isn't used if it shows a NULL pointer, similarly, the authattrs aren't used if that shows a NULL pointer. (3) A missing signature results in a NULL MPI - which the MPI routines deal with. (4) If data is NULL, it is expected that the message has detached content and that is handled appropriately. (5) If the serialNumber is excised, the unconditional action associated with it will pick up the containing SEQUENCE instead, so no NULL pointer will be seen here. If both the issuer and the serialNumber are excised, the ASN.1 decode will fail with an 'Unexpected tag' return. In either case, there's no way to get to asymmetric_key_generate_id() with a NULL pointer. (6) Other fields are decoded to simple integers. Shortening the message to omit an algorithm ID field will cause checks on this to fail early in the verification process. This can also be tested by snipping objects off of the end of the ASN.1 stream such that mandatory tags are removed - or even from the end of internal SEQUENCEs. If any mandatory tag is missing, the error EBADMSG *should* be produced. Without this patch ERANGE or ENOPKG might be produced or the parse may apparently succeed, perhaps with ENOKEY or EKEYREJECTED being produced later, depending on what gets snipped. Just snipping off the final BIT_STRING or OCTET_STRING from either sample should be a start since both are mandatory and neither will cause an EBADMSG without the patches Reported-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 3f3af97d8225a58ecdcde7217c030b17e5198226 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 12:54:46 2015 +0100 ASN.1: Fix actions on CHOICE elements with IMPLICIT tags In an ASN.1 description where there is a CHOICE construct that contains elements with IMPLICIT tags that refer to constructed types, actions to be taken on those elements should be conditional on the corresponding element actually being matched. Currently, however, such actions are performed unconditionally in the middle of processing the CHOICE. For example, look at elements 'b' and 'e' here: A ::= SEQUENCE { CHOICE { b [0] IMPLICIT B ({ do_XXXXXXXXXXXX_b }), c [1] EXPLICIT C ({ do_XXXXXXXXXXXX_c }), d [2] EXPLICIT B ({ do_XXXXXXXXXXXX_d }), e [3] IMPLICIT C ({ do_XXXXXXXXXXXX_e }), f [4] IMPLICIT INTEGER ({ do_XXXXXXXXXXXX_f }) } } ({ do_XXXXXXXXXXXX_A }) B ::= SET OF OBJECT IDENTIFIER ({ do_XXXXXXXXXXXX_oid }) C ::= SET OF INTEGER ({ do_XXXXXXXXXXXX_int }) They each have an action (do_XXXXXXXXXXXX_b and do_XXXXXXXXXXXX_e) that should only be processed if that element is matched. The problem is that there's no easy place to hang the action off in the subclause (type B for element 'b' and type C for element 'e') because subclause opcode sequences can be shared. To fix this, introduce a conditional action opcode(ASN1_OP_MAYBE_ACT) that the decoder only processes if the preceding match was successful. This can be seen in an excerpt from the output of the fixed ASN.1 compiler for the above ASN.1 description: [ 13] = ASN1_OP_COND_MATCH_JUMP_OR_SKIP, // e [ 14] = _tagn(CONT, CONS, 3), [ 15] = _jump_target(45), // --> C [ 16] = ASN1_OP_MAYBE_ACT, [ 17] = _action(ACT_do_XXXXXXXXXXXX_e), In this, if the op at [13] is matched (ie. element 'e' above) then the action at [16] will be performed. However, if the op at [13] doesn't match or is skipped because it is conditional and some previous op matched, then the action at [16] will be ignored. Note that to make this work in the decoder, the ASN1_OP_RETURN op must set the flag to indicate that a match happened. This is necessary because the _jump_target() seen above introduces a subclause (in this case an object of type 'C') which is likely to alter the flag. Setting the flag here is okay because to process a subclause, a match must have happened and caused a jump. This cannot be tested with the code as it stands, but rather affects future code. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 8d9b21dcfe6814c92c9f445a7c742b7bab4f86b8 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 12:54:45 2015 +0100 ASN.1: Fix handling of CHOICE in ASN.1 compiler Fix the handling of CHOICE types in the ASN.1 compiler to make SEQUENCE and SET elements in a CHOICE be correctly rendered as skippable and conditional as appropriate. For example, in the following ASN.1: Foo ::= SEQUENCE { w1 INTEGER, w2 Bar, w3 OBJECT IDENTIFIER } Bar ::= CHOICE { x1 Seq1, x2 [0] IMPLICIT OCTET STRING, x3 Seq2, x4 SET OF INTEGER } Seq1 ::= SEQUENCE { y1 INTEGER, y2 INTEGER, y3 INTEGER } Seq2 ::= SEQUENCE { z1 BOOLEAN, z2 BOOLEAN, z3 BOOLEAN } the output in foo.c generated by: ./scripts/asn1_compiler foo.asn1 foo.c foo.h included: // Bar // Seq1 [ 4] = ASN1_OP_MATCH, [ 5] = _tag(UNIV, CONS, SEQ), ... [ 13] = ASN1_OP_COND_MATCH_OR_SKIP, // x2 [ 14] = _tagn(CONT, PRIM, 0), // Seq2 [ 15] = ASN1_OP_MATCH, [ 16] = _tag(UNIV, CONS, SEQ), ... [ 24] = ASN1_OP_COND_MATCH_JUMP_OR_SKIP, // x4 [ 25] = _tag(UNIV, CONS, SET), ... [ 27] = ASN1_OP_COND_FAIL, as a result of the CHOICE - but this is wrong on lines 4 and 15 because both of these should be skippable (one and only one of the four can be picked) and the one on line 15 should also be conditional so that it is ignored if anything before it matches. After the patch, it looks like: // Bar // Seq1 [ 4] = ASN1_OP_MATCH_JUMP_OR_SKIP, // x1 [ 5] = _tag(UNIV, CONS, SEQ), ... [ 7] = ASN1_OP_COND_MATCH_OR_SKIP, // x2 [ 8] = _tagn(CONT, PRIM, 0), // Seq2 [ 9] = ASN1_OP_COND_MATCH_JUMP_OR_SKIP, // x3 [ 10] = _tag(UNIV, CONS, SEQ), ... [ 12] = ASN1_OP_COND_MATCH_JUMP_OR_SKIP, // x4 [ 13] = _tag(UNIV, CONS, SET), ... [ 15] = ASN1_OP_COND_FAIL, where all four options are skippable and the second, third and fourth are all conditional, as is the backstop at the end. This hasn't been a problem so far because in the ASN.1 specs we have are either using primitives or are using SET OF and SEQUENCE OF which are handled correctly. Whilst we're at it, also make sure that element labels get included in comments in the output for elements that have complex types. This cannot be tested with the code as it stands, but rather affects future code. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 63d5e127de8287c4ae80f43cda8cb9c06e612929 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:01:10 2015 +0900 mailbox: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Lee Jones <lee@xxxxxxxxxx> Reviewed-by: Eric Anholt <eric@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit eb157c81d046d01c468df7e27d33563dce413154 Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Aug 4 18:35:00 2015 +0300 ARM: dts: am437x-gp-evm: Add eMMC support Add eMMC pinmux and mmc2 related bits. We keep the mmc2 controller disabled as it conflits with gpmc/NAND. To enable emmc, simply set mmc2 controller node to "okay" and set the gpmc node to "disabled" and change the SelEMMCorNAND gpio-hog to output-high. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 50336f5127640b1cc6a84c2a7853774a11e1e3c2 Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Aug 4 18:34:59 2015 +0300 ARM: dts: am437x-gp-evm: Add gpio-hog for configuring eMMC/NAND driver On this board either eMMC or NAND can work based on the level of spi2_cs0.gpio0_23. Add a gpio-hog to enable configuration of this pin in the device tree. Move pinmux for spi2_cs0 (SEL_eMMCorNANDn) out of NAND node into gpio0 so it is initialized with gpio0. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 92814c4a2cae0f9668bc6521cb51453a81a39299 Author: Dave Gerlach <d-gerlach@xxxxxx> Date: Tue Aug 4 18:34:58 2015 +0300 ARM: dts: am43xx: Introduce MUX_MODE9 for pinctrl Some pins on AM43XX support MODE9 for the pinctrl settings so add a binding to describe this. Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d62ce9ffd8211a423c462811ef083d2493a44321 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Jul 30 13:43:40 2015 +0530 ARM: dts: dra72-evm: Fix spurious card insert/removal interrupt ldo1_reg in addition to being connected to the io lines is also connected to the card detect line. On card removal, omap_hsmmc driver does a regulator_disable causing card detect line to be pulled down. This raises a card insertion interrupt and once the MMC core detects there is no card inserted, it does a regulator disable which again raises a card insertion interrupt. This happens in a loop causing infinite MMC interrupts. Fix it by making ldo1_reg as always_on. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9f04ceebe21a8cc8930adbea0fcc538a46e7289a Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Jul 30 13:43:39 2015 +0530 ARM: dts: dra7-evm: Fix spurious card insert/removal interrupt ldo1_reg in addition to being connected to the io lines is also connected to the card detect line. On card removal, omap_hsmmc driver does a regulator_disable causing card detect line to be pulled down. This raises a card insertion interrupt and once the MMC core detects there is no card inserted, it does a regulator disable which again raises a card insertion interrupt. This happens in a loop causing infinite MMC interrupts. Fix it by making ldo1_reg as always_on. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 29d632c8bb35bad91c85ad091a7b70f11e6c4966 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Jul 30 13:43:38 2015 +0530 ARM: dts: am57xx-beagle-x15: mmc1: remove redundant pbias-supply property pbias-supply is initialized in dra7.dtsi. Remove redundant initialization of pbias-supply from MMC1 dt node in am57xx-beagle-x15.dts Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f4eaf9e04874f03c13d40c8b8ed26ac6738af3e3 Author: Nishanth Menon <nm@xxxxxx> Date: Thu Jul 30 13:43:37 2015 +0530 ARM: dts: dra7-evm: Add MMCSD card removal GPIO SDMMC Card Detect can be used over default GPIO map. Reported-by: Yan Liu <yan-liu@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e23b27dbf88e31a4bd29b10917d74ba7d99d1e3c Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Jul 30 13:43:36 2015 +0530 ARM: dts: dra72-evm: Set max clock frequency of MMC1 and MMC2 MMC1 supports SDR104 and MMC2 supports HS200 both of which requires 192MHz clock. Set the maximum operating clock frequency to 192 MHz. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4b93521587df9928a49bfdefd72d4e0ffe5b0fe2 Author: Balaji T K <balajitk@xxxxxx> Date: Thu Jul 30 13:43:35 2015 +0530 ARM: dts: dra7-evm: add evm_3v3_sd regulator Add a node for evm_3v3_sd using onboard pcf GPIO expander which feeds on to mmc vdd. Update mapping for vmmc-supply and vmmc_aux-supply. evm_3v3_sd supplies to SD card vdd, and ldo1 to sdcard i/o lines. Signed-off-by: Balaji T K <balajitk@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a238707d9871381672cb3ee7bd6e66ede838c23f Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Jul 30 13:43:34 2015 +0530 ARM: dts: dra72-evm: add evm_3v3_sd regulator Add a node for evm_3v3_sd using pcf which feeds on to mmc vdd. Update mapping for vmmc-supply and vmmc_aux-supply. evm_3v3_sd supplies to SD card vdd, and ldo1 to sdcard i/o lines. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f735d4af4b0ec3d87885710adf18b077480e7b19 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:27 2015 +0800 KVM: VMX: drop ept misconfig check The logic used to check ept misconfig is completely contained in common reserved bits check for sptes, so it can be removed Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 47ab8751695f71d85562ff497e21b521c789247c Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:26 2015 +0800 KVM: MMU: fully check zero bits for sptes The #PF with PFEC.RSV = 1 is designed to speed MMIO emulation, however, it is possible that the RSV #PF is caused by real BUG by mis-configure shadow page table entries This patch enables full check for the zero bits on shadow page table entries (which includes not only bits reserved by the hardware, but also bits that will never be set in the SPTE), then dump the shadow page table hierarchy. Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d625b155d21bdedf7d289d422d73c644e2205624 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:25 2015 +0800 KVM: MMU: introduce is_shadow_zero_bits_set() We have the same data struct to check reserved bits on guest page tables and shadow page tables, split is_rsvd_bits_set() so that the logic can be shared between these two paths Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c258b62b264fdc469b6d3610a907708068145e3b Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:24 2015 +0800 KVM: MMU: introduce the framework to check zero bits on sptes We have abstracted the data struct and functions which are used to check reserved bit on guest page tables, now we extend the logic to check zero bits on shadow page tables The zero bits on sptes include not only reserved bits on hardware but also the bits that SPTEs willnever use. For example, shadow pages will never use GB pages unless the guest uses them too. Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 81b8eebbc3511bfa21520314b07988a875a4d066 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:23 2015 +0800 KVM: MMU: split reset_rsvds_bits_mask_ept Since shadow ept page tables and Intel nested guest page tables have the same format, split reset_rsvds_bits_mask_ept so that the logic can be reused by later patches which check zero bits on sptes Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6dc98b868bc5d44cd5fd9be2a35e3d87902e8818 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:22 2015 +0800 KVM: MMU: split reset_rsvds_bits_mask Since softmmu & AMD nested shadow page tables and guest page tables have the same format, split reset_rsvds_bits_mask so that the logic can be reused by later patches which check zero bits on sptes Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a0a64f50aac731d42125dd8581b9a31e4fdb0f75 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:21 2015 +0800 KVM: MMU: introduce rsvd_bits_validate These two fields, rsvd_bits_mask and bad_mt_xwr, in "struct kvm_mmu" are used to check if reserved bits set on guest ptes, move them to a data struct so that the approach can be applied to check host shadow page table entries as well Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d2b0f98125425c72a3f628fbe5498eb55329738b Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:20 2015 +0800 KVM: MMU: move FNAME(is_rsvd_bits_set) to mmu.c FNAME(is_rsvd_bits_set) does not depend on guest mmu mode, move it to mmu.c to stop being compiled multiple times Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6f691251c0350ac52a007c54bf3ef62e9d8cdc5e Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:19 2015 +0800 KVM: MMU: fix validation of mmio page fault We got the bug that qemu complained with "KVM: unknown exit, hardware reason 31" and KVM shown these info: [84245.284948] EPT: Misconfiguration. [84245.285056] EPT: GPA: 0xfeda848 [84245.285154] ept_misconfig_inspect_spte: spte 0x5eaef50107 level 4 [84245.285344] ept_misconfig_inspect_spte: spte 0x5f5fadc107 level 3 [84245.285532] ept_misconfig_inspect_spte: spte 0x5141d18107 level 2 [84245.285723] ept_misconfig_inspect_spte: spte 0x52e40dad77 level 1 This is because we got a mmio #PF and the handler see the mmio spte becomes normal (points to the ram page) However, this is valid after introducing fast mmio spte invalidation which increases the generation-number instead of zapping mmio sptes, a example is as follows: 1. QEMU drops mmio region by adding a new memslot 2. invalidate all mmio sptes 3. VCPU 0 VCPU 1 access the invalid mmio spte access the region originally was MMIO before set the spte to the normal ram map mmio #PF check the spte and see it becomes normal ram mapping !!! This patch fixes the bug just by dropping the check in mmio handler, it's good for backport. Full check will be introduced in later patches Reported-by: Pavel Shirshov <ru.pchel@xxxxxxxxx> Tested-by: Pavel Shirshov <ru.pchel@xxxxxxxxx> Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9c33ae0c614c7a4e64c2781f473057a273b57544 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Aug 4 10:58:26 2015 -0600 KVM: MTRR: Use default type for non-MTRR-covered gfn before WARN_ON The patch was munged on commit to re-order these tests resulting in excessive warnings when trying to do device assignment. Return to original ordering: https://lkml.org/lkml/2015/7/15/769 Fixes: 3e5d2fdceda1 ("KVM: MTRR: simplify kvm_mtrr_get_guest_memory_type") Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Reviewed-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c9ab94dfd2baf391f724d5dc28fcd8f71f7f311b Author: Suman Anna <s-anna@xxxxxx> Date: Fri Jul 17 16:08:04 2015 -0500 ARM: dts: AM4372: Add the wkup_m3_ipc node Add the Wakeup M3 IPC device node for the wkup_m3_ipc driver on AM4372 SoC. This node uses the IPC registers, part of the Control Module, and is therefore added as a child of the scm node. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 99937129075a907a5e4ba52cf0ebdbde9ff6be15 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Jul 17 16:08:03 2015 -0500 ARM: dts: AM33xx: Add the wkup_m3_ipc node Add the Wakeup M3 IPC node for the wkup_m3_ipc driver on AM33xx SoCs. This node uses the IPC registers, part of the Control Module, and is therefore added as a child of the scm node. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9f502ff55321a5270c3dfbb76ac3774e6b5d8097 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 5 12:09:45 2015 +0200 ALSA: hda - yet another fix for Dell headset mic with ALC3266 It turned out that there are three variants of pin config values of NID 0x17 on Dell laptops with ALC3266 (alias of ALC298): 0x90170110, 0x90170140 and 0x90170150. The first two have been already covered by commits 703867e2f252 and 977e627684df, so this commit adds the missing last entry. While we're at it, rearrange the three entries in the order of pincfg values. Reported-by: Kailang Yang <kailang@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 00a6d6e50ff34aa2351746422e4a1c85c7765b15 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Aug 5 10:03:18 2015 +0800 ASoC: Add function "rl6231_get_pre_div" to correct the dmic clock calculation Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 33cb3a13ce61c7ef9ac94976c7ceb59ead1e8573 Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Aug 4 12:10:14 2015 +0300 ARM: dts: dra7: Add scm_conf@1c04 node This region contains CTRL_CORE_SMA_SW2..9 registers which are not specific to any domain and can be reasonably accessed via syscon driver. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1c5cb6fdd69210f01d9925fd8232385a9c5baa9a Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Jul 27 13:27:29 2015 +0300 ARM: dts: dra7: fix pinmux@1400 resource length We need to add 4 bytes to include the last 32-bit register space. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 57fe9287c6bcd2261701f9793f690b165d02a962 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Jul 27 13:27:28 2015 +0300 ARM: dts: dra7: Remove ctrl_core and ctrl_general nodes These nodes are wrongly placed. They must come under the scm node. Nobody uses them either so get rid of them. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3f86e570f26837d9f48d64b7ece85853cb45becd Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Sat Aug 1 21:03:56 2015 +0530 ARM: davinci: cp_intc: use IRQCHIP_SKIP_SET_WAKE instead of irq_set_wake callback Commit 60f96b41f71d ("genirq: Add IRQCHIP_SKIP_SET_WAKE flag") introduced a new flag to skip the irq_set_wake callback in the irqchip core to avoid adding dummy irq_set_wake in the irqchip implementations. This patch removes the dummy callback and sets the IRQCHIP_SKIP_SET_WAKE flags. Cc: Sekhar Nori <nsekhar@xxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 757fe8d514a9bab55156dfb2c4a03e56ba96a028 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Aug 5 10:04:05 2015 +0300 spi: spi-pxa2xx: Remove unused legacy null dma buffer and allocation for it Remove null_dma_buf variable and extra allocation for it. It is not needed since commit 6356437e65c2 ("spi: spi-pxa2xx: remove legacy PXA DMA bits"). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 80aa93128653c5f2502053c0d9740b336d975667 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Mon Aug 3 13:09:11 2015 -0700 drm/i915: disable_shared_pll doesn't work on pre-gen5 Looks like commit eddfcbcdc27fbecb33bff098967bbdd7ca75bfa6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:53 2015 +0200 drm/i915: Update less state during modeset. introduced the unconditional calling of disable_shared_dpll, but didn't fix up pre-gen5 to avoid the BUG_ON at the top of the function. So change the BUG_ON into a gen check (alternately we could move the BUG_ON until later, since we shouldn't have a pll struct here either, but this seems clearer to read). This fixes a crash on load on my x200s platform. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 245d96670d2655f70f4445d5247f26afbe705c84 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Mon Aug 3 20:24:56 2015 +0100 drm/i915:skl: Add WaEnableGapsTsvCreditFix Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Tested-by: Ben Widawsky <ben@xxxxxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90854 Tested-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9dd068a4b85a68733213c874d08ef768bbec8d01 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Jul 31 17:03:13 2015 +0200 soc: mediatek: Fix SCPSYS compilation SCPSYS driver misses the module.h include which makes it fail when compiling with allmodconf. This patch fixes this. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1ff2b94d15ab25cfe7d63a2038fe458269f07f35 Merge: e06b2d8 9e07b49 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 11:11:51 2015 +0200 Merge tag 'mvebu-config-4.3-2' of git://git.infradead.org/linux-mvebu into next/defconfig mvebu config changes for v4.3 (part #2) Improve dt support for orion5x * tag 'mvebu-config-4.3-2' of git://git.infradead.org/linux-mvebu: ARM: defconfig: orion5x: add DT support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ee224e175e9d837b3d572e863ac96109b58707ac Merge: e7482c7 dc57844 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 11:10:30 2015 +0200 Merge tag 'mvebu-dt-4.3-2' of git://git.infradead.org/linux-mvebu into next/dt mvebu dt changes for v4.3 (part #2) Add support Buffalo Linkstation LS-WTGL * tag 'mvebu-dt-4.3-2' of git://git.infradead.org/linux-mvebu: ARM: dts: orion5x: add buffalo linkstation ls-wtgl Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 495078f892eef0ac791fd2b32393e1501b5c1c5e Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Jul 31 21:58:16 2015 -0600 toshiba_acpi: Bump driver version to 0.23 Given that some features were added (/dev/toshiba_acpi device), some clean-ups and minor (cosmetic) changes all over the driver code, bump the driver version to 0.23 to reflect these overall changes. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit a6b5354f422a1f1cd48a94ed64e54989f9ea7ee2 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Jul 31 21:58:15 2015 -0600 toshiba_acpi: Remove unnecessary checks and returns in HCI/SCI functions A previous patch added explicit feature checks for support, *SUCCESS* and *FAILURE to the HCI/SCI *{get, set} functions. This patch removes some unnedded checks to the driver HCI/SCI functions given that the default error return value is now set to -EIO, there is no need to check for other error values other than the ones currently checking for. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f9fa55b97090bdc70683c96d425759ae3958ce24 Merge: b69354d 482d638 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 11:09:02 2015 +0200 Merge tag 'mvebu-soc-4.3-1' of git://git.infradead.org/linux-mvebu into next/soc mvebu soc changes for v4.3 (part #1) - Extend suspend to RAM support in order to add new mvebu SoC - Add standby support for all Armada 3xx/XP SoCs * tag 'mvebu-soc-4.3-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Warn about the wake-up sources not taken into account in suspend ARM: mvebu: Add standby support ARM: mvebu: Use __init for the PM initialization functions ARM: mvebu: prepare pm-board.c for the introduction of Armada 38x support ARM: mvebu: prepare mvebu_pm_store_bootinfo() to support multiple SoCs ARM: mvebu: do not check machine in mvebu_pm_init() ARM: mvebu: prepare set_cpu_coherent() for future extension Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e1a949c1b9883d1d0586b0cbdd2c0cc3f55514bd Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Jul 31 21:58:14 2015 -0600 toshiba_acpi: Refactor *{get, set} functions return value This patch refactors the return value of the driver *{get, set} functions, since the driver default error value is -EIO. All the functions now check for TOS_FAILURE, TOS_NOT_SUPPORTED and TOS_SUCCESS. On TOS_FAILURE a pr_err message is printed informing the user of the error (no change was made to this, except the check was added to the functions not checking for this). On TOS_NOT_SUPPORTED we now return -ENODEV immediately (some functions were returning -EIO and some other were not checking) On TOS_SUCCESS* we now return 0 (as a side effect, a new success value was added, since some functions return one instead of zero to indicate success). As a special case, the LED functions now check for *FAILURE on *set, and check for TOS_FAILURE and TOS_SUCCESS on *get with their "default" return value set to LED_OFF. Also the {lcd, video}_proc* functions were adapted to reflect these changes to their parent HCI functions. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 0409cbced3c9ab975e300584b6cc036c26974b43 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Jul 31 21:58:13 2015 -0600 toshiba_acpi: Remove "*not supported" feature prints Currently the driver prints "*not supported" if any of the features queried are in fact not supported, let us print the available features instead. This patch removes all instances pr_info printing "*not supported", and add a new function called "print_supported_features", which will print the available laptop features. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit ea215a3f909c570521a9cc276163837ffa2c621a Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Jul 31 21:58:12 2015 -0600 toshiba_acpi: Change *available functions return type This patch changes the *available functions return type from int to void. The checks for support of their respective features are done inside such functions and there was no need to return anything as we can flag the queried feature as supported inside these functions. The code was adapted accordingly to these changes and two new variables were created and another was changed from uint to bool. Also, the function toshiba_acceleremoter_supported was renamed to toshiba_accelerometer_available to maintain the naming consistency on the driver. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 8ec41987436d566f7c4559c6871738b869f7ef07 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 4 17:49:36 2015 +0100 arm64: mm: ensure patched kernel text is fetched from PoU The arm64 booting document requires that the bootloader has cleaned the kernel image to the PoC. However, when a CPU re-enters the kernel due to either a CPU hotplug "on" event or resuming from a low-power state (e.g. cpuidle), the kernel text may in-fact be dirty at the PoU due to things like alternative patching or even module loading. Thanks to I-cache speculation with the MMU off, stale instructions could be fetched prior to enabling the MMU, potentially leading to crashes when executing regions of code that have been modified at runtime. This patch addresses the issue by ensuring that the local I-cache is invalidated immediately after a CPU has enabled its MMU but before jumping out of the identity mapping. Any stale instructions fetched from the PoC will then be discarded and refetched correctly from the PoU. Patching kernel text executed prior to the MMU being enabled is prohibited, so the early entry code will always be clean. Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e7482c74f214a2633af4e8486b0cbe1066355ba1 Merge: 75d84ee b76da4d Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 11:04:18 2015 +0200 Merge tag 'zynq-dt-for-4.3' of https://github.com/Xilinx/linux-xlnx into next/dt arm: Xilinx Zynq dt patches for v4.3 - Add ECC for Synopsys MC - Add OCM, pushbuttons to zc702 * tag 'zynq-dt-for-4.3' of https://github.com/Xilinx/linux-xlnx: ARM: zynq: DT: Add zc702 pushbuttons to DT as gpio-keys ARM: zynq: DT: Add missing interrupt for L2 pl310 Documentation: devicetree: Add ECC information to synopsys ddr controller ARM: dts: zynq: Add OCM node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a7f749f9c7e8222405740f6081bd183137d1d6f2 Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Mon Aug 3 21:55:32 2015 +0530 drm/i915/gen9: Removed byte swapping for csr firmware This patch contains the changes to remove the byte swapping logic introduced with old dmc firmware. While debugging PC10 entry issue for skylake found with latest dmc firmware version 1.18 without byte swapping dmc is working fine and able to enter PC10. Note that apparently this was changed with dmc version 1.0 and earlier ones indeed are byteswapped like this ... v1: Initial version. v2: Corrected firmware size during memcpy(). (Suggested by Sunil) Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Sunil Kamath <sunil.kamath@xxxxxxxxx> Signed-off-by: Animesh Manna <animesh.manna@xxxxxxxxx> Signed-off-by: Vathsala Nagaraju <vathsala.nagaraju@xxxxxxxxx> Reviewed-by: A.Sunil Kamath <sunil.kamath@xxxxxxxxx> [danvet: Add note that this only holds for released dmc firmware.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 88cd622f9299c4c9e61e978bb9ef9d7599769ed0 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 31 14:41:10 2015 -0700 x86/entry: Remove do_notify_resume(), syscall_trace_leave(), and their TIF masks They are no longer used. Good riddance! Deleting the TIF_ macros is really nice. It was never clear why there were so many variants. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/22c61682f446628573dde0f1d573ab821677e06da.1438378274.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5d73fc70996d9de0d1b2fc87e62dc51153204eba Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 31 14:41:09 2015 -0700 x86/entry/32: Migrate to C exit path This removes the hybrid asm-and-C implementation of exit work. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2baa438619ea6c027b40ec9fceacca52f09c74d09.1438378274.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5f69fde26d1581ee495f68bb9de4049c8168a04 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 31 14:41:08 2015 -0700 x86/entry/32: Remove 32-bit syscall audit optimizations The asm audit optimizations are ugly and obfuscate the code too much. Remove them. This will regress performance if syscall auditing is enabled on 32-bit kernels and SYSENTER is in use. If this becomes a problem, interested parties are encouraged to implement the equivalent of the 64-bit opportunistic SYSRET optimization. Alternatively, a case could be made that, on 32-bit kernels, a less messy asm audit optimization could be done. 32-bit kernels don't have the complicated partial register saving tricks that 64-bit kernels have, so the SYSENTER post-syscall path could just call the audit hooks directly. Any reimplementation of this ought to demonstrate that it only calls the audit hook once per syscall, though, which does not currently appear to be true. Someone would have to make the case that doing so would be better than implementing opportunistic SYSEXIT, though. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/212be39dd8c90b44c4b7bbc678128d6b88bdb9912.1438378274.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b69354dfe25bf0b103ef3ed6c881d34cc442265c Merge: c268a74 e4a9288 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:53:52 2015 +0200 Merge tag 'zynq-soc-for-4.3' of https://github.com/Xilinx/linux-xlnx into next/soc arm: Xilinx Zynq SoC patches for v4.2 - Fix earlyprintk, jump trampoline for SMP - Update git tree location - Setup PL310 aux (bit 22) * tag 'zynq-soc-for-4.3' of https://github.com/Xilinx/linux-xlnx: ARM: zynq: reserve space for jump target in secondary trampoline clk: zynq: remove redundant $(CONFIG_ARCH_ZYNQ) in Makefile MAINTAINERS: Update Zynq git tree location ARM: zynq: Set bit 22 in PL310 AuxCtrl register (6395/1) ARM: zynq: Fix earlyprintk in big endian mode Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 754d5c784fde1d8649e237b46e9ceb234fb17de0 Merge: 70d334c 9943230 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:47:18 2015 +0200 Merge tag 'qcom-arm64-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm into next/arm64 Qualcomm ARM64 Updates for v4.3 * Add BLSP and required pinctrl info for MSM8916 * Add SDHC aliases and nodes for MSM8916 * Add USB nodes for MSM8916 * Add APQ8016 SBC specific USB configuration * Add APQ8016 LED configuration * tag 'qcom-arm64-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm: arm64: dts: qcom: Add apq8016-sbc board LED's related device nodes arm64: dts: qcom: Fix apq8016-sbc board USB related pin definitions arm64: dts: qcom: apq8016-sbc: Don't hog client driver pins arm64: dts: qcom: Add msm8916 USB configuration nodes arm64: dts: qcom: Add msm8916 sdhci configuration nodes arm64: dts: qcom: Add msm8916 BLSP device nodes arm64: dts: qcom: Extend msm8916 pinctrl device coverage Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e06b2d86215a535d0f652c845c53b6825f58b9d8 Merge: d323c85 142f261 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:46:31 2015 +0200 Merge tag 'qcom-defconfig-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm into next/defconfig Qualcomm ARM Based defconfig Updates for v4.3 * Enable KS8851 for QCOM SoCs in qcom defconfig * tag 'qcom-defconfig-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm: ARM: qcom_defconfig: Enable options for KS8851 ethernet Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 75d84eede45b5482543a8ba8bfbf1f1c1883c370 Merge: 85a82c5 baff39e Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:45:45 2015 +0200 Merge tag 'qcom-dt-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm into next/dt Qualcomm ARM Based Device Tree Updates for v4.3 * Switch to use pinctrl compatible for GPIOs * Add RPM regulators for MSM8960 * Add SPI Ethernet support on MSM8960 CDP * Add SMEM support along with dependencies * Add PM8921 support for GPIO and MPP * Fix GSBI cell index * Switch to use real regulators on APQ8064 w/ SDCC * tag 'qcom-dt-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm: ARM: dts: qs600: Add real regulators to sdcc ARM: dts: ifc6410: add real regulators for sdcc nodes. ARM: dts: apq8064: remove temporary fixed regulator for mmc ARM: dts: apq8064: fix missing gsbi cell-index ARM: dts: apq8064: Add DT support for GSBI6 and for UART pin mux ARM: dts: apq8064: add pm8921 mpp support ARM: dts: apq8064: Add pm8921 mfd and its gpio node ARM: dts: msm8974: Add smem reservation and node ARM: dts: msm8974: Add tcsr mutex node ARM: dts: qcom: Add ks8851 node for wired ethernet ARM: dts: qcom: Add MSM8960 CDP RPM regulators ARM: dts: qcom: Add MSM8960 RPM and RPM regulator nodes ARM: dts: qcom: Replace gpio node with pinctrl node ARM: dts: qcom: Replace gpio node with pinctrl node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d323c85ce52b2ef9800ab1e4196fc4d784319de0 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Jul 30 19:18:19 2015 +0200 ARM: at91: at91_dt_defconfig: enable ISI and ov2640 support Add Atmel-isi and ov2640 driver in defconfig Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: make SOC_CAMERA_OV2640 selected as a module] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c268a743103aebba8d81d3365107f7170653099e Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Jul 30 19:12:12 2015 +0200 ARM: at91/soc: add basic support for new sama5d2 SoC Add Kconfig entries, header file changes and addition to the documentation. The early debug infrastructure is also added for easy development. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 85a82c55e28088c56ec47435d6e797a52c69e2c8 Merge: 46a51ab 22b5a0f Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:39:05 2015 +0200 Merge tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt First batch of DT changes for 4.3: - some fixes on sama5d4 ADC definition - adding Image Sensor Interface (aka ISI) on at91sam9m10g45ek board - update rst controller compatible string on sama5 machines - new sama5d2 DT definition and its reference board: the sama5d2 Xplained. Minimal configuration for now. * tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91/dt: add minimal sama5d2 Xplained board ARM: at91/dt: add basic dtsi for sama5d2 SoC ARM: at91/dt: sama5: update rstc to correct compatible string ARM: at91/dt: add isi & ov2640 dt nodes for at91sam9m10g45ek board ARM: at91/dt: sama5d4: move ADC pinctrl to board device trees ARM: at91/dt: sama5d4: fix external trigger property Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 141a7bab2904461d834df3e91a63e88ed2535215 Merge: 27e50c9 4055a72 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:35:54 2015 +0200 Merge tag 'renesas-defconfig2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Second Round of Renesas ARM Based SoC Defconfig Updates for v4.3 * Enable fixed voltage regulator in shmobile_defconfig * tag 'renesas-defconfig2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Enable fixed voltage regulator in shmobile_defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 22ce5628a1df81b50fc86fb686f470f15c1c96ef Author: Thulasimani,Sivakumar <sivakumar.thulasimani@xxxxxxxxx> Date: Fri Jul 31 11:05:27 2015 +0530 drm/i915: read bpp from vbt only for older panels BPP bits defined in VBT should be used only on panels whose edid version is 1.3 or older. EDID version 1.4 introduced offsets where bpp is defined and read into display_info, hence bpp from VBT will be used only when bpc in display_info is zero. v2: use display_info.bpc for deciding when to use vbt_bpp (Jani) Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d37ae19a6c21bc358f69e1dca410743c98347fe2 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 30 18:20:29 2015 -0300 drm/i915/skl: send opregion_nofify_adapter(PCI_D1) instead of PCI_D3 I was told that the "repurposed D1 definition" is still valid for SKL. It is BDW that is special due to its hotplug bug, so let's special-case BDW instead of HSW. Cc: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dcddab3aa025b161239ec309f1d4f199d91aca11 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jul 30 18:20:27 2015 -0300 drm/i915: Extract a intel_power_well_disable() function Similar to the ->enable vfunc in patch "drm/i915: Extract a intel_power_well_enable() function". v2 (from Paulo): - Same s/i915_/intel_/ bikeshed as the previous patch. - Update the commit hash. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8ca932056c22dfce2fac00058203386b41f3af4 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jul 30 18:20:26 2015 -0300 drm/i915: Extract a intel_power_well_enable() function We need a bit book keeping around power wells' ops->enable(), namely a nice debug message and updating hw_enabled. Let's introduce a intel_power_well_enable() function to make sure all the callers do the same things. v2 (from Paulo): - s/i915_power_well_enable/intel_power_well_enable/ since everything else on this file uses intel_ instead of i915_. - Fix typo in commit message. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0667405b6061be2949d841f05647e550d48c2765 Author: Marc Herbert <marc.herbert@xxxxxxxxx> Date: Wed Jul 29 12:21:22 2015 -0700 drm/i915/skl: revert duplicated WaBarrierPerformanceFixDisable:skl With this simple git diff command one can see that skl_init_workarounds() got two copies of WaBarrierPerformanceFixDisable:skl: git diff -U21 ca6e4405779e^1 ca6e4405779e drivers/gpu/drm/i915/intel_ringbuffer.c This happened when the backmerge of drm-intel-fixes-2015-07-15 Merged the same fix on both sides. Same fix but not identical enough for git: with a different surrounding context; hence the code duplication. This commit merely reverts the output of the git command above = the duplication introduced in the backmerge. (This duplication was found while running git sanity checks on a _linearized_ i915 forklift for ChromeOS.) Signed-off-by: Marc Herbert <marc.herbert@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30886c5afbb446ec1e3616beb2858fba74a23d14 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 30 17:07:55 2015 -0700 drm/i915: VLV/CHV PSR: Increase wait delay time before active PSR. Since active function on VLV immediately activate PSR let's give more time for idleness. Different from core platforms where we have idle_frames count. Also kms_psr_sink_crc now is automated and always get this: [drm:intel_enable_pipe] enabling pipe A [drm:intel_edp_backlight_on] [drm:intel_panel_enable_backlight] pipe [drm:intel_panel_enable_backlight] pipe A [drm:intel_panel_actually_set_backlight] set backlight PWM = 7812 PSR gets enabled somewhere here after backlight. [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x0 [drm:vlv_pipe_set_fifo_size] Pipe A FIFO split 511 / 511 / 511 [drm:vlv_update_wm] Setting FIFO watermarks - A: plane=391, cursor=63, sp PSR gets flushed around here by intel_atomic_commit [drm:vlv_pipe_set_fifo_size] Pipe A FIFO split 511 / 511 / 511 [drm:vlv_update_wm] Setting FIFO watermarks - A: plane=391, cursor=63, sp [drm:intel_set_memory_cxsr] memory self-refresh is enabled [drm:intel_connector_check_state] [CONNECTOR:39:eDP-1] [drm:check_encoder_state] [ENCODER:30:DAC-30] [drm:check_encoder_state] [ENCODER:31:TMDS-31] [drm:check_encoder_state] [ENCODER:36:TMDS-36] [drm:check_encoder_state] [ENCODER:38:TMDS-38] [drm:check_crtc_state] [CRTC:21] [drm:check_crtc_state] [CRTC:26] [drm:intel_psr_activate [i915]] *ERROR* PSR Active [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x [drm:intel_set_cpu_fifo_underrun_reporting [i915]] *ERROR* pipe A underrun [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO Underrun. It is true that in a product we won't keep disabling and enabling planes so frequently, but for safeness let's stay conservative. It is also true that 500ms is an etternity. But PSR is anyway a power saving feature for idle scenario. So if it is idle feature stays on and 500ms to get it reanabled is not that insane. v2: Rebase over intel_psr.c and fix typo. v3: Revival: Manual tests indicated that this is needed. With a short delay there is a huge risk of getting blank screens when planes are being enabled. v4: Revival 2 with reasonable delay. 1/2 sec instead of 5. VBT is 10 sec but actually time for link training what we aren't doing, but with only 100 sec in some cases kms_psr_sink_crc manual was showing blank screen, so let's use this for now. Also changed comment by a FIXME. v5: Rebase after a long time, remove FIXME and update comment above. v6: msecs_to_jiffies is already on delay. remove duplication. v7: use msecs_to_jiffies on schedule_delayed_work call. Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> (v4) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Tested-By: Intel Graphics QA PRTS (Patch Regression Test System Contact: shuang.he@xxxxxxxxx) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 082dcc7c0c666df9a37879d79a15a8115f05a08f Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 30 16:26:39 2015 -0700 drm/i915: Split sink_crc function in start, stop and read. This is just a preparation patch to make clear what operation we are performing. There is no functional change on the sink crc logic. hsw_disable_ips has been moved a bit further in the start function to avoid disabling ips when sink crc is not going to be started. and to avoid goto on this function. v2: explain why hsw_disable_ips() call place has changed. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74b4ea1e4e8a5134b8a201e7fd6a3b529f7d0035 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 14 16:29:14 2015 -0300 drm/i915: special-case dirtyfb for frontbuffer tracking First, an introduction. We currently have two types of GTT mmaps: the "normal" old mmap, and the WC mmap. For frontbuffer-related features that have automatic hardware tracking, only the non-WC mmap writes are detected by the hardware. Since inside the Kernel both are treated as ORIGIN_GTT, any features ignoring ORIGIN_GTT because of the hardware tracking are destined to fail. One of the special rules defined for the WC mmaps is that the user should call the dirtyfb IOCTL after he is done using the pointers, so that results in an intel_fb_obj_flush() call. The problem is that the dirtyfb is passing ORIGIN_GTT, so it is being ignored by FBC - even though the hardware tracking is not detecing the WC mmap operations. So in order to fix that without having to give up the automatic hardware tracking for GTT mmaps we transform the flush operation from dirtyfb into a special operation: ORIGIN_DIRTYFB. This commit fixes all the kms_frontbuffer_tracking subtests that contain "fbc" and "mmap-wc" in their names and are currently failing (for a total of 16 subtests). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4e1e26f1b09398fad93ba24be816368714bede7c Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 14 16:29:13 2015 -0300 drm/i915: don't disable FBC for pipe A when flipping pipe B Use the appropriate call. I know there's a discussion about whether we need this call here at all, but removing the call means we'll only update FBC after we get the page flip IRQ. So the user may only see the new frame a little after it should. Let's wait just a little bit more before removing this call since we can rely in the HW tracking for accurate flips. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 698e84ed89ffa09c6f00148c72b058302c311b5d Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 14 16:29:11 2015 -0300 drm/i915: don't call intel_fbc_update() at intel_unpin_work_fn() Because intel_unpin_work_fn() already calls intel_frontbuffer_flip_complete() which will call intel_fbc_flush() which will call intel_fbc_update() when needed. We couldn't fix this previously due to the fact that FBC was not properly behaving as intended on frontbuffer flushes, but now that this is fixed, we can remove the additional call. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6f4551fe8e7f3561b97b7f74d8f4af08db01de6f Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 14 16:29:10 2015 -0300 drm/i915: fix FBC frontbuffer tracking flushing code Due to the way busy_bits was handled, we were not doing any flushes if we didn't previously get an invalidate. Since it's possible to get flushes without an invalidate first, remove the busy_bits early return. So now that we don't have the busy_bits guard anymore we'll need the origin check for the GTT tracking (we were not doing anything on GTT flushes due to the GTT check at invalidate()). As a last detail, since we can get multiple consecutive flushes, disable FBC before updating it, otherwise intel_fbc_update() will just keep FBC enabled instead of restarting it. Notice that this does not fix any of the current IGT tests due to the fact that we still have a few intel_fbc() calls at points where we also have the frontbuffer tracking calls: we didn't fully convert to frontbuffer tracking yet. Once we remove those calls and start relying only on the frontbuffer tracking infrastructure we'll need this patch. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 20f9ed1568c00bbd9e6af31341d25e06bc3d4a16 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Aug 4 02:47:48 2015 +0800 locking/static_keys: Make verify_keys() static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Jason Baron <jbaron@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150803184748.GA80634@lkp-ib04 Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit accd0b9ec015d611eb7783dd86f1bb31bf8d62ab Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Aug 4 16:15:16 2015 +0200 jiffies: Force inlining of {m,u}msecs_to_jiffies() With this config: http://busybox.net/~vda/kernel_config_OPTIMIZE_INLINING_and_Os gcc-4.7.2 generates many copies of these tiny functions: msecs_to_jiffies (45 copies): 55 push %rbp 48 89 e5 mov %rsp,%rbp e8 59 ec 03 00 callq __msecs_to_jiffies 5d pop %rbp c3 retq usecs_to_jiffies (10 copies): 55 push %rbp 48 89 e5 mov %rsp,%rbp e8 5d 54 5e ff callq __usecs_to_jiffies 5d pop %rbp c3 retq See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66122 This patch fixes this via s/inline/__always_inline/ text data bss dec filename 86970954 17195912 36659200 140826066 vmlinux.before 86966150 17195912 36659200 140821262 vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438697716-28121-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d14edb1648221e59fc9fd47127fcc57bf26d759f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Aug 4 16:15:15 2015 +0200 x86/hweight: Force inlining of __arch_hweight{32,64}() With this config: http://busybox.net/~vda/kernel_config_OPTIMIZE_INLINING_and_Os gcc-4.7.2 generates many copies of these tiny functions: __arch_hweight32 (35 copies): 55 push %rbp e8 66 9b 4a 00 callq __sw_hweight32 48 89 e5 mov %rsp,%rbp 5d pop %rbp c3 retq __arch_hweight64 (8 copies): 55 push %rbp e8 5e c2 8a 00 callq __sw_hweight64 48 89 e5 mov %rsp,%rbp 5d pop %rbp c3 retq See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66122 This patch fixes this via s/inline/__always_inline/ To avoid touching 32-bit case where such change was not tested to be a win, reformat __arch_hweight64() to have completely disjoint 64-bit and 32-bit implementations. IOW: made #ifdef / 32 bits and 64 bits instead of having #ifdef / #else / #endif inside a single function body. Only 64-bit __arch_hweight64() is __always_inline'd. text data bss dec filename 86971120 17195912 36659200 140826232 vmlinux.before 86970954 17195912 36659200 140826066 vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438697716-28121-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a1d48a4a8fde49aedc045d894efe67173d59fe0 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Aug 4 16:15:14 2015 +0200 linux/bitmap: Force inlining of bitmap weight functions With this config: http://busybox.net/~vda/kernel_config_OPTIMIZE_INLINING_and_Os gcc-4.7.2 generates many copies of these tiny functions: bitmap_weight (55 copies): 55 push %rbp 48 89 e5 mov %rsp,%rbp e8 3f 3a 8b 00 callq __bitmap_weight 5d pop %rbp c3 retq hweight_long (23 copies): 55 push %rbp e8 b5 65 8e 00 callq __sw_hweight64 48 89 e5 mov %rsp,%rbp 5d pop %rbp c3 retq See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66122 This patch fixes this via s/inline/__always_inline/ While at it, replaced two "__inline__" with usual "inline" (the rest of the source file uses the latter). text data bss dec filename 86971357 17195880 36659200 140826437 vmlinux.before 86971120 17195912 36659200 140826232 vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438697716-28121-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e94c6a7a6df189289f0e84c15916571f44cf1ec6 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 21:23:14 2015 +0800 crypto: authenc - Add Kconfig dependency on CRYPTO_NULL CRYPTO_AUTHENC needs to depend on CRYPTO_NULL as authenc uses null for copying. Reported-by: Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9dc20a649609c95ce7c5ac4282656ba627b67d49 Merge: d1b22e4 a6cd379 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 4 23:57:45 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for net-next, they are: 1) A couple of cleanups for the netfilter core hook from Eric Biederman. 2) Net namespace hook registration, also from Eric. This adds a dependency with the rtnl_lock. This should be fine by now but we have to keep an eye on this because if we ever get the per-subsys nfnl_lock before rtnl we have may problems in the future. But we have room to remove this in the future by propagating the complexity to the clients, by registering hooks for the init netns functions. 3) Update nf_tables to use the new net namespace hook infrastructure, also from Eric. 4) Three patches to refine and to address problems from the new net namespace hook infrastructure. 5) Switch to alternate jumpstack in xtables iff the packet is reentering. This only applies to a very special case, the TEE target, but Eric Dumazet reports that this is slowing down things for everyone else. So let's only switch to the alternate jumpstack if the tee target is in used through a static key. This batch also comes with offline precalculation of the jumpstack based on the callchain depth. From Florian Westphal. 6) Minimal SCTP multihoming support for our conntrack helper, from Michal Kubecek. 7) Reduce nf_bridge_info per skbuff scratchpad area to 32 bytes, from Florian Westphal. 8) Fix several checkpatch errors in bridge netfilter, from Bernhard Thaler. 9) Get rid of useless debug message in ip6t_REJECT, from Subash Abhinov. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 703867e2f252bbd218668df4131ee1e60ba29ed3 Author: Woodrow Shen <woodrow.shen@xxxxxxxxxxxxx> Date: Wed Aug 5 12:34:12 2015 +0800 ALSA: hda - Fix Dell laptop for internal mic/headset mic The new Dell laptop with ALC3266 can't use internal microphone to record. Also, the 3 ring headset mic doesn't work on it. For src of patch_realtek.c, only the pin cfg of Nid 0x17 is different, so the Nid 0x17 is added into pin quirk, and others are defined to macro ALC298_STANDARD_PINS in common use. Codec: Realtek ALC3266 Vendor Id: 0x10ec0298 Subsystem Id: 0x102806e5 BugLink: https://bugs.launchpad.net/bugs/1481575 Signed-off-by: Woodrow Shen <woodrow.shen@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ed9c87b33147e5b007e66a282b9c8c307fbf8bf9 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Wed Aug 5 13:23:27 2015 +0800 dmaengine: zxdma: Fix force stop bug DMA will not stop when clearing enable bit till all transaction is done. The bug is exposed in audio playback because ring DMA chain never stop. Force hardware to stop with setting FORCE bit. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2092539b7735906deda8b1fca4b31b4c4eb65e0d Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Wed Aug 5 13:23:26 2015 +0800 dmaengine: zxdma: Fix data width bug Align src and dst width to fix data alignment issue as trailing single transaction that does not fill a full burst require identical src/dst data width. Burst length limitation can be addressed well too. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 379e4f756b915bcc35958365e5d1326b3b54efce Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Aug 1 16:08:21 2015 -0700 Drivers: hv: vmbus: Consider ND NIC in binding channels to CPUs We cycle through all the "high performance" channels to distribute load across the available CPUs. Process the NetworkDirect as a high performance device. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc2dd4027a43bb36c846f195a764edabc0828602 Author: Denis V. Lunev <den@xxxxxxxxxx> Date: Sat Aug 1 16:08:20 2015 -0700 mshyperv: fix recognition of Hyper-V guest crash MSR's Hypervisor Top Level Functional Specification v3.1/4.0 notes that cpuid (0x40000003) EDX's 10th bit should be used to check that Hyper-V guest crash MSR's functionality available. This patch should fix this recognition. Currently the code checks EAX register instead of EDX. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a54243fc08f0edda1303bb666f0da68c378c036 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:19 2015 -0700 Drivers: hv: vmbus: don't send CHANNELMSG_UNLOAD on pre-Win2012R2 hosts Pre-Win2012R2 hosts don't properly handle CHANNELMSG_UNLOAD and wait_for_completion() hangs. Avoid sending such request on old hosts. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e26009aad095feae45a6e79bb022c55a969ecded Author: Nik Nyby <nikolas@xxxxxxx> Date: Sat Aug 1 16:08:18 2015 -0700 Drivers: hv: vmbus: fix typo in hv_port_info struct This fixes a typo: base_flag_bumber to base_flag_number Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dd6a06430c94299651d74b9ed5ca8396ab8ff1f Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 1 16:08:17 2015 -0700 hv: util: checking the wrong variable We don't catch this allocation failure because there is a typo and we check the wrong variable. Fixes: 14b50f80c32d ('Drivers: hv: util: introduce hv_utils_transport abstraction') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b81658cf5d44e07c70c93e3b2aefe848eaaba99f Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Aug 1 16:08:14 2015 -0700 Drivers: hv: vmbus: Permit sending of packets without payload The guest may have to send a completion packet back to the host. To support this usage, permit sending a packet without a payload - we would be only sending the descriptor in this case. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6ddeae1603dfa55e857ba1520f5acea83f8cf1c Author: Alex Ng <alexng@xxxxxxxxxxxxx> Date: Sat Aug 1 16:08:13 2015 -0700 Drivers: hv: balloon: Enable dynamic memory protocol negotiation with Windows 10 hosts Support Win10 protocol for Dynamic Memory. Thia patch allows guests on Win10 hosts to hot-add memory even when dynamic memory is not enabled on the guest. Signed-off-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25ef06fe27a292ad33155045ef7a123be4c0b6ab Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:12 2015 -0700 Drivers: hv: fcopy: dynamically allocate smsg_out in fcopy_send_data() struct hv_start_fcopy is too big to be on stack on i386, the following warning is reported: >> drivers/hv/hv_fcopy.c:159:1: warning: the frame size of 1088 bytes is larger than 1024 bytes [-Wframe-larger-than=] Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b36fda339729a974a8838978dcdc581d8ce68fd9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:11 2015 -0700 Drivers: hv: kvp: check kzalloc return value kzalloc() return value check was accidentally lost in 11bc3a5fa91f: "Drivers: hv: kvp: convert to hv_utils_transport" commit. We don't need to reset kvp_transaction.state here as we have the kvp_timeout_func() timeout function and in case we're in OOM situation it is preferable to wait. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 510f7aef65bb7ed22cf9c7f94f955727f963ede4 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:10 2015 -0700 Drivers: hv: vmbus: prefer 'die' notification chain to 'panic' current_pt_regs() sometimes returns regs of the userspace process and in case of a kernel crash this is not what we need to report. E.g. when we trigger crash with sysrq we see the following: ... RIP: 0010:[<ffffffff815b8696>] [<ffffffff815b8696>] sysrq_handle_crash+0x16/0x20 RSP: 0018:ffff8800db0a7d88 EFLAGS: 00010246 RAX: 000000000000000f RBX: ffffffff820a0660 RCX: 0000000000000000 ... at the same time current_pt_regs() give us: ip=7f899ea7e9e0, ax=ffffffffffffffda, bx=26c81a0, cx=7f899ea7e9e0, ... These registers come from the userspace process triggered the crash. As we don't even know which process it was this information is rather useless. When kernel crash happens through 'die' proper regs are being passed to all receivers on the die_chain (and panic_notifier_list is being notified with the string passed to panic() only). If panic() is called manually (e.g. on BUG()) we won't get 'die' notification so keep the 'panic' notification reporter as well but guard against double reporting. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4370df2b1f5158de028e167974263c5757b34a6 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:09 2015 -0700 Drivers: hv: vmbus: add special crash handler Full kernel hang is observed when kdump kernel starts after a crash. This hang happens in vmbus_negotiate_version() function on wait_for_completion() as Hyper-V host (Win2012R2 in my testing) never responds to CHANNELMSG_INITIATE_CONTACT as it thinks the connection is already established. We need to perform some mandatory minimalistic cleanup before we start new kernel. Reported-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7646eaa7678fe5adc42247b4bdfbe9d9db8c253 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:08 2015 -0700 Drivers: hv: don't do hypercalls when hypercall_page is NULL At the very late stage of kexec a driver (which are not being unloaded) can try to post a message or signal an event. This will crash the kernel as we already did hv_cleanup() and the hypercall page is NULL. Move all common (between 32 and 64 bit code) declarations to the beginning of the do_hypercall() function. Unfortunately we have to write the !hypercall_page check twice to not mix declarations and code. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2517281d63a2b09d94aedfb522943617048f337e Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:07 2015 -0700 Drivers: hv: vmbus: add special kexec handler When general-purpose kexec (not kdump) is being performed in Hyper-V guest the newly booted kernel fails with an MCE error coming from the host. It is the same error which was fixed in the "Drivers: hv: vmbus: Implement the protocol for tearing down vmbus state" commit - monitor pages remain special and when they're being written to (as the new kernel doesn't know these pages are special) bad things happen. We need to perform some minimalistic cleanup before booting a new kernel on kexec. To do so we need to register a special machine_ops.shutdown handler to be executed before the native_machine_shutdown(). Registering a shutdown notification handler via the register_reboot_notifier() call is not sufficient as it happens to early for our purposes. machine_ops is not being exported to modules (and I don't think we want to export it) so let's do this in mshyperv.c The minimalistic cleanup consists of cleaning up clockevents, synic MSRs, guest os id MSR, and hypercall MSR. Kdump doesn't require all this stuff as it lives in a separate memory space. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b94ed245861a7d378dcde6eef7fa7717e06e349 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:06 2015 -0700 kexec: define kexec_in_progress in !CONFIG_KEXEC case If some piece of code wants to check kexec_in_progress it has to be put in #ifdef CONFIG_KEXEC block to not break the build in !CONFIG_KEXEC case. Overcome this limitation by defining kexec_in_progress to false. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06210b42f33ea1c29a90f4db2d88be91c511154b Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:05 2015 -0700 Drivers: hv: vmbus: remove hv_synic_free_cpu() call from hv_synic_cleanup() We already have hv_synic_free() which frees all per-cpu pages for all CPUs, let's remove the hv_synic_free_cpu() call from hv_synic_cleanup() so it will be possible to do separate cleanup (writing to MSRs) and final freeing. This is going to be used to assist kexec. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77a68e56aae141d3e9c740a0ac43362af75d4890 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 10:41:32 2015 +0200 dmaengine: Add an enum for the dmaengine alignment constraints Most drivers need to set constraints on the buffer alignment for async tx operations. However, even though it is documented, some drivers either use a defined constant that is not matching what the alignment variable expects (like DMA_BUSWIDTH_* constants) or fill the alignment in bytes instead of power of two. Add a new enum for these alignments that matches what the framework expects, and convert the drivers to it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 28eb232f217583e7bece8e9d6b26cf55a694ceae Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 10 22:13:19 2015 +0800 dmaengine: ti-dma-crossbar: Fix checking return value of devm_ioremap_resource devm_ioremap_resource returns ERR_PTR on failure. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 68be64ca7e2adc4f16077c3b0feb8719f89119bd Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 14:44:24 2015 +0200 sc16is7xx: constify devtype devtype structures are all declared as const. Compiler does not complain because we cast their pointers to save them in .driver_data. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c64349722d141712d8500b5ad377d3117be46ba8 Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 14:44:23 2015 +0200 sc16is7xx: support multiple devices We currently register the uart driver during device probe which makes it hard to support more than one chip. Move the driver registration to module init/exit time and preallocate space for up to 8 lines (4-8 chips). Reported-by: Michael Allwright <michael.allwright@xxxxxx> Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e92a886bf7841cd163860165db680cfbca5c7f0d Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 14:44:22 2015 +0200 sc16is7xx: save and use per-chip line number In preparation of supporting multiple devices we should save the per-chip line number (0 or 1), because the uart_port line will reflect system-wide uart number and will be offseted for chips other than the first to register. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cd90e50d1408c65c355084b1c7f8f9085f49c6b Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Fri Jul 31 15:49:19 2015 +0800 uart: pl011: Add support to ZTE ZX296702 uart Support ZTE uart with some registers differing offset. Probe as platform device for not AMBA IP ID is available on ZTE uart. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09dcc7dfc05b31bf0bbcd1511cd1a2644908d5c8 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Fri Jul 31 15:49:18 2015 +0800 uart: pl011: Improve LCRH register access decision Improve LCRH register access decision as ARM PL011 lcrh register serve as both TX and RX, while other SOC may implement TX and RX function with separated register. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c096a9eedc6841d3610545f4e6c3d72bd0962be Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Fri Jul 31 15:49:17 2015 +0800 uart: pl011: Introduce register look up table Introduce register look up table as different SOC venders may have different register offset for the some register. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b753f318d1456c8e7740f3bd96d1dbb362d5449 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Fri Jul 31 15:49:16 2015 +0800 uart: pl011: Introduce register accessor Introduce register accessor to ease loop up table access in later patch. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 534e14e2293d8cd714b94513686228453b21fae2 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Fri Jul 31 15:49:15 2015 +0800 uart: pl011: Rename regs with enumeration Rename regs with enumeration to generalize register names. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89c043a6cb2d4525d48a38ed78d5f0f5672338b3 Author: Adam Lee <adam.lee@xxxxxxxxxxxxx> Date: Mon Aug 3 13:28:13 2015 +0800 serial: 8250_pci: Add support for Pericom PI7C9X795[1248] Pericom PI7C9X795[1248] are Uno/Dual/Quad/Octal UART devices, this patch enables them, also defines PCI_VENDOR_ID_PERICOM here. Signed-off-by: Adam Lee <adam.lee@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 736cd79f483fd7a1e0b71e6eaddf01d8d87fbbbb Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 10:58:28 2015 +0200 serial: samsung: fix DMA for FIFO smaller than cache line size So far DMA mode were activated when only number of bytes to send was equal or greater than min_dma_size. Due to requirement that DMA transaction buffer should be aligned to cache line size, the excessive bytes were written to FIFO before starting DMA transaction. The problem occurred when FIFO size were smaller than cache alignment, because writing all excessive bytes to FIFO would fail. It happened in DMA mode when PIO interrupts disabled, which caused driver hung. The solution is to test if buffer is alligned to cache line size before activating DMA mode, and if it's not, running PIO mode to align buffer and then starting DMA transaction. In PIO mode, when interrupts are enabled, lack of space in FIFO isn't the problem, so buffer aligning will always finish with success. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Reported-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81ccb2a69f76b88295a1da9fc9484df715fe3bfa Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Jul 31 10:58:27 2015 +0200 serial: samsung: fix DMA mode enter condition for small FIFO sizes Due to some of serial ports can have FIFO size smaller than cache line size, and because of need to align DMA buffer address to cache line size, it's necessary to calculate minimum number of bytes for which we want to start DMA transaction to be at least cache line size. The simplest way to meet this requirement is to get maximum of cache line size and FIFO size. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Reported-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e31364fc3272073ec8c5fac18a3e01d4f013418 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 16:59:52 2015 -0400 serial: core: Remove tty port activate() and shutdown() methods serial core does not use tty_port_open() or tty_port_close(); serial core defines and extends it's own tty open() and close() methods (uart_open() and uart_close(), respectively). Remove the tty_port activate() and shutdown() initializations, and the uart_port_activate() function, which is never called. NB: uart_port_shutdown() is used by uart_close() => uart_shutdown() call chain (but not via the tty_port methods). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fb98fb3031359af42a6ee6984b477cbcfdca7bd Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 16:59:51 2015 -0400 serial: core: Use proper spinlock flavor in uart_close() uart_close() runs in non-atomic context only; use spin_lock/unlock_irq instead of saving the interrupt state (which == on). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a0e5ef6cfa24351791fbd4339f562211b83afae Author: Sekhar Nori <nsekhar@xxxxxx> Date: Thu Jul 30 18:27:47 2015 +0530 ARM: dts: dra7: workaround UART module disable errata Add "ti,dra742-uart" to the compatible list so the driver workaround for UART module disable errata is enabled. This does not break backward compatibility as existing DTBs should continue to work with newer kernels albeit without the capability to idle the UART module when DMA is used. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a649943522de07e67a5981b1ff227684b94bada4 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 30 16:33:38 2015 +0200 tty/serial: at91: fix I/O accesses on RHR and THR for AVR32 This patch fixes I/O accesses on the Receiver Holding Register and on the Transmitter Holding Register. Indeed AVR32 can only perform 32bit I/O accesses on registers: using 8bit I/O accesses would read or write garbage data. Fixes: commit b5199d468177 ("tty/serial: at91: add support to FIFOs") Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Tested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b737eeb09e3068b092e116f855aa1973fa24c88c Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:52 2015 +0200 serial: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a6c301a2db2f9af0478a83c15d8ec5cdac65eb9 Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Wed Jul 29 18:23:32 2015 +0800 serial: 8250: Auto CTS control by HW if AFE enabled According to DesignWare 8250 spec, if auto flow control mode is enabled, a change in CTS does not cause an interrupt, so sw-assisted CTS flow control mode will not work properly. There reported an GPS firmware download failure issue, and we verified the root cause is, the default sw-assisted CTS flow control mode can not work properly since no interrupt when got CTS signal. This patch is to enable auto CTS mode by defaut if CRTSCTS is enable for DesignWare 8250 controller. Signed-off-by: Huiquan Zhong <huiquan.zhong@xxxxxxxxx> Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d07ada047a4e1f5ff98757ce34c0fdd13d8ec93 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Jul 27 18:09:33 2015 +0200 serial: mpc52xx: let tx_empty callback return either 0 or TIOCSER_TEMT Documenation/serial/driver requests that the tx_empty callback should return 0 if there are still chars in the fifo or shifter or TIOCSER_TEMT (0x01) if no character is pending to be sent. Fix the mpc52xx serial driver to not return MPC52xx_PSC_SR_TXEMP (i.e. 0x0800) but TIOCSER_TEMT as documented. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b9c5162c1829686baea1962177842c3fa1ea81c Author: Niklas Cassel <nks@xxxxxxxxxxx> Date: Sat Jul 25 02:02:46 2015 +0200 serial: etraxfs-uart: use mctrl_gpio helpers for handling modem signals In order to use the mctrl_gpio helpers, we change the DT bindings: ri-gpios renamed to rng-gpios. cd-gpios renamed to dcd-gpios. However, no in-tree dts/dtsi specifies these, so no worries. Signed-off-by: Niklas Cassel <nks@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9625734ff75af35d9878c693e3f92237aa3c1ae6 Author: Niklas Cassel <nks@xxxxxxxxxxx> Date: Sat Jul 25 02:00:40 2015 +0200 serial: etraxfs-uart: remove empty functions Implementing enable_ms is optional by serial_core. check_modem_status is just an empty local function. Signed-off-by: Niklas Cassel <nks@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eead035a35b59df9f956139cb2c73141751a246e Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Aug 4 14:30:11 2015 +0300 mei: remove check on pm_runtime_active in __mei_cl_disconnect Remove bogus check on pm_runtime_active that prevented disconnection from a client in case the device was resuming from power gating but not yet active. Fix regression introduced by 18901357e70ae29e3fd1c58712a6847c2ae52eae mei: disconnect on connection request timeout Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9f85a90d41476aca2d3b60f98ab87d7ae1b8612 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Tue Aug 4 11:36:17 2015 -0500 power: bq24190_charger: Fix charge type sysfs property Access to the BQ24190's configurable charge type property (none, trickle, fast) is being masked by an incorrect power_supply_property entry. After applying this patch a new 'charge_type' property will appear in the bq24190-charger sysfs folder backed up by getters/setters already present in the driver. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Acked-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1e8b82c1ff3bc52c5e4265d66fe5c6da9a66e2e6 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:50 2015 +0200 power: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 63369b2b99d718ca2777bf8d71360de75888f05b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:33 2015 +0200 power: Export I2C module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2f2560e348a875104a0d5394c938da2a41e47228 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Tue Jul 21 11:01:06 2015 +0800 dmaengine: zxdma: Support cyclic dma Support cyclic dma for audio playback Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 21ae40404f3ca66fb37dd26e7b67eb109f2453ab Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: Increase current carefully while watching voltage. The USB Battery Charging spec (BC1.2) suggests a dedicated charging port can deliver from 0.5 to 5.0A at between 4.75 and 5.25 volts. To choose the "correct" current voltage setting requires a trial and error approach: try to draw current and see if the voltage drops too low. Even with a configured Standard Downstream Port, it may not be possible to reliably pull 500mA - depending on cable quality and source quality I have reports of charging failure due to the voltage dropping too low. To address both these concerns, this patch introduce incremental current setting. The current pull from VBUS is increased in steps of 20mA every 100ms until the target is reached or until the measure voltage drops below 4.75V. If the voltage does go too low, the target current is reduced by 20mA and kept there. This applies to currents selected automatically, or to values set via sysfs. So setting a large value will cause the maximum available to be used - up to the limit of 1.7A imposed by the hardware. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b04b908d8a2901c2cc59db87defd9c08bd4293cc Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: add ac/mode to match usb/mode This allows AC charging to be turned off, much like usb charging. "continuous" mode is not available though. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7f4a633d21331155ee06c5ee44749ed35a3a3cc5 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: add software controlled linear charging mode. Add a 'continuous' option for usb charging which enables the "linear" charging mode of the twl4030. Linear charging does a good job with not-so-reliable power sources. Auto mode does not work well as it switches off when voltage drops momentarily. Care must be taken not to over-charge. It was used with a bike hub dynamo since a year or so. In that case there are automatically charging stops when the cyclist needs a break. Original-by: Andreas Kemnade <andreas@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 22d4c33f7335ddf6deda26630c78650e133bfe72 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: enable manual enable/disable of usb charging. 'off' or 'auto' to /sys/class/power/twl4030_usb/mode will now enable or disable charging from USB port. Normally this is enabled on 'plug' and disabled on 'unplug'. Unplug will still disable charging. 'plug' will only enable it if 'auto' if selected. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit aca3c3546396b305fff79f09883cff48a908aac0 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: allow max_current to be managed via sysfs. 'max_current' sysfs attributes are created which allow the max to be set. Whenever a current source changes, the default is restored. This will be followed by a uevent, so user-space can decide to update again. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e4ae537e0482e99eeaa5373d39932fe65a477c21 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: distinguish between USB current and 'AC' current The twl4030 charger has two current sources, 'USB' and 'AC' (presumably "Accessory Charger" because it isn't Alternating Current). If 'AC' is providing current, we should set the current limit differently to when it isn't (and so USB is used). So split 'cur' into 'usb_cur' and 'ac_cur' and use accordingly. Now we must review the current setting on any interrupt or USB event which might indicate that the charger-source has changed. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 056f6c87028544de934f27caf95aa1545d585767 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Jul 10 12:07:25 2015 +0200 dmaengine: shdma: Make dummy shdma_chan_filter() always return false If CONFIG_SH_DMAE_BASE (which is required for DMA engine support for legacy SH, SH/R-Mobile, and R-Car Gen1, but not for R-Car Gen2) is not enabled, but CONFIG_RCAR_DMAC (for R-Car Gen2 DMA engine support) is, and the DTS doesn't provide a "dmas" property for a device, dma_request_slave_channel_compat() incorrectly succeeds, and returns a DMA channel. However, when trying to use that DMA channel later, it fails with: rcar-dmac e6700000.dma-controller: rcar_dmac_prep_slave_sg: bad parameter: len=1, id=-22 (Fortunately most drivers can handle this failure, and fall back to PIO) The reason for this is that a NULL legacy filter function is used, which actually means "all channels are OK", not "do not match". If CONFIG_SH_DMAE_BASE is enabled (like in shmobile_defconfig, which supports other SoCs besides R-Car Gen2), shdma_chan_filter() correctly returns false, as no available channel on R-Car Gen2 matches a shdma-base channel. If the DTS does provide a "dmas" property, dma_request_slave_channel() succeeds, and legacy filter-based matching is not used. To fix this, change shdma_chan_filter from being NULL to a dummy function that always returns false, like is done on other platforms. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8391ecf465ec5c8ccef547267df6d40beb8999a4 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Fri Jul 10 17:08:16 2015 +0800 dmaengine: imx-sdma: Add device to device support This patch adds DEV_TO_DEV support for i.MX SDMA driver to support data transfer between two peripheral FIFOs. The per_2_per script requires two peripheral addresses and two DMA requests, and it need to check the src addr and dst addr is in the SPBA bus space or in the AIPS bus space. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1098cb58aed8eb4e06302d947a38bbfb69c8b4ba Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: allow fine control of charger current. The twl4030 allows control of the incoming current. Part of this control is a 'CGAIN' setting which doubles the range for half the precision. This control affects several different current setting, so all need to be updated at once when CGAIN is changed. With this patch, all of these current setting are managed by the driver, but most are left at their default settings. The current drawn is set to 500mA if the allow_usb module parameter is set, and to 100mA otherwise. More fine control will appear in later patches. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3b542f089dcbdcf1c21a01927fbc6d5116af01f6 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: split uA calculation into a function. We will need this calculation in other places, so create functions to map between register value and uA value. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6e37ec8c77e3e6580cbb844dfeea0fb3970c0a35 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: trust phy to determine when USB power is available. The usb phy driver already determines when VBUS is available, so repeating the test in the charger driver is pointless duplication. On probe, process the last event from the phy, and from then on, do whatever the phy tells us without double-checking. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3fc3895e4fe17ee92ae1d1bb9f04da6069e8c370 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: correctly handle -EPROBE_DEFER from devm_usb_get_phy_by_node Now that twl4030_bci_probe can safely return -EPROBE_DEFER, do so when devm_usb_get_phy_by_node returns that error. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7396f708b9f1d8874dda9c6386c37b065d99b68f Author: Pavel Machek <pavel@xxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: convert to module_platform_driver instead of ..._probe. Drivers using module_platform_driver_probe cannot return EPROBE_DEFER from the probe function, which makes them rather useless these days... Convert to module_platform_driver() so EPROBE_DEFER can be used. Signed-off-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e57c4a67d71275e4a15b9f0f92a322ea27b26a6e Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: use runtime_pm to keep usb phy active while charging. The twl4030 usb phy needs to be active while we are using the USB VBUS as a current source for charging. In particular, the usb3v1 regulator must be enabled and the PHY_PWR_PHYPWD bit must be set to keep the phy powered. commit ab37813f4093a5f59cb8e083cde277289dc72ed3 twl4030_charger: Allow charger to control the regulator that feeds it gave the charger control over the regulator, but didn't resolve the PHY_PWR_PHYPWD issue. Now that both of these are controlled by runtime_pm in phy-twl4030-usb, we can simply take a runtime_pm reference to the USB phy whenever the charger wants to use it as a current source. So this patch reverts the above commit, and adds the necessary runtime_pm calls. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5a4f3cf0d1f02884c0a64488d22b3bb4bce31b44 Merge: cd66d5c 5f22699 24b390a dff22d2 ccbc175 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Aug 4 20:54:05 2015 -0500 Merge branches 'pci/irq', 'pci/misc', 'pci/resource' and 'pci/virtualization' into next * pci/irq: PCI/MSI: Free legacy IRQ when enabling MSI/MSI-X PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq() PCI: Add pcibios_alloc_irq() and pcibios_free_irq() * pci/misc: PCI: Remove unused "pci_probe" flags PCI: Add VPD function 0 quirk for Intel Ethernet devices PCI: Add dev_flags bit to access VPD through function 0 PCI / ACPI: Fix pci_acpi_optimize_delay() comment PCI: Remove a broken link in quirks.c PCI: Remove useless redundant code PCI: Simplify pci_find_(ext_)capability() return value checks PCI: Move PCI_FIND_CAP_TTL to pci.h and use it in quirks PCI: Add pcie_downstream_port() (true for Root and Switch Downstream Ports) PCI: Fix pcie_port_device_resume() comment PCI: Shift PCI_CLASS_NOT_DEFINED consistently with other classes PCI: Revert aeb30016fec3 ("PCI: add Intel USB specific reset method") PCI: Fix TI816X class code quirk PCI: Fix generic NCR 53c810 class code quirk PCI: Use PCI_CLASS_SERIAL_USB instead of bare number PCI: Add quirk for Intersil/Techwell TW686[4589] AV capture cards PCI: Remove Intel Cherrytrail D3 delays * pci/resource: PCI: Call pci_read_bridge_bases() from core instead of arch code * pci/virtualization: PCI: Restore ACS configuration as part of pci_restore_state() commit cd66d5c3df7c96cbf75010b964b94032ceca8889 Merge: bc0195a 0f41421 8ef54f2 e4a8f8e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Aug 4 20:52:29 2015 -0500 Merge branches 'pci/host-designware', 'pci/host-xgene' and 'pci/host-xilinx' into next * pci/host-designware: PCI: designware: Don't complain missing *config* reg space if va_cfg0 is set * pci/host-xgene: PCI: xgene: Add support for a 64-bit prefetchable memory window arm64: dts: Add APM X-Gene PCIe 64-bit prefetchable window PCI: xgene: Drop owner assignment from platform_driver * pci/host-xilinx: PCI: xilinx: Check for MSI interrupt flag before handling as INTx commit a14c0f8fefcb95847fe3a94a4085a7ceb88f19e5 Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:22:54 2015 -0700 MAINTAINERS: Add maintainer for atmel_mxt_ts Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 507584e202c598b5ba2c3cf5fa283ebbda9edc26 Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:58:05 2015 -0700 Input: atmel_mxt_ts - remove warning on zero T44 count Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit eafc0c8783f091ae9426fc8288054a99eb39207f Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:57:40 2015 -0700 Input: atmel_mxt_ts - initialise input slots with INPUT_MT_DIRECT This indicates the device coordinates should be directly mapped to screen. This is valid since scaling/flipping/rotation should be done by configuring the MXT device. It also flags to Android using INPUT_PROP_DIRECT that the device should be treated as a touch screen by default, and removes the necessity for a default IDC file. Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 885f3fb9fa1f9e185e8a4e905157087495734349 Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:57:25 2015 -0700 Input: atmel_mxt_ts - disable interrupt for 50ms after reset The CHG/interrupt line is momentarily set (approximately 100 ms) as an input after power-up or reset for diagnostic purposes. This may cause spurious interrupts, so disable interrupt handler during this period. Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 204476642db2ca3cd2e9b8380b58dc9f21a1e773 Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:53:16 2015 -0700 Input: atmel_mxt_ts - improve device tree parsing Use function rather than loop, define np to reduce wrapping. Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 50fabb02c7c08dace3562c05797a3c92591a9803 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Tue Aug 4 16:53:04 2015 -0700 Input: atmel_mxt_ts - suspend/resume causes panic if input_dev fails to init input_dev may be NULL if mxt_initialize_input_device fails. But pm ops is still available and suspend/resume assume input_dev is not NULL. To fix this issue, we add a check if (!input_dev). Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 146c6a662f6b16536581afc8ed4c11460301a82d Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:49:34 2015 -0700 Input: atmel_mxt_ts - remove unused defines Many of these values are out of date and they aren't used in the driver - all they do is increase the size of the kernel source. Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Acked-by: Benson Leung <bleung@xxxxxxxxxxxx> Acked-by: Yufeng Shen <miletus@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7f3884f7de89c49439fdaa115f6d1caec3256cc3 Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:36:29 2015 -0700 Input: atmel_mxt_ts - use deep sleep mode when stopped The hardcoded 0x83 CTRL setting overrides other settings in that byte, enabling extra reporting that may not be useful on a particular platform. Implement improved suspend mechanism via deep sleep. By writing zero to both the active and idle cycle times the maXTouch device can be put into a deep sleep mode, using minimal power. It is necessary to issue a calibrate command after the chip has spent any time in deep sleep, however a soft reset is unnecessary. Use the old method on Chromebook Pixel via platform data option. This patch also deals with the situation where the power configuration is zero on probe, which would mean that the device never wakes up to execute commands. After a config download, the T7 power configuration may have changed so it is necessary to re-read it. Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Acked-by: Benson Leung <bleung@xxxxxxxxxxxx> Acked-by: Yufeng Shen <miletus@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit aa7c043d9783f538319e77deeae5d90ff5d6907b Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Sat Aug 1 15:41:13 2015 -0400 audit: eliminate unnecessary extra layer of watch parent references The audit watch parent count was imbalanced, adding an unnecessary layer of watch parent references. Decrement the additional parent reference when a watch is reused, already having a reference to the parent. audit_find_parent() gets a reference to the parent, if the parent is already known. This additional parental reference is not needed if the watch is subsequently found by audit_add_to_parent(), and consumed if the watch does not already exist, so we need to put the parent if the watch is found, and do nothing if this new watch is added to the parent. If the parent wasn't already known, it is created with a refcount of 1 and added to the audit_watch_group, then incremented by one to be subsequently consumed by the newly created watch in audit_add_to_parent(). The rule points to the watch, not to the parent, so the rule's refcount gets bumped, not the parent's. See LKML, 2015-07-16 Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit f8259b262bedd5ec71e55de5953464ea86ff69d9 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Sat Aug 1 15:41:12 2015 -0400 audit: eliminate unnecessary extra layer of watch references The audit watch count was imbalanced, adding an unnecessary layer of watch references. Only add the second reference when it is added to a parent. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 94bdc48d55ca10f90b4a625f0e443197e0013557 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:16 2015 +0200 ARM: shmobile: sh73a0 dtsi: Add missing "gpio-ranges" to gpio node If a GPIO driver uses gpiochip_add_pin_range() (which is usually the case for GPIO/PFC combos), the GPIO hogging mechanism configured from DT doesn't work: requesting hog GPIO led1-high (chip sh73a0_pfc, offset 20) failed The actual error code is -517 == -EPROBE_DEFER. The problem is that PFC+GPIO registration is handled in multiple steps: 1. pinctrl_register(), 2. gpiochip_add(), 3. gpiochip_add_pin_range(). Configuration of the hogs is handled in gpiochip_add(): gpiochip_add of_gpiochip_add of_gpiochip_scan_hogs gpiod_hog gpiochip_request_own_desc __gpiod_request chip->request pinctrl_request_gpio pinctrl_get_device_gpio_range However, at this point the GPIO controller hasn't been added to pinctrldev_list yet, so the range can't be found, and the operation fails with -EPROBE_DEFER. To fix this, add a "gpio-ranges" property to the gpio device node, so the ranges are added by of_gpiochip_add_pin_range(), which is called by of_gpiochip_add() before the call to of_gpiochip_scan_hogs(). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 09d1c7b4babd3ef9bfc0a148931e5e5702db5e1b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:15 2015 +0200 ARM: shmobile: r8a7740 dtsi: Add missing "gpio-ranges" to gpio node If a GPIO driver uses gpiochip_add_pin_range() (which is usually the case for GPIO/PFC combos), the GPIO hogging mechanism configured from DT doesn't work: requesting hog GPIO lcd0 (chip r8a7740_pfc, offset 176) failed The actual error code is -517 == -EPROBE_DEFER. The problem is that PFC+GPIO registration is handled in multiple steps: 1. pinctrl_register(), 2. gpiochip_add(), 3. gpiochip_add_pin_range(). Configuration of the hogs is handled in gpiochip_add(): gpiochip_add of_gpiochip_add of_gpiochip_scan_hogs gpiod_hog gpiochip_request_own_desc __gpiod_request chip->request pinctrl_request_gpio pinctrl_get_device_gpio_range However, at this point the GPIO controller hasn't been added to pinctrldev_list yet, so the range can't be found, and the operation fails with -EPROBE_DEFER. To fix this, add a "gpio-ranges" property to the gpio device node, so the range is added by of_gpiochip_add_pin_range(), which is called by of_gpiochip_add() before the call to of_gpiochip_scan_hogs(). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 17ccec50cc40bef00b26d506d483e928804cb20e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:14 2015 +0200 ARM: shmobile: r8a73a4 dtsi: Add missing "gpio-ranges" to gpio node If a GPIO driver uses gpiochip_add_pin_range() (which is usually the case for GPIO/PFC combos), the GPIO hogging mechanism configured from DT doesn't work: requesting hog GPIO led1-high (chip r8a73a4_pfc, offset 28) failed The actual error code is -517 == -EPROBE_DEFER. The problem is that PFC+GPIO registration is handled in multiple steps: 1. pinctrl_register(), 2. gpiochip_add(), 3. gpiochip_add_pin_range(). Configuration of the hogs is handled in gpiochip_add(): gpiochip_add of_gpiochip_add of_gpiochip_scan_hogs gpiod_hog gpiochip_request_own_desc __gpiod_request chip->request pinctrl_request_gpio pinctrl_get_device_gpio_range However, at this point the GPIO controller hasn't been added to pinctrldev_list yet, so the range can't be found, and the operation fails with -EPROBE_DEFER. To fix this, add a "gpio-ranges" property to the gpio device node, so the ranges are added by of_gpiochip_add_pin_range(), which is called by of_gpiochip_add() before the call to of_gpiochip_scan_hogs(). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8f46dcaea8d9d1552f4071f1ddeeca4427c1d83a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Jul 14 18:56:10 2015 +0800 f2fs: expose f2fs_write_cache_pages If there are gced dirty pages and normal dirty pages in the mapping of one inode, we might writeback them alternately with discontinuous block address, resulting in low performance. This patch introduces f2fs_write_cache_pages with codes copied from write_cache_pages in mm/page-writeback.c. In this function, we refactor flow with two steps: 1) writeback all cold type pages. 2) writeback all non-cold type pages. By using this method, f2fs will writeback dirty pages with the same temperature in bunch mode, it makes writeouted block being with more continuous address, so they can be merged as much as possible in f2fs bio cache, and also it will reduce the chance of submiting small IO from block layer. Test environment: 8g nokia sd card (very old sd card, but it shows better effect when testing with this patch, and with a 32g kingston sd card, I didn't see much more improvement). Test step: 1. touch testfile; 2. truncate -s 512K testfile; 3. write all pages with odd index; 4. trigger gc by ioctl; 5. write all pages with even index; 6. time fsync testfile. before: real 0m0.402s user 0m0.000s sys 0m0.000s after: real 0m0.143s user 0m0.004s sys 0m0.004s Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 037fe70c9a6cebe11ae13402994b844e907ebe0c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 13 17:45:19 2015 +0800 f2fs: correct return value of ->setxattr This patch fixes to return correct error number of ->setxattr, which is reported by xfstest tests/generic/026 as below: generic/026 - output mismatch --- tests/generic/026.out +++ results/generic/026.out.bad @@ -4,6 +4,6 @@ 1 below acl max acl max 1 above acl max -chacl: cannot set access acl on "largeaclfile": Argument list too long +chacl: cannot set access acl on "largeaclfile": Numerical result out of range use 16 aces use 17 aces ... Ran: generic/026 Failures: generic/026 Failed 1 of 1 tests Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit bd936f840779366b61300c0f4f752dd1b52b1ca3 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 13 17:44:25 2015 +0800 f2fs: cleanup write_orphan_inodes Previously, since 'commit 4531929e3922 ("f2fs: move grabing orphan pages out of protection region")' was committed, in write_orphan_inodes(), we will grab all meta page in a batch before we use them under spinlock, so that we can avoid large time delay of grabbing meta pages under spinlock. Now, 'commit d6c67a4fee86 ("f2fs: revmove spin_lock for write_orphan_inodes")' remove the spinlock in write_orphan_inodes, so there is no issue we describe above, we'd better recover to move the grab operation to original place for readability. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5b3391244d1c89bb4c8e1b4e4916fb4965fb71f9 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 13 17:43:19 2015 +0800 f2fs: warm up cold page after mmaped write With cost-benifit method, background gc will consider old section with fewer valid blocks as candidate victim, these old blocks in section will be treated as cold data, and laterly will be moved into cold segment. But if the gcing page is attached by user through buffered or mmaped write, we should reset the page as non-cold one, because this page may have more opportunity for further updating. So fix to add clearing code for the missed 'mmap' case. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c1c1b58359d45e1a9f236ce5a40d50720c07c70e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 10 18:08:10 2015 +0800 f2fs: add new ioctl F2FS_IOC_GARBAGE_COLLECT When background gc is off, the only way to trigger gc is executing a force gc in some operations who wants to grab space in disk. The executing condition is limited: to execute force gc, we should wait for the time when there is almost no more free section for LFS allocation. This seems not reasonable for our user who wants to control triggering gc by himself. This patch introduces F2FS_IOC_GARBAGE_COLLECT interface for triggering garbage collection by using ioctl. It provides our users one more option to trigger gc. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a28ef1f5aebe1068fc5fd65c4699c1c3b1e9094b Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Jul 8 17:59:36 2015 +0800 f2fs: maintain extent cache in separated file This patch moves extent cache related code from data.c into extent_cache.c since extent cache is independent feature, and its codes are not relate to others in data.c, it's better for us to maintain them in separated place. There is no functionality change, but several small coding style fixes including: * rename __drop_largest_extent to f2fs_drop_largest_extent for exporting; * rename misspelled word 'untill' to 'until'; * remove unneeded 'return' in the end of f2fs_destroy_extent_tree(). Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3c7df87dad065a4656b13115593c59c8a324a108 Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Wed Jul 8 16:02:54 2015 +0800 f2fs: don't try to split extents shorter than F2FS_MIN_EXTENT_LEN Since only parts of extents longer than F2FS_MIN_EXTENT_LEN will be kept in extent cache after split, extents already shorter than F2FS_MIN_EXTENT_LEN don't need to try split at all. Signed-off-by: Fan Li <fanofcode.li@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 90d4388ac2cec0c83cad7315d3cd0065553430e1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Jul 8 18:24:38 2015 +0800 f2fs: fix to update page flag This patch fixes to update page flag (e.g. Uptodate/cold flag) in ->write_begin. Otherwise, page will be non-uptodate when we try to write entire page, and cold data flag in page will not be clean when gced page is being rewritten. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7023a1ad17f4e21acb74167ab647cd123d9eb801 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Jun 29 16:34:39 2015 -0700 f2fs: shrink unreferenced extent_caches first If an extent_tree entry has a zero reference count, we can drop it from the cache in higher priority rather than currently referencing entries. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit bb96a8d51e523c162b436c4545eb1a4e9f9f530e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 6 20:31:49 2015 +0800 f2fs: enhance multithread performance In ->writepages, we use writepages mutex lock to serialize all block address allocation and page submitting pairs from different inodes. This method makes our delayed dirty pages of one inode being written continously as many as possible. But there is one problem that we did not submit current cached bio in protection region of writepages mutex lock, so there is a small chance that we submit the one of other thread's as below, resulting in splitting more bios. thread 1 thread 2 ->writepages lock(writepages) ->write_cache_pages unlock(writepages) lock(writepages) ->write_cache_pages ->f2fs_submit_merged_bio ->writepage unlock(writepages) fs_mark-6535 [002] .... 2242.270230: f2fs_submit_write_bio: dev = (1,0), WRITE_SYNC, DATA, sector = 5766152, size = 524288 fs_mark-6536 [000] .... 2242.270361: f2fs_submit_write_bio: dev = (1,0), WRITE_SYNC, DATA, sector = 5767176, size = 4096 fs_mark-6536 [000] .... 2242.270370: f2fs_submit_write_bio: dev = (1,0), WRITE_SYNC, NODE, sector = 8138112, size = 4096 fs_mark-6535 [002] .... 2242.270776: f2fs_submit_write_bio: dev = (1,0), WRITE_SYNC, DATA, sector = 5767184, size = 516096 This may really increase time of block layer works, and may cause larger IO lantency. This patch moves the submitting operation into region of writepages mutex lock to avoid bio splits when concurrently writebacking is intensive. my test environment: virtual machine, intel cpu i5 2500, 8GB size memory, 4GB size ramdisk time fs_mark -t 16 -L 1 -s 524288 -S 1 -d /mnt/f2fs/ before: real 0m4.244s user 0m0.088s sys 0m12.336s after: real 0m3.822s user 0m0.072s sys 0m10.760s Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 741a7bea79eae6361c8d7499f1f6a900b65c120e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 6 20:30:40 2015 +0800 f2fs: restrict multimedia filename When testing with fs_mark, some blocks were written out as cold data which were mixed with warm data, resulting in splitting more bios. This is because fs_mark will create file with random filename as below: 559551ee~~~~~~~~15Z29OCC05JCKQP60JQ42MKV 559551ee~~~~~~~~NZAZ6X8OA8LHIIP6XD0L58RM 559551ef~~~~~~~~B15YDSWAK789HPSDZKYTW6WM 559551f1~~~~~~~~2DAE5DPS79785BUNTFWBEMP3 559551f1~~~~~~~~1MYDY0BKSQCJPI32Q8C514RM 559551f1~~~~~~~~YQOTMAOMN5CVRFOUNI026MP4 559551f3~~~~~~~~1WF42LPRTQJNPPGR3EINKMPE 559551f3~~~~~~~~8Y2NRK7CEPPAA02LY936PJPG They are regarded as cold file since their filename are ended with multimedia files' extension, but this should be wrong as we only match the extension of filename, not the whole one. In this patch, we try to fix the format of multimedia filename to: "filename + '.' + extension", then we set cold file only its filename matches the format. So after this change, it will reduce the probability we set the wrong cold file, also it helps a little for fs_mark's performance on f2fs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 62d43eeb1724836e4bc5caa67678a7943a2a06b6 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 6 20:29:46 2015 +0800 MAINTAINERS: add missed trace file for f2fs This patch adds missed trace file in maintainer-ship of f2fs, so it completes the description of files maintained in f2fs, and also it allows people to find correct mailing list by using get_maintainer.pl when only patching the trace file of f2fs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c1079892f4e8ecfd1bbc525cbfc1bd46b470888e Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Tue Jun 30 21:37:21 2015 -0400 f2fs: make the function check_dnode have a return type of bool and change it's name to is_alive This makes the function check_dnode have a return type of bool due to this particular function only ever returning either one or zero as its return value and changes the name of the function to is_alive in order to better explain this function's intended work of checking if a dnode is still in use by the filesystem. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> [Jaegeuk Kim: change the return value check for the renamed function] Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 84bc926c076963d5b992640f5c8d242754801fd6 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Jun 29 16:01:14 2015 -0700 f2fs: check the largest extent at look-up time Because of the extent shrinker or other -ENOMEM scenarios, it cannot guarantee that the largest extent would be cached in the tree all the time. Instead of relying on extent_tree, we can simply check the cached one in extent tree accordingly. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3e72f721390dc14e7b33fda812843c0725810106 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Jun 19 17:53:26 2015 -0700 f2fs: use extent_cache by default We don't need to handle the duplicate extent information. The integrated rule is: - update on-disk extent with largest one tracked by in-memory extent_cache - destroy extent_tree for the truncation case - drop per-inode extent_cache by shrinker Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7daaea256de42da112805703e3c77f08973156b3 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Jun 25 17:43:04 2015 -0700 f2fs: add noextent_cache mount option This patch adds noextent_cache mount option. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 554df79e523d14dab475eb6650cb96617256ceea Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Jun 19 13:41:23 2015 -0700 f2fs: shrink extent_cache entries This patch registers shrinking extent_caches. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1b38dc8e74a366b92986755c304591e330f3c3e0 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Jun 19 15:36:07 2015 -0700 f2fs: shrink nat_cache entries This patch registers shrinking nat_cache entries. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2658e50de61429f57d9496bfe371f232e2d039a1 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Jun 19 12:01:21 2015 -0700 f2fs: introduce a shrinker for mounted fs This patch introduces a shrinker targeting to reduce memory footprint consumed by a number of in-memory f2fs data structures. In addition, it newly adds: - sbi->umount_mutex to avoid data races on shrinker and put_super - sbi->shruinker_run_no to not revisit objects Note that the basic implementation was copied from fs/ubifs/shrinker.c Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 244f4fc1c530c4e486f0e4f0909c0514e4539ba2 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Jun 22 18:22:38 2015 -0700 f2fs: set cached_en after checking finally This patch relocates cached_en not only to be covered by spin_lock, but also to set once after checking out completely. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit cbe91923a97c96d6a931f4b5b7e32083218a0251 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Jun 16 15:17:01 2015 -0700 f2fs: update on-disk extents even under extent_cache Previously, f2fs_update_extent_cache() updates in-memory extent_cache all the time, and then finally preserves its up-to-date extent into on-disk one during f2fs_evict_inode. But, in the following scenario: 1. mount 2. open & write an extent X 3. f2fs_evict_inode; on-disk extent is X 4. open & update the extent X with Y 5. sync; trigger checkpoint 6. power-cut after power-on, f2fs should serve extent Y, but we have an on-disk extent X. This causes a failure on xfstests/311. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7a2cb67867b9a7f28a7c4d0fadd2f337a6d46ff7 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Jun 18 14:17:04 2015 -0700 f2fs: fix wrong block address calculation for a split extent This patch fixes wrong calculation on block address field when an extent is split. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 97a7b2c274d5dbe51170e099c16d49cfd1b467af Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Jun 17 13:59:05 2015 -0700 f2fs: convert inline_data for various fallocate For newly added fallocate types, it should convert inline_data before handling block swapping. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c9b63bd01dd8da096d079c490771ad8a049fd480 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Jun 23 10:36:08 2015 -0700 f2fs: avoid to use failed inode immediately Before iput is called, the inode number used by a bad inode can be reassigned to other new inode, resulting in any abnormal behaviors on the new inode. This should not happen for the new inode. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit eca616f8c1d6c581f3785f0ee3e2a3887e084273 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Jun 15 14:52:29 2015 -0700 f2fs: avoid freed stat information The write_checkpoint can update stat information, so we should destroy the stat structure after it. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5ac9f36fcacd532b218db1e0fd0f9e8a18321f22 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jun 29 18:14:10 2015 +0800 f2fs: fix to record dirty page count for symlink Dirty page can be exist in mapping of newly created symlink, but previously we did not maintain the counting of dirty page for symlink like we maintained for regular/directory, so the counting we lookuped should be wrong. This patch adds missed dirty page counting for symlink to fix this issue. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 92859a5efdfa71f712ec1d213f43061965d3e9b4 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 26 17:28:55 2015 +0200 f2fs crypto: delete an unnecessary check before the function call "key_put" The key_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6abc8ca19df0078de17dc38340db3002ed489ce7 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 4 15:20:55 2015 -0400 cgroup: define controller file conventions Traditionally, each cgroup controller implemented whatever interface it wanted leading to interfaces which are widely inconsistent. Examining the requirements of the controllers readily yield that there are only a few control schemes shared among all. Two major controllers already had to implement new interface for the unified hierarchy due to significant structural changes. Let's take the chance to establish common conventions throughout all controllers. This patch defines CGROUP_WEIGHT_MIN/DFL/MAX to be used on all weight based control knobs and documents the conventions that controllers should follow on the unified hierarchy. Except for io.weight knob, all existing unified hierarchy knobs are already compliant. A follow-up patch will update io.weight. v2: Added descriptions of min, low and high knobs. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> commit 7d6548abcf4ea4845db8a62a5875d93e2c1bf882 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Aug 4 11:43:40 2015 -0700 Input: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b084a35663c3f1f7de1c45c4ae3006864c940fe7 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Sun Jul 12 09:10:05 2015 +0300 iwlwifi: mvm: set different pm_timeout for action frames When building a Tx Command for management frames, we are lacking a check for action frames, for which we should set a different pm_timeout. This cause the fw to stay awake for 100TU after each such frame is transmitted, resulting an excessive power consumption. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit eed6e971973667d067d510e9540773ff0f9fe8fd Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Jul 22 14:21:31 2015 +0300 iwlwifi: mvm: ToF - Set correct range request cmd id Command ID of ToF range request command adapted to new FW commands grouping scheme. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Reviewed-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e112018776a88b1e9c31fff3c6a9341c4f37c358 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Sun Jul 19 11:15:07 2015 +0300 iwlwifi: mvm: Add FW paging mechanism for the UMAC on SDIO Family 8000 products has 2 embedded processors, the first known as LMAC (lower MAC) and implements the functionality from previous products, the second one is known as UMAC (upper MAC) and is used mainly for driver offloads as well as new features. The UMAC is typically â??lessâ?? real-time than the LMAC and is used for higher level controls. The UMAC's code/data size is estimated to be in the mega-byte arena, taking into account the code it needs to replace in the driver and the set of new features. In order to allow the UMAC to execute code that is bigger than its code memory, we allow the UMAC embedded processor to page out code pages on DRAM. When the device is slave on the bus(SDIO) the driver saves the UMAC's image pages in blocks of 32K in the DRAM and sends the layout of the pages to the FW. When the FW wants load / unload pages, it creates an interrupt, and the driver uploads / downloads the page to an address in the a specific address on the device's memory. The driver can support up to 1 MB of pages. Add paging mechanism for the UMAC on SDIO in order to allow the program to use a larger virtual space while using less physical memory on the device itself. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 26d535aedc0e9fcf2c8bee65b33cecb58ee8e8ed Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Tue Apr 28 12:56:54 2015 +0300 iwlwifi: pcie: New RBD allocation model As a preperation for multiple RX queues change the RBD allocation model. The new model includes a background allocator. The allocator is called by the interrupt handler when there are two released buffers by the queue, and the allocator starts allocating eight pages per request. When the queue has released 8 pages it tries claiming the request. If the pages are not ready - it keeps claiming. This new model should make sure that RBDs are always available across the multiple queues. The RBDs are transferred between the allocator and the queue. The queue moves the free RBDs upon freeing them to the allocator. The allocator moves them back to the queue's possession when the request is claimed. The allocator has an initial pool to make sure there are always RBDs available for the request completion. Release of the buffers at exit is done per pools - the allocator frees its own initial pool and the queue frees its own pool. Existing code refactor - -Queue's initial pool is the size of the queue only as the allocation of the new buffers no longer uses this pool. -Removal of replenish background work, and replenish calls in the interrupt handler and restock(). -The replenish() and the rxq used_list are used only during initialization. -Moved page allocation to a new function for code reuse. New code - Allocator code - new structure and functions. Interrupt handler uses the allocator functions for replenishing buffers. Reuse of the restock() method. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d4a81698540a644d1316bcd5836f3ae495844216 Merge: 36fb901 aecdc63 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Aug 4 21:30:10 2015 +0300 Merge remote-tracking branch 'iwlwifi-fixes/master' into next Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Conflicts: drivers/net/wireless/iwlwifi/pcie/internal.h commit 36fb90172688c8eeac67e1ef01d232549c9a6131 Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Wed Jul 15 15:47:28 2015 +0300 iwlwifi: mvm: add the ability to trigger only monitor dumps Change the FW debug trigger tlv to include a monitor only option. Setting this option to true will cause fw dump triggers to only collect monitor data and skip other dumps such as SMEM, SRAM, CSR, PRPH, etc. This option is used when accessing the different parts of the firmware memory is not wanted and can cause unwanted behavior like when debugging TX latency. Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 206eea7833859f9e39c8a7439196743a2d8dfc9b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Apr 17 16:38:31 2015 +0200 iwlwifi: pcie: support frag SKBs Allow frag SKBs in PCIe and advertise the maximum number of frags to the opmode. As a fallback. linearize the SKB if it exceeds the maximum number of fragments. This allows using the hardware better (filling more TBs) and should improve performance when used by the opmode. Also adjust tracing to be able to deal with this. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 17564dde6024fcfe74cc0512e7837175aa5283d9 Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Sun Mar 22 13:11:01 2015 +0200 iwlwifi: add new TLV capability flag for gscan support Gscan is a scan feature which is supported on certain devices only, hence the need for a TLV flag for it. For devices that support gscan store the gscan capabilities advertised by the FW so the driver can report it to upper layers. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9d012d0dbee1dcc4f7491925de41b4249b2cfb31 Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Thu Jun 4 10:32:43 2015 +0300 iwlwifi: Add max TX aggregation size for 8260 SDIO devices series Set max TX aggregation size for 8260 SDIO devices series to 40 frames. Fine tune max RX aggregation size - change it to 21. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit be681c7d103c4b3df5c51acaba5a578002a16488 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Thu Jun 18 06:39:41 2015 +0300 iwlwifi: mvm: revert to our old skip over dtim policy Our firmware scheduler used to suffer from false wake-up on 500 time units. We had to came up with a formula to address this buggy behavior. Now that our firmware is fixed, we can go back to our old policy. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit bd7fc617af118531e364d727ed02b0ded2bb4fc0 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Jul 15 23:15:08 2015 +0300 iwlwifi: pcie: dump RBs when FW error occurs Add support for dumping all the RBs in the RX queue when FW error occurs. This will assist debugging. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 192de2b406ab5cab0b87be6d8015dcfbec936e37 Author: Dor Shaish <dor.shaish@xxxxxxxxx> Date: Wed Jul 15 11:41:21 2015 +0300 iwlwifi: mvm: print secboot status registers on alive timeout Print the CPU1 and CPU2 secured boot status registers from the NIC to indicate a SYSASSERT during secured engine unlocking process on init/protocol image. Signed-off-by: Dor Shaish <dor.shaish@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 75118fdb63496e4611ab50380499ddd62b9de69f Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Wed Jun 24 11:03:56 2015 +0300 iwlwifi: mvm: clean up fw-api-scan.h Remove outdated and unused definitions Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a6c4fb4441f4641609bbb3e40da438ed57629db0 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Wed Jul 15 16:19:29 2015 +0300 iwlwifi: mvm: Add FW paging mechanism for the UMAC on PCI Family 8000 products has 2 embedded processors, the first known as LMAC (lower MAC) and implements the functionality from previous products, the second one is known as UMAC (upper MAC) and is used mainly for driver offloads as well as new features. The UMAC is typically â??lessâ?? real-time than the LMAC and is used for higher level controls. The UMAC's code/data size is estimated to be in the mega-byte arena, taking into account the code it needs to replace in the driver and the set of new features. In order to allow the UMAC to execute code that is bigger than its code memory, we allow the UMAC embedded processor to page out code pages on DRAM. When the device is master on the bus(PCI) the driver saves the UMAC's image pages in blocks of 32K in the DRAM and sends the layout of the pages to the FW. The FW can load / unload the pages on its own. The driver can support up to 1 MB of pages. Add paging mechanism for the UMAC on PCI in order to allow the program to use a larger virtual space while using less physical memory on the device. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0ab66e6d28f52677067a905ff2aac3367f8118ee Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Mon Jul 13 14:23:59 2015 +0300 iwlwifi: mvm: add wide firmware command support for debug triggers Add support for extended command id in triggers handling. Extended command id header contains group id in addition to command id. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1230b16b448acfdfe7d0cac940311c9363861c03 Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Thu Jul 9 17:17:03 2015 +0300 iwlwifi: mvm: add wide firmware command infrastructure for RX Add support for extended firmware event header that contains a group id as well as the command id. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6eb031d2fe2d9a3d7eaaba151c64e20bd0220fc9 Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Mon Jul 13 14:50:47 2015 +0300 iwlwifi: add wide firmware command support for notifications Add support for extended command id in notification system. Extended command id header contains group id in addition to command id. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 48ed7040315636f825c989e0752125ea275da82f Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Wed Jul 8 11:02:15 2015 -0400 iwlwifi: make various functions void in the file rs.c This makes various functions in the file rs.c void due to these functions never returning a error code to signal to their callers if and how they have failed to complete their intended work. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ca8c0f4bede6098f9d531365d2ad9d7a598327f6 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Apr 20 17:54:54 2015 +0200 iwlwifi: mvm: move TX PN assignment for CCMP to the driver Move the TX PN assignment (for CCMP only) to the driver. This prepares the driver for future DSO (driver segmentation offload) where it will split an SKB into multiple MPDUs by itself. For TDLS, split out the CCMP TX command handling so that it won't get a PN assigned, the firmware assigns the PN in that case. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1dadafa86a779884f14a6e7a3ddde1a57b0a0a65 Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Date: Tue Aug 4 11:26:04 2015 -0600 workqueue: Make flush_workqueue() available again to non GPL modules Commit 37b1ef31a568fc02e53587620226e5f3c66454c8 ("workqueue: move flush_scheduled_work() to workqueue.h") moved the exported non GPL flush_scheduled_work() from a function to an inline wrapper. Unfortunately, it directly calls flush_workqueue() which is a GPL function. This has the effect of changing the licensing requirement for this function and makes it unavailable to non GPL modules. See commit ad7b1f841f8a54c6d61ff181451f55b68175e15a ("workqueue: Make schedule_work() available again to non GPL modules") for precedent. Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 04b8637be92f284409651088f3856f4290a931d8 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 4 18:52:09 2015 +0100 arm64: alternatives: ensure secondary CPUs execute ISB after patching In order to guarantee that the patched instruction stream is visible to a CPU, that CPU must execute an isb instruction after any related cache maintenance has completed. The instruction patching routines in kernel/insn.c get this right for things like jump labels and ftrace, but the alternatives patching omits it entirely leaving secondary cores in a potential limbo between the old and the new code. This patch adds an isb following the secondary polling loop in the altenatives patching. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 7f08a414f29e7daea661d03231998625257ed3f1 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Tue Aug 4 17:27:34 2015 +0100 arm64: make ll/sc __cmpxchg_case_##name asm consistent The ll/sc __cmpxchg_case_##name assembly mostly uses symbolic names for operands, but in a single case uses %2 to refer to what is otherwise known as %[v]. This makes the code more painful to read than is necessary. Use %[v] instead. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b03ba9e314c12b2127243145b5c1f41b2408de62 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Wed Jul 29 11:55:26 2015 +0100 spi: img-spfi: fix multiple calls to request gpio spfi_setup may be called many times by the spi framework, but gpio_request_one can only be called once without freeing, repeatedly calling gpio_request_one will cause an error to be thrown, which causes the request to spi_setup to be marked as failed. We can have a per-spi_device flag that indicates whether or not the gpio has been requested. If the gpio has already been requested use gpio_direction_output to set the direction of the gpio. Fixes: 8c2c8c03cdcb ("spi: img-spfi: Control CS lines with GPIO") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit d4ea7d86457a8d0ea40ce77bdeda1fc966cc35ec Author: Ian Campbell <ijc@xxxxxxxxxxxxxx> Date: Sat Aug 1 18:13:25 2015 +0100 regulator: axp20x: Add module alias This allows the module to be autoloaded. Together with 07949bf9c63c ("cpufreq: dt: allow driver to boot automatically") this is sufficient to allow a modular kernel (such as Debian's) to enable cpufreq on a Cubietruck. Signed-off-by: Ian Campbell <ijc@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5dbe135a153837ce9367bdfacf7aabfc6fb76f4b Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:51 2015 +0200 usb: gadget: epautoconf: remove ep and desc configuration from ep_matches() As function ep_matches() is used to match endpoint with usb descriptor it's highly unintuitive that it modifies endpoint and descriptor structures fields. This patch moves code configuring ep and desc from ep_matches() to usb_ep_autoconfig_ss(), so now function ep_matches() does nothing more than its name suggests. [ balbi@xxxxxx : fix build warning ] Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b58713d53a8f41d57b24c93de0b1c7e9550ba70f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:50 2015 +0200 usb: gadget: epautoconf: remove pxa quirk from ep_matches() The same effect can be achieved by using capabilities flags, so now we can get rid of handling of hardware specific limitations in generic code. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b86f33a3a371a4c3aa8dbb2f4125634a4e0d09dc Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:49 2015 +0200 usb: gadget: epautoconf: add endpoint capabilities flags verification Introduce endpoint matching mechanism basing on endpoint capabilities flags. We check if endpoint supports transfer type and direction requested in ep descriptor. Since we have this new endpoint matching mechanism there is no need to have old code guessing endpoint capabilities basing on its name, so we are getting rid of it. Remove also the obsolete comment. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 47bef386511517449e2f24a89a41084af53616f8 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:48 2015 +0200 usb: gadget: atmel_usba_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 916f7ac5dbc312969a90bc35a5f4fcbfc2965d60 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:47 2015 +0200 usb: renesas: gadget: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8501955e888662ca56775eec2eb804e7bc7fce0d Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:46 2015 +0200 usb: musb: gadget: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit eb4cbc19526d62657b838d6f0b694a000e5b4c81 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:45 2015 +0200 usb: isp1760: udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 927d9f77fe3d5f9261eeb465e2b60768e400ffc9 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:44 2015 +0200 usb: gadget: udc-xilinx: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0648772d51c0ff3949397cb0cbcf2435ee32c550 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:43 2015 +0200 usb: gadget: s3c2410_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bc1b9f300ae06c64fcd056fb959b3d709ad2ef33 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:42 2015 +0200 usb: gadget: s3c-hsudc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0ec8026d7afee625f52631708d84435ea4735da6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:41 2015 +0200 usb: gadget: r8a66597-udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a180e3da97a323510071b2b5e42b5dc07df239da Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:40 2015 +0200 usb: gadget: pxa27x_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 36411b6b042d350a43fe1e0d3ce78fbda30f4f02 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:39 2015 +0200 usb: gadget: pxa25x_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 85a4ed003b39f70ba478e613a9be2c334f1079e7 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:38 2015 +0200 usb: gadget: pch_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7d4ba80d3a91222de577b652a8936f935de8b409 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:37 2015 +0200 usb: gadget: omap_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c23c3c3c3059f3dc47268cd7a28b96b9efdbc1ea Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:36 2015 +0200 usb: gadget: net2280: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f95aec51da16250841a4254db36f9771446cdbb6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:35 2015 +0200 usb: gadget: net2272: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 43710a8dba9ae607decdeaf7a56a51dd5b42184e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:34 2015 +0200 usb: gadget: mv_udc_core: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c12a30629f8b5fe8c2aba42c3128df702bbc9e83 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:33 2015 +0200 usb: gadget: mv_u3d_core: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8ddbf94fd5b536b3adf5ffa631c5951718e7301d Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:32 2015 +0200 usb: gadget: m66592-udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4d75c8bd613c5ba99ee02cfe38610c82e7fe8362 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:31 2015 +0200 usb: gadget: lpc32xx_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 892269925991b449ae47dcc0debb324ae451022e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:30 2015 +0200 usb: gadget: gr_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b0bf5fbfbd30ffbb9e45169f78412f0596e16412 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:29 2015 +0200 usb: gadget: goku_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 455d11c93582c4167f55af0969b83821450be120 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:28 2015 +0200 usb: gadget: fusb300_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 60a28c63712f190b45e9d8f0ca593c927970fd51 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:27 2015 +0200 usb: gadget: fsl_udc_core: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e8fc42f6a19af320d7a4718c05c3f249bf5d3151 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:26 2015 +0200 usb: gadget: fsl_qe_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8d29237a436dc8e2b5c44dd0ca662a680f16deb5 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:25 2015 +0200 usb: gadget: fotg210-udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7a3b8e7098946b44c014f3df0ceef27fb273c142 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:24 2015 +0200 usb: gadget: dummy-hcd: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b079dd6156a6544e0383642a9ec97d17485aa244 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:23 2015 +0200 usb: gadget: bdc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1b0ba527702268992a62227dde4911477f057ca5 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:22 2015 +0200 usb: gadget: bcm63xx_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9ed96d7d579416a8fd2e1cef66541bfdad2720f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:21 2015 +0200 usb: gadget: at91_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6f02ac5ac9bba538593e4359dd5e83c4d42822fe Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:20 2015 +0200 usb: gadget: amd5536udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a474d3b73ba7f22844e672ac004f01cd9b8be159 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:19 2015 +0200 usb: dwc3: gadget: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2954522f135246287c36524bc96e9dae8c40f8a9 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:18 2015 +0200 usb: dwc2: gadget: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a7e3f1410855db6b67ec29a386e74be2df3cc311 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:17 2015 +0200 usb: chipidea: udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 68b5c947515a252b9e416e419fca4c1382912948 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:16 2015 +0200 staging: emxx_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Fixed typo in "epc-nulk" to "epc-bulk". Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 80e6e3847f851fc05e63265050115e29e2a50d7e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:15 2015 +0200 usb: gadget: add endpoint capabilities helper macros Add macros useful while initializing array of endpoint capabilities structures. These macros makes structure initialization more compact to decrease number of code lines and increase readability of code. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 734b5a2addd333829a6d647ee14a3609c7a87c44 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:14 2015 +0200 usb: gadget: add endpoint capabilities flags Introduce struct usb_ep_caps which contains information about capabilities of usb endpoints - supported transfer types and directions. This structure should be filled by UDC driver for each of its endpoints, and will be used in epautoconf in new ep matching mechanism which will replace ugly guessing of endpoint capabilities basing on its name. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cc476b42a39d5a66d94f46cade972dcb8ee278df Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:13 2015 +0200 usb: gadget: encapsulate endpoint claiming mechanism So far it was necessary for usb functions to set ep->driver_data in endpoint obtained from autoconfig to non-null value, to indicate that endpoint is claimed by function (in autoconfig it was checked if endpoint has set this field to non-null value, and if it has, it was assumed that it is claimed). It could cause bugs because if some function doesn't set this field autoconfig could return the same endpoint more than one time. To help to avoid such bugs this patch adds claimed flag to struct usb_ep, and encapsulates endpoint claiming mechanism inside usb_ep_autoconfig_ss() and usb_ep_autoconfig_reset(), so now usb functions don't need to perform any additional actions to mark endpoint obtained from autoconfig as claimed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 94e5c23d3c52f58f4051810a15aeacc085127ad1 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Aug 4 13:52:22 2015 +0800 spi: pxa2xx: Add terminating entry for pxa2xx_spi_pci_compound_match Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 89a6356676eba38e498507b5b67dcc07a714a149 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Fri Jul 31 13:42:29 2015 +0100 spi: spidev: fix inconsistent indenting Fix inconsistent indenting in spidev_open, no functional change. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0f4315a8f1a73f130bbc5dde134b704ea6dda56c Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Aug 4 11:02:45 2015 -0500 usb: gadget: f_uac2: fix build warning commit 913e4a90b6f9 ("usb: gadget: f_uac2: finalize wMaxPacketSize according to bandwidth") added a possible build warning when calling min(). In order to fix the warning, we just make sure to call min_t() and tell that its arguments should be u16. Cc: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7f352964852ede9e95d18fd3825c5200fb48b3a5 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:02:28 2015 +0000 usb: musb: musb_dsps: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c5673f5ce4c0faa97df419877bcdebbd76d43151 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:02:03 2015 +0000 usb: phy: phy-keystone: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4b68b50fd45e2f429da574c74d9a3788a861434f Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:01:31 2015 +0000 usb: phy: phy-mxs-usb: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 12d560f4ea87030667438a169912380be00cea4b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 18:35:23 2015 -0700 rcu,locking: Privatize smp_mb__after_unlock_lock() RCU is the only thing that uses smp_mb__after_unlock_lock(), and is likely the only thing that ever will use it, so this commit makes this macro private to RCU. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: "linux-arch@xxxxxxxxxxxxxxx" <linux-arch@xxxxxxxxxxxxxxx> commit 3dbe43f6fba9f2a0e46e371733575a45704c22ab Merge: 8ff4fbf 96d7744 d6a8c6d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 08:42:02 2015 -0700 Merge branches 'doc.2015.07.15a' and 'torture.2015.07.15a' into HEAD doc.2015.07.15a: Documentation updates. torture.2015.07.15a: Torture-test updates. commit 8ff4fbfd69a6c7b9598f8c1f2df34f89bac02c1a Merge: 9a54f98 af859be Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 08:40:58 2015 -0700 Merge branches 'fixes.2015.07.22a' and 'initexp.2015.08.04a' into HEAD fixes.2015.07.22a: Miscellaneous fixes. initexp.2015.08.04a: Initialization and expedited updates. (Single branch due to conflicts.) commit af859beaaba4d57883b08f4acbcb3974bc1f975e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 19 15:13:40 2015 -0700 rcu: Silence lockdep false positive for expedited grace periods In a CONFIG_PREEMPT=y kernel, synchronize_rcu_expedited() acquires the ->exp_funnel_mutex in rcu_preempt_state, then invokes synchronize_sched_expedited, which acquires the ->exp_funnel_mutex in rcu_sched_state. There can be no deadlock because rcu_preempt_state ->exp_funnel_mutex acquisition always precedes that of rcu_sched_state. But lockdep does not know that, so it gives false-positive splats. This commit therefore associates a separate lock_class_key structure with the rcu_sched_state structure's ->exp_funnel_mutex, allowing lockdep to see the lock ordering, avoiding the false positives. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9ee67421fe3b67a0796d6ea620fd5fcb037d3f89 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 3 16:27:40 2015 -0300 perf script: No tracepoints? Don't call libtraceevent. The libtraceevent handler (session->tevent) is only initialized when there are tracepoints in a perf.data event list, so do not call pevent_set_function_resolve() in those cases, fixing a segfault. Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-xyynkucl5p4bcs13zi4i4b1f@xxxxxxxxxxxxxx Report-link: http://lkml.kernel.org/r/20150803174113.GA20282@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6d3ec14d703c660c4baf8d726538b5415e23b4fb Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Tue Aug 4 11:21:52 2015 -0400 jbd2: limit number of reserved credits Currently there is no limitation on number of reserved credits we can ask for. If we ask for more reserved credits than 1/2 of maximum transaction size, or if total number of credits exceeds the maximum transaction size per operation (which is currently only possible with the former) we will spin forever in start_this_handle(). Fix this by adding this limitation at the start of start_this_handle(). This patch also removes the credit limitation 1/2 of maximum transaction size, since we really only want to limit the number of reserved credits. There is not much point to limit the credits if there is still space in the journal. This accidentally also fixes the online resize, where due to the limitation of the journal credits we're unable to grow file systems with 1k block size and size between 16M and 32M. It has been partially fixed by 2c869b262a10ca99cb866d04087d75311587a30c, but not entirely. Thanks Jan Kara for helping me getting the correct fix. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 21caf3a765b0a88f8fedf63b36e5d15683b73fe5 Author: Lorenzo Nava <lorenx4@xxxxxxxxx> Date: Thu Jul 2 17:28:03 2015 +0100 ARM: 8398/1: arm DMA: Fix allocation from CMA for coherent DMA This patch allows the use of CMA for DMA coherent memory allocation. At the moment if the input parameter "is_coherent" is set to true the allocation is not made using the CMA, which I think is not the desired behaviour. The patch covers the allocation and free of memory for coherent DMA. Signed-off-by: Lorenzo Nava <lorenx4@xxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit fedf42b50d51758ce43fe0a652991dc01421f422 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Thu Jul 30 18:13:56 2015 -0700 reset: reset-zynq: Adding support for Xilinx Zynq reset controller. This adds a reset controller driver to control the Xilinx Zynq AP-SoC's various resets. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 575c215c00140e83b32ca6c01443b8a458e55c73 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Thu Jul 30 18:13:54 2015 -0700 docs: dts: Added documentation for Xilinx Zynq Reset Controller bindings. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 3f14a63a544374225c17221a5058748360428dc3 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Aug 3 10:17:05 2015 -0700 HID: wacom: Remove WACOM_QUIRK_NO_INPUT WACOM_QUIRK_NO_INPUT is a signal to the driver that input devices should not be created for a particular device. This quirk was used by the wireless receiver to prevent any devices from being created during the initial probe (defering it instead until we got a tablet connection event in 'wacom_wireless_work'). This quirk is not necessary now that a device_type is associated with each device. Any input device allocated by 'wacom_allocate_inputs' which is not necessary for a particular device is freed in 'wacom_register_inputs'. In particular, none of the wireless receivers devices have the pen, pad, or touch device types set so the same effect is achieved without the need to be explicit. We now return early in wacom_retrieve_hid_descriptor for wireless devices (to prevent the device_type from being overridden) but since we ignore the HID descriptor for the wireless reciever anyway, this is not an issue. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit ccad85cc1ee34509840e5af80a436ceaf0b71edb Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Aug 3 10:17:04 2015 -0700 HID: wacom: Replace WACOM_QUIRK_MONITOR with WACOM_DEVICETYPE_WL_MONITOR The monitor interface on the wireless receiver is more logically expressed as a type of device instead of a quirk. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 8dc8641e619228153ab0bc609f9f534126e87c08 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Aug 3 10:17:03 2015 -0700 HID: wacom: Use calculated pkglen for wireless touch interface Commit 01c846f introduced the 'wacom_compute_pktlen' function which automatically determines the correct value for an interface's pkglen by scanning the HID descriptor. This function returns the correct value for the wireless receiver's touch interface, removing the need for us to set it manually here. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit a4198fd4b487afc60810f5a12b994721df220022 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:23 2015 +0800 crypto: testmgr - Reenable authenc tests Now that all implementations of authenc have been converted we can reenable the tests. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit aeb4c132f33d21f6cf37558a932e66e40dd8982e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:22 2015 +0800 crypto: talitos - Convert to new AEAD interface This patch converts talitos to the new AEAD interface. IV generation has been removed since it's equivalent to a software implementation. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e19ab1211d2848ebd028c824041d8ea249fa3aae Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:20 2015 +0800 crypto: qat - Convert to new AEAD interface This patch converts qat to the new AEAD interface. IV generation has been removed since it's equivalent to a software implementation. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Tested-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> commit c1359495c8a19fa686aa48512e0290d2f3846273 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:19 2015 +0800 crypto: picoxcell - Convert to new AEAD interface This patch converts picoxcell to the new AEAD interface. IV generation has been removed since it's equivalent to a software implementation. As picoxcell cannot handle SG lists longer than 16 elements, this patch has made the software fallback mandatory. If an SG list comes in that exceeds the limit, we will simply use the fallback. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d7295a8dc965ee0d5b3f9b1eb7f556c2bfa78420 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:18 2015 +0800 crypto: ixp4xx - Convert to new AEAD interface This patch converts ixp4xx to the new AEAD interface. IV generation has been removed since it's a purely software implementation. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 479bcc7c5b9e1cbf3278462d786c37e468d5d404 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:17 2015 +0800 crypto: caam - Convert authenc to new AEAD interface This patch converts the authenc implementations in caam to the new AEAD interface. The biggest change is that seqiv no longer generates a random IV. Instead the IPsec sequence number is used as the IV. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 92d95ba91772279b6ef9c6e09661f67abcf27259 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:16 2015 +0800 crypto: authenc - Convert to new AEAD interface This patch converts authenc to the new AEAD interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7079ce62c0e9bfcca35214105c08a2d00fbea9ee Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:14 2015 +0800 crypto: testmgr - Disable authenc test and convert test vectors This patch disables the authenc tests while the conversion to the new IV calling convention takes place. It also replaces the authenc test vectors with ones that will work with the new IV convention. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1d6669fa83bc31b94f71ff12bbbed3516eefc705 Merge: 76bea64 17fb874 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 20:44:35 2015 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Merge the crypto tree to pull in the qat registration bug fix. commit fdf036507f1fc036d5a06753e9e8b13f46de73e8 Author: Fan Zhang <zhangfan@xxxxxxxxxxxxxxxxxx> Date: Wed May 13 10:58:41 2015 +0200 KVM: s390: host STP toleration for VMs If the host has STP enabled, the TOD of the host will be changed during synchronization phases. These are performed during a stop_machine() call. As the guest TOD is based on the host TOD, we have to make sure that: - no VCPU is in the SIE (implicitly guaranteed via stop_machine()) - manual guest TOD calculations are not affected "Epoch" is the guest TOD clock delta to the host TOD clock. We have to adjust that value during the STP synchronization and make sure that code that accesses the epoch won't get interrupted in between (via disabling preemption). Signed-off-by: Fan Zhang <zhangfan@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit f341b8dff9823a969be5fb3c958e5cb305ac67e8 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Aug 3 16:16:40 2015 +0200 s390/vtime: limit MT scaling value updates The MT scaling values are updated on each calll to do_account_vtime. This function is called for each HZ interrupt and for each context switch. Context switch can happen often, the STCCTM instruction on this path is noticeable. Limit the updates to once per jiffy. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 4c2880b31c700b03f3f115b5ca64be615783aa9c Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Jul 31 09:44:12 2015 +0100 irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance Commit 3228950621d9 ("irqchip: gic: Preserve gic V2 bypass bits in cpu ctrl register") added a new function, gic_cpu_if_up(), to program the GIC CPU_CTRL register. This function assumes that there is only one GIC instance present and hence always uses the chip data for the primary GIC controller. Although it is not common for there to be a secondary, some devices do support a secondary. Therefore, fix this by passing gic_cpu_if_up() a pointer to the appropriate chip data structure. Similarly, the function gic_cpu_if_down() only assumes that there is a single GIC instance present. Update this function so that an instance number is passed for the appropriate GIC and return an error code on failure. The vexpress TC2 (which has a single GIC) is currently the only user of this function and so update it accordingly. Note that because the TC2 only has a single GIC, the call to gic_cpu_if_down() should always be successful. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438332252-25248-2-git-send-email-jonathanh@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 567e5a014848c6aeb1d6fc862b1b5d0183760259 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Jul 31 09:44:11 2015 +0100 irqchip/gic: Only allow the primary GIC to set the CPU map The gic_init_bases() function initialises an array that stores the mapping between the GIC and CPUs. This array is a global array that is unconditionally initialised on every call to gic_init_bases(). Although, it is not common for there to be more than one GIC instance, there are some devices that do support nested GIC controllers and gic_init_bases() can be called more than once. A 2nd call to gic_init_bases() will clear the previous CPU mapping and will only setup the mapping again for the CPU calling gic_init_bases(). Fix this by only allowing the CPU map to be configured for the primary GIC. For secondary GICs the CPU map is not relevant because these GICs do not directly route the interrupts to the main CPU(s) but to other GICs or devices. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438332252-25248-1-git-send-email-jonathanh@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5a7ff75a0c63222d138d944240146dc49a9624e1 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Aug 4 09:15:58 2015 +0200 s390/syscalls: ignore syscalls reachable via sys_socketcall x86 will wire up all syscalls reachable via sys_socketcall. Therefore this will yield a lot of warnings from the checksyscalls.sh scripts on s390 where we currently don't wire them up directly. This might change in the future, but this needs to be done carefully in order to not break anything. For the time being just tell the checksyscalls script to ignore the missing syscalls on s390. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a763bc8b656d11b7424cd2696e19efca301d8aa4 Author: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Date: Fri May 8 17:40:44 2015 +0200 s390/numa: enable support in s390 configs Signed-off-by: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c29a7baf091fc6b2c9e40561030f8c62e6145a19 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 6 18:47:21 2014 +0100 s390/numa: add emulation support NUMA emulation (aka fake NUMA) distributes the available memory to nodes without using real topology information about the physical memory of the machine. Splitting the system memory into nodes replicates the memory management structures for each node. Particularly each node has its own "mm locks" and its own "kswapd" task. For large systems, under certain conditions, this results in improved system performance and/or latency based on reduced pressure on the mm locks and the kswapd tasks. NUMA emulation distributes CPUs to nodes while respecting the original machine topology information. This is done by trying to avoid to separate CPUs which reside on the same book or even on the same MC. Because the current Linux scheduler code requires a stable cpu to node mapping, cores are pinned to nodes when the first CPU thread is set online. This patch is based on the initial implementation from Philipp Hachtmann. Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 56113f6e6f8d57d3c184544c6421422558a9988e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 3 10:49:29 2015 -0700 ASoC: atmel_ssc_dai: Correct misuse of 0x%<decimal> Correct misuse of 0x%d in logging message. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76bea64c4c8d7fa911eb485c4c2b8583e813331e Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Mon Aug 3 18:56:21 2015 -0500 crypto: talitos - Remove zero_entry static initializer Compiling the talitos driver with my GCC 4.3.1 e500v2 cross-compiler resulted in a failed build due to the anonymous union/structures introduced in this commit: crypto: talitos - enhanced talitos_desc struct for SEC1 The build error was: drivers/crypto/talitos.h:56: error: unknown field 'len' specified in initializer drivers/crypto/talitos.h:56: warning: missing braces around initializer drivers/crypto/talitos.h:56: warning: (near initialization for 'zero_entry.<anonymous>') drivers/crypto/talitos.h:57: error: unknown field 'j_extent' specified in initializer drivers/crypto/talitos.h:58: error: unknown field 'eptr' specified in initializer drivers/crypto/talitos.h:58: warning: excess elements in struct initializer drivers/crypto/talitos.h:58: warning: (near initialization for 'zero_entry') make[2]: *** [drivers/crypto/talitos.o] Error 1 make[1]: *** [drivers/crypto] Error 2 make: *** [drivers] Error 2 This patch eliminates the errors by relying on the C standard's implicit assignment of zero to static variables. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f6e45c24f401f3d0e648bfba304c83b64d763559 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Aug 3 09:08:05 2015 +0200 crypto: doc - AEAD API conversion The AEAD API changes are now reflected in the crypto API doc book. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 327cbbabfb77c321fb9f21068c18e6bb951d07a7 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Aug 3 00:05:03 2015 +0100 crypto: img-hash - fix spelling mistake in dev_err error message Trival change, fix spelling mistake 'aquire' -> 'acquire' in dev_err message. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a6cd379b4d68867295ea35a719008e86d7a2ee9f Author: Subash Abhinov Kasiviswanathan <subashab@xxxxxxxxxxxxxx> Date: Thu Jul 30 16:53:45 2015 +0000 netfilter: ip6t_REJECT: Remove debug messages from reject_tg6() Make it similar to reject_tg() in ipt_REJECT. Suggested-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@xxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 964927f3119289b72e34d8eea65b0fc62b47b499 Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Jul 8 13:42:32 2015 +0300 ARM: dts: dra7: Add named interrupt property for dwc3 Add interrupt names so that the same can be used for OTG easily. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8d33c0934b2be2c90a750978acabf168311dad0a Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Jul 8 13:42:31 2015 +0300 ARM: dts: omap5: Add named interrupt property for dwc3 Add interrupt names so that the same can be used for OTG easily. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1d20e4bfd2af8ac6040008c02db276c9c971fc9b Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Jul 8 13:42:30 2015 +0300 ARM: dts: am4372: Add named interrupt property for dwc3 Add interrupt names so that the same can be used for OTG easily. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 93a1ceea104169c4faff112bf18a782a72e0483e Author: Alban Bedel <albeu@xxxxxxx> Date: Mon Aug 3 19:23:53 2015 +0200 MIPS: ath79: Add the reset controller to the AR9132 dtsi Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit ff591a91225d3621a503bb18faa0f0d747a06e50 Author: Alban Bedel <albeu@xxxxxxx> Date: Mon Aug 3 19:23:52 2015 +0200 reset: Add a driver for the reset controller on the AR71XX/AR9XXX The AR71XX/AR9XXX SoC have a simple reset controller with one bit per reset line. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit f25b5edac7be7d405965fb68c6b6f65d8852d860 Author: Alban Bedel <albeu@xxxxxxx> Date: Mon Aug 3 19:23:51 2015 +0200 devicetree: Add bindings for the ATH79 reset controller Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit d1b22e4d8e57e3914d706b108c5b1718d187557d Merge: a6affd2 f109ff1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 4 01:24:35 2015 -0700 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== add meminfo, bist status and misc. fixes This patch series adds the following. Add support to dump memory address range of various hw modules Add support to dump edc bist status during ecc error Read correct bits of who am i register for T6 adapter and update T6 register range This patch series has been created against net-next tree and includes patches on cxgb4 and cxgb4vf driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. V2: PATCH 3/4 ("cxgb4/cxgb4vf: read the correct bits of PL Who Am I register") Fix switch statement in get_chip_type() and some more style fixes based on review comment by Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f109ff110b0f3e34cea45996734da485a2fdaa42 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Aug 4 14:36:20 2015 +0530 cxgb4: Update T6 register ranges Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d86bd29e0b31f30d5d85ab21385b59703ecc6464 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Aug 4 14:36:19 2015 +0530 cxgb4/cxgb4vf: read the correct bits of PL Who Am I register Read the correct bits of PL Who Am I for the Source PF field which has changed in T6 Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf8ebb67dae0a07db7aebe7a65c178ff24d90842 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Aug 4 14:36:18 2015 +0530 cxgb4: Add support to dump edc bist status Add support to dump edc bist status for ECC data errors Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5888111cb8f7368304db42787c9495d4b2b82e06 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Aug 4 14:36:17 2015 +0530 cxgb4: Add debugfs support to dump meminfo Add debug support to dump memory address ranges of various hardware modules of the adapter. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75f80859b130a1cc84e59e71295ce2dd51fe1c81 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 15 14:35:46 2015 +0200 perf/x86/intel/pebs: Robustify PEBS buffer drain Vince Weaver and Stephane Eranian reported warnings in the PEBS code when running the perf fuzzer. Stephane wrote: > I can reproduce the problem on my HSW running the fuzzer. > > I can see why this could be happening if you are mixing PEBS and non PEBS events > in the bottom 4 counters. I suspect: > for (bit = 0; bit < x86_pmu.max_pebs_events; bit++) { > if ((counts[bit] == 0) && (error[bit] == 0)) > continue; > > This test is not correct when you have non-PEBS events mixed with > PEBS events and they overflow at the same time. They will have > counts[i] != 0 but error[i] == 0, and thus you fall thru the loop > and hit the assert. Or it is something along those lines. The only way I can make this work is if ->status only has !PEBS events set, because if it has both set we'll take that slow path which masks out the !PEBS bits. After masking there are 3 options: - there is one bit set, and its @bit, we increment counts[bit]. - there are multiple bits set, we increment error[] for each set bit, we do not increment counts[]. - there are no bits set, we do nothing. The intent was to never increment counts[] for !PEBS events. Now if we start out with only a single !PEBS event set, we'll pass the test and increment counts[] for a !PEBS and hit the warn. Reported-by: Vince Weaver <vincent.weaver@xxxxxxxxx> Reported-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2a853e1123cbbb43ff74cc47b4ec582ce34df262 Author: Liang, Kan <kan.liang@xxxxxxxxx> Date: Fri Jul 3 20:08:27 2015 +0000 perf/x86/intel/pebs: Fix event disable PEBS buffer drain When disabling a PEBS event, we need to drain the buffer. Doing so requires a correct cpuc->pebs_active mask. The current code clears the pebs_active bit before draining the buffer. Fix that. Signed-off-by: "Liang, Kan" <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver<vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/37D7C6CF3E00A74B8858931C1DB2F07701885A65@xxxxxxxxxxxxxxxxxxxxxxxxxxxx [ Fixed the SOB. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b7b7c7821d932ba18ef6c8eafc8536066b4c2ef4 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Jul 20 11:49:06 2015 -0400 perf/x86: Add an MSR PMU driver This patch adds an MSR PMU to support free running MSR counters. Such as time and freq related counters includes TSC, IA32_APERF, IA32_MPERF and IA32_PPERF, but also SMI_COUNT. The events are exposed in sysfs for use by perf stat and other tools. The files are under /sys/devices/msr/events/ Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> [ s/freq/msr/, added SMI_COUNT, fixed bugs. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: dsahern@xxxxxxxxx Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: mark.rutland@xxxxxxx Cc: namhyung@xxxxxxxxxx Link: http://lkml.kernel.org/r/1437407346-31186-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 070e98873cf7196cad58f8b6e5278dd5533c81f0 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Jul 2 08:12:52 2015 -0400 perf/x86/intel/uncore: Add Broadwell-DE uncore support The uncore subsystem for Broadwell-DE is similar to Haswell-EP. There are some differences in pci device IDs, box number and constraints. Please refer to the public document: http://www.intel.com/content/www/us/en/processors/xeon/xeon-d-1500-uncore-performance-monitoring.html Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1435839172-15114-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8c4fe7095d633dd5543690ea5c3d522c5cd989b6 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Jun 30 16:33:24 2015 -0700 perf/x86/intel: Use 0x11 as extra reg test value The next patch adds a new perf extra register where 0x1ff is not a valid value. Use 0x11 instead. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435707205-6676-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 47732d886385af769449022a02c7cf0ce45d8a5c Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Jun 29 14:22:13 2015 -0700 perf/x86: Make merge_attr() global to use from perf_event_intel merge_attr() allows to merge two sysfs attribute tables. Export it to be usable by other files too. Next patch is going to use that to extend the sysfs format attributes for a CPU. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1435612935-24425-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 90405aa02247c1a6313c33e2253f9fd2299ae60b Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed May 27 21:13:18 2015 -0700 perf/x86/intel/lbr: Limit LBR accesses to TOS in callstack mode In callstack mode the LBR is not a ring buffer, but a stack that grows up and down. This means in this case we don't need to access all LBRs, only the ones up to TOS. Do this optimization for the normal LBR read, and the context switch save/restore code. For save/restore it can be done unconditionally, as it only runs when call stack mode is active. This recovers some of the cost of going to 32 LBRs on Skylake. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1432786398-23861-6-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e0573364b8c5b17401569ef581f1625803210f4d Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed May 27 21:13:17 2015 -0700 perf/x86/intel/lbr: Use correct index to save/restore LBR_INFO with call stack Use the correct index to save/restore the LBR_INFO_x MSR in callstack mode. This is more a cleanup, as even with the wrong index the register was correctly saved/restored, and also LBR callgraph mode in perf tools do not really need anything in LBR_INFO. But still better to use the right index. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1432786398-23861-5-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a92e16fd7b4ccd9aabcbc4d42a3fb5f9a3cf4a1 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:44 2015 -0700 perf/x86/intel: Add Intel Skylake PMU support Add perf core PMU support for future Intel Skylake CPU cores. The code is based on Haswell/Broadwell. There is a new cache event list, based on the updated Haswell event list. Skylake has removed most counter constraints on basic events, so the basic constraints table now only has a single entry (plus the fixed counters). TSX support and various other setups are all shared with Haswell. Skylake has 32 LBR entries. Add a new LBR init function to set this up. The filters are all the same as Haswell. It also has a new LBR format with a separate LBR_INFO_* MSR, but that has been already added earlier. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-7-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 425507fa5f321bb5ce1b5eb57a9586e0cf0b9802 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:46 2015 -0700 perf/x86/intel/lbr: Optimize v4 LBR unfreezing In Arch perfmon v4 the GLOBAL_STATUS reset automatically unfreezes LBRs. So no need to do it manually in the LBR code. Add a check to skip it. v2: Move test up to beginning of function. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-9-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0f29e573dd32bb8598e74271454e97c962da5e05 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:47 2015 -0700 perf/x86/intel: Move PMU ACK to after LBR read With Arch Perfmon v4 the PMU ack unfreezes the LBRs. So we need to do the PMU ack after the LBR reading, otherwise the LBRs would be polluted by the PMI handler. This is a minimal change. In principle the ACK could be moved much later. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-10-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d8020bee1d0caa90e7b9d6f39ac1fdfaaee7f67f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:45 2015 -0700 perf/x86/intel: Handle new arch perfmon v4 status bits ArchPerfmon v4 has some new status bits in GLOBAL_STATUS. These need to be ignored when deciding whether a NMI was an NMI, to avoid eating all NMIs when they stay set, see: b292d7a10487 ("perf/x86/intel: ignore CondChgd bit to avoid false NMI handling") This patch ignores the new ASIF bit, which indicates that SGX interfered with the PMU, and also the new LBR freezing bits, which are set when the LBRs get frozen, plus the existing CondChange (set by JTAG debuggers and some buggy BIOSes) Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-8-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 50eab8f6ecd77ae4f9742f8e21ea50705ce0f830 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:43 2015 -0700 perf/x86/intel/lbr: Add support for LBRv5 Add support for the new LBRv5 format used on Intel Skylake CPUs. The flags for mispredict, abort, in_tx etc. moved to range of separate LBR_INFO_* MSRs. Teach the LBR code to read those. The original LBR registers stay the same, except they have full sign extension now. LBR_INFO also reports a cycle count to the last branch. Report the cycle information using the new "cycles" branch_info output field. In addition we have to context switch and clear the new INFO MSRs to avoid any information leaks. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-6-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 71ef3c6b9d4665ee7afbbe4c208a98917dcfc32f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:42 2015 -0700 perf: Add cycles to branch_info Intel Skylake supports reporting the time in cycles a branch in the LBR took, to give a rough indication of the basic block performance. Export the cycle information in the branch_info structure. This can be done by just reusing some currently zero padding. This is just the generic header change. The architecture still needs to fill it in. There's no attempt to convert to real time, as we really want cycles here. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-5-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b83ff1c8617aac03a1cf807aafa848fe0f0908f2 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:41 2015 -0700 x86: Add new MSRs and MSR bits used for Intel Skylake PMU support Add new MSRs (LBR_INFO) and some new MSR bits used by the Intel Skylake PMU driver. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-4-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a7b58d211ba18c9175b139e18b68c86a6bcc3c3f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed May 27 21:13:14 2015 -0700 perf/x86/intel/lbr: Allow time stamp for free running PEBSv3 With PEBSv3 the PEBS record contains a time stamp. That means we can allow free-running PEBS without a PMI even if the user program requested a time stamp. This avoids the need to use -T to get free running PEBS, and also avoids any problems with mis-identifying MMAPs later. Move the free_running_flags state into a variable in x86_pmu and use it. This only works when no explicit clock_id is set. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1432786398-23861-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2f7ebf2ec2a7b311318aae10b8373b0bd93001a7 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:40 2015 -0700 perf/x86/intel: Add support for PEBSv3 profiling PEBSv3 is the same as the existing PEBSv2 used on Haswell, but it adds a new TSC field. Add support to the generic PEBS handler to handle the new format, and overwrite the perf time stamp using the new native_sched_clock_from_tsc(). Right now the time stamp is just slightly more accurate, as it is nearer the actual event trigger point. With the PEBS threshold > 1 patchkit it will be much more accurate, avoid the problems with MMAP mismatches earlier. The accurate time stamping is only implemented for the default trace clock for now. v2: Use _skl prefix. Check for default clock_id. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a94cab2376cb35f236be14e2833cef63a8762a31 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:39 2015 -0700 perf/x86: Add a native_perf_sched_clock_from_tsc() PEBSv3 has a raw TSC time stamp in its memory buffer that later needs to to be converted to perf_clock. Add a native_sched_clock_from_tsc() that works the same as native_sched_clock(), but starts with an already given TSC value. Paravirt is ignored, it will just get the native clock. But there isn't a para virtualized PEBS anyway. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b1bf72d6691cc33fc7763fc8ec77df42ca1a8702 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Thu Jul 30 16:15:31 2015 +0300 perf/x86/intel/pt: Add new timing packet enables Intel PT chapter in the new Intel Architecture SDM adds several packets corresponding enable bits and registers that control packet generation. Also, additional bits in the Intel PT CPUID leaf were added to enumerate presence and parameters of these new packets and features. The packets and enables are: * CYC: cycle accurate mode, provides the number of cycles elapsed since previous CYC packet; its presence and available threshold values are enumerated via CPUID; * MTC: mini time counter packets, used for tracking TSC time between full TSC packets; its presence and available resolution options are enumerated via CPUID; * PSB packet period is now configurable, available period values are enumerated via CPUID. This patch adds corresponding bit and register definitions, pmu driver capabilities based on CPUID enumeration, new attribute format bits for the new featurens and extends event configuration validation function to take these into account. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1438262131-12725-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a6694cfa2390181dec936a17c0d9d21ef7b08d9 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Thu Jul 30 16:48:24 2015 +0300 perf/x86/intel/pt: Do not force sync packets on every schedule-in Currently, the PT driver zeroes out the status register every time before starting the event. However, all the writable bits are already taken care of in pt_handle_status() function, except the new PacketByteCnt field, which in new versions of PT contains the number of packet bytes written since the last sync (PSB) packet. Zeroing it out before enabling PT forces a sync packet to be written. This means that, with the existing code, a sync packet (PSB and PSBEND, 18 bytes in total) will be generated every time a PT event is scheduled in. To avoid these unnecessary syncs and save a WRMSR in the fast path, this patch changes the default behavior to not clear PacketByteCnt field, so that the sync packets will be generated with the period specified as "psb_period" attribute config field. This has little impact on the trace data as the other packets that are normally sent within PSB+ (between PSB and PSBEND) have their own generation scenarios which do not depend on the sync packets. One exception where we do need to force PSB like this when tracing starts, so that the decoder has a clear sync point in the trace. For this purpose we aready have hw::itrace_started flag, which we are currently using to output PERF_RECORD_ITRACE_START. This patch moves setting itrace_started from perf core to the pmu::start, where it should still be 0 on the very first run. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1438264104-16189-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27747f8bc355a2808ca9e490ab6866acd85b4c16 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 30 20:32:42 2015 -0700 perf/x86/hw_breakpoints: Fix check for kernel-space breakpoints The check looked wrong, although I think it was actually safe. TASK_SIZE is unnecessarily small for compat tasks, and it wasn't possible to make a range breakpoint so large it started in user space and ended in kernel space. Nonetheless, let's fix up the check for the benefit of future readers. A breakpoint is in the kernel if either end is in the kernel. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/136be387950e78f18cea60e9d1bef74465d0ee8f.1438312874.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ab513927ab449af00cc70b0269e15ee80dd537f9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 30 20:32:41 2015 -0700 perf/x86/hw_breakpoints: Improve range breakpoint validation Range breakpoints will do the wrong thing if the address isn't aligned. While we're there, add comments about why it's safe for instruction breakpoints. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/ae25d14d61f2f43b78e0a247e469f3072df7e201.1438312874.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e5779e8e12299f77c2421a707855d8d124171d85 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 30 20:32:40 2015 -0700 perf/x86/hw_breakpoints: Disallow kernel breakpoints unless kprobe-safe Code on the kprobe blacklist doesn't want unexpected int3 exceptions. It probably doesn't want unexpected debug exceptions either. Be safe: disallow breakpoints in nokprobes code. On non-CONFIG_KPROBES kernels, there is no kprobe blacklist. In that case, disallow kernel breakpoints entirely. It will be particularly important to keep hw breakpoints out of the entry and NMI code once we move debug exceptions off the IST stack. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/e14b152af99640448d895e3c2a8c2d5ee19a1325.1438312874.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ae3f011fc25104a218caf4448b1d47ef1c9b3a42 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Wed Jun 24 11:23:35 2015 -0700 perf/x86/intel: Fix SLM MSR_OFFCORE_RSP1 valid_mask AVG_LATENCY(bit 38) is only available on MSR_OFFCORE_RSP0. So the bit should be removed from RSP1 valid_mask. Since RSP0 and RSP1 may have different valid_mask, intel_alt_er should validate the config on the alternate offcore reg before replacing it. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435170215-5017-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c749b3e96398fcc39286267b72fb8b85c0f757ea Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jun 24 13:05:49 2015 +0300 perf/x86/intel/lbr: Kill off intel_pmu_needs_lbr_smpl for good The x86_lbr_exclusive commit (4807034248be "perf/x86: Mark Intel PT and LBR/BTS as mutually exclusive") mistakenly moved intel_pmu_needs_lbr_smpl() to perf_event.h, while another commit (a46a2300019 "perf: Simplify the branch stack check") removed it in favor of needs_branch_stack(). This patch gets rid of intel_pmu_needs_lbr_smpl() for good. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1435140349-32588-3-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9b3bd379c283577e102529bfb22484238be7c91 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jun 24 13:05:48 2015 +0300 perf/x86/intel/bts: Drop redundant declarations Both intel_pmu_enable_bts() and intel_pmu_disable_bts() are in perf_event.h header file, no need to have them declared again in the driver. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1435140349-32588-2-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3a999587b4a1815cf4dadddf6b5aad470f048239 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun Jun 14 22:57:41 2015 -0700 perf/x86/intel/uncore: Use Sandy Bridge client PMU on Haswell/Broadwell Haswell and Broadwell have the same uncore CBOX/ARB PMU as Sandy Bridge. Add the respective model numbers to enable the SNB uncore PMU. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1434347862-28490-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e3a13192d86048e91a2a1d534abe5ac2397d9113 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun Jun 14 22:57:40 2015 -0700 perf/x86/intel/uncore: Add support for ARB uncore PMU on Sandy/IvyBridge Add a new "ARB" uncore PMU that is used to monitor the uncore queue arbiter. This is useful to measure uncore queue occupancy and similar statistics. The registers all have the same format as the existing CBOX PMU. Also move the event constraints from the CBOX to ARB. The 0x80+ events are ARB events and cannot be scheduled on a CBOX PMU. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1434347862-28490-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 070a7cdfa4a0a799235d79e58e7b0b2d94dff190 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jul 17 10:57:59 2015 +0530 perf/x86/intel/uncore: Remove use of macro DEFINE_PCI_DEVICE_TABLE() The DEFINE_PCI_DEVICE_TABLE() macro is deprecated. Use 'struct pci_device_id' instead of DEFINE_PCI_DEVICE_TABLE(), with the goal of getting rid of this macro completely. This Coccinelle semantic patch performs this transformation: @@ identifier a; declarer name DEFINE_PCI_DEVICE_TABLE; initializer i; @@ - DEFINE_PCI_DEVICE_TABLE(a) + const struct pci_device_id a[] = i; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150717052759.GA6265@vaishali-Ideapad-Z570 Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3a2a7797326a4bc59b7ff0cc92c8b274abf21892 Author: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Date: Tue May 26 11:47:39 2015 -0700 perf/x86/intel/rapl: Add support for Knights Landing (KNL) Knights Landing DRAM RAPL supports PKG and DRAM RAPL domains. DRAM RAPL has a different fixed energy unit (2^-16J) similar to that of HSW. Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Stephane Eranian <eranian@xxxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jacob Pan Jun <jacob.jun.pan@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Nikhil Rao <nikhil.rao@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/aa63b4a3af3160152fea1a10c807f4200527280c.1432665809.git.dasaratharaman.chandramouli@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bef033a3c68a0cd31c81973946be768e9dd7ba42 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Aug 4 09:42:54 2015 +0200 sched, sparc32: Update scheduler comments in copy_thread() There's no finish_arch_switch() anymore in the latest scheduler tree. Also update some other details. Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3c8e4793556981a7f532599959aa3303968056f0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 29 17:31:47 2015 +0200 sched: Remove finish_arch_switch() One less arch hook.. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe363adb922583bacfbd5a30a4c773ccff9bb393 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Wed Jul 29 13:06:29 2015 -0400 sched, tile: Remove finish_arch_switch Move the simulator bits into switch_to() and use finish_arch_post_lock_switch() for the homecache migration bits. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b31fdac2a921c8bf5ed9fe2c908625a54ce91e92 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 29 17:14:48 2015 +0200 sched, sh: Fold finish_arch_switch() into switch_to() The code looks buggy; why would we be restoring the previous task's DSP state after we've switched to the next task? Fix that and put the restore in switch_to(), removing the need for finish_arch_switch(). Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: michael@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 08960e344800267df4980c2180e3c2c0c9b5f460 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 29 17:27:17 2015 +0200 sched, score: Remove finish_arch_switch() An empty implementation, make it go away. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dfdbd59712d58e2ead89df616798968392c5423b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 29 17:28:04 2015 +0200 sched, avr32: Remove finish_arch_switch() Fold the tracing hook into switch_to() in order to remove finish_arch_switch(). Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6916ce3ffff80f0102d39922ddb3b8c4540f2ea2 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 29 12:14:42 2015 +0200 sched, MIPS: Get rid of finish_arch_switch() MIPS was using finish_arch_switch() as a hook to restore and initialize CPU context for all threads, even newly created kernel and user threads. This is however entirely solvable within switch_to() so get rid of finish_arch_switch() which is in the way of scheduler cleanups. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7baa7aecdd2f009ddd00a4ad0690c6918bab5b01 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Jul 29 12:41:49 2015 +0100 sched, arm: Remove finish_arch_switch() Fold finish_arch_switch() into switch_to(). Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxx [ Fixed up the SOB chain. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 18f5a374b3db33720dc8c66cb94947585904d6c6 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 16 20:17:42 2015 +0300 iwlwifi: pcie: reset write pointer on ict reset Since the CSR_DRAM_INIT_TBL_WRITE_POINTER bit wasn't set on ict reset, in some flows (like disable ict followed by immediate reset ict) the driver and hardware went out of sync (the driver cleared the ict_index, while the hw kept it intact). Fix it by setting the flag when resetting ict. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6dfb36c89dc21c2c77a4b8ea48679cbb15d158b4 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 9 14:17:24 2015 +0300 iwlwifi: call d3_suspend/resume in d0i3 case as well Some CSR registers have to be configured also in case of suspend/resume with unified image (which doesn't includes reconfiguration flow). Reuse the existing d3_suspend/d3_resume trans ops, while making sure some configurations are a bit different, according to the wowlan type. After this change, we no longer need the special wowlan_d0i3 configurations done in iwl_pci_resume, as they are already being done in the d3_resume op. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit cdc306b2f604d59bb7fb558fadade195f1eb289e Author: Gregory Greenman <gregory.greenman@xxxxxxxxx> Date: Mon Jul 20 12:55:34 2015 +0300 iwlwifi: mvm: ignore CQM when setting beacon filtering in D0i3 enter flow CQM overwrites a few thresholds in the bf command. On the other hand, when entering D0i3 the thresholds are set to higher values on purpose, so ignore CQM in this case. Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f739c39ce630c97912a16639bd10231073aef6c8 Author: Gregory Greenman <gregory.greenman@xxxxxxxxx> Date: Wed Jul 22 15:46:37 2015 +0300 iwlwifi: mvm: fix beacon filtering temperature thresholds for D0i3 The slow filtering threshold should be higher in D0i3 case. Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 93190fb0589f97bd603bd545459122a8f5532080 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Sat Dec 27 09:09:47 2014 +0200 iwlwifi: mvm: Enable Rx Checksum hw TCP software implementation on the host requires extensive computing power. Offloading even some of the TCP/IP stack to the NIC might save a significant overhead. In order to enable this feature on our hw, we need to configure it first. Once done, we mark this capability, to be advertised later to the OS via ieee80211_register_hw. The driver Rx indications for TCP Checksum is integrated within the standard Rx status. The driver responds to those indications as follows: If the frame was tested by hw and checksum ok report CHECKSUM_UNNECESSARY. Otherwise, report CHECKSUM_NONE. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 869f3b15c9fba037956f642b2023fd16d9ee2f56 Author: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> Date: Mon Jul 20 14:16:21 2015 +0300 iwlwifi: pcie: provide a way to stop configuration if it is forbidden The firmware debug infrastructure allows the user to provide a firmware that will toggle a few registers to configure the debugging capabilities. On certain devices, certain operations are forbidden. Executing a forbidden operation will cause the hardware to die in a way that only driver unload / load will bring it back to life. Fortunately, there is a way to know in advance if those operations will be accepted by the device. This is where the new PRPH_BLOCKBIT operation plays its role. If the bit X from PRPH register Y is set, then we should prevent any further register configuration. When that happens, drop a line in the kernel log since this is really an error state: the user won't have his device configured as he expected. Add operations that will be used in the future: INDIRECT_ASSIGN, INDIRECT_SETBIT, and INDIRECT_CLEARBIT. Other debugging configurations (such as destination configuration for the monitor) will take place in any case. Signed-off-by: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d0ab08d05e5ae84edda5bf86797cbc2daee75db2 Author: Ilan Peer <ilan.peer@xxxxxxxxx> Date: Wed Jun 24 09:23:01 2015 +0300 iwlwifi: mvm: Use the AP station for non_sta transmit In iwl_mvm_tx_skb_non_sta(), in case of managed interface, use the AP station for multicast frames instead of the auxiliary station as otherwise the frames can be sent to an absent P2P GO as the FW does not block transmissions for the auxiliary station since it is not associated with the station MAC context. Note that this is not possible for unicast frames, as a TDLS discovery response is sent without a station entry, and in this case the P2P GO NoA should not block transmission to the peer. Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d576cd9d599604b9b712939c2ddea0db90463126 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Sun Jun 28 08:10:46 2015 +0300 iwlwifi: mvm: update comment of power_scheme module parameter Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c43fe907fec2c1925d423777ba14e0baf30c672c Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jun 4 21:59:32 2015 +0300 iwlwifi: return error if d0i3 was aborted Allow the transport layer to return an error upon suspend. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2d42801bd62eb2018da914272fd505a6d32004a8 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Jun 17 15:32:37 2015 +0300 Revert "iwlwifi: mvm: move deferred d0i3 exit to resume_complete op" This reverts commit 088070a2f6575402d3dd82e1c5a4a8e1941805f6. When working in d0i3_on_idle mode, we explicitly go out of d0i3 on resume (so other potential commands could be sent). However, D0I3_DEFER_WAKEUP is currently cleared on resume complete (which happens only later on), causing d0i3 exit to timeout. Since mac80211 was modified to accept incoming frames once drv_resume was called, we can safely revert this patch, and handle the pending work on iwl_mvm_resume(). Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 88742c9e84f73eeea4abe967d751b0e6318c2c2e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 30 15:31:22 2015 +0200 iwlwifi: mvm: move existing UMAC commands to group 1 Existing UMAC commands already use the long header, but are sent with group 0 and the long header inserted manually. Move them to the group 1 to take advantage of the header building in the low- level transport. Existing firmware ignores the group_id field (it's reserved) and the first firmware that really supports long command headers can parse all commands in both group 0 (with short header) and group 1 (with long header.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ab02165ccec4c78162501acedeef1a768acdb811 Author: Aviya Erenfeld <aviya.erenfeld@xxxxxxxxx> Date: Tue Jun 9 16:45:52 2015 +0300 iwlwifi: add wide firmware command infrastructure for TX As the firmware is slowly running out of command IDs and grouping of commands is desirable anyway, the firmware is extending the command header from 4 bytes to 8 bytes to introduce a group (in place of the former flags field, since that's always 0 on commands and thus can be easily used to distinguish between the two. In order to support this most easily in the driver widen the command command ID used in the command sending functions and encode the new values (group and version) in the ID. That way existing code doesn't have to be changed (since the higher bits are 0 automatically) and newer code can easily use the new ID generation function to create a value to use in place of just the command ID. Signed-off-by: Aviya Erenfeld <aviya.erenfeld@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ce7929186a390b8630953be6d8225a9ae88030af Author: Gregory Greenman <gregory.greenman@xxxxxxxxx> Date: Tue Jun 2 18:06:16 2015 +0300 iwlwifi: mvm: add basic Time of Flight (802.11mc FTM) support ToF is a time based method for measurement of the WiFi device location within a WiFi environment. The driver functionality provided by this patch is the interface for communication with FW and receiving location related updates from the FW. The interface provided by this patch is via debugfs. Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6bcb00f6183d1eb5d9f8548fe823be7e6d95b912 Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Sun Jun 7 10:36:23 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_BASIC_DWELL All the supported firmwares support this API. This includes removing dwell per band, as band is no longer a factor in calculating the dwell. Only basic dwell is used and FW will calculate the actual dwell time. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 30f27df9ba44422b718d244a677b1cc6a5bd5ded Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 30 14:45:40 2015 +0200 iwlwifi: remove command header flags field The 'flags' field really has been reserved in the firmware API for a very long time, probably since 4965. As a consequence, the field is always 0 and checking for a IWL_CMD_FAILED_MSK flag makes no sense. Rename the field to 'reserved', get rid of IWL_CMD_FAILED_MSK and all the code for it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 31f920b63ae8ff5bf278a00dd8478e58ed89ff95 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jul 2 14:53:02 2015 +0300 iwlwifi: pcie: don't warn on long MPDUs when supported In iwlmvm firmwares, the Byte count written in the scheduler byte count table is in DWORDs and not in bytes. We should check that this value fits in the 12 bits and the value can be either in bits of in DWORD or bytes depending on the firmware. Check the value after the translation to DWORDs is done (if needed). Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 33b56af188ddbd1027b7eaff7abb1507b708f155 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jun 25 12:55:45 2015 +0300 iwlwifi: pcie: add missing calls to synchronize_irq() In a few places, we were disabling interrupts but didn't make sure that the interrupt handler has finished running. Add calls to synchronize_irq() to ensure we finish handling the interrupts before we free resources or other things that could lead to a crash if the interrupt were to be handled later. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1103323ca1aafb0aa32064abec736ea9f2ce66a6 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Jun 24 14:58:13 2015 +0300 iwlwifi: pcie: cancel Tx timer upon firmware crash When the firmware crashes, we can't expect the Tx queues to progress. Cancel their timer. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5bf12f6096ad615c90accc1f37935423ea1a3c26 Author: Ilan Peer <ilan.peer@xxxxxxxxx> Date: Wed Jun 24 10:25:26 2015 +0300 iwlwifi: mvm: Do not sample the device time for session protection Since the time-event is sent with the immediate flag set, there is no need to sample the device time. Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f7e6469fc90aa388ac5047e1ba914b31af9240ae Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 21:58:17 2015 +0200 iwlwifi: remove command and return value from opmode RX With the previous patch series, no opmode continues using the command or handler_status (i.e. the return value from the RX) so it can be removed now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0416841d709e4d90913576cc43a397e450a745b1 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 21:22:09 2015 +0200 iwlwifi: mvm: remove command/return value from RX handlers In the mvm driver, neither the old command nor the return value are used, so remove them. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 73e686f399b3a11e4d26dc13b6f68380e31820dd Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 21:22:09 2015 +0200 iwlwifi: dvm: remove command/return value from RX handlers After the previous patches, the command that's passed in nor the return value are used any more, so can be removed. While at it, make some functions static. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 121b80091916a3fc401f515c8c6cbdfe9ece3576 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 21:01:44 2015 +0200 iwlwifi: dvm: remove ADD_STA prints relying on station ID This makes the logging a little less useful, but as they're mostly synchronous commands it won't matter much. It gets rid of the dependency on the input command, which this is the only user of. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4492bb6b10b1fbbc3fd4e8ea1b1bef51a1b2b31a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 20:56:45 2015 +0200 iwlwifi: dvm: move ADD_STA response handling to sync command This driver currently has some very confusing ADD_STA response handling that runs asynchronously in the background for all of the commands, but is only really necessary for synchronous ones (the really asynchronous ones can only be done for already existing stations), and for the sync ones it actually waits for the RX handler to return a status code. Rework this to keep the debug printing in the handler, but do the code that's supposed to have an effect only for sync commands in the command sending function. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2dc2a15ebd12c44074d0ea2eef3e97956df4bb86 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 17:09:18 2015 +0200 iwlwifi: mvm: LRU-assign key offsets The current key offset assignment algorithm always uses the lowest unused key offset, which will potentially lead to issues when the firmware will change to take the key material for TX from the key table rather than from the TX command. In order to avoid those issues (and avoid forgetting about them) change the key offset allocation algorithm now to avoid reusing key offsets quickly. The new algorithm always picks as the next offset the least recently freed offset, i.e. the offset that has been unused for the longest amount of time. This is implemented by having a generation counter for each key offset that is incremented every time a key is deleted, except for the one that's deleted, which is reset to zero. Thus the highest counter is the key that's been unused longest. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 94ce9e5e73c71b26a19b83844f9840859f3b035b Author: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> Date: Sun Jun 14 11:17:07 2015 +0300 iwlwifi: pcie: Set scheduler to work on auto mode During NIC initialization shared HW is reset and this disables the scheduler. Some HW platforms do not activate the scheduler after it. Consequently all HCMD sent by the driver stay at the queues which cause to queue stuck. Set the scheduler to work on auto active mode so it would be activated upon change over one of the queues' write pointer. Signed-off-by: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a6affd24f439feddec04bab4d1e3ad6579868367 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Mon Aug 3 17:50:04 2015 +0100 mpls: Use definition for reserved label checks In multiple locations there are checks for whether the label in hand is a reserved label or not using the arbritray value of 16. Factor this out into a #define for better maintainability and for documentation. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c961b1ccd0f258bdee808c61c2c2a0907a1fffda Merge: 58da018 0335f5b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 3 22:26:14 2015 -0700 Merge branch 'lwtunnel-encap-local' Robert Shearman says: ==================== lwtunnel: encap locally-generated ipv4 packets Locally-generated IPv4 packets, such as from applications running on the host or traceroute/ping currently don't have lwtunnel output redirected encap applied. However, they should do in the same way as for forwarded packets and this patch series addresses that. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0335f5b500adcc28bc3fd5d8a1e4482c348cff4a Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Mon Aug 3 17:39:21 2015 +0100 ipv4: apply lwtunnel encap for locally-generated packets lwtunnel encap is applied for forwarded packets, but not for locally-generated packets. This is because the output function is not overridden in __mkroute_output, unlike it is in __mkroute_input. The lwtunnel state is correctly set on the rth through the call to rt_set_nexthop, so all that needs to be done is to override the dst output function to be lwtunnel_output if there is lwtunnel state present and it requires output redirection. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abf7c1c540f8330fead5d50730d92606dcbe7a7e Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Mon Aug 3 17:39:20 2015 +0100 lwtunnel: set skb protocol and dev In the locally-generated packet path skb->protocol may not be set and this is required for the lwtunnel encap in order to get the lwtstate. This would otherwise have been set by ip_output or ip6_output so set skb->protocol prior to calling the lwtunnel encap function. Additionally set skb->dev in case it is needed further down the transmit path. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0a12625d2ff2c63321b3cf48c48184748ab577a Author: Tushar Dave <tushar.n.dave@xxxxxxxxx> Date: Wed Jun 10 13:34:24 2015 -0700 thermal: Add Intel PCH thermal driver This change adds a thermal driver for Wildcat Point platform controller hub. This driver register PCH thermal sensor as a thermal zone and associate critical and hot trips if present. Signed-off-by: Tushar Dave <tushar.n.dave@xxxxxxxxx> Reviewed-by: Pandruvada, Srinivas <srinivas.pandruvada@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 4e0fa71c934287c160e264b3d5dd0e5c0824f6f9 Author: Mayank Bareja <mbareja@xxxxxxxxxxx> Date: Mon Aug 3 11:23:01 2015 +0000 Staging: rtl8188eu/core: fixed code indentation warning as reported by checkpatch.pl fixed code indentation warning as detected with checkpatch.pl. Replaced spaces with tabs. Signed-off-by: Mayank Bareja <mbareja@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66e6d70df20046d3e2b04d9455dd68acfc5c61ef Author: Yash Shah <yshah1@xxxxxxxxxxx> Date: Mon Aug 3 11:18:31 2015 +0000 Staging: rts5208: Fix code indentation warning as detected by checkpatch.pl Fixed code indentation warning as detected by checkpatch.pl. Signed-off-by: Yash Shah <yshah1@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a96389d9add1bc9e32b73ead10cf255f7d598a0d Author: Zoltán Lajos Kis <zoltan.lajos.kis@xxxxxxxxx> Date: Sun Aug 2 22:36:31 2015 +0200 staging: lustre: service.c: make local functions static Makes functions that are not used outside the file in which they are defined static, as reported by sparse: drivers/staging/lustre/lustre/ptlrpc/service.c:72:35: warning: symbol 'ptlrpc_alloc_rqbd' was not declared. Should it be static? 1065 drivers/staging/lustre/lustre/ptlrpc/service.c:105:1: warning: symbol 'ptlrpc_free_rqbd' was not declared. Should it be static? 1066 drivers/staging/lustre/lustre/ptlrpc/service.c:122:1: warning: symbol 'ptlrpc_grow_req_bufs' was not declared. Should it be static? 1067 drivers/staging/lustre/lustre/ptlrpc/service.c:3055:5: warning: symbol 'ptlrpc_svcpt_health_check' was not declared. Should it be static? Signed-off-by: Zoltán Lajos Kis <zoltan.lajos.kis@xxxxxxxxx>" Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b34cd299319584f9fd342a5c01af83440d512bd Author: Zoltán Lajos Kis <zoltan.lajos.kis@xxxxxxxxx> Date: Sun Aug 2 19:22:30 2015 +0200 staging: lustre: echo_client: fix sparse declaration warnings Fixes the following sparse warnings: drivers/staging/lustre/lustre/obdecho/echo_client.c:2142:5: warning: symbol 'echo_client_init' was not declared. Should it be static? drivers/staging/lustre/lustre/obdecho/echo_client.c:2157:6: warning: symbol 'echo_client_exit' was not declared. Should it be static? Signed-off-by: Zoltán Lajos Kis <zoltan.lajos.kis@xxxxxxxxx>" Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bb546f755380aa5129e480fb0cf04c0655ce13a Author: Kent Gustavsson <kent@xxxxxxxxxx> Date: Sun Aug 2 18:14:50 2015 +0200 staging: rtl8192u: r819xU_firmware: fix coding style Line over 80 characters. This is for Eudyptula Challenge Signed-off-by: Kent Gustavsson <kent@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81e053c75a216573bbb10a0325832ca64bcb0404 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:59 2015 -0400 staging/lustre: Get rid of inode_dio_write_done and inode_dio_read These primitives are long deprecated and unused. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66a23f0cc28b6257328aa2e17499a1f3bd0bd18d Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:58 2015 -0400 staging/lustre: Get rid of ll_pagevec_ macros They are noop anyways. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d5be52f985b3d0b0b6d0dcae8eb896418bd0d3a Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:57 2015 -0400 staging/lustre: Use hlist primitives directly Get rid of ll_d_hlist* compat defines. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56ea686bb749d06bdb67cb95a873a87c5d1fc243 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:56 2015 -0400 staging/lustre: Drop FMODE_UNSIGNED_OFFSET define It's not really used anywhere. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a3555cd3245b3204189a1118364ad41467b73ca Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:55 2015 -0400 staging/lustre: remove unused ll_quota_on and ll_quota_off They are not used anywhere, so safe to drop. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c625ae0713f18d070ad94612fa3d7f46598f0086 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:54 2015 -0400 staging/lustre: Drop SEEK_* definition checks SEEK_DATA and SEEK_HOLE are always defined in the kernel, drop the definition checks Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08582d83e5a23aa2f6316421a4f14a44be3c8e32 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Thu Jul 30 23:48:50 2015 +0200 staging: rtl8192e: Rework EEPROM handling code Card configuration is stored in SPI EEPROM (93c46 or 93c56) working in 128|256x16 mode. Communication is handled using GPIO bitbang. >From behaviour perspective, delay after read was removed. It is not needed as we wait after reading GPIO mapped to PCI-E register - it should have no side effects. According to sample EEPROM datasheet (AT93Cx6), max frequency for worst case scenario (1.8V supply) is 250kHZ (vs. 1MHz for 5V). Driver generates ~50kHZ clock - margin should be big enough even for devices from other vendors. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdc792cd1b5c86cb34770707aa1b04edce5288cf Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Fri Jul 31 18:56:32 2015 -0400 staging: unisys: visorchannel: Add peek function According to unisys, the s_par hypervisor has a bug in which it never triggers an interrupt. That makes the visornic effectively a 2ms poll loop. In order to just have the rx thread shceduling a napi poll every 2ms, lets instead give it the chance to check the response queue for data before we schedule. This helper provides that functionality Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd93b8059294146a1c3dc9cf6b5616c22b7b47f7 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:51 2015 +0200 staging: android: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24b7d011a65042a8bd2f3b93c812c7eae3ead2d8 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:52 2015 +0200 staging: fbtft: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad6d8812aa9574b11d5f7a0d322d3b42be24206d Author: Noralf Trønnes <noralf@xxxxxxxxxxx> Date: Thu Jul 30 19:55:01 2015 +0200 staging: fbtft: core: Don't set device platform_data Pass platform_data as an argument to fbtft_framebuffer_alloc() instead of using dev->platform_data. This fixes an issue where the device comes from Device Tree and fbtft_probe_common() sets dev->platform_data to allocated memory. When the module is reloaded, dev->platform_data points to freed memory. Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc7ac432536710193adfb7a05488f8c2e20fbbc2 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Aug 3 11:35:51 2015 -0700 staging: most: fix hdm-dim2 build error Fix build of hdm-dim2. Since it calls a function that is provided by AIM_NETWORK, make it depend on that symbol. Also fix a misspelling in the Kconfig file. drivers/built-in.o: In function `deliver_netinfo_thread': dim2_hdm.c:(.text+0x3a9563): undefined reference to `most_deliver_netinfo' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Jain Roy Ambi <JainRoy.Ambi@xxxxxxxxxxxxx> Cc: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8ff8db038273c9b356c64857f396f037adaefca Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Aug 3 11:35:47 2015 -0700 staging: most: fix aim-sound build errors Fix build errors: driver uses snd_pcm*() interfaces, so select SND_PCM. drivers/built-in.o: In function `audio_rx_completion': sound.c:(.text+0x3cd376): undefined reference to `snd_pcm_period_elapsed' drivers/built-in.o: In function `pcm_prepare': sound.c:(.text+0x3cd3b0): undefined reference to `snd_pcm_format_physical_width' sound.c:(.text+0x3cd3ce): undefined reference to `snd_pcm_format_big_endian' sound.c:(.text+0x3cd42c): undefined reference to `snd_pcm_format_big_endian' drivers/built-in.o: In function `pcm_hw_free': sound.c:(.text+0x3cd50a): undefined reference to `snd_pcm_lib_free_vmalloc_buffer' drivers/built-in.o: In function `pcm_hw_params': sound.c:(.text+0x3cd54c): undefined reference to `_snd_pcm_lib_alloc_vmalloc_buffer' drivers/built-in.o: In function `playback_thread': sound.c:(.text+0x3cd6a0): undefined reference to `snd_pcm_period_elapsed' drivers/built-in.o: In function `audio_probe_channel': sound.c:(.text+0x3cdc0b): undefined reference to `snd_pcm_new' sound.c:(.text+0x3cdc2b): undefined reference to `snd_pcm_set_ops' drivers/built-in.o:(.data+0x952d0): undefined reference to `snd_pcm_lib_ioctl' drivers/built-in.o:(.data+0x95318): undefined reference to `snd_pcm_lib_get_vmalloc_page' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Acked-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ae0751007cdf2deaa87e160f28c50a00b478883 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Aug 3 13:44:30 2015 +0200 Staging: most: avoid possible integer overflow This patch prevents a potential integer overlow. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 155718cfd1dd1a92b7dbf84db41fe15f6b219cc0 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Aug 2 22:20:58 2015 +0300 mei: hbm: bump supported HBM version to 2.0 HBM 2.0 version for Sunrise point Skylake (PCH) based devices Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1625c7ec96942b87eee1463aed6ec0595698b931 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Aug 2 22:20:57 2015 +0300 mei: me: add sunrise point device ids Add MEI devices ids for Intel Sunrisepoint Skylake (PCH) Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9a1fc99588c2861d4dc26d53b0f47b495cc2964 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:56 2015 +0300 mei: me: d0i3: exit d0i3 on driver start and enter it on stop A BIOS may put the device in d0i3 on platform initialization so it wonâ??t consume power even if the driver is not present, in turn the driver has to wake up the devices on load in order to perform the initialization sequence and move it back to low power state on driver remove. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebad6b945ee2e7e93454ba52030b93e08290317c Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:55 2015 +0300 mei: me: d0i3: move mei_me_hw_reset down in the file Move mei_me_hw_reset down in the source file to avoid forward declarations when introducing d0i3 flow in the next patch. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 859ef2ffbfa785d273567467088cc8743f80b5bd Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:54 2015 +0300 mei: me: d0i3: add d0i3 enter/exit state machine Rework mei power gating state machine to support entry and exit to and from D0i3 power state. The choice between legacy and D0i3 routines is conditioned on d0i3_supported flag. The patch introduces warning: drivers/misc/mei/hw-me.c:901:12: warning: â??mei_me_d0i3_enterâ?? defined but not used [-Wunused-function] it will go away in consequent patch Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63f75232dbb17badc31c3cc6cc1434763d5a6009 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:53 2015 +0300 mei: hbm: reorganize the power gating responses Before adding support for D0i3 we need to reorganize the hbm pg handling Move HBM PG response code to dedicated functions in order to unclutter hbm command switch. Add check for the right system state before message processing and return -EPROTO in state mismatch case. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fa55b4e0e161b3d16b52f5bab1b39b39607bc27 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:52 2015 +0300 mei: me: d0i3: enable d0i3 interrupts D0i3 adds additional interrupt reason bit, therefore we add a variable intr_source to save the interrupt causes for further dispatching. The interrupt cause is saved in the irq quick handler to achieve unified behavior for both MSI enabled and shared interrupt platforms. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb9f4d26dda7d2a875cadc0f7eedee3d65d3d1f5 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:51 2015 +0300 mei: me: d0i3: add flag to indicate D0i3 support Detect d0i3 low power state during hw configuration, the value is set in HFS_1 pci config reigister. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11830486c5717c713bb363b14944cda39e3034f9 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Aug 2 22:20:50 2015 +0300 mei: me: d0i3: add the control registers Starting with Intel Sunrisepoint (Skylake PCH) the MEI device supports D0i3 low power state. Add D0i3 control registers. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71e117f28a6782fa2d31cce63340a9f18417afa4 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Wed Jul 29 14:59:33 2015 +0300 mei: hbm: add new error code MEI_CL_CONN_NOT_ALLOWED The device can return error 5 (NOT_ALLOWED) on connection attempt. This error can happen if: 1. An another connection attempt is in progress 2. There is an attempt to connect a fixed (connectionless) client 3. The number of available connections is exceeded (new in HBM 2.0) We should not hit that error unless there is an internal book keeping hiccup except option (3), therefore we translate the error code to errno EBUSY; Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb2ef9c39db2e3c2562b4e439b2b00dc42e2c026 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Jul 26 09:54:23 2015 +0300 mei: bus: add and call callback on notify event Enable drivers on mei client bus to subscribe to asynchronous event notifications. Introduce events_mask to the existing callback infrastructure so it is possible to handle both RX and event notification. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 237092bf034a648611f61eb1f0965e9ba1b08871 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:22 2015 +0300 mei: implement fasync for event notification A process can be informed about client notification also via SIGIO with POLL_PRI event. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c84c2970c1acf83827aa97ab0e6addc3d2aa960 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:21 2015 +0300 mei: support polling for event notification Polling on priority events is translated on waiting for event notification. One need to enable notification prior for calling select or poll system call otherwise process will not wait. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c7c8468e5d993dfe377a67e41cbb23cda93af9e Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:20 2015 +0300 mei: add async event notification ioctls Add ioctl IOCTL_MEI_NOTIFY_SET for enabling and disabling async event notification. Add ioctl IOCTL_MEI_NOTIFY_GET for receiving and acking an event notification. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b38a362fad6686dd580a50590053a76ded601a0b Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:19 2015 +0300 mei: add a handler that waits for notification on event mei_cl_notify_get is to be called by a host client to wait, receive, and ack the event notification. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51678ccb7b12dd428a84d466ff379a5e2d717f1f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:18 2015 +0300 mei: add mei_cl_notify_request command Add per client notification request infrastructure that allows client to enable or disable async event notification. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d99877d871da0bbb924b2d7aa4ccb27e1ffa93a Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:17 2015 +0300 mei: enable async event notifications only from hbm version 2.0 Only FW version 2.0 and newer support the async event notification. For backward compatibility block the feature if the FW version is older then 2.0 Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 965ae37ab86eb8cd327c5752dc9e2190d33db25c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:16 2015 +0300 mei: implement async notification hbm messages Implement sending and reception handlers for the async event notification hbm commands. Add client notification book keeping data required for the messages notify_en to indicate whether notification is enabled notify_ev to indicate whether an event is pending Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3c1c809c476ba248175a89156f7d625caf5f9a6 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:15 2015 +0300 mei: define async notification hbm commands FW has gained new capability where a FW client can asynchronously notify the host that an event has occurred in its process. The notification doesn't provide any data and host may need to query further the FW client in order to get details of the event. Host can subscribe or unsubscribe to the event notification via designated HBM commands, and also the notification is carried on a new HBM command. This patch adds definitions of asynchronous notification HBM commands. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18901357e70ae29e3fd1c58712a6847c2ae52eae Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Thu Jul 23 21:37:13 2015 +0300 mei: disconnect on connection request timeout For the FW with HBM version >= 2.0 we don't need to reset the whole device in case of a particular client failing to connect, it is enough to send disconnect a request to bring the device to the stable state. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70ef835c84b3b88e274a53bf80a70940ae178a91 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 21:37:12 2015 +0300 mei: support for dynamic clients HBM version 2.0 and above allows ME clients in the system to register/unregister after the system is fully initialized. Clients may be added or removed after enum_resp message was received 1. To preserve backward compatibility the driver can opt-in to receive client add messages by setting allow_add field in enum_req 2. A new client is added upon reception of MEI_HBM_ADD_CLIENT_REQ_CMD 3. A client is removed in a lazy manner when connection request respond with MEI_HBMS_CLIENT_NOT_FOUND status Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6009595a66e460af0b170d736398c49395cb4499 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:47 2015 +0300 mei: bus: link client devices instead of host clients MEI bus was designed around nfc and was hard to extend. Instead of the hard coded way of adding the devices on the mei bus we scan the whole me client list and create a device for each eligible me client (mei_cl_bus_rescan); currently we support only clients with single connection and fixed address clients. NFC radio name detection is run as a fixup routine The patch replaces handling the device list based on struct me_cl to device list based on me_cl_devices. The creating a connection is pushed from the device creation time to device enablement. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b39910c2e0ac7c3d0e2f1999b04308c771b1d8fc Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:46 2015 +0300 mei: bus: simplify how we build nfc bus name Remove the dependency on struct ndev from the nfc device name creation function so it is possible to use it in a fixup routine Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd070a1694c563bd7ba5239dd3038ff1420cf856 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:45 2015 +0300 mei: bus: blacklist clients by number of connections Currently we support only clients with single connection and fixed address clients so all other clients are blacklisted Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b6dca29b416d8992d52d814aa4be5d7fc97799d Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:44 2015 +0300 mei: bus: blacklist the nfc info client Blacklist nfc info client which is only used for retrieval of the NFC radio version Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71ce789115f878a07e4a6c43d6006cea6aee1078 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:43 2015 +0300 mei: bus: enable running fixup routines before device registration Split the device registration into allocation and device struct initialization, device setup, and the final device registration. This why it is possible to run fixups and quirks during the setup stage on an initialized device. Each fixup routine effects do_match flag. If the flag is set to false at the end the device won't be registered on the bus. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ff0a8d853039aa60bba3ca3e04e4fb74584a736 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:42 2015 +0300 mei: bus: add me client device list infrastructure Instead of holding the list of host clients (me_cl) we want to keep the list me client devices (mei_cl_device) This way we can create host to me client connection only when needed. Add list head to mei_cl_device and cl_bus_lock Add bus_added flag to the me client (mei_me_client) to track if the appropriate mei_cl_device was already created and is_added flag to mei_cl_device to track if it was already added to the device list across the bus rescans Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 512f64d9f7467597388ffbd5a21589ee3f375d8b Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:41 2015 +0300 mei: bus: add reference to bus device in struct mei_cl_client Add reference to the bus device (mei_device) for easier access. To ensures that referencing cldev->bus is valid during cldev life time we increase the bus ref counter on a client device creation and drop it on the device release. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit feb8cd0fe7d63fd259c28f8a52fc88745717c9ec Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:40 2015 +0300 mei: bus: revamp probe and remove functions Instead of generating device id on the fly during probing we find the matching id entry on the device id table. Get bus the module reference counter so it cannot be unloaded after the driver has bounded to the client device Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 688a9cce0c8e9116038586ae1cd6adabb10fa5aa Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:39 2015 +0300 mei: bus: revamp device matching mei_cl_device_match now calls mei_cl_device_find that returns the matching device id in the device id table. We will utilize the mei_cl_device_find during probing to locate the matching entry. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48168f4561f479403dbd38379dc8793488a22a6a Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:38 2015 +0300 mei: bus: report if event registration failed If event registeration has failed, the caller should know about it. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e280ab694e2885ee300de9cf5e7047c68230148 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:37 2015 +0300 mei: bus: don't enable events implicitly in device enable Do not enable events implicitly in mei_cl_enable_device, it should be done explicitly using mei_cl_register_event_cb so the events are enabled only when needed. The NFC drivers has been already using it that way so no need for further changes just remove the code from mei_cl_enable_device. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38d3c00d3f312989e50aaf6f4a4b490b4e1e4c37 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:36 2015 +0300 mei: bus: rename uevent handler to mei_cl_device_uevent Rename mei_cl_uevent to mei_cl_device_uevent to match the naming convention of mei_cl_bus_type functions Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6238299774377b12c3e24507b100b2687eb5ea32 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:35 2015 +0300 mei: bus: move driver api functions at the start of the file To make the file more organize move mei client driver api to the start of the file and add Kdoc. There are no functional changes in this patch. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0a785c4ab91656a5413b4cd5bb8ed59f39f7446 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:34 2015 +0300 mei: bus: rename nfc.c to bus-fixup.c The bus-fixup.c will be a place for fixups and quirks for all types of me client devices. As for now it contians only the fixup for setting the nfc device name on the me client bus. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b37719c31f8448ba36abc218a96663b4a6c66eb6 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:33 2015 +0300 mei: bus: fix drivers and devices names confusion In the mei bus layer there is use of different variables of driver and device types with no clear naming convention. There are generic struct device and struct driver, then mei_cl_{device, driver}, and finally mei_device which in this context serves as a bus device. The patch sets following naming convention: the variables of type struct device remains dev the variables of type struct driver remains drv the variables of type struct mei_cl_device are now cldev the variables of type struct mei_cl_driver are now cldrv the variables of type struct mei_device are now bus, in bus layer context Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23253c31c6a7a3c5a437ec31830e2100484c0748 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Thu Jul 23 10:43:11 2015 +0300 mei: do not access freed cb in blocking write The mei_cl_write function is giving up on a write cb ownership after it was sent or queued. The write cb is then freed in the completion handler. Especially during blocking write mei_cl_write function waits for the completion handler and then access the freed memory to fetch the written size. The quick fix is to store the buffer size prior to sending, the size is not altered during the flow. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2e66ad34c10b27c6e408db50e6472c2aae2b5e8 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Wed Jul 29 09:08:53 2015 +0200 Documentation: sysfs-bus-usb: s/CONFIG_PM_RUNTIME/CONFIG_PM/ PM_RUNTIME has been replaced with PM by commit 464ed18ebdb6 ("PM: Eliminate CONFIG_PM_RUNTIME") hence substitute the reference on PM_RUNTIME with PM and re-arrange the text to 80 column break. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bd38ae355227792dde3487779a9dc24d6b99631 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Jul 27 12:33:05 2015 +0200 scripts/checkkconfigsymbols.py: support default statements Until now, checkkonfigsymbols.py did not check default statements for references on missing Kconfig symbols (i.e., undefined Kconfig options). Hence, add support to parse and check the Kconfig default statement. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c745566306e363675d8aa43ee9f39232ade4d5e6 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Jun 1 16:00:20 2015 +0200 checkkconfigsymbols.py: colored output Color output to make it more readable. Symbols will be printed yellow, relevant commits (see --find) red. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Acked-by: Stefan Hengelein <stefan.hengelein@xxxxxx> Acked-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a42fa92ce77a9181f9baf57655acbb241ac4d306 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Jun 1 16:00:19 2015 +0200 checkkconfigsymbols.py: find relevant commits Add option -f/--find to find relevant commits when using the --diff option. --find is useful in case a user wants to check commits that potentially cause a Kconfig symbol to be missing. This is done via 'git log -G $SYMBOL' (i.e., to get a list of commits that change $SYMBOL). The relevant commits are printed below the "SYMBOL\tFILES" line, followed by an empty line to increase readability. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Acked-by: Stefan Hengelein <stefan.hengelein@xxxxxx> Acked-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58da018053531b9cb91423a64f2a762ef0fe7456 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 01:19:58 2015 +0200 bridge: mdb: fix vlan_enabled access when vlans are not configured Instead of trying to access br->vlan_enabled directly use the provided helper br_vlan_enabled(). Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5c90b29e5ccdb90922b808fd4831cfbaa63006c Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Aug 3 16:21:57 2015 +0200 act_bpf: properly support late binding of bpf action to a classifier Since the introduction of the BPF action in d23b8ad8ab23 ("tc: add BPF based action"), late binding was not working as expected. I.e. setting the action part for a classifier only via 'bpf index <num>', where <num> is the index of an existing action, is being rejected by the kernel due to other missing parameters. It doesn't make sense to require these parameters such as BPF opcodes etc, as they are not going to be used anyway: in this case, they're just allocated/parsed and then freed again w/o doing anything meaningful. Instead, parse and verify the remaining parameters *after* the test on tcf_hash_check(), when we really know that we're dealing with creation of a new action or replacement of an existing one and where late binding is thus irrelevant. After patch, test case is now working: FOO="1,6 0 0 4294967295," tc actions add action bpf bytecode "$FOO" tc filter add dev foo parent 1: bpf bytecode "$FOO" flowid 1:1 action bpf index 1 tc actions show action bpf action order 0: bpf bytecode '1,6 0 0 4294967295' default-action pipe index 1 ref 2 bind 1 tc filter show dev foo filter protocol all pref 49152 bpf filter protocol all pref 49152 bpf handle 0x1 flowid 1:1 bytecode '1,6 0 0 4294967295' action order 1: bpf bytecode '1,6 0 0 4294967295' default-action pipe index 1 ref 2 bind 1 Late binding of a BPF action can be useful for preloading maps (e.g. before they hit traffic) in case of eBPF programs, or to share a single eBPF action with multiple classifiers. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90bb6bd385638f37d30dcc7342a62aff80089def Author: Shenwei Wang <shenwei.wang@xxxxxxxxxxxxx> Date: Thu Jul 30 10:32:36 2015 -0500 Serial: imx: add dev_pm_ops to support suspend to ram/disk When system goes into low power states like SUSPEND_MEM and HIBERNATION, the hardware IP block may be powered off to reduce the power consumption. This power down may cause problems on some imx platforms, because the hardware settings are reset to its power on default values which may differ from the ones when it power off. This patch added the dev_pm_ops and implemented two callbacks: suspend_noirq and resume_noirq, which will save the necessory hardware parameters right before power down and recover them before system uses the hardware. Because added the dev_pm_ops, the old suspend/resume callbacks under platform_driver will not be called any more. Changed their prototypes and moved those two callbacks into dev_pm_ops too. Signed-off-by: Shenwei Wang <shenwei.wang@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e70e69bf205e6d1f742f1cf1935b155417c9e29a Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 24 15:58:28 2015 +0900 serial: 8250_uniphier: call clk_disable_unprepare() on failure path If serial8250_register_8250_port() fails, disable and unprepare the clock before exiting. Fixes: 1a8d2903cb6a ("serial: 8250_uniphier: add UniPhier serial driver") Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24751e29fe313105c9dd5f9d1f27028c553381f6 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 09:17:44 2015 -0400 net: dsa: mv88e6xxx: call _mv88e6xxx_stats_wait with SMI lock held At switch setup, _mv88e6xxx_stats_wait was called without holding the SMI mutex. Fix this by requesting the lock for this call. Also, return the _mv88e6xxx_stats_wait code, since it may fail. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e44deb2f0cce9183ca94d14effd4170a35eec31d Author: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 13:29:16 2015 +0200 bridge: mdb: add/del entry on all vlans if vlan_filter is enabled and vid is 0 Before this patch when a vid was not specified, the entry was added with vid 0 which is useless when vlan_filtering is enabled. This patch makes the entry to be added on all configured vlans when vlan filtering is enabled and respectively deleted from all, if the entry vid is 0. This is also closer to the way fdb works with regard to vid 0 and vlan filtering. Example: Setup: $ bridge vlan add vid 256 dev eth4 $ bridge vlan add vid 1024 dev eth4 $ bridge vlan add vid 64 dev eth3 $ bridge vlan add vid 128 dev eth3 $ bridge vlan port vlan ids eth3 1 PVID Egress Untagged 64 128 eth4 1 PVID Egress Untagged 256 1024 $ echo 1 > /sys/class/net/br0/bridge/vlan_filtering Before: $ bridge mdb add dev br0 port eth3 grp 239.0.0.1 $ bridge mdb dev br0 port eth3 grp 239.0.0.1 temp After: $ bridge mdb add dev br0 port eth3 grp 239.0.0.1 $ bridge mdb dev br0 port eth3 grp 239.0.0.1 temp vid 1 dev br0 port eth3 grp 239.0.0.1 temp vid 128 dev br0 port eth3 grp 239.0.0.1 temp vid 64 Signed-off-by: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fecf27a373f5a6b393e93b14f8460299b8abd6f9 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Jul 28 11:59:24 2015 +0800 serial: 8250_pci: add RS485 for F81504/508/512 Add RS485 control for Fintek F81504/508/512 F81504/508/512 can control their RTS with H/W mode. PCI configuration space for each port is 0x40 + idx * 8 + 7. When it set with 0x01, it's configured with RS232 mode. RTS is controlled by MCR. When it set with 0x11, it's configured with RS485 mode. RTS is controlled by H/W, RTS low with idle & RX, high with TX. When it set with 0x31, it's configured with RS485 mode. RTS is controlled by H/W, RTS high with idle & RX, low with TX. We will force 0x01 on pci_fintek_setup(). Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3a10ce3429e5dee623ad5c8407ea58e204fcb0a Author: Richard Watts <rrw@xxxxxxxxxxxxx> Date: Tue May 19 16:06:53 2015 +0100 Avoid usb reset crashes by making tty_io cdevs truly dynamic Avoid usb reset crashes by making tty_io cdevs truly dynamic Signed-off-by: Richard Watts <rrw@xxxxxxxxxxxxx> Reported-by: Duncan Mackintosh <DMackintosh@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fb6dd9da6ed4f2953b62162f3c498a1f6d7bfca Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Mon Aug 3 09:13:34 2015 +0800 clk: hisi: refine parameter checking for init *of_iomap()* will check the device node pointer, and if the pointer is NULL it will return error code. So refine clock's init flow by checking the device node with this simple way; and polish a little for the print out message. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0edc535e96621e41e2d3e7c240e68524d1968807 Merge: 0fbd050 5e52796 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 3 14:24:50 2015 -0700 Merge branch 'stacked-vlan-TSO' Toshiaki Makita says: ==================== Stacked vlan TSO for virtual devices Basically virtual devices do not need to segment double tagged packets. This patch set adds TSO feature for double tagged packets to several virtual devices, which can be realized by simply setting .ndo_features_check to passthru_features_check. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e52796a9a3d56298273030cd438e8015a8d5683 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Jul 31 15:03:27 2015 +0900 tuntap: Don't segment multiple tagged packets on tap device Tap devices don't need to segment multiple tagged packets. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6678053092e808485f4d56dca8705098436495e9 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Jul 31 15:03:26 2015 +0900 bridge: Don't segment multiple tagged packets on bridge device Bridge devices don't need to segment multiple tagged packets since thier ports can segment them. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a04a82156ec31542b956548f9549339de8511d4 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Jul 31 15:03:25 2015 +0900 veth: Don't segment multiple tagged packets on veth device Veth devices don't need to segment multiple tagged packets. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f56e67b5154561dea2bac649085ee1fcb51006f8 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Jul 31 15:03:24 2015 +0900 macvlan: Don't segment multiple tagged packets on macvlan device Macvlan/macvtap devices don't need to segment multiple tagged packets since the lower devices can segment them. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fbd050a7d262b74527a289ae75a33626d1060a8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Jul 31 18:25:17 2015 +0200 virtio_net: add gro capability Straightforward patch to add GRO processing to virtio_net. napi_complete_done() usage allows more aggressive aggregation, opted-in by setting /sys/class/net/xxx/gro_flush_timeout Tested: Setting /sys/class/net/xxx/gro_flush_timeout to 1000 nsec, Rick Jones reported following results. One VM of each on a pair of OpenStack compute nodes with E5-2650Lv3 CPUs and Intel 82599ES-based NICs. So, two "before" and two "after" VMs. The OpenStack compute nodes were running OpenStack Kilo, with VxLAN encapsulation being used through OVS so no GRO coming-up the host stack. The compute nodes themselves were running a 3.14-based kernel. Single-stream netperf, CPU utilizations and thus service demands are based on intra-guest reported CPU. Throughput Mbit/s, bigger is better Min Median Average Max 4.2.0-rc3+ 1364 1686 1678 1938 4.2.0-rc3+flush1k 1824 2269 2275 2647 Send Service Demand, smaller is better Min Median Average Max 4.2.0-rc3+ 0.236 0.558 0.524 0.802 4.2.0-rc3+flush1k 0.176 0.503 0.471 0.738 Receive Service Demand, smaller is better. Min Median Average Max 4.2.0-rc3+ 1.906 2.188 2.191 2.531 4.2.0-rc3+flush1k 0.448 0.529 0.533 0.692 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Tested-by: Rick Jones <rick.jones2@xxxxxx> Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95b9be64d1683c4552ab94d94c08bf833561b1c4 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Sun Aug 2 20:56:38 2015 +0200 rocker: linearize skb in case frags would not fit into tx descriptor Suggested-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21518a6eb92afa9c285ae7b33dd9357a99224b8f Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Sun Aug 2 20:56:37 2015 +0200 rocker: enable support for scattered packets rocker supports the transmission of scattered packets, so let the kernel know about it by setting the NETIF_F_SG bit in the device's features. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62f46669688bf13643b91bbc30f19da1095a5ed6 Author: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Date: Mon Aug 3 13:03:09 2015 -0700 Input: zforce - make the interrupt GPIO optional Add support for hardware which uses an I2C Serializer / Deserializer (SerDes) to communicate with the zFroce touch driver. In this case the SerDes will be configured as an interrupt controller and the zForce driver will have no access to poll the GPIO line. To support this, we add two dedicated new GPIOs in the device tree: reset-gpios and irq-gpios, with the irq-gpios being optional. To not break the existing device trees, the index based 'gpios' entries are still supported, but marked as deprecated. With this, if the interrupt GPIO is available, either via the old or new device tree style, the while loop will read and handle the packets as long as the GPIO indicates that the interrupt is asserted (existing, unchanged driver behavior). If the interrupt GPIO isn't available, i.e. not configured via the new device tree style, we are falling back to one read per ISR invocation (new behavior to support the SerDes). Note that the gpiod functions help to handle the optional GPIO: devm_gpiod_get_index_optional() will return NULL in case the interrupt GPIO isn't available. And gpiod_get_value_cansleep() does cover this, too, by returning 0 in this case. Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko.stuebner@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d93ac74ad150c89f2d0a3b90754cbccdc6ab102c Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Thu Jul 30 17:35:21 2015 +0800 arm64: dts: Add dts files for Marvell Berlin4CT SoC Add initial dtsi file to support Marvell Berlin4CT SoC with quad Cortex-A53 CPUs. It also adds dts file for Marvell Berlin4CT DMP board which is based on Berlin4CT SoC. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit e8054b654bf5d4f549f4f24b708acce6d2718b1b Author: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 6 18:39:39 2014 +0100 s390/numa: add topology tree infrastructure NUMA emulation needs proper means to mangle the book/mc/core topology of the machine. The topology tree (toptree) consistently maintains cpu masks for the root, each node, and all leaves of the tree while the user may use the toptree functions to rearrange the tree in various ways. This patch contains several changes from Michael Holzheu. Signed-off-by: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3a368f742da13955bed4a2efed85ed7c1d826bcc Author: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 6 18:25:13 2014 +0100 s390/numa: add core infrastructure Enable core NUMA support for s390 and add one simple default mode "plain" that creates one single NUMA node. This patch contains several changes from Michael Holzheu. Signed-off-by: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 08b472f7b602c60c69f278ba1e15535f5c86ee24 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 30 21:06:43 2015 +0800 regulator: mt6311: Trivial clean up Make mt6311_buck_ops, mt6311_ldo_ops and mt6311_regulators const and remove unneeded error variable in mt6311_i2c_probe(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 232ff5eb2bf304fc699b132134437a7cb9b2ec16 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Jul 30 12:32:46 2015 -0400 tile: Remove finish_arch_switch Move the simulator bits into switch_to() and use finish_arch_post_lock_switch() for the homecache migration bits. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit f47da2400e8828eda2ed4208fb312031f8b7d2ae Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 3 13:41:11 2015 +0300 spi: spi-pxa2xx: Remove unused legacy PXA DMA API channel numbers These became unused by the commit 6356437e65c2 ("spi: spi-pxa2xx: remove legacy PXA DMA bits"). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 53e381627d34c4c7a3ea00c041c38f447828f755 Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Mon Aug 3 22:15:51 2015 +0800 regulator: mt6311: Modify the maximum voltage of buck. The maximum voltage of buck should be 1.39375V. 1.39375V = 0.6V + 0.00625V * 127, 127 is the max_sel of linear range. Reported-by: Axel Lin <axel.lin@xxxxxxxxxx> signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e203db293863fa15b4b1917d4398fb5bd63c4e88 Author: Salva Peiró <speirofr@xxxxxxxxx> Date: Thu Jul 23 14:26:19 2015 +0200 iommu/omap: Fix debug_read_tlb() to use seq_printf() The debug_read_tlb() uses the sprintf() functions directly on the buffer allocated by buf = kmalloc(count), without taking into account the size of the buffer, with the consequence corrupting the heap, depending on the count requested by the user. The patch fixes the issue replacing sprintf() by seq_printf(). Signed-off-by: Salva Peiró <speirofr@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 934c93b8c193b62fc86256ea64aef65e9a7b4e9e Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:46:17 2015 +0200 thermal: Add comment explaining test for critical temperature The code testing if a temperature should be emulated or not is not obvious. Add a comment explaining why this test is done. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 79e5421cf0bd9b3e56f523e95e3511757edb9616 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:46:16 2015 +0200 thermal: Use IS_ENABLED instead of #ifdef Use IS_ENABLED(CONFIG_THERMAL_EMULATION) to make the code more readable and to get rid of the addtional #ifdef around the variable definitions in thermal_zone_get_temp(). Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit dbdf2532b46256584447cd7e742bfb1b31ac56c4 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:46:15 2015 +0200 thermal: remove unnecessary call to thermal_zone_device_set_polling When the thermal zone has no get_temp callback then thermal_zone_device_register() calls thermal_zone_device_set_polling() with a polling delay of 0. This only cancels the poll_queue. Since the poll_queue hasn't been scheduled this is a no-op. Remove it. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit f6be0584930995f88ea3381cbcbcb315c2a184ad Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:46:14 2015 +0200 thermal: trivial: fix typo in comment Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 17e8351a77397e8a83727eb17e3a3e9b8ab5257a Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Fri Jul 24 08:12:54 2015 +0200 thermal: consistently use int for temperatures The thermal code uses int, long and unsigned long for temperatures in different places. Using an unsigned type limits the thermal framework to positive temperatures without need. Also several drivers currently will report temperatures near UINT_MAX for temperatures below 0°C. This will probably immediately shut the machine down due to overtemperature if started below 0°C. 'long' is 64bit on several architectures. This is not needed since INT_MAX °mC is above the melting point of all known materials. Consistently use a plain 'int' for temperatures throughout the thermal code and the drivers. This only changes the places in the drivers where the temperature is passed around as pointer, when drivers internally use another type this is not changed. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Reviewed-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Peter Feuerer <peter@xxxxxxxx> Cc: Punit Agrawal <punit.agrawal@xxxxxxx> Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Jean Delvare <jdelvare@xxxxxxx> Cc: Peter Feuerer <peter@xxxxxxxx> Cc: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-acpi@xxxxxxxxxxxxxxx Cc: platform-driver-x86@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-omap@xxxxxxxxxxxxxxx Cc: linux-samsung-soc@xxxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Cc: lm-sensors@xxxxxxxxxxxxxx Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 25a0a5ce16ecd7e60c4cf1436892433873e9d99d Author: Ni Wade <wni@xxxxxxxxxx> Date: Tue Jul 14 15:40:56 2015 +0800 thermal: add available policies sysfs attribute The Linux thermal framework support to change thermal governor policy in userspace, but it can't show what available policies supported. This patch adds available_policies attribute to the thermal framework, it can list the thermal governors which can be used for a particular zone. This attribute is read only. Signed-off-by: Wei Ni <wni@xxxxxxxxxx> Reviewed-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit b5e578631e5c1d77f58727ea0769dd55c462b572 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Tue Jul 28 20:44:41 2015 +0200 rx51-battery: Set name to rx51-battery For compatibility between board code and DT, set battery name to same value. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1f22dc4494e203d6987fc708f414b4adf8614036 Author: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Date: Mon Jun 29 08:53:18 2015 -0700 thermal/powerclamp: add cpu id for denlow platform Add support for Intel Denlow UP server platform. Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 35676de2164ff37209431e7e0e49a7466720d9be Author: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Date: Fri Jul 31 08:07:54 2015 -0700 thermal/powerclamp: add cpu id for Skylake u/y Add support for Intel Skylake u/y Signed-off-by: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 286272137f66199f87ea254397181b9bab5e5467 Author: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Date: Fri Jul 31 08:07:45 2015 -0700 thermal/powerclamp: add cpu id for skylake h/s Add support for Intel Skylake H/S Signed-off-by: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 26305022e7ffdeff49b15c9ab18e2c0c880356da Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Jul 24 23:11:28 2015 +0200 MAINTAINERS: AVS is not maintained via power supply tree The adaptive voltage scaling framework is not maintained via the power supply tree and has its own entry in the MAINTAINERS file, so add an exception in the power supply entry. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 3f217e9e96daa3d7741bab705fe9c7798d9951a9 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Fri Jul 31 10:41:00 2015 +0800 usb: chipidea: add ci->is_otg condition for otg judgement Since some chipidea based controller is not otg capable, add ci->is_otg condition when setting is_otg flag for gadget. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a24b071bb4ac37ef51a0ed4765f89be05a617677 Author: Fupan Li <fupan.li@xxxxxxxxxxxxx> Date: Mon Aug 3 19:19:43 2015 +0800 usb: gadget: f_printer: fix deadlock caused by nested spinlock Function printer_func_disable() has called spinlock on printer_dev->lock, and it'll call function chain of printer_reset_interface() | +---dwc3_gadget_ep_disable() | +---__dwc3_gadget_ep_disable() | +---dwc3_remove_requests() | +---dwc3_gadget_giveback() | +---rx_complete() in the protected block. However, rx_complete() in f_printer.c calls spinlock on printer_dev->lock again, which will cause system hang. The following steps can reproduce this hang: 1. Build the test program from Documentation/usb/gadget_printer.txt as g_printer 2. Plug in the USB device to a host(such as Ubuntu). 3. on the USB device system run: #modprobe g_printer.ko #./g_printer -read_data 4. Unplug the USB device from the host The system will hang later. In order to avoid this deadlock, moving the spinlock from printer_func_disable() into printer_reset_interface() and excluding the block of calling dwc3_gadget_ep_disable(), in which the critical resource will be protected by its spinlock in rx_complete(). This commit will fix the system hang with the following calltrace: INFO: rcu_preempt detected stalls on CPUs/tasks: { 3} (detected by 0, t=21006 jiffies, g=524, c=523, q=2) sending NMI to all CPUs: NMI backtrace for cpu 3 CPU: 3 PID: 718 Comm: irq/22-dwc3 Not tainted 3.10.38-ltsi-WR6.0.0.11_standard #2 Hardware name: Intel Corp. VALLEYVIEW B3 PLATFORM/NOTEBOOK, BIOS BYTICRB1.86C.0092.R32.1410021707 10/02/2014 task: f44f4c20 ti: f40f6000 task.ti: f40f6000 EIP: 0060:[<c1824955>] EFLAGS: 00000097 CPU: 3 EIP is at _raw_spin_lock_irqsave+0x35/0x40 EAX: 00000076 EBX: f80fad00 ECX: 00000076 EDX: 00000075 ESI: 00000096 EDI: ffffff94 EBP: f40f7e20 ESP: f40f7e18 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 CR0: 8005003b CR2: b77ac000 CR3: 01c30000 CR4: 001007f0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 Stack: f474a720 f80fad00 f40f7e3c f80f93cc c135d486 00000000 f474a720 f468fb00 f4bea894 f40f7e54 f7e35f19 ffffff00 f468fb00 f468fb24 00000086 f40f7e64 f7e36577 f468fb00 f4bea810 f40f7e74 f7e365a8 f468fb00 f4bea894 f40f7e9c Call Trace: [<f80f93cc>] rx_complete+0x1c/0xb0 [g_printer] [<c135d486>] ? vsnprintf+0x166/0x390 [<f7e35f19>] dwc3_gadget_giveback+0xc9/0xf0 [dwc3] [<f7e36577>] dwc3_remove_requests+0x57/0x70 [dwc3] [<f7e365a8>] __dwc3_gadget_ep_disable+0x18/0x60 [dwc3] [<f7e366e9>] dwc3_gadget_ep_disable+0x89/0xf0 [dwc3] [<f80f9031>] printer_reset_interface+0x31/0x50 [g_printer] [<f80f9270>] printer_func_disable+0x20/0x30 [g_printer] [<f80e6d8b>] composite_disconnect+0x4b/0x90 [libcomposite] [<f7e39a8b>] dwc3_disconnect_gadget+0x38/0x43 [dwc3] [<f7e39ad4>] dwc3_gadget_disconnect_interrupt+0x3e/0x5a [dwc3] [<f7e373b8>] dwc3_thread_interrupt+0x5c8/0x610 [dwc3] [<c10ac518>] irq_thread_fn+0x18/0x30 [<c10ac800>] irq_thread+0x100/0x130 [<c10ac500>] ? irq_finalize_oneshot.part.29+0xb0/0xb0 [<c10ac650>] ? wake_threads_waitq+0x40/0x40 [<c10ac700>] ? irq_thread_dtor+0xb0/0xb0 [<c1057224>] kthread+0x94/0xa0 [<c182b337>] ret_from_kernel_thread+0x1b/0x28 [<c1057190>] ? kthread_create_on_node+0xc0/0xc0 Signed-off-by: Fupan Li <fupan.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2f0bb2a0e7f5161e83615fb1283c5079566ed6a7 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Aug 3 05:37:10 2015 -0700 usb: musb: Allow building in all the DMA code With recent changes to MUSB code, we can now now get rid of the Kconfig choise for the DMA code and allow building in any of the desired DMA code. This makes life easier for distros. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d3cb25a12138a09bc948c0091d3d42e519980659 Author: Pengyu Ma <pengyu.ma@xxxxxxxxxxxxx> Date: Mon Aug 3 11:28:24 2015 +0800 usb: gadget: udc: fix spin_lock in pch_udc When remove module g_serial on quark platform, the following Warning on: Modules linked in: usb_f_acm u_serial g_serial(-) pch_udc libcomposite configfs udc_core ad7298 industrialio_triggered_buffer kfifo_buf tpm_i2c_infineon indus CPU: 0 PID: 369 Comm: modprobe Not tainted 3.14.29ltsi-WR7.0.0.0_standard #6 Hardware name: Intel Corp. QUARK/CrossHill, BIOS 0x010100F5 01/01/2014 f641df0c f641df0c f641dec8 c15ac7fa f641defc c103084f c16c2356 f641df28 00000171 c16b855c 000009dd c15b2d6f 000009dd c15b2d6f f6bd2000 faae5480 00000000 f641df14 c10308a3 00000009 f641df0c c16c2356 f641df28 f641df2c Call Trace: [<c15ac7fa>] dump_stack+0x16/0x18 [<c103084f>] warn_slowpath_common+0x7f/0xa0 [<c15b2d6f>] ? preempt_count_sub+0x6f/0xc0 [<c15b2d6f>] ? preempt_count_sub+0x6f/0xc0 [<c10308a3>] warn_slowpath_fmt+0x33/0x40 [<c15b2d6f>] preempt_count_sub+0x6f/0xc0 [<faadbc82>] pch_udc_pcd_pullup+0x32/0xa0 [pch_udc] [<fa9747d9>] usb_gadget_remove_driver+0x29/0x60 [udc_core] [<fa974869>] usb_gadget_unregister_driver+0x59/0x80 [udc_core] [<faa78310>] usb_composite_unregister+0x10/0x20 [libcomposite] [<faae50f1>] cleanup+0xd/0xf [g_serial] [<c1084c47>] SyS_delete_module+0xf7/0x150 [<c111f8dd>] ? ____fput+0xd/0x10 [<c104b2ae>] ? task_work_run+0x6e/0xa0 [<c15afda5>] syscall_call+0x7/0x7 g_serial module on quark is depended on pch_udc module, ttyGSX cann't recieve data and warning on when remove g_serial. It was unlocked before the modification of the structure it was protecting, fix it as "lock -> unlock" to resolve this. Signed-off-by: Pengyu Ma <pengyu.ma@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cf780b7dc795ff495629b9879dc874eda49ada62 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Mon Aug 3 15:32:26 2015 +0300 cgroup: fix idr_preload usage It does not make much sense to call idr_preload with the same gfp mask as the following idr_alloc, but this is what we do in cgroup_idr_alloc. This patch fixes the idr_preload usage by making cgroup_idr_alloc call idr_alloc w/o __GFP_WAIT. Since it is now safe to call cgroup_idr_alloc with GFP_KERNEL, the patch also fixes all its callers appropriately. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit be120397e7709d9d5ed88317a385ce864a2603bc Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Jul 31 15:46:19 2015 +0100 ARM: migrate to common PSCI client code Now that the common PSCI client code has been factored out to drivers/firmware, and made safe for 32-bit use, move the 32-bit ARM code over to it. This results in a moderate reduction of duplicated lines, and will prevent further duplication as the PSCI client code is updated for PSCI 1.0 and beyond. The two legacy platform users of the PSCI invocation code are updated to account for interface changes. In both cases the power state parameter (which is constant) is now generated using macros, so that the pack/unpack logic can be killed in preparation for PSCI 1.0 power state changes. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 37cf524f9360f9165d67459b7bf795c01824df98 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Fri Jul 31 15:46:18 2015 +0100 ARM: psci: boot_secondary: replace __pa with virt_to_idmap On some PAE systems (e.g. TI Keystone), memory is above the 32-bit addressable limit, and the interconnect provides an aliased view of parts of physical memory in the 32-bit addressable space. This alias is strictly for boot time usage, and is not otherwise usable because of coherency limitations. In this case, virt_to_phys(secondary_startup) would return the physical address of the secondary CPU boot entry point, but on such systems, this would be above the 4GB limit. A separate function, virt_to_idmap(), has been provided to return a usable physical address for functions in the identity mapping, and this must be used in preference to virt_to_phys() or __pa() to find the physical entry point for functions in the identity mapping range. For other systems, virt_to_idmap() and virt_to_phys() return identical physical addresses. Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Tested-by Vitaly Andrianov <vitalya@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> [Mark: apply rmk's suggested rewording] Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2238c0827a9bfa8d517e3175110ed603fb7b9537 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Jul 14 15:24:53 2015 -0600 iommu/vt-d: Report domain usage in sysfs Debugging domain ID leakage typically requires long running tests in order to exhaust the domain ID space or kernel instrumentation to track the setting and clearing of bits. A couple trivial intel-iommu specific sysfs extensions make it much easier to expose the IOMMU capabilities and current usage. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 50690762cfe32abadbaa5b22bebe3855e5b8ede8 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Jul 30 12:54:01 2015 -0400 iommu/vt-d: Fix leaked ioremap mapping iommu_load_old_irte() appears to leak the old_irte mapping after use. Cc: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 2439d4aa9247f4c94351d0cf7d75c16146785eb8 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Fri Jul 24 16:27:57 2015 -0700 iommu/vt-d: Avoid format string leaks into iommu_device_create This makes sure it won't be possible to accidentally leak format strings into iommu device names. Current name allocations are safe, but this makes the "%s" explicit. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7b0ce727bf7ac5240a433109f53bf78788f9159b Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Wed Jul 22 18:47:00 2015 +0100 of: iommu: Silence misleading warning Printing "IOMMU is currently not supported for PCI" for every PCI device probed on a DT-based system proves to be both irritatingly noisy and confusing to users who have misinterpreted it to mean they can no longer use VFIO device assignment. Since configuring DMA masks for PCI devices via of_dma_configure() has not in fact changed anything with regard to IOMMUs there really is nothing to warn about here; shut it up. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5835b6a64ce39434d5cc9857769c73982d488b42 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:32 2015 -0500 iommu/omap: Align code with open parenthesis Fix all the occurrences of the following check warning generated with the checkpatch --strict option: "CHECK: Alignment should match open parenthesis" Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit eb642a3f5afdb13aa2b7ba0bda314b0d2b62165d Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:31 2015 -0500 iommu/omap: Use BIT(x) macros in omap-iommu.h Switch to using the BIT(x) macros in omap-iommu.h where possible. This eliminates the following checkpatch check warning: "CHECK: Prefer using the BIT macro" A couple of the warnings were ignored for better readability of the bit-shift for the different values. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5ff98fa68c88d7babf96b7df7c713aaf2ed6558a Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:30 2015 -0500 iommu/omap: Use BIT(x) macros in omap-iopgtable.h Switch to using the BIT(x) macros in omap-iopgtable.h where possible. This eliminates the following checkpatch check warning: "CHECK: Prefer using the BIT macro" A couple of macros that used zero bit shifting are defined directly to avoid the above warning on one of the macros. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 99ee98d6ac964f1a2412d9fe08e577aa4f13905d Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:29 2015 -0500 iommu/omap: Remove unnecessary error traces on alloc failures Fix couple of checkpatch warnings of the type, "WARNING: Possible unnecessary 'out of memory' message" Signed-off-by: Suman Anna <s-anna@xxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5b39a37abc007542995506ad0d8e4c3991e6970a Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:28 2015 -0500 iommu/omap: Remove trailing semi-colon from a macro Remove the trailing semi-colon in the DEBUG_FOPS_RO macro definition. This fixes the checking warning, "WARNING: macros should not use a trailing semicolon" Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit dc308f9f92b084a25989fd2002fac06cbf4a73d4 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:27 2015 -0500 iommu/omap: Remove unused union fields There are couple of unions defined in the structures iotlb_entry and cr_regs. There are no usage/references to some of these union fields in the code, so clean them up and simplify the structures. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ad8e29a0804494bff5f0059df3805423ed2020b8 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:26 2015 -0500 iommu/omap: Protect omap-iopgtable.h against double inclusion Protect the omap-pgtable.h header against double inclusion in source code by using the standard include guard mechanism. Signed-off-by: Suman Anna <s-anna@xxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 69c2c196328e73d3091dd0be89ab4b0c2af4b210 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:25 2015 -0500 iommu/omap: Move debugfs functions to omap-iommu-debug.c The main OMAP IOMMU driver file has some helper functions used by the OMAP IOMMU debugfs functionality, and there is already a dedicated source file omap-iommu-debug.c dealing with these debugfs routines. Move all these functions to the omap-iommu-debug.c file, so that all the debugfs related routines are in one place. The move required exposing some new functions and moving some definitions to the internal omap-iommu.h header file. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 0cdbf727167a2fcc9ba2aaea98e2a76124ba072e Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:24 2015 -0500 iommu/omap: Remove all module references The OMAP IOMMU driver has been adapted to the IOMMU framework for a while now, and it does not support being built as a module anymore. So, remove all the module references from the OMAP IOMMU driver. While at it, also relocate a comment around the subsys_initcall to avoid a checkpatch strict warning about using a blank line after function/struct/union/enum declarations. Signed-off-by: Suman Anna <s-anna@xxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a73622a70a31c846d9d2a971c78fd1ffab88afcd Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:23 2015 -0500 Documentation: dt: Add #iommu-cells info to OMAP iommu bindings The OMAP IOMMU bindings is updated to reflect the required #iommu-cells property. Signed-off-by: Suman Anna <s-anna@xxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 4a9e5ca1a54a3cb4a5f85359f646638cec567607 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 15 15:33:51 2015 +0800 phy: Constify struct phy_ops variables The phy_ops variables are never modified after initialized in these drivers, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 42ad8f6721720513f3569a67b157fcff068aa92d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jun 5 08:27:03 2015 +0800 phy: ulpi_phy: Add const qualifier to ops The ops is never changed in ulpi_phy_create(), so make it const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 8083526e0585e23447ac9ea94ca3f6d32d6dee8f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jul 31 10:01:42 2015 +0200 phy-sun4i-usb: Only check vbus-det on power-on on boards with vbus-det data->vbus_det is always 1 on boards without a (working) vbus-det, skip the vbus_det test on such boards. This fixes the sun4i usb phy code never turning on Vbus on such boards. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 3d772c4adbf94ce6971be2e9272157f831bccb8f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jul 31 10:01:41 2015 +0200 phy-sun4i-sub: Move vbus-detect helper functions up in the file Move vbus-detect helper functions up in the file, just moving some code around, no functional changes what so ever. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 29d1dc62e1618192a25bd2eae9617529b9930cfc Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Mon Aug 3 14:22:16 2015 +0200 drm/sti: atomic crtc/plane update Better fit STI hardware structure. Planes are no more responsible of updating mixer information such as z-order and status. It is now up to the CRTC atomic flush to do it. Plane actions (enable or disable) are performed atomically. Disabling of a plane is synchronize with the vsync event. Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit 9e1f05b28009ca7de50fb92c227c8046f686e2c5 Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Fri Jul 31 11:32:34 2015 +0200 drm/sti: rename files and functions replace all "sti_drm_" occurences by "sti_" Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit 871bcdfea68560991bd650406e47a801ab9d635d Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Fri Jul 31 11:32:13 2015 +0200 drm/sti: code clean up Purpose is to simplify the STI driver: - remove layer structure - consider video subdev as part of the compositor (like mixer subdev) - remove useless STI_VID0 and STI_VID1 enum Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit bf60b29f8e811c9593dcabaa4d25e412f9e10b73 Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Fri Jul 31 11:31:38 2015 +0200 drm/sti: fix dynamic z-ordering Apply the plane depth when the plane is updated. If the depth is different from the previous plane update, the register controlling the plane depth is cleaned and updated with the new depth. Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit 53bdcf5f026c565e605ff4ced9178f85d48f69c5 Author: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Date: Fri Jul 17 12:06:11 2015 +0200 drm: sti: fix sub-components bind Fix misunderstanding in how use component framework. drm_platform_init() is now call only when all the sub-components are register themselves instead of the previous broken two stages mechanism. Update bindings documentation. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit 97942c2862d74689b6241802f2aa43972042389f Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Fri Jul 31 18:28:34 2015 +0100 arm64: dma-mapping: Simplify pgprot handling Since __get_dma_pgprot() does The Right Thing(TM) in the non-coherent case, and the non-cacheable alias for DMA buffers is private to the kernel anyway, we can simplify things slightly and make the code more readable by just using PAGE_KERNEL as the base pgprot. Suggested-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 514f161abcda065914f7ea8954c815eee98074a5 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Jul 31 15:46:20 2015 +0100 MAINTAINERS: add PSCI entry Add myself and Lorenzo as maintainers of the PSCI client code. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5211df00a4b595b96a7721a1253074b327945d33 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Jul 31 15:46:17 2015 +0100 drivers: psci: support native SMC{32,64} calls A 32-bit OS cannot make calls with SMC64 IDs, while a 64-bit OS must invoke some PSCI functions with SMC64 IDs. This patch introduces and makes use of a new macro to choose the appropriate IDs based on the register width of the OS, which will allow 32-bit callers to use the PSCI client code. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit bff60792f994a87324ab57e89e945b4572b1ef77 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Jul 31 15:46:16 2015 +0100 arm64: psci: factor invocation code to drivers To enable sharing with arm, move the core PSCI framework code to drivers/firmware. This results in a minor gain in lines of code, but this will quickly be amortised by the removal of code currently duplicated in arch/arm. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 27e44646dc0083c931b71bbb8e179aeb38010d31 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 16:03:10 2015 -0500 reset: socfpga: Update reset-socfpga to read the altr,modrst-offset property In order for the Arria10 to be able to re-use the reset driver for SoCFPGA Cyclone5/Arria5, we need to read the 'altr,modrst-offset' property from the device tree entry. The 'altr,modrst-offset' property is the first register into the reset manager that is used for bringing peripherals out of reset. The driver assumes a modrst-offset of 0x10 in order to support legacy Cyclone5/Arria5 hardware. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 27dc2fb18fe814fab0a5035859c77b279cdaec80 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed May 6 00:10:27 2015 +0200 doc: dt: add documentation for lpc1850-rgu reset driver Add device tree binding documentation for the Reset Generation Unit (RGU) found on NXP LPC18xx and LPC43xx devies. This documentation also includes a table which shows the RGU reset number and the connected peripheral. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit c392b65ba853f653cff3d1c7de2138bd6906d536 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed May 6 00:10:26 2015 +0200 reset: add driver for lpc18xx rgu Add reset driver for the Reset Generation Unit (RGU) found on NXP LPC18xx and LPC43xx devies. This reset controller features up to 64 reset lines connected to different blocks and peripheral in the SoC. Most reset lines on the controller are self clearing except for those dealing with the Cortex-M0 cores on LPC43xx devices. This driver also registers a restart handler that can be used to reset the entire device. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit a518db45c2580fd726f6578539482596f46a8219 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:54:37 2015 +0100 reset: sti: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit efdf5aa8f175c18def6407bb2b51643e4da88259 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Feb 13 12:20:49 2015 +0100 ARM: STi: DT: Move reset controller constants into common location By popular vote, the DT binding includes for reset controllers are located in include/dt-bindings/reset/. Move the STi reset constants in there, too, to avoid confusion. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> commit b2f6dd7b94ee9c07b93fb8e69d782af6fde0410f Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Feb 13 12:14:40 2015 +0100 MAINTAINERS: add include/dt-bindings/reset path to reset controller entry This is the path for reset definitions to be used in both device tree and reset controller drivers. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7ea241afbf4924c58d41078599f7a32ba49fb985 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:42 2015 +0800 sched/fair: Clean up load average references For cfs_rq, we have load.weight, runnable_load_avg, and load_avg. Clean up how they are used: - First, as group sched_entity already largely uses load_avg, we now expand to use load_avg in all cases. - Second, for CPU-wide load balancing, we choose to use runnable_load_avg in all cases, which is the same as before this series. Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-8-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 139622343ef31941effc6de6a5a9320371a00e62 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:41 2015 +0800 sched/fair: Provide runnable_load_avg back to cfs_rq The cfs_rq's load_avg is composed of runnable_load_avg and blocked_load_avg. Before this series, sometimes the runnable_load_avg is used, and sometimes the load_avg is used. Completely replacing all uses of runnable_load_avg with load_avg may be too big a leap, i.e., the blocked_load_avg is concerned to result in overrated load. Therefore, we get runnable_load_avg back. The new cfs_rq's runnable_load_avg is improved to be updated with all of the runnable sched_eneities at the same time, so the one sched_entity updated and the others stale problem is solved. Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-7-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1269557889b477e3e43ab99a21035ddf8f7cea4d Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:40 2015 +0800 sched/fair: Remove task and group entity load when they are dead When task exits or group is destroyed, the entity's load should be removed from its parent cfs_rq's load. Otherwise, it will take time for the parent cfs_rq to decay the dead entity's load to 0, which is not desired. Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-6-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 540247fb5ddf6d2364f90387fa1f8f428d15e683 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:39 2015 +0800 sched/fair: Init cfs_rq's sched_entity load average The runnable load and utilization averages of cfs_rq's sched_entity were not initiated. Like done to a task, give new cfs_rq' sched_entity start values to heavy its load in infant time. Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-5-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6c1d47c0827304949e0eb9479f4d587f226fac8b Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Wed Jul 15 08:04:38 2015 +0800 sched/fair: Implement update_blocked_averages() for CONFIG_FAIR_GROUP_SCHED=n The load and the utilization of idle CPUs must be updated periodically in order to decay the blocked part. If CONFIG_FAIR_GROUP_SCHED is not set, the load and util of idle cpus are not decayed and stay at the values set before becoming idle. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-4-git-send-email-yuyang.du@xxxxxxxxx [ Fixed up the SOB chain. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9d89c257dfb9c51a532d69397f6eed75e5168c35 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:37 2015 +0800 sched/fair: Rewrite runnable load and utilization average tracking The idea of runnable load average (let runnable time contribute to weight) was proposed by Paul Turner and Ben Segall, and it is still followed by this rewrite. This rewrite aims to solve the following issues: 1. cfs_rq's load average (namely runnable_load_avg and blocked_load_avg) is updated at the granularity of an entity at a time, which results in the cfs_rq's load average is stale or partially updated: at any time, only one entity is up to date, all other entities are effectively lagging behind. This is undesirable. To illustrate, if we have n runnable entities in the cfs_rq, as time elapses, they certainly become outdated: t0: cfs_rq { e1_old, e2_old, ..., en_old } and when we update: t1: update e1, then we have cfs_rq { e1_new, e2_old, ..., en_old } t2: update e2, then we have cfs_rq { e1_old, e2_new, ..., en_old } ... We solve this by combining all runnable entities' load averages together in cfs_rq's avg, and update the cfs_rq's avg as a whole. This is based on the fact that if we regard the update as a function, then: w * update(e) = update(w * e) and update(e1) + update(e2) = update(e1 + e2), then w1 * update(e1) + w2 * update(e2) = update(w1 * e1 + w2 * e2) therefore, by this rewrite, we have an entirely updated cfs_rq at the time we update it: t1: update cfs_rq { e1_new, e2_new, ..., en_new } t2: update cfs_rq { e1_new, e2_new, ..., en_new } ... 2. cfs_rq's load average is different between top rq->cfs_rq and other task_group's per CPU cfs_rqs in whether or not blocked_load_average contributes to the load. The basic idea behind runnable load average (the same for utilization) is that the blocked state is taken into account as opposed to only accounting for the currently runnable state. Therefore, the average should include both the runnable/running and blocked load averages. This rewrite does that. In addition, we also combine runnable/running and blocked averages of all entities into the cfs_rq's average, and update it together at once. This is based on the fact that: update(runnable) + update(blocked) = update(runnable + blocked) This significantly reduces the code as we don't need to separately maintain/update runnable/running load and blocked load. 3. How task_group entities' share is calculated is complex and imprecise. We reduce the complexity in this rewrite to allow a very simple rule: the task_group's load_avg is aggregated from its per CPU cfs_rqs's load_avgs. Then group entity's weight is simply proportional to its own cfs_rq's load_avg / task_group's load_avg. To illustrate, if a task_group has { cfs_rq1, cfs_rq2, ..., cfs_rqn }, then, task_group_avg = cfs_rq1_avg + cfs_rq2_avg + ... + cfs_rqn_avg, then cfs_rqx's entity's share = cfs_rqx_avg / task_group_avg * task_group's share To sum up, this rewrite in principle is equivalent to the current one, but fixes the issues described above. Turns out, it significantly reduces the code complexity and hence increases clarity and efficiency. In addition, the new averages are more smooth/continuous (no spurious spikes and valleys) and updated more consistently and quickly to reflect the load dynamics. As a result, we have less load tracking overhead, better performance, and especially better power efficiency due to more balanced load. Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-3-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cd126afe838d7ea9b971cdea087fd498a7293c7f Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:36 2015 +0800 sched/fair: Remove rq's runnable avg The current rq->avg is not used at all since its merge into the kernel, and the code is in the scheduler's hot path, so remove it. Tested-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-2-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d308b9f1e4412bcf583c82c4ca15ef97cb8b0e6f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jun 30 03:29:58 2015 +0200 stop_machine: Remove cpu_stop_work's from list in cpu_stop_park() cpu_stop_park() does cpu_stop_signal_done() but leaves the work on stopper->works. The owner of this work can free/reuse this memory right after that and corrupt the list, so if this CPU becomes online again cpu_stopper_thread() will crash. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: der.herr@xxxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: viro@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150630012958.GA23944@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a301f22faac7fc2207ee49c1855a6b4ba9c5a52 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jun 30 03:29:55 2015 +0200 stop_machine: Use 'cpu_stop_fn_t' where possible Cosmetic, but 'cpu_stop_fn_t' actually makes the code more readable and it doesn't break cscope. And most of the declarations already use it. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: der.herr@xxxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: viro@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150630012955.GA23937@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7eeb088e72048bf4660f64fc3824c8066cf17591 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jun 30 03:29:51 2015 +0200 stop_machine: Unexport __stop_machine() The only caller outside of stop_machine.c is _cpu_down(), it can use stop_machine(). get_online_cpus() is fine under cpu_hotplug_begin(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: der.herr@xxxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: viro@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150630012951.GA23934@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b377c2a089d4538e6e62e51fa595c896c314d83d Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jun 30 03:29:48 2015 +0200 stop_machine: Don't do for_each_cpu() twice in queue_stop_cpus_work() queue_stop_cpus_work() can do everything in one for_each_cpu() loop. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: der.herr@xxxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: viro@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150630012948.GA23927@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02cb7aa923ec553e6454ec766ded27b472326ebe Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jun 30 03:29:44 2015 +0200 stop_machine: Move 'cpu_stopper_task' and 'stop_cpus_work' into 'struct cpu_stopper' Multpiple DEFINE_PER_CPU's do not make sense, move all the per-cpu variables into 'struct cpu_stopper'. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: der.herr@xxxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: viro@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150630012944.GA23924@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe32d3cd5e8eb0f82e459763374aa80797023403 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:52:04 2015 +0300 sched/preempt: Fix cond_resched_lock() and cond_resched_softirq() These functions check should_resched() before unlocking spinlock/bh-enable: preempt_count always non-zero => should_resched() always returns false. cond_resched_lock() worked iff spin_needbreak is set. This patch adds argument "preempt_offset" to should_resched(). preempt_count offset constants for that: PREEMPT_DISABLE_OFFSET - offset after preempt_disable() PREEMPT_LOCK_OFFSET - offset after spin_lock() SOFTIRQ_DISABLE_OFFSET - offset after local_bh_distable() SOFTIRQ_LOCK_OFFSET - offset after spin_lock_bh() Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: bdb438065890 ("sched: Extract the basic add/sub preempt_count modifiers") Link: http://lkml.kernel.org/r/20150715095204.12246.98268.stgit@buzz Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c56dadf39761a6157239cac39e3988998c994f98 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:52:03 2015 +0300 sched/preempt, powerpc, kvm: Use need_resched() instead of should_resched() Function should_resched() is equal to (!preempt_count() && need_resched()). In preemptive kernel preempt_count here is non-zero because of vc->lock. Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150715095203.12246.72922.stgit@buzz Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0fa2f5cb2b0ecd8d56baa51f35f09aab234eb0bf Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:52:01 2015 +0300 sched/preempt, xen: Use need_resched() instead of should_resched() This code is used only when CONFIG_PREEMPT=n and only in non-atomic context: xen_in_preemptible_hcall is set only in privcmd_ioctl_hypercall(). Thus preempt_count is zero and should_resched() is equal to need_resched(). Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150715095201.12246.49283.stgit@buzz Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 63b0e9edceec10fa41ec33393a1515a5ff444277 Author: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Date: Tue Jul 14 17:39:50 2015 +0200 sched/fair: Beef up wake_wide() Josef Bacik reported that Facebook sees better performance with their 1:N load (1 dispatch/node, N workers/node) when carrying an old patch to try very hard to wake to an idle CPU. While looking at wake_wide(), I noticed that it doesn't pay attention to the wakeup of a many partner waker, returning 1 only when waking one of its many partners. Correct that, letting explicit domain flags override the heuristic. While at it, adjust task_struct bits, we don't need a 64-bit counter. Tested-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> [ Tidy things up. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kernel-team<Kernel-team@xxxxxx> Cc: morten.rasmussen@xxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436888390.7983.49.camel@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fbd705a0c6184580d0e2fbcbd47a37b6e5822511 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jun 9 11:13:36 2015 +0200 sched: Introduce the 'trace_sched_waking' tracepoint Mathieu reported that since 317f394160e9 ("sched: Move the second half of ttwu() to the remote cpu") trace_sched_wakeup() can happen out of context of the waker. This is a problem when you want to analyse wakeup paths because it is now very hard to correlate the wakeup event to whoever issued the wakeup. OTOH trace_sched_wakeup() is issued at the point where we set p->state = TASK_RUNNING, which is right were we hand the task off to the scheduler, so this is an important point when looking at scheduling behaviour, up to here its been the wakeup path everything hereafter is due to scheduler policy. To bridge this gap, introduce a second tracepoint: trace_sched_waking. It is guaranteed to be called in the waker context. Reported-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Francis Giraldeau <francis.giraldeau@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150609091336.GQ3644@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9d7fb04276481c59610983362d8e023d262b58ca Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jun 30 11:30:54 2015 +0200 sched/cputime: Guarantee stime + utime == rtime While the current code guarantees monotonicity for stime and utime independently of one another, it does not guarantee that the sum of both is equal to the total time we started out with. This confuses things (and peoples) who look at this sum, like top, and will report >100% usage followed by a matching period of 0%. Rework the code to provide both individual monotonicity and a coherent sum. Suggested-by: Fredrik Markstrom <fredrik.markstrom@xxxxxxxxx> Reported-by: Fredrik Markstrom <fredrik.markstrom@xxxxxxxxx> Tested-by: Fredrik Markstrom <fredrik.markstrom@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: jason.low2@xxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 781b0203423c228b100aaaf169c77b2b556f8a49 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 4 09:06:32 2015 +0200 sched, sysctl: Delete an unnecessary check before unregister_sysctl_table() The unregister_sysctl_table() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/5597877E.3060503@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3fe33bcdd358dd8c641cf4d92c9d2d9972ca94dd Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Sat Jul 4 15:39:23 2015 +0800 sched/deadline: Remove a redundant condition from task_woken_dl() 'p' has been already queued at this point, so "!task_running(rq, p)" and "p->nr_cpus_allowed > 1" imply that "has_pushable_dl_tasks(rq)" is true, so it can be removed. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435995563-3723-2-git-send-email-xlpang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8fd373548eed815858d7b5534971bdc64b4d8d2c Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Sat Jul 4 15:39:22 2015 +0800 sched/rt: Remove a redundant condition from task_woken_rt() 'p' has been already queued at this point, so "!task_running(rq, p)" and "p->nr_cpus_allowed > 1" imply that "has_pushable_tasks(rq)" is true, so it can be removed. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435995563-3723-1-git-send-email-xlpang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 985d3a4c11cd28251bcc7925aa2d7a9038910384 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Mon Jul 6 06:11:51 2015 +0800 sched/fair: Avoid pulling all tasks in idle balancing In idle balancing where a CPU going idle pulls tasks from another CPU, a livelock may happen if the CPU pulls all tasks from another, makes it idle, and this iterates. So just avoid this. Reported-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150705221151.GF5197@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 412758cb26704e5087ca2976ec3b28fb2bdbfad4 Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Thu Jul 30 03:59:48 2015 +0000 jump label, locking/static_keys: Update docs Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bp@xxxxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: ddaney@xxxxxxxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: michael@xxxxxxxxxxxxxx Cc: rabin@xxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: vbabka@xxxxxxx Cc: will.deacon@xxxxxxx Link: http://lkml.kernel.org/r/6b50f2f6423a2244f37f4b1d2d6c211b9dcdf4f8.1438227999.git.jbaron@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2bf9e0ab08c64ac56067555911a1ae81ebff5f96 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 3 11:42:57 2015 +0200 locking/static_keys: Provide a selftest The 'jump label' self-test is in reality testing static keys - rename things accordingly. Also prettify the code in various places while at it. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jason Baron <jbaron@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bp@xxxxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: ddaney@xxxxxxxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: michael@xxxxxxxxxxxxxx Cc: rabin@xxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: vbabka@xxxxxxx Cc: will.deacon@xxxxxxx Link: http://lkml.kernel.org/r/0c091ecebd78a879ed8a71835d205a691a75ab4e.1438227999.git.jbaron@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 579e1acb153464649781fe5555b4892c0ff84a40 Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Thu Jul 30 03:59:44 2015 +0000 jump_label: Provide a self-test Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bp@xxxxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: ddaney@xxxxxxxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: michael@xxxxxxxxxxxxxx Cc: rabin@xxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: shuahkh@xxxxxxxxxxxxxxx Cc: vbabka@xxxxxxx Cc: will.deacon@xxxxxxx Link: http://lkml.kernel.org/r/0c091ecebd78a879ed8a71835d205a691a75ab4e.1438227999.git.jbaron@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ed79e946732e5311934d7f404b3b4e702e45cb97 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Jul 29 08:31:24 2015 +0200 s390/uaccess, locking/static_keys: employ static_branch_likely() Use the new static_branch_likely() primitive to make sure that the most likely case is executed without taking an unconditional branch. This wasn't possible with the old jump label primitives. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150729064600.GB3953@osiris Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3bbfafb77a06327fa1bc9f19bc55b5c558475091 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 16:34:32 2015 +0200 x86, tsc, locking/static_keys: Employ static_branch_likely() Because of the static_key restrictions we had to take an unconditional jump for the most likely case, causing $I bloat. Rewrite to use the new primitives. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1987c947d905baa05bee430178e8eef882f36bd4 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Jul 27 18:32:09 2015 +0200 locking/static_keys: Add selftest Add a little selftest that validates all combinations. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 11276d5306b8e5b438a36bbff855fe792d7eaa61 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 15:09:55 2015 +0200 locking/static_keys: Add a new static_key interface There are various problems and short-comings with the current static_key interface: - static_key_{true,false}() read like a branch depending on the key value, instead of the actual likely/unlikely branch depending on init value. - static_key_{true,false}() are, as stated above, tied to the static_key init values STATIC_KEY_INIT_{TRUE,FALSE}. - we're limited to the 2 (out of 4) possible options that compile to a default NOP because that's what our arch_static_branch() assembly emits. So provide a new static_key interface: DEFINE_STATIC_KEY_TRUE(name); DEFINE_STATIC_KEY_FALSE(name); Which define a key of different types with an initial true/false value. Then allow: static_branch_likely() static_branch_unlikely() to take a key of either type and emit the right instruction for the case. This means adding a second arch_static_branch_jump() assembly helper which emits a JMP per default. In order to determine the right instruction for the right state, encode the branch type in the LSB of jump_entry::key. This is the final step in removing the naming confusion that has led to a stream of avoidable bugs such as: a833581e372a ("x86, perf: Fix static_key bug in load_mm_cr4()") ... but it also allows new static key combinations that will give us performance enhancements in the subsequent patches. Tested-by: Rabin Vincent <rabin@xxxxxx> # arm Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> # ppc Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> # s390 Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 706249c222f68471b6f8e9e8e9b77665c404b226 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 15:06:37 2015 +0200 locking/static_keys: Rework update logic Instead of spreading the branch_default logic all over the place, concentrate it into the one jump_label_type() function. This does mean we need to actually increment/decrement the enabled count _before_ calling the update path, otherwise jump_label_type() will not see the right state. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e33886b38cc82a9fc3b2d655dfc7f50467594138 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 15:03:40 2015 +0200 locking/static_keys: Add static_key_{en,dis}able() helpers Add two helpers to make it easier to treat the refcount as boolean. Suggested-by: Jason Baron <jasonbaron0@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7dcfd915bae51571bcc339d8e3dda027287880e5 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 15:02:27 2015 +0200 jump_label: Add jump_entry_key() helper Avoid some casting with a helper, also prepares the way for overloading the LSB of jump_entry::key. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a1efb01feca597b2abbc89873b40ef8ec6690168 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 14:55:40 2015 +0200 jump_label, locking/static_keys: Rename JUMP_LABEL_TYPE_* and related helpers to the static_key* pattern Rename the JUMP_LABEL_TYPE_* macros to be JUMP_TYPE_* and move the inline helpers into kernel/jump_label.c, since that's the only place they're ever used. Also rename the helpers where it's all about static keys. This is the second step in removing the naming confusion that has led to a stream of avoidable bugs such as: a833581e372a ("x86, perf: Fix static_key bug in load_mm_cr4()") Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76b235c6bcb16062d663e2ee96db0b69f2e6bc14 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 14:45:44 2015 +0200 jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP} Since we've already stepped away from ENABLE is a JMP and DISABLE is a NOP with the branch_default bits, and are going to make it even worse, rename it to make it all clearer. This way we don't mix multiple levels of logic attributes, but have a plain 'physical' name for what the current instruction patching status of a jump label is. This is a first step in removing the naming confusion that has led to a stream of avoidable bugs such as: a833581e372a ("x86, perf: Fix static_key bug in load_mm_cr4()") Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx [ Beefed up the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f320ead76a87a9c533f681ecce3bf3241d07c47d Merge: 76695af decd275 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 3 11:04:00 2015 +0200 Merge branch 'x86/asm' into locking/core Upcoming changes to static keys is interacting/conflicting with the following pending TSC commits in tip:x86/asm: 4ea1636b04db x86/asm/tsc: Rename native_read_tsc() to rdtsc() ... So merge it into the locking tree to have a smoother resolution. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76695af20c015206cffb84b15912be6797d0cca2 Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Sun Aug 2 17:11:04 2015 +0200 locking, arch: use WRITE_ONCE()/READ_ONCE() in smp_store_release()/smp_load_acquire() Replace ACCESS_ONCE() macro in smp_store_release() and smp_load_acquire() with WRITE_ONCE() and READ_ONCE() on x86, arm, arm64, ia64, metag, mips, powerpc, s390, sparc and asm-generic since ACCESS_ONCE() does not work reliably on non-scalar types. WRITE_ONCE() and READ_ONCE() were introduced in the following commits: 230fa253df63 ("kernel: Provide READ_ONCE and ASSIGN_ONCE") 43239cbe79fc ("kernel: Change ASSIGN_ONCE(val, x) to WRITE_ONCE(x, val)") Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Davidlohr Bueso <dbueso@xxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> (powerpc) Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Cc: Andre Przywara <andre.przywara@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-arch@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438528264-714-1-git-send-email-andreyknvl@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 75d2270280686bff21b9ba66c7f3dd379c887981 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Sat Jul 11 16:36:52 2015 -0400 locking/pvqspinlock: Only kick CPU at unlock time For an over-committed guest with more vCPUs than physical CPUs available, it is possible that a vCPU may be kicked twice before getting the lock - once before it becomes queue head and once again before it gets the lock. All these CPU kicking and halting (VMEXIT) can be expensive and slow down system performance. This patch adds a new vCPU state (vcpu_hashed) which enables the code to delay CPU kicking until at unlock time. Once this state is set, the new lock holder will set _Q_SLOW_VAL and fill in the hash table on behalf of the halted queue head vCPU. The original vcpu_halted state will be used by pv_wait_node() only to differentiate other queue nodes from the qeue head. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436647018-49734-2-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ffffeaf318bd8da036eb8eb784b025a9f829201b Author: Waiman Long <Waiman.Long@xxxxxx> Date: Thu Jul 9 12:32:22 2015 -0400 locking/qrwlock: Reduce reader/writer to reader lock transfer latency Currently, a reader will check first to make sure that the writer mode byte is cleared before incrementing the reader count. That waiting is not really necessary. It increases the latency in the reader/writer to reader transition and reduces readers performance. This patch eliminates that waiting. It also has the side effect of reducing the chance of writer lock stealing and improving the fairness of the lock. Using a locking microbenchmark, a 10-threads 5M locking loop of mostly readers (RW ratio = 10,000:1) has the following performance numbers in a Haswell-EX box: Kernel Locking Rate (Kops/s) ------ --------------------- 4.1.1 15,063,081 4.1.1+patch 17,241,552 (+14.4%) Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1436459543-29126-2-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3b3fdf10a8add87ef0050138d51bfee9ab4983df Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 13 16:58:30 2015 +0100 locking/pvqspinlock: Order pv_unhash() after cmpxchg() on unlock slowpath When we unlock in __pv_queued_spin_unlock(), a failed cmpxchg() on the lock value indicates that we need to take the slow-path and unhash the corresponding node blocked on the lock. Since a failed cmpxchg() does not provide any memory-ordering guarantees, it is possible that the node data could be read before the cmpxchg() on weakly-ordered architectures and therefore return a stale value, leading to hash corruption and/or a BUG(). This patch adds an smb_rmb() following the failed cmpxchg operation, so that the unhashing is ordered after the lock has been checked. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> [ Added more comments] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Waiman Long <Waiman.Long@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steve Capper <Steve.Capper@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150713155830.GL2632@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ed2de9f74ecbbf3063d29b2334e7b455d7f35189 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 16 16:10:06 2015 +0100 locking/Documentation: Clarify failed cmpxchg() memory ordering semantics A failed cmpxchg does not provide any memory ordering guarantees, a property that is used to optimise the cmpxchg implementations on Alpha, PowerPC and arm64. This patch updates atomic_ops.txt and memory-barriers.txt to reflect this. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman Long <waiman.long@xxxxxx> Link: http://lkml.kernel.org/r/20150716151006.GH26390@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0b792bf519e68108d577fcec815ab50913787012 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jul 21 12:13:43 2015 +0200 locking: Clean up pvqspinlock warning - Rename the on-stack variable to match the datastructure variable, - place the cmpxchg back under the comment that explains it, - clean up the WARN() statement to avoid superfluous conditionals and line-breaks. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29b5357d25ba1528531ef9532b5743a32fdf8cd2 Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Jul 31 14:48:57 2015 +0200 gpio: etraxfs: add interrupt support On ETRAX FS, all pins on the first port (and only the first port) have interrupt support. On ARTPEC-3, all pins on all ports have interrupt support. However, there are only eight interrupts. Each of the interrupts is associated with a group of pins and for each interrupt the one pin from the group which will trigger it can be selected. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3a7651e683701dbb4c7d02e20661c923fa4c6901 Merge: 5d285a7 cba77f0 74d3329 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 3 10:52:25 2015 +0200 Merge branch 'locking/urgent', tag 'v4.2-rc5' into locking/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b67a1f0ad1f260f1a4032d5f7b032ac113bfa7d Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Jul 31 14:48:56 2015 +0200 gpio: don't override irq_*_resources() callbacks If the driver has specified its own irq_{request/release}_resources() functions, don't override them. The gpio-etraxfs driver will use this. Signed-off-by: Rabin Vincent <rabin@xxxxxx> [Added a small comment blurb] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 11580297334c45c5aba47021aaa65136ad80d6ee Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Mon Aug 3 11:03:49 2015 +0800 ALSA: hda - remove no physical connection pins from pin_quirk table To cleanup the pin_quirk table: - rewrite the pin_config_match(), comparing all pins on the machine with the corresponding pins in the quirk table. - remove all 0x4xxxxxxx pin configurations from pin_quirk table - after removing the 0x4xxxxxxx pin configurations, some pin tables are exactly same, so removing the redudant pin tables. Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ca67f10f27b6aace4a87713f038577994ec578af Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Jul 30 17:27:44 2015 +0900 pinctrl: join dev_dbg strings into a single line These are user-visible strings, so can exceed 80 columns. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 199071f108f5641badc2a6970e1fa7ec469d5d12 Author: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Date: Fri May 8 17:40:43 2015 +0200 s390/mm: make arch_add_memory() NUMA aware With NUMA support for s390, arch_add_memory() needs to respect the nid parameter. Signed-off-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ecf46abdd32a35fcd7dfeef72600a065425532b3 Author: Gerald Schaefer <geraldsc@xxxxxxxxxxxxxxxxxx> Date: Fri May 29 15:34:51 2015 +0200 s390/mm: enable gup code for NUMA Force get_user_page() to take the slow path for NUMA migration pages. Signed-off-by: Gerald Schaefer <geraldsc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b54565b86824ecc9f0ad5d0ee69696f38edc50fd Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Sep 23 14:01:34 2014 +0200 s390/mm: add NUMA balancing primitives Define pte_protnone and pmd_protnone for NUMA memory migration. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 888d5e9804bb401f3531b700cc93da0bdf8496bf Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 9 17:56:13 2015 +0200 KVM: s390: use pid of cpu thread for sampling tagging Right now we use the address of the sie control block as tag for the sampling data. This is hard to get for users. Let's just use the PID of the cpu thread to mark the hardware samples. Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit d0164ee20d98847d3c777a0ae90e678e7ac1e416 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 29 16:43:06 2015 +0200 s390/kernel: remove save_fpu_regs() parameter and use __LC_CURRENT instead All calls to save_fpu_regs() specify the fpu structure of the current task pointer as parameter. The task pointer of the current task can also be retrieved from the CPU lowcore directly. Remove the parameter definition, load the __LC_CURRENT task pointer from the CPU lowcore, and rebase the FPU structure onto the task structure. Apply the same approach for the load_fpu_regs() function. Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 199dc6ed5179251fa6158a461499c24bdd99c836 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Aug 3 13:11:47 2015 +1000 md/raid0: update queue parameter in a safer location. When a (e.g.) RAID5 array is reshaped to RAID0, the updating of queue parameters (e.g. max number of sectors per bio) is done in the wrong place. It should be part of ->run, but it is actually part of ->takeover. This means it happens before level_store() calls: blk_set_stacking_limits(&mddev->queue->limits); and so it ineffective. This can lead to errors from underlying devices. So move all the relevant settings out of create_stripe_zones() and into raid0_run(). As this can lead to a bug-on it is suitable for any -stable kernel which supports reshape to RAID0. So 2.6.35 or later. As the bug has been present for five years there is no urgency, so no need to rush into -stable. Fixes: 9af204cf720c ("md: Add support for Raid5->Raid0 and Raid10->Raid0 takeover") Cc: stable@xxxxxxxxxxxxxxx (v2.6.35+ - please delay until after -final release). Reported-by: Yi Zhang <yizhan@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 25eafe1a813681849ad3fb9effdfdce3e1b4335a Author: Benjamin Randazzo <benjamin@xxxxxxxxxxx> Date: Sat Jul 25 16:36:50 2015 +0200 md: simplify get_bitmap_file now that "file" is zeroed. There is no point assigning '\0' to file->pathname[0] as file is now zeroed out, so remove that branch and simplify the code. [Original patch combined this with the change to use kzalloc. I split the two so that the change to kzalloc is easier to backport. - neilb] Signed-off-by: Benjamin Randazzo <benjamin@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 109e2381749c1cfd94a0d22b2b54142539024973 Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Thu Jul 23 14:53:32 2015 -0700 target: Drop iSCSI use of mutex around max_cmd_sn increment In a performance profile, taking a mutex in iscsit_increment_maxcmdsn() shows up very high. However taking a mutex around "sess->max_cmd_sn += 1" seems pretty silly: we're not serializing against other contexts in any useful way. I did a quick audit and there don't appear to be any other places that use max_cmd_sn within the mutex more than once, so this lock can't be providing any useful serialization. (Get correct values for logging - fix whitespace damage) Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 24c7d6c7316c72301bf8ecfc1189fd476176fd75 Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Mon Aug 3 00:21:50 2015 +0200 qla2xxx: Update tcm_qla2xxx module description to 24xx+ Pre 24xx HBAs are not supported by tcm_qla2xxx, so go ahead and reflect this for informational purposes. Also fix QLogic spelling. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit a622789aeebdeaa52d68bbc3930edbc3e820b54a Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Jul 24 13:17:25 2015 +0900 PM / devfreq: exynos-ppmu: Update documentation to support PPMUv2 This patch updates the documentation to include the information of PPMUv2. The PPMUv2 is used for Exynos5433 and Exynos7420 to monitor the performance of each IP in Exynos SoC. Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 3d87b02281a2ec977108ad90ce502e721b447301 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Jul 24 13:17:24 2015 +0900 PM / devfreq: exynos-ppmu: Add the support of PPMUv2 for Exynos5433 This patch adds the support for PPMU (Platform Performance Monitoring Unit) version 2.0 for Exynos5433 SoC. Exynos5433 SoC must need PPMUv2 which is quite different from PPMUv1.1. The exynos-ppmu.c driver supports both PPMUv1.1 and PPMUv2. Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit a6415cddc4e6e1675a5648e7785aef716980c90c Author: David Disseldorp <ddiss@xxxxxxx> Date: Sat Aug 1 00:10:12 2015 -0700 iscsi-target: Add tpg_enabled_sendtargets for disabled discovery This patch adds a new tpg_enabled_sendtargets configfs attribute to allow in-band sendtargets discovery information to include target-portal-groups (TPGs) in !TPG_STATE_ACTIVE state. This functionality is useful for clustered iSCSI targets, where TPGTs handled on remote cluster nodes should be advertised in the SendTargets response. By default, this new attribute retains the default behaviour of existing code which to ignore portal-groups in !TPG_STATE_ACTIVE state. Signed-off-by: David Disseldorp <ddiss@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9b0a18626288ecd62ad09a9c36a5ba318ea30087 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Jul 13 08:58:51 2015 +0200 PM / devfreq: event: Remove incorrect property in exynos-ppmu DT binding The exynos-ppmu driver is only a clock consumer and not a clock provider but its Device Tree binding listed #clock-cells as an optional property. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 054531e7a5cb195140bead068b51cc6147c5c8bf Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 00:55:23 2015 +0300 ARM: shmobile: silk: add eMMC DT support Define the SILK board dependent part of the MMCIF device node (the board has eMMC chip) along with the necessary voltage regulator (note that the Vcc/Vccq regulator is dummy -- it's required by the MMCIF driver but doesn't actually exist on the board). Based on the original patch by Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6cdf6ba19c8b9a386ef882206b29d97a49271317 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 00:54:05 2015 +0300 ARM: shmobile: r8a7794: add MMCIF DT support Define the generic R8A7794 part of the MMCIF0 device node. Based on the orginal patch by Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ba7591d8b28bd16a2eface5d009ab0b60c7629a4 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Aug 1 00:46:29 2015 +0200 ebpf: add skb->hash to offset map for usage in {cls, act}_bpf or filters Add skb->hash to the __sk_buff offset map, so it can be accessed from an eBPF program. We currently already do this for classic BPF filters, but not yet on eBPF, it might be useful as a demuxer in combination with helpers like bpf_clone_redirect(), toy example: __section("cls-lb") int ingress_main(struct __sk_buff *skb) { unsigned int which = 3 + (skb->hash & 7); /* bpf_skb_store_bytes(skb, ...); */ /* bpf_l{3,4}_csum_replace(skb, ...); */ bpf_clone_redirect(skb, which, 0); return -1; } I was thinking whether to add skb_get_hash(), but then concluded the raw skb->hash seems fine in this case: we can directly access the hash w/o extra eBPF helper function call, it's filled out by many NICs on ingress, and in case the entropy level would not be sufficient, people can still implement their own specific sw fallback hash mix anyway. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c46309c7f8e7923a1311fbdf6884a59a5f9954cf Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 2 12:42:41 2015 +0300 bnx2x: Correct logic for pvid configuration. Commit 05cc5a39ddb7 ("bnx2x: add vlan filtering offload") has introduced an incorrect logic for checking whether pvid should be configured for a vf, causing the hypervisor driver to send unneeded ramrods for all of the vfs each time a pvid has changed. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b41e63cf83affa50a6141eba52be1fbd05f29b21 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:49:22 2015 +0200 iio:accel:stk8312: check for invalid value Revision 1.2 of the datasheet recommends on page 22 to only write non-zero values read from OTP register 0x70 into AFECTRL register. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 946448e08e2f693ff21418d92a598b7aa296816d Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:49:21 2015 +0200 iio:accel:stk8312: add triggered buffer dependency Add the still missing dependencies for triggered buffer support. Fixes: 95c12bba51c37 ("iio: accel: Add buffer mode for Sensortek STK8312") Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 546384c968383b512ba50f77c76ae7bdfa321f31 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:39:02 2015 +0200 iio:adc:berlin2-adc: use channel-array size directly Drop the otherwise unused definition of the channel-array size and use it directly in _probe - makes it a bit more obvious. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 609e9d88f277bfe83392595745cc3976d42125b2 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:39:01 2015 +0200 iio:adc:berlin2-adc: use short operator format Use augmented assignment to subtract the offset for negative temperature values. Specify the amount of private data to be allocated through devm_iio_device_alloc() with sizeof(*priv), as it is shorter and common practice in IIO. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 688febbd168c52ab54ad29c210aceecb72386398 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:39:00 2015 +0200 iio:adc:berlin2-adc: constify iio_chan_spec Mark berlin2_adc_channels array as constant. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 19d566420b8c5a26d4f9666ef665e088173d3df3 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:38:58 2015 +0200 iio:adc:berlin2-adc: pass up real error code Pass up the real error code returned by platform_get_irq_byname(). Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5e37c523921480093323c06529ab854f0635c59d Author: Joo Aun Saw <jasaw@xxxxxxxxxxx> Date: Tue Jul 28 11:46:13 2015 +1000 tools: iio: iio_utils: Make calc_digits static Signed-off-by: Joo Aun Saw <jasaw@xxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 280f09256ab6f6180132da193b9f2e0b2fa61c51 Author: Joo Aun Saw <jasaw@xxxxxxxxxxx> Date: Wed Jul 29 01:12:24 2015 +1000 tools: iio: iio_utils: remove unnecessary define guard Signed-off-by: Joo Aun Saw <jasaw@xxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e7231491ce6ae2053569166f60835a5594b3c0af Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Fri Jul 24 16:28:06 2015 +0300 tools: iio: print error message when buffer enable fails Running generic_buffer without enabling any channel of the sensor will fail without printing any error message. Add an error message that indicates buffer enable failed. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ae067cb68d2ef42d4a84eeaf07411fe2936f48c4 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Fri Jul 24 16:28:05 2015 +0300 tools: iio: fix mask for 32 bit sensor data When the the sensor data uses 32 bits out of 32, generic_buffer prints the value 0 for all data read. In this case, the mask is shifted 32 bits, which is beyond the size of an integer. This will lead to the mask always being 0. Before printing, the mask is applied to the raw value, thus generating a final value of 0. Fix the mask by shifting a 64 bit value instead of an integer. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2854c098e222a706b91cc83b4a91dbfd97212765 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 24 16:26:09 2015 +0300 include: linux: iio: Add missing kernel doc field Fix kernel doc for the iio_dev_attr structure by adding its missing field. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e52e95199d0c1aa8a06dbbc07b30562fded8b298 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 24 16:23:43 2015 +0300 include: linux: iio: Fix function parameter name in kernel doc Fix buffer name from kernel doc according to the function parameter. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a316c01d59e9d45ede1083a81ae82eb15ae7eab3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 24 16:21:50 2015 +0300 iio: event: Add missing fields in kernel docs Fix kernel docs warnings by adding the missing fields, each with its associated description. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0123635a77f72e0787f6f8b3ac796a40f796fcc4 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 24 16:18:09 2015 +0300 iio: buffer: Fix kernel docs warnings Fix kernel docs for structures and functions in order to remove some warnings when the documentation gets generated. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2498dcf6e09b3ecce2b32ed6434bd02fc4219d5b Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 24 16:16:19 2015 +0300 iio: core: Add function params for kernel docs This patch adds the missing fields in kernel docs to remove some warnings that appear when the IIO Documentation DocBook is generated. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5ab744d0d6e7fc90572250239ac796cd79b0ed77 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Thu Jul 23 20:15:02 2015 +0300 iio: magn: bmc150_magn: do not set power state twice when setting trigger state When setting the trigger state, the device power state is set through buffer preenable and postdisable hooks. There is no need to also set it in the trigger set state call. Remove duplicate set power state from the trigger set state call. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 019cc46d0a5c559bca6c7e949cc277f529a51296 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Thu Jul 23 20:15:01 2015 +0300 iio: magn: bmc150_magn: add locking comment for runtime resume Runtime resume function is called with the data->mutex lock held. Add a comment to indicate this. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1506f3cd0b8169773188a080d367c2ed019373a3 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Jul 17 10:52:31 2015 +0200 iio:magnetometer:bmc150_magn: use descriptive name for mask Define and use a descriptive name for the repetition registers data mask, instead of a 'magic' value. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3021678a94cdb942bea4e634a37e91fe341b27b0 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Jul 17 10:52:30 2015 +0200 iio:magnetometer:bmc150_magn: expand mutex in trigger_handler Keep the mutex locked, until the content of data->buffer has been pushed out. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f9ba1ab4d19a79b4bef4baf21f559f9dd8ba33f9 Author: Crt Mori <cmo@xxxxxxxxxxx> Date: Mon Jul 20 21:38:27 2015 +0200 iio: mlx90614: Define magic numbers Translates the magic constant numbers to named macros and add some additional comments about their meaning. The diff is made towards togreg branch as that branch seems to have the most recent updates of mlx90614 driver (many are yet to be merged). Signed-off-by: Crt Mori <cmo@xxxxxxxxxxx> Acked-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9e35d366a1e8bd710fbebcf9af90d3fafbc55e36 Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Fri Jul 31 17:27:24 2015 +0300 iio: mmc35240: minor change to improve code readibility This patch changes two variables to arrays to improve code readibility. Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 119c4fce683a22a2fdbe343e00bc1a20cc1dd11c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:42 2015 +0200 iio: Export OF module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 58e446fcc69436988fdab4a81981f44193f064f7 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:28 2015 +0200 iio: Export I2C module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1234e3fda9aa24b2d650bbcd9ef09d5f6a12dc86 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jul 24 09:10:55 2015 +0100 ARM: reduce visibility of dmac_* functions The dmac_* functions are private to the ARM DMA API implementation, and should not be used by drivers. In order to discourage their use, remove their prototypes and macros from asm/*.h. We have to leave dmac_flush_range() behind as Exynos and MSM IOMMU code use these; once these sites are fixed, this can be moved also. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d74892c5b291c0010295d26d6b1e11cd70451722 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Wed Jul 29 15:14:17 2015 -0400 clockevents: Drop redundant cpumask check in tick_check_new_device() The same check is performed by tick_check_percpu(). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150729151417.069d1bb0@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 60018d027d792bdfe9d98c83a470fa2cdd6a0e1a Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jul 31 17:41:52 2015 +0200 ARM: dts: sun7i: Change cubietruck wifi enable pin to use mmc-pwrseq The wifi-enable pin of the ap6210 module is not really a regulator, switch to the mmc-pwrseq framework for controlling it. This more accurately reflects how the hardware actually works. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> [maxime: Changed the name of the pinctrl node and re-ordered it] Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5510b3c2a173921374ec847848fb20b98e1c698a Merge: 17f901e 7c764ce Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 31 23:52:20 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: arch/s390/net/bpf_jit_comp.c drivers/net/ethernet/ti/netcp_ethss.c net/bridge/br_multicast.c net/ipv4/ip_fragment.c All four conflicts were cases of simple overlapping changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36f024ed8fc96f50f01d171097237ebe51dadee7 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 22:12:29 2015 +0200 PCI/MSI: pci-xgene-msi: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> commit f70229e2a342714c7431547676da2518a0a22b55 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 22:09:38 2015 +0200 unicore32/irq: Prepare puv3_gpio_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> commit f5dbdd429f044b9658e27e76a0e896a99f03170f Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 22:07:40 2015 +0200 tile/pci_gx: Prepare trio_handle_level_irq for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 625b86ad26ad35200adc34094c04e04672384735 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 21:56:10 2015 +0200 m68k/irq: Prepare irq handlers for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx commit 9d8c94e48a5faafae1e52bec18b8d99211b2ccd4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 31 14:08:31 2015 +0530 drivers: target: Drop unlikely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 17f901e8915cb922c2ca710835ef34f166f53ee9 Merge: db316d5 b567741 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 31 17:07:12 2015 -0700 Merge branch 'ipv6-auto-flow-labels' Tom Herbert says: ==================== ipv6: Turn on auto IPv6 flow labels by default BSD (MacOS) has already turned on flow labels by default and this does not seem to be causing any problems in the Internet. Let's go ahead and turn them on by default. We'll continue to monitor for any devices start choking on them. Flow labels are important since they are the desired solution for network devices to perform ECMP and RSS (RFC6437 and RFC6438). Traditionally, devices perform a 5-tuple hash on packets that includes port numbers. For the most part, these devices can only compute 5-tuple hashes for TCP and UDP. This severely limits our ability to get good network load balancing for other protocols (IPIP, GRE,ESP, etc.), and hence we are limited in using other protocols. Unfortunately, this method is accepted as the de facto standard to the extent that there are several proposals to encapsulate protocols in UDP _just_ for the purposes for getting ECMP to work. With hosts generating flow labels and devices taking them as input into ECMP (several already do), we can start to fix this fundamental problem. This patch set: - Changes IPV6_FLOWINFO sockopt to be opt-out of flow labels for connections rather than opt-in - Disable flow label state ranges sysctl by default - Enable auto flow labels sysctl by default v2: - Added functions to create an skb->hash based on flowi4 and flowi6. These are called in output path when creating a packet - Call skb_get_hash_flowi6 in ip6_make_flowlabel - Implement the auto_flowlabels sysctl as a mode for auto flowlabels. There are four modes which correspond to flow labels being enabled and whether socket option can be used to opt in or opt out of using them ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b56774163f994efce3f5603f35aa4e677c3e725a Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:52:14 2015 -0700 ipv6: Enable auto flow labels by default Initialize auto_flowlabels to one. This enables automatic flow labels, individual socket may disable them using the IPV6_AUTOFLOWLABEL socket option. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be26849bfb6fcee4123c687fc39bd6da1b3be328 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:52:13 2015 -0700 ipv6: Disable flowlabel state ranges by default Per RFC6437 stateful flow labels (e.g. labels set by flow label manager) cannot "disturb" nodes taking part in stateless flow labels. While the ranges only reduce the flow label entropy by one bit, it is conceivable that this might bias the algorithm on some routers causing a load imbalance. For best results on the Internet we really need the full 20 bits. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42240901f7c438636715b9cb6ed93f4441ffc091 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:52:12 2015 -0700 ipv6: Implement different admin modes for automatic flow labels Change the meaning of net.ipv6.auto_flowlabels to provide a mode for automatic flow labels generation. There are four modes: 0: flow labels are disabled 1: flow labels are enabled, sockets can opt-out 2: flow labels are allowed, sockets can opt-in 3: flow labels are enabled and enforced, no opt-out for sockets np->autoflowlabel is initialized according to the sysctl value. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67800f9b1f4eb5bbefc32e3f5044097354bc85b3 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:52:11 2015 -0700 ipv6: Call skb_get_hash_flowi6 to get skb->hash in ip6_make_flowlabel We can't call skb_get_hash here since the packet is not complete to do flow_dissector. Create hash based on flowi6 instead. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f70ea018da0631e10c26a02f5a82d626ffef5bd7 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:52:10 2015 -0700 net: Add functions to get skb->hash based on flow structures Add skb_get_hash_flowi6 and skb_get_hash_flowi4 which derive an sk_buff hash from flowi6 and flowi4 structures respectively. These functions can be called when creating a packet in the output path where the new sk_buff does not yet contain a fully formed packet that is parsable by flow dissector. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e0bec9e833a6884dc2e242e45e0ebd99f46624e Author: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Date: Fri Jul 31 08:07:36 2015 -0700 powercap / RAPL: Add support for Broadwell-H This patch enabled RAPL to support Broadwell-H Signed-off-by: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2cac1f700c2c6baf836f24c778a73a847a48f484 Author: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Date: Fri Jul 31 08:07:10 2015 -0700 powercap / RAPL: Add support for Skylake H/S This patche enabled RAPL to support Intel Skylake H/S Signed-off-by: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 948fa942dc6bb4000bdf94901e99570b7636ed7c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:47 2015 +0200 staging: rtl8192e: probe: iounmap mmio when probe fails In case of probe failure, io memory was not released properly. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb7cca3ae8f152151104252298d2e1e91db6df92 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:46 2015 +0200 staging: rtl8192e: Drop large switch in rtl92e_config_rf The same steps were made for each RF path independently. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 976a06cc89e817e94b0d87cf55bb46134c494060 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:45 2015 +0200 staging: rtl8192e: Fix IW_IOCTL macro Macro caused checkpatch complaints - replace [] braces with () and use [] braces as array initializers. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90959c3dfcb66cd8467ba0921469b62e42d7879c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:44 2015 +0200 staging: rtl8192e: Remove phy_RF8256_Config_ParaFile Merge function into rtl92e_config_rf as having them separated gives no benefit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72f1f75257de812137ee5110822370fadc4927f6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:43 2015 +0200 staging: rtl8192e: Simplify rtl92e_set_bandwidth Move phy version check outside of the loop. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99d4f5d236eb6a1eaaddb7179a251f385f7e4c2b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:42 2015 +0200 staging: rtl8192e: Simplify rtl92e_is_halfn_supported_by_ap Function should return struct member - no extra logic is needed. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2937a5d272031eb3e189d4383587bc9f62621c43 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:41 2015 +0200 staging: rtl8192e: MgntActSet_RF_State: remove ProtectOrNot parameter It is set at the very beginning of function to a constant value. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2d4d4e1e203a242e98ee4038db0af37d5ac107b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:40 2015 +0200 staging: rtl8192e: Remove rtl8192_data_hard_resume Function is empty; rtllib checks if handler is NULL. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f971e9f3ba70eac49ab9fbaa4f5bd5dfbaf9fe7b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:39 2015 +0200 staging: rtl8192e: Remove rtl8192_data_hard_stop Function is empty; rtllib checks if handler is NULL. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45f57357f2a4ac71e4df7d3ca1a4ea234856d399 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:38 2015 +0200 staging: rtl8192e: Remove ActUpdateChannelAccessSetting Function is empty and called only once. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74214e526e605f155ba2609c516cf866ae965316 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:37 2015 +0200 staging: rtl8192e: Remove rtl8192_phy_updateInitGain Function is empty and called only once. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c15a7009325b84adac2eb0f3919d9c3ff8d5ed11 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jul 30 00:36:32 2015 +0300 staging: comedi: das16: remove a duplicate condition We checked that "it->options[3]" was non-zero on the line before so there is no need to check again. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9cf7250ba85427a372225067d57cf3ff4471047 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Jul 28 18:49:25 2015 +0300 staging: rtl8192e: don't just print an error and continue I was looking at how TOTAL_CAM_ENTRY is used and I saw this code. We print an error but continue writing "EntryNo" to a register as if it were valid. "EntryNo" is controlled by the user in rtl8192_ioctl() so it definitely can be invalid. I'm not positive what happens with the invalid data but it can't be good. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1f0f3118e55ad80136d19dd4afdb32ccba26a42 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Jul 28 18:48:21 2015 +0300 Staging: rtl8192e: array overflow in rtl92e_set_swcam() "EntryNo" is comes from the user in the ioctl and it's a number between 0-255. The ieee->swcamtable[] array only has 32 elements so it can result in memory corruption. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 881bf281237c3eaf7759040653e779c6cc6c2e00 Author: Alex Wilson <alex.david.wilson@xxxxxxxxx> Date: Fri Jul 31 11:08:29 2015 -0600 staging: panel: fix block comment usage Fixed two coding style warnings concerning multiline comments. Signed-off-by: Alex Wilson <alex.david.wilson@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f44cb0ba88b40c09c5bdfc46186e09f42b1a9b0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 31 14:08:30 2015 +0530 drivers: staging: Drop unlikely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. This also replaces an IS_ERR(x) + (x == NULL) check to IS_ERR_OR_NULL check. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3c1a61744d02ca2c249dae04c8eb8f5b0822bc3 Author: Michael Hornung <mhornung.linux@xxxxxxxxx> Date: Fri Jul 31 22:18:17 2015 +0200 linux-next: drivers: staging: most: Fix return value * Fix sparse warning "Using plain integer as NULL pointer" Signed-off-by: Michael Hornung <mhornung.linux@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59ed0480b95032418be6960375a13201c35364f7 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Jul 30 18:19:41 2015 +0200 Staging: most: replace pr_*() functions by dev_*() This patch replaces pr_*() functions with dev_*(). Reported-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 412c8232edfac024ed22bd1424f37f68fcbb555c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Jul 30 18:18:55 2015 +0200 Staging: most: fix doing DMA on stack This patch fixes error "doing DMA on the stack" by using kzalloc for buffer allocation. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f78f6116d581e1342f56a4dacdd576d79b054c4 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Jul 30 15:31:39 2015 +0200 Staging: most: replace min() by min_t() This patch fixes wrong casting. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6852ac9acbb8f11fe736116f7cc819891021404f Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Jul 30 15:31:37 2015 +0200 Staging: most: fix double unlock This patch fixes double unlocking of a spinlock the aim-v4l2 module. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 936d61eeac71504b52977cc9f9339cb86866c531 Author: Jignesh R Patel <jigneshpatel0103@xxxxxxxxx> Date: Tue Jul 28 16:19:36 2015 +0530 staging: android: Fixed line over 80 char Fixes the following checkpatch warning: Warning: Line over 80 characters Signed-off-by: Jignesh R Patel <jigneshpatel0103@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ba4df24bb87246472be90b11fcecb720c2a15ba Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Jul 27 23:30:52 2015 +0530 Staging:dgap :Compression of lines for immediate return This patch compresses two lines into a single line if immediate return statement is found. Remove variable rc as it is no longer needed. It is done using script Coccinelle. And coccinelle uses the following semantic patch for this compression function: @@ type T; identifier i,f; constant C; @@ - T i; ...when != i when strict ( return -C; | - i = + return f(...); - return i; ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd1ccd33150261f0e58be6de615e4b14389ac208 Author: Freeman Zhang <freeman.zhang1992@xxxxxxxxx> Date: Mon Jul 27 14:37:25 2015 +0800 staging: rtl8192u: Fix checkpatch issue with comma in r819xU_firmware.c Add space after ',' to fix the error message provided by checkpatch.pl: ERROR: space required after that ',' Signed-off-by: Freeman Zhang <freeman.zhang1992@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61c854f510505177e95b0f2bc88249c4ed68f501 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Jul 27 15:36:26 2015 +0530 Staging : android :Replace comma with a semicolon Replace comma between expression statements by a semicolon. The semantic patch used is as follows: @@ expression e1,e2; @@ e1 - , + ; e2; Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 740d6c17c8fe25b917273195db8d49d33b87e6ae Author: Ciprian Manea <ciprian.manea.cm@xxxxxxxxx> Date: Sun Jul 26 22:26:18 2015 +0100 staging: slicoss: Add blank line after variable declarations. This patch fixes the checkpatch.pl warning: WARNING: Missing a blank line after declarations + unsigned long flags; + pshmem = (struct slic_shmem *)(unsigned long) Signed-off-by: Ciprian Manea <ciprian.manea.cm@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a3a3f64cabe1590d76d6e8bc1b24c11219ab61e Author: Peter Huewe <peterhuewe@xxxxxx> Date: Sat Jul 25 01:59:08 2015 +0200 staging/xgifb: fix dumpVGAReg compile error if DEBUG is set If DEBUG is set dumpVGAReg is called and tries to access XGISR which is defined as (xgifb_info->dev_info.P3c4) which is not known within this function. -> add as parameter to dumpVGAReg so xgifb_info becomes known Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bc8ff7479c57f2e0332d8b8dc7ba44b31b6839c Author: Kevin Darbyshire-Bryant <kevin@xxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 25 10:48:28 2015 +0100 staging: octeon: add missing blank line after declarations Fixes checkpatch.pl WARNING: Missing a blank line after delarations Signed-off-by: Kevin Darbyshire-Bryant <kevin@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3c709b8fc1bbdeddd9b9c1f7785b9b35d2301d9 Author: Navy Cheng <navych@xxxxxxx> Date: Mon Jul 27 16:09:35 2015 +0800 Staging: dgnc: dgnc_driver.h: remove unnecessary comments The public headers is well known by others and the redundant commits make the code mess. Remove the comments of the public headers to make the code tidy. Signed-off-by: Navy Cheng <navych@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36927c1828c526c571973758b2d3a4bad051bc3f Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Tue Jul 28 12:29:11 2015 -0400 staging: unisys: visornic - consolidate+simplify xmit watermark checks The code that tests for high and low xmit watermarks was consolidatedand simplified. The output behavior should be identical, with the exception of an off-by-one error being corrected in the tests done when the counters overflowed. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb84fca03d99ec1bb8d370b575aa2984b60a8374 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Tue Jul 28 12:29:10 2015 -0400 staging: unisys: visornic: enable skb->len error-check, remove DEBUG blocks * A skb->len error-check was enabled (removed from a "#ifdef DEBUG" block). * Several unneeded "#ifdef DEBUG" blocks were removed. * A dev_err() was converted to the more-appropriate netdev_err(). Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c847020e7ae07c6a3d68c9a617815b9d4f8a1e10 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Tue Jul 28 12:29:09 2015 -0400 staging: unisys: visornic_resume needs to mirror _serverdown_complete Previously we simplified the serverdown function to basically turn it into a dev_close(), but missed the analogous logic in visornic_resume() (which is essentially the "book-end" of visornic_serverdown_complete()). As a result, during IO partition recovery, the nic would go closed when the IO partition went away, but would never be opened again when the IO partition came back. This patch changes visornic_resume() to use dev_open(), so that it once again plays nicely with visornic_serverdown_complete(). Because dev_open() forces us into the visornic_open() path, other logic in visornic_resume() was no longer necessary, and lended to simplifying visornic_resume() even more. Fixes: 36645d72a377 ("staging: unisys: simplify visornic_serverdown_complete") Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6483783d24afc22248f3051326681a4327e29e72 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Tue Jul 28 12:29:08 2015 -0400 staging: unisys: visornic - correctly reset flag prior to send_enbdis() Because devdata->enab_dis_acked is the flag used to determine whether an enable/disable operation to the IO partition has completed, it should always be cleared prior to initiating the operation. The call added to visornic_enable_with_timeout() added in this patch makes the usage there consistent with visornic_disable_with_timeout(). Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f562b21612d938cf43202ca3fe29636893aa5df Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Jul 31 13:21:33 2015 -0400 staging: unisys: visornic - prevent lock recursion after IO recovery In the patch which changed the serverdown logic to by synchronous, we were mistakenly holding on to devdata->priv_lock in the call to visornic_serverdown_complete(), which ultimately ended up recursively attempting to grab the same lock via the path: --> dev_close --> visornic_close() --> visornic_disable_with_timeout() Evidence: BUG: spinlock recursion on CPU#0, kworker/u2:0/1567 lock: 0xffff88002d7e4c90, .magic: dead4ead, .owner: kworker/ .owner_cpu: 0 CPU: 0 PID: 1567 Comm: kworker/u2:0 Tainted: G WC 4.2.0-rc3-ARCH+ #60 Hardware name: Dell Inc. PowerEdge T110/ , BIOS 1.23 12/15/2009 Workqueue: visorchipset_controlvm controlvm_periodic_work [visorbus] ffff8800216a9380 ffff88002d167878 ffffffff81476874 000000000000061f ffff88002d7e4c90 ffff88002d167898 ffffffff8109e2bc ffff88002d7e4c90 ffffffff81763d7c ffff88002d1678b8 ffffffff8109e330 ffff88002d7e4c90 Call Trace: [<ffffffff81476874>] dump_stack+0x4f/0x73 [<ffffffff8109e2bc>] spin_dump+0x7c/0xc0 [<ffffffff8109e330>] spin_bug+0x30/0x40 [<ffffffff8109e547>] do_raw_spin_lock+0x127/0x140 [<ffffffff8147bf8b>] _raw_spin_lock_irqsave+0x4b/0x60 [<ffffffffa0168a5c>] ? visornic_disable_with_timeout.clone.2+0x3c/ [visornic] [<ffffffff8147c639>] ? _raw_spin_unlock_bh+0x39/0x40 [<ffffffffa0168a5c>] visornic_disable_with_timeout.clone.2+0x3c/ [visornic] [<ffffffffa0168c6e>] visornic_close+0xe/0x20 [visornic] [<ffffffff813ae8d2>] __dev_close_many+0x92/0xe0 [<ffffffff813ae9ea>] dev_close_many+0x7a/0x110 [<ffffffff81097556>] ? down+0x16/0x50 [<ffffffff813af01f>] dev_close+0x3f/0x50 [<ffffffffa0166b61>] visornic_serverdown+0x91/0x1a0 [visornic] [<ffffffffa0155760>] ? device_changestate_responder.clone. [visorbus] [<ffffffffa0166c85>] visornic_pause+0x15/0x20 [visornic] [<ffffffffa015101f>] initiate_chipset_device_pause_resume+0x9f/0xe0 [visorbus] [<ffffffffa0151093>] chipset_device_pause+0x13/0x20 [visorbus] [<ffffffffa0153cbb>] device_epilog+0x12b/0x1a0 [visorbus] [<ffffffffa015506b>] handle_command+0x72b/0x970 [visorbus] [<ffffffffa015214e>] ? visorchannel_signalremove+0x6e/0x80 [visorbus] [<ffffffffa0155521>] controlvm_periodic_work+0x271/0x420 [visorbus] [<ffffffff8106cb52>] process_one_work+0x1d2/0x540 [<ffffffff8106cab9>] ? process_one_work+0x139/0x540 [<ffffffff814771b7>] ? __schedule+0x807/0xc30 [<ffffffff8106cf57>] worker_thread+0x57/0x4c0 [<ffffffff8106cf00>] ? process_scheduled_works+0x40/0x40 [<ffffffff8106cf00>] ? process_scheduled_works+0x40/0x40 [<ffffffff81073b19>] kthread+0xe9/0x110 [<ffffffff81073a30>] ? __init_kthread_worker+0x70/0x70 [<ffffffff8147cddf>] ret_from_fork+0x3f/0x70 [<ffffffff81073a30>] ? __init_kthread_worker+0x70/0x70 BUG: spinlock lockup suspected on CPU#0, kworker/u2:0/1567 Fixes: f2b70efaf48f ("staging: unisys: Make serverdown synchronous") Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30948df80c1d17a7dfe5f4efba7e8f4880fc7662 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Jul 28 12:29:06 2015 -0400 staging: unisys: avoid format string parsing This makes sure the kthread name can't be parsed as a format string. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59fd2c8bd11ff1cc9e8fd84f69d8047e63fad0a3 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Fri Jul 24 12:06:53 2015 -0400 drivers, staging, unisys Add modalias files to visorbus devices This patch adds modalias files that export the device UUID type to sysfs so that udev can autoload the appropriate device driver on demand. Note that is required a minor name change to the channel device sysfs files which are currently named visorbus_dev_groups, and are now named visorbus_channel_groups. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f93b0cbfdf919c956ce8cdd1fff10068004ff3a5 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Fri Jul 24 12:06:52 2015 -0400 staging: unisys: add UUID strings to channel_guid.h Define additional strings for module loading code ease of use. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4cc38b0849d68c5a43b1b57f771fa8c6fb779081 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Fri Jul 24 12:06:51 2015 -0400 drivers, staging, unisys, cleanup channel_guid.h This file has a lot of dead comments and needs to be cleaned up. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cfa48d936a22928060c7f9d401e927af3d5f87cf Author: Mayank Bareja <mbareja@xxxxxxxxxxx> Date: Tue Jul 28 05:50:12 2015 +0000 Staging: rtl8188eu/hal: Fixed code indentation warning detected with checkpatch.pl fixed code indentation warning as reported by checkpatch.pl. Replaced Spaces with Tabs. Signed-off-by: Mayank Bareja <mbareja@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f523c7d7a66d97d0584182eb3ff4b2425219f9d8 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Jul 27 19:07:57 2015 +0530 Staging : rtl8188eu : os_dep : Compression of lines for immediate return This patch compresses two lines into a single line if immediate return is found. Also remove variable ret as it is no longer needed. Semantic patch used for this is as follows: @@ type T; identifier i,f; constant C; @@ - T i; ...when != i when strict ( return -C; | - i = + return f(...); - return i; ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26589720620e8fe429681f599fdc145c8f57a8c6 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Jul 29 10:15:18 2015 +0200 staging: rtl8188eu: don't duplicate ieee80211 WLAN_HT_CAP_SM_PS_* constants linux/ieee80211.h already defines constants for spatial multiplexing power save modes. Remove the duplicated definitions. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5efb33e5c6ea76d1f413bfd8e5d0a9811b958d0 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Jul 29 10:15:17 2015 +0200 staging: rtl8188eu: don't duplicate ieee80211 WLAN_AUTH_* constants linux/ieee80211.h already defines constants for authentication algorithms. Remove the duplicated definitions. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63d6c969b7424b014fc3cc43b549f63db166aa2a Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Jul 29 10:15:16 2015 +0200 staging: rtl8188eu: wrap a long if condition and remove extra parenthesis Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35cf0b5596c6936588726bd9fbc9789cac371561 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Jul 29 10:15:15 2015 +0200 staging: rtl8188eu: don't duplicate ieee80211 WLAN_EID_* constants linux/ieee80211.h already defines constants for information element IDs. Resolve discrepancies in naming and remove the duplicated definitions. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be3d2e0fe154f9da9098d59477ef08230a533426 Author: Dave Perez <dave@xxxxxxxxxxxxx> Date: Wed Jul 29 21:50:30 2015 -0400 Staging: rtl8188eu: fixed newlines after declarations This is a patch to the rtw_debug.c file that fixes styling errors relating to new lines after variable declarations. Signed-off-by: Dave Perez <dave@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 176d1b96436dee996f5bd7b36429e6068a848478 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:49:55 2015 -0400 staging/lustre/llite: Don't set page writeback on non-dirty page New writeback changes in 4.2-RC1 have exposed that we incorrectly set page_writeback on a page that is being written synchronously, which aside from this new crash (dereference of NULL inode->i_wb from set_page_writeback) likely threw off some related page statistics in the past. BUG: unable to handle kernel NULL pointer dereference at 0000000000000138 IP: [<ffffffff8140d90a>] __percpu_counter_add+0x1a/0x80 PGD 0 Oops: 0000 [#1] SMP DEBUG_PAGEALLOC Modules linked in: osc(C) lmv(C) fld(C) mgc(C) lustre(C) mdc(C) fid(C) lov(C) ksocklnd(C) ptlrpc(C) obdclass(C) lnet(C) libcfs(C) loop sha512_generic crc32 rpcsec_gss_krb5 microcode joydev i2c_piix4 acpi_cpufreq pcspkr nfsd syscopyarea sysfillrect sysimgblt drm_kms_helper ttm drm serio_raw virtio_blk [last unloaded: libcfs] CPU: 0 PID: 13328 Comm: cvs Tainted: G C 4.2.0-rc1-vm-nfs+ #30 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 task: ffff8800cc98a400 ti: ffff8801157e8000 task.ti: ffff8801157e8000 RIP: 0010:[<ffffffff8140d90a>] [<ffffffff8140d90a>] __percpu_counter_add+0x1a/0x80 RSP: 0018:ffff8801157eb698 EFLAGS: 00010086 RAX: 0000000000000003 RBX: ffffea0002b91cc0 RCX: 000000000000001a RDX: 0000000000000020 RSI: 0000000000000001 RDI: 00000000000000e8 RBP: ffff8801157eb6b8 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 00000000000000e8 R13: 0000000000000001 R14: ffff8800673587a8 R15: ffff8800673589b0 FS: 00007f6718b89800(0000) GS:ffff88011f400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000138 CR3: 000000009d51c000 CR4: 00000000000007f0 Stack: ffffffff811919e2 ffffea0002b91cc0 ffff880067358998 ffff880119419800 ffff8801157eb718 ffffffff81191a58 ffff8801157eb788 0000000000000282 ffff8800ce5ce920 0000000000000000 ffff8800a525af80 ffff880053f68f10 Call Trace: [<ffffffff811919e2>] ? __test_set_page_writeback+0x72/0x240 [<ffffffff81191a58>] __test_set_page_writeback+0xe8/0x240 [<ffffffffa04e7a13>] vvp_page_prep_write+0x33/0xb0 [lustre] [<ffffffffa028ad87>] cl_page_invoke+0x57/0x90 [obdclass] [<ffffffffa028cc8d>] cl_page_prep+0x2d/0x180 [obdclass] [<ffffffffa0545d84>] osc_io_submit+0x134/0x4a0 [osc] [<ffffffffa02933a3>] cl_io_submit_rw+0x53/0xb0 [obdclass] [<ffffffffa0483635>] lov_io_submit+0x3a5/0x570 [lov] [<ffffffff810cb7bb>] ? lockdep_init_map+0x5b/0x6d0 [<ffffffffa02933a3>] cl_io_submit_rw+0x53/0xb0 [obdclass] [<ffffffffa029428d>] cl_io_submit_sync+0xed/0x1c0 [obdclass] [<ffffffffa04e881d>] vvp_page_sync_io.isra.15+0x4d/0x100 [lustre] [<ffffffffa028dd2f>] ? cl_page_clip+0xff/0x130 [obdclass] [<ffffffffa04e9f38>] vvp_io_commit_write+0x448/0x500 [lustre] [<ffffffffa02939fa>] cl_io_commit_write+0x9a/0x130 [obdclass] [<ffffffffa04cb222>] ll_commit_write+0xc2/0x230 [lustre] [<ffffffffa04dbdaa>] ll_write_end+0x2a/0x50 [lustre] [<ffffffff811851ba>] generic_perform_write+0xfa/0x1b0 [<ffffffff8121fd2e>] ? dentry_needs_remove_privs.part.16+0x1e/0x30 [<ffffffff811877d0>] __generic_file_write_iter+0x190/0x1f0 [<ffffffff8118791a>] generic_file_write_iter+0xea/0x1e0 [<ffffffffa04e8dd0>] vvp_io_write_start+0xa0/0x1e0 [lustre] [<ffffffffa0292469>] cl_io_start+0x49/0x80 [obdclass] [<ffffffffa0294803>] cl_io_loop+0x73/0xd0 [obdclass] [<ffffffffa04b4ebf>] ll_file_io_generic+0x45f/0x4b0 [lustre] [<ffffffffa04b504c>] ll_file_write_iter+0x6c/0xc0 [lustre] [<ffffffff8120330a>] __vfs_write+0xaa/0xe0 [<ffffffff81203969>] vfs_write+0xa9/0x190 [<ffffffff812046c9>] SyS_write+0x49/0xa0 [<ffffffff81796572>] entry_SYSCALL_64_fastpath+0x16/0x7a Code: 5b 41 5c 41 5d 41 5e 5d c3 0f 1f 84 00 00 00 00 00 55 48 89 e5 41 55 41 54 53 49 89 fc 49 89 f5 48 83 ec 08 65 ff 05 8e d1 bf 7e <48> 8b 47 50 48 63 ca 65 8b 18 48 63 db 48 01 f3 48 39 cb 7d 0a Signed-off-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/15610 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6854 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 208bf77049a95cd023c8e884a28449a9182f1c1a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 31 16:32:43 2015 +0530 staging: lustre: drop redundant check There is no need to verify that its an error, as we are anyway going to match the error value to -ENOENT. Drop the redundant check. Reported-by: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e56e17ea935a66fe3a6cd2445649a0d9365a8449 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:28:04 2015 -0400 staging/lustre: use ATTR_OPEN directly, remove ATTR_RAW ATTR_RAW is unused. No point in redefining ATTR_OPEN as ATTR_FROM_OPEN Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b81f9b6db644c2ca0fbce1ac2eda8e74860e8c63 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:28:02 2015 -0400 staging/lustre: ATTR_TIMES_SET is always defined, so don't check it Remove ATTR_TIMES_SET check as it's always present, move the mask of times define close to where it's used. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3befdc7579eee51407ad162a5614ba30c97a405 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:59 2015 -0400 staging/lustre: replace ll_umode_t with umode_t umode_t is what we need anyway, so replace all users and drop the define. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e74468da6965ca473a46a83f88e89c88d9811cc Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:56 2015 -0400 staging/lustre: remove *hw_segments compat defines queue_max_phys_segments, queue_max_hw_segments and bio_hw_segments are not used anywhere in the client code, so remove them Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 629819c7dedbbd6f38c075bb8aba1fe554be4cdb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:55 2015 -0400 staging/lustre: Drop SLAB_DESTROY_BY_RCU redefine, it's always defined SLAB_DESTROY_BY_RCU is always defined in kernel slab.h, so no point in checking for it. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c8eae72ff46f0e70d03ae2e86e631d7a1ca4fe6 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:54 2015 -0400 staging/lustre: Drop FS_HAS_FIEMAP compat macro FS_HAS_FIEMAP was some sort of old RHEL5 construct that's not really important anymore Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5109ea606f9d9d26d2d69a0457d17267b8bfd629 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:53 2015 -0400 staging/lustre: get rid of cfs_bio_* compat macroses This replaces cfs_bio_io_error with direct calls to bio_io_error and cfs_bio_end_io with bio_end_io Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b921ecea84a3f137f7c585af079f86922aa15aa4 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:52 2015 -0400 staging/lustre: Remove unused ll_vfs_* compat defines Lustre defines quite a bit of those compatibility defines duplicating kernel vfs api, but they are not actually used in the client so remove them all and also ll_dirty_inode, ll_security_inode_unlink and cfs_path_put Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d749519f0441144f7da53e157d11f0680c15313 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Jul 27 22:20:35 2015 +0530 Staging: lustre: Drop unnecessary cast This patch does away with the cast on void * as it is unnecessary. Semantic patch used is as follows: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01eb73d53070ca2c7a75c272291a79613604cd97 Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jul 28 22:08:52 2015 +0200 staging: lustre: added a space between concatenated strings A space has been inserted between two concatenated strings as required from checkpatch.pl These two updates do not lead to any problem as DFID is defined as a string in ./drivers/staging/lustre/lustre/include/lustre/lustre_user.h The script checkpatch.pl does not return any other warning/error. Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 911677393b13a3f2fc6db2e297b336fb2669f0f1 Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jul 28 22:08:51 2015 +0200 staging: lustre: modified comparisons against NULL The explicit comparisons against NULL has been modified to be shorter. Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b0e2d6232e9a0b98d39647f3cc6ff5fd8f1cd92 Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jul 28 22:08:50 2015 +0200 staging: lustre: fixed bad alignment This patch fixes 7 bad alignments. When a line is split on more than one line, the other lines must be aligned with paranthesis. Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e28e92b6d18199ad304f076fb24293d8c384cf1b Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jul 28 22:08:49 2015 +0200 staging: lustre: fixed comments without */ on a new line This patch fixes 4 comments without */ on a new line Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f926cac2f70e5dc62e9a11d8e599206c0ad357ba Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jul 28 22:08:48 2015 +0200 staging: lustre: fixed lines longer than 80 chars this set of patches fixes several code style problems: -patch 1: lines with more than 80 chars -patch 2: comments without */ on a separate line -patch 3: bad alignment of lines split on more than one line -patch 4: modified comparisons against NULL -patch 5: added spaces between concatenated strings This patch fixes 2 lines longer than 80 chars The first one is a function whose argument has been moved to next line. The second one is a comment split on two lines Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 585d84b4838ac061f935b5d5c84550ec9f5dee82 Author: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Date: Mon Jul 27 13:52:48 2015 +0800 staging: lustre: Remove unnecessary braces {} for single statement blocks Remove unnecessary braces {} for single line statement blocks. Signed-off-by: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 437dffebadd5cf22403505528f35b0c1b3aa34e2 Author: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Date: Mon Jul 27 13:50:34 2015 +0800 staging: lustre: Remove a trailing */ of a separate line. Remove a trailing */ of a separate comments block line. Signed-off-by: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8de056a13fcd09a85a79f52f7fe72b3fa95ccd66 Author: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Date: Mon Jul 27 13:50:09 2015 +0800 staging: lustre: Add a blank line after declarations. Add a blank line after local variable declarations. Signed-off-by: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b16d335ddf0b89eae6b65d7c2e0c360846fc4846 Author: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Date: Mon Jul 27 13:49:11 2015 +0800 staging: lustre: Adjust code indent for macro and tail blackslash Adjust code indent for macro with tab, as well as tail blackslash. Signed-off-by: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 648d6e6ce4457f9558e1c9d5a8ed73e2baace312 Author: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Date: Mon Jul 27 13:48:10 2015 +0800 staging: lustre: Replace spaces at the start of a line. Replace the spaces at the start of a line with tab for indent. Signed-off-by: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db316d57b63c07f2ebea596d7e21aa56549f54ab Merge: 0f7bffd 04ff53f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 31 15:45:37 2015 -0700 Merge branch 'dsa-netconsole' Florian Fainelli says: ==================== net: GENET, SYSTEMPORT and DSA netconsole This patch series adds support for netconsole in the GENET, SYSTEMPORT and DSA drivers. A small refactoring to the DSA transmit path is required to avoid duplicating the dsa_netpoll_send_skb() into each and every tagging protocol supported. Testing on e.g: mv643xx_eth and/or e1000e would be much appreciated! Changes in v2: - properly disable/enable interrupts in GENET and SYSTEMPORT - pass the reallocated SKB back to dsa_slave_xmit() in case a tag protocol had to alter the original SKB ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04ff53f96a931751a70c2bb3926770900b5fbebe Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Jul 31 11:42:57 2015 -0700 net: dsa: Add netconsole support Add support for using DSA slave network devices with netconsole, which requires us to allocate and free custom netpoll instances and invoke the parent network device poll controller callback. In order for netconsole to work, we need to construct the DSA tag, but not queue the skb for transmission on the master network device xmit function. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ed70ce9f01c998999e48642a768d9013bee2c4f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Jul 31 11:42:56 2015 -0700 net: dsa: Refactor transmit path to eliminate duplication All tagging protocols do the same thing: increment device statistics, make room for the tag to be inserted, create the tag, invoke the parent network device transmit function. In order to prepare for adding netpoll support, which requires the tag creation, but not using the parent network device transmit function, do some little refactoring which eliminates duplication between the 4 tagging protocols supported. We need to return a sk_buff pointer back to the caller because the tag specific transmit function may have to reallocate the original skb (e.g: tag_trailer.c) and this is the one we should be transmitting, not the original sk_buff we were passed. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cec4f5e00a34a1c7407af302470246dd4f8be28 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Jul 31 11:42:55 2015 -0700 net: systemport: Add netconsole support Implement a poll controller for netconsole which invokes the RX interrupt handler to poll for incoming packets, and cleans up all TX queues by invoking the TX interrupt handler. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d2e88828f25eb587b78a430e18071a5bc8d18c2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Jul 31 11:42:54 2015 -0700 net: bcmgenet: Add netconsole support Implement a poll controller for netconsole which invokes both of our interrupt handlers for the different RX/TX queues. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f7bffd9e512b77279bbce704fad3cb1d6887958 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 16:49:43 2015 +0200 bonding: add tlb_dynamic_lb netlink support tlb_dynamic_lb could be set only via sysfs, this patch allows it to be set via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7a0925e47031d51041ce9a357edc02fb67d0b1d Merge: 774ad03 360d9bb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 31 15:33:23 2015 -0700 Merge tag 'wireless-drivers-next-for-davem-2015-07-31' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: mwifiex: * add TX DATA Pause support * add multichannel and TDLS channel switch support ath10k: * enable VHT for IBSS * initial work to support qca99x0 and the corresponding 10.4 firmware branch ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 774ad031dd6d2ef840375a662693952b73a3ae71 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Fri Jul 31 11:15:22 2015 +0100 sfc: MC allocations must be restored following an entity reset Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 273248202013aa9d6d1bb2c1c4e4034a2813453f Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Fri Jul 31 11:14:54 2015 +0100 sfc: allow ethtool selftest and MC reboot to complete on an unprivileged function The policy in the net driver is to attempt MCDI commands and then handle any EPERM error codes appropriately when returned by unprivileged functions. The ethtool selftest contains some tests which are useful on an unprivileged function, such as the event queue interrupt tests, but other tests cannot be performed as the function does not have the required permissions. If a test returns -EPERM, act as though the test was not run and continue. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bee8259dd31f419a883174556b11edc6f9a153d1 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Jul 31 16:58:42 2015 +0800 net: phy: add driver for aquantia phy This patch added driver to support Aquantia PHYs AQ1202, AQ2104, AQR105, AQR405, which accessed through clause 45. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85b1d8bbfd2ea6ae1dc6d0ccdb25abdcb52a5856 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Jul 30 23:54:28 2015 -0700 br2684: Remove unnecessary formatting macros b1 and bs Use vsprintf extension %pI4 instead. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e90fba8d9f6067cd511f7b855518eebda6bf2532 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Fri Jul 31 11:23:39 2015 +0800 r8152: disable the capability of zero length The UEFI driver would enable zero length, and the Linux driver doesn't need it. Zero length let the hw complete the transfer with length 0, when there is no received packet. It would add the load of USB host controller and reduce the performance. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8a9b1bc1b238eed9987da747a0e52f5bb009980 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Jul 30 20:10:22 2015 -0700 vxlan: expose COLLECT_METADATA flag to user space Two vxlan driver flags FLOWBASED and COLLECT_METADATA need to be set to make use of its new flow mode. The former already exposed. Expose the latter. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7576012e61d96a9369c8f98e6373a4de384d3126 Merge: d3aa45c bf21563 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 31 15:21:30 2015 -0700 Merge branch 'mpls-build-fix' Roopa Prabhu says: ==================== af_mpls: fix undefined reference to ip6_route_output with CONFIG_IPV6=n This patch series uses ipv6_stub_impl.ipv6_dst_lookup instead of ip6_route_output. Follows the vxlan drivers usage of ipv6_stub_impl.ipv6_dst_lookup. There is no sk in the af_mpls context from where ipv6_stub_impl.ipv6_dst_lookup is used. sk appears to be needed to get the namespace 'net' and is optional otherwise. This patch series changes ipv6_stub_impl.ipv6_dst_lookup to take net argument. sk remains optional. v1 - v2: use IS_BUILTIN v2 - v3: Use new Kconfig option that depends on (IPV6 || IPV6=n) as suggested by Dave. Also uses IS_ERR as suggested by Thomas. v3 - v4: Include missed case of (MPLS_ROUTING=y && IPV6=m) reported by Dave. v4 - v5: Use ipv6_stub_impl.ipv6_dst_lookup as suggested by Hannes v5 - v6: protect against null ipv6_stub by statically declaring a ipv6_dst_lookup NOP func ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf21563acc1de2391d21ac2141c3471aa4815c1a Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:34:54 2015 -0700 af_mpls: fix undefined reference to ip6_route_output Undefined reference to ip6_route_output and ip_route_output was reported with CONFIG_INET=n and CONFIG_IPV6=n. This patch uses ipv6_stub_impl.ipv6_dst_lookup instead of ip6_route_output. And wraps affected code under IS_ENABLED(CONFIG_INET) and IS_ENABLED(CONFIG_IPV6). Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Reported-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 343d60aada5a358ca186d6e9e353230379c426d8 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:34:53 2015 -0700 ipv6: change ipv6_stub_impl.ipv6_dst_lookup to take net argument This patch adds net argument to ipv6_stub_impl.ipv6_dst_lookup for use cases where sk is not available (like mpls). sk appears to be needed to get the namespace 'net' and is optional otherwise. This patch series changes ipv6_stub_impl.ipv6_dst_lookup to take net argument. sk remains optional. All callers of ipv6_stub_impl.ipv6_dst_lookup have been modified to pass net. I have modified them to use already available 'net' in the scope of the call. I can change them to sock_net(sk) to avoid any unintended change in behaviour if sock namespace is different. They dont seem to be from code inspection. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3aa45ce6b94c65b83971257317867db13e5f492 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Jul 30 15:36:57 2015 -0700 bpf: add helpers to access tunnel metadata Introduce helpers to let eBPF programs attached to TC manipulate tunnel metadata: bpf_skb_[gs]et_tunnel_key(skb, key, size, flags) skb: pointer to skb key: pointer to 'struct bpf_tunnel_key' size: size of 'struct bpf_tunnel_key' flags: room for future extensions First eBPF program that uses these helpers will allocate per_cpu metadata_dst structures that will be used on TX. On RX metadata_dst is allocated by tunnel driver. Typical usage for TX: struct bpf_tunnel_key tkey; ... populate tkey ... bpf_skb_set_tunnel_key(skb, &tkey, sizeof(tkey), 0); bpf_clone_redirect(skb, vxlan_dev_ifindex, 0); RX: struct bpf_tunnel_key tkey = {}; bpf_skb_get_tunnel_key(skb, &tkey, sizeof(tkey), 0); ... lookup or redirect based on tkey ... 'struct bpf_tunnel_key' will be extended in the future by adding elements to the end and the 'size' argument will indicate which fields are populated, thereby keeping backwards compatibility. The 'flags' argument may be used as well when the 'size' is not enough or to indicate completely different layout of bpf_tunnel_key. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55d7de9de6c30adce8d675c7ce513e283829c2ff Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Thu Jul 30 19:45:21 2015 +0000 Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver Repost patch of driver for LAN7800 family of USB 2.0 & USB 3.0 to Gigabit Ethernet. - remove module param which can be configurable by standard mechanism. - remove other module parms except msg_level per review comment. - update to handle byte swap for statistics structure correctly. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6ef5a2a50816b58e3126206de13d0b9fdf89df5 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Tue Jul 28 12:27:01 2015 -0700 nvdimm: fix inline function return type warning Fix multiple build warnings when CONFIG_BTT is not enabled: In file included from ../drivers/nvdimm/bus.c:29:0: ../drivers/nvdimm/nd.h:169:15: warning: return type defaults to 'int' [-Wreturn-type] static inline nd_btt_probe(struct nd_namespace_common *ndns, void *drvdata) ^ Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: linux-nvdimm@xxxxxxxxxxxx Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit a6ed38361b1e0f08d630bd491051c254d1fc71b9 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Jul 30 16:04:22 2015 +0200 bpf_jit_disasm: also support reading jit dump from file This patch adds support to read the dmesg BPF JIT dump also from a file instead of the klog buffer. I found this quite useful when going through some 'before/after patch' logs. It also fixes a regex leak found by valgrind when no image dump was found. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2fd77fff4b440c29b48c31db0ce2aec7d319959f Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Jul 31 12:46:17 2015 -0400 PM / suspend: make sync() on suspend-to-RAM build-time optional The Linux kernel suspend path has traditionally invoked sys_sync() before freezing user threads. But sys_sync() can be expensive, and some user-space OS's do not want the kernel to pay the cost of sys_sync() on every suspend -- preferring invoke sync() from user-space if/when they want it. So make sys_sync on suspend build-time optional. The default is unchanged. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4305cd02436dbe0b61b1930f93053a699af40e6a Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Jul 28 13:25:32 2015 +0800 tools/power/acpi: Enable build for EC userspace tool This patch allows EC userspace tool to be built as an ACPI tool. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 391fc234b543991dd7d0361e634cdf5abfbdd0a3 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Jul 28 13:25:25 2015 +0800 tools/power/acpi: Add descend support in ACPI tools Makefile This patch splits tools/power/acpi/Makefile to support descend compling for ACPI tools. In this patch tools/ec related stuff is removed as it is originally not enabled. Also a missing .o (utnonansi.o) is added to the acpidump/Makefile. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 311fa6adf92c5110057daa439fdaff012864aa2b Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Jul 31 10:20:00 2015 +0100 PM / Domains: Return -EPROBE_DEFER if we fail to init or turn-on domain When a device is probed, the function dev_pm_domain_attach() is called to see if there is a power-domain that is associated with the device and needs to be turned on. If dev_pm_domain_attach() does not return -EPROBE_DEFER then the device will be probed. For devices using genpd, dev_pm_domain_attach() will call genpd_dev_pm_attach(). If genpd_dev_pm_attach() does not find a power domain associated with the device then it returns an error code not equal to -EPROBE_DEFER to allow the device to be probed. However, if genpd_dev_pm_attach() does find a power-domain that is associated with the device, then it does not return -EPROBE_DEFER on failure and hence the device will still be probed. Furthermore, genpd_dev_pm_attach() does not check the error code returned by pm_genpd_poweron() to see if the power-domain was turned on successfully. Fix this by checking the return code from pm_genpd_poweron() and returning -EPROBE_DEFER from genpd_dev_pm_attach on failure, if there is a power-domain associated with the device. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 885fb909dc17f9240ab3e3420f7f135ae82be01f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 16 15:47:12 2015 +0100 PM / Domains: Correct unit address in power-controller example In example 2 of the generic PM domains DT bindings, the unit address of the device node representing the child power controller doesn't match its "reg" property. Correct it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ba2bbfbf63075850bb523e2adb815d45e3509995 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Jun 18 15:17:53 2015 +0200 PM / Domains: Remove intermediate states from the power off sequence Genpd's ->runtime_suspend() (assigned to pm_genpd_runtime_suspend()) doesn't immediately walk the hierarchy of ->runtime_suspend() callbacks. Instead, pm_genpd_runtime_suspend() calls pm_genpd_poweroff() which postpones that until *all* the devices in the genpd are runtime suspended. When pm_genpd_poweroff() discovers that the last device in the genpd is about to be runtime suspended, it calls __pm_genpd_save_device() for *all* the devices in the genpd sequentially. Furthermore, __pm_genpd_save_device() invokes the ->start() callback, walks the hierarchy of the ->runtime_suspend() callbacks and invokes the ->stop() callback. This causes a "thundering herd" problem. Let's address this issue by having pm_genpd_runtime_suspend() immediately walk the hierarchy of the ->runtime_suspend() callbacks, instead of postponing that to the power off sequence via pm_genpd_poweroff(). If the selected ->runtime_suspend() callback doesn't return an error code, call pm_genpd_poweroff() to see if it's feasible to also power off the PM domain. Adopting this change enables us to simplify parts of the code in genpd, for example the locking mechanism. Additionally, it gives some positive side effects, as described below. i) One device's ->runtime_resume() latency is no longer affected by other devices' latencies in a genpd. The complexity genpd has to support the option to abort the power off sequence suffers from latency issues. More precisely, a device that is requested to be runtime resumed, may end up waiting for __pm_genpd_save_device() to complete its operations for *another* device. That's because pm_genpd_poweroff() can't confirm an abort request while it waits for __pm_genpd_save_device() to return. As this patch removes the intermediate states in pm_genpd_poweroff() while powering off the PM domain, we no longer need the ability to abort that sequence. ii) Make pm_runtime[_status]_suspended() reliable when used with genpd. Until the last device in a genpd becomes idle, pm_genpd_runtime_suspend() will return 0 without actually walking the hierarchy of the ->runtime_suspend() callbacks. However, by returning 0 the runtime PM core considers the device as runtime_suspended, so pm_runtime[_status]_suspended() will return true, even though the device isn't (yet) runtime suspended. After this patch, since pm_genpd_runtime_suspend() immediately walks the hierarchy of the ->runtime_suspend() callbacks, pm_runtime[_status]_suspended() will accurately reflect the status of the device. iii) Enable fine-grained PM through runtime PM callbacks in drivers/subsystems. There are currently cases were drivers/subsystems implements runtime PM callbacks to deploy fine-grained PM (e.g. gate clocks, move pinctrl to power-save state, etc.). While using the genpd, pm_genpd_runtime_suspend() postpones invoking these callbacks until *all* the devices in the genpd are runtime suspended. In essence, one runtime resumed device prevents fine-grained PM for other devices within the same genpd. After this patch, since pm_genpd_runtime_suspend() immediately walks the hierarchy of the ->runtime_suspend() callbacks, fine-grained PM is enabled throughout all the levels of runtime PM callbacks. iiii) Enable fine-grained PM for IRQ safe devices Per the definition for an IRQ safe device, its runtime PM callbacks must be able to execute in atomic context. In the path while genpd walks the hierarchy of the ->runtime_suspend() callbacks for the device, it uses a mutex. Therefore, genpd prevents that path to be executed for IRQ safe devices. As this patch changes pm_genpd_runtime_suspend() to immediately walk the hierarchy of the ->runtime_suspend() callbacks and without needing to use a mutex, fine-grained PM is enabled throughout all the levels of runtime PM callbacks for IRQ safe devices. Unfortunately this patch also comes with a drawback, as described in the summary below. Driver's/subsystem's runtime PM callbacks may be invoked even when the genpd hasn't actually powered off the PM domain, potentially introducing unnecessary latency. However, in most cases, saving/restoring register contexts for devices are typically fast operations or can be optimized in device specific ways (e.g. shadow copies of register contents in memory, device-specific checks to see if context has been lost before restoring context, etc.). Still, in some cases the driver/subsystem may suffer from latency if runtime PM is used in a very fine-grained manner (e.g. for each IO request or xfer). To prevent that extra overhead, the driver/subsystem may deploy the runtime PM autosuspend feature. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 144c8e172b5c388ddf41fa64e154f53384ec3448 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Wed Jul 29 23:53:10 2015 +0800 intel_pstate: Fix possible overflow complained by Coverity Coverity scanning performed on intel_pstate.c shows possible overflow when doing left shifting: val = pstate << 8; since pstate is of type integer, while val is of u64, left shifting pstate might lead to potential loss of upper bits. Say, if pstate equals 0x4000 0000, after pstate << 8 we will get zero assigned to val. Although pstate will not likely be that big, this patch cast the left operand to u64 before performing the left shift, to avoid complaining from Coverity. Reported-by: Coquard, Christophe <christophe.coquard@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fba9573b33f8bddd772195c202f6b8ec0751cedd Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Thu Jul 30 18:10:40 2015 +0800 cpufreq: Correct a freq check in cpufreq_set_policy() This check was originally added by commit 9c9a43ed2734 ("[CPUFREQ] return error when failing to set minfreq").It attempt to return an error on obviously incorrect limits when we echo xxx >.../scaling_max,min_freq Actually we just need check if new_policy->min > new_policy->max. Because at least one of max/min is copied from cpufreq_get_policy(). For example, when we echo xxx > .../scaling_min_freq, new_policy is copied from policy in cpufreq_get_policy. new_policy->max is same with policy->max. new_policy->min is set to a new value. Let me explain it in deduction method, first statement in if (): new_policy->min > policy->max policy->max == new_policy->max ==> new_policy->min > new_policy->max second statement in if(): new_policy->max < policy->min policy->max < policy->min ==>new_policy->min > new_policy->max (induction method) So we have proved that we only need check if new_policy->min > new_policy->max. After apply this patch, we can also modify ->min and ->max at same time if new freq range is very much different from current freq range. For example, if current freq range is 480000-960000, then we want to set this range to 1120000-2240000, we would fail in the past because new_policy->min > policy->max. As long as the cpufreq range is valid, we has no reason to reject the user. So correct the check to avoid such case. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 88bd64628f4f170491b47b90d772a229b0082859 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 21:53:12 2015 +0200 C6X/megamode-pic: Prepare megamod_irq_cascade for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: linux-c6x-dev@xxxxxxxxxxxxx commit 2b501769c442cf3d2abf388651fa17f46dcd0e5f Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 21:50:30 2015 +0200 blackfin: Prepare irq handlers for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx commit badae6bc94ac0614240d93428350049fa891fcad Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 21:47:35 2015 +0200 arc/irq: Prepare idu_cascade_isr for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit d7185a98d576e33982cd28e65889b3e4122fe5d8 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:35 2015 +0800 sparc/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1433145945-789-27-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6a4a5b34c315be04abdc366cda7a00b7249550f3 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:17 2015 +0800 sparc/irq: Use helper irq_data_get_irq_handler_data() Use helper function irq_data_get_irq_handler_data() to hide irq_desc implementation details. This allows to move irq_data->handler_data to irq_data_common, once all usage sites are converted. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1433145945-789-9-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d2109a12198edf22eb85e475c223eea14b9c3fbe Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:32 2015 +0800 parisc/irq: Use access helper irq_data_get_affinity_mask() Use access helper irq_data_get_affinity_mask() to hide implementation details of struct irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: James E.J. Bottomley <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Link: http://lkml.kernel.org/r/1433145945-789-24-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 9d03e784bc225e7ccaa53bcdb64c8ebf96f153d7 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:31 2015 +0800 mn10300/irq: Use access helper irq_data_get_affinity_mask() Use access helper irq_data_get_affinity_mask() to hide implementation details of struct irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-am33-list@xxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1433145945-789-23-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4ba375016f0234f8d8e7572494eac09d0b1a7252 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 21:59:10 2015 +0200 irqchip/i8259: Prepare i8259_irq_dispatch for irq argument removal Make irq a local variable and retrieve domain from the irq descriptor which avoid a redundant lookup. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0509cfde038d8afb0c1df1d52c90ae847b425d97 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 8 14:46:08 2015 +0200 MIPS/irqchip: Move i8259 irqchip driver to drivers/irqchip Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fdd320da84c63092fe6e155cb7b8d80f7f765fa9 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Jul 30 01:45:07 2015 +0200 cpufreq: Lock CPU online/offline in cpufreq_register_driver() To protect against races with concurrent CPU online/offline, call get_online_cpus() before registering a cpufreq driver. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 194d99c7e3ce54a8c7d8adf79fb1d8ad49a9bf9f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 29 03:08:57 2015 +0200 cpufreq: Replace recover_policy with new_policy in cpufreq_online() The recover_policy is unsed in cpufreq_online() to indicate whether a new policy object is created or an existing one is reinitialized. The "recover" part of the name is slightly confusing (it should be "reinitialization" rather than "recovery") and the logical not (!) operator is applied to it in almost all of the checks it is used in, so replace that variable with a new one called "new_policy" that will be true in the case of a new policy creation. While at it, drop one of the labels that is jumped to from only one spot. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 0b275352872b2641ed5c94d0f0f8c7e907bf3e3f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 29 03:03:44 2015 +0200 cpufreq: Separate CPU device registration from CPU online To separate the CPU online interface from the CPU device registration, split cpufreq_online() out of cpufreq_add_dev() and make cpufreq_cpu_callback() call the former, while cpufreq_add_dev() itself will only be used as the CPU device addition subsystem interface callback. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Suggested-by: Russell King <linux@xxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 50ba22479c324c0d9dc8134d519dcba92d83a8a7 Merge: 71b6544 3431e49 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Jul 31 21:40:03 2015 +0200 Merge back earlier ACPI PM material for v4.3. commit 1eddfe8edb8f85a0d7f793090abcbdf8741455de Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 14:35:14 2015 -0700 Smack: Three symbols that should be static The kbuild test robot reported a couple of these, and the third showed up by inspection. Making the symbols static is proper. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 0b7367017087cfe6f4514eb9e9c108ac8d6a101b Author: Joel Porquet <joel@xxxxxxxxxxx> Date: Tue Jul 7 17:18:23 2015 -0400 irqchip: Remove header drivers/irqchip/irqchip.h All drivers using the macro IRQCHIP_DECLARE have been converted to using global header include/linux/irqchip.h. Local header drivers/irqchip/irqchip.h is now useless and can be removed. Signed-off-by: Joel Porquet <joel@xxxxxxxxxxx> Cc: vgupta@xxxxxxxxxxxx Cc: monstr@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/2818400.nekF4hg2Ig@joel-zenbook Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0a271c2a34deb98a81f94fc87380287f3a8c9c72 Author: Joel Porquet <joel@xxxxxxxxxxx> Date: Tue Jul 7 17:17:33 2015 -0400 mips/irq: prepare for drivers/irqchip/irqchip.h removal The IRQCHIP_DECLARE macro migrated to 'include/linux/irqchip.h'. See commit 91e20b5040c67c51aad88cf87db4305c5bd7f79d ("irqchip: Move IRQCHIP_DECLARE macro to include/linux/irqchip.h"). This patch removes inclusions of private header 'drivers/irqchip/irqchip.h'and replaces them with the inclusion of 'include/linux/irqchip.h'. Signed-off-by: Joel Porquet <joel@xxxxxxxxxxx> Cc: vgupta@xxxxxxxxxxxx Cc: monstr@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/3357968.0IznKtY3Q9@joel-zenbook Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fd4b267b3d30f4742bdf7586fed5193b67938e32 Author: Joel Porquet <joel@xxxxxxxxxxx> Date: Tue Jul 7 17:13:15 2015 -0400 microblaze/irq: prepare for drivers/irqchip/irqchip.h removal The IRQCHIP_DECLARE macro migrated to 'include/linux/irqchip.h'. See commit 91e20b5040c67c51aad88cf87db4305c5bd7f79d ("irqchip: Move IRQCHIP_DECLARE macro to include/linux/irqchip.h"). This patch removes the inclusion of private header 'drivers/irqchip/irqchip.h' and replaces it with the inclusion of 'include/linux/irqchip.h'. Signed-off-by: Joel Porquet <joel@xxxxxxxxxxx> Cc: vgupta@xxxxxxxxxxxx Cc: monstr@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/12384045.pHnZrl3CFY@joel-zenbook Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 34cadd9c1bcbd5ad5a1f379b013526a8046d4aed Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jul 30 16:30:07 2015 +0300 spi: pxa2xx: Add support for Intel Sunrisepoint Major difference in LPSS SPI between Intel Sunrisepoint PCH and earlier platforms is an integrated DMA (iDMA) engine. iDMA is an IP that is private for each LPSS host controller (UART/SPI/I2C). Other differences are private register space offset, a few private registers that are in different location and FIFO thresholds. Intel Sunrisepoint LPSS SPI and iDMA devices are probed and registered in MFD layer as platform devices. Here these compound devices are detected by matching against known PCI IDs. This allows us to share pxa2xx_spi_acpi_get_pdata() for setting up the platform data instead of duplicating it in MFD part. This patch adds configuration for Intel Sunrisepoint LPSS SPI, above detection and DMA filter function that picks the DMA channel only from an associated iDMA block. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bf08f39e6088c52c6fc7cce2ef7fbbd7bf4692b9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:45 2015 +0200 ASoC: Export OF module alias information in missing codec drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8faf3554cb7a83413f9dfbe1a3420a81c52efe47 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Jul 31 22:56:42 2015 +0800 ARM: multi_v7_defconfig: Enable Allwinner P2WI, PWM, DMA_SUN6I, cryptodev Enable drivers for Allwinner P2WI, PWM, cryptodev (Security System) and sun6i DMA engine. Also enable EXTCON as PHY_SUN4I_USB depends on it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 9ac87c5a0b19417f925dc61cac7198d872159a2c Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Jul 31 11:28:54 2015 +0100 ARM: 8407/1: switch_to: Remove finish_arch_switch Fold finish_arch_switch() into switch_to(), in preparation for the removal of the finish_arch_switch call from core sched code. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 787047eea24a2443c366679ae6b5a3873a33b64e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 29 00:34:48 2015 +0100 ARM: 8392/3: smp: Only expose /sys/.../cpuX/online if hotpluggable Writes to /sys/.../cpuX/online fail if we determine the platform doesn't support hotplug for that CPU. Furthermore, if the cpu_die op isn't specified the system hangs when we try to offline a CPU and it comes right back online unexpectedly. Let's figure this stuff out before we make the sysfs nodes so that the online file doesn't even exist if it isn't (at least sometimes) possible to hotplug the CPU. Add a new 'cpu_can_disable' op and repoint all 'cpu_disable' implementations at it because all implementers use the op to indicate if a CPU can be hotplugged or not in a static fashion. With PSCI we may need to add a 'cpu_disable' op so that the secure OS can be migrated off the CPU we're trying to hotplug. In this case, the 'cpu_can_disable' op will indicate that all CPUs are hotpluggable by returning true, but the 'cpu_disable' op will make a PSCI migration call and occasionally fail, denying the hotplug of a CPU. This shouldn't be any worse than x86 where we may indicate that all CPUs are hotpluggable but occasionally we can't offline a CPU due to check_irq_vectors_for_cpu_disable() failing to find a CPU to move vectors to. Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Nicolas Pitre <nico@xxxxxxxxxx> Cc: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Simon Horman <horms@xxxxxxxxxxxx> [shmobile portion] Tested-by: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Cc: <linux-sh@xxxxxxxxxxxxxxx> Tested-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e80c47bd738badeaa70b1114d4cd75f892672bd3 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:40 2015 +0200 regulator: fan53555: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 98c7863c36bdf20c07e38d8bea5261902b52f98d Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:27 2015 +0200 spi: xcomm: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a46dd6c0c8450048609d90844bdfcbc53c6b002 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Jul 31 22:56:41 2015 +0800 ARM: sunxi_defconfig: Enable DMA_SUN6I, P2WI, PWM, cryptodev, EXTCON, FHANDLE Enable sun6i DMA engine, sun6i P2WI, PWM, and crypto engine (Security System) drivers by default. EXTCON is needed by the updated sun4i USB PHY driver. While at it, enable FHANDLE, which is needed by systemd and newer versions of udev. Also enable CGROUPS for systemd. And get rid of POWER_RESET, as the sun6i power reset driver has been removed in favor of proper sun6i watchdog support. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 36d16154fd0c5cc4f61831c482379acfb3d800f4 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Jul 31 22:40:59 2015 +0800 ARM: dts: sun5i: hsg-h702: Enable USB OTG controller This tablet has proper USB OTG support, using 3 GPIO pins for ID and VBUS detection, and also VBUS control. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d747af013db7d0a0d3c5054d3856ad941f2b715c Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Jul 31 22:40:58 2015 +0800 ARM: dts: sun5i: hsg-h702: Enable side volume buttons with LRADC The tablet has volume up/down buttons on the side, connected to the LRADC. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 361a4069727b1f43583314470e877e1187b35505 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jul 31 14:53:38 2015 +0200 ARM: dts: sun8i: Enable USB DRC on Ippo Q8H-A33 tablet Enable the otg/drc usb controller on the Ippo Q8H-A33 tablet, for now it is enabled in host-only mode, because true OTG support requires support for detecting and enabling Vbus through the axp221 pmic. For this to work the Vbus on the port must be enabled by u-boot, or a powered hub must be used. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4e627fba0511546ad92ad983f938a2d6d47c95f2 Author: Mark Janssen <mark@xxxxxxxxx> Date: Fri Jul 31 14:53:37 2015 +0200 ARM: dts: sun5i: Enable USB DRC on A13 OLinuxIno Enable the otg/drc usb controller on the A13 OLinuxIno. Signed-off-by: Mark Janssen <mark@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 24354cc7c2b1187ab66ee27dd891bf0d59a8624e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jul 31 14:53:36 2015 +0200 ARM: dts: sun5i: Enable USB DRC on A10s OLinuxIno Micro Enable the otg/drc usb controller on the A10s OLinuxIno Micro. Note the A10s OlinuxIno Micro always has some voltage on its otg power pin, even if the usb-vbus0-regulator is disabled, the leaked voltage is enough to make vbus-det always report 1, so we do not use vbus-det on this board. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b511a6592860f24725f34909392885c4e3e9fe95 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Jul 31 16:41:36 2015 +0100 arm64: restore cpu suspend/resume functionality Commit 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant #ifdefs") accidentally retained code for !CONFIG_SMP in cpu_resume function. This resulted in the hash index being zeroed in x7 after proper computation, which is then used to get the cpu context pointer while resuming. This patch removes the remanant code and restores back the cpu suspend/ resume functionality. Fixes: 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant #ifdefs") Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit f811a38300be3cdb603171aea5ad3fb42b71ca53 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Jul 31 16:36:30 2015 +0800 doc: usb: gadget-testing: using the updated testusb.c testusb.c at http://www.linux-usb.org/usbtest/ is out of date, using the one at the kernel source folder. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4bc58eb16bb2352854b9c664cc36c1c68d2bfbb7 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Jul 31 16:36:29 2015 +0800 Doc: ABI: testing: configfs-usb-gadget-sourcesink Fix the name of attribute Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8cd50626823c00ca7472b2f61cb8c0eb9798ddc0 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Jul 31 16:36:28 2015 +0800 Doc: ABI: testing: configfs-usb-gadget-loopback Fix the name of attribute Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit dd02ea5a33059e4a753ae8bb877b698c54ee2907 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Fri Jul 31 13:46:07 2015 +0200 usb: gadget: mass_storage: Use static array for luns This patch replace dynamicly allocated luns array with static one. This simplifies the code of mass storage function and modules. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> commit fa8ad7889d83bcf0a6cdbf6d3622f3ec019cde14 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Jul 6 12:23:53 2015 +0100 arm: perf: factor arm_pmu core out to drivers To enable sharing of the arm_pmu code with arm64, this patch factors it out to drivers/perf/. A new drivers/perf directory is added for performance monitor drivers to live under. MAINTAINERS is updated accordingly. Files added previously without a corresponsing MAINTAINERS update (perf_regs.c, perf_callchain.c, and perf_event.h) are also added. Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> [will: augmented Kconfig help slightly] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit bc1e3c4687df62a1f2ba1b6be11efbeb76145366 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Tue Jun 30 13:56:57 2015 +0100 ARM: perf: replace arch_find_n_match_cpu_physical_id with of_cpu_device_node_get arch_find_n_match_cpu_physical_id parses the device tree to get the device node for a given logical cpu index. However, since ARM PMUs get probed after the CPU device nodes are stashed while registering the cpus, we can use of_cpu_device_node_get to avoid another DT parse. This patch replaces arch_find_n_match_cpu_physical_id with of_cpu_device_node_get to reuse the stashed value directly instead. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b6c084d7aa8bca21920cbbe13ad58572fa85ece6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jun 29 13:59:01 2015 +0100 ARM: perf: extend interrupt-affinity property for PPIs On systems containing multiple, heterogeneous clusters we need a way to associate a PMU "device" with the CPU(s) on which it exists. For PMUs that signal overflow with SPIs, this relationship is determined via the "interrupt-affinity" property, which contains a list of phandles to CPU nodes for the PMU. For PMUs using PPIs, the per-cpu nature of the interrupt isn't enough to determine the set of CPUs which actually contain the device. This patch allows the interrupt-affinity property to be specified on a PMU node irrespective of the interrupt type. For PPIs, it identifies the set of CPUs signalling the PPI in question. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> # Krait PMU Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8ae81c25cfe962a788a28e023d9a78934d807f7d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jun 29 22:58:46 2015 +0100 arm: perf: Set affinity for PPI based PMUs For PPI based PMUs, we bail out early in of_pmu_irq_cfg() without setting the PMU's supported_cpus bitmap. This causes the smp_call_function_any() in armv7_probe_num_events() to fail. Set the bitmap to be all CPUs so that we properly probe PMUs that use PPIs. Fixes: cc88116da0d1 ("arm: perf: treat PMUs as CPU affine") Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5542f58c95aef67bc9016855f7c0bd6117b43100 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Fri Jul 31 13:37:45 2015 +0200 usb: gadget: mass_storage: Fix freeing luns sysfs implementation Use device_is_registered() instad of sysfs flag to determine if we should free sysfs representation of particular LUN. sysfs flag in fsg common determines if luns attributes should be exposed using sysfs. This flag is used when creating and freeing luns. Unfortunately there is no guarantee that this flag will not be changed between creation and removal of particular LUN. Especially because of lun.0 which is created during allocating instance of function. This may lead to resource leak or NULL pointer dereference: [ 62.539925] Unable to handle kernel NULL pointer dereference at virtual address 00000044 [ 62.548014] pgd = ec994000 [ 62.550679] [00000044] *pgd=6d7be831, *pte=00000000, *ppte=00000000 [ 62.556933] Internal error: Oops: 17 [#1] PREEMPT SMP ARM [ 62.562310] Modules linked in: g_mass_storage(+) [ 62.566916] CPU: 2 PID: 613 Comm: insmod Not tainted 4.2.0-rc4-00077-ge29ee91-dirty #125 [ 62.574984] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 62.581061] task: eca56e80 ti: eca76000 task.ti: eca76000 [ 62.586450] PC is at kernfs_find_ns+0x8/0xe8 [ 62.590698] LR is at kernfs_find_and_get_ns+0x30/0x48 [ 62.595732] pc : [<c01277c0>] lr : [<c0127b88>] psr: 40010053 [ 62.595732] sp : eca77c40 ip : eca77c38 fp : 000008c1 [ 62.607187] r10: 00000001 r9 : c0082f38 r8 : ed41ce40 [ 62.612395] r7 : c05c1484 r6 : 00000000 r5 : 00000000 r4 : c0814488 [ 62.618904] r3 : 00000000 r2 : 00000000 r1 : c05c1484 r0 : 00000000 [ 62.625417] Flags: nZcv IRQs on FIQs off Mode SVC_32 ISA ARM Segment user [ 62.632620] Control: 10c5387d Table: 6c99404a DAC: 00000015 [ 62.638348] Process insmod (pid: 613, stack limit = 0xeca76210) [ 62.644251] Stack: (0xeca77c40 to 0xeca78000) [ 62.648594] 7c40: c0814488 00000000 00000000 c05c1484 ed41ce40 c0127b88 00000000 c0824888 [ 62.656753] 7c60: ed41d038 ed41d030 ed41d000 c012af4c 00000000 c0824858 ed41d038 c02e3314 [ 62.664912] 7c80: ed41d030 00000000 ed41ce04 c02d9e8c c070eda8 eca77cb4 000008c1 c058317c [ 62.673071] 7ca0: 000008c1 ed41d030 ed41ce00 ed41ce04 ed41d000 c02da044 ed41cf48 c0375870 [ 62.681230] 7cc0: ed9d3c04 ed9d3c00 ed52df80 bf000940 fffffff0 c03758f4 c03758c0 00000000 [ 62.689389] 7ce0: bf000564 c03614e0 ed9d3c04 bf000194 c0082f38 00000001 00000000 c0000100 [ 62.697548] 7d00: c0814488 c0814488 c086b1dc c05893a8 00000000 ed7e8320 00000000 c0128b88 [ 62.705707] 7d20: ed8a6b40 00000000 00000000 ed410500 ed8a6b40 c0594818 ed7e8320 00000000 [ 62.713867] 7d40: 00000000 c0129f20 00000000 c082c444 ed8a6b40 c012a684 00001000 00000000 [ 62.722026] 7d60: c0594818 c082c444 00000000 00000000 ed52df80 ed52df80 00000000 00000000 [ 62.730185] 7d80: 00000000 00000000 00000001 00000002 ed8e9b70 ed52df80 bf0006d0 00000000 [ 62.738345] 7da0: ed8e9b70 ed410500 ed618340 c036129c ed8c1c00 bf0006d0 c080b158 ed8c1c00 [ 62.746504] 7dc0: bf0006d0 c080b158 ed8c1c08 ed410500 c0082f38 ed618340 000008c1 c03640ac [ 62.754663] 7de0: 00000000 bf0006d0 c082c8dc c080b158 c080b158 c03642d4 00000000 bf003000 [ 62.762822] 7e00: 00000000 c0009784 00000000 00000001 00000000 c05849b0 00000002 ee7ab780 [ 62.770981] 7e20: 00000002 ed4105c0 0000c53e 000000d0 c0808600 eca77e5c 00000004 00000000 [ 62.779140] 7e40: bf000000 c0095680 c08075a0 ee001f00 ed4105c0 c00cadc0 ed52df80 bf000780 [ 62.787300] 7e60: ed4105c0 bf000780 00000001 bf0007c8 c0082f38 ed618340 000008c1 c0083e24 [ 62.795459] 7e80: 00000001 bf000780 00000001 eca77f58 00000001 bf000780 00000001 c00857f4 [ 62.803618] 7ea0: bf00078c 00007fff 00000000 c00835b4 eca77f58 00000000 c0082fac eca77f58 [ 62.811777] 7ec0: f05038c0 0003b008 bf000904 00000000 00000000 bf00078c 6e72656b 00006c65 [ 62.819936] 7ee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 62.828095] 7f00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 62.836255] 7f20: 00000000 00000000 00000000 00000000 00000000 00000000 00000003 0003b008 [ 62.844414] 7f40: 0000017b c000f5c8 eca76000 00000000 0003b008 c0085df8 f04ef000 0001b8a9 [ 62.852573] 7f60: f0503258 f05030c2 f0509fe8 00000968 00000dc8 00000000 00000000 00000000 [ 62.860732] 7f80: 00000029 0000002a 00000011 00000000 0000000a 00000000 33f6eb00 0003b008 [ 62.868892] 7fa0: bef01cac c000f400 33f6eb00 0003b008 00000003 0003b008 00000000 00000003 [ 62.877051] 7fc0: 33f6eb00 0003b008 bef01cac 0000017b 00000000 0003b008 0000000b 0003b008 [ 62.885210] 7fe0: bef01ae0 bef01ad0 0001dc23 b6e8c162 800b0070 00000003 c0c0c0c0 c0c0c0c0 [ 62.893380] [<c01277c0>] (kernfs_find_ns) from [<c0824888>] (pm_qos_latency_tolerance_attr_group+0x0/0x10) [ 62.903005] Code: e28dd00c e8bd80f0 e92d41f0 e2923000 (e1d0e4b4) [ 62.909115] ---[ end trace 02fb4373ef095c7b ]--- Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7674cba55ad66b2565f8abe8d081a6ea4269bfb6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jul 13 11:03:54 2015 +0200 usb: gadget: atmel_usba_udc: add missing ret value check Add missing return value check. In case of error print debug message and return error code. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cb009d6e0b800e3834cd5e306df90d84e08f9cf7 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jul 13 11:03:53 2015 +0200 staging: emxx_udc: add missing usb_ep_set_maxpacket_limit() Since maxpacket_limit was introduced all UDC drivers should use usb_ep_set_maxpacket_limit() function instead of setting maxpacket value manually. ep.maxpacket_limit contains actual maximum maxpacket value supported by hardware which is needed by epautoconf. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6fd82b69796cc8f313f160ac55bfd24cedc60fed Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jul 13 11:03:52 2015 +0200 usb: isp1760: udc: add missing usb_ep_set_maxpacket_limit() Since maxpacket_limit was introduced all UDC drivers should use usb_ep_set_maxpacket_limit() function instead of setting maxpacket value manually. ep.maxpacket_limit contains actual maximum maxpacket value supported by hardware which is needed by epautoconf. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4ef7a4a1f097b2c17f4f2873a1595aa0aca9f6b4 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jul 13 11:03:51 2015 +0200 usb: gadget: midi: avoid redundant f_midi_set_alt() call Function midi registers two interfaces with single set_alt() function which means that f_midi_set_alt() is called twice when configuration is set. That means that endpoint initialization and ep request allocation is done two times. To avoid this problem we do such things only once, for interface number 1 (MIDI Streaming interface). Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 55d811211b139ed097ddaf40d173c258f133c130 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jul 13 11:03:50 2015 +0200 usb: gadget: ffs: call functionfs_unbind() if _ffs_func_bind() fails Function ffs_do_functionfs_bind() calls functionfs_bind() which allocates usb request and increments refcounts. These things needs to be cleaned up by if further steps of initialization fail by calling functionfs_unbind(). Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit decd275e62d5eef4b947fab89652fa6afdadf2f2 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:23 2015 -0400 x86/vm86: Rename vm86->v86flags and v86mask Rename v86flags to veflags, and v86mask to veflags_mask. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-9-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1342635638cba9b7c8eac776da5e54390d14d313 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:22 2015 -0400 x86/vm86: Rename vm86->vm86_info to user_vm86 Make it clearer that this is the pointer to the userspace vm86 state area. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-8-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ba3e127ec105e790eeec4034d9769e018e4a1b54 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:21 2015 -0400 x86/vm86: Clean up vm86.h includes vm86.h was being implicitly included in alot of places via processor.h, which in turn got it from math_emu.h. Break that chain and explicitly include vm86.h in all files that need it. Also remove unused vm86 field from math_emu_info. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-7-git-send-email-brgerst@xxxxxxxxx [ Fixed build failure. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit af3e565a8542c4be699a0403b88fd6c691f5914f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 31 10:59:20 2015 +0200 x86/vm86: Move the vm86 IRQ definitions to vm86.h Move vm86 specific definitions from irq_vectors.h to vm86.h. Based on patch from Brian Gerst. Originally-from: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-6-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5ed92a8ab71f8865ba07811429c988c72299b315 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:19 2015 -0400 x86/vm86: Use the normal pt_regs area for vm86 Change to use the normal pt_regs area to enter and exit vm86 mode. This is done by increasing the padding at the top of the stack to make room for the extra vm86 segment slots in the IRET frame. It then saves the 32-bit regs in the off-stack vm86 data, and copies in the vm86 regs. Exiting back to 32-bit mode does the reverse. This allows removing the hacks to jump directly into the exit asm code due to having to change the stack pointer. Returning normally from the vm86 syscall and the exception handlers allows things like ptrace and auditing to work properly. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-5-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 90c6085a248f8f964588617f51329688bcc9f2bc Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:18 2015 -0400 x86/vm86: Eliminate 'struct kernel_vm86_struct' Now there is no vm86-specific data left on the kernel stack while in userspace, except for the 32-bit regs. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-4-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d4ce0f26c790af8e829d3fad0a6787f40f98e24f Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:17 2015 -0400 x86/vm86: Move fields from 'struct kernel_vm86_struct' to 'struct vm86' Move the non-regs fields to the off-stack data. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-3-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9fda6a0681e070b496235b132bc70ceb80300211 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:16 2015 -0400 x86/vm86: Move vm86 fields out of 'thread_struct' Allocate a separate structure for the vm86 fields. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-2-git-send-email-brgerst@xxxxxxxxx [ Build fixes. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e800eb39e3f586e46a2007f72d3b609f6e3b888d Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Jul 29 14:35:43 2015 -0700 selftests/x86/vm86: Fix entry_from_vm86 test on 64-bit kernels The test failed due to an oversight on my part when run on a 64-bit kernel. vm86 isn't expected to work at all, and I mistakenly failed one part of the test because no signal was delivered. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/502c8bef877b33fe4943885ded6125dfcc7892db.1438205722.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5b9e5a2f14f25a8dae987494d50ad3aac7366b6 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 30 14:31:34 2015 -0700 x86/ldt: Make modify_ldt() optional The modify_ldt syscall exposes a large attack surface and is unnecessary for modern userspace. Make it optional. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: security@xxxxxxxxxx <security@xxxxxxxxxx> Cc: xen-devel <xen-devel@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a605166a771c343fd64802dece77a903507333bd.1438291540.git.luto@xxxxxxxxxx [ Made MATH_EMULATION dependent on MODIFY_LDT_SYSCALL. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bae2c2d421cdea9dd8d62425eef99e389584cdb3 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:05 2015 +0100 iommu/arm-smmu: Sort out coherency Currently, we detect whether the SMMU has coherent page table walk capability from the IDR0.CTTW field, and base our cache maintenance decisions on that. In preparation for fixing the bogus DMA API usage, however, we need to ensure that the DMA API agrees about this, which necessitates deferring to the dma-coherent property in the device tree for the final say. As an added bonus, since systems exist where an external CTTW signal has been tied off incorrectly at integration, allowing DT to override it offers a neat workaround for coherency issues with such SMMUs. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 28c8b4045b18b013e05656b493ce9a57cbf1f09a Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 16 17:50:12 2015 +0100 iommu/arm-smmu: Limit 2-level strtab allocation for small SID sizes If the StreamIDs in a system can all be resolved by a single level-2 stream table (i.e. SIDSIZE < SPLIT), then we currently get our maths wrong and allocate the largest strtab we support, thanks to unsigned overflow in our calculation. This patch fixes the issue by checking the SIDSIZE explicitly when calculating the size of our first-level stream table. Reported-by: Matt Evans <matt.evans@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ec11d63c677bbba15e65a35f5ba06c1d6eba4dbe Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Jul 15 11:55:19 2015 +0100 iommu/arm-smmu: Fix MSI memory attributes to match specification The MSI memory attributes in the SMMUv3 driver are from an older revision of the spec, which doesn't match the current implementations. Out with the old, in with the new. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ccd6385dfbb7b2f2e6670b5cfc55bb7ec0aa3839 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Jul 15 11:55:18 2015 +0100 iommu/arm-smmu: Fix enabling of PRIQ interrupt When an ARM SMMUv3 instance supports PRI, the driver registers an interrupt handler, but fails to enable the generation of such interrupt at the SMMU level. This patches simply moves the enable flags to a variable that gets updated by the PRI handling code before being written to the SMMU register. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 26c78daade0fbeef7f20bae3c5508a7c571078cd Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Fri Jul 31 01:55:08 2015 -0500 USB: io_ti: Add heartbeat to keep idle EP/416 ports from disconnecting When using Edgeport/416 models with newer firmware (sometime after firmware version 4.80.0), idle ports are automatically bounced (disconnected and then reconnected) approximately every 60 seconds. This breaks programs (e.g: minicom) where idle periods are common, normal and expected. I confirmed with the manufacturer (Digi International) that Edgeport/416 models now ship from the factory with firmware that expects periodic "heartbeat" queries from the driver to keep idle ports alive. This patch implements heartbeat support using the mechanism Digi suggested (periodically requesting an I2C descriptor address) that appears effective on Edgeports running the newer firmware (that require it) and benign on Edgeport devices running older firmware. Since we know that Edgeport firmware version 4.80 (the version distributed in /lib/firmware/down3.bin and used for Edgeports that are either running still older versions or have no onboard non-volatile firmware image) does not require heartbeat support, this patch schedules heartbeats only on Edgeport/416 devices, and only if they are running firmware versions newer than 4.80. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> [johan: minor style changes ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit dcb8e99dbc8a8a7825e39a43e79558d46b20d1e5 Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Fri Jul 31 01:55:07 2015 -0500 USB: io_ti: Add firmware image sanity checks Do what we can to verify that the driver's firmware image is valid (before attempting to download it to the Edgeport) by adding a new function, check_fw_sanity(), and a call to it in in download_fw(). Note: It looks like some Edgeports (models like the EP/416 with on-board E2PROM) may be able to function even if the on-disk firmware image is bad or missing, iff their local E2PROM versions are valid. But most Edgeport models (I've tried EP/1 and EP/8) do not appear to have this capability and they always rely on the on-disk firmware image. I tested an implementation that calls the new check_fw_sanity() function at the top of download_fw() and, rather than simply returning an error if the firmware image is bad or missing, it saves the result and defers the decision until later when it may find that it is running on a E2PROM-equipped device with a valid image. But I think this is messier than it is worth (adding still more messiness to the already very messy download_fw()) for such a marginal possible benefit. So, at least for now, I have chosen the much simpler approach of returning an error whenever edge_startup() fails to load an on-disk firmware image, or check_fw_sanity() indicates that it is unusable. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> [johan: drop redundant checksum mask ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit b7b1d645bb7a3dab4be9d4114cbe319b67a45c01 Author: Remy van Elst <relst@xxxxxxxx> Date: Fri Jul 31 10:59:50 2015 +0200 ARM: dts: sun4i: Enable USB DRC on A10 OLinuxIno Lime Enable the otg/drc usb controller on the A10 OLinuxIno Lime. Signed-off-by: Remy van Elst <relst@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c0e34831c8d9d8bf24f7bc9e12663e3daf1646ef Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Fri Jul 31 01:55:06 2015 -0500 USB: io_ti: Fix firmware version handling The io_ti driver fails to download firmware to Edgeport devices such as the EP/416, even when the on-disk firmware image (/lib/firmware/edgeport/down3.bin) is more current than the version on the EP/416. The current download code is broken in a few ways. Notably it mis-uses global variables OperationalMajorVersion and OperationalMinorVersion (reading their values before they've been properly initialized and subsequently initializing them multiple times without synchronization). This patch drops the global variables and replaces the redundant calls to request_firmware()/release_firmware() in download_fw() with a single call pair in edge_startup(); the firmware image pointer is then passed to download_fw() and build_i2c_fw_hdr(). Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit c3ece7e70dd8fab4fd3e4b9a74ad2df4cfa22e11 Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Fri Jul 31 01:55:05 2015 -0500 USB: io_ti: Increase insufficient timeout for firmware downloads The io_ti driver fails to download firmware to Edgeport devices such as the EP/416 and EP/421 (devices with on-board E2PROM). One of the problems is that the default 1 second timeout in ti_vsend_sync() is insufficient for download operations. This patch increases the download timeout to 10 seconds. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit dff8a207815a605872dfc5bffc1bae1cad29d87c Author: Keerthy <j-keerthy@xxxxxx> Date: Thu Jun 18 13:31:13 2015 +0530 ARM: dts: am4372: Set the default clock rate for dpll_clksel_mac_clk clock cpsw needs the clock to be running at 50MHz in kernel. Hence setting the default rate. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 93c03a2c36d2bc70d42acdeef12d0ac156ffecda Author: Keerthy <j-keerthy@xxxxxx> Date: Thu Jun 18 13:31:12 2015 +0530 ARM: dts: AM437X: add dpll_clksel_mac_clk node The patch adds the missing dpll_clksel_mac_clk clock node. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit b76da4d8758995437a831748dfca6f64a0e31c95 Author: Ezra Savard <ezra.savard@xxxxxxxxxx> Date: Fri Aug 29 11:10:33 2014 -0700 ARM: zynq: DT: Add zc702 pushbuttons to DT as gpio-keys Adds the two MIO connected pushbuttons on the zc702 board to the devicetree as a single multi-key device for us with the gpio-keys driver. Signed-off-by: Ezra Savard <ezra.savard@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 6de663fe33b35fc95e751f907aa28e608c38f121 Author: Alex Wilson <alex.david.wilson@xxxxxxxxx> Date: Fri Jul 17 20:23:55 2015 -0600 ARM: zynq: DT: Add missing interrupt for L2 pl310 Add pl310 interrupt to the Zynq devicetree. Signed-off-by: Alex Wilson <alex.david.wilson@xxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 1837649fd350bf25e20d05dbdd4449160ad0219b Author: Punnaiah Choudary Kalluri <punnaiah.choudary.kalluri@xxxxxxxxxx> Date: Thu Nov 27 20:47:33 2014 +0530 Documentation: devicetree: Add ECC information to synopsys ddr controller Add ECC information to synopsys ddr memory controller. Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit f49310dc62f68ae9f905f9a1e42224fa23867f47 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 16:13:34 2015 +0200 ARM64: zynqmp: Move SPI nodes to the right location Keep nodes sorted. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 8fd7a775c52721a440b7fa42945793459964dc4f Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 16:09:29 2015 +0200 ARM64: zynqmp: Move uart and ttcs to the right location Sort nodes in DTSI. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 0fcb064f0f596beb6f4952e24798142294179d67 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:42:12 2015 +0200 ARM64: zynqmp: Enable spi flashes on ep108 Enable spi flashes on ep108. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit c590974629c958cb93d0b0c7ca40bac546031a2c Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:38:46 2015 +0200 ARM64: zynqmp: Add eeprom memories on i2c bus Add i2c eeprom memories on i2c bus. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Reviewed-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> commit 34ad39b1452f61161bd20b99b189a3f74d27c580 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:24:55 2015 +0200 ARM64: zynqmp: Enable sdhci on ep108 Enable both sdhcis on ep108. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit c7c09d192f6556904e48b2498909b43b7e60d5e0 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:23:43 2015 +0200 ARM64: zynqmp: Enable watchdog on ep108 Enable watchdog on ep108. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 22eda14afc10a5a7b9536cae2a50e92bd64a7b9e Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:21:20 2015 +0200 ARM64: zynqmp: Add DWC3 usb support Add usb nodes to DTSI and enable both of them on ep108. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit ff92e3614aadadd085c14b4bde368e0e78e36d4f Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:18:04 2015 +0200 ARM64: zynqmp: Add SMMU support Add SMMU DT node to DTSI. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 3a8691f5300a4933a54bf8db8d5754b68a92e3c2 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:15:38 2015 +0200 ARM64: zynqmp: Add CANs node for platform Also enable can0 for ep108. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit b72b44b617d21e01d3f73069a908e75c4e91c5bd Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:09:30 2015 +0200 ARM64: zynqmp: Use zynqmp specific compatible string for gpio The patch: "gpio: Added support to Zynq Ultrascale+ MPSoC" (sha1: bdf7a4ae371894b4dc10b5820006b0a82d484929) added zynqmp specific features. This patch is switching the driver to use the zynqmp compatible string. Also enable the driver for ep108 platform. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 8fae442f8868694ad5937292f1920a21b741e935 Author: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Date: Wed Jun 10 15:46:56 2015 +0530 devicetree: xilinx: zynqmp: add sata node add sata node with sata fixed clock nodes in dtsi file. enable sata in zynqmp-ep108.dts with broken-gen2. Signed-off-by: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 2a742cedcf13572999436676cbe36c3a9b733b0f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:36 2015 +0200 uprobes: Fix the waitqueue_active() check in xol_free_insn_slot() The xol_free_insn_slot()->waitqueue_active() check is buggy. We need mb() after we set the conditon for wait_event(), or xol_take_insn_slot() can miss the wakeup. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Pratyush Anand <panand@xxxxxxxxxx> Cc: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134036.GA4799@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 704bde3cc26a4cb34386c164107b59e09745a022 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:33 2015 +0200 uprobes: Use vm_special_mapping to name the XOL vma Change xol_add_vma() to use _install_special_mapping(), this way we can name the vma installed by uprobes. Currently it looks like private anonymous mapping, this is confusing and complicates the debugging. With this change /proc/$pid/maps reports "[uprobes]". As a side effect this will cause core dumps to include the XOL vma and I think this is good; this can help to debug the problem if the app crashed because it was probed. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Pratyush Anand <panand@xxxxxxxxxx> Cc: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134033.GA4796@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f58bea2fec63db72f8050ade709358257e9102ab Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:31 2015 +0200 uprobes: Fix the usage of install_special_mapping() install_special_mapping(pages) expects that "pages" is the zero- terminated array while xol_add_vma() passes &area->page, this means that special_mapping_fault() can wrongly use the next member in xol_area (vaddr) as "struct page *". Fortunately, this area is not expandable so pgoff != 0 isn't possible (modulo bugs in special_mapping_vmops), but still this does not look good. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Pratyush Anand <panand@xxxxxxxxxx> Cc: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134031.GA4789@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db087ef69a2b155ae001665bf0b3806abde7ee34 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:28 2015 +0200 uprobes/x86: Make arch_uretprobe_is_alive(RP_CHECK_CALL) more clever The previous change documents that cleanup_return_instances() can't always detect the dead frames, the stack can grow. But there is one special case which imho worth fixing: arch_uretprobe_is_alive() can return true when the stack didn't actually grow, but the next "call" insn uses the already invalidated frame. Test-case: #include <stdio.h> #include <setjmp.h> jmp_buf jmp; int nr = 1024; void func_2(void) { if (--nr == 0) return; longjmp(jmp, 1); } void func_1(void) { setjmp(jmp); func_2(); } int main(void) { func_1(); return 0; } If you ret-probe func_1() and func_2() prepare_uretprobe() hits the MAX_URETPROBE_DEPTH limit and "return" from func_2() is not reported. When we know that the new call is not chained, we can do the more strict check. In this case "sp" points to the new ret-addr, so every frame which uses the same "sp" must be dead. The only complication is that arch_uretprobe_is_alive() needs to know was it chained or not, so we add the new RP_CHECK_CHAIN_CALL enum and change prepare_uretprobe() to pass RP_CHECK_CALL only if !chained. Note: arch_uretprobe_is_alive() could also re-read *sp and check if this word is still trampoline_vaddr. This could obviously improve the logic, but I would like to avoid another copy_from_user() especially in the case when we can't avoid the false "alive == T" positives. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134028.GA4786@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 86dcb702e74b8ab7d3b2d36984ef00671cea73b9 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:26 2015 +0200 uprobes: Add the "enum rp_check ctx" arg to arch_uretprobe_is_alive() arch/x86 doesn't care (so far), but as Pratyush Anand pointed out other architectures might want why arch_uretprobe_is_alive() was called and use different checks depending on the context. Add the new argument to distinguish 2 callers. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134026.GA4779@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5b7e1a89b820f2b9b23634ca4c59b555e8d9a0d Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:23 2015 +0200 uprobes: Change prepare_uretprobe() to (try to) flush the dead frames Change prepare_uretprobe() to flush the !arch_uretprobe_is_alive() return_instance's. This is not needed correctness-wise, but can help to avoid the failure caused by MAX_URETPROBE_DEPTH. Note: in this case arch_uretprobe_is_alive() can be false positive, the stack can grow after longjmp(). Unfortunately, the kernel can't 100% solve this problem, but see the next patch. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134023.GA4776@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5eeb50de42fd3251845d03c556db012267c72b3f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:21 2015 +0200 uprobes: Change handle_trampoline() to flush the frames invalidated by longjmp() Test-case: #include <stdio.h> #include <setjmp.h> jmp_buf jmp; void func_2(void) { longjmp(jmp, 1); } void func_1(void) { if (setjmp(jmp)) return; func_2(); printf("ERR!! I am running on the caller's stack\n"); } int main(void) { func_1(); return 0; } fails if you probe func_1() and func_2() because handle_trampoline() assumes that the probed function should must return and hit the bp installed be prepare_uretprobe(). But in this case func_2() does not return, so when func_1() returns the kernel uses the no longer valid return_instance of func_2(). Change handle_trampoline() to unwind ->return_instances until we know that the next chain is alive or NULL, this ensures that the current chain is the last we need to report and free. Alternatively, every return_instance could use unique trampoline_vaddr, in this case we could use it as a key. And this could solve the problem with sigaltstack() automatically. But this approach needs more changes, and it puts the "hard" limit on MAX_URETPROBE_DEPTH. Plus it can not solve another problem partially fixed by the next patch. Note: this change has no effect on !x86, the arch-agnostic version of arch_uretprobe_is_alive() just returns "true". TODO: as documented by the previous change, arch_uretprobe_is_alive() can be fooled by sigaltstack/etc. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134021.GA4773@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7b868e4802a86d867aad1be0471b5767d9c20e10 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:18 2015 +0200 uprobes/x86: Reimplement arch_uretprobe_is_alive() Add the x86 specific version of arch_uretprobe_is_alive() helper. It returns true if the stack frame mangled by prepare_uretprobe() is still on stack. So if it returns false, we know that the probed function has already returned. We add the new return_instance->stack member and change the generic code to initialize it in prepare_uretprobe, but it should be equally useful for other architectures. TODO: this assumes that the probed application can't use multiple stacks (say sigaltstack). We will try to improve this logic later. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134018.GA4766@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 97da89767d398c1dfa1f34e5f312eb8ebb382f7f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:16 2015 +0200 uprobes: Export 'struct return_instance', introduce arch_uretprobe_is_alive() Add the new "weak" helper, arch_uretprobe_is_alive(), used by the next patches. It should return true if this return_instance is still valid. The arch agnostic version just always returns true. The patch exports "struct return_instance" for the architectures which want to override this hook. We can also cleanup prepare_uretprobe() if we pass the new return_instance to arch_uretprobe_hijack_return_addr(). Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134016.GA4762@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a83cfeb92132c279b20bbc8ed3cef833b0fe417e Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:13 2015 +0200 uprobes: Change handle_trampoline() to find the next chain beforehand No functional changes, preparation. Add the new helper, find_next_ret_chain(), which finds the first !chained entry and returns its ->next. Yes, it is suboptimal. We probably want to turn ->chained into ->start_of_this_chain pointer and avoid another loop. But this needs the boring changes in dup_utask(), so lets do this later. Change the main loop in handle_trampoline() to unwind the stack until ri is equal to the pointer returned by this new helper. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134013.GA4755@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6c58d0e4cc26ea8882928e64c0de9afed4fc37cb Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:10 2015 +0200 uprobes: Change prepare_uretprobe() to use uprobe_warn() Turn the last pr_warn() in uprobes.c into uprobe_warn(). While at it: - s/kzalloc/kmalloc, we initialize every member of 'ri' - remove the pointless comment above the obvious code Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134010.GA4752@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0b5256c7f173258b19d98364adb57f707dda22f3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:08 2015 +0200 uprobes: Send SIGILL if handle_trampoline() fails 1. It doesn't make sense to continue if handle_trampoline() fails, change handle_swbp() to always return after this call. 2. Turn pr_warn() into uprobe_warn(), and change handle_trampoline() to send SIGILL on failure. It is pointless to return to user mode with the corrupted instruction_pointer() which we can't restore. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134008.GA4745@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2bb5e840e873f8778a41801141771f54f547fa65 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:06 2015 +0200 uprobes: Introduce free_ret_instance() We can simplify uprobe_free_utask() and handle_uretprobe_chain() if we add a simple helper which does put_uprobe/kfree and returns the ->next return_instance. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134006.GA4740@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f231722a2b27ee99cbcd0c6bcf4c866612b78137 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:03 2015 +0200 uprobes: Introduce get_uprobe() Cosmetic. Add the new trivial helper, get_uprobe(). It matches put_uprobe() we already have and we can simplify a couple of its users. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134003.GA4736@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b1c599b8ff80ea79b9f8277a3f9f36a7b0cfedce Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Fri Jul 24 09:15:11 2015 +0200 x86/cpufeature: Add feature bit for Intel's Silicon Debug CPUID bit Add a CPUID feature bit for the SDBG (Silicon Debug) CPU feature found on recent Intel systems starting with Haswell. Using the IA32_DEBUG_INTERFACE MSR (index C80H) one can at least detect if SDBG has been enabled by the firmware and if it has been used or not. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Aaron Lu <aaron.lu@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Dirk Brandewie <dirk.j.brandewie@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437330403-12102-1-git-send-email-minipli@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6835fe4846756deb7ca7447fb7bdba6ecb21bd30 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Feb 12 10:59:17 2015 +0100 ARM: dts: zynq: Add OCM node Add OCM node for all zynq boards. OCM location can changed but for all current boards this is the location where OCM is.` Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 555ee95a0a5a525ad2f1654fab0bd157de832b4f Merge: 8400935 de734f8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 31 10:27:19 2015 +0200 Merge branch 'timers/nohz-for-tip' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/nohz Pull NOHZ updates from Frederic Weisbecker: - Fix some jiffies based cputime assumptions. No real harm because the concerned code isn't used by full dynticks. - Simplify jiffies <-> usecs conversions. Remove dead code. - Remove early hacks on nohz full code that avoided messing up idle nohz internals. Now nohz integrates well full and idle and such hack have become needless. - Restart nohz full tick from irq exit. A simplification and a preparation for future optimization on scheduler kick to nohz full. - Simple code cleanups. - Tile driver isolation enhancement on top of nohz. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e4a9288942392965bd5cfad93d9996b83c0dc4a6 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Fri Jul 17 16:01:02 2015 -0500 ARM: zynq: reserve space for jump target in secondary trampoline Add a zero argument to the .word directive in zynq_secondary_trampoline. Without an expression the assembler emits nothing for the .word directive. This makes it so that the intended range is communicated to ioremap and outer_flush_range in zynq_cpun_start; e.g. for LE trampoline_code_size evaluates to 12 now instead of 8. Found by inspection. I'm not aware of any real problem this fixes. Tested by doing on online/offline loop on ZC702. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 07e4d3d9e281136fdd781e8c3b9146b97f2d28d6 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Mon Jul 27 16:36:42 2015 +0900 clk: zynq: remove redundant $(CONFIG_ARCH_ZYNQ) in Makefile Kbuild descends into drivers/clk/zynq/ only when CONFIG_ARCH_ZYNQ is enabled. (see drivers/clk/Makefile) $(CONFIG_ARCH_ZYNQ) in drivers/clk/zynq/Makefile always evaluates to 'y'. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit d6448b76ab260457d78e9d09465afaec2697e20d Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Fri Jun 26 09:04:32 2015 -0700 MAINTAINERS: Update Zynq git tree location The git tree for Zynq moved to Github. Update the MAINTAINERS record to reflect the change. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 014dc90b66c8d0b5f5a9400440727c134ee5e5a3 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 30 14:31:33 2015 -0700 selftests/x86, x86/ldt: Add a selftest for modify_ldt() This tests general modify_ldt() behavior (only writes, so far) as well as synchronous updates via IPI. It fails on old kernels. I called this ldt_gdt because I'll add set_thread_area() tests to it at some point. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: security@xxxxxxxxxx <security@xxxxxxxxxx> Cc: xen-devel <xen-devel@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/dcfda65dad07ff5a3ea97a9172b5963bf8031b2e.1438291540.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5b929bd11df23922daf1be5d52731cc3900c1d79 Merge: b2c5110 37868fe Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 31 10:23:35 2015 +0200 Merge branch 'x86/urgent' into x86/asm, before applying dependent patches Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 41d279aaf5b57a050a08fa88c70aad1890e018cd Merge: acd632e aa53c09 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 31 09:59:50 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Force period term to overload global settings, i.e. previously this command line: $ perf record -e 'cpu/instructions,period=20000/',cycles -c 1000 sleep 1 would result in both events having a period equal to 1000, with the fix we get something saner: $ perf evlist -v | grep period cpu/instructions,period=20000/: ... { sample_period, sample_freq }: 20000, ... cycles: ... { sample_period, sample_freq }: 1000 ... $ (Jiri Olsa) Infrastructure changes: - Use the dummy software event with freq=0 in the twatch.py python binding example, to avoid disabling nohz. (Arnaldo Carvalho de Melo) - Add some missing constants to the python binding. (Arnaldo Carvalho de Melo) - Fix mismatched declarations for elf_getphdrnum, that happens only in the corner case where this function is not found on the system. (Arnaldo Carvalho de Melo) - Add build test for having ending double slash. (Jiri Olsa) - Introduce callgraph_set for callgraph option. (Kan Liang) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit acd632eb64b6cd8e25583bb248c36aa937b8f021 Merge: 4b0c53e 5542b2a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 31 09:59:28 2015 +0200 Merge branch 'perf/urgent' into perf/core, to merge fixes before pulling more changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5d8a0d0b44c207690adda723b8d60158c18fec8a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 31 09:52:56 2015 +0200 drm/i915: Update DRIVER_DATE to 20150731 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 824deff87f5b1a2f32b9c3164191b0f5b22276b8 Author: Rostislav Pehlivanov <atomnuker@xxxxxxxxx> Date: Tue Jul 28 08:38:47 2015 +0100 HID: sony: Fix DS4 controller reporting rate issues This commit removes the cap on the DualShock 4 controller reporting rate when connected using Bluetooth. The previous value of '0xB0' capped the rate to only 20.83 Hz which many userspace utilities mistook as a sign of a bad signal. Since a 'B' and an '8' can look similar it's possible that someone mistook the one for another. The new value of '0x80' enables the full 1000 Hz peak reporting rate that the controller is capable of. Frank adds: "Back when the original code was written the purpose of that value was unknown and 0xB0 seemed to work so that's what ended up being used. Now that we know what it actually does and that 0x80 is a better choice I support this patch." [jkosina@xxxxxxxx: update changelog] Signed-off-by: Rostislav Pehlivanov <atomnuker@xxxxxxxxx> Acked-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 360d9bb5ee2db4d409448667de606c05b3914d53 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Fri Jul 31 10:17:35 2015 +0300 Revert "ath9k: export HW random number generator" This reverts commit 6301566e0b2dafa7d6779598621bca867962a0a2. Oleksij Rempel noticed that the randomness doesn't look to be good enough and Stephan Mueller commented: "I would say that the discussed RNG does not seem fit for hooking it up with the hwrandom framework." http://lkml.kernel.org/g/3945775.m5HblJPgiO@xxxxxxxxxxxxxxx So let's the revert the patch until we are sure that we can trust this random generator. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ab81a5e0660a058c2cc728fc114fa3082be78952 Author: David Disseldorp <ddiss@xxxxxxx> Date: Thu Jul 23 22:33:21 2015 +0200 target: check DPO/FUA usage for COMPARE AND WRITE COMPARE AND WRITE requests should fail if DPO or FUA is set, but the device is not advertising support. Signed-off-by: David Disseldorp <ddiss@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4aad0cc5c3f715efc294ac60fd0bf0e90829e18b Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Thu Jul 30 22:11:18 2015 +0300 crypto: caam - fix rfc4106 encap shared descriptor The encap shared descriptor was changed to use the new IV convention. In the process some commands were shifted, making the output length zero, caam effectively writing garbage in dst. While here, update the decap descriptor to execute the "write" commands before the "read"s (as it previously was). This makes sure the input fifo is drained before becoming full. Fixes: 46218750d523 ("crypto: caam - Use new IV convention") Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 915270c3cacfc80cb3fe7fdd8130439039a85bbb Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Tue Jul 21 17:45:33 2015 -0700 target: Shrink struct se_cmd by rearranging fields On x86-64, these changes reduce the struct size from 528 bytes to 496 bytes. We save a cacheline and get under 512 bytes for better packing. Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Acked-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9c31820b6ab93ec298ad98abeee49759b5f5958c Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Tue Jul 21 17:45:32 2015 -0700 target: Remove cmd->se_ordered_id (unused except debug log lines) For every command, we set se_ordered_id by doing atomic_inc_return on dev->dev_ordered_id for the corresponding device. However, the only places this value gets used are in pr_debug() calls, which doesn't seem worth an extra atomic op per IO. Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 45182ed576898b846a98ac3bff2ddcb9d35a0181 Author: Brian Bunker <brian@xxxxxxxxxxxxxxx> Date: Thu Jul 23 15:27:46 2015 -0700 target: add support for START_STOP_UNIT SCSI opcode AIX servers using VIOS servers that virtualize FC cards will have a problem booting without support for START_STOP_UNIT. Cite sbc3r36 exactly, clean up if conditions (rob + hch) Signed-off-by: Brian Bunker <brian@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Cc: "Robert Elliott (Server Storage)" <Elliott@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 568e1f6524b06ff113cebf5711832ca95d37259f Author: Joern Engel <joern@xxxxxxxxxxxxxxx> Date: Wed Jul 22 15:01:36 2015 -0700 target: improve unsupported opcode message Make the warning about unsupported SCSI opcode more useful: - Add in the initiator name so we know who's sending it. - Print the warning even for opcodes that spc_parse_cdb() knows about but that we don't handle. Signed-off-by: Joern Engel <joern@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c72c5250224d475614a00c1d7e54a67f77cd3410 Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Wed Jul 22 15:08:18 2015 -0700 target: allow underflow/overflow for PR OUT etc. commands It's not necessarily a fatal error if a command with a data-out phase has a data length that differs from the transport data length (e.g. PERSISTENT RESERVE OUT might have a parameter list length in the CDB that's smaller than the FC_DL field), so allow these commands. The Windows compliance test sends them. Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit aa75679c797c0250a853e600e45368f1f9545c27 Author: Alexei Potashnik <alexei@xxxxxxxxxxxxxxx> Date: Mon Jul 20 17:12:12 2015 -0700 target/iscsi: Use proper SGL accessors for digest computation Current implementation assumes that all the buffers of an IO are linked with a single SG list, which is OK because target-core is only allocating a contigious scatterlist region. However, this assumption is wrong for se_cmd descriptors that want to use chaining across multiple SGL regions. Fix this up by using proper SGL accessors for digest payload computation. Signed-off-by: Alexei Potashnik <alexei@xxxxxxxxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit b6a54b8d895648d915c7e8308f3d3e6bf2505d69 Author: Chris Zankel <czankel@xxxxxxxxxxxxxxx> Date: Mon Jul 20 16:29:50 2015 -0700 target: remove initiatorname field in se_acl_lun From: Chris Zankel <czankel@xxxxxxxxxxxxxxx> The initiatorname field in se_acl_lun is only a copy of the same field in se_node_acl, so remove it and use the version in se_node_acl where needed (it's actually only used for pr_debug) Signed-off-by: Chris Zankel <czankel@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <spencer.baugh@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 53c46995b6ed7cb32a28bce1f4a25065baf65d8f Author: Chris Zankel <czankel@xxxxxxxxxxxxxxx> Date: Mon Jul 20 16:29:49 2015 -0700 target: remove unused lun_flags field from se_lun The lun_flags field is not used, so drop it. Signed-off-by: Chris Zankel <czankel@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <spencer.baugh@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c21e0bbfc48509a776ec4a39bd9a0fb45a9c315b Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 9 17:15:52 2015 -0500 cxlflash: Base support for IBM CXL Flash Adapter SCSI device driver to support filesystem access on the IBM CXL Flash adapter. Supported-by: Stephen Bates <stephen.bates@xxxxxxxx> Reviewed-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1df33a11454de804661c8e19cd0e464914eefc6d Merge: 29a3060 440d896 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 30 17:25:15 2015 -0700 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: separate link aggregation from link layer We continue the work on separating the roles of the link aggregation and link layers, as well as making code cleanups in general. This second commit batch focuses on moving the orchestration of link failover and synchronization to the node level, as well as preparing the node lock structure for further future impovements. We also make some changes to message delivery between link and socket layer, in order to make this mechanism safer and less obscure. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 440d8963cd590ec9387d76a36e60c02da9ed944d Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:26 2015 -0400 tipc: clean up link creation We simplify the link creation function tipc_link_create() and the way the link struct it is connected to the node struct. In particular, we remove the duplicate initialization of some fields which are anyway set in tipc_link_reset(). Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9073fb8be3ee6f89492b8ea8f6d3902913a9fc91 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:25 2015 -0400 tipc: use temporary, non-protected skb queue for bundle reception Currently, when we extract small messages from a message bundle, or when many messages have accumulated in the link arrival queue, those messages are added one by one to the lock protected link input queue. This may increase contention with the reader of that queue, in the function tipc_sk_rcv(). This commit introduces a temporary, unprotected input queue in tipc_link_rcv() for such cases. Only when the arrival queue has been emptied, and the function is ready to return, does it splice the whole temporary queue into the real input queue. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 23d8335d786472021b5c733f228c7074208dcfa0 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:24 2015 -0400 tipc: remove implicit message delivery in node_unlock() After the most recent changes, all access calls to a link which may entail addition of messages to the link's input queue are postpended by an explicit call to tipc_sk_rcv(), using a reference to the correct queue. This means that the potentially hazardous implicit delivery, using tipc_node_unlock() in combination with a binary flag and a cached queue pointer, now has become redundant. This commit removes this implicit delivery mechanism both for regular data messages and for binding table update messages. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 598411d70f85dcf5b5c6c2369cc48637c251b656 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:23 2015 -0400 tipc: make resetting of links non-atomic In order to facilitate future improvements to the locking structure, we want to make resetting and establishing of links non-atomic. I.e., the functions tipc_node_link_up() and tipc_node_link_down() should be called from outside the node lock context, and grab/release the node lock themselves. This requires that we can freeze the link state from the moment it is set to RESETTING or PEER_RESET in one lock context until it is set to RESET or ESTABLISHING in a later context. The recently introduced link FSM makes this possible, so we are now ready to introduce the above change. This commit implements this. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf148816acb6def45474001302368eb472995e62 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:22 2015 -0400 tipc: move received discovery data evaluation inside node.c The node lock is currently grabbed and and released in the function tipc_disc_rcv() in the file discover.c. As a preparation for the next commits, we need to move this node lock handling, along with the code area it is covering, to node.c. This commit introduces this change. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 662921cd0a53db4504838dfbb7d996f9e6e94001 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:21 2015 -0400 tipc: merge link->exec_mode and link->state into one FSM Until now, we have been handling link failover and synchronization by using an additional link state variable, "exec_mode". This variable is not independent of the link FSM state, something causing a risk of inconsistencies, apart from the fact that it clutters the code. The conditions are now in place to define a new link FSM that covers all existing use cases, including failover and synchronization, and eliminate the "exec_mode" field altogether. The FSM must also support non-atomic resetting of links, which will be introduced later. The new link FSM is shown below, with 7 states and 8 events. Only events leading to state change are shown as edges. +------------------------------------+ |RESET_EVT | | | | +--------------+ | +-----------------| SYNCHING |-----------------+ | |FAILURE_EVT +--------------+ PEER_RESET_EVT| | | A | | | | | | | | | | | | | | |SYNCH_ |SYNCH_ | | | |BEGIN_EVT |END_EVT | | | | | | | V | V V | +-------------+ +--------------+ +------------+ | | RESETTING |<---------| ESTABLISHED |--------->| PEER_RESET | | +-------------+ FAILURE_ +--------------+ PEER_ +------------+ | | EVT | A RESET_EVT | | | | | | | | | | | | | +--------------+ | | | RESET_EVT| |RESET_EVT |ESTABLISH_EVT | | | | | | | | | | | | V V | | | +-------------+ +--------------+ RESET_EVT| +--->| RESET |--------->| ESTABLISHING |<----------------+ +-------------+ PEER_ +--------------+ | A RESET_EVT | | | | | | | |FAILOVER_ |FAILOVER_ |FAILOVER_ |BEGIN_EVT |END_EVT |BEGIN_EVT | | | V | | +-------------+ | | FAILINGOVER |<----------------+ +-------------+ These changes are fully backwards compatible. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5045f7b9009f1455268b98cecbcc271663934c85 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:20 2015 -0400 tipc: move protocol message sending away from link FSM The implementation of the link FSM currently takes decisions about and sends out link protocol messages. This is unnecessary, since such actions are not the result of any link state change, and are even decided based on non-FSM state information ("silent_intv_cnt"). We now move the sending of unicast link protocol messages to the function tipc_link_timeout(), and the initial broadcast synchronization message to tipc_node_link_up(). The latter is done because a link instance should not need to know whether it is the first or second link to a destination. Such information is now restricted to and handled by the link aggregation layer in node.c Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e498158a827fd515b514842e9a06bdf0f75ab86 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:19 2015 -0400 tipc: move link synch and failover to link aggregation level Link failover and synchronization have until now been handled by the links themselves, forcing them to have knowledge about and to access parallel links in order to make the two algorithms work correctly. In this commit, we move the control part of this functionality to the link aggregation level in node.c, which is the right location for this. As a result, the two algorithms become easier to follow, and the link implementation becomes simpler. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66996b6c47ed7f6bbb01a768e23fae262c7db8e0 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:18 2015 -0400 tipc: extend node FSM In the next commit, we will move link synch/failover orchestration to the link aggregation level. In order to do this, we first need to extend the node FSM with two more states, NODE_SYNCHING and NODE_FAILINGOVER, plus four new events to enter and leave those states. This commit introduces this change, without yet making use of it. The node FSM now looks as follows: +-----------------------------------------+ | PEER_DOWN_EVT| | | +------------------------+----------------+ | |SELF_DOWN_EVT | | | | | | | | +-----------+ +-----------+ | | |NODE_ | |NODE_ | | | +----------|FAILINGOVER|<---------|SYNCHING |------------+ | | |SELF_ +-----------+ FAILOVER_+-----------+ PEER_ | | | |DOWN_EVT | A BEGIN_EVT A | DOWN_EVT| | | | | | | | | | | | | | | | | | | | |FAILOVER_|FAILOVER_ |SYNCH_ |SYNCH_ | | | | |END_EVT |BEGIN_EVT |BEGIN_EVT|END_EVT | | | | | | | | | | | | | | | | | | | | | +--------------+ | | | | | +------->| SELF_UP_ |<-------+ | | | | +----------------| PEER_UP |------------------+ | | | | |SELF_DOWN_EVT +--------------+ PEER_DOWN_EVT| | | | | | A A | | | | | | | | | | | | | | PEER_UP_EVT| |SELF_UP_EVT | | | | | | | | | | | V V V | | V V V +------------+ +-----------+ +-----------+ +------------+ |SELF_DOWN_ | |SELF_UP_ | |PEER_UP_ | |PEER_DOWN | |PEER_LEAVING|<------|PEER_COMING| |SELF_COMING|------>|SELF_LEAVING| +------------+ SELF_ +-----------+ +-----------+ PEER_ +------------+ | DOWN_EVT A A DOWN_EVT | | | | | | | | | | SELF_UP_EVT| |PEER_UP_EVT | | | | | | | | | |PEER_DOWN_EVT +--------------+ SELF_DOWN_EVT| +------------------->| SELF_DOWN_ |<--------------------+ | PEER_DOWN | +--------------+ Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 655fb243b8ae5e652f744311bcb6e806e83cea1e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:17 2015 -0400 tipc: reverse call order for link_reset()->node_link_down() In many cases the call order when a link is reset goes as follows: tipc_node_xx()->tipc_link_reset()->tipc_node_link_down() This is not the right order if we want the node to be in control, so in this commit we change the order to: tipc_node_xx()->tipc_node_link_down()->tipc_link_reset() The fact that tipc_link_reset() now is called from only one location with a well-defined state will also facilitate later simplifications of tipc_link_reset() and the link FSM. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6144a996a65199480eed7521c1c50590c282e78e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:16 2015 -0400 tipc: move all link_reset() calls to link aggregation level In line with our effort to let the node level have full control over its links, we want to move all link reset calls from link.c to node.c. Some of the calls can be moved by simply moving the calling function, when this is the right thing to do. For the remaining calls we use the now established technique of returning a TIPC_LINK_DOWN_EVT flag from tipc_link_rcv(), whereafter we perform the reset call when the call returns. This change serves as a preparation for the coming commits. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbeb83ca68dcedf69b336fd1c5263658cbe5b51e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:15 2015 -0400 tipc: eliminate function tipc_link_activate() The function tipc_link_activate() is redundant, since it mostly performs settings that have already been done in a preceding tipc_link_reset(). There are three exceptions to this: - The actual state change to TIPC_LINK_WORKING. This should anyway be done in the FSM, and not in a separate function. - Registration of the link with the bearer. This should be done by the node, since we don't want the link to have any knowledge about its specific bearer. - Call to tipc_node_link_up() for user access registration. With the new role distribution between link aggregation and link level this becomes the wrong call order; tipc_node_link_up() should instead be called directly as a result of a TIPC_LINK_UP event, hence by the node itself. This commit implements those changes. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29a3060aa7cc2e5cfaabeb935fafb832b9b33ad4 Merge: 8013d1d 5857d1d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 30 16:16:43 2015 -0700 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-07-30 Here's a set of Bluetooth & 802.15.4 patches intended for the 4.3 kernel. - Cleanups & fixes to mac802154 - Refactoring of Intel Bluetooth HCI driver - Various coding style fixes to Bluetooth HCI drivers - Support for Intel Lightning Peak Bluetooth devices - Generic class code in interface descriptor in btusb to match more HW - Refactoring of Bluetooth HS code together with a new config option - Support for BCM4330B1 Broadcom UART controller Let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8013d1d7eafb0589ca766db6b74026f76b7f5cb4 Author: Hangbin Liu <liuhangbin@xxxxxxxxx> Date: Thu Jul 30 14:28:42 2015 +0800 net/ipv6: add sysctl option accept_ra_min_hop_limit Commit 6fd99094de2b ("ipv6: Don't reduce hop limit for an interface") disabled accept hop limit from RA if it is smaller than the current hop limit for security stuff. But this behavior kind of break the RFC definition. RFC 4861, 6.3.4. Processing Received Router Advertisements A Router Advertisement field (e.g., Cur Hop Limit, Reachable Time, and Retrans Timer) may contain a value denoting that it is unspecified. In such cases, the parameter should be ignored and the host should continue using whatever value it is already using. If the received Cur Hop Limit value is non-zero, the host SHOULD set its CurHopLimit variable to the received value. So add sysctl option accept_ra_min_hop_limit to let user choose the minimum hop limit value they can accept from RA. And set default to 1 to meet RFC standards. Signed-off-by: Hangbin Liu <liuhangbin@xxxxxxxxx> Acked-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 017ffe64e8b8c8db0f50433a71da41c6a4e12710 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Fri Jul 17 17:16:32 2015 +0800 PCI: Hold pci_slot_mutex while searching bus->slots list Previously, pci_setup_device() and similar functions searched the pci_bus->slots list without any locking. It was possible for another thread to update the list while we searched it. Add pci_dev_assign_slot() to search the list while holding pci_slot_mutex. [bhelgaas: changelog, fold in CONFIG_SYSFS fix] Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 2f51a9b8adbb6ad06689ec28342e89f40acb97fc Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Thu Jul 30 00:44:20 2015 +0300 net: phy: spi_ks8995: clean up ks8995_registers_read/write The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67546762978f523749eac157903e0b01c18e083a Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Fri Jul 17 17:16:31 2015 +0800 PCI: Protect pci_bus->slots with pci_slot_mutex, not pci_bus_sem Rajat Jain reported a deadlock when PCIe hot-add and AER recovery happen at the same time: thread 1: pciehp_enable_slot pciehp_configure_device pci_bus_add_devices pci_bus_add_device device_attach device_lock(dev) # acquire device lock ... pciehp_probe init_slot pci_hp_register pci_create_slot down_write(pci_bus_sem) # deadlock here thread 2: aer_isr_one_error aer_process_err_device do_recovery broadcast_error_message(..., report_error_detected) pci_walk_bus(..., cb=report_error_detected, ...) down_read(&pci_bus_sem) # acquire pci_bus_sem report_error_detected(dev) # cb() device_lock(dev) # deadlock here Previously, the bus->devices and bus->slots list were protected by pci_bus_sem. In pci_create_slot(), we held it for writing so we could add to the bus->slots list. Add a new local pci_slot_mutex to protect bus->slots. Hold pci_bus_sem for reading while searching the bus->devices list. [bhelgaas: changelog] Link: http://lkml.kernel.org/r/CAA93t1qpPqbih+UB0McA_d_+2rVaNkXsinAUxYzK9+JXSS+L-g@xxxxxxxxxxxxxx Reported-by: Rajat Jain <rajatja@xxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 2dc127bb299d1c7436a08e79193bd0251068356e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jun 4 17:47:56 2015 +0300 hpsa: fix an sprintf() overflow in the reset handler The string "cmd %d RESET FAILED, new lockup detected" is not quite large enough so the sprintf() will overflow. I have increased the size of the buffer and also changed the sprintf calls to snprintf. Fixes: 73153fe533bc ('hpsa: use block layer tag for command allocation') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9c8108a4d3a837c51a29f28229a06d97654eaeb6 Author: Chris Leech <cleech@xxxxxxxxxx> Date: Tue Jun 16 16:07:13 2015 -0700 iSCSI: let session recovery_tmo sysfs writes persist across recovery The iSCSI session recovery_tmo setting is writeable in sysfs, but it's also set every time a connection is established when parameters are set from iscsid over netlink. That results in the timeout being reset to the default value after every recovery. The DM multipath tools want to use the sysfs interface to lower the default timeout when there are multiple paths to fail over. It has caused confusion that we have a writeable sysfs value that seem to keep resetting itself. This patch adds an in-kernel flag that gets set once a sysfs write occurs, and then ignores netlink parameter setting once it's been modified via the sysfs interface. My thinking here is that the sysfs interface is much simpler for external tools to influence the session timeout, but if we're going to allow it to be modified directly we should ensure that setting is maintained. Signed-off-by: Chris Leech <cleech@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit aaf1b059387863ac9675eb42d01d03415c7529a5 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 20:45:22 2015 -0500 ipr: Driver version 2.6.2 Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 359d96e73cea0ef2429db20e1a2322c75bc13830 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 20:45:20 2015 -0500 ipr: Endian / sparse fixes Some misc fixes for endianness checking with sparse so sparse with endian checking now runs clean. Fixes a minor bug in the process which was uncovered by sparse which would result in unnecessary error recovery for check conditions. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit bb8647e86e769bd45d2d5e010b3af516210d5760 Author: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 20:45:18 2015 -0500 ipr: Byte swapping for device_id attribute in sysfs On LE system, users see the wrong device_id attribute. This patch does necessary byte swapping for device_id attribute and works on both of LE and BE systems. Signed-off-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0ae80ba91f57726f31b5b5890cb7c5173e624ca4 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Jun 12 16:12:48 2015 +0200 scsi: retry MODE SENSE on unit attention The 'sd' driver is calling scsi_mode_sense() to figure out internal details. But scsi_mode_sense() never checks for any pending unit attentions, so we're getting annoying error messages like: MODE SENSE: unimplemented page/subpage: 0x00/0x00 and a possible wrong decision for device cache handling. Reviewed-by: Ewan Milne <emilne@xxxxxxxxxx> Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c8b5db7de66b75330a96f9f1ad7376b89646c953 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:28:45 2015 +0530 x86/hpet: Migrate to new set_state interface Migrate hpet driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Forward definition of 'hpet_clockevent' wasn't required and so it is placed after all the callback are defined, to avoid forward declaring all the callbacks. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8cc9864b6d6342dfac28f270cf69f4cba46fffae.1437042675.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 955381dd65654bd6f066408823691db8fa7d05bb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:28:48 2015 +0530 x86/xen/time: Migrate to new set-state interface Migrate xen driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Callbacks aren't implemented for modes where we weren't doing anything. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx (moderated list:XEN HYPERVISOR INTERFACE) Link: http://lkml.kernel.org/r/881eea6e1a3d483cd33e044cd34827cce26a57fd.1437042675.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ca53d434f7e63352c9edd1ad8cde4dfe11da44aa Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:28:47 2015 +0530 x86/uv/time: Migrate to new set-state interface Migrate uv driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything while switching modes other than in shutdown mode and so those are not implemented. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Link: http://lkml.kernel.org/r/52e04139746222a2e82a96d13953cbc306cfb59b.1437042675.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c2e13cc2cea64385043fa9afaaf91a74ec438467 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:28:46 2015 +0530 x86/lguest/timer: Migrate to new set-state interface Migrate lguest driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything while switching modes other than in shutdown mode and so those are not implemented. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-and-tested-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: lguest@xxxxxxxxxxxxxxxx (open list:LGUEST) Link: http://lkml.kernel.org/r/b96f1c308f4523255c5394a4e6e13f2b67685402.1437042675.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5f2269916b0e509f2926346b58209abfa8316143 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 30 14:00:08 2015 -0500 PCI/MSI: Free legacy IRQ when enabling MSI/MSI-X Once MSI/MSI-X is enabled by the device driver, a PCI device won't use legacy IRQs again until MSI/MSI-X is disabled. Call pcibios_free_irq() when enabling MSI/MSI-X and pcibios_alloc_irq() when disabling MSI/MSI-X. This allows arch code to manage resources associated with the legacy IRQ. [bhelgaas: changelog] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 72407514c92c4e4b3584cba5961e63fb10c1a04e Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Thu Jul 30 14:13:59 2015 +0100 ARM64: PCI: do not enable resources on PROBE_ONLY systems On ARM64 PROBE_ONLY PCI systems resources are not currently claimed, therefore they can't be enabled since they do not have a valid parent pointer; this in turn prevents enabling PCI devices on ARM64 PROBE_ONLY systems, causing PCI devices initialization to fail. To solve this issue, resources must be claimed when devices are added on PROBE_ONLY systems, which ensures that the resource hierarchy is validated and the resource tree is sane, but this requires changes in the ARM64 resource management that can affect adversely existing PCI set-ups (claiming resources on !PROBE_ONLY systems might break existing ARM64 PCI platform implementations). As a temporary solution in preparation for a proper resources claiming implementation in ARM64 core, to enable PCI PROBE_ONLY systems on ARM64, this patch adds a pcibios_enable_device() arch implementation that simply prevents enabling resources on PROBE_ONLY systems (mirroring ARM behaviour). This is always a safe thing to do because on PROBE_ONLY systems the configuration space set-up can be considered immutable, and it is in preparation of proper resource claiming that would finally validate the PCI resources tree in the ARM64 arch implementation on PROBE_ONLY systems. For !PROBE_ONLY systems resources enablement in pcibios_enable_device() on ARM64 is implemented as in current PCI core, leaving the behaviour unchanged. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a14949e09a228dcd4cc5088c90c375429c7d102c Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 30 19:19:43 2015 +0100 arm64: cmpxchg: truncate sub-word signed types before comparison When performing a cmpxchg operation on a signed sub-word type (e.g. s8), we need to ensure that the upper register bits of the "old" value used for comparison are zeroed, otherwise we may erroneously fail the cmpxchg which may even be interpreted as success by the caller (if the compiler performs the truncation as part of its check). This has been observed in mod_state, where negative values where causing problems with this_cpu_cmpxchg. This patch fixes the issue by explicitly casting 8-bit and 16-bit "old" values using unsigned types in our cmpxchg wrappers. 32-bit types can be left alone, since the underlying asm makes use of W registers in this case. Reported-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 811a4e6fce09bc9239c664c6a1a53645a678c303 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Jun 10 16:55:00 2015 +0800 PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed Add pci_has_managed_irq(), pci_set_managed_irq(), and pci_reset_managed_irq() to simplify code. No functional change. [bhelgaas: changelog] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 991de2e59090e55c65a7f59a049142e3c480f7bd Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Jun 10 16:54:59 2015 +0800 PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq() To support IOAPIC hotplug, we need to allocate PCI IRQ resources on demand and free them when not used anymore. Implement pcibios_alloc_irq() and pcibios_free_irq() to dynamically allocate and free PCI IRQs. Remove mp_should_keep_irq(), which is no longer used. [bhelgaas: changelog] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 890e4847587fcff5eb0438e90992ad7d2a261f33 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Jun 10 16:54:58 2015 +0800 PCI: Add pcibios_alloc_irq() and pcibios_free_irq() Add pcibios_alloc_irq() and pcibios_free_irq(), which are called when binding/unbinding PCI device drivers. PCI arch code may implement these to manage IRQ resources for hotplugged devices. [bhelgaas: changelog] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0642ffd6a864629c12a4cd7528782ed5b68ac69c Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Thu Jul 30 11:26:39 2015 -0700 Input: cyapa - do not try to enable proximity reporting on older devices Avoid the driver generate warning message when the cyapa driver working with the old Gen5 trackpad device which does not support the proximity function. Those old Gen5 trackpad device all have the platform version less than 2. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ddbb299db0e040aca8e26361ab778224eeacf9d3 Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Thu Jul 30 11:24:16 2015 -0700 Input: cyapa - introduce device tree binding Add device tree support for Cypress trackpad devices. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 36e9615bd70dc8cd5d7d4831943f788f5231350f Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Thu Jul 30 11:19:18 2015 -0700 Input: cyapa - add regulator vcc support We need to power up the chip before we can initialize it. On systems that delegate task of powering up regulators to firmware we assume that we'll be simply given a dummy regulator. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 951debb949f4adcfdd0cc6ca85c524243f3ead26 Merge: ce7fa78 b13138e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 30 11:13:21 2015 -0700 Merge branch 'bpf-next' Daniel Borkmann says: ==================== Minor BPF updates Various minor misc updates. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b13138ef72178a13f34e33883f9f093f9e3b1bda Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Jul 30 12:42:49 2015 +0200 bpf: also show process name/pid in bpf_jit_dump It can be useful for testing to see the actual process/pid who is loading a given filter. I was running some BPF test program and noticed unusual filter loads from time to time, triggered by some other application in the background. bpf_jit_disasm is still working after this change. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 485d6511e71e5810f07eec29b884c98021e67911 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Jul 30 12:42:48 2015 +0200 bpf, x86/sparc: show actual number of passes in bpf_jit_dump When bpf_jit_compile() got split into two functions via commit f3c2af7ba17a ("net: filter: x86: split bpf_jit_compile()"), bpf_jit_dump() was changed to always show 0 as number of compiler passes. Change it to dump the actual number. Also on sparc, we count passes starting from 0, so add 1 for the debug dump as well. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b36f92934e40d1ee24e5617ddedb852e10086ca Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Jul 30 12:42:47 2015 +0200 bpf: provide helper that indicates eBPF was migrated During recent discussions we had with Michael, we found that it would be useful to have an indicator that tells the JIT that an eBPF program had been migrated from classic instructions into eBPF instructions, as only in that case A and X need to be cleared in the prologue. Such eBPF programs do not set a particular type, but all have BPF_PROG_TYPE_UNSPEC. Thus, introduce a small helper for cde66c2d88da ("s390/bpf: Only clear A and X for converted BPF programs") and possibly others in future. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4962fa10f30d7b563f38467feeae10314b166c77 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Jul 30 12:42:46 2015 +0200 test_bpf: assign type to native eBPF test cases As JITs start to perform optimizations whether to clear A and X on eBPF programs in the prologue, we should actually assign a program type to the native eBPF test cases. It doesn't really matter which program type, as these instructions don't go through the verifier, but it needs to be a type != BPF_PROG_TYPE_UNSPEC. This reflects eBPF programs loaded via bpf(2) system call (!= type unspec) vs. classic BPF to eBPF migrations (== type unspec). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef5e724b25c9f90b7683bb2d45833ebac0989dcb Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jul 28 19:07:28 2015 +0100 arm64: alternative: put secondary CPUs into polling loop during patch When patching the kernel text with alternatives, we may end up patching parts of the stop_machine state machine (e.g. atomic_dec_and_test in ack_state) and consequently corrupt the instruction stream of any secondary CPUs. This patch passes the cpu_online_mask to stop_machine, forcing all of the CPUs into our own callback which can place the secondary cores into a dumb (but safe!) polling loop whilst the patching is carried out. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 02d9bd05dcf77bed954ed21b2d4c330879fa3103 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 10:39:28 2015 -0700 Input: touchscreen - export OF module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2e9e910e8a4626d1217b6887c74a456d2835be2a Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 10:38:52 2015 -0700 Input: export I2C module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ce7fa78ce16e476a610e165dd0e8c1e85a75d60f Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Thu Jul 30 14:30:29 2015 +0300 bnx2x: Fix compilation when CONFIG_BNX2X_SRIOV is not set Commit 05cc5a39ddb7 ("bnx2x: add vlan filtering offload") has broken compilation when CONFIG_BNX2X_SRIOV is not set. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22b5a0f7bc07ac4b4e4aab9a7f8cf2521819c1c4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Jun 18 14:55:03 2015 +0200 ARM: at91/dt: add minimal sama5d2 Xplained board Add minimal support for the new sama5d2 Xplained board. Only USB, spi/i2c, ethernet and uart/usart peripherals added. With this DTS file you can boot the board and begin to play with it. Rootfs on NFS and sd card have successfully been tested. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit e30cf8d3221ab6162420df460b4e96b959e96001 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Thu Jun 18 14:48:28 2015 +0200 ARM: at91/dt: add basic dtsi for sama5d2 SoC Only the basic support for this new Atmel Cortex-A5 SoC. A subset of the peripherals is setup to allow booting. IRQ, clocks, USB, crypto, timers, rtc, ethernet, spi/i2c and uart/usart peripheral nodes are added. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ff02e485486225a21e4679d94d5a869d5eae1df2 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Mon Jul 20 17:32:06 2015 +0800 ARM: at91/dt: sama5: update rstc to correct compatible string They'll use "atmel,sama5d3-rstc" for reset function. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> [nicolas.ferre@xxxxxxxxx: add the old compatible string as a fallback] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 913e4a90b6f9687ac0f543e7b632753e4f51c441 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Jul 30 13:13:03 2015 +0800 usb: gadget: f_uac2: finalize wMaxPacketSize according to bandwidth According to USB Audio Device 2.0 Spec, Ch4.10.1.1: wMaxPacketSize is defined as follows: Maximum packet size this endpoint is capable of sending or receiving when this configuration is selected. This is determined by the audio bandwidth constraints of the endpoint. In current code, the wMaxPacketSize is defined as the maximum packet size for ISO endpoint, and it will let the host reserve much more space than it really needs, so that we can't let more endpoints work together at one frame. We find this issue when we try to let 4 f_uac2 gadgets work together [1] at FS connection. [1]http://www.spinics.net/lists/linux-usb/msg123478.html Acked-by: Daniel Mack <zonque@xxxxxxxxx> Cc: andrzej.p@xxxxxxxxxxx Cc: Daniel Mack <zonque@xxxxxxxxx> Cc: tiwai@xxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> #v3.18+ Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8078f314b8c8012cf36e5decc75378b803bfba4d Author: Sanjay Singh Rawat <snjsrwt@xxxxxxxxx> Date: Wed Jul 22 16:29:46 2015 +0530 usb: gadget: f_mass_storage: stop thread in bind failure case After the worker thread is launched, bind function is doing further configuration. In case of failure stop the thread. Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Sanjay Singh Rawat <snjsrwt@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5feb5d2003499b1094d898c010a7604d7afddc4c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jul 30 00:30:58 2015 +0300 usb: gadget: m66592-udc: forever loop in set_feature() There is an "&&" vs "||" typo here so this loops 3000 times or if we get unlucky it could loop forever. Fixes: ceaa0a6eeadf ('usb: gadget: m66592-udc: add support for TEST_MODE') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1c99cabfc95d3b08fbf06d558ebfa76b5303710c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jul 30 00:29:23 2015 +0300 usb: gadget: fotg210-udc: remove duplicate conditions We handle the "if (!req->req.length)" condition at the start of the function and return. We can delete this dead code. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6f98f545b0b4effdf67e83e214a4eb13cd41fba2 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Tue Jul 28 11:10:22 2015 +0300 usb: phy: msm: Add D+/D- lines route control apq8016-sbc board is using Dual SPDT USB Switch (TC7USB40MU), witch is controlled by GPIO to de/multiplex D+/D- USB lines to USB2513B Hub and uB connector. Add support for this. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 736d093b5985c1f6583460c8eea1be3c9ee5635e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:20:03 2015 +0200 usb: gadget: apply generic altsetting support check mechanism Replace calls of gadget_supports_altsettings() function (which check altset support by comparing UDC controller name with hardcoded names) with gadget_is_altset_supported() which checks generic quirk bitfield. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7a896d40525349e7d52307fb957882696e09466c Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:20:02 2015 +0200 usb: gadget: f_ecm/f_ncm: check quirk instead of UDC name Use generic mechanism to check if UDC controller supports zlp. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a4cc42157f3f8c3dd5562b91c7430376912c6fb8 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:20:01 2015 +0200 usb: gadget: f_mass_storage: check quirk instead of UDC name Use generic mechanism to check if UDC controller supports stalling. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ca1023c81dd10f76a5d0a8be2fdbe724fe7a126a Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:20:00 2015 +0200 usb: gadget: add 'quirk_zlp_not_supp' to usb_gadget Due to some UDC controllers may not support zlp, usb gadget layer needs to provide a generic way to inform gadget functions about non-standard hardware limitations. This patch adds 'quirk_zlp_not_supp' field to struct usb_gadget and helper function gadget_is_zlp_supported(). It also sets 'quirk_zlp_not_supp' to 1 in musb UDC driver, which has such limitation. [ balbi@xxxxxx : make it build ] Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 02ded1b0d8e73dad7d2626c960ef20fb7dc30753 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:19:59 2015 +0200 usb: gadget: add 'quirk_stall_not_supp' to usb_gadget Due to some UDC controllers may not support stalling, usb gadget layer needs to provide a generic way to inform gadget functions about non-standard hardware limitations. This patch adds 'quirk_stall_not_supp' field to struct usb_gadget and helper function gadget_is_stall_supported(). It also sets 'quirk_stall_not_supp' to 1 in at91_udc driver, which has such limitation. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ffd9a0fcbbed300b55f84e8397e96c2edd06cbdf Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:19:58 2015 +0200 usb: gadget: add 'quirk_altset_not_supp' to usb_gadget Due to some UDC controllers may not support altsettings, usb gadget layer needs to provide a generic way to inform gadget functions about non-standard hardware limitations. This patch adds 'quirk_altset_not_supp' field to struct usb_gadget and helper function gadget_is_altset_supported(). It also sets 'quirk_altset_not_supp' to 1 in pxa25x_udc and pxa27x_udc drivers, which have such limitation. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c0bd5456a470223e331a9e9e93b4a7425ecfaabb Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:32 2015 +0530 usb: dwc3: ep0: handle non maxpacket aligned transfers > 512 Use chained TRB mechanism to handle non maxpacket aligned transfers greater than bounce buffer size. With this the first TRB will be programmed to receive 'ALIGN(ur->length - maxp, maxp)' data and the second TRB will be programmed to receive the remaining data using bounce buffer. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2abd9d5fa60f90cd99801687904f528156d31e18 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:31 2015 +0530 usb: dwc3: ep0: Add chained TRB support Add chained TRB support to ep0. Now TRB's can be chained just by invoking _dwc3_ep0_start_trans_ with 'chain' parameter set to true. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 368ca113ca0a41bbf60be6886bbbd238523c6fba Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:30 2015 +0530 usb: dwc3; ep0: Modify _dwc3_ep0_start_trans_ API to take 'chain' parameter No functional change. Added a new parameter in _dwc3_ep0_start_trans_ to indicate whether the TRB is a chained TRB or last TRB. This is in preparation for adding chained TRB support for ep0. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8a3442205630d52b1b1777efe07c80832aa5ee73 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:29 2015 +0530 usb: dwc3: ep0: preparation for handling non maxpacket aligned transfers > 512 No functional change. This is in preparation for handling non maxpacket aligned transfers greater than bounce buffer size. This is basically to avoid code duplication when using chained TRB transfers to handle non maxpacket aligned transfers greater than bounce buffer size. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2e5464da4e7dc55e1751d2beb3e6e78f35020756 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:28 2015 +0530 usb: dwc3: ep0: use _roundup_ to calculate the transfer size No functional change. Used _roundup_ macro to calculate the transfer size aligned to maxpacket in dwc3_ep0_complete_data. It also makes it similar to how transfer size is calculated in __dwc3_ep0_do_control_data. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b2fb5b1a0f50d3ebc12342c8d8dead245e9c9d4e Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:27 2015 +0530 usb: dwc3: ep0: Fix mem corruption on OUT transfers of more than 512 bytes DWC3 uses bounce buffer to handle non max packet aligned OUT transfers and the size of bounce buffer is 512 bytes. However if the host initiates OUT transfers of size more than 512 bytes (and non max packet aligned), the driver throws a WARN dump but still programs the TRB to receive more than 512 bytes. This will cause bounce buffer to overflow and corrupt the adjacent memory locations which can be fatal. Fix it by programming the TRB to receive a maximum of DWC3_EP0_BOUNCE_SIZE (512) bytes. Cc: <stable@xxxxxxxxxxxxxxx> # 3.4+ Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a0ddef81f4aeeeec3326f6b6a255d8ea13b41908 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Wed Jul 22 14:30:14 2015 -0400 tile: enable full SECCOMP support Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 38715df206d52817ac8ac032f35ee76955bdc15d Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:30 2015 +0530 tile/time: Migrate to new 'set-state' interface Migrate tile driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 49bda21266fdf195142e8b5dea057f09e96ada9f Author: MichaÅ? Pecio <michal.pecio@xxxxxxxxx> Date: Sun Jul 26 11:14:34 2015 +0200 USB: pl2303: fix baud-rate divisor calculations This commit fixes the following issues: 1. The 9th bit of buf was believed to be the LSB of divisor's exponent, but the hardware interprets it as MSB (9th bit) of the mantissa. The exponent is actually one bit shorter and applies to base 4, not 2 as previously believed. 2. Loop iterations doubled the exponent instead of incrementing. 3. The exponent wasn't checked for overflow. 4. The function returned requested rate instead of actual rate. Due to issue #2, the old code deviated from the wrong formula described in #1 and actually yielded correct rates when divisor was lower than 4096 by using exponents of 0, 2 or 4 base-2, interpreted as 0, 1, 2 base-4 with the 9th mantissa bit clear. However, at 93.75 kbaud or less the rate turned out too slow due to #2 or too fast due to #2 and #3. I tested this patch by sending and validating 0x00,0x01,..,0xff to an FTDI dongle at 234, 987, 2401, 9601, 31415, 115199, 250k, 500k, 750k, 1M, 1.5M, 3M+1 baud. All rates passed. I also used pv to check speed at some rates unsupported by FTDI: 45 (the lowest possible), 2M, 4M, 5M and 6M-1. Looked sane. Signed-off-by: Michal Pecio <michal.pecio@xxxxxxxxx> Fixes: 399aa9a75ad3 ("USB: pl2303: use divisors for unsupported baud rates") Cc: stable <stable@xxxxxxxxxxxxxxx> # v3.18 [johan: update summary ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit aa53c09e90a19c215549bd1ca970fddcb7c0c001 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Jul 27 20:24:17 2015 +0200 perf tests: Adding build test for having ending double slash Pawel Moll reported build issue for having extra slash (/) at the end of the prefix variable. $ make prefix=/usr/local/ CC tests/attr.o tests/attr.c: In function â??test__attrâ??: tests/attr.c:168:50: error: expected â??)â?? before â??;â?? token snprintf(path_perf, PATH_MAX, "%s/perf", BINDIR); ^ tests/attr.c:176:1: error: expected â??;â?? before â??}â?? token } ^ tests/attr.c:176:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors Adding automated test case for this. Reported-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150727182417.GD20509@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3e5e95ff468b3d19fb08a308b921a83716650b48 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Jul 15 18:32:45 2015 +0200 ARM: exynos_defconfig: Enable NTC Thermistors support The Exynos5420 Peach Pit and Exynos5800 Peach Pi Chromebooks have IIO based ADC thermistors. Enable built-in support for its driver. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit cf91f6d94684b8c7b81c3558ad2639179d7c1da9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Jul 15 18:32:44 2015 +0200 ARM: multi_v7_defconfig: Enable NTC Thermistors support The Exynos5420 Peach Pit and Exynos5800 Peach Pi Chromebooks have IIO based ADC thermistors. Enable module support for its driver and also for the needed Exynos ADC driver. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f7b5a58fd7f441f93279d964fe1ee4ff8669859e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Jul 8 15:40:46 2015 -0700 ARM: multi_v7_defconfig: Remove old Samsung USB PHY configs The old drivers/usb/phy/phy-samsung-usb{2,3} are now deleted since were replaced by newer drivers that use the Generic PHY framework but their Kconfig options were left over in multi_v7_defconfig. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 261cd3ad5d49ebf128afa5397763b27fe5c3d8f8 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Tue Jun 9 13:37:59 2015 +0930 ARM: exynos_defconfig: Enable CONFIG_SND_SOC_ODROIDX2 for Odroid-XU3 Enable CONFIG_SND_SOC_ODROIDX2 and CONFIG_SND_SIMPLE_CARD to enable sound on Odroid-XU3 board using the max98090 audio codec. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ae7d3821a769a4ac64d4c244b5cd8b134768d452 Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 11:58:50 2015 +0300 ath10k: initialize msdu ext. descriptor before use Initial QCA99X0 support has a known issue with TCP Tx throughput. All other path such as UDP Tx/Rx and TCP Rx meet their expectation (> 900Mbps), but TCP Tx marked as low as 5Mbps when single pair is used on iperf. The root cause is turned out because TSO flag is not initialized properly so that firmware configures TSO in wrong way. TSO flags in msdu extension descriptor is required to be reset to indicate firmware there is no TSO is enabled, otherwise it could act as TSO is enabled which causes huge throughput drop. In fact, it's enough by resetting TSO flags only to prevent the unexpected behavior, but initializing whole msdu ext. descriptor will help to clear uncertainty of firmware could bring on as it constantly updated. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8a055a8adc875768223be2dfc33de5dc70212756 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 11:40:39 2015 +0300 ath10k: add QCA99X0 to supported device list Add vendor/device id of QCA99X0 V2.0 to pci id table and QCA99X0_HW_2_0_CHIP_ID_REV to ath10k_pci_supp_chips[] for QCA99X0 to get detected by the driver. kvalo: now QCA99X0 family of chipsets is supported by ath10k. Tested client, AP and monitor mode with QCA9990. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 71ba994c94a81c37185ef2fb5190844286ba9aca Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 12:31:15 2015 +0200 KVM: x86: clean/fix memory barriers in irqchip_in_kernel The memory barriers are trying to protect against concurrent RCU-based interrupt injection, but the IRQ routing table is not valid at the time kvm->arch.vpic is written. Fix this by writing kvm->arch.vpic last. kvm_destroy_pic then need not set kvm->arch.vpic to NULL; modify it to take a struct kvm_pic* and reuse it if the IOAPIC creation fails. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dd489240a21afc3ff3962aba5d987229536cae63 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 11:32:20 2015 +0200 KVM: document memory barriers for kvm->vcpus/kvm->online_vcpus Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1201844e6ddc4e13dfc1a7ffbba0cfd180944679 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 11:40:38 2015 +0300 ath10k: increase max client to 512 in qca99x0 When max client was set to 512 in qca99x0, there was host memory alloc failure during wmi service ready event handling. This issue got resolved now, increasing max client limit from 256 to 512. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c8ecfc1c33979054fb631d2066745d03ce322b6f Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 11:40:38 2015 +0300 ath10k: fix memory alloc failure in qca99x0 during wmi svc rdy event Host memory required for firmware is allocated while handling wmi service ready event. Right now, wmi service ready is handled in tasklet context and it calls dma_alloc_coherent() with atomic flag (GFP_ATOMIC) to allocate memory in host needed for firmware. The problem is, dma_alloc_coherent() with GFP_ATOMIC fails in the platform (at least in AP platform) where it has less atomic pool memory (< 2mb). QCA99X0 requires around 2 MB of host memory for one card, having additional QCA99X0 card in the same platform will require similarly amount of memory. So, it's not guaranteed that all the platform will have enough atomic memory pool. Fix this issue, by handling wmi service ready event in workqueue context and calling dma_alloc_coherent() with GFP_KERNEL. mac80211 work queue will not be ready at the time of handling wmi service ready. So, it can't be used to handle wmi service ready. Also, register work gets scheduled during insmod in existing ath10k_wq and waits for wmi service ready to completed. Both workqueue can't be used for this purpose. New auxiliary workqueue is added to handle wmi service ready. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 41656aa77f4f0caddde87bc88c2fe13f462b33bd Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 29 19:50:46 2015 -0400 MAINTAINERS: change 842 NX owner email address Change my IBM email to my personal IEEE email. I'm leaving IBM, so my email there won't work anymore. This changes the owner to my personal email, so I can still get cc'ed on patches, until someone at IBM sends a patch to take it over. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 844190dbeb5f37af5218f8587aeae25682fcb3a1 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 29 19:43:29 2015 -0400 crypto: nx - use be32_to_cpu for __be32 field in debug msg One of the debug messages in the NX 842 PowerNV driver is missing the required be32_to_cpu() wrapper when accessing the __be32 field csb->count. Add the wrapper so the message will show the correct count. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7371c0a5c205455d69f8e8dc1d16791f08a38155 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 29 19:42:09 2015 -0400 crypto: nx - don't err if compressed output > input Return success instead of error if compression succeeds but the output is larger than the input. It's unlikely that the caller will use the compressed data since it's larger than the original uncompressed data, but there was no error and returning an error code is incorrect. Further, for testing small input buffers, the output is likely to be larger than the input and success needs to be returned to verify the test. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f15107f41282d5ae9c6c26832dcc485729821ccc Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Wed Jul 29 14:16:58 2015 +0800 ARM: zx: Add power domains for ZX296702 Add power domains for ZX296702 to power off inactive power domains in runtime. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> [olof: Marked zx296702_pd_driver as __initdata to avoid section mismatch] Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5857d1dbae7d5bf4219efc39996ad002362a2951 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Jul 30 09:40:53 2015 +0200 Bluetooth: 6lowpan: Fix possible race This patch fix a possible race after calling register_netdev. After calling netdev_register it could be possible that netdev_ops callbacks use the uninitialized private data of lowpan_dev. By moving the initialization of this data before netdev_register we can be sure that initialized private data is be used after netdev_register. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 917cdc5f7305c753ed6e58d7e87d25ba023f18b4 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Jun 16 18:08:34 2015 +0800 ARM: at91/dt: add isi & ov2640 dt nodes for at91sam9m10g45ek board First we group the isi data pins, and for now we only use 0~7 data pins with HSYNC and VSYNC. Also add the link for atmel-isi and ov2640 sensor node. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: move the pinctrl properties in board .dts file] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c22ff7b4e74d8136a9911d8b8d0f25f9f7c3edc1 Author: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Date: Tue Jul 21 17:44:47 2015 +0300 mac802154: Fix memory corruption with global deferred transmit state. When transmitting a packet via a mac802154 driver that can sleep in its transmit function, mac802154 defers the call to the driver's transmit function to a per-device workqueue. However, mac802154 uses a single global work_struct for this, which means that if you have more than one registered mac802154 interface in the system, and you transmit on more than one of them at the same time, you'll very easily cause memory corruption. This patch moves the deferred transmit processing state from global variables to struct ieee802154_local, and this seems to fix the memory corruption issue. Signed-off-by: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8b44f0dd2f90acd6c8842537223b39f890f2e713 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Jul 30 12:13:29 2015 +0200 at86rf230: remove hrtimer on 1 usec delay According Documentation/timers/timers-howto.txt the usually case for setting up a hrtimer takes > ~10us. So we should use udelay in this case so we are sure that the state change was done, before doing the state change assert. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 54c9ee39923c0ffa27b99a1b7321e0d07408c97b Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Thu Jul 16 22:17:13 2015 +0200 Bluetooth: cmtp: Do not use list_for_each_safe when not needed There is no need to use the safe version of list_for_each here. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f4b3eee727e876d625cfe3585af48f4983c435d7 Author: Bernhard Thaler <bernhard.thaler@xxxxxxxx> Date: Thu Jul 30 06:06:12 2015 +0200 netfilter: bridge: do not initialize statics to 0 or NULL Fix checkpatch.pl "ERROR: do not initialise statics to 0 or NULL" for all statics explicitly initialized to 0. Signed-off-by: Bernhard Thaler <bernhard.thaler@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d63b282645f56641900e15fb14572bdf6c9bed27 Author: Daniel Drake <drake@xxxxxxxxxxxx> Date: Fri Jul 17 11:12:25 2015 -0600 Bluetooth: btusb: match generic class code in interface descriptor btusb currently has a generic match on USB device descriptors: { USB_DEVICE_INFO(0xe0, 0x01, 0x01) }, However, http://www.usb.org/developers/defined_class states: Base Class E0h (Wireless Controller) This base class is defined for devices that are Wireless controllers. Values not shown in the table below are reserved. These class codes are to be used in Interface Descriptors, with the exception of the Bluetooth class code which can also be used in a Device Descriptor. Add a match on the interface descriptors accordingly. This fixes compatibility with the RTL8723AU device shown below. This device conforms to the USB Interface Association Descriptor specification, which requires the device to have class ef/02/01. The extra IAD descriptor then specifies that interfaces 0 and 1 belong to the same function/driver, which is true. Provided that the Bluetooth device class spec accepts use of the IAD, I imagine that technically, all btusb devices should be configured like this. T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0bda ProdID=0724 Rev= 2.00 S: Manufacturer=Realtek S: Product=802.11n WLAN Adapter S: SerialNumber=00e04c000001 C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=500mA A: FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=01 I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms I:* If#= 2 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtl8723au E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=87(I) Atr=03(Int.) MxPS= 64 Ivl=500us Signed-off-by: Daniel Drake <drake@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72b1e5e4cac72efa6b739b47e41f53e4520b4194 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Jul 23 16:21:30 2015 +0200 netfilter: bridge: reduce nf_bridge_info to 32 bytes again We can use union for most of the temporary cruft (original ipv4/ipv6 address, source mac, physoutdev) since they're used during different stages of br netfilter traversal. Also get rid of the last two ->mask users. Shrinks struct from 48 to 32 on 64bit arch. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit df9b89c7e46cf88ebf5a29c28c45d3b0b8c5d502 Author: Arron Wang <arron.wang@xxxxxxxxx> Date: Fri Jul 24 17:11:01 2015 +0800 Bluetooth: Move create/accept phy link completed callback to amp.c To avoid amp module hooks from hci_event.c Signed-off-by: Arron Wang <arron.wang@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b3d3914006a05cae448684058760359ef0cded49 Author: Arron Wang <arron.wang@xxxxxxxxx> Date: Fri Jul 24 17:10:50 2015 +0800 Bluetooth: Move amp assoc read/write completed callback to amp.c To avoid amp module hooks from hci_event.c Signed-off-by: Arron Wang <arron.wang@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 839278823c27b71b46d677c8cf56b2d1f95610af Author: Arron Wang <arron.wang@xxxxxxxxx> Date: Fri Jul 24 17:10:16 2015 +0800 Bluetooth: Move get info completed callback to a2mp.c To avoid a2mp module hooks from hci_event.c and send getinfo response operation only required by a2mp module, we can move this callback to a2mp.c Signed-off-by: Arron Wang <arron.wang@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a77a6a14e54a6853141d99512bfed4acb5c2657a Author: Arron Wang <arron.wang@xxxxxxxxx> Date: Fri Jul 24 17:13:15 2015 +0800 Bluetooth: Move high speed specific event under BT_HS option Signed-off-by: Arron Wang <arron.wang@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 244bc377591c3882f454882357bc730c90cbedb5 Author: Arron Wang <arron.wang@xxxxxxxxx> Date: Fri Jul 24 17:12:55 2015 +0800 Bluetooth: Add BT_HS config option Move A2MP Module under BT_HS config option and allow the user have flexible option to choose the feature only they need a2mp_discover_amp() & a2mp_channel_create() are a2mp module entry point for master and slave, and this is dynamic invoked depends on the userspace or remote request, then we defined their implementation depends on BT_HS config Signed-off-by: Arron Wang <arron.wang@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4a546ec364633fcbe5709811230d7e0580c9dc1d Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:02:25 2015 +0200 Bluetooth: btbcm: Add BCM4330B1 UART device Add "waiting for configuration" address. Add lmp_subver and firmware name for BCM4330B1 controller. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d7ee3519042798be6224e97f259ed47a63da4620 Author: Michal KubeÄ?ek <mkubecek@xxxxxxx> Date: Fri Jul 17 16:17:56 2015 +0200 netfilter: nf_ct_sctp: minimal multihoming support Currently nf_conntrack_proto_sctp module handles only packets between primary addresses used to establish the connection. Any packets between secondary addresses are classified as invalid so that usual firewall configurations drop them. Allowing HEARTBEAT and HEARTBEAT-ACK chunks to establish a new conntrack would allow traffic between secondary addresses to pass through. A more sophisticated solution based on the addresses advertised in the initial handshake (and possibly also later dynamic address addition and removal) would be much harder to implement. Moreover, in general we cannot assume to always see the initial handshake as it can be routed through a different path. The patch adds two new conntrack states: SCTP_CONNTRACK_HEARTBEAT_SENT - a HEARTBEAT chunk seen but not acked SCTP_CONNTRACK_HEARTBEAT_ACKED - a HEARTBEAT acked by HEARTBEAT-ACK State transition rules: - HEARTBEAT_SENT responds to usual chunks the same way as NONE (so that the behaviour changes as little as possible) - HEARTBEAT_ACKED responds to usual chunks the same way as ESTABLISHED does, except the resulting state is HEARTBEAT_ACKED rather than ESTABLISHED - previously existing states except NONE are preserved when HEARTBEAT or HEARTBEAT-ACK is seen - NONE (in the initial direction) changes to HEARTBEAT_SENT on HEARTBEAT and to CLOSED on HEARTBEAT-ACK - HEARTBEAT_SENT changes to HEARTBEAT_ACKED on HEARTBEAT-ACK in the reply direction - HEARTBEAT_SENT and HEARTBEAT_ACKED are preserved on HEARTBEAT and HEARTBEAT-ACK otherwise Normally, vtag is set from the INIT chunk for the reply direction and from the INIT-ACK chunk for the originating direction (i.e. each of these defines vtag value for the opposite direction). For secondary conntracks, we can't rely on seeing INIT/INIT-ACK and even if we have seen them, we would need to connect two different conntracks. Therefore simplified logic is applied: vtag of first packet in each direction (HEARTBEAT in the originating and HEARTBEAT-ACK in reply direction) is saved and all following packets in that direction are compared with this saved value. While INIT and INIT-ACK define vtag for the opposite direction, vtags extracted from HEARTBEAT and HEARTBEAT-ACK are always for their direction. Default timeout values for new states are HEARTBEAT_SENT: 30 seconds (default hb_interval) HEARTBEAT_ACKED: 210 seconds (hb_interval * path_max_retry + max_rto) (We cannot expect to see the shutdown sequence so that, unlike ESTABLISHED, the HEARTBEAT_ACKED timeout shouldn't be too long.) Signed-off-by: Michal Kubecek <mkubecek@xxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit cfcbe858f26f6450aa0cb3ab26b3a0a058b348d5 Merge: 8670f2a 31557f0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 30 00:05:00 2015 -0700 Merge branch 'mlxsw' Jiri Pirko says: ==================== Introduce Mellanox Technologies Switch ASICs switchdev drivers This patchset introduces Mellanox Technologies Switch driver infrastructure and support for SwitchX-2 ASIC. The driver is divided into 3 logical parts: 1) Bus - implements switch bus interface. Currently only PCI bus is implemented, but more buses will be added in the future. Namely I2C and SGMII. (patch #2) 2) Driver - implemements of ASIC-specific functions. Currently SwitchX-2 ASIC is supported, but a plan exists to introduce support for Spectrum ASIC in the near future. (patch #4) 3) Core - infrastructure that glues buses and drivers together. It implements register access logic (EMADs) and takes care of RX traps and events. (patch #1 and #3) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31557f0f9755696530d08465cf9940404f2d48e2 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Jul 29 23:33:49 2015 +0200 mlxsw: Introduce Mellanox SwitchX-2 ASIC support Benefit from the previously introduced Mellanox Switch infrastructure and add driver for SwitchX-2 ASIC. Note that this driver is very simple now. It implements bare minimum for getting device to work on slow-path. Fast-path offload functionality is going to be added soon. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Reviewed-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ec14b7634b298186f18f65d959354dc3c60e02c Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Wed Jul 29 23:33:48 2015 +0200 mlxsw: Add interface to access registers and process events Ethernet Management Datagrams (EMADs) are Ethernet packets sent between the host and the device in order to configure the available device registers. Another use case is notifications sent from the device to the host, letting it know about certain events, such as port up / down. Add the ability to construct EMADs with provisions to construct and parse the registers' payloads. Implement EMAD transaction layer which is responsible for the reliable transmission of EMADs. Also, add an infrastructure used by the switch driver to register for particular events generated by the device. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Reviewed-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eda6500a987a027b78a275c11db6454404a626aa Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Jul 29 23:33:47 2015 +0200 mlxsw: Add PCI bus implementation Add PCI bus implementation for Mellanox Technologies Switch ASICs. This includes firmware initialization, async queues manipulation and command interface implementation. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Reviewed-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93c1edb27f9e7ef7f276b91763c93242bbda71cb Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Jul 29 23:33:46 2015 +0200 mlxsw: Introduce Mellanox switch driver core Add core components of Mellanox switch driver infrastructure. Core infrastructure is designed so that it can be used by multiple bus drivers (PCI now, I2C and SGMII are planned to be implemented in the future). Multiple switch kind drivers can be registered as well. This core serves as a glue between buses and drivers. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Reviewed-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8670f2a5acec2f79839785efdfb3626dfada7ed4 Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Date: Wed Jul 29 19:35:32 2015 +0530 be2net: Support vxlan offload stats in the driver This patch adds vxlan offload specific counters to ethtool stats. We provide tx/rx queue counters to show the number of vxlan offload pkts sent/received. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a63c580a5271b61f12cf91e768120e33792e2907 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Wed Jul 29 10:40:26 2015 +0300 drm/amdkfd: fix bug when initializing sdma vm A logical AND operation was used during mask and shift, instead of a bitwise AND operation. This patch fixes this bug by changing the operation to bitwise AND. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e8a64b20eb27cd9c9403f51e4e6c415f9e096e39 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Wed Jul 29 10:33:06 2015 +0300 drm/amdgpu: fix bug when amdkfd destroys hqd The wrong define was used to check if the hqd is still active v2: Don't use SHIFT as the MASK is already shifted Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 05cc5a39ddb74dd81a716a45e67b938d8ebed463 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 29 15:52:46 2015 +0300 bnx2x: add vlan filtering offload Current driver always uses vlan-promisc mode, i.e., it receives both tagged and untagged traffic and lets the network stack drop packets tagged with unrequested vlan tags. This patch implements vlan-filtering offload in the driver - Unless explicitly configured to promisc mode, only untagged packets or packets tagged with requested vlans would reach the Rx flow. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e82a08b058976f33ad78201eda976ddaf8fe813d Merge: dcc38c0 98e81b0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 29 23:04:47 2015 -0700 Merge branch 'mlx5e-next' Amir Vadai says: ==================== net/mlx5e: Driver update 29-Jul-2015 This patchset contain bug fixes and code cleaning patches to the ConnectX-4 Ethernet driver. Patchset was applied and tested over commit 8c1a91f ("Merge branch 'mlx4-802.1ad-accel'") ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98e81b0ad6f25e2c4e2ff1680f50f9c66bec9e08 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:46 2015 +0300 net/mlx5e: Remove the mlx5e_update_priv_params() function It was used to update netdev priv parameters that require stopping and re-opening the device in a generic way - it got the new parameters and did: ndo_stop(), copy new parameters into current parameters, ndo_open(). We chose to remove it for two reasons: 1) It requires additional instance of struct mlx5e_params on the stack and looking forward we expect this struct to grow. 2) Sometimes we want to do additional operations (besides just updating the priv parameters) while the netdev is stopped. For example, updating netdev->mtu @mlx5e_change_mtu() should be done while the netdev is stopped (done in this commit). Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fc22739a83a245ddad9d9f7c2001c8b3b44c500 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:45 2015 +0300 net/mlx5e: Introduce create/destroy RSS indir table access functions Introduce access functions to create/destroy RSS indrection table and use it in the Ethernet driver. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f2a30037bf18ae6d1bab2c47caeceb4eb0f6464 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:44 2015 +0300 net/mlx5e: Do not use netdev_err() before the netdev is registered Since it is un-named at this time. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97de9f310a588161f0d27158c4ea6d8b477a4625 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:43 2015 +0300 net/mlx5e: Avoid redundant de-reference Use the already defined rq pointer directly. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28abbfddf4477c4e9a04f276858ffa3fad90b7ac Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:42 2015 +0300 net/mlx5e: Remove redundant assignment of sq->user_index It is not needed by the mlx5 Eth driver since it has a CQ per RQ/SQ. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4418a6c36cd9eb080cde0473d15f5cee4c3f35d Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:41 2015 +0300 net/mlx5e: Remove redundant field mlx5e_priv->num_tc This field already exists under the mlx5e_params struct Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68cdf5d6e91068c98d6091b193dc7a5ab7dcf5eb Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:40 2015 +0300 net/mlx5e: Use hard-coded 4K page size for RQ/SQ/CQ The page size of the device's RQ/SQ/CQ objects is defined in 4K units regardless of the system pages size. Thus using the Linux's PAGE_SHIFT macro yields wrong device configuration in systems where PAGE_SHIFT!=12. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c928ed55171b3aa5e14a9474ffe60f31590b89ff Author: Haggai Abramonvsky <hagaya@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:39 2015 +0300 net/mlx5_core: Check the return value of mlx5_command_exec() mlx5_cmd_exec() might fail - need to check return value. Signed-off-by: Haggai Abramovsky <hagaya@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dcc38c033b32b81b88b798f0c0b8453839ac996b Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Jul 29 13:52:06 2015 +0200 openvswitch: Re-add CONFIG_OPENVSWITCH_VXLAN This readds the config option CONFIG_OPENVSWITCH_VXLAN to avoid a hard dependency of OVS on VXLAN. It moves the VXLAN config compat code to vport-vxlan.c and allows compliation as a module. Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device") Fixes: 2661371ace96 ("openvswitch: fix compilation when vxlan is a module") Cc: Pravin B Shelar <pshelar@xxxxxxxxxx> Cc: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ce4b2f44df74bac91ff5ddcbf903572577005bc Author: Bogdan Hamciuc <bogdan.hamciuc@xxxxxxxxxxxxx> Date: Wed Jul 29 12:47:16 2015 +0300 net: pktgen: Remove unused 'allocated_skbs' field Field pktgen_dev.allocated_skbs had been written to, but never read from. The number of allocated skbs can be deduced anyway, from the total number of sent packets and the 'clone_skb' param. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 879c7220e828af8bd82ea9d774c7e45c46b976e4 Author: Bogdan Hamciuc <bogdan.hamciuc@xxxxxxxxxxxxx> Date: Wed Jul 29 12:45:58 2015 +0300 net: pktgen: Observe needed_headroom of the device Allocate enough space so as not to force the outgoing net device to do skb_realloc_headroom(). Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92a99bf3bae7c1267db87bb3e3babda2c6dcc8a7 Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Jul 29 09:45:40 2015 +0200 lwtunnel: Make lwtun_encaps[] static Any external user should use the registration API instead of accessing this directly. Cc: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4b67f269d28c70174e11b7af7fbdb81124d220c Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Jul 29 16:13:06 2015 +0300 gianfar: Fix warnings when built on 64-bit As part of defconfig consolidation using fragments, we'd like to be able to have the same drivers enabled on 32-bit and 64-bit. Gianfar happens to only exist on 32-bit systems, and when building the resulting 64-bit kernel warnings were produced. A couple of the warnings are trivial, but the rfbptr code has deeper issues. It uses the virtual address as the DMA address, which again, happens to work in the environments where this driver is currently used, but is not the right thing to do. Fixes: 45b679c9a3cc ("gianfar: Implement PAUSE frame generation support") Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97493e6a4b527a9f3504908fdd0531b7036b9157 Merge: 7a86d96 265f94f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 29 22:44:05 2015 -0700 Merge branch 'sk_txhash' Tom Herbert says: ==================== net: Initialize sk_hash to random value and reset for failing cnxs This patch set implements a common function to simply set sk_txhash to a random number instead of going through the trouble to call flow dissector. From dst_negative_advice we now reset the sk_txhash in hopes of finding a better ECMP path through the network. Changing sk_txhash affects: - IPv6 flow label and UDP source port which affect ECMP in the network - Local ECMP route selection (pending changes to use sk_txhash) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 265f94ff54d62503663d9c788ba1f082e448f8b8 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Jul 28 16:02:06 2015 -0700 net: Recompute sk_txhash on negative routing advice When a connection is failing a transport protocol calls dst_negative_advice to try to get a better route. This patch includes changing the sk_txhash in that function. This provides a rudimentary method to try to find a different path in the network since sk_txhash affects ECMP on the local host and through the network (via flow labels or UDP source port in encapsulation). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 877d1f6291f8e391237e324be58479a3e3a7407c Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Jul 28 16:02:05 2015 -0700 net: Set sk_txhash from a random number This patch creates sk_set_txhash and eliminates protocol specific inet_set_txhash and ip6_set_txhash. sk_set_txhash simply sets a random number instead of performing flow dissection. sk_set_txash is also allowed to be called multiple times for the same socket, we'll need this when redoing the hash for negative routing advice. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d83c2b37d435b88452bc88a2a47672346efb2b4 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:11 2015 +1000 selftests/seccomp: Add powerpc support Wire up the syscall number and regs so the tests work on powerpc. With the powerpc kernel support just merged, all tests pass on ppc64, ppc64 (compat), ppc64le, ppc, ppc64e and ppc64e (compat). Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c385d0db30f3c0bf687a080c38e8088c342116a3 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:10 2015 +1000 selftests/seccomp: Make seccomp tests work on big endian The seccomp_bpf test uses BPF_LD|BPF_W|BPF_ABS to load 32-bit values from seccomp_data->args. On big endian machines this will load the high word of the argument, which is not what the test wants. Borrow a hack from samples/seccomp/bpf-helper.h which changes the offset on big endian to account for this. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 2449acc5348b94325e9374056b2cc3ed55816e96 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:09 2015 +1000 powerpc/kernel: Enable seccomp filter This commit enables seccomp filter on powerpc, now that we have all the necessary pieces in place. To support seccomp's desire to modify the syscall return value under some circumstances, we use a different ABI to the ptrace ABI. That is we use r3 as the syscall return value, and orig_gpr3 is the first syscall parameter. This means the seccomp code, or a ptracer via SECCOMP_RET_TRACE, will see -ENOSYS preloaded in r3. This is identical to the behaviour on x86, and allows seccomp or the ptracer to either leave the -ENOSYS or change it to something else, as well as rejecting or not the syscall by modifying r0. If seccomp does not reject the syscall, we restore the register state to match what ptrace and audit expect, ie. r3 is the first syscall parameter again. We do this restore using orig_gpr3, which may have been modified by seccomp, which allows seccomp to modify the first syscall paramater and allow the syscall to proceed. We need to #ifdef the the additional handling of r3 for seccomp, so move it all out of line. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit e5dafc0da04567bb8d4adce00fcbde250608e394 Merge: dcd14dd 8c10342 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Jul 30 12:45:11 2015 +1000 Merge tag 'topic/drm-misc-2015-07-28' of git://anongit.freedesktop.org/drm-intel into drm-next More drm-misc, mostly fine-tuning of atomic helpers. They're mostly driver-wide interface changes of the helpers and I need them for i915 work, so I plan to pull this tag into drm-intel-next too. * tag 'topic/drm-misc-2015-07-28' of git://anongit.freedesktop.org/drm-intel: drm/atomic: Update legacy DPMS state during modesets, v3. drm: Make the connector dpms callback return a value, v2. drm/atomic: pass old crtc state to atomic_begin/flush. drm/atomic: add connectors_changed to separate it from mode_changed, v2 drm: Fix DP_TEST_COUNT_MASK commit 7a86d96e4a990aab2fc7b3b97c3bb09f9da0a290 Merge: 71382bc 274b0b3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 29 17:17:44 2015 -0700 Merge branch 'thunderx_octeon_mdio' Radha Mohan Chintakuntla says: ==================== Add MDIO support to ThunderX NIC driver This patch series adds MDIO support to ThunderX NIC driver by making use of existing mdio-octeon driver. In the process modified the mdio-octeon driver to work on both Octeon and ThunderX platforms. * From v1: - Removed default selection in Kconfig for MDIO_OCTEON - Replace uint64 with u64 as suggested by David Daney ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 274b0b3984a93d6a2cbc2966a146fa3ed7288b1e Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Jul 28 15:12:13 2015 -0700 net: thunderx: Select CONFIG_MDIO_OCTEON for ThunderX NIC The CONFIG_MDIO_OCTEON is required so that the ThunderX NIC driver can talk to the PHY drivers. Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de9e397e40f56b9f34af4bf6a5bd7a75ea02456c Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Jul 28 15:12:12 2015 -0700 net: mdio-octeon: Fix octeon_mdiobus_probe function for return values This patch fixes a possible crash in the octeon_mdiobus_probe function if the return values are not handled properly. Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6d678645210f187a23c4715579a34152ce10af6 Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Jul 28 15:12:11 2015 -0700 net: mdio-octeon: Modify driver to work on both ThunderX and Octeon This patch modifies the mdio-octeon driver to work on both ThunderX and Octeon SoCs from Cavium Inc. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71382bc0431ea5901640a3794fea4eeb71cbcb2e Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Tue Jul 28 16:01:11 2015 -0400 net: netcp: Fixes efuse mac addr swap on k2e and k2l On some of the K2E and K2L platforms, the two DWORDs in efuse occupied by the pre-programmed mac address for slave port 1 are swapped. To workaround this issue, this patch adds a new define NETCP_EFUSE_ADDR_SWAP (2) which signifies the occurrence of such swapping so that the driver can take proper action. The flag can be enabled in the corresponding netcp interface dts binding as efuse-mac = <2> under the corresponding netcp interface node. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dad5c83d71fcfa117ee678fe66ffa5fd2f1f2440 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 01:16:02 2015 +0300 ARM: shmobile: silk: add Ether DT support Define the SILK board dependent part of the Ether device node. Enable DHCP and NFS root for the kernel booting. Based on the original patch by Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a42fc57a9e9d1dbb1d8cc0c3ccf2d7ea1a939559 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 01:14:59 2015 +0300 ARM: shmobile: silk: initial device tree Add the initial device tree for the R8A7794 SoC based SILK low cost board. SCIF2 serial port support is included, so that the serial console can work. Based on the original patch by Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5a4c355229da12558b5ded0775f4d0bc6650d28d Author: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Jul 29 18:28:01 2015 -0400 tipc: fix bug in broadcast synch message create function In commit d999297c3dbbe7fdd832f7fa4ec84301e170b3e6 ("tipc: reduce locking scope during packet reception") we introduced a new function tipc_build_bcast_sync_msg(), which carries initial synchronization data between two nodes at first contact and at re-contact. In this function, we missed to add synchronization data, with the effect that the broadcast link endpoints will fail to synchronize correctly at re-contact between a running and a restarted node. All other cases work as intended. With this commit, we fix this bug. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c948c26048ecb1023d2e68222c736f7da41da498 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 30 00:30:51 2015 +0200 x86/apic: Drop local_irq_save/restore in timer callbacks These callbacks are called with interrupts disabled from the core code. Fixup the local caller to disable interrupts. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit b23d8e527815954768861bb20d2b224009fff7cd Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:28:44 2015 +0530 x86/apic: Migrate apic timer to new set_state interface Migrate apic driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything while switching to resume mode and so that callback isn't implemented. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Bandan Das <bsd@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1896ac5989d27f2ac37f4786af9bd537e1921b83.1437042675.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f075915ac0b11847fcfc8c4d55526a317e71c4d1 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:26 2015 +0100 PCI/MSI: Drop domain field from msi_controller The only three users of that field are not using the msi_controller structure anymore, so drop it altogether. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-20-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8d63bc7beaeecdc2dfafed69c3555471fbe4aee7 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:25 2015 +0100 PCI/MSI: pci-xgene-msi: Get rid of struct msi_controller The X-Gene MSI driver only uses the msi_controller structure as a way to match the host bridge with its MSI HW, and thus the msi_domain. But now that we can directly associate an msi_domain with a device, there is no use keeping this msi_controller around. Just remove all traces of msi_controller from the driver. Tested-by: Duc Dang <dhdang@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-19-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ef50645aa32c6b55fe1445b5d06c73bfdf65019f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:24 2015 +0100 irqchip/GICv2m: Add platform MSI support In order to support non-PCI MSI with GICv2m, add the minimal required entry points for the MSI domain, which is actually almost nothing (we just use the defaults provided by the core code). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-18-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5cedceb37c253c6181dbdd4bfe1b9d792e51fd37 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:23 2015 +0100 irqchip/GICv2m: Get rid of struct msi_controller GICv2m only uses the msi_controller structure as a way to match the host bridge with its MSI HW, and thus the msi_domain. But now that we can directly associate an msi_domain with a device, there is no use keeping this msi_controller around. Just remove all traces of msi_controller from the driver. Also tag the inner (non-PCI) domain with DOMAIN_BUS_NEXUS. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-17-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1e6db000482fa65a419d1776f9ae1ff919afe605 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:22 2015 +0100 irqchip/gicv3-its: Add platform MSI support In order to support non-PCI MSI with the GICv3 ITS, add the minimal required entry points for the MSI domain (an msi_prepare implementation). The rest is only boilerplate code to find the raw ITS domain. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-16-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 54456db9a23753b87ce4d49adabe7da853bf13a2 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:21 2015 +0100 irqchip/gicv3-its: Make the PCI/MSI code standalone We can now lookup the base ITS domain, making it possible to initialize the PCI/MSI code independently from the main ITS subsystem. This allows us to remove all the previously add hooks. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-15-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 841514ab41ced765158d71d818b1d564ebe9436d Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:20 2015 +0100 irqchip/gicv3-its: Get rid of struct msi_controller The GICv3 ITS only uses the msi_controller structure as a way to match the host bridge with its MSI HW, and thus the msi_domain. But now that we can directly associate an msi_domain with a device, there is no use keeping this msi_controller around. Just remove all traces of msi_controller from the driver. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-14-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e55dcd4d8b8b82e4ecef2937c6d1dde7ba82916b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:19 2015 +0100 irqchip/gicv3-its: Register irq domain with NEXUS token Now that we can distinguish between multiple domains carrying the same device_node, tag the raw ITS domain with DOMAIN_BUS_NEXUS. This will allow MSI providers built on top of the raw ITS domain to identify it. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-13-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f130420e51df30891b55efcef24f5358b2fc2b97 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:18 2015 +0100 irqchip/gicv3-its: Split PCI/MSI code from the core ITS driver It is becoming obvious that having the PCI/MSI code in the same file as the the core ITS code is giving people implementing non-PCI MSI support the wrong kind of idea. In order to make things a bit clearer, let's move the PCI/MSI code out to its own file. Hopefully it will make it clear that whoever thinks of hooking into the core ITS better have a very strong point. We use a temporary entry point that will get removed in a subsequent patch, once the proper infrastructure is added. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-12-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a5716070d88cba1a0a8a18fea809ea6e3374e276 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:17 2015 +0100 genirq: Add DOMAIN_BUS_NEXUS irqdomain property Some IRQ domains are not designed to directly provide interrupts to devices, but strictly to be used by other domains. An example of this is the GICv3 ITS, which is completely bus agnostic, and on which it is possible to implement a PCI/MSI domain. Just introduce the irq_domain_bus_token property for now. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-11-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c09fcc4b2b48d58d769a8cff5041533535ece449 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:16 2015 +0100 drivers/base: Add MSI domain support for non-PCI devices With the msi_list and the msi_domain properties now being at the generic device level, it is starting to be relatively easy to offer a generic way of providing non-PCI MSIs. The two major hurdles with this idea are: - Lack of global ID that identifies a device: this is worked around by having a global ID allocator for each device that gets enrolled in the platform MSI subsystem - Lack of standard way to write the message in the generating device. This is solved by mandating driver code to provide a write_msg callback, so that everyone can have their own square wheel Apart from that, the API is fairly straightforward: - platform_msi_create_irq_domain creates an MSI domain that gets tagged with DOMAIN_BUS_PLATFORM_MSI - platform_msi_domain_alloc_irqs allocate MSIs for a given device, populating the msi_list - platform_msi_domain_free_irqs does what is written on the tin [ tglx: Created a seperate struct platform_msi_desc and added kerneldoc entries ] Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-10-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c706c239af5bc297b5fbf1adc715632e1c222f7a Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:15 2015 +0100 of/platform: Assign MSI domain to platform device As for PCI, we're able to populate the msi_domain field at probe time, provided that the device tree has an "msi-parent" property. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-9-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d8a1cb7575502d2be502a65ecb344ff05c8d9f44 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:14 2015 +0100 PCI/MSI: Let pci_msi_get_domain use struct device::msi_domain Now that we can easily find which MSI domain a PCI device is using, use dev_get_msi_domain as a way to retrieve the information. The original code is still used as a fallback. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-8-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 471c931cb248ab7af0cd62503d811239b47f217b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:13 2015 +0100 PCI/MSI: Allow msi_domain lookup using the host bridge node A number of platforms do not need to use the msi-parent property, as the host bridge itself provides the MSI controller. Allow this configuration by performing an irq domain lookup based on the host bridge node if it doesn't have a valid msi-parent property. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-7-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b165e2b60b39888a7ff8efbc1de40137471dda41 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:12 2015 +0100 PCI/MSI: Add support for OF-provided msi_domain In order to populate the PCI host bridge msi_domain, use the "msi-parent" attribute to lookup a corresponding irq domain. If found, this is our MSI domain. This gets plugged into the core PCI code. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-6-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 44aa0c657e3e45795a92addeb0dce7d28d9b0bd2 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:11 2015 +0100 PCI/MSI: Add hooks to populate the msi_domain field In order to be able to populate the device msi_domain field, add the necessary hooks to propagate the host bridge msi_domain across secondary busses to devices. So far, nobody populates the initial msi_domain. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f1421db8ca4c110144be97a5997ed83d34685db5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:10 2015 +0100 device core: Introduce per-device MSI domain pointer As MSI-type features are creeping into non-PCI devices, it is starting to make sense to give our struct device some form of support for this, by allowing a pointer to an MSI irq domain to be set/retrieved. Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0380839dc90c53e24ddfa0f17ad909c2ddc345c2 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:09 2015 +0100 PCI/MSI: Register irq domain with specific token When creating a PCI/MSI domain, tag it with DOMAIN_BUS_PCI_MSI so that it can be looked-up using irq_find_matching_host(). Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ad3aedfbb04b3a2af54473cfe31f13953cfe9d84 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:08 2015 +0100 genirq/irqdomain: Allow irq domain aliasing It is not uncommon (at least with the ARM stuff) to have a piece of hardware that implements different flavours of "interrupts". A typical example of this is the GICv3 ITS, which implements standard PCI/MSI support, but also some form of "generic MSI". So far, the PCI/MSI domain is registered using the ITS device_node, so that irq_find_host can return it. On the contrary, the raw MSI domain is not registered with an device_node, making it impossible to be looked up by another subsystem (obviously, using the same device_node twice would only result in confusion, as it is not defined which one irq_find_host would return). A solution to this is to "type" domains that may be aliasing, and to be able to lookup an device_node that matches a given type. For this, we introduce irq_find_matching_host() as a superset of irq_find_host: struct irq_domain *irq_find_matching_host(struct device_node *node, enum irq_domain_bus_token bus_token); where bus_token is the "type" we want to match the domain against (so far, only DOMAIN_BUS_ANY is defined). This result in some moderately invasive changes on the PPC side (which is the only user of the .match method). This has otherwise no functionnal change. Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8505a81bb036253213b109baf4178ea6861e2888 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Jul 29 19:09:36 2015 +0900 genirq: Use the proper parameter name in kernel doc The following warning is emitted for make xmldocs: Warning(.//kernel/irq/chip.c:1009): No description found for parameter 'vcpu_info' Warning(.//kernel/irq/chip.c:1009): Excess function parameter 'dest' description in 'irq_chip_set_vcpu_affinity_parent' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Link: http://lkml.kernel.org/r/1438164576-5945-1-git-send-email-standby24x7@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4b979e4c611ce750d32b51737f837b485f43c69b Merge: 1559f3b cbfe8fa Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 30 00:13:24 2015 +0200 Merge branch 'linus' into irq/core Pull in upstream fixes before applying conflicting changes commit 73d0fcf2f487465f73329ee11ae900a774408fe5 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Jul 28 14:21:26 2015 +0200 packet: remove handling of tx_ring from prb_shutdown_retire_blk_timer() Follow e8e85cc5eb57 ("packet: remove handling of tx_ring") and remove the tx_ring parameter from prb_shutdown_retire_blk_timer() as it is only called with tx_ring = 0. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b88d0a049084854aef0ea146f1411eafcd2597a8 Merge: 35e455f 9db7f2b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 29 14:59:59 2015 -0700 Merge branch 's390-bpf-push-pop' Michael Holzheu says: ==================== s390/bpf: recache skb->data/hlen for skb_vlan_push/pop Here the s390 backend for Alexei's patch 4e10df9a60d9 ("bpf: introduce bpf_skb_vlan_push/pop() helpers") plus two bugfixes and two minor improvements. The first patch "s390/bpf: clear correct BPF accumulator register" will also go upstream via Martin's "fixes" branch. * v2: Integrated suggestions from Joe Perches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9db7f2b818809ef2c40fbd64cfcf5ccb0107d7e8 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 21:15:18 2015 +0200 s390/bpf: recache skb->data/hlen for skb_vlan_push/pop Allow eBPF programs attached to TC qdiscs call skb_vlan_push/pop via helper functions. These functions may change skb->data/hlen. This data is cached by s390 JIT to improve performance of ld_abs/ld_ind instructions. Therefore after a change we have to reload the data. In case of usage of skb_vlan_push/pop, in the prologue we store the SKB pointer on the stack and restore it after BPF_JMP_CALL to skb_vlan_push/pop. Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cde66c2d88da1d73d755109c80ce4c34b917596b Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 21:15:17 2015 +0200 s390/bpf: Only clear A and X for converted BPF programs Only classic BPF programs that have been converted to eBPF need to clear the A and X registers. We can check for converted programs with: bpf_prog->type == BPF_PROG_TYPE_UNSPEC So add the check and skip initialization for real eBPF programs. Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce2b6ad9c1856fac5d5e8d3351b3dd5392e09b7a Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 21:15:16 2015 +0200 s390/bpf: increase BPF_SIZE_MAX Currently we have the restriction that jitted BPF programs can have a maximum size of one page. The reason is that we use short displacements for the literal pool. The 20 bit displacements are available since z990 and BPF requires z196 as minimum. Therefore we can remove this restriction and use everywhere 20 bit signed long displacements. Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1df03ffdded54fbb6507ef494ece071f3501410e Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 21:15:15 2015 +0200 s390/bpf: Fix multiple macro expansions The EMIT6_DISP_LH macro passes the "disp" parameter to the _EMIT6_DISP_LH macro. The _EMIT6_DISP_LH macro uses the "disp" parameter twice: unsigned int __disp_h = ((u32)disp) & 0xff000; unsigned int __disp_l = ((u32)disp) & 0x00fff; The EMIT6_DISP_LH is used several times with EMIT_CONST_U64() as "disp" parameter. Therefore always two constants are created per usage of EMIT6_DISP_LH. Fix this and add variable "_disp" to avoid multiple expansions. * v2: Move "_disp" to _EMIT6_DISP_LH as suggested by Joe Perches Fixes: 054623105728 ("s390/bpf: Add s390x eBPF JIT compiler backend") Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f75298f5c3fee750ad170bb98556e366a45a4093 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 21:15:14 2015 +0200 s390/bpf: clear correct BPF accumulator register Currently we assumed the following BPF to eBPF register mapping: - BPF_REG_A -> BPF_REG_7 - BPF_REG_X -> BPF_REG_8 Unfortunately this mapping is wrong. The correct mapping is: - BPF_REG_A -> BPF_REG_0 - BPF_REG_X -> BPF_REG_7 So clear the correct registers and use the BPF_REG_A and BPF_REG_X macros instead of BPF_REG_0/7. Fixes: 054623105728 ("s390/bpf: Add s390x eBPF JIT compiler backend") Cc: stable@xxxxxxxxxxxxxxx # 4.0+ Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3431e490b50356b56084305a2e93b3a980802b22 Merge: 5af310a 1dcc3d3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 29 23:57:51 2015 +0200 Merge branch 'acpi-scan' into acpi-pm Conflicts: drivers/acpi/scan.c The conflict is resolved by moving the just introduced acpi_device_is_first_physical_node() to bus.c and using the existing acpi_companion_match() from there. There will be an additional commit to combine the two. commit 5af310a8ee70dd6a588c8ee1d4487a230a7b7b65 Merge: aa57aca 4b45efe Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 29 23:49:22 2015 +0200 Merge tag 'ib-mfd-base-acpi-dma-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into acpi-pm Pull MFD-related material including ACPI device power management changes (in addition to MFD, driver core and DMA changes) for v4.3 from Lee Jones. * tag 'ib-mfd-base-acpi-dma-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: mfd: Add support for Intel Sunrisepoint LPSS devices dmaengine: add a driver for Intel integrated DMA 64-bit mfd: make mfd_remove_devices() iterate in reverse order driver core: implement device_for_each_child_reverse() klist: implement klist_prev() Driver core: wakeup the parent device before trying probe ACPI / PM: Attach ACPI power domain only once PM / QoS: Make it possible to expose device latency tolerance to userspace commit 29edbe5e29d0ba3f619723f964724adab168f6f8 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Jul 29 12:18:58 2015 +0530 Staging : wilc1000: Remove braces for single statement blocks This patch fixes the following checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3369463284cff3adafb49914a4dffe608421848a Author: Kim, Leo <leo.kim@xxxxxxxxx> Date: Tue Jul 28 17:47:39 2015 +0900 staging: wilc1000: remove unnecessary spcae This patch removes the warnings reported by checkpatch.pl on space prohibited between function name and open parenthesis '(' Signed-off-by: Kim, Leo <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4423f3b0d96a40ff7f1c2552b1e23c3c3eadcbe8 Author: Kim, Leo <leo.kim@xxxxxxxxx> Date: Tue Jul 28 17:47:38 2015 +0900 staging: wilc1000: remove warnings on the multiple blank lines uses This patch removes the warnings reported by checkpatch.pl for using multiple blank lines. Signed-off-by: Kim, Leo <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc4b95d69c603668331d1edb92e3fb0dbcb1d959 Author: Kim, Leo <leo.kim@xxxxxxxxx> Date: Tue Jul 28 17:47:37 2015 +0900 staging: wilc1000: remove braces {} for single statement blocks This patch removes the warnings reported by checkpatch.pl on braces {} not necessary for the single statement blocks. Signed-off-by: Kim, Leo <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 202f66a8169a2ab8c92656914867d56ff6510a44 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:35 2015 +0900 staging: wilc1000: remove unnecessary inner braces This patch removes unnecessary inner braces. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0261e0b136b3535a5940179bdb95a8cc89eebd5 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:33 2015 +0900 staging: wilc1000: remove warnings on unnecessary braces This patch removes the warnings reported by checkpatch.pl on the braces {} not necessary for any arm of this statement. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e553d542bf9bb4bfb39ba6f130e2b62a356db57 Author: Jude.Lee <jude.lee@xxxxxxxxx> Date: Tue Jul 28 17:47:31 2015 +0900 staging: wilc1000: alignment should match open parenthesis This patch fixes the checks reported by checkpatch.pl alignment should match open parenthesis Signed-off-by: Jude.Lee <jude.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 232ced3d8fde6221231d5d541326cdb5e7afc50a Author: Jude.Lee <jude.lee@xxxxxxxxx> Date: Tue Jul 28 17:47:30 2015 +0900 staging: wilc1000: remove multiple blank lines This patch removes the warnings reported by checkpatch.pl for using multiple blank lines. Signed-off-by: Jude.Lee <jude.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51a5fcaf718788b11e767640dc65c40f409de1a8 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:27 2015 +0900 staging: wilc1000: remove a dead preprocessor conditionals This patch removes the preprocessor conditionals which are related to the WILC1000_SINGLE_TRANSFER definition becasue this is not used. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 229d7402bd8ffc58cacc22115011693257c21215 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:26 2015 +0900 staging: wilc1000: remove preprocessor conditionals unused This patch removes unused preprocessor conditionals for the PLAT_AML8726_M3_BACKUP and PLAT_AML8726_M3 which are not used and so dead codes. They are also platform-dependent codes. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4aa85772e3fa98646ce3b2a18b12c6474b853104 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:25 2015 +0900 staging: wilc1000: remove the warnings on unnecessary braces This patch removes the warnings reported by checkpatch.pl on {} not necessary for the single statement blocks. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c844693eaf31eb8587a3bba37bbc8601ac4e5ca Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:24 2015 +0900 staging: wilc1000: remove the warnings on missing blank line This patch removes the warnings reported by checkpatch.pl on missing a blank line after declaration. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0dff54785f92f832663d2af77cdd5b198fd90bb6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:23 2015 +0900 staging: wilc1000: remove warnings on the multiple line uses This patch removes the warnings reported by checkpatch.pl for using multiple blank lines. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9690df3f9de3689e7d2e916189761fff4754cd72 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:22 2015 +0900 staging: wilc1000: remove dead codes related to SIMULATION This patch removes preprocessor conditionals (#ifdef or #ifndef) related to SIMULATION definition from the codes becasue that SIMULATION feature is not used anymore. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f8966d91e2e87ac9455aa5b2c10fccefa6d59a4 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:21 2015 +0900 staging: wilc1000: describe the config symbol fully This patch removes the warnings reported by checkpatch.pl on the short description for the config symbol in the Kconfig by adding more comments to describe the config symbol in more detail. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1625d2166cbcace6fff3b4413be78522f4137f57 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:20 2015 +0900 staging: wilc1000: remove unnecessary files This patch removes the following files which are not used anymore. - fifo_buffer.c - fifo_buffer.h - coreconfigsimulator.h - wilc_wfi_netdevice.c Signed-off-by: Robin Hwang <robin.hwang@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d10e0a6332fdea740fa74f541e354788903878a1 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Tue Jul 28 10:45:07 2015 -0700 staging: most: fix aim-network build errors Fix build errors when CONFIG_NET is not enabled by making the driver depend on NET. Also correct the loadable module name. ERROR: "__netdev_alloc_skb" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "netif_rx" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "netif_tx_wake_queue" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "free_netdev" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "register_netdev" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "kfree_skb" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "alloc_netdev_mqs" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "eth_type_trans" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "ether_setup" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "unregister_netdev" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "skb_put" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "eth_mac_addr" [drivers/staging/most/aim-network/aim_network.ko] undefined! Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Cc: Michael Fabry <Michael.Fabry@xxxxxxxxxxxxx> Acked-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a11442fe87d63994816cf2edde4450410df397af Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Tue Jul 28 17:16:11 2015 +0200 Staging: most: fix passing a potential null pointer This patch fixes passing of a potential null pointer. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e4c30458e31e5f6487d1393254f2ab347cfb02c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Tue Jul 28 17:16:10 2015 +0200 Staging: most: fix dereferencing freed memory This patch fixes the dereferencing of freed memory. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ac5c9f0a0228fff35c0ea85008ff642b07e6db3 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Tue Jul 28 17:16:09 2015 +0200 Staging: most: fix snprintf() is printing too much This patch prevents snprintf from exceeding a given buffer size. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit add04a9854106a724b9fbf8bc9925781e5b0059e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jul 27 10:31:09 2015 +0900 staging: most: core.c: remove semicolon at the end of define statement Remove semicolon at the end of define statement to fix checkpatch warning. WARNING: macros should not use a trailing semicolon Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Acked-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccf97fe3ddac231655f1f8cacede6182a167de8b Author: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Date: Thu Jul 16 16:55:33 2015 -0700 ARM: dts: qcom: Add dts changes for qcom coincell charger Add framework for the coincell charger DT block in pm8941 file, and actual values for honami battery in the honami dts file. Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f26d1c1053ac179b0ee1edea7809cef07fe728e Author: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Date: Thu Jul 16 16:55:32 2015 -0700 ARM: qcom: Add coincell charger driver This driver is used to configure the coincell charger found in Qualcomm PMICs. The driver allows configuring the current-limiting resistor for the charger, as well as the voltage to apply to the coincell (or capacitor) when charging. Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee2b7f60a5c5e391fdde907ac61f135d87e74622 Author: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Date: Thu Jul 16 16:55:31 2015 -0700 ARM: dts: qcom: Add binding for the qcom coincell charger This binding is used to configure the driver for the coincell charger found in Qualcomm PMICs. Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70d334ca71b0e35ef21493d86799cec83f452d94 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Jul 29 10:12:53 2015 -0700 PCI: iproc: Fix BCMA dependency in Kconfig The current iProc BCMA front-end driver can only work on ARM32 based platforms; therefore its config option in Kconfig should be changed to reflect that. This fixes arm64 allmodconfig build failure when compiling the the iProc BCMA driver that contains struct pci_sys_data that is arm32 specific Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6aad8bf99338fca5a6ef602f2d7e04546f79fd03 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Jul 27 15:42:21 2015 -0700 arm64: dts: Add Broadcom North Star 2 support Add Broadcom NS2 device tree binding document. Also add initial device tree dtsi for Broadcom North Star 2 (NS2) SoC and board support for NS2 SVK board Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 36b7c5831d7d5af6fc679f95b288ddf480e01e77 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Jul 27 15:42:20 2015 -0700 arm64: Add Broadcom iProc family support This patch adds support to Broadcom's iProc family of arm64 based SoCs in the arm64 Kconfig and defconfig files Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b00c4415fb231f276221c634a47ce7328df9aae5 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Jul 27 15:42:19 2015 -0700 PCI: iproc: Fix ARM64 dependency in Kconfig Allow Broadcom iProc PCIe core driver to be compiled for ARM64 Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Vikram Prakash <vikramp@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit db9d6d790968fd6df9faa7fa1f51967e05afd492 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Jul 27 15:42:18 2015 -0700 PCI: iproc: enable arm64 support for iProc PCIe PCI: iproc: Add arm64 support Add arm64 support to the iProc PCIe driver. Note that on arm32, bus->sysdata points to the arm32-specific pci_sys_data struct, and pci_sys_data.private_data contains the iproc_pcie pointer. For arm64, there's nothing corresponding to pci_sys_data, so we keep the iproc_pcie pointer directly in bus->sysdata. In addition, arm64 does IRQ mapping in pcibios_add_device(), so it doesn't need pci_fixup_irqs() as arm32 does. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5054e1e63946abff39bc7b154fac049110d9d3bb Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Jul 29 21:16:19 2015 +0200 x86/pci/intel_mid_pci: Use proper constants for irq polarity polarity = 0 means active high. Not really intuitive, so people add comments to it instead of just using a self explaining constant. Use the IOAPIC_POL_ constants and get rid of those horrible to read tail comments. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0abbdea1e9592fba120521ce22c6c26301e72761 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 29 12:16:49 2015 +0300 x86/pci/intel_mid_pci: Make intel_mid_pci_ops static This fixes the following sparse warning. arch/x86/pci/intel_mid_pci.c:265:16: warning: symbol 'intel_mid_pci_ops' was not declared. Should it be static? Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438161409-4671-4-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2a61c8eaf1879db99286c3f5fe5e78086c7edb85 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 29 12:16:48 2015 +0300 x86/pci/intel_mid_pci: Propagate actual return code mp_map_gsi_to_irq() returns different codes if it fails. intel_mid_pci_irq_enable() hides this under -EBUSY. Return the actual failure code. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438161409-4671-3-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 39d9b77b8debb4746e189aa5b61ae6e81ec5eab8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 29 12:16:47 2015 +0300 x86/pci/intel_mid_pci: Work around for IRQ0 assignment On Intel Tangier the MMC host controller is wired up to irq 0. But several other devices have irq 0 associated as well due to a bogus PCI configuration. The first initialized driver will acquire irq 0 and make it unavailable for other devices. If the sdhci driver is not the first one it will fail to acquire the interrupt and therefor be non functional. Add a quirk to the pci irq enable function which denies irq 0 to anything else than the MMC host controller driver on Tangier platforms. Fixes: 90b9aacf912a (serial: 8250_pci: add Intel Tangier support) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438161409-4671-2-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 35e455f47ac2e7fbc0c25871a4e91c563ff78ce1 Author: Amir Vadai <amirv@xxxxxxxxxxxx> Date: Tue Jul 28 13:19:19 2015 +0300 net/mlx4_en: Hardware accelerated 802.1ad works only on the first port Fix mistakenly used, hard coded, port number in get_phv_bit() Fixes: 77fc29c ("net/mlx4_core: Preparations for 802.1ad VLAN support") Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c421e80b1073e2ed58842ee6ee493386ace2d9eb Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Wed Jul 29 05:42:12 2015 -0400 perf tools: Introduce callgraph_set for callgraph option Introduce callgraph_set to indicate whether the callgraph option was set by user. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438162936-59698-4-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ee4c75887d12bcd6ecd897291797d969256f39ca Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Jul 29 05:42:11 2015 -0400 perf tools: Force period term to overload global settings Currently the command line option settings beats the per event period settings: With no global settings, we get per-event configuration: $ perf record -e 'cpu/instructions,period=20000/' sleep 1 $ perf evlist -v ... { sample_period, sample_freq }: 20000 ... With 'c' option period setup, we get 'c' option value: $ perf record -e 'cpu/instructions,period=20000/' -c 1000 sleep 1 $ perf evlist -v ... { sample_period, sample_freq }: 1000 ... This patch makes the per-event settings overload the global 'c' option setup: $ perf record -e 'cpu/instructions,period=20000/' -c 1000 sleep 1 $ perf evlist -v ... { sample_period, sample_freq }: 20000 ... I think the making the per-event settings to overload any other config makes more sense than current state. However it breaks the current 'period' term handling, which might cause some noise.. so let's see ;-). Also fixing parse event tests with the new behaviour. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438162936-59698-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 930a2e29758f865e3a7b34b8b3b37c08d40f0254 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Jul 29 05:42:10 2015 -0400 perf tools: Add support for event post configuration Add support to overload any global settings for event and force user specified term value. It will be useful for new time and backtrace terms. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438162936-59698-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba68227e610cec8e0bef7da7e04af3f479d9797d Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Jul 27 20:20:31 2015 -0700 devicetree: soc: Add Qualcomm SMD based RPM DT binding Add binding documentation for the Qualcomm Resource Power Manager (RPM) using shared memory (Qualcomm SMD) as transport mechanism. This is found in 8974 and newer based devices. The binding currently describes the rpm itself and the regulator subnodes. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 936f14cf4e67168fcd37f10cebf5a475f490fb6e Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Jul 27 20:20:32 2015 -0700 soc: qcom: Driver for the Qualcomm RPM over SMD Driver for the Resource Power Manager (RPM) found in Qualcomm 8974 based devices. The driver exposes resources that child drivers can operate on; to implementing regulator, clock and bus frequency drivers. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit f2ab3298fb4932358d27fc4c7ea1a1891ad7e042 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Jul 27 20:20:30 2015 -0700 soc: qcom: Add Shared Memory Driver This adds the Qualcomm Shared Memory Driver (SMD) providing communication channels to remote processors, ontop of SMEM. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 72c10fef98fc3b3c924ee022e451872517e61ecf Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Jul 27 20:20:29 2015 -0700 soc: qcom: Add device tree binding for Shared Memory Device Add device tree binding documentation for the Qualcomm Shared Memory Device, used for communication between the various CPUs in the Qualcomm SoCs. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 3294bee87091be5f179474f6c39d1d87769635e2 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Jul 29 13:17:06 2015 +0300 clk: versatile: off by one in clk_sp810_timerclken_of_get() The ">" should be ">=" or we end up reading beyond the end of the array. Fixes: 6e973d2c4385 ('clk: vexpress: Add separate SP810 driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6c020ea8dc3a8adee81b6f141428a7a75249706e Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Jul 29 12:30:39 2015 +0100 arm64/Documentation: clarify wording regarding memory below the Image Clarify that the memory below the start of the image but inside the region covered by the linear mapping has no special significance to the kernel, and may be used by the firmware provided that it is marked as reserved. Also, fix up some whitespace errors. Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 484c96dbb26965d712a808ab9e8b00090455bdf6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Jul 29 15:16:22 2015 +0100 arm64: lse: fix lse cmpxchg code indentation For some reason, the ll/sc cmpxchg asm is all off to the left and awkward to read in conjunction with the following (correctly indented) LSE version. This patch shifts the ll/sc code back to where it should be. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 63a581865e9ee7b1277f1e4941d0765fdbde032a Author: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:13:20 2015 +0100 arm64: remove redundant object file list Commit 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant #ifdefs") forces SMP on arm64. To build the necessary objects for SMP, they were added to the arm64-obj-y rule in arch/arm64/kernel/Makefile, without removing the arm64-obj-$(CONFIG_SMP) rule. Remove redundant object file list depending on always-yes CONFIG_SMP in arch/arm64/kernel/Makefile. Signed-off-by: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 377bcff9a38a78083d7fff8e8a41cc894cf7813b Author: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:07:57 2015 +0100 arm64: remove dead-code depending on CONFIG_UP_LATE_INIT Commit 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant and therfore can not be selected anymore. Remove dead #ifdef-block depending on UP_LATE_INIT in arch/arm64/kernel/setup.c Signed-off-by: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> [will: kill do_post_cpus_up_work altogether] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0122a5183088e3117bb9c8fbe248914efb502f3f Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 07:34:10 2015 +0000 spi: bcm2835: fix overflow in calculation of transfer time This resulted in the use of polling mode when other approaches (dma or interrupts) would have been more appropriate. Happened for transfers longer than 477 bytes. Reported-by: Noralf Tronnes <noralf@xxxxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit acace73df2c1913a526c1b41e4741a4a6704c863 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 28 14:03:12 2015 +0000 spi: bcm2835: set up spi-mode before asserting cs-gpio When using reverse polarity for clock (spi-cpol) on a device the clock line gets altered after chip-select has been asserted resulting in an additional clock beat, which confuses hardware. This did not show when using native-CS, as the same register is used to control cs as well as polarity, so the changes came into effect at the same time. Unfortunately this is not true with gpio-cs. To avoid this situation this patch moves the setup of polarity (spi-cpol and spi-cpha) outside of the chip-select into prepare_message, which is run prior to asserting chip-select. Also fixes resetting 3-wire mode after use of rx-mode, so that a 3-Wire sequence TX, RX, TX works as well (right now it runs TX, RX, RX instead) Reported-by: Noralf Tronnes <noralf@xxxxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit d306d08f07183fe1504257101b25b5b33d77bae9 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:02:06 2015 +0900 ARM: SAMSUNG: remove keypad-core header in plat-samsung Since keypad-core header is not used, this patch removes it. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 96bc024cdcfc4087a592ae258f21355509e21614 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:52 2015 +0900 ARM: SAMSUNG: local watchdog-reset header in mach-s3c64xx This patch moves watchdog-reset header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit fe31d04416e8a019a4ce8dca49aef80f10397aaf Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:47 2015 +0900 ARM: SAMSUNG: local onenand-core header in mach-s3c64xx This patch moves onenand-core header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 876ba9bafbc8aba7854c785ca5d13bbb5ef7b3cf Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:38 2015 +0900 ARM: SAMSUNG: local irq-uart header in mach-s3c64xx This patch moves irq-uart header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 4a7bf56f7f98fee929c74dd579fa19529712974d Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:36 2015 +0900 ARM: SAMSUNG: local backlight header in mach-s3c64xx This patch moves backlight header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit e979b1a9b47dbe56fa7543bde3dc093231c1eb6e Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:36 2015 +0900 ARM: SAMSUNG: local ata-core header in mach-s3c64xx This patch moves ata-core header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 3b0a5a96d0784305a0fc91702780c99e75134b26 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:36 2015 +0900 ARM: SAMSUNG: local regs-usb-hsotg-phy header in mach-s3c64xx This patch moves regs-usb-hsotg-phy header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit dd04e47e7407e3a9312617817e3a35fc1a8e4548 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:35 2015 +0900 ARM: SAMSUNG: local spi-core header in mach-s3c24xx This patch moves spi-core header file into mach-s3c24xx. Because it is not used for others except mach-s3c24xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f8eed6cd0d215f23a70945e05c050b5c87dc888e Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:35 2015 +0900 ARM: SAMSUNG: local nand-core header in mach-s3c24xx This patch moves nand-core header file into mach-s3c24xx. Because it is not used for others except mach-s3c24xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f30e3295d2e9e7fe7fed5d1138e59ed45053b5fb Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:35 2015 +0900 ARM: SAMSUNG: local fb-core header in mach-s3c24xx This patch moves fb-core header file into mach-s3c24xx. Because it is not used for others except mach-s3c24xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 8ace438f4c0f471e2277b9d3adb017599e2c8e5b Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:35 2015 +0900 ARM: SAMSUNG: local regs-srom header in mach-exynos This patch moves regs-srom header file into mach-exynos. Because it is not used for others except mach-exynos. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b93b315d444faa1505b6a5e001c30f3024849e46 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 01:48:17 2015 +0900 ARM: SAMSUNG: make local s5p-dev-mfc in mach-exynos This patch moves s5p-dev-mfc from plat-samsung into mach-exynos because it is used for only exynos no other platforms. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 7f798c1c0d562ef1200cbe3227cd0474b1c285f7 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 01:48:17 2015 +0900 ARM: SAMSUNG: make local dev-backlight in mach-s3c64xx This patch moves dev-backlight from plat-samsung into mach-s3c64xx because it is used for only s3c64xx no other platforms. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit a1bd8d8bb890c77b97e3d6d1ea6f9d26a1c31ca8 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 01:48:17 2015 +0900 ARM: SAMSUNG: make local setup-camif in mach-s3c24xx This patch moves setup-camif from plat-samsung into mach-s3c24xx because it can be used only for s3c24xx no other platforms. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 4c7de49a2977aa2a0f556c803afbb24848372e7a Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 29 12:18:24 2015 -0300 perf session env: Rename exit method The semantic associated in tools/perf/ with foo__delete(instance) is to release all resources referenced by 'instance' members and then release the memory for 'instance' itself. The perf_session_env__delete() function isn't doing this, it just does the first part, but the space used by 'instance' itself isn't freed, as it is embedded in a larger structure, that will be freed at other stage. For these cases we se foo__exit(), i.e. the usage is: void foo__delete(foo) { if (foo) { foo__exit(foo); free(foo); } } But when we have something like: struct bar { struct foo foo; . . . } Then we can't really call foo__delete(&bar.foo), we must have this instead: void bar__exit(bar) { foo__exit(&bar.foo); /* free other bar-> resources */ } void bar__delete(bar) { if (bar) { bar__exit(bar); free(bar); } } So just rename perf_session_env__delete() to perf_session_env__exit(). Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-djbgpcfo5udqptx3q0flwtmk@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e33e17ee1098d8d751552ac11c111e1c1a3db014 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:19 2015 -0400 btrfs: add missing discards when unpinning extents with -o discard When we clear the dirty bits in btrfs_delete_unused_bgs for extents in the empty block group, it results in btrfs_finish_extent_commit being unable to discard the freed extents. The block group removal patch added an alternate path to forget extents other than btrfs_finish_extent_commit. As a result, any extents that would be freed when the block group is removed aren't discarded. In my test run, with a large copy of mixed sized files followed by removal, it left nearly 2/3 of extents undiscarded. To clean up the block groups, we add the removed block group onto a list that will be discarded after transaction commit. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e44163e177960ee60e32a73bffdd53c3a5827406 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:18 2015 -0400 btrfs: explictly delete unused block groups in close_ctree and ro-remount The cleaner thread may already be sleeping by the time we enter close_ctree. If that's the case, we'll skip removing any unused block groups queued for removal, even during a normal umount. They'll be cleaned up automatically at next mount, but users expect a umount to be a clean synchronization point, especially when used on thin-provisioned storage with -odiscard. We also explicitly remove unused block groups in the ro-remount path for the same reason. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 499f377f49f085ee4aa214c738e948e88626f39b Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:17 2015 -0400 btrfs: iterate over unused chunk space in FITRIM Since we now clean up block groups automatically as they become empty, iterating over block groups is no longer sufficient to discard unused space. This patch iterates over the unused chunk space and discards any regions that are unallocated, regardless of whether they were ever used. This is a change for btrfs but is consistent with other file systems. We do this in a transactionless manner since the discard process can take a substantial amount of time and a transaction would need to be started before the acquisition of the device list lock. That would mean a transaction would be held open across /all/ of the discards collectively. In order to prevent other threads from allocating or freeing chunks, we hold the chunks lock across the search and discard calls. We release it between searches to allow the file system to perform more-or-less normally. Since the running transaction can commit and disappear while we're using the transaction pointer, we take a reference to it and release it after the search. This is safe since it would happen normally at the end of the transaction commit after any locks are released anyway. We also take the commit_root_sem to protect against a transaction starting and committing while we're running. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 86557861dfe4f8defde0df40620b97cc60285aa4 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:16 2015 -0400 btrfs: skip superblocks during discard Btrfs doesn't track superblocks with extent records so there is nothing persistent on-disk to indicate that those blocks are in use. We track the superblocks in memory to ensure they don't get used by removing them from the free space cache when we load a block group from disk. Prior to 47ab2a6c6a (Btrfs: remove empty block groups automatically), that was fine since the block group would never be reclaimed so the superblock was always safe. Once we started removing the empty block groups, we were protected by the fact that discards weren't being properly issued for unused space either via FITRIM or -odiscard. The block groups were still being released, but the blocks remained on disk. In order to properly discard unused block groups, we need to filter out the superblocks from the discard range. Superblocks are located at fixed locations on each device, so it makes sense to filter them out in btrfs_issue_discard, which is used by both -odiscard and FITRIM. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4d89d377bbb0e34cd1571b57a984c2326cab69b5 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:15 2015 -0400 btrfs: btrfs_issue_discard ensure offset/length are aligned to sector boundaries It's possible, though unexpected, to pass unaligned offsets and lengths to btrfs_issue_discard. We then shift the offset/length values to sector units. If an unaligned offset has been passed, it will result in the entire sector being discarded, possibly losing data. An unaligned length is safe but we'll end up returning an inaccurate number of discarded bytes. This patch aligns the offset to the 512B boundary, adjusts the length, and warns, since we shouldn't be discarding on an offset that isn't aligned with our sector size. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d04c6b88320debb403bff8d8b634a1efa48b8d3d Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:14 2015 -0400 btrfs: make btrfs_issue_discard return bytes discarded Initially this will just be the length argument passed to it, but the following patches will adjust that to reflect re-alignment and skipped blocks. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b5a2875605cac14a7d7744ec8254547a26c02612 Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Mon Jul 13 16:30:18 2015 +0100 usb: renesas_usbhs: Allow an OTG PHY driver to provide VBUS These changes allow a PHY driver to trigger a VBUS interrupt and to provide the value of VBUS. Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9e832bf7c011965b378bd963955e315bd0c23aa4 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:19:00 2015 +0800 usb: gadget: zero: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3dcc7053087fb58c799cd964a00a5396bec3bc9e Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:59 2015 +0800 usb: gadget: serial: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 93d39afdb8f99a11d1cbd04f4670226494bf03da Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:58 2015 +0800 usb: gadget: printer: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1156e91dd7cc3a579544286d07fd46f0162e3ec6 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:57 2015 +0800 usb: gadget: ncm: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 21ddc2a860ca69eb92ab0c48c05187f89aa6a39a Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:56 2015 +0800 usb: gadget: multi: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d867889797615761975e693881a12283ebc92b0f Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:55 2015 +0800 usb: gadget: mass_storage: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d9e1867917ccf43ebe6f0e43e19958cbdeb0d8f2 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:54 2015 +0800 usb: gadget: hid: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 75c9310a050b77a6788addf8060b533ab2d9de00 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:53 2015 +0800 usb: gadget: g_ffs: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ab6796ae98330389754b82d37bed89029d1dab51 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:52 2015 +0800 usb: gadget: cdc2: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 56023ce0fd7025154494d139b2c9891d75fee622 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:51 2015 +0800 usb: gadget: audio: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 578aa8a2b12cb4cc3cfdb6ccd56af9f5f0dd6118 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:50 2015 +0800 usb: gadget: acm_ms: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9b95236eebdbdf2ff68517cc32390683f4114a37 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:49 2015 +0800 usb: gadget: ether: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations, free it while ether unbind. If otg capability is not defined, keep its otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 41ce84c86d0a04ef70a9608bd744afb122b6d103 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:48 2015 +0800 usb: gadget: configfs: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations, free it while composite unbind. If otg capability is not defined, keep its otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d1606dfb98e59221332704c05f5908d9116456ab Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:47 2015 +0800 usb: gadget: add usb otg descriptor allocate and init interface Allocate usb otg descriptor and initialize it according to gadget's otg capabilities, if usb_otg_caps is not set, keep settings as current gadget drivers. With this 2 new interfaces, gadget can use usb_otg_descriptor for OTG 1.x, and usb_otg20_descriptor for OTG 2.0 or above, and otg features can be decided by the combination of usb hardware property and driver config. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b0930d4cafb487a663ac6780a0369d1a0f461bc2 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:46 2015 +0800 usb: chipidea: update ci_otg_is_fsm_mode conditions After introduce usb otg properties, update ci_otg_is_fsm_mode conditions to be depending on both usb hardware properties and usb driver config, also resolve a compile issue in debug.c after the API change. Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 79742351c89b76ebcf82b73103aed50f98ac2ee4 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:45 2015 +0800 usb: chipidea: set usb otg capabilities Init and update otg capabilities by DT, set gadget's otg capabilities accordingly. Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 929412d94f2b75fe2a662afa2977bfb6a233c1c3 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:44 2015 +0800 usb: common: add API to update usb otg capabilities by device tree Check property of usb hardware to update otg version and disable SRP, HNP and ADP if its disable flag is present. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b5513dede7c90ba2370ab5eb547568a22991907b Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:43 2015 +0800 doc: dt-binding: usb: add otg related properties Add otg version, srp, hnp and adp support for usb OTG port, then those OTG features don't have to be decided by usb gadget drivers. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 53e6242db8d60da0587d36951cc9434d1a1c21dd Author: Macpaul Lin <macpaul@xxxxxxxxx> Date: Thu Jul 9 15:18:42 2015 +0800 usb: gadget: composite: add USB_DT_OTG request handling Copy usb_otg_descriptor from config's descriptor if host requests USB_DT_OTG. Signed-off-by: Macpaul Lin <macpaul@xxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 84704bb3d183e55d042bf57043552f2649443a64 Author: Macpaul Lin <macpaul@xxxxxxxxx> Date: Thu Jul 9 15:18:41 2015 +0800 usb: add usb_otg_caps to usb_gadget structure. Add usb_otg_caps pointer to usb_gadget structure to indicate its otg capabilities. Signed-off-by: Macpaul Lin <macpaul@xxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6a88bbe8e30d4beb2320b5a7452242a1fe7889c5 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:40 2015 +0800 usb: otg: add usb_otg_caps structure for otg capabilities This patch adds a structure usb_otg_caps to cover all otg related capabilities of the device, including otg revision, and if hnp/srp/adp is supported. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5d701cef9b40188c11c39be3a401bc4feeb154b8 Author: Macpaul Lin <macpaul@xxxxxxxxx> Date: Thu Jul 9 15:18:39 2015 +0800 usb: add USB_OTG_ADP definition Add USB_OTG_ADP definition for usb_otg_descriptor.bmAttributes. Signed-off-by: Macpaul Lin <macpaul@xxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8486a0bba6fc13ae60a8e402cf77c60a7d4e7a04 Author: Macpaul Lin <macpaul@xxxxxxxxx> Date: Thu Jul 9 15:18:38 2015 +0800 usb: add usb_otg20_descriptor for OTG 2.0 and above OTG 2.0 introduces bcdOTG in otg descriptor to identify the OTG and EH supplement release number with which the OTG device is compliant, this patch adds structure usb_otg20_descriptor for OTG 2.0 and above. Signed-off-by: Macpaul Lin <macpaul@xxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d91de093d94eca6e280e50c24b172ed598bb5724 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Jul 8 16:41:40 2015 +0200 usb: musb: sunxi: Add support for musb controller in A33 SoC The A33 SoC uses the same musb controller as found on the A31 and later, but allwinner has removed the configdata register, this commit adds special handling for this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 132e23775779cc895c37f7883c33a60a1a8a7cdd Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Jul 8 16:41:39 2015 +0200 usb: musb: sunxi: Add support for musb controller in A31 SoC The A31 SoC uses the same musb controller as found in earlier SoCs, but it is hooked up slightly different. Its SRAM is private and no longer controlled through the SRAM controller, and its reset is controlled via a separate reset controller. This commit adds support for this setup. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 744543c599c420bcddca08cd2e2713b82a008328 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Jul 8 16:41:38 2015 +0200 usb: musb: sunxi: Add support for the Allwinner sunxi musb controller This is based on initial code to get the Allwinner sunxi musb controller supported by Chen-Yu Tsai and Roman Byshko. This adds support for the Allwinner sunxi musb controller in both host only and otg mode. Peripheral only mode is not supported, as no boards use that. This has been tested on a cubietruck (A20 SoC) and an UTOO P66 tablet (A13 SoC) with a variety of devices in host mode and with the g_serial gadget driver in peripheral mode, plugging otg / host cables in/out a lot of times in all possible imaginable plug orders. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4cfbd95232dd6194c04d432d1a8ac45cec269d8b Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon May 4 14:55:15 2015 +0200 usb: gadget: f_obex: use bind_deactivated flag Use bind_deactivated flag instead of calling usb_function_deactivate() in function bind(). Field 'can_activate' in struct f_obex is no longer needed as setting 'bind_deactivated' flag makes us sure, that the function will be binded only if deactivation can be performed successfully. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f277bf27cf5cd56bcd1c4b95ae140f61680a6e83 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon May 4 14:55:14 2015 +0200 usb: gadget: f_uvc: use bind_deactivated flag Use bind_deactivated flag instead of calling usb_function_deactivate() in function bind(). Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d5bb9b81dbfa35d117ecb58022ee6e7e41e4772d Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon May 4 14:55:13 2015 +0200 usb: composite: add bind_deactivated flag to usb_function This patch introduces 'bind_deactivated' flag in struct usb_function. Functions which don't want to be activated automatically after bind should set this flag, and when they start to be ready to work they should call usb_function_activate(). When USB function sets 'bind_deactivated' flag, initial deactivation counter is incremented automatically, so there is no need to call usb_function_deactivate() in function bind. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5601250bb1b4e736cf487d332f2d8d8833a84209 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon May 4 14:55:12 2015 +0200 usb: composite: fix usb_function_activate/deactivate functions Using usb_gadget_disconnect to make gadget temporarily invisible to host doesn't provide desired result, because gadget is connected immediately after binding regardless to previous usb_gadget_disconnect() calls. For this reason we use usb_gadget_deactivate() instead of usb_gadget_disconnect() to make it working as expected. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ccdf138fe3e243c70301fcb6a101e366b7daef07 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon May 4 14:55:11 2015 +0200 usb: gadget: add usb_gadget_activate/deactivate functions These functions allows to deactivate gadget to make it not visible to host and make it active again when gadget driver is finally ready. They are needed to fix usb_function_activate() and usb_function_deactivate() functions which currently are not working as usb_gadget_connect() is called immediately after function bind regardless to previous calls of usb_gadget_disconnect() function. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 351169933ea22592fb42b97c76c4c130fe287cca Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Jul 8 17:57:40 2015 +0300 usb: phy: qcom: New APQ8016/MSM8916 USB transceiver driver Driver handles PHY initialization, clock management, power management and workarounds required after resetting the hardware. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 75ddead2a77db61e818bc0cbe330a856a912f4d9 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Jul 20 20:15:19 2015 +0200 usb: gadget: storage-common: Set FSG_MAX_LUNS to 16 Mass storage spec allows up to 16 LUNs, so let's not add some more restrictive limits. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bab7a1f199fa617c7a0600c74ebbb514aed6dbe8 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Jul 20 20:15:18 2015 +0200 usb: gadget: mass_storage: Place EXPORT_SYMBOL_GPL() after func definition EXPORT_SYMBOL_GPL() is usually placed after function definition not before. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 903588a99c26ed6f103eaa0cfa4ccbe9cd779398 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Jul 20 20:15:17 2015 +0200 usb: gadget: mass_storage: Free buffers if create lun fails Creation of LUN 0 may fail (for example due to ENOMEM). As fsg_common_set_num_buffers() does some memory allocation we should free it before it becomes unavailable. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit aa7399744dd02537523b7bf9e3070600b6f79751 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jul 20 14:48:13 2015 -0500 usb: dwc3: gadget: defer endpoint name change We should only change endpoint names when we actually manage to enable/disable it. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7eaeac5c0e44921eb583d5b59b9c54741ecaa899 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jul 20 14:46:15 2015 -0500 usb: dwc3: gadget: add a trace when disabling EPs We have a "Enabling %s" trace when enabling an endpoint but that message felt lonely without a matching "Disabling %s". Add it. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d9972f470bcb40947dd91af90f17f9cb01db1f41 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jul 7 13:45:23 2015 -0500 usb: dwc3: core: remove unnecessary dev_warn() When a SoC supports both PHY interfaces but doesn't define HSPHY in DT/pdata, we will get an unnecessary dev_warn() which can mislead users into thinking that they're missing something. Instead, let's just silently rely on a correct default. If the HW default is wrong, then HSPHY is required and USB won't work, this will be motivation enough for engineers to patch their way into a working setup. Reported-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 88167fc0b22aac0fe7b9c4fadf9c251a9f864f32 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Jul 6 11:09:49 2015 +0200 usb: pass flags parameter to gpiod_get functions Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Currently this parameter is made optional with the help of a cpp trick. To allow dropping this hack convert callers to explictly pass a value for flags. Acked-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2df033ca39b56605725384bac1579cdd30e052a6 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Jul 6 11:09:48 2015 +0200 usb: dwc3: pci: make better use of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Use this additional parameter and the _optional variant to simplify the driver and improve error handling. Also expand the comment to explain why it's not sensible to switch to devm_gpiod_get and why the gpiod_put is also necessary. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Tested-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 83b7b67c780500a1d5d87c44ee8963166154adfa Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 1 13:11:34 2015 +0900 usb: phy: msm-usb: Replace deprecated API of extcon This patch removes the deprecated notifier API of extcon framwork and then use the new extcon API with the unique id to indicate the each external connector (USB, USB-HOST). Alter deprecated API as following: - extcon_register_interest() -> extcon_register_notifier() - extcon_get_cable_state(*edev, char *) -> extcon_get_cable_state_(*edev, id) Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 50297b79b8fd426f678431a8e9dcee59afd33ec8 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 1 13:11:33 2015 +0900 usb: renesas_usbhs: Replace deprecated API of extcon This patch removes the deprecated API of extcon and then use the new extcon API with the unique id to indicate the each external connector (USB-HOST). - extcon_get_cable_state(*edev, char *) -> extcon_get_cable_state_(*edev, id) Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Cc: Peter Chen <peter.chen@xxxxxxxxxxxxx> Cc: Varka Bhadram <varkab@xxxxxxx> Cc: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 860d2686fda7e4dceaa4e676e62adcdbfc7f7a2c Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 1 13:11:32 2015 +0900 usb: phy: tahvo: Use devm_extcon_dev_[allocate|register]() and replace deprecated API This patch uses the devm_extcon_dev_[allocate|register]() to manage the resource automatically and replace deprecated API as following: - extcon_[set|get]_cable_state(*edev, char *) -> extcon_[set|get]_cable_state_(*edev, id) Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a2fd2423240fe1abd7a154a1cc0fd1624c339bff Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 1 13:11:31 2015 +0900 usb: phy: omap-otg: Replace deprecated API of extcon This patch removes the deprecated notifier API of extcon framwork and then use the new extcon API with the unique id to indicate the each external connector (USB, USB-HOST). Alter deprecated API as following: - extcon_register_interest() -> extcon_register_notifier() - extcon_get_cable_state(*edev, char *) -> extcon_get_cable_state_(*edev, id) [ balbi@xxxxxx : fix build break ] Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5960387a2fb8314687351f6d8485cf62d7722b4e Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 1 13:11:30 2015 +0900 usb: dwc3: omap: Replace deprecated API of extcon This patch removes the deprecated notifier API of extcon framwork and then use the new extcon API with the unique id to indicate the each external connector (USB, USB-HOST). Alter deprecated API as following: - extcon_register_interest() -> extcon_register_notifier() - extcon_get_cable_state(*edev, char *) -> extcon_get_cable_state_(*edev, id) Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b5c03bffa67727697252e913f64703e3404867ae Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Jun 10 16:04:25 2015 +0530 usb: udc: Convert use of __constant_cpu_to_leXX to cpu_to_leXX In big endian cases, the macro cpu_to_le{16,32} unfolds to __swab{16,32} which provides special case for constants. In little endian cases, __constant_cpu_to_le{16,32} and cpu_to_le{16,32} expand directly to the same expression. So, replace __constant_cpu_to_le{16,32} with cpu_to_le{16,32} with the goal of getting rid of the definition of __constant_cpu_to_le{16,32} completely. The semantic patch that performs this transformation is as follows: @@expression x;@@ ( - __constant_cpu_to_le16(x) + cpu_to_le16(x) | - __constant_cpu_to_le32(x) + cpu_to_le32(x) ) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ad4676ab58ae38e5597a2d6bc0d12e9b5e0b0d18 Author: Diego Viola <diego.viola@xxxxxxxxx> Date: Sun May 31 15:52:41 2015 -0300 usb: gadget: composite.c: i18n is not an acronym I18N should be spelled as i18n because it's not an acronym Signed-off-by: Diego Viola <diego.viola@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b8464bcf0a20970471e8f897fe4706fcc2702263 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Jun 6 07:02:53 2015 +0530 usb: gadget: Convert use of __constant_cpu_to_le16 to cpu_to_le16 In big endian cases, macro cpu_to_le16 unfolds to __swab16 which provides special case for constants. In little endian cases, __constant_cpu_to_le16 and cpu_to_le16 expand directly to the same expression. So, replace __constant_cpu_to_le16 with cpu_to_le16 with the goal of getting rid of the definition of __constant_cpu_to_le16 completely. The semantic patch that performs this transformation is as follows: @@expression x;@@ - __constant_cpu_to_le16(x) + cpu_to_le16(x) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d3c1ac4a69667300996ea76fe25c33434372a2a8 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Fri Jun 19 12:16:45 2015 +0200 usb: gadget: SourceSink: Remove out-of-date comment As SourceSink function has been reworked for ConfigFS composite gadget this comment is no longer valid. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e425be9304ce4da9cd231b55630ca941752635e9 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Fri Jun 19 12:05:05 2015 +0200 usb: gadget: loopback: Remove out-of-date comment As loopback function has been reworked for ConfigFS composite gadget this comment is no longer valid. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9fcfa463e17adc48865b1a4124d48d48e0b59556 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:51:49 2015 -0500 usb: dwc3: drop CONFIG_USB_DWC3_DEBUG now that we have no users of dev_dbg() in dwc3, we can safely remove CONFIG_USB_DWC3_DEBUG. If dev_dbg() is ever strictly necessary - and I don't see why it would, considering we want to rely on tracepoints for debug - we will depend on DYNAMIC_PRINTK to enable such messages. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e746b06cc76afea568c7d53f83a834dc8d720da1 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:50:46 2015 -0500 usb: dwc3: st: remove two unnecessary messages the mode of operation is exposed through debugfs at all times. Because of that, we're removing the unnecessary messages. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2babd0d148a365728649addaaa09bfb690ce6b83 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:48:58 2015 -0500 usb: dwc3: qcom: switch dev_dbg() to dev_info() those two messages are informing that the clock doesn't exist; that, however, is a valid situation and driver continues just fine by ignoring the error. Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 42f69a02e7ab42f1ec75b91faf05b86e75de794a Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:47:45 2015 -0500 usb: dwc3: exynos: switch dev_dbg() to dev_info() that message is informing that the clock is missing. However, that's a valid condition for some setups; driver even ignores the error and continues just fine. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9ff0fdca3b628d3f8719237cbc8f148379527108 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:46:53 2015 -0500 usb: dwc3: keystone: convert dev_dbg() to dev_err() that's an error condition, not a debugging message. Let's promote it appropriately. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e4f7566754675b2fd89ed32eee867d5f19bac934 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:46:07 2015 -0500 usb: dwc3: omap: drop dev_dbg() usage Some of the messages were plain unnecessary and some were actually errors. Fix it all up. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5a350d53f4c4784cf6bb4d94e7b8d76ca4f96e9f Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jun 29 20:17:22 2015 -0500 usb: dwc2: gadget: use | instead of + for bitmasks It's just a lot clearer to use | operator instead of + operator. Caught by coccicheck: " drivers/usb/dwc2/gadget.c:2883:26-27: WARNING: sum of probable bitmasks, consider | " Cc: John Youn <John.Youn@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5ea75095fe6d683900ccc674fcac375e7df68005 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Mon Jun 8 08:20:05 2015 +0200 usb: gadget: nokia: Add mass storage driver to g_nokia This patch adds removable mass storage support to g_nokia gadget (for N900). It means that at runtime block device can be exported or unexported. So it does not export anything by default and thus allows to use MyDocs partition as before... [ balbi@xxxxxx: make it build ] Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2c68f6dc6e621153a708bef6c569805762da2020 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Jul 28 13:14:32 2015 -0600 block: shrink struct bio down to 2 cache lines again Commit bcf2843b3f8f added ->bi_error to cleanup the error passing for struct bio, but that ended up adding 4 bytes and a 4 byte hole to the size of struct bio. For a clean config, that bumped it from 128 bytes, to 136 bytes, on x86-64. The ->bi_flags member is currently an unsigned long, but it fits easily within an int. Change it to an unsigned int, adjust the the pool offset code, and move ->bi_error into the new hole. Then we end up with a 128 byte bio again. Change the bio flag set/clear to use cmpxchg to ensure we don't lose any flags when manipulating them. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b7c44ed9d2fc6b461378c65eaf144ccc80a47772 Author: Jens Axboe <axboe@xxxxxx> Date: Fri Jul 24 12:37:59 2015 -0600 block: manipulate bio->bi_flags through helpers Some places use helpers now, others don't. We only have the 'is set' helper, add helpers for setting and clearing flags too. It was a bit of a mess of atomic vs non-atomic access. With BIO_UPTODATE gone, we don't have any risk of concurrent access to the flags. So relax the restriction and don't make any of them atomic. The flags that do have serialization issues (reffed and chained), we already handle those separately. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4246a0b63bd8f56a1469b12eafeb875b1041a451 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Jul 20 15:29:37 2015 +0200 block: add a bi_error field to struct bio Currently we have two different ways to signal an I/O error on a BIO: (1) by clearing the BIO_UPTODATE flag (2) by returning a Linux errno value to the bi_end_io callback The first one has the drawback of only communicating a single possible error (-EIO), and the second one has the drawback of not beeing persistent when bios are queued up, and are not passed along from child to parent bio in the ever more popular chaining scenario. Having both mechanisms available has the additional drawback of utterly confusing driver authors and introducing bugs where various I/O submitters only deal with one of them, and the others have to add boilerplate code to deal with both kinds of error returns. So add a new bi_error field to store an errno value directly in struct bio and remove the existing mechanisms to clean all this up. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 62d6d47cb8bd5ace08a90a1cd78f6908e9f9c2d3 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Jul 27 09:39:43 2015 +0800 ASoC: max98090: Simplify max98090_readable_register implementation The readable registers are in consecutive ranges: 0x01 ~ 0x03, 0x0D ~ 0xD1, 0xFF So simplify the implementation by specifying a range of consecutive values in a single case label. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d32e03f0b6f9b4ad260feca1c5c938a882066de9 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:28 2015 +0200 ASoC: xtfpga-i2s: Add missing __rcu annotation tx_substeam is accessed using the RCU API and hence should have the __rcu annotation. Fixes the following sparse warnings: sound/soc/xtensa/xtfpga-i2s.c:165:24: error: incompatible types in comparison expression (different address spaces) sound/soc/xtensa/xtfpga-i2s.c:165:24: error: 'struct snd_pcm_substream [noderef] <asn:4>*' versus sound/soc/xtensa/xtfpga-i2s.c:165:24: error: 'struct snd_pcm_substream *' sound/soc/xtensa/xtfpga-i2s.c:255:24: error: incompatible types in comparison expression (different address spaces) sound/soc/xtensa/xtfpga-i2s.c:255:24: error: 'struct snd_pcm_substream [noderef] <asn:4>*' versus sound/soc/xtensa/xtfpga-i2s.c:255:24: error: 'struct snd_pcm_substream *' Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85cf604edc18722140f73e225394722801e55de0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:27 2015 +0200 ASoC: uniperf: Staticise local symbols uni_player_dai_ops is not used outside of this file so it should be static. Fixes the following sparse warning: sound/soc/sti/uniperif_player.c:959:30: warning: symbol 'uni_player_dai_ops' was not declared. Should it be static? Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b917abb4064b38b0613e953b09213e788ad94ad0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:26 2015 +0200 ASoC: uniperf: Add missing __iomem annotation base referes to a iomem region, so it should have the __iomem annotation. Fixes the following warnings from sparse: sound/soc/sti/sti_uniperif.c:169:19: warning: incorrect type in assignment (different address spaces) sound/soc/sti/sti_uniperif.c:169:19: expected void *base sound/soc/sti/sti_uniperif.c:169:19: got void [noderef] <asn:2>* sound/soc/sti/uniperif_player.c:104:18: warning: incorrect type in argument 1 (different address spaces) sound/soc/sti/uniperif_player.c:104:18: expected void const volatile [noderef] <asn:2>*addr sound/soc/sti/uniperif_player.c:104:18: got void * [...] Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e773c2f964640e103cc75a45aa4555c73ba55c29 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:25 2015 +0200 ASoC: rcar ctu: Staticise local symbols rsnd_of_parse_ctu() is not used outside this file so it can be static. Fixes the following sparse warning: sound/soc/sh/rcar/ctu.c:72:6: warning: symbol 'rsnd_of_parse_ctu' was not declared. Should it be static? Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eccad574ef2d74e7519a092d9822932a27c6f165 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:24 2015 +0200 ASoC: lpass-ipq806x: Staticise local symbols ipq806x_data is not used outside this file, so it can be static. Fixes the following sparse warning: sound/soc/qcom/lpass-ipq806x.c:76:22: warning: symbol 'ipq806x_data' was not declared. Should it be static? Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c8a6b92be8516c92cf46bc127fa0adf53a05d31c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:23 2015 +0200 ASoC: wm8804: Drop duplicate const SOC_ENUM_SINGLE_DECL() already includes a const, drop the extra const. Fixes the following sparse warning: sound/soc/codecs/wm8804.c:101:14: warning: duplicate const Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c020e378b2b388b712a40dce2da6d437d2b6e0e0 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 07:34:10 2015 +0000 spi: bcm2835: fix overflow in calculation of transfer time This resulted in the use of polling mode when other approaches (dma or interrupts) would have been more appropriate. Happened for transfers longer than 477 bytes. Reported-by: Noralf Tronnes <noralf@xxxxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26a67ec47a4c58fe79c6421c3dc3d697d322d2d6 Author: Lars Persson <lars.persson@xxxxxxxx> Date: Wed Jul 29 09:32:02 2015 +0200 spi: Fix regression in spi-bitbang-txrx.h This patch fixes a regression introduced by commit 232a5adc5199 ("spi: bitbang: only toggle bitchanges"). The attempt to optimize writes of consecutive bit patterns broke most of the combinations of word size and SPI modes due to selecting the wrong bit as the MSB value. Fixes: 232a5adc5199 (spi: bitbang: only toggle bitchanges) Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b10c7f3cc948107fb992d3a14eeaa0fdfb5c95da Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Tue Jul 28 11:34:11 2015 +0300 regulator: max8973: Set VSEL regmap ops if DVS GPIO is not set Use regmap helpers for get_voltage_sel and set_voltage_sel ops if the DVS GPIO is not set. The DVS GPIO allows on the fly selection of the VSEL register from two choices. However, if it is not set, the VSEL register will stay fixed and we can use the regmap ops. This allows use of the *hardware_vsel* regulator APIs. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85e7118412fea31464b62d00bcf4a65fa8904dcc Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 28 13:39:01 2015 +0800 ASoC: wm8983: Get rid of wm8983_access_masks table The max8983_access table is used for look up readable/writable attributes of registers. The writable registers are mostly in continuous ranges, so we can replace max8983_access table by using case range. The read fields are all 0, so just drop implement of .readable callback. Also set .max_register setting. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5549ce82e29c6c1a45ad36a871096ae7c53e53b9 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 28 13:30:14 2015 +0800 ASoC: max98095: Get rid of max98095_access table The max98095_access table is used for look up readable/writable attributes of registers. The readable/writable/volatile registers are mostly in continuous ranges, so we can replace the max98095_access table entirely by using case range. Below is a summary of the readable/writeable/volatile registers: readable registers: 0x01 ~ 0x97, 0xFF writeable registers: 0x0F ~ 0x97 volatile registers: 0x00 ~ 0x0E, 0x98 ~ 0xFF This patch reworks the implement for .readable and .volatile and also add implementation for .writable callback. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f102aa1414d9aa28491414cf4103bad1ddb3ea1f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 28 13:29:00 2015 +0800 ASoC: max98088: Get rid of max98088_access table The max98088_access table is used for look up readable/writable/volatile attributes of registers. The readable/writable/volatile registers are mostly in continuous ranges, so we can replace the max98088_access table entirely by using case range. Below is a summary of the readable/writeable/volatile registers: readable registers: 0x00 ~ 0xC9, 0xFF writeable registers: 0x03 ~ 0xC9 volatile registers: 0x00 ~ 0x03, 0xFF Note, 0x00 should be read-only according to the datasheet. This patch reworks the implement for .readable and .volatile and also add implementation for .writable callback. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f785f2357673d520a0b7b468973cdd197f336494 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Jul 28 12:01:33 2015 -0300 perf symbols: Fix mismatched declarations for elf_getphdrnum When HAVE_ELF_GETPHDRNUM_SUPPORT is false we trip on this problem: CC /tmp/build/perf/util/symbol-elf.o util/symbol-elf.c:41:12: error: static declaration of â??elf_getphdrnumâ?? follows non-static declaration static int elf_getphdrnum(Elf *elf, size_t *dst) ^ In file included from util/symbol.h:19:0, from util/symbol-elf.c:8: /usr/include/libelf.h:206:12: note: previous declaration of â??elf_getphdrnumâ?? was here extern int elf_getphdrnum (Elf *__elf, size_t *__dst); ^ MKDIR /tmp/build/perf/bench/ /home/git/linux/tools/build/Makefile.build:68: recipe for target '/tmp/build/perf/util/symbol-elf.o' failed make[3]: *** [/tmp/build/perf/util/symbol-elf.o] Error 1 Fix it. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-qcmekyfedmov4sxr0wahcikr@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 58b32c1b538f2d197ce385d6a314e83f8b787021 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Jul 27 17:13:21 2015 -0300 perf python: Make twatch.py use soft dummy event, freq=0 To not sample, what we want are just the PERF_RECORD_ lifetime events for threads, using the default, PERF_TYPE_HARDWARE + PERF_COUNT_HW_CYCLES and freq=1 (the default), makes perf reenable irq_vectors:local_timer_entry, disabling nohz, not good for some use cases where all we want is to get notifications when threads comes and goes... Fix it by using PERF_TYPE_SOFTWARE (no counter rotation) and PERF_COUNT_SW_DUMMY (created by Adrian so that we could have access to those PERF_RECORD_ goodies). Reported-by: Luiz Fernando Capitulino <lcapitulino@xxxxxxxxxx> Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jaroslav Skarvada <jskarvad@xxxxxxxxxx> Cc: Jeremy Eder <jeder@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kfsijirfrs6xfhkcdxeoen06@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 84576da2f72e51be63c5b63c0e297028fa7ac59f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 24 13:04:09 2015 -0300 perf python: Add missing PERF_RECORD_{MMAP2,AUX,etc} Those were added to the kernel and tooling but we forgot to expose them via the python binding, fix it. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-sg1m6t2c58gchidfce4hmitg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5865fe361a234e50b5217da3edd2c5571fffc7fd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 24 13:00:03 2015 -0300 perf python: Add macro to simplify maintainance of the constants array Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ffuchgsbr5mqu91xl9oggfss@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 959c2199d4c0e330d17f1f5234527e87132d5e07 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 24 12:13:05 2015 -0300 perf python: Remove dependency on 'machine' methods The python binding still doesn't provide symbol resolving facilities, but the recent addition of the trace_event__register_resolver() function made it add as a dependency the machine__resolve_kernel_addr() method, that in turn drags all the symbol resolving code. The problem: [root@zoo ~]# perf test -v python 17: Try 'import perf' in python, checking link problems : --- start --- test child forked, pid 6853 Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: /tmp/build/perf/python/perf.so: undefined symbol: machine__resolve_kernel_addr test child finished with -1 ---- end ---- Try 'import perf' in python, checking link problems: FAILED! [root@zoo ~]# Fix it by requiring this function to receive the resolver as a parameter, just like pevent_register_function_resolver(), i.e. do not explicitely refer to an object file not included in tools/perf/util/python-ext-sources. [root@zoo ~]# perf test python 17: Try 'import perf' in python, checking link problems : Ok [root@zoo ~]# Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Fixes: c3168b0db93a ("perf symbols: Provide libtraceevent callback to resolve kernel symbols") Link: http://lkml.kernel.org/n/tip-vxlhh95v2em9zdbgj3jm7xi5@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 011710e2ab659c7ad6e5e554806414bd7a9508be Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Mon Jul 27 13:11:15 2015 +0100 spi: img-spfi: check for timeout error before proceeding Calling spfi_wait_all_done is not required if the transfer has timed out before all data is transferred. spfi_wait_all_done polls for Alldone interrupt which is triggered to mark the transfer as complete and to indicate it is now safe to issue a new transfer. Fixes: 8c2c8c0 ("spi: img-spfi: Control CS lines with GPIO") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit de734f89b67c2df30e35a09e7e56a3659e5b6ac6 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Thu Jun 11 18:07:12 2015 +0200 nohz: Remove useless argument on tick_nohz_task_switch() Leftover from early code. Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 59d2c7ca492d7a7093755e4108390e4dac8b6365 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri May 29 14:42:15 2015 +0200 nohz: Move tick_nohz_restart_sched_tick() above its users Fix the function declaration/definition dance. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 73738a95d00467812664b7f86ba3052f5faf96d7 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed May 27 19:22:08 2015 +0200 nohz: Restart nohz full tick from irq exit Restart the tick when necessary from the irq exit path. It makes nohz full more flexible, simplify the related IPIs and doesn't bring significant overhead on irq exit. In a longer term view, it will allow us to piggyback the nohz kick on the scheduler IPI in the future instead of sending a dedicated IPI that often doubles the scheduler IPI on task wakeup. This will require more changes though including careful review of resched_curr() callers to include nohz full needs. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 594493594373862ed2a7f91d88a5a2670742faa6 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed May 27 15:42:42 2015 +0200 nohz: Remove idle task special case On nohz full early days, idle dynticks and full dynticks weren't well integrated and we couldn't risk full dynticks calls on idle without risking messing up tick idle statistics. This is why we prevented such thing to happen. Nowadays full dynticks and idle dynticks are better integrated and interact without known issue. So lets remove that. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 03f6199a359e460714b6bd08c10b566760f150a6 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Fri Jul 10 15:37:25 2015 -0400 nohz: Prevent tilegx network driver interrupts Normally the tilegx networking shim sends irqs to all the cores to distribute the load of processing incoming-packet interrupts, so that you can get to multiple Gb's of traffic inbound. However, in nohz_full mode we don't want to interrupt the nohz_full cores by default, so we limit the set of cores we use to only the online housekeeping cores. To make client code easier to read, we introduce a new nohz_full accessor, housekeeping_cpumask(), which returns a pointer to the housekeeping_mask if nohz_full is enabled, and otherwise returns the cpu_possible_mask. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 2019e8a3024bd8fcadd57891a88c838849216a5f Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Mon Oct 27 17:20:35 2014 +0100 alpha: Fix jiffies based cputime assumption That code wrongly assumes that cputime_t wraps jiffies_t. Lets use the correct accessors/mutators. In practice there should be no harm yet because alpha currently only support tick based cputime accounting which is always jiffies based. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc; John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 031a7f456adecaff692bc040b31a7d2262b4ee56 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Mon Oct 27 17:16:04 2014 +0100 apm32: Fix cputime == jiffies assumption That code wrongly assumes that cputime_t wraps jiffies_t. Lets use the correct accessors/mutators. No real harm now as that code can't be used with full dynticks. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc; John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit e075867681ca9b8c0b8823e24d0fb4ce3b4f2655 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Oct 10 02:44:01 2014 +0200 jiffies: Remove HZ > USEC_PER_SEC special case HZ never goes much further 1000 and a bit. And if we ever reach one tick per microsecond, we might be having a problem. Lets stop maintaining this special case, just leave a paranoid check. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc; John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit e63bfd45aba4269811662de0954785622a2ac928 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Jul 26 19:05:00 2015 +0200 ASoC: dapm: Add widget path iterators Add helper iterator macros for iterating over the source and sink paths of widget. This will make it easier to change the implementation later on. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ce43acff0c078fd560ee0f2a4ae10b8da28e388 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Jul 26 19:04:59 2015 +0200 ASoC: dapm: Simplify list creation in dapm_dai_get_connected_widgets() When running dapm_dai_get_connected_widgets() currently in is_connected_{input,output}_ep() for each widget that gets added the array is resized and the code also loops over all existing entries to avoid adding a widget multiple times. The former can be avoided by collecting the widgets in a linked list and only once we have all widgets allocate the array. The later can be avoided by changing when the widget is added. Currently it is added when walking the neighbor lists of a widget. Since a widget can be neighbors with multiple other widgets it could get added twice and hence the check is necessary. But the main body of is_connected_{input,output}_ep is guaranteed to be only executed at most once per widget. So adding the widget to the list at the beginning of the function automatically makes sure that each widget gets only added once. The only difference is that using this method the starting point itself will also end up on the list, but it can easily be skipped when creating the array. Overall this reduces the code size and speeds things slightly up. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 787126ebdb9821f1a19b1dfd1ab1bbb74b8c80b8 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Jul 26 19:04:58 2015 +0200 ASoC: dapm: Drop always true checks list_first_entry() always returns non NULL and since the code previously checked that list is not empty it will also be a valid pointer. Furthermore a path has always a sink or a source widget. So both checks are redundant and can be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82cf77a1bd61d981184a355742a9b5c78f286f97 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Jul 25 15:32:16 2015 +0800 ASoC: tas2552: Remove unneeded NULL test for tas2552->enable_gpio It's safe to call gpiod_set_value() with NULL desc. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f8163c8673efaabb361281a2759b3167d181ecf6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Jul 25 10:23:40 2015 +0800 ASoC: rt5677: Return error if devm_gpiod_get_optional return ERR_PTR If devm_gpiod_get_optional() return ERR_PTR, it means something wrong so request gpio fails. We had better return error in such case. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c847fe8895fded71d0b9a0ba58d3828320fd1824 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 11:06:34 2015 +0200 KVM: x86: remove unnecessary memory barriers for shared MSRs There is no smp_rmb matching the smp_wmb. shared_msr_update is called from hardware_enable, which in turn is called via on_each_cpu. on_each_cpu and must imply a read memory barrier (on x86 the rmb is achieved simply through asm volatile in native_apic_mem_write). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d71ba788345c2b5646101766e0c52714a9b5ed7f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 11:56:48 2015 +0200 KVM: move code related to KVM_SET_BOOT_CPU_ID to x86 This is another remnant of ia64 support. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9a1d78a3780e0e37eeff11b377fc5fbb01446a36 Author: Ð?иколай Ð?Ñ?дÑ?Ñ?вÑ?ев <nkudriavtsev@xxxxxxxxx> Date: Tue Jul 21 13:31:52 2015 +0300 HID: chicony: Add support for Acer Aspire Switch 12 Acer Aspire Switch 12 keyboard Chicony's controller reports too big usage index on the 1st interface. The patch fixes the report. The work based on solution from drivers/hid/hid-holtek-mouse.c Bug report: https://bugzilla.kernel.org/show_bug.cgi?id=101721 Signed-off-by: Nicholas Kudriavtsev <nkudriavtsev@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit c873d9aba7c9782b4dc74488ab964ed6cf54678f Author: Simon Wood <simon@xxxxxxxxxxxxx> Date: Thu Jul 23 19:10:03 2015 -0600 HID: hid-lg: Add USBID for Logitech G29 Wheel Since this wheel is now available, and the USBID is listed on their website, this patch adds it to allow the hid-lg4ff force feedback driver to find it. I do not have this wheel to test with, but this should at least get it working in emulation mode. Note: There is probably more work required for adjust HID descriptor and handle switching between emulation and native modes. Signed-off-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 554726d33c20791653dbd1c047c83f93459bc586 Merge: 5492830 c92ea7b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 12:53:58 2015 +0200 Merge tag 'kvm-s390-next-20150728' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-next KVM: s390: Fixes and features for kvm/next (4.3) 1. Rework logging infrastructure (s390dbf) to integrate feedback learned when debugging performance and test issues 2. Some cleanups and simplifications for CMMA handling 3. Fix gdb debugging and single stepping on some instructions 4. Error handling for storage key setup commit c92ea7b9f7d256cabf7ee08a7627a5227e356dec Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Jul 22 15:52:10 2015 +0200 KVM: s390: log capability enablement and vm attribute changes Depending on user space, some capabilities and vm attributes are enabled at runtime. Let's log those events and while we're at it, log querying the vm attributes as well. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 78f2613168eca83a218272aa12b680a365ee58d6 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Jul 22 15:50:58 2015 +0200 KVM: s390: Provide global debug log In addition to the per VM debug logs, let's provide a global one for KVM-wide events, like new guests or fatal errors. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> commit 7cbde76b3d55ee299568eb943854c425b015b30c Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Jul 21 12:44:57 2015 +0200 KVM: s390: adapt debug entries for instruction handling Use the default log level 3 for state changing and/or seldom events, use 4 for others. Also change some numbers from %x to %d and vice versa to match documentation. If hex, let's prepend the numbers with 0x. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 1cb9cf726efeb77e05ee4f27f32700c46ecb1b8a Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Jul 20 15:04:48 2015 +0200 KVM: s390: improve debug feature usage We do not use the exception logger, so the 2nd area is unused. Just have one area that is bigger (32 pages). At the same time we can limit the debug feature size to 7 longs, as the largest user has 3 parameters + string + boiler plate (vCPU, PSW mask, PSW addr) Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit f2d2eb9d05b7d03acff0589e5fd8c13a0031cb6c Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Jul 20 22:05:55 2015 +0200 KVM: s390: remove outdated documentation The old Documentation/s390/kvm.txt file is either outdated or described in Documentation/virtual/kvm/api.txt. Let's get rid of it. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> commit a37281b63681015b12c3b7322e6bd681c0ea1ef4 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 21 13:45:08 2014 +0100 KVM: s390: more irq names for trace events This patch adds names for missing irq types to the trace events. In order to identify adapter irqs, the define is moved from interrupt.c to the other basic irq defines in uapi/linux/kvm.h. Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 3f24ba150cb6be11222ced427f2997c33fbd665e Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 9 14:08:18 2015 +0200 KVM: s390: Fixup interrupt vcpu event messages and levels This reworks the debug logging for interrupt related logs. Several changes: - unify program int/irq - improve decoding (e.g. use mcic instead of parm64 for machine check injection) - remove useless interrupt type number (the name is enough) - rename "interrupt:" to "deliver:" as the other side is called "inject" - use log level 3 for state changing and/or seldom events (like machine checks, restart..) - use log level 4 for frequent events - use 0x prefix for hex numbers - add pfault done logging - move some tracing outside spinlock Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> commit ab7090a611c6f4ea327c811c08458147e54130d2 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 16 10:24:07 2015 +0200 KVM: s390: add more debug data for the pfault diagnoses We're not only interested in the address of the control block, but also in the requested subcommand and for the token subcommand, in the specified token address and masks. Suggested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> commit ed2afcfa13e9c44340780123a07350e14bacd4b5 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 10:33:03 2015 +0200 KVM: s390: remove "from (user|kernel)" from irq injection messages The "from user"/"from kernel" part of the log/trace messages is not always correct anymore and therefore not really helpful. Let's remove that part from the log + trace messages. For program interrupts, we can now move the logging/tracing part into the real injection function, as already done for the other injection functions. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 71db35d26dbacd3d165522022ecb757ddc1529ea Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Jul 10 15:27:20 2015 +0200 KVM: s390: VCPU_EVENT cleanup for prefix changes SPX (SET PREFIX) and SIGP (Set prefix) can change the prefix register of a CPU. As sigp set prefix may be handled in user space (KVM_CAP_S390_USER_SIGP), we would not log the changes triggered via SIGP in that case. Let's have just one VCPU_EVENT at the central location that tracks prefix changes. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> commit 15e8b5daabe37b56e8117957ea1a10e99d380ac4 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 9 13:43:41 2015 +0200 KVM: s390: Improve vcpu event debugging for diagnoses Let's add a vcpu event for the page reference handling and change the default debugging level for the ipl diagnose. Both are not frequent AND change the global state, so lets log them always. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 175a5c9e79b0eb822c158a6535f44a8460b40664 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Jul 7 15:19:32 2015 +0200 KVM: s390: add kvm stat counter for all diagnoses Sometimes kvm stat counters are the only performance metric to check after something went wrong. Let's add additional counters for some diagnoses. In addition do the count for diag 10 all the time, even if we inject a program interrupt. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> commit c348915585af12a7fc6453524d9835830dba574b Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 13:17:11 2015 +0200 KVM: s390: only reset CMMA state if it was enabled before There is no point in resetting the CMMA state if it was never enabled. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit e6db1d61c7cc05dd3c8b787a0bd47dcb94800300 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Thu May 7 15:41:57 2015 +0200 KVM: s390: clean up cmma_enable check As we already only enable CMMA when userspace requests it, we can safely move the additional checks to the request handler and avoid doing them multiple times. This also tells userspace if CMMA is available. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 0df30abcd69b61d8163282c157f15ed3b0f1ac85 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 23 22:49:36 2015 +0200 KVM: s390: filter space-switch events when PER is enforced When guest debugging is active, space-switch events might be enforced by PER. While the PER events are correctly filtered out, space-switch-events could be forwarded to the guest, although from a guest point of view, they should not have been reported. Therefore we have to filter out space-switch events being concurrently reported with a PER event, if the PER event got filtered out. To do so, we theoretically have to know which instruction was responsible for the event. As the applicable instructions modify the PSW address, the address space set in the PSW and even the address space in cr1, we can't figure out the instruction that way. For this reason, we have to rely on the information about the old and new address space, in order to guess the responsible instruction type and do appropriate checks for space-switch events. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 14d4a425e7df6aaaa3287108ce191ccb6644c264 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Thu May 7 15:16:13 2015 +0200 KVM: s390: propagate error from enable storage key As enabling storage keys might fail, we should forward the error. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 8453580cb8834dedffda86bcb64f13befc90eb03 Author: Hanno Böck <hanno@xxxxxxxxx> Date: Wed Jul 29 10:31:04 2015 +0200 drm/i915: Fix command parser table validator As we may like to use a bisection search on the tables in future, we need them to be ordered. For convenience we expect the compiled tables to be order and check on initialisation. However, the validator used the wrong iterators failed to spot the misordered MI tables and instead walked off into the unknown (as spotted by kasan). Signed-off-by: Hanno Boeck <hanno@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Again hand-assemble patch ...] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9f58582c7ad64f025e7fc582461c5bfafb46818f Author: Hanno Böck <hanno@xxxxxxxxx> Date: Wed Jul 29 10:29:58 2015 +0200 drm/i915: Properly sort MI coomand table In the future, we may want to speed up command/register searching using a bisection and so we require them to be in ascending order respectively by command value or register address. However, this was not true for one pair in the MI table; make it so. Signed-off-by: Hanno Boeck <hanno@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Hand-assemble patch from raw patch from Hanno and commit message from Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ccec9038c7217e537f5ae5e3ac5af8293a21bbfd Author: David Liu <cfliu.tw@xxxxxxxxx> Date: Fri Jul 24 20:25:32 2015 +0300 ath10k: enable raw encap mode and software crypto engine This patch enables raw Rx/Tx encap mode to support software based crypto engine. This patch introduces a new module param 'cryptmode'. cryptmode: 0: Use hardware crypto engine globally with native Wi-Fi mode TX/RX encapsulation to the firmware. This is the default mode. 1: Use sofware crypto engine globally with raw mode TX/RX encapsulation to the firmware. Known limitation: A-MSDU must be disabled for RAW Tx encap mode to perform well when heavy traffic is applied. Testing: (by Michal Kazior <michal.kazior@xxxxxxxxx>) a) Performance Testing cryptmode=1 ap=qca988x sta=killer1525 killer1525 -> qca988x 194.496 mbps [tcp1 ip4] killer1525 -> qca988x 238.309 mbps [tcp5 ip4] killer1525 -> qca988x 266.958 mbps [udp1 ip4] killer1525 -> qca988x 477.468 mbps [udp5 ip4] qca988x -> killer1525 301.378 mbps [tcp1 ip4] qca988x -> killer1525 297.949 mbps [tcp5 ip4] qca988x -> killer1525 331.351 mbps [udp1 ip4] qca988x -> killer1525 371.528 mbps [udp5 ip4] ap=killer1525 sta=qca988x qca988x -> killer1525 331.447 mbps [tcp1 ip4] qca988x -> killer1525 328.783 mbps [tcp5 ip4] qca988x -> killer1525 375.309 mbps [udp1 ip4] qca988x -> killer1525 403.379 mbps [udp5 ip4] killer1525 -> qca988x 203.689 mbps [tcp1 ip4] killer1525 -> qca988x 222.339 mbps [tcp5 ip4] killer1525 -> qca988x 264.199 mbps [udp1 ip4] killer1525 -> qca988x 479.371 mbps [udp5 ip4] Note: - only open network tested for RAW vs nwifi performance comparison - killer1525 (qca6174 hw2.2) is 2x2 device (hence max 866mbps) - used iperf - OTA, devices a few cm apart from each other, no shielding - tcpX/udpX, X - means number of threads used Overview: - relative Tx performance drop is seen but is within reasonable and expected threshold (A-MSDU must be disabled with RAW Tx) b) Connectivity Testing cryptmode=1 ap=iwl6205 sta1=qca988x crypto=open topology-1ap1sta OK ap=iwl6205 sta1=qca988x crypto=wep1 topology-1ap1sta OK ap=iwl6205 sta1=qca988x crypto=wpa topology-1ap1sta OK ap=iwl6205 sta1=qca988x crypto=wpa-ccmp topology-1ap1sta OK ap=qca988x sta1=iwl6205 crypto=open topology-1ap1sta OK ap=qca988x sta1=iwl6205 crypto=wep1 topology-1ap1sta OK ap=qca988x sta1=iwl6205 crypto=wpa topology-1ap1sta OK ap=qca988x sta1=iwl6205 crypto=wpa-ccmp topology-1ap1sta OK ap=iwl6205 sta1=qca988x crypto=open topology-1ap1sta2br OK ap=iwl6205 sta1=qca988x crypto=wep1 topology-1ap1sta2br OK ap=iwl6205 sta1=qca988x crypto=wpa topology-1ap1sta2br OK ap=iwl6205 sta1=qca988x crypto=wpa-ccmp topology-1ap1sta2br OK ap=qca988x sta1=iwl6205 crypto=open topology-1ap1sta2br OK ap=qca988x sta1=iwl6205 crypto=wep1 topology-1ap1sta2br OK ap=qca988x sta1=iwl6205 crypto=wpa topology-1ap1sta2br OK ap=qca988x sta1=iwl6205 crypto=wpa-ccmp topology-1ap1sta2br OK ap=iwl6205 sta1=qca988x crypto=open topology-1ap1sta2br1vlan OK ap=iwl6205 sta1=qca988x crypto=wep1 topology-1ap1sta2br1vlan OK ap=iwl6205 sta1=qca988x crypto=wpa topology-1ap1sta2br1vlan OK ap=iwl6205 sta1=qca988x crypto=wpa-ccmp topology-1ap1sta2br1vlan OK ap=qca988x sta1=iwl6205 crypto=open topology-1ap1sta2br1vlan OK ap=qca988x sta1=iwl6205 crypto=wep1 topology-1ap1sta2br1vlan OK ap=qca988x sta1=iwl6205 crypto=wpa topology-1ap1sta2br1vlan OK ap=qca988x sta1=iwl6205 crypto=wpa-ccmp topology-1ap1sta2br1vlan OK Note: - each test takes all possible endpoint pairs and pings - each pair-ping flushes arp table - ip6 is used c) Testbed Topology: 1ap1sta: [ap] ---- [sta] endpoints: ap, sta 1ap1sta2br: [veth0] [ap] ---- [sta] [veth2] | | | | [veth1] | \ [veth3] \ / \ / [br0] [br1] endpoints: veth0, veth2, br0, br1 note: STA works in 4addr mode, AP has wds_sta=1 1ap1sta2br1vlan: [veth0] [ap] ---- [sta] [veth2] | | | | [veth1] | \ [veth3] \ / \ / [br0] [br1] | | [vlan0_id2] [vlan1_id2] endpoints: vlan0_id2, vlan1_id2 note: STA works in 4addr mode, AP has wds_sta=1 Credits: Thanks to Michal Kazior <michal.kazior@xxxxxxxxx> who helped find the amsdu issue, contributed a workaround (already squashed into this patch), and contributed the throughput and connectivity tests results. Signed-off-by: David Liu <cfliu.tw@xxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Tested-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 005fb161310f72070ad5f4352d6b81ffaca8a11e Author: Qi Zhou <qizhou@xxxxxxxxxx> Date: Wed Jul 22 16:38:24 2015 -0400 ath10k: Improve performance by reducing tx_lock contention During tx completion, tx_lock is held for longer than required, preventing efficient refill of htt->pending_tx. Refactor the code so that only MSDU related operations are protected by the lock. Improves downstream performance on a dual-core ARM Freescale LS1024A (f.k.a. Mindspeed Comcerto 2000) AP with a 3x3 client from 495 to 580 Mbps. Other CPU bound multicore systems may also benefit. Signed-off-by: Denton Gentry <dgentry@xxxxxxxxxx> Signed-off-by: Avery Pennarun <apenwarr@xxxxxxxxxx> [mfaltesek@xxxxxxxxxx: removed conflicting code for tracking msdu_ids.] Signed-off-by: Marty Faltesek <mfaltesek@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit dcc13bcb488874568c5e2c32b43b68e069ada75c Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:35:46 2015 -0700 drm/i915: Don't return error on sink crc stop. If we got to the point where we are trying to stop sink CRC the main output of this function was already gotten properly, so don't return the error and let userspace use the crc data. Let's replace the errnos returns with some log messages. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit afe0d67e1f67250ddf69fc6ef9b76f4407e6815a Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:35:45 2015 -0700 drm/i915: Try to stop sink crc calculation on error. Right now if we face any kind of error sink crc calculation stays enabled. So, let's give a shot and try to stop it anyway if it got enabled. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3413e97dbbae8561e01ac28ccb0d4bbe7ce933f4 Author: Kevin Darbyshire-Bryant <kevin@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 15:50:15 2015 +0100 ath10k: suppress 'failed to process fft' warning messages When using DFS channels on Ath10k, kernel log has repeated warning message 'failed to process fft: -22' typically under medium/heavy traffic. This patch switches the warnings to driver debug (WMI events) mode only thus reducing log file noise. DFS and spectral scan share underlying HW mechanisms and enabling one (DFS) enables the other (spectral scan) as far as event reporting from firmware to driver is concerned. Spectral scan events take no part in processing of DFS radar pulses which are delivered as distinct events, so the fft (spectral event) warning is harmless and DFS interference detection/protection still occurs. Symptoms seen & fix tested in both debug & non-debug modes on TP-Link Archer C7 v2 platform. Signed-off-by: Kevin Darbyshire-Bryant <kevin@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a0d61f5f61290ee70cd024c7573e2ac5562f7a78 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 13:30:37 2015 -0400 ath6kl: spell "distribution" correctly in a comment. This fixes two misspellings of "distribution" in a comment. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1559f3b8d0527e24219149c95b3de5e7b2924828 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:53:10 2015 +0000 xtensa/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Chris Zankel <chris@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150713172018.264485572@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7fe88f3c00e7bfa44421681640fab3a9fadfef3b Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:52:25 2015 +0000 spmi/pmic: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150713151750.915477120@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fb68ba6d0b06cf287e9081d60f705501c52124f6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:52:24 2015 +0000 spmi/pmic_arb: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Link: http://lkml.kernel.org/r/20150713151750.831790045@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c497615c0cb62ba0b06db9580911dcf6d612bdb9 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:51:26 2015 +0000 sh/intc: Prepare irq flow handlers for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Link: http://lkml.kernel.org/r/20150713151626.872605327@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8228a048961a93e871779c658eaa801f747e6c1d Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:51:25 2015 +0000 sh/intc: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Also replace generic_handle_irq with generic_handle_irq_desc() to avoid looking up irq_desc again. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713151626.792845830@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b8149df9ce99e02cb2b4655bf20d0ce459b9076 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:51:23 2015 +0000 sh/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713151626.713278346@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d0abe2f3a9a541ded2e30ef7275f057fb7f0335a Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:51:22 2015 +0000 sh/irq: Use irq accessor functions instead of open coded access This is a preparatory patch for refactoring the internals if irq_data. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713151626.616384365@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cde5c2756832089e35b0c50417cc2858630f2005 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:51:20 2015 +0000 sh/irq: Use accessor irq_data_get_node() Use accessor irq_data_get_node() to hide struct irq_data implementation detail, so we can move irq_data->node to irq_data_common once all usage sites are fixed. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713151626.519112900@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4c73e8926623ca0f64c2c6111289ab8096fa647a Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Tue Jul 28 20:17:13 2015 +0200 arch/*/io.h: Add ioremap_uc() to all architectures This adds ioremap_uc() only for architectures that do not include asm-generic.h/io.h as that already provides a default definition for them for both cases where you have CONFIG_MMU and you do not, and because of this, the number of architectures this patch address is less than the architectures that the ioremap_wt() patch addressed, "arch/*/io.h: Add ioremap_wt() to all architectures"). In order to reduce the number of architectures we have to modify by adding new architecture IO APIs we'll have to review the architectures in this patch, see why they can't add asm-generic.h/io.h or issues that would be created by doing so and then spread a consistent inclusion of this header towards the end of their own header. For instance arch/metag includes the asm-generic/io.h *before* the ioremap*() definitions, this should be the other way around but only once we have guard wrappers for the non-MMU case also for asm-generic/io.h. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Cc: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: Kyle McMartin <kyle@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-am33-list@xxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx Cc: linux-sh@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150728181713.GB30479@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3e24a65f9d2b9e2befacf5823e01ee158fdfedad Merge: 6d85d0e 16b1adb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 29 00:13:25 2015 -0700 Merge branch 'stmmac-cleanup' Joachim Eastwood says: ==================== stmmac clean up for 4.3 part2 This patch set creates proper probe functions in the remaining dwmac-* drivers, lets the drivers manage their own of match data structure, and cleans up some of the drivers a bit. Note that should be no functional change in any of the drivers. First patch from Fengguang fixes a Coccinelle that was found after the previous patch set when into next. Probe functions are best placed just above the platform_driver struct since it usually needs to call other functions in the driver but this requires some code movement in the drivers. To keep the conversion itself easier to review the code movement is done in separate patches. This creates some extra churn but I think it's worth it in this case. As only a couple of drivers actually needs to use of match data this pushed down from stmmac_platform and into the drivers. This also makes it possible for drivers to have their own match data structure. dwmac-rk benefits most from this. After each driver has it's own probe function and manages it's own match data the setup/free hooks and common match data struct are removed. Sorry for the slightly largish patch set this time around. Since I can only test the core changes on my platform and not the specific dwmac-drivers I greatly appreciate if people could test this on their respective platforms. I did spend quite a bit of time visually checking all these patches, but nothing beats real hardware testing. Thanks! Patch set based on net-next can also be picked up from here: https://github.com/manabian/linux-lpc.git stmmac_4.3_part2 For those who want to have a look at all the patches for v4.3 a branch based on Linus master can be found here: https://github.com/manabian/linux-lpc.git stmmac_4.2 Previous parts can be found here: http://www.spinics.net/lists/netdev/msg328997.html http://www.spinics.net/lists/netdev/msg329932.html http://www.spinics.net/lists/netdev/msg336097.html ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16b1adbb16c8a52b206092d875030b346b9ce50b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:09:04 2015 +0200 stmmac: dwmac-sti: refactor the init glue callbacks Remove the two platform specific init callbacks and make them use a common one by creating a function member in the internal data structure. This allow us to remove the layer of indirection and simplify the code a bit. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75fee59550a9899fd9438ebc0a64c972829a8dd2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:09:03 2015 +0200 stmmac: remove setup/free glue callbacks As all dwmac-* drivers have been converted to have a proper probe function the setup callback can now be removed. Also remove the free callback that wasn't used by any driver. New dwmac-* drivers should implement standard probe and remove functions to preform any needed setup and teardown. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0933328a1b8adb6c8b2b8c8b823dad0295659c40 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:09:02 2015 +0200 stmmac: remove unused stmmac_of_data struct As dwmac-* drivers that need OF match have been converted to use their own internal OF match data structure this can now be removed. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f529f18255ed5fbb888498cfaa8cad63eab629e4 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:09:01 2015 +0200 stmmac: dwmac-rk: use rk_gmac_ops as of match data Remove the setup glue callback and use rk_gmac_ops as OF match data so it can used directly when calling rk_gmac_setup. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92c2588fc60c06525c2ef8d6de5b2314c202c3be Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:09:00 2015 +0200 stmmac: dwmac-rk: make rk_gmac_ops structs static const Mark the rk_gmac_ops structures as static const as they should be. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07ca3749cec2b8c7967d73cfa030a144610d3d4e Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:59 2015 +0200 stmmac: dwmac-sti: use custom of match structure Create a new private structure for OF match data in the dwmac-sti driver. This enables us to eventually drop the common OF match data structure which contains a lot of unused fields. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 149adedd7696cbcf1d72d143ca181334000d0ee7 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:58 2015 +0200 stmmac: let dwmac-* drivers handle their own match data Since only a few of the dwmac-* drivers actually need to use the OF match move handling into the dwmac-* drivers that need it. This will also allow dwmac-* drivers to use their own custom match data structure. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85d89e6115cd5613b36f31a5038feb9cb4e13dfc Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:57 2015 +0200 stmmac: move stmmac_pltfr_probe into dwmac-generic As all dwmac-* drivers now have their own probe function move the common one into dwmac-generic driver and drop the EXPORT. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27ffefd2d10902352c01394169e577f3b91113f2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:56 2015 +0200 stmmac: dwmac-rk: create a new probe function Create a new probe functions that call the necessary setup functions. This is done in preparation for a code refactor in this driver and dropping the common probe function in stmmac_platform.c. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8387ee21f972debce15d92e98a37455ae7e035e4 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:55 2015 +0200 stmmac: dwmac-sti: turn setup callback into a probe function By using a few functions from stmmac_platform a proper probe function can be created from the setup glue callback. This makes it look more like a standard driver and prepares the driver for further clean ups. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a9e9a1edee8c5d81f7b6a73ab3c312c0dddf476 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:54 2015 +0200 stmmac: dwmac-sunxi: turn setup callback into a probe function By using a few functions from stmmac_platform a proper probe function can be created from the setup glue callback. This makes it look more like a standard driver and the OF match data can also be dropped. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22caae03172114147c86982e39fa6f42fea51165 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:53 2015 +0200 stmmac: dwmac-sunxi: move sun7i_gmac_setup function Move sun7i_gmac_setup in preparation for turning it into a proper probe function. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8880b6c849916a3d688e2f2404a063cc14cc4a88 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:52 2015 +0200 stmmac: dwmac-socfpga: turn setup callback into a probe function By using a few functions from stmmac_platform a proper probe function can be created from the setup glue callback. This makes it look more like a standard driver and the OF match data can also be dropped. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 82732789e8e7fb19091f773f2b3536968398ae4b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:51 2015 +0200 stmmac: dwmac-socfpga: move socfpga_dwmac_probe function Move socfpga_dwmac_probe in preparation for turning it into a proper probe function. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ed1c04a38979f025dd2cf5f37ef5c39a9fc2f85 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:50 2015 +0200 stmmac: dwmac-ipq806x: turn setup callback into a probe function By using a few functions from stmmac_platform a proper probe function can be created from the setup glue callback. This makes it look more like a standard driver and the OF match data can also be dropped. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 213088f6fadfbccc675bc8ebf6901327d802c3a2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:49 2015 +0200 stmmac: dwmac-ipq806x: move ipq806x_gmac_fix_mac_speed function Move ipq806x_gmac_fix_mac_speed in preparation for turning the setup glue callback in a proper probe function. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a04c0aef74bbd807cd43ffa12404c3d6a6021865 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Wed Jul 29 00:08:48 2015 +0200 stmmac: fix ptr_ret.cocci warning drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c:304:1-3: WARNING: PTR_ERR_OR_ZERO can be used Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR Generated by: scripts/coccinelle/api/ptr_ret.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> [je: rebase and insert newline before return] Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a01bd1bd3d28d1eef26d5509c95d0923f7dc75c Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 19:14:51 2015 +0200 s390/pci: use pci_rescan_remove_lock Make sure that we use the pci_rescan_remove_lock when we remove or add functions from/to the bus. Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 515f022e8b59ce928fe5d82affb3e93ab53d12ed Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 19:11:40 2015 +0200 s390/pci: handle events for unused functions Receiving error events for a pci function that's currently not in use will crash the kernel. For example the procedure for FW upgrades might include: * remove the function from Linux * apply FW upgrade * rescan for new functions Receiving an event during the FW upgrade will result in a use after free when printing the functions name. Just print "n/a" in such cases. Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2b1df72416a858f928c4edcbbb7f13b8dfc10a35 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 19:10:45 2015 +0200 s390/pci: free resources after failed bus allocation Free bus resources when the allocation/registration of the bus failed. Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 64776820b4ffe9a9f38b9d5bbcbc6ec771509fda Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Jul 17 09:14:00 2015 +0200 s390: remove generic email address from maintainers file The public mailing lists and personal email addresses are sufficient. No need for an extra generic email address. Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Ursula Braun <ursula.braun@xxxxxxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Steffen Maier <maier@xxxxxxxxxxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e7f596de1973e9dd9b5dcd7cb00aeb040ab8c13c Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Jul 17 08:05:23 2015 +0200 s390/smp: add missing __init annotation to __smp_store_cpu_state() Section mismatch in reference from the function __smp_store_cpu_state() to the function .init.text:memblock_alloc() The function __smp_store_cpu_state() references the function __init memblock_alloc(). Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 22362a0e23182d230527a5add690b4027860d7d3 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Jul 8 10:20:04 2015 +0200 s390/sclp: convert early sclp console code to C The 31-bit assembler code for the early sclp console is error prone as git commit fde24b54d976cc123506695c17db01438a11b673 "s390/sclp: clear upper register halves in _sclp_print_early" has shown. Convert the assembler code to C. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6d85d0e38730c2a55beffe4a9617d89fbd34037c Merge: 8c1a91f 058999c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 28 23:55:01 2015 -0700 Merge branch 'dwc_ethernet' Lars Persson says: ==================== dwc_eth_qos: Add support for Synopsys DWC Ethernet QoS This is a driver supporting version 4.10a of the Synopsys DWC Ethernet QoS gigabit ethernet controller. The IP has changed significantly compared to the dwmac1000 so a separate driver is justified. The IP is highly configurable at synthesis time. This driver has been developed for a subset of the total available feature set. Currently it supports: * TSO * Checksum offload for RX and TX. * Energy efficient ethernet. * GMII phy interface. * The statistics module. * Single RX and TX queue. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 058999cce8f644aa4e806bd281520d5054372947 Author: Lars Persson <lars.persson@xxxxxxxx> Date: Tue Jul 28 12:01:50 2015 +0200 dwc_eth_qos: Add maintainer info Add maintainer information for the Synopsys DWC Ethernet QOS driver. Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a050731525b9eb2f5048c6d0904a2e2df1a908b Author: Lars Persson <lars.persson@xxxxxxxx> Date: Tue Jul 28 12:01:49 2015 +0200 dwc_eth_qos: Add the synopsys folder to the build system. Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 077742dac2c7098ebf932ef02637c2a3b1397046 Author: Lars Persson <lars.persson@xxxxxxxx> Date: Tue Jul 28 12:01:48 2015 +0200 dwc_eth_qos: Add support for Synopsys DWC Ethernet QoS This patch adds a platform driver for the new generation of the gigabit ethernet IP from Synopsys. It is developed for version 4.10a of the IP core. Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b8b64843a3b272499d014a1786d072c1174912d Author: Lars Persson <lars.persson@xxxxxxxx> Date: Tue Jul 28 12:01:47 2015 +0200 dwc_eth_qos: Add Synopsys DWC Ethernet QoS bindings Add device tree binding documentation for the Synopsys DWC Ethernet QoS driver supporting revision 4.10a of the hardware IP. Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e07e5baa2af166a6f38a51e14ff036c341a57c7 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Jul 27 19:22:23 2015 -0600 toshiba_acpi: Add set_fan_status function This patch adds a new function named "set_fan_status" to complement its get* counterpart, as well as to avoid code duplication between "fan_proc_write" and "fan_store". Also, both functions (get*, set*) are now checking for TOS_FAILURE, TOS_NOT_SUPPORTED and TOS_SUCCESS (to be on par with the rest of the HCI/SCI functions), printing an error message, returning -ENODEV and zero respectively. The proc and sysfs functions were updated to reflect these changes as well, returning -EIO for proc, and propagating the error value on the sysfs functions. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 1b60bab04e03d7ed74826dc20fda9d907d011313 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:08 2015 +1000 powerpc/kernel: Add SIG_SYS support for compat tasks SIG_SYS was added in commit a0727e8ce513 "signal, x86: add SIGSYS info and make it synchronous." Because we use the asm-generic struct siginfo, we got support for SIG_SYS for free as part of that commit. However there was no compat handling added for powerpc. That means we've been advertising the existence of signfo._sifields._sigsys to compat tasks, but not actually filling in the fields correctly. Luckily it looks like no one has noticed, presumably because the only user of SIGSYS in the kernel is seccomp filter, which we don't support yet. So before we enable seccomp filter, add compat handling for SIGSYS. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit e9fbe6863281b942d7eea44c6ccabc30f46ab44f Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:07 2015 +1000 powerpc: Change syscall_get_nr() to return int The documentation for syscall_get_nr() in asm-generic says: Note this returns int even on 64-bit machines. Only 32 bits of system call number can be meaningful. If the actual arch value is 64 bits, this truncates to 32 bits so 0xffffffff means -1. However our implementation was never updated to reflect this. Generally it's not important, but there is once case where it matters. For seccomp filter with SECCOMP_RET_TRACE, the tracer will set regs->gpr[0] to -1 to reject the syscall. When the task is a compat task, this means we end up with 0xffffffff in r0 because ptrace will zero extend the 32-bit value. If syscall_get_nr() returns an unsigned long, then a 64-bit kernel will see a positive value in r0 and will incorrectly allow the syscall through seccomp. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 1cb9839b73e7f2b006a1cc9452c30f15ff8b1748 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:06 2015 +1000 powerpc: Use orig_gpr3 in syscall_get_arguments() Currently syscall_get_arguments() is used by syscall tracepoints, and collect_syscall() which is used in some debugging as well as /proc/pid/syscall. The current implementation just copies regs->gpr[3 .. 5] out, which is fine for all the current use cases. When we enable seccomp filter, that will also start using syscall_get_arguments(). However for seccomp filter we want to use r3 as the return value of the syscall, and orig_gpr3 as the first parameter. This will allow seccomp to modify the return value in r3. To support this we need to modify syscall_get_arguments() to return orig_gpr3 instead of r3. This is safe for all uses because orig_gpr3 always contains the r3 value that was passed to the syscall. We store it in the syscall entry path and never modify it. Update syscall_set_arguments() while we're here, even though it's never used. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit a7657844296e796bf33922192743ddeacbcd4d7a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:05 2015 +1000 powerpc: Rework syscall_get_arguments() so there is only one loop Currently syscall_get_arguments() has two loops, one for compat and one for regular tasks. In prepartion for the next patch, which changes which registers we use, switch it to only have one loop, so we only have one place to update. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 1b1a3702a65c1a6511e4c95ecb3770dfdf235bcf Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:04 2015 +1000 powerpc: Don't negate error in syscall_set_return_value() Currently the only caller of syscall_set_return_value() is seccomp filter, which is not enabled on powerpc. This means we have not noticed that our implementation of syscall_set_return_value() negates error, even though the value passed in is already negative. So remove the negation in syscall_set_return_value(), and expect the caller to do it like all other implementations do. Also add a comment about the ccr handling. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 2923e6d503465e97a378d37a588e4e6987009bc7 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:03 2015 +1000 powerpc: Drop unused syscall_get_error() syscall_get_error() is unused, and never has been. It's also probably wrong, as it negates r3 before returning it, but that depends on what the caller is expecting. It also doesn't deal with compat, and doesn't deal with TIF_NOERROR. Although we could fix those, until it has a caller and it's clear what semantics the caller wants it's just untested code. So drop it. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit d38374142b2560f233961ed3756416c68af6c6cb Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:02 2015 +1000 powerpc/kernel: Change the do_syscall_trace_enter() API The API for calling do_syscall_trace_enter() is currently sensible enough, it just returns the (modified) syscall number. However once we enable seccomp filter it will get more complicated. When seccomp filter runs, the seccomp kernel code (via SECCOMP_RET_ERRNO), or a ptracer (via SECCOMP_RET_TRACE), may reject the syscall and *may* or may *not* set a return value in r3. That means the assembler that calls do_syscall_trace_enter() can not blindly return ENOSYS, it needs to only return ENOSYS if a return value has not already been set. There is no way to implement that logic with the current API. So change the do_syscall_trace_enter() API to make it deal with the return code juggling, and the assembler can then just return whatever return code it is given. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit c3525940cca53cf3568fefd35d169fea4f107f0a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:01 2015 +1000 powerpc/kernel: Switch to using MAX_ERRNO Currently on powerpc we have our own #define for the highest (negative) errno value, called _LAST_ERRNO. This is defined to be 516, for reasons which are not clear. The generic code, and x86, use MAX_ERRNO, which is defined to be 4095. In particular seccomp uses MAX_ERRNO to restrict the value that a seccomp filter can return. Currently with the mismatch between _LAST_ERRNO and MAX_ERRNO, a seccomp tracer wanting to return 600, expecting it to be seen as an error, would instead find on powerpc that userspace sees a successful syscall with a return value of 600. To avoid this inconsistency, switch powerpc to use MAX_ERRNO. We are somewhat confident that generic syscalls that can return a non-error value above negative MAX_ERRNO have already been updated to use force_successful_syscall_return(). I have also checked all the powerpc specific syscalls, and believe that none of them expect to return a non-error value between -MAX_ERRNO and -516. So this change should be safe ... Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 5461ad99cab98d19f2570c468cdd6c42b6d66795 Merge: 20b8394 ce748ea Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Jul 29 11:54:21 2015 +1000 Merge branch 'xfs-meta-uuid' into for-next commit 20b83944361908be78c941e0fb76d508124637ec Merge: df150ed1 1cfc4a9 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Jul 29 11:54:07 2015 +1000 Merge branch 'xfs-misc-fixes-for-4.3' into for-next commit ce748eaa65f2e9392ba82726503c8d994ffd6393 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Wed Jul 29 11:53:31 2015 +1000 xfs: create new metadata UUID field and incompat flag This adds a new superblock field, sb_meta_uuid. If set, along with a new incompat flag, the code will use that field on a V5 filesystem to compare to metadata UUIDs, which allows us to change the user- visible UUID at will. Userspace handles the setting and clearing of the incompat flag as appropriate, as the UUID gets changed; i.e. setting the user-visible UUID back to the original UUID (as stored in the new field) will remove the incompatible feature flag. If the incompat flag is not set, this copies the user-visible UUID into into the meta_uuid slot in memory when the superblock is read from disk; the meta_uuid field is not written back to disk in this case. The remainder of this patch simply switches verifiers, initializers, etc to use the new sb_meta_uuid field. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 1cfc4a9cf89d23727c6678170aa5949a676fc566 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Jul 29 11:52:08 2015 +1000 libxfs: add xfs_bit.c The header side of xfs_bit.c is already in libxfs, and the sparse inode code requires the xfs_next_bit() function so pull in the xfs_bit.c file so that a sparse inode enabled libxfs compiles cleanly in userspace. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d6077aa339d6580d12bd1089231eea2940383e32 Author: Jan Kara <jack@xxxxxxxx> Date: Wed Jul 29 11:52:08 2015 +1000 xfs: Remove duplicate jumps to the same label xfs_create() and xfs_create_tmpfile() have useless jumps to identical labels. Simplify them. Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f41febd2eb5bdaa1c5685fe8a9b09276645013bc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 11:52:04 2015 +1000 xfs: Use consistent logging message prefixes The second and subsequent lines of multi-line logging messages are not prefixed with the same information as the first line. Separate messages with newlines into multiple calls to ensure consistent prefixing and allow easier grep use. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 89cebc8477290b152618ffa110bbeae340d50900 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Jul 29 11:51:10 2015 +1000 xfs: validate transaction header length on log recovery When log recovery hits a new transaction, it copies the transaction header from the expected location in the log to the in-core structure using the length from the op record header. This length is validated to ensure it doesn't exceed the length of the record, but not against the expected size of a transaction header (and thus the size of the in-core structure). If the on-disk length is corrupted, the associated memcpy() can overflow, write to unrelated memory and lead to crashes. This has been reproduced via filesystem fuzzing. The code currently handles the possibility that the transaction header is split across two op records. Neither instance accounts for corruption where the op record length might be larger than the in-core transaction header. Update both sites to detect such corruption, warn and return an error from log recovery. Also add some comments and assert that if the record is split, the copy of the second portion is less than a full header. Otherwise, this suggests the copy of the second portion could have overwritten bits from the first and thus that something could be wrong. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 4703da7b78776140477a023c99683d3be84b7fca Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Jul 29 11:51:01 2015 +1000 xfs: close xc_cil list_empty() races with cil commit sequence We have seen somewhat rare reports of the following assert from xlog_cil_push_background() failing during ltp tests or somewhat innocuous desktop root fs workloads (e.g., virt operations, initramfs construction): ASSERT(!list_empty(&cil->xc_cil)); The reasoning behind the assert is that the transaction has inserted items to the CIL and hit background push codepath all with cil->xc_ctx_lock held for reading. This locks out background commit from emptying the CIL, which acquires the lock for writing. Therefore, the reasoning is that the items previously inserted in the CIL should still be present. The cil->xc_ctx_lock read lock is not sufficient to protect the xc_cil list, however, due to how CIL insertion is handled. xlog_cil_insert_items() inserts and reorders the dirty transaction items to the tail of the CIL under xc_cil_lock. It uses list_move_tail() to achieve insertion and reordering in the same block of code. This function removes and reinserts an item to the tail of the list. If a transaction commits an item that was already logged and thus already resides in the CIL, and said item is the sole item on the list, the removal and reinsertion creates a temporary state where the list is actually empty. This state is not valid and thus should never be observed by concurrent transaction commit-side checks in the circumstances outlined above. We do not want to acquire the xc_cil_lock in all of these instances as it was previously removed and replaced with a separate push lock for performance reasons. Therefore, close any races with list_empty() on the insertion side by ensuring that the list is never in a transient empty state. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ab7bb61092308e83130b8d15725aee1672991d65 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Jul 29 11:51:01 2015 +1000 xfs: xfs_bunmapi() does not need XFS_BMAPI_METADATA flag xfs_bunmapi() doesn't care what type of extent is being freed and does not look at the XFS_BMAPI_METADATA flag at all. As such we can remove the XFS_BMAPI_METADATA from all callers that use it. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fd1683c18c372d51aeeeb25efa8b451f922c9c52 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 01:29:31 2015 +0300 ARM: shmobile: r8a7794: add PFC DT support Define the generic R8A7794 part of the PFC device node. Based on original patch by Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e323d56eb06b266b77c2b430cb5f1977ba549e03 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jun 12 10:53:25 2015 +0900 clk: exynos4: Fix wrong clock for Exynos4x12 ADC The TSADC gate clock was used in Exynos4x12 DTSI for exynos-adc driver. However TSADC is present only on Exynos4210 so on Trats2 board (with Exynos4412 SoC) the exynos-adc driver could not be probed: ERROR: could not get clock /adc@126C0000:adc(0) exynos-adc 126c0000.adc: failed getting clock, err = -2 exynos-adc: probe of 126c0000.adc failed with error -2 Instead on Exynos4x12 SoCs the main clock used by Analog to Digital Converter is located in different register and it is named in datasheet as PCLK_ADC. Regardless of the name the purpose of this PCLK_ADC clock is the same as purpose of TSADC from Exynos4210. The patch adds gate clock for Exynos4x12 using the proper register so backward compatibility is preserved. This fixes the probe of exynos-adc driver on Exynos4x12 boards and allows accessing sensors connected to it on Trats2 board (ntc,ncp15wb473 AP and battery thermistors). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: c63c57433003 ("ARM: dts: Add ADC's dt data to read raw data for exynos4x12") Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9943230c8860178a6f6409f0ba19167c0a46a71b Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:06 2015 +0300 arm64: dts: qcom: Add apq8016-sbc board LED's related device nodes APQ8016 SBC board have 6 user controllable LED's. Add following devices: LED1 green LED triggered by system heartbeat. LED2 green LED triggered by access to eMMC device. LED3 green LED triggered by access to SD card. LED4 green LED no trigger assigned. LED5 yellow LED triggered by access to WLAN. LED6 blue LED triggered by access to Bluetooth. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 8883ad80c175dd17aaf007f982e3f8461315eab8 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:05 2015 +0300 arm64: dts: qcom: Fix apq8016-sbc board USB related pin definitions USB2513B HUB reset line is connected to PMIC GPIO3 not GPIO1. Fix TC7USB40MU Dual SPDT Switch select input line control, which is connected to PMIC GPIO4 not GPIO2 and disable the pin. It is not used for now. Remove user LEDs definitions, because they clash with above numbers. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit c8077068f7725c2429448ceb1ee6d2d3b0081cb9 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:04 2015 +0300 arm64: dts: qcom: apq8016-sbc: Don't hog client driver pins Hogging pins from pinctrl driver prevents client drivers to probe. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 596008653f445b0798fdf980ceacc547f1dfa537 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:03 2015 +0300 arm64: dts: qcom: Add msm8916 USB configuration nodes Add Host, Device and OTG configuration nodes. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit c4da5a561627da156d7ce322be70e6f342db654d Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Thu Jun 4 12:19:02 2015 +0300 arm64: dts: qcom: Add msm8916 sdhci configuration nodes Add sdhci1 and sdhci2 device configuration nodes. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit a0e5fb10315070a8299bb9d022d21cae490c3b58 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:01 2015 +0300 arm64: dts: qcom: Add msm8916 BLSP device nodes Add device nodes for SPI1, SPI2, SPI3, I2C4, SPI5, SPI6 and BAM(DMA) engine connected to them. Signed-off-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 1b08a582a08c8d5579bc78e1ecfd18948195f159 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:00 2015 +0300 arm64: dts: qcom: Extend msm8916 pinctrl device coverage Create separate file for MSM8916 pinctrl default/sleep pins state definitions. Move in UART2 states and add SPI, I2C and SDC configurations. Signed-off-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 23b38ceb814ca8a2bd92613687f82b70041b9238 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Fri Jul 10 14:18:00 2015 -0600 drivers: qcom: Select QCOM_SCM unconditionally for QCOM_PM Enable QCOM_SCM for QCOM power management driver Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 4b638df4c9d556a6d947d6dbac364bee37b68b8e Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 26 14:50:10 2015 -0700 soc: qcom: Add Shared Memory Manager driver The Shared Memory Manager driver implements an interface for allocating and accessing items in the memory area shared among all of the processors in a Qualcomm platform. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit baff39e6708e099261bac73a46377cffc9257388 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Jul 28 09:13:05 2015 +0100 ARM: dts: qs600: Add real regulators to sdcc This patch adds real regulators to sdcc nodes. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 2736bbaccbbb4e4e96f2560d0990f25ed531cfe7 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Jul 28 09:12:58 2015 +0100 ARM: dts: ifc6410: add real regulators for sdcc nodes. This patch adds real regulators for all the three sdcc nodes. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit c37e995807bde0fa20ec8f9a29c01dd29e2eaa74 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Jul 28 09:12:51 2015 +0100 ARM: dts: apq8064: remove temporary fixed regulator for mmc This patch removes temporary fixed regluator use for mmc. Board files should use the regulators which are wiredup appropriately. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 923ae471773a6b324815ef3e3c5e787818ae129a Author: zilong.liu <liuziloong@xxxxxxxxx> Date: Tue Jul 28 15:12:18 2015 -0400 ext4 crypto: remove duplicate header file Remove key.h which is included twice in crypto_fname.c Signed-off-by: zilong.liu <liuziloong@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 911af577de4e444622d46500c1f9a37ab4335d3a Author: Eryu Guan <guaneryu@xxxxxxxxx> Date: Tue Jul 28 15:08:41 2015 -0400 ext4: update c/mtime on truncate up Commit 3da40c7b0898 ("ext4: only call ext4_truncate when size <= isize") introduced a bug that c/mtime is not updated on truncate up. Fix the issue by setting c/mtime explicitly in the truncate up case. Note that ftruncate(2) is not affected, so you won't see this bug using truncate(1) and xfs_io(1). Signed-off-by: Zirong Lang <zorro.lang@xxxxxxxxx> Signed-off-by: Eryu Guan <guaneryu@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 00f3ec37d29efed8983a2add67b692ca509ec99b Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:14 2015 -0500 clk: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: linux-clk@xxxxxxxxxxxxxxx Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d99215ae06be51558b723a3648515e672898ca4b Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Thu Jul 23 15:02:53 2015 +0800 clk: zx: Constify parent names in clock init data The array of parent names can be made as array of const pointers to const strings. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 105644e59a2b1c43fe2eeba6595d142c390552c2 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Thu Jul 23 15:02:52 2015 +0800 clk: zx: Add audio and GPIO clock for zx296702 Add SPDIF/I2S and GPIO clock for zx296702 Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4599dd2c926915b5e8c27e0ca21a6172f9d6881c Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Thu Jul 23 15:02:51 2015 +0800 clk: zx: Add audio div clock method for zx296702 Add SPDIF/I2S divider clock method for zx296702 Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7764d0cdc3dbf15010f66e0e2e5786f0f03d402a Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Wed Jul 22 15:04:53 2015 +0530 clk: s2mps11: Use kcalloc instead of kzalloc for array allocation This patch cleans up the driver for, - Use devm_kcalloc() variant instead of devm_kzalloc() for array allocation. - clk_prepare()/unprepare(), remove "ret" variable as it is not required - use __exit for cleanup function As I am referring this driver as a reference for my 88pm800 clk driver, applying same changes here as well. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Tested-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a57aa18539f8b232065f574f438edb646c6b9d9b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 24 12:24:48 2015 -0700 clk: Silence warnings about lock imbalances The recursive spinlock implementation trips up sparse and it complains that these functions have lock imbalances. That isn't really true though, so add some __acquires() and __releases() information so that sparse is quiet. drivers/clk/clk.c:116:22: warning: context imbalance in 'clk_enable_lock' - wrong count at exit drivers/clk/clk.c:141:9: warning: context imbalance in 'clk_enable_unlock' - unexpected unlock Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 661e2180cf050a2f859d466f30d74e990b9345be Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 24 12:21:12 2015 -0700 clk: basic-type: Silence warnings about lock imbalances The basic clock types use conditional locking for the register accessor spinlocks. Add __acquire() and __release() markings in the right locations so that sparse isn't tripped up on the conditional locking. drivers/clk/clk-mux.c:68:12: warning: context imbalance in 'clk_mux_set_parent' - different lock contexts for basic block drivers/clk/clk-divider.c:379:12: warning: context imbalance in 'clk_divider_set_rate' - different lock contexts for basic block drivers/clk/clk-gate.c:71:9: warning: context imbalance in 'clk_gate_endisable' - different lock contexts for basic block drivers/clk/clk-fractional-divider.c:36:9: warning: context imbalance in 'clk_fd_recalc_rate' - different lock contexts for basic block drivers/clk/clk-fractional-divider.c:68:12: warning: context imbalance in 'clk_fd_set_rate' - different lock contexts for basic block Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 169f05e80522e2848c9089a17976ebf31e735d5c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 24 11:55:42 2015 -0700 clk: qcom: Give clk-qcom.ko module a GPLv2 license The missing license causes the clk-qcom.ko module to taint the kernel. Add the appropriate license to avoid taint. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 37bff2c159a3629b592e54162239cb8c337c965d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 24 09:31:29 2015 -0700 clk: gpio: Mark parent_names array const Let's encourage const arrays of parent names like other basic clock types. Cc: Sergej Sawazki <ce3a@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1db92e54f559ef076d6733b78ec6ce49c577390a Merge: afe76c8f 7c9422e Author: Michael Turquette <mturquette@xxxxxxxxxxxx> Date: Fri Jul 24 11:29:53 2015 -0700 Merge branch 'v4.3-topic/clk-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into clk-next commit afe76c8fd030dd6b75fa69f7af7b7eb1e212f248 Author: Jim Quinlan <jim2101024@xxxxxxxxx> Date: Fri May 15 15:45:47 2015 -0400 clk: allow a clk divider with max divisor when zero This commit allows certain Broadcom STB clock dividers to be used with clk-divider.c. It allows for a clock whose field value is the equal to the divisor, execpt when the field value is zero, in which case the divisor is 2^width. For example, consider a divisor clock with a two bit field: value divisor 0 4 1 1 2 2 3 3 Signed-off-by: Jim Quinlan <jim2101024@xxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 25d4d341d31b349836e1b12d10be34b9b575c12b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 13 17:07:43 2015 +0300 clk: socfpga: switch to GENMASK() Convert the code to use GENMASK() helper instead of div_mask() macro. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4b5fb7dc9096d949a22651370bb6bf11f21edb30 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Jul 12 22:49:53 2015 +0200 clk: pxa: fix core frequency reporting unit Legacy drivers which are not yet ported, such as cpufreq-pxa[23]xx, rely on pxaXXx_get_clk_frequency_khz() to find the CPU core frequency. This reporting was broken because the expected unit is kHz and not Hz. Fix the reporting for pxa25x, pxa27x and pxa3xx. Fixes: fe7710fae477 ("clk: add pxa25x clock drivers") Fixes: d40670dc6169 ("clk: add pxa27x clock drivers") Fixes: 9bbb8a338fb2 ("clk: pxa: add pxa3xx clock driver") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2bbfe00147a7c075f5c43e657ec218afea662819 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Tue Jul 21 13:41:23 2015 -0700 clk: rockchip: Fix PLL bandwidth In the TRM we see that BWADJ is "a 12-bit bus that selects the values 1-4096 for the bandwidth divider (NB)": NB = BWADJ[11:0] + 1 The recommended setting of NB: NB = NF / 2. So: NB = NF / 2 BWADJ[11:0] + 1 = NF / 2 BWADJ[11:0] = NF / 2 - 1 Right now, we have: { \ .rate = _rate##U, \ .nr = _nr, \ .nf = _nf, \ .no = _no, \ .bwadj = (_nf >> 1), \ } That means we set bwadj to NF / 2, not NF / 2 - 1 All of this is a bit confusing because we specify "NR" (the 1-based value), "NF" (the 1-based value), "NO" (the 1-based value), but "BWADJ" (the 0-based value) instead of "NB" (the 1-based value). Let's change to working with "NB" and fix the off by one error. This may affect PLL jitter in a small way (hopefully for the better). Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9cfad9bc472a4bdd5ee7d9e713113a9f5a676704 Merge: 9da9e76 61ae765 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 21 11:22:42 2015 -0700 Merge branch 'cleanup-clk-h-includes' into clk-next * cleanup-clk-h-includes: (62 commits) clk: Remove clk.h from clk-provider.h clk: h8300: Remove clk.h and clkdev.h includes clk: at91: Include clk.h and slab.h clk: ti: Switch clk-provider.h include to clk.h clk: pistachio: Include clk.h clk: ingenic: Include clk.h clk: si570: Include clk.h clk: moxart: Include clk.h clk: cdce925: Include clk.h clk: Include clk.h in clk.c clk: zynq: Include clk.h clk: ti: Include clk.h clk: sunxi: Include clk.h and remove unused clkdev.h includes clk: st: Include clk.h clk: qcom: Include clk.h clk: highbank: Include clk.h clk: bcm: Include clk.h clk: versatile: Remove clk.h and clkdev.h includes clk: ux500: Remove clk.h and clkdev.h includes clk: tegra: Properly include clk.h ... commit 9da9e761273702b3afd6e3538c23ece95693e586 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 22:59:06 2015 -0500 clk: ti: make use of of_clk_parent_fill helper function Use of_clk_parent_fill to fill in the parent clock names' array. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8a53fb2bceea00081c4a6af7b477bea8ec00b74b Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 22:59:05 2015 -0500 clk: sunxi: make use of of_clk_parent_fill helper function Use of_clk_parent_fill to fill in the parent clock names' array. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: "Emilio López" <emilio@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0b4e7f0842fe5c8bd19654999f6c41c4119e7c90 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 22:59:04 2015 -0500 clk: st: make use of of_clk_parent_fill helper function Use of_clk_parent_fill to fill in the parent clock names' array. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by Gabriel Fernandez <gabriel.fernandez@xxxxxx> Cc: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5f23eff7af6bc1d8cc8e17fc12e8d989042236ed Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 22:59:03 2015 -0500 clk: keystone: make use of of_clk_parent_fill helper function Use of_clk_parent_fill to fill in the parent clock names' array. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f0557fbe1303aade362bd578753a1c898a80851c Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 22:59:01 2015 -0500 clk: at91: make use of of_clk_parent_fill helper function Use of_clk_parent_fill to fill in the parent clock names' array. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 75ce0cdb6243d42daca6130e5feb71f536bb136e Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Fri Jul 10 16:39:34 2015 +0800 clk: mediatek: Add MT8173 MMPLL change rate support MT8173 MMPLL frequency settings are different from common PLLs. It needs different post divider settings for some ranges of frequency. This patch add support for MT8173 MMPLL frequency setting by adding div-rate table to lookup suitable post divider setting under a specified frequency. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 196de71a9d9e9090406a87362d22b67ae633fa7a Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Fri Jul 10 16:39:33 2015 +0800 clk: mediatek: Fix calculation of PLL rate settings Avoid u32 overflow when calculate post divider setting, and increase the max post divider setting from 3 (/8) to 4 (/16). Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b3be457e5854e3095cd0be850058c765aaf467ab Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Fri Jul 10 16:39:32 2015 +0800 clk: mediatek: Fix PLL registers setting flow Write postdiv and pcw settings at the same time for PLLs if postdiv and pcw settings are on the same register. This is need by PLLs such as MT8173 MMPLL and ARM*PLL. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9783c0d98501aa146ff467916ab4b8830a655d7c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 16 12:50:27 2015 -0700 clk: Allow providers to configure min/max rates clk providers are using the consumer APIs to set min/max rates on the clock they're providing. To encourage clk providers to move away from the consumer APIs, add a provider API to set the min/max rate of a clock. The assumption is that this is done before the clock can be requested via clk_get() and that the clock rate is already within the boundaries of the min/max that's configured. Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5c757456c16ce056a40a120e63235bc00c94ee7f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 16 22:15:53 2015 +0800 clk: twl6040: Convert to use devm_clk_register Use devm_clk_register() to simplify the code by removing twl6040_clk_remove(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 264e3b75de4eee6e4ee4616bf2b2a3d522cad72a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 16 21:59:43 2015 +0800 clk: s2mps11: Simplify s2mps11_clk_probe unwind paths The devm_clk_unregister() in .probe error case is not necessary as it will be automatically called when probe fails. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5a1cfafaeab5237523d43cd033e1fb42bf5c1933 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 15:09:27 2015 +0200 clk: shmobile: Remove unneeded #include <linux/clkdev.h> The CCF implementations for the various shmobile SoCs don't use clkdev functionality, hence drop the inclusion of <linux/clkdev.h>. Add the missing #include <linux/slab.h>, which was included implicitly through <asm/clkdev.h> before. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 14cc4e9578841a4c0025ce064133b2da53c9d1c9 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:58:22 2015 -0700 clk: ti: Force pointer to be __iomem Add __force here so that sparse doesn't complain about us playing tricks with __iomem. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 76642eb4cb040b436319e5aa747a5ef026207eef Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:04:53 2015 -0700 clk: ti: clk-3xxx: Remove unused structures Sparse complains about these structures missing static, but they also don't look to be used. Remove them. drivers/clk/ti/clk-3xxx.c:74:30: warning: symbol 'clkhwops_omap3430es2_ssi_wait' was not declared. Should it be static? drivers/clk/ti/clk-3xxx.c:157:30: warning: symbol 'clkhwops_omap3430es2_hsotgusb_wait' was not declared. Should it be static? Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 3fe6d697420c706b640730dbbae17f48b3aad506 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:03:52 2015 -0700 clk: ti: Mark ti_clk_features static This variable isn't exported outside of this file so mark it static. Silences the following sparse warning: drivers/clk/ti/clk.c:36:24: warning: symbol 'ti_clk_features' was not declared. Should it be static? Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f645f72d876586c4950dcd5bf516744db0aeb30b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 15 11:55:42 2015 -0700 clk: ti: Check kzalloc() for failures smatch reports a failure to check kzalloc() here: drivers/clk/ti/clk.c:232 omap2_clk_provider_init() error: potential null dereference 'io'. (kzalloc returns null) Check for an allocation failure and return -ENOMEM. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4d341056202a4725777ed99897f6456405819cd4 Merge: e306479 989feaf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 28 11:58:26 2015 -0700 Merge branch 'for-4.2/ti-clk-move' of https://github.com/t-kristo/linux-pm into clk-next From Tero Kristo: "This pull request contains the TI clock driver set to move the clock implementations under clock driver. Some small portions of the clock driver code still remain under mach-omap2 after this, it should be decided whether this code is now obsolete and should be deleted or should someone try to fix it." Slight merge conflicts with determine_rate prototype changes. commit 841df7df196237ea63233f0f9eaa41db53afd70f Author: Jan Kara <jack@xxxxxxxx> Date: Tue Jul 28 14:57:14 2015 -0400 jbd2: avoid infinite loop when destroying aborted journal Commit 6f6a6fda2945 "jbd2: fix ocfs2 corrupt when updating journal superblock fails" changed jbd2_cleanup_journal_tail() to return EIO when the journal is aborted. That makes logic in jbd2_log_do_checkpoint() bail out which is fine, except that jbd2_journal_destroy() expects jbd2_log_do_checkpoint() to always make a progress in cleaning the journal. Without it jbd2_journal_destroy() just loops in an infinite loop. Fix jbd2_journal_destroy() to cleanup journal checkpoint lists of jbd2_log_do_checkpoint() fails with error. Reported-by: Eryu Guan <guaneryu@xxxxxxxxx> Tested-by: Eryu Guan <guaneryu@xxxxxxxxx> Fixes: 6f6a6fda294506dfe0e3e0a253bb2d2923f28f0a Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit e306479ac252928b84cc563c6e790f9b7e7ae427 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Jun 20 15:27:03 2015 +0800 clk: h8300: Fix signness bug of_clk_get_parent_count() may return negative error code, so num_parents needs to be int rather than unsigned int. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d7a304e9d018c99dda80f4c16ec0fe817b5be4a1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 14 16:57:29 2015 -0700 clk: qcom: Set CLK_SET_RATE_PARENT on ce1 clocks The other ce clocks have the flag set, but ce1 doesn't, so clk_set_rate() doesn't propagate up the tree to the ce1_src_clk. Set the flag as this is supported. Reported-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Fixes: 02824653200b ("clk: qcom: Add APQ8084 Global Clock Controller support") Fixes: d33faa9ead8d ("clk: qcom: Add support for MSM8974's global clock controller (GCC)") Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c5e857a46af24a772f445edcc01a861ee2d6a713 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 14 12:45:19 2015 -0700 clk: gpio: Unlock mutex on error path We don't unlock the mutex if we fail to allocate the parent names array. Unlock it and return an error in this case as well. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Cc: Sergej Sawazki <ce3a@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 006cb8b66e18ce7aff934883f6c50e3b85052681 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 13 17:06:53 2015 -0700 clk: h8300: Use standard Linux I/O accessors There doesn't seem to be any reason why we can't use the standard readb()/writeb() accessors here because ctrl_inb() and ctrl_outb() match the generic implementation of readb() and writeb() that the h8300 architecture uses. This allows us to test compile this driver on other architectures besides h8300. Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9298f0267c7ed620f8d8261ded8518ebf8e89f9e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 13 16:54:04 2015 -0700 clk: h8300: Drop allocation printk and cleanup sizeof style We don't need to print an error on allocation failures, drop it. While we're here, change the sizeof() to be sizeof(*<ptr>) to make code more future proof. Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 19aab273083fa10c2262b8c8e3315bacb054d75d Merge: 86665d2 57d866e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 28 11:51:30 2015 -0700 Merge branch 'clk-determine-rate-struct' into clk-next * clk-determine-rate-struct: clk: fix some determine_rate implementations clk: change clk_ops' ->determine_rate() prototype commit 2eb084eb1f6eba53e657502c519b52e640e38cde Merge: 0c21bcb cd871d5 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 28 18:26:14 2015 +0200 Merge tag 'socfpga_updates_for_v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/soc SoCFPGA updates for v4.3 - Add smp.ops.cpu_kill() for kexec - Add reboot capability for Arria10 * tag 'socfpga_updates_for_v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: add reset for the Arria 10 platform ARM: socfpga: add smp_ops.cpu_kill to make kexec/kdump available Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 46a51abbda4ed0d09cc1ea6937f31e322a88c517 Merge: 55e3cfc5 2e4c758 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 28 18:25:39 2015 +0200 Merge tag 'socfpga_dts_for_v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt SoCFPGA DTS updates for v4.3 - Update clocking for DTS nodes - Add DTS board file for Terasic DE0 Atlas board - Use stdout-patch for chosen node - Enable prefetch-data and prefetch-instr * tag 'socfpga_dts_for_v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: dts: add osc1 as a possible parent for dbg_base_clk ARM: socfpga: dts: add missing clock gates to socfpga.dtsi ARM: socfpga: dts: Fix gpio dts entry for the correct clock ARM: socfpga: dts: Correct the parent clock for l3_sp_clk and dbg_clk ARM: dts: socfpga: Add support of Terasic DE0 Atlas board ARM: dts: socfpga: use stdout-path for chosen node ARM: dts: socfpga: enable the data and instruction prefetch for the l2 cache Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0c21bcb616a499c69d3f0f719bac8491e8326630 Merge: a3ff83d 3e0452d Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 28 18:17:31 2015 +0200 Merge tag 'v4.2-next-soc' of https://github.com/mbgg/linux-mediatek into next/soc - ARM: mediatek: Add regmap to mediatek Kconfig - soc: mediatek: Drop owner assignment from platform_driver - soc: Mediatek: Add SCPSYS power domain driver - dt-bindings: soc: Add documentation for the MediaTek SCPSYS unit - soc: mediatek: Add infracfg misc driver support * tag 'v4.2-next-soc' of https://github.com/mbgg/linux-mediatek: ARM: mediatek: Add regmap to mediatek Kconfig soc: mediatek: Drop owner assignment from platform_driver soc: Mediatek: Add SCPSYS power domain driver dt-bindings: soc: Add documentation for the MediaTek SCPSYS unit soc: mediatek: Add infracfg misc driver support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 55e3cfc5f9a7303d78026bcf4bdfb1788b669ea0 Merge: 6223723 7d4938c Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 28 18:16:36 2015 +0200 Merge tag 'v4.2-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt - ARM: dts: mediatek: add mt6580 basic support - Document: DT: Add bindings for mediatek MT6580 SoC Platform - ARM: dts: mediatek mt8135: Use real UART clocks - ARM: dts: mt8135-evbp1: Add PMIC support - ARM: dts: mt8135: Add pmic wrapper nodes - ARM: dts: mediatek: Enable clock support for Mediatek MT8135. * tag 'v4.2-next-dts' of https://github.com/mbgg/linux-mediatek: ARM: dts: mediatek: add mt6580 basic support Document: DT: Add bindings for mediatek MT6580 SoC Platform ARM: dts: mediatek mt8135: Use real UART clocks ARM: dts: mt8135-evbp1: Add PMIC support ARM: dts: mt8135: Add pmic wrapper nodes ARM: dts: mediatek: Enable clock support for Mediatek MT8135. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit af429d9ebf70916269bd5ad3e2bd2485fb0f39e6 Merge: 6a37749 e269452 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 28 18:16:13 2015 +0200 Merge tag 'v4.2-next-arm64' of https://github.com/mbgg/linux-mediatek into next/arm64 - arm64: dts: mediatek: add mt6795 support - Document: DT: Add bindings for mediatek MT6795 SoC Platform - arm64: dts: mediatek: Add MT8173 MMC dts - arm64: dts: mt8173: Add afe device node - arm64: dts: mt8173-evb: Add PMIC support - dts: mt8173-evb: Add da9211 to i2c1 - ARM: dts: mt8173: support arm64 cpuidle-dt - ARM64: MediaTek MT8173: Add SCPSYS device node - arm64: dts: mt8173: Add I2C device node - arm64: dts: mt8173: Add watchdog device node - arm64: dts: mt8173: Add PMIC wrapper device node - arm64: dts: mt8173: Use real clock for UARTs - arm64: dts: mt8173: Add clock controller device nodes * tag 'v4.2-next-arm64' of https://github.com/mbgg/linux-mediatek: arm64: dts: mediatek: add mt6795 support Document: DT: Add bindings for mediatek MT6795 SoC Platform arm64: dts: mediatek: Add MT8173 MMC dts arm64: dts: mt8173: Add afe device node arm64: dts: mt8173-evb: Add PMIC support dts: mt8173-evb: Add da9211 to i2c1 ARM: dts: mt8173: support arm64 cpuidle-dt ARM64: MediaTek MT8173: Add SCPSYS device node arm64: dts: mt8173: Add I2C device node arm64: dts: mt8173: Add watchdog device node arm64: dts: mt8173: Add PMIC wrapper device node arm64: dts: mt8173: Use real clock for UARTs arm64: dts: mt8173: Add clock controller device nodes Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 227942809b52f23cda414858b635c0285f11de00 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:23 2015 +0530 cpufreq: powernv: Restore cpu frequency to policy->cur on unthrottling If frequency is throttled due to OCC reset then cpus will be in Psafe frequency, so restore the frequency on all cpus to policy->cur when OCCs are active again. And if frequency is throttled due to Pmax capping then restore the frequency of all the cpus in the chip on unthrottling. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3dd3ebe5bb3837aeac28a23f8f22b97cb84abab6 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:22 2015 +0530 cpufreq: powernv: Report Psafe only if PMSR.psafe_mode_active bit is set On a reset cycle of OCC, although the system retires from safe frequency state the local pstate is not restored to Pmin or last requested pstate. Now if the cpufreq governor initiates a pstate change, the local pstate will be in Psafe and we will be reporting a false positive when we are not throttled. So in powernv_cpufreq_throttle_check() remove the condition which checks if local pstate is less than Pmin while checking for Psafe frequency. If the cpus are forced to Psafe then PMSR.psafe_mode_active bit will be set. So, when OCCs become active this bit will be cleared. Let us just rely on this bit for reporting throttling. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 735366fc407755626058218fc8d0430735a669ac Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:21 2015 +0530 cpufreq: powernv: Call throttle_check() on receiving OCC_THROTTLE Re-evaluate the chip's throttled state on recieving OCC_THROTTLE notification by executing *throttle_check() on any one of the cpu on the chip. This is a sanity check to verify if we were indeed throttled/unthrottled after receiving OCC_THROTTLE notification. We cannot call *throttle_check() directly from the notification handler because we could be handling chip1's notification in chip2. So initiate an smp_call to execute *throttle_check(). We are irq-disabled in the notification handler, so use a worker thread to smp_call throttle_check() on any of the cpu in the chipmask. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cb166fa937a2fbc14badcafca86202354c34a213 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:20 2015 +0530 cpufreq: powernv: Register for OCC related opal_message notification OCC is an On-Chip-Controller which takes care of power and thermal safety of the chip. During runtime due to power failure or overtemperature the OCC may throttle the frequencies of the CPUs to remain within the power budget. We want the cpufreq driver to be aware of such situations to be able to report the reason to the user. We register to opal_message_notifier to receive OCC messages from opal. powernv_cpufreq_throttle_check() reports any frequency throttling and this patch will report the reason or event that caused throttling. We can be throttled if OCC is reset or OCC limits Pmax due to power or thermal reasons. We are also notified of unthrottling after an OCC reset or if OCC restores Pmax on the chip. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 196ba2d514a13f6af1b3d78de71ce74ed2fc8bdc Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:19 2015 +0530 powerpc/powernv: Add definition of OPAL_MSG_OCC message type Add OPAL_MSG_OCC message definition to opal_message_type to receive OCC events like reset, load and throttled. Host performance can be affected when OCC is reset or OCC throttles the max Pstate. We can register to opal_message_notifier to receive OPAL_MSG_OCC type of message and report it to the userspace so as to keep the user informed about the reason for a performance drop in workloads. The reset and load OCC events are notified to kernel when FSP sends OCC_RESET and OCC_LOAD commands. Both reset and load messages are sent to kernel on successful completion of reset and load operation respectively. The throttle OCC event indicates that the Pmax of the chip is reduced. The chip_id and throttle reason for reducing Pmax is also queued along with the message. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 053819e0bf8407746cc5febf7a4947bee50377b4 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:18 2015 +0530 cpufreq: powernv: Handle throttling due to Pmax capping at chip level The On-Chip-Controller(OCC) can throttle cpu frequency by reducing the max allowed frequency for that chip if the chip exceeds its power or temperature limits. As Pmax capping is a chip level condition report this throttling behavior at chip level and also do not set the global 'throttled' on Pmax capping instead set the per-chip throttled variable. Report unthrottling if Pmax is restored after throttling. This patch adds a structure to store chip id and throttled state of the chip. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a34e63b14486e98cf78c99bf8ef141de7508dbc2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:50 2015 +0200 cpufreq: Pass CPU number to cpufreq_policy_alloc() Change cpufreq_policy_alloc() to take a CPU number instead of a CPU device pointer as its argument, as it is the only function called by cpufreq_add_dev() taking a device pointer argument at this point. That will allow us to split the CPU online part from cpufreq_add_dev() more cleanly going forward. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 4d1f3a5bcb489cc6f7cbc128e0c292fed7868d32 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:44 2015 +0200 cpufreq: Do not update related_cpus on every policy activation The related_cpus mask includes CPUs whose cpufreq_cpu_data per-CPU pointers have been set the the given policy. Since those pointers are only set at the policy creation time and unset when the policy is deleted, the related_cpus should not be updated between those two operations. For this reason, avoid updating it whenever the first of the "related" CPUs goes online. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit d9612a495b0bc93f5db0e0033fe4ee7abb7167c7 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:37 2015 +0200 cpufreq: Drop unused dev argument from two functions The dev argument of cpufreq_add_policy_cpu() and cpufreq_add_dev_interface() is not used by any of them, so drop it. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit d4d854d6c7706e6a5cda297e350e3626d55e9bc9 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:30 2015 +0200 cpufreq: Drop unnecessary label from cpufreq_add_dev() The leftover out_release_rwsem label in cpufreq_add_dev() is not necessary any more and confusing, so drop it. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 11ce707e6c2aea05e1f54680fb89a8a44ded5db4 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:21 2015 +0200 cpufreq: Drop cpufreq_policy_restore() Notice that when cpufreq_policy_restore() is called, its per-CPU cpufreq_cpu_data variable has been already dereferenced and if that variable is not NULL, the policy local pointer in cpufreq_add_dev() contains its value. Therefore it is not necessary to dereference it again and the policy pointer can be used directly. Moreover, if that pointer is not NULL, the policy is inactive (or the previous check would have made us return from cpufreq_add_dev()) so the restoration code from cpufreq_policy_restore() can be moved to that point in cpufreq_add_dev(). Do that and drop cpufreq_policy_restore(). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 15c0b4d222f83672407419f9c9e167e996d8ad2b Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:09 2015 +0200 cpufreq: Rework two functions related to CPU offline Since __cpufreq_remove_dev_prepare() and __cpufreq_remove_dev_finish() are about CPU offline rather than about CPU removal, rename them to cpufreq_offline_prepare() and cpufreq_offline_finish(), respectively. Also change their argument from a struct device pointer to a CPU number, because they use the CPU number only internally anyway and make them void as their return values are ignored. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit c6e53c69ef463ba2749ba9ee9b3d9d7f97dab94a Merge: 559ed40 454d3a2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Jul 28 17:21:32 2015 +0200 Merge back earlier cpufreq material for v4.3. commit 766ffb69803943c2b580a44ac14a189b875d21f6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jul 28 16:14:03 2015 +0100 arm64: pgtable: fix definition of pte_valid pte_valid should check if the PTE_VALID bit (1 << 0) is set in the pte, so fix the macro definition to use bitwise & instead of logical &&. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ed425dcf6afa2b206f6da7d7ec6a62501172b5c0 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Fri Jul 24 17:36:49 2015 +0200 spi: s3c64xx: print fifo size on probe. Printing the FIFO depth does not add much noise in the log and can be useful for debugging transfer issues. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c24695988774d56ea8d6a47ffdaf0fd32072488 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 10:26:26 2015 +0100 drm/i915: Keep the mm.bound_list in rough LRU order When we shrink our working sets, we want to avoid stealing pages from objects that likely to be reused in the near future. We first look at inactive objects before processing active objects - but what about a recently active object that is about to be used again. That object's position in the bound_list is ordered by the time of binding, not the time of last use, so the most recently used inactive object could well be at the head of the shrink list. To compensate, give the object a bump to MRU when it becomes inactive (thus transitioning to the end of the first pass in shrink lists). Conversely, bumping on inactive makes bumping on active useless, since when we do have to reap from the active working set, everything is going to become inactive very quickly and the order pretty much random - just hope for the best at that point, as once we start stalling on active objects, we can hope that the rebinding neatly orders vital objects. Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> [danvet: Resolve merge conflict.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c1d7cd228b4b46eca1dbd9bb2c6053f477a1a6ff Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jul 28 14:48:00 2015 +0100 arm64: spinlock: fix ll/sc unlock on big-endian systems When unlocking a spinlock, we perform a read-modify-write on the owner ticket in order to increment it and store it back with release semantics. In the LL/SC case, we load the 16-bit ticket using a 32-bit load and therefore store back the wrong halfword on a big-endian system, corrupting the lock after the first unlock and killing the system dead. This patch fixes the unlock code to use 16-bit accessors consistently. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 21abb1ec414c75abe32c3854848ff30e2b4a6113 Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 14:25:31 2015 -0700 Smack: IPv6 host labeling IPv6 appears to be (finally) coming of age with the influx of autonomous devices. In support of this, add the ability to associate a Smack label with IPv6 addresses. This patch also cleans up some of the conditional compilation associated with the introduction of secmark processing. It's now more obvious which bit of code goes with which feature. Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit b03e081672d9ccbff8185dd655a7bbba24223b4a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 11:44:24 2015 +0200 ARM: sunxi: dt: Convert users to the PIO interrupts binding The current DTs were setting the cell size to 2, but used the default xlate function that was assuming an interrupt cell size of 1, leading to the second part of the cell (the flags) being ignored, while we were having an inconsistent binding between the interrupts and gpio (that could also be used as interrupts). That "binding" doesn't work either with newer SoCs that have multiple irq banks. Now that we fixed the pinctrl driver to handle this like it should always have been handled, convert the DT users, and while we're at it, remove the size-cells property of PIO that is completely useless. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 505936131ea71ec998344355f7e5e8af8d6b15dc Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 15:54:30 2015 +0200 gpio: mpc8xxx: Convert mpc8xxx_gpio_chip.lock to raw_spinlock mpc8xxx_gpio_chip.lock needs to be a real spinlock in preempt-rt. Especially the interrupt related functions can not be converted to a sleeping lock. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 48356aa79ccb3df36f654d8f622256052bb2bb65 Author: Wei Chen <Wei.Chen@xxxxxxx> Date: Mon Jul 27 11:57:25 2015 +0000 pinctrl: sirf: add power management support for atlas7 We had not implemented the pm interface of atlas7 pinctrl and gpio drivers. So when system resumes from sleep, all pin configuration and gpio status will be lost. Now, we implement these interfaces to support pm. At the same time, this patch also drops a lot of if-else by look-up table for getting and setting pull. Signed-off-by: Wei Chen <Wei.Chen@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e8d36d5dbb6a6ec4f5222f8775d664ec29d5527d Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:13 2015 -0500 ARM: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Sekhar Nori <nsekhar@xxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Gregory Clement <gregory.clement@xxxxxxxxxxxxxxxxxx> Acked-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: Imre Kaloz <kaloz@xxxxxxxxxxx> Acked-by: Krzysztof Halasa <khalasa@xxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: Roland Stigge <stigge@xxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Simtec Linux Team <linux@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Wan ZongShun <mcuos.com@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-omap@xxxxxxxxxxxxxxx Cc: linux-samsung-soc@xxxxxxxxxxxxxxx Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1051fade4b1fac0de19478b33383b25bd1d24d10 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sat Jul 25 11:23:12 2015 +0200 pinctrl: nomadik: split stn8815 UART0 pin groups Split the UART pin groups so we can activate RX/TX, CTS/RTS and the modem pins (DCD, DSR, RI, DTR) as three different groups with function u0. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 28355f81969962cf01aef5b13d7de5b4ab0c5f13 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Jul 14 10:29:54 2015 +0200 gpio: defer probe if pinctrl cannot be found When an OF node has a pin range for its GPIOs, return -EPROBE_DEFER if the pin controller isn't available. Otherwise, the GPIO range wouldn't be set at all unless the pin controller probed always before the GPIO chip. With this change, the probe of the GPIO chip will be deferred and will be retried at a later point, hopefully once the pin controller has been registered and probed already. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 19c233b79d1af7b5af1ec68c1172848648184449 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Mon Jul 27 18:27:52 2015 -0400 ARM: appropriate __init annotation for const data Init data marked const should be annotated with __initconst for correctness and not __initdata. In some cases the array gathering references to that data has to be marked const as well. This fixes LTO builds that otherwise fail with section mismatch errors. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3b9a02e844948fc14cb32a06bc00e0e61bde3577 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Jul 27 11:47:38 2015 +0200 drm/i915: Fake AGP is dead Remove the leftovers, yay! AGP for i915 kms died long ago with commit 3bb6ce66866310f50d461b9eff949c1ce95560ce Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Nov 13 22:14:16 2013 +0100 drm/i915: Kill legeacy AGP for gen3 kms and with ums now gone to there's really no users any more. Note that device_is_agp is only called when DRIVER_USE_AGP is set and since we've unconditionally cleared that since a while there are really no users left for i915_driver_device_is_agp. Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4150e50bf5f2171fbe7dfdbc7f2cdf44676b79a4 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Wed Mar 18 11:28:06 2015 +0000 arm64: Use last level TLBI for user pte changes The flush_tlb_page() function is used on user address ranges when PTEs (or PMDs/PUDs for huge pages) were changed (attributes or clearing). For such cases, it is more efficient to invalidate only the last level of the TLB with the "tlbi vale1is" instruction. In the TLB shoot-down case, the TLB caching of the intermediate page table levels (pmd, pud, pgd) is handled by __flush_tlb_pgtable() via the __(pte|pmd|pud)_free_tlb() functions and it is not deferred to tlb_finish_mmu() (as of commit 285994a62c80 - "arm64: Invalidate the TLB corresponding to intermediate page table levels"). The tlb_flush() function only needs to invalidate the TLB for the last level of page tables; the __flush_tlb_range() function gains a fourth argument for last level TLBI. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit da4e73303e448aa23b36249a85e239ca118ce941 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Jul 24 09:59:55 2015 +0100 arm64: Clean up __flush_tlb(_kernel)_range functions This patch moves the MAX_TLB_RANGE check into the flush_tlb(_kernel)_range functions directly to avoid the undescore-prefixed definitions (and for consistency with a subsequent patch). Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c53e0baa6f34b7051790e0fba9d782ec4efe58bd Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Tue Jul 28 10:31:06 2015 +0100 arm64: mm: mark create_mapping as __init Currently create_mapping is marked with __ref, apparently because it refers to early_alloc. However, create_mapping has no logic to prevent erroneous use of early_alloc after it has been freed, and is only ever called by __init functions anyway. Thus the __ref marker is misleading and unnecessary. Instead, this patch marks create_mapping as __init, resulting in warnings if it is used from a a non __init functions, and allowing its memory to be reclaimed. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit dc9ab949950352d716a6608343d7076cc1589498 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Jul 28 17:21:47 2015 +0900 MAINTAINERS: pinctrl: Move Thomas Abraham to CREDITS Thomas Abraham's Linaro email address bounces for several months. Also there were no replies for several emails sent on LKML to his Samsung address. Move his name to CREDITS. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Link: http://lkml.org/lkml/2015/6/15/15 Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9458120ea112c06f56ea1b75a1511815d36aecc2 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:22 2015 -0500 pinctrl: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Lee Jones <lee@xxxxxxxxxx> Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Thomas Abraham <thomas.abraham@xxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-mediatek@xxxxxxxxxxxxxxxxxxx Cc: linux-samsung-soc@xxxxxxxxxxxxxxx Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 482d638f98cc626bf01d4c9f6d6d35fc77d630c8 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 13:55:53 2015 +0200 ARM: mvebu: Warn about the wake-up sources not taken into account in suspend On the Armada 370/XP/38x/39x SoCs when the suspend to ram feature is supported, the SoCs are shutdown and will be woken up by an external micro-controller, so there is no possibility to setup wake-up sources from Linux. However, in standby mode, the SoCs stay powered and it is possible to wake-up from any interrupt sources. Since when the users configures the enabled wake-up sources there is no way to know if the user will be doing suspend to RAM or standby, we just allow all wake-up sources to be enabled, and only warn when entering suspend to RAM The purpose of this patch is to inform the user that in suspend to ram mode, the wake-up sources won't be taken into consideration. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 4b45efe8526359a11ca60a299bef3aebf413fd77 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:04:03 2015 +0300 mfd: Add support for Intel Sunrisepoint LPSS devices The new coming Intel platforms such as Skylake will contain Sunrisepoint PCH. The main difference to the previous platforms is that the LPSS devices are compound devices where usually main (SPI, HSUART, or I2C) and DMA IPs are present. This patch brings the driver for such devices found on Sunrisepoint PCH. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 667dfed98615ae1fc4cc05b0763078435598c0f5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:04:02 2015 +0300 dmaengine: add a driver for Intel integrated DMA 64-bit Intel integrated DMA (iDMA) 64-bit is a specific IP that is used as a part of LPSS devices such as HSUART or SPI. The iDMA IP is attached for private usage on each host controller independently. While it has similarities with Synopsys DesignWare DMA, the following distinctions doesn't allow to use the existing driver: - 64-bit mode with corresponding changes in Hardware Linked List data structure - many slight differences in the channel registers Moreover this driver is based on the DMA virtual channels framework that helps to make the driver cleaner and easy to understand. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b9a8a271c38fcb1664fd6034fb9326cc9a0dec94 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:04:01 2015 +0300 mfd: make mfd_remove_devices() iterate in reverse order The newly introduced device_for_each_child_reverse() would be used when MFD core removes the device. After this patch applied the devices will be removed in a reversed order. This behaviour is useful when devices have implicit dependency on order, i.e. consider MFD device with serial bus controller, such as SPI, and DMA IP that is attached to serial bus controller: before remove the DMA driver we have to be ensured that no DMA transfers is ongoing and the requested channel are unused. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3d060aeb72113cda0acf906bfe26914fc689506a Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:04:00 2015 +0300 driver core: implement device_for_each_child_reverse() The new function device_for_each_child_reverse() is helpful to traverse the registered devices in a reversed order, e.g. in the case when an operation on each device should be done first on the last added device, then on one before last and so on. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2e0fed7f7cdc41679e209c5636ad7537dc6210a9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:03:59 2015 +0300 klist: implement klist_prev() klist_prev() gets the previous element in the list. It is useful to traverse through the list in reverse order, for example, to provide LIFO (last in first out) variant of access. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ddef08dd00f5548f943422c86e4ffe67dd040b6c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 18:03:58 2015 +0300 Driver core: wakeup the parent device before trying probe If the parent is still suspended when driver probe is attempted, the result may be failure. For example, if the parent is a PCI MFD device that has been suspended when we try to probe our device, any register reads will return 0xffffffff. To fix the problem, making sure the parent is always awake before attempting driver probe. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 712e960f0ee9337f3473ba3de2bcfc7e87b7c5a4 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:03:57 2015 +0300 ACPI / PM: Attach ACPI power domain only once Some devices, like MFD subdevices, share a single ACPI companion device so that they are able to access their resources and children. However, currently all these subdevices are attached to the ACPI power domain and this might cause that the power methods for the companion device get called more than once. In order to solve this we attach the ACPI power domain only to the first physical device that is bound to the ACPI companion device. In case of MFD devices, this is the parent MFD device itself. Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 13b2c4a0c3b1cd37ee6bcfbb5b6e2b94e9a75364 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:03:56 2015 +0300 PM / QoS: Make it possible to expose device latency tolerance to userspace Typically when a device is created the bus core it belongs to (for example PCI) does not know if the device supports things like latency tolerance. This is left to the driver that binds to the device in question. However, at that time the device has already been created and there is no way to set its dev->power.set_latency_tolerance anymore. So follow what has been done for other PM QoS attributes as well and allow drivers to expose and hide latency tolerance from userspace, if the device supports it. Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 23393d49fb75ca97b179668aa86b7038c2dc0831 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:16 2015 -0500 gpio: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed as most platforms don't use probing. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Ray Jui <rjui@xxxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Cc: linux-tegra@xxxxxxxxxxxxxxx Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0f17c97e3eceb255b1078a1e3a03d2bb00245d9b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 09:45:48 2015 +0200 ARM: at91/dt: sama5d4: move ADC pinctrl to board device trees The ADC pinctrl is board specific, move it to the board device trees. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 07886bbceaf4d6f3fc69e6d8e68c34fc39196dbc Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 09:45:47 2015 +0200 ARM: at91/dt: sama5d4: fix external trigger property The property is actually atmel,adc-use-external-triggers. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit caa8c508494c5de3ea70b44804abfd003f6b0107 Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Mon Jul 27 12:58:32 2015 -0700 crypto: qat - remove unnecessary list iteration There's no need to iterate through the list for instances in the accel_table since the number of devices is already known in this file. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0c5f0aa5dd92a36a2c6491695abcb95196b88ef6 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Fri Jul 24 15:41:27 2015 -0700 crypto: jitterentropy - use safe format string parameters Since the API for jent_panic() does not include format string parameters, adjust the call to panic() to use a literal string to avoid any future callers from leaking format strings into the panic message. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ec0d6fa3e8849fd52755bca6cec550985d66546d Author: Ahsan Atta <ahsan.atta@xxxxxxxxx> Date: Fri Jul 24 13:18:26 2015 -0700 crypto: qat - Fix typo othewise->otherwise Signed-off-by: Ahsan Atta <ahsan.atta@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 13dd7bee20634a4991a75a551ce0707eb6aefd29 Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Fri Jul 24 13:18:25 2015 -0700 crypto: qat - remove unused define Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ea77fcdaf1aa6c3e69ba87cfef2e89b07f929598 Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Fri Jul 24 13:18:25 2015 -0700 crypto: qat - fix bug in ADF_RING_SIZE_BYTES_MIN macro The subject macro mistakenly compares the passed-in ring size in bytes with ADF_RING_SIZE_4K which is 0x6 (an internal representation of 4KB) rather than comparing with the intended value of 4096. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5995752eadfd64edece5810b6fb0639806726594 Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Fri Jul 24 13:18:25 2015 -0700 crypto: qat - remove redundant struct elem The element pci_dev_id in the struct adf_hw_device_data is redundant since the PCI device id can be retrieved from the struct pci_dev. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d257f2980feb431ac7f0ffa1978fb694f56c7782 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Mon Jul 27 17:28:58 2015 -0700 Input: tsc2005 - convert to gpiod The GPIOD API can be used from boardcode, so that the DT check can be removed. To avoid breaking existing boardcode, _optional() variant has been chosen. For completely removing the DT check, the regulator has also been made optional, so that it could be supplied from boardcode. As a side-effect the patch fixes the after-probe reset GPIO state, so that the device is not kept in reset state. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 80b46aa69e543939e39eca5ae96fe508a1da2230 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Mon Jul 27 17:28:37 2015 -0700 Input: tsc2005 - simplify drvdata acquisition Using dev_*_drvdata() instead of spi_*_drvdata() reduces lines of code and prepares the driver for possible tsc2004 support, which is i2c based. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 273cf48aa95a86ee368a10b9a2a6b0c62544ffe5 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Mon Jul 27 17:27:25 2015 -0700 Input: tsc2005 - convert to regmap Convert driver so that it uses regmap instead of directly using spi_transfer for all register accesses. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f00d1f8f1d9720dcf9ec7911916b685e6f92729f Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Mon Jul 27 17:27:09 2015 -0700 Input: tsc2005 - fix Kconfig indentation Replace spaces with tab, so that the tsc2005 Kconfig entry matches the other entries in drivers/input/touchscreen/Kconfig. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a636df9673e1e4627722777fe6075943372e76be Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Mon Jul 27 17:26:38 2015 -0700 Input: tsc2005 - improve readability of register defines Improve defines for first control byte by removing 0x00 prefix (the defines are for 8 bit values and not for 16 bit values) and expose register structure by exposing the shift. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 730daa164e7c7e31c08fab940549f4acc3329432 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Jul 23 18:02:48 2015 -0700 Yama: remove needless CONFIG_SECURITY_YAMA_STACKED Now that minor LSMs can cleanly stack with major LSMs, remove the unneeded config for Yama to be made to explicitly stack. Just selecting the main Yama CONFIG will allow it to work, regardless of the major LSM. Since distros using Yama are already forcing it to stack, this is effectively a no-op change. Additionally add MAINTAINERS entry. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 60e95f43fc8573e81f54b0c1e0bc542c2260d956 Author: Linda Knippers <linda.knippers@xxxxxx> Date: Wed Jul 22 16:17:22 2015 -0400 nfit: Don't check _STA on NVDIMM devices The _STA only applies to the root device, not the individual NVDIMMS, so don't check here. NVDIMM device state flags are checked elsewhere. Signed-off-by: Linda Knippers <linda.knippers@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 6b47496a6fc81816e7edaf8224dfb88e402a05f5 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Thu Jul 23 11:58:48 2015 -0600 libnvdimm, pmem: Change pmem physical sector size to PAGE_SIZE Based on a patch: c8fa317 brd: Request from fdisk 4k alignment by Boaz Harrosh, allow fdisk to create properly aligned partitions for DAX. This will also cause mkfs.ext4 to emit a warning if using a file system block size of less than PAGE_SIZE. Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Elliott, Robert <Elliott@xxxxxx> Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Acked-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Acked-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 39c686b862cdb2049b90e095b6c6c727b2a7ab60 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Thu Jul 9 13:25:36 2015 -0600 libnvdimm: Add DSM support for Address Range Scrub commands Add support for the three ARS DSM commands: - Query ARS Capabilities - Queries the firmware to check if a given range supports scrub, and if so, which type (persistent vs. volatile) - Start ARS - Starts a scrub for a given range/type - Query ARS Status - Checks status of a previously started scrub, and provides the error logs if any. The commands are described by the example DSM spec at: http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf Also add these commands to the nfit_test test framework, and return canned data. Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit ec92777f2ba93c00387b8fe53780c25adc57c744 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Thu Jul 9 13:25:35 2015 -0600 libnvdimm: Update name of the ars_status_record mask field The spec suggests that this is a simple 'length' field, not a mask. Update the name accordingly. Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 5e32940621eb62064d98f42c9889db71b0368bde Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Sat Jul 11 10:02:46 2015 -0400 libnvdimm, btt: sparse fix Fix: drivers/nvdimm/btt.c:635:29: warning: restricted __le64 degrades to integer Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 57d866e606ddf2a0cd51f7140cfd8df1fdaa48f6 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 22:39:38 2015 +0200 clk: fix some determine_rate implementations Some determine_rate implementations are not returning an error when they failed to adapt the rate according to the rate request. Fix them so that they return an error instead of silently returning 0. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> CC: Jonathan Corbet <corbet@xxxxxxx> CC: Tony Lindgren <tony@xxxxxxxxxxx> CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx> CC: "Emilio López" <emilio@xxxxxxxxxxxxx> CC: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> CC: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> CC: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> CC: Stephen Warren <swarren@xxxxxxxxxxxxx> CC: Thierry Reding <thierry.reding@xxxxxxxxx> CC: Alexandre Courbot <gnurou@xxxxxxxxx> CC: linux-doc@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx CC: linux-omap@xxxxxxxxxxxxxxx CC: linux-mips@xxxxxxxxxxxxxx CC: linux-tegra@xxxxxxxxxxxxxxx Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0817b62cc037a56c5e4238c7eb7522299ea27aef Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 20:48:08 2015 +0200 clk: change clk_ops' ->determine_rate() prototype Clock rates are stored in an unsigned long field, but ->determine_rate() (which returns a rounded rate from a requested one) returns a long value (errors are reported using negative error codes), which can lead to long overflow if the clock rate exceed 2Ghz. Change ->determine_rate() prototype to return 0 or an error code, and pass a pointer to a clk_rate_request structure containing the expected target rate and the rate constraints imposed by clk users. The clk_rate_request structure might be extended in the future to contain other kind of constraints like the rounding policy, the maximum clock inaccuracy or other things that are not yet supported by the CCF (power consumption constraints ?). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> CC: Jonathan Corbet <corbet@xxxxxxx> CC: Tony Lindgren <tony@xxxxxxxxxxx> CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx> CC: "Emilio López" <emilio@xxxxxxxxxxxxx> CC: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> CC: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> CC: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> CC: Stephen Warren <swarren@xxxxxxxxxxxxx> CC: Thierry Reding <thierry.reding@xxxxxxxxx> CC: Alexandre Courbot <gnurou@xxxxxxxxx> CC: linux-doc@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx CC: linux-omap@xxxxxxxxxxxxxxx CC: linux-mips@xxxxxxxxxxxxxx CC: linux-tegra@xxxxxxxxxxxxxxx [sboyd@xxxxxxxxxxxxxx: Fix parent dereference problem in __clk_determine_rate()] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Tested-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Folded in fix from Heiko for fixed-rate clocks without parents or a rate determining op] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0caa36603300dd4ff4841227cf372e91e940c8bd Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 16:25:46 2015 +0300 ARM: shmobile: r8a7791: Add JPU device node. This patch contains device tree node definition for JPEG codec peripheral found in the Renesas R-Car r8a7791 SoC. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fb847575f8f5a9580c26bdc3e08fe49639144619 Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 16:25:45 2015 +0300 ARM: shmobile: r8a7790: Add JPU device node. This patch contains device tree node definition for JPEG codec peripheral found in the Renesas R-Car r8a7790 SoC. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c99cd90d98a98aa101b169e44d249e5cd71f46f2 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 16 16:54:03 2015 +0900 ARM: shmobile: r8a7779: Remove legacy SoC code Now when the Marzen legacy board code is gone this patch removes the unused r8a7779 legacy SoC code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b97fdb836a36df53de5685278c0126a222903c5e Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 16 16:53:52 2015 +0900 ARM: shmobile: marzen: Remove legacy board code Remove Marzen legacy board code written in C. Instead board support expressed in DT shall be used together with Multiplatform and shmobile_defconfig. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 640780efdd97eefd9ee78e1cd03ba97b1a1e1d9a Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 13 15:15:33 2015 +0900 ARM: shmobile: r8a7779: Cleanup header file Remove unused function prototypes from r8a7779.h and make the functions static. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 26f9e03fb1c8b8b5dd2f1ad34da775cc129df98a Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 13 15:15:12 2015 +0900 ARM: shmobile: marzen-reference: Remove C board code The generic r8a7779 machine vector is now feature-wise equivalent to the Marzen-reference case, so simply remove the Marzen C board code to fall over on the generic r8a7779 machine vector. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4055a722d260ca30610fc52238d0aa49ff5bffa9 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Jul 15 15:42:35 2015 +0900 ARM: shmobile: Enable fixed voltage regulator in shmobile_defconfig This is selected by MACH_MARZEN which is enabled in shmobile_defconfig, however, MACH_MARZEN is going away along with the board code it enables. Acked-by: Magnus Damm <damm@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 24b390aad2930b889b6e15fc7cf7bfa7c99fad21 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Jul 27 17:09:40 2015 -0500 PCI: Remove unused "pci_probe" flags The following flags are only used on x86, but they got copied to FR-V, MN10300, and SuperH: PCI_PROBE_BIOS PCI_PROBE_CONF1 PCI_PROBE_CONF2 PCI_ASSIGN_ROMS PCI_NO_CHECKS PCI_BIOS_IRQ_SCAN PCI_ASSIGN_ALL_BUSSES FR-V and MN10300 do test for PCI_ASSIGN_ROMS, but they never set it, so it's dead code. Remove the unused flags above. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 8c1a91f11174ed00bc8269150636a9ad638efe24 Merge: 0b42c28 e38af4f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 27 15:00:37 2015 -0700 Merge branch 'mlx4-802.1ad-accel' Amir Vadai says: ==================== net/mlx4_en: Hardware accelerated 802.1ad This patchset by Hadar introduces support in Hardware accelerated 802.1ad, for ConnectX-3pro NIC's. In order to support existing deployment, and due to some hardware limitations, the feature is disabled by default, and needed to be enabled using a private flag in ethtool. Ofcourse user can enable the private flag only if hardware has support. After being enabled, the standard ethtool -k/-K can be used. Patchset was applied and tested over commit 71790a2 ("hv_netvsc: Add structs and handlers for VF messages") ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e38af4faf01d0b35df6995fb395e5fa4a4898289 Author: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Date: Mon Jul 27 14:46:34 2015 +0300 net/mlx4_en: Add support for hardware accelerated 802.1ad vlan To enable device support in accelerated 802.1ad vlan, the port capability "packet has vlan enable" (phv_en) should be set. Firmware won't work properly, in case phv_en is not set. The user can enable "phv_en" port capability with the new ethtool private flag phv-bit. The phv-bit private flag default value is OFF, users who are interested in 802.1ad hardware acceleration should turn ON the phv-bit private flag: $ ethtool --set-priv-flags eth1 phv-bit on Once the private flag is set, the device is ready for 802.1ad vlan acceleration. The user should also change the interface device features and turn on "tx-vlan-stag-hw-insert" which is off by default: $ ethtool -K eth1 tx-vlan-stag-hw-insert on "phv-bit" private flag setting is available only for Physical Functions(PF), the Virtual Function (VF) will be able to use the feature by setting "tx-vlan-stag-hw-insert" ethtool device feature only if the feature was enabled by the Hypervisor. Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e802f8e4c54e6adf4215ef9fa3d6eea8fcb10bf9 Author: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Date: Mon Jul 27 14:46:33 2015 +0300 net/mlx4: Prepare VLAN macros for 802.1ad Hardware accelerated support To add Hardware accelerated support in 802.1ad vlan, replace Current VLAN macros to CVLAN. Replace: MLX4_WQE_CTRL_INS_VLAN MLX4_CQE_VLAN_PRESENT_MASK With: MLX4_WQE_CTRL_INS_CVLAN MLX4_CQE_CVLAN_PRESENT_MASK Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c509a48ff999463f698ed5082875a938094bfb3 Author: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Date: Mon Jul 27 14:46:32 2015 +0300 net/mlx4_en: Prepare ethtool private flags to support more flags Currently we support only one ethtool private flag. Prepare mlx4_en_set_priv_flags function to support more than one private flag. Will be used in the next patch to support hardware accelerated 802.1ad vlan. Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77fc29c4bbbbd01ee22c50ce8260fd0f2e08c124 Author: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Date: Mon Jul 27 14:46:31 2015 +0300 net/mlx4_core: Preparations for 802.1ad VLAN support mlx4_core preparation to support hardware accelerated 802.1ad VLAN device. To allow 802.1ad accelerated device, "packet has vlan" (phv) Firmware capability should be available. Firmware without the phv capability won't behave properly and can't support 802.1ad device acceleration. The driver checks the Firmware capability and sets the phv bit accordingly in SET_PORT command. Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b42c2863b3b9f79c42f0b877249007e5adfc921 Merge: e11f40b 5bf705b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 27 14:57:41 2015 -0700 Merge branch 'arm-bpf-next' Nicolas Schichan says: ==================== ARM BPF JIT features This series adds support for more instructions to the ARM BPF JIT namely skb netdevice type retrieval, skb payload offset retrieval, and skb packet type retrieval. This allows 35 tests to use the JIT instead of 29 before. This series depends on the "BPF JIT fixes for ARM" serie sent earlier. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5bf705b43b7243c68e831ed3072db2ed00edc7fa Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Mon Jul 27 15:06:51 2015 +0200 ARM: net: add support for BPF_ANC | SKF_AD_HATYPE in ARM JIT. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 303249ab168f58ee52c502389b9a8046af78d142 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Mon Jul 27 15:06:50 2015 +0200 ARM: net: add support for BPF_ANC | SKF_AD_PAY_OFFSET in ARM JIT. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1447f93f22add339ee63d1a7015309d9fbfa47e8 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Mon Jul 27 15:06:49 2015 +0200 ARM: net: add support for BPF_ANC | SKF_AD_PKTTYPE in ARM JIT. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 504155cafffbe35d5678c10af7777303ead01928 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 14:52:19 2015 +0100 ARM: dts: apq8064: fix missing gsbi cell-index Without this i2c instance for missing cell-index nodes would fail, fix it by adding correct cell-index. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 86e252a4f850a525ad5514163e14a36f1f1d19a4 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Mon Jul 27 14:52:10 2015 +0100 ARM: dts: apq8064: Add DT support for GSBI6 and for UART pin mux This change adds DT support for GSBI6 and muxes the gpio pins as UART lines. Also defines a alias for serial port on these lines. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> [Srinivas Kandagatla]: fix pinctrl location and rename alias correctly Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit bce3604696769afd4ec575f15499aad174e14a74 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 14:52:02 2015 +0100 ARM: dts: apq8064: add pm8921 mpp support This patch adds pmic pm8921 mpp gpio controller node. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 874443fe9e339378d973f8752d6b4ad2ab9fe364 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 14:51:52 2015 +0100 ARM: dts: apq8064: Add pm8921 mfd and its gpio node This patch adds pmic gpio node to the device tree, this node is necessary for devices like wlan to control reset gpio. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 27e50c9708263995e8bbb2843a5d1a264e1dfe4d Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jul 27 11:10:44 2015 -0300 ARM: multi_v7_defconfig: Select MX6UL and MX7D Let MX6UL and MX7D SoCs be selected by default. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0e83c71cbd3b675757008516ff0f3db71d5b2e12 Merge: 97de17f 764c222 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 20:43:52 2015 +0200 Merge tag 'prima2-defconfig-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux into next/defconfig Merge "CSR prima2_defconfig fixes for 4.2" from Barry Song: enable SiRFSoC device drivers in CSR prima2_defconfig make savedefconfig at first, then enable 1. sdhci driver 2. onkey 3. rtc 4. hwspinlock for prima2_defconfig * tag 'prima2-defconfig-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux: ARM: prima2_defconfig: enable build for hwspinlock ARM: prima2_defconfig: enable build for RTC ARM: prima2_defconfig: enable build for misc input ARM: prima2_defconfig: enable build for SiRFSoC SDHC host ARM: prima2_defconfig: fix the outdated defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 764c222555fe80cbc8fcbed985863e9b07858d51 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Jul 13 22:13:47 2015 +0800 ARM: prima2_defconfig: enable build for hwspinlock This patch enables hardware spinlock driver for CSRatlas7 platforms. Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 3cbedb88478009cf5415a8eb1804eceb7088bb1a Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Jul 13 22:05:10 2015 +0800 ARM: prima2_defconfig: enable build for RTC This patch enables RTC_CLASS and RTC driver for SiRFSoC platforms. Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 9dd105430a1708ae8692aaa98ee324553d0dbdd8 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Jul 13 21:59:52 2015 +0800 ARM: prima2_defconfig: enable build for misc input we need INPUT_MISC to enable INPUT_SIRFSOC_ONKEY which is the onkey driver for SiRFSoC platforms. Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit de124e87425c801e187a301604873265094153f3 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Jul 13 21:55:17 2015 +0800 ARM: prima2_defconfig: enable build for SiRFSoC SDHC host this patch enables the MMC/SDHCI driver for SiRFSoC platforms. Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 79302812c1f0f13daeb7e81a9d22087b19f86128 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Jul 13 21:48:37 2015 +0800 ARM: prima2_defconfig: fix the outdated defconfig this patch is againest v4.2-rc1, by doing: $ make ARCH=arm prima2_defconfig $ make ARCH=arm savedefconfig $ cp defconfig arch/arm/configs/prima2_defconfig Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 458e2c82c5fbfbc431598636c05bdb21feb7056f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jul 27 15:15:59 2015 -0300 Revert "tty: serial: imx.c: Reset UART before activating interrupts" This reverts commit e95044ba4fee93f5ea8a1a24b2d921e148503833. Commit e95044ba4fee93 ("tty: serial: imx.c: Reset UART before activating interrupts") terribly messes up with the console on mx6 boards, so let's revert it. Reported-by: kernelci.org bot <bot@xxxxxxxxxxxx> Cc: David Jander <david@xxxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 722b262c966a388a1f8bfcdd100cd19c4ce59ab9 Merge: 4e02bea cbfe8fa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 11:15:16 2015 -0700 Merge 4.2-rc4 into usb-next We want the USB fixes that went into that release in this branch as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92311e46ecf2298d87f175c8449ab4d8c400a38e Merge: d684779 cbfe8fa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 11:12:39 2015 -0700 Merge 4.2-rc4 into tty-next Other serial driver work wants to build on patches now in 4.2-rc4 so merge the branch so this can properly happen. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e64e22449023dc89dfb92c6f19d4c5b03f46889 Merge: 4ad2adc9 cbfe8fa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 11:10:05 2015 -0700 Merge 4.2-rc4 into staging-next We want the iio and other fixes in this branch as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f883d10a18b971a3646303d12ef75138dfd31f9 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 18:36:54 2015 +0100 arm64: debug: rename enum debug_el to avoid symbol collision lib/list_sort.c defines a 'struct debug_el', where "el" is assumedly a a contraction of "element". This conflicts with 'enum debug_el' in our asm/debug-monitors.h header file, where "el" stands for Exception Level. The result is build failure when targetting allmodconfig, so rename our enum to 'dbg_active_el' to be slightly more explicit about what it is. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 14e51e599db0b5bd7d2fc11f144b68c38aa9d0c9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:23:17 2015 +0900 misc: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1037b2787b6df12f31b7051f7cdbb289f7972ee7 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 13 17:32:28 2015 +0530 char: misc: fix error path Lets call remove_proc_entry() in the error path only if we have successfully created "misc" in procfs. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 344e62b36d3fa680ffbd35ee26b52f7bf4c1c4ec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 13 17:32:27 2015 +0530 char: misc: remove redundant ifdef The check for CONFIG_PROC_FS is not required as the check is being done in proc_fs.h and incase CONFIG_PROC_FS is not defined then proc_create() is defined as NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 662ba3dbceca3ca284885a464ecb8c936f417003 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Mon Jul 27 03:32:53 2015 +0100 arm64: mm: add __init section marker to free_initrd_mem It is not needed after booting, this patch moves the free_initrd_mem() function to the __init section. This patch also make keep_initrd __initdata, to reduce kernel size. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4b0c53e9e1a2a785746b2d379a32cb70b4dbb2fd Merge: a11c51a 7c14898 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Jul 27 17:56:18 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: New features: - Introduce PERF_RECORD_SWITCH(_CPU_WIDE) and use it in 'record' to ask for context switches, allowing non priviledged tasks to know when they are switched in and out, which wasn't possible with the other context switch tracepoint and software events, see the patch description for a comprehensive justification (Adrian Hunter) - Stop collecting /proc/kallsyms in perf.data files, saving about 4.5MB on a typical x86-64 system, use the the symbol resolution routines used in all the other tools (report, top, etc) now that we can ask libtraceevent to use perf's symbol resolution code. (Arnaldo Carvalho de Melo) User visible fixes: - Expose perf's symbol resolver to libtraceevent, so that its plugins can resolve tracepoint fields to kernel functions, like the 'function' field in the "timer:hrtimer_start tracepoint" (Arnaldo Carvalho de Melo) Infrastructure changes: - Map propagation of thread and cpu maps improvements, prep work for 'perf stat' new features (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 309585b0b931b291d0525b2830161ee76a2f23ff Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 16:55:32 2015 +0100 arm64: elf: use cpuid_feature_extract_field for hwcap detection cpuid_feature_extract_field takes care of the fiddly ID register field sign-extension, so use that instead of rolling our own version. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2e94da13790336eb3fd00fb5e97610dd9aebe213 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 16:23:58 2015 +0100 arm64: lse: use generic cpufeature detection for LSE atomics Rework the cpufeature detection to support ISAR0 and use that for detecting the presence of LSE atomics. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0e4a07092fc833dc3d972a3394398aef68217c13 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 15:54:13 2015 +0100 arm64: kconfig: group the v8.1 features together ARMv8 CPUs do not support any of the v8.1 features, so group them together in Kconfig to make it clear that they're part of 8.1 and not relevant to older cores. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9559b3a38b26ab8410aeb822cf0596ea0b4adde4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Jul 14 10:49:46 2015 -0300 ARM: imx_v6_v7_defconfig: Select CONFIG_IKCONFIG_PROC It is useful to know how the kernel was configured via: zcat /proc/config.gz ,so select the CONFIG_IKCONFIG_PROC option. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3e1d9c6f241961e2e21b8df9de5ee12e3dc6f177 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:26:49 2015 +0300 power: olpc_battery: clean up eeprom read function The change removes redundant sysfs binary file boundary check while reading eeprom content from userspace, the check is done on caller side in fs/sysfs/file.c, if binary attribute size is not zero. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c739dc83a0b6db01abfbcc5246a30c7a575e4272 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 14:11:55 2015 +0100 arm64: lse: rename ARM64_CPU_FEAT_LSE_ATOMICS for consistency Other CPU features follow an 'ARM64_HAS_*' naming scheme, so do the same for the LSE atomics. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9f28b86552aef94733387814a57755cb0019cfb9 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:26:48 2015 +0300 power: ds2781_battery: clean up eeprom read/write functions The change removes redundant calculation of left space on eeprom while reading or writing "param_eeprom" or "user_eeprom", the checks are not needed, since this task is done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 95eff6b27c40c7205f72f354712c3687d808e7f6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 14:57:47 2015 +0100 arm64: kconfig: select HAVE_CMPXCHG_LOCAL We implement an optimised cmpxchg_local macro, so let the kernel know. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 753f15833c4d782ee41e333f66bfe424a39680e6 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:26:47 2015 +0300 power: ds2780_battery: clean up eeprom read/write functions The change removes redundant sysfs binary file boundary checks while reading or writing "param_eeprom" or "user_eeprom", the checks are not needed, since this task is done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit db26217e6f54647b137a0fe1f2ab346de67d6f3e Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 14:44:06 2015 +0100 arm64: atomic64_dec_if_positive: fix incorrect branch condition If we attempt to atomic64_dec_if_positive on INT_MIN, we will underflow and incorrectly decide that the original parameter was positive. This patches fixes the broken condition code so that we handle this corner case correctly. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6059a7b6e818023436a9058170a4fea1c670dc98 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jun 4 17:46:37 2015 +0100 arm64: atomics: implement atomic{,64}_cmpxchg using cmpxchg We don't need duplicate cmpxchg implementations, so use cmpxchg to implement atomic{,64}_cmpxchg, like we do for xchg already. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0ea366f5e1b6413a6095dce60ea49ae51e468b61 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 13:31:10 2015 +0100 arm64: atomics: prefetch the destination word for write prior to stxr The cost of changing a cacheline from shared to exclusive state can be significant, especially when this is triggered by an exclusive store, since it may result in having to retry the transaction. This patch makes use of prfm to prefetch cachelines for write prior to ldxr/stxr loops when using the ll/sc atomic routines. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a82e62382fcbbf5c3348e802af73583e0cac39c0 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jun 4 16:41:36 2015 +0100 arm64: atomics: tidy up common atomic{,64}_* macros The common (i.e. identical for ll/sc and lse) atomic macros in atomic.h are needlessley different for atomic_t and atomic64_t. This patch tidies up the definitions to make them consistent across the two atomic types and factors out common code such as the add_unless implementation based on cmpxchg. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4e39715f4b5cb3b44576fedb2d38aca87de3cf48 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 14:47:59 2015 +0100 arm64: cmpxchg: avoid memory barrier on comparison failure cmpxchg doesn't require memory barrier semantics when the value comparison fails, so make the barrier conditional on success. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0bc671d3f4bee9c31110d096ada0de52380e693d Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 14:26:59 2015 +0100 arm64: cmpxchg: avoid "cc" clobber in ll/sc routines We can perform the cmpxchg comparison using eor and cbnz which avoids the "cc" clobber for the ll/sc case and consequently for the LSE case where we may have to fall-back on the ll/sc code at runtime. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e9a4b795652f654a7870727e5333c1b709b8736c Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu May 14 18:05:50 2015 +0100 arm64: cmpxchg_dbl: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of our cmpxchg_double primitives so that the LSE casp instruction is used instead. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c342f78217e822d2178265b0b1de232eeb717149 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Apr 23 20:08:49 2015 +0100 arm64: cmpxchg: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of our cmpxchg primitives so that the LSE cas instruction is used instead. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c8366ba0fb65063b6b4f69c7af1ea74152435590 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Mar 31 14:11:24 2015 +0100 arm64: xchg: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of our xchg primitives so that the LSE swp instruction (yes, you read right!) is used instead. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 084f903727e1c3a61d6bcdaeeed30bddc6d7f65a Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Feb 12 04:17:37 2015 +0000 arm64: bitops: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of our bitops functions so that LSE atomic instructions are used instead. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 81bb5c6420635dfd058c210bd342c29c95ccd145 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Feb 10 03:03:15 2015 +0000 arm64: locks: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of our locking functions so that LSE atomic instructions are used for spinlocks and rwlocks. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c09d6a04d17d730b0463207a26ece082772b59ee Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Feb 3 16:14:13 2015 +0000 arm64: atomics: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of atomic_t and atomic64_t routines so that the call-site for the out-of-line ll/sc sequences is patched with an LSE atomic instruction when we detect that the CPU supports it. If binutils is not recent enough to assemble the LSE instructions, then the ll/sc sequences are inlined as though CONFIG_ARM64_LSE_ATOMICS=n. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c0385b24af15020a1e505f2c984db0d7c0d017e1 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Feb 3 12:39:03 2015 +0000 arm64: introduce CONFIG_ARM64_LSE_ATOMICS as fallback to ll/sc atomics In order to patch in the new atomic instructions at runtime, we need to generate wrappers around the out-of-line exclusive load/store atomics. This patch adds a new Kconfig option, CONFIG_ARM64_LSE_ATOMICS. which causes our atomic functions to branch to the out-of-line ll/sc implementations. To avoid the register spill overhead of the PCS, the out-of-line functions are compiled with specific compiler flags to force out-of-line save/restore of any registers that are usually caller-saved. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8c10342cb48f3140d9abeadcfd2fa6625d447282 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 27 13:24:29 2015 +0200 drm/atomic: Update legacy DPMS state during modesets, v3. This is required for DPMS to work correctly, during a modeset the DPMS property should be turned off, unless the state is crtc is made active in which case it should be set to DPMS on. Changes since v1: - Set DPMS to off when a connector is removed from a crtc too. - Update the legacy dpms property too. - Add an exception for the legacy dpms paths, it updates its own state. Changes since v2: - Do not preserve dpms property. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9a69a9ac20f7f3435dd18019f902351c61a9ad1d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 21 11:34:55 2015 +0200 drm: Make the connector dpms callback return a value, v2. This is required to properly handle failing dpms calls. When making a wait in i915 interruptible, I've noticed that the dpms sequence could fail with -ERESTARTSYS because it was waiting interruptibly for flips. So from now on allow drivers to fail in their connector dpms callback. Encoder and crtc dpms callbacks are unaffected. Changes since v1: - Update kerneldoc for the drm helper functions. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> [danvet: Resolve conflicts due to different merge order.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 613d2b272177c61c7cdb83be75a6e4c378d50ff9 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 21 13:28:58 2015 +0200 drm/atomic: pass old crtc state to atomic_begin/flush. In intel it's useful to keep track of some state changes with old crtc state vs new state, for example to disable initial planes or when a modeset's prevented during fastboot. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> [danvet: squash in fixup for exynos provided by Maarten.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 71a5a508436332ac40f688ef06e61628f25f3e5b Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Jul 25 09:23:16 2015 +0530 power_supply: bq24735: Convert to using managed resources Use managed resource functions like devm_kasprintf and devm_power_supply_register in bq24735_charger_probe. To be compatible with the change, replace various gotos by direct returns and drop unneeded labels. Also, remove bq24735_charger_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d964b7229e7f94428a1e8d26999adffbe8a69db2 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Feb 4 12:17:55 2015 +0000 arm64: alternatives: add cpu feature for lse atomics Add a CPU feature for the LSE atomic instructions, so that they can be patched in at runtime when we detect that they are supported. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 40a1db2434a1b62332b1af25cfa14d7b8c0301fe Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jan 26 18:46:19 2015 +0000 arm64: elf: advertise 8.1 atomic instructions as new hwcap The ARM v8.1 architecture introduces new atomic instructions to the A64 instruction set for things like cmpxchg, so advertise their availability to userspace using a hwcap. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c275f76bb4ce16fd0205da1e15f31b875013678e Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Feb 3 11:26:53 2015 +0000 arm64: atomics: move ll/sc atomics into separate header file In preparation for the Large System Extension (LSE) atomic instructions introduced by ARM v8.1, move the current exclusive load/store (LL/SC) atomics into their own header file. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3309aa494186b0c5364d812ae000955262590655 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Mon Jul 27 14:59:06 2015 +0800 power/reset: zx: Remove unnecessary include file Including ARM related header file cause build failure in i386 build because COMILE_TEST also involve building zx driver. Remove the unnecessary include file. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 144e9697a9e70b5549fd52df90111f1410bcbfeb Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Apr 30 18:55:50 2015 +0100 arm64: cpufeature.h: add missing #include of kernel.h cpufeature.h makes use of DECLARE_BITMAP, which in turn relies on the BITS_TO_LONGS and DIV_ROUND_UP macros. This patch includes kernel.h in cpufeature.h to prevent all users having to do the same thing. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9511ca19dafbd503fb467d451fe331a6008f08cf Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Jul 22 18:25:52 2015 +0100 arm64: rwlocks: don't fail trylock purely due to contention STXR can fail for a number of reasons, so don't fail an rwlock trylock operation simply because the STXR reported failure. I'm not aware of any issues with the current code, but this makes it consistent with spin_trylock and also other architectures (e.g. arch/arm). Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fc9eb93cd4c5d819e9a68a7906d78ce37f42d8cd Merge: 772d683 41b9e9f Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 14:21:15 2015 +0100 Merge branch 'locking/arch-atomic' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into aarch64/for-next/core Merge in PeterZ's logical atomic ops so that we can implement them in our subsequent LSE atomics. commit 802bb9b67de75ea75638b8b1ca4b21a76a03bebf Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jul 22 19:21:13 2015 +0200 pinctrl: nomadik: depromote GPIO to subsystem_init() We no longer have to do GPIO initialization before the pinctrl initialization, instead we can initialize the pinctrl portions of the driver first and then the GPIO. Thus we can move GPIO initialization to a subsystem_initcall(), but not yet to a device_initcall(). Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ee04139d916a61454850f3e3c687f50f891fc8bd Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 23 09:09:49 2015 +0200 pinctrl/ARM: move GPIO and pinctrl deps to device tree This gets the GPIO ranges out of the driver and into the device tree where they belong. Standard DT bindings already exist for this. Since no systems with this are deployed we can just augment all device trees and the drivers at the same time and simplify the world. This also defines the array of GPIO chips related to the pin controller. Cc: arm@xxxxxxxxxx Acked-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d705073cdafa75286970dd30f722d0df584bae54 Author: Rabin Vincent <rabin@xxxxxx> Date: Wed Jul 22 15:05:19 2015 +0200 gpio: etraxfs: add support for ARTPEC-3 Add support for the GIO block in the ARTPEC-3 SoC. The basic functionality is essentialy the same as the version in the ETRAX FS, except for a different set of ports, including a read-only port. Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 91492a44b998cf762150de8f1b40bda1902e8ea7 Author: Rabin Vincent <rabin@xxxxxx> Date: Wed Jul 22 15:05:18 2015 +0200 gpio: generic: support input-only chips Allow chips to indicates that they are input-only and thus cannot set the output value. This will be used by the gpio-etraxfs driver. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1296fba1a397b173d45534885a0934a7c005d7e3 Author: Rabin Vincent <rabin@xxxxxx> Date: Wed Jul 22 15:05:17 2015 +0200 gpio: etraxfs: fix set register flag BGPIO_F_UNREADABLE_REG_SET is incorrect, since the set register _is_ readable. What's really required is BGPIO_F_READ_OUTPUT_REG_SET: reading the set register reads the set output value. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d8323c6b03533ac870fb665277e6dad7ebf7e4d3 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 14:41:57 2015 +0200 pinctrl: sunxi: Add custom irq_domain_ops The current interrupt parsing code was working by accident, because the default was actually parsing the first node of interrupts. While that was mostly working (and the flags were actually ignored), this binding has never been documented, and doesn't work with SoCs that have multiple interrupt banks anyway. Add a proper interrupt xlate function, that uses the same description than the GPIOs (<bank> <pin> <flags>), that will make things less confusing. The EINT number will still be used as the hwirq number, but won't be exposed through the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a3ff83d205ed48fadfc30ba9502dcf37a5d09b27 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Jul 25 16:23:24 2015 +0900 MAINTAINERS: add entries for UniPhier device trees and drivers This clarifies the location of the files maintained by me. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 622372309f292efe21dabaf46122a147864d239f Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Jul 25 16:23:23 2015 +0900 ARM: dts: UniPhier: add UART and USB pinmux nodes The DT nodes in uniphier-pinctrl.dtsi provide the default pinctrl settings that would be suitable for most boards. You can still override them in your board DTS file if necessary. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 55d945b249eae485b57172fcba51f8629cd97c39 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Jul 25 16:23:22 2015 +0900 ARM: dts: UniPhier: add pinctrl device nodes Add the pinctrol device nodes for UniPhier PH1-LD4, PH1-Pro4, and PH1-sLD8. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 8cd14702be9bcb2ec45e1ec30af04aea9b965708 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jul 21 11:08:50 2015 +0200 gpio: rcar: Add r8a7795 (R-Car H3) support R-Car Gen3's GPIO blocks are identical to Gen2's in every respect. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a9a7f260e0f7d2bf743a81c6c2ca660bd17dd64b Merge: d7018b1 6d6db34 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:49:24 2015 +0200 Merge tag 'pxa-for-4.3-v2' of https://github.com/rjarzmik/linux into next/soc This is the pxa changes for v4.3 cycle. There is mostly one evolution on the dma side, to enable cooperation of the legacy pxa DMA API, and the new dmaengine API. Once all drivers using DMA are converted, the legacy DMA API should be removed. * tag 'pxa-for-4.3-v2' of https://github.com/rjarzmik/linux: ARM: pxa: Use setup_timer ARM: pxa: Use module_platform_driver ARM: pxa: transition to dmaengine phase 1 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4dbada2be460dc5568fa27784ef626232c28061f Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Tue Jul 21 18:26:51 2015 +0200 gpio: omap: use raw locks for locking This patch converts gpio_bank.lock from a spin_lock into a raw_spin_lock. The call path is to access this lock is always under a raw_spin_lock, for instance - __setup_irq() holds &desc->lock with irq off + __irq_set_trigger() + omap_gpio_irq_type() - handle_level_irq() (runs with irqs off therefore raw locks) + mask_ack_irq() + omap_gpio_mask_irq() This fixes the obvious backtrace on -RT. However the locking vs context is not and this is not limited to -RT: - omap_gpio_irq_type() is called with IRQ off and has an conditional call to pm_runtime_get_sync() which may sleep. Either it may happen or it may not happen but pm_runtime_get_sync() should not be called with irqs off. - omap_gpio_debounce() is holding the lock with IRQs off. + omap2_set_gpio_debounce() + clk_prepare_enable() + clk_prepare() this one might sleep. The number of users of gpiod_set_debounce() / gpio_set_debounce() looks low but still this is not good. Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 743ca9e9f8e936b9575ced7a41d30f4dc4803a6f Merge: d1005cc f5887fe Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:48:07 2015 +0200 Merge tag 'omap-for-v4.3/dt-dm814x' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt omap dts changes for minimal dm814x support for v4.3 merge window. These changes make dm814x boot and adds minimal board support for dm814x-evm and hp t410. Note that to boot these depend on omap-for-v4.3/soc-signed branch, but as dm814x support is currently broken, these can be merged separately with the other dts changes. * tag 'omap-for-v4.3/dt-dm814x' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Add custom abort handler for t410 ARM: dts: Add minimal support for HP T410 ARM: dts: Add minimal dts support for dm8148-evm ARM: dts: Add minimal clocks for dm814x ARM: dts: Add minimal dm814x support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e324957096dbf5bbf1491231c9912c3f5d0bc216 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 21 15:25:27 2015 +0900 pinctrl: use dev_err() to show message in pinmux_func_name_to_selector() Use dev_err() rather than pr_err() to display the error message. pinctrl_dev_get_name(pctldev) is no longer necessary because dev_err() shows which device the message is related to. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2b38ca6d1aaf9149f1286c93b131f3e62c3ac63b Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 21 15:25:26 2015 +0900 pinctrl: use dev_err() to show message in pinctrl_register_one_pin() Use dev_err() rather than pr_err() to display the error message. (Besides, dev_err() is already used 7 lines below in this function.) Also, drop the redundant information "on %s" because dev_err() shows which device the message is related to. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 527c465a3c8716d93201ae34b7fc52679610596d Merge: fbce23a 5ce000b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Jul 27 14:43:29 2015 +0200 Merge branch 'for-linus' into for-next ... to make easier developing HDA ext code. commit ba53219809f4b3a08f21600a0f3b675620d518bc Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Fri Jul 24 12:02:22 2015 -0400 HID: core: do not reject devices when they declare too many usages Some device present proprietary collections with a usage min of 0x00 and a usage max of 0xffff. hid-core currently reject them while most of the time this is harmless. Let's ignore the exceeding usages, and hope for the best. Reported-by: Simon Wörner <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d1aceb80c685b0735268fba296523f5d7264ff22 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 21 14:45:40 2015 +0900 gpio: remove unneeded initializer in gpiochip_add_to_list() This variable is used as an iterator and initialized in the list_for_each() loop. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d7018b15581797583e7bed351416b0b06abe3c53 Merge: c3d3dbd 24da741 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:36:53 2015 +0200 Merge tag 'omap-for-v4.3/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc SoC changes for omaps for v4.3 merge window: - Clean-up omap4_local_timer_init to drop deal legacy code - Provide proper IO map table for dra7 - Clean-up IOMMU layer init code as it now uses IOMMU framework - A series of changes to fix up dm814x support that's been in a broken half-merged state for quite some time - A series of PRCM and hwmod changes via Paul Walmsley <paul@xxxxxxxxx>: - I/O wakeup support for AM43xx - register lock and unlock support to the hwmod code (needed for the RTC IP blocks on some chips) - several fixes for sparse warnings and an unnecessary null pointer test - a DRA7xx clockdomain configuration workaround, to deal with some hardware bugs * tag 'omap-for-v4.3/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (21 commits) ARM: OMAP2: Add minimal dm814x hwmod support ARM: OMAP2+: Prepare dm81xx hwmod code for adding minimal dm814x support ARM: PRM: AM437x: Enable IO wakeup feature ARM: OMAP4+: PRM: Add AM437x specific data ARM: OMAP: PRM: Remove hardcoding of IRQENABLE_MPU_2 and IRQSTATUS_MPU_2 register offsets ARM: dts: AM4372: Add PRCM IRQ entry ARM: AM43xx: Add the PRM IRQ register offsets ARM: OMAP4: PRM: Remove hardcoding of PRM_IO_PMCTRL_OFFSET register ARM: OMAP2+: Add support for initializing dm814x clocks ARM: OMAP2+: Add custom prwdm_operations for 81xx to support dm814x ARM: OMAP2+: Add minimal clockdomains for dm814x ARM: OMAP2+: Fix scm compatible for dm814x ARM: OMAP2+: Fix dm814x DT_MACHINE_START ARM: OMAP2+: Remove module references from IOMMU machine layer ARM: DRA7: Provide proper IO map table ARM: OMAP2+: Clean up omap4_local_timer_init ARM: OMAP2: Delete an unnecessary check ARM: OMAP2+: sparse: add missing function declarations ARM: OMAP2+: sparse: add missing static declaration ARM: OMAP2+: hwmod: add support for lock and unlock hooks ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 97de17fde7cc7c15b402b911397780b51834a38b Merge: 3888c38 821e79c Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:35:39 2015 +0200 Merge tag 'renesas-defconfig-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Renesas ARM Based SoC Defconfig Updates for v4.3 * Remove marzen_defconfig * shmobile_defconfig and multi_v7_defconfig - Enable DPCM Sound Card - Enable r8a7793/gose platform * tag 'renesas-defconfig-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Remove marzen_defconfig ARM: multi_v7_defconfig: add Renesas DPCM Sound Card ARM: shmobile: defconfig: add Renesas DPCM Sound Card ARM: multi_v7_defconfig: Enable shmobile r8a7793/gose platform ARM: shmobile: Enable gose board in multiplatform defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c3d3dbddd3acbe93501a9500ad979af393f78ec8 Merge: 7bd1584 765b500 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:33:56 2015 +0200 Merge tag 'renesas-soc-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Renesas ARM Based SoC Updates for v4.3 * Add basic support for gose/r8a7793 * tag 'renesas-soc-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: gose: enable R-Car Gen2 regulator quirk ARM: shmobile: Basic r8a7793 SoC support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 926631c2012d22ab507ace95b3e5f5621f2c72b7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Jul 24 14:05:33 2015 +0300 ext4: memory leak on error in ext4_symlink() We should release "sd" before returning. Fixes: 0fa12ad1b285 ('ext4: Handle error from dquot_initialize()') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit d1005cc96b292889a66a946b636394cb5e9a524e Merge: 6951630 7fd6e11 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:28:23 2015 +0200 Merge tag 'renesas-dt2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Second Round of Renesas ARM Based SoC DT Updates for v4.3 * Add Audio MIX and CTU support to r8a779[01] SoCs * Correct IRQ sense for adv7511 on lager board * Add sound label to koelsch and lager boards * Add IIC support to emev2 SoC * tag 'renesas-dt2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7791: Add Audio MIX support on DTSI ARM: shmobile: r8a7791: Add Audio CTU support on DTSI ARM: shmobile: r8a7790: Add Audio MIX support on DTSI ARM: shmobile: r8a7790: Add Audio CTU support on DTSI ARM: shmobile: lager: Fix adv7511 IRQ sensing ARM: shmobile: koelsch: add sound label on DTS ARM: shmobile: lager: add sound label on DTS ARM: shmobile: emev2: kzm9d: enable IIC busses ARM: shmobile: emev2: add IIC cores to dtsi Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a1156814606c0bd5f8725ff7feac21e58bc3b16d Merge: 9521f49 151dd34 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:27:13 2015 +0200 Merge tag 'renesas-cleanup2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Second Round of Renesas ARM Based SoC Cleanup for v4.3 * Silence APMU build warnings * tag 'renesas-cleanup2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: apmu: silence build warnings Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 69516303449aa9afac6e52d5b187322406364c7f Merge: a022708 2303553 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:26:03 2015 +0200 Merge tag 'stm32-dt-for-v4.3-1b' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32 into next/dt STM32 DT updates for v4.3, round 1. Highlights: ----------- - Add RCC clocks support to STM32F429 - Add STM32429i-EVAL board support - Use stdout-path instead of linux,stdout-path in Disco board * tag 'stm32-dt-for-v4.3-1b' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32: ARM: dts: Use stdout-path in STM32F429 Discovery board ARM: dts: Add STM32429i-EVAL board support ARM: dts: stm32f429: Adopt STM32F4 clock driver Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7bd1584bd5dc20679fa9ac97391bdcefc19df202 Merge: d7030a0 50de4dd Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:25:23 2015 +0200 Merge tag 'sti-soc-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/soc STi SoC updates for v4.3, round 1. Highlights: ----------- - Add code to release secondary cores from holding pen. - Remove useless call to trace_hardirqs_off() in secondary core init function. * tag 'sti-soc-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti: ARM: STi: Remove platform call to trace_hardirqs_off() ARM: STi: Add code to release secondary cores from holding pen. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a02270836bd7688852a8d0513f91e6f6ee0b3097 Merge: 9e3cffd 7944450 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:23:46 2015 +0200 Merge tag 'sti-dt-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/dt STi DT update for v4.3, round 1. Highlights: ----------- - Add pinctrl configurations for transport stream channels - Add cpu-release-addr properties to STiH407 and STiH418 - Add PWM regulator support so STIH407 family - Add BDISP node to STiH407 * tag 'sti-dt-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti: ARM: DT: STiH410: Add bdisp dt nodes ARM: STi: STiH407: Add PWM Regulator node ARM: STi: STiH407: Move PWM nodes STiH407 => STiH407-family ARM: STi: DT: Rename st_pll3200c32_407_c0_x into st_pll3200c32_cx_x ARM: STi: DT: STiH418: Add cpu-release-addr dt property. ARM: STi: DT: STiH407: Add cpu-release-addr dt property. ARM: STi: DT: Add STiH407 family mtsin0 pinctrl configuration ARM: STi: DT: Add STiH407 family tsout1 pinctrl configuration ARM: STi: DT: Add STiH407 family tsout0 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin5 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin4 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin3 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin2 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin1 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin0 pinctrl configuration Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3888c381d88fc8d92c6d46b5a91ae77a5cb1c4cc Merge: f1d28f0 5ecd29a Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:22:59 2015 +0200 Merge tag 'sti-defconfig-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/defconfig STi defconfig for v4.3, round 1 Highlights: ----------- - Enable support ST's PWM driver in multi_v7 - Enable support PWM regulator in multi_v7 * tag 'sti-defconfig-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti: ARM: multi_v7_defconfig: Enable support for PWM Regulators ARM: multi_v7_defconfig: Enable ST's PWM driver Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 41b9e9fcc1c44b84a785115058ce9c703e3fca6e Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Jul 13 12:55:58 2015 +0200 atomic: Add simple atomic_t tests Add a few atomic_t tests, gets some compile coverage for the new operations. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 805de8f43c20ba8b479bb598b543fa86b20067f6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Apr 24 01:12:32 2015 +0200 atomic: Replace atomic_{set,clear}_mask() usage Replace the deprecated atomic_{set,clear}_mask() usage with the now ubiquous atomic_{or,andnot}() functions. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit de9e432cb5de1bf2952919dc0b22e4bec0ed8d53 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Apr 24 01:12:32 2015 +0200 atomic: Collapse all atomic_{set,clear}_mask definitions Move the now generic definitions of atomic_{set,clear}_mask() into linux/atomic.h to avoid endless and pointless repetition. Also, provide an atomic_andnot() wrapper for those few archs that can implement that. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e6942b7de2dfe44ebde9bae57dadece5abca9de8 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:32:50 2014 +0200 atomic: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2957c035395e492463d7f589af9dd32388967bbb Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Jul 9 16:38:17 2015 -0400 tile: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. For tilegx, these are relatively straightforward; the architecture provides atomic "or" and "and", both 32-bit and 64-bit. To support xor we provide a loop using "cmpexch". For the older 32-bit tilepro architecture, we have to extend the set of low-level assembly routines to include 32-bit "and", as well as all three 64-bit routines. Somewhat confusingly, some 32-bit versions are already used by the bitops inlines, with parameter types appropriate for bitops, so we have to do a bit of casting to match "int" to "unsigned long". Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436474297-32187-1-git-send-email-cmetcalf@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 73ada3700bbb0a4c7cc06ea8d74e93c689f90cdb Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 10 12:55:45 2015 +0200 h8300: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and} These will replace the atomic_{set,clear}_mask functions that are available on some archs. Also rework the atomic implementation in terms of CPP macros to avoid the typical repetition -- I seem to have missed this arch the last time around when I did that. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b0d8003ef405c4148b703cdaab1171045c6c3bbd Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Apr 24 00:49:20 2015 +0200 frv: Rewrite atomic implementation Mostly complete rewrite of the FRV atomic implementation, instead of using assembly files, use inline assembler. The out-of-line CONFIG option makes a bit of a mess of things, but a little CPP trickery gets that done too. FRV already had the atomic logic ops but under a non standard name, the reimplementation provides the generic names and provides the intermediate form required for the bitops implementation. The slightly inconsistent __atomic32_fetch_##op naming is because __atomic_fetch_##op conlicts with GCC builtin functions. The 64bit atomic ops use the inline assembly %Ln construct to access the low word register (r+1), afaik this construct was not previously used in the kernel and is completely undocumented, but I found it in the FRV GCC code and it seems to work. FRV had a non-standard definition of atomic_{clear,set}_mask() which would work types other than atomic_t, the one user relying on that (arch/frv/kernel/dma.c) got converted to use the new intermediate form. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7fc1845dd45a825b3c2b760df342a94f61fb1113 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:28:37 2014 +0200 x86: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ae8c35c85be92b79c545c57c2a14c2f8136d3353 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:15:48 2014 +0200 s390: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2a3ed90f428cab65567c5421ebc0f6c8d02c1216 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:35:00 2014 +0200 xtensa: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 304a0d699a3c6103b61d5ea18d56820e7d8e3116 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:40:25 2014 +0200 sparc: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 658aa51459c2f5284183d35b6dd0beca0e0bfe2f Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:44:20 2014 +0200 sh: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d0b7eb6ff2985c9350fdb297fa5727c35324d4df Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:46:23 2014 +0200 powerpc: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit aebea9359623b58b54242e5daa24e09d6104977b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:47:25 2014 +0200 parisc: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ddb7573ff68964e7b3b72eeb9cde1384c4c6ba83 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:50:20 2014 +0200 mn10300: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 27782f2752aca65a241f10fb2d4508c71bb2656b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:51:36 2014 +0200 mips: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5b4a2f0f91fd4a635f380f847254d23121972e7b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:53:39 2014 +0200 metag: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 74b1bc505b058efdfef33e775df68d8324bbf8b8 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:56:20 2014 +0200 m68k: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c66e45edef51e1f54297ddaf202fc2dd00852734 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:57:49 2014 +0200 m32r: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 70ed47390d10a7351e44c3a07c5de376780cb6c1 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:00:01 2014 +0200 ia64: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 610f7ba93b1e4cda7370f367a6042cbda61227bb Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:00:54 2014 +0200 hexagon: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d835b6c4cc02507b3bf3f8ee6c86857cf0ee67ab Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Apr 23 21:44:42 2015 +0200 blackfin: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. TODO: use inline asm or at least asm macros to collapse the lot. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f8a570e270bf62363cd498ac2ac8ea07a76ad4d6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:02:20 2014 +0200 avr32: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 22288b40e2c7ab484a08a03df32782a67903912c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:03:13 2014 +0200 arm64: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 125897908c718972351b589da89b7f990892d4df Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:04:39 2014 +0200 arm: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit cda7e4137a4e39c7d877b6ed41da13a5b30dd2cf Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:06:20 2014 +0200 arc: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 212d3be102d73dce70cc12f39dce4e0aed2c025b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:07:47 2014 +0200 alpha: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 56d1defe0bbddaa97d6e74b51490904130fd4f1d Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 15 15:47:25 2015 +0200 atomic: Prepare generic atomic implementation for logic ops Clean up the #ifdef guards a bit to prepare for architectures to supply their own logic ops. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fb5b778808a1e5d6874c17b2e670c76fab9a1300 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 14:41:12 2015 +0200 pinctrl: sunxi: Add irq_chip name In order to ease the debugging, add a name to the irq_chips. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a0d6de9bdf8d66be458fcda5898a799778169c60 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 14:41:11 2015 +0200 pinctrl: sunxi: Use common functions to change irq_chip and handler The current code uses some custom variable affectations, while we have common functions to do exactly that. Move to the common functions. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bb379ceb8d9f3599ab9162ebf58d731350f4177a Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 16 21:08:24 2015 +0200 dt-bindings: gpio: document bindings supported by gpio-mpc8xxx.c Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0ba69e089827c24f5a4b21124185914f9de4f466 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 16 21:08:23 2015 +0200 gpio: mpc8xxx: add support for MPC5125 The gpio controller on MPC5125 is identical to the MPC5121 register wise, the only difference is that the lines 0..3 are input only instead of 28..31 on MPC5121. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 59fb3d58c5284b42d93262a4690291e9c0e78fe6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:42:48 2015 +0000 ia64/iosapic: Use irq_set_chip_handler_name_locked() __irq_set_chip_handler_name_locked() is about to be replaced. Use irq_set_chip_handler_name_locked() instead. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713131034.723024979@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c42574edc0e33227d4ce41ecc0a81a72f37e7ef4 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:42:46 2015 +0000 ia64/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713131034.630273860@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit bdf76e36765970c64624d32150b656dc6669ddc2 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:38:38 2015 +0000 C6X/meagmod-pic: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Aurelien Jacquiot <a-jacquiot@xxxxxx> Cc: linux-c6x-dev@xxxxxxxxxxxxx Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Link: http://lkml.kernel.org/r/20150713130429.697731509@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 284384442fd44f6e01a157745b5549602e6a49f4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:34:57 2015 +0000 blackfin/irq: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and update was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150713125611.731615902@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 247bd4f1f11eb683bdb31850b525fb5e893bd49d Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:34:56 2015 +0000 blackfin/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150713125611.652550580@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 95e432b91045f5dfa2115f943de4f44f0ea107ba Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:08:38 2015 +0000 alpha/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713075508.821878421@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 82e39b0d8566fa67077c6941f776d17833c80fea Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 16 21:08:22 2015 +0200 gpio: mpc8xxx: handle differences between incarnations at a single place The gpio controllers that are handled by the mpc8xxx driver differ slightly. Up to now some differences were handled by use of of_device_is_compatible, others by use of struct of_device_id's data. To make this consistent and easily extendable handle the differences at a single place. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4183afefd995e3472c10348998edd9f791eb523f Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 16 21:08:21 2015 +0200 gpio: mpc8xxx: constify of_device_id This variable is not modified in the driver and all functions it it passed to don't change it either. So it can and should be marked const. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 772d68355e2f65f71e0402e39aabfdea56f55083 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 11:07:03 2015 +0100 arm64: include linux/types.h in asm/spinlock_types.h Our ticket-based spinlock structures rely on a definition of u16, so include linux/types.h explicitly to ensure the thing compiles. Found by a module build failure in -next: arch/arm64/include/asm/spinlock_types.h:27:2: error: unknown type name 'u16' arch/arm64/include/asm/spinlock_types.h:28:2: error: unknown type name 'u16' arch/arm64/include/asm/spinlock_types.h:33:13: error: expected declaration specifiers or '...' before numeric constant include/linux/spinlock_types.h:21:2: error: unknown type name 'arch_spinlock_t' arch/arm64/include/asm/spinlock.h:34:35: error: unknown type name 'arch_spinlock_t' arch/arm64/include/asm/spinlock.h:65:37: error: unknown type name 'arch_spinlock_t' Reported-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a4653228a0f8d0a4a76d03a2dd15beaf6e78c22b Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:49 2015 +0100 arm64/BUG: Show explicit backtrace for WARNs The generic slowpath WARN implementation prints a backtrace, but the report_bug() based implementation does not, opting to print the registers instead which is generally not as useful. Ideally, report_bug() should be fixed to make the behaviour more consistent, but in the meantime this patch generates a backtrace directly from the arm64 backend instead so that this functionality is not lost with the migration to report_bug(). As a side-effect, the backtrace will be outside the oops end marker, but that's hard to avoid without modifying generic code. This patch can go away if report_bug() grows the ability in the future to generate a backtrace directly or call an arch hook at the appropriate time. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9fb7410f955f7a62c1f882ca8f9ffd4525907e28 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:48 2015 +0100 arm64/BUG: Use BRK instruction for generic BUG traps Currently, the minimal default BUG() implementation from asm- generic is used for arm64. This patch uses the BRK software breakpoint instruction to generate a trap instead, similarly to most other arches, with the generic BUG code generating the dmesg boilerplate. This allows bug metadata to be moved to a separate table and reduces the amount of inline code at BUG and WARN sites. This also avoids clobbering any registers before they can be dumped. To mitigate the size of the bug table further, this patch makes use of the existing infrastructure for encoding addresses within the bug table as 32-bit offsets instead of absolute pointers. (Note that this limits the kernel size to 2GB.) Traps are registered at arch_initcall time for aarch64, but BUG has minimal real dependencies and it is desirable to be able to generate bug splats as early as possible. This patch redirects all debug exceptions caused by BRK directly to bug_handler() until the full debug exception support has been initialised. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d7a33f4fbd12ca0a32a24cc46c0d02b47f6b54d1 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:47 2015 +0100 arm64/debug: Add missing #includes <asm/debug-monitors.h> relies on <asm/ptrace.h>, but doesn't declare this dependency. This becomes a problem once debug-monitors.h starts getting included all over the place to get the BRK immedates. The missing include of <asm/memory.h> (for UL()) in <asm/esr.h> is also added. The series no longer relies on this, but I spotted it during development and it may as well get fixed. No functional change. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c696b93461f53db89d61450ace7c73babf920b99 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:46 2015 +0100 arm64/debug: Simplify BRK insn opcode declarations The way the KGDB_DYN_BRK_INS_BYTEx macros are declared is more complex than it needs to be. Also, the macros are only used in one place, which is arch-specific anyway. This patch refactors the macros to simplify them, and exposes an argument so that we can have a single macro instead of 4. As a side effect, this patch also fixes some anomalous spellings of "KGDB". These changes alter the compile types of some integer constants that are harmless but trigger truncation warnings in gcc when assigning to 32-bit variables. This patch adds an explicit cast for the affected cases. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 72d033e80a6f25a7e2f79cacac202f19ede289e4 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:45 2015 +0100 arm64/debug: Move BRK ESR template macro into <asm/esr.h> It makes sense to keep all the architectural exception syndrome definitions in the same place. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c172d994e1fd57e46e85424c23124756c66d4b62 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:44 2015 +0100 arm64/debug: More consistent naming for the BRK ESR template macro The naming of DBG_ESR_VAL_BRK is inconsistent with the way other similar macros are named. This patch makes the naming more consistent, and appends "64" as a reminder that this ESR pattern only matches from AArch64 state. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 03923696a966bd3eeb3a169d71b8a337aaa5ab76 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:43 2015 +0100 arm64/debug: Eliminate magic number from ESR template definition <asm/esr.h> has perfectly good constants for defining ESR values already. Let's use them. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit dfac68314c969481fcce3dd528728dfa9d85caf5 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:42 2015 +0100 arm64/debug: Mask off all reserved bits from generated ESR values There are only 16 comment bits in a BRK instruction, which correspond to ESR bits 15:0. Bits 24:16 of the ESR are RES0, and might have weird meanings in the future. This code inserts 16 bits of comment in the ESR value instead of 20 (almost certainly a typo in the original code). Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 951757ae83ec611b1c4f1dcfda67246cf5157451 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:41 2015 +0100 arm64/debug: Eliminate magic number for size of BRK instruction The size of an A64 BRK instruction is the same as the size of all other A64 instructions, because all A64 instructions are the same size. BREAK_INSTR_SIZE is retained for readibility, but it should not be an independent constant from AARCH64_INSN_SIZE. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 51650dc2a18b1c65026c3bb9e35da2750e985706 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Fri Jul 24 12:52:28 2015 +0100 arm64: insn: use set_fixmap_offset to make it more clear A little change to patch_map() function, use set_fixmap_offset() to make code more clear. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e38457c361b30c5a2379cc767877c3e5c2505dc6 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Jul 24 12:38:27 2015 +0100 arm64: efi: prefer AllocatePages() over efi_low_alloc() for vmlinux When allocating memory for the kernel image, try the AllocatePages() boot service to obtain memory at the preferred offset of 'dram_base + TEXT_OFFSET', and only revert to efi_low_alloc() if that fails. This is the only way to allocate at the base of DRAM if DRAM starts at 0x0, since efi_low_alloc() refuses to allocate at 0x0. Tested-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e094d44568680d4e5e2722c4ad090ff0810719b9 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu Jul 23 18:28:26 2015 +0100 arm64: kernel: remove non-legit DT warnings when booting using ACPI Since both CONFIG_ACPI and CONFIG_OF are enabled when booting using ACPI tables on ARM64 platforms, we get few device tree warnings which are not valid for ACPI boot. We can use of_have_populated_dt to check if the device tree is populated or not before throwing out those errors. This patch uses of_have_populated_dt to remove non legitimate device tree warning when booting using ACPI tables. Cc: Lorenzo Pieralisi <Lorenzo.Pieralisi@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 77ee306c0aea9a219daec256ad25982944affef8 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 23 13:51:46 2015 +0100 arm64: alternatives: add enable parameter to conditional asm macros There are cases where we want to compile out both versions of an alternative code block, so add an enable parameter to the new conditional alternative assembly macros in the same way as alternative_insn. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 338d4f49d6f7114a017d294ccf7374df4f998edc Author: James Morse <james.morse@xxxxxxx> Date: Wed Jul 22 19:05:54 2015 +0100 arm64: kernel: Add support for Privileged Access Never 'Privileged Access Never' is a new arm8.1 feature which prevents privileged code from accessing any virtual address where read or write access is also permitted at EL0. This patch enables the PAN feature on all CPUs, and modifies {get,put}_user helpers temporarily to permit access. This will catch kernel bugs where user memory is accessed directly. 'Unprivileged loads and stores' using ldtrb et al are unaffected by PAN. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> [will: use ALTERNATIVE in asm and tidy up pan_enable check] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9ded63aaf83eba76e1a54ac02581c2badc497f1a Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Jul 22 11:38:14 2015 +0100 arm64: Generalise msr_s/mrs_s operations The system register encoding generated by sys_reg() works only for MRS/MSR(Register) operations, as we hardcode Bit20 to 1 in mrs_s/msr_s mask. This makes it unusable for generating instructions accessing registers with Op0 < 2(e.g, PSTATE.x with Op0=0). As per ARMv8 ARM, (Ref: ARMv8 ARM, Section: "System instruction class encoding overview", C5.2, version:ARM DDI 0487A.f), the instruction encoding reserves bits [20-19] for Op0. This patch generalises the sys_reg, mrs_s and msr_s macros, so that we could use them to access any of the supported system register. Cc: James Morse <james.morse@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 91a5cefa2f98bdd3404c2fba57048c4fa225cc37 Author: James Morse <james.morse@xxxxxxx> Date: Tue Jul 21 13:23:30 2015 +0100 arm64: kernel: Add optional CONFIG_ parameter to ALTERNATIVE() Some uses of ALTERNATIVE() may depend on a feature that is disabled at compile time by a Kconfig option. In this case the unused alternative instructions waste space, and if the original instruction is a nop, it wastes time and space. This patch adds an optional 'config' option to ALTERNATIVE() and alternative_insn that allows the compiler to remove both the original and alternative instructions if the config option is not defined. Suggested-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 18ffa046c509d0cd011eeea2c0418f2d014771fc Author: James Morse <james.morse@xxxxxxx> Date: Tue Jul 21 13:23:29 2015 +0100 arm64: kernel: Add min_field_value and use '>=' for feature detection When a new cpu feature is available, the cpu feature bits will have some initial value, which is incremented when the feature is updated. This patch changes 'register_value' to be 'min_field_value', and checks the feature bits value (interpreted as a signed int) is greater than this minimum. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 1c0763037f1e1caef739e36e09c6d41ed7b61b2d Author: James Morse <james.morse@xxxxxxx> Date: Tue Jul 21 13:23:28 2015 +0100 arm64: kernel: Add cpufeature 'enable' callback This patch adds an 'enable()' callback to cpu capability/feature detection, allowing features that require some setup or configuration to get this opportunity once the feature has been detected. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 870828e57b141eff76a5325f20e4691dd2a599b1 Author: James Morse <james.morse@xxxxxxx> Date: Tue Jul 21 13:23:27 2015 +0100 arm64: kernel: Move config_sctlr_el1 Later patches need config_sctlr_el1 to set/clear bits in the sctlr_el1 register. This patch moves this function into header a file. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fc032421ef4a825660fcc4d11672bc2dea202893 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Jul 22 12:21:04 2015 +0100 arm64: kvm: Adopt new alternative assembler macros Convert the dynamic patching for ARM64_HAS_SYSREG_GIC_CPUIF over to the newly added alternative assembler macros. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e28cabf12304717b1054d0a02f0850f91e8a2074 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Jul 22 12:21:03 2015 +0100 arm64: kernel: Adopt new alternative assembler macros Convert the dynamic patching for ARM64_WORKAROUND_845719 over to the newly added alternative assembler macros. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 271d35eb77d0f53177b44968417b630d1fee8b99 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Jul 22 12:21:02 2015 +0100 arm64: mm: Adopt new alternative assembler macros Convert the dynamic patching for ARM64_WORKAROUND_CLEAN_CACHE over to the newly added alternative assembler macros. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 63e40815f02584ba8174e0f6af40924b2b335cae Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Jul 22 12:21:01 2015 +0100 arm64: alternative: Provide if/else/endif assembler macros The existing alternative_insn macro has some limitations that make it hard to work with. In particular the fact it takes instructions from it own macro arguments means it doesn't play very nicely with C pre-processor macros because the macro arguments look like a string to the C pre-processor. Workarounds are (probably) possible but things start to look ugly. Introduce an alternative set of macros that allows instructions to be presented to the assembler as normal and switch everything over to the new macros. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 79b0e09a3c9bd74ee54582efdb351179d7c00351 Author: James Morse <james.morse@xxxxxxx> Date: Tue Jul 21 13:23:26 2015 +0100 arm64: kernel: Add cpuid_feature_extract_field() for 4bit sign extension Based on arch/arm/include/asm/cputype.h, this function does the shifting and sign extension necessary when accessing cpu feature fields. Signed-off-by: James Morse <james.morse@xxxxxxx> Suggested-by: Russell King <linux@xxxxxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ae2fb7ece973f0b285f41985f5de85c57df9bf5a Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Tue Jul 21 11:36:39 2015 +0100 arm64: perf: condense event number maps Most of the cache events an architecture might support do not map well to those provided by the ARM architecture, and as such most entries in the event number maps are *_UNSUPPORTED. Unfortuantely as 0 is a valid physical event identifier, the *_UNSUPPORTED macros expand to a non-zero value and thus each unsupported event must be explicitly initialised as such. This leads to large diffs when adding support for a new CPU, and makes it difficult to spot the important information. This patch follows arch/arm/ in making use of PERF_*_ALL_UNSUPPORTED macros to initialise all entries to *_UNSUPPORTED before overriding this for the specific events we actually support, resulting in a significant source code reduction. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0a570e7adeeae28892e60bc919c7dcf011815134 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Jul 21 15:43:58 2015 +0100 arm64: hugetlb: remove paragraph about writing to FSF Remove paragraph about writing to the Free Software Foundation's mailing address from GPL notice. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 1d1ddf67dc3bfd80f60b216fa1fedfb242bee299 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Fri Jul 17 16:58:21 2015 +0100 arm64: dma-mapping: implement dma_get_sgtable() The default dma_common_get_sgtable() implementation relies on the CPU address of the buffer being a regular lowmem address. This is not always the case on arm64, since allocations from the various DMA pools may have remapped vmalloc addresses, rendering the use of virt_to_page() invalid. Fix this by providing our own implementation based on the fact that we can safely derive a physical address from the DMA address in both cases. CC: Jon Medhurst <tixy@xxxxxxxxxx> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> [will: made static] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4b3dc9679cf779339d9049800803dfc3c83433d1 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 18:28:44 2015 +0100 arm64: force CONFIG_SMP=y and remove redundant #ifdefs Nobody seems to be producing !SMP systems anymore, so this is just becoming a source of kernel bugs, particularly if people want to use coherent DMA with non-shared pages. This patch forces CONFIG_SMP=y for arm64, removing a modest amount of code in the process. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 52da443ec4d0a807b720527eb474f9c2878cd671 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Jul 6 12:23:54 2015 +0100 arm64: perf: factor out callchain code We currently bundle the callchain handling code with the PMU code, despite the fact the two are distinct, and the former can be useful even in the absence of the latter. Follow the example of arch/arm and factor the callchain handling into its own file dependent on CONFIG_PERF_EVENTS rather than CONFIG_HW_PERF_EVENTS. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 23e94994464a7281838785675e09c8ed1055f62f Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jun 2 15:18:38 2015 +0100 arm64: lib: use pair accessors for copy_*_user routines The AArch64 instruction set contains load/store pair memory accessors, so use these in our copy_*_user routines to transfer 16 bytes per iteration. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5d220ff9420f8b1689805ba2d938bedf9e0860a4 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Tue Jul 14 16:20:17 2015 +0100 arm64: Better native ptrace support for compat tasks The compat ptrace interface allows access to the TLS register, hardware breakpoints and watchpoints, syscall number. However, a native task using the native ptrace interface to debug compat tasks (e.g. multi-arch gdb) only has access to the general and VFP register sets. The compat ptrace interface cannot be accessed from a native task. This patch adds a new user_aarch32_ptrace_view which contains the TLS, hardware breakpoint/watchpoint and syscall number regsets in addition to the existing GPR and VFP regsets. This view is backwards compatible with the previous kernels. Core dumping of 32-bit tasks and compat ptrace are not affected since the original user_aarch32_view is preserved. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: Yao Qi <yao.qi@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0723c05fb75e4428b79b5cd657af7496b2604422 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Jul 16 21:26:16 2015 +0100 arm64: enable more compressed Image formats Plumb up Makefile arguments for the already supported formats in the kbuild system: lz4, bzip2, lzma, and lzo. Note that just as with Image.gz, these images are not self-decompressing and the booting firmware still needs to handle decompression before launching the kernel image. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2f4b829c625ec36c2d80bef6395c7b74cea8aac0 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Jul 10 17:24:28 2015 +0100 arm64: Add support for hardware updates of the access and dirty pte bits The ARMv8.1 architecture extensions introduce support for hardware updates of the access and dirty information in page table entries. With TCR_EL1.HA enabled, when the CPU accesses an address with the PTE_AF bit cleared in the page table, instead of raising an access flag fault the CPU sets the actual page table entry bit. To ensure that kernel modifications to the page tables do not inadvertently revert a change introduced by hardware updates, the exclusive monitor (ldxr/stxr) is adopted in the pte accessors. When TCR_EL1.HD is enabled, a write access to a memory location with the DBM (Dirty Bit Management) bit set in the corresponding pte automatically clears the read-only bit (AP[2]). Such DBM bit maps onto the Linux PTE_WRITE bit and to check whether a writable (DBM set) page is dirty, the kernel tests the PTE_RDONLY bit. In order to allow read-only and dirty pages, the kernel needs to preserve the software dirty bit. The hardware dirty status is transferred to the software dirty bit in ptep_set_wrprotect() (using load/store exclusive loop) and pte_modify(). Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b08d4640a3dca68670fc5af2fe9205b395a02388 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Thu Jul 16 18:58:53 2015 +0100 arm64: remove dead code Commit 68234df4ea79 ("arm64: kill flush_cache_all()") removed soft_reset() from the kernel. This was the only caller of setup_mm_for_reboot(), so remove that also. Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit cba3574fd56be8132a19e4aa6b1d41a12c56d990 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 16 19:26:02 2015 +0100 arm64: move update_mmu_cache() into asm/pgtable.h Mark Brown reported an allnoconfig build failure in -next: Today's linux-next fails to build an arm64 allnoconfig due to "mm: make GUP handle pfn mapping unless FOLL_GET is requested" which causes: > arm64-allnoconfig > ../mm/gup.c:51:4: error: implicit declaration of function 'update_mmu_cache' [-Werror=implicit-function-declaration] Fix the error by moving the function to asm/pgtable.h, as is the case for most other architectures. Reported-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit aaf6f2f098f8ec22fa51ec15bd327b8acdfe5a78 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Fri Jul 10 16:47:56 2015 +0100 arm64: consolidate __swiotlb_mmap Since commit 9d3bfbb4df58 ("arm64: Combine coherent and non-coherent swiotlb dma_ops"), __dma_common_mmap is no longer shared between two callers, so roll it into the remaining one. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d3127afa712321a2b297cfee358be2cb223f933c Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Fri Jul 10 14:58:00 2015 +0100 arm64: Remove unused macros from assembler.h Commit 68234df4ea79 ("arm64: kill flush_cache_all()") removed the only users of these macros. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e147ae6d7f908412a013c115e42c3e15dac33ccc Author: Rohit Thapliyal <r.thapliyal@xxxxxxxxxxx> Date: Fri Jul 10 09:23:59 2015 +0100 arm64: modify the dump mem for 64 bit addresses On 64bit kernel, the dump_mem gives 32 bit addresses on the stack dump. This gives unorganized information regarding the 64bit values on the stack. Hence, modified to get a complete 64bit memory dump. With patch: [ 93.534801] Process insmod (pid: 1587, stack limit = 0xffffffc976be4058) [ 93.541441] Stack: (0xffffffc976be7cf0 to 0xffffffc976be8000) [ 93.547136] 7ce0: ffffffc976be7d00 ffffffc00008163c [ 93.554898] 7d00: ffffffc976be7d40 ffffffc0000f8a44 ffffffc00098ef38 ffffffbffc000088 [ 93.562659] 7d20: ffffffc00098ef50 ffffffbffc0000c0 0000000000000001 ffffffbffc000070 [ 93.570419] 7d40: ffffffc976be7e40 ffffffc0000f935c 0000000000000000 000000002b424090 [ 93.578179] 7d60: 000000002b424010 0000007facc555f4 0000000080000000 0000000000000015 [ 93.585937] 7d80: 0000000000000116 0000000000000069 ffffffc00097b000 ffffffc976be4000 [ 93.593694] 7da0: 0000000000000064 0000000000000072 000000000000006e 000000000000003f [ 93.601453] 7dc0: 000000000000feff 000000000000fff1 ffffffbffc002028 0000000000000124 [ 93.609211] 7de0: ffffffc976be7e10 0000000000000001 ffffff8000000000 ffffffbbffff0000 [ 93.616969] 7e00: ffffffc976be7e60 0000000000000000 0000000000000000 0000000000000000 [ 93.624726] 7e20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 93.632484] 7e40: 0000007fcc474550 ffffffc0000841ec 000000002b424010 0000007facda0710 [ 93.640241] 7e60: ffffffffffffffff ffffffc0000be6dc ffffff80007d2000 000000000001c010 [ 93.647999] 7e80: ffffff80007e0ae0 ffffff80007e09d0 ffffff80007edf70 0000000000000288 [ 93.655757] 7ea0: 00000000000002e8 0000000000000000 0000000000000000 0000001c0000001b [ 93.663514] 7ec0: 0000000000000009 0000000000000007 000000002b424090 000000000001c010 [ 93.671272] 7ee0: 000000002b424010 0000007faccd3a48 0000000000000000 0000000000000000 [ 93.679030] 7f00: 0000007fcc4743f8 0000007fcc4743f8 0000000000000069 0000000000000003 [ 93.686787] 7f20: 0101010101010101 0000000000000004 0000000000000020 00000000000003f3 [ 93.694544] 7f40: 0000007facb95664 0000007facda7030 0000007facc555d0 0000000000498378 [ 93.702301] 7f60: 0000000000000000 000000002b424010 0000007facda0710 000000002b424090 [ 93.710058] 7f80: 0000007fcc474698 0000000000498000 0000007fcc474ebb 0000000000474f58 [ 93.717815] 7fa0: 0000000000498000 0000000000000000 0000000000000000 0000007fcc474550 [ 93.725573] 7fc0: 00000000004104bc 0000007fcc474430 0000007facc555f4 0000000080000000 [ 93.733330] 7fe0: 000000002b424090 0000000000000069 0950020128000244 4104000008000004 [ 93.741084] Call trace: The above output makes a debugger life a lot more easier. Signed-off-by: Rohit Thapliyal <r.thapliyal@xxxxxxxxxxx> Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d09ce834dfffd93aa4586b3e07faaf901ee8706f Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Tue Jun 30 13:56:56 2015 +0100 arm64: perf: replace arch_find_n_match_cpu_physical_id with of_cpu_device_node_get arch_find_n_match_cpu_physical_id parses the device tree to get the device node for a given logical cpu index. However, since ARM PMUs get probed after the CPU device nodes are stashed while registering the cpus, we can use of_cpu_device_node_get to avoid another DT parse. This patch replaces arch_find_n_match_cpu_physical_id with of_cpu_device_node_get to reuse the stashed value directly instead. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2d23ed04de933625bc777cc474d2cd9a2a3fa860 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Fri Jun 12 15:39:28 2015 +0100 arm64: perf: Remove unnecessary printk ARM64 pmu prints an error message in event_init() when no hardware PMU is available. This is pretty annoying as it keeps printing the message for every single trial, flooding the kernel logs, unnecessarily. The return code is sufficient for the user to figure out the reason. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 412820dd536fe2d01a35f0d68982ea225ec255b3 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Jul 20 09:58:09 2015 +0200 pwm: sysfs: Remove unnecessary padding Padding initializers so that assignment operators align is bound to lead to inconsistencies or churn. Single spaces around the assignment is just fine. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 5a063d87e97df28ca0b00807bc4d6fa11c5a5107 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Jul 20 09:56:05 2015 +0200 pwm: sysfs: Properly convert from enum to string The current code will check for polarity in a boolean way. While it is correct that polarity is either normal or inversed, make it more obvious that it's an enumeration by using a switch statement and explicit matches on the enumeration values. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 38b0e5071eca4db618e796a2f1dbad3b20c01358 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue May 5 13:55:10 2015 +0300 pinctrl: driver for Conexant Digicolor CX92755 pin mapping This adds pinctrl and gpio driver to the CX92755 SoC "General Purpose Pin Mapping" hardware block. The CX92755 is one SoC from the Conexant Digicolor series. Pin mapping hardware supports configuring pins as either GPIO, or up to 3 other "client select" functions. This driver adds support for pin muxing using the generic device tree binding, and a basic gpiolib driver for the GPIO functionality. This driver does not currently support GPIO interrupts, and pad configuration. v2: * Address review comments for Linus Walleij: - Add a pointer to pinctrl_desc in struct dc_pinmap - Drop the now redundant pinctrl_pin_desc field - Adapt dc_get_group_{name,pins} to these changes, and add a comment explaining the 1-to-1 pin-groups relation * Staticise dc_pmxops * Protect the GP_CLIENTSEL clct parameter with parenthesis Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cbc59e26e90dab17e233c6cdf51235d5d25f5fba Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue May 5 13:55:09 2015 +0300 pinctrl: dt-binding: document Conexant CX92755 SoC Add pinctrl device tree binding documentation for the General Purpose Pin Mapping module of the Conexant CX92755 SoC. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3271dca483a48759cdbdb5f16a13125ab91f6c05 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 17:40:15 2015 +0200 drm/i915: kerneldoc for tiling IOCTL and swizzle functions Chris rightfully suggested that documenting fences without documenting the BO tiling tracking doesn't make much sense, so fix that. The important bit to stress here (since it lead to some confusion) is the GEM doesn't really care about tiling. Except for a few select cases where the kernel needs to manage something that userspace can't take care of: Namely the limited number of fences and fixing up swizzling, although we still fail at the later. v2: Move the low-level tiling/swizzling functions and kerneldoc to i915_gem_fence.c and leave only the userspace interface here. Suggested by Chris. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 7f96ecaf1ea26fd7041acc56379a5c4393ee51ad Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 17:40:14 2015 +0200 drm/i915: Move low-level swizzling code to i915_gem_fence.c It fits more with the low-level fence code, and this move leaves only the userspace tiling ioctl handling in i915_gem_tiling.c. Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e562b9739eda7399d1ec6737bc5f8803f92569e3 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 17:40:13 2015 +0200 drm/i915: Remove bogus kerneldoc include directive Afaict intel_irq_fini never existed. No idea how that one came about. Note: Chris thinks that an irq_fini would be nice and I agree, but this is just to remove some ugly from generated docs. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a794f62a300194dbc53165f10cc5ad236a6a43c2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 17:40:12 2015 +0200 drm/i915: kerneldoc for fences v2: Clarify that this is about fence _registers_. Also clarify that the fence code revokes cpu ptes and not gtt ptes. Both suggested by Chris. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e11f40b9352f75d924cb216abcc5413b38d9288b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Jul 27 11:07:47 2015 +0300 lwtunnel: use kfree_skb() instead of vanilla kfree() kfree_skb() is correct here. Fixes: ffce41962ef6 ('lwtunnel: support dst output redirect function') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41a36b739ae378043ecc3984bec3dba00353fa34 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 13:55:11 2015 +0200 drm/i915: Extract i915_gem_fence.c No code changes, just moving all the fence related code into a separate file (and avoiding a bunch of forward declarations while at it). Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 042794b1f4234de36ce2d6edae071054c6985a03 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 13:55:10 2015 +0200 drm/i915: Clean up Makefile Sorting became confused and a few new files ended up in strange places. Also move i915_irq.c to core since with the recent-ish extraction of i915_gpu_error.c and intel_hotplug.c it's more and more really just basic irq handling code. When adding new files please don't put them somewhere randomly. Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 99d7662a04c4f9822b042f22ae37f8c7355c2d5a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Jul 26 09:45:24 2015 +0200 tcp: tso: allow deferring under reordering state While doing experiments with reordering resilience, we found linux senders were not able to send at full speed under reordering, because every incoming SACK was releasing one MSS. This patch removes the limitation, as we did for CWR state in commit a0ea700e409 ("tcp: tso: allow CA_CWR state in tcp_tso_should_defer()") Neal Cardwell had a concern about limited transmit so Yuchung conducted experiments on GFE and found nothing worth adding an extra check on fast path : if (icsk->icsk_ca_state == TCP_CA_Disorder && tcp_sk(sk)->reordering == sysctl_tcp_reordering) goto send_now; Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f45d1902acfc7e6680cfeeb38922dcc7e16deb6 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 25 23:42:01 2015 +0300 ravb: minimize TX data copying Renesas Ethernet AVB controller requires that all data are aligned on 4-byte boundary. While it's easily achievable for the RX data with the help of skb_reserve() (we even align on 128-byte boundary as recommended by the manual), we can't do the same with the TX data, and it always comes unaligned from the networking core. Originally we solved it an easy way, copying all packet to a preallocated aligned buffer; however, it's enough to copy only up to 3 first bytes from each packet, doing the transfer using 2 TX descriptors instead of just 1. Here's an implementation of the new TX algorithm that significantly reduces the driver's memory requirements. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c22995c5488d7048554d85ee5ee8a269932b0aea Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Jul 25 09:42:28 2015 -0700 dsa: mv88e6352/mv88e6xxx: Move temperature sensor code to mv88e6xxx.c Move the temperature sensing code for mv88e6352 and mv88e6320 families into mv88e6xxx.c to simplify adding support for additional chips. With this change, mv88e6xxx_6320_family() no longer needs to be a global function and is made static. Cc: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71790a2792c8772e29bf5aa726215d9256ef93dc Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Fri Jul 24 10:08:40 2015 -0700 hv_netvsc: Add structs and handlers for VF messages This patch adds data structures and handlers for messages related to SRIOV Virtual Function. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70d2db7b21684bb2b808e78fbab8e594dd7e50ce Merge: 205845a 8d6c31b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 27 01:08:26 2015 -0700 Merge branch 'rt6_probe_write_lock' Martin KaFai Lau says: ==================== ipv6: Avoid rt6_probe() taking writer lock in the fast path v1 -> v2: 1. Separate the code re-arrangement into another patch 2. Fix style ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d6c31bf574177c8de48dd1387d96e1ec3a8b8bc Author: Martin KaFai Lau <kafai@xxxxxx> Date: Fri Jul 24 09:57:43 2015 -0700 ipv6: Avoid rt6_probe() taking writer lock in the fast path The patch checks neigh->nud_state before acquiring the writer lock. Note that rt6_probe() is only used in CONFIG_IPV6_ROUTER_PREF. 40 udpflood processes and a /64 gateway route are used. The gateway has NUD_PERMANENT. Each of them is run for 30s. At the end, the total number of finished sendto(): Before: 55M After: 95M Signed-off-by: Martin KaFai Lau <kafai@xxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> CC: Julian Anastasov <ja@xxxxxx> CC: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 990edb428c2c85c22ca770330437db7183cbe8b5 Author: Martin KaFai Lau <kafai@xxxxxx> Date: Fri Jul 24 09:57:42 2015 -0700 ipv6: Re-arrange code in rt6_probe() It is a prep work for the next patch to remove write_lock from rt6_probe(). 1. Reduce the number of if(neigh) check. From 4 to 1. 2. Bring the write_(un)lock() closer to the operations that the lock is protecting. Hopefully, the above make rt6_probe() more readable. Signed-off-by: Martin KaFai Lau <kafai@xxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Julian Anastasov <ja@xxxxxx> Cc: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc596660dd4e83f7f84e3cd7b25dc5e8e83000ef Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 21 13:28:57 2015 +0200 drm/atomic: add connectors_changed to separate it from mode_changed, v2 This can be a separate case from mode_changed, when connectors stay the same but only the mode is different. Drivers may choose to implement specific optimizations to prevent a full modeset for this case. Changes since v1: - Update kerneldocs slightly. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 205845a34763432040496908c8f52f1f97e5ee62 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 15:50:31 2015 +0200 bonding: convert num_grat_arp to the new bonding option API num_grat_arp wasn't converted to the new bonding option API, so do this now and remove the specific sysfs store option in order to use the standard one. num_grat_arp is the same as num_unsol_na so add it as an alias with the same option settings. An important difference is the option name which is matched in bond_sysfs_store_option(). Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Veaceslav Falico <vfalico@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94724d102c829d9f2105b1cb6e831c99174cd49d Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Jul 24 19:26:02 2015 +0800 net: phy: fix auto negotiation checking for teranetics When using fiber port, the phy cannot report it's auto negotiation state, driver should always report auto negotiation is done when using fiber port. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a6228a0b472062646434cd2536d109c102b606e Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Jul 24 12:28:36 2015 +0200 lwtunnel: change prototype of lwtunnel_state_get() It saves some lines and simplify a bit the code when the state is returning by this function. It's also useful to handle a NULL entry. To avoid too long lines, I've also renamed lwtunnel_state_get() and lwtunnel_state_put() to lwtstate_get() and lwtstate_put(). CC: Thomas Graf <tgraf@xxxxxxx> CC: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d943659508a4fb883507fdd3f998329e70a8f922 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Jul 24 12:28:35 2015 +0200 ipv6: copy lwtstate in ip6_rt_copy_init() We need to copy this field (ip6_rt_cache_alloc() and ip6_rt_pcpu_alloc() use ip6_rt_copy_init() to build a dst). CC: Thomas Graf <tgraf@xxxxxxx> CC: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Fixes: 19e42e451506 ("ipv6: support for fib route lwtunnel encap attributes") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6673a9f4e35c1f0e9976cd4e88042f87674a6b02 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Jul 24 10:59:41 2015 +0200 ipv6: use lwtunnel_output6() only if flag redirect is set This function make sense only when LWTUNNEL_STATE_OUTPUT_REDIRECT is set. The check is already done in IPv4. CC: Thomas Graf <tgraf@xxxxxxx> CC: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Fixes: 74a0f2fe8ed5 ("ipv6: rt6_info output redirect to tunnel output") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9267135cca60674321139626f49077a4937d730e Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Fri Jul 24 14:16:10 2015 +0800 net: phy: dp83867: fix simple_return.cocci warnings drivers/net/phy/dp83867.c:126:1-4: WARNING: end returns can be simpified drivers/net/phy/dp83867.c:74:5-8: WARNING: end returns can be simpified if tested value is negative or 0 Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b469139e81ca8265fb4797c007f8d3338f4191a5 Author: subashab@xxxxxxxxxxxxxx <subashab@xxxxxxxxxxxxxx> Date: Fri Jul 24 03:03:29 2015 +0000 dev: Spelling fix in comments Fix the following typo - unchainged -> unchanged Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24b4d2abd0bd628f396dada3e915d395cbf459eb Author: Alex Gartrell <agartrell@xxxxxx> Date: Thu Jul 23 14:24:40 2015 -0700 ebpf: Allow dereferences of PTR_TO_STACK registers mov %rsp, %r1 ; r1 = rsp add $-8, %r1 ; r1 = rsp - 8 store_q $123, -8(%rsp) ; *(u64*)r1 = 123 <- valid store_q $123, (%r1) ; *(u64*)r1 = 123 <- previously invalid mov $0, %r0 exit ; Always need to exit And we'd get the following error: 0: (bf) r1 = r10 1: (07) r1 += -8 2: (7a) *(u64 *)(r10 -8) = 999 3: (7a) *(u64 *)(r1 +0) = 999 R1 invalid mem access 'fp' Unable to load program We already know that a register is a stack address and the appropriate offset, so we should be able to validate those references as well. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa4cf04e65cb7f75c147e2cc80f0f472b0d93534 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Thu Jul 23 11:22:56 2015 +0000 Bluetooth: hci_h5: Cleaned up coding style warnings Cleanedup "Unnecessary space before function pointer arguments" warning reported by Checkpatch Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit acf50c5fc6f3d1851d23c48737210b5f61f58e1f Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Thu Jul 23 11:08:52 2015 +0000 Bluetooth: hci_ldisc: Cleaned up coding style warnings Fix for Cleanpatch warning: Space prohibited between function name and open parenthesis '(' Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ba27b7ef4a72e0d4718a13bc93b769eec4567d2a Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Thu Jul 23 10:38:47 2015 +0000 Bluetooth: btmrvl: Coding style Fix for btmrvl header Fix for "Unnecessary space before function pointer arguments" reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6ecfdd28c8a6504349ca8501316b1ed3f639ce44 Merge: fda19e8 a741749 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 27 00:29:18 2015 -0700 Merge branch 'mlx5e-next' Amir Vadai says: ==================== ConnectX-4 driver update 2015-07-23 This patchset introduce some performance enhancements to the ConnectX-4 driver. 1. Improving RSS distribution, and make RSS function controlable using ethtool. 2. Make memory that is written by NIC and read by host CPU allocate in the local NUMA to the processing CPU 3. Support tx copybreak 4. Using hardware feature called blueflame to save DMA reads when possible Another patch by Achiad fix some cosmetic issues in the driver. Patchset was applied and tested on top of commit 045a0fa ("ip_tunnel: Call ip_tunnel_core_init() from inet_init()") ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a741749f214afd05402aeed0ecdca90eeaffc303 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Jul 23 23:36:01 2015 +0300 net/mlx5e: Input IPSEC.SPI into the RX RSS hash function In addition to the source/destination IP which are already hashed. Only for unicast traffic for now. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a6f8aef16c53ffeb9c1497f0b583269695c067d Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Jul 23 23:36:00 2015 +0300 net/mlx5e: Cosmetics: use BIT() instead of "1 <<", and others No logical change in this commit. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88a85f99e51fb2373259ab83c8bb130a9bbf3804 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Jul 23 23:35:59 2015 +0300 net/mlx5e: TX latency optimization to save DMA reads A regular TX WQE execution involves two or more DMA reads - one to fetch the WQE, and another one per WQE gather entry. These DMA reads obviously increase the TX latency. There are two mlx5 mechanisms to bypass these DMA reads: 1) Inline WQE 2) Blue Flame (BF) An inline WQE contains a whole packet, thus saves the DMA read/s of the regular WQE gather entry/s. Inline WQE support was already added in the previous commit. A BF WQE is written directly to the device I/O mapped memory, thus enables saving the DMA read that fetches the WQE. The BF WQE I/O write must be in cache line granularity, thus uses the CPU write combining mechanism. A BF WQE I/O write acts also as a TX doorbell for notifying the device of new TX WQEs. A BF WQE is written to the same I/O mapped address as the regular TX doorbell, thus this address is being mapped twice - once by ioremap() and once by io_mapping_map_wc(). While both mechanisms reduce the TX latency, they both consume more CPU cycles than a regular WQE: - A BF WQE must still be written to host memory, in addition to being written directly to the device I/O mapped memory. - An inline WQE involves copying the SKB data into it. To handle this tradeoff, we introduce here a heuristic algorithm that strives to avoid using these two mechanisms in case the TX queue is being back-pressured by the device, and limit their usage rate otherwise. An inline WQE will always be "Blue Flamed" (written directly to the device I/O mapped memory) while a BF WQE may not be inlined (may contain gather entries). Preliminary testing using netperf UDP_RR shows that the latency goes down from 17.5us to 16.9us, while the message rate (tested with pktgen) stays the same. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58d522912ac7d25b63f468fa4a4e8bb059c5144e Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Jul 23 23:35:58 2015 +0300 net/mlx5e: Support TX packet copy into WQE AKA inline WQE. A TX latency optimization to save data gather DMA reads. Controlled by ETHTOOL_TX_COPYBREAK. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 311c7c71c9bb8786c96fee353fe9886c08b017fe Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Jul 23 23:35:57 2015 +0300 net/mlx5e: Allocate DMA coherent memory on reader NUMA node By affinity hints and XPS, each mlx5e channel is assigned a CPU core. Channel DMA coherent memory that is written by the NIC and read by SW (e.g CQ buffer) is allocated on the NUMA node of the CPU core assigned for the channel. Channel DMA coherent memory that is written by SW and read by the NIC (e.g SQ/RQ buffer) is allocated on the NUMA node of the NIC. Doorbell record (written by SW and read by the NIC) is an exception since it is accessed by SW more frequently. Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2be6967cdbc95a9960b620defedbf5e02e2af619 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Jul 23 23:35:56 2015 +0300 net/mlx5e: Support ETH_RSS_HASH_XOR The ConnectX-4 HW implements inverted XOR8. To make it act as XOR we re-order the HW RSS indirection table. Set XOR to be the default RSS hash function and add ethtool API to control it. Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fda19e83fb615edb1555e7a07130695cf0073d20 Merge: ea6f82f 5be4001e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 27 00:18:40 2015 -0700 Merge branch 'netcp-next' WingMan Kwok says: ==================== net: netcp: Bug fixes of CPSW statistics collection This patch set contains bug fixes and enhencements of hw ethernet statistics processing on TI's Keystone2 CPSW ethernet switches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5be4001eccb954da7f8ae68248167d3dbb6e7177 Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:24 2015 -0400 net: netcp: Adds missing statistics for K2L and K2E This patch adds the missing statistics for the host and slave ports of the CPSW on K2L and K2E platforms. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 489e8a2f09d772afc98a85ca477bb6bc52400c26 Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:23 2015 -0400 net: netcp: Fixes to CPSW statistics collection In certain applications it's beneficial to allow the CPSW h/w stats counters to continue to increment even while the kernel polls them. This patch implements this behavior for both 1G and 10G ethernet subsystem modules. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fbf64c1915b964c05edd4434250fbbb31ded38c6 Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:22 2015 -0400 net: netcp: Consolidates statistics collection code Different Keystone2 platforms have different number and layouts of hw statistics modules. This patch consolidates the statistics processing of different Keystone2 platforms for easy maintenance. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 208c6b9a49df8b69ab698d9f53d40d25f143dbde Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:21 2015 -0400 net: netcp: Fixes error in oversized memory allocation for statistics storage The CPSW driver keeps internally some, but not all, of the statistics available in the hw statistics modules. Furthermore, some of the locations in the hw statistics modules are reserved and contain no useful information. Prior to this patch, the driver allocates memory of the size of the the whole hw statistics modules, instead of the size of statistics-entries-interested-in (i.e. et_stats), for internal storage. This patch fixes that. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a94bcd09c554e8df3a32ef3f25ecfd74e73b9651 Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:20 2015 -0400 net: netcp: Fixes hw statistics module base setting error This patch fixes error in the setting of the hw statistics module base for K2HK platform. In K2HK although there are 4 hw statistics modules, but only 2 are visible at a time. Thus when setting up the pointers to the base of the corresponding hw statistics modules, modules 0 and 2 should point to one base, while modules 1 and 3 should point to the other. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0f54edbe26fbe8194d7e72c24c49f7b1c9c547f Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:19 2015 -0400 net: netcp: Fixes the use of spin_lock_bh in timer function This patch fixes a bug in which the timer routine synchronized against the ethtool-triggered statistics updates with spin_lock_bh(). A timer function is itself a bottom-half, so this should be spin_lock(). Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0aef3997e12a10d4dfb6e01133e2fe478b9aa5eb Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 23 15:52:21 2015 -0700 irqchip/bcm7120-l2: Fix interrupt status for multiple parent IRQs Our irq-bcm7120-l2 interrupt controller driver utilizes the same handler function for the different parent interrupts it services: UPG_MAIN, UPG_BSC for instance. The problem is that function reads the IRQSTAT register which can combine interrupt causes for different parent interrupts, such that we can end-up in the following situation: - CPU takes an interrupt - bcm7120_l2_intc_irq_handle() reads IRQSTAT - generic_handle_irq() is invoked - there are still pending interrupts flagged in IRQSTAT from a different parent - handle_bad_irq() is invoked for these since they come from a different irq_desc/irq In order to fix this, make sure that we always mask IRQSTAT with the appropriate bits that correspond go the parent interrupt source this is coming from. To simplify things, associate an unique structure per parent interrupt handler to avoid multiplying the number of lookups. Fixes: a5042de2688d ("irqchip: bcm7120-l2: Add Broadcom BCM7120-style Level 2 interrupt controller") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: cernekee@xxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Cc: gregory.0xf0@xxxxxxxxx Cc: computersforpeace@xxxxxxxxx Link: http://lkml.kernel.org/r/1437691941-3100-1-git-send-email-f.fainelli@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fd537766715e9b6bf7ff07abb22f4817201433db Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Jul 22 16:21:40 2015 -0700 irqchip/bcm7120-l2: Perform suspend/resume even without installed child IRQs Make use of the new irq_chip_generic suspend/resume callbacks. This is required because if there are no installed child IRQs for this chip, the irq_chip::irq_{suspend,resume} functions will not be called. However, we still need to save/restore the forwarding mask, to enable the top-level GIC interrupt; otherwise, we lose UART output after S3 resume. In addition to refactoring the callbacks, we have to self-initialize the mask cache, since the genirq core also doesn't initialize this until the first child IRQ is installed. The original problem report is described in extra detail here: http://lkml.kernel.org/g/20150619224123.GL4917@ld-irv-0074 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Gregory Fong <gregory.0xf0@xxxxxxxxx> Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437607300-40858-2-git-send-email-computersforpeace@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit be9b22b6a7e6725162c64155a08b71f0654b675c Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Jul 22 16:21:39 2015 -0700 genirq: Add chip_[suspend|resume] PM support to irq_chip Some (admittedly odd) irqchips perform functions that are not directly related to any of their child IRQ lines, and therefore need to perform some tasks during suspend/resume regardless of whether there are any "installed" interrupts for the irqchip. However, the current generic-chip framework does not call the chip's irq_{suspend,resume} when there are no interrupts installed (this makes sense, because there are no irq_data objects for such a call to be made). More specifically, irq-bcm7120-l2 configures both a forwarding mask (which affects other top-level GIC IRQs) and a second-level interrupt mask (for managing its own child interrupts). The former must be saved/restored on suspend/resume, even when there's nothing to do for the latter. This patch adds a new set of suspend/resume hooks to irq_chip_generic, to help represent *chip* suspend/resume, rather than IRQ suspend/resume. These callbacks will always be called for an IRQ chip (regardless of the installed interrupts) and are based on the per-chip irq_chip_generic struct, rather than the per-IRQ irq_data struct. The original problem report is described in extra detail here: http://lkml.kernel.org/g/20150619224123.GL4917@ld-irv-0074 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Gregory Fong <gregory.0xf0@xxxxxxxxx> Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437607300-40858-1-git-send-email-computersforpeace@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c376023b7096e76ac4d5526105cf9be8743bead9 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Fri Jul 24 15:24:45 2015 -0400 irqchip: Appropriate __init annotation for const data Init data marked const should be annotated with __initconst for correctness and not __initdata. And for those already __initconst, they should be qualified as const at the compiler level too. This also fixes LTO builds that otherwise fail with section mismatch errors. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/alpine.LFD.2.20.1507241511551.1806@xxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1ee4fb3ee1e47f2b3c294ded383a3cd9cc2decd4 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jul 22 12:43:04 2015 -0700 genirq: Export irq_[get|set]_irqchip_state() Export these functions to be able to build the Qualcomm family A PMIC gpio and mpp drivers as modules. [ tglx: Made them GPL exports ] Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <kernel-build-reports@xxxxxxxxxxxxxxxx> Cc: <linaro-kernel@xxxxxxxxxxxxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437594184-22966-1-git-send-email-bjorn.andersson@xxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0d3f2c92e004c67404fabea19728c1962b777bd6 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jul 15 15:38:29 2015 +0100 irqchip/gic: Remove redundant gic_set_irqchip_flags Now that the GIC chip implementation enables IRQCHIP_SKIP_SET_WAKE and IRQCHIP_MASK_ON_SUSPEND by default, the platforms requiring them need not override the irqchip flags as before. This patch removes all the users of gic_set_irqchip_flags and the function itself. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436971109-20189-2-git-send-email-sudeep.holla@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit aec89ef72ba6c94420f599dcb684ed66937cdacf Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jul 15 15:38:28 2015 +0100 irqchip/gic: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND The GIC controller doesn't provides any facility to configure the wakeup sources. For the same reason, GIC chip implementation can't provide irq_set_wake functionality, but that results in the irqchip core preventing the systems from entering sleep states like "suspend to RAM". The GICv1/v2 controllers support wakeup events. They signal these wakeup events even when CPU interface is disabled which means the wakeup outputs are always enabled with the required logic in always-on domain. An implementation can powerdown the GIC completely, but then the wake-up must be relayed to some control logic within the power controller that acts as wake-up interrupt controller. Setting the IRQCHIP_SKIP_SET_WAKE flags will ensure that the interrupts from GIC can work as wakeup interrupts and resume from suspend-to-{idle, ram}. The wakeup interrupt sources need to use enable_irq_wake() and the irqchip core will then set the IRQD_WAKEUP_STATE flag. Also it's always safer to mask all the non wakeup interrupts are masked at the chip level when suspending. The irqchip infrastructure can handle masking of those interrupts at the chip level. The chip implementation just have to indicate that with IRQCHIP_MASK_ON_SUSPEND. This patch enables IRQCHIP_SKIP_SET_WAKE and IRQCHIP_MASK_ON_SUSPEND so that the irqchip core allows and handles the power managemant wake up modes. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436971109-20189-1-git-send-email-sudeep.holla@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ea6f82fe37319675e271dd6b55fb37731eef0e46 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Jul 23 22:41:14 2015 +0530 cxgb4vf: Read correct FL congestion threshold for T5 and T6 VF driver was reading incorrect freelist congestion notification threshold for FLM queues when packing is enabled for T5 and T6 adapter. Fixing it now. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e0910bace663b78c026b73bbd711a24ccf410531 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Jul 23 15:43:56 2015 +0200 lwtunnel: export linux/lwtunnel.h to userspace Note also that include/linux/lwtunnel.h is not needed. CC: Thomas Graf <tgraf@xxxxxxx> CC: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Fixes: 499a24256862 ("lwtunnel: infrastructure for handling light weight tunnels like mpls") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0322f7f1e2165fbf83530a424ef6ebeacbf4bca Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 13:50:28 2015 +0530 powerpc/perf: Change type of the bhrb_users variable This patch just changes data type of bhrb_users variable from int to unsigned int because it never contains a negative value. Reported-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 949f1e39a6177503349ef8adeedd13fa1c89e5dd Author: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 23 05:00:53 2015 -0700 bridge: mdb: notify on router port add and del Send notifications on router port add and del/expire, re-use the already existing MDBA_ROUTER and send NEWMDB/DELMDB netlink notifications respectively. Signed-off-by: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 597798e438371128519fa94dacdc42311b4254a6 Author: Thomas Graf <tgraf@xxxxxxx> Date: Thu Jul 23 13:04:44 2015 +0200 openvswitch: Retrieve tunnel metadata when receiving from vport-netdev Retrieve the tunnel metadata for packets received by a net_device and provide it to ovs_vport_receive() for flow key extraction. [This hunk was in the GRE patch in the initial series and missed the cut for the initial submission for merging.] Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ece39ab9a91aa37090c8fbfe64c240f27ad9f1a Author: Harini Katakam <harini.katakam@xxxxxxxxxx> Date: Thu Jul 23 15:44:25 2015 +0530 net: macb: Change capability mask for jumbo support JUMBO and NO_GIGABIT_HALF have the same capability masks. Change one of them. Signed-off-by: Harini Katakam <harinik@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2661371ace963280f34fe583d4a6697afecd87d5 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Jul 23 11:29:07 2015 +0200 openvswitch: fix compilation when vxlan is a module With CONFIG_VXLAN=m and CONFIG_OPENVSWITCH=y, there was the following compilation error: LD init/built-in.o net/built-in.o: In function `vxlan_tnl_create': .../net/openvswitch/vport-netdev.c:322: undefined reference to `vxlan_dev_create' make: *** [vmlinux] Error 1 CC: Thomas Graf <tgraf@xxxxxxx> Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88f643203668b95b884b60b45ff182289153843c Author: Julian Anastasov <ja@xxxxxx> Date: Thu Jul 23 10:39:35 2015 +0300 ipv4: be more aggressive when probing alternative gateways Currently, we do not notice if new alternative gateways are added. We can do it by checking for present neigh entry. Also, gateways that are currently probed (NUD_INCOMPLETE) can be skipped from round-robin probing. Suggested-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48fb6b554501914b6befcf9b38292cbeb91de330 Author: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> Date: Wed Jul 22 18:13:12 2015 -0700 ipv6: fix crash over flow-based vxlan device Similar check was added in ip_rcv but not in ipv6_rcv. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff81734e0a>] ipv6_rcv+0xfa/0x500 Call Trace: [<ffffffff816c9786>] ? ip_rcv+0x296/0x400 [<ffffffff817732d2>] ? packet_rcv+0x52/0x410 [<ffffffff8168e99f>] __netif_receive_skb_core+0x63f/0x9a0 [<ffffffffc02b34a0>] ? br_handle_frame_finish+0x580/0x580 [bridge] [<ffffffff8109912c>] ? update_rq_clock.part.81+0x1c/0x40 [<ffffffff8168ed18>] __netif_receive_skb+0x18/0x60 [<ffffffff8168fa1f>] process_backlog+0x9f/0x150 Fixes: ee122c79d422 (vxlan: Flow based tunneling) Signed-off-by: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ac9de5f656352b24ab2cb3e925f078c8c809a19 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Jul 22 17:29:53 2015 -0700 net: bcmgenet: Register link_update callback for all MoCA PHYs Commit 8d88c6ebb34c ("net: bcmgenet: enable MoCA link state change detection") added a fixed PHY link_update callback for MoCA PHYs when registered using platform_data exclusively, this change is also applicable to systems using Device Tree as their primary configuration interface. In order for this to work, move the link_update assignment into bcmgenet_moca_phy_setup() where we know for sure that we are running on a MoCA GENET instance, and do not override phydev->link since this is: - properly taken care of by the PHY library by getting the link UP/DOWN interrupts - this now runs everytime we call bcmgenet_open(), so we need to preserve whatever we detected before we went administratively DOWN and then UP - we need to make sure that MoCA PHYs start with a link DOWN during probe in order to force a link transition to occur To avoid a forward declaration, move bcmgenet_fixed_phy_link_update() above its caller. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d5d3075b5910cff7b33a68d3b065566fece4ba1 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Jul 22 17:28:23 2015 -0700 net: bcmgenet: Remove checks on clock handles Instead of multiplying the number of checks for IS_ERR(priv->clk), simply NULLify the 'struct clk' pointer which is something the Linux common clock framework perfectly deals with and does early return for each and every single clk_* API functions. Having every single function check for !IS_ERR(priv->clk) is both redundant and error prone, as it turns out, we were doing it for the main GENET clock: priv->clk, but not for the Wake-on-LAN or EEE clock, so let's just be consistent here. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3e6b82a0099dfef038e40c630a554ed1e402504 Author: KY Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Jul 22 11:42:32 2015 -0700 hv_netvsc: Wait for sub-channels to be processed during probe The current code returns from probe without waiting for the proper handling of subchannels that may be requested. If the netvsc driver were to be rapidly loaded/unloaded, we can trigger a panic as the unload will be tearing down state that may not have been fully setup yet. We fix this issue by making sure that we return from the probe call only after ensuring that the sub-channel offers in flight are properly handled. Reviewed-and-tested-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 402b764533e9d973952573df7ff96c41189e1a14 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Jul 22 22:54:50 2015 +0530 cxgb4: Allow firmware flash, only if cxgb4 is the master driver Adapter can go for a toss, if cxgb4 is loaded as slave and we try to upgrade the firmware. So add a check for the same before flashing firmware using ethtool. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b6948dda798637aea237df0d0c8bcba8fa653bc Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Jul 22 17:08:42 2015 +0200 vxlan: Use proper endian type for vni in vxlan[6]_xmit_skb Silences the following sparse warnings: drivers/net/vxlan.c:1818:21: warning: incorrect type in assignment (different base types) drivers/net/vxlan.c:1818:21: expected restricted __be32 [usertype] vx_vni drivers/net/vxlan.c:1818:21: got unsigned int [unsigned] [usertype] vni drivers/net/vxlan.c:2014:58: warning: incorrect type in argument 11 (different base types) drivers/net/vxlan.c:2014:58: expected unsigned int [unsigned] [usertype] vni drivers/net/vxlan.c:2014:58: got restricted __be32 [usertype] <noident> Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d70ec70ef3b5e3e5536d21d8fc82b25aba62d97 Merge: a69e5a0 cda3696 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Jul 26 16:31:50 2015 -0700 Merge branch 'tipc' Jon Maloy says: ==================== tipc: clean up socket message reception Despite recent improvements the message reception code in socket.c is perceived as obscure and hard to follow, especially regarding the logics for message rejection. With the commits in this series we try to remedy this situation. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cda3696d3d26eb798c94de0dab5bd66ddb5627cb Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Jul 22 10:11:20 2015 -0400 tipc: clean up socket layer message reception When a message is received in a socket, one of the call chains tipc_sk_rcv()->tipc_sk_enqueue()->filter_rcv()(->tipc_sk_proto_rcv()) or tipc_sk_backlog_rcv()->filter_rcv()(->tipc_sk_proto_rcv()) are followed. At each of these levels we may encounter situations where the message may need to be rejected, or a new message produced for transfer back to the sender. Despite recent improvements, the current code for doing this is perceived as awkward and hard to follow. Leveraging the two previous commits in this series, we now introduce a more uniform handling of such situations. We let each of the functions in the chain itself produce/reverse the message to be returned to the sender, but also perform the actual forwarding. This simplifies the necessary logics within each function. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bcd3ffd4f6d7c994c93be2ab8598fdfb2952a1f1 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Jul 22 10:11:19 2015 -0400 tipc: introduce new tipc_sk_respond() function Currently, we use the code sequence if (msg_reverse()) tipc_link_xmit_skb() at numerous locations in socket.c. The preparation of arguments for these calls, as well as the sequence itself, makes the code unecessarily complex. In this commit, we introduce a new function, tipc_sk_respond(), that performs this call combination. We also replace some, but not yet all, of these explicit call sequences with calls to the new function. Notably, we let the function tipc_sk_proto_rcv() use the new function to directly send out PROBE_REPLY messages, instead of deferring this to the calling tipc_sk_rcv() function, as we do now. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29042e19f2c602fabe4705b5b719550b4627639c Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Jul 22 10:11:18 2015 -0400 tipc: let function tipc_msg_reverse() expand header when needed The shortest TIPC message header, for cluster local CONNECTED messages, is 24 bytes long. With this format, the fields "dest_node" and "orig_node" are optimized away, since they in reality are redundant in this particular case. However, the absence of these fields leads to code inconsistencies that are difficult to handle in some cases, especially when we need to reverse or reject messages at the socket layer. In this commit, we concentrate the handling of the absent fields to one place, by letting the function tipc_msg_reverse() reallocate the buffer and expand the header to 32 bytes when necessary. This means that the socket code now can assume that the two previously absent fields are present in the header when a message needs to be rejected. This opens up for some further simplifications of the socket code. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90a21700ed9635070fb04fe92fb50c5e3bc16605 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:34:58 2015 -0700 drm: Fix DP_TEST_COUNT_MASK By Vesa's DP 1.2 Spec this counter has 4 bits [3:0]. This mask is wrong since when the counter was introduced by myself on commit ad9dc91b6e21266bfc6f466db4b95e10211f31ee Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Sep 16 19:18:12 2014 -0400 drm/i915: Fix Sink CRC Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7dd0e0af64afe4aa08ccdd167f64bd007f09b515 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed May 27 17:11:37 2015 -0400 intel_idle: allow idle states to be freeze-mode specific intel_idle uses a NULL "enter" field in a cpuidle state to recognize the invalid entry terminating a variable-length array. Linux-4.0 added support for the system-wide "freeze" state in cpuidle drivers via the new "enter_freeze" field. The natural way to expose a deep idle state for freeze, but not for run-time idle is to supply "enter_freeze" without "enter"; so we update the driver to accept such states. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 92ff7a698badec3938edd3ba6b3e3ae035555365 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Jul 25 21:10:27 2015 +0200 bcma: fix build error when build as module Currently of_default_bus_match_table is not exported so we can only use this feature when bcma is build into the kernel. This patch removes support for child buses when bcma is build as a module as a temporary fix for a build problem introduces in this commit: commit cae761b5a6bdc597ba476a040fdcd5b4bc559b85 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Jun 28 17:17:13 2015 +0200 bcma: populate bus DT subnodes as platform_device-s Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Fixes: cae761b5a6bd ("bcma: populate bus DT subnodes as platform_device-s") Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit df6e23ae62d46a524ba3db95a201904a01419bdc Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:31:12 2015 +0000 avr32/irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713100606.527106283@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4f31dd63e050b777d3f3139197c4b3860aa89301 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:31:10 2015 +0000 avr32/at32ap: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Link: http://lkml.kernel.org/r/20150713100606.448031045@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4365160def95ef2f5da9b5cc5660e5747e5e1956 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:31:09 2015 +0000 avr32/at32ap: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Link: http://lkml.kernel.org/r/20150713100606.351640193@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3cbd6a6ca81c9e8438b592099495a7c2b72de9e3 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 13:55:51 2015 +0200 ARM: mvebu: Add standby support Until now only one Armada XP and one Armada 388 based board supported suspend to ram. However, most of the recent mvebu SoCs can support the standby mode. Unlike for the suspend to ram, nothing special has to be done for these SoCs. This patch allows the system to use the standby mode on Armada 370, 38x, 39x and XP SoCs. There are issues with the Armada 375, and the support might be added (if possible) in a future patch. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit bb253e743affa9d0053add8d3a1089df82f1c854 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 13:55:50 2015 +0200 ARM: mvebu: Use __init for the PM initialization functions mvebu_pm_init and mvebu_armada_pm_init are only called during boot, so flag them with __init and save some memory. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 32f9494c9dfd7494721b314897008dcde6415cb3 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 17:02:33 2015 +0200 ARM: mvebu: prepare pm-board.c for the introduction of Armada 38x support The pm-board.c code contains the board-specific logic to enter suspend to RAM. Until now, the code supported only the Armada XP GP board, so all functions and symbols were named with armada_xp_gp. However, it turns out that the Armada 388 GP also uses the same 3 GPIOs protocol to talk to the PIC microcontroller that controls the power supply. Since we are going to re-use the same code with no change for Armada 38x, this commit renames the functions and symbols to use just "armada" instead of "armada_xp_gp". Better names can be found if one day other boards having a different protocol/mechanism are supported in the kernel. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 88ed69f2a1e1e8e5eb9e16d8cdebd9d5f1deef67 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 17:02:32 2015 +0200 ARM: mvebu: prepare mvebu_pm_store_bootinfo() to support multiple SoCs As we are going to introduce support for Armada 38x in pm.c, split out the Armada XP part of mvebu_pm_store_bootinfo() into mvebu_pm_store_armadaxp_bootinfo(), and make the former retunr an error when an unsupported SoC is used. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a101b53d3af16255c0038aad26902be590a96ffa Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 17:02:31 2015 +0200 ARM: mvebu: do not check machine in mvebu_pm_init() The mvebu_pm_init() initializes the support for suspend/resume, and before doing that, it checks if we are on a board on which suspend/resume is actually supported. However, this check is already done by mvebu_armada_xp_gp_pm_init(), and there is no need to duplicate the check: callers of mvebu_pm_init() should now what they are doing. This commit is done in preparation to the addition of suspend/resume support on Armada 38x. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 01049a5deb1d6b9fc3f2df512af09fddd0db6730 Author: Nadav Haklai <nadavh@xxxxxxxxxxx> Date: Wed Jul 8 17:02:30 2015 +0200 ARM: mvebu: prepare set_cpu_coherent() for future extension This patch prepares the set_cpu_coherent() function in coherency.c to be extended to support other SoCs than Armada XP. It will be needed on Armada 38x to re-enable the coherency after exiting from suspend to RAM. This preparation simply moves the function further down in coherency.c so that it can use coherency_type(), and uses that function to only do the Armada XP specific work if we are on Armada XP. Signed-off-by: Nadav Haklai <nadavh@xxxxxxxxxxx> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 3fa609755c11fbe8770ede4d895ebb86fb7b9f1e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 00:38:08 2015 +0100 ARM: omap2: restore OMAP4 barrier behaviour Restore the OMAP4 barrier behaviour using the new implementation which allows multiplatform systems to hook into the mb() and wmb() ARM implementations to perform any necessary additional barrier maintanence. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Richard Woodruff <r-woodruff2@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f746929ffdc8a83c0e6092343d4475f6485e13d3 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 00:13:40 2015 +0100 Revert "ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688" This reverts commit 606da4826b89b044b51e3a84958b802204cfe4c7. We actually need this code for proper behaviour of OMAP4, and it needs fixing a different way other than just removing the code. Disabling code which is necessary in the hopes of persuing multiplatform kernels is a stupid approach. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Richard Woodruff <r-woodruff2@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4e1f8a6f1d978f033f1751e2887b3a69fab3f878 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jun 3 13:10:16 2015 +0100 ARM: add soc memory barrier extension Add an extension to the heavy barrier code to allow a SoC specific memory barrier function to be provided. This is needed for platforms where the interconnect has weak ordering, and thus needs assistance to ensure that memory writes are properly visible in the correct order to other parts of the system. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Richard Woodruff <r-woodruff2@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f81309067ff2d84788316c513a415f6bb8c9171f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 1 23:44:46 2015 +0100 ARM: move heavy barrier support out of line The existing memory barrier macro causes a significant amount of code to be inserted inline at every call site. For example, in gpio_set_irq_type(), we have this for mb(): c0344c08: f57ff04e dsb st c0344c0c: e59f8190 ldr r8, [pc, #400] ; c0344da4 <gpio_set_irq_type+0x230> c0344c10: e3590004 cmp r9, #4 c0344c14: e5983014 ldr r3, [r8, #20] c0344c18: 0a000054 beq c0344d70 <gpio_set_irq_type+0x1fc> c0344c1c: e3530000 cmp r3, #0 c0344c20: 0a000004 beq c0344c38 <gpio_set_irq_type+0xc4> c0344c24: e50b2030 str r2, [fp, #-48] ; 0xffffffd0 c0344c28: e50bc034 str ip, [fp, #-52] ; 0xffffffcc c0344c2c: e12fff33 blx r3 c0344c30: e51bc034 ldr ip, [fp, #-52] ; 0xffffffcc c0344c34: e51b2030 ldr r2, [fp, #-48] ; 0xffffffd0 c0344c38: e5963004 ldr r3, [r6, #4] Moving the outer_cache_sync() call out of line reduces the impact of the barrier: c0344968: f57ff04e dsb st c034496c: e35a0004 cmp sl, #4 c0344970: e50b2030 str r2, [fp, #-48] ; 0xffffffd0 c0344974: 0a000044 beq c0344a8c <gpio_set_irq_type+0x1b8> c0344978: ebf363dd bl c001d8f4 <arm_heavy_mb> c034497c: e5953004 ldr r3, [r5, #4] This should reduce the cache footprint of this code. Overall, this results in a reduction of around 20K in the kernel size: text data bss dec hex filename 10773970 667392 10369656 21811018 14ccf4a ../build/imx6/vmlinux-old 10754219 667392 10369656 21791267 14c8223 ../build/imx6/vmlinux-new Another advantage to this approach is that we can finally resolve the issue of SoCs which have their own memory barrier requirements within multiplatform kernels (such as OMAP.) Here, the bus interconnects need additional handling to ensure that writes become visible in the correct order (eg, between dma_map() operations, writes to DMA coherent memory, and MMIO accesses.) Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Richard Woodruff <r-woodruff2@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9e07b491bc004259e42739ecd7483ab5a0b8b150 Author: Roger Shimizu <rogershimizu@xxxxxxxxx> Date: Tue Jul 21 23:49:17 2015 +0900 ARM: defconfig: orion5x: add DT support - add 2 DT device entries - enable CONFIG_ARM_ATAG_DTB_COMPAT Signed-off-by: Roger Shimizu <rogershimizu@xxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit dc57844a736f10bf3799d63d7c0d0efc29b1ad7d Author: Roger Shimizu <rogershimizu@xxxxxxxxx> Date: Tue Jul 21 23:49:16 2015 +0900 ARM: dts: orion5x: add buffalo linkstation ls-wtgl Add dts file to support Buffalo Linkstation LS-WTGL, which is marvell orion5x based 2-bay 3.5" HDD NAS. Product info: - (JPN) http://buffalo.jp/products/catalog/storage/ls-wtgl_r1/ - (ENG) http://www.buffalotech.com/support-and-downloads/download/LinkStation_Pro_Duo_Manual_web.pdf Signed-off-by: Roger Shimizu <rogershimizu@xxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 219bf1599e1f6c0cbdc2fe775a97c00bf1ae392d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:26:27 2015 +0900 phy: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 511fdecc9bc98c7b498e72b0dfe8f34481334e4c Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:38:10 2015 +0900 phy: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 2508aaed39c94f61c11ee66787ed4702c8afbc67 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Jun 24 10:40:55 2015 +0200 phy: berlin: Trivial coding style cleanup Remove unneeded space after tab. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 456dedc9e70d2d99b928d215baa881c03369c613 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Jun 24 10:40:54 2015 +0200 phy: berlin: Do not use sata name in usb phy driver copy and paste error from berlin sata phy driver. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 2c89e41f03fa9798405e07bae95760fc86a1068f Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Jun 24 10:40:53 2015 +0200 phy: berlin: .owner field is setup by core There was big cleanup in past to remove this unneeded setting. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 8665c18bece7965c3690ac3824bef2f97bae3d71 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:51 2015 +0200 phy-sun4i-usb: Add support for monitoring vbus via a power-supply On some boards there is no vbus_det gpio pin, instead vbus-detection for otg can be done via the pmic. This commit adds support for monitoring vbus_det via the power_supply exported by the pmic, enabling support for otg on these boards. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1aedf3a7a47b8bbd38c147eeb0c83816c5590215 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:50 2015 +0200 phy-sun4i-usb: Add support for boards with broken Vusb-detection On some boards we cannot detect the presence of an external Vusb, because e.g. the 5V of the otg connector is directly connected to the 5V of the board, and thus is always high. This commit adds support for using such boards by only looking at the id-detection pin. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit fc1f45ed3043da3aa901e88a9ef0995bbd320698 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:49 2015 +0200 phy-sun4i-usb: Add support for the usb-phys on the sun8i-a33 SoC The usb-phys on the sun8i-a33 SoC are mostly the same as sun8i-a23 but for some reason (hw bug?) the phyctl register was moved to a different address and is not initialized to 0 on reset. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 123dfdbcfaf5eb8753cd6293ab50c41e9b8e9ebf Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:48 2015 +0200 phy-sun4i-usb: Add support for the usb-phys on the sun8i-a23 SoC The usb-phys on the sun8i-a23 SoC have the same setup wrt clocks as on the sun6i-a31 SoC, but there are only 2 instead of 3 like on the sun5i-a13 SoC. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 2846469631393a1cf150f17a99b8ca2b5772b255 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:47 2015 +0200 phy-sun4i-usb: Swap check for disconnect threshold Before this commit the code for determining the disconnect threshold was checking for "allwinner,sun4i-a10-usb-phy" or "allwinner,sun6i-a31-usb-phy" assuming that those where the exception and then newer SoCs would use a disconnect threshold of 2 like sun7i does. But it turns out that newer SoCs use a disconnect threshold of 3 and sun5i and sun7i are the exceptions, so check for those instead. Here are the settings from the various Allwinner SDK sources: sun4i-a10: USBC_Phy_Write(usbc_no, 0x2a, 3, 2); sun5i-a13: USBC_Phy_Write(usbc_no, 0x2a, 2, 2); sun6i-a31: USBC_Phy_Write(usbc_no, 0x2a, 3, 2); sun7i-a20: USBC_Phy_Write(usbc_no, 0x2a, 2, 2); sun8i-a23: USBC_Phy_Write(usbc_no, 0x2a, 3, 2); sun8i-h3: USBC_Phy_Write(usbc_no, 0x2a, 3, 2); sun9i-a80: USBC_Phy_Write(usbc_no, 0x2a, 3, 2); Note this commit makes no functional changes as currently we only support sun4i - sun7i. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1a52abe6821da728b41187c6676b6ab7294e6e2c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:46 2015 +0200 phy-sun4i-usb: Add extcon support for the otg phy (phy0) The sunxi musb glue needs to know if a host or normal usb cable is plugged in, add extcon support so that the musb glue can monitor the host status. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit d2332303efc00d35af7f3d8b025663965862b0e3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:45 2015 +0200 phy-sun4i-usb: Add id and vbus detection support for the otg phy (phy0) The usb0 phy is connected to an OTG controller, and as such needs some special handling: 1) It allows explicit control over the pullups, enable these on phy_init and disable them on phy_exit. 2) It has bits to signal id and vbus detect to the musb-core, add support for for monitoring id and vbus detect gpio-s for use in dual role mode, and set these bits to the correct values for operating in host only mode when no gpios are specified in the devicetree. While updating the devicetree binding documentation also add documentation for the sofar undocumented usage of regulators for vbus for all 3 phys. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 2d69a115a991fb7400c501dc643c47ca54cc4045 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 9 22:48:26 2015 +0200 phy: dt bindings: add NXP LPC18xx/43xx USB OTG PHY bindings Add binding documentation for NXP LPC18xx/43xx USB OTG PHY. This PHY can found on NXP LPC18xx and LPC43xx devices with USB support. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit cbf919bd32d9424be8b77dac06fd90cd0a297562 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 9 22:48:25 2015 +0200 phy: add lpc18xx usb otg phy driver Add PHY driver for the internal USB OTG PHY found on NXP LPC18xx and LPC43xx devices. This driver takes care of enabling the PHY in CREG (syscon) and setting the required clock frequency. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a69e5a0dcfa4ea3e92b3cc0f17a39f1d88045c11 Merge: 6ca91c6 41a1d04 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Jul 25 00:14:46 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-07-23 This series contains updates to e1000e, igb, ixgbevf, i40e and i40evf. Emil extends the reporting of the RSS key and hash table by adding support for x550 VFs. Jia-Ju Bai fixes a QoS issue in e1000e where the error handling lacked a call to pm_qos_remove_request() to cleanup the QoS request made in e1000_open(). Todd updates igb to report unsupported for ethtool coalesce settings that are not supported. Also updated the driver to use the ARRAY_SIZE() macro. Carolyn fixes and refactors the dynamic ITR code for i40e and i40evf which would never change dynamically. So update the switch() statement to have a default case and switch on "new_latency_range" versus the current ITR setting. Shannon cleans up i40e code, where there were un-needed goto's. Also clean up error status messages that were causing some confusion in PHY and FCoE setup error reports. Mitch updates the virtual channel interface to prepare for the x722 device and other future devices, so that the VF driver can report what its capable of supporting to the PF driver. Updates the i40evf driver to handle resets like Core or EMP resets, where the device is reinitialized and the VF will not get the same VSI. Jesse updates the i40e and i40evf driver to use the kernel BIT() and BIT_ULL() macros. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ca91c604074788dfeb7dd714e74f0ad6bea8a77 Author: Rosen, Rami <rami.rosen@xxxxxxxxx> Date: Wed Jul 22 07:57:02 2015 +0300 bridge: Fix setting a flag in br_fill_ifvlaninfo_range(). This patch fixes setting of vinfo.flags in the br_fill_ifvlaninfo_range() method. The assignment of vinfo.flags &= ~BRIDGE_VLAN_INFO_RANGE_BEGIN has no effect and is unneeded, as vinfo.flags value is overriden by the immediately following vinfo.flags = flags | BRIDGE_VLAN_INFO_RANGE_END assignement. Signed-off-by: Rami Rosen <rami.rosen@xxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a155a5db9389c4088c0901e665002332f2503660 Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxxxxx> Date: Wed Jul 22 11:15:12 2015 +0530 be2net: support ndo_get_phys_port_id() Add be_get_phys_port_id() function to report physical port id. The port id should be unique across different be2net devices in the system. We use the chip serial number along with the physical port number for this. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e4c7588f6c1d24ae991a85140e05139e953c9b5 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 22:10:59 2015 -0500 ARM: socfpga: dts: add osc1 as a possible parent for dbg_base_clk The dbg_base_clk can also have osc1 has a parent. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 465345ca387ed491c467689ec2ac1ecbe1d84c3d Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 20:01:49 2015 -0700 powerpc/perf/hv-24x7: Simplify extracting counter from result buffer Simplify code that extracts a 24x7 counter from the HCALL's result buffer. Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 40386217cd7bc38908d65852c0af5cffe04bf7f4 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 20:01:48 2015 -0700 powerpc/perf/hv-24x7: Whitespace - fix parameter alignment Fix parameter alignment to be consistent with coding style. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 454d3a2500a4eb33be85dde3bfba9e5f6b5efadc Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Jul 22 17:59:11 2015 +0200 cpufreq: Remove cpufreq_rwsem cpufreq_rwsem was introduced in commit 6eed9404ab3c4 ("cpufreq: Use rwsem for protecting critical sections) in order to replace try_module_get() on the cpu-freq driver. That try_module_get() worked well until the refcount was so heavily used that module removal became more or less impossible. Though when looking at the various (undocumented) protection mechanisms in that code, the randomly sprinkeled around cpufreq_rwsem locking sites are superfluous. The policy, which is acquired in cpufreq_cpu_get() and released in cpufreq_cpu_put() is sufficiently protected already. cpufreq_cpu_get(cpu) /* Protects against concurrent driver removal */ read_lock_irqsave(&cpufreq_driver_lock, flags); policy = per_cpu(cpufreq_cpu_data, cpu); kobject_get(&policy->kobj); read_unlock_irqrestore(&cpufreq_driver_lock, flags); The reference on the policy serializes versus module unload already: cpufreq_unregister_driver() subsys_interface_unregister() __cpufreq_remove_dev_finish() per_cpu(cpufreq_cpu_data) = NULL; cpufreq_policy_put_kobj() If there is a reference held on the policy, i.e. obtained prior to the unregister call, then cpufreq_policy_put_kobj() will wait until that reference is dropped. So once subsys_interface_unregister() returns there is no policy pointer in flight and no new reference can be obtained. So that rwsem protection is useless. The other usage of cpufreq_rwsem in show()/store() of the sysfs interface is redundant as well because sysfs already does the proper kobject_get()/put() pairs. That leaves CPU hotplug versus module removal. The current down_write() around the write_lock() in cpufreq_unregister_driver() is silly at best as it protects actually nothing. The trivial solution to this is to prevent hotplug across cpufreq_unregister_driver completely. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1e574dbfadafd9fd1f2a414efb731d7538277e71 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 19:37:49 2015 -0600 toshiba_acpi: Change some variables to avoid warnings from ninja-check This patch changes some variables to avoid warnings from ninja-check. We are basically moving some variables inside the conditionals where such variables are being used, and we are checking the returned values of some others. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d50c9005d32b4eda6e11f7ec4f1b00a93088e0ca Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 19:37:46 2015 -0600 toshiba_acpi: Reorder toshiba_acpi_alt_keymap entries This patch simply reorders the entries found in the new keymap by ascending order, this is simply a cosmetic change, no functionality was modified. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d7e4f2e2ca392bce468718bcbba808108d81d501 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 19:37:47 2015 -0600 toshiba_acpi: Remove unused wireless defines Commit 2b74103547b4 ("toshiba_acpi: Remove bluetooth rfkill code") removed bluetooth related code, however, the wireless defines were not removed and are unused. This patch simply removes those defines as there is no code using them. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 695f6060903cefa08ffb78433136f51ac0f94488 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 18:09:13 2015 -0600 toshiba_acpi: Transflective backlight updates This patch changes the tr function second parameter from bool to u32, to be on par with the rest of the TCI functions of the driver, and the code was updated accordingly. Also, the check for translective support was moved to the *add function, as the {__get, set}_lcd_brightness functions make use of it. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit a88bc06e5aec4984f5bf01c6d410a0939134f737 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 18:09:12 2015 -0600 toshiba_acpi: Avoid registering input device on WMI event laptops Commit f11f999e9890 ("toshiba_acpi: Refuse to load on machines with buggy INFO implementations") denied loading on laptops with a WMI Event GUID given that such laptops manage the hotkeys via that interface, however, such laptops have a working Toshiba Configuration Interface (TCI), and thus, such commit denied several supported features. This patch avoids registering the input device and ignores all hotkey events on laptops with such WMI Event GUID, making the supported features found in those laptops to work. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit fc5462f8525b47fa219452289ecb22c921c16823 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 18:09:11 2015 -0600 toshiba_acpi: Add /dev/toshiba_acpi device There were previous attempts to "merge" the toshiba SMM module to the toshiba_acpi one, they were trying to imitate what the old toshiba module does, however, some models (TOS1900 devices) come with a "crippled" implementation and do not provide all the "features" a "genuine" Toshiba BIOS does. This patch adds a new device called toshiba_acpi, which aim is to enable userspace to access the SMM on Toshiba laptops via ACPI calls. Creating a new convenience _IOWR command to access the SCI functions by opening/closing the SCI internally to avoid buggy BIOS, while at the same time providing backwards compatibility. Older programs (and new) who wish to access the SMM on newer models can do it by pointing their path to /dev/toshiba_acpi (instead of /dev/toshiba) as the toshiba.h header was modified to reflect these changes as well as adds all the toshiba_acpi paths and command, however, it is strongly recommended to use the new IOCTL for any SCI command to avoid any buggy BIOS. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 7deef550f3a7d44c1d52a6d54f824e7e180c08ae Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 18:09:10 2015 -0600 toshiba_acpi: Adapt /proc/acpi/toshiba/keys to TOS1900 devices Since the introduction of TOS1900 devices support to the driver, the "keys" entry under the proc directory was broken, given that it only handled TOS620X devices accordingly. This patch adapts the code to show the hotkey values of TOS1900 devices too, and in case some programs are still using that interface, hotkeys reporting should now work on these devices. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 4ad2adc98f113d6c21d7bd365cd45ba88d4f7470 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Jul 24 09:37:14 2015 -0700 staging: lustre: Replace strtoul with simple_strtoul Defining and using strtoul in lustre code results in the following compile warnings (arm64:allmodconfig). include/linux/libcfs/libcfs_string.h:105:0: warning: "strtoul" redefined #define strtoul(str, endp, base) simple_strtoul(str, endp, base) include/acpi/platform/aclinux.h:122:0: note: this is the location of the previous definition #define strtoul simple_strtoul Remove the definition and use simple_strtoul() directly. Note that we can not replace simple_strtoul with kstrtoul since the end pointer is used by the code. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59cc3399efd61fabb7f4aa23d4498bd9b01e5f6d Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:56 2015 +0200 Staging: most: add MOST driver's documentation This patch adds the documentation to the MOST driver that describes its ABI interface and the basic usage. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4198cdf0c3460d767d0d36979cd633021c127a2 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:55 2015 +0200 Staging: most: add MOST driver's hdm-usb module This patch adds the hdm-usb module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles the USB interface of the MOST network interface controller. This patch is needed in order to use the USB peripheral interface of the network interface controller. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91a450ada852f8cb5fc8b9c7242a856cc7b31643 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:54 2015 +0200 Staging: most: add MOST driver's hdm-i2c module This patch adds the hdm-i2c module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles the I2C interface of the MOST network interface controller. This patch is needed in order to use the I2C peripheral interface of the network interface controller. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba3d7ddfb5c6a2529155ac24d7964adba8777419 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:53 2015 +0200 Staging: most: add MOST driver's hdm-dim2 module This patch adds the hdm-dim2 module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles the MediaLB interface of the MOST network interface controller. This patch is needed in order to use the MediaLB peripheral interface of the network interface controller. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d31c0cb6c127b1d943b610065a05decf821998c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:52 2015 +0200 Staging: most: add MOST driver's aim-v4l2 module This patch adds the aim-v4l2 module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles user space interaction by means of V4L2. This patch is needed in order to have access to MOST isochronous AVP data through V4L2 devices. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54b4856fb3624609dd5d9ed013bfec7d67083622 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:51 2015 +0200 Staging: most: add MOST driver's aim-sound module This patch adds the aim-sound module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles user space interaction by means of ALSA devices. This patch is needed in order to have access to MOST synchronous data through ALSA devices. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4a8ce7f57fc6333e4e5a23980f5265e00ed44ef Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:50 2015 +0200 Staging: most: add MOST driver's aim-network module This patch adds the aim-network module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles user space interaction by means of network devices. This patch is needed in order to have access to MOST Ethernet Packets (MEP) through a networking device. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9bc79bbcd0c526e3ec7b98e08c5d34648bb3c158 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:49 2015 +0200 Staging: most: add MOST driver's aim-cdev module This patch adds the aim-cdev module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles user space interaction by means of character devices. This patch is needed in order to have access to MOST data through character devices. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57562a72414ca35b2e614cfe0a1b1a7b7e7813dd Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:48 2015 +0200 Staging: most: add MOST driver's core module This patch adds the core module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles the configuration interface in sysfs, the buffer management and the data routing. MOST defines the protocol, hardware and software layers necessary to allow for the efficient and low-cost transport of control, real-time and packet data using a single medium (physical layer). Media currently in use are fiber optics, unshielded twisted pair cables (UTP) and coax cables. MOST also supports various speed grades up to 150 Mbps. For more information on MOST, visit the MOST Cooperation website: www.mostcooperation.com. Cars continue to evolve into sophisticated consumer electronics platforms, increasing the demand for reliable and simple solutions to support audio, video and data communications. MOST can be used to connect multiple consumer devices via optical or electrical physical layers directly to one another or in a network configuration. As a synchronous network, MOST provides excellent Quality of Service and seamless connectivity for audio/video streaming. Therefore, the driver perfectly fits to the mission of Automotive Grade Linux to create open source software solutions for automotive applications. The driver consists basically of three layers. The hardware layer, the core layer and the application layer. The core layer consists of the core module only. This module handles the communication flow through all three layers, the configuration of the driver, the configuration interface representation in sysfs, and the buffer management. For each of the other two layers a selection of modules is provided. These modules can arbitrarily be combined to meet the needs of the desired system architecture. A module of the hardware layer is referred to as an HDM (hardware dependent module). Each module of this layer handles exactly one of the peripheral interfaces of a network interface controller (e.g. USB, MediaLB, I2C). A module of the application layer is referred to as an AIM (application interfacing module). The modules of this layer give access to MOST via one the following ways: character devices, ALSA, Networking or V4L2. To physically access MOST, an Intelligent Network Interface Controller (INIC) is needed. For more information on available controllers visit: www.microchip.com Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db8499273e0110b2285f9190dcde5e8492d46076 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Jul 24 12:00:25 2015 -0400 staging: unisys: visornic - prevent NETDEV WATCHDOG timeouts after IO recovery After IO partition recovery, it was possible to get into a situation where a visornic device would repeatedly report: NETDEV WATCHDOG: eth0 (): transmit queue 0 timed out The actual problem would affect any visornic device that was rapidly transmitting at the same time the IO partition was being recovered. Once you hit the problem, the only way to resume use of the nic would be to reboot the Linux client partition. The problem was caused by chstat.sent_xmit and chstat.got_xmit_done NOT getting cleared during IO partition recovery. This is necessary because outstanding xmits would essentially be "abandoned" during such recovery. These fields are now cleared in virtnic_serverdown_complete(). Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81d275c6c37f075643fec3789ea3f3e4097cda41 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Jul 24 12:00:23 2015 -0400 staging: unisys: visornic - check visorchannel_signalinsert/remove failures Logic to check for failures of visorchannel_signalinsert() and visorchannel_signalremove() were added, and a new sent_post_failed counter tracks the number of times we failed to post a rcv buffer to the IO partition. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d79002e962466d455ae4933cd404cf5a1164894 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Jul 24 12:00:22 2015 -0400 staging: unisys: visornic - ensure proper net locking in tx reset logic visornic tx reset handling is done asynchronously via a workqueue in visornic_timeout_reset(). As a result, it needs to use rtnl_lock() / rtnl_unlock() to lock against possible simultaneous close() of the network device. (I consulted the bnx2 driver as a model here, as that driver also does its tx reset handling asynchronously, just like visornic does. See bnx2_tx_timeout() and bnx2_reset_task().) Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c03621a791499fdb47551693cd785f4fa5d03f8 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Fri Jul 24 12:00:21 2015 -0400 staging: unisys: Process more than one response per check When s-Par is in polling mode it checks every 2 ms to see if there is a response from the IO service partition in the queue. Currently it just reads one entry per 2 ms, this needs to be changed so it drains the queue on each check. Signed-off-by: David Kershner <david.kershner@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3abf4f984adaa4e6fadf9d135ccb915c51bda057 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 24 17:11:30 2015 +0200 staging: rtl8188eu: kill unused hal_data_8188e::fw_ractrl flag Flag is never set. Remove it and the code that is dead because of it. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4ba3b572b469684a3fc804bd2b93fbf848960ea Author: BuÅ£iu Alexandru Octavian <predator5047@xxxxxxxxx> Date: Fri Jul 24 00:13:27 2015 +0300 drivers: staging: rtl8188eu Refactored rtw_free_assoc_resources Refactored rtw_free_assoc_resources to avoid sparse warnings about different contexts for basic lock Signed-off-by: BuÅ£iu Alexandru Octavian <predator5047@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5143f7a3e970a1d0b6659cf41a3b46dd48a9bc6f Author: Ioan-Adrian Ratiu <adi@xxxxxxxxxx> Date: Thu Jul 23 16:24:10 2015 +0300 staging: rtl8192e: rtllib: fix macro style issue Remove macro and use explicit case statements. Code is a little longer but clearer. Checkpatch.pl does not complain anymore. Signed-off-by: Ioan-Adrian Ratiu <adi@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed2c2e060b6c3cd5fc42993011aa41c765ff1b2f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:47:02 2015 +0100 staging: comedi: usbduxsigma: round down AO scan_begin_arg at step 4. The return value of the `cmdtest` handler for a subdevice checks the prospective new command in various steps and returns the step number at which any problem was detected, or 0 if no problem was detected. It is allowed to modify the command in various ways at each step. Corrections for out-of-range values are generally made at step 3, and minor adjustments such as rounding are generally made at step 4. The `cmdtest` handler for the AO subdevice (`usbduxsigma_ao_cmdtest()`) currently range checks the timings at step 3. Since the running command will round down the timings, add code to round them down at step 4. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57befc33af0243e9b3835d46ab836406256f5dd4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:47:01 2015 +0100 staging: comedi: usbduxsigma: remove unused "convert" timing for AO The `cmdtest` and `cmd` handlers for the AO subdevice (`usbduxsigma_ao_cmdtest()` and `usbduxsigma_ao_cmd()`) support "scan" timing of commands with all channels updated every "scan" period. There is some disabled code to use "convert" timing in high speed mode. That would allow channels to be updated sequentially every "convert" period. Since that code is incomplete and currently disabled, remove it to simplify the existing code. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 333e40aee3f2d0457e2cbadc742619a6f449b2e7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:47:00 2015 +0100 staging: comedi: usbduxsigma: round down AI scan_begin_arg at step 4. The return value of the `cmdtest` handler for a subdevice checks the prospective new command in various steps and returns the step number at which any problem was detected, or 0 if no problem was detected. It is allowed to modify the command in various ways at each step. Corrections for out-of-range values are generally made at step 3, and minor adjustments such as rounding are generally made at step 4. The `cmdtest` handler for the AI subdevice (`usbduxsigma_ai_cmdtest()`) currently modifies `cmd->scan_begin_arg` to bring it into range and round it down at step 3. Move the rounding down part to step 4 to follow the usual Comedi convention. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12e1e6960130673aabbbe7f094c4690b00618881 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:46:59 2015 +0100 staging: comedi: usbduxsigma: remove AI scan_begin_src == TRIG_FOLLOW The AI subdevice `cmdtest` handler `usbduxsigma_ai_cmdtest()` ensures that `cmd->scan_begin_src == TRIG_TIMER` by the end of step 2 of the command checking code, so assume that this is the case for step 3 onwards and remove the redundant code. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c04a1f17803e0d3eeada586ca34a6b436959bc20 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:46:58 2015 +0100 staging: comedi: usbduxsigma: don't clobber ao_timer in command test `devpriv->ao_timer` is used while an asynchronous command is running on the AO subdevice. It also gets modified by the subdevice's `cmdtest` handler for checking new asynchronous commands, `usbduxsigma_ao_cmdtest()`, which is not correct as it's allowed to check new commands while an old command is still running. Fix it by moving the code which sets up `devpriv->ao_timer` into the subdevice's `cmd` handler, `usbduxsigma_ao_cmd()`. Note that the removed code in `usbduxsigma_ao_cmdtest()` checked that `devpriv->ao_timer` did not end up less that 1, but that could not happen due because `cmd->scan_begin_arg` or `cmd->convert_arg` had already been range-checked. Also note that we tested the `high_speed` variable in the old code, but that is currently always 0 and means that we always use "scan" timing (`cmd->scan_begin_src == TRIG_TIMER` and `cmd->convert_src == TRIG_NOW`) and never "convert" (individual sample) timing (`cmd->scan_begin_src == TRIG_FOLLOW` and `cmd->convert_src == TRIG_TIMER`). The moved code tests `cmd->convert_src` instead to decide whether "scan" or "convert" timing is being used, although currently only "scan" timing is supported. Fixes: fb1ef622e7a3 ("staging: comedi: usbduxsigma: tidy up analog output command support") Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.19 onwards Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 423b24c37dd5794a674c74b0ed56392003a69891 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:46:57 2015 +0100 staging: comedi: usbduxsigma: don't clobber ai_timer in command test `devpriv->ai_timer` is used while an asynchronous command is running on the AI subdevice. It also gets modified by the subdevice's `cmdtest` handler for checking new asynchronous commands (`usbduxsigma_ai_cmdtest()`), which is not correct as it's allowed to check new commands while an old command is still running. Fix it by moving the code which sets up `devpriv->ai_timer` and `devpriv->ai_interval` into the subdevice's `cmd` handler, `usbduxsigma_ai_cmd()`. Note that the removed code in `usbduxsigma_ai_cmdtest()` checked that `devpriv->ai_timer` did not end up less than than 1, but that could not happen because `cmd->scan_begin_arg` had already been checked to be at least the minimum required value (at least when `cmd->scan_begin_src == TRIG_TIMER`, which had also been checked to be the case). Fixes: b986be8527c7 ("staging: comedi: usbduxsigma: tidy up analog input command support) Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.19 onwards Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 142f2610d525c23afa5ba5e4e535504bea8b04b9 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 13:31:16 2015 -0700 ARM: qcom_defconfig: Enable options for KS8851 ethernet Enable the RPM and RPM regulator drivers as well as the KS8851 ethernet driver so that ethernet works on MSM8960 CDP. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit c37f45b5f1cdfcdc351d88950b32658c970582ca Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Jul 23 17:10:40 2015 +0800 spi: support spi without dma channel to use can_dma() For spi without dma channel and use can_dma(), it can use master->dev for struct device. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0a3dcb509ae7701ba3eaf470cad91827821daf41 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 24 16:11:25 2015 +0800 ASoC: Use params_width() at appropriate places Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 80deaf09cb3fb3939c1d2b84610ae411cd7c6001 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 19 12:32:52 2015 +0800 ASoC: cs4265: CS4265_INT_STATUS is readable register CS4265_INT_STATUS was missed in cs4265_readable_register, fix it. The register 0x01 ~ 0x12 are readable, use CS4265_CHIP_ID ... CS4265_SPDIF_CTL2 syntax for better readability. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2adfacde619d8e39dc8c02919bd2524d3c39588 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 17 14:41:55 2015 -0700 regulator: qcom-spmi: Add vendor specific configuration Add support for over current protection (OCP), pin control selection, soft start strength, and auto-mode. Cc: <devicetree@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 41dae91a7206d9a09047f3d376282bba4d9545b5 Merge: 5d506a5 3a003ba Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 24 18:29:31 2015 +0100 Merge branch 'topic/ocp' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-qcom-spmi commit 3a003baeec246f604ed1d2e0087560d7f15edcc6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 17 14:41:54 2015 -0700 regulator: Add over current protection (OCP) support Some regulators can automatically shut down when they detect an over current event. Add an op (set_over_current_protection) and a DT property + constraint to support this capability. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f74db105b1c0980c9863e7a7d1bc0525e0316e8 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Wed Jul 22 20:46:09 2015 +0200 spi: omap2-mcspi: add runtime PM to set_cs() Since commit ddcad7e9068eb omap2_mcspi_set_cs() is called without runtime power management requested. This patch fixes the problem by requesting runtime power management in omap2_mcspi_set_cs(). Reported-By: Pali Rohár <pali.rohar@xxxxxxxxx> Fixes: ddcad7e9068eb (spi: omap2-mcspi: Fix native cs with new set_cs) Tested-By: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa466c91970a0207d9384016cc7884a7f61834b6 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Wed Jul 22 07:32:22 2015 -0500 spi: davinci: Choose correct pre-scaler limit based on SOC Currently the pre-scaler limit is incorrect. The value differs slightly for various devices so a single value can't be used. Using the compatible field select the correct pre-scaler limit. Add new compatible field value for Keystone devices to support their unique pre-scaler limit value. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Reviewed-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bba732d86694f7217a41e83a2c1deb42ed9aa7fd Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Wed Jul 22 07:32:21 2015 -0500 spi: davinci: Set prescale value based on register value Within davinci_spi_get_prescale() the prescale has two meanings. First one being the calculated prescale value and then at the end translates it to the prescale value that will be written to the SPI register. At first glance this can be confusing especially when comparing the minimum prescale value against what is seen in the TRM. To simplify things make it clear that the calculated prescale value will always be based on the value that will be written into the SPI register. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6d0a1815e814ee5eaa0cec17913d5e4abae99ef0 Author: Andrew F. Davis <afd@xxxxxx> Date: Wed Jul 22 16:51:56 2015 -0500 power: bq27x00_battery: Checkpatch fixes Remove space before tab. Remove unnecessary line continuations. Add braces to else statement. Remove unnecessary parentheses. Remove unneeded blank lines. Remove unnecessary 'out of memory' message. Add missing line after declarations. Change use of printk to pr_err. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ce33edfa4903d8b8ded2569e880489678f75a85b Author: Andrew F. Davis <afd@xxxxxx> Date: Wed Jul 22 16:51:55 2015 -0500 power: bq27x00_battery: Fix function parameter alignment Fix the alignment of function parameters on new lines. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6eb207f271478472195cfaa2e59646f7e5036ae8 Author: Andrew F. Davis <afd@xxxxxx> Date: Wed Jul 22 16:51:54 2015 -0500 power: bq27x00_battery: Fix lines over 80 characters long Shorted lines over 80 characters long by reducing tab count. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit db04fc5caa79260170a68d58db8fc401f1ab05f5 Author: Andrew F. Davis <afd@xxxxxx> Date: Wed Jul 22 16:51:53 2015 -0500 power: bq27x00_battery: Add manufacturer property Add the manufacturer property to the bq27x00 driver. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit dd9f1486ae207cd947416f1bdc461edc4880f2df Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Wed Jul 15 11:25:58 2015 +0800 power/reset: zx: Register restart handler Register with kernel restart handler instead of setting arm_pm_restart directly. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 0e375d625b3493721219af571aeeca17e01f6da4 Merge: beb8962 a6c2a32 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 24 16:15:02 2015 +0100 Merge branch 'fix/ssm4567' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-ssm4567 commit beb8962210f592bd285ed77559ac4458cc26f774 Merge: eeffd4b 1c07a4d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 24 16:11:47 2015 +0100 Merge branch 'topic/owner' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-ssm4567 Conflicts: sound/soc/codecs/ssm4567.c commit 377b641ac84c573bcea06aec47f7ad1ba4047e1c Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Wed Jul 1 11:40:53 2015 +0200 power/ltc2941-battery-gauge.c: Use the devicetree node name as supply name Make it possible to set the name of the supply from the devicetree. Like other power supply drivers just use the node name. This makes the code smaller as well, as it doesn't need to allocate memory to hold the name and allocate a unique ID. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit bd6906ed3d7a00d55c9bd368a640ef83bb487d1d Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Jul 24 10:35:23 2015 -0400 tools/power turbostat: fix typo on DRAM column in Joules-mode < RAM_W > RAM_J Reported-by: Hubert Chrzaniuk <hubert.chrzaniuk@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 325b50aa5d1c7dae57d1e44defdbacd1e2bcabde Author: NeilBrown <neilb@xxxxxxx> Date: Mon Mar 23 10:20:28 2015 +1100 twl4030_charger: use devres for power_supply_register and kzalloc. Final allocations/registrations are now managed by devres. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1b7cac23419e1398eac4c28368da6671c9c4ce9d Author: NeilBrown <neilb@xxxxxxx> Date: Mon Mar 23 10:20:28 2015 +1100 twl4030_charger: use devm_request_threaded_irq This simplifies the error paths. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7c97211b61d8b91b8f88237e4bbb3a8959ecb18a Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Thu Jul 23 11:17:26 2015 +0200 Documentation: Minor changes to men-chameleon-bus.txt Change men-chameleon-bus.txt according to the comments made by Randy Dunlap in https://lkml.org/lkml/2015/7/17/691. These are: * Some minor gramatical changes * Spelling fixes * Write the word "Chameleon" capitalized throughout the whole document * Explain MEN as MEN Mikro Elektronik GmbH. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 013542caa898289f37695bea849f1e368254ec8b Author: Benjamin Herr <ben@xxxxxxxx> Date: Sat Jul 18 14:31:40 2015 +0200 Doc: fix trivial typo in SubmittingPatches This patch changes the tense of a verb in SubmittingPatches to ensure grammatical validity of the containing sentence. Signed-off-by: Benjamin Herr <ben@xxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 6c121170115e9b6bb9dbe3e1daa8039976450bcf Author: Jonathan Corbet <corbet@xxxxxxx> Date: Fri Jul 24 15:08:14 2015 +0200 MAINTAINERS: Direct Documentation/DocBook/media properly The media maintainers want DocBook changes to go through their tree; document that wish accordingly. commit fce96568f314d0fb72f5ca4bba2f64e7164a7817 Author: Jim Davis <jim.epost@xxxxxxxxx> Date: Thu Jul 16 12:50:50 2015 -0700 Documentation: installed man pages don't need to be executable Install the man pages with mode 644 instead of 755 Signed-off-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 3d5583cc82e9d505e4b9a37615f7a28c7ea465b9 Author: Ahmed Mohamed Abd EL Mawgood <ahmedsoliman0x666@xxxxxxxxx> Date: Thu Jul 16 23:17:36 2015 +0200 fix Evolution submenu name in email-clients.txt I have noticed that there is no submenu in Evolution called Heading instead there is Paragraph style Signed-off-by: Ahmed Mohamed <ahmedsoliman0x666@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit b9f2f4594c77073ca306ef345e9f9c1cde292dd3 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Fri Jul 17 12:23:01 2015 +0200 Documentation: Add MCB documentation Add basic introductory documentation for the MEN Chameleon Bus. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9e1aa7c8882050577c9223ba85c4ee49cd1da469 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Thu Jul 16 06:31:16 2015 +0000 Documentation: Update filesystems/debugfs.txt This patch update the Documentation/filesystems/debugfs.txt file. The main work is to add the description of the following functions: debugfs_create_atomic_t debugfs_create_u32_array debugfs_create_devm_seqfile debugfs_create_file_size Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit a10726bb5472ff2ed95180cfb5e82091c45d7b19 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Tue Jul 14 07:35:11 2015 +0200 Documentation: mm: fix location of extfrag_index /proc/extfrag_index does not exist. This file is in debugfs. Fix the description of extfrag_threshold to reflect this. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 8f5f0bc2766af7785161a4440bca1d0746eb3671 Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Thu Jul 23 19:01:16 2015 -0400 HID: sony: Drop invalid Sixaxis input reports When connected via Bluetooth the sixaxis periodically sends reports with an ID of 1, the second byte 0xff and the rest zeroed. These reports are not related to the controller state and must be dropped to avoid generating false input events. Link: http://www.spinics.net/lists/linux-bluetooth/msg63028.html Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 070f63b46ac893a5debf68c5751101b6f5f77230 Author: Yang Bo <linuxsea@xxxxxxx> Date: Mon Jul 20 09:40:28 2015 -0700 HID: multitouch: Add support for CJTouch MultiTouch Add device IDs for CJTouch 0020 and 0040 panels. Signed-off-by: Yang Bo <linuxsea@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 0439de75d32c249bd9f5824ffd5e40c4c2109d77 Author: Stephen Just <stephenjust@xxxxxxxxx> Date: Wed Jul 22 20:11:40 2015 -0700 HID: microsoft: Add Surface 3 type cover Adding support for the Microsoft Surface 3 (non-pro) Type Cover. The existing definitions and quirks are actually for the Surface Pro 3 type covers. I've renamed the old constants to reflect that they belong to the Surface Pro 3, and added a new constant and matching code for the Surface 3. Signed-off-by: Stephen Just <stephenjust@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 8766018b6ef73ca124d13b0d0a06dec906726cc8 Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Fri Jul 24 13:24:41 2015 +0800 regulator: mt6311: Add support for mt6311 regulator Add regulator support for mt6311. It has 2 regulaotrs - Buck and LDO, provide the related buck/ldo voltage data to the driver, and creates the regulator_desc table. Supported operations for Buck are enabled/disabled and voltage change, only enabled/disabled for LDO. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 678cdb2fbd7e44b8905a8f4e770c694eb77f0395 Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Fri Jul 24 13:24:40 2015 +0800 regulator: mt6311: Add document for mt6311 regulator This patch adds a list of supported regulator names to the devicetree binding documentation for Mediatek MT6311 PMIC. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eeffd4b442eb2aa25257d8c6631b17cba685ccac Author: Harsha Priya <harshapriya.n@xxxxxxxxx> Date: Thu Jul 23 19:11:54 2015 +0000 ASoC: ssm4567: Added ACPI entry for SSM4567 codec Added INT343B ACPI ID for the SSM4567 codec Signed-off-by: Harsha Priya <harshapriya.n@xxxxxxxxx> Signed-off-by: M Naveen <naveen.m@xxxxxxxxx> Signed-off-by: M R Sathya Prakash <sathya.prakash.m.r@xxxxxxxxx> Acked-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 97a747117d95b54fe3ce21d43e04499a1671fff6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 24 11:17:28 2015 +0800 ASoC: sta529: Remove redundant I2C_FUNC_SMBUS_BYTE_DATA functionality check This checking is done by regmap_get_i2c_bus() which is called in devm_regmap_init_i2c(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 48f403be3eb9b603cfaf946ca7a0c76272750469 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 23:23:35 2015 +0800 ASoC: pcm1681: Improve the logic for de-emphasis sampling rate selection Slightly improve the logic for de-emphasis sampling rate selection by break out the loop if the rate is matched. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1d0088f8c1d8b9541ed01f2cc52606fbf8baf50c Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:52:00 2015 +0530 ath10k: extend struct htt_mgmt_tx_dec for qca99x0 HTT_H2T_MSG_TYPE_MGMT_TX msg in 10.4 firmware carries additional 4 byte in htt_mgmt_tx_desc where it tells to firmware that at what rate mgmt frame has to go out in the air. It's an optional parameter, setting this field to zero will force firmware to choose auto rate and send the frame out. Those 4 byte info is missed out in the current code and 10.4 firmware ended up reading some junk in those 4 byte and sometime malfunctioning. Fix it by adding 4 byte in struct htt_mgmt_tx_desc. Non 10.4 firmware will not process those four byte. So, adding 4 byte at the end of struct htt_mgmt_tx_desc will not create any impact on other chipset. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b963519509644f52eaaddcc1fa484e28ac74c750 Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Mon Jul 20 17:56:12 2015 +0530 ath10k: add TCP/UDP Checksum offload support for QCA99x0 The patch adds support to offload TCP/UDP checksum calculations for QCA99x0. Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 19be9e9a7ac7e6050eab426283d2a87593cf6e82 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Thu Jul 16 09:25:33 2015 +0530 ath10k: fix wrong initialization of struct channel chandef is initialized with NULL and on the very next line, we are using it to get channel, which is not correct. Channel should be initialized after obtaining chandef. Found by cppcheck: ath/ath10k/mac.c:839]: (error) Possible null pointer dereference: chandef Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1f5dbfbb64c92e1c22305ac2b3951d6e3cf7a9a7 Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:01:21 2015 -0700 ath10k: add support for qca99x0 Rx descriptors QCA99X0 chip has an extra 4 bytes in rx_msdu_start, 20 bytes in rx_msdu_end and 20 bytes in rx_ppdu_end structure which are used in htt_rx_desc and HTT Rx ring offset setup. This is necessary for correct Rx for QCA99X0 or Rx descriptors will be overwritten and corrupted. With this patch QCA988X and QCA6174 will have extra 44 bytes padding in Rx descriptor layout which is harmless. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 05a2cb0daa49af4e240834ff3736fd35ba83320f Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:01:20 2015 -0700 ath10k: redefine rx_ppdu_end_common structure to cover qca99x0 rx_ppdu_end_common structure is valid for both of qca998x and qca6174, but not for qca99x0 since it has new additional members. Hence update the common structure to cover qca99x0 as well. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit fbc03a466fd48bc8be2e675be948001feea29e4d Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:01:19 2015 -0700 ath10k: update tx path to support QCA99X0 Since QCA99X0 uses fragmentation descriptor differently from other ones on tx path, we need to handle it separately. QCA99X0 is using 48 bits for address and 16 bits for length out of 2 dword and each values have to be programmed by frag desc base addr + msdu id, so that hardware can retrieve corresponding frag data. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit acd195800ffca556e9c78c51d1efe534d71dd236 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Fri Jul 10 14:31:20 2015 +0530 ath10k: delay device access after cold reset It is observed that during cold reset pcie access right after a write operation to SOC_GLOBAL_RESET_ADDRESS causes Data Bus Error and system hard lockup. The reason for bus error is that pcie needs some time to get back to stable state for any transaction during cold reset. Add delay of 20 msecs after write of SOC_GLOBAL_RESET_ADDRESS to fix this issue. This patch is tested on QCA988X. This is also tested on QCA99X0 which is WIP. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a73c2a2f9123605022bedbd2b59ca7e76036f0b3 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 15 10:55:39 2015 +0300 libiscsi: Use scsi helper to set information descriptor In case encountered a PI error, use scsi_set_sense_information instead of open coding information descriptor format. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4e4937e8aefde8d49340e803ebbedcdf4b43e5f0 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 16 10:28:05 2015 +0300 target: Return descriptor format sense data in case the LU spans 64bit sectors In case a LU spans 64bit sectors, fixed size sense data information field is only 32 bits which means the sector information will be truncated. Thus, if the LU spans 64bit sectors, use descriptor format sense data to correctly report sector information. Reported-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f5a8b3a796db01b639435515b3adc003b9f27387 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 15 10:55:37 2015 +0300 scsi: Protect against buffer possible overflow in scsi_set_sense_information Make sure that the input sense buffer has sufficient length to fit the information descriptor (12 additional bytes). Modify scsi_set_sense_information to receive the sense buffer length and adjust its callers scsi target and libata. (Fix patch fuzz in scsi_set_sense_information - nab) Reported-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 12306b425d0dbab7b60f54e02d67cf3dfae494d1 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 15 10:55:36 2015 +0300 scsi: Fix wrong additional sense length in descriptor format The sense header additional sense length should be the accumulated size of all the descriptors. Information descriptor size is 12 bytes. When setting the additional sense length we should add 0xc instead of 0xa. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3e963b2d3c93e0546e911d681f37d35f0f79b54f Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:33:07 2015 -0700 tcm_qla2xxx: Remove set-but-not-used variables Detected these by building with W=1. This patch does not change any functionality. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Cc: Quinn Tran <quinn.tran@xxxxxxxxxx> Cc: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f5887fe5d14181aef0653ab04f60988252d42461 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 22:33:19 2015 -0700 ARM: OMAP2+: Add custom abort handler for t410 Similar to commit fdf4850cb5b2 ("ARM: BCM5301X: workaround suppress fault"), let's add custom handling for the aborts on t410 that prevent booting: Unhandled fault: imprecise external abort (0xc06) at 0xee091fb0 pgd = ee4bc000 [ee091fb0] *pgd=ae00041e(bad) Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007 Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 285f3690cd14eb3e7f82c98ad4b294f204438ffa Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 22:33:19 2015 -0700 ARM: dts: Add minimal support for HP T410 Add minimal support for HP T410. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 73db9e0141b5e27348a11effa7e36296603df439 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 22:33:18 2015 -0700 ARM: dts: Add minimal dts support for dm8148-evm Add minimal dts support for dm8148-evm. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 25515b630c3c49945953cc048d6051441ac220d2 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 22:33:18 2015 -0700 ARM: dts: Add minimal clocks for dm814x Use fixed clocks until we have a clock driver for the PLL. The mux and divider composite clocks work the same way as on dm816x and am335x. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f3d953ea37210d654777df758a5c52a94bb5d6c7 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 22:33:18 2015 -0700 ARM: dts: Add minimal dm814x support Add minimal dm814x support. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 734ca5c467842186bf836d0b33379a51cfe259da Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 8 17:58:54 2015 +0300 target: Return ABORTED_COMMAND sense key for PI errors PI errors were reported with ILLEGAL_REQUEST sense key but there was actually no problem with the request. Target detected PI errors should be reported with aborted command sense key. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9ec1e1ce3a0f854b9150e7888a373392fbbe7442 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 8 17:58:53 2015 +0300 target: Use scsi helpers to build the sense data correctly Instead of open coding the sense buffer construction, use scsi scsi_build_sense_buffer() and scsi_set_sense_information() helpers which moved to scsi_common. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7708c1656552ddd60b9b9df3a9ee156acd1801ba Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 8 17:58:52 2015 +0300 scsi: Move sense handling routines to scsi_common Sense data handling is also done in the target stack. Hence, move sense handling routines to scsi_common so the target will be able to use them as well. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ab78fef4d5f79134042ae0e1e2c259e1226aa5bd Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Wed Jul 8 17:58:51 2015 +0300 target: Split transport_send_check_condition_and_sense() Move the code for translating a sense_reason_t code into a SCSI status ASC and ASCQ codes from transport_send_check_condition_and_sense() into the new function translate_sense_reason(). Convert the switch statement that performs the translation into table-driven code. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 46d5bd62ef9e3d6e2018963cbb725c91f864922d Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Wed Jul 8 17:58:50 2015 +0300 target: Inline transport_get_sense_codes() Inline this function in its call site since it performs a trivial task and since it is only called once. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit e986a35aba67558381d5cec59a14c4d0b20f0d47 Author: Hannes Reinecke <hare@xxxxxxx> Date: Thu Jun 18 11:43:38 2015 +0200 tcm_loop: Send I_T_NEXUS_LOSS_OCCURRED UA If the virtual SAS link is set to 'offline' we should be queueing an I_T_NEXUS_LOSS_OCCURRED UA. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit b7446cacfb433f5e89ff94afecbc349e404aee21 Author: Hannes Reinecke <hare@xxxxxxx> Date: Thu Jun 18 11:43:37 2015 +0200 tcm_loop: Remove SAS vestigies tcm_loop is able to emulate several protocols, so remove last vestigies of the SAS protocol. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 24da741c678f865de3182194604dbddcc7fc7f3c Merge: 97d9a3d 0f3ccb2 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 21:59:18 2015 -0700 Merge branch 'dm814x-soc' into omap-for-v4.3/soc Update dm814x changes for sparse fixes to make data structures static. Conflicts: arch/arm/mach-omap2/omap_hwmod_81xx_data.c commit 0f3ccb24c0347cd80160810df79bfa233749074e Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:58 2015 -0700 ARM: OMAP2: Add minimal dm814x hwmod support Let's add minimal set of dm814x hwmods to have a bootable system. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7e1b11d145b264fd7e7b4bf79d910272d4a1bd52 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:58 2015 -0700 ARM: OMAP2+: Prepare dm81xx hwmod code for adding minimal dm814x support Let's change the defines so we can share the hwmod code better between dm816x and dm814x, and let's add the dm814x specific defines. And let's rename the shared ones to start with dm81xx. No functional changes. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit dcd14dd957f02ef679c61325a2221a0574bdcab3 Merge: ce4c464 3fdefa3 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 24 14:30:29 2015 +1000 Merge tag 'topic/connector-locking-2015-07-23' of git://anongit.freedesktop.org/drm-intel into drm-next connector hotplug locking cleanup and fixes to make it save against atomic. Note that because of depencies this is based on top of the drm-intel-next pull, so that one needs to go in before this one. I've also thrown in the mode_group removal on top since it's defunct, never worked really, no one seems to care and the code can be resurrected easily. * tag 'topic/connector-locking-2015-07-23' of git://anongit.freedesktop.org/drm-intel: drm: gc now dead mode_group code drm: Stop filtering according to mode_group in getresources drm: Roll out drm_for_each_{plane,crtc,encoder} drm/cma-helper: Fix locking in drm_fb_cma_debugfs_show drm: Roll out drm_for_each_connector more drm: Amend connector list locking rules drm/radeon: Take all modeset locks for DP MST hotplug drm/i915: Take all modeset locks for DP MST hotplug drm: Check locking in drm_for_each_fb drm/i915: Use drm_for_each_fb in i915_debugfs.c drm: Check locking in drm_for_each_connector drm/fbdev-helper: Grab mode_config.mutex in drm_fb_helper_single_add_all_connectors drm/probe-helper: Grab mode_config.mutex in poll_init/enable drm: Add modeset object iterators drm: Simplify drm_for_each_legacy_plane arguments commit ce4c464b93187d3faffd9048f0ee0ec7bf9aa2a9 Merge: f60de97 04cbfe6 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 24 14:30:04 2015 +1000 Merge tag 'topic/crc-pmic-2015-07-23' of git://anongit.freedesktop.org/drm-intel into drm-next crystalcove pmic support from Shobhit. Patch series has all acks/r-bs from other mainainers so ok to pull into drm-next. But I'm cc'ing all other maintainers as fyi and in case they want to pull it into their trees too to avoid conflicts. * tag 'topic/crc-pmic-2015-07-23' of git://anongit.freedesktop.org/drm-intel: mfd: Add GPIOLIB dependency if INTEL_SOC_PMIC is to be enabled drm/i915: Backlight control using CRC PMIC based PWM driver drm/i915: Use the CRC gpio for panel enable/disable pwm: crc: Add Crystalcove (CRC) PWM driver mfd: intel_soc_pmic_core: ADD PWM lookup table for CRC PMIC based PWM mfd: intel_soc_pmic_crc: Add PWM cell device for Crystalcove PMIC mfd: intel_soc_pmic_core: Add lookup table for Panel Control as GPIO signal gpiolib: Add support for removing registered consumer lookup table commit f60de9767490a73b54c2754e1de83fc68eb7d9a0 Merge: fa78cea e0548f1 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 24 14:29:06 2015 +1000 Merge tag 'drm-intel-next-2015-07-17' of git://anongit.freedesktop.org/drm-intel into drm-next - prelim hw support dropped for skl after Damien fixed an ABI issue around planes - legacy modesetting is done using atomic infrastructure now (Maarten)! - more gen9 workarounds (Arun&Nick) - MOCS programming (cache control for better performance) for skl/bxt - vlv/chv dpll improvements (Ville) - PSR fixes from Rodrigo - fbc improvements from Paulo - plumb requests into execlist submit functions (Mika) - opregion code cleanup from Jani - resource streamer support from Abdiel for mesa - final fixes for 12bpc hdmi + enabling support from Ville drm-intel-next-2015-07-03: - dsi improvements (Gaurav) - bxt ddi dpll hw state readout (Imre) - chv dvfs support and overall wm improvements for both vlv and chv (Ville) - ppgtt polish from Mika and Michel - cdclk support for bxt (Bob Pauwe) - make frontbuffer tracking more precise - OLR removal (John Harrison) - per-ctx WA batch buffer support (Arun Siluvery) - remvoe KMS Kconfig option (Chris) - more hpd handling refactoring from Jani - use atomic states throughout modeset code and integrate with atomic plane update (Maarten) drm-intel-next-2015-06-19: - refactoring hpd irq handlers (Jani) - polish skl dpll code a bit (Damien) - dynamic cdclk adjustement (Ville & Mika) - fix up 12bpc hdmi and enable it for real again (Ville) - extend hsw cmd parser to be useful for atomic configuration (Franscico Jerez) - even more atomic conversion and rolling state handling out across modeset code from Maarten & Ander - fix DRRS idleness detection (Ramalingam) - clean up dsp address alignment handling (Ville) - some fbc cleanup patches from Paulo - prevent hard-hangs when trying to reset the gpu on skl (Mika) * tag 'drm-intel-next-2015-07-17' of git://anongit.freedesktop.org/drm-intel: (386 commits) drm/i915: Update DRIVER_DATE to 20150717 drm/i915/skl: Drop the preliminary_hw_support flag drm/i915/skl: Don't expose the top most plane on gen9 display drm/i915: Fix divide by zero on watermark update drm/i915: Invert fastboot check drm/i915: Clarify logic for initial modeset drm/i915: Unconditionally check gmch pfit state drm/i915: always disable irqs in intel_pipe_update_start drm/i915: Remove use of runtime pm in atomic commit functions drm/i915: Call plane update functions directly from intel_atomic_commit. drm/i915: Use full atomic modeset. drm/i915/gen9: Add WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken drm/i915/gen9: Add WaFlushCoherentL3CacheLinesAtContextSwitch workaround drm/i915/gen9: Add WaDisableCtxRestoreArbitration workaround drm/i915: Enable WA batch buffers for Gen9 drm/i915/gen9: Implement WaDisableKillLogic for gen 9 drm/i915: Use expcitly fixed type in compat32 structs drm/i915: Fix noatomic crtc disabling, v2. drm/i915: fill in more mode members drm/i915: Added BXT check in HAS_CORE_RING_FREQ macro ... commit fa78ceab99e4481e17ab6b6a88257c1c7c23d55a Merge: 5da612f f9fe4b9 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 24 14:28:16 2015 +1000 Merge tag 'topic/drm-misc-2015-07-23' of git://anongit.freedesktop.org/drm-intel into drm-next Update drm-misc pull request since the first one didn't go in yet. Few atomic helper patches, rejecting some old dri1 crap for modern drivers and a few trivial things on top. * tag 'topic/drm-misc-2015-07-23' of git://anongit.freedesktop.org/drm-intel: drm/mgag200: remove unneeded variable drm/mgag200: remove unused variables drm/atomic: Only update crtc->x/y if it's part of the state, v2. drm/fb: drop panic handling drm: Fix warning with make xmldocs caused by drm_irq.c drm/gem: rip out drm vma accounting for gem mmaps drm/fourcc: Add formats R8, RG88, GR88 drm/atomic: Cleanup on error properly in the atomic ioctl. drm: Update plane->fb also for page_flip drm: remove redundant code form drm_ioc32.c drm: reset empty state in transitional helpers drm/crtc-helper: Fixup error handling in drm_helper_crtc_mode_set drm/atomic: Update old_fb after setting a property. drm: Remove useless blank line drm: Reject DRI1 hw lock ioctl functions for kms drivers drm: Convert drm_legacy_ctxbitmap_init to void return type drm: Turn off Legacy Context Functions commit 5da612fa42465c6dda745e1b9fb514a014d23b11 Merge: 52721d9 7639a8c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 24 14:26:53 2015 +1000 Merge tag 'drm-amdkfd-next-2015-07-20' of git://people.freedesktop.org/~gabbayo/linux into drm-next - Add Carrizo support for amdkfd, using the new amdgpu driver as the relevant kgd. The support includes interfaces with amdgpu both for gfx7 (Kaveri) and gfx8 (Carrizo). However, gfx7 interface is used for debugging purposes only, so amdkfd defaults to using radeon when Kaveri is installed. I would like to note that no new IOCTLs are being introduced, and there is no change in the current IOCTLs, as they are suited both for gfx7 and gfx8. * tag 'drm-amdkfd-next-2015-07-20' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: Set correct doorbell packet type for Carrizo drm/amdkfd: Use generic defines in new amd headers drm/amdkfd: Implement create_map_queues() for Carrizo drm/amdkfd: fix runlist length calculation drm/amdkfd: Add support for VI in DQM drm/amdkfd: add support for VI in MQD manager drm/amdkfd: add CP HWS packet headers for VI drm/amdkfd: add supported CZ devices PCI IDs to amdkfd drm/amdkfd: Add dependency of DRM_AMDGPU to Kconfig drm/amdgpu: Add amdgpu <--> amdkfd gfx8 interface drm/amdgpu: add amdgpu <--> amdkfd gfx7 interface drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface drm/radeon: Modify kgd_engine_type enum to match CZ commit 97d9a3d0967f711e271ef950f1745307720c95d5 Merge: 228e5fad 3b86616 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 21:14:02 2015 -0700 Merge tag 'for-v4.3/omap-hwmod-prcm-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.3/soc ARM: OMAP2+: PRCM and hwmod changes for v4.3 This series adds: - I/O wakeup support for AM43xx - register lock and unlock support to the hwmod code (needed for the RTC IP blocks on some chips) - several fixes for sparse warnings and an unnecessary null pointer test - a DRA7xx clockdomain configuration workaround, to deal with some hardware bugs Basic build, boot, and PM tests are here: http://www.pwsan.com/omap/testlogs/hwmod-prcm-for-v4.3/20150723080012/ Since I do not have an AM43xx or DRA7xx device, I can't test on those platforms. commit 7c9422ef553e8845c91b8fc5fa98452d934834f0 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Jul 24 12:42:40 2015 +0900 clk: exynos3250: Add cpu clock configuration data and instaniate cpu clock This patch add CPU clock configuration data and instantiate the CPU clock type for Exynos3250 to support Samsung specific cpu-clock type. Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit d7cc4c8165e67ff2ba250d65c9e4939d7b8d36c7 Author: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Date: Wed Jul 1 15:10:35 2015 +0200 clk: exynos5250: add cpu clock configuration data and instantiate cpu clock With the addition of the new Samsung specific cpu-clock type, the arm clock can be represented as a cpu-clock type. Add the CPU clock configuration data and instantiate the CPU clock type for Exynos5250. Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx> [b.zolnierkie: split exynos5250 support from the original patch] [b.zolnierkie: moved E5250_CPU_DIV[0,1] macros to clk-exynos5250.c] Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ac4c90c82e4d38cee613f68d2fabd714338ecca7 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Jul 1 15:10:38 2015 +0200 cpufreq: exynos: remove exynos5250 specific cpufreq driver support Exynos5250 based platforms have switched over to use generic cpufreq driver for cpufreq functionality. So the Exynos specific cpufreq support for these platforms can be removed. Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> [k.kozlowski: Rebased the patch around exynos-cpufreq.c] Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 7c14898ba9386ee5c939bb418643ac6baff52840 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Jul 21 12:44:06 2015 +0300 perf script: Add option --show-switch-events Add option --show-switch-events to show switch events in a similar fashion to --show-task-events and --show-mmap-events. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437471846-26995-6-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 06b234ec26fde8d0fce54030fe0858e218636410 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Jul 21 12:44:05 2015 +0300 perf script: Don't assume evsel position of tracking events The tracking event does not have to be the first event so replace perf_evlist__first() with perf_evlist__id2evsel() which uses the event ID to find the correct evsel. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437471846-26995-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b757bb09134f479a087ece08d2cd2a6ba31c9210 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Jul 21 12:44:04 2015 +0300 perf record: Add option --switch-events to select PERF_RECORD_SWITCH events Add an option to select PERF_RECORD_SWITCH events. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437471846-26995-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0286039f777ec0b6684868c34f7b16f97a069d6e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Jul 21 12:44:03 2015 +0300 perf tools: Add new PERF_RECORD_SWITCH event Support processing of PERF_RECORD_SWITCH events and PERF_RECORD_SWITCH_CPU_WIDE events. There is a single tools callback for them both so that the tool must check the event type before using the extra members in PERF_RECORD_SWITCH_CPU_WIDE. There is still no way to select the events, though. That is added in a subsequest patch. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437471846-26995-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 45ac1403f564f411c6a383a2448688ba8dd705a4 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Jul 21 12:44:02 2015 +0300 perf: Add PERF_RECORD_SWITCH to indicate context switches There are already two events for context switches, namely the tracepoint sched:sched_switch and the software event context_switches. Unfortunately neither are suitable for use by non-privileged users for the purpose of synchronizing hardware trace data (e.g. Intel PT) to the context switch. Tracepoints are no good at all for non-privileged users because they need either CAP_SYS_ADMIN or /proc/sys/kernel/perf_event_paranoid <= -1. On the other hand, kernel software events need either CAP_SYS_ADMIN or /proc/sys/kernel/perf_event_paranoid <= 1. Now many distributions do default perf_event_paranoid to 1 making context_switches a contender, except it has another problem (which is also shared with sched:sched_switch) which is that it happens before perf schedules events out instead of after perf schedules events in. Whereas a privileged user can see all the events anyway, a non-privileged user only sees events for their own processes, in other words they see when their process was scheduled out not when it was scheduled in. That presents two problems to use the event: 1. the information comes too late, so tools have to look ahead in the event stream to find out what the current state is 2. if they are unlucky tracing might have stopped before the context-switches event is recorded. This new PERF_RECORD_SWITCH event does not have those problems and it also has a couple of other small advantages. It is easier to use because it is an auxiliary event (like mmap, comm and task events) which can be enabled by setting a single bit. It is smaller than sched:sched_switch and easier to parse. To make the event useful for privileged users also, if the context is cpu-wide then the event record will be PERF_RECORD_SWITCH_CPU_WIDE which is the same as PERF_RECORD_SWITCH except it also provides the next or previous pid/tid. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437471846-26995-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6e5259e9b5b711b325a8455feb3ed27cdd0af0da Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 17:02:18 2015 -0300 perf tools: Stop copying kallsyms into the perf.data file header Since we now ask libtraceevent, the only user of this payload, to use perf's symbol resolution routines, there is no need to carry about ~4.5MB per perf.data when we can get it from one of the places the perf symbol resolution looks for that symtab (debuginfo, ~/.debug/, /proc/kallsyms, --symfs, etc), using the kernel and modules build-ids to make sure the right table is used. Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-h89ituf9rso2rv1v7kjrbeda@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4263cece22e3da94f16fbbcf71ce3807946d3ef3 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 16:48:16 2015 -0300 perf tools: Stop reading the kallsyms data from perf.data As it is not used anymore, since 'perf script' switched to asking libtraceevent to use tools/perf's symbol resolution routines. Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-4ilhofz4b7o8yokvutjt9yzz@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ccb3a8294a7d346257b526702eabcb2faeb721ac Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 16:43:37 2015 -0300 perf script: Switch from perf.data's kallsyms to perf's symbol resolver We were storing a copy of kallsyms inside perf.data file so that we could resolve kernel addresses to function (start, name, mod) tuples, but that can be achieved using the symbol resolving routines we have in symbols.c, and that are used elsewhere in tools/perf. So, do just like 'perf trace' did and ask libtraceevent to use perf's symbol resolution routines. The next step is to just skip whatever kallsyms data is embedded in older perf.data files and finally to stop storing kallsyms in the perf data file, as the 20-bytes build-id stored in perf.data's header is enough to find out the right symtab (be it ELF, kcore, kallsyms, etc) to use. Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d0rtb8tk9j72pz0ehw5fnp24@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d684779335856d8177514b42a801d46088d897b0 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:13 2015 -0400 pty: Add debug message for ptmx open Opens of /dev/ptmx don't use tty_open() so debug messages are not printed for those opens; print a debug message with the open count (which must always be 1) if TTY_DEBUG_HANGUP is defined. NB: Each tty core source file undefs support for debug messages. The relevant source file must be patched/edited to enable these messages. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb6edc9115f7eb8265fb9282703e52738d397506 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:12 2015 -0400 tty: core: Improve ldisc debug messages Add debug messages for ldisc open and close, and remove "closing ldisc" message from tty_ldisc_release(), because a close message is now printed for both ldiscs; always print ldisc pointer first so ldisc changes are easier to identify. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff8339dc164bb807cc67492ed9310335b7ed88ba Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:11 2015 -0400 tty: Replace inline #ifdef TTY_DEBUG_WAIT_UNTIL_SENT Add tty_debug_wait_until_sent() macro which uses tty_debug() to print the debug message; remove inlined #ifdef. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a6adc131c9d0809682d72398d01099a7ea4168b Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:10 2015 -0400 tty: Use tty_debug() for tty_ldisc_debug() Replace tty_ldisc_debug() macro definition; substitute with equivalent tty_debug() invocation. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit accff793af81bc64e1b37398ef6bb1f0b06491de Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:09 2015 -0400 tty: Replace #ifdef TTY_DEBUG_HANGUP with tty_debug_hangup() Add tty_debug_hangup() macro which uses tty_debug to print the debug message; remove inlined #ifdefs. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2dfa3d38797058fa03478b08bab3d3c4b081615 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:08 2015 -0400 tty: core: Add tty_debug() for printk(KERN_DEBUG) messages Introduce tty_debug() macro to output uniform debug information for tty core debug messages (function name and tty name). Note: printk(KERN_DEBUG) is retained here over pr_debug() since messages can be enabled in non-DEBUG builds. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a6b02dc1f1b37fe2e9c86c00edf07c04bed9fab Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:07 2015 -0400 tty: core: Improve debug message content Output the function name, tty name, and invariant failure (if applicable). Add the tty count to the tty_open() message. Fix the disassociate_ctty() message, which printed the NULL pointer and the wrong message. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fef53518f9b4813043bdb48b70bd9fbf4ad2597 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Jul 21 22:02:18 2015 -0400 drivers/tty: make serial/sunhv.c driver explicitly non-modular The Kconfig for this driver is currently: config SERIAL_SUNHV bool "Sun4v Hypervisor Console support" ...meaning that it currently is not being built as a module by anyone. Lets remove the modular and unused code here, so that when reading the driver there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. We don't swap module.h for init.h since this file has init.h already. We leave some tags like MODULE_LICENSE for documentation purposes, and for the "git blame" value. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code, so we remove that too. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37db22346739d986c2863e2c7b5580e5f376c5e6 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Jul 21 22:02:17 2015 -0400 drivers/tty: make serial/suncore.c driver explicitly non-modular The Kconfig for this driver is currently: config SERIAL_SUNCORE bool ...meaning that it currently is not being built as a module by anyone. Lets remove the modular and unused code here, so that when reading the driver there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. We don't swap module.h for init.h since this file has init.h already. We leave some tags like MODULE_LICENSE for documentation purposes, and for the "git blame" value. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1106d2dbab29971c091055716fbf2b9011c894c0 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Jul 21 22:02:16 2015 -0400 drivers/tty: make serial/lantic.c driver explicitly non-modular The Kconfig for this option is currently: config SERIAL_LANTIQ bool "Lantiq serial driver" ...meaning that it currently is not being built as a module by anyone. Lets remove the couple traces of modularity, so that when reading the driver there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. We delete the MODULE_DESCRIPTION and LICENSE tags since they are not adding any new information above and beyond what is at the top of the file. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code, so we remove that as well. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e62794bd8c8c249435a86e7a44c0ec0af86c3df Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Jul 21 22:02:15 2015 -0400 drivers/tty: make serial/sn_console.c driver explicitly non-modular The Kconfig for this option is currently: config SERIAL_SGI_L1_CONSOLE bool "SGI Altix L1 serial console support" ...meaning that it currently is not being built as a module by anyone. Lets remove the orphaned module code, so that when reading the driver there is no doubt it is builtin-only. We could consider making it tristate, but the above bool has been there since before the start of git history, which isn't all that surprising, since consoles are typically critical to have at early boot. So adding tristate is really of no value here. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97d49add8befb522828200081388b2f21c1c4f8b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Jul 13 13:18:51 2015 +0200 serial: samsung: Remove redundant DEBUG_LL check Commit 84f57d9e3685 ("tty: serial/samsung: fix modular build") fixed build issues when the driver was built as a module. One of those was that printascii is only accessible when the driver is built-in. But there is no need to check for defined(CONFIG_DEBUG_LL) since the SERIAL_SAMSUNG_DEBUG Kconfig symbol already depends on DEBUG_LL. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Kukjin Kim <kgene@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af5554f957f8a7e28b9826a9c4ad2a7dedd15a78 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 20:50:50 2015 -0400 tty: buffers: Move hidden buffer index advance into outer loop The advance of the 'read' buffer index belongs in the outer flip buffer consume loop, with the other buffer index arithmetic. No functional change. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 069f38b4983efaea92cbe7cc0cacc057af55739a Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 20:50:49 2015 -0400 tty: Replace smp_rmb/smp_wmb with smp_load_acquire/smp_store_release Clarify flip buffer producer/consumer operation; the use of smp_load_acquire() and smp_store_release() more clearly indicates which memory access requires a barrier. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5eb517dd80e4da3055895f8aa3547c2bfd5e675 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 10:34:34 2015 +0200 serial/uuc_uart: Support higher bitrates than 115200 Bit/s The maximum bitrate supported depends on the clock rate used in BRG. This is stored in port.uartclk during probe. Respecting the 16x oversampling higher bitrates can be supported. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e8af24fbe6160c1529ff7fe67bf8b72b73b67e4 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:36:20 2015 +0900 tty: serial: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bb2ccd0d12a26392bf884c2a305b15b622fc7a8 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:36:19 2015 +0900 tty: serial: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 706c3da409dfc6964740ac503c040c4c621954fd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 16:16:16 2015 -0300 perf trace: Provide libtracevent with a kernel symbol resolver So that beautifiers wanting to resolve kernel function addresses to names can do its work, now, for instance, the 'timer' tracepoints beautifiers works with 'perf trace', see the "function=tick..." part: # perf trace --event timer:hrtimer_start <SNIP> 0.000 timer:hrtimer_start:hrtimer=0xffff88026f3101c0 function=tick_sched_timer/0x0 expires=52098339000000 softexpires=52098339000000) 0.003 timer:hrtimer_start:hrtimer=0xffff88026f3101c0 function=tick_sched_timer/0x0 expires=52098339000000 softexpires=52098339000000) <SNIP> Reported-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-n4i0hxpbl1tnleiqkok47fw2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c3168b0db93ad5ffeede4ecdf807dab64270f55d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 16:14:29 2015 -0300 perf symbols: Provide libtraceevent callback to resolve kernel symbols That provides the function signature expected by libtraceevent's pevent_set_function_resolver(). Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ie6hvlb6u15y4ulg9j1612zg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 33a2471cc9b7b1fb27ff2031dbaff701644b1a4d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 12:36:55 2015 -0300 tools lib traceevent: Allow setting an alternative symbol resolver The perf tools have a symbol resolver that includes solving kernel symbols using either kallsyms or ELF symtabs, and it also is using libtraceevent to format the trace events fields, including via subsystem specific plugins, like the "timer" one. To solve fields like "timer:hrtimer_start"'s "function", libtraceevent needs a way to map from its value to a function name and addr. This patch provides a way for tools that already have symbol resolving facilities to ask libtraceevent to use it when needing to resolve kernel symbols. Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-fdx1fazols17w5py26ia3bwh@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5f258b3e3d223b5cb6d1753b2f9b821ba4455f81 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 2 15:18:13 2015 +0200 tty/serial: at91: use 32bit writes into TX FIFO when DMA is enabled For now this improvement is only used with TX DMA transfers. The data width must be set properly when configuring the DMA controller. Also the FIFO configuration must be set to match the DMA transfer data width: TXRDYM (Transmitter Ready Mode) and RXRDYM (Receiver Ready Mode) must be set into the FIFO Mode Register. These values are used by the USART to trigger the DMA controller. In single data mode they are not used and should be reset to 0. So the TXRDYM bits are changed to FOUR_DATA; then USART triggers the DMA controller when at least 4 data can be written into the TX FIFO througth the THR. On the other hand the RXRDYM bits are left unchanged to ONE_DATA. Atmel eXtended DMA controller allows us to set a different data width for each part of a scatter-gather transfer. So when calling dmaengine_slave_config() to configure the TX path, we just need to set dst_addr_width to the maximum data width. Then DMA writes into THR are split into up to two parts. The first part carries the first data to be sent and has a length equal to the greatest multiple of 4 (bytes) lower than or equal to the total length of the TX DMA transfer. The second part carries the trailing data (up to 3 bytes). The first part is written by the DMA into THR using 32 bit accesses, whereas 8bit accesses are used for the second part. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5199d46817766c95ef759684658cd8e359c6d27 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 2 15:18:12 2015 +0200 tty/serial: at91: add support to FIFOs Depending on the hardware, TX and RX FIFOs may be available. The RX FIFO can avoid receive overruns, especially when DMA transfers are not used to read data from the Receive Holding Register. For heavy system load, The CPU is likely not be able to fetch data fast enough from the RHR. In addition, the RX FIFO can supersede the DMA/PDC to control the RTS line when the Hardware Handshaking mode is enabled. Two thresholds are to be set for that purpose: - When the number of data in the RX FIFO crosses and becomes lower than or equal to the low threshold, the RTS line is set to low level: the remote peer is requested to send data. - When the number of data in the RX FIFO crosses and becomes greater than or equal to the high threshold, the RTS line is set to high level: the remote peer should stop sending new data. - low threshold <= high threshold Once these two thresholds are set properly, this new feature is enabled by setting the FIFO RTS Control bit of the FIFO Mode Register. FIFOs also introduce a new multiple data mode: the USART works either in multiple data mode or in single data (legacy) mode. If MODE9 bit is set into the Mode Register or if USMODE is set to either LIN_MASTER, LIN_SLAVE or LON_MODE, FIFOs operate in single data mode. Otherwise, they operate in multiple data mode. In this new multiple data mode, accesses to the Receive Holding Register or Transmit Holding Register slightly change. Since this driver implements neither the 9bit data feature (MODE9 bit set into the Mode Register) nor LIN modes, the USART works in multiple data mode whenever FIFOs are available and enabled. We also assume that data are 8bit wide. In single data mode, 32bit access CAN be used to read a single data from RHR or write a single data into THR. However in multiple data mode, a 32bit access to RHR now allows us to read four consecutive data from RX FIFO. Also a 32bit access to THR now allows to write four consecutive data into TX FIFO. So we MUST use 8bit access whenever only one data have to be read/written at a time. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e7decdaaa67b287d6a13de8dedced68f1d7d716 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 2 15:18:11 2015 +0200 tty/serial: at91: remove bunch of macros to access UART registers This patch replaces the UART_PUT_*, resp. UART_GET_*, macros by atmel_uart_writel(), resp. atmel_uart_readl(), inline function calls. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fad386014ddc34513647a3e49d9fc9db2990cbc Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 2 15:18:10 2015 +0200 tty/serial: at91: fix some macro definitions to fit coding style This patch updates macro definitions in atmel_serial.h to fit the 80 column rule. Please note that some deprecated comments such as "[AT91SAM9261 only]" are removed as the corresponding bits also exist in some later chips. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05a051436bdf37e121a627baca605977cd6d0730 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 2 15:18:09 2015 +0200 ARM: at91/dt: add a new DT property to support FIFOs on Atmel USARTs This patch adds a new DT property, "atmel,fifo-size", to enable and set the maximum number of data the RX and TX FIFOs can store on FIFO capable USARTs. Please be aware that the VERSION register can not be used to guess the size of FIFOs. Indeed, for a given hardware version, the USARTs can be integrated on Atmel SoCs with different FIFO sizes. Also the "atmel,fifo-size" property is optional as older USARTs don't embed FIFO at all. Besides, the FIFO size can not be read or guessed from other registers: When designing the FIFO feature, no dedicated registers were added to store this size. Unsed spaces in the I/O register range are limited and better reserved for future usages. Instead, the FIFO size of each peripheral is documented in the programmer datasheet. Finally, on a given SoC, there can be several instances of USART with different FIFO sizes. This explain why we'd rather use a dedicated DT property than use the "compatible" property. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6719693ca2efb0f04654d05768ee299e87e1694b Author: Patrick Donnelly <batrick@xxxxxxxxxxxx> Date: Sun Jul 12 18:51:52 2015 -0400 tty: add missing rcu_read_lock for task_pgrp task_pgrp requires an rcu or tasklist lock to be obtained if the returned pid is to be dereferenced, which kill_pgrp does. Obtain an RCU lock for the duration of use. Signed-off-by: Patrick Donnelly <batrick@xxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da891641b6c92e260966dfce3dd93111d08656c8 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Jul 16 10:29:13 2015 +0200 serial: 8250: Do XR17V35X specific wakeup in serial8250_do_startup The XR17V35X UART needs the ECB bit set in its XR_EFR register to enable access to IER [7:5], ISR [5:4], FCR[5:4], MCR[7:5], and MSR [7:0]. Also reset the IER register to mask interrupts after access to all bits of this register has been enabled. This makes my 8-port XR17V35X working with the in-kernel serial driver. Cc: Joe Schultz <jschultz@xxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Reviewed-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee3ad90be5ec5e94a45aac597a23b1050cd4f1b0 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 21:11:31 2015 -0400 serial: 8250: Defer interrupt enable until fifos enabled An already-active sender can swamp the interrupt handler with "too much work" if the rx interrupts are enabled when the fifo is disabled and operating in single-byte mode. Defer rx and line status interrupt enable until after the fifos are enabled in set_termios(), but at least initialize the shadow IER value with the interrupts which will be enabled. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45c6df4471edf5404463756df1014fe7e36db3d3 Author: Jiri Slaby <jslaby@xxxxxxx> Date: Tue Jun 23 19:09:59 2015 +0200 tty: linux/gsmmux.h needs linux/types.h We use __u8 in linux/gsmmux.h, so include linux/types.h to have that defined. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3fb7ef3981abdca871d65e8c7d9a827225eb2ba Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Thu Jul 9 11:50:38 2015 +0530 tty/early: make serial8250_early_{in,out} static again Commit ed71871bed719 ("tty/8250_early: Turn serial_in/serial_out into weak symbols") made these routines weak to allow platform specific Big endian override However recent updates to core, specifically ebc5e20082 ("serial: of_serial: Support big-endian register accesses") and 6e63be3fee14 ("serial: earlycon: Add support for big-endian MMIO accesses") means that round about way to overide the early serial accessors is no longer needed. Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Acked-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6830f6df8914faae9561bb245860c21af9b9e9b Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 09:19:00 2015 -0400 serial: 8250: Split base port operations from universal driver Refactor base port operations into new file; 8250_port.c. Legacy irq handling, RSA port support, port storage for universal driver, driver definition, module parameters and linkage remain in 8250_core.c The source file split and resulting modules is diagrammed below: 8250_core.c ====> 8250_core.c __ \ \ \ +-- 8250.ko (alias 8250_core) \ 8250_pnp.c __/ (universal driver) \ => 8250_port.c __ \ +-- 8250_base.ko 8250_dma.c __/ (port operations) Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e95044ba4fee93f5ea8a1a24b2d921e148503833 Author: David Jander <david@xxxxxxxxxxx> Date: Thu Jul 2 16:29:49 2015 +0200 tty: serial: imx.c: Reset UART before activating interrupts If the UART has been in use before this driver was loaded, IRQs might be active and get fired as soon as we set the handler, which will crash in the spin_lock_irqsave(&sport->port.lock, flags) because port.lock is not initialized until the port is added at the end of probe. Signed-off-by: David Jander <david@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9b5a9825f6b02a9cf86697bcffafd3d7898f9f6 Author: Manfred Schlaegl <manfred.schlaegl@xxxxxx> Date: Sat Jun 20 19:25:52 2015 +0200 serial: imx: reduce irq-latency after rx overflow To prevent problems with interrupt latency, and due to the fact, that the error will be counted anyway (icount.overrun), the dev_err is simply removed. Background: If an rx-fifo overflow occurs a dev_err message was called in interrupt context. Since dev_err messages are written to console in a synchronous way (unbuffered), and console may be a serial terminal, this leads to a highly increased interrupt-latency (several milliseconds). As a result of the high latency more rx-fifo overflows will happen, and therefore a feedback loop of errors is created. Signed-off-by: Manfred Schlaegl <manfred.schlaegl@xxxxxx> Acked-By: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b289932610edff7d0c11228efbf7a6f81361298 Author: Manfred Schlaegl <manfred.schlaegl@xxxxxx> Date: Sat Jun 20 19:25:35 2015 +0200 serial: imx: count tty buffer overruns As can be seen in function uart_insert_char (serial_core) the element buf_overrun of struct uart_icount is used to count overruns of tty-buffer. Added support for counting of overruns in imx driver analogue to serial_core. Signed-off-by: Manfred Schlaegl <manfred.schlaegl@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a61f0c70ae65c6b70d13228c3120c73d7425a60 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Jun 17 17:35:43 2015 -0300 serial: imx: Disable irqs before requesting them Disable interrupts before requesting them in order to fix a kernel oops after lauching a kernel via kexec. Tested on a imx6sl-evk board. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1eacbfb06df9d37b743d0eedbeb9fd4f71190c98 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Mon Jun 15 16:36:07 2015 +0200 serial/uartlite: Let it build on any arch with IOMEM Being a soft core, it can be located not only on PPC or Microblaze platforms. Since the driver already does endianness detection we only need to change the Kconfig to use it in other arches. This is also done in other softcores as xilinx-spi. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b596a834177f87846559f3f364b38cafdb13b61 Author: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Date: Tue Jun 16 11:12:19 2015 +0200 serial: stm32-usart: Fix SysRq support SysRq support activation depends on CONFIG_SERIAL_STM32_USART_CONSOLE, but this config flag does not exists. This patch fix this by depending on the valid config flag, which is SERIAL_STM32_CONSOLE. Reported-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e75ed3c47a2082fad87dd6d726ff7275d35e197c Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 10:32:27 2015 -0700 Input: arizona-haptic - convert to use managed input devices Using managed input device (via devm_input_allocate_device) simplifies error handling and driver removal paths and also silences CID# 712569. Reviewed-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ce2ae9e3e6a152866a33972c966f8315aab2cb1d Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Jul 20 17:15:46 2015 -0700 Input: cyapa - add ACPI HID CYAP0002 for Gen6 devices Add CYTP0002 to the list of ACPI HIDs recognized by the driver. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 757cae5a6f0ac1c61ce149a066377a15d1ed881f Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Jul 20 17:09:59 2015 -0700 Input: cyapa - fully support runtime suspend power management Fix the the runtime suspend power management not working issue when system starts up and before user touches the trackpad device. TEST=test on Chromebook. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 945525ee607471630d07c309e036ae4a53abe37f Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Jul 20 16:57:53 2015 -0700 Input: cyapa - add proximity support for gen5 and gen6 modules Gen5 and Gen6 trackpad devices are able to detect and report object proximity data/events, add this function support in the cyapa driver through the ABS_DISTANCE event. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c2c06c41f700b544c9331caf71c67edb5d131257 Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Jul 20 16:53:30 2015 -0700 Input: cyapa - add gen6 device module support Based on the cyapa core, add support for basic functionality of the gen6 trackpad devices. The driver can automatically determine what protocol (gen3, gen5, or gen6) should be used with the attached trackpad device. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 94897619bf24aca6b37cfa847399a56cf40eab66 Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Jul 20 16:49:06 2015 -0700 Input: cyapa - rename 'gen5' to 'pip' for chared code Change 'gen5' to 'pip' for all macros, variables and functions that are shared between gen5 and gen6 modules to make naming more clear and readable. Also fix a few spelling errors. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit be972177797636a4c8958ff0a8feb314309850c3 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sun May 25 22:33:13 2014 -0700 Input: tc3589x-keypad - switch to using managed resources Let's switch the driver to use managed resources, this will simplify error handling and driver unbinding logic. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e571c73ee4836640d3019ac68b008f3662087e80 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Jul 17 17:08:02 2015 -0700 Input: tc3589x-keypad - change name of wakeup property Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 43b7be3b8c0457c35a124d8538372f82f355bd29 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Jul 17 17:04:10 2015 -0700 Input: samsung-keypad - change name of wakeup property Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 466e285b1f63e84a6ced5cd18c3c3d90bda73404 Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Tue Jul 14 00:52:23 2015 +0000 serial: sirf: let uart's receive start in right place While UART work in DMA mode, function start_rx will request descriptor from DMA engine, if there is no left descriptor UART, driver will give err logs "DMA slave single fail". currently start_rx is called in set_termios function, so everytime, port setting will call start_rx once. Now put start_rx in startup, it will be called once while open the port. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d26c9ff420f647df4a7a3e9a28736b9cff6359a Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Tue Jul 14 00:52:22 2015 +0000 serial: sirf: workaround rx process to avoid possible data loss when UART works in DMA mode and left bytes in rx fifo less than a dma transfer unit, DMA engine can't transfer the bytes out to rx DMA buffer. so it need a way to fetch them out and flush them into tty buffer in time. in the above case, we want UART switch from DMA mode to PIO mode and fetch && flush bytes into tty layer buffer until rxfifo become empty, after that done let UART switch from PIO mode back to DMA mode. (record as method1) method1 result in the next receive result wrong. for example in PIO part of method1, we fetched && pushed X1...X3 bytes, when UART rxfifo newly received Y1...Y4 bytes, UART trigger a DMA unit transfer, the DMA unit's content is X1...X3Y1 and rxfifo fifo status is empty, so X1X2X3 pushed twice by PIO way and DMA way also the bytes Y2Y3Y4 missed. add rxfifo reset operation before UART switch back to DMA mode would resolve the issue. ([method1 + do fifo reset] record as method2) before the commit, UART driver use method2. but methd2 have a risk of data loss, as if UART's shift register receive a complete byte and transfer it into rxfifo before rxfifo reset operation the byte will loss. UART and USP have the similar bits CLEAR_RX_ADDR_EN(uart)/FRADDR_CLR_EN(usp), When found UART controller changing I/O to DMA mode, UART controller clears the two low bits of read point (rx_fifo_addr[1:0]). when enable the bit + method1(record as method3), in above example the DMA unit's content is X1...X3Y1 and there are Y2Y3Y4 in rxfifo by experiment, we just push bytes in rx DMA buffer. BTW, the workaround works only for UART receive DMA channel use SINGLE DMA mode. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9bb4b510046d41e3e5a4adc56c76ec8d6812962 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jun 28 09:46:43 2015 +0800 serial: etraxfs-uart: Convert to uart_console_device instead of open-coded The implementation of cris_console_device() is exactly the same as uart_console_device(), so let's switch to use uart_console_device(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Niklas Cassel <nks@xxxxxxxxxxx> Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bac4b3d2592c281a9b2614070140b116bd0b0a9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 09:28:55 2015 -0400 serial: 8250_omap: Remove auto-IXON flow control OMAP h/w-assisted IXON flow control is borked. The transmitter becomes stuck if XON is never received; clearing the fifos or resetting the rx flow control bits has no effect. Remove auto-IXANY as well, since without auto-IXON, it has no purpose. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27c93af7e7d9ccdfa28e26767c09106bf0721998 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:08 2015 +0530 serial: 8250_omap: workaround module disable errata on dra7x SoCs Due to Advisory 21 as documented in AM437x errata document, UART module cannot be disabled once DMA is used. The only workaround is to softreset the module before disabling it. DRA7x UARTs are compatible to AM437x UARTs in terms of this errata and prescribed workaround. Enable usage of workaround for this errata on DRA7x SoCs. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdb929e4452a8dab15daccc88e43d0f7e73b5500 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:07 2015 +0530 serial: 8250_omap: workaround errata around idling UART after using DMA AM335x, AM437x and DRA7x SoCs have an errata[1] due to which UART cannot be idled after it has been used with DMA. OMAP3 has a similar sounding errata which has been worked around in a2fc36613ac1af2e9 ("ARM: OMAP3: Use manual idle for UARTs because of DMA errata"). But the workaround used there does not apply to AM335x, AM437x SoCs. After using DMA, the UART module on these SoCs must be soft reset to go to idle. This patch implements that errata workaround. It is expected that UART will be used with DMA so no explicit check for DMA usage has been added for errata applicability. MDR1 register needs to be restored right after soft-reset because "UART mode" must be set in that register for module wake-up on AM335x to work. As a result, SCR register is now used to determine if context was lost during sleep. [1] See Advisory 21 in AM437x errata SPRZ408B, updated April 2015. http://www.ti.com/lit/er/sprz408b/sprz408b.pdf Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fcdff9bcabc135d72f69ed8723a14a9e514fe46 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:06 2015 +0530 serial: 8250_omap: introduce "ti,am3352-uart" compatible property Use of of_machine_is_compatible() for handling AM335x specific "DMA kick" quirk in 8250_omap driver makes it ugly to extend the quirk for other platforms. Instead use a new compatible. The new compatible will also make it easier to take care of other quirks on AM335x and like SoCs. In order to not break backward DTB compatibility for users of 8250_omap driver on AM335x based boards, existing use of of_machine_is_compatible() has not been removed. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f03541f6bbd1b02f659099b171bd4b91d6f1a53 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:05 2015 +0530 serial: 8250_omap: refactor mdr1 update The silicon errata[1] workaround implemented in a follow-on patch, "serial: 8250_omap: workaround errata on disabling UART after using DMA", requires MDR1 register programming. Extract MDR1 register update into helper function, omap8250_update_mdr1() to help with that. [1] Advisory 21 in http://www.ti.com/lit/er/sprz408b/sprz408b.pdf Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d879aeaa416fea126081452e811c1d225fd25b00 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:04 2015 +0530 Documentation: DT: omap_serial: document missing compatible The compatible "ti,am4372-uart" is used in arch/arm/boot/dts/am4372.dtsi but not documented. Add necessary documentation. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 727fd8ab7913421f3b60bcaaf31f1f5389c7cb5a Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:03 2015 +0530 serial: 8250_omap: fix kernel crash in suspend-to-ram omap_device infrastructure has a suspend_noirq hook which runtime suspends all devices late in the suspend cycle (see _od_suspend_noirq() in arch/arm/mach-omap2/omap_device.c) This leads to a NULL pointer exception in 8250_omap driver since by the time omap8250_runtime_suspend() is called, 8250_dma driver has already set rxchan to NULL via serial8250_release_dma(). Make an explicit check to see if rxchan is NULL in runtime_{suspend|resume} hooks to fix this. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29d58642f1a090ad574d14872b610b365b2d023b Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Jun 16 10:59:40 2015 +0200 serial/8250_fintek: Support for any io address. Fintek chip can be configured for io addresses different than the standard. Query the chip for the configured addresses and try to match it with the pnp address. Reported-by: Peter Hong <peter_hong@xxxxxxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce8c267e2ef9180d21f6915f21874898c2ac0ffb Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Jun 16 10:59:39 2015 +0200 serial/8250_fintek: Support keys different than default Chip can be configured to use entry key different than 0x77. Try all the valid keys until one gives out the right chip id. Reported-by: Peter Hong <peter_hong@xxxxxxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dae77f757950c273500cc72262a094f290578bef Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Jun 16 10:59:38 2015 +0200 serial/8250_fintek: Support for chip_ip 0x0501 There are some chips with the same interface but different chip ip. Reported-by: Peter Hong <peter_hong@xxxxxxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 017bec38c08fc954fb788fe69cf9e55f0d4910e7 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Jun 16 10:59:37 2015 +0200 serial/8250_fintek: Support for multiple base_ports Fintek chip can be connected at address 0x4e and also 0x2e. Add some logic to find out the address of the chip. Reported-by: Peter Hong <peter_hong@xxxxxxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92a5f11a1a3357964c30c34d55dc55152315b81b Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Jun 16 10:59:36 2015 +0200 serial/8250_fintek: Use private data structure Save the port index and the line id in a private structure. Reported-by: Peter Hong <peter_hong@xxxxxxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75406b3b17ee5a107b361b4065ad83fe42fff5a8 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Jun 6 06:05:24 2015 +0530 tty: Convert use of __constant_htons to htons In little endian cases, macro htons unfolds to __swab16 which provides special case for constants. In big endian cases, __constant_htons and htons expand directly to the same expression. So, replace __constant_htons with htons with the goal of getting rid of the definition of __constant_htons completely. The semantic patch that performs this transformation is as follows: @@expression x;@@ - __constant_htons(x) + htons(x) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99b4ffbd84ea4191e0b8d1709230656a1c33b848 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 16 12:10:05 2015 -0700 Input: gpio_keys[_polled] - change name of wakeup property Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 274696521254855ba03f2d4f4575ae048a409256 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 16 12:15:24 2015 -0700 Input: pmic8xxx-keypad - change name of wakeup property Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit abf77a32288d4379dfede0b50be6a04be3cd1431 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 16 12:03:39 2015 -0700 Input: ads7846 - change name of wakeup property to "wakeup-source" Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit aeda5003d0b987085acef6ad4844f8e34851bb10 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 16 11:54:14 2015 -0700 Input: matrix_keypad - change name of wakeup property to "wakeup-source" Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Cc: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 02b0b79c30076aaa33ee9134546130eb62b88078 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 17 14:59:18 2015 -0700 Input: pmic8xxx-pwrkey - support shutdown On pm8xxx PMICs, shutdown and restart are signaled to the PMIC via a pin called PS_HOLD. When this pin goes low, the PMIC performs a configurable power sequence. Add a .shutdown hook so that we can properly configure this power sequence for shutdown or restart depending on the system state. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6297c4b242f5b1e3d2089291b8788d900aecbce1 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 26 14:50:17 2015 -0700 ARM: dts: msm8974: Add smem reservation and node Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit b4e745e135e3b036cbf3399a0477abac280f4d35 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 26 14:50:16 2015 -0700 ARM: dts: msm8974: Add tcsr mutex node Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 724cde479dafcd4a6ee1e39e820ac94c0c7c04c5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 13:31:15 2015 -0700 ARM: dts: qcom: Add ks8851 node for wired ethernet The micrel ks8851 device is present on MSM8960 CDP boards. It is connected to two regulators, one controlled via a gpio and another controlled via the RPM. Add the gsbi, spi, gpio regulator, and micrel ks8851 nodes so that ethernet works properly. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit fe9ad1679c313f76fdf94a712b0dd91275e839d3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 13:31:14 2015 -0700 ARM: dts: qcom: Add MSM8960 CDP RPM regulators Add RPM regulators and configure their constraints on the MSM8960 CDP so that we can control these supplies. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 9de4bc97b33822df28886668d27d6ddc0fd241c7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 13:31:13 2015 -0700 ARM: dts: qcom: Add MSM8960 RPM and RPM regulator nodes Add the basic RPM and RPM regulator nodes that boards can fill in with their board specific details. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 2a39c9b3962402b2bbe530686858b906a6bddd0e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 13:31:12 2015 -0700 ARM: dts: qcom: Replace gpio node with pinctrl node Now that we have a proper pinctrl driver for the gpio block we can change the compatible field here and configure the pinmux on msm8960 devices. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 8e140c8e64d20ac17b003c0f5607d782f5c1f5b0 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 5 15:52:25 2015 -0700 ARM: dts: qcom: Replace gpio node with pinctrl node Replace the standalone gpio driver with pinctrl-msm as we now have msm8660 support there. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 40913fe6ea3b733564f0b580cf6c51f5d8fa8158 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:54:30 2015 +0800 ACPICA: Update version to 20150717 ACPICA commit 8580ce04c1b7aa415c364b06e79edb8aca77dded Version 20150717. Link: https://github.com/acpica/acpica/commit/8580ce04 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6d9be0a5c459ac30a5b3e7fbe51c55f65a5f4c7c Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:54:23 2015 +0800 ACPICA: iASL/Disassembler: Add prototype verbose mode ACPICA commit add72dca18ab5d02f1bf9b08027570e58da520e8 This mode will emit AML byte code after each ASL statement. This is a prototype only and requires additional development. This patch only affects ACPICA disassembler which is not in the kernel source tree. Link: https://github.com/acpica/acpica/commit/add72dca Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fdd8d831cf43761712d28e5d1ad812eab7dc1480 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:54:17 2015 +0800 ACPICA: Debugger: Move debugger specific APIs to debugger component ACPICA commit 2164923d60429eea7cd5a4a8629b607af7325afa Some disassembler APIs should rather be debugger APIs. This patch moves them to the debugger folder to be ready for debugger porting. Since there is no in-kernel ACPICA debugger in the kernel source tree, this patch doesn't affect the Linux kernel. Link: https://github.com/acpica/acpica/commit/2164923d Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 02ca26bef8f49a654026f56bedde2ab25e761380 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:54:11 2015 +0800 ACPICA: Debugger: Reduce structure size for debugger ACPICA commit 310e0ae1c4730f4dadc80125125099ab76851499 arg_types in struct acpi_db_method_info is only referenced by ACPI_DEBUGGER. This patch only affects ACPICA debugger which is only used by a non-kernel tool - acpiexec, so Linux kernel is currently not affected by this patch. Link: https://github.com/acpica/acpica/commit/310e0ae1 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 15a61aa19dad8dedb137c216c13ba18ad6f59674 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:54:04 2015 +0800 ACPICA: iASL: Add support for TCPA Server Table ACPICA commit 55fa9555c71eaa99daebed4cd82cfde3875e8c45 In addition to the existing support for the client table. Link: https://github.com/acpica/acpica/commit/55fa9555 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 88606a2b9020993a776df894941b3b07cc1374fe Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:53:57 2015 +0800 ACPICA: Cleanup use of NEGATIVE and POSITIVE defines ACPICA commit f88814201e01043a4f8caa69a69b799af11c44a3 These were defined in two places. Changed to ACPI_SIGN* names and define them once in acmacros.h This patch doesn't affect Linux kernel. Link: https://github.com/acpica/acpica/commit/f8881420 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 276291962ebf43abebb491ddcd922009de9fde4b Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:53:49 2015 +0800 ACPICA: Cleanup use of all non-ANSI local C library functions ACPICA commit 7c490c28a18b435c543c6b410e7e7c2131fccc78 ACPICA implements all non-ANSI functions locally. However, there are sometimes two or more versions of the same function throughout the ACPICA code. This change fixes this. Adds a new file, utilities/utnonansi.c Link: https://github.com/acpica/acpica/commit/7c490c28 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5a4f0693a586d73a65ccc7959e81a5618de265fe Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:53:42 2015 +0800 ACPICA: MSVC: Fix inclusion order issue of <crtdbg.h> ACPICA commit 49c6a6517a906900e9baa51ad5859beeb8a3089f The following error logs can be seen for calloc/free/malloc/realloc that defined in the stdlib.h: ...\stdlib.h(281) : error C2059: syntax error : ',' ...\stdlib.h(281) : error C2143: syntax error : missing ')' before 'constant' ...\stdlib.h(281) : error C2143: syntax error : missing '{' before 'constant' ...\stdlib.h(281) : error C2059: syntax error : '<Unknown>' ...\stdlib.h(281) : error C2059: syntax error : ')' This is caused by the wrong inclusion order of stdlib.h/crtdbg.h introduced in acenv.h. This patch fixes this breakage. Lv Zheng. This patch doesn't affect Linux kernel. Link: https://github.com/acpica/acpica/commit/49c6a651 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 53d9edce56de3eb495a3eef77e973e3ea014d999 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:53:35 2015 +0800 ACPICA: iASL: Add new warnings for method local_x and arg_x variables ACPICA commit eb9f8cb9fd65f1149dd335d05944c31cbca41af3 1) Warn if a Local is set but never used 2) Warn if a arg_x is never used (for non-predefined method names) 3) Warn if a arg_x that is used as a local is never used This patch only affects iASL which is not in the kernel source tree. Link: https://github.com/acpica/acpica/commit/eb9f8cb9 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit dc67d0fa8612ad49a8ec36040c5d22a9091bdbf6 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 23 12:53:28 2015 +0800 ACPICA: Remove extraneous check for null walk_state ACPICA commit f9fd6e8bad0f16ce2b436c5cda36ced0c2d85302 Reported by Markus Elfring. Link: https://github.com/acpica/acpica/commit/f9fd6e8b Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ec4252a66b1a2cd2fc6fbdbf3d3279640500fb75 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:53:22 2015 +0800 ACPICA: Parser: Remove redundant opcode execution debugging output ACPICA commit c832b0a9263c560b3ae3ae31d7298ef33988f8d5 This patch removes one redundant debugging output of opcode execution which has already been covered by acpi_ex_start_trace_opcode(). Lv Zheng. Link: https://github.com/acpica/acpica/commit/c832b0a9 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fb18e8fd08862f5509f3c79e168b24512c7065aa Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:53:15 2015 +0800 ACPICA: Executer: Add option to bypass opcode tracing ACPICA commit 61e9e20aadfaa03184d0959fbdc1fa5cdfea2551 This patch adds option to bypass opcode tracing. The option can be used to reduce the trace message output. Lv Zheng. Link: https://github.com/acpica/acpica/commit/61e9e20a Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bab0482418885627babfd1a6ca4e57a809712474 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:53:07 2015 +0800 ACPICA: Executer: Add OSL trace hook support ACPICA commit e8e4a9b19d0b72a7b165398bdc961fc2f6f502ec This patch adds OSL trace hook support. OSPMs are encouraged to use acpi_os_trace_point() with ACPI_USE_SYSTEM_TRACER defined to implement platform specific trace facility. Lv Zheng. Link: https://github.com/acpica/acpica/commit/e8e4a9b1 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ab6c573320768c36ac629be3db79ad62445aae64 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:59 2015 +0800 ACPICA: Executer: Add interpreter tracing mode for method tracing facility ACPICA commit 07fffd02607685b655ed92ee15c160e6a810b60b The acpi_debug_trace() is the mechanism known as ACPI method tracing that is used by Linux as ACPICA debugging message reducer. This facility can be controlled through Linux ACPI subsystem - /sys/module/acpi/parameters. This facility requires CONFIG_ACPI_DEBUG to be enabled to see ACPICA trace logs in the kernel dmesg output. This patch enhances acpi_debug_trace() to make it not only a message reducer, but a real tracer to trace AML interpreter execution. Note that in addition to the AML tracer enabling, this patch also updates the facility with the following enhancements: 1. Allow a full path to be specified by the acpi_debug_trace() API. 2. Allow any method rather than just the entrance of acpi_evaluate_object() to be traced. 3. All interpreter ACPI_LV_TRACE_POINT messages are collected for ACPI_EXECUTER layer. The Makefile of drivers/acpi/acpica is also updated to include exdebug.o and the duplicated stubs are removed after that. Note that since this patch has enhanced the method tracing facility, Linux need also be updated after applying this patch. Lv Zheng. Link: https://github.com/acpica/acpica/commit/07fffd02 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a616dc2fe50270f1fa5050fb9cd88a08531a3f25 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:53 2015 +0800 ACPICA: Dispatcher: Add trace support for interpreter ACPICA commit 71299ec8b49054daace0df50268e8e055654ca37 This patch adds trace point at the following point: 1. Begin/end of a control method execution; 2. Begin/end of an opcode execution. The trace point feature can be enabled by defining ACPI_DEBUG_OUTPUT and specifying a debug level that includes ACPI_LV_TRACDE_POINT and the debug layers that include ACPI_PARSER and ACPI_DISPACTCHER. In order to make aml_op_name of union acpi_parse_object usable for tracer, it is enabled for ACPI_DEBUG_OUTPUT in this patch. Lv Zheng. Link: https://github.com/acpica/acpica/commit/71299ec8 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0bac4295526c67e87ec24b29762140c38de7c86a Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:46 2015 +0800 ACPICA: Dispatcher: Move stack traversal code to dispatcher ACPICA commit c8275e243b58fd4adfc0362bd704af41ed14bc75 This patch moves parts of acpi_dm_dump_method_info() to the dispatcher component. This patch also makes the new function dependent on ACPI_DEBUG_OUTPUT compile-stage definition so that it can be used by the trace facility. acpi_dm_dump_method_info() traverses method stack when an exception is encountered. Such traversal is needed to support method tracing for the exceptions. When an exception is encountered, the end indications of the aborted methods should be logged in order not to break the user space analysis tool. Lv Zheng. Link: https://github.com/acpica/acpica/commit/c8275e24 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d1e7ffe50ba588ddf7de520990815c37f31776d8 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:39 2015 +0800 ACPICA: Namespace: Add function to directly return normalized full path ACPICA commit 6e0229bb156d71675f2e07dc7960adb7ec0a60ea This patch adds functions to return normalized full path instead of "external path". The external path contains trailing "_" for each name segment while the normalized full path doesn't contain the trailing "_". Currently this function is used by the method tracing users to specify a none trailing "_" attached name path. Lv Zheng. Note that we need to validate and switch all Linux kernel acpi_get_name() users to use the new name type before removing the old name type from ACPICA. Link: https://github.com/acpica/acpica/commit/6e0229bb Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Reviewed-by: Ruiyi Zhang <ruiyi_zhang@xxxxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 07b9c91225055afeb2d75942fc36dd51c5553d90 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:31 2015 +0800 ACPICA: Executer: Add back pointing reference of method operand ACPICA commit 9dcd124e914e87495fbd1786d9484b962e0823e0 This patch adds back pointing reference of the namespace node for a method operand. The namespace node then can be used in acpi_ds_terminate_control_method() to obtain method full path to be used by tracing facilities. Lv Zheng. Link: https://github.com/acpica/acpica/commit/9dcd124e Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 62eb935b77818a5e4ff3c8d9b97036b59944f649 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:24 2015 +0800 ACPICA: Dispatcher: Cleanup union acpi_operand_object's AML address assignments ACPICA commit afb52611dbe7403551f93504d3798534f5c343f4 This patch cleans up the code of assigning the AML address to the union acpi_operand_object. The idea behind this cleanup is: The AML address of the union acpi_operand_object should always be determined at the point where the object is encountered. It should be started from the first byte of the object. For example, the opcode of the object, the name string of the user_term object, or the first byte of the packaged object (where a pkg_length is prefixed). So it's not cleaner to have it assigned here and there in the entire ACPICA source tree. There are some special cases for the internal opcodes, before cleaning up the internal opcodes, we should also determine the rules for the AML addresses of the internal opcodes: 1. INT_NAMEPATH_OP: the address of the first byte for the name_string. 2. INT_METHODCALL_OP: the address of the first byte for the name_string. 3. INT_BYTELIST_OP: the address of the first byte for the byte_data list. 4. INT_EVAL_SUBTREE_OP: the address of the first byte for the Region/Package/Buffer/bank_field/Field arguments. 5. INT_NAMEDFIELD_OP: the address to the name_seg. 6. INT_RESERVEDFIELD_OP: the address to the 0x00 prefix. 7. INT_ACCESSFIELD_OP: the address to the 0x01 prefix. 8. INT_CONNECTION_OP: the address to the 0x02 prefix. 9: INT_EXTACCESSFIELD_OP: the address to the 0x03 prefix. 10.INT_RETURN_VALUE_OP: the address of the replaced operand. 11.computational_data: the address to the Byte/Word/Dword/Qword/string_prefix. Before cleaning up the internal root scope of the aml_walk, turning it into the term_list, we need to remember the aml_start address as the "Aml" attribute for the union acpi_operand_object created by acpi_ps_create_scope_op(). Finally, we can delete some redundant AML address assignment in psloop.c. Link: https://github.com/acpica/acpica/commit/afb52611 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 950a429cd21638b0c076d135ed279518b21f452b Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:18 2015 +0800 ACPICA: Parser: Cleanup aml_offset in union acpi_operand_object ACPICA commit 61b360074fde2bb8282722579410f5d1fb12f84d This patch converts aml_offset in union acpi_operand_object to AML address. AML offset is actually only used by the debugger, using AML address is more direct and efficient during the parsing stage so that we don't need to calculate the offset during the parsing stage and will not have difficulities in converting it into other offset attributes. Sometimes, aml_offset is not an indication of the offset from the table header but the offset from the entry of a list of terms, which requires additional efforts to convert it into an offset from the table header. By using AML address directly, there is no such difficulty. Thus this patch also deletes a logic in disassembler that is trying to convert the aml_offset from "offset from the start address of Method/Package/Buffer" into the "offset from the start address of the ACPI table" (Sample code deletion can be seen in acpi_dm_deferred_parse(), but the function is not in the Linux kernel). Lv Zheng. Link: https://github.com/acpica/acpica/commit/61b36007 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 83482f758b0d2d6a20a10be88399da44aa186aed Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:11 2015 +0800 ACPICA: Parser: Cleanup aml_offset in struct acpi_walk_state ACPICA commit d254405814495058276c0c2f9d96794d15a6c91c This patch converts aml_offset in struct acpi_walk_state to AML address. AML offset is actually only used by the debugger, using AML address is more direct and efficient during the parsing stage so that we don't need to calculate it during the parsing stage. On the other hand, we can see several issues in the current parser logic around the aml_offset: 1. union acpi_operand_object.Common.aml_offset is redundantly assigned in acpi_ps_parse_loop(). 2. aml_offset is not an indication of the offset from the table header but the offset from the entry of a list of objects. Sometimes, it indicates an entry for a Method/Package/Buffer, which makes it difficult to be reversely calculated to a table header offset. 3. When being used with method tracers (for example, Linux function trace), it's better to have AML address logged instead of the AML offset because the address is the only attribute that can uniquely identify the opcode. This patch is required to solve the above issues. Lv Zheng. Link: https://github.com/acpica/acpica/commit/d2544058 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit eb87a05223293a915dc97e6966cbbb1baa43cd5f Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:05 2015 +0800 ACPICA: Parser: Reduce parser/namespace divergences for tracer support This patch reduces divergences in parser/namespace components so that the follow-up linuxized ACPICA upstream commits can be directly merged. Including the fix to an indent issue reported and fixed by Zhouyi Zhou. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Zhouyi Zhou <yizhouzhou@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 13517157d16f98564b91658940ccd720724da62f Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Thu Jul 23 18:50:49 2015 +0200 ARM: dts: rockchip: Add veyron-speedy board Which is formally known as the Asus C201 chromebook Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 7868dfd216074fc5f902e7befacda2a0ec76e403 Author: Joo Aun Saw <jasaw@xxxxxxxxxxx> Date: Thu Jul 23 12:53:47 2015 +1000 tools: iio: make scale and offset files optional Make scale and offset optional by adding -ENOENT check as not all drivers implement them. Signed-off-by: Joo Aun Saw <jasaw@xxxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1e9676a8474b657b6a793f0abff2205783a1ce6f Author: Giuseppe Barba <giuseppe.barba@xxxxxx> Date: Tue Jul 21 10:35:45 2015 +0200 iio: st-magn: add support for lsm303agr magnetometer This adds support for the lsm303agr magnetometer. Signed-off-by: Giuseppe Barba <giuseppe.barba@xxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ddc05fa286068a2d0cf87a47739b155806d46670 Author: Giuseppe Barba <giuseppe.barba@xxxxxx> Date: Tue Jul 21 10:35:44 2015 +0200 iio: st-accel: add support for lsm303agr accelerometer This adds support for the lsm303agr accelerometer. Signed-off-by: Giuseppe Barba <giuseppe.barba@xxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 74f5683f35fe6feae33b96815c1d40f13468d614 Author: Giuseppe Barba <giuseppe.barba@xxxxxx> Date: Tue Jul 21 10:35:43 2015 +0200 iio: st_magn: Add irq trigger handling Add irq trigger handling for magnetometer also Signed-off-by: Giuseppe Barba <giuseppe.barba@xxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bb602f8c61e289389e7c2af1b577303a841f6d34 Author: Giuseppe Barba <giuseppe.barba@xxxxxx> Date: Tue Jul 21 10:35:42 2015 +0200 iio: st-sensors: add support for single full scale device Some sensors could have only one full scale value. This means that the sensor hasn't a full scale register. This commit add a check on the configured full scale address to support such kind of sensors. Signed-off-by: Giuseppe Barba <giuseppe.barba@xxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bc27381edbeb654d819b7e1464091c456a0d3e64 Author: Giuseppe Barba <giuseppe.barba@xxxxxx> Date: Tue Jul 21 10:35:41 2015 +0200 iio: st-sensors: add configuration for WhoAmI address This patch permits to configure the WhoAmI register address because some device could have not a standard address for this register. Signed-off-by: Giuseppe Barba <giuseppe.barba@xxxxxx> Reviewed-by: Denis Ciocca <denis.ciocca@xxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c176becd81843426eb8ab3b03aeeb19e387345fe Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Fri Jun 5 16:59:42 2015 +0300 iio: fix drivers that consider 0 as a valid IRQ in client->irq Since patch "i2c / ACPI: Use 0 to indicate that device does not have interrupt assigned" [1], 0 is not a valid i2c client irq anymore, so change all driver's checks accordingly. The same issue occurs when the device is instantiated via device tree with no IRQ, or from the i2c sysfs interface, even before the patch above. [1] http://lkml.kernel.org/g/<1430908148-201129-3-git-send-email-mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit debeb29792f9bbb6b72ea2fc82088dc0fd9ec224 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Thu Jul 23 13:18:06 2015 +0200 mm/Kconfig: NEED_BOUNCE_POOL: clean-up condition commit 106542e7987c ("fs: Remove ext3 filesystem driver") removed ext3 and JBD, hence remove the superfluous condition. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit c8962f4be4b47c2ff3b052c76007c6bbcb999c53 Author: Jan Kara <jack@xxxxxxxx> Date: Thu Jul 16 11:20:02 2015 +0200 ext4: Improve ext4 Kconfig test Now that ext4 driver must be used to access ext3 filesystems, improve the Kconfig help text to better explain that using ext4 driver to access the filesystem is fully compatible with the old ext3 driver. Acked-by: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit a3ad0a9da863fa554fc17fa8345a07adcdd27d3c Author: Jan Kara <jack@xxxxxxx> Date: Thu Jun 18 17:19:14 2015 +0200 block: Remove forced page bouncing under IO JBD layer wrote back data buffers without setting PageWriteback bit. Thus standard mechanism for guaranteeing stable pages under IO did not work. Since JBD is gone now and there is no other user of the functionality, just remove it. Acked-by: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit c290ea01abb7907fde602f3ba55905ef10a37477 Author: Jan Kara <jack@xxxxxxx> Date: Thu Jun 18 16:52:29 2015 +0200 fs: Remove ext3 filesystem driver The functionality of ext3 is fully supported by ext4 driver. Major distributions (SUSE, RedHat) already use ext4 driver to handle ext3 filesystems for quite some time. There is some ugliness in mm resulting from jbd cleaning buffers in a dirty page without cleaning page dirty bit and also support for buffer bouncing in the block layer when stable pages are required is there only because of jbd. So let's remove the ext3 driver. This saves us some 28k lines of duplicated code. Acked-by: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 82ff50b222d8ac645cdeba974c612c9eef01c3dd Author: Jan Kara <jack@xxxxxxxx> Date: Tue Jul 14 14:55:05 2015 +0200 doc: Update doc about journalling layer Documentation of journalling layer in Documentation/DocBook/filesystems.tmpl speaks about JBD layer. Since that is going away, update the documentation to speak about JBD2. Also update the parts that have changed since someone last touched the document and remove some parts which are just misleading and outdated. Signed-off-by: Jan Kara <jack@xxxxxxxx> commit acc84b05b1f463952a638689335ca47e70d5ea30 Author: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Date: Wed Jul 15 13:53:19 2015 -0500 jfs: Handle error from dquot_initialize() dquot_initialize() can now return error. Handle it where possible Slightly modified by Dave Kleikamp due to needed jfs_rename() error path fix. Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> commit 2e6c97ea4ce6a29941da46d03183c2c0e330fb2f Author: Jan Kara <jack@xxxxxxxx> Date: Tue Jul 14 13:51:55 2015 +0200 reiserfs: Handle error from dquot_initialize() dquot_initialize() can now return error. Handle it where possible. Signed-off-by: Jan Kara <jack@xxxxxxxx> commit 9c89fe0af826bfff36d8019ea6fd78db09b3c478 Author: Jan Kara <jack@xxxxxxxx> Date: Tue Jul 14 13:36:02 2015 +0200 ocfs2: Handle error from dquot_initialize() dquot_initialize() can now return error. Handle it where possible. Reviewed-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit a7cdadee0e89486ad072be7b91e477105784e0bb Author: Jan Kara <jack@xxxxxxxx> Date: Mon Jun 29 16:22:54 2015 +0200 ext4: Handle error from dquot_initialize() dquot_initialize() can now return error. Handle it where possible. Acked-by: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit c2edb305d6846ee8af7b5133845e23943d128e4c Author: Jan Kara <jack@xxxxxxxx> Date: Mon Jun 29 16:08:45 2015 +0200 ext2: Handle error from dquot_initalize() dquot_initialize() can now return error. Handle it where possible. Signed-off-by: Jan Kara <jack@xxxxxxxx> commit 6184fc0b8dd76c6aedc7a26e93254993e14e52de Author: Jan Kara <jack@xxxxxxx> Date: Wed Jun 24 18:07:02 2015 +0200 quota: Propagate error from ->acquire_dquot() Currently when some error happened in ->acquire_dquot(), dqget() just returned NULL. That was indistinguishable from a case when e.g. someone run quotaoff and so was generally silently ignored. However ->acquire_dquot() can fail because of ENOSPC or EIO in which case user should better know. So propagate error up from ->acquire_dquot properly. Signed-off-by: Jan Kara <jack@xxxxxxx> commit 2e5e8fd1ff9d802ab74df1ceaa5243da30491a45 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 23 12:20:27 2015 +0530 cpupower: Do not change the frequency of offline cpu Check if the cpu is online before changing the frequency/governor of the cpu. Reported-by: Pavaman Subramaniyam <pavsubra@xxxxxxxxxxxxxxxxxx> Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Acked-by: Thomas Renninger <trenn@xxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3e0452d27a784d50f09bec9de8ac673849b9e303 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Jul 17 22:53:26 2015 +0200 ARM: mediatek: Add regmap to mediatek Kconfig Mediatek SoC needs the regmap/syscon infrastructure. The infrastructure is used by the clock and pinctrl driver. This patch adds MD_SYSCON to Kconfig for all Mediatek devices. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit e26945245e414eff42ee1ffeaedf198911bf1d77 Author: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Date: Tue Jul 14 14:58:13 2015 +0800 arm64: dts: mediatek: add mt6795 support This adds basic chip support for MT6795 SoC Signed-off-by: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit afc257bc9ac9c2f9055c9f9829322b3ff7574165 Author: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Date: Tue Jul 14 14:58:12 2015 +0800 Document: DT: Add bindings for mediatek MT6795 SoC Platform This adds DT binding documentation for Mediatek MT6795. Signed-off-by: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 36e914cc4bb5d1842e7c8a2e2b9b4f2935771c14 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Jul 23 22:09:15 2015 +0530 ASoC: xtensa: Remove unnecessary snd_pcm_lib_preallocate_free_for_all() The ALSA core takes care that all preallocated memory is freed when the PCM itself is freed. There is no need to do this manually in the driver. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 213213d9d68e5fcb81a513a7d07ed6ee01294dea Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Jul 22 13:09:15 2015 +0800 ASoC: rl6231: add pll preset table Currently, rl6231_pll_calc provide a working PLL parameters for given freq_in and freq_out. However, in some cases it is not the perfect parameter. For example if freq_in = 19200000 and freq_out = 24576000, the calculated parameter will gengrate 24.5647 MHz which is not exactly the same as what we need. But the PLL can output 24.576 MHz as exactly what we expect if we set the best PLL parameter. To improve it, we put the best match parameters in a preset table. We can search the preset table first, if there is no preset parameter for the given freq_in and freq_out, we can still calculate a working PLL parameter. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d255b09555e8ea0e517a4d3368ec60097ac9cf96 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Tue Jul 21 23:53:56 2015 +0530 ASoC: Intel: Skylake: Add dsp and ipc init helpers This helper function will be used by the Skylake driver for dsp and ipc initialization if processing pipe capability is supported. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 473eb87adcf69204cd7e8fb5b0e4956edd6feae3 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Tue Jul 21 23:53:55 2015 +0530 ASoC: Intel: Skylake: Add NHLT support to get BE config The Non-HD Audio Endpoint Description table contains the link configuration information for the DSP. This is specific to Non HDA links only, like I2s and PDM Skylake driver will use NHLT table to retrieve the configuration based on the link type, format, channel and rate. This configuration is passed to DSP FW Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 310398f5e4618e9a0f6fd0c4b152401daf06c215 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:06 2015 +0200 ASoC: wm9713: Use core AC'97 reset helper Use the new snd_ac97_reset() helper and the reset functionality provided by snd_soc_new_ac97_codec() to perform the device reset rather than open-coding it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a575be4cbb951244f93342487c2537f729f2239d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:05 2015 +0200 ASoC: wm9712: Use core AC'97 reset helper Use the new snd_ac97_reset() helper and the reset functionality provided by snd_soc_new_ac97_codec() to perform the device reset rather than open-coding it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6e0b73a0a172f4d881092e388b3a3ad57ca80107 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:04 2015 +0200 ASoC: wm9705: Use core AC'97 reset helper Use the new snd_ac97_reset() helper and the reset functionality provided by snd_soc_new_ac97_codec() to perform the device reset rather than open-coding it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 017e800af9f91861dcd6e4fd8a29418de86fd884 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:03 2015 +0200 ASoC: stac9766: Use core reset helper Use the new snd_ac97_reset() helper and the reset functionality provided by snd_soc_new_ac97_codec() to perform the device reset rather than open-coding it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3ab3dbdfb91b70ef6bf4eb9b544bf54ff1dff51a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:02 2015 +0200 ASoC: ad1980: Use core AC'97 reset helper Use the new snd_ac97_reset() helper function to perform the reset and verify the device ID. Unfortunately the reset can't be done in snd_soc_new_ac97_codec() due to the special requirements in order to support the non-standard 16-bit slot mode of the ad1980. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7361fbeaeaab5282bbfc88f1f6fe4cf034f7623c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:01 2015 +0200 ASoC: ac97: Add support for resetting device before registration AC97 devices need to be initially reset before they can be used. Currently each driver does this on its own. Add support for resetting the device to core in snd_soc_new_ac97_codec(). If the caller supplies a device ID and device ID mask the function will reset the device and verify that it has the correct ID, if it does not a error is returned. This will allow to remove custom code with similar functionality from individual drivers. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f1d980ee9b6353f18765bfa6774a5a08d6cb944 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:00 2015 +0200 ALSA: ac97: Add helper function to reset the AC97 device There is currently a lot of code duplication in ASoC drivers regarding the reset handling of devices. This patch introduces a new generic reset function in the generic AC'97 framework that can be used to replace most the custom reset functions. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82805d1b3ee0d93d08fe8957f253642a6f778f9a Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:17 2015 +0100 MAINTAINERS: Add the LPC Clocksource to STi maintained driver list Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c74a06dce5f82ea4e94a552d486293667c905267 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:16 2015 +0100 rtc: bindings: Supply knowledge of a third supported device - clocksource Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 742e40978ff79cc92ba982a27a55b957226f9dbe Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:15 2015 +0100 rtc: st: Update IP layout information to include Clocksource Initial submission adding support for this IP only included Watchdog and the Real-Time Clock. Now the third (and final) device is enabled this trivial patch is required to update the comment in the RTC driver to encompass Clocksource. Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 82c32c0326dc758bdf202c82cb05594ba0dd0d2e Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:14 2015 +0100 watchdog: bindings: Supply knowledge of a third supported device - clocksource Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bea6356c12600b683de55a70e6a4c6cc36fa640f Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:12 2015 +0100 clocksource: bindings: Provide bindings for ST's LPC Clocksource device On current ST platforms the LPC controls a number of functions including Watchdog and Real Time Clock. This patch provides the bindings used to configure LPC in Clocksource mode. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ff45d8dd84dbb6e674e3757a07ef9471568c2e94 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:11 2015 +0100 clocksource: sti: Provide 'use timer as sched clock' capability Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 70bef01c0f1c9a55b54b625be3f82ff7ee1e8c05 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 26 13:39:43 2015 +0100 clocksource: sti: Provide support for the ST LPC Clocksource IP This IP is shared with Watchdog and RTC functionality. All 3 of these devices are mutually exclusive from one another i.e. Only 1 IP can be used at any given time. We use the device-driver model combined with a DT 'mode' property to enforce this. The ST LPC Clocksource IP can be used as the system (tick) timer. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9425e9d8c77dd9f40c5f199127a63be2e2b7c1f4 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 23:13:36 2015 +0800 ASoC: tas5086: Improve the logic for de-emphasis sampling rate selection Slightly improve the logic for de-emphasis sampling rate selection by break out the loop if the rate is matched. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 95f1044f5674b53f67e0933abff228c594792f4c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 22:56:04 2015 +0800 ASoC: tas2552: Fix off-by-one for max_register setting The latest valid register is TAS2552_VBAT_DATA. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Dan Murphy<dmurphy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f285f1610341af4181791938777e0affb5531278 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 23:32:04 2015 +0800 ASoC: rt5677: Remove NULL test for desc before gpiod_set_value_cansleep call It's safe to call gpiod_set_value_cansleep() with NULL desc. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dff22d2054b5dbb1889f20c03959dd0c494fab8c Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Thu Jul 9 11:59:16 2015 +0100 PCI: Call pci_read_bridge_bases() from core instead of arch code When we scan a PCI bus, we read PCI-PCI bridge window registers with pci_read_bridge_bases() so we can validate the resource hierarchy. Most architectures call pci_read_bridge_bases() from pcibios_fixup_bus(), but PCI-PCI bridges are not arch-specific, so this doesn't need to be in arch-specific code. Call pci_read_bridge_bases() directly from the PCI core instead of from arch code. For alpha and mips, we now call pci_read_bridge_bases() always; previously we only called it if PCI_PROBE_ONLY was set. [bhelgaas: changelog] Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx> CC: James E.J. Bottomley <jejb@xxxxxxxxxxxxxxxx> CC: Michael Ellerman <mpe@xxxxxxxxxxxxxx> CC: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Richard Henderson <rth@xxxxxxxxxxx> CC: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> CC: David Howells <dhowells@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Tony Luck <tony.luck@xxxxxxxxx> CC: David S. Miller <davem@xxxxxxxxxxxxx> CC: Ingo Molnar <mingo@xxxxxxxxxx> CC: Guenter Roeck <linux@xxxxxxxxxxxx> CC: Michal Simek <monstr@xxxxxxxxx> CC: Chris Zankel <chris@xxxxxxxxxx> commit 9a0a8a8e852dabeda848baafac19627cb469d5e9 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Mon Jul 20 13:12:49 2015 +0200 Bluetooth: Move IRK checking logic in preparation to new connect method Move IRK checking logic in preparation to new connect method. Also make sure that MGMT_STATUS_INVALID_PARAMS is returned when non identity address is passed to ADD_DEVICE. Right now MGMT_STATUS_FAILED is returned, which might be misleading. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8757825b128e71319150219b0745d3ecb87f34aa Author: Seungyoun Ju <sy39.ju@xxxxxxxxxxx> Date: Mon Jul 13 17:28:13 2015 +0900 Bluetooth: hci_check_conn_params() check proper range Slave latency range has been changed in Core Spec. 4.2 by Erratum 5419 of ESR08_V1.0.0. And it should be applied to Core Spec. 4.0 and 4.1. Before: connSlaveLatency <= ((connSupervisionTimeout / connIntervalMax) - 1) After: connSlaveLatency <= ((connSupervisionTimeout / (connIntervalMax*2)) - 1) This patch makes hci_check_conn_params() check the allowable slave latency range using the changed way. Signed-off-by: Seungyoun Ju <sy39.ju@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit fc586c41117117baf22d1088dad3a771e51e35f7 Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 22:52:52 2015 +0800 net: ieee802154: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> Acked-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Acked-by: Alan Ott <alan@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e432c72c464d2deb6c66d1e2a5f548dc1f0ef4dc Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Tue Jun 23 17:59:39 2015 +0100 Bluetooth: __l2cap_wait_ack() add defensive timeout Add a timeout to prevent the do while loop running in an infinite loop. This ensures that the channel will be instructed to close within 10 seconds so prevents l2cap_sock_shutdown() getting stuck forever. Returns -ENOLINK when the timeout is reached. The channel will be subequently closed and not all data will be ACK'ed. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cb02a25583b59ce48267472cd092485d754964f9 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Tue Jun 23 17:59:38 2015 +0100 Bluetooth: __l2cap_wait_ack() use msecs_to_jiffies() Use msecs_to_jiffies() instead of using HZ so that it is easier to specify the time in milliseconds. Also add a #define L2CAP_WAIT_ACK_POLL_PERIOD to specify the 200ms polling period so that it is defined in a single place. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 451e4c6c6b3fd1a9f446a10eb9f6d4c2c476043c Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Tue Jun 23 17:59:37 2015 +0100 Bluetooth: Add BT_DBG to l2cap_sock_shutdown() Add helpful BT_DBG debug to l2cap_sock_shutdown() and __l2cap_wait_ack() so that the code flow can be analysed. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f65468f6e26c3bd05e642e10e80a485b99b7de05 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Tue Jun 23 17:59:33 2015 +0100 Bluetooth: Make __l2cap_wait_ack more efficient Use chan->state instead of chan->conn because waiting for ACK's is only possible in the BT_CONNECTED state. Also avoids reference to the conn structure so makes locking easier. Only call __l2cap_wait_ack() when the needed condition of chan->unacked_frames > 0 && chan->state == BT_CONNECTED is true and convert the while loop to a do while loop. __l2cap_wait_ack() change the function prototype to pass in the chan variable as chan is already available in the calling function l2cap_sock_shutdown(). Avoids locking issues. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2baea85dec1aebe0b100d4836dee8bcf29a51e94 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Tue Jun 23 17:59:32 2015 +0100 Bluetooth: L2CAP ERTM shutdown protect sk and chan During execution of l2cap_sock_shutdown() which might sleep, the sk and chan structures can be in an unlocked condition which potentially allows the structures to be freed by other running threads. Therefore, there is a possibility of a malfunction or memory reuse after being freed. Keep the sk and chan structures alive during the execution of l2cap_sock_shutdown() by using their respective hold and put functions. This allows the structures to be freeable at the end of l2cap_sock_shutdown(). Signed-off-by: Kautuk Consul <Kautuk_Consul@xxxxxxxxxx> Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d10270ce941ee89afd74076ea3ed8dbef8a0ff25 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Jul 7 10:50:43 2015 +0530 mac802154: fix ieee802154_rx handling Instead of passing ieee802154_hw pointer to ieee802154_rx, we can directly pass the ieee802154_local pointer. Signed-off-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 729a8989b3fa8ae7965c537dfccbd08512e84d3c Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Jul 7 10:50:42 2015 +0530 mac802154: do not export ieee802154_rx() Right now there are no other users for ieee802154_rx() in kernel. So lets remove EXPORT_SYMBOL() for this. Also it moves the function prototype from global header file to local header file. Signed-off-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f104f06c1b0c93a7c087609e6ab0005e359afab9 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Mon Jul 6 05:40:16 2015 +0000 Bluetooth: bt3c_cs: Fix coding style Remove semicolon in switch statement, reported by coccinelle Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7feb99e1308204e4d849dada3443bc410ce5026b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Jul 5 15:02:07 2015 +0200 Bluetooth: btintel: Create common function for Intel version info The Intel version information is shared between USB and UART drivers and with that move it into a generic function of the Intel module. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 09df123d2d128c52987f11c85397cdbc9ffc89c6 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Jul 5 14:55:36 2015 +0200 Bluetooth: btintel: Create common Intel Secure Send function The Intel Secure Send command is used the same in USB and UART drivers and with that move a generic version into the Intel module. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 35ab8150ee9df8c8a47a57617d7ccbd74cb45bcf Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Jul 5 14:37:40 2015 +0200 Bluetooth: hci_uart: Add Intel address configuration support The Intel specific Bluetooth module provides support for pubic address configuration. So make sure that it is enabled for Intel UART devices. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit eeb6abe97390c579d9ed9da27bd98fbf07c641ed Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Jul 5 14:37:39 2015 +0200 Bluetooth: btusb: Use hardware error handler from Intel module The Intel specific Bluetooth module provides now an exported function for the hardware error. Use that instead of duplicating it inside the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 973bb97e5aee56edddaae3d5c96877101ad509c0 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Jul 5 14:37:38 2015 +0200 Bluetooth: btintel: Add generic function for handling hardware errors The handling of hardware error has support for providing a vendor specific callback to deal with the error. Move the Intel specific function out of the USB driver into the generic module so that it can also be utilized by the UART driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 20a7e25f4ee173785fded331d2af4b68b1ef5921 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Sun Jul 5 09:56:36 2015 +0000 Bluetooth: dtl1_cs: Fixed coding style Removed semicolon at end of switch statement,error reported by Coccinelle Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a03e33da5f1f10cc93bd5de140a131dac1db97f0 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Sun Jul 5 09:49:27 2015 +0000 Bluetooth: bfusb: Coding style fix reported by coccinelle Removed semicolon at the end of switch case statement Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ca93cee5a56e5199622bea8bff24c0a96e70c8f1 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Jul 1 12:20:26 2015 +0200 Bluetooth: hci_uart: Add basic support for Intel Lightning Peak devices The Intel Lightning Peak devices do not come with Bluetooth firmware loaded and thus require a full download of the operational Bluetooth firmware when the device is attached via the Bluetooth line discipline. Lightning Peak devices start with a bootloader mode that only accepts a very limited set of HCI commands. The supported commands are enough to identify the hardware and select the right firmware to load. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3cf24cf8c3c06f9a6cacc8fc2cad94661b6096b6 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Jun 24 11:36:36 2015 +0200 mac802154: cfg: add suspend and resume callbacks This patch introduces suspend and resume callbacks to mac802154. When doing suspend we calling the stop driver callback which should stop the receiving of frames. A transceiver should go into low-power mode then. Calling resume will call the start driver callback, which starts receiving again and allow to transmit frames. This was tested only with the fakelb driver and a qemu vm by doing the following commands: echo "devices" > /sys/power/pm_test echo "freeze" > /sys/power/state while doing some high traffic between two fakelb phys. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a6cb869b3b7c16fd7c3ee766dd9f9a4fdda7edf9 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Wed Jun 24 11:36:35 2015 +0200 cfg802154: add PM hooks This patch help to implement suspend/resume in mac802154, these hooks will be run before the device is suspended and after it resumes. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c4227c8a6246b30793bd7360113ddc7b66d526dc Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Jun 24 11:36:34 2015 +0200 mac802154: util: add stop_device utility function This patch adds ieee802154_stop_device for preparing a utility function to stop the ieee802154 device. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 927e031c7cb266e5f7fd600899f1603813ee7439 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Jun 23 16:03:44 2015 +0530 mac802154: remove unused macro This patch removes the unused macro which was removed with the rework of linux-wpan kernel. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8f451829dd97fb22f03844ca52a49828e2e1d666 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Jun 23 11:41:03 2015 +0530 mac802154: use WARN_ON() macro This patch will generate the warning if the required driver ops were not defined. Also it removes unnecessary debug message. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 301d7d42a207e0d4f5bf11c7e2b6862ddebc8c36 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Jun 21 17:11:19 2015 +0200 6lowpan: add request for ipv6 module The iphc module depends on CONFIG_IPV6, because it's not very useful to build the module without IPv6 support. Recently an user reported about issues for setting an IPv6 address to a 6LoWPAN interface. The issues was solved by modprobe the ipv6 module before. To avoid such user issues we try to request the ipv6 module when the 6LoWPAN module is loaded. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d77b4852b4d3698a90eef219acf9cddc964b1f3a Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Jun 21 16:45:20 2015 +0200 mac802154: add llsec address update workaround This patch adds a workaround for using the new nl802154 netlink interface with the old ieee802154 netlink interface togehter. The nl802154 currently supports no access for llsec layer, currently there are users outside which are using both interfaces at the same time. This patch adds a necessary call when addresses are updated. Reported-by: Simon Vincent <simon.vincent@xxxxxxxxxx> Suggested-by: Phoebe Buckheister <phoebe.buckheister@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fac5e5b912bd1b42bad292e0b03956967229b45b Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Jun 19 08:46:15 2015 +0000 Bluetooth: dtl1_cs: Fix coding style -- clean up Braces {} are not necessary for single statement blocks reported by checkpatch Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8626e5eb6c33b78ba7a5eb7cfbc5109896f443ef Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 08:26:57 2015 +0800 ASoC: cs42l73: Fix mask for setting CS42L73_SP_3ST bit CS42L73_SP_3ST is BIT(7), so the mask field is wrong. Fix it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d5a78c8ea050e9c81db1e25a4916d8d9168dfb2e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 08:29:57 2015 +0800 ASoC: cs35l32: Remove unneeded NULL test for cs35l32->reset_gpio It's safe to call gpiod_set_value_cansleep() with NULL desc. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4c38b9c30f78d44c576ca3049577fbd4d5c2acc6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 08:28:50 2015 +0800 ASoC: cs35l32: Fix define for CS35L32_SDOUT_3ST According to the datasheet, the CS35L32_SDOUT_3ST is BIT(3). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0f41421256afdfcadf0ae2d8bf83ecb7ff3ac49e Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Jul 21 17:54:11 2015 -0400 PCI: designware: Don't complain missing *config* reg space if va_cfg0 is set Currently on Keystone SoCs, we always complain: keystone-pcie 21021000.pcie: missing *config* reg space Keystone uses an older version of DesignWare hardware that doesn't have ATU support. So va_cfg0_base and va_cfg1_base are already set up in ks_dw_pcie_host_init() before calling dw_pcie_host_init(), and they point to the remote config space address va (both same for Keystone). Add a check to avoid this boot noise on Keystone. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a70f0d027c83350ad46ca3e86e4c781bfed7fcc2 Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Wed Jul 22 18:23:26 2015 +0800 regulator: tps6586x: silence pointer-to-int-cast of_regulator_match.driver_data is (void *). tps6586x uses it to store an anonymous enum value (those TPS6586X_ID_ values). Later, it tries to extract the ID by casting directly to an int, which is a no-no ([-Wpointer-to-int-cast]): drivers/regulator/tps6586x-regulator.c: In function 'tps6586x_parse_regulator_dt': drivers/regulator/tps6586x-regulator.c:430:8: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] id = (int)tps6586x_matches[i].driver_data; ^ Instead of casting to int, uintptr_t is better suited for receiving and comparing integers extracted from void *. This is especially true on 64-bit systems where sizeof(void *) != sizeof(int). Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 808b27a5ae05e8828b9f6262af5b9dfae5f661d0 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Jul 21 17:35:19 2015 -0400 ARM/PCI: Set MPS before pci_bus_add_devices() The MPS configuration should be done *before* pci_bus_add_devices(). After pci_bus_add_devices(), drivers may be bound to devices, and the PCI core shouldn't touch device configuration while a driver owns the device. [bhelgaas: remove check for bus being non-NULL] Reported-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3b86616e3058462c340710dc7a5ac34ec8453944 Merge: 9a0cb98 8740a14 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Thu Jul 23 08:49:57 2015 -0600 Merge branch 'prcm-a-for-v4.3' into hwmod-prcm-for-v4.3 commit e6ce712634ea038ce42bbb11932b692696756882 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Jul 23 11:06:16 2015 -0300 perf symbols: Introduce map__is_(kernel,kmodule)() To, with members we already have, check if a kernel level map is for the kernel proper or for a module. Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-m5ic7h0z2crmtj7vi1a1rj3b@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b685ac22b436455db9c9c16b384d7aa4531cdd80 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 12:52:17 2015 -0300 perf symbols: Add front end cache for DSO symbol lookup Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-voo94tow8wpkcc76mlkny6sc@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3bbd14e0a2e3a988b1b5fe702a2539bd8d0ec622 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Jul 20 13:32:52 2015 +0200 netfilter: rename local nf_hook_list to hook_list 085db2c04557 ("netfilter: Per network namespace netfilter hooks.") introduced a new nf_hook_list that is global, so let's avoid this overlap. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 7181ebafd4306c9328fa1cd0ead69afa397ffe75 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Jul 20 09:31:25 2015 +0200 netfilter: fix possible removal of wrong hook nf_unregister_net_hook() uses the nf_hook_ops fields as tuple to look up for the corresponding hook in the list. However, we may have two hooks with exactly the same configuration. This shouldn't be a problem for nftables since every new chain has an unique priv field set, but this may still cause us problems in the future, so better address this problem now by keeping a reference to the original nf_hook_ops structure to make sure we delete the right hook from nf_unregister_net_hook(). Fixes: 085db2c04557 ("netfilter: Per network namespace netfilter hooks.") Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 2385eb0c5fbcb4316d3490b3affba8e15efc7eb8 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Jul 20 12:55:02 2015 +0200 netfilter: nf_queue: fix nf_queue_nf_hook_drop() This function reacquires the rtnl_lock() which is already held by nf_unregister_hook(). This can be triggered via: modprobe nf_conntrack_ipv4 && rmmod nf_conntrack_ipv4 [ 720.628746] INFO: task rmmod:3578 blocked for more than 120 seconds. [ 720.628749] Not tainted 4.2.0-rc2+ #113 [ 720.628752] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 720.628754] rmmod D ffff8800ca46fd58 0 3578 3571 0x00000080 [...] [ 720.628783] Call Trace: [ 720.628790] [<ffffffff8152ea0b>] schedule+0x6b/0x90 [ 720.628795] [<ffffffff8152ecb3>] schedule_preempt_disabled+0x13/0x20 [ 720.628799] [<ffffffff8152ff55>] mutex_lock_nested+0x1f5/0x380 [ 720.628803] [<ffffffff81462622>] ? rtnl_lock+0x12/0x20 [ 720.628807] [<ffffffff81462622>] ? rtnl_lock+0x12/0x20 [ 720.628812] [<ffffffff81462622>] rtnl_lock+0x12/0x20 [ 720.628817] [<ffffffff8148ab25>] nf_queue_nf_hook_drop+0x15/0x160 [ 720.628825] [<ffffffff81488d48>] nf_unregister_net_hook+0x168/0x190 [ 720.628831] [<ffffffff81488e24>] nf_unregister_hook+0x64/0x80 [ 720.628837] [<ffffffff81488e60>] nf_unregister_hooks+0x20/0x30 [...] Moreover, nf_unregister_net_hook() should only destroy the queue for this netns, not for every netns. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Fixes: 085db2c04557 ("netfilter: Per network namespace netfilter hooks.") Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 564bc402526e437729ecafe3c3511f7cab9f0327 Author: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> Date: Thu Jul 23 09:46:11 2015 -0400 ext4, jbd2: add REQ_FUA flag when recording an error in the superblock When an error condition is detected, an error status should be recorded into superblocks of EXT4 or JBD2. However, the write request is submitted now without REQ_FUA flag, even in "barrier=1" mode, which is followed by panic() function in "errors=panic" mode. On mobile devices which make whole system reset as soon as kernel panic occurs, this write request containing an error flag will disappear just from storage cache without written to the physical cells. Therefore, when next start, even forever, the error flag cannot be shown in both superblocks, and e2fsck cannot fix the filesystem problems automatically, unless e2fsck is executed in force checking mode. [ Changed use test_opt(sb, BARRIER) of checking the journal flags -- TYT ] Signed-off-by: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 41a1d04b9d2006fdac5cab7680cff89915610944 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Jun 4 16:24:02 2015 -0400 i40e: use BIT and BIT_ULL macros Use macros for abstracting (1 << foo) to BIT(foo) and (1ULL << foo64) to BIT_ULL(foo64) in order to match better with kernel requirements. NOTE: the adminq_cmd.h file was not modified on purpose because of the dependency upon firmware for that file. Change-ID: I73ee2e48c880d671948aad19bd53ca6b2ac558fc Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f1c7e72e3903910d7cc25ed8f45b9ef42b96037d Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jun 4 16:24:01 2015 -0400 i40e: clean up error status messages Clean up a little confusion in reporting error status in phy and fcoe setup error reports by separating the return status from the AQ error. Add two decoder functions to make this easier. Change-ID: I960bcdeef3978a15fec1cdb5eff781d5cbae42fb Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 606a5488a18788c374e797643678a3c82621bf59 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:24:00 2015 -0400 i40e: provide correct API version to older VF drivers This driver fully supports VF drivers using both the 1.0 and 1.1 versions of the virtual channel API. However, VF drivers using version 1.0 get upset if we provide them with a version other than that, and refuse to play with us. Correct this by checking the VFs API version at the time that we store it off, and provide the correct version number back to the VF so we can all get along. Change-ID: I86dfe02e67b2bef336b4b49a1bb072f3e7229abc Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ee1693e5a5ad6cfd701381a1d04cc1878bb90724 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:23:59 2015 -0400 i40evf: support virtual channel API version 1.1 Store off the PF's API version, then use it to determine whether or not to send it our capabilities. Change the version checking to allow for PF drivers with lower API versions than our current version, so we can still talk to PF drivers over the 1.0 API. Change-ID: I8edc55d1229c7decf0ed3f285a63032694007c2e Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e6d038de13c82f8446d9db5b3d9bb7788344b2bd Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:23:58 2015 -0400 i40evf: handle big resets The most common type of reset that the VF will encounter is a PF reset that cascades down into a VF reset for each VF. In this case, the VF will always be assigned the same VSI and recovery is fairly simple. However, in the case of 'bigger' resets, such as a Core or EMP reset, when the device is reinitialized, it's probable that the VF will NOT get the same VSI. When this happens, the VF will not be able to recover, as it will continue to request resources for its original VSI. Add an extra state to the admin queue state machine so that the driver can re-request its configuration information at runtime. During reset recovery, set this bit in the aq_required field, and fetch the (possibly new) configuration information before attempting to bring the driver back up. Since the driver doesn't know what kind of reset it has encountered, this step is done even for a PF reset, but it doesn't hurt anything - it just gets the same VSI back. Change-ID: I915d59ffb40375215117362f4ac7a37811aba748 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f4ca1a229535f1e7eb8253504c66e01e4623c278 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:23:57 2015 -0400 i40e: support virtual channel API 1.1 Store off the VF API version for use when figuring out the VF driver capabilities. Add support for the VF driver handing its capabilities to the PF driver and then use this information when sending VF resource information back to the VF driver. Change-ID: Ic00d0eeeb5b8118085e12f068ef857089a8f7c2d Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 17a65a7f8030c467193a6b774b6bbbbfc9d01f5c Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:23:56 2015 -0400 i40e/i40evf: add macros for virtual channel API version and device capability Now that we've rolled the virtual channel API version to 1.1, add some macros to test what version is being used by our partner in crime. For the VF, add some macros to determine what our device capabilities are. Change-ID: I79f6683d4c23bd76a8ad9fd492776fcc1208e1dc Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1b53c2fb43a0f03f7bb8a179d910e98a2fe68674 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:23:55 2015 -0400 i40e: add VF capabilities to virtual channel interface To prepare for the changes coming up in the X722 device and future devices, the virtual channel interface has to change slightly. The VF driver can now report what its capable of supporting, which then informs the PF driver when it sends the configuration information back to the VF. A 1.1 VF driver on a 1.0 PF driver should not send its capabilities. Likewise, a 1.1 PF driver controlling a 1.0 VF driver should not expect or depend upon receiving the VF capabilities. All other aspects of the API are unchanged. Change-ID: I530cc55f107edd1ee8bdf95830aa90b87854058a Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Acked-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Acked-by: Anjali Singhai <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3b104be39e4a9ed2c0f6be56ceed4235262369b6 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Jun 1 19:33:03 2015 +0000 i40e: clean up unneeded gotos With a little work we can clean up some unnecessary logic jumping and drop a variable. Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Cc: Laurent Navet <laurent.navet@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8740a1444ed3696c3418c2e90481e9528bad60fa Author: Keerthy <j-keerthy@xxxxxx> Date: Thu Jul 16 17:23:19 2015 +0530 ARM: PRM: AM437x: Enable IO wakeup feature Enable IO wakeup feature. This enables am437x pads to generate daisy chained wake ups(eventually generates aprcm Interrupt) especially when in low power modes. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit de32e3efd58e9e6754e911618ac7941979ceb6b1 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Wed Jun 10 13:42:07 2015 -0400 i40e/i40evf: Fix and refactor dynamic ITR code This patch changes the switch statement for dynamic interrupt throttling and adds a default case. With this patch, we check the latency setting instead of the current ITR settings and the included refactor improves performance. Without this patch, the ITR setting would never change dynamically, and there was no default. Change-ID: Idb5a8a14c7109ec47c90f6e94bd43baa17d7ee37 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6fb469023cd995d7be5ab3bf12b79387710382ff Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Wed May 20 15:40:20 2015 -0700 igb: bump version to igb-5.3.0 Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9fa0452b645efdff439948a5cf448b8e497340e9 Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Tue Jun 30 15:16:55 2015 -0700 igb: use ARRAY_SIZE to replace calculating sizeof(a)/sizeof(a[0]) Use the ARRAY_SIZE macro rather than calculating sizeof(a)/sizeof(a[0]). Also directly replace the code rather than using an unnecessary define. Reported-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit cc843711fdcf345fe46db6e2a9dbc0091f336746 Author: Keerthy <j-keerthy@xxxxxx> Date: Thu Jul 16 17:23:18 2015 +0530 ARM: OMAP4+: PRM: Add AM437x specific data The register offsets for some of the PRM Registers are different hence populating the differing fields. This is needed to support IO wake up feature for am437x family. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 8d4be7d8bf04f93cfb1512a078bd276efc270793 Author: Keerthy <j-keerthy@xxxxxx> Date: Wed Jul 8 11:12:26 2015 +0530 ARM: OMAP: PRM: Remove hardcoding of IRQENABLE_MPU_2 and IRQSTATUS_MPU_2 register offsets The register offsets of IRQENABLE_MPU_2 and IRQSTATUS_MPU_2 are hardcoded. This makes it difficult to reuse the code for SoCs like AM437x that have a single instance of IRQENABLE_MPU and IRQSTATUS_MPU registers. Hence handling the case using offset of 4 to accommodate single set of IRQ* registers generically. Signed-off-by: Keerthy <j-keerthy@xxxxxx> [paul@xxxxxxxxx: fixed whitespace alignment problems reported by checkpatch.pl] Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 0c5bbeb8839172990e3b8aa82ae3c166e85a09bc Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Thu Jun 4 14:26:56 2015 -0700 igb: report unsupported ethtool settings in set_coalesce There are many settings possible using ethtool -C/--coalesce, but not all of them are supported in igb. Report failure when an unsupported option is set. Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7faae96421870ed990b0a84797c6b2377e81d079 Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Thu Jun 4 21:07:27 2015 +0800 e1000e: Cleanup qos request in error handling of e1000_open The driver lacks pm_qos_remove_request in error handling (err_req_irq) of e1000_open, and qos request inserted by pm_qos_add_request is not removed. This patch add pm_qos_remove_request in error handling to fix it. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 488abb5c70c19fd37264101d2b6ebee507e1f265 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Tue Jul 21 11:07:25 2015 -0700 HID: wacom: Report touch width/height/orientation for GENERIC devices The HID_DG_WIDTH and HID_DG_HEIGHT usages report with width and height of contacts. From this information, a crude determination of orientation is also possible. This patch reports all three to userspace if a device reports this usage. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 1b5d514a3d24996ddbe7c75685af9dfdeff125b5 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Tue Jul 21 11:07:24 2015 -0700 HID: wacom: Ignore contacts in excess of declared contact count The reports sent from some touch devices (e.g. the Cintiq 24HDT) contain junk data in the contact slots which follow the final "valid" contact. To avoid forwarding it to usrspace, we store the reported contact count during the pre-process phase and then only process that many contacts. If a device sends its contacts across multiple reports (what Microsoft refers to as "hybrid" mode) then the contact count will be zero for reports other than the first. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 06324e0cb28e06cd7cf609d7c3099b12841a5dd6 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Tue Jul 21 11:07:23 2015 -0700 HID: wacom: Perform all event processing as part of report processing In some cases, we need access to information before it becomes available to the 'event' handler. In particular, for some devices we cannot properly process the finger data without first knowing the "contact count" at the very end of the report (e.g. the Cintiq 24HDT touch screen, when forced through the GENERIC codepath). Since the HID subsystem doesn't provide a way to take action before 'event' is called, we take a cue from hid-multitouch.c and add a pre-process step within the 'report' handler that performs the same function. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 9cba434f630a972b47327ae3d014445033166206 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Thu Apr 30 11:50:55 2015 -0700 ixgbevf: add support for reporting RSS key and hash table for X550 This patch extends the reporting of the RSS key and hash table by adding support for X550 VFs. The difference is that X550 VFs have their own registers for RSS key and indirection table, so there is no need to query the PF. The RSS key and indirection table are stored in the adapter structure during the configuration of VFRSSRK and VFRETA which in turn can be used in ethtool for reporting. The logic for writing VFRETA is also changed to make sure that the indirection table is reported correctly. In addition this patch adds defines for the VFRETA entries and number of VFRSSRK registers as well as some whitespace cleanups. Reported-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6e487001c5b0939e6083327432565559d8aab6fc Author: Keerthy <j-keerthy@xxxxxx> Date: Mon Jun 22 11:52:53 2015 +0530 ARM: dts: AM4372: Add PRCM IRQ entry Add PRCM IRQ entry. This is needed for I/O wakeup support. Signed-off-by: Keerthy <j-keerthy@xxxxxx> [paul@xxxxxxxxx: added I/O wakeup note in commit description] Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 39db67a5ff5b29f5e55f129e9da0d77dc17f24e2 Author: Keerthy <j-keerthy@xxxxxx> Date: Wed Jul 8 11:12:24 2015 +0530 ARM: AM43xx: Add the PRM IRQ register offsets Add the PRM IRQ register offsets. This is needed to support PRM I/O wakeup on AM43xx. Signed-off-by: Keerthy <j-keerthy@xxxxxx> [paul@xxxxxxxxx: improved patch description, moved the PRM_IO_PMCTRL macro out of the CM section] Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit fac03f12f8d86f349a3b3992ae9d59a53bc250f6 Author: Keerthy <j-keerthy@xxxxxx> Date: Thu Jul 16 17:23:16 2015 +0530 ARM: OMAP4: PRM: Remove hardcoding of PRM_IO_PMCTRL_OFFSET register PRM_IO_PMCTRL_OFFSET need not be same for all SOCs hence remove hardcoding and use the value provided by the omap_prcm_irq_setup structure. This is done to support IO wakeup on am437x series. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 6f2536141ce12e405d70f868451e706216e7e52d Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:09 2015 +0100 mfd: dt-bindings: Provide human readable define for Clocksource mode ST's Low Power Controller can now operate in three supported modes; Watchdog, Real Time Clock and most recently as a Clocksource. This new define will allow the LPC IP to be configured for Clocksource from DT. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 03952d98015326a07ae1cf7adb4c43265ec4058f Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:38 2015 -0400 crypto: nx - make platform drivers directly register with crypto Remove the common 'platform' registration module, and move the crypto compression driver registration into each of the pSeries and PowerNV platform NX 842 drivers. Change the nx-842.c code into simple common functions that each platform driver uses to perform constraints-based buffer changes, i.e. realigning and/or resizing buffers to match the driver's hardware requirements. The common 'platform' module was my mistake to create - since each platform driver will only load/operate when running on its own platform (i.e. a pSeries platform or a PowerNV platform), they can directly register with the crypto subsystem, using the same alg and driver name. This removes unneeded complexity. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 174d66d4725879b80f8af0bda2b218c2892a9ddb Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:37 2015 -0400 crypto: nx - rename nx-842-crypto.c to nx-842.c The last commit merged nx-842.c's code into nx-842-crypto.c. It did not rename nx-842-crypto.c to nx-842.c, in order to let the patch more clearly show what was merged. This just renames nx-842-crypto.c to nx-842.c, with no changes to its code. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d31581a6e31f1c954704f081376e19c2014c45d3 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:36 2015 -0400 crypto: nx - merge nx-compress and nx-compress-crypto Merge the nx-842.c code into nx-842-crypto.c. This allows later patches to remove the 'platform' driver, and instead allow each platform driver to directly register with the crypto compression api. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 20fc311fc0e14d9f5ef72cfe785fd2b3f6339ab8 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:35 2015 -0400 crypto: nx - use common code for both NX decompress success cases Replace the duplicated finishing code (set destination buffer length and set return code to 0) in the case of decompressing a buffer with no header with a goto to the success case of decompressing a buffer with a header. This is a trivial change that allows both success cases to use common code, and includes the pr_debug() msg in both cases as well. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ee781b7ff3d8ab93bf99b1c3e1f0a29dda2a63e5 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:34 2015 -0400 crypto: nx - don't register pSeries driver if ENODEV Don't register the pSeries driver when parsing the device tree returns ENODEV. The nx842_probe() function in the pSeries driver returns error instead of registering as a crypto compression driver, when it receives an error return value from the nx842_OF_upd() function that probes the device tree nodes, except when ENODEV is returned. However ENODEV should not be a special case and the driver should not register when there is no hw device, or the hw device is disabled. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7f6e3aad5ab31c310b36bf0edcd305305b20e2a8 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:33 2015 -0400 crypto: nx - move kzalloc() out of spinlock Move the kzalloc() calls in nx842_probe() and nx842_OF_upd() to the top of the functions, before taking the devdata spinlock. Since kzalloc() without GFP_ATOMIC can sleep, it can't be called while holding a spinlock. Move the calls to before taking the lock. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 90fd73f912f0897bc22351b55925a4962c045086 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:32 2015 -0400 crypto: nx - remove pSeries NX 'status' field Remove the 'status' field from the pSeries NX driver data. The 'status' field isn't used by the driver at all; it simply checks the devicetree status node at initialization, and returns success if 'okay' and failure otherwise. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 039af9675fd9ce2bc1d0b02b9cb10ca9fd7a5445 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:31 2015 -0400 crypto: nx - remove __init/__exit from VIO functions Remove the __init and __exit modifiers from the VIO driver probe and remove functions. The driver functions should not be marked __init/__exit because they can/will be called during runtime, not only at module init and exit. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8f5ea2df02fb0a50d81701e0c5dc8a5f00381147 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Tue Jul 21 22:07:47 2015 -0700 crypto: qat - Don't attempt to register algorithm multiple times When multiple devices are present in the system the driver attempts to register the same algorithm many times. Changes in v2: - use proper synchronization mechanizm between register and unregister Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 01c9348c7620ec650aaeb3ce339f614709b2fb5a Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Fri Jul 17 20:11:43 2015 +1000 powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_* The hardware RNG on POWER8 and POWER7+ can be relatively slow, since it can only supply one 64-bit value per microsecond. Currently we read it in arch_get_random_long(), but that slows down reading from /dev/urandom since the code in random.c calls arch_get_random_long() for every longword read from /dev/urandom. Since the hardware RNG supplies high-quality entropy on every read, it matches the semantics of arch_get_random_seed_long() better than those of arch_get_random_long(). Therefore this commit makes the code use the POWER8/7+ hardware RNG only for arch_get_random_seed_{long,int} and not for arch_get_random_{long,int}. This won't affect any other PowerPC-based platforms because none of them currently support a hardware RNG. To make it clear that the ppc_md function pointer is used for arch_get_random_seed_*, we rename it from get_random_long to get_random_seed. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1c2cb594441d02815d304cccec9742ff5c707495 Author: Thomas Huth <thuth@xxxxxxxxxx> Date: Fri Jul 17 12:46:58 2015 +0200 powerpc/rtas: Introduce rtas_get_sensor_fast() for IRQ handlers The EPOW interrupt handler uses rtas_get_sensor(), which in turn uses rtas_busy_delay() to wait for RTAS becoming ready in case it is necessary. But rtas_busy_delay() is annotated with might_sleep() and thus may not be used by interrupts handlers like the EPOW handler! This leads to the following BUG when CONFIG_DEBUG_ATOMIC_SLEEP is enabled: BUG: sleeping function called from invalid context at arch/powerpc/kernel/rtas.c:496 in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/1 CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.2.0-rc2-thuth #6 Call Trace: [c00000007ffe7b90] [c000000000807670] dump_stack+0xa0/0xdc (unreliable) [c00000007ffe7bc0] [c0000000000e1f14] ___might_sleep+0x134/0x180 [c00000007ffe7c20] [c00000000002aec0] rtas_busy_delay+0x30/0xd0 [c00000007ffe7c50] [c00000000002bde4] rtas_get_sensor+0x74/0xe0 [c00000007ffe7ce0] [c000000000083264] ras_epow_interrupt+0x44/0x450 [c00000007ffe7d90] [c000000000120260] handle_irq_event_percpu+0xa0/0x300 [c00000007ffe7e70] [c000000000120524] handle_irq_event+0x64/0xc0 [c00000007ffe7eb0] [c000000000124dbc] handle_fasteoi_irq+0xec/0x260 [c00000007ffe7ef0] [c00000000011f4f0] generic_handle_irq+0x50/0x80 [c00000007ffe7f20] [c000000000010f3c] __do_irq+0x8c/0x200 [c00000007ffe7f90] [c0000000000236cc] call_do_irq+0x14/0x24 [c00000007e6f39e0] [c000000000011144] do_IRQ+0x94/0x110 [c00000007e6f3a30] [c000000000002594] hardware_interrupt_common+0x114/0x180 Fix this issue by introducing a new rtas_get_sensor_fast() function that does not use rtas_busy_delay() - and thus can only be used for sensors that do not cause a BUSY condition - known as "fast" sensors. The EPOW sensor is defined to be "fast" in sPAPR - mpe. Fixes: 587f83e8dd50 ("powerpc/pseries: Use rtas_get_sensor in RAS code") Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> Reviewed-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 045a0fa0c5f5ea0f16c009f924ea579634afbba8 Author: Thomas Graf <tgraf@xxxxxxx> Date: Thu Jul 23 10:08:44 2015 +0200 ip_tunnel: Call ip_tunnel_core_init() from inet_init() Convert the module_init() to a invocation from inet_init() since ip_tunnel_core is part of the INET built-in. Fixes: 3093fbe7ff4 ("route: Per route IP tunnel metadata via lightweight tunnel") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5e40ee287db61a79af1746954ee03ebbf1ff8a3 Merge: 0528318 c5dfd65 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 23 00:41:16 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/bridge/br_mdb.c br_mdb.c conflict was a function call being removed to fix a bug in 'net' but whose signature was changed in 'net-next'. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab4a936247561cd998913bab5f15e3d3eaed1f9e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jun 17 23:10:21 2015 +0200 pinctrl: nomadik: assure GPIO chips are populated If the pin controller probes before the GPIO driver it needs to populate the GPIO driver state containers ahead of the actual driver probe as the addresses are used by both halves of the driver. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6ca7d2e352545132923bfdfcd17a4ceee80f5ce9 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jun 17 16:05:47 2015 +0200 pinctrl: nomadik: find chip from local array Instead of indexing around the GPIO ranges to find a chip, look directly in the local array of state containers for nmk_gpio_chip:s. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bc222ef4f79fa0003ef5a0af8090372e3bd8a783 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jun 17 15:45:41 2015 +0200 pinctrl: nomadik: break out state container allocator Break out the function that allocates the nomadik GPIO chip state container to its own function. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5492830370171b6a4ede8a3bfba687a8d0f25fa5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jul 10 13:32:13 2015 +0200 KVM: svm: handle KVM_X86_QUIRK_CD_NW_CLEARED in svm_get_mt_mask We can disable CD unconditionally when there is no assigned device. KVM now forces guest PAT to all-writeback in that case, so it makes sense to also force CR0.CD=0. When there are assigned devices, emulate cache-disabled operation through the page tables. This behavior is consistent with VMX microcode, where CD/NW are not touched by vmentry/vmexit. However, keep this dependent on the quirk because OVMF enables the caches too late. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5f3d45e7f2827f48e60eb821efd909713b43ac63 Author: Mihai DonÈ?u <mdontu@xxxxxxxxxxxxxxx> Date: Sun Jul 5 20:08:57 2015 +0300 kvm/x86: add support for MONITOR_TRAP_FLAG Allow a nested hypervisor to single step its guests. Signed-off-by: Mihai DonÈ?u <mihai.dontu@xxxxxxxxx> [Fix overlong line. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2ce7918990641b07e70e1b25752d666369e2016e Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Jul 3 15:01:41 2015 +0300 kvm/x86: add sending hyper-v crash notification to user space Sending of notification is done by exiting vcpu to user space if KVM_REQ_HV_CRASH is enabled for vcpu. At exit to user space the kvm_run structure contains system_event with type KVM_SYSTEM_EVENT_CRASH to notify about guest crash occurred. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> Reviewed-by: Peter Hornyack <peterhornyack@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e7d9513b60e87f62e41090fa3a26eca796924346 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Jul 3 15:01:37 2015 +0300 kvm/x86: added hyper-v crash msrs into kvm hyperv context Added kvm Hyper-V context hv crash variables as storage of Hyper-V crash msrs. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> Reviewed-by: Peter Hornyack <peterhornyack@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ee86dbc6e327062396748162b95309388c19faab Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Jul 3 15:01:35 2015 +0300 kvm: introduce vcpu_debug = kvm_debug + vcpu context vcpu_debug is useful macro like kvm_debug but additionally includes vcpu context inside output. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> Reviewed-by: Peter Hornyack <peterhornyack@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e83d58874ba1de74c13d3c6b05f95a023c860d25 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Jul 3 15:01:34 2015 +0300 kvm/x86: move Hyper-V MSR's/hypercall code into hyperv.c file This patch introduce Hyper-V related source code file - hyperv.c and per vm and per vcpu hyperv context structures. All Hyper-V MSR's and hypercall code moved into hyperv.c. All Hyper-V kvm/vcpu fields moved into appropriate hyperv context structures. Copyrights and authors information copied from x86.c to hyperv.c. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> Reviewed-by: Peter Hornyack <peterhornyack@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9ef03193a93553885b43731c47d3b6ae90e677c4 Author: Thomas Huth <thuth@xxxxxxxxxx> Date: Wed Jul 22 18:56:47 2015 +0200 powerpc/rtas: Replace magic values with defines rtas.h already has some nice #defines for RTAS return status codes - let's use them instead of hard-coded "magic" values! Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> Reviewed-by: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f9eb4af67c9dde195bae965a86c35c35402249c0 Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Date: Fri Apr 17 02:22:21 2015 +0000 KVM: nVMX: VMX instructions: add checks for #GP/#SS exceptions According to Intel SDM several checks must be applied for memory operands of VMX instructions. Long mode: #GP(0) or #SS(0) depending on the segment must be thrown if the memory address is in a non-canonical form. Protected mode, checks in chronological order: - The segment type must be checked with access type (read or write) taken into account. For write access: #GP(0) must be generated if the destination operand is located in a read-only data segment or any code segment. For read access: #GP(0) must be generated if if the source operand is located in an execute-only code segment. - Usability of the segment must be checked. #GP(0) or #SS(0) depending on the segment must be thrown if the segment is unusable. - Limit check. #GP(0) or #SS(0) depending on the segment must be thrown if the memory operand effective address is outside the segment limit. Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2303553f3f32cb508c7818ebfda78a13d3c10d37 Author: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Date: Thu Jul 23 07:00:10 2015 +0200 ARM: dts: Use stdout-path in STM32F429 Discovery board This patch replaces use of linux,stdout-path by stdout-path as per "chosen" DT bindings documentation. Doing that, the "console" argument is no more needed in kernel command line. Reported-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> commit 83722c2c7e929ed0d6556b16c71d45de279b0945 Author: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Date: Sun Jul 12 11:27:36 2015 +0200 ARM: dts: Add STM32429i-EVAL board support Main features of STM32429i-EVAL evaluation kit are: - STM32F429 Cortex-M4 MCU @180MHz * 2MB internal Flash * 256KB internal RAM - 32MB SDRAM - 16MB NOR Flash - 2MB SRAM - 4.3" TFT LCD with resistive touchscreen - SDCard connector (SDIO compatible) - 1x USB 2.0 OTG + 1x USB 1.1 OTG - Ethernet Signed-off-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> commit ab7435982254d26cbc9af225065e0a6a94566269 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:58 2015 +0200 staging: rtl8192e: Rename init_hal_dm Use naming schema found in other rtlwifi devices. Rename init_hal_dm to rtl92e_dm_init. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8216b690d52f3cde4ab94c05f8772d0acdab57d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:57 2015 +0200 staging: rtl8192e: Rename init_firmware Use naming schema found in other rtlwifi devices. Rename init_firmware to rtl92e_init_fw. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d66e938e1b5b40dc0d9f8f47d66f737e386b44ee Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:56 2015 +0200 staging: rtl8192e: Rename rtllib_ips_leave_wq Use naming schema found in other rtlwifi devices. Rename rtllib_ips_leave_wq to rtl92e_rtllib_ips_leave_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf135a16c5babbf51674431c7c7f73761c846f43 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:55 2015 +0200 staging: rtl8192e: Rename rtllib_ips_leave Use naming schema found in other rtlwifi devices. Rename rtllib_ips_leave to rtl92e_rtllib_ips_leave. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c34b29f7c8dcaabc42eae8b4ce81a8ec82d9d1f9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:54 2015 +0200 staging: rtl8192e: Rename rtl8192_hw_wakeup_wq Use naming schema found in other rtlwifi devices. Rename rtl8192_hw_wakeup_wq to rtl92e_hw_wakeup_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43bcb3b4c78585a9cd7741b49e272fae989074ba Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:53 2015 +0200 staging: rtl8192e: Rename rtl8192_hw_wakeup Use naming schema found in other rtlwifi devices. Rename rtl8192_hw_wakeup to rtl92e_hw_wakeup. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit feb257e5f9982821dcafe7f190d810a418cd2076 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:52 2015 +0200 staging: rtl8192e: Rename rtl8192_hw_to_sleep Use naming schema found in other rtlwifi devices. Rename rtl8192_hw_to_sleep to rtl92e_enter_sleep. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcdcc1ea06be6851c5dfd885e9ac3b1388bbd36b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:51 2015 +0200 staging: rtl8192e: Rename rtl8192_hw_sleep_wq Use naming schema found in other rtlwifi devices. Rename rtl8192_hw_sleep_wq to rtl92e_hw_sleep_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c4a55d1dac3cd17aad9944f1647e2ade5a6345f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:50 2015 +0200 staging: rtl8192e: Rename LeisurePSLeave Use naming schema found in other rtlwifi devices. Rename LeisurePSLeave to rtl92e_leisure_ps_leave. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04197ef2bdfbb334de18a5d5f105acb71eef1db5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:49 2015 +0200 staging: rtl8192e: Rename LeisurePSEnter Use naming schema found in other rtlwifi devices. Rename LeisurePSEnter to rtl92e_leisure_ps_enter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a514c798ee57d82d8332b0315dba00c6e4cb0c3e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:48 2015 +0200 staging: rtl8192e: Rename IPSLeave_wq Use naming schema found in other rtlwifi devices. Rename IPSLeave_wq to rtl92e_ips_leave_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ab2aba29e1d28ecb1a211f3edbce6d65e92e05c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:47 2015 +0200 staging: rtl8192e: Rename IPSLeave Use naming schema found in other rtlwifi devices. Rename IPSLeave to rtl92e_ips_leave. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 410d6fc983a61dec4a514b3426e8368b2fd3fd17 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:43 2015 +0200 staging: rtl8192e: Rename IPSEnter Use naming schema found in other rtlwifi devices. Rename IPSEnter to rtl92e_ips_enter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3683dc1f08f81ce69d5f405bf78c55775996dcf4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:42 2015 +0200 staging: rtl8192e: Rename rtl8192E_suspend Use naming schema found in other rtlwifi devices. Rename rtl8192E_suspend to rtl92e_suspend. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ba6623df9e2d349586b592b809e26b12d3da416 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:41 2015 +0200 staging: rtl8192e: Rename rtl8192E_resume Use naming schema found in other rtlwifi devices. Rename rtl8192E_resume to rtl92e_resume. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e250592ed93a12eecc42ed590f5a8245a20ab994 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:40 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_findadapter Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_findadapter to rtl92e_check_adapter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68cb7b7a5918114cf9712d2bb5dc8aad7300dd58 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:39 2015 +0200 staging: rtl8192e: Rename eprom_read Use naming schema found in other rtlwifi devices. Rename eprom_read to rtl92e_eeprom_read. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e3ba83a4996721b44c9cb2bcebad4e12d072416 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:38 2015 +0200 staging: rtl8192e: Rename init_rate_adaptive Use naming schema found in other rtlwifi devices. Rename init_rate_adaptive to rtl92e_init_adaptive_rate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e1e64bb66c5236153255a4ec2de77f21569c537 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:37 2015 +0200 staging: rtl8192e: Rename hal_dm_watchdog Use naming schema found in other rtlwifi devices. Rename hal_dm_watchdog to rtl92e_dm_watchdog. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33059f5435ea4a172dc61c8f09c09ee06e5f14d7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:36 2015 +0200 staging: rtl8192e: Rename dm_txpower_trackingcallback Use naming schema found in other rtlwifi devices. Rename dm_txpower_trackingcallback to rtl92e_dm_txpower_tracking_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cd4db70c6f8748c868dac83bad49426d5e31486 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:35 2015 +0200 staging: rtl8192e: Rename dm_rf_pathcheck_workitemcallback Use naming schema found in other rtlwifi devices. Rename dm_rf_pathcheck_workitemcallback to rtl92e_dm_rf_pathcheck_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25c01ec36eafb4096edaae0607b0dc7e4762cb38 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:34 2015 +0200 staging: rtl8192e: Rename dm_restore_dynamic_mechanism_state Use naming schema found in other rtlwifi devices. Rename dm_restore_dynamic_mechanism_state to rtl92e_dm_restore_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a9f18cfeda0b73d2fafdab6eb1c4457ddd34b76 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:33 2015 +0200 staging: rtl8192e: Rename dm_initialize_txpower_tracking Use naming schema found in other rtlwifi devices. Rename dm_initialize_txpower_tracking to rtl92e_dm_init_txpower_tracking. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7842c2d58d4dc8b5e96d87aa61d619bd6f094ca7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:32 2015 +0200 staging: rtl8192e: Rename dm_init_edca_turbo Use naming schema found in other rtlwifi devices. Rename dm_init_edca_turbo to rtl92e_dm_init_edca_turbo. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59e84dc363bfaa675db8da94113d3250170ebb70 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:31 2015 +0200 staging: rtl8192e: Rename dm_cck_txpower_adjust Use naming schema found in other rtlwifi devices. Rename dm_cck_txpower_adjust to rtl92e_dm_cck_txpower_adjust. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 090e8a4d99339f66971b9e2b3b13a62fa115b1d0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:30 2015 +0200 staging: rtl8192e: Rename dm_backup_dynamic_mechanism_state Use naming schema found in other rtlwifi devices. Rename dm_backup_dynamic_mechanism_state to rtl92e_dm_backup_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd9e3171844891b510adf125d820a91d212f359c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:29 2015 +0200 staging: rtl8192e: Rename deinit_hal_dm Use naming schema found in other rtlwifi devices. Rename deinit_hal_dm to rtl92e_dm_deinit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6dee0c884a24074ad9de3150e6c527bb4a148277 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:28 2015 +0200 staging: rtl8192e: Rename write_nic_word Use naming schema found in other rtlwifi devices. Rename write_nic_word to rtl92e_writew. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ea541001bf7b0a2bbffa447ccfa834354c9f1dc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:27 2015 +0200 staging: rtl8192e: Rename write_nic_dword Use naming schema found in other rtlwifi devices. Rename write_nic_dword to rtl92e_writel. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8ae1967694aca45edf9a9d559aa904c433b4bbe Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:26 2015 +0200 staging: rtl8192e: Rename write_nic_byte Use naming schema found in other rtlwifi devices. Rename write_nic_byte to rtl92e_writeb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97ef450b860065fe3b7c657382af889c6ed00c79 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:25 2015 +0200 staging: rtl8192e: Rename rtl819x_update_rxsignalstatistics8190pci Use naming schema found in other rtlwifi devices. Rename rtl819x_update_rxsignalstatistics8190pci to rtl92e_update_rx_statistics. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7879efc5a6a072eb27c14a74b45676a5cdfd26a1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:24 2015 +0200 staging: rtl8192e: Rename rtl819x_UpdateRxPktTimeStamp Use naming schema found in other rtlwifi devices. Rename rtl819x_UpdateRxPktTimeStamp to rtl92e_update_rx_pkt_timestamp. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f54f10bfa1617feb7aaaad61ddc8e9afb50a87e4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:23 2015 +0200 staging: rtl8192e: Rename rtl819x_translate_todbm Use naming schema found in other rtlwifi devices. Rename rtl819x_translate_todbm to rtl92e_translate_to_dbm. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa804031831cfcff16811717bd46c1c6deee168a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:22 2015 +0200 staging: rtl8192e: Rename rtl819x_query_rxpwrpercentage Use naming schema found in other rtlwifi devices. Rename rtl819x_query_rxpwrpercentage to rtl92e_rx_db_to_percent. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b89d0e7ceb733501e7203ca52ed9e294bd46a0d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:21 2015 +0200 staging: rtl8192e: Rename rtl819x_evm_dbtopercentage Use naming schema found in other rtlwifi devices. Rename rtl819x_evm_dbtopercentage to rtl92e_evm_db_to_percent. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94199b35ff28093bb94f26a7a668e33becec092d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:20 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_enable Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_enable to rtl92e_tx_enable. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35bf848f0662a923416d1e92120067d555f5706a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:19 2015 +0200 staging: rtl8192e: Rename rtl8192_SetWirelessMode Use naming schema found in other rtlwifi devices. Rename rtl8192_SetWirelessMode to rtl92e_set_wireless_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 630268b75726785b9709b47afb10bcaed4fa0e35 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:18 2015 +0200 staging: rtl8192e: Rename rtl8192_rx_enable Use naming schema found in other rtlwifi devices. Rename rtl8192_rx_enable to rtl92e_rx_enable. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e58701dae05c041d443178a3a78bed9438cc21e7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:17 2015 +0200 staging: rtl8192e: Rename rtl8192_record_rxdesc_forlateruse Use naming schema found in other rtlwifi devices. Rename rtl8192_record_rxdesc_forlateruse to rtl92e_copy_mpdu_stats. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36154dc3deea461eec4c8428336387192fe6e2ce Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:16 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_resetdescring Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_resetdescring to rtl92e_reset_desc_ring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b74299cde425f0b20c37fa6dfed2ecdf0c8853b2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:15 2015 +0200 staging: rtl8192e: Rename rtl8192_irq_enable Use naming schema found in other rtlwifi devices. Rename rtl8192_irq_enable to rtl92e_irq_enable. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7b50d654c47eaf86711465aed3cd6888efbe204 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:14 2015 +0200 staging: rtl8192e: Rename rtl8192_irq_disable Use naming schema found in other rtlwifi devices. Rename rtl8192_irq_disable to rtl92e_irq_disable. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 122fe9f1dfa2aeacceda2d32a8e496168744c3de Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:13 2015 +0200 staging: rtl8192e: Rename rtl8192_config_rate Use naming schema found in other rtlwifi devices. Rename rtl8192_config_rate to rtl92e_config_rate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc4f2cc90d214e81bb75c5b63a8c919779f32a6a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:12 2015 +0200 staging: rtl8192e: Rename rtl8192_commit Use naming schema found in other rtlwifi devices. Rename rtl8192_commit to rtl92e_commit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c0a7c0e622a94eeb2da1d249757753f903eb79b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:11 2015 +0200 staging: rtl8192e: Rename read_nic_word Use naming schema found in other rtlwifi devices. Rename read_nic_word to rtl92e_readw. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99aa47e0752ed05cd9cfb653fee33ecc5566b876 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:10 2015 +0200 staging: rtl8192e: Rename read_nic_dword Use naming schema found in other rtlwifi devices. Rename read_nic_dword to rtl92e_readl. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b59a4ca3d4421866cc7f49135ab6f7b7c84fdb48 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:09 2015 +0200 staging: rtl8192e: Rename read_nic_byte Use naming schema found in other rtlwifi devices. Rename read_nic_byte to rtl92e_readb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 502bd1d7c35fad9ab3806f2b6597fa92a2f6c132 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:08 2015 +0200 staging: rtl8192e: Rename NicIFEnableNIC Use naming schema found in other rtlwifi devices. Rename NicIFEnableNIC to rtl92e_enable_nic. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af002dc63731fb8f31bdac5b53af80bec4a3f776 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:07 2015 +0200 staging: rtl8192e: Rename NicIFDisableNIC Use naming schema found in other rtlwifi devices. Rename NicIFDisableNIC to rtl92e_disable_nic. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f434f9d5c60825f3a426a9ac5c5222b0eab8c82d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:06 2015 +0200 staging: rtl8192e: Rename MgntActSet_RF_State Use naming schema found in other rtlwifi devices. Rename MgntActSet_RF_State to rtl92e_set_rf_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a643d927c2ec9210d07b8e9aa20d598675dc2aef Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:05 2015 +0200 staging: rtl8192e: Rename check_rfctrl_gpio_timer Use naming schema found in other rtlwifi devices. Rename check_rfctrl_gpio_timer to rtl92e_check_rfctrl_gpio_timer. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aae7e72e1d4dce958f5ba26c7037546bd846a89d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:04 2015 +0200 staging: rtl8192e: Rename set_swcam Use naming schema found in other rtlwifi devices. Rename set_swcam to rtl92e_set_swcam. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 408bd7b7b244c23a78deb41cadbeb070c794da94 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:03 2015 +0200 staging: rtl8192e: Rename setKey Use naming schema found in other rtlwifi devices. Rename setKey to rtl92e_set_key. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3742093268faec364254966286b69fa4801bbc01 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:02 2015 +0200 staging: rtl8192e: Rename EnableHWSecurityConfig8192 Use naming schema found in other rtlwifi devices. Rename EnableHWSecurityConfig8192 to rtl92e_enable_hw_security_config. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66497f0223cb23b572e360d32ad5473f618c5e57 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:01 2015 +0200 staging: rtl8192e: Rename CamRestoreAllEntry Use naming schema found in other rtlwifi devices. Rename CamRestoreAllEntry to rtl92e_cam_restore. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 358e4ee166b7c7d7550c46b57000cd628c9001de Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:00 2015 +0200 staging: rtl8192e: Rename CamResetAllEntry Use naming schema found in other rtlwifi devices. Rename CamResetAllEntry to rtl92e_cam_reset. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad8d51615c61cbb257cedfe86b11d13b8c9a08a4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:59 2015 +0200 staging: rtl8192e: Rename SetRFPowerState Use naming schema found in other rtlwifi devices. Rename SetRFPowerState to rtl92e_set_rf_power_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae924acdaedd0b17b9dc29a3e61814d9cc98fdb0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:58 2015 +0200 staging: rtl8192e: Rename rtl8192_SetBWMode Use naming schema found in other rtlwifi devices. Rename rtl8192_SetBWMode to rtl92e_set_bw_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 153f9ddbe97828e9cb3428bc6698da49deb3c574 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:57 2015 +0200 staging: rtl8192e: Rename rtl8192_setBBreg Use naming schema found in other rtlwifi devices. Rename rtl8192_setBBreg to rtl92e_set_bb_reg. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c351feca929e142574b1f904a42475e4056de45 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:56 2015 +0200 staging: rtl8192e: Rename rtl8192_QueryBBReg Use naming schema found in other rtlwifi devices. Rename rtl8192_QueryBBReg to rtl92e_get_bb_reg. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68a5143c812d13d6a30c5863511cb2ee92635123 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:55 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_SwChnl Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_SwChnl to rtl92e_set_channel. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5aa1b9cad7a352e2e4a72f553689fe03c629f65c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:54 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_setTxPower Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_setTxPower to rtl92e_set_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0e044feec65d1f71956672ea2b7a1ea5e6d2ec6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:53 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_SetRFReg Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_SetRFReg to rtl92e_set_rf_reg. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31aebbe2226cdcb17ee9cd9ed6f66c072604f8d9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:52 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_RFConfig Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_RFConfig to rtl92e_config_phy. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d415decee9229b09fa6c800f5e2b00bf6c8988e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:51 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_QueryRFReg Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_QueryRFReg to rtl92e_get_rf_reg. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78cc16fa40f731ff1eef2ea9806d70afdf8220c7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:50 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_getTxPower Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_getTxPower to rtl92e_get_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2504c113d85d2679993ffa00bdf5e1a087409b0c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:49 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_ConfigRFWithHeaderFile Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_ConfigRFWithHeaderFile to rtl92e_config_rf_path. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0efe7104ea2a1e50947fd6272d6efb2c8911fc31 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:48 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_configmac Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_configmac to rtl92e_config_mac. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5948d1feb7b98d557967760e4dc0b4a253b6e5e3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:47 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_CheckIsLegalRFPath Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_CheckIsLegalRFPath to rtl92e_is_legal_rf_path. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e21d14d805bb77b83c100c2df3209909febd379d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:46 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_checkBBAndRF Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_checkBBAndRF to rtl92e_check_bb_and_rf. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2949353dde018594063d20b6dc38cc86b1846729 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:45 2015 +0200 staging: rtl8192e: Rename rtl8192_BBConfig Use naming schema found in other rtlwifi devices. Rename rtl8192_BBConfig to rtl92e_config_bb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3803cb215ba6933ca461598ff5ba9a2d629e1d84 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:44 2015 +0200 staging: rtl8192e: Rename PHY_SetRtl8192eRfOff Use naming schema found in other rtlwifi devices. Rename PHY_SetRtl8192eRfOff to rtl92e_set_rf_off. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a44c6e6731d32e0a6efd3f2ddfbc81e4936d8b6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:43 2015 +0200 staging: rtl8192e: Rename PHY_ScanOperationBackup8192 Use naming schema found in other rtlwifi devices. Rename PHY_ScanOperationBackup8192 to rtl92e_scan_op_backup. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfb7a12773fb81ef0b15bc8f33297fbd6586fd0c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:42 2015 +0200 staging: rtl8192e: Rename InitialGain819xPci Use naming schema found in other rtlwifi devices. Rename InitialGain819xPci to rtl92e_init_gain. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16362f45166d027d2b488314aa2e99acf6073f30 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:41 2015 +0200 staging: rtl8192e: Rename firmware_init_param Use naming schema found in other rtlwifi devices. Rename firmware_init_param to rtl92e_init_fw_param. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 575d48c57532465cc0a2c34ebb6ebccdaf1be783 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:40 2015 +0200 staging: rtl8192e: Rename rtl8192_update_ratr_table Use naming schema found in other rtlwifi devices. Rename rtl8192_update_ratr_table to rtl92e_update_ratr_table. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 072b3948d473f8c4602b8aa51cec54bcbd0ecddb Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:39 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_fill_desc Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_fill_desc to rtl92e_fill_tx_desc. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63b544a17c63c0d79cd1e5f1bde1e1df06c1d761 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:38 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_fill_cmd_desc Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_fill_cmd_desc to rtl92e_fill_tx_cmd_desc. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7897285ceb2864b2073fa3c0526d54187b38a2ec Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:37 2015 +0200 staging: rtl8192e: Rename rtl8192_rx_query_status_desc Use naming schema found in other rtlwifi devices. Rename rtl8192_rx_query_status_desc to rtl92e_get_rx_stats. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b974b289c4cb8a63b92749ec0c32094609ea571c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:36 2015 +0200 staging: rtl8192e: Rename rtl8192_link_change Use naming schema found in other rtlwifi devices. Rename rtl8192_link_change to rtl92e_link_change. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a57165d15dae6fc6a3fb6b8d9d15075816bfbbd3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:35 2015 +0200 staging: rtl8192e: Rename rtl8192_interrupt_recognized Use naming schema found in other rtlwifi devices. Rename rtl8192_interrupt_recognized to rtl92e_ack_irq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df85a1313fee7d15db8100cd9a681d484c0c0b7b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:34 2015 +0200 staging: rtl8192e: Rename rtl8192_InitializeVariables Use naming schema found in other rtlwifi devices. Rename rtl8192_InitializeVariables to rtl92e_init_variables. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9cf5e78f3b28e9a1358951a37f2bd844d46641f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:33 2015 +0200 staging: rtl8192e: Rename rtl8192_HalTxCheckStuck Use naming schema found in other rtlwifi devices. Rename rtl8192_HalTxCheckStuck to rtl92e_is_tx_stuck. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe99c77b44e41c64c65ca2d558b26311ae4e6bf3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:32 2015 +0200 staging: rtl8192e: Rename rtl8192_halt_adapter Use naming schema found in other rtlwifi devices. Rename rtl8192_halt_adapter to rtl92e_stop_adapter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d73bd2636f51aee9c541b2294518af11d5396e4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:31 2015 +0200 staging: rtl8192e: Rename rtl8192_HalRxCheckStuck Use naming schema found in other rtlwifi devices. Rename rtl8192_HalRxCheckStuck to rtl92e_is_rx_stuck. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56a5b5af61ac1d55cc3e0b19557e0c774338cf44 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:30 2015 +0200 staging: rtl8192e: Rename rtl8192_GetNmodeSupportBySecCfg Use naming schema found in other rtlwifi devices. Rename rtl8192_GetNmodeSupportBySecCfg to rtl92e_get_nmode_support_by_sec. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86534a29bb68273a98b1e1c739ea58bf9a93e64a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:29 2015 +0200 staging: rtl8192e: Rename rtl8192_GetHalfNmodeSupportByAPs Use naming schema found in other rtlwifi devices. Rename rtl8192_GetHalfNmodeSupportByAPs to rtl92e_is_halfn_supported_by_ap. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b095be37004f91f6eecb70cd62da6cc2c2483b87 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:28 2015 +0200 staging: rtl8192e: Rename rtl8192_get_eeprom_size Use naming schema found in other rtlwifi devices. Rename rtl8192_get_eeprom_size to rtl92e_get_eeprom_size. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89d4a8be6294b8ab7ef218034f5b52f045b31876 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:27 2015 +0200 staging: rtl8192e: Rename rtl8192e_start_beacon Use naming schema found in other rtlwifi devices. Rename rtl8192e_start_beacon to rtl92e_start_beacon. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61fea239c818631d6f8252c00ffdde60e92c3ad0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:26 2015 +0200 staging: rtl8192e: Rename rtl8192e_SetHwReg Use naming schema found in other rtlwifi devices. Rename rtl8192e_SetHwReg to rtl92e_set_reg. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6af7a8b662f6bb5498d6a59b9dbb2b26855add8b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:25 2015 +0200 staging: rtl8192e: Rename rtl8192_enable_tx Use naming schema found in other rtlwifi devices. Rename rtl8192_enable_tx to rtl92e_enable_tx. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78c352b2b22348f28edda51fae2d61928fae4450 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:24 2015 +0200 staging: rtl8192e: Rename rtl8192_enable_rx Use naming schema found in other rtlwifi devices. Rename rtl8192_enable_rx to rtl92e_enable_rx. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d99c68e6f50241fe400b744b515dcfac6341239 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:23 2015 +0200 staging: rtl8192e: Rename rtl8192_EnableInterrupt Use naming schema found in other rtlwifi devices. Rename rtl8192_EnableInterrupt to rtl92e_enable_irq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit baadea565daae4cfaa46e0764bef3541c949616c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:22 2015 +0200 staging: rtl8192e: Rename rtl8192_DisableInterrupt Use naming schema found in other rtlwifi devices. Rename rtl8192_DisableInterrupt to rtl92e_disable_irq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc578b417facaef65f3e73ba7f97394979cc64a2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:21 2015 +0200 staging: rtl8192e: Rename rtl8192_ClearInterrupt Use naming schema found in other rtlwifi devices. Rename rtl8192_ClearInterrupt to rtl92e_clear_irq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33e1748d8f10b2b4d84a18431999cdf2830ccc71 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:20 2015 +0200 staging: rtl8192e: Rename rtl8192_AllowAllDestAddr Use naming schema found in other rtlwifi devices. Rename rtl8192_AllowAllDestAddr to rtl92e_set_monitor_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 460266292de1c3770bad54f48e5b33a5fed342e1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:19 2015 +0200 staging: rtl8192e: Rename rtl8192_adapter_start Use naming schema found in other rtlwifi devices. Rename rtl8192_adapter_start to rtl92e_start_adapter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12656e2b8c308d86dbb3b9167db0309f27f90d4f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:18 2015 +0200 staging: rtl8192e: Rename cmpk_message_handle_tx Use naming schema found in other rtlwifi devices. Rename cmpk_message_handle_tx to rtl92e_send_cmd_pkt. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2497ef5b54914d0e90a7a308e442b81d42b0e373 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:17 2015 +0200 staging: rtl8192e: Rename PHY_SetRF8256OFDMTxPower Use naming schema found in other rtlwifi devices. Rename PHY_SetRF8256OFDMTxPower to rtl92e_set_ofdm_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abfda5886b8bd3569330fae5b1224488375a5c48 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:16 2015 +0200 staging: rtl8192e: Rename PHY_SetRF8256CCKTxPower Use naming schema found in other rtlwifi devices. Rename PHY_SetRF8256CCKTxPower to rtl92e_set_cck_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 766b0128266a264395f07830dfad078e1e83d57c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:15 2015 +0200 staging: rtl8192e: Rename PHY_SetRF8256Bandwidth Use naming schema found in other rtlwifi devices. Rename PHY_SetRF8256Bandwidth to rtl92e_set_bandwidth. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4a143392686432d147e055e45f09049c09f6755 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:14 2015 +0200 staging: rtl8192e: Rename PHY_RF8256_Config Use naming schema found in other rtlwifi devices. Rename PHY_RF8256_Config to rtl92e_config_rf. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 547e4c90aee5f4ecfed23a16b621629071e41f05 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:48 2015 -0400 staging: unisys: remove bogus error checking The netdev we're testing for can't be removed, because its never unregistered, so don't bother checking for it Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15a4d2137077296e22fce2127f8056d6d7f9e785 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:47 2015 -0400 staging: unisys: remove visornic_ioctl All it does is return no supported. Removing the function entirely accomplishes the same thing Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a42ba26cca4ed183362d5adb5dad227f908b4ddb Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:46 2015 -0400 staging: unisys: Remove trans_start dev_trans_start does this for us now Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6346ad662e44d7086bc3c18fc19a33f0b95b576 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:45 2015 -0400 staging: unisys: Fix improper use of NETDEV_TX_BUSY Using NETDEV_TX_BUSY is tricky. Its meant for situations where the error in question is transient and quickly resolved. But the driver rarely is able to know that to a certainty. And in the case of visornic, it just uses it without any care for that, in the hopes that it won't loose frames, even if the problem is that the skb is somehow malformed for the hardware. If we get one of those kinds of skbs, NETDEV_TX_BUSY will just cause us to spin, processing the same error over and over. Fix it by dropping the frame, stopping the queue where appropriate, and returning NETDEV_TX_OK Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35a8dd310efbbcec37de2da6301f9bdaf83b2632 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:44 2015 -0400 staging: unisys: Remove some extraneous start/stop queue operations If we put them in the enable and disable paths, we don't need them in several other places Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c677e9c24935bdca8ed72b96f7e762c95fc8bd3 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:43 2015 -0400 staging: unisys: Change enable/disable to wait forever I don't see why the server should stop responding, or that we should just give up if it does. Wait forever when enabling/disabling the visornic Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ace72eef40e8b5f0e3b3916e2dee2d146711ca2e Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:42 2015 -0400 staging: unisys: Make serverdown synchronous I don't see why serverdown should be async on a workqueue. Just make it synchronous, and remove some code in the process Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d5073935a662564d46dff071874fe2cab11c651 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:41 2015 -0400 staging: unisys: simplify visornic_serverdown_complete Theres a lot of code duplication going on in visornic_serverdown_complete. We should just be able to send it through the dev_close path and have it do the right things. Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cf12de41bb772fccd2807780ad23639e4fcce89 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:40 2015 -0400 staging: unisys: Guard against task leakage Its possible to overwrite the old task pointer in visornic_resume. Add a check to guard against that and a warning if we find that its already running Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87a9404ef0be2aac949fdb8854e71d100859f6f5 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:39 2015 -0400 staging: unisys: Clean up kthread usage Remove the has_stopped completion as theres already one available internally. Correct the while loops Remove the while loop in drain_queue as it already exists in the top level loop Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 513e1cbda230c626bc01492f440805c4a88632d7 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:38 2015 -0400 staging: unisys: Linarize skbs If we can't fit an skb into a frag array, linaraize it so we don't have to Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 998ff7f85d2a4923cf8e49319957bb2a70f8b881 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:37 2015 -0400 staging: unisys: BUG halt on error in I/O channel We precheck that we have enough space in an iochannel prior to writing to it when we send in a fragmented skb. Given that there is no recovery from this condition that I can see, turn it into a BUG halt Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce657aa81005ddfbdd9c89ec9de31ff713c05ea6 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:36 2015 -0400 staging: unisys: Check return code properly on visor_copy_fragsinfo_from_skb One call site for visor_copy_fragsinfo_from_skb was checking for an rc of -1, but thhe function doesn't return that, it returns -errno. Correct it Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52b1660d3b3a7fc967ba9d9b641b594fa1ac33d7 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:35 2015 -0400 staging: unisys: Remove num_visornic_open array As pointed out in a recent review, the num_visornic_open array didn't do anything useful, and it exposed a potential race in the visornic code that could arise while taking down a net interface while reading from the debugfs files. Fix that by removing the array entirely, and just iterating over all the registered netdevs in a given namespace, filtering on them having visornic ops (to identify which are ours), and having their queues not be stopped (identifying that they are up). This should prevent any oops conditions happening due to changing state in that array, and save us a bunch of code too. Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80a60777d7e60e59e4deb756dc0e3989fe520f84 Author: Steve Pennington <sgpenn@xxxxxxxxx> Date: Wed Jul 22 12:50:11 2015 -0500 staging: rtl8723au: fix incorrect type in assignment warning Repaced calls to htons and memcpy with a single call to put_unaligned_be16 to fix the following sparse warning: drivers/staging/rtl8723au/core/rtw_recv.c:1557:21: warning: incorrect type in assignment (different base types) drivers/staging/rtl8723au/core/rtw_recv.c:1557:21: expected unsigned short [unsigned] [assigned] [usertype] len drivers/staging/rtl8723au/core/rtw_recv.c:1557:21: got restricted __be16 [usertype] <noident> Signed-off-by: Steve Pennington <sgpenn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56fa2ece881348d314800b858581f2ae950f8e20 Author: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> Date: Fri Jul 17 12:01:29 2015 +0100 staging: ion: ion_cma_heap: Don't directly use dma_common_get_sgtable Use dma_get_sgtable rather than dma_common_get_sgtable so a device's dma_ops aren't bypassed. This is essential in situations where a device uses an IOMMU and the physical memory is not contiguous (as the common function assumes). Signed-off-by: Jon Medhurst <tixy@xxxxxxxxxx> Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b20691652b8c09992096490d9dd11319c1e7ce5e Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Date: Thu Jul 16 12:50:50 2015 -0500 staging: fsl-mc: update TODO list update TODO list to provide more detail on remaining work Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0dcaa8d4eff40b2999d5265f2218c29e82e24cc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sun Jul 19 13:52:33 2015 +0300 Staging: rtl8192e: pointer math bug in rtllib_rx_DELBA() The pointer math here was totally wrong so we were reading nonsense information from beyond the end of the buffer. It could lead to an oops if that memory wasn't mapped. The "pReasonCode" pointer is assigned but never used so I deleted it. With-Fix-From: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Tested-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ee4c3dc55f6b83934cdf53c8563f5667d91ff91 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Jul 20 18:36:18 2015 +0200 staging: rtl8192u: remove unneeded bool bool Reval is set to match the value of bHalfWirelessN24GMode just to this. The value can be returned directly. Removing uneeded bool. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Suggested-by: Franks Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9bd549aa99a12e42b8811efa3cb7d8c3d084a20 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Jul 20 18:35:42 2015 +0200 staging: rtl8192u: remove bool comparisons Remove explicit true/false comparisons to bool variables. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 047db9915ed576e817eb02c1d1cf037c49856b59 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sun Jul 19 13:52:17 2015 +0300 Staging: rtl8192u: pointer math bug in ieee80211_rx_DELBA() Smatch complains because "delba" is a pointer to struct rtl_80211_hdr_3addr so the "delba += sizeof(struct rtl_80211_hdr_3addr);" is clearly wrong. We are reading nonsense data from beyond the end of the buffer and could oops if that memory isn't mapped. It turns out the next two statements are also wrong. We should delete the += sizeof() statement and "delba+2" should be "&delba->payload[2]". "pReasonCode" isn't used so I deleted that. With-Fix-From: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a32bd33ed3e03258e255a5b580ce7b3f514763e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 18:57:28 2015 +0530 staging: rtl8188eu: remove multiple blank line Multiple blank lines should be avoided. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0732f84b40bc7219d077ddd69b5cc03ec6e7838 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 18:57:27 2015 +0530 staging: rtl8188eu: dont mix success and error path Success and error path was mixed. Separate them by directly returning 0 from the success path. In the process remove the variable which became unused. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 705a31369845d7ad522dc9bce6ca430831ff0454 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 18:57:26 2015 +0530 staging: rtl8188eu: check for kzalloc failure Check for kzalloc failure and directly return from the error patch thus simplifying the success path. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 586b06328c16c04a7040c92b7a13aea0447e35ec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 18:57:25 2015 +0530 staging: rtl8188eu: remove label Directly return NULL instead of using another label and goto. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8da24c93327037a6fb1f760f5fc70e33c9abaefb Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 18:57:24 2015 +0530 staging: rtl8188eu: remove unused define _HCI_INTF_C_ was only defined here but not being used anywhere. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a2c874c51df5ed29d482b5294541f06a6f24328 Author: Antoine BLIN <antoine.blin@xxxxxxx> Date: Fri Jul 17 15:04:34 2015 +0200 staging: sm750fb: ddk750_power.c: Split lines over 80 characters. Fix up "line over 80 characters" warning found by the checkpatch.pl script. Signed-off-by: Antoine BLIN <antoine.blin@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d7a0ffe6d83fcafac7825fe589f856a772f7389 Author: Aaron Ouellette <aouellette2016@xxxxxxxxx> Date: Thu Jul 16 21:21:16 2015 -0400 staging: sm750fb: removed extra parentheses fixed checkpatch.pl error: ERROR: return is not a function, parentheses are not needed Signed-off-by: Aaron Ouellette <aouellette2016@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5a372df8661113b8aa36f4eb29d4b969d1d3db4 Author: Bernd Porr <mail@xxxxxxxxxxxxxxx> Date: Wed Jul 22 18:46:39 2015 +0100 staging/comedi/drivers/usbduxsigma.c: added support for ehci drivers urb->interval is deprecated and thus I've changed the driver that it now always assumes interval=1 which means every frame in USB 1.1 and every uframe in USB 2.0. However we still need to have different sampling rates which are still multiples of the interval which is now transmitted to the firmware. The firmware transmits either zero length packets or none every (u)frame. This is checked in the completion handler and any packet at zero length is discarded so that comedi again sees the data coming in at the interval specified. This also then gives the ADC the necessary time to convert. For example 16 channels require about 700us and in this period no packet could be transmitted. In this case this is padded up to 1ms so that we have then 7 zero length packets and one packet with the ADC data. Signed-off-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e73063c5407b6ffe09dc0f7c11970113bf55e6fc Author: Bernd Porr <mail@xxxxxxxxxxxxxxx> Date: Wed Jul 22 18:45:55 2015 +0100 staging/comedi/drivers/usbduxsigma.c: updated address details Changed my e-mail address to mail@xxxxxxxxxxxxxxxx The old one is no longer used. Signed-off-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d258bf054a446c77a9cb7fa31dc4518ba2f1861d Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Mon Jul 20 16:53:15 2015 +0530 staging: comedi: drivers: pcl816.c remove leading space Checkpatch.pl warning - suspect code indent for conditional statements - is corrected Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03c44dd62e4f947516929c3ba0734027c3a26708 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:47 2015 +0100 staging: vt6655: desc.h remove dead strctures Remove these unsed structures. typedef struct tagSTxSyncDesc typedef struct tagSRrvTime_atim typedef struct tagSTxBufHead typedef struct tagSBEACONCtl typedef struct tagSSecretKey typedef struct tagSKeyEntry Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5c7bd269d52d1d6708053d1a8521779e98b4989 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:46 2015 +0100 staging: vt6655: s_cbFillTxBufHead replace STxBufHead vnt_tx_fifo_head has now replaced STxBufHead Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5806c53fe7805ebf4934debbe21fc42f78840f4 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:45 2015 +0100 staging: vt6655: always set 32 bit dma mask The device is limited to 32 bit address space. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cf0a47c8c4986b8fa946156a19f7b02dc303a43 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:44 2015 +0100 staging: vt6655: fix tagTDES1 -> wReqCount type should be __le16 Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7135d9a76f787f089faad0e08bdef259cb019d64 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:43 2015 +0100 staging: vt6655: Fix wReqCount to __le16 Should be __le16 and do and correct endian conversion. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1e3e92135202ff3d95195393ee62808c109208c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:42 2015 +0100 staging: vt6655: fix tagSRxDesc -> next_desc type Should always be __le32 Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0fb87fba09473e6b39e351c7da59b4faa9a4fcf Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:41 2015 +0100 staging: vt6655: Fix tagSRxDesc -> buff_addr type Should always be __le32. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db1ade7cee35a2d22653811c67cd4d9c60c8a4ad Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:40 2015 +0100 staging: vt6655: remove unused tagDEVICE_RD_INFO -> curr_desc variable is assigned a value that is never used. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5fa9d9898d370789f12af420c118159a23f166e8 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:39 2015 +0100 staging: vt6655: fix tagSTxDesc -> next_desc type Should always be __le32 type Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75a8eee2d71e6abe9e25a20c8e3c16c53489c90e Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:38 2015 +0100 staging: vt6655: fix tagDEVICE_TD_INFO -> buff_addr type Should always be __le32 type Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eae6377eb01d6b8a6cb3f1047ae35829e22e4e04 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:37 2015 +0100 staging: vt6655: Remove unused tagDEVICE_TD_INFO curr_desc The variable is assigned a value that is never used. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06f716a57e6d7dc8f7638ea8c19a9a4cdf46ed23 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:36 2015 +0100 staging: vt6655: remove unnecessary variable skb_dma skb_dma flips from 0 to the contents buf_dma. This is nolonger necessary so use buf_dma directly and remove skb_dma altogether. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a00033ee8697e2e0acf07d03dbea55c4b7236ca Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:35 2015 +0100 staging: vt6655: dead code tx path remove dma_unmap_single When pTDInfo->skb_dma not equal to pTDInfo->buf_dma, pTDInfo->skb_dma equals zero. as mentioned in comment pre-allocated buf_dma can't be unmapped so remove dead code. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd43585b6405a0b7c6e5ad3c1bcbb32cf186a5a9 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:34 2015 +0100 staging: vt6655: remove unused DBG_PORT80 and VIAWET_DEBUG VIAWET_DEBUG is never defined so DBG_PORT80 is empty and never used. Remove both macros. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 217ed3abf1510747590aaa5da93217e559fd8e19 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:33 2015 +0100 staging: vt6655: Remove ununsed macro ASSERT VIAWET_DEBUG is not defined so macro is empty. Remove the macro. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83aa2ac65a36e77f5651ef8946003b856cab49bc Author: Cihangir Akturk <cakturk@xxxxxxxxx> Date: Wed Jul 22 15:59:32 2015 +0300 staging: lustre: obdclass: Make structure declerations static const obd_device_list_sops and obd_device_list_fops are not referenced outside of linux-module.c, and in the general use case struct file_operations and struct seq_operations should be a const object, so make them static and const. This patch fixes the following sparse warnings: WARNING: struct seq_operations should normally be const WARNING: struct file_operations should normally be const Signed-off-by: Cihangir Akturk <cakturk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3377bad9c7ea427c002173ffcee6fc6a14833739 Author: Cihangir Akturk <cakturk@xxxxxxxxx> Date: Tue Jul 21 10:22:52 2015 +0300 staging: lustre: ldlm: Make function static. target_send_reply_msg function is not referenced outside of ldlm_lib.c file, so make it static. Signed-off-by: Cihangir Akturk <cakturk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a2477c2cabddf6fa52eda49502017191b34acb6 Author: Kolbeinn Karlsson <kk752@xxxxxxxxxxx> Date: Sun Jul 19 16:23:19 2015 -0400 staging: lustre: make functions only used locally static Add a static modifier to two functions that have no separate declaration and are only used within the file they are defined in. This problem was reported by sparse. Signed-off-by: Kolbeinn Karlsson <kk752@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5c2f7b56e9e37e3b54910164ce73b11f207f19d Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Fri Jul 17 01:39:21 2015 +0200 staging: lustre: Fix style error with decorator Fixed checkpatch.pl error: ERROR: "(foo*)" should be "(foo *)" Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e02bea82b4e6c1eebeac6e6f4ecb93e9c2aa8c0 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Tue Jul 14 17:28:47 2015 +0530 drivers: usb: fsl: Define usb control register mask for w1c bits Define and use CONTROL_REGISTER_W1C_MASK to make sure that w1c bits of usb control register do not get reset while writing any other bit Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4fdfaa280a284be8a056d6840cdbbf42c05bf95 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Tue Jul 14 17:28:10 2015 +0530 drivers: usb: fsl: Modify phy clk valid bit checking Phy_clk_valid bit is checked only when the boolean property phy-clk-valid in present in usb node device tree. This property is added to the usb node via device tree fixup. Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6009d95e04cf74c6f80db56fddca21fea476ad24 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Mon Jun 15 15:48:22 2015 +0530 drivers:usb:fsl: Introduce FSL_USB2_PHY_UTMI_DUAL macro Introduce FSL_USB2_PHY_UTMI_DUAL macro for setting phy mode in SOCs such has T4240, T1040, T2080 which have utmi dual-phy Signed-off-by: Ramneek Mehresh <ramneek.mehresh@xxxxxxxxxxxxx> Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 523f1dec58408b36e7683a3d61a0286eed1fc1c8 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Mon Jun 15 15:47:29 2015 +0530 drivers: usb :fsl: Implement Workaround for USB Erratum A007792 USB controller version-2.5 requires to enable internal UTMI phy and program PTS field in PORTSC register before asserting controller reset. This is must for successful resetting of the controller and subsequent enumeration of usb devices Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Suresh Gupta <suresh.gupta@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38aa420096e565fe9c98f9d9475fd168114501a9 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Mon Jun 15 15:46:37 2015 +0530 drivers:usb:fsl: Replace macros with enumerated type Replace macros with enumerated type to represent usb ip controller version Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5fd3fc1c5384fe420ead51f41662ba563336fbea Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Mon Jul 13 16:30:18 2015 +0100 usb: renesas_usbhs: Allow an OTG PHY driver to provide VBUS These changes allow a PHY driver to trigger a VBUS interrupt and to provide the value of VBUS. Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1d28f0b392628fbd263ad833469caeb052cb084 Merge: ea7b44b da104dc Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Jul 22 16:28:37 2015 -0700 Merge tag 'omap-for-v4.3/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/defconfig Merge "defconfig changes for v4.3" from Tony Lindgren: Few defconfig changes for omap2plus_defconfig to enable SPI NOR, CPTS, touchscreen and ADC used on am335x, am437x and ra7 devices. * tag 'omap-for-v4.3/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: omap2plus_defconfig: enable support for M25P80 SPI NOR ARM: omap2plus_defconfig: enable support for TI CPTS ARM: omap2plus_defconfig: enable support for TI touchscreen ARM: omap2plus_defconfig: enable support for TI ADC Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9521f492f06b435a9b6d4f901f031b0f5d923a76 Merge: cd39275 7fcf7e0 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Jul 22 16:26:03 2015 -0700 Merge tag 'omap-for-v4.3/legacy-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Merge "drop few more legacy boards for v4.3" from Tony Lindgren: Drop more omap3 legacy board-*.c files for v4.3. This time we're dropping the board files for omap3logic and omap3pandora. The reason for dropping these now rather than later is that now we can simply revert the patches in case of unexpected issues as we are not dropping any platform data at this point. This leaves us with only the following board-*.c files: BOARD REASON NEEDED board-ldp.c Still used in RMKs boot test system board-rx51-*.c Needs /proc/atags support for user space Once we have the n900 legacy user space issues sorted out for /proc/atags and system_rev, we can drop the remaining two board-*.c files. And then one merge window after that we can drop the legacy booting support assuming no unexpected issues are found. * tag 'omap-for-v4.3/legacy-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Remove legacy booting support for Pandora ARM: OMAP2+: Remove legacy booting support for LogicPD Torpedo Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9e3cffd8772adf8e22f7d92b260708ed5add751f Merge: 7d132de f9d50fe Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Jul 22 16:25:04 2015 -0700 Merge tag 'omap-for-v4.3/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap dts changes for v4.3, part2" from Tony Lindgren: More omap dts changes for v4.3 merge window: - Add missing devices for pandora. Note that we're adding wl1251 WLAN and LCD backlight support for now using legacy pdata as that allows us to drop the legacy board file for pandora in another series of patches - Enable power button support for omap5-uevm - Add aliases for am437x UARTs - Add support for phyCORE phyBOARD-WEGA-AM335x rdk and phyCORE-AM335x SoM - Use u16 values for tsc2046 on omap3-lilly * tag 'omap-for-v4.3/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: omap3-pandora: add wifi support ARM: OMAP2+: omap3-pandora: add backlight support ARM: dts: omap3-pandora: add support for usb host and 32k buffer ARM: dts: omap3-pandora: miscellaneous corrections ARM: dts: omap5-uevm: Add Palmas power button support ARM: dts: am437x: add aliases for all UART instances ARM: dts: Add phyBOARD-WEGA-AM335x rdk ARM: dts: Add support for phyCORE-AM335x SoM ARM: dts: omap3: correct the format of u16 values for tsc2046 node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0ff818eff55aa80cb00bb3d89e824dd568d5a7f8 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 23 00:10:37 2015 +0200 memory: pl172: fix modular build Building pl172 as a module fails with: > ERROR: "of_default_bus_match_table" [drivers/memory/pl172.ko] undefined! Because the symbol of_default_bus_match_table isn't exported by the OF core code so can't be referenced from modules. Fix this by removing the usage of of_default_bus_match_table for now. The side effect of this is that child nodes can't use "simple-bus" or "simple-mfd". Reported-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e616b39a16d4458224d91697b0a2599336f0c38c Author: Sunny Kumar <sunny.kumar.roy@xxxxxxxxx> Date: Tue Jul 7 12:27:03 2015 +0530 usb: usleep_range is preferred over udelay where wakeup is flexible According to Documentation/timers/timers-howto.txt" udelay() is only called once from a place where sleeping is allowed. We can replace it with a call to usleep_range() with a reasonable upper limit. Signed-off-by: Sunny Kumar <sunny.kumar.roy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 655fe4effe0f1f40e4f6ca6b3cc64a7fe0032183 Author: Kevin Strasser <kevin.strasser@xxxxxxxxxxxxxxx> Date: Tue Jun 16 10:35:30 2015 -0700 usbcore: add sysfs support to xHCI usb3 hardware LPM Add a sysfs node to make it easier to verify if LPM is supported and being enabled for USB 3.0 devices. Signed-off-by: Kevin Strasser <kevin.strasser@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb4861c3cef7f745df0d2a26b0f4287da0190424 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:40 2015 +0200 USB: bcma: add support for controlling bus power through GPIO On some boards a GPIO is needed to activate USB controller. Make it possible to specify such a GPIO in device tree. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10bc04b744c69f253dfe47bc143325349ce8becc Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:39 2015 +0200 USB: bcma: add bcm53xx support The Broadcom ARM SoCs with this usb core need a different initialization and they have a different core id. This patch adds support for these USB 2.0 core. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab2de5793080dfb9f191ca71068b9f476a55a0f4 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:38 2015 +0200 USB: bcma: fix error handling in bcma_hcd_create_pdev() This patch makes bcma_hcd_create_pdev() not return NULL, but a prober error code in case of an error. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c27da2b22b558390acc515e71e47b1b307f85d5a Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:37 2015 +0200 USB: bcma: use devm_kzalloc Instead of manually handling the frees use devm. There was also a free missing in the unregister call which is not needed with devm. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98e13e05a1bab82c3bec1d867159bc8384acbe5b Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:36 2015 +0200 USB: bcma: replace numbers with constants The constants for these numbers were added long time ago, use them. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e4a4da67255d92620ba59b461b5bc295db28dae Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:35 2015 +0200 USB: bcma: remove chip id check I have never seen any bcma device with an USB host core which was not a SoC, the bcma devices have an USB device core with a different core id. Some SoC have IDs with 47XX and 53XX in decimal form which would be rejected by this check. Instead of fixing this check just remove it. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0faaad461547e2412e9b519cd757a99b3ebc1302 Author: Kris Borer <kborer@xxxxxxxxx> Date: Tue Jul 14 09:28:30 2015 -0400 usb: move assignment out of if condition Fix four occurrences of checkpatch.pl error: ERROR: do not use assignment in if condition The semantic patch that makes this change is: // <smpl> @@ identifier i; expression E; statement S; constant c; binary operator b; @@ + i = E; if ( - (i = E) + i b c ) S @@ identifier i, i2; expression E1, E2; constant c; @@ + if( E1->i ) { + i2 = E2; + if (i2 < c) { - if( E1->i && (i2 = E2) < c ) { ... - } + } + } // </smpl> Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a54f98e341d09793247a6e598012edefb5ae7cb Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:24:14 2015 -0700 rcu: Don't disable CPU hotplug during OOM notifiers RCU's rcu_oom_notify() disables CPU hotplug in order to stabilize the list of online CPUs, which it traverses. However, this is completely pointless because smp_call_function_single() will quietly fail if invoked on an offline CPU. Because the count of requests is incremented in the rcu_oom_notify_cpu() function that is remotely invoked, everything works nicely even in the face of concurrent CPU-hotplug operations. Furthermore, in recent kernels, invoking get_online_cpus() from an OOM notifier can result in deadlock. This commit therefore removes the call to get_online_cpus() and put_online_cpus() from rcu_oom_notify(). Reported-by: Marcin Å?lusarz <marcin.slusarz@xxxxxxxxx> Reported-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Tested-by: Marcin Å?lusarz <marcin.slusarz@xxxxxxxxx> commit 3ad81779ad35cd2e2ab34ba3f47f6f485696a105 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 11:55:40 2015 -0700 scripts: Make checkpatch.pl warn on expedited RCU grace periods The synchronize_rcu_expedited() and synchronize_sched_expedited() expedited-grace-period primitives induce OS jitter, which can degrade real-time response. This commit therefore adds a checkpatch.pl warning on any patch adding them. Note that this patch does not warn on synchronize_srcu_expedited() because it does not induce OS jitter, courtesy of its otherwise much-maligned read-side memory barriers. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> commit 96a39bc434f94e213df43859fb8b01acda902634 Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Wed Jul 1 15:26:27 2015 +0800 rcu: Update MAINTAINERS entry This commit updates Lai Jiangshan's email address because the old laijs@xxxxxxxxxxxxxx address will expire after July 10, 2015. Signed-off-by: Lai Jiangshan <jiangshanlai@xxxxxxxxx> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit eb6d5b0a5c64192ec13914caef1b87a9aa520d66 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 09:56:31 2015 -0700 rcu: Clarify CONFIG_RCU_EQS_DEBUG help text Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit a76a9a485d730024a7cbd76efcd9c6eb46003829 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 08:17:40 2015 -0700 rcu: Fix backwards RCU_LOCKDEP_WARN() in synchronize_rcu_tasks() The RCU_LOCKDEP_WARN() in synchronize_rcu_tasks() triggers if the scheduler is active, which is backwards. This commit therefore negates the test. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f78f5b90c4ffa559e400c3919a02236101f29f3f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 15:50:02 2015 -0700 rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN() This commit renames rcu_lockdep_assert() to RCU_LOCKDEP_WARN() for consistency with the WARN() series of macros. This also requires inverting the sense of the conditional, which this commit also does. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 46f00d18fca42cc954c2e9e99a48b6f3a7741ed7 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Jun 16 10:35:18 2015 -0700 rcu: Make rcu_is_watching() really notrace Although rcu_is_watching() is marked notrace, it invokes preempt_disable() and preempt_enable(), both of which can be traced. This defeats the purpose of the notrace on rcu_is_watching(), so this commit substitutes preempt_disable_notrace() and preempt_enable_notrace(). Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 779de6ce54f627f955d4a3d0c5b3dcfaab74fea8 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 10 13:34:41 2015 -0700 cpu: Wait for RCU grace periods concurrently In kernels built with CONFIG_PREEMPT, _cpu_down() waits for RCU and RCU-sched grace periods back-to-back, incurring quite a bit more latency than required. This commit therefore uses the new synchronize_rcu_mult() to allow waiting for both grace periods concurrently. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ec90a194ae2cb8b8e9fe4f6f70dd3d4dc0269b4b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 10 12:53:06 2015 -0700 rcu: Create a synchronize_rcu_mult() There have been several requests for a primitive that waits for grace periods for several RCU flavors concurrently, so this commit creates it. This is a variadic macro, and you pass in the call_rcu() functions of the flavors of RCU that you wish to wait for. Note that you cannot pass in call_srcu() for two reasons: (1) This would result in a type mismatch and (2) You need to specify which srcu_struct you want to use. Handle this by creating a wrapper function for your SRCU domain, for example: void call_srcu_mine(struct rcu_head *head, rcu_callback_t func) { call_srcu(&ss_mine, head, func); } You can then do something like this: synchronize_rcu_mult(call_srcu_mine, call_rcu, call_rcu_sched); Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit bc17ea1092c48227334a311a130c1a41966333fe Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jun 6 08:11:43 2015 -0700 rcu: Fix obsolete priority-boosting comment Tasks are no longer migrated to the root rcu_node, so there is no longer any need for a boost kthread for the root rcu_node, and there no longer is such a kthread. This commit therefore fixes the comment in rcu_boost_kthread()'s header to reflect this new reality. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 155d1d12786386d21732f9bba036343ffa43847d Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jun 2 17:26:48 2015 +0200 rcu: Use WRITE_ONCE in RCU_INIT_POINTER For the paranoid amongst us GCC would be in its right to use byte stores to write our NULL value, tell it not to do that. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit be55fa2ad244678beed11d2827d88b7f80ff4730 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 2 05:29:18 2015 -0700 rcu: Hide RCU_NOCB_CPU behind RCU_EXPERT This commit prevents Kconfig from asking the user about RCU_NOCB_CPU unless the user really wants to be asked. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 24560056de61d86153cecb84d04e4237437f5888 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat May 30 10:11:24 2015 -0700 rcu: Add RCU-sched flavors of get-state and cond-sync The get_state_synchronize_rcu() and cond_synchronize_rcu() functions allow polling for grace-period completion, with an actual wait for a grace period occurring only when cond_synchronize_rcu() is called too soon after the corresponding get_state_synchronize_rcu(). However, these functions work only for vanilla RCU. This commit adds the get_state_synchronize_sched() and cond_synchronize_sched(), which provide the same capability for RCU-sched. Reported-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c2a298d96628803586f1ca2027b6387f4e4b5a31 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Jun 30 16:48:54 2015 +0200 usb: host: xhci: remove typo in function documentation Fix "though" to "through" in documentation of xhci_alloc_streams(). Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd32fbad6e3dfb26ae12babe07771f92b417af6b Author: Aaron Raimist <aaronraimist@xxxxxxxxxx> Date: Mon Jun 22 21:05:27 2015 -0500 USB: atm: cxacru: fix blank line after declaration Fixed a coding style issue. Adds blank lines after declarations. Signed-off-by: Aaron Raimist <aaronraimist@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 298b992fdb7536f0f347935d253ce31479b1fb43 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Jun 22 15:50:22 2015 +0200 usb: class: Use USB_CLASS_PRINTER instead of number 7 Kernel provides very nice defines for USB device class so it's a good idea to use them in suitable places. It is much easier to grep for such define instead of 7. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79a02744bc5a2993d6c5b8dd1a790f7ea12f4e0b Author: Kris Borer <kborer@xxxxxxxxx> Date: Tue Jun 16 13:24:53 2015 -0400 usb: fix coding style issue Fixed coding style issue: newline after declaration Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 555f3fe957b5bd763d49719cc68c6435c9c8dcf1 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Mon Jul 20 14:24:36 2015 +0800 cpufreq: ia64: Fix a memory leak in acpi_cpufreq_cpu_exit() freq_table should be alloced in ->init and freed in ->exit, but it it is not freed. Fix this memory leak in acpi_cpufreq_cpu_exit(). Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 946c14f812bfff18e6fd6357d06b6e8fa8793fec Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Mon Jul 20 14:22:46 2015 +0800 cpufreq: ia64: remove redundant freq_table of acpi_cpufreq_data freq_table is now stored as policy->freq_table, so drop the redundant freq_table from struct cpufreq_acpi_io. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7db85dd0828803f44f50ed6953f3f7cb762b830d Author: Matthew Gerlach <mgerlach@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 3 14:22:59 2014 -0800 ARM: socfpga: dts: add missing clock gates to socfpga.dtsi The gates for the clocks coming out of the sdram pll were missing. The change adds the missing nodes to the device tree. Signed-off-by: Matthew Gerlach <mgerlach@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit f56c50e322eed07526a08edefa29fc8bab1e93df Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 22 22:12:10 2015 +0200 cpufreq: acpi-cpufreq: Fix up the handling of cpb sysfs attribute The cpb sysfs attribute is only exposed by the ACPI cpufreq driver after a runtime check. For this purpose, the driver keeps a NULL placeholder in its table of sysfs attributes and replaces the NULL with a pointer to an attribute structure if it decides to expose cpb. That is confusing, so make the driver set the pointer to the cpb attribute structure upfront and replace it with NULL if the attribute should not be exposed instead. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 3427616b2a5aa7f34716278aa6a140378a00a36e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 22 22:11:56 2015 +0200 cpufreq: acpi-cpufreq: Drop acpi_data from struct acpi_cpufreq_data After commit 8cfcfd39000d (acpi-cpufreq: Fix an ACPI perf unregister issue) we store both a pointer to per-CPU data of the first policy CPU and the number of that CPU which are redundant. Since the CPU number has to be stored anyway for the unregistration, the pointer to the CPU's per-CPU data may be dropped and we can access the data in question via per_cpu_ptr(). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit b2f8dc4ce6626e25b164e29cf72b70230a1f1711 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 22 22:11:16 2015 +0200 ACPI / processor: Drop an unused argument of a cleanup routine acpi_processor_unregister_performance() actually doesn't use its first argument, so drop it and update the callers accordingly. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 8d9bfe3702aaea457b3d59b09b86e9f03c322605 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Jul 21 18:29:40 2015 -0700 PCI: iproc: Add arm64 support Add arm64 support to the iProc PCIe driver. Note that on arm32, bus->sysdata points to the arm32-specific pci_sys_data struct, and pci_sys_data.private_data contains the iproc_pcie pointer. For arm64, there's nothing corresponding to pci_sys_data, so we keep the iproc_pcie pointer directly in bus->sysdata. In addition, arm64 does IRQ mapping in pcibios_add_device(), so it doesn't need pci_fixup_irqs() as arm32 does. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> commit ca70d27e445fe721587598030b97357b35f61913 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Wed Jun 24 07:41:07 2015 +0800 sysfs: fix simple_return.cocci warnings security/smack/smackfs.c:2251:1-4: WARNING: end returns can be simpified and declaration on line 2250 can be dropped Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 3bf2789cad9e6573dc19a6c3d123c2c049f2d90f Author: Vivek Trivedi <t.vivek@xxxxxxxxxxx> Date: Mon Jun 22 15:36:06 2015 +0530 smack: allow mount opts setting over filesystems with binary mount data Add support for setting smack mount labels(using smackfsdef, smackfsroot, smackfshat, smackfsfloor, smackfstransmute) for filesystems with binary mount data like NFS. To achieve this, implement sb_parse_opts_str and sb_set_mnt_opts security operations in smack LSM similar to SELinux. Signed-off-by: Vivek Trivedi <t.vivek@xxxxxxxxxxx> Signed-off-by: Amit Sahrawat <a.sahrawat@xxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit e9f9fe35f8940c9a4c5deba091d532e3a02bf78b Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Wed May 28 22:40:13 2014 -0500 ARM: socfpga: dts: Fix gpio dts entry for the correct clock The correct clock for the HPS gpio(s) should be the l4_mp_clk. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit c5dab6e2c1f7bbf33ec855cebae92a1566ed6d04 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 20 09:39:17 2013 -0600 ARM: socfpga: dts: Correct the parent clock for l3_sp_clk and dbg_clk The l3_sp_clk's parent should be the l3_mp_clk. This will account for the extra divider that is present for the l3_mp_clk. The dbg_clk's parent should be the dbg_at_clk. This will account for the extra divider that is present for the dbg_at_clk. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 052831879945be0d9fad2216b127147c565ec1b1 Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Jul 22 14:43:58 2015 +0200 ip_tunnel: Provide tunnel metadata API for CONFIG_INET=n Account for the configuration FIB_RULES=y && INET=n as FIB_RULES can be selected by IPV6 or DECNET without INET. Fixes: e7030878fc84 ("fib: Add fib rule match on tunnel id") Fixes: 3093fbe7ff4b ("route: Per route IP tunnel metadata via lightweight tunnel") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3985e8a3611a93bb36789f65db862e5700aab65e Author: Erik Kline <ek@xxxxxxxxxx> Date: Wed Jul 22 16:38:25 2015 +0900 ipv6: sysctl to restrict candidate source addresses Per RFC 6724, section 4, "Candidate Source Addresses": It is RECOMMENDED that the candidate source addresses be the set of unicast addresses assigned to the interface that will be used to send to the destination (the "outgoing" interface). Add a sysctl to enable this behaviour. Signed-off-by: Erik Kline <ek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb02eb4a29303295f2fed8a69d9aa703792c834b Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Wed Jul 22 15:27:41 2015 +0800 r8152: support the new RTL8153 chip Support the new USB gigabit ethernet. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de18547d48c0e735309d6874852f048352e08a88 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 22:49:00 2015 -0700 mpls_iptunnel: fix sparse warn: remove incorrect rcu_dereference fix for: net/mpls/mpls_iptunnel.c:73:19: sparse: incompatible types in comparison expression (different address spaces) remove incorrect rcu_dereference possibly left over from earlier revisions of the code. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70c9bb8b9217aa6869ec6604258589f203f5b71e Merge: b56ea29 3a375e3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 22 10:47:27 2015 -0700 Merge branch 'bnx2x-next' Yuval Mintz says: ==================== bnx2x: update FW, rebrand and more This patch series does several things - it updates the bnx2x FW into 7.12.30 which both contains some small fixes as well as opening the door for several new features for the device - mainly vxlan/geneve offloads and vlan filtering offload. It then adds a new Multi-function mode [BD] which requires this FW in order to operate. In addition, this finally rebrands the driver from a 'broadcom' driver into a 'qlogic' driver [although it would still reside under Broadcom's tree in the kernel]. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a375e3caf2b424386f9e32d0c55f8907c52981d Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 22 09:16:27 2015 +0300 bnx2x: Bump up driver version to 1.712.30 Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c48f350ff5e75abae2627c2531780264f9e49130 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 22 09:16:26 2015 +0300 bnx2x: Add MFW dump support Devices with up-to-date management FW will be able to store register dumps on their persistent storage - in case management FW identifies a fatal error it would gather and store such dumps, which could later be retrieved using specific debug tools. This patch adds the necessary part in the driver in order to make the feature operational, as well as update users [under debug] during load in case their device contains a dump of a previous crash. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 230d00eb4bfe0ddc88b848fd953f7b871ee2ecd7 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 22 09:16:25 2015 +0300 bnx2x: new Multi-function mode - BD This adds support to a new multi-function mode, enabling driver to initialize such devices and correctly interacting with management FW for fully utilizing their features. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 924c6216f88172050a519639722e949b838529cc Author: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx> Date: Wed Jul 22 09:16:24 2015 +0300 bnx2x: Add 84858 phy support This adds support to a new copper phy. Signed-off-by: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ad79e1301f48b8c4ed2cc71c85e9b224a16b3e3 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 22 09:16:23 2015 +0300 bnx2x: Rebrand from 'broadcom' into 'qlogic' bnx2x still appears as a Broadcom driver even though the devices it utilizes belong to Qlogic for more than a year. This patch changes the various headers and the device strings to indicate the correct ownership of the device. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28311f8e7c3f52a810c0e0d2aa62deb549c9687d Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 22 09:16:22 2015 +0300 bnx2x: Utilize FW 7.12.30 This moves bnx2x into using 7.12.30 FW. Said firmware fixes the following: - Packets from a VF with pvid configured which were sent with a different vlan were transmitted instead of being discarded. - FCoE traffic might not recover after a failue while there's traffic to another function. In addition, this FW opens the door for the driver to implement several new features; Specifically, this enhances the device's support for encapsulated packets and will allow vxlan/geneve offloads to be added in the future, as well as vlan filtering offload. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa48b6f708868ab9c22ca737f27a0da832bf7f08 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:47 2015 +0800 genirq/MSI: Move alloc_msi_entry() from PCI into generic MSI code Move alloc_msi_entry() from PCI MSI code into generic MSI code, so it can be reused by other generic MSI drivers. Also introduce free_msi_entry() for completeness. Suggested-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-13-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fc88419cfac50b05c7c1ea218b08e70c31d1b71f Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:46 2015 +0800 genirq/MSI: Reorginize struct msi_desc to prepare for support of generic MSI Reorganize struct msi_desc so it could be reused by other MSI drivers. We have the following layout now: struct msi_desc { /* Shared device/bus independent data */ ... union { /* PCI specific data */ struct { ... }; }; }; We need to have anonymous union and a anonymous structure for the PCI fields, otherwise we would have to change all instances using these fields. For non PCI devices we will enforce a proper namespace and a non anonymous structure. [ tglx: Added proper comments to the structure and massaged changelog ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-12-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 25a98bd4ff9355a218d2e7aa4d6e3c9bc2c27d6f Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:45 2015 +0800 genirq/MSI: Store 'struct device' instead of 'struct pci_dev' in struct msi_desc Store 'struct device *' instead of 'struct pci_dev *' in struct msi_desc, so struct msi_desc can be reused by non PCI based MSI drivers. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-11-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4a7cc831670550e6b48ef5760e7213f89935ff0d Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:44 2015 +0800 genirq/MSI: Move msi_list from struct pci_dev to struct device Move msi_list from struct pci_dev into struct device, so we can support non-PCI-device based generic MSI interrupts. msi_list is now conditional under CONFIG_GENERIC_MSI_IRQ, which is selected from CONFIG_PCI_MSI, so no functional change for PCI MSI users. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-10-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e39758e0ea769e632e5e3c9f314160e55c2153ff Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:43 2015 +0800 PCI: Use helper functions to access fields in struct msi_desc Use helper functions to access fields in struct msi_desc, so we could easily refine msi_desc later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Murali Karicheri <m-karicheri2@xxxxxx> Cc: Jingoo Han <jingoohan1@xxxxxxxxx> Cc: Pratyush Anand <pratyush.anand@xxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Soeren Brinkmann <soren.brinkmann@xxxxxxxxxx> Cc: Srikanth Thokala <sthokal@xxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-9-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3bf15f53c963a43c317e65e1709e9f020c04f024 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:42 2015 +0800 sparc/PCI: Use helper functions to access fields in struct msi_desc Use helper functions to access fields in struct msi_desc, so we could easily refine struct msi_desc later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Eric Snowberg <eric.snowberg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-8-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5004e98a91e8ad600f5b00872e9ddad810258f08 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:41 2015 +0800 PCI: Use for_each_pci_msi_entry() to access MSI device list Use accessor for_each_pci_msi_entry() to access MSI device list, so we could easily move msi_list from struct pci_dev into struct device later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-7-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 39118e31e1daae43048f5deaa3e0894d2732a7d6 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:40 2015 +0800 x86/PCI: Use for_pci_msi_entry() to access MSI device list Use accessor for_each_pci_msi_entry() to access MSI device list, so we could easily move msi_list from struct pci_dev into struct device later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-6-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit df516f4278c154f5bb5e594fd54c2b0cb0af7a7c Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:39 2015 +0800 s390/pci: Use for_pci_msi_entry() to access MSI device list Use accessor for_each_pci_msi_entry() to access MSI device list, so we could easily move msi_list from struct pci_dev into struct device later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: linux390@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436428847-8886-5-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2921d1790eeeaf574df94fc5b1aa066e7d86d8f7 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:38 2015 +0800 powerpc/PCI: Use for_pci_msi_entry() to access MSI device list Use accessor for_each_pci_msi_entry() to access MSI device list, so we could easily move msi_list from struct pci_dev into struct device later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Cc: Alexey Kardashevskiy <aik@xxxxxxxxx> Cc: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Cc: Daniel Axtens <dja@xxxxxxxxxx> Cc: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Cc: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-4-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit bbcffac3a8b60f2f01a3fcb322167f6b8aba3416 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:37 2015 +0800 MIPS/PCI: Use for_pci_msi_entry() to access MSI device list Use accessor for_each_pci_msi_entry() to access MSI device list, so we could easily move msi_list from struct pci_dev into struct device later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-3-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c179c9b978b90bdf9cb39f5b5716dede157f1eaf Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:36 2015 +0800 PCI: Add helper function msi_desc_to_pci_sysdata() Add helper function msi_desc_to_pci_sysdata() to retrieve sysdata from an MSI descriptor. To avoid pulling include/linux/pci.h into include/linux/msi.h, msi_desc_to_pci_sysdata() is implemented as a normal function instead of an inline function. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-2-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit faca10b9e63e880c81388fbbedf7ede6dcd77c70 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Tue Jul 21 08:11:01 2015 +0000 drivers/irqchip: Replace pr_warning by pr_warn Update the last pr_warning callsite in drivers/irqchip. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: <wanglong@xxxxxxxxxxxxx> Cc: <peifeiyue@xxxxxxxxxx> Cc: <jason@xxxxxxxxxxxxxx> Cc: <kgene@xxxxxxxxxx> Cc: <k.kozlowski@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437466261-147373-1-git-send-email-long.wanglong@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6ed3464897cc825a75218653c710d673282dfcf8 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Jan 2 16:18:54 2015 -0600 irqchip: omap-intc: Improve IRQ handler As it turns out the current IRQ number will *always* be available from SIR register which renders the reads of PENDING registers as plain unnecessary overhead. In order to catch any situation where SIR reads as zero, we're adding a WARN() to turn it into a very verbose error and users actually report it. With this patch average running time of omap_intc_handle_irq() reduced from about 28.5us to 19.8us as measured by the kernel function profiler. Tested with BeagleBoneBlack Rev A5C. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Cc: Linux ARM Kernel Mailing List <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150720204910.GH5394@xxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4dc102b2f53d63207fa12a6ad49c7b6448bc3301 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jun 19 23:58:17 2015 -0300 [media] dvb_core: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,ETH_ALEN); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a4c4f95eb64640ec31cf0661b1a863151c744827 Author: Sunil Shahu <shshahu@xxxxxxxxx> Date: Sat Jun 20 05:53:50 2015 -0300 [media] staging: media: lirc: fix coding style error Fix code indentation error by replacing tab in place of spaces. Signed-off-by: Sunil Shahu <shshahu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 17a705e4a99bc6d810f2d64efe9368e221302f7a Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:29 2015 -0300 [media] sh-veu: don't use COLORSPACE_JPEG COLORSPACE_JPEG should only be used for JPEGs. Use SMPTE170M instead, which is how YCbCr images are usually encoded. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dd70b27eecdd4e13378a5e253dbd426058e164ef Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Jun 14 23:01:45 2015 -0300 [media] media: ttpci: Use vsprintf %pM extension Format mac addresses with the normal kernel extension. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3fdefa399e4644399ce3e74e65a75122d52dba6a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:37 2015 +0200 drm: gc now dead mode_group code Two nice things here: - drm_dev_register will truly register everything in the right order if the driver doesn't have a ->load callback. Before this we had to init the primary mode_group after the device nodes where already registered. - Less things to keep track of when reworking the connector locking, yay! Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9c7060f7e3b09837621f93bd8666cf4cfac45001 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:36 2015 +0200 drm: Stop filtering according to mode_group in getresources It's been dead code since forever since mode groups haven't ever been implemented. On top of that it's also been non-functional since we only ever filtered the getresources ioctl and not any of the others nor the mode object lookup code. Given overwhelming evidence it looks like this isn't a feature we need, hence remove it. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e4f62546325724168e0b7ee7180762cb07859ca7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:35 2015 +0200 drm: Roll out drm_for_each_{plane,crtc,encoder} Remaining manual work in the drm core&helpers. Nothing special here, no surprises. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9e75c0ef1428ae8a6bfb340ba2402471752c4af5 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:34 2015 +0200 drm/cma-helper: Fix locking in drm_fb_cma_debugfs_show This function takes two locks, both of them the wrong ones. This wasn't an oversight from my fb locking rework since both patches landed in parallel. We really only need fb_lock when walking that list, since everything we can reach from that is refcounted properly already. v2: Drop unused dev spotted by 0day. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 1140f919f807b6d5a259ecfca88022da0e5340cb Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 17 12:26:45 2015 -0300 [media] tc358743: allow event subscription This is useful to subscribe to HDMI hotplug events via the V4L2_CID_DV_RX_POWER_PRESENT control. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d747b806abf41f037f7d2a076131adf8c7971a89 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 17 11:02:56 2015 -0300 [media] tc358743: add direct interrupt handling When probed from device tree, the i2c client driver can handle the interrupt on its own. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 25614824685247e00b786032a504f10bfab347b1 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 17 11:02:55 2015 -0300 [media] tc358743: support probe from device tree Add support for probing the TC358743 subdevice from device tree. The reference clock must be supplied using the common clock bindings. MIPI CSI-2 specific properties are parsed from the OF graph endpoint node and support for a non-continuous MIPI CSI-2 clock is added. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1eb995bbf7a85e18f54fb162eade381320a3fcea Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Jul 22 11:48:10 2015 +0300 dmaengine: ti-dma-crossbar: Add support for eDMA The crossbar for eDMA works exactly the same way as sDMA, but sDMA requires an offset of 1, while no offset is needed for eDMA. Based on the patch from Misael Lopez Cruz <misael.lopez@xxxxxx> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> CC: Misael Lopez Cruz <misael.lopez@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit be559daabfaac74a7acd8cb56fae86fca7349f10 Author: Misael Lopez Cruz <misael.lopez@xxxxxx> Date: Wed Jul 22 11:48:09 2015 +0300 dmaengine: ti-dma-crossbar: Make idr xbar instance-specific In preparation for supporting multiple DMA crossbar instances, make the idr xbar instance specific. Signed-off-by: Misael Lopez Cruz <misael.lopez@xxxxxx> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9a9f5ce8db176499a7f3f93172bf34176aa460f5 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:34 2015 +0200 drm: Roll out drm_for_each_connector more Now that we also grab the connection_mutex and so fixed the race with atomic modeset we can use the iterator there too. The other special case is drm_connector_unplug_all which would have a locking inversion with the sysfs store/show functions if we'd grab the mode_config.mutex around the unplug. We could just grab connection_mutex instead, but that's a bit too much a dirty trick for my taste. Also it's only used by udl, which doesn't do any other kind of connector hotplugging, so should be race-free. Hence just stick with a comment for now. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit cff20ba2758d6b82978be5b1f40536bfc121af88 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:33 2015 +0200 drm: Amend connector list locking rules Now that dp mst hotplug takes all locks we can amend the locking rules for the iterators. This is needed before we can roll these out in the atomic code to avoid getting burried in WARNINGs. v2: Rebase onto the extracted list locking assert and add a comment to explain the rules. v3: Fixup German->English translation fail in the comment. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 2ee6bcdcfa4d8b56b20bc6308cd5f9bced5b5324 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:32 2015 +0200 drm/radeon: Take all modeset locks for DP MST hotplug Similar with the i915 take all modeset locks for mst hotplug. This is needed to make sure radeon holds both mode_config.mutex and mode_config.connection_mutex when updating the connector_list, which is the new (interim) locking regime we want for that. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8bb4da1df54a20d68c34427356e34315ba122c0f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:31 2015 +0200 drm/i915: Take all modeset locks for DP MST hotplug While auditing various users of the connector/encoder lists I realized that the atomic code is a very prolific user of them. And it only ever grabs the mode_config->connection_mutex, but not the mode_config->mutex like all the other code walking encoder/connector lists. The problem is that we can't grab the mode_config.mutex late in atomic code since that would lead to locking inversions. And we don't want to grab it unconditionally like the legacy set_config modeset path since that would render all the fine-grained locking moot. Instead just grab more locks in the dp mst hotplug code. Note that drm_connector_init (which is the one adding the connector to these lists) already uses drm_modeset_lock_all. The other reason for grabbing all locks is that the dpms off in the unplug function amounts to a modeset, so better to take all required locks for that. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4676ba0be756b2b02b9737147713d458042962f7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:30 2015 +0200 drm: Check locking in drm_for_each_fb Ever since framebuffers are reference counted we have a special lock for the global fb list. Make sure users of that list do hold that lock when using the new iterators. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 3a58ee106529ebea5710087e9b77bc11365665ae Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 10 19:02:51 2015 +0200 drm/i915: Use drm_for_each_fb in i915_debugfs.c Just so I have a user for this macro. v2: Use the right macro - somehow I thought gcc should scream at me, but list_for_each isn't really typesafe unfortunately. Spotted by Ville. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 7a3f3d6667f5f9ffd1517f6b21d64bbf5312042c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:28 2015 +0200 drm: Check locking in drm_for_each_connector Because of DP MST connectors can now be hotplugged and we must hold the right lock when walking the connector lists. Enforce this by checking the locking in our shiny new list walking macros. v2: Extract the locking check into a small static inline helper to help readability. This will be more important when we make the read list access rules more complicated in later patches. Inspired by comments from Chris. Unfortunately, due to header loops around the definition of struct drm_device the function interface is a bit funny. v3: Encoders aren't hotadded/removed. For each dp mst encoder we statically create one fake encoder per pipe so that we can support as many mst sinks as the hw can (Dave). Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 169faecadd2444fc295c724c0a2f622b99e6bf19 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:27 2015 +0200 drm/fbdev-helper: Grab mode_config.mutex in drm_fb_helper_single_add_all_connectors This is now truly only duct-tape to keep locking checks happy since calling this function when hpd or polling are already enabled is a bug. The fbdev helper can't cope with hotplug changes yet at this point, only after that. Otoh a bit more robustness in this function can't hurt, and with this fbdev can actually cope with hotplug changes. And it's also more consistent with the connector hotadd/remove dp mst needs to do. Therefore document this as new official behavior. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8c4ccc4ab6f64e859d4ff8d7c02c2ed2e956e07f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:26 2015 +0200 drm/probe-helper: Grab mode_config.mutex in poll_init/enable So on first looks this seems superflous since drivers should ensure correct ordering to not make this a problem. Otoh ordering constraints between hdp, fbdev load and enabling polling are already tricky on some hardware and it helps to be more robust. But the real goal is to just shut up a locking WARN_ON I'd like to add, which means init code gets some additional locks just for uniformity. v2: Also grab the lock for the public poll_enable, not just poll_init which is used for resume, with the same justification. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 6295d607ad34ee4e43aab3f20714c2ef7a6adea1 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:25 2015 +0200 drm: Add modeset object iterators And roll them out across drm_* files. The point here isn't code prettification (it helps with that too) but that some of these lists aren't static any more. And having macros will gives us a convenient place to put locking checks into. I didn't add an iterator for props since that's only used by a list_for_each_entry_safe in the driver teardown code. Search&replace was done with the below cocci spatch. Note that there's a bunch more places that didn't match and which would need some manual changes, but I've intentially left these out for this mostly automated patch. iterator name drm_for_each_crtc; struct drm_crtc *crtc; struct drm_device *dev; expression head; @@ - list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + drm_for_each_crtc (crtc, dev) { ... } @@ iterator name drm_for_each_encoder; struct drm_encoder *encoder; struct drm_device *dev; expression head; @@ - list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + drm_for_each_encoder (encoder, dev) { ... } @@ iterator name drm_for_each_fb; struct drm_framebuffer *fb; struct drm_device *dev; expression head; @@ - list_for_each_entry(fb, &dev->mode_config.fb_list, head) { + drm_for_each_fb (fb, dev) { ... } @@ iterator name drm_for_each_connector; struct drm_connector *connector; struct drm_device *dev; expression head; @@ - list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + drm_for_each_connector (connector, dev) { ... } Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4ea50e99bd3501aea394aa7a9e9bd3115faabf37 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:24 2015 +0200 drm: Simplify drm_for_each_legacy_plane arguments No need to pass the planelist when everyone just uses dev->mode_config.plane_list anyway. I want to add a pile more of iterators with unified (obj, dev) arguments. This is just prep. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8ec23da73599848a5a5ecbab50f17a570b60c096 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 17 11:02:54 2015 -0300 [media] tc358743: enable v4l2 subdevice devnode Add V4L2_SUBDEV_FL_HAS_DEVNODE to subdev flags, in order to enable a subdev device node. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4c5211a100399c3823563193dd881dcb3b7d24fc Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 17 11:02:53 2015 -0300 [media] tc358743: register v4l2 asynchronous subdevice Add support for registering the sensor subdevice using the v4l2-async API. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 55b858b4e5f46e71f9e5089cb63602697a49a211 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Jul 17 08:45:22 2015 -0300 [media] cobalt: allow fewer than 8 PCIe lanes Currently the cobalt driver refuses to load if fewer than 8 PCIe lanes are assigned. This patch changes this and just issues a warning. The only time it will refuse to load is if the number of assigned lanes is less than what the PCIe host is capable of since this suggests that the card isn't seated correctly in the slot. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 810c168c233fc531ecd3e7a6d9e0b5a3ffe85da7 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Jul 17 08:29:40 2015 -0300 [media] cobalt: accept unchanged timings when vb2_is_busy() When vb2_is_busy() it should still be possible to call S_DV_TIMINGS provided the new timings are the same as the current timings. For input 1 (test generator) the size is always 1080p, so just return that. Fixes a v4l2-compliance issue. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c99235fa3ef833c3c23926085f2bb68851c8460a Author: Benoit Parrot <bparrot@xxxxxx> Date: Wed Jul 15 18:00:06 2015 -0300 [media] media: am437x-vpfe: Fix a race condition during release There was a race condition where during cleanup/release operation on-going streaming would cause a kernel panic because the hardware module was disabled prematurely with IRQ still pending. Fixes: 417d2e507edc ("[media] media: platform: add VPFE capture driver support for AM437X") Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 794445095791aa4f92dfd802f08b541167d63ecc Author: Fabien Dessenne <fabien.dessenne@xxxxxx> Date: Tue Jun 16 15:30:00 2015 +0200 ARM: DT: STiH410: Add bdisp dt nodes Add the bdisp (2D blitter for STMicroelectronics SoC) dt nodes for the first of the two bdisp devices, defining register address, interrupt and clock. Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 5ecd29ac5eaafbadaf80fc30c3b1a1ead8072294 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 17:06:00 2015 +0200 ARM: multi_v7_defconfig: Enable support for PWM Regulators Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit eb592bc2f33e6aefbbb1c280e2167ebf753a5863 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 17:06:00 2015 +0200 ARM: multi_v7_defconfig: Enable ST's PWM driver Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 23155ffc551d5fef0ba5c199c0042f0309c3952a Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 17:06:00 2015 +0200 ARM: STi: STiH407: Add PWM Regulator node Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit cd9f59ca6d32e87fc62d2ada80a7e8ef09bead56 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 17:06:00 2015 +0200 ARM: STi: STiH407: Move PWM nodes STiH407 => STiH407-family This also incorporates the STiH410. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 775b07de4fa470ac10cd74f1b1a8d441b4f5838d Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Wed Jul 22 17:39:35 2015 +0800 ASoC: mediatek: Add suspend/resume callbacks This adds suspend/resume callbacks, which are common for each DAI. To be able to continue the last playback/capture after resume when suspend was done during a playback/capture, in the callbacks we do backup/restore of registers which were set before prepare stage. Registers to be backup/restore are defined in a backup list array. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ec12693e5d03c7e6399ba1e9150908527b809f33 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 22 10:22:33 2015 +0800 ASoC: cs4349: Fix up setting PWR_DWN bit The PWR_DWN is Bit 7, so current code does not set the PWR_DWN bit. Fix it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6a75c0b62b0981c3a34d3336725b0840747e7680 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 22 09:59:47 2015 +0800 ASoC: cs4349: Remove unneeded NULL test for cs4349->reset_gpio It's safe to call gpiod_set_value_cansleep() with NULL desc. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5eb26c60590983e11f567916a83d1f0a70986553 Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Tue Jun 23 16:09:00 2015 +0200 ARM: STi: DT: Rename st_pll3200c32_407_c0_x into st_pll3200c32_cx_x Use a generic name for this kind of PLL Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 04cbfe68c3190f23bcfec230bfd832b533f35554 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Wed Jul 22 14:01:44 2015 +0530 mfd: Add GPIOLIB dependency if INTEL_SOC_PMIC is to be enabled This is needed as the CRC PMIC has support for Panel enable/diable as gpio which needs 'gpiod_add_lookup_table' and 'gpiod_remove_lookup_table' from gpiolib. This patch can be squashed with below commit in topic/crc-pmic branch commit 61dd2ca2d44e493b050adbbb75bc50db11c367dd Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:05 2015 +0530 mfd: intel_soc_pmic_core: Add lookup table for Panel Control as GPIO signal On some Intel SoC platforms, the panel enable/disable signals are controlled by CRC PMIC. Add those control as a new GPIO in a lookup table for gpio-crystalcove chip during CRC driver load Cc: Lee Jones <lee.jones@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 50de4dd4bc6a6e378841a6705696d2c1f37ac038 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Jun 9 23:47:00 2015 +0200 ARM: STi: Remove platform call to trace_hardirqs_off() Calling trace_hardirqs_off() from the platform specific secondary startup code as not been necessary since Dec 2010 when Russell King consolidated the call into the common SMP code. 2c0136d ARM: SMP: consolidate trace_hardirqs_off() into common SMP code Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 94a8cfceaa7ee7e7187c5de074eb5138a6b77dcf Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Jun 9 15:33:00 2015 +0200 ARM: STi: Add code to release secondary cores from holding pen. Most upstream devs boot STi platform via JTAG which abuses the boot process by setting the PC of secondary cores directly. As a consquence, booting STi platforms via u-boot results in only the primary core being brought up as the code to manage the holding pen is not upstream. This patch adds the necessary code to bring the secondary cores out of the holding pen. It uses the cpu-release-addr DT property to get the address of the holding pen from the bootloader. With this patch booting upstream kernels via u-boot works correctly: [ 0.045456] CPU: Testing write buffer coherency: ok [ 0.045597] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.045734] Setting up static identity map for 0x40209000 - 0x40209098 [ 0.065047] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.065081] Brought up 2 CPUs [ 0.065089] SMP: Total of 2 processors activated (5983.43 BogoMIPS). [ 0.065092] CPU: All CPU(s) started in SVC mode. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 0a8c739c066254195b86bc8387fe16e5f72a5bdd Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Jun 9 15:33:00 2015 +0200 ARM: STi: DT: STiH418: Add cpu-release-addr dt property. To enable SMP when booting via u-boot we need to specify the newly implemented cpu-release-addr DT property for cores 2 & 3. Cores 0 & 1 are inherited from stih407-family.dtsi. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit c1dc02da791fd046c284e216aa4ae3c16a54c805 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Jun 9 15:33:00 2015 +0200 ARM: STi: DT: STiH407: Add cpu-release-addr dt property. To enable SMP when booting via u-boot we need to specify the newly implemented cpu-release-addr DT property. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 810099f657579058b17fba28a0ce1414771f4d92 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family mtsin0 pinctrl configuration mtsin0 channel can only be configured for parallel data transfer. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit e0decdd60a730fe9d5607403ef48a4548d25ff24 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsout1 pinctrl configuration tsout1 channel can only be configured for serial data tranfer. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 75d28b8306f73419f38e3505b603b5d44dce39a0 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsout0 pinctrl configuration tsout0 channel can be configured for either serial or parallel data transfer. Both pin configurations are provided. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit dd72896f0d7cbbda0b404ed4b8ad46b56f363fc4 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin5 pinctrl configuration tsin5 can only be configured for serial data transfer. However depending on board design, two alternate tsin5 pin configurations are available, both in pin-controller-front0. pinctrl_tsin5_serial_alt1 is brought out on B2120 reference design as TSD on NIMB slot of the B2004A daughter board. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit af4d191e44c9b0ad40b248902881710b117844fb Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin4 pinctrl configuration tsin4 can only be configured for serial data transfer. However depending on board design, two alternate pin configurations are available. One in pin-controller-front0 and the other in pin-controller-front1. pinctrl_tsin4_serial_alt3 is brought out on B2120 reference design as TSC on NIMA slot of the B2004A daughter board. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 36cfc8c14365aa604e5b31e53d56db1299e4008f Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin3 pinctrl configuration tsin3 channel can only be configured for serial data transfer. On B2120 reference design tsin3 is brought out as TSB on the NIMB slot of the B2004A daughter board. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 855617d6aa3460a75a8c773a883a573fa90a54a8 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin2 pinctrl configuration tsin2 channel can be configured for either serial or parallel data transfer. This patch adds the pinctrl config for both possibilities. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 71cae849b974e899bab0ac348026cdde10fdf61e Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:03:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin1 pinctrl configuration tsin1 channel can be configured for either serial or parallel data transfer. This patch adds the pinctrl config for both possibilities. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 747d7e6e4cad88a26e25324dee72d56ca52e504a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:03:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin0 pinctrl configuration tsin0 and be configured as either serial or parallel. This patch adds the pinctrl config for both possiblities. On B2120 reference design tsin0 is brought out as TSA on the NIMA slot of the B2004A daughter board. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 117ccc11ac271e446e6f0d65ed75d426a376ad45 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Wed Jul 22 07:44:06 2015 +0200 ARM: dts: rockchip: Use correct dts properties for tsadc node on veyron tsadc-tshut-mode and tsadc-tshut-polarity properties don't exist. The rockchip thermal driver looks for rockchip,hw-tshut-mode and rockchip,hw-tshut-polarity instead, otherwise it might freeze or hang the device according to the default mode or polarity used. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 63c88d2204bb33d060e22318b3d50162b7019add Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Jul 20 14:43:39 2015 -0700 drm/i915/bxt: add support for HPD long/short pulse detection on HPD_PORT_A pin This is a requirement for enabling display port HPD support on the port A HPD pin. This support is to be added by follow-up patches. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cc24fcdcea74844145f0f7683d4626be27dec221 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Jul 21 15:32:45 2015 -0700 drm/i915: don't use HPD_PORT_A as an alias for HPD_NONE Currently HPD_PORT_A is used as an alias for HPD_NONE to mean that the given port doesn't support long/short HPD pulse detection. SDVO and CRT ports are like this and for these ports we only want to know whether an hot plug event was detected on the corresponding pin. Since at least on BXT we need long/short pulse detection on PORT A as well (added by the next patch) remove this aliasing of HPD_PORT_A/HPD_NONE and let the return value of intel_hpd_pin_to_port() show whether long/short pulse detection is supported on the passed in pin. No functional change. v2: - rebase on top of -nightly (Daniel) - make the check for intel_hpd_pin_to_port() return value more readable (Sivakumar) Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fd63e2a972c670887e5e8a08440111d3812c0996 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Jul 21 15:32:44 2015 -0700 drm/i915: combine i9xx_get_hpd_pins and pch_get_hpd_pins These functions are quite similar, so combine them with the use of a new argument for a function that detects long pulses. This will be also needed by an upcoming patch adding support for BXT long pulse detection. No functional change. v2: - rebase on top -nightly (Daniel) Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d2334cb7da37e4b0005ca1d194d4e10ca7119f4 Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 14:04:18 2015 +0200 s390/cio: Implement proper Link Incident Record handling A hardware problem on a FICON link is reported by the Channel Subsystem to the operating system via a Link Incident Record (LIR). In response, the operating system should issue a message that enables hardware service personnel to identify and repair the failing component. Current Linux LIR handling is broken because LIR data is incorrectly interpreted and no log message is generated. This patch fixes Linux LIR handling by implementing a new log message for LIRs indicating a degraded or non-operational link. Also LIRs are no longer used to deactivate channel paths because the available data does not reliably allow to determine the affected channel path. Signed-off-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b1865401cf54c7ce06bccccb917f57c46a83b399 Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 14:00:30 2015 +0200 s390/cio: Fix comma After dutifully acting as statement separator for 6 long years, this comma has finally grown into a full semicolon. Signed-off-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 00fd2cb0ec4208a32272b4c2f1063ab99a76473c Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 09:06:55 2015 +0200 s390/sclp: Change SCLP console default buffer-full behavior Dropping kernel messages during a console-buffer-full condition is preferable to halting the system until console messages are delivered, especially for production systems. Update default for sclp_console_drop kernel parameter accordingly. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@xxxxxxxxxxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 198a52789435a00087040ad0ec25da84c555621f Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 23 14:06:35 2015 +0200 s390/pci: inline get_zdev Inline get_zdev to save ~200 bytes of kernel text for CONFIG_PCI=y. Also rename the function to to_zpci to make clear that we don't do reference counting here. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2acb94f43128b5cd375873f9ba82fac968d3ce5d Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Jun 22 17:28:14 2015 +0200 s390/nmi: use the normal asynchronous stack for machine checks If a machine checks is received while the CPU is in the kernel, only the s390_do_machine_check function will be called. The call to s390_handle_mcck is postponed until the CPU returns to user space. Because of this it is safe to use the asynchronous stack for machine checks even if the CPU is already handling an interrupt. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a359bb1190f213d282f4934fd461cf440d87dae0 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Jun 22 17:27:48 2015 +0200 s390/kernel: squeeze a few more cycles out of the system call handler Reorder the instructions of UPDATE_VTIME to improve superscalar execution, remove duplicate checks for problem-state from the asynchronous interrupt handlers, and move the check for problem-state from the synchronous exit path to the program check path as it is only needed for program checks inside the kernel. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit d0fc41071a6884d0a10077bb6dc87f9267f32dd6 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Jun 22 17:26:40 2015 +0200 s390/kvm: integrate HANDLE_SIE_INTERCEPT into cleanup_critical Currently there are two mechanisms to deal with cleanup work due to interrupts. The HANDLE_SIE_INTERCEPT macro is used to undo the changes required to enter SIE in sie64a. If the SIE instruction causes a program check, or an asynchronous interrupt is received the HANDLE_SIE_INTERCEPT code forwards the program execution to sie_exit. All the other critical sections in entry.S are handled by the code in cleanup_critical that is called by the SWITCH_ASYNC macro. Move the sie64a function to the beginning of the critical section and add the code from HANDLE_SIE_INTERCEPT to cleanup_critical. Add a special case for the sie64a cleanup to the program check handler. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit dcd2a9aaa0e0331ba0c4d7a64830788f22f26aa4 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Jun 22 17:14:14 2015 +0200 s390/kvm: fix interrupt race with HANDLE_SIE_INTERCEPT The HANDLE_SIE_INTERCEPT macro is used in the interrupt handlers and the program check handler to undo a few changes done by sie64a. Among them are guest vs host LPP, the gmap ASCE vs kernel ASCE and the bit that indicates that SIE is currently running on the CPU. There is a race of a voluntary SIE exit vs asynchronous interrupts. If the CPU completed the SIE instruction and the TM instruction of the LPP macro at the time it receives an interrupt, the interrupt handler will run while the LPP, the ASCE and the SIE bit are still set up for guest execution. This might result in wrong sampling data, but it will not cause data corruption or lockups. The critical section in sie64a needs to be enlarged to include all instructions that undo the changes required for guest execution. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit d05377c12ae2ac88e747a28ae1e23f556d549592 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 17:34:07 2015 +0100 s390/crypto: add cpu feature modaliases for crypto modules Use the module_cpu_feature_match() module init function to add an module alias based on required CPU features. The modules are automatically loaded on hardware that supports the required CPU features. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8f00b3e28f73e712a2f82a15f66acd852f60e3ba Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 12:22:02 2015 +0100 s390/module: enable generic CPU feature modalias using s390 ELF hwcaps Add support for the generic CPU feature modalias implementation that wires up optional CPU features to udev-based module autoprobing. The <asm/cpufeature.h> file provides definitions to map CPU features to s390 ELF hardware capabilities. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 7d0c502040a23a5924d3021651cf5326c8694a77 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 14:44:24 2015 +0100 cpufeature: correctly annotate the module init function A section mismatch warning is reported if an __init annotated function is specified for module_cpu_feature_match(). Change the module_cpu_feature_match() function and annotate the generated cpu_feature_match_* function as __init. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9977e886cbbc758b4b601a160b5825ba573b5ca8 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 10 12:53:42 2015 +0200 s390/kernel: lazy restore fpu registers Improve the save and restore behavior of FPU register contents to use the vector extension within the kernel. The kernel does not use floating-point or vector registers and, therefore, saving and restoring the FPU register contents are performed for handling signals or switching processes only. To prepare for using vector instructions and vector registers within the kernel, enhance the save behavior and implement a lazy restore at return to user space from a system call or interrupt. To implement the lazy restore, the save_fpu_regs() sets a CPU information flag, CIF_FPU, to indicate that the FPU registers must be restored. Saving and setting CIF_FPU is performed in an atomic fashion to be interrupt-safe. When the kernel wants to use the vector extension or wants to change the FPU register state for a task during signal handling, the save_fpu_regs() must be called first. The CIF_FPU flag is also set at process switch. At return to user space, the FPU state is restored. In particular, the FPU state includes the floating-point or vector register contents, as well as, vector-enablement and floating-point control. The FPU state restore and clearing CIF_FPU is also performed in an atomic fashion. For KVM, the restore of the FPU register state is performed when restoring the general-purpose guest registers before the SIE instructions is started. Because the path towards the SIE instruction is interruptible, the CIF_FPU flag must be checked again right before going into SIE. If set, the guest registers must be reloaded again by re-entering the outer SIE loop. This is the same behavior as if the SIE critical section is interrupted. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit bd550337f61b6f10dee8c60d0bd17ac02367b56d Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 17:32:52 2015 +0200 s390/vx: add vector instruction support for older binutils versions Older binutils versions do not include support for the vector instruction formats. Add assembler macros for vector instruction mnemonics to easily encode and generate vector instructions. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 155e839a814834a3b4b31e729f4716e59d3d2dd4 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 16:57:20 2015 +0200 s390/kernel: dynamically allocate FP register save area Make the floating-point save area dynamically allocated and uses a flag to distinguish whether a task uses floating-point or vector registers. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 904818e2f229f3d94ec95f6932a6358c81e73d78 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 15:33:54 2015 +0200 s390/kernel: introduce fpu-internal.h with fpu helper functions Introduce a new structure to manage FP and VX registers. Refactor the save and restore of floating point and vector registers with a set of helper functions in fpu-internal.h. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 96b2d7a83a27fbae10fc57c39577a7e2689d9f0a Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 12 13:53:51 2015 +0200 s390/kvm: validate the floating-point control before restoring it The kvm_arch_vcpu_load() does not validate whether the floating-point control (FPC) is valid. Further, the return code of the restore is not checked too. If the FPC is invalid, the restore fails and the host FPC value might remain. The correct behavior would be to clear the FPC if it is not valid. Hence, validate the FPC value and, optionally, reset the value before restoring it. Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 4084eb7767418861a81d9e24d222f2536537f58e Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 28 11:30:40 2015 +0200 s390/kernel: use test_fp_ctl() to verify the floating-point control word Use the test_fp_ctl() to test the floating-point control word for validity and use restore_fp_ctl() to set it in load_sigregs. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2e54dc3c7dadd4d012f132b1a2b3ab89d9a48cc2 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 12 10:57:40 2015 +0200 s390/kernel: move EX_TABLE macros to linkage.h header file Move the EX_TABLE macro definitions from the processor.h to the linkage.h header file. It helps to reduce circular header file dependencies. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6632d4fdd790965a2e4741a3652a1c365d52ae2e Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Tue May 12 08:22:01 2015 +0200 ARM: zynq: Set bit 22 in PL310 AuxCtrl register (6395/1) This patch is based on the commit 1a8e41cd672f ("ARM: 6395/1: VExpress: Set bit 22 in the PL310 (cache controller) AuxCtlr register") Clearing bit 22 in the PL310 Auxiliary Control register (shared attribute override enable) has the side effect of transforming Normal Shared Non-cacheable reads into Cacheable no-allocate reads. Coherent DMA buffers in Linux always have a cacheable alias via the kernel linear mapping and the processor can speculatively load cache lines into the PL310 controller. With bit 22 cleared, Non-cacheable reads would unexpectedly hit such cache lines leading to buffer corruption. For Zynq, this fix avoids memory inconsistencies between Gigabit Ethernet controller (GEM) and CPU when DMA_CMA is disabled. Suggested-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 974a2aba99d29bada9212134e7565d2364967636 Author: Arun Chandran <achandran@xxxxxxxxxx> Date: Fri Jun 12 12:23:24 2015 +0530 ARM: zynq: Fix earlyprintk in big endian mode earlyprintk messages are not appearing on the terminal emulator during a big endian kernel boot. In BE mode sending full words to UART will result in unprintable characters as they are byte swapped versions of printable ones. So send only bytes. Signed-off-by: Arun Chandran <achandran@xxxxxxxxxx> Tested-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit b2c51106c7581866c37ffc77c5d739f3d4b7cbc9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Tue Jul 21 09:27:18 2015 -0700 x86/build: Fix detection of GCC -mpreferred-stack-boundary support As per: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383 GCC only allows -mpreferred-stack-boundary=3 on x86_64 if -mno-sse is set. That means that cc-option will not detect -mpreferred-stack-boundary=3 support, because we test for it before setting -mno-sse. Fix it by reordering the Makefile bits. Compile-tested only. This should help avoid code generation issues such as the one that was worked around in: b96fecbfa8c8 ("x86/fpu: Fix boot crash in the early FPU code") I'm a bit concerned that we could still have problems on older GCC versions given that our asm code does not respect GCC's idea of the ABI-required stack alignment. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/f5297c192969adfa0d28b84cf8a22d59573db26d.1436126872.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b56ea2985d389a3676638203323ebe22c261b7fe Author: Rick Jones <rick.jones2@xxxxxx> Date: Tue Jul 21 16:14:13 2015 -0700 net: track success and failure of TCP PMTU probing Track success and failure of TCP PMTU probing. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b2c2a931a051e75f9df429b520bb2c2f2bb056b Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Jul 21 22:39:40 2015 +0530 cxgb4: Add debugfs entry to enable backdoor access Add debugfs entry 'use_backdoor' to enable backdoor access to read sge context. By default, we read sge context's via firmware. In case of FW issues, one can enable backdoor access via debugfs to dump sge context for debugging purpose. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 01faef2cebae02685e2bcfc9bbee8416d5ec19fc Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 09:16:24 2015 -0700 mpls: make RTA_OIF optional If user did not specify an oif, try and get it from the via address. If failed to get device, return with -ENODEV. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd36ef606ccf49c45bd7f71ea25007ace17968e3 Merge: 1604089 12fb0da Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 21 22:21:33 2015 -0700 Merge branch 'sfc-filter-chaining' Edward Cree says: ==================== sfc: support for cascaded multicast filtering Recent versions of firmware for SFC9100 adapters add support for filter chaining, in which packets matching multiple filters are delivered to all filters' recipients, rather than only the highest match-priority filter as was previously the case. This patch series enables this feature and redesigns the filter handling code to make use of it; in particular, subscribing to a multicast address on one function no longer prevents traffic to that address reaching another function which is in promiscuous or allmulti mode. If the firmware does not support filter chaining, the driver will fall back to the old behaviour. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12fb0da45c9a077dd76d9848f791fbdd4b8d4050 Author: Edward Cree <ecree@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:11:00 2015 +0100 sfc: clean fallbacks between promisc/normal in efx_ef10_filter_sync_rx_mode Separate functions for inserting individual and promisc filters; explicit fallback logic in efx_ef10_filter_sync_rx_mode(), in order not to overload the 'promisc' flag as also meaning "fall back to promisc". Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab8b1f7cf83a3016dcdeae874a469e2c8894fcd9 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:10:44 2015 +0100 sfc: support cascaded multicast filters If the workaround to support cascaded multicast filters ("workaround_26807") is enabled, the broadcast filter and individual multicast filters are not inserted when in promiscuous or allmulti mode. There is a race while inserting and removing filters when entering and leaving promiscuous mode. When changing promiscuous state with cascaded multicast filters, the old multicast filters are removed before inserting the new filters to avoid duplicating packets; this can lead to dropped packets until all filters have been inserted. The efx_nic:mc_promisc flag is added to record the presence of a multicast promiscuous filter; this gives a simple way to tell if the promiscuous state is changing. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 822b96f87f1b47ac0c73417284879ef610500173 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:10:27 2015 +0100 sfc: re-factor efx_ef10_filter_sync_rx_mode() This change is only re-factoring; there are no changes to functionality except for a slight elaboration of an error message (on mismatch filter insertion failure). Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6f568e27b6b214beaa0d57ddb4fcc446fcd5555 Author: Jon Cooper <jcooper@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:10:15 2015 +0100 sfc: Insert multicast filters as well as mismatch filters in promiscuous mode If a function is in promiscuous mode and another function has a broadcast or multicast filter inserted, the function in promiscuous mode won't see that broadcast or multicast traffic. Most notably this breaks broadcast, which means ARP doesn't work. Less show-stoppingly, a function listening on a multicast address that's also in promiscuous mode will not see that multicast traffic if another function is also listening on that multicast address. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a55a72abe48e5d6c0ec86e7b06cd73ab7d517c8 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:10:02 2015 +0100 sfc: warn if other functions have been reset by MCFW When enabling the workaround for cascaded multicast filters, the MC can reset other functions if they have already inserted filters. In that case, the workaround has been enabled, but print an info message in the log recording that other functions had to be reset. As other functions were reset, the MC will have incremented its boot count, so also increment the warm_boot_count on the function which enabled the workaround, as that function won't have received an MC reboot event and does not need to reset. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34ccfe6f8abd9ce7ea70e68f130cc6618737269f Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:09:43 2015 +0100 sfc: add output flag decoding to efx_mcdi_set_workaround The initial use of this will be to check a flag reporting if an FLR was performed on other functions when enabling cascaded multicast filters. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 832dc9ed43da8eb2033d90b46c1041e1d6947907 Author: Edward Cree <ecree@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:09:31 2015 +0100 sfc: cope with ENOSYS from efx_mcdi_get_workarounds() GET_WORKAROUNDS was only introduced in May 2014, not all firmware will have it. So call sites need to handle ENOSYS. In this case we're probing the bug26807 workaround, which is not implemented in any firmware that doesn't have GET_WORKAROUNDS. So interpret ENOSYS as 'false'. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46e612b0fcefb7a3381933135f386523dedb4159 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:09:18 2015 +0100 sfc: enable cascaded multicast filters in MCFW After creating event queue 0, check to see if the workaround is enabled, and enable it if necessary. This will be called during PCI probe and also when coming back up after a reset. The nic_data->workaround_26807 will be used in the future to control the filter insertion behaviour based on this workaround. Only the primary PF can enable this workaround, so tolerate an EPERM error and continue. Otherwise, if any step in the checking and enabling of the workaround fails, the event queue must be removed. We check that workaround is implemented before trying to enable it, and store the current workaround setting before trying to change it. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9196bb048a78936d097600fb47b0b5ab9cc00d5 Author: Edward Cree <ecree@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:08:56 2015 +0100 sfc: update MCDI protocol definitions Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb9a4e7e824e998070c2a2d1d4c67bc971ab72b8 Author: Laurent Navet <laurent.navet@xxxxxxxxx> Date: Wed Jul 22 00:09:45 2015 -0400 ext4 crypto: fix spelling typo in comment Signed-off-by: Laurent Navet <laurent.navet@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit d76d99b219e1a233a720775c0451c310d34594e8 Author: Laurent Navet <laurent.navet@xxxxxxxxx> Date: Wed Jul 22 00:08:08 2015 -0400 ext4 crypto: exit cleanly if ext4_derive_key_aes() fails Return value of ext4_derive_key_aes() is stored but not used. Add test to exit cleanly if ext4_derive_key_aes() fail. Also fix coverity CID 1309760. Signed-off-by: Laurent Navet <laurent.navet@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 5ba92bcf0dd63b35a85e90c3016989733b239bb5 Author: Carlos Maiolino <cmaiolino@xxxxxxxxxx> Date: Tue Jul 21 23:57:59 2015 -0400 ext4: reject journal options for ext2 mounts There is no reason to allow ext2 filesystems be mounted with journal mount options. So, this patch adds them to the MOPT_NO_EXT2 mount options list. Signed-off-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 001e4a8775f6e8ad52a89e0072f09aee47d5d252 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Jul 21 23:51:26 2015 -0400 ext4: implement cgroup writeback support For ordered and writeback data modes, all data IOs go through ext4_io_submit. This patch adds cgroup writeback support by invoking wbc_init_bio() from io_submit_init_bio() and wbc_account_io() in io_submit_add_bh(). Journal data which is written by jbd2 worker is left alone by this patch and will always be written out from the root cgroup. ext4_fill_super() is updated to set MS_CGROUPWB when data mode is either ordered or writeback. In journaled data mode, most IOs become synchronous through the journal and enabling cgroup writeback support doesn't make much sense or difference. Journaled data mode is left alone. Lightly tested with sequential data write workload. Behaves as expected. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 5a33911fa5ecd7395115df2e27fbd22b73357ac5 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Jul 21 23:50:24 2015 -0400 ext4: replace ext4_io_submit->io_op with ->io_wbc ext4_io_submit_init() takes the pointer to writeback_control to test its sync_mode and determine between WRITE and WRITE_SYNC and records the result in ->io_op. This patch makes it record the pointer directly and moves the test to ext4_io_submit(). This doesn't cause any noticeable differences now but having writeback_control available throughout IO submission path will be depended upon by the planned cgroup writeback support. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 7fd6e11dca09b21efbe2b9db4eff08c8f4a16125 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 21 00:27:24 2015 +0000 ARM: shmobile: r8a7791: Add Audio MIX support on DTSI Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 88401702fe395880bb03c9d17720185c1d89b43f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 21 00:27:03 2015 +0000 ARM: shmobile: r8a7791: Add Audio CTU support on DTSI Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fc67bf42fa9a3e7c891e6318475f9c4d81a1d44e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 21 00:26:42 2015 +0000 ARM: shmobile: r8a7790: Add Audio MIX support on DTSI Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a7163784961e513a6d8c60b264737af623d1f33c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 21 00:26:20 2015 +0000 ARM: shmobile: r8a7790: Add Audio CTU support on DTSI Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 850346eccc2d32dd6d0a3b08e6ac127b8982c067 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed May 6 07:05:31 2015 +0300 ARM: shmobile: lager: Fix adv7511 IRQ sensing The adv7511 IRQ is low level triggered, not falling edge triggered. The wrong sense configuration results in no interrupt being triggered at all, breaking hotplug detection. Fix it. Reported-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 16040894b26af9f85d9395f072c53d76a44eba21 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Tue Jul 21 06:42:28 2015 -0400 tipc: fix compatibility bug In commit d999297c3dbbe7fdd832f7fa4ec84301e170b3e6 ("tipc: reduce locking scope during packet reception") we introduced a new function tipc_link_proto_rcv(). This function contains a bug, so that it sometimes by error sends out a non-zero link priority value in created protocol messages. The bug may lead to an extra link reset at initial link establising with older nodes. This will never happen more than once, whereafter the link will work as intended. We fix this bug in this commit. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67b2914b9c3c27d909701c72b0bbed1a97c4b675 Merge: e181a54 f8af8e6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 21 16:12:56 2015 -0700 Merge branch 'explicit-inbound-link-state' Florian Fainelli says: ==================== net: enable inband link state negotiation only when explicitly requested Changes in v5: - removed an invalid use of the link_update callback in the SF2 driver was appeared after merging "net: phy: fixed_phy: handle link-down case" - reworded the commit message for patch 2 to make it clear what it fixes and why this is required Initial cover letter from Stas: Hello. Currently the link status auto-negotiation is enabled for any SGMII link with fixed-link DT binding. The regression was reported: https://lkml.org/lkml/2015/7/8/865 Apparently not all HW that implements SGMII protocol, generates the inband status for the auto-negotiation to work. More details here: https://lkml.org/lkml/2015/7/10/206 The following patches reverts to the old behavior by default, which is to not enable the auto-negotiation for fixed-link. The new DT property is added that allows to explicitly request the auto-negotiation. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8af8e6eb95093d5ce5ebcc52bd1929b0433e172 Author: Stas Sergeev <stsp@xxxxxxx> Date: Mon Jul 20 17:49:58 2015 -0700 mvneta: use inband status only when explicitly enabled The commit 898b2970e2c9 ("mvneta: implement SGMII-based in-band link state signaling") implemented the link parameters auto-negotiation unconditionally. Unfortunately it appears that some HW that implements SGMII protocol, doesn't generate the inband status, so it is not possible to auto-negotiate anything with such HW. This patch enables the auto-negotiation only if explicitly requested with the 'managed' DT property. This patch fixes the following regression: https://lkml.org/lkml/2015/7/8/865 Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> CC: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cba5c2103657d43d0886e4cff8004d95a3d0def Author: Stas Sergeev <stsp@xxxxxxx> Date: Mon Jul 20 17:49:57 2015 -0700 of_mdio: add new DT property 'managed' to specify the PHY management type Currently the PHY management type is selected by the MAC driver arbitrary. The decision is based on the presence of the "fixed-link" node and on a will of the driver's authors. This caused a regression recently, when mvneta driver suddenly started to use the in-band status for auto-negotiation on fixed links. It appears the auto-negotiation may not work when expected by the MAC driver. Sebastien Rannou explains: << Yes, I confirm that my HW does not generate an in-band status. AFAIK, it's a PHY that aggregates 4xSGMIIs to 1xQSGMII ; the MAC side of the PHY (with inband status) is connected to the switch through QSGMII, and in this context we are on the media side of the PHY. >> https://lkml.org/lkml/2015/7/10/206 This patch introduces the new string property 'managed' that allows the user to set the management type explicitly. The supported values are: "auto" - default. Uses either MDIO or nothing, depending on the presence of the fixed-link node "in-band-status" - use in-band status Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Florian Fainelli <f.fainelli@xxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: devicetree@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx CC: netdev@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 868a4215be9a6d80548ccb74763b883dc99d32a2 Author: Stas Sergeev <stsp@xxxxxxx> Date: Mon Jul 20 17:49:56 2015 -0700 net: phy: fixed_phy: handle link-down case fixed_phy_register() currently hardcodes the fixed PHY link to 1, and expects to find a "speed" parameter to provide correct information towards the fixed PHY consumer. In a subsequent change, where we allow "managed" (e.g: (RS)GMII in-band status auto-negotiation) fixed PHYs, none of these parameters can be provided since they will be auto-negotiated, hence, we just provide a zero-initialized fixed_phy_status to fixed_phy_register() which makes it fail when we call fixed_phy_update_regs() since status.speed = 0 which makes us hit the "default" label and error out. Without this change, we would also see potentially inconsistent speed/duplex parameters for fixed PHYs when the link is DOWN. CC: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> [florian: add more background to why this is correct and desirable] Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2eac98f7d1b950b762a7eca05a9ce0ea1d878d2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Jul 20 17:49:55 2015 -0700 net: dsa: bcm_sf2: Do not override speed settings The SF2 driver currently overrides speed settings for its port configured using a fixed PHY, this is both unnecessary and incorrect, because we keep feedback to the hardware parameters that we read from the PHY device, which in the case of a fixed PHY cannot possibly change speed. This is a required change to allow the fixed PHY code to allow registering a PHY with a link configured as DOWN by default and avoid some sort of circular dependency where we require the link_update callback to run to program the hardware, and we then utilize the fixed PHY parameters to program the hardware with the same settings. Fixes: 246d7f773c13 ("net: dsa: add Broadcom SF2 switch driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e181a5430491f038c198f0eacc3142d6e871c2da Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Jul 19 22:21:13 2015 +0200 net: #ifdefify sk_classid member of struct sock The sk_classid member is only required when CONFIG_CGROUP_NET_CLASSID is enabled. #ifdefify it to reduce the size of struct sock on 32 bit systems, at least. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c45f5c9943ce0b16b299b543c2aae12408039027 Author: Jon Derrick <jonathan.derrick@xxxxxxxxx> Date: Tue Jul 21 15:08:13 2015 -0600 nvme: Fixes u64 division which breaks i386 builds Uses div_u64 for u64 division and round_down, a bitwise operation, instead of rounddown, which uses a modulus. Signed-off-by: Jon Derrick <jonathan.derrick@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 019d8817b1b064c2bacfbcf40fc68184438ad05a Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 14:40:06 2015 +0200 PM / sleep: Allow devices without runtime PM to do direct-complete Don't unset the direct_complete flag on devices that have runtime PM disabled, if they are runtime suspended. This is needed because otherwise ancestor devices wouldn't be able to do direct_complete without adding runtime PM support to all its descendants. Also removes pm_runtime_suspended_if_enabled() because it's now unused. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7d132de8b0caece3b23098aee97df07e82e27fc0 Merge: af37612 fb18539 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 21 14:06:46 2015 -0700 Merge tag 'tags/pxa-dt-4.3' of https://github.com/rjarzmik/linux into next/dt Merge "pxa-dt for v4.3" from Robert Jarzmik: This device-tree pxa update brings : - dma nodes after dmaengine pxa_dma driver merge - camera driver - usb host controller * tag 'tags/pxa-dt-4.3' of https://github.com/rjarzmik/linux: ARM: dts: pxa: fix power i2c definition ARM: dts: pxa: add the usb host controller ARM: dts: pxa: add embedded pxa camera capture interface ARM: dts: pxa: add dma pxamci nodes to pxa3xx ARM: dts: pxa: add dma engine node to pxa3xx-nand ARM: dts: pxa: add dma controller Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 57c0f8c9c45365d167f8606dad7fde9565432b7a Author: Dalon Westergreen <dwesterg@xxxxxxxxx> Date: Wed Jul 8 16:48:49 2015 -0700 ARM: dts: socfpga: Add support of Terasic DE0 Atlas board The Terasic DE0 Atlas board is also known as the DE0-Nano board. This patch adds the DTS board file for the DE0-Nano Sockit board, and not the DE0 Nano "Development Board". Signed-off-by: Dalon Westergreen <dwesterg@xxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> --- v3: Updated skew settings for the gmac1 node as this board is using the KSZ9031 PHY instead of the 9021 PHY. v2: use stdpath-out for console and remove comment regarding u-boot ethaddr commit 7aa6ca4d39edf01f997b9e02cf6d2fdeb224f351 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Jul 13 11:40:07 2015 -0700 PCI: Add VPD function 0 quirk for Intel Ethernet devices Set the PCI_DEV_FLAGS_VPD_REF_F0 flag on all Intel Ethernet device functions other than function 0, so that on multi-function devices, we will always read VPD from function 0 instead of from the other functions. [bhelgaas: changelog] Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx commit 932c435caba8a2ce473a91753bad0173269ef334 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Jul 13 11:40:02 2015 -0700 PCI: Add dev_flags bit to access VPD through function 0 Add a dev_flags bit, PCI_DEV_FLAGS_VPD_REF_F0, to access VPD through function 0 to provide VPD access on other functions. This is for hardware devices that provide copies of the same VPD capability registers in multiple functions. Because the kernel expects that each function has its own registers, both the locking and the state tracking are affected by VPD accesses to different functions. On such devices for example, if a VPD write is performed on function 0, *any* later attempt to read VPD from any other function of that device will hang. This has to do with how the kernel tracks the expected value of the F bit per function. Concurrent accesses to different functions of the same device can not only hang but also corrupt both read and write VPD data. When hangs occur, typically the error message: vpd r/w failed. This is likely a firmware bug on this device. will be seen. Never set this bit on function 0 or there will be an infinite recursion. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx commit e69724f32e62502a6e686eae36b7aadfeea60dca Merge: 2070c48 614732e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 21 10:39:07 2015 -0700 Merge branch 'lwtunnel' Thomas Graf says: ==================== Lightweight & flow based encapsulation This series combines the work previously posted by Roopa, Robert and myself. It's according to what we discussed at NFWS. The motivation of this series is to: * Consolidate code between OVS and the rest of the kernel and get rid of OVS vports and instead represent them as pure net_devices. * Introduce a lightweight tunneling mechanism which enables flow based encapsulation to improve scalability on both RX and TX. * Do the above in an encapsulation unspecific way so that the encapsulation type is eventually abstracted away from the user. * Use the same forwarding decision for both native forwarding and encapsulation thus allowing to switch between native IPv6 and UDP encapsulation based on endpoint without requiring additional logic The fundamental changes introduces in this series are: * A new RTA_ENCAP Netlink attribute for routes carrying encapsulation instructions. Depending on the specified type, the instructions apply to UDP encapsulations, MPLS and possible other in the future. * Depending on the encapsulation type, the output function of the dst is directly overwritten or the dst merely attaches metadata and relies on a subsequent net_device to apply it to the packet. The latter is typically used if an inner and outer IP header exist which require two subsequent routing lookups to be performed. * A new metadata_dst structure which can be attached to skbs to carry metadata in between subsystems. This new metadata transport is used to provide a single interface for VXLAN, routing and OVS to communicate through metadata. The OVS interfaces remain as-is but will transparently create a real VXLAN net_device in the background. iproute2 is extended with a new use cases: VXLAN: ip route add 40.1.1.1/32 encap vxlan id 10 dst 50.1.1.2 dev vxlan0 MPLS: ip route add 10.1.1.0/30 encap mpls 200 via inet 10.1.1.1 dev swp1 Performance implications: The additional memory allocation in the receive path should have performance implications although it is not observable in standard throughput tests if GRO is properly done. The correct net_device model outweights the additional cost of the allocation. Furthermore, this implication can be relaxed by reintroducing a direct unqueued path from a software device to a consumer like bridge or OVS if needed. $ netperf -t TCP_STREAM -H 15.1.1.201 MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 15.1.1.201 (15.1.1.201) port 0 AF_INET : demo Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 10.00 9118.17 Changes since v1: * Properly initialize tun_id as reported by Julian * Drop dupliate netif_keep_dst() as reported by Alexei ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 614732eaa12dd462c0ab274700bed14f36afea5e Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:06 2015 +0200 openvswitch: Use regular VXLAN net_device device This gets rid of all OVS specific VXLAN code in the receive and transmit path by using a VXLAN net_device to represent the vport. Only a small shim layer remains which takes care of handling the VXLAN specific OVS Netlink configuration. Unexports vxlan_sock_add(), vxlan_sock_release(), vxlan_xmit_skb() since they are no longer needed. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9db965c524ea27451e60d5ddcd242f6c33a70fd Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:05 2015 +0200 openvswitch: Abstract vport name through ovs_vport_name() This allows to get rid of the get_name() vport ops later on. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be4ace6e6b1bc12e18b25fe764917e09a1f96d7b Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:04 2015 +0200 openvswitch: Move dev pointer into vport itself This is the first step in representing all OVS vports as regular struct net_devices. Move the net_device pointer into the vport structure itself to get rid of struct vport_netdev. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34ae932a40369be6bd6ea97d66b6686361b4370d Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:03 2015 +0200 openvswitch: Make tunnel set action attach a metadata dst Utilize the new metadata dst to attach encapsulation instructions to the skb. The existing egress_tun_info via the OVS_CB() is left in place until all tunnel vports have been converted to the new method. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0dfbdf4102b9303d3ddf2177c0220098ff99f6de Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:02 2015 +0200 vxlan: Factor out device configuration This factors out the device configuration out of the RTNL newlink API which allows for in-kernel creation of VXLAN net_devices. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7030878fc8448492b6e5cecd574043f63271298 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:01 2015 +0200 fib: Add fib rule match on tunnel id This add the ability to select a routing table based on the tunnel id which allows to maintain separate routing tables for each virtual tunnel network. ip rule add from all tunnel-id 100 lookup 100 ip rule add from all tunnel-id 200 lookup 200 A new static key controls the collection of metadata at tunnel level upon demand. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3093fbe7ff4bc7d1571fc217dade1cf80330a714 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:00 2015 +0200 route: Per route IP tunnel metadata via lightweight tunnel This introduces a new IP tunnel lightweight tunnel type which allows to specify IP tunnel instructions per route. Only IPv4 is supported at this point. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b7179d3adff0ab71f85ee24d7de28ccb7734b89 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:59 2015 +0200 route: Extend flow representation with tunnel key Add a new flowi_tunnel structure which is a subset of ip_tunnel_key to allow routes to match on tunnel metadata. For now, the tunnel id is added to flowi_tunnel which allows for routes to be bound to specific virtual tunnels. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee122c79d4227f6ec642157834b6a90fcffa4382 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:58 2015 +0200 vxlan: Flow based tunneling Allows putting a VXLAN device into a new flow-based mode in which skbs with a ip_tunnel_info dst metadata attached will be encapsulated according to the instructions stored in there with the VXLAN device defaults taken into consideration. Similar on the receive side, if the VXLAN_F_COLLECT_METADATA flag is set, the packet processing will populate a ip_tunnel_info struct for each packet received and attach it to the skb using the new metadata dst. The metadata structure will contain the outer header and tunnel header fields which have been stripped off. Layers further up in the stack such as routing, tc or netfitler can later match on these fields and perform forwarding. It is the responsibility of upper layers to ensure that the flag is set if the metadata is needed. The flag limits the additional cost of metadata collecting based on demand. This prepares the VXLAN device to be steered by the routing and other subsystems which allows to support encapsulation for a large number of tunnel endpoints and tunnel ids through a single net_device which improves the scalability. It also allows for OVS to leverage this mode which in turn allows for the removal of the OVS specific VXLAN code. Because the skb is currently scrubed in vxlan_rcv(), the attachment of the new dst metadata is postponed until after scrubing which requires the temporary addition of a new member to vxlan_metadata. This member is removed again in a later commit after the indirect VXLAN receive API has been removed. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0accfc268f4d3345693d3af3d5780aae3ad93d8d Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:57 2015 +0200 arp: Inherit metadata dst when creating ARP requests If output device wants to see the dst, inherit the dst of the original skb and pass it on to generate the ARP request. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f38a9eb1f77b296ff07e000823884a0f64d67b2a Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:56 2015 +0200 dst: Metadata destinations Introduces a new dst_metadata which enables to carry per packet metadata between forwarding and processing elements via the skb->dst pointer. The structure is set up to be a union. Thus, each separate type of metadata requires its own dst instance. If demand arises to carry multiple types of metadata concurrently, metadata dst entries can be made stackable. The metadata dst entry is refcnt'ed as expected for now but a non reference counted use is possible if the reference is forced before queueing the skb. In order to allow allocating dsts with variable length, the existing dst_alloc() is split into a dst_alloc() and dst_init() function. The existing dst_init() function to initialize the subsystem is being renamed to dst_subsys_init() to make it clear what is what. The check before ip_route_input() is changed to ignore metadata dsts and drop the dst inside the routing function thus allowing to interpret metadata in a later commit. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 773a69d64bf65eb6c212c97e9737963a2cf668fd Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:55 2015 +0200 icmp: Don't leak original dst into ip_route_input() ip_route_input() unconditionally overwrites the dst. Hide the original dst attached to the skb by calling skb_dst_set(skb, NULL) prior to ip_route_input(). Reported-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d8fff907342d2339796dbd27ea47d0e76a6a2d0 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:54 2015 +0200 ip_tunnel: Make ovs_tunnel_info and ovs_key_ipv4_tunnel generic Rename the tunnel metadata data structures currently internal to OVS and make them generic for use by all IP tunnels. Both structures are kernel internal and will stay that way. Their members are exposed to user space through individual Netlink attributes by OVS. It will therefore be possible to extend/modify these structures without affecting user ABI. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3e4712ec0961ed586a8db340bd994c4ad7f5dba Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:53 2015 +0200 mpls: ip tunnel support This implementation uses lwtunnel infrastructure to register hooks for mpls tunnel encaps. It picks cues from iptunnel_encaps infrastructure and previous mpls iptunnel RFC patches from Eric W. Biederman and Robert Shearman Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit face0188e31b3cfc598d8dc3470e28e00fb3b07c Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:52 2015 +0200 mpls: export mpls functions for use by mpls iptunnels Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74a0f2fe8ed51e3adbb1c882be04672fe7bb6996 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:51 2015 +0200 ipv6: rt6_info output redirect to tunnel output This is similar to ipv4 redirect of dst output to lwtunnel output function for encapsulation and xmit. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8602a625024737602630fe0dee423b3096d31524 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:50 2015 +0200 ipv4: redirect dst output to lwtunnel output For input routes with tunnel encap state this patch redirects dst output functions to lwtunnel_output which later resolves to the corresponding lwtunnel output function. This has been tested to work with mpls ip tunnels. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ffce41962ef64b8e685e5b621caf24bf381addd9 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:49 2015 +0200 lwtunnel: support dst output redirect function This patch introduces lwtunnel_output function to call corresponding lwtunnels output function to xmit the packet. It adds two variants lwtunnel_output and lwtunnel_output6 for ipv4 and ipv6 respectively today. But this is subject to change when lwtstate will reside in dst or dst_metadata (as per upstream discussions). Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19e42e45150672124b6a4341e2bc7982d247f0ac Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:48 2015 +0200 ipv6: support for fib route lwtunnel encap attributes This patch adds support in ipv6 fib functions to parse Netlink RTA encap attributes and attach encap state data to rt6_info. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 571e722676fe386bb66f72a75b64a6ebf535c077 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:47 2015 +0200 ipv4: support for fib route lwtunnel encap attributes This patch adds support in ipv4 fib functions to parse user provided encap attributes and attach encap state data to fib_nh and rtable. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 499a24256862714539e902c0499b67da2bb3ab72 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:46 2015 +0200 lwtunnel: infrastructure for handling light weight tunnels like mpls Provides infrastructure to parse/dump/store encap information for light weight tunnels like mpls. Encap information for such tunnels is associated with fib routes. This infrastructure is based on previous suggestions from Eric Biederman to follow the xfrm infrastructure. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a0d9a8604f29ee3340126ec3f90c9421f930aa50 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:45 2015 +0200 rtnetlink: introduce new RTA_ENCAP_TYPE and RTA_ENCAP attributes This patch introduces two new RTA attributes to attach encap data to fib routes. Example iproute2 command to attach mpls encap data to ipv4 routes $ip route add 10.1.1.0/30 encap mpls 200 via inet 10.1.1.1 dev swp1 Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Suggested-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 768dd3f3a6af25730ed1eec458e47a3c481bc3e5 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:31 2015 +0200 perf header: Use argv style storage for cmdline feature data We will reuse argv style data in following change to display counters header showing monitored command line. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-12-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0e5ffb317d7f861c309b0ab679ed2f59e9f72adf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:29 2015 +0200 perf evlist: Tolerate NULL maps in propagate_maps Tolerating NULL maps in perf_evlist__propagate_maps, so we dont need to pass evlist with both cpus and threads maps defined. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-10-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 52361ff093c807464f5a32a587a370b360bd399a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:28 2015 +0200 perf evlist: Use bool instead of target argument in propagate_maps() We need only bool info wether user defined her own set of cpus. Switching target argument to bool so it could be used from places without target object defined in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-9-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3de5cfb04435b82aa427d0285df996ba73d2f426 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:30 2015 +0200 perf evlist: Force perf_evlist__set_maps to propagate maps through events Forcing perf_evlist__set_maps to propagate maps through events, so cpu/thread maps get set within evlist. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-11-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 35318d204db83f5c1f24c281839763b271b9b323 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:21 2015 +0200 perf test: Check for refcnt in thread_map test Checking also for refcnt in thread_map test. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 480689617510381391b3d906549477b948d9c4bc Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 18:11:08 2015 +0200 ASoC: dapm: Avoid duplicating immutable strings When creating a new widget from a template the name string of the template is duplicated for the newly created widget. This is necessary because in some cases the string might be stored on the stack or other volatile memory locations. But most of the time the string is static const data, which means it is possible to use it directly without having to worry that it might get freed or changed. Use kstrdup_const() to handle duplicating the string. This function is capable of detecting whether a string is immutable and if it is returns the input without duplicating it. This will slightly reduce the runtime memory footprint of DAPM and also speed up initialization. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b97e26980f6c13afad4c249b60a8dca7f5f86116 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 18:11:07 2015 +0200 ASoC: dapm: Add helper function to free a widget snd_soc_tplg_widget_remove_all() has a verbatim copy of an older version of the widget freeing code from dapm_free_widgets(). Add a new helper function that takes care of freeing a widget and use it in both places. This removes the duplicated code and also makes sure that future changes to the widget freeing code only have to be made in one location. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 62d8f23795aec9e8db2529a8ce2be638b9ab4c18 Merge: bc0195a a798c24 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Jul 21 18:08:05 2015 +0100 Merge branch 'fix/dapm' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-dapm commit c4a42915d84ad4b5b5e13aeed5da67f458e22399 Author: Jean-Francois Moine <moinejf@xxxxxxx> Date: Tue Jul 21 18:32:58 2015 +0200 ASoC: kirkwood: prevent double streaming The kirkwood audio subsystem presents 2 PCM's for one source. Streaming on a second PCM while the first one is active cuts this last one. Then, ending the last stream gives a kernel trap in free_irq(). Signed-off-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 43163022927b6e7d202a7e6f939c3f392465494d Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue May 19 14:38:22 2015 -0700 mtd: m25p80: allow arbitrary OF matching for "jedec,spi-nor" When we added the "jedec,spi-nor" compatible string for use in this driver, we added it as a modalias option. The modalias can be derived in different ways for platform devices vs. device tree (of_*) matching. But for device tree matching (the primary target of this identifier string), the modalias is determined from the first entry in the 'compatible' property. IOW, the following properties would bind to this driver: // Option (a), modalias = "spi-nor" compatible = "jedec,spi-nor"; // Option (b), modalias = "spi-nor" compatible = "idontknowwhatimdoing,spi-nor"; But the following would not: // Option (c), modalias = "shinynewdevice" compatible = "myvendor,shinynewdevice", "jedec,spi-nor"; So, we'd like to match (a) and (c) (even when we don't have an explicit entry for "shinynewdevice"), and we'd rather not allow (b). To do this, we (1) always (for devices without specific platform data) pass the modalias to the spi-nor library; (2) rework the spi-nor library to not reject "bad" names, and instead just fall back to autodetection; and (3) add the .of_match_table to properly catch all "jedec,spi-nor". This allows (a) and (c) without warnings, and rejects (b). Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 8ef54f27f6f425fa8deedc237d99b9daf41d68d2 Author: Duc Dang <dhdang@xxxxxxx> Date: Thu Jul 9 14:20:12 2015 -0700 PCI: xgene: Add support for a 64-bit prefetchable memory window X-Gene PCIe controller has registers to support multiple memory ranges. Add support for a 64-bit prefetchable memory window. [bhelgaas: changelog] Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Tanmay Inamdar <tinamdar@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a13eaf02e2d6326a59f142db329faf4efb527e79 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Jul 21 16:46:25 2015 +0200 regulator: rk808: make better use of the gpiod API The gpiod functions include variants for managed gpiod resources. Use it to simplify the remove function. As the driver handles a device node without a specification of dvs gpios just fine, additionally use the variant of gpiod_get exactly for this use case. This makes error checking more strict. As a third benefit this patch makes the driver use the flags parameter of gpiod_get* which will not be optional any more after 4.2 and so prevents a build failure when the respective gpiod commit is merged. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 604d4994277f3526c8ec7ba16f32e236d5ca3e78 Author: Uwe Kleine-König <uwe@xxxxxxxxxxxxxxxxx> Date: Tue Jul 21 16:46:24 2015 +0200 regulator: rk808: add #include for gpiod functions This fixes a build problem on mips found by the kbuild test robot: drivers/regulator/rk808-regulator.c: In function 'rk808_buck1_2_get_voltage_sel_regmap': drivers/regulator/rk808-regulator.c:97:2: error: implicit declaration of function 'gpiod_get_value' [-Werror=implicit-function-declaration] if (IS_ERR(gpio) || gpiod_get_value(gpio) == 0) ^ Fixes: bad47ad2eef3 ("regulator: rk808: fixed the overshoot when adjust voltage") Signed-off-by: Uwe Kleine-König <uwe@xxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 80bb3eda7475eb38b688d2e915c191ce6ad20df1 Author: Duc Dang <dhdang@xxxxxxx> Date: Thu Jul 9 14:20:11 2015 -0700 arm64: dts: Add APM X-Gene PCIe 64-bit prefetchable window Add a large window (up to 64GB) for X-Gene PCIe nodes to support devices that require huge BARs. Each X-Gene PCIe node will now have two memory windows: a 32-bit non-prefetchable window and a 64-bit prefetchable window. [bhelgaas: changelog] Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Tanmay Inamdar <tinamdar@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit ccbc175aad819e1d4b6af6246b12d55b13d97815 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Jul 7 12:24:35 2015 -0700 PCI: Restore ACS configuration as part of pci_restore_state() Previously we did not restore ACS state after a PCIe reset. This meant that we could not reassign interfaces after a system suspend because the D0->D3 transition disabled ACS, and we didn't restore it when going back to D0. Restore ACS configuration in pci_restore_state(). [bhelgaas: changelog] Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Allen Kay <allen.m.kay@xxxxxxxxx> CC: Chris Wright <chris@xxxxxxxxxxxx> CC: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 8ffaadf7429270914b8f146ec13cf305e01df20d Author: Jon Derrick <jonathan.derrick@xxxxxxxxx> Date: Mon Jul 20 10:14:09 2015 -0600 NVMe: Use CMB for the IO SQes if available Some controllers have a controller-side memory buffer available for use for submissions, completions, lists, or data. If a CMB is available, the entire CMB will be ioremapped and it will attempt to map the IO SQes onto the CMB. The queues will be shrunk as needed. The CMB will not be used if the queue depth is shrunk below some threshold where it may have reduced performance over a larger queue in system memory. Signed-off-by: Jon Derrick <jonathan.derrick@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 498c43949c7b8f57e0afb8195019cf5a7ba72de0 Author: Jon Derrick <jonathan.derrick@xxxxxxxxx> Date: Mon Jul 20 10:14:08 2015 -0600 NVMe: Unify SQ entry writing and doorbell ringing This patch changes sq_cmd writers to instead create their command on the stack. __nvme_submit_cmd copies the sq entry to the queue and writes the doorbell. Signed-off-by: Jon Derrick <jonathan.derrick@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e4a8f8ee89ed15eb7849bc064c2defe76cc085cf Author: Russell Joyce <russell.joyce@xxxxxxxxxx> Date: Tue Jul 7 17:54:19 2015 +0100 PCI: xilinx: Check for MSI interrupt flag before handling as INTx Occasionally both MSI and INTx bits in the interrupt decode register are set at once by the Xilinx AXI PCIe Bridge, so the MSI flag in the interrupt message should be checked to ensure that the correct handler is used. If this check is not in place and the interrupt message type is MSI, the INTx handler will be used erroneously when both type bits are set. This will also be followed by a second read of the message FIFO, which can result in the function returning early and the interrupt decode register not being cleared if the FIFO is now empty. Signed-off-by: Russell Joyce <russell.joyce@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 292c24a073ee34c629966eec8b48d54b0a206667 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Jul 20 22:55:28 2015 +0800 percpu: clean up of schunk->map[] assignment in pcpu_setup_first_chunk The original assignment is a little redundent. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit e79801ffe9c862597750359b8c6825f3a3bfaa4f Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Jul 16 08:48:43 2015 -0700 mwifiex: correct p2p and station interface counters While changing interface type from p2p client or p2p go to station, we should update counters for p2p interface and station interface. Also calling mwifiex_cfg80211_deinit_p2p method instead of mwifiex_cfg80211_init_p2p_client method to deinit p2p interface. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0c6303cc06954c336a8221522e9ddf056125afab Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Jul 16 08:05:22 2015 -0700 mwifiex: use maximum ssid length as 0xfe for p2p 0xfe is basically a magic number used to ask firmware match provided string in a SSID. In this case, firmware will return scan results containing"DIRECT-" string. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 40d7412b56f02160291a5153551c4ada8e76f6ed Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Jul 16 08:05:21 2015 -0700 mwifiex: add bss mode TLV to extended scan command We are setting BSS mode as ANY so that firmware will provide all types of scan entries. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8358491d893e08d4b82af0d6012e078158f57ed9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Jul 16 15:42:15 2015 +0300 iwlegacy: convert hex_dump_to_buffer() to %*ph There is no need to use hex_dump_to_buffer() in the cases like this: hexdump_to_buffer(buf, len, 16, 1, outbuf, outlen, false); /* len <= 16 */ sprintf("%s\n", outbuf); since it maybe easily converted to simple: sprintf("%*ph\n", len, buf); Note: it seems in the case the output is groupped by 2 bytes and looks like a typo. Thus, patch changes that to plain byte stream. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5d6af28a2d240602a594cea236406a9d29bc719a Author: Guy Mishol <guym@xxxxxx> Date: Thu Jul 16 11:22:47 2015 +0300 wlcore: add antenna diversity reading update the rssi reading on rx_status to read both RSSI level (7 bits) and antenna diversity (msb) Signed-off-by: Guy Mishol <guym@xxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6301566e0b2dafa7d6779598621bca867962a0a2 Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 15:54:07 2015 +0800 ath9k: export HW random number generator We measured the FFT-based entropy in 3 ways, Shannon entropy, collision entropy, and directly measured min-entropy. Just to be conservative, we recommend the estimated min-Entropy to be 10 bits per 16-bit value. Analysis was done by Jacobson,David(djacobso@xxxxxxxxxxxxxxxx). Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit fa5b8c8a5ae4088a590d59fffb022da3ea17bd15 Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 15:54:06 2015 +0800 ath9k: Fix register definitions for QCA956x Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e3faa866d5e4d6199b45f821343ee24510881823 Author: Rafa? Mi?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 9 17:07:08 2015 +0200 brcmfmac: set wiphy's addresses to provide valid MACs Broadcom's firmware requires every BSS to use MAC address with unique last few bits. The amount of bits may depend on a particular firmware, it was verified to be 2 for BCM43602 one. If this condition won't be fulfilled firmware will reject such MAC: brcmfmac: _brcmf_set_mac_address: Setting cur_etheraddr failed, -52 We don't want to simply set addr_mask as it would also disallow using locally administrated bit. Instead let's build a list of addresses manually enabling 0x2 bit for extra interfaces. Signed-off-by: Rafa? Mi?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 92cd40322848a12f1f3ef2d7804233b93030c532 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 12:27:22 2015 +0200 ath9k: fix moredata flag endianness in cabq tx While compiling ath9k with some extra flags I've found that: ath9k/xmit.c +2473 ## 16: warning: restricted __le16 degrades to integer ath9k/xmit.c +2474 ## 36: warning: invalid assignment: &= ath9k/xmit.c +2474 ## 36: left side has type restricted __le16 ath9k/xmit.c +2474 ## 36: right side has type int There's no way for frame ftype/stype to be mistreated as the offending 'moredata' flag when considering cab queue. This could've however theoretically led sometimes to increased power consumption on connected stations as they would keep their Rx active waiting for frames that would never come. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 77661208a87b458f353fd0b7a4729cf2887449a6 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Wed Jul 8 22:22:46 2015 +0200 brcmsmac: Use kstrdup to simplify code Replace a kmalloc+strcpy by an equivalent kstrdup in order to improve readability. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 251086f588720277a6f5782020a648ce32c4e00b Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Wed Jul 8 10:18:50 2015 -0500 rtlwifi: rtl8821ae: Fix an expression that is always false In routine _rtl8821ae_set_media_status(), an incorrect mask results in a test for AP status to always be false. Similar bugs were fixed in rtl8192cu and rtl8192de, but this instance was missed at that time. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> [3.18+] Cc: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cae761b5a6bdc597ba476a040fdcd5b4bc559b85 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Jun 28 17:17:13 2015 +0200 bcma: populate bus DT subnodes as platform_device-s Our bus should allow defining children nodes as we may want to specify devices attached to the bus. This is required e.g. to specify NAND or ChipCommon cores and use bus's address and IRQ mappings. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ae86c587b5b53da4f7859f236f6c22ff9941cff9 Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Jul 2 06:07:02 2015 -0700 mwifiex: fix for p2p broken link This patch fixes following issues in p2p code paths. 1) bss role, bss type and connection type was not set correctly for p2p GO and p2p client at couple of places. 2) Driver appends a proprietary header to management frames which will be parsed by our firmware. Later while informing TX status to cfg80211, modified frame buffer was passed to cfg80211_mgmt_tx_status() instead of original one. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e60ac9c7a4c8776b2503892dfd01f1b4d651245d Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Thu Jul 2 13:40:29 2015 +0200 ath9k: make DMA stop related messages debug-only A long time ago, ath9k had issues during reset where the DMA engine would stay active and could potentially corrupt memory. To debug those issues, the driver would print warnings whenever they occur. Nowadays, these issues are gone and the primary cause of these messages is if the MAC is stuck during reset or busy processing a long transmission. This is fairly harmless, yet these messages continue to worry users. To reduce the number of bogus bug reports, turn these messages into debug messages and count their occurence in the "reset" debugfs file. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cf7d5a80201066daac467d57a47b0826c2e88354 Author: Raphaël Poggi <poggi.raph@xxxxxxxxx> Date: Thu Jul 2 10:34:49 2015 +0200 wlcore: sdio: return correct error code When wlcore_probe_of failed, return the correct error code instead of ENOMEM Signed-off-by: Raphaël Poggi <poggi.raph@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 277bf09e8be9fa35d6bc0175c2c5a1e6bdb0626e Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 20:45:47 2015 -0400 b43: Fix typo in function name This fixes a typo in the "b43_lo_g_maintenance_work" function name. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Acked-by: Michael Buesch <m@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 33b8261e0e1c6d95901d62808d65141d4df525bd Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 20:17:55 2015 -0400 rtlwifi: fix typo in comments This fixes a typo in two comments: "paht" -> "path". Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 11bdc44093555829eb4a5d9318eece469e2873e8 Author: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Date: Sun Jun 28 20:07:38 2015 -0500 mwifiex: usb: Fix double add error when submitting rx urb There is an error that can occur where the driver adds the same URB to USB submission list twice. This happens since mwifiex_usb_submit_rem_rx can submit packets at same time as an rx urb complete callback. This causes list corruption and is fixed by not setting the skb to NULL when submitting an rx packet. [ 84.461242] WARNING: CPU: 1 PID: 748 at lib/list_debug.c:36 __list_add+0xcb/0xd0() [ 84.461245] list_add double add: new=ffff8800c92b0c50, prev=ffff8800c92b0c50, next=ffff8800ced6c430. [ 84.461247] Modules linked in: rfcomm fuse cmac nf_conntrack_netbios_ns nf_conntrack_broadcast ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 xt_conntrack ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack bnep iptable_mangle iptable_security iptable_raw btusb btintel bluetooth mwifiex_usb mwifiex x86_pkg_temp_thermal cfg80211 coretemp r8712u(C) kvm_intel kvm hid_sensor_als hid_sensor_incl_3d hid_sensor_rotation hid_sensor_magn_3d hid_sensor_accel_3d hid_sensor_gyro_3d hid_sensor_trigger hid_sensor_iio_common industrialio_triggered_buffer kfifo_buf rfkill iTCO_wdt industrialio iTCO_vendor_support [ 84.461316] crc32_pclmul crc32c_intel ghash_clmulni_intel microcode snd_hda_codec_realtek vfat snd_hda_codec_generic fat snd_hda_codec_hdmi snd_hda_intel snd_hda_controller uvcvideo snd_hda_codec videobuf2_vmalloc videobuf2_memops snd_hwdep videobuf2_core snd_hda_core joydev v4l2_common videodev hid_sensor_hub snd_seq hid_multitouch media snd_seq_device snd_pcm snd_timer mei_me snd i2c_i801 lpc_ich mei soundcore tpm_infineon tpm_tis tpm i2c_hid i2c_designware_platform i2c_designware_core nfsd auth_rpcgss nfs_acl lockd grace sunrpc sch_fq_codel i915 i2c_algo_bit drm_kms_helper drm xhci_pci xhci_hcd ehci_pci sd_mod ehci_hcd video [ 84.461383] CPU: 1 PID: 748 Comm: kworker/u9:0 Tainted: G C 4.1.0-rc5+ #163 [ 84.461386] Hardware name: Microsoft Corporation Surface Pro 2/Surface Pro 2, BIOS 2.05.0250 04/10/2015 [ 84.461396] Workqueue: MWIFIEX_RX_WORK_QUEUE mwifiex_rx_work_queue [mwifiex] [ 84.461399] ffffffff81a8150e ffff8801174cf8e8 ffffffff817df830 0000000000000000 [ 84.461405] ffff8801174cf938 ffff8801174cf928 ffffffff810a54ba ffff8800c86bd750 [ 84.461410] ffff8800c92b0c50 ffff8800c92b0c50 ffff8800ced6c430 ffff88010c057178 [ 84.461416] Call Trace: [ 84.461421] [<ffffffff817df830>] dump_stack+0x4f/0x7b [ 84.461428] [<ffffffff810a54ba>] warn_slowpath_common+0x8a/0xc0 [ 84.461432] [<ffffffff810a5536>] warn_slowpath_fmt+0x46/0x50 [ 84.461436] [<ffffffff814109fb>] __list_add+0xcb/0xd0 [ 84.461442] [<ffffffff815c551a>] ? usb_hcd_link_urb_to_ep+0x2a/0xa0 [ 84.461446] [<ffffffff815c5570>] usb_hcd_link_urb_to_ep+0x80/0xa0 [ 84.461459] [<ffffffffa004318a>] prepare_transfer+0xaa/0x130 [xhci_hcd] [ 84.461470] [<ffffffffa0044cf7>] xhci_queue_bulk_tx+0xb7/0x7a0 [xhci_hcd] [ 84.461480] [<ffffffffa003b67f>] ? xhci_urb_enqueue+0x50f/0x660 [xhci_hcd] [ 84.461489] [<ffffffffa003b67f>] ? xhci_urb_enqueue+0x50f/0x660 [xhci_hcd] [ 84.461498] [<ffffffffa003b735>] xhci_urb_enqueue+0x5c5/0x660 [xhci_hcd] [ 84.461503] [<ffffffff815c7ad3>] usb_hcd_submit_urb+0x93/0xa70 [ 84.461507] [<ffffffff8168dde8>] ? __alloc_skb+0x78/0x1f0 [ 84.461511] [<ffffffff8168d301>] ? __kmalloc_reserve.isra.26+0x31/0x90 [ 84.461515] [<ffffffff8168ddbc>] ? __alloc_skb+0x4c/0x1f0 [ 84.461519] [<ffffffff8168ddfc>] ? __alloc_skb+0x8c/0x1f0 [ 84.461523] [<ffffffff8168badd>] ? skb_dequeue+0x5d/0x80 [ 84.461527] [<ffffffff815c987e>] usb_submit_urb+0x42e/0x5f0 [ 84.461531] [<ffffffff816931d9>] ? __alloc_rx_skb+0x39/0x100 [ 84.461536] [<ffffffffa05aa372>] mwifiex_usb_submit_rx_urb+0xb2/0x170 [mwifiex_usb] [ 84.461542] [<ffffffffa05aa5f5>] mwifiex_usb_submit_rem_rx_urbs+0x45/0x50 [mwifiex_usb] [ 84.461550] [<ffffffffa07094be>] mwifiex_rx_work_queue+0x10e/0x140 [mwifiex] [ 84.461556] [<ffffffff810c4429>] process_one_work+0x229/0x890 [ 84.461559] [<ffffffff810c438c>] ? process_one_work+0x18c/0x890 [ 84.461565] [<ffffffff810c4ae3>] worker_thread+0x53/0x470 [ 84.461569] [<ffffffff810c4a90>] ? process_one_work+0x890/0x890 [ 84.461572] [<ffffffff810cb162>] kthread+0xf2/0x110 [ 84.461577] [<ffffffff811031ad>] ? trace_hardirqs_on+0xd/0x10 [ 84.461581] [<ffffffff810cb070>] ? kthread_create_on_node+0x230/0x230 [ 84.461586] [<ffffffff817e9662>] ret_from_fork+0x42/0x70 [ 84.461590] [<ffffffff810cb070>] ? kthread_create_on_node+0x230/0x230 [ 84.461593] ---[ end trace 65103af5e6fb3444 ]--- Signed-off-by: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b8bb08ec48fb4eafefbc7899b50ec5c6216465b1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 17:36:46 2015 +0530 drm/i915: remove redundant if check The extra check for connector_type is not required as we are already checking for connector_type != DRM_MODE_CONNECTOR_DisplayPort. The check was added by commit eb3394faeb97 ("drm/i915: Add debugfs test control files for Displayport compliance testing") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9aaffa340add31aeb4449667da8779df448b7987 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 17:36:45 2015 +0530 drm/i915: remove unnecessary null test While creating the debugfs file we are setting the inode->i_private to dev. That same dev is passed to these functions as private of struct seq_file via single_open(). Moreover single_open is setting file->private_data->private to dev. So at this point it can never be NULL. This check was added by commit eb3394faeb97 ("drm/i915: Add debugfs test control files for Displayport compliance testing") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b5c103f20f0fdd736c51c996b07a42594d683b1c Author: John Linville <linville@xxxxxxxxxxxxx> Date: Fri Jun 26 15:29:36 2015 -0400 mwifiex: fix leak of gen_ie storage on exit from mwifiex_del_mgmt_ies Storage pointed to by gen_ie is allocated with kmalloc, but was never freed. Coverity CID #1271251 Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 550795fc68a4bfa699480b362648fef3d6c74c23 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Jun 24 16:52:21 2015 +0530 MAINTAINERS: update for mwifiex driver maintainers Amit & Nishant would be taking care of maintaining mwifiex driver here onwards on account of organizational changes. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Frank Huang <frankh@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8b2c621c9f6f6240edaf4359c3148068fff8b1c7 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Tue Jun 23 15:04:03 2015 -0400 mwifiex: do not short circuit exit from mwifiex_set_mgmt_ies Without this change, the code simply exits after calling mwifiex_uap_set_head_tail_ies, leving the call to mwifiex_set_mgmt_beacon_data_ies as dead code. Coverity CID #1271292 Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 722d26680af10bd128b5228ba23e5d11ef2256c4 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Tue Jun 23 14:45:45 2015 -0400 mwifiex: avoid freeing improper pointer in mwifiex_set_wowlan_mef_entry mwifiex_set_wowlan_mef_entry attempts to free a passed-in pointer in case of an error. The only caller (mwifiex_set_mef_filter) passes that pointer as an offset into allocated memory, so any attempt to free that will not be the actual allocated pointer. Address this by changing mwifiex_set_wowlan_mef_entry to not do any free, and to cause mwifiex_set_mef_filter to do the appropriate free if the call to mwifiex_set_wowlan_mef_entry fails. Coverity CID #1295879 Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9030d52cfb340f57d86e1b5d995a463eaddb977b Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 22:53:05 2015 +0800 wireless: cw1200: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> To: Solomon Peachy <pizza@xxxxxxxxxxxx> To: Kalle Valo <kvalo@xxxxxxxxxxxxxx> To: linux-wireless@xxxxxxxxxxxxxxx To: netdev@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8d6b538a5eac1fec259d22ffa5b47ac585582432 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:23 2015 +0530 mwifiex: handle multichannel event This patch adds support to handle multichannel event from FW. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cc7359b5c82f67a1a19a0cf66f84f465403edb5d Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:22 2015 +0530 mwifiex: separate interface combination for multichannel and DFS Multichannel and DFS cannot be supported at same time. So when multichannel operation is enabled by module parameter, we enable number of channel as 2 while registering wiphy. For all other cases we advertise DFS support to cfg80211. Patch also adds support for radar detect widths parameter. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit de9e9932b76d5458edabd2692d8ad6504501edf1 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:21 2015 +0530 mwifiex: advertise multichannel support to cfg80211 This patch adds support to advetise mwifiex multichannel support to cfg80211. If module parameter drcs is enabled and FW supports multichannel operation we advertise this support to cfg80211. As of now 2 simultaneous channels are supported. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d5b036c403f811c6d1856b8e6891a6438cf56f61 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:20 2015 +0530 mwifiex: support to set multichannel policy to FW This patch adds support for setting multichannel policy as module parameter to FW. Value of 1 indicates Multichannel support is enabled and value of 0 disables it. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ddd7ceb3f6dd9071fd0e2058252d1fc4645313db Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:19 2015 +0530 mwifiex: extend tx_data pause to AP interface as well This patch adds support to extend TX Data pause for AP intefaces. Also for station role, support for pausing/unpausing all traffic when mac address parameter is BSSID is added. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5c8946330abfa4c0476b94070d8833cfbbca5b28 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:18 2015 +0530 mwifiex: enable traffic only when port is open This patch adds support to enable data traffic only when port is open. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a1777327126e184518e17e3c571540be72c73dce Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:17 2015 +0530 mwifiex: support for bypass tx queue This patch adds support for another TX queue in driver- bypass TX queue. This queue is used for sending data/mgmt packets while in disconnected state i.e. when port is yet not unblocked. TDLS setup packets would also be queued in this queue. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 65d48e5971065ccb831a93232d60deb7caa9d7cb Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:16 2015 +0530 mwifiex: update domain_info upon band change in start_ap It was observed that AP beacons would not reflect correct regulatory information upon starting AP in A band. This was because of missing AP config band update in set_channel of start_ap. Also we configure 11D settings info FW only for specific band. So we need to download domain info to FW even if domain remains unchanged but band is changed. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b04975970676d797dec434755a14285420a4189f Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:15 2015 +0530 mwifiex: add cfg80211 tdls channel switch handler This patch add cfg80211 tdls_chan_switch and tdls_cancel_chan_switch handler. With this handlers, mwifiex would support TDLS channel switch feature. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 55a2c0770634a08009229aaf23cda885d2e4359e Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:14 2015 +0530 mwifiex: enhance tdls link setup condition TDLS link status - channel switching, off channel or base channel itself indicates that TDLS link is setup. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 20834343a8e6a9a1e90d47810f6fe991f1e3362a Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:13 2015 +0530 mwifiex: enable tdls channel switch ext_cap This patch enable tdls channel switch ext capability in tdls action frame, and also configure basic tdls channel switch parameters while tdls setup completed and tdls link is enabled.. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 449b8bbf45e636a684c287f3008d13939aeac58b Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:12 2015 +0530 mwifiex: add tdls config command This patch add support for a new tdls configuration command which is used for configuration of tdls channel switch parameters. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f7669877e7ab1c5c7fddf268d57f016d97e48198 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:11 2015 +0530 mwifiex: process tdls channel switch event This patch add support for tdls channel switch event process. We block TX queues for particular RA list depending upon channel switch state. If channel switch state is moving to base channel, we unblock RA lists for AP. If channel switch state is moving to off channel, we unblock TDLS peer RA lists. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ba101ad50a5024978f3f5007b4a6c20b304cdcbe Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:10 2015 +0530 mwifiex: add tdls channel switch status This patch add new tdls status used for tdls channel switch. Driver in turn would block cmd path and data path if tdls channel switching. Data path to non tdls peer should be blocked if tdls channel switch to off-channel. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9186a1f37d190f433c64558a4efeac7ed776b571 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:09 2015 +0530 mwifiex: do not increase tx_pkts_queued if receive address tx paused If tx_pkts_queued is increased for tx paused receive address, tx process will be triggered for this packet. But since RA list was tx paused, there will be an infinite loop in mwifiex_wmm_process_tx waiting for the event(tx pause, tdls cs) to cancel tx pause. This will be an dead loop, since main_process was locked at this time, there will be no opportunity to process event. So do not increase tx_pkts_queued if receive address tx paused, this will be restored RA list is unpaused. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b5b0f272d618a470c34619b25f15ca4aa9d3b395 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:08 2015 +0530 mwifiex: block data traffic to tx paused receive address Data traffic to tx paused receive address should be blocked. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4e6ee91bb728a268b37c74e2dd083481bf5ebb98 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:07 2015 +0530 mwifiex: add tx data pause support This patch adds support to enable TX data pause feature for mwifiex. Whenever FW TX buffers reach threshold, FW would send TX pause event to driver. Driver in turn would block data traffic to that particular receiver address. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 80b2089b4a0b08ff34619a8e07fc74a63b4e2d24 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Sat Jun 20 03:28:15 2015 +0900 rtlwifi: rtl8192cu: Remove rtl8723 code In the rtlwifi/rtl8192cu, rtl8723 code is dead code. So I remove it. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 79ae3e66f8d7ba51c02773897a8f1a37b496d9a3 Author: Josef Gajdusek <atx@xxxxxxxx> Date: Mon Jul 20 22:53:18 2015 +0200 ARM: dts: sun4i: Add Iteaduino Plus A10 Iteaduino Plus A10 is a breakout board + Itead Core A10. It features 1GB RAM, has most of the A10 pins on a .1" header, 2 USB ports, 1 OTG USB port, Ethernet, HDMI, SATA, Speaker/Microphone 3.5mm jacks and an SD card slot. Signed-off-by: Josef Gajdusek <atx@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 3cf080a7b747d800efc231d29bd3a07659c6aeb6 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Jul 20 17:18:27 2015 -0700 crypto: qat - fix invalid check for RSA keylen in fips mode The condition checking allowed key length was invalid. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a9d4f82ff9de004fc4630d3f3fbc234b8cfe07b3 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Jul 20 17:18:26 2015 -0700 crypto: rsa - fix invalid check for keylen in fips mode The condition checking allowed key length was invalid. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit eef8c85a3b81301f912e8802a1dd9f42dd884947 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:30:03 2015 +0100 KVM: arm64: add trace points for guest_debug debug This includes trace points for: kvm_arch_setup_guest_debug kvm_arch_clear_guest_debug I've also added some generic register setting trace events and also a trace point to dump the array of hardware registers. Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 834bf88726f0f11ddc7ff9679fc9458654c01a12 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:30:02 2015 +0100 KVM: arm64: enable KVM_CAP_SET_GUEST_DEBUG Finally advertise the KVM capability for SET_GUEST_DEBUG. Once arm support is added this check can be moved to the common kvm_vm_ioctl_check_extension() code. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5540546bc93b49f98a0466fe3f96615286c76574 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:30:01 2015 +0100 KVM: arm64: guest debug, HW assisted debug support This adds support for userspace to control the HW debug registers for guest debug. In the debug ioctl we copy an IMPDEF registers into a new register set called host_debug_state. We use the recently introduced vcpu parameter debug_ptr to select which register set is copied into the real registers when world switch occurs. I've made some helper functions from hw_breakpoint.c more widely available for re-use. As with single step we need to tweak the guest registers to enable the exceptions so we need to save and restore those bits. Two new capabilities have been added to the KVM_EXTENSION ioctl to allow userspace to query the number of hardware break and watch points available on the host hardware. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 84e690bfbed1d1ecb45d8eccd4c7b6c8e878da1c Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:30:00 2015 +0100 KVM: arm64: introduce vcpu->arch.debug_ptr This introduces a level of indirection for the debug registers. Instead of using the sys_regs[] directly we store registers in a structure in the vcpu. The new kvm_arm_reset_debug_ptr() sets the debug ptr to the guest context. Because we no longer give the sys_regs offset for the sys_reg_desc->reg field, but instead the index into a debug-specific struct we need to add a number of additional trap functions for each register. Also as the generic generic user-space access code no longer works we have introduced a new pair of function pointers to the sys_reg_desc structure to override the generic code when needed. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit e0a1b9a937dc6df9eb402af8966b5d617c7c6b34 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:59 2015 +0100 KVM: arm64: re-factor hyp.S debug register code This is a pre-cursor to sharing the code with the guest debug support. This replaces the big macro that fishes data out of a fixed location with a more general helper macro to restore a set of debug registers. It uses macro substitution so it can be re-used for debug control and value registers. It does however rely on the debug registers being 64 bit aligned (as they happen to be in the hyp ABI). Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 337b99bf7edfb2044781447e7ca386edb1fdba9d Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:58 2015 +0100 KVM: arm64: guest debug, add support for single-step This adds support for single-stepping the guest. To do this we need to manipulate the guests PSTATE.SS and MDSCR_EL1.SS bits to trigger stepping. We take care to preserve MDSCR_EL1 and trap access to it to ensure we don't affect the apparent state of the guest. As we have to enable trapping of all software debug exceptions we suppress the ability of the guest to single-step itself. If we didn't we would have to deal with the exception arriving while the guest was in kernelspace when the guest is expecting to single-step userspace. This is something we don't want to unwind in the kernel. Once the host is no longer debugging the guest its ability to single-step userspace is restored. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 4bd611ca60afa155bca25b40312ed61c4d46237f Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:57 2015 +0100 KVM: arm64: guest debug, add SW break point support This adds support for SW breakpoints inserted by userspace. We do this by trapping all guest software debug exceptions to the hypervisor (MDCR_EL2.TDE). The exit handler sets an exit reason of KVM_EXIT_DEBUG with the kvm_debug_exit_arch structure holding the exception syndrome information. It will be up to userspace to extract the PC (via GET_ONE_REG) and determine if the debug event was for a breakpoint it inserted. If not userspace will need to re-inject the correct exception restart the hypervisor to deliver the debug exception to the guest. Any other guest software debug exception (e.g. single step or HW assisted breakpoints) will cause an error and the VM to be killed. This is addressed by later patches which add support for the other debug types. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 56c7f5e77f797fd0dcf2376ce1496f4238e6be33 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:56 2015 +0100 KVM: arm: introduce kvm_arm_init/setup/clear_debug This is a precursor for later patches which will need to do more to setup debug state before entering the hyp.S switch code. The existing functionality for setting mdcr_el2 has been moved out of hyp.S and now uses the value kept in vcpu->arch.mdcr_el2. As the assembler used to previously mask and preserve MDCR_EL2.HPMN I've had to add a mechanism to save the value of mdcr_el2 as a per-cpu variable during the initialisation code. The kernel never sets this number so we are assuming the bootcode has set up the correct value here. This also moves the conditional setting of the TDA bit from the hyp code into the C code which is currently used for the lazy debug register context switch code. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 0e6f07f29cfb8d79dbbdb12560a73f7121ba324e Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:55 2015 +0100 KVM: arm: guest debug, add stub KVM_SET_GUEST_DEBUG ioctl This commit adds a stub function to support the KVM_SET_GUEST_DEBUG ioctl. Any unsupported flag will return -EINVAL. For now, only KVM_GUESTDBG_ENABLE is supported, although it won't have any effects. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 21b6f32f9471284f6d4621fc8be71719266db557 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:54 2015 +0100 KVM: arm64: guest debug, define API headers This commit defines the API headers for guest debugging. There are two architecture specific debug structures: - kvm_guest_debug_arch, allows us to pass in HW debug registers - kvm_debug_exit_arch, signals exception and possible faulting address The type of debugging being used is controlled by the architecture specific control bits of the kvm_guest_debug->control flags in the ioctl structure. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 8ab30c1538b14424015e45063c41d509b24c1dea Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:53 2015 +0100 KVM: add comments for kvm_debug_exit_arch struct Bring into line with the comments for the other structures and their KVM_EXIT_* cases. Also update api.txt to reflect use in kvm_run documentation. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit f9d50fef4b6447527c2be1ad07499221c2511391 Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Tue Jul 21 04:12:01 2015 +0300 ARM: OMAP2+: omap3-pandora: add wifi support Add wl1251 support via pdata-quirks as it's driver lacks DT support. MMC3 is marked disabled in DT so that MMC3 instance of hsmmc driver is probed using platform data with special card init callback. Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fc53e2ccf000b45298a325a6b6c3560d4ba8932b Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Tue Jul 21 04:12:00 2015 +0300 ARM: OMAP2+: omap3-pandora: add backlight support Add backlight support via pdata-quirks as it's driver lacks DT support. Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f7c57f8c7b464c0fbcd67764c38e21aebb7085c4 Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Tue Jul 21 04:11:59 2015 +0300 ARM: dts: omap3-pandora: add support for usb host and 32k buffer This adds missing bits for EHCI HS USB host support and 32k clock buffer control for the wg7210 bt+wifi module. Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a4e1adb98f7376dccbfaee7c375e6378b6c21985 Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Tue Jul 21 04:11:58 2015 +0300 ARM: dts: omap3-pandora: miscellaneous corrections - add pandora specific compatible name - fix mmc2 card detect polarity - fix mmc1 and mmc2 write protect polarity - disable write protect pins because of production issue and add an explanation why they are disabled - fix NAND partition name to reflect the correct address Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a60011c1f4204285f18edd61859456caf5ecbbb6 Author: Aparna Balasubramanian <aparnab@xxxxxx> Date: Mon Jul 20 16:07:31 2015 -0500 ARM: dts: omap5-uevm: Add Palmas power button support Palmas on OMAP5uevm has support for power button, so enable it. Signed-off-by: Aparna Balasubramanian <aparnab@xxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 71256d9d0be7a371ad2072e08dc7c6da3e71ed9e Author: Sekhar Nori <nsekhar@xxxxxx> Date: Mon Jul 20 16:42:20 2015 +0530 ARM: dts: am437x: add aliases for all UART instances Add serialN aliases for all 6 UART instances on the AM437x SoC so each board's .dts file does not have to define its own aliases. Remove the alias added for am437x-gp-evm.dts now that we have the aliases defined in am4372.dtsi file. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 36bd1683559e23d4032defadbfbd3ccd5601b8c8 Author: Teresa Remmet <t.remmet@xxxxxxxxx> Date: Thu Jul 16 10:30:49 2015 +0200 ARM: dts: Add phyBOARD-WEGA-AM335x rdk phyBOARD-WEGA-AM335x represents a direct soldered combination of a phyCORE-AM335x SoM and carrier board. Different kind of SoM options can be connected to the wega carrier board. So we created a separate wega dtsi file. The final dts contains the actual SoM on the carrier board. WEGA carrier board features: * ETH phy on carrier board: 1x MII * 1x CAN * 2x UART * USB0 (device) * USB1 (host) * mSD slot Signed-off-by: Teresa Remmet <t.remmet@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 52b0dcb1d160f9ac839acd6b44b0687e82e23e98 Author: Teresa Remmet <t.remmet@xxxxxxxxx> Date: Thu Jul 16 10:30:48 2015 +0200 ARM: dts: Add support for phyCORE-AM335x SoM phyCORE-AM335x is a SoM (System on Module) containing a AM335x SOC. The module can be connected to different carrier boards. Some hardware parts are configurable on the phyCORE-AM335x. So they are disabled on default in this som dtsi file. They will be enabled in the board dts files, when populated. * RAM up to 1GiB * PMIC * NAND flash up to 1GiB * Eth PHY on SOM: 1x RMII * SPI NOR flash 8MiB (optional) * i2c RTC (optional) * i2c EEPROM 4kiB (optional) Signed-off-by: Teresa Remmet <t.remmet@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ec49a86ce0c6202ddf53c8e940c3468b4fb7e042 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Thu Jul 16 16:26:45 2015 +0800 ARM: dts: omap3: correct the format of u16 values for tsc2046 node In tsc2046 touch driver, the values such as ti,x-min is defined as a u16 value. the driver use API of_property_read_u16() read the value. For these u16 value, the dts entry should be like: property = /bits/ 16 <0x5000>; This describes the property as a u16 value. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a4642e99694a912b32952317e8f4c253ed6be4a9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Jul 21 11:57:36 2015 +0300 ASoC: sti: error handling bug in sti_uniperiph_cpu_dai_of() There is a stray '!' which means the condition is never true. Fixes: f3bd847eb0a7 ('ASoC: sti: Add uniperipheral dai driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6eb1c2a63d0415bd66c9c866b7d405662f50d5e4 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Jul 21 11:55:27 2015 +0300 ASoC: max98925: reading beyond the end of the array Debug prints are seldom useful and this one has an annoying thing where it reads one space beyond the end of the array on error. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 48725e9cc841da395bfd74e7691bba91613d3517 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 21 00:03:35 2015 +0000 ASoC: rsnd: tidyup parameter assignment position 84e95355602c("ASoC: rsnd: show debug message for SSI/SRC/DVC connection") added debug message on rsnd_dai_connect(), but the relationship of parameter check was absurdity. This patch tidyup it. It is reported via Smatch/Dan Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1f2112af11e4c330cd070464e95ba9f546b8959b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Jul 21 10:30:42 2015 +0200 spi: mpc512x-psc: fix compiler warning about uninitialized variable This fixes several warnings like: drivers/spi/spi-mpc512x-psc.c: In function 'mpc512x_psc_spi_prep_xfer_hw': arch/powerpc/include/asm/io.h:163:2: warning: '__ret' may be used uninitialized in this function [-Wmaybe-uninitialized] introduced in commit 8bf960985dfc for some build configurations. Fixes: 8bf960985dfc ("spi: mpc512x-psc: add support for Freescale MPC5125") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c21cde6fe1ba08b357c96071c71af6543f2863ec Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jul 21 11:36:57 2015 +0200 gpio: document interaction with other subsystems Now I am very fed up with people reinventing kernel wheels in userspace "just because they can" (read, sysfs). Put in a angry blurb in sysfs doc and put in a new file with pointers to other subsystem drivers utilizing GPIOs. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 949163015ce6fdb76a5e846a3582d3c40c23c001 Author: Paolo Pisati <p.pisati@xxxxxxxxx> Date: Mon Jul 20 18:23:50 2015 +0200 x86/boot: Obsolete the MCA sys_desc_table The kernel does not support the MCA bus anymroe, so mark sys_desc_table as obsolete: remove any reference from the code together with the remaining of MCA logic. bloat-o-meter output: add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-55 (-55) function old new delta i386_start_kernel 128 119 -9 setup_arch 1421 1375 -46 Signed-off-by: Paolo Pisati <p.pisati@xxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437409430-8491-1-git-send-email-p.pisati@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f2a50f8b7da45ff2de93a71393e715a2ab9f3b68 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 9 19:17:29 2015 -0700 x86/selftests, x86/vm86: Improve entry_from_vm86 selftest The entry_from_vm86 selftest was very weak. Improve it: test more types of kernel entries from vm86 mode and test them more carefully. While we're at it, try to improve behavior on non-SEP CPUs. The old code was buggy because I misunderstood the intended semantics of #UD in vm86, so I didn't handle a possible signal. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d8ef1d7368ac70d8342481563ed50f9a7d2eea6f.1436492057.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7d89a3cb159aecb1b363ea50cb14c967ff83b5a6 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Thu Jul 9 18:24:59 2015 -0700 drivers/video/fbdev/atyfb: Use arch_phys_wc_add() and ioremap_wc() This driver uses strong UC for the MMIO region, and ioremap_wc() for the framebuffer to whitelist for the WC MTRR that can be changed to WC. On PAT systems we don't need the MTRR call so just use arch_phys_wc_add() there, this lets us remove all those ifdefs. Let's also be consistent and use ioremap_wc() for ATARI as well. There are a few motivations for this: a) Take advantage of PAT when available. b) Help bury MTRR code away, MTRR is architecture specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR: @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: arnd@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: geert@xxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: hmh@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: stefan.bader@xxxxxxxxxxxxx Cc: tj@xxxxxxxxxx Cc: ville.syrjala@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436491499-3289-5-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3cc2dac5be3f23414a4efdee0b26d79bed297cac Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Thu Jul 9 18:24:58 2015 -0700 drivers/video/fbdev/atyfb: Replace MTRR UC hole with strong UC Replace a WC MTRR call followed by a UC MTRR "hole" call with a single WC MTRR call and use strong UC to protect the MMIO region and account for the device's architecture and MTRR size requirements. The atyfb driver relies on two overlapping MTRRs. It does this to account for the fact that, on some devices, it has the MMIO region bundled together with the framebuffer on the same PCI BAR and the hardware requirement on MTRRs on both base and size to be powers of two. In the worst case, the PCI BAR is of 16 MiB while the MMIO region is on the last 4 KiB of the same PCI BAR. If we use just one MTRR for WC, we can only end up with an 8 MiB or 16 MiB framebuffer. Using a 16 MiB WC framebuffer area is unacceptable since we need the MMIO region to not be write-combined. An 8 MiB WC framebuffer option does not let use quite a bit of framebuffer space, it would reduce the resolution capability of the device considerably. An alternative is to use many MTRRs but on some systems that could mean not having enough MTRRs to cover the framebuffer. The current solution is to issue a 16 MiB WC MTRR followed by a 4 KiB UC MTRR on the last 4 KiB. Its worth mentioning and documenting that the current ioremap*() strategy as well: the first ioremap() is used only for the MMIO region, a second ioremap() call is used for the framebuffer *and* the MMIO region, the MMIO region then ends up mmapped twice. Two ioremap() calls are used since in some situations the framebuffer actually ends up on a separate auxiliary PCI BAR, but this is not always true. In the worst case, the PCI BAR is shared for both MMIO and the framebuffer. By allowing overlapping ioremap() calls, the driver enables two types of devices with one simple ioremap() strategy. See also: 2f9e897353fc ("x86/mm/mtrr, pat: Document Write Combining MTRR type effects on PAT / non-PAT pages") By default, Linux today defaults both pci_mmap_page_range() and ioremap_nocache() to use _PAGE_CACHE_MODE_UC_MINUS. On x86, ioremap() aliases ioremap_nocache(). The preferred value for Linux may soon change, however, the goal is to use _PAGE_CACHE_MODE_UC by default in the future. We can use ioremap_uc() to set PCD=1, PWT=1 on non-PAT systems and use a PAT value of UC for PAT systems. This will ensure the same settings are in place regardless of what Linux decides to use by default later and to not regress our MTRR strategy since the effective memory type will differ depending on the value used. Using a WC MTRR on such an area will be nullified. This technique can be used to protect the MMIO region in this driver's case and address the restrictions of the device's architecture as well as restrictions set upon us by powers of 2 when using MTRRs. This allows us to replace the two MTRR calls with a single 16 MiB WC MTRR and use page-attribute settings for non-PAT and PAT entry values for PAT systems to ensure the appropriate effective memory type won't have a write-combining effect on the MMIO region on both non-PAT and PAT systems. The framebuffer area will be sure to get the write-combined effective memory type by white-listing it with ioremap_wc(). We ensure the desired effective memory types are set by: 0) Using one ioremap_uc() for the MMIO region alone. This will set the page attribute settings for the MMIO region to PCD=1, PWT=1 for non-PAT systems while using a strong UC value on PAT systems. 1) Fixing the framebuffer ioremapped area to exclude the MMIO region and using ioremap_wc() instead to whitelist the area we want for write-combining. In both cases, an implementation defined (as per 2f9e897353fc) effective memory type of WC is used for the framebuffer for non-PAT systems. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: arnd@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: geert@xxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: hmh@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: stefan.bader@xxxxxxxxxxxxx Cc: tj@xxxxxxxxxx Cc: ville.syrjala@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1435196060-27350-3-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436491499-3289-4-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f55de6ec375da89f89f1a76e1b998e5f14878c06 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Thu Jul 9 18:24:57 2015 -0700 drivers/video/fbdev/atyfb: Clarify ioremap() base and length used Adjust the ioremap() call for the framebuffer to use the same values we later use for the framebuffer. This will make it easier to review the next change. The size of the framebuffer varies but since this is for PCI we *know* this defaults to 0x800000. atyfb_setup_generic() is *only* used on PCI probe. No functional change. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: arnd@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: geert@xxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: hmh@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: stefan.bader@xxxxxxxxxxxxx Cc: tj@xxxxxxxxxx Cc: ville.syrjala@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436491499-3289-3-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eacd2d542610e55cad0be445966ac8ae79124c6e Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Thu Jul 9 18:24:56 2015 -0700 drivers/video/fbdev/atyfb: Carve out framebuffer length fudging into a helper The size of the framebuffer to be used needs to be fudged to account for the different type of devices that are out there. This captures what is required to do well, we'll reuse this later. This has no functional changes. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: airlied@xxxxxxxxxx Cc: arnd@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: geert@xxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: hmh@xxxxxxxxxx Cc: jgross@xxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: stefan.bader@xxxxxxxxxxxxx Cc: syrjala@xxxxxx Cc: tj@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: ville.syrjala@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1435251019-32421-1-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436491499-3289-2-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8c7ea50c010b2f1e006ad37c43f98202a31de2cb Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Thu Jul 9 17:28:16 2015 -0700 x86/mm, asm-generic: Add IOMMU ioremap_uc() variant default We currently have no safe way of currently defining architecture agnostic IOMMU ioremap_*() variants. The trend is for folks to *assume* that ioremap_nocache() should be the default everywhere and then add this mapping on each architectures -- this is not correct today for a variety of reasons. We have two options: 1) Sit and wait for every architecture in Linux to get a an ioremap_*() variant defined before including it upstream. 2) Gather consensus on a safe architecture agnostic ioremap_*() default. Approach 1) introduces development latencies, and since 2) will take time and work on clarifying semantics the only remaining sensible thing to do to avoid issues is returning NULL on ioremap_*() variants. In order for this to work we must have all architectures declare their own ioremap_*() variants as defined. This will take some work, do this for ioremp_uc() to set the example as its only currently implemented on x86. Document all this. We only provide implementation support for ioremap_uc() as the other ioremap_*() variants are well defined all over the kernel for other architectures already. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arnd@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bp@xxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: geert@xxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: hmh@xxxxxxxxxx Cc: jgross@xxxxxxxx Cc: linux-mm@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: stefan.bader@xxxxxxxxxxxxx Cc: tj@xxxxxxxxxx Cc: tomi.valkeinen@xxxxxx Cc: toshi.kani@xxxxxx Link: http://lkml.kernel.org/r/1436488096-3165-1-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5aef51c340cb50ed9a3997dc5d782324372078bd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 10 08:34:23 2015 -0700 x86/kconfig/32: Rename CONFIG_VM86 and default it to 'n' VM86 is entirely broken if ptrace, syscall auditing, or NOHZ_FULL is in use. The code is a big undocumented mess, it's a real PITA to test, and it looks like a big chunk of vm86_32.c is dead code. It also plays awful games with the entry asm. No one should be using it anyway. Use DOSBOX or KVM instead. Let's accelerate its slow death. Remove it from EXPERT and default it to n. Distros should not enable it. In the unlikely event that some user needs it, they can easily re-enable it. While we're at it, rename it to CONFIG_X86_LEGACY_VM86 so that 'make oldconfig' users will be prompted again. I left CONFIG_VM86 as an alias to avoid a treewide replacement of the names. We can clean that up once the current asm and vm86 code churn settles down. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Austin S Hemmelgarn <ahferroin7@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d29c6cc442d32d4df58849d2f8c89fb39ff88d61.1436542295.git.luto@xxxxxxxxxx [ Refined it some more. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c538bb3b8093ad027945b68f8b852ab4aca382b8 Merge: 8fc2b61 ed25b11 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Jul 21 11:36:56 2015 +0300 Merge ath-next from ath.git. Major changes in ath10k: * enable VHT for IBSS * initial work to support qca99x0 and the corresponding 10.4 firmware branch commit 3490565b633c705d2fb1f6ede51228952664663d Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Jul 13 20:31:03 2015 +0200 locking/spinlocks: Force inlining of spinlock ops With both gcc 4.7.2 and 4.9.2, sometimes GCC mysteriously doesn't inline very small functions we expect to be inlined. See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66122 In particular, with this config: http://busybox.net/~vda/kernel_config there are more than a thousand copies of tiny spinlock-related functions: $ nm --size-sort vmlinux | grep -iF ' t ' | uniq -c | grep -v '^ *1 ' | sort -rn | grep ' spin' 473 000000000000000b t spin_unlock_irqrestore 292 000000000000000b t spin_unlock 215 000000000000000b t spin_lock 134 000000000000000b t spin_unlock_irq 130 000000000000000b t spin_unlock_bh 120 000000000000000b t spin_lock_irq 106 000000000000000b t spin_lock_bh Disassembly: ffffffff81004720 <spin_lock>: ffffffff81004720: 55 push %rbp ffffffff81004721: 48 89 e5 mov %rsp,%rbp ffffffff81004724: e8 f8 4e e2 02 callq <_raw_spin_lock> ffffffff81004729: 5d pop %rbp ffffffff8100472a: c3 retq This patch fixes this via s/inline/__always_inline/ in spinlock.h. This decreases vmlinux by about 40k: text data bss dec hex filename 82375570 22255544 20627456 125258570 7774b4a vmlinux.before 82335059 22255416 20627456 125217931 776ac8b vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Bart Van Assche <bvanassche@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Link: http://lkml.kernel.org/r/1436812263-15243-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9719fa5a3840b1b9de7f2c0aae57346cd6570ea7 Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Thu Jul 16 19:36:20 2015 +0800 arm64: dts: mediatek: Add MT8173 MMC dts Add node mmc0 ~ mmc3 for mt8173.dtsi Add node mmc0, mmc1 for mt8173-evb.dts Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 9dea5dc921b5f4045a18c63eb92e84dc274d17eb Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Tue Jul 14 15:24:24 2015 -0700 x86/entry/syscalls: Wire up 32-bit direct socket calls On x86_64, there's no socketcall syscall; instead all of the socket calls are real syscalls. For 32-bit programs, we're stuck offering the socketcall syscall, but it would be nice to expose the direct calls as well. This will enable seccomp to filter socket calls (for new userspace only, but that's fine for some applications) and it will provide a tiny performance boost. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexander Larsson <alexl@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Cosimo Cecchi <cosimo@xxxxxxxxxxxx> Cc: Dan Nicholson <nicholson@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rajalakshmi Srinivasaraghavan <raji@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tulio Magno Quites Machado Filho <tuliom@xxxxxxxxxxxxxxxxxx> Cc: libc-alpha <libc-alpha@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/cb5138299d37d5800e2d135b01a7667fa6115854.1436912629.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2070c48cf2b78af89ba529c00992eaaa18df8ef7 Author: Pieter Hollants <pieter@xxxxxxxxxxxx> Date: Mon Jul 20 10:14:13 2015 +0200 qmi_wwan: Add support for Dell Wireless 5809e 4G Modem Added the USB IDs 0x413c:0x81b1 for the "Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card", a Dell-branded Sierra Wireless EM7305 LTE card in M.2 form factor, used eg. in Dell's Latitude E7540 Notebook series. Signed-off-by: Pieter Hollants <pieter@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84e81020ee237df8af359c552b503db476b776ea Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Mon Jul 20 10:46:10 2015 +0100 drm/i915: Add provision to extend Golden context batch The Golden batch carries 3D state at the beginning so that HW starts with a known state. It is carried as a binary blob which is auto-generated from source. The idea was it would be easier to maintain and keep the complexity out of the kernel which makes sense as we don't really touch it. However if you really need to update it then you need to update generator source and keep the binary blob in sync with it. There is a need to patch this in bxt to send one additional command to enable a feature. A solution was to patch the binary data with some additional data structures (included as part of auto-generator source) but it was unnecessarily complicated. Chris suggested the idea of having a secondary batch and execute two batch buffers. It has clear advantages as we needn't touch the base golden batch, can customize secondary/auxiliary batch depending on Gen and can be carried in the driver with no dependencies. This patch adds support for this auxiliary batch which is inserted at the end of golden batch and is completely independent from it. Thanks to Mika for the preliminary review. v2: Strictly conform to the batch size requirements to cover Gen2 and add comments to clarify overflow check in macro (Chris, Mika). v3: aux_batch_offset was declared as u64, change it to u32 (Chris) Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Armin Reese <armin.c.reese@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0c199a903d1cbc67fd99a9b074aaff4f72fa84d0 Author: Jakub Wilk <jwilk@xxxxxxxxx> Date: Sat Jul 18 14:41:51 2015 +0200 xfrm: Fix a typo Signed-off-by: Jakub Wilk <jwilk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dd72bde05de5d68d56e59698f7f2c102afce904b Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 17 17:08:51 2015 +0100 drm/i915: Do kunmap if renderstate parsing fails Kunmap the renderstate page on error path. Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d64e78c9e77a9112137e294ab4b9b3844a7f90c0 Merge: b52effd 397665d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 21 00:23:24 2015 -0700 Merge branch 'cxgb4-dcb' Anish Bhatt says: ==================== cxgb4 DCB updates The following patchset covers changes to work better with the userspace tools cgdcbxd and cgrulesengd and improves firmware support for host-managed mode. Also exports traffic class information that was previously not being exported via dcbnl_ops and unfifies how app selector information is passed to firmware. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 397665dab58415d648f03e2893627f4f7abf0fba Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Fri Jul 17 13:12:33 2015 -0700 cxgb4 : Fill DCB priority in vlan control headers Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d6541b7bc0a56020ffc9fab7d740e47addd609d Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Fri Jul 17 13:12:32 2015 -0700 cxgb4 : Fill in number of DCB traffic classes supported Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a85c2eb3113299b8d55936a49e70c5b63c72617f Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Fri Jul 17 13:12:31 2015 -0700 cxgb4 : Allow firmware DCB info to be queried in host state Since finally DCB traffic management is still handled by firmware, allow firmware to be fully programmed and queried even in host managed state for the cases where this was previously rejected. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a44e7b73118b21176bdf6376c620d778a0ff0ee2 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Fri Jul 17 13:12:30 2015 -0700 cxgb4 : Only pass app selector of 0 or 3 to firmware This keeps app format passed to firmware the same irrespective of DCBx version in use. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b029e66fa8e39ba10dcc47b114be8da8b082493b Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:10 2015 +0530 drm/i915: Backlight control using CRC PMIC based PWM driver Use the CRC PWM device in intel_panel.c and add new MIPI backlight specififc callbacks v2: Modify to use pwm_config callback v3: Addressed Jani's comments - Renamed all function as pwm_* instead of vlv_* - Call intel_panel_actually_set_backlight in enable function - Return -ENODEV in case pwm_get fails - in case pwm_config error return error cdoe from pwm_config - Cleanup pwm in intel_panel_destroy_backlight v4: Removed unused #defines and initialized backlight with INVALID_PIPE (Ville) CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc45e821990781c13dba10e3aef1c9f11af8af08 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:09 2015 +0530 drm/i915: Use the CRC gpio for panel enable/disable The CRC (Crystal Cove) PMIC, controls the panel enable and disable signals for BYT for dsi panels. This is indicated in the VBT fields. Use that to initialize and use GPIO based control for these signals. v2: Use the newer gpiod interface(Alexandre) v3: Remove the redundant checks and unused code (Ville) v4: Moved PWM vs SoC backlight #defines to intel_bios.h (Jani) CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a3f37a104bc42f19ceb74e3e06752b6e3a269745 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:08 2015 +0530 pwm: crc: Add Crystalcove (CRC) PWM driver The Crystalcove PMIC provides three PWM signals and this driver exports one of them on the BYT platform which is used to control backlight for DSI panel. This is platform device implementation of the drivers/mfd cell device for CRC PMIC. CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a3aa9a93df9fc8a0c54485e4144fdb81591e2175 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:07 2015 +0530 mfd: intel_soc_pmic_core: ADD PWM lookup table for CRC PMIC based PWM On some BYT PLatform the PWM is controlled using CRC PMIC. Add a lookup entry for the same to be used by the consumer (Intel GFX) CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3d5e10ec50f80bc433916ee0cefbc8dfd16acb0c Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:06 2015 +0530 mfd: intel_soc_pmic_crc: Add PWM cell device for Crystalcove PMIC Needed for PWM control suuported by the PMIC CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 61dd2ca2d44e493b050adbbb75bc50db11c367dd Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:05 2015 +0530 mfd: intel_soc_pmic_core: Add lookup table for Panel Control as GPIO signal On some Intel SoC platforms, the panel enable/disable signals are controlled by CRC PMIC. Add those control as a new GPIO in a lookup table for gpio-crystalcove chip during CRC driver load CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be9015abb8296d8dc72cef4da75fa30e88ab7c81 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:04 2015 +0530 gpiolib: Add support for removing registered consumer lookup table In case we unload and load a driver module again that is registering a lookup table, without this it will result in multiple entries. Provide an option to remove the lookup table on driver unload Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b52effd263e0926cc52713703f53d0a6c77259a1 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Fri Jul 17 13:50:21 2015 -0300 sctp: fix cut and paste issue in comment Cookie ACK is always received by the association initiator, so fix the comment to avoid confusion. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57816cbcb827895d10925c6a52b63833087ce0c1 Merge: 7177a3b 0ca50d1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 21 00:20:18 2015 -0700 Merge branch 'sctp-src-addr' Marcelo Ricardo Leitner says: ==================== sctp: fix src address selection if using secondary address This series improves the way SCTP chooses its src address so that the choosen one will always belong to the interface being used for output. v1->v2: - split out the refactoring from the fix itself - Doing a full reverse routing as in v1 is not necessary. Only looking for the interface that has the address and comparing its number is enough. ==================== Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ca50d12fe46cdf3c0dc9ec5ca98607a52afdc62 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Fri Jul 17 12:34:18 2015 -0300 sctp: fix src address selection if using secondary addresses In short, sctp is likely to incorrectly choose src address if socket is bound to secondary addresses. This patch fixes it by adding a new check that checks if such src address belongs to the interface that routing identified as output. This is enough to avoid rp_filter drops on remote peer. Details: Currently, sctp will do a routing attempt without specifying the src address and compare the returned value (preferred source) with the addresses that the socket is bound to. When using secondary addresses, this will not match. Then it will try specifying each of the addresses that the socket is bound to and re-routing, checking if that address is valid as src for that dst. Thing is, this check alone is weak: # ip r l 192.168.100.0/24 dev eth1 proto kernel scope link src 192.168.100.149 192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.147 # ip a l 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:15:18:6a brd ff:ff:ff:ff:ff:ff inet 192.168.122.147/24 brd 192.168.122.255 scope global dynamic eth0 valid_lft 2160sec preferred_lft 2160sec inet 192.168.122.148/24 scope global secondary eth0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe15:186a/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:b3:91:46 brd ff:ff:ff:ff:ff:ff inet 192.168.100.149/24 brd 192.168.100.255 scope global dynamic eth1 valid_lft 2162sec preferred_lft 2162sec inet 192.168.100.148/24 scope global secondary eth1 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:feb3:9146/64 scope link valid_lft forever preferred_lft forever 4: ens9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:05:47:ee brd ff:ff:ff:ff:ff:ff inet6 fe80::5054:ff:fe05:47ee/64 scope link valid_lft forever preferred_lft forever # ip r g 192.168.100.193 from 192.168.122.148 192.168.100.193 from 192.168.122.148 dev eth1 cache Even if you specify an interface: # ip r g 192.168.100.193 from 192.168.122.148 oif eth1 192.168.100.193 from 192.168.122.148 dev eth1 cache Although this would be valid, peers using rp_filter will drop such packets as their src doesn't match the routes for that interface. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07868284e530d52f72b14b800398a8fefa7cf5d0 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Fri Jul 17 12:34:17 2015 -0300 sctp: reduce indent level on sctp_v4_get_dst Paves the day for the next patch. Functionality stays untouched. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7177a3b037c7569c137c2703efe8187fdc4352b8 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Mon Jul 20 09:54:50 2015 +0200 net/vxlan: Fix kernel unaligned access in __vxlan_find_mac __vxlan_find_mac invokes ether_addr_equal on the eth_addr field, which triggers unaligned access messages, so rearrange vxlan_fdb to avoid this in the most non-intrusive way. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Reviewed-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed0b2edb61ba4e557de759093d965654186f28b2 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Sun Jul 19 21:09:06 2015 -0400 x86/entry/vm86: Move userspace accesses to do_sys_vm86() Move the userspace accesses down into the common function in preparation for the next set of patches. Also change to copying the fields explicitly instead of assuming a fixed order in pt_regs and the kernel data structures. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437354550-25858-4-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit df1ae9a5dc66d9fd57109240042372b1065d984a Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Sun Jul 19 21:09:05 2015 -0400 x86/entry/vm86: Preserve 'orig_ax' There is no legitimate reason for usermode to modify the 'orig_ax' field on entry to vm86 mode, so copy it from the 32-bit regs. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437354550-25858-3-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0233606ce5cf12c1a0e27cb197066ea5bc2bb488 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Sun Jul 19 21:09:04 2015 -0400 x86/entry/vm86: Clean up saved_fs/gs There is no need to save FS and non-lazy GS outside the 32-bit regs. Lazy GS still needs to be saved because it wasn't saved on syscall entry. Save it in the gs slot of regs32, which is present but unused. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437354550-25858-2-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 685a015e44dcd4db50ada60a9a2806659c165d9e Author: Thomas Graf <tgraf@xxxxxxx> Date: Fri Jul 17 10:52:48 2015 +0200 rhashtable: Allow other tasks to be scheduled in large lookup loops Depending on system speed, the large lookup/insert/delete loops of the testsuite can take a considerable amount of time to complete causing watchdog warnings to appear. Allow other tasks to be scheduled throughout the loops. Reported-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f61687c01917946d2274dd8736bb8f9e2691ee5b Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Jul 17 11:19:46 2015 +0800 phylib: add driver for Teranetics TN2020 Teranetics TN2020 is compliant with IEEE 802.3an 10 Gigabit. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2617268ff9d8f8b6901a07962c985d774b999e58 Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Thu Jul 9 19:29:04 2015 +0100 drm/i915: Add GuC-related header files intel_guc_fwif.h contains the subset of the GuC interface that we will need for submission of commands through the GuC. These MUST be kept in sync with the definitions used by the GuC firmware, and updates to this file will (or should) be autogenerated from the source files used to build the firmware. Editing this file is therefore not recommended. i915_guc_reg.h contains definitions of GuC-related hardware: registers, bitmasks, etc. These should match the BSpec. v2: Files renamed & resliced per review comments by Chris Wilson v4: Added DON'T-EDIT-ME warning [Tom O'Rourke] Issue: VIZ-4884 Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 63dc04498ace9cb657174e77373d6fcc85d6c492 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Thu Jul 9 19:29:03 2015 +0100 drm/i915: Add GuC-related module parameters Two new module parameters: "enable_guc_submission" which will turn on submission of batchbuffers via the GuC (when implemented), and "guc_log_level" which controls the level of debugging logged by the GuC and captured by the host. Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> v4: Mark "enable_guc_submission" unsafe [Daniel Vetter] Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea70299d6e6961dd6adce2cbdf64e6e8a7ea97c0 Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Thu Jul 9 19:29:02 2015 +0100 drm/i915: Add i915_gem_object_create_from_data() i915_gem_object_create_from_data() is a generic function to save data from a plain linear buffer in a new pageable gem object that can later be accessed by the CPU and/or GPU. We will need this for the microcontroller firmware loading support code. Derived from i915_gem_object_write(), originally by Alex Dai v2: Change of function: now allocates & fills a new object, rather than writing to an existing object New name courtesy of Chris Wilson Explicit domain-setting and other improvements per review comments by Chris Wilson & Daniel Vetter v4: Rebased Issue: VIZ-4884 Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 63caae8480921773b46adec0b6ddac9a844a042f Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Jul 20 18:34:50 2015 +0200 sched/idle: Move latency tracing stop/start calls deeper inside the idle loop Make sure to stop tracing only once we are past a point where all latency tracing events have been processed (irqs are not enabled again). This has the slight advantage of capturing more latency related events in the idle path, but most importantly it makes sure that latency tracing doesn't get re-enabled inadvertently when new events are coming in. This makes the irqsoff latency tracer useful again, as we stop capturing CPU sleep time as IRQ latency. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kernel@xxxxxxxxxxxxxx Cc: patchwork-lst@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1437410090-3747-1-git-send-email-l.stach@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bf9f2ee28d475ada0005c59382852cb70f1419ac Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Jul 20 11:52:23 2015 -0700 x86/nmi: Remove the 'b2b' parameter from nmi_handle() It has never had any effect. Remove it for comprehensibility. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/c91fa38507760d9e54a4b8737fa6409bde896b33.1437418322.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a11c51acc52822754d66a11c15f6f6edd4d23c55 Merge: f6a74a5 d2f3f5d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Jul 21 07:58:06 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: New features: - Allow filtering out of perf's PID via 'perf record --exclude-perf'. (Wang Nan) - 'perf trace' now supports syscall groups, like strace, i.e: $ trace -e file touch file Will expand 'file' into multiple, file related, syscalls. More work needed to add extra groups for other syscall groups, and also to complement what was added for the 'file' group, included as a proof of concept. (Arnaldo Carvalho de Melo) - Add lock_pi stresser to 'perf bench futex', to test the kernel code related to FUTEX_(UN)LOCK_PI. (Davidlohr Bueso) User visible fixes: - Apply --filter to all events in a glob matching, not just the last one. (Wang Nan) Documentation changes: - Document setting '-e pmu/period=N/' in the 'perf record' man page. (Kan Liang) Infrastructure changes: - 'perf probe' code simplifications and movements to separate files. (Masami Hiramatsu) - Fix makefile generation under 'dash'. (Sergei Trofimovich) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f6a74a5e15df32f289837feeabf8c84829312b06 Merge: 60cd37e 9d634c4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Jul 21 07:57:44 2015 +0200 Merge branch 'linus' into perf/core, to refresh the branch Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b51ef52df71cb28e9d90cd1d48b79bf19f0bab06 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Mon Jul 20 14:47:58 2015 -0700 x86/cpu: Restore MSR_IA32_ENERGY_PERF_BIAS after resume MSR_IA32_ENERGY_PERF_BIAS is lost after suspend/resume: x86_energy_perf_policy -r before cpu0: 0x0000000000000006 cpu1: 0x0000000000000006 cpu2: 0x0000000000000006 cpu3: 0x0000000000000006 cpu4: 0x0000000000000006 cpu5: 0x0000000000000006 cpu6: 0x0000000000000006 cpu7: 0x0000000000000006 after cpu0: 0x0000000000000000 cpu1: 0x0000000000000006 cpu2: 0x0000000000000006 cpu3: 0x0000000000000006 cpu4: 0x0000000000000006 cpu5: 0x0000000000000006 cpu6: 0x0000000000000006 cpu7: 0x0000000000000006 Resulting in inconsistent energy policy settings across CPUs. This register is set via init_intel() at bootup. During resume, the secondary CPUs are brought online again and init_intel() is callled which re-initializes the register. The boot CPU however never reinitializes the register. Add a syscore callback to reinitialize the register for the boot CPU. Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437428878-4105-1-git-send-email-labbott@xxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2cc6b813579415c4f627b08a043079bdc5b87a33 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 19:20:58 2015 +0900 ARM: EXYNOS: Use IOMEM_ERR_PTR when function returns iomem Function returns 'void __iomem *' so use IOMEM_ERR_PTR for returning an error. This fixes sparse warning: arch/arm/mach-exynos/platsmp.c:185:31: warning: incorrect type in return expression (different address spaces) arch/arm/mach-exynos/platsmp.c:185:31: expected void [noderef] <asn:2>* arch/arm/mach-exynos/platsmp.c:185:31: got void * Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 0e6262a097929eb9fcfb4cdc1cbe76f16b187d7a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:04:28 2015 +0900 ARM: EXYNOS: Drop owner assignment in pmu.c platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 054e6aa198b4bb42d059951e08f05147b64a79f9 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Sun Jun 14 13:38:23 2015 +0900 ARM: EXYNOS: Remove duplicated define of SLEEP_MAGIC The magic cookie for entering sleep state was defined and used in two different places: firmware.c and suspend.c. Move it to one common place to reduce duplication. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b69bef97d6c5eac62597c8b06f847e9a7010d17a Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Sat May 30 15:54:03 2015 +0900 ARM: EXYNOS: Make local function static Function is not used outside of this unit, make it static. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 5e080b078fa1f929d9aa5586985d5e7c0739d207 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Jul 7 22:46:29 2015 -0700 ARM: dts: Extend exynos5420-pinctrl nodes using labels instead of paths A previously defined Device Tree node, can be extended either by defining a node using the same full path or by creating a label for the node and referencing to it. Using full paths is more error prone since if there was a typo error, a new node will be created instead of extending the node as it was desired. This will lead to run-time errors that could be hard to detect. A mistyped label on the other hand, will cause a dtc compile error which makes it easier to detect the mistake since happens at build-time instead. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c07f8270116d7c66379ce9d5f8d3609fe79fd999 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Jul 7 22:36:29 2015 -0700 ARM: dts: Include exynos5420-pinctrl after the nodes were defined for exynos5420 The dtc compiler combines all the defined nodes that have the same path so a device node definition can be in one file and later be extended in another one. That's the case of the Exynos5420 pinctrl device nodes that are defined in the exynos5420.dtsi file and extended in exynos5420-pinctrl.dtsi. But since the exynos5420.dtsi file includes the exynos5420-pinctrl.dtsi before the pinctrl device nodes are actually defined, the definition of the pinctrl device nodes happens in exynos5420-pinctrl.dtsi and are extended in exynos5420.dtsi. That is the opposite of the original intention so even when there is no difference in practice, the exynos5420-pinctrl.dtsi include should be moved at the end of the exynos5420.dtsi file after the pinctrl device nodes have been already defined. This will also allow to later change the exynos5420-pinctrl.dtsi file to use labels instead of full paths to extend the pinctrl nodes. Since keeping the include at the top, would cause a dtc build error due the pinctrl labels not being defined yet. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit eb8b8b03ca8ac0f06a2c16bf27601a1ac2aa2d8b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Jul 7 22:36:28 2015 -0700 ARM: dts: Extend exynos5250-pinctrl nodes using labels instead of paths A previously defined Device Tree node, can be extended either by defining a node using the same full path or by creating a label for the node and referencing to it. Using full paths is more error prone since if there was a typo error, a new node will be created instead of extending the node as it was desired. This will lead to run-time errors that could be hard to detect. A mistyped label on the other hand, will cause a dtc compile error which makes it easier to detect the mistake since happens at build-time instead. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit dc5617973c9c41ca1ab439dd764eedf561f6fd49 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Jul 7 22:36:27 2015 -0700 ARM: dts: Include exynos5250-pinctrl after the nodes were defined for exynos5250 The dtc compiler combines all the defined nodes that have the same path so a device node definition can be in one file and later be extended in another one. That's the case of the Exynos5250 pinctrl device nodes that are defined in the exynos5250.dtsi file and extended in exynos5250-pinctrl.dtsi. But since the exynos5250.dtsi file includes the exynos5250-pinctrl.dtsi before the pinctrl device nodes are actually defined, the definition of the pinctrl device nodes happens in exynos5250-pinctrl.dtsi and are extended in exynos5250.dtsi. That is the opposite of the original intention so even when there is no difference in practice, the exynos5250-pinctrl.dtsi include should be moved at the end of the exynos5250.dtsi file after the pinctrl device nodes have been already defined. This will also allow to later change the exynos5250-pinctrl.dtsi file to use labels instead of full paths to extend the pinctrl nodes. Since keeping the include at the top, would cause a dtc build error due the pinctrl labels not being defined yet. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit cc20fc4c1bc4af03a685d1555ebaebbfb4ae95c4 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Jun 15 12:23:23 2015 +0930 ARM: dts: Enable thermal-zones for exynos5422-odroidxu3 Include exynos5422-cpu-thermal.dtsi to enable thermal_zone support. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f1722d7dd8b8708e5fbc54be1e44b4cd612e06f2 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Jun 15 12:23:22 2015 +0930 ARM: dts: Define default thermal-zones for exynos5422 Trip points corresponding to the one defined in the exynos_tmu_data.c for Exynos5422 have been included so define thermal-zones attribute. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Tested-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 8e946a053bd1bae485fea0d99fb3bb05b6ed9c4e Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Jun 15 12:23:21 2015 +0930 ARM: dts: Enable TMU for exynos5422-odroidxu3 This changes enables TMU IP block on the Exynos5422 Odroid-XU3 device. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b685d540cc265d6e88010bed53920b5b6c962682 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Jun 15 12:23:20 2015 +0930 ARM: dts: Add pwm-fan node for exynos5422-odroidxu3 Add pwm-fan node to the Odroid-XU3 boards. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Tested-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 86869d66eabb5d53041a9396903c2356584a4de4 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Thu Jun 11 20:24:39 2015 +0900 ARM: dts: Use labels for overriding nodes for exynos4210-universal_c210 Usage of labels instead of full paths reduces possible mistakes when overriding nodes. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 82449f23d8636c094be948741fd935532f104bd6 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sun Jun 7 13:21:00 2015 +0900 ARM: dts: Set max17047 over heat and voltage thresholds for exynos4412-trats2 Add some safe values for over heat and over voltage. The Trats2 uses 3.8 V battery and during testing it operated properly under 4.48 V. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit dc929d49dce577149157f0676973e5eafbbdc098 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Sun Jun 7 21:23:47 2015 +0930 ARM: dts: Enable USB3 regulators for exynos5422-odroidxu3 Enable regulator for usbdrd3_0 and usbdrd3_1. Looking at the schematic pin diagram for MAX77802 USB3_0 and USB3_1 is regulated by LDO9 and LD011. This removes following warnings during boot: [ 3.503539] exynos-dwc3 usb@12000000: Looking up vdd33-supply from device tree [ 3.503556] exynos-dwc3 usb@12000000: Looking up vdd33-supply property in node /usb@12000000 failed [ 3.503568] usb@12000000 supply vdd33 not found, using dummy regulator [ 3.509154] exynos-dwc3 usb@12000000: Looking up vdd10-supply from device tree [ 3.509170] exynos-dwc3 usb@12000000: Looking up vdd10-supply property in node /usb@12000000 failed [ 3.509181] usb@12000000 supply vdd10 not found, using dummy regulator [ 3.917548] exynos-dwc3 usb@12400000: Looking up vdd33-supply from device tree [ 3.917565] exynos-dwc3 usb@12400000: Looking up vdd33-supply property in node /usb@12400000 failed [ 3.917578] usb@12400000 supply vdd33 not found, using dummy regulator [ 3.922731] exynos-dwc3 usb@12400000: Looking up vdd10-supply from device tree [ 3.922747] exynos-dwc3 usb@12400000: Looking up vdd10-supply property in node /usb@12400000 failed Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 27284129522e7e2a5b89e80bd44ea3345f79c9e8 Author: Andreas Faerber <afaerber@xxxxxxx> Date: Sun Mar 15 23:00:30 2015 +0100 ARM: dts: Clean up indentation for exynos5410-smdk5410 The UART status properties are indented one level too deep, and we want to derive a device tree for the ODROID-XU. Fix this before it propagates. Signed-off-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 500322ec418171a1d067cfd8a3b0fde4b6eb7257 Merge: f3120ac 4d9c5c5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 20:52:32 2015 -0700 Merge branch 'bpf-push-pop-helpers' Alexei Starovoitov says: ==================== bpf: introduce bpf_skb_vlan_push/pop() helpers Let TC+eBPF programs call skb_vlan_push/pop via helpers. v1->v2: - reworded commit log to better explain correctness of re-caching and fixed comparison of mixed endiannes (suggested by Eric) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d9c5c53ac99e4cb5d031897863203d7817b36e0 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Jul 20 20:34:19 2015 -0700 test_bpf: add bpf_skb_vlan_push/pop() tests improve accuracy of timing in test_bpf and add two stress tests: - {skb->data[0], get_smp_processor_id} repeated 2k times - {skb->data[0], vlan_push} x 68 followed by {skb->data[0], vlan_pop} x 68 1st test is useful to test performance of JIT implementation of BPF_LD_ABS together with BPF_CALL instructions. 2nd test is stressing skb_vlan_push/pop logic together with skb->data access via BPF_LD_ABS insn which checks that re-caching of skb->data is done correctly. In order to call bpf_skb_vlan_push() from test_bpf.ko have to add three export_symbol_gpl. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e10df9a60d96ced321dd2af71da558c6b750078 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Jul 20 20:34:18 2015 -0700 bpf: introduce bpf_skb_vlan_push/pop() helpers Allow eBPF programs attached to TC qdiscs call skb_vlan_push/pop via helper functions. These functions may change skb->data/hlen which are cached by some JITs to improve performance of ld_abs/ld_ind instructions. Therefore JITs need to recognize bpf_skb_vlan_push/pop() calls, re-compute header len and re-cache skb->data/hlen back into cpu registers. Note, skb->data/hlen are not directly accessible from the programs, so any changes to skb->data done either by these helpers or by other TC actions are safe. eBPF JIT supported by three architectures: - arm64 JIT is using bpf_load_pointer() without caching, so it's ok as-is. - x64 JIT re-caches skb->data/hlen unconditionally after vlan_push/pop calls (experiments showed that conditional re-caching is slower). - s390 JIT falls back to interpreter for now when bpf_skb_vlan_push() is present in the program (re-caching is tbd). These helpers allow more scalable handling of vlan from the programs. Instead of creating thousands of vlan netdevs on top of eth0 and attaching TC+ingress+bpf to all of them, the program can be attached to eth0 directly and manipulate vlans as necessary. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f3120acc7851bffd1cd15acd044b7fa6fa520e75 Merge: 0e55a42 2ba6c07 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 20:50:19 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-07-17 This series contains updates to igb, ixgbe, ixgbevf, i40e, bnx2x, freescale, siena and dp83640. Jacob provides several patches to clarify the intended way to implement both SIOCSHWTSTAMP and ethtool's get_ts_info(). It is okay to support the specific filters in SIOCSHWTSTAMP by upscaling them to the generic filters. Alex Duyck provides a igb patch to pull the time stamp from the fragment before it gets added to the skb, to avoid a possible issue in which the fragment can possibly be less than IGB_RX_HDR_LEN due to the time stamp being pulled after the copybreak check. Also provides a ixgbevf patch to fold the ixgbevf_pull_tail() call into ixgbevf_add_rx_frag(), which gives the advantage that the fragment does not have to be modified after it is added to the skb. Fan provides patches for ixgbe/ixgbevf to set the receive hash type based on receive descriptor RSS type. Todd provides a fix for igb where on check for link on any media other than copper was not being detected since it was looking on the incorrect PHY page (due to the page being used gets switched before the function to check link gets executed). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65e3293381e1cf1abcfe1aa22b914650a40e3af4 Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Mon Jun 15 13:03:17 2015 +0900 ARM: dts: fix clock-frequency of display timing0 for exynos3250-rinato After the commit abc0b1447d49 ("drm: Perform basic sanity checks on probed modes"), proper clock-frequency becomes mandatory for validating the mode of panel. The display does not work if there is no mode validated. Also, this clock-frequency must be set appropriately for getting required frame rate. Fixes: abc0b1447d49 ("drm: Perform basic sanity checks on probed modes") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Sigend-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 0e55a42ac89036d3f7debad74d9169a25d6ee307 Merge: 2c1bcaf 28b4591 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 20:48:15 2015 -0700 Merge branch 'bcmgenet-phy-rework' Florian Fainelli says: ==================== net: bcmgenet: PHY initialization rework This patch series reworks how we perform PHY initialization and resets in the GENET driver. Although this contains mostly fixes, some of the changes are a bit too intrusive to be backported to 'net' at the moment. Some of the motivations behind these changes were to reduce the time spent in how performing MDIO transactions, since it is better to perform then when we have interrupts enabled. This reduces the bring-up time of GENET from ~600 msecs down to ~8 msecs, and about the same time for suspend/resume. Since I do not currently have a system which is not DT-aware, can you (Petri, Jaedon) give this a try and confirm things keep working as expected? ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28b45910ccda7b3e4de61b24a6f34d5fb1da90d2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:19 2015 -0700 net: bcmgenet: Remove init parameter from bcmgenet_mii_config Now that we have reworked the way we perform the PHY initialization, we no longer need to differentiate between init time vs. non-init time calls, just use a dev_info_once() print to print the PHY type. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cc8e6d4dcb3651eea9b01db3e195fffb19fb24f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:18 2015 -0700 net: bcmgenet: Delay PHY initialization to bcmgenet_open() We are currently doing a full PHY initialization and even starting the pHY state machine during bcmgenet_mii_init() which is executed in the driver's probe function. This is convenient to determine whether we can attach to a proper PHY device but comes at the expense of spending up to 10ms per MDIO transactions (to reach the waitqueue timeout), which slows things down. This also creates a sitaution where we end-up attaching twice to the PHY, which is not quite correct either. Fix this by moving bcmgenet_mii_probe() into bcmgenet_open() and update its error path accordingly. Avoid printing the message "attached PHY at address 1 [...]" every time we bring up/down the interface and remove this print since it duplicates what the PHY driver already does for us. Fixes: 1c1008c793fa4 ("net: bcmgenet: add main driver file") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c624f89121020882b3db0a33cac8daf151d2930f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:17 2015 -0700 net: bcmgenet: Determine PHY type before scanning MDIO bus Our internal GPHY might be powered off before we attempt scanning the MDIO bus and bind a driver to it. The way we are currently determining whether a PHY is internal or not is done *after* we have successfully matched its driver. If the PHY is powered down, it will not respond to the MDIO bus, so we will not be able to bind a driver to it. Our Device Tree for GENET interfaces specifies a "phy-mode" value: "internal" which tells if this internal uses an internal PHY or not. If of_get_phy_mode() fails to parse the 'phy-mode' property, do an additional manual lookup, and if we find "internal" set the corresponding internal variable accordingly. Replace all uses of phy_is_internal() with a check against priv->internal_phy to avoid having to rely on whether or not priv->phydev is set correctly. Fixes: 1c1008c793fa4 ("net: bcmgenet: add main driver file") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd4060a6108befd1110a4c6be5544c932895d18d Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:16 2015 -0700 net: bcmgenet: Power on integrated GPHY in bcmgenet_power_up() We are currently disabling the GPHY interface during bcmgenet_close(), and attempting to power it back on during bcmgenet_open(). This works fine for the first time, because we called bcmgenet_mii_config() which took care of enabling the interface, however, bcmgenet_power_up() really needs to power on the GPHY for correctness. This will be particularly important as we want to move bcmgenet_mii_probe() down to bcmgenet_open() to avoid seeing the "PHY already attached" message. Fixes: a642c4f7906f36 ("net: bcmgenet: power up and down integrated GPHY when unused") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 978ffac4189e8bb7e74bce6463e501a7b92555af Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:15 2015 -0700 net: bcmgenet: Use correct dev_id for free_irq bcmgenet_open()'s error path call free_irq() with a dev_id argument different from the one we used to call request_irq() with, this will make us trip over the warning in kernel/irq/manage.c:__free_irq() Fixes: 1c1008c793fa4 ("net: bcmgenet: add main driver file") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ac3ce8295e6763b86e5a7bfd61275f51e0a3fd3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:14 2015 -0700 net: bcmgenet: Remove excessive PHY reset We are currently issuing multiple PHY resets during a suspend/resume, first during bcmgenet_power_up() which does a hardware reset, then a software reset by calling bcmgenet_mii_reset(). This is both unnecessary and can take as long as 10ms per MDIO transactions while we re-apply workarounds because we do not yet have MDIO interrupts enabled. phy_resume() takes care of re-apply our workarounds in case we need any, and bcmgenet_power_up() does a PHY hardware reset, all of this is more than enough to guarantee that the PHY operates correctly. Fixes: 1c1008c793fa4 ("net: bcmgenet: add main driver file") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c1bcaffe8c48fa00735d97ea9552c87159a838c Merge: 7781e5d f4c190e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 20:45:58 2015 -0700 Merge branch 'stmmac-cleanup' Joachim Eastwood says: ==================== stmmac clean up for 4.3 part1 This patch set continues the conversion of the dwmac glue layers to more proper platform drivers. The first part of the patch set cleans up stmmac_platform a bit. Refactors code from the common probe function and exports two functions that will be used in the dwmac-* drivers. Second part converts two simple dwmac-* drivers to have their own probe function and use the exported functions. This brings us closer to point where stmmac_platform is only a library of common functions for the dwmac-* drivers to use. The plan next is: * add probe functions to the rest of the dwmac-* drivers * move probe function in stmmac_platform to dwmac-generic * remove struct stmmac_of_data and let those drivers that actually need match data handle it themselves * clean up include/linux/stmmac.h Note that this patch set has only been tested on lpc18xx so testing on other platforms is greatly appreciated. Previous parts can be found here: http://www.spinics.net/lists/netdev/msg328997.html http://www.spinics.net/lists/netdev/msg329932.html ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4c190eb8b4f80b12dc98ce7d54a3bea0e4e7e69 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:12 2015 +0200 stmmac: drop custom_* fields from plat_stmmacenet_data Both of these fields are unused and has been unused since they were added 3 and 5 years ago. Drop them since they are clearly not very useful. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1734befd0694c9e430d2c84445eceb6a7bbe1008 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:11 2015 +0200 stmmac: add proper probe function to dwmac-meson By using a few functions from stmmac_platform we can now create a proper probe function in this driver. By doing so we can drop the OF match data and simplify the overall driver. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4f8dfdedf1b1ff34a5e6ff71c9e80a1643a0622 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:10 2015 +0200 stmmac: add proper probe function to dwmac-lpc18xx By using a few functions from stmmac_platform we can now create a proper probe function in this driver. By doing so we can drop the OF match data and simplify the overall driver. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 402dae0bed98dd41c5d6ab321135e8568a54819e Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:09 2015 +0200 stmmac: export probe_config_dt() and get_platform_resources() Export stmmac_probe_config_dt() and stmmac_get_platform_resources() so they can be used in the dwmac-* drivers themselves. This will allow us to build more flexible and standalone drivers which just use stmmac_platform as a library for setup functions. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0003ead75f394f1c6f3b704be5da8e9eb029f8c Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:08 2015 +0200 stmmac: make stmmac_probe_config_dt return the platform data struct Since stmmac_probe_config_dt() allocates the platform data structure it is cleaner if it just returned this structure directly. This function will later be used in the probe function in dwmac-* drivers. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f396cb01210909ab2de0b50b76677892c1bfeb5a Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:07 2015 +0200 stmmac: introduce stmmac_get_platform_resources() Refactor all code that deals with platform resources into it's own get function. This function will later be used in the probe function in dwmac-* drivers. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ed2d8fca7979ad82d56b67ac83a50bba2dd3419 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:06 2015 +0200 stmmac: clean up platform/of_match data retrieval Refactor code to clearly separate probing non-dt versus dt. In the non-dt case platform data must be supplied to probe successfully. For dt the platform data structure is created and match data is copied into it. Note that support for supplying platform data in dt from AUXDATA is dropped as no users in mainline does this. This change will allow dt dwmac-* drivers to call the config_dt() function from probe to create the needed platform data struct and retrieve common dt properties. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0dacf3f664818ab1e3e0af8ef22a86c89f34d125 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:05 2015 +0200 stmmac: use of_device_get_match_data to retrieve of match data By using of_device_get_match_data() the code that retrieve match data can be simplified quite a bit. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7781e5d10a457b7e456c8193896c2141cdbf2ad4 Merge: 6acc232 d999297 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 20:41:16 2015 -0700 Merge branch 'tipc-separate-link-and-aggregation' Jon Maloy says: ==================== tipc: separate link and link aggregation layer This is the first batch of a longer series that has two main objectives: o Finer lock granularity during message sending and reception, especially regarding usage of the node spinlock. o Better separation between the link layer implementation and the link aggregation layer, represented by node.c::struct tipc_node. Hopefully these changes also make this part of code somewhat easier to comprehend and maintain. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d999297c3dbbe7fdd832f7fa4ec84301e170b3e6 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:31 2015 -0400 tipc: reduce locking scope during packet reception We convert packet/message reception according to the same principle we have been using for message sending and timeout handling: We move the function tipc_rcv() to node.c, hence handling the initial packet reception at the link aggregation level. The function grabs the node lock, selects the receiving link, and accesses it via a new call tipc_link_rcv(). This function appends buffers to the input queue for delivery upwards, but it may also append outgoing packets to the xmit queue, just as we do during regular message sending. The latter will happen when buffers are forwarded from the link backlog, or when retransmission is requested. Upon return of this function, and after having released the node lock, tipc_rcv() delivers/tranmsits the contents of those queues, but it may also perform actions such as link activation or reset, as indicated by the return flags from the link. This reduces the number of cpu cycles spent inside the node spinlock, and reduces contention on that lock. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a20cc254e60e79929ef7edb5cf784df86b46e42 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:30 2015 -0400 tipc: introduce node contact FSM The logics for determining when a node is permitted to establish and maintain contact with its peer node becomes non-trivial in the presence of multiple parallel links that may come and go independently. A known failure scenario is that one endpoint registers both its links to the peer lost, cleans up it binding table, and prepares for a table update once contact is re-establihed, while the other endpoint may see its links reset and re-established one by one, hence seeing no need to re-synchronize the binding table. To avoid this, a node must not allow re-establishing contact until it has confirmation that even the peer has lost both links. Currently, the mechanism for handling this consists of setting and resetting two state flags from different locations in the code. This solution is hard to understand and maintain. A closer analysis even reveals that it is not completely safe. In this commit we do instead introduce an FSM that keeps track of the conditions for when the node can establish and maintain links. It has six states and four events, and is strictly based on explicit knowledge about the own node's and the peer node's contact states. Only events leading to state change are shown as edges in the figure below. +--------------+ | SELF_UP/ | +---------------->| PEER_COMING |-----------------+ SELF_ | +--------------+ |PEER_ ESTBL_ | | |ESTBL_ CONTACT| SELF_LOST_CONTACT | |CONTACT | v | | +--------------+ | | PEER_ | SELF_DOWN/ | SELF_ | | LOST_ +--| PEER_LEAVING |<--+ LOST_ v +-------------+ CONTACT | +--------------+ | CONTACT +-----------+ | SELF_DOWN/ |<----------+ +----------| SELF_UP/ | | PEER_DOWN |<----------+ +----------| PEER_UP | +-------------+ SELF_ | +--------------+ | PEER_ +-----------+ | LOST_ +--| SELF_LEAVING/|<--+ LOST_ A | CONTACT | PEER_DOWN | CONTACT | | +--------------+ | | A | PEER_ | PEER_LOST_CONTACT | |SELF_ ESTBL_ | | |ESTBL_ CONTACT| +--------------+ |CONTACT +---------------->| PEER_UP/ |-----------------+ | SELF_COMING | +--------------+ Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a1577c96f122308ac9b5f195f9f9a7dd74ac541 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:29 2015 -0400 tipc: move link supervision timer to node level In our effort to move control of the links to the link aggregation layer, we move the perodic link supervision timer to struct tipc_node. The new timer is shared between all links belonging to the node, thus saving resources, while still kicking the FSM on both its pertaining links at each expiration. The current link timer and corresponding functions are removed. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 333ef69ed2121f535e00ceb26e095d3745584c6e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:28 2015 -0400 tipc: simplify link timer implementation We create a second, simpler, link timer function, tipc_link_timeout(). The new function makes use of the new FSM function introduced in the previous commit, and just like it, takes a buffer queue as parameter. It returns an event bit field and potentially a link protocol packet to the caller. The existing timer function, link_timeout(), is still needed for a while, so we redesign it to become a wrapper around the new function. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ab30f9cbe134d19559f48dc748587d036529aaf Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:27 2015 -0400 tipc: improve link FSM implementation The link FSM implementation is currently unnecessarily complex. It sometimes checks for conditional state outside the FSM data before deciding next state, and often performs actions directly inside the FSM logics. In this commit, we create a second, simpler FSM implementation, that as far as possible acts only on states and events that it is strictly defined for, and postpone any actions until it is finished with its decisions. It also returns an event flag field and an a buffer queue which may potentially contain a protocol message to be sent by the caller. Unfortunately, we cannot yet make the FSM "clean", in the sense that its decisions are only based on FSM state and event, and that state changes happen only here. That will have to wait until the activate/reset logics has been cleaned up in a future commit. We also rename the link states as follows: WORKING_WORKING -> TIPC_LINK_WORKING WORKING_UNKNOWN -> TIPC_LINK_PROBING RESET_UNKNOWN -> TIPC_LINK_RESETTING RESET_RESET -> TIPC_LINK_ESTABLISHING The existing FSM function, link_state_event(), is still needed for a while, so we redesign it to make use of the new function. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 426cc2b86d1813959497d608dcb52c32df2d448a Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:26 2015 -0400 tipc: introduce new link protocol msg create function As a preparation for later changes, we introduce a new function tipc_link_build_proto_msg(). Instead of actually sending the created protocol message, it only creates it and adds it to the head of a skb queue provided by the caller. Since we still need the existing function tipc_link_protocol_xmit() for a while, we redesign it to make use of the new function. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3504c3449fead545e5254bfb11da916f72c4734 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:25 2015 -0400 tipc: clean up definitions and usage of link flags The status flag LINK_STOPPED is not needed any more, since the mechanism for delayed deletion of links has been removed. Likewise, LINK_STARTED and LINK_START_EVT are unnecessary, because we can just as well start the link timer directly from inside tipc_link_create(). We eliminate these flags in this commit. Instead of the above flags, we now introduce three new link modes, TIPC_LINK_OPEN, TIPC_LINK_BLOCKED and TIPC_LINK_TUNNEL. The values indicate whether, and in the case of TIPC_LINK_TUNNEL, which, messages the link is allowed to receive in this state. TIPC_LINK_BLOCKED also blocks timer-driven protocol messages to be sent out, and any change to the link FSM. Since the modes are mutually exclusive, we convert them to state values, and rename the 'flags' field in struct tipc_link to 'exec_mode'. Finally, we move the #defines for link FSM states and events from link.h into enums inside the file link.c, which is the real usage scope of these definitions. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af9b028e270fda6fb812d70d17d902297df1ceb5 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:24 2015 -0400 tipc: make media xmit call outside node spinlock context Currently, message sending is performed through a deep call chain, where the node spinlock is grabbed and held during a significant part of the transmission time. This is clearly detrimental to overall throughput performance; it would be better if we could send the message after the spinlock has been released. In this commit, we do instead let the call revert on the stack after the buffer chain has been added to the transmission queue, whereafter clones of the buffers are transmitted to the device layer outside the spinlock scope. As a further step in our effort to separate the roles of the node and link entities we also move the function tipc_link_xmit() to node.c, and rename it to tipc_node_xmit(). Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22d85c79428b8ca9a01623aa3e3a1fe29a30a119 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:23 2015 -0400 tipc: change sk_buffer handling in tipc_link_xmit() When the function tipc_link_xmit() is given a buffer list for transmission, it currently consumes the list both when transmission is successful and when it fails, except for the special case when it encounters link congestion. This behavior is inconsistent, and needs to be corrected if we want to avoid problems in later commits in this series. In this commit, we change this to let the function consume the list only when transmission is successful, and leave the list with the sender in all other cases. We also modifiy the socket code so that it adapts to this change, i.e., purges the list when a non-congestion error code is returned. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36e78a463b26c9b8017a2e11dcd6c4b8e34b4161 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:22 2015 -0400 tipc: use bearer index when looking up active links struct tipc_node currently holds two arrays of link pointers; one, indexed by bearer identity, which contains all links irrespective of current state, and one two-slot array for the currently active link or links. The latter array contains direct pointers into the elements of the former. This has the effect that we cannot know the bearer id of a link when accessing it via the "active_links[]" array without actually dereferencing the pointer, something we want to avoid in some cases. In this commit, we do instead store the bearer identity in the "active_links" array, and use this as an index to find the right element in the overall link entry array. This change should be seen as a preparation for the later commits in this series. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d39bbd445dc44259c77bbbc8aadcce7dcdba39cc Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:21 2015 -0400 tipc: move link input queue to tipc_node At present, the link input queue and the name distributor receive queues are fields aggregated in struct tipc_link. This is a hazard, because a link might be deleted while a receiving socket still keeps reference to one of the queues. This commit fixes this bug. However, rather than adding yet another reference counter to the critical data path, we move the two queues to safe ground inside struct tipc_node, which is already protected, and let the link code only handle references to the queues. This is also in line with planned later changes in this area. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3a43b907ae688af6cb753c53cd7de05f3c1ba85 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:20 2015 -0400 tipc: move link creation from neighbor discoverer to node As a step towards turning links into node internal entities, we move the creation of links from the neighbor discovery logics to the node's link control logics. We also create an additional entry for the link's media address in the newly introduced struct tipc_link_entry, since this is where it is needed in the upcoming commits. The current copy in struct tipc_link is kept for now, but will be removed later. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9d13ec65ede775f896c3da1cfa35283afe2f796c Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:19 2015 -0400 tipc: introduce link entry structure to struct tipc_node struct 'tipc_node' currently contains two arrays for link attributes, one for the link pointers, and one for the usable link MTUs. We now group those into a new struct 'tipc_link_entry', and intoduce one single array consisting of such enties. Apart from being a cosmetic improvement, this is a starting point for the strict master-slave relation between node and link that we will introduce in the following commits. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6acc23266054a9969737b435fa012f87465dbc50 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Jul 16 21:50:50 2015 +0200 net: remove skb_frag_add_head It's not used anywhere. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c93bf928fea22c61f6b5c04786b325c9bfbc0462 Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Sun Jul 12 17:52:24 2015 +0800 ftrace: Format MCOUNT_ADDR address as type unsigned long Always we use type unsigned long to format the ip address, since the value of ip address is never the negative. This patch uses type unsigned long, instead of long, to format the ip address. The code is more clearly to be viewed by using type unsigned long, although it is correct by using either unsigned long or long. Link: http://lkml.kernel.org/r/1436694744-16747-1-git-send-email-mhuang@xxxxxxxxxx Cc: Minfei Huang <mnfhuang@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit b838e1d96c613019095ba008afbee800977b0582 Author: Jungseok Lee <jungseoklee85@xxxxxxxxx> Date: Sat Jul 11 14:51:40 2015 +0000 tracing: Introduce two additional marks for delay A fine granulity support for delay would be very useful when profiling VM logics, such as page allocation including page reclaim and memory compaction with function graph. Thus, this patch adds two additional marks with two changes. - An equal sign in mark selection function is removed to align code behavior with comments and documentation. - The function graph example related to delay in ftrace.txt is updated to cover all supported marks. Link: http://lkml.kernel.org/r/1436626300-1679-3-git-send-email-jungseoklee85@xxxxxxxxx Cc: Byungchul Park <byungchul.park@xxxxxxx> Signed-off-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 82c355e81afbf16bc1ab379899a79eb66e2b7504 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Jul 16 21:58:52 2015 -0400 ftrace: Fix function_graph duration spacing with 7-digits Jungseok Lee noticed the following: Currently, row's width of 7-digit duration numbers not aligned with other cases like the following example. 3) $ 3999884 us | } 3) | finish_task_switch() { 3) 0.365 us | _raw_spin_unlock_irq(); 3) 3.333 us | } 3) $ 3999976 us | } 3) $ 3999979 us | } /* schedule */ As adding a single white space in case of 7-digit numbers, the format could be unified easily as follows. 3) $ 2237472 us | } 3) | finish_task_switch() { 3) 0.364 us | _raw_spin_unlock_irq(); 3) 3.125 us | } 3) $ 2237556 us | } 3) $ 2237559 us | } /* schedule */ Instead of making a special case for 7-digit numbers, the logic of the len and the space loop is slightly modified to make the two cases have the same format. Link: http://lkml.kernel.org/r/1436626300-1679-2-git-send-email-jungseoklee85@xxxxxxxxx Reported-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8e436ca042d904533a1e14fdc85f0facdfca752f Author: Umesh Tiwari <umesh.t@xxxxxxxxxxx> Date: Mon Jun 22 16:58:08 2015 +0530 ftrace: add tracing_thresh to function profile This patch extends tracing_thresh functionality to function profile tracer. If tracing_thresh is set, print those entries only, whose average is > tracing thresh. Link: http://lkml.kernel.org/r/1434972488-8571-1-git-send-email-umesh.t@xxxxxxxxxxx Signed-off-by: Umesh Tiwari <umesh.t@xxxxxxxxxxx> [ Removed unnecessary 'moved' comment ] Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 72ac426a5bb0cec572d26b4456f8c1e14601694e Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Jul 16 13:24:54 2015 -0400 tracing: Clean up stack tracing and fix fentry updates Akashi Takahiro was porting the stack tracer to arm64 and found some issues with it. One was that it repeats the top function, due to the stack frame added by the mcount caller and added by itself. This was added when fentry came in, and before fentry created its own stack frame. But x86's fentry now creates its own stack frame, and there's no need to insert the function again. This also cleans up the code a bit, where it doesn't need to do something special for fentry, and doesn't include insertion of a duplicate entry for the called function being traced. Link: http://lkml.kernel.org/r/55A646EE.6030402@xxxxxxxxxx Some-suggestions-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Some-suggestions-by: Mark Rutland <mark.rutland@xxxxxxx> Reported-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit d90fd77402d3de56a9ca3df04e5d868d0979dc59 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri May 29 12:12:27 2015 -0400 ring-buffer: Reorganize function locations Functions in ring-buffer.c have gotten interleaved between different use cases. Move the functions around to get like functions closer together. This may or may not help gcc keep cache locality, but it makes it a little easier to work with the code. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 7d75e6833b579adb3de2c7b917de1204eeafea47 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri May 29 10:29:10 2015 -0400 ring-buffer: Make sure event has enough room for extend and padding Now that events only add time extends after it is committed, in case an event comes in before it can discard the allocated event, the time extend needs to be stored within the event. If the event is bigger than then size needed for the time extend, padding must be added. The minimum padding size is 8 bytes. Thus if the event is 12 bytes (size of time extend + 4), there will not be enough room to add both the time extend and padding. Make sure all events are either 8 bytes or 16 or more bytes. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit a4543a2fa9ef31d6d0f854a4e14f8f82e7996d8d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri May 29 09:40:18 2015 -0400 ring-buffer: Get timestamp after event is allocated Move the capturing of the timestamp to after an event is allocated. If the event is not a commit (where it is an event that preempted another event), then no timestamp is needed, because the delta of nested events is always zero. If the event starts on a new page, no delta needs to be calculated as the full timestamp will be added to the page header, and the event will have a delta of zero. Now if the event requires a time extend (the delta does not fit in the 27 bit delta slot in the header), then the event is discarded, the length is extended to hold the TIME_EXTEND event that allows for a 59 bit delta, and the commit is tried again. If the event can't be discarded (another event came in after it), then the TIME_EXTEND is added directly to the allocated event and the rest of the event is given padding. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 9826b2733a4399149072058a11f611357479229d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu May 28 17:36:45 2015 -0400 ring-buffer: Move the adding of the extended timestamp out of line Requiring a extended time stamp is an uncommon occurrence, and it is best to do it out of line when needed. Add a noinline function that handles the extended timestamp and have it called with an unlikely to completely move it out of the fast path. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit fcc742eaad7cbcbbb2a96edc8f1d22adbaa804cb Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu May 28 17:13:14 2015 -0400 ring-buffer: Add event descriptor to simplify passing data Add rb_event_info descriptor to pass event info to functions a bit easier than using a bunch of parameters. This will also allow for changing the code around a bit to find better fast paths. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 5e2d5ef8ec1e3854daec41a3697a8d2ce05ff2ef Author: Umesh Tiwari <umesh.t@xxxxxxxxxxx> Date: Mon Jun 22 16:55:06 2015 +0530 ftrace: correct the counter increment for trace_buffer data In ftrace_dump, for disabling buffer, iter.tr->trace_buffer.data is used. But for enabling, iter.trace_buffer->data is used. Even though, both point to same buffer, for readability, same convention should be used. Link: http://lkml.kernel.org/r/1434972306-20043-1-git-send-email-umesh.t@xxxxxxxxxxx Signed-off-by: Umesh Tiwari <umesh.t@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 72917235fd5f08638be1d52dcdb0fee3ce2cc95f Author: Gil Fruchter <gilf@xxxxxxxxxx> Date: Tue Jun 9 10:32:35 2015 +0300 tracing: Fix for non-continuous cpu ids Currently exception occures due to access beyond buffer_iter range while using index of cpu bigger than num_possible_cpus(). Below there is an example for such exception when we use cpus 0,1,16,17. In order to fix buffer allocation size for non-continuous cpu ids we allocate according to the max cpu id and not according to the amount of possible cpus. Example: $ cat /sys/kernel/debug/tracing/per_cpu/cpu1/trace Path: /bin/busybox CPU: 0 PID: 82 Comm: cat Not tainted 4.0.0 #29 task: 80734c80 ti: 80012000 task.ti: 80012000 [ECR ]: 0x00220100 => Invalid Read @ 0x00000000 by insn @ 0x800abafc [EFA ]: 0x00000000 [BLINK ]: ring_buffer_read_finish+0x24/0x64 [ERET ]: rb_check_pages+0x20/0x188 [STAT32]: 0x00001a00 : BTA: 0x800abafc SP: 0x80013f0c FP: 0x57719cf8 LPS: 0x200036b4 LPE: 0x200036b8 LPC: 0x00000000 r00: 0x8002aca0 r01: 0x00001606 r02: 0x00000000 r03: 0x00000001 r04: 0x00000000 r05: 0x804b4954 r06: 0x00030003 r07: 0x8002a260 r08: 0x00000286 r09: 0x00080002 r10: 0x00001006 r11: 0x807351a4 r12: 0x00000001 Stack Trace: rb_check_pages+0x20/0x188 ring_buffer_read_finish+0x24/0x64 tracing_release+0x4e/0x170 __fput+0x62/0x158 task_work_run+0xa2/0xd4 do_notify_resume+0x52/0x7c resume_user_mode_begin+0xdc/0xe0 Link: http://lkml.kernel.org/r/1433835155-6894-3-git-send-email-gilf@xxxxxxxxxx Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: Gil Fruchter <gilf@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 9fe6b778ca93e6171dbb8e54df557a278a91abea Author: Gil Fruchter <gilf@xxxxxxxxxx> Date: Tue Jun 9 10:32:34 2015 +0300 tracing: Prefer kcalloc over kzalloc with multiply Use kcalloc for allocating an array instead of kzalloc with multiply, as that is what kcalloc is used for. Found with checkpatch. Link: http://lkml.kernel.org/r/1433835155-6894-2-git-send-email-gilf@xxxxxxxxxx Signed-off-by: Gil Fruchter <gilf@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 79cd95200035fb4b39b089dd01c13302eee6ee03 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue May 12 17:05:32 2015 +1000 powerpc/eeh: Dump PHB diag-data for non-existing PE When detecting EEH error on non-existing PE, including the reserved one, the PE is simply unfrozen without dumping the PHB diag-data, which is useful for locating the root cause of the EEH error. The patch dumps the PHB diag-data when non-existing PE reports error. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0f36db77643b6fb573313d97fa076903de6a34d6 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue May 12 17:05:22 2015 +1000 powerpc/eeh: Fix wrong printed PE number On LE kernel, the non-existing PE number in BE format derived from skiboot firmware isn't converted to LE format properly as following kernel log indicates: EEH: Clear non-existing PHB#4-PE#200000000000000 Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2476c09f391eddb546a73fef9f6ab86886a9f2b1 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 08:28:43 2015 +0530 powerpc/signal: Add helper function to fetch quad word aligned pointer This patch adds one helper function 'sigcontext_vmx_regs' which computes quad word aligned pointer for 'vmx_reserve' array element in sigcontext structure making the code more readable. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Reword comment and fix build for CONFIG_ALTIVEC=n] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bd265242c10afa6c99c46b13ad087238d750fdb4 Merge: 8254973 a48037e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 18:32:45 2015 -0700 Merge branch 'offload_fwd_mark' Scott Feldman says: ==================== switchdev: avoid duplicate packet forwarding v3: - Per Nicolas Dichtel review: remove errant empty union. v2: - Per davem review: in sk_buff, union fwd_mark with secmark to save space since features appear to be mutually exclusive. - Per Simon Horman review: - fix grammar in switchdev.txt wrt fwd_mark - remove some unrelated changes that snuck in v1: This patchset was previously submitted as RFC. No changes from the last version (v2) sent under RFC. Including RFC version history here for reference. RFC v2: - s/fwd_mark/offload_fwd_mark - use consume_skb rather than kfree_skb when dropping pkt on egress. - Use Jiri's suggestion to use ifindex of one of the ports in a group as the mark for all the ports in the group. This can be done with no additional storage (no hashtable from v1). To pull it off, we need some simple recursive routines to walk the netdev tree ensuring all leaves in the tree (ports) in the same group (e.g. bridge) belonging to the same switch device will have the same offload fwd mark. Maybe someone sees a better design for the recusive routines? They're not too bad, and should cover the stacked driver cases. RFC v1: With switchdev support for offloading L2/L3 forwarding data path to a switch device, we have a general problem where both the device and the kernel may forward the packet, resulting in duplicate packets on the wire. Anytime a packet is forwarded by the device and a copy is sent to the CPU, there is potential for duplicate forwarding, as the kernel may also do a forwarding lookup and send the packet on the wire. The specific problem this patch series is interested in solving is avoiding duplicate packets on bridged ports. There was a previous RFC from Roopa (http://marc.info/?l=linux-netdev&m=142687073314252&w=2) to address this problem, but didn't solve the problem of mixed ports in the bridge from different devices; there was no way to exclude some ports from forwarding and include others. This RFC solves that problem by tagging the ingressing packet with a unique mark, and then comparing the packet mark with the egress port mark, and skip forwarding when there is a match. For the mixed ports bridge case, only those ports with matching marks are skipped. The switchdev port driver must do two things: 1) Generate a fwd_mark for each switch port, using some unique key of the switch device (and optionally port). This is done when the port netdev is registered or if the port's group membership changes (joins/leaves a bridge, for example). 2) On packet ingress from port, mark the skb with the ingress port's fwd_mark. If the device supports it, it's useful to only mark skbs which were already forwarded by the device. If the device does not support such indication, all skbs can be marked, even if they're local dst. Two new 32-bit fields are added to struct sk_buff and struct netdevice to hold the fwd_mark. I've wrapped these with CONFIG_NET_SWITCHDEV for now. I tried using skb->mark for this purpose, but ebtables can overwrite the skb->mark before the bridge gets it, so that will not work. In general, this fwd_mark can be used for any case where a packet is forwarded by the device and a copy is sent to the CPU, to avoid the kernel re-forwarding the packet. sFlow is another use-case that comes to mind, but I haven't explored the details. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a48037e7c6c25436912f78f48cdbb75a710b7aa9 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sat Jul 18 18:24:52 2015 -0700 switchdev: update documentation for offload_fwd_mark Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f98a8e636757ce404f305d65dc93e9366112886 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sat Jul 18 18:24:51 2015 -0700 rocker: add offload_fwd_mark support If device flags ingress packet as "fwd offload", mark the skb->offlaod_fwd_mark using the ingress port's dev->offlaod_fwd_mark. This will be the hint to the kernel that this packet has already been forwarded by device to egress ports matching skb->offlaod_fwd_mark. For rocker, derive port dev->offlaod_fwd_mark based on device switch ID and port ifindex. If port is bridged, use the bridge ifindex rather than the port ifindex. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a3b2ec93d4277b121979321b4024b438cb09504 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sat Jul 18 18:24:50 2015 -0700 switchdev: add offload_fwd_mark generator helper skb->offload_fwd_mark and dev->offload_fwd_mark are 32-bit and should be unique for device and may even be unique for a sub-set of ports within device, so add switchdev helper function to generate unique marks based on port's switch ID and group_ifindex. group_ifindex would typically be the container dev's ifindex, such as the bridge's ifindex. The generator uses a global hash table to store offload_fwd_marks hashed by {switch ID, group_ifindex} key. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d754f98b502ad9a8c7570d494e1eaa0e6bc0350c Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sat Jul 18 18:24:49 2015 -0700 net: add phys ID compare helper to test if two IDs are the same Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c4f691ff6791e55ac831666df0b49b1679c56e4 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sat Jul 18 18:24:48 2015 -0700 net: don't reforward packets already forwarded by offload device Just before queuing skb for xmit on port, check if skb has been marked by switchdev port driver as already fordwarded by device. If so, drop skb. A non-zero skb->offload_fwd_mark field is set by the switchdev port driver/device on ingress to indicate the skb has already been forwarded by the device to egress ports with matching dev->skb_mark. The switchdev port driver would assign a non-zero dev->offload_skb_mark for each device port netdev during registration, for example. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8254973fa3459b512b6c0cd5b0e4641e4d7c048c Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Thu Jul 16 10:39:14 2015 +0900 rocker: forward packets to CPU when port is joined to openvswitch Teach rocker to forward packets to CPU when a port is joined to Open vSwitch. There is scope to later refine what is passed up as per Open vSwitch flows on a port. This does not change the behaviour of rocker ports that are not joined to Open vSwitch. Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7ce45a74bedd0ed80b956b3e14f8bc6dec85327 Author: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx> Date: Mon Jul 20 23:03:45 2015 +0200 bridge: mcast: fix br_multicast_dev_del warn when igmp snooping is not defined Fix: net/bridge/br_if.c: In function 'br_dev_delete': >> net/bridge/br_if.c:284:2: error: implicit declaration of function >> 'br_multicast_dev_del' [-Werror=implicit-function-declaration] br_multicast_dev_del(br); ^ cc1: some warnings being treated as errors when igmp snooping is not defined. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bc384ae6299d3f3a948efabda2a423e2a293ee0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jul 18 11:31:03 2015 +0530 cpufreq: propagate errors returned from __cpufreq_governor() Return codes aren't honored properly in cpufreq_set_policy(). This can lead to two problems: - wrong errors propagated to sysfs - we try to do next state-change even if the previous one failed cpufreq_governor_dbs() now returns proper errors on all invalid state-transition requests and this code should honor that. Reviewed-and-tested-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 871ef3b53a2f4dd9be348c07b77df3c4bd74a37f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jul 18 11:31:02 2015 +0530 cpufreq: governor: Don't WARN on invalid states With previous commit, governors have started to return errors on invalid state-transition requests. We already have a WARN for an invalid state-transition request in cpufreq_governor_dbs(). This does trigger today, as the sequence of events isn't guaranteed by cpufreq core. Lets stop warning on that for now, and make sure we don't enter an invalid state. Reviewed-and-tested-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a72c49590a1f9e5d26a71c3f807dbb8958c93513 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jul 18 11:31:01 2015 +0530 cpufreq: governor: Avoid invalid states with additional checks There can be races where the request has come to a wrong state. For example INIT followed by STOP (instead of START) or START followed by EXIT (instead of STOP). Address these races by making sure the state-machine never gets into any invalid state. Also return an error if an invalid state-transition is requested. Reviewed-and-tested-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 43e0ee361e96229959c2ce1eda1ad9d6b3c191b2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jul 18 11:31:00 2015 +0530 cpufreq: governor: split out common part of {cs|od}_dbs_timer() Some part of cs_dbs_timer() and od_dbs_timer() is exactly same and is unnecessarily duplicated. Create the real work-handler in cpufreq_governor.c and put the common code in this routine (dbs_timer()). Shouldn't make any functional change. Reviewed-and-tested-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 44152cb82d1ad6ae6f8b47c5437f6f1e65ca82c4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jul 18 11:30:59 2015 +0530 cpufreq: governor: Keep single copy of information common to policy->cpus Some information is common to all CPUs belonging to a policy, but are kept on per-cpu basis. Lets keep that in another structure common to all policy->cpus. That will make updates/reads to that less complex and less error prone. The memory for cpu_common_dbs_info is allocated/freed at INIT/EXIT, so that it we don't reallocate it for STOP/START sequence. It will be also be used (in next patch) while the governor is stopped and so must not be freed that early. Reviewed-and-tested-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8ce344c66e3ce122585cfe68be1ef0ffd176380d Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Jul 19 18:50:38 2015 +0200 ACPI / processor: remove leftover __refdata annotations The processor_handler structure does not reference any __init / __exit code or data. Therefore the __refdata annotation is not needed. It used to be prior to commit fe7bf106ebc2 ("acpi: delete __cpuinit usage from all acpi files") due to the __cpuinit annotation of acpi_processor_add(). But with that commit in place that requirement has gone. The same is true for the acpi_cpu_notifier notifier block. acpi_cpu_soft_notify() used to be marked __cpuinit but lost its annotation in the above mentioned commit as well. Therefore the __refdata annotation isn't needed there either. Just drop the unneded __refdata annotations to be able to catch future section mismatches. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9962eea9e55f797f05f20ba6448929cab2a9f018 Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Sun Jul 12 20:18:42 2015 +0800 x86/mm: Initialize pmd_idx in page_table_range_init_count() The variable pmd_idx is not initialized for the first iteration of the for loop. Assign the proper value which indexes the start address. Fixes: 719272c45b82 'x86, mm: only call early_ioremap_page_table_range_init() once' Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Cc: tony.luck@xxxxxxxxx Cc: wangnan0@xxxxxxxxxx Cc: david.vrabel@xxxxxxxxxx Reviewed-by: yinghai@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436703522-29552-1-git-send-email-mhuang@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d2f3f5d2e9cae6e73f9642a5ddc8c8a07c35e79b Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Tue Jul 7 01:55:53 2015 -0700 perf bench futex: Add lock_pi stresser Allows a way of measuring low level kernel implementation of FUTEX_LOCK_PI and FUTEX_UNLOCK_PI. The program comes in two flavors: (i) single futex (default), all threads contend on the same uaddr. For the sake of the benchmark, we call into kernel space even when the lock is uncontended. The kernel will set it to TID, any waters that come in and contend for the pi futex will be handled respectively by the kernel. (ii) -M option for multiple futexes, each thread deals with its own futex. This is a trivial scenario and only measures kernel handling of 0->TID transition. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Link: http://lkml.kernel.org/r/1436259353.12255.78.camel@xxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 52c0a18b9010fb19d10889e8a00aa784197d357c Author: Sergei Trofimovich <siarheit@xxxxxxxxxx> Date: Sun Jul 19 10:30:05 2015 +0100 perf tools: Fix makefile generation under dash Under dash 'echo -n' yields '-n' to stdout. Use printf "" instead. Signed-off-by: Sergei Trofimovich <siarheit@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437298205-29305-1-git-send-email-siarheit@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d77fac7f9e687d137b17296d86d9143c2cccab6a Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Jul 15 18:14:28 2015 +0900 perf buildid: Use SBUILD_ID_SIZE macro Introduce SBUILD_ID_SIZE macro and use it instead of using BUILD_ID_SIZE * 2 + 1. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150715091428.8915.75265.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 92f6c72e7ac40cbf8d12682d1aeeb82c905f2a64 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Jul 15 18:14:07 2015 +0900 perf probe: Move ftrace probe-event operations to probe-file.c Move ftrace probe-event operations to probe-file.c from probe-event.c. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150715091407.8915.14316.stgit@xxxxxxxxxxxxxxxxxxxxx [ Fixed up strlist__new() calls wrt 4a77e2183fc0 ("perf strlist: Make dupstr be the...") ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a3c9de6280b8d196ab89ca7fad143bfa2a949790 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Jul 15 18:14:00 2015 +0900 perf probe: Simplify __add_probe_trace_events code Simplify the __add_probe_trace_events() code by taking out the probe_trace_event__set_name() and updating show_perf_probe_event() Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150715091400.8915.85501.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4ba1faa19fa5f415bd69b1d7c366028332468bca Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Jul 10 07:36:10 2015 +0000 perf record: Allow filtering perf's pid via --exclude-perf This patch allows 'perf record' to exclude events issued by perf itself by '--exclude-perf' option. Before this patch, when doing something like: # perf record -a -e syscalls:sys_enter_write <cmd> One could easily get result like this: # /tmp/perf report --stdio ... # Overhead Command Shared Object Symbol # ........ ....... .................. .................... # 99.99% perf libpthread-2.18.so [.] __write_nocancel 0.01% ls libc-2.18.so [.] write 0.01% sshd libc-2.18.so [.] write ... Where most events are generated by perf itself. A shell trick can be done to filter perf itself out: # cat << EOF > ./tmp > #!/bin/sh > exec perf record -e ... --filter="common_pid != \$\$" -a sleep 10 > EOF # chmod a+x ./tmp # ./tmp However, doing so is user unfriendly. This patch extracts evsel iteration framework introduced by patch 'perf record: Apply filter to all events in a glob matching' into foreach_evsel_in_last_glob(), and makes exclude_perf() function append new filter expression to each evsel selected by a '-e' selector. To avoid losing filters if user pass '--filter' after '--exclude-perf', this patch uses perf_evsel__append_filter() in both case, instead of perf_evsel__set_filter() which removes old filter. As a side effect, now it is possible to use multiple '--filter' option for one selector. They are combinded with '&&'. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1436513770-8896-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cd871d517d46f26943f3c8f61c0d2ac6665da6a2 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 11:23:13 2015 -0500 ARM: socfpga: add reset for the Arria 10 platform Since the Arria10's reset register offset is different from the Cyclone/Arria 5, it's best to add a new DT_MACHINE_START() for the Arria10. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> --- v2: use altera_a10_dt_match for the A10 machine desc commit ed15e8880fc3d8d52bc02a02521054bfcb26264a Merge: b8d1f26 52721d9 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 13:21:28 2015 -0700 Merge 4.2-rc3 into staging-next We need the staging fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0a9f33bdf8bf9061c31faab46d8eb46ff644622 Author: Phil Sutter <phil@xxxxxx> Date: Wed Jul 15 21:56:26 2015 +0200 net/ipv6: update flowi6_oif in ip6_dst_lookup_flow if not set Newly created flows don't have flowi6_oif set (at least if the associated socket is not interface-bound). This leads to a mismatch in __xfrm6_selector_match() for policies which specify an interface in the selector (sel->ifindex != 0). Backtracing shows this happens in code-paths originating from e.g. ip6_datagram_connect(), rawv6_sendmsg() or tcp_v6_connect(). (UDP was not tested for.) In summary, this patch fixes policy matching on outgoing interface for locally generated packets. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22f94e625635fb8555f5e7361745ea780a3853e4 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 16:31:09 2015 +0200 bonding: trivial: remove unused variables Get rid of these: drivers/net/bonding//bond_main.c: In function â??bond_update_slave_arrâ??: drivers/net/bonding//bond_main.c:3754:6: warning: variable â??slaves_in_aggâ?? set but not used [-Wunused-but-set-variable] int slaves_in_agg; ^ CC [M] drivers/net/bonding//bond_3ad.o drivers/net/bonding//bond_3ad.c: In function â??ad_marker_response_receivedâ??: drivers/net/bonding//bond_3ad.c:1870:61: warning: parameter â??markerâ?? set but not used [-Wunused-but-set-parameter] static void ad_marker_response_received(struct bond_marker *marker, ^ drivers/net/bonding//bond_3ad.c:1871:19: warning: parameter â??portâ?? set but not used [-Wunused-but-set-parameter] struct port *port) ^ Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b1d0d8f52533f84cd5c8362e3b7786df80a1238 Merge: 03b6dc7 e10177a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 12:49:11 2015 -0700 Merge branch 'bridge-temp-and-perm' Nikolay Aleksandrov says: ==================== bridge: multicast: temp and perm entries behaviour enhancements Patch 01 adds a notify when a group is deleted via br_multicast_del_pg() (on expire, on device delete or on device down). Patch 02 changes how bridge device and bridge port delete and down/up are handled. Until now on bridge down all groups were flushed, now only the temp ones are (same for port), perm entries are flushed only on port or bridge removal. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e10177abf842d0c40dfecc43bd57a0a762a2fccf Author: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 07:16:51 2015 -0700 bridge: multicast: fix handling of temp and perm entries When the bridge (or port) is brought down/up flush only temp entries and leave the perm ones. Flush perm entries only when deleting the bridge device or the associated port. Signed-off-by: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef8299de7e2bf61ed24d1da699fa5ba13549d5f8 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 07:16:50 2015 -0700 bridge: multicast: notify on group delete Group notifications were not sent when a group expired or was deleted due to bridge/port device being deleted. So add br_mdb_notify() to br_multicast_del_pg(). Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d285a7f35b55c8fba346306ad3eb174c4f7eab1 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Jul 21 01:40:45 2015 +0800 futex: Make should_fail_futex() static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: kbuild-all@xxxxxx Cc: tipbuild@xxxxxxxxx Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Darren Hart <darren@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Brian Silverman <bsilver16384@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 03b6dc7d172fb46891d25e6cff43bd5762a918c1 Merge: d9382bd 8d20aab Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 12:41:30 2015 -0700 Merge branch 'bpf_cgroup_classid' Daniel Borkmann says: ==================== BPF update This small helper allows for accessing net_cls cgroups classid. Please see individual patches for more details. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d20aabe1c76cccac544d9fcc3ad7823d9e98a2d Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Jul 15 14:21:42 2015 +0200 ebpf: add helper to retrieve net_cls's classid cookie It would be very useful to retrieve the net_cls's classid from an eBPF program to allow for a more fine-grained classification, it could be directly used or in conjunction with additional policies. I.e. docker, but also tooling such as cgexec, can easily run applications via net_cls cgroups: cgcreate -g net_cls:/foo echo 42 > foo/net_cls.classid cgexec -g net_cls:foo <prog> Thus, their respecitve classid cookie of foo can then be looked up on the egress path to apply further policies. The helper is desigend such that a non-zero value returns the cgroup id. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b87a173e25d6bf5c26f13d329cdddf57dbd4061a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Jul 15 14:21:41 2015 +0200 cls_cgroup: factor out classid retrieval Split out retrieving the cgroups net_cls classid retrieval into its own function, so that it can be reused later on from other parts of the traffic control subsystem. If there's no skb->sk, then the small helper returns 0 as well, which in cls_cgroup terms means 'could not classify'. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9382bda4ef97d73c77ecaed7a8d5df20da8b8dd Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Wed Jul 15 15:34:40 2015 +0530 enic: allow adaptive coalesce setting for msi/legacy intr * Allow setting of adaptive coalescing setting for all types of interrupt. * In msi & legacy intr, we use single interrupt for rx & tx. In this case tx_coalesce_usecs is invalid. We should use only rx_coalesce_usecs. Do not display tx_coal values for msi/intx. And do not allow user to set this as well. * Driver supports only tx/rx_coalesce_usec and adaptive coalesce settings. For other values, driver does not return error. So ethtool succeeds for unsupported values. Introduce enic_coalesce_valid() function to validate the coalescing values. * If user requests for coalesce value greater than what adaptor supports, driver uses the max value. We should at least log this. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc865d6b4a6b58db8497ac2cf188ad20a5cec00c Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Wed Jul 15 15:34:39 2015 +0530 enic: add adaptive coalescing intr for intx and msi poll Adaptive interrupt coalescing is available for msix. This patch adds the support for msi poll. Interface for adaptive interrupt coalescing is already added in driver. We just did not enable it for legacy intr & msi. enic_calc_int_moderation() & enic_set_int_moderation() are defined as static after enic_poll. Since enic_poll needs it, move both of these function definitions above enic_poll. No change in functionality. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a37749143ecef6414cf125515fc2a04a46d8f39 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 20 12:09:16 2015 -0700 arm64: fix Kconfig include path They're not relative. My builder failed silently and never notified me of the error. Sigh. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 31193fe5f6fb616711323f5d74ee5bb92aacba4a Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Thu Jul 9 16:45:37 2015 -0400 svcrdma: Remove svc_rdma_fastreg() Commit 0bf4828983df ("svcrdma: refactor marshalling logic") removed the last call site for svc_rdma_fastreg(). Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 10dc4512185741a298cd7bc87e9968944f31a50d Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Thu Jul 9 16:45:28 2015 -0400 svcrdma: Clean up svc_rdma_get_reply_array() Kernel coding conventions frown upon having large nontrivial functions in header files, and the preference these days is to allow the compiler to make inlining decisions if possible. As these functions are re-homed into a .c file, be sure that comparisons with fields in struct rpcrdma_msg are with be32 constants. This is a refactoring change; no behavior change is intended. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9d11b51ce7c150a69e761e30518f294fc73d55ff Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Thu Jul 9 16:45:18 2015 -0400 svcrdma: Fix send_reply() scatter/gather set-up The Linux NFS server returns garbage in the data payload of inline NFS/RDMA READ replies. These are READs of under 1000 bytes or so where the client has not provided either a reply chunk or a write list. The NFS server delivers the data payload for an NFS READ reply to the transport in an xdr_buf page list. If the NFS client did not provide a reply chunk or a write list, send_reply() is supposed to set up a separate sge for the page containing the READ data, and another sge for XDR padding if needed, then post all of the sges via a single SEND Work Request. The problem is send_reply() does not advance through the xdr_buf when setting up scatter/gather entries for SEND WR. It always calls dma_map_xdr with xdr_off set to zero. When there's more than one sge, dma_map_xdr() sets up the SEND sge's so they all point to the xdr_buf's head. The current Linux NFS/RDMA client always provides a reply chunk or a write list when performing an NFS READ over RDMA. Therefore, it does not exercise this particular case. The Linux server has never had to use more than one extra sge for building RPC/RDMA replies with a Linux client. However, an NFS/RDMA client _is_ allowed to send small NFS READs without setting up a write list or reply chunk. The NFS READ reply fits entirely within the inline reply buffer in this case. This is perhaps a more efficient way of performing NFS READs that the Linux NFS/RDMA client may some day adopt. Fixes: b432e6b3d9c1 ('svcrdma: Change DMA mapping logic to . . .') BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=285 Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ff79c74dcace8fec62706d0bef00b6680b477fdb Author: Shirley Ma <shirley.ma@xxxxxxxxxx> Date: Thu Jul 9 16:45:08 2015 -0400 NFS/RDMA Release resources in svcrdma when device is removed When removing underlying RDMA device, the rmmod will hang forever if there are any outstanding NFS/RDMA client mounts. The outstanding NFS/RDMA counts could also prevent the server from shutting down. Further debugging shows that the existing connections are not teared down and resource are not released when receiving RDMA_CM_EVENT_DEVICE_REMOVAL event. It seems the original code missing svc_xprt_put() in RDMA_CM_EVENT_REMOVAL event handler thus svc_xprt_free is never invoked to release the existing connection resources. The patch has been passed removing, adding device back and forth without stopping NFS/RDMA service. This will also allow a device to be unplugged and swapped out without shutting down NFS service. BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=252 Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7b8f4586532f36c5541a15d072576e7e89a5df75 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Jul 3 19:39:02 2015 +0800 nfsd: Add macro NFS_ACL_MASK for ACL Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e446d66dd77fa8fbb505a9940bf637649c9b45f2 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Jul 3 19:36:14 2015 +0800 nfsd: Remove duplicate define of IDMAP_NAMESZ/IDMAP_TYPE_xx Just using the macro defined in nfs_idmap.h. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit faf996a654ac60983a24a9cdc5e0f3324e8a2b32 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Jul 3 19:34:53 2015 +0800 nfsd: Drop including client's header file nfs_fs.h nfs_fs.h is a client's header file. # ll fs/nfsd/nfs4acl.o fs/nfsd/nfsd.ko -rw-r--r--. 1 root root 328248 Jul 3 19:26 fs/nfsd/nfs4acl.o -rw-r--r--. 1 root root 7452016 Jul 3 19:26 fs/nfsd/nfsd.ko After this patch, # ll fs/nfsd/nfs4acl.o fs/nfsd/nfsd.ko -rw-r--r--. 1 root root 150872 Jul 3 19:15 fs/nfsd/nfs4acl.o -rw-r--r--. 1 root root 7273792 Jul 3 19:23 fs/nfsd/nfsd.ko Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit d8398fc11762d162b2e7b0f368278449899cfbdf Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Jul 7 10:12:03 2015 +0800 nfsd: Set lc_size_chg before ops->proc_layoutcommit After proc_layoutcommit success, i_size_read(inode) always >= new_size. Just set lc_size_chg before proc_layoutcommit, if proc_layoutcommit failed, nfsd will skip the lc_size_chg, so it's no harm. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 28e51af7c608f661a728db9d47b33c54096fdc59 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Wed Jul 8 16:27:56 2015 -0400 Revert "Documentation: NFS/RDMA: Document separate Kconfig symbols" This reverts commit 731d5cca82729c85ca3296902a64836619f4ba2d. Commit ffe1f0df5862 ("rpcrdma: Merge svcrdma and xprtrdma modules into one") forgot to update the corresponding documentation. Reported-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4691b271ac3a3bdc0d7d886e4715163eb4fb4bc7 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Jul 7 10:13:02 2015 +0800 nfsd: Fix a memory leak in nfsd4_list_rec_dir() If lookup_one_len() failed, nfsd should free those memory allocated for fname. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 15bfd2cc107a9971ac8aeb4b7724ced581a2ed30 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Jul 10 07:36:09 2015 +0000 perf record: Apply filter to all events in a glob matching There is an old problem in perf's filter applying which first posted at Sep. 2014 at https://lkml.org/lkml/2014/9/9/944 that, if passing multiple events in a glob matching expression in cmdline then add '--filter' after them, the filter will be applied on only the last one. For example: # dd if=/dev/zero of=/dev/null & [1] 464 # perf record -a -e 'syscalls:sys_*_read' --filter 'common_pid != 464' sleep 0.1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.239 MB perf.data (2094 samples) ] # perf report --stdio | tee ... # Samples: 2K of event 'syscalls:sys_enter_read' # Event count (approx.): 2092 ... # Samples: 2 of event 'syscalls:sys_exit_read' # Event count (approx.): 2 ... In this example, filter only applied on 'syscalls:sys_exit_read', and there's no way to set filter for ''syscalls:sys_enter_read'. This patch adds a 'cmdline_group_boundary' for 'struct evsel', and apply filter on all events between two boundary marks. After applying this patch: # perf record -a -e 'syscalls:sys_*_read' --filter 'common_pid != 464' sleep 0.1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.031 MB perf.data (3 samples) ] # perf report --stdio | tee ... # Samples: 1 of event 'syscalls:sys_enter_read' # Event count (approx.): 1 ... # Samples: 2 of event 'syscalls:sys_exit_read' # Event count (approx.): 2 ... Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Reported-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1436513770-8896-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bf9185dda829b2aaf73e1e869891a968ff85e2ae Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Jul 20 18:36:15 2015 +0100 ASoC: sti-uniperf: Fix implicit inclusion of pinctrl Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 005438a8eef063495ac059d128eea71b58de50e5 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Jul 20 12:02:09 2015 -0300 perf trace: Support 'strace' syscall event groups I.e.: $ cat ~/share/perf-core/strace/groups/file access chmod creat execve faccessat getcwd lstat mkdir open openat quotactl readlink rename rmdir stat statfs symlink unlink $ Then, on a quiet desktop, try running this and then moving your mouse to see the deluge of mouse related activity: # perf probe 'vfs_getname=getname_flags:72 pathname=filename:string' Added new event: probe:vfs_getname (on getname_flags:72 with pathname=filename:string) You can now use it in all perf tools, such as: perf record -e probe:vfs_getname -aR sleep 1 # # trace --ev probe:vfs_getname --filter-pids 2232 -e file 0.042 (0.042 ms): mousetweaks/2235 open(filename: 0x14e3910, mode: 438 ) ... 0.042 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/home/acme/.icons/Adwaita/cursors/xterm") 0.100 (0.100 ms): mousetweaks/2235 ... [continued]: open()) = -1 ENOENT No such file or directory 0.142 (0.018 ms): mousetweaks/2235 open(filename: 0x14c3c10, mode: 438 ) ... 0.142 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/home/acme/.icons/Adwaita/index.theme") 0.192 (0.069 ms): mousetweaks/2235 ... [continued]: open()) = -1 ENOENT No such file or directory 0.230 (0.017 ms): mousetweaks/2235 open(filename: 0x14c3c10, mode: 438 ) ... 0.230 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/usr/share/icons/Adwaita/cursors/xterm") 0.253 (0.041 ms): mousetweaks/2235 ... [continued]: open()) = 14 0.459 (0.008 ms): mousetweaks/2235 open(filename: 0x14e3910, mode: 438 ) ... 0.459 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/home/acme/.icons/Adwaita/cursors/left_side") 0.468 (0.017 ms): mousetweaks/2235 ... [continued]: open()) = -1 ENOENT No such file or directory Need to combine that raw_syscalls:sys_enter(open) + probe:vfs_getname + raw_syscalls:sys_exit(open) sequence... Now, if you're bored, please write some more syscall groups, like the ones in 'strace' and send it our way :-) Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-a42xklu59lcbxp7bbnic74a8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 61ae76563ec3b506235d5dd69c6fdacea321254d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jun 22 17:13:49 2015 -0700 clk: Remove clk.h from clk-provider.h Remove clk.h from clk-provider.h so that we can clearly split clk providers from clk consumers. This will allow us to quickly detect when clock providers are using the consumer APIs by looking at the includes. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6acc63b5023cbd03d2e04e24cc8d979a69a8ab27 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 13 16:47:44 2015 -0700 clk: h8300: Remove clk.h and clkdev.h includes Neither of these includes are used in these files, remove them. Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6a8ce8c96c1b2fce0a275b5858c3508ca419d8cb Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: at91: Include clk.h and slab.h This clock provider uses the consumer API, so include clk.h explicitly. Also include slab.h instead of relying on clkdev.h for it. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 27df3ee27813e2f78ddd8c895d949d44102150c3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 9 15:24:51 2015 -0700 clk: ti: Switch clk-provider.h include to clk.h This file isn't a clock provider but uses the consumer API, so include clk.h instead of clk-provider.h. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit cb58e14efbc4d72542b9d62f5ee0522fe0147259 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 9 15:24:51 2015 -0700 clk: pistachio: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e2a657090a0b7f804f3b9f1a7735e79c62baa636 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri May 1 16:09:33 2015 -0700 clk: ingenic: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Paul Cercueil <paul@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 530b544ebfa5d0039eed9a1cd4714807629fbe84 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri May 1 16:09:33 2015 -0700 clk: si570: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 67bb5408a8cf5a76a820b49bba4ab6da7acd313b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri May 1 16:09:33 2015 -0700 clk: moxart: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a826a1a4217e207b794a0fd2bd7d1f62db240e0e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jun 10 14:14:28 2015 -0700 clk: cdce925: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 3c37311730efec287b323e0928c9cf3737ab93e2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: Include clk.h in clk.c This file implements the clk API and so it should include clk.h directly instead of indirectly including it through clk-provider.h. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5402494f9b13da6d4210489d544a01fa7dc9ee14 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: zynq: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1b29e60157e845869abb867df6c7164eaace88b6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: ti: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9dfefe8c766ee2abc724e1e275ab0b32431fcd25 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: sunxi: Include clk.h and remove unused clkdev.h includes This clock provider uses the consumer API, so include clk.h explicitly. Also remove clkdev.h in files that aren't using it and include slab.h when clkdev.h was being used to implicitly include it. Cc: Chen-Yu Tsai <wens@xxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d5f728acd90e864251139ffc59294b336cf4b382 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: st: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Gabriel Fernandez <gabriel.fernandez@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8803609082349d97311da2e43042ed3780d53fdf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: qcom: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9bd6314c2ee4a117abb8a4ad4d5f359a6b34c664 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: highbank: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Rob Herring <rob.herring@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d4945ab6472968f1a429ae89bf52e88676c47991 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: bcm: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Acked-by: Alex Elder <elder@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6d31e3b22e131f5aa5c9d6407ea46fec2134f986 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: versatile: Remove clk.h and clkdev.h includes Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Also remove clkdev.h in files that aren't using it and replace them with slab.h in files that were relying on the implicit include of slab.h in clkdev.h. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a162ca912cf792073b0b2450377fd1cd5d5c6cb5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: ux500: Remove clk.h and clkdev.h includes Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Also remove clkdev.h in files that aren't using it. Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 584ac4e935a1f905d67c8fa3fbe8e32d384721f1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: tegra: Properly include clk.h Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Only include clk.h in files that are using it. Also add in a clkdev.h include that was missing in a file using clkdev APIs. Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c302e1e28078fbb31e179c48d9a990fb0e9334e4 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: spear: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b0af24b523c21c918eb64541df4450b9da7ed195 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: socfpga: Remove clk.h and clkdev.h includes Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. The clkdev.h include isn't used either, remove it and add in slab.h to make sure things keep compiling. Acked-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fdb94059d89aab102b4debc30e77f0b5521f8148 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: sirf: Properly include clk.h Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Move the include of clk.h into clk-common.c because that's the only file that's really using clk.h, even if it's included into the atlas6 and prima2 files. Cc: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6f1ed07a14a1ace5facba1e2b3995a2ef3b610cc Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: samsung: Properly include clk.h and clkdev.h Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Only include clk.h in files that are using it. The clkdev.h header isn't always used either, so remove it and add in slab.h where files were relying on it to include slab for them. Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f684ff8b67ec19f003cc894477afb20442064692 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: rockchip: Properly include clk.h Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Only include clk.h if it's actually used. Cc: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 39482a1331ca70184145456df4206405b5b729e3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: nxp: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Acked-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit bb0bf354524d10097271fb26bd92a55c67c0304d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: mxs: Include clk.h in C files that use it Clock provider drivers generally shouldn't include clk.h because it's the consumer API. The clk.h include is being included in all mxs files because it's part of mxs/clk.h even though nothing actually requires it in that file. Move the clk.h include to the C files that are actually using it and remove the clk.h include from the header file. The clkdev.h include isn't used either, so drop it too. Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit db00c3e5953f5ff7e781d85feef1b3ae9ef13297 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: mvebu: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Only include the header if necessary. The clkdev.h include isn't used here either, so drop it and add in slab.h to keep things compiling. Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 528b76976fd22d65a07e244ec8996de492941408 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: mmp: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. The clkdev.h include isn't used either, so drop it and add in slab.h to keep things compiling. Cc: Chao Xie <chao.xie@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c0eb1dfffc74d34277116842001e7677787c04cf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: meson8b: Properly include clk.h Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Only include clk.h if it's actually used. Cc: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c726639bbe23ddbfaa6ee1dd7d27175ee4488661 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: mediatek: Properly include clk.h We don't need to include clk.h in header files, just forward declare struct clk here. This leads us to a few places where the include of clk.h was missing in C files. Add them. Cc: James Liao <jamesjj.liao@xxxxxxxxxxxx> Cc: Henry Chen <henryc.chen@xxxxxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 059a1aa7eb1de2ccbc41a708e892c080d9e26c60 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: keystone: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxx> Cc: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 593438e44c8e01d3098d69d30353be655c3b27f1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: hisilicon: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Also drop the clkdev.h include in files that aren't using it. Cc: Bintian Wang <bintian.wang@xxxxxxxxxx> Cc: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6063b663e872faa005669d1379439dfba805a1ea Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: wm831x: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e26684701388db6406e640ad05cbe84e5232ddb7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: u300: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Also add in slab.h because without clkdev.h compilation of this file would fail. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e873473cbcb570360889415e4a5680e09fe6d031 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: twl6040: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 608f9b6e15e70535695996c6a9cde0f3dcd02251 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: si5351: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d74f864fec313868abadf8a31a4c585ec26389ca Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: rk808: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 39a3891576496ff8e772306a9d06cbaed019dbee Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: palmas: Remove clkdev.h includes This driver includes clkdev.h even though it isn't used, so drop it. Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Cc: Nishanth Menon <nm@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit aa1a7fc4a9203d4b53d41d0e60ac774d83c666fb Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: nomadik: Remove clk.h and clkdev.h includes Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. This driver also includes clkdev.h even though it isn't used, so drop it too and add slab.h to make sure everything still compiles. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e715e2b1a67be39c8026cb6d77563774f989ba90 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: mux: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 893418e40768251c62e282bcfe25ebf24c6bcb7a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: efm32gg: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a87b6866a0ecaa88379d1eeb194f218fbfd0eaf5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: clps711x: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fc1699c802d316d3a8fa0d4d6a09ec8e108652ce Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: cdce706: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a1ff4588d7b225fdf96ba65f11ce33ef00ada9ac Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 14:59:11 2015 -0700 clk: axi-clkgen: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 663724f9905818c261f0262b1a64b141dad5e3cd Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: i.MX: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Alexander Shiyan <shc_work@xxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0d1d7a5588d029f2b3b30d38c2b1d693cb49568d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 lib/vsprintf.c: Include clk.h This file uses the clk API so it should include clk.h directly instead of indirectly including it through clk-provider.h. Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d49c699344735507a10ded79713cc5f9fa8bacf0 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 simplefb: Include clk.h This driver uses the consumer API, so include clk.h explicitly instead of impliclty through the provider API. Cc: Luc Verhaegen <libv@xxxxxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 887e5a91ac17927f68455d059da2f175b6fbf9d3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 ACPI: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the includes here because these are a provider drivers. Cc: Ken Xue <Ken.Xue@xxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c0cc72efd839acd555d918febe08d91786dbea8d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clocksource: cadence_ttc: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0dab7ddeea12243a7bc6753d5360d46f237f76ea Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 spi: spi-pxa2xx: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 10a3402415d7f6e32ca20ebb088e153fe45f807d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 staging: clocking-wizard: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d5fb48a354e756b1fcb6bf714f6b31626c698df4 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 powerpc/512x: clk: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Gerhard Sittig <gsi@xxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Anatolij Gustschin <agust@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4280cf54eeec08e54da32ca61f902cca33bc26fe Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 MIPS: Alchemy: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d4e14ca303e0e6aa56e1573a38ff91b8eb121600 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 arm64: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f5b00f6f3a05d228479b7c7bb6ec814b07d713fe Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jun 22 17:05:21 2015 -0700 ARM: OMAP2+: Include clk.h These files use the consumer API, so include clk.h explicitly. Acked-by: Tero Kristo <t-kristo@xxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c04868d9b8cff797d40a15beeb65125084934bd0 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 ARM: s3c64xx: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit db22cf9d1b6f3177c461c6cf7c10cd35b6aa88bf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 ARM: orion5x: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c81c11663e1a0bbb01bd4ca688c1e95b8219647f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 23 16:08:06 2015 -0700 ARM: mvebu: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c76a9692f890ea777b9d2385626e4080ebad75e7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 23 16:08:06 2015 -0700 ARM: keystone: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Cc: Nishanth Menon <nm@xxxxxx> Cc: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 88c724bcb0e3e09f03f4b8d84695b90bebec320f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 23 16:08:06 2015 -0700 ARM: hisi: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Cc: Wei Xu <xuwei5@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 09efb0070d6d0cf6ee311dbf9216e44909490a7c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 23 16:08:06 2015 -0700 ARM: at91: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8816d38d49d37e255d98d0204af2acba7094385b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 17 15:10:33 2015 -0300 perf strlist: Make parse_list() private It is not used anywhere, expose it when/if needed. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-f6in51stj17avhk4rv11gjgg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d052e508a4069f0711ea68156f4b1565bf14c41c Author: Roy Spliet <r.spliet@xxxxxxxxxxxxx> Date: Fri Jun 26 11:00:11 2015 +0200 mtd: nand: sunxi: Set serial access mode correctly Replaces the hard coded "always use EDO" policy with that prescribed by the ONFI 3.1 specification that EDO mode should always be used if tRC is below 30ns. Signed-off-by: Roy Spliet <r.spliet@xxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9c618292dba6aa9b82e8a2e4e6fe70f54bd87a81 Author: Roy Spliet <r.spliet@xxxxxxxxxxxxx> Date: Fri Jun 26 11:00:10 2015 +0200 mtd: nand: sunxi: Replace failsafe timing cfg with calculated value The TIMING_CFG register was previously statically set to a magic value (extracted from Allwinner's BSP) when initializing the NAND controller. Now that we have more details about the TIMING_CFG register layout (extracted from the A83 user manual) we can dynamically calculate the appropriate value for each NAND chip and set it when selecting the chip. Signed-off-by: Roy Spliet <r.spliet@xxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d3dc5430d68fb91a62d971648170b34d46ab85bc Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 23 14:32:55 2015 +0100 regmap: debugfs: Allow writes to cache state settings Allow the user to write the cache_only and cache_bypass settings. This can be useful for debugging. Since this can lead to the hardware getting out-of-sync with the cache, at least for the period that the cache state is forced, the kernel is tainted and the action is recorded in the kernel log. When disabling cache_only through debugfs a cache sync will be performed. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8ff9daf3c16769817d0eaf16154d9e9198ec1bda Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 17 12:07:25 2015 -0300 perf strlist: Allow substitutions from file contents in a given directory So, if we have an strlist equal to: "file,close" And we call it as: struct strlist_config *config = { .dirname = "~/strace/groups", }; struct strlist *slist = strlist__new("file, close", &config); And we have: $ cat ~/strace/groups/file access open openat statfs Then the resulting strlist will have these contents: [ "access", "open", "openat", "statfs", "close" ] This will be used to implement strace syscall groups in 'perf trace', but can be used in some other tool, thus being implemented in 'strlist'. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-wi6l6qtomqlywwr6005jvs05@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0642ef6f2992eba46c41abb5ceb7d4fa14ba888e Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 23 14:32:54 2015 +0100 debugfs: Export bool read/write functions The file read/write functions for bools have no special dependencies on debugfs internals and are sufficiently non-trivial to be worth exporting so clients can re-use the implementation. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0db7fae2736d0db920905c1fb576ec7eab2660c8 Author: Alexey Firago <alexey_firago@xxxxxxxxxx> Date: Tue Jun 30 12:53:46 2015 +0300 mtd: spi-nor: set SECT_4K for n25q064 SPI flash Micron n25q064 flash supports 4 KiB erase sectors. Signed-off-by: Alexey Firago <alexey_firago@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 038761dfe4ce145f0f080cc08ee43f6e0ab3ae2f Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 11:37:56 2015 +0200 mtd: fsl-quadspi: Actually clear TX FIFO upon write QUADSPI_MCR_CLR_TXF_MASK is the correct mask for clearing the TX FIFO. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d9abc615ea1659b6967a00e95b1b3a7fd4079b80 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 17 18:43:42 2015 +0300 tools: iio: Send error messages to stderr This patch indends to make some cleanup and send printf error messages to stderr. The changes were performed with coccinelle for failure messages and manual for other cases, such as wrong usage messages. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 34cbea1908fb686b037e01e5b1ab8e0e67b09ed3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Jul 13 16:20:11 2015 +0300 tools: iio: Add ARRAY_SIZE macro Calculation of the length of an array can be done with the ARRAY_SIZE macro to make code more abstract and remove the associated checkpatch.pl warning. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 37d38e2bcce055c3988977429dc4336c866df73d Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Jul 13 16:17:47 2015 +0300 tools: iio: Remove unnecessary braces Single statement blocks donâ??t need braces. Found with checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ff1ac639b395d58bbd99ff4a36b10eebb81544a3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Jul 13 16:15:56 2015 +0300 tools: iio: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form as recommended by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8ab6abfca09c1800dccb753775f6ce8ee82f50dd Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Tue Jul 7 14:07:13 2015 +0300 iio: light: Add support for TXC PA12 als and proximity sensor Add support for TXC PA12203001 als and proximity sensor. Support for raw illuminance and proximity readings. Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 94a9b7b1809f56cfaa080e70ec49b6979563a237 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Thu Jul 2 17:27:58 2015 -0500 iio: light: add support for TI's opt3001 light sensor TI's opt3001 light sensor is a simple and yet powerful little device. The device provides 99% IR rejection, automatic full-scale, very low power consumption and measurements from 0.01 to 83k lux. This patch adds support for that device using the IIO framework. See http://www.ti.com/product/opt3001 for more information. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 081d974031bafb204d64de3e82f398daf1d0b899 Author: Harald Geyer <harald@xxxxxxxxx> Date: Tue Jul 7 13:39:31 2015 +0000 iio: dht11: Use new function ktime_get_resolution_ns() This cleans up the most ugly workaround in this driver. There are no functional changes yet in the decoding algorithm, but we improve the following things: * Get rid of spurious warning messages on systems with fast HRTIMER. * If the clock is not fast enough for decoding to work, we give up immediately. * In that case we return EAGAIN instead of EIO, so it's easier to discriminate causes of failure. Returning EAGAIN is somewhat controversial: It's technically correct as a faster clock might become available. OTOH once all clocks are enabled this is a permanent error. There is no ECLOCKTOOSLOW error code. Signed-off-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5fbb0bc466b7b43036b1dd8c9e9166ca9e69e07a Author: Harald Geyer <harald@xxxxxxxxx> Date: Tue Jul 7 13:39:30 2015 +0000 iio: dht11: avoid multiple assignments to make checkpatch.pl --strict happy We just do the assignments in two steps. Signed-off-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a7126003b6dd47c0088d952734379ef471156c5f Author: Harald Geyer <harald@xxxxxxxxx> Date: Tue Jul 7 13:39:29 2015 +0000 iio: dht11: add comment to make checkpatch.pl --strict happy Explain why the driver needs a mutex. Signed-off-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 889c5e9b668670c91dcd3a8f2b15a0b2086f4827 Author: Harald Geyer <harald@xxxxxxxxx> Date: Tue Jul 7 13:39:28 2015 +0000 iio: dht11: whitespace changes to make checkpatch.pl --strict happy * add spaces around binary operators in cases where it reduces readability * align multiline statements around opening parenthesis Reported-by: Hartmut Knaack <knaack.h@xxxxxx> in Message-ID: <55919E72.3010807@xxxxxx> Signed-off-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5e9972cd6f1a69ee8a8ee8664d3e4c4ea59c0901 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Tue Jul 14 19:23:22 2015 +0530 iio: adc: vf610: Determine sampling frequencies by using minimum sample time The driver currently does not take into account the minimum sample time as per the Figure 6-8 Chapter 9.1.1 12-bit ADC electrical characteristics. We set a static amount of cycles instead of considering the sample time as a given value, which depends on hardware characteristics. Determine sampling frequencies by first reading the device tree property node and then calculating the required Long Sample Time Adder (LSTAdder) value, based on the ADC clock frequency and sample time value obtained from the device tree. This LSTAdder value is then used for calculating the sampling frequencies possible. In case the sample time property is not specified through the device tree, a safe default value of 1000ns is assumed. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f686a36b4b79782a94f07769fb1c0187d24ea8a8 Author: Andrea Galbusera <gizero@xxxxxxxxx> Date: Tue Jul 14 15:36:21 2015 +0200 iio: adc: mcp320x: Add support for mcp3301 This adds support for Microchip's 13 bit 1 channel AD converter MCP3301 Signed-off-by: Andrea Galbusera <gizero@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bad47ad2eef341a79ff355734147efe933618033 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Jul 20 17:23:53 2015 +0800 regulator: rk808: fixed the overshoot when adjust voltage There is a overshoot in DCDC1/DCDC2, we have 2 method to workaround: 1st is use dvs pin to switch the voltage between value in BUCKn_ON_VSEL and BUCKn_DVS_VSEL. If DVS pin is inactive, the voltage of DCDC1/DCDC2 are controlled by BUCKn_ON_VSEL, when we pull dvs1/dvs2 pin to active, they would be controlled by BUCKn_DVS_VSEL. In this case, the ramp rate is same as the value programmed in BUCKn_RATE, and the fastest rate is 10mv/us. 2nd method is gradual adjustment, adjust the voltage to a target value step by step via i2c, each step is set to 100 mA. If you write the voltage directly using an i2c write the rk808 will always ramp as fast as it possibly can, about 100mv/us. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0ec5f8bd9920fc1a7d0b0d2d4876ea80665a70fd Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Jul 20 17:23:52 2015 +0800 regulator: rk808: add the description about dvs gpio for rk808 add the description about dvs1, dvs2, and add the example. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cef1ed9c6bcf69245c0b9eb89b3f3a45049ba10c Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Sun Jul 5 09:57:41 2015 +0800 mtd: r852: make ecc_reg 32-bit in r852_ecc_correct r852_ecc_correct() reads a 32-bit register into a 16-bit variable, ecc_reg, but this variable is later used as if it was larger. This is reported by clang when building the kernel with many warnings: drivers/mtd/nand/r852.c:512:11: error: shift count >= width of type [-Werror,-Wshift-count-overflow] ecc_reg >>= 16; ^ ~~ Fix this by making ecc_reg 32-bit, like the return type of r852_read_reg_dword(). Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 091571d071a435a517aec42c4f8c56883c5dc531 Author: akpm@xxxxxxxxxxxxxxxxxxxx <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 15:43:46 2015 -0700 ASoC: cs4349: include gpio/consumer.h s390 allmodconfig: sound/soc/codecs/cs4349.c: In function 'cs4349_i2c_probe': sound/soc/codecs/cs4349.c:300: error: implicit declaration of function 'devm_gpiod_get_optional' sound/soc/codecs/cs4349.c:301: error: 'GPIOD_OUT_LOW' undeclared (first use in this function) sound/soc/codecs/cs4349.c:301: error: (Each undeclared identifier is reported only once sound/soc/codecs/cs4349.c:301: error: for each function it appears in.) sound/soc/codecs/cs4349.c:306: error: implicit declaration of function 'gpiod_set_value_cansleep' Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44251551dfca2117e42349136b871b33c8419a59 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 19 09:15:38 2015 +0800 ASoC: cs4349: Drop platform data support The struct cs4349_platform_data should be defined in a public header in include/sound/ rather than in sound/soc/codecs folder. In additional, the platform data support is not properly handled in this driver so remove it now. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0443de7e7e559eab7df2566d0e46940f753db51d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 19 09:14:23 2015 +0800 ASoC: cs4349: Set .writeable_reg for cs4349_regmap The first valid register index is 1 rather than 0, and the CS4349_CHIPID is readonly. So set .writeable_reg to avoid writing to these registers. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4313489c25622b05adac55dbb9590fb5674c3f45 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Jul 19 21:12:16 2015 +0200 ASoC: ux500: adjust devm usage The explicit call to devm_regulator_put in the probe and remove functions does not seem to be necessary. In particular, the functions prcmu_qos_remove_requirement and ux500_msp_i2s_cleanup_msp in the remove function seem to do nothing that can interfere with devm_regulator_put, making it safe to allow devm_regulator_put to occur after the end of the remove function. Convert the calls to clk_get to devm_clk_get, and remove the corresponding calls to clk_put in the probe and remove functions. Replace various gotos by direct returns, and drop unneeded labels. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da304ac37efc1900892b5067c65f0ab8acfe3955 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 19 22:42:49 2015 +0800 ASoC: cs4349: Fix setting digital interface format Mode Control - Register 02h Digital Interface Format (DIF[2:0]) Bits 6-4 DIF2 DIF1 DIF0 Description 0 0 0 Left-Justified, up to 24-bit data 0 0 1 I²S, up to 24-bit data 0 1 0 Right-Justified, 16-bit data 0 1 1 Right-Justified, 24-bit data 1 0 0 TDM slot 0 1 0 1 TDM slot 1 1 1 0 TDM slot 2 1 1 1 TDM slot 3 The DIF_MASK is 0x70, so current code does not correctly set the DIFx setting. Fix it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dedae86d4da6c88ec2105e0bd038acc57c203bca Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Jul 19 12:15:18 2015 +0200 ASoC: cs4349: Don't use rtd->codec rtd->codec does not necessarily point to the CODEC instance for which the callback was called (e.g. for CODEC<->CODEC or multi-CODEC links). Use dai->codec instead. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cb2510dac7e1c5ac77652bb31e8c39ce2eef8bbe Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Jul 19 12:15:17 2015 +0200 ASoC: cs4349: Fix suspend/resume dev_get_drvdata() will not return the snd_soc_runtime to which this CODEC is attached, so the current code will result in undefined behavior. To fix this just use regmap_update_bits(cs4349->regmap, ...) directly instead of snd_soc_update_bits(rtd->codec, ...). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 86059653ea7ca7b30ed25d6bec5807ba59a4f2e6 Author: zhengxing <zhengxing@xxxxxxxxxxxxxx> Date: Sun Jul 19 19:33:49 2015 +0800 ASoC: rockchip: Add machine driver for rt5645/rt5650 codec The driver is used for rockchip board using a rt5645/rt5650. Reviewed-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: zhengxing <zhengxing@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 49bdb0440541ad1144ad08d5613f9a28bcd2a8dc Author: zhengxing <zhengxing@xxxxxxxxxxxxxx> Date: Sun Jul 19 19:33:48 2015 +0800 ASoC: rockchip: Add machine driver for max98090 codec The driver is used for rockchip board using a max98090. Reviewed-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: zhengxing <zhengxing@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f136dce45116027fec65c342fbcb5aaa900729c6 Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Mon Jul 20 09:32:05 2015 +0800 ASoC: rt5645: Remove return value in jack detect work "ASoC: rt5645: Check if codec is initialized in workqueue handler" adds a check if codec is NULL in rt5645_irq_detection, which returns an int. However, "ASoC: rt5645: Remove irq_jack_detection function" removes that function, and moves the code in jack_detect_work, which returns void. Remove the return value to fix compilation warning. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2c23b0c10f64335031781cf78fd57aae072e9372 Merge: 9fc114c f2a5ded Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Jul 20 18:14:12 2015 +0100 Merge branch 'fix/rt5645' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rt5645 commit c57d5621d2f2dc238f4b9c4d00b2a54187a75445 Merge: 6ccfe64 52721d9 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 20 10:08:17 2015 -0700 Merge tag 'v4.2-rc3' into next Sync up with Linux 4.2-rc3 to bring in infrastructure (OF) pieces. commit a11244c0b25b79d2a3b07df429268d66736e5b45 Author: Sandeep Paulraj <s-paulraj@xxxxxx> Date: Tue Aug 19 15:31:54 2014 +0300 nand: davinci: add support for 4K page size nand devices It is needed for k2l keystone2 EVM which uses NAND flash with 4K page size, hence add support for 4K page size nand devices. [Brian: similar work submitted by Murali Karicheri <m-karicheri2@xxxxxx> and Hao Zhang <hzhang@xxxxxx>] Signed-off-by: Sandeep Paulraj <s-paulraj@xxxxxx> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 4daa832d99871356f5fdc52372c975e40f73a15e Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Jul 20 18:32:53 2015 +0200 x86: Drop bogus __ref / __refdata annotations The __ref / __refdata annotations used to be needed because of referencing functions / variables annotated __cpuinit / __cpuinitdata. But those annotations vanished during the development of v3.11. Therefore most of the __ref / __refdata annotations are not needed anymore. As they may hide legitimate sections mismatches, we better get rid of them. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437409973-8927-1-git-send-email-minipli@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6ccfe64c770139675a080ee5029ded7d89d9ea0d Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Mon Jul 20 09:56:18 2015 -0700 Input: elan_i2c - enable ELAN0600 acpi panels ELAN0600 seems to work just fine in mouse emulation mode through i2c-hid, but to have full raw touch support we need to register it in elan_i2c.ko Reported-and-tested-by: Alessio Treglia <alessio@xxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit dd1b85dc446b7cfaeaa7e250d2ff2acc44a0d51d Author: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Date: Mon Jul 20 09:50:37 2015 -0700 Input: zforce - don't invert the interrupt GPIO Commit 2d53809594af ("Input: zforce_ts - convert to use the gpiod interface") converted this driver to use the gpiod functions. These functions take the active low property into account, so we don't have to invert the result of gpiod_get_value_cansleep(). This has been missed in that commit. Fix it. Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit fb0cc3aa552642631c3a4e83deae2b5c1a1ef4fa Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Jul 20 09:10:36 2015 -0500 iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth We check the ATS state (enabled/disabled) and fetch the PCI ATS Invalidate Queue Depth in performance-sensitive paths. It's easy to cache these, which removes dependencies on PCI. Remember the ATS enabled state. When enabling, read the queue depth once and cache it in the device_domain_info struct. This is similar to what amd_iommu.c does. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Acked-by: Joerg Roedel <jroedel@xxxxxxx> commit 1ae25d626cfe7e11adc2c3e71d0de1f882954ef3 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Mon Jul 20 17:32:05 2015 +0800 power: reset: at91: add sama5d3 reset function This patch introduces a new compatible string: "atmel,sama5d3-rstc" and new reset function for sama5d3 and later chips. As in sama5d3 or later chips, we don't have to shutdown the DDR controller before reset. Shutdown the DDR controller before reset is a workaround to avoid DDR signal driving the bus, but since sama5d3 and later chips there is no such a conflict. So in this patch: 1. the sama5d3 reset function only need to write the rstc register and return. 2. we can remove the code related with sama5d3 DDR controller as we don't use it at all. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 4a77e2183fc0260c0efc7adeccf933fef893ad5f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Jul 20 12:13:34 2015 -0300 perf strlist: Make dupstr be the default and part of an extensible config parm So that we can pass more info to strlist__new() without having to change its function signature, just adding entries to the strlist_config struct with sensible defaults for when those fields are not specified. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-5uaaler4931i0s9sedxjquhq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit efc1985c8f79ee8259d19a9b6e3df6a07d063669 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 17:19:02 2015 -0500 ARM: dts: socfpga: use stdout-path for chosen node Use stdout-path dts property for kernel console. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 2211a658620a35f3b3eabdfa2587f46b7abf3ee7 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 15:48:50 2015 -0500 ARM: dts: socfpga: enable the data and instruction prefetch for the l2 cache Just in case the firmware did not enable data and instruction prefetch in the L2 cache controller, we enable it in the kernel. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit e10fc03c4f89e5191f0ad2a3885d476f498bf131 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 20 19:06:35 2015 +0900 irqchip/renesas-irqc: Make use of irq_find_mapping() Instead of locally caching the virq as domain_irq simply rely on the IRQ domain code and irq_find_mapping(). This reduces the delta between the IRQC driver and the generic chip implementation. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: jason@xxxxxxxxxxxxxx Cc: geert+renesas@xxxxxxxxx Cc: horms@xxxxxxxxxxxx Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150720100635.2552.20906.sendpatchset@little-apple Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7d153751c79e84a88e8c80e82ee5293085b9081b Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 20 19:06:25 2015 +0900 irqchip/renesas-irqc: Use linear IRQ domain Use linear IRQ domain instead of irq_domain_add_simple() that also handles non-DT cases. This reduces the delta between the IRQC code and the generic chip implementation. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: jason@xxxxxxxxxxxxxx Cc: geert+renesas@xxxxxxxxx Cc: horms@xxxxxxxxxxxx Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150720100625.2552.63939.sendpatchset@little-apple Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 35c3f67f11849d80cc0e3cd3dd898977567c9c29 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 20 19:06:14 2015 +0900 irqchip/renesas-irqc: Get rid of IRQF_VALID IRQF_VALID is not needed on ARM anymore, so get rid of it. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: jason@xxxxxxxxxxxxxx Cc: geert+renesas@xxxxxxxxx Cc: horms@xxxxxxxxxxxx Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150720100614.2552.86867.sendpatchset@little-apple Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1b0b7c1762679a2f8bc359da95649249dfcf4195 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Jul 1 13:29:48 2015 -0700 rtmutex: Delete scriptable tester No one uses this anymore, and this is not the first time the idea of replacing it with a (now possible) userspace side. Lock stealing logic was removed long ago in when the lock was granted to the highest prio. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435782588-4177-2-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ab51fbab39d864f3223e44a2600fd951df261f0b Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Jun 29 23:26:02 2015 -0700 futex: Fault/error injection capabilities Although futexes are well known for being a royal pita, we really have very little debugging capabilities - except for relying on tglx's eye half the time. By simply making use of the existing fault-injection machinery, we can improve this situation, allowing generating artificial uaddress faults and deadlock scenarios. Of course, when this is disabled in production systems, the overhead for failure checks is practically zero -- so this is very cheap at the same time. Future work would be nice to now enhance trinity to make use of this. There is a special tunable 'ignore-private', which can filter out private futexes. Given the tsk->make_it_fail filter and this option, pi futexes can be narrowed down pretty closely. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Darren Hart <darren@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435645562-975-3-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 767f509ca11269c2bcd92e3972a93096f2173ac0 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Jun 29 23:26:01 2015 -0700 futex: Enhance comments in futex_lock_pi() for blocking paths ... serves a bit better to clarify between blocking and non-blocking code paths. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Darren Hart <darren@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435645562-975-2-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5a447f09a8dffc0dd7569aec614ad3613a050098 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Apr 13 21:02:25 2015 +0000 staging: ozwpan: Fix hrtimer wreckage oz_timer_add() modifies the expiry value of an active timer, which results in data corruption. Use hrtimer_start() and remove the silly conditional. While at it use the proper helper function to convert milliseconds to ktime. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shigekatsu Tateno <shigekatsu.tateno@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150413210035.357448657@xxxxxxxxxxxxx commit 87dc11220df266d7d4b6dc594b55d0729b92809d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 15 11:21:40 2015 -0700 clockevents: Remove clockevents_notify() prototype This function no longer exists after commit a49b116dcb12 (clockevents: Cleanup dead cpu explicitely, 2015-04-03). Remove the prototype and the stub function. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: trivial@xxxxxxxxxx Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Link: http://lkml.kernel.org/r/1436984500-5425-1-git-send-email-sboyd@xxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit dd92d8de833613993b337cb4ff853587e1600aef Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Jul 20 10:58:21 2015 +0200 Partially revert "drm/i915: s/mdelay/msleep/" in ilk rps code This reverts commit 6adfb1ef106bfe4b5ecb8bd75c4d037741d28a48. Ironlake RPS code runs under an irqsave spinlock and hence sleeping isn't allowed. Not a this long delay while blocking irqs isn't great at all, but fixing the locking scheme is a lot more involved. So just revert for now. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reported-by: kernel test robot <ying.huang@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f4c126ecaef1c08a906a2af51fb538022906f101 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jul 6 10:40:32 2015 -0400 USB: serial: ftdi_sio: Fix broken URL in comment This fixes a typo in the URL: http://zeitcontrol.de/ Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit bc3687982be0522ee39f71247187f7e4263db3b3 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Jul 17 16:39:42 2015 +0200 MAINTAINERS: Add myself as maintainer of Allwinner Security System Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6298e948215f2a3eb8a9af5c490d025deb66f179 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Jul 17 16:39:41 2015 +0200 crypto: sunxi-ss - Add Allwinner Security System crypto accelerator Add support for the Security System included in Allwinner SoC A20. The Security System is a hardware cryptographic accelerator that support: - MD5 and SHA1 hash algorithms - AES block cipher in CBC/ECB mode with 128/196/256bits keys. - DES and 3DES block cipher in CBC/ECB mode Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e757d5c4c367e747ae15186b753788f9c2752753 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Jul 17 16:39:40 2015 +0200 ARM: sun4i: dt: Add DT bindings documentation for SUN4I Security System This patch adds documentation for Device-Tree bindings for the Security System cryptographic accelerator driver. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 110d4e25fd28ecfa9e0b21ad58f77567fc1cade3 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Jul 17 16:39:39 2015 +0200 ARM: sun7i: dt: Add Security System to A20 SoC DTS The Security System is a hardware cryptographic accelerator that support AES/MD5/SHA1/DES/3DES/PRNG algorithms. It could be found on many Allwinner SoC. This patch enable the Security System on the Allwinner A20 SoC Device-tree. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 56ba8c5814a859dd94667643a3bc22984efd1521 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Jul 17 16:39:38 2015 +0200 ARM: sun4i: dt: Add Security System to A10 SoC DTS The Security System is a hardware cryptographic accelerator that support AES/MD5/SHA1/DES/3DES/PRNG algorithms. It could be found on many Allwinner SoC. This patch enable the Security System on the Allwinner A10 SoC Device-tree. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c1f2cd21ed5335bfcf5dd1d3a05a2a83bae14c3a Author: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> Date: Fri Jul 17 16:54:54 2015 +0300 crypto: caam - fix warning in APPEND_MATH_IMM_u64 An implicit truncation is done when using a variable of 64 bits in MATH command: warning: large integer implicitly truncated to unsigned type [-Woverflow] Silence the compiler by feeding it with an explicit truncated value. Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 62743a4145bb9c3fe090a48e10ddc0ebae85bfbf Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Fri Jul 17 16:54:53 2015 +0300 crypto: caam - fix RNG init descriptor ret. code checking When successful, the descriptor that performs RNG initialization is allowed to return a status code of 7000_0000h, since last command in the descriptor is a JUMP HALT. Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f109674951440912b645de2761d5d851e261af98 Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Fri Jul 17 16:54:52 2015 +0300 crypto: caam - fix snooping for write transactions HW coherency won't work properly for CAAM write transactions if AWCACHE is left to default (POR) value - 4'b0001. It has to be programmed to 4'b0010, i.e. AXI3 Cacheable bit set. For platforms that have HW coherency support: -PPC-based: the update has no effect; CAAM coherency already works due to the IOMMU (PAMU) driver setting the correct memory coherency attributes -ARM-based: the update fixes cache coherency issues, since IOMMU (SMMU) driver is not programmed to behave similar to PAMU Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e27513eb61bae759b7d5f340cf39d60f0d15a00b Author: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Date: Fri Jul 17 16:54:51 2015 +0300 crypto: caam - fix ERA property reading In order to ensure that the ERA property is properly read from DT on all platforms, of_property_read* function needs to be used. Signed-off-by: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 15da7b5001e498fa7dc619d4d7951f9665b071e4 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 10:21:50 2015 +0200 pwm: Make use of pwm_get_xxx() helpers where appropriate Use the pwm_get_xxx() helpers instead of directly accessing the fields in struct pwm_device. This will allow us to smoothly move to the atomic update approach. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 011e76314818b6a24d5347b2d83b8a577e6aaae6 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 10:21:49 2015 +0200 pwm: Add pwm_get_polarity() helper function Some drivers are directly accessing the ->polarity field in pwm_device. Add a helper to retrieve the current polarity so that we can easily move this field elsewhere (required to support atomic update). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit a1cf42171a2e3c33cbc12bb037795caf0589149b Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 10:21:48 2015 +0200 pwm: Constify PWM device where possible The PWM argument is not modified in PWM property accessors, make it a const argument so that the accessors can be used from sysfs. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 5c31252c4a86dc591c23f1a951edd52ad791ef0e Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 10:21:47 2015 +0200 pwm: Add the pwm_is_enabled() helper Some PWM drivers are testing the PWMF_ENABLED flag. Create a helper function to hide the logic behind enabled test. This will allow us to smoothly move from the current approach to an atomic PWM update approach. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit fe6c59dc17908effd4e2caa666795b9ad984005b Merge: 52721d9 221272f Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Mon Jul 20 17:19:19 2015 +1000 Merge tag 'seccomp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into next commit e317fa505dcdfa25f0e4c888f991eb7fd1562e1e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Jul 18 10:21:14 2015 -0500 netfilter: Fix memory leak in nf_register_net_hook In the rare case that when it is a attempted to use a per network device netfilter hook and the network device does not exist the newly allocated structure can leak. Be a good citizen and free the newly allocated structure in the error handling code. Fixes: 085db2c04557 ("netfilter: Per network namespace netfilter hooks.") Reported-by: kbuild@xxxxxx Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7639a8c420f04ca9be87974416efb2848b0962d9 Author: Ben Goz <ben.goz@xxxxxxx> Date: Sun Jun 7 00:15:51 2015 +0300 drm/amdkfd: Set correct doorbell packet type for Carrizo Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Reviewed-by: Yair Shachar <yair.shachar@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 3d30b28be811b0d7c0a113eab361d5e3029d6da4 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Sat Jun 6 21:47:01 2015 +0300 drm/amdkfd: Use generic defines in new amd headers This patch makes use of the new amd headers (that are part of the new amdgpu driver), instead of private defines. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit d7b8f73ea03923dbf7c61093743b9eb1842fa8d7 Author: Ben Goz <ben.goz@xxxxxxx> Date: Tue Jan 6 11:35:50 2015 +0200 drm/amdkfd: Implement create_map_queues() for Carrizo Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit e1940fa4bfa32d86a771e300a3fd116c46878bf4 Author: Ben Goz <ben.goz@xxxxxxx> Date: Tue Jan 6 11:32:13 2015 +0200 drm/amdkfd: fix runlist length calculation The MAP_QUEUES packet length for Carrizo is different than for Kaveri. Therefore, we now need to calculate the runlist length with regard to the underlying H/W. Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 914bea6329b2cbbb3586a11f90ddf026bef44348 Author: Ben Goz <ben.goz@xxxxxxx> Date: Mon Jan 12 14:28:46 2015 +0200 drm/amdkfd: Add support for VI in DQM This patch adds support for the VI APU in the DQM module. Most of the functionality of DQM is shared between CI and VI. Therefore, only a handful of functions are required to be in the H/W-specific part of DQM. Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit d696d536f0a97ac779d6176107ac4e96d0a2f8b9 Author: Ben Goz <ben.goz@xxxxxxx> Date: Mon Jan 12 14:26:10 2015 +0200 drm/amdkfd: add support for VI in MQD manager This patch implements all the VI MQD manager functions. This is done in a different file as the MQD format is different between CI and VI Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 2d8f1f330356f4e22cbf860af78d715715595041 Author: Ben Goz <ben.goz@xxxxxxx> Date: Sun Jan 4 10:48:26 2015 +0200 drm/amdkfd: add CP HWS packet headers for VI Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 123576d1440df7bfa6e2188784e8cd9dc01eea6b Author: Ben Goz <ben.goz@xxxxxxx> Date: Mon Jan 12 14:37:24 2015 +0200 drm/amdkfd: add supported CZ devices PCI IDs to amdkfd This patch adds the PCI IDs of supported CZ devices to the supported_devices structure in amdkfd. That structure is used during the amdkfd probing stage, to check if the currently probed device is eligible to be handled by amdkfd. Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit bd72a72c3a0d3e188b08cdbbc54eb083d860e365 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Fri Nov 21 23:27:30 2014 +0200 drm/amdkfd: Add dependency of DRM_AMDGPU to Kconfig Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit ff758a12b45b0513dbe9905deba2a29b20412138 Author: Ben Goz <ben.goz@xxxxxxx> Date: Tue Oct 7 14:43:07 2014 +0300 drm/amdgpu: Add amdgpu <--> amdkfd gfx8 interface This patch adds the gfx8 interface file between amdgpu and amdkfd. This interface file is currently in use when running on a Carrizo-based system. The interface itself is represented by a pointer to struct kfd_dev. The pointer is located inside amdgpu_device structure. All the register accesses that amdkfd need are done using this interface. This allows us to avoid direct register accesses in amdkfd proper, while also allows us to avoid locking between amdkfd and amdgpu. The single exception is the doorbells that are used in both of the drivers. However, because they are located in separate pci bar pages, the danger of sharing registers between the drivers is minimal. Having said that, we are planning to move the doorbells as well to amdgpu. Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 32c22e994f44e7e5cc54b52375012311d1693b0d Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Fri Jun 12 21:38:22 2015 +0300 drm/amdgpu: add amdgpu <--> amdkfd gfx7 interface This patch adds the gfx7 interface file between amdgpu and amdkfd. This interface file mirrors (some) of the functions in radeon_kfd.c (the interface file between radeon and amdkfd). The gfx7 interface is used when it is run on a Kaveri-based system. This interface file was used for bring-up of amdkfd on amdgpu and for debugging purposes. For users who would like to run HSA on Kaveri, please use the radeon graphic driver. Note: CONFIG_DRM_AMDGPU_CIK must be selected for amdgpu to handle Kaveri. v2: removed MTYPE_NONCACHED enum definition as it is defined in another patch Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 130e0371b7d454bb4a861253c822b9f911ad5d19 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Fri Jun 12 21:35:14 2015 +0300 drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface This patch adds an interface file between amdgpu and amdkfd. This interface file is H/W agnostic, thus containing functions that operate the same for any AMD APU/GPU H/W generation. The functions in this interface mirror (some) of the functions in radeon_kfd.c (the radeon<-->amdkfd interface file). The main functions are: - amdgpu_amdkfd_init - initialize the amdkfd module - amdgpu_amdkfd_load_interface - load the H/W interface according to the currently probed device - amdgpu_amdkfd_device_probe - probe the device in amdkfd - amdgpu_amdkfd_device_init - initialize the device in amdkfd - amdgpu_amdkfd_interrupt - call the ISR of amdkfd - amdgpu_amdkfd_suspend - suspend callback from amdgpu - amdgpu_amdkfd_resume - resume callback from amdgpu This patch also modifies the relevant amdgpu files, to use this new interface. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 22801f76fa59870aed2c0b8a4eb6c8d6993347ae Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Mon Jan 19 16:20:21 2015 +0200 drm/radeon: Modify kgd_engine_type enum to match CZ This patch splits the KGD_ENGINE_SDMA to KGD_ENGINE_SDMA1 and KGD_ENGINE_SDMA2 to match CZ definitions. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 47764c7918f5dd648ae8f6f61db1aaab1b9c09dd Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Jul 17 10:52:27 2015 +0200 iio:magnetometer:bmc150_magn: replace magic value Construct the scanmask using its descriptive axis names (as used in iio_chan_spec) instead of a 'magic' value. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2563f7fc83d655792ec9999e2dda7a37172ae6aa Author: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Date: Fri Jul 17 16:34:36 2015 +0800 iio: magnetometer: mmc35240: Add DT binding doc Signed-off-by: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7dbf1ea8aade8c3b2759acc96e5e709016e6ae28 Author: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Date: Fri Jul 17 16:34:35 2015 +0800 iio: magnetometer: mmc35240: Add DT binding Signed-off-by: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 23633314e60796f860d5a0484b722557061cde7c Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sat Jul 18 00:56:57 2015 +0200 iio:light:acpi-als: add missing prefixes Some macros and a function were missing the acpi_als_ prefix, so add it. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 829aed1a6e2cbceb2d2fe0f7557dea71fb38cec6 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:46 2015 +0000 iio: mxs-lradc: add datasheet name for every usable channel In order to provide a channel name to in kernel consumers add the datasheet names for every usable AD channel. Since the channel names differ between i.MX23 and i.MX28, we need to separate the channel specs. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ae5896d48180520629655a9356737fe6dbc5e9e5 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:45 2015 +0000 iio: mxs-lradc: reorder header includes This patch reorder the header includes alphabetically. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3eaf20288c9e0e5a2620c4908ac215655ebf0a00 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:44 2015 +0000 iio: mxs-lradc: remove unnecessary header includes This patch removes the unnecessary header includes. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5723dde958582483501fc2307cf2258060151339 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:43 2015 +0000 iio: mxs-lradc: add missing include This patch adds the missing include for mutex handling. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 66926d11f326355abbd4e290047a67f17731b404 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:42 2015 +0000 iio: mxs-lradc: fix some spelling errors This patch fix some spelling errors in the comments. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 07a4257e3d758af96cf98b1e9baadeb627475b03 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:41 2015 +0000 iio: mxs-lradc: clarify supported devices At the beginning the driver supported only i.MX28 SoC, but now the whole MXS platform. So remove any confusing comments which apply only to i.MX28. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1dcafd3aeb0a70dbdd11b10269da2afc454e2395 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Jul 19 01:33:55 2015 +0300 iio: Documentation: Remove bytes_per_datum attribute Remove sysfs bytes_per_datum device attribute ABI documentation since the attribute is not present anymore. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b08b338253e917be45ee19924b58dd0b1265473f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 17 23:43:02 2015 +0800 ASoC: cs4349: Constify cs4349_regmap Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Tim Howe <tim.howe@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd9283e23f674281c02cd8cbf894cb3132a4e3a6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 17 23:38:34 2015 +0800 ASoC: cs4349: Fix max_register setting for cs4349_regmap The max_register should be the maximum valid register index rather than number of registers. Also remove unused defines. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Tim Howe <tim.howe@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6d6db340a7e832dc18a6a95d9f9fc79d03ff959e Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Jun 11 10:57:35 2015 +0530 ARM: pxa: Use setup_timer Use the timer API function setup_timer instead of structure field assignments to initialize a timer. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @change@ expression e1, e2, a; @@ -init_timer(&e1); +setup_timer(&e1, a, 0UL); ... when != a = e2 -e1.function = a; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 9754c8ef1f54bff1e1448a1a02039681a4a98fa0 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jul 3 17:40:45 2015 +0530 ARM: pxa: Use module_platform_driver Use module_platform_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return platform_driver_register(&x); } @b depends on a@ identifier e, a.x; @@ -static e(...) { platform_driver_unregister(&x); } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_platform_driver; @@ -module_exit(e); +module_platform_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 4be0856fa34ef3b0681aeec669e50c13e394f145 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Feb 14 23:38:39 2015 +0100 ARM: pxa: transition to dmaengine phase 1 In order to slowly transition pxa to dmaengine, the legacy code will now rely on dmaengine to request a channel. This implies that PXA architecture selects DMADEVICES and PXA_DMA, which is not pretty. Yet it enables PXA drivers to be ported one by one, with part of them using dmaengine, and the other part using the legacy code. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 2ba6c0797c8b5a9f945345ef2b9193bd47e5f18e Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Wed Apr 29 15:23:28 2015 -0700 igb: Fix i354 88E1112 PHY on RCC boards using AutoMediaDetect e1000_check_for_link_media_swap() checks PHY page 0 for copper and PHY page 1 for "other" (fiber) link. The switch back from page 1 to page 0 happened too soon, before e1000_check_for_link_82575() is executed, and link on fiber (other) was never detected. Check for link while still on the proper PHY page. Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3b7884f75f3d3f0a0191c00a083535a1dd01a5a4 Author: Fan Du <fan.du@xxxxxxxxx> Date: Wed Apr 29 10:57:41 2015 +0800 ixgbe: Don't report flow director filter's status For two reasons I want to disable this: 1. Not any part actually check the report status(Alexander Duyck) 2. To report hash value of a packet to stack, RSS -> 32bits hash value Perfect match fdir filter -> 13bits hash value Hashed-based fdir filter -> 31bits hash value fdir filter might hash on masked tuples for IP address, so it's still not desirable for usage. So for now, just stick to RSS 32bits hash value. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Suggested-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1e1429d6ce6e6fe38e45c960133e9c9b3c62cbc6 Author: Fan Du <fan.du@xxxxxxxxx> Date: Wed Apr 29 10:57:40 2015 +0800 ixgbevf: Set Rx hash type for ingress packets Set hash type for ingress packets according to NIC advanced receive descriptors RSS type part. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7edda4b8711d58dabb55e6afec03e8177647f266 Author: Fan Du <fan.du@xxxxxxxxx> Date: Wed Apr 29 10:57:39 2015 +0800 ixgbe: Specify Rx hash type WRT Rx desc RSS type RSS could be leveraged by taking account L4 src/dst ports as ingredients, thus ingress skb Rx hash type should honor such the real configuration. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5505bdb54d92267a5b6f092c337bd84d247bcf49 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 22 21:49:32 2015 -0700 ixgbevf: fold ixgbevf_pull_tail into ixgbevf_add_rx_frag This change folds the ixgbevf_pull_tail call into ixgbevf_add_rx_frag. The advantage to doing this is that the fragment doesn't have to be modified after it is added to the skb. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f56e7bba22fad16c0d4fac996623ce1c13244f8f Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 22 21:49:17 2015 -0700 igb: Pull timestamp from fragment before adding it to skb This change makes it so that we pull the timestamp from the fragment before we add it to the skb. By doing this we can avoid a possible issue in which the fragment can possibly be less than IGB_RX_HDR_LEN due to the timestamp being pulled after the copybreak check. While making this change I realized we could also pull the rest of the igb_pull_tail function into igb_add_rx_frag since in the case of igb, unlike ixgbe, we are able to unmap the entire buffer before calling add_rx_frag so merging the two allows for sharing of code between the two merged functions. Reported-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 11b1544b5cfcc8c1ff01d1757397a6ce3c8aa85e Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:37 2015 -0700 dp83640: only report generic filters in ts_info Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7415991ead78de1d340fb55d5b94d5b3287ab785 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:36 2015 -0700 siena: only report generic filters in get_ts_info CC: Solarflare linux maintainers <linux-net-drivers@xxxxxxxxxxxxxx> CC: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 044651f58536f209f1efdcdd1ae20788cf6d05c2 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:35 2015 -0700 ixgbe: only report generic filters in get_ts_info Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 97aebc1b3cdfd445a0a051090f0dcc6018b6df2c Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:34 2015 -0700 igb: only report generic filters in get_ts_info Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c583cc430cf6942548fe658aac5a39eb9f371faf Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:33 2015 -0700 i40e: only report generic filters in get_ts_info Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit dd3950c6d7185fbf9ec78a451b18d8807f35c6f7 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:32 2015 -0700 bnx2x: only report most generic filters in get_ts_info CC: Ariel Elior <ariel.elior@xxxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1c3b8c2fe71a5052270167a1c5786aaf0d86cf19 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:31 2015 -0700 freescale: remove incorrect copied comment The comment in question is word-for-word copied from ixgbe, and clearly has no meaning in freescale's driver. (it even says 'return an error' when the code clearly does not). Remove the comment as it is obviously incorrect and not applicable to the code as it is today. CC: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxx> CC: Vitaly Bordug <vbordug@xxxxxxxxxxxxx> CC: <linuxppc-dev@xxxxxxxxxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit eff3cddc222c88943ff515ae9335687c9e2cbaf6 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:30 2015 -0700 clarify implementation of ethtool's get_ts_info op This patch adds some clarification about the intended way to implement both SIOCSHWTSTAMP and ethtool's get_ts_info. The HWTSTAMP API has several Rx filters which are very specific, as well as more general filters. The specific filters really only exist to support some broken hardware which can't fully implement the generic filters. This patch adds clarification that it is okay to support the specific filters in SIOCSHWTSTAMP by upscaling them to the generic filters. In addition, update the header for ethtool_ts_info to specify that drivers ought to only report the filters they support without upscaling in this manner. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Reviewed-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit def56bba7a5c623fd887d1f4b4c864521d615a76 Author: Shawn Guo <shawnguo@xxxxxxxxxx> Date: Wed Jul 15 10:36:37 2015 +0800 input: snvs_pwrkey: use "wakeup-source" as deivce tree property name Instead of inventing a new property name, let's use "wakeup-source" to be consistent with other driver and subsystem bindings. Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 800e3b9a68011c4124f380d50e2117523c41a843 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 17 16:44:05 2015 -0700 Input: drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7d4938c14d239768a2e0bdd94457f405e6d35555 Author: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Date: Tue Jul 14 14:07:09 2015 +0800 ARM: dts: mediatek: add mt6580 basic support This adds basic chip support for Mediatek 6580. Signed-off-by: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 69a462b9532c906441ccbec52b62e4a8b5f26271 Author: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Date: Tue Jul 14 14:07:08 2015 +0800 Document: DT: Add bindings for mediatek MT6580 SoC Platform This adds a DT binding documentation for the MT6580 SoC from Mediatek. Signed-off-by: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit cdacbe1f91264687af956e810278030f2ab5a3d0 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 11 16:24:45 2015 -0700 rcu: Add fastpath bypassing funnel locking In the common case, there will be only one expedited grace period in the system at a given time, in which case it is not helpful to use funnel locking. This commit therefore adds a fastpath that bypasses funnel locking when the root ->exp_funnel_mutex is not held. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 32bb1c79996069ef9e4e53b428050749f9841c3f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 12:27:31 2015 -0700 rcu: Rename RCU_GP_DONE_FQS to RCU_GP_DOING_FQS The grace-period kthread sleeps waiting to do a force-quiescent-state scan, and when awakened sets rsp->gp_state to RCU_GP_DONE_FQS. However, this is confusing because the kthread has not done the force-quiescent-state, but is instead just starting to do it. This commit therefore renames RCU_GP_DONE_FQS to RCU_GP_DOING_FQS in order to make things a bit easier on reviewers. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b9a425cfcb3c473b4ca2f3dfaeaf13848f4a7976 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 13:50:28 2015 -0700 rcu: Pull out wait_event*() condition into helper function The condition for the wait_event_interruptible_timeout() that waits to do the next force-quiescent-state scan is a bit ornate: ((gf = READ_ONCE(rsp->gp_flags)) & RCU_GP_FLAG_FQS) || (!READ_ONCE(rnp->qsmask) && !rcu_preempt_blocked_readers_cgp(rnp)) This commit therefore pulls this condition out into a helper function and comments its component conditions. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 99a930b0d2b018f31474d69137f311ce3581a4c2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 14:54:09 2015 -0700 documentation: Describe new expedited stall warnings Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit cf3620a6c7798be3395163d3bb863ab378a6aa80 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 11:14:32 2015 -0700 rcu: Add stall warnings to synchronize_sched_expedited() Although synchronize_sched_expedited() historically has no RCU CPU stall warnings, the availability of the rcupdate.rcu_expedited boot parameter invalidates the old assumption that synchronize_sched()'s stall warnings would suffice. This commit therefore adds RCU CPU stall warnings to synchronize_sched_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 2cd6ffafec066118365f6d7eb7a42ea16c1f032c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 29 17:06:39 2015 -0700 rcu: Extend expedited funnel locking to rcu_data structure The strictly rcu_node based funnel-locking scheme works well in many cases, but systems with CONFIG_RCU_FANOUT_LEAF=64 won't necessarily get all that much concurrency. This commit therefore extends the funnel locking into the per-CPU rcu_data structure, providing concurrency equal to the number of CPUs. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 704dd435ac7eaefa89fcd82fd2876b8330e00ff3 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 09:36:29 2015 -0700 rcu: Consolidate last open-coded expedited memory barrier One of the requirements on RCU grace periods is that if there is a causal chain of operations that starts after one grace period and ends before another grace period, then the two grace periods must be serialized. There has been (and might still be) code that relies on this, for example, certain types of reference-counting code that does a call_rcu() within an RCU callback function. This requirement is why there is an smp_mb() at the end of both synchronize_sched_expedited() and synchronize_rcu_expedited(). However, this is the only smp_mb() in these functions, so it would be nicer to consolidate it into rcu_exp_gp_seq_end(). This commit does just that. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4f525a528b9e75571c6bedc6202beff1ced24c32 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 26 11:20:00 2015 -0700 rcu: Apply rcu_seq operations to _rcu_barrier() The rcu_seq operations were open-coded in _rcu_barrier(), so this commit replaces the open-coding with the shiny new rcu_seq operations. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 29fd930940193a9a035a75a3847457160d65559a Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 19:03:16 2015 -0700 rcu: Use funnel locking for synchronize_rcu_expedited()'s polling loop This commit gets rid of synchronize_rcu_expedited()'s mutex_trylock() polling loop in favor of the funnel-locking scheme that was abstracted from synchronize_sched_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 7fd0ddc5bf1ab5259c80a53a01984e13befd658b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 16:35:03 2015 -0700 rcu: Fix synchronize_sched_expedited() type error for "s" The type of "s" has been "long" rather than the correct "unsigned long" for quite some time. This commit fixes this type error. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b09e5f8601d7e5b8d45348c9c09e1fb4109e8dc6 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 16:30:54 2015 -0700 rcu: Abstract funnel locking from synchronize_sched_expedited() This commit abstracts funnel locking from synchronize_sched_expedited() so that it may be used by synchronize_rcu_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 543c6158f6dff20a741dfa492771f18ceaa1a109 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 15:52:50 2015 -0700 rcu: Make synchronize_rcu_expedited() use sequence-counter scheme Although synchronize_rcu_expedited() uses a sequence-counter scheme, it is based on a single increment per grace period, which means that tasks piggybacking off of concurrent grace periods may be forced to wait longer than necessary. This commit therefore applies the new sequence-count functions developed for synchronize_sched_expedited() to speed things up a bit and to consolidate the sequence-counter implementation. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 28f00767e3db933cacc3030f4d9736acd037be2c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 15:00:58 2015 -0700 rcu: Abstract sequence counting from synchronize_sched_expedited() This commit creates rcu_exp_gp_seq_start() and rcu_exp_gp_seq_end() to bracket an expedited grace period, rcu_exp_gp_seq_snap() to snapshot the sequence counter, and rcu_exp_gp_seq_done() to check to see if a full expedited grace period has elapsed since the snapshot. These will be applied to synchronize_rcu_expedited(). These are defined in terms of underlying rcu_seq_start(), rcu_seq_end(), rcu_seq_snap(), rcu_seq_done(), which will be applied to _rcu_barrier(). One reason that this commit doesn't use the seqcount primitives themselves is that the smp_wmb() in those primitive is insufficient due to the fact that expedited grace periods do reads as well as writes. In addition, the read-side seqcount primitives detect a potentially partial change, where the expedited primitives instead need a guaranteed full change. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 3a6d7c64d78a78d279851524d39999637a549363 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Jun 25 11:27:10 2015 -0700 rcu: Make expedited GP CPU stoppage asynchronous Sequentially stopping the CPUs slows down expedited grace periods by at least a factor of two, based on rcutorture's grace-period-per-second rate. This is a conservative measure because rcutorture uses unusually long RCU read-side critical sections and because rcutorture periodically quiesces the system in order to test RCU's ability to ramp down to and up from the idle state. This commit therefore replaces the stop_one_cpu() with stop_one_cpu_nowait(), using an atomic-counter scheme to determine when all CPUs have passed through the stopped state. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 385b73c06f6a733547d0a7714d0c4cb4c8788b88 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 14:20:08 2015 -0700 rcu: Get rid of synchronize_sched_expedited()'s polling loop This commit gets rid of synchronize_sched_expedited()'s mutex_trylock() polling loop in favor of a funnel-locking scheme based on the rcu_node tree. The work-done check is done at each level of the tree, allowing high-contention situations to be resolved quickly with reasonable levels of mutex contention. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d6ada2cf2f81dab8a231d0ef8fb5dec4f5ac8379 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 10:46:30 2015 -0700 rcu: Rework synchronize_sched_expedited() counter handling Now that synchronize_sched_expedited() have a mutex, it can use simpler work-already-done detection scheme. This commit simplifies this scheme by using something similar to the sequence-locking counter scheme. A counter is incremented before and after each grace period, so that the counter is odd in the midst of the grace period and even otherwise. So if the counter has advanced to the second even number that is greater than or equal to the snapshot, the required grace period has already happened. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c190c3b16c0f56ff338df12df53c03859155951b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jun 23 19:03:45 2015 -0700 rcu: Switch synchronize_sched_expedited() to stop_one_cpu() The synchronize_sched_expedited() currently invokes try_stop_cpus(), which schedules the stopper kthreads on each online non-idle CPU, and waits until all those kthreads are running before letting any of them stop. This is disastrous for real-time workloads, which get hit with a preemption that is as long as the longest scheduling latency on any CPU, including any non-realtime housekeeping CPUs. This commit therefore switches to using stop_one_cpu() on each CPU in turn. This avoids inflicting the worst-case scheduling latency on the worst-case CPU onto all other CPUs, and also simplifies the code a little bit. Follow-up commits will simplify the counter-snapshotting algorithm and convert a number of the counters that are now protected by the new ->expedited_mutex to non-atomic. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> [ paulmck: Kept stop_one_cpu(), dropped disabling of "guardrails". ] Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 75c27f119b6475d95374bdad872c6938b5c26196 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 15:22:43 2015 -0700 rcu: Remove CONFIG_RCU_CPU_STALL_INFO The CONFIG_RCU_CPU_STALL_INFO has been default-y for a couple of releases with no complaints, so it is time to eliminate this Kconfig option entirely, so that the long-form RCU CPU stall warnings cannot be disabled. This commit does just that. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9b683874504a57cfa97558d403c75e286e20c9ce Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 14:50:22 2015 -0700 rcu: Stop disabling CPU hotplug in synchronize_rcu_expedited() The fact that tasks could be migrated from leaf to root rcu_node structures meant that synchronize_rcu_expedited() had to disable CPU hotplug. However, tasks now stay put, so this commit removes the CPU-hotplug disabling from synchronize_rcu_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 13bd64947f53ba8d7199922be94b6626b8e222d7 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 4 10:06:01 2015 -0700 rcu: Reset rcu_fanout_leaf if out of bounds Currently if the rcu_fanout_leaf boot parameter is out of bounds (that is, less than RCU_FANOUT_LEAF or greater than the number of bits in an unsigned long), a warning is issued and execution continues with the out-of-bounds value. This can result in all manner of failures, so this patch resets rcu_fanout_leaf to RCU_FANOUT_LEAF when an out-of-bounds condition is detected. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 032dfc87225c96ec1771e5967436c4b23d1dc5d6 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Thu Jul 9 15:34:23 2015 +0200 rcu: Shut up bogus gcc array bounds warning Because gcc does not realize a loop would not be entered ever (i.e. in case of rcu_num_lvls == 1): for (i = 1; i < rcu_num_lvls; i++) rsp->level[i] = rsp->level[i - 1] + levelcnt[i - 1]; some compiler (pre- 5.x?) versions give a bogus warning: kernel/rcu/tree.c: In function â??rcu_init_one.isra.55â??: kernel/rcu/tree.c:4108:13: warning: array subscript is above array bounds [-Warray-bounds] rsp->level[i] = rsp->level[i - 1] + rsp->levelcnt[i - 1]; ^ Fix that warning by adding an extra item to rcu_state::level[] array. Once the bogus warning is fixed in gcc and kernel drops support of older versions, the dummy item may be removed from the array. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Suggested-by: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c02e0e86d3043e63236d7cd2e9e4259f12ac6991 Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Thu Jul 9 11:32:05 2015 +0800 arm64: dts: mt8173: Add afe device node This adds afe (audio front end) device node to the MT8173 dtsi file. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 42994af63cd1aafc9289035cf621e501b08732e9 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 19 17:18:05 2015 +0530 cpufreq: governor: rename cur_policy as policy Just call it 'policy', cur_policy is unnecessarily long and doesn't have any special meaning. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 49a9a40c1b48d24f0fd9a6b6be8a4038f47d13bf Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 19 17:18:04 2015 +0530 cpufreq: governor: name pointer to cpu_dbs_info as 'cdbs' It is called as 'cdbs' at most of the places and 'cpu_dbs' at others. Lets use 'cdbs' consistently for better readability. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 875b8508f9607b92e3ef4ece2fddf86d61351085 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 19 17:18:03 2015 +0530 cpufreq: governor: Rename 'cpu_dbs_common_info' to 'cpu_dbs_info' Its not common info to all CPUs, but a structure representing common type of cpu info to both governor types. Lets drop 'common_' from its name. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d3574c851148266177ea9ecae10a317e6eae94de Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 19 17:18:02 2015 +0530 cpufreq: governor: Drop unused field 'cpu' Its not used at all, drop it. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 386d46e6d5238c9648399eb1e0c418d06f4126a2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 19 17:18:01 2015 +0530 cpufreq: governor: Name delayed-work as dwork Delayed work was named as 'work' and to access work within it we do work.work. Not much readable. Rename delayed_work as 'dwork'. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f4745a92781b872455f32feb01d1dce92aefcb6c Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Jun 29 22:13:38 2015 +0100 PM / clk: don't return int on __pm_clk_enable() Static analysis by cppcheck found an issue that was recently introduced by commit 471f7707b6f0b1 ("PM / clock_ops: make __pm_clk_enable more generic") where a return status in ret was not being initialised and garbage being returned when ce->status >= PCE_STATUS_ERROR. The fact that ret is not being checked by the caller and that ret is only used internally __pm_clk_enable() to check if clk_enable() was OK means we can ignore returning it instead turn __pm_clk_enable() into function with a void return. Fixes: 471f7707b6f0b1 ("PM / clock_ops: make __pm_clk_enable more generic") Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1dcc3d3362b0c97e48290f7786be85b4cec2a147 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Jul 17 22:54:09 2015 +0200 ACPI / bus: Move ACPI bus type registration Move the registration of the ACPI bus type to acpi_bus_init() and avoid using ACPI going forward if it fails (too many things depend on the presence of the ACPI bus type). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5894b0c46e49b5ecc25f22b2d1b8232aab00ce97 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Jul 17 22:54:01 2015 +0200 ACPI / scan: Move bus operations and notification routines to bus.c To reduce the size of scan.c and improve the readability of it, move code related to device notification, the definitions of the ACPI bus operations and the driver management code to drivers/acpi/bus.c. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 68c6b148daa6e45a85b31ef60ed9c9bfd556fff0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Jul 17 22:53:52 2015 +0200 ACPI / scan: Move device matching code to bus.c To reduce the size of scan.c and improve the readability of it, move code related device matching into drivers/acpi/bus.c. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c2efefb33abfb245395199137ece3c1e3df47f51 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Jul 17 22:53:43 2015 +0200 ACPI / scan: Move sysfs-related device code to a separate file To reduce the size of scan.c and improve the readability of it, move all code related to device sysfs, modalias creation etc. to a new file called device_sysfs.c. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e0548f1979bfee900fb0671a5dd3a2f217dce5df Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 17 22:24:32 2015 +0200 drm/i915: Update DRIVER_DATE to 20150717 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6de52c15132f6b86030bf3159020e3314ec14952 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Jul 17 21:37:09 2015 +0800 pinctrl: pinconf: pinconf_show_config() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit eeef97b182fcbd4e32803be4f0b369d51e4c8535 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:55:27 2015 +0200 pinctrl/sunxi: Prepare sunxi_pinctrl_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 3b0d1561ea5787a40b2f014d4f3dc48a575c3675 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:54:35 2015 +0200 pinctrl/sirf: Prepare xxx_gpio-handle_irq for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit d1800c234703465b1f0b75aba51e27d7a3f47060 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:53:06 2015 +0200 pinctrl/qcom/msm: Prepare msm_gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 415f748c8658033d37af520dfa321a9413b7d665 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:52:00 2015 +0200 pinctrl/rockchip: Prepare rockchip_irq_demux for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit f43ebaf126d3f4b869ba5bcfb11a00f33f0892cf Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:50:50 2015 +0200 pinctrl/pistachio: Prepare pistachio_gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit fc02a46938fa2dd2494e20ca7b81c687bd027df4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:50:02 2015 +0200 pinctrl/coh901: Prepare u300_gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit fa00fecc16acd80b455f14803ad35195cdcef65d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:48:51 2015 +0200 pinctrl/amd: Prepare amd_gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5663bb27dec1a2bfaf9d92e3685834b91a36a5a3 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:16 2015 +0800 pinctrl: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f66eb498ff131d52f9c7b73f0a25a5e3b9095528 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:57 2015 +0200 pinctrl/samsung: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 40ec168ace3b963ddf768919ce96461ed885f9c8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:57 2015 +0200 pinctrl/exynos: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 34c0ad84f316e19f06af3c2764fe20cac110d985 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:51 2015 +0200 pinctrl/qcom: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 2dbf1bc5a29c5912679d687d2a826f201e75e89d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:50 2015 +0200 pinctrl/rockchip: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit c639845bcb87df4abffab94d72bd165d203c34a1 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:49 2015 +0200 pinctrl/at91: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 9d8293147e8a09ac42018cfeb672cc0a3b90f65b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:47 2015 +0200 pinctrl/amd: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit e0d6a2c6cefc50f123a2386686738820d9a088c6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:47 2015 +0200 pinctrl/adi2: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and update was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit fc756bcd6aadbc59fa7142521729c8d38096ef9c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:45 2015 +0200 pinctrl/intel: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit a4e3f7830fb742039c2c24535af931df3d6d2124 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:44 2015 +0200 pinctrl/cherryview: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit f3a085b4174e5806e2e6543323f9a70435ca0098 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:44 2015 +0200 pinctrl/baytrail: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 1aa74fd0bb2cc344c18a625fa1d8e75c00b9bbf8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:41 2015 +0200 pinctrl/bcm2835: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit c21f7849f126570c0bb1ececbb3ddba7b20cfc03 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:07 2015 +0200 pinctrl/exynos: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 20d5d142a645600f28cf42b8e3336f7309897b1e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:06 2015 +0200 pinctrl: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 03051bc242209f7130aec42d1a6ecb3be9f8f93b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:06 2015 +0200 pinctrl/rockchip: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 8f1338cd80648adf5434798f5393ad7c55d10848 Author: Timur Tabi <timur@xxxxxxxxxxxxxx> Date: Wed Jul 15 11:47:14 2015 -0500 pinctrl: add support for Qualcomm Technologies QDF2xxx ARM64 SoCs Add the pinctrl driver for the Qualcomm Technologies QDF2xxx ARM64 SoCs, which uses the Qualcomm Technologies TLMM pinctrl/gpio device. This driver is probed via ACPI and uses the pinctrl-msm.c backend driver. This driver is intended to be used only an ACPI-enabled system. As such, UEFI will handle all pin control configuration, so this driver does not provide pin control functions. It is effectively a GPIO-only driver. Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b4c45fe974bc5fa6240a729ea1f77db8b56d132a Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Jul 14 23:40:35 2015 -0700 pinctrl: qcom: ssbi: Family A gpio & mpp drivers This introduces pinctrl drivers for gpio and mpp blocks found in family A PMICs. Tested-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d57b1d2860a5035288f3630d126646089f71984d Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Jul 7 14:45:13 2015 +0200 ARM: dts: mediatek mt8135: Use real UART clocks We used to provide dummy clocks for the UART. Now that we have common clock support we can provide the real clocks to the UART. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit aada7d5298a78b03dfdf686e9c88a99e35ccc414 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Jul 7 14:45:12 2015 +0200 ARM: dts: mt8135-evbp1: Add PMIC support The MT8135 eval board contains a MT6397 PMIC. This adds the corresponding device node to the dts file. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 8dd29d28ac83891b2526d8aeec755c3ac49aa138 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Jul 7 14:45:11 2015 +0200 ARM: dts: mt8135: Add pmic wrapper nodes This adds the pmic wrapper node to the MediaTek MT8135 dtsi file. This unit is used to access the PMIC on MediaTek boards. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 3cc17a5c262c500328965ca5d9c3aa826f0815f5 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Tue Jul 7 14:45:10 2015 +0200 ARM: dts: mediatek: Enable clock support for Mediatek MT8135. This patch adds MT8135 clock controllers into device tree. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 41a5fefeff21bb08438383c0a6b5a06045775969 Merge: c418a84 8019ff6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 17 19:32:04 2015 +0100 Merge tag 'regmap-seq-delay-api' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-reg-default regmap: Create a new struct reg_sequence for register sequences In order to allow us to start adding extra annotations for sequences without bloating register default tables duplicate the structure under the new name reg_sequence and update the APIs to use that instead of reg_default. Conflicts: sound/soc/codecs/da7210.c sound/soc/codecs/rt5651.c sound/soc/codecs/wm8993.c commit 54e7ad47c94d26614acb4fcc577a79b3347c2d86 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 16 21:35:28 2015 +0200 spi: mpc512x-psc: adapt mpc5121-psc document to reality The drivers support MPC5125 additionally to MPC5121, and there is an spi mode that is also supported. Additionally some minor corrections are done. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8bf960985dfc9fcb231a07dc3102ed828f66fe81 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Jul 14 11:19:56 2015 +0200 spi: mpc512x-psc: add support for Freescale MPC5125 The register layout of the PSC devices differ between MPC5121 and MPC5125, but the registers are named nearly identical and their purpose is similar enough ("freescale identical") such that substituting mpc52xx_psc by mpc5125_psc is nearly enough to make the driver work on MPC5125. To keep supporting MPC5121 this patch introduces a cpp macro to select the right struct that defines the register layout. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 70fb10529f61c31c26397a02091177bedd23217d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:17:36 2015 +0000 ASoC: rsnd: add MIX (Mixer) support This patch adds MIX (Mixer) initial support for rsnd driver. It is assuming that this MIX is used via DPCM. This is sample code for playback. CPU0 : [MEM] -> [SRC1] -> [CTU02] -+ | +-> [MIX0] -> [DVC0] -> [SSI0] | CPU1 : [MEM] -> [SRC2] -> [CTU03] -+ sound { compatible = "renesas,rsrc-card"; ... cpu@0 { sound-dai = <&rcar_sound 0>; }; cpu@1 { sound-dai = <&rcar_sound 1>; }; codec { ... }; }; rcar_sound { ... rcar_sound,dai { dai0 { playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>; }; dai1 { playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>; }; }; }; Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9269e3c3cfac277a49b485e27ac6850f9a11a259 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:17:17 2015 +0000 ASoC: rsnd: add CTU (Channel Transfer Unit) prototype support This patch adds CTU (Channel Transfer Unit) support for rsnd driver. But, it does nothing to data at this point, but is required for MIX support. CTU design is a little different from other IPs (CTU0 is including CTU00 - CTU03, and CTU1 is including CTU10 - CTU13, these have different register mapping) We need to care about it on this driver. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7dfb49194557ccf27ab99c8c04c021320e7ae458 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:16:56 2015 +0000 ASoC: rsnd: update Audio DMA path search method Current rsnd driver is assuming Audio DMAC / Audio DMAC peri peri are used from SSI/SSIU/SRC/DVC. But we will add CTU/MIX to this driver. Then, current DMA path searching method is not understandable, and good enough for this purpose. This patch update DMA path search method, more simply. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dc606e05468fc5e3b125bffdd54253f853bfbb8e Author: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 15:11:10 2015 +0100 ASoC: wm5110: Use reg_sequence for multi_reg_write/register_patch Introduced by: commit 8019ff6cfc04 ("regmap: Use reg_sequence for multi_reg_write / register_patch") Interacting with: commit d1acd31883d7 ("ASoC: wm5110: Add special DRE on/off handling for the headphone path") Signed-off-by: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da7b33739ebefca48259e4741376b9c77015d9d0 Merge: d1acd31 8019ff6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 17 18:57:41 2015 +0100 Merge tag 'regmap-seq-delay-api' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-wm5110 regmap: Create a new struct reg_sequence for register sequences In order to allow us to start adding extra annotations for sequences without bloating register default tables duplicate the structure under the new name reg_sequence and update the APIs to use that instead of reg_default. commit 18eb5e9fb2936cb5d4b6899a102e97d84547f2f5 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Mon Jul 13 23:20:12 2015 +0200 doc: dt: add documentation for pl172 memory bindings Add documentation for configuration and timing setup of static memory devices on the ARM PL172 controller. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 17c50b700c3b46fe85e96caa1d0fc5940cc276d4 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Mon Jul 13 23:20:11 2015 +0200 memory: add ARM PL172 MultiPort Memory Controller driver This driver makes it possible to configure the static memory chip selects on the ARM PL172 MultiPort Memory Controller from a set of properties in DT. Configuration of dynamic memory is not supported and is left to the boot loader. The intended usage is to setup timing and configuration for static memory devices like NAND and NOR Flash before they are probed by a driver. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit af3761246c18f8d4b2c5b6b7acb2cfce911b8530 Merge: fb61a92 4863dcd Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:37:26 2015 -0700 Merge tag 'v4.3-rockchip32-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Merge "Rockchip dts changes for 4.3, part1" from Heiko Stuebner: This adds the board for the Netxeon R89 used in different TV-boxes and the initial support for two Chromebooks from the veyron family. Additionally a non-critical fix for the watchdog irq on rk3288, addition of the gmac reset line, a ramp delay for the cpu regulator on the firefly board and cpu affinity for the arm-pmu spi irqs. * tag 'v4.3-rockchip32-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: add rk3288 arm-pmu irq affinity dt-bindings: document rk3368 R88 board from Rockchip ARM: dts: rockchip: add missing device_type = "memory" to boards ARM: dts: rockchip: add veyron-pinky board ARM: dts: rockchip: add veyron-jerry board ARM: dts: rockchip: add shared rk3288-veyron files ARM: dts: Add sbs-battery dts fragment used by chromebooks ARM: dts: rockchip: add Netxeon R89 board dt-bindings: add vendor prefix for Netxeon Technology ARM: dts: rockchip: fix rk3288 watchdog irq ARM: dts: rockchip: Add ramp delay for vdd_cpu in firefly board dts ARM: dts: rockchip: Add STMMAC reset signal in GMAC interface for rk3288 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d7030a08f6b05b3d146601b1f33595e2f5585117 Merge: bc0195a cb8cc37 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:36:32 2015 -0700 Merge tag 'v4.3-rockchip32-soc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc Merge "Rockchip soc changes for 4.3, part1" from Heiko Stuebner: Some suspend improvements enabling the possibility to wakeup from usbphy events and a rework of how cpu cores are brought up and down, as it was possible to produce lockups when hammering the cpu hotplug functions. * tag 'v4.3-rockchip32-soc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: rockchip: fix broken build ARM: rockchip: remove some useless macro in pm.h ARM: rockchip: add support holding 24Mhz osc during suspend ARM: rockchip: fix the SMP code style ARM: rockchip: ensure CPU to enter WFI/WFE state ARM: rockchip: fix the CPU soft reset ARM: rockchip: restore dapswjdp after suspend Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b790c2cab5ca641804c2e48c7506e166fff5a442 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Fri Jul 17 00:34:53 2015 +0200 arm64: dts: add Rockchip rk3368 core dtsi and board dts for the r88 board In terms of peripherals the rk3368 is quite similar to the rk3288, which makes it possible to have a lot basic components working in the first go. More to follow once I tracked down all the tiny differences that still exist in some parts. With these dts files, the R88 board is able to boot from an attached usb device and most likely from its emmc too, if the emmc uses a standard partition table instead of Rockchip's own one - the emmc itself is detected correctly. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ee0ee14ebf3a15bb1d189a4e80f0dea084faad5f Merge: c425b5c 3536c97 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:34:58 2015 -0700 Merge branch 'depends/clk-rk3368' into next/arm64 Merge in dependent stable branch with clk driver for RK3368, needed for the dt binding header files. * depends/clk-rk3368: clk: rockchip: add rk3368 clock controller clk: rockchip: add missing include guards clk: rockchip: add dt-binding header for rk3368 dt-bindings: add documentation of rk3668 clock controller clk: rockchip: define the inverters of rk3066/rk3188 and rk3288 clk: rockchip: fix issues in the mmc-phase clock clk: rockchip: add support for phase inverters clk: rockchip: add COMPOSITE_NOGATE_DIVTBL variant clk: rockchip: protect register macros against multipart values clk: rockchip: fix faulty vip parent name on rk3288 clk: rockchip: rk3288: add CLK_SET_RATE_PARENT to sclk_mac Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c425b5c9bc31134e212b75c0d61b971ccf935846 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Fri Jul 17 00:34:23 2015 +0200 arm64: defconfig: enable ARCH_ROCKCHIP Enable building Rockchip support in the defconfig. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fbac1c81e2591c5d1e5abd9a4477002f2afd0ab4 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Fri Jul 17 00:33:51 2015 +0200 arm64: add Rockchip architecture entry The rk3368 is Rockchip's first ARM64 soc, build around 8 Cortex-A53 cores. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit eed6b3eb20b97beff66ca59bb610ac73532278ee Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Jul 15 07:10:21 2015 -0400 arm64: Split out platform options to separate Kconfig Let's move out the platform Kconfig entries to a separate file, since these changes usually get moved through arm-soc instead of the arm64 arch tree, and this will lead to fewer conflicts Signed-off-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ea7b44b6e95750e1784ce34e7688a974976d2ad1 Merge: 30e714c b471e7f Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:23:08 2015 -0700 Merge tag 'ep93xx-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/defconfig Merge "EP93xx defconfig changes" from Linus Walleij: This updates the EP93xx defconfig to use NO_HZ and high resolution timers, and to by default enable and compile all board variants now that we can have a single kernel, and enable all EP93xx-specific drivers that sit in various sites across the kernel. * tag 'ep93xx-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: ep93xx: add framebuffer to the defconfig ARM: ep93xx: add DMA engine to the defconfig ARM: ep93xx: add GPIO I2C to defconfig ARM: ep93xx: add LEDs and triggers to defconfig ARM: ep93xx: enable SIM.ONE MMC/SD hardware ARM: ep93xx: enable all boards in the EP93xx defconfig ARM: ep93xx: activate NO_HZ and high-res timers Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit cd392752e357b150912f4c38a856dabed3ac7327 Merge: 6339189 109965a Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:20:46 2015 -0700 Merge tag 'ep93xx-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/cleanup Merge "EP93xx cleanups for v4.3" from Linus Walleij: EP93xx cleanup and completing developments. This switches EP93xx to generic time and brings in a few out-of-tree small patches that were stalled for ages. It also removes the need for memory config options and instead moves over to using PATCH_PHYS_VIRT. * tag 'ep93xx-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: ep93xx: simone: enable DMA on the SPI host ARM: ep93xx: vision_ep9307: add audio support ARM: ep93xx: vision_ep9307: enable DMA for SPI ARM: ep93xx: toss the device ID into the entropy pool ARM: ep93xx: remove memory configuration options ARM: ep93xx: update comment on timer usage ARM: ep93xx: switch clockevent to timer 3 ARM: ep93xx: use non-raw accessors for timer ARM: ep93xx: switch to GENERIC_CLOCKEVENTS ARM: ep93xx: move timer to its own file Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6339189e9fcc74becd65ea2a3ac18a8ce767eb19 Merge: 3bf7b20 ffb910d Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:19:04 2015 -0700 Merge tag 'arm-soc/for-4.3/soc' of http://github.com/broadcom/stblinux into next/cleanup Merge "Broadcom SoC changes for 4.3 (part 1)" from Florian Fainelli: This pull request contains two fixes for the Broadcom BCM63xx SMP code: - Sudeep removes an invalid use of cpu_logical_map() which turned to be a no-op since we always boot from physical CPU 0 = logical CPU 0 - Florian removes the custom secondary_startup function and replaces it with the generic one * tag 'arm-soc/for-4.3/soc' of http://github.com/broadcom/stblinux: ARM: BCM63xx: Remove custom secondary_startup function ARM: BCM63xx: fix parameter to of_get_cpu_node in bcm63138_smp_boot_secondary Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fb61a92190f630c7090907197557f3f780269561 Merge: 858ed8c 0dfc7f6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:16:36 2015 -0700 Merge tag 'arm-soc/for-4.3/dts' of http://github.com/broadcom/stblinux into next/dt Merge "Broadcom Device Tree changes for 4.3 (part 1)" from Florian Fainelli: This pull request contains two changes: - Ray adds the relevant clocks device tree nodes for Cygnus SoCs - Rafal enables UART0 on BCM5301X routers where it has been verified to work correctly * tag 'arm-soc/for-4.3/dts' of http://github.com/broadcom/stblinux: ARM: BCM5301X: Enable UART0 on tested devices ARM: dts: enable clock support for Broadcom Cygnus Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 30e714c18c9b5fba273648b46003836a738a0a5f Merge: 91e2213 adfe5f2 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:09:14 2015 -0700 Merge tag 'mvebu-config-4.3-1' of git://git.infradead.org/linux-mvebu into next/defconfig Merge "ARM: mvebu: config changes for v4.3" from Gregory Clement: mvebu config changes for v4.3 (part #1) update mvebu_v7_defconfig with features needed for Armada 388 GP * tag 'mvebu-config-4.3-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: update mvebu_v7_defconfig with features needed for Armada 388 GP Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 858ed8cbb3010be5240f18719231dd625cfd549d Merge: 4a7514f 7e5308b Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:08:17 2015 -0700 Merge tag 'mvebu-dt-4.3-1' of git://git.infradead.org/linux-mvebu into next/dt Merge "ARM: mvebu: dt changes for v4.3" from Gregory Clement: mvebu dt changes for v4.3 (part #1) - Update Armada 388 GP description - Add Buffalo Linkstation LS-WXL and LS-WSXL - Fine-tune the L2 configuration for cortex A9 based SoC - Update XOR definition for Armada 38x and 39x SoC * tag 'mvebu-dt-4.3-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: update EEPROM description of Armada 388 GP ARM: mvebu: fix description of pwr-sata0 regulator on Armada 388 GP ARM: dts: add buffalo linkstation ls-wvl/vl ARM: dts: add buffalo linkstation ls-wxl/wsxl ARM: mvebu: use DT properties to fine-tune the L2 configuration ARM: mvebu: use armada-380-xor on Armada 38x and 39x Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3bf7b20a0e23729383b43c89585e733f0b575aca Merge: 52e43a1 7a1436d Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:01:34 2015 -0700 Merge tag 'mvebu-cleanup-4.3-1' of git://git.infradead.org/linux-mvebu into next/cleanup Merge "ARM: mvebu: cleanup changes for v4.3" from Gregory Clement: mvebu cleanup changes for v4.3 (part #1) - Use vsprintf %pM extension on orion5x board to format mac address - Add missing newline at end of messages on pr_warn when CPU Idle on Armada 38x is disabled * tag 'mvebu-cleanup-4.3-1' of git://git.infradead.org/linux-mvebu: ARM: orion5x: Use vsprintf %pM extension ARM: mvebu: add missing newline at end of messages Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 52e43a11aed3f8166ba311744637d636a8a79096 Merge: b3f8173 10dca88 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 09:58:32 2015 -0700 Merge branch 'ARM/clkevt/set-state-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/linux into next/cleanup Merge "ARM: clockevents: Migrate to 'set-state' callbacks" from Viresh Kumar: This series migrates ARM clockevent drivers (present in arch/arm/ directory), to the new set-state interface. This would enable these drivers to use new states (like: ONESHOT_STOPPED, etc.) of a clockevent device (if required), as the set-mode interface is marked obsolete now and wouldn't be expanded to handle new states. * 'ARM/clkevt/set-state-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/linux: ARM/orion/time: Migrate to new 'set-state' interface ARM/iop/time: Migrate to new 'set-state' interface ARM/w90x900/time: Migrate to new 'set-state' interface ARM/SPEAr/time: Migrate to new 'set-state' interface ARM/omap2/timer: Migrate to new 'set-state' interface ARM/omap1/timer32: Migrate to new 'set-state' interface ARM/omap1/time: Migrate to new 'set-state' interface ARM/netx/time: Migrate to new 'set-state' interface ARM/mmp/time: Migrate to new 'set-state' interface ARM/lpc32xx/timer: Migrate to new 'set-state' interface ARM/ks8695/time: Migrate to new 'set-state' interface ARM/ixp4xx/timer: Migrate to new 'set-state' interface ARM/imx/epit: Migrate to new 'set-state' interface ARM/gemini/time: Migrate to new 'set-state' interface ARM/dc21285-timer: Migrate to new 'set-state' interface ARM/davinci/time: Migrate to new 'set-state' interface ARM/cns3xxx/timer: Migrate to new 'set-state' interface ARM/smp_twd: Migrate to new 'set-state' interface Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4a7514f717e44999b5c974ad6d5f8a9ccb4d0ed3 Merge: b1d725e e794db2 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 09:53:02 2015 -0700 Merge branch 'lpc18xx_43xx_dts_4.3' of https://github.com/manabian/linux-lpc into next/dt Merge "LPC18xx DTS changes for 4.3" from Joachim Eastwood: This patch set adds DT nodes for all the drivers that went upstream in 4.2 and should represent the bulk of DTS changes for 4.3. All nodes added are documented and some of patches carries a ack from subsystem maintainer. It also features updates to the EA4357 dev- kit and a new board from Ezequiel Garcia. Note that there might be one more batch of DTS changes for 4.3 if any new drivers goes upstream and also some changes for the Hitex eval board might come. * 'lpc18xx_43xx_dts_4.3' of https://github.com/manabian/linux-lpc: ARM: dts: add DT for CIAA LPC4337 industrial computer of: add vendor prefix for CIAA project ARM: dts: lpc4357-ea4357: add uart3 ARM: dts: lpc4357-ea4357: add ethernet ARM: dts: lpc4357-ea4357: add gpio joystick ARM: dts: lpc4357-ea4357: add mmcsd ARM: dts: lpc4357-ea4357: add pinctrl and uart0 muxing ARM: dts: lpc18xx: add usb nodes ARM: dts: lpc18xx: add ethernet node ARM: dts: lpc18xx: add creg (syscon) node ARM: dts: lpc18xx: add mmcsd node ARM: dts: lpc18xx: add can nodes ARM: dts: lpc18xx: add ssp nodes ARM: dts: lpc18xx: add gpio node ARM: dts: lpc18xx: add pinctrl node ARM: dts: lpc18xx: add uart new compat string and clk names ARM: dts: lpc18xx: add cgu and ccu clock-controller nodes Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 27977b69e493c9b259eb0490534e0f74bc325ba8 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Jul 17 11:33:16 2015 -0400 ext4 crypto: check for too-short encrypted file names An encrypted file name should never be shorter than an 16 bytes, the AES block size. The 3.10 crypto layer will oops and crash the kernel if ciphertext shorter than the block size is passed to it. Fortunately, in modern kernels the crypto layer will not crash the kernel in this scenario, but nevertheless, it represents a corrupted directory, and we should detect it and mark the file system as corrupted so that e2fsck can fix this. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 806c24adf74ec02543e4dcad989c0336f9fe82c4 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Jul 17 11:16:47 2015 -0400 ext4 crypto: use a jbd2 transaction when adding a crypto policy Start a jbd2 transaction, and mark the inode dirty on the inode under that transaction after setting the encrypt flag. Otherwise if the directory isn't modified after setting the crypto policy, the encrypted flag might not survive the inode getting pushed out from memory, or the the file system getting unmounted and remounted. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 2091f5181c66b3617a977e79843aba10e087be6c Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 10 10:49:26 2015 -0300 [media] videobuf2: add trace events Add videobuf2 specific vb2_qbuf and vb2_dqbuf trace events that mirror the v4l2_qbuf and v4l2_dqbuf trace events, only they include additional information about queue fill state and are emitted right before the buffer is enqueued in the driver or userspace is woken up. This allows to make sense of the timeline of trace events in combination with others that might be triggered by __enqueue_in_driver. Also two new trace events vb2_buf_queue and vb2_buf_done are added, allowing to trace the handover between videobuf2 framework and driver. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c13a5ccf5da86239213033214658b8a170eeab87 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 10 10:49:25 2015 -0300 [media] v4l2-mem2mem: set the queue owner field just as vb2_ioctl_reqbufs does The queue owner will be used by videobuf2 trace events to determine and record the device minor number. It is set in v4l2_m2m_reqbufs instead of v4l2_m2m_ioctl_reqbufs because several drivers implement their own vidioc_reqbufs handlers that still call v4l2_m2m_reqbufs directly. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 85efe4e5082c381262f5303d20f808ac455b028e Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 10 10:49:24 2015 -0300 [media] v4l2-dev: use event class to deduplicate v4l2 trace events Trace events with exactly the same parameters and trace output, such as v4l2_qbuf and v4l2_dqbuf, are supposed to use the DECLARE_EVENT_CLASS and DEFINE_EVENT macros instead of duplicated TRACE_EVENT macro calls. Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0034af036554c39eefd14d835a8ec3496ac46712 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Jul 16 09:14:26 2015 -0600 block: make /sys/block/<dev>/queue/discard_max_bytes writeable Lots of devices support huge discard sizes these days. Depending on how the device handles them internally, huge discards can introduce massive latencies (hundreds of msec) on the device side. We have a sysfs file, discard_max_bytes, that advertises the max hardware supported discard size. Make this writeable, and split the settings into a soft and hard limit. This can be set from 'discard_granularity' and up to the hardware limit. Add a new sysfs file, 'discard_max_hw_bytes', that shows the hw set limit. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2bb4cd5cc472b191a46938becb7dafdd44644329 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Jul 14 08:15:12 2015 -0600 block: have drivers use blk_queue_max_discard_sectors() Some drivers use it now, others just set the limits field manually. But in preparation for splitting this into a hard and soft limit, ensure that they all call the proper function for setting the hw limit for discards. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6c71013ecb7e2bddbed9f5b95e7aed22c491daa9 Author: Ming Lei <tom.leiming@xxxxxxxxx> Date: Thu Jul 16 11:16:45 2015 +0800 block: partition: convert percpu ref Percpu refcount is the perfect match for partition's case, and the conversion is quite straight. With the convertion, one pair of atomic inc/dec can be saved for accounting block I/O, which is run in hot path of block I/O. Signed-off-by: Ming Lei <tom.leiming@xxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b54e5ed8f285d62c0d242c4ef9da90937994db02 Author: Ming Lei <tom.leiming@xxxxxxxxx> Date: Thu Jul 16 11:16:44 2015 +0800 block: partition: introduce hd_free_part() So the helper can be used in both generic partition case and part0 case. Signed-off-by: Ming Lei <tom.leiming@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6727d4fce95586e60922bdaf57b8a0eb99482557 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 16 13:19:39 2015 -0300 [media] coda: make NV12 format default The chroma interleaved NV12 format has higher memory bandwidth efficiency because the chroma planes can be read/written with longer burst lengths. Use NV12 as default format if available and consistently sort it first. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a269e53b1aa87157311e53e5b69699ba8f3ba4d0 Author: Philipp Zabel <philipp.zabel@xxxxxxxxx> Date: Thu Jul 16 13:19:38 2015 -0300 [media] coda: add macroblock tiling support Storing internal frames in macroblock tiled order improves memory access patterns by allowing increased burst sizes when transferring the uncompressed macroblocks to or from main memory. The translation logic only supports a single chroma base address, so this is only supported for the chroma interleaved NV12 format. Since the rotator used to copy the decoder output into the v4l2 capture buffers does not seem to support the tiled format correctly, only enable it in the encoder for now. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fbce23a0b95763dfc4961ce6240e055c39f497ed Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Jul 17 16:27:33 2015 +0200 ALSA: hda - Check the return value from pm_runtime_get/put*() This patch changes the return type of snd_hdac_power_up/down() and variants to pass the error code from the underlying pm_runtime_get/put() calls. Currently they are ignored, but in most places, these should be handled properly. As an example, the regmap handler is updated to check the return value and accesses the register only when the wakeup succeeds. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4e447ff199cfc4bc04ddb515d3d9ab46bb19530a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 16 13:19:37 2015 -0300 [media] coda: move cache setup into coda9_set_frame_cache, also use it in start_encoding The frame cache should be set up correctly to encode NV12 source frames. This was not done before, so move the cache setup out of start_decoding into its own function and call it from both start_encoding and start_decoding. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cde29ef313de391ec9a1e461458274623ab1eb87 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 16 13:13:24 2015 -0300 [media] coda: Use S_PARM to set nominal framerate for h.264 encoder The encoder needs to know the nominal framerate for the constant bitrate control mechanism to work. Currently the only way to set the framerate is by using VIDIOC_S_PARM on the output queue. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit da2b3b3e115d2793b5475039ca4d7f364135fcf4 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 10 10:37:52 2015 -0300 [media] coda: implement VBV delay and buffer size controls The encoder allows to specify the VBV model reference decoder's initial delay and buffer size. Export the corresponding V4L2 controls. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 68aa7ee15cd683006ec1ac91ad60c019bf62d978 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 10 10:37:44 2015 -0300 [media] coda: reset CODA960 hardware after sequence end On i.MX6, sometimes after decoding a stream, encoding will produce macroblock errors caused by missing 8-byte sequences in the output stream. Until the cause for this is found, reset the hardware after sequence end, which seems to help. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 47f3fa63ee5c0e6bdf9c9d5ed73fc791981336e4 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:21 2015 -0300 [media] coda: rework meta counting and add separate lock Keep count of number of buffer meta structures in the list and use a separate spinlock for operations on this counted list instead of reusing the bitstream mutex in some places and none at all in others. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2cf251c0c3961bd467e086033c6073ef62b29b02 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:20 2015 -0300 [media] coda: reuse src_bufs in coda_job_ready The v4l2_m2m_num_src_bufs_ready() function is called in multiple places in coda_cob_ready, and there already is a variable src_bufs that is assigned to its result. Move it to the beginning and use it everywhere. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f0710815a0e17c63d3f17d365ae556ab15eccb03 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:19 2015 -0300 [media] coda: use event class to deduplicate v4l2 trace events Trace events with exactly the same parameters and trace output, such as coda_enc_pic_run and coda_enc_pic_done, are supposed to use the DECLARE_EVENT_CLASS and DEFINE_EVENT macros instead of duplicated TRACE_EVENT macro calls. This patch changes the order of parameters to coda_dec_rot_done and adds a timestamp so it can share an event class with coda_bit_queue. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8076c7e3f68547ee1d8e07715329f26f7883152a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:18 2015 -0300 [media] coda: drop custom list of pixel format descriptions Since commit ba3002045f80 ("[media] v4l2-ioctl: fill in the description for VIDIOC_ENUM_FMT"), all pixel formats are assigned their description in a central place. We can now drop the custom list. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c1ae0b283d13ad8b53bf3be379b1207085da4b22 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:17 2015 -0300 [media] coda: reset stream end in stop_streaming Otherwise a restarted stream won't queue buffers. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5c718bb323aef02ea580073a3640b072fb2f6838 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:16 2015 -0300 [media] coda: avoid calling SEQ_END twice Allow coda_seq_end_work to be called multiple times, move the setting of ctx->initialized from coda_start/stop_streaming() into coda_start_encoding/decoding and coda_seq_end_work, respectively, and skip the SEQ_END command in coda_seq_end_work if the context is already deinitialized before. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 30a09579b2e238646bca4e7cc443db24d91436d6 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:15 2015 -0300 [media] coda: keep buffers on the queue in bitstream end mode In stream end mode the hardware will read the bitstream to its end, overshooting the write pointer. Do not write additional data into the bitstream in this mode. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 58bc7edf1d9a16073761031a03291af887ccdf66 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:14 2015 -0300 [media] coda: fix bitstream preloading for MPEG4 decoding All decoder instances using the BIT processor should preload buffers into the bitstream ring buffer, including MPEG4 decoding. Fix this by explicitly stating the above condition instead of listing all relevant input formats. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d132803e6c611d50c19baedc8ae520203a2baca7 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Jul 15 14:25:16 2015 -0700 x86/entry: Fix _TIF_USER_RETURN_NOTIFY check in prepare_exit_to_usermode Linus noticed that the early return check was missing _TIF_USER_RETURN_NOTIFY. If the only work flag was _TIF_USER_RETURN_NOTIFY, we'd skip user return notifiers. Fix it. (This is the only missing bit.) This fixes double faults on a KVM host. It's the same issue as last time, except that this time it's very easy to trigger. Apparently no one uses -next as a KVM host. ( I'm still not quite sure what it is that KVM does that blows up so badly if we miss a user return notifier. My best guess is that KVM lets KERNEL_GS_BASE (i.e. the user's gs base) be negative and fixes it up in a user return notifier. If we actually end up in user mode with a negative gs base, we blow up pretty badly. ) Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: c5c46f59e4e7 ("x86/entry: Add new, comprehensible entry and exit handlers written in C") Link: http://lkml.kernel.org/r/3f801104d24ee7a6bb1446408d9950777aa63277.1436995419.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b05959c66e865fb9eb5b93e223da925572130d7f Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:13 2015 -0300 [media] coda: fix mvcol buffer for MPEG4 decoding The mvcol buffer is allocated at the end of the first internal buffer. This patch fixes an out of bounds array access. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f964c409f7cc626335cf2370f55690660a273dad Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:12 2015 -0300 [media] coda: clamp frame sequence counters to 16 bit This is already done for one side of the comparison with the expectation that the HW counter rolls over at the 16 bit boundary. This is true when decoding a h.264 stream, but doesn't hold for at least MJPEG. As we don't know the exact wrap-around point for this format just clamp the HW counter to the same 16 bits. This should be enough to detect most of the errors and saves us from doing different comparisons based on the decoded format. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eb6d9293dfed245a114cad7d975259963e1e04c2 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Jul 15 14:56:06 2015 +0200 mac80211: deinline rate_control_rate_init, rate_control_rate_update With this .config: http://busybox.net/~vda/kernel_config, after deinlining these functions have sizes and callsite counts as follows: rate_control_rate_init: 554 bytes, 8 calls rate_control_rate_update: 1596 bytes, 5 calls Total size reduction: about 11 kbytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: John Linville <linville@xxxxxxxxxxxxx> CC: Michal Kazior <michal.kazior@xxxxxxxxx> CC: Johannes Berg <johannes.berg@xxxxxxxxx> Cc: linux-wireless@xxxxxxxxxxxxxxx Cc: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 727da60be91c9fd59f1b084ca537b5123ab97744 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Jul 15 14:56:05 2015 +0200 mac80211: deinline drv_sta_state With this .config: http://busybox.net/~vda/kernel_config, after deinlining the function size is 3132 bytes and there are 7 callsites. Total size reduction: about 20 kbytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: John Linville <linville@xxxxxxxxxxxxx> CC: Michal Kazior <michal.kazior@xxxxxxxxx> Cc: Johannes Berg <johannes.berg@xxxxxxxxx> Cc: linux-wireless@xxxxxxxxxxxxxxx Cc: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0e0060fcfb3d0f5a53ef43e7b6a50227b934ab7c Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Tue Jul 14 08:31:59 2015 -0400 mac80211: select an AID when creating new mesh STAs Instead of using peer link id for AID, generate a new AID when creating mesh STAs in the kernel peering manager. This enables smaller TIM elements and more closely follows the standard, and it also enables mesh to work on drivers that require a valid AID when the STA is inserted (ath10k firmware has this requirement, for example). In the case of userspace-managed stations, we use the AID from NL80211_CMD_NEW_STATION. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a69bd8e60b02946896c097439b94eb77c0c2c9e4 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Tue Jul 14 08:31:58 2015 -0400 mac80211: mesh: separate plid and aid concepts According to 802.11-2012 13.3.1, a mesh STA should assign an AID upon receipt of a mesh peering open frame rather than using the link id of the peer. Using the peer link id has two potential issues: it may not be unique among the peers, and by its nature it is random, so the TIM may not compress well. In preparation for allocating it properly, use sta->sta.aid, but keep the existing behavior of using the plid in the aid we send. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit fa87a6566ca8f17a92ba81980bd47c456262907c Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Tue Jul 14 08:31:57 2015 -0400 mac80211: reorder mesh_plink to remove forward decl Move mesh_plink_frame_tx() above the first caller to remove the forward declaration. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b0485e9f3defbed6effcde595df9b9fdbdb2524e Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Jul 8 15:41:47 2015 +0300 mac80211: clear local->suspended before calling drv_resume() Currently, mac80211 calls drv_resume() on wowlan resume, but drops any incoming frame until local->suspended is cleared later on. This requires the low-level driver to support a new state, in which it is expected to fully work (as it was resumed) but not passing rx frames yet (as they will be dropped). iwlwifi (and probably other drivers as well) has issues supporting such mode. Since in the wowlan case we already short-circuit ieee80211_reconfig, there's nothing that prevents us from clearing local->suspend before calling drv_resume(), and letting the low-level driver work normally. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 42d8d789615d539cb13733e516b94e874a34f775 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Jul 8 15:41:46 2015 +0300 mac80211: TDLS: deny ch-switch req on disallowed channels If a TDLS station is not allowed to beacon on a channel, don't accept a channel switch request to this channel. Move channel building code up to avoid lockdep violations - reg_can_beacon needs to take the wdev lock. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c8ff71e667d9fcf775e8b8bbd568d32d48cfb864 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Jul 8 15:41:45 2015 +0300 mac80211: TDLS: handle chan-switch in RTNL locked work Move TDLS channel-switch Rx handling into an RTNL locked work. This is required to add proper regulatory checking to incoming channel-switch requests. Queue incoming requests in a dedicated skb queue and handle the request in a device-specific work to avoid deadlocking on interface removal. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 72bbe3d1c2d7a9e257956912040ffc7ba9f71e0d Merge: 322cd40 923b352 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jul 17 15:39:38 2015 +0200 Merge branch 'mac80211' into mac80211-next This is necessary to merge the new TDLS and mesh patches, as they depend on some fixes. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 322cd406da0b102dda9c0eec46181458a3667dbb Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Wed Jul 8 15:41:43 2015 +0300 mac80211: Add support for declaring MU-MIMO capability Add support for declaring MU-MIMO beamformee capability for relevant hardware. When sending association request, the capability is included if both hardware and the AP support it, and no other virtual interface is using it. This is in order to avoid multiple interfaces using MU-MIMO in parallel which might lead to contradictions in the group-id mechanism. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ccc6bb96ff058ad737fb8236e15aeaa56e822296 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 11:50:52 2015 +0200 mac80211: account TX MSDUs properly with segmentation offload If an SKB will be segmented by the driver, count it for multiple MSDUs that are being transmitted rather than just a single. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 841b351cf98e0b4ef25f6459d35251e63c0a7a49 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Wed Jun 24 11:42:25 2015 -0400 wireless: remove superfluous if statement in regulatory code Commit eeca9fce1d71 ('cfg80211: Schedule timeout for all CRDA calls') left behind a superfluous check after it removed some earlier code. In reg_process_hint, the test of "treatment == REG_REQ_IGNORE || treatment == REG_REQ_ALREADY_SET" is superfluous because the code in the if-then branch is identical to the code after the if statement. Coverity CID #1295939 I also removed the unnecessary assignment of treatment in this case, and added a comment reminding any future patch authors to ensure that treatment is properly assigned before it is used after the switch. Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 33d8783c58427683b533664f67f8c4378ed64495 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 17:47:05 2015 +0200 cfg80211: allow mgmt_frame_register callback to sleep This callback is currently not allowed to sleep, which makes it more difficult to implement proper driver methods in mac80211 than it has to be. Instead of doing asynchronous work here in mac80211, make it possible for the callback to sleep by doing some asynchronous work in cfg80211. This also enables improvements to other drivers, like ath6kl, that would like to sleep in this callback. While at it, also fix the code to call the driver on the implicit unregistration when an interface is removed, and do that also when a P2P-Device wdev is destroyed (otherwise we leak the structs.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 69f132236827ce7d4531846cc2b9447dd5620aff Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 26 09:21:01 2015 +0200 mac80211: shrink struct ieee80211_fragment_entry Most of the fields in this struct use too wide types, change that to shrink the struct from 64 to 48 bytes (on 64-bit.) This results in a total saving of 64 bytes for each interface. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a76d5e0a2311ad6b5a8bfa92d3d627194c8c389a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Jun 18 16:20:08 2015 +0200 mac80211: mesh: move fail_avg into mesh struct This value is only used in mesh, so move it into the new mesh sub-struct of the station info. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f9a060f4b2003eb7350762e60dfc576447e44bad Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 12 14:55:34 2015 +0200 mac80211: add pointer for driver use to key Some drivers may need to store data per key, for example for PN validation. Allow this by adding a pointer to the struct that the driver can assign. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 33c2f538d8080845e11af500993cc61ad30934e2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jun 17 13:07:14 2015 +0200 mac80211_hwsim: support wider TDLS bandwidth There's no reason not to support this, allow it to test those code paths. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a3ebb4e1b76346156e8e7233c262ce24e3a86a24 Author: Krishna Chaitanya <chaitanya.mgit@xxxxxxxxx> Date: Fri Jun 12 02:34:52 2015 +0530 mac80211: minstrel_ht: handle peers in dynamic SMPS In case of Dynamic SMPS enable RTS/CTS for all rates. Signed-off-by: Chaitanya T K <chaitanya.mgit@xxxxxxxxx> [change comment] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 932e628da2fe9be759e19b14e3e5bf1e0e6f0984 Author: Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxx> Date: Mon Jun 15 11:58:53 2015 +0800 mac80211: mesh process the target only subfield for mesh hwmp This patch does the following: - Remove unnecessary flags field used by PERR element - Use the per target flags defined in <linux/ieee80211.h> - Process the target only subfield based on case E2 of IEEE802.11-2012 13.10.9.3 Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d51c2ea3704be07f030c78d57641d6b972e301ee Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Jun 14 16:53:46 2015 +0300 mac80211: TDLS: correctly configure SMPS state The IEEE802.11-2012 specification is vague regarding SMPS operation during TDLS. It does not define a clear way to transition between SMPS states. To avoid interop issues, set SMPS to off when TDLS peers are connected. Accomplish this by extending the definition of the AUTOMATIC state. If the driver forces a state other than OFF, disconnect all TDLS peers. While at it, avoid changing the SMPS state of the peer STA. We have no way to control it, so try and behave correctly towards it. Move the TDLS peer-teardown function to where the rest of the TDLS code resides. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3633ebebab2bbe88124388b7620442315c968e8f Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Sat Jun 13 10:16:31 2015 -0400 mac80211: enable assoc check for mesh interfaces We already set a station to be associated when peering completes, both in user space and in the kernel. Thus we should always have an associated sta before sending data frames to that station. Failure to check assoc state can cause crashes in the lower-level driver due to transmitting unicast data frames before driver sta structures (e.g. ampdu state in ath9k) are initialized. This occurred when forwarding in the presence of fixed mesh paths: frames were transmitted to stations with whom we hadn't yet completed peering. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Alexis Green <agreen@xxxxxxxxxxxx> Tested-by: Jesse Jones <jjones@xxxxxxxxxxxx> Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d8f0300a7aca5cd9208112104c64d894ad82da1f Author: Jesse Jones <jjones@xxxxxxxxxxxx> Date: Fri Jun 12 15:38:07 2015 -0700 mac80211: mac80211: Check SN for deactivated mpaths When processing a PREQ or PREP it's critical to use the incoming SN. If that is improperly done routing loops and other types of badness can happen. But the code was always processing path messages for deactivated paths. This path fixes that so that if we have a valid SN then we use it to verify that it is a message we can accept. For reference the relevant section of the standard is 13.10.8.4 which doesn't address the deactivated path case at all. I also included a special case for when our peer reboots or restarts networking. This is an important case because without it there can be a very long delay before we accept path messages from that peer. It's also a simple case and intimately associated with processing messages for deactivated paths so I used one patch instead of two. Signed-off-by: Alexis Green <agreen@xxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d82547106ff9dee43e6ee4f4b3d70b5314ae266f Author: Jesse Jones <jjones@xxxxxxxxxxxx> Date: Fri Jun 12 14:13:09 2015 -0700 mac80211: mesh: don't invalidate SN on discovery failure The 2012 spec mentions that path SNs can be invalid when created (see section 13.10.8.4 table 13-9) but AFAICT never talks about invalidating SNs. Which makes sense: if we have figured out the path to a target at a certain SN then we want to remember that fact. Failing to do so can lead to routing loops because if we don't have a valid SN then we have no way of knowing whether an incoming path message leads to or away from the target. However currently when discovery fails we zero out mpath->flags which clears MESH_PATH_SN_VALID. This patch fixes that so that only the discovery relevant flags are cleared. Signed-off-by: Alexis Green <agreen@xxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 703ee73a41a74210dde9050c6669053866b133a0 Author: Alexis Green <agreen@xxxxxxxxxxxx> Date: Wed Jun 10 11:02:09 2015 -0700 mac80211: mesh: add missing case to PERR processing When the nexthop is unable to resolve its own nexthop it will send back a PERR with a zero target_sn. According to section 13.10.11.4.3 step b in the 2012 standard that perr should be forwarded and the associated mpath->sn should be incremented. Neither one of those was happening which is rather bad because the originator was not told that packets are black holing. Signed-off-by: Alexis Green <agreen@xxxxxxxxxxxx> CC: Jesse Jones <jjones@xxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0fabfaafec3ae017fc7c82997035872ff385752f Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Jun 10 20:41:23 2015 +0300 mac80211: upgrade BW of TDLS peers when possible Define a station chandef, to be used for wider-bw TDLS peers. When both peers support the feature, upgrade the channel bandwidth to the maximum allowed by both peers and regulatory. Currently widths up to 80MHz are supported in the 5GHz band. When a TDLS peer connects/disconnects recalculate the channel type of the current chanctx. Make the chanctx width calculation consider wider-bw TDLS peers and similarly fix the max_required_bw calculation for the chanctx min_def. Since the sta->bandwidth is calculated only later on, take bss_conf.chandef.width as the minimal width for station interface. Set the upgraded channel width in the VHT-operation set during TDLS setup. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b98fb44ffceeac717789e8f2fb3497e6b8c5c65b Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Jun 10 20:42:59 2015 +0300 mac80211: define TDLS wider BW support bits Allow a device to specify support for the TDLS wider-bandwidth feature. Indicate this support during TDLS setup in the ext-capab IE and set an appropriate station flag when our TDLS peer supports it. This feature gives TDLS peers the ability to use a wider channel than the base width of the BSS. For instance VHT capable TDLS peers connected on a 20MHz channel can extend the channel to 80MHz, if regulatory considerations allow it. Do not cap the bandwidth of such stations by the current BSS channel width in mac80211. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7584f88f9e30d36c2c1041831121f1cd3a194bf1 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Jun 10 20:19:37 2015 +0300 mac80211: clear local->in_reconfig on reconfig error If reconfiguration fails, local->in_reconfig is never cleaned, resulting in rx frames being dropped next time the device is started. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6513e98e05ccb8eca77adaf93beae44aa7bf4a45 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jun 10 20:18:55 2015 +0300 mac80211: allow passing NULL to ieee80211_vif_to_wdev() Simply return NULL in this case, instead of crashing. This can simplify callers that would otherwise have to check for this explicitly. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e996ec2a4ddb53164262990d33304c429709f687 Author: Wojciech Dubowik <Wojciech.Dubowik@xxxxxxxxxxx> Date: Wed Jun 10 13:06:53 2015 +0200 mac80211: avoid unnecessary beacon deref on CSA counter update The beacon struct is already available in many contexts that are also already in an RCU read-locked section. Avoid that by using the existing beacon struct pointer directly. Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@xxxxxxxxxxx> [rewrite subject/add commit message] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 1365770248c122dd155351e714b44fe77036292c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jun 17 10:34:54 2015 +0200 mac80211: move mesh STA parameters code to own function The code was always a bit awkward due to the 80-col restriction and got worse in the previous patch. Refactor it a bit into its own function to make it read nicer. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 433f5bc1c0efc67a86433e47a14b115510fc1409 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jun 17 10:31:00 2015 +0200 mac80211: move mesh related station fields to own struct There are now a fairly large number of mesh fields that really aren't needed in any other modes; move those into their own structure and allocate them separately. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e414eea77d1ae1201d5252964406a22adfa9f3c2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 12:53:10 2015 +0200 mac80211: remove IEEE80211_RX_FRAGMENTED There's a long-standing TODO item to use this flag in the cooked monitor RX, but clearly it was never needed and now this hasn't been used by userspace for a long time, so no userspace changes could require it now. Remove the unused flag. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ac100ce52a2d3b6261a06939d22e4382d9aa0bb2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 16:22:12 2015 +0200 mac80211: duplicate station's MAC address for hash table Currently, the station hash table lookup (or iteration) must access two cachelines for each station - the one with the hash table node, and the one with the MAC address. Duplicate the MAC address next to the hash node to get rid of this. Since the MAC address is static there's no consistency problem introduced by this. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 981d94a80174e4f33bd5015fb49051bfc2eb00d2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 12 14:39:02 2015 +0200 mac80211: support device/driver PN check for CCMP/GCMP When there are multiple RX queues, the PN checks in mac80211 cannot be used since packets might be processed out of order on different CPUs. Allow the driver to report that the PN has been checked, drivers that will use multi-queue RX will have to set this flag. For now, the flag is only valid when the frame has been decrypted, in theory that restriction doesn't have to be there, but in practice the hardware will have decrypted the frame already. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 77c96404a4cf16ffa0720a3fbf45839cc16018ac Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 12 14:40:45 2015 +0200 mac80211: remove key TX/RX counter This counter is inherently racy (since it can be incremented by RX as well as by concurrent TX) and only available in debugfs. Instead of fixing it to be per-CPU or similar, remove it for now. If needed it should be added without races and with proper nl80211, perhaps even addressing the threshold reporting TODO item that's been there since the code was originally added. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0c028b5fd1bd10d5777756e571c6c1971f04062b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 12 14:33:54 2015 +0200 mac80211: remove zero-length A-MPDU subframe reporting As there's no driver using this capability and reporting zero-length A-MPDU subframes for radiotap monitoring, remove the capability to free up two RX flags. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit af9f9b22beee70aae58651cdbb9d6375e6e51797 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Jun 11 16:02:32 2015 +0200 mac80211: don't store napi struct When introducing multiple RX queues, a single NAPI struct will not be sufficient. Instead of trying to store multiple, simply change the API to have the NAPI struct passed to the RX function. This of course means that drivers using rx_irqsafe() cannot use NAPI, but that seems a reasonable trade-off, particularly since only two of all drivers are currently using it at all. While at it, we can now remove the IEEE80211_RX_REORDER_TIMER flag again since this code path cannot have a napi struct anyway. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 798a457dfb232535ebc9670082b8dfccdab684ff Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 15:58:22 2015 +0200 mac80211: fix comment referring to RX queue There are no RX queues in mac80211 (yet), the comment should refer to the TID (including one slot for non-QoS) rather than 'RX queue'. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a682849329ad5df5fd13a7b1ab08cbc39df5484b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 15:17:15 2015 +0200 mac80211: move ieee80211_get_bssid into RX file This function is only used in the RX code, so moving it into that file gives the compiler better optimisation possibilities and also allows us to remove the check for short frames (which in the RX path cannot happen, but as a generic utility needed to be checked.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9ad8b21b742503030d543cd272de6a4eb3e3cc27 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 15:05:57 2015 +0200 mac80211: remove short frame test and counter Short frames less than 16 octets are already blocked in the monitor code by the should_drop_frame() function, and cannot get into the regular RX path. Therefore, this check can never trigger and the counter invariably stays zero. Remove the useless code. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 16bf948081d0ea0f6cdef54b79a0250d4b099970 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 16:10:30 2015 +0200 mac80211: remove sta_info.gtk_idx This struct member is only assigned, never used otherwise; remove it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cf47161ad26c293dd5f98186c0cc45d125da952c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 16:16:38 2015 +0200 mac80211: rename 'sta_inf' variable to more common 'sta' We typically use 'sta' for the station info struct, and if needed 'pubsta' for the public (driver-visible) portion thereof. Do this in the ieee80211_sta_ps_transition() function. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5c48f1201744233d4f235c7dd916d5196ed20716 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jun 17 09:58:06 2015 +0200 mac80211: remove exposing 'mfp' to drivers There's no driver using this, so remove it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b1ccc8f4b63109f9e56fadf72274714dfb000123 Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:08 2015 +0200 crypto: poly1305 - Add a four block AVX2 variant for x86_64 Extends the x86_64 Poly1305 authenticator by a function processing four consecutive Poly1305 blocks in parallel using AVX2 instructions. For large messages, throughput increases by ~15-45% compared to two block SSE2: testing speed of poly1305 (poly1305-simd) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 3809514 opers/sec, 365713411 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 5973423 opers/sec, 573448627 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9446779 opers/sec, 906890803 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1364814 opers/sec, 393066691 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2045780 opers/sec, 589184697 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3711946 opers/sec, 1069040592 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 573686 opers/sec, 605812732 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1647802 opers/sec, 1740079440 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 292970 opers/sec, 609378224 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 943229 opers/sec, 1961916528 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 494623 opers/sec, 2041804569 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 254045 opers/sec, 2089271014 bytes/sec testing speed of poly1305 (poly1305-simd) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 3826224 opers/sec, 367317552 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 5948638 opers/sec, 571069267 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9439110 opers/sec, 906154627 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1367756 opers/sec, 393913872 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2056881 opers/sec, 592381958 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3711153 opers/sec, 1068812179 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 574940 opers/sec, 607136745 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1948830 opers/sec, 2057964585 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 293308 opers/sec, 610082096 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 1235224 opers/sec, 2569267792 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 684405 opers/sec, 2825226316 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 367101 opers/sec, 3019039446 bytes/sec Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit da35b22df301128ba2f2238befd6d75067e80315 Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:07 2015 +0200 crypto: poly1305 - Add a two block SSE2 variant for x86_64 Extends the x86_64 SSE2 Poly1305 authenticator by a function processing two consecutive Poly1305 blocks in parallel using a derived key r^2. Loop unrolling can be more effectively mapped to SSE instructions, further increasing throughput. For large messages, throughput increases by ~45-65% compared to single block SSE2: testing speed of poly1305 (poly1305-simd) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 3790063 opers/sec, 363846076 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 5913378 opers/sec, 567684355 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9352574 opers/sec, 897847104 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1362145 opers/sec, 392297990 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2007075 opers/sec, 578037628 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3709811 opers/sec, 1068425798 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 566272 opers/sec, 597984182 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1111657 opers/sec, 1173910108 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 288857 opers/sec, 600823808 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 590746 opers/sec, 1228751888 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 301825 opers/sec, 1245936902 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 153075 opers/sec, 1258896201 bytes/sec testing speed of poly1305 (poly1305-simd) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 3809514 opers/sec, 365713411 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 5973423 opers/sec, 573448627 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9446779 opers/sec, 906890803 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1364814 opers/sec, 393066691 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2045780 opers/sec, 589184697 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3711946 opers/sec, 1069040592 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 573686 opers/sec, 605812732 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1647802 opers/sec, 1740079440 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 292970 opers/sec, 609378224 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 943229 opers/sec, 1961916528 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 494623 opers/sec, 2041804569 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 254045 opers/sec, 2089271014 bytes/sec Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c70f4abef07a99db6654be4f1190bacd69aa4365 Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:06 2015 +0200 crypto: poly1305 - Add a SSE2 SIMD variant for x86_64 Implements an x86_64 assembler driver for the Poly1305 authenticator. This single block variant holds the 130-bit integer in 5 32-bit words, but uses SSE to do two multiplications/additions in parallel. When calling updates with small blocks, the overhead for kernel_fpu_begin/ kernel_fpu_end() negates the perfmance gain. We therefore use the poly1305-generic fallback for small updates. For large messages, throughput increases by ~5-10% compared to poly1305-generic: testing speed of poly1305 (poly1305-generic) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 4080026 opers/sec, 391682496 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 6221094 opers/sec, 597225024 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9609750 opers/sec, 922536057 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1459379 opers/sec, 420301267 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2115179 opers/sec, 609171609 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3729874 opers/sec, 1074203856 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 593000 opers/sec, 626208000 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1081536 opers/sec, 1142102332 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 302077 opers/sec, 628320576 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 554384 opers/sec, 1153120176 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 278715 opers/sec, 1150536345 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 140202 opers/sec, 1153022070 bytes/sec testing speed of poly1305 (poly1305-simd) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 3790063 opers/sec, 363846076 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 5913378 opers/sec, 567684355 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9352574 opers/sec, 897847104 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1362145 opers/sec, 392297990 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2007075 opers/sec, 578037628 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3709811 opers/sec, 1068425798 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 566272 opers/sec, 597984182 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1111657 opers/sec, 1173910108 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 288857 opers/sec, 600823808 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 590746 opers/sec, 1228751888 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 301825 opers/sec, 1245936902 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 153075 opers/sec, 1258896201 bytes/sec Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2546f811ef45fc47fcb65531bea98beeed0c97cc Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:05 2015 +0200 crypto: poly1305 - Export common Poly1305 helpers As architecture specific drivers need a software fallback, export Poly1305 init/update/final functions together with some helpers in a header file. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6692cbc28e88b4cbffaab84b82bfff888c03ed3a Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:04 2015 +0200 crypto: testmgr - Add a longer ChaCha20 test vector The AVX2 variant of ChaCha20 is used only for messages with >= 512 bytes length. With the existing test vectors, the implementation could not be tested. Due that lack of such a long official test vector, this one is self-generated using chacha20-generic. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3d1e93cdf16cfe6f315167c65dc504e467e4681a Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:03 2015 +0200 crypto: chacha20 - Add an eight block AVX2 variant for x86_64 Extends the x86_64 ChaCha20 implementation by a function processing eight ChaCha20 blocks in parallel using AVX2. For large messages, throughput increases by ~55-70% compared to four block SSSE3: testing speed of chacha20 (chacha20-simd) encryption test 0 (256 bit key, 16 byte blocks): 42249230 operations in 10 seconds (675987680 bytes) test 1 (256 bit key, 64 byte blocks): 46441641 operations in 10 seconds (2972265024 bytes) test 2 (256 bit key, 256 byte blocks): 33028112 operations in 10 seconds (8455196672 bytes) test 3 (256 bit key, 1024 byte blocks): 11568759 operations in 10 seconds (11846409216 bytes) test 4 (256 bit key, 8192 byte blocks): 1448761 operations in 10 seconds (11868250112 bytes) testing speed of chacha20 (chacha20-simd) encryption test 0 (256 bit key, 16 byte blocks): 41999675 operations in 10 seconds (671994800 bytes) test 1 (256 bit key, 64 byte blocks): 45805908 operations in 10 seconds (2931578112 bytes) test 2 (256 bit key, 256 byte blocks): 32814947 operations in 10 seconds (8400626432 bytes) test 3 (256 bit key, 1024 byte blocks): 19777167 operations in 10 seconds (20251819008 bytes) test 4 (256 bit key, 8192 byte blocks): 2279321 operations in 10 seconds (18672197632 bytes) Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 274f938e0a01286f465d84d5a3f1565225f4ec4b Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:02 2015 +0200 crypto: chacha20 - Add a four block SSSE3 variant for x86_64 Extends the x86_64 SSSE3 ChaCha20 implementation by a function processing four ChaCha20 blocks in parallel. This avoids the word shuffling needed in the single block variant, further increasing throughput. For large messages, throughput increases by ~110% compared to single block SSSE3: testing speed of chacha20 (chacha20-simd) encryption test 0 (256 bit key, 16 byte blocks): 43141886 operations in 10 seconds (690270176 bytes) test 1 (256 bit key, 64 byte blocks): 46845874 operations in 10 seconds (2998135936 bytes) test 2 (256 bit key, 256 byte blocks): 18458512 operations in 10 seconds (4725379072 bytes) test 3 (256 bit key, 1024 byte blocks): 5360533 operations in 10 seconds (5489185792 bytes) test 4 (256 bit key, 8192 byte blocks): 692846 operations in 10 seconds (5675794432 bytes) testing speed of chacha20 (chacha20-simd) encryption test 0 (256 bit key, 16 byte blocks): 42249230 operations in 10 seconds (675987680 bytes) test 1 (256 bit key, 64 byte blocks): 46441641 operations in 10 seconds (2972265024 bytes) test 2 (256 bit key, 256 byte blocks): 33028112 operations in 10 seconds (8455196672 bytes) test 3 (256 bit key, 1024 byte blocks): 11568759 operations in 10 seconds (11846409216 bytes) test 4 (256 bit key, 8192 byte blocks): 1448761 operations in 10 seconds (11868250112 bytes) Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c9320b6dcb89658a5e53b4f8e31f4c2ee810ec2d Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:01 2015 +0200 crypto: chacha20 - Add a SSSE3 SIMD variant for x86_64 Implements an x86_64 assembler driver for the ChaCha20 stream cipher. This single block variant works on a single state matrix using SSE instructions. It requires SSSE3 due the use of pshufb for efficient 8/16-bit rotate operations. For large messages, throughput increases by ~65% compared to chacha20-generic: testing speed of chacha20 (chacha20-generic) encryption test 0 (256 bit key, 16 byte blocks): 45089207 operations in 10 seconds (721427312 bytes) test 1 (256 bit key, 64 byte blocks): 43839521 operations in 10 seconds (2805729344 bytes) test 2 (256 bit key, 256 byte blocks): 12702056 operations in 10 seconds (3251726336 bytes) test 3 (256 bit key, 1024 byte blocks): 3371173 operations in 10 seconds (3452081152 bytes) test 4 (256 bit key, 8192 byte blocks): 422468 operations in 10 seconds (3460857856 bytes) testing speed of chacha20 (chacha20-simd) encryption test 0 (256 bit key, 16 byte blocks): 43141886 operations in 10 seconds (690270176 bytes) test 1 (256 bit key, 64 byte blocks): 46845874 operations in 10 seconds (2998135936 bytes) test 2 (256 bit key, 256 byte blocks): 18458512 operations in 10 seconds (4725379072 bytes) test 3 (256 bit key, 1024 byte blocks): 5360533 operations in 10 seconds (5489185792 bytes) test 4 (256 bit key, 8192 byte blocks): 692846 operations in 10 seconds (5675794432 bytes) Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 31d7247da57226e847f0f102a10c27c0722c429b Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:00 2015 +0200 crypto: chacha20 - Export common ChaCha20 helpers As architecture specific drivers need a software fallback, export a ChaCha20 en-/decryption function together with some helpers in a header file. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2dce063a31ae6cbaf39964663fc59d10bef38d15 Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:13:59 2015 +0200 crypto: tcrypt - Add ChaCha20/Poly1305 speed tests Adds individual ChaCha20 and Poly1305 and a combined rfc7539esp AEAD speed test using mode numbers 214, 321 and 213. For Poly1305 we add a specific speed template, as it expects the key prepended to the input data. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 747909223397e11743c81352b3e4fdd29346bbf9 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 12:35:08 2015 +0800 crypto: chacha20poly1305 - Convert to new AEAD interface This patch converts rfc7539 and rfc7539esp to the new AEAD interface. The test vectors for rfc7539esp have also been updated to include the IV. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Tested-by: Martin Willi <martin@xxxxxxxxxxxxxx> commit 6e8ec66c3d9cebcbf71d66f92e40b5d7e1d1f490 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Jul 15 15:28:43 2015 -0700 crypto: rsa - limit supported key lengths Introduce constrains for RSA keys lengths. Only key lengths of 512, 1024, 1536, 2048, 3072, and 4096 bits will be supported. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a990532023b903b10cf14736241cdd138e4bc92c Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Jul 15 15:28:38 2015 -0700 crypto: qat - Add support for RSA algorithm Add RSA support to QAT driver. Removed unused RNG rings. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 28cfaf67e5c1f5b6b0d549eea398f8401a40e566 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Jul 15 15:28:32 2015 -0700 crypto: qat - add MMP FW support to accel engine Add code that loads the MMP firmware Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f3dd7e60d2028b8391dea7a3b214e3083dadf6d6 Author: Pingchao Yang <pingchao.yang@xxxxxxxxx> Date: Wed Jul 15 15:28:26 2015 -0700 crypto: qat - add support for MMP FW Load Modular Math Processor(MMP) firmware into QAT devices to support public key algorithm acceleration. Signed-off-by: Pingchao Yang <pingchao.yang@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 544c436a8ecec2dc162c63116025da0e4e66ea4e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:53:22 2015 +0800 crypto: testmgr - Reenable rfc4309 test Now that all implementations of rfc4309 have been converted we can reenable the test. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cc81565307822a062820da294c17d9f3b6f49ecd Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:53:21 2015 +0800 crypto: nx - Convert ccm to new AEAD interface This patch converts the nx ccm and 4309 implementations to the new AEAD interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2642d6abca9bc3404b7b967914300169135dcd31 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:53:19 2015 +0800 crypto: aes-ce-ccm - Convert to new AEAD interface This patch converts the ARM64 aes-ce-ccm implementation to the new AEAD interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> commit 81c4c35eb61a69c229871c490b011c1171511d5a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:53:18 2015 +0800 crypto: ccm - Convert to new AEAD interface This patch converts generic ccm and its associated transforms to the new AEAD interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0bc5a6c5c79a947e47af9655b0e3cc7e7a2bd0ca Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:53:17 2015 +0800 crypto: testmgr - Disable rfc4309 test and convert test vectors This patch disables the rfc4309 test while the conversion to the new seqiv calling convention takes place. It also replaces the rfc4309 test vectors with ones that will work with the new IV convention. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit adb8963f27e00273c912a53f28f7af5d14cfd32e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Apr 13 11:43:40 2015 -0300 [media] v4l: vsp1: Don't sleep in atomic context The vsp1_entity_is_streaming() function is called in atomic context when queuing buffers, and sleeps due to a mutex. As the mutex just protects access to one structure field, fix this by replace the mutex with a spinlock. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit df5c3e7c8a87a4384ff7a0adba16baae9a40a566 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jun 19 08:51:22 2015 -0300 [media] v4l: vsp1: Fix plane stride and size checks The checks need to be performed on up to two planes, as the third plane, if present, must have the same stride and size as the second plane. The code incorrectly performs the checks on at least two planes instead of at most two planes, fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e31f8f00bfc081ec1881d92a2dd192aeddf1d9d7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Jun 24 11:28:31 2015 -0300 [media] v4l: xilinx: missing error code We should set "ret" on this error path instead of returning success. Fixes: df3305156f98 ('[media] v4l: xilinx: Add Xilinx Video IP core') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d32d98642de66048f9534a05f3641558e811bbc9 Author: Mats Randgaard <matrandg@xxxxxxxxx> Date: Thu Jul 9 05:45:47 2015 -0300 [media] Driver for Toshiba TC358743 HDMI to CSI-2 bridge The driver is tested on our hardware and all the implemented features works as expected. Missing features: - CEC support - HDCP repeater support - IR support Signed-off-by: Mats Randgaard <matrandg@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: updated copyright year to 2015] [hans.verkuil@xxxxxxxxx: update confusing confctl_mutex comment] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6986a0e2556df3dfb54c624b50b02936bd1e00ef Author: Heloise NH <kernelpatch_update@xxxxxxx> Date: Fri Jul 17 09:42:06 2015 +0800 ALSA: hda: fix kstrdup return value In kstrdup we should return -ENOMEM when it reports an memory allocation failure, while the -ENODEV is referred to a failure in finding the cpu node in the device tree. Signed-off-by: Heloise NH <kernelpatch_update@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bde2b96d6dfb1c14e5d27a4e7e7d492e9be102cd Author: Fabien Dessenne <fabien.dessenne@xxxxxx> Date: Mon Jul 13 06:54:11 2015 -0300 [media] bdisp: fix debug info memory access bdisp_dev->dbg.copy_node shall be a copy of (and not point to) bdisp_ctx->node, since this resource is freed upon driver release. Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 24310279eb2851a2bdef9b267b43b98e252ce435 Author: Fabien Dessenne <fabien.dessenne@xxxxxx> Date: Fri Jul 10 05:29:37 2015 -0300 [media] bdisp: add debug info for RGB24 format Add this missing debug information Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3d8bffe88316c0c8b5edad633fc8a25cae644bb4 Author: Fabien Dessenne <fabien.dessenne@xxxxxx> Date: Fri Jul 10 05:29:22 2015 -0300 [media] bdisp: composing support Support the composing (at VIDEO_CAPTURE) with the _selection API. v4l2-compliance successfully run ("test Composing: OK") Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d3194520e2790591b5fabeb913dd74af908ca160 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 16:11:42 2015 -0300 [media] stk1160: Add frame scaling support This commit implements frame decimation for stk1160, which allows to support format changes instead of a static frame size. The stk1160 supports independent row and column decimation, in two different modes: * set a number of rows/columns units to skip for each unit sent. * set a number of rows/columns units to send for each unit skipped. This effectively allows to achieve different frame scaling ratios. The unit number can be set to either two row/columns sent/skipped, or four row/columns sent/skipped. Since the video format (UYVY) has 4-bytes, using a unit number of two row/columns results in frame color 'shifting', so set to four row/columns sent/skipped. Signed-off-by: Michael Stegemann <michael@xxxxxxxxxxxx> Signed-off-by: Dale Hamel <dale.hamel@xxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 890024ad144902bfa637f23b94b396701a88ed88 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 16:11:41 2015 -0300 [media] stk1160: Reduce driver verbosity These messages are not really informational, and just makes the driver's output too verbose. This commit changes some messages to a debug level, removes a really useless "driver loaded" message and finally undefines the DEBUG macro. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f47c9045643f91e76d8a9030828b9fe1cf4a6bcf Author: Benoit Parrot <bparrot@xxxxxx> Date: Mon Jun 29 18:19:06 2015 -0300 [media] media: am437x-vpfe: Requested frame size and fmt overwritten by current sensor setting Upon a S_FMT the input/requested frame size and pixel format is overwritten by the current sub-device settings. Fix this so application can actually set the frame size and format. Fixes: 417d2e507edc ("[media] media: platform: add VPFE capture driver support for AM437X") Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2f8e75d2762496bb2fcea7fa437a3339d2a6d9d4 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jun 29 10:45:56 2015 -0300 [media] adv7604/cobalt: Allow compile test if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency of VIDEO_ADV7604 and VIDEO_COBALT (the latter selects the former) on GPIOLIB if COMPILE_TEST is enabled. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ee5da769b3f238f818045e7630ed9ee3788690bc Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Jul 8 05:47:08 2015 -0300 [media] DocBook media: fix typo in V4L2_CTRL_FLAG_EXECUTE_ON_WRITE Fix small typo (missing 'it') in the documentation for V4L2_CTRL_FLAG_EXECUTE_ON_WRITE. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 86e46aa80d7456663afeac51971d4234dbc59e5d Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Jul 2 10:32:39 2015 -0300 [media] DocBook: fix media-ioc-device-info.xml type The documentation had two media_version entries. The second one was a typo and it should be driver_version instead. Correct this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2cf4090fc8db8f9c2f3778a6a3768357a2b6aa6e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jun 24 13:50:31 2015 -0300 [media] adv7842: Deliver resolution change events to userspace Use the new v4l2_subdev_notify_event() helper function to deliver the resolution change event to userspace via the v4l2 subdev event queue as well as to the bridge driver using the callback notify mechanism. This allows userspace applications to react to changes in resolution. This is useful and often necessary for video pipelines where there is no direct 1-to-1 relationship between the subdevice converter and the video capture device and hence it does not make sense to directly forward the event to the video capture device node. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> [hans.verkuil@xxxxxxxxx: fix obvious mistake: v4l2_event_subdev_unsubscribe -> v4l2_ctrl_subdev_subscribe_event] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6f5bcfc30e1918c6029ebfdc9ed5002d618ab3de Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jun 24 13:50:30 2015 -0300 [media] adv7604: Deliver resolution change events to userspace Use the new v4l2_subdev_notify_event() helper function to deliver the resolution change event to userspace via the v4l2 subdev event queue as well as to the bridge driver using the callback notify mechanism. This allows userspace applications to react to changes in resolution. This is useful and often necessary for video pipelines where there is no direct 1-to-1 relationship between the subdevice converter and the video capture device and hence it does not make sense to directly forward the event to the video capture device node. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> [hans.verkuil@xxxxxxxxx: fix obvious mistake: v4l2_event_subdev_unsubscribe -> v4l2_ctrl_subdev_subscribe_event] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8ae5640f1b4af2e903802f771ba6a8f0c3497cab Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jun 24 13:50:29 2015 -0300 [media] Add helper function for subdev event notifications Add a new helper function called v4l2_subdev_notify_event() which will deliver the specified event to both the v4l2 subdev event queue as well as to the notify callback. The former is typically used by userspace applications to listen to notification events while the later is used by bridge drivers. Combining both into the same function avoids boilerplate code in subdev drivers. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bcae888039d5f0b522e1588c54f95a7612d1723c Merge: 3685bbc bdac2b6 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Jul 17 14:45:31 2015 +0200 Merge branch 'queue/irq/gpio' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into devel commit aef5159ffc6bbf65d77af3a2e5b3d377c7c4f37a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jun 24 13:50:28 2015 -0300 [media] adv7842: Add support for control event notifications Allow userspace applications to subscribe to control change events. This can e.g. be used to monitor the 5V detect control to be notified when a source is connected or disconnected. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0975626d08b623ad42c89a6294b7c2f8391c69af Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jun 24 13:50:27 2015 -0300 [media] adv7604: Add support for control event notifications Allow userspace applications to subscribe to control change events. This can e.g. be used to monitor the 5V detect control to be notified when a source is connected or disconnected. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eb5c144cbbc0ca9bb9a77c7c83fddc87469318de Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jun 17 23:47:30 2015 -0700 pinctrl: qcom: spmi-mpp: Transpose pinmux function The "function" of the MPP driver was inherited from the GPIO driver, but the differences between the two hardware blocks makes both the driver and the device tree binding to be awkward. Instead of overloading the "normal" function with various modes this patch transposes the pinmux function to represent the three operating modes of the MPP (digital, analog and current sink). The properties of pin pairing and DTEST routing is moved to separate properties. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 099f3e4adddc8fe9899fb879053887a95e9aed7d Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Jul 14 23:40:33 2015 -0700 pinctrl: qcom: spmi-mpp: Add support for setting analog output level When the MPP is configured for analog output the output level is selected by the AOUT_CTL register, this patch makes it possible to control this. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bd6eab90073814a3211fc9688c2d59ce369ccff2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 15 00:25:27 2015 +0200 pinctrl: lpc18xx: add support for usb1 pinconf The dedicated USB1 pins can be configured with pull-down and for low power mode (suspend). Add support for this in the pinctrl driver. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d96310aeddc692cf1f06861cf722c4843e0a3f28 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Tue Jul 14 11:17:59 2015 +0100 pinctrl: pinconf: Fix display of configs The function pinconf_dbg_config_print() only prints the configuration of the 1st pin config in an array of pin configurations. Fix this so that all pin configurations in the array are displayed. There are a few places in the code where the pin configs are displayed and so add a helper function to display the pin configs to simplify the code. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 75629981069cf194336426bbbfb03f9c93d7ad67 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Tue Jul 14 11:17:58 2015 +0100 pinctrl: pinconf: Allow groups to be configured via debugfs The function pinconf_dbg_config_write() currently only supports configuring a pin configuration mapping via the debugfs. Allow group mappings to also be configured via the debugfs. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fb8dfda980bdaf178a7addb0a4f68574e390a9d9 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Jun 23 06:20:23 2015 -0300 [media] v4l2-event: v4l2_event_queue: do nothing if vdev == NULL If the vdev pointer == NULL, then just return. This makes it easier for subdev drivers to use this function without having to check if the sd->devnode pointer is NULL or not. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3685bbce2ea6142e81c78e6f3d5b2a1cdc37660e Author: Vitaly Andrianov <vitalya@xxxxxx> Date: Thu Jul 2 14:31:30 2015 -0400 gpio/davinci: add interrupt support for GPIOs 16-31 Interrupts for GPIOs 16 through 31 are enabled by bit 1 in the "binten" register (offset 8). Previous versions of GPIO only used bit 0, which enables GPIO 0-15 interrupts. Signed-off-by: Vitaly Andrianov <vitalya@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Reviewed-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 675a9a9fda4e9b8634e7e93668f4a8c1311c0db4 Merge: 41cc14b bc0195a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jul 17 09:12:19 2015 -0300 Merge tag 'v4.2-rc2' into patchwork Linux 4.2-rc2 We need to backport changeset 31f02455455d, with fixes a bug at include/linux/compiler.h that breaks sparse. * tag 'v4.2-rc2': (221 commits) Linux 4.2-rc2 Revert "drm/i915: Use crtc_state->active in primary check_plane func" freeing unlinked file indefinitely delayed fix a braino in ovl_d_select_inode() 9p: don't leave a half-initialized inode sitting around tick/broadcast: Prevent NULL pointer dereference selinux: fix mprotect PROT_EXEC regression caused by mm change parisc: Fix some PTE/TLB race conditions and optimize __flush_tlb_range based on timing results stifb: Implement hardware accelerated copyarea nfit: add support for NVDIMM "latch" flag nfit: update block I/O path to use PMEM API tools/testing/nvdimm: add mock acpi_nfit_flush_address entries to nfit_test tools/testing/nvdimm: fix return code for unimplemented commands tools/testing/nvdimm: mock ioremap_wt pmem: add maintainer for include/linux/pmem.h Revert "Input: synaptics - allocate 3 slots to keep stability in image sensors" arm64: entry32: remove pointless register assignment MIPS: O32: Use compat_sys_getsockopt. MIPS: c-r4k: Extend way_string array MIPS: Pistachio: Support CDMM & Fast Debug Channel ... commit 41cc14ba11d7d8532ef4f615c39eb6ebdcdeef61 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:32:44 2015 -0300 [media] ttusb-dec: use swap() in swap_bytes() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2563606ce45314bfeae811edfa9984b1921fff06 Merge: 0154031 b17d1bf Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Jul 17 13:44:15 2015 +0200 Merge tag 'gpiod-flags-for-4.3' of git://git.pengutronix.de/git/ukl/linux into devel The last patch in this series makes the flags parameter for the various gpiod_get* functions mandatory and so allows to remove an ugly cpp hack introduced in commit 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) for v3.17-rc1. The other nine commits fix the last remaining users of these functions that don't pass flags yet. (Only etraxfs-uart wasn't fixed; this driver's use of the gpiod functions needs fixing anyhow.) commit bf1fc23c80e61695e8e899354d17549a4946a9d0 Merge: fa26e4d 322dfa6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 17 12:42:48 2015 +0100 Merge branch 'fix/88pm800' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-88pm800 Conflicts: drivers/regulator/88pm800.c commit 96f0e00378d4a1fc1b79933ef84e1595015de808 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 3 23:57:13 2014 +0100 ARM: add basic support for on-demand backtrace of other CPUs As we now have generic infrastructure to support backtracing of other CPUs in the system on lockups, we can start to implement this for ARM. Initially, we add an IPI based implementation, as the GIC code needs modification to support the generation of FIQ IPIs, and not all ARM platforms have the ability to raise a FIQ in the non-secure world. This provides us with a "best efforts" implementation in the absence of FIQs. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4d7489ffba0aef4d2c708b6ff1428efd6ccf41df Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jul 10 21:47:36 2015 +0100 nmi: x86: convert to generic nmi handler Convert x86 to use the generic nmi handler code which can be shared between architectures. Reviewed-and-tested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b2c0b2cbb282f0cf42518ffacbe197e6f2884168 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 3 23:57:13 2014 +0100 nmi: create generic NMI backtrace implementation x86s NMI backtrace implementation (for arch_trigger_all_cpu_backtrace()) is fairly generic in nature - the only architecture specific bits are the act of raising the NMI to other CPUs, and reporting the status of the NMI handler. These are fairly simple to factor out, and produce a generic implementation which can be shared between ARM and x86. Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9fc114c5d7af6cfb72a2d983e16b83161716d6d0 Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Fri Jul 17 11:33:12 2015 +0800 ASoC: rt5645: Add regulator support This adds basic regulator support for rt5645. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5168c5476a07233ecafaed0effaa59859327e366 Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Fri Jul 17 11:33:11 2015 +0800 ASoC: rt5645: Fix missing free_irq The driver does not free irq when snd_soc_register_codec returns error. It does not return error when request irq failed, either. Add return when request irq failed, and free_irq if snd_soc_register_codec failed. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 582edace0b2af5f5fd44446ff6651a23417f1aee Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Fri Jul 17 10:58:40 2015 +0800 ASoC: rt5645: Remove unused rt5645 variable "ASoC: rt5645: Simplify rt5645_enable_push_button_irq" removes the test that accessed rt5645->pdata.jd_mode (that test is now done in rt5645_jack_detect only), so we do not need that variable anymore. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 42d1b8ce2973c2f5956f4d4e4af002986ccc5748 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 17 10:54:49 2015 +0800 ASoC: Constify dev_pm_ops variables The dev_pm_ops variables are not modified after initialization in these drivers, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b471e7f2ec5a8673e1b5385307357f3dba62f451 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 9 17:13:07 2015 +0200 ARM: ep93xx: add framebuffer to the defconfig The EP93xx SoC has a framebuffer driver, let's add this to the defconfig so we can have graphics working out of the box. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0466b0cc6e238d280fa189417c8fc33271dfc776 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 9 17:12:00 2015 +0200 ARM: ep93xx: add DMA engine to the defconfig Several boards can make use of the DMA engine on the EP93xx so let's enable this by default in the defconfig. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d74485eb90cd4a2f81bba48d3ac04113faef3cab Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 9 17:10:44 2015 +0200 ARM: ep93xx: add GPIO I2C to defconfig Some of the EP93xx boards have I2C devices on bit-banged GPIO I2C, so add this to the defconfig. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4abdd63925f2e21448fca0fbbb1077a1407937c2 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jun 16 10:34:46 2015 +0200 ARM: ep93xx: add LEDs and triggers to defconfig The EP93xx has two designated LEDs (not always connected): a green and a red one. These are registered in the core, so let's enable the driver and some triggers. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7dc2753b70830054a9c079492e30c1a6c2feb62b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jun 16 09:26:45 2015 +0200 ARM: ep93xx: enable SIM.ONE MMC/SD hardware The SIM.ONE has a MMC card connected to the SPI host. This card usually hosts an EXT4 root file system. Enable these options in the defconfig so the default ompiled kernel will work out-of-the-box. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8430f7f9d7d62e0fcc97a033234cab54993641ff Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jun 16 09:25:27 2015 +0200 ARM: ep93xx: enable all boards in the EP93xx defconfig With PATCH_PHYS_TO_VIRT we can support all EP93xx variants in a single image, so enable all board variants in the defconfig for simplicity and build coverage. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3484550d6260a0ffe23976c63c0cfe4142fd1142 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 15 15:00:19 2015 +0200 ARM: ep93xx: activate NO_HZ and high-res timers Let's set the EP93xx to NO_HZ mode and activate the high-res timers now that we have GENERIC_CLOCKEVENTS. Tested-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 109965a32b67cf45951f4fcb92c8d606c0474619 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 9 16:56:40 2015 +0200 ARM: ep93xx: simone: enable DMA on the SPI host The SPI host on the SIM.ONE is used for the MMC/SD card and will badly need this turbo boost. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b07b4e2972372c1ca86dda78802aecc01cbc187a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 09:52:47 2015 -0700 ARM: ep93xx: vision_ep9307: add audio support Add I2S audio support to the vision_ep9307 system. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 25105231f071960c0f7109f0e01ba55c7b823701 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 09:52:46 2015 -0700 ARM: ep93xx: vision_ep9307: enable DMA for SPI Enable the 'use_dma' flag in the SPI platform data to improve the speed of the mmc_spi driver. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e8a7d2bb93f8b713b0536ef6f86b745b288fa96f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jun 18 16:46:34 2015 +0200 ARM: ep93xx: toss the device ID into the entropy pool It doesn't hurt to add this random stuff into the entropy pool as is custom to do with device-unique numbers. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b8824c9a54bb380367541718b50f03cb08524c8d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Jun 15 10:35:06 2015 -0700 ARM: ep93xx: remove memory configuration options The ARM_PATCH_PHYS_VIRT option makes the ep93xx memory configuration options obsolete. This allows support for all the ep93xx variations to be built into a single kernel. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8ed3912e17973e48701f65efe4493811914fc5fe Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jun 16 09:00:44 2015 +0200 ARM: ep93xx: update comment on timer usage When refactoring the EP93xx timer some of the documentation git out of date. Update it. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9a98b3387e7bd9af5a6495b32e07d6f25071f4ba Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Thu Jul 16 17:14:00 2015 -0700 HID: rmi: Set F01 interrupt enable register when not set A firmware bug in some touchpads causes the F01 interrupt enable register to be cleared on reset. This register controls which RMI functions generate interrupts and when it is cleared, the touchpad stops reporting all data. This patch looks for the cleared F01 control register and writes the correct value based on interrupt mask computed while scanning the PDT. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91102 Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 2bdd163cfd262914e8f6152e37aebea2034f801e Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Jul 13 18:03:45 2015 -0700 HID: wacom: Set default device name to value from wacom->features Allocated input devices should not use the 'pen_name' by default since we do not know at that point in time if that is an appropriate choice of name. Instead, use the (tool-agnostic) name that is stored in the device's 'wacom_features' structure. This also has the nice side-effect of requring us to be explicit about the naming of the pen device, as we already are for touch and pad devices. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d9f2d203ab42f099b32ec4580e43eb08b3e4c412 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Jul 13 18:03:44 2015 -0700 HID: wacom: Properly free inputs if 'wacom_allocate_inputs' fails The 'wacom_allocate_inputs' function tries to allocate three input devices: one each for the pen, touch, and pad. The pointers that are returned by the 'wacom_allocate_input' calls are temporarily stored to local variables where they are checked to ensure they're non-null before storing them in the 'wacom_wac' structure. If an allocation fails, the 'wacom_free_inputs' function is called to reclaim the memory. Unfortunately, 'wacom_free_inputs' is called prior to the pointers being copied, so it is not actually able to free anything. This patch has the calls to 'wacom_allocate_input' store the pointer directly in the 'wacom_wac' structure where they can be freed. Also, it replaces the call to 'wacom_free_inputs' with the (more general) 'wacom_clean_inputs' and removes the no-longer-used function. [jkosina@xxxxxxxx: modify to resolve conflict with 67e123f ("Delete unnecessary checks")] Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 57f7e160a137f8ddae455f15abed9bdd1b90ab63 Merge: 70caee0 3eb4351 Author: Jiri Kosina <jkosina@xxxxxxxx> Date: Fri Jul 17 11:19:37 2015 +0200 Merge branch 'for-4.3/upstream' into for-4.3/wacom There is a conflict between 67e123f ("Delete unnecessary checks") sitting in for-4.3/upstream and memory allocation failure handling from Jason Gerecke. Pull this so that conflict could be resolved. Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit ad64498762dd6f262f8c7c37926cd56693e109ba Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 18:09:30 2015 -0700 pinctrl: qcom: Hook pm_power_down for shutdown support Assign pm_power_off() if we have the PS_HOLD functionality so that we can properly shutdown the SoC. Otherwise, shutdown won't do anything besides put the CPU into a tight loop. Unfortunately, we have to use a singleton here because pm_power_off() doesn't take any arguments. Fortunately there's only one instance of the pinctrl device on a running system so this isn't a problem. Cc: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 015403145a65f0a0f7c4d9badfb12759349d1e13 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Thu Jul 9 22:19:53 2015 +0900 gpio: etraxfs: Fix devm_ioremap_resource return value check Value returned by devm_ioremap_resource() was checked for non-NULL but devm_ioremap_resource() returns IOMEM_ERR_PTR, not NULL. In case of error this could lead to dereference of ERR_PTR. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4b0c8bb016e7f36e2d6ec230f9177f88def690d5 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jul 16 17:08:09 2015 +0100 drm/i915/skl: Drop the preliminary_hw_support flag Time to light a candle and remove the preliminary_hw_support flag. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit edd43ed8cebafd29cc24e4798cdf0412c668e644 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jul 16 17:08:08 2015 +0100 drm/i915/skl: Don't expose the top most plane on gen9 display on SKL/BXT, the top most plane hardware is shared between the legacy cursor registers and an actual plane. Daniel and Ville don't want to expose 2 DRM planes and would rather expose a CURSOR plane that has all the usual plane properties, and that's a blocker for lifting the prelimary_hw_support flag. Unfortunately noone has had the time to finish this yet, but lifting the prelimary_hw_support flag is long overdue. As an intermediate solution we can merely not expose the top most plane Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 661abfc028886eb1c6b5b9dbc433ef8cfb11217d Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jul 16 19:36:51 2015 +0300 drm/i915: Fix divide by zero on watermark update Fix divide by zero if we end up updating the watermarks with zero dotclock. This is a stop gap measure to allow module load in cases where our state keeping fails. v2: WARN_ON added (Paulo) Cc: Paulo Zanoni <przanoni@xxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f9fe4b9b2ad4f2b801fdff3d634b07c9f9fc4327 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Jul 1 17:12:46 2015 +0530 drm/mgag200: remove unneeded variable ttm_bo_validate() returns 0 or error. So we can return the value directly and remove the variable 'ret'. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 546aee51ecacf6605b15f6a2580926f956dc5a3e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Jul 1 17:12:45 2015 +0530 drm/mgag200: remove unused variables These variables were assigned some values but they were never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10dca88a4be632678088f5cbc20b54c2113ecb91 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/orion/time: Migrate to new 'set-state' interface Migrate orion driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Gregory Clement <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 8d778377e598bd78d4ce788b20b1c74777c5d137 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/iop/time: Migrate to new 'set-state' interface Migrate iop driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 6c724d4388997588f38587213ce1ab7d3925b87c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/w90x900/time: Migrate to new 'set-state' interface Migrate w90x900 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Wan ZongShun <mcuos.com@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 7639c0b8b3d5e061253936ed5279ff674be238cb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/SPEAr/time: Migrate to new 'set-state' interface Migrate SPEAr driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also kill the unnecessary forward declaration of set-mode routine by moving 'struct clock_event_device clkevt' towards the bottom of the file. Cc: Shiraz Hashim <shiraz.linux.kernel@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 74364615a643f65b6de9faa4112365e4880c7047 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/omap2/timer: Migrate to new 'set-state' interface Migrate omap2 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 69ec063f6018b5931974e7c4ac7a24b1a075ca25 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/omap1/timer32: Migrate to new 'set-state' interface Migrate omap timer32 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 29105e102085a9c1a1eea4f634db2890aca884b8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/omap1/time: Migrate to new 'set-state' interface Migrate omap driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit c22437b78e77ae05768d77d44bb5651ac7ef5da9 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/netx/time: Migrate to new 'set-state' interface Migrate netx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We aren't writing zero twice on the control register for shutdown or resume state now. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit a785fb39e1b7070da5d53a7d09b140c80c31974e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/mmp/time: Migrate to new 'set-state' interface Migrate mmp driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in set_mode(RESUME) except of local_irq_{save|restore}(), which isn't required and so ->tick_resume isn't implemented. Cc: Eric Miao <eric.y.miao@xxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 9325a3a896b611454f6ab3dcedf69c5799dd5617 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/lpc32xx/timer: Migrate to new 'set-state' interface Migrate lpc32xx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Roland Stigge <stigge@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 7cfa3c69ca97acfd7cac19652d82aa610015bab8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/ks8695/time: Migrate to new 'set-state' interface Migrate ks8695 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. There is nothing to be done for oneshot or shutdown states and so are not implemented. Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit cea50eeef15c8498181c4a1ff804a7cdef29aebb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/ixp4xx/timer: Migrate to new 'set-state' interface Migrate ixp4xx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. NOTE: ixp4xx_set_{oneshot|periodic} don't perform read operation on 'IXP4XX_OSRT1' register anymore. Cc: Imre Kaloz <kaloz@xxxxxxxxxxx> Acked-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 3200579fafb0400cd098e939ec664638d38e2bc9 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/imx/epit: Migrate to new 'set-state' interface Migrate imx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also drop 'clockevent_mode': It was caching the last state of the clockevent device. The same behavior can be achieved by using clockevents state helpers. These helpers are only required for oneshot mode as shutdown/resume wouldn't be done twice by the core. Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit e2efda24804234c83e17172a2525641dd6b690bc Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/gemini/time: Migrate to new 'set-state' interface Migrate gemini driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 947d9cf53f5c9c4dfbbffe68f07dd4d02da2093d Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/dc21285-timer: Migrate to new 'set-state' interface Migrate footbridge driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit bc660a454f7899f21f2106be1a16e8d006dd2dba Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/davinci/time: Migrate to new 'set-state' interface Migrate davinci driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in set_mode(RESUME) and so .tick_resume() isn't implemented. Cc: Sekhar Nori <nsekhar@xxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 9bdc2e0c9a45b2b5f4de9927562305475ecb9b55 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/cns3xxx/timer: Migrate to new 'set-state' interface Migrate cns3xxx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. NOTE: We don't read TIMER1_2_CONTROL_OFFSET register on shutdown anymore. Acked-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 5e2535710ee3fa2807406ea75eb4381f85b29b0b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/smp_twd: Migrate to new 'set-state' interface Migrate smp_twd driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit f2da4542268503d22869617b7dbcb40d364c78bb Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Jul 17 07:44:09 2015 +0800 ASoC: sti: sti_uniperiph_dai_create_ctrl() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 821e79cb5686695f0adaef61587a184e953a937e Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 16 16:54:14 2015 +0900 ARM: shmobile: Remove marzen_defconfig Now when the Marzen legacy board code is removed also get rid of the marzen_defconfig file. Existing users shall move over to shmobile_defconfig. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ba88d4338f226766f510e207911dde8c1875e072 Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Date: Tue Jul 14 09:46:23 2015 -0700 intel_pstate: enable HWP per CPU HWP previously was only enabled at driver load time, on the boot CPU, however, HWP must be enabled per package. Move the code to enable HWP to the cpufreq driver init path so that it will be called per CPU. Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Tested-by: David Zhuang <david.zhuang@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3a5f5b2e3b4ba165e342c4e969c7fa8d85be0d94 Author: Cristian Ardelean <cristian97.ardelean@xxxxxxxxx> Date: Fri Jul 10 14:42:15 2015 -0400 cpufreq: integrator: fixed coding style issues Fixed coding style issues found by checkpatch.pl tool. Changed space indentation to tab, removed unneccesary braces, removed space between MODULE macros and parentheses. REMARKS: failed to 'make' this file with error message 'fatal error: asm/mach-types.h: No such file or directory'. Signed-off-by: Cristian Ardelean <cristian97.ardelean@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8cfcfd39000d54188e0df1e0fafe63f53897b62a Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Fri Jul 10 14:36:20 2015 +0800 acpi-cpufreq: Fix an ACPI perf unregister issue As policy->cpu may not be same in acpi_cpufreq_cpu_init() and acpi_cpufreq_cpu_exit(). There is a risk that we use different CPU to un/register ACPI performance. So acpi_processor_unregister_performance() may not be able to do the cleanup work. That causes a memory leak. And if there will be another acpi_processor_register_performance() call, it may also fail thanks to the internal check of pr->performace. So add a new struct acpi_cpufreq_data field, acpi_perf_cpu, to fix this issue. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7f0fa40f5a587c2a026de776cc6a26373ac0f244 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 8 15:12:16 2015 +0530 cpufreq: Properly handle errors from cpufreq_init_policy() cpufreq_init_policy() can fail, and we don't do anything except a call to ->exit() on that. The policy should be freed if this happens. Do it properly. Reported-and-tested-by: "Jon Medhurst (Tixy)" <tixy@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8101f99703048ceaa31c756abe1098d099249ad9 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 8 15:12:15 2015 +0530 cpufreq: cpufreq_add_dev: name goto labels based on what they do These labels are are named in two ways normally: - Based on what caused to jump to such labels - Based on what we do under such labels We follow the first naming convention today and that leads to multiple labels for doing the same work. Fix it by switching to the second way of naming them. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit eb0b3e78e6290e5a1bf970830939d5c8c9151892 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Tue Jul 7 20:43:26 2015 +0800 acpi-cpufreq: replace per_cpu with driver_data of policy Drivers can store their internal per-policy information in policy->driver_data, lets use it. we have benefits after this replacing. 1) memory saving. 2) policy is shared by several cpus, per_cpu seems not correct. using *driver_data* is more reasonable. 3) fix a memory leak in acpi_cpufreq_cpu_exit. as policy->cpu might change during cpu hotplug. So sometimes we cant't free *data*, use *driver_data* to fix it. 4) fix a zero return value of get_cur_freq_on_cpu. Only per_cpu of policy->cpu is set to *data*, if we try to get cpufreq on other cpus, we get zero instead of correct values. Use *driver_data* to fix it. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 97a859641ba1a5d7adf547ab971ab1867b467493 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 23:24:10 2015 +0200 PCI/keystone: Prepare irq handlers for irq argument removal Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5168a73ce32d38170a943aab4ff3402e2ddce641 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:05 2015 +0200 PCI/keystone: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Murali Karicheri <m-karicheri2@xxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: linux-pci@xxxxxxxxxxxxxxx Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> commit 40b6d3faef73e6a877fe157f48df1af90bddd9e5 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:23 2015 +0800 PCI/keystone: Use irq_data_get_msi_desc() to avoid redundant lookup of irq_data Use irq_data_get_msi_desc() to avoid redundant lookup of irq_data while we already have a pointer to corresponding irq_data. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Murali Karicheri <m-karicheri2@xxxxxx> Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 507a883ed5396825b88631b06cd27e050f5aa8fe Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:42 2015 +0800 treewide: Use helper function to access irq_data->msi_desc Use irq_data access helper to access irq_data->msi_desc, so we can move msi_desc from struct irq_data into struct irq_common_data later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c391f262bee9d0d6424a99c85183a06c50e307ee Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:41 2015 +0800 genirq: Rename irq_data_get_msi() as irq_data_get_msi_desc() Rename irq_data_get_msi() as irq_data_get_msi_desc() to keep consistency with other irq_data access helpers. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 78edead4494219640d9fdf37d76beae24f79de9e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:16:37 2015 +0000 ASoC: rsnd: tidyup SRC position on each code This is cleanup for CTU/MIX support Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5cbbadd3d507eeb7711266e3932f4c427cbcbd61 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:16:19 2015 +0000 ASoC: rsnd: add rsnd_io_to_mod() Sometimes we would like to get each module directly, especially data path searching. this patch adds rsnd_io_to_mod() macro, and existing rsnd_io_to_mod_xxx() use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ddea1b2e83c379840aa54fadc587e418cf986ccb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:16:03 2015 +0000 ASoC: rsnd: dma: add DMA name on .ops Current rsnd driver is using Audio DMAC (via DMAEngine) and Audio DMAC peri peri (via original method), and usage of these DMAC are different. Indicates its naming is useful for debugging. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9469b8b6092d347ef8a5fa9d2d7dde4c857a0994 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:15:47 2015 +0000 ASoC: rsnd: check the Gen1 at the beginning of DVC probe DVC doesn't support Gen1, check it beginning of probe Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 98d358af07aa6fc4cd6cdfd3256ab792eb3675cd Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:15:27 2015 +0000 ASoC: rsnd: tidyup rsnd_dma_ops definition place rsnd_dma_ops is used only from dma.c, rsnd.h doesn't need it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 84e95355602c59865be8a3bd18cd2f0b3863b4cb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:15:10 2015 +0000 ASoC: rsnd: show debug message for SSI/SRC/DVC connection It can help for connection debug Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4689032b11d1af10e5eb755eb575f9761a455a72 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:14:47 2015 +0000 ASoC: rsnd: tidyup data align position Sound L/R order of SSI is different from Linux sound data order. So current rsnd driver is using DALIGN (= data align) to exchange data align on SSIU. OTOH, CMD/SRC/SSIU have DALIGN register. Now inverted sound volume will be exchanged if user used volume control on DVC. Because SSIU which exchanges data align is located after DVC. MEM -> SRC -> DVC -> SSI This patch exchanges data align SRC if possible Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bfe1360d79210f9c1d330a07c26a8d5cb202159d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:14:29 2015 +0000 ASoC: rsnd: add rsnd_get_adinr_chan() Current rsnd driver has rsnd_get_adinr_bit() to get bit settings for ADINR (= Audio Information Register) of SSIU/SRC/DVC. This patch adds rsnd_get_adinr_chan() to get channel settings for ADINR (= Audio Information Register) of CTU/MIX. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3023b384d0c9da49028131b91fe64b24b5b84e6d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:14:05 2015 +0000 ASoC: rsnd: tidyup ADINR function name Renesas sound IP (= SSIU/SRC/CTU/MIX/DVC) have ADINR (= Audio Information Register), but some of them (= SSIU/SRC/DVC) are for audio data bits, some of them (= CTU/MIX) are for audio data channels. Current rsnd driver is supporting SSIU/SRC/DVC, and these ADINR were for bits. This patch rename rsnd_get_adinr() to rsnd_get_adinr_bit(), and we will have rsnd_get_adinr_chan() for CTU/MIX. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d1ade514e84ea55cba999edb04cb88daa4da94b8 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:13:47 2015 +0000 ASoC: rsnd: add rsnd_src_initialize_lock/unlock() Renesas SCU (Sampling Rate Convert Unit) includes SRC/CTU/MIX/DVC, and these have similar register. xxxIR (Initialization Register) is one of them. These xxxIR need be set to 1 during initialization. Current rsnd driver has src.c / dvc.c, and we will have mix.c. It is readable if these have same named function. This patch adds rsnd_src_initialize_lock/unlock() and make sure it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3bb3d363e50d371289f0bd63b48da771ea807c02 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:13:29 2015 +0000 ASoC: rsnd: add rsnd_dvc_initialize_lock/unlock() Renesas SCU (Sampling Rate Convert Unit) includes SRC/CTU/MIX/DVC, and these have similar register. xxxIR (Initialization Register) is one of them. These xxxIR need be set to 1 during initialization. Current rsnd driver has src.c / dvc.c, and we will have mix.c. It is readable if these have same named function. This patch adds rsnd_dvc_initialize_lock/unlock() and make sure it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2c08416196bd10a6575057fdd1347a307ce3a15 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:13:10 2015 +0000 ASoC: rsnd: add rsnd_path_parse() for CTU/MIX/DVC route setting Current sound data route settings is done in dvc.c, and it doesn't care about CTU/MIX at this poinnt, but we need to care about these. OTOH, rsnd driver already has rsnd_path_xxx() functions for data path which are good match for CTU/MIX/DVC path selectio. This patch adds new rsnd_path_parse() to select sound data route which will care about CTU/MIX/DVC path. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c8cf15f64f8ddb3169987c2f26df3341b8556296 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:12:52 2015 +0000 ASoC: rsnd: rename rsnd_path_parse/break() into add/remove parse/break is a little ambiguous/confusable name for rsnd module path. Especially for CTU/MIX support. It was renamed to add/remove Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d6f8d5b4422a5a391c02df97af9ef7da5a929d71 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:12:36 2015 +0000 ASoC: rsnd: enable module multi connection '8a4e379b54f8("ASoC: rsnd: remove io from rsnd_mod")' removed mod/io relationship. rsnd_dai_connect() mod/io check is no longer needed Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 379febfd2e30ec8db5baccd9f9403bf650c6afa1 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:12:18 2015 +0000 ASoC: rsnd: src: make sure SRC soft reset Renesas SCU (Sampling Rate Convert Unit) includes SRC/CTU/MIX/DVC, and these have similar register. xxxRSR (Software reset Register) is one of them. These xxxRSR need be set to 1 to 0 when software reset. Current rsnd driver has src.c / dvc.c, and we will have mix.c. It is readable if these have same named function. This patch adds rsnd_src_soft_reset() and make sure it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 636e4bad5cca947839c09d3e13ad6feeb7fa45da Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:12:00 2015 +0000 ASoC: rsnd: dvc: make sure DVC soft reset Renesas SCU (Sampling Rate Convert Unit) includes SRC/CTU/MIX/DVC, and these have similar register. xxxRSR (Software reset Register) is one of them. These xxxRSR need be set to 1 to 0 when software reset. Current rsnd driver has src.c / dvc.c, and we will have mix.c. It is readable if these have same named function. This patch adds rsnd_dvc_soft_reset() and make sure it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da599fd34b1f2f14f2c387e6b3a909f9ff519c8a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:11:21 2015 +0000 ASoC: rsnd: move SRC specific macro into src.c rsnd_src_nr() is used only from src.c Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4f35fabaa30b116d549d95fe7dae907510c71862 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:11:02 2015 +0000 ASoC: rsnd: move DVC specific macro into dvc.c rsnd_dvc_nr() is used only from dvc.c Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 72413c107e81386a7da438bcf888ee2af5d3b72f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:10:43 2015 +0000 ASoC: rsnd: rsnd_mod_id() return -1 if mod was NULL enabling to use same method for exception case is useful. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1a1bf58aafd09b3cb148eead3d709e2d7974a1f3 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:10:22 2015 +0000 ASoC: rsnd: add workaround for SRC sync convert + DVC We couldn't use SRC sync convert mode together with DVC, but we can use workaround for it. This patch adds workaround and can use SRC sync convert + DVC Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a48e3f9747fd62b385221a892cd4726b82dacd11 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:10:04 2015 +0000 ASoC: rsnd: fixup each module counter on __rsnd_mod_call() '5451ea443b ("ASoC: rsnd: count each mod (SSI/SRC/DVC)")' counts each module's callback status, but counts 1st callback only. This patch fixup it. Otherwise, multi-called function will be trouble Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit efa991dc9143815179fd55a88e846cc39792608c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:09:47 2015 +0000 ASoC: rsnd: rename INT_ENABLE to SSI_INT_ENABLE based on datasheet Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cdde84d10d3cb4d35051bc5fdb268f6faf33d1c8 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:09:27 2015 +0000 ASoC: rsnd: rename BUSIF_DALIGN to SSI_BUSIF_DALIGN based on datasheet Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6abcae32ea68899bfd4b770433860a71f8c3500b Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:09:07 2015 +0000 ASoC: rsnd: remove unnecessary 'out of memory' message from DVC Current checkpatch.pl indicates 'out of memory' message is unnecessary. Let's remove it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 33363f7a18f3baaa04b678aac8819c43296c8c9c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:08:44 2015 +0000 ASoC: rsnd: remove unnecessary 'out of memory' message from SRC Current checkpatch.pl indicates 'out of memory' message is unnecessary. Let's remove it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit afa700729646761f58cc068d86a37e09a70e4cf6 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:08:24 2015 +0000 ASoC: rsnd: remove unnecessary 'out of memory' message from SSI Current checkpatch.pl indicates 'out of memory' message is unnecessary. Let's remove it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b7419dd73606118b8797d49b53a9fbe2e2dfa863 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:08:05 2015 +0000 ASoC: rsrc-card: use snd_soc_of_parse_audio_route/prefix for routing using common audio routing path method makes sense. Let's use snd_soc_of_parse_audio_route/prefix. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 904e8b0b3074a570b6e714fbc3db72441f313638 Merge: 7b47ab4 5e3cdaa Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Jul 16 22:04:17 2015 +0100 Merge branch 'topic/of-name' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rcar commit 2de9d6006c190bb0f706e8404de94cd94293801f Author: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 16:36:22 2015 +0100 regmap: Apply optional delay in multi_reg_write/register_patch Add an optional delay_us field in reg_sequence to allow the client to specify a delay (in microseconds) to be applied after any given write in a sequence of writes. We treat a delay in a sequence the same way we treat a page change as they are logically similar in that you can coalesce all write before a delay (in the same way you can coalesce all writes before a page change is needed) Signed-off-by: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8019ff6cfc0440415fcfb6352c58c3951e6ab053 Author: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 16:36:21 2015 +0100 regmap: Use reg_sequence for multi_reg_write / register_patch Separate the functionality using sequences of register writes from the functions that take register defaults. This change renames the arguments in order to support the extension of reg_sequence to take an optional delay to be applied after any given register in a sequence is written. This avoids adding an int to all register defaults, which could substantially increase memory usage for regmaps with large default tables. This also updates all the clients of multi_reg_write/register_patch. Signed-off-by: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5e3cdaa20816dd2fe4dc17d06a9f0dae0abc930c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:07:42 2015 +0000 ASoC: core: add snd_soc_of_parse_audio_prefix() Current ASoC can add name_prefix for DAPM, and it is necessary for route settings. This patch adds snd_soc_of_parse_audio_prefix() for this purpose. It will be used with snd_soc_of_parse_audio_routing(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e40da86a37f64c73b810bc7a63d77c44dc61accb Author: Tim Howe <tim.howe@xxxxxxxxxx> Date: Thu Jul 16 14:51:40 2015 -0500 ASoC: cs4349: Add support for Cirrus Logic CS4349 Signed-off-by: Tim Howe <tim.howe@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9fc0fd6b052be4390138bb6c4bae07d6b7e1aa66 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:42:21 2015 +0200 irqchip/spear-shirq: Prepare shirq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 71093eb2cf720a1eded53c0711c4fa691185e82c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:41:39 2015 +0200 irqchip/versatile-fpga: Prepare fpga_irq_handle for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit e616e9af87206dfd00753c1546388210fe5d0002 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:40:58 2015 +0200 irqchip/tb10x: Prepare tb10x_irq_cascade for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 4df18a668c45d2069d731eccb75b7558052c8718 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:39:29 2015 +0200 irqchip/s3c24xx: Prepare s3c_irq_demux for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 14873aa1d1c97a11cec57ae1345da467d4b6d4d7 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:38:51 2015 +0200 irqchip/mmp: Prepare icu_mux_irq_demux for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 283653a368f49773ee7242e2a03227d7de5d3a7e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:38:07 2015 +0200 irqchip/keystone: Prepare keystone_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 99705f995a704fdf8625464d70ef5c5750ea55e2 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:37:28 2015 +0200 irqchip/imgpdc: Prepare pdc_intc_perip_isr for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 00db2ae52a78f6ba23c16c22696da59f4f2a4da0 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:35:20 2015 +0200 irqchip/brcmstb-l2: Prepare brcmstb_l2_intc_irq_handle for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 77b563ed06a63e59ce1bf2803170898e852b3866 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:21:39 2015 +0200 irqchip/exynos: Prepare combiner_handle_cascade_irq for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 28f3b6f113186ff69bdc5e63126ae7fd5e35a138 Author: Omair M Abdullah <omair.m.abdullah@xxxxxxxxx> Date: Fri Jul 10 22:18:45 2015 +0530 ASoC: Intel: Skylake: Print error code in IPC for SKL Signed-off-by: Omair M Abdullah <omair.m.abdullah@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a750ba5f5a564732ed2be87de836a5a74f9cc586 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Jul 10 22:18:44 2015 +0530 ASoC: Intel: Skylake: Add SKL DSP initialization This adds the dsp and ipc initialization for the Skylake platform. It also requests firmware and uses code loader dma to load it. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6cb0033380ec6297589e68bfcf19aeda7ba95e99 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Jul 10 22:18:43 2015 +0530 ASoC: Intel: Skylake: Process code loader DMA interrupt The code loader DMA interrupt is received by main interrupt handler which dispatches it to cldma routines Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e40a78461739d86fe1084c515ec227507ba993d Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jul 10 22:18:42 2015 +0530 ASoC: Intel: Skylake: Add code loader DMA APIs This patch adds the last piece of code loader DMA APIs by adding the code loader DMA APIs for the driver to use Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 914426c8657c1e934b015ffa32e7bfd0cb34f47f Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jul 10 22:18:41 2015 +0530 ASoC: Intel: Skylake: add code loader DMA operations This patch starts adding code loader DMA handling internal operations for setting up bdle, controller, spb, cleanup routines and buffer filling Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e30903877fde33192b80100b7f63f2af97b2bd86 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jul 10 22:18:40 2015 +0530 ASoC: Intel: Skylake: Add code loader DMA registers Skylake has a DMA controller for loading DSP code and modules to memory. Add the register defines for this DMA Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b662680252fa6e3bc53ad087078dd1fe7496449c Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Jul 10 22:18:39 2015 +0530 ASoC: Intel: Skylake: Add dsp loader ops The ops is initialized during the dsp registration and used for the allocating dma buffers. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a32b401a11fc48193e58b0a5af6ea82de0272de Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:55 2015 +0900 regulator: Remove the max77843 driver The max77693 regulator driver supports Maxim 77843 device so remove the max77843 driver. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9e9a08e86733d994fe08876de7878148411d6bb5 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:54 2015 +0900 regulator: max77693: Add support for MAX77843 device The charger and safeout parts of MAX77843 are almost the same as MAX77693. From regulator point of view the only differences are the constraints and register values related to these constraints. Now the max77693 regulator driver can be used for MAX77843 device. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 309a3e00a511a233acb25eec567a4b11c99d016a Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:53 2015 +0900 mfd/extcon: max77843: Rename defines to allow inclusion with max77693 Add MAX77843_MUIC prefix to some of the defines used in max77843 extcon driver so the max77693-private.h can be included simultaneously with max77843-private.h. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cceb433a1e2930301b33c79016eff147eb555cea Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:52 2015 +0900 mfd/extcon: max77693: Rename defines to allow inclusion with max77843 Add MAX77693 prefix to some of the defines used in max77693 extcon driver so the max77693-private.h can be included simultaneously with max77843-private.h. Additionally use BIT() macro in header. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bc1aadc18621ccf93fb33ecbb847b422c354899d Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:51 2015 +0900 drivers: max77843: Switch to common max77693 state container Switch to the same definition of state container as in MAX77693 drivers. This will allow usage of one regulator driver in both devices: MAX77693 and MAX77843. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 61b305cd2ae747b8c9a2e4467dea2575a390162c Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:50 2015 +0900 drivers: max77693: Move state container to common header This prepares for merging some of the drivers between max77693 and max77843 so the child MFD driver can be attached to any parent MFD main driver. Move the state container to common header file. Additionally add consistent 'i2c' prefixes to its members (of 'struct i2c_client' type). Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5b5e771fb711f95da859bf6be9fba4bc9919b5d5 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:49 2015 +0900 regulator: max77693: Support different register configurations Add support for different configurations of charger's registers so the same driver could be used on other devices (e.g. MAX77843). Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b3b58cee8aced52e3d7fdb387f40c782a4511198 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:48 2015 +0900 mfd: max77693: Store I2C device type as enum and add default unknown Store the device type (obtained from i2c_device_id) as an enum and add a default type of unknown to distinguish from case when this is not set at all. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0afab670bda6f3c9980be9e6de0effcc2c6d456c Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:47 2015 +0900 mfd/extcon: max77693: Remove unused extern declarations and max77693_dev members Clean up the max77693 private header file by removing: 1. Left-overs from previous way of interrupt handling (driver uses regmap_irq_chip). 2. Unused members of struct 'max77693_dev' related to interrupts in extcon driver. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa050796b35c80ac948c4d24c95262daa905e2ef Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:06 2015 +0200 ASoC: sti: Add clock adjustement control Add capability to adjust player clock, for clocks drift management. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1e6babb417f76bd6d1a4d1d633e5c46435acbfe7 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:05 2015 +0200 ASoC: Add ability to build sti drivers Define the platform and codec drivers, and how to build them. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f3bd847eb0a7744b1a86f6b585149434cc6f57ff Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:04 2015 +0200 ASoC: sti: Add uniperipheral dai driver ASoc uniperipheral dai driver that manages uniperipheral DAIs and registers associated generic dma engine platform. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c3a0003aaf0dc2ffd006a3bb5abc1f5b639552a7 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:03 2015 +0200 ASoC: sti: Add CPU DAI driver for capture Add code to manage Uniperipheral reader IP instances. These DAIs are dedicated to capture and support I2S and IEC modes. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ed6c75f23383ba4e0fbc935c0b6ab165bc9ff65e Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:02 2015 +0200 ASoC: sti: minor corrections for uniplayer Minor corrections after code review. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 04b5cbd80af899c6a4d51835b069b96ae8864e5a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 16 21:22:52 2015 +0200 ASoC: max9768: Convert to component The driver does not use any CODEC specific constructs anymore. Convert it to snd_soc_component. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d79cca1a994f6f4f1cf3d92909f2a73df6b84874 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 16 21:22:51 2015 +0200 ASoC: max9768: Use managed gpio request Makes the code a bit shorter and simpler. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 623436af42ef2b37fee8f6058a85f4664bd32c74 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 16 21:22:50 2015 +0200 ASoC: max9877: Convert to component The driver does not use any CODEC specific constructs anymore. Convert it to snd_soc_component. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit df2e268226e2e3d79980a5dddfd683126f79ddb4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 16 21:22:49 2015 +0200 ASoC: max9877: Make driver global regmap struct local Use a stack local variable to handle function local state rather than a global static variable. The later has a potential for race conditions if the probe function runs for two devices concurrently. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7d9fb377a747025232fe4e8d17e54ff8032aba27 Merge: 1c07a4d c418a84 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Jul 16 21:35:01 2015 +0100 Merge branches 'topic/owner' and 'topic/reg-default' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-max9877 commit fa26e4d2b3cf1c84f20fbc003501bb028f682d92 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Thu Jul 16 23:46:56 2015 +0530 regulator: 88pm800: Use regulator_nodes/of_match in the descriptor This patch is add regulator_nodes/of_match in the regulator descriptor for using information from DT instead of specific codes. With this patch, driver gets simplified, - No need to maintain "struct of_regulator_match" table and call of_regulator_match() fn. - No need for pm800_regulator_dt_init() fn, as it was only used for of_regulator_match(). - probe() fn got simplified around regulator_config and regulator_desc initialization. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a07d94a54b93d94d8cb990ffe018c595cfb94662 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Thu Jul 16 23:46:55 2015 +0530 regulator: 88pm800: Update driver to use devm_regulator_register fn This patch replaces standard regulator_register with devm_regulator_register() fn, as using devm_regulator_register() fn simplifies the driver return/exit path. As part of this update, patch also cleanups up all unnecessary changes which is result of this patch - - Remove _remove() fn, as devm_ variant takes care of it. - Remove pm800_regulators.regulators[] field, as it was only needed during cleanup, so we no longer need this. This also saved some amount of memory. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d45c70bfb3ffe55fad1d1681feaec2094f4da3b Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Thu Jul 16 23:46:54 2015 +0530 regulator: 88pm800: Fix indentation of assignments of data structures This patch makes code more clean from readability point of view, make all assignments of LDO, BUCk and regulator_ops structure at the same indentation. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4863dcd394019b542ac968870cba734d27e992e0 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Jul 15 23:03:09 2015 +0200 ARM: dts: rockchip: add rk3288 arm-pmu irq affinity The rk3288 uses spi irqs for the arm-pmu on individual cpu cores, so needs the affinity to them defined. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx> commit cee3d8ccbecb8af6788edaaac46befca78b000dc Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Jul 16 10:32:40 2015 -0700 Input: ambakmi - fix system PM by converting to modern callbacks The legacy system PM support has long time ago been dropped from the AMBA bus. Align to that by converting to the modern system PM callbacks. Fixes: 26825cfd90f9 (ARM: 7914/1: amba: Drop legacy PM support ...) Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e1443d2849b146be4ed8d4ef89ae7e215aafaa5b Author: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Date: Wed Jul 15 10:20:17 2015 -0700 Input: i8042 - add unmask_kbd_data option A big problem with the current i8042 debugging option is that it outputs data going to and from the keyboard by default. As a result, many dmesg logs uploaded by users will unintentionally contain sensitive information such as their password, as such it's probably a good idea not to output data coming from the keyboard unless specifically enabled by the user. Signed-off-by: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Reviewed-by: Andreas Mohr <andim2@xxxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b8d1f261fe7e4967593a5637d62991b6197a03f8 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 18:28:20 2015 +0530 staging: dgap: remove duplicate code Remove the duplicate code of dgap_remove_one() and dgap_stop(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 174b83c0eb577d7db8f1867f1d76dc14f0b8eb40 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 18:28:19 2015 +0530 staging: dgap: new arguments to dgap_stop In a later patch we will remove the duplicate codes. But the code also needs to execute dgap_remove_driver_sysfiles() if it is being called from dgap_remove_one() but if being called fron the error path of the dgap_init_module() then the sysfiles should not be removed. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eda03951c3edc1f95e974096770ee3b02df2a8f5 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 18:28:18 2015 +0530 staging: dgap: rearrange function Relocate the function dgap_stop() so that in a later patch we can remove the duplicate codes between dgap_stop() and dgap_remove_one(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac4e504a597903f65e6b365eee3e2675a7d8fe4e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 18:28:17 2015 +0530 staging: dgap: fix error path The code in dgap_stop() is almost a duplicate of the code that will be executed on pci_unregister_driver(). So the error code was stopping and unregistering everything twice. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d708e52c2295d4d74c58881668a05ff7af8dc16 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:12 2015 +0530 staging: rtl8188eu: remove unneeded ret The variable ret was always 0. So remove the variable and always return 0 from the function. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9aa39bc4d35ca33b406c15da563d6719aae3931e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:11 2015 +0530 staging: rtl8188eu: stop using DBG_88E Stop using DBG_88E which is a custom macro for printing debugging messages. Instead start using pr_debug and in the process define pr_fmt. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce806322730a2b29fd15c7873c09335a49b7a941 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:10 2015 +0530 staging: rtl8188eu: remove unneeded variable The default value of status was _FAIL, it was only changed if kzalloc succeeds and the check for status is immediately following kzalloc. We can have the failure code in the else part as the failure code will be executed only if kzalloc fails. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47ccb34ac72c0dbbb68f6a07ce63e9f0d21510ea Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:09 2015 +0530 staging: rtl8188eu: remove goto label By checking for the success of kzalloc we were able to remove the goto label thus making the code more readable. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 277394198413fc46e81767827533e5ab8ef167af Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:08 2015 +0530 staging: rtl8188eu: remove redundant NULL check The check for pstat and pdvobjpriv is not required here as we have already checked for them before. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48028c61e45acf644aaaa47db475974829fc64dd Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:07 2015 +0530 staging: rtl8188eu: remove unused function The inline function rtw_set_ips_deny() was only defined but was never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 613a7c5e0f2b216e62b7dfaa92c54959319bed42 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Jul 15 13:59:46 2015 +0530 staging: sm7xxfb: usr fb_read and fb_write Now since the Big-Endian and Little-Endian based calculations are moved into a macro we can make fb_read() and fb_write() common for both Little-Endian and Big-Endian. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87bf79298036a47ab158ae7e335cc7f8b0df4e9c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Jul 15 13:59:45 2015 +0530 staging: sm7xxfb: define new macros Define and use some new macros to work with different situations based on little-endian and big-endian. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9431fda3ff9193249ee7bc7731bb74e9f51f6f36 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 00:44:55 2015 +0200 staging: rtl8188eu: remove unused rtw_hal_write_rfreg rtw_hal_write_rfreg() is never referenced, so remove it. It used to be the only place where the write_rfreg callback was called, so get rid of the function pointer as well. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f83113d3e6f2cef66890a90d01c5347ece4ecd97 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 00:44:54 2015 +0200 staging: rtl8188eu: remove unused rtw_hal_set_def_var rtw_hal_set_def_var() is never referenced, so remove it. It used to be the only place where the SetHalDefVarHandler callback was called, so get rid of the function pointer as well. Also remove the callback itself, SetHalDefVar8188EUsb(), which was not called anywhere else. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42748bc905d57aa96a3b8ef50261bcf95890bef7 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 00:44:53 2015 +0200 staging: rtl8188eu: remove unused {en,dis}able_interrupt rtw_hal_enable_interrupt() and rtw_hal_disable_interrupt() are never referenced, so remove them. They used to be the only place where the enable_interrupt() and disable_interrupt() callbacks were called, and the function pointer is never set, so get rid of the function pointer as well. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8011d90c68d10d67b797e0704c16697bba683a1 Author: CHANG FU CHIAO <zector1030@xxxxxxxxx> Date: Wed Jul 15 15:32:21 2015 +0800 staging: ft1000: ft1000-usb: remove unnecessary out of memory warning fixes "Possible unnecessary 'out of memory' message" Signed-off-by: CHANG FU CHIAO <zector1030@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 315c928ba99af23dd25ac664b7c02828cf047f19 Author: Pedro Marzo Perez <marzo.pedro@xxxxxxxxx> Date: Thu Jul 16 20:50:00 2015 +0200 Staging: lustre: make obd_device_cachep static Variable obd_device_cachep is only used inside the file it is declared, so it is better set as static Signed-off-by: Pedro Marzo Perez <marzo.pedro@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c7e397c98d646a3a23ffd304def1750be916803 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:21:16 2015 -0400 staging/lustre/ldlm: Unregister ldlm namespace from sysfs on free ldlm_namespace_sysfs_unregister needs to be called ldlm_namespace_free_post so that we don't have this dangling object there after the namespace has disappeared. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bdc190a929c6f99732a9a0ff03dba7b0137d4bd Author: Vasiliy Korchagin <vasiliy.korchagin@xxxxxxxxx> Date: Wed Jul 15 00:40:40 2015 +0000 staging: lustre: obdclass: simplify class_uuid_unparse This patch simplifies uuid unparse logic by using sprintf "%pU" extension. And eliminates the code with a coding style error: ERROR: Macros with complex values should be enclosed in parentheses +#define CONSUME(val, ptr) (val) = consume(sizeof(val), (ptr)) Signed-off-by: Vasiliy Korchagin <vasiliy.korchagin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f14cc18f8dd5d1b05ae6583361e08222381ca84 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Thu Jul 16 12:40:48 2015 -0400 staging: unisys: fix copyright statements The copyright statements in the drivers need to be correct and consistent; this patch fixes the year for all of them, and makes the statement text cover just the GPL V2. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f33d159ea701cbaba90f20876aeba11d27b698c2 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 17:45:09 2015 +0300 x86/platform/iosf_mbi: Add Intel Tangier PCI id Intel Tangier has an IOSF Mailbox with PCI ID 8086:1170. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: David E . Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436366709-17683-6-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7e1ff15b699bcb2bce1e8086323d227788960044 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 17:45:08 2015 +0300 x86/platform/iosf_mbi: Source cleanup - Move the static variables to one place - Fix indentations in the header - Correct comments No functional change. [ tglx: Massaged changelog ] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: David E . Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436366709-17683-5-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b93fb9f6aee0ea6fe60ed20278b9c7fea70a58ff Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 17:45:07 2015 +0300 x86/platform/iosf_mbi: Remove NULL pointer checks for pci_dev_put() pci_dev_put() has already a check for NULL pointer. [ tglx: Massaged changelog ] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: David E . Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436366709-17683-4-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 64279c7e05264f9774c6c9ee65a5b9ed186e442b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 17:45:06 2015 +0300 x86/platform/iosf_mbi: Check return value of debugfs_create properly The code checks the result of the first debugfs_create call several times and fails to check the result of the subsequent calls due to missing assigments. Add the missing assignments and check only for !res because debugfs_create() returns only NULL on error and not an encoded error code. [ tglx: Massaged changelog ] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: David E . Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436366709-17683-3-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 23ae2a16bb39d999892a86a65933fe3e9b6b525f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 17:45:05 2015 +0300 x86/platform/iosf_mbi: Move to dedicated folder Move the driver to arch/x86/platform/intel since it is not a core kernel code and it is related to many Intel SoCs from different groups: Atom, MID, etc. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: David E . Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436366709-17683-2-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2660801f7323b84fc2ad46449a5d1f331266d9f7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Jul 16 15:51:01 2015 +0200 drm/atomic: Only update crtc->x/y if it's part of the state, v2. Universal planes may not be assigned to the current crtc, so only update crtc->x/y when the primary is part of the state and bound to the current crtc. Changes since v1: - Add the crtc check. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4a01a64c8ee8d205bbe25adb40bb3922d0ebce70 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Jun 25 19:22:27 2015 +0200 dt-bindings: document rk3368 R88 board from Rockchip The initial board containing the rk3368 ARM64 soc. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ab7322af8c620987ed058e39506c97e5f2d3c65c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Jul 16 11:08:34 2015 -0300 perf strlist: load() should return a negative errno To match what its users return. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jntpe2lwg1fxn1bku7uccan0@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 72858602e167ea2d7487337bac279beec7a99c84 Author: Laurent Navet <laurent.navet@xxxxxxxxx> Date: Tue Jul 7 22:22:15 2015 +0200 gpiolib: remove unneeded assignation ret is assigned value from of_property_read_string_index but is overwritten before being used so remove it. Also fix coverity CID 1309759 Reported-by: coverity (CID 1309759) Signed-off-by: Laurent Navet <laurent.navet@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9bde2823dcb97997456645f9b18f8c3468b727ca Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon May 18 15:33:13 2015 +0530 dmaengine: zxdma: explicitly free irq on device removal At device removal, tasklets are not disabled and irqs are still enabled, so free the irq explicitly on device removal Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e3fa9841d309ae7992b658eba0f973543b97ed1f Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Tue May 5 22:06:08 2015 +0800 dmaengine: zxdma: Support ZTE ZX296702 dma Add ZTE ZX296702 dma controller support. Only device tree probe is support currently. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7f37a3d80b6d687717685cb7156ef7c9acbd2964 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Tue May 5 22:06:07 2015 +0800 Documentation: dma: Add documentation for ZTE DMA This patch adds documentation for the ZTE ZX296702 SoC DMA device DTS binding. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e3f3aaac06657e6fc834e217ae450f51a6e0968c Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:27:30 2015 +0900 pinctrl: sirf: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4d9efdfce73c8f0c9e39d118833e4776719a8d40 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:39:54 2015 +0000 dmaengine: ipu: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. This is also a preparation for the removal of the 'irq' argument from interrupt flow handlers. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d7fdb356902a13bb92229722d88a836523a3c6e3 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:39:52 2015 +0000 dmaengine: ipu: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 03734485b71129a954861f298825a490bcade986 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Jul 9 13:25:37 2015 +0300 dmaengine: hsu: remove excessive lock All hardware accesses are done under virtual channel lock. That's why specific channel lock is excessive and can be removed safely. This has been tested on Intel Medfield and Merrifield. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b6c52c634506d52b3a2dc18503980d717e478739 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Jul 8 15:41:42 2015 +0800 dmaengine: ioatdma: Ignore IOAT devices under hotplug-capable PCI host bridge The dmaengine core assumes that async DMA devices will only be removed when they not used anymore, or it assumes dma_async_device_unregister() will only be called by dma driver exit routines. But this assumption is not true for the IOAT driver, which calls dma_async_device_unregister() from ioat_remove(). So current IOAT driver doesn't support device hot-removal because it may cause system crash to hot-remove an inuse IOAT device. To support CPU socket hot-removal, all PCI devices, including IOAT devices embedded in the socket, will be hot-removed. The idea solution is to enhance the dmaengine core and IOAT driver to support hot-removal, but that's too hard. This patch implements a hack to disable IOAT devices under hotplug-capable CPU socket so it won't break socket hot-removal. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6417049f662d85a6f3a6b7cb8bc98bae3edae0a4 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Jul 6 18:11:50 2015 +0300 pinctrl: single: dra7: remove PCS_QUIRK_SHARED_IRQ On DRA7 there is one pinctrl domain (dra7_pmx_core) and PRCM wake-up IRQ is not shared, so remove quirk. Cc: Nishanth Menon <nm@xxxxxx> Fixes: 31320beaa3d3 ('pinctrl: single: Add DRA7 pinctrl compatibility') Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ffe2288828cb3aa45f6752d99ec7113f5135d1fa Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Jul 15 14:22:33 2015 -0300 spi: spidev: Fix typo Fix the typo in "compatible". Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6158e6d004e8b030442ae900a9dd84e0de6b1613 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Jul 15 20:57:21 2015 +0200 ARM: dts: rockchip: add missing device_type = "memory" to boards The memory node is supposed to contain a device_type property marking it as memory. The currently included boards miss this property. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 05ffc630627003c7bf275eec05b0eae81e0016b1 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Jul 7 20:09:34 2015 +0200 ARM: dts: rockchip: add veyron-pinky board While pinky was one of the earlier development models, is on the list of endangered species today and nearly extinct, I want to keep mine around for the foreseeable future after spending all the time making a nice hole into the base below the dut-connector. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit a4e3c5fa955ce0934774f3f3684377dbf2c20eca Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Thu Jul 16 13:42:34 2015 +0800 ASoC: rt5645: Simplify rt5645_enable_push_button_irq LDO2/Mic Det Power pins are already enabled/disabled in rt5645_jack_detect (the jack out code path previously did not disable those if button function is enabled: modify it to make it so). Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b14c917409f47dbfdff93e69effd6740f6a809f7 Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Thu Jul 16 13:42:33 2015 +0800 ASoC: rt5645: Update dapm pins when the card is not instantiated yet This makes sure the dapm state is consistent when the card is instantiated. However, if the card is not instantiated yet, we still update the registers manually in the "jack in" case, so that we can immediately report if a mic is present or not. Disabling "Mic Det Power" after detection, and on jack out, can wait until the card gets instantiated. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5efe58c44312a7f8a1f3ec77c2b88f6d22b74880 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Thu Jul 16 10:01:33 2015 +0800 ASoC: rt298: remove meanless pr_info This line doesn't include any information. So, remove it. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54442658d8e83b0589731620bd958cc8b2857167 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Sat Jul 4 16:34:32 2015 -0400 gpio: 74xx: Fix build warning about void to integer cast This fixes the build warning , warning: cast from pointer to integer of different size when building this file on a x86 allmodconfig configuration. In order for me to fix this build warning I changed the cast in the function mmio_74xx_gpio_probe from casting the variable data of the stucture pointer of_id to uintptr_t rather then unsigned when assigning to the variable flag of the structure pointer priv of the structure type mmio_74xx_gpio_priv. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f3ee390e4ef23a557b3519f6fb314a9e80d337c1 Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Tue Jul 7 20:04:32 2015 +0200 ARM: dts: rockchip: add veyron-jerry board The Hisense Chromebook C11, also named jerry. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit e28ea9dbc52d354db29fd07c9c2535f150f903de Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Tue Jul 7 19:42:53 2015 +0200 ARM: dts: rockchip: add shared rk3288-veyron files This adds the shared devicetree files for the Veyron device family. They are split, as not all veyron devices are chromebooks and not all contain a sd-card slot. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit 3726960edc63bb1e09678841df44b44feee20305 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Jun 25 20:30:51 2015 +0300 gpiolib: assign chip owner to dev->driver->owner if not set Assign GPIO chip owner field to chip->dev->driver->owner if it was not configured by GPIO driver. Cc: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5b76e79c772648991e700f004205e9ac861c77c0 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Jun 25 20:30:50 2015 +0300 gpiolib: irqchip: prevent driver unloading if gpio is used as irq only Now nothing prevents GPIO driver from being unloaded if its gpios were requested as GPIO IRQs only (without calling gpio_request()). Hence, add calls of try_module_get()/module_put() into gpiochip_irq_reqres/relres() to track such scenario properly. Cc: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7fcf7e061edd368fac7fe4841a7f9e54c83b3ec8 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Jul 13 00:53:22 2015 -0700 ARM: OMAP2+: Remove legacy booting support for Pandora We've been moving all omap2+ based systems to boot in device tree only mode for a few years now. Only omap3 has legacy booting support remaining. Most omap3 boards already have related arch/arm/boot/*.dts* files for booting with device tree. This board has support for device tree based booting, and we've been printing warnings about the legacy booting being deprecated for a few merge cycles now. Let's attempt to remove the legacy booting for it. The reason for removing the legacy booting support now rather than later is we can simply revert this patch if necessary if we run into some unexpected issues that are not trivial to fix for the device tree based booting. Cc: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 03c42c3e5216e2777f8ae819d6a076e94dcdfbdd Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 13:56:55 2015 +0200 pinctrl: sh-pfc: Remove obsolete r8a7740 platform_device_id entry Since the removal of the r8a7740 legacy SoC code in commit 44d88c754e57a6d9 ("ARM: shmobile: Remove legacy SoC code for R-Mobile A1"), r8a7740 is only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d009fa3b2b28b28f58920aaa76fa0abeb573828c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 13:56:54 2015 +0200 pinctrl: sh-pfc: r8a7740: Remove obsolete multi-platform check Since the removal of the r8a7740 legacy SoC code in commit 44d88c754e57a6d9 ("ARM: shmobile: Remove legacy SoC code for R-Mobile A1"), r8a7740 is only supported in generic ARM multi-platform builds. Hence CONFIG_ARCH_MULTIPLATFORM is always set, and the check can be removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 39ad6ff12cd54607b64642562ad850bb09176734 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 13:56:53 2015 +0200 pinctrl: sh-pfc: Remove obsolete sh73a0 platform_device_id entry Since the removal of the sh73a0 legacy SoC code in commit 9a9863987bf7307f ("ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5"), sh73a0 is only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9f21c67da6a62aa082a1f20feb983ab5ed89a915 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 13:56:52 2015 +0200 pinctrl: sh-pfc: sh73a0: Remove obsolete multi-platform check Since the removal of the sh73a0 legacy SoC code in commit 9a9863987bf7307f ("ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5"), sh73a0 is only supported in generic ARM multi-platform builds. Hence CONFIG_ARCH_MULTIPLATFORM is always set, and the check can be removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c7977ec4a33633c8e8d9267dd014356cf857351c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 25 11:39:53 2015 +0200 pinctrl: sh-pfc: Convert to platform_get_*() If the pin function controller (which can be a GPIO controller) is instantiated before the interrupt controllers, due to the ordering in the DTS, the irq domains for the interrupt controllers referenced by its "interrupts-extended" property cannot be found yet: irq: no irq domain found for /interrupt-controller@e61c0000 ! As the sh-pfc driver accesses the platform device's resources directly, it cannot find the (optional) IRQ resources, and thinks no interrupts are available. This may lead to failures later, when GPIOs are used as interupts: gpio-keys keyboard: Unable to claim irq 0; error -22 gpio-keys: probe of keyboard failed with error -22 To fix this, add support for deferred probing to sh-pfc, by converting the driver from direct platform device resource access to using the platform_get_resource() and platform_get_irq() helpers. Note that while this fixes the root cause worked around by commit e4ba0a9bddff3ba5 ("ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug"), I strongly recommend against reverting the workaround now, as this would lead to lots of probe deferrals in drivers relying on pinctrl. This may be reconsidered once the DT code starts taking into account phandle dependencies during device instantation. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 16ccaf5bb5a52372bfebd3dfbb79dd810ad49c09 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jun 30 11:29:57 2015 +0300 pinctrl: sh-pfc: Accept standard function, pins and groups properties The "function", "pins" and "groups" pinmux and pinctrl properties have been standardized. Support them in addition to the custom "renesas,*" properties. New-style and old-style properties can't be mixed in DT. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6066677cfd9d73734ab678b9d14013c860f0f732 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Jul 9 13:15:34 2015 +1000 drm/fb: drop panic handling This really doesn't seem to have much chance of working anymore, esp for irq context, qxl at least tries to talk to the hw, and waits for irqs, and fails. with runtime pm and other stuff I think we should just bail on this for now. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9cf705de06a27cc99874626c9717b32e9874b3bb Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:57 2015 -0700 ARM: OMAP2+: Add support for initializing dm814x clocks Let's add a minimal clocks for dm814x to get it booted. This is mostly a placeholder and relies on the PLLs being on from the bootloader. Note that the divider clocks work the same way as on dm816x and am335x. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7c80a3f89c51cfa935493a81b401c4e93f0c0f90 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:57 2015 -0700 ARM: OMAP2+: Add custom prwdm_operations for 81xx to support dm814x Looking at the TI kernel tree I noticed that dm81xx need custom ti81xx_pwrdm_operations. Let's also change dm816x over to use them as the registers are different for dm81xx compared to others. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 185fde6d5b38cd03bf24bee90198b436b721d37c Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:57 2015 -0700 ARM: OMAP2+: Add minimal clockdomains for dm814x For now, let's just add the ones shared with dm816x. The dm814x specific ones can be added as they are tested. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9444f103469f40c47993a1dd87687d126054969c Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:57 2015 -0700 ARM: OMAP2+: Fix scm compatible for dm814x Fix scm compatible for dm814x. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9fd274c069c7f96631ef6e0b9909c9a0e1f6b954 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 02:08:55 2015 -0700 ARM: OMAP2+: Fix dm814x DT_MACHINE_START Fix dm814x DT_MACHINE_START. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 601b9d9c7bd04f81a96896c9859cd37bd6a78d51 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 10:43:20 2015 +0200 ASoC: sti-sas: fix x86 compilation issue. Fixes for compilation warnings and errors reported by Kbuild test robot for x86_64 and i386. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit be9ae230924083772ea74ea6958c846f79df5253 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 13:59:34 2015 +0200 ASoC: fsi: Remove obsolete sh_fsi2 platform_device_id entry Since the removal of the r8a7740 legacy board code in commit 1fa59bda21c7fa36 ("ARM: shmobile: Remove legacy board code for Armadillo-800 EVA"), all former users of the "sh_fsi2" platform device name are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 049aaf9f7e30731ce030eef3e4fd255cf8b1ae02 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Jun 25 18:18:11 2015 +0300 gpio: pcf857x: get rid of slock spinlock The spinlock 'slock' is used now to protect pcf857x_irq() from itself which is unnecessary (especially after switching to use threaded IRQs). Hence, remove it and use mutex to protect device data in IRQ handler. Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 65194cb174b873448b208eb6e04ecb72237af76e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 25 16:45:57 2015 +0200 gpio: rcar: Fine-grained Runtime PM support Currently gpio modules are runtime-resumed at probe time. This means the gpio module will be active all the time (except during system suspend, if not configured as a wake-up source). While an R-Car Gen2 gpio module retains pins configured for output at the requested level while put in standby mode, gpio registercannot be accessed while suspended. Unfortunately pm_runtime_get_sync() cannot be called from all contexts where gpio register access is needed. Hence move the Runtime PM handling from probe/remove time to gpio request/free time, which is probably the best we can do. On r8a7791/koelsch, gpio modules 0, 1, 3, and 4 are now suspended during normal use (gpio2 is used for LEDs and regulators, gpio5 for keys, gpio6 for SD-Card CD & WP, gpio7 for keys and regulators). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 79cf95c763a11d4b365cd5a627fd1ab4dca67890 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:43 2015 +0300 clk: tegra: Add the DFLL as a possible parent of the cclk_g clock The DFLL clocksource was missing from the list of possible parents for the fast CPU cluster. Add it to the list. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c38864a703f3fe50e2b87883a0def392dd5bf26f Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:42 2015 +0300 clk: tegra: Save/restore CCLKG_BURST_POLICY on suspend Save and restore this register since the LP1 restore assembly routines fiddle with it. Otherwise the CPU would keep running on PLLX after resume from suspend even when DFLL was the original clocksource. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 62a8a094b0e1de782a1b3dcb5e42a7d44379e583 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:41 2015 +0300 clk: tegra: Add Tegra124 DFLL clocksource platform driver Add basic platform driver support for the fast CPU cluster DFLL clocksource found on Tegra124 SoCs. This small driver selects the appropriate Tegra124-specific characterization data and integration code. It relies on the DFLL common code to do most of the work. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> [treding@xxxxxxxxxx: move setup code into ->probe()] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 1dad36cdd5d20b4d7ceca5026553e86b3315b022 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon May 4 16:45:25 2015 +0200 soc/tegra: fuse: Add spare bit offset for Tegra210 The offset of the first spare bit register on Tegra210 is 0x380, but account for the fixed offset of 0x100 in the fuse accessor. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 82df0e5e78d956ea3552f7315a4d559f657047da Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon May 4 16:44:29 2015 +0200 soc/tegra: fuse: Add spare bit offset for Tegra124 The offset of the first spare bit register on Tegra124 is 0x300, but account for the fixed offset of 0x100 in the fuse accessor. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b23083a9c6829675d367b4f06a64d74ead82eb14 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon May 4 16:38:28 2015 +0200 soc/tegra: fuse: Add spare bit offset for Tegra114 The offset of the first spare bit register on Tegra114 is 0x280, but account for the fixed offset of 0x100 in the fuse accessor. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 03b3f4c8b76180ba5bd800c57a7efdb142c2341d Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 14:44:08 2015 +0100 soc/tegra: fuse: Rename core_* to soc_* There's a mixture of core_* and soc_* prefixes for variables storing information related to the VDD_CORE rail. Choose one (soc_*) and use it more consistently. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0dc5a0d836751099f2e08deec28f56ec881925dd Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 29 16:55:57 2015 +0200 soc/tegra: fuse: Add Tegra210 support Add Tegra210 support to the fuses driver and add Tegra210-specific speedo definitions. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7e939de1b2bb26496e4967e5346619700245e7c0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 29 16:54:04 2015 +0200 soc/tegra: fuse: Unify Tegra20 and Tegra30 drivers Unifying the drivers makes it easier to restrict the legacy probing paths to 32-bit ARM. This in turn will come in handy as support for new 64-bit ARM SoCs is added. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 297c4f3dcbffe11ce899a7d068ea18079094403b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon May 4 13:30:50 2015 +0200 soc/tegra: fuse: Restrict legacy code to 32-bit ARM For backwards-compatibility with old device trees, if no APBMISC node exists this driver hard-codes the I/O memory region. All 64-bit ARM device tree files are recent enough that they can be required to have this node, and therefore the legacy code path is not required. Based on work done by Paul Walmsley <pwalmsley@xxxxxxxxxx>. Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c2fe4694d8ac0f997f6d7088437b710fc4e4a185 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 11:31:29 2015 +0100 soc/tegra: pmc: Add Tegra210 support Tegra210 uses a power management controller that is compatible with earlier SoC generations but adds a couple of power partitions for new hardware blocks. Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7d71e90377fd74334dcfb5c265e204eef1613b53 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 29 12:42:28 2015 +0200 soc/tegra: pmc: Restrict legacy code to 32-bit ARM For backwards-compatibility with old device trees, if no PMC node exists this driver hard-codes the I/O memory region. All 64-bit ARM device tree files are recent enough that they can be required to have this node, and therefore the legacy code path is not required on 64-bit ARM. Based on work done by Paul Walmsley <pwalmsley@xxxxxxxxxx>. Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 95169cd23bfa88003f8be06234dbd65f5737add0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jul 9 09:59:55 2015 +0200 soc/tegra: pmc: Avoid usage of uninitialized variable Make sure to only drop the reference to the OF node after it's been successfully obtained. Fixes: 3568df3d31d6 ("soc: tegra: Add thermal reset (thermtrip) support to PMC") Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ Reviewed-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 527b397a7a3647b8ba2eae2e7a12b237bf411476 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 15:48:02 2015 +0200 gpio: em: Remove obsolete platform data support Since commit 59032702ead90562 ("ARM: shmobile: Remove legacy platform devices from EMEV2 SoC code"), EMMA Mobile SoCs are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to use platform data anymore, hence remove platform data configuration. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Tested-by: Niklas Söderlund <niso@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 583facb6ae27dfb4d0fb5a952dade5aa990a05c9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Jun 22 18:13:15 2015 +0300 pinctrl: samsung: remove "out of memory" messages Checkpatch.pl complains about these: WARNING: Possible unnecessary 'out of memory' message The messages use a little extra RAM and they add a few extra lines of code. We're probably never going to hit these out of memory situations but if we did then kmalloc() has pretty good error messages built-in. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8749f8ed5cc07f4f130f2e5b2c41da78388146ec Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Jun 22 18:12:24 2015 +0300 pinctrl: samsung: don't truncate the last char We were allocating enough space because sizeof("-grp") and sizeof("-mux") are both equal to 5 but in the snprintf() we only allowed for 4 characters so the last 'p' and 'x' characters were truncated. The allocate and sprintf can be done in one step with the kasprintf(). Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e7aa6d8c1ba2429deef75fb24d029e00ab71bebf Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Mon Jun 29 10:35:57 2015 +0800 gpio: zx: Add ZTE zx296702 GPIO support Add ZTE zx296702 GPIO controller support Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 24f743a0f06675da4e7c6a07b88e90d425edd30a Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Mon Jun 29 10:35:56 2015 +0800 gpio: Document ZTE zx296702 GPIO DT binding Add document of ZTE zx296702 GPIO binding Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c15df306fc79c672573f1cc2ebdfcb32d7e68780 Author: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Thu Jul 16 16:51:30 2015 +0900 ipv6: Remove unused arguments for __ipv6_dev_get_saddr(). Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da104dc845afbebcad6d87bd5810c266a426f4dc Author: Sekhar Nori <nsekhar@xxxxxx> Date: Wed Jul 8 20:57:37 2015 +0530 ARM: omap2plus_defconfig: enable support for M25P80 SPI NOR M25P80 driver provides support for most common SPI NOR devices. These devices are commonly found on TI EVMs for AM437x and DRA7x SoCs. Enable support for this driver in defconfig for omap2plus devices. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5c107aa031c95c9d9df3034827894e3b6dde90cd Author: Sekhar Nori <nsekhar@xxxxxx> Date: Wed Jul 8 20:57:36 2015 +0530 ARM: omap2plus_defconfig: enable support for TI CPTS CPTS module of CPSW IP enables timestamp synchronization using PTP. Enable CPTS feature of CPSW driver. Available on AM335x, AM437x and DRA7x SoCs. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit af7b9f894234d9c64dff497c554e6fea9a525638 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Wed Jul 8 20:57:35 2015 +0530 ARM: omap2plus_defconfig: enable support for TI touchscreen Enable support for on-chip resistive touchscreen m found on AM335x and AM437x devices. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 588f2c31f3d8b4e8ec74adff0f05cdf576dd1ab3 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Wed Jul 8 20:57:34 2015 +0530 ARM: omap2plus_defconfig: enable support for TI ADC Enable support for on-chip ADC found on AM335x and AM437x devices. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 30a636f984984655ad5350e73a6a3141c9ba85ae Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon May 18 17:35:30 2015 +0200 memory: tegra: Expose supported rates via debugfs In order to ease testing, expose the list of supported EMC frequencies via debugfs. Reviewed-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3a369982b88e5f162fc48b968ad989529db58401 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 11:29:25 2015 +0100 soc/tegra: Add Tegra210 support Add Tegra210 to the matching table for NVIDIA Tegra SoCs. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ad09c8c23e372182fe1454b3c10bef1c44df5cea Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 11:28:53 2015 +0100 soc/tegra: Add Tegra132 support Add Tegra132 to the matching table for NVIDIA Tegra SoCs. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5cf4af3bebb718b72a23b7e80fddfe8b4e8b0620 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 23 09:34:44 2015 +0100 ALSA: hda/tegra: Order clock and reset names consistently The example in the device tree binding documentation and the driver code list hda2codec_2x as the last entry in the clock-names and reset-names properties. Update the description of the properties to use the same order. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 42a8679cf27439c5c9f1f9aa85854f0dec74687c Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Apr 10 23:35:58 2015 +0200 ALSA: hda/tegra - Fix hda2codec_2x clock and reset names Fix hda2codec_2x clock and reset names in Tegra30 HDA controller device tree node documentation. While at it also fix coma vs. semicolon issue. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 95b612cc6c7f95f4e08f1b3dbc6588fda49b1b12 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Jul 9 10:55:01 2015 +0900 pinctrl: move CONFIG_PINCTRL to drivers/Makefile Kbuild should descend into drivers/pinctrl/ only when CONFIG_PINCTRL is enabled because everything under that directory depends on CONFIG_PINCTRL. We can avoid the conditional, ifeq ($(CONFIG_OF),y) ... endif. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b3b6616378a4dcf1e903c8ad70fabfe4c2ad529b Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:07 2015 +0900 pinctrl: UniPhier: add UniPhier PH1-LD6b pinctrl driver Add pin configuration and pinmux support for UniPhier PH1-LD6b SoC. Changes in v2: - sort groups and funcs alphabetically - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3c0fd8e3de93fc12b35cf5be585a5d8dc68b7162 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:06 2015 +0900 pinctrl: UniPhier: add UniPhier ProXstream2 pinctrl driver Add pin configuration and pinmux support for UniPhier ProXstream2 SoC. Changes in v2: - sort groups and funcs alphabetically - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1950b0488780d0d93481e17c56bc7a97a6037459 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:05 2015 +0900 pinctrl: UniPhier: add UniPhier PH1-Pro5 pinctrl driver Add pin configuration and pinmux support for UniPhier PH1-Pro5 SoC. Changes in v2: - sort groups and funcs alphabetically - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 95372f9dc892a79bce1e81b8862bb4ad15cf4f76 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:04 2015 +0900 pinctrl: UniPhier: add UniPhier PH1-sLD8 pinctrl driver Add pin configuration and pinmux support for UniPhier PH1-sLD8 SoC. Changes in v2: - sort groups and funcs alphabetically - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b5cf4161ca8a54c79a05beaaf5d18c2c67193105 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:03 2015 +0900 pinctrl: UniPhier: add UniPhier PH1-Pro4 pinctrl driver Add pin configuration and pinmux support for UniPhier PH1-Pro4 SoC. Changes in v2: - sort groups and funcs alphabetically - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit edd95a4a95f32c701e291e06016c6ca110ef65b7 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:02 2015 +0900 pinctrl: UniPhier: add UniPhier PH1-LD4 pinctrl driver Add pin configuration and pinmux support for UniPhier PH1-LD4 SoC. Changes in v2: - sort groups and funcs alphabetically - add missing "emmc_dat8" group - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6e908892025885b07e804dc6c05aab6ce1e06832 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:01 2015 +0900 pinctrl: UniPhier: add UniPhier pinctrl core support The core support for the pinctrl drivers for all the UniPhier SoCs. Changes in v2: - drop vogus THIS_MODULE because this file is always built-in - drop vogus "include <linux/module.h> because this file is always built-in Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0e948042c4203b97e44370993ef042c945308282 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jun 17 23:47:28 2015 -0700 pinctrl: qcom: spmi-mpp: Implement support for sink mode The MPP supports three modes; digital, analog and sink mode. This patch implements support for the latter. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit eaaf5dd46457c4fa3a9e2d1be775821d4e72773c Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jun 17 23:47:27 2015 -0700 pinctrl: qcom: spmi-mpp: Introduce defines for MODE_CTL Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7682b3740dd7e3039ec9885b423f7e68f0dc24d0 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jun 17 23:47:26 2015 -0700 pinctrl: qcom: spmi-mpp: Fixes related to enable handling There's currently no way to re-enable a mpp block once you've entered a state that disables the state, this patch makes it possible to leave the bias-high-impedance state. Also read the enable state from the hardware on probe. With this in place the is_enabled variable is accurately tracking the state of the hardware and we can use that for the debug output as well. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ba5f94cd566ac562c9374729baab156886759946 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jun 17 23:47:25 2015 -0700 pinctrl: qcom: spmi-mpp: Transition to generic dt binding parser Use the newly introduced extensible generic dt parser instead of rolling our own dt parsing functions. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fb00de771b0c35fc42212272596ddb07bf120b21 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Jun 18 14:42:45 2015 +0900 pinctrl: simplify of_pinctrl_get() This commit does not change the logic at all. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9612327c1ffcdacc863b3baf0a3c8c9b0837ffd2 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jun 19 23:32:27 2015 +0800 pinctrl: imx: add i.mx6ul subdriver Add i.MX6UL pinctrl driver support. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 441f77dcf8defcebb4477fea6db03624259fef42 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jun 26 01:43:07 2015 +0300 sh-pfc: r8a7791: remove non-existing GPIO pins GPIO banks 1 and 7 are missing pins 26 to 31. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b5599df20f1ee45cef811a7ab1c7358d9faf7bf8 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jun 26 01:42:04 2015 +0300 sh-pfc: r8a7790: remove non-existing GPIO pins GPIO banks 1 and 2 are missing pins 30 and 31. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 13b8a68a9c08410f03047fc888706299b5b75754 Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jun 16 22:32:30 2015 +0200 added tabs instead of spaces Tabs have been inserted instead of spaces to indent the code correctly. Same error fixed four times. Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9eb15dbbfa1a23b5e65efaf1d5d6c47798e7264b Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:48 2015 +0300 cpufreq: Add cpufreq driver for Tegra124 Add a new cpufreq driver for Tegra124. Instead of using the PLLX as the CPU clocksource, switch immediately to the DFLL. It allows the use of higher clock rates, and will automatically scale the CPU voltage as well. Besides the CPU clocksource switch, we let the cpufreq-dt driver for all the cpufreq operations. This driver also relies on the DFLL driver to fill the OPP table for the CPU0 device, so that the cpufreq-dt driver knows what frequencies to use. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 109e13eaa40dfebf8893234cc5f1535a04e23acf Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:47 2015 +0300 cpufreq: tegra: Rename tegra-cpufreq to tegra20-cpufreq The Tegra124 will use a different driver for frequency scaling, so rename the old driver (which handles only Tegra20) appropriately. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 135796c9ccd3d6c53fbc3f6c4d73d8ba6820b739 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:46 2015 +0300 cpufreq: tegra124: Add device tree bindings The cpufreq driver for Tegra124 will be a different one than the old Tegra20 cpufreq driver (tegra-cpufreq), which does not use the device tree. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a3c83ff20c64a0ea3580aa7ed2953ff1602334dd Author: Paul Walmsley <pwalmsley@xxxxxxxxxx> Date: Tue May 19 14:43:30 2015 +0300 clk: tegra: Add DFLL DVCO reset control for Tegra124 The DVCO present in the DFLL IP block has a separate reset line, exposed via the CAR IP block. This reset line is asserted upon SoC reset. Unless something (such as the DFLL driver) deasserts this line, the DVCO will not oscillate, although reads and writes to the DFLL IP block will complete. Thanks to Aleksandr Frid <afrid@xxxxxxxxxx> for identifying this and saving hours of debugging time. Signed-off-by: Paul Walmsley <pwalmsley@xxxxxxxxxx> [ttynkkynen: ported to tegra124 from tegra114] Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> [mikko.perttunen: ported to special reset callback] Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 66b6f3d07454a66ec029543c653d3bce7e6cb3c1 Author: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Date: Wed May 20 09:27:05 2015 +0300 clk: tegra: Introduce ability for SoC-specific reset control callbacks This patch allows SoC-specific CAR initialization routines to register their own reset_assert and reset_deassert callbacks with the common Tegra CAR code. If defined, the common code will call these callbacks when a reset control with number >= num_periph_banks * 32 is attempted to be asserted or deasserted respectively. Numbers greater than or equal to num_periph_banks * 32 are used to avoid clashes with low numbers that are automatically mapped to standard CAR reset lines. Each SoC with these special resets should specify the defined reset control numbers in a device tree header file. Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit fa63aa3dea48fd18e560c232424e080a2e2c4779 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:38 2015 +0300 clk: tegra: Add functions for parsing CVB tables Tegra CVB tables encode the relationship between operating voltage and optimal frequency as a function of the so-called speedo value. The speedo value is written to the on-chip fuses at the factory, which allows the voltage-frequency operating points to be calculated on an per-chip basis. Add utility functions to parse the Tegra-specific tables and export the voltage-frequency pairs to the generic OPP framework for other drivers to use. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c4fe70ada40f53e8cd5e6f8d9a2433781e935835 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:37 2015 +0300 clk: tegra: Add closed loop support for the DFLL With closed loop support, the clock rate of the DFLL can be adjusted. The oscillator itself in the DFLL is a free-running oscillator whose rate is directly determined the supply voltage. However, the DFLL module contains logic to compare the DFLL output rate to a fixed reference clock (51 MHz) and make a decision to either lower or raise the DFLL supply voltage. The DFLL module can then autonomously change the supply voltage by communicating with an off-chip PMIC via either I2C or PWM signals. This driver currently supports only I2C. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d8d7a08fa82ff7c241c74c2461f342c5685dda27 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:36 2015 +0300 clk: tegra: Add library for the DFLL clock source (open-loop mode) Add shared code to support the Tegra DFLL clocksource in open-loop mode. This root clocksource is present on the Tegra124 SoCs. The DFLL is the intended primary clock source for the fast CPU cluster. This code is very closely based on a patch by Paul Walmsley from December (http://comments.gmane.org/gmane.linux.ports.tegra/15273), which in turn comes from the internal driver by originally created by Aleksandr Frid <afrid@xxxxxxxxxx>. Subsequent patches will add support for closed loop mode and drivers for the Tegra124 fast CPU cluster DFLL devices, which rely on this code. Signed-off-by: Paul Walmsley <pwalmsley@xxxxxxxxxx> Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0c59d26770333cf605d9119a78dd6c1ebebc6a61 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:35 2015 +0300 clk: tegra: Add binding for the Tegra124 DFLL clocksource The DFLL is the main clocksource for the fast CPU cluster on Tegra124 and also provides automatic CPU rail voltage scaling as well. The DFLL is a separate IP block from the usual Tegra124 clock-and-reset controller, so it gets its own node in the device tree. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 228e5fadba3c7d6ef39bac087cd086ab9d68d945 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Jul 10 15:43:05 2015 -0500 ARM: OMAP2+: Remove module references from IOMMU machine layer The OMAP IOMMU driver has been adapted to the IOMMU framework for a while now, and it no longer supports being built as a module. Cleanup all the module related references both from the code and in the build. While at it, also relocate a comment around the initcall to avoid a checkpatch strict warning about using a blank line after function/struct/union/enum declarations. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ea827ad5ffbb78812f6dbdee005e1f364b6bdc58 Author: Nishanth Menon <nm@xxxxxx> Date: Mon Jun 22 10:12:14 2015 -0500 ARM: DRA7: Provide proper IO map table DRA7 uses OMAP5 IO table at the moment. This is purely spurious since the OMAP5 and DRA7 register maps are different in many aspects. AM57xx/DRA7 TRM Reference: http://www.ti.com/lit/ug/spruhz6/spruhz6.pdf NOTE: Most of the drivers are already doing ioremap, so, there should'nt be any functional improvement involved here, other than making the initial iotable more accurate. Fixes: a3a9384a1157 ("ARM: DRA7: Reuse io tables and add a new .init_early") Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d1dabab2841d546f8b946b4940fc63c15e35a739 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Jun 3 15:26:20 2015 -0700 ARM: OMAP2+: Clean up omap4_local_timer_init Inspired by a patch from Felipe Balbi <balbi@xxxxxx>, we can now get rid of most the code in omap4_local_timer_init. Omap4 is now device tree only.. And we have not properly supported omap4 ES1.0 revision for a really long time AFAIK. Let's just remove all that code to simplify things. This assumes we have arm,cortex-a9-twd-timer entry in the omap4.dtsi file, which we do. Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4c576229ac371bc9d96f2b365ebcd296aa266cec Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 15:55:33 2015 +0530 powerpc/signal: Fix confusing header documentation in sigcontext.h Commit ce48b2100785 "powerpc: Add VSX context save/restore, ptrace and signal support" expanded the 'vmx_reserve' array element to contain 101 double words, but the comment block above was not updated. Also reorder the constants in the array size declaration to reflect the logic mentioned in the comment block above. This change helps in explaining how the HW registers are represented in the array. But no functional change. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Reworded change log and added whitespace around +'s] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 829023df86d4ec39b110860cd5f106b7ac58f772 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 16:24:10 2015 +0530 powerpc/tm: Drop tm_orig_msr from thread_struct Currently tm_orig_msr is getting used during process context switch only. Then there is ckpt_regs which saves the checkpointed userspace context The MSR slot contained in ckpt_regs structure can be used during process context switch instead of tm_orig_msr, thus allowing us to drop it from thread_struct structure. This patch does that change. Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9a0cb98589037c0ccb6210f5fd827445b3710c5e Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 14:00:16 2015 +0200 ARM: OMAP2: Delete an unnecessary check The of_node_put() function tests whether its argument is NULL and then returns immediately if so. Furthermore, the kerneldoc for of_node_put() explicitly supports passing in a NULL pointer as its argument. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> [paul@xxxxxxxxx: dropped the omap_device.c and omap_hwmod.c changes for now, edited the commit message accordingly and to note the documented "contract"] Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 9e5d46b0510e686550c486c410491291c67e8f0e Author: Sekhar Nori <nsekhar@xxxxxx> Date: Sat Jul 11 20:29:16 2015 +0530 ARM: OMAP2+: sparse: add missing function declarations omap3xxx_restart() and omap44xx_restart() are global functions declared in common.h. Include this file in omap3-restart.c and omap4-restart.c to prevent sparse warnings of type: arch/arm/mach-omap2/omap4-restart.c:22:6: warning: symbol 'omap44xx_restart' was not declared. Should it be static? Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit f734a9b3b19e01d598d03a336de32a59a52c1575 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Sat Jul 11 20:29:15 2015 +0530 ARM: OMAP2+: sparse: add missing static declaration Add missing static declaration for file local variables. This fixes sparse warnings of type: arch/arm/mach-omap2/omap_hwmod_81xx_data.c:491:26: warning: symbol 'dm81xx_alwon_l3_slow__gpmc' was not declared. Should it be static? Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 0d0578815bac634aef6e64794e7ad2473fc7af44 Merge: 07e6a97 c305524 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 15 21:39:40 2015 -0700 Merge branch 'protodown' Anuradha Karuppiah says: ==================== net: Introduce protodown flag. User space daemons can detect errors in the network that need to be notified to the switch device drivers. Drivers can react to this error state by doing a phy-down on the switch-port which would result in a carrier-off locally and on the directly connected switch. Doing that would prevent loops and black-holes in the network. One such use case is the multi-chassis LAG application - 1. The MLAG application runs on peer switches (say Switch0 and Switch1) synchronizing states, forwarding entries etc. between the two switches over the peer-link (this is a link directly connecting the two switches). 2. An MLAG election process designates one of the switches as a primary (for e.g. Switch0 is primary and Switch1 is secondary). 3. The peer link plays a critical role in allowing Switch0-Switch1 to function as a single LAG partner to the downstream dual-connected servers. When the peer-link between the switches goes down we have a split-brain situation. Switch0 and Switch1 are no longer in sync and are acting independently. This can result in traffic loops and traffic black-holing in the network. 4. To prevent these problems the MLAG application on the secondary switch phy-downs the MLAG ports on detecting the peer-link down. This will be seen as a carrier down on servers that are dual-connected to Switch0 and Switch1. 5. Specifically a dual-connected server will see a carrier-down on the port connected to the MLAG secondary, Switch1, and will stop using that port for traffic TX. So traffic black holing is prevented. v6 to v7: Removed some unnecessary code in response to review comments. v5 to v6: Replaced proto_flags with a simple proto_down boolean attribute in response to Dave's comments. v4 to v5: Changed the ip link display format for protodown to match the set as recommended by Stephen. v3 to v4: I have moved protodown out of IFF_XXX and introduced a separate proto_flags field with IF_PROTOF_DOWN bit being used by apps to notify switch port errors. This is in response to Stephen's comments that adding a new IFF_XXX may break user space. I have used rocker as the sample switch driver. And to test this functionality I used the qemu-rocker patch that Scott sent out in response to the v3 posting (needed to set link up/down when phy is enabled/disabled). v1 to v2: Based on Dave's suggestion I have moved out aggregating of error bits across applications to a user space framework. This patch now simply notifies an aggregated error bit to drivers enabling them to handle the error gracefully. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c305524617dcd617d698dfe2682f3212e698f781 Author: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 13:43:21 2015 -0700 rocker: Handle protodown notifications. protodown can be set by user space applications like MLAG on detecting errors on a switch port. This patch provides sample switch driver changes for handling protodown. Rocker PHYS disables the port in response to protodown. Signed-off-by: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Wilson Kok <wkok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88d6378bd6c096cb8440face3ae3f33d55a2e6e4 Author: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 13:43:20 2015 -0700 netlink: changes for setting and clearing protodown via netlink. Signed-off-by: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Wilson Kok <wkok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d746d707a8b1421a4ba46b497cb5d59e20161645 Author: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 13:43:19 2015 -0700 net core: Add protodown support. This patch introduces the proto_down flag that can be used by user space applications to notify switch drivers that errors have been detected on the device. The switch driver can react to protodown notification by doing a phys down on the associated switch port. Signed-off-by: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Wilson Kok <wkok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07e6a97da1eba064bb35cfd5c121e90865393a60 Author: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 10:51:51 2015 -0500 ibmveth: add support for TSO6 This patch adds support for a new method of signalling the firmware that TSO packets are being sent. The new method removes the need to alter the ip and tcp checksums and allows TSO6 support. Signed-off-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd664f892e3e2b01c79197cad3111d54b7aedf39 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Thu Jul 9 09:39:42 2015 +0200 cxl: Destroy afu->contexts_idr on release of an afu Destroy afu->contexts_idr on release of an afu, reclaiming the allocated memory. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b2a02ac65e40fb3900d176828a407b44bb33f9f4 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Wed Jul 8 17:14:36 2015 +0200 cxl: Destroy cxl_adapter_idr on module_exit Destroy cxl_adapter_idr on module exit, reclaiming the allocated memory. This was detected by the following semantic patch (written by Luis Rodriguez <mcgrof@xxxxxxxx>) <SmPL> @ defines_module_init @ declarer name module_init, module_exit; declarer name DEFINE_IDR; identifier init; @@ module_init(init); @ defines_module_exit @ identifier exit; @@ module_exit(exit); @ declares_idr depends on defines_module_init && defines_module_exit @ identifier idr; @@ DEFINE_IDR(idr); @ on_exit_calls_destroy depends on declares_idr && defines_module_exit @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... idr_destroy(&idr); ... } @ missing_module_idr_destroy depends on declares_idr && defines_module_exit && !on_exit_calls_destroy @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... +idr_destroy(&idr); } </SmPL> Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2de8530ba0c71a2fba02590681af0f3a2a187a9b Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Jul 13 13:09:16 2015 -0700 hv_netvsc: Add close of RNDIS filter into change mtu call The current change mtu call only stops tx before removing RNDIS filter. In case ringbufer is not empty, the rndis_filter_device_remove() may hang on removing the buffers. This patch adds close of RNDIS filter before removing it, also a gradual waiting loop until the ring is empty. The change_mtu hang issue under heavy traffic is solved by this patch. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0b8da1e7613a11ce7e44560aae507b62da1f846 Author: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Mon Jul 13 23:28:10 2015 +0900 ipv6: Fix finding best source address in ipv6_dev_get_saddr(). Commit 9131f3de2 ("ipv6: Do not iterate over all interfaces when finding source address on specific interface.") did not properly update best source address available. Plus, it introduced possible NULL pointer dereference. Bug was reported by Erik Kline <ek@xxxxxxxxxx>. Based on patch proposed by Hajime Tazaki <thehajime@xxxxxxxxx>. Fixes: 9131f3de24db4dc12199aede7d931e6703e97f3b ("ipv6: Do not iterate over all interfaces when finding source address on specific interface.") Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Acked-by: Hajime Tazaki <thehajime@xxxxxxxxx> Acked-by: Erik Kline <ek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b476aadbc1409fef6be85f601117f2c6a331faa Author: Vipin K Parashar <vipin@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:36:01 2015 +0530 powerpc/powernv: Add poweroff (EPOW, DPO) events support for PowerNV platform This patch adds support for OPAL EPOW (Environmental and Power Warnings) and DPO (Delayed Power Off) events for the PowerNV platform. These events are generated on FSP (Flexible Service Processor) based systems. EPOW events are generated due to various critical system conditions that require system shutdown. A few examples of these conditions are high ambient temperature or system running on UPS power with low UPS battery. DPO event is generated in response to admin initiated system shutdown request. Upon receipt of EPOW and DPO events the host kernel invokes orderly_poweroff() for performing graceful system shutdown. Signed-off-by: Vipin K Parashar <vipin@xxxxxxxxxxxxxxxxxx> Acked-by: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ac10836b681289f7e430e52b106a209bbdcaa75e Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Fri Jun 19 15:57:45 2015 +0800 PCI: pciehp: Simplify pcie_poll_cmd() Move first slot status read into while to simplify code. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a6ed1f4e94e1883742ac79f09f9754ffacfae456 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Fri Jun 19 15:57:44 2015 +0800 PCI: Use "slot" and "pci_slot" for struct hotplug_slot and struct pci_slot Now in pci_hotplug_core.c, we randomly name a struct hotplug_slot and a struct pci_slot. It's easy to confuse them, so let us use "slot" for a struct hotplug_slot and "pci_slot" for a struct pci_slot. No functional change. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a01e72fbc41e322ed229465de8b595a7e3ec6549 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Jul 15 21:49:41 2015 -0400 tools/power turbostat: fix parameter passing for forked command turbostat supports forked command when sampling cpu state. However, the forked command is not allowed to be executed with options, otherwise turbostat might regard these options as invalid turbostat options. For example: ./turbostat stress -c 4 -t 10 ./turbostat: unrecognized option '-t' Reported-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 9243b25b2361a0818caaf8ab2ef7d1c5be4b1211 Merge: 40bdc53 76945bf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 15 17:31:14 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-07-14 This series contains updates to i40e and i40evf only. Joe Stringer and Jesse Gross add a ndo_features_check function to ensure that the i40e driver does not try to offload packets that exceed 80 bytes in length. Anjali adds additional stats to track flow director ATR and SB current state and flow director flush count which will help the need for verbose debug logs with respect to flow director. Also refines an error message to avoid confusion, so that it indicates what may have really happened when the init_shared_code() call possibly fails. Pawel adds new fields to the capabilities structures to handle Flex-10 device/function capabilities which is needed to support Flex-10 configs. Jesse improves the transmit performance by added a prefetch for the next transmit descriptor to be used when we know there are more coming. Mitch modifies i40evf driver to handle/allow an abundance of vectors. Currently the driver only maps transmit and receive queues to a single MSI-X vector per queue if there are exactly enough vectors for this, but if we have too many vectors, it will fail and allocate queues to vectors in a suboptimal manner. So change the condition check to allow for an excess number of vectors and won't use the extras. Also update the driver to just return success if the user attempts to set a port VLAN on a VF that already has the same port VLAN configured, instead of going through unnecessary filter removals & adds. Fix the MAC filters for VFs, which were being programmed with 0 for the VLAN value when there was no VLAN assigned. Instead, we must use -1 to indicate that no VLAN is in use. Fix the VF disable code, which was not properly cleaning up the VF and would leave the VF in an indeterminate state, so fix this by notifying the VF and then call the normal VF reset routine. Fix the logic in the driver so that MAC filters are added and removed correctly and added a check for the driver's hardware MAC address so that this filter does not get removed incorrectly. Carolyn removes incorrect #ifdef's which should not have been added in the first place and with the #ifdef's removed, make the necessary changes in the driver to resolve compile errors. Greg updates the admin queue command header defines. v2: fix indentation in patch 12 based on feedback from Sergei Shtylyov ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40bdc5360d0919b537e27d7c3feb78fd784c31f5 Author: Andrea Parri <parri.andrea@xxxxxxxxx> Date: Tue Jul 14 00:12:05 2015 +0200 pkt_sched: sch_qfq: remove unused member of struct qfq_sched The member (u32) "num_active_agg" of struct qfq_sched has been unused since its introduction in 462dbc9101acd38e92eda93c0726857517a24bbd "pkt_sched: QFQ Plus: fair-queueing service at DRR cost" and (AFAICT) there is no active plan to use it; this removes the member. Signed-off-by: Andrea Parri <parri.andrea@xxxxxxxxx> Acked-by: Paolo Valente <paolo.valente@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e29dd44325e2fe121088094dcb3055c8d9e5202a Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Mon Jul 13 21:51:38 2015 +0200 net: qlcnic: Deletion of unnecessary memset There is no need to memset memory allocated with vzalloc. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Acked-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aaf2c0fbbbb1ec56936e726eec6c253bc4bd469f Author: Lokesh Vutla <lokeshvutla@xxxxxx> Date: Wed Jun 10 14:56:24 2015 +0530 ARM: OMAP2+: hwmod: add support for lock and unlock hooks Some IP blocks like RTC, needs an additional setting for writing to its registers. This is to prevent any spurious writes from changing the register values. This patch adds optional lock and unlock function pointers to the IP block's hwmod data. These unlock and lock function pointers are called by hwmod code before and after writing sysconfig registers. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> [paul@xxxxxxxxx: fixed indentation level to conform with the rest of the structure members] Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 9061cb023567abf081569d6851b0815dd18437e6 Merge: aad0d51 7535414 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 15 17:13:24 2015 -0700 Merge branch 'gianfar_rx_sg' Claudiu Manoil says: ==================== gianfar: Add Rx S/G This patch-set introduces scatter/gather support on the Rx side, addressing Rx path performance issues in the driver. Thanks. As an example, two boards connected back-to-back were used to measure the throughput, running the same kernel 4.1, before and after applying these patches. The netperf UDP_STREAM results below show that the bottleneck lies on the Rx side BEFORE applying the patches, and that the Rx throughput is even lower with a larger MTU. AFTER applying the patches the Rx bottleneck is gone (Rx throughput matches the Tx one) and the RX throughput is not influenced by MTU size any longer (as expected). BEFORE: 1) MTU 1500 (default) root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 512 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 512 150.00 20119124 0 549.4 100.00 14.911 163840 150.00 14057349 383.9 100.00 14.911 root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 64 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 64 150.00 23654013 0 80.7 100.00 101.463 163840 150.00 15875288 54.2 100.00 101.463 2) MTU 8000 root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 512 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 512 150.00 20067232 0 548.0 100.00 14.950 163840 150.00 6113498 166.9 99.95 14.942 root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 64 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 64 150.00 23621279 0 80.6 100.00 101.604 163840 150.00 5868602 20.0 99.96 101.563 AFTER: (both MTU 1500 and MTU 8000) root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 512 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 512 150.00 19914969 0 543.8 100.00 15.064 163840 150.00 19914969 543.8 99.35 14.966 root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 64 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 64 150.00 23433989 0 80.0 100.00 102.416 163840 150.00 23433989 80.0 99.62 102.023 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75354148ce697266b57c13d051ddffa3bb75fc9e Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Jul 13 16:22:06 2015 +0300 gianfar: Add paged allocation and Rx S/G The eTSEC h/w is capable of scatter/gather on the receive side too if MAXFRM > MRBLR, when the allowed maximum Rx frame size is set to be greater than the maximum Rx buffer size (MRBLR). It's about time the driver makes use of this h/w capability, by supporting fixed buffer sizes and Rx S/G. The buffer size given to eTSEC for reception is fixed to 1536B (must be multiple of 64), which is the same default buffer size as before, used to accommodate standard MTU (1500B) size frames. As before, eTSEC can receive frames of up to 9600B. Individual Rx buffers are mapped to page halves (page size for eTSEC systems is 4KB). The skb is built around the first buffer of a frame (using build_skb()). In case the frame spans multiple buffers, the trailing buffers are added as Rx fragments to the skb. The last buffer in frame is marked by the L status flag. A mechanism is in place to reuse the pages owned by the driver (for Rx) for subsequent receptions. Supporting fixed size buffers allows the implementation of Rx S/G, which in turn removes the memory pressure issues the driver had before when MTU was set for jumbo frame reception. Also, in most cases, the Rx path becomes faster due to Rx page reusal, since the overhead of allocating new rx buffers is removed from the fast path. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f23223f15fd7d359a08ea346a0a537ccaf417014 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Jul 13 16:22:05 2015 +0300 gianfar: Use ndev, more Rx path cleanup Use "ndev" instead of "dev", as the rx queue back pointer to a net_device struct, to avoid name clashing with a "struct device" reference. This prepares the addition of a "struct device" back pointer to the rx queue structure. Remove duplicated rxq registration in the process. Move napi_gro_receive() outside gfar_process_frame(). Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f966082e2065d223942cc40e0bc4841f84f0604d Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Jul 13 16:22:04 2015 +0300 gianfar: Fix and cleanup rxbd status handling There are several (long standing) problems about how the status field of the rx buffer descriptor (rxbd) is currently handled on the error path: - too many unnecessary 16bit reads of the two halves of the rxbd status field (32bit), also resulting in overuse of endianness convesion macros; - "bdp->status = RXBD_LARGE" makes no sense, since the "large" flag is read only (only eTSEC can write it), and trying to clear the other status bits is also error prone in this context (most of the rx status bits are read only anyway). This is fixed with a single 32bit read of the "status" field, and then the appropriate 16bit shifting is applied to access the various status bits or the rx frame length. Also corrected the use of the RXBD_LARGE flag. Additional fix: "rx_over_errors" stat is incremented instead of "rx_crc_errors" in case of RXBD_OVERRUN occurrence. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76f31e8b0911e620ac9191c8d3775cc91ed65c4c Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Jul 13 16:22:03 2015 +0300 gianfar: Bundle Rx allocation, cleanup Use a more common consumer/ producer index design to improve rx buffer allocation. Instead of allocating a single new buffer (skb) on each iteration, bundle the allocation of several rx buffers at a time. This also opens the path for further memory optimizations. Remove useless check of rxq->rfbptr, since this patch touches rx pause frame handling code as well. rxq->rfbptr is always initialized as part of Rx BD ring init. Remove redundant (and misleading) 'amount_pull' parameter. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa57aca8e15a4e11749640e16ac9814f14be24d2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Jul 16 02:01:28 2015 +0200 ACPI / PM: Update the copyright notice and description of power.c The description and copyright notice of drivers/acpi/power.c is out of date, so update it as appropriate. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 39561e8bbb49752092b6afd9764d3f3aeef4e1d2 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 10:01:44 2015 +0900 gpio: of: remove unnecessary variable in of_get_gpio_hog() The variable "desc" is only used for storing the return value at the end of the function. It is unneeded. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4c52bd5c61118a47166ed5857f17698ce520b5fd Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jun 19 20:31:03 2015 +0900 gpio: mvebu: kill bogus dependency on GPIO_GENERIC The driver gpio-mvebu.c does not depend on gpio-generic.c at all. Drop unneeded "select GPIO_GENERIC". Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 41ec66c92299889ad30871aeede89b960f08a458 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Jun 17 20:59:42 2015 +0900 gpio: altera: use of_mm_gpiochip_remove() to fix memory leak This driver calls of_mm_gpiochip_add() to add a memory mapped gpio chip. So, of_mm_gpiochip_remove() should be used when removing it. The direct call of gpiochip_remove() misses unmapping the register and freeing the label. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1c8b5d688d7ef401c209f3fc84b7de8296f8908a Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Jun 17 20:59:43 2015 +0900 gpio: altera: fix return value of altera_gpio_remove() The remove callback never succeeds, which seems odd. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d58ec58f40dc188fbb08edaa8c17840f71fe8a0e Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jun 19 20:31:02 2015 +0900 gpio: altera: kill bogus dependency on GPIO_GENERIC The driver gpio-altera.c does not depend on gpio-generic.c at all. Drop unneeded "select GPIO_GENERIC". Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 80d2bf55a1257a277a808128f377ac69216b6587 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Jun 17 17:51:41 2015 +0900 gpio: zynq: add missing module_exit function This driver is tristate, so it should be cleanable. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Tested-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7c50181b69ce65b0a7db6936aca26f86b70e4436 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Wed Jun 17 18:00:41 2015 -0700 dt-bindings: brcmstb-gpio: document properties for wakeup Some brcmstb GPIO controllers can be used to wake from suspend, so use the de facto standard property 'wakeup-source' to mark the nodes of controllers with that capability. Also document interrupts-extended, which will be used for wakeup handling because the interrupt parent for the wake IRQ is different from the regular IRQ. While we're at it, a few more fixes: We don't actually use the "interrupt-names" property, so remove it from the listed optional properties and from the examples. And since we're modifying the examples, also follow Brian's suggestions to: - change #gpio-cells, #interrupt-cells, and brcm,gpio-bank-widths from hex to dec - use phandles Reviewed-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d32651f68785bd8d73b24481b62e428ca30a2546 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Jun 17 15:42:11 2015 +0200 gpiolib: Fix docs for gpiochip_add_pingroup_range gpiochip_add_pingroup_range() has a pctldev argument, not pinctrl. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit db3b0fcc5adbda0c7060c9298c2514778547fee2 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jun 12 18:20:35 2015 +0200 gpio: generic: add get_direction support Allow to determine the current direction configuration by reading back from the direction register. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d6a8c6d34222f7d9de4c819fbcfbaebb1e40e8a2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 09:14:01 2015 -0700 rcutorture: Enable lockdep-RCU on TASKS01 Currently none of the RCU-tasks scenarios enables lockdep-RCU, which causes bugs to be missed. This commit therefore enables lockdep-RCU on TASKS01. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 5be5d1a11775fadc6104789fad72fae46dff348e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 08:57:57 2015 -0700 rcutorture: Add RCU-tasks qualifier to dereference Although RCU-tasks isn't really designed to support rcu_dereference() and list manipulation, that is how rcutorture tests it. Which means that lockdep-RCU complains about the rcu_dereference_check() invocations because RCU-tasks doesn't have read-side markers. This commit therefore creates a torturing_tasks() to silence the lockdep-RCU complaints from rcu_dereference_check() when RCU-tasks is being tortured. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 3a0af333415830d2a0ca77de832336af5aadced4 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 18:11:31 2015 -0700 rcutorture: Fix rcu_torture_cbflood() for callback-free RCU The rcu_torture_cbflood() function correctly checks for flavors of RCU that lack analogs to call_rcu() and rcu_barrier(), but in that case it fails to terminate correctly. In fact, it terminates so incorrectly that segfaults can result. This commit therefore causes rcu_torture_cbflood() to do the proper wait-for-stop procedure. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit e8e255f7191fb6491dd1d96cfbbe19981f6eb3dd Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu May 14 16:55:45 2015 -0700 rcutorture: Bounds-check rcutorture.shuffle_interval Specifying a negative rcutorture.shuffle_interval value will cause a negative value to be used as a sleep time. This commit therefore refuses to start shuffling unless the rcutorture.shuffle_interval value is greater than zero. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4444d852a99b8f0310f369da8473ec3639e380a7 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu May 14 15:42:40 2015 -0700 rcutorture: Check nfakewriters parameter Currently, a negative value for rcutorture.nfakewriters= can cause rcutorture to pass a negative size to the memory allocator, which is not really a particularly good thing to do. This commit therefore adds bounds checking to this parameter, so that values that are less than or equal to zero disable fake writing. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d9eba768839ac24e47606af36e50c14f10c2211c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu May 14 15:35:43 2015 -0700 rcutorture: Better bounds checking for n_barrier_cbs A negative value for rcutorture.n_barrier_cbs can pass a negative value to the memory allocator, so this commit instead causes rcu_barrier() testing to be disabled in this case. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 426216970e0458c1f507860f4837cbde66a72263 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:31 2015 +0200 rcu: Simplify arithmetic to calculate number of RCU nodes This update makes arithmetic to calculate number of RCU nodes more straight and easy to read. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit cb007102398edd06ffc4488bf841c2e10f14d2e7 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:30 2015 +0200 rcu: Limit count of static data to the number of RCU levels Although a number of RCU levels may be less than the current maximum of four, some static data associated with each level are allocated for all four levels. As result, the extra data never get accessed and just wast memory. This update limits count of allocated items to the number of used RCU levels. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 199977bff9efceec649d74510fa9754e107ce0c5 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:29 2015 +0200 rcu: Remove unnecessary fields from rcu_state structure Members rcu_state::levelcnt[] and rcu_state::levelspread[] are only used at init. There is no reason to keep them afterwards. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 05b84aec465c34da242a224d2438d192ca0feec7 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:28 2015 +0200 rcu: Limit rcu_capacity[] size to RCU_NUM_LVLS items Number of items in rcu_capacity[] array is defined by macro MAX_RCU_LVLS. However, that array is never accessed beyond RCU_NUM_LVLS index. Therefore, we can limit the array to RCU_NUM_LVLS items and eliminate MAX_RCU_LVLS. As result, in most cases the memory is conserved. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit a6d77081e266605c9f4d8c11e0ee00468b9dc614 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:27 2015 +0200 rcu: Limit rcu_state::levelcnt[] to RCU_NUM_LVLS items Variable rcu_num_lvls is limited by RCU_NUM_LVLS macro. In turn, rcu_state::levelcnt[] array is never accessed beyond rcu_num_lvls. Thus, rcu_state::levelcnt[] is safe to limit to RCU_NUM_LVLS items. Since rcu_num_lvls could be changed during boot (as result of rcutree.rcu_fanout_leaf kernel parameter update) one might assume a new value could overflow the value of RCU_NUM_LVLS. However, that is not the case, since leaf-level fanout is only permitted to increase, resulting in rcu_num_lvls possibly to decrease. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9618138b09260e3df5af5a0d7bdc8fca010f6a3f Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:26 2015 +0200 rcu: Simplify rcu_init_geometry() capacity arithmetics Current code suggests that introducing the extra level to rcu_capacity[] array makes some of the arithmetic easier. Well, in fact it appears rather confusing and unnecessary. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 679f9858b1769d740d933f5f1ad9dbe3292f26d2 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:25 2015 +0200 rcu: Cleanup rcu_init_geometry() code and arithmetics This update simplifies rcu_init_geometry() code flow and makes calculation of the total number of rcu_node structures more easy to read. The update relies on the fact num_rcu_lvl[] is never accessed beyond rcu_num_lvls index by the rest of the code. Therefore, there is no need initialize the whole num_rcu_lvl[]. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 372b0ec24f6b516174934d68fd86d2056f1a5bba Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:24 2015 +0200 rcu: Remove superfluous local variable in rcu_init_geometry() Local variable 'n' mimics 'nr_cpu_ids' while the both are used within one function. There is no reason for 'n' to exist whatsoever. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 75cf15a4c0dd57f5d230bd30c2d41bd8e06ae5a9 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:23 2015 +0200 rcu: Panic if RCU tree can not accommodate all CPUs Currently a condition when RCU tree is unable to accommodate the configured number of CPUs is not permitted and causes a fall back to compile-time values. However, the code has no means to exceed the RCU tree capacity neither at compile-time nor in run-time. Therefore, if the condition is met in run- time then it indicates a serios problem elsewhere and should be handled with a panic. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 319362c90f7af92d03714759bea5d2ba7c88e388 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue May 19 14:16:52 2015 -0700 rcu: Provide more diagnostics for stalled GP kthread Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f765d1130700878c2275bc1ea09eed428f870a2a Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed May 27 08:56:25 2015 +0200 rcu: Change return type to bool Type-checking coccinelle spatches are being used to locate type mismatches between function signatures and return values in this case this produced: ./kernel/rcu/srcu.c:271 WARNING: return of wrong type int != unsigned long, srcu_readers_active() returns an int that is the sum of per_cpu unsigned long but the only user is cleanup_srcu_struct() which is using it as a boolean (condition) to see if there is any readers rather than actually using the approximate number of readers. The theoretically possible unsigned long overflow case does not need to be handled explicitly - if we had 4G++ readers then something else went wrong a long time ago. proposal: change the return type to boolean. The function name is left unchanged as it fits the naming expectation for a boolean. patch was compile tested for x86_64_defconfig (implies CONFIG_SRCU=y) patch is against 4.1-rc5 (localversion-next is -next-20150525) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d5671f6bf2a672cfa72ef2cbac5cc53a4539690d Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue May 26 17:48:34 2015 +0200 rcu: Deinline rcu_read_lock_sched_held() if DEBUG_LOCK_ALLOC DEBUG_LOCK_ALLOC=y is not a production setting, but it is not very unusual either. Many developers routinely use kernels built with it enabled. Apart from being selected by hand, it is also auto-selected by PROVE_LOCKING "Lock debugging: prove locking correctness" and LOCK_STAT "Lock usage statistics" config options. LOCK STAT is necessary for "perf lock" to work. I wouldn't spend too much time optimizing it, but this particular function has a very large cost in code size: when it is deinlined, code size decreases by 830,000 bytes: text data bss dec hex filename 85674192 22294776 20627456 128596424 7aa39c8 vmlinux.before 84837612 22294424 20627456 127759492 79d7484 vmlinux (with this config: http://busybox.net/~vda/kernel_config) Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> CC: Josh Triplett <josh@xxxxxxxxxxxxxxxx> CC: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> CC: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> CC: Tejun Heo <tj@xxxxxxxxxx> CC: Oleg Nesterov <oleg@xxxxxxxxxx> CC: linux-kernel@xxxxxxxxxxxxxxx Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 96d7744e0a5631a1b5fef2a97658150b165f02b6 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 13 15:55:52 2015 -0700 doc: Call out smp_mb__after_unlock_lock() transitivity Although "full barrier" should be interpreted as providing transitivity, it is worth eliminating any possible confusion. This commit therefore adds "(including transitivity)" to eliminate any possible confusion. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9af194cefc3c40e75a59df4cbb06e1c1064bee7f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:33:24 2015 -0700 documentation: Replace ACCESS_ONCE() by READ_ONCE() and WRITE_ONCE() Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 57aecae950c55ef50934640794160cd118e73256 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon May 18 18:27:42 2015 -0700 documentation: Fix variable-name typo in memory-barriers.txt Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 297f739938908a4262603314576e32ee7375296c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu May 14 17:31:07 2015 -0700 documentation: Fix spelling of "operators" Reported-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 21b05de4c8fac08fff08cf84ef1d4fe5786f9608 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu May 14 17:29:51 2015 -0700 documentation: Bring rcutorture parameters up to date This commit changes the documentation of the rcutorture parameters to better match reality. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 113e0d118a93c964feea376de8c94dd8c7c63ff8 Author: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Date: Wed Jul 15 14:59:46 2015 +0530 PCI / ACPI: Fix pci_acpi_optimize_delay() comment The function takes ACPI handle, not the device itself. Fix the comment Signed-off-by: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b9e23f321940d2db2c9def8ff723b8464fb86343 Author: Vignesh R <vigneshr@xxxxxx> Date: Wed Jun 3 17:21:20 2015 +0530 ARM: OMAP2+: DRA7: clockdomain: change l4per2_7xx_clkdm to SW_WKUP Legacy IPs like PWMSS, present under l4per2_7xx_clkdm, cannot support smart-idle when its clock domain is in HW_AUTO on DRA7 SoCs. Hence, program clock domain to SW_WKUP. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit e913bfb60bee349b1b8bf53b1749c1d43ba8bddb Merge: 40403c1 2155971 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 12:32:09 2015 -0700 Merge tag 'iio-for-4.3a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: First round of new drivers, cleanups and functionality for IIO in the 4.3 cycle. Core and tools new stuff * Allow explicit flush of hardware fifo by using an non blocking read. This is needed to support some of the Android requirements for HW fifo devices - also makes sense generally and clarifies a corner of the ABI. * Add some missing modifier names. Mostly these exist for weird and wonderful event types, but should still be present in the name array. * Update iio_event_monitor to cope with new channel types. * generic_buffer gains support for single byte scan elements (no idea how this never got implemented before!) New device support * ROHM rpr0521 light and proximity sensor driver. * bmc150 gains bmc156 support. * ms5611 gains ms5607 temperature and pressure sensor support. Driver functionality * inv-mpu - add scale_available attributes to aid userspace in configuring these devices. * isl29125 - add scale_available attributes. * stk8ba50 - sampling frequency control, triggered buffer support. * stk8312 - sampling frequency control, triggered buffer support. * cc10001 - ensure ADC powered up at probe time if shared by non linux running CPUs. * bmc150-magn - decouple the buffer and trigger allowing other triggers to be used to drive this device's sampling. Documentation * Add some previously missed *scale_available attributes to the ABI docs. Cleanups * Clarify some crazy naming in iio_triggered_buffer_setup that seems to have somehow ended up backwards (dates back a long way). Avoid the top half and bottom half naming entirely given we are how dealing with a handler and a thread in all cases. * Tools cleanup including coding style, variable naming improvements, also a new sanity check on a full event having been read. * stk8ba50 - replace the scale table with a struct for clarity. Also suspend the sensor if an error occurs in init. * hid-sensor-prox - drop uneeded line break. * mma9551 - use size in words for word read / write avoiding accidental sending of an odd number of bytes. * mma9553 - fix code alignment and document the use of a mutex. * light/Kconfig - typo fix in commment. * cm3323 - don't eat an error value, replace an unneeded local variable with a generic local variable with the same use, add some blank lines for clarity. * pressure/Kconfig - typo in Measurement Specialties name. * bmc150-accel - actually use a mask definition rather than repeating the value inline, code style cleanup. * adc/Kconfig - general help description cleanup. * ssp_sensors - drop redundant spi driver bus initialization (done in the spi core) * tmp006 - use genmask rather than hand generated masks. * ms5611 - drop IIO_CHAN_INFO_SCALE as this driver provides a processed output and as such the read only scale adds nothing useful. * kxcjk-1013, adf4350, dummy - drop unwanted blank lines. * Drop all owner assignments from i2c_drivers and this is done in the i2c core. commit 221272f97ca528048a577a3ff23d7774286ca5fd Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Mon Jun 15 15:29:16 2015 -0700 seccomp: swap hard-coded zeros to defined name For clarity, if CONFIG_SECCOMP isn't defined, seccomp_mode() is returning "disabled". This makes that more clear, along with another 0-use, and results in no operational change. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 13c4a90119d28cfcb6b5bdd820c233b86c2b0237 Author: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> Date: Sat Jun 13 09:02:48 2015 -0600 seccomp: add ptrace options for suspend/resume This patch is the first step in enabling checkpoint/restore of processes with seccomp enabled. One of the things CRIU does while dumping tasks is inject code into them via ptrace to collect information that is only available to the process itself. However, if we are in a seccomp mode where these processes are prohibited from making these syscalls, then what CRIU does kills the task. This patch adds a new ptrace option, PTRACE_O_SUSPEND_SECCOMP, that enables a task from the init user namespace which has CAP_SYS_ADMIN and no seccomp filters to disable (and re-enable) seccomp filters for another task so that they can be successfully dumped (and restored). We restrict the set of processes that can disable seccomp through ptrace because although today ptrace can be used to bypass seccomp, there is some discussion of closing this loophole in the future and we would like this patch to not depend on that behavior and be future proofed for when it is removed. Note that seccomp can be suspended before any filters are actually installed; this behavior is useful on criu restore, so that we can suspend seccomp, restore the filters, unmap our restore code from the restored process' address space, and then resume the task by detaching and have the filters resumed as well. v2 changes: * require that the tracer have no seccomp filters installed * drop TIF_NOTSC manipulation from the patch * change from ptrace command to a ptrace option and use this ptrace option as the flag to check. This means that as soon as the tracer detaches/dies, seccomp is re-enabled and as a corrollary that one can not disable seccomp across PTRACE_ATTACHs. v3 changes: * get rid of various #ifdefs everywhere * report more sensible errors when PTRACE_O_SUSPEND_SECCOMP is incorrectly used v4 changes: * get rid of may_suspend_seccomp() in favor of a capable() check in ptrace directly v5 changes: * check that seccomp is not enabled (or suspended) on the tracer Signed-off-by: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> CC: Will Drewry <wad@xxxxxxxxxxxx> CC: Roland McGrath <roland@xxxxxxxxxxxxx> CC: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> CC: Serge E. Hallyn <serge.hallyn@xxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> [kees: access seccomp.mode through seccomp_mode() instead] Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 8225d3853f34f6cf9caff15d8c385a528e0d7cb1 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Nov 21 10:06:01 2014 -0500 seccomp: Replace smp_read_barrier_depends() with lockless_dereference() Recently lockless_dereference() was added which can be used in place of hard-coding smp_read_barrier_depends(). The following PATCH makes the change. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 7d1442b4c4142d94a83451d4e7a11db8aee132ab Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Jul 15 23:02:39 2015 +0900 ASoC: Fix warning caused by a typo in comments of snd_soc_add_platform() This patch fix following warnings. Warning(.//sound/soc/soc-core.c:2855): No description found for parameter 'platform_drv' Warning(.//sound/soc/soc-core.c:2855): Excess function parameter 'platform_driver' description in 'snd_soc_add_platform' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 231b86b1d81a75e5212329e2c42faefddcaa9208 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Jul 15 23:02:38 2015 +0900 ASoC: Fix warning while make xmldocs caused by soc-core.c This patch fix following warning while make xmldocs. Warning(.//sound/soc/soc-core.c:2148): No description found for parameter 'ratio' Add missing ":" Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c7941dee9c41d6ab5a8be06ec44aa579a6123e1 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Jul 14 17:51:10 2015 +0200 netfilter: xtables: remove __pure annotation sparse complains: ip_tables.c:361:27: warning: incorrect type in assignment (different modifiers) ip_tables.c:361:27: expected struct ipt_entry *[assigned] e ip_tables.c:361:27: got struct ipt_entry [pure] * doesn't change generated code. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit dcebd3153e0a7749bb054ab73fa4e1ca33e9d3f9 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Jul 14 17:51:09 2015 +0200 netfilter: add and use jump label for xt_tee Don't bother testing if we need to switch to alternate stack unless TEE target is used. Suggested-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7814b6ec6d0d63444abdb49554166c8cfcbd063e Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Jul 14 17:51:08 2015 +0200 netfilter: xtables: don't save/restore jumpstack offset In most cases there is no reentrancy into ip/ip6tables. For skbs sent by REJECT or SYNPROXY targets, there is one level of reentrancy, but its not relevant as those targets issue an absolute verdict, i.e. the jumpstack can be clobbered since its not used after the target issues absolute verdict (ACCEPT, DROP, STOLEN, etc). So the only special case where it is relevant is the TEE target, which returns XT_CONTINUE. This patch changes ip(6)_do_table to always use the jump stack starting from 0. When we detect we're operating on an skb sent via TEE (percpu nf_skb_duplicated is 1) we switch to an alternate stack to leave the original one alone. Since there is no TEE support for arptables, it doesn't need to test if tee is active. The jump stack overflow tests are no longer needed as well -- since ->stacksize is the largest call depth we cannot exceed it. A much better alternative to the external jumpstack would be to just declare a jumps[32] stack on the local stack frame, but that would mean we'd have to reject iptables rulesets that used to work before. Another alternative would be to start rejecting rulesets with a larger call depth, e.g. 1000 -- in this case it would be feasible to allocate the entire stack in the percpu area which would avoid one dereference. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e7c8899f3e6f2830136cf6e115c4a55ce7a3920a Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Jul 14 17:51:07 2015 +0200 netfilter: move tee_active to core This prepares for a TEE like expression in nftables. We want to ensure only one duplicate is sent, so both will use the same percpu variable to detect duplication. The other use case is detection of recursive call to xtables, but since we don't want dependency from nft to xtables core its put into core.c instead of the x_tables core. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 98d1bd802cdbc8f56868fae51edec13e86b59515 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Jul 14 17:51:06 2015 +0200 netfilter: xtables: compute exact size needed for jumpstack The {arp,ip,ip6tables} jump stack is currently sized based on the number of user chains. However, its rather unlikely that every user defined chain jumps to the next, so lets use the existing loop detection logic to also track the chain depths. The stacksize is then set to the largest chain depth seen. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit fd2ecda0341960d0ce361d648cf4dd98187afb06 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jul 10 18:15:44 2015 -0500 netfilter: nftables: Only run the nftables chains in the proper netns - Register the nftables chains in the network namespace that they need to run in. - Remove the hacks that stopped chains running in the wrong network namespace. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 085db2c04557d31db61541f361bd8b4de92c9939 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jul 10 18:15:06 2015 -0500 netfilter: Per network namespace netfilter hooks. - Add a new set of functions for registering and unregistering per network namespace hooks. - Modify the old global namespace hook functions to use the per network namespace hooks in their implementation, so their remains a single list that needs to be walked for any hook (this is important for keeping the hook priority working and for keeping the code walking the hooks simple). - Only allow registering the per netdevice hooks in the network namespace where the network device lives. - Dynamically allocate the structures in the per network namespace hook list in nf_register_net_hook, and unregister them in nf_unregister_net_hook. Dynamic allocate is required somewhere as the number of network namespaces are not fixed so we might as well allocate them in the registration function. The chain of registered hooks on any list is expected to be small so the cost of walking that list to find the entry we are unregistering should also be small. Performing the management of the dynamically allocated list entries in the registration and unregistration functions keeps the complexity from spreading. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 0edcf282b0a6f38168294264837cf7d52a2f5255 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jul 10 18:14:30 2015 -0500 netfilter: Factor out the hook list selection from nf_register_hook - Add a new function find_nf_hook_list to select the nf_hook_list - Fail nf_register_hook when asked for a per netdevice hook list when support for per netdevice hook lists is not built into the kernel. - Move the hook list head selection outside of nf_hook_mutex as nothing in the selection requires the hook list, and error handling is simpler if a mutex is not held. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4c0911566dec7755d15cb89239fb2db4447f7a62 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jul 10 18:13:58 2015 -0500 netfilter: Simply the tests for enabling and disabling the ingress queue hook Replace an overcomplicated switch statement with a simple if statement. This also removes the ingress queue enable outside of nf_hook_mutex as the protection provided by the mutex is not necessary and the code is clearer having both of the static key increments together. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 70aa996601335ca3069190ebcdae8870828086a8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jul 10 18:13:20 2015 -0500 netfilter: kill nf_hooks_active The function obscures what is going on in nf_hook_thresh and it's existence requires computing the hook list twice. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 0d6ef0688d8744454646298b85336407be05e309 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 15:42:49 2015 +0900 ipvs: Delete an unnecessary check before the function call "module_put" The module_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 264954811af62dcfe17fc44cef379b315bb066eb Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 15 14:15:52 2015 +0200 drm/i915: Invert fastboot check Fastboot should only downgrade a modeset if we have a match, not be used to upgrade to a full modeset. Otherwise we can only use it in a very restricted way: Initial modeset when the request mode is the preferred one of the panel and there's still a pfit active. And that only works because our mode_from_pipe_config fills in the wrong mode (it takes the adjusted mode, not the requested one). But we want fast modesets everywhere even after boot-up (especially for testing, but not only there). Hence we need to be able to make any modeset a fast one, which means we need to invert the logic and optionally downgrade a modeset. Note that this needs ->connector_changed split out from ->mode_changed otherwise it's not going to work (because we might loose a modeset because connectors changed but otherwise the config matches). As soon as that's merged we can drop the i915.fastboot check from this code. Also make sure that we don't accidentally clear any_ms and that we add the planes for any kind of modeset. Finally rename fastboot to fastset (yeah it's a silly name) since this really isn't about booting all that much. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1ed51de9ca9170d1c5361924a17e7c483050aeb6 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 15 14:15:51 2015 +0200 drm/i915: Clarify logic for initial modeset Currently we both set mode->private_flags to some value and also use the pipe_config quirk. But since the pipe_config quirk isn't tied to the lifetime of the mode object we need to check both. Simplify this by only using mode.private_flags and stop using the INHERITED_MODE quirk. Also for clarity add an explicit #define for that driver priavete mode flag. By using crtc_state->mode_changed we can also remove the recalc local variable. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e2ff2d4a467511ef88ae574555ddc0e952777f0c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 15 14:15:50 2015 +0200 drm/i915: Unconditionally check gmch pfit state Now that we recompute the pipe config for all CRTCs that have changed we don't have problems with stale configuration data for the global pfit and can remove this hack. Yay! Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ca6e4405779ed56ebac941570615abd667c72c02 Merge: 8f539a8 ccfb8b2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 15 16:36:50 2015 +0200 Merge tag 'drm-intel-fixes-2015-07-15' into drm-intel-next-queued Backmerge fixes since it's getting out of hand again with the massive split due to atomic between -next and 4.2-rc. All the bugfixes in 4.2-rc are addressed already (by converting more towards atomic instead of minimal duct-tape) so just always pick the version in next for the conflicts in modeset code. All the other conflicts are just adjacent lines changed. Conflicts: drivers/gpu/drm/i915/i915_drv.h drivers/gpu/drm/i915/i915_gem_gtt.c drivers/gpu/drm/i915/intel_display.c drivers/gpu/drm/i915/intel_drv.h drivers/gpu/drm/i915/intel_ringbuffer.h Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit b1d725ee58759359b12d2e8a6740f1cdb2091403 Merge: 216883a 80edaae Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Jul 15 10:17:14 2015 -0400 Merge tag 'omap-for-v4.3/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap dts changes for v4.3, part 1" from Tony Lindgren: Omap dts changes for v4.3 merge window. There are also related changes for reemoteproc platform_data and audio options for omap2plus_defconfig to keep audio working when changing boards to use SIMPLE_CARD. The summary of changes is: - A large set of audio related changes for SIMPLE_CARD from Peter Ujfalusi <peter.ujfalusi@xxxxxx> for am335x and am437x - Pinctrl dts defines for dra7 virtual mode to configure timings - Change to use cpsw slave0 for dra7 Ethernet - Remove unconfigured and wrong l3-mux entry for dm816x - Add support for Gumstix Palo35 and TobiDuo boards, and Overo PoP NAND and McBSP2 - Start using new HDMI binding for tilcdc - Start using new sDMA crossbar for dra7 - Start using rproc for am335x and am437x M3 coprocessor * tag 'omap-for-v4.3/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (32 commits) ARM: dts: am335x-evm: Switch using simple-audio-card for audio support ARM: dts: am335x-evm: Add sleep pin settings for mcasp1 ARM: dts: am335x-evm: Rename pinctrl section for McASP1 ARM: dts: am335x-evm: Fix mcasp1 node's indentation ARM: dts: am335x-evmsk: Switch using simple-audio-card for audio support ARM: dts: am335x-evmsk: Add sleep pin settings for mcasp1 ARM: dts: am335x-evmsk: Fix mcasp1 node's indentation ARM: dts: am437x-gp-evm: Enable analog audio via simple-card ARM: dts: am437x-gp-evm: McASP1 node for audio support ARM: dts: am437x-gp-evm: Add node for tlv320aic3106 audio codec ARM: dts: am437x-gp-evm: Rename fixed regulator vmmcsd_fixed to evm_v3_3d ARM: dts: am437x-gp-evm: Add gpio-hog for configuring the display/audio mux ARM: dts: am43xx-epos-evm: Enable analog audio via simple-card ARM: dts: am43xx-epos-evm: Add node for tlv320aic3111 audio codec ARM: dts: am43xx-epos-evm: McASP1 node for audio support ARM: dts: am43xx-epos-evm: Add regulator for VBAT and DCDC4 of tps65218 ARM: dts: am43xx-epos-evm: Add gpio-hog for configuring the display/audio mux ARM: dts: am437x-sk-evm: Switch using simple-audio-card for audio support ARM: dts: am437x-sk-evm: Add sleep pin settings for mcasp1 ARM: omap2plus_defconfig: Enable audio related config options ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6802b7876efd538c56a1df70ce0b7d1cbe03ced7 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Thu Jan 15 22:58:34 2015 -0800 ARM: dts: Add sbs-battery dts fragment used by chromebooks This patch creates a sbs-battery fragment for batteries connected to the i2c tunnel of the cros-ec embedded controller. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit 8f539a83efa7dceb7c2257ca96e2dfc846bd12f6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:32 2015 +0200 drm/i915: always disable irqs in intel_pipe_update_start This can only fail because of a bug in the code. Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> [danvet: Squash in follow-up to also remove start_vbl_count from intel_crtc->atomic and put it into the intel_crtc directly - it's not precomputed state.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 342defd8646dff96f87cf44c4eee4dfdf0dd8d00 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:33 2015 +0200 drm/i915: Remove use of runtime pm in atomic commit functions We needed this originally for updating pagetables in plane commit functions. But that's extracted into prepare/cleanup now. The other issue was running updates when the pipe was off. That's also now fixed. Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f6ac4b2a121fd3362407b21e36ec71d9886ce379 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:31 2015 +0200 drm/i915: Call plane update functions directly from intel_atomic_commit. Now that there's only a single path for all atomic updates we can call intel_(pre/post)_plane_update from intel_atomic_commit directly. This makes the intention more clear. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74c090b1bdc57b1c9f1361908cca5a3d8a80fb08 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:30 2015 +0200 drm/i915: Use full atomic modeset. Huzzah! \o/ Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9b01435d2802148fcf6e061df0e4926768eeb133 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jul 14 15:01:30 2015 +0100 drm/i915/gen9: Add WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken In Indirect context w/a batch buffer, +WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken v2: SKL revision id was used for BXT, copy paste error found during internal review (Bob Beckett). v3: explain why part of the WA is in Per ctx batch (Mika) Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a4106a782d11d44f6740ec8868ad1863546f832a Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jul 14 15:01:29 2015 +0100 drm/i915/gen9: Add WaFlushCoherentL3CacheLinesAtContextSwitch workaround In Indirect context w/a batch buffer, +WaFlushCoherentL3CacheLinesAtContextSwitch:skl,bxt v2: address static checker warning where unsigned value was checked for less than zero which is never true (Dan Carpenter). v3: The WA uses default value of GEN8_L3SQCREG4 during flush but that disables some other WA; update default value to retain it and document dependency (Mika). Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0907c8f7e0047956dabdd70368a710dc048793eb Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jul 14 15:01:28 2015 +0100 drm/i915/gen9: Add WaDisableCtxRestoreArbitration workaround In Indirect and Per context w/a batch buffer, +WaDisableCtxRestoreArbitration v2: SKL revision id was used for BXT, copy paste error found during internal review (Bob Beckett). v3: use updated macro. Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Robert Beckett <robert.beckett@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0504cffc7b128dc4bd751821abe7c47203d7bd62 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jul 14 15:01:27 2015 +0100 drm/i915: Enable WA batch buffers for Gen9 This patch only enables support for Gen9, the actual WA will be initialized in subsequent patches. The WARN that we use to warn user if WA batch support is not available for a particular Gen is replaced with DRM_ERROR as warning here doesn't really add much value. v2: include all infrastructure bits in this patch so that subsequent changes only correspond the WA added (Chris) v3: use updated macro. Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6381b55016ec76f18cbc8685ca0774dd4584651b Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Tue Jul 14 14:41:15 2015 +0100 drm/i915/gen9: Implement WaDisableKillLogic for gen 9 v2: Patch leakage fixed Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec081cb337a1edc793d7aa53baa9b8afa096678d Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Jul 15 19:25:42 2015 +0900 drm: Fix warning with make xmldocs caused by drm_irq.c This patch fix following warnings. Warning(.//drivers/gpu/drm/drm_irq.c:1279): No description found for parameter drm_crtc' Warning(.//drivers/gpu/drm/drm_irq.c:1279): Excess function parameter 'crtc' description in 'drm_crtc_vblank_reset' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c07a4de5baad76585f7ffb86b5b0bc34c33e8a6 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Jul 15 13:21:44 2015 +0900 ASoC: drivers: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5e412a99c07382bda3643f9532d2769141efc7d Merge: 6adcafa c4a99a4 5e4cb7b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Jul 15 12:50:33 2015 +0100 Merge branches 'topic/rt298', 'topic/ts3a227e' and 'topic/cs42xx8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-owner commit 1aae50a245736aec603c319fea2a83a90dc69aba Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 10 16:03:25 2015 -0700 spi: spi-pxa2xx: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e2175d42e435b7957bfaa921fc27cb40e923372 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 15 13:50:49 2015 +0800 ASoC: sirf-audio-codec: Staticise local symbols Also make sirf_audio_codec_dai_ops const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a01da00cbccc162a86c78f61ed4ca55dad35440f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 15 09:51:33 2015 +0800 ASoC: da732x: Merge da732x_dai1_ops and da732x_dai2_ops da732x_dai1_ops is identical to da732x_dai2_ops, so merge them to da732x_dai_ops. The da732x_dai_ops is not modified after initialization, so make it const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 64793047558781330a1d13b159a2bc9385bdf97f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 15 15:38:14 2015 +0800 ASoC: Constify snd_soc_dai_ops variables The snd_soc_dai_ops variables are not modified after initialization in these drivers, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fe467ad1e430ffbde37a61a7dacf6218f420d78b Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Wed Jul 15 15:05:48 2015 +0800 arm64: dts: sprd: adding ETM entries to Spreadtrum SC9836 Since ETMv4 driver has been merged, this patch adds ETM nodes for SC9836, and four funnel input ports to connect with ETM output ports. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 346add7834557b5b9628b9bf2387106d42e631d4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 14 18:07:30 2015 +0200 drm/i915: Use expcitly fixed type in compat32 structs I was confused shortly whether the compat was needed for the int, until I noticed the pointer in the original. Also remove typedef. v2: Review from Chris. - Add comments. - Also change the int param in the original structure. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1f7457b135b075e7a60c9133723363045084c333 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 11:55:05 2015 +0200 drm/i915: Fix noatomic crtc disabling, v2. This fixes the breakage caused by commit eddfcbcdc27fbecb33bff098967bbdd7ca75bfa6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:53 2015 +0200 drm/i915: Update less state during modeset. No need to repeatedly call update_watermarks, or update_fbc. Down to a single call to update_watermarks in .crtc_enable Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Add missing shared dpll disable to the noatomic disable function. This function will be replaced by its atomic counterpart soon. Changes since v1: - intel_crtc->active and watermarks are fixed by a patch from Patrik Jakobsson Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cd13f5ab42a63d267f452ac5fd641136c7b8f17c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 14:12:02 2015 +0200 drm/i915: fill in more mode members Fill in driver type, hsync, vrefresh and name. Those members are not read out but can be calculated from the mode. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40403c1b13cb01d9125df80789b574c2d4172cc0 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:48 2015 -0700 staging: sm750fb: add missing blank line after declarations Fixes checkpatch.pl WARNING: Missing a blank line after declarations Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b05cbe8b60beb31919baa2b010cd7776904b17b Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:47 2015 -0700 staging: sm750fb: remove unnecessary braces Fixes checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cebafd8d6fd3a55671c2c5ee88ff27ad1bf9f1d3 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:46 2015 -0700 staging: sm750fb: move while to follow do close brace Fixes checkpatch.pl error: ERROR: while should follow close brace '}' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 259fef35c7688c105137f286c2dc5780979686c9 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:45 2015 -0700 staging: sm750fb: fix brace placement Fix brace placement errors caught by checkpatch.pl ERROR: that open brace { should be on the previous line Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1fe154f0f3dea1ba48aa4e96dbb0deec5c17125 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:44 2015 -0700 staging: sm750fb: remove unnecessary whitespace Fixes checkpatch.pl warning: WARNING: unnecessary whitespace before a quoted newline Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 919ca7c63b26c06ed825a31e5b050ca4790c3ef0 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:43 2015 -0700 staging: sm750fb: remove trailing whitespace Fixes checkpatch.pl error: ERROR: trailing whitespace Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adbb90e83062da1884eaeae4d1d9e0884e92ee6d Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:42 2015 -0700 staging: sm750fb: add space after semicolon Fixes checkpatch.pl error: ERROR: space required after that ';' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d5e63c4626c0f8b3c8a12e8ce9a557273ce72ee Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:41 2015 -0700 staging: sm750fb: add spaces around operators Fixes checkpath.pl error: ERROR: spaces required around that operator Note running checkpatch.pl with '--strict' catches more of these errors along with cases where spacing is optional but preferred. Take care of these in a future patch. Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ab5b6d16bba08e9665d4ae1b122b55642d990b3 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:40 2015 -0700 staging: sm750fb: consistent spacing around operators Fixes checkpatch.pl error: ERROR: need consistent spacing around operator Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7d8b69a1d6dac9d650714e82390f3b63e2e582f Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:39 2015 -0700 staging: sm750fb: add space after return type Fixes checkpatch.pl warning: WARNING: missing space after return type Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d14c13ae03ed4a8d79f14507eabb1d59cc85b3b Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:38 2015 -0700 staging: sm750fb: add space after struct definition Fixes checkpatch.pl warning: WARNING: missing space after struct definition Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b63f3dcab161c18f5ce3741dde07c29364a4af6b Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:37 2015 -0700 staging: sm750fb: add space after enum definition Fixes checkpatch.pl warning: WARNING: missing space after enum definition Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6338a78132f893b6c40c349d7c8034002dfe86cf Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:36 2015 -0700 staging: sm750fb: add space after close brace Fixes checkpatch.pl error: ERROR: space required after that close brace '}' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c11f5a2805bd2c257b706d7499ed531b6c5aa5f Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:35 2015 -0700 staging: sm750fb: add space before open brace Fixes checkpatch.pl error: ERROR: space required before the open brace '{' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b68a17a2ed8285ee8679648e1cbc39202c41d9fa Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:34 2015 -0700 staging: sm750fb: remove space between function name and parenthesis Fixes checkpatch.pl warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ccc5f4427c2a69553935c33ca4c4b3f9e80214d Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:33 2015 -0700 staging: sm750fb: add space before open parenthesis Fixes checkpatch.pl error: ERROR: space required before the open parenthesis '(' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8332d94c979bc348398d3f1b2581a59c7d60978a Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:32 2015 -0700 staging: sm750fb: remove space before close parenthesis Fixes checkpatch.pl error: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f0ebcc29082a45bcd3e108b6f65d1190059b36b Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:31 2015 -0700 staging: sm750fb: remove spacing after open parenthesis Fixes checkpatch.pl warning: ERROR: space prohibited after that open parenthesis '(' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78376535c2b9c2d463a801db81fb38dc26c29532 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:30 2015 -0700 staging: sm750fb: use tabs for indentation Replace spaces with tabs for indentation to fix the checkpatch.pl error ERROR: code indent should use tabs where possible WARNING: please, no spaces at the start of a line Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32491f561bffddfc5c3dee87e439f2ec64a6cf80 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:44 2015 +0300 staging: vme_user: remove okcount variable Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18f8bee2066a55b7fee478cac0a91d073d3d24a9 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:43 2015 +0300 staging: vme_user: remove distracting comment Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 457ab28619abd1a87eefbb2615bb54ede51e339f Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:42 2015 +0300 staging: vme_user: remove unused variable Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c78e0cdd0baaea087f342330ec1cc44cf4312e8 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:41 2015 +0300 staging: vme_user: switch to returning -EFAULT on __copy_*_user errors Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e4d138cc083bb960271e79832982e982c35d219 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:40 2015 +0300 staging: vme_user: allow large read()/write() This changes large master transfers to do shorter read/write rather than return -EINVAL. User space will now be able to optimistically request a large transfer and get at least some data. This also removes comments suggesting on how to implement large transfers. Current vme_master_* read and write implementations use CPU copies that don't produce burst PCI accesses and subsequently no block transfer on VME bus. In the end overall performance is quiet low and it can't be fixed by doing direct copy to user space. Much easier solution would be to just reuse kernel buffer. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f0622de0d1fb7de187c7cf729971d56def7814e Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:39 2015 +0300 staging: vme_user: fix kmalloc style Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f99b71be37dd88e7b2f4a7c227da6c4f71cd8fa4 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:38 2015 +0300 staging: vme_user: fix NULL comparison style Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd974d35ab784d98085ed1b317a9978c026d86f7 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:37 2015 +0300 staging: vme_user: fix blank lines Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86eadace5d021f50558936ea75234f3262d16bc2 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:36 2015 +0300 staging: vme_user: fix code alignment Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d4d138a3e2c2a85df9fa048b341612c235c1027 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Wed Jul 15 08:52:51 2015 +0530 staging:vt6655: remove checks around dev_kfree_skb dev_kfree_skb checks for NULL pointer itself, Thus no need of explicit NULL check. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aeb7fa7b4f29ce4d7d16c4c3565c4714f2f62b82 Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Mon Jul 6 15:14:41 2015 +0900 staging: ion: debugfs to shrink pool This patch enables debugfs file /sys/kernel/debug/ion/heaps/system_shrink to shrink pool and get pool size. This technically enables debugfs shrinking for all heaps, not just the system heap although the system heap is the only one with a shrinker right now. It is already implemented but not complete. This patch completes and enables it. Reading the file returns pool size in page unit and writing the number of pages shrinks pool. It flushes all pages to write zero at the file. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Reviewed-by: Laura Abbott <labbott@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b44d9ce3b81715311198f0c5fa329e518b4f9f18 Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Mon Jul 6 15:14:40 2015 +0900 staging: ion: shrink page-pool by page unit This patch shrink page-pool by page unit. The system shrinker calls ion_heap_shrink_count() to get nr_to_scan, and pass it to ion_heap_shrink_scan(). The problem is the return value of ion_heap_shrink_count() is the number of pages but ion_system_heap_shrink(), which is called by ion_heap_shrink_scan(), gets the number of chunk. The main root of this is that ion_page_pool_shrink() returns page count via ion_page_pool_total() if it have to check pool size. But it frees chunks of pages if it have to free pools. This patch first fix ion_page_pool_shrink() to count only pages, not chunks. And then ion_system_heap_shrink() to work on pages. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Reviewed-by: Laura Abbott <labbott@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e3148c51190d680b7cc2ebdc556e6ea27a93989 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jun 26 09:37:25 2015 +0530 Staging: rtl8192e: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. Note that the 6 in the third argument of memset appears to represent an ethernet address size (ETH_ALEN). The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,6); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6957248f487e0eeecf7a23a34b08ee26c0c3a151 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:26 2015 +0200 staging: rtl8192e: rtllib_softmac: Make functions static Make as many functions as possible static in rtllib_softmac.c. The following functions were affected: - rtllib_sta_wakeup - rtllib_TURBO_Info - rtllib_get_beacon_ - rtllib_send_probe_requests - rtllib_update_active_chan_map - rtllib_softmac_scan_syncro Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed4360336931ea99d029f1208d3e55b60c2bc621 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:25 2015 +0200 staging: rtl8192e: Make rtllib_rx_mgt() static Function is not referenced outside of rtllib_rx.c Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 511998ea5be18a0219151e30c92a5d47533d2c49 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:24 2015 +0200 staging: rtl8192e: rtllib_tx: Make functions static Make as many functions as possible static in rtllib_tx.c. The following functions were affected: - rtllib_xmit_inter - rtllib_query_seqnum - rtllib_put_snap Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01b67faf5c5449f7dc628d48b71faab73ac67343 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:23 2015 +0200 staging: rtl8192e: Make rtl8192_QueryIsShort() static Relocate function within file to avoid unnecessary fw decl. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc5a1591dadc01597e0fb48d0f5c16203ec33a00 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:22 2015 +0200 staging: rtl8192e: r8192e_phy: Make functions static Make as many functions as possible static in r8192E_phy.c. The following functions were affected: - rtl8192_phyConfigBB - rtl8192_SwChnl_WorkItem - rtl8192_SetBWModeWorkItem Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 235a86c3ec8e5343dd153889ecc42a6fc66c09ce Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:21 2015 +0200 staging: rtl8192e: rtl_core: Make functions static Make as many functions as possible static in rtl_core.c. If needed - move fw declaration from header. The following functions were affected: - rtl8192_is_tx_queue_empty - rtl819x_watchdog_wqcallback - watch_dog_timer_callback - rtl8192_data_hard_stop - rtl8192_data_hard_resume - rtl8192_hard_data_xmit - rtl8192_hard_start_xmit - rtl8192_tx_cmd - rtl8192_tx - rtl8192_pci_initdescring - rtl8192_irq_tx_tasklet - rtl8192_irq_rx_tasklet - rtl8192_cancel_deferred_work - _rtl8192_up - rtl8192_up - rtl8192_down - rtl8192_restart - rtl8192_update_cap Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ebfc4180586ee138af643513e6f75ad61f4db74 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:20 2015 +0200 staging: rtl8192e: Make phy_RF8256_Config_ParaFile() static Relocate function in driver to avoid adding unnecessary fw decl. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0c84c1c1f0b6335184ab6ea0cdecfbf4abe173a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:19 2015 +0200 staging: rtl8192e: rtllib_HTProc: Make functions static Make as many functions as possible static in rtllib_HTProc.c. The following functions were affected: - HTMcsToDataRate - HTFilterMCSRate Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 735b78615ace8f2c3527baccce0ee2d3ed0fb145 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:18 2015 +0200 staging: rtl8192e: rtl_dm: Make functions static Make as many functions as possible static in rtllib_dm.c. The following functions were affected: - dm_check_fsync - dm_CheckRfCtrlGPIO - dm_fsync_timer_callback Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a82a2fe2c165a3d1deb251b19550e5e863e95be Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:17 2015 +0200 staging: rtl8192e: Remove rtl8192_rx_cmd() Function is empty. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84b2ce69f952ce84b0b7ce926d497327e38767b6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:16 2015 +0200 staging: rtl8192e: probe: Remove bdma64 check It is always false. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59eda5eecda9dc8566d9bc70a7e4dde0a5256aa0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:15 2015 +0200 staging: rtl8192e: Remove rtl819x_process_cck_rxpathsel() Function is empty. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d9d0e369859fe16fe2b7154c64fb65c32136b95 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:14 2015 +0200 staging: rtl8192e: Remove DMESG macro It is used in several places, but expands to nothing. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e16cb17d59c9aafe8cc3dfc912050b1c4dddca7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:13 2015 +0200 staging: rtl8192e: Remove read|write_nic_io_(d)word|byte() None of this functions was used. Also remove PlatformIOCheckPageLegalAndGetRegMask() used by them. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 632751b5290a70c094bdcabf5f9266f7f0a8fadd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:12 2015 +0200 staging: rtl8192e: Remove DOT11D_GetMaxTxPwrInDbm() Function is not used. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18e2daa85847a555c3fc9b8e2b2b90a60cab0830 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:11 2015 +0200 staging: rtl8192e: Remove unused rtllib_device::freq_band Member is never referenced. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b3fcf2bbf9374ade7f9dcac1c58c4af6fcc0694 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:10 2015 +0200 staging: rtl8192e: Remove unused ether_header structure Structure is not used in the driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e93c18c7236f3fb90e87c6239ed78ad2c2552dfd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:09 2015 +0200 staging: rtl8192e: Remove rtllib_stats structure Two remaining fields of rtllib_stats are only incremented, but never read. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1184b4ade8182945ae063e584081368387a3b725 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:08 2015 +0200 staging: rtl8192e: Remove unused fields from rtllib_stats None of them are used in the driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adc7623c86064d1578b406f9625ac25088ce05c1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:07 2015 +0200 staging: rtl8192e: Remove unused enums Remove ack_policy enum and some unused RTL_DEBUG enums. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e6f1c7145342ad0320b06ebd05d260c48275ae7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:06 2015 +0200 staging: rtl8192e: Remove undefs They relate to macros that are not used in the driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9efe891d01c3734ab05fdbd53dead3451fa03e29 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:05 2015 +0200 staging: rtl8192e: Remove unused defines Remove most of unused defines (excluding phyreg/hw registers). Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04ed5f3d4ea9981e31219fc2514b5505445dd92c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:04 2015 +0200 staging: rtl8192e: Remove ToLegalChannel() Function is not used. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46fd96251f66421b178b4ff7f0b26b2e4cb94092 Author: Rami Rosen <ramirose@xxxxxxxxx> Date: Wed Jul 1 17:37:10 2015 +0300 PCI: Remove a broken link in quirks.c Remove a broken link in drivers/pci/quirks.c. Signed-off-by: Rami Rosen <ramirose@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit aaed816fde8501ed86bb62c4d7f7b137969afc7e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Jul 14 16:41:19 2015 -0500 PCI: Remove useless redundant code Remove redundant code from __pci_bus_find_cap_start(). No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0a1a9b49427f13b6e12366eb8f06b8094ab61447 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 09:16:44 2015 +0800 PCI: Simplify pci_find_(ext_)capability() return value checks The return value of the pci_find_(ext_)capability() is either zero or the position of a capability. It is never negative. This patch consolidates the form of check from (pos <= 0) to (!pos). Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit fff905f32966109d513ae17afc6fe39f1c76bb67 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 09:16:41 2015 +0800 PCI: Move PCI_FIND_CAP_TTL to pci.h and use it in quirks Some quirks search for a HyperTransport capability and use a hard-coded TTL value of 48 to avoid an infinite loop. Move the definition of PCI_FIND_CAP_TTL to pci.h and use it instead of the hard-coded TTL values. [bhelgaas: changelog] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit bd1fb5388da0a37c053649ec4aa8e588ef39f958 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:34:28 2015 +0900 staging: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 861e82d5b5a42d2eda34f3123b46162eaae9af80 Author: Jacob Kiefer <jtk54@xxxxxxxxxxx> Date: Fri Jul 10 01:26:30 2015 -0400 staging: style fix for octeon/ethernet-tx.c Broke line with greater than 80 characters into two lines and improved logical operator readability in hardware checksum if statement. Signed-off-by: Jacob Kiefer <jtk54@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 364b91be262aaf0afc1726be391fbeb7f2b59c52 Author: Leung Timothy Chi King <contact@xxxxxxxxxxxxxxx> Date: Wed Jul 1 09:44:13 2015 -0700 Staging: rts5208: Fix checkpatch warning: else is not generally useful The following checkpatch warning was fixed: WARNING: else is not generally useful after a break or return Signed-off-by: Leung Timothy Chi King <contact@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fccffbfd9505116c0ab847742aafaa7da55d413 Author: Johannes Postma <jgmpostma@xxxxxxxxx> Date: Wed Jul 8 13:41:46 2015 +0100 Staging: ozwpan: ozusbsvc1.c: Fix missing blank line after declarations This patch fixes a missing line after declarations issue. Signed-off-by: Johannes Postma <jgmpostma@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4221844a627aaebf28732d6e891de2aa4db38aa0 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 10 18:52:21 2015 +0200 staging: rtl8188eu: fold rtl8188e_read_chip_version() into rtl8188e_SetHalODMVar() Both rtl8188e_read_chip_version() and ReadChipVersion8188E() are used only in one place. Make ReadChipVersion8188E() a void function and eliminate its wrapper - rtl8188e_read_chip_version(). Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a51d13037b1e5149bcbe65cc5a47af1d35affdaa Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 10 18:52:20 2015 +0200 staging: rtl8188eu: remove ROMVer from struct HAL_VERSION ROM version on RTL8188EU is always 0. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c71dd6c5609285b122a50ebc2d59ebafdac595f Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 10 18:52:19 2015 +0200 staging: rtl8188eu: remove RFtype from struct HAL_VERSION RFtype in struct HAL_VERSION duplicates rf_type in struct hal_data_8188e, and does not change. Remove it and the macros that test it. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e827aeedd0e14dcb67eb29afbaa875ab1a0f7b26 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 10 18:52:18 2015 +0200 staging: rtl8188eu: remove ICtype from struct HAL_VERSION IC type on RTL8188EU is always 8188E. Remove it and all the macros that check it. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3738408cc802025a1ecf4a059a0c8ab048cb7e72 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 10 18:52:17 2015 +0200 staging: rtl8188eu: remove RegulatorMode from struct hal_data_8188e This field is not used anywhere. Also, kill the rt_regulator_mode enum which exists just for this field. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 249472588cf0b5fa18063783dd1d4f4a62c8ddb3 Author: Sreenath Madasu <sreenath.madasu@xxxxxxxxx> Date: Wed Jul 8 18:43:00 2015 -0400 staging: rtl8188eu: core: Fixed 80 character length warning When the checkpatch.pl script was run, it showed lines with length more than 80 characters in rtw_ap.c file. Fixed line number 382 by breaking it up into two lines within 80 characters. Signed-off-by: Sreenath Madasu <Sreenath.Madasu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1d0bcedfb6da518422472fcbab03999fc312ab1 Author: Sunil Shahu <shshahu@xxxxxxxxx> Date: Tue Jul 7 14:55:44 2015 +0530 staging: rtl8188eu: core: rtw_mlme: remove space before ',' Fix coding style error by removing spaces before ',' as suggested by checkpatch.pl script. Signed-off-by: Sunil Shahu <shshahu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e7e78d8298bd487f7a0d2b0c62033b3841d03ca Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Mon Jun 29 12:57:35 2015 +0000 staging:rtl8188eu: Code cleanup fix reported by coccinelle bool check modified Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 027d3efd933d87ca3d9a28365cae795c14e7a563 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jun 26 07:50:34 2015 +0200 staging: rtl8188eu: don't duplicate ieee80211 WLAN_CAPABILITY_* constants linux/ieee80211.h already defines constants for capability bits. Include it where needed, resolve discrepancies in naming, and remove the duplicated definitions. Also, make use of WLAN_CAPABILITY_IS_STA_BSS() macro to check if neither ESS nor IBSS capability bits are set. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb90d44de7e6c7498a21e8de2935123395bbc31b Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 7 13:44:35 2015 +0530 staging: sm7xxfb: use kernel commandline We were only using the kernel commandline to set the mode if this driver is builtin, but when it is built as a module we were not having any way to set the mode. Start using commandline even if it is built as a module. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a012d30508ed09063e35eeee95e34ecc8534716 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 7 13:44:34 2015 +0530 staging: sm7xxfb: fix error handling We were checking smtc_regbaseaddress and that too at a place where it can never be NULL. Real check should be on sfb->lfb immediately after we do ioremap. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6cb68d51e7123a66c78ec4c48b2686509f290b6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 7 13:44:33 2015 +0530 staging: sm7xxfb: remove unused macros These macros were only defined but not used anywhere. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 304e08845126d949eacb2d95a5d15d4d022d555b Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Jun 25 14:56:13 2015 +0200 staging: speakup: fix indentation Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f920c1f1778193338925ee3665844e08b4a6997 Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 22:52:39 2015 +0800 staging: mt29f_spinand: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> To: devel@xxxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb44d9a507305ab05945d8a781a0a1255a3d9868 Author: Peter Huewe <peterhuewe@xxxxxx> Date: Tue Jul 14 00:44:09 2015 +0200 staging/xgifb: Move register helper functions to header and mark them as static inline. This shrinks the compiled module from 137442 to 117732 bytes and we also get rid of vb_util.c Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5a3a945fdf2584f3191e8cc958234057ef691da Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Thu Jul 9 06:05:09 2015 +0000 staging: xgifb: prefer using the BIT macro This patch uses the BIT macro for bit shift operation. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5eafbb0c529c5765fcfd57cb073982ad1cd06cc7 Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Tue Jun 30 02:18:56 2015 +0530 rtl8712:Fix checkpatch warning Fix line over 80 characters warning. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a732152c76ee194274299905c700125bef1fc0c8 Author: Sunil Shahu <shshahu@xxxxxxxxx> Date: Fri Jun 26 19:42:24 2015 +0530 staging: rtl8712: rtl871x_security.c: remove unnecessary variable initialization Variable "u32 c" always re-initialize in for loop. Initialized value of "u32 c" is not used in function and is redundant, hence removed. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Sunil Shahu <shshahu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8027b3332142268a1cf988fd62946a4afe49b986 Author: Sunil Shahu <shshahu@xxxxxxxxx> Date: Mon Jun 22 16:58:41 2015 +0530 drivers: staging: rtl8712: remove unnecessary else statement "else" statement after "if" is unnecessary, hence removed. Signed-off-by: Sunil Shahu <shshahu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4bf6b343073e32d5cf8fdb0f38192493fcad5c2 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Thu Jun 25 20:34:43 2015 +0300 staging: ft1000: convert pack pragma to __packed Convert a Microsoft compiler specific directive "#pragma pack(1)" to a GCC equivalent __packed. Also, by doing this we save ourselves from trouble if any other struct definitions are added after the #pragma because it will be applied to all of the definitions following it. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4216b30bdd56fb823c1d32b5e46687ae87601f6 Author: Peter Karlsson <peter@xxxxxxxx> Date: Sun Jun 21 13:29:51 2015 +0200 staging: ft1000-usb: shorten lines to under 80 characters Wrap function arguments to shorten lines to under 80 characters. Signed-off-by: Peter Karlsson <peter@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ccd8ebb0e17ddeb2d56cf644da089adc4aa3bc0 Author: Peter Karlsson <peter@xxxxxxxx> Date: Sun Jun 21 13:29:50 2015 +0200 staging: ft1000-usb: fixed table alignment Fixed alignment to 8 bytes per line. Signed-off-by: Peter Karlsson <peter@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ee8095bfe1d61ab4a59f5eff14d833ff90c0b38 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jun 26 09:54:00 2015 +0530 Staging: rtl8192u: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. Note that the 6 in the third argument of memset appears to represent an ethernet address size (ETH_ALEN). The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,6); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e60b6538342ec047ae2e49335f65b7f92585fab9 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sat Jun 20 11:06:48 2015 -0500 drivers: staging: rtl8192u: Fix "space required after that ','" errors Fix checkpatch.pl "space required after that ','" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edeafb979666e28cbd4699716a1e5533791ea916 Author: Joglekar Tejas <tjogleka@xxxxxxxxxxx> Date: Sat Jun 20 12:46:16 2015 +0000 staging:rtl8723au:odm.c:Removing trailing whitespaces This patch removes the trailing whitespace error given by checkpatch.pl Signed-off-by: Joglekar Tejas <tjogleka@xxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11208b0b3a9ddc462795bdb3aadfc0eda8ef2e4b Author: Nicholas Parkanyi <n.parkanyi@xxxxxxxxx> Date: Sun Jul 12 08:17:52 2015 -0400 Staging: vt6655: Remove do { } while (0) from single-statement macros in upc.h. This patch fixes checkpatch.pl warnings in upc.h regarding single-statement macros embedded within do { } while (0) blocks. Signed-off-by: Nicholas Parkanyi <n.parkanyi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 353710ce90b74d711d6d30f1219e0c9634c6fc82 Author: Nicholas Parkanyi <n.parkanyi@xxxxxxxxx> Date: Sun Jul 12 09:20:31 2015 -0400 Staging: vt6655: Replace C99 comments in rf.h and rf.c. This patch replaces C99 comments in rf.h and rf.c, with C89 comments, fixing the checkpatch.pl errors. Signed-off-by: Nicholas Parkanyi <n.parkanyi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eda01f6161e0f0d156f7fd24080d3a788ebbb911 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Jul 9 17:01:25 2015 +0100 staging: vt6655: Fix missing power saving support Add IEEE80211_HW_SUPPORTS_PS to ieee80211_hw flags enabling this feature. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e7921a09407743c52498c188adfa56156d60fc3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Jun 21 11:05:55 2015 +0100 staging: vt6655: Correct listen interval TBTT wake up PSbIsNextTBTTWakeUp is called at beacon intervals. The should listen to next beacon on count down of wake_up_count == 1. This restores this back to vendors code but modified for mac80211. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fdae0d9fee32c1cbffffb1a246fcc10ed5b1085 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Jun 21 11:05:54 2015 +0100 staging: vt6655: vnt_tx_packet don't wakeup from power saving. mac80211 changes the wake state before attempting to tx data Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9afa6c4980492f0305c57e6e8acb4161960df6f4 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 00:35:10 2015 +0000 ARM: multi_v7_defconfig: add Renesas DPCM Sound Card This patch enables Renesas DPCM related sound card. It is used for... - Sampline rate convert - CTU/MIXer Note: you need to enable these settings on DTS file Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fb00ff4c30a8cce32371e5d1abcbb33be1b6d506 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Jun 19 18:09:50 2015 +0200 ARM: dts: imx53-qsb: select open-drain mode for i2c1 pads Both imx53-qsb and imx53-qsrb don't have external pull-up resistors on the I2C1 SCL and SDA lines populated. Select open-drain mode and enable the internal pull-up for both. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 97dae8590fa314c41dfb629848c7cab494d8950d Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Thu Jun 18 13:58:44 2015 +0800 ARM: dts: imx6qdl-sabreauto: Add audio support Add ESAI, ASRC, CS42888 for imx6qdl-sabreauto board Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 2d4e4a62f4f25b2e3d02449d192914ac2a643f5c Author: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Date: Sun Jun 14 20:19:59 2015 -0400 ARM: dts: vf610: Extend I2C support to all available buses. This commit extends the existing Vybrid I2C support to cover buses i2c1, i2c2, and i2c3. Based in (very) large part on an initial patch by Stefan Agner that was just lacking a couple of DMA assignments. Signed-off-by: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 1906c21a1a07e12e34bdb2bf82462dfcd1a7a042 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Jun 2 17:41:33 2015 -0300 ARM: dts: imx6qdl-sabreauto: Add HDMI support Add HDMI support. As the DDC I2C pins are not connected due to pin conflicts, we do not pass the 'ddc-i2c-bus' property in this case. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 6e2a92b26d33a2ed6debad5d8c93fe7d0905b807 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sun Jun 7 20:41:07 2015 -0300 ARM: dts: imx6sl-warp: Add the SD2_RESET pin imx6sl-warp has SD2_RESET pin connected to the eMMC reset line, so add this pin to the usdhc2 group. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 3ee12d8079a5996f3c85e0890d76c0fcb1749bab Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Jun 29 20:08:56 2015 +0800 ARM: dts: ventana: add UHS-I support for Ventana boards UHS-I support is available on Ventana boards with micro-SD sockets depending on the board revision. To support this pinctl states for 100Mhz and 200MHz must be added as well as pinmux of the VSELECT signal. In order to support UHS-I the I/O rail of the 4-bit data bus must be switchable between 1.8V and 3.3V. By adding the no-1-8-v property, which disables UHS-I support, we allow the bootloader to be in charge of selecting which boards have this capability by removing that property if the board model/revision implement the support. Additionally we will remove NANDF_CS1 here from the nand pinmux group as the second chip-select is not used on any ventana boards and this is the pad that is used for SD3_VELECT. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 366c595f1381b89c52153f753a6499c349410a02 Author: Peter Seiderer <ps.report@xxxxxxx> Date: Tue Jun 2 21:07:17 2015 +0200 ARM: dts: sabrelite: add CAN support Signed-off-by: Peter Seiderer <ps.report@xxxxxxx> Tested-by: Eric Nelson <eric.nelson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 3e22339487c914d38e08215cae3d1d219af99aff Author: Peter Seiderer <ps.report@xxxxxxx> Date: Tue Jun 2 21:07:16 2015 +0200 ARM: dts: nitrogen6x: add CAN support Regulator stuff copied from imx6qdl-tx6.dtsi, pin configuration taken from Boundary Devices linux kernel tree ([1] and [2]). [1] https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.2_ga/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi [2] https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.2_ga/arch/arm/boot/dts/imx6qdl.dtsi Signed-off-by: Peter Seiderer <ps.report@xxxxxxx> Tested-by: Eric Nelson <eric.nelson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 93db055d418386174347ca52ea4728c6ae2e00aa Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed May 27 00:26:02 2015 +0800 ARM: dts: imx6sx: enable snvs power key enable snvs ONOFF power key support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 943304b3fb54adc5f2ec85d1679c7b2b8d908346 Author: Arjun Krishna Babu <arjunkrishnababu96@xxxxxxxxx> Date: Sat Jun 20 12:46:50 2015 +0800 staging: vt6656: Fixed two lines over 80 characters long The presence of comments originally caused the two lines to be over 80 characters long. The issue is fixed by moving the comments into a separate line. Signed-off-by: Arjun Krishna Babu <arjunkrishnababu96@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f5f9bc9a8a84e447bd0e93c071e34cfa9db815a Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri May 29 03:40:57 2015 +0800 ARM: dts: imx7d: add watch dog support Enable watchdog support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit a1560f9bec8b9275a751bd39a1db791d2c73d6e5 Author: Henri Chain <henri.chain@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 14:59:39 2015 +0200 Staging: fbtft: Add support for the Ultrachip UC1611 LCD controller This is a driver chip for 240x160 4-bit greyscale LCDs. It is capable of 4-wire (8 bit) or 3-wire (9 bit) SPI that have both been tested. (It also has a 6800 or 8080-style parallel interface, but I have not included support for it.) Signed-off-by: Henri Chain <henri.chain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc28791d5ece61eaa78e7b9bbc3ac1d14f664683 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed May 27 00:26:01 2015 +0800 Document: devicetree: input: imx: i.mx snvs power device tree bindings The snvs-pwrkey is designed to enable POWER key function which controlled by SNVS ONOFF. the driver can report the status of POWER key and wakeup system if pressed after system suspend. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Robin Gong <b38343@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit d3dc6e2322155087c19a1d6a71818be534de0602 Author: Robin Gong <b38343@xxxxxxxxxxxxx> Date: Wed May 27 00:26:00 2015 +0800 input: keyboard: imx: add snvs power key driver add snvs power key driver. It work in imx chips after i.mx6sx ON/OFF key used power on/off whole system. This driver make it wakeup from suspend state when short press ON/OFF key. Long time press will trig SNVS power off chip without software intervention. Signed-off-by: Robin Gong <b38343@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 4fcb7dfd827d7d12ffc612fbc67769e002a482e4 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed May 27 00:25:58 2015 +0800 Document: dt: fsl: snvs: change support syscon snvs actually is multi fucntion driver. Change to use syscon to access register. Change snvs parent interrupt to option because single function may have seperated irq number. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit dc4b2068934d6562048393d4531b9983df41b14e Author: Noralf Trønnes <noralf@xxxxxxxxxxx> Date: Sat Jul 11 18:57:04 2015 +0200 staging: fbtft: Add reset to fbtft_init_display_dt() When an init sequence is present in the Device Tree, fbtft_init_display_dt() is used to initialize the display. Add missing reset function call and activation of chip select for parallel bus. Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1bf5205b2f013134ac55b02b3384502f21daa5e Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Jun 30 08:43:17 2015 +0200 Staging: fbtft: Fix spacing coding style issue This patch fixes the following checkpatch.pl error: CHECK:SPACING at line 318. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4906c43a342f864ca93f85aecab0d2f5d6689668 Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Jun 30 08:43:16 2015 +0200 Staging: fbtft: Fix parenthesis alignment coding style issue This patch fixes the following checkpatch.pl error: CHECK:PARENTHESIS_ALIGNMENT at line 217. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df127f13c2342eef93298874713947adce8168ad Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Jun 30 08:43:09 2015 +0200 Staging: fbtft: Remove unnecessary multiple blank lines This patch removes some unnecessary multiple blank lines to fix the following checkpatch errors: CHECK:LINE_SPACING at lines 29, 67, 131, 287, 299, 312, 326, 351 and 364. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0a2db08e31071946c421a0ba0bb99e8273d2808 Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Jun 30 08:43:08 2015 +0200 Staging: fbtft: Remove paragraph about writing to FSF Remove paragraph about writing to the Free Software Foundation's mailing address from GPL notice. This patch fixes the following checkpatch error: CHECK:FSF_MAILING_ADDRESS at line 17. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d482893b1caa5345b066c9721bab6636059e2a61 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed May 27 00:25:57 2015 +0800 rtc: snvs: use syscon to access register snvs included rtc, on/off key, power-off module change to syscon to access register Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 24ac1074c1dad1bdc455f8f6df5c5316fae53eb7 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Tue Jul 14 14:43:30 2015 -0400 staging: unisys: fix random hangs with network stress in visornic We learned that it was possible for the core networking code to call visornic_xmit() within ISR context, resulting in the need for us to use spin_lock_irqsave() / spin_lock_irqrestore() to lock accesses to our virtual device channels. Without the correct locking added in this patch, random hangs would occur on typical kernels while stressing the netork. When using a kernel with CONFIG_DEBUG_SPINLOCK=y, a stackdump would occur at the time of the hang reporting: BUG: spinlock recursion on CPU#0, vnic_incoming/<pid> (see below for more details) We considered the possibility of adding a protocol between a visordriver and visorbus where the visordriver could specify which type of locking it required for its virtual device channels (essentially indicating whether or not it was possible for the channel to be accessed in ISR context), but decided this extra complexity was NOT needed, and that channel queues should always be accessed with the most-stringent locking. So that is what is implemented in this commit. Below is an example stackdump illustrating the spinlock recursion that is fixed by this commit. Note that we are first in virtnic_rx() writing to the device channel when an APIC timer interrupt occurs. Within the core networking code, net_rx_action() calls process_backlog(), which eventually lands up back up in virtnic_xmit() in the code attempting to also write to the device channel. BUG: spinlock recursion on CPU#0, vnic_incoming/262 lock: 0xffff88002db810c0, .magic: dead4ead, .owner: vnic_incoming/262, .owner_cpu: 0 CPU: 0 PID: 262 Comm: vnic_incoming Tainted: G C 4.2.0-rc1-ARCH+ #56 Hardware name: Dell Inc. PowerEdge T110/ , BIOS 1.23 12/15/2009 ffff8800216ac200 ffff88002c803388 ffffffff81476364 0000000000000106 ffff88002db810c0 ffff88002c8033a8 ffffffff8109e2bc ffff88002db810c0 ffffffff817631d4 ffff88002c8033c8 ffffffff8109e330 ffff88002db810c0 Call Trace: <IRQ> [<ffffffff81476364>] dump_stack+0x4f/0x73 [<ffffffff8109e2bc>] spin_dump+0x7c/0xc0 [<ffffffff8109e330>] spin_bug+0x30/0x40 [<ffffffff8109e547>] do_raw_spin_lock+0x127/0x140 [<ffffffff8147bad0>] _raw_spin_lock+0x40/0x50 [<ffffffffa0151fa6>] ? visorchannel_signalinsert+0x46/0x70 [visorbus] [<ffffffffa0151fa6>] visorchannel_signalinsert+0x46/0x70 [visorbus] [<ffffffffa01683a2>] visornic_xmit+0x302/0x5d0 [visornic] [<ffffffff813b2f30>] dev_hard_start_xmit+0x2e0/0x510 [<ffffffff813b2b75>] ? validate_xmit_skb+0x235/0x310 [<ffffffff813d79e7>] sch_direct_xmit+0xf7/0x1d0 [<ffffffff813b34d3>] __dev_queue_xmit+0x203/0x640 [<ffffffff813b3320>] ? __dev_queue_xmit+0x50/0x640 [<ffffffff813f3f6f>] ? ip_finish_output+0x1df/0x310 [<ffffffff813b3933>] dev_queue_xmit_sk+0x13/0x20 [<ffffffff813f3a5c>] ip_finish_output2+0x22c/0x470 [<ffffffff813f3f6f>] ? ip_finish_output+0x1df/0x310 [<ffffffff810987e0>] ? __lock_is_held+0x50/0x70 [<ffffffff813f3f6f>] ip_finish_output+0x1df/0x310 [<ffffffff813f4c31>] ip_output+0xb1/0x100 [<ffffffff813f41be>] ip_local_out_sk+0x3e/0x80 [<ffffffff813f4388>] ip_queue_xmit+0x188/0x4a0 [<ffffffff813f4200>] ? ip_local_out_sk+0x80/0x80 [<ffffffff8139fcd6>] ? __alloc_skb+0x86/0x1e0 [<ffffffff8140bd5b>] tcp_transmit_skb+0x4cb/0x9c0 [<ffffffff8139f0dc>] ? __kmalloc_reserve+0x3c/0x90 [<ffffffff8139fcea>] ? __alloc_skb+0x9a/0x1e0 [<ffffffff8140c47d>] tcp_send_ack+0x10d/0x150 [<ffffffff814060ee>] __tcp_ack_snd_check+0x5e/0x90 [<ffffffff81408eb4>] tcp_rcv_established+0x354/0x710 [<ffffffff81412182>] tcp_v4_do_rcv+0x162/0x3f0 [<ffffffff81414412>] tcp_v4_rcv+0xb22/0xb50 [<ffffffff813ee2bc>] ? ip_local_deliver_finish+0x4c/0x2d0 [<ffffffff813ee350>] ip_local_deliver_finish+0xe0/0x2d0 [<ffffffff813ee2bc>] ? ip_local_deliver_finish+0x4c/0x2d0 [<ffffffff813ee72e>] ip_local_deliver+0xae/0xc0 [<ffffffff813edeaf>] ip_rcv_finish+0x14f/0x510 [<ffffffff813aab2d>] ? __netif_receive_skb_core+0x9d/0xb70 [<ffffffff813eea13>] ip_rcv+0x2d3/0x3b0 [<ffffffff81097110>] ? cpuacct_css_alloc+0xb0/0xb0 [<ffffffff813ab0f3>] __netif_receive_skb_core+0x663/0xb70 [<ffffffff813aab2d>] ? __netif_receive_skb_core+0x9d/0xb70 [<ffffffff810971a9>] ? cpuacct_charge+0x99/0xb0 [<ffffffff81097110>] ? cpuacct_css_alloc+0xb0/0xb0 [<ffffffff810987e0>] ? __lock_is_held+0x50/0x70 [<ffffffff813ab72c>] ? process_backlog+0xbc/0x150 [<ffffffff813ab78b>] ? process_backlog+0x11b/0x150 [<ffffffff813ab627>] __netif_receive_skb+0x27/0x70 [<ffffffff813ab702>] process_backlog+0x92/0x150 [<ffffffff813afffd>] net_rx_action+0x13d/0x350 [<ffffffff81036b2d>] ? lapic_next_event+0x1d/0x30 [<ffffffff81058694>] __do_softirq+0x104/0x320 [<ffffffff810c0788>] ? hrtimer_interrupt+0xc8/0x1a0 [<ffffffff81074e70>] ? blocking_notifier_chain_cond_register+0x70/0x70 [<ffffffff81058ab9>] irq_exit+0x79/0xa0 [<ffffffff8147ecca>] smp_apic_timer_interrupt+0x4a/0x60 [<ffffffff8147d2c8>] apic_timer_interrupt+0x68/0x70 <EOI> [<ffffffff81271c02>] ? __memcpy+0x12/0x20 [<ffffffffa01517da>] ? visorchannel_write+0x4a/0x80 [visorbus] [<ffffffffa0151eb8>] signalinsert_inner+0x88/0x130 [visorbus] [<ffffffffa0151fb5>] visorchannel_signalinsert+0x55/0x70 [visorbus] [<ffffffffa0166e57>] visornic_rx+0x12e7/0x19d0 [visornic] [<ffffffffa01677c9>] process_incoming_rsps+0x289/0x690 [visornic] [<ffffffff814771c5>] ? preempt_schedule+0x25/0x30 [<ffffffff81001026>] ? ___preempt_schedule+0x12/0x14 [<ffffffff81093080>] ? wait_woken+0x90/0x90 [<ffffffffa0167540>] ? visornic_rx+0x19d0/0x19d0 [visornic] [<ffffffffa0167540>] ? visornic_rx+0x19d0/0x19d0 [visornic] [<ffffffff81073a39>] kthread+0xe9/0x110 [<ffffffff81073950>] ? __init_kthread_worker+0x70/0x70 [<ffffffff8147c89f>] ret_from_fork+0x3f/0x70 [<ffffffff81073950>] ? __init_kthread_worker+0x70/0x70 Fixes: b12fdf7da ('staging: unisys: rework signal remove/insert to avoid sparse lock warnings') Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3ef1a8e93912396f3bd46d579c9241c399de530 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Tue Jul 14 14:43:29 2015 -0400 staging: unisys: Lock visorchannels associated with devices A visorchannel associated with a device should have its writing to the channel protected by a lock. Fixes: b32c4997c ('staging: unisys: Move channel creation up the stack') Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: David Kershner <david.kershner@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 216c3e2c135e69dc8cc93ca9bd2c03300910f44f Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Mon Jul 13 20:52:26 2015 +0200 staging: unisys: Reduce indent Remove some extra tabs in order to improve readalibility. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0aa5ae1e2eed3f57ff1dfd7cd057aaff5d9c1d9f Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Mon Jul 13 20:51:32 2015 +0200 staging: unisys: Use kzalloc instead of kmalloc/memset This patch turns a kmalloc/memset into an equivalent kzalloc. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d253058f490febdfdbe0a0f09a25166c71afd2b3 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Mon Jul 13 14:51:24 2015 -0400 staging: unisys: fix random memory corruption in visorchannel_write() visorchannel_write() and it's user visorbus_write_channel() are exported, so all visorbus function drivers (i.e., drivers that call visorbus_register_visor_driver()) are potentially affected by the bug. Because of pointer-arithmetic rules, the address being written to in the affected code was actually at byte offset: sizeof(struct channel_header) * offset instead of just <offset> bytes as intended. The bug could cause some very difficult-to-diagnose symptoms. The particular problem that led me on this chase was a kernel fault that would occur during 'insmod visornic' after a previous 'rmmod visornic', where we would fault during netdev_register_kobject() within pm_runtime_set_memalloc_noio() while traversing a device list, which occurred because dev->parent for the visorbus device had become corrupted. Fixes: 0abb60c1c ('staging: unisys: visorchannel_write(): Handle...') Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd012d0def470d6c2e1a441421d00404240e7fec Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Mon Jul 13 14:51:23 2015 -0400 staging: unisys: correctly NULL-terminate visorbus sysfs attribute array I'm not sure what adverse runtime effects the previously-omitted NULL-termination would cause, but the code was definitely wrong. Fixes: 795731627c ('staging: unisys: Clean up device sysfs attributes') Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2164be191e3d627dd7744b7224daf9ad9495c9af Author: Ken Cox <jkc@xxxxxxxxxx> Date: Thu Jul 9 13:28:56 2015 -0400 staging: unisys: Fix broken build when ARCH=um When building with ARCH=um you get the following error: arch/x86/include/asm/cpufeature.h:252:42: error: 'REQUIRED_MASK0' undeclared The Unisys drivers should not be compiled for UML, so this patch addresses that by adding a dependency to kconfig for !UML. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Tested-by: Ken Cox <jkc@xxxxxxxxxx> Signed-off-by: Ken Cox <jkc@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fc07f99134ba0b8d4099322ea0753137ea7ed3b Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Thu Jul 9 13:27:53 2015 -0400 staging: unisys: Allow visorbus to autoload We inadvertently remove the MODULE_DEVICE_TABLE line for visorbus, this patch adds it back in. Signed-off-by: David Kershner <david.kershner@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Fixes: d5b3f1dccee4 ('staging: unisys: move timskmod.h functionality') Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d0119d8e81f93cf3c1bc2b6e7a39e28620cda1a Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:52 2015 -0400 staging: unisys: visornic: prevent erroneous kfree of devdata pointer A struct visornic_devdata for each visornic device is actually allocated as part of alloc_etherdev(), here in visornic_probe(): netdev = alloc_etherdev(sizeof(struct visornic_devdata)); But code in devdata_release() was treating devdata as a pointer that needed to be kfree()d! This was causing all sorts of weird behavior after doing an rmmod of visornic, both because free_netdev() was actually freeing the memory used for devdata, and because devdata wasn't pointing to dynamically-allocated memory in the first place. The kfree(devdata) and the kref that tracked devdata's usage have been appropriately deleted. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 051e9fbbba1594331a9b3b2b157b5a0ce54b9a43 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:51 2015 -0400 staging: unisys: visornic: use preferred interface for setting netdev's parent Just switch this line so it uses the correct function call. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a2e3e3d0992ced8eeb4cfbf228f617ad08afbf1 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:50 2015 -0400 staging: unisys: visornic: delay start of worker thread until netdev created This only makes sense, since the worker thread depends upon the netdev existing. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3798ff31d1fb1ee33de619ffc81a6a56c3ccb973 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:49 2015 -0400 staging: unisys: visornic: don't destroy global workqueues until devs destroyed visornic_cleanup() was previously incorrectly destroying its global workqueues prior to cleaning up the devices which used them. This patch corrects the order of these operations. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46df82267eb26f4f6859e1564dbc9580f57dc542 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:48 2015 -0400 staging: unisys: visornic: correctly clean up device on removal visornic_remove() is called to logically detach the visornic driver from a visorbus-supplied device, which can happen either just prior to a visorbus-supplied device disappearing, or as a result of an rmmod of visornic. Prior to this patch, logic was missing to properly clean up for this removal, which was fixed via the following changes: * A going_away flag is now used to interlock between device destruction and workqueue operations, protected by priv_lock. I.e., setting going_away=true under lock guarantees that no new work items can get queued to the work queues. going_away=true also short-circuits other operations to enable device destruction to proceed. * Missing clean-up operations for the workqueues, netdev, debugfs entries, and the worker thread were added. * Memory referenced from the visornic private devdata struct is now freed as part of devdata destruction. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa15d6d3466390faae884dca45c7c21255c30f3c Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:47 2015 -0400 staging: unisys: visornic: correct obvious double-allocation of workqueues Looks like an errant patch fitting caused us to redundantly allocate the workqueues at both the beginning and end of visornic_init(). This was corrected by removing the allocations at the beginning. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Fixes: 68905a14e49c ('staging: unisys: Add s-Par visornic ethernet driver') Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00748b0c69becb3fc4e520a3f9047b46d3bffe2c Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:46 2015 -0400 staging: unisys: add error messages to visornic Add error message to genuine rare error paths, and debug messages to enable relatively non-verbose tracing of code paths You can enable debug messages by including this on the kernel command line: visornic.dyndbg=+p or by this from the command line: echo "module visornic +p" > <debugfs>/dynamic_debug/control Refer to Documentation/dynamic-debug-howto.txt for more details. In addition to the new debug and error messages, a message like the following will be logged every time a visornic device is probed, which will enable you to map back-and-forth between visorbus device names (e.g., "vbus2:dev0") and netdev names (e.g., "eth0"): visornic vbus2:dev0: visornic_probe success netdev=eth0 With this patch and visornic debugging enabled, you should expect to see messages like the following in the most-common scenarios: * driver loaded: visornic_init * device probed: visornic vbus2:dev0: visornic_probe visor_thread_start visor_thread_start success * network interface configured (ifconfig): net eth0: visornic_open net eth0: visornic_enable_with_timeout net eth0: visornic_enable_with_timeout success net eth0: visornic_open success Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46dfa3d83464c7ee694ff32761645c3e27fcfc48 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:45 2015 -0400 staging: unisys: neglect to NULL rcvbuf pointer Neglect to NULL rcvbuf pointer array could result in faults later This problem would exhibit itself as a fault when when attempting to stop any visornic device (i.e., in visornic_disable_with_timeout() or visornic_serverdown_complete()) that had never been started (i.e., for which init_rcv_bufs() had never been called). Because the array of rcvbuf was never cleared to NULLs, we would mistakenly attempt to call kfree_skb() on garbage memory. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5deeea3379b2fc34d07cfb909b2905e9e1116615 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:44 2015 -0400 staging: unisys: prevent faults in visornic_pause Prevent faults in visornic_pause, visornic_resume(), and visornic_remove() Prior to this patch, any call to visornic_pause(), visornic_resume(), or visornic_remove() would fault, due to dev_set_drvdata() never having been called to stash our struct visornic_devdata * into the device's drvdata. I.e., all calls to dev_get_drvdata() were returning NULL, meaning a fault was soon to follow. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d01da5eac098c4676dd5d296b5be5b0f988fc3c8 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:43 2015 -0400 staging: unisys: visornic: correct visornic_pause Correct visornic_pause() to indicate completion asynchronously rather than in-line Previously, visornic_pause() (called to stop the device due to IOVM service partition recovery) was calling the passed complete_func() in-line, rather than delaying the calling until after the device had actually been stopped. The behavior has been corrected so that the calling of the complete_func() is now delayed until after the stopping of the device has been completed in visornic_serverdown_complete(), which runs asynchronously via the workqueue visornic_serverdown_workqueue. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d15a65be5542ab0c4792a54cf90419fbaf741791 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:42 2015 -0400 staging: unisys: prevent faults processing messages Prevent faults processing messages for devices that no driver has yet registered to handle. Previously, code of the form: drv = to_visor_driver(dev->device.driver); if (!drv) goto away; was not having the desired intent, because to_visor_driver() was essentially returning garbage if its argument was NULL. The only existing case of this is in initiate_chipset_device_pause_resume(), which is called during IOVM service partition recovery. We were thus faulting when IOVM service partition recovery was initiated on a bus that had at least one device for which no function driver had registered (visorbus_register_visor_driver). Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit addce19f58c52a03314e2d8a1e30708dabf9bf30 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:41 2015 -0400 staging: unisys: respond to msgs post device_create Fix problem that prevents us from responding to any device message after device_create. By neglecting to NULL out pending_msg_hdr after the device_create response, we were effectively preventing any subsequent messages to the device from working, because device_epilog() will correctly bail out early if it sees that pending_msg_hdr is still set non-NULL, as that is an indicator to mean that an unanswered message is still outstanding. This problem was discovered as part of testing IOVM service partition recovery, because device_epilog() was in fact bailing out when it was called from my_device_changestate(), which of course prevented us from transitioning the device to the paused state. However, the incorrect behavior would occur for ANY subsequent command directed at the device, not just for changestate. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a43abee7de3967b7a211ae17563e2e2db40c4f5d Author: Anders Fridlund <anders.fridlund@xxxxxxxxx> Date: Thu Jul 9 14:45:22 2015 +0200 Staging: sm750fb: ddk750_dvi.h: Fix brace coding style issue This is a patch to the ddk750_dvi.h file that fixes up a brace error found by the checkpatch.pl tool Signed-off-by: Anders Fridlund <anders.fridlund@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df525686865a79a44b39f7032cf94e625e894865 Author: Vinay Simha BN <simhavcs@xxxxxxxxx> Date: Tue Jul 14 19:15:28 2015 +0530 staging: sm750fb: coding style global ERROR fixes kernel coding style fixes for below messages from scripts/checkpatch.pl ERROR: do not initialise globals to 0 or NULL Signed-off-by: Vinay Simha BN <simhavcs@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5fca4035a59eb4b120b2ffd645f12508dfb2ed6 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:44:04 2015 +0300 staging: sm750fb: add required spaces around C operators Add spaces according to checkpatch.pl messages: "ERROR: spaces required around that '=' (ctx:VxV)" "ERROR: need consistent spacing around '-' (ctx:WxV)" "ERROR: spaces required around that '?' (ctx:VxE)" "ERROR: need consistent spacing around '&' (ctx:VxW)" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14a974c567aa30070f87ec6652c1727a0e03f11a Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:44:03 2015 +0300 staging: sm750fb: fix open brace in function declaration Fix according to checkpatch.pl message: "ERROR: open brace '{' following function declarations go on the next line" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a52ae2dd8c24a3ab53bb68ea2b5f94c11e3f5a8 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:44:02 2015 +0300 staging: sm750fb: remove assignment from if condition Remove assignment from if condition according to checkpatch.pl message: "ERROR: do not use assignment in if condition" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 990e56663bc6012512fd32fc5e92c54bd58ed688 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:44:01 2015 +0300 staging: sm750fb: fix 'switch and case' indentation Fix according to checkpatch.pl message: "ERROR: switch and case should be at the same indent" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e83e2832b86e76a273e197aae580b81541af352 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:44:00 2015 +0300 staging: sm750fb: fix indentation in 'else' statements Fix indentation according to checkpatch.pl message: "ERROR: space required after that close brace '}'" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bcdffee2d9b9fddb617431bbd9231576eb4054b Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:59 2015 +0300 staging: sm750fb: put open brace on the previous line Fix open braces according to checkpatch.pl message: "ERROR: that open brace { should be on the previous line" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e188ea325d2419164691d6347b4ff7a4128f64b6 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:58 2015 +0300 staging: sm750fb: fix indentation of pointer operator Fix indentation of pointer operator '*' according to checkpatch.pl message: "ERROR: 'foo* bar' should be 'foo *bar' " Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d1b3d64cdc5f22452784ade42ebbc2382a7010e Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:57 2015 +0300 staging: sm750fb: insert space before open parenthesis Insert spaces before '(' according to checkpatch.pl message: "ERROR: space required before the open parenthesis" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0ded448d0b70e76a8d1111ae33ffeb68524fd91 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:56 2015 +0300 staging: sm750fb: insert space between ')' and '{' Insert spaces according to checkpatch.pl message: "ERROR: space required before the open brace '{'" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29d87336d4fea45d53a14d33f2fc5d174a4bfd59 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:55 2015 +0300 staging: sm750fb: remove trailing whitespaces Remove trailing whitespaces according to checkpatch.pl error message: "ERROR: trailing whitespace" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 202add2a04f6371ee493ff325ae466578c3bb2c5 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:54 2015 +0300 staging: sm750fb: replace spaces with tabs Replace spaces with tabs according to checkpatch.pl error message: "ERROR: code indent should use tabs where possible" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7211f6f72f6a7d0c0aaefe03f8c404f5e4704bec Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Wed Jun 24 16:51:21 2015 +0000 staging: sm750fb: remove redundant __func__ in debug statement This patch removes the redundant __func__ from dynamic debug prints as the pr_xxx set of functions can be dynamically controlled to include function name.Also fix a typo in debug statement. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76945bf9ff8a2433f1efb777ec64475c1eec08ab Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Apr 27 14:57:22 2015 -0400 i40e/i40evf: Bump version to 1.3.6 for i40e and 1.3.2 for i40evf Bump. Change-ID: I84573d9fa51effc5b29bf5b8c74e3cc8b2673f48 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b2a75c5819ec910f430a2ff12fec6cce202899a0 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Mon Apr 27 14:57:20 2015 -0400 i40e: Refine an error message to avoid confusion Change a warning message to indicate what may have really happened when the init_shared_code call fails. Change-ID: I616ace40fed120d0dec86dfc91ab2d7cde466904 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3bbf0faa90cb8d541d8b2ce01610dcec6828bd00 Author: Faisal Latif <faisal.latif@xxxxxxxxx> Date: Mon Apr 27 14:57:19 2015 -0400 i40e/i40evf: Add support for pre-allocated pages for PD The i40e_add_pd_table_entry() routine is being modified to handle both cases where a backing page is passed and where backing page is allocated in i40e_add_pd_table_entry(). For PBLE resource management, it is more efficient for it to manage its backing pages. For VF, PBLE backing page addresses will be send to PF driver for PBLE resource. The i40e_remove_pd_bp() is also modified to not free pre-allocated pages and free only ones which were allocated in i40e_add_pd_table_entry(). Change-ID: Ie673f0403f22979e9406f5a94048dceb91bcf9a8 Signed-off-by: Faisal Latif <faisal.latif@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 44151cd32deb1074530f3beba51d535fa0887d9a Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:17 2015 -0400 i40evf: add MAC address filter in open, not init During close, all of the MAC filters are cleared, so the driver would be unable to receive unicast packets after being closed and reopened. Add the adapter's "hardware" MAC address filter in open, not init. This ensures that the correct filter is present each time. Change-ID: I51a11e9c1200139dab6f66a5353bd38c7d26f875 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 68ef169204e3a88ea4823645038d5496f66200f6 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:16 2015 -0400 i40evf: don't delete all the filters Due to an inverted conditional, the driver was marking all of its MAC filters for deletion every time set_rx_mode was called. Depending upon the timing of the calls to set_rx_mode and the processing of the admin queue, the driver would (accidentally) end up with a varying number of functional filters. Correct this logic so that MAC filters are added and removed correctly. Add a check for the driver's "hardware" MAC address so that this filter doesn't get removed incorrectly. Change-ID: Ib3e7c4a5b53df6835f164fe44cb778cb71f8aff8 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5b8f8505d37c63d492391e5fafcd43332671b36b Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:15 2015 -0400 i40e: un-disable VF after reset When a VF is disabled, there is no way for it to recover until either the PF driver is reloaded or SR-IOV is disabled and enabled. To correct this, enable the VF after a successful reset. Change-ID: I9e0788476c4d53d5407961b503febdfff2b8a7c6 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 54f455eeb56c0ab92db87bed6bd767d206d9e743 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:14 2015 -0400 i40e: do a proper reset when disabling a VF The VF disable code was just whanging on the reset bit without properly cleaning up the VF, which would leave the VF in an indeterminate state from which it could not recover. Fix this by notifying the VF and then by calling the normal VF reset routine. Change-ID: I862b9dfa919368773cbdc212b805b520db2f7430 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e995163cdcf9b70c7840a8d6a7ea7c0ce81c761b Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:13 2015 -0400 i40e: correctly program filters for VFs MAC filters for VFs were being programmed with 0 for the VLAN value when there was no VLAN assigned. This is incorrect and actually assigns the VF to VLAN 0. Instead, we must use -1 to indicate that no VLAN is in use. This change programs the filters correctly and gets rid of a bogus error message when setting a port VLAN on an active VF. Change-ID: Ica9a9906d768405377ff3308e27f7d0b5b2ea96e Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit cb2f65bc0c64015e8fa45fe1065ad241bf31a994 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Mon Apr 27 14:57:12 2015 -0400 i40e/i40evf: Update the admin queue command header Make the necessary updates to i40e_adminq_cmd.h. Change-ID: Ib031c86cc6cab78e5aa44c64d8ce5474be8d7e42 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9df70b66418e284dc1e7f272ac445c1d1e990b97 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Apr 27 14:57:11 2015 -0400 i40e: Remove incorrect #ifdef's This patch removes some #ifdef's that should not be there. They were stopping code that is needed from being compiled in. With these #ifdef's removed, changes are needed in the driver to fix some compile errors: adding missing parameters to the definition of ndo_bridge_setlink and a ndo_dflt_brige_getlink call. Change-ID: I5516614e1bc50b6bca0647cef971bc96161ba2de Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 85927ec1b369c880407aa82eba70d49c04c35062 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:10 2015 -0400 i40e: ignore duplicate port VLAN requests If user attempts to set a port VLAN on a VF that already has the same port VLAN configured, the driver will go through a completely unnecessary flurry of filter removals and filter adds. Just check for this condition and return success instead of doing a bunch of busywork. Change-ID: Ia1a9e83e6ed48b3f4658bc20dfc6af0cf525d54a Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 973371da4d66b96736143bd3f2b2ff2331faae8f Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:09 2015 -0400 i40evf: Allow for an abundance of vectors The driver currently only maps TX and RX queues to a single MSI-X vector per queue pair if there are exactly enough vectors for this. Unfortunately, if we have too many vectors it will fail and allocate queues to vectors in a suboptimal manner. Change the condition check to allow for excess vectors. In this case, the extras just won't be used. Change-ID: I23e1e2955c64739c86612db88a25583e6a7e0b17 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 489ce7a46306052ab4ef26c6305051c5f1b24bb4 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Apr 27 14:57:08 2015 -0400 i40e/i40evf: improve Tx performance with a small tweak Add a prefetch for the next Tx descriptor to be used when we know there are more coming. Change-ID: Ibb9acab11d508eec2db7da795df74debc16eeacb Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c78b953e0f189824f5eaa2d60123cfd12ea6db0d Author: Pawel Orlowski <pawel.orlowski@xxxxxxxxx> Date: Wed Apr 22 19:34:06 2015 -0400 i40e/i40evf: Update Flex-10 related device/function capabilities The Flex10 device/function capability has been upgraded to include information needed to support Flex-10 configurations. This patch adds new fields to the i40e_hw_capabilities structure and updates i40e_parse_discover_capabilities functions to extract them from the AQ response. Naming convention has changed to use flex10 mode instead of existing mfp_mode_1. Change-ID: I305dd888866985a30293acb3fb14fa43ca6b79ea Signed-off-by: Pawel Orlowski <pawel.orlowski@xxxxxxxxx> Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d0389e51fc9b3c74e7935ded5d22eab4ea004589 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Wed Apr 22 19:34:05 2015 -0400 i40e/i40evf: Add stats to track FD ATR and SB dynamic enable state Since the driver can dynamically enable/disable FD ATR and SB features, these stats help keep track of the current state and along with fd_flush count provide a means to debug what could be going on with the flow director filters. This will take away the need for being verbose in our debug logs with respect to FD. Change-ID: I29224f750fe6602391043655d18996570720377d Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f44a75e27d5eb4b1788f59c2bc185baaaf732f75 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Tue Apr 14 17:09:14 2015 -0700 i40e: Implement ndo_features_check() i40e supports UDP tunnel headers up to 80 bytes in length, so this adds a check to ensure that it doesn't try to offload packets that exceed that. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 90e6f51da718fc982eafd3dd7d6c78b378f67136 Author: Santhosh Pai <santhosh.pai88@xxxxxxxxx> Date: Mon Jun 29 10:44:03 2015 +0100 staging: Comedi: comedi_fops: Fixed the return error code This patch fixes the checkpatch.pl warning: WARNING: ENOSYS means 'invalid syscall nr' and nothing else try_module_get fails when the reference count of the module is not allowed to be incremented ,and hence -ENXIO is returned indicating no device or address. [IA - combined two of santhosh's changes to the error return value!] Signed-off-by: santhosh pai <santhosh.pai88@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e0d311ebd589e65b8e5559e067d0dd109ac3434 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Jul 7 17:06:52 2015 +0100 staging: comedi: use CAP_SYS_ADMIN instead of CAP_NET_ADMIN If the "comedi" module has been loaded with the "comedi_num_legacy_minors" module parameter set to a non-zero value, some reserved comedi devices get created. These can be attached to a low-level comedi driver using the `COMEDI_DEVCONFIG` ioctl command, which checks for the `CAP_SYS_ADMIN` capability. Of course, the comedi device needs to be opened before the ioctl command can be sent. If the comedi device is unattached, `comedi_open()` currently requires the `CAP_NET_ADMIN` capability. It makes more sense to just require the `CAP_SYS_ADMIN` capability here, so change it. For the curious, commit a8f80e8ff94e ("Networking: use CAP_NET_ADMIN when deciding to call request_module") changed this capability from `CAP_SYS_MODULE` to `CAP_NET_ADMIN`, even though it doesn't seem relevant here. The original `CAP_SYS_MODULE` capability was due to the function having some code to request a module using a "char-major-%i-%i" alias, but that was never compiled in and was removed by commit f30f2c2d417b ("staging: comedi: remove check for CONFIG_KMOD"). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fff0fea6d8821b1e521b7d38ea6d69c47e21efc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Jul 7 18:06:07 2015 +0100 staging: comedi: cb_pcimdas: add external analog output ranges The analog output range is not programmable, but the ranges for each of the two analog output channels are settable via jumpers. These jumper settings are not readable by the driver. The driver provides a range table containing all the possible internal ranges (+/-10V, +/-5V, 0-10V, 0-5V) to provide information to the user application (although any range selected by the application that differs from the jumper settings will not produce the expected voltage output). The range table does not cover all possible ranges of the analog output channels. The jumpers also allow an external reference voltage between 0 and 10V to be used as bipolar or unipolar output range. Add a couple more ranges to the end of the range table to define these two external ranges. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50f058a1900aa02fea93c6d47584eefc74fdd4ac Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:41:18 2015 +0200 staging: comedi: Grammar s/Enable support a/Enable support for a/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f73490e20261dbf543744bb3dc1ae6d6af0d80f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Jun 22 23:33:42 2015 +0800 staging: comedi: fix cast warning in comedi_compat32.c This patch fixes the following sparse warning: drivers/staging/comedi/comedi_compat32.c:205:16: warning: cast removes address space of expression Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58a06a2a64930ad11cc398b0b00ae9817b9a821a Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Jun 22 15:03:15 2015 +0200 staging: comedi: das16m1: fix lines over 80 characters Warnings found by checkpatch.pl WARNING: line over 80 characters /drivers/staging/comedi/drivers/das16m1.c:414 + if (devpriv->adc_count == 0 && hw_counter == devpriv->initial_hw_count) { /drivers/staging/comedi/drivers/das16m1.c:417 /drivers/staging/comedi/drivers/das16m1.c:418 /drivers/staging/comedi/drivers/das16m1.c:419 /drivers/staging/comedi/drivers/das16m1.c:420 /drivers/staging/comedi/drivers/das16m1.c:421 Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21eaa3c23ac49c6a2b8f842412177a956711169a Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Jun 22 15:02:36 2015 +0200 staging: comedi: das16m1: no space before tabs Warning found by checkpatch.pl WARNING: please, no space before tabs /drivers/staging/comedi/drivers/das16m1.c:83 + 404-407 ^I8254$ Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71b9f42eac9722d8dc39a5b2771255e2a6214eee Author: Abdul Hussain <habdul@xxxxxxxxxxx> Date: Mon Jun 22 06:11:13 2015 +0000 Staging: comedi: s626: Simplify a trivial if-return sequence This patch simplify a trivial if-return sequence. Possibly combine with a preceding function call. Signed-off-by: Abdul Hussain <habdul@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac7e62914cf5d31d31948d3f2b085e80e515a7cc Author: Abdul Hussain <habdul@xxxxxxxxxxx> Date: Mon Jun 22 06:11:09 2015 +0000 Staging: comedi: ni_daq_dio24: Simplify a trivial if-return sequence This patch simplify a trivial if-return sequence. Possibly combine with a preceding function call. Signed-off-by: Abdul Hussain <habdul@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b2dae3da36dd2bcbf6c2171dba8a51a7b42673a Author: Abdul Hussain <habdul@xxxxxxxxxxx> Date: Mon Jun 22 06:11:06 2015 +0000 Staging: comedi: dac02: Simplify a trivial if-return sequence This patch simplify a trivial if-return sequence. Possibly combine with a preceding function call. Signed-off-by: Abdul Hussain <habdul@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11b22e1465e25dbbf29c7df30ba20497d91c63f2 Author: Abdul Hussain <habdul@xxxxxxxxxxx> Date: Mon Jun 22 06:10:59 2015 +0000 Staging: comedi: fl512: Simplify a trivial if-return sequence This patch simplify a trivial if-return sequence. Possibly combine with a preceding function call. Signed-off-by: Abdul Hussain <habdul@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa4c586e17dc1f5402235e4a78399ebc2026c435 Author: Abdul Hussain <habdul@xxxxxxxxxxx> Date: Mon Jun 22 06:10:56 2015 +0000 Staging: comedi: dmm32at: Simplify a trivial if-return sequence This patch simplify a trivial if-return sequence. Possibly combine with a preceding function call. Signed-off-by: Abdul Hussain <habdul@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55ff2c6972e96acc3fd12be33ac7ac2fa17f1b0d Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Jun 22 14:14:35 2015 +0200 staging: comedi: das08_cs: don't split Author string fixes checkpatch.pl WARNING: quoted string split across lines +MODULE_AUTHOR("David A. Schleef <ds@xxxxxxxxxxx>, " + "Frank Mori Hess <fmhess@xxxxxxxxxxxxxxxxxxxxx>"); Modules with multiple authors have a MODULE_AUTHOR line for each one. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cec276808bc0a4ac5fc3ab9e42a1b5d1e3e9cc4 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 14 04:57:34 2015 +0000 ARM: shmobile: defconfig: add Renesas DPCM Sound Card This patch enables DPCM related sound card. It is used for... - Sampline rate convert - CTU/MIXer Note: you need to enable these settings on DTS file Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 18f88d22e4167a658091fe020beef723cefe86dd Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 14 04:57:05 2015 +0000 ARM: shmobile: koelsch: add sound label on DTS It is easy to modify settings for Test or other purpose if sound has label Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 30be0ba5f92c9a728bf3b3f41dbf3240eb3bbc11 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 14 04:56:10 2015 +0000 ARM: shmobile: lager: add sound label on DTS It is easy to modify settings for Test or other purpose if sound has label Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c53b0c92a829fe804f2f5f749ebc907658ebcf75 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 11 09:46:26 2015 +0200 ARM: shmobile: emev2: kzm9d: enable IIC busses Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cd42d042a2e712a7f9880f860075815539ce4baf Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 11 09:46:25 2015 +0200 ARM: shmobile: emev2: add IIC cores to dtsi Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4ef299d7dd51f4081618446a420f500e7f7e5d1b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:38:26 2015 +0900 PCI: xgene: Drop owner assignment from platform_driver platform_driver_register() automatically supplies THIS_MODULE, so we don't need to set it in the platform_driver struct. Remove the xgene_msi_driver.owner assignment. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit cef853810edcfffb9203b59637eebb916cfaa759 Author: Guillermo O. Freschi <kedrot@xxxxxxxxx> Date: Sun Jun 21 05:28:55 2015 -0300 staging: android: ion_chunk_heap.c: Fixed line over 80 characters Simple style fix. Signed-off-by: Guillermo O. Freschi <kedrot@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5605b188833fc60c297e0a3927e274349a172f59 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Mon Jul 13 15:50:30 2015 +0300 staging: android: ion: reorder variable definitions Prevents false positive "missing empty line after a definition" checkpatch warning. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4229fb12a03e5da5882b420b0aa4a02e77447b86 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Jul 4 15:27:39 2015 +0300 xtensa: fix threadptr reload on return to userspace Userspace return code may skip restoring THREADPTR register if there are no registers that need to be zeroed. This leads to spurious failures in libc NPTL tests. Always restore THREADPTR on return to userspace. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit ffb4d602623aef9eb813a35b87b20854c030a2ec Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Jun 24 16:05:54 2015 -0500 PCI: Add pcie_downstream_port() (true for Root and Switch Downstream Ports) As used in the PCIe spec, "Downstream Port" includes both Root Ports and Switch Downstream Ports. We sometimes checked for PCI_EXP_TYPE_DOWNSTREAM when we should have checked for PCI_EXP_TYPE_ROOT_PORT or PCI_EXP_TYPE_DOWNSTREAM. For a Root Port without a slot, the effect of this was that using pcie_capability_read_word() to read PCI_EXP_SLTSTA returned zero instead of showing the Presence Detect State bit hardwired to one as the PCIe Spec, r3.0, sec 7.8, requires. (This read is completed in software because previous PCIe spec versions didn't require PCI_EXP_SLTSTA to exist at all.) Nothing in the kernel currently depends on this (pciehp only reads PCI_EXP_SLTSTA on ports with slots), so this is a cleanup and not a functional change. Add a pcie_downstream_port() helper function and use it. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit aad0d51e933f8656880592020319d2dbd09532a2 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 21:10:10 2015 +0300 ravb: kill useless initializers Some of the local variable intializers in the driver turned out to be pointless, kill them. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit badb7f5e8bddf74a2f2dcc7d9d88accabfc000f5 Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Wed Jul 1 15:38:04 2015 +0800 workqueue: add myself as a dedicated reviwer I am one of the dedicated reviwers of workqueue.c. Now I add myself to the MAINTAINERS entry with the updated email address. The old laijs@xxxxxxxxxxxxxx will be ended soon. Signed-off-by: Lai Jiangshan <jiangshanlai@xxxxxxxxx> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 83cb8557e8d2c8e5eddc64840c437299343a7960 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Jun 26 17:21:28 2015 -0400 percpu: update incorrect comment for this_cpu_*() operations this_cpu_*() ops have been protected against both preemption and interrupts for quite a while now. We apparently forgot to update the comment. Fix it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx> commit 5dbc247c2a11f6b9febb854a55be5ae6be720df6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 14:55:13 2015 +0200 ata: sata_rcar: Remove obsolete sata-r8a779* platform_device_id entries Since commit a483dcbfa21f919c ("ARM: shmobile: lager: Remove legacy board support"), R-Car Gen2 SoCs are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a5cb88804d51b9d272d1d15ea348a244ba4d26c3 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 09:35:42 2015 +0200 staging: lustre: Deletion of unnecessary checks before three function calls The following functions test whether their argument is NULL and then return immediately. * kfree * ll_file_data_put * ptlrpc_connection_put Thus the test around such calls is not needed. This issue was detected by using the Coccinelle software. See also a previous update suggestion: "remove unneeded null test before free" by Julia Lawall https://lkml.org/lkml/2015/5/1/498 https://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg878600.html Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f37ac9343db1d0d3a9028d963eafe834053a0fb Author: Lukasz Janyst <lj@xxxxxxxxxxxxxx> Date: Tue Jul 14 17:22:21 2015 +0200 staging: lustre: fix whitespace coding style issues in libcfs/module.c This is a patch to the libcfs/module.c file fixing whitespace warnings found by checkpatch.pl. Signed-off-by: Lukasz Janyst <lj@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 917d8e2d10f40e28aa9e0d824b2e5b8197d79fc2 Author: Aleksa Sarai <cyphar@xxxxxxxxxx> Date: Sat Jun 13 03:21:58 2015 +1000 cgroup: add documentation for the PIDs controller Add documentation derived from kernel/cgroup_pids.c to the relevant Documentation/ directory, along with a few examples of how to use the PIDs controller as well an explanation of its peculiarities. Signed-off-by: Aleksa Sarai <cyphar@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 49b786ea146f69c371df18e81ce0a2d5839f865c Author: Aleksa Sarai <cyphar@xxxxxxxxxx> Date: Tue Jun 9 21:32:10 2015 +1000 cgroup: implement the PIDs subsystem Adds a new single-purpose PIDs subsystem to limit the number of tasks that can be forked inside a cgroup. Essentially this is an implementation of RLIMIT_NPROC that applies to a cgroup rather than a process tree. However, it should be noted that organisational operations (adding and removing tasks from a PIDs hierarchy) will *not* be prevented. Rather, the number of tasks in the hierarchy cannot exceed the limit through forking. This is due to the fact that, in the unified hierarchy, attach cannot fail (and it is not possible for a task to overcome its PIDs cgroup policy limit by attaching to a child cgroup -- even if migrating mid-fork it must be able to fork in the parent first). PIDs are fundamentally a global resource, and it is possible to reach PID exhaustion inside a cgroup without hitting any reasonable kmemcg policy. Once you've hit PID exhaustion, you're only in a marginally better state than OOM. This subsystem allows PID exhaustion inside a cgroup to be prevented. Signed-off-by: Aleksa Sarai <cyphar@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 7e47682ea555e7c1edef1d8fd96e2aa4c12abe59 Author: Aleksa Sarai <cyphar@xxxxxxxxxx> Date: Tue Jun 9 21:32:09 2015 +1000 cgroup: allow a cgroup subsystem to reject a fork Add a new cgroup subsystem callback can_fork that conditionally states whether or not the fork is accepted or rejected by a cgroup policy. In addition, add a cancel_fork callback so that if an error occurs later in the forking process, any state modified by can_fork can be reverted. Allow for a private opaque pointer to be passed from cgroup_can_fork to cgroup_post_fork, allowing for the fork state to be stored by each subsystem separately. Also add a tagging system for cgroup_subsys.h to allow for CGROUP_<TAG> enumerations to be be defined and used. In addition, explicitly add a CGROUP_CANFORK_COUNT macro to make arrays easier to define. This is in preparation for implementing the pids cgroup subsystem. Signed-off-by: Aleksa Sarai <cyphar@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 225f58fbcc02ace232fc49f05036042f9d58263e Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Tue Jul 14 11:15:37 2015 +0800 livepatch: Improve error handling in klp_disable_func() In case of func->state or func->old_addr not having expected values, we'd rather bail out immediately from klp_disable_func(). This can't really happen with the current codebase, but fix this anyway in the sake of robustness. [jkosina@xxxxxxxx: reworded the changelog a bit] Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 29e2d6d1f6f61ba2b5cc9d9867e01d8c31a6c4f7 Author: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 22:04:31 2015 -0700 HID: cp2112: fix byte order in SMBUS operations Change all occurrences of be16 to le16 in cp2112_xfer(), because SMBUS words are little endian, not big endian. Signed-off-by: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 93972d18bbaba6f34e21742400b6e7461edc4837 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Jun 28 16:42:04 2015 +0200 PCI: iproc: Delete unnecessary checks before phy calls The functions phy_exit() and phy_power_off() test whether their argument is NULL and then return immediately. Thus the test around the calls is not needed. This issue was detected by using the Coccinelle software. [bhelgaas: also phy_init() and phy_power_on(), as Ray Jui suggested] [bhelgaas: also remove tests in iproc_pcie_remove()] Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> commit 6ce12a977b7e484540482febe47d1e65f7427abf Author: SungEun Kim <cleaneye.kim@xxxxxxx> Date: Fri Jul 3 15:57:20 2015 +0900 PM / autosleep: Use workqueue for user space wakeup sources garbage collector The synchronous synchronize_rcu() in wakeup_source_remove() makes user process which writes to /sys/kernel/wake_unlock blocked sometimes. For example, when android eventhub tries to release a wakelock, this blocking process can occur, and eventhub can't get input events for a while. Using a work item instead of direct function call at pm_wake_unlock() can prevent this unnecessary delay from happening. Signed-off-by: SungEun Kim <cleaneye.kim@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e7f6c6d02cc3fa7f78153919900561bd1dce02a3 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Jun 24 16:03:23 2015 -0500 PCI: Fix pcie_port_device_resume() comment The function comment claimed this was pcie_port_device_suspend(), but it's really pcie_port_device_resume(). Perils of cut and paste. Use the correct function name in the comment. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2b4aed1d1f119634d80d8c701873c2be01480aa9 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jun 19 16:20:58 2015 -0500 PCI: Shift PCI_CLASS_NOT_DEFINED consistently with other classes The PCI class in dev->class is a three-byte value comprising a base class, sub-class, and interface type. PCI_CLASS_NOT_DEFINED includes the base class and sub-class, but not the interface type, so it should be shifted to make space for the interface. It happens that PCI_CLASS_NOT_DEFINED is zero, so it doesn't matter in the end, but we should still use it consistently with other class definitions. Treat PCI_CLASS_NOT_DEFINED as a base class/sub-class value that should appear in bits 8-23 of dev->class. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit eefaf338820ecd3fb14da496f8a740612257a341 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Jun 24 15:46:38 2015 -0500 PCI: Revert aeb30016fec3 ("PCI: add Intel USB specific reset method") Revert aeb30016fec3 ("PCI: add Intel USB specific reset method"). We checked for "dev->class == PCI_CLASS_SERIAL_USB", but dev->class contains the entire three-byte base class/sub-class/interface, while PCI_CLASS_SERIAL_USB is only the two-byte base class/sub-class. This error meant that we used the Intel device-specific reset on devices with class code 0x000c03 instead of those with class code 0x0c03xx. 0x000c03 is a reserved value in the 0x00 backwards compatibility base class and shouldn't match any devices, so I think reset_intel_generic_dev() always failed. I considered adding a shift, but I can't test it, so it's as likely to break something as to fix something. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Yu Zhao <yu.zhao@xxxxxxxxx> CC: Mathias Nyman <mathias.nyman@xxxxxxxxx> commit d1541dc977d376406f4584d8eb055488655c98ec Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jun 19 15:58:24 2015 -0500 PCI: Fix TI816X class code quirk In fixup_ti816x_class(), we assigned "class = PCI_CLASS_MULTIMEDIA_VIDEO". But PCI_CLASS_MULTIMEDIA_VIDEO is only the two-byte base class/sub-class and needs to be shifted to make space for the low-order interface byte. Shift PCI_CLASS_MULTIMEDIA_VIDEO to set the correct class code. Fixes: 63c4408074cb ("PCI: Add quirk for setting valid class for TI816X Endpoint") Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Hemant Pedanekar <hemantp@xxxxxx> commit e6323e3c51601e5ccda24024ece3d7cd542378ea Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jun 19 15:36:45 2015 -0500 PCI: Fix generic NCR 53c810 class code quirk In the generic quirk fixup_rev1_53c810(), added by a5312e28c195 ("[PATCH] PCI: NCR 53c810 quirk"), we assigned "class = PCI_CLASS_STORAGE_SCSI". But PCI_CLASS_STORAGE_SCSI is only the two-byte base class/sub-class and needs to be shifted to make space for the low-order interface byte. Furthermore, we had a similar quirk, pci_fixup_ncr53c810(), for arch/x86, which assigned class correctly. The arch code is linked before the PCI core, so arch quirks run before generic quirks. Therefore, on x86, the x86 arch quirk ran first, and the generic quirk did nothing because it saw that dev->class was already set. But on other arches, the generic quirk set the wrong class code. Fix the generic quirk to set the correct class code and remove the now-unnecessary x86-specific quirk. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Matthew Wilcox <matthew@xxxxxx> commit cd76d10b78ab21a7adc4562e016213dd4891b6e5 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jun 19 15:28:31 2015 -0500 PCI: Use PCI_CLASS_SERIAL_USB instead of bare number be6646bfbaec ("PCI: Prevent xHCI driver from claiming AMD Nolan USB3 DRD device") added a quirk to override the PCI class code of the AMD Nolan device. Use PCI_CLASS_SERIAL_USB instead of a bare number to improve greppability. Also add a log message about what we're doing. No functional change except the new message. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Huang Rui <ray.huang@xxxxxxx> CC: Jason Chang <jason.chang@xxxxxxx> CC: Felipe Balbi <balbi@xxxxxx> commit 3657cebda5eb9dc1c4c6a0ea5b38bfef70aea50a Author: Krzysztof =?utf-8?Q?Ha=C5=82asa?= <khalasa@xxxxxxx> Date: Fri Jun 19 10:00:15 2015 +0200 PCI: Add quirk for Intersil/Techwell TW686[4589] AV capture cards Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero) class code. Fix it. Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit acc068d967a63aef163167a66a02966f42052b80 Author: Peter Huewe <peterhuewe@xxxxxx> Date: Mon Jul 13 22:02:48 2015 +0200 Documenation: Update location of docproc.c docproc.c was moved in 2011 from scripts/basic to scripts -> updated the references accordingly Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 4a118753d411d3e22a463361bb867c51d63ebe14 Author: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Date: Fri Jun 19 11:52:46 2015 +0530 PCI: Remove Intel Cherrytrail D3 delays Just like Haswell, Intel Atom Cherrytrail does not need the default 10ms d3_delay imposed by the PCI specification. Expand quirk_remove_d3_delay() to apply to Cherrytrail devices, so we can ignore the 10ms delay before entering or exiting D3 suspend. [bhelgaas: changelog, comment] Signed-off-by: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 5d250eeb9d9d2237d49cd284ad35a6707694b88e Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Jul 13 12:29:11 2015 +0900 Doc: pps: Fix file name in pps.txt This patch fix a file name of example code. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Rodolfo Giometti <giometti@xxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 6e7ac7b4ab4d7b4486b4680ebbffbff3b1b0d775 Author: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> Date: Sun Jul 12 17:49:55 2015 +0200 SubmittingPatches: fix wrong wording "facilitate easier reviewing" says the same thing twice. Signed-off-by: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> [jc: made it "easier review"] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit bdc89213710250d75fcbb86c2e623d1bbe8e3bb2 Author: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> Date: Sun Jul 12 17:44:15 2015 +0200 SubmittingPatches: fix wrong wording Signed-off-by: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit cde669fa71cfb6fdbd579c409b08a5cfa1863584 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue May 26 21:50:09 2015 +0200 ARM: dts: rockchip: add Netxeon R89 board This board is used in some TV-boxes like for example the Beelink R89 or Tronsmart R28. The board itself follows the reference design for the most part. But there are no schematics available it seems, so some things should be taken with a grain of salt. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Romain Perier <romain.perier@xxxxxxxxx> commit cfa229b7b4232b23b77e059e19adf432bedd59a9 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue May 26 21:49:05 2015 +0200 dt-bindings: add vendor prefix for Netxeon Technology Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Reviewed-by: Romain Perier <romain.perier@xxxxxxxxx> commit 89e0e250f92b0b0233337043ddf76f261916036c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jul 9 11:21:03 2015 +0300 ASoC: fsl: fsl_spdif: signedness bug in fsl_spdif_startup() We need "i" to be signed or it leads to a forever loop in the error handling. Fixes: fa3be9208dcb ('ASoC: fsl: fsl_spdif: Check for clk_prepare_enable() error') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a807a6cc29115a9a43c168fc0d4540b3d9284815 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:44:00 2015 +0900 regulator: drivers: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 736050c4c11a4907d381672d5396485045d78bab Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:44:01 2015 +0900 regulator: da9062: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f5e9fdaeb3ba48d9a5a6882614f42d0303355fae Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:30:46 2015 +0900 spi: xcomm: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 27bc1dd24488ce2a13e5c59aaf6d3202e519e21e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:30:31 2015 +0900 ASoC: mediatek: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 430b7ad5d3d07e9869085d777264a37ae2dd5c26 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:24 2015 +0530 drm/i915: Added BXT check in HAS_CORE_RING_FREQ macro Updated the HAS_CORE_RING_FREQ macro to add the broxton check, so as to disallow the programming & read of ring frequency table for it. Issue: VIZ-5144 Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 97d3308ab245c51ae237b3444afa7ae87aa9bcd4 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:23 2015 +0530 drm/i915: Add HAS_CORE_RING_FREQ macro Added a new HAS_CORE_RING_FREQ macro, currently used in gen6_update_ring_freq & i915_ring_freq_table debugfs function. The programming & read of ring frequency table is needed for newer GEN(>=6) platforms, except VLV/CHV. Issue: VIZ-5144 Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 70e0bd74b9a22ecaa25793bf4f461cf84a1f348a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:29 2015 +0200 drm/i915: Make intel_display_suspend atomic, try 2. Calculate all state using a normal transition, but afterwards fudge crtc->state->active back to its old value. This should still allow state restore in setup_hw_state to work properly. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e694eb020f12949a3eb12d4bb4957f0237961b2d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 16:19:12 2015 +0200 drm/i915: Always force a modeset in intel_crtc_restore_mode, v2. And get rid of things that are no longer true. This function is only used for forcing a modeset when encoder properties are changed. Because this is not yet done atomically, assume a full modeset is needed and force a modeset on the crtc. Changes since v1: - s/reset/force modeset/ Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 292b990e86abc42cba683fda1a56dc5f253a1d3e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:27 2015 +0200 drm/i915: Update power domains on readout. This allows us to get rid of the set_init_power in modeset_update_crtc_domains. The state should be sanitized enough after setup_hw_state to not need the init power. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad3c558fb92f725858494f6b3f0befcd89cbb41c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:26 2015 +0200 drm/i915: Get rid of unused transitional members. The previous commit converted hw readout to atomic, all the new_* members were used for restoring the old state, but with the conversion of suspend to atomic there's no use left for them. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 043e9bda6b7bf6ff83576c65a40becc5054e827d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:25 2015 +0200 drm/i915: Convert resume to atomic. Instead of all the ad-hoc updating, duplicate the old state first before reading out the hw state, then restore it. intel_display_resume is a new function that duplicates the sw state, then reads out the hw state, and commits the old state. intel_display_setup_hw_state now only reads out the atomic state. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90396 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5c1e34261907736dc3b3a7219b2f48f353f10a93 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 15:58:28 2015 +0200 drm/i915: Readout initial hw mode. drm/i915: Readout initial hw mode, v2. Atomic requires a mode blob when crtc_state->enable is true, or you get a huge warn_on. With a few tweaks the mode we read out from hardware could be used as the real mode without a modeset, but this requires too much testing, so for now force a modeset the first time the mode blob's updated. This preserves the old behavior, because previously we never set the initial mode, which always meant that a modeset happened when the mode was first set. Changes since v1: - Add a description in intel_modeset_readout_hw_state of how the recalculation is done. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a03dfb057d0ee5f3146ffe40179af3ed7e48213 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 13:46:40 2015 +0200 drm/i915: Calculate vblank timestamping constants before enabling vblank. This is required to properly initialize vblanks on the active crtc. Without it drm_calc_vbltimestamp_from_scanoutpos can fail with crtc 0: Noop due to uninitialized mode. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4be40c987aa0867a8fa77c12d5ed6fa2f8853dbc Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 13:45:32 2015 +0200 drm/i915: Zero the mode in intel_sanitize_crtc when force disabling. There is a WARN_ON in drm_atomic_crtc_check for this when exposing the atomic property. If the mode_blob still exists, but enable = false then all updates are rejected with -EINVAL. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b06f8b0df73dea39337e394805827491d0b1585c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 13:42:49 2015 +0200 drm/i915: Fix reference leak in intel_modeset_readout_hw_state. Unreference the old mode_blob by calling the crtc_destroy_state helper before zeroing the crtc_state. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4cf0ebbd4fafbdf8e6431dbb315e5511c3efdc3b Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:20 2015 +0200 drm/i915: Rework plane readout. All non-primary planes get disabled during hw readout, this reduces complexity and means not having to do some plane visibility checks during the first commit. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3bbaba0ceaa254c9ee261e329bfd92e4ba4fe32a Author: Peter Antoine <peter.antoine@xxxxxxxxx> Date: Fri Jul 10 20:13:11 2015 +0300 drm/i915: Added Programming of the MOCS This change adds the programming of the MOCS registers to the gen 9+ platforms. The set of MOCS configuration entries introduced by this patch is intended to be minimal but sufficient to cover the needs of current userspace - i.e. a good set of defaults. It is expected to be extended in the future to provide further default values or to allow userspace to redefine its private MOCS tables based on its demand for additional caching configurations. In this setup, userspace should only utilize the first N entries, higher entries are reserved for future use. It creates a fixed register set that is programmed across the different engines so that all engines have the same table. This is done as the main RCS context only holds the registers for itself and the shared L3 values. By trying to keep the registers consistent across the different engines it should make the programming for the registers consistent. v2: -'static const' for private data structures and style changes.(Matt Turner) v3: - Make the tables "slightly" more readable. (Damien Lespiau) - Updated tables fix performance regression. v4: - Code formatting. (Chris Wilson) - re-privatised mocs code. (Daniel Vetter) v5: - Changed the name of a function. (Chris Wilson) v6: - re-based - Added Mesa table entry (skylake & broxton) (Francisco Jerez) - Tidied up the readability defines (Francisco Jerez) - NUMBER of entries defines wrong. (Jim Bish) - Added comments to clear up the meaning of the tables (Jim Bish) Signed-off-by: Peter Antoine <peter.antoine@xxxxxxxxx> v7 (Francisco Jerez): - Don't write L3-specific MOCS_ESC/SCC values into the e/LLC control tables. Prefix L3-specific defines consistently with L3_ and e/LLC-specific defines with LE_ to avoid this kind of confusion in the future. - Change L3CC WT define back to RESERVED (matches my hardware documentation and the original patch, probably a misunderstanding of my own previous comment). - Drop Android tables, define new minimal tables more suitable for the open source stack. - Add comment that the MOCS tables are part of the kernel ABI. - Move intel_logical_ring_begin() and _advance() calls one level down (Chris Wilson). - Minor formatting and style fixes. v8 (Francisco Jerez): - Add table size sanity check to emit_mocs_control/l3cc_table() (Chris Wilson). - Add comment about undefined entries being implicitly set to uncached for forwards compatibility. v9 (Francisco Jerez): - Minor style fixes. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit faf4ffe031df41c067f3b89632ce3d3667bb64ad Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 14 10:59:30 2015 +0200 drm/i915: Remove unused compat32 code Totatlly forgotten that we have these when nuking all the UMS code. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e794db2ccbb587198e74fbe4fc035131875bf1e4 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jun 1 22:57:16 2015 -0300 ARM: dts: add DT for CIAA LPC4337 industrial computer Add basic support for CIAA (Argentine Open Industrial Computer) LPC4337 board. This commit enables the following peripherals: * UART * SSP * Ethernet Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit a8069fafe8a3ce1567e2394b8551902ede300445 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sun Jun 21 20:23:48 2015 -0300 of: add vendor prefix for CIAA project CIAA stands for Argentine Open Industrial Computer. The CIAA project is an initiative sponsored by universities and private companies. Its main goal is to promote local embedded systems development. Among other devices, the project developed a NXP LPC4337-based reference design. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 930a43e2e6ea2069e1fbc475b9af9d05315b0591 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri May 29 23:09:52 2015 +0200 ARM: dts: lpc4357-ea4357: add uart3 Enable UART3 that is routed to the J17 DSUB9 connector on the EA4357 devkit. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 7de98f2a98c842d1e4805981eff8fdf3c59cdeb0 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:56:57 2015 +0200 ARM: dts: lpc4357-ea4357: add ethernet Enable Ethernet and add pin muxing and set the correct frequency on the enet tx clock input. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 95dafb2ca15672ec8e000fcd482fec15e963840e Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:55:32 2015 +0200 ARM: dts: lpc4357-ea4357: add gpio joystick Hook up the small joystick found on the EA4357 devkit. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit f312bc59d21bed7593199a1921468868150954fa Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Tue Jul 14 14:51:26 2015 +0800 ASoC: rt5645: Remove irq_jack_detection function irq_jack_detection is only called from rt5645_jack_detect_work: remove the function to simplify the code. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6d00d153f00097d259f86304e11858a50a1b8ad1 Author: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 13 15:23:54 2015 -0700 HID: cp2112: fix I2C_SMBUS_BYTE write When doing an I2C_SMBUS_BYTE write (one byte write, no address), the data to be written is in "command" not "data->byte". Signed-off-by: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Reviewed-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit eeebeac5e476800991ea1d10827307c41650ba11 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 12:33:29 2015 +0200 drm/i915: Remove plane_config from struct intel_crtc, v2. Nothing depends on this outside initial hw readout, so keep this struct on the stack instead. Changes since v1: - Remove unrelated changes. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be5651f2d5814cefbe89b17c187309ad4c1d3967 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:18 2015 +0200 drm/i915: Update missing properties in find_initial_plane_obj The src and crtc rectangles were never set, resulting in the primary plane being made invisible on first atomic update. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cfb23ed622d040619abb91e625fcba74d356b8a8 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 12:17:40 2015 +0200 drm/i915: Allow fuzzy matching in pipe_config_compare, v2. Instead of doing ad-hoc checks we already have a way of checking if the state is compatible or not. Use this to force a modeset. Only during modesets, or with PIPE_CONFIG_QUIRK_INHERITED_MODE we should check if a full modeset is really needed. Fastboot will allow the adjust parameter to ignore some stuff too, and it will fix up differences in state that are ignored by the compare function. Changes since v1: - Increase the value of the lowest m/n to prevent truncation. - Dump pipe config when fastboot's used, without a modeset. - Add adjust parameter to intel_compare_link_m_n, which is used to adjust m2_n2 if it's a multiple of m_n. - Add exact parameter intel_compare_m_n. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8e9ba31a0f6c217e05f84efe9c569f9010a8ad26 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:16 2015 +0200 drm/i915: Do not use plane_config in intel_fbdev.c Use the atomic state instead, this allows removing plane_config from the crtc after the full hw readout is completed. The size can be found in the fb, no need for the plane_config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e435d6e52b164c041d3b0f88be3f7b8c5a14462a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:15 2015 +0200 drm/i915: Do not update pfit state when toggling crtc enabled. There's not much point for calculating the changes for the old state. Instead just disable all scalers when disabling. It's probably good enough to just disable the crtc_scaler, but just in case there's a bug disable all scalers. This means intel_atomic_setup_scalers is only called in the crtc check function now, so all the transitional code can be removed. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8a75d157ccddc2c1fb5aeefe6a1a45a9eb0c0176 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:14 2015 +0200 drm/i915: Only update state on crtc's that are part of the atomic state. This is probably hard to hit right now because in most cases all atomic locks are taken, but after conversion to atomic this will make it more likely to corrupt the crtc->config pointer, resulting in hard to find bugs. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44ade5edf90ccd38efa741240efb2586239c9751 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 13 15:15:02 2015 +0900 ARM: shmobile: r8a7779: Generic SMP ops Add a r8a7779-specific SMP operation pointer to support all 4 CPU cores through SMP on r8a7779 without C board code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 131c2e0480b0f7afefbc9a46cc4e158e17caa844 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jun 25 17:57:39 2015 +0900 ARM: shmobile: r8a7779: Generic CCF and timer support Add a r8a7779-specific callback to initialize CCF and clocksources. With this in place we are one step closer to be able to use r8a7779 without C board code. Also add a multiplatform wrapper to avoid breaking the r8a7779 marzen legacy case. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 80edaaead3687b47ba3760588306937439ebd7bd Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:35 2015 +0300 ARM: dts: am335x-evm: Switch using simple-audio-card for audio support The sound support consist only Headset output on the board and can be handled by "simple-audio-card" Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e4e0b70224fb840a264ad521493cfea94f7d2ef5 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:34 2015 +0300 ARM: dts: am335x-evm: Add sleep pin settings for mcasp1 When McASP is not in use the pins can be put to sleep mode to conserve power. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 11fd9a9b2ca459acc0eac92e1fa858b708d630d6 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:33 2015 +0300 ARM: dts: am335x-evm: Rename pinctrl section for McASP1 Use mcasp1_pins as name for the pinctrl section needed for McASP1 instead of the am335x_evm_audio_pins name. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a6ccad683fbcba793c390cb6505538ab4a145746 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:32 2015 +0300 ARM: dts: am335x-evm: Fix mcasp1 node's indentation The section had two tabs instead of one. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b3c616ef7fc0bff6d00d884845610d4eb59f556d Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:31 2015 +0300 ARM: dts: am335x-evmsk: Switch using simple-audio-card for audio support The sound support consist only Headset output on the board and can be handled by "simple-audio-card" Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ed8830f2e92a6462d2ca96afcf00ab5de6fbef0e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:30 2015 +0300 ARM: dts: am335x-evmsk: Add sleep pin settings for mcasp1 When McASP is not in use the pins can be put to sleep mode to conserve power. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c8b518ada5935b78f9c296f656c51d77ecca993e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:29 2015 +0300 ARM: dts: am335x-evmsk: Fix mcasp1 node's indentation The section had two tabs instead of one. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit cf9a4850e9957ccf3ca11409b15d9a915a326400 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:28 2015 +0300 ARM: dts: am437x-gp-evm: Enable analog audio via simple-card The board uses McASP1 <-> tlv320aic3106 for analog audio and has Headphone out and Line in connectors. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d3d92af19e9970b16e5f724fb2de4491abccaa7d Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:27 2015 +0300 ARM: dts: am437x-gp-evm: McASP1 node for audio support Add node for McASP1 along with the needed pinctrl entries. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6076b15928ca113542180ad3817a0dc1befd3899 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:26 2015 +0300 ARM: dts: am437x-gp-evm: Add node for tlv320aic3106 audio codec Analog audio is using this codec on the board. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 390810a962aec86eff34b9e593b426ef95049025 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:25 2015 +0300 ARM: dts: am437x-gp-evm: Rename fixed regulator vmmcsd_fixed to evm_v3_3d The same regulator is used by other chips on the board. The power path is: VBAT -> TPS63031 - Enable signal is V1_8D regulator -> V3_3D. V3_3D is used by SD slot and tlv320aic3106 codec as well. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 593113e7bcb552fd02770d7e847162fa27956fbd Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:24 2015 +0300 ARM: dts: am437x-gp-evm: Add gpio-hog for configuring the display/audio mux GPIO5_8 is used as a mux switch between LCD and HDMI displays. This mux affects audio routing as well since in LCD mode HDMI audio is not possible and when HDMI is selected analog audio is not working. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 22d7fb57ad1e001654e605386f33525644ebdcc1 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:23 2015 +0300 ARM: dts: am43xx-epos-evm: Enable analog audio via simple-card Use simple card for audio support on ePOS-EVM. The audio on the board is: McASP1 <-> tlv320aic3111 codec. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit cbfc7e6fffbc74cfaab3eeae9e559baebac6a5ac Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:22 2015 +0300 ARM: dts: am43xx-epos-evm: Add node for tlv320aic3111 audio codec Analog audio is using this codec on the board. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 06e2bf6b37bdbac3341fa1519cf7901a7379c724 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:21 2015 +0300 ARM: dts: am43xx-epos-evm: McASP1 node for audio support Add node for McASP1 along with the needed pinctrl entries. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7ec341d969afc3901fb26052bff22d884249fbf0 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:20 2015 +0300 ARM: dts: am43xx-epos-evm: Add regulator for VBAT and DCDC4 of tps65218 The VBAT and DCDC4 regulator is needed for audio support (tlv320aic3111) Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 56fd3dc793e9f53acf36411f5c9814997e587b3e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:19 2015 +0300 ARM: dts: am43xx-epos-evm: Add gpio-hog for configuring the display/audio mux GPIO2_1 is used as a mux switch between LCD and HDMI displays. This mux affects audio routing as well since in LCD mode HDMI audio is not possible and when HDMI is selected analog audio is not working. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 20746c508b3a8e76e251806f8bd50c4624ca1782 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:18 2015 +0300 ARM: dts: am437x-sk-evm: Switch using simple-audio-card for audio support The sound support consist only Headset output on the board and can be handled by "simple-audio-card". Also enable the Line-In route as the board has support for it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7155ace481dec0aeed7b75010c4ed531dcb3d7b0 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:17 2015 +0300 ARM: dts: am437x-sk-evm: Add sleep pin settings for mcasp1 When McASP is not in use the pins can be put to sleep mode to conserve power. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit da4cada87146e3a7ee53e8355dfcee1c2fe4bdff Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:16 2015 +0300 ARM: omap2plus_defconfig: Enable audio related config options More and more boards are moving to have audio support via simple-card. At the same time enable options needed for most am335x and am43xx board for audio support: McASP and TLV320AIC3X codecs. The later two has been selected by the CONFIG_SND_AM33XX_SOC_EVM option, but the aim is to convert all boards to use simple card. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 601b29aa48091acef2fc608ccec87a7518fc8597 Author: Nishanth Menon <nm@xxxxxx> Date: Mon Jun 22 10:22:26 2015 -0500 pinctrl: dra: dt-bindings: Add virtual mode configuration option In addition to the regular mux configuration such as mux mode 1, 2 etc, certain pins of DRA7 require to have "virtual mode" also programmed. This allows for predefined delay characteristics to be used by the SoC to meet timing characterstics needed for the interface. Provide easy to use macro to do the same. It is important to note that the official TI guidelines recommend to do as minimal pin reconfiguration beyond the bootloader given the design of the hardware involved which can result in substantial glitches which may impair functionality of certain peripherals. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ad548430ab690504b3e43e8cba706980279c1f38 Author: Vignesh R <vigneshr@xxxxxx> Date: Mon Jun 22 14:33:44 2015 +0530 ARM: dts: DRA72: switch to cpsw slave0 for ethernet On DRA72 EVM, cpsw slave1 is muxed with VIN2A, hence switch to cpsw slave0 for ethernet. Add gpio hog entry to pcf_gpio_21 in order to select cpsw slave0. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 71bed41c6209913807d21a7d7c191258e91696a2 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri May 29 10:21:52 2015 -0700 ARM: dts: Remove L3 compatible value for dm816x The interconnects on dm816x are like on omap4, so we should use l3-noc instead of l3-smx. But as the related SoC specific l3_target_data is still missing from omap_l3_noc let's just remove the entry for now. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Reported-by: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3353b693a1af39e1ecb5292d9a2c2771acdd67ff Author: Adam YH Lee <adam.yh.lee@xxxxxxxxx> Date: Fri Jun 12 13:37:26 2015 -0700 ARM: dts: overo: Add device tree for Palo35 board Also, reduce the maximum SPI device speed to the max. supported by the LCD controller used on the LGPhilips LB035Q02 panel for this board. Signed-off-by: Ash Charles <ashcharles@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 98ce6007efb4bf70f035d4187c2ea59a8c4a455a Author: Ash Charles <ashcharles@xxxxxxxxx> Date: Fri Jun 12 13:37:25 2015 -0700 ARM: dts: overo: Support PoP NAND Some Overo COM models include NAND flash in the on-board package-on-package (PoP) chip. Add this to the base Overo devicetree. Most commonly, this is 512MB NAND from the Micron MT29C4G96MAZ family but, as discussed [1], several different sized are possible. To support different sizes, the last partition should fill to the end of the chip (i.e. MTDPART_SIZ_FULL). With thanks to Florian Vaussard for the original patch [2] and Adam Lee for updating it here. [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/175760.html [2] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/175449.html Signed-off-by: Ash Charles <ashcharles@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d765af89a4f25315c6ba66abd3539bbd8539c88f Author: Adam YH Lee <adam.yh.lee@xxxxxxxxx> Date: Fri Jun 12 13:37:24 2015 -0700 ARM: dts: overo: Enable McBSP2 for all Overo COMs Both Gumstix Overo and Overo Storm COMs use TWL4030 audio module connected to the McBSP2. As such, enable the McBSP2 module in the common device tree file, omap3-overo-base.dtsi, rather than in the processor-specific device tree files, omap3-overo.dtsi and omap3-overo-storm.dtsi. This corrects audio on the Storm COMs where the setting was accidentally missing from the device tree. Signed-off-by: Ash Charles <ashcharles@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 72f5d5d5247725ea7ca786378ac2ab40bc5c0dab Author: Ash Charles <ashcharles@xxxxxxxxx> Date: Fri Jun 12 13:37:23 2015 -0700 ARM: dts: Add DTS for Gumstix TobiDuo expansion board The Gumstix "Tobi-Duo" expansion board [1] can be used with either OMAP3 Overo or Overo Storm COMs. It provides two NICs using LAN9221 chips. It is necessary to duplicate the interface information for the second SMSC9221 chip as discussed [2]. [1] https://store.gumstix.com/index.php/products/241/ [2] http://www.spinics.net/lists/linux-omap/msg115282.html Signed-off-by: Ash Charles <ashcharles@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 34c900a60bb09cab44d0fff96dd0e109a7b9bcf2 Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri May 8 14:27:19 2015 +0300 ARM: dts: am335x-boneblack: Use new binding for HDMI Use new binding for the external tda19988 HDMI encoder. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3d5d68aabf4ff47cfb447ad90448ce50531be7f5 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Wed Jul 8 04:44:54 2015 -0400 perf record: Document setting '-e pmu/period=N/' in man page The 'period' param is not defined in /sys/bus/event_sources/devices/<pmu>/format/*, but can be used, document it. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436345097-11113-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3a0830de58342914aca8f517a84b82476be98f26 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Apr 9 12:35:54 2015 +0300 ARM: dts: dra7x: Integrate sDMA crossbar The sDMA requests are routed through the DMA crossbar and without the crossbar only peripherals using DMA request 0-127 can be used. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fa3eec7791b0fe27e3112804a71ba445ff336a6b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Jul 1 23:51:43 2015 +0100 regmap: Silence warning on invalid zero length read Zero length reads make no sense in a regmap context and are likely to trigger bugs further down the stack so insert an error check, also silencing compiler warnings about use of ret in cases where we iterate per register. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 131e663bd6f1055caaff128f9aa5071d227eeb72 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:33 2015 +0200 drm/gem: rip out drm vma accounting for gem mmaps Doesn't really add anything which can't be figured out through proc files. And more clearly separates the new gem mmap handling code from the old drm maps mmap handling code, which is surely a good thing. Cc: Martin Peres <martin.peres@xxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bdac2b6dc7392668a8530d67a5f762366f57f9b4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 23:22:44 2015 +0200 gpio/davinci: Fix race in installing chained irq handler Fix a race where a pending interrupt could be received and the handler called before the handler's data has been setup, by converting to irq_set_chained_handler_and_data(). Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> commit 1765d671b18e58fdd6341edac9c22e57d90ef6a8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:18:56 2015 +0200 gpio/davinci: Avoid redundant lookup of irq_data It's pretty silly to do void *cd = irq_get_chip_data(irq_data->irq); because that results in cd = irq_data->chip_data, but goes through a redundant lookup of the irq_data. Use irq_data directly. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 789f9dabfe44c1f7056aa0a7c9a9205de4d5261f Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:07:01 2015 +0200 gpio/msm-v2: Avoid redundant lookup of irq_data It's pretty silly to do irq_data *d = irq_get_irq_data(irq_data->irq); because that results in d = irq_data, but goes through a lookup of the irq_data. Use irq_data directly. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 2951a7990c4aac3bfa05ea8474eb2948ca73eaba Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 00:11:27 2015 +0200 gpio/sa1100: Prepare sa1100_gpio_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 364ea44b24deec90c1ba88dc427d5bc4864096f5 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 00:09:04 2015 +0200 gpio/mvebu: Prepare mvebu_gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit e43ea7a7736bb29fd088e83a7b66195eb2854814 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 00:06:41 2015 +0200 gpio/ep93xx: Prepare ep93xx_gpio_f_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit c3ca1e6f1849a6bce3a4a57e483d13ab7a544dd4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jul 12 23:47:32 2015 +0200 gpio/davinci: Prepare gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 476f8b4c94a90d1167961d90a5ed68dbe87c62da Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:15 2015 +0800 gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Preparatory patch for the removal of the 'irq' argument from irq flow handlers. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c16edb8b3a070be758a97bc6cd00855c7bbccec4 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:19 2015 +0800 gpio/davinci: Use accessor function irq_data_get_irq_handler_data() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f170d71eb2eb5de968dbedfd74bc53944a080391 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:40 2015 +0200 gpio/gpio-tegra: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 2456d869c45eeaefa7c5c96d30d1e884a12709e3 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:40 2015 +0200 gpio/pch: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 43ec2e4316047e9eecf7df86768708395888eb96 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:39 2015 +0200 gpio/omap: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit b11b7af97883da01082e318abac51cec7162a347 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:38 2015 +0200 gpio/msm-v2: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 72b2a9ef9c5fffe274cca0be63a4f3998fa0b641 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:38 2015 +0200 gpio/ep93xx: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: @@ struct irq_data *d; expression E1; @@ -__irq_set_handler_locked(d->irq, E1); +irq_set_handler_locked(d, E1); Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 47c08462921f17de890c2574b2893ecae44cfd76 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 14:37:42 2015 +0200 gpio/zynq: Use irq_set_chip_handler_name_locked() Hand in irq_data and avoid the redundant lookup of irq_desc. Originally-from: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f7f877533c11029e4b4caf8aae9968c5fd561625 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:48 2015 +0200 gpiolib: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 77c77e3f074f576a39534bb9b10b6f1b4d91a8db Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:48 2015 +0200 gpio/tz1090: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 8a52211ad8d8c97fede3707c938126002e11ec79 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:47 2015 +0200 gpio/timberdale: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit d68cd06ce40d7227598912bb1a0c75980d2b5a4b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:47 2015 +0200 gpio/mvebu: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 05379818e489bd9fec892f79f202b2ff41fd6ff8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:46 2015 +0200 gpio/mpc8xxx: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 3402042287a0b93eceb779faf1174635d1552660 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 13 12:34:55 2015 -0500 ARM: dts: AM4372: Add the wkupm3 rproc node Add the Wakeup M3 remote processor device node for the AM4372 SoC. The WkupM3 remote processor is used to implement and achieve low-power functionality on the AM33xx & AM43xx SoCs. This node is added as a child of the recently added l4_wkup node to reflect its presence within the SoC. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d129be27b8cffcec706b0ccf143c93fba8cc5726 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 13 12:34:54 2015 -0500 ARM: dts: AM33xx: Update and move wkup_m3 node to l4 node The WakeupM3 remote processor device node has been moved to be a child node of the newly created l4_wkup node, to reflect its presence properly within the SoC. The node was added previously before any driver support, it is now updated as per the wkup_m3_rproc bindings added alongside the driver support. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6da74c54162c9582b21be978153513adbf44a678 Author: Dave Gerlach <d-gerlach@xxxxxx> Date: Mon Jul 13 12:34:53 2015 -0500 ARM: OMAP2+: Use pdata-quirks for wkup_m3 reset management Use pdata-quirks to provide platform data required for reset management during boot and shutdown of the wkup_m3 processor on both the AM33xx and AM43xx SoCs. The WkupM3 remote processor is used to implement and achieve low-power functionality on the AM33xx & AM43xx SoCs. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 216883a420dcbf72a8a8e51afd1f33c9659d4c72 Merge: 3fbf02a 7bf46d0 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 14 11:51:16 2015 +0200 Merge tag 'renesas-dt-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Merge "Renesas ARM Based SoC DT Updates for v4.3" from Simon Horman: * Configure IRLM mode via DT on r8a7779 SoC * Use "arm,gic-400" for GIC on r8a777[01349] and r8a73a4 SoCs * Add pinctrl and gpio-hog for lcdc0 to armadillo800eva board * EtherAVB DT support for r8a7790 SoC * Minimal device tree for r8a7793 SoC and its Gose board * tag 'renesas-dt-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7779: Configure IRLM mode via DT ARM: shmobile: r8a7794 dtsi: Use "arm,gic-400" for GIC ARM: shmobile: r8a7793 dtsi: Use "arm,gic-400" for GIC ARM: shmobile: r8a7791 dtsi: Use "arm,gic-400" for GIC ARM: shmobile: r8a7790 dtsi: Use "arm,gic-400" for GIC ARM: shmobile: r8a73a4 dtsi: Use "arm,gic-400" for GIC ARM: shmobile: armadillo800eva dts: Add pinctrl and gpio-hog for lcdc0 ARM: shmobile: r8a7790: add EtherAVB DT support ARM: shmobile: r8a7790: add EtherAVB clocks ARM: shmobile: r8a7793: add minimal Gose board device tree ARM: shmobile: add r8a7793 minimal SoC device tree commit b3f81739ab2acb8416ad58568240d39f0cef3f51 Merge: 63f3469 bd82aff Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 14 11:50:12 2015 +0200 Merge tag 'renesas-pm-domain-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Renesas ARM Based SoC PM Domain Updates for v4.3" from Simon Horman: * Make rcar_sysc_ch const for r8a779[09] SoCs * Get rid of on_off_fn() function pointer * Use BIT() macro instead of open coding * Make struct rcar_sysc_ch * parameters const * Break infinite loop * Shrink rcar_sysc_ch size * Improve documentation * tag 'renesas-pm-domain-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7790: Make struct rcar_sysc_ch const ARM: shmobile: r8a7779: Make struct rcar_sysc_ch const ARM: shmobile: R-Car: Get rid of on_off_fn() function pointer ARM: shmobile: R-Car: Use BIT() macro instead of open coding ARM: shmobile: R-Car: Make struct rcar_sysc_ch * parameters const ARM: shmobile: R-Car: Break infinite loop ARM: shmobile: R-Car: Shrink rcar_sysc_ch size ARM: shmobile: R-Car: Improve documentation Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 63f346937bdb52c09c87b10ca4ccd664a66c7fb8 Merge: bc0195a 20834a4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 14 11:48:31 2015 +0200 Merge tag 'renesas-cleanup-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Renesas ARM Based SoC Cleanup for v4.3" from Simon Horman: * Remove non-multiplatform code from timer * Remove CONFIG_ARCH_SHMOBILE_MULTI check in setup-rcar-gen2.c as it is always true * Remove legacy (non-multiplatform) support for both sh73a0/kzm9g and r8a7740/armadillo800eva * Move to_rmobile_pd from header to source file where it is used * Use BIT() macro instead of open coding in r-mobile PM code * r8a7779: Remove usage of GENPD_FLAG_PM_CLK flag which has no effect * tag 'renesas-cleanup-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: timer: r8a73a4 and r8a7790 are multi-platform only ARM: shmobile: R-Car Gen2: CONFIG_ARCH_SHMOBILE_MULTI is always set ARM: shmobile: Remove obsolete zboot support ARM: shmobile: R-Mobile: Remove legacy PM Domain code ARM: shmobile: Remove unused dma-register.h ARM: shmobile: Remove legacy SoC code for R-Mobile A1 ARM: shmobile: Drop r8a7740-armadillo800eva.dtb for legacy builds ARM: shmobile: Remove legacy armadillo800eva_defconfig ARM: shmobile: Remove legacy board code for Armadillo-800 EVA ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5 ARM: shmobile: Drop sh73a0-kzm9g.dtb for legacy builds ARM: shmobile: Remove legacy kzm9g_defconfig ARM: shmobile: Remove legacy board code for KZM-A9-GT ARM: shmobile: r8a7779: Remove GENPD_FLAG_PM_CLK flag ARM: shmobile: R-Mobile: Use BIT() macro instead of open coding ARM: shmobile: R-Mobile: Move to_rmobile_pd from header to source file Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit cc017fb4d7a3308725afc02af9fd84a171e6e028 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:21 2015 +0530 drm/i915/skl: Restrict the ring frequency table programming to SKL Ring frequency table programming is not required on BXT. Added separate checks to enable the programming only for SKL & skip for BXT. v2: Removed the BXT check from gen6_update_ring_freq function Issue: VIZ-5144 Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 91e2213bdb23e7ca863fba53c82fcd094aeddd24 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 10 13:53:58 2015 +0900 ARM: multi_v7_defconfig: enable UniPhier UART driver The UniPhier on-chip UART driver was merged into the mainline by commit 1a8d2903cb6a ("serial: 8250_uniphier: add UniPhier serial driver"). Enable it from multi_v7_defconfig. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3fbf02a85b6f96b19dd49cabc2d8471d0bd4b5d3 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 10 13:54:00 2015 +0900 ARM: dts: UniPhier: add USB EHCI device nodes No dedicated driver compatible with "socionext,uniphier-ehci" has been supported in the mainline yet, so it falls into "generic-ehci" and it works well enough with our USB 2.0 host controllers. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1bf42507028a85b57260d00be2c33f5012bd3210 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 10 13:53:59 2015 +0900 ARM: dts: UniPhier: add on-chip UART device nodes The UniPhier on-chip UART driver was merged into the mainline by commit 1a8d2903cb6a ("serial: 8250_uniphier: add UniPhier serial driver"). Add device nodes to make it really available. We no longer have to depend on the on-board UART device (16550A), so let's change the chosen and aliases to point to the on-chip ones. Also, turn on the on-board Ethernet device. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f57eb528ec3116e988d3b0ca9cea37cb55f7b17a Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Jul 6 14:41:44 2015 +0300 ARM: multi_v7_defconfig: enable Conexant Digicolor watchdog Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 475c3eeff57f22443c36c5ab9dc185f064b1f288 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Jul 6 14:41:45 2015 +0300 ARM: digicolor: dts: use stdout-path for console configuration Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1172f67f952bc3caf6341b182fb312d5d036fd3a Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Jul 6 14:41:43 2015 +0300 ARM: digicolor: enable watchdog device Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f6d1a814844efc4b326538bd35a8daecd37921ed Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 19:40:52 2015 +0200 ASoC: max98925: Remove control_data initialization The control_data field of the snd_soc_codec struct is no longer used by ASoC drivers using standard regmap IO. There is no need to initialize the field to point to the drivers regmap struct, so drop that. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ce0c22b07871402f9fb8939e09fb4c10811438a Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jul 14 09:32:32 2015 +0100 metag/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> commit 151dd346a2dadaa151d5110553e3fb08774c888e Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 22:48:16 2015 +0200 ARM: shmobile: apmu: silence build warnings With shmobile_defconfig but SMP=n && SUSPEND=n, I get: arch/arm/mach-shmobile/platsmp-apmu.c:49:12: warning: 'apmu_power_off' defined but not used [-Wunused-function] arch/arm/mach-shmobile/platsmp-apmu.c:70:12: warning: 'apmu_wrap' defined but not used [-Wunused-function] Annotate those functions like the functions around it. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 133c9d3cf211f46eae67e453c809db18cb906417 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:46 2015 +0800 ARM: imx: imx_v6_v7_defconfig enable imx6ul support default enable imx6ul support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3df2a1e60e2f9fdaf964ec64adb1976bce2ce82a Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Thu Jul 9 01:23:00 2015 +0800 ARM: imx_v6_v7_defconfig: enable powerkey and syscon power off build in snvs powerkey build in syscon power off support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 20c305f66077d2e646b23336d4404261dc283cf9 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:47 2015 +0800 ARM: imx: add low-level debug support for i.mx6ul Enable low-level debug support for i.MX6UL by adding the debug port definitions for the SoC. Singed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 022d0716bb7e8e0f11eff4ee65fb1e62ffe8f6e1 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:41 2015 +0800 ARM: imx: add i.mx6ul msl support i.MX6UL is a new SOC, add MSL support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 787b4271a6a0c09775241770782b22762f40bd6e Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:42 2015 +0800 clk: imx: add imx6ul clk tree support Add imx6ul clock driver support. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Bai Ping <b51503@xxxxxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 2d6f0600b2cd755959527230ef5a6fba97bb762a Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 13 13:51:39 2015 -0300 crypto: vmx - Adding enable_kernel_vsx() to access VSX instructions vmx-crypto driver make use of some VSX instructions which are only available if VSX is enabled. Running in cases where VSX are not enabled vmx-crypto fails in a VSX exception. In order to fix this enable_kernel_vsx() was added to turn on VSX instructions for vmx-crypto. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 72cd7b44bc99376b3f3c93cedcd052663fcdf705 Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 13 13:51:01 2015 -0300 powerpc: Uncomment and make enable_kernel_vsx() routine available enable_kernel_vsx() function was commented since anything was using it. However, vmx-crypto driver uses VSX instructions which are only available if VSX is enable. Otherwise it rises an exception oops. This patch uncomment enable_kernel_vsx() routine and makes it available. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1f644a7c7cd6a2c310312936d51cb56e6ac56f10 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:46:16 2015 +0900 crypto: marvell/cesa - Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3f31a740c42e07f81bed8178c8ac1c7936ed6993 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:34 2015 +0800 crypto: testmgr - Reenable rfc4106 test Now that all implementations of rfc4106 have been converted we can reenable the test. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 46218750d5230abd86c2b054aa9b8cb74b23413e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:33 2015 +0800 crypto: caam - Use new IV convention This patch converts rfc4106 to the new calling convention where the IV is now part of the AD and needs to be skipped. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c3d219495ed583a03ea10b5b30bccec398299cb7 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:31 2015 +0800 crypto: nx - Use new IV convention This patch converts rfc4106 to the new calling convention where the IV is now part of the AD and needs to be skipped. This patch also makes use of type-safe AEAD functions where possible. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7b05a373a7f8a69622006f3b1ffd06c2507d7990 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:30 2015 +0800 crypto: gcm - Use new IV convention This patch converts rfc4106 to the new calling convention where the IV is now part of the AD and needs to be skipped. This patch also makes use of the new type-safe way of freeing instances. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e9b8d2c20a8749601f44c267590c954d222e9b3e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:28 2015 +0800 crypto: aesni - Use new IV convention This patch converts rfc4106 to the new calling convention where the IV is now in the AD and needs to be skipped. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 34a1c740ea87b5077d1060448a05db14f5f29960 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:26 2015 +0800 crypto: tcrypt - Add support for new IV convention This patch allows the AEAD speed tests to cope with the new seqiv calling convention as well as the old one. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8537544679272b77b8bca1e02263bee4bbea14e6 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:25 2015 +0800 crypto: testmgr - Disable rfc4106 test and convert test vectors This patch disables the rfc4106 test while the conversion to the new seqiv calling convention takes place. It also converts the rfc4106 test vectors to the new format. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e13f0f6d540e8541d9351e213610e2eb5ff05717 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:23 2015 +0800 crypto: aead - Propagate new AEAD implementation flag for IV generators This patch allows the CRYPTO_ALG_AEAD_NEW flag to be propagated. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5964f26c9f6003e9badedb768a0735eaf034ac56 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:22 2015 +0800 crypto: seqiv - Replace seqniv with seqiv This patch replaces the seqniv generator with seqiv when the underlying algorithm understands the new calling convention. This not only makes more sense as now seqiv is solely responsible for IV generation rather than also determining how the IV is going to be used, it also allows for optimisations in the underlying implementation. For example, the space for the IV could be used to add padding for authentication. This patch also removes the unnecessary copying of IV to dst during seqiv decryption as the IV is part of the AD and not cipher text. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5499b1a7311f5ec301ac2baa04a3482ee89ac0ab Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:20 2015 +0800 crypto: echainiv - Fix encryption convention This patch fixes a bug where we were incorrectly including the IV in the AD during encryption. The IV must remain in the plain text for it to be encrypted. During decryption there is no need to copy the IV to dst because it's now part of the AD. This patch removes an unncessary check on authsize which would be performed by the underlying decrypt call. Finally this patch makes use of the type-safe init/exit functions. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f6da32059324e06adacbc1235d50cce4de9d817a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:19 2015 +0800 crypto: cryptd - Propagate new AEAD implementation flag This patch allows the CRYPTO_ALG_AEAD_NEW flag to be propagated. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 846f97df822c00e0042c15b60e01ca0005b3e737 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:18 2015 +0800 crypto: pcrypt - Propagate new AEAD implementation flag This patch allows the CRYPTO_ALG_AEAD_NEW flag to be propagated. It also restores the ASYNC bit that went missing during the AEAD conversion. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ba75e15fa0c4db489ed0d0a9745f904a7d5e19cc Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:17 2015 +0800 crypto: aead - Add type-safe function for freeing instances This patch adds a type-safe function for freeing AEAD instances to struct aead_instance. This replaces the existing free function in struct crypto_template which does not know the type of the instance that it's freeing. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 319382a6970899f02f18da4b0083a6e55942456d Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:15 2015 +0800 crypto: api - Add instance free function to crypto_type Currently the task of freeing an instance is given to the crypto template. However, it has no type information on the instance so we have to resort to checking type information at runtime. This patch introduces a free function to crypto_type that will be used to free an instance. This can then be used to free an instance in a type-safe manner. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 23ad69aafec5d3815fdbe59aea56ec4b59dcae60 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 21:40:39 2015 +0800 crypto: nx/842 - Fix context corruption The transform context is shared memory and must not be written to without locking. This patch adds locking to nx-842 to prevent context corruption. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2c11a3f970d143f86bff096ca84a3d3f3b5ac3c1 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 12:15:14 2015 +0800 crypto: aead - Add aead_queue interface This patch adds a type-safe queueing interface for AEAD. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 31d228cc644034da97394bbadb2dc55ad9bcddb9 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 11:55:30 2015 +0800 crypto: api - Remove unused __crypto_dequeue_request The function __crypto_dequeue_request is completely unused. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 773bb50625cd23c7711bcd1410fffe8a0cab121b Merge: 1425d2d 030f4e9 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 14:55:32 2015 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Merge the crypto tree to pull in the nx reentrancy patch. commit 99e1dfb7d2094d9afc1dca57d525f7b36aa18079 Author: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Date: Mon Jul 13 06:53:02 2015 -0500 EDAC, mce_amd: Don't emit 'CE' for Deferred error Currently, when decoding an MCE, we display 'CE' for a Deferred error, like this: [Hardware Error]: CPU:0 (15:2:0) MC4_STATUS[Over|CE|MiscV|-|AddrV|Deferred|-|UECC]: 0xdc04b00095080813 When the 'UC' bit in the MCx_STATUS register is clear, the error status is either a Corrected error or Deferred error as determined by the 'Deferred' bit. So do not print 'CE' on a deferred error. Refer to AMD Error Scope Hierarchy table in a newer BKDG (example: 49125_15h_Models_30h-3Fh_BKDG.pdf, section "RAS Features"). Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436788382-6463-1-git-send-email-aravind.gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit aa66d6f87f300b15ac2efdcde9e198bf5a9020ce Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 13 23:17:57 2015 -0400 staging/lustre/libcfs: Fix kstrtouint return value check fix Apparently kstrtouint could return not just -EINVAL, but also -ERANGE, so make sure we just check the return value for something negative. Noticed by Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96d1865d344a966ab534fb16c55e8dd4601efb71 Author: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Date: Mon Jul 13 23:17:56 2015 -0400 staging/lustre/libcfs: remove unused portal_enter_debugger variable Remove portal_enter_debugger because it's not used any more. Signed-off-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35ca907d245e8c218f39b6ed8bd6a1c656d056cc Author: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Date: Mon Jul 13 23:17:55 2015 -0400 staging/lustre/libcfs: get rid of debugfs/lnet/console_{min, max}_delay_centisecs They are just fancy module parameters wrappers, so just the same functionality now would be accessible via /sys/module/libcfs/parameters/libcfs_console_{min,max}_delay Also install compatibility symlinks Signed-off-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8dc08446d0671709bdec9e037845b014e33663b1 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 13 23:17:54 2015 -0400 staging/lustre/libcfs: get rid of debugfs/lnet/debug_mb It's just a fancy libcfs_debug_mb module parameter wrapper, so just add debug buffer size check and resizing and the same functionality now would be accessible via /sys/module/libcfs/parameters/libcfs_debug_mb Also add a symlink for backwards compatibility. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e9f88e68801fe7f862d7ab57041a68f91ce9b5a Author: Perry Hooker <perry.hooker@xxxxxxxxx> Date: Mon Jul 13 17:33:47 2015 -0600 staging: lustre: libcfs: move assignment out of conditional Found by checkpatch.pl Signed-off-by: Perry Hooker <perry.hooker@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b2d5577c507d35cc2ea205eba0b101003cc2fe9 Author: Ronit Halder <ronit.crj@xxxxxxxxx> Date: Fri Jul 10 23:05:39 2015 +0530 Staging: lustre: fixed a blank line after declarations coding style issue Fixed a blank line after declarations coding style issue Signed-off-by: Ronit Halder <ronit.crj@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d3d44729775998ad9efb47f2946378c764854a4 Author: Kris Baumann <krisbaumann@xxxxxxxxx> Date: Thu Jul 9 22:12:48 2015 +0200 Staging: lustre: lustre: obdclass: genops: fixed brace coding style issues Fixed several brace coding style issues. Signed-off-by: Kris Baumann <krisbaumann@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 574150f0d275c4caf04156ecda6f9f988d6f5ffd Author: Anders Fridlund <anders.fridlund@xxxxxxxxx> Date: Thu Jul 9 11:02:09 2015 +0200 staging:lustre: fix "space required after that ', '" error in cl_page.c This is a patch to the cl_page.c file that fixes a "space required after that ','" error found by the checkpatch.pl tool. Signed-off-by: Anders Fridlund <anders.fridlund@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e0e332a7a4ac8a00ba06b536ecda8582b5a0814 Author: Matt Mooney <mfm@xxxxxxxxxxxxx> Date: Wed Jul 8 09:21:11 2015 -0700 staging: lustre: make ptlrpc_init static fix sparse warning in lustre/ptlrpc/ptlrpc_module.c:54:12: warning: symbol 'ptlrpc_init' was not declared. Should it be static? The __init macro is moved before the function name to match standard usage. Signed-off-by: Matt Mooney <mfm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db07a4c968fb5045c382be493bd2bd3ba8412b3e Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Wed Jul 8 13:34:36 2015 +0000 staging: lustre: remove dead code This patch removes commented code. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90c94b564265474cffe55888ce25f45ce0ce4bb5 Author: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Date: Mon Jul 6 12:48:55 2015 -0400 staging/lustre/libcfs: Remove unneeded lnet watchdog_ratelimit sysctl It is no longer used anywhere. Signed-off-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 323b0b2c1e57d3c089473d755ff9a001d1a6bc8f Author: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Date: Mon Jul 6 12:48:54 2015 -0400 staging/lustre/libcfs: Remove redundant enums and sysctl moduleparams /proc/sys/lnet/lnet_memused Remove memory tracking for LNet. Remove redundant enums definition. Signed-off-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8710427dd68f4dff8976d221e220317cea20ecec Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:53 2015 -0400 staging/lustre/libcfs: get rid of debugfs/lnet/console_backoff module parameter libcfs_console_backoff accessible through /sys/module/libcfs/parameters/libcfs_console_backoff would do the same thing, just add a special "uintpos" parameter type to disallow 0 values too. Also add a symlink to the module parameter variable for backwards compatibility Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b4d97b6c6ca05446ff33843a7b174cdd765df5a Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:52 2015 -0400 staging/lustre/libcfs: Remove redundant lnet debugfs variables /proc/sys/lnet/console_ratelimit, debug_path and panic_on_lbug are module parameters with no special magic accessible via /sys/module/libcfs/parameters/libcfs_console_ratelimit, /sys/module/libcfs/parameters/libcfs_debug_file_path and /sys/module/libcfs/parameters/libcfs_panic_on_lbug respectively. As such just replace them with corresponding symlinks Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0871d551af37c72c308397c16c31bae945e6a79d Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:51 2015 -0400 staging/lustre/libcfs: move /proc/sys/lnet to debugfs Parameters in lnet sysctl are of debug quantity, so let's move them to debugfs instead. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8952aad1cfc178cae5205546be62f0e22a056f0b Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:50 2015 -0400 staging/lustre: Get rid of remaining /proc/sys/lustre plumbing Since all of the variables from /proc/sys/lustre were moved to /sys/fs/lustre, get rid of the remaining infrastructure. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcef118e7ed67e28edcaab9be9ca11412176c540 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:49 2015 -0400 staging/lustre/obdclass: Move AT controls from sysctl to sysfs Adaptive Timeouts controls are being moved from /proc/sys/lustre to /sys/fs/lustre Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e7fa14935901bcd09576b2866d5dd15f69caf83 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:48 2015 -0400 staging/lustre/obdclass: move debug controls to sysfs debug_peer_on_timeout, dump_on_timeout and dump_on_eviction controls from /proc/sys/lustre to /sys/fs/lustre Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df476a4d5de09d9324b108fc9c5ff2c00a0850d0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:47 2015 -0400 staging/lustre/obdclass: move max_dirty_mb from sysctl to sysfs max_dirty_mb is now a parameter in /sys/fs/lustre/ Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2424a1265f2772b66f068c205256e2aef5f74a0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:46 2015 -0400 staging/lustre/obdclass: move sysctl timeout to sysfs This is the first step of moving lustre sysctls from /proc/sys/lustre to /sys/fs/lustre Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 082a33441f5e0f8b59b6a7297fdfca064d55fb26 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:45 2015 -0400 staging/lustre: Remove unneeded ldlm_timeout control ldlm_timeout is used server-side to determine AST timeouts, so it makes no sense on the client, esp. since it's not really used anywhere. Remove all traces of it except from the config where make it a noop. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2836cd81a9ca8d3fc7c86fe4167b8053d784e725 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:44 2015 -0400 staging/lustre: Remove now obsolete memory tracking sysctls In the past when Lustre did its own allocation amounts tracking the results were shown in sysctl as current and overall max number of bytes and pages allocated. Now that we don't track these, remove the sysctls. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80595b7498a1c4c7bb4f3db3bd8b7998196c8719 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:43 2015 -0400 staging/lustre: remove alloc_fail_rate sysctl It was used to control allocation failure rate, but there is in-kernel way of doing that that's more versatile too. This is going to remove just the sysctl, the underlying variable will be removed once all OBD_ALLOC* macros removal patchseries land. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c4872f94359ed38a1392c0a9238c48a9aee6f8f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:42 2015 -0400 staging/lustre/obdclass: fix class_procfs_init error return value Dan Carpenter noticed that procfs conversion patches introduced a bug where should kobject_create_and_add, an error is not returned from class_procfs_init. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit faa7a4e3e03889267f66a98d85434b4ff7dd0087 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:41 2015 -0400 staging/lustre/ldlm: In ldlm_pools_fini make sure there was init first. It turns out if you call ldlm_pools_fini without completing the ldlm_pools_init, then attempt to unregister not yet registered shrinkers makes the kernel very unhappy. So make sure we have them registered first. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a491f2b80f2806221ba3a5a3e26fbe945f82d83 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:40 2015 -0400 staging/lustre: make ldebugfs_remove recursive ldebugfs_remove is usually called on directories with files passed in as attributes, so simple debugfs_remove failes on them as not empty Switch to debugfs_remove_recursive. This fixes a number of problems where a new filesystem is mounted after being unmounted first. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c150f0081647c0b96ce0d61d541b9b470433676 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Jun 24 10:09:24 2015 -0400 staging/lustre/lov: Move target sysfs symlink removal to LOV freeing This helps to avoid use after free on unmount. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a82de7ea52e74b39b9e13ec0d6372378181dcfd0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Jun 24 10:07:45 2015 -0400 staging/lustre/lnet: Move asm/irq.h include after linux includes Apparently m86k cannot build if you include asm/irq.h before linux/* includes and fixing it there is hard. So just move asm/irq.h include to where it does not cause any problems. Thanks to Geert Uytterhoeven for getting to the root of it. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Compile-Tested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fad22d71bbba464bfb30ea5e5c18c52cc8e35168 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 21:07:49 2015 +0200 staging: lustre: libcfs: drop trivially useless initialization Remove initialization of a variable that is immediately reassigned. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d0c8b75713491cdb3f6e7792b68ccaae9e7518e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 21:07:52 2015 +0200 staging: lustre: obdclass: llog: drop trivially useless initialization Remove initialization of a variable that is immediately reassigned. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a84b7fd5f7539a1eca943a17ba9d7cafc10f3f90 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 21:07:51 2015 +0200 staging: lustre: lmv: drop trivially useless initialization Remove initialization of a variable that is immediately reassigned. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53a0d4868703c5d5d5dc0d0eaf9166d6bba9a697 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 21:07:53 2015 +0200 staging: lustre: osc: drop trivially useless initialization Remove initialization of a variable that is immediately reassigned. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f82ced5d6bce6cd0719e95f744bfeb8f81677790 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 21:07:50 2015 +0200 staging: lustre: llite: drop trivially useless initialization Remove initialization of a variable that is immediately reassigned. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 597851ac2ae4e3857f2ab410adb0775951a09fa0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:10 2015 +0200 staging: lustre: ptlrpc: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3408e9aeee5fedd0eab223502074cad3120324b0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:09 2015 +0200 staging: lustre: osc: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efeb257dcf1c84fa05eff06cb829906576ae21b8 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:08 2015 +0200 staging: lustre: obdecho: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 485640b536adc451330815a75f433be15c655243 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:07 2015 +0200 staging: lustre: obdclass: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c829be817600694bb99bb978943a6ef966874160 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:06 2015 +0200 staging: lustre: mgc: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb144d09a95c6016528ec869b4398ae679cc4df7 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:05 2015 +0200 staging: lustre: mdc: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36a86fe68f875d2b3fc8a61d4a80494e57333f1f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:04 2015 +0200 staging: lustre: lov: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76e4290ccc428fddd9052d12ceb5b806ae982a26 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:03 2015 +0200 staging: lustre: lmv: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94e67761bd05150976342516180508d93a0a7c07 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:02 2015 +0200 staging: lustre: ldlm: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c38ce3548e0c5df27b63f9b591f11a9c34416576 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:01 2015 +0200 staging: lustre: lclient: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 812f205962e20f4e4052e42d0009b05988760ef2 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:00 2015 +0200 staging: lustre: fld: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c7c65538632f0961df8f02e3be446eb03f687e4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:58:59 2015 +0200 staging: lustre: fid: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 638d3c63811e31b2745f7fdd568b38c8abcffe03 Merge: 74fe61f f760b87 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 13 17:28:09 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/bridge/br_mdb.c Minor conflict in br_mdb.c, in 'net' we added a memset of the on-stack 'ip' variable whereas in 'net-next' we assign a new member 'vid'. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86665d2897209429a7e4a003764b9fc5034dbfa1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 7 18:30:05 2015 -0700 clk: st: Fix error paths and allocation style The error paths in this file leak memory and mappings and test for pointers being valid after dereferencing them. Fix these problems and properly free resources on errors. Fix some stylistic things too like using sizeof(*ptr) and fitting more code on a single line. Note that we don't unregister clocks here. That needs a clk_composite_unregister() API that we don't have right now. Acked-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Cc: Pankaj Dev <pankaj.dev@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 74fe61f17e999a458d5f64ca2aa9a0282ca32198 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 08:02:08 2015 -0700 bridge: mdb: add vlan support for user entries Until now all user mdb entries were added in vlan 0, this patch adds support to allow the user to specify the vlan for the entry. About the uapi change a hole in struct br_mdb_entry is used so the size and offsets are kept the same (verified with pahole and tested with older iproute2). Example: $ bridge mdb dev br0 port eth1 grp 239.0.0.1 permanent vlan 2000 dev br0 port eth1 grp 239.0.0.1 permanent vlan 200 dev br0 port eth1 grp 239.0.0.1 permanent Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4675f935399cbdd3ba3869b0bf6c60528c8111a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Jul 13 20:49:32 2015 +0200 ebpf: remove self-assignment in interpreter's tail call ARG1 = BPF_R1 as it stands, evaluates to regs[BPF_REG_1] = regs[BPF_REG_1] and thus has no effect. Add a comment instead, explaining what happens and why it's okay to just remove it. Since from user space side, a tail call is invoked as a pseudo helper function via bpf_tail_call_proto, the verifier checks the arguments just like with any other helper function and makes sure that the first argument (regs[BPF_REG_1])'s type is ARG_PTR_TO_CTX. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de551f2eb22a77a498cea9686f39e79f25329109 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Jul 13 08:48:00 2015 -0700 net: Build IPv6 into kernel by default This patch makes the default to build IPv6 into the kernel. IPv6 now has significant traction and any remaining vestiges of IPv6 not being provided parity with IPv4 should be swept away. IPv6 is now core to the Internet and kernel. Points on IPv6 adoption: - Per Google statistics, IPv6 usage has reached 7% on the Internet and continues to exhibit an exponential growth rate https://www.google.com/intl/en/ipv6/statistics.html - Just a few days ago ARIN officially depleted its IPv4 pool - IPv6 only data centers are being successfully built (e.g. at Facebook) This patch changes the IPv6 Kconfig for IPV6. Default for CONFIG_IPV6 is set to "y" and the text has been updated to reflect the maturity of IPv6. Impact: Under some circumstances building modules in to kernel might have a performance advantage. In my testing, I did notice a very slight improvement. This will obviously increase the size of the kernel image. In my configuration I see: IPv6 as module: text data bss dec hex filename 9703666 1899288 933888 12536842 bf4c0a vmlinux IPv6 built into kernel text data bss dec hex filename 9436490 1879600 913408 12229498 ba9b7a vmlinux Which increases text size by ~270K (2.8% increase in size for me). If image size is an issue, presumably for a device which does not do IP networking (IMO we should be discouraging IPv4-only devices), IPV6 can be disabled or still built as a module. Acked-by: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c149e4cd08ba01f4d2d0104f469d5f5419294e06 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Jun 3 11:46:22 2015 +0800 x86/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ff96b4d0333baa001b404882b28b7d992b02415b Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:18 2015 +0800 x86/irq: Use accessor irq_data_get_irq_handler_data() Use accessor function irq_data_get_irq_handler_data() to hide irq_desc implementation details. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5f2dbbc51734fc51e8e3e2c3ab7096a58ac72e86 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:14 2015 +0800 x86/irq: Use accessor irq_data_get_node() Use accessor irq_data_get_node() to hide struct irq_data implementation detail, so we can move node to irq_data_common later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4ab0c591c1482c90d14c1d11bf4b469c54a31ecc Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Sun Jul 12 08:14:21 2015 -0700 ASoC: max98357a: Do not print error message on asoc/gpio errors gpiolib/asoc system already prints enough info if there are any problems. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 508e61953f7b2c5c828412e5b46fa99b8a3fbaa1 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Sun Jul 12 08:14:20 2015 -0700 ASoC: max98357a: Use DAI input as a dapm widget Spec does not say anything about DAC called SDMode. It makes more sense to use DAI input that created automatically by DAPM and route it to Speaker output. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5119222f2e3de2e51a3b3270036d53c55ce68236 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Sun Jul 12 08:14:19 2015 -0700 ASoC: max98357a: Make 'sdmode-gpios' dts property optional The option is not needed if chip is always on or managed by some other part of system like platform card driver. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7bd393543287b921f964a350166bf2866527a1b5 Author: James Ban <james.ban.opensource@xxxxxxxxxxx> Date: Tue Jun 30 13:39:39 2015 +0900 regulator: da9211: support da9215 This is a patch for supporting da9215 buck converter. Signed-off-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fda4d578ed0a7e1d116f56a15efea0e4ba78acad Author: Laurent Bigonville <bigon@xxxxxxxx> Date: Tue Jul 7 23:10:52 2015 +0200 selinux: explicitly declare the role "base_r" This fixes the compilation of policy generated by mdp with the recent version of checkpolicy. Signed-off-by: Laurent Bigonville <bigon@xxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit c3c188b2c3ed29effe8693672ee1c84184103b4e Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Jul 10 17:19:58 2015 -0400 selinux: Create a common helper to determine an inode label [ver #3] Create a common helper function to determine the label for a new inode. This is then used by: - may_create() - selinux_dentry_init_security() - selinux_inode_init_security() This will change the behaviour of the functions slightly, bringing them all into line. Suggested-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit bd1741f4cf05d7709348f591d16eeb5f786de673 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Fri Jul 10 17:19:57 2015 -0400 selinux: Augment BUG_ON assertion for secclass_map. Ensure that we catch any cases where tclass == 0. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 5dee25d08eac01472904b0ab32ce35edee5c0518 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Fri Jul 10 17:19:57 2015 -0400 selinux: initialize sock security class to default value Initialize the security class of sock security structures to the generic socket class. This is similar to what is already done in inode_alloc_security for files. Generally the sclass field will later by set by socket_post_create or sk_clone or sock_graft, but for protocol implementations that fail to call any of these for newly accepted sockets, we want some sane default that will yield a legitimate avc denied message with non-garbage values for class and permission. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 9629d04ae06812f217846b69728c969afee690b4 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Fri Jul 10 17:19:56 2015 -0400 selinux: reduce locking overhead in inode_free_security() The inode_free_security() function just took the superblock's isec_lock before checking and trying to remove the inode security struct from the linked list. In many cases, the list was empty and so the lock taking is wasteful as no useful work is done. On multi-socket systems with a large number of CPUs, there can also be a fair amount of spinlock contention on the isec_lock if many tasks are exiting at the same time. This patch changes the code to check the state of the list first before taking the lock and attempting to dequeue it. The list_del_init() can be called more than once on the same list with no harm as long as they are properly serialized. It should not be possible to have inode_free_security() called concurrently with list_add(). For better safety, however, we use list_empty_careful() here even though it is still not completely safe in case that happens. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit fa1aa143ac4a682c7f5fd52a3cf05f5a6fe44a0a Author: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Date: Fri Jul 10 17:19:56 2015 -0400 selinux: extended permissions for ioctls Add extended permissions logic to selinux. Extended permissions provides additional permissions in 256 bit increments. Extend the generic ioctl permission check to use the extended permissions for per-command filtering. Source/target/class sets including the ioctl permission may additionally include a set of commands. Example: allowxperm <source> <target>:<class> ioctl unpriv_app_socket_cmds auditallowxperm <source> <target>:<class> ioctl priv_gpu_cmds Where unpriv_app_socket_cmds and priv_gpu_cmds are macros representing commonly granted sets of ioctl commands. When ioctl commands are omitted only the permissions are checked. This feature is intended to provide finer granularity for the ioctl permission that may be too imprecise. For example, the same driver may use ioctls to provide important and benign functionality such as driver version or socket type as well as dangerous capabilities such as debugging features, read/write/execute to physical memory or access to sensitive data. Per-command filtering provides a mechanism to reduce the attack surface of the kernel, and limit applications to the subset of commands required. The format of the policy binary has been modified to include ioctl commands, and the policy version number has been incremented to POLICYDB_VERSION_XPERMS_IOCTL=30 to account for the format change. The extended permissions logic is deliberately generic to allow components to be reused e.g. netlink filters Signed-off-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Acked-by: Nick Kralevich <nnk@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 671a2781ff01abf4fdc8904881fc3abd3a8279af Author: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Date: Fri Jul 10 17:19:55 2015 -0400 security: add ioctl specific auditing to lsm_audit Add information about ioctl calls to the LSM audit data. Log the file path and command number. Signed-off-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Acked-by: Nick Kralevich <nnk@xxxxxxxxxx> [PM: subject line tweak] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit e4ca061275ec6a48b66c6edebe08644e666994c0 Author: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Date: Wed Jul 8 15:31:52 2015 +0200 drm/i915: Don't forget to mark crtc as inactive after disable Watermark calculations depend on the intel_crtc->active flag to be set properly. Suspend/resume is broken on SKL and we also get DDB mismatches without this patch. The regression was introduced in: commit eddfcbcdc27fbecb33bff098967bbdd7ca75bfa6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:53 2015 +0200 drm/i915: Update less state during modeset. No need to repeatedly call update_watermarks, or update_fbc. Down to a single call to update_watermarks in .crtc_enable Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> v2: Don't touch disable_shared_dpll() Signed-off-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91203 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ff63aed1d0023c1121fc199ee9ef1e201fc2bef9 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jun 29 10:05:43 2015 -0300 ARM: imx_v6_v7_defconfig: Select HCIUART_H4 The old warp board revision had hardware issues that prevented the RTS/CTS lines to work with the Bluetooth module. Tha latest rev1.12 fixes this problem, so now we should better use CONFIG_BT_HCIUART_H4 instead, as it provides a better throughput than the CONFIG_BT_HCIUART_3WIRE option. Suggested-by: Arthur Lambert <arthur@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit f4acd122a738d0601de3a96743859b9c7a82bd6a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 11:03:15 2015 +0200 ARM/orion/gpio: Prepare gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. In this case the irq argument is shadowed by a local variable already, so just rename it. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 9ec97561aa6ddc1c1ef6f522a72c883781c4a67d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 10:58:22 2015 +0200 ARM/pxa: Prepare balloon3_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. While at it fix the pointless lookup of irq_data with the proper methods to retrieve the same information from the irq descriptor. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 6947d04a5c49bf036c779527e4efa1d64a752513 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 10:17:54 2015 +0200 ARM/pxa: Prepare *_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 1c2d4afa77959f3ac7013041e35f5cbe241e9415 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 10:16:33 2015 +0200 ARM/dove: Prepare pmu_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit b9dce3acd076d36838396acd5afb89e3e6f1b064 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 10:15:12 2015 +0200 ARM/sa1111: Prepare sa1111_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 6bf9e97b69eab92482983419792104786b27f411 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 10:09:44 2015 +0200 ARM/locomo: Prepare locomo_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit f575398bff9ae08086b345ecf724568be53818ee Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:19 2015 +0800 ARM, irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8c06e117bedc4085e54dd968e95afdf03e91dff2 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:26 2015 +0200 ARM/LPC32xx: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 84f551c75ba5f578ede6451ad78a690201a8a3bc Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:25 2015 +0800 ARM/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6d0786acda39def7c299aec6b9fe24388c2deee6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jun 22 09:08:11 2015 +0200 ARM/locomo: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 206287c2c8dd61b5316c0dab459208e82d68e48d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:25:10 2015 +0200 ARM/orion: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 72ce6787e37a14f6aaab1a0b024f20440c961517 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon Jul 13 15:42:00 2015 +0300 xtensa: ISS: add missing va_end into split_if_spec Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit b1a55af2773d5e4d30b748517fedfac26fc5fd81 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:39:22 2015 +0900 power_supply: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2259b5bbaac847f9f322659953966ebb53cfd9bc Author: Simon Wood <simon@xxxxxxxxxxxxx> Date: Fri Jul 10 00:10:21 2015 -0600 HID: sony: Navigator Axis for L1 button Patch HID report descriptor to add joystick axis for the L1 button (previously missing). Signed-off-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 70caee0a3721956a98cb4bfbfa0eaa38c9182e44 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Jul 9 14:11:51 2015 -0400 HID: wacom: remove the extra Pen interface for Wacom Bamboo PAD As mentioned in the comment in the code, both the pen and touch data come from the interface tagged as BAMBOO_PAD. The driver re-routes the events for the Pen to the generic HID interface and keeps the ones for the touch through this current interface. Clearing the WACOM_DEVICETYPE_PEN bit removes the extra unused interface added in 2a6cdbd ("HID: wacom: Introduce new 'touch_input' device") and makes the Bamboo PAD to behave like in 4.1. Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 7035f3a4e2444490d461f8b17c2275d61fefd980 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Fri Jul 10 12:48:21 2015 -0700 HID: rmi: Write updated F11 control registers after reset When a device is reset the values of control registers will be reset to the defaults. This patch reapplies the control register values set for F11 by the driver. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 9cae85f5e26fb59e4436e0676a9aceb461f30c63 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sat Jul 11 08:18:59 2015 +0800 ASoC: sti-sas: fix platform_no_drv_owner.cocci warnings sound/soc/codecs/sti-sas.c:616:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a2f3a8ca5219651292447f0e1124b3412bc3abff Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Jul 13 11:53:08 2015 +0100 ASoC: sti-sas: Remove spurious dependency on SND_SOC_STI Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 589bef3296317b5507a9a6e2e14fb30dd40ee764 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Jul 13 13:26:45 2015 +0800 ASoC: sti-sas: Staticise local symbols Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e27d9ee6e709db070145847f9b5f52008f6eab84 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Jul 13 13:25:34 2015 +0800 ASoC: sti-sas: Fix checking return value for ERR_PTR Both devm_regmap_init and syscon_regmap_lookup_by_phandle return ERR_PTR on failure. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ef3355d22046f4b2c00b0fdf964d6c92fd3f050d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 12:26:48 2015 +0200 ASoC: uda134x: Use regmap_update_bits() were appropriate Instead of doing the read-modify-update cycle by hand when updating a register use regmap_update_bits(). This also means we can now remove uda134x_read_reg_cache() and uda134x_write() since they are unused. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f33c340a51e81a2e6af316b1b8b9b769d32ce8b7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 12:26:47 2015 +0200 ASoC: uda134x: Convert to regmap Use regmap rather then the legacy ASoC IO for the uda134x driver. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82c7b531f3328dbbb7a53d0f1dc53b92846c411c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 12:26:46 2015 +0200 ASoC: uda134x: Explicitly handle in-data addresses The UDA134X family extends the rather limited L3 register set by using part of the register value as additional address bits. These extra address bits are currently stored in the default register cache and rely on them remaining constant. While this works it is rather idiomatic and slightly confusing. Change it so that the additional address bits are explicitly added when writing a register. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f15c444e58ed5b5dfc6056249ef8a74d00118be3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 12:26:45 2015 +0200 ASoC: uda134x: Move state struct allocation to bus probe Resource allocations should be done in the bus probe rather than the CODEC probe. Move the allocation of the drivers state struct there. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 04dc91ce2cca5927159c689aa1f47663f8c51530 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 12:26:44 2015 +0200 regmap: Add better support for devices without readback support Currently regmap requires that a reg_read callback is supplied, otherwise a warning is emitted each time regmap_read() is called. This means a device or bus without readback support needs to supply dummy reg_read callback. Apart from that regmap_read() will still work fine if a cache is used. Remove the warning and let regmap_readable() return false if not reg_read callback is supplied. This means a device no longer has to supply a dummy callback if it does not support readback and it also doesn't have to have a readable_reg callback that always returns false since this is now implicit. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4245746037e379dc9f1388e422d52001cd431921 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 24 14:14:21 2015 +0200 regulator: da9210: Add optional interrupt support Add optional interrupt support to the da9210 regulator driver, to handle over-current, under- and over-voltage, and over-temperature events. Only the interrupt sources for which we handle events are unmasked, to avoid interrupts we cannot handle. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd25dd5b766858b730af00d5b2bbaf6ad2b80c27 Author: Deepak S <deepak.s@xxxxxxxxx> Date: Fri Jul 10 18:31:40 2015 +0530 drm/i915: Update PM interrupts before updating the freq Currently we update the freq before masking the interrupts, which can allow new interrupts to occur before the frequency has changed. These extra interrupts might waste some cpu cycles. This patch corrects this by masking interrupts prior to updating the frequency. Note from Chris: "Well it won't waste CPU cycles as the interrupt is also masked by the threshold limits, but there should be no harm at all in reordering the patch so, and it does make a certain amount of sense." Signed-off-by: Deepak S <deepak.s@xxxxxxxxx> Signed-off-by: Praveen Paneri <praveen.paneri@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add note from Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit feecb691007831263e6285a25a323f175a081f42 Author: Thulasimani,Sivakumar <sivakumar.thulasimani@xxxxxxxxx> Date: Fri Jul 10 12:30:43 2015 +0530 drm/i915: storm detection documentation update Update the hotplug documentation to explain that hotplug storm is not expected for Display port panels and hence is not handled in current code. v2: update the statements as recommended by Daniel Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5e6ccc0b3d16725028caccceb2460fc3473d7d55 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 14:44:11 2015 +0300 drm/i915: Adjust BXT HDMI port clock limits Since commit e62925567c7926e78bc8ca976cde5c28ea265a49 Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Wed Jul 1 17:02:57 2015 +0530 drm/i915/bxt: BUNs related to port PLL BXT DPLL can now generate frequencies in the 216-223 MHz range. Adjust the HDMI port clock checks to account for the reduced range of invalid frequencies. Cc: Vandana Kannan <vandana.kannan@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2be7d540fde3f82e404cbddeeb2fdf05cf33af3c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jun 29 15:25:51 2015 +0300 drm/i915: Refactor VLV display power well init/deinit We do the exact same steps around the disp2d/pipe A power well enable/disable on VLV and CHV. Refactor the shared code into some helpers. Note that this means we now call vlv_power_sequencer_reset() before turning off the power well, whereas before we did it after. That doesn't matter though since vlv_power_sequencer_reset() just resets the power sequencer software tracking and doesn't touch the hardware at all. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8fcd5cd8b3cb29019937ab4b773da27a37e8e79b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jun 29 15:25:50 2015 +0300 drm/i915: Simplify CHV pipe A power well code The pipe A power well is the "disp2d" well on CHV and pipe B and C wells don't even exist. Thereforce we can remove the checks for pipe A vs. others and just assume it's always pipe A. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 60bfe44f83c0a9d7293e821c4ddae3770d60acf9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jun 29 15:25:49 2015 +0300 drm/i915: Apply OCD to VLV/CHV DPLL defines Drop the spurious 'A' from the VLV/CHV ref clock enable define, and add the "REF" to the VLV ref clock selection bit. Also s/CLOCK/CLK/ for extra consistency. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b8afb9113c519a8bd742f7df8c424b0af69a75cd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jun 29 15:25:48 2015 +0300 drm/i915: Keep GMCH DPLL VGA mode always disabled We disable the DPLL VGA mode when enabling the DPLL, but we enaable it again when disabling the DPLL. Having VGA mode enabled even in unused DPLLs can cause problems for CHV, so it seems wiser to always keep it disabled. And let's just do that on all GMCH platforms to keep things as similar as possible between them. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f936ec34dea8da6f38340c1ae2cb35207d8d78cb Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:22 2015 +0530 drm/i915/skl: Updated the i915_ring_freq_table debugfs function Updated the i915_ring_freq_table debugfs function to support the read of ring frequency table, through Punit interface, for SKL also. Issue: VIZ-5144 Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4c8c7743b53fb169ef2cb07a9eaa80c1b6c1d04e Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:20 2015 +0530 drm/i915/skl: Ring frequency table programming changes Ring frequency table programming changes for SKL. No need for a floor on ring frequency, as the issue of performance impact with ring running below DDR frequency, is believed to be fixed on SKL v2: Removed the check for avoiding ring frequency programming for BXT (Rodrigo) Issue: VIZ-5144 Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c5e0688cc75e46b0e9be39224d8e4646593ef375 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:19 2015 +0530 drm/i915/skl: Retrieve the Rpe value from Pcode Read the efficient frequency (aka RPe) value through the the mailbox command (0x1A) from the pcode, as done on Haswell and Broadwell. The turbo minimum frequency softlimit is not revised as per the efficient frequency value. v2: Replaced the conditional expression operator with 'if' statement (Tom) v3: Corrected the derivation of efficient frequency & shifted the GEN9_FREQ_SCALER multiplications downwards (Ville) Issue: VIZ-5143 Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 05e062f92c917b14ffa944e4a98e5348b53b1390 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Jun 26 14:10:54 2015 -0300 clk: imx: clk-imx6q: Provide initial IPU clock settings for mx6dl Currently it is not possible to use HDMI and LVDS at the same time on a imx6dl-sabresd board. Fix this usecase by setting IMX6QDL_CLK_PLL3_PFD1_540M to 540MHz and also by setting it as the parent of IMX6QDL_CLK_IPU1_SEL. Based on the configuration done in the FSL kernel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d0796c4cd91dc9a329e48d2ff804532ed0b4c676 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Jul 13 00:51:02 2015 -0700 ARM: OMAP2+: Remove legacy booting support for LogicPD Torpedo We've been moving all omap2+ based systems to boot in device tree only mode for a few years now. Only omap3 has legacy booting support remaining. Most omap3 boards already have related arch/arm/boot/*.dts* files for booting with device tree. This board has support for device tree based booting, and we've been printing warnings about the legacy booting being deprecated for a few merge cycles now. Let's attempt to remove the legacy booting for it. The reason for removing the legacy booting support now rather than later is we can simply revert this patch if necessary if we run into some unexpected issues that are not trivial to fix for the device tree based booting. Cc: Tim Nordell <tim.nordell@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f951e51003860705fc9fc663fbce90f8263a6804 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 23 17:01:13 2015 +1000 powerpc/powernv: Unfreeze VF PE on releasing it When releasing PE for SRIOV VF, the PE is forced to be frozen wrongly. When the same PE is picked for another VF, it won't work anyhow. The patch fixes the issue by unfreezing, not freezing the VF PE when releasing it. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 283e2d8a594bc902d0c830bb324c15d5be755900 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 13:45:47 2015 +1000 powerpc/powernv: Include VF PE in PELTV of PF PE The PELTV of PF PE should include VF PE, which is missed by current code, so that the VF PE is frozen automatically when freezing PF PE. The patch fixes the PELTV of PF PE to include VF PE. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 26ba248d52854b267a3d728f2281efa89259eae4 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 12:26:19 2015 +1000 powerpc/powernv: Pick M64 PEs based on BARs On PHB3, PE might be reserved in advance to reflect the M64 segments consumed by the PE according to M64 BARs (exclude VF BARs) of the PCI devices included in the PE. The PE is picked based on M64 BARs instead of the bridge's M64 windows, which might include VF BARs. Otherwise, wrong PE could be picked. The patch calculates the used M64 segments and PE numbers according to the M64 BARs, excluding VF BARs, of PCI devices in one particular PE, instead of the bridge's M64 windows. Then the right PE number is picked. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d1203852dfbbbd043bbd831761c117af752d1eda Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 12:26:18 2015 +1000 powerpc/powernv: Boolean argument for pnv_ioda_setup_bus_PE() The patch changes the type of last argument of pnv_ioda_setup_bus_PE() and phb::pick_m64_pe() to boolean. No functional change. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 96a2f92bf8a4d0bf4a49bdd6539561a2c3289f37 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 12:26:17 2015 +1000 powerpc/powernv: Reserve M64 PEs based on BARs On PHB3, some PEs might be reserved in advance to reflect the M64 segments consumed by those PEs. We're reserving PEs based on the M64 window of root port, which might contain VF BAR. The PEs for VFs are allocated dynamically, not reserved based on the consumed M64 segments. So the M64 window of root port isn't reliable for the task. Instead, we go through M64 BARs (VF BARs excluded) of PCI devices under the specified root bus and reserve PEs accordingly, as the patch does. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e9dc4d7f72a375020ecbc9ca35b098fd9018910b Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 12:26:16 2015 +1000 powerpc/powernv: Allow to reserve one PE for multiple times The PE numbers are reserved according to root port's M64 window, which is aligned to M64 segment finely. So one PE shouldn't be reserved for multiple times. We will reserve PE numbers according to the M64 BARs of PCI device in subsequent patches, which aren't aligned to M64 segment size finely. It means one particular PE could be reserved for multiple times. The patch allows one PE to be reserved for multiple times and we print the warning message at debugging level. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1c53973172f84fafa8ad94f17ac427fdd4f260a2 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Jul 7 13:56:59 2015 +1000 powerpc: Remove mtmsrd(), use existing mtmsr() mtmsr() does the right thing on 32bit and 64bit, so use it everywhere. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e8a4fd0afe05d5213d809fa686d3b8319464acfd Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 29 17:01:43 2014 +1000 powerpc: Add macros for the ibm_architecture_vec[] lengths The encoding of the lengths in the ibm_architecture_vec array is "interesting" to say the least. It's non-obvious how the number of bytes we provide relates to the length value. In fact we already got it wrong once, see 11e9ed43ca8a "Fix up ibm_architecture_vec definition". So add some macros to make it (hopefully) clearer. These at least have the property that the integer present in the code is equal to the number of bytes that follows it. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> commit 817820b0226a1376f0fc68827ab8e42d86431117 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 15:25:31 2015 +1000 powerpc/iommu: Support "hybrid" iommu/direct DMA ops for coherent_mask < dma_mask This patch adds the ability to the DMA direct ops to fallback to the IOMMU ops for coherent alloc/free if the coherent mask of the device isn't suitable for accessing the direct DMA space and the device also happens to have an active IOMMU table. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e91c25111aa373af7439d97ab0e606bcffd599ef Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 15:25:27 2015 +1000 powerpc/iommu: Cleanup setting of DMA base/offset Now that the table and the offset can co-exist, we no longer need to flip/flop, we can just establish both once at boot time. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2db4928bb559f8b43ca75879548111dc13a7de31 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 15:25:22 2015 +1000 powerpc/iommu: Remove dma_data union To support "hybrid" DMA ops in a subsequent patch, we will need both a direct DMA offset and an iommu pointer. Those are currently exclusive (a union), so change them to be separate fields. While there, also type iommu_table_base properly and make exist only on CONFIG_PPC64 since it's not referenced on 32-bit at all. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit de369538436ae0caf784c69187ad0e53152b7ddf Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 13:27:52 2015 +0200 cxl: use more common format specifier A precision of 16 (%.16llx) has the same effect as a field width of 16 along with passing the 0 flag (%016llx), but the latter is much more common in the kernel tree. Update cxl to use that. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 80c394fab89649585089f5bd5013f2d99e5756ef Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 13:27:51 2015 +0200 cxl: Add explicit precision specifiers C99 says that a precision given as simply '.' with no following digits or * should be interpreted as 0. The kernel's printf implementation, however, treats this case as if the precision was omitted. C99 also says that if both the precision and value are 0, no digits should be printed. Even if the kernel followed C99 to the letter, I don't think that would be particularly useful in these cases. For consistency with most other format strings in the file, use an explicit precision of 16 and add a 0x prefix. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6e06ae88edae77379bef7c0cb7d3c2dd88676867 Author: Jan Kara <jack@xxxxxxx> Date: Sun Jul 12 18:11:30 2015 -0400 jbd2: speedup jbd2_journal_dirty_metadata() It is often the case that we mark buffer as having dirty metadata when the buffer is already in that state (frequent for bitmaps, inode table blocks, superblock). Thus it is unnecessary to contend on grabbing journal head reference and bh_state lock. Avoid that by checking whether any modification to the buffer is needed before grabbing any locks or references. [ Note: this is a fixed version of commit 2143c1965a761, which was reverted in ebeaa8ddb3663b5 due to a false positive triggering of an assertion check. -- Ted ] Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit a595fc51a3417274acc1eee63967e9b9e657cc89 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 14:41:25 2015 +0200 irqchip/mips-gic: Use irq_set_chip_handler_name_locked Use irq_set_handler_name_locked() as it avoids a redundant lookup of the irq descriptor. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0a2b64979ab7f8d5325879bd552dcb85974b2980 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 14:39:45 2015 +0200 irqchip/metag-ext: Use irq_set_chip_handler_name_locked() Hand in irq_data and avoid the redundant lookup of irq_desc. Originally-from: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d2aa914d27f1fb9b7d4e4767c1698ed6a665cb1d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:41 2015 +0200 irqchip/vt8500: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: @@ struct irq_data *d; expression E1; @@ -__irq_set_handler_locked(d->irq, E1); +irq_set_handler_locked(d, E1); Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 339d6b88e872f8369495a7224916a4d1d8376ca3 Author: HungNien Chen <hn.chen@xxxxxxxxxxxxxxx> Date: Sat Jul 11 17:30:19 2015 -0700 Input: wdt87xx_i2c - change the sleep time to 2500ms after the sw reset The original wait time was 200ms which was enough for the firmware to finish loading and boot. After that the firmware will perform initialization and touch calibration, which will take about 1.1 second. The touch calibration will change controller frequency to scan at the most optimal frequency and during calibration/frequency switching process we may run into i2c data errors. To avoid them we extend the sleep to 2500ms after issuing the sw reset. Signed-off-by: HungNien Chen <hn.chen@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d5ebe37e8cded781bb91ac63dda2da180ecb90b6 Author: HungNien Chen <hn.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 9 10:27:02 2015 -0700 Input: wdt87xx_i2c - populate vendor and product in input device These attributes can be used to identify controllers present in the system. Signed-off-by: HungNien Chen <hn.chen@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 14fe22e334623e451b5592193415c644005461ea Author: Florian Westphal <fw@xxxxxxxxx> Date: Sat Jul 11 01:37:36 2015 +0200 Revert "ipv4: use skb coalescing in defragmentation" This reverts commit 3cc4949269e01f39443d0fcfffb5bc6b47878d45. There is nothing wrong with coalescing during defragmentation, it reduces truesize overhead and simplifies things for the receiving socket (no fraglist walk needed). However, it also destroys geometry of the original fragments. While that doesn't cause any breakage (we make sure to not exceed largest original size) ip_do_fragment contains a 'fastpath' that takes advantage of a present frag list and results in fragments that (in most cases) match what was received. In case its needed the coalescing could be done later, when we're sure the skb is not forwarded. But discussion during NFWS resulted in 'lets just remove this for now'. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ffb910d7b84f21ef6caeed041032a0af8d2e00ed Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Jul 7 18:17:01 2015 -0700 ARM: BCM63xx: Remove custom secondary_startup function With commit 02b4e2756e01c623cc4dbceae4b07be75252db5b ("ARM: v7 setup function should invalidate L1 cache"), the default secondary_startup function for ARMv7 CPUs does invalidate the L1 cache, which was the sole reason why BCM63xx had to have its own secondary_startup implementation. Now that the secondary_startup takes care of this, we can completely remove that code. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit a6b4b25bd15c0a490769422a7eee355e9e91a57b Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Jul 10 18:36:11 2015 +0100 ARM: BCM63xx: fix parameter to of_get_cpu_node in bcm63138_smp_boot_secondary of_get_cpu_node provides the device node associated with the given logical CPU and cpu_logical_map contains the physical id for each CPU in the logical ordering. Passing cpu_logical_map(cpu) to of_get_cpu_node is incorrect. This patch fixes the issue by passing the logical CPU number to of_get_cpu_node Fixes: ed5cd8163da8 ("ARM: BCM63xx: Add SMP support for BCM63138") Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d48259a0d2c6820d26ea2077c8d330cf1b33877d Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 14:29:29 2015 -0700 Input: pixcir_i2c_ts - use standard OF touchscreen parsing code Let's switch to using standard touchscreen device properties parsing module instead of doing it by hand in the driver. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 69b8c2a50c59a3b1c70666059a85c646f897eb96 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 13:43:31 2015 -0700 Input: pixcir_i2c_ts - simplify input device initialization input_mt_init_slots() will perform necessary settings for performing multi-touch to single-touch emulation, we do not need to do that ourselves. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 40929167e6e8450a06501d292c5e5c81455d1c47 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Jul 6 13:27:43 2015 -0700 Input: pixcir_i2c_ts - add RESET gpio The controller has a RESET pin which is usually controlled over a GPIO line. If such a GPIO is provided, perform a RESET during probe. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 127520caebd9ae1b77c7026bf538a81b8fcd19a8 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 13:27:00 2015 -0700 Input: pixcir_i2c_ts - allow using with GPIO expanders We are using threaded interrupt handler and thus are allowed to sleep. Let's switch over to gpiod_get_value_cansleep() so that we do not get ugly warnings in case GPIO controller might sleep when accessing GPIO. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit cb4a5f068096c0cea954f363e70020aabb3555f4 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 11:56:21 2015 -0700 Input: pixcir_i2c_ts - switch the device over to gpiod This allows uniform parsing on legacy, DT and ACPI systems. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 28a74c050060c17b1edaee2d60470a33be476941 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 11:48:47 2015 -0700 Input: pixcir_i2c_ts - move platform data Let's move driver's platform data definitions from include/linux/input/ into include/linux/platform_data/ so that it stays with the rest of platform data definitions. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4200e831e4a8fd09fa4e78de2e571ab270c12d06 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 15:18:24 2015 -0700 Input: of_touchscreen - switch to using device properties Let's switch form OF to device properties so that common parsing code could work not only on device tree but also on ACPI-based platforms. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 517178692ccd730a95b278bd8cd67e11498a9a84 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 14:57:54 2015 -0700 Input: of_touchscreen - fix setting max values on X/Y axis The binding specification says that "touchscreen-size-x" and "-y" specify horizontal and vertical resolution of the touchscreen and therefore maximum absolute coordinates should be reduced by 1 since we are starting with 0. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f61fd21dea1b9b40edfab07bdcd60d6a3bd95ba1 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 14:45:25 2015 -0700 Input: of_touchscreen - always issue warning if axis is not set up Do issue warning about axis that is present in device tree but not specified by the driver even in case of multi-touch axis as callers now tell us if they expect multi-touch data or not. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5b29264c659c31bada65582005d99adb3bb41fea Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:20 2015 +0800 irqchip: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1433391238-19471-11-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 72f86db4dd5eafbadd45c9092df73c49f320f638 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:38 2015 +0800 irqchip/mips-gic: Use access helper irq_data_get_affinity_mask() Use access helper irq_data_get_affinity_mask() to hide implementation details of struct irq_desc. [ tglx: Verified with coccinelle ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1433145945-789-30-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 9f2135419ffb7601b6642147ae0e6ccc19a7d5be Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:00 2015 +0200 irqchip/vic: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit fcd3c5bee16a2c3c9cd6c4cb8e3e093d458d9f86 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:00 2015 +0200 irqchip/versatile: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 22890b0dbe233fa460d25762ab6a2f5c90f84d9c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:58 2015 +0200 irqchip/tb10x: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 3200a71207c7d4ec4e961c0ef7ac50361de30e9a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:58 2015 +0200 irqchip/sunxi-nmi: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 07d22c23d63a3dc08083fec7ce26562b05e7d24b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:57 2015 +0200 irqchip/orion: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 832b404ea0f48a57f1099327cd3137e9a6a51f88 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:55 2015 +0200 irqchip/metag: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit bc4d2c074ac1b55a95a2011bffe1c5ebb590e886 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:54 2015 +0200 irqchip/imgpdc: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 4d83fcf8d615e44ca3ce1ac5766ae121ce08161b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:53 2015 +0200 irqchip/gic: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f286c173593245d443e592edea2ec35ef4a7c7e8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:52 2015 +0200 irqchip/brcmstb-l2: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx commit 99e32ab1732e8e66c775087f5361fca235bbee0e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:51 2015 +0200 irqchip/bcm7120-l2: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx commit 3a7946eed85a1031120d2c946d6e8e8520b32827 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:50 2015 +0200 irqchip/bcm7038-l1: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx commit 741ff9661337231233cd675df7726ffafe13c960 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:49 2015 +0200 irqchip/exynos-combiner: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-samsung-soc@xxxxxxxxxxxxxxx commit a8a98eac7b238beb49b479c164303651d5a37eb6 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:30 2015 +0800 genirq: Remove the irq argument from setup_affinity() Unused except for the alpha wrapper, which can retrieve if from the irq descriptor. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Link: http://lkml.kernel.org/r/1433391238-19471-21-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e019c249a60fc50319c5897d21d36207c257cc9e Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 20:29:34 2015 +0200 genirq: Provide and use __irq_can_set_affinity() Provide a irq_desc based variant of irq_can_set_affinity() to avoid a redundant lookup for the core code users. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0dcdbc97557fd8c297c4e38e9f66e304a64bae9d Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:28 2015 +0800 genirq: Remove the irq argument from note_interrupt() Only required for the slow path. Retrieve it from irq descriptor if necessary. [ tglx: Split out from combo patch. Left [try_]misrouted_irq() untouched as there is no win in the slow path ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Link: http://lkml.kernel.org/r/1433391238-19471-19-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c1e5bd8cc52ddc8c2998987c8806b999f09b064e Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 20:07:35 2015 +0200 genirq: Remove irq argument from try_one_irq() Unused argument. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 02d00eaa64bfd57fcbefe848e46e5ddca62ed5e6 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 20:02:43 2015 +0200 genirq: Remove irq argument from report_bad_irq() Not really a hotpath, so __report_bad_irq() can retrieve the irq number from the irq descriptor. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b80f5f3fc0dc5362eac19585c31a1cc414a6cf95 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 19:58:45 2015 +0200 genirq: Remove irq argument from suspend/resume_irq() Unused argument in both functions. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 79ff1cda320b81dfe5feae0c5da52f029561ce93 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 19:52:36 2015 +0200 genirq: Remove irq argument from __enable/__disable_irq() Solely used for debug output. Can be retrieved from irq descriptor if necessary. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a1ff541a40e90df05f586bf6b157083b351c4a0c Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 19:47:29 2015 +0200 genirq: Remove irq arg from __irq_set_trigger() It's only required for debug output and can be retrieved from the irq descriptor if necessary. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0798abeb7eec37dcc20f252c2195fc31c41561f9 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:27 2015 +0800 genirq: Remove the irq argument from check_irq_resend() It's only used in the software resend case and can be retrieved from irq_desc if necessary. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Link: http://lkml.kernel.org/r/1433391238-19471-18-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b51bf95c583bba645974348666e9b5a14c7aa3ea Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:25 2015 +0800 genirq: Remove the parameter 'irq' of kstat_incr_irqs_this_cpu() The first parameter 'irq' is never used by kstat_incr_irqs_this_cpu(). Remove it. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Link: http://lkml.kernel.org/r/1433391238-19471-16-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 41a83e06e2bb9ac46731681fd44d1e6ab184dac5 Author: Joel Porquet <joel@xxxxxxxxxxx> Date: Tue Jul 7 17:11:46 2015 -0400 irqchip: Prepare for local stub header removal The IRQCHIP_DECLARE macro moved to to 'include/linux/irqchip.h', so the local irqchip.h became an empty shell, which solely includes include/linux/irqchip.h Include the global header in all irqchip drivers instead of the local header, so we can remove it. Signed-off-by: Joel Porquet <joel@xxxxxxxxxxx> Cc: vgupta@xxxxxxxxxxxx Cc: monstr@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1882096.X39jVG8e0D@joel-zenbook Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d452bca82d9ff4f220afa4234418912623db4fe6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 6 10:18:29 2015 +0000 irqchip/sirfsoc: Fix generic chip allocation wreckage irq_alloc_domain_generic_chips() can only be called once for an irqdomain. The sirfsoc init calls it twice and because the return value is not checked it does not notice the wreckage. The code works by chance because the first call already allocates two chips and therefor the second call to sirfsoc_alloc_gc() operates on the proper generic chip instance. Use a single call and setup the two chips in the obvious correct way. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Barry Song <baohua@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Olof Johansson <olof@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150706101543.470696950@xxxxxxxxxxxxx commit b66231183a8542de1414e42326dd1c6bc4af75f4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 6 15:32:25 2015 +0200 irqchip/dw-apb-ictl: Fix generic domain chip wreckage The num_ct argument of irq_alloc_domain_generic_chips() tells the core code how many chip types (for different control flows, e.g. edge/level) should be allocated. It does not control how many generic chip instances are created because that's determined from the irq domain size and the number of interrupts per chip. The dw-apb init abuses the num_ct argument for allocating one or two chip types depending on the number of interrupts. That's completely wrong because the alternate type is never used. This code was obviously never tested on a system which has more than 32 interrupts as that would have never worked due to the unitialized second generic chip instance. Hand in the proper num_ct=1 and fixup the chip initialization along with the interrupt handler. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150706101543.373582262@xxxxxxxxxxxxx commit bfd0b498bee4f836610c477cae21aefb16cfe0b1 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:54:29 2015 +0200 ARM: dts: lpc4357-ea4357: add mmcsd Enable the MMC/SD controller on EA4357 devkit and add pin muxing plus a regulator. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit c97a63c9deb50763242d8e6325ac404c823efd05 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:51:20 2015 +0200 ARM: dts: lpc4357-ea4357: add pinctrl and uart0 muxing Setup pin muxing and properties for the debug console on uart0. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b06cdb7949e421bc511a99e5ca10fe610e21c750 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jun 20 14:45:12 2015 +0200 ARM: dts: lpc18xx: add usb nodes Add nodes for the two USB EHCI controllers found on lpc18xx. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit fe968589284ecc9a95c6040eea4f3712f0eb1f47 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:29:28 2015 +0200 ARM: dts: lpc18xx: add ethernet node Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 16df2b868e516701832ba333734d4d071fafa311 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:31:49 2015 +0200 ARM: dts: lpc18xx: add creg (syscon) node The CREG block contains a collection of miscellaneous configuration register like Ethernet phy mode, low power clocks and DMA multiplexer. These registers needs to be accessed from other drivers and syscon provides this capability. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit cd07154f49bb865d619c8db0bdd28c39c70e5870 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:27:33 2015 +0200 ARM: dts: lpc18xx: add mmcsd node Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 7e6c8376e9d0db8c825e9fdf95e30b7296c6caa3 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:21:43 2015 +0200 ARM: dts: lpc18xx: add can nodes Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 5d2ea79c7f73c8d57ccbc46e97ff400afd9bfe9b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Apr 1 14:41:06 2015 +0200 ARM: dts: lpc18xx: add ssp nodes Add nodes for the ARM SSP controllers on lpc18xx. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 7836dce471335fc8e2a09a4015e70f2c9c1554a6 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Mon Apr 27 23:59:30 2015 +0200 ARM: dts: lpc18xx: add gpio node Add gpio and mapping between pinctrl/gpio namespace with gpio-ranges property. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d881f5e228177355707c95146457d62c5187ea57 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:40:13 2015 +0200 ARM: dts: lpc18xx: add pinctrl node Add pinctrl node for lpc1850-scu. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f2b1c507d45f1d4cb4ab296ff0a20b5add6b8bdd Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri May 15 19:43:45 2015 +0200 ARM: dts: lpc18xx: add uart new compat string and clk names Add lpc1850-uart compatible string on uarts together with proper clock-names. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit ba2db535a99dc004ab6b7952625029ec196514b9 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Apr 1 14:42:00 2015 +0200 ARM: dts: lpc18xx: add cgu and ccu clock-controller nodes Add CGU and CCU clock-controller nodes for lpc18xx together with the fixed input clocks. Also remove the temporary fixed-factor pll1 clock from both lpc18xx and lpc4350-hitex-eval DTS now that proper clock drivers are inplace. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 2155971a66f89924edb37c213251c4fe9f7776c0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:54:14 2015 +0900 iio: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 071667a0fae08ed8c9dcdb9ff526dc66888cac4b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:34:26 2015 +0900 staging: iio: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 862cb6ce58029c478aca573ee7bff0081249a6d3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 10 17:10:21 2015 +0300 Staging: iio: dummy: Fix blank line warnings Multiple blank lines should not be used as indicated by checkpatch.pl. Also, a line should be used after a function/structure declaration. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1ce96bd366b87d3896a450b3ac26a8a0916573b4 Author: Ana Calinov <ana.calinov@xxxxxxxxx> Date: Wed Jul 8 07:04:31 2015 -0700 iio: frequency: adf4350: Delete blank line This patch removes an unnecessary blank line found by checkpatch.pl --strict: Blank lines aren't necessary after an open brace '{'. Signed-off-by: Ana Calinov <ana.calinov@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e23fd9812fe729612e778ba9bd9530ce5c234f23 Author: Ana Calinov <ana.calinov@xxxxxxxxx> Date: Wed Jul 8 05:44:42 2015 -0700 iio: accel: kxcjk-1013: Remove blank lines This patch fixes the the following errors given by checkpatch.pl with --strict: Please don't use multiple blank lines. Blank lines aren't necessary after an open brace '{'. Signed-off-by: Ana Calinov <ana.calinov@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8fc2b61a36fe17f744b445a26599a6cac9e6c1c0 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Jun 16 12:52:16 2015 +0200 ath9k: DFS - add pulse chirp detection for FCC FCC long pulse radar (type 5) requires pulses to be checked for chirping. This patch implements chirp detection based on the FFT data provided for long pulses. A chirp is detected when a set of criteria defined by FCC pulse characteristics is met, including * have at least 4 FFT samples * max_bin index moves equidistantly between samples * the gradient is within defined range The chirp detection has been tested with reference radar generating devices and proved to work reliably. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8f010d9ca88f9023650b2e54b74c84ab63a19d02 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Jun 16 11:46:42 2015 +0200 ath9k: DFS - consider ext_channel pulses only in HT40 mode The chip reports radar pulses on extension channel even if operating in HT20 mode. This patch adds a sanity check for HT40 mode before it feeds pulses on extension channel to the pattern detector. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 00798c38f49eb028b0c5fac01293783206af29fb Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Jun 15 19:24:35 2015 +0200 ipw2100: fix timeout bug - always evaluated to 0 commit 2c86c275015c ("Add ipw2100 wireless driver.") introduced HW_PHY_OFF_LOOP_DELAY (HZ / 5000) which always evaluated to 0. Clarified by Stanislav Yakovlev <stas.yakovlev@xxxxxxxxx> that it should be 50 milliseconds thus fixed up to msecs_to_jiffies(50). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Stanislav Yakovlev <stas.yakovlev@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 75509fd88fbd580c793780b0001c71c3510f2726 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sun May 24 12:49:04 2015 -0500 nsfs: Add a show_path method to fix mountinfo Today mountinfo displays a very unhelpful "/" for nsfs files. Add a show_path method returning the same string as ns_dname. This results in a bind mount of /proc/<pid>/ns/net showing up in /proc/<pid>/mountinfo as "net:[1234...]" instead of "/". Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit ed25b113a955e62aeaba49a3ec71faea4f25bf34 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:39 2015 +0200 ath10k: tweak interface combinations Concurrent AP/GO operation on different channels isn't really supported well by the firmware so it's better to remove it from being advertised. Also tune the way station and p2p client interface limits are expressed to allow station + 2x p2p client or station + p2p client + p2p go. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit acd0b27bb13a09dd0a56d4562d3eb4137a7318b2 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:38 2015 +0200 ath10k: fix per-vif queue locking Whenever any vdev was supposed to be paused all Tx queues were stopped (except offchannel) instead of only these associated with the given vdev. This caused subtle issues with multi-channel/multi-vif scenarios, e.g. authentication of station vif could sometimes fail depending on fw tx pause request timing. Fixes: b4aa539dd8f2 ("ath10k: implement tx pause wmi event") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f23e587e55f3607741e29a789efa61ea999f13f8 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:37 2015 +0200 ath10k: update vdev ps state on start Psmode can be forcefully enabled when vdev isn't started. It isn't guaranteed that mac80211 will re-issue psmode setting after vdev is started unless actual bss_conf.ps value has changed. Even if this doesn't fix any problems now it may prevent future breakage. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d710e75d1050cb66fbf6e906addb4a661e444729 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:36 2015 +0200 ath10k: fix hw roc expiration notifcation The expiration function must not be called when roc is explicitly cancelled by mac80211. However since fcf9844636be ("ath10k: fix hw roc expiration") the notification was never sent when roc actually expired. This fixes some P2P connection setup issues. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 424f26301467daf241a4afe4b6fe82750d4ac624 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:35 2015 +0200 ath10k: limit multi-vif ps more aggresivelly Further testing proved that multi-channel AP+STA on QCA6174 with RM.2.0-00088 should have powersave force-disabled to avoid beacon misses/skipping on either side which in turn could disrupt communication. Since AP never has arvif->ps don't even bother checking it. Other combinations may be broken as well so disallow powersave with multivif outright unless firmware advertises otherwise. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 835d56a10c1fcfb0fee28bb6aceb722e1a6f643a Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:34 2015 +0200 ath10k: don't set cck/ofdm scan flags mac80211 already does provide complete IEs for Probe Requests for hw scan and ath10k firmware was appending duplicate Supported Rates IEs unnecessarily. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3c7e256a6de378e01098147527082abae05b146e Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Fri Jul 3 19:25:27 2015 +0530 ath10k: Fix target to cpu address conversion logic In commit 418ca5992e2f ("ath10k: Make target cpu address to CE address conversion chip specific") mask 0x7fff is added by mistake instead of 0x7ff. Fix this regression. Fixes: 418ca5992e2f ("ath10k: Make target cpu address to CE address conversion chip specific") Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a052158aa981ca470673f49c636b289ee16894ea Author: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Date: Fri Jul 3 15:33:49 2015 +0200 ath10k: fix QCA61X4 boot up commit a521ee983d312db7 ("ath10k: Add new reg_address/mask to hw register table") broke QCA61x4 support by providing wrong fw_indicator_address, which should have been 0x0003a028 instead of 0x00009028. User experience was a failing boot up sequence (crashing device during initialization): [ 181.663874] ath10k_pci 0000:02:00.0: enabling device (0000 -> 0002) [ 181.664787] ath10k_pci 0000:02:00.0: pci irq msi-x interrupts 8 irq_mode 0 reset_mode 0 [ 181.688886] ath10k_pci 0000:02:00.0: device has crashed during init [ 181.688897] ath10k_pci 0000:02:00.0: failed to wait for target after cold reset: -70 [ 181.688902] ath10k_pci 0000:02:00.0: failed to reset chip: -70 [ 181.689774] ath10k_pci: probe of 0000:02:00.0 failed with error -70 Fix it by updating the address with correct value. Fixes: a521ee983d31 ("ath10k: Add new reg_address/mask to hw register table") Signed-off-by: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9d7b372f0514d829b2f712aac5b85eaab2dc0cb2 Merge: 9131f3d a78dfcb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 10 23:24:31 2015 -0700 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Hi David, the following patch set has code cleanup patches, minor enhancements and non-critical fixes. Pls consider applying to the net-next tree. Thanks! Patch 1 removes duplicate code in be_setup_wol() routine making it simpler and more readable. Patch 2 fixes the the bridge mode return value for the ndo_bridge_getlink() call. Instead of just relying on the SRIOV enabled state, the driver now queries the FW, for the actual mode of bridge. Patch 3 removes code for setting D0 power state as it's already done in pci_enable_device() Patch 4 fixes a bad return value in be_check_ufi_compatibility() routine introduced by an earlier commit. Patch 5 fixes a field in udp header being accessed while in network endian format. Patch 6 fixes the be_mcc_notify() routine to return an error status when the FW/HW is in an error state. Patch 7 fixes the be_cmd_rx_filter() routine to issue the RX_FILTER cmd and not wait for a completion from the FW. If the FW/adapter is in an error state, this change helps in not holding up the rtnl_lock and keeping bottom halves disabled while the driver timesout waiting for a response from the FW. Patch 8 fixes the be_cmd_set_loopback() routine to issue the LOOPBACK cmd and not wait for the FW completion while spin_lock_bh() is held on the mcc_lock. As the cmd is always issued from ethtool in a process context, it can sleep till the FW completion is received. Patch 9 bumps up the driver version to 10.6.0.3 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a78dfcb38492ccc127023e9ee3a35d214009b02f Author: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:51 2015 -0400 be2net: bump up the driver version to 10.6.0.3 Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c8559750cd7b7936dd38810fc2110fc91d7d527 Author: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Date: Fri Jul 10 05:32:50 2015 -0400 be2net: make SET_LOOPBACK_MODE cmd asynchrounous The SET_LOOPBACK_MODE command is always issued from ethtool only in a process context. So, while waiting for the cmd to complete, the driver can sleep instead of holding spin_lock_bh() on the mcc_lock. This is done by calling be_mcc_notify() instead of be_mcc_notify_wait() (that returns only after the cmd completes while the MCCQ is locked). Signed-off-by: Suresh Reddy <suresh.reddy@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8af65c2f4deeb02a128c5cf29fa351b70bf16424 Author: Suresh Reddy <suresh.reddy@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:49 2015 -0400 be2net: make the RX_FILTER command asynchronous This fix makes the RX_FILTER cmd asynchronous, i.e., the caller issues this cmd and doesn't wait for a completion from the FW. If the FW/adapter is in an error state, this change helps in not holding up the rtnl_lock and keeping bottom halves disabled while the driver timesout waiting for a response from the FW. Signed-off-by: Suresh Reddy <suresh.reddy@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efaa408e964012225897e87d9aad97a4d0ebc1d5 Author: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Date: Fri Jul 10 05:32:48 2015 -0400 be2net: return error status from be_mcc_notify() When the adapter is in error state, return error from be_mcc_notify() so that the caller routines need not sleep waiting for a response. Signed-off-by: Suresh Reddy <suresh.reddy@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1645d99768e00d3148ebded5d8c4ab55cdb19a5c Author: Venkat Duvvuru <VenkatKumar.Duvvuru@xxxxxxxxxx> Date: Fri Jul 10 05:32:47 2015 -0400 be2net: convert dest field in udp-hdr to host-endian The "dest" field in the UDP-hdr of a TX skb is in network endian format. Convert it to host endian before accessing it. The os2bmc patch, mentioned below introduced this code. Fixes: 760c295e0e8d ("be2net: Support for OS2BMC") Signed-off-by: Venkat Duvvuru <VenkatKumar.Duvvuru@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 887a65c4ab1511a9afc8a20e5507bec3d074f867 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:46 2015 -0400 be2net: fix wrong return value in be_check_ufi_compatibility() In the commit a6e6ff6eee12f3e ("be2net: simplify UFI compatibility checking"), a return value of "-1" was incorrectly used in place of "false". This patch fixes it. Fixes: a6e6ff6eee12f3e ("be2net: simplify UFI compatibility checking") Signed-off-by: Vasundhara Volam <vasundhara.volam@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc23d6b7ab051106b700869e7ee09e8aec6864f2 Author: Kalesh Purayil <kalesh.purayil@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:45 2015 -0400 be2net: remove redundant D0 power state set pci_enable_device() call sets device power state to D0; there is no need doing it again. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff9ed19d263d9678394b6ac079abd68efb3c55c0 Author: Kalesh Purayil <kalesh.purayil@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:44 2015 -0400 be2net: query FW to check if EVB is enabled The current code assumes that bridge functionality (EVB) in the adapter is enabled only when SR-IOV is enabled. This is not always true. This patch uses the GET_HSW_CONFIG FW cmd to query this from the FW. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 145155e786ccee898f6ed665f6dd3bce7c14830f Author: Kalesh Purayil <kalesh.purayil@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:43 2015 -0400 be2net: remove duplicate code in be_setup_wol() This change will make be_setup_wol() routine more compact and readable by removing some duplicate code. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9131f3de24db4dc12199aede7d931e6703e97f3b Author: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Fri Jul 10 16:58:31 2015 +0900 ipv6: Do not iterate over all interfaces when finding source address on specific interface. If outgoing interface is specified and the candidate address is restricted to the outgoing interface, it is enough to iterate over that given interface only. Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Acked-by: Erik Kline <ek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6979b9cf58c86d14ceb1702b5b3fa4f63c98c013 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:29:23 2015 +0900 net: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 239aa55b9496144f89670b545b5698e6c989f710 Author: David Thomson <david.thomson@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 16:28:25 2015 +1200 net: phy: Support setting polarity in marvell phy driver Support manually setting the polarity to mdi or mdix Signed-off-by: David Thomson <david.thomson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 634ec36cc0ab9d8dda0f2c101fa28d2e2a61b9eb Author: David Thomson <david.thomson@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 13:56:54 2015 +1200 net: phy: Pass mdix ethtool setting through to phy driver Pass the mdix setting from ethtool down to the phy driver, to allow driver specific implementations of manually setting the polarity. Signed-off-by: David Thomson <david.thomson@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03bc7523cb4241a7f4ad67d7ae38027d1884a3ee Author: Stefan Tatschner <stefan@xxxxxxxxxxxxx> Date: Wed Jul 8 10:41:07 2015 +0200 can-doc: Fix wrong chapter reference In f35f6c8f7 (can: update MAINTAINERS and Documentation) chapter 3.3 was removed. This patch fixes some old references to chapter 3.4 which no longer exists. Signed-off-by: Stefan Tatschner <stefan@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 6609b638353c99c5736e05abd17197f1cb776e0e Author: Diego Viola <diego.viola@xxxxxxxxx> Date: Mon Jul 6 14:33:21 2015 -0300 README: GTK+ is a acronym Signed-off-by: Diego Viola <diego.viola@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit fb18539b3c8f03e550b8afb21cf53db2a2235dbe Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:30 2015 +0200 ARM: dts: pxa: fix power i2c definition Add the correct address and size to the device-tree description. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 0ec1939668e5a47b30a07ed4c178f491ce853ae7 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:31 2015 +0200 ARM: dts: pxa: add the usb host controller Add the usb host controller to pxa27x and pxa3xx. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 796b7dcf689f484332aac71a4a49edac6148532c Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:29 2015 +0200 ARM: dts: pxa: add embedded pxa camera capture interface The pxa27x SoCs have an embedded camera host controller. Add the description to the family description. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 316c938218355f1c4688c9cbec88509cf9a2f4db Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:28 2015 +0200 ARM: dts: pxa: add dma pxamci nodes to pxa3xx Add the 3 possible mmc controllers on pxa3xx SoCs to the devicetree description. Add the dma and clocks to the device-tree description of pxa27x and pxa3xx at the same time. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit c943646d1f497e0ef832fd7148dd2150a75b79a9 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:27 2015 +0200 ARM: dts: pxa: add dma engine node to pxa3xx-nand Add the dma client description for pxa3xx-nand to use its dma through device-tree. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 0cd491416092844218ab729413047bc5738f2106 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:26 2015 +0200 ARM: dts: pxa: add dma controller Add the SoC embedded DMA controller, shared with the mmp architecture. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit dc12f20ba06f89bc60d4dfadaf2b03404858e205 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Jul 6 23:41:57 2015 +0900 Doc: powerpc: Fix typos in Documentation/powerpc This patch fix some spelling typo found in Documentation/powerpc. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9ba6e988c7208e3cb1f71862cc578397ae938159 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Sun Jul 5 11:56:51 2015 +0900 Documentation: ARM: EXYNOS: Extend boot loader interface documentation Extend the kernel-bootloader interface documentation with usage of register INFORM1 (0x0804) and different CPU resume address on Exynos542x family (with Multi-Cluster Power Management enabled). Additionally add glossary and reformat section titles. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 60498bb58e9a614b9706f250667033f30632a25c Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jul 3 16:22:11 2015 +0100 SubmittingPatches: update CodingStyle reference Link to the internal up to date Coding Style document inside the Kernel sources instead of an external one. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 4b10df7f2c8b3c6de12375b85456c6fd275af6d0 Author: Olivier C. Larocque <olivier.c.larocque@xxxxxxxxx> Date: Thu Jul 2 21:33:23 2015 -0400 Documentation: CodingStyle: remove broken links in the References section Remove 2 broken links for programming reference books in Appendix I. After a lookup on an Internet archives web site, it seems that these links have been broken for around 3 months. We can then assume that they will not be back up and safely remove them from the documentation. Signed-off-by: Olivier C. Larocque <olivier.c.larocque@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 5127e31a6ce04bd41a020c0ba28a1c0915ab6da1 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Fri Jul 10 16:26:38 2015 +0100 regulator: Add missing dummy definition for regulator_list_voltage Fixes a build break when CONFIG_REGULATOR is not selected. e.g, on linux-next - 07102015: drivers/clk/tegra/clk-dfll.c: In function â??find_lut_index_for_rateâ??: drivers/clk/tegra/clk-dfll.c:691:3: error: implicit declaration of function â??regulator_list_voltageâ?? [-Werror=implicit-function-declaration] if (regulator_list_voltage(td->vdd_reg, td->i2c_lut[i]) == uv) ^ CC drivers/clocksource/mmio.o CC fs/proc/softirqs.o cc1: some warnings being treated as errors make[3]: *** [drivers/clk/tegra/clk-dfll.o] Error 1 make[2]: *** [drivers/clk/tegra] Error 2 make[1]: *** [drivers/clk] Error 2 make[1]: *** Waiting for unfinished jobs.... This should be pushed to 4.2 as we have the issue in 4.2-rc1, just that nobody uses it without the REGULATOR(yet). Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 60cb65ebf49e6db114c3efeb3971064a6ddbea0e Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Jul 10 08:45:36 2015 +0100 regulator: pwm-regulator: Fix ' comparison between signed and unsigned integer' warning drivers/regulator/pwm-regulator.c: In function â??pwm_regulator_init_tableâ??: drivers/regulator/pwm-regulator.c:171:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b343e08f3c5623d12829ad4965dd4c4e50f86fa2 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Jul 10 08:45:35 2015 +0100 regulator: pwm-regulator: Fix 'used uninitialized' warning drivers/regulator/pwm-regulator.c: In function 'pwm_regulator_init_table': drivers/regulator/pwm-regulator.c:172:14: warning: 'length' is used uninitialized in this function [-Wuninitialized] if ((length < sizeof(*duty_cycle_table)) || ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f293634b5a9e9acbcc1cac29fac7609bd999f868 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Jul 10 08:45:34 2015 +0100 regulator: pwm-regulator: Fix 'unused-variable' warning drivers/regulator/pwm-regulator.c: In function 'pwm_regulator_init_continuous': drivers/regulator/pwm-regulator.c:202:22: warning: unused variable 'np' [-Wunused-variable] struct device_node *np = pdev->dev.of_node; ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76c2145ded6b83488dec4afc46a29a57cee90552 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Mon Jun 22 16:31:07 2015 +0200 ASoC: sti: Add CPU DAI driver for playback Add code to manage Uniperipheral player IP instances. These DAIs are dedicated to playback and support I2S and IEC modes. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e1ecace6a68518a6751987ab2032b0ec1b3bd5fe Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Mon Jun 22 16:31:06 2015 +0200 ASoC: sti: Add uniperipheral header file Add the Uniperipheral header file for uniperipheral IPs registers definition. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 05e85d4e0180dbbce823e19d81388e60ac924be1 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Mon Jun 22 16:31:05 2015 +0200 ASoC: sti: add binding for ASoC driver Add ASoC driver bindings documentation. Describe the required properties for each of the hardware IPs drivers. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 32a726b2e089ec1851965290a610c4ae9cab3303 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Mon Jun 22 16:31:11 2015 +0200 ASoC: sti-sas: Add sti platform codec Codec part of the sti platform that supports codec IPs. This first version does not support HDMI, but only DAC and SPDIF out. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b2c4105b080fb26d8fc9b89c846f5966137c6d40 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Wed Jul 8 20:07:16 2015 +0100 scripts/kernel-doc: Use $KBUILD_BUILD_TIMESTAMP as man page date Together with the preceding changes, this allows man pages to be built reproducibly. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit b44158b17099ed5c7c8f4bfb7029942adbfbc318 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Wed Jul 8 20:07:05 2015 +0100 DocBook: Avoid building man pages repeatedly and inconsistently Some kernel-doc sections are included in multiple DocBook files. This means the mandocs target will generate the same manual page multiple times with different metadata (author name/address and manual title, taken from the including DocBook file). If it's invoked in a parallel build, the output is nondeterminstic. For each section that is duplicated, mark the less specific manual's inclusion as 'extra' and exclude it during conversion to manual pages. Use xmlif for this, as that is bundled with xmlto which we already use. I would have preferred to use more conventional markup for this, but each of the following approaches failed: 1. Wrap the extra inclusions with a new element and add a template to the stylesheet to include/exclude them. Unfortunately DocBook XSL doesn't seem to support foreign elements at an intermediate level in the document tree. 2. Use DocBook profiling. This works but requires passing an absolute path to the profile stylesheet to xmlto, so it's not portable. 3. Use SGML marked sections. docbook2x can handle these but xmlto chokes on them. Reported-by: Jérémy Bobbio <lunar@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit b48ed85145711b28f9024dcdaf6c0238d7b5042c Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Wed Jul 8 20:06:51 2015 +0100 DocBook: Generate consistent IDs By default, DocBook XSL uses a non-deterministic function to generate IDs for HTML elements where it can't take a name from the input document. However, it has the option to generate 'consistent' (deterministic) IDs instead. Enable this to make the HTML pages reproducible. Reported-by: Jérémy Bobbio <lunar@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 32c1735c4091ef0de8e39f68a9d83a07450b959b Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Wed Jul 8 20:06:44 2015 +0100 DocBook: Don't store mtime (or name) in compressed man pages The mtime on a man page is the build time. As gzip stores the mtime and original name in the compressed file by default, this makes compressed man pages unreproducible. Neither of these are important metadata in this case, so turn this off. Reported-by: Jérémy Bobbio <lunar@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 2e106e4df28aa264f9ded7e5be3733224f2e4f93 Author: Jérémy Bobbio <lunar@xxxxxxxxxx> Date: Wed Jul 8 20:06:33 2015 +0100 scripts/kernel-doc: parse kernel-doc deterministically Regular expressions for highlights in kernel-doc are stored in a Perl hash. These hashes are ordered differently for each Perl run. This will prevent kernel-doc to behave deterministically when parsing â??@foo()â?? as in some runs it will be interpreted as a parameter and in the others it will be interpreted as a function. We now sort the %highlights hash to get the same behavior on every run. Signed-off-by: Jérémy Bobbio <lunar@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d90c6cc242045115c5c4973114cc93e1c20e2ea8 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 14:37:25 2015 +0100 ASoC: arizona: Fix error path in codec probe If we fail to add some DSPs or fail to add the controls we should call wm_adsp2_codec_remove for all the cores we have already added. This patch fixes this up on the wm5102 and wm5110. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 77b1a97d218277d55a15016826d1fd79290f1df2 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Jun 4 09:43:11 2015 -0500 mnt: fs_fully_visible enforce noexec and nosuid if !SB_I_NOEXEC The filesystems proc and sysfs do not have executable files do not have exectuable files today and portions of userspace break if we do enforce nosuid and noexec consistency of nosuid and noexec flags between previous mounts and new mounts of proc and sysfs. Add the code to enforce consistency of the nosuid and noexec flags, and use the presence of SB_I_NOEXEC to signal that there is no need to bother. This results in a completely userspace invisible change that makes it clear fs_fully_visible can only skip the enforcement of noexec and nosuid because it is known the filesystems in question do not support executables. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 90f8572b0f021fdd1baa68e00a8c30482ee9e5f4 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Jun 29 14:42:03 2015 -0500 vfs: Commit to never having exectuables on proc and sysfs. Today proc and sysfs do not contain any executable files. Several applications today mount proc or sysfs without noexec and nosuid and then depend on there being no exectuables files on proc or sysfs. Having any executable files show on proc or sysfs would cause a user space visible regression, and most likely security problems. Therefore commit to never allowing executables on proc and sysfs by adding a new flag to mark them as filesystems without executables and enforce that flag. Test the flag where MNT_NOEXEC is tested today, so that the only user visible effect will be that exectuables will be treated as if the execute bit is cleared. The filesystems proc and sysfs do not currently incoporate any executable files so this does not result in any user visible effects. This makes it unnecessary to vet changes to proc and sysfs tightly for adding exectuable files or changes to chattr that would modify existing files, as no matter what the individual file say they will not be treated as exectuable files by the vfs. Not having to vet changes to closely is important as without this we are only one proc_create call (or another goof up in the implementation of notify_change) from having problematic executables on proc. Those mistakes are all too easy to make and would create a situation where there are security issues or the assumptions of some program having to be broken (and cause userspace regressions). Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 3fd4079fe295b91cd1f4330e3c8f1e6e4618a27d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:29:45 2015 +0900 soc: mediatek: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit ca12bb14fee138603d17b1d68906abeebaa09b30 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:47:23 2015 +0900 EDAC, xgene: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Loc Ho <lho@xxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436507243-11159-1-git-send-email-k.kozlowski@xxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 7b47ab47b3938e2274834dbde7915df98fc74368 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jun 16 08:53:11 2015 +0000 ASoC: rsnd: gen: add rsnd_force_write() rsnd_force_write() is similar to rsnd_write(), but rsnd_force_write() write data to register even though it is same value. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d1b080290f86d134b97bfe63e499ab9ed3935a02 Merge: d770e55 e874e6c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 10 11:39:23 2015 +0100 Merge tag 'regmap-force' into asoc-rcar regmap: Force write support This allows users to use _update_bits() without the write suppression, useful for some hardware. commit e874e6c7edc43436f73cf84157d9221f8b807c36 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jun 16 08:52:55 2015 +0000 regmap: add regmap_fields_force_write() regmap_fields_force_write() is similar to regmap_fields_write(), but regmap_fields_force_write() write data to register even though it is same value. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fd4b7286ccc469bf5dde22db6b8fcc455c3c4a66 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jun 16 08:52:39 2015 +0000 regmap: add regmap_write_bits() regmap_write_bits() is similar to regmap_update_bits(), but regmap_write_bits() write data to register even though it is same value. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ff0589c7bff4ca31b255ac2028f633f14047762 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jun 16 08:52:22 2015 +0000 regmap: add force_write option on _regmap_update_bits() Sometimes we want to write data even though it doesn't change value. Then, force_write option on _regmap_update_bits() helps this purpose. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 57853e8906a04a86c32fb96d8421b923c6d64162 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jul 7 18:19:38 2015 +0100 ARM: 8403/1: kbuild: don't use generic mcs_spinlock.h header We provide our own implementation of asm/mcs_spinlock.h, so there's no need to ask for the (empty) generic version. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8ded1e1a92daa96307e4b84b707fee5993bc6047 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 7 18:16:15 2015 +0100 ARM: 8401/1: perf: Set affinity for PPI based PMUs For PPI based PMUs, we bail out early in of_pmu_irq_cfg() without setting the PMU's supported_cpus bitmap. This causes the smp_call_function_any() in armv7_probe_num_events() to fail. Set the bitmap to be all CPUs so that we properly probe PMUs that use PPIs. Fixes: cc88116da0d1 ("arm: perf: treat PMUs as CPU affine") Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit eeedcea69e927857d32aaf089725eddd2c79dd0a Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Jun 26 08:09:29 2015 +0100 ARM: 8395/1: l2c: Add support for the "arm,shared-override" property "CoreLink Level 2 Cache Controller L2C-310", p. 2-15, section 2.3.2 Shareable attribute" states: "The default behavior of the cache controller with respect to the shareable attribute is to transform Normal Memory Non-cacheable transactions into: - cacheable no allocate for reads - write through no write allocate for writes." Depending on the system architecture, this may cause memory corruption in the presence of bus mastering devices (e.g. OHCI). To avoid such corruption, the default behavior can be disabled by setting the Shared Override bit in the Auxiliary Control register. Currently the Shared Override bit can be set only using C code: - by calling l2x0_init() directly, which is deprecated, - by setting/clearing the bit in the machine_desc.l2c_aux_val/mask fields, but using values differing from 0/~0 is also deprecated. Hence add support for an "arm,shared-override" device tree property for the l2c device node. By specifying this property, affected systems can indicate that non-cacheable transactions must not be transformed. Then, it's up to the OS to decide. The current behavior is to set the "shared attribute override enable" bit, as there may exist kernel linear mappings and cacheable aliases for the DMA buffers, even if CMA is enabled. See also commit 1a8e41cd672f894b ("ARM: 6395/1: VExpress: Set bit 22 in the PL310 (cache controller) AuxCtlr register"): "Clearing bit 22 in the PL310 Auxiliary Control register (shared attribute override enable) has the side effect of transforming Normal Shared Non-cacheable reads into Cacheable no-allocate reads. Coherent DMA buffers in Linux always have a Cacheable alias via the kernel linear mapping and the processor can speculatively load cache lines into the PL310 controller. With bit 22 cleared, Non-cacheable reads would unexpectedly hit such cache lines leading to buffer corruption." Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3eb4351af42bd8b6de20daab07b204a85c35248f Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 9 14:33:21 2015 -0700 HID: input: call input_sync() when automatically releasing a key We need to emit EV_SYN/SYN_REPORT between key press and release, otherwise userspace is allowed to "swallow" the event. [jkosina@xxxxxxxx: Dmitry says that he's observing this behavior with Plantronics headset] Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 44eda784a2229d25e2724ef1734fe67453716231 Author: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 21:55:06 2015 -0700 HID: cp2112: support i2c write-read transfers in hid-cp2112 cp2112_i2c_xfer() only supports a single i2c_msg. More than one message at a time just returns EIO. This breaks certain important cases. For example, the at24 eeprom driver generates paired write and read messages (for eeprom address and data). Since the device doesn't support i2c repeated starts in general, but does support a single write-repeated-start-read pair (since hardware rev 1), we recognize the latter case and implement only that. Signed-off-by: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 3ce095c16263630dde46d6051854073edaacf3d7 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:39:02 2015 +0900 ALSA: aoa: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a4e2405cc5d20ed6d58c4874325856e80e76a7f8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Jul 9 18:01:40 2015 +0200 tcp: do not export tcp_init_xmit_timers() After commit 900f65d361d3 ("tcp: move duplicate code from tcp_v4_init_sock()/tcp_v6_init_sock()"), we no longer need to export tcp_init_xmit_timers() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09cf0211f970311383fdb453bbd5b3beeb294324 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 03:11:10 2015 -0700 bridge: mdb: fill state in br_mdb_notify Fill also the port group state when sending notifications. Signed-off-by: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb1c61680d29a054b91a23c7a504cea8a72bdcff Author: Masatake YAMATO <yamato@xxxxxxxxxx> Date: Thu Jul 9 12:46:35 2015 +0900 route: remove unsed variable in __mkroute_input flags local variable in __mkroute_input is not used as a variable. Signed-off-by: Masatake YAMATO <yamato@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35a256fee52c7c207796302681fa95189c85b408 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Jul 8 16:58:22 2015 -0700 ipv6: Nonlocal bind Add support to allow non-local binds similar to how this was done for IPv4. Non-local binds are very useful in emulating the Internet in a box, etc. This add the ip_nonlocal_bind sysctl under ipv6. Testing: Set up nonlocal binding and receive routing on a host, e.g.: ip -6 rule add from ::/0 iif eth0 lookup 200 ip -6 route add local 2001:0:0:1::/64 dev lo proto kernel scope host table 200 sysctl -w net.ipv6.ip_nonlocal_bind=1 Set up routing to 2001:0:0:1::/64 on peer to go to first host ping6 -I 2001:0:0:1::1 peer-address -- to verify Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a10ececc60c469d0641531589ccc38a768e0d07 Merge: 8b58a39 dbe7faa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 9 15:12:21 2015 -0700 Merge branch 'tw_cleanups' Eric Dumazet says: ==================== inet: timewait cleanups Another round of patches to make tw handling simpler. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbe7faa4045ea83a37b691b12bb02a8f86c2d2e9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Jul 8 14:28:30 2015 -0700 inet: inet_twsk_deschedule factorization inet_twsk_deschedule() calls are followed by inet_twsk_put(). Only particular case is in inet_twsk_purge() but there is no point to defer the inet_twsk_put() after re-enabling BH. Lets rename inet_twsk_deschedule() to inet_twsk_deschedule_put() and move the inet_twsk_put() inside. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc01538f9fb75572c969ca9988176ffc2a8741d6 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Jul 8 14:28:29 2015 -0700 inet: simplify timewait refcounting timewait sockets have a complex refcounting logic. Once we realize it should be similar to established and syn_recv sockets, we can use sk_nulls_del_node_init_rcu() and remove inet_twsk_unhash() In particular, deferred inet_twsk_put() added in commit 13475a30b66cd ("tcp: connect() race with timewait reuse") looks unecessary : When removing a timewait socket from ehash or bhash, caller must own a reference on the socket anyway. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3fd2f1b9d91284afb957ab9899a83279d0e09f29 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Jul 8 14:28:28 2015 -0700 inet: remove BUG_ON() in twsk_destructor() Kernel will crash the same if one of the pointer is NULL anyway. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b58a39846568dcd7d0c98b2fadc25018e59dedf Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Jul 8 23:32:12 2015 +0200 ipv6: use flag instead of u16 for hop in inet6_skb_parm Hop was always either 0 or sizeof(struct ipv6hdr). Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c3d0d67d5ddb2aeb3fdae540a567a56c2831d2a Author: Aleksey S. Kazantsev <ioctl@xxxxxxxxx> Date: Tue Jul 7 20:38:15 2015 -0700 dsa: mv88e6352/mv88e6xxx: Add support for Marvell 88E6320 and 88E6321 MV88E6320 and MV88E6321 are largely compatible to MV886352, but are members of a different chip family. Signed-off-by: Aleksey S. Kazantsev <ioctl@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 986ca37eaedc9bc3045a91cc32e6e7427bd87b5d Merge: 1007f59 b20a3fa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 9 14:22:53 2015 -0700 Merge branch 'tcp-in-slow-start' Yuchung Cheng says: ==================== tcp: fixes some congestion control corner cases This patch series fixes corner cases of TCP congestion control. First issue is to avoid continuing slow start when cwnd reaches ssthresh. Second issue is incorrectly processing order of congestion state and cwnd update when entering fast recovery or undoing cwnd. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b20a3fa30a281b52b2576b509efbe5cd47a5a79b Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Thu Jul 9 13:16:31 2015 -0700 tcp: update congestion state first before raising cwnd The congestion state and cwnd can be updated in the wrong order. For example, upon receiving a dubious ACK, we incorrectly raise the cwnd first (tcp_may_raise_cwnd()/tcp_cong_avoid()) because the state is still Open, then enter recovery state to reduce cwnd. For another example, if the ACK indicates spurious timeout or retransmits, we first revert the cwnd reduction and congestion state back to Open state. But we don't raise the cwnd even though the ACK does not indicate any congestion. To fix this problem we should first call tcp_fastretrans_alert() to process the dubious ACK and update the congestion state, then call tcp_may_raise_cwnd() that raises cwnd based on the current state. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76174004a0f19785a328f40388e87e982bbf69b9 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Thu Jul 9 13:16:30 2015 -0700 tcp: do not slow start when cwnd equals ssthresh In the original design slow start is only used to raise cwnd when cwnd is stricly below ssthresh. It makes little sense to slow start when cwnd == ssthresh: especially when hystart has set ssthresh in the initial ramp, or after recovery when cwnd resets to ssthresh. Not doing so will also help reduce the buffer bloat slightly. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 071d5080e33d6f24139e4213c2d9f97a2c21b602 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Thu Jul 9 13:16:29 2015 -0700 tcp: add tcp_in_slow_start helper Add a helper to test the slow start condition in various congestion control modules and other places. This is to prepare a slight improvement in policy as to exactly when to slow start. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1007f59dce53a22cba164f854d7bdc171c85dc79 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Jul 9 11:02:52 2015 -0700 net: skb_defer_rx_timestamp should check for phydev before setting up classify This change makes it so that the call skb_defer_rx_timestamp will first check for a phydev before going in and manipulating the skb->data and skb->len values. By doing this we can avoid unnecessary work on network devices that don't support phydev. As a result we reduce the total instruction count needed to process this on most devices. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2251ae46af72d013a6a537e7681e94b18b63e332 Author: Jon Maxwell <jmaxwell37@xxxxxxxxx> Date: Wed Jul 8 10:12:28 2015 +1000 tcp: v1 always send a quick ack when quickacks are enabled V1 of this patch contains Eric Dumazet's suggestion to move the per dst RTAX_QUICKACK check into tcp_in_quickack_mode(). Thanks Eric. I ran some tests and after setting the "ip route change quickack 1" knob there were still many delayed ACKs sent. This occured because when icsk_ack.quick=0 the !icsk_ack.pingpong value is subsequently ignored as tcp_in_quickack_mode() checks both these values. The condition for a quick ack to trigger requires that both icsk_ack.quick != 0 and icsk_ack.pingpong=0. Currently only icsk_ack.pingpong is controlled by the knob. But the icsk_ack.quick value changes dynamically depending on heuristics. The crux of the matter is that delayed acks still cannot be entirely disabled even with the RTAX_QUICKACK per dst knob enabled. This patch ensures that a quick ack is always sent when the RTAX_QUICKACK per dst knob is turned on. The "ip route change quickack 1" knob was recently added to enable quickacks. It was modeled around the TCP_QUICKACK setsockopt() option. This issue is that even with "ip route change quickack 1" enabled we still see delayed ACKs under some conditions. It would be nice to be able to completely disable delayed ACKs. Here is an example: # netstat -s|grep dela 3 delayed acks sent For all routes enable the knob # ip route change quickack 1 Generate some traffic across a slow link and we still see the delayed acks. # netstat -s|grep dela 106 delayed acks sent 1 delayed acks further delayed because of locked socket The issue is that both the "ip route change quickack 1" knob and the TCP_QUICKACK option set the icsk_ack.pingpong variable to 0. However at the business end in the __tcp_ack_snd_check() routine, tcp_in_quickack_mode() checks that both icsk_ack.quick != 0 and icsk_ack.pingpong=0 in order to trigger a quickack. As icsk_ack.quick is determined by heuristics it can be 0. When that occurs the icsk_ack.pingpong value is ignored and a delayed ACK is sent regardless. This patch moves the RTAX_QUICKACK per dst check into the tcp_in_quickack_mode() routine which ensures that a quickack is always sent when the quickack knob is enabled for that dst. Signed-off-by: Jon Maxwell <jmaxwell37@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd760c498f009e2a6795952469af6f8e6edac05a Author: Daniel Grimshaw <grimshaw@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 10:44:51 2015 -0700 Documentation: filesystems: btrfs: Fixed typos and whitespace I am a high school student trying to become familiar with Linux kernel development. The btrfs documentation in Documentation/filesystems had a few typos and errors in whitespace. This patch corrects both of these. Signed-off-by: Daniel Grimshaw <grimshaw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d6eff078e0bf9f24dcc2c7fcdbdf26b57148b197 Author: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> Date: Wed Jul 8 21:12:32 2015 +0200 SubmittingPatches: fix typo From 7e0befc8e48a49e2ddf86bbd861027b14ea5a53d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hinderer?= <Sebastien.Hinderer@xxxxxxxxxxxx> Date: Wed, 8 Jul 2015 21:10:18 +0200 Subject: [PATCH] SubmittingPatches: fix typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Signed-off-by: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d04df7325ac9def8c4a68b49822c1d0a0c5379c6 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Jul 8 16:25:21 2015 -0700 drm/i915: fbdev restore mode needs to invalidate frontbuffer This fbdev restore mode was another corner case that was now calling frontbuffer flip and flush and making we miss screen updates with PSR enabled. So let's also add the invalidate hack here while we don't have a reliable dirty fbdev op. v2: As pointed by Paulo: removed seg fault risk, used fb_helper when possible and put brackets on if. Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Testcase: igt/kms_fbcon_fbt/psr Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aba6da3e61779186a7bd45e2206d88524f422e5b Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 9 09:56:41 2015 -0700 drm/i915: fbdev_set_par reliably invalidating frontbuffer fbdev_set_par is called when fbcon is taking over control. In the past frontbuffer was being invalidated on set_to_gtt_domain, but it moved to set_domain fixing that case, but left this behind and broken in commit 031b698a77a70a6c394568034437b5486a44e868 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jun 26 19:35:16 2015 +0200 drm/i915: Unconditionally do fb tracking invalidate in set_domain Note that even before this commit it wasn't perfect since the invalidate was omitted if the fbcon was already in the GTT domain, which it usually was. Since we are also invalidating in other fbdev cases this one was masked here. At least until now that I found this corner case: On boot with plymouth doing a splash screen when returning to the console frontbuffer wans't being invalidated causing missed screen updates with PSR enabled. So this patch fixes this issue. v2: Make invalidate directly and unconditionally and fix commit message indicating the set_domain fix as pointed out by Daniel. v3: Remove unecessary if(obj) added by mistake Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> [danvet: Try to clarify commit message a bit and make it clear the referenced commit made this worse.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 97173eaf5f33b1e85efdb06d593d333480b60bf3 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Jul 7 16:28:55 2015 -0700 drm/i915: PSR: Increase idle_frames Idle frames the number of identical frames needed before panel can enter PSR. There are some panels that requires up to minimum of 4 idle frames available on the market. For these cases usually VBT should be used to configure the number of idle frames, but unfortunately this isn't always true and VBT isn't being set at all. Let's trust VBT when it is set + 1 and use minimum of 4 + 1 when VBT isn't set. "+1" covers the "of-by-one" case. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 09108b90f0404587b7afac64023ec11a7f1b1406 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Jul 7 16:28:54 2015 -0700 drm/i915: PSR: Remove Low Power HW tracking mask. By Spec we should only mask memup and hotplug detection for hardware tracking cases. However we always masked LPSP because with power well always enabled on audio PSR was never being activated and residency was always zeroed. Apparently audio driver is tying power well management and runtime PM for some reason. But with audio runtime PM working or with audio completely out of picture we should remove this mask, otherwise we have a high risk of miss screen updates as faced by Matthew. WARNING: With this patch if snd_intel_hda driver is running and not releasing power well properly PSR will constant Exit and Performance Counter will be 0. But the best thing of this patch is that with one more HW tracking working the risks of missed blank screen are minimized at most. This affects just core platforms where PSR exit are also helped by HW tracking: Haswell, Broadwell and Skylake for now. v2: Fix commit message explanation. It has nothing to do with runtime PM on i915 as previously advertised. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b6d30968d86c45a7bb599eaca13ff048d3fa576c Author: Anshul Garg <aksgarg1989@xxxxxxxxx> Date: Thu Jul 9 10:18:22 2015 -0700 Input: uinput - switch to using for_each_set_bit() Use for_each_set_bit to check for set bits in bitmap as it is more efficient and compact. Signed-off-by: Anshul Garg <aksgarg1989@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5d506a5ad4155e813d254d2f02ce17b58045423c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 9 16:48:50 2015 +0800 regulator: qcom_spmi-regulator: Use DIV_ROUND_UP instead of open-coded Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f3f6439d8635d783f145b321db3049369e745799 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Jul 9 16:35:28 2015 +0100 regulator: pwm-regulator: Small clean-ups Remove over-bracketing, use framework API to fetch PWM period and be more forthcoming that pwm_voltage_to_duty_cycle() actually returns duty cycle as a percentage, rather than a register value. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f747a1fe7848453957dbdf362a42d7a6735c6ff0 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Jul 9 16:35:27 2015 +0100 regulator: pwm-regulator: Remove obsoleted property In "[3d7ef30] regulator: pwm-regulator: Simplify voltage to duty-cycle call" we stopped using max_duty_cycle, so we can retire it from device data and DT. There is no need to deprecate this property, as it hasn't hit Mainline yet. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a505bfb10a0fc6f4342a2521b899d61ff2461e72 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Jul 9 16:35:26 2015 +0100 regulator: pwm-regulator: Ensure headings aren't confused with properties We're using capitalisation and removing the '-' to mitigate confusion. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e973e31a02c32fc830986e62f82e69934134f5ce Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Jul 9 21:38:55 2015 +0530 ASoC: Intel: Add DSP init and boot up functionality for SKL This patch adds code to enable, disable and boot DSP core. Also provide some helpers to reset and power up/down the core. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b81fd26359f04370f3c972652302717498f8790c Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Jul 9 21:38:54 2015 +0530 ASoC: Intel: Add Skylake IPC library This adds base SKL IPC library which uses common SST IPC lib. Here we add definition for IPC types, sending and receiving IPC messages from aDSP, handling interrupt, sending different types of messages etc Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d15b1ae17c79f682760483b56074e980720f52eb Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Jul 9 21:38:53 2015 +0530 ASoC: Intel: Add helper to update register bits with attr RWC For SKL IPC, we have some register bits with attribute RWC. So we need to force update them. Add helper to force update this type of registers bits. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7a2c52b61fd71eddda3385006962630444d15b9e Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Jul 9 21:38:52 2015 +0530 ASoC: Intel: Add helper to poll register for DSP status This patch adds helper to poll register for DSP status. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Kp, Jeeja <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cc2e26a7c57924b31e9c5ac7b3d0d814253c9285 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Jul 8 18:08:39 2015 -0300 drm/i915: fix intel_frontbuffer_flip documentation Reported by the kbuild test robot. Regression introduced by: commit fdbff9282c0f5f61ffc87d57461b04d943250910 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 11:23:24 2015 +0200 drm/i915: Clear fb_tracking.busy_bits also for synchronous flips (I reviewed this commit, so it's also my fault) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b6c2aa5187ac59c8c6728ae09934390c3757f2bf Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Jul 8 18:08:37 2015 -0300 drm/i915: intel_frontbuffer_flush can now be static So make it static. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 76f2e13d5597d72c4f88509d0d183e4a8512b01f Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Jul 8 18:08:38 2015 -0300 drm/i915: fix intel_fb_obj_flush documentation Reported by the kbuild test robot. Regression introduced by: commit de152b627eb3018de91ec5c5a50b38e17d80a88b Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Jul 7 16:28:51 2015 -0700 drm/i915: Add origin to frontbuffer tracking flush (I reviewed this commit, so it's also my fault) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 86c985883edeba570c9b6679827556bed2c6ecdc Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Jul 8 16:22:45 2015 -0700 drm/i915: dirty fb operation flushsing frontbuffer Let's do a frontbuffer flush on dirty fb. To be used for DIRTYFB drm ioctl. This patch solves the biggest PSR known issue, that is missed screen updates during boot, mainly when there is a splash screen involved like Plymouth. Previously PSR was being invalidated by fbdev and Plymounth was taking control with PSR yet invalidated and could get screen updates normally. However with some atomic modeset changes Pymouth modeset over ioctl was now causing frontbuffer flushes making PSR gets back to work while it cannot track the screen updates and exit properly. By adding this flush on dirtyfb we properly track frontbuffer writes and properly exit PSR. Actually all mmap_wc users should call this dirty callback in order to have a proper frontbuffer tracking. In the future it can be extended to return 0 if the whole screen has being flushed or the number of rects flushed as Chris suggested. v2: Remove ORIGIN_FB_DIRTY and use ORIGIN_GTT instead since dirty callback is just called after few screen updates and not on everyone as pointed by Daniel. v3: Use flush instead of invalidate since flush means invalidate + flush and dirty means drawn had finished and it can be flushed. v4: Remove PSR from subject since it is purely frontbuffer tracking change and that can be useful for FBC as well. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> [danvet: Fix alignment as spotted by Paulo.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 169de1316c1e69ad169d81c60549479640461630 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Jul 8 16:21:31 2015 -0700 drm/i915: PSR: Flush means invalidate + flush Since flush actually means invalidate + flush we need to force psr exit on PSR flush. On Core platforms there is no way to disable hw tracking and do the pure sw tracking so we simulate it by fully disable psr and reschedule a enable back. So a good idea is to minimize sequential disable/enable in cases we know that HW tracking like when flush has been originated by a flip. Also flip had just invalidated it already. It also uses origin to minimize the a bit the amount of disable/enabled, mainly when flip already had invalidated. With this patch in place it is possible to do a flush on dirty areas properly in a following patch. v2: Remove duplicated exit on HSW+Sprites as pointed out by Paulo. Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit adfe5f267dd005d0bbe8d71820a7fa38945d08bd Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:38:41 2015 +0200 ARM: mvebu: update mvebu_v7_defconfig with features needed for Armada 388 GP The Armada 388 GP board has the following hardware features that were not enabled in mvebu_v7_defconfig: * An AT24 I2C EEPROM (also used by armada-xp-lenovo-ix4-300d) * A PCA9555 I2C GPIO expander * Several fixed regulators Therefore, this commit adds the necessary options to mvebu_v7_defconfig. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 7e5308be4c0747e328d03f3daa46aaa5eaf7714f Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:38:40 2015 +0200 ARM: mvebu: update EEPROM description of Armada 388 GP Contrary to what the Device Tree indicates, the EEPROM at 0x54 is not populated, so we get rid of this comment. However, there is an EEPROM at 0x57, so we add support for this AT24C64 EEPROM: $ hexdump -C /sys/bus/i2c/devices/0-0057/eeprom 00000000 0c ff f3 ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00002000 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit b5999dcbdb96570c130772ac2055a4d34ec8b3d7 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:38:39 2015 +0200 ARM: mvebu: fix description of pwr-sata0 regulator on Armada 388 GP This regulator was lacking the reference to the GPIO that controls it, and the regulator-min-microvolt and regulator-max-microvolt properties. Thanks to this commit, the pwr-sata0 regulator now looks more like the other pwr-sata{1,2,3} regulators in the same Device Tree, with of course the exception of a different GPIO reference. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit c43379e150aa335b447f14e55cefd8f1c405cb5f Author: Roger Shimizu <rogershimizu@xxxxxxxxx> Date: Tue Jun 23 00:02:30 2015 +0900 ARM: dts: add buffalo linkstation ls-wvl/vl Add dts file to support Buffalo Linkstation LS-WVL and LS-VL, which are 3.5" HDD NAS in 2-bay and 1-bay respectively. [gregory.clement@xxxxxxxxxxxxxxxxxx: fix typo in pmx-led-function-red] Signed-off-by: Roger Shimizu <rogershimizu@xxxxxxxxx> Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@xxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 1055e0687f581cf988bb2239a00d1396e18ef114 Author: Chad Versace <chad.versace@xxxxxxxxx> Date: Thu Jul 9 01:38:42 2015 -0700 drm/fourcc: Add formats R8, RG88, GR88 The Kodi/XBMC developers want to transcode NV12 to RGB with OpenGL shaders, importing the two source planes through EGL_EXT_image_dma_buf_import. That requires importing the Y plane as an R8 EGLImage and the UV plane as either an RG88 or GR88 EGLImage. CC: Peter Frühberger <peter.fruehberger@xxxxxxxxx> Cc: Rainer Hochecker <rainer.hochecker@xxxxxxxxxxxxx> Cc: Benjamin Widawsky <benjamin.widawsky@xxxxxxxxx> Reviewed-by: Pekka Paalanen <pekka.paalanen@xxxxxxxxxxxxxxx> Signed-off-by: Chad Versace <chad.versace@xxxxxxxxx> commit e54e4b1b622e534381b422b8a80a21453dd6f644 Author: Roger Shimizu <rogershimizu@xxxxxxxxx> Date: Tue Jun 23 00:00:16 2015 +0900 ARM: dts: add buffalo linkstation ls-wxl/wsxl Add dts file to support Buffalo Linkstation LS-WXL and LS-WSXL, which are 2-bay NAS with 3.5" and 2.5" HDD respectively. Signed-off-by: Roger Shimizu <rogershimizu@xxxxxxxxx> Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@xxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 67e123ff0e9a71fcf19f83827d59f73076f5bd1a Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 08:08:15 2015 +0200 HID: wacom: Delete unnecessary checks before the function call "input_free_device" The input_free_device() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit c8f5a878e55459b78bac273f6492bbc91475beb5 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 13:51:12 2015 +0200 ARM: mvebu: use DT properties to fine-tune the L2 configuration In order to optimize the L2 cache performance, this commit adjusts the configuration of the L2 on the Cortex-A9 based Marvell EBU processors (Armada 375, 38x and 39x), using the appropriate DT properties. We enable double linefill, incr double linefill, data prefetch and disable double linefill on wrap. This matches the configuration that was fine tuned in the Marvell BSP. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 449e1d649c52a80db73dd313dce92d6e191b801b Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 14:12:21 2015 +0200 ARM: mvebu: use armada-380-xor on Armada 38x and 39x The Armada 38x and 39x SoC support have an updated XOR hardware block compared to previous SoCs. These features can be enabled by using the 'armada-380-xor' compatible string, available since commit 6f166312c6ea ("dmaengine: mv_xor: add support for a38x command in descriptor mode"). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 0925636042170e0b6716cd86635899c5f4258f69 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Mon Jul 6 16:48:31 2015 -0700 HID: rmi: Disable scanning if the device is not a wake source Some touchpads are configured with firmware which continues to scan for fingers at a minimal scan rate even after receiving the HID power sleep command. This allows a finger touching the touchpad to genrate a wake event. This patch ensures that scanning is disabled if the touchpad is not a wake source and ensures scanning is enabled on resume. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 24d9b755ab2b44ec56723cd8e6b578985a1f1c76 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 21:26:02 2015 +0200 ALSA: hda: Delete an unnecessary check before the function call "kobject_put" The kobject_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7a1436d58027f84ae2167b5ec359c15cb1d80837 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Jun 14 19:01:30 2015 -0700 ARM: orion5x: Use vsprintf %pM extension Format mac addresses with the normal kernel extension. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a17683ba3d240612ef52bcbf7f4db91f1e457735 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 12 15:38:34 2015 +0200 ARM: mvebu: add missing newline at end of messages Commit 548ae94c1cc7f ("ARM: mvebu: Disable CPU Idle on Armada 38x") added two new pr_warn() messages in mach-mvebu/pmsu.c. However, these messages lack the final new line, causing the next message to be displayed on the same line. This commit adds the missing ending newlines. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 5ddfb12e90c73cf86881345be422e09c367f6981 Author: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 11:17:39 2015 -0700 HID: cp2112: support large i2c transfers cp2112_i2c_xfer() only reads up to 61 bytes, returning EIO on longers reads. The fix is to wrap a loop around cp2112_read() to pick up all the returned data. Signed-off-by: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 6adcafae6ed20fe380addc8e7c628e529751ade3 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Jun 26 10:59:49 2015 +0800 ASoC: add rt298 codec driver It is the initial version of ALC298 codec driver. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0505700104cd98da6d11c01b8063cffdb1b8d7d7 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Jul 9 15:20:11 2015 +0530 ASoC: Intel: Add support for decoupled mode in skl driver Decoupled mode is where audio link is broken to frontend HDA and backend (hda/i2s/dmic/hdmi) links. This patch adds support for decoupled mode and then adds dais, dai ops for be/fe cpu dais and interrupt handler change to support decoupled mode Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eb965e3686f5cea669444d120f3723efa88ed56a Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Jul 9 15:20:10 2015 +0530 ASoC: Intel: Add makefile support for SKL driver This adds makefile and Kconfig to enable Skylake HD audio PCM driver Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d8c2dab8381d58376d127c64553e499569f4d22a Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Jul 9 15:20:09 2015 +0530 ASoC: Intel: Add Skylake HDA audio driver This patch follows up by adding the HDA controller operations. This code is mostly derived from Intel HDA PCI driver without legacy bits Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a40e693c7f5ee3a1a7d1f6aef63c5dadbec64e10 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Jul 9 15:20:08 2015 +0530 ASoC: Intel: Add Skylake HDA platform driver This patch starts to add the Skylake HDA platform driver by defining SoC CPU dais, DMA driver ops and implements ALSA operations Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5ed68f0a28f96c5127246d1743dd57b58a090f07 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 11:28:46 2015 +0100 ASoC: arizona: Use the more idiomatic params_width Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c53765247ed7461ebe4e448af03c051bf6edaf48 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Tue Jun 23 21:41:43 2015 +0200 ARM: dts: A10s-OLinuxIno: Add a node for axp152 pmic Add a node for axp152 pmic used on the A10s-OLinuxIno SBC. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 98a4707ada2be6b168a3490c3addc2690927a111 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Tue Jun 23 21:41:42 2015 +0200 ARM: dts: axp152: Add a dtsi file for the axp152 pmic Add a dtsi file for the axp152 pmic, this mirrors the way things are handled for the axp202 pmic. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 351265f46291e879d0cd4e416ebcbdd7f49c9453 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Thu Jun 18 14:08:01 2015 +0800 ARM: imx_v6_v7_defconfig: build in audio driver Add ASRC, FSL_ASOC_CARD, CS42xx8 support Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 77a58c741df1b91258cc4df3e6893ff61e8293a4 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Jul 8 16:06:47 2015 -0700 rocker: add change MTU support Implement ndo_change_mtu: on MTU change, reallocate Rx ring bufs and signal HW of new port MTU value. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Tested-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 910be1abbec9cac102fde8ab6dd68a9b410ca441 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Jul 9 10:25:39 2015 +0530 neterion: s2io: Use module_pci_driver Use module_pci_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return pci_register_driver(&x); } @b depends on a@ identifier e, a.x; statement S; @@ -static e(...) { -pci_unregister_driver(&x); -DBG_PRINT(INIT_DBG,"S"); - } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_pci_driver; @@ -module_exit(e); +module_pci_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71d3c0b49a72fd092b7490b923d1721ceced8170 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Jul 9 14:55:46 2015 +0530 cxgb4vf: Fix check to use new User Doorbell mechanism If we don't have access to the new User GTS (T5+), use the old doorbell mechanism; otherwise use the new BAR2 mechanism. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 948cea14487af7d6e8b8007dc24a5361869f410b Author: Anshul Garg <aksgarg1989@xxxxxxxxx> Date: Wed Jul 8 16:43:20 2015 -0700 Input: ff-core - use for_each_set_bit where appropriate Use for_each_set_bit to check for set bits in bitmap as it is more efficient than checking individual bits. Signed-off-by: Anshul Garg <aksgarg1989@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f23487cdbe3bd002e99f41250143014e522c34de Author: Anshul Garg <aksgarg1989@xxxxxxxxx> Date: Wed Jul 8 16:41:39 2015 -0700 Input: joydev - use for_each_set_bit where appropriate Use for_each_set_bit to check for set bits in bitmap as it is more efficient than checking individual bits. Signed-off-by: Anshul Garg <aksgarg1989@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ec0843fabe29ad44bdaaa16c8d6cda4537716de5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 8 08:25:50 2015 -0700 Input: drv260x/drv2665/drv2667 - constify reg_default tables These reg_default tables are not modified after initialized, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2d53809594afaf2ae66a90a3142c1b702fd3bcea Author: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Date: Mon Jul 6 15:57:44 2015 -0700 Input: zforce_ts - convert to use the gpiod interface Use the new GPIO descriptor interface to handle the zForce GPIOs. This simplifies the code and allows transparently handle GPIO polarity, as specified in device tree data. Also switch to using gpio_{set|get}_value_cansleep() since none of the callers is in atomic context and cansleep variant allows more GPIO controllers to be used with the touchscreen. Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f5bbc91c88c18a4c518f066cc4e784d7b5fb9735 Author: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Date: Tue Jul 7 15:25:53 2015 +0300 power_supply: rt9455_charger: Properly notify userspace about charging events Charging events this patch refers to are: - charger is connected to/disconnected from the power source - battery is reconnected to the charger, after it was absent. When the charger is connected to/disconnected from the power source, CHRVPI interrupt occurs and PWR_RDY bit is either set or cleared. PWR_RDY bit is updated after 1-2 seconds CHRVPI interrupt has occurred. power_supply_changed() should be called after PWR_RDY bit is updated. /sys/class/power_supply/rt9455-charger/online file displays the value of PWR_RDY bit. This way, if the userspace is notified that a charging event has occurred and the userspace reads /sys/class/power_supply/rt9455-charger/online file, this file is properly updated when the userspace reads it. This is the reason why power_supply_changed() is called in rt9455_pwr_rdy_work_callback(), instead of being called in interrupt handler. Since no interrupt is triggered when the battery is reconnected to the charger, the userspace is never notified that the battery is reconnected. This is why power_supply_changed() is called in rt9455_max_charging_time_work_callback(), so that the userspace is notified that the battery is reconnected. Signed-off-by: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ba29becd770ffec90f3af896daffac6b9acec608 Author: Xi Wang <xi.wang@xxxxxxxxx> Date: Wed Jul 8 14:00:56 2015 -0700 test_bpf: extend tests for 32-bit endianness conversion Currently "ALU_END_FROM_BE 32" and "ALU_END_FROM_LE 32" do not test if the upper bits of the result are zeros (the arm64 JIT had such bugs). Extend the two tests to catch this. Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Xi Wang <xi.wang@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca661a28887714ee2ebdcfe9e89fa2528fcbfbbf Merge: b11b6ed b766064 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 8 16:13:55 2015 -0700 Merge branch 'cxgb4-t6' Hariprasad Shenai says: ==================== Cleanup, T6 changes and register range update This patch series adds the following: Don't use entire L2T table, update register ranges for T6 adapter, read stats for only available channels for T6 and enable cim_la dump for T6 adapter also. This patch series has been created against net-next tree and includes patches on cxgb4 driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7660642b77b6aa7fae6c0f832d0290af331bd7e Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Jul 7 21:49:21 2015 +0530 cxgb4: Enable cim_la dump to support T6 Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df459ebc33324e6e2932b0236a7e1a53a14182b2 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Jul 7 21:49:20 2015 +0530 cxgb4: Read stats for only available channels Updating the driver to read the stats of only available channels. T6 and later has only 2 channels Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b4e83e133c7e610fdb6063f64bd404fc0836fe0 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Jul 7 21:49:19 2015 +0530 cxgb4: Update register ranges for T6 adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5be9ed8d49754c22fffd8ddd9cb751d591f31a08 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Jul 7 21:49:18 2015 +0530 cxgb4: Don't use entire L2T table, use only its slice The driver was retrieving the parameters for the bounds of its slice of the L2T from the firmware and then throwing those away and using the entire table. This corrects that problem. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b11b6ed0f97f900f5c4bba9b3abcd2d2dab73ca7 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Jul 7 12:32:54 2015 +0530 net: ec_bhf: Use module_pci_driver Use module_pci_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return pci_register_driver(&x); } @b depends on a@ identifier e, a.x; @@ -static e(...) { pci_unregister_driver(&x); } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_pci_driver; @@ -module_exit(e); +module_pci_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9cbce34c34bcc05ea0dd78c8999bfe88b5b6b86 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Jul 6 14:11:37 2015 -0700 hv_netvsc: Add support to set MTU reservation from guest side When packet encapsulation is in use, the MTU needs to be reduced for headroom reservation. The existing code takes the updated MTU value only from the host side. But vSwitch extensions, such as Open vSwitch, require the flexibility to change the MTU to different values from within a guest during the lifecycle of a vNIC, when the encapsulation protocol is changed. The patch supports this kind of MTU changes. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e29e21a9bbfb2204bab875f0ef6dbaed66592e7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 22:05:28 2015 +0200 ifb: add multiqueue operation Add multiqueue capabilities to ifb netdevice. This removes last bottleneck for ingress when mq qdisc can be used to shard load from multiple RX queues on physical device. Tested: # netem based setup, installed at receiver side ETH=eth0 IFB=ifb10 EST="est 1sec 4sec" # Optional rate estimator RTT_HALF=2ms #REORDER=20us #LOSS="loss 1" TXQ=8 ip link add ifb10 numtxqueues $TXQ type ifb ip link set dev $IFB up tc qdisc add dev $ETH ingress 2>/dev/null tc filter add dev $ETH parent ffff: \ protocol ip u32 match u32 0 0 flowid 1:1 \ action mirred egress redirect dev $IFB tc qdisc del dev $IFB root 2>/dev/null tc qdisc add dev $IFB root handle 1: mq for i in `seq 1 $TXQ` do slot=$( printf %x $(( i )) ) tc qd add dev $IFB parent 1:$slot $EST netem \ limit 100000 delay $RTT_HALF $REORDER $LOSS done lpaa24:~# tc -s -d qd sh dev ifb10 qdisc mq 1: root Sent 316544766 bytes 5265927 pkt (dropped 0, overlimits 0 requeues 0) backlog 98880b 1648p requeues 0 qdisc netem 8002: parent 1:1 limit 100000 delay 2.0ms Sent 39601416 bytes 658721 pkt (dropped 0, overlimits 0 requeues 0) rate 38235Kbit 79657pps backlog 12240b 204p requeues 0 qdisc netem 8003: parent 1:2 limit 100000 delay 2.0ms Sent 39472866 bytes 657227 pkt (dropped 0, overlimits 0 requeues 0) rate 38234Kbit 79655pps backlog 10620b 176p requeues 0 qdisc netem 8004: parent 1:3 limit 100000 delay 2.0ms Sent 39703417 bytes 659699 pkt (dropped 0, overlimits 0 requeues 0) rate 38320Kbit 79831pps backlog 12780b 213p requeues 0 qdisc netem 8005: parent 1:4 limit 100000 delay 2.0ms Sent 39565149 bytes 658011 pkt (dropped 0, overlimits 0 requeues 0) rate 38174Kbit 79530pps backlog 11880b 198p requeues 0 qdisc netem 8006: parent 1:5 limit 100000 delay 2.0ms Sent 39506078 bytes 657354 pkt (dropped 0, overlimits 0 requeues 0) rate 38195Kbit 79571pps backlog 12480b 208p requeues 0 qdisc netem 8007: parent 1:6 limit 100000 delay 2.0ms Sent 39675994 bytes 658849 pkt (dropped 0, overlimits 0 requeues 0) rate 38323Kbit 79838pps backlog 12600b 210p requeues 0 qdisc netem 8008: parent 1:7 limit 100000 delay 2.0ms Sent 39532042 bytes 658367 pkt (dropped 0, overlimits 0 requeues 0) rate 38177Kbit 79536pps backlog 13140b 219p requeues 0 qdisc netem 8009: parent 1:8 limit 100000 delay 2.0ms Sent 39488164 bytes 657705 pkt (dropped 0, overlimits 0 requeues 0) rate 38192Kbit 79568pps backlog 13Kb 222p requeues 0 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: John Fastabend <john.fastabend@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81aa507981bd785da84ac8bbed942495257dcaa3 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Mon Jul 6 22:38:34 2015 +0530 cxgb4: Add PCI device ids for few more T5 and T6 adapters Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0beb44b0653978c0f180f902fb93a1b0b61833b8 Author: Carol Soto <clsoto@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 09:20:19 2015 -0500 net/mlx4_core: Add extra check for total vfs for SRIOV Add extra check for total vfs for SRIOV to check if that value is bigger than total vfs in pci SRIOV capabalities. Fix a check and print of the number of maximum vfs that hw can handle. Fix a check and print of the number of maximum vfs per port that driver can handle. Signed-off-by: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d912557b346099584bbbfa8d3c1e101c46e33b59 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 16:20:07 2015 +0200 samples: bpf: enable trace samples for s390x The trace bpf samples do not compile on s390x because they use x86 specific fields from the "pt_regs" structure. Fix this and access the fields via new PT_REGS macros. Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7baaa9092dedad5f670a7b1716b2ce9e1175ba02 Author: Punnaiah Choudary Kalluri <punnaiah.choudary.kalluri@xxxxxxxxxx> Date: Mon Jul 6 10:02:53 2015 +0530 net: macb: Add SG support for Zynq SOC family Enable SG support for Zynq SOC family devices. Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ab13b27699e5a71cca20d301c3c424653bd0841 Author: Li, Liang Z <liang.z.li@xxxxxxxxx> Date: Mon Jul 6 08:42:56 2015 +0800 xen-netback: remove duplicated function definition There are two duplicated xenvif_zerocopy_callback() definitions. Remove one of them. Signed-off-by: Liang Li <liang.z.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8685255ec50d472deb4db1b8bab3609092944cc7 Merge: 0a6d424 2ee22a9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 8 13:50:42 2015 -0700 Merge branch 'sch_act_lockless' Eric Dumazet says: ==================== net_sched: act: lockless operation As mentioned by Alexei last week in Budapest, it is a bit weird to take a spinlock in order to drop a packet in a tc filter... Lets add percpu infra for tc actions and use it for gact & mirred. Before changes, my host with 8 RX queues was handling 5 Mpps with gact, and more than 11 Mpps after. Mirred change is not yet visible if ifb+qdisc is used, as ifb is not yet multi queue enabled, but is a step forward. ==================== Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ee22a90c7afac265bb6f7abea610b938195e2b8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:09 2015 -0700 net_sched: act_mirred: remove spinlock in fast path Like act_gact, act_mirred can be lockless in packet processing 1) Use percpu stats 2) update lastuse only every clock tick to avoid false sharing 3) use rcu to protect tcfm_dev 4) Remove spinlock usage, as it is no longer needed. Next step : add multi queue capability to ifb device Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: John Fastabend <john.fastabend@xxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56e5d1ca183d8616fab377d7d466c244b4dbb3b9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:08 2015 -0700 net_sched: act_gact: remove spinlock in fast path Final step for gact RCU operation : 1) Use percpu stats 2) update lastuse only every clock tick to avoid false sharing 3) Remove spinlock acquisition, as it is no longer needed. Since this is the last contended lock in packet RX when tc gact is used, this gives impressive gain. My host with 8 RX queues was handling 5 Mpps before the patch, and more than 11 Mpps after patch. Tested: On receiver : dev=eth0 tc qdisc del dev $dev ingress 2>/dev/null tc qdisc add dev $dev ingress tc filter del dev $dev root pref 10 2>/dev/null tc filter del dev $dev pref 10 2>/dev/null tc filter add dev $dev est 1sec 4sec parent ffff: protocol ip prio 1 \ u32 match ip src 7.0.0.0/8 flowid 1:15 action drop Sender sends packets flood from 7/8 network Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f2ae965b7ef4f4ddab6110f06388e270723d694 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:07 2015 -0700 net_sched: act_gact: read tcfg_ptype once Third step for gact RCU operation : Following patch will get rid of spinlock protection, so we need to read tcfg_ptype once. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc6510a9504fd3c03d76bd68d99653148342eecc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:06 2015 -0700 net_sched: act_gact: use a separate packet counters for gact_determ() Second step for gact RCU operation : We want to get rid of the spinlock protecting gact operations. Stats (packets/bytes) will soon be per cpu. gact_determ() would not work without a central packet counter, so lets add it for this mode. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cef5ecf96b28dc91c4e9f398a336c578fb9e1a0c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:05 2015 -0700 net_sched: act_gact: make tcfg_pval non zero First step for gact RCU operation : Instead of testing if tcfg_pval is zero or not, just make it 1. No change in behavior, but slightly faster code. The smp_rmb()/smp_wmb() barriers, while not strictly needed at this stage are added for upcoming spinlock removal. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 519c818e8fb646eef1e8bfedd18519bec47bc9a9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:04 2015 -0700 net: sched: add percpu stats to actions Reuse existing percpu infrastructure John Fastabend added for qdisc. This patch adds a new cpustats parameter to tcf_hash_create() and all actions pass false, meaning this patch should have no effect yet. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24ea591d2201c3257d666466e8fac50a6cf3c52f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:03 2015 -0700 net: sched: extend percpu stats helpers qdisc_bstats_update_cpu() and other helpers were added to support percpu stats for qdisc. We want to add percpu stats for tc action, so this patch add common helpers. qdisc_bstats_update_cpu() is renamed to qdisc_bstats_cpu_update() qdisc_qstats_drop_cpu() is renamed to qdisc_qstats_cpu_drop() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a6d4245691173eb953c440b8c6fc0b1688e6b25 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Jul 2 13:24:44 2015 +0200 mlx4: TCP/UDP packets have L4 hash Mellanox driver has the knowledge if rxhash is a L4 hash, if it receives a non fragmented TCP or UDP frame and NETIF_F_RXCSUM is enabled on netdev. ip_summed value is CHECKSUM_UNNECESSARY in this case. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Amir Vadai <amirv@xxxxxxxxxxxx> Cc: Ido Shamay <idos@xxxxxxxxxxxx> Acked-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71c3353775677bee531bc9435f8f7481a4d6790e Merge: fda8b18 3759824 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 8 13:29:46 2015 -0700 Merge branch 'tcp-policer-drops' Yuchung Cheng says: ==================== tcp: reducing lost retransmits in recovery This patch series reduces lost retransmits in recovery, in particular when dealing with traffic policers. The main problem is that slow start in recovery under policing can cause massive lost and retransmit storms: any excess sending rate turns into drops. The solution is to avoid doing slow start when lost retransmit is detected and use packet conservation instead. On networks with traffic policers the patches have lowered the TCP loss rates by ~20% from Google servers without latency regressions. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3759824da87b30ce7a35b4873b62b0ba38905ef5 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Wed Jul 1 14:11:15 2015 -0700 tcp: PRR uses CRB mode by default and SS mode conditionally PRR slow start is often too aggressive especially when drops are caused by traffic policers. The policers mainly use token bucket to enforce the rate so sending (twice) faster than the delivery rate causes excessive drops. This patch changes PRR to the conservative reduction bound (CRB) mode in RFC 6937 by default. CRB follows the packet conservation rule to send at most the delivery rate by default. But if many packets are lost and the pipe is empty, CRB may take N round trips to repair N losses. We conditionally turn on slow start mode if all these conditions are made to speed up the recovery: 1) on the second round or later in recovery 2) retransmission sent in the previous round is delivered on this ACK 3) no retransmission is marked lost on this ACK By using packet conservation by default, this change reduces the loss retransmits signicantly on networks that deploy traffic policers, up to 20% reduction of overall loss rate. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 291a00d1a70f96b393da9ac90c58a82bc7949fc8 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Wed Jul 1 14:11:14 2015 -0700 tcp: reduce cwnd if retransmit is lost in CA_Loss If the retransmission in CA_Loss is lost again, we should not continue to slow start or raise cwnd in congestion avoidance mode. Instead we should enter fast recovery and use PRR to reduce cwnd, following the principle in RFC5681: "... or the loss of a retransmission, should be taken as two indications of congestion and, therefore, cwnd (and ssthresh) MUST be lowered twice in this case." This is especially important to reduce loss when the CA_Loss state was caused by a traffic policer dropping the entire inflight. The CA_Loss state has a problem where a loss of L packets causes the sender to send a burst of L packets. So a policer that's dropping most packets in a given RTT can cause a huge retransmit storm. By contrast, PRR includes logic to bound the number of outbound packets that result from a given ACK. So switching to CA_Recovery on lost retransmits in CA_Loss avoids this retransmit storm problem when in CA_Loss. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d1acd31883d78f905a930493ff145ca4a25ad680 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 15:28:14 2015 +0100 ASoC: wm5110: Add special DRE on/off handling for the headphone path For the best performance the headphone path enable/disable must be handled specially for the situations of DRE on and DRE off. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 81207880cef207cd89db863f9aa1d65f22b4f2a2 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 15:28:13 2015 +0100 mfd: wm5110: Add register patch for rev E and above Add a register patch for rev E and above that configures the location of some write sequences to assist with the headphone enables. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f089d4d20fcbcf16a62ef3b4b57f41ecf59a5d83 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 15:28:12 2015 +0100 mfd: wm5110: Add registers for custom write sequence triggers This register will be needed as part of some additional support for the headphone path on wm5110, so this patch adds the register and sets up its regmap config. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f7f06b87acd2e017d6c536f59e10045dd8d0578 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Tue Jul 7 10:55:28 2015 -0700 x86/entry/64: Fix IRQ state confusion and related warning on compat syscalls with CONFIG_AUDITSYSCALL=n int_ret_from_sys_call now expects IRQs to be enabled. I got this right in the real sysexit_audit and sysretl_audit asm paths, but I missed it in the #defined-away versions when CONFIG_AUDITSYSCALL=n. This is a straightforward fix for CONFIG_AUDITSYSCALL=n Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 29ea1b258b98 ("x86/entry/64: Migrate 64-bit and compat syscalls to the new exit handlers and remove old assembly code") Link: http://lkml.kernel.org/r/25cf0a01e01c6008118dd8f8d9f043020416700c.1436291493.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit abd31b32dde4683df6fd0439caa314aafd751698 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jul 8 20:47:44 2015 +0200 ASoC: Use card field to indicate whether a component is bound Use the card field of a component to indicate whether it is bound or not. This makes a certain sense given that the field contains the card the component is bound to and a component can only be bound to one card at a time. And it also requires to unset the card field when the component is unbound from the card. This makes the probded flag redundant and it can be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1b7c12316982f74a5b8e7704c24cf5524d0723a3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jul 8 20:47:43 2015 +0200 ASoC: Prevent components from being bound to multiple cards A component can only be bound to a single card at a time. Binding it to card while it is already bound to another will result in undefined behavior. As the undefined behavior might only manifest itself later on it is not necessarily always straight forward to find the cause. To prevent this add a check that refuses to bind a component to multiple cards as well as prints a error describing the problem. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f7c765e604a22dd898ac414d59b5a8edfe428b65 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Jul 3 16:04:04 2015 +0530 ASoC: Intel: Reorganize the common dsp structure We will add SKL platform data. So organizing common and platform specific data helps. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3582f9ae07613302eb2967704ed2cef741db9a8d Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Jul 3 16:04:03 2015 +0530 ASoC: Intel: Define SKL ADSP IPC and general purpose registers Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Kp, Jeeja <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca94085139d4874701af4f149bebfb05e105b245 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 2 21:29:01 2015 +0800 ASoC: wm8996: Remove spurious IRQF_ONESHOT flag This reverts ed043aebe6ec ("ASoC: wm8996: Pass the IRQF_ONESHOT flag"). The coccinelle warnings is false positive because the original code does set IRQF_ONESHOT by "trigger |= IRQF_ONESHOT;". Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit efc04ca22303dee1f34d038af3addc13621bed58 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 2 21:27:48 2015 +0800 ASoC: wm5100: Remove spurious IRQF_ONESHOT flag This reverts 3d907cc30d07 ("ASoC: wm5100: Pass the IRQF_ONESHOT flag"). The coccinelle warnings is false positive because the original code does set IRQF_ONESHOT by "trigger |= IRQF_ONESHOT;". Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 030e6ee241f0586308622bcdd273a317976b3169 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 2 21:26:44 2015 +0800 ASoC: wm0010: Remove spurious missing IRQF_ONESHOT This reverts 58d468328646 ("ASoC: wm0010: Add missing IRQF_ONESHOT"). The coccinelle warnings is false positive because the original code does set IRQF_ONESHOT by "trigger |= IRQF_ONESHOT;". Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5afdc5bf53995385b621361c976b8a29e07f701 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jun 28 11:40:22 2015 +0800 ASoC: rt286: Constify dmi_system_id table dmi_check_system() takes "const struct dmi_system_id *", so make the dmi_system_id table const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 47a7bfc2bc99625e376e59fb01abf779c2d8a7b0 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jun 19 23:55:31 2015 +0530 ASoC: intel - atom: fix sst_platform_compr_ops declaration Sparse complains that sst_platform_compr_ops should be static, but the declaration of this symbol was not correct so declare the symbol as extern in header file sound/soc/intel/atom/sst-mfld-platform-compress.c:257:22: warning: symbol 'sst_platform_compr_ops' was not declared. Should it be static? Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9569909f4dda3810be05223e4deb278b794f309b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jun 19 23:55:30 2015 +0530 ASoC: intel - atom: statify sst_slot_enum_info Sparse complains that sst_slot_enum_info should be static, so make it static sound/soc/intel/atom/sst-atom-controls.c:135:5: warning: symbol 'sst_slot_enum_info' was not declared. Should it be static? Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 13735d1cecec1b3825f6834c74e67f82ab8cfe68 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jun 19 23:55:28 2015 +0530 ASoC: intel - kconfig: remove SND_SOC_INTEL_SST prompt The SND_SOC_INTEL_SST is for common IPC lib and this should ideally be not selectable symbol but selected by respective machine driver So remove the prompt and get respective machines select it Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7dd6bd8926f3142a237316035e72676c0c5c026f Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jun 19 23:55:27 2015 +0530 ASoC: intel: kconfig - Move DW_DMAC_CORE dependency to machines Some HSW and BYT machines depend on the DW_DMAC_CORE so they should have have depends on this symbol rather than common IPC lib as SKL onwards IPC lib is used but we don't depend on DW_DMAC_CORE Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 402f2a4f808a5d284de724689751dcd018835579 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 15:55:53 2015 -0300 ASoC: max98095: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cef6daa919c6912c4da629c3cee9c789f90583b1 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 15:55:52 2015 -0300 ASoC: wm8731: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 779ea47399bae5d9418451f5283a3b2e35869627 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 15:55:51 2015 -0300 ASoC: wm8904: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c4a99a4b4f6ef56e9c8182920680b84a7129ca80 Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Tue Jul 7 14:21:47 2015 -0700 ASoC: ts3a227e: do not report jack status when there is i2c read err After suspend -> resume the ts3a227e_interrupt sometimes comes before i2c controller resume is called .regmap_read will return incorrect status and report a wrong jack status.This patch will disable irq on suspend and enable irq again on the resume to make sure interrupt is coming after TI resumes. Also We should return if there is read err,the interrupt will come again since it is level triggered and we are not yet clear the interrupt. In addtion,cht_bsw_max98090_ti machine driver registered additional notifier base on jack event which will program the audio codec.there will be codec timeout err if such event occurs prior to i2c controller is resumed. Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit de152b627eb3018de91ec5c5a50b38e17d80a88b Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Jul 7 16:28:51 2015 -0700 drm/i915: Add origin to frontbuffer tracking flush This will be useful to PSR and FBC once we start making dirty fb calls to also flush frontbuffer. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83b8a982b101c48fc025066a7b08beaf6fa756f0 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Wed Jul 8 10:27:05 2015 +0100 drm/i915: Update wa_ctx_emit() macro as per kernel coding guidelines wa_ctx_emit() depends on the name of a local variable; if the name of that variable is changed then we get compile errors. In this case it is unlikely to be changed as this macro is only used in this set of functions but Kernel coding guidelines doesn't recommend doing this. It was my mistake as I should have corrected it at the beginning but missed so correct this before there are more usages of this macro (Bob Beckett). https://www.kernel.org/doc/Documentation/CodingStyle, Chapter 12, "Things to avoid when using macros", point 2): " 2) macros that depend on having a local variable with a magic name: #define FOO(val) bar(index, val) might look like a good thing, but it's confusing as hell when one reads the code and it's prone to breakage from seemingly innocent changes. " v2: Optimization to avoid multiple evaluation of 'index' in the macro. Since we invoke it multiple times, compiler, if it can, should be able to coalesce them into a single condition and remove multiple WARN_ON checks (Chris). Suggested-by: Robert Beckett <robert.beckett@xxxxxxxxx> Cc: Robert Beckett <robert.beckett@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aaf5ec2e51ab1d9c5e962b4728a1107ed3ff7a3e Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Wed Jul 8 17:07:47 2015 +0530 drm/i915: Handle HPD when it has actually occurred Writing to PCH_PORT_HOTPLUG for each interrupt is not required. Handle it only if hpd has actually occurred like we handle other interrupts. v2: Make few variables local to if block (Ville) v3: Add check for ibx/cpt both (Ville). While at it, remove the redundant check for hotplug_trigger from pch_get_hpd_pins v4: Indentation (Ville) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d5878e6e2289418ba870db4afa9e1805e78eb8ee Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 15 14:42:25 2015 +0200 ARM: ep93xx: switch clockevent to timer 3 If we switch clock events to timer 3 we will have more bits to use and can sleep longer when using NO_HZ. Tested-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d118d977c19ef778c597473e1c4e53703681054a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 15 14:38:16 2015 +0200 ARM: ep93xx: use non-raw accessors for timer The timer has no business using __raw accessors, in this case the readl/writel makes perfect sense as the changes really need to hit these registers before we continue. Tested-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 000bc17817bfe9e7d1fd59cec9e95f6b3638872f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 15 14:34:03 2015 +0200 ARM: ep93xx: switch to GENERIC_CLOCKEVENTS This switches the EP93xx to use GENERIC_CLOCKEVENTS and CLKSRC_MMIO. Also implements a sched_clock() hook. Tested on the SIM.ONE. Use only oneshot events. Tested-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 361c81f996707e122bffe95c5a3e6c47611b8a29 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 15 13:15:26 2015 +0200 ARM: ep93xx: move timer to its own file This breaks the timer code out of the core file in preparation for refactoring. Tested-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit af4739c281621017a8a84dd6ba3471bba2dd6c6a Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Tue Jul 7 21:58:02 2015 +0200 HID: i2c-hid: Call device suspend callback before disabling irq i2c-hid takes care of requesting and handling IRQs for HID devices which in turns might expect them to be always active when working in normal conditions. Hence, disabling IRQs before calling the suspend callbacks can potentially cause problems since device drivers might try to perform operations needing them. Fix this by disabling IRQs only after the suspend callbacks had been executed. Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit e33e640ad0b76151534a2b9387b98eb02d6ddda7 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:33:16 2015 +0000 pcmcia: sa11x0: convert memory allocation to devm_* API Convert the sa11x0 socket driver memory allocation to use devm_kzalloc() to simplify the cleanup path. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 72010aca55264cfe6516a955066c846d3885b0c6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:22:20 2015 +0000 pcmcia: sa11x0: fix missing clk_put() in sa11x0 socket drivers Fix the lack of clk_put() in sa11xx_base.c's error cleanup paths by converting the driver to the devm_* API. Fixes: 86d88bfca475 ("ARM: 8247/2: pcmcia: sa1100: make use of device clock") Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8df5dd57fd2f4e7f02793457a3bd61e5d4a644d5 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:08 2015 -0300 drm/i915: move set_no_fbc_reason() call out of intel_fbc_find_crtc() So now all the calls are inside __intel_fbc_update(). Consistency! Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 232fd934a4b458e5a0dacdd17efc1faffb9df615 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:07 2015 -0300 drm/i915: extract FBC_MULTIPLE_PIPES check I have two separate refactor ideas that require extracting this to a separate function. I'm not sure which idea I'll end choosing, but since both will require extracting this function, let's do this now. Notice that this is just code moving. Any possible problems with the current multiple pipes check should be fixed in later commits. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8935108528194918966757fa00ac986176fe9497 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:06 2015 -0300 drm/i915: add FBC_IN_DBG_MASTER no_fbc_reason The poor in_dbg_master() check was the only one without a reason string. Give it a reason string so it won't feel excluded. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 220285f2281515f4e8a9ec7892f7de40d857c290 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:05 2015 -0300 drm/i915: use intel_crtc for the FBC functions This is all internal i915.ko work, let's start using intel_crtc for everything. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7733b49bb03ee10b8889f8f5edf11d755115b230 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:04 2015 -0300 drm/i915: use dev_priv for the FBC functions Because the cool kids use dev_priv and FBC wants to be cool too. We've been historically using struct drm_device on the FBC function arguments, but we only really need it for intel_vgpu_active(): we can use dev_priv everywhere else. So let's fully switch to dev_priv since I'm getting tired of adding "struct drm_device *dev = dev_priv->dev" everywhere. If I get a NACK here I'll propose the opposite: convert all the functions that currently take dev_priv to take dev. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ff2a31171016771829fd1689af65752175de1940 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:03 2015 -0300 drm/i915: move FBC vfuncs to struct i915_fbc Because it makes more sense there, IMHO. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 615322f6ac358f9c94b483d0a16f3f46fcb27b1c Author: Oliver Neukum <oneukum@xxxxxxx> Date: Mon Jun 29 11:10:41 2015 +0200 HID: usbhid: no flushing if device is already polled During open() it is unnecessary to wait for the device to flush stale inputs if the device is polled while closed due to a quirk or opening fails. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 21589ebda68172baeb03f35533ee2ec34543bf55 Author: Guilhem Lettron <guilhem@xxxxxxxxxx> Date: Sat Jun 27 17:02:23 2015 +0200 HID: sensor-hub: Add in quirk for Lenovo Yogas with ITE Like yogas with TEXAS_INSTRUMENTS, yogas with ITE chips needs to be initialized with enumeration quirks. Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d3e120aefb05b422c57d21e39a47b83b543c71cd Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Jun 17 10:46:17 2015 -0300 ARM: imx_v6_v7_defconfig: Enable kexec support Select CONFIG_KEXEC by default. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 9d87cd61a6b71ee00b7576a3ebc10208becdbea1 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Tue Jul 7 18:26:13 2015 +0200 x86/irq: Hide 'HYP:' line in /proc/interrupts when not on Xen/Hyper-V Hypervisor callback interrupts are only accounted on Xen/Hyper-V. There is no point in having always-zero HYP: line on other hypervisors or bare metal. Print the line only if HYPERVISOR_CALLBACK_VECTOR was allocated. Reported-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: Andrew Jones <drjones@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436286373-11908-1-git-send-email-vkuznets@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2a52feb1805aaef9ce356e5a5c64d498b65e7e81 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 21:54:02 2015 +0200 ALSA: emu10k1: rename Audigy Analog Capture Boost control Audigy has "Analog Capture Boost" mixer control, however now this only controls mic level, not other analog sources. It applies also both to playback and capture, so rename it to something more descriptive. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 52051942943f4ef95a8e953aeed84360291380d8 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 21:53:15 2015 +0200 ALSA: emu10k1: enable TAD mic out on Audigy Enable TAD output on Audigy naming it "Phone Output", to be consistent with TAD input which is called "Phone". According to Creative doc ( http://support.creative.com/kb/ShowArticle.aspx?sid=3026 ) this should output just mic signal. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 274b2000a09220bb2b930af432a2262db7063bd9 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 21:52:24 2015 +0200 ALSA: emu10k1: remove unused AC'97 mixer controls on Audigy AC'97 Headphone output and EAPD control aren't used on Audigy so remove them from mixer. Also remove AC'97 3D control as the driver is already doing for Audigys with 1361T ADC. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1425d2d17f7309c65e2bd124e0ce8ace743b17f2 Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Jul 7 21:01:49 2015 +0530 crypto: tcrypt - Fix AEAD speed tests The AEAD speed tests doesn't do a wait_for_completition, if the return value is EINPROGRESS or EBUSY. Fixing it here. Also add a test case for gcm(aes). Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 340d9d317eb93039754004621c6c5cb1a5e9735c Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Jul 7 21:01:46 2015 +0530 crypto: omap-aes - Use BIT() macro Use BIT()/GENMASK() macros for all register definitions instead of hand-writing bit masks. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5396c6c0741317a54f8032ac50346f123e664a52 Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Jul 7 21:01:45 2015 +0530 crypto: omap-aes - Fix configuring of AES mode AES_CTRL_REG is used to configure AES mode. Before configuring any mode we need to make sure all other modes are reset or else driver will misbehave. So mask all modes before configuring any AES mode. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6e2e3d1de45214fe5538318a208f2f7ccc617e4c Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Jul 7 21:01:44 2015 +0530 crypto: omap-aes - Increase priority of hw accelerator Increasing the priority of omap-aes hw algos, in order to take precedence over sw algos. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 310b0d55f0301908461191db392ecee01735b3ec Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Jul 7 21:01:43 2015 +0530 crypto: omap-aes - Fix CTR mode Algo self tests are failing for CTR mode with omap-aes driver, giving the following error: [ 150.053644] omap_aes_crypt: request size is not exact amount of AES blocks [ 150.061262] alg: skcipher: encryption failed on test 5 for ctr-aes-omap: ret=22 This is because the input length is not aligned with AES_BLOCK_SIZE. Adding support for omap-aes driver for inputs with length not aligned with AES_BLOCK_SIZE. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0dfc7f687917a93175d469a2dc1254fd2f77fb63 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Jun 29 07:22:16 2015 +0200 ARM: BCM5301X: Enable UART0 on tested devices There are two possible UARTs so we have (both of) them disabled by default. Override uart0 status on devices that were verified to use it. In case of Netgear R6250 also drop an old (and invalid) overwrite. It doesn't have uart1 connected. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 5253ed194c7edd6cd548fc22e333be2f4ccc57ec Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue May 5 11:13:22 2015 -0700 ARM: dts: enable clock support for Broadcom Cygnus Replace current device tree dummy clocks with real clock support for Broadcom Cygnus SoC Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 4c62dbbce902cf2afa88cac89ec67c828160f431 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Jun 26 11:27:41 2015 +0300 ACPI: Remove FSF mailing addresses There is no need to carry potentially outdated Free Software Foundation mailing address in file headers since the COPYING file includes it. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f04b8b48d32c66b5d9243f7a1c85ca198eff43bb Merge: 2573a02 56551da Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 7 17:10:50 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: drivers: clk: st: Incorrect register offset used for lock_status commit 2573a02aa5c882fdcab82bba953241f2fa3181a3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:50:00 2015 -0700 clk: Move clk_provider_list to scope of function using it The list isn't used after of_clk_init() is called, so we don't need to keep an empty list around after init. Put the list on the stack. Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2e3b19f137f31290979999ff7ac67ce52e02be0e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:48:19 2015 -0700 clk: Check for allocation errors in of_clk_init() Dan Carpenter reports that we don't check the allocation here for failure. Add a failure check and free any previously allocated providers from the clk_provider_list. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ca7d07a22a28bcd558b200329bfa322c9ffd7c54 Merge: d4f76de 3536c97 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:59:33 2015 -0700 Merge branch 'clk-rk3368' into clk-next * clk-rk3368: clk: rockchip: add rk3368 clock controller clk: rockchip: add missing include guards clk: rockchip: add dt-binding header for rk3368 dt-bindings: add documentation of rk3668 clock controller clk: rockchip: define the inverters of rk3066/rk3188 and rk3288 clk: rockchip: fix issues in the mmc-phase clock clk: rockchip: add support for phase inverters clk: rockchip: add COMPOSITE_NOGATE_DIVTBL variant clk: rockchip: protect register macros against multipart values clk: rockchip: fix faulty vip parent name on rk3288 clk: rockchip: rk3288: add CLK_SET_RATE_PARENT to sclk_mac commit d4f76de37458bc613f9465d8fafc2b5fea0cdea1 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Fri Jun 12 11:41:55 2015 +0300 clk: qcom: Add support for SR2 PLLs Add support for SR2 type pll operations. SR2 is optimized for Time Interval Error (TIE) or absolute jitter. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a8a8db47990d9b3789a30f4ab6744ce83f733c85 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:10:51 2015 -0700 clk: at91: Silence warnings and cleanup __init/extern usage Remove useless ifdefs around function prototypes to silence the following sparse warnings when the configs aren't enabled. drivers/clk/at91/clk-h32mx.c:95:13: warning: symbol 'of_sama5d4_clk_h32mx_setup' was not declared. Should it be static? drivers/clk/at91/clk-utmi.c:159:13: warning: symbol 'of_at91sam9x5_clk_utmi_setup' was not declared. Should it be static? Plus, using __init and extern in function prototypes doesn't do anything, so just drop it throughout this file. Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 906b1f536d5b1a26e549c78a07b664f22340b7df Merge: 5891a8d 5f867db Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Jul 7 13:10:30 2015 -0700 Merge MTD 4.2-rc fixes into MTD -next commit b33612e183dcbaa2cc2479cedff6984a6cccdf6a Author: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Date: Wed Jun 10 07:47:19 2015 +0000 ARM: socfpga: add smp_ops.cpu_kill to make kexec/kdump available Kexec_load syscall in ARM requires that machine-specific code has the smp_ops.cpu_kill() before loading kernel image. This patch adds the cpu_kill(), as a result, kexec reboot and kernel crash dump become available in mach-socfpga. Signed-off-by: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Cc: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-June/348004.html Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit b7e79329c4e34d63cd374e603ece91f2b2c3331e Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Mon Jul 6 15:52:21 2015 -0700 Input: bma150 - use sign_extend32() for sign extending Despite it's name, sign_extend32() is used for 16 bit values aswell. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6e78108bda78adbb2d4ef55ec60a388aba975797 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Fri Jul 3 16:30:30 2015 +0800 ASoC: core: Don't probe the component which is dummy Dummy dai can be used by multiple sound card. But it only belong to one card's dapm list. If another card use it, there will be dapm_assert_locked warning. [ 20.015782] WARNING: CPU: 1 PID: 661 at sound/soc/soc-dapm.c:124 dapm_assert_locked.isra.36+0x4c/0x58() [ 20.025249] Modules linked in: [ 20.028349] CPU: 1 PID: 661 Comm: aplay Not tainted 4.1.0-rc6-next-20150605-00004-gaee05d8-dirty #92 [ 20.037528] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [ 20.044110] Backtrace: [ 20.046614] [<80012e00>] (dump_backtrace) from [<80012fa0>] (show_stack+0x18/0x1c) [ 20.054229] r6:809e8060 r5:00000000 r4:00000000 r3:00000000 [ 20.060002] [<80012f88>] (show_stack) from [<807a0f74>] (dump_stack+0x80/0x9c) [ 20.067293] [<807a0ef4>] (dump_stack) from [<8002b144>] (warn_slowpath_common+0x7c/0xb4) [ 20.075427] r5:0000007c r4:00000000 [ 20.079065] [<8002b0c8>] (warn_slowpath_common) from [<8002b1a0>] (warn_slowpath_null+0x24/0x2c) [ 20.087898] r8:00000001 r7:88007c28 r6:ed94a680 r5:809e83e4 r4:ed83d6c0 [ 20.094747] [<8002b17c>] (warn_slowpath_null) from [<8058403c>] (dapm_assert_locked.isra.36+0x4c/0x58) [ 20.104101] [<80583ff0>] (dapm_assert_locked.isra.36) from [<805842ec>] (dapm_mark_dirty+0x64/0xa4) [ 20.113165] [<80584288>] (dapm_mark_dirty) from [<805853a8>] (soc_dapm_dai_stream_event.isra.42+0x30/0xc8) [ 20.122863] r8:ed9b5dbc r7:00000000 r6:00000001 r5:00000001 r4:ed83d6c0 [ 20.129706] [<80585378>] (soc_dapm_dai_stream_event.isra.42) from [<80587e28>] (snd_soc_dapm_stream_event+0x78/0xa0) [ 20.140264] r5:ee2ee62c r4:00000001 [ 20.143918] [<80587db0>] (snd_soc_dapm_stream_event) from [<8058957c>] (soc_pcm_prepare+0x138/0x21c) [ 20.153058] r8:ed8d9480 r7:00000000 r6:ed9b0e00 r5:00000001 r4:ee2ee62c r3:00000000 ... This patch is to not probe the dummy component in soc_probe_component. Then there is no widget created for dummy DAI, and also don't need to check the dummy dai in dapm_connect_dai_link_widgets(). Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5ad2cb14f5b8f3cb3d8688115037751b1ff45455 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 16:06:53 2015 +0100 regulator: pwm-regulator: Don't assign structure attributes right away Perhaps this is just personal preference, but ... This patch introduces a new local variable to receive and test regulator initialisation data. It simplifies and cleans up the code making it that little bit easier to read and maintain. The local value is assigned to the structure attribute when all the others are. This is the way we usually do things. Prevents this kind of nonsense: this->is->just.silly = fetch_silly_value(&pointer); if (!this->is->just.silly) { printk("Silly value failed: %d\n", this->is->just.silly); return this->is->just.silly; } Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cae897dec26a9d81dcb5182b13b08450f38d6bde Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 16:06:52 2015 +0100 regulator: pwm-regulator: Simplify voltage to duty-cycle call If we reverse some of the logic and change the formula used, we can simplify the function greatly. It is intentional that this function is supplied and then re-worked within the same patch-set. The submission in the previous patch is the tried and tested (i.e. in real releases) method written by ST. This patch contains a simplification provided later. It looks and performs better, but doesn't have the same time-under-test that the original method does. The idea is that we keep some history in order to provide an easy way back i.e. revert. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4773be185a0f7c1c09d8966e100c76f4fa9a3227 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 16:06:51 2015 +0100 regulator: pwm-regulator: Add support for continuous-voltage The current version of PWM regulator only supports a static table approach, where pre-calculated values are supplied by the vendor and obtained via DT. The continuous-voltage method takes min_uV and max_uV, and divides the difference between them up into a number of slices. The number of slices depend on how large the duty cycle register is. This information is provided by a DT property. As the name alludes, this provides values for a continuous voltage range between min_uV and max_uV, which has obvious benefits over either limited voltage possibilities, or the requirement to provide a large voltage-table. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02258b8bcbb98b28064cc829f7062455da398633 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 16:06:50 2015 +0100 regulator: pwm-regulator: Re-write bindings * Add support for continuous-voltage mode * Put more meat on the bones with regards to voltage-table mode * Sort out formatting for ease of consumption Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9acc7f08716b98730e1ead7e785fb0f3ad3a2d07 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 15:55:50 2015 -0300 ASoC: max98090: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f2a763858a7d0236d658116918c7b1e2c7a5e0cf Merge: 83c0929 4890140 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Jul 7 15:04:40 2015 +0100 Merge branch 'topic/codec-dapm' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rt5645 Conflicts: sound/soc/codecs/rt5645.c commit c5b8540dca22526517f4d96857678466613467d1 Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Mon Jul 6 10:02:10 2015 +0800 ASoC: dpcm: Add checks of playback/capture before dpcm_get_be In dpcm_get_be(), it looks for a BE rtd that has the DAI widget according to current stream type. Only playback_widgets are searched in the case of playback stream and vice versa. However, the DAI widget itself can be playback or capture. If the DAI widget is capture, but current stream type is playback, dpcm_get_be() will always fail to find a rtd, print error messages, and continue to the next DAI widget in list. We can just skip this DAI widget to further suppress error messages. This happens in a special case when 2 codecs are inter-connected, and the 1st codec's "capture" widget is used to send data to the 2nd codec during "playback": mtk-rt5650-rt5676 sound: ASoC: can't get playback BE for Sub AIF2 Capture rt5650_rt5676 Playback: ASoC: no BE found for Sub AIF2 Capture Add checks to continue to next DAI widget if current DAI widget's direction does not match the stream type. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4890140f3888b4a4baef90d84e278858afe45248 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:11 2015 +0200 ASoC: Remove snd_soc_codec dapm field There are no more direct users of the snd_soc_codec DAPM field left. So we can finally remove it and switch over to directly using the component DAPM context and remove the dapm_ptr indirection. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b3c25fb7caa30afa5d5cc6b414a5b4d66bed77a7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:10 2015 +0200 ASoC: dapm_widget_show_codec: Use component instead of CODEC There is nothing snd_soc_codec specific in this function, just use snd_soc_component instead. With this also the last reference of snd_soc_codec form soc-dapm.c. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c68c2be5f6ae4a27d548921bf8b32413c5eab8ed Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:09 2015 +0200 ASoC: cht_bsw_max98090_ti: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. While we are at it also remove some extra newlines. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 987731bb7c80b170228e6e1acf2e7b91efb51100 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:08 2015 +0200 ASoC: omap3pandora: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f218fa93d20a7b4ef8a088e5eed2d84b8ef4ab5 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:07 2015 +0200 ASoC: tas571x: Replace direct snd_soc_codec dapm field access The dapm field of the snd_soc_codec struct is eventually going to be removed, in preparation for this replace all manual access to codec->dapm.bias_level with snd_soc_codec_get_bias_level(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2b93f7ee0836d1dbcfcf8560dd2a34cd51b3ff21 Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 10:06:21 2015 -0700 crypto: nx - reduce chattiness of platform drivers While we never would successfully load on the wrong machine type, there is extra output by default regardless of machine type. For instance, on a PowerVM LPAR, we see the following: nx_compress_powernv: loading nx_compress_powernv: no coprocessors found even though those coprocessors could never be found. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0d8dc96607bcd9451407fa5ff4918bca89e2632e Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Mon Jul 6 13:37:33 2015 +0200 crypto: testmgr - add a chunking test for cbc(aes) All tests for cbc(aes) use only blocks of data with a multiple of 4. This test adds a test with some odd SG size. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ec9f2006fc020c58f32f01b9d68fdb5f7374ffce Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 19:11:03 2015 +0800 crypto: cryptd - Fix AEAD request context corruption The AEAD version of cryptd uses the same context for its own state as well as that of the child. In doing so it did not maintain the proper ordering, thus resulting in potential state corruption where the child will overwrite the state stored by cryptd. This patch fixes and also sets the request size properly. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e2ada8187bc8b46c30a623e7d6b5a72c209f70cd Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:06 2015 +0200 ASoC: rt5645: Replace direct snd_soc_codec dapm field access The dapm field of the snd_soc_codec struct is eventually going to be removed, in preparation for this replace all manual access to codec->dapm.bias_level with snd_soc_codec_get_bias_level() and replace all other manual access to codec->dapm with snd_soc_codec_get_dapm(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f005256f70a8c1c60b2f8a7449137da0c5e5bd9 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Thu Jun 18 15:16:08 2015 -0700 ASoC: qcom: remove Kconfig deps from variant configs Remove the SND_SOC_QCOM dependency from the variant configs. The board configs, which select the variants, already have this dependency. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02c4b9c28b973d999073c810a78375e38346d7a3 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Thu Jun 18 15:16:07 2015 -0700 ASoC: qcom: move board Kconfig deps to parent config Rather than have each board define the same set of dependencies; move the common dependencies to the SND_SOC_QCOM parent config. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ffaab99184a2c8b592bba85d8e4da708c65b4cc1 Author: Laxman Dewangan <ldewangan@xxxxxxxxxx> Date: Wed Jul 1 18:31:44 2015 +0530 regulator: max8973: add support to configure ETR based on rail load Add support to configure Enhanced Transient Response Enable (ETR) and Sensitivity Selection based on maximum current i.e. expected load on that rail. Maxim recommended as: - Enable ETR with high sensitivity (75mV/us) for 0 to 9A expected loads, - Enable ETR with low sensitivity (150mV/us) for 9A to 12A expected loads. - Disable ETR for expected load > 12A. These recommendation will be configured for MAX77621 when maximum load is provided through regulator constraint for maximum current from platform. Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3692db3a904800445f8af249e1ac0f2b6496f31d Author: Laxman Dewangan <ldewangan@xxxxxxxxxx> Date: Wed Jul 1 18:31:43 2015 +0530 regulator: max8973: add support to configure ETR from DT The MAX8973/MAX77621 feature an Enhanced Transient Response(ETR) circuit that is enabled through software. The enhanced transient response reduces the voltage droop during large load steps by temporarily allowing all three phases to fire in unison, slewing total inductor current faster than would normally be possible if all three phases continued to operate 120deg out of phase. The enhanced transient response detector features two selectable sensitivity settings, which select the output voltage slew rate during load transients that triggers the ETR circuit. The sensitivity of the ETR detector is set by the CKADV[1:0] bits in the CONTROL2 register. Add support to configure the ETR through platform data from DT. Update the DT binding document accordingly. Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c418a84a8c8f98b1a0f30cd68d0cdf40d77aed01 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 5 17:48:29 2015 +0800 ASoC: Constify reg_default tables Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Peter Rosin <peda@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f9178dad67952673b653315f92620b7a981466e5 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Jul 6 09:58:29 2015 +0100 regulator: pwm-regulator: Separate voltage-table initialisation Take this out of the main .probe() routine in order to facilitate the introduction of different ways to obtain 'duty cycle' information. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ec8677267f4ef126275b2e0a429211b256f1a94a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 7 19:21:44 2015 +0800 regulator: ltc3589: Constify ltc3589_reg_defaults ltc3589_reg_defaults[] is not modified after initialized, so make it const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02a9547e9b3f10d73fde66f52fc8b2a375a300cd Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 7 12:57:19 2015 +0800 ASoC: gtm601: Constify soc_codec_dev_gtm601 Also clean up the code a bit by fixing indent. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6f4397949689d74c3bd0016c80d59a90c6e8afee Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jun 25 17:01:14 2015 +0800 ASoC: lm49453: Remove fs_rate from struct lm49453_priv fs_rate is only used in lm49453_hw_params() so don't need to store it in private data. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f8ea6cebcfa6499949392da71fc427567c9e5a0e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 1 00:56:36 2015 +0800 ASoC: ak4642: Fix up max_register setting The max_register setting for ak4642, ak4643 and ak4648 are wrong, fix it. According to the datasheet: the maximum valid register for ak4642 is 0x1f the maximum valid register for ak4643 is 0x24 the maximum valid register for ak4648 is 0x27 The default settings for ak4642 and ak4643 are the same for 0x0 ~ 0x1f registers, so it's fine to use the same reg_default table with differnt num_reg_defaults setting. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93ec3a1ad5b86aef8ca90d2b149ded0f6bb689f5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Jun 29 11:15:23 2015 +0800 ASoC: 88pm860x: Don't change pm860x->dir setting if pm860x_set_dai_sysclk fails 88pm860x does not support slave mode, so it returns -EINVAL for PM860X_CLK_DIR_IN. Current code changes pm860x->dir setting before return error, so it has impact on the logic of pm860x_pcm_set_dai_fmt. This patch adds comment for the reason to return -EINVAL for PM860X_CLK_DIR_IN, and avoid changing pm860x->dir setting if pm860x_set_dai_sysclk fails. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5e4cb7b60833b0124a9f71dbc5118144ca79c3c4 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jun 25 21:44:13 2015 +0800 ASoC: cs42xx8: Setup of_match_table Setup of_match_table and since cs42xx8_of_match is exported and used in cs42xx8-i2c.c, it cannot be static. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d375d0abcd625cd09cd90a252ad22a1085452e3c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jun 25 21:41:43 2015 +0800 ASoC: cs42xx8: Move the code checking *regmap argument earlier Slightly improve the readability by moving the code checking *regmap argument earlier. Also move the assignment of of_id close to the place testing it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9bfde72157036f4eaa44f3e8982217ce1b3e14b6 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Mon Jun 22 11:13:00 2015 -0700 ASoC: rt5677: Switch to use unified device property API This patch makes the driver use the unified device property API so that platform data can be provided by Device Tree, ACPI or board files. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit efd901ee4bc8312e3bbf5561fdab8e3765e26334 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Mon Jun 22 11:12:59 2015 -0700 ASoC: rt5677: Switch to use descriptor-based gpiod API This patch makes the driver use the new descriptor-based gpiod API so that gpio assignment info can be provided by Device Tree, ACPI or board files. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eca2ebc7e007c9e2b8f5ecfcfc74b53fbe68e42b Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 13:00:36 2015 +0000 spi: expose spi_master and spi_device statistics via sysfs per spi-master statistics accessible as: /sys/class/spi_master/spi*/statistics/* per spi-device statistics accessible via: /sys/class/spi_master/spi*/spi*.*/statistics/* The following statistics are exposed as separate "files" inside these directories: * messages number of spi_messages * transfers number of spi_transfers * bytes number of bytes transferred * bytes_rx number of bytes transmitted * bytes_tx number of bytes received * errors number of errors encounterd * timedout number of messages that have timed out * spi_async number of spi_messages submitted using spi_async * spi_sync number of spi_messages submitted using spi_sync * spi_sync_immediate number of spi_messages submitted using spi_sync, that are handled immediately without a context switch to the spi_pump worker-thread Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa3be9208dcb21ae4185f6122137fe7d5cf29d74 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 18:18:06 2015 -0300 ASoC: fsl: fsl_spdif: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b1ade0f2afe283d59eb313e5717870fdb831fc4e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 18:00:13 2015 -0300 ASoC: fsl: fsl_asrc: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f6d1b3e20a840a7201ae400a970f42cca96aa17b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 15:02:44 2015 +0200 spi: sh-msiof: Remove obsolete spi_r8a779x_msiof platform_device_id entries Since commit a483dcbfa21f919c ("ARM: shmobile: lager: Remove legacy board support"), R-Car Gen2 SoCs are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0d69e0dddf5fe86675c56bc0f0520ffb0cbf1fcd Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Jun 23 18:23:53 2015 +0800 ASoC: fsl: Add dedicated DMA buffer size for each cpu dai As the ssi is not the only cpu dai, there are esai, spdif, sai. and imx_pcm_dma can be used by all of them. Especially ESAI need a larger DMA buffer size. So Add dedicated DMA buffer for each cpu dai. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f8e671a49e1d608fcf52c8944ea7818cd4c99a9 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 09:35:12 2015 +0100 ASoC: arizona: Implement stability check for LHPF coefficients Specifying unstable coefficients for the low/high pass filters can have a severe impact on the audio. This patchs adds a stability check on the coefficients written to the low/high pass filter block to prevent this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c05d9a8c7f55a901d9e8ec2a5f0730137bbfea4a Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 09:35:11 2015 +0100 ASoC: arizona: Implement stability check for EQ coefficients Specifying unstable coefficients for the EQ can have a severe impact on the audio. This patchs adds a stability check on the coefficients written to the EQ, for this it is necessary to merge the mode control and the coefficients as some coefficients may only be unstable with a certain mode setting so it is ideal if these are always updated in sync. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b650247da5a8c5d8991eeb9cf31e2e71d7be1b08 Author: Nik Nyby <nikolas@xxxxxxx> Date: Tue Jun 30 17:43:02 2015 -0400 ASoC: codecs: max98088: fix typo in constant This fixes a typo in the M98088_REG_02_JACK_STATUS constant. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 99622f56110ee8cbfe8ecf2dd5e666f67cf4bb97 Author: Alexey Klimov <klimov.linux@xxxxxxxxx> Date: Tue Jun 30 21:04:07 2015 +0300 spi/rockchip: remove unnecessary memset of rockchip_spi Memory for struct rockchip_spi is allocated by spi_alloc_master() using kzalloc() so it doesn't need to be set to 0 one more time. Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 385a9c8fccc0308dbd8182c57b29a95e01e29688 Author: Alexey Klimov <klimov.linux@xxxxxxxxx> Date: Tue Jun 30 21:03:58 2015 +0300 spi/s3c24xx: remove unnecessary memset of s3c24xx_spi Memory for this struct is allocated by spi_alloc_master() using kzalloc() so it doesn't need to be set to 0 one more time. Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 65598c13fd66c3b5eac16d5b8eacc704aa17ce40 Author: Andrew Gabbasov <andrew_gabbasov@xxxxxxxxxx> Date: Tue Jun 30 10:48:37 2015 -0500 spi: Fix per-page mapping of unaligned vmalloc-ed buffer spi_map_buf() processes mapping of vmalloc-ed buffers in a special way, making mapping of every page separately. However, if the buffer is not aligned to page boundary (e.g. sub-array in a vmalloc-ed array), it fills the scatter table with page-size unaligned pieces, that cross page boundaries. This is incorrect and can, for example, cause memory corruption and various crashes when working with ubifs on spi-nor chips (though those drivers are themselves buggy in that they should be providing DMAable memory to the SPI framework). Fix this by using proper scatter table size and intra-page buffer lengths, so that the whole buffer splits into separate scatter table entries on page boundaries. Signed-off-by: Andrew Gabbasov <andrew_gabbasov@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 83c09290adfb025d9a109d9c3c2956c81bcb241b Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Jun 29 14:20:50 2015 +0800 ASoC: rt5645: move RT5645 muxes to rt5645_specific_dapm_widgets This is a similar patch to "move RT5650 muxes to rt5650_specific_ dapm_widgets" patch. The purpose is to silence the "has no paths" warnings. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93e3a9e9993ef018522b7005d97d8124b7e73385 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Jun 18 13:27:12 2015 +0100 spi: img-spfi: check for max speed supported by the spfi block Maximum speed supported by spfi is limited to 1/4 of the spfi clock. But in some SoCs the maximum speed supported by the spfi block can be limited to less than 1/4 of the spfi clock. In such cases we have to define the limit in the device tree so that the driver can pick it up. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6702dfcc571d962df499f7466f54e07d044e6cd1 Author: Sergey Kiselev <sergey.kiselev@xxxxxxxxx> Date: Fri Jun 5 11:55:27 2015 -0700 ASoC: wm8731: initialize the hardware when loading the codec driver This patch moves the requesting supplies, hardware reset and initialization from wm8731_probe to wm8731_i2c_probe and wm8731_spi_probe. So that the codec hardware is initialized when loading the codec driver, and not when loading the machine driver. This avoids unnecesary hardware resets and re-initializations when re-loading the machine driver. Signed-off-by: Sergey Kiselev <sergey.kiselev@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e22579713ae1384a3dff545369cebe42b01370fa Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Fri Jun 5 10:19:06 2015 +0200 ASoC: simple card: set cpu-dai sysclk with mclk-fs Allows to request a specific mclk frequency per cpu_dai. To support some codecs with mclk provided by the cpu_dai, the mclk rate must be set depending on frame rate. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 09da55dc84782b9b3fd8291719460da2d13bd27c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 7 11:44:32 2015 +0200 drm/i915: Inline SUPPORTS_DIGITAL_OUTPUTS After the register save/restore code is gone there's just one user left and it just obfuscates that one. Remove it. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Suggested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6adfb1ef106bfe4b5ecb8bd75c4d037741d28a48 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 7 09:10:40 2015 +0200 drm/i915: s/mdelay/msleep/ Burning cpu cycles isn't awesome, so use sleeps instead. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3fec3d2f0a54d7c57c386c430bee2d6e5425ebfb Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 7 09:10:07 2015 +0200 drm/i915: Ditch SUPPORTS_INTEGRATED_HDMI|DP and use IS_G4X instead Since that's really what we want to test for. Note remove the gen5 case doesn't change anything: In intel_setup_outputs ilk is handled already in the HAS_PCH_SPLIT case, and the register save/restore code touches registers which simply doesn't exist anymore at all. v2: Drop UMS parts. v3: Update commit message to reflect that the reg save/restore code is gone (Ville). Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9dc24a2d91ce6587672f72c99c2f7bf4ef56f7ce Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Jun 10 22:09:00 2015 +0200 ARM: dts: stm32f429: Adopt STM32F4 clock driver New bindings and driver have been created for STM32F42xxx series parts. This patch integrates these changes. Note: Earlier device tree blobs (those without st,stm32f42xxx compatibles for the rcc) could still be used to boot basic systems. Such systems rely on the bootloader to configure the clock gates for vital periperhals. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Reviewed-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> commit 0333a209cbf600e980fc55c24878a56f25f48b65 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:34 2015 -0700 x86/irq, context_tracking: Document how IRQ context tracking works and add an RCU assertion Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/e8bdc4ed0193fb2fd130f3d6b7b8023e2ec1ab62.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 06a7b36c7bd932e60997bedbae32b3d8e6722281 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:33 2015 -0700 x86/entry: Remove SCHEDULE_USER and asm/context-tracking.h SCHEDULE_USER is no longer used, and asm/context-tracking.h contained nothing else. Remove the header entirely. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/854e9b45f69af20e26c47099eb236321563ebcee.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8c84014f3bbb112d07e73f30a10ac8a3a72f8649 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:32 2015 -0700 x86/entry: Remove exception_enter() from most trap handlers On 64-bit kernels, we don't need it any more: we handle context tracking directly on entry from user mode and exit to user mode. On 32-bit kernels, we don't support context tracking at all, so these callbacks had no effect. Note: this doesn't change do_page_fault(). Before we do that, we need to make sure that there is no code that can page fault from kernel mode with CONTEXT_USER. The 32-bit fast system call stack argument code is the only offender I'm aware of right now. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/ae22f4dfebd799c916574089964592be218151f9.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02bc7768fe447ae305e924b931fa629073a4a1b9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:31 2015 -0700 x86/asm/entry/64: Migrate error and IRQ exit work to C and remove old assembly code Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/60e90901eee611e59e958bfdbbe39969b4f88fe5.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a586f98e9767fb0dfdb989002866b4024f00ce08 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:30 2015 -0700 x86/asm/entry/64: Simplify IRQ stack pt_regs handling There's no need for both RSI and RDI to point to the original stack. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/3a0481f809dd340c7d3f54ce3fd6d66ef2a578cd.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ff467594f2a4be01a0fa5e9ffc223fa930d232dd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:29 2015 -0700 x86/asm/entry/64: Save all regs on interrupt entry To prepare for the big rewrite of the error and interrupt exit paths, we will need pt_regs completely filled in. It's already completely filled in when error_exit runs, so rearrange interrupt handling to match it. This will slow down interrupt handling very slightly (eight instructions), but the simplification it enables will be more than worth it. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/d8a766a7f558b30e6e01352854628a2d9943460c.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29ea1b258b98a862e59d72556714b75051ae93fb Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:28 2015 -0700 x86/entry/64: Migrate 64-bit and compat syscalls to the new exit handlers and remove old assembly code These need to be migrated together, as the compat case used to jump into the middle of the 64-bit exit code. Remove the old assembly code. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/d4d1d70de08ac3640badf50048a9e8f18fe2497f.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cb6f64ed5a04036eef07e70b57dd5dd78f2fbcef Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:27 2015 -0700 x86/entry/64: Really create an error-entry-from-usermode code path In 539f51136500 ("x86/asm/entry/64: Disentangle error_entry/exit gsbase/ebx/usermode code"), I arranged the code slightly wrong -- IRET faults would skip the code path that was intended to execute on all error entries from user mode. Fix it up. While we're at it, make all the labels in error_entry local. This does not fix a bug, but we'll need it, and it slightly shrinks the code. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/91e17891e49fa3d61357eadc451529ad48143ee1.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5c46f59e4e7c1ab244b8d38f2b61d317df90bba Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:26 2015 -0700 x86/entry: Add new, comprehensible entry and exit handlers written in C The current x86 entry and exit code, written in a mixture of assembly and C code, is incomprehensible due to being open-coded in a lot of places without coherent documentation. It appears to work primary by luck and duct tape: i.e. obvious runtime failures were fixed on-demand, without re-thinking the design. Due to those reasons our confidence level in that code is low, and it is very difficult to incrementally improve. Add new code written in C, in preparation for simply deleting the old entry code. prepare_exit_to_usermode() is a new function that will handle all slow path exits to user mode. It is called with IRQs disabled and it leaves us in a state in which it is safe to immediately return to user mode. IRQs must not be re-enabled at any point after prepare_exit_to_usermode() returns and user mode is actually entered. (We can, of course, fail to enter user mode and treat that failure as a fresh entry to kernel mode.) All callers of do_notify_resume() will be migrated to call prepare_exit_to_usermode() instead; prepare_exit_to_usermode() needs to do everything that do_notify_resume() does today, but it also takes care of scheduling and context tracking. Unlike do_notify_resume(), it does not need to be called in a loop. syscall_return_slowpath() is exactly what it sounds like: it will be called on any syscall exit slow path. It will replace syscall_trace_leave() and it calls prepare_exit_to_usermode() on the way out. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/c57c8b87661a4152801d7d3786eac2d1a2f209dd.1435952415.git.luto@xxxxxxxxxx [ Improved the changelog a bit. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit feed36cde0a10adb957445a37e48f957f30b2273 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:25 2015 -0700 x86/entry: Add enter_from_user_mode() and use it in syscalls Changing the x86 context tracking hooks is dangerous because there are no good checks that we track our context correctly. Add a helper to check that we're actually in CONTEXT_USER when we enter from user mode and wire it up for syscall entries. Subsequent patches will wire this up for all non-NMI entries as well. NMIs are their own special beast and cannot currently switch overall context tracking state. Instead, they have their own special RCU hooks. This is a tiny speedup if !CONFIG_CONTEXT_TRACKING (removes a branch) and a tiny slowdown if CONFIG_CONTEXT_TRACING (adds a layer of indirection). Eventually, we should fix up the core context tracking code to supply a function that does what we want (and can be much simpler than user_exit), which will enable us to get rid of the extra call. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/853b42420066ec3fb856779cdc223a6dcb5d355b.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02fdcd5eac9d653d1addbd69b0c58d73650e1c00 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:24 2015 -0700 x86/traps, context_tracking: Assert that we're in CONTEXT_KERNEL in exception entries Other than the super-atomic exception entries, all exception entries are supposed to switch our context tracking state to CONTEXT_KERNEL. Assert that they do. These assertions appear trivial at this point, as exception_enter() is the function responsible for switching context, but I'm planning on reworking x86's exception context tracking, and these assertions will help make sure that all of this code keeps working. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20fa1ee2d943233a184aaf96ff75394d3b34dfba.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1f484aa6904697f390027c12fba130fa94b20831 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:23 2015 -0700 x86/entry: Move C entry and exit code to arch/x86/entry/common.c The entry and exit C helpers were confusingly scattered between ptrace.c and signal.c, even though they aren't specific to ptrace or signal handling. Move them together in a new file. This change just moves code around. It doesn't change anything. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/324d686821266544d8572423cc281f961da445f4.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e727c7d7a11e109849582e9165d54b254eb181d7 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:22 2015 -0700 notifiers, RCU: Assert that RCU is watching in notify_die() Low-level arch entries often call notify_die(), and it's easy for arch code to fail to exit an RCU quiescent state first. Assert that we're not quiescent in notify_die(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1f5fe6c23d5b432a23267102f2d72b787d80fdd8.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f9281648ecd5081803bb2da84b9ccb0cf48436cd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:21 2015 -0700 context_tracking: Add ct_state() and CT_WARN_ON() This will let us sprinkle sanity checks around the kernel without making too much of a mess. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/5da41fb2ceb29eac671f427c67040401ba2a1fa0.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ccaee5f851470dec6894a6835b6fadffc2bb7514 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 3 12:44:20 2015 -0700 um: Fix do_signal() prototype Once x86 exports its do_signal(), the prototypes will clash. Fix the clash and also improve the code a bit: remove the unnecessary kern_do_signal() indirection. This allows interrupt_end() to share the 'regs' parameter calculation. Also remove the unused return code to match x86. Minimally build and boot tested. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Richard Weinberger <richard.weinberger@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/67c57eac09a589bac3c6c5ff22f9623ec55a184a.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5e99cb7c35ca0580da8e892f91c655d35ecf8798 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:19 2015 -0700 x86/entry/64/compat: Fix bad fast syscall arg failure path If user code does SYSCALL32 or SYSENTER without a valid stack, then our attempt to determine the syscall args will result in a failed uaccess fault. Previously, we would try to recover by jumping to the syscall exit code, but we'd run the syscall exit work even though we never made it to the syscall entry work. Clean it up by treating the failure path as a non-syscall entry and exit pair. This fixes strace's output when running the syscall_arg_fault test. Without this fix, strace would get out of sync and would fail to associate syscall entries with syscall exits. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/903010762c07a3d67df914fea2da84b52b0f8f1d.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5e5c684a2c78b98dcba3d6fce56773a375f63980 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:18 2015 -0700 x86/entry, selftests/x86: Add a test for 32-bit fast syscall arg faults This test passes on 4.0 and fails on some newer kernels. Fortunately, the failure is likely not a big deal. This test will make sure that we don't break it further (e.g. OOPSing) as we clean up the entry code and that we eventually fix the regression. There's arguably no need to preserve the old ABI here -- anything that makes it into a fast (vDSO) syscall with a bad stack is about to crash no matter what we do. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/9cfcc51005168cb1b06b31991931214d770fc59a.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 16ea61fc56144f1860f9edd5a219666ade01d3b8 Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Mon Jun 22 21:19:37 2015 +0800 arm64: dts: mt8173-evb: Add PMIC support The MT8173 eval board contains a MT6397 PMIC. This adds the corresponding device node to the dts file. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 79063a7c0239419d5f6bee63228f66256fdc0fc4 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Mon Jul 6 16:06:20 2015 -0700 x86/boot: Add hex output for debugging This is useful for reporting various addresses or other values while debugging early boot, for example, the recent kernel image size vs kernel run size. For example, when CONFIG_X86_VERBOSE_BOOTUP is set, this is now visible at boot time: early console in setup code early console in decompress_kernel input_data: 0x0000000001e1526e input_len: 0x0000000000732236 output: 0x0000000001000000 output_len: 0x0000000001535640 run_size: 0x00000000021fb000 KASLR using RDTSC... Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Junjie Mao <eternal.n08@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150706230620.GA17501@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ec9f932ed41622d120de52a5b525e4d77b9ef17e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Jun 24 08:59:25 2015 +0200 drm/atomic: Cleanup on error properly in the atomic ioctl. It's probably allowed to leave old_fb set to garbage when unlocking, but to prevent undefined behavior unset it just in case. Also crtc_state->event could be NULL on memory allocation failure, in which case event_space is increased for no reason. Note: Contains some general simplification of the cleanup code too. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> [danvet: Add note about the other changes in here. And fix long line while at it.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 399595f248cb25dccb6044b53c47c44c174dc23d Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Mon Jul 6 21:51:02 2015 +0900 sched/fair: Fix a comment reflecting function name change update_cfs_rq_load_contribution() was changed to __update_cfs_rq_tg_load_contrib() - sync up the commit in calc_tg_weight() too. Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436187062-19658-1-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8e2b0bf397279878babcb39b021edcafe7c945eb Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Thu Jul 2 22:25:52 2015 +0800 sched/fair: Clean up the __sched_period() code Since commit: 4bf0b77158 ("sched: remove do_div() from __sched_slice()") ... the logic of __sched_period() can be implemented as a single if-else without any local variables, so this patch cleans it up with an if-else statement, which expresses the function's logic straightforwardly. Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435847152-29543-1-git-send-email-boqun.feng@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 44dcb04f0ea8eaac3b9c9d3172416efc5a950214 Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 17:26:00 2015 +0530 sched/numa: Consider 'imbalance_pct' when comparing loads in numa_has_capacity() This is consistent with all other load balancing instances where we absorb unfairness upto env->imbalance_pct. Absorbing unfairness upto env->imbalance_pct allows to pull and retain task to their preferred nodes. Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434455762-30857-3-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2a1ed24ce94036d00a7c5d5e99a77a80f0aa556a Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 17:25:59 2015 +0530 sched/numa: Prefer NUMA hotness over cache hotness The current load balancer may not try to prevent a task from moving out of a preferred node to a less preferred node. The reason for this being: - Since sched features NUMA and NUMA_RESIST_LOWER are disabled by default, migrate_degrades_locality() always returns false. - Even if NUMA_RESIST_LOWER were to be enabled, if its cache hot, migrate_degrades_locality() never gets called. The above behaviour can mean that tasks can move out of their preferred node but they may be eventually be brought back to their preferred node by numa balancer (due to higher numa faults). To avoid the above, this commit merges migrate_degrades_locality() and migrate_improves_locality(). It also replaces 3 sched features NUMA, NUMA_FAVOUR_HIGHER and NUMA_RESIST_LOWER by a single sched feature NUMA. Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Link: http://lkml.kernel.org/r/1434455762-30857-2-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6dfec8d9493f48a42896386b41ec1a4644331b0b Author: bsegall@xxxxxxxxxx <bsegall@xxxxxxxxxx> Date: Tue Jun 16 12:18:21 2015 -0700 sched/numa: Check sched_feat(NUMA) in migrate_improves_locality() migrate_improves_locality checked sched_feat(NUMA_FAVOUR_HIGHER) but not sched_feat(NUMA), so disabling just the NUMA feature would leave it working off of old data. Signed-off-by: Ben Segall <bsegall@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/xm26si9rtqbm.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3cb43cc0b408c4672ba94fe28406a90a94b1edfe Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 7 08:43:03 2015 +0200 drm: Update plane->fb also for page_flip The legacy page_flip driver entry point is the only one left which requires drivers to update plane->fb themselves. All the other entry hooks will patch things up for the driver as needed since no one seems to reliable get this right, see e.g. drm_mode_set_config_internal or the plane->fb/old_fb handling in drm_mode_atomic_ioctl. Therefore unify things, which allows us to ditch a TODO from drm_atomic_helper_page_flip. This should also help the atomic transition in i915 since we keep a bit of legacy cruft only around because of this special behaviour in ->page_flip. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 7618d0359c167d89d7e904a00487be4945c10a65 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Wed Jun 24 10:49:59 2015 -0700 dmaengine: ioatdma: Set non RAID channels to be private capable This allows claiming of non-RAID channels as a private channel. This prevents breakage of MDRAID using the IOATDMA channels via async_tx but also allows agents such as NTB to claim channels exclusively for its usages. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4483320e241c5f6b63caa912343eb73c8b1dfd18 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Fri Jun 26 16:04:48 2015 +0530 dmaengine: Use Pointer xt after NULL check. Removing static analysis error:- Possible null pointer dereference: xt Because currently xt is dereferenced before NULL check, Thus Use it after NULL Check. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reviewed-by: Vaneet Narang <v.narang@xxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit fce9a74ba46fb545ad81cf244f3a1af4a877606c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 18:43:44 2015 -0300 dmaengine: imx-dma: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. While at it, change the label 'err' to a more descriptive naming. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6fdb302c1d996d2e0c1c527aa6f54a04ee80a0d8 Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Mon Jul 6 19:48:04 2015 +0200 wilc1000: host_interface.c: global variables do not need to be explicitly initialized to 0 or NULL. Fixed explicit initialization of global pointer variable. GCC takes care of this implicitly. Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 137b9938849901f8e402da15736125b0a0bd2477 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Mon Jun 29 12:43:32 2015 +0000 staging:wilc1000: code cleanup Fix reported by coccinelle Removed {} for single statement if block Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3a02832e47629c08b27589688c788d6af87e738 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jun 26 17:40:25 2015 +0200 staging: wilc1000: switch printks to vsprintf IPv4 extension Switch printks with IP addresses to use vsprintf extension %pI4. Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83cc9be5ebef180efb7df74c0518149a749e7c42 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jun 26 16:47:28 2015 +0200 staging: wilc1000: fix typos in PRINT_ERR() Fix typo "packe" to "packet". Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03b2d5e75088564c35297bd6192d1a5b504e7298 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jun 26 16:45:58 2015 +0200 staging: wilc1000: remove whitespaces before quoted newlines Fix all checkpatch.pl warnings: WARNING: unnecessary whitespace before a quoted newline Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78c87591d4d50e0cb3e670a909e63db92409c4c5 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jun 26 16:45:14 2015 +0200 staging: wilc1000: add blank lines after declarations Fix all checkpatch.pl warnings: WARNING: Missing a blank line after declarations Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b9d5b483784c588b1ecb658cac83cd8100a74aa Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jun 26 16:44:24 2015 +0200 staging: wilc1000: remove unnecessary braces Removing all checkpatch.pl warnings: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70e59d92256221640b8122ef258e886b1b1aa33d Author: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Date: Fri Jun 26 15:48:16 2015 +0900 staging: wilc1000: remove the warnings on the line over 80 characters This patch removes the warnings reported by checkpatch.pl on the line over 80 characters. Signed-off-by: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36901b690d5d83e0330a33bd6c1771c21c46c450 Author: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Date: Fri Jun 26 15:48:15 2015 +0900 staging: wilc1000: add a blank line after struct declaration This patch adds a blank line right after a struct declaration. Signed-off-by: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69176e1cbd62d1660c082fc2dfc3ae7aece525ff Author: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Date: Fri Jun 26 15:48:14 2015 +0900 staging: wilc1000: remove the warnings on the prohibited spaces This patch removes the warnings reported by checkpatch.pl regarding prohibited spaces between function name and open parenthesis. Signed-off-by: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9295e2d7341cb66ab8bbca029eabbe85b38bc376 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Jun 23 09:17:47 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove blank lines Remove multiple blank lines. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70fb5aa8a5f67275b5c2ebe23190777213d010df Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Jun 23 09:17:46 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove unused variable Remove variable that is defined but never used. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5927139ab52ef90232bd2578836ce36e5798920d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Jun 23 09:17:45 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove unused codes Remove if statement that has no any codes. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66f1a77ec182847b3334edeb37eb4d10b2e8043e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Jun 23 09:17:44 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove commented codes Remove commented codes. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf903c1e0784f668bcb325494a38cc359c1b5de6 Author: Sunil Shahu <shshahu@xxxxxxxxx> Date: Mon Jun 22 19:23:01 2015 +0530 staging: wilc1000: host_interface: add spaces around '=' Fix coding style error by placing spaces around '=' as suggested by checkpatch.pl script. Signed-off-by: Sunil Shahu <shshahu@xxxxxxxxx> Reviewed-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d33ff126bd6f4597189af7348aff9721d4b8080 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:06:01 2015 +0000 staging: wilc1000: use BIT macro This patch addresses the checkpatch warning advising the usage of the BIT macro for Bit shift operation. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba8f5e6642958c73cd558a2d9503720e35951b06 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:05:42 2015 +0000 staging: wilc1000: remove unused variable msg_len This patch removes a ununsed variable msg_len and its associated code. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 690910c0cf350a96590c6795f2d0f26e5f8ec59f Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:05:22 2015 +0000 staging: wilc1000: remove ununsed variable & associated code This patch removes the ununsed variable 'priv' at multiple instances and all its associated code where its assigned a value. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 810532227a431d5f13e732a37119a94d73819949 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 13:13:58 2015 +0000 staging: wilc1000: remove ununsed variable This patch removes ununsed variable 'len' Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 369f190a70d1972eed3888bd255dca711c8f58f3 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:04:39 2015 +0000 staging: wilc1000: remove redundant assignment of variable This patch the removes the redundant assignement of the variable ret as its being overwritren before being used anywhere. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 773116ea0b78c0aa8315bb64690d6a82c3f44b64 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:04:20 2015 +0000 staging: wilc1000: remove unused variable This patch removes a unused variable timeout and the associated code. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53e1096fea95f196377baac5e005b2de8c730631 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:03:53 2015 +0000 staging: wilc1000: remove ununsed variable & corresponding lines This patch removes a couple of ununsed variable.The lines in which these variables are assigned are also removed as they are not necessary. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04f2a50d41950ba60a56d2f884be05893ac61b6b Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:03:27 2015 +0000 staging: wilc1000: remove ununsed if..else.. code blocks This patch removes ununsed if..else... code blocks. Its actually some dead code. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab6ebe3a4b1ff9e37c2b7d12da7f985125dfab55 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:03:06 2015 +0000 staging: wilc1000: remove redundant initialization of variable This patch removes the redundant initialization of the variable 'st' as it is reassigned a new value before its being used anywhere else. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6608a38c66dfc0b14e77b92cbbf2457d18c42cd7 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:02:46 2015 +0000 staging: wilc1000: remove ununsed variable and associated line This patch removes a unused variable 'u16RespLen' that is assigned a value that is never used. The line that does the assignment is also removed. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit decc286c7dac701fc545d4a23cb2f9cf19a09a2c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jun 22 13:08:15 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: move statement after declarations Fix checkpatch warning found by checkpatch.pl WARNING: Missing a blank line after declarations Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df493fe8fa7ed73d73e08c768ed057b0e61b813d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jun 22 13:08:14 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: Insert blank line after declarations Fix checkpatch warning found by checkpatch.pl WARNING: Missing a blank line after declarations Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55229a56bb9e6f7f9dce36099b1045deb73409f1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jun 22 13:08:13 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove braces for single statement block Fix checkpatch warning found by checkpatch.pl WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8b369ea2bf80b5813ee760de4454deb2c10ee87 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jun 22 13:08:12 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove prohibited space Fix checkpatch warning found by checkpatch.pl WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a241a78952af31fcf4d33db2308fefb27c91703f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jun 22 13:08:11 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove prohibited space before semicolon Fix checkpatch warning found by checkpatch.pl WARNING: space prohibited before semicolon Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ca1b55a49f3b8e139fb4567b966f03a734e744f Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sun Jun 21 10:56:21 2015 +0530 Staging: wilc1000: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,ETH_ALEN); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e26bb71da9cf3c54cd8b1c1341a9c9b89e704ca6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jun 30 13:51:51 2015 +0530 staging: wilc1000: fix build failure commit 80279fb7ba5b ("cfg80211: properly send NL80211_ATTR_DISCONNECTED_BY_AP in disconnect") has changed the api of cfg80211_disconnected() and caused a build failure. Add the extra argument as false since it appears from the code that the disconnection is not locally generated. And incase of doubt we can use false as that is the default behaviour. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adb11a40a3ac5225ce3746a62c2a7ebde42ec04e Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Mon Jul 6 16:51:30 2015 +0300 clk: qcom: Constify the parent names arrays Make const both the array and the strings, so they can be moved to .rodata section. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 78e50c6def9cca448dbb028b57ec92a1589edc07 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Wed Jun 17 23:28:49 2015 +0200 clk: xgene: Delete duplicated name field X-Gene clocks implement it's name in the clock private struct. This is a duplication of the name field. We can delete the field and rely on the common implementation to retrieve the name. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit bb68a4f1e5ef7f2cebe84c57e465afa68a6ab911 Author: Sergej Sawazki <ce3a@xxxxxx> Date: Sun Jun 28 16:24:56 2015 +0200 clk: Rename clk-gpio-gate.c to clk-gpio.c The file clk-gpio-gate.c does not only contain the gate clock, but also the mux clock. Rename the file to clk-gpio.c. Cc: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Sergej Sawazki <ce3a@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 80eeb1f0f757c790b020d9f425bb0e824973d49c Author: Sergej Sawazki <ce3a@xxxxxx> Date: Sun Jun 28 16:24:55 2015 +0200 clk: add gpio controlled clock multiplexer Add a common clock driver for basic gpio controlled clock multiplexers. This driver can be used for devices like 5V41068A or 831721I from IDT or for discrete multiplexer circuits. The 'select' pin selects one of two parent clocks. Cc: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Sergej Sawazki <ce3a@xxxxxx> [sboyd@xxxxxxxxxxxxxx: Fix error paths to free memory and do it in the correct order] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 281cbb007612814183d79b1f72d0395303fcfb6f Author: Sergej Sawazki <ce3a@xxxxxx> Date: Sun Jun 28 16:24:54 2015 +0200 clk: gpio-gate: Stay silent on EPROBE_DEFER Do not output an error message if requesting gpio failes with EPROBE_DEFER. Cc: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Sergej Sawazki <ce3a@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e21b08e2f3e1ebb13d5930bd994cfaada22ed58b Author: Sergej Sawazki <ce3a@xxxxxx> Date: Sun Jun 28 16:24:53 2015 +0200 clk: gpio-gate: Include export.h instead of module.h Include export.h for EXPORT_SYMBOL_GPL, no need to include module.h. Cc: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Sergej Sawazki <ce3a@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f75073fabd9a85028ee9ff40e7f7cbb3a869678b Merge: d770e55 7b2a463 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:54:58 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: clk: mediatek: mt8173: Fix enabling of critical clocks drivers: clk: st: Fix mux bit-setting for Cortex A9 clocks drivers: clk: st: Add CLK_GET_RATE_NOCACHE flag to clocks drivers: clk: st: Fix flexgen lock init drivers: clk: st: Fix FSYN channel values drivers: clk: st: Remove unused code clk: qcom: Use parent rate when set rate to pixel RCG clock clk: at91: do not leak resources clk: stm32: Fix out-by-one error path in the index lookup clk: iproc: fix bit manipulation arithmetic clk: iproc: fix memory leak from clock name commit 5891a8d11f79b9a45a7334a63d0fa731875bc308 Author: shengyong <shengyong1@xxxxxxxxxx> Date: Thu Jun 25 02:23:14 2015 +0000 mtd: nandsim: fix double free Do not call free_device() in init_nandsim, the caller - ns_init_module - will take care of that if something goes wrong. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ec7478fa173f65e5ee5fd2ba42c59ca3e700027b Author: shengyong <shengyong1@xxxxxxxxxx> Date: Thu Jun 25 02:23:13 2015 +0000 mtd: nandsim: fix free of NULL pointer If allocating ns->nand_pages_slab fails, do not try to destroy it when cleaning up nandsim resources. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3536c97a52db2848d13512878c65affd98fd29db Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:20 2015 +0200 clk: rockchip: add rk3368 clock controller Describe the clock tree and software resets of the rk3368 ARM64 SoC Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7c8f03d5f2fae4ce625cdf93d03368825846924f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:19 2015 +0200 clk: rockchip: add missing include guards Review for the rk3368 turned up that the clock header was missing include guards. This is also true for the already existing clock binding headers, so add them. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d8567e39e4cdc938adde55d1f844bfb8e0a7eb21 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:18 2015 +0200 clk: rockchip: add dt-binding header for rk3368 Add the dt-bindings header for the rk3368, that gets shared between the clock controller and the clock references in the dts. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e76ea35ae723013392a0f61fcc16026506c0aa7f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:17 2015 +0200 dt-bindings: add documentation of rk3668 clock controller Add the devicetree binding for the cru on the rk3368 which quite similar structured as previous clock controllers. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4534b1113e4a4c649caac03f7787fbf4c4595718 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:16 2015 +0200 clk: rockchip: define the inverters of rk3066/rk3188 and rk3288 Both soc series' have inverters on the hsadc and camera interface clock paths. So define them using the newly added inverter type. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7c494ad0581a31b20d2e8c397e0a28a6ffcabf8a Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:15 2015 +0200 clk: rockchip: fix issues in the mmc-phase clock The review for the new inverter clock type uncovered some issues (missing headers and name handling) that are also present in the mmc-phase clock type, I got (to much) inspiration from. Fix these there too. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8a76f443a9ea6f7f72ede9f95fe0ca5b90f09a43 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:14 2015 +0200 clk: rockchip: add support for phase inverters Most Rockchip socs have optional phase inverters connected to some clocks that move the clock-phase by 180 degrees. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Dropped lazy part of commit text] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6f085072534363b68c705d54b9dbbed0474ff357 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Jun 18 16:18:31 2015 +0200 clk: rockchip: add COMPOSITE_NOGATE_DIVTBL variant A clock branch consisting of a mux and divider with non-standard divider values. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2d7884a7d0e70f9509881c40eaee3f5a5c201b07 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Jun 18 16:18:30 2015 +0200 clk: rockchip: protect register macros against multipart values The macros calculate the correct offset from the id in the parameter. If this parameter does not consist of a single number, the calculation will return wrong registers in the best case or create unaligned accesses in the worst case. So protect the calculations against such values. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 101762976b8d7038934f31ffb4e19fbac9b5e1d4 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Jun 18 16:18:29 2015 +0200 clk: rockchip: fix faulty vip parent name on rk3288 The video input processor (vip) was called camera interface (cif) on older socs which seems to have resulted in a copy'n'paste error when creating the rk3288 camera clocks. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4791eb61dbe8100ccac59fecfac9d93a15db1447 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Jun 18 16:18:28 2015 +0200 clk: rockchip: rk3288: add CLK_SET_RATE_PARENT to sclk_mac The dwmac ethernet controller on the rk3288 supports phys connected via rgmii and rmii. With rgmii phys it is expected that the mac clock is provided externally while with rmii phys the clock can be external but also generated from the plls. In the later case it of course needs be at 50MHz, which gets set from the dwmac_rk driver. As most devices use a rgmii phy it never surfaced so far that the mac clk mux, doesn't go up one lever to the pll clock in the rmii case with internal clock generation, as it is missing the CLK_SET_RATE_PARENT flag, and thus will not set the correct frequency in most cases. Fixes: b9e4ba541607 ("clk: rockchip: add clock controller for rk3288") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4e317ce73aecb735f389ab0d42ae3197a55265e4 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 14:27:10 2015 -0400 ufs_inode_get{frag,block}(): get rid of 'phys' argument Just pass NULL as locked_page in case of first block in the indirect chain. Old calling conventions aside, a reason for having 'phys' was that ufs_inode_getfrag() used to be able to do _two_ allocations - indirect block and extending/reallocating a tail. We needed locked_page for the latter (it's a data), but we also needed to figure out that indirect block is metadata. So we used to pass non-NULL locked_page in all cases *and* used NULL phys as indication of being asked to allocate an indirect. With tail unpacking taken into a separate function we don't need those convolutions anymore. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0385f1f9e3e5cb17047474037002500383237f47 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 14:20:21 2015 -0400 ufs_getfrag_block(): tidy up a bit Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5fbfb238f7a0a5c4633438eb5bdfb4810995c76a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 14:10:53 2015 -0400 ufs_inode_getblock(): failure to read an indirect block is -EIO ... and not "write to beginning of the disk", TYVM... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4eeff4c9326878ff58ef6fe68d2bf22ef877e5a2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 14:08:16 2015 -0400 ufs_getfrag_block(): turn following indirects into a loop Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5336970be09becb2b59ac3812718b2cb80d33347 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 13:53:52 2015 -0400 ufs_inode_getfrag(): pass index instead of 'fragment' same story as with ufs_inode_getblock() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0f3c1294bedcc4544c68d6b84699bdaa334b11b8 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 13:40:25 2015 -0400 ufs_inode_getfrag(): split extending the partial blocks off ufs_extend_tail() is handling that now. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 619cfac09134b4de7a4f232cf3636cf43728577d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 01:23:08 2015 -0400 ufs_inode_getblock(): pass indirect block number and full index ... instead of messing with buffer_head. We can bloody well do sb_bread() in there. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 721435a7679e13f810133dbea769f87ad7bae3a1 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 01:06:21 2015 -0400 ufs_inode_getblock(): pass index instead of 'fragment' The value passed to ufs_inode_getblock() as the 3rd argument had lower bits ignored; the upper bits were shifted down and used and they actually make sense - those are _lower_ bits of index in indirect block (i.e. they form the index within a fragment within an indirect block). Pass those as argument. Upper bits of index (i.e. the number of fragment within indirect block) will join them shortly. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 177848a018cb2cb196feac2990814ac8d7bb3c8e Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 00:53:06 2015 -0400 ufs_inode_get{frag,block}(): leave sb_getblk() to caller just return the damn block number Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8d9dcf14367388674f4d792f494e6f1d6536ac95 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 00:32:42 2015 -0400 ufs_getfrag_block(): get rid of macro jungles Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit bbb3eb9d3432ce55a620778ecf5670fa7942090e Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 00:10:00 2015 -0400 ufs_inode_get{frag,block}(): consolidate success exits These calling conventions are rudiments of pre-2.3 times; they really need to be sanitized. This is the first step; next will be _always_ returning a block number, instead of this "return a pointer to buffer_head, except when we get to the actual data" crap. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 71dd42846ffb2bd1a90e9ac2c52df0cc2ed92307 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 4 14:34:43 2015 -0400 ufs: use the branch depth in ufs_getfrag_block() we'd already calculated it... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4b7068c8b178401637ef2fb068d6256c97d23f4a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 4 14:27:23 2015 -0400 ufs: move calculation of offsets into ufs_getfrag_block() ... and massage ufs_frag_map() to take those instead of fragment number. As it is, we duplicate the damn thing on the write side, open-coded and bloody hard to follow. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5a39c25562aa5eab5a798919855cf41ddeed8b0d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 22:39:46 2015 -0400 ufs_inode_get{frag,block}(): get rid of retries We are holding ->truncate_mutex, so nobody else can alter our block pointers. Rechecks/retries were needed back when we only held BKL there, and had to cope with write_begin/writepage and writepage/truncate races. Can't happen anymore... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit f53bd1421b3eb84375e9e6964665d23d4190400d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 20:17:32 2015 -0400 __ufs_truncate_blocks(): avoid excessive dirtying of indirect blocks There's a case when an indirect block gets dirtied for no good reason - when there's a hole starting in the middle of area covered by it and spanning past its end, and truncate() is done precisely to the beginning of the hole. The block is obviously not modified at all - all removals happen beyond it. However, existing code ends up dirtying it just in case. It's trivial to fix and while it's not a real bug by any stretch of imagination, it makes the damn thing harder to follow. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cc7231e30916f5326bdde55a7a4c59431e15bc1b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 20:14:02 2015 -0400 free_full_branch(): don't bother modifying the block we are going to free Note that it's already made unreachable from the inode, so we don't have to worry about ufs_frag_map() walking into something already freed. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b6eede0ec642d1be17065110718cb4f4ed7ba5e0 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 20:09:39 2015 -0400 move marking inode dirty to the end of __ufs_truncate_blocks() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 163073db51930d1f9c2960b8e5660c269164f29b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 20:07:08 2015 -0400 free_full_branch(): saner calling conventions Have caller fetch the block number *and* remove it from wherever it was. Pass the block number instead. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7b4e4f7f815db0059150a12542b28c787e19c0d7 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 19:13:02 2015 -0400 ufs_trunc_branch(): kill recursion turn recursion into a pair of loops Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6aab6dd37946d0d592105872bd533bb7d2931f3f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 17:23:34 2015 -0400 ufs_trunc_branch(): massage towards killing recursion We always have 0 < depth2 <= depth in there, so if (--depth) { if (--depth2) A B } else { C // not using depth2 } D // not using depth2 is equivalent to if (--depth2) A with s/depth/depth - 1/ if (--depth) B else C D Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6d1ebbca2b2fe516ff5f279848cffbd23d2b0270 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 17:11:49 2015 -0400 split ufs_truncate_branch() into full- and partial-branch variants Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a138b4b688c10eb82044451b81534c382d1cddbd Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 02:18:54 2015 -0400 ufs: unify the logics for collecting adjacent data blocks to free open-coded in several places... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a96574233c5d2e50736d83abf65161ec5fa55852 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 16:13:56 2015 -0400 ufs_trunc_branch(): separate the calls with non-NULL offsets Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 97e0f8f87c918620689ce542664a3115b752649d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 16:05:18 2015 -0400 ufs_trunc_branch(): never call with offsets != NULL && depth2 == 0 For calls in __ufs_truncate_blocks() it's just a matter of not incrementing offsets[0] and not making that call - immediately following loop will be executed one extra time and we'll be just fine. For recursive call in ufs_trunc_branch() itself, just assing NULL to offsets if we would be about to make such call. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 42432739b5902f72011f701f5cd5b4227ebe991c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 15:47:17 2015 -0400 __ufs_trunc_blocks(): turn the part after switch into a loop ... and turn the switch into if (), since all cases with depth != 1 have just become identical. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ef3a315d4ca179fd0b56597e695cd262a8b559b7 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 15:42:25 2015 -0400 __ufs_truncate_blocks(): unify freeing the full branches Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9e0fbbde2724d5d3bb9edca6b77e26eb28341154 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 15:33:47 2015 -0400 unify ufs_trunc_..indirect() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6775e24d9ccf6a48ebd1d31ca77db5ebfe00ce43 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:55:50 2015 -0400 ufs_trunc_..indirect(): more massage towards unifying Instead of manually checking that the array contains only zeroes, find the position of the last non-zero (in __ufs_truncate(), where we can conveniently do that) and use that to tell if there's any non-zero in the array tail passed to ufs_trunc_...indirect(). The goal of all that clumsiness is to get fold these functions together. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 85416288bf730cffb61ab6ce8a7b97b17c73458f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:36:31 2015 -0400 ufs_trunc_...indirect(): pass the array of indices instead of offsets rather than bitslicing the offset just formed as sum of shifted indices, pass the array of those indices itself. NULL is used as equivalent of "all zeroes" (== free the entire branch). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7a4fdda72451f094374324a552be9fc7de8f3e8d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:28:54 2015 -0400 __ufs_truncate(); find cutoff distances into branches by offsets[] array Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7bad5939fcd04bb83122bdb90981ec5ae2f90e0d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:21:09 2015 -0400 ufs_trunc_dindirect(): pass the number of blocks to keep same as the previous two. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6ac36b8777d934e3cd7eb0f023a5043d5c03b00c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 01:54:58 2015 -0400 ufs_trunc_indirect(): pass the index of the first pointer to free ... instead of file offset. Same cleanups as in the tindirect conversion in previous commit. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 18ca51d8211065f10672374336cd08d495968c73 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 13:45:07 2015 -0400 ufs_trunc_tindirect(): pass the number of blocks to keep IOW, the distance of cutoff from the begining of the branch (in blocks). That (and the fact that block just prior to cutoff is guaranteed to be present) allows to tell whether to free triple indirect block just by looking at the offset. While we are at it, using u64 for index in the block is wrong - those should be unsigned int. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 31cd043e1a09c579c4cd38ea432200fbeae6af1f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 01:10:03 2015 -0400 ufs: beginning of __ufs_truncate_block() massage Use ufs_block_to_path() to find the cutoff path in the block pointers' tree. For now just use the information about the depth (to bypass the fully preserved subtrees); subsequent commits will use the information about actual path. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4e3911f3d704d681477cdb4e1a2bfd52d5e42d23 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 4 14:13:14 2015 -0400 ufs: the offsets ufs_block_to_path() puts into array are not sector_t type makes no sense - those are indices in block number arrays, not block numbers. And no, UFS is not likely to grow indirect blocks with 4Gpointers in them... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 010d331fc315c96607aa6ecdfebb9fcdd349fc9b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 12:44:14 2015 -0400 ufs: move truncate code into inode.c It is closely tied to block pointers handling there, can benefit from existing helpers, etc. - no point keeping them apart. Trimmed the trailing whitespaces in inode.c at the same time. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0d23cf7616253b7960edeae720b9f5dfdccee445 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:52:28 2015 -0400 ufs: no retries are needed on truncate Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 687857930d9294100a4636e45b78a244e6ba4125 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:45:21 2015 -0400 ufs: ufs_trunc_...() has exclusion with everything that might cause allocations Currently - on lock_ufs(), eventually - on per-inode mutex. lock_ufs() used to be mere BKL, which is much weaker, so it needed those rechecks. BKL doesn't provide any exclusion once we lose CPU; its blind replacement, OTOH, _does_. Making that per-filesystem was an atrocity, but at least we can simplify life here. And yes, we certainly need to make that sucker per-inode - these days inode.c and truncate.c uses are needed only to protect the block pointers. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6a799d3514217d217b4e74a1ee4f016428582dc5 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:43:08 2015 -0400 ufs: ufs_trunc_direct() always returns 0 make it return void Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit dff7cfd36e305488421d82a0ed3dd0209c333745 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 04:27:05 2015 -0400 ufs: kill lock_ufs() There were 3 remaining users; in two of them we took ->s_lock immediately after lock_ufs() and held it until just before unlock_ufs(); the third one (statfs) could not be called from itself or from other two (remount and sync_fs). Just use ->s_lock in statfs and don't bother with lock_ufs at all. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 724bb09fdc06d4ff03757b25d6dba9ef1b133e8f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 12:02:56 2015 -0400 ufs: don't use lock_ufs() for block pointers tree protection * stores to block pointers are under per-inode seqlock (meta_lock) and mutex (truncate_mutex) * fetches of block pointers are either under truncate_mutex, or wrapped into seqretry loop on meta_lock * all changes of ->i_size are under truncate_mutex and i_mutex * all changes of ->i_lastfrag are under truncate_mutex It's similar to what ext2 is doing; the main difference is that unlike ext2 we can't rely upon the atomicity of stores into block pointers - on UFS2 they are 64bit. So we can't cut the corner when switching a pointer from NULL to non-NULL as we could in ext2_splice_branch() and need to use meta_lock on all modifications. We use seqlock where ext2 uses rwlock; ext2 could probably also benefit from such change... Another non-trivial difference is that with UFS we *cannot* have reader grab truncate_mutex in case of race - it has to keep retrying. That might be possible to change, but not until we lift tail unpacking several levels up in call chain. After that commit we do *NOT* hold fs-wide serialization on accesses to block pointers anymore. Moreover, lock_ufs() can become a normal mutex now - it's only used on statfs, remount and sync_fs and none of those uses are recursive. As the matter of fact, *now* it can be collapsed with ->s_lock, and be eventually replaced with saner per-cylinder-group spinlocks, but that's a separate story. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4af7b2c080715b9452fdaefb7ada72b4dc79593e Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 19:26:18 2015 -0400 ufs: bforget() indirect blocks before freeing them right now it doesn't matter (lock_ufs() serializes everything), but when we switch to per-inode locking, it will be needed. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 493b4537a26b104fb3bd07ff4a46b6ede4288e76 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:17:28 2015 -0400 ufs: move lock_ufs() down into __ufs_truncate_blocks() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2401aa29ab5c42cc34853a5c1457fbf66593690f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:15:07 2015 -0400 ufs: move truncate_setsize() down into ufs_truncate() just prior to __ufs_truncate_blocks(), with matching change of calling conventions Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3b7a3a05e8b006a73c406230b3d2d3da920779d9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:06:40 2015 -0400 ufs: free excessive blocks upon ->write_begin() failure/short copy Broken in "[PATCH] ufs: truncate should allocate block for last byte"; all way back in 2006. ufs_setattr() hadn't been the only user of vmtruncate() and eliminating ->truncate() method required corrections in a bunch of places. Eventually those places had migrated into ->write_begin() failure exit and ->write_end() after short copy... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d622f167b8435c856376edec130053fb56bf83e4 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:04:16 2015 -0400 ufs: switch ufs_evict_inode() to trimmed-down variant of ufs_truncate() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit f3e0f3da1b65e84ea82176c1cda03a4b694c9911 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 02:35:14 2015 -0400 ufs: kill more lock_ufs() calls a) move it inside ufs_truncate() b) ufs_free_inode() doesn't need it - it's serialized on ->s_lock c) ufs_write_inode() doesn't need it either (and can be called without it anyway). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fe052a1810ec4687ee7d606290561af504047707 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Mon Jun 29 13:08:19 2015 +0300 target: Use struct t10_pi_tuple Its not a good idea to keep target specific definition of the same t10-pi tuple. (Fix v4.2-rc1 patch fuzz - nab) Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 70cfef26267474f94ff4a988fb45ff78442b1cf4 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Jun 29 09:04:43 2015 +0900 regulator: Add lockdep asserts to help detecting locking misuse Add lockdep_assert_held_once() to functions explicitly mentioning that rdev or regulator_list mutex must be held. Using WARN_ONCE shouldn't pollute the dmesg to much. The patch (if CONFIG_LOCKDEP enabled) will show warnings in certain regulators calling regulator_notifier_call_chain() without rdev->mutex held. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 83dcf400be7165af938dbd6b8ce6805c754701db Merge: 392d39c d770e55 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 6 13:54:28 2015 -0700 Merge 4.2-rc1 into MTD -next commit d1ec4c34c7a9f328e43ea87522119258194f28f8 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed May 13 10:41:58 2015 -0700 rcu: Drop RCU_USER_QS in favor of NO_HZ_FULL The RCU_USER_QS Kconfig parameter is now just a synonym for NO_HZ_FULL, so this commit eliminates RCU_USER_QS, replacing all uses with NO_HZ_FULL. Reported-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 0bc7d10c4abb7cec52d4d88f761476ed04225c83 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jun 28 11:41:19 2015 +0800 ASoC: rt5645: Constify dmi_system_id table dmi_check_system() takes "const struct dmi_system_id *", so make the dmi_system_id table const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93d5fc8bd143d94105279796451dcfd3d657453a Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 22:52:12 2015 +0800 ASoC: wm0010: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aa0bcc5c44437457307c8c22e57a67bb57424041 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:59:01 2015 +0300 ASoC: rt5677: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 387ad57fe187b10fb4dec521e8d0ba5cefae7b35 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:59:00 2015 +0300 ASoC: rt5670: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 469444fb134259384f3396833f6f1edde8bae203 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:58:59 2015 +0300 ASoC: rt5651: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f68e80f5f434980ab9bae713bab6a3ff1ac07df Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:58:58 2015 +0300 ASoC: rt5645: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 818454d1abcc127eef7e7d1cb169c69f53f7cd6d Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:58:57 2015 +0300 ASoC: rt5640: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e608aaefd8f3b868866a2438dbad8e01cb0ce993 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:58:56 2015 +0300 ASoC: rt286: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d49796317d4968b29ccdee7b9586385ae20b60a3 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jun 24 10:55:24 2015 +0800 ASoC: gtm601: Fix modalias The MODULE_ALIAS needs to match the driver name to make module auto-loading work. Also move MODULE_ALIAS close to other MODULE_* macro. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit beb5f8659ccd89a70b0a3ff28e32dbd8065df818 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Jun 22 23:48:25 2015 +0800 ASoC: gtm601_dai can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 726f783e803cc254b1a8a9a1dc3e5808fee02760 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Jun 22 23:36:03 2015 +0800 ASoC: fix platform_no_drv_owner.cocci warnings sound/soc/codecs/gtm601.c:86:4-9: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1fdc5ae80868637926e76a32e8c62cdd093b48f4 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Sat Jun 20 22:47:02 2015 +0200 Documentation: vendor-prefixes: Add option prefix Add option to vendor-prefixes file which will be used for Option NV company. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit efc4720dfbf737903ca4c1366bc45ca780d13412 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Sat Jun 20 22:47:01 2015 +0200 ASoC: Add gtm601 codec driver This driver add PCM interface to a GTM601 UMTS modem chip. There is no configuration interface. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d26a5b6e80c87fd8fd136eb0a334fc7960ac9699 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jul 2 17:42:46 2015 +0300 drm/i915: Disable LVDS port after the pipe on PCH Follow the correct pipe vs port disable sequence for the PCH LVDS ports, ie. disable the port after the pipe. Other PCH port were already converted in the following commits: 1ea56e269e136544c0a76dc831c5edc27c47cb3c drm/i915: Disable CRT port after pipe on PCH platforms 3c65d1d1bb92ea959e8bce3eeae90fe5c3daa58a drm/i915: Disable SDVO port after the pipe on PCH platforms a4790cec3adf5eec91f397b1884706a71c70730f drm/i915: Disable HDMI port after the pipe on PCH platforms 08aff3fe26ae7a0d6f302ac2e1b7e2eb9933cd42 drm/i915: Move DP port disable to post_disable for pch platforms but LVDS was forgotten. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c07a2d1194fc694785771643c413c44adf7635d3 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Jul 6 09:19:24 2015 -0700 drm/i915: Don't dereference NULL plane while setting up scalers intel_atomic_setup_scalers() dereferences 'plane' before the plane has been assigned. The plane ID assignment doing this dereference is only needed for debugging messages later in the function, so just move the assignment farther down the function to a point where plane will no longer be NULL. This was introduced in: commit 133b0d128be39e308ccd3b3d765c31ebdbf5380e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:39 2015 +0200 drm/i915: Clean up intel_atomic_setup_scalers slightly. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Reported-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 91780c41a9e03ca6c351a0b2152662139b94b274 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 6 17:29:04 2015 +0300 x86/platform/intel/pmc_atom: Move the PMC-Atom code to arch/x86/platform/atom This is specific driver for Intel Atom SoCs like BayTrail and Braswell. Let's move it to dedicated folder and alleviate a arch/x86/kernel burden. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J . Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436192944-56496-6-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2b8f8eddaf05c02bb4a21db5be1691e36e242c65 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 6 17:29:03 2015 +0300 x86/platform/intel/pmc_atom: Add Cherrytrail PMC interface The patch adds CHT PMC interface. This exposes all the South IP device power states and S0ix states for CHT. The bit map of FUNC_DIS and D3_STS_0 registers for SoCs are consistent. The D3_STS_1 and FUNC_DIS_2 registers, however, are not aligned. This is fixed by splitting a common mapping on per register basis. (Originally based on code from Kumar P Mahesh.) Originally-from: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J . Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436192944-56496-5-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c84e358718a66f76ac0de1681d15d8d0c68fcdab Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Jun 24 08:17:04 2015 +0200 soc: Mediatek: Add SCPSYS power domain driver This adds a power domain driver for the Mediatek SCPSYS unit. The System Control Processor System (SCPSYS) has several power management related tasks in the system. The tasks include thermal measurement, dynamic voltage frequency scaling (DVFS), interrupt filter and lowlevel sleep control. The System Power Manager (SPM) inside the SCPSYS is for the MTCMOS power domain control. For now this driver only adds power domain support, the more advanced features are not yet supported. The driver implements the generic PM domain device tree bindings, the first user will most likely be the Mediatek AFE audio driver. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 859e42800bcfc4db9cefaa2c24d6e3a203fe961d Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Jun 24 08:17:03 2015 +0200 dt-bindings: soc: Add documentation for the MediaTek SCPSYS unit This adds documentation for the MediaTek SCPSYS unit found in MT8173 SoCs. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 16a624a9c81814cc2f1353eff2e502430c3fa79a Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Jun 24 08:17:02 2015 +0200 soc: mediatek: Add infracfg misc driver support This adds support for some miscellaneous bits of the infracfg controller. The mtk_infracfg_set/clear_bus_protection functions are necessary for the scpsys power domain driver to handle the bus protection bits which are contained in the infacfg register space. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 720570b14bb7c7494b0dbc2acc0d2065a490d31b Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Fri Jul 3 10:28:26 2015 +0800 dts: mt8173-evb: Add da9211 to i2c1 Add a DA9211 dual-channel BUCK regulator to i2c1. This regulator supplies GPU and DVFS1 voltages. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit ad4df7a53a148e2e9d917e254b4e9ec9fc860ac9 Author: Howard Chen <howard.chen@xxxxxxxxxx> Date: Thu Jun 4 15:13:37 2015 +0800 ARM: dts: mt8173: support arm64 cpuidle-dt This patch adds an idle-states node to describe the mt8173 idle states and also adds references to the idle-states node in all CPU nodes. Signed-off-by: Howard Chen <howard.chen@xxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit c010ff530a04ca63d120e1fad0f4268302c5e845 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Jun 24 08:17:05 2015 +0200 ARM64: MediaTek MT8173: Add SCPSYS device node This adds the SCPSYS device node to the MT8173 dtsi file. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 091cf59891df5d969525d06a4da44e1a2a0e84d1 Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Wed Jun 17 23:08:03 2015 +0800 arm64: dts: mt8173: Add I2C device node Add MT8173 I2C device nodes, include I2C controllers and pins. MT8173 has six I2C controllers, from i2c0 to i2c6, exclude i2c5. The 6th I2C controller register base doesn't next to 5th I2C, and there is a hardware between 5th and 6th I2C controller. So SoC designer name 6th controller as "i2c6", not "i2c5". Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 13421b3e8a16921dde592e3309cee15f3be1d93b Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Mon Jun 1 21:08:26 2015 +0800 arm64: dts: mt8173: Add watchdog device node Add MT8173 watchdog device node. Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 6cf15fc2a1aa062476c26e1895640d1c61f60a72 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed May 20 15:32:46 2015 +0200 arm64: dts: mt8173: Add PMIC wrapper device node This adds the device node for the PMIC wrapper. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 0e84faa163c8ad42fec05d26907af8079d418bfc Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed May 20 15:32:45 2015 +0200 arm64: dts: mt8173: Use real clock for UARTs We used to use a fixed rate clock for the UARTs. Now that we have clock support we can associate the correct clocks to the UARTs and drop the 26MHz fixed rate UART clock. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit f2ce701495683936d349ab905feba74c7b572c93 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed May 20 15:32:44 2015 +0200 arm64: dts: mt8173: Add clock controller device nodes This adds the device nodes providing clocks on the Mediatek MT8173. These are: topckgen, infracfg, pericfg and apmixedsys. These are fed by two oscillators also added by this patch. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 60cd37eb100c4880b28078a47f3062fac7572095 Merge: ebf2d26 ab85785 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Jul 6 17:46:15 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Take tracefs into account when reporting errors about accessing tracepoint information in tools like 'perf trace' (Arnaldo Carvalho de Melo) - Let user have timestamps with per-thread recording in 'perf record' (Adrian Hunter) Infrastructure changes: - Introduce series of functions to build event filters so that we can set them in just one ioctl call, useful to set up common_pid, raw_syscalls:sys_{enter,exit}'s "id" filters to use with 'perf trace' (Arnaldo Carvalho de Melo) - Delete an unnecessary check before calling strfilter__delete() (Markus Elfring) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 940406d1cfb5b35cb9716d186fe3e6308f2700c5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 6 17:29:02 2015 +0300 x86/platform/intel/pmc_atom: Supply register mappings via PMC object The patch converts the functions to use the register mappings provided by PMC object. It would help in case of mappings on different platforms. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Cc: Rafael J . Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Link: http://lkml.kernel.org/r/1436192944-56496-4-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c3c65aa6d43f9e9f23f688848b08ffec97be893b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 6 17:29:01 2015 +0300 x86/platform/intel/pmc_atom: Print index of device in loop The register mapping may change from one platform to another. Thus, indices might be not the same on different platforms. The patch makes the code to print the device index dynamically at run time. The patch also changes the for loop to iterate over the map until a terminator is found. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Cc: Rafael J . Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Link: http://lkml.kernel.org/r/1436192944-56496-3-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 68872eb9b19bbd85883262a4e0927b487653816c Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 6 17:29:00 2015 +0300 x86/platform/intel/pmc_atom: Export accessors to PMC registers Export the pmc_atom_read() and pmc_atom_write() accessors to the PMC registers. On early initcall stages the functions will return -ENODEV, and caller has to wait when it will be available. Additionally make absence of debugfs a non-fatal error. The patch will be useful for the upcoming fixes regarding to the LPSS block found on Intel BayTrail-T and Braswell. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J . Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436192944-56496-2-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ab85785aa13c36440a91a8e9f7616357de411a1f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Jul 6 08:51:41 2015 -0300 tools lib api debugfs: Check for tracefs when reporting errors Now that we have two mountpoints, one for debugfs and another, for tracefs, we end up needing to check permissions for both, so, on a system with default config we were always asking the user to check the permission of the debugfs mountpoint, even when it was already sufficient. Fix it. E.g.: $ trace -e nanosleep usleep 1 Error: No permissions to read /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit) Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug' $ sudo mount -o remount,mode=755 /sys/kernel/debug $ trace -e nanosleep usleep 1 Error: No permissions to read /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit) Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing' $ sudo mount -o remount,mode=755 /sys/kernel/debug/tracing $ trace -e nanosleep usleep 1 0.326 ( 0.061 ms): usleep/11961 nanosleep(rqtp: 0x7ffef1081c50) = 0 $ Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0viljeuhc7q84ic8kobsna43@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1cff8cc35bd310419cd2545ddcb65b329bdc1053 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 11:09:25 2015 +0300 drm/i915: Mark elsps submitted when they are pushed to hw Now when we have requests this deep on call chain, we can mark the elsp being submitted when it actually is. Remove temp variable and readjust commenting to more closely fit to the code. v2: Avoid tmp variable and reduce number of writes (Chris) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8ee36152cfb087af22680ee394dcde262565fd73 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 17:09:37 2015 +0300 drm/i915: Convert execlists_ctx_descriptor() for requests Pass around requests to carry context deeper in callchain. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cc3c42532c312c60f8499e22bbdb895ed5ce1d73 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 17:09:36 2015 +0300 drm/i915: Convert execlists_elsp_writ() for requests Pass around requests to carry context deeper in callchain. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8ba319da898fcecdac158cb46ca69e38b2b08da3 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 17:09:35 2015 +0300 drm/i915: Convert intel_lr_context_pin() for requests Pass around requests to carry context deeper in callchain. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f3cc01f0948c1deb12cfb1da2959f391229c9d4b Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 11:08:30 2015 +0300 drm/i915: Assign request ringbuf before pin In preparation to make intel_lr_context_pin|unpin to accept requests, assign ringbuf into request before we call the pinning. v2: No need to unset ringbuf on error path (Chris) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 05d9824bfb40e211c8804fee65af1fbb736925a2 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 17:09:33 2015 +0300 drm/i915: Convert execlists_update_context() for requests Pass around requests to carry context deeper in callchain. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d8cb8875ac60e2832614a2c48af236b5899cf209 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 17:09:32 2015 +0300 drm/i915: Convert execlist_submit_contexts() for requests Pass around requests to carry context deeper in callchain. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d264b48687fab995fe970451ed11f4259d68aee1 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Jun 26 13:17:42 2015 +0300 dmaengine: Remove remaining FSF mailing addresses Commit 3b62286d0ef7 ("dmaengine: Remove FSF mailing addresses") left Free Software Foundation mailing address still in two files. Remove it now. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9b54050bfe438d9e1108211d28cb0b995b1f347c Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:21 2015 -0400 x86/compat: Separate ia32 and x32 compat ABIs The x32 ABI is now independent of the ia32 compat ABI. Common code is now conditional on CONFIG_COMPAT, but unshared code like syscall entry, signal handling, and the VDSO are under separate config options. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-13-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0c3619ea6756833e5c636c886cb55ca5b77f5d73 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:20 2015 -0400 x86/compat: Clean up HAVE_UID16 config Merge the 32-bit compat config setting for HAVE_UID16 with the 32-bit native one. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-12-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3bead553ab657d482c3fd6559a1fd7f024414a63 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:19 2015 -0400 x86/compat: Define ARCH_WANT_OLD_COMPAT_IPC only for 32-bit compat x32 does not need CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-11-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5e2aad2460bd38d0777052486893b32902efcdcd Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:18 2015 -0400 x86/compat: Remove unneeded #include Including sys_ia32.h is not needed in signal.c. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-10-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 10ed34935e7e828ce4ce566647a2d6b8240e4dee Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:17 2015 -0400 x86/compat, x86/perf: Don't build perf_callchain_user32() on x32 perf_callchain_user32() is not needed for x32. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-9-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c338867d0e4224771c68d0a7727289b86c23eccd Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:16 2015 -0400 x86/compat: Check for both 32-bit compat and x32 in get_gate_vma() Change this to CONFIG_COMPAT so both 32-bit compat and x32 will do the check. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-8-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ab8b82ee6dad7c9c257f450d14719a0e3f327244 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:15 2015 -0400 x86/compat: Don't build the 32-bit VDSO if not needed Build the 32-bit vdso only for native 32-bit or 32-bit compat is enabled. x32 should not force it to build. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-7-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 601275c3e04c43b3b34237ab36c27fc1cfb8a189 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:14 2015 -0400 x86/compat: Factor out ia32 compat code from compat_arch_ptrace() Move the ia32-specific code in compat_arch_ptrace() into its own function. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-6-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7da770785f9740af1cb24b8fd63075543bd00711 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:13 2015 -0400 x86/compat: Rename 'start_thread_ia32' to 'compat_start_thread' This function is shared between the 32-bit compat and x32 ABIs. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-5-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b829d1be20ab51a3b76ec003118c9260d1fa424e Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:12 2015 -0400 x86/compat: Move ucontext_x32 to sigframe.h ia32.h should only contain the code for 32-bit compatability. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-4-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b2e02b820d5b42479195b89d3d73f31bcedb264e Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:11 2015 -0400 x86/compat: Make mmap_is_ia32() common compat TIF_ADDR32 is set for both ia32 and x32 tasks, so change from CONFIG_IA32_EMULATION to CONFIG_COMPAT. Use config_enabled() to make the function more readable. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-3-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c0bfd26e136cafc2b23c16225b4d7b1e14de81c1 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:10 2015 -0400 x86/compat: Move copy_siginfo_*_user32() to signal_compat.c copy_siginfo_to_user32() and copy_siginfo_from_user32() are used by both the 32-bit compat and x32 ABIs. Move them to signal_compat.c. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-2-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5a33fcb8d991209bac0a266ab499e4b53d116cdd Author: George Spelvin <linux@xxxxxxxxxxx> Date: Thu Jun 25 18:44:13 2015 +0200 x86/asm/tsc: Save an instruction in DECLARE_ARGS users Before, the code to do RDTSC looked like: rdtsc shl $0x20, %rdx mov %eax, %eax or %rdx, %rax The "mov %eax, %eax" is required to clear the high 32 bits of RAX. By declaring low and high as 64-bit variables, the code is simplified to: rdtsc shl $0x20,%rdx or %rdx,%rax Yes, it's a 2-byte instruction that's not on a critical path, but there are principles to be upheld. Every user of EAX_EDX_RET has been checked. I tried to check users of EAX_EDX_ARGS, but there weren't any, so I deleted it to be safe. ( There's no benefit to making "high" 64 bits, but it was the simplest way to proceed. ) Signed-off-by: George Spelvin <linux@xxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: jacob.jun.pan@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150618075906.4615.qmail@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bb8dd96032fc63babfc8b378a37dd7681eeec326 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:12 2015 +0200 x86/asm/tsc: Remove rdtsc_barrier() All callers have been converted to rdtsc_ordered(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/9baa4ae9a1e7c7c282f9cb2f15bb6bf5c2004032.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 502dfeff239e8313bfbe906ca0a1a6827ac8481b Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:11 2015 +0200 x86/asm/tsc, x86/kvm: Drop open-coded barrier and use rdtsc_ordered() in kvmclock __pvclock_read_cycles() used to have two barriers, one of which was unnecessary, which got removed after an initial version of this patch was sent. But the barrier is still open-coded unnecessarily - get rid of that barrier and clean up the code by just using rdtsc_ordered(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Radim Krcmar <rkrcmar@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/678981cc4761fb38a793c217c9cac42503cf3719.1434501121.git.luto@xxxxxxxxxx [ Ported it to v4.2-rc1. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27c634054a3155e1d9a02f0e362e4f4ff8d28ee7 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:10 2015 +0200 x86/asm/tsc: Use rdtsc_ordered() in read_tsc() instead of get_cycles() There are two logical changes here. First, this removes a check for cpu_has_tsc. That check is unnecessary, as we don't register the TSC as a clocksource on systems that have no TSC. Second, it adds a barrier, thus preventing observable non-monotonicity. I suspect that the missing barrier was never a problem in practice because system calls themselves were heavy enough barriers to prevent user code from observing time warps due to speculation. (Without the corresponding barrier in the vDSO, however, non-monotonicity is easy to detect.) Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/c6ff621a053127a65b70f175443578db7a0711be.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eee6946e44510b61c35cf754f5505537c7a8eb77 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:09 2015 +0200 x86/asm/tsc/sync: Use rdtsc_ordered() in check_tsc_warp() and drop extra barriers Using get_cycles was unnecessary: check_tsc_warp() is not called on TSC-less systems. Replace rdtsc_barrier(); get_cycles() with rdtsc_ordered(). While we're at it, make the somewhat more dangerous change of removing barrier_before_rdtsc after RDTSC in the TSC warp check code. This should be okay, though -- the vDSO TSC code doesn't have that barrier, so, if removing the barrier from the warp check would cause us to detect a warp that we otherwise wouldn't detect, then we have a genuine bug. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/387c4c3a75f875bcde6cd68cee013273a744f364.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 03b9730b769fc4d87e40f6104f4c5b2e43889f19 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:08 2015 +0200 x86/asm/tsc: Add rdtsc_ordered() and use it in trivial call sites rdtsc_barrier(); rdtsc() is an unnecessary mouthful and requires more thought than should be necessary. Add an rdtsc_ordered() helper and replace the trivial call sites with it. This should not change generated code. The duplication of the fence asm is temporary. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/dddbf98a2af53312e9aa73a5a2b1622fe5d6f52b.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4ea1636b04dbd66536fa387bae2eea463efc705b Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:07 2015 +0200 x86/asm/tsc: Rename native_read_tsc() to rdtsc() Now that there is no paravirt TSC, the "native" is inappropriate. The function does RDTSC, so give it the obvious name: rdtsc(). Suggested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/fd43e16281991f096c1e4d21574d9e1402c62d39.1434501121.git.luto@xxxxxxxxxx [ Ported it to v4.2-rc1. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe47ae6e1a5005b2e82f7eab57b5c3820453293a Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:06 2015 +0200 x86/asm/tsc: Remove rdtscl() It has no more callers, and it was never a very sensible interface to begin with. Users of the TSC should either read all 64 bits or explicitly throw out the high bits. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/250105f7cee519be9d7fc4464b5784caafc8f4fe.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 732f374ba50b64150bf954c2d4e9f6fae583cccf Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:05 2015 +0200 x86/asm/tsc, drivers/input/gameport: Replace rdtscl() with native_read_tsc() It's unclear to me why this code exists in the first place. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Cc: linux-input@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/9e058e72f4cf1f13c6483c1360b39c3d188a2c2a.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 016bfc449a88c833e949414a41748b359843dbb1 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:04 2015 +0200 x86/asm/tsc, input/joystick/analog: Switch from rdtscl() to native_read_tsc() This timing code is hideous, and this doesn't help. It gets rid of one of the last users of rdtscl(), though. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Cc: linux-input@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/90d19b3cea0e05ca6f333d1598daa38afb993260.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3a2c16c8489d967de10b3b7f5cc0f7cab4337770 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:03 2015 +0200 x86/asm/tsc, staging/lirc_serial: Remove TSC-based timing It wasn't compiled in by default. I suspect that the driver was and still is broken, though -- it's calling udelay with a parameter that's derived from loops_per_jiffy. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: Jarod Wilson <jarod@xxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/c95df47c5405b494d19d20b2852a9378c9f661f3.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e18d1f8df176527332761ac29ee3097f8584c478 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:02 2015 +0200 x86/asm/tsc, drivers/net/hamradio/baycom_epp: Replace rdtscl() with native_read_tsc() This is only used if BAYCOM_DEBUG is defined. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Thomas Sailer <t.sailer@xxxxxxxxxxxxxx Acked-by: Walter Harms <wharms@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1195ce0c7f34169ff3006341b77806184a46b9bf.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3796366614598e48edf0561b86f18c230a7debc8 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:01 2015 +0200 x86/asm/tsc, x86/cpu/amd: Use the full 64-bit TSC to detect the 2.6.2 bug This code is timing 100k indirect calls, so the added overhead of counting the number of cycles elapsed as a 64-bit number should be insignificant. Drop the optimization of using a 32-bit count. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d58f339a9c0dd8352b50d2f7a216f67ec2844f20.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9cfa1a0279e22063a727fd204a75cf3672860d83 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:00 2015 +0200 x86/asm/tsc: Use the full 64-bit TSC in delay_tsc() As a very minor optimization, delay_tsc() was only using the low 32 bits of the TSC. It's a delay function, so just use the whole thing. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/bd1a277c71321b67c4794970cb5ace05efe21ab6.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ec69de52c648b1d9416a810943e68dbe9fe519f4 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:43:59 2015 +0200 x86/asm/tsc: Remove the rdtscp() and rdtscpll() macros They have no users. Leave native_read_tscp() which seems potentially useful despite also having no callers. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/6abfa3ef80534b5d73898a48c4d25e069303cbe5.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 87be28aaf1458445d5f648688c2eec0f13b8f3b9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:43:58 2015 +0200 x86/asm/tsc: Replace rdtscll() with native_read_tsc() Now that the ->read_tsc() paravirt hook is gone, rdtscll() is just a wrapper around native_read_tsc(). Unwrap it. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d2449ae62c1b1fb90195bcfb19ef4a35883a04dc.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9261e050b686c9fe229cd9918d997b3caaf20e34 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:43:57 2015 +0200 x86/asm/tsc, x86/paravirt: Remove read_tsc() and read_tscp() paravirt hooks We've had ->read_tsc() and ->read_tscp() paravirt hooks since the very beginning of paravirt, i.e., d3561b7fa0fb ("[PATCH] paravirt: header and stubs for paravirtualisation"). AFAICT, the only paravirt guest implementation that ever replaced these calls was vmware, and it's gone. Arguably even vmware shouldn't have hooked RDTSC -- we fully support systems that don't have a TSC at all, so there's no point for a paravirt implementation to pretend that we have a TSC but to replace it. I also doubt that these hooks actually worked. Calls to rdtscl() and rdtscll(), which respected the hooks, were used seemingly interchangeably with native_read_tsc(), which did not. Just remove them. If anyone ever needs them again, they can try to make a case for why they need them. Before, on a paravirt config: text data bss dec hex filename 12618257 1816384 1093632 15528273 ecf151 vmlinux After: text data bss dec hex filename 12617207 1816384 1093632 15527223 eced37 vmlinux Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/d08a2600fb298af163681e5efd8e599d889a5b97.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 881d7bf843d7139c6dfbffdec4903b3354423c49 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:43:56 2015 +0200 x86/asm/tsc, kvm: Remove vget_cycles() The only caller was KVM's read_tsc(). The only difference between vget_cycles() and native_read_tsc() was that vget_cycles() returned zero instead of crashing on TSC-less systems. KVM already checks vclock_mode() before calling that function, so the extra check is unnecessary. Also, KVM (host-side) requires the TSC to exist. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20615df14ae2eb713ea7a5f5123c1dc4c7ca993d.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c6e5ca35c4685cd920b1d5279dbc9f4483d7dfd4 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:43:55 2015 +0200 x86/asm/tsc: Inline native_read_tsc() and remove __native_read_tsc() In the following commit: cdc7957d1954 ("x86: move native_read_tsc() offline") ... native_read_tsc() was moved out of line, presumably for some now-obsolete vDSO-related reason. Undo it. The entire rdtsc, shl, or sequence is only 11 bytes, and calls via rdtscl() and similar helpers were already inlined. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d05ffe2aaf8468ca475ebc00efad7b2fa174af19.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 35ca0ee49d2973976f89f07eb842782a39d20a14 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Jun 8 10:33:16 2015 +0200 dmaengine: at_xdmac: fix indentation Fix indentation. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c73e36b775a777abd67a1e15481923fcbd2040e1 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Jul 3 22:19:02 2015 +0200 x86/asm/entry/32: Replace RESTORE_RSI_RDI with open-coded 32-bit reads This doesn't change much, but uses shorter 32-bit insns: -48 8b 74 24 68 mov 0x68(%rsp),%rsi -48 8b 7c 24 70 mov 0x70(%rsp),%rdi -48 8b 54 24 60 mov 0x60(%rsp),%rdx +8b 54 24 60 mov 0x60(%rsp),%edx +8b 74 24 68 mov 0x68(%rsp),%esi +8b 7c 24 70 mov 0x70(%rsp),%edi and does the loads in pt_regs order. Since these are the only uses of RESTORE_RSI_RDI[_RDX], drop these macros. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435954742-2545-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a647828afc7d7d352aeb076dbc03bd952b09b1e3 Author: Niu,Bing <bing.niu@xxxxxxxxx> Date: Sat Jul 4 00:27:34 2015 +0800 drm/i915: Also perform gpu reset under execlist mode. It is found that i915 will not reset gpu under execlist mode when unload module. that will lead to some issues when unload/load module with different submission mode. e.g. from execlist mode to ring buffer mode via loading/unloading i915. Because HW is not in a reset state and registers are not clean under such condition. Signed-off-by: Niu,Bing <bing.niu@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9e00084750c0f0603ec8a6ff15e0bcf78b8202bd Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Jul 3 14:27:31 2015 +0100 drm/i915: Update WaFlushCoherentL3CacheLinesAtContextSwitch In this WA we need to set GEN8_L3SQCREG4[21:21] and reset it after PIPE_CONTROL instruction but there is a slight complication as this is applied in WA batch where the values are only initialized once. Dave identified an issue with the current implementation where the register value is read once at the beginning and it is reused; this patch corrects this by saving the register value to memory, update register with the bit of our interest and restore it back with original value. This implementation uses MI_LOAD_REGISTER_MEM which is currently only used by command parser and was using a default length of 0. This is now updated with correct length and moved to appropriate place. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0bf73c361f986a04af332600bf06476c8f481c5b Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jul 3 15:40:54 2015 -0300 drm/i915: protect FBC functions with FBC checks Now all the functions called by other files check whether FBC has been initialized. This allows us to drop the checks on the static functions. v2: - s/HAS_FBC/dev_priv->display.enable_fbc/ everywhere but the init function (Chris). Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c80ac8548d167dfb7affdb997d99d875bb1a28a3 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:13 2015 -0300 drm/i915: FBC doesn't need struct_mutex anymore Everything is covered either by fbc.lock or mm.stolen_lock, and intel_fbc.c is already responsible for grabbing the appropriate locks when it needs them. Reviewed-by: Chris wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b5e4b84d9f12b093780a4e90e51604c3b4706cde Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:12 2015 -0300 drm/i915: intel_unregister_dsm_handler() doesn't need struct_mutex So don't grab the lock before calling the function. Reviewed-by: Chris wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5abeca4ec5d425538b73af58076990823a744e2a Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:11 2015 -0300 drm/i915: intel_frontbuffer_flip_prepare() doesn't need struct_mutex So release the lock earlier. Reviewed-by: Chris wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 25ad93fd9f0513df41f70327cca19d51369f1674 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:10 2015 -0300 drm/i915: add the FBC mutex Make sure we're not going to have weird races in really weird cases where a lot of different CRTCs are doing rendering and modesets at the same time. With this change and the stolen_lock from the previous patch, we can start removing the struct_mutex locking we have around FBC in the next patches. v2: - Rebase (6 months later) - Also lock debugfs and stolen. v3: - Don't lock a single value read (Chris). - Replace lockdep assertions with WARNs (Daniel). - Improve commit message. - Don't forget intel_pre_plane_update() locking. v4: - Don't remove struct_mutex at intel_pre_plane_update() (Chris). - Add comment regarding locking dependencies (Chris). - Rebase after the stolen code rework. - Rebase again after drm-intel-nightly changes. v5: - Rebase after the new stolen_lock patch. Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> (v4) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 92e97d2f47616b144feb86db489e134935b021b8 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:09 2015 -0300 drm/i915: add dev_priv->mm.stolen_lock Which should protect dev_priv->mm.stolen usage. This will allow us to simplify the relationship between stolen memory, FBC and struct_mutex. v2: - Rebase after the stolen_remove_node() dev_priv patch move. - I realized that after we fixed a few things related to the FBC CFB size checks, we're not reallocating the CFB anymore with FBC enabled, so we can just move all the locking to i915_gem_stolen.c and stop worrying about freezing all the stolen alocations while freeing/rellocating the CFB. This allows us to fix the "Too coarse" observation from Chris. Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc786728ee8acc76e22769af3b2df67b94cd49b6 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:08 2015 -0300 drm/i915: move FBC code out of i915_gem_stolen.c With the abstractions created by the last patch, we can move this code and the only thing inside intel_fbc.c that knows about dev_priv->mm is the code that reads stolen_base. We also had to move a call to i915_gem_stolen_cleanup_compression() - now called intel_fbc_cleanup_cfb() - outside i915_gem_stolen.c. v2: - Rebase after the remove_node() changes on the previous patch. Requested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d713fd4976f2838ca2ebccdc187256edb46bd48e Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:07 2015 -0300 drm/i915: add simple wrappers for stolen node insertion/removal We want to move the FBC code out of i915_gem_stolen.c, but that code directly adds/removes stolen memory nodes. Let's create this abstraction, so i915_gme_stolen.c is still in control of all the stolen memory handling. The abstraction will also allow us to add locking assertions later. v2: - Add dev_priv as remove_node() argument since we'll need it later (Chris). Requested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0e06e5be70d392aa842c1455ec2d0baf62aeed48 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Fri Jun 19 11:50:01 2015 -0400 locking/qrwlock: Better optimization for interrupt context readers The qrwlock is fair in the process context, but becoming unfair when in the interrupt context to support use cases like the tasklist_lock. The current code isn't that well-documented on what happens when in the interrupt context. The rspin_until_writer_unlock() will only spin if the writer has gotten the lock. If the writer is still in the waiting state, the increment in the reader count will cause the writer to remain in the waiting state and the new interrupt context reader will get the lock and return immediately. The current code, however, does an additional read of the lock value which is not necessary as the information has already been there in the fast path. This may sometime cause an additional cacheline transfer when the lock is highly contended. This patch passes the lock value information gotten in the fast path to the slow path to eliminate the additional read. It also documents the action for the interrupt context readers more clearly. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Will Deacon <will.deacon@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434729002-57724-3-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f7d71f2052555ae57b47322f2c2f6c29ff2438ae Author: Waiman Long <Waiman.Long@xxxxxx> Date: Fri Jun 19 11:50:00 2015 -0400 locking/qrwlock: Rename functions to queued_*() To sync up with the naming convention used in qspinlock, all the qrwlock functions were renamed to started with "queued" instead of "queue". Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1434729002-57724-2-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3abebc55d70b6e3247d1f0e34c0bb906e40d2a18 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Jul 6 14:51:01 2015 +0300 perf record: Let user have timestamps with per-thread recording If the option -T is used with option --per-thread, then time is still not sampled. Fix that by using OPT_BOOLEAN_SET to distinguish when the user used the -T option as opposed to the default case when timestamps are enabled but only for per-cpu recording. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436183461-1918-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 200802a4a79b3a7a1cf924ad870d3265023d0787 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 4 07:44:22 2015 +0200 perf probe: Delete an unnecessary check before the function call "strfilter__delete" The strfilter__delete() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: kernel-janitors@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/5597751A.5000506@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 19867b6186f3fd38be65d86e20ef6f49d0caaa0b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Jul 4 12:44:59 2015 -0300 perf trace: Use event filters for the event qualifier list We use raw_syscalls:sys_{enter,exit} events to show the syscalls, but were using a rather lazy/inneficient way to implement our 'strace -e' equivalent: filter out after reading the events in the ring buffer. Deflect more work to the kernel by appending a filter expression for that, that, together with the pid list, that is always present, if only to filter the tracer itself, reduces pressure on the ring buffer and otherwise use infrastructure already in place in the kernel to do early filtering. If we use it with -v we can see the filter passed to the kernel, for instance, for this contrieved case: # trace -v -e \!open,close,write,poll,recvfrom,select,recvmsg,writev,sendmsg,read,futex,epoll_wait,ioctl,eventfd --filter-pids 2189,2566,1398,2692,4475,4532 <SNIP> (common_pid != 2514 && common_pid != 1398 && common_pid != 2189 && common_pid != 2566 && common_pid != 2692 && common_pid != 4475 && common_pid != 4532) && (id != 3 && id != 232 && id != 284 && id != 202 && id != 16 && id != 2 && id != 7 && id != 0 && id != 45 && id != 47 && id != 23 && id != 46 && id != 1 && id != 20) 0.011 (0.011 ms): caribou/2295 eventfd2(flags: CLOEXEC|NONBLOCK) = 18 16.946 (0.019 ms): caribou/2295 eventfd2(flags: CLOEXEC|NONBLOCK) = 18 38.598 (0.167 ms): chronyd/794 socket(family: INET, type: DGRAM ) = 4 38.603 (0.002 ms): chronyd/794 fcntl(fd: 4<socket:[239307]>, cmd: GETFD) = 0 38.605 (0.001 ms): chronyd/794 fcntl(fd: 4<socket:[239307]>, cmd: SETFD, arg: 1) = 0 ^C # Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ti2tg18atproqpguc2moinp6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 64ec84f5f96ea1d043c01e32e49e45286c6f4160 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Jul 4 12:19:13 2015 -0300 perf evsel: Introduce append_filter() method To allow building filters in evsel->filter, that will eventually be applied via perf_evsel__apply_filter(). Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-sjfoes3pycx7nlpmgedca13v@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 94ad89bc8a61b79c416c180c51b3e61ac16f6124 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 3 17:42:03 2015 -0300 perf evlist: Make perf_evlist__set_filter use perf_evsel__set_filter Instead of calling perf_evsel__apply_filter straight away, so that we can, in the next patches, expand the filter with more conditions before actually calling the ioctl to pass the end result filter to the kernel. Now we need to call perf_evlist__apply_filters() after the filter is completely setup, i.e. do the ioctl calls. The perf_evlist__apply_filters() method was already in place, because that is the model for the other tools that receives filters in the command line: go on setting then in the evsel->filter and only at the end, after parsing the whole command line, apply them. We get, as a bonus, a more expressive message that states which event, if any, failed to have the filter applied to, with an error message stating what happened. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-f429pgz75ryz7tpe6v74etre@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 12467ae4e37aab5e263cc9ab6b6909ae0588844c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 3 17:05:50 2015 -0300 perf evsel: Introduce set_filter method Replaces existing filter string with the one provided. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jst49z83li0yx3g18o54u51a@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f47805a2af3ba83881ca52434bbbc6e9886b72fd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 3 15:53:49 2015 -0300 perf evsel: Rename set_filter to apply_filter We need to be able to go on constructing a complex filter in multiple stages, since we can only set one filter per event. For instance, we need to be able, in 'perf trace' to filter by the 'common_pid' field all the time, if only for the tracer itself, to avoid a feedback loop, and, in addition, we may want to filter the raw_syscalls:sys_{enter,exit} events by its 'id' filter, when using 'perf trace -e open,close' or 'perf trace -e !open,close', i.e. when we are interested in just a subset of syscalls or when we are not interested in it. So we will have: perf_evsel__set_filter(evsel, char *filter) Replaces whatever is in evsel->filter. perf_evsel__append_filter(evsel, const char *op, char *filter) Appends, using op ("&&" or "||") with what is in evsel->filter. perf_evsel__apply_filter(evsel, filter): That actually applies a filter, be it the one being constructed in evsel->filter, or any other, for tools with more specific ways to build the filter, issuing the appropriate ioctl for all the evsel fds. The same changes will be made to the evlist__{set,apply} variants to keep everything consistent. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2s5z9xtpnc2lwio3cv5x0jek@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8b3ce7576598b8e3b746beb9e8d10c33bcc64edd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Jul 2 18:28:11 2015 -0300 perf trace: Store the syscall ids for the event qualifiers in a table That we will use to set a filter on raw_syscalls:sys_{enter,exit} events. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2acxrcxyu7tlolrfilpty38y@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c27366f0f9dac552251a92453e4dc65164d530d4 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Jul 2 18:24:51 2015 -0300 perf trace: Remember what are the syscalls tracepoint evsels We will need to set filters on then. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-u8hpgjpf3w8o1prnnjnwegwf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 93ec4ce789995c5c58dff82193b3ec77caa8aecb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Jul 2 17:48:23 2015 -0300 perf tools: Asprintf like functions to format integer filter expression char *asprintf_expr_in_ints(const char *var, size_t nints, int *ints); char *asprintf_expr_not_in_ints(const char *var, size_t nints, int *ints); Example of output formatted with those functions: # ./tp_filter 6 12 2015 asprintf_expr_in_ints: id == 6 || id == 12 || id == 2015 asprintf_expr_not_in_ints: id != 6 && id != 12 && id != 2015 # It'll be used with, for instance, perf_evsel__set_filter_in_ints(), that will be used in turn to ask the kernel to filter out all raw_syscalls:* except for the ones specified by the user via: $ perf trace -e some,list,of,syscalls Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jt07vfp6bd8y50c05j1t7hrn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb9b608706c21cb7c748dcea7fa493344857f505 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 20 17:40:10 2015 +0200 ARM: dts: sun6i: Enable otg controller on the cs908 The cs908 has the otg controller connected to one of the 2 usb-A receptacles it has on the front, so enable the otg controller in host-only mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2433d82b6c9a3b3ec2ef68ef3360b8361d2d1a29 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 20 17:40:09 2015 +0200 ARM: dts: sun4i: Enable otg controller on the mini-x The mini-x has the otg controller connected to one of the 2 usb-A receptacles it has on the front, so enable the otg controller in host-only mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ccef71cc6ae1b1bda3fc2f27493ea831edd6caaa Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 20 17:40:08 2015 +0200 ARM: dts: sun4i: Enable otg controller on the ba10-tvbox The ba10-tvbox has the otg controller connected to one of the 2 usb-A receptacles it has on the front, so enable the otg controller in host-only mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b5977f389d9ec7b5ffdc37ca6f2266e05295a552 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 20 17:40:07 2015 +0200 ARM: dts: sunxi: Add regulator-boot-on to usb host port regulator nodes u-boot will have turned on the power to the usb host ports, so mark them as regulator-boot-on, this stops the power on the ports from temporarily getting turned off during boot, causing issues with e.g. usb powered harddisks. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 0760bacef728f6c980278188a5aac7f0fbe8bed8 Author: Karsten Merker <merker@xxxxxxxxxx> Date: Tue Jun 23 19:02:29 2015 +0200 devicetree: Add msi to the vendor-prefix list Document the the "msi" (Micro-Star International Co. Ltd.) vendor prefix which is used in sun6i-a31s-primo81.dts. Signed-off-by: Karsten Merker <merker@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 88651aebd276f272f34f2459d1eb2a86413aaabc Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat May 30 16:55:06 2015 +0200 ARM: sun8i: dts: Add Ippo-q8h v1.2 with A33 The Ippo-q8h is a tablet circuit board commonly found in cheap Android tablets. The v1.2 version can be used with either an A23 or A33 SoC. This version features 512 MB DRAM, 4G NAND, MMC, LCD, capacitive touchscreen, accelerometer, 2 camera sensors, USB OTG, microphone and speakers. i2c0 is connected to the gsl1680 capacitive touch panel controller, i2c1 is connected to an mma7660 3-axis accelerometer, these peripherals are not supported by the kernel yet, i2c bus functionality has been tested via i2c-dev. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> [maxime: Removed the resolution mention, and modified the compatible to have a unique one with the A23 version] Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c077132b2829efecbc6b052fb0f3aa793c054ab8 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Jun 2 20:29:12 2015 +0800 ARM: dts: sun8i: sina33: Enable USB hosts The Sina33 SDK board exposes the EHCI/OHCI USB host pair. VBUS for this port is always on and non-controllable. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c43fa32143a1e4fba3f988ca116710b652c68077 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Jun 2 21:47:58 2015 +0200 ARM: dts: sun8i: Enable USB host on GA10H-A33 tablets The GA10H tablets not only have an otg connector, but also a normal usb host connector, enabled support for this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4e2066ed71c0d07421baa60567b1ebfb5894e10c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Jun 2 18:58:34 2015 +0200 ARM: dts: sun8i: Enable USB DRC on GA10H-A33 tablets Enable the otg controller on GA10H-A33 tablets, for now it is enabled in host-only mode, because true OTG support requires support for detecting and enabling Vbus through the axp221 pmic. For this to work the Vbus on the port must be enabled by u-boot, or a powered hub must be used. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit a85b59c14d4082abcf27f63994e900dd00b5e572 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Jun 1 20:08:59 2015 +0200 ARM: dts: sun8i: Enable USB DRC on Ippo Q8H-A23 tablets Enable the otg controller on Ippo Q8H tablets, for now it is enabled in host-only mode, because true OTG support requires support for detecting and enabling Vbus through the axp221 pmic. For this to work the Vbus on the port must be enabled by u-boot, or a powered hub must be used. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 14b7289828c44343e69cae8194d9e4ce121da1f6 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue May 19 12:33:58 2015 +0200 ARM: dts: sun7i: Enable USB DRC on A20-OLinuxIno-Micro Enable the otg/drc usb controller on the A20-OLinuxIno-Micro. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d7a99f6bb625e7d0a256bc6e3d4538669ea22f27 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Mar 7 17:56:40 2015 +0100 ARM: dts: sun7i: Enable USB DRC on A20-OLinuxIno-Lime Enable the otg/drc usb controller on the A20-OLinuxIno-Lime. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d3c23bac7fde7ad93c6d46ea37b38c8f8ba0f699 Author: Roman Byshko <rbyshko@xxxxxxxxx> Date: Tue Oct 21 00:31:04 2014 +0200 ARM: dts: sun7i: Enable USB DRC on Cubietruck Enable the otg/drc usb controller on the cubietruck. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 09fa35ea2cb477992fc342daebe6fcbb8b829415 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Jun 1 16:55:55 2015 +0200 ARM: dts: sun6i: Enable USB DRC on the Mele A1000G quad The Mele A1000G-quad has an usb to sata bridge connected to its otg controller, this commit enables support for this. Since the otg is hardwired to the sata bridge it gets enabled in host only mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2354570da880df63da11176b5febf15648377a57 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Feb 16 21:55:47 2015 +0100 ARM: dts: sun5i: Enable USB DRC on UTOO P66 Enable the OTG controller on the UTOO P66 tablet. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c68d23ce258ce5ffaa5ef7bba79ced4e6e1b5421 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jun 5 13:35:28 2015 +0200 ARM: dts: sun4i: Enable USB DRC on the Cubieboard Enable the otg/drc usb controller on the Cubieboard. Note that the 5V of the otg is directly connected to the general 5V, so we only use the id pin. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit a40d6f243eda177614df1f42cd9ad837c645e7d8 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Mar 5 17:08:13 2015 +0100 ARM: dts: sun4i: Enable USB DRC on Chuwi V7 CW0825 Enable the otg/drc usb controller on the Chuwi V7 CW0825 tablet. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit e385c09c0a64d2f440186be906e92cfb1cabfb7b Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Jun 2 20:29:11 2015 +0800 ARM: dts: sun8i: Add support for USB controllers on A23/A33 A23/A33 has one pair of EHCI/OHCI USB controllers. There are 2 USB PHYs, one for the USB OTG controller, one for the EHCI/OHCI pair. The latter may also support HSIC, though none of the available boards utilize this, so this is not supported yet. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4f8449b1baed5c4f6c577f1f5ef6918886583fc5 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Jun 2 15:37:32 2015 +0200 ARM: dts: sun8i: Add A33 usb-phy and otg nodes Note these are added to the sun8i-a33.dtsi file rather then to the shared sun8i-a23-a33.dtsi file as both the phy and the otg controller on the a33 are slightly different. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5c4f81c1b436ade8dfcec82a47a15310c9456415 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Jun 1 19:27:34 2015 +0200 ARM: dts: sun8i: Add A23 usb-phy and otg nodes Note these are added to the sun8i-a23.dtsi file rather then to the shared sun8i-a23-a33.dtsi file as both the phy and the otg controller on the a33 are slightly different. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cbb3ff1d9ce35731ea51c9118e94c7ab14025437 Author: Roman Byshko <rbyshko@xxxxxxxxx> Date: Wed Oct 22 00:14:03 2014 +0200 ARM: dts: sun7i: Add USB Dual Role Controller Add a node for the otg/drc usb controller to sun7i-a20.dtsi Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d208eaf23217548e08fe31a797cdb654e0ccc94b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Jun 1 13:29:49 2015 +0200 ARM: dts: sun6i: Add USB Dual Role Controller Add a node for the otg/drc usb controller to sun6i-a31.dtsi. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 482f178cc1e4de0768372cbf7fba206fec2179ac Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Feb 16 19:35:36 2015 +0100 ARM: dts: sun5i: Add USB Dual Role Controller Add a node for the otg/drc usb controller to sun5i-a1*.dtsi. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ce65037fb2a3c4f98f304833bb0ef7037ca494b2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Feb 3 19:17:35 2015 +0100 ARM: dts: sun4i: Add USB Dual Role Controller Add a node for the otg/drc usb controller to sun4i-a10.dtsi. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8783b9c50400c6279d7c3b716637b98e83d3c933 Author: Nibble Max <nibble.max@xxxxxxxxx> Date: Mon Jun 29 11:09:42 2015 -0300 [media] SMI PCIe IR driver for DVBSky cards Ported from the manufacturer's source tree, available from http://dvbsky.net/download/linux/media_build-bst-150211.tar.gz This is the second patch after a public review. [mchehab@xxxxxxxxxxxxxxx: fix inconsistent identing warning] Signed-off-by: Dirk Nehring <dnehring@xxxxxxx> Reviewd-by: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f459aec2bc81a46b674901424295f8ffe5e29ad0 Author: David Härdeman <david@xxxxxxxxxxx> Date: Tue May 19 19:03:27 2015 -0300 [media] lmedm04: NEC scancode cleanup This changes the keymap back to the state before commit 616a4b83 and changes the driver to use full NEC32 scancodes following the instructions provided by Malcolm Priestley <tvboxspy@xxxxxxxxx>. Signed-off-by: David Härdeman <david@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 275ddb40bcf686d210d86c6718e42425a6a0bc76 Author: David Härdeman <david@xxxxxxxxxxx> Date: Tue May 19 19:03:22 2015 -0300 [media] rc-core: remove the LIRC "protocol" The LIRC protocol was always a bad fit and if we're ever going to expose protocol numbers in a user-space API, it'd be better to get rid of the LIRC "protocol" first. The sysfs API is kept backwards compatible by always listing the lirc protocol as present and enabled. Signed-off-by: David Härdeman <david@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fcb13097867757d360d5226d36ed3ffe849dc3ae Author: David Härdeman <david@xxxxxxxxxxx> Date: Tue May 19 19:03:17 2015 -0300 [media] rc-core: use an IDA rather than a bitmap This patch changes rc-core to use the kernel facilities that are already available for handling unique numbers instead of rolling its own bitmap stuff. Signed-off-by: David Härdeman <david@xxxxxxxxxxx> Tested-by: Stefan Lippers-Hollmann <s.l-h@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a66b0c41ad277ae62a3ae6ac430a71882f899557 Author: David Härdeman <david@xxxxxxxxxxx> Date: Tue May 19 19:03:12 2015 -0300 [media] rc-core: fix remove uevent generation The input_dev is already gone when the rc device is being unregistered so checking for its presence only means that no remove uevent will be generated. Cc: stable@xxxxxxxxxx Signed-off-by: David Härdeman <david@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2a1e91a1595f4dec14ab16d63c6348d8fa159911 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jul 3 09:12:54 2015 -0300 [media] sh_vou: declare static functions as such drivers/media/platform/sh_vou.c:799:5: warning: no previous prototype for 'sh_vou_g_output' [-Wmissing-prototypes] int sh_vou_g_output(struct file *file, void *fh, unsigned int *i) ^ drivers/media/platform/sh_vou.c:805:5: warning: no previous prototype for 'sh_vou_s_output' [-Wmissing-prototypes] int sh_vou_s_output(struct file *file, void *fh, unsigned int i) ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bf9c82278c348eb6b72496de6a3e5269aadb6b34 Author: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Date: Wed Jun 3 10:59:53 2015 -0300 [media] media: adv7604: ability to read default input port from DT Adds support to the adv7604 driver for specifying the default input port in the Device tree. If no value is provided, the driver will be unable to select an input without help from userspace. Tested-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6a219f15a86812a226d197aa93b2806e9cecda7c Author: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Date: Wed Jun 3 10:59:52 2015 -0300 [media] media: adv7604: document support for ADV7612 dual HDMI input decoder This documentation accompanies the patch adding support for the ADV7612 dual HDMI decoder / repeater chip. Signed-off-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Reviewed-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8331d30bf0ccf179c3d03d968c9ae1c8f06eafc4 Author: William Towle <william.towle@xxxxxxxxxxxxxxx> Date: Wed Jun 3 10:59:51 2015 -0300 [media] media: adv7604: chip info and formats for ADV7612 Add support for the ADV7612 chip as implemented on Renesas' Lager board to adv7604.c, including lists for formats/colourspace/timing selection and an IRQ handler. Signed-off-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: fix merge conflicts due to regmap patch] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f862f57dae5f0555552256b67f5bfd523f97a736 Author: Pablo Anton <pablo.anton@xxxxxxxxxxxx> Date: Fri Jun 19 10:23:06 2015 -0300 [media] media: i2c: ADV7604: Migrate to regmap This is a preliminary patch in order to add support for ALSA. It replaces all current i2c access with regmap. Signed-off-by: Pablo Anton <pablo.anton@xxxxxxxxxxxx> Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 250121d348645675f5ade7e7ebe3fc6b46a9a2c0 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Jun 3 10:59:50 2015 -0300 [media] media: adv7180: add of match table Add a proper of match id for use when the device is being bound via device tree, to avoid having to use the i2c old-style binding of the device. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: William.Towle <william.towle@xxxxxxxxxxxxxxx> Reviewed-by: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c046707ff99912878ba63db5f2f2e2916ca961ce Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:41 2015 -0300 [media] DocBook/media: fix bad spacing in VIDIOC_EXPBUF The VIDIOC_EXPBUF documentation had spurious spaces that made it irritating to read. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4c34cc5e0f99ced4c7a11d49007bf7a90e2fae7a Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:11 2015 -0300 [media] media/i2c/sr030pc30: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0b3474f0f61b21fc7f4d2a203cbcc2599a4d3aef Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Jun 8 03:20:15 2015 -0300 [media] sh-vou: add support for log_status Dump the VOU registers in log_status. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 57af3ad59d953f300a1fcb143e72d024aff73550 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:58:05 2015 -0300 [media] sh-vou: convert to vb2 This converts this driver to videobuf2. As usual it is a big and hard to review patch, but this is always a big-bang change. It has been tested with my Renesas board. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5c3edcb225d6690000c2563c573984042747b28d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:58:04 2015 -0300 [media] sh-vou: fix bytesperline The bytesperline values were wrong for planar formats where bytesperline is the line length for the first plane. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 66853ec4e1d096efe406383adc219285e5516af4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:58:03 2015 -0300 [media] sh-vou: let sh_vou_s_fmt_vid_out call sh_vou_try_fmt_vid_out This ensures that both do the same checks, and simplifies s_fmt_vid_out a bit. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 61fbacc115731d2b0435f959f94ff7eb8c3c1059 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:58:01 2015 -0300 [media] sh-vou: replace g/s_crop/cropcap by g/s_selection Implement g/s_selection. The v4l2 core will emulate g/s_crop and cropcap on top of g/s_selection. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 22df2e7a390f6cb31c6a5b0d8051d0ec83769ed1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:58:00 2015 -0300 [media] sh-vou: fix incorrect initial pixelformat It was set to a format that wasn't supported. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4de00d0efe0a7af8e2ef591effa2a559b7cc38a3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:57:59 2015 -0300 [media] sh-vou: support compulsory G/S/ENUM_OUTPUT ioctls Video output drivers must support these ioctls. Otherwise applications cannot deduce that these outputs exist and what capabilities they have. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5f98085bf3f1d645aaf76eac7c9ca0e2ab684c6 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:57:58 2015 -0300 [media] sh-vou: use v4l2_fh This allows us to drop the use_count and you get free G/S_PRIORITY support. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d8046ee09f843cb314a660f589a334bce84a7efa Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:57:57 2015 -0300 [media] sh-vou: fix querycap support Fix v4l2-compliance errors due to empty driver and bus_info fields. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4690271ce14cd4cf4796e0b6631978d151abe8e4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:57:56 2015 -0300 [media] sh-vou: use resource managed calls Simplify the sh-vou clean up by using devm_* were possible. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Magnus Damm <damm@xxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 41bdc3cf81c4d0f0dfe09f06ff203dd59d422f37 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jul 3 08:35:51 2015 -0300 [media] vsp1: declar vsp1_pipeline_stopped() as static drivers/media/platform/vsp1/vsp1_video.c:517:6: warning: no previous prototype for 'vsp1_pipeline_stopped' [-Wmissing-prototypes] bool vsp1_pipeline_stopped(struct vsp1_pipeline *pipe) ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e36f1b19e80dfd89d56a5af8f4b20d2fc170c3fe Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:57:55 2015 -0300 [media] clock-sh7724.c: fix sh-vou clock identifier Bitrot has set in for this driver and the sh-vou clock was never enabled, since the clock name in clock-sh7724.c was wrong. It should be sh-vou, not sh-vou.0. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Thanks-to: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Magnus Damm <damm@xxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 85a0638b7855dfb00dc9b66bc2fdd4276d7dc87c Author: Damian Hobson-Garcia <dhobsong@xxxxxxxxxx> Date: Thu May 28 09:59:39 2015 -0300 [media] v4l: vsp1: Align crop rectangle to even boundary for YUV formats Make sure that there are valid values in the crop rectangle to ensure that the color plane doesn't get shifted when cropping. Since there is no distinction between 12bit and 16bit YUV formats in at the subdev level, use the more restrictive 12bit limits for all YUV formats. Signed-off-by: Damian Hobson-Garcia <dhobsong@xxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1c991fee30c72ff49bb96558d5f1c14a60230677 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Apr 29 16:54:39 2015 -0300 [media] v4l: vsp1: Fix race condition when stopping pipeline When stopping the pipeline the driver waits for the pipeline state to be set to VSP1_PIPELINE_STOPPED but fails to lock the pipe irqlock to read the state variable protected by the lock. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 139c92866e34bfa4897e644b36147fc86cc7a7a1 Author: Sei Fumizono <sei.fumizono.jw@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Mar 15 11:33:07 2015 -0300 [media] v4l: vsp1: Fix Suspend-to-RAM Fix Suspend-to-RAM so that VSP1 driver continues to work after resuming. In detail, - Fix the judgment of ref count in resuming. - Add stopping VSP1 during suspend. [Refactor the suspend and resume code to lower suspend delay] Signed-off-by: Sei Fumizono <sei.fumizono.jw@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Yoshifumi Hosoya <yoshifumi.hosoya.wj@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 45008ee9295b3ae96d7413ab91871907a671ca82 Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Wed Jan 28 22:53:55 2015 -0200 [media] v4l: vsp1: Fix VI6_DPR_ROUTE_FXA_MASK macro FXA bit of VI6_DPR_mod_ROUTE register starts from 16bit. But VI6_DPR_ROUTE_FXA_MASK is set to become start from 8bit. This fixes shift size for VI6_DPR_ROUTE_FXA_MASK. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1aa7890324b497f96f07c20673fae58f26fabfe7 Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Wed Jan 28 22:53:54 2015 -0200 [media] v4l: vsp1: Fix VI6_DPR_ROUTE_FP_MASK macro FP bit of VI6_DPR_mod_ROUTE register is 6bit. But VI6_DPR_ROUTE_FP_MASK is set to 0xFF, this will mask until the reserve bit. This fixes size for VI6_DPR_ROUTE_FP_MASK. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 03b36e4dcf422a10da8b67bce2ed00b34ec58aac Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Wed Jan 28 22:53:53 2015 -0200 [media] v4l: vsp1: Fix VI6_WPF_SZCLIP_SIZE_MASK macro Clipping size bit of VI6_WPFn _HSZCLIP and VI6_WPFn _VSZCLIP register are from 0 bit to 11 bit. But VI6_WPF_SZCLIP_SIZE_MASK is set to 0x1FFF, this will mask until the reserve bits. This fixes size for VI6_WPF_SZCLIP_SIZE_MASK. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 63f2f417526fc54191f2b813f72dc1d5322bede8 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Jun 7 11:34:40 2015 -0300 [media] gscpa_m5602: use msecs_to_jiffies for conversions API compliance scanning with coccinelle flagged: ./drivers/media/usb/gspca/m5602/m5602_s5k83a.c:180:9-25: WARNING: timeout (100) seems HZ dependent Numeric constants passed to schedule_timeout() make the effective timeout HZ dependent which makes little sense in a polling loop for the cameras rotation state. Fixed up by converting the constant to jiffies with msecs_to_jiffies() Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0a2a89c4acbf2ede9cdcc51d7113091978079b7b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jun 4 05:52:26 2015 -0300 [media] gspca: sn9c2028: remove an unneeded condition We already know status is negative because of the earlier check so there is no need to check again. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 387a69243890a51be023aef12d0fdcae343f43f2 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:18 2015 -0300 [media] media/radio/saa7706h: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 59617e74e20dac9523e34f5461162b19347dacf8 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:17 2015 -0300 [media] pci/ivtv/ivtv-gpio: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c2527967c5795815d3422f147af767293b3806eb Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:16 2015 -0300 [media] i2c/wm8739: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5f24bc3267b3651e8bb026a5669dfe6855ffe63 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:15 2015 -0300 [media] media/i2c/tvp7002: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e5b40d2e11c3e2ed60ecb70313765d48c7786448 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:14 2015 -0300 [media] media/i2c/tvp514x: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8b198c6b8b65ef39c3652972c36a43e04b4482dd Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:13 2015 -0300 [media] media/i2c/tlv320aic23: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fc1a33fed0274efefbfc5f463a69efbaee4d989f Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:12 2015 -0300 [media] media/i2c/tda7432: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3cfa008e3cafa90684f84abbfb995cec437a61ea Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:10 2015 -0300 [media] media/i2c/saa717x: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6ceea1f7d021492ed13609fa1cf401484dae0e0d Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:09 2015 -0300 [media] media/i2c/cs5345: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 260faaa490d29cd2ad3cad54fbda0ede406c818e Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:08 2015 -0300 [media] media/i2c/adv7393: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 747d481df3b9b6ef46ccb233d74c8d93ec4819e6 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:07 2015 -0300 [media] media/i2c/adv7343: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 227da85e775065c81e222f443e8379aba4d3f668 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Fri Jun 12 08:48:10 2015 -0300 [media] v4l2-dv-timings: print refresh rate with better precision In many cases, refresh rate is not exact integer. In such cases, fraction was lost and it used to print, say, 59 in case of 59.94. Now, capturing the fraction up to 2 decimal places. Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4366dfef377034e97d5b35677b7a1ebb1f1ce6dc Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Wed Jun 10 10:38:29 2015 -0300 [media] media/v4l2-ctrls: Code cleanout validate_new() We can simplify the code removing the if(). v4l2_ctr_new sets ctrls->elems to 1 when !ctrl->is_ptr. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4a99362da734dfdcca5035dfa15b9f3708f1f8a4 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue May 26 06:54:47 2015 -0300 [media] atmel-isi: remove mck backward compatibility code The master clock should be handled by sensor itself. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f3745a3af521d403d4c174e4bad0986e11f4d2f1 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue May 26 06:54:46 2015 -0300 [media] atmel-isi: add runtime pm support The runtime pm resume/suspend will enable/disable pclk (ISI peripheral clock). We have to call runtime_pm_get_sync()/runtime_pm_put() when we need to access ISI registers. In atmel_isi_probe(), remove the isi disable code as at that moment ISI peripheral clock is not enable yet. Besides, clock_start()/clock_stop() is used to control the mclk, not the ISI peripheral clock. So move this to start[stop]_streaming() function. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8c0378354709058bba3319bb58fd04bd09e1eaa6 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue May 26 06:54:45 2015 -0300 [media] atmel-isi: disable ISI even if it has codec request In current code, stop_streaming() will just return if ISI is still working in the codec. But this is incorrect, we need to disable ISI even it is working on the codec, otherwise stop_streaming() will not work as we expected. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 408131b85509902b100f7045484c7377a40be99d Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Apr 12 09:09:05 2015 -0300 [media] v4l: omap4iss: Remove video node crop support Cropping should be configured on the pipeline subdev nodes, not through the video nodes. Remove crop support on all video nodes. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 44f4294d5ee58ba3f9dcc0da4cc545c21328eb10 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Apr 12 09:09:05 2015 -0300 [media] v4l: omap4iss: Enable driver compilation as a module Now that the driver doesn't use the non-exported omap4_ctrl_pad_readl and omap4_ctrl_pad_writel functions nothing prevents it from being compiled as a module anymore. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9d39f05490115bf145e5ea03c0b7ec9d3d015b01 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Fri Jun 12 20:06:23 2015 -0300 [media] v4l: omap3isp: Fix sub-device power management code Commit 813f5c0ac5cc ("media: Change media device link_notify behaviour") modified the media controller link setup notification API and updated the OMAP3 ISP driver accordingly. As a side effect it introduced a bug by turning power on after setting the link instead of before. This results in sub-devices not being powered down in some cases when they should be. Fix it. Fixes: 813f5c0ac5cc [media] media: Change media device link_notify behaviour Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx # since v3.10 Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5d479386983c5f1bb1aff4f88a027b6143f88a39 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Tue May 19 20:08:05 2015 -0300 [media] v4l: omap3isp: Fix async notifier registration order The async notifier was registered before the v4l2_device was registered and before the notifier callbacks were set. This could lead to missing the bound() and complete() callbacks and to attempting to spin_lock() and uninitialised spin lock. Also fix unregistering the async notifier in the case of an error --- the function may not fail anymore after the notifier is registered. Fixes: da7f3843d2c7 ("[media] omap3isp: Add support for the Device Tree") Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9aee1ae3312daf0de4c9c614680d06d557133317 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat May 16 15:11:40 2015 -0300 [media] media: uapi: vsp1: Use __u32 instead of u32 Don't use the kernel types in uapi headers. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1b3b384177b2de010833fefffac6af3d6ffbdfed Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Jun 12 03:52:54 2015 -0300 [media] v4l2-dv-timings: log if the timing is reduced blanking V2 The last CVT standard introduced reduced blanking version 2 which is signaled by a vsync of 8. Log this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5fea1bb703c360f323c62f6d34b5e947d0590e80 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Wed Jun 10 13:51:42 2015 -0300 [media] v4l2-dv-timings: add support for reduced blanking v2 Added support for reduced blanking version 2 (RB v2) in cvt timings. Standard specifies a fixed vsync pulse of 8 lines to indicate RB v2 timings. Vertical back porch is fixed at 6 lines and vertical front porch is remainder of vertical blanking time. For RB v2, horizontal blanking is fixed at 80 pixels. Horizontal sync is fixed at 32. All horizontal timing counts (active pixels, front, back porches) can be specified upto a precision of 1. RB v2 allows for non standard aspect ratios. In RB v2 vsync does not indicate aspect ratio. In absence of aspect ratio v4l2_detect_cvt() cannot calculate image width from image height. Hence extending the v4l2_detect_cvt() to pass image width in case of RB v2. Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 30533ad10b7c3d7c05b757382aee28458167ab75 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:33:45 2015 -0300 [media] btcx-risc: use swap() in btcx_sort_clips() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f47c183c20d845af9d747fc1e5b7dbd9c3871e05 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:32:50 2015 -0300 [media] saa6588: use swap() in saa6588_i2c_poll() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2bb00da1484073342a1f3e9f846ac0ad8dc6314d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:32:41 2015 -0300 [media] saa7146: use swap() in sort_and_eliminate() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 453f847ef2e445a7b1fe6cbe35d36a06c60f58a5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:32:39 2015 -0300 [media] wl128x: use swap() in fm_rdsparse_swapbytes() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fd7524294ccaa6168593042121e3bbd26a529fd5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:32:33 2015 -0300 [media] v4l2-dv-timings: use swap() in v4l2_calc_aspect_ratio() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cfcffe397fae05d6193bbb0dc87a7148323bf3fb Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Jun 9 10:54:53 2015 -0300 [media] rc/Kconfig: fix indentation problem The RC_ST and IR_SUNXI entries have weird indentation, and the RC_ST entry is actually malformed. Fix it. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e6cf0c409b40349f46427f9fc56f6ce4ec640a5d Author: Jan Roemisch <maxx@xxxxxxxxxxxxx> Date: Tue Jun 9 08:44:33 2015 -0300 [media] radio-bcm2048: Fix region selection This patch fixes region selection for lower bottom_frequency in BCM2048 FM receiver. It also removes "Japan wide band" region since this is impossible to do just like that. Signed-off-by: Jan Roemisch <maxx@xxxxxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d9b8252202a4cc60a6c5d4fb237d2bd99680e00f Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Mon Jun 8 10:50:22 2015 -0300 [media] SOLO6x10: Remove dead code solo_dev and pdev cannot be NULL here. It doesn't matter if we initialized the PCI device or not. Signed-off-by: Krzysztof Ha?asa <khalasa@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e1ceb25a1569ce5b61b9c496dd32d038ba8cb936 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Mon Jun 8 10:42:24 2015 -0300 [media] SOLO6x10: remove unneeded register locking and barriers readl() and writel() are atomic, we don't need the spin lock. Also, flushing posted write buffer isn't required. Especially on read :-) Signed-off-by: Krzysztof Ha?asa <khalasa@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dd43a6278a9dbda46f56782b54a7a59216a87d23 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Mon Jun 8 10:37:15 2015 -0300 [media] SOLO6x10: unmap registers only after free_irq() Fixes a panic on ARM. Diagnosis by Russell King. Signed-off-by: Krzysztof Ha?asa <khalasa@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9d1b1f61a49c66145ebbf2844124987118e65632 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Mon Jun 8 10:35:05 2015 -0300 [media] SOLO6x10: Fix G.723 minimum audio period count The period count is fixed, don't confuse ALSA. Signed-off-by: Krzysztof Ha?asa <khalasa@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e3e30f63389a319ca45161b07eb74e60f1e7ea20 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Jun 8 06:53:59 2015 -0300 [media] stk1160: fix sequence handling Fix the sequence counter: we're counting frames, not fields. Also remove the unused 'field' field. That would only be needed if this driver would support V4L2_FIELD_ALTERNATE. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 98006636b0307387b8b572700bbc9eb093ce6f70 Merge: 5bab862 d770e55 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Jul 6 08:21:35 2015 -0300 Merge tag 'v4.2-rc1' into patchwork Linux 4.2-rc1 * tag 'v4.2-rc1': (12415 commits) Linux 4.2-rc1 bluetooth: fix list handling 9p: cope with bogus responses from server in p9_client_{read,write} p9_client_write(): avoid double p9_free_req() 9p: forgetting to cancel request on interrupted zero-copy RPC dax: bdev_direct_access() may sleep block: Add support for DAX reads/writes to block devices dax: Use copy_from_iter_nocache dax: Add block size note to documentation NTB: Add split BAR output for debugfs stats NTB: Change WARN_ON_ONCE to pr_warn_once on unsafe NTB: Print driver name and version in module init NTB: Increase transport MTU to 64k from 16k NTB: Rename Intel code names to platform names NTB: Default to CPU memcpy for performance NTB: Improve performance with write combining NTB: Use NUMA memory in Intel driver NTB: Use NUMA memory and DMA chan in transport NTB: Rate limit ntb_qp_link_work NTB: Add tool test client ... commit cb8cc37f4d38d96552f2c52deb15e511cdacf906 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Mon Jul 6 11:37:23 2015 +0800 ARM: rockchip: fix broken build The following was seen in branch[0] build. arch/arm/mach-rockchip/platsmp.c:154:23: error: 'rockchip_secondary_startup' undeclared (first use in this function) branch[0]: git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git v4.3-armsoc/soc The broken build is caused by the commit fe4407c0dc58 ("ARM: rockchip: fix the CPU soft reset"). Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> The breakage was a result of it being wrongly merged in my branch with the cache invalidation rework from Russell 02b4e2756e01c ("ARM: v7 setup function should invalidate L1 cache"). Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e72072b6d7a49ea09dd833c3bdaa300e86ab0671 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 11:22:27 2015 +0300 drm/i915: Drop a spurious intel_pre_plane_update() call Kill the extra intel_pre_plane_update() I accidentally added in commit 852eb00dc44ea2b8896e2fa27c6a36a1f697ba5a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:07 2015 +0300 drm/i915: Try to make sure cxsr is disabled around plane enable/disable This fixes a load of warnings from the frontbuffer tracking. Testcase: igt/kms_frontbuffer_tracking/fbc-1p-rte Tested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Tested-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dfc2066d8f8f2d87c1d8d00024478403c04d4e50 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 17:43:25 2015 +0300 drm/i915/opregion: start using extended didl Adding support for did2, or the extended support display devices ID list, increases the total to 15. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d5cbb22fcd0685944bbac80935b59df83e33e28e Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 17:43:24 2015 +0300 drm/i915/opregion: abstract didl and did2 getter and setter Make it easier to handle the extended didl. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b4fe8156a72da0030f18fd16ce7ded3747f932bb Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 17:43:23 2015 +0300 drm/i915/opregion: prefer DRM logging functions over pr_warn and dev_dbg Conform to same style as the rest of the driver. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f6a430d8ee8dba13807b75845478a1920187840b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 17:43:22 2015 +0300 drm/i915/opregion: add new opregion stuff Inluding extended didl and cpdl fields Present since opregion version 3.0. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2d80391d36e698e8dabc3b3ff0969fc6fde156c4 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 17:43:21 2015 +0300 drm/i915/opregion: use BUILD_BUG_ON to verify mailbox struct sizes Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 856974a401bacf4fee1f3e3b2f601b7abfd5fa2a Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 16:05:28 2015 +0300 drm/i915/hotplug: document the hotplug handling in the driver Add an overview of the drm/i915 hotplug handling. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3e6da4a9d9005fbc83420686fb897bd8ad749e91 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 16:05:27 2015 +0300 drm/i915/audio: clarify HD audio documentation wrt modeset Clarify that audio enable/disable sequences are part of the modeset sequence. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c30400fcffb70d17bbf33eaff5020b83111bd66c Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jul 3 12:31:30 2015 -0300 drm/i915: set FDI translations to NULL on SKL drivers/gpu/drm/i915/intel_ddi.c: In function â??intel_prepare_ddiâ??: drivers/gpu/drm/i915/intel_ddi.c:517:6: warning: â??ddi_translations_fdiâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] if (ddi_translations_fdi) ^ drivers/gpu/drm/i915/intel_ddi.c:446:30: note: â??ddi_translations_fdiâ?? was declared here const struct ddi_buf_trans *ddi_translations_fdi; ^ This line used to be there, but was removed by: commit f8896f5d58e64bfd3c2b5f7c5ba5c3f3967e93c7 Author: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Date: Thu Jun 25 11:11:03 2015 +030 drm/i915/skl: Buffer translation improvements Cc: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b17d1bf16cc72a374a48d748940f700009d40ff4 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Feb 11 11:52:37 2015 +0100 gpio: make flags mandatory for gpiod_get functions Now that all[1] users of the gpiod_get functions are converted to make use of the up to now optional flags parameter, make it mandatory which allows to remove some cpp magic. [1] all but etraxfs-uart which is broken anyhow and I'm allowed to ignore it by Jesper Nilsson :-) Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit a9ed33ca075f712cc7fd96eb84e3d322012fcaaf Author: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Date: Wed Jul 1 10:12:23 2015 +0300 drm/i915: Expose I915_EXEC_RESOURCE_STREAMER flag and getparam Ensures that the batch buffer is executed by the resource streamer. And will let userspace know whether Resource Streamer is supported in the kernel. v2: Don't skip 1<<15 for the exec flags (Jani Nikula) v3: Use HAS_RESOURCE_STREAMER macro for execbuf validation (Chris Wilson) (from getparam patch) v2: Update I915_PARAM_HAS_RESOURCE_STREAMER so it's after I915_PARAM_HAS_GPU_RESET. v3: Only advertise RS support for hardware that supports it. v4: Add HAS_RESOURCE_STREAMER() macro (Chris) Testcase: igt/gem_exec_params Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Cc: Kenneth Graunke <kenneth@xxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> [danvet: squash in getparam patch since it'd break bisect, suggested by Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d666dbefcb094a2f35a0fc8a3c7b53dd8375e34 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Jul 6 07:03:37 2015 +0300 crypto: arm - ignore generated SHA2 assembly files These files are generated since commits f2f770d74a8d (crypto: arm/sha256 - Add optimized SHA-256/224, 2015-04-03) and c80ae7ca3726 (crypto: arm/sha512 - accelerated SHA-512 using ARM generic ASM and NEON, 2015-05-08). Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7abd75bf7ac6d04e0389472cf2cd3a8bf53e4894 Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 15:40:09 2015 -0700 crypto: nx - do not emit extra output if status is disabled If the device-tree indicates the nx-842 device's status is 'disabled', we emit two messages: nx_compress_pseries ibm,compression-v1: nx842_OF_upd_status: status 'disabled' is not 'okay'. nx_compress_pseries ibm,compression-v1: nx842_OF_upd: device disabled Given that 'disabled' is a valid state, and we are going to emit that the device is disabled, only print out a non-'okay' status if it is not 'disabled'. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ec13bcbe07a202c32ea74927e27479aa4d19d1b1 Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 15:39:21 2015 -0700 crypto: nx - rename nx842_{init, exit} to nx842_pseries_{init, exit} While there is no technical reason that both nx-842.c and nx-842-pseries.c can have the same name for the init/exit functions, it is a bit confusing with initcall_debug. Rename the pseries specific functions appropriately Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit fa9a9a084a2153095d0433188be232b0127ab23c Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 15:38:48 2015 -0700 crypto: nx - nx842_OF_upd_status should return ENODEV if device is not 'okay' The current documention mentions explicitly that EINVAL should be returned if the device is not available, but nx842_OF_upd_status() always returns 0. However, nx842_probe() specifically checks for non-ENODEV returns from nx842_of_upd() (which in turn calls nx842_OF_upd_status()) and emits an extra error in that case. It seems like the proper return code of a disabled device is ENODEV. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6170511a917679f8a1324f031a0a40f851ae91e9 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Jun 30 12:57:14 2015 -0500 crypto: ccp - Provide support to autoload CCP driver Add the necessary module device tables to the platform support to allow for autoloading of the CCP driver. This will allow for the CCP's hwrng support to be available without having to manually load the driver. The module device table entry for the pci support is already present. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6922528a04a810b2889e82a4dc17eab920379117 Author: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Date: Tue Jun 16 13:39:42 2015 +0300 drm/i915: Enable resource streamer on Execlists GEN8 and above uses Execlists by default instead of the legacy ringbuffer for batch execution. This patch enables the resource streamer bits when required. Patch is based on the initial work by Minu Mathai <minu.mathai@xxxxxxxxx> This version also adds the required bits to enable GEN8 Resource Streamer context save and restore for Execlists. Cc: ville.syrjala@xxxxxxxxxxxxxxx Signed-off-by: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4c436d55b279bbc6b02aac02e7dc683fc09f884e Author: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Date: Tue Jun 16 13:39:41 2015 +0300 drm/i915: Enable Resource Streamer state save/restore on MI_SET_CONTEXT Also clarify comments on context size that the extra state for Resource Streamer is included. v2: Don't remove the extended save/restore enabled for older platforms. (Ville) Use new MI_SET_CONTEXT defines for HSW RS save/restore state instead of extended save/restore. (Daniel) Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 919032ec7c758fd4d65f2a141d1e0a10152198c9 Author: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Date: Tue Jun 16 13:39:40 2015 +0300 drm/i915: Enable resource streamer bits on MI_BATCH_BUFFER_START Adds support for enabling the resource streamer on the legacy ringbuffer for HSW and GEN8. Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e62925567c7926e78bc8ca976cde5c28ea265a49 Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Wed Jul 1 17:02:57 2015 +0530 drm/i915/bxt: BUNs related to port PLL This patch contains changes based on 2 updates to the spec: Port PLL VCO restriction raised up to 6700. Port PLL now needs DCO amp override enable for all VCO frequencies. v2: Sonika's review comment addressed - dcoampovr_en_h variable not required Based on a discussion with Siva, the following changes have been made. - replace dco_amp var with #define BXT_DCO_AMPLITUDE - set pll10 in a single assignment v3: Move DCO amplitude default value to i915_reg.h. Suggested by Siva. Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> [v2] [danvet: Spell out BUN since not everyone knows what this means.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eac477801924cac38a273338487cce9f460434bb Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Mar 5 09:36:19 2015 +0100 usb: pass flags parameter to gpiod_get functions Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Currently this parameter is made optional with the help of a cpp trick. To allow dropping this hack convert callers to explictly pass a value for flags. Acked-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 75da3b1c24389fe78680269176de0332d35f7fad Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 09:04:55 2015 +0200 usb: dwc3: pci: make better use of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Use this additional parameter and the _optional variant to simplify the driver and improve error handling. Also expand the comment to explain why it's not sensible to switch to devm_gpiod_get and why the gpiod_put is also necessary. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Tested-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 8e71c68074ff37348d586c87b0ee530e7440b094 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 08:55:30 2015 +0200 phy: tusb1210: make better use of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Furthermore there is devm_gpiod_get_optional which is designed to get optional gpios. Simplify driver accordingly. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 3bfe76806f705a24b82bc43c84c8506f3a44f77b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 09:04:55 2015 +0200 NFC: nxp-nci_i2c: use flags argument of devm_gpiod_get_index Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify driver accordingly which even makes error checking more correct because gpiod_direction_{in,out}put might fail. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@xxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit a33c380ef59353e550e852c82395306cf83cc7c0 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 09:04:55 2015 +0200 media: i2c/adp1653: set enable gpio to output Without setting the direction of a gpio to output a call to gpiod_set_value doesn't have a defined outcome. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 7d891dbee52e0a843ee7724ad4100675cf2fe24c Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 09:04:55 2015 +0200 iio: magn: bmc150: use flags argument of devm_gpiod_get Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify driver accordingly. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 7d4eb6f2110d9a9f9fe8d39eabddadbd35eb12b2 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 09:04:55 2015 +0200 iio: light: stk3310: use flags argument of devm_gpiod_get Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify driver accordingly. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 26a5bd26499fba331ecaa1e8ce8cc2b8c6fac569 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Feb 11 17:32:53 2015 +0100 drm/tilcdc: panel: make better use of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Furthermore there is devm_gpiod_get_optional which is designed to get optional gpios. Simplify driver accordingly. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 89ae3d3b9a384e75158f71ea9b878c8a45f3d582 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Jun 9 11:35:25 2015 +0200 drm/msm/dp: use flags argument of devm_gpiod_get to set direction Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Use this to simplify the driver. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 7a0baa6234468aa387f9b8a1a79dc2a4b4821f67 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 15:33:54 2015 +0300 Revert "drm/i915: Disable 12bpc hdmi for now" HDMI 12bpc should be working fine now. Let it loose. This reverts commit 5e3daaca09f5158eff9c92290faa1d2001ecc6e4. v2: Rebased due to CHV/BXT port clock check improvemnts Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-and-tested-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e64e739ed6e5409b86ab5896cad4edb4570bf8ec Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 19:23:59 2015 +0300 drm/i915: Account for CHV/BXT DPLL clock limitations CHV/BXT DPLL can't generate frequencies in the 216-240 MHz range. Account for that when checking whether the HDMI port clock is valid. This is particularly important for BXT since it can otherwise do 12bpc, and standard 1920x1080p60 CEA modes land right in the middle of that range when the clock gets multiplied to account for 12bpc. With the extra checks we will now filter out any mode where both 8bpc and 12bpc clock are within the gap. During modeset we then pick whichever mode works, favoring 12bpc if both are possible. 12bpc isn't supported on CHV so we simply end up filtering out any mode where the 8bpc port clock is in the gap. v2: Fix crtc_clock vs. port_clock fumble in compute_config() (Imre) Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-and-tested-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6fd765d0591a79934b268137fc7c0fbfa0e2e3b4 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 15:33:52 2015 +0300 drm/i915: Bump HDMI min port clock to 25 MHz Increase the HDMI port minimum port clock from 20 to 25 MHz. This is is the minimum listed in the DVI/HDMI specs, and it's also the documented minimum DPLL frequency for most of our platforms. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-and-tested-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 398a017e91d1518e303886398b15b1851c3d902c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 15:33:51 2015 +0300 drm/i915: Fix HDMI 12bpc and pixel repeat clock readout for DDI platforms Take the HDMI 12bpc mode and pixel repeat into account when extracting the dotclock from the hardware on DDI platforms. Tested on HSW only. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-and-tested-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec530829ed064bc63d260f309e3ef88e0764132b Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Jul 5 21:55:10 2015 +0200 GPU-DRM: Delete an unnecessary check before drm_property_unreference_blob() The drm_property_unreference_blob() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Zhao Junwang <zhjwpku@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 765b50030c218f65ee4ffd2eeb07045aa79fd5ee Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Jun 1 16:22:57 2015 +0200 ARM: shmobile: gose: enable R-Car Gen2 regulator quirk Regulator setup seems identical to Koelsch. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ec60d95b4faccd61c7ce10316ebc9333f2d7674a Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Jun 1 16:22:54 2015 +0200 ARM: shmobile: Basic r8a7793 SoC support Minimal support without power management or SMP. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bd82aff9192dad2bfd3cb3fc19fdf741c2f6028e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:35 2015 +0200 ARM: shmobile: r8a7790: Make struct rcar_sysc_ch const Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5afcd90f65ac990ca08b101a0e0fd9eac4e0dcde Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:34 2015 +0200 ARM: shmobile: r8a7779: Make struct rcar_sysc_ch const Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bcb8243792eaa855a51c96bfeaa5dbca19f48d07 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:32 2015 +0200 ARM: shmobile: R-Car: Get rid of on_off_fn() function pointer Simplify the power request code by passing an "on" flag, and picking the right status bit and register offset in the innermost function, based on this flag. This allows to remove the rcar_sysc_pwr_{off,on}() helper functions, and the function pointer through which they were called. Make sr_bit and reg_offs unsigned while we're at it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 21437c53f3dc2e1e52ccb8aed0a65dd3879ca671 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:31 2015 +0200 ARM: shmobile: R-Car: Use BIT() macro instead of open coding Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 624deb39a1c684b42569a3ec6a0fdcc74b950ed3 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:30 2015 +0200 ARM: shmobile: R-Car: Make struct rcar_sysc_ch * parameters const The passed struct rcar_sysc_ch is never modified, so it can be const. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2f575fcff1fad24e97b8e7d793ad9af9ae5b8a17 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:29 2015 +0200 ARM: shmobile: R-Car: Break infinite loop rcar_sysc_update() loops (with interrupts disabled and while holding a spinlock) until submitting a power shutoff or resume request fails, or until the submitted request was accepted. If none of these conditions becomes true, this forms an infinite loop. Put a limit on the maximum number of loop iterations, and add a small delay to each iteration, to fix this. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6fd2242e60e89a26e731e57dbf8f88d6639e09de Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:28 2015 +0200 ARM: shmobile: R-Car: Shrink rcar_sysc_ch size Shrink the individual fields in struct rcar_sysc_ch, as unsigned long or int is overkill: - chan_offs contains a register offset relative to a base value (< 512), - chan_bit and isr_bit contain bit indices (0-31). This reduces the size of each instance from 3 (4 on 64-bit) 32-bit words to 1 32-bit word. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 577d104d85f05c1de6e56784a5da3e0fb4746f3a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:27 2015 +0200 ARM: shmobile: R-Car: Improve documentation Add more SYSC register documentation. Use definitions instead of hardcoded numbers. Comment important operations. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7bf46d0be278a3586c78322c65ceff5fd03bb95d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jun 25 17:57:28 2015 +0900 ARM: shmobile: r8a7779: Configure IRLM mode via DT Adjust the r8a7779 SoC DTS and the Marzen Reference C board code to use DTS only for INTC-IRQPIN IRLM setup. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c73ddf42e7a93dabf918b22d3cc2ce02b90d4155 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 15:03:36 2015 +0200 ARM: shmobile: r8a7794 dtsi: Use "arm,gic-400" for GIC Replace the "arm,cortex-a15-gic" compatible value for the GIC by "arm,gic-400", as the R-Car Gen2 GIC is assumed to be a GIC-400. This has been confirmed by reading the GICD_IIDR register (on r8a7791), which reports 0x0200043b (GIC-400 = 0x02, ARM = 0x43b). This has no effect on runtime behavior, as currently the GIC driver treats both compatible values the same. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5b3b3268518fb67c7accf83d786909b2a8cbee63 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 15:03:35 2015 +0200 ARM: shmobile: r8a7793 dtsi: Use "arm,gic-400" for GIC Replace the "arm,cortex-a15-gic" compatible value for the GIC by "arm,gic-400", as the R-Car Gen2 GIC is assumed to be a GIC-400. This has been confirmed by reading the GICD_IIDR register (on r8a7791), which reports 0x0200043b (GIC-400 = 0x02, ARM = 0x43b). This has no effect on runtime behavior, as currently the GIC driver treats both compatible values the same. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d238b5e628c98c39fe669610e6ab8e06a6f00b5b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 15:03:34 2015 +0200 ARM: shmobile: r8a7791 dtsi: Use "arm,gic-400" for GIC Replace the "arm,cortex-a15-gic" compatible value for the GIC by "arm,gic-400", as the R-Car Gen2 GIC is assumed to be a GIC-400. This has been confirmed by reading the GICD_IIDR register, which reports 0x0200043b (GIC-400 = 0x02, ARM = 0x43b). This has no effect on runtime behavior, as currently the GIC driver treats both compatible values the same. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e715e9c57826cc3370fc5fcdb9d57602d52bba9a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 15:03:33 2015 +0200 ARM: shmobile: r8a7790 dtsi: Use "arm,gic-400" for GIC Replace the "arm,cortex-a15-gic" compatible value for the GIC by "arm,gic-400", as the R-Car Gen2 GIC is assumed to be a GIC-400. This has been confirmed by reading the GICD_IIDR register (on r8a7791), which reports 0x0200043b (GIC-400 = 0x02, ARM = 0x43b). This has no effect on runtime behavior, as currently the GIC driver treats both compatible values the same. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit eaec1d675c194965081297014503938a9f58e2f7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 15:03:32 2015 +0200 ARM: shmobile: r8a73a4 dtsi: Use "arm,gic-400" for GIC Replace the "arm,cortex-a15-gic" compatible value for the GIC by "arm,gic-400", as the documentation states it's a GIC-400. This has been confirmed by reading the GICD_IIDR register, which reports 0x0200043b (GIC-400 = 0x02, ARM = 0x43b). This has no effect on runtime behavior, as currently the GIC driver treats both compatible values the same. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ffd2f9a5afb730b9f6c1d1938934213c3cfcf249 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 10:38:56 2015 +0200 ARM: shmobile: armadillo800eva dts: Add pinctrl and gpio-hog for lcdc0 Configure pinctrl and a GPIO-controller board mux for LCD use. This allows the armadillo800eva board staging code to enable lcdc0. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f25d6b977240117eb4b6e3111f4eb41f968d28fb Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 02:43:51 2015 +0300 ARM: shmobile: r8a7790: add EtherAVB DT support Define the generic R8A7790 part of the EtherAVB device node. Based on original patch by Mitsuhiro Kimura <mitsuhiro.kimura.kc@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 63d2d750c902dec77439f12b2eac9709468298ce Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 02:42:42 2015 +0300 ARM: shmobile: r8a7790: add EtherAVB clocks Add the EtherAVB clock to the R8A7790 device tree. Based on original patch by Mitsuhiro Kimura <mitsuhiro.kimura.kc@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b8af4591db5bb0529b7f56d25b2e7db3eb71fdf6 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Jun 1 16:22:56 2015 +0200 ARM: shmobile: r8a7793: add minimal Gose board device tree Minimal DT description and Makefile entry for the Gose eval board. Support for console, timer, and Ethernet. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0e03e8aed92ce4757a9dbfbf2b7f4edce6380f92 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Jun 1 16:22:55 2015 +0200 ARM: shmobile: add r8a7793 minimal SoC device tree Minimal r8a7793 device tree including one CPU core, interrupt controllers, timers, two serial ports, and the Ethernet controller, plus the required clock descriptions. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit dbeb9728d4b9785fc78336038654eb2bac155d92 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Jun 2 10:34:37 2015 +0900 ARM: multi_v7_defconfig: Enable shmobile r8a7793/gose platform Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b059be7ecfa80550f635194f7c12578423177729 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Jun 2 10:34:36 2015 +0900 ARM: shmobile: Enable gose board in multiplatform defconfig Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 20834a406ee20b57c796f9911f06600b71c75788 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:34:21 2015 +0200 ARM: shmobile: timer: r8a73a4 and r8a7790 are multi-platform only Since commits e042681894b62d60 ("ARM: shmobile: r8a7790: Remove legacy code") and 9d07d414d4c33d86 ("ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform"), the R-Mobile APE6 and R-Car H2 SoCs are supported by multiplatform kernels only. Hence we can drop checks for these SoCs in legacy kernel builds. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d62ba10c31ac16aaa16f5b49308658ea2f1e71a9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:34:20 2015 +0200 ARM: shmobile: R-Car Gen2: CONFIG_ARCH_SHMOBILE_MULTI is always set Since commit e042681894b62d60 ("ARM: shmobile: r8a7790: Remove legacy code"), all R-Car Gen2 SoCs are supported by multiplatform kernels only. As CONFIG_ARCH_SHMOBILE_MULTI is always set for shmobile multiplatform kernels, we can remove related #ifdefs in code specific to R-Car Gen2 SoCs. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 11e386719b08606502477cddf10c832b6658bb55 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:27 2015 +0200 ARM: shmobile: Remove obsolete zboot support The last user of the zboot code was the KZM-A9-GT legacy board code, which has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b587288001f05c0e6b4bdb5a5f0e7a28594cbf0d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:26 2015 +0200 ARM: shmobile: R-Mobile: Remove legacy PM Domain code The last user of the legacy R-Mobile PM Domain code was the r8a7740 legacy SoC code, which has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 68a31785697c6292e4de3f54914a6ff5ebd0a82d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:25 2015 +0200 ARM: shmobile: Remove unused dma-register.h The last users of "dma-register.h" were the sh73a0 and r8a7740 legacy SoC code, which have been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 44d88c754e57a6d9d7ae6ac7540b9596f9b61902 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:24 2015 +0200 ARM: shmobile: Remove legacy SoC code for R-Mobile A1 The last user of the R-Mobile A1 (r8a7740) legacy SoC code was the Armadillo-800 EVA legacy board code, which has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> [horms: resolved trivial conflicts with v4.2-rc1] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6a902a2ea1ffe432ce46bb562b9dcae8f396b3b4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:23 2015 +0200 ARM: shmobile: Drop r8a7740-armadillo800eva.dtb for legacy builds The legacy board code for Armadillo-800 EVA has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4e7115ad44d544847a294d7d634f5974e344708e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:22 2015 +0200 ARM: shmobile: Remove legacy armadillo800eva_defconfig The legacy board code for Armadillo-800 EVA has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1fa59bda21c7fa3644e374be0547395975286599 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:21 2015 +0200 ARM: shmobile: Remove legacy board code for Armadillo-800 EVA The Armadillo-800 EVA board is sufficiently supported by DT-based and board-less R-Mobile A1 (r8a7740) multiplatform kernels, and board staging code. Hence remove the legacy board code to reduce maintenance effort. Lacking areas are: - USB (it doesn't work in legacy, neither), - HDMI (it doesn't work in legacy, neither), - Camera (we don't care), - DMAC/IPMMU (no DT bindings are planned). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9a9863987bf7307f619f1dbba678a3e6d65c901a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:20 2015 +0200 ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5 The last user of the SH-Mobile AG5 (sh73a0) legacy SoC code was the KZM-A9-GT legacy board code, which has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d99f70b9533dc355e0facbaee8a42dcd821a5e73 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:19 2015 +0200 ARM: shmobile: Drop sh73a0-kzm9g.dtb for legacy builds The legacy board code for KZM-A9-GT has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 04320ccfc11b9ca9b7cf933e221a765d78705cf8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:18 2015 +0200 ARM: shmobile: Remove legacy kzm9g_defconfig The legacy board code for KZM-A9-GT has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 30f8925a57d8ad4990fca14bcf454abd91228afd Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:17 2015 +0200 ARM: shmobile: Remove legacy board code for KZM-A9-GT The KZM-A9-GT board is sufficiently supported by DT-based and board-less SH-Mobile AG5 (sh73a0) multiplatform kernels. Hence remove the legacy board code to reduce maintenance effort. Lacking areas are: - USB (it does't work in legacy, neither), - LCDC (the LCDC is wired to the legacy INTC, which is not planned to be supported with DT). - DMAC/IPMMU (no DT bindings are planned). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 564ec128320b3a69e7be6bed938be5b78e5aac95 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:33 2015 +0200 ARM: shmobile: r8a7779: Remove GENPD_FLAG_PM_CLK flag The R-Car SYSC PM Domain only manages power domains for the main CPUs and for coprocessors. It does not fill in the genpd .{at,de}tach_dev() callbacks, and no power management clocks are registered for devices. Hence pm_clk_{suspend,resume}() are no-ops, and setting of the GENPD_FLAG_PM_CLK flag can be removed. Originally the clock handling was copied from the R-Mobile PM Domain code, which does manage a clock domain, in addition to device power domains. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 23e95fc2964de5a38c1c76109188756420268858 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:26 2015 +0200 ARM: shmobile: R-Mobile: Use BIT() macro instead of open coding Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 23758258220c2fcdabb30a3c6fe0a3ce6c705550 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:25 2015 +0200 ARM: shmobile: R-Mobile: Move to_rmobile_pd from header to source file to_rmobile_pd() is only used inside pm-rmobile.c Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e6ef15e4f6ca9cc760030f8f0616e25eed9449e4 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Tue Jun 23 20:53:40 2015 +0800 ARM: rockchip: remove some useless macro in pm.h These are actually not used in the pm code, as we moved suspend handling to the clock driver, remove them here. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 134f1f609bdf2f67ae23b7b1b686a3b9d5c67b03 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Tue Jun 23 20:53:39 2015 +0800 ARM: rockchip: add support holding 24Mhz osc during suspend If we want to wake up system via usb, the 24Mhz osc could not be disabled during suspend, read the usb phy SIDDQ bit to decide whether to switch to 32khz clock-in. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Tested-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 7f0b61ad34f04b076a3d1e2b5cfc6e1fae853ec4 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Jun 9 17:49:59 2015 +0800 ARM: rockchip: fix the SMP code style Use the below scripts to check: scripts/checkpatch.pl -f --subject arch/arm/mach-rockchip/platsmp.c Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e306bc16c53199e7440e1fee69dd91dc0a56edee Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Jun 9 17:49:58 2015 +0800 ARM: rockchip: ensure CPU to enter WFI/WFE state The patch can ensure that v7_exit_coherency_flush() in rockchip_cpu_die() executed in time. The mdelay(1) has enough time to fix the problem of CPU offlining. That's a workaround way in rockchip hotplug code, At least, we haven't a better way to solve it. Who know, that maybe fixed by chip (hardware) in the future. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fe4407c0dc58215a7abfb7532740d79ddabe7a7a Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Jun 9 17:49:57 2015 +0800 ARM: rockchip: fix the CPU soft reset We need different orderings when turning a core on and turning a core off. In one case we need to assert reset before turning power off. In ther other case we need to turn power on and the deassert reset. In general, the correct flow is: CPU off: reset_control_assert regmap_update_bits(pmu, PMU_PWRDN_CON, BIT(pd), BIT(pd)) wait_for_power_domain_to_turn_off CPU on: regmap_update_bits(pmu, PMU_PWRDN_CON, BIT(pd), 0) wait_for_power_domain_to_turn_on reset_control_deassert This is needed for stressing CPU up/down, as per: cd /sys/devices/system/cpu/ for i in $(seq 10000); do echo "================= $i ============" for j in $(seq 100); do while [[ "$(cat cpu1/online)$(cat cpu2/online)$(cat cpu3/online)" != "000"" ]] echo 0 > cpu1/online echo 0 > cpu2/online echo 0 > cpu3/online done while [[ "$(cat cpu1/online)$(cat cpu2/online)$(cat cpu3/online)" != "111" ]]; do echo 1 > cpu1/online echo 1 > cpu2/online echo 1 > cpu3/online done done done The following is reproducable log: [34466.186812] PM: noirq suspend of devices complete after 0.669 msecs [34466.186824] Disabling non-boot CPUs ... [34466.187509] CPU1: shutdown [34466.188672] CPU2: shutdown [34473.736627] Kernel panic - not syncing:Watchdog detected hard LOCKUP on cpu 0 ....... or others similar log: ....... [ 4072.454453] CPU1: shutdown [ 4072.504436] CPU2: shutdown [ 4072.554426] CPU3: shutdown [ 4072.577827] CPU1: Booted secondary processor [ 4072.582611] CPU2: Booted secondary processor <hang> Tested by cpu up/down scripts, the results told us need delay more time before write the sram. The wait time is affected by many aspects (e.g: cpu frequency, bootrom frequency, sram frequency, bus speed, ...). Although the cpus other than cpu0 will write the sram, the speedy is no the same as cpu0, if the cpu0 early wake up, perhaps the other cpus can't startup. As we know, the cpu0 can wake up when the cpu1/2/3 write the 'sram+4/8' and send the sev. Anyway..... At the moment, 1ms delay will be happy work for cpu up/down scripts test. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Fixes: 3ee851e212d0 ("ARM: rockchip: add basic smp support for rk3288") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 33939403112791866da6b64875385fa1b7d9865a Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed May 20 13:34:08 2015 -0700 ARM: rockchip: restore dapswjdp after suspend In the commit (0ea001d ARM: rockchip: disable dapswjdp during suspend) we made the assumption that we didn't need to restore dapswjdp after suspend because "the MASKROM will enable it back". It turns out that's not a safe assumption. In some cases (pending interrupts) it's possible that the WFI might act as a no-op and the MaskROM will never run. Since we're changing the bit, we should restore it ourselves. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 1a1b698b115467242303daf5fe1d3c9886c2fa17 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Fri Jun 19 16:31:14 2015 +0200 ARM: dts: rockchip: fix rk3288 watchdog irq The watchdog irq is actually SPI 79, which translates to the original 111 in the manual where the SPI irqs start at 32. The current dw_wdt driver does not use the irq at all, so this issue never surfaced. Nevertheless fix this for a time we want to use the irq. Fixes: 2ab557b72d46 ("ARM: dts: rockchip: add core rk3288 dtsi") Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit 270c7b18d7c0f17cfda2bbdafba25ef2f885f9a5 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Jun 15 17:41:41 2015 +0000 ARM: dts: rockchip: Add ramp delay for vdd_cpu in firefly board dts Adds ramp delay for the vdd_cpu output. It removes warning "ramp_delay not set" emitted by the function regulator_set_voltage_time_sel() by the same time, which floods kernel logs. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e6b54649adacafb22c0c2d0496baf5396f8ed0be Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Sat Jun 20 12:27:16 2015 +0000 ARM: dts: rockchip: Add STMMAC reset signal in GMAC interface for rk3288 Which fixes warning "no reset control found" by the same time Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fcc577dd55db193926537e0e4de98492d665446b Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Jun 23 16:34:19 2015 +0300 iio: Fix parameters in iio_triggered_buffer_setup This patch renames the top half handler and the bottom half handler of iio_triggered_buffer_setup() in accordance with their usage. The bottom half has been renamed to reflect the fact that it is a thread based call, compliant with iio_alloc_pollfunc(). The names of the parameters were swapped, thus creating confusion. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5e913d27f91aa15e1311399385579bef5238e2cd Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Wed Jun 24 17:01:49 2015 +0300 iio: accel: Add sampling rate support for STK8312 Added support for setting the STK8312 accelerometer's sampling rate. Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 95c12bba51c37359073b34f1a56fe396bd33d3cf Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Wed Jun 24 17:01:48 2015 +0300 iio: accel: Add buffer mode for Sensortek STK8312 Added triggered buffer mode support for the STK8312 accelerometer. Additional changes: - set_mode now sets operation mode directly, no longer masking the register's previous value - read_accel now returns raw acceleration data instead of the sign_extend32 value - read_raw will now enable/disable the sensor with each reading Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit db6a19b8251f089afcd40ed116ffdc2326f704a8 Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Wed Jun 24 16:54:46 2015 +0300 iio: accel: Add trigger support for STK8BA50 Add data-ready interrupts and trigger support for STK8BA50. Additional changes: - read_accel now returns raw acceleration data instead of the sign_extend32 value - read_raw will now enable/disable the sensor with each reading Change-Id: I9c2d7be4256b2dcc5546e4432308ea54f8004333 Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9690d81a02dc4eea78de1686c3bf23a8dd4c0f28 Author: Tomasz Duszynski <tduszyns@xxxxxxxxx> Date: Tue Jun 23 20:45:48 2015 +0200 iio: pressure: ms5611: add support for MS5607 temperature and pressure sensor MS5607 is temperature and pressure sensor which hardware is similar to MS5611. Both sensors share command protocol and support both I2C and SPI serial protocols. They only differ in compensation algorithms. Signed-off-by: Tomasz Duszynski <tduszyns@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7cb46c2a0666547493132327ccfc0698d90e52f7 Author: Tomasz Duszynski <tduszyns@xxxxxxxxx> Date: Tue Jun 23 20:45:47 2015 +0200 iio: pressure: ms5611: remove IIO_CHAN_INFO_SCALE from mask IIO_CHAN_INFO_SCALE is useful whenever conversion to standard units is done in userspace. In this case conversion is handled by driver so this bit is unnecessary. Signed-off-by: Tomasz Duszynski <tduszyns@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 57f7d509c8f60e66d69ac216a03ef39c5ea1ddb8 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Sun Jun 21 23:50:22 2015 +0200 iio: tmp006: Use GENMASK Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4acaf96f747d0cfd6030bde362c1189d248dacff Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 22:52:28 2015 +0800 iio: ssp_sensors: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> To: Jonathan Cameron <jic23@xxxxxxxxxx> To: Lars-Peter Clausen <lars@xxxxxxxxxx> To: Karol Wrona <k.wrona@xxxxxxxxxxx> To: linux-iio@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Karol Wrona <k.wrona@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e8d0927a19f11cebc4381f5f0cac8fa37154b08a Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Fri Jul 3 12:57:36 2015 +0300 tools: iio: Add single-byte case for generic_buffer Some sensors export data in an 8-bit format. Add a single-byte case for the generic_buffer tool so that these sensors' buffer data can be visualized. Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a3d1d001c9c583c79b1d9ab20f0a24333e35a3f8 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 3 15:53:23 2015 +0200 drm/i915: Update DRIVER_DATE to 20150703 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cb76b1ca9174aa29d4c7c0f4aef113be203b600c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 15:04:29 2015 +0200 spi: rspi: Make qspi_set_send_trigger() return "unsigned int" qspi_set_send_trigger() returns an unsigned value, so make it return "unsigned int". Update the loop variables qspi_trigger_transfer_out_int() to match the above. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5d4db691ed978080435f4e5aad2ce707294a75b4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 15:04:28 2015 +0200 spi: rspi: Drop variable "error" in qspi_trigger_transfer_out_in() Just use "ret" instead, for consistency with other similar functions. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1f96beec7a44f46bf277e2050a7a5a0308831d61 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Fri Jul 3 14:17:29 2015 +0300 drm: remove redundant code form drm_ioc32.c The compat ioctl handler ends up calling access_ok() twice: first indirectly inside compat_alloc_user_space() and then after returning from that function. This patch fixes issue. v2: there were three invalid removals of access_ok() that I've fixed. Also went through all the changes couple of times and verified that access_ok() is only removed when the buffer is allocated with compat_alloc_user_space(). My deepest apologies for this kind of sloppiness! Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e4f31ad2b7138db449310c9b63d402a29dc0e1c9 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 2 16:33:53 2015 +0200 drm: reset empty state in transitional helpers Transitional drivers might not have all the state frobbing lined up yet. But since the initial code has been merged a lot more state was added, so we really need this. Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Reported-and-tested-by: John Hunter <zhaojunwang@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce14ec20a1ffcd356f578036617d657be8429c00 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 2 15:16:39 2015 +0200 drm/crtc-helper: Fixup error handling in drm_helper_crtc_mode_set In commit 9f658b7b62e7aefc1ee067136126eca3f58cabfd Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Fri May 22 13:34:45 2015 +0100 drm/crtc_helper: Replace open-coded CRTC state helpers error handling code was broken, resulting in the first path not being checked correctly. Fix this by using the same pattern as in the transitional plane helper function drm_plane_helper_update. v2: Simplify the cleanup code while at it too. v3: After some debugging with John we realized that the above patch from Daniel also accidentally removed the if (crtc_state) check. This is legal when transitioning to atomic, when the initial state reset isn't all wired up yet properly. Reinstate that check to fix the bug John has hit. Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> CC: Sean Paul <seanpaul@xxxxxxxxxxxx> Cc: John Hunter <zhaojunwang@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Reported-and-tested-by: John Hunter <zhaojunwang@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8776f02b7c77f17dcf1dfab9954648874f264c89 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 18:16:40 2015 +0300 drm/i915/gtt: Per ppgtt scratch page Previously we have pointed the page where the individual ppgtt scratch structures refer to, to be the instance which GGTT setup have allocated. So it has been shared. To achieve full isolation between ppgtts also in this regard, allocate per ppgtt scratch page. Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 20dbe1a1cbf3f1f0a6a07581e5b95ae027c9bea0 Author: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Date: Wed Jul 1 15:58:52 2015 +0300 drm/i915: Changes required to enable DSI Video Mode on CHT On CHT, changes are required for calculating the correct m,n & p with minimal error +/- for the required DSI clock, so that the correct dividor & ctrl values are written in cck regs for DSI. This patch has been tested on CHT RVP with 1200 x 1920 panel. v2 by Jani, rebased on earlier refactoring, original at [1]. [1] http://mid.gmane.org/1431368400-1942-5-git-send-email-rodrigo.vivi@xxxxxxxxx Signed-off-by: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3c5c6d88855baf9c3b9aa6243a37bb179f5a737e Author: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Date: Wed Jul 1 15:58:51 2015 +0300 drm/i915: Support for higher DSI clk For MIPI panels requiring higher DSI clk, values needs to be added in lfsr_converts table for getting the correct values of pll ctrl and dividor values which gets programmed in cck regs, otherwise DSI PLL does not get locked leading to no display on the MIPI panel. Signed-off-by: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 260c1ad1993d3f17e25c5d848d6d2525ff38913c Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Jul 1 15:58:50 2015 +0300 drm/i915/dsi: abstract dsi bpp derivation from pixel format Nuke three copies of the same switch case. Hopefully we can switch to a drm generic function later on, but that will require us to swich to enum mipi_dsi_pixel_format first. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce65e47b78789b4f78be1fd7e4c884df74a9f075 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jun 30 10:53:05 2015 -0300 drm/i915: don't increment the FBC threshold at fbc_enable We first set the threshold value when we're allocating the CFB, and then later at {ilk,gen7}_fbc_enable() we increment it in case we're using 16bpp. While that is correct, it is dangerous: if we rework the code a little bit in a way that allows us to call intel_fbc_enable() without necessarily calling i915_gem_stolen_setup_compression() first, we might end up incrementing threshold more than once. To prevent that, increment a temporary variable instead. v2: Rebase. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ca1543be2c4233fbc266bf66f4320806e61e05dd Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Wed Jul 1 11:51:10 2015 +0100 drm/i915: Report correct GGTT space usage Currently only normal views were accounted which under-accounts the usage as reported in debugfs. Introduce new helper, i915_gem_obj_total_ggtt_size, and use it from call sites which want to know how much GGTT space are objects using. v2: Single loop in i915_gem_get_aperture_ioctl. (Chris Wilson) v3: Walk GGTT active/inactive lists in i915_gem_get_aperture_ioctl for better efficiency. (Chris Wilson, Daniel Vetter) v4: Make i915_gem_obj_total_ggtt_size private to debugfs. (Chris Wilson) v5: Change unsigned long to u64. (Chris Wilson) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4ad2af1ed1e972704e1dbc8e7716cd3394a27385 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 18:16:39 2015 +0300 drm/i915/gtt: Return struct i915_scratch_page from alloc_scratch Every other alloc_* function return the pointer to the page they alloc. Follow the convention with scratch page also. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2e906beac6be0116c557f96d1c07cb7a955f8059 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 18:16:37 2015 +0300 drm/i915/gtt: Reorder page alloc/free/init functions Maintain base page handling functions in order of alloc, free, init. No functional changes. v2: s/Introduce/Maintain (Michel) v3: Rebase Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 79bbcc299fca92ba3558c4966e6ad52ee1052d89 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Tue Jun 30 12:40:55 2015 +0100 drm/i915: Reserve space improvements An earlier patch was added to reserve space in the ring buffer for the commands issued during 'add_request()'. The initial version was pessimistic in the way it handled buffer wrapping and would cause premature wraps and thus waste ring space. This patch updates the code to better handle the wrap case. It no longer enforces that the space being asked for and the reserved space are a single contiguous block. Instead, it allows the reserve to be on the far end of a wrap operation. It still guarantees that the space is available so when the wrap occurs, no wait will happen. Thus the wrap cannot fail which is the whole point of the exercise. Also fixed a merge failure with some comments from the original patch. v2: Incorporated suggestion by David Gordon to move the wrap code inside the prepare function and thus allow a single combined wait_for_space() call rather than doing one before the wrap and another after. This also makes the prepare code much simpler and easier to follow. v3: Fix for 'effective_size' vs 'size' during ring buffer remainder calculations (spotted by Tomas Elf). For: VIZ-5115 CC: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 793dfa59bcfde9d642295480674926827e9adcfc Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Jun 18 17:25:53 2015 +0300 drm/i915/bxt: mask off the DPLL state checker bits we don't program For the purpose of state checking we only care about the DPLL HW flags that we actually program, so mask off the ones that we don't. This fixes one set of DPLL state check failures. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a9cc54eeba635d2feb2ed4bf43d4ea4e08e7e0a9 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Jun 24 08:59:24 2015 +0200 drm/atomic: Update old_fb after setting a property. This change updates the old_fb pointer only after acquiring the plane lock, if there are no properties the fb cannot have been changed either, so this works out correctly. Found in a discussion with Rob Clark. Cc: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d0b49c51e0c1b5f4facbf7191db82b39ac99b96 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 1 14:05:09 2015 +0200 drm: Remove useless blank line Blank lines at the end of a function definition are not useful, so get rid of it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit da168d81b44898404d281d5dbe70154ab5f117c1 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jun 23 11:34:21 2015 +0200 drm: Reject DRI1 hw lock ioctl functions for kms drivers I've done some extensive history digging across libdrm, mesa and xf86-video-{intel,nouveau,ati}. The only potential user of this with kms drivers I could find was ttmtest, which once used drmGetLock still. But that mistake was quickly fixed up. Even the intel xvmc library (which otherwise was really good with using dri1 stuff in kms mode) managed to never take the hw lock for dri2 (and hence kms). Hence it should be save to unconditionally disallow this. Cc: Peter Antoine <peter.antoine@xxxxxxxxx> Reviewed-by: Peter Antoine <peter.antoine@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ba6976c129a571464fccbbcf866f4f93d91113c0 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jun 23 11:22:36 2015 +0200 drm: Convert drm_legacy_ctxbitmap_init to void return type It can't fail really. Also remove the redundant kms check Peter added. Cc: Peter Antoine <peter.antoine@xxxxxxxxx> Reviewed-by: Peter Antoine <peter.antoine@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 0e975980d435d58df2d430d688b8c18778b42218 Author: Peter Antoine <peter.antoine@xxxxxxxxx> Date: Tue Jun 23 08:18:49 2015 +0100 drm: Turn off Legacy Context Functions The context functions are not used by the i915 driver and should not be used by modeset drivers. These driver functions contain several bugs and security holes. This change makes these functions optional can be turned on by a setting, they are turned off by default for modeset driver with the exception of the nouvea driver that may require them with an old version of libdrm. The previous attempt was commit 7c510133d93dd6f15ca040733ba7b2891ed61fd1 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 8 15:41:21 2013 +0200 drm: mark context support as a legacy subsystem but this had to be reverted commit c21eb21cb50d58e7cbdcb8b9e7ff68b85cfa5095 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 20 08:32:59 2013 +1000 Revert "drm: mark context support as a legacy subsystem" v2: remove returns from void function, and formatting (Daniel Vetter) v3: - s/Nova/nouveau/ in the commit message, and add references to the previous attempts - drop the part touching the drm hw lock, that should be a separate patch. Signed-off-by: Peter Antoine <peter.antoine@xxxxxxxxx> (v2) Cc: Peter Antoine <peter.antoine@xxxxxxxxx> (v2) Reviewed-by: Peter Antoine <peter.antoine@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d9156b5f6849a1b1185ac62790f36df013b1ade6 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:27 2015 +0530 ath10k: configure frag desc memory to target for qca99X0 Pre qca99X0 chipsets follows the model where dynamically allocate memory for frag desc on getting new skb for TX. But, this is not going to be the case in qca99X0. It expects frag desc memory to be allocated at boot time and let the driver to reuse allocated memory after every TX completion. So there won't be any dynamic frag memory memory allocation in qca99X0 during data transmission. qca99X0 hardware doesn't need fragment desc address to be programmed in msdu descriptor for every data transaction. It needs to know only starting address of fragment descriptor at the time of the boot. During data transmission, qca99X0 hardware can retrieve corresponding frag addr by adding programmed frag desc base addr + msdu id. Allocate continuous fragment descriptor memory (same size as number of descriptor) at the time of target initialization and configure allocated dma address to the target via HTT_H2T_MSG_TYPE_FRAG_DESC_BANK_CFG. How this is allocated continuous memory is going to be used is not covered in this patch. It just allocates memory and hand over to firmware. If we don't do it at init time, qca99X0 will stall when firmware tries to do TX. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5c8726eca3e4080615f09328d1f28013b6e5c837 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:26 2015 +0530 ath10k: set max spatial stream to 4 for 10.4 fw 10.4 fw supports upto 4 spatial stream. Limit max spatial stream to 4 for 10.4 firmware and to 3 for non 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cf36fef08a85c815d9358e1571d3d83da02474f7 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:25 2015 +0530 ath10k: advertise 10.4 fw ap and sta iface combination to mac80211 10.4 fw supports upto 16 interface in ap mode and 1 interface in station mode, overall total interfaces supported are 16 interfaces. Populate this limit in wiphy->iface_combinations. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 721ad3ca7956ce66e11fdcb187769130486feb28 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:24 2015 +0530 ath10k: add 10.4 fw specific htt msg definitions New htt event table is added for 10.4 firmware. Following new htt events are available only 10.4. adding this to generic htt event table, HTT_T2H_MSG_TYPE_EN_STATS, HTT_T2H_MSG_TYPE_TX_FETCH_IND, HTT_T2H_MSG_TYPE_TX_FETCH_CONF, HTT_T2H_MSG_TYPE_TX_LOW_LATENCY_IND Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b2297baa273b2a73d7408a97d0163c5a0dfccf8c Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:23 2015 +0530 ath10k: add scan support for 10.4 fw Existing non 10.4 firmware scan related events and commands are matching with 10.4 firmware (except chan info event). Link general start scan,stop scan, scan channel list configuration functions to 10.4 wmi function table and add a new handler to parse 10.4 specific chan info event. 10.4 firmware has extra scan completion reason WMI_SCAN_REASON_INTERNAL_FAILURE and new scan event WMI_SCAN_EVENT_FOREIGN_CHANNEL_EXIT compared to previous firmware versions. These things are added in respective enum. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 373b48cfe77ff8c0ff94564a280dbfea56e769d4 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:22 2015 +0530 ath10k: enable vdev and peer related operations for 10.4 fw Most of existing vdev and peer related functions (vdev create, vdev delete, vdev start, peer create, peer delete, peer flush, etc) are reusable for 10.4 firmware. Link those general vdev and peer functions to 10.4 wmi function table. Existing general pktlog enable/disable, dbglog configuration functions are reusable for 10.4 and add them also in wmi function table. Also handle few wmi events (sevice rdy, echo, dbg msg, tbtt offset update, dbg print) in ath10k_wmi_10_4_op_rx(). wow event is not applicable in 10.4 firmware, have it under not implemented print. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3cec3be3d101bfec7136841cbb9b32ca49ac0328 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:21 2015 +0530 ath10k: handle 10.4 firmware wmi swba event 10.4 firmware swba event payload has space to accommodate upto 512 client traffic indication info & one p2p noa descriptor. It's is not matching with exiting swba event format defined for non 10.4 firmware. Non 10.4 firmware swba event format is designed to support only upto only 128 client and four p2p notice of absence descriptor. following changes are done in this patch to enable ath10k to handle 10.4 firmware swba event, - link generic ath10k_wmi_event_host_swba() to handle 10.4 swba event in 10.4 wmi rx handler. - add 10.4 specific swba event structure wmi_10_4_host_swba_event. - new function ath10k_wmi_10_4_op_pull_swba_ev() to parse 10.4 swba event. - increase tim_bitmap[] size in ath10k_vif to 64 to hold 512 station power save state. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a03fee347cdcbf101820b2984366a37043ffc62b Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:20 2015 +0530 ath10k: enhance swba event handler to adapt different size tim bitmap Due to 512 client support in 10.4 firmware, size of tim ie is going to be slightly higher than non 10.4 firmware. So, size of tim_bitmap what is carried in swba event from 10.4 firmware is bit higher. The only bottle neck to reuse existing swba handler ath10k_wmi_event_host_swba() for 10.4 is that code designed to deal with fixed size tim bitmap(ie, tim_info[].tim_bitmap in wmi_swba_ev_arg). This patch removes such size limitation and makes it more suitable to handle swba event which has different size tim bitmap. All existing swba event parsing functions are changed to adapt this change. Actual support to handle 10.4 swba event is added in next patch. Only preparation is made in this patch. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 33190ebfb1e846f97366a334e45b03caf4a65c84 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Mon Jun 15 17:42:32 2015 +0300 wil6210: restart AP upon change in privacy settings privacy settings might change while AP is running. Inside wil_cfg80211_change_beacon(), detect change in privacy settings and handle it by stopping and re-starting the AP. Firmware cannot handle on-the-fly privacy settings change and so AP restart is required. Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b24fc6fc7c0f6425793fd46ccc4ea48f49447617 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Jun 16 10:34:03 2015 +0200 ath: DFS - limit number of potential PRI sequences In the PRI detector, after the current radar pulse has been checked agains existing PRI sequences, it is considered as part of a new potential sequence. Previously, the condition to accept a new sequence was to have at least the same number of pulses as the longest matching sequence. This was wrong, since it led to duplicates of PRI sequences. This patch changes the acceptance criteria for new potential sequences from 'at least' to 'more than' the longest existing. Detection performance remains unaffected, while the number of PRI sequences accounted at runtime (and with it CPU load) is reduced by up to 50%. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d02e752f732a91e2a6de9a3547c682914ae0bbe7 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:18 2015 +0530 ath10k: handle 10.4 fw wmi ready event Reuse existing function ath10k_wmi_op_pull_rdy_ev() to parse WMI_10_4_READY_EVENTID and handle the same event in ath10k_wmi_10_4_op_rx(). Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b039941704452d8f89e83cba352b5c89a6ebf2ab Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:17 2015 +0530 ath10k: adjust default peer limits if qcache enabled in 10.4 fw 10.4 firmware supports upto 512 clients when qcache feature is enabled. Make adjustment on default max peer count, active peers, number of tid in such case to meet qcache requirement. 10.4 fw has extra unit info flag NUM_UNITS_IS_NUM_ACTIVE_PEERS which is also handled in this patch. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1c0929614ac429a32509307e790e813325562dc1 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:16 2015 +0530 ath10k: handle 10.4 fw wmi mgmt rx event 10.4 firmware wmi mgmt rx event format differs from non 10.4 firmware and changing existing wmi mgmt rx event parsing function ath10k_wmi_op_pull_mgmt_rx_ev() for 10.4 would add more complex. This patch adds new function to receive any wmi rx event from 10.4 firmware and also introduce new function to parse wmi mgmt rx event. In addition, fw main branch service rdy event parsing function is linked in wmi ops table. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d1e52a8ed2bf34ed5b839c190209deb80828d189 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:15 2015 +0530 ath10k: fill 10.4 fw wmi init cmd default values Define 10.4 wmi init command structure and introduce new function ath10k_wmi_10_4_op_gen_init() to fill default values for each field which goes as part of wmi init cmd to 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d86561ff677b312424ba53389be80b507941973b Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:14 2015 +0530 ath10k: add 10.4 fw wmi pdev cmd ids Include 10.4 firmware wmi pdev cmd id and prepare wmi vdev map table wmi_10_4_pdev_param_map and update non 10.4 firmware pdev cmd map table with newly added vdev cmd id specifically for 10.4 firmware as unsupported. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 93841a15cce206450cdb31fe9b3f6b00342afe2b Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:13 2015 +0530 ath10k: add 10.4 fw wmi vdev cmd ids Include 10.4 firmware wmi vdev cmd id and make up wmi vdev map table wmi_10_4_vdev_param_map and also update non 10.4 firmware vdev cmd map table with newly added vdev cmd id specifically for 10.4 firmware as unsupported. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 772b4aeee51a851132abf799de8c07cfbe95ac00 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:12 2015 +0530 ath10k: set 10.4 fw exclusive wmi cmd as unsupported for other fw versions In fact, explicit assigned to ZERO for unsupported wmi commands are not really needed. Global static variable will have ZERO by default. However, just for better readability setting all wmi cmds in non 10.4 firmware wmi mapping table as unsupported for wmi cmd which are exclusively available only in 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2d491e69962a94bbeb0449a060cca2d156f943e9 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:11 2015 +0530 ath10k: include 10.4 fw specific wmi cmd and event ids 10.4 firmware wmi cmd and event id values are not exactly aligned with previous firmware versions (main, 10.x, 10.2, etc). Add new enum to define wmi cmd & event definitions for 10.4 firmware and prepare wmi_10_4_cmd_map based on 10.4 firmware wmi cmd definitions. wmi_cmd_map is extended to accommodate new wmi commands which are exclusively available in 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 840357ccc365b650d2321a5690cb5374192619ca Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:10 2015 +0530 ath10k: add 10.4 fw wmi service bitmap definition Include new enum to define wmi service bitmap definitions for 10.4 firmware and a function wmi_10_4_svc_map() to remap 10.4 firmware wmi service bitmap definitions to ath10k generic wmi services. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9bd213224654b8c13af8bffcf9bd07ee0baae5ef Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:09 2015 +0530 ath10k: include new wmi op version for 10.4 fw qca99X0 chip uses firmware version 10.4. Define a new macro ATH10K_FW_WMI_OP_VERSION_10_4 for 10.4 firmware and include in switch cases where ATH10K_FW_WMI_OP_VERSION_* is used to avoid compilation error. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d772703e705961dc4bd280373e3679c8c4f95df7 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:10 2015 +0530 ath10k: Add BMI param value to execute otp to hw_param BMI parameter value to execute downloaded otp binary is different for QCA99X0. Have a member in hw_params to hold hw specific BMI param. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit dcb02db1068b78bd1b4d2bf64317021c2531a7b0 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:09 2015 +0530 ath10k: Add support for code swap Code swap is a mechanism to use host memory to store some fw binary code segment. Ath10k host driver allocates and loads the code swap binary into the host memory and configures the target with the host allocated memory information at the address taken from code swap binary. This patch adds code swap support for firmware binary. Code swap binary for firmware bin is available in ATH10K_FW_IE_FW_CODE_SWAP_IMAGE. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit fd3d6ffbd035d24b2baff0b5b39751183c289b33 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:08 2015 +0530 ath10k: Fix BMI communication timeout for QCA99X0 There is more than 1 sec delay in getting response from target through BMI in QCA99X0. Increase the BMI communication timeout to 2*HZ to fix BMI failures. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2adf99ca33ca75c8a702797f77a1652e26f18a6e Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:07 2015 +0530 ath10k: Extend CE src desc flags for interrupt indication QCA99X0 uses two new copy engine src desc flags for interrupt indication. Bit_2 is to mark if host interrupt is disabled after processing the current desc and bit_3 is to mark if target interrupt is diabled after the processing of current descriptor. CE_DESC_FLAGS_META_DATA_MASK and CE_DESC_FLAGS_META_DATA_LSB are based on the target type. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6e4202c3ed301dea62885a3ead6506534fcf8db3 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:06 2015 +0530 ath10k: Add chip reset sequence for QCA99X0 QCA99X0 supports only cold reset. Also, made ath10k_pci_irq_msi_fw_mask() and ath10k_pci_irq_msi_fw_unmask() non-99X0 specific till we get proper register configuration to mask/unmask irq/MSI. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 418ca5992e2f91050e0673b3a3a78197f0122bf8 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:05 2015 +0530 ath10k: Make target cpu address to CE address conversion chip specific Make the helper converting target virtual address space to CE address space a target type specific to support QCA99X0. Also make this as function instead of macro. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 050af069de03489947023544bfed1977952b8215 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:04 2015 +0530 ath10k: Copy Engine related changes for QCA99X0 QCA99X0 supports upto 12 Copy engines. Host and target CE configuration table is updated to support new copy engine pipes. This also fixes the assumption of diagnostic CE by making CE_7 as the one instead of CE_COUNT - 1. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8bd4702103dca2b06446f85c04222faa8eb553b5 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:03 2015 +0530 ath10k: Add hw register/values for QCA99X0 chip This is to prepare the driver for QCA99X0 chip support. This commit adds hw_params, hw register table and hw_values table for QCA99X0 chip. Please note this is only a partial patch adding support for QCA99X0, so the device id is not yet added to pci device table. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a521ee983d312db76e6c275c32475cb20bdc7d39 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:02 2015 +0530 ath10k: Add new reg_address/mask to hw register table Add more register address and mask which can be different for newer chip to hw_reg table. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2f2cfc4a9a5b7be65d61382b58cfb206f13966df Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:01 2015 +0530 ath10k: Add a table to store hw specific values This is to prepare ath10k to support newer chip set. Values like CE_COUNT, MSI_ASSIGN_CE_MAX and RTC_STATE_V_ON can be different for different chips. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit aa610dcb7c1999fe3353562340a72196d9a54ae0 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Jun 22 23:35:52 2015 +0300 drm/i915/bxt: add DDI port HW readout support Add support for reading out the HW state for DDI ports. Since the actual programming is very similar to the CHV/VLV DPIO PLL programming we can reuse much of the logic from there. This fixes the state checker failures I saw on my BXT with HDMI output. v2: - rebased on v2 of patch 4/5 Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dccbea3b0704c77c5bbd9e5e9240d6eb253d2565 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Jun 22 23:35:51 2015 +0300 drm/i915: calculate the port clock rate along with other PLL params Depending on the platform the port clock fed to the pipe can be the PLL's post-divided fast clock rate or a /5 divided version of it. To make this more obvious across the platforms calculate this port clock along with the rest of the PLL parameters. This is also needed by the next patch where we can reuse the CHV helper for the BXT PLL HW readout code; so export the corresponding helper. While at it also add a more descriptive name to the helpers and a comment explaining what's being calculated. No functional change. Suggested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 589eca678a0348687fbfc3194a0d87467a3f6c3f Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Jun 22 23:35:50 2015 +0300 drm/i915/vlv: move the vlv PLL helper next to its platform counterparts Move the helper next to the PLL helpers of the other platforms for clarity. No functional change. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c8453338b8218b42b70cc256badeaca52021a42c Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Jun 18 17:25:55 2015 +0300 drm/i915/bxt: add PLL10 to the PLL state dumper Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 05712c1561041d102d3cac7d7e79548b1446caa4 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Jun 18 17:25:54 2015 +0300 drm/i915/bxt: add missing DDI PLL registers to the state checking Although we have a fixed setting for the PLL9 and EBB4 registers, it still makes sense to check them together with the rest of PLL registers. While at it also remove a redundant comment about 10 bit clock enabling. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8896f5d58e64bfd3c2b5f7c5ba5c3f3967e93c7 Author: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Date: Thu Jun 25 11:11:03 2015 +0300 drm/i915/skl: Buffer translation improvements This patch adds support for 0.85V VccIO on Skylake Y, separate buffer translation tables for Skylake U, and support for I_boost for the entries that needs this. Changes in v2: * Refactored the code a bit to move all DDI signal level setup to intel_ddi.c Issue: VIZ-5677 Signed-off-by: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Reviewed-by: Antti Koskipää <antti.koskipaa@xxxxxxxxxxxxxxx> [danvet: Apply style polish checkpatch suggested.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4b8a8262086ece4b7eb34bd2e40cce3b3c9c7079 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 19 18:30:22 2014 +0100 HID: picoLCD: Deletion of unnecessary checks before three function calls The functions backlight_device_unregister(), lcd_device_unregister() and rc_unregister_device() test whether their argument is NULL and then return immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 2cb389b7e4966151d44c505d49ea31a8d6969372 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:10 2015 +0300 drm/i915: Zero unused WM1 watermarks on VLV/CHV The hardware supposedly ignores the WM1 watermarks while the PND deadline mode is enabled, but clear out the register just in case. This is what the other OS does, and it does make register dumps look more consistent when we don't have partial WM1 values lingering in the registers (some WM1 watermarks already get zeroed when the actually used DSPFW registers get written). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de38b95cbb2a92ea037c22d41fc1476c0825c0d7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:09 2015 +0300 drm/i915: Add debugfs knobs for VLVCHV memory latency values Allow tweaking the VLV/CHV memory latencies thorugh sysfs, like we do for ILK+. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6f9c784b7ec2cc9fc9fd7c5a8634b70aadd76015 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:08 2015 +0300 drm/i915: Don't do PM5/DDR DVFS with multiple pipes Enabling PM5/DDR DVFS with multiple active pipes isn't a validated configuration. It does seem to work most of the time at least, but there is clearly an additional risk of underruns, so let's not play with fire. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 852eb00dc44ea2b8896e2fa27c6a36a1f697ba5a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:07 2015 +0300 drm/i915: Try to make sure cxsr is disabled around plane enable/disable CxSR (or maxfifo on VLV/CHV) blocks somne changes to the plane control register (enable bit at least, not quite sure about the rest). So in order to have the plane enable/disable when we want we need to first kick the hardware out of cxsr. Unfortunateloy this requires some extra vblank waits. For the CxSR enable after the plane update we should eventually use an async vblank worker, but since we don't have that just do sync vblank waits. For the disable case we have no choice but to do it synchronously. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26e1fe4fbd4c15919f8cfa9440d70eca5a457ba3 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:06 2015 +0300 drm/i915: Use the memory latency based WM computation on VLV too In order to get decnet memory self refresh residency on VLV, flip it over to the new CHV way of doing things. VLV doesn't do PM5 or DDR DVFS so it's a bit simpler. I'm not sure the currently memory latency used for CHV is really appropriate for VLV. Some further testing will probably be needed to figure that out. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 54f1b6e15db87722aa21035169ce811af9d971fd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:05 2015 +0300 drm/i915: Compute display FIFO split dynamically for CHV Consider which planes are active and compute the FIFO split based on the relative data rates. Since we only consider the pipe src width rather than the plane width when computing watermarks it seems best to do the same when computing the FIFO split as well. This means the only thing we actually have to consider for the FIFO splut is the bpp, and we can ignore the rest. I've just stuffed the logic into the watermark code for now. Eventually it'll need to move into the atomic update for the crtc. There's also one extra complication I've not yet considered; Some of the DSPARB registers contain bits related to multiple pipes. The registers are double buffered but apparently they update on the vblank of any active pipe. So doing the FIFO reconfiguration properly when multiple pipes are active is not going to be fun. But let's ignore that mess for now. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 262cd2e154c29dc3a235f68cc91e13d8f48e8002 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:04 2015 +0300 drm/i915: CHV DDR DVFS support and another watermark rewrite Turns out the VLV/CHV system agent doesn't understand memory latencies, so trying to rely on the PND deadline mechanism is not going to fly especially when DDR DVFS is enabled. Currently we try to avoid the problems by lying to the system agent about the deadlines and setting the FIFO watermarks to 8 cachelines. This however leads to bad memory self refresh residency. So in order to satosfy everyone we'll just give up on the deadline scheme and program the watermarks old school based on the worst case memory latency. I've modelled this a bit on the ILK+ approach where we compute multiple sets of watermarks for each pipe (PM2,PM5,DDR DVFS) and when merge thet appropriate one later with the watermarks from other pipes. There isn't too much to merge actually since each pipe has a totally independent FIFO (well apart from the mess with the partially shared DSPARB registers), but still decopuling the pipes from each other seems like a good idea. Eventually we'll want to perform the watermark update in two phases around the plane update to avoid underruns due to the single buffered watermark registers. But that's still in limbo for ILK+ too, so I've not gone that far yet for VLV/CHV either. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6eb1a6817246f1a67de4d6959a84d09efead5329 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:03 2015 +0300 drm/i915: Read wm values from hardware at init on CHV Read out the current watermark settings from the hardware at driver init time. This will allow us to compare the newly calculated values against the currrent ones and potentially avoid needless WM updates. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f015c5518879fb3e578caaa63806617468a24045 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:02 2015 +0300 drm/i915: Split atomic wm update to pre and post variants Try to update the watermarks on the right side of the plane update. This is just a temporary hack until we get the proper two part update into place. However in the meantime this might have some chance of at least working. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a7a6c498927ea42c9a3b26e0caa5c854a980d58c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:01 2015 +0300 drm/i915: POSTING_READ() in intel_set_memory_cxsr() We want cxsr exit to happen ASAP, so toss in some POSTING_READ()s to make sure things are really kicked off. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 031b698a77a70a6c394568034437b5486a44e868 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jun 26 19:35:16 2015 +0200 drm/i915: Unconditionally do fb tracking invalidate in set_domain We can't elide the fb tracking invalidate if the buffer is already in the right domain since that would lead to missed screen updates. I'm pretty sure I've written this already before but must have gotten lost unfortunately :( v2: Chris observed that all internal set_domain users already correctly do the fb invalidate on their own, hence we can move this just into the set_domain ioctl instead. v3: I screwed up setting the invalidate ORIGIN_* correctly (Chris). Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reported-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Tested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 066cf55b9ce35f1f90dde9fcec01431a9243a949 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Jun 26 13:55:54 2015 -0700 drm/i915: Fix IPS related flicker We cannot let IPS enabled with no plane on the pipe: BSpec: "IPS cannot be enabled until after at least one plane has been enabled for at least one vertical blank." and "IPS must be disabled while there is still at least one plane enabled on the same pipe as IPS." This restriction apply to HSW and BDW. However a shortcut path on update primary plane function to make primary plane invisible by setting DSPCTRL to 0 was leting IPS enabled while there was no other plane enabled on the pipe causing flickerings that we were believing that it was caused by that other restriction where ips cannot be used when pixel rate is greater than 95% of cdclok. v2: Don't mess with Atomic path as pointed out by Ville. v3: Rebase after a long time and atomic path changes. Accept Ville suggestion of not check !fb v4: Re-factore on dinq Reference: https://bugs.freedesktop.org/show_bug.cgi?id=85583 Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Kenneth Graunke <kenneth@xxxxxxxxxxxxx> [danvet: Make it compile] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 12ebb05246338aa9cdee51da50f57237352b3f64 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Jun 21 12:18:09 2015 +0200 iio:adc:Kconfig: rework help descriptions Rework the help text of several ADCs to make sure that: - the module name is mentioned, if the driver can be built as a module - "If unsure, say N" messages are dropped - right indentation is maintained Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e7ad987832637701fc723ac2c1580c30c191bca6 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Jun 26 18:34:29 2015 +0100 drm/i915/skl: Skip remaining dividers when deviation is 0 We can't improve a 0 deviation, so when we find such a divider, skip the remaining ones they won't be better. This short-circuit the search for 34 of the 373 test frequencies in the corresponding i-g-t test (tools/skl_compute_wrpll) v2: Place the short-circuiting code in skl_compute_wrpll() (Paulo) (I'm sure nobody will notice the spurious removal of a blank line) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Suggested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 350405623ff3f447813eaef2035272bf05281671 Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Thu Jun 25 14:54:07 2015 -0700 drm/i915: Update rps frequencies for BXT Broxton is using a different register and different bit ordering for rps status capabilities. Also GT perf freqency register is different for Broxton so update that. Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 267db663458a8077a087674fb85ea95f540d8671 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 25 16:19:24 2015 +0100 drm/i915/skl: Prefer even dividers for SKL DPLLs Currently, if an odd divider improves the deviation (minimizes it), we take that divider. The recommendation is to prefer even dividers. v2: Move the check at the right place after having inverted the two for loops in the previous patch. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dc2538139277089e218b1b1d0d01454ecf39e944 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 25 16:15:06 2015 +0100 drm/i915/skl: Replace the HDMI DPLL divider computation algorithm The HW validation team came back from further testing with a slightly changed constraint on the deviation between the DCO frequency and the central frequency. Instead of +-4%, it's now +1%/-6%. Unfortunately, the previous algorithm didn't quite cope with these new constraints, the reason being that it wasn't thorough enough looking at the possible divider candidates. The new algorithm looks at all dividers, which is definitely a hammer approach (we could reduce further the set of dividers to good ones as a follow up, at the cost of a bit more complicated code). But, at least, we can now satisfy the +1%/+6% rule for all the "Well known" HDMI frequencies of my test set (373 entries). On that subject, the new code is quite extensively tested in intel-gpu-tools (tools/skl_compute_wrpll). v2: Fix cycling between central frequencies and dividers (Paulo) Properly choose the minimal deviation between postive and negative candidates (Paulo). On the 373 test frequencies, v2 computes better dividers than v1 (ie more even dividers and lower deviation on average): v1: average deviation: 206.52 v2: average deviation: 194.47 Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f37c05052ff6430767f3bff60efc0e92f690495b Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jun 10 17:46:39 2015 +0100 drm/i915/gtt: Switch gen8_free_page_tables params After Mika's ppgtt cleanup series, all the other free functions have drm_device as the first parameter, except this one. No functional changes. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7a01a0a292c25a85cd36efcd5920d2f1caccbb2b Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Jun 26 13:46:14 2015 +0100 drm/i915/lrc: Update PDPx registers with lri commands A safer way to update the PDPx registers is sending lri commands, added in the ring before the batchbuffer start. Otherwise, the ctx must be idle before trying to change anything (but the ring-tail) in the ctx image. An example where the ctx won't be idle is lite-restore. This patch depends on 5b7e4c9ce ("drm/i915/gtt: Mark TLBS dirty for gen8+"). v2: Combine lri writes (and save 8 commands). (Mika) v3: Rebase after ring/req changes, and removed references to deprecated patches. Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 966082c93273f4fd52f4a068b4b55c47e3ba72cc Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:19 2015 +0300 drm/i915/gtt: Use nonatomic bitmap ops There is no need for atomicity here. Convert all bitmap operations to nonatomic variants. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 79ab93705464982b9f7e9b5dfabfacde634338aa Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:17 2015 +0300 drm/i915/gtt: Move scratch_pd and scratch_pt into vm struct Scratch page is part of struct i915_address_space. Move other scratch entities into the same struct. This is a preparatory patch for having only one instance of each scratch_pt/pd. v2: make commit msg more readable Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v1) [danvet: Bikeshed summary to avoid confusion with vmas.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe36f55d4d4447679923fc74564786ae423ca4bd Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:16 2015 +0300 drm/i915/gtt: Cleanup page directory encoding Write page directory entry without using superfluous indirect function. Also remove unused device parameter from the encode function. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b2dd45111e0fb4b36dcc972c7ae4e69ff1df4f88 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:15 2015 +0300 drm/i915/gtt: Pin vma during virtual address allocation Dynamic page table allocation might wake the shrinker when memory is requested for page table structures. As this happens when we try to allocate the virtual address during binding, our vma might be among the targets for eviction. We should do i915_vma_pin() and do pin early in there like Chris suggests but this is interim solution. Shield our vma from shrinker by incrementing pin count before the virtual address is allocated. The proper place to fix this would be in gem, inside of i915_vma_pin(). But we don't have that yet so take the short cut as a intermediate solution. Testcase: igt/gem_ctx_thrash Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c114f76a0a76eeffa1c1be392d98182c2cc30291 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:13 2015 +0300 drm/i915/gtt: Make scratch page i915_page_dma compatible Lay out scratch page structure in similar manner than other paging structures. This allows us to use the same tools for setup and teardown. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 567047be2a7ede082d29f45524c287b87bd75e53 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:12 2015 +0300 drm/i915/gtt: Use macros to access dma mapped pages Make paging structure type agnostic *_px macros to access page dma struct, the backing page and the dma address. This makes the code less cluttered on internals of i915_page_dma. v2: Superfluous const -> nonconst removed v3: Rebased Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d1c54acd67dc6518629224b68cac17cd5cff1dc3 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:11 2015 +0300 drm/i915/gtt: Introduce kmap|kunmap for dma page As there is flushing involved when we have done the cpu write, make functions for mapping for cpu space. Make macros to map any type of paging structure. v2: Make it clear tha flushing kunmap is only for ppgtt (Ville) v3: Flushing fixed (Ville, Michel). Removed superfluous semicolon Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73eeea537b1bb9c53c9e406a16354f6bc9b2be62 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:10 2015 +0300 drm/i915/gtt: Introduce fill_page_dma() When we setup page directories and tables, we point the entries to a to the next level scratch structure. Make this generic by introducing a fill_page_dma which maps and flushes. We also need 32 bit variant for legacy gens. v2: Fix flushes and handle valleyview (Ville) v3: Now really fix flushes (Michel, Ville) Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cee30c5439f5c9569ac9260b6e6968faf19cc575 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:09 2015 +0300 drm/i915/gtt: Remove superfluous free_pd with gen6/7 This has slipped in somewhere but it was harmless as we check the page pointer before teardown. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a08e111a6cc88514155b087e0c307581064352b5 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:08 2015 +0300 drm/i915/gtt: Rename unmap_and_free_px to free_px All the paging structures are now similar and mapped for dma. The unmapping is taken care of by common accessors, so don't overload the reader with such details. v2: Be consistent with goto labels (Michel) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44159ddbeac3d34e5ca9037e151a242b7388df8e Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:07 2015 +0300 drm/i915/gtt: Introduce struct i915_page_dma All our paging structures have struct page and dma address for that page. Add struct for page/dma address pairs and use it to make the setup and teardown for different paging structures identical. Include the page directory offset also in the struct for legacy gens. Rename it to clearly point out that it is offset into the ggtt. v2: Add comment about ggtt_offset (Michel) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d852c7bf902aa36f37b6fd0bb1147c922e7bd0fb Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:06 2015 +0300 drm/i915/gtt: Introduce i915_page_dir_dma_addr The legacy mode mm switch and the execlist context assignment needs dma address for the page directories. Introduce a function that encapsulates the scratch_pd dma fallback if no pd is found. v2: Rebase, s/ring/req Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c44ef60e437019b8ca1dab8b4d2e8761fd4ce1e9 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:05 2015 +0300 drm/i915/gtt: Allow >= 4GB sizes for vm. We can have exactly 4GB sized ppgtt with 32bit system. size_t is inadequate for this. v2: Convert a lot more places (Daniel) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a05d80eec27460a2dca06676d489637e25f93caf Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:04 2015 +0300 drm/i915/gtt: Check va range against vm size Check the allocation area against the known end of address space instead of against fixed value. v2: Return ENODEV on internal bugs (Chris) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5b7e4c9ce19038f88828309a0a61f5d5c6686d37 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:03 2015 +0300 drm/i915/gtt: Mark TLBS dirty for gen8+ When we touch gen8+ page maps, mark them dirty like we do with previous gens. v2: Update comment (Joonas) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fa9f3281cbb1075545d4528c84059a3f4e117b44 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jun 11 20:45:49 2015 +0300 iwlwifi: pcie: lock start_hw / start_fw / stop_device This allows to ensure that we don't have races between them. A user reported that stop_device was called twice upon rfkill interrupt after suspend. When the interrupts are enabled, and right after when we directly check the rfkill state. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 012c02c15ac63b0b26c7f058c744e85cb563a737 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Jun 16 22:37:40 2015 +0300 iwlwifi: dvm: start HW before running FW The new locking in PCIe transport requires to start_hw before start_fw. This uncovered a bug in dvm which failed to do so. Fix that. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6c7d32cfdc622ef4b9f157592fc167513507270d Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Sun Jun 7 09:34:57 2015 +0300 iwlwifi: deprecate -10.ucode for 3160 / 7260 / 7265 This firmware is not supported anymore - stop loading this firmware. Remove code handling older versions. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1738d60b31d7792516426d62521ec65bff8281f5 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri May 22 12:09:44 2015 +0200 iwlwifi: mvm: handle RX MPDUs separately There's no need to forward RX MPDUs to notification wait tests, nor do we need to check them for firmware dump triggers, nor could they be asynchronous. It's thus more efficient to handle them separately, before going into the regular RX handlers. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b503ed603ec9acc25dd31808fe87575bdaeab4e7 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Wed May 27 22:20:46 2015 +0300 iwlwifi: mvm: rs: report last tx rate based on RSSI and caps In scenarios where we haven't converged yet to a specific modulation and rate it could be better to report to userspace the last tx rate based on the STA capabilities and RSSI. This is important as sometimes userspace displays the last tx rate as the link speed. This avoids being presented with low legacy rates when rs just begins its search or after an idle period in which it resets itself. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9e2ee2dd044e01e06e4a6389583f95bfa1058bf1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 21:59:35 2015 +0300 drm/i915: Add debug messages for pipe enable/disable Currently we don't have any real indication when a pipe gets enabled/disabled. Add some. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a9ff8714d911b1f9417af75525eb29ac31e014fc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 21:59:34 2015 +0300 drm/i915: Store frontbuffer_bits in the plane Avoid some 'switch (plane->type)' by storing the fronbuffer_bits in intel_plane. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: use singular frontbuffer_bits in intel_plane since a plan can only ever have one bit. Discussed with Ville on irc.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit acd3f3d3516838ebe001b7048fe59ab5b93bb645 Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Tue Jun 23 14:14:26 2015 -0700 drm/i915: Add the ddi get cdclk code for BXT (v3) The registers and process differ from other platforms. If the hardware was programmed incorrectly, this will return invalid cdclk values, which should then cause reprogramming of the hardware. v2(Matt): Return 19.2 MHz when DE PLL is disabled (Ville) v3: Make less assumptions about the hardware state (Ville) Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9e759ff1f4a047c405034dfff1ee5c87abba41db Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Jun 23 12:57:43 2015 +0100 drm/i915: Return correct size for rotated views Currently object size is returned for the rotated VMA size which can be bigger than the rotated view itself. Since the binding code pads all excess size with scratch pages the only minor issue with this is wasting some GGTT space, but still feels nicer to fix and report the real size. v2: Rebase for tracking size in bytes instead of pages. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 84fe03f7b2481b3a1cf4fb9db6e5df8d3698a4fe Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Jun 23 14:26:46 2015 +0100 drm/i915: Move rotated geometry calculations into the fill helper This way data is available as soon as the view is passed into the call chain. v2: Store size in bytes instead of pages under the appropriate name. (Chris Wilson) v3: Use uint64_t instead of size_t. (Daniel Vetter) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> (v2) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9f8fd2d87eebb97b0ffdb3ff6cd90eb1c8e00bd Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Wed Jun 24 09:55:20 2015 +0100 drm/i915: Remove mostly unused variable in intel_rotate_fb_obj_pages It is only used in logging and it doesn't need to exist on its own. Also it was misleading to log view size as object size. v2: Improve commit message. (Joonas Lahtinen) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> [danvet: s/%lu/%zu/ where needed, reported by 0-day.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c329a4ec595e886300710271db24bc29b74a4205 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:23 2015 +0200 drm/i915: Nuke lvds downclock support With the new DRRS code it kinda sticks out, and we never managed to get this to work well enough without causing issues. Time to wave goodbye. I've decided to keep the logic for programming the reduced clocks intact, but everything else is gone. If anyone ever wants to resurrect this we need to redo it all anyway on top of the frontbuffer tracking. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8c6cda29194c5891d52cbd9d7aac496b61bf9310 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Jun 23 20:40:27 2015 +0300 drm/i915/gen9: fix typo when setting up the crtc scaler This typo lead to the crtc scaler getting enabled incorrectly and an evantual state checker mismatch about the scaler_id. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0160f055393f457f8f218377bc088207eb502c38 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jun 23 15:46:57 2015 +0100 drm/i915/gen8: Add WaClearSlmSpaceAtContextSwitch workaround In Indirect context w/a batch buffer, WaClearSlmSpaceAtContextSwitch This WA performs writes to scratch page so it must be valid, this check is performed before initializing the batch with this WA. v2: s/PIPE_CONTROL_FLUSH_RO_CACHES/PIPE_CONTROL_FLUSH_L3 (Ville) v3: GTT bit in scratch address should be mbz (Chris) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9fb73863cc3eda7476e88a03e8b125b3d309b7b3 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:28 2015 +0200 drm/i915: Use to_i915 in intel_frontbuffer.c Must have missed the transition. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 20c8838b0e3ba408a0ffe185b6124cdd0fcc3283 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:27 2015 +0200 drm/i915/psr: Restrict single-shot updates to the PSR pipe The frontbuffer code gives us accurate information about activity, let's use it. Again this should avoid unecessary updates when multiple screens are on. Also realign function paramaters, I couldn't resist that bit of OCD. Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Durgadoss R <durgadoss.r@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ec76d62999b73f818f7d777ce037157bd2d4af02 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:26 2015 +0200 drm/i915/psr: Restrict buffer tracking to the PSR pipe The current code tracks business across all pipes, but we're only really interested in the one pipe DRRS is enabled on. Fairly tiny optimization, but something I noticed while reading the code. But it might matter a bit when e.g. showing a video or something only on the external screen, while the panel is kept static. Also regroup the code slightly: First compute new bitmasks, then take appropriate actions. Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Durgadoss R <durgadoss.r@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c1d038c6e2fe1a07b23d8908bb2edfc95ca571cd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:25 2015 +0200 drm/i915/drrs: Restrict buffer tracking to the DRRS pipe The current code tracks business across all pipes, but we're only really interested in the one pipe DRRS is enabled on. Fairly tiny optimization, but something I noticed while reading the code. But it might matter a bit when e.g. showing a video or something only on the external screen, while the panel is kept static. Also regroup the code slightly: First compute new bitmasks, then take appropriate actions. Cc: Ramalingam C <ramalingam.c@xxxxxxxxx> Cc: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 251ac8621921d3936ea2eff6790fe35b25cf28a4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:24 2015 +0200 drm/i915: s/update/compute/ for gmch dpll register functions I was momentarily confused until I've double-checked that these functions really only compute state and don't update the hardware state. They once did that, but since Ander's rework of the dpll computation flow that's no longer the case. Rename them to avoid further confusion. Note that the ilk code already follows the compute_dpll naming scheme for computing the actual register value. DDI code goes with _calc_, but that is close enough. Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9a851789e8a0cf38f9c04705a8e01b572e61f05f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:22 2015 +0200 drm/i915: debugfs for frontbuffer tracking Useful to figure out whether stuck bits are due to the frontbuffer tracking code as opposed to individual consumers (who have their own bitmask tracking). Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 27e78a2a1f92e79707b4fb18cff1276088ef9178 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:21 2015 +0200 drm/i915: Filter out no-op frontbuffer tracking flushes Paulo noticed that the fbc frontbuffer tracking flush callback occasionally gets a call without any bit set. This can happen when we have to filter flush calls due to e.g. gpu rendering. Filter these out. Reported-by: Paulo Zanoni <przanoni@xxxxxxxxx> Cc: Paulo Zanoni <przanoni@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit fdbff9282c0f5f61ffc87d57461b04d943250910 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 11:23:24 2015 +0200 drm/i915: Clear fb_tracking.busy_bits also for synchronous flips The current/old frontbuffer might still have gpu frontbuffer rendering pending. But once flipped it won't have the corresponding frontbuffer bits any more and hence the request retire function won't ever clear the corresponding busy bits. The async flip tracking (with the flip_prepare and flip_complete functions) already does this, but somehow I've forgotten to do this for synchronous flips. Note that we don't track outstanding rendering of the new framebuffer with busy_bits since all our plane update code waits for previous rendering to complete before displaying a new buffer. Hence a new buffer will never be busy. v2: Drop the spurious inline Ville spotted. v3: Don't touch flip_bits in the synchronsou frontbuffer_flip function, noticed by Paulo. v4: Remove one more inline that slipped through (Paulo). Reported-by: Paulo Zanoni <przanoni@xxxxxxxxx> Cc: Paulo Zanoni <przanoni@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Testcase: igt/kms_frontbuffer_tracking/fbc-modesetfrombusy Tested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 392d39cfcaa9bcfa202fb0fd3bc65f3c20de318f Author: Han Xu <b45815@xxxxxxxxxxxxx> Date: Wed May 13 14:40:57 2015 -0500 mtd: fsl-quadspi: Access multiple chips simultaneously Add supports for simultaneous access to multiple chips. Need to lock the mutex before any quad spi operations and unlock the mutex after operations complete. Signed-off-by: Han Xu <b45815@xxxxxxxxxxxxx> [Brian: reworked err path in fsl_qspi_prep()] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5e60d790714bbda0402ddd715aee5e61b48682f4 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jun 23 15:50:44 2015 +0100 drm/i915: Bail out early if WA batch is not available for given Gen To initialize WA batch, at the moment we first allocate batch and then check whether we have any WA to be initialized for the given Gen; if we don't have any WA then we WARN the user, destroy the batch and return but this is causing another WARN in cleanup code complaining about sleeping in atomic context. Till we understand this better and to keep things simpler, bail out early if we don't have WA. Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d78c8dcf9f856587fb7bf664021d9fb699012d9 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jun 23 15:50:43 2015 +0100 drm/i915: Fix warnings reported by 0-day Kernel 0-day framework reported warnings with WA batch patches, this patch fixes those warnings and an additional warning reported in intel_lrc.c file. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a5ac0f907d5b713a89c960605f36c0ccb436022c Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:15 2015 +0100 drm/i915: Remove the now obsolete 'i915_gem_check_olr()' As there is no OLR to check, the check_olr() function is now a no-op and can be removed. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ae70797d8d28d01e6354961e76f56112dae09052 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:14 2015 +0100 drm/i915: Update a bunch of LRC functions to take requests A bunch of the low level LRC functions were passing around ringbuf and ctx pairs. In a few cases, they took the r/c pair and a request as well. This is all quite messy and unnecesary. The context_queue() call is especially bad since the fake request code got removed - it takes a request and three extra things that must be extracted from the request and then it checks them against what it finds in the request. Removing all the derivable data makes the code much simpler all round. This patch updates those functions to just take the request structure. Note that logical_ring_wait_for_space now takes a request structure but already had a local request pointer that it uses to scan for something to wait on. To avoid confusion the local variable has been renamed 'target' (it is searching for a target request to do something with) and the parameter has been called req (to guarantee anything accidentally missed gets a compiler error). v2: Updated commit message re wait_for_space (Tomas Elf review comment). For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9bb1af4406f475e6b68aa53c6227b98aed56d11d Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:13 2015 +0100 drm/i915: Remove 'faked' request from LRC submission The LRC submission code requires a request for tracking purposes. It does not actually require that request to 'complete' it simply uses it for keeping hold of reference counts on contexts and such like. Previously, the fall back path of polling for space in the ring would start by submitting any outstanding work that was sat in the buffer. This submission was not done as part of the request that that work was owned by because that would lead to complications with the request being submitted twice. Instead, a null request structure was passed in to the submit call and a fake one was created. That fall back path has long since been obsoleted and has now been removed. Thus there is never any need to fake up a request structure. This patch removes that code. A couple of sanity check warnings are added as well, just in case. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fcfa423cbba268b1473e2d8c38fe6dbe65da88ea Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:12 2015 +0100 drm/i915: Move the request/file and request/pid association to creation time In _i915_add_request(), the request is associated with a userland client. Specifically it is linked to the 'file' structure and the current user process is recorded. One problem here is that the current user process is not necessarily the same as when the request was submitted to the driver. This is especially true when the GPU scheduler arrives and decouples driver submission from hardware submission. Note also that it is only in the case where the add request comes from an execbuff call that there is a client to associate. Any other add request call is kernel only so does not need to do it. This patch moves the client association into a separate function. This is then called from the execbuffer code path itself at a sensible time. It also removes the now redundant 'file' pointer from the add request parameter list. An extra cleanup of the client association is also added to the request clean up code for the eventuality where the request is killed after association but before being submitted (e.g. due to out of memory error somewhere). Once the submission has happened, the request is on the request list and the regular request list removal will clear the association. Note that this still needs to happen at this point in time because the request might be kept floating around much longer (due to someone holding a reference count) and the client should not be worrying about this request after it has been retired. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bccca494f75cbad4ea2d09e8205cab09ee610f6a Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:11 2015 +0100 drm/i915: Remove the now obsolete 'outstanding_lazy_request' The outstanding_lazy_request is no longer used anywhere in the driver. Everything that was looking at it now has a request explicitly passed in from on high. Everything that was relying upon it behind the scenes is now explicitly creating/passing/submitting its own private request. Thus the OLR can be removed. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 59c35a4d120ef5e34e91f2bccdfcf9e27a3b9397 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:10 2015 +0100 drm/i915: Remove the now obsolete intel_ring_get_request() Much of the driver has now been converted to passing requests around instead of rings/ringbufs/contexts. Thus the function for retreiving the request from a ring (i.e. the OLR) is no longer used and can be removed. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ccd98fe4996cd22094cde7b6a1f7c569f261b3e9 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:09 2015 +0100 drm/i915: Add *_ring_begin() to request allocation Now that the *_ring_begin() functions no longer call the request allocation code, it is finally safe for the request allocation code to call *_ring_begin(). This is important to guarantee that the space reserved for the subsequent i915_add_request() call does actually get reserved. v2: Renamed functions according to review feedback (Tomas Elf). For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d616a293a1071d19066808abccb40930f0ae5a0 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:08 2015 +0100 drm/i915: Update intel_logical_ring_begin() to take a request structure Now that everything above has been converted to use requests, intel_logical_ring_begin() can be updated to take a request instead of a ringbuf/context pair. This also means that it no longer needs to lazily allocate a request if no-one happens to have done it earlier. Note that this change makes the execlist signature the same as the legacy version. Thus the two functions could be merged into a ring->begin() wrapper if required. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5fb9de1a2ea1968b57c906c6770794f1e7744828 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:07 2015 +0100 drm/i915: Update intel_ring_begin() to take a request structure Now that everything above has been converted to use requests, intel_ring_begin() can be updated to take a request instead of a ring. This also means that it no longer needs to lazily allocate a request if no-one happens to have done it earlier. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bba09b12b47b31b147206f5784691d2fb8888bf1 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:06 2015 +0100 drm/i915: Update cacheline_align() to take a request structure Updated intel_ring_cacheline_align() to take a request instead of a ring. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f71696876a16c3d68d27db71d93f389ae440171c Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:05 2015 +0100 drm/i915: Update ring->signal() to take a request structure Updated the various ring->signal() implementations to take a request instead of a ring. This removes their reliance on the OLR to obtain the seqno value that should be used for the signal. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 599d924c6b01e89b53c7879e7d7d89baa8d677d2 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:04 2015 +0100 drm/i915: Update ring->sync_to() to take a request structure Updated the ring->sync_to() implementations to take a request instead of a ring. Also updated the tracer to include the request id. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> [danvet: Rebase since I didn't merge the patch which added ->uniq.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be795fc17bc9d42b0e5ec3e4442b59848137eb64 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:03 2015 +0100 drm/i915: Update ring->emit_bb_start() to take a request structure Updated the ring->emit_bb_start() implementation to take a request instead of a ringbuf/context pair. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53fddaf70d08aa6ff59a94ae0578ddc8743e920f Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:02 2015 +0100 drm/i915: Update ring->dispatch_execbuffer() to take a request structure Updated the various ring->dispatch_execbuffer() implementations to take a request instead of a ring. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c4e766389e8b7ce3ceb7f2785d4bb94b82448ff0 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:01 2015 +0100 drm/i915: Update ring->emit_request() to take a request structure Updated the ring->emit_request() implementation to take a request instead of a ringbuf/request pair. Also removed its use of the OLR for obtaining the request's seqno. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ee044a8863de58044cb370c23f97b9b68b33e47b Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:00 2015 +0100 drm/i915: Update ring->add_request() to take a request structure Updated the various ring->add_request() implementations to take a request instead of a ring. This removes their reliance on the OLR to obtain the seqno value that the request should be tagged with. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7deb4d3980ea44ebb4097426f85d5f6c89b873a4 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:59 2015 +0100 drm/i915: Update ring->emit_flush() to take a request structure Updated the various ring->emit_flush() implementations to take a request instead of a ringbuf/context pair. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f2cf1fcc70d6577dce73f269609e0753e1a99802 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:58 2015 +0100 drm/i915: Update some flush helpers to take request structures Updated intel_emit_post_sync_nonzero_flush(), gen7_render_ring_cs_stall_wa() and gen8_emit_pipe_control() to take requests instead of rings. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a84c3ae168837dbedd0bde76a536360e84ae863a Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:57 2015 +0100 drm/i915: Update ring->flush() to take a requests structure Updated the various ring->flush() functions to take a request instead of a ring. Also updated the tracer to include the request id. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> [danvet: Rebase since I didn't merge the addition of req->uniq.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e85b26dc1ca5ecbf6456c61a131a986a755cbc69 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:56 2015 +0100 drm/i915: Update switch_mm() to take a request structure Updated the switch_mm() code paths to take a request instead of a ring. This includes the myriad *_mm_switch functions themselves and a bunch of PDP related helper functions. v2: Rebased to newer tree. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4866d729ab3833b811b8972d773477d3e4a6f9c0 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:55 2015 +0100 drm/i915: Update flush_all_caches() to take request structures Updated the *_ring_flush_all_caches() functions to take requests instead of rings or ringbuf/context pairs. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e2be4faf30d6cb0af77c0105837df25f925903c9 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:54 2015 +0100 drm/i915: Update workarounds_emit() to take request structures Updated the *_ring_workarounds_emit() functions to take requests instead of ring/context pairs. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2f20055d360a2bb6863163d8b8b005ded1f6ba08 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:53 2015 +0100 drm/i915: Update a bunch of execbuffer helpers to take request structures Updated *_ring_invalidate_all_caches(), i915_reset_gen7_sol_offsets() and i915_emit_box() to take request structures instead of ring or ringbuf/context pairs. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d719cda8b30bb179af74c6f16067db736983041 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:52 2015 +0100 drm/i915: Update mi_set_context() to take a request structure Updated mi_set_context() to take a request structure instead of a ring and context pair. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6909a666466e4a83159df94c4e29cb9cd52fce9e Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:51 2015 +0100 drm/i915: Update l3_remap to take a request structure Converted i915_gem_l3_remap() to take a request structure instead of a ring. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b2af03769301e986740c50bf72a47b9abd528290 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:50 2015 +0100 drm/i915: Update [vma|object]_move_to_active() to take request structures Now that everything above has been converted to use request structures, it is possible to update the lower level move_to_active() functions to be request based as well. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 75289874e4484cd4702b3341b654b45b4a09b9d3 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:49 2015 +0100 drm/i915: Update add_request() to take a request structure Now that all callers of i915_add_request() have a request pointer to hand, it is possible to update the add request function to take a request pointer rather than pulling it out of the OLR. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6258fbe23fe04da544261f48112a292bdb068c12 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:48 2015 +0100 drm/i915: Update queue_flip() to take a request structure Updated the display page flip code to do explicit request creation and submission rather than relying on the OLR and just hoping that the request actually gets submitted at some random point. The sequence is now to create a request, queue the work to the ring, assign the known request to the flip queue work item then actually submit the work and post the request. Note that every single flip function used to finish with '__intel_ring_advance(ring);'. However, immediately after they return there is now an add request call which will do the advance anyway. Thus the many duplicate advance calls have been removed. v2: Updated commit message with comment about advance removal. v3: The request can now be allocated by the _sync() code earlier on. Thus the page flip path does not necessarily need to allocate a new request, it may be able to re-use one. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dad540ce02c5bc82569061c9562982e6f052ee42 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:47 2015 +0100 drm/i915: Update overlay code to do explicit request management The overlay update code path to do explicit request creation and submission rather than relying on the OLR to do the right thing. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 91af127fd7a2f069046b0b6740473e70e0051492 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Thu Jun 18 13:14:56 2015 +0100 drm/i915: Update i915_gem_object_sync() to take a request structure The plan is to pass requests around as the basic submission tracking structure rather than rings and contexts. This patch updates the i915_gem_object_sync() code path. v2: Much more complex patch to share a single request between the sync and the page flip. The _sync() function now supports lazy allocation of the request structure. That is, if one is passed in then that will be used. If one is not, then a request will be allocated and passed back out. Note that the _sync() code does not necessarily require a request. Thus one will only be created until certain situations. The reason the lazy allocation must be done within the _sync() code itself is because the decision to need one or not is not really something that code above can second guess (except in the case where one is definitely not required because no ring is passed in). The call chains above _sync() now support passing a request through which most callers passing in NULL and assuming that no request will be required (because they also pass in NULL for the ring and therefore can't be generating any ring code). The exeception is intel_crtc_page_flip() which now supports having a request returned from _sync(). If one is, then that request is shared by the page flip (if the page flip is of a type to need a request). If _sync() does not generate a request but the page flip does need one, then the page flip path will create its own request. v3: Updated comment description to be clearer about 'to_req' parameter (Tomas Elf review request). Rebased onto newer tree that significantly changed the synchronisation code. v4: Updated comments from review feedback (Tomas Elf) For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be01363f0a38c30828aca620e30f8c158910fca6 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:45 2015 +0100 drm/i915: Update render_state_init() to take a request structure Updated the two render_state_init() functions to take a request pointer instead of a ring. This removes their reliance on the OLR. v2: Rebased to newer tree. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8753181e1006dcebc84127ce29b8f8166bb1ada3 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:44 2015 +0100 drm/i915: Update init_context() to take a request structure Now that everything above has been converted to use requests, it is possible to update init_context() to take a request pointer instead of a ring/context pair. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 76c3916887f1225db4b4960c59820db1a995f3cb Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:43 2015 +0100 drm/i915: Update deferred context creation to do explicit request management In execlist mode, context initialisation is deferred until first use of the given context. This is because execlist mode has per ring context state and thus many more context storage objects than legacy mode and many are never actually used. Previously, the initialisation commands were written to the ring and tagged with some random request structure via the OLR. This seemed to be causing a null pointer deference bug under certain circumstances (BZ:88865). This patch adds explicit request creation and submission to the deferred initialisation code path. Thus removing any reliance on or randomness caused by the OLR. Note that it should be possible to move the deferred context creation until even later - when the context is actually switched to rather than when it is merely validated. This would allow the initialisation to be done within the request of the work that is wanting to use the context. Hence, the extra request that is created, used and retired just for the context init could be removed completely. However, this is left for a follow up patch. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit abd68d9ed3fbd3280e8780150bd0e01099b02627 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:42 2015 +0100 drm/i915: Update do_switch() to take a request structure Updated do_switch() to take a request pointer instead of a ring/context pair. v2: Removed some overzealous req-> dereferencing. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ba01cc9346bce45a8861f36bce2c4c5d44b800b2 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:41 2015 +0100 drm/i915: Update i915_switch_context() to take a request structure Now that the request is guaranteed to specify the context, it is possible to update the context switch code to use requests rather than ring and context pairs. This patch updates i915_switch_context() accordingly. Also removed the warning that the request's context must match the last context switch's context. As the context switch now gets the context object from the request structure, there is no longer any scope for the two to become out of step. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b3dd6b9681e4116bce4dd1145cb162a5a48bac8e Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:40 2015 +0100 drm/i915: Update ppgtt_init_ring() & context_enable() to take requests The final step in removing the OLR from i915_gem_init_hw() is to pass the newly allocated request structure in to each step rather than passing a ring structure. This patch updates both i915_ppgtt_init_ring() and i915_gem_context_enable() to take request pointers. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dc4be6071a24f0d2da6af8ce16c19f276ac4d7a2 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:39 2015 +0100 drm/i915: Add explicit request management to i915_gem_init_hw() Now that a single per ring loop is being done for all the different intialisation steps in i915_gem_init_hw(), it is possible to add proper request management as well. The last remaining issue is that the context enable call eventually ends up within *_render_state_init() and this does its own private _i915_add_request() call. This patch adds explicit request creation and submission to the top level loop and removes the add_request() from deep within the sub-functions. v2: Updated for removal of batch_obj from add_request call in previous patch. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a3fbe05a611811ad8413130f63aaa79428b00377 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:38 2015 +0100 drm/i915: Don't tag kernel batches as user batches The render state initialisation code does an explicit i915_add_request() call to commit the init commands. It was passing in the initialisation batch buffer to add_request() as the batch object parameter. However, the batch object entry in the request structure (which is all that parameter is used for) is meant for keeping track of user generated batch buffers for blame tagging during GPU hangs. This patch clears the batch object parameter so that kernel generated batch buffers are not tagged as being user generated. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 90638cc1a4299acf19ed6fe253517a86d52a02ab Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:37 2015 +0100 drm/i915: Moved the for_each_ring loop outside of i915_gem_context_enable() The start of day context initialisation code in i915_gem_context_enable() loops over each ring and calls the legacy switch context or the execlist init context code as appropriate. This patch moves the ring looping out of that function in to the top level caller i915_gem_init_hw(). This means the a single pass can be made over all rings doing the PPGTT, L3 remap and context initialisation of each ring altogether. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4ad2fd888bd3fa53e4bd36e5552bd784fb7ba241 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Thu Jun 18 13:11:20 2015 +0100 drm/i915: Split i915_ppgtt_init_hw() in half - generic and per ring The i915_gem_init_hw() function calls a bunch of smaller initialisation functions. Multiple of which have generic sections and per ring sections. This means multiple passes are done over the rings. Each pass writes data to the ring which floats around in that ring's OLR until some random point in the future when an add_request() is done by some random other piece of code. This patch breaks i915_ppgtt_init_hw() in two with the per ring initialisation now being done in i915_ppgtt_init_ring(). The ring looping is now done at the top level in i915_gem_init_hw(). v2: Fix dumb loop variable re-use. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73cfa86512813807f39a51a21d14774a29714e15 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:35 2015 +0100 drm/i915: Update i915_gpu_idle() to manage its own request Added explicit request creation and submission to the GPU idle code path. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5b4a60c2768434a8c6d5f803a2410245334b8bf7 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:34 2015 +0100 drm/i915: Add flag to i915_add_request() to skip the cache flush In order to explcitly track all GPU work (and completely remove the outstanding lazy request), it is necessary to add extra i915_add_request() calls to various places. Some of these do not need the implicit cache flush done as part of the standard batch buffer submission process. This patch adds a flag to _add_request() to specify whether the flush is required or not. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8a8edb59172983a7c4aa46ab35b5a23a49c729c5 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:33 2015 +0100 drm/i915: Update execbuffer_move_to_active() to take a request structure The plan is to pass requests around as the basic submission tracking structure rather than rings and contexts. This patch updates the execbuffer_move_to_active() code path. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 535fbe8233d164e76bac515dd7efee699093cea9 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:32 2015 +0100 drm/i915: Update move_to_gpu() to take a request structure The plan is to pass requests around as the basic submission tracking structure rather than rings and contexts. This patch updates the move_to_gpu() code paths. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 95c24161cd8561bd2f866a802a44b28fd0a867b7 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:31 2015 +0100 drm/i915: Update the dispatch tracepoint to use params->request Updated a couple of trace points to use the now cached request pointer rather than extracting it from the ring. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6a6ae79a761ddc95b67254e256f82f6d7c9c44d3 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:30 2015 +0100 drm/i915: Add request to execbuf params and add explicit cleanup Rather than just having a local request variable in the execbuff code, the request pointer is now stored in the execbuff params structure. Also added explicit cleanup of the request (plus wiping the OLR to match) in the error case. This means that the execbuff code is no longer dependent upon the OLR keeping track of the request so as to not leak it when things do go wrong. Note that in the success case, the i915_add_request() at the end of the submission function will tidy up the request and clear the OLR. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 217e46b576ef0d5eed10ddfeb2b29bd3de289e95 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:29 2015 +0100 drm/i915: Update alloc_request to return the allocated request The alloc_request() function does not actually return the newly allocated request. Instead, it must be pulled from ring->outstanding_lazy_request. This patch fixes this so that code can create a request and start using it knowing exactly which request it actually owns. v2: Updated for new i915_gem_request_alloc() scheme. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit adeca76d8e2b34b5c739a36f4191aed63080da40 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:28 2015 +0100 drm/i915: Simplify i915_gem_execbuffer_retire_commands() parameters Shrunk the parameter list of i915_gem_execbuffer_retire_commands() to a single structure as everything it requires is available in the execbuff_params object. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5f19e2bffa63a91cd4ac1adcec648e14a44277ce Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:27 2015 +0100 drm/i915: Merged the many do_execbuf() parameters into a structure The do_execbuf() function takes quite a few parameters. The actual set of parameters is going to change with the conversion to passing requests around. Further, it is due to grow massively with the arrival of the GPU scheduler. This patch simplifies the prototype by passing a parameter structure instead. Changing the parameter set in the future is then simply a matter of adding/removing items to the structure. Note that the structure does not contain absolutely everything that is passed in. This is because the intention is to use this structure more extensively later in this patch series and more especially in the GPU scheduler that is coming soon. The latter requires hanging on to the structure as the final hardware submission can be delayed until long after the execbuf IOCTL has returned to user land. Thus it is unsafe to put anything in the structure that is local to the IOCTL call itself - such as the 'args' parameter. All entries must be copies of data or pointers to structures that are reference counted in some way and guaranteed to exist for the duration of the batch buffer's life. v2: Rebased to newer tree and updated for changes to the command parser. Specifically, a code shuffle has required saving the batch start address in the params structure. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40e895ceca40b9c3104b2abd0ed5c72650fb20a4 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:26 2015 +0100 drm/i915: Set context in request from creation even in legacy mode In execlist mode, the context object pointer is written in to the request structure (and reference counted) at the point of request creation. In legacy mode, this only happens inside i915_add_request(). This patch updates the legacy code path to match the execlist version. This allows all the intermediate code between request creation and request submission to get at the context object given only a request structure. Thus negating the need to pass context pointers here, there and everywhere. v2: Moved the context reference so it does not need to be undone if the get_seqno() fails. v3: Fixed execlist mode always hitting a warning about invalid last_contexts (which don't exist in execlist mode). v4: Updated for new i915_gem_request_alloc() scheme. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0c8dac889539ab26382ba1636ec1159cae73f2b3 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:25 2015 +0100 drm/i915: Early alloc request in execbuff Start of explicit request management in the execbuffer code path. This patch adds a call to allocate a request structure before all the actual hardware work is done. Thus guaranteeing that all that work is tagged by a known request. At present, nothing further is done with the request, the rest comes later in the series. The only noticable change is that failure to get a request (e.g. due to lack of memory) will be caught earlier in the sequence. It now occurs right at the start before any un-undoable work has been done. v2: Simplified the error handling path. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf7dc5b70952eb58c4fd57c9b964488650303a32 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:24 2015 +0100 drm/i915: i915_add_request must not fail The i915_add_request() function is called to keep track of work that has been written to the ring buffer. It adds epilogue commands to track progress (seqno updates and such), moves the request structure onto the right list and other such house keeping tasks. However, the work itself has already been written to the ring and will get executed whether or not the add request call succeeds. So no matter what goes wrong, there isn't a whole lot of point in failing the call. At the moment, this is fine(ish). If the add request does bail early on and not do the housekeeping, the request will still float around in the ring->outstanding_lazy_request field and be picked up next time. It means multiple pieces of work will be tagged as the same request and driver can't actually wait for the first piece of work until something else has been submitted. But it all sort of hangs together. This patch series is all about removing the OLR and guaranteeing that each piece of work gets its own personal request. That means that there is no more 'hoovering up of forgotten requests'. If the request does not get tracked then it will be leaked. Thus the add request call _must_ not fail. The previous patch should have already ensured that it _will_ not fail by removing the potential for running out of ring space. This patch enforces the rule by actually removing the early exit paths and the return code. Note that if something does manage to fail and the epilogue commands don't get written to the ring, the driver will still hang together. The request will be added to the tracking lists. And as in the old case, any subsequent work will generate a new seqno which will suffice for marking the old one as complete. v2: Improved WARNings (Tomas Elf review request). For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 29b1b415fcd95a2266ab58fc7825bccbffa5c142 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Thu Jun 18 13:10:09 2015 +0100 drm/i915: Reserve ring buffer space for i915_add_request() commands It is a bad idea for i915_add_request() to fail. The work will already have been send to the ring and will be processed, but there will not be any tracking or management of that work. The only way the add request call can fail is if it can't write its epilogue commands to the ring (cache flushing, seqno updates, interrupt signalling). The reasons for that are mostly down to running out of ring buffer space and the problems associated with trying to get some more. This patch prevents that situation from happening in the first place. When a request is created, it marks sufficient space as reserved for the epilogue commands. Thus guaranteeing that by the time the epilogue is written, there will be plenty of space for it. Note that a ring_begin() call is required to actually reserve the space (and do any potential waiting). However, that is not currently done at request creation time. This is because the ring_begin() code can allocate a request. Hence calling begin() from the request allocation code would lead to infinite recursion! Later patches in this series remove the need for begin() to do the allocate. At that point, it becomes safe for the allocate to call begin() and really reserve the space. Until then, there is a potential for insufficient space to be available at the point of calling i915_add_request(). However, that would only be in the case where the request was created and immediately submitted without ever calling ring_begin() and adding any work to that request. Which should never happen. And even if it does, and if that request happens to fall down the tiny window of opportunity for failing due to being out of ring space then does it really matter because the request wasn't doing anything in the first place? v2: Updated the 'reserved space too small' warning to include the offending sizes. Added a 'cancel' operation to clean up when a request is abandoned. Added re-initialisation of tracking state after a buffer wrap to keep the sanity checks accurate. v3: Incremented the reserved size to accommodate Ironlake (after finally managing to run on an ILK system). Also fixed missing wrap code in LRC mode. v4: Added extra comment and removed duplicate WARN (feedback from Tomas). For: VIZ-5115 CC: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0b076ecdf343b029c4c2c3a94ffd0199d97aa46c Merge: c82435b 9eb1e57 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jun 23 08:31:49 2015 +0200 Merge remote-tracking branch 'airlied/drm-next' into HEAD Backmerge drm-next because the conflict between Ander's atomic fixes for 4.2 and Maartens future work are getting to unwielding to handle. Conflicts: drivers/gpu/drm/i915/intel_display.c drivers/gpu/drm/i915/intel_ringbuffer.h Just always take ours, same as git merge -X ours, but done by hand because I didn't trust git: It's confusing that it doesn't show any conflicts in the merge diff at all. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c82435bbe5aca62fc54615ff8ba78134bfa33866 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Jun 19 18:37:13 2015 +0100 drm/i915/gen8: Add WaFlushCoherentL3CacheLinesAtContextSwitch workaround In Indirect context w/a batch buffer, +WaFlushCoherentL3CacheLinesAtContextSwitch:bdw v2: Add LRI commands to set/reset bit that invalidates coherent lines, update WA to include programming restrictions and exclude CHV as it is not required (Ville) v3: Avoid unnecessary read when it can be done by reading register once (Chris). Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7ad00d1ac12bf461d0f0b69bf4e0e883b9e23c53 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Jun 19 18:37:12 2015 +0100 drm/i915/gen8: Add WaDisableCtxRestoreArbitration workaround In Indirect and Per context w/a batch buffer, +WaDisableCtxRestoreArbitration Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c4db7599194248214b343d1ef1a1bc53d6cff187 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Jun 19 18:37:11 2015 +0100 drm/i915/gen8: Re-order init pipe_control in lrc mode Some of the WA applied using WA batch buffers perform writes to scratch page. In the current flow WA are initialized before scratch obj is allocated. This patch reorders intel_init_pipe_control() to have a valid scratch obj before we initialize WA. v2: Check for valid scratch page before initializing WA as some of them perform writes to it. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17ee950df38b649d8431e2f6f7f85282d89f5398 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Jun 19 19:07:01 2015 +0100 drm/i915/gen8: Add infrastructure to initialize WA batch buffers Some of the WA are to be applied during context save but before restore and some at the end of context save/restore but before executing the instructions in the ring, WA batch buffers are created for this purpose and these WA cannot be applied using normal means. Each context has two registers to load the offsets of these batch buffers. If they are non-zero, HW understands that it need to execute these batches. v1: In this version two separate ring_buffer objects were used to load WA instructions for indirect and per context batch buffers and they were part of every context. v2: Chris suggested to include additional page in context and use it to load these WA instead of creating separate objects. This will simplify lot of things as we need not explicity pin/unpin them. Thomas Daniel further pointed that GuC is planning to use a similar setup to share data between GuC and driver and WA batch buffers can probably share that page. However after discussions with Dave who is implementing GuC changes, he suggested to use an independent page for the reasons - GuC area might grow and these WA are initialized only once and are not changed afterwards so we can share them share across all contexts. The page is updated with WA during render ring init. This has an advantage of not adding more special cases to default_context. We don't know upfront the number of WA we will applying using these batch buffers. For this reason the size was fixed earlier but it is not a good idea. To fix this, the functions that load instructions are modified to report the no of commands inserted and the size is now calculated after the batch is updated. A macro is introduced to add commands to these batch buffers which also checks for overflow and returns error. We have a full page dedicated for these WA so that should be sufficient for good number of WA, anything more means we have major issues. The list for Gen8 is small, same for Gen9 also, maybe few more gets added going forward but not close to filling entire page. Chris suggested a two-pass approach but we agreed to go with single page setup as it is a one-off routine and simpler code wins. One additional option is offset field which is helpful if we would like to have multiple batches at different offsets within the page and select them based on some criteria. This is not a requirement at this point but could help in future (Dave). Chris provided some helpful macros and suggestions which further simplified the code, they will also help in reducing code duplication when WA for other Gen are added. Add detailed comments explaining restrictions. Use do {} while(0) for wa_ctx_emit() macro. (Many thanks to Chris, Dave and Thomas for their reviews and inputs) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b1330fbb870467bbb90adb2e8868672af4ca88c7 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 11:42:08 2015 +0100 drm/i915: Report an error when i915.reset prevents a reset If the user disables the GPU reset using the i915.reset parameter and one occurs, report that we failed to reset the GPU. If we return early, as we currently do, then we leave all state intact (with a hung GPU) and clients block forever waiting for their requests to complete. Testcase: igt/gem_eio Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Mark i915.reset as an unsafe modoption, as discussed with Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf13af56252b2b4f50eb6fc8638e8cb9e84ff475 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jun 23 13:57:47 2015 +0200 drm/i915: Fix up KMS Kconfig removal patch The module pciid list got lost, but somehow most distros seem to force-load drm drivers early and no one noticed for a while. Bug introduced in commit fd930478fb797e4cbaa799d9ddd970e9a1fa1b4a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 20:27:27 2015 +0100 drm/i915: Remove KMS Kconfig option Reported-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit fd930478fb797e4cbaa799d9ddd970e9a1fa1b4a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 20:27:27 2015 +0100 drm/i915: Remove KMS Kconfig option Since we only support modesetting by default (disabling modesetting on the command line prevents i915.ko from loading), having a parameter to disable modesstting by default is superfluous, i.e. saying CONFIG_DRM_I915_KMS=n is equivalent to CONFIG_DRM_I915=n. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Veter <daniel.vetter@xxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eebaed646ab263cabcd19485e606e51c0bb11c5c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 13:57:43 2015 +0100 drm/i915: Ignore LVDS presence in VBT flag if the LVDS is enabled by BIOS On older gen, pre-Ironlake, parts there is no hardwired pin to report the presence of an LVDS panel. Instead, we have to rely on the VBT to declare whether the machine has a panel or not. Though notoriously unreliable, so far we have erred on the side of false-positives and have required a list of machines which end up falsely reporting a panel as present. However, we now have reports of false-negatives, machines with an LVDS that are being ignored due to the VBT not declaring the panel. This patch ignores the VBT setting if the BIOS has already enabled the LVDS panel (and on Ironlake+ we also have the hardware presence pin). It fixes the Samsung NP680Z5E-X01FR in the bug report, but is likely to result in more false-positives, and since we rely on the BIOS to enable the panel, there are likely different circumstances where the BIOS will not enable that panel (and so we may see the same machine with and without a panel all on the whim of the BIOS). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90979 Reported-and-tested-by: lysxia@xxxxxxxxx Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 55a9785d125a4dd33678795ccba0ed61a6e8540c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 13:59:46 2015 +0100 drm/i915: Enforce execobject.alignment to be a power-of-two Internal requirement for the alignment is that it must be a power-of-two, so enforce rejection at the user interface to execbuffer (which allows the caller to specify a stricter-than-expected alignment criterion). Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 77a0d1cab489eb2b6ebd54234df4262f4840d498 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jun 18 11:43:24 2015 -0700 drm/i915: Remove unused ring argument from frontbuffer invalidate and busy functions. This patch doesn't have any functional change, but organize fruntbuffer invalidate and busy by removing unecesarry signature argument for ring. It was unsed on mark_fb_busy and only used on fb_obj_invalidate for the same ORIGIN_CS usage. So let's clean it a bit Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3b1429d9458f5fc1abe57fb47b429290acb5d4d1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 18 13:47:22 2015 +0300 drm/i915: Factor out p2 divider selection for pre-ilk platforms The same dpll p2 divider selection is repeated three times in the gen2-4 .find_dpll() functions. Factor it out. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8c841e57cadee2d0de7a1ea81c987088fb6a17fd Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 18 13:06:17 2015 +0300 drm/i915: reduce line width in {pch, i9xx}_get_hpd_pins() Make Paulo happier. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 77913b39addfaa836929815515ff55cea1142b66 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 18 13:06:16 2015 +0300 drm/i915: move generic hotplug code into new intel_hotplug.c file We have enough generic hotplug functions sprinkled all over i915_irq.c to warrant moving them to a file of their own. This should further underline the distinction between generic code in the new file and platform specific hotplug and irq code that remains in i915_irq.c. Add new intel_hpd_init_work to keep work functions static, and rename get_port_from_pin to intel_hpd_pin_to_port while increasing its visibility, but keep everything else the same. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10b0e9e904c409be8e2476058d9b19a6b37d619e Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 18 13:06:15 2015 +0300 drm/i915/irq: clarify irq storm related function naming We'll have three functions: intel_hpd_irq_storm_detect for detecting irq storms, intel_hpd_irq_storm_disable for disabling hotplugs after detected storms, intel_hpd_irq_storm_reenable_work for re-enabling hotplug. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 70f71d5ff465965e2cfdb6f3f195a7b3fe2ab5cc Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 18 13:06:14 2015 +0300 drm/i915/irq: abstract irq storm hotplug disabling Continue abstracting hotplug storm related functions to clarify the code. This time, abstract hotplug irq storm related hotplug disabling. While at it, clean up the loop iterating over connectors for readability. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a0049865ea53df19a3f14128fa080719e8f4bdba Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 18 13:06:13 2015 +0300 drm/i915/irq: move hotplug even debug print to second connector loop The hotplug work function has two loops iterating over connectors, the first for handling hotplug disabling due to irq storms and the second for actually handling the hotplug events. Move the debug printing into the second one, so we can abstract the storm handling better. This may change the output ordering slightly when there are multiple simultaneous hotplug events. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 27c329ed16ddf5540151dfa9d22c584b819e0718 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:56 2015 +0200 drm/i915: Make cdclk part of the atomic state. The skylake scalers depend on the cdclk freq, but that frequency can change during a modeset. So when a modeset happens calculate the new cdclk in the atomic state. With the transitional helpers gone the cached value can be used in the scaler, and committed after all crtc's are disabled. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90874 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c389c9c4d981e49185b1c89354c85608effefe50 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:55 2015 +0200 drm/i915: Remove transitional references from intel_plane_atomic_check. All transitional plane helpers are gone, party! Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 818ed961e6ee7988829918b5dc41da14a05f5bc5 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:54 2015 +0200 drm/i915: Make setting color key atomic. By making color key atomic there are no more transitional helpers. The plane check function will reject the color key when a scaler is active. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eddfcbcdc27fbecb33bff098967bbdd7ca75bfa6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:53 2015 +0200 drm/i915: Update less state during modeset. No need to repeatedly call update_watermarks, or update_fbc. Down to a single call to update_watermarks in .crtc_enable Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a539205a1628e76cbaae35c8ba64d503c6aa619b Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:52 2015 +0200 drm/i915: atomic plane updates in a nutshell Now that all planes are added during a modeset we can use the calculated changes before disabling a plane, and then either commit or force disable a plane before disabling the crtc. The code is shared with atomic_begin/flush, except watermark updating and vblank evasion are not used. This is needed for proper atomic suspend/resume support. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90868 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d032ffa04cf7c6f7187e53125e860597bf64b11c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:51 2015 +0200 drm/i915: Handle disabling planes better, v2. Read out the initial state, and add a quirk to force add all planes to crtc_state->plane_mask during initial commit. This will disable all planes during the initial modeset. The initial plane quirk is temporary, and will go away when hardware readout is fully atomic, and the watermark updates in intel_sprite.c are removed. Changes since v1: - Unset state->visible on !primary planes. - Do not rely on the plane->crtc pointer in intel_atomic_plane, instead assume planes are invisible until modeset. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 61333b6075bf3b48a31fb5623a4101ed6bf393bc Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:50 2015 +0200 drm/i915: Do not run most checks when there's no modeset. All the checks in intel_modeset_checks are only useful when a modeset occurs, because there is nothing to update otherwise. Same for power/cdclk changes, if there is no modeset they are noops. Unfortunately intel_modeset_pipe_config still gets called without modeset, because atomic hw readout isn't done yet. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac21b225638a035449107dbbcc0c9f5bd4a24102 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:49 2015 +0200 drm/i915: Move crtc commit updates to separate functions. To allow them to be used in intel_set_mode. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0583236eaa8f8596c2adf5116020dba9bcf77806 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:48 2015 +0200 drm/i915: move detaching scalers to begin_crtc_commit, v2. This is probably intended to be be done during vblank evasion. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7fabf5ef18ea76714ff04baaeeddb949faf486dd Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:47 2015 +0200 drm/i915: remove force argument from disable_plane The idea was good, but planes can have a fb even though they're disabled. This makes the force argument useless and always true, because only the commit function updates state. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 061e4b8d650afd16ebe447d454431c717265b89f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:46 2015 +0200 drm/i915: clean up atomic plane check functions, v2. By passing crtc_state to the check_plane functions a lot of duplicated code can be removed. There are still some transitional helper calls, they will be removed later. Changes since v1: - Revert state->visible changes. - Use plane->state->crtc instead of plane->crtc. - Use drm_atomic_get_existing_crtc_state. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 302d19ac76ae5abacfcffcc76fb384d0b8d54c80 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:45 2015 +0200 drm/i915: clean up plane commit functions No point in hiding behind big ifs. This will be true most of the time. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit da20eabd2c69761f9dfd849985eb299e3335531f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:44 2015 +0200 drm/i915: Split plane updates of crtc->atomic into a helper, v2. This makes it easier to verify that no changes are done when calling this from crtc instead. Changes since v1: - Make intel_wm_need_update static and always check it. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 86adf9d7024a699d5195d44c30b7dcd866441f33 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 22 09:50:32 2015 +0200 drm/i915: Split skl_update_scaler, v4. commit 2c310b9d2859863826c3688c88218d607d5dd19a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon May 18 12:28:52 2015 +0200 drm/i915: Split skl_update_scaler, v4. It's easier to read separate functions for crtc and plane scaler state. Changes since v1: - Update documentation. Changes since v2: - Get rid of parameters to skl_update_scaler only used for traces. This avoids needing to document the other parameters. Changes since v3: - Rename scaler_idx to scaler_user. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad421372a61a6104f21520845e85ba89d691e783 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:42 2015 +0200 drm/i915: Assign a new pll from the crtc check function, v2. It saves another loop over all crtc's in the state, and computing clock is more of a per crtc thing. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cf5a15befd90742128ca2bdc4409789e782fcc9d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:41 2015 +0200 drm/i915: Move scaler setup to check crtc function, v2. The scaler setup may add planes, but since they're unchanged we only have to wait for primary flips. Also set planes_changed to indicate at least 1 plane is modified. Changes since v1: - Instead of removing planes, do minimal validation needed. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6d3a1ce7dc1a125a40d496e924e8e478560eb42f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:40 2015 +0200 drm/i915: Add a simple atomic crtc check function, v2. Move the check for encoder cloning here. Changes since v1: - Remove was/is crtc_disabled. (mattrope) - Rename function to intel_crtc_atomic_check. (mattrope) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 133b0d128be39e308ccd3b3d765c31ebdbf5380e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:39 2015 +0200 drm/i915: Clean up intel_atomic_setup_scalers slightly. Get rid of a whole lot of ternary operators and assign the index in scaler_id, instead of the id. They're the same thing. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b359283a035e44a6c760244e14af86cf1f62ef67 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:38 2015 +0200 drm/i915: Use crtc state in intel_modeset_pipe_config Grabbing crtc state from atomic state is a lot more involved, and make sure connectors are added before calling this function. Move check_digital_port_conflicts to intel_modeset_checks, it's only useful to check it on a modeset. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 09a33f052190ef4d997c54e012c9466844bdae0e Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jun 10 21:51:19 2015 +0200 tools:iio:iio_event_monitor: check if event is fully read Check that the read event is of the expected size. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit efa86e9fa82eaeee76903f131bc326af48a7cbcf Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Wed Jun 17 12:42:51 2015 +0300 iio: light: Add support for ROHM RPR0521 sensor This patch adds support for ROHM RPR0521 ambient light and proximity sensor. It offers raw readings for intensity and proximity. Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit da8ef4e77d9dfe91d69033cfa05d9f3036fb8dfd Author: Vlad Dogaru <vlad.dogaru@xxxxxxxxx> Date: Fri Jun 12 11:31:39 2015 +0300 iio: magn: bmc150: add support for bmc156 The BMC156 is a slightly less capable version of BMC150 which lacks support for magnetometer thresholds. Since this driver does not support those anyway, adding support is trivial. Datasheet is available at https://ae-bst.resource.bosch.com/media/products/dokumente/bmc156_1/BST-BMC156-DS000-01.pdf Signed-off-by: Vlad Dogaru <vlad.dogaru@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9d174b49ce05b63763e76f9f4373bc1b213ff584 Author: Vlad Dogaru <vlad.dogaru@xxxxxxxxx> Date: Fri Jun 12 11:31:38 2015 +0300 iio: magn: bmc150: decouple buffer and trigger Signed-off-by: Vlad Dogaru <vlad.dogaru@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c6f67a1f55a7f8a8373068ca07553bd2b2731949 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Fri Jun 5 15:56:47 2015 +0300 iio: allow userspace to flush the hwfifo with non-blocking reads This patch changes the semantics of non-blocking reads so that a hardware fifo flush is triggered if the available data in the device buffer is less then the requested size. This allows userspace to accurately generate hardware fifo flushes, by doing a non-blocking read with a size greater then the sum of the device buffer and hardware fifo size. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e20008ed931b9bdd90d1a3fd8c9ef9307547f4ed Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Mon Jun 15 23:48:26 2015 +0200 iio:accel:bmc150-accel: code style cleanup Apply the following coding style changes as indicated by checkpatch.pl in strict mode: - Please don't use multiple blank lines - braces {} should be used on all arms of this statement (if/else) - Alignment should match open parenthesis - Please don't use multiple blank lines - Blank lines aren't necessary after an open brace '{' - Missing a blank line after declarations - No space is necessary after a cast Also wrap/consolidate error messages to fit 80 characters per line and rework a comment. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit fdd15f6594f6bc466a01da28ddd2f11bb0e47a9f Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Mon Jun 15 23:48:25 2015 +0200 iio:accel:bmc150-accel: make use of mask definition BMC150_ACCEL_SLOPE_THRES_MASK was defined some time ago, but its 'magic' value got used instead in bmc150_accel_write_event(). Make use of it for improved readability. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 825c50dba0139b0322436ddda7d11f043955875e Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Jun 16 21:27:03 2015 +0200 iio: pressure: Fix Measurement Specialties vendor name Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8bf62ec83c89eda4114aae90c593f49649af76bd Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jun 18 00:32:05 2015 +0200 iio:light:cm3323: add empty lines for code structure Add some empty lines to visually separate logical structure blocks, as after if-blocks or before regular returns. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 054101c186b9e41d2b57543070c4a520d38402da Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jun 18 00:32:04 2015 +0200 iio:light:cm3323: make use of GENMASK Use GENMASK to define the integration time bitmask. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0ff8c78df8d7c32394b887de4d935962a7f373ce Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jun 18 00:32:03 2015 +0200 iio:light:cm3323: replace unneeded variable In cm3323_read_raw() i is used as return variable for the integration time index. The also existing return variable ret however is unused in this case, although appropriate. Replace i with ret and drop it. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e5c97027449f235415990310e47071ec371fd46c Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jun 18 00:32:01 2015 +0200 iio:light:cm3323: pass up error value cm3323_get_it_bits() returns a valid error code, so pass it up in cm3323_read_raw(). Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 39b441bd30a9eff4b3d2cc039027037403ca5242 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jun 18 00:32:00 2015 +0200 iio:light:Kconfig: fix typo in description Fix the typo in the module description for the CM3323. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit db42a9be9f05516255e749a5ee4c1e5d07e0a73b Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Fri Jun 19 17:56:37 2015 +0300 iio: accel: STK8BA50: suspend sensor on init errors Put chip in 'suspend' mode in case something goes wrong during probe. Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 208335138001015fd7c5c986b39e05fffad1c528 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Sat Jun 20 23:51:38 2015 +0200 iio: light: isl29125: Add scale_available information Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 30e8326728fff4c66377bd3ba99266cf8489c915 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Sat Jun 20 23:52:31 2015 +0200 tools: iio: Add missing names to iio_event_monitor Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4b8d80157e5d9074c5eac12aff8dad1742b52f1c Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Sat Jun 20 23:52:30 2015 +0200 iio: Add missing modifier names to core some are documented, others are in iio_event_monitor.c which was recently moved from staging Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit fbb35c1981012c72adff8f09f09005a8900a6dfd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jun 19 21:17:42 2015 +0200 drm/i915: Update DRIVER_DATE to 20150619 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7fd2d26921d1dd70732d8765d714ec3a023a3ca9 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 18 12:51:40 2015 +0300 drm/i915: Reset request handling for gen8+ In order for gen8+ hardware to guarantee that no context switch takes place during engine reset and that current context is properly saved, the driver needs to notify and query hw before commencing with reset. There are gpu hangs where the engine gets so stuck that it never will report to be ready for reset. We could proceed with reset anyway, but with some hangs with skl, the forced gpu reset will result in a system hang. By inspecting the unreadiness for reset seems to correlate with the probable system hang. We will only proceed with reset if all engines report that they are ready for reset. If root cause for system hang is found and can be worked around with another means, we can reconsider if we can reinstate full reset for unreadiness case. v2: -EIO, Recovery, gen8 (Chris, Tomas, Daniel) v3: updated commit msg v4: timeout_ms, simpler error path (Chris) References: https://bugs.freedesktop.org/show_bug.cgi?id=89959 References: https://bugs.freedesktop.org/show_bug.cgi?id=90854 Testcase: igt/gem_concurrent_blit/prw-blt-overwrite-source-read-rcs-forked Testcase: igt/gem_concurrent_blit/gtt-blt-overwrite-source-read-rcs-forked Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Tomas Elf <tomas.elf@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b0a08bec96318be54db97c3f0b9e37b52561f9ea Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Thu Jun 18 11:00:55 2015 +0530 drm/i915/bxt: eDP Panel Power sequencing Changes for BXT - added a IS_BROXTON check to use the macro related to PPS registers for BXT. BXT does not have PP_DIV register. Making changes to handle this. Second set of PPS registers have been defined but will be used when VBT provides a selection between the 2 sets of registers. v2: [Jani] Added 2nd set of PPS registers and the macro Jani's review comments - remove reference in i915_suspend.c - Use BXT PP macro Squashing all PPS related patches into one. v3: Jani's review comments addressed - Use pp_ctl instead of pp - ironlake_get_pp_control() is not required for BXT - correct the use of && in the print statement - drop the shift in the print statement v4: Jani's comments - modify ironlake_get_pp_control() - dont set unlock key for bxt v5: Sonika's comments addressed - check alignment - move pp_ctrl_reg write (after ironlake_get_pp_control()) to !IS_BROXTON case. - check before subtracting 1 for t11_t12 Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: A.Sunil Kamath <sunil.kamath@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6fb3143b561c4a7865e5513eeb02d42ef38e8173 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Jun 17 16:23:45 2015 -0400 tools/power turbostat: dump CONFIG_TDP Config TDP is a feature that allows parts to be configured for different thermal limits after they have left the factory. This can have an effect on the operation of the part, particularly in determiniing... Max Non-turbo Ratio Turbo Activation Ratio Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit bfae2052265cde825afaba35eb3a4d3889432734 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Jun 17 12:27:21 2015 -0400 tools/power turbostat: cpu0 is no longer hard-coded, so update output The --debug option reads a number of per-package MSRs. Previously we explicitly read them on cpu0, but recently turbostat changed to read them on the current "base_cpu". Update the print-out to reflect base_cpu, rather than the hard-coded cpu0. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit ce52299ca6ac23222e040284913d1271edc96459 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Jun 5 15:08:24 2015 -0700 drm/i915: Use helper to set CRTC state's mode We need to call drm_atomic_set_mode_for_crtc() rather than copying the mode in manually. As of commit commit 99cf4a29fa24461bbfe22125967188a18383eb5c Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Mon May 25 19:11:51 2015 +0100 drm/atomic: Add current-mode blob to CRTC state the helper now also takes care of setting up the mode property blob for us; if we don't use the helper and never setup the mode blob, this will also trigger a failure in drm_atomic_crtc_check() when we have the DRIVER_ATOMIC flag set (i.e., when using the nuclear pageflip support via i915.nuclear_pageflip kernel command line parameter). Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 71c47df4aa54ee3bfb113a5ae468c8bfb3a6fb7b Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Jun 15 14:46:43 2015 +0300 ath10k: txrx: remove unreachable negative return check and fixup type wait_event_timeout(), introduced in 'commit 5e3dd157d7e7 ("ath10k: mac80211 driver for Qualcomm Atheros 802.11ac CQA98xx devices")' never returns < 0 so the only failure condition to be checked is == 0 (timeout). Further the return type is long not int - an appropriately named variable is added and the assignments fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d4298a3a8c92a18d375e55feecc60e4eefeb45e3 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Jun 15 14:46:43 2015 +0300 ath10k: mac: remove unreachable negative return check wait_event_timeout(), introduced in 'commit 5e3dd157d7e7 ("ath10k: mac80211 driver for Qualcomm Atheros 802.11ac CQA98xx devices")' never returns < 0 so the only failure condition to be checked is ==0 (timeout). Further the return type is long not int - an appropriately named variable is added and the assignments fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 404d67ef2935c5e41d3d7a403c5fb1c278eff60e Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 15 14:46:42 2015 +0300 ath10k: remove unused variable hdr in ath10k_htt_rx_h_undecap() Just found this during code review. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit aeae5b4cd9185b0dc72f6d6102cf45073bfbc974 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jun 15 14:46:42 2015 +0300 ath10k: prevent debugfs mmio access crash kernel It was possible to force an out of bounds MMIO read/write via debugfs. E.g. on QCA988X this could be triggered with: echo 0x2080e0 | tee /sys/kernel/debug/ieee80211/*/ath10k/reg_addr cat /sys/kernel/debug/ieee80211/*/ath10k/reg_value BUG: unable to handle kernel paging request at ffffc90001e080e0 IP: [<ffffffff8135c860>] ioread32+0x40/0x50 ... Call Trace: [<ffffffffa00d0c7f>] ? ath10k_pci_read32+0x4f/0x70 [ath10k_pci] [<ffffffffa0080f50>] ath10k_reg_value_read+0x90/0xf0 [ath10k_core] [<ffffffff8115c2c1>] ? handle_mm_fault+0xa91/0x1050 [<ffffffff81189758>] __vfs_read+0x28/0xe0 [<ffffffff812e4694>] ? security_file_permission+0x84/0xa0 [<ffffffff81189ce3>] ? rw_verify_area+0x53/0x100 [<ffffffff81189e1a>] vfs_read+0x8a/0x140 [<ffffffff8118acb9>] SyS_read+0x49/0xb0 [<ffffffff8104e39c>] ? trace_do_page_fault+0x3c/0xc0 [<ffffffff8196596e>] system_call_fastpath+0x12/0x71 Reported-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c702534a23d61deaa0565ef0495ab866c06c4325 Author: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Date: Mon Jun 15 14:46:41 2015 +0300 ath10k: enable VHT for IBSS Enable VHT support for IBSS, while mac80211/cfg80211 and wpa_supplicant already support this. In my test env, qca988x 2x2 I get: (udp) ath10k-1 >>>> ath10k-2 (server) - speed: 419 Mbits/sec (tcp) ath10k-1 >>>> ath10k-2 (server) - speed: 404 Mbits/sec During tests I used wpa_supplicant (latest git version), which already support IBSS VHT, and choose highest available BW. Also tested with qca6174. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 67c81f5a06ed1474c4f16ad93f4502c760999515 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jun 15 14:46:41 2015 +0300 ath10k: print htt op_version upon driver boot HTT version itself isn't sufficient to know what HTT version given firmware blob uses. Hence print the recently introduced HTT op version code. While at it make the info string a bit more consistent and clear. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b27bc5a40f915671eda3ac255734a64153fc91f5 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jun 15 14:46:40 2015 +0300 ath10k: dump fw features during probing This should help when analysing problems from users and spot fw api blob problems easier. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit e7d66d89bc8bb44f9aab2f4749246214d15a159f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Jun 15 23:23:54 2015 +0200 drm/i915: Remove more ilk rc6 remnants Leftover from the big purge commit a561165493e5fec2f74bd3ae0577ed659e44ab7f Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Thu Mar 5 14:03:03 2015 +0000 drm/i915: Remove ironlake rc6 support Cc: John Harrison <John.C.Harrison@xxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Reported-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 0904deaf4e6bc1d854ed48255bdb170c7906c8fb Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Fri Jun 12 10:11:32 2015 +0300 drm/i915: Limit CHV max cdclk Limit CHV maximum cdclk to 320MHz. v2: Rebase to the latest v3: Clean up of if-else tree Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d8514d6306ea023f144ac922c4e6e6b283d5b78d Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jun 12 14:36:21 2015 -0300 drm/i915: don't set the FBC plane select bits on HSW+ This commit is just to make the intentions explicit: on HSW+ these bits are MBZ, but since we only support plane A and the macro evaluates to zero when plane A is the parameter, we're not fixing any bug. v2: - Remove useless extra blank like (Chris). - Init dpfc_ctl in another place (Chris). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2e8144a53db50cf3d5b32641346d116f778a9680 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jun 12 14:36:20 2015 -0300 drm/i915: unify no_fbc_reason message printing This commit has two main advantages: simplify intel_fbc_update() and deduplicate the strings. v2: - Rebase due to changes on P1. - set_no_fbc_reason() can now return void (Chris). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 87f5ff0115eed248377f3474834caceca072b9ba Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jun 12 14:36:19 2015 -0300 drm/i915: add FBC_ROTATION to enum no_fbc_reason Because we're currently using FBC_UNSUPPORTED_MODE for two different cases. This commit will also allow us to write the next one without hiding information from the user. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 31b9df1040a9ac1d4b88e382f16a50b9f0aff9be Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jun 12 14:36:18 2015 -0300 drm/i915: print FBC compression status on debugfs We already had a few bugs in the past where FBC was compressing nothing when it was enabled, which makes the feature quite useless. Add this information to debugfs so the test suites can check for regressions in this piece of the code. Our igt/tests/kms_frontbuffer_tracking already has support for this message. v2: - Remove pointless VLV check (Ville). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44c5905e8e977b1dd9bb99bcd5686464fa0aa247 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 11 16:31:16 2015 +0300 drm/i915: Drop the 64k linear scanout alignment on gen2/3 The docs don't support the 64k linear scanout alignment we impose on gen2/3. And it really makes no sense since we have no DSPSURF register, so the only thing that the hardware will see is the linear offset which will be just pixel aligned anyway. There is one case where 64k comes into the picture, and that's FBC. The start of the line length buffer corresponds to a 64k aligned address of the uncompressed framebuffer. So if the uncompressed fb is not 64k aligned, the first actually used entry in the line length buffer will not be byte 0. There are 32 extra entries in the line length buffer to account for this extra alignment so we shouldn't have to worry about it when mapping the uncompressed fb to the GTT. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 985b8bb486e7dd924925898f86fffca546d698db Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 11 16:31:15 2015 +0300 drm/i915: Align DSPSURF to 128k on VLV/CHV VLV/CHV have problems with 4k aligned linear scanout buffers. The VLV docs got updated at some point to say that we need to align them to 128k, just like we do on gen4. So far I've seen the problem manifest when the stride is an odd multiple of 512 bytes, and the surface address meets the following pattern '(addr & 0xf000) == 0x1000' (also == 0x2000 is problematic on VLV). The result is a starcase effect (so some pages get dropped maybe?), with a few pages here and there clearly getting scannout out at the wrong position. I've not actually been able to reproduce this problem on gen4, so it's not clear of the issue is any way related to the 128k restrictions supposedly inherited from gen4. But let's hope the 128k alignment is sufficient to hide it all. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Reviewed-by: Arun R Murthy <arun.r.murthy@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4e9a86b6bd335925077dde1006da6838774537d9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 11 16:31:14 2015 +0300 drm/i915: Actually respect DSPSURF alignment restrictions Currently intel_gen4_compute_page_offset() simply picks the closest page boundary below the linear offset. That however may not be suitably aligned to satisfy any hardware specific restrictions. So let's make sure the page boundary we choose is properly aligned. Also to play it a bit safer lets split the remaining linear offset into x and y values instead of just x. This should make no difference for most platforms since we convert the x and y offsets back into a linear offset before feeding them to the hardware. HSW+ are different however and use x and y offsets even with linear buffers, so they might have trouble if either the x or y get too big. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7cd35277b4b7af2121dbc5534fc112e2b3896ef4 Author: Chandra Konduru <chandra.konduru@xxxxxxxxx> Date: Wed Jun 10 16:16:12 2015 -0700 drm/i915: Delete duplicate #defines added for DCx Delete the duplicate #defines introduced by: commit 6b457d31ea0465fcadcf6d5044f5f71398954727 Author: A.Sunil Kamath <sunil.kamath@xxxxxxxxx> Date: Thu Apr 16 14:22:09 2015 +0530 drm/i915/skl: Implement enable/disable for Display C5 state. Signed-off-by: Chandra Konduru <chandra.konduru@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0ddfd20385f2e0b22cb19e7da4a235121755f192 Author: Ramalingam C <ramalingam.c@xxxxxxxxx> Date: Mon Jun 15 20:50:05 2015 +0530 drm/i915: Restarting the Idleness DRRS in drrs_flush Corrected the documentation on the intel_edp_drrs_flush and intel_edp_drrs_invalidate. And accordingly edp_drrs_flush function is modified to restart the idleness detection after upclocking. v2: Update kerneldoc Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> (v1) Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a80c69fc08064942ba5038310cd63c42b1d8ed72 Merge: 49e4d84 c016530 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Jun 15 17:43:48 2015 +0200 Merge branch 'topic/atomic-conversion' into drm-intel-next-queued The i915 atomic conversion is a real beast and it's not getting easier wrangling in a separate branch. I'm might be regretting this, but right after vacation nothing can burst my little bubble here! Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 49e4d842f0d0892c3d26c93a81b9f22c1467030e Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 15 12:23:48 2015 +0100 drm/i915: Report to userspace if we have a (presumed) working GPU reset In igt, we want to test handling of GPU hangs, both for recovery purposes and for reporting. However, we don't want to inject a genuine GPU hang onto a machine that cannot recover and so be permenantly wedged. Rather than embed heuristics into igt, have the kernel report exactly when it expects the GPU reset to work. This can also be usefully extended in future to indicate different levels of fine-grained resets. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Tim Gore <tim.gore@xxxxxxxxx> Cc: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21a59991ce0cd9a0b54b135305e3fcf880f2aaf1 Author: Jim Davis <jim.epost@xxxxxxxxx> Date: Mon Jun 8 13:19:08 2015 -0700 scripts/package/Makefile: rpmbuild is needed for rpm targets Before rpm release 4.1, in 2002, either the rpm command or the rpmbuild command could be used in the rpm-pkg or binrpm-pkg targets, and the Makefile chose the rpm command if the rpmbuild command wasn't found. After release 4.1, however, the rpm command could no longer be used in place of the rpmbuild command. As the rpmbuild command is not installed by default, this can lead to failures with the rpm-pkg and binrpm-pkg targets: rpm --define "_builddir ." --target \ x86_64 -bb ./binkernel.spec rpm --target: unknown option scripts/package/Makefile:60: recipe for target 'binrpm-pkg' failed Change the Makefile to use rpmbuild unconditionally to avoid this. Signed-off-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 0d8041842644cff1183f3d0df429792764aecd3f Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 15 12:52:28 2015 +0100 drm/i915: Fix build without CONFIG_PM drivers/gpu/drm/i915/i915_debugfs.c: In function â??i915_runtime_pm_statusâ??: drivers/gpu/drm/i915/i915_debugfs.c:2528:34: error: â??struct dev_pm_infoâ?? has no member named â??usage_countâ?? atomic_read(&dev->dev->power.usage_count)); Regression from commit a6aaec8be22652a808d6e316d4a92e58cb75e986 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:23:58 2015 +0100 drm/i915: Add runtime PM's usage_count in i915_runtime_pm_status Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a37161c0588c0d3ff4afb08ef83106a80bde604e Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Apr 16 14:02:41 2015 -0700 Kbuild: Add ID files to .gitignore I use GNU id-utils to find code (essentially a database backed grep), which generates an ID file to maintain its data. Add ID to the .gitignore file. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit caf4e2527599a86f1b7d6c7e13546d80e7e50a7c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 16:56:18 2015 +0100 drm/i915: Make sure our labels start at column 0 I noticed one of those and it turned out we have a few lingering around. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit abd41dc93c37abc89fb0470a8195c58f37aa52ac Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 16:42:16 2015 +0100 drm/i915/skl: Add debug messages at the start/end of DMC firmware loading It's handy to have debug message for the "big" events and this one qualifies IMHO. Also helpful to see what's happening while we're loading the firwmare and how much time it takes. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 78ace48cfe6ca226793e46b8c465507efd053bba Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 16:42:15 2015 +0100 drm/i915: Remove unnecessary () used with WARN() In Linux, macros are usually well done and protect their arguments properly, even avoiding multiple evaluations of the parameters. Extra () are really not needed. Cc: Suketu Shah <suketu.j.shah@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d351f6d94893f3ba98b1b20c5ef44c35fc1da124 Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Fri May 29 16:44:15 2015 +0300 drm/i915: Add SCRATCH1 and ROW_CHICKEN3 to the register whitelist. Only bit 27 of SCRATCH1 and bit 6 of ROW_CHICKEN3 are allowed to be set because of security-sensitive bits we don't want userspace to mess with. On HSW hardware the whitelisted bits control whether atomic read-modify-write operations are performed on L3 or on GTI, and when set to L3 (which can be 10x-30x better performing than on GTI, depending on the application) require great care to avoid a system hang, so we currently program them to be handled on GTI by default. Beignet can immediately start taking advantage of this change to enable L3 atomics. Mesa should eventually switch to L3 atomics too, but a number of non-trivial changes are still required so it will continue using GTI atomics for now. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Reviewed-by: Zhigang Gong <zhigang.gong@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4e86f725cebc8164e5f6601707379dd51440269d Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Fri May 29 16:44:14 2015 +0300 drm/i915: Extend the parser to check register writes against a mask/value pair. In some cases it might be unnecessary or dangerous to give userspace the right to write arbitrary values to some register, even though it might be desirable to give it control of some of its bits. This patch extends the register whitelist entries to contain a mask/value pair in addition to the register offset. For registers with non-zero mask, any LRM writes and LRI writes where the bits of the immediate given by the mask don't match the specified value will be rejected. This will be used in my next patch to grant userspace partial write access to some sensitive registers. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Reviewed-by: Zhigang Gong <zhigang.gong@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6a65c5b9326c9dd391afb1b3df75cbedffbaccdb Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Fri May 29 16:44:13 2015 +0300 drm/i915: Fix command parser to validate multiple register access with the same command. Until now the software command checker assumed that commands could read or write at most a single register per packet. This is not necessarily the case, MI_LOAD_REGISTER_IMM expects a variable-length list of offset/value pairs and writes them in sequence. The previous code would only check whether the first entry was valid, effectively allowing userspace to write unrestricted registers of the MMIO space by sending a multi-register write with a legal first register, with potential security implications on Gen6 and 7 hardware. Fix it by extending the drm_i915_cmd_descriptor table to represent multi-register access and making validate_cmd() iterate for all register offsets present in the command packet. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Reviewed-by: Zhigang Gong <zhigang.gong@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fcc0008fd02330f1c539a8dd831b00ca9b998cd8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 26 20:22:40 2015 +0300 drm/i915: Bump CHV PFI credits to 63 when cdclk>=czclk Switch from using 31 PFI credits to 63 PFI credits when cdclk>=czclk on CHV. The spec lists both 31 and 63 as "suggested" values, but based on feedback from hardware folks we should actually be using 63. Originally I picked the 31 basically by flipping a coin. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac3f918d5a069f1c34c6e0d39cccb0e9c8ac9334 Author: Thomas Richter <thor@xxxxxxxxxxxxxxxxx> Date: Sat May 30 20:25:53 2015 +0200 Fix resume from suspend on IBM X30 This patch fixes the resume from suspend-to-ram on the IBM X30 laptop. The problem is caused by the Bios missing to re-initialize the iVCH registers, especially the PLL registers. This patch records the iVCH registers during initialization, and re-installs this register set when resuming. Signed-off-by: Thomas Richter <thor@xxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8a1ebd7480fe8e80119d12bef2906f9480c2916f Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri May 22 20:04:59 2015 +0300 drm/i915/gtt: Remove _single from page table allocator We are always allocating a single page. No need to be verbose so remove the suffix. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea3f5d261fb0b757f95c1657f71ac86eb1778fd1 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri May 22 20:04:58 2015 +0300 drm/i915/gtt: Don't leak scratch page on mapping error Free the scratch page if dma mapping fails. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 66c826a1754c07012e29fbe9be7013e92a5acbac Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Jun 1 10:32:01 2015 +0300 drm/i915/vlv: fix RC6 residency time calculation The divider value to convert from CZ clock rate to ms needs a +1 adjustment on VLV just like on CHV. This matches both the spec and the accuracy test by pm_rc6_residency. v2: - simplify logic checking for the CHV 320MHz special case (Rodrigo) Testcase: igt/pm_rc6_residency Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76877 Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3320e37f7ac1f4df90268f204fef490dacee7ca0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:27 2015 +0300 drm/i915: Double the port clock when using double clocked modes with 12bpc Currently we're forgetting to double the port clock when using double clocked modes with 12bpc on HDMI. We're only accounting for the 1.5x factor due to the 12bpc. So further double the 1.5x port clock when we have a double clocked mode. Unfortunately I don't have any displays that support both 12bpc and double clocked modes, so I was unable to test this. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be69a1335fceb706e19f7eaf8d34c9a721c5baf9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:26 2015 +0300 drm/i915: Fix hdmi clock readout with pixel repeat Account for the pixel multiplier when reading out the HDMI mode dotclock. Makes the state checked happier on my ILK when using double clocked modes. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec1dc603c664364c9d6c9c8e774f2822edf7397b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:25 2015 +0300 drm/i915: Check infoframe state more diligently. Check that the DIP is enabled on the right port on IBX and VLV/CHV as we're doing on g4x, and also check for all the infoframe enable bits on all platforms. Eventually we should track each infoframe type independently, and also their contents. This is a small step in that direction as .infoframe_enabled() return value could be easily turned into a bitmask. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0be6f0c835077bb4dc7346e8eb75329d131a445b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:24 2015 +0300 drm/i915: Disable all infoframes when turning off the HDMI port Currently we just disable the GCP infoframe when turning off the port. That means if the same transcoder is used on a DP port next, we might end up pushing infoframes over DP, which isn't intended. Just disable all the infoframes when turning off the port. Also protect against two ports stomping on each other on g4x due to the single video DIP instance. Now only the first port to enable gets to send infoframes. v2: Rebase Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf868c7ddaa7fd5645fbc01cf2c4ad6ddd64c142 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:23 2015 +0300 drm/i915: Fix 12bpc HDMI enable for IBX Follow the procedure listed in Bspec to toggle the port enable bit off and on when enabling HDMI with 12bpc and pixel repeat on IBX. The old code didn't actually enable the port before "toggling" the bit back off, so the whole workaround was essentially a nop. Also take the opportunity to clarify the code by splitting the gmch platforms to a separate (much more straightforward) function. v2: Rebased due to crtc->config changes Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c5de7c6f3b3185ebbb9cf81abb94580c7f2ebd5f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:22 2015 +0300 drm/i915: Fix HDMI 12bpc TRANSCONF bpc value IBX BSpec says we must specify 8bpc in TRANSCONF for both 8bpc and 12bpc HDMI output. Do so. v2: Pass intel_crtc to intel_pipe_has_type() Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 12aa32905df59a32a6fb770830799058bf591eed Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:21 2015 +0300 drm/i915: Enable default_phase in GCP when possible When the video timings are suitably aligned so that all different periods start at phase 0 (ie. none of the periods start mid-pixel) we can inform the sink about this. Supposedly the sink can then optimize certain things. Obviously this is only relevant when outputting >8bpc data since otherwise there are no mid-pixel phases. v2: Rebased due to crtc->config changes Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6d67415f40b1f166212f37ecc9c23b9f380dfebc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:20 2015 +0300 drm/i915: Send GCP infoframes for deep color HDMI sinks GCP infoframes are required to inform the HDMI sink about the color depth. Send the GCP infoframe whenever the sink supports any deep color modes since such sinks must anyway be capable of receiving them. For sinks that don't support deep color let's skip the GCP in case it might confuse the sink, although HDMI 1.4 spec does say all sinks must be capable of reciving them. In theory we could skip the GCP infoframe for deep color sinks in 8bpc mode as well since sinks must fall back to 8bpc whenever GCP isn't received for some time. BSpec says we should disable GCP after disabling the port, so do that as well. v2: s/intel_set_gcp_infoframe/intel_hdmi_set_gcp_infoframe/ Rebased due to crtc->config changes Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Resolve conflict with lack of chv phy patches and fixup typo Chandra spotted.] Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d1b1589c4800678a8a2beba83845366b2dff5d70 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:19 2015 +0300 drm/i915: Implement WaEnableHDMI8bpcBefore12bpc:snb, ivb CPT/PPT require a specific procedure for enabling 12bpc HDMI. Implement it, and to keep things neat pull the code into a function. v2: Rebased due to crtc->config changes s/HDMI_GC/HDMIUNIT_GC/ to match spec better Factor out intel_enable_hdmi_audio() Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Reviewed-By: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Testecase: igt/kms_render/* Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d0fe116b4554d79125f384f7ba23722b41c3cb93 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Apr 24 10:27:40 2015 -0700 gitignore: Add MIPS vmlinux.32 to the list MIPS64 kernels builds will produce a vmlinux.32 kernel image for compatibility, ignore them. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 5e1249ff36d29653dde09fedf1d04a4ecff028c2 Merge: a2ee48d fe4c63c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Jun 15 07:26:47 2015 +0200 Merge remote-tracking branch 'origin/drm-intel-next-queued' into drm-intel-next-queued Pull in patches Jani applied while I was on vacation. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 23f93cde93efed59ca82d2687a2fab6a93eaafcc Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Mon Apr 13 18:41:03 2015 +0300 iio: accel: mma9553: document use of mutex Fix checkpatch.pl --strict check: CHECK: struct mutex definition without comment + struct mutex mutex; Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b37c19903a64951f12ae213ce0be7ca3bd26cc12 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Mon Apr 13 18:41:02 2015 +0300 iio: accel: mma9553: fix alignment issues Fix code alignment and wrap parameters. Fix issues reported by checkpatch.pl --strict. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Suggested-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c0d901cce736cb628d2e15f07ae00ea1029f64df Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Mon Apr 13 18:41:01 2015 +0300 iio: accel: mma9551_core: use size in words for word buffers Change the prototype for the mma9551_read/write_*_words functions to receive the length of the buffer in words (instead of bytes) since we are using a word buffer. This will prevent users from sending an odd number of bytes for a word array. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1ca0259b18478b2bab6d5c81ca1de52dd519ae5e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri May 8 15:54:00 2015 -0300 iio: light: hid-sensor-prox: Fit assignment in one line There is no need to do the assignment to indio_dev->num_channels in two lines code. Put it in one line. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ae35496230bc792fa76505ab7fcee694c7f7d523 Author: Naidu Tellapati <naidu.tellapati@xxxxxxxxxx> Date: Thu May 7 18:24:02 2015 -0300 iio: adc: cc10001: Power-up the ADC at probe time when used remotely The ADC is typically shared with remote CPUs not running Linux. However, there is only one register to power-up/power-down. Remote CPUs aren't able to power-up the ADC, and rely in Linux doing it instead. This commit uses the adc-reserved-channels devicetree property to distinguish shared usage. In this case, the ADC is powered up at probe time. If the ADC is used only by the CPU running Linux, power-up/down at runtime, only when neeeded. Signed-off-by: Naidu Tellapati <naidu.tellapati@xxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit eb2c9ce2cc938d7d39fc06430519bf0fc5004566 Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Wed Jun 10 18:07:30 2015 +0300 iio: accel: Add sampling rate support for STK8BA50 Added support for setting the STK8BA50 accelerometer's sampling rate. Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 003f4880bd2eba68c6f9191607ce73787f3402bd Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Wed Jun 10 18:07:29 2015 +0300 iio: accel: STK8BA50: replace scale table with a struct Replaced the stk8ba50_scale_table with an identically named struct in order to make the code a bit more readable. Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a858c7dab4b9b6a0b5742c39b10408780ca315c8 Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Fri Jun 12 18:10:22 2015 +0300 iio: inv-mpu: Export scale_available attributes Export the available scales for accel and gyro in order to hint the user-space as to what are the available valid values. Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ad37616e9048123ab664bf2064604888e25c539f Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Fri Jun 12 19:01:07 2015 +0300 iio: Documentation: Add additional *scale_available attributes Added some more *scale_available attributes to the list that are used in various drivers but were missiong from Documentation. Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a9d7acc8b0d52ae2f15f6280f63ac9d1e73cfb78 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jun 10 21:51:21 2015 +0200 tools:iio: rename variables Use more appropriate/common variable names: * namepf instead of nameFile in iio_utils.c * ret instead of retval in lsiio.c Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7663a4aac625268674060d78ee00f97a36a03af7 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jun 10 21:51:20 2015 +0200 tools:iio: adjust coding style Fix various coding style issues, including: * have spaces around operators * indentation * consolidate parameters in same line * required braces * adjust/drop comments * multiline comment style * delete unnecessary empty lines * add empty lines to visualize logial code blocks * typos Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c0165304e10f317672e20f2b40770d74c51e287f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Fri Jun 12 11:15:42 2015 +0200 drm/i915: Only enable cursor if it can be enabled. The cursor should only be enabled if it's visible. This fixes igt/kms_cursor_crc, which may otherwise produce the following warning: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 3425 at drivers/gpu/drm/i915/intel_display.c:9995 intel_crtc_update_cursor+0x14c/0x4d0 [i915]() Missing switch case (0) in i9xx_update_cursor Modules linked in: i915 CPU: 0 PID: 3425 Comm: kms_cursor_crc Tainted: G W 4.1.0-rc7-patser+ #4079 Hardware name: LENOVO 2349AV8/2349AV8, BIOS G1ETA5WW (2.65 ) 04/15/2014 ffffffffc01aad10 ffff8800b083faa8 ffffffff817f7827 0000000080000001 ffff8800b083faf8 ffff8800b083fae8 ffffffff81084955 ffff8800b083fad8 ffff8800c4931148 0000000001200000 ffff8800c48b0000 0000000000000000 Call Trace: [<ffffffff817f7827>] dump_stack+0x4f/0x7b [<ffffffff81084955>] warn_slowpath_common+0x85/0xc0 [<ffffffff810849d1>] warn_slowpath_fmt+0x41/0x50 [<ffffffffc0139f2c>] intel_crtc_update_cursor+0x14c/0x4d0 [i915] [<ffffffffc01497f4>] __intel_set_mode+0x6c4/0x750 [i915] [<ffffffffc0150143>] intel_crtc_set_config+0x473/0x5c0 [i915] [<ffffffff81467da9>] drm_mode_set_config_internal+0x69/0x120 [<ffffffff8146c1b9>] drm_mode_setcrtc+0x189/0x540 [<ffffffff8145c7e0>] drm_ioctl+0x1a0/0x6a0 [<ffffffff810b3b41>] ? get_parent_ip+0x11/0x50 [<ffffffff811e9c28>] do_vfs_ioctl+0x2f8/0x530 [<ffffffff810d0f7d>] ? trace_hardirqs_on+0xd/0x10 [<ffffffff812e7746>] ? selinux_file_ioctl+0x56/0x100 [<ffffffff811e9ee1>] SyS_ioctl+0x81/0xa0 [<ffffffff81801617>] system_call_fastpath+0x12/0x6f ---[ end trace abf0f71163290a96 ]--- Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit b8b7fadec3c797d7babb3c7fec484971e1604978 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Fri Jun 12 11:15:41 2015 +0200 drm/i915: Set hwmode during readout. This was introduced after converting hw readout to atomic, so it should have been part of the revert too. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90929 Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 02e0efb5b40b42f06668ba38f39654c57feaacdb Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Fri Jun 12 11:15:40 2015 +0200 drm/i915: get rid of intel_plane_restore in intel_crtc_page_flip Use a full atomic call instead. intel_crtc_page_flip will still have to live until async updates are allowed. This doesn't seem to be a regression from the convert to atomic, part 3 patch. During GPU reset it fixes the following warning: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 752 at drivers/gpu/drm/drm_crtc.c:5337 drm_mode_page_flip_ioctl+0x27b/0x360() Modules linked in: i915 CPU: 0 PID: 752 Comm: Xorg Not tainted 4.1.0-rc7-patser+ #4090 Hardware name: NUC5i7RYB, BIOS RYBDWi35.86A.0246.2015.0309.1355 03/09/2015 ffffffff81c90866 ffff8800d87c3ca8 ffffffff817f7d87 0000000080000001 0000000000000000 ffff8800d87c3ce8 ffffffff81084955 ffff880000000000 ffff8800d87c3dc0 ffff8800d93d1208 0000000000000000 ffff8800b7d1f3e0 Call Trace: [<ffffffff817f7d87>] dump_stack+0x4f/0x7b [<ffffffff81084955>] warn_slowpath_common+0x85/0xc0 [<ffffffff81084a35>] warn_slowpath_null+0x15/0x20 [<ffffffff8146dffb>] drm_mode_page_flip_ioctl+0x27b/0x360 [<ffffffff8145ccb0>] drm_ioctl+0x1a0/0x6a0 [<ffffffff810b3b41>] ? get_parent_ip+0x11/0x50 [<ffffffff812e5540>] ? avc_has_perm+0x20/0x280 [<ffffffff810b3b41>] ? get_parent_ip+0x11/0x50 [<ffffffff811ea0f8>] do_vfs_ioctl+0x2f8/0x530 [<ffffffff811f6001>] ? expand_files+0x261/0x270 [<ffffffff812e7c16>] ? selinux_file_ioctl+0x56/0x100 [<ffffffff811ea3b1>] SyS_ioctl+0x81/0xa0 [<ffffffff81801b97>] system_call_fastpath+0x12/0x6f ---[ end trace 9ce834560085bd64 ]--- Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit b17d48e27d35bc890ff205c9663b58803798b63b Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Fri Jun 12 11:15:39 2015 +0200 drm/i915: Do not use atomic modesets in hw readout. This should fix fallout caused by making intel_crtc_control and update_dpms atomic, which became a problem after reverting the atomic hw readout patch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90929 Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f721790560be9551c9e7f1644e04960b3ac44d06 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Jun 10 10:24:20 2015 +0200 Revert "drm/i915: Read hw state into an atomic state struct, v2." This reverts commit 3bae26eb2991c00670df377cf6c3bc2b0577e82a. Seems it introduces regressions for 3 different reasons, oh boy.. In bug #90868 as I can see the atomic state will be restored on resume without the planes being set up properly. Because plane setup here requires the atomic state, we'll have to settle for committing atomic planes first. In bug #90861 the failure appears to affect mostly DP devices, and happens because reading out the atomic state prevents a modeset on boot, which would require better hw state readout. In bug #90874 it's shown that cdclk should be part of the atomic state, so only performing a single modeset during resume excarbated the issue. It's better to fix those issues first, and then commit this patch, so do that temporarily. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90868 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90861 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90874 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Acked-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9716c691ce06b043d3e75c8ff93704cb40c52265 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Jun 10 10:24:19 2015 +0200 Revert "drm/i915: Make intel_display_suspend atomic, v2." This reverts commit 490f400db5d886fc28566af69b02f6497f31be4b. We're not ready yet to make it atomic, we calculate some state in advance, but without atomic plane support atomic the hw readout will fail. It's required to revert this commit to revert the atomic hw state readout patch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90868 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90861 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Acked-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 5c2db1882ab32546c46318d9feb017673c072717 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:11 2015 +0200 drm/i915: use calculated state for vblank evasion crtc->active will be gone eventually, and this check should be just as good. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 3538b9dffd8344cd40413018bcd7dc7b2bc1e21d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:10 2015 +0200 drm/i915: Use atomic state for calculating DVO_2X_MODE on i830. This is a small behavioral change because it leaves DVO_2X_MODE set between crtc_disable and crtc_enable. This is probably harmless though and if not should be fixed by calculating 2x mode before enable/disable pll. This is needed because intel_crtc->active will be removed eventually. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 99d736a2ce431dbbcf96ee9d26bd41ca2c2284a1 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:09 2015 +0200 drm/i915: Calculate haswell plane workaround, v5. This needs to be done last after all modesets have been calculated. A modeset first disables all crtc's, so any crtc that undergoes a modeset counts as inactive. If no modeset's done, or > 1 crtc's stay w/a doesn't apply. Apply workaround on the first crtc if 1 crtc stays active. Apply workaround on the second crtc if no crtc was active. Changes since v1: - Use intel_crtc->atomic as a place to put hsw_workaround_pipe. - Make sure quirk only applies to haswell. - Use first loop to iterate over newly enabled crtc's only. This increases readability. Changes since v2: - Move hsw_workaround_pipe back to crtc_state. Changes since v3: - Return errors from haswell_mode_set_planes_workaround. Changes since v4: - Clean up commit message. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f77076c91d563a07c6519b80e234b4e962306b67 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:08 2015 +0200 drm/i915: Remove use of crtc->config from i915_debugfs.c crtc->config is updated to always contain to the active crtc_state and only differs from crtc_state during crtc_disable. It will eventually be removed, so start with some low hanging fruit. For crtc->active the situation is the same; it will be removed eventually. Instead use crtc->state->active. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit fc467a221a01c5ec369a3969fcafea077c3677b4 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:07 2015 +0200 drm/i915: Use crtc->hwmode for vblanks, v2. intel_crtc->config will be removed eventually, so use crtc->hwmode. drm_atomic_helper_update_legacy_modeset_state updates hwmode, but crtc->active will eventually be gone too. Set dotclock to zero to indicate the crtc is inactive. Changes since v1: - With the hwmode update in drm*update_legacy_modeset_state removed, intel_modeset_update_state has to assign it instead. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 1c5e19f8f124b2ff442756e79d9a05c2b9494a28 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:06 2015 +0200 drm/i915: move swap state to the right place This is a preparation for passing crtc state to the helpers. When converting all users of crtc->config to use the old or new state it's easier to find regressions when swap_state is done first. If crtc->config is swapped at the same place as swap_state bugs will never be found. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 06ea0b0897db906c5616f660a34b54d92f7d09cf Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:05 2015 +0200 drm/i915: Make intel_display_suspend atomic, v2. Calculate all state using a normal transition, but afterwards fudge crtc->state->active back to its old value. This should still allow state restore in setup_hw_state to work properly. Calling intel_set_mode will cause intel_display_set_init_power to be called, make sure init_power gets set again afterwards. Changes since v1: - Fix to compile with v2 of the patch that adds intel_display_suspend. - Add intel_display_set_init_power. - Set return value to int to allow error checking. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 5da76e94c4b8d40465a907fc3a151051e8021cdc Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:04 2015 +0200 drm/i915: Implement intel_crtc_control using atomic state, v4 Assume the callers lock everything with drm_modeset_lock_all. This change had to be done after converting suspend/resume to use atomic_state so the atomic state is preserved, otherwise all transitional state is erased. Now all callers of .crtc_enable and .crtc_disable go through atomic modeset! :-D Changes since v1: - Only check for crtc_state->active in valleyview_modeset_global_pipes. - Only check for crtc_state->active in modeset_update_crtc_power_domains. Changes since v2: - Rework on top of the changed patch order. Changes since v3: - Rename intel_crtc_toggle in description to *_control - Change return value to int. - Do not add plane state, should be done implicitly already. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 37ade41794e914103b8db417e480afd20dcea971 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Jun 1 12:50:03 2015 +0200 drm/i915: Read hw state into an atomic state struct, v2. To make this work we load the new hardware state into the atomic_state, then swap it with the sw state. This lets us change the force restore path in setup_hw_state() to use a single call to intel_mode_set() to restore all the previous state. As a nice bonus this kills off encoder->new_encoder, connector->new_enabled and crtc->new_enabled. They were used only to restore the state after a modeset. Changes since v1: - Make sure all possible planes are added with their crtc set, so they will be turned off on first modeset. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c347a6768df15c7145ac16bf4b4f7c5fc2be1179 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Jun 1 12:50:02 2015 +0200 drm/i915: Move cdclk and pll setup to intel_modeset_compute_config(), v2. It makes more sense there, since these are computation steps that can fail. Changes since v1: - Rename __intel_set_mode_checks to intel_modeset_checks (Matt Roper) - Move intel_modeset_checks to before check_planes, so it won't have to be moved later. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 5ac1c4bcf073ad897c4510931518275d9e393dc7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:01 2015 +0200 drm/i915: Swap planes on each crtc separately, v2. Repeated calls to begin_crtc_commit can cause warnings like this: [ 169.127746] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:616 [ 169.127835] in_atomic(): 0, irqs_disabled(): 1, pid: 1947, name: kms_flip [ 169.127840] 3 locks held by kms_flip/1947: [ 169.127843] #0: (&dev->mode_config.mutex){+.+.+.}, at: [<ffffffff814774bc>] __drm_modeset_lock_all+0x9c/0x130 [ 169.127860] #1: (crtc_ww_class_acquire){+.+.+.}, at: [<ffffffff814774cd>] __drm_modeset_lock_all+0xad/0x130 [ 169.127870] #2: (crtc_ww_class_mutex){+.+.+.}, at: [<ffffffff81477178>] drm_modeset_lock+0x38/0x110 [ 169.127879] irq event stamp: 665690 [ 169.127882] hardirqs last enabled at (665689): [<ffffffff817ffdb5>] _raw_spin_unlock_irqrestore+0x55/0x70 [ 169.127889] hardirqs last disabled at (665690): [<ffffffffc0197a23>] intel_pipe_update_start+0x113/0x5c0 [i915] [ 169.127936] softirqs last enabled at (665470): [<ffffffff8108a766>] __do_softirq+0x236/0x650 [ 169.127942] softirqs last disabled at (665465): [<ffffffff8108ae75>] irq_exit+0xc5/0xd0 [ 169.127951] CPU: 1 PID: 1947 Comm: kms_flip Not tainted 4.1.0-rc4-patser+ #4039 [ 169.127954] Hardware name: LENOVO 2349AV8/2349AV8, BIOS G1ETA5WW (2.65 ) 04/15/2014 [ 169.127957] ffff8800c49036f0 ffff8800cde5fa28 ffffffff817f6907 0000000080000001 [ 169.127964] 0000000000000000 ffff8800cde5fa58 ffffffff810aebed 0000000000000046 [ 169.127970] ffffffff81c5d518 0000000000000268 0000000000000000 ffff8800cde5fa88 [ 169.127981] Call Trace: [ 169.127992] [<ffffffff817f6907>] dump_stack+0x4f/0x7b [ 169.128001] [<ffffffff810aebed>] ___might_sleep+0x16d/0x270 [ 169.128008] [<ffffffff810aed38>] __might_sleep+0x48/0x90 [ 169.128017] [<ffffffff817fc359>] mutex_lock_nested+0x29/0x410 [ 169.128073] [<ffffffffc01635f0>] ? vgpu_write64+0x220/0x220 [i915] [ 169.128138] [<ffffffffc017fddf>] ? ironlake_update_primary_plane+0x2ff/0x410 [i915] [ 169.128198] [<ffffffffc0190e75>] intel_frontbuffer_flush+0x25/0x70 [i915] [ 169.128253] [<ffffffffc01831ac>] intel_finish_crtc_commit+0x4c/0x180 [i915] [ 169.128279] [<ffffffffc00784ac>] drm_atomic_helper_commit_planes+0x12c/0x240 [drm_kms_helper] [ 169.128338] [<ffffffffc0184264>] __intel_set_mode+0x684/0x830 [i915] [ 169.128378] [<ffffffffc018a84a>] intel_crtc_set_config+0x49a/0x620 [i915] [ 169.128385] [<ffffffff817fdd39>] ? mutex_unlock+0x9/0x10 [ 169.128391] [<ffffffff81467b69>] drm_mode_set_config_internal+0x69/0x120 [ 169.128398] [<ffffffff8119b547>] ? might_fault+0x57/0xb0 [ 169.128403] [<ffffffff8146bf93>] drm_mode_setcrtc+0x253/0x620 [ 169.128409] [<ffffffff8145c600>] drm_ioctl+0x1a0/0x6a0 [ 169.128415] [<ffffffff810b3b41>] ? get_parent_ip+0x11/0x50 [ 169.128424] [<ffffffff811e9ab8>] do_vfs_ioctl+0x2f8/0x530 [ 169.128429] [<ffffffff810d0fcd>] ? trace_hardirqs_on+0xd/0x10 [ 169.128435] [<ffffffff812e7676>] ? selinux_file_ioctl+0x56/0x100 [ 169.128439] [<ffffffff811e9d71>] SyS_ioctl+0x81/0xa0 [ 169.128445] [<ffffffff81800697>] system_call_fastpath+0x12/0x6f Solve it by using the newly introduced drm_atomic_helper_commit_planes_on_crtc. The problem here was that the drm_atomic_helper_commit_planes() helper we were using was basically designed to do begin_crtc_commit(crtc #1) begin_crtc_commit(crtc #2) ... commit all planes finish_crtc_commit(crtc #1) finish_crtc_commit(crtc #2) The problem here is that since our hardware relies on vblank evasion, our CRTC 'begin' function waits until we're out of the danger zone in which register writes might wind up straddling the vblank, then disables interrupts; our 'finish' function re-enables interrupts after the registers have been written. The expectation is that the operations between 'begin' and 'end' must be performed without sleeping (since interrupts are disabled) and should happen as quickly as possible. By clumping all of the 'begin' calls together, we introducing a couple problems: * Subsequent 'begin' invocations might sleep (which is illegal) * The first 'begin' ensured that we were far enough from the vblank that we could write our registers safely and ensure they all fell within the same frame. Adding extra delay waiting for subsequent CRTC's wasn't accounted for and could put us back into the 'danger zone' for CRTC #1. This commit solves the problem by using a new helper that allows an order of operations like: for each crtc { begin_crtc_commit(crtc) // sleep (maybe), then disable interrupts commit planes for this specific CRTC end_crtc_commit(crtc) // reenable interrupts } so that sleeps will only be performed while interrupts are enabled and we can be sure that registers for a CRTC will be written immediately once we know we're in the safe zone. The crtc->config->base.crtc update may seem unrelated, but the helper will use it to obtain the crtc for the state. Without the update it will dereference NULL and crash. Changes since v1: - Use Matt Roper's commit message. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 61c054983271426f8d31ef9e52eda249b123a7df Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:00 2015 +0200 drm/i915: Use drm_atomic_helper_swap_state in intel_atomic_commit. And update crtc->config to point to the new state. There is no point in swapping only part of the state when the rest of the state should be untouched. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit de419ab6b774facc14b2fa71e3d8642027924c86 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Jun 4 10:21:28 2015 +0200 drm/i915: Use global atomic state for staged pll, config, v3. Now that we can subclass drm_atomic_state we can also use it to keep track of all the pll settings. atomic_state is a better place to hold all shared state than keeping pll->new_config everywhere. Changes since v1: - Assert connection_mutex is held. Changes since v2: - Fix swapped arguments to kzalloc for intel_atomic_state_alloc. (Jani Nikula) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 880fa62648bf193eb17193a9eae00a52c7844ea7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:58 2015 +0200 drm/i915: Zap call to drm_plane_helper_disable, v2. The primary plane can still be configured when crtc is off, furthermore this is also a noop now that affected planes are added on modesets. Changes since v1: - Move commit so no frontbuffer_bits warnings are generated. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 568c634a2af62e07ed248a6e7fe9770173f9d9b2 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Jun 1 12:49:57 2015 +0200 drm/i915: Support modeset across multiple pipes Compute new pipe_configs for all crtcs in the atomic state. The commit part of the mode set (__intel_set_mode()) is already enabled to support multiple pipes, the only thing missing was calculating a new pipe_config for every crtc. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit fb9d6cf8c29bfcb0b3c602f7ded87f128d730382 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:56 2015 +0200 drm/i915: calculate primary visibility changes instead of calling from set_config This should be much cleaner, with the same effects. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 8a8f7f44a1b704c482f77a0d31cbcdf1af062263 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:55 2015 +0200 drm/i915: do not wait for vblank when crtc is off This can happen when turning off a sprite plane. Because the crtc state is not yet always swapped correctly and transitional helpers are used the crtc state cannot be relied on. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 36750f284b3a4f19b304fda1bb7d6e9e1275ea8d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:54 2015 +0200 drm/i915: update plane state during init Atomic planes updates rely on having a accurate plane_mask. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 85a96e7a4213de094acc63fd433dcf766e91c782 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:53 2015 +0200 drm/i915: Make sure all planes and connectors are added on modeset. Add missing calls to drm_atomic_add_affected_*. This is needed to convert to atomic planes. When converting to atomic all planes are needed on modeset. For good measure make sure all connectors are added too. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 53d9f4e99de001374eb06195609cc0451f31a318 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:52 2015 +0200 drm/i915: Use crtc_state->active instead of crtc_state->enable crtc_state->enable means a crtc is configured, but it may be turned off for dpms. Until the commit "use intel_crtc_control everywhere" crtc_state->active was not updated on crtc off, but now crtc_state->active should be used for tracking whether a crtc is scanning out or not. A few commits from now dpms will be handled by calling intel_set_mode with a different value for crtc_state->active, which causes a crtc to turn on or off. At this point crtc->active should mirror crtc_state->active, so some paranoia from the crtc_disable functions can be removed. intel_set_mode_setup_plls still checks for ->enable, because all resources that are needed have to be calculated, else dpms changes may not succeed. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit cdba954e426761cdfe08ce4c9909cd97ce254b9c Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Jun 1 12:49:51 2015 +0200 drm/i915: Set mode_changed for audio in intel_modeset_pipe_config() A follow up patch will make intel_modeset_compute_config() deal with multiple crtcs, so move crtc specific stuff into the lower level crtc specific function. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c72d969b23253ee8196e4190ec2c15e7cf607372 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Jun 1 12:49:50 2015 +0200 drm/i915: Make __intel_set_mode() take only atomic state as argument With the use of drm_atomic_helper_update_legacy_modeset_state the last user of modeset_crtc is removed from this function. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 3cb480bcb3397a1cfdc04115adcdb33393fde4f9 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:49 2015 +0200 drm/i915: Use drm_atomic_helper_update_legacy_modeset_state, v2. Now that the helper is exported there's no need to duplicate this code any more. Changes since v1: - move intel_modeset_update_staged_output_state call to the right place. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 1b5092592824d1c91d6e48d820b6047f6ba323ce Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:48 2015 +0200 drm/i915: use intel_crtc_control everywhere, v3. Having a single path for everything makes it a lot easier to keep crtc_state->active in sync with intel_crtc->active. A crtc cannot be changed to active when not enabled, because it means no mode is set and no connectors are connected. This should also make intel_crtc->active match crtc_state->active. Changes since v1: - Reworded commit message, there's no intel_crtc_toggle. Changes since v2: - Change some callers of intel_crtc_control to intel_display_suspend. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 6b72d486245265676df9866734bca1b39252e480 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:47 2015 +0200 drm/i915: add intel_display_suspend, v2 This is a function used to disable all crtc's. This makes it clearer to distinguish between when mode needs to be preserved and when it can be trashed. Changes since v1: - Copy power changes from intel_crtc_control. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 69024de8ba9ee28bbb2c0ba2f813d37a7d0be80a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:46 2015 +0200 drm/i915: get rid of intel_crtc_disable and related code, v3 Now that the dpll updates are (mostly) atomic, the .off() code is a noop, and intel_crtc_disable does mostly the same as intel_modeset_update_state. Move all logic for connectors_active and setting dpms to that function. Changes since v1: - Move drm_atomic_helper_swap_state up. Changes since v2: - Split out intel_put_shared_dpll removal. Changes since v3: - Rebase on top of latest drm-intel. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 41da1f5d492b4bfef04419feb12ee9b0ea0517cb Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:45 2015 +0200 drm/i915: get rid of put_shared_dpll Now that the pll updates are staged the put_shared_dpll function consists only of checks that are done in check_shared_dpll_state after a modeset too. The changes to pll->config are overwritten by intel_shared_dpll_commit, so this entire function is a noop. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit fe4c63c8cbd22251f8ce8bcb7853e46385f7af82 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Jun 4 18:01:35 2015 +0300 drm/i915/bxt: fix DDI PHY vswing scale value setting According to bspec the DDI PHY vswing scale value is "don't care" in case the scale enable bit [27] is clear. But this doesn't seem to be correct. The scale value seems to also matter if the scale mode bit [26] is set. So both bit 26 and 27 depend on the value. Setting the scale value to 0 while either bit is set results in a failed modeset on HDMI (sink reports no signal). After reset the scale value is 0x98, but according to the spec we have to program it to 0x9a. So for consistency program it always to 0x9a regardless of the scale enable bit. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Tested-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit a6aaec8be22652a808d6e316d4a92e58cb75e986 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:23:58 2015 +0100 drm/i915: Add runtime PM's usage_count in i915_runtime_pm_status Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 6455c870e97b7e8a6cf7aacba8ea19087b7db973 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:23:57 2015 +0100 drm/i915: Make pc8_status report status for all runtime PM platforms Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit a47871bd8ac2954b486272faa2a92831a69b1b8e Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:34 2015 +0100 drm/i915/bxt: Use intel_update_cdclk() to update dev_priv->cdclk_freq Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 560a7ae4b6f679927876b0dfcc1fcdfabdd20684 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:33 2015 +0100 drm/i915/skl: Update the cached CDCLK at the end of set_cdclk() Ville's and Mika's cdclk series was in flight at the same time as the SKL S3 patches so we were missing that update. intel_update_max_cdclk() and intel_update_cdclk() had to be moved up a bit to avoid forward declarations. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d9062ae59de1025bdd15988a4030d6e667c389d0 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:32 2015 +0100 drm/i915: Don't display the boot CDCLK twice intel_update_cdclk() will already display the boot CDCLK for DDI platforms, no need to repeat there. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 414355a7c3f029b762518d73a6ea7e4d07d48e34 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:31 2015 +0100 drm/i915/skl: Don't warn if reading back DPLL0 is disabled We can operate with DPLL0 off with CDCLK backed by the 24Mhz reference clock, and that's a supported configuration. Don't warn when notice DPLL0 is off then. We still have a separate warn at boot if cdclk is disabled (because we don't currently try to handle the case (that shouldn't happen on SKL as far as I know) where we boot with display not initialized. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit a9419e846bd8c8e00c1d28282de936523229eff7 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:30 2015 +0100 drm/i915/skl: Derive the max CDCLK from DFSM Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 70d0c5742013b888a9254f54ee527e9941171297 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:29 2015 +0100 drm/i915: Make broxton_set_cdclk() static Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit b432e5cfd5e92127ad2dd83bfc3083f1dbce43fb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:13 2015 +0300 drm/i915: BDW clock change support Add support for changing cdclk frequency during runtime on BDW. Also with IPS enabled the actual pixel rate mustn't exceed 95% of cdclk, so take that into account when computing the max pixel rate. v2: Grab rps.hw_lock around sandybridge_pcode_write() v3: Rebase due to power well vs. .global_resources() reordering v4: Rebased to the latest v5: Rebased to the latest v6: Patch order shuffle so that Broadwell CD clock change is applied before the patch for Haswell CD clock change v7: Fix for patch style problems Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ebb72aad41e231fe5c586785dbbf5910867e7978 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:12 2015 +0300 drm/i915: Add IS_BDW_ULX We need to tell BDW ULT and ULX apart. v2: Rebased to the latest v3: Rebased to the latest v4: Fix for patch style problems Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 8cfb340774744438dea08a32072bea4a162dd132 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:11 2015 +0300 drm/i915: Don't enable IPS when pixel rate exceeds 95% Bspec says we shouldn't enable IPS on BDW when the pipe pixel rate exceeds 95% of the core display clock. Apparently this can cause underruns. There's no similar restriction listed for HSW, so leave that one alone for now. v2: Add pipe_config_supports_ips() (Chris) v3: Compare against the max cdclk insted of the current cdclk v4: Rebased to the latest v5: Rebased to the latest v6: Fix for patch style problems Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83497 Tested-by: Timo Aaltonen <tjaalton@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 44913155f036ae966f09a7bc0d299c31876b4383 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:10 2015 +0300 drm/i915: Store max cdclk value in dev_priv Keep the cdclk maximum supported frequency around in dev_priv so that we can verify certain things against it before actually changing the cdclk frequency. For now only VLV/CHV have support changing cdclk frequency, so other plarforms get to assume cdclk is fixed. v2: Rebased to the latest v3: Rebased to the latest v4: Fix for patch style problems Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 05024da3c2482e26e94fb3a8324a355c066d2faf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:08 2015 +0300 drm/i915: Use cached cdclk value Rather than reading out the current cdclk value use the cached value we have tucked away in dev_priv. v2: Rebased to the latest v3: Rebased to the latest v4: Fix for patch style problems Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit b6283055b408fd9bee5386bd71fdf5f3b5553ae5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:07 2015 +0300 drm/i915: Cache current cdclk frequency in dev_priv Rather that extracting the current cdclk freuqncy every time someone wants to know it, cache the current value and use that. VLV/CHV already stored a cached value there so just expand that to cover all platforms. v2: Rebased to the latest v3: Rebased to the latest v4: Rebased to the latest v5: Removed spurious call to 'intel_update_cdclk(dev)' based on Damien Lespiau's comment Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ccb6662b7ed7690313bcb066f4533d1f641ba72c Merge: 2441f87 63e1456 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 4 10:26:17 2015 +0300 Merge remote-tracking branch 'drm-upstream/drm-next' into drm-intel-next-queued Backmerge drm-next so I can apply Maarten's drm/i915 atomic conversion patches. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 75fd7ffa7fab91c2c3234bd3e465ba4f366733f4 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Jun 3 07:37:24 2015 -0400 tools/power turbostat: update turbostat(8) Remove reference to the original Nehalem Turbo white paper, since it has moved, and these mechanisms have now long since been documented in the Software Developer's Manual. Reported-by: Jeremie Lagraviere <jeremie@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 2441f8779e886d74389bf78aad149dc99876a900 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 2 15:37:37 2015 +0300 drm/i915: Apply WaDisableAsyncFlipPerfMode via LRIs on gen8 MI_MODE is saved in the logical context so WaDisableAsyncFlipPerfMode must be applied using LRIs on gen8. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9cc83020616d38339e6c29dc44536e9806abfdb0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 2 15:37:36 2015 +0300 drm/i915: Set INSTPM_FORCE_ORDERING via LRI on gen8, drop it on gen9+ INSTPM is saved in the logical context so we should initialize it using LRIs on gen8. It actually defaults to 1 starting from HSW, but let's keep the write around anyway. Also drop the INSTPM_FORCE_ORDERING setup entirely on gen9+ since it's now a reserved bit. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f94c56f4f33dd34551af6bcc1afde5082fdf6e86 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jun 1 22:52:20 2015 -0300 coccinelle: simple_return: Add a blank line Insert a blank line in order to improve the readability of the generated patch and also make it consistent with the other .cocci files. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 64987fc59d90738715703362292f743b7dbbe76b Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Tue May 26 17:50:13 2015 +0530 drm/i915/bxt: edp1.4 Intermediate Freq support BXT supports following intermediate link rates for edp: 2.16GHz, 2.43GHz, 3.24GHz, 4.32GHz. Adding support for programming the intermediate rates. v2: Adding clock in bxt_clk_div struct and then look for the entry with required rate (Ville) v3: 'clock' has the selected value, no need to use link_bw or rate_select for selecting pll(Ville) v4: Make bxt_dp_clk_val const and remove size (Ville) v5: Rebased v6: Removed setting of vco while rebasing in v5, adding it back Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> (v4) Reviewed-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 5b6fd12a88a7233b58c669dc87979da9a69728b1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 2 15:37:35 2015 +0300 drm/i915: Move WaBarrierPerformanceFixDisable:skl to skl code from chv code commit 65ca7514e21adbee25b8175fc909759c735d00ff Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:22 2015 +0000 drm/i915/skl: Implement WaBarrierPerformanceFixDisable got misapplied and the code landed in chv_init_workarounds() instead of the intended skl_init_workarounds(). Move it over to the right place. Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 989feafb84118a840ff21250a1e5f516f43e3dbb Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Apr 27 22:23:06 2015 +0300 clk: ti: move low-level access and init code under clock driver With most of the clock code under clock driver already, the low-level register access code, and the init code for the same, is no longer needed outside the clock driver. Thus, these can be moved under clock driver also. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e3aedf0234e7f12554c591bc37236f3469fed8fa Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Apr 27 22:20:57 2015 +0300 ARM: OMAP2+: clock: remove legacy omap2_clk_readl/writel APIs As most of the clock driver code has migrated, these are no longer used for anything. Thus remove these APIs completely. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e9e63088e4f93cf4ed7999294c09905b7dcb4d32 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Apr 27 21:55:42 2015 +0300 clk: ti: remove exported ll_ops struct, instead add an API for registration We should avoid exporting data from drivers, instead use an API for registering the clock low level operations. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 9e11814ab8f08a0932c583b9e1504acac52ec7b3 Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Mar 4 14:50:27 2015 +0200 ARM: OMAP2+: clock: remove dead definitions from the clock header file Cleanup the mess in clock.h by removing all definitions that are no longer used for anything. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit a3314e9cf69c1d4052017e559ea69a042ccd83e2 Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Mar 4 21:02:05 2015 +0200 clk: ti: move some public definitions to private header Several exported TI clock driver features are no longer needed outside the clock driver itself, thus move all of these to the driver private header file. Also, update some of the driver files to actually include this header. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit c9a58b0a848e4b88d2dd4690ef19bae8696649eb Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 21:19:25 2015 +0200 clk: ti: am3517: move remaining am3517 clock support code to clock driver With legacy clock support gone, this is no longer needed under platform, so move it under the clock driver itself. Make some exports be driver internal definitions at the same time. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit eb0572520db9322e47ab97e4aff4a7cbf0381387 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 21:10:49 2015 +0200 ARM: OMAP4: clock: remove clock44xx.h header This is not needed for anything anymore, so remove it completely. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit f2671d5c6cb4abe4636014cd66fd0eeb8190b2ca Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 17:28:12 2015 +0200 clk: ti: omap34xx: move omap34xx clock type support code to clock driver With the legacy clock data gone, this is no longer needed under platform, so move it under the clock driver itself. Remove unnecessary declarations from the TI clock header also. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit bd86cfdcbd827216fd682d62ffba2667bbe6fbc3 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 16:22:50 2015 +0200 clk: ti: clkdm: move clkdm gate clock support code to clock driver With the legacy clock data gone, this is no longer needed under platform, so move it under the clock driver itself. Remove the exported clock driver APIs as well, as these are not needed outside clock driver anymore. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit d5a04dddf51e234dc89f21e4e4b91e853cf49ff2 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 16:08:42 2015 +0200 clk: ti: omap2430: move clock support code under clock driver With the legacy clock support gone, this is no longer needed under platform code-base. Thus, move this under the TI clock driver, and remove the exported API from the public header. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 9f37e90efaf0772b8f98bc347b9db77a3f0c27eb Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 15:28:53 2015 +0200 clk: ti: dflt: move support for default gate clock to clock driver With the legacy support gone, OMAP2+ default gate clock can be moved under clock driver. Create a new file for the purpose, and clean-up the header exports a bit as some clock APIs are no longer needed outside clock driver itself. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 046b7c31668311942a2e431e7983d8ab9874d845 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 15:13:50 2015 +0200 ARM: OMAP2+: clock: remove clkdm_control static boolean from code clkdm_control is used to determine, whether clocks should trigger a clockdomain transition when they are enabled/disabled. Keep this functionality intact, but replace this with a clk_features flag which can be initialized during boot if needed. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 6f0051da4bb5b35014e1bb326d0a31fcad2369e5 Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Mar 4 11:56:22 2015 +0200 ARM: OMAP3: clock: remove clock3xxx.c file This now only has a couple of variables within it, which are used outside the file itself. Move these variables to where they are actually used, and remove the file completely as it is now empty. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 0565fb168d63f89591ce7dcb85438cb19d939a92 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 13:27:48 2015 +0200 clk: ti: dpll: move omap3 DPLL functionality to clock driver With the legacy clock support gone, OMAP3 generic DPLL code can now be moved over to the clock driver also. A few un-unused clkoutx2 functions are also removed at the same time. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 192383d87b876ea9879d8b598af593809a25b7d2 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 13:47:08 2015 +0200 ARM: OMAP2+: clock: add support for specific CM ops to ti_clk_ll_ops Clock driver requires access to some CM API functions once the code is being moved under the clock driver from the platform directory. Gate type clock requires access to cm_wait_module_ready and cm_split_idlest_reg functions, which are both used for waiting until the module being clocked has been successfully activated. These CM APIs are now exported through the ti_clk_ll_ops struct. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 9a356d622e8e559eff50b298e574bbc34e860aba Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 11:14:31 2015 +0200 ARM: OMAP2+: clock: add support for clkdm ops to the low level clk ops Clock driver requires access to certain clockdomain handling ops once the code is being moved over under clock driver. Example of this is clk_enable / clk_disable under omap3 DPLL code. The required clkdm APIs are now exported through the ti_clk_ll_ops struct. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 846fdf2a3dd3343e5f461659f905c5ba43f325cc Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 10:58:56 2015 +0200 ARM: OMAP2+: clock: remove support for legacy mpurate command line param The legacy support is wrong and dangerous, as it doesn't take any OPPs into account and does not scale voltages. Switching mpurate should be handled through cpufreq. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit a5aa8a603efa25dd41220bff990da025c93b632b Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 10:51:01 2015 +0200 clk: ti: move omap2_clk_enable_init_clocks under clock driver This is no longer used outside clock driver, so move it under the driver and remove the export for it from the global header file. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit bf22bae794d696e411acfcac39b415e160e93834 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 19:06:54 2015 +0200 clk: ti: autoidle: move generic autoidle handling code to clock driver This is no longer needed in platform directory, as the legacy clock data is gone, so move it under TI clock driver. Some static functions are renamed also. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 5100349b95bf238c6c83cb702a64a56a6ee58fc9 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 17:10:39 2015 +0200 ARM: OMAP36xx: remove clock36xx.c/.h files These files contain legacy clock implementations which are no longer used for anything, thus remove them completely. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit c06bfbe75ef52ff548bffa3d89587aaaa92893bf Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 17:06:59 2015 +0200 ARM: OMAP2+: clock: remove clock_common_data.c file This only contains clksel tables that were used with the legacy clock data. Now that legacy clock data is completely gone, this file can be removed also. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 574c0116b910c7d47d7ead4f1dda21117c38723d Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 16:30:52 2015 +0200 ARM: OMAP2+: clk: remove obsolete clksel support code The clksel clock type is no longer used for anything, it is rather replaced with common clock divider code. Thus, remove the dead code from kernel. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit afe2cf08401638fbf1bfaf7234be7eb3a5778b04 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 16:24:26 2015 +0200 ARM: OMAP3: dpll3-m2: get rid of obsolete clksel access Core DVFS support code is currently referencing clksel functionality, which is wrong. The m2 divisor has been implemented as a divider clock for a long time already, so replace the validrate check call with proper functionality. Core DVFS is currently not supported in the kernel so verifying this patch can be rather tricky, this should probably be fixed at some point. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit ef14db0977547b1982d4f6eaa305e1a22eb95778 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 14:33:54 2015 +0200 clk: ti: move interface clock implementation under drivers/clk With the legacy clock support gone, the OMAP interface clock implementation can be moved under the clock driver. Some temporary header file tweaks are also needed to make this change work properly. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 59245ce01a2e3ded836172266e3ac2e576a03333 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 11:07:35 2015 +0200 clk: ti: move OMAP4+ DPLL implementation under drivers/clk With the legacy clock support gone, the OMAP4 specific DPLL implementations can be moved under the clock driver. Change some of the function prototypes to be static at the same time, and remove some exports from the global TI clock driver header. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit b138b0283d35bed0cd3353d7e39add8ac493eb37 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 09:57:28 2015 +0200 clk: ti: move generic OMAP DPLL implementation under drivers/clk With the legacy clock data now gone, we can start moving OMAP clock type implementations under clock driver. Start this with moving the generic OMAP DPLL clock type under TI clock driver. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit f3b19aa5cab65f7e73613aa37f6851ce56b794d1 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Feb 27 17:54:14 2015 +0200 ARM: OMAP2+: clock: export driver API to setup/get clock features As most of the clock driver support code is going to be moved under drivers/clk/ti, an API for setting / getting the SoC specific clock features is needed. This patch provides this API and changes the existing code to use it. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit a2ee48d60eed9cfb6447a4233370aee4ea88108b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri May 29 16:14:37 2015 +0300 drm/i915: abstract hpd irq storm detection Simplify intel_hpd_irq_handler() by extracting HPD irq storm detection to a separate function. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd4b4827acdc00bf9e71f939d160102021d10d4f Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri May 29 14:28:09 2015 +0300 drm/i915: Silence compiler warning Silence the following -Wmaybe-uninitialized warnings and make the code more clear. drivers/gpu/drm/i915/intel_display.c: In function â??__intel_set_modeâ??: drivers/gpu/drm/i915/intel_display.c:11844:14: warning: â??crtc_stateâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] return state->mode_changed || state->active_changed; ^ drivers/gpu/drm/i915/intel_display.c:11854:25: note: â??crtc_stateâ?? was declared here struct drm_crtc_state *crtc_state; ^ drivers/gpu/drm/i915/intel_display.c:11868:6: warning: â??crtcâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] if (crtc != intel_encoder->base.crtc) ^ drivers/gpu/drm/i915/intel_display.c:11853:19: note: â??crtcâ?? was declared here struct drm_crtc *crtc; Reported-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 475c2e3b3cfba9283793d56742dc2cae2712574b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:54 2015 +0300 drm/i915/bxt: clear hpd status sticky bits earlier The hotplug status is cached in hp_control, and will be passed on to bottom halves through intel_hpd_irq_handler(), so we can clear the sticky bits earlier. While at it, drop the redundant logging of the hotplug status, which will also be logged by pch_get_hpd_pins(). Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 676574dffa4d67ff4e8b2ec796eb9f41aad925d8 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:53 2015 +0300 drm/i915: abstract away platform specific parts from hpd handling Split intel_hpd_irq_handler into platforms specific and platform agnostic parts. The platform specific parts decode the registers into information about which hpd pins triggered, and if they were long pulses. The platform agnostic parts do further processing, such as interrupt storm mitigation and scheduling bottom halves. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c8727233aa80cdf54e3460ac5ebc93c05b09ff5d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:52 2015 +0300 drm/i915: simplify condition for digital port As the hpd loops have been merged together, we don't have to maintain state for all hpd triggers. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9ace043310ba4875e08863b9f31f429d853685f2 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:51 2015 +0300 drm/i915: merge the two hpd loops in intel_hpd_irq_handler to one Nothing in the two consecutive loops over hpd pins depends on state in a larger context than the single hpd pin. If we skip the rest of the loop on short hpd pulses, we can merge the two loops into one. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab68d5bb0b49727e4049b018185f82764cf44736 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:50 2015 +0300 drm/i915: put back the indent in intel_hpd_irq_handler In an unfortunate back and forth stepping, retract the earlier change to reduce indent. This is to make merging the two loops easier. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 641a969eff3ffb01088736ef9531caffe38a6fd9 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:49 2015 +0300 drm/i915: simplify conditions for skipping the 2nd hpd loop iterations Multiple positive and negative checks for hpd[i] & hotplug_trigger gets hard to read. Simplify. This should make follow-up patches merging the two loops easier. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c91711f93f7102c4c71896b6e9273f222bf31989 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:48 2015 +0300 drm/i915: add for_each_hpd_pin to iterate over hotplug pins No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 623e01e53927b05e96781532bdb40536e833e276 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri May 22 11:22:34 2015 +0300 drm/i915: Warn when cdclk for the platforms is not known Print a warning if we fall through the .get_display_clock_speed() function pointer setup. We end up assuming a 133MHz cdclk which should mean that at least we avoid any 0 deivisions and whatnot. But this could at least help remind people that they have to provide this function for new platforms. v2: Rebased to the latest v3: Rebased to the latest Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> (v1) Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 34edce2fea6960ce5855d6e09902f82822c374c5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri May 22 11:22:33 2015 +0300 drm/i915: Add cdclk extraction for g33, g965gm and g4x Implement cdclk extraction for g33, 965gm and g4x platforms. The details came from configdb. Sadly there isn't anything there for other gen3/gen4 chipsets. So far I've tested this on one ELK where it gave me a HPLL VCO of 5333 MHz and cdclk of 444 MHz which seems perfectly sane for this machine. v2: Rebased to the latest v3: Rebased to the latest Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 65cd2b3fa521d1abec13dd36bf1bfc8f2469d8bc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri May 22 11:22:32 2015 +0300 drm/i915: Fix 852GM/GMV cdclk It seems 852GM/GMV uses a different HPLLCC encoding than the other 85x platforms. For 852GM/GMV cdclk is always 133MHz. Try to detect that using the PCI revision (sinc the device ID seems useless for that). I'm not at all sure this is a good idea, but according to the specs it should work. v2: Rebased to the latest v3: Rebased to the latest Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> (v1) Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1b1d27160dad5478f614f95ae5a87bd8382c5612 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri May 22 11:22:31 2015 +0300 drm/i915: Fix i855 get_display_clock_speed Actually read the HPLLCC register insted of assuming it's 0. Fix the HPLLCC bit definitions and all the missing ones from the 852GME spec. 852GME, 854 and 855 all seem to match the same HPLLC encoding even though only some of the values are valid is some of the platforms. v2: Rebased to the latest v3: Rebased to the latest Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> (v1) Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8d2fdc3f26d150633004a04b53a4398cc2eed343 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Wed May 27 10:52:32 2015 +0100 drm/i915: Only show view type for GGTT VMAs Printing it for PPGTT VMAs only adds noise since we have defined view types are only applicable for GGTT. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 877f61d947b6666205fee4ea7a04faf187a4ede5 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:47 2015 +0100 drm/i915/skl: Don't try to store the wrong central frequency The orignal code started by storing the actual central frequency (in Hz, using a uint64_t) in a uint32_t which codes for the register value. That can't be right. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6358298337abfabcf1e2b211c433f2093e5e9b28 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:46 2015 +0100 drm/i915: Correctly prefix HSW/BDW HDMI clock functions Those functions were the only one in existence when they were introduced. We now know they are only valid for HSW/BDW. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 64311571a91fdd6d2ddc9055e9ba477f118067ad Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:44 2015 +0100 drm/i915/skl: Remove unnecessary () used with abs_diff() abs_diff() properly protects its parameters, so no need for the outer () here. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30a7862de84e69abc3018c57184f485048eed9d8 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:43 2015 +0100 drm/i915/skl: Remove unnecessary () used with div_u64() div_u64() can be either a inline function or a define, but in either case it's safe to provide expressions as parameters without outer () around them. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 76516fbc294d60481f2427d6a42125364a629386 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:42 2015 +0100 drm/i915/skl: Factor out computing the DPLL paramaters from the dividers This part doesn't depend on how we compute the DPLL dividers (p and p0/p1/p2) and can be reused even if we change the algorithm to do so. (something that is planned for a followup patch) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9c2367538de381435503425c22c4f192c72e282e Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:41 2015 +0100 drm/i915/skl: Use a more idomatic early return We can coalesce the WARN() condition with the WARN() itself and, as we are returning early, we can de-intent the rest of the function. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 318bd821d65d37fb12c5673607e2b013f7a86a01 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:40 2015 +0100 drm/i915/skl: Propagate the error if we fail to find a suitable DPLL divider At the moment, even if we fail to find a suitable divider, we'll still try to set the mode with bogus parameters. Just fail the modeset if we can't generate the frequency. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 19cdc0e6cdfc29e3ddee1fe56c3bcdfe25f6a916 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:39 2015 +0100 drm/i915/skl: Display the WRPLL frequency we couldn't accomodate when failing This helps debugging. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6cf75178deacd87af12a657d914e6bbca806b5ba Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:38 2015 +0100 drm/i915/skl: Make sure to break when not finding suitable PLL dividers Right now, when finishing the cycle with odd dividers without finding a suitable candidate, we end up in an infinite loop. Make sure to break in that case. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea875496360cf8f89ea009239bf7ef12cdd4febc Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:45 2015 +0300 drm/i915/dsi: remove non-op hot plug callback Not needed or used. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d66716200a8e8362599ce939df40821bb960e866 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:44 2015 +0300 drm/i915: remove useless DP and DDI encoder ->hot_plug hooks The hotplug callbacks for DP and DDI effectively did nothing. Remove them. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5fcece80ecdac932a0acb71e3a239c39dd4af20f Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:42 2015 +0300 drm/i915: group all hotplug related fields into a new struct in dev_priv There are plenty of hotplug related fields in struct drm_i915_private scattered all around. Group them under one hotplug struct. Clean up naming while at it. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b0c29a33fc80bec3ae0f5862d7733e3782878d6d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:41 2015 +0300 drm/i915: reduce indent in intel_hpd_irq_handler Continue to loop early if there's nothing to do. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 369712e89404089fa559235bb1ee8fc40d976e6b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:40 2015 +0300 drm/i915: reduce duplicate conditions in i9xx_hpd_irq_handler Move dp aux irq handling within the same branch instead of duplicating the conditions. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d2e42970cfa8814ce5f73e329f61c94b7ec2dab Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:39 2015 +0300 drm/i915: reduce indent in i9xx_hpd_irq_handler Bail out early if nothing to do. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b1b38278e12b04cf9a227f6af2c24651cf6e8a85 Author: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Date: Wed May 20 17:00:13 2015 +0300 drm/i915: add a context parameter to {en, dis}able zero address mapping Export a new context parameter that can be set/queried through the context_{get,set}param ioctls. This parameter is passed as a context flag and decides whether or not a GPU address mapping is allowed to be made at address zero. The default is to allow such mappings. Signed-off-by: David Weinehall <david.weinehall@xxxxxxxxx> Acked-by: "Zou, Nanhai" <nanhai.zou@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9473a62f779d78bae646e7ef1a792d53ad4ac29e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sun May 24 17:45:54 2015 -0300 coccinelle: irqf_oneshot.cocci: Improve the generated commit log Improve the commit log of the generated patch by mentioning the commit log that makes threaded IRQs without a primary handler to be requested with the IRQF_ONESHOT flag. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked- by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 4c8f20bb8e0ba6eecf62958bbf0502a2dc445ce6 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Thu May 21 19:19:13 2015 +0800 coccinelle: api: add vma_pages.cocci This semantic patch replaces explicit computations of vma page count with explicit function call. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 74de120d8096f72bdf95aba7234428c798d931cd Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed May 20 08:02:35 2015 -0300 scripts/coccinelle/misc/irqf_oneshot.cocci: Fix grammar Correct form is 'always requested'. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 4341f6e5ce448dd79c3e663513213b936ba34c83 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed May 20 08:02:34 2015 -0300 scripts/coccinelle/misc/semicolon.cocci: Use imperative mood According to Documentation/SubmittingPatches: "Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behaviour. So do as recommended. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ca34cba43168830dd96f8f6407282131733e6fb4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat May 9 17:09:30 2015 -0300 coccinelle: simple_open: Use imperative mood According to Documentation/SubmittingPatches: "Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behaviour." So do as recommended. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit dd494ac0de48ded6a7ec0525f253116fde5c7be5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat May 9 17:09:29 2015 -0300 coccinelle: ifaddr: Fix the sentence Make the sentence sensible. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit fe8c46b632505a880c527bc9ae246e868aa3ece5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat May 9 17:09:28 2015 -0300 coccinelle: returnvar: Use imperative mood According to Documentation/SubmittingPatches: "Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behaviour." So do as recommended. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit f9beafc9d8bf7febf673df9b41e13596ca669f75 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat May 9 17:09:27 2015 -0300 coccinelle: pm_runtime: Insert blank line Insert a blank line in order to improve the readability of the generated patch and also make it consistent with the other .cocci files. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ca2a9d2cf6cf3dd852c3926ac7e30ee774da4638 Author: Arnaud Patard (Rtp) <arnaud.patard@xxxxxxxxxxx> Date: Tue Feb 3 13:16:33 2015 +0100 deb-pkg: Add device tree blobs to the package When building a package with make deb-pkg (say, for arm), the dtb files are not added to the package. Given that things are still evolving on arm, it make sense to have them along with the kernel and modules. Signed-off-by: Arnaud Patard <arnaud.patard@xxxxxxxxxxx> Reviewed-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Acked-by: maximilian attems <max@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 64178cb62c329350fe06622cd215264d849b27b1 Author: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Date: Mon Mar 16 11:20:54 2015 +0300 builddeb: fix stripped module signatures if CONFIG_DEBUG_INFO and CONFIG_MODULE_SIG_ALL are set If CONFIG_MODULE_SIG_ALL is set, then user expects that all modules are automatically signed in the result package, as it's for rpm-pkg, binrpm-pkg, tar, tar-*. For deb-pkg this is correct only if CONFIG_DEBUG_INFO is NOT set. In that case deb-package contains signed modules. But if CONFIG_DEBUG_INFO is set, builddeb creates separate package with debug information. To do that, debug information from all modules is copied into separate files by objcopy. And loadable kernel modules are stripped afterwards. Stripping removes previously (during modules_install) added signatures from loadable kernel modules. Therefore final deb-package contains unsigned modules despite of set option CONFIG_MODULE_SIG_ALL. This patch resigns all stripped modules if CONFIG_MODULE_SIG_ALL is set to solve this problem. Signed-off-by: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Acked-by: maximilian attems <max@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit dca0c0246fb739bccdd19ff2bfd0f02ccffdb07c Author: Riku Voipio <riku.voipio@xxxxxxxxxx> Date: Thu Apr 16 16:42:46 2015 +0300 deb-pkg: move setting debarch for a separate function create_package() function tries to resolve used architecture for everry package. Split the setting the architecture to a new function, set_debarch(), called once on startup. This allows using debarch from other parts of script as needed. v2: Follow Michals suggestion on setting variables at top scope and also setting the fallback $debarch in the new function Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 92f43c452c5313a7914eab2b08d966a6c5007baa Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Apr 19 00:05:14 2015 +0200 kbuild/mkspec: Simplify vmlinux.bz2 creation No need for the intermediary vmlinux.orig - bzip2 can keep the original files used for compression with --keep. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> For bisection revision-tuple graph see: http://logs.test-lab.xenproject.org/osstest/results/bisect/linux-linus/test-armhf-armhf-xl-arndale.leak-check--basis(8).html Revision IDs in each graph node refer, respectively, to the Trees above. ---------------------------------------- Running cs-bisection-step '--graph-out=/home/logs/results/bisect/linux-linus/test-armhf-armhf-xl-arndale.leak-check--basis(8)' --summary-out=tmp/62108.bisection-summary --basis-template=59254 --blessings=real,real-bisect linux-linus test-armhf-armhf-xl-arndale 'leak-check/basis(8)' Searching for failure / basis pass: 61911 fail [host=arndale-metrocentre] / 61295 [host=arndale-bluewater] 61119 [host=arndale-lakeside] 60998 [host=arndale-westfield] 60952 [host=arndale-lakeside] 60877 [host=arndale-bluewater] 60840 ok. Failure / basis pass flights: 61911 / 60840 Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: xen git://xenbits.xen.org/xen.git Latest 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d Basis pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bcf35eec0b621c46dbf0aeb40c6bc06b5d3981aa 145a8004a7d659668d5a3b0ad9868d7678b24822 Generating revisions with ./adhoc-revtuple-generator git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git#b7dec838b5f3610c9e800249b1da10468580cd11-6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/staging/qemu-upstream-unstable.git#bcf35eec0b621c46dbf0aeb40c6bc06b5d3981aa-b05befcbea71a979509ce04f02929969a790c923 git://xenbits.xen.org/xen.git#145a8004a7d659668d5a3b0ad9868d7678b24822-a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d adhoc-revtuple-generator: tree discontiguous: linux-2.6 Loaded 2008 nodes in revision graph Searching for test results: 60709 [host=arndale-westfield] 60680 pass irrelevant 60773 [host=arndale-bluewater] 60840 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bcf35eec0b621c46dbf0aeb40c6bc06b5d3981aa 145a8004a7d659668d5a3b0ad9868d7678b24822 60807 [host=arndale-lakeside] 60877 [host=arndale-bluewater] 60952 [host=arndale-lakeside] 60998 [host=arndale-westfield] 61119 [host=arndale-lakeside] 61295 [host=arndale-bluewater] 61594 fail irrelevant 61756 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bcf35eec0b621c46dbf0aeb40c6bc06b5d3981aa 672101b54269d7a69c2ccaa345ea396dcca63238 61776 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 340ade2f0ef692efce01a708ad98629af985f978 61750 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bcf35eec0b621c46dbf0aeb40c6bc06b5d3981aa 145a8004a7d659668d5a3b0ad9868d7678b24822 61755 fail irrelevant 61768 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bcf35eec0b621c46dbf0aeb40c6bc06b5d3981aa 7b99717f62caeac08eea224a177cd28f047ac4b5 61772 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 0cc73e9870a96e18fc076618c0b419919794ae06 61773 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 a4304367c40969cea034028b0fe5b0c28033e7e9 61775 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 6a05af24592b4a577361ff318a721b4fb2e8cd0c 61777 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 801ab48e5556cb54f67e3cb57f077f47e8663ced 61778 fail irrelevant 61692 fail irrelevant 61779 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 801ab48e5556cb54f67e3cb57f077f47e8663ced 61891 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d 61881 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 076cd50657516fd265107101b0a8385e487fc304 61780 [host=arndale-westfield] 61886 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 8747dba3b7218b6e21999fbfdff9d4f807650269 61887 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 b2700877adacb93c265c4fa1c637aba66db74817 61781 fail irrelevant 61888 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 e00f8a1a75dfb1c0ce33752e4a284fc0af3e0cf3 61912 [host=arndale-westfield] 61889 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 e8e9f830dc46ea2bad6919af1fdffc136dfb3aeb 61911 fail 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d 61894 fail irrelevant 62043 blocked b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bcf35eec0b621c46dbf0aeb40c6bc06b5d3981aa 145a8004a7d659668d5a3b0ad9868d7678b24822 62024 [host=arndale-westfield] 62037 [host=arndale-westfield] 62025 [host=arndale-westfield] 62036 [host=arndale-westfield] 62026 [host=arndale-westfield] 62038 [host=arndale-westfield] 62100 fail 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d 62104 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d 62105 fail 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d 62107 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d 62108 fail 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d 62095 pass b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bcf35eec0b621c46dbf0aeb40c6bc06b5d3981aa 145a8004a7d659668d5a3b0ad9868d7678b24822 62099 blocked 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d Searching for interesting versions Result found: flight 60840 (pass), for basis pass Result found: flight 61911 (fail), for basis failure Repro found: flight 62095 (pass), for basis pass Repro found: flight 62100 (fail), for basis failure 0 revisions at b7dec838b5f3610c9e800249b1da10468580cd11 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b05befcbea71a979509ce04f02929969a790c923 a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d No revisions left to test, checking graph state. Result found: flight 61891 (pass), for last pass Result found: flight 61911 (fail), for first failure Repro found: flight 62104 (pass), for last pass Repro found: flight 62105 (fail), for first failure Repro found: flight 62107 (pass), for last pass Repro found: flight 62108 (fail), for first failure *** Found and reproduced problem changeset *** Bug is in tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Bug introduced: 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f Bug not present: b7dec838b5f3610c9e800249b1da10468580cd11 commit 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 12 16:35:56 2015 -0700 Linux 4.3-rc1 commit 6917b51dee54f21816706af2278517b7af218f9a Merge: 10fbd36 254a0f4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 12 12:24:29 2015 -0700 Merge tag 'cris-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris Pull CRIS updates from Jesper Nilsson: "Mostly removal of old cruft of which we can use a generic version, or fixes for code not commonly run in the cris port, but also additions to enable some good debug" * tag 'cris-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris: (25 commits) CRISv10: delete unused lib/dmacopy.c CRISv10: delete unused lib/old_checksum.c CRIS: fix switch_mm() lockdep splat CRISv32: enable LOCKDEP_SUPPORT CRIS: add STACKTRACE_SUPPORT CRISv32: annotate irq enable in idle loop CRISv32: add support for irqflags tracing CRIS: UAPI: use generic types.h CRIS: UAPI: use generic shmbuf.h CRIS: UAPI: use generic msgbuf.h CRIS: UAPI: use generic socket.h CRIS: UAPI: use generic sembuf.h CRIS: UAPI: use generic sockios.h CRIS: UAPI: use generic auxvec.h CRIS: UAPI: use generic headers via Kbuild CRIS: UAPI: fix elf.h export CRIS: don't make asm/elf.h depend on asm/user.h CRIS: UAPI: fix ptrace.h CRISv32: Squash compile warnings for axisflashmap CRISv32: Add GPIO driver to the default configs ... commit 10fbd36e362a0f367e34a7cd876a81295d8fc5ca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed May 27 15:32:15 2015 -0700 blk: rq_data_dir() should not return a boolean rq_data_dir() returns either READ or WRITE (0 == READ, 1 == WRITE), not a boolean value. Now, admittedly the "!= 0" doesn't really change the value (0 stays as zero, 1 stays as one), but it's not only redundant, it confuses gcc, and causes gcc to warn about the construct switch (rq_data_dir(req)) { case READ: ... case WRITE: ... that we have in a few drivers. Now, the gcc warning is silly and stupid (it seems to warn not about the switch value having a different type from the case statements, but about _any_ boolean switch value), but in this case the code itself is silly and stupid too, so let's just change it, and get rid of warnings like this: drivers/block/hd.c: In function â??hd_requestâ??: drivers/block/hd.c:630:11: warning: switch condition has boolean value [-Wswitch-bool] switch (rq_data_dir(req)) { The odd '!= 0' came in when "cmd_flags" got turned into a "u64" in commit 5953316dbf90 ("block: make rq->cmd_flags be 64-bit") and is presumably because the old code (that just did a logical 'and' with 1) would then end up making the type of rq_data_dir() be u64 too. But if we want to retain the old regular integer type, let's just cast the result to 'int' rather than use that rather odd '!= 0'. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e1df8b0a1bb2ac8254616d6075e40f9ca447fa29 Merge: dfb22fc 505a666 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 12 11:19:01 2015 -0700 Merge branch 'writeback-plugging' Fix up the writeback plugging introduced in commit d353d7587d02 ("writeback: plug writeback at a high level") that then caused problems due to the unplug happening with a spinlock held. * writeback-plugging: writeback: plug writeback in wb_writeback() and writeback_inodes_wb() Revert "writeback: plug writeback at a high level" commit 505a666ee3fc611518e85df203eb8c707995ceaa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 13:37:19 2015 -0700 writeback: plug writeback in wb_writeback() and writeback_inodes_wb() We had to revert the pluggin in writeback_sb_inodes() because the wb->list_lock is held, but we could easily plug at a higher level before taking that lock, and unplug after releasing it. This does that. Chris will run performance numbers, just to verify that this approach is comparable to the alternative (we could just drop and re-take the lock around the blk_finish_plug() rather than these two commits. I'd have preferred waiting for actual performance numbers before picking one approach over the other, but I don't want to release rc1 with the known "sleeping function called from invalid context" issue, so I'll pick this cleanup version for now. But if the numbers show that we really want to plug just at the writeback_sb_inodes() level, and we should just play ugly games with the spinlock, we'll switch to that. Cc: Chris Mason <clm@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dfb22fc5c0eb7645f47a752ce537bfb2c8a6aea6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 20:06:59 2015 -0700 thermal: fix intel PCH thermal driver mismerge I didn't notice this when merging the thermal code from Zhang, but his merge (commit 5a924a07f882: "Merge branches 'thermal-core' and 'thermal-intel' of .git into next") of the thermal-core and thermal-intel branches was wrong. In thermal-core, commit 17e8351a7739 ("thermal: consistently use int for temperatures") converted the thermal layer to use "int" for temperatures. But in parallel, in the thermal-intel branch commit d0a12625d2ff ("thermal: Add Intel PCH thermal driver") added support for the intel PCH thermal sensor using the old interfaces that used "unsigned long" pointers. This resulted in warnings like this: drivers/thermal/intel_pch_thermal.c:184:14: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] .get_temp = pch_thermal_get_temp, ^ drivers/thermal/intel_pch_thermal.c:184:14: note: (near initialization for â??tzd_ops.get_tempâ??) drivers/thermal/intel_pch_thermal.c:186:19: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] .get_trip_temp = pch_get_trip_temp, ^ drivers/thermal/intel_pch_thermal.c:186:19: note: (near initialization for â??tzd_ops.get_trip_tempâ??) This fixes it. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01b0c014eeb0bb857a5dc572cd108be7becddfe7 Merge: 3ebb054 e527b22 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 19:34:09 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge fourth patch-bomb from Andrew Morton: - sys_membarier syscall - seq_file interface changes - a few misc fixups * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: revert "ocfs2/dlm: use list_for_each_entry instead of list_for_each" mm/early_ioremap: add explicit #include of asm/early_ioremap.h fs/seq_file: convert int seq_vprint/seq_printf/etc... returns to void selftests: enhance membarrier syscall test selftests: add membarrier syscall test sys_membarrier(): system-wide memory barrier (generic, x86) MODSIGN: fix a compilation warning in extract-cert commit 3ebb0540c20d6670396ccee9ff6794c095fa9311 Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Fri Sep 11 16:32:22 2015 -0700 ARCv2: [axs103_smp] Reduce clk for SMP FPGA configs Newer bitfiles needs the reduced clk even for SMP builds Cc: <stable@xxxxxxxxxxxxxxx> #4.2 Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ded0e250b58a27af6034a8ab9226cbcdf7c0d847 Merge: f0c032d 9a07826 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 19:29:00 2015 -0700 Merge tag 'ntb-4.3' of git://github.com/jonmason/ntb Pull NTB fixes from Jon Mason: "NTB bug and documentation fixes, new device IDs, performance improvements, and adding a mailing list to MAINTAINERS for NTB" * tag 'ntb-4.3' of git://github.com/jonmason/ntb: NTB: Fix range check on memory window index NTB: Improve index handling in B2B MW workaround NTB: Fix documentation for ntb_peer_db_clear. NTB: Fix documentation for ntb_link_is_up NTB: Use unique DMA channels for TX and RX NTB: Remove dma_sync_wait from ntb_async_rx NTB: Clean up QP stats info NTB: Make the transport list in order of discovery NTB: Add PCI Device IDs for Broadwell Xeon NTB: Add flow control to the ntb_netdev NTB: Add list to MAINTAINERS commit f0c032d81f58c99b63a6e57cf883e923db910928 Merge: fa9a67e 53431d0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 19:17:28 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull more input updates from Dmitry Torokhov: "Second round of updates for the input subsystem. This introduces two brand new touchscreen drivers (Colibri and imx6ul_tsc), some small driver fixes, and we are no longer report errors from evdev_flush() as users do not really have a way of handling errors, error codes that we were returning were not on the list of errors supposed to be returned by close(), and errors were causing issues with one of older versions of systemd" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: imx_keypad - remove obsolete comment Input: touchscreen - add imx6ul_tsc driver support Input: Add touchscreen support for Colibri VF50 Input: i8042 - lower log level for "no controller" message Input: evdev - do not report errors form flush() Input: elants_i2c - extend the calibration timeout to 12 seconds Input: sparcspkr - fix module autoload for OF platform drivers Input: regulator-haptic - fix module autoload for OF platform driver Input: pwm-beeper - fix module autoload for OF platform driver Input: ab8500-ponkey - Fix module autoload for OF platform driver Input: cyttsp - remove unnecessary MODULE_ALIAS() Input: elan_i2c - add ACPI ID "ELAN1000" commit fa9a67ef9de48de5474ea1e5a358340369e78b74 Merge: 05c7808 4614e0c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 19:11:06 2015 -0700 Merge tag 'pm+acpi-4.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull more power management and ACPI updates from Rafael Wysocki: "These are mostly fixes and cleanups on top of the previous PM+ACPI pull request (cpufreq core and drivers, cpuidle, generic power domains framework). Some of them didn't make to that pull request and some fix issues introduced by it. The only really new thing is the support for suspend frequency in the cpufreq-dt driver, but it is needed to fix an issue with Exynos platforms. Specifics: - build fix for the new Mediatek MT8173 cpufreq driver (Guenter Roeck). - generic power domains framework fixes (power on error code path, subdomain removal) and cleanup of a deprecated API user (Geert Uytterhoeven, Jon Hunter, Ulf Hansson). - cpufreq-dt driver fixes including two fixes for bugs related to the new Operating Performance Points Device Tree bindings introduced recently (Viresh Kumar). - suspend frequency support for the cpufreq-dt driver (Bartlomiej Zolnierkiewicz, Viresh Kumar). - cpufreq core cleanups (Viresh Kumar). - intel_pstate driver fixes (Chen Yu, Kristen Carlson Accardi). - additional sanity check in the cpuidle core (Xunlei Pang). - fix for a comment related to CPU power management (Lina Iyer)" * tag 'pm+acpi-4.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: intel_pstate: fix PCT_TO_HWP macro intel_pstate: Fix user input of min/max to legal policy region PM / OPP: Return suspend_opp only if it is enabled cpufreq-dt: add suspend frequency support cpufreq: allow cpufreq_generic_suspend() to work without suspend frequency PM / OPP: add dev_pm_opp_get_suspend_opp() helper staging: board: Migrate away from __pm_genpd_name_add_device() cpufreq: Use __func__ to print function's name cpufreq: staticize cpufreq_cpu_get_raw() PM / Domains: Ensure subdomain is not in use before removing cpufreq: Add ARM_MT8173_CPUFREQ dependency on THERMAL cpuidle/coupled: Add sanity check for safe_state_index PM / Domains: Try power off masters in error path of __pm_genpd_poweron() cpufreq: dt: Tolerance applies on both sides of target voltage cpufreq: dt: Print error on failing to mark OPPs as shared cpufreq: dt: Check OPP count before marking them shared kernel/cpu_pm: fix cpu_cluster_pm_exit comment commit 05c78081d2d8eaf04bf60946fcc53380febf3376 Merge: 8e78b7d ac64a2c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 19:00:42 2015 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending Pull SCSI target updates from Nicholas Bellinger: "Here are the outstanding target-pending updates for v4.3-rc1. Mostly bug-fixes and minor changes this round. The fallout from the big v4.2-rc1 RCU conversion have (thus far) been minimal. The highlights this round include: - Move sense handling routines into scsi_common code (Sagi) - Return ABORTED_COMMAND sense key for PI errors (Sagi) - Add tpg_enabled_sendtargets attribute for disabled iscsi-target discovery (David) - Shrink target struct se_cmd by rearranging fields (Roland) - Drop iSCSI use of mutex around max_cmd_sn increment (Roland) - Replace iSCSI __kernel_sockaddr_storage with sockaddr_storage (Andy + Chris) - Honor fabric max_data_sg_nents I/O transfer limit (Arun + Himanshu + nab) - Fix EXTENDED_COPY >= v4.1 regression OOPsen (Alex + nab)" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (37 commits) target: use stringify.h instead of own definition target/user: Fix UFLAG_UNKNOWN_OP handling target: Remove no-op conditional target/user: Remove unused variable target: Fix max_cmd_sn increment w/o cmdsn mutex regressions target: Attach EXTENDED_COPY local I/O descriptors to xcopy_pt_sess target/qla2xxx: Honor max_data_sg_nents I/O transfer limit target/iscsi: Replace __kernel_sockaddr_storage with sockaddr_storage target/iscsi: Replace conn->login_ip with login_sockaddr target/iscsi: Keep local_ip as the actual sockaddr target/iscsi: Fix np_ip bracket issue by removing np_ip target: Drop iSCSI use of mutex around max_cmd_sn increment qla2xxx: Update tcm_qla2xxx module description to 24xx+ iscsi-target: Add tpg_enabled_sendtargets for disabled discovery drivers: target: Drop unlikely before IS_ERR(_OR_NULL) target: check DPO/FUA usage for COMPARE AND WRITE target: Shrink struct se_cmd by rearranging fields target: Remove cmd->se_ordered_id (unused except debug log lines) target: add support for START_STOP_UNIT SCSI opcode target: improve unsupported opcode message ... commit 8e78b7dc93c580c050435b0f88991c26e02166bc Merge: 06a660a 294ab78 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 18:15:18 2015 -0700 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull second round of SCSI updates from James Bottomley: "There's one late arriving patch here (added today), fixing a build issue which the scsi_dh patch set in here uncovered. Other than that, everything has been incubated in -next and the checkers for a week. The major pieces of this patch are a set patches facilitating better integration between scsi and scsi_dh (the device handling layer used by multi-path; all the dm parts are acked by Mike Snitzer). This also includes driver updates for mp3sas, scsi_debug and an assortment of bug fixes" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (50 commits) scsi_dh: fix randconfig build error scsi: fix scsi_error_handler vs. scsi_host_dev_release race fcoe: Convert use of __constant_htons to htons mpt2sas: setpci reset kernel oops fix pm80xx: Don't override ts->stat on IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY lpfc: Fix possible use-after-free and double free in lpfc_mbx_cmpl_rdp_page_a2() bfa: Fix incorrect de-reference of pointer bfa: Fix indentation scsi_transport_sas: Remove check for SAS expander when querying bay/enclosure IDs. scsi_debug: resp_request: remove unused variable scsi_debug: fix REPORT LUNS Well Known LU scsi_debug: schedule_resp fix input variable check scsi_debug: make dump_sector static scsi_debug: vfree is null safe so drop the check scsi_debug: use SCSI_W_LUN_REPORT_LUNS instead of SAM2_WLUN_REPORT_LUNS; scsi_debug: define pr_fmt() for consistent logging mpt2sas: Refcount fw_events and fix unsafe list usage mpt2sas: Refcount sas_device objects and fix unsafe list usage scsi_dh: return SCSI_DH_NOTCONN in scsi_dh_activate() scsi_dh: don't allow to detach device handlers at runtime ... commit 06a660ada2064bbdcd09aeb8173f2ad128c71978 Merge: d9b44fe 63540f0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:42:39 2015 -0700 Merge tag 'media/v4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: "A series of patches that move part of the code used to allocate memory from the media subsystem to the mm subsystem" [ The mm parts have been acked by VM people, and the series was apparently in -mm for a while - Linus ] * tag 'media/v4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] drm/exynos: Convert g2d_userptr_get_dma_addr() to use get_vaddr_frames() [media] media: vb2: Remove unused functions [media] media: vb2: Convert vb2_dc_get_userptr() to use frame vector [media] media: vb2: Convert vb2_vmalloc_get_userptr() to use frame vector [media] media: vb2: Convert vb2_dma_sg_get_userptr() to use frame vector [media] vb2: Provide helpers for mapping virtual addresses [media] media: omap_vout: Convert omap_vout_uservirt_to_phys() to use get_vaddr_pfns() [media] mm: Provide new get_vaddr_frames() helper [media] vb2: Push mmap_sem down to memops commit d9b44fe30fb8637b23f804eab2e7afbce129d714 Merge: 9ebd051 12f0721 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:21:12 2015 -0700 Merge tag 'edac/v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac Pull edac updates from Mauro Carvalho Chehab: "Two EDAC fixes for Intel systems (Haswell and Ivy Bridge)" * tag 'edac/v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac: sb_edac: correctly fetch DIMM width on Ivy Bridge and Haswell sb_edac: look harder for DDRIO on Haswell systems commit 9ebd051a7d5aa7b0ce813c3c2e5b9c851e7774b9 Merge: 51a73ba 5a924a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:13:47 2015 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux Pull thermal updates from Zhang Rui: - use int instead of unsigned long to represent temperature to avoid bogus overheat detection when negative temperature reported. From Sascha Hauer. - export available thermal governors information to user space via sysfs. From Wei Ni. - introduce new thermal driver for Wildcat Point platform controller hub, which uses PCH thermal sensor and associated critical and hot trip points. From Tushar Dave. - add suuport for Intel Skylake and Denlow platforms in powerclamp driver. - some small cleanups in thermal core. * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: thermal: Add Intel PCH thermal driver thermal: Add comment explaining test for critical temperature thermal: Use IS_ENABLED instead of #ifdef thermal: remove unnecessary call to thermal_zone_device_set_polling thermal: trivial: fix typo in comment thermal: consistently use int for temperatures thermal: add available policies sysfs attribute thermal/powerclamp: add cpu id for denlow platform thermal/powerclamp: add cpu id for Skylake u/y thermal/powerclamp: add cpu id for skylake h/s commit e527b22c3f63c02832ac4cb8ed0ec3a9b638bbdf Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 13:07:53 2015 -0700 revert "ocfs2/dlm: use list_for_each_entry instead of list_for_each" Revert commit f83c7b5e9fd6 ("ocfs2/dlm: use list_for_each_entry instead of list_for_each"). list_for_each_entry() will dereference its `pos' argument, which can be NULL in dlm_process_recovery_data(). Reported-by: Julia Lawall <julia.lawall@xxxxxxx> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4f1af60bcc2fc6caa7fa3036238b5994708e9a84 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Sep 11 13:07:50 2015 -0700 mm/early_ioremap: add explicit #include of asm/early_ioremap.h Commit 6b0f68e32ea8 ("mm: add utility for early copy from unmapped ram") introduces a function copy_from_early_mem() into mm/early_ioremap.c which itself calls early_memremap()/early_memunmap(). However, since early_memunmap() has not been declared yet at this point in the .c file, nor by any explicitly included header files, we are depending on a transitive include of asm/early_ioremap.h to declare it, which is fragile. So instead, include this header explicitly. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6798a8caaf64fa68b9ab2044e070fe4545034e03 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Sep 11 13:07:48 2015 -0700 fs/seq_file: convert int seq_vprint/seq_printf/etc... returns to void The seq_<foo> function return values were frequently misused. See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to seq_has_overflowed() and make public") All uses of these return values have been removed, so convert the return types to void. Miscellanea: o Move seq_put_decimal_<type> and seq_escape prototypes closer the other seq_vprintf prototypes o Reorder seq_putc and seq_puts to return early on overflow o Add argument names to seq_vprintf and seq_printf o Update the seq_escape kernel-doc o Convert a couple of leading spaces to tabs in seq_escape Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c9946c4208a3725e116c05180d93154eb406d451 Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Date: Fri Sep 11 13:07:45 2015 -0700 selftests: enhance membarrier syscall test Update the membarrier syscall self-test to match the membarrier interface. Extend coverage of the interface. Consider ENOSYS as a "SKIP" test, since it is a valid configuration, but does not allow testing the system call. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Pranith Kumar <bobby.prani@xxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b6d973441675222a4e6c8cad8208c2fe098a0b25 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Sep 11 13:07:42 2015 -0700 selftests: add membarrier syscall test Add a self test for the membarrier system call. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5b25b13ab08f616efd566347d809b4ece54570d1 Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Date: Fri Sep 11 13:07:39 2015 -0700 sys_membarrier(): system-wide memory barrier (generic, x86) Here is an implementation of a new system call, sys_membarrier(), which executes a memory barrier on all threads running on the system. It is implemented by calling synchronize_sched(). It can be used to distribute the cost of user-space memory barriers asymmetrically by transforming pairs of memory barriers into pairs consisting of sys_membarrier() and a compiler barrier. For synchronization primitives that distinguish between read-side and write-side (e.g. userspace RCU [1], rwlocks), the read-side can be accelerated significantly by moving the bulk of the memory barrier overhead to the write-side. The existing applications of which I am aware that would be improved by this system call are as follows: * Through Userspace RCU library (http://urcu.so) - DNS server (Knot DNS) https://www.knot-dns.cz/ - Network sniffer (http://netsniff-ng.org/) - Distributed object storage (https://sheepdog.github.io/sheepdog/) - User-space tracing (http://lttng.org) - Network storage system (https://www.gluster.org/) - Virtual routers (https://events.linuxfoundation.org/sites/events/files/slides/DPDK_RCU_0MQ.pdf) - Financial software (https://lkml.org/lkml/2015/3/23/189) Those projects use RCU in userspace to increase read-side speed and scalability compared to locking. Especially in the case of RCU used by libraries, sys_membarrier can speed up the read-side by moving the bulk of the memory barrier cost to synchronize_rcu(). * Direct users of sys_membarrier - core dotnet garbage collector (https://github.com/dotnet/coreclr/issues/198) Microsoft core dotnet GC developers are planning to use the mprotect() side-effect of issuing memory barriers through IPIs as a way to implement Windows FlushProcessWriteBuffers() on Linux. They are referring to sys_membarrier in their github thread, specifically stating that sys_membarrier() is what they are looking for. To explain the benefit of this scheme, let's introduce two example threads: Thread A (non-frequent, e.g. executing liburcu synchronize_rcu()) Thread B (frequent, e.g. executing liburcu rcu_read_lock()/rcu_read_unlock()) In a scheme where all smp_mb() in thread A are ordering memory accesses with respect to smp_mb() present in Thread B, we can change each smp_mb() within Thread A into calls to sys_membarrier() and each smp_mb() within Thread B into compiler barriers "barrier()". Before the change, we had, for each smp_mb() pairs: Thread A Thread B previous mem accesses previous mem accesses smp_mb() smp_mb() following mem accesses following mem accesses After the change, these pairs become: Thread A Thread B prev mem accesses prev mem accesses sys_membarrier() barrier() follow mem accesses follow mem accesses As we can see, there are two possible scenarios: either Thread B memory accesses do not happen concurrently with Thread A accesses (1), or they do (2). 1) Non-concurrent Thread A vs Thread B accesses: Thread A Thread B prev mem accesses sys_membarrier() follow mem accesses prev mem accesses barrier() follow mem accesses In this case, thread B accesses will be weakly ordered. This is OK, because at that point, thread A is not particularly interested in ordering them with respect to its own accesses. 2) Concurrent Thread A vs Thread B accesses Thread A Thread B prev mem accesses prev mem accesses sys_membarrier() barrier() follow mem accesses follow mem accesses In this case, thread B accesses, which are ensured to be in program order thanks to the compiler barrier, will be "upgraded" to full smp_mb() by synchronize_sched(). * Benchmarks On Intel Xeon E5405 (8 cores) (one thread is calling sys_membarrier, the other 7 threads are busy looping) 1000 non-expedited sys_membarrier calls in 33s =3D 33 milliseconds/call. * User-space user of this system call: Userspace RCU library Both the signal-based and the sys_membarrier userspace RCU schemes permit us to remove the memory barrier from the userspace RCU rcu_read_lock() and rcu_read_unlock() primitives, thus significantly accelerating them. These memory barriers are replaced by compiler barriers on the read-side, and all matching memory barriers on the write-side are turned into an invocation of a memory barrier on all active threads in the process. By letting the kernel perform this synchronization rather than dumbly sending a signal to every process threads (as we currently do), we diminish the number of unnecessary wake ups and only issue the memory barriers on active threads. Non-running threads do not need to execute such barrier anyway, because these are implied by the scheduler context switches. Results in liburcu: Operations in 10s, 6 readers, 2 writers: memory barriers in reader: 1701557485 reads, 2202847 writes signal-based scheme: 9830061167 reads, 6700 writes sys_membarrier: 9952759104 reads, 425 writes sys_membarrier (dyn. check): 7970328887 reads, 425 writes The dynamic sys_membarrier availability check adds some overhead to the read-side compared to the signal-based scheme, but besides that, sys_membarrier slightly outperforms the signal-based scheme. However, this non-expedited sys_membarrier implementation has a much slower grace period than signal and memory barrier schemes. Besides diminishing the number of wake-ups, one major advantage of the membarrier system call over the signal-based scheme is that it does not need to reserve a signal. This plays much more nicely with libraries, and with processes injected into for tracing purposes, for which we cannot expect that signals will be unused by the application. An expedited version of this system call can be added later on to speed up the grace period. Its implementation will likely depend on reading the cpu_curr()->mm without holding each CPU's rq lock. This patch adds the system call to x86 and to asm-generic. [1] http://urcu.so membarrier(2) man page: MEMBARRIER(2) Linux Programmer's Manual MEMBARRIER(2) NAME membarrier - issue memory barriers on a set of threads SYNOPSIS #include <linux/membarrier.h> int membarrier(int cmd, int flags); DESCRIPTION The cmd argument is one of the following: MEMBARRIER_CMD_QUERY Query the set of supported commands. It returns a bitmask of supported commands. MEMBARRIER_CMD_SHARED Execute a memory barrier on all threads running on the system. Upon return from system call, the caller thread is ensured that all running threads have passed through a state where all memory accesses to user-space addresses match program order between entry to and return from the system call (non-running threads are de facto in such a state). This covers threads from all pro=E2=80=90 cesses running on the system. This command returns 0. The flags argument needs to be 0. For future extensions. All memory accesses performed in program order from each targeted thread is guaranteed to be ordered with respect to sys_membarrier(). If we use the semantic "barrier()" to represent a compiler barrier forcing memory accesses to be performed in program order across the barrier, and smp_mb() to represent explicit memory barriers forcing full memory ordering across the barrier, we have the following ordering table for each pair of barrier(), sys_membarrier() and smp_mb(): The pair ordering is detailed as (O: ordered, X: not ordered): barrier() smp_mb() sys_membarrier() barrier() X X O smp_mb() X O O sys_membarrier() O O O RETURN VALUE On success, these system calls return zero. On error, -1 is returned, and errno is set appropriately. For a given command, with flags argument set to 0, this system call is guaranteed to always return the same value until reboot. ERRORS ENOSYS System call is not implemented. EINVAL Invalid arguments. Linux 2015-04-15 MEMBARRIER(2) Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Nicholas Miell <nmiell@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Alan Cox <gnomes@xxxxxxxxxxxxxxxxxxx> Cc: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Pranith Kumar <bobby.prani@xxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c0d35a339db612aae5496424030307128f088a9 Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Sep 11 13:07:36 2015 -0700 MODSIGN: fix a compilation warning in extract-cert Fix the following warning when compiling extract-cert: scripts/extract-cert.c: In function `write_cert': scripts/extract-cert.c:89:2: warning: format not a string literal and no format arguments [-Wformat-security] ERR(!i2d_X509_bio(wb, x509), cert_dst); ^ whereby the ERR() macro is taking cert_dst as the format string. "%s" should be used as the format string as the path could contain special characters. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Acked-by : David Woodhouse <david.woodhouse@xxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 51a73ba5f409ef6f419c8ec3a0d1257633500aaa Merge: e91eb62 6551881 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 15:12:59 2015 -0700 Merge git://www.linux-watchdog.org/linux-watchdog Pull watchdog updates from Wim Van Sebroeck: - new driver for NXP LPC18xx Watchdog Timer - new driver for SAMA5D4 watchdog timer - add support for MCP79 to nv_tco driver - clean-up and improvement of the mpc8xxx watchdog driver - improvements to gpio-wdt - at91sam9_wdt clock improvements ... and other small fixes and improvements * git://www.linux-watchdog.org/linux-watchdog: (25 commits) Watchdog: Fix parent of watchdog_devices watchdog: at91rm9200: Correct check for syscon_node_to_regmap() errors watchdog: at91sam9: get and use slow clock Documentation: dt: binding: atmel-sama5d4-wdt: for SAMA5D4 watchdog driver watchdog: add a driver to support SAMA5D4 watchdog timer watchdog: mpc8xxx: allow to compile for MPC512x watchdog: mpc8xxx: use better error code when watchdog cannot be enabled watchdog: mpc8xxx: use dynamic memory for device specific data watchdog: mpc8xxx: use devm_ioremap_resource to map memory watchdog: mpc8xxx: make use of of_device_get_match_data watchdog: mpc8xxx: simplify registration watchdog: mpc8xxx: remove dead code watchdog: lpc18xx_wdt_get_timeleft() can be static DT: watchdog: Add NXP LPC18xx Watchdog Timer binding documentation watchdog: NXP LPC18xx Watchdog Timer Driver watchdog: gpio-wdt: ping already at startup for always running devices watchdog: gpio-wdt: be more strict about hw_algo matching Documentation: watchdog: at91sam9_wdt: add clocks property watchdog: booke_wdt: Use infrastructure to check timeout limits watchdog: (nv_tco) add support for MCP79 ... commit 0ba13fd19d39b7cb672bcec052bc813389c079a4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 13:26:39 2015 -0700 Revert "writeback: plug writeback at a high level" This reverts commit d353d7587d02116b9732d5c06615aed75a4d3a47. Doing the block layer plug/unplug inside writeback_sb_inodes() is broken, because that function is actually called with a spinlock held: wb->list_lock, as pointed out by Chris Mason. Chris suggested just dropping and re-taking the spinlock around the blk_finish_plug() call (the plgging itself can happen under the spinlock), and that would technically work, but is just disgusting. We do something fairly similar - but not quite as disgusting because we at least have a better reason for it - in writeback_single_inode(), so it's not like the caller can depend on the lock being held over the call, but in this case there just isn't any good reason for that "release and re-take the lock" pattern. [ In general, we should really strive to avoid the "release and retake" pattern for locks, because in the general case it can easily cause subtle bugs when the caller caches any state around the call that might be invalidated by dropping the lock even just temporarily. ] But in this case, the plugging should be easy to just move up to the callers before the spinlock is taken, which should even improve the effectiveness of the plug. So there is really no good reason to play games with locking here. I'll send off a test-patch so that Dave Chinner can verify that that plug movement works. In the meantime this just reverts the problematic commit and adds a comment to the function so that we hopefully don't make this mistake again. Reported-by: Chris Mason <clm@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e91eb6204fb826116453e43d4f5cf0f666bf46fe Merge: e013f74 527afb4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 12:38:25 2015 -0700 Merge branch 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs cleanups and fixes from Chris Mason: "These are small cleanups, and also some fixes for our async worker thread initialization. I was having some trouble testing these, but it ended up being a combination of changing around my test servers and a shiny new schedule while atomic from the new start/finish_plug in writeback_sb_inodes(). That one only hits on btrfs raid5/6 or MD raid10, and if I wasn't changing a bunch of things in my test setup at once it would have been really clear. Fix for writeback_sb_inodes() on the way as well" * 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: cleanup: remove unnecessary check before btrfs_free_path is called btrfs: async_thread: Fix workqueue 'max_active' value when initializing btrfs: Add raid56 support for updating num_tolerated_disk_barrier_failures in btrfs_balance btrfs: Cleanup for btrfs_calc_num_tolerated_disk_barrier_failures btrfs: Remove noused chunk_tree and chunk_objectid from scrub_enumerate_chunks and scrub_chunk btrfs: Update out-of-date "skip parity stripe" comment commit e013f74b60bbd37ee8c3a55214eb351ea3101c15 Merge: 01cab55 4383868 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 12:33:03 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph update from Sage Weil: "There are a few fixes for snapshot behavior with CephFS and support for the new keepalive protocol from Zheng, a libceph fix that affects both RBD and CephFS, a few bug fixes and cleanups for RBD from Ilya, and several small fixes and cleanups from Jianpeng and others" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: ceph: improve readahead for file holes ceph: get inode size for each append write libceph: check data_len in ->alloc_msg() libceph: use keepalive2 to verify the mon session is alive rbd: plug rbd_dev->header.object_prefix memory leak rbd: fix double free on rbd_dev->header_name libceph: set 'exists' flag for newly up osd ceph: cleanup use of ceph_msg_get ceph: no need to get parent inode in ceph_open ceph: remove the useless judgement ceph: remove redundant test of head->safe and silence static analysis warnings ceph: fix queuing inode to mdsdir's snaprealm libceph: rename con_work() to ceph_con_workfn() libceph: Avoid holding the zero page on ceph_msgr_slab_init errors libceph: remove the unused macro AES_KEY_SIZE ceph: invalidate dirty pages after forced umount ceph: EIO all operations after forced umount commit 01cab5549c3e9a0fe7248fc5ad0fd79361cc0d39 Merge: 64d1def 8f7e0a8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 12:23:51 2015 -0700 Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 Pull GFS2 updates from Bob Peterson: "Here is a list of patches we've accumulated for GFS2 for the current upstream merge window. This time we've only got six patches, many of which are very small: - three cleanups from Andreas Gruenbacher, including a nice cleanup of the sequence file code for the sbstats debugfs file. - a patch from Ben Hutchings that changes statistics variables from signed to unsigned. - two patches from me that increase GFS2's glock scalability by switching from a conventional hash table to rhashtable" * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: gfs2: A minor "sbstats" cleanup gfs2: Fix a typo in a comment gfs2: Make statistics unsigned, suitable for use with do_div() GFS2: Use resizable hash table for glocks GFS2: Move glock superblock pointer to field gl_name gfs2: Simplify the seq file code for "sbstats" commit 294ab783ad98066b87296db1311c7ba2a60206a5 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 18:04:18 2015 +0200 scsi_dh: fix randconfig build error It looks like the Kconfig check that was meant to fix this (commit fe9233fb6914a0eb20166c967e3020f7f0fba2c9 [SCSI] scsi_dh: fix kconfig related build errors) was actually reversed, but no-one noticed until the new set of patches which separated DM and SCSI_DH). Fixes: fe9233fb6914a0eb20166c967e3020f7f0fba2c9 Signed-off-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 64d1def7d33856824d2c5c6fd6d4579d4d54bb87 Merge: 04d78e3 5ee20bc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 09:42:32 2015 -0700 Merge tag 'sound-fix-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "A collection of small fixes since the last update: the HD-audio quirks as usual with a USB-audio fix and a trivial fix for the old sparc driver" * tag 'sound-fix-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: usb-audio: Change internal PCM order ALSA: hda - Fix white noise on Dell M3800 ALSA: hda - Use ALC880_FIXUP_FUJITSU for FSC Amilo M1437 ALSA: hda - Enable headphone jack detect on old Fujitsu laptops ALSA: sparc: amd7930: Fix module autoload for OF platform driver ALSA: hda - Add some FIXUP quirks for white noise on Dell laptop. commit 04d78e39ee1a7aa3712fce016b37b43a03f810c1 Merge: b0a1ea5 9fbcc7c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 09:35:56 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Just a bunch of fixes to squeeze in before -rc1: - three nouveau regression fixes - one qxl regression fix - a bunch of i915 fixes ... and some core displayport/atomic fixes" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/nouveau/device: enable c800 quirk for tecra w50 drm/nouveau/clk/gt215: Unbreak engine pausing for GT21x/MCP7x drm/nouveau/gr/nv04: fix big endian setting on gr context drm/qxl: validate monitors config modes drm/i915: Allow DSI dual link to be configured on any pipe drm/i915: Don't try to use DDR DVFS on CHV when disabled in the BIOS drm/i915: Fix CSR MMIO address check drm/i915: Limit the number of loops for reading a split 64bit register drm/i915: Fix broken mst get_hw_state. drm/i915: Pass hpd_status_i915[] to intel_get_hpd_pins() in pre-g4x uapi/drm/i915_drm.h: fix userspace compilation. drm/i915: Always mark the object as dirty when used by the GPU drm/dp: Add dp_aux_i2c_speed_khz module param to set the assume i2c bus speed drm/dp: Adjust i2c-over-aux retry count based on message size and i2c bus speed drm/dp: Define AUX_RETRY_INTERVAL as 500 us drm/atomic: Fix bookkeeping with TEST_ONLY, v3. commit 53431d0a3534263168c8ee576bad1c2c3a4cd9e0 Merge: 01b944f ade9c1a Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Sep 11 09:02:36 2015 -0700 Merge branch 'next' into for-linus Prepare second round of input updates for 4.3 merge window. commit 4614e0cc66a8ea1d163efc364ba743424dee5c0a Merge: 3e66c4b 21dd33b abceaa9 f33b774 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Sep 11 15:37:36 2015 +0200 Merge branches 'pm-cpu', 'pm-cpuidle' and 'pm-domains' * pm-cpu: kernel/cpu_pm: fix cpu_cluster_pm_exit comment * pm-cpuidle: cpuidle/coupled: Add sanity check for safe_state_index * pm-domains: staging: board: Migrate away from __pm_genpd_name_add_device() PM / Domains: Ensure subdomain is not in use before removing PM / Domains: Try power off masters in error path of __pm_genpd_poweron() commit 3e66c4b86035884e00f008086b183b925fb0592b Merge: 7c97666 74da56c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Sep 11 15:37:25 2015 +0200 Merge branch 'pm-cpufreq' * pm-cpufreq: intel_pstate: fix PCT_TO_HWP macro intel_pstate: Fix user input of min/max to legal policy region cpufreq-dt: add suspend frequency support cpufreq: allow cpufreq_generic_suspend() to work without suspend frequency cpufreq: Use __func__ to print function's name cpufreq: staticize cpufreq_cpu_get_raw() cpufreq: Add ARM_MT8173_CPUFREQ dependency on THERMAL cpufreq: dt: Tolerance applies on both sides of target voltage cpufreq: dt: Print error on failing to mark OPPs as shared cpufreq: dt: Check OPP count before marking them shared commit 7c976664d537bca19c9bf892b4d9e5ab7ecea927 Merge: ae98207 1b2b90c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Sep 11 15:37:17 2015 +0200 Merge branch 'pm-opp' * pm-opp: PM / OPP: Return suspend_opp only if it is enabled PM / OPP: add dev_pm_opp_get_suspend_opp() helper commit ac64a2ce509104a746321a4f9646b6750cf281eb Author: David Disseldorp <ddiss@xxxxxxx> Date: Fri Sep 4 01:39:56 2015 +0200 target: use stringify.h instead of own definition Signed-off-by: David Disseldorp <ddiss@xxxxxxx> Acked-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ed97d0cd78a337450e17eb613bdeec15e729af46 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Thu Sep 3 16:03:44 2015 -0700 target/user: Fix UFLAG_UNKNOWN_OP handling Calling transport_generic_request_failure() from here causes list corruption. We should be using target_complete_cmd() instead. Which we do in all other cases, so the UNKNOWN_OP case can become just another member of the big else/if chain in tcmu_handle_completion(). Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 06b967e429cfb76494badb9ffdd69e934ba72c77 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Thu Sep 3 16:03:43 2015 -0700 target: Remove no-op conditional This does nothing, and there are many other places where transport_cmd_check_stop_to_fabric()'s retval is not checked>, If we wanted to check it here, we should probably do it those other places too. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4824640ec3fc84337cb2baa9fb780e95864feb88 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Thu Sep 3 16:03:42 2015 -0700 target/user: Remove unused variable We don't use it any more. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7dd03aca9d61a9b64cd2a8cf6f5ea6f1f5391e8d Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Tue Sep 8 06:14:18 2015 -0700 target: Fix max_cmd_sn increment w/o cmdsn mutex regressions Current for-next iscsi target is broken: commit 109e2381749c1cfd94a0d22b2b54142539024973 Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Thu Jul 23 14:53:32 2015 -0700 target: Drop iSCSI use of mutex around max_cmd_sn increment This patch fixes incorrect pr_debug() + atomic_inc_return() usage within iscsit_increment_maxcmdsn() code. Also fix funny iscsit_determine_maxcmdsn() usage and update iscsi_target_do_tx_login_io() code. Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4416f89b8cfcb794d040fc3b68e5fb159b7d8d02 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Thu Sep 3 06:30:45 2015 +0000 target: Attach EXTENDED_COPY local I/O descriptors to xcopy_pt_sess This patch is a >= v4.1 regression bug-fix where control CDB emulation logic in commit 38b57f82 now expects a se_cmd->se_sess pointer to exist when determining T10-PI support is to be exposed for initiator host ports. To address this bug, go ahead and add locally generated se_cmd descriptors for copy-offload block-copy to it's own stand-alone se_session nexus, while the parent EXTENDED_COPY se_cmd descriptor remains associated with it's originating se_cmd->se_sess nexus. Note a valid se_cmd->se_sess is also required for future support of WRITE_INSERT and READ_STRIP software emulation when submitting backend I/O to se_device that exposes T10-PI suport. Reported-by: Alex Gorbachev <ag@xxxxxxxxxxxxxxxxxxx> Tested-by: Alex Gorbachev <ag@xxxxxxxxxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Doug Gilbert <dgilbert@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.1+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 8f9b565482c537821588444e09ff732c7d65ed6e Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:28:13 2015 -0700 target/qla2xxx: Honor max_data_sg_nents I/O transfer limit This patch adds an optional fabric driver provided SGL limit that target-core will honor as it's own internal I/O maximum transfer length limit, as exposed by EVPD=0xb0 block limits parameters. This is required for handling cases when host I/O transfer length exceeds the requested EVPD block limits maximum transfer length. The initial user of this logic is qla2xxx, so that we can avoid having to reject I/Os from some legacy FC hosts where EVPD=0xb0 parameters are not honored. When se_cmd payload length exceeds the provided limit in target_check_max_data_sg_nents() code, se_cmd->data_length + se_cmd->prot_length are reset with se_cmd->residual_count plus underflow bit for outgoing TFO response callbacks. It also checks for existing CDB level underflow + overflow and recalculates final residual_count as necessary. Note this patch currently assumes 1:1 mapping of PAGE_SIZE per struct scatterlist entry. Reported-by: Craig Watson <craig.watson@xxxxxxxxxxxxxxxxxxx> Cc: Craig Watson <craig.watson@xxxxxxxxxxxxxxxxxxx> Tested-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxxxxxxx> Cc: Arun Easi <arun.easi@xxxxxxxxxx> Cc: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Cc: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9fbcc7c007ea200357e2453c6b2b153646fbc165 Merge: d1031d5 778613e5 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 11 14:38:36 2015 +1000 Merge branch 'linux-4.3' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next three nouveau regression fixes. * 'linux-4.3' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau/device: enable c800 quirk for tecra w50 drm/nouveau/clk/gt215: Unbreak engine pausing for GT21x/MCP7x drm/nouveau/gr/nv04: fix big endian setting on gr context commit b0a1ea51bda4c2bcdde460221e1772f3a4f8c44f Merge: 33e247c 69d7fde Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 18:56:14 2015 -0700 Merge branch 'for-4.3/blkcg' of git://git.kernel.dk/linux-block Pull blk-cg updates from Jens Axboe: "A bit later in the cycle, but this has been in the block tree for a a while. This is basically four patchsets from Tejun, that improve our buffered cgroup writeback. It was dependent on the other cgroup changes, but they went in earlier in this cycle. Series 1 is set of 5 patches that has cgroup writeback updates: - bdi_writeback iteration fix which could lead to some wb's being skipped or repeated during e.g. sync under memory pressure. - Simplification of wb work wait mechanism. - Writeback tracepoints updated to report cgroup. Series 2 is is a set of updates for the CFQ cgroup writeback handling: cfq has always charged all async IOs to the root cgroup. It didn't have much choice as writeback didn't know about cgroups and there was no way to tell who to blame for a given writeback IO. writeback finally grew support for cgroups and now tags each writeback IO with the appropriate cgroup to charge it against. This patchset updates cfq so that it follows the blkcg each bio is tagged with. Async cfq_queues are now shared across cfq_group, which is per-cgroup, instead of per-request_queue cfq_data. This makes all IOs follow the weight based IO resource distribution implemented by cfq. - Switched from GFP_ATOMIC to GFP_NOWAIT as suggested by Jeff. - Other misc review points addressed, acks added and rebased. Series 3 is the blkcg policy cleanup patches: This patchset contains assorted cleanups for blkcg_policy methods and blk[c]g_policy_data handling. - alloc/free added for blkg_policy_data. exit dropped. - alloc/free added for blkcg_policy_data. - blk-throttle's async percpu allocation is replaced with direct allocation. - all methods now take blk[c]g_policy_data instead of blkcg_gq or blkcg. And finally, series 4 is a set of patches cleaning up the blkcg stats handling: blkcg's stats have always been somwhat of a mess. This patchset tries to improve the situation a bit. - The following patches added to consolidate blkcg entry point and blkg creation. This is in itself is an improvement and helps colllecting common stats on bio issue. - per-blkg stats now accounted on bio issue rather than request completion so that bio based and request based drivers can behave the same way. The issue was spotted by Vivek. - cfq-iosched implements custom recursive stats and blk-throttle implements custom per-cpu stats. This patchset make blkcg core support both by default. - cfq-iosched and blk-throttle keep track of the same stats multiple times. Unify them" * 'for-4.3/blkcg' of git://git.kernel.dk/linux-block: (45 commits) blkcg: use CGROUP_WEIGHT_* scale for io.weight on the unified hierarchy blkcg: s/CFQ_WEIGHT_*/CFQ_WEIGHT_LEGACY_*/ blkcg: implement interface for the unified hierarchy blkcg: misc preparations for unified hierarchy interface blkcg: separate out tg_conf_updated() from tg_set_conf() blkcg: move body parsing from blkg_conf_prep() to its callers blkcg: mark existing cftypes as legacy blkcg: rename subsystem name from blkio to io blkcg: refine error codes returned during blkcg configuration blkcg: remove unnecessary NULL checks from __cfqg_set_weight_device() blkcg: reduce stack usage of blkg_rwstat_recursive_sum() blkcg: remove cfqg_stats->sectors blkcg: move io_service_bytes and io_serviced stats into blkcg_gq blkcg: make blkg_[rw]stat_recursive_sum() to be able to index into blkcg_gq blkcg: make blkcg_[rw]stat per-cpu blkcg: add blkg_[rw]stat->aux_cnt and replace cfq_group->dead_stats with it blkcg: consolidate blkg creation in blkcg_bio_issue_check() blk-throttle: improve queue bypass handling blkcg: move root blkg lookup optimization from throtl_lookup_tg() to __blkg_lookup() blkcg: inline [__]blkg_lookup() ... commit 778613e583994d947960a7f177226d0e7b5ef124 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Sep 3 12:39:45 2015 +1000 drm/nouveau/device: enable c800 quirk for tecra w50 Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c5bf4609e03e296d74cbbfe124ba49e0f907feb3 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 2 23:21:02 2015 +0100 drm/nouveau/clk/gt215: Unbreak engine pausing for GT21x/MCP7x Typo that snuck in with commit 6979c6303a4abf263753cd9d577d79f05c6e8c47 Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Reported-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 15ee005893c5ac8aabb66c2ad0033ef31dbdcfa3 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Mon Aug 31 22:50:28 2015 -0400 drm/nouveau/gr/nv04: fix big endian setting on gr context Broken since "gr: convert user classes to new-style nvkm_object" Tested on a PPC64 G5 + NV34 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 33e247c7e58d335d70ecb84fd869091e2e4b8dcb Merge: d71fc23 452e06a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 18:19:42 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge third patch-bomb from Andrew Morton: - even more of the rest of MM - lib/ updates - checkpatch updates - small changes to a few scruffy filesystems - kmod fixes/cleanups - kexec updates - a dma-mapping cleanup series from hch * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (81 commits) dma-mapping: consolidate dma_set_mask dma-mapping: consolidate dma_supported dma-mapping: cosolidate dma_mapping_error dma-mapping: consolidate dma_{alloc,free}_noncoherent dma-mapping: consolidate dma_{alloc,free}_{attrs,coherent} mm: use vma_is_anonymous() in create_huge_pmd() and wp_huge_pmd() mm: make sure all file VMAs have ->vm_ops set mm, mpx: add "vm_flags_t vm_flags" arg to do_mmap_pgoff() mm: mark most vm_operations_struct const namei: fix warning while make xmldocs caused by namei.c ipc: convert invalid scenarios to use WARN_ON zlib_deflate/deftree: remove bi_reverse() lib/decompress_unlzma: Do a NULL check for pointer lib/decompressors: use real out buf size for gunzip with kernel fs/affs: make root lookup from blkdev logical size sysctl: fix int -> unsigned long assignments in INT_MIN case kexec: export KERNEL_IMAGE_SIZE to vmcoreinfo kexec: align crash_notes allocation to make it be inside one physical page kexec: remove unnecessary test in kimage_alloc_crash_control_pages() kexec: split kexec_load syscall from kexec core code ... commit d71fc239b6915a8b750e9a447311029ff45b6580 Merge: 519f526 c6e59bd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 17:59:04 2015 -0700 Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull late ARM SoC updates from Kevin Hilman: "This is a collection of a few late fixes and other misc stuff that had dependencies on things being merged from other trees. The bulk of the changes are for samsung/exynos SoCs for some changes that needed a few minor reworks so ended up a bit late. The others are mainly for qcom SoCs: a couple fixes and some DTS updates" * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (37 commits) ARM: multi_v7_defconfig: Enable PBIAS regulator soc: qcom: smd: Correct fBLOCKREADINTR handling soc: qcom: smd: Use correct remote processor ID soc: qcom: smem: Fix errant private access ARM: dts: qcom: msm8974-sony-xperia-honami: Use stdout-path ARM: dts: qcom: msm8960-cdp: Use stdout-path ARM: dts: qcom: msm8660-surf: Use stdout-path ARM: dts: qcom: ipq8064-ap148: Use stdout-path ARM: dts: qcom: apq8084-mtp: Use stdout-path ARM: dts: qcom: apq8084-ifc6540: Use stdout-path ARM: dts: qcom: apq8074-dragonboard: Use stdout-path ARM: dts: qcom: apq8064-ifc6410: Use stdout-path ARM: dts: qcom: apq8064-cm-qs600: Use stdout-path ARM: dts: qcom: Label serial nodes for aliasing and stdout-path reset: ath79: Fix missing spin_lock_init reset: Add (devm_)reset_control_get stub functions ARM: EXYNOS: switch to using generic cpufreq driver for exynos4x12 cpufreq: exynos: Remove unselectable rule for arm-exynos-cpufreq.o ARM: dts: add iommu property to JPEG device for exynos4 ARM: dts: enable SPI1 for exynos4412-odroidu3 ... commit d1031d576d7398ab2e2fce53796d733c5be13d64 Merge: 91b6fc0 f36203b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 11 10:52:37 2015 +1000 Merge tag 'topic/drm-fixes-2015-09-09' of git://anongit.freedesktop.org/drm-intel into drm-next bunch of drm fixes. * tag 'topic/drm-fixes-2015-09-09' of git://anongit.freedesktop.org/drm-intel: drm/dp: Add dp_aux_i2c_speed_khz module param to set the assume i2c bus speed drm/dp: Adjust i2c-over-aux retry count based on message size and i2c bus speed drm/dp: Define AUX_RETRY_INTERVAL as 500 us drm/atomic: Fix bookkeeping with TEST_ONLY, v3. commit 91b6fc02a258422bf342992add24cfe70a029eca Merge: bd3e1c7 8242578 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 11 10:52:08 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-09-10' of git://anongit.freedesktop.org/drm-intel into drm-next Fixes headed for v4.3-rc1, including Maarten's DP MST state checker fix you requested. * tag 'drm-intel-next-fixes-2015-09-10' of git://anongit.freedesktop.org/drm-intel: drm/i915: Allow DSI dual link to be configured on any pipe drm/i915: Don't try to use DDR DVFS on CHV when disabled in the BIOS drm/i915: Fix CSR MMIO address check drm/i915: Limit the number of loops for reading a split 64bit register drm/i915: Fix broken mst get_hw_state. drm/i915: Pass hpd_status_i915[] to intel_get_hpd_pins() in pre-g4x uapi/drm/i915_drm.h: fix userspace compilation. drm/i915: Always mark the object as dirty when used by the GPU commit bd3e1c7c6de9f5f70d97cdb6c817151c0477c5e3 Author: Jonathon Jongsma <jjongsma@xxxxxxxxxx> Date: Thu Aug 20 14:04:32 2015 -0500 drm/qxl: validate monitors config modes Due to some recent changes in drm_helper_probe_single_connector_modes_merge_bits(), old custom modes were not being pruned properly. In current kernels, drm_mode_validate_basic() is called to sanity-check each mode in the list. If the sanity-check passes, the mode's status gets set to to MODE_OK. In older kernels this check was not done, so old custom modes would still have a status of MODE_UNVERIFIED at this point, and would therefore be pruned later in the function. As a result of this new behavior, the list of modes for a device always includes every custom mode ever configured for the device, with the largest one listed first. Since desktop environments usually choose the first preferred mode when a hotplug event is emitted, this had the result of making it very difficult for the user to reduce the size of the display. The qxl driver did implement the mode_valid connector function, but it was empty. In order to restore the old behavior where old custom modes are pruned, we implement a proper mode_valid function for the qxl driver. This function now checks each mode against the last configured custom mode and the list of standard modes. If the mode doesn't match any of these, its status is set to MODE_BAD so that it will be pruned as expected. Signed-off-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 519f526d391b0ef775aeb04c4b6f632ea6b3ee50 Merge: 06ab838 ba60c41 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:42:49 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull more kvm updates from Paolo Bonzini: "ARM: - Full debug support for arm64 - Active state switching for timer interrupts - Lazy FP/SIMD save/restore for arm64 - Generic ARMv8 target PPC: - Book3S: A few bug fixes - Book3S: Allow micro-threading on POWER8 x86: - Compiler warnings Generic: - Adaptive polling for guest halt" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (49 commits) kvm: irqchip: fix memory leak kvm: move new trace event outside #ifdef CONFIG_KVM_ASYNC_PF KVM: trace kvm_halt_poll_ns grow/shrink KVM: dynamic halt-polling KVM: make halt_poll_ns per-vCPU Silence compiler warning in arch/x86/kvm/emulate.c kvm: compile process_smi_save_seg_64() only for x86_64 KVM: x86: avoid uninitialized variable warning KVM: PPC: Book3S: Fix typo in top comment about locking KVM: PPC: Book3S: Fix size of the PSPB register KVM: PPC: Book3S HV: Exit on H_DOORBELL if HOST_IPI is set KVM: PPC: Book3S HV: Fix race in starting secondary threads KVM: PPC: Book3S: correct width in XER handling KVM: PPC: Book3S HV: Fix preempted vcore stolen time calculation KVM: PPC: Book3S HV: Fix preempted vcore list locking KVM: PPC: Book3S HV: Implement H_CLEAR_REF and H_CLEAR_MOD KVM: PPC: Book3S HV: Fix bug in dirty page tracking KVM: PPC: Book3S HV: Fix race in reading change bit when removing HPTE KVM: PPC: Book3S HV: Implement dynamic micro-threading on POWER8 KVM: PPC: Book3S HV: Make use of unused threads when running guests ... commit 06ab838c2024db468855118087db16d8fa905ddc Merge: 573c577 5f51042 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:21:11 2015 -0700 Merge tag 'for-linus-4.3-rc0b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen terminology fixes from David Vrabel: "Use the correct GFN/BFN terms more consistently" * tag 'for-linus-4.3-rc0b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen/xenbus: Rename the variable xen_store_mfn to xen_store_gfn xen/privcmd: Further s/MFN/GFN/ clean-up hvc/xen: Further s/MFN/GFN clean-up video/xen-fbfront: Further s/MFN/GFN clean-up xen/tmem: Use xen_page_to_gfn rather than pfn_to_gfn xen: Use correctly the Xen memory terminologies arm/xen: implement correctly pfn_to_mfn xen: Make clear that swiotlb and biomerge are dealing with DMA address commit 573c577af079184ca523984e3279644eb37756a3 Merge: 0cdf5a4 b141327 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:20:00 2015 -0700 Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze Pull microblaze update from Michal Simek. * 'next' of git://git.monstr.eu/linux-2.6-microblaze: elf-em.h: move EM_MICROBLAZE to the common header commit 0cdf5a464070c8a2980a27113c47fb8e71babb9c Merge: 65c61bc 02cc2cc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:19:07 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel Pull hexagon updates from Richard Kuo: "Just two fixes -- one for a uapi header and one for a timer interface" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel: Revert "Hexagon: fix signal.c compile error" hexagon/time: Migrate to new 'set-state' interface commit 65c61bc5dbbcfa1ff38e58aa834cb9a88e84a886 Merge: b8889c4 3092752 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 13:53:15 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix out-of-bounds array access in netfilter ipset, from Jozsef Kadlecsik. 2) Use correct free operation on netfilter conntrack templates, from Daniel Borkmann. 3) Fix route leak in SCTP, from Marcelo Ricardo Leitner. 4) Fix sizeof(pointer) in mac80211, from Thierry Reding. 5) Fix cache pointer comparison in ip6mr leading to missed unlock of mrt_lock. From Richard Laing. 6) rds_conn_lookup() needs to consider network namespace in key comparison, from Sowmini Varadhan. 7) Fix deadlock in TIPC code wrt broadcast link wakeups, from Kolmakov Dmitriy. 8) Fix fd leaks in bpf syscall, from Daniel Borkmann. 9) Fix error recovery when installing ipv6 multipath routes, we would delete the old route before we would know if we could fully commit to the new set of nexthops. Fix from Roopa Prabhu. 10) Fix run-time suspend problems in r8152, from Hayes Wang. 11) In fec, don't program the MAC address into the chip when the clocks are gated off. From Fugang Duan. 12) Fix poll behavior for netlink sockets when using rx ring mmap, from Daniel Borkmann. 13) Don't allocate memory with GFP_KERNEL from get_stats64 in r8169 driver, from Corinna Vinschen. 14) In TCP Cubic congestion control, handle idle periods better where we are application limited, in order to keep cwnd from growing out of control. From Eric Dumzet. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (65 commits) tcp_cubic: better follow cubic curve after idle period tcp: generate CA_EVENT_TX_START on data frames xen-netfront: respect user provided max_queues xen-netback: respect user provided max_queues r8169: Fix sleeping function called during get_stats64, v2 ether: add IEEE 1722 ethertype - TSN netlink, mmap: fix edge-case leakages in nf queue zero-copy netlink, mmap: don't walk rx ring on poll if receive queue non-empty cxgb4: changes for new firmware 1.14.4.0 net: fec: add netif status check before set mac address r8152: fix the runtime suspend issues r8152: split DRIVER_VERSION ipv6: fix ifnullfree.cocci warnings add microchip LAN88xx phy driver stmmac: fix check for phydev being open net: qlcnic: delete redundant memsets net: mv643xx_eth: use kzalloc net: jme: use kzalloc() instead of kmalloc+memset net: cavium: liquidio: use kzalloc in setup_glist() net: ipv6: use common fib_default_rule_pref ... commit 452e06af1f0149b01201f94264d452cd7a95db7a Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 15:39:53 2015 -0700 dma-mapping: consolidate dma_set_mask Almost everyone implements dma_set_mask the same way, although some time that's hidden in ->set_dma_mask methods. This patch consolidates those into a common implementation that either calls ->set_dma_mask if present or otherwise uses the default implementation. Some architectures used to only call ->set_dma_mask after the initial checks, and those instance have been fixed to do the full work. h8300 implemented dma_set_mask bogusly as a no-ops and has been fixed. Unfortunately some architectures overload unrelated semantics like changing the dma_ops into it so we still need to allow for an architecture override for now. [jcmvbkbc@xxxxxxxxx: fix xtensa] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ee196371d5cb1942ebdccc16bdce389812aa265e Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 15:39:49 2015 -0700 dma-mapping: consolidate dma_supported Most architectures just call into ->dma_supported, but some also return 1 if the method is not present, or 0 if no dma ops are present (although that should never happeb). Consolidate this more broad version into common code. Also fix h8300 which inorrectly always returned 0, which would have been a problem if it's dma_set_mask implementation wasn't a similarly buggy noop. As a few architectures have much more elaborate implementations, we still allow for arch overrides. [jcmvbkbc@xxxxxxxxx: fix xtensa] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit efa21e432c7b3c8ae976039d614a017799b6e874 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 15:39:46 2015 -0700 dma-mapping: cosolidate dma_mapping_error Currently there are three valid implementations of dma_mapping_error: (1) call ->mapping_error (2) check for a hardcoded error code (3) always return 0 This patch provides a common implementation that calls ->mapping_error if present, then checks for DMA_ERROR_CODE if defined or otherwise returns 0. [jcmvbkbc@xxxxxxxxx: fix xtensa] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1e8937526e2309d48fccd81bb30a590ac21a5516 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 15:39:42 2015 -0700 dma-mapping: consolidate dma_{alloc,free}_noncoherent Most architectures do not support non-coherent allocations and either define dma_{alloc,free}_noncoherent to their coherent versions or stub them out. Openrisc uses dma_{alloc,free}_attrs to implement them, and only Mips implements them directly. This patch moves the Openrisc version to common code, and handles the DMA_ATTR_NON_CONSISTENT case in the mips dma_map_ops instance. Note that actual non-coherent allocations require a dma_cache_sync implementation, so if non-coherent allocations didn't work on an architecture before this patch they still won't work after it. [jcmvbkbc@xxxxxxxxx: fix xtensa] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6894258eda2f9badc28c878086c0e54bd5b7fb30 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 9 15:39:39 2015 -0700 dma-mapping: consolidate dma_{alloc,free}_{attrs,coherent} Since 2009 we have a nice asm-generic header implementing lots of DMA API functions for architectures using struct dma_map_ops, but unfortunately it's still missing a lot of APIs that all architectures still have to duplicate. This series consolidates the remaining functions, although we still need arch opt outs for two of them as a few architectures have very non-standard implementations. This patch (of 5): The coherent DMA allocator works the same over all architectures supporting dma_map operations. This patch consolidates them and converges the minor differences: - the debug_dma helpers are now called from all architectures, including those that were previously missing them - dma_alloc_from_coherent and dma_release_from_coherent are now always called from the generic alloc/free routines instead of the ops dma-mapping-common.h always includes dma-coherent.h to get the defintions for them, or the stubs if the architecture doesn't support this feature - checks for ->alloc / ->free presence are removed. There is only one magic instead of dma_map_ops without them (mic_dma_ops) and that one is x86 only anyway. Besides that only x86 needs special treatment to replace a default devices if none is passed and tweak the gfp_flags. An optional arch hook is provided for that. [linux@xxxxxxxxxxxx: fix build] [jcmvbkbc@xxxxxxxxx: fix xtensa] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fb6dd5fa4165c4b82f1a11416c2fc192ae3a84e2 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:39:35 2015 -0700 mm: use vma_is_anonymous() in create_huge_pmd() and wp_huge_pmd() Let's use helper rather than direct check of vma->vm_ops to distinguish anonymous VMA. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6dc296e7df4c9a0857491cc3f55da16a9eeeeae7 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:39:32 2015 -0700 mm: make sure all file VMAs have ->vm_ops set We rely on vma->vm_ops == NULL to detect anonymous VMA: see vma_is_anonymous(), but some drivers doesn't set ->vm_ops. As a result we can end up with anonymous page in private file mapping. That should not lead to serious misbehaviour, but nevertheless is wrong. Let's fix by setting up dummy ->vm_ops for file mmapping if f_op->mmap() didn't set its own. The patch also adds sanity check into __vma_link_rb(). It will help catch broken VMAs which inserted directly into mm_struct via insert_vm_struct(). Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1fcfd8db7f82fa1f533a6f0e4155614ff4144d56 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Sep 9 15:39:29 2015 -0700 mm, mpx: add "vm_flags_t vm_flags" arg to do_mmap_pgoff() Add the additional "vm_flags_t vm_flags" argument to do_mmap_pgoff(), rename it to do_mmap(), and re-introduce do_mmap_pgoff() as a simple wrapper on top of do_mmap(). Perhaps we should update the callers of do_mmap_pgoff() and kill it later. This way mpx_mmap() can simply call do_mmap(vm_flags => VM_MPX) and do not play with vm internals. After this change mmap_region() has a single user outside of mmap.c, arch/tile/mm/elf.c:arch_setup_additional_pages(). It would be nice to change arch/tile/ and unexport mmap_region(). [kirill@xxxxxxxxxxxxx: fix build] [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Tested-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7cbea8dc0127a95226c7722a738ac6534950ef67 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:39:26 2015 -0700 mm: mark most vm_operations_struct const With two exceptions (drm/qxl and drm/radeon) all vm_operations_struct structs should be constant. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2a78b857d3755a6f8d0c70d7e365e473925987c1 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Sep 9 15:39:23 2015 -0700 namei: fix warning while make xmldocs caused by namei.c Fix the following warnings: Warning(.//fs/namei.c:2422): No description found for parameter 'nd' Warning(.//fs/namei.c:2422): Excess function parameter 'nameidata' description in 'path_mountpoint' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0edd8528362c07216498340e928159510595e7b Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 9 15:39:20 2015 -0700 ipc: convert invalid scenarios to use WARN_ON Considering Linus' past rants about the (ab)use of BUG in the kernel, I took a look at how we deal with such calls in ipc. Given that any errors or corruption in ipc code are most likely contained within the set of processes participating in the broken mechanisms, there aren't really many strong fatal system failure scenarios that would require a BUG call. Also, if something is seriously wrong, ipc might not be the place for such a BUG either. 1. For example, recently, a customer hit one of these BUG_ONs in shm after failing shm_lock(). A busted ID imho does not merit a BUG_ON, and WARN would have been better. 2. MSG_COPY functionality of posix msgrcv(2) for checkpoint/restore. I don't see how we can hit this anyway -- at least it should be IS_ERR. The 'copy' arg from do_msgrcv is always set by calling prepare_copy() first and foremost. We could also probably drop this check altogether. Either way, it does not merit a BUG_ON. 3. No ->fault() callback for the fs getting the corresponding page -- seems selfish to make the system unusable. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Manfred Spraul <manfred@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b235f2f16a472b8cfc10e8ef1286fcd3331e033 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Wed Sep 9 15:39:18 2015 -0700 zlib_deflate/deftree: remove bi_reverse() Remove bi_reverse() and use generic bitrev32() instead - it should have better performance on some platforms. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e4e29dc4841d21943bec1bc5378ab421d2320d83 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Sep 9 15:39:15 2015 -0700 lib/decompress_unlzma: Do a NULL check for pointer Compare pointer-typed values to NULL rather than 0. The semantic patch that makes this change is available in scripts/coccinelle/null/badzero.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2d3862d26e67a59340ba1cf1748196c76c5787de Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Wed Sep 9 15:39:12 2015 -0700 lib/decompressors: use real out buf size for gunzip with kernel When loading x86 64bit kernel above 4GiB with patched grub2, got kernel gunzip error. | early console in decompress_kernel | decompress_kernel: | input: [0x807f2143b4-0x807ff61aee] | output: [0x807cc00000-0x807f3ea29b] 0x027ea29c: output_len | boot via startup_64 | KASLR using RDTSC... | new output: [0x46fe000000-0x470138cfff] 0x0338d000: output_run_size | decompress: [0x46fe000000-0x47007ea29b] <=== [0x807f2143b4-0x807ff61aee] | | Decompressing Linux... gz... | | uncompression error | | -- System halted the new buffer is at 0x46fe000000ULL, decompressor_gzip is using 0xffffffb901ffffff as out_len. gunzip in lib/zlib_inflate/inflate.c cap that len to 0x01ffffff and decompress fails later. We could hit this problem with crashkernel booting that uses kexec loading kernel above 4GiB. We have decompress_* support: 1. inbuf[]/outbuf[] for kernel preboot. 2. inbuf[]/flush() for initramfs 3. fill()/flush() for initrd. This bug only affect kernel preboot path that use outbuf[]. Add __decompress and take real out_buf_len for gunzip instead of guessing wrong buf size. Fixes: 1431574a1c4 (lib/decompressors: fix "no limit" output buffer length) Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Jon Medhurst <tixy@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e852d82a5b55b44ce8be89078d0dfbddbeae3211 Author: Pranay Kr. Srivastava <pranjas@xxxxxxxxx> Date: Wed Sep 9 15:39:09 2015 -0700 fs/affs: make root lookup from blkdev logical size This patch resolves https://bugzilla.kernel.org/show_bug.cgi?id=16531. When logical blkdev size > 512 then sector numbers become larger than the device can support. Make affs start lookup based on the device's logical sector size instead of 512. Reported-by: Mark <markk@xxxxxxxxxxx> Suggested-by: Mark <markk@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9a5bc726d559221a3394bb8ef97d0abc1ee94d00 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Sep 9 15:39:06 2015 -0700 sysctl: fix int -> unsigned long assignments in INT_MIN case The following if (val < 0) *lvalp = (unsigned long)-val; is incorrect because the compiler is free to assume -val to be positive and use a sign-extend instruction for extending the bit pattern. This is a problem if val == INT_MIN: # echo -2147483648 >/proc/sys/dev/scsi/logging_level # cat /proc/sys/dev/scsi/logging_level -18446744071562067968 Cast to unsigned long before negation - that way we first sign-extend and then negate an unsigned, which is well defined. With this: # cat /proc/sys/dev/scsi/logging_level -2147483648 Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Cc: Mikulas Patocka <mikulas@xxxxxxxxxxxxx> Cc: Robert Xiao <nneonneo@xxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1303a27c9c32020a3b6ac89be270d2ab1f28be24 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Wed Sep 9 15:39:03 2015 -0700 kexec: export KERNEL_IMAGE_SIZE to vmcoreinfo In x86_64, since v2.6.26 the KERNEL_IMAGE_SIZE is changed to 512M, and accordingly the MODULES_VADDR is changed to 0xffffffffa0000000. However, in v3.12 Kees Cook introduced kaslr to randomise the location of kernel. And the kernel text mapping addr space is enlarged from 512M to 1G. That means now KERNEL_IMAGE_SIZE is variable, its value is 512M when kaslr support is not compiled in and 1G when kaslr support is compiled in. Accordingly the MODULES_VADDR is changed too to be: #define MODULES_VADDR (__START_KERNEL_map + KERNEL_IMAGE_SIZE) So when kaslr is compiled in and enabled, the kernel text mapping addr space and modules vaddr space need be adjusted. Otherwise makedumpfile will collapse since the addr for some symbols is not correct. Hence KERNEL_IMAGE_SIZE need be exported to vmcoreinfo and got in makedumpfile to help calculate MODULES_VADDR. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bbb78b8f3f4ea8eca14937b693bfe244838e1d4d Author: Baoquan He <bhe@xxxxxxxxxx> Date: Wed Sep 9 15:39:00 2015 -0700 kexec: align crash_notes allocation to make it be inside one physical page People reported that crash_notes in /proc/vmcore were corrupted and this cause crash kdump failure. With code debugging and log we got the root cause. This is because percpu variable crash_notes are allocated in 2 vmalloc pages. Currently percpu is based on vmalloc by default. Vmalloc can't guarantee 2 continuous vmalloc pages are also on 2 continuous physical pages. So when 1st kernel exports the starting address and size of crash_notes through sysfs like below: /sys/devices/system/cpu/cpux/crash_notes /sys/devices/system/cpu/cpux/crash_notes_size kdump kernel use them to get the content of crash_notes. However the 2nd part may not be in the next neighbouring physical page as we expected if crash_notes are allocated accross 2 vmalloc pages. That's why nhdr_ptr->n_namesz or nhdr_ptr->n_descsz could be very huge in update_note_header_size_elf64() and cause note header merging failure or some warnings. In this patch change to call __alloc_percpu() to passed in the align value by rounding crash_notes_size up to the nearest power of two. This makes sure the crash_notes is allocated inside one physical page since sizeof(note_buf_t) in all ARCHS is smaller than PAGE_SIZE. Meanwhile add a BUILD_BUG_ON to break compile if size is bigger than PAGE_SIZE since crash_notes definitely will be in 2 pages. That need be avoided, and need be reported if it's unavoidable. [akpm@xxxxxxxxxxxxxxxxxxxx: use correct comment layout] Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Dave Young <dyoung@xxxxxxxxxx> Cc: Lisa Mitchell <lisa.mitchell@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 04e9949b2d26ae1f0acd1181876a2a8ece92112d Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Wed Sep 9 15:38:58 2015 -0700 kexec: remove unnecessary test in kimage_alloc_crash_control_pages() Transforming PFN(Page Frame Number) to struct page is never failure, so we can simplify the code logic to do the image->control_page assignment directly in the loop, and remove the unnecessary conditional judgement. Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Acked-by: Dave Young <dyoung@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2965faa5e03d1e71e9ff9aa143fff39e0a77543a Author: Dave Young <dyoung@xxxxxxxxxx> Date: Wed Sep 9 15:38:55 2015 -0700 kexec: split kexec_load syscall from kexec core code There are two kexec load syscalls, kexec_load another and kexec_file_load. kexec_file_load has been splited as kernel/kexec_file.c. In this patch I split kexec_load syscall code to kernel/kexec.c. And add a new kconfig option KEXEC_CORE, so we can disable kexec_load and use kexec_file_load only, or vice verse. The original requirement is from Ted Ts'o, he want kexec kernel signature being checked with CONFIG_KEXEC_VERIFY_SIG enabled. But kexec-tools use kexec_load syscall can bypass the checking. Vivek Goyal proposed to create a common kconfig option so user can compile in only one syscall for loading kexec kernel. KEXEC/KEXEC_FILE selects KEXEC_CORE so that old config files still work. Because there's general code need CONFIG_KEXEC_CORE, so I updated all the architecture Kconfig with a new option KEXEC_CORE, and let KEXEC selects KEXEC_CORE in arch Kconfig. Also updated general kernel code with to kexec_load syscall. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Dave Young <dyoung@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Petr Tesarik <ptesarik@xxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a43cac0d9dc2073ff2245a171429ddbe1accece7 Author: Dave Young <dyoung@xxxxxxxxxx> Date: Wed Sep 9 15:38:51 2015 -0700 kexec: split kexec_file syscall code to kexec_file.c Split kexec_file syscall related code to another file kernel/kexec_file.c so that the #ifdef CONFIG_KEXEC_FILE in kexec.c can be dropped. Sharing variables and functions are moved to kernel/kexec_internal.h per suggestion from Vivek and Petr. [akpm@xxxxxxxxxxxxxxxxxxxx: fix bisectability] [akpm@xxxxxxxxxxxxxxxxxxxx: declare the various arch_kexec functions] [akpm@xxxxxxxxxxxxxxxxxxxx: fix build] Signed-off-by: Dave Young <dyoung@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Petr Tesarik <ptesarik@xxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a202fbbf56e819de83876827c4bf5da2bfbac5ec Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:48 2015 -0700 drivers/net/wireless/ath/wil6210: use seq_hex_dump() to dump buffers Instead of custom approach let's use recently introduced seq_hex_dump() helper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6fc37c4900765d579f25fbd293fcda7be5037896 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:45 2015 -0700 kmemleak: use seq_hex_dump() to dump buffers Instead of custom approach let's use recently introduced seq_hex_dump() helper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d2fe875c9e822aa55579ea2032153e2891db57a Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:42 2015 -0700 drivers/s390/crypto/zcrypt_api.c: use seq_hex_dump() to dump buffers Instead of custom approach let's use recently introduced seq_hex_dump() helper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b342a65dd71c02f606dfea51e99773c333a2439d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:39 2015 -0700 parisc: use seq_hex_dump() to dump buffers Instead of custom approach let's use recently introduced seq_hex_dump() helper. In one case it changes the output from 1111111122222222333333334444444455555555666666667777777788888888 to 11111111 22222222 33333333 44444444 55555555 66666666 77777777 88888888 though it seems it prints same data (by meaning) in both cases. I decide to choose to use the space divided one. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Helge Deller <deller@xxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0cce062217fedb448cf7f36e0b82a80ac9e1243 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:36 2015 -0700 drivers/crypto/qat: use seq_hex_dump() to dump buffers Instead of custom approach let's use recently introduced seq_hex_dump() helper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 37607102c4426cf92aeb5da1b1d9a79ba6d95e3f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:33 2015 -0700 seq_file: provide an analogue of print_hex_dump() This introduces a new helper and switches current users to use it. All patches are compiled tested. kmemleak is tested via its own test suite. This patch (of 6): The new seq_hex_dump() is a complete analogue of print_hex_dump(). We have few users of this functionality already. It allows to reduce their codebase. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 40f705a736eac10e7dca7ab5dd5ed675a6df031d Author: Jann Horn <jann@xxxxxxxxx> Date: Wed Sep 9 15:38:30 2015 -0700 fs: Don't dump core if the corefile would become world-readable. On a filesystem like vfat, all files are created with the same owner and mode independent of who created the file. When a vfat filesystem is mounted with root as owner of all files and read access for everyone, root's processes left world-readable coredumps on it (but other users' processes only left empty corefiles when given write access because of the uid mismatch). Given that the old behavior was inconsistent and insecure, I don't see a problem with changing it. Now, all processes refuse to dump core unless the resulting corefile will only be readable by their owner. Signed-off-by: Jann Horn <jann@xxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fbb1816942c04429e85dbf4c1a080accc534299e Author: Jann Horn <jann@xxxxxxxxx> Date: Wed Sep 9 15:38:28 2015 -0700 fs: if a coredump already exists, unlink and recreate with O_EXCL It was possible for an attacking user to trick root (or another user) into writing his coredumps into an attacker-readable, pre-existing file using rename() or link(), causing the disclosure of secret data from the victim process' virtual memory. Depending on the configuration, it was also possible to trick root into overwriting system files with coredumps. Fix that issue by never writing coredumps into existing files. Requirements for the attack: - The attack only applies if the victim's process has a nonzero RLIMIT_CORE and is dumpable. - The attacker can trick the victim into coredumping into an attacker-writable directory D, either because the core_pattern is relative and the victim's cwd is attacker-writable or because an absolute core_pattern pointing to a world-writable directory is used. - The attacker has one of these: A: on a system with protected_hardlinks=0: execute access to a folder containing a victim-owned, attacker-readable file on the same partition as D, and the victim-owned file will be deleted before the main part of the attack takes place. (In practice, there are lots of files that fulfill this condition, e.g. entries in Debian's /var/lib/dpkg/info/.) This does not apply to most Linux systems because most distros set protected_hardlinks=1. B: on a system with protected_hardlinks=1: execute access to a folder containing a victim-owned, attacker-readable and attacker-writable file on the same partition as D, and the victim-owned file will be deleted before the main part of the attack takes place. (This seems to be uncommon.) C: on any system, independent of protected_hardlinks: write access to a non-sticky folder containing a victim-owned, attacker-readable file on the same partition as D (This seems to be uncommon.) The basic idea is that the attacker moves the victim-owned file to where he expects the victim process to dump its core. The victim process dumps its core into the existing file, and the attacker reads the coredump from it. If the attacker can't move the file because he does not have write access to the containing directory, he can instead link the file to a directory he controls, then wait for the original link to the file to be deleted (because the kernel checks that the link count of the corefile is 1). A less reliable variant that requires D to be non-sticky works with link() and does not require deletion of the original link: link() the file into D, but then unlink() it directly before the kernel performs the link count check. On systems with protected_hardlinks=0, this variant allows an attacker to not only gain information from coredumps, but also clobber existing, victim-writable files with coredumps. (This could theoretically lead to a privilege escalation.) Signed-off-by: Jann Horn <jann@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bb304a5c6fc63d8506cd9741a3a5f35b73605625 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Sep 9 15:38:25 2015 -0700 kmod: handle UMH_WAIT_PROC from system unbound workqueue The UMH_WAIT_PROC handler runs in its own thread in order to make sure that waiting for the exec kernel thread completion won't block other usermodehelper queued jobs. On older workqueue implementations, worklets couldn't sleep without blocking the rest of the queue. But now the workqueue subsystem handles that. Khelper still had the older limitation due to its singlethread properties but we replaced it to system unbound workqueues. Those are affine to the current node and can block up to some number of instances. They are a good candidate to handle UMH_WAIT_PROC assuming that we have enough system unbound workers to handle lots of parallel usermodehelper jobs. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 90f023030e26ce8f981b3e688cb79329d8d07cc3 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Sep 9 15:38:22 2015 -0700 kmod: use system_unbound_wq instead of khelper We need to launch the usermodehelper kernel threads with the widest affinity and this is partly why we use khelper. This workqueue has unbound properties and thus a wide affinity inherited by all its children. Now khelper also has special properties that we aren't much interested in: ordered and singlethread. There is really no need about ordering as all we do is creating kernel threads. This can be done concurrently. And singlethread is a useless limitation as well. The workqueue engine already proposes generic unbound workqueues that don't share these useless properties and handle well parallel jobs. The only worrysome specific is their affinity to the node of the current CPU. It's fine for creating the usermodehelper kernel threads but those inherit this affinity for longer jobs such as requesting modules. This patch proposes to use these node affine unbound workqueues assuming that a node is sufficient to handle several parallel usermodehelper requests. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b639e86bae431db3fbc9fae8d09a9bbf97b74711 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Sep 9 15:38:19 2015 -0700 kmod: add up-to-date explanations on the purpose of each asynchronous levels There seem to be quite some confusions on the comments, likely due to changes that came after them. Now since it's very non obvious why we have 3 levels of asynchronous code to implement usermodehelpers, it's important to comment in detail the reason of this layout. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d097c0240ae8085dd39aa6ca9bd9960969b2b38e Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Sep 9 15:38:16 2015 -0700 kmod: remove unecessary explicit wide CPU affinity setting Khelper is affine to all CPUs. Now since it creates the call_usermodehelper_exec_[a]sync() kernel threads, those inherit the wide affinity. As such explicitly forcing a wide affinity from those kernel threads is like a no-op. Just remove it. It's needless and it breaks CPU isolation users who rely on workqueue affinity tuning. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b6b50a814d0ece9c1f98f2b3b5c2a251a5c9a211 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed Sep 9 15:38:13 2015 -0700 kmod: bunch of internal functions renames This patchset does a bunch of cleanups and converts khelper to use system unbound workqueues. The 3 first patches should be uncontroversial. The last 2 patches are debatable. Kmod creates kernel threads that perform userspace jobs and we want those to have a large affinity in order not to contend busy CPUs. This is (partly) why we use khelper which has a wide affinity that the kernel threads it create can inherit from. Now khelper is a dedicated workqueue that has singlethread properties which we aren't interested in. Hence those two debatable changes: _ We would like to use generic workqueues. System unbound workqueues are a very good candidate but they are not wide affine, only node affine. Now probably a node is enough to perform many parallel kmod jobs. _ We would like to remove the wait_for_helper kernel thread (UMH_WAIT_PROC handler) to use the workqueue. It means that if the workqueue blocks, and no other worker can take pending kmod request, we can be screwed. Now if we have 512 threads, this should be enough. This patch (of 5): Underscores on function names aren't much verbose to explain the purpose of a function. And kmod has interesting such flavours. Lets rename the following functions: * __call_usermodehelper -> call_usermodehelper_exec_work * ____call_usermodehelper -> call_usermodehelper_exec_async * wait_for_helper -> call_usermodehelper_exec_sync Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 60b61a6f42f36e4fbfbc0139b7e86ce1494d2d9b Author: NeilBrown <neilb@xxxxxxxx> Date: Wed Sep 9 15:38:10 2015 -0700 kmod: correct documentation of return status of request_module If request_module() successfully runs modprobe, but modprobe exits with a non-zero status, then the return value from request_module() will be that (positive) error status. So the return from request_module can be: negative errno zero for success positive exit code. Signed-off-by: NeilBrown <neilb@xxxxxxxx> Cc: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b4cc0efea4f0bfa2477c56af406cfcf3d3e58680 Author: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:07 2015 -0700 hfs: fix B-tree corruption after insertion at position 0 Fix B-tree corruption when a new record is inserted at position 0 in the node in hfs_brec_insert(). This is an identical change to the corresponding hfs b-tree code to Sergei Antonov's "hfsplus: fix B-tree corruption after insertion at position 0", to keep similar code paths in the hfs and hfsplus drivers in sync, where appropriate. Signed-off-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Cc: Sergei Antonov <saproj@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Vyacheslav Dubeyko <slava@xxxxxxxxxxx> Cc: Anton Altaparmakov <anton@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7cb74be6fd827e314f81df3c5889b87e4c87c569 Author: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 15:38:04 2015 -0700 hfs,hfsplus: cache pages correctly between bnode_create and bnode_free Pages looked up by __hfs_bnode_create() (called by hfs_bnode_create() and hfs_bnode_find() for finding or creating pages corresponding to an inode) are immediately kmap()'ed and used (both read and write) and kunmap()'ed, and should not be page_cache_release()'ed until hfs_bnode_free(). This patch fixes a problem I first saw in July 2012: merely running "du" on a large hfsplus-mounted directory a few times on a reasonably loaded system would get the hfsplus driver all confused and complaining about B-tree inconsistencies, and generates a "BUG: Bad page state". Most recently, I can generate this problem on up-to-date Fedora 22 with shipped kernel 4.0.5, by running "du /" (="/" + "/home" + "/mnt" + other smaller mounts) and "du /mnt" simultaneously on two windows, where /mnt is a lightly-used QEMU VM image of the full Mac OS X 10.9: $ df -i / /home /mnt Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/fedora-root 3276800 551665 2725135 17% / /dev/mapper/fedora-home 52879360 716221 52163139 2% /home /dev/nbd0p2 4294967295 1387818 4293579477 1% /mnt After applying the patch, I was able to run "du /" (60+ times) and "du /mnt" (150+ times) continuously and simultaneously for 6+ hours. There are many reports of the hfsplus driver getting confused under load and generating "BUG: Bad page state" or other similar issues over the years. [1] The unpatched code [2] has always been wrong since it entered the kernel tree. The only reason why it gets away with it is that the kmap/memcpy/kunmap follow very quickly after the page_cache_release() so the kernel has not had a chance to reuse the memory for something else, most of the time. The current RW driver appears to have followed the design and development of the earlier read-only hfsplus driver [3], where-by version 0.1 (Dec 2001) had a B-tree node-centric approach to read_cache_page()/page_cache_release() per bnode_get()/bnode_put(), migrating towards version 0.2 (June 2002) of caching and releasing pages per inode extents. When the current RW code first entered the kernel [2] in 2005, there was an REF_PAGES conditional (and "//" commented out code) to switch between B-node centric paging to inode-centric paging. There was a mistake with the direction of one of the REF_PAGES conditionals in __hfs_bnode_create(). In a subsequent "remove debug code" commit [4], the read_cache_page()/page_cache_release() per bnode_get()/bnode_put() were removed, but a page_cache_release() was mistakenly left in (propagating the "REF_PAGES <-> !REF_PAGE" mistake), and the commented-out page_cache_release() in bnode_release() (which should be spanned by !REF_PAGES) was never enabled. References: [1]: Michael Fox, Apr 2013 http://www.spinics.net/lists/linux-fsdevel/msg63807.html ("hfsplus volume suddenly inaccessable after 'hfs: recoff %d too large'") Sasha Levin, Feb 2015 http://lkml.org/lkml/2015/2/20/85 ("use after free") https://bugs.launchpad.net/ubuntu/+source/linux/+bug/740814 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1027887 https://bugzilla.kernel.org/show_bug.cgi?id=42342 https://bugzilla.kernel.org/show_bug.cgi?id=63841 https://bugzilla.kernel.org/show_bug.cgi?id=78761 [2]: http://git.kernel.org/cgit/linux/kernel/git/tglx/history.git/commit/\ fs/hfs/bnode.c?id=d1081202f1d0ee35ab0beb490da4b65d4bc763db commit d1081202f1d0ee35ab0beb490da4b65d4bc763db Author: Andrew Morton <akpm@xxxxxxxx> Date: Wed Feb 25 16:17:36 2004 -0800 [PATCH] HFS rewrite http://git.kernel.org/cgit/linux/kernel/git/tglx/history.git/commit/\ fs/hfsplus/bnode.c?id=91556682e0bf004d98a529bf829d339abb98bbbd commit 91556682e0bf004d98a529bf829d339abb98bbbd Author: Andrew Morton <akpm@xxxxxxxx> Date: Wed Feb 25 16:17:48 2004 -0800 [PATCH] HFS+ support [3]: http://sourceforge.net/projects/linux-hfsplus/ http://sourceforge.net/projects/linux-hfsplus/files/Linux%202.4.x%20patch/hfsplus%200.1/ http://sourceforge.net/projects/linux-hfsplus/files/Linux%202.4.x%20patch/hfsplus%200.2/ http://linux-hfsplus.cvs.sourceforge.net/viewvc/linux-hfsplus/linux/\ fs/hfsplus/bnode.c?r1=1.4&r2=1.5 Date: Thu Jun 6 09:45:14 2002 +0000 Use buffer cache instead of page cache in bnode.c. Cache inode extents. [4]: http://git.kernel.org/cgit/linux/kernel/git/\ stable/linux-stable.git/commit/?id=a5e3985fa014029eb6795664c704953720cc7f7d commit a5e3985fa014029eb6795664c704953720cc7f7d Author: Roman Zippel <zippel@xxxxxxxxxxxxxx> Date: Tue Sep 6 15:18:47 2005 -0700 [PATCH] hfs: remove debug code Signed-off-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Sergei Antonov <saproj@xxxxxxxxx> Reviewed-by: Anton Altaparmakov <anton@xxxxxxxxxx> Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Vyacheslav Dubeyko <slava@xxxxxxxxxxx> Cc: Sougata Santra <sougata@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3725e9dd5bef376ab87d41e40c437a6b2a20eb59 Author: Jan Harkes <jaharkes@xxxxxxxxxx> Date: Wed Sep 9 15:38:01 2015 -0700 fs/coda: fix readlink buffer overflow Dan Carpenter discovered a buffer overflow in the Coda file system readlink code. A userspace file system daemon can return a 4096 byte result which then triggers a one byte write past the allocated readlink result buffer. This does not trigger with an unmodified Coda implementation because Coda has a 1024 byte limit for symbolic links, however other userspace file systems using the Coda kernel module could be affected. Although this is an obvious overflow, I don't think this has to be handled as too sensitive from a security perspective because the overflow is on the Coda userspace daemon side which already needs root to open Coda's kernel device and to mount the file system before we get to the point that links can be read. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Jan Harkes <jaharkes@xxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c5595fa2f1ce3c1a74dbd2ddc949257e80d81dc0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:58 2015 -0700 checkpatch: add constant comparison on left side test "CONST <comparison> variable" checks like: if (NULL != foo) and while (0 < bar(...)) where a constant (or what appears to be a constant like an upper case identifier) is on the left of a comparison are generally preferred to be written using the constant on the right side like: if (foo != NULL) and while (bar(...) > 0) Add a test for this. Add a --fix option too, but only do it when the code is immediately surrounded by parentheses to avoid misfixing things like "(0 < bar() + constant)" Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Nicolas Morey Chaisemartin <nmorey@xxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 54507b5183cc4f8e4f1a58a312e1f30c130658b7 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:55 2015 -0700 checkpatch: add __pmem to $Sparse annotations commit 61031952f4c8 ("arch, x86: pmem api for ensuring durability of persistent memory updates") added a new __pmem annotation for sparse verification. Add __pmem to the $Sparse variable so checkpatch can appropriately ignore uses of this attribute too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Acked-by: Andy Whitcroft <apw@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e5d56bdf892e18832a6540b63ebf709966bce2a Author: Eddie Kovsky <ewk@xxxxxxxxxxxx> Date: Wed Sep 9 15:37:52 2015 -0700 checkpatch: fix left brace warning Using checkpatch.pl with Perl 5.22.0 generates the following warning: Unescaped left brace in regex is deprecated, passed through in regex; This patch fixes the warnings by escaping occurrences of the left brace inside the regular expression. Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bf4daf12a9fbc818029051c97b65fbfca6366a44 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:50 2015 -0700 checkpatch: avoid some commit message long line warnings Fixes: and Link: lines may exceed 75 chars in the commit log. So too can stack dump and dmesg lines and lines that seem like filenames. And Fixes: lines don't need to have a "commit" prefix before the commit id. Add exceptions for these types of lines. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e30075742316a1d72b7e8f794f6e0bd44d774e2 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:47 2015 -0700 checkpatch: emit an error on formats with 0x%<decimal> Using 0x%d is wrong. Emit a message when it happens. Miscellanea: Improve the %Lu warning to match formats like %16Lu. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7bd7e483c27d884c2f59e286e42623abba413f83 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:44 2015 -0700 checkpatch: make --strict the default for drivers/staging files and patches Making --strict the default for staging may help some people submit patches without obvious defects. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 86406b1cb7ac4fa5e7691eae5f2fb10c9af03dc3 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:41 2015 -0700 checkpatch: always check block comment styles Some of the block comment tests that are used only for networking are appropriate for all patches. For example, these styles are not encouraged: /* block comment without introductory * */ and /* * block comment with line terminating */ Remove the networking specific test and add comments. There are some infrequent false positives where code is lazily commented out using /* and */ rather than using #if 0/#endif blocks like: /* case foo: case bar: */ case baz: Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d3a9f673e1bdb45f86d15a67e230e4a9b050850 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:39 2015 -0700 checkpatch: report the right line # when using --emacs and --file commit 34d8815f9512 ("checkpatch: add --showfile to allow input via pipe to show filenames") broke the --emacs with --file option. Fix it. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 100425deeb7586c9d401f787aeab3b43a4c6a0c6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:36 2015 -0700 checkpatch: add some <foo>_destroy functions to NEEDLESS_IF tests Sergey Senozhatsky has modified several destroy functions that can now be called with NULL values. - kmem_cache_destroy() - mempool_destroy() - dma_pool_destroy() Update checkpatch to warn when those functions are preceded by an if. Update checkpatch to --fix all the calls too only when the code style form is using leading tabs. from: if (foo) <func>(foo); to: <func>(foo); Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Tested-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3e838b6c41e8ac86c992bdaaa78625faf528a578 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:33 2015 -0700 checkpatch: Allow longer declaration macros Some really long declaration macros exist. For instance; DEFINE_DMA_BUF_EXPORT_INFO(exp_info); and DECLARE_DM_KCOPYD_THROTTLE_WITH_MODULE_PARM(name, description) Increase the limit from 2 words to 6 after DECLARE/DEFINE uses. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f5af480f4554aac12e002b6f5c2b04895857700 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:30 2015 -0700 checkpatch: improve SUSPECT_CODE_INDENT test Many lines exist like if (foo) bar; where the tabbed indentation of the branch is not one more than the "if" line above it. checkpatch should emit a warning on those lines. Miscellenea: o Remove comments from branch blocks o Skip blank lines in block Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9d3e3c705eb395528fd8f17208c87581b134da48 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:27 2015 -0700 checkpatch: add warning on BUG/BUG_ON use Using BUG/BUG_ON crashes the kernel and is just unfriendly. Enable code that emits a warning on BUG/BUG_ON use. Make the code emit the message at WARNING level when scanning a patch and at CHECK level when scanning files so that script users don't feel an obligation to fix code that might be above their pay grade. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fe043ea1205695f2224b279ac9f5cc1742d18f0b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:37:25 2015 -0700 checkpatch: warn on bare SHA-1 commit IDs in commit logs Commit IDs should have commit descriptions too. Warn when a 12 to 40 byte SHA-1 is used in commit logs. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b4a35fc19a9229080dead8a9c316e8857b3e94d Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Wed Sep 9 15:37:22 2015 -0700 lib/test_kasan.c: make kmalloc_oob_krealloc_less more correctly In kmalloc_oob_krealloc_less, I think it is better to test the size2 boundary. If we do not call krealloc, the access of position size1 will still cause out-of-bounds and access of position size2 does not. After call krealloc, the access of position size2 cause out-of-bounds. So using size2 is more correct. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9789d8e0cfc6b5e265d9b0aa6e86b394a6d216a1 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Wed Sep 9 15:37:19 2015 -0700 lib/test_kasan.c: fix a typo Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b40bdb7fb2b8359d5dfe19a91c147465c3d0359b Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Wed Sep 9 15:37:16 2015 -0700 lib/string_helpers: rename "esc" arg to "only" To further clarify the purpose of the "esc" argument, rename it to "only" to reflect that it is a limit, not a list of additional characters to escape. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Suggested-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d89a3f7335bb5d9e572ecc287b300161200364eb Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Wed Sep 9 15:37:14 2015 -0700 lib/string_helpers: clarify esc arg in string_escape_mem The esc argument is used to reduce which characters will be escaped. For example, using " " with ESCAPE_SPACE will not produce any escaped spaces. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdf17449af1d9b596742c260134edd6c1fac2792 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 9 15:37:11 2015 -0700 hexdump: do not print debug dumps for !CONFIG_DEBUG print_hex_dump_debug() is likely supposed to be analogous to pr_debug() or dev_dbg() & friends. Currently it will adhere to dynamic debug, but will not stub out prints if CONFIG_DEBUG is not set. Let's make it do the right thing, because I am tired of having my dmesg buffer full of hex dumps on production systems. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9bf98f168b7b004c94c766a6989071e0f858def3 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Wed Sep 9 15:37:08 2015 -0700 lib/bitmap.c: bitmap_parselist can accept string with whitespaces on head or tail In __bitmap_parselist we can accept whitespaces on head or tail during every parsing procedure. If input has valid ranges, there is no reason to reject the user. For example, bitmap_parselist(" 1-3, 5, ", &mask, nmaskbits). After separating the string, we get " 1-3", " 5", and " ". It's possible and reasonable to accept such string as long as the parsing result is correct. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d9282cb66353be502aae09aae75d05a6863eb979 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Wed Sep 9 15:37:05 2015 -0700 lib/bitmap.c: fix a special string handling bug in __bitmap_parselist If string end with '-', for exapmle, bitmap_parselist("1,0-",&mask, nmaskbits), It is not in a valid pattern, so add a check after loop. Return -EINVAL on such condition. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d21c3d4d1c6b2a0b85aeae5cc774b1bacc64e5b4 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Wed Sep 9 15:37:02 2015 -0700 lib/bitmap.c: correct a code style and do some, optimization We can avoid in-loop incrementation of ndigits. Save current totaldigits to ndigits before loop, and check ndigits against totaldigits after the loop. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 774636e19ed514cdf560006813c0473409616de8 Author: Alexey Dobriyan <adobriyan@xxxxxxxxx> Date: Wed Sep 9 15:36:59 2015 -0700 proc: convert to kstrto*()/kstrto*_from_user() Convert from manual allocation/copy_from_user/... to kstrto*() family which were designed for exactly that. One case can not be converted to kstrto*_from_user() to make code even more simpler because of whitespace stripping, oh well... Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2d2e4715a65ca7e81b292d01ae009a03ccedb9b5 Author: Alexey Dobriyan <adobriyan@xxxxxxxxx> Date: Wed Sep 9 15:36:17 2015 -0700 kstrto*: accept "-0" for signed conversion strtol(3) et al accept "-0", so should we. Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3cdea4d71439fb5676b7334a333dab0f7b1bd2e9 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:36:14 2015 -0700 MAINTAINERS/CREDITS: mark MaxRAID as Orphan, move Anil Ravindranath to CREDITS Anil's email address bounces and he hasn't had a signoff in over 5 years. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 515a9adce0f0c3d2ef20f869c12902d03851a273 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Wed Sep 9 15:36:12 2015 -0700 include/linux/printk.h: include pr_fmt in pr_debug_ratelimited The other two implementations of pr_debug_ratelimited include pr_fmt, along with every other pr_* function. But pr_debug_ratelimited forgot to add it with the CONFIG_DYNAMIC_DEBUG implementation. This patch unifies the behavior. Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 52aa8536f8f41367d5f2938ad67aa87957e70010 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 15:36:09 2015 -0700 kernel/cred.c: remove unnecessary kdebug atomic reads Commit e0e817392b9a ("CRED: Add some configurable debugging [try #6]") added the kdebug mechanism to this file back in 2009. The kdebug macro calls no_printk which always evaluates arguments. Most of the kdebug uses have an unnecessary call of atomic_read(&cred->usage) Make the kdebug macro do nothing by defining it with do { if (0) no_printk(...); } while (0) when not enabled. $ size kernel/cred.o* (defconfig x86-64) text data bss dec hex filename 2748 336 8 3092 c14 kernel/cred.o.new 2788 336 8 3132 c3c kernel/cred.o.old Miscellanea: o Neaten the #define kdebug macros while there Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2307e1a3c0780d7b908f6809f34034a04f954806 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Wed Sep 9 15:36:06 2015 -0700 kernel/extable.c: remove duplicated include Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b839635e73575990e92cce1f19f5b1d7febd3fa Author: Vasily Kulikov <segoon@xxxxxxxxxxxx> Date: Wed Sep 9 15:36:03 2015 -0700 include/linux/poison.h: remove not-used poison pointer macros Signed-off-by: Vasily Kulikov <segoon@xxxxxxxxxxxx> Cc: Solar Designer <solar@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a5e5e02fc83aaf67053ab53b359af08c6c49aaf Author: Vasily Kulikov <segoon@xxxxxxxxxxxx> Date: Wed Sep 9 15:36:00 2015 -0700 include/linux/poison.h: fix LIST_POISON{1,2} offset Poison pointer values should be small enough to find a room in non-mmap'able/hardly-mmap'able space. E.g. on x86 "poison pointer space" is located starting from 0x0. Given unprivileged users cannot mmap anything below mmap_min_addr, it should be safe to use poison pointers lower than mmap_min_addr. The current poison pointer values of LIST_POISON{1,2} might be too big for mmap_min_addr values equal or less than 1 MB (common case, e.g. Ubuntu uses only 0x10000). There is little point to use such a big value given the "poison pointer space" below 1 MB is not yet exhausted. Changing it to a smaller value solves the problem for small mmap_min_addr setups. The values are suggested by Solar Designer: http://www.openwall.com/lists/oss-security/2015/05/02/6 Signed-off-by: Vasily Kulikov <segoon@xxxxxxxxxxxx> Cc: Solar Designer <solar@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ecf1a3dfff22bd165532a3af64f32697ae97c1ef Author: Waiman Long <Waiman.Long@xxxxxx> Date: Wed Sep 9 15:35:57 2015 -0700 proc: change proc_subdir_lock to a rwlock The proc_subdir_lock spinlock is used to allow only one task to make change to the proc directory structure as well as looking up information in it. However, the information lookup part can actually be entered by more than one task as the pde_get() and pde_put() reference count update calls in the critical sections are atomic increment and decrement respectively and so are safe with concurrent updates. The x86 architecture has already used qrwlock which is fair and other architectures like ARM are in the process of switching to qrwlock. So unfairness shouldn't be a concern in that conversion. This patch changed the proc_subdir_lock to a rwlock in order to enable concurrent lookup. The following functions were modified to take a write lock: - proc_register() - remove_proc_entry() - remove_proc_subtree() The following functions were modified to take a read lock: - xlate_proc_name() - proc_lookup_de() - proc_readdir_de() A parallel /proc filesystem search with the "find" command (1000 threads) was run on a 4-socket Haswell-EX box (144 threads). Before the patch, the parallel search took about 39s. After the patch, the parallel find took only 25s, a saving of about 14s. The micro-benchmark that I used was artificial, but it was used to reproduce an exit hanging problem that I saw in real application. In fact, only allow one task to do a lookup seems too limiting to me. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bdb4d100afe9818aebd1d98ced575c5ef143456c Author: Calvin Owens <calvinowens@xxxxxx> Date: Wed Sep 9 15:35:54 2015 -0700 procfs: always expose /proc/<pid>/map_files/ and make it readable Currently, /proc/<pid>/map_files/ is restricted to CAP_SYS_ADMIN, and is only exposed if CONFIG_CHECKPOINT_RESTORE is set. Each mapped file region gets a symlink in /proc/<pid>/map_files/ corresponding to the virtual address range at which it is mapped. The symlinks work like the symlinks in /proc/<pid>/fd/, so you can follow them to the backing file even if that backing file has been unlinked. Currently, files which are mapped, unlinked, and closed are impossible to stat() from userspace. Exposing /proc/<pid>/map_files/ closes this functionality "hole". Not being able to stat() such files makes noticing and explicitly accounting for the space they use on the filesystem impossible. You can work around this by summing up the space used by every file in the filesystem and subtracting that total from what statfs() tells you, but that obviously isn't great, and it becomes unworkable once your filesystem becomes large enough. This patch moves map_files/ out from behind CONFIG_CHECKPOINT_RESTORE, and adjusts the permissions enforced on it as follows: * proc_map_files_lookup() * proc_map_files_readdir() * map_files_d_revalidate() Remove the CAP_SYS_ADMIN restriction, leaving only the current restriction requiring PTRACE_MODE_READ. The information made available to userspace by these three functions is already available in /proc/PID/maps with MODE_READ, so I don't see any reason to limit them any further (see below for more detail). * proc_map_files_follow_link() This stub has been added, and requires that the user have CAP_SYS_ADMIN in order to follow the links in map_files/, since there was concern on LKML both about the potential for bypassing permissions on ancestor directories in the path to files pointed to, and about what happens with more exotic memory mappings created by some drivers (ie dma-buf). In older versions of this patch, I changed every permission check in the four functions above to enforce MODE_ATTACH instead of MODE_READ. This was an oversight on my part, and after revisiting the discussion it seems that nobody was concerned about anything outside of what is made possible by ->follow_link(). So in this version, I've left the checks for PTRACE_MODE_READ as-is. [akpm@xxxxxxxxxxxxxxxxxxxx: catch up with concurrent proc_pid_follow_link() changes] Signed-off-by: Calvin Owens <calvinowens@xxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d3691d2c6d3e72624c987bbef6f322631bbb2d5d Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:51 2015 -0700 proc: add cond_resched to /proc/kpage* read/write loop Reading/writing a /proc/kpage* file may take long on machines with a lot of RAM installed. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Suggested-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f074a8f49eb87cde95ac9d040ad5e7ea4f029738 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:48 2015 -0700 proc: export idle flag via kpageflags As noted by Minchan, a benefit of reading idle flag from /proc/kpageflags is that one can easily filter dirty and/or unevictable pages while estimating the size of unused memory. Note that idle flag read from /proc/kpageflags may be stale in case the page was accessed via a PTE, because it would be too costly to iterate over all page mappings on each /proc/kpageflags read to provide an up-to-date value. To make sure the flag is up-to-date one has to read /sys/kernel/mm/page_idle/bitmap first. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 33c3fc71c8cfa3cc3a98beaa901c069c177dc295 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:45 2015 -0700 mm: introduce idle page tracking Knowing the portion of memory that is not used by a certain application or memory cgroup (idle memory) can be useful for partitioning the system efficiently, e.g. by setting memory cgroup limits appropriately. Currently, the only means to estimate the amount of idle memory provided by the kernel is /proc/PID/{clear_refs,smaps}: the user can clear the access bit for all pages mapped to a particular process by writing 1 to clear_refs, wait for some time, and then count smaps:Referenced. However, this method has two serious shortcomings: - it does not count unmapped file pages - it affects the reclaimer logic To overcome these drawbacks, this patch introduces two new page flags, Idle and Young, and a new sysfs file, /sys/kernel/mm/page_idle/bitmap. A page's Idle flag can only be set from userspace by setting bit in /sys/kernel/mm/page_idle/bitmap at the offset corresponding to the page, and it is cleared whenever the page is accessed either through page tables (it is cleared in page_referenced() in this case) or using the read(2) system call (mark_page_accessed()). Thus by setting the Idle flag for pages of a particular workload, which can be found e.g. by reading /proc/PID/pagemap, waiting for some time to let the workload access its working set, and then reading the bitmap file, one can estimate the amount of pages that are not used by the workload. The Young page flag is used to avoid interference with the memory reclaimer. A page's Young flag is set whenever the Access bit of a page table entry pointing to the page is cleared by writing to the bitmap file. If page_referenced() is called on a Young page, it will add 1 to its return value, therefore concealing the fact that the Access bit was cleared. Note, since there is no room for extra page flags on 32 bit, this feature uses extended page flags when compiled on 32 bit. [akpm@xxxxxxxxxxxxxxxxxxxx: fix build] [akpm@xxxxxxxxxxxxxxxxxxxx: kpageidle requires an MMU] [akpm@xxxxxxxxxxxxxxxxxxxx: decouple from page-flags rework] Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1d7715c676a1566c2e4c3e77d16b1f9bb4909025 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:41 2015 -0700 mmu-notifier: add clear_young callback In the scope of the idle memory tracking feature, which is introduced by the following patch, we need to clear the referenced/accessed bit not only in primary, but also in secondary ptes. The latter is required in order to estimate wss of KVM VMs. At the same time we want to avoid flushing tlb, because it is quite expensive and it won't really affect the final result. Currently, there is no function for clearing pte young bit that would meet our requirements, so this patch introduces one. To achieve that we have to add a new mmu-notifier callback, clear_young, since there is no method for testing-and-clearing a secondary pte w/o flushing tlb. The new method is not mandatory and currently only implemented by KVM. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80ae2fdceba8313b0433f899bdd9c6c463291a17 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:38 2015 -0700 proc: add kpagecgroup file /proc/kpagecgroup contains a 64-bit inode number of the memory cgroup each page is charged to, indexed by PFN. Having this information is useful for estimating a cgroup working set size. The file is present if CONFIG_PROC_PAGE_MONITOR && CONFIG_MEMCG. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e993d905c81e2c0f669f2f8e8327df86738baebe Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:35 2015 -0700 memcg: zap try_get_mem_cgroup_from_page It is only used in mem_cgroup_try_charge, so fold it in and zap it. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 94a59fb36ee91b3f977a9b914ec701efe40041de Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:31 2015 -0700 hwpoison: use page_cgroup_ino for filtering by memcg Hwpoison allows to filter pages by memory cgroup ino. Currently, it calls try_get_mem_cgroup_from_page to obtain the cgroup from a page and then its ino using cgroup_ino, but now we have a helper method for that, page_cgroup_ino, so use it instead. This patch also loosens the hwpoison memcg filter dependency rules - it makes it depend on CONFIG_MEMCG instead of CONFIG_MEMCG_SWAP, because hwpoison memcg filter does not require anything (nor it used to) from CONFIG_MEMCG_SWAP side. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2fc045247089ad4ed611ec20cc3a736c0212bf1a Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Wed Sep 9 15:35:28 2015 -0700 memcg: add page_cgroup_ino helper This patchset introduces a new user API for tracking user memory pages that have not been used for a given period of time. The purpose of this is to provide the userspace with the means of tracking a workload's working set, i.e. the set of pages that are actively used by the workload. Knowing the working set size can be useful for partitioning the system more efficiently, e.g. by tuning memory cgroup limits appropriately, or for job placement within a compute cluster. ==== USE CASES ==== The unified cgroup hierarchy has memory.low and memory.high knobs, which are defined as the low and high boundaries for the workload working set size. However, the working set size of a workload may be unknown or change in time. With this patch set, one can periodically estimate the amount of memory unused by each cgroup and tune their memory.low and memory.high parameters accordingly, therefore optimizing the overall memory utilization. Another use case is balancing workloads within a compute cluster. Knowing how much memory is not really used by a workload unit may help take a more optimal decision when considering migrating the unit to another node within the cluster. Also, as noted by Minchan, this would be useful for per-process reclaim (https://lwn.net/Articles/545668/). With idle tracking, we could reclaim idle pages only by smart user memory manager. ==== USER API ==== The user API consists of two new files: * /sys/kernel/mm/page_idle/bitmap. This file implements a bitmap where each bit corresponds to a page, indexed by PFN. When the bit is set, the corresponding page is idle. A page is considered idle if it has not been accessed since it was marked idle. To mark a page idle one should set the bit corresponding to the page by writing to the file. A value written to the file is OR-ed with the current bitmap value. Only user memory pages can be marked idle, for other page types input is silently ignored. Writing to this file beyond max PFN results in the ENXIO error. Only available when CONFIG_IDLE_PAGE_TRACKING is set. This file can be used to estimate the amount of pages that are not used by a particular workload as follows: 1. mark all pages of interest idle by setting corresponding bits in the /sys/kernel/mm/page_idle/bitmap 2. wait until the workload accesses its working set 3. read /sys/kernel/mm/page_idle/bitmap and count the number of bits set * /proc/kpagecgroup. This file contains a 64-bit inode number of the memory cgroup each page is charged to, indexed by PFN. Only available when CONFIG_MEMCG is set. This file can be used to find all pages (including unmapped file pages) accounted to a particular cgroup. Using /sys/kernel/mm/page_idle/bitmap, one can then estimate the cgroup working set size. For an example of using these files for estimating the amount of unused memory pages per each memory cgroup, please see the script attached below. ==== REASONING ==== The reason to introduce the new user API instead of using /proc/PID/{clear_refs,smaps} is that the latter has two serious drawbacks: - it does not count unmapped file pages - it affects the reclaimer logic The new API attempts to overcome them both. For more details on how it is achieved, please see the comment to patch 6. ==== PATCHSET STRUCTURE ==== The patch set is organized as follows: - patch 1 adds page_cgroup_ino() helper for the sake of /proc/kpagecgroup and patches 2-3 do related cleanup - patch 4 adds /proc/kpagecgroup, which reports cgroup ino each page is charged to - patch 5 introduces a new mmu notifier callback, clear_young, which is a lightweight version of clear_flush_young; it is used in patch 6 - patch 6 implements the idle page tracking feature, including the userspace API, /sys/kernel/mm/page_idle/bitmap - patch 7 exports idle flag via /proc/kpageflags ==== SIMILAR WORKS ==== Originally, the patch for tracking idle memory was proposed back in 2011 by Michel Lespinasse (see http://lwn.net/Articles/459269/). The main difference between Michel's patch and this one is that Michel implemented a kernel space daemon for estimating idle memory size per cgroup while this patch only provides the userspace with the minimal API for doing the job, leaving the rest up to the userspace. However, they both share the same idea of Idle/Young page flags to avoid affecting the reclaimer logic. ==== PERFORMANCE EVALUATION ==== SPECjvm2008 (https://www.spec.org/jvm2008/) was used to evaluate the performance impact introduced by this patch set. Three runs were carried out: - base: kernel without the patch - patched: patched kernel, the feature is not used - patched-active: patched kernel, 1 minute-period daemon is used for tracking idle memory For tracking idle memory, idlememstat utility was used: https://github.com/locker/idlememstat testcase base patched patched-active compiler 537.40 ( 0.00)% 532.26 (-0.96)% 538.31 ( 0.17)% compress 305.47 ( 0.00)% 301.08 (-1.44)% 300.71 (-1.56)% crypto 284.32 ( 0.00)% 282.21 (-0.74)% 284.87 ( 0.19)% derby 411.05 ( 0.00)% 413.44 ( 0.58)% 412.07 ( 0.25)% mpegaudio 189.96 ( 0.00)% 190.87 ( 0.48)% 189.42 (-0.28)% scimark.large 46.85 ( 0.00)% 46.41 (-0.94)% 47.83 ( 2.09)% scimark.small 412.91 ( 0.00)% 415.41 ( 0.61)% 421.17 ( 2.00)% serial 204.23 ( 0.00)% 213.46 ( 4.52)% 203.17 (-0.52)% startup 36.76 ( 0.00)% 35.49 (-3.45)% 35.64 (-3.05)% sunflow 115.34 ( 0.00)% 115.08 (-0.23)% 117.37 ( 1.76)% xml 620.55 ( 0.00)% 619.95 (-0.10)% 620.39 (-0.03)% composite 211.50 ( 0.00)% 211.15 (-0.17)% 211.67 ( 0.08)% time idlememstat: 17.20user 65.16system 2:15:23elapsed 1%CPU (0avgtext+0avgdata 8476maxresident)k 448inputs+40outputs (1major+36052minor)pagefaults 0swaps ==== SCRIPT FOR COUNTING IDLE PAGES PER CGROUP ==== #! /usr/bin/python # import os import stat import errno import struct CGROUP_MOUNT = "/sys/fs/cgroup/memory" BUFSIZE = 8 * 1024 # must be multiple of 8 def get_hugepage_size(): with open("/proc/meminfo", "r") as f: for s in f: k, v = s.split(":") if k == "Hugepagesize": return int(v.split()[0]) * 1024 PAGE_SIZE = os.sysconf("SC_PAGE_SIZE") HUGEPAGE_SIZE = get_hugepage_size() def set_idle(): f = open("/sys/kernel/mm/page_idle/bitmap", "wb", BUFSIZE) while True: try: f.write(struct.pack("Q", pow(2, 64) - 1)) except IOError as err: if err.errno == errno.ENXIO: break raise f.close() def count_idle(): f_flags = open("/proc/kpageflags", "rb", BUFSIZE) f_cgroup = open("/proc/kpagecgroup", "rb", BUFSIZE) with open("/sys/kernel/mm/page_idle/bitmap", "rb", BUFSIZE) as f: while f.read(BUFSIZE): pass # update idle flag idlememsz = {} while True: s1, s2 = f_flags.read(8), f_cgroup.read(8) if not s1 or not s2: break flags, = struct.unpack('Q', s1) cgino, = struct.unpack('Q', s2) unevictable = (flags >> 18) & 1 huge = (flags >> 22) & 1 idle = (flags >> 25) & 1 if idle and not unevictable: idlememsz[cgino] = idlememsz.get(cgino, 0) + \ (HUGEPAGE_SIZE if huge else PAGE_SIZE) f_flags.close() f_cgroup.close() return idlememsz if __name__ == "__main__": print "Setting the idle flag for each page..." set_idle() raw_input("Wait until the workload accesses its working set, " "then press Enter") print "Counting idle pages..." idlememsz = count_idle() for dir, subdirs, files in os.walk(CGROUP_MOUNT): ino = os.stat(dir)[stat.ST_INO] print dir + ": " + str(idlememsz.get(ino, 0) / 1024) + " kB" ==== END SCRIPT ==== This patch (of 8): Add page_cgroup_ino() helper to memcg. This function returns the inode number of the closest online ancestor of the memory cgroup a page is charged to. It is required for exporting information about which page is charged to which cgroup to userspace, which will be introduced by a following patch. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c4c5ef3760470cbf8bf408a173d1b2fdba065b1 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Sep 9 15:35:25 2015 -0700 zswap: update docs for runtime-changeable attributes Change the Documentation/vm/zswap.txt doc to indicate that the "zpool" and "compressor" params are now changeable at runtime. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 90b0fc26d5dbe21c7a21668320b276af9b2281d7 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Sep 9 15:35:21 2015 -0700 zswap: change zpool/compressor at runtime Update the zpool and compressor parameters to be changeable at runtime. When changed, a new pool is created with the requested zpool/compressor, and added as the current pool at the front of the pool list. Previous pools remain in the list only to remove existing compressed pages from. The old pool(s) are removed once they become empty. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Acked-by: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f1c54846ee4504d89b59b04d870831db4046b478 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Sep 9 15:35:19 2015 -0700 zswap: dynamic pool creation Add dynamic creation of pools. Move the static crypto compression per-cpu transforms into each pool. Add a pointer to zswap_entry to the pool it's in. This is required by the following patch which enables changing the zswap zpool and compressor params at runtime. [akpm@xxxxxxxxxxxxxxxxxxxx: fix merge snafus] Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Acked-by: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3f0e131221eb951c45c93d1cce9db73889be2a5e Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Sep 9 15:35:16 2015 -0700 zpool: add zpool_has_pool() This series makes creation of the zpool and compressor dynamic, so that they can be changed at runtime. This makes using/configuring zswap easier, as before this zswap had to be configured at boot time, using boot params. This uses a single list to track both the zpool and compressor together, although Seth had mentioned an alternative which is to track the zpools and compressors using separate lists. In the most common case, only a single zpool and single compressor, using one list is slightly simpler than using two lists, and for the uncommon case of multiple zpools and/or compressors, using one list is slightly less simple (and uses slightly more memory, probably) than using two lists. This patch (of 4): Add zpool_has_pool() function, indicating if the specified type of zpool is available (i.e. zsmalloc or zbud). This allows checking if a pool is available, without actually trying to allocate it, similar to crypto_has_alg(). This is used by a following patch to zswap that enables the dynamic runtime creation of zswap zpools. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Acked-by: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 30927520dbae297182990bb21d08762bcc35ce1d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 9 21:55:07 2015 -0700 tcp_cubic: better follow cubic curve after idle period Jana Iyengar found an interesting issue on CUBIC : The epoch is only updated/reset initially and when experiencing losses. The delta "t" of now - epoch_start can be arbitrary large after app idle as well as the bic_target. Consequentially the slope (inverse of ca->cnt) would be really large, and eventually ca->cnt would be lower-bounded in the end to 2 to have delayed-ACK slow-start behavior. This particularly shows up when slow_start_after_idle is disabled as a dangerous cwnd inflation (1.5 x RTT) after few seconds of idle time. Jana initial fix was to reset epoch_start if app limited, but Neal pointed out it would ask the CUBIC algorithm to recalculate the curve so that we again start growing steeply upward from where cwnd is now (as CUBIC does just after a loss). Ideally we'd want the cwnd growth curve to be the same shape, just shifted later in time by the amount of the idle period. Reported-by: Jana Iyengar <jri@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Cc: Sangtae Ha <sangtae.ha@xxxxxxxxx> Cc: Lawrence Brakmo <lawrence@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05c5a46d71f621df620fbabbd7758ee1b44575ad Author: Neal Cardwell <ncardwell@xxxxxxxxxx> Date: Wed Sep 9 21:54:37 2015 -0700 tcp: generate CA_EVENT_TX_START on data frames Issuing a CC TX_START event on control frames like pure ACK is a waste of time, as a CC should not care. Following patch needs this change, as we want CUBIC to properly track idle time at a low cost, with a single TX_START being generated. Yuchung might slightly refine the condition triggering TX_START on a followup patch. Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Jana Iyengar <jri@xxxxxxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Cc: Sangtae Ha <sangtae.ha@xxxxxxxxx> Cc: Lawrence Brakmo <lawrence@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32a844056fd43dda647e1c3c6b9983bdfa04d17d Author: Wei Liu <wei.liu2@xxxxxxxxxx> Date: Thu Sep 10 11:18:58 2015 +0100 xen-netfront: respect user provided max_queues Originally that parameter was always reset to num_online_cpus during module initialisation, which renders it useless. The fix is to only set max_queues to num_online_cpus when user has not provided a value. Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Tested-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c82ac3c37363e8c4ded6a5fe1ec5fa756b34df3 Author: Wei Liu <wei.liu2@xxxxxxxxxx> Date: Thu Sep 10 11:18:57 2015 +0100 xen-netback: respect user provided max_queues Originally that parameter was always reset to num_online_cpus during module initialisation, which renders it useless. The fix is to only set max_queues to num_online_cpus when user has not provided a value. Reported-by: Johnny Strom <johnny.strom@xxxxxxxxxxxxxxxxx> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 420203204eada39cfe0e8eb65e609da7b209cf33 Author: Corinna Vinschen <vinschen@xxxxxxxxxx> Date: Thu Sep 10 10:47:35 2015 +0200 r8169: Fix sleeping function called during get_stats64, v2 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=104031 Fixes: 6e85d5ad36a26debc23a9a865c029cbe242b2dc8 Based on the discussion starting at http://www.spinics.net/lists/netdev/msg342193.html Tested locally on RTL8168evl/8111evl with various concurrent processes accessing /proc/net/dev while changing the link state as well as removing/reloading the r8169 module. Signed-off-by: Corinna Vinschen <vinschen@xxxxxxxxxx> Tested-by: poma <pomidorabelisima@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 824257857fd81f5e749831ff9cd63566b5a86abe Author: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Date: Mon Aug 3 15:45:32 2015 +0530 drm/i915: Allow DSI dual link to be configured on any pipe Just like single link MIPI panels, similarly for dual link panels, pipe to be configured is based on the DVO port from VBT Block 2. In hardware, Port A is mapped with Pipe A and Port C is mapped with Pipe B. This issue got introduced in - commit 7e9804fdcffc650515c60f524b8b2076ee59e710 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Jan 16 14:27:23 2015 +0200 drm/i915/dsi: add drm mipi dsi host support Cc: stable@xxxxxxxxxxxxxxx # v4.0 Signed-off-by: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 58590c14d80defc94e900308a9d8fa55284de6f2 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 21:05:12 2015 +0300 drm/i915: Don't try to use DDR DVFS on CHV when disabled in the BIOS If one disables DDR DVFS in the BIOS, Punit will apparently ignores all DDR DVFS request. Currently we assume that DDR DVFS is always operational, which leads to errors in dmesg when the DDR DVFS requests time out. Fix the problem by gently prodding Punit during driver load to find out whether it will respond to DDR DVFS requests. If the request times out, we assume that DDR DVFS has been permanenly disabled in the BIOS and no longer perster the Punit about it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91629 Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Tested-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 982b0b2dd590c00f089fc6fe915bd0cb302a7f5c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 9 16:52:09 2015 +0200 drm/i915: Fix CSR MMIO address check Fix a wrong logical AND (&&) used for the range check of CSR MMIO. Spotted nicely by gcc -Wlogical-op flag: drivers/gpu/drm/i915/intel_csr.c: In function â??finish_csr_loadâ??: drivers/gpu/drm/i915/intel_csr.c:353:41: warning: logical â??andâ?? of mutually exclusive tests is always false [-Wlogical-op] Fixes: eb805623d8b1 ('drm/i915/skl: Add support to load SKL CSR firmware.') Cc: <stable@xxxxxxxxxxxxxxx> # v4.2 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Animesh Manna <animesh.manna@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 1ab1e895492d8084dfc1c854efacde219e56b8c1 Author: Henrik Austad <henrik@xxxxxxxxx> Date: Wed Sep 9 12:25:17 2015 +0200 ether: add IEEE 1722 ethertype - TSN IEEE 1722 describes AVB (later renamed to TSN - Time Sensitive Networking), a protocol, encapsualtion and synchronization to utilize standard networks for audio/video (and later other time-sensitive) streams. This standard uses ethertype 0x22F0. http://standards.ieee.org/develop/regauth/ethertype/eth.txt This is a respin of a previous patch ("ether: add AVB frame type ETH_P_AVB") CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx CC: linux-api@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Henrik Austad <henrik@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b14132797d8041a42e03f4ffa1e722da1425adfb Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Tue Aug 18 03:28:01 2015 -0400 elf-em.h: move EM_MICROBLAZE to the common header The linux/audit.h header uses EM_MICROBLAZE in order to define AUDIT_ARCH_MICROBLAZE, but it's only available in the microblaze asm headers. Move it to the common elf-em.h header so that the define can be used on non-microblaze systems. Otherwise we get build errors that EM_MICROBLAZE isn't defined when we try to use the AUDIT_ARCH_MICROBLAZE symbol. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 6bb0fef489f667cf701853054f44579754f00a06 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Sep 10 02:10:57 2015 +0200 netlink, mmap: fix edge-case leakages in nf queue zero-copy When netlink mmap on receive side is the consumer of nf queue data, it can happen that in some edge cases, we write skb shared info into the user space mmap buffer: Assume a possible rx ring frame size of only 4096, and the network skb, which is being zero-copied into the netlink skb, contains page frags with an overall skb->len larger than the linear part of the netlink skb. skb_zerocopy(), which is generic and thus not aware of the fact that shared info cannot be accessed for such skbs then tries to write and fill frags, thus leaking kernel data/pointers and in some corner cases possibly writing out of bounds of the mmap area (when filling the last slot in the ring buffer this way). I.e. the ring buffer slot is then of status NL_MMAP_STATUS_VALID, has an advertised length larger than 4096, where the linear part is visible at the slot beginning, and the leaked sizeof(struct skb_shared_info) has been written to the beginning of the next slot (also corrupting the struct nl_mmap_hdr slot header incl. status etc), since skb->end points to skb->data + ring->frame_size - NL_MMAP_HDRLEN. The fix adds and lets __netlink_alloc_skb() take the actual needed linear room for the network skb + meta data into account. It's completely irrelevant for non-mmaped netlink sockets, but in case mmap sockets are used, it can be decided whether the available skb_tailroom() is really large enough for the buffer, or whether it needs to internally fallback to a normal alloc_skb(). >From nf queue side, the information whether the destination port is an mmap RX ring is not really available without extra port-to-socket lookup, thus it can only be determined in lower layers i.e. when __netlink_alloc_skb() is called that checks internally for this. I chose to add the extra ldiff parameter as mmap will then still work: We have data_len and hlen in nfqnl_build_packet_message(), data_len is the full length (capped at queue->copy_range) for skb_zerocopy() and hlen some possible part of data_len that needs to be copied; the rem_len variable indicates the needed remaining linear mmap space. The only other workaround in nf queue internally would be after allocation time by f.e. cap'ing the data_len to the skb_tailroom() iff we deal with an mmap skb, but that would 1) expose the fact that we use a mmap skb to upper layers, and 2) trim the skb where we otherwise could just have moved the full skb into the normal receive queue. After the patch, in my test case the ring slot doesn't fit and therefore shows NL_MMAP_STATUS_COPY, where a full skb carries all the data and thus needs to be picked up via recv(). Fixes: 3ab1f683bf8b ("nfnetlink: add support for memory mapped netlink") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a66e36568e30ed3714c0e3a12bd3b64696343ff5 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Sep 10 01:20:46 2015 +0200 netlink, mmap: don't walk rx ring on poll if receive queue non-empty In case of netlink mmap, there can be situations where received frames have to be placed into the normal receive queue. The ring buffer indicates this through NL_MMAP_STATUS_COPY, so the user is asked to pick them up via recvmsg(2) syscall, and to put the slot back to NL_MMAP_STATUS_UNUSED. Commit 0ef707700f1c ("netlink: rx mmap: fix POLLIN condition") changed polling, so that we walk in the worst case the whole ring through the new netlink_has_valid_frame(), for example, when the ring would have no NL_MMAP_STATUS_VALID, but at least one NL_MMAP_STATUS_COPY frame. Since we do a datagram_poll() already earlier to pick up a mask that could possibly contain POLLIN | POLLRDNORM already (due to NL_MMAP_STATUS_COPY), we can skip checking the rx ring entirely. In case the kernel is compiled with !CONFIG_NETLINK_MMAP, then all this is irrelevant anyway as netlink_poll() is just defined as datagram_poll(). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2be053c83ee93888fc09d90df2bded0deb28947 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Sep 10 09:55:13 2015 +0530 cxgb4: changes for new firmware 1.14.4.0 Incorporate fw_ldst_cmd structure change for new firmware and also update version string for the same Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9638d19e481605217f95d9ab3c8896e499b1407d Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Thu Sep 10 09:35:39 2015 +0800 net: fec: add netif status check before set mac address There exist one issue by below case that case system hang: ifconfig eth0 down ifconfig eth0 hw ether 00:10:19:19:81:19 After eth0 down, all fec clocks are gated off. In the .fec_set_mac_address() function, it will set new MAC address to registers, which causes system hang. So it needs to add netif status check to avoid registers access when clocks are gated off. Until eth0 up the new MAC address are wrote into related registers. V2: As Lucas Stach's suggestion, add a comment in the code to explain why it needed. CC: Lucas Stach <l.stach@xxxxxxxxxxxxxx> CC: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d68c286384d147838d252e2969f2f787e7fbffb Merge: 52fe51f 2dd49e0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 9 20:27:54 2015 -0700 Merge branch 'r8152-autoresume' Hayes Wang says: ==================== r8152: fix the autoresume may fail Fix the autosuspend issues which occur about linking change. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2dd49e0f16fb0e07c6fcc1322ebba310f5827072 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Mon Sep 7 11:57:44 2015 +0800 r8152: fix the runtime suspend issues Fix the runtime suspend issues result from the linking change. Case 1: a) link down occurs. b) driver disable tx/rx. c) autosuspend occurs. d) hw linking up. e) device suspends without enabling tx/rx. f) couldn't wake up when receiving packets. Case 2: a) Nway results in linking down. b) autosuspend occurs. c) device suspends. d) device may not wake up when linking up. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0942473e3ca4629a40bbf0c9fd74fc0c7ff2a79 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Mon Sep 7 11:57:43 2015 +0800 r8152: split DRIVER_VERSION Split DRIVER_VERSION into NETNEXT_VERSION and NET_VERSION. Then, according to the value of DRIVER_VERSION, we could know which patches are used generally without comparing the source code. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52fe51f8523751da0e79c85350c47eb3bb94da5b Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Thu Sep 10 06:57:12 2015 +0800 ipv6: fix ifnullfree.cocci warnings net/ipv6/route.c:2946:3-8: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values. NULL check before some freeing functions is not needed. Based on checkpatch warning "kfree(NULL) is safe this check is probably not required" and kfreeaddr.cocci by Julia Lawall. Generated by: scripts/coccinelle/free/ifnullfree.cocci CC: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 792aec47d59d951865cc617a97b6e6be53d4b977 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 9 20:49:53 2015 +0000 add microchip LAN88xx phy driver Add Microchip LAN88XX phy driver for phylib. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dfc50fcaad574e5c8c85cbc83eca1426b2413fa4 Author: Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> Date: Wed Sep 9 18:01:08 2015 +0300 stmmac: fix check for phydev being open Current check of phydev with IS_ERR(phydev) may make not much sense because of_phy_connect() returns NULL on failure instead of error value. Still for checking result of phy_connect() IS_ERR() makes perfect sense. So let's use combined check IS_ERR_OR_NULL() that covers both cases. Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Cc: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Cc: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f0ca208531a152e1da6aa43d095fe0b2039d9ca Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:38:05 2015 +0200 net: qlcnic: delete redundant memsets In all cases, mbx->req.arg and mbx->rsp.arg have just been allocated using kcalloc(), so these six memsets are redundant. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b66a60857ca4fae5900c5d81c2ba04e657509b99 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:38:04 2015 +0200 net: mv643xx_eth: use kzalloc The double memset is a little ugly; using kzalloc avoids it altogether. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9b5ac277e8f8dffa28f85a065e2fd890d9e48c7 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:38:03 2015 +0200 net: jme: use kzalloc() instead of kmalloc+memset Using kzalloc saves a tiny bit on .text. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce8e5c7035098fa5b8fea910f14be59b8cace81f Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:38:02 2015 +0200 net: cavium: liquidio: use kzalloc in setup_glist() We save a little .text and get rid of the sizeof(...) style inconsistency. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6e59bdac940e63cfabd40a89d342eb470b009b9 Merge: 312146b 208487a Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 9 16:15:34 2015 -0700 Merge tag 'qcom-soc-for-4.3-rc2' of git://codeaurora.org/quic/kernel/agross-msm into next/late Qualcomm ARM Based SoC Updates for 4.3-rc2 * Fix errant private access in SMEM * Fix use of correct remote processor ID in SMD transactions * Correct SMD fBLOCKREADINTR handling * tag 'qcom-soc-for-4.3-rc2' of git://codeaurora.org/quic/kernel/agross-msm: soc: qcom: smd: Correct fBLOCKREADINTR handling soc: qcom: smd: Use correct remote processor ID soc: qcom: smem: Fix errant private access devicetree: soc: Add Qualcomm SMD based RPM DT binding soc: qcom: Driver for the Qualcomm RPM over SMD soc: qcom: Add Shared Memory Driver soc: qcom: Add device tree binding for Shared Memory Device drivers: qcom: Select QCOM_SCM unconditionally for QCOM_PM soc: qcom: Add Shared Memory Manager driver commit 312146b50781a9ed1172402e170983a5e967d55d Merge: 7f98121 8f1dc3c Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 9 16:15:19 2015 -0700 Merge tag 'qcom-dt-for-4.3-rc2' of git://codeaurora.org/quic/kernel/agross-msm into next/late Qualcomm ARM Based Device Tree Updates for v4.3-rc2 * Add labels for serial nodes to be used for aliasing and stdout-path * Add stdout-path for APQ8064 Compulab QS600 * Add stdout-path for APQ8064 Inforce 6410 * Add stdout-path for APQ8074 Dragonboard * Add stdout-path for APQ8084 Inforce 6540 * Add stdout-path for APQ8084 MTP * Add stdout-path for IPQ8064 AP148 * Add stdout-path for MSM8660 Surf * Add stdout-path for MSM8960 CDP * Add stdout-path for MSM8974 Xperia Honami * tag 'qcom-dt-for-4.3-rc2' of git://codeaurora.org/quic/kernel/agross-msm: (24 commits) ARM: dts: qcom: msm8974-sony-xperia-honami: Use stdout-path ARM: dts: qcom: msm8960-cdp: Use stdout-path ARM: dts: qcom: msm8660-surf: Use stdout-path ARM: dts: qcom: ipq8064-ap148: Use stdout-path ARM: dts: qcom: apq8084-mtp: Use stdout-path ARM: dts: qcom: apq8084-ifc6540: Use stdout-path ARM: dts: qcom: apq8074-dragonboard: Use stdout-path ARM: dts: qcom: apq8064-ifc6410: Use stdout-path ARM: dts: qcom: apq8064-cm-qs600: Use stdout-path ARM: dts: qcom: Label serial nodes for aliasing and stdout-path ARM: dts: qs600: Add real regulators to sdcc ARM: dts: ifc6410: add real regulators for sdcc nodes. ARM: dts: apq8064: remove temporary fixed regulator for mmc ARM: dts: apq8064: fix missing gsbi cell-index ARM: dts: apq8064: Add DT support for GSBI6 and for UART pin mux ARM: dts: apq8064: add pm8921 mpp support ARM: dts: apq8064: Add pm8921 mfd and its gpio node ARM: dts: msm8974: Add smem reservation and node ARM: dts: msm8974: Add tcsr mutex node ARM: dts: qcom: Add ks8851 node for wired ethernet ... commit 7f9812122ffaebd71d4d964f6f5109473a9fc683 Merge: 71d4404 ae1973a Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 9 16:07:41 2015 -0700 Merge branch 'next/defconfig' into next/late * next/defconfig: (45 commits) ARM: multi_v7_defconfig: Enable PBIAS regulator ARM: add TC2 PM support to multi_v7_defconfig ARM: tegra: Update multi_v7_defconfig ARM: tegra: Update default configuration ARM: at91/defconfig: at91_dt: remove ARM_AT91_ETHER ARM: at91/defconfig: at91_dt: enable DRM hlcdc support ARM: at91: at91_dt_defconfig: enable ISI and ov2640 support ARM: multi_v7_defconfig: Enable Allwinner P2WI, PWM, DMA_SUN6I, cryptodev ARM: sunxi_defconfig: Enable DMA_SUN6I, P2WI, PWM, cryptodev, EXTCON, FHANDLE ARM: shmobile: Enable fixed voltage regulator in shmobile_defconfig ARM: multi_v7_defconfig: Select MX6UL and MX7D ARM: prima2_defconfig: enable build for hwspinlock ARM: prima2_defconfig: enable build for RTC ARM: prima2_defconfig: enable build for misc input ARM: prima2_defconfig: enable build for SiRFSoC SDHC host ARM: prima2_defconfig: fix the outdated defconfig ARM: imx_v6_v7_defconfig: Select CONFIG_IKCONFIG_PROC ARM: defconfig: orion5x: add DT support ARM: qcom_defconfig: Enable options for KS8851 ethernet ARM: multi_v7_defconfig: Enable support for PWM Regulators ... commit ae1973a2df8ea48ab04cd406c569ce0b5721dd99 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Fri Sep 4 17:43:15 2015 +0530 ARM: multi_v7_defconfig: Enable PBIAS regulator PBIAS regulator is required for MMC module in OMAP2, OMAP3, OMAP4, OMAP5 and DRA7 SoCs. Enable it here. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 71d440499b8ecbd5289bdf4ef5cce6eb62fffb0d Merge: 7c4ecc7 9738031 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 9 15:42:45 2015 -0700 Merge branch 'drivers/reset' into next/late * drivers/reset: reset: ath79: Fix missing spin_lock_init reset: Add (devm_)reset_control_get stub functions reset: reset-zynq: Adding support for Xilinx Zynq reset controller. docs: dts: Added documentation for Xilinx Zynq Reset Controller bindings. MIPS: ath79: Add the reset controller to the AR9132 dtsi reset: Add a driver for the reset controller on the AR71XX/AR9XXX devicetree: Add bindings for the ATH79 reset controller reset: socfpga: Update reset-socfpga to read the altr,modrst-offset property doc: dt: add documentation for lpc1850-rgu reset driver reset: add driver for lpc18xx rgu reset: sti: constify of_device_id array ARM: STi: DT: Move reset controller constants into common location MAINTAINERS: add include/dt-bindings/reset path to reset controller entry commit 9738031561d246f625325badb03a1f1eca2d1b01 Merge: 5d44595 f319cb8 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 9 15:41:42 2015 -0700 Merge tag 'reset-for-4.3-fixes' of git://git.pengutronix.de/git/pza/linux into drivers/reset Merge "Reset controller fixes for v4.3" from Philipp Zabel: Reset controller fixes for v4.3 - added stubs to avoid build breakage in COMPILE_TEST configurations with RESET_CONTROLLER disabled - fixed missing spinlock initialization in ath79 driver * tag 'reset-for-4.3-fixes' of git://git.pengutronix.de/git/pza/linux: reset: ath79: Fix missing spin_lock_init reset: Add (devm_)reset_control_get stub functions commit f53de1e9a4aaf8cbe08845da6f7ff26a078ac507 Author: Phil Sutter <phil@xxxxxx> Date: Wed Sep 9 14:20:56 2015 +0200 net: ipv6: use common fib_default_rule_pref This switches IPv6 policy routing to use the shared fib_default_rule_pref() function of IPv4 and DECnet. It is also used in multicast routing for IPv4 as well as IPv6. The motivation for this patch is a complaint about iproute2 behaving inconsistent between IPv4 and IPv6 when adding policy rules: Formerly, IPv6 rules were assigned a fixed priority of 0x3FFF whereas for IPv4 the assigned priority value was decreased with each rule added. Since then all users of the default_pref field have been converted to assign the generic function fib_default_rule_pref(), fib_nl_newrule() may just use it directly instead. Therefore get rid of the function pointer altogether and make fib_default_rule_pref() static, as it's not used outside fib_rules.c anymore. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 444c5f92ed152346aef0952316e0ea855129846c Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 9 11:24:29 2015 +0200 net: ethoc: Remove unnecessary #ifdef CONFIG_OF For !CONFIG_OF of_get_property() is defined to always return NULL. Thus there's no need to protect the call to of_get_property() with #ifdef CONFIG_OF. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03679a14739a0d4c14b52ba65a69ff553bfba73b Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Sep 8 20:06:41 2015 -0700 net: dsa: bcm_sf2: Fix 64-bits register writes The macro to write 64-bits quantities to the 32-bits register swapped the value and offsets arguments, we want to preserve the ordering of the arguments with respect to how writel() is implemented for instance: value first, offset/base second. Fixes: 246d7f773c13 ("net: dsa: add Broadcom SF2 switch driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 687f07156b0c99205c21aa4e2986564046d342fe Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Sep 8 13:40:01 2015 -0700 bpf: fix out of bounds access in verifier log when the verifier log is enabled the print_bpf_insn() is doing bpf_alu_string[BPF_OP(insn->code) >> 4] and bpf_jmp_string[BPF_OP(insn->code) >> 4] where BPF_OP is a 4-bit instruction opcode. Malformed insns can cause out of bounds access. Fix it by sizing arrays appropriately. The bug was found by clang address sanitizer with libfuzzer. Reported-by: Yonghong Song <yhs@xxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b9ea5a64ed5eeb3f68f2e6fcce0ed1179801d1e Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 10:53:04 2015 -0700 ipv6: fix multipath route replace error recovery Problem: The ecmp route replace support for ipv6 in the kernel, deletes the existing ecmp route too early, ie when it installs the first nexthop. If there is an error in installing the subsequent nexthops, its too late to recover the already deleted existing route leaving the fib in an inconsistent state. This patch reduces the possibility of this by doing the following: a) Changes the existing multipath route add code to a two stage process: build rt6_infos + insert them ip6_route_add rt6_info creation code is moved into ip6_route_info_create. b) This ensures that most errors are caught during building rt6_infos and we fail early c) Separates multipath add and del code. Because add needs the special two stage mode in a) and delete essentially does not care. d) In any event if the code fails during inserting a route again, a warning is printed (This should be unlikely) Before the patch: $ip -6 route show 3000:1000:1000:1000::2 via fe80::202:ff:fe00:b dev swp49s0 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:d dev swp49s1 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:f dev swp49s2 metric 1024 /* Try replacing the route with a duplicate nexthop */ $ip -6 route change 3000:1000:1000:1000::2/128 nexthop via fe80::202:ff:fe00:b dev swp49s0 nexthop via fe80::202:ff:fe00:d dev swp49s1 nexthop via fe80::202:ff:fe00:d dev swp49s1 RTNETLINK answers: File exists $ip -6 route show /* previously added ecmp route 3000:1000:1000:1000::2 dissappears from * kernel */ After the patch: $ip -6 route show 3000:1000:1000:1000::2 via fe80::202:ff:fe00:b dev swp49s0 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:d dev swp49s1 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:f dev swp49s2 metric 1024 /* Try replacing the route with a duplicate nexthop */ $ip -6 route change 3000:1000:1000:1000::2/128 nexthop via fe80::202:ff:fe00:b dev swp49s0 nexthop via fe80::202:ff:fe00:d dev swp49s1 nexthop via fe80::202:ff:fe00:d dev swp49s1 RTNETLINK answers: File exists $ip -6 route show 3000:1000:1000:1000::2 via fe80::202:ff:fe00:b dev swp49s0 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:d dev swp49s1 metric 1024 3000:1000:1000:1000::2 via fe80::202:ff:fe00:f dev swp49s2 metric 1024 Fixes: 27596472473a ("ipv6: fix ECMP route replacement") Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 208487a8f69084992f76ef87ddd3e00e5eaf6587 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Aug 24 13:38:46 2015 -0700 soc: qcom: smd: Correct fBLOCKREADINTR handling fBLOCKREADINTR is masking the notification from the remote and should hence be cleared while we're waiting the tx fifo to drain. Also change the reset state to mask the notification, as send is the only use case where we're interested in it. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 93dbed9121cc8e0fcc93edd9fca901322bdfbd1a Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Aug 26 14:42:45 2015 -0500 soc: qcom: smd: Use correct remote processor ID This patch fixes SMEM addressing issues when remote processors need to use secure SMEM partitions. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> commit 18912806bbf8bd6e2b5cb12317679790eb0e0ce4 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Tue Aug 11 23:48:15 2015 -0500 soc: qcom: smem: Fix errant private access This patch corrects private partition item access. Instead of falling back to global for instances where we have an actual host and remote partition existing, return the results of the private lookup. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 61e19ba99e2a88392dcaee4b5e7f3e23548b8164 Merge: bc0195a ba68227 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Sep 9 15:56:35 2015 -0500 Merge tag 'qcom-soc-for-4.3' into v4.2-rc2 Qualcomm ARM Based SoC Updates for 4.3 * Add SMEM driver * Add SMD driver * Add RPM over SMD driver * Select QCOM_SCM by default commit 74da56ce5c6715630aed3ccc0fcb86a9210c1a56 Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Date: Wed Sep 9 11:41:22 2015 -0700 intel_pstate: fix PCT_TO_HWP macro PCT_TO_HWP does not take the actual range of pstates exported by HWP_CAPABILITIES in account, and is broken on most platforms. Remove the macro and set the min and max pstate for hwp by determining the range and adjusting by the min and max percent limits values. Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 43717aadd2bc87fb10fbf1cd815c1cbae9bb95b3 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Wed Sep 9 18:27:31 2015 +0800 intel_pstate: Fix user input of min/max to legal policy region In current code, max_perf_pct might be smaller than min_perf_pct by improper user input: $ grep . /sys/devices/system/cpu/intel_pstate/m*_perf_pct /sys/devices/system/cpu/intel_pstate/max_perf_pct:100 /sys/devices/system/cpu/intel_pstate/min_perf_pct:100 $ echo 80 > /sys/devices/system/cpu/intel_pstate/max_perf_pct $ grep . /sys/devices/system/cpu/intel_pstate/m*_perf_pct /sys/devices/system/cpu/intel_pstate/max_perf_pct:80 /sys/devices/system/cpu/intel_pstate/min_perf_pct:100 Fix this problem by 2 steps: 1. Normalize the user input to [min_policy, max_policy]. 2. Make sure max_perf_pct>=min_perf_pct, suggested by Seiichi Ikarashi. Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1b2b90cbea00670221f062814dc8bcecb3af7b90 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Sep 9 16:58:22 2015 +0530 PM / OPP: Return suspend_opp only if it is enabled There is no point returning suspend_opp, if it is disabled by the core. As we can't use it at all. Fix it. Fixes: 4eafbd15b6c8 ("PM / OPP: add dev_pm_opp_get_suspend_opp() helper") Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8f1dc3cf8f1e617ec888bcdb69111aae9bf4a9e0 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:53 2015 -0700 ARM: dts: qcom: msm8974-sony-xperia-honami: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Cc: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c0ed595961c44beea0d0dc3b0e2b1ef354931bdf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:52 2015 -0700 ARM: dts: qcom: msm8960-cdp: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a96731089e8e0d550f017359dacaee19463517c7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:51 2015 -0700 ARM: dts: qcom: msm8660-surf: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9a61b3a39a88b955d89c5f19e01b0b19185ebce6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:50 2015 -0700 ARM: dts: qcom: ipq8064-ap148: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Cc: Mathieu Olivari <mathieu@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ccfdf7cd7dfaa4140702ff43d760d0eb1578d725 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:49 2015 -0700 ARM: dts: qcom: apq8084-mtp: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d92c945d854f9d973d3a0836548c93ed249b8f3a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:48 2015 -0700 ARM: dts: qcom: apq8084-ifc6540: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5f769789bdec38c1d5b19a8743924daf87f5d023 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:47 2015 -0700 ARM: dts: qcom: apq8074-dragonboard: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7f9e28b61057da3a4aa56a79436916a821e63a35 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:46 2015 -0700 ARM: dts: qcom: apq8064-ifc6410: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4e19db11e99b27bdd4817c3d58a7ead7af8d7d7c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:45 2015 -0700 ARM: dts: qcom: apq8064-cm-qs600: Use stdout-path Use stdout-path so that we don't have to put the console on the kernel command line. Cc: Mike Rapoport <mike.rapoport@xxxxxxxxx> Cc: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 10bfcfea9bbe91adf79cc4efc9c764edd0cbadda Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 14:31:44 2015 -0700 ARM: dts: qcom: Label serial nodes for aliasing and stdout-path Add a label to the serial nodes that are being used for the console. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9f384d67f2334b5888ac9e6302f3c35a09b09787 Merge: bc0195a baff39e Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Sep 9 14:56:32 2015 -0500 Merge tag 'qcom-dt-for-4.3' into v4.2-rc2 Qualcomm ARM Based Device Tree Updates for v4.3 * Switch to use pinctrl compatible for GPIOs * Add RPM regulators for MSM8960 * Add SPI Ethernet support on MSM8960 CDP * Add SMEM support along with dependencies * Add PM8921 support for GPIO and MPP * Fix GSBI cell index * Switch to use real regulators on APQ8064 w/ SDCC commit 592867bfabe2fcb449393ba7eb0de4f972a08c63 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Tue Sep 8 18:00:09 2015 +0200 ebpf: fix fd refcount leaks related to maps in bpf syscall We may already have gotten a proper fd struct through fdget(), so whenever we return at the end of an map operation, we need to call fdput(). However, each map operation from syscall side first probes CHECK_ATTR() to verify that unused fields in the bpf_attr union are zero. In case of malformed input, we return with error, but the lookup to the map_fd was already performed at that time, so that we return without an corresponding fdput(). Fix it by performing an fdget() only right before bpf_map_get(). The fdget() invocation on maps in the verifier is not affected. Fixes: db20fd2b0108 ("bpf: add lookup/update/delete/iterate methods to BPF maps") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6551881c86c791237a3bebf11eb3bd70b60ea782 Author: Pratyush Anand <panand@xxxxxxxxxx> Date: Thu Aug 20 14:05:01 2015 +0530 Watchdog: Fix parent of watchdog_devices /sys/class/watchdog/watchdogn/device/modalias can help to identify the driver/module for a given watchdog node. However, many wdt devices do not set their parent and so, we do not see an entry for device in sysfs for such devices. This patch fixes parent of watchdog_device so that /sys/class/watchdog/watchdogn/device is populated. Exceptions: booke, diag288, octeon, softdog and w83627hf -- They do not have any parent. Not sure, how we can identify driver for these devices. Signed-off-by: Pratyush Anand <panand@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Lubomir Rintel <lkundrak@xxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit bf5125d5e0759a0f513b1bcd33c15edc0cf4c17b Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Aug 17 09:19:03 2015 -0700 watchdog: at91rm9200: Correct check for syscon_node_to_regmap() errors syscon_node_to_regmap() returns a regmap or an ERR_PTR(). Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit a97a09bd119fbdf4ba8c634fed8f4148d1def1e0 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 11:23:43 2015 +0200 watchdog: at91sam9: get and use slow clock Commit dca1a4b5ff6e ("clk: at91: keep slow clk enabled to prevent system hang") added a workaround for the slow clock as it is not properly handled by its users. Get and use the slow clock as it is necessary for the at91sam9 watchdog. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f4fff94e3e3a712ef062c44b64ecf8f552f48ea4 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Thu Aug 6 18:17:05 2015 +0800 Documentation: dt: binding: atmel-sama5d4-wdt: for SAMA5D4 watchdog driver The compatible "atmel,sama5d4-wdt" supports the SAMA5D4 watchdog driver and the watchdog's WDT_MR register can be written more than once. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 74e98eb085889b0d2d4908f59f6e00026063014f Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Sep 8 10:53:40 2015 -0400 RDS: verify the underlying transport exists before creating a connection There was no verification that an underlying transport exists when creating a connection, this would cause dereferencing a NULL ptr. It might happen on sockets that weren't properly bound before attempting to send a message, which will cause a NULL ptr deref: [135546.047719] kasan: GPF could be caused by NULL-ptr deref or user memory accessgeneral protection fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC KASAN [135546.051270] Modules linked in: [135546.051781] CPU: 4 PID: 15650 Comm: trinity-c4 Not tainted 4.2.0-next-20150902-sasha-00041-gbaa1222-dirty #2527 [135546.053217] task: ffff8800835bc000 ti: ffff8800bc708000 task.ti: ffff8800bc708000 [135546.054291] RIP: __rds_conn_create (net/rds/connection.c:194) [135546.055666] RSP: 0018:ffff8800bc70fab0 EFLAGS: 00010202 [135546.056457] RAX: dffffc0000000000 RBX: 0000000000000f2c RCX: ffff8800835bc000 [135546.057494] RDX: 0000000000000007 RSI: ffff8800835bccd8 RDI: 0000000000000038 [135546.058530] RBP: ffff8800bc70fb18 R08: 0000000000000001 R09: 0000000000000000 [135546.059556] R10: ffffed014d7a3a23 R11: ffffed014d7a3a21 R12: 0000000000000000 [135546.060614] R13: 0000000000000001 R14: ffff8801ec3d0000 R15: 0000000000000000 [135546.061668] FS: 00007faad4ffb700(0000) GS:ffff880252000000(0000) knlGS:0000000000000000 [135546.062836] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [135546.063682] CR2: 000000000000846a CR3: 000000009d137000 CR4: 00000000000006a0 [135546.064723] Stack: [135546.065048] ffffffffafe2055c ffffffffafe23fc1 ffffed00493097bf ffff8801ec3d0008 [135546.066247] 0000000000000000 00000000000000d0 0000000000000000 ac194a24c0586342 [135546.067438] 1ffff100178e1f78 ffff880320581b00 ffff8800bc70fdd0 ffff880320581b00 [135546.068629] Call Trace: [135546.069028] ? __rds_conn_create (include/linux/rcupdate.h:856 net/rds/connection.c:134) [135546.069989] ? rds_message_copy_from_user (net/rds/message.c:298) [135546.071021] rds_conn_create_outgoing (net/rds/connection.c:278) [135546.071981] rds_sendmsg (net/rds/send.c:1058) [135546.072858] ? perf_trace_lock (include/trace/events/lock.h:38) [135546.073744] ? lockdep_init (kernel/locking/lockdep.c:3298) [135546.074577] ? rds_send_drop_to (net/rds/send.c:976) [135546.075508] ? __might_fault (./arch/x86/include/asm/current.h:14 mm/memory.c:3795) [135546.076349] ? __might_fault (mm/memory.c:3795) [135546.077179] ? rds_send_drop_to (net/rds/send.c:976) [135546.078114] sock_sendmsg (net/socket.c:611 net/socket.c:620) [135546.078856] SYSC_sendto (net/socket.c:1657) [135546.079596] ? SYSC_connect (net/socket.c:1628) [135546.080510] ? trace_dump_stack (kernel/trace/trace.c:1926) [135546.081397] ? ring_buffer_unlock_commit (kernel/trace/ring_buffer.c:2479 kernel/trace/ring_buffer.c:2558 kernel/trace/ring_buffer.c:2674) [135546.082390] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749) [135546.083410] ? trace_event_raw_event_sys_enter (include/trace/events/syscalls.h:16) [135546.084481] ? do_audit_syscall_entry (include/trace/events/syscalls.h:16) [135546.085438] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749) [135546.085515] rds_ib_laddr_check(): addr 36.74.25.172 ret -99 node type -1 Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76534860f108b812926a4fbfbdadbfa9cdec89d0 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Thu Aug 6 18:16:46 2015 +0800 watchdog: add a driver to support SAMA5D4 watchdog timer From SAMA5D4, the watchdog timer is upgrated with a new feature, which is describled as in the datasheet, "WDT_MR can be written until a LOCKMR command is issued in WDT_CR". That is to say, as long as the bootstrap and u-boot don't issue a LOCKMR command, WDT_MR can be written more than once in the driver. So the SAMA5D4 watchdog driver's implementation is different from the at91sam9260 watchdog driver implemented in file at91sam9_wdt.c. The user application open the device file to enable the watchdog timer hardware, and close to disable it, and set the watchdog timer timeout by seting WDV and WDD fields of WDT_MR register, and ping the watchdog by issuing WDRSTT command to WDT_CR register with hard-coded key. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f8c33e9717150f7b8063d6d77a8ea90adad434e9 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:58 2015 +0200 watchdog: mpc8xxx: allow to compile for MPC512x The MPC5125 processor features a watchdog device that is identical to the MPC8610 one. So allow to enable the driver for MPC512x kernel configurations. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 72cd501e6a9b578cf99ae062477d9c7a938a3238 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:57 2015 +0200 watchdog: mpc8xxx: use better error code when watchdog cannot be enabled checkpatch warns about ENOSYS, telling "ENOSYS means 'invalid syscall nr' and nothing else". So use ENODEV instead. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 7997ebad4d747ff5561cb5ec0c7423e0d4e628d5 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:56 2015 +0200 watchdog: mpc8xxx: use dynamic memory for device specific data Instead of relying on global static memory dynamically allocate the needed data. This has the benefit of some saved bytes if the driver is not in use and making it possible to bind more than one device (even though this has no known use case). Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit de5f71222bd544558d81701454eb457b295de96e Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:55 2015 +0200 watchdog: mpc8xxx: use devm_ioremap_resource to map memory This simplifies the error paths and device unbinding. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f0ded83b96d27b27db0015e701cfd916330e3c50 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:54 2015 +0200 watchdog: mpc8xxx: make use of of_device_get_match_data This function is new in v4.2-rc1 and makes a forward declaration of the match table superfluous which can so be removed. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 50ffb53ef2311e4631086d27783b00db6859c60e Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:53 2015 +0200 watchdog: mpc8xxx: simplify registration Since commit ef90174f8210 ("watchdog: watchdog_core: Add watchdog registration deferral mechanism") there is no need to delay the call to watchdog_register_device any more. So simplify the registration code accordingly. Resetting wd_base to NULL can the also be dropped because nothing depends on it being NULL to signal probe failure any more. (The matching wd_base = NULL in .remove was missing, too.) Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit a57e06f7c6365f7d6e13f35933d3ef329205c1af Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 10:15:52 2015 +0200 watchdog: mpc8xxx: remove dead code Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 6cd8a1b9f71290d58099101e65e7e2279bcdb212 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Fri Aug 7 10:28:40 2015 -0700 watchdog: lpc18xx_wdt_get_timeleft() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit cfde37e1ec18dc68a52a1b882390c0f9c52b5f10 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 1 15:37:17 2015 -0300 DT: watchdog: Add NXP LPC18xx Watchdog Timer binding documentation Add the devicetree binding document for NXP LPC18xx Watchdog Timer. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 7c25f8c9f67708e6464d2221bc311cbd99e950dc Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 1 15:37:16 2015 -0300 watchdog: NXP LPC18xx Watchdog Timer Driver This commit adds support for the watchdog timer found in NXP LPC SoCs family, which includes LPC18xx/LPC43xx. Other SoCs in that family may share the same watchdog hardware. Watchdog driver registers a restart handler that will restart the system by performing an incorrect feed after ensuring the watchdog is enabled in reset mode. As watchdog cannot be disabled in hardware, driver's stop routine will regularly send a keepalive ping using a timer. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 4f2d0b2d1b31cbe704c8f94e74e46cb64187ab0c Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jul 31 09:21:36 2015 +0200 watchdog: gpio-wdt: ping already at startup for always running devices During probe for an always-running watchdog a timer is setup to constantly ping the watchdog while the device is not open. The gpio to ping the watchdog is setup to inactive. For a watchdog with hw_algo = "toggle" this results in a ping depending on the initial state of the gpio, for hw_algo = "level" no ping is generated. Make sure that the first automatic ping is sent immediately and not only when the timer expires the first time. This makes the machine survive in case more than half of the watchdog timeout is already elapsed. (Which is very probable for the chip I'm faced with that has a timeout of one second.) Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 0a0a542f6bbb2ebe956f0117c842302442ef52da Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 30 11:32:23 2015 +0200 watchdog: gpio-wdt: be more strict about hw_algo matching strncmp(algo, "toggle", 6) doesn't compare the trailing '\0' byte, so using hw_algo = "toggleboggle" is recognized the same way as hw_algo = "toggle" . While this doesn't introduce any problems for a device tree that sticks to the documented settings it's still ugly. Fix this by using strcmp to only match on "toggle" and "level". Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit ab54d7f017772e89964d4040937a83cd4468562a Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 11:39:39 2015 +0200 Documentation: watchdog: at91sam9_wdt: add clocks property The watchdog has an input clock, the slow clock. It is required as it will not function without it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 1d5d48523900a4b0f25d6b52f1a93c84bd671186 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Tue Sep 8 14:25:14 2015 +0100 xen-netback: require fewer guest Rx slots when not using GSO Commit f48da8b14d04ca87ffcffe68829afd45f926ec6a (xen-netback: fix unlimited guest Rx internal queue and carrier flapping) introduced a regression. The PV frontend in IPXE only places 4 requests on the guest Rx ring. Since netback required at least (MAX_SKB_FRAGS + 1) slots, IPXE could not receive any packets. a) If GSO is not enabled on the VIF, fewer guest Rx slots are required for the largest possible packet. Calculate the required slots based on the maximum GSO size or the MTU. This calculation of the number of required slots relies on 1650d5455bd2 (xen-netback: always fully coalesce guest Rx packets) which present in 4.0-rc1 and later. b) Reduce the Rx stall detection to checking for at least one available Rx request. This is fine since we're predominately concerned with detecting interfaces which are down and thus have zero available Rx requests. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa928ee8d4af1f70eee77a5ac77c084a0715eb9e Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Jul 29 09:45:36 2015 -0700 watchdog: booke_wdt: Use infrastructure to check timeout limits The watchdog infrastructure checks the maximum timeout for us. Use it. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 64307b48f79f35d28ed6b44e20b773bc00a0152e Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:03:30 2015 -0400 watchdog: (nv_tco) add support for MCP79 Tested on the Nvidia chipset with an SMBus controller PCI ID 0x0AA2 (as shown in the PCI listing during the boot sequence). Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 0919e4445190da18496d31aac08b90828a47d45f Author: Francesco Lavra <francescolavra.fl@xxxxxxxxx> Date: Sat Jul 25 08:25:18 2015 +0200 watchdog: sunxi: fix activation of system reset Commit f2147de33470 ("watchdog: sunxi: support parameterized compatible strings") introduced a regression in sunxi_wdt_start(), by which the system reset function of the watchdog is not enabled upon starting the watchdog. As a result, the system is not reset when the watchdog expires. Fix it. Fixes: f2147de33470 ("watchdog: sunxi: support parameterized compatible strings") Signed-off-by: Francesco Lavra <francescolavra.fl@xxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5724485b185a4ac4bb96149718ff736c5ef5c169 Author: Greta Zhang <greta.zhang@xxxxxxxxxxxx> Date: Fri Jul 24 15:28:46 2015 +0800 watchdog: mtk_wdt: add wdt shutdown callback to disable wdt if enabled Without .shutdown(), watchdog might reset the system during power off. For example, if watchdog's timeout is set to 30s, then it is reset to zero by mtk_wdt_ping(). During power off, no app will ping watchdog, but watchdog is still running and may trigger reset. Signed-off-by: Greta Zhang <greta.zhang@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Acked-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 9fab06920c9207aca8ff4e2416bb10cabc19294a Author: Greta Zhang <greta.zhang@xxxxxxxxxxxx> Date: Fri Jul 24 15:28:45 2015 +0800 watchdog: mtk_wdt: add suspend/resume support add mediatek watchdog driver suspend/resume support Signed-off-by: Greta Zhang <greta.zhang@xxxxxxxxxxxx> Signed-off-by: Roger Lu <roger.lu@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Acked-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 8a340dbbc4b10fe07a924e91979bfc93e966dd65 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 23 17:21:16 2015 -0300 watchdog: imgpdc: Unregister restart handler on remove Commit c631f20068 ("watchdog: imgpdc: Add reboot support") introduced a restart handler but forgot to unregister it on driver removal. Fix it. Fixes: c631f20068 ("watchdog: imgpdc: Add reboot support") Reported-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f15d7114bbdd594f1d8b644a44f647d2b6e9772e Author: Timur Tabi <timur@xxxxxxxxxxxxxx> Date: Mon Jun 29 11:46:17 2015 -0500 Documentation/watchdog: add timeout and ping rate control to watchdog-test.c The watchdog test program is much more useful if it can configure the timeout value and ping rate. This will allow you to test actual timeouts. Adds the -t parameter to set the timeout value (in seconds), and -p to set the ping rate (number of seconds between pings). Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 9b57ab8b58571ee57030210b74e2aabd1a18cff2 Merge: d43cefc 2a485cf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 9 12:29:26 2015 -0700 Merge branch 'cxgb4-fixes' Hariprasad Shenai says: ==================== cxgb4: Fix tx flit calculation and wc stat configuration This patch series fixes the following: Patch 1/2 fixes tx flit calculation, which if wrong can lead to stall, hang, data corrpution, write combining failure. Patch 2/2 fixes PCI-E write combining stats configuration. This patch series has been created against net tree and includes patches on cxgb4 driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a485cf7db2815ca0d1510143d9126c4475aab39 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 16:25:40 2015 +0530 cxgb4: Fix for write-combining stats configuration The write-combining configuration register SGE_STAT_CFG_A needs to be configured after FW initializes the adapter, else FW will reset the configuration Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd1754fb8afbd9cf4ea279d533414aa6577b7e60 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 16:25:39 2015 +0530 cxgb4: Fix tx flit calculation In commit 0aac3f56d4a63f04 ("cxgb4: Add comment for calculate tx flits and sge length code") introduced a regression where tx flit calculation is going wrong, which can lead to data corruption, hang, stall and write-combining failure. Fixing it. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d43cefcd68bbc9a67b2c0efe38eb9cf6b5170fe8 Author: Atsushi Nemoto <nemoto@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 18:15:41 2015 +0900 net: eth: altera: Fix the initial device operstate Call netif_carrier_off() prior to register_netdev(), otherwise userspace can see incorrect link state. Signed-off-by: Atsushi Nemoto <nemoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8889c4fc6ba03e289cec6a4d692f6f080a55e53 Merge: fac33bf 0de6cfb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 11:27:01 2015 -0700 Merge tag 'tty-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty driver reverts from Greg KH: "Here are some reverts for some tty patches (specifically the pl011 driver) that ended up breaking a bunch of machines (i.e. almost all of the ones with this chip). People are working on a fix for this, but in the meantime, it's best to just revert all 5 patches to restore people's serial consoles. These reverts have been in linux-next for many days now" * tag 'tty-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: Revert "uart: pl011: Rename regs with enumeration" Revert "uart: pl011: Introduce register accessor" Revert "uart: pl011: Introduce register look up table" Revert "uart: pl011: Improve LCRH register access decision" Revert "uart: pl011: Add support to ZTE ZX296702 uart" commit fac33bfdb0a54e149f8d1c2f002de5b57770b84c Merge: 82278fc 2ff46e6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 11:17:33 2015 -0700 Merge tag 'for-linus-20150909' of git://git.infradead.org/linux-mtd Pull more MTD updates from Brian Norris: "There was one significant bug in my first pull request, fixed here. I also threw in a few trivial ID additions and a small module rename. Details: - SPI NOR: bug fix for a "end of table" check that resulted in a NULL dereference in some cases - SPI NOR: a few new IDs / feature flags - OMAP2 NAND: rename module so it doesn't conflict with onenand omap2.ko" * tag 'for-linus-20150909' of git://git.infradead.org/linux-mtd: mtd: spi-nor: fix NULL dereference when no match found in spi_nor_ids[] mtd: spi-nor: s25sl064p supports both dual and quad I/O mtd: spi-nor: allow dual/quad reads on S25FL129P mtd: nand: omap2: Rename shippable module to omap2_nand mtd: spi-nor: Add support for sst25wf020a mtd: spi-nor: Add support for Micron n25q064a serial flash commit 82278fc079542a04e076da34546a7d6dc649b0cc Merge: bd2843f 7a59382 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:55:32 2015 -0700 Merge tag 'pwm/for-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm Pull pwm updates from Thierry Reding: "This set of changes introduces the beginnings of a new API that's based around the concept of states that can be atomically applied. Drivers go to various lengths to implement something similar, which indicates that the core should really be providing the necessary framework. On top of that, there is a bit of cleanup as well as improved kerneldoc and integration into the device-drivers DocBook. Regarding drivers there is a new one for the NXP LPC18xx family of SoCs and a couple of fixes for existing drivers (pca9685, Broadcom Kona and Atmel HLCDC)" * tag 'pwm/for-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: ARM: at91: pwm: atmel-hlcdc: Add at91sam9n12 errata pwm: Add NXP LPC18xx PWM/SCT DT binding documentation pwm: NXP LPC18xx PWM/SCT driver pwm-pca9685: Support changing the output frequency pwm-pca9685: Fix several driver bugs pwm: kona: Modify settings application sequence pwm: pca9685: Drop owner assignment pwm: Add to device-drivers documentation pwm: Clean up kerneldoc pwm: Remove useless whitespace pwm: sysfs: Remove unnecessary padding pwm: sysfs: Properly convert from enum to string pwm: Make use of pwm_get_xxx() helpers where appropriate pwm: Add pwm_get_polarity() helper function pwm: Constify PWM device where possible pwm: Add the pwm_is_enabled() helper commit bd2843fe1f29f6145c623ae9390f144cefaa611d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:16:39 2015 +0100 fix ufs write vs readpage race when writing into a hole Followup to the UFS series - with the way we clear the new blocks (via buffer cache, possibly on more than a page worth of file) we really should not insert a reference to new block into inode block tree until after we'd cleared it. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit daf0e1ed578f65e8395102549e135887e6661860 Merge: 065d80b 997e120 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:37:41 2015 -0700 Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost Pull virtio updates from Michael Tsirkin: "Virtio fixes and features for 4.3: - virtio-mmio can now be auto-loaded through acpi. - virtio blk supports extended partitions. - total memory is better reported when using virtio balloon with auto-deflate. - cache control is re-enabled when using virtio-blk in modern mode" * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: virtio_balloon: do not change memory amount visible via /proc/meminfo virtio_ballon: change stub of release_pages_by_pfn virtio-blk: Allow extended partitions virtio_mmio: add ACPI probing virtio-blk: use VIRTIO_BLK_F_WCE and VIRTIO_BLK_F_CONFIG_WCE in virtio1 commit 065d80b4bf314df143aa9f260a154a24e33b4fbe Merge: 949feac e7e98d7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:27:59 2015 -0700 Merge tag 'metag-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag Pull metag updates from James Hogan: "Metag architecture changes for v4.3. Just a couple of changes for v4.3-rc1. A preparatory IRQ patch to prepare for moving irq_data struct members, and a tweak to Documentation/features since Meta2 could support THP" * tag 'metag-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag: Documentation/features/vm: Meta2 is capable of THP metag/irq: Use access helper irq_data_get_affinity_mask() commit 949feacb8af3659037dd34ef177e9bc727627859 Merge: 384989b 08441d4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:07:32 2015 -0700 Merge tag 'nios2-v4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2 Pull nios2 updates from Ley Foon Tan: - add defconfig and device tree for max 10 support - migrate to new 'set-state' interface for timer - fix unaligned handler - MAINTAINERS: update nios2 git repo * tag 'nios2-v4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2: nios2: add Max10 defconfig nios2: Add Max10 device tree MAINTAINERS: update nios2 git repo nios2: remove unused statistic counters nios2: fixed variable imm16 to s16 nios2/time: Migrate to new 'set-state' interface commit 384989b58d45e5478d555cdb4ac79336a88a45cc Merge: d77e92e 5fb4e28 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 09:59:35 2015 -0700 Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 Pull cifs updates from Steve French: "Small cifs fix and a patch for improved debugging" * 'for-next' of git://git.samba.org/sfrench/cifs-2.6: cifs: Fix use-after-free on mid_q_entry Update cifs version number Add way to query server fs info for smb3 commit d77e92e270edd79a2218ce0ba5b6179ad0c93175 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Wed Sep 9 10:29:40 2015 -0600 dax: update PMD fault handler with PMEM API As part of the v4.3 merge window the DAX code was updated by Matthew and Kirill to handle PMD pages. Also as part of the v4.3 merge window we updated the DAX code to do proper PMEM flushing (commit 2765cfbb342c: "dax: update I/O path to do proper PMEM flushing"). The additional code added by the DAX PMD patches also needs to be updated to properly use the PMEM API. This ensures that after a PMD fault is handled the zeros written to the newly allocated pages are durable on the DIMMs. linux/dax.h is included to get rid of a bunch of sparse warnings. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>, Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Kirill Shutemov <kirill@xxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 02cc2ccfe771677db3cd40a71837e1467ebc839a Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Wed Apr 22 21:28:04 2015 -0400 Revert "Hexagon: fix signal.c compile error" This reverts commit f3f601c1d2728f02544cfd143eaa82e5398b3e9b. UAPI headers cannot use "uapi/" in their paths by design -- when they're installed, they do not have the uapi/ prefix. Otherwise doing so breaks userland badly. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Signed-off-by: Richard Kuo <rkuo@xxxxxxxxxxxxxx> commit 26d2177e977c912863ac04f6c1a967e793ca3a56 Merge: a794b4f d1178cb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 08:33:31 2015 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma Pull inifiniband/rdma updates from Doug Ledford: "This is a fairly sizeable set of changes. I've put them through a decent amount of testing prior to sending the pull request due to that. There are still a few fixups that I know are coming, but I wanted to go ahead and get the big, sizable chunk into your hands sooner rather than waiting for those last few fixups. Of note is the fact that this creates what is intended to be a temporary area in the drivers/staging tree specifically for some cleanups and additions that are coming for the RDMA stack. We deprecated two drivers (ipath and amso1100) and are waiting to hear back if we can deprecate another one (ehca). We also put Intel's new hfi1 driver into this area because it needs to be refactored and a transfer library created out of the factored out code, and then it and the qib driver and the soft-roce driver should all be modified to use that library. I expect drivers/staging/rdma to be around for three or four kernel releases and then to go away as all of the work is completed and final deletions of deprecated drivers are done. Summary of changes for 4.3: - Create drivers/staging/rdma - Move amso1100 driver to staging/rdma and schedule for deletion - Move ipath driver to staging/rdma and schedule for deletion - Add hfi1 driver to staging/rdma and set TODO for move to regular tree - Initial support for namespaces to be used on RDMA devices - Add RoCE GID table handling to the RDMA core caching code - Infrastructure to support handling of devices with differing read and write scatter gather capabilities - Various iSER updates - Kill off unsafe usage of global mr registrations - Update SRP driver - Misc mlx4 driver updates - Support for the mr_alloc verb - Support for a netlink interface between kernel and user space cache daemon to speed path record queries and route resolution - Ininitial support for safe hot removal of verbs devices" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (136 commits) IB/ipoib: Suppress warning for send only join failures IB/ipoib: Clean up send-only multicast joins IB/srp: Fix possible protection fault IB/core: Move SM class defines from ib_mad.h to ib_smi.h IB/core: Remove unnecessary defines from ib_mad.h IB/hfi1: Add PSM2 user space header to header_install IB/hfi1: Add CSRs for CONFIG_SDMA_VERBOSITY mlx5: Fix incorrect wc pkey_index assignment for GSI messages IB/mlx5: avoid destroying a NULL mr in reg_user_mr error flow IB/uverbs: reject invalid or unknown opcodes IB/cxgb4: Fix if statement in pick_local_ip6adddrs IB/sa: Fix rdma netlink message flags IB/ucma: HW Device hot-removal support IB/mlx4_ib: Disassociate support IB/uverbs: Enable device removal when there are active user space applications IB/uverbs: Explicitly pass ib_dev to uverbs commands IB/uverbs: Fix race between ib_uverbs_open and remove_one IB/uverbs: Fix reference counting usage of event files IB/core: Make ib_dealloc_pd return void IB/srp: Create an insecure all physical rkey only if needed ... commit 7a5938201834a9c25155176d0f5942d48336b244 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Jul 31 18:51:20 2015 +0200 ARM: at91: pwm: atmel-hlcdc: Add at91sam9n12 errata The errata for HLCDC PWM of at91sam9n12 are the same as for at91sam9x5. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit b0dabcc6f8b7cb08d5c81ecbc642105d67a4c1d2 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 23:31:47 2015 -0300 pwm: Add NXP LPC18xx PWM/SCT DT binding documentation Add the devicetree binding document for NXP LPC18xx PWM/SCT. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 841e6f90bb789a1372087b22c39f3a9ef2e02758 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 23:31:46 2015 -0300 pwm: NXP LPC18xx PWM/SCT driver This commit adds support for NXP LPC18xx PWM/SCT. NXP LPC SoCs family, which includes LPC18xx/LPC43xx, provides a State Configurable Timer (SCT) which can be configured as a Pulse Width Modulator. Other SoCs in that family may share the same hardware. The PWM supports a total of 16 channels, but only 15 can be simultaneously requested. There's only one period, global to all the channels, thus PWM driver will refuse setting different values to it, unless there's only one channel requested. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> [thierry.reding@xxxxxxxxx: remove excessive padding of fields] Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit acd29f7b22262d9e848393b9b6ae13eb42d22514 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:17:13 2015 +0100 drm/i915: Limit the number of loops for reading a split 64bit register In I915_READ64_2x32 we attempt to read a 64bit register using 2 32bit reads. Due to the nature of the registers we try to read in this manner, they may increment between the two instruction (e.g. a timestamp counter). To keep the result accurate, we repeat the read if we detect an overflow (i.e. the upper value varies). However, some hardware is just plain flaky and may endless loop as the the upper 32bits are not stable. Just give up after a couple of tries and report whatever we read last. v2: Use the most recent values when erring out on an unstable register. Reported-by: russianneuromancer@xxxxx Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91906 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 438386853d4c0c48fe73bf05a7d61c70ca5a3bfb Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Sep 7 15:46:24 2015 +0800 ceph: improve readahead for file holes When readahead encounters file holes, osd reply returns error -ENOENT, finish_read() skips adding pages to the the page cache. So readahead does not work for file holes. The fix is adding zero pages to the page cache when -ENOENT is returned. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 55b0b31cbc09f80db384671e22cdc94b2aa26b29 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Sep 7 11:35:01 2015 +0800 ceph: get inode size for each append write Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit d15f9d694b77fe5e4ea12b3031ecaa13b5aa2b10 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Sep 2 11:37:09 2015 +0300 libceph: check data_len in ->alloc_msg() Only ->alloc_msg() should check data_len of the incoming message against the preallocated ceph_msg, doing it in the messenger is not right. The contract is that either ->alloc_msg() returns a ceph_msg which will fit all of the portions of the incoming message, or it returns NULL and possibly sets skip, signaling whether NULL is due to an -ENOMEM. ->alloc_msg() should be the only place where we make the skip/no-skip decision. I stumbled upon this while looking at con/osd ref counting. Right now, if we get a non-extent message with a larger data portion than we are prepared for, ->alloc_msg() returns a ceph_msg, and then, when we skip it in the messenger, we don't put the con/osd ref acquired in ceph_con_in_msg_alloc() (which is normally put in process_message()), so this also fixes a memory leak. An existing BUG_ON in ceph_msg_data_cursor_init() ensures we don't corrupt random memory should a buggy ->alloc_msg() return an unfit ceph_msg. While at it, I changed the "unknown tid" dout() to a pr_warn() to make sure all skips are seen and unified format strings. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 7845989cb4b3da1db903918c844fccb9817d34a0 Author: Kolmakov Dmitriy <kolmakov.dmitriy@xxxxxxxxxx> Date: Mon Sep 7 09:05:48 2015 +0000 net: tipc: fix stall during bclink wakeup procedure If an attempt to wake up users of broadcast link is made when there is no enough place in send queue than it may hang up inside the tipc_sk_rcv() function since the loop breaks only after the wake up queue becomes empty. This can lead to complete CPU stall with the following message generated by RCU: INFO: rcu_sched self-detected stall on CPU { 0} (t=2101 jiffies g=54225 c=54224 q=11465) Task dump for CPU 0: tpch R running task 0 39949 39948 0x0000000a ffffffff818536c0 ffff88181fa037a0 ffffffff8106a4be 0000000000000000 ffffffff818536c0 ffff88181fa037c0 ffffffff8106d8a8 ffff88181fa03800 0000000000000001 ffff88181fa037f0 ffffffff81094a50 ffff88181fa15680 Call Trace: <IRQ> [<ffffffff8106a4be>] sched_show_task+0xae/0x120 [<ffffffff8106d8a8>] dump_cpu_task+0x38/0x40 [<ffffffff81094a50>] rcu_dump_cpu_stacks+0x90/0xd0 [<ffffffff81097c3b>] rcu_check_callbacks+0x3eb/0x6e0 [<ffffffff8106e53f>] ? account_system_time+0x7f/0x170 [<ffffffff81099e64>] update_process_times+0x34/0x60 [<ffffffff810a84d1>] tick_sched_handle.isra.18+0x31/0x40 [<ffffffff810a851c>] tick_sched_timer+0x3c/0x70 [<ffffffff8109a43d>] __run_hrtimer.isra.34+0x3d/0xc0 [<ffffffff8109aa95>] hrtimer_interrupt+0xc5/0x1e0 [<ffffffff81030d52>] ? native_smp_send_reschedule+0x42/0x60 [<ffffffff81032f04>] local_apic_timer_interrupt+0x34/0x60 [<ffffffff810335bc>] smp_apic_timer_interrupt+0x3c/0x60 [<ffffffff8165a3fb>] apic_timer_interrupt+0x6b/0x70 [<ffffffff81659129>] ? _raw_spin_unlock_irqrestore+0x9/0x10 [<ffffffff8107eb9f>] __wake_up_sync_key+0x4f/0x60 [<ffffffffa313ddd1>] tipc_write_space+0x31/0x40 [tipc] [<ffffffffa313dadf>] filter_rcv+0x31f/0x520 [tipc] [<ffffffffa313d699>] ? tipc_sk_lookup+0xc9/0x110 [tipc] [<ffffffff81659259>] ? _raw_spin_lock_bh+0x19/0x30 [<ffffffffa314122c>] tipc_sk_rcv+0x2dc/0x3e0 [tipc] [<ffffffffa312e7ff>] tipc_bclink_wakeup_users+0x2f/0x40 [tipc] [<ffffffffa313ce26>] tipc_node_unlock+0x186/0x190 [tipc] [<ffffffff81597c1c>] ? kfree_skb+0x2c/0x40 [<ffffffffa313475c>] tipc_rcv+0x2ac/0x8c0 [tipc] [<ffffffffa312ff58>] tipc_l2_rcv_msg+0x38/0x50 [tipc] [<ffffffff815a76d3>] __netif_receive_skb_core+0x5a3/0x950 [<ffffffff815a98d3>] __netif_receive_skb+0x13/0x60 [<ffffffff815a993e>] netif_receive_skb_internal+0x1e/0x90 [<ffffffff815aa138>] napi_gro_receive+0x78/0xa0 [<ffffffffa07f93f4>] tg3_poll_work+0xc54/0xf40 [tg3] [<ffffffff81597c8c>] ? consume_skb+0x2c/0x40 [<ffffffffa07f9721>] tg3_poll_msix+0x41/0x160 [tg3] [<ffffffff815ab0f2>] net_rx_action+0xe2/0x290 [<ffffffff8104b92a>] __do_softirq+0xda/0x1f0 [<ffffffff8104bc26>] irq_exit+0x76/0xa0 [<ffffffff81004355>] do_IRQ+0x55/0xf0 [<ffffffff8165a12b>] common_interrupt+0x6b/0x6b <EOI> The issue occurs only when tipc_sk_rcv() is used to wake up postponed senders: tipc_bclink_wakeup_users() // wakeupq - is a queue which consists of special // messages with SOCK_WAKEUP type. tipc_sk_rcv(wakeupq) ... while (skb_queue_len(inputq)) { filter_rcv(skb) // Here the type of message is checked // and if it is SOCK_WAKEUP then // it tries to wake up a sender. tipc_write_space(sk) wake_up_interruptible_sync_poll() } After the sender thread is woke up it can gather control and perform an attempt to send a message. But if there is no enough place in send queue it will call link_schedule_user() function which puts a message of type SOCK_WAKEUP to the wakeup queue and put the sender to sleep. Thus the size of the queue actually is not changed and the while() loop never exits. The approach I proposed is to wake up only senders for which there is enough place in send queue so the described issue can't occur. Moreover the same approach is already used to wake up senders on unicast links. I have got into the issue on our product code but to reproduce the issue I changed a benchmark test application (from tipcutils/demos/benchmark) to perform the following scenario: 1. Run 64 instances of test application (nodes). It can be done on the one physical machine. 2. Each application connects to all other using TIPC sockets in RDM mode. 3. When setup is done all nodes start simultaneously send broadcast messages. 4. Everything hangs up. The issue is reproducible only when a congestion on broadcast link occurs. For example, when there are only 8 nodes it works fine since congestion doesn't occur. Send queue limit is 40 in my case (I use a critical importance level) and when 64 nodes send a message at the same moment a congestion occurs every time. Signed-off-by: Dmitry S Kolmakov <kolmakov.dmitriy@xxxxxxxxxx> Reviewed-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b9018738e43c7c7693632174c69fde83b8edc07 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Sep 7 03:15:20 2015 +0000 dm9000: fix a typo Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a577f013d6745c800a11a2911ddc9a3214e7f09 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 21:49:41 2015 -0400 net: bridge: remove unnecessary switchdev include Remove the unnecessary switchdev.h include from br_netlink.c. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf361ad38165939049a2649b1a0078f3268d4bd1 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 21:27:57 2015 -0400 net: bridge: check __vlan_vid_del for error Since __vlan_del can return an error code, change its inner function __vlan_vid_del to return an eventual error from switchdev_port_obj_del. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39797a279d62972cd914ef580fdfacb13e508bf8 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Sat Sep 5 13:07:27 2015 -0700 net: dsa: bcm_sf2: Fix ageing conditions and operation The comparison check between cur_hw_state and hw_state is currently invalid because cur_hw_state is right shifted by G_MISTP_SHIFT, while hw_state is not, so we end-up comparing bits 2:0 with bits 7:5, which is going to cause an additional aging to occur. Fix this by not shifting cur_hw_state while reading it, but instead, mask the value with the appropriately shitfted bitmask. The other problem with the fast-ageing process is that we did not set the EN_AGE_DYNAMIC bit to request the ageing to occur for dynamically learned MAC addresses. Finally, write back 0 to the FAST_AGE_CTRL register to avoid leaving spurious bits sets from one operation to the other. Fixes: 12f460f23423 ("net: dsa: bcm_sf2: add HW bridging support") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a794b4f3292160bb3fd0f1f90ec8df454e3b17b3 Merge: f6f7a63 bf2d087 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 18:19:17 2015 -0700 Merge tag 'for-linus-4.3' of git://git.code.sf.net/p/openipmi/linux-ipmi Pull IPMI updates from Corey Minyard: "Most of these have been sitting in linux-next for more than a release, particularly commit 0fbcf4af7c83 ("ipmi: Convert the IPMI SI ACPI handling to a platform device") which is probably the most complex patch. That is also the one that changes drivers/acpi/acpi_pnp.c. The change in that file is only removing IPMI from a "special platform devices" list, since I convert it to the standard PNP interface. I posted this one to the ACPI list twice and got no response, and it seems to work well in my testing, so I'm hoping it's good. Hidehiro Kawai posted a set of changes that improves the panic time handling in the IPMI driver. The rest of the changes are minor bug fixes or cleanups and some documentation" * tag 'for-linus-4.3' of git://git.code.sf.net/p/openipmi/linux-ipmi: ipmi:ssif: Add a module parm to specify that SMBus alerts don't work ipmi: add of_device_id in MODULE_DEVICE_TABLE ipmi: Compensate for BMCs that wont set the irq enable bit ipmi: Don't call receive handler in the panic context ipmi: Avoid touching possible corrupted lists in the panic context ipmi: Don't flush messages in sender() in run-to-completion mode ipmi: Factor out message flushing procedure ipmi: Remove unneeded set_run_to_completion call ipmi: Make some data const that was only read ipmi: constify SSIF ACPI device ids ipmi: Delete an unnecessary check before the function call "cleanup_one_si" char:ipmi - Change 1 to true for bool type variables during initialization. impi:Remove unneeded setting of module owner to THIS_MODULE in the platform structure, powernv_ipmi_driver ipmi: Add a comment in how messages are delivered from the lower layer ipmi/powernv: Fix potential invalid pointer dereference ipmi: Convert the IPMI SI ACPI handling to a platform device ipmi: Add device tree bindings information commit f6f7a6369203fa3e07efb7f35cfd81efe9f25b07 Merge: 839fe91 df69f52 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 17:52:23 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge second patch-bomb from Andrew Morton: "Almost all of the rest of MM. There was an unusually large amount of MM material this time" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (141 commits) zpool: remove no-op module init/exit mm: zbud: constify the zbud_ops mm: zpool: constify the zpool_ops mm: swap: zswap: maybe_preload & refactoring zram: unify error reporting zsmalloc: remove null check from destroy_handle_cache() zsmalloc: do not take class lock in zs_shrinker_count() zsmalloc: use class->pages_per_zspage zsmalloc: consider ZS_ALMOST_FULL as migrate source zsmalloc: partial page ordering within a fullness_list zsmalloc: use shrinker to trigger auto-compaction zsmalloc: account the number of compacted pages zsmalloc/zram: introduce zs_pool_stats api zsmalloc: cosmetic compaction code adjustments zsmalloc: introduce zs_can_compact() function zsmalloc: always keep per-class stats zsmalloc: drop unused variable `nr_to_migrate' mm/memblock.c: fix comment in __next_mem_range() mm/page_alloc.c: fix type information of memoryless node memory-hotplug: fix comments in zone_spanned_pages_in_node() and zone_spanned_pages_in_node() ... commit 839fe9156fbe89c3157aa6146d22090f8cffddd8 Merge: 54283ae 6dc0dcd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 17:45:05 2015 -0700 Merge branch 'parisc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc updates from Helge Deller: "The most important changes in this patchset are: - re-enable 64bit PCI bus addresses which were temporarily disabled for PA-RISC in kernel 4.2 - fix the 64bit CAS operation in the LWS path which now enables us to enable the 64bit gcc atomic builtins even on 32bit userspace with 64bit kernel - fix a long-standing bug which sometimes crashed kernel at bootup while serial interrupt wasn't registered yet" * 'parisc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Use platform_device_register_simple("rtc-generic") parisc: Drop CONFIG_SMP around update_cr16_clocksource() parisc: Use double word condition in 64bit CAS operation parisc: Filter out spurious interrupts in PA-RISC irq handler parisc: Additionally check for in_atomic() in page fault handler PCI,parisc: Enable 64-bit bus addresses on PA-RISC parisc: Define ioremap_uc and ioremap_wc commit 54283aed90c3cf353e2c01a1d1ca853f5eedf92a Merge: 9a9952b 7eba7d9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 17:39:10 2015 -0700 Merge tag 'linux-kselftest-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest update from Shuah Khan: "This update adds new zram test and fixes to problems found during testing this new zram test. In addition, there are a few bug fixes and ksefltest improvement patches from Linaro developers. I will send another update later on this week to fix kselftest breakage due to commit 2bf9e0ab08c6 ("locking/static_keys: Provide a selftest") after the fix soaks in next for a couple of days" * tag 'linux-kselftest-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests/zram: Makefile fix selftests/zram: must be run as root selftests: breakpoints: fix installing error on the architecture except x86 selftests: check before install selftests/zram: Adding zram tests commit 953ba9ff77f3d08635712eaeffb218d46889b58a Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Sep 8 18:41:03 2015 +0200 cpufreq-dt: add suspend frequency support Add suspend frequency support and if needed set it to the frequency obtained from the suspend opp (can be defined using opp-v2 bindings and is optional). Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 201f3716575781b83259ed026845a213c2355035 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Sep 8 18:41:02 2015 +0200 cpufreq: allow cpufreq_generic_suspend() to work without suspend frequency Some cpufreq drivers may set suspend frequency only for selected setups but still would like to use the generic suspend handler. Thus don't treat !policy->suspend_freq condition as an incorrect one. Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9a9952bbd76a13fc2c95c28f09ba1801a3664929 Merge: e81b594 4ad7956 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 17:22:35 2015 -0700 Merge tag 'iommu-updates-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull iommu updates for from Joerg Roedel: "This time the IOMMU updates are mostly cleanups or fixes. No big new features or drivers this time. In particular the changes include: - Bigger cleanup of the Domain<->IOMMU data structures and the code that manages them in the Intel VT-d driver. This makes the code easier to understand and maintain, and also easier to keep the data structures in sync. It is also a preparation step to make use of default domains from the IOMMU core in the Intel VT-d driver. - Fixes for a couple of DMA-API misuses in ARM IOMMU drivers, namely in the ARM and Tegra SMMU drivers. - Fix for a potential buffer overflow in the OMAP iommu driver's debug code - A couple of smaller fixes and cleanups in various drivers - One small new feature: Report domain-id usage in the Intel VT-d driver to easier detect bugs where these are leaked" * tag 'iommu-updates-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (83 commits) iommu/vt-d: Really use upper context table when necessary x86/vt-d: Fix documentation of DRHD iommu/fsl: Really fix init section(s) content iommu/io-pgtable-arm: Unmap and free table when overwriting with block iommu/io-pgtable-arm: Move init-fn declarations to io-pgtable.h iommu/msm: Use BUG_ON instead of if () BUG() iommu/vt-d: Access iomem correctly iommu/vt-d: Make two functions static iommu/vt-d: Use BUG_ON instead of if () BUG() iommu/vt-d: Return false instead of 0 in irq_remapping_cap() iommu/amd: Use BUG_ON instead of if () BUG() iommu/amd: Make a symbol static iommu/amd: Simplify allocation in irq_remapping_alloc() iommu/tegra-smmu: Parameterize number of TLB lines iommu/tegra-smmu: Factor out tegra_smmu_set_pde() iommu/tegra-smmu: Extract tegra_smmu_pte_get_use() iommu/tegra-smmu: Use __GFP_ZERO to allocate zeroed pages iommu/tegra-smmu: Remove PageReserved manipulation iommu/tegra-smmu: Convert to use DMA API iommu/tegra-smmu: smmu_flush_ptc() wants device addresses ... commit d9df93ec8eb751f96c8070f104fa2a588b5ad345 Merge: 63431f7 4eafbd1 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Sep 9 02:21:06 2015 +0200 Merge branch 'pm-opp' into pm-cpufreq commit 4eafbd15b6c84cd3f6c76022c8a6c27f7cc076e1 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Sep 8 18:41:01 2015 +0200 PM / OPP: add dev_pm_opp_get_suspend_opp() helper Add dev_pm_opp_get_suspend_opp() helper to obtain suspend opp. Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f33b77408a91d4427374010897b90af678dc47be Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 8 19:06:03 2015 +0200 staging: board: Migrate away from __pm_genpd_name_add_device() The named genpd APIs are deprecated. Hence convert the board staging code from using genpd names to DT node paths. For now this supports PM domains with "#power-domain-cells = <0>" only. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e81b594cdae73f341ea13bc9fb2b57a5b739c1a3 Merge: fa81558 072502a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 16:48:55 2015 -0700 Merge tag 'regmap-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap Pull regmap updates from Mark Brown: "This has been a busy release for regmap. By far the biggest set of changes here are those from Markus Pargmann which implement support for block transfers in smbus devices. This required quite a bit of refactoring but leaves us better able to handle odd restrictions that controllers may have and with better performance on smbus. Other new features include: - Fix interactions with lockdep for nested regmaps (eg, when a device using regmap is connected to a bus where the bus controller has a separate regmap). Lockdep's default class identification is too crude to work without help. - Support for must write bitfield operations, useful for operations which require writing a bit to trigger them from Kuniori Morimoto. - Support for delaying during register patch application from Nariman Poushin. - Support for overriding cache state via the debugfs implementation from Richard Fitzgerald" * tag 'regmap-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (25 commits) regmap: fix a NULL pointer dereference in __regmap_init regmap: Support bulk reads for devices without raw formatting regmap-i2c: Add smbus i2c block support regmap: Add raw_write/read checks for max_raw_write/read sizes regmap: regmap max_raw_read/write getter functions regmap: Introduce max_raw_read/write for regmap_bulk_read/write regmap: Add missing comments about struct regmap_bus regmap: No multi_write support if bus->write does not exist regmap: Split use_single_rw internally into use_single_read/write regmap: Fix regmap_bulk_write for bus writes regmap: regmap_raw_read return error on !bus->read regulator: core: Print at debug level on debugfs creation failure regmap: Fix regmap_can_raw_write check regmap: fix typos in regmap.c regmap: Fix integertypes for register address and value regmap: Move documentation to regmap.h regmap: Use different lockdep class for each regmap init call thermal: sti: Add parentheses around bridge->ops->regmap_init call mfd: vexpress: Add parentheses around bridge->ops->regmap_init call regmap: debugfs: Fix misuse of IS_ENABLED ... commit d70e22d5bcf700a53881acad71a6c669be6eec93 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:19 2015 +0530 hexagon/time: Migrate to new 'set-state' interface Migrate hexagon driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: linux-hexagon@xxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Richard Kuo <rkuo@xxxxxxxxxxxxxx> commit fa815580fb87d1b8c218f9eba8122b2fc3f1a68c Merge: 85579ad 57817e6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 16:42:55 2015 -0700 Merge tag 'fbdev-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev updates from Tomi Valkeinen: "Minor fixes and cleanups" * tag 'fbdev-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: video: fbdev: atmel_lcdfb: remove useless include video: fbdev: pxa168fb: Use devm_clk_get fbdev: ssd1307fb: fix error return code fbdev: fix snprintf() limit in show_bl_curve() video: fbdev: s3c-fb: Constify platform_device_id video: fbdev: atmel: fix warning for const return value video: fbdev: Drop owner assignment from platform_driver video: fbdev: Drop owner assignment from i2c_driver fbdev: remove unnecessary memset in vfb framebuffer: disable vgacon on microblaze arch fbdev: udlfb: remove unneeded initialization in few places fbdev: Allow compile test of GPIO consumers if !GPIOLIB fbdev: fix cea_modes array size commit 12f0721c5a70408e86257c5c99605cf743cd44c6 Author: Aristeu Rozanski <aris@xxxxxxxxxx> Date: Fri Jun 12 15:08:17 2015 -0400 sb_edac: correctly fetch DIMM width on Ivy Bridge and Haswell dimm_dev_type has been incorrectly determined in sb_edac. This patch fixes it for Ivy Bridge and Haswell only since nothing like exists for Sandy Bridge. We tested this patch in multiple systems matching the results with the installed memory modules. Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Aristeu Rozanski <aris@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 85579ad7f1dfc0b72bb243b7227bc4f663035e71 Merge: 3af6e98 092b6db Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 16:33:16 2015 -0700 Merge tag 'mmc-v4.3' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC updates from Ulf Hansson: "MMC core: - Fix a race condition in the request handling - Skip trim commands for some buggy kingston eMMCs - An optimization and a correction for erase groups - Set CMD23 quirk for some Sandisk cards MMC host: - sdhci: Give GPIO CD higher precedence and don't poll when it's used - sdhci: Fix DMA memory leakage - sdhci: Some updates for clock management - sdhci-of-at91: introduce driver for the Atmel SDMMC - sdhci-of-arasan: Add support for sdhci-5.1 - sdhci-esdhc-imx: Add support for imx7d which also supports HS400 - sdhci: A collection of fixes and improvements for various sdhci hosts - omap_hsmmc: Modernization of the regulator code - dw_mmc: A couple of fixes for DMA and PIO mode - usdhi6rol0: A few fixes and support probe deferral for regulators - pxamci: Convert to use dmaengine - sh_mmcif: Fix the suspend process in a short term solution - tmio: Adjust timeout for commands - sunxi: Fix timeout while gating/ungating clock" * tag 'mmc-v4.3' of git://git.linaro.org/people/ulf.hansson/mmc: (67 commits) mmc: android-goldfish: remove incorrect __iomem annotation mmc: core: fix race condition in mmc_wait_data_done mmc: host: omap_hsmmc: remove CONFIG_REGULATOR check mmc: host: omap_hsmmc: use ios->vdd for setting vmmc voltage mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias status mmc: host: omap_hsmmc: enable/disable vmmc_aux regulator based on previous state mmc: host: omap_hsmmc: don't use ->set_power to set initial regulator state mmc: host: omap_hsmmc: avoid pbias regulator enable on power off mmc: host: omap_hsmmc: add separate function to set pbias mmc: host: omap_hsmmc: add separate functions for enable/disable supply mmc: host: omap_hsmmc: return error if any of the regulator APIs fail mmc: host: omap_hsmmc: remove unnecessary pbias set_voltage mmc: host: omap_hsmmc: use mmc_host's vmmc and vqmmc mmc: host: omap_hsmmc: use the ocrmask provided by the vmmc regulator mmc: host: omap_hsmmc: cleanup omap_hsmmc_reg_get() mmc: host: omap_hsmmc: return on fatal errors from omap_hsmmc_reg_get mmc: host: omap_hsmmc: use devm_regulator_get_optional() for vmmc mmc: sdhci-of-at91: fix platform_no_drv_owner.cocci warnings mmc: sh_mmcif: Fix suspend process mmc: usdhi6rol0: fix error return code ... commit 7179385afef252cd3f52c0a06cc0c405ae6d66bc Author: Aristeu Rozanski <aris@xxxxxxxxxx> Date: Fri Jun 12 09:44:52 2015 -0400 sb_edac: look harder for DDRIO on Haswell systems In case the memory banks are populated so the first channel isn't used, the DDRIO PCI device won't be visible and it won't be possible to determine the memory type. Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Aristeu Rozanski <aris@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3af6e98f25d1f68b9c36beee330342944a4e0048 Merge: acceba5 628b3198 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 16:26:18 2015 -0700 Merge tag 'platform-drivers-x86-v4.3-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull x86 platform driver updates from Darren Hart: "Significant work on toshiba_acpi, including new hardware support, refactoring, and cleanups. Extend device support for asus, ideapad, and acer systems. New surface pro 3 buttons driver. Misc minor cleanups for thinkpad and hp-wireless. acer-wmi: - No rfkill on HP Omen 15 wifi thinkpad_acpi: - Remove side effects from vdbg_printk -> no_printk macro surface pro 3: - Add support driver for Surface Pro 3 buttons hp-wireless: - remove unneeded goto/label in hpwl_init ideapad-laptop: - add alternative representation for Yoga 2 to DMI table - Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list asus-laptop: - Add key found on Asus F3M MAINTAINERS: - Remove Toshiba Linux mailing list address toshiba_acpi: - Bump driver version to 0.23 - Remove unnecessary checks and returns in HCI/SCI functions - Refactor *{get, set} functions return value - Remove "*not supported" feature prints - Change *available functions return type - Add set_fan_status function - Change some variables to avoid warnings from ninja-check - Reorder toshiba_acpi_alt_keymap entries - Remove unused wireless defines - Transflective backlight updates - Avoid registering input device on WMI event laptops - Add /dev/toshiba_acpi device - Adapt /proc/acpi/toshiba/keys to TOS1900 devices" * tag 'platform-drivers-x86-v4.3-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (21 commits) acer-wmi: No rfkill on HP Omen 15 wifi thinkpad_acpi: Remove side effects from vdbg_printk -> no_printk macro surface pro 3: Add support driver for Surface Pro 3 buttons hp-wireless: remove unneeded goto/label in hpwl_init ideapad-laptop: add alternative representation for Yoga 2 to DMI table asus-laptop: Add key found on Asus F3M MAINTAINERS: Remove Toshiba Linux mailing list address ideapad-laptop: Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list toshiba_acpi: Bump driver version to 0.23 toshiba_acpi: Remove unnecessary checks and returns in HCI/SCI functions toshiba_acpi: Refactor *{get, set} functions return value toshiba_acpi: Remove "*not supported" feature prints toshiba_acpi: Change *available functions return type toshiba_acpi: Add set_fan_status function toshiba_acpi: Change some variables to avoid warnings from ninja-check toshiba_acpi: Reorder toshiba_acpi_alt_keymap entries toshiba_acpi: Remove unused wireless defines toshiba_acpi: Transflective backlight updates toshiba_acpi: Avoid registering input device on WMI event laptops toshiba_acpi: Add /dev/toshiba_acpi device ... commit acceba598eda9817bc187f3a683a2d2ee7e7fbc7 Merge: c191761 5a73882 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 16:16:26 2015 -0700 Merge branch 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c updates from Wolfram Sang: "Features: - new drivers: Renesas EMEV2, register based MUX, NXP LPC2xxx - core: scans DT and assigns wakeup interrupts. no driver changes needed. - core: some refcouting issues fixed and better API for that - core: new helper function for best effort block read emulation - slave framework: proper DT bindings and userspace instantiation - some bigger work for xiic, pxa, omap drivers .. and quite a number of smaller driver fixes, cleanups, improvements" * 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (65 commits) i2c: mux: reg Change ioread endianness for readback i2c: mux: reg: fix compilation warnings i2c: mux: reg: simplify register size checking i2c: muxes: fix leaked i2c adapter device node references i2c: allow specifying separate wakeup interrupt in device tree of/irq: export of_get_irq_byname() i2c: xgene-slimpro: dma_mapping_error() doesn't return an error code i2c: Replace I2C_CROS_EC_TUNNEL dependency eeprom: at24: use i2c_smbus_read_i2c_block_data_or_emulated i2c: core: Add support for best effort block read emulation i2c: lpc2k: add driver i2c: mux: Add register-based mux i2c-mux-reg i2c: dt: describe generic bindings i2c: slave: print warning if slave flag not set i2c: support 10 bit and slave addresses in sysfs 'new_device' i2c: take address space into account when checking for used addresses i2c: apply DT flags when probing i2c: make address check indpendent from client struct i2c: rename address check functions i2c: apply address offset for slaves, too ... commit c19176154b464c861e49355eff636aa6896735b5 Merge: 12f03ee 5f1b2f7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 15:46:31 2015 -0700 Merge tag 'rtc-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux Pull RTC updates from Alexandre Belloni: "Core: - use is_visible() to control sysfs attributes - switch wakealarm attribute to DEVICE_ATTR_RW - make rtc_does_wakealarm() return boolean - properly manage lifetime of dev and cdev in rtc device - remove unnecessary device_get() in rtc_device_unregister - fix double free in rtc_register_device() error path New drivers: - NXP LPC24xx - Xilinx Zynq MP - Dialog DA9062 Subsystem wide cleanups: - fix drivers that consider 0 as a valid IRQ in client->irq - Drop (un)likely before IS_ERR(_OR_NULL) - drop the remaining owner assignment for i2c_driver and platform_driver - module autoload fixes Drivers: - 88pm80x: add device tree support - abx80x: fix RTC write bit - ab8500: Add a sentinel to ab85xx_rtc_ids[] - armada38x: Align RTC set time procedure with the official errata - as3722: correct month value - at91sam9: cleanups - at91rm9200: get and use slow clock and cleanups - bq32k: remove redundant check - cmos: century support, proper fix for the spurious wakeup - ds1307: cleanups and wakeup irq support - ds1374: Remove unused variable - ds1685: Use module_platform_driver - ds3232: fix WARNING trace in resume function - gemini: fix ptr_ret.cocci warnings - mt6397: implement suspend/resume - omap: support internal and external clock enabling - opal: Enable alarms only when opal supports tpo - pcf2127: use OFS flag to detect unreliable date and warn the user - pl031: fix typo for author email - rx8025: huge cleanup and fixes - sa1100/pxa: share common code - s5m: fix to update ctrl register - s3c: fix clocks and wakeup, cleanup - sirfsoc: use regmap - nvram_read()/nvram_write() functions for cmos, ds1305, ds1307, ds1343, ds1511, ds1553, ds1742, m48t59, rp5c01, stk17ta8, tx4939 - use rtc_valid_tm() error code when reading date/time instead of 0 for isl12022, pcf2123, pcf2127" * tag 'rtc-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (90 commits) rtc: abx80x: fix RTC write bit rtc: ab8500: Add a sentinel to ab85xx_rtc_ids[] rtc: ds1374: Remove unused variable rtc: Fix module autoload for OF platform drivers rtc: Fix module autoload for rtc-{ab8500,max8997,s5m} drivers rtc: omap: Add external clock enabling support rtc: omap: Add internal clock enabling support ARM: dts: AM437x: Add the internal and external clock nodes for rtc rtc: s5m: fix to update ctrl register rtc: add xilinx zynqmp rtc driver devicetree: bindings: rtc: add bindings for xilinx zynqmp rtc rtc: as3722: correct month value ARM: config: Switch PXA27x platforms to use PXA RTC driver ARM: mmp: remove unused RTC register definitions ARM: sa1100: remove unused RTC register definitions rtc: sa1100/pxa: convert to run-time register mapping ARM: pxa: add memory resource to SA1100 RTC device rtc: pxa: convert to use shared sa1100 functions rtc: sa1100: prepare to share sa1100_rtc_ops rtc: ds3232: fix WARNING trace in resume function ... commit df69f52d990bd85159727bd26e819d3a6e49c666 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Tue Sep 8 15:05:09 2015 -0700 zpool: remove no-op module init/exit Remove zpool_init() and zpool_exit(); they do nothing other than print "loaded" and "unloaded". Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c83db4f419e7105af38cdcca80cc51213214a2c8 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 8 15:05:06 2015 -0700 mm: zbud: constify the zbud_ops The structure zbud_ops is not modified so make the pointer to it a pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 786727799a85aeabc20cab5ecfb72771bcbd6b85 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 8 15:05:03 2015 -0700 mm: zpool: constify the zpool_ops The structure zpool_ops is not modified so make the pointer to it a pointer to const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5b999aadbae65696a148f55250d94b6f3d74071e Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 8 15:05:00 2015 -0700 mm: swap: zswap: maybe_preload & refactoring zswap_get_swap_cache_page and read_swap_cache_async have pretty much the same code with only significant difference in return value and usage of swap_readpage. I a helper __read_swap_cache_async() with the common code. Behavior change: now zswap_get_swap_cache_page will use radix_tree_maybe_preload instead radix_tree_preload. Looks like, this wasn't changed only by the reason of code duplication. Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 708649694a8699ff91d395c4aef5ecea3ade14bc Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:58 2015 -0700 zram: unify error reporting Make zram syslog error reporting more consistent. We have random error levels in some places. For example, critical errors like "Error allocating memory for compressed page" and "Unable to allocate temp memory" are reported as KERN_INFO messages. a) Reassign error levels Error messages that directly affect zram functionality -- pr_err(): Error allocating zram address table Error creating memory pool Decompression failed! err=%d, page=%u Unable to allocate temp memory Compression failed! err=%d Error allocating memory for compressed page: %u, size=%zu Cannot initialise %s compressing backend Error allocating disk queue for device %d Error allocating disk structure for device %d Error creating sysfs group for device %d Unable to register zram-control class Unable to get major number Messages that do not affect functionality, but user must be warned (because sysfs attrs will be removed in this particular case) -- pr_warn(): %d (%s) Attribute %s (and others) will be removed. %s Messages that do not affect functionality and mostly are informative -- pr_info(): Cannot change max compression streams Can't change algorithm for initialized device Cannot change disksize for initialized device Added device: %s Removed device: %s b) Update sysfs_create_group() error message First, it lacks a trailing new line; add it. Second, every error message in zram_add() has a "for device %d" part, which makes errors more informative. Add missing part to "Error creating sysfs group" message. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd10add00c1b31cd664a31108a9b395025def50a Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:55 2015 -0700 zsmalloc: remove null check from destroy_handle_cache() We can pass a NULL cache pointer to kmem_cache_destroy(), because it NULL-checks its argument now. Remove redundant test from destroy_handle_cache(). Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b3e237f1f5a86030c875e186ff19640f4f4f3c63 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:52 2015 -0700 zsmalloc: do not take class lock in zs_shrinker_count() We can avoid taking class ->lock around zs_can_compact() in zs_shrinker_count(), because the number that we return back is outdated in general case, by design. We have different sources that are able to change class's state right after we return from zs_can_compact() -- ongoing I/O operations, manually triggered compaction, or two of them happening simultaneously. We re-do this calculations during compaction on a per class basis anyway. zs_unregister_shrinker() will not return until we have an active shrinker, so classes won't unexpectedly disappear while zs_shrinker_count() iterates them. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6cbf16b3b66a61b9c6df8f2ed4ac346cb427f28a Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Tue Sep 8 15:04:49 2015 -0700 zsmalloc: use class->pages_per_zspage There is no need to recalcurate pages_per_zspage in runtime. Just use class->pages_per_zspage to avoid unnecessary runtime overhead. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad9d5e175a77a253f52a7259a7c918b8351d99f1 Author: Minchan Kim <minchan.kim@xxxxxxx> Date: Tue Sep 8 15:04:47 2015 -0700 zsmalloc: consider ZS_ALMOST_FULL as migrate source There is no reason to prevent select ZS_ALMOST_FULL as migration source if we cannot find source from ZS_ALMOST_EMPTY. With this patch, zs_can_compact will return more exact result. Signed-off-by: Minchan Kim <minchan.kim@xxxxxxx> Acked-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58f171174625150f3aaad0cddd3e365270b8e1b8 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:44 2015 -0700 zsmalloc: partial page ordering within a fullness_list We want to see more ZS_FULL pages and less ZS_ALMOST_{FULL, EMPTY} pages. Put a page with higher ->inuse count first within its ->fullness_list, which will give us better chances to fill up this page with new objects (find_get_zspage() return ->fullness_list head for new object allocation), so some zspages will become ZS_ALMOST_FULL/ZS_FULL quicker. It performs a trivial and cheap ->inuse compare which does not slow down zsmalloc and in the worst case keeps the list pages in no particular order. A more expensive solution could sort fullness_list by ->inuse count. [minchan@xxxxxxxxxx: code adjustments] Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ab9d306d9c3bf64b1dbad127aa13252cc550f839 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:41 2015 -0700 zsmalloc: use shrinker to trigger auto-compaction Perform automatic pool compaction by a shrinker when system is getting tight on memory. User-space has a very little knowledge regarding zsmalloc fragmentation and basically has no mechanism to tell whether compaction will result in any memory gain. Another issue is that user space is not always aware of the fact that system is getting tight on memory. Which leads to very uncomfortable scenarios when user space may start issuing compaction 'randomly' or from crontab (for example). Fragmentation is not always necessarily bad, allocated and unused objects, after all, may be filled with the data later, w/o the need of allocating a new zspage. On the other hand, we obviously don't want to waste memory when the system needs it. Compaction now has a relatively quick pool scan so we are able to estimate the number of pages that will be freed easily, which makes it possible to call this function from a shrinker->count_objects() callback. We also abort compaction as soon as we detect that we can't free any pages any more, preventing wasteful objects migrations. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Suggested-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 860c707dca155a56dfa115ddd6c00959296144a6 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:38 2015 -0700 zsmalloc: account the number of compacted pages Compaction returns back to zram the number of migrated objects, which is quite uninformative -- we have objects of different sizes so user space cannot obtain any valuable data from that number. Change compaction to operate in terms of pages and return back to compaction issuer the number of pages that were freed during compaction. So from now on we will export more meaningful value in zram<id>/mm_stat -- the number of freed (compacted) pages. This requires: (a) a rename of `num_migrated' to 'pages_compacted' (b) a internal API change -- return first_page's fullness_group from putback_zspage(), so we know when putback_zspage() did free_zspage(). It helps us to account compaction stats correctly. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d3f3938236b4bb878214e6791e76fd8409bdeee Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:35 2015 -0700 zsmalloc/zram: introduce zs_pool_stats api `zs_compact_control' accounts the number of migrated objects but it has a limited lifespan -- we lose it as soon as zs_compaction() returns back to zram. It worked fine, because (a) zram had it's own counter of migrated objects and (b) only zram could trigger compaction. However, this does not work for automatic pool compaction (not issued by zram). To account objects migrated during auto-compaction (issued by the shrinker) we need to store this number in zs_pool. Define a new `struct zs_pool_stats' structure to keep zs_pool's stats there. It provides only `num_migrated', as of this writing, but it surely can be extended. A new zsmalloc zs_pool_stats() symbol exports zs_pool's stats back to caller. Use zs_pool_stats() in zram and remove `num_migrated' from zram_stats. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Suggested-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0dc63d488a2a433a4a85d3908b3f195c4e6450d2 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:33 2015 -0700 zsmalloc: cosmetic compaction code adjustments Change zs_object_copy() argument order to be (DST, SRC) rather than (SRC, DST). copy/move functions usually have (to, from) arguments order. Rename alloc_target_page() to isolate_target_page(). This function doesn't allocate anything, it isolates target page, pretty much like isolate_source_page(). Tweak __zs_compact() comment. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 04f05909e0fde36ba481ad4c850b666ebef1ac55 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:30 2015 -0700 zsmalloc: introduce zs_can_compact() function This function checks if class compaction will free any pages. Rephrasing -- do we have enough unused objects to form at least one ZS_EMPTY page and free it. It aborts compaction if class compaction will not result in any (further) savings. EXAMPLE (this debug output is not part of this patch set): - class size - number of allocated objects - number of used objects - max objects per zspage - pages per zspage - estimated number of pages that will be freed [..] class-512 objs:544 inuse:540 maxobj-per-zspage:8 pages-per-zspage:1 zspages-to-free:0 ... class-512 compaction is useless. break class-496 objs:660 inuse:570 maxobj-per-zspage:33 pages-per-zspage:4 zspages-to-free:2 class-496 objs:627 inuse:570 maxobj-per-zspage:33 pages-per-zspage:4 zspages-to-free:1 class-496 objs:594 inuse:570 maxobj-per-zspage:33 pages-per-zspage:4 zspages-to-free:0 ... class-496 compaction is useless. break class-448 objs:657 inuse:617 maxobj-per-zspage:9 pages-per-zspage:1 zspages-to-free:4 class-448 objs:648 inuse:617 maxobj-per-zspage:9 pages-per-zspage:1 zspages-to-free:3 class-448 objs:639 inuse:617 maxobj-per-zspage:9 pages-per-zspage:1 zspages-to-free:2 class-448 objs:630 inuse:617 maxobj-per-zspage:9 pages-per-zspage:1 zspages-to-free:1 class-448 objs:621 inuse:617 maxobj-per-zspage:9 pages-per-zspage:1 zspages-to-free:0 ... class-448 compaction is useless. break class-432 objs:728 inuse:685 maxobj-per-zspage:28 pages-per-zspage:3 zspages-to-free:1 class-432 objs:700 inuse:685 maxobj-per-zspage:28 pages-per-zspage:3 zspages-to-free:0 ... class-432 compaction is useless. break class-416 objs:819 inuse:705 maxobj-per-zspage:39 pages-per-zspage:4 zspages-to-free:2 class-416 objs:780 inuse:705 maxobj-per-zspage:39 pages-per-zspage:4 zspages-to-free:1 class-416 objs:741 inuse:705 maxobj-per-zspage:39 pages-per-zspage:4 zspages-to-free:0 ... class-416 compaction is useless. break class-400 objs:690 inuse:674 maxobj-per-zspage:10 pages-per-zspage:1 zspages-to-free:1 class-400 objs:680 inuse:674 maxobj-per-zspage:10 pages-per-zspage:1 zspages-to-free:0 ... class-400 compaction is useless. break class-384 objs:736 inuse:709 maxobj-per-zspage:32 pages-per-zspage:3 zspages-to-free:0 ... class-384 compaction is useless. break [..] Every "compaction is useless" indicates that we saved CPU cycles. class-512 has 544 object allocated 540 objects used 8 objects per-page Even if we have a ALMOST_EMPTY zspage, we still don't have enough room to migrate all of its objects and free this zspage; so compaction will not make a lot of sense, it's better to just leave it as is. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 57244594195fe697f9261c7970ca25db35280967 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:27 2015 -0700 zsmalloc: always keep per-class stats Always account per-class `zs_size_stat' stats. This data will help us make better decisions during compaction. We are especially interested in OBJ_ALLOCATED and OBJ_USED, which can tell us if class compaction will result in any memory gain. For instance, we know the number of allocated objects in the class, the number of objects being used (so we also know how many objects are not used) and the number of objects per-page. So we can ensure if we have enough unused objects to form at least one ZS_EMPTY zspage during compaction. We calculate this value on per-class basis so we can calculate a total number of zspages that can be released. Which is exactly what a shrinker wants to know. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b430d1fd6c7d22cc07e7c22a2ee1078667605313 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:04:24 2015 -0700 zsmalloc: drop unused variable `nr_to_migrate' This patchset tweaks compaction and makes it possible to trigger pool compaction automatically when system is getting low on memory. zsmalloc in some cases can suffer from a notable fragmentation and compaction can release some considerable amount of memory. The problem here is that currently we fully rely on user space to perform compaction when needed. However, performing zsmalloc compaction is not always an obvious thing to do. For example, suppose we have a `idle' fragmented (compaction was never performed) zram device and system is getting low on memory due to some 3rd party user processes (gcc LTO, or firefox, etc.). It's quite unlikely that user space will issue zpool compaction in this case. Besides, user space cannot tell for sure how badly pool is fragmented; however, this info is known to zsmalloc and, hence, to a shrinker. This patch (of 7): __zs_compact() does not use `nr_to_migrate', drop it. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad5ea8cd5b934cc082f2cda900b490def149908e Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Tue Sep 8 15:04:22 2015 -0700 mm/memblock.c: fix comment in __next_mem_range() Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4ada0c5a2daf11816180ec30bdbdbed1f6ff3224 Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Tue Sep 8 15:04:19 2015 -0700 mm/page_alloc.c: fix type information of memoryless node For a memoryless node, the output of get_pfn_range_for_nid are all zero. It will display mem from 0 to -1. Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b5685e9263a6f3a8da546b8a46382f18a63745c9 Author: Xishi Qiu <qiuxishi@xxxxxxxxxx> Date: Tue Sep 8 15:04:16 2015 -0700 memory-hotplug: fix comments in zone_spanned_pages_in_node() and zone_spanned_pages_in_node() When hot adding a node from add_memory(), we will add memblock first, so the node is not empty. But when called from cpu_up(), the node should be empty. Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx>\ Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 34b100605cb7e201d5c4e39f54d0e11caa950733 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 8 15:04:13 2015 -0700 mm/page_alloc.c: change sysctl_lower_zone_reserve_ratio to sysctl_lowmem_reserve_ratio in comments We use sysctl_lowmem_reserve_ratio rather than sysctl_lower_zone_reserve_ratio to determine how aggressive the kernel is in defending lowmem from the possibility of being captured into pinned user memory. To avoid misleading, correct it in some comments. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 013110a73dcf970cb28c5b0a79f9eee577ea6aa2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 8 15:04:10 2015 -0700 mm/page_alloc.c: fix a misleading comment The comment says that the per-cpu batchsize and zone watermarks are determined by present_pages which is definitely wrong, they are both calculated from managed_pages. Fix it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c9d13f5fc748a02cb5917a798f065681007342b9 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Sep 8 15:04:08 2015 -0700 mm/mmap.c:insert_vm_struct(): check for failure before setting values There's no point in initializing vma->vm_pgoff if the insertion attempt will be failing anyway. Run the checks before performing the initialization. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bde43c6c9f4f360ae549a0ed9f10a3e62e363aca Author: Petr Mladek <pmladek@xxxxxxxx> Date: Tue Sep 8 15:04:05 2015 -0700 mm/khugepaged: allow interruption of allocation sleep again Commit 1dfb059b9438 ("thp: reduce khugepaged freezing latency") fixed khugepaged to do not block a system suspend. But the result is that it could not get interrupted before the given timeout because the condition for the wait event is "false". This patch puts back the original approach but it uses freezable_schedule_timeout_interruptible() instead of schedule_timeout_interruptible(). It does the right thing. I am pretty sure that the freezable variant was not used in the original fix only because it was not available at that time. The regression has been there for ages. It was not critical. It just did the allocation throttling a little bit more aggressively. I found this problem when converting the kthread to kthread worker API and trying to understand the code. This bug is thought to have minimal userspace-visible impact. Somebody could set a high alloc_sleep value by mistake, and then try to fix it back, but khugepaged would keep sleeping until the high value expires. Signed-off-by: Petr Mladek <pmladek@xxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c11539315129b599aae6d9bc0f941dee5559ec58 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Tue Sep 8 15:04:02 2015 -0700 mm/memblock.c: fiy typos in comments s/succees/success/ Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1a16718cf7f4f48ee2aa2cfd9a961c6b433a7b5b Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Tue Sep 8 15:03:59 2015 -0700 mm/compaction: correct to flush migrated pages if pageblock skip happens We cache isolate_start_pfn before entering isolate_migratepages(). If pageblock is skipped in isolate_migratepages() due to whatever reason, cc->migrate_pfn can be far from isolate_start_pfn hence we flush pages that were freed. For example, the following scenario can be possible: - assume order-9 compaction, pageblock order is 9 - start_isolate_pfn is 0x200 - isolate_migratepages() - skip a number of pageblocks - start to isolate from pfn 0x600 - cc->migrate_pfn = 0x620 - return - last_migrated_pfn is set to 0x200 - check flushing condition - current_block_start is set to 0x600 - last_migrated_pfn < current_block_start then do useless flush This wrong flush would not help the performance and success rate so this patch tries to fix it. One simple way to know the exact position where we start to isolate migratable pages is that we cache it in isolate_migratepages() before entering actual isolation. This patch implements that and fixes the problem. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 82c1fc714763b823169958a98196d9be56c63b30 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:03:56 2015 -0700 mm: use numa_mem_id() in alloc_pages_node() alloc_pages_node() might fail when called with NUMA_NO_NODE and __GFP_THISNODE on a CPU belonging to a memoryless node. To make the local-node fallback more robust and prevent such situations, use numa_mem_id(), which was introduced for similar scenarios in the slab context. Suggested-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0bc35a970c01c50e3bcc4b5a612787346024e5db Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:03:53 2015 -0700 mm: unify checks in alloc_pages_node() and __alloc_pages_node() Perform the same debug checks in alloc_pages_node() as are done in __alloc_pages_node(), by making the former function a wrapper of the latter one. In addition to better diagnostics in DEBUG_VM builds for situations which have been already fatal (e.g. out-of-bounds node id), there are two visible changes for potential existing buggy callers of alloc_pages_node(): - calling alloc_pages_node() with any negative nid (e.g. due to arithmetic overflow) was treated as passing NUMA_NO_NODE and fallback to local node was applied. This will now be fatal. - calling alloc_pages_node() with an offline node will now be checked for DEBUG_VM builds. Since it's not fatal if the node has been previously online, and this patch may expose some existing buggy callers, change the VM_BUG_ON in __alloc_pages_node() to VM_WARN_ON. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 96db800f5d73cd5c49461253d45766e094f0f8c2 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:03:50 2015 -0700 mm: rename alloc_pages_exact_node() to __alloc_pages_node() alloc_pages_exact_node() was introduced in commit 6484eb3e2a81 ("page allocator: do not check NUMA node ID when the caller knows the node is valid") as an optimized variant of alloc_pages_node(), that doesn't fallback to current node for nid == NUMA_NO_NODE. Unfortunately the name of the function can easily suggest that the allocation is restricted to the given node and fails otherwise. In truth, the node is only preferred, unless __GFP_THISNODE is passed among the gfp flags. The misleading name has lead to mistakes in the past, see for example commits 5265047ac301 ("mm, thp: really limit transparent hugepage allocation to local node") and b360edb43f8e ("mm, mempolicy: migrate_to_node should only migrate to node"). Another issue with the name is that there's a family of alloc_pages_exact*() functions where 'exact' means exact size (instead of page order), which leads to more confusion. To prevent further mistakes, this patch effectively renames alloc_pages_exact_node() to __alloc_pages_node() to better convey that it's an optimized variant of alloc_pages_node() not intended for general usage. Both functions get described in comments. It has been also considered to really provide a convenience function for allocations restricted to a node, but the major opinion seems to be that __GFP_THISNODE already provides that functionality and we shouldn't duplicate the API needlessly. The number of users would be small anyway. Existing callers of alloc_pages_exact_node() are simply converted to call __alloc_pages_node(), with the exception of sba_alloc_coherent() which open-codes the check for NUMA_NO_NODE, so it is converted to use alloc_pages_node() instead. This means it no longer performs some VM_BUG_ON checks, and since the current check for nid in alloc_pages_node() uses a 'nid < 0' comparison (which includes NUMA_NO_NODE), it may hide wrong values which would be previously exposed. Both differences will be rectified by the next patch. To sum up, this patch makes no functional changes, except temporarily hiding potentially buggy callers. Restricting the checks in alloc_pages_node() is left for the next patch which can in turn expose more existing buggy callers. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Robin Holt <robinmholt@xxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Cliff Whickman <cpw@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7fadc820222497eac234d1d51a66517c00a6ca4c Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Tue Sep 8 15:03:46 2015 -0700 mm, vmscan: unlock page while waiting on writeback This is merely a politeness: I've not found that shrink_page_list() leads to deadlock with the page it holds locked across wait_on_page_writeback(); but nevertheless, why hold others off by keeping the page locked there? And while we're at it: remove the mistaken "not " from the commentary on this Case 3 (and a distracting blank line from Case 2, if I may). Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 26f5d7609f03ad8d6dc552458e4e371a62416b37 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Tue Sep 8 15:03:44 2015 -0700 list_lru: don't call list_lru_from_kmem if the list_head is empty If the list_head is empty then we'll have called list_lru_from_kmem for nothing. Move that call inside of the list_empty if block. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21cd3a604797c2774676926a95a3d17d4cd5cbb3 Author: Wang Kai <morgan.wang@xxxxxxxxxx> Date: Tue Sep 8 15:03:41 2015 -0700 kmemleak: record accurate early log buffer count and report when exceeded In log_early function, crt_early_log should also count once when 'crt_early_log >= ARRAY_SIZE(early_log)'. Otherwise the reported count from kmemleak_init is one less than 'actual number'. Then, in kmemleak_init, if early_log buffer size equal actual number, kmemleak will init sucessful, so change warning condition to 'crt_early_log > ARRAY_SIZE(early_log)'. Signed-off-by: Wang Kai <morgan.wang@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e3975891254e08d220ddcafca93a0e05d9560bfb Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Sep 8 15:03:38 2015 -0700 mm/mmap.c: simplify the failure return working flow __split_vma() doesn't need out_err label, neither need initializing err. copy_vma() can return NULL directly when kmem_cache_alloc() fails. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 44a30220bc0a171c010e8df63d144655abdafe61 Author: Yu Zhao <yuzhao@xxxxxxxxxx> Date: Tue Sep 8 15:03:33 2015 -0700 shmem: recalculate file inode when fstat Shmem uses shmem_recalc_inode to update i_blocks when it allocates page, undoes range or swaps. But mm can drop clean page without notifying shmem. This makes fstat sometimes return out-of-date block size. The problem can be partially solved when we add inode_operations->getattr which calls shmem_recalc_inode to update i_blocks for fstat. shmem_recalc_inode also updates counter used by statfs and vm_committed_as. For them the situation is not changed. They still suffer from the discrepancy after dropping clean page and before the function is called by aforementioned triggers. Signed-off-by: Yu Zhao <yuzhao@xxxxxxxxxx> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 567d117b8b2ab1c3437acc4799505a59bfa5722b Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Tue Sep 8 15:03:33 2015 -0700 mm/memblock.c: rename local variable of memblock_type to 'type' Since commit e3239ff92a17 ("memblock: Rename memblock_region to memblock_type and memblock_property to memblock_region"), all local variables of the membock_type type were renamed to 'type'. This commit renames all remaining local variables with the memblock_type type to the same view. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 230ac719c500e58e71342be381ad2042a8cffc42 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue Sep 8 15:03:29 2015 -0700 mm/hwpoison: don't try to unpoison containment-failed pages memory_failure() can be called at any page at any time, which means that we can't eliminate the possibility of containment failure. In such case the best option is to leak the page intentionally (and never touch it later.) We have an unpoison function for testing, and it cannot handle such containment-failed pages, which results in kernel panic (visible with various calltraces.) So this patch suggests that we limit the unpoisonable pages to properly contained pages and ignore any other ones. Testers are recommended to keep in mind that there're un-unpoisonable pages when writing test programs. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Tested-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da1b13ccfbebe0b9d69b5d61eff0a675e19e69a5 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:27 2015 -0700 mm/hwpoison: fix race between soft_offline_page and unpoison_memory Wanpeng Li reported a race between soft_offline_page() and unpoison_memory(), which causes the following kernel panic: BUG: Bad page state in process bash pfn:97000 page:ffffea00025c0000 count:0 mapcount:1 mapping: (null) index:0x7f4fdbe00 flags: 0x1fffff80080048(uptodate|active|swapbacked) page dumped because: PAGE_FLAGS_CHECK_AT_FREE flag(s) set bad because of flags: flags: 0x40(active) Modules linked in: snd_hda_codec_hdmi i915 rpcsec_gss_krb5 nfsv4 dns_resolver bnep rfcomm nfsd bluetooth auth_rpcgss nfs_acl nfs rfkill lockd grace sunrpc i2c_algo_bit drm_kms_helper snd_hda_codec_realtek snd_hda_codec_generic drm snd_hda_intel fscache snd_hda_codec x86_pkg_temp_thermal coretemp kvm_intel snd_hda_core snd_hwdep kvm snd_pcm snd_seq_dummy snd_seq_oss crct10dif_pclmul snd_seq_midi crc32_pclmul snd_seq_midi_event ghash_clmulni_intel snd_rawmidi aesni_intel lrw gf128mul snd_seq glue_helper ablk_helper snd_seq_device cryptd fuse snd_timer dcdbas serio_raw mei_me parport_pc snd mei ppdev i2c_core video lp soundcore parport lpc_ich shpchp mfd_core ext4 mbcache jbd2 sd_mod e1000e ahci ptp libahci crc32c_intel libata pps_core CPU: 3 PID: 2211 Comm: bash Not tainted 4.2.0-rc5-mm1+ #45 Hardware name: Dell Inc. OptiPlex 7020/0F5C5X, BIOS A03 01/08/2015 Call Trace: dump_stack+0x48/0x5c bad_page+0xe6/0x140 free_pages_prepare+0x2f9/0x320 ? uncharge_list+0xdd/0x100 free_hot_cold_page+0x40/0x170 __put_single_page+0x20/0x30 put_page+0x25/0x40 unmap_and_move+0x1a6/0x1f0 migrate_pages+0x100/0x1d0 ? kill_procs+0x100/0x100 ? unlock_page+0x6f/0x90 __soft_offline_page+0x127/0x2a0 soft_offline_page+0xa6/0x200 This race is explained like below: CPU0 CPU1 soft_offline_page __soft_offline_page TestSetPageHWPoison unpoison_memory PageHWPoison check (true) TestClearPageHWPoison put_page -> release refcount held by get_hwpoison_page in unpoison_memory put_page -> release refcount held by isolate_lru_page in __soft_offline_page migrate_pages The second put_page() releases refcount held by isolate_lru_page() which will lead to unmap_and_move() releases the last refcount of page and w/ mapcount still 1 since try_to_unmap() is not called if there is only one user map the page. Anyway, the page refcount and mapcount will still mess if the page is mapped by multiple users. This race was introduced by commit 4491f71260 ("mm/memory-failure: set PageHWPoison before migrate_pages()"), which focuses on preventing the reuse of successfully migrated page. Before this commit we prevent the reuse by changing the migratetype to MIGRATE_ISOLATE during soft offlining, which has the following problems, so simply reverting the commit is not a best option: 1) it doesn't eliminate the reuse completely, because set_migratetype_isolate() can fail to set MIGRATE_ISOLATE to the target page if the pageblock of the page contains one or more unmovable pages (i.e. has_unmovable_pages() returns true). 2) the original code changes migratetype to MIGRATE_ISOLATE forcibly, and sets it to MIGRATE_MOVABLE forcibly after soft offline, regardless of the original migratetype state, which could impact other subsystems like memory hotplug or compaction. This patch moves PageSetHWPoison just after put_page() in unmap_and_move(), which closes up the reported race window and minimizes another race window b/w SetPageHWPoison and reallocation (which causes the reuse of soft-offlined page.) The latter race window still exists but it's acceptable, because it's rare and effectively the same as ordinary "containment failure" case even if it happens, so keep the window open is acceptable. Fixes: 4491f71260 ("mm/memory-failure: set PageHWPoison before migrate_pages()") Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reported-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Tested-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8e30456b6c56029ecbb43b777519175e478adfbf Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue Sep 8 15:03:24 2015 -0700 mm/hwpoison: introduce num_poisoned_pages wrappers num_poisoned_pages counter will be changed outside mm/memory-failure.c by a subsequent patch, so this patch prepares wrappers to manipulate it. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Tested-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 665d9da7f0a9bd80b64d0024630806e45c7ff7d7 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:21 2015 -0700 mm/hwpoison: replace most of put_page in memory error handling by put_hwpoison_page Replace most instances of put_page() in memory error handling with put_hwpoison_page(). Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit be91748fa6ca6909853c3dc630d65e45084962d7 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:18 2015 -0700 mm/hwpoison: fix refcount of THP head page in no-injection case Hwpoison injection takes a refcount of target page and another refcount of head page of THP if the target page is the tail page of a THP. However, current code doesn't release the refcount of head page if the THP is not supported to be injected wrt hwpoison filter. Fix it by reducing the refcount of head page if the target page is the tail page of a THP and it is not supported to be injected. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 94bf4ec84a84d3ab2513b4e681fd3d083328d76d Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:15 2015 -0700 mm/hwpoison: introduce put_hwpoison_page to put refcount for memory error handling Introduce put_hwpoison_page to put refcount for memory error handling. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Suggested-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1e0e635be82132167a134b5a9c884e70e61f8373 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:13 2015 -0700 mm/hwpoison: fix PageHWPoison test/set race There is a race between madvise_hwpoison path and memory_failure: CPU0 CPU1 madvise_hwpoison get_user_pages_fast PageHWPoison check (false) memory_failure TestSetPageHWPoison soft_offline_page PageHWPoison check (true) return -EBUSY (without put_page) Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Suggested-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d1900c744b2e4687b3e467edf58373c02bcf22d Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 15:03:10 2015 -0700 mm/hwpoison: fix failure to split thp w/ refcount held THP pages will get a refcount in madvise_hwpoison() w/ MF_COUNT_INCREASED flag, however, the refcount is still held when fail to split THP pages. Fix it by reducing the refcount of THP pages when fail to split THP. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5dd2c4bded8776ee93c8f38b739fea531095067f Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Sep 8 15:03:07 2015 -0700 x86: use generic early mem copy The early_ioremap library now has a generic copy_from_early_mem() function. Use the generic copy function for x86 relocate_initrd(). [akpm@xxxxxxxxxxxxxxxxxxxx: remove MAX_MAP_CHUNK define, per Yinghai Lu] Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1570f0d7ab425c1e0905715bf9cc98b2a82e723f Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Sep 8 15:03:04 2015 -0700 arm64: support initrd outside kernel linear map The use of mem= could leave part or all of the initrd outside of the kernel linear map. This will lead to an error when unpacking the initrd and a probable failure to boot. This patch catches that situation and relocates the initrd to be fully within the linear map. Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b0f68e32ea8749ff7d4a66cd5761e915e48e59d Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Sep 8 15:03:01 2015 -0700 mm: add utility for early copy from unmapped ram When booting an arm64 kernel w/initrd using UEFI/grub, use of mem= will likely cut off part or all of the initrd. This leaves it outside the kernel linear map which leads to failure when unpacking. The x86 code has a similar need to relocate an initrd outside of mapped memory in some cases. The current x86 code uses early_memremap() to copy the original initrd from unmapped to mapped RAM. This patchset creates a generic copy_from_early_mem() utility based on that x86 code and has arm64 and x86 share it in their respective initrd relocation code. This patch (of 3): In some early boot circumstances, it may be necessary to copy from RAM outside the kernel linear mapping to mapped RAM. The need to relocate an initrd is one example in the x86 code. This patch creates a helper function based on current x86 code. Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e6590740ceb83fd014fae7d571fe5a5d5886b7c8 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:02:58 2015 -0700 Documentation: update libhugetlbfs location and use for testing The URL for libhugetlbfs has changed. Also, put a stronger emphasis on using libgugetlbfs for hugetlb regression testing. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fd5a9ecd6880619bea74c6b12ec86819eacfb012 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:02:55 2015 -0700 selftests:vm: point to libhugetlbfs for regression testing The hugetlb selftests provide minimal coverage. Have run script point people at libhugetlbfs for better regression testing. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 243db5351aae5e6756fb610d41431a30d44b56a6 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:02:52 2015 -0700 Revert "selftests: add hugetlbfstest" This manually reverts 7e50533d4b842 ("selftests: add hugetlbfstest"). The hugetlbfstest test depends on hugetlb pages being counted in a task's rss. This functionality is not in the kernel, so the test will always fail. Remove test to avoid confusion. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9fcd6d2e052eef525e94a9ae58dbe7ed4df4f5a7 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:02:49 2015 -0700 mm, compaction: skip compound pages by order in free scanner The compaction free scanner is looking for PageBuddy() pages and skipping all others. For large compound pages such as THP or hugetlbfs, we can save a lot of iterations if we skip them at once using their compound_order(). This is generally unsafe and we can read a bogus value of order due to a race, but if we are careful, the only danger is skipping too much. When tested with stress-highalloc from mmtests on 4GB system with 1GB hugetlbfs pages, the vmstat compact_free_scanned count decreased by at least 15%. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 29c0dde830f8c08ceacf2d3edf6dc8ddd9a9c3c4 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:02:46 2015 -0700 mm, compaction: always skip all compound pages by order in migrate scanner The compaction migrate scanner tries to skip THP pages by their order, to reduce number of iterations for pages it cannot isolate. The check is only done if PageLRU() is true, which means it applies to THP pages, but not e.g. hugetlbfs pages or any other non-LRU compound pages, which we have to iterate by base pages. This limitation comes from the assumption that it's only safe to read compound_order() when we have the zone's lru_lock and THP cannot be split under us. But the only danger (after filtering out order values that are not below MAX_ORDER, to prevent overflows) is that we skip too much or too little after reading a bogus compound_order() due to a rare race. This is the same reasoning as patch 99c0fd5e51c4 ("mm, compaction: skip buddy pages by their order in the migrate scanner") introduced for unsafely reading PageBuddy() order. After this patch, all pages are tested for PageCompound() and we skip them by compound_order(). The test is done after the test for balloon_page_movable() as we don't want to assume if balloon pages (or other pages with own isolation and migration implementation if a generic API gets implemented) are compound or not. When tested with stress-highalloc from mmtests on 4GB system with 1GB hugetlbfs pages, the vmstat compact_migrate_scanned count decreased by 15%. [kirill.shutemov@xxxxxxxxxxxxxxx: change PageTransHuge checks to PageCompound for different series was squashed here] Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 02333641e2cf4ac9f23eeeb01183ed8318d346ca Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:02:42 2015 -0700 mm, compaction: encapsulate resetting cached scanner positions Reseting the cached compaction scanner positions is now open-coded in __reset_isolation_suitable() and compact_finished(). Encapsulate the functionality in a new function reset_cached_positions(). Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f5f61a320bf6275f37fcabf6645b4ac8e683c007 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:02:39 2015 -0700 mm, compaction: simplify handling restart position in free pages scanner Handling the position where compaction free scanner should restart (stored in cc->free_pfn) got more complex with commit e14c720efdd7 ("mm, compaction: remember position within pageblock in free pages scanner"). Currently the position is updated in each loop iteration of isolate_freepages(), although it should be enough to update it only when breaking from the loop. There's also an extra check outside the loop updates the position in case we have met the migration scanner. This can be simplified if we move the test for having isolated enough from the for-loop header next to the test for contention, and determining the restart position only in these cases. We can reuse the isolate_start_pfn variable for this instead of setting cc->free_pfn directly. Outside the loop, we can simply set cc->free_pfn to current value of isolate_start_pfn without any extra check. Also add a VM_BUG_ON to catch possible mistake in the future, in case we later add a new condition that terminates isolate_freepages_block() prematurely without also considering the condition in isolate_freepages(). Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2849aa09d4fbc4145ebb5dc96187c9ab967f5cf Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:02:36 2015 -0700 mm, compaction: more robust check for scanners meeting Assorted compaction cleanups and optimizations. The interesting patches are 4 and 5. In 4, skipping of compound pages in single iteration is improved for migration scanner, so it works also for !PageLRU compound pages such as hugetlbfs, slab etc. Patch 5 introduces this kind of skipping in the free scanner. The trick is that we can read compound_order() without any protection, if we are careful to filter out values larger than MAX_ORDER. The only danger is that we skip too much. The same trick was already used for reading the freepage order in the migrate scanner. To demonstrate improvements of Patches 4 and 5 I've run stress-highalloc from mmtests, set to simulate THP allocations (including __GFP_COMP) on a 4GB system where 1GB was occupied by hugetlbfs pages. I'll include just the relevant stats: Patch 3 Patch 4 Patch 5 Compaction stalls 7523 7529 7515 Compaction success 323 304 322 Compaction failures 7200 7224 7192 Page migrate success 247778 264395 240737 Page migrate failure 15358 33184 21621 Compaction pages isolated 906928 980192 909983 Compaction migrate scanned 2005277 1692805 1498800 Compaction free scanned 13255284 11539986 9011276 Compaction cost 288 305 277 With 5 iterations per patch, the results are still noisy, but we can see that Patch 4 does reduce migrate_scanned by 15% thanks to skipping the hugetlbfs pages at once. Interestingly, free_scanned is also reduced and I have no idea why. Patch 5 further reduces free_scanned as expected, by 15%. Other stats are unaffected modulo noise. [1] https://lkml.org/lkml/2015/1/19/158 This patch (of 5): Compaction should finish when the migration and free scanner meet, i.e. they reach the same pageblock. Currently however, the test in compact_finished() simply just compares the exact pfns, which may yield a false negative when the free scanner position is in the middle of a pageblock and the migration scanner reaches the begining of the same pageblock. This hasn't been a problem until commit e14c720efdd7 ("mm, compaction: remember position within pageblock in free pages scanner") allowed the free scanner position to be in the middle of a pageblock between invocations. The hot-fix 1d5bfe1ffb5b ("mm, compaction: prevent infinite loop in compact_zone") prevented the issue by adding a special check in the migration scanner to satisfy the current detection of scanners meeting. However, the proper fix is to make the detection more robust. This patch introduces the compact_scanners_met() function that returns true when the free scanner position is in the same or lower pageblock than the migration scanner. The special case in isolate_migratepages() introduced by 1d5bfe1ffb5b is removed. Suggested-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1fc524d74cf40072a2de3f74a920818398dbff30 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Tue Sep 8 15:02:33 2015 -0700 coccinelle: mm: scripts/coccinelle/api/alloc/pool_zalloc-simple.cocci add [pci|dma]_pool_zalloc coccinelle check. replaces instances of [pci|dma]_pool_alloc() followed by memset(0) with [pci|dma]_pool_zalloc(). Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Gilles Muller <Gilles.Muller@xxxxxxx> Cc: Nicolas Palix <nicolas.palix@xxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01a7fd337b2c2af97e9c55bb9406a222a2e209d3 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Tue Sep 8 15:02:30 2015 -0700 pci: mm: add pci_pool_zalloc() call Add a wrapper function for pci_pool_alloc() to get zeroed memory. Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Gilles Muller <Gilles.Muller@xxxxxxx> Cc: Nicolas Palix <nicolas.palix@xxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad82362b2defd4adad87d8538617b2f51a4bf9c3 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Tue Sep 8 15:02:27 2015 -0700 mm: add dma_pool_zalloc() call to DMA API Add a wrapper function for dma_pool_alloc() to get zeroed memory. Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Gilles Muller <Gilles.Muller@xxxxxxx> Cc: Nicolas Palix <nicolas.palix@xxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fa23f56d90ed7bd760ae2aea6dfb2f501a099e90 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Tue Sep 8 15:02:24 2015 -0700 mm: add support for __GFP_ZERO flag to dma_pool_alloc() Currently a call to dma_pool_alloc() with a ___GFP_ZERO flag returns a non-zeroed memory region. This patchset adds support for the __GFP_ZERO flag to dma_pool_alloc(), adds 2 wrapper functions for allocing zeroed memory from a pool, and provides a coccinelle script for finding & replacing instances of dma_pool_alloc() followed by memset(0) with a single dma_pool_zalloc() call. There was some concern that this always calls memset() to zero, instead of passing __GFP_ZERO into the page allocator. [https://lkml.org/lkml/2015/7/15/881] I ran a test on my system to get an idea of how often dma_pool_alloc() calls into pool_alloc_page(). After Boot: [ 30.119863] alloc_calls:541, page_allocs:7 After an hour: [ 3600.951031] alloc_calls:9566, page_allocs:12 After copying 1GB file onto a USB drive: [ 4260.657148] alloc_calls:17225, page_allocs:12 It doesn't look like dma_pool_alloc() calls down to the page allocator very often (at least on my system). This patch (of 4): Currently the __GFP_ZERO flag is ignored by dma_pool_alloc(). Make dma_pool_alloc() zero the memory if this flag is set. Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Gilles Muller <Gilles.Muller@xxxxxxx> Cc: Nicolas Palix <nicolas.palix@xxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c54839a722a02818677bcabe57e957f0ce4f841d Author: Jaewon Kim <jaewon31.kim@xxxxxxxxxxx> Date: Tue Sep 8 15:02:21 2015 -0700 vmscan: fix increasing nr_isolated incurred by putback unevictable pages reclaim_clean_pages_from_list() assumes that shrink_page_list() returns number of pages removed from the candidate list. But shrink_page_list() puts back mlocked pages without passing it to caller and without counting as nr_reclaimed. This increases nr_isolated. To fix this, this patch changes shrink_page_list() to pass unevictable pages back to caller. Caller will take care those pages. Minchan said: It fixes two issues. 1. With unevictable page, cma_alloc will be successful. Exactly speaking, cma_alloc of current kernel will fail due to unevictable pages. 2. fix leaking of NR_ISOLATED counter of vmstat With it, too_many_isolated works. Otherwise, it could make hang until the process get SIGKILL. Signed-off-by: Jaewon Kim <jaewon31.kim@xxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0b802f101d0c6caeeee89066dc2c8665082a83df Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Tue Sep 8 15:02:18 2015 -0700 mm: vmscan: never isolate more pages than necessary If transparent huge pages are enabled, we can isolate many more pages than we actually need to scan, because we count both single and huge pages equally in isolate_lru_pages(). Since commit 5bc7b8aca942d ("mm: thp: add split tail pages to shrink page list in page reclaim"), we scan all the tail pages immediately after a huge page split (see shrink_page_list()). As a result, we can reclaim up to SWAP_CLUSTER_MAX * HPAGE_PMD_NR (512 MB) in one run! This is easy to catch on memcg reclaim with zswap enabled. The latter makes swapout instant so that if we happen to scan an unreferenced huge page we will evict both its head and tail pages immediately, which is likely to result in excessive reclaim. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 64b990d2957cb535fe1c17b9694d5d4f7de69962 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 15:02:15 2015 -0700 mm: drop __nocast from vm_flags_t definition __nocast does no good for vm_flags_t. It only produces useless sparse warnings. Let's drop it. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1b4ace4141db1ddc46f6c9915086dd5e18d7154d Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Tue Sep 8 15:02:12 2015 -0700 bootmem: avoid freeing to bootmem after bootmem is done Bootmem isn't popular any more, but some architectures still use it, and freeing to bootmem after calling free_all_bootmem_core() can end up scribbling over random memory. Instead, make sure the kernel generates a warning in this case by ensuring the node_bootmem_map field is non-NULL when are freeing or marking bootmem. An instance of this bug was just fixed in the tile architecture ("tile: use free_bootmem_late() for initrd") and catching this case more widely seems like a good thing. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Paul McQuade <paulmcquad@xxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c5b4e1b02f2a0c2309ecd58a235a2f5ee4eb0074 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue Sep 8 15:02:09 2015 -0700 mm, page_isolation: make set/unset_migratetype_isolate() file-local Nowaday, set/unset_migratetype_isolate() is defined and used only in mm/page_isolation, so let's limit the scope within the file. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit acda0c3340282bc7c36f4e9a5e2ccb7bb7e64676 Author: Aristeu Rozanski <aris@xxxxxxxxxx> Date: Tue Sep 8 15:02:06 2015 -0700 mm/mempolicy.c: get rid of duplicated check for vma(VM_PFNMAP) in queue_pages_range() This check was introduced as part of 6f4576e3687 ("mempolicy: apply page table walker on queue_pages_range()") which got duplicated by 48684a65b4e ("mm: pagewalk: fix misbehavior of walk_page_range for vma(VM_PFNMAP)") by reintroducing it earlier on queue_page_test_walk() Signed-off-by: Aristeu Rozanski <aris@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 95cf82ecc1fcb44df1768162343cc8eb88083b86 Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:02:03 2015 -0700 mem-hotplug: handle node hole when initializing numa_meminfo. When parsing SRAT, all memory ranges are added into numa_meminfo. In numa_init(), before entering numa_cleanup_meminfo(), all possible memory ranges are in numa_meminfo. And numa_cleanup_meminfo() removes all ranges over max_pfn or empty. But, this only works if the nodes are continuous. Let's have a look at the following example: We have an SRAT like this: SRAT: Node 0 PXM 0 [mem 0x00000000-0x5fffffff] SRAT: Node 0 PXM 0 [mem 0x100000000-0x1ffffffffff] SRAT: Node 1 PXM 1 [mem 0x20000000000-0x3ffffffffff] SRAT: Node 4 PXM 2 [mem 0x40000000000-0x5ffffffffff] hotplug SRAT: Node 5 PXM 3 [mem 0x60000000000-0x7ffffffffff] hotplug SRAT: Node 2 PXM 4 [mem 0x80000000000-0x9ffffffffff] hotplug SRAT: Node 3 PXM 5 [mem 0xa0000000000-0xbffffffffff] hotplug SRAT: Node 6 PXM 6 [mem 0xc0000000000-0xdffffffffff] hotplug SRAT: Node 7 PXM 7 [mem 0xe0000000000-0xfffffffffff] hotplug On boot, only node 0,1,2,3 exist. And the numa_meminfo will look like this: numa_meminfo.nr_blks = 9 1. on node 0: [0, 60000000] 2. on node 0: [100000000, 20000000000] 3. on node 1: [20000000000, 40000000000] 4. on node 4: [40000000000, 60000000000] 5. on node 5: [60000000000, 80000000000] 6. on node 2: [80000000000, a0000000000] 7. on node 3: [a0000000000, a0800000000] 8. on node 6: [c0000000000, a0800000000] 9. on node 7: [e0000000000, a0800000000] And numa_cleanup_meminfo() will merge 1 and 2, and remove 8,9 because the end address is over max_pfn, which is a0800000000. But 4 and 5 are not removed because their end addresses are less then max_pfn. But in fact, node 4 and 5 don't exist. In a word, numa_cleanup_meminfo() is not able to handle holes between nodes. Since memory ranges in node 4 and 5 are in numa_meminfo, in numa_register_memblks(), node 4 and 5 will be mistakenly set to online. If you run lscpu, it will show: NUMA node0 CPU(s): 0-14,128-142 NUMA node1 CPU(s): 15-29,143-157 NUMA node2 CPU(s): NUMA node3 CPU(s): NUMA node4 CPU(s): 62-76,190-204 NUMA node5 CPU(s): 78-92,206-220 In this patch, we use memblock_overlaps_region() to check if ranges in numa_meminfo overlap with ranges in memory_block. Since memory_block contains all available memory at boot time, if they overlap, it means the ranges exist. If not, then remove them from numa_meminfo. After this patch, lscpu will show: NUMA node0 CPU(s): 0-14,128-142 NUMA node1 CPU(s): 15-29,143-157 NUMA node4 CPU(s): 62-76,190-204 NUMA node5 CPU(s): 78-92,206-220 Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Baoquan He <bhe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c5c5c9d1008fb15945d0173b3ca75931ef53ae1f Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:02:00 2015 -0700 mm/memblock.c: make memblock_overlaps_region() return bool. memblock_overlaps_region() checks if the given memblock region intersects a region in memblock. If so, it returns the index of the intersected region. But its only caller is memblock_is_region_reserved(), and it returns 0 if false, non-zero if true. Both of these should return bool. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Baoquan He <bhe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 72079ba0dfefc1444b4ef98a2fa3d040838a775f Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:57 2015 -0700 mm: madvise allow remove operation for hugetlbfs Now that we have hole punching support for hugetlbfs, we can also support the MADV_REMOVE interface to it. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 70c3547e36f5c9fbc4caecfeca98f0effa6932c5 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:54 2015 -0700 hugetlbfs: add hugetlbfs_fallocate() This is based on the shmem version, but it has diverged quite a bit. We have no swap to worry about, nor the new file sealing. Add synchronication via the fault mutex table to coordinate page faults, fallocate allocation and fallocate hole punch. What this allows us to do is move physical memory in and out of a hugetlbfs file without having it mapped. This also gives us the ability to support MADV_REMOVE since it is currently implemented using fallocate(). MADV_REMOVE lets madvise() remove pages from the middle of a hugetlbfs file, which wasn't possible before. hugetlbfs fallocate only operates on whole huge pages. Based on code by Dave Hansen. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ab76ad540a50191308e5bb6b5e2d9e26c78616d3 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:50 2015 -0700 hugetlbfs: New huge_add_to_page_cache helper routine Currently, there is only a single place where hugetlbfs pages are added to the page cache. The new fallocate code be adding a second one, so break the functionality out into its own helper. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d85f69b0b533ec6d7ac8c21db958c44c6d957c90 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:47 2015 -0700 mm/hugetlb: alloc_huge_page handle areas hole punched by fallocate Areas hole punched by fallocate will not have entries in the region/reserve map. However, shared mappings with min_size subpool reservations may still have reserved pages. alloc_huge_page needs to handle this special case and do the proper accounting. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1fb1b0e9ef2d661488f8053986c3b7641cae529d Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:44 2015 -0700 mm/hugetlb: vma_has_reserves() needs to handle fallocate hole punch In vma_has_reserves(), the current assumption is that reserves are always present for shared mappings. However, this will not be the case with fallocate hole punch. When punching a hole, the present page will be deleted as well as the region/reserve map entry (and hence any reservation). vma_has_reserves is passed "chg" which indicates whether or not a region/reserve map is present. Use this to determine if reserves are actually present or were removed via hole punch. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b5cec28d36f5ee6b4e6f68a0a40aa1e4045d6d99 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:41 2015 -0700 hugetlbfs: truncate_hugepages() takes a range of pages Modify truncate_hugepages() to take a range of pages (start, end) instead of simply start. If an end value of LLONG_MAX is passed, the current "truncate" functionality is maintained. Existing callers are modified to pass LLONG_MAX as end of range. By keying off end == LLONG_MAX, the routine behaves differently for truncate and hole punch. Page removal is now synchronized with page allocation via faults by using the fault mutex table. The hole punch case can experience the rare region_del error and must handle accordingly. Add the routine hugetlb_fix_reserve_counts to fix up reserve counts in the case where region_del returns an error. Since the routine handles more than just the truncate case, it is renamed to remove_inode_hugepages(). To be consistent, the routine truncate_huge_page() is renamed remove_huge_page(). Downstream of remove_inode_hugepages(), the routine hugetlb_unreserve_pages() is also modified to take a range of pages. hugetlb_unreserve_pages is modified to detect an error from region_del and pass it back to the caller. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1bfad99ab42569807d0ca1698449cae5e8c0334a Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:38 2015 -0700 hugetlbfs: hugetlb_vmtruncate_list() needs to take a range to delete fallocate hole punch will want to unmap a specific range of pages. Modify the existing hugetlb_vmtruncate_list() routine to take a start/end range. If end is 0, this indicates all pages after start should be unmapped. This is the same as the existing truncate functionality. Modify existing callers to add 0 as end of range. Since the routine will be used in hole punch as well as truncate operations, it is more appropriately renamed to hugetlb_vmdelete_list(). Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c672c7f29f2fdb73e1f72911bf499675c81fcdbb Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:35 2015 -0700 mm/hugetlb: expose hugetlb fault mutex for use by fallocate hugetlb page faults are currently synchronized by the table of mutexes (htlb_fault_mutex_table). fallocate code will need to synchronize with the page fault code when it allocates or deletes pages. Expose interfaces so that fallocate operations can be synchronized with page faults. Minor name changes to be more consistent with other global hugetlb symbols. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit feba16e25a578080af5aad5eb9e469b4e6c23eef Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:31 2015 -0700 mm/hugetlb: add region_del() to delete a specific range of entries fallocate hole punch will want to remove a specific range of pages. The existing region_truncate() routine deletes all region/reserve map entries after a specified offset. region_del() will provide this same functionality if the end of region is specified as LONG_MAX. Hence, region_del() can replace region_truncate(). Unlike region_truncate(), region_del() can return an error in the rare case where it can not allocate memory for a region descriptor. This ONLY happens in the case where an existing region must be split. Current callers passing LONG_MAX as end of range will never experience this error and do not need to deal with error handling. Future callers of region_del() (such as fallocate hole punch) will need to handle this error. Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5e9113731a3ce616e8b5aa128ffc1aeaa4942571 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Tue Sep 8 15:01:28 2015 -0700 mm/hugetlb: add cache of descriptors to resv_map for region_add hugetlbfs is used today by applications that want a high degree of control over huge page usage. Often, large hugetlbfs files are used to map a large number huge pages into the application processes. The applications know when page ranges within these large files will no longer be used, and ideally would like to release them back to the subpool or global pools for other uses. The fallocate() system call provides an interface for preallocation and hole punching within files. This patch set adds fallocate functionality to hugetlbfs. fallocate hole punch will want to remove a specific range of pages. When pages are removed, their associated entries in the region/reserve map will also be removed. This will break an assumption in the region_chg/region_add calling sequence. If a new region descriptor must be allocated, it is done as part of the region_chg processing. In this way, region_add can not fail because it does not need to attempt an allocation. To prepare for fallocate hole punch, create a "cache" of descriptors that can be used by region_add if necessary. region_chg will ensure there are sufficient entries in the cache. It will be necessary to track the number of in progress add operations to know a sufficient number of descriptors reside in the cache. A new routine region_abort is added to adjust this in progress count when add operations are aborted. vma_abort_reservation is also added for callers creating reservations with vma_needs_reservation/vma_commit_reservation. [akpm@xxxxxxxxxxxxxxxxxxxx: fix typo in comment, use more cols] Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Aneesh Kumar <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bb14c2c75db972a1bf65fd63c8d5a0b41a8f263a Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:01:25 2015 -0700 mm: rename and move get/set_freepage_migratetype The pair of get/set_freepage_migratetype() functions are used to cache pageblock migratetype for a page put on a pcplist, so that it does not have to be retrieved again when the page is put on a free list (e.g. when pcplists become full). Historically it was also assumed that the value is accurate for pages on freelists (as the functions' names unfortunately suggest), but that cannot be guaranteed without affecting various allocator fast paths. It is in fact not needed and all such uses have been removed. The last remaining (but pointless) usage related to pages of freelists is in move_freepages(), which this patch removes. To prevent further confusion, rename the functions to get/set_pcppage_migratetype() and expand their description. Since all the users are now in mm/page_alloc.c, move the functions there from the shared header. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Seungho Park <seungho1.park@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aa016d145d4c3b8a7273429528f19d5b423ddbc7 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Tue Sep 8 15:01:22 2015 -0700 mm, page_isolation: remove bogus tests for isolated pages The __test_page_isolated_in_pageblock() is used to verify whether all pages in pageblock were either successfully isolated, or are hwpoisoned. Two of the possible state of pages, that are tested, are however bogus and misleading. Both tests rely on get_freepage_migratetype(page), which however has no guarantees about pages on freelists. Specifically, it doesn't guarantee that the migratetype returned by the function actually matches the migratetype of the freelist that the page is on. Such guarantee is not its purpose and would have negative impact on allocator performance. The first test checks whether the freepage_migratetype equals MIGRATE_ISOLATE, supposedly to catch races between page isolation and allocator activity. These races should be fixed nowadays with 51bb1a4093 ("mm/page_alloc: add freepage on isolate pageblock to correct buddy list") and related patches. As explained above, the check wouldn't be able to catch them reliably anyway. For the same reason false positives can happen, although they are harmless, as the move_freepages() call would just move the page to the same freelist it's already on. So removing the test is not a bug fix, just cleanup. After this patch, we assume that all PageBuddy pages are on the correct freelist and that the races were really fixed. A truly reliable verification in the form of e.g. VM_BUG_ON() would be complicated and is arguably not needed. The second test (page_count(page) == 0 && get_freepage_migratetype(page) == MIGRATE_ISOLATE) is probably supposed (the code comes from a big memory isolation patch from 2007) to catch pages on MIGRATE_ISOLATE pcplists. However, pcplists don't contain MIGRATE_ISOLATE freepages nowadays, those are freed directly to free lists, so the check is obsolete. Remove it as well. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Seungho Park <seungho1.park@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 156408c0edaacbea1137f58b28fd6ec341064310 Author: Vishnu Pratap Singh <vishnu.ps@xxxxxxxxxxx> Date: Tue Sep 8 15:01:19 2015 -0700 lib/show_mem.c: correct reserved memory calculation CMA reserved memory is not part of total reserved memory. Currently when we print the total reserve memory it considers cma as part of reserve memory and do minus of totalcma_pages from reserved, which is wrong. In cases where total reserved is less than cma reserved we will get negative values & while printing we print as unsigned and we will get a very large value. Below is the show mem output on X86 ubuntu based system where CMA reserved is 100MB (25600 pages) & total reserved is ~40MB(10316 pages). And reserve memory shows a large value because of this bug. Before: [ 127.066430] 898908 pages RAM [ 127.066432] 671682 pages HighMem/MovableOnly [ 127.066434] 4294952012 pages reserved [ 127.066436] 25600 pages cma reserved After: [ 44.663129] 898908 pages RAM [ 44.663130] 671682 pages HighMem/MovableOnly [ 44.663130] 10316 pages reserved [ 44.663131] 25600 pages cma reserved Signed-off-by: Vishnu Pratap Singh <vishnu.ps@xxxxxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Danesh Petigara <dpetigara@xxxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e752eb68811aeece2220e183e23369a34122fb5e Author: Michal Hocko <mhocko@xxxxxxxx> Date: Tue Sep 8 15:01:16 2015 -0700 memcg: move memcg_proto_active from sock.h The only user is sock_update_memcg which is living in memcontrol.c so it doesn't make much sense to pollute sock.h by this inline helper. Move it to memcontrol.c and open code it into its only caller. Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a03f1f058969ec350fb7451a6fbca23096ee5727 Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Sep 8 15:01:13 2015 -0700 memcg, tcp_kmem: check for cg_proto in sock_update_memcg sk_prot->proto_cgroup is allowed to return NULL but sock_update_memcg doesn't check for NULL. The function relies on the mem_cgroup_is_root check because we shouldn't get NULL otherwise because mem_cgroup_from_task will always return !NULL. All other callers are checking for NULL and we can safely replace mem_cgroup_is_root() check by cg_proto != NULL which will be more straightforward (proto_cgroup returns NULL for the root memcg already). Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f2115f93b88e5e8d48b87b153e36a537afb58cb Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 8 15:01:10 2015 -0700 memcg: restructure mem_cgroup_can_attach() Restructure it to lower nesting level and help the planned threadgroup leader iteration changes. This is pure reorganization. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 64219994898c8689c3d57668996f476f8c2d398c Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Sep 8 15:01:07 2015 -0700 memcg: get rid of extern for functions in memcontrol.h Most of the exported functions in this header are not marked extern so change the rest to follow the same style. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fabc3fdde00b54825ba23230aedbf88a735b4e49 Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Sep 8 15:01:04 2015 -0700 memcg: get rid of mem_cgroup_root_css for !CONFIG_MEMCG The only user is cgwb_bdi_init and that one depends on CONFIG_CGROUP_WRITEBACK which in turn depends on CONFIG_MEMCG so it doesn't make much sense to definte an empty stub for !CONFIG_MEMCG. Moreover ERR_PTR(-EINVAL) is ugly and would lead to runtime crashes if used in unguarded code paths. Better fail during compilation. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 33398cf2f360c5ce24c8a22436d52a06ad4e5eb5 Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Sep 8 15:01:02 2015 -0700 memcg: export struct mem_cgroup mem_cgroup structure is defined in mm/memcontrol.c currently which means that the code outside of this file has to use external API even for trivial access stuff. This patch exports mm_struct with its dependencies and makes some of the exported functions inlines. This even helps to reduce the code size a bit (make defconfig + CONFIG_MEMCG=y) text data bss dec hex filename 12355346 1823792 1089536 15268674 e8fb42 vmlinux.before 12354970 1823792 1089536 15268298 e8f9ca vmlinux.after This is not much (370B) but better than nothing. We also save a function call in some hot paths like callers of mem_cgroup_count_vm_event which is used for accounting. The patch doesn't introduce any functional changes. [vdavykov@xxxxxxxxxxxxx: inline memcg_kmem_is_active] [vdavykov@xxxxxxxxxxxxx: do not expose type outside of CONFIG_MEMCG] [akpm@xxxxxxxxxxxxxxxxxxxx: memcontrol.h needs eventfd.h for eventfd_ctx] [akpm@xxxxxxxxxxxxxxxxxxxx: export mem_cgroup_from_task() to modules] Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Suggested-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b3d9ed3fd872fc074286674ae8595ee880938bbf Author: Michal Hocko <mhocko@xxxxxxxx> Date: Tue Sep 8 15:00:59 2015 -0700 sparc32: do not include swap.h from pgtable_32.h "memcg: export struct mem_cgroup" will add includes into linux/memcontrol.h which lead to further header dependency issues as reported by Guenter Roeck: In file included from include/linux/highmem.h:7:0, from include/linux/bio.h:23, from include/linux/writeback.h:192, from include/linux/memcontrol.h:30, from include/linux/swap.h:8, from ./arch/sparc/include/asm/pgtable_32.h:17, from ./arch/sparc/include/asm/pgtable.h:6, from arch/sparc/kernel/traps_32.c:23: include/linux/mm.h: In function 'is_vmalloc_addr': include/linux/mm.h:371:17: error: 'VMALLOC_START' undeclared (first use in this function) include/linux/mm.h:371:17: note: each undeclared identifier is reported only once for each function it appears in include/linux/mm.h:371:41: error: 'VMALLOC_END' undeclared (first use in this function) include/linux/mm.h: In function 'maybe_mkwrite': include/linux/mm.h:556:3: error: implicit declaration of function 'pte_mkwrite' The issue is that pgtable_32.h depends on swap.h to get swap_entry_t but that goes all the way down to linux/mm.h which wants to have VMALLOC_* which is defined later in pgtable_32.h, though. swap_entry_t is defined in include/mm_types.h so it should be sufficient to include this header without more dependencies. Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 44d7175da6ea10e353e69b586bb68bbfef89e403 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:00:56 2015 -0700 mm/dmapool: allow NULL `pool' pointer in dma_pool_destroy() dma_pool_destroy() does not tolerate a NULL dma_pool pointer argument and performs a NULL-pointer dereference. This requires additional attention and effort from developers/reviewers and forces all dma_pool_destroy() callers to do a NULL check if (pool) dma_pool_destroy(pool); Or, otherwise, be invalid dma_pool_destroy() users. Tweak dma_pool_destroy() and NULL-check the pointer there. Proposed by Andrew Morton. Link: https://lkml.org/lkml/2015/6/8/583 Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e3ca3e033d1eea62fa16c3fdbef4f20427bd0de Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:00:53 2015 -0700 mm/mempool: allow NULL `pool' pointer in mempool_destroy() mempool_destroy() does not tolerate a NULL mempool_t pointer argument and performs a NULL-pointer dereference. This requires additional attention and effort from developers/reviewers and forces all mempool_destroy() callers to do a NULL check if (pool) mempool_destroy(pool); Or, otherwise, be invalid mempool_destroy() users. Tweak mempool_destroy() and NULL-check the pointer there. Proposed by Andrew Morton. Link: https://lkml.org/lkml/2015/6/8/583 Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3942d29918522ba6a393c19388301ec04df429cd Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Tue Sep 8 15:00:50 2015 -0700 mm/slab_common: allow NULL cache pointer in kmem_cache_destroy() kmem_cache_destroy() does not tolerate a NULL kmem_cache pointer argument and performs a NULL-pointer dereference. This requires additional attention and effort from developers/reviewers and forces all kmem_cache_destroy() callers (200+ as of 4.1) to do a NULL check if (cache) kmem_cache_destroy(cache); Or, otherwise, be invalid kmem_cache_destroy() users. Tweak kmem_cache_destroy() and NULL-check the pointer there. Proposed by Andrew Morton. Link: https://lkml.org/lkml/2015/6/8/583 Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 75e8f8b24cb0dc4951267d31f0a49e5ce2f345c4 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:47 2015 -0700 mm, oom: remove unnecessary variable The "killed" variable in out_of_memory() can be removed since the call to oom_kill_process() where we should block to allow the process time to exit is obvious. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8989e4c7d4e3c30b55c998a1138cd06c92df7295 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:44 2015 -0700 mm, oom: add description of struct oom_control Describe the purpose of struct oom_control and what each member does. Also make gfp_mask and order const since they are never manipulated or passed to functions that discard the qualifier. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 071a4befebb655d6b31bf5c6bacd5a6df035224d Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:42 2015 -0700 mm, oom: do not panic for oom kills triggered from sysrq Sysrq+f is used to kill a process either for debug or when the VM is otherwise unresponsive. It is not intended to trigger a panic when no process may be killed. Avoid panicking the system for sysrq+f when no processes are killed. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Suggested-by: Michal Hocko <mhocko@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 54e9e29132d7caefcad470281cae06ac34a982c8 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:39 2015 -0700 mm, oom: pass an oom order of -1 when triggered by sysrq The force_kill member of struct oom_control isn't needed if an order of -1 is used instead. This is the same as order == -1 in struct compact_control which requires full memory compaction. This patch introduces no functional change. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e0fc46dc2152d3e2d25a5d5b640ae3586c247c6 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:36 2015 -0700 mm, oom: organize oom context into struct There are essential elements to an oom context that are passed around to multiple functions. Organize these elements into a new struct, struct oom_control, that specifies the context for an oom condition. This patch introduces no functional change. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c0b80d463c6ade539d51ad03bc7c41849fb37e8 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Tue Sep 8 15:00:33 2015 -0700 mm: make set_recommended_min_free_kbytes() return void This makes set_recommended_min_free_kbytes() have a return type of void as it cannot fail. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 28c015d07507e164d93b33498b4e482ff81c0e9b Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Tue Sep 8 15:00:31 2015 -0700 mm: improve __GFP_NORETRY comment based on implementation Explicitly state that __GFP_NORETRY will attempt direct reclaim and memory compaction before returning NULL and that the oom killer is not called in the current implementation of the page allocator. [akpm@xxxxxxxxxxxxxxxxxxxx: s/has/have/] Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 998ef75ddb5709bbea0bf1506cd2717348a3c647 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:28 2015 -0700 fs: do not prefault sys_write() user buffer pages === Short summary ==== iov_iter_fault_in_readable() works around a really rare case and we can avoid the deadlock it addresses in another way: disable page faults and work around copy failures by faulting after the copy in a slow path instead of before in a hot one. I have a little microbenchmark that does repeated, small writes to tmpfs. This patch speeds that micro up by 6.2%. === Long version === When doing a sys_write() we have a source buffer in userspace and then a target file page. If both of those are the same physical page, there is a potential deadlock that we avoid. It would happen something like this: 1. We start the write to the file 2. Allocate page cache page and set it !Uptodate 3. Touch the userspace buffer to copy in the user data 4. Page fault (since source of the write not yet mapped) 5. Page fault code tries to lock the page and deadlocks (more details on this below) To avoid this, we prefault the page to guarantee that this fault does not occur. But, this prefault comes at a cost. It is one of the most expensive things that we do in a hot write() path (especially if we compare it to the read path). It is working around a pretty rare case. To fix this, it's pretty simple. We move the "prefault" code to run after we attempt the copy. We explicitly disable page faults _during_ the copy, detect the copy failure, then execute the "prefault" ouside of where the page lock needs to be held. iov_iter_copy_from_user_atomic() actually already has an implicit pagefault_disable() inside of it (at least on x86), but we add an explicit one. I don't think we can depend on every kmap_atomic() implementation to pagefault_disable() for eternity. =================================================== The stack trace when this happens looks like this: wait_on_page_bit_killable+0xc0/0xd0 __lock_page_or_retry+0x84/0xa0 filemap_fault+0x1ed/0x3d0 __do_fault+0x41/0xc0 handle_mm_fault+0x9bb/0x1210 __do_page_fault+0x17f/0x3d0 do_page_fault+0xc/0x10 page_fault+0x22/0x30 generic_perform_write+0xca/0x1a0 __generic_file_write_iter+0x190/0x1f0 ext4_file_write_iter+0xe9/0x460 __vfs_write+0xaa/0xe0 vfs_write+0xa6/0x1a0 SyS_write+0x46/0xa0 entry_SYSCALL_64_fastpath+0x12/0x6a 0xffffffffffffffff (Note, this does *NOT* happen in practice today because the kmap_atomic() does a pagefault_disable(). The trace above was obtained by taking out the pagefault_disable().) You can trigger the deadlock with this little code snippet: fd = open("foo", O_RDWR); fdmap = mmap(NULL, len, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0); write(fd, &fdmap[0], 1); Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: NeilBrown <neilb@xxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Paul Cassella <cassella@xxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8334b96221ff0dcbde4873d31eb4d84774ed8ed4 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Tue Sep 8 15:00:24 2015 -0700 mm: /proc/pid/smaps:: show proportional swap share of the mapping We want to know per-process workingset size for smart memory management on userland and we use swap(ex, zram) heavily to maximize memory efficiency so workingset includes swap as well as RSS. On such system, if there are lots of shared anonymous pages, it's really hard to figure out exactly how many each process consumes memory(ie, rss + wap) if the system has lots of shared anonymous memory(e.g, android). This patch introduces SwapPss field on /proc/<pid>/smaps so we can get more exact workingset size per process. Bongkyu tested it. Result is below. 1. 50M used swap SwapTotal: 461976 kB SwapFree: 411192 kB $ adb shell cat /proc/*/smaps | grep "SwapPss:" | awk '{sum += $2} END {print sum}'; 48236 $ adb shell cat /proc/*/smaps | grep "Swap:" | awk '{sum += $2} END {print sum}'; 141184 2. 240M used swap SwapTotal: 461976 kB SwapFree: 216808 kB $ adb shell cat /proc/*/smaps | grep "SwapPss:" | awk '{sum += $2} END {print sum}'; 230315 $ adb shell cat /proc/*/smaps | grep "Swap:" | awk '{sum += $2} END {print sum}'; 1387744 [akpm@xxxxxxxxxxxxxxxxxxxx: simplify kunmap_atomic() call] Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Reported-by: Bongkyu Kim <bongkyu.kim@xxxxxxx> Tested-by: Bongkyu Kim <bongkyu.kim@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3115aec4513e5bcb399235cac98a5637fe641c13 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Sep 8 15:00:22 2015 -0700 memtest: remove unused header files memtest does not require these headers to be included. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: Leon Romanovsky <leon@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f373bafcad68834761b40da9cecda842f43d4797 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Sep 8 15:00:19 2015 -0700 memtest: cleanup log messages - prefer pr_info(... to printk(KERN_INFO ... - use %pa for phys_addr_t - use cpu_to_be64 while printing pattern in reserve_bad_mem() Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: Leon Romanovsky <leon@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 06f805965fc205e27681eee99fd2376fafd8da65 Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Tue Sep 8 15:00:16 2015 -0700 memtest: use kstrtouint instead of simple_strtoul Since simple_strtoul is obsolete and memtest_pattern is type of int, use kstrtouint instead. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Cc: Leon Romanovsky <leon@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 83b4b0bb635eee2b8e075062e4e008d1bc110ed7 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:13 2015 -0700 pagemap: update documentation Notes about recent changes. [akpm@xxxxxxxxxxxxxxxxxxxx: various tweaks] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Cc: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 77bb499bb60f4b79cca7d139c8041662860fcf87 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:10 2015 -0700 pagemap: add mmap-exclusive bit for marking pages mapped only here This patch sets bit 56 in pagemap if this page is mapped only once. It allows to detect exclusively used pages without exposing PFN: present file exclusive state 0 0 0 non-present 1 1 0 file page mapped somewhere else 1 1 1 file page mapped only here 1 0 0 anon non-CoWed page (shared with parent/child) 1 0 1 anon CoWed page (or never forked) CoWed pages in (MAP_FILE | MAP_PRIVATE) areas are anon in this context. MMap-exclusive bit doesn't reflect potential page-sharing via swapcache: page could be mapped once but has several swap-ptes which point to it. Application could detect that by swap bit in pagemap entry and touch that pte via /proc/pid/mem to get real information. See http://lkml.kernel.org/r/CAEVpBa+_RyACkhODZrRvQLs80iy0sqpdrd0AaP_-tgnX3Y9yNQ@xxxxxxxxxxxxxx Requested by Mark Williamson. [akpm@xxxxxxxxxxxxxxxxxxxx: fix spello] Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Reviewed-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Tested-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c90308e7a77af6742a97d1021cca923b23b7f0d Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:07 2015 -0700 pagemap: hide physical addresses from non-privileged users This patch makes pagemap readable for normal users and hides physical addresses from them. For some use-cases PFN isn't required at all. See http://lkml.kernel.org/r/1425935472-17949-1-git-send-email-kirill@xxxxxxxxxxxxx Fixes: ab676b7d6fbf ("pagemap: do not leak physical addresses to non-privileged userspace") Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Tested-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 356515e7b64c2629f686109d426baaf868cdf7e8 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:04 2015 -0700 pagemap: rework hugetlb and thp report This patch moves pmd dissection out of reporting loop: huge pages are reported as bunch of normal pages with contiguous PFNs. Add missing "FILE" bit in hugetlb vmas. Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Tested-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit deb945441b9408d6cd15751f5232eeca9f50a5a1 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 15:00:02 2015 -0700 pagemap: switch to the new format and do some cleanup This patch removes page-shift bits (scheduled to remove since 3.11) and completes migration to the new bit layout. Also it cleans messy macro. Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Tested-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a06db751c321546e5563041956a57613259c6720 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:59 2015 -0700 pagemap: check permissions and capabilities at open time This patchset makes pagemap useable again in the safe way (after row hammer bug it was made CAP_SYS_ADMIN-only). This patchset restores access for non-privileged users but hides PFNs from them. Also it adds bit 'map-exclusive' which is set if page is mapped only here: it helps in estimation of working set without exposing pfns and allows to distinguish CoWed and non-CoWed private anonymous pages. Second patch removes page-shift bits and completes migration to the new pagemap format: flags soft-dirty and mmap-exclusive are available only in the new format. This patch (of 5): This patch moves permission checks from pagemap_read() into pagemap_open(). Pointer to mm is saved in file->private_data. This reference pins only mm_struct itself. /proc/*/mem, maps, smaps already work in the same way. See http://lkml.kernel.org/r/CA+55aFyKpWrt_Ajzh1rzp_GcwZ4=6Y=kOv8hBz172CFJp6L8Tg@xxxxxxxxxxxxxx Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Tested-by: Mark Williamson <mwilliamson@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b5e3aa0a4d5e35329203fd09acb0dbc7f7fd64de Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Tue Sep 8 14:59:56 2015 -0700 mm: remove put_page_unless_one() It has no callers. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4fcab5f437c481e51c270a2d12ef56a3f2367371 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:53 2015 -0700 mm/memblock.c: WARN_ON when flags differs from overlap region Each memblock_region has flags to indicates the type of this range. For the overlap case, memblock_add_range() inserts the lower part and leave the upper part as indicated in the overlapped region. If the flags of the new range differs from the overlapped region, the information recorded is not correct. This patch adds a WARN_ON when the flags of the new range differs from the overlapped region. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f3eb55bfad8a6dfd880559210f5b21737d69815 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:50 2015 -0700 mm/page_alloc.c: remove unused variable in free_area_init_core() Commit febd5949e134 ("mm/memory hotplug: init the zone's size when calculating node totalpages") refines the function free_area_init_core(). After doing so, these two parameters are not used anymore. This patch removes these two parameters. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 904a9553d4fcdc0c7d5621f6178f0e07598701dc Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:48 2015 -0700 mm/page_alloc.c: refine the calculation of highest possible node id nr_node_ids records the highest possible node id, which is calculated by scanning the bitmap node_states[N_POSSIBLE]. Current implementation scan the bitmap from the beginning, which will scan the whole bitmap. This patch reverses the order by scanning from the end with find_last_bit(). Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 52a2b53ffde6d6018dfc454fbde34383351fb896 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:45 2015 -0700 mm, dax: use i_mmap_unlock_write() in do_cow_fault() __dax_fault() takes i_mmap_lock for write. Let's pair it with write unlock on do_cow_fault() side. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 46c043ede4711e8d598b9d63c5616c1fedb0605e Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:42 2015 -0700 mm: take i_mmap_lock in unmap_mapping_range() for DAX DAX is not so special: we need i_mmap_lock to protect mapping->i_mmap. __dax_pmd_fault() uses unmap_mapping_range() shoot out zero page from all mappings. We need to drop i_mmap_lock there to avoid lock deadlock. Re-aquiring the lock should be fine since we check i_size after the point. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3fdd1b479dbc03347e98f904f54133a9cef5521f Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:39 2015 -0700 dax: use linear_page_index() I was basically open-coding it (thanks to copying code from do_fault() which probably also needs to be fixed). Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 73a6ec47f68787df1b41869def52915da2f4a6b7 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:37 2015 -0700 dax: ensure that zero pages are removed from other processes If the first access to a huge page was a store, there would be no existing zero pmd in this process's page tables. There could be a zero pmd in another process's page tables, if it had done a load. We can detect this case by noticing that the buffer_head returned from the filesystem is New, and ensure that other processes mapping this huge page have their page tables flushed. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Reported-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d295e3415a88ae63a37a22652808b20c7fcb970e Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:34 2015 -0700 dax: don't use set_huge_zero_page() This is another place where DAX assumed that pgtable_t was a pointer. Open code the important parts of set_huge_zero_page() in DAX and make set_huge_zero_page() static again. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da146769004e1dd5ed06853e6d009be8ca675d5f Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:31 2015 -0700 thp: fix zap_huge_pmd() for DAX The original DAX code assumed that pgtable_t was a pointer, which isn't true on all architectures. Restructure the code to not rely on that assumption. [willy@xxxxxxxxxxxxxxx: further fixes integrated into this patch] Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5b701b846aad7909d20693bcced2522d0ce8d1bc Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:28 2015 -0700 thp: decrement refcount on huge zero page if it is split The DAX code neglected to put the refcount on the huge zero page. Also we must notify on splits. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 843172978bb92997310d2f7fbc172ece423cfc02 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:25 2015 -0700 dax: fix race between simultaneous faults If two threads write-fault on the same hole at the same time, the winner of the race will return to userspace and complete their store, only to have the loser overwrite their store with zeroes. Fix this for now by taking the i_mmap_sem for write instead of read, and do so outside the call to get_block(). Now the loser of the race will see the block has already been zeroed, and will not zero it again. This severely limits our scalability. I have ideas for improving it, but those can wait for a later patch. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01a33b4ace68bc35679a347f21d5ed6e222e30dc Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:22 2015 -0700 ext4: start transaction before calling into DAX Jan Kara pointed out that in the case where we are writing to a hole, we can end up with a lock inversion between the page lock and the journal lock. We can avoid this by starting the transaction in ext4 before calling into DAX. The journal lock nests inside the superblock pagefault lock, so we have to duplicate that code from dax_fault, like XFS does. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ed923b5776a2d2e949bd5b20f3956d68f3c826b7 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:20 2015 -0700 ext4: add ext4_get_block_dax() DAX wants different semantics from any currently-existing ext4 get_block callback. Unlike ext4_get_block_write(), it needs to honour the 'create' flag, and unlike ext4_get_block(), it needs to be able to return unwritten extents. So introduce a new ext4_get_block_dax() which has those semantics. We could also change ext4_get_block_write() to honour the 'create' flag, but that might have consequences on other users that I do not currently understand. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 84c4e5e675408b6fb7d74eec7da9a4a5698b50af Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:17 2015 -0700 dax: improve comment about truncate race Jan Kara pointed out I should be more explicit here about the perils of racing against truncate. The comment is mostly the same as for the PTE case. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ae18d6dcf57b56b984ff27fd55b4e2caf5bfbd44 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:14 2015 -0700 thp: change insert_pfn's return type to void It would make more sense to have all the return values from vmf_insert_pfn_pmd() encoded in one place instead of having to follow the convention into insert_pfn(). Suggested by Jeff Moyer. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e676a4c191653787c3fe851fe3b9f1f33d49dac2 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:11 2015 -0700 ext4: use ext4_get_block_write() for DAX DAX relies on the get_block function either zeroing newly allocated blocks before they're findable by subsequent calls to get_block, or marking newly allocated blocks as unwritten. ext4_get_block() cannot create unwritten extents, but ext4_get_block_write() can. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Reported-by: Andy Rudoff <andy.rudoff@xxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd8a2b6c29a3221c19ab475c8408fc2b914ccfab Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Tue Sep 8 14:59:09 2015 -0700 fs/dax.c: fix typo in #endif comment Fix typo s/CONFIG_TRANSPARENT_HUGEPAGES/CONFIG_TRANSPARENT_HUGEPAGE/ in #endif comment introduced by commit 2b26a9206d6a ("dax: add huge page fault support"). Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit acd76e74d80f961553861d9cf49a62cbcf496d28 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:06 2015 -0700 xfs: huge page fault support Use DAX to provide support for huge pages. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 11bd1a9ecdd687b8a4b9b360b7e4b74a1a5e2bd5 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:03 2015 -0700 ext4: huge page fault support Use DAX to provide support for huge pages. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e7b1ea2ad6581b83f63246db48aa2c2c9bf2ec8d Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:59:00 2015 -0700 ext2: huge page fault support Use DAX to provide support for huge pages. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 844f35db1088dd1a9de37b53d4d823626232bd19 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:57 2015 -0700 dax: add huge page fault support This is the support code for DAX-enabled filesystems to allow them to provide huge pages in response to faults. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5cad465d7fa646bad3d677df276bfc8e2ad709e3 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:54 2015 -0700 mm: add vmf_insert_pfn_pmd() Similar to vm_insert_pfn(), but for PMDs rather than PTEs. The 'vmf_' prefix instead of 'vm_' prefix is intended to indicate that it returns a VMF_ value rather than an errno (which would only have to be converted into a VMF_ value anyway). Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fc43704437ebe40f642ac53f7ee73661fe74e6b8 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:51 2015 -0700 mm: export various functions for the benefit of DAX To use the huge zero page in DAX, we need these functions exported. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b96375f74a6d4f39fc6cbdc0bce5175115c7f96f Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:48 2015 -0700 mm: add a pmd_fault handler Allow non-anonymous VMAs to provide huge pages in response to a page fault. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4897c7655d9419ba7e62bac145ec6a1847134d93 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:45 2015 -0700 thp: prepare for DAX huge pages Add a vma_is_dax() helper macro to test whether the VMA is DAX, and use it in zap_huge_pmd() and __split_huge_page_pmd(). [akpm@xxxxxxxxxxxxxxxxxxxx: fix build] Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c414164593514f76b422faae0824bdd3754209b Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:43 2015 -0700 dax: revert userfaultfd change Undo the change which "userfaultfd: call handle_userfault() for userfaultfd_missing() faults" made to set_huge_zero_page(). DAX will need that return value. Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c94c2acf84dc16cf4b989bb0bc849785b7ff52f5 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:40 2015 -0700 dax: move DAX-related functions to a new header In order to handle the !CONFIG_TRANSPARENT_HUGEPAGES case, we need to return VM_FAULT_FALLBACK from the inlined dax_pmd_fault(), which is defined in linux/mm.h. Given that we don't want to include <linux/mm.h> in <linux/fs.h>, the easiest solution is to move the DAX-related functions to a new header, <linux/dax.h>. We could also have moved VM_FAULT_* definitions to a new header, or a different header that isn't quite such a boil-the-ocean header as <linux/mm.h>, but this felt like the best option. Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Hillf Danton <dhillf@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e1b9996b85ba3ff143ded04523cd015762d20f03 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:37 2015 -0700 thp: vma_adjust_trans_huge(): adjust file-backed VMA too This series of patches adds support for using PMD page table entries to map DAX files. We expect NV-DIMMs to start showing up that are many gigabytes in size and the memory consumption of 4kB PTEs will be astronomical. The patch series leverages much of the Transparant Huge Pages infrastructure, going so far as to borrow one of Kirill's patches from his THP page cache series. This patch (of 10): Since we're going to have huge pages in page cache, we need to call adjust file-backed VMA, which potentially can contain huge pages. For now we call it for all VMAs. Probably later we will need to introduce a flag to indicate that the VMA has huge pages. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Acked-by: Hillf Danton <dhillf@xxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ce75799b83aaf3fd592e21531a9532bed157c6b5 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 8 14:58:34 2015 -0700 mremap: fix the wrong !vma->vm_file check in copy_vma() Test-case: #define _GNU_SOURCE #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/mman.h> #include <assert.h> void *find_vdso_vaddr(void) { FILE *perl; char buf[32] = {}; perl = popen("perl -e 'open STDIN,qq|/proc/@{[getppid]}/maps|;" "/^(.*?)-.*vdso/ && print hex $1 while <>'", "r"); fread(buf, sizeof(buf), 1, perl); fclose(perl); return (void *)atol(buf); } #define PAGE_SIZE 4096 void *get_unmapped_area(void) { void *p = mmap(0, PAGE_SIZE, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1,0); assert(p != MAP_FAILED); munmap(p, PAGE_SIZE); return p; } char save[2][PAGE_SIZE]; int main(void) { void *vdso = find_vdso_vaddr(); void *page[2]; assert(vdso); memcpy(save, vdso, sizeof (save)); // force another fault on the next check assert(madvise(vdso, 2 * PAGE_SIZE, MADV_DONTNEED) == 0); page[0] = mremap(vdso, PAGE_SIZE, PAGE_SIZE, MREMAP_FIXED | MREMAP_MAYMOVE, get_unmapped_area()); page[1] = mremap(vdso + PAGE_SIZE, PAGE_SIZE, PAGE_SIZE, MREMAP_FIXED | MREMAP_MAYMOVE, get_unmapped_area()); assert(page[0] != MAP_FAILED && page[1] != MAP_FAILED); printf("match: %d %d\n", !memcmp(save[0], page[0], PAGE_SIZE), !memcmp(save[1], page[1], PAGE_SIZE)); return 0; } fails without this patch. Before the previous commit it gets the wrong page, now it segfaults (which is imho better). This is because copy_vma() wrongly assumes that if vma->vm_file == NULL is irrelevant until the first fault which will use do_anonymous_page(). This is obviously wrong for the special mapping. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a9cc3b55e9d20289cc18a65257e62c2dd4932fb Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 8 14:58:31 2015 -0700 mmap: fix the usage of ->vm_pgoff in special_mapping paths Test-case: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/mman.h> #include <assert.h> void *find_vdso_vaddr(void) { FILE *perl; char buf[32] = {}; perl = popen("perl -e 'open STDIN,qq|/proc/@{[getppid]}/maps|;" "/^(.*?)-.*vdso/ && print hex $1 while <>'", "r"); fread(buf, sizeof(buf), 1, perl); fclose(perl); return (void *)atol(buf); } #define PAGE_SIZE 4096 int main(void) { void *vdso = find_vdso_vaddr(); assert(vdso); // of course they should differ, and they do so far printf("vdso pages differ: %d\n", !!memcmp(vdso, vdso + PAGE_SIZE, PAGE_SIZE)); // split into 2 vma's assert(mprotect(vdso, PAGE_SIZE, PROT_READ) == 0); // force another fault on the next check assert(madvise(vdso, 2 * PAGE_SIZE, MADV_DONTNEED) == 0); // now they no longer differ, the 2nd vm_pgoff is wrong printf("vdso pages differ: %d\n", !!memcmp(vdso, vdso + PAGE_SIZE, PAGE_SIZE)); return 0; } Output: vdso pages differ: 1 vdso pages differ: 0 This is because split_vma() correctly updates ->vm_pgoff, but the logic in insert_vm_struct() and special_mapping_fault() is absolutely broken, so the fault at vdso + PAGE_SIZE return the 1st page. The same happens if you simply unmap the 1st page. special_mapping_fault() does: pgoff = vmf->pgoff - vma->vm_pgoff; and this is _only_ correct if vma->vm_start mmaps the first page from ->vm_private_data array. vdso or any other user of install_special_mapping() is not anonymous, it has the "backing storage" even if it is just the array of pages. So we actually need to make vm_pgoff work as an offset in this array. Note: this also allows to fix another problem: currently gdb can't access "[vvar]" memory because in this case special_mapping_fault() doesn't work. Now that we can use ->vm_pgoff we can implement ->access() and fix this. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b5330628546616af14ff23075fbf8d4ad91f6e25 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 8 14:58:28 2015 -0700 mm: introduce vma_is_anonymous(vma) helper special_mapping_fault() is absolutely broken. It seems it was always wrong, but this didn't matter until vdso/vvar started to use more than one page. And after this change vma_is_anonymous() becomes really trivial, it simply checks vm_ops == NULL. However, I do think the helper makes sense. There are a lot of ->vm_ops != NULL checks, the helper makes the caller's code more understandable (self-documented) and this is more grep-friendly. This patch (of 3): Preparation. Add the new simple helper, vma_is_anonymous(vma), and change handle_pte_fault() to use it. It will have more users. The name is not accurate, say a hpet_mmap()'ed vma is not anonymous. Perhaps it should be named vma_has_fault() instead. But it matches the logic in mmap.c/memory.c (see next changes). "True" just means that a page fault will use do_anonymous_page(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit af8713b701a74c3784ce6683f64f474a94b1b643 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:58:25 2015 -0700 selftests/userfaultfd: fix compiler warnings on 32-bit On 32-bit: userfaultfd.c: In function 'locking_thread': userfaultfd.c:152: warning: left shift count >= width of type userfaultfd.c: In function 'uffd_poll_thread': userfaultfd.c:295: warning: cast to pointer from integer of different size userfaultfd.c: In function 'uffd_read_thread': userfaultfd.c:332: warning: cast to pointer from integer of different size Fix the shift warning by splitting the shift in two parts, and the integer/pointer warnigns by adding intermediate casts to "unsigned long". Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 61e57c0c3a37539e13af03ce68598034d37c7256 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Sep 8 14:58:22 2015 -0700 cgroup: fix seq_show_option merge with legacy_name When seq_show_option (commit a068acf2ee77: "fs: create and use seq_show_option for escaping") was merged, it did not correctly collide with cgroup's addition of legacy_name (commit 3e1d2eed39d8: "cgroup: introduce cgroup_subsys->legacy_name") changes. This fixes the reported name. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 12f03ee606914317e7e6a0815e53a48205c31dae Merge: d9241b2 004f1af Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:35:59 2015 -0700 Merge tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull libnvdimm updates from Dan Williams: "This update has successfully completed a 0day-kbuild run and has appeared in a linux-next release. The changes outside of the typical drivers/nvdimm/ and drivers/acpi/nfit.[ch] paths are related to the removal of IORESOURCE_CACHEABLE, the introduction of memremap(), and the introduction of ZONE_DEVICE + devm_memremap_pages(). Summary: - Introduce ZONE_DEVICE and devm_memremap_pages() as a generic mechanism for adding device-driver-discovered memory regions to the kernel's direct map. This facility is used by the pmem driver to enable pfn_to_page() operations on the page frames returned by DAX ('direct_access' in 'struct block_device_operations'). For now, the 'memmap' allocation for these "device" pages comes from "System RAM". Support for allocating the memmap from device memory will arrive in a later kernel. - Introduce memremap() to replace usages of ioremap_cache() and ioremap_wt(). memremap() drops the __iomem annotation for these mappings to memory that do not have i/o side effects. The replacement of ioremap_cache() with memremap() is limited to the pmem driver to ease merging the api change in v4.3. Completion of the conversion is targeted for v4.4. - Similar to the usage of memcpy_to_pmem() + wmb_pmem() in the pmem driver, update the VFS DAX implementation and PMEM api to provide persistence guarantees for kernel operations on a DAX mapping. - Convert the ACPI NFIT 'BLK' driver to map the block apertures as cacheable to improve performance. - Miscellaneous updates and fixes to libnvdimm including support for issuing "address range scrub" commands, clarifying the optimal 'sector size' of pmem devices, a clarification of the usage of the ACPI '_STA' (status) property for DIMM devices, and other minor fixes" * tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (34 commits) libnvdimm, pmem: direct map legacy pmem by default libnvdimm, pmem: 'struct page' for pmem libnvdimm, pfn: 'struct page' provider infrastructure x86, pmem: clarify that ARCH_HAS_PMEM_API implies PMEM mapped WB add devm_memremap_pages mm: ZONE_DEVICE for "device memory" mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h dax: drop size parameter to ->direct_access() nd_blk: change aperture mapping from WC to WB nvdimm: change to use generic kvfree() pmem, dax: have direct_access use __pmem annotation dax: update I/O path to do proper PMEM flushing pmem: add copy_from_iter_pmem() and clear_pmem() pmem, x86: clean up conditional pmem includes pmem: remove layer when calling arch_has_wmb_pmem() pmem, x86: move x86 PMEM API to new pmem.h header libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option pmem: switch to devm_ allocations devres: add devm_memremap libnvdimm, btt: write and validate parent_uuid ... commit d9241b22b58e012f26dd2244508d9f4837402af0 Merge: 605e971 3716001 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:23:13 2015 -0700 Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull misc kbuild updates from Michal Marek: - deb-pkg: + module signing fix + dtb files are added to the package + do not require `hostname -f` to work during build + make deb-pkg generates a source package, bindeb-pkg has been added to only generate the binary package - rpm-pkg packages /lib/modules as well - new coccinelle patch and updates to existing ones - new stackusage & stackdelta script to collect and compare stack usage info (using gcc's -fstack-usage) - make tags understands trace_*_rcuidle() macros - .gitignore updates, misc cleanups * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (27 commits) deb-pkg: add source package package/Makefile: move source tar creation to a function scripts: add stackdelta script kbuild: remove *.su files generated by -fstack-usage .gitignore: add *.su pattern scripts: add stackusage script kbuild: avoid listing /lib/modules in kernel spec file fallback to hostname in scripts/package/builddeb coccinelle: api: extend spatch for dropping unnecessary owner deb-pkg: simplify directory creation scripts/tags.sh: Include trace_*_rcuidle() in tags scripts/package/Makefile: rpmbuild is needed for rpm targets Kbuild: Add ID files to .gitignore gitignore: Add MIPS vmlinux.32 to the list coccinelle: simple_return: Add a blank line coccinelle: irqf_oneshot.cocci: Improve the generated commit log coccinelle: api: add vma_pages.cocci scripts/coccinelle/misc/irqf_oneshot.cocci: Fix grammar scripts/coccinelle/misc/semicolon.cocci: Use imperative mood coccinelle: simple_open: Use imperative mood ... commit 605e9710fb5fef0dd2bb49d7b75e46601df62112 Merge: dab3c3c 78a6854 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:17:38 2015 -0700 Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kconfig updates from Michal Marek: - kconfig warns about junk characters in Kconfig files - merge_config.sh error handling - small cleanup * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: merge_config.sh: exit on missing input files kconfig: Regenerate shipped zconf.{hash,lex}.c files kconfig: warn of unhandled characters in Kconfig commands kconfig: Delete unnecessary checks before the function call "sym_calc_value" commit dab3c3cc4f44273ccf2d7ff57c0a4f5bd45c0528 Merge: 59a47ff 5631d9c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:12:19 2015 -0700 Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull core kbuild updates from Michal Marek: - modpost portability fix - linker script fix - genksyms segfault fix - fixdep cleanup - fix for clang detection * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: kbuild: Fix clang detection kbuild: fixdep: drop meaningless hash table initialization kbuild: fixdep: optimize code slightly genksyms: Regenerate parser genksyms: Duplicate function pointer type definitions segfault kbuild: Fix .text.unlikely placement Avoid conflict with host definitions when cross-compiling commit 59a47fff0217592e248556a7ab436d5c17365962 Merge: 425afcf b7dc42f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 14:04:14 2015 -0700 Merge tag 'trace-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing update from Steven Rostedt: "Mostly this is just clean ups and micro optimizations. The changes with more meat are: - Allowing the trace event filters to filter on CPU number and process ids - Two new markers for trace output latency were added (10 and 100 msec latencies) - Have tracing_thresh filter function profiling time I also worked on modifying the ring buffer code for some future work, and moved the adding of the timestamp around. One of my changes caused a regression, and since other changes were built on top of it and already tested, I had to operate a revert of that change. Instead of rebasing, this change set has the code that caused a regression as well as the code to revert that change without touching the other changes that were made on top of it" * tag 'trace-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: ring-buffer: Revert "ring-buffer: Get timestamp after event is allocated" tracing: Don't make assumptions about length of string on task rename tracing: Allow triggers to filter for CPU ids and process names ftrace: Format MCOUNT_ADDR address as type unsigned long tracing: Introduce two additional marks for delay ftrace: Fix function_graph duration spacing with 7-digits ftrace: add tracing_thresh to function profile tracing: Clean up stack tracing and fix fentry updates ring-buffer: Reorganize function locations ring-buffer: Make sure event has enough room for extend and padding ring-buffer: Get timestamp after event is allocated ring-buffer: Move the adding of the extended timestamp out of line ring-buffer: Add event descriptor to simplify passing data ftrace: correct the counter increment for trace_buffer data tracing: Fix for non-continuous cpu ids tracing: Prefer kcalloc over kzalloc with multiply commit 5b902d6f97f573fde911338e5d943e6b07fac7f9 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Thu Sep 3 23:59:50 2015 +0100 device property: Don't overwrite addr when failing in device_get_mac_address The function device_get_mac_address is trying different property names in order to get the mac address. To check the return value, the variable addr (which contain the buffer pass by the caller) will be re-used. This means that if the previous property is not found, the next property will be read using a NULL buffer. Therefore it's only possible to retrieve the mac if node contains a property "mac-address". Fix it by using a temporary buffer for the return value. This has been introduced by commit 4c96b7dc0d393f12c17e0d81db15aa4a820a6ab3 "Add a matching set of device_ functions for determining mac/phy" Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Cc: Jeremy Linton <jeremy.linton@xxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 425afcff13a4bea2a3cf6f395cbc66fc158852be Merge: b793c00 15ce414 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 13:34:59 2015 -0700 Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit Pull audit update from Paul Moore: "This is one of the larger audit patchsets in recent history, consisting of eight patches and almost 400 lines of changes. The bulk of the patchset is the new "audit by executable" functionality which allows admins to set an audit watch based on the executable on disk. Prior to this, admins could only track an application by PID, which has some obvious limitations. Beyond the new functionality we also have some refcnt fixes and a few minor cleanups" * 'upstream' of git://git.infradead.org/users/pcmoore/audit: fixup: audit: implement audit by executable audit: implement audit by executable audit: clean simple fsnotify implementation audit: use macros for unset inode and device values audit: make audit_del_rule() more robust audit: fix uninitialized variable in audit_add_rule() audit: eliminate unnecessary extra layer of watch parent references audit: eliminate unnecessary extra layer of watch references commit fcb0bb6aab256288a4e0a8650d26e4096ec30319 Author: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Date: Tue Sep 1 17:05:33 2015 +0300 usbnet: Fix a race between usbnet_stop() and the BH The race may happen when a device (e.g. YOTA 4G LTE Modem) is unplugged while the system is downloading a large file from the Net. Hardware breakpoints and Kprobes with delays were used to confirm that the race does actually happen. The race is on skb_queue ('next' pointer) between usbnet_stop() and rx_complete(), which, in turn, calls usbnet_bh(). Here is a part of the call stack with the code where the changes to the queue happen. The line numbers are for the kernel 4.1.0: *0 __skb_unlink (skbuff.h:1517) prev->next = next; *1 defer_bh (usbnet.c:430) spin_lock_irqsave(&list->lock, flags); old_state = entry->state; entry->state = state; __skb_unlink(skb, list); spin_unlock(&list->lock); spin_lock(&dev->done.lock); __skb_queue_tail(&dev->done, skb); if (dev->done.qlen == 1) tasklet_schedule(&dev->bh); spin_unlock_irqrestore(&dev->done.lock, flags); *2 rx_complete (usbnet.c:640) state = defer_bh(dev, skb, &dev->rxq, state); At the same time, the following code repeatedly checks if the queue is empty and reads these values concurrently with the above changes: *0 usbnet_terminate_urbs (usbnet.c:765) /* maybe wait for deletions to finish. */ while (!skb_queue_empty(&dev->rxq) && !skb_queue_empty(&dev->txq) && !skb_queue_empty(&dev->done)) { schedule_timeout(msecs_to_jiffies(UNLINK_TIMEOUT_MS)); set_current_state(TASK_UNINTERRUPTIBLE); netif_dbg(dev, ifdown, dev->net, "waited for %d urb completions\n", temp); } *1 usbnet_stop (usbnet.c:806) if (!(info->flags & FLAG_AVOID_UNLINK_URBS)) usbnet_terminate_urbs(dev); As a result, it is possible, for example, that the skb is removed from dev->rxq by __skb_unlink() before the check "!skb_queue_empty(&dev->rxq)" in usbnet_terminate_urbs() is made. It is also possible in this case that the skb is added to dev->done queue after "!skb_queue_empty(&dev->done)" is checked. So usbnet_terminate_urbs() may stop waiting and return while dev->done queue still has an item. Locking in defer_bh() and usbnet_terminate_urbs() was revisited to avoid this race. Signed-off-by: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Reviewed-by: Bjørn Mork <bjorn@xxxxxxx> Acked-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b9558aab853e98ba6e3fee0dd8545544966958c Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Sep 1 17:19:38 2015 +0800 libceph: use keepalive2 to verify the mon session is alive Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit d194cd1dd1be61249b08e5461ae8a9c05d1072c9 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Aug 31 18:22:10 2015 +0300 rbd: plug rbd_dev->header.object_prefix memory leak Need to free object_prefix when rbd_dev_v2_snap_context() fails, but only if this is the first time we are reading in the header. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 3ebe138ac642a195c7f2efdb918f464734421fd6 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Aug 31 15:21:39 2015 +0300 rbd: fix double free on rbd_dev->header_name If rbd_dev_image_probe() in rbd_dev_probe_parent() fails, header_name is freed twice: once in rbd_dev_probe_parent() and then in its caller rbd_dev_image_probe() (rbd_dev_image_probe() is called recursively to handle parent images). rbd_dev_probe_parent() is responsible for probing the parent, so it shouldn't muck with clone's fields. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 6dd74e44dc1df85f125982a8d6591bc4a76c9f5d Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Fri Aug 28 17:59:35 2015 +0800 libceph: set 'exists' flag for newly up osd Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 5fdb1389e1399d6801a8c5d10952ef4153039fb2 Author: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Date: Tue Aug 18 10:30:38 2015 +0800 ceph: cleanup use of ceph_msg_get Signed-off-by: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit e36d571d70c7f46b20c28d81025fd5fc044a8e22 Author: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Date: Tue Aug 18 10:25:35 2015 +0800 ceph: no need to get parent inode in ceph_open parent inode is needed in creating new inode case. For ceph_open, the target inode already exists. Signed-off-by: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit a43137f7b0f1467cf3005b6ff6574d978642d247 Author: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Date: Tue Aug 18 10:23:50 2015 +0800 ceph: remove the useless judgement err != 0 is already handled. So skip this. Signed-off-by: Jianpeng Ma <jianpeng.ma@xxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 1550d34e5626a20a2e12c73bdc1e6e217a0ba897 Author: Brad Hubbard <bhubbard@xxxxxxxxxx> Date: Tue Aug 18 10:18:53 2015 +0800 ceph: remove redundant test of head->safe and silence static analysis warnings Signed-off-by: Brad Hubbard <bhubbard@xxxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 23078637e05460428f803be7d0f46908df8a970a Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Jul 20 10:14:06 2015 +0800 ceph: fix queuing inode to mdsdir's snaprealm During MDS failovers, MClientSnap message may cause kclient to move some inodes from root directory's snaprealm to mdsdir's snaprealm and queue snapshots for these inodes. For a FS has never created any snapshot, both root directory's snaprealm and mdsdir's snaprealm share the same snapshot contexts (both are ceph_empty_snapc). This confuses ceph_put_wrbuffer_cap_refs(), make it unable to distinguish snapshot buffers from head buffers. The fix is do not use ceph_empty_snapc as snaprealm's cached context. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 6893162215d7bf08a4273247ec1fc7dedee5135c Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Fri Jul 3 15:44:41 2015 +0300 libceph: rename con_work() to ceph_con_workfn() Even though it's static, con_work(), being a work func, shows up in various stacktraces a lot. Prefix it with ceph_. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit d920ff6fc7c1ec3d7bd80432bff5575c0ebe426c Author: Benoît Canet <benoit.canet@xxxxxxxxxxxx> Date: Thu Jun 25 21:02:57 2015 +0200 libceph: Avoid holding the zero page on ceph_msgr_slab_init errors ceph_msgr_slab_init may fail due to a temporary ENOMEM. Delay a bit the initialization of zero_page in ceph_msgr_init and reorder its cleanup in _ceph_msgr_exit so it's done in reverse order of setup. BUG_ON() will not suffer to be postponed in case it is triggered. Signed-off-by: Benoît Canet <benoit.canet@xxxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit b79b23682a1649f30960fb5bd920ba46c89a1b14 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Sun Jul 5 06:34:05 2015 +0000 libceph: remove the unused macro AES_KEY_SIZE This removes the no longer used macro AES_KEY_SIZE as no functions use this macro anymore and thus this macro can be removed due it no longer being required. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit a341d4df87487ae68189e0be869c39a2b0cb9aaa Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Jul 1 17:03:23 2015 +0800 ceph: invalidate dirty pages after forced umount After forced umount, ceph_writepages_start() skips flushing dirty pages. To make sure inode's reference count get dropped to zero, we need to invalidate dirty pages. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 48fec5d0a504dfbb302cb1dd24ebb0b82a46cce9 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Jul 1 16:27:46 2015 +0800 ceph: EIO all operations after forced umount This patch makes try_get_cap_refs() and __do_request() check if the file system was forced umount, and return -EIO if it was. This patch also adds a helper function to drops dirty caps and wakes up blocking operation. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit b793c005ceabf6db0b17494b0ec67ade6796bb34 Merge: 6f0a2fc 07f081f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 12:41:25 2015 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull security subsystem updates from James Morris: "Highlights: - PKCS#7 support added to support signed kexec, also utilized for module signing. See comments in 3f1e1bea. ** NOTE: this requires linking against the OpenSSL library, which must be installed, e.g. the openssl-devel on Fedora ** - Smack - add IPv6 host labeling; ignore labels on kernel threads - support smack labeling mounts which use binary mount data - SELinux: - add ioctl whitelisting (see http://kernsec.org/files/lss2015/vanderstoep.pdf) - fix mprotect PROT_EXEC regression caused by mm change - Seccomp: - add ptrace options for suspend/resume" * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (57 commits) PKCS#7: Add OIDs for sha224, sha284 and sha512 hash algos and use them Documentation/Changes: Now need OpenSSL devel packages for module signing scripts: add extract-cert and sign-file to .gitignore modsign: Handle signing key in source tree modsign: Use if_changed rule for extracting cert from module signing key Move certificate handling to its own directory sign-file: Fix warning about BIO_reset() return value PKCS#7: Add MODULE_LICENSE() to test module Smack - Fix build error with bringup unconfigured sign-file: Document dependency on OpenSSL devel libraries PKCS#7: Appropriately restrict authenticated attributes and content type KEYS: Add a name for PKEY_ID_PKCS7 PKCS#7: Improve and export the X.509 ASN.1 time object decoder modsign: Use extract-cert to process CONFIG_SYSTEM_TRUSTED_KEYS extract-cert: Cope with multiple X.509 certificates in a single file sign-file: Generate CMS message as signature instead of PKCS#7 PKCS#7: Support CMS messages also [RFC5652] X.509: Change recorded SKID & AKID to not include Subject or Issuer PKCS#7: Check content type and versions MAINTAINERS: The keyrings mailing list has moved ... commit 6f0a2fc1feb19bd142961a39dc118e7e55418b3f Merge: 752240e 96f0e00 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 12:28:10 2015 -0700 Merge branch 'nmi' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull NMI backtrace update from Russell King: "These changes convert the x86 NMI handling to be a library implementation which other architectures can make use of. Thomas Gleixner has reviewed and tested these changes, and wishes me to send these rather than taking them through the tip tree. The final patch in the set adds an initial implementation using this infrastructure to ARM, even though it doesn't send the IPI at "NMI" level. Patches are in progress to add the ARM equivalent of NMI, but we still need the IRQ-level fallback for systems where the "NMI" isn't available due to secure firmware denying access to it" * 'nmi' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: add basic support for on-demand backtrace of other CPUs nmi: x86: convert to generic nmi handler nmi: create generic NMI backtrace implementation commit 752240e74d650faa24425adc523f1308973ea51c Merge: b8cb642 626d750 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 11:46:48 2015 -0700 Merge tag 'for-linus-4.3-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen updates from David Vrabel: "Xen features and fixes for 4.3: - Convert xen-blkfront to the multiqueue API - [arm] Support binding event channels to different VCPUs. - [x86] Support > 512 GiB in a PV guests (off by default as such a guest cannot be migrated with the current toolstack). - [x86] PMU support for PV dom0 (limited support for using perf with Xen and other guests)" * tag 'for-linus-4.3-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (33 commits) xen: switch extra memory accounting to use pfns xen: limit memory to architectural maximum xen: avoid another early crash of memory limited dom0 xen: avoid early crash of memory limited dom0 arm/xen: Remove helpers which are PV specific xen/x86: Don't try to set PCE bit in CR4 xen/PMU: PMU emulation code xen/PMU: Intercept PMU-related MSR and APIC accesses xen/PMU: Describe vendor-specific PMU registers xen/PMU: Initialization code for Xen PMU xen/PMU: Sysfs interface for setting Xen PMU mode xen: xensyms support xen: remove no longer needed p2m.h xen: allow more than 512 GB of RAM for 64 bit pv-domains xen: move p2m list if conflicting with e820 map xen: add explicit memblock_reserve() calls for special pages mm: provide early_memremap_ro to establish read-only mapping xen: check for initrd conflicting with e820 map xen: check pre-allocated page tables for conflict with memory map xen: check for kernel memory conflicting with memory layout ... commit b8cb642af98216fe6eeca1525345b8a5c9d7c9a4 Merge: 1c8cc72 4a6ac30 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 11:36:56 2015 -0700 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull more irq updates from Thomas Gleixner: "The second part of irq related updates: - Provide EOImode for GIC[V3] irq chips, which is a prerequisite for direct interrupt handling in [KVM] guests" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip/GIC: Fix EOImode setting for non-DT/ACPI systems irqchip/GIC: Don't deactivate interrupts forwarded to a guest irqchip/GIC: Convert to EOImode == 1 irqchip/GICv3: Don't deactivate interrupts forwarded to a guest irqchip/GICv3: Convert to EOImode == 1 commit 1c8cc72d57f321bfccadf4f7b38b94ba287928bc Merge: b9ffce9 50e48bd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 11:31:33 2015 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu Pull m68k/colfire fixes from Greg Ungerer: "Only a couple of patches this time. One migrating the clock driver code to the new set-state interface. The other cleaning up to use the PFN_DOWN macro" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k/coldfire: use PFN_DOWN macro m68k/coldfire/pit: Migrate to new 'set-state' interface commit b9ffce9ae14fa6068a7c8c3ce2350ee3a8c1787b Merge: 0c8e2f2 0dad87f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 11:26:17 2015 -0700 Merge tag 'ecryptfs-4.3-rc1-stale-dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs Pull ecryptfs fixes from Tyler Hicks: "Invalidate stale eCryptfs dcache entries caused by unlinked lower inodes" * tag 'ecryptfs-4.3-rc1-stale-dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs: eCryptfs: Delete a check before the function call "key_put" eCryptfs: Invalidate dcache entries when lower i_nlink is zero commit 0c8e2f2c7b86c29775379f716f7db07516fcbcbf Merge: 49df2e3 71c6da8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 8 11:20:39 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fix from Herbert Xu: "This fixes a memory corruption bug in ghash-clmulni-intel due to insufficient memory allocation" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: ghash-clmulni: specify context size for ghash async algorithm commit 49df2e3e902e1c3caf998f97a92512424936199d Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Wed Jul 29 18:53:17 2015 +0200 userfaultfd: selftest: update userfaultfd x86 32bit syscall number It changed as result of other syscalls, and while the system call list itself was correctly updated, the selftest program was not. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5f51042f876b88a3b81a135cc4ca0adb3d246112 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:42 2015 +0100 xen/xenbus: Rename the variable xen_store_mfn to xen_store_gfn The variable xen_store_mfn is effectively storing a GFN and not an MFN. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a13d7201d7deedcbb6ac6efa94a1a7d34d3d79ec Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:41 2015 +0100 xen/privcmd: Further s/MFN/GFN/ clean-up The privcmd code is mixing the usage of GFN and MFN within the same functions which make the code difficult to understand when you only work with auto-translated guests. The privcmd driver is only dealing with GFN so replace all the mention of MFN into GFN. The ioctl structure used to map foreign change has been left unchanged given that the userspace is using it. Nonetheless, add a comment to explain the expected value within the "mfn" field. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 859e3267c515d0cc7cc11528e80a2b7f3edc3bd9 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:40 2015 +0100 hvc/xen: Further s/MFN/GFN clean-up HVM_PARAM_CONSOLE_PFN is used to retrieved the console PFN for HVM guest. It returns a PFN (aka GFN) and not a MFN. Furthermore, use directly virt_to_gfn for both PV and HVM domain rather than doing a special case for each of the them. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 0467533a7a5da08a881a31120d95cd159e54640b Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:39 2015 +0100 video/xen-fbfront: Further s/MFN/GFN clean-up The PV driver xen-fbfront is only dealing with GFN and not MFN. Rename all the occurence of MFN to GFN. Also take the opportunity to replace to usage of pfn_to_gfn by xen_page_to_gfn. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a76e3cc32d872acd5104278d21d2084da07c16a8 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:38 2015 +0100 xen/tmem: Use xen_page_to_gfn rather than pfn_to_gfn All the caller of xen_tmem_{get,put}_page have a struct page * in hand and call pfn_to_gfn for the only benefits of these 2 functions. Rather than passing the pfn in parameter, pass directly the page and use directly xen_page_to_gfn. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 0df4f266b3af90442bbeb5e685a84a80745beba0 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:37 2015 +0100 xen: Use correctly the Xen memory terminologies Based on include/xen/mm.h [1], Linux is mistakenly using MFN when GFN is meant, I suspect this is because the first support for Xen was for PV. This resulted in some misimplementation of helpers on ARM and confused developers about the expected behavior. For instance, with pfn_to_mfn, we expect to get an MFN based on the name. Although, if we look at the implementation on x86, it's returning a GFN. For clarity and avoid new confusion, replace any reference to mfn with gfn in any helpers used by PV drivers. The x86 code will still keep some reference of pfn_to_mfn which may be used by all kind of guests No changes as been made in the hypercall field, even though they may be invalid, in order to keep the same as the defintion in xen repo. Note that page_to_mfn has been renamed to xen_page_to_gfn to avoid a name to close to the KVM function gfn_to_page. Take also the opportunity to simplify simple construction such as pfn_to_mfn(page_to_pfn(page)) into xen_page_to_gfn. More complex clean up will come in follow-up patches. [1] http://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=e758ed14f390342513405dd766e874934573e6cb Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5192b35de47e47a0f736fe30da199f32030680e7 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:36 2015 +0100 arm/xen: implement correctly pfn_to_mfn After the commit introducing convertion between DMA and guest addresses, all the callers of pfn_to_mfn are expecting to get a GFN (Guest Frame Number). On ARM, all the guests are auto-translated so the GFN is equal to the Linux PFN (Pseudo-physical Frame Number). The current implementation may return an MFN if the caller is passing a PFN associated to a mapped foreign grant. In pratice, I haven't seen the problem on running guest but we should fix it for the sake of correctness. Correct the implementation by always returning the pfn passed in parameter. A follow-up patch will take care to rename pfn_to_mfn to a suitable name. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 32e09870eedfb501a6cb5729d8c23f44f8a7cbdd Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:35 2015 +0100 xen: Make clear that swiotlb and biomerge are dealing with DMA address The swiotlb is required when programming a DMA address on ARM when a device is not protected by an IOMMU. In this case, the DMA address should always be equal to the machine address. For DOM0 memory, Xen ensure it by have an identity mapping between the guest address and host address. However, when mapping a foreign grant reference, the 1:1 model doesn't work. For ARM guest, most of the callers of pfn_to_mfn expects to get a GFN (Guest Frame Number), i.e a PFN (Page Frame Number) from the Linux point of view given that all ARM guest are auto-translated. Even though the name pfn_to_mfn is misleading, we need to ensure that those caller get a GFN and not by mistake a MFN. In pratical, I haven't seen error related to this but we should fix it for the sake of correctness. In order to fix the implementation of pfn_to_mfn on ARM in a follow-up patch, we have to introduce new helpers to return the DMA from a PFN and the invert. On x86, the new helpers will be an alias of pfn_to_mfn and mfn_to_pfn. The helpers will be used in swiotlb and xen_biovec_phys_mergeable. This is necessary in the latter because we have to ensure that the biovec code will not try to merge a biovec using foreign page and another using Linux memory. Lastly, the helper mfn_to_local_pfn has been renamed to bfn_to_local_pfn given that the only usage was in swiotlb. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 6dc0dcde406bb0e40ad6a6f45f44534d3a094205 Author: Helge Deller <deller@xxxxxx> Date: Tue Sep 8 17:50:03 2015 +0200 parisc: Use platform_device_register_simple("rtc-generic") Signed-off-by: Helge Deller <deller@xxxxxx> commit 72581cecee411be2b2c00226c98e0c20aab337a2 Author: Helge Deller <deller@xxxxxx> Date: Tue Sep 8 17:49:31 2015 +0200 parisc: Drop CONFIG_SMP around update_cr16_clocksource() No need to use CONFIG_SMP around update_cr16_clocksource(). It checks for num_online_cpus() beeing greater than 1, which is always 1 in UP builds. Signed-off-by: Helge Deller <deller@xxxxxx> commit 626d7508664c4bc8e67f496da4387ecd0c410b8c Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Sep 4 14:05:51 2015 +0200 xen: switch extra memory accounting to use pfns Instead of using physical addresses for accounting of extra memory areas available for ballooning switch to pfns as this is much less error prone regarding partial pages. Reported-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Tested-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit cb9e444b5aaa900bb4310da411315b6947c53e37 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Sep 4 14:18:08 2015 +0200 xen: limit memory to architectural maximum When a pv-domain (including dom0) is started it tries to size it's p2m list according to the maximum possible memory amount it ever can achieve. Limit the initial maximum memory size to the architectural limit of the hardware in order to avoid overflows during remapping of memory. This problem will occur when dom0 is started with an initial memory size being a multiple of 1GB, but without specifying it's maximum memory size. The kernel must be configured without CONFIG_XEN_BALLOON_MEMORY_HOTPLUG for the problem to happen. Reported-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Tested-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit ab24507cfae8d916814bb6c16f66e453184a29a5 Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Aug 19 18:53:11 2015 +0200 xen: avoid another early crash of memory limited dom0 Commit b1c9f169047b ("xen: split counting of extra memory pages...") introduced an error when dom0 was started with limited memory occurring only on some hardware. The problem arises in case dom0 is started with initial memory and maximum memory being the same. The kernel must be configured without CONFIG_XEN_BALLOON_MEMORY_HOTPLUG for the problem to happen. If all of this is true and the E820 map of the machine is sparse (some areas are not covered) then the machine might crash early in the boot process. An example E820 map triggering the problem looks like this: [ 0.000000] e820: BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] usable [ 0.000000] BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000cf7fafff] usable [ 0.000000] BIOS-e820: [mem 0x00000000cf7fb000-0x00000000cf95ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cf960000-0x00000000cfb62fff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfb63000-0x00000000cfd14fff] usable [ 0.000000] BIOS-e820: [mem 0x00000000cfd15000-0x00000000cfd61fff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfd62000-0x00000000cfd6cfff] ACPI data [ 0.000000] BIOS-e820: [mem 0x00000000cfd6d000-0x00000000cfd6ffff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfd70000-0x00000000cfd70fff] usable [ 0.000000] BIOS-e820: [mem 0x00000000cfd71000-0x00000000cfea8fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cfea9000-0x00000000cfeb9fff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfeba000-0x00000000cfecafff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cfecb000-0x00000000cfecbfff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfecc000-0x00000000cfedbfff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cfedc000-0x00000000cfedcfff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfedd000-0x00000000cfeddfff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cfede000-0x00000000cfee3fff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000cfee4000-0x00000000cfef6fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000cfef7000-0x00000000cfefffff] usable [ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fec10000-0x00000000fec10fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed00fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed40000-0x00000000fed44fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed61000-0x00000000fed70fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed80000-0x00000000fed8ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000100001000-0x000000020effffff] usable In this case the area a0000-dffff isn't present in the map. This will confuse the memory setup of the domain when remapping the memory from such holes to populated areas. To avoid the problem the accounting of to be remapped memory has to count such holes in the E820 map as well. Reported-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit eafd72e016c69df511b14a98b61e439c58ad9c51 Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Aug 19 18:52:34 2015 +0200 xen: avoid early crash of memory limited dom0 Commit b1c9f169047b ("xen: split counting of extra memory pages...") introduced an error when dom0 was started with limited memory. The problem arises in case dom0 is started with initial memory and maximum memory being the same and exactly a multiple of 1 GB. The kernel must be configured without CONFIG_XEN_BALLOON_MEMORY_HOTPLUG for the problem to happen. In this case it will crash very early during boot due to the virtual mapped p2m list not being large enough to be able to remap any memory: (XEN) Freed 304kB init memory. mapping kernel into physical memory about to get started... (XEN) traps.c:459:d0v0 Unhandled invalid opcode fault/trap [#6] on VCPU 0 [ec=0000] (XEN) domain_crash_sync called from entry.S: fault at ffff82d080229a93 create_bounce_frame+0x12b/0x13a (XEN) Domain 0 (vcpu#0) crashed on cpu#0: (XEN) ----[ Xen-4.5.2-pre x86_64 debug=n Not tainted ]---- (XEN) CPU: 0 (XEN) RIP: e033:[<ffffffff81d120cb>] (XEN) RFLAGS: 0000000000000206 EM: 1 CONTEXT: pv guest (d0v0) (XEN) rax: ffffffff81db2000 rbx: 000000004d000000 rcx: 0000000000000000 (XEN) rdx: 000000004d000000 rsi: 0000000000063000 rdi: 000000004d063000 (XEN) rbp: ffffffff81c03d78 rsp: ffffffff81c03d28 r8: 0000000000023000 (XEN) r9: 00000001040ff000 r10: 0000000000007ff0 r11: 0000000000000000 (XEN) r12: 0000000000063000 r13: 000000000004d000 r14: 0000000000000063 (XEN) r15: 0000000000000063 cr0: 0000000080050033 cr4: 00000000000006f0 (XEN) cr3: 0000000105c0f000 cr2: ffffc90000268000 (XEN) ds: 0000 es: 0000 fs: 0000 gs: 0000 ss: e02b cs: e033 (XEN) Guest stack trace from rsp=ffffffff81c03d28: (XEN) 0000000000000000 0000000000000000 ffffffff81d120cb 000000010000e030 (XEN) 0000000000010006 ffffffff81c03d68 000000000000e02b ffffffffffffffff (XEN) 0000000000000063 000000000004d063 ffffffff81c03de8 ffffffff81d130a7 (XEN) ffffffff81c03de8 000000000004d000 00000001040ff000 0000000000105db1 (XEN) 00000001040ff001 000000000004d062 ffff8800092d6ff8 0000000002027000 (XEN) ffff8800094d8340 ffff8800092d6ff8 00003ffffffff000 ffff8800092d7ff8 (XEN) ffffffff81c03e48 ffffffff81d13c43 ffff8800094d8000 ffff8800094d9000 (XEN) 0000000000000000 ffff8800092d6000 00000000092d6000 000000004cfbf000 (XEN) 00000000092d6000 00000000052d5442 0000000000000000 0000000000000000 (XEN) ffffffff81c03ed8 ffffffff81d185c1 0000000000000000 0000000000000000 (XEN) ffffffff81c03e78 ffffffff810f8ca4 ffffffff81c03ed8 ffffffff8171a15d (XEN) 0000000000000010 ffffffff81c03ee8 0000000000000000 0000000000000000 (XEN) ffffffff81f0e402 ffffffffffffffff ffffffff81dae900 0000000000000000 (XEN) 0000000000000000 0000000000000000 ffffffff81c03f28 ffffffff81d0cf0f (XEN) 0000000000000000 0000000000000000 0000000000000000 ffffffff81db82e0 (XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000 (XEN) ffffffff81c03f38 ffffffff81d0c603 ffffffff81c03ff8 ffffffff81d11c86 (XEN) 0300000100000032 0000000000000005 0000000000000020 0000000000000000 (XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000 (XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000 (XEN) Domain 0 crashed: rebooting machine in 5 seconds. This can be avoided by allocating aneough space for the p2m to cover the maximum memory of dom0 plus the identity mapped holes required for PCI space, BIOS etc. Reported-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 1b59ddfcf1678de38a1f8ca9fb8ea5eebeff1843 Author: John David Anglin <dave.anglin@xxxxxxxx> Date: Mon Sep 7 20:13:28 2015 -0400 parisc: Use double word condition in 64bit CAS operation The attached change fixes the condition used in the "sub" instruction. A double word comparison is needed. This fixes the 64-bit LWS CAS operation on 64-bit kernels. I can now enable 64-bit atomic support in GCC. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: John David Anglin <dave.anglin> Signed-off-by: Helge Deller <deller@xxxxxx> commit b1b4e435e4ef7de77f07bf2a42c8380b960c2d44 Author: Helge Deller <deller@xxxxxx> Date: Thu Sep 3 22:45:21 2015 +0200 parisc: Filter out spurious interrupts in PA-RISC irq handler When detecting a serial port on newer PA-RISC machines (with iosapic) we have a long way to go to find the right IRQ line, registering it, then registering the serial port and the irq handler for the serial port. During this phase spurious interrupts for the serial port may happen which then crashes the kernel because the action handler might not have been set up yet. So, basically it's a race condition between the serial port hardware and the CPU which sets up the necessary fields in the irq sructs. The main reason for this race is, that we unmask the serial port irqs too early without having set up everything properly before (which isn't easily possible because we need the IRQ number to register the serial ports). This patch is a work-around for this problem. It adds checks to the CPU irq handler to verify if the IRQ action field has been initialized already. If not, we just skip this interrupt (which isn't critical for a serial port at bootup). The real fix would probably involve rewriting all PA-RISC specific IRQ code (for CPU, IOSAPIC, GSC and EISA) to use IRQ domains with proper parenting of the irq chips and proper irq enabling along this line. This bug has been in the PA-RISC port since the beginning, but the crashes happened very rarely with currently used hardware. But on the latest machine which I bought (a C8000 workstation), which uses the fastest CPUs (4 x PA8900, 1GHz) and which has the largest possible L1 cache size (64MB each), the kernel crashed at every boot because of this race. So, without this patch the machine would currently be unuseable. For the record, here is the flow logic: 1. serial_init_chip() in 8250_gsc.c calls iosapic_serial_irq(). 2. iosapic_serial_irq() calls txn_alloc_irq() to find the irq. 3. iosapic_serial_irq() calls cpu_claim_irq() to register the CPU irq 4. cpu_claim_irq() unmasks the CPU irq (which it shouldn't!) 5. serial_init_chip() then registers the 8250 port. Problems: - In step 4 the CPU irq shouldn't have been registered yet, but after step 5 - If serial irq happens between 4 and 5 have finished, the kernel will crash Signed-off-by: Helge Deller <deller@xxxxxx> commit 699817c3df46eb209044d8c9eb20c6ff6c67c81d Author: Helge Deller <deller@xxxxxx> Date: Wed Sep 2 18:18:48 2015 +0200 parisc: Additionally check for in_atomic() in page fault handler Craig Estey noticed that we didn't checked for in_atomic() in our page fault handler like other architectures. This commit adds this check by using faulthandler_disabled() which includes a check for pagefault_disabled() and in_atomic(). Reported-by: Craig Estey <cae370@xxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit e02a653e15d8d32e9e768fd99a3271aafe5c5d77 Author: Helge Deller <deller@xxxxxx> Date: Wed Sep 2 18:17:29 2015 +0200 PCI,parisc: Enable 64-bit bus addresses on PA-RISC Commit 3a9ad0b ("PCI: Add pci_bus_addr_t") unconditionally introduced usage of 64-bit PCI bus addresses on all 64-bit platforms which broke PA-RISC. It turned out that due to enabling the 64-bit addresses, the PCI logic decided to use the GMMIO instead of the LMMIO region. This commit simply disables registering the GMMIO and thus we fall back to use the LMMIO region as before. Reverts commit 45ea2a5fed6dacb9bb0558d8b21eacc1c45d5bb4 ("PCI: Don't use 64-bit bus addresses on PA-RISC") To: linux-parisc@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Meelis Roos <mroos@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.19+ Signed-off-by: Helge Deller <deller@xxxxxx> commit 38d9029a652cb2925a97a8484f6e8f2c85fd55bb Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Jul 31 19:34:46 2015 -0700 parisc: Define ioremap_uc and ioremap_wc Commit 3cc2dac5be3f ("drivers/video/fbdev/atyfb: Replace MTRR UC hole with strong UC") introduces calls to ioremap_wc and ioremap_uc. This causes build failures with parisc:allmodconfig. Map the missing functions to ioremap_nocache. Fixes: 3cc2dac5be3f ("drivers/video/fbdev/atyfb: Replace MTRR UC hole with strong UC") Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit e85376cbd23299e4d40bace0cb5ab867b270fdbd Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 13:13:31 2015 +0200 drm/i915: Fix broken mst get_hw_state. connector->encoder is initialized as NULL. Fix this by setting it in during pre enable. MST connectors are not read out during initial hw readout, and have no fixed encoder mappings. So it's harmless to return false when the connector has never been assigned to an encoder. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 997e120843e82609c8d99a9d5714e6cf91e14cbe Author: Denis V. Lunev <den@xxxxxxxxxx> Date: Thu Aug 20 00:49:49 2015 +0300 virtio_balloon: do not change memory amount visible via /proc/meminfo Balloon device is frequently used as a mean of cooperative memory control in between guest and host to manage memory overcommitment. This is the typical case for any hosting workload when KVM guest is provided for end-user. Though there is a problem in this setup. The end-user and hosting provider have signed SLA agreement in which some amount of memory is guaranted for the guest. The good thing is that this memory will be given to the guest when the guest will really need it (f.e. with OOM in guest and with VIRTIO_BALLOON_F_DEFLATE_ON_OOM configuration flag set). The bad thing is that end-user does not know this. Balloon by default reduce the amount of memory exposed to the end-user each time when the page is stolen from guest or returned back by using adjust_managed_page_count and thus /proc/meminfo shows reduced amount of memory. Fortunately the solution is simple, we should just avoid to call adjust_managed_page_count with VIRTIO_BALLOON_F_DEFLATE_ON_OOM set. Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit b4d34037329f46ed818d3b0a6e1e23b9c8721f79 Author: Denis V. Lunev <den@xxxxxxxxxx> Date: Thu Aug 20 00:49:48 2015 +0300 virtio_ballon: change stub of release_pages_by_pfn and rename it to release_pages_balloon. The function originally takes arrays of pfns and now it takes pointer to struct virtio_ballon. This change is necessary to conditionally call adjust_managed_page_count in the next patch. Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 5fa3142da14b162f30e4781ff17e1926c47f28fb Author: Fam Zheng <famz@xxxxxxxxxx> Date: Sun Sep 6 17:05:42 2015 +0800 virtio-blk: Allow extended partitions This will allow up to DISK_MAX_PARTS (256) partitions, with for example GPT in the guest. Otherwise, the partition scan code will only discover the first 15 partitions. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 38c4ab8e48ab153dee461e10e81256720b70a0b3 Author: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Date: Tue Jul 28 10:44:02 2015 +0100 virtio_mmio: add ACPI probing Added the match table and pointers for ACPI probing to the driver. This uses the same identifier for virt devices as being used for qemu ARM64 ACPI support. http://git.linaro.org/people/shannon.zhao/qemu.git/commit/d0bf1955a3ecbab4b51d46f8c5dda02b7e14a17e Signed-off-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 53eab6fd2777dc7cb338519827e23f8bf892903e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 21 15:53:55 2015 -0700 virtio-blk: use VIRTIO_BLK_F_WCE and VIRTIO_BLK_F_CONFIG_WCE in virtio1 VIRTIO_BLK_F_CONFIG_WCE is important in order to achieve good performance (up to 2x, though more realistically +30-40%) in latency-bound workloads. However, it was removed by mistake together with VIRTIO_BLK_F_FLUSH. It will be restored in the next revision of the virtio 1.0 standard, so do the same in Linux. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 08441d462ebdc64df79b392f877e26522616bad5 Author: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Date: Tue Sep 8 18:08:56 2015 +0800 nios2: add Max10 defconfig Max10 is a FPGA device. This patch adds defconfig based on Max10 hardware reference design. Design is intended to run on Max10 development kit. Signed-off-by: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 61c610ec61bb334ba97cddaf352c95b9371d2a23 Author: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Date: Tue Sep 8 18:07:44 2015 +0800 nios2: Add Max10 device tree Max10 is a FPGA device. This patch adds Nios2 support for Max10. This device tree is based on Max10 hardware reference design. Signed-off-by: Chee Nouk Phoon <cnphoon@xxxxxxxxxx> Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit ba60c41ae392b473a1897faa0b8739fcb8759d69 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 2 12:33:53 2015 +0530 kvm: irqchip: fix memory leak We were taking the exit path after checking ue->flags and return value of setup_routing_entry(), but 'e' was not freed incase of a failure. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3dfe6a507353f3253c8136734d94bfdb459fa04d Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Sep 8 11:14:13 2015 +0200 kvm: move new trace event outside #ifdef CONFIG_KVM_ASYNC_PF Fixes compilation with ppc64_defconfig. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 63431f789c957cebcffeb51953dfaeb7f1ddd827 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 27 17:58:06 2015 +0530 cpufreq: Use __func__ to print function's name Its better to use __func__ to print functions name instead of writing the name in the print statement. This also has the advantage that a change in function's name doesn't force us to change the print message as well. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4e4adb2f462889b9eac736dd06d60658beb091b6 Merge: 77a7880 5445b1f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 14:02:24 2015 -0700 Merge tag 'nfs-for-4.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs Pull NFS client updates from Trond Myklebust: "Highlights include: Stable patches: - Fix atomicity of pNFS commit list updates - Fix NFSv4 handling of open(O_CREAT|O_EXCL|O_RDONLY) - nfs_set_pgio_error sometimes misses errors - Fix a thinko in xs_connect() - Fix borkage in _same_data_server_addrs_locked() - Fix a NULL pointer dereference of migration recovery ops for v4.2 client - Don't let the ctime override attribute barriers. - Revert "NFSv4: Remove incorrect check in can_open_delegated()" - Ensure flexfiles pNFS driver updates the inode after write finishes - flexfiles must not pollute the attribute cache with attrbutes from the DS - Fix a protocol error in layoutreturn - Fix a protocol issue with NFSv4.1 CLOSE stateids Bugfixes + cleanups - pNFS blocks bugfixes from Christoph - Various cleanups from Anna - More fixes for delegation corner cases - Don't fsync twice for O_SYNC/IS_SYNC files - Fix pNFS and flexfiles layoutstats bugs - pnfs/flexfiles: avoid duplicate tracking of mirror data - pnfs: Fix layoutget/layoutreturn/return-on-close serialisation issues - pnfs/flexfiles: error handling retries a layoutget before fallback to MDS Features: - Full support for the OPEN NFS4_CREATE_EXCLUSIVE4_1 mode from Kinglong - More RDMA client transport improvements from Chuck - Removal of the deprecated ib_reg_phys_mr() and ib_rereg_phys_mr() verbs from the SUNRPC, Lustre and core infiniband tree. - Optimise away the close-to-open getattr if there is no cached data" * tag 'nfs-for-4.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (108 commits) NFSv4: Respect the server imposed limit on how many changes we may cache NFSv4: Express delegation limit in units of pages Revert "NFS: Make close(2) asynchronous when closing NFS O_DIRECT files" NFS: Optimise away the close-to-open getattr if there is no cached data NFSv4.1/flexfiles: Clean up ff_layout_write_done_cb/ff_layout_commit_done_cb NFSv4.1/flexfiles: Mark the layout for return in ff_layout_io_track_ds_error() nfs: Remove unneeded checking of the return value from scnprintf nfs: Fix truncated client owner id without proto type NFSv4.1/flexfiles: Mark layout for return if the mirrors are invalid NFSv4.1/flexfiles: RW layouts are valid only if all mirrors are valid NFSv4.1/flexfiles: Fix incorrect usage of pnfs_generic_mark_devid_invalid() NFSv4.1/flexfiles: Fix freeing of mirrors NFSv4.1/pNFS: Don't request a minimal read layout beyond the end of file NFSv4.1/pnfs: Handle LAYOUTGET return values correctly NFSv4.1/pnfs: Don't ask for a read layout for an empty file. NFSv4.1: Fix a protocol issue with CLOSE stateids NFSv4.1/flexfiles: Don't mark the entire deviceid as bad for file errors SUNRPC: Prevent SYN+SYNACK+RST storms SUNRPC: xs_reset_transport must mark the connection as disconnected NFSv4.1/pnfs: Ensure layoutreturn reserves space for the opaque payload ... commit 77a78806c7df8d414c33031a1ca5121876910c4f Merge: 7d9071a 5d54b8c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 13:28:32 2015 -0700 Merge tag 'xfs-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs Pull xfs updates from Dave Chinner: "There isn't a whole lot to this update - it's mostly bug fixes and they are spread pretty much all over XFS. There are some corruption fixes, some fixes for log recovery, some fixes that prevent unount from hanging, a lockdep annotation rework for inode locking to prevent false positives and the usual random bunch of cleanups and minor improvements. Deatils: - large rework of EFI/EFD lifecycle handling to fix log recovery corruption issues, crashes and unmount hangs - separate metadata UUID on disk to enable changing boot label UUID for v5 filesystems - fixes for gcc miscompilation on certain platforms and optimisation levels - remote attribute allocation and recovery corruption fixes - inode lockdep annotation rework to fix bugs with too many subclasses - directory inode locking changes to prevent lockdep false positives - a handful of minor corruption fixes - various other small cleanups and bug fixes" * tag 'xfs-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (42 commits) xfs: fix error gotos in xfs_setattr_nonsize xfs: add mssing inode cache attempts counter increment xfs: return errors from partial I/O failures to files libxfs: bad magic number should set da block buffer error xfs: fix non-debug build warnings xfs: collapse allocsize and biosize mount option handling xfs: Fix file type directory corruption for btree directories xfs: lockdep annotations throw warnings on non-debug builds xfs: Fix uninitialized return value in xfs_alloc_fix_freelist() xfs: inode lockdep annotations broke non-lockdep build xfs: flush entire file on dio read/write to cached file xfs: Fix xfs_attr_leafblock definition libxfs: readahead of dir3 data blocks should use the read verifier xfs: stop holding ILOCK over filldir callbacks xfs: clean up inode lockdep annotations xfs: swap leaf buffer into path struct atomically during path shift xfs: relocate sparse inode mount warning xfs: dquots should be stamped with sb_meta_uuid xfs: log recovery needs to validate against sb_meta_uuid xfs: growfs not aware of sb_meta_uuid ... commit d075a88e515278b3e2d5ec39e80e6fd3c6e48841 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 3 12:15:21 2015 +0530 cpufreq: staticize cpufreq_cpu_get_raw() cpufreq_cpu_get_raw() isn't used by any external users, staticize it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9a07826f99034202dad589285a47132685d9538b Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Mon Aug 31 09:31:00 2015 -0400 NTB: Fix range check on memory window index The range check must exclude the upper bound. Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 2aa2a77a489deda473c99a4c15074d092718912c Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Mon Aug 31 09:30:59 2015 -0400 NTB: Improve index handling in B2B MW workaround Check that b2b_mw_idx is in range of the number of memory windows when initializing the device. The workaround is considered to be in effect only if the device b2b_idx is exactly UINT_MAX, instead of any index past the last memory window. Only print B2B MW workaround information in debugfs if the workaround is in effect. Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 86663c91866ae85c219f1a80ef2c9460b7ca5cd8 Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Wed Jul 15 12:43:21 2015 -0400 NTB: Fix documentation for ntb_peer_db_clear. The documentation should say "peer" not "local" when referring to the peer doorbell register. Reported-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit a7c23237481782fbea3c2230e362b72863e144b0 Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Wed Jul 15 04:15:28 2015 -0400 NTB: Fix documentation for ntb_link_is_up There was a copy and paste error in the documentation for ntb_link_is_up. The long description was mistakenly copied from ntb_link_set_trans. This adds the appropriate long description for ntb_link_is_up. Reported-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 569410ca756cd3ebb15609cb6828a8393fb6384d Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Mon Jul 13 08:07:22 2015 -0400 NTB: Use unique DMA channels for TX and RX Allocate two DMA channels, one for TX operation and one for RX operation, instead of having one DMA channel for everything. This provides slightly better performance, and also will make error handling cleaner later on. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 905921e74864e80228e7f8cfe75315cd0a8cada8 Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Mon Jul 13 08:07:21 2015 -0400 NTB: Remove dma_sync_wait from ntb_async_rx The dma_sync_wait can hurt the performance of workloads mixed with both large and small frames. Large frames will be copied using the dma engine. Small frames will be copied by the cpu. The dma_sync_wait prevents the cpu and dma engine copying in parallel. In the period where the cpu is copying, the dma engine is stopped. The dma engine is not doing any useful work to copy large frames during that time, and the additional time to restart the dma engine for the next large frame. This will decrease the throughput for the portion of a workload with large frames. In the period where the dma engine is copying, the cpu is held up waiting for dma to complete. The small frames processing will be delayed until the dma is complete. The RX frames are completed in-order, and the processing of small frames takes very little time, so dma_sync_wait may have an insignificant impact on the respose time of frames. The more significant impact is to the system, because the delay in dma_sync_wait is implemented as busy non-blocking wait. This can prevent the delayed core from doing any useful work, even if it could be processing work for other drivers, unrelated to transport RX processing. After applying the earlier patch to fix out-of-order RX acknoledgement, the dma_sync_wait is no longer necessary. Remove it, so that cpu memcpy will proceed immediately for small frames, in parallel with ongoing dma for large frames. Do not hold up the cpu from doing work while dma is in progress. The prior fix will continue to ensure in-order completion of the RX frames to the upper layer, and in-order delivery of the RX acknoledgement. Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit d98ef99e378b0d5c42be928d6f2abe08a5f9ce53 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Mon Jul 13 08:07:20 2015 -0400 NTB: Clean up QP stats info Make QP stats info more readable for debugging purposes. Also add an entry to indicate whether DMA is being used. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 315100004fd6d9189b033f3bf9c5eba9eb906705 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Mon Jul 13 08:07:19 2015 -0400 NTB: Make the transport list in order of discovery The list should be added from the bottom and not the top in order to ensure the transport is provided in the same order to clients as ntb devices are discovered. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 0a5d19d9f046d770776508fdde959d2a42bce9f7 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Mon Jul 13 08:07:18 2015 -0400 NTB: Add PCI Device IDs for Broadwell Xeon Adding PCI Device IDs for B2B (back to back), RP (root port, primary), and TB (transparent bridge, secondary) devices. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit e74bfeedad08180b968d8613dcde141ffb0720c3 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Mon Jul 13 08:07:17 2015 -0400 NTB: Add flow control to the ntb_netdev Right now if we push the NTB really hard, we start dropping packets due to not able to process the packets fast enough. We need to st:qop the upper layer from flooding us when that happens. A timer is necessary in order to restart the queue once the resource has been processed on the receive side. Due to the way NTB is setup, the resources on the tx side are tied to the processing of the rx side and there's no async way to know when the rx side has released those resources. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 5e9fd733fa34b491e7ac41c91aa42ba0a9d8ea10 Author: Jon Mason <jdmason@xxxxxxxx> Date: Sat Jul 4 14:48:33 2015 -0400 NTB: Add list to MAINTAINERS Add the new NTB mailing list to MAINTAINERS Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 0094dc40a97260b64313b169989952d3aa2013f6 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Tue Sep 8 01:50:05 2015 +0800 MAINTAINERS: update nios2 git repo Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 3fb39c482c39760ab3b5e59f30868c988c25578d Author: Bernd Weiberg <bernd.weiberg@xxxxxxxxxxx> Date: Fri Sep 4 16:59:45 2015 +0800 nios2: remove unused statistic counters Removed some statistic counters to improve the performance of the handler. Signed-off-by: Bernd Weiberg <bernd.weiberg@xxxxxxxxxxx> Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit db5a7e55468147f28d1a408880564b61c542e4f8 Author: Bernd Weiberg <bernd.weiberg@xxxxxxxxxxx> Date: Fri Sep 4 17:03:03 2015 +0800 nios2: fixed variable imm16 to s16 Fxid variable imm16 to s16 instead of u16, offset might be negative. Signed-off-by: Bernd Weiberg <bernd.weiberg@xxxxxxxxxxx> Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 549a14c14b2f1868b81e5417a33b6d79e6da1d00 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Aug 18 13:59:28 2015 +0800 nios2/time: Migrate to new 'set-state' interface Migrate nios2 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Ley Foon Tan <lftan@xxxxxxxxxx> Cc: Tobias Klauser <tklauser@xxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Cc: nios2-dev@xxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 5445b1fbd123420bffed5e629a420aa2a16bf849 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Sep 5 19:06:58 2015 -0400 NFSv4: Respect the server imposed limit on how many changes we may cache The NFSv4 delegation spec allows the server to tell a client to limit how much data it cache after the file is closed. In return, the server guarantees enough free space to avoid ENOSPC situations, etc. Prior to this patch, we assumed we could always cache aggressively after close. Unfortunately, this causes problems with servers that set the limit to 0 and therefore do not offer any ENOSPC guarantees. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7d160a6c462c2c690e074c173b43aad7204049ad Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Sep 5 19:06:57 2015 -0400 NFSv4: Express delegation limit in units of pages Since we're tracking modifications to the page cache on a per-page basis, it makes sense to express the limit to how much we may cache in units of pages. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5ee20bc792467d7d612157e0a9962765aa943b08 Author: Johan Rastén <johan@xxxxxxxx> Date: Sun Sep 6 18:16:13 2015 +0200 ALSA: usb-audio: Change internal PCM order New PCMs will now be added to the end of the chip's PCM list instead of to the front. This changes the way streams are combined so that the first capture stream will now be merged with the first playback stream instead of the last. This fixes a problem with ASUS U7. Cards with one playback stream and cards without capture streams should be unaffected by this change. Exception added for M-Audio Audiophile USB (tm) since it seems to have a fix to swap capture stream numbering in alsa-lib conf/cards/USB-audio.conf Signed-off-by: Johan Rastén <johan@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e7e98d76777ffba334bbf7a61939c5de48acc5a0 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Thu Jul 30 13:31:42 2015 +0100 Documentation/features/vm: Meta2 is capable of THP Change metag Transparent Huge Pages (THP) support from .. to TODO. Meta2 has variable sized pages, between 4KB and 4MB, specified at the 1st level page table level, and already supports hugetlbfs, so supporting THP is theoretically possible too. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx commit 46cdc9be0841b30ba612aec1878cb746faf280a4 Author: françois romieu <romieu@xxxxxxxxxxxxx> Date: Fri Sep 4 23:05:42 2015 +0200 cxgb4: fix usage of uninitialized variable drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c: In function â??init_oneâ??: drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:4579:8: warning: â??chipâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] chip |= CHELSIO_CHIP_CODE(CHELSIO_T4, pl_rev); ^ drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:4571:11: note: â??chipâ?? was declared here int ver, chip; ^ Fixes: d86bd29e0b31 ("cxgb4/cxgb4vf: read the correct bits of PL Who Am I register") Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Cc: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd1a05ee98b06c9a20138c45f96ccfddf3163f93 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 23:22:16 2015 +0300 fixed_phy: pass 'irq' to fixed_phy_add() I've noticed that fixed_phy_register() ignores its 'irq' parameter instead of passing it to fixed_phy_add(). Luckily, fixed_phy_register() seems to always be called with PHY_POLL for 'irq'... :-) Fixes: a75951217472 ("net: phy: extend fixed driver with fixed_phy_register()") Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f88f69dd17f150e2abcc7e2d95f895f2546fa381 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Fri Sep 4 13:07:40 2015 -0700 openvswitch: Remove conntrack Kconfig option. There's no particular desire to have conntrack action support in Open vSwitch as an independently configurable bit, rather just to ensure there is not a hard dependency. This exposed option doesn't accurately reflect the conntrack dependency when enabled, so simplify this by removing the option. Compile the support if NF_CONNTRACK is enabled. Fixes: 7f8a436eaa2c ("openvswitch: Add conntrack action") Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 585e7e1a544c5b13b2a0014c23f3cb6622e8c995 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 11:22:24 2015 -0400 net: dsa: mv88e6171: add hardware 802.1Q support The Marvell 88E6171 switch is in the 88E6351 family, which supports 802.1Q, thus add support from the generic mv88e6xxx functions. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 080fff50a3bd669dbc16261602055a157fe89583 Merge: e5a5837 ef9be10 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 6 19:49:55 2015 -0700 Merge tag 'mac80211-for-davem-2015-09-04' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 Johannes Berg says: ==================== For the first round of fixes, we have this: * fix for the sizeof() pointer type issue * a fix for regulatory getting into a restore loop * a fix for rfkill global 'all' state, it needs to be stored everywhere to apply correctly to new rfkill instances * properly refuse CQM RSSI when it cannot actually be used * protect HT TDLS traffic properly in non-HT networks * don't incorrectly advertise 80 MHz support when not allowed ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5a5837da756b4826d40636239718eb8f76775fd Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Sep 4 14:44:12 2015 +0200 ethernet: synopsys: SYNOPSYS_DWC_ETH_QOS should depend on HAS_DMA If NO_DMA=y: ERROR: "dma_alloc_coherent" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! ERROR: "dma_free_coherent" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! ERROR: "dma_unmap_single" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! ERROR: "dma_map_page" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! ERROR: "dma_mapping_error" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! ERROR: "dma_map_single" [drivers/net/ethernet/synopsys/dwc_eth_qos.ko] undefined! Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f1b7354e0d65ad528b820a8a46c15d70954f699 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Sep 4 12:49:32 2015 +0200 vxlan: Refactor vxlan_udp_encap_recv() to kill compiler warning drivers/net/vxlan.c: In function â??vxlan_udp_encap_recvâ??: drivers/net/vxlan.c:1226: warning: â??infoâ?? may be used uninitialized in this function While this warning is a false positive, it can be killed easily by getting rid of the pointer intermediary and referring directly to the ip_tunnel_info structure. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Reviewed-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99c79eceb152e2ac7f8a81ff55d4a810f730ec7b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Sep 4 12:47:28 2015 +0200 lan78xx: Fix ladv/radv error handling in lan78xx_link_reset() net/usb/lan78xx.c: In function â??lan78xx_link_resetâ??: net/usb/lan78xx.c:1107: warning: comparison is always false due to limited range of data type net/usb/lan78xx.c:1111: warning: comparison is always false due to limited range of data type Assigning return values that can be negative error codes to "u16" variables makes them positive, ignoring the errors. Hence use "int" instead. Drop the "unlikely"s (unlikely considered harmful) and propagate the actual error values instead of overriding them to -EIO while we're at it. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 537b604c8b3aa8b96fe35f87dd085816552e294c Author: Michal Hocko <mhocko@xxxxxxxx> Date: Thu Aug 27 20:16:37 2015 +0200 scsi: fix scsi_error_handler vs. scsi_host_dev_release race b9d5c6b7ef57 ("[SCSI] cleanup setting task state in scsi_error_handler()") has introduced a race between scsi_error_handler and scsi_host_dev_release resulting in the hang when the device goes away because scsi_error_handler might miss a wake up: CPU0 CPU1 scsi_error_handler scsi_host_dev_release kthread_stop() kthread_should_stop() test_bit(KTHREAD_SHOULD_STOP) set_bit(KTHREAD_SHOULD_STOP) wake_up_process() wait_for_completion() set_current_state(TASK_INTERRUPTIBLE) schedule() The most straightforward solution seems to be to invert the ordering of the set_current_state and kthread_should_stop. The issue has been noticed during reboot test on a 3.0 based kernel but the current code seems to be affected in the same way. [jejb: additional comment added] Cc: <stable@xxxxxxxxxxxxxxx> # 3.6+ Reported-and-debugged-by: Mike Mayer <Mike.Meyer@xxxxxxxxxxxx> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 420fa2118c020a005e9f0311c1e0b27414306618 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Aug 19 11:18:44 2015 +0530 fcoe: Convert use of __constant_htons to htons In little endian cases, the macro htons unfolds to __swab16 which provides special case for constants. In big endian cases, __constant_htons and htons expand directly to the same expression. So, replace __constant_htons with htons with the goal of getting rid of the definition of __constant_htons completely. The semantic patch that performs this transformation is as follows: @@expression x;@@ - __constant_htons(x) + htons(x) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6229b414b3adb3aac0b54e67d72d6462fc230c0d Author: Nagarajkumar Narayanan <nagarajkumar.narayanan@xxxxxxxxxxx> Date: Tue Aug 18 13:27:10 2015 +0530 mpt2sas: setpci reset kernel oops fix mpt2sas: setpci reset on nytro warpdrive card along with sysfs access and cli ioctl access resulted in kernel oops 1. pci_access_mutex lock added to provide synchronization between IOCTL, sysfs, PCI resource handling path 2. gioc_lock spinlock to protect list operations over multiple controllers >From c53a1cff4c07528b8b9ec7f6716e94950283e8f9 Mon Sep 17 00:00:00 2001 From: Nagarajkumar Narayanan <nagarajkumar.narayanan@xxxxxxxxxxx> Date: Tue, 18 Aug 2015 11:58:13 +0530 Subject: [PATCH] mpt2sas setpci reset oops fix In mpt2sas driver due to lack of synchronization between ioctl, BRM status access through sysfs, pci resource removal kernel oops happen as ioctl path and BRM status sysfs access path still tries to access the removed resources Two locks added to provide syncrhonization 1. pci_access_mutex: Mutex to synchronize ioctl,sysfs show path and pci resource handling. PCI resource freeing will lead to free vital hardware/memory resource, which might be in use by cli/sysfs path functions resulting in Null pointer reference followed by kernel crash. To avoid the above race condition we use mutex syncrhonization which ensures the syncrhonization between cli/sysfs_show path Note: pci_access_mutex is used only if nytro warpdrive cards (ioc->is_warpdrive based on device id) are used as we could not test this case with other SAS2 HBA cards We can remove this check if this behaviour confirmed from other cards. 2. spinlock on list operations over IOCs Case: when multiple warpdrive cards(IOCs) are in use Each IOC will added to the ioc list stucture on initialization. Watchdog threads run at regular intervals to check IOC for any fault conditions which will trigger the dead_ioc thread to deallocate pci resource, resulting deleting the IOC netry from list, this deletion need to protected by spinlock to enusre that ioc removal is syncrhonized, if not synchronized it might lead to list_del corruption as the ioc list is traversed in cli path Signed-off-by: Nagarajkumar Narayanan <nagarajkumar.narayanan@xxxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 50acde8ed35620fdfad88f4e20a39a1eb0d8d4c9 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Mon Aug 17 15:52:32 2015 +0200 pm80xx: Don't override ts->stat on IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY In case psataPayload->status has a status of IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY ts->stat gets set to SAS_OPEN_REJECT but a missing 'break' statement causes a fallthrough to the default handler of the switch statement overriding ts->stat to SAS_DEV_NO_RESPONSE. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 612872cabf5be6f95d43d9a88eef38201ae8005d Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Mon Aug 17 13:03:02 2015 +0200 lpfc: Fix possible use-after-free and double free in lpfc_mbx_cmpl_rdp_page_a2() If the bf_get() call in lpfc_mbx_cmpl_rdp_page_a2() does succeeds, execution continues normally and mp gets kfree()d. If the subsequent call to lpfc_sli_issue_mbox() fails execution jumps to the error label where lpfc_mbuf_free() is called with mp->virt and mp->phys as function arguments. This is the use after free. Following the use after free mp gets kfree()d again which is a double free. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6f3d828f5bd72174c24789aba5d4ed036b60f44b Author: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx> Date: Thu Aug 13 06:41:52 2015 -0400 bfa: Fix incorrect de-reference of pointer Signed-off-by: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx> Tested-by: Sudarsana Kalluru <sudarsana.kalluru@xxxxxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b7f4d6343820af5c2dc3979e91d85e71e638cd3d Author: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx> Date: Thu Aug 13 06:41:51 2015 -0400 bfa: Fix indentation Signed-off-by: Anil Gurumurthy <anil.gurumurthy@xxxxxxxxxx> Tested-by : Sudarasana Kalluru <sudarsana.kalluru@xxxxxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0c416b54f29151a31999868d59c64ace11589d1b Author: Jordan Hargrave <jharg93@xxxxxxxxx> Date: Mon Jul 13 09:27:33 2015 -0500 scsi_transport_sas: Remove check for SAS expander when querying bay/enclosure IDs. Dell Server backplanes can report bay/enclosure IDs without an expander present. This patch allows the bay/enclosure IDs to be propagaged to sysfs.we Signed-off-by: Jordan Hargrave <jordan_hargrave@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2492fc09f0b90cd69cd9788d12c5c79d673adef3 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:26 2015 +0300 scsi_debug: resp_request: remove unused variable Fixes the following warning In function â??resp_requestsâ??: drivers/scsi//scsi_debug.c:1432:15: warning: variable â??want_dsenseâ?? set but not used [-Wunused-but-set-variable] bool dsense, want_dsense; Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f2d3fd29ba6226218533ad3fbba2312ae122663f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:25 2015 +0300 scsi_debug: fix REPORT LUNS Well Known LU The use case to report 'REPORT LUNS WLUN' described in scsi_debug documentation didn't work because: scsi_scan_host_selected() checks for: lun < shost->max_lun To fix this we set: max_lun = SCSI_W_LUN_REPORT_LUNS + 1; Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 299b6c07ea134d4f9d7cb743194bf9c1941585b2 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:24 2015 +0300 scsi_debug: schedule_resp fix input variable check The function should never be called with cmnd NULL so put a fat WARN there. Fix also smatch wraning: schedule_resp() warn: variable dereferenced before check 'cmnd' Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 58a8635d5a1b49c4b87fb48969319e1ce77d3f03 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:23 2015 +0300 scsi_debug: make dump_sector static fixes warning: warning: no previous prototype for â??dump_sectorâ?? Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit de232af6703ff8e283559016c14a3273ea932878 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:22 2015 +0300 scsi_debug: vfree is null safe so drop the check Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 34d55434ba1f39093ea30cb770d70508fdb1edaa Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:21 2015 +0300 scsi_debug: use SCSI_W_LUN_REPORT_LUNS instead of SAM2_WLUN_REPORT_LUNS; use SCSI_W_LUN_REPORT_LUNS from scsi.h instead of localy defined SAM2_WLUN_REPORT_LUNS Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c1287970f4847a973830daf4076bc25929f3b2d9 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Jul 28 16:54:20 2015 +0300 scsi_debug: define pr_fmt() for consistent logging Use pr_fmt with both module name and __func__ Also drop few bare printk leftovers The log format should stay pretty much intact Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 008549f6e8a1dc4aeea4a8d64184909786b27713 Author: Calvin Owens <calvinowens@xxxxxx> Date: Thu Aug 13 18:48:10 2015 -0700 mpt2sas: Refcount fw_events and fix unsafe list usage The fw_event_work struct is concurrently referenced at shutdown, so add a refcount to protect it, and refactor the code to use it. Additionally, refactor _scsih_fw_event_cleanup_queue() such that it no longer iterates over the list without holding the lock, since _firmware_event_work() concurrently deletes items from the list. Signed-off-by: Calvin Owens <calvinowens@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Tested-by: Chaitra Basappa <chaitra.basappa@xxxxxxxxxxxxx> Acked-by: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d224fe0d609734888af63656ddaf3a8352f0a7b5 Author: Calvin Owens <calvinowens@xxxxxx> Date: Thu Aug 13 18:48:09 2015 -0700 mpt2sas: Refcount sas_device objects and fix unsafe list usage These objects can be referenced concurrently throughout the driver, we need a way to make sure threads can't delete them out from under each other. This patch adds the refcount, and refactors the code to use it. Additionally, we cannot iterate over the sas_device_list without holding the lock, or we risk corrupting random memory if items are added or deleted as we iterate. This patch refactors _scsih_probe_sas() to use the sas_device_list in a safe way. Signed-off-by: Calvin Owens <calvinowens@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Tested-by: Chaitra Basappa <chaitra.basappa@xxxxxxxxxxxxx> Acked-by: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2cbd78244fb26a06f2b8fb006b32f133451df413 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Thu Sep 3 22:07:39 2015 +0800 KVM: trace kvm_halt_poll_ns grow/shrink Tracepoint for dynamic halt_pool_ns, fired on every potential change. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit aca6ff29c4063a8d467cdee241e6b3bf7dc4a171 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Thu Sep 3 22:07:38 2015 +0800 KVM: dynamic halt-polling There is a downside of always-poll since poll is still happened for idle vCPUs which can waste cpu usage. This patchset add the ability to adjust halt_poll_ns dynamically, to grow halt_poll_ns when shot halt is detected, and to shrink halt_poll_ns when long halt is detected. There are two new kernel parameters for changing the halt_poll_ns: halt_poll_ns_grow and halt_poll_ns_shrink. no-poll always-poll dynamic-poll ----------------------------------------------------------------------- Idle (nohz) vCPU %c0 0.15% 0.3% 0.2% Idle (250HZ) vCPU %c0 1.1% 4.6%~14% 1.2% TCP_RR latency 34us 27us 26.7us "Idle (X) vCPU %c0" is the percent of time the physical cpu spent in c0 over 60 seconds (each vCPU is pinned to a pCPU). (nohz) means the guest was tickless. (250HZ) means the guest was ticking at 250HZ. The big win is with ticking operating systems. Running the linux guest with nohz=off (and HZ=250), we save 3.4%~12.8% CPUs/second and get close to no-polling overhead levels by using the dynamic-poll. The savings should be even higher for higher frequency ticks. Suggested-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> [Simplify the patch. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 19020f8ab83de9dc5a9c8af1f321a526f38bbc40 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Thu Sep 3 22:07:37 2015 +0800 KVM: make halt_poll_ns per-vCPU Change halt_poll_ns into per-VCPU variable, seeded from module parameter, to allow greater flexibility. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e8dd2d2d641cb2724ee10e76c0ad02e04289c017 Author: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Date: Sat Aug 29 17:49:16 2015 -0400 Silence compiler warning in arch/x86/kvm/emulate.c Compiler warning: CC [M] arch/x86/kvm/emulate.o arch/x86/kvm/emulate.c: In function "__do_insn_fetch_bytes": arch/x86/kvm/emulate.c:814:9: warning: "linear" may be used uninitialized in this function [-Wmaybe-uninitialized] GCC is smart enough to realize that the inlined __linearize may return before setting the value of linear, but not smart enough to realize the same X86EMU_CONTINUE blocks actual use of the value. However, the value of 'linear' can only be set to one value, so hoisting the one line of code upwards makes GCC happy with the code. Reported-by: Aruna Hewapathirane <aruna.hewapathirane@xxxxxxxxx> Tested-by: Aruna Hewapathirane <aruna.hewapathirane@xxxxxxxxx> Signed-off-by: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit efbb288afc2f3079fa5e9308f4d9d06a390babdc Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Sun Sep 6 19:35:41 2015 +0600 kvm: compile process_smi_save_seg_64() only for x86_64 The process_smi_save_seg_64() function called only in the process_smi_save_state_64() if the CONFIG_X86_64 is set. This patch adds #ifdef CONFIG_X86_64 around process_smi_save_seg_64() to prevent following warning message: arch/x86/kvm/x86.c:5946:13: warning: ââ?¬Ë?process_smi_save_seg_64ââ?¬â?¢ defined but not used [-Wunused-function] static void process_smi_save_seg_64(struct kvm_vcpu *vcpu, char *buf, int n) ^ Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 29ecd66019047768080e8eeab4cd6582b28383a2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sun Sep 6 16:24:50 2015 +0200 KVM: x86: avoid uninitialized variable warning This does not show up on all compiler versions, so it sneaked into the first 4.3 pull request. The fix is to mimic the logic of the "print sptes" loop in the "fill array" loop. Then leaf and root can be both initialized unconditionally. Note that "leaf" now points to the first unused element of the array, not the last filled element. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8f384c0177a03640312b9cb3638c998b32243b63 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Sep 3 16:24:52 2015 -0400 RDS: rds_conn_lookup() should factor in the struct net for a match Only return a conn if the rds_conn_net(conn) matches the struct net passed to rds_conn_lookup(). Fixes: 467fa15356ac ("RDS-TCP: Support multiple RDS-TCP listen endpoints, one per netns.") Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42ea4457aea7aaeddf0c0b06724f297608f5e9d2 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 21:38:30 2015 +0200 net: fec: normalize return value of pm_runtime_get_sync() in MDIO write If fec MDIO write method succeeds its return value comes from call to pm_runtime_get_sync(). But pm_runtime_get_sync() can also return 1. In case of Micrel KSZ9031 PHY this value will then be returned along the call chain of phy_write() -> ksz9031_extended_write() -> ksz9031_center_flp_timing() -> ksz9031_config_init() -> phy_init_hw() -> phy_attach_direct() -> phy_connect_direct(). Then phy_connect() will cast it into a pointer using ERR_PTR(), which then fec_enet_mii_probe() will try to dereference resulting in an oops. Fix it by normalizing return value of pm_runtime_get_sync() to be zero if positive in MDIO write method. Fixes: 8fff755e9f8d ("net: fec: Ensure clocks are enabled while using mdio bus") Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0890cf6cb6ab1af650025670b1a839671a9a3fcb Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 3 14:04:17 2015 +0200 switchdev: fix return value of switchdev_port_fdb_dump in case of error switchdev_port_fdb_dump is used as .ndo_fdb_dump. Its return value is idx, so we cannot return errval. Fixes: 45d4122ca7cd ("switchdev: add support for fdb add/del/dump via switchdev_port_obj ops.") Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Sridhar Samudrala <sridhar.samudrala@xxxxxxxxx> Acked-by: Scott Feldman<sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b65888796b72b677928527b17eeb8e935b767146 Author: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Date: Thu Sep 3 07:41:53 2015 -0400 be2net: Revert "make the RX_FILTER command asynchronous" commit The be_cmd_rx_filter() routine sends a non-embedded cmd to the FW and used a pre-allocated dma memory to hold the cmd payload. This worked fine when this cmd was synchronous. This cmd was changed to asynchronous mode by the commit 8af65c2f4("make the RX_FILTER command asynchronous"). So now when there are two quick invocations of this cmd, the 2nd request may end up overwriting the first request, causing FW cmd corruption. This patch reverts the offending commit and hence fixes the regression. Fixes: 8af65c2f4("be2net: make the RX_FILTER command asynchronous") Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53cfd053e4d82b46dddc5d3522700263016e3156 Merge: bd516bd 9cf94ea Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 5 17:36:30 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Conflicts: include/net/netfilter/nf_conntrack.h The conflict was an overlap between changing the type of the zone argument to nf_ct_tmpl_alloc() whilst exporting nf_ct_tmpl_free. Pablo Neira Ayuso says: ==================== Netfilter fixes for net The following patchset contains Netfilter fixes for net, they are: 1) Oneliner to restore maps in nf_tables since we support addressing registers at 32 bits level. 2) Restore previous default behaviour in bridge netfilter when CONFIG_IPV6=n, oneliner from Bernhard Thaler. 3) Out of bound access in ipset hash:net* set types, reported by Dave Jones' KASan utility, patch from Jozsef Kadlecsik. 4) Fix ipset compilation with gcc 4.4.7 related to C99 initialization of unnamed unions, patch from Elad Raz. 5) Add a workaround to address inconsistent endianess in the res_id field of nfnetlink batch messages, reported by Florian Westphal. 6) Fix error paths of CT/synproxy since the conntrack template was moved to use kmalloc, patch from Daniel Borkmann. All of them look good to me to reach 4.2, I can route this to -stable myself too, just let me know what you prefer. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d9071a095023cd1db8fa18fa0d648dc1a5210e0 Merge: bd77966 397d425 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 20:34:28 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs updates from Al Viro: "In this one: - d_move fixes (Eric Biederman) - UFS fixes (me; locking is mostly sane now, a bunch of bugs in error handling ought to be fixed) - switch of sb_writers to percpu rwsem (Oleg Nesterov) - superblock scalability (Josef Bacik and Dave Chinner) - swapon(2) race fix (Hugh Dickins)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (65 commits) vfs: Test for and handle paths that are unreachable from their mnt_root dcache: Reduce the scope of i_lock in d_splice_alias dcache: Handle escaped paths in prepend_path mm: fix potential data race in SyS_swapon inode: don't softlockup when evicting inodes inode: rename i_wb_list to i_io_list sync: serialise per-superblock sync operations inode: convert inode_sb_list_lock to per-sb inode: add hlist_fake to avoid the inode hash lock in evict writeback: plug writeback at a high level change sb_writers to use percpu_rw_semaphore shift percpu_counter_destroy() into destroy_super_work() percpu-rwsem: kill CONFIG_PERCPU_RWSEM percpu-rwsem: introduce percpu_rwsem_release() and percpu_rwsem_acquire() percpu-rwsem: introduce percpu_down_read_trylock() document rwsem_release() in sb_wait_write() fix the broken lockdep logic in __sb_start_write() introduce __sb_writers_{acquired,release}() helpers ufs_inode_get{frag,block}(): get rid of 'phys' argument ufs_getfrag_block(): tidy up a bit ... commit bd779669945ed9982890da789ad32e3bd0d41f14 Merge: 9cfcc65 b5ac1fb2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 20:33:10 2015 -0700 Merge tag 'for-linus-4.3-merge-window-part-1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs Pull 9p updates from Eric Van Hensbergen: "Just a few cleanups for 4.3 merge window for the 9p file system. I've gotten several more over the past week, but this group has been in for-next for at least a couple of weeks so I figured I'd push them first while I test the rest. Most of the ones not in this set are bug-fixes anyways so I could hold them for rc1" * tag 'for-linus-4.3-merge-window-part-1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: fix return code of read() when count is 0 9p: remove unused option Opt_trans commit 9cfcc658da9693f65e7224e8329e40ada2f3c699 Merge: e3a98ac 50ef28a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 18:21:14 2015 -0700 Merge tag 'media/v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - new DVB frontend drivers: ascot2e, cxd2841er, horus3a, lnbh25 - new HDMI capture driver: tc358743 - new driver for NetUP DVB new boards (netup_unidvb) - IR support for DVBSky cards (smipcie-ir) - Coda driver has gain macroblock tiling support - Renesas R-Car gains JPEG codec driver - new DVB platform driver for STi boards: c8sectpfe - added documentation for the media core kABI to device-drivers DocBook - lots of driver fixups, cleanups and improvements * tag 'media/v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (297 commits) [media] c8sectpfe: Remove select on undefined LIBELF_32 [media] i2c: fix platform_no_drv_owner.cocci warnings [media] cx231xx: Use wake_up_interruptible() instead of wake_up_interruptible_nr() [media] tc358743: only queue subdev notifications if devnode is set [media] tc358743: add missing Kconfig dependency/select [media] c8sectpfe: Use %pad to print 'dma_addr_t' [media] DocBook media: Fix typo "the the" in xml files [media] tc358743: make reset gpio optional [media] tc358743: set direction of reset gpio using devm_gpiod_get [media] dvbdev: document most of the functions/data structs [media] dvb_frontend.h: document the struct dvb_frontend [media] dvb-frontend.h: document struct dtv_frontend_properties [media] dvb-frontend.h: document struct dvb_frontend_ops [media] dvb: Use DVBFE_ALGO_HW where applicable [media] dvb_frontend.h: document struct analog_demod_ops [media] dvb_frontend.h: Document struct dvb_tuner_ops [media] Docbook: Document struct analog_parameters [media] dvb_frontend.h: get rid of dvbfe_modcod [media] add documentation for struct dvb_tuner_info [media] dvb_frontend: document dvb_frontend_tune_settings ... commit e3a98ac47698bf1c1e4e6fae72afc9866953fce5 Merge: 2a013e3 86e488a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 18:11:04 2015 -0700 Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration Pull mailbox updates from Jassi Brar: "Mainly we move from jiffy based timer to HRTIMER for finer control over polling. Then a controller reduces its polling period from 10 to 1ms" * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration: mailbox: arm_mhu: reduce txpoll_period from 10ms to 1 ms mailbox: switch to hrtimer for tx_complete polling mailbox: Drop owner assignment from platform_driver commit 2a013e37ce691a7c072df27b35e9790fc8f5a82f Merge: 1744771 e89c6fd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 17:52:22 2015 -0700 Merge tag 'md/4.3' of git://neil.brown.name/md Pull md updates from Neil Brown: - an assortment of little fixes, several for minor races only likely to be hit during testing - further cluster-md-raid1 development, not ready for real use yet. - new RAID6 syndrome code for ARM NEON - fix a race where a write can return before failure of one device is properly recorded in metadata, so an immediate crash might result in that write being lost. * tag 'md/4.3' of git://neil.brown.name/md: (33 commits) md/raid5: ensure device failure recorded before write request returns. md/raid5: use bio_list for the list of bios to return. md/raid10: ensure device failure recorded before write request returns. md/raid1: ensure device failure recorded before write request returns. md-cluster: remove inappropriate try_module_get from join() md: extend spinlock protection in register_md_cluster_operations md-cluster: Read the disk bitmap sb and check if it needs recovery md-cluster: only call complete(&cinfo->completion) when node join cluster md-cluster: add missed lockres_free md-cluster: remove the unused sb_lock md-cluster: init suspend_list and suspend_lock early in join md-cluster: add the error check if failed to get dlm lock md-cluster: init completion within lockres_init md-cluster: fix deadlock issue on message lock md-cluster: transfer the resync ownership to another node md-cluster: split recover_slot for future code reuse md-cluster: use %pU to print UUIDs md: setup safemode_timer before it's being used md/raid5: handle possible race as reshape completes. md: sync sync_completed has correct value as recovery finishes. ... commit bd516bd1feeb3890502178a74228ec05271f2b6d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 3 11:30:30 2015 +0530 net: wan: sbni: fix device usage count dev_get_by_name() will increment the usage count if the matching device is found. But we were not decrementing the count if we have got the device and the device is non-active. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25b4a44c19c83d98e8c0807a7ede07c1f28eab8b Author: Richard Laing <richard.laing@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:52:31 2015 +1200 net/ipv6: Correct PIM6 mrt_lock handling In the IPv6 multicast routing code the mrt_lock was not being released correctly in the MFC iterator, as a result adding or deleting a MIF would cause a hang because the mrt_lock could not be acquired. This fix is a copy of the code for the IPv4 case and ensures that the lock is released correctly. Signed-off-by: Richard Laing <richard.laing@xxxxxxxxxxxxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17447717a3266965e257d3eae79d89539ce3ec0a Merge: 2236597 a457974 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 17:26:24 2015 -0700 Merge tag 'nfsd-4.3' of git://linux-nfs.org/~bfields/linux Pull nfsd updates from Bruce Fields: "Nothing major, but: - Add Jeff Layton as an nfsd co-maintainer: no change to existing practice, just an acknowledgement of the status quo. - Two patches ("nfsd: ensure that...") for a race overlooked by the state locking rewrite, causing a crash noticed by multiple users. - Lots of smaller bugfixes all over from Kinglong Mee. - From Jeff, some cleanup of server rpc code in preparation for possible shift of nfsd threads to workqueues" * tag 'nfsd-4.3' of git://linux-nfs.org/~bfields/linux: (52 commits) nfsd: deal with DELEGRETURN racing with CB_RECALL nfsd: return CLID_INUSE for unexpected SETCLIENTID_CONFIRM case nfsd: ensure that delegation stateid hash references are only put once nfsd: ensure that the ol stateid hash reference is only put once net: sunrpc: fix tracepoint Warning: unknown op '->' nfsd: allow more than one laundry job to run at a time nfsd: don't WARN/backtrace for invalid container deployment. fs: fix fs/locks.c kernel-doc warning nfsd: Add Jeff Layton as co-maintainer NFSD: Return word2 bitmask if setting security label in OPEN/CREATE NFSD: Set the attributes used to store the verifier for EXCLUSIVE4_1 nfsd: SUPPATTR_EXCLCREAT must be encoded before SECURITY_LABEL. nfsd: Fix an FS_LAYOUT_TYPES/LAYOUT_TYPES encode bug NFSD: Store parent's stat in a separate value nfsd: Fix two typos in comments lockd: NLM grace period shouldn't block NFSv4 opens nfsd: include linux/nfs4.h in export.h sunrpc: Switch to using hash list instead single list sunrpc/nfsd: Remove redundant code by exports seq_operations functions sunrpc: Store cache_detail in seq_file's private directly ... commit 22365979ab15f8500254cb90037b0b4c17554739 Merge: 6c0f568 3a9508b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 15:14:43 2015 -0700 Merge branch 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs updates from Chris Mason: "This has Jeff Mahoney's long standing trim patch that fixes corners where trims were missing. Omar has some raid5/6 fixes, especially for using scrub and device replace when devices are missing. Zhao Lie continues cleaning and fixing things, this series fixes some really hard to hit corners in xfstests. I had to pull it last merge window due to some deadlocks, but those are now resolved. I added support for Tejun's new blkio controllers. It seems to work well for single devices, we'll expand to multi-device as well" * 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (47 commits) btrfs: fix compile when block cgroups are not enabled Btrfs: fix file read corruption after extent cloning and fsync Btrfs: check if previous transaction aborted to avoid fs corruption btrfs: use __GFP_NOFAIL in alloc_btrfs_bio btrfs: Prevent from early transaction abort btrfs: Remove unused arguments in tree-log.c btrfs: Remove useless condition in start_log_trans() Btrfs: add support for blkio controllers Btrfs: remove unused mutex from struct 'btrfs_fs_info' Btrfs: fix parity scrub of RAID 5/6 with missing device Btrfs: fix device replace of a missing RAID 5/6 device Btrfs: add RAID 5/6 BTRFS_RBIO_REBUILD_MISSING operation Btrfs: count devices correctly in readahead during RAID 5/6 replace Btrfs: remove misleading handling of missing device scrub btrfs: fix clone / extent-same deadlocks Btrfs: fix defrag to merge tail file extent Btrfs: fix warning in backref walking btrfs: Add WARN_ON() for double lock in btrfs_tree_lock() btrfs: Remove root argument in extent_data_ref_count() btrfs: Fix wrong comment of btrfs_alloc_tree_block() ... commit 6c0f568e84a3cfc775682311d65205462c3f3bc1 Merge: c821990 559ec2f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 5 14:27:38 2015 -0700 Merge branch 'akpm' (patches from Andrew) Merge patch-bomb from Andrew Morton: - a few misc things - Andy's "ambient capabilities" - fs/nofity updates - the ocfs2 queue - kernel/watchdog.c updates and feature work. - some of MM. Includes Andrea's userfaultfd feature. [ Hadn't noticed that userfaultfd was 'default y' when applying the patches, so that got fixed in this merge instead. We do _not_ mark new features that nobody uses yet 'default y' - Linus ] * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (118 commits) mm/hugetlb.c: make vma_has_reserves() return bool mm/madvise.c: make madvise_behaviour_valid() return bool mm/memory.c: make tlb_next_batch() return bool mm/dmapool.c: change is_page_busy() return from int to bool mm: remove struct node_active_region mremap: simplify the "overlap" check in mremap_to() mremap: don't do uneccesary checks if new_len == old_len mremap: don't do mm_populate(new_addr) on failure mm: move ->mremap() from file_operations to vm_operations_struct mremap: don't leak new_vma if f_op->mremap() fails mm/hugetlb.c: make vma_shareable() return bool mm: make GUP handle pfn mapping unless FOLL_GET is requested mm: fix status code which move_pages() returns for zero page mm: memcontrol: bring back the VM_BUG_ON() in mem_cgroup_swapout() genalloc: add support of multiple gen_pools per device genalloc: add name arg to gen_pool_get() and devm_gen_pool_create() mm/memblock: WARN_ON when nid differs from overlap region Documentation/features/vm: add feature description and arch support status for batched TLB flush after unmap mm: defer flush of writable TLB entries mm: send one IPI per CPU to TLB flush all entries after unmapping pages ... commit c82199061009d1561e31e17fca5e47a87cb7ff4c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Aug 28 19:42:30 2015 -0700 task_work: remove fifo ordering guarantee In commit f341861fb0b ("task_work: add a scheduling point in task_work_run()") I fixed a latency problem adding a cond_resched() call. Later, commit ac3d0da8f329 added yet another loop to reverse a list, bringing back the latency spike : I've seen in some cases this loop taking 275 ms, if for example a process with 2,000,000 files is killed. We could add yet another cond_resched() in the reverse loop, or we can simply remove the reversal, as I do not think anything would depend on order of task_work_add() submitted works. Fixes: ac3d0da8f329 ("task_work: Make task_work_add() lockless") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Maciej Å»enczykowski <maze@xxxxxxxxxx> Acked-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ade9c1a47c811a7ae1c874882ad9178af1ed1098 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Feb 19 13:38:13 2014 -0800 Input: imx_keypad - remove obsolete comment Since commit 81e8f2bc (Input: imx_keypad - add pm suspend and resume support) the imx_keypad driver supports power management, so let's remove the obsolete comment. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9a436d524d3533cd15ed5a189d2237ff1e4e5343 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Sat Sep 5 11:31:21 2015 -0700 Input: touchscreen - add imx6ul_tsc driver support Freescale i.MX6UL contains a internal touchscreen controller, this patch add a driver to support this controller. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 48ead50c1dd8e5cdb7ead067558a834c1e895e6e Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Sat Sep 5 10:32:09 2015 -0700 Input: Add touchscreen support for Colibri VF50 The Colibri Vybrid VF50 module supports 4-wire touchscreens using FETs and ADC inputs. This driver uses the IIO consumer interface and relies on the vf610_adc driver based on the IIO framework. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f5d75341fac6033f6afac900da110cc78e06d40d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Sep 5 10:29:09 2015 -0700 Input: i8042 - lower log level for "no controller" message Nowadays the machines without i8042 controller is popular, and no need to print "No controller found" message in the error log level, which annoys at booting in quiet mode. Let's lower it info level. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5f1b2f77646fc0ef2f36fc554f5722a1381d0892 Author: Mitja Spes <mitja@xxxxxxxxx> Date: Wed Sep 2 10:02:29 2015 +0200 rtc: abx80x: fix RTC write bit Fix RTC write bit as per application manual Cc: stable@xxxxxxxxxxxxxxx # 4.1+ Signed-off-by: Mitja Spes <mitja@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8a67e93153f03a8d205727c0aeacb5524a414f77 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 4 08:58:05 2015 -0300 rtc: ab8500: Add a sentinel to ab85xx_rtc_ids[] Add a sentinel to ab85xx_rtc_ids[] in order to fix the following error: drivers/rtc/rtc-ab8500: struct platform_device_id is 24 bytes. The last of 2 is: 0x61 0x62 0x38 0x35 0x34 0x30 0x2d 0x72 0x74 0x63 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x8c FATAL: drivers/rtc/rtc-ab8500: struct platform_device_id is not terminated with a NULL entry! Reported-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d78908d9717b627a261b1bfe6feb67181e12752e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Aug 10 09:47:45 2015 -0300 rtc: ds1374: Remove unused variable Remove unused variable 'res' and fix the following build warning: drivers/rtc/rtc-ds1374.c:667:6: warning: unused variable 'res' [-Wunused-variable] Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 73798d5c41fdb434ccbeeec76afc8106869a98c3 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 27 13:52:02 2015 +0200 rtc: Fix module autoload for OF platform drivers These platform drivers have a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 63074cc3d4b8367aa6d9dc5520b88ca6557d32fa Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 27 12:34:32 2015 +0200 rtc: Fix module autoload for rtc-{ab8500,max8997,s5m} drivers These platform drivers have a platform device ID table but the module alias information is not created so module autoloading will not work. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 399cf0f63f6f24d7a837fbfbc801010cb6e77579 Author: Keerthy <j-keerthy@xxxxxx> Date: Tue Aug 18 15:11:16 2015 +0530 rtc: omap: Add external clock enabling support Configure the clock source to external clock if available. External clock is preferred as it can be ticking during suspend. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 532409aa1ba8b69d5a3dea159d4b1bd9adbd7a46 Author: Keerthy <j-keerthy@xxxxxx> Date: Tue Aug 18 15:11:15 2015 +0530 rtc: omap: Add internal clock enabling support The rtc can be clocked by an internal 32K clock. Adding the support to enable the same. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit fff51e771eafc3b4fa6daf1372fd4a4023bb402b Author: Keerthy <j-keerthy@xxxxxx> Date: Tue Aug 18 15:11:14 2015 +0530 ARM: dts: AM437x: Add the internal and external clock nodes for rtc rtc can either be supplied from internal 32k clock or external crystal generated 32k clock. Internal clock is SOC specific and the external clock is board dependent. Adding the corresponding nodes. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit ff02c0444b83201ff76cc49deccac8cf2bffc7bc Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Fri Aug 21 18:43:41 2015 +0900 rtc: s5m: fix to update ctrl register According to datasheet, the S2MPS13X and S2MPS14X should update write buffer via setting WUDR bit to high after ctrl register is written. If not, ALARM interrupt of rtc-s5m doesn't happen first time when i use tools/testing/selftests/timers/rtctest.c test program and hour format is used to 12 hour mode in Odroid-XU3 board. One more issue is the RTC doesn't keep time on Odroid-XU3 board when i turn on board after power off even if RTC battery is connected. It can be solved as setting WUDR & RUDR bits to high at the same time after RTC_CTRL register is written. It's same with condition of only writing ALARM registers, so this is for only S2MPS14 and we should set WUDR & A_UDR bits to high on S2MPS13. I can't find any reasonable description about this like fix from datasheet, but can find similar codes from rtc driver source of hardkernel kernel and vendor kernel. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.16 Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 11143c19eb57a8aee4335e57b21f2897b9fff294 Author: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Date: Wed Aug 19 15:23:22 2015 +0530 rtc: add xilinx zynqmp rtc driver Add support for RTC controller found on Xilinx Zynq Ultrascale+ MPSoC platform. Signed-off-by: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 12ece40d9196e01961192fc25cfdaf22392520de Author: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Date: Wed Aug 19 15:23:21 2015 +0530 devicetree: bindings: rtc: add bindings for xilinx zynqmp rtc adds file for description on device node bindings for RTC found on Xilinx Zynq Ultrascale+ MPSoC. Signed-off-by: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a038c3aa9f3afe9ab97a75827789859fb4af5767 Author: Bibek Basu <bbasu@xxxxxxxxxx> Date: Fri Aug 14 20:44:02 2015 +0200 rtc: as3722: correct month value The RTC month value is 1-indexed, but the kernel assumes it is 0-indexed. This may result in the RTC not rolling over correctly. Signed-off-by: Bibek Basu <bbasu@xxxxxxxxxx> Signed-off-by: Felix Janda <felix.janda@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit e66ce07a9692f492580820640b446971dff97a74 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jun 1 07:53:01 2015 -0500 ARM: config: Switch PXA27x platforms to use PXA RTC driver With the SA1100 and PXA RTC drivers be mutually exclusive and no longer sharing hardware, PXA27x/PXA3xx platforms must use the PXA RTC driver as the SA1100 platform device is no longer registered. This change should be almost transparent to userspace. Former users of pxa-rtc should be aware that 2 RTCs will be available on their kernels, rtc0 being sa1100-rtc and rtc1 being pxa-rtc. Any userspace relying on the fact that rtc0 was pxa-rtc should be fixed. As a consequence: - the first reboot after the switch will have the wrong time, - on dual boot platform where the other OS programs some logic into the sa1100 rtc IP, a lack of fix in userspace, ie. a kernel changing sa1100-rtc thinking it is pxa-rtc could have dire consequence, such as wiping the other OS data partition. (Thanks to Robert Jarmik for help on the above commit text.) Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Sergey Lapin <slapin@xxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Mike Rapoport <mike@xxxxxxxxxxxxxx> Cc: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7b758ef4440cd581e8207d762af635c644c85f81 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Feb 3 14:54:01 2015 -0600 ARM: mmp: remove unused RTC register definitions Now that register definitions have been moved to the driver, regs-rtc.h is no longer used and can be removed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Eric Miao <eric.y.miao@xxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d6679c48c13ce896a428d392ffe8a62ad6a75b77 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Feb 3 14:46:29 2015 -0600 ARM: sa1100: remove unused RTC register definitions Now that register definitions have been moved to the driver, we can remove them from machine specific code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 90d0ae8e9583355725583e9d1ff0ebdc97936f39 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Feb 3 14:44:51 2015 -0600 rtc: sa1100/pxa: convert to run-time register mapping SA1100 and PXA differ only in register offsets which are currently hardcoded in a machine specific header. Some arm64 platforms (PXA1928) have this RTC block as well (and not the PXA270 variant). Convert the driver to use ioremap and set the register offsets dynamically. Since we are touching all the register accesses, convert them all to readl_relaxed/writel_relaxed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2c4fabec8790384b91473aa3d0d28d4407168ef9 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Feb 2 17:50:32 2015 -0600 ARM: pxa: add memory resource to SA1100 RTC device The drivers for the SA1100 and PXA RTCs are now mutually exclusive, so add the memory resource for the sa1100-rtc device. Since the memory resource is already present in the pxa_rtc_resources, that makes sa1100_rtc_resources and pxa_rtc_resources equivalent, so use pxa_rtc_resources for both devices and remove the duplicate sa1100_rtc_resources. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3cdf4ad9633e3ca616617e76b46915c02cba426b Author: Rob Herring <robh@xxxxxxxxxx> Date: Wed May 13 09:20:04 2015 -0500 rtc: pxa: convert to use shared sa1100 functions Currently, the rtc-sa1100 and rtc-pxa drivers co-exist as rtc-pxa has a superset of functionality. Having 2 drivers sharing the same memory resource is not allowed by the driver model if resources are properly declared. This problem was avoided by not adding memory resources to the SA1100 RTC driver, but that prevents clean-up of the SA1100 driver. This commit converts the PXA RTC to use the exported SA1100 RTC functions. Now the sa1100-rtc and pxa-rtc devices are mutually exclusive, so we must remove the sa1100-rtc from pxa27x and pxa3xx. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8c0961ba7c9356186a0606a391f08e2ecb491a57 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue May 12 16:23:23 2015 -0500 rtc: sa1100: prepare to share sa1100_rtc_ops Factor out the RTC initialization from the platform device specific parts in order to share the RTC device ops with other drivers. Specifically, it will be shared with rtc-pxa driver. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit dc2280ebf45bfa4fbc4b1588a6642aa33454a9b8 Author: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Date: Wed Aug 12 17:14:13 2015 +0800 rtc: ds3232: fix WARNING trace in resume function If ds3232 work on some platform that is not implementing irq_set_wake, ds3232 will get a WARNING trace in resume. So fix ds3232->suspended state to false when irq_set_irq_wake return error. WARNING: CPU: 0 PID: 729 at kernel/irq/manage.c:604 irq_set_irq_wake+0x4b/0x8c() Unbalanced IRQ 201 wake disable Modules linked in: CPU: 0 PID: 729 Comm: sh Not tainted 3.12.19-rt30+ #25 [<800107d9>] (unwind_backtrace+0x1/0x88) from [<8000e4ef>] (show_stack+0xb/0xc) [<8000e4ef>] (show_stack+0xb/0xc) from [<802b5fa9>] (dump_stack+0x4d/0x60) [<802b5fa9>] (dump_stack+0x4d/0x60) from [<800186dd>] (warn_slowpath_common+0x45/0x64) [<800186dd>] (warn_slowpath_common+0x45/0x64) from [<80018717>] (warn_slowpath_fmt+0x1b/0x24) [<80018717>] (warn_slowpath_fmt+0x1b/0x24) from [<8003a8d3>] (irq_set_irq_wake+0x4b/0x8c) [<8003a8d3>] (irq_set_irq_wake+0x4b/0x8c) from [<80204fcb>] (ds3232_resume+0x2d/0x36) [<80204fcb>] (ds3232_resume+0x2d/0x36) from [<801954c7>] (dpm_run_callback.isra.13+0xb/0x28) [<801954c7>] (dpm_run_callback.isra.13+0xb/0x28) from [<80195b1b>] (device_resume+0x7b/0xa2) [<80195b1b>] (device_resume+0x7b/0xa2) from [<80195f0f>] (dpm_resume+0xbb/0x19c) [<80195f0f>] (dpm_resume+0xbb/0x19c) from [<801960d9>] (dpm_resume_end+0x9/0x12) [<801960d9>] (dpm_resume_end+0x9/0x12) from [<80037e1d>] (suspend_devices_and_enter+0x17d/0x1d0) [<80037e1d>] (suspend_devices_and_enter+0x17d/0x1d0) from [<80037ee1>] (pm_suspend+0x71/0x128) [<80037ee1>] (pm_suspend+0x71/0x128) from [<80037449>] (state_store+0x6d/0x80) [<80037449>] (state_store+0x6d/0x80) from [<800af4d5>] (sysfs_write_file+0x9f/0xde) [<800af4d5>] (sysfs_write_file+0x9f/0xde) from [<8007a437>] (vfs_write+0x7b/0x104) [<8007a437>] (vfs_write+0x7b/0x104) from [<8007a7f7>] (SyS_write+0x27/0x48) [<8007a7f7>] (SyS_write+0x27/0x48) from [<8000c121>] (ret_fast_syscall+0x1/0x44) Signed-off-by: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 467e1436ba85f78b8c4610c4549eb255a8211c42 Author: Niranjan Sivakumar <ns253@xxxxxxxxxxx> Date: Sat Sep 5 18:20:35 2015 +0200 ALSA: hda - Fix white noise on Dell M3800 The M3800 is very minor workstation variant of the XPS 15 which has already been patched for this issue. I figured it's probably more important for this version of the laptop to be patched than the regular XPS as Dell sells is pre-configured with Ubuntu to be used as a Linux workstation. I have tested the patch on my the hardware on Linux 4.2.0. Signed-off-by: Niranjan Sivakumar <ns253@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.1+ Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a161574e200ae63a5042120e0d8c36830e81bde3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Aug 13 18:05:06 2015 +0200 ALSA: hda - Use ALC880_FIXUP_FUJITSU for FSC Amilo M1437 It turned out that the machine has a bass speaker, so take a correct fixup entry. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=102501 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bb148bdeb0ab16fc0ae8009799471e4d7180073b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Aug 13 18:02:39 2015 +0200 ALSA: hda - Enable headphone jack detect on old Fujitsu laptops According to the bug report, FSC Amilo laptops with ALC880 can detect the headphone jack but currently the driver disables it. It's partly intentionally, as non-working jack detect was reported in the past. Let's enable now. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=102501 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 27b15e31dbc5f4d7fc93e6acaa898cbfd1cf74ea Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Aug 11 20:28:20 2015 +0900 rtc: s3c: remove unnecessary NULL assignment It's unnecessary the code that assigns info->rtc_clk to NULL in s3c_rtc_remove. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7f23a93661eb5caa373f75a145cec14331a8caaa Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Aug 11 20:28:19 2015 +0900 rtc: s3c: add missing clk control It's missed to call clk_unprepare() about info->rtc_src_clk in s3c_rtc_remove and to call clk_disable_unprepare about info->rtc_clk in error routine of s3c_rtc_probe. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1fb1c35f56bb6ab4a65920c648154b0f78f634a5 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Wed Aug 12 19:21:46 2015 +0900 rtc: s3c: fix disabled clocks for alarm The clock enable/disable codes for alarm have been removed from commit 24e1455493da ("drivers/rtc/rtc-s3c.c: delete duplicate clock control") and the clocks are disabled even if alarm is set, so alarm interrupt can't happen. The s3c_rtc_setaie function can be called several times with 'enabled' argument having same value, so it needs to check whether clocks are enabled or not. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.1 Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 80e274e96e5bc4ddf9ee4b31ab6f4a2a9fa08040 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:33:40 2015 +0200 rtc: at91sam9: remove useless include Definitions from linux/platform_data/atmel.h are not used, remove the include. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1955f213a68323f7348fc06461017c7675efe6c1 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:33:39 2015 +0200 rtc: at91sam9: include linux/of.h This driver is using device tree but is not including of.h Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 0c6e718389305cbc4cd9b8e3fd4b4173bd1127e6 Author: Nadav Haklai <nadavh@xxxxxxxxxxx> Date: Thu Aug 6 17:18:48 2015 +0200 rtc: armada38x: Align RTC set time procedure with the official errata According to the Armada38x functional errata FE-3124064, writing to the RTC TIME register may fail. As a workaround, after writing to RTC TIME register, issue a dummy write of 0x0 twice to the RTC Status register. This is the updated implementation of the Errata that eliminates the need of the long 100ms delay during the RTC set time procedure. [gregory.clement@xxxxxxxxxxxxxxxxxx]: removed the mutex and use the spinlock again Signed-off-by: Nadav Haklai <nadavh@xxxxxxxxxxx> Reviewed-by: Neta Zur Hershkovits <neta@xxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit efbbb4fd6b6fe0d3d2cfb3c5bbcdf00f1995cb60 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 11:33:59 2015 +0200 rtc: rx8025: check time validity when necessary Check time validity when reading time as this is when we need to know. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 5c66e1e0b79bd63dcdfbc03b80823522643a1f14 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 11:24:33 2015 +0200 rtc: rx8025: fix RX8025_BIT_CTRL2_CTFG initialization RX8025_BIT_CTRL2_CTFG was set to 0 only when it was already 0. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 4b33d36b670e7166e8a082e050bfb241ba65271f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 10:56:50 2015 +0200 rtc: rx8025: remove useless initialization irq_freq is already initialized to 1 in rtc_device_register() Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8c4a4467cda299491eff64640c891a0b2926cb76 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 10:48:20 2015 +0200 rtc: rx8025: reset validity when setting time Wait for the user to set the time to reset the validity bits. Until then, the time may be invalid. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a27c7bf657cb4ab893328359b66a584251be6cac Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 10:46:22 2015 +0200 rtc: rx8025: fix rx8025_init_client() rx8025_init_client is modifying ctrl[0] and writing it to RX8025_REG_CTRL2 but ctrl[0] is actually RX8025_REG_CTRL1. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8a06513df55ef10baf80f55d13786eb29efa4fa6 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 00:45:37 2015 +0200 rtc: rx8025: continue without alarm when irq request fails Instead of bailing out, disable alarms and continue when devm_request_threaded_irq() fails. This allows to still provide some functionality. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit fd9061fb497926c0e62bf1c7ff727801499fd2ea Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 00:40:25 2015 +0200 rtc: rx8025: cleanup accessors Remove useless error messages, at that point, the user already knows something went wrong but will not be able to do anything about it anyway. It is also highly unlikely that some registers are readable/writable but not some other ones. Also, transform rx8025_read_reg to be more resemblant to i2c_smbus_read_byte_data() Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 6f0a8cfebb898b88fb0d934d7a44a6d4c98d5285 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 26 10:13:31 2015 +0200 rtc: rx8025: don't reset the time Stop setting the time to epoch when it is invalid. The proper way to handle that is to return an error when it is invalid instead of returning an incorrect value. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2e10e74df72ff0f8ea65eb1ee6e39ed8278a91bf Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 25 15:54:59 2015 +0200 rtc: rx8025: fix transfer mode The datasheet specifies that transfer mode must be 0 for write and either 0x4 (simplified read) or 0 (standard read). 0x8 is not specified, use standard mode. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 32672c55951b2633bb93ec6f12734cf17e9d3a14 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 25 12:07:37 2015 +0200 rtc: rx8025: only handle dates between 2000 and 2099 The hardware is only capable of handling dates between 2000 and 2099, enforce that. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2ddd18693cb93126077bd072884dffca423c1e27 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 25 11:50:22 2015 +0200 rtc: rx8025: use BIT() Use BIT() instead of hand coding. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit dbcce7cf1eb95c704faa3fff1acc974010c8e5a4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 16:12:10 2015 +0200 rtc: rx8025: remove useless probe error message It is useless to print a message when probe fails as the user is already aware that it failed. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f0b63a1d5a4a4d9d60fe728ede0fa78ec5aab8be Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 16:07:30 2015 +0200 rtc: rx8025: switch to managed irq allocation Use devm_request_threaded_irq() so it is not necessary to call free_irq() explicitly. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit b6a57c955c362cb9d6ace991cdd77376849abb44 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 15:59:43 2015 +0200 rtc: rx8025: Convert to threaded IRQ The driver currently emulates the concept of threaded IRQ using a workqueue, switch to threaded IRQ instead. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 15d3bdc23eb54c50b2a5f143325fe83c3ab0dd27 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 15:50:23 2015 +0200 rtc: rx8025: remove useless headers and reorder them Remove the useless includes and order the remaining ones alphabetically. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 824625d3926f0caf4753426d2b24a8fc08a406c8 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:36 2015 +0300 rtc: tx4939: clean up tx4939_rtc_nvram_read()/tx4939_rtc_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit ecc663c3d0dc181fd15e4d60753024d180fd7e8f Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:35 2015 +0300 rtc: stk17ta8: clean up stk17ta8_nvram_read()/stk17ta8_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d1cf4bdee8e574c0d2b7ce9fa8d9cd89c0ac761a Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:34 2015 +0300 rtc: rp5c01: clean up rp5c01_nvram_read()/rp5c01_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 99be3e371b2ac03b936044139be10cf0c7b9cc58 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Wed Aug 5 21:13:02 2015 +0300 rtc: m48t59: clean up m48t59_nvram_read()/m48t59_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Spinlock acquisition/release is moved out of the loop body to get atomic states of NVRAM reading and writing operations. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c472d7ded2dfbe7da29531a9c9e6b951e5658605 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:32 2015 +0300 rtc: ds1742: clean up ds1742_nvram_read()/ds1742_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a9118d77b3be366c4843446d671a52ccfddcc15c Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:31 2015 +0300 rtc: ds1553: clean up ds1553_nvram_read()/ds1553_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8ccba14233000f48639aad4cab55ed7b61260db5 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Wed Aug 5 21:12:58 2015 +0300 rtc: ds1511: clean up ds1511_nvram_read()/ds1511_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c The change enables burst mode of access to SRAM for any read()/write() operations, it is worth to mention that this may influence on userspace, for instance prior to the change read(fd, buf, 1); read(fd, buf + 1, 1); and read(fd, buf, 2); sequences of syscalls over DS1511's sysfs "nvram" fd led to different DS1511 state changes and/or buf content, if some userspace applications are written specifically for DS1511 and exploit this strange "feature", they may be impacted. Also the change corrects NVRAM size accessible to userspace from 255 bytes to 256 bytes. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f4843b19d2c7b5effd25e2a65b487d02bf55e96f Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:29 2015 +0300 rtc: ds1343: clean up ds1343_nvram_read()/ds1343_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit ca7c14d3a1ab1932732c506e32ab5b189b9c0a16 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:28 2015 +0300 rtc: ds1307: clean up ds1307_nvram_read()/ds1307_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 273e03041e6d48024a57682cbf7b61510f74ec64 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:27 2015 +0300 rtc: ds1305: clean up ds1305_nvram_read()/ds1305_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller size in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a3781639e148497d7381d8786aaefe9f8b7e3028 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:48:26 2015 +0300 rtc: cmos: clean up cmos_nvram_read()/cmos_nvram_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3c217e51d8a272b9301058fe845d6c69cc0651cb Author: Sylvain Chouleur <sylvain.chouleur@xxxxxxxxx> Date: Mon Jun 8 11:45:19 2015 +0200 rtc: cmos: century support If century field is supported by the RTC CMOS device, then we should use it and then do not consider years greater that 169 as an error. For information, the year field of the rtc_time structure contains the value to add to 1970 to obtain the current year. This was a hack to be able to support years for 1970 to 2069. This patch remains compatible with this implementation. Signed-off-by: Sylvain Chouleur <sylvain.chouleur@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 11f67a8bbf65872c3e9edc70242420a8c314a860 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 11:39:51 2015 +0200 rtc: at91rm9200: get and use slow clock Commit dca1a4b5ff6e ("clk: at91: keep slow clk enabled to prevent system hang") added a workaround for the slow clock as it is not properly handled by its users. Get and use the slow clock as it is necessary for the at91rm9200 rtc. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 202cc98acf96de1c3897194e1ed5ae1c80c8b0f3 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Jul 31 15:01:04 2015 +0530 rtc: gemini: fix ptr_ret.cocci warnings drivers/rtc/rtc-gemini.c:151:1-3: WARNING: PTR_ERR_OR_ZERO can be used Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR Generated by: scripts/coccinelle/api/ptr_ret.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit e7cba884af366f49ab7b7f5157e690357addebba Author: viresh kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 31 16:23:43 2015 +0530 rtc: Drop (un)likely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. gemini driver was using likely() for a failure case while the rtc driver is getting registered. That looks wrong and it should really be unlikely. But because we are killing all the unlikely() flags, lets kill that too. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 74000eb14a173f427240b90363580c686a675ddf Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 02:01:33 2015 +0200 rtc: at91rm9200: sort headers alphabetically Sort included headers alphabetically. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8918bd8a5f6c37963ba04ae79ad6488108894ab9 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 21:51:10 2015 +0200 rtc: at91sam9: get sclk rate after enabling it See help for clk_get_rate(): "obtain the current clock rate (in Hz) for a clock source. This is only valid once the clock source has been enabled." It currently returns the correct value but that may not stay that way. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 6932ff5395e3a2541fba696b38dc71393cf7ce57 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 21:49:24 2015 +0200 rtc: at91sam9: sort headers alphabetically Sort included headers alphabetically. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 73ab31ce1bbc64c590b2a2d58364942adfa11a3f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 21:47:57 2015 +0200 rtc: at91sam9: remove useless check rtc->sclk necessarily points to a valid clocks at this point. Else the probe would have aborted. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ffe60fcfda98a3e4f51bc1e02ff5412a7e1c9c79 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 21:46:15 2015 +0200 rtc: at91sam9: properly handle error case In case of a probe error, it is possible to abort after issuing clk_prepare_enable(). Ensure the clock is disabled and unprepared in that case. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 27675ef03c0535158b77af76591920fe041ebf14 Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Wed Jul 29 14:13:40 2015 +0800 rtc: pl031: fix typo for author email The email address missed character ">", so add it. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1c4fc2955ad37afb0d75ed5a67bad94c1529b0cf Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:46 2015 +0200 rtc: Export OF module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8109d44f7604cd5ab833ea09da98703f6eb16460 Author: Adrian Huang <adrianhuang0701@xxxxxxxxx> Date: Mon Jul 6 12:19:13 2015 +0800 rtc: cmos: Revert "rtc-cmos: Add an alarm disable quirk" Commit d5a1c7e3fc38 ("rtc-cmos: Add an alarm disable quirk") that added a special quirk is not needed because [PATCH 1/2] of this patchset makes the kernel more robust: rtc-cmos: Cancel alarm timer if alarm time is equal to now+1 seconds Signed-off-by: Adrian Huang <ahuang12@xxxxxxxxxx> Tested-by: Egbert Eich <eich@xxxxxxx> Tested-by: Diego Ercolani <diego.ercolani@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 88b8d33b1c6aadba553c998db91c4b36be0fac52 Author: Adrian Huang <adrianhuang0701@xxxxxxxxx> Date: Mon Jul 6 12:19:12 2015 +0800 rtc: cmos: Cancel alarm timer if alarm time is equal to now+1 seconds Steps to reproduce the problem: 1) Enable RTC wake-up option in BIOS Setup 2) Issue one of these commands in the OS: "poweroff" or "shutdown -h now" 3) System will shut down and then reboot automatically Root-cause of the issue: 1) During the shutdown process, the hwclock utility is used to save the system clock to hardware clock (RTC). 2) The hwclock utility invokes ioctl() with RTC_UIE_ON. The kernel configures the RTC alarm for the periodic interrupt (every 1 second). 3) The hwclock uitlity closes the /dev/rtc0 device, and the kernel disables the RTC alarm irq (AIE bit of Register B) via ioctl() with RTC_UIE_OFF. But, the configured alarm time is the current_time + 1. 4) After the next 1 second is elapsed, the AF (alarm interrupt flag) of Register C is set. 5) The S5 handler in BIOS is invoked to configure alarm registers (enable AIE bit and configure alarm date/time). But, BIOS does not clear the previous interrupt status during alarm configuration. Therefore, "AF=AIE=1" causes the rtc device to trigger an interrupt. 6) So, the machine reboots automatically right after shutdown. This patch cancels the alarm timer if the following condictions are met (suggested by Alexandre): 1) The configured alarm time is equal to current_time + 1 seconds. 2) The AIE timer is not in use. The member 'alarm_expires' is introduced in struct cmos_rtc because of the following reasons: 1) The configured alarm time can be retrieved from cmos_read_alarm(), but we need to take the 'wrapped timestamp' and 'time rollover' into consideration. The function __rtc_read_alarm() eliminates the concerns. To avoid the duplicated code in the lower level RTC driver, invoking __rtc_read_alarm from the lower level RTC driver is not encouraged. Moreover, the compilation error 'the undefined __rtc_read_alarm" is observed if the lower level RTC driver is compiled as a kernel module. 2) The uie_rtctimer.node.expires and aie_timer.node.expires can be retrieved for the configured alarm time. But, the problem is that either of them might configure the CMOS alarm time. We cannot make sure UIE timer or AIE tiemr configured the CMOS alarm time before. (uie_rtctimer or aie_timer is enabled and then is disabled). 3) The patch introduces the member 'alarm_expires' to keep the newly configured alarm time, so the above-mentioned concerns can be eliminated. The issue goes away after 20-time shutdown tests. Signed-off-by: Adrian Huang <ahuang12@xxxxxxxxxx> Tested-by: Egbert Eich <eich@xxxxxxx> Tested-by: Diego Ercolani <diego.ercolani@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 80ca3277bc7f398e3315af996443464dac5d4b88 Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Tue Jul 21 11:29:07 2015 +0100 rtc: da9063: Add DA9062 RTC capability to DA9063 RTC driver Add DA9062 RTC support into the existing DA9063 RTC driver component by using generic access tables for common register and bit mask definitions. The following change will add generic register and bit mask support to the DA9063 RTC. The changes are slightly complicated by requiring support for three register sets: DA9063-AD, DA9063-BB and DA9062-AA. The following alterations have been made to the DA9063 RTC: - Addition of a da9063_compatible_rtc_regmap structure to hold all generic registers and bitmasks for this type of RTC component. - A re-write of struct da9063 to use pointers for regmap and compatible registers/masks definitions - Addition of a of_device_id table for DA9063 and DA9062 defaults - Refactoring functions to use struct da9063_compatible_rtc accesses to generic registers/masks instead of using defines from registers.h - Re-work of da9063_rtc_probe() to use of_match_node() and dev_get_regmap() to provide initialisation of generic registers and masks and access to regmap Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d7f9777de884daf5721211bddfd21e7c8c156b17 Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Thu Jul 30 22:53:14 2015 +0800 rtc: mt6397: implement suspend/resume function in rtc-mt6397 driver Implement the suspend/resume function in order to control rtc's irq_wake flag and handle as wakeup source. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Acked-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3ee2c40b7ac2bf121aaa1176d8ac25b6a26e3a94 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 23 16:01:08 2015 -0700 rtc: switch to using is_visible() to control sysfs attributes Instead of creating wakealarm attribute manually, after the device has been registered, let's rely on facilities provided by the attribute groups to control which attributes are visible and which are not. This allows to create all needed attributes at once, at the same time that we register RTC class device. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a17ccd1c6a327e5b468358e8352a6af004261473 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 23 16:01:07 2015 -0700 rtc: switch wakealarm attribute to DEVICE_ATTR_RW Instead of using older style DEVICE_ATTR for wakealarm attribute let's switch to using DEVICE_ATTR_RW that ensures consistent across the kernel permissions on the attribute. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit df100c017ea9f1a6a517c3fba84f8507973c004e Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 23 16:01:06 2015 -0700 rtc: make rtc_does_wakealarm() return boolean Users of rtc_does_wakealarm() return value treat it as boolean so let's change the signature accordingly. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f2284f9c900a47961883b88064933a89b5dd5f46 Author: Henri Roosen <henriroosen@xxxxxxxxx> Date: Fri Jul 24 10:16:06 2015 +0200 rtc: rx8025: remove obsolete local_irq_disable() and local_irq_enable() for rtc_update_irq() Since commit e6229bec25be ("rtc: make rtc_update_irq callable with irqs enabled") rtc_update_irq() is callable with irqs enabled. Signed-off-by: Henri Roosen <henriroosen@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 0d9030a2c3214cf8f9bfff84204e0f5ba5e790d7 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Fri Jun 5 16:59:43 2015 +0300 rtc: fix drivers that consider 0 as a valid IRQ in client->irq Since dab472eb931b ("i2c / ACPI: Use 0 to indicate that device does not have interrupt assigned"), 0 is not a valid i2c client irq anymore, so change all driver's checks accordingly. The same issue occurs when the device is instantiated via device tree with no IRQ, or from the i2c sysfs interface, even before the patch above. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1e4cd62558c293bc51cc179d676b708683a29c12 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 20 16:02:51 2015 -0700 rtc: dev: properly manage lifetime of dev and cdev in rtc device struct rtc embeds both struct dev and struct cdev. Unfortunately character device structure may outlive the parent rtc structure unless we set it up as parent of character device so that it will stay pinned until character device is freed. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c3b399a4b6703a04ef6eb3efe35ff12163e409e0 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 20 16:02:50 2015 -0700 rtc: class: remove unnecessary device_get() in rtc_device_unregister Technically the address of rtc->dev can never be NULL, so get_device() can never fail. Also caller of rtc_device_unregister() supposed to be the owner of the device and thus have a valid reference. Therefore call to get_device() is not needed here. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 6706664d92ea841913d5fcfd06c290fbe6d33bd2 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 20 16:02:49 2015 -0700 rtc: class: fix double free in rtc_register_device() error path Commit 59cca865f21e ("drivers/rtc/class.c: fix device_register() error handling") correctly noted that naked kfree() should not be used after failed device_register() call, however, while it added the needed put_device() it forgot to remove the original kfree() causing double-free. Cc: Vasiliy Kulikov <segooon@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit dfe6c04aa289de06df95d888719af63d1d4c982d Author: Guo Zeng <guo.zeng@xxxxxxx> Date: Tue Jul 14 01:31:38 2015 +0000 rtc: sirfsoc: move to regmap APIs from platform-specific APIs The current codes use CSR platform specific API exported by machine codes to read/write RTC registers. they are: sirfsoc_rtc_iobrg_readl() sirfsoc_rtc_iobrg_writel() commit b1999477ed91 ("ARM: prima2: move to use REGMAP APIs for rtciobrg") moves to regmap support, now we can move to use regmap APIs in RTC driver. Signed-off-by: Guo Zeng <guo.zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f4a2eecb3ff9f51b179b213e7cc3766f920f2dc5 Author: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 13:28:28 2015 +0530 rtc: opal: Enable alarms only when opal supports tpo rtc-opal driver provides support for rtc alarms via timed-power-on(tpo). However some Power platforms like BML use a fake rtc clock and don't support tpo. Such platforms are indicated by the missing 'has-tpo' property in the device tree. Current implementation however enables callback for rtc_class_ops.read/set alarm irrespective of the tpo support from the platform. This results in a failed opal call when kernel tries to read an existing alarms via opal_get_tpo_time during rtc device registration. This patch fixes this issue by setting opal_rtc_ops.read/set_alarm callback pointers only when tpo is supported. Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Acked-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c28b42e3aee03fe869a3f73039cf92686ccbc8fb Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jul 11 19:28:49 2015 +0200 rtc: add rtc-lpc24xx driver Add driver for the RTC found on NXP LPC178x/18xx/408x/43xx devices. The RTC provides calendar and clock functionality together with alarm interrupt support. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit dcb9372b34c9de90672e4cf811d7c3a8519320aa Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jul 11 19:28:50 2015 +0200 doc: dt: add documentation for nxp,lpc1788-rtc Document NXP LPC178x/18xx/408x/43xx bindings Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 045c6fdd37a01d950c0f5ca64733b53b184fe91b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:39:51 2015 +0900 rtc: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit b28845433eb9c205c381ed69b09167d6ae5aac1c Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:39:50 2015 +0900 rtc: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 653ebd75e9e469e99a40ab14128d915386dc78c6 Author: Andrea Scian <andrea.scian@xxxxxxx> Date: Tue Jun 16 11:39:47 2015 +0200 rtc: pcf2127: use OFS flag to detect unreliable date and warn the user The PCF2127 datasheet states that it's wrong to say that the date in unreliable if BLF (battery low flag) is set but instead, OSF (seconds register) should be used to check if oscillator, for any reason, stopped. Battery may be low (usually below 2V5 threshold) but the date may be anyway correct (typically date is unreliable when input voltage is below 1V2). Signed-off-by: Andrea Scian <andrea.scian@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 821f51c4da869706356ddecfeeac286bf4df9b98 Author: Andrea Scian <andrea.scian@xxxxxxx> Date: Tue Jun 16 11:35:19 2015 +0200 rtc: use rtc_valid_tm() error code when reading date/time There's a wrong comment in some RTC drivers that say it's better to ignore rtc_valid_tm() when reading RTC timestamp. However this is wrong and is better to return to the userspace the error if timestamp is not valid. Signed-off-by: Andrea Scian <andrea.scian@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 4ab82103131777b9aabb6ba31aead6e5b0293b32 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Thu Jul 9 12:25:51 2015 +0530 rtc: 88pm80x: add device tree support Along with DT support, this patch also cleans up the unnecessary code around 'rtc_wakeup' initialization. Signed-off-by: Chao Xie <chao.xie@xxxxxxxxxxx> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 617f6f7ef5bfe8c0ac580243c3da9a836c6e39bf Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Wed Jul 8 12:26:47 2015 +0530 rtc: bq32k: remove redundant check removing below static analysis error: (error) Possible null pointer dereference: client if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) ^^^^^^^ Error comes because client is dereferenced before NULL check. So probably NULL this check is not required. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 508db592e2f54d731bf2f5eabd9642a1a566f276 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Jul 7 11:16:14 2015 +0530 rtc: ds1685: Use module_platform_driver Use module_platform_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return platform_driver_register(&x); } @b depends on a@ identifier e, a.x; @@ -static e(...) { platform_driver_unregister(&x); } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_platform_driver; @@ -module_exit(e); +module_platform_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7abea617a4bae178da0f42983998c779ec2f732d Author: Nishanth Menon <nm@xxxxxx> Date: Wed Jun 24 11:26:54 2015 -0500 rtc: ds1307: Support optional wakeup interrupt source With the recent pinctrl-single changes, SoCs such as Texas Instrument's OMAP processors can treat wake-up events from deeper idle states as interrupts. Let's add support for the optional second interrupt for wake-up using the generic wakeirq support added in commit 4990d4fe327b ("PM / Wakeirq: Add automated device wake IRQ handling") Finally, to pass the wake-up interrupt in the dts file, interrupts-extended property needs to be passed. This is similar in approach to commit 2a0b965cfb6e ("serial: omap: Add support for optional wake-up") + ee83bd3b6483 ("serial: omap: Switch wake-up interrupt to generic wakeirq") Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit eac7237fd8432e232af3c407e667dbdc17ebf1d8 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Jun 23 11:15:12 2015 -0500 rtc: ds1307: Sort the headers It is always a good practice to keep the #includes sorted Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c5983191362af5ef7a627d8811a45f0fd01a3582 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Jun 23 11:15:11 2015 -0500 rtc: ds1307: Switch to managed irq allocation Since we are not doing anything fancy in remove function that requires us to sequence IRQ free operation, we might as well switch over to devm_ equivalent of managed IRQ allocation and remove the explicit free_irq since it'd be done automatically at remove. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2fb07a10e0aa699ddb12aba1459208579bdc9802 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 23 11:15:10 2015 -0500 rtc: ds1307: Convert to threaded IRQ The driver currently emulates the concept of threaded IRQ using a workqueue, which it really does not need to. Instead, switch over to threaded_irq handlers which is meant precisely for the same purpose. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit e89c6fdf9e0eb1b5a03574d4ca73e83eae8deb91 Merge: c3cce6c 1081230 Author: NeilBrown <neilb@xxxxxxxx> Date: Sat Sep 5 11:07:04 2015 +0200 Merge linux-block/for-4.3/core into md/for-linux There were a few conflicts that are fairly easy to resolve. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 30e7a65b3fdb53cc49f85c965095e40aceea3961 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Sep 3 09:10:37 2015 +0100 PM / Domains: Ensure subdomain is not in use before removing The function pm_genpd_remove_subdomain() removes a subdomain from a generic PM domain, however, it does not check if the subdomain has any slave domains or device attached before doing so. Therefore, add a test to verify that the subdomain does not have any slave domains associated or any device attached before removing. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5269e7067cd66f4797760f160be21ff50f2d1582 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Thu Sep 3 08:20:58 2015 -0700 cpufreq: Add ARM_MT8173_CPUFREQ dependency on THERMAL If ARM_MT8173_CPUFREQ is configured, and THERMAL is configured as module, the following build error is seen for arm:allmodconfig and arm64:allmodconfig. drivers/built-in.o: In function `mtk_cpufreq_ready': :(.text+0x32a20c): undefined reference to `of_cpufreq_cooling_register' drivers/built-in.o: In function `mtk_cpufreq_exit': :(.text+0x32a420): undefined reference to `cpufreq_cooling_unregister' The fix is similar to CPUFREQ_DT, but more restrictive since ARM_MT8173_CPUFREQ can not be built as module. Fixes: 1453863fb02a ("cpufreq: mediatek: Add MT8173 cpufreq driver") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 559ec2f8fd50981821621f52db5e1a8ffcf8d792 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Fri Sep 4 15:48:27 2015 -0700 mm/hugetlb.c: make vma_has_reserves() return bool This makes vma_has_reserves() return bool due to this particular function only returning either one or zero as its return value. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1ecef9ed0f63bfff58895a4f3aec751e907c7f3d Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Fri Sep 4 15:48:24 2015 -0700 mm/madvise.c: make madvise_behaviour_valid() return bool This makes the madvise_bahaviour_valid() function return bool due to this particular function always returning the value of either one or zero as its return value. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ca1d6c7d9d461effa2c4e8b9b227a14e9fdcf1cc Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Fri Sep 4 15:48:22 2015 -0700 mm/memory.c: make tlb_next_batch() return bool This makes the tlb_next_batch() bool due to this particular function only ever returning either one or zero as its return value. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d9e7e37b4d83371d08650612e0bb0b80a1240289 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Fri Sep 4 15:48:19 2015 -0700 mm/dmapool.c: change is_page_busy() return from int to bool This makes the function is_page_busy() return bool rather then an int now due to this particular function's single return statement only ever evaulating to either one or zero. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e6dab4233f667c0ae465e5cb46603b49b4f6d74 Author: minkyung88.kim <minkyung88.kim@xxxxxxx> Date: Fri Sep 4 15:48:16 2015 -0700 mm: remove struct node_active_region struct node_active_region is not used anymore. Remove it. Signed-off-by: minkyung88.kim <minkyung88.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9943242ca468149c4ce30d4633524c0866d4a87b Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 4 15:48:13 2015 -0700 mremap: simplify the "overlap" check in mremap_to() Minor, but this check is overcomplicated. Two half-intervals do NOT overlap if END1 <= START2 || END2 <= START1, mremap_to() just needs to negate this check. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1d3916869798755968b3cd764ab21f2bb86ffff7 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 4 15:48:10 2015 -0700 mremap: don't do uneccesary checks if new_len == old_len The "new_len > old_len" branch in vma_to_resize() looks very confusing. It only covers the VM_DONTEXPAND/pgoff checks but everything below is equally unneeded if new_len == old_len. Change this code to return if "new_len == old_len", new_len < old_len is not possible, otherwise the code below is wrong anyway. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d456fb9e5254df433d4806769d7ff75d80d66aa4 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 4 15:48:07 2015 -0700 mremap: don't do mm_populate(new_addr) on failure move_vma() sets *locked even if move_page_tables() or ->mremap() fails, change sys_mremap() to check "ret & ~PAGE_MASK". I think we should simply remove the VM_LOCKED code in move_vma(), that is why this patch doesn't change move_vma(). But this needs more cleanups. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5477e70a6420a6b7ca96c8e21413ee1c96a84260 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 4 15:48:04 2015 -0700 mm: move ->mremap() from file_operations to vm_operations_struct vma->vm_ops->mremap() looks more natural and clean in move_vma(), and this way ->mremap() can have more users. Say, vdso. While at it, s/aio_ring_remap/aio_ring_mremap/. Note: this is the minimal change before ->mremap() finds another user in file_operations; this method should have more arguments, and it can be used to kill arch_remap(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit df1eab303c836c98a79de427aa1c7d6812acaaa9 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 4 15:48:01 2015 -0700 mremap: don't leak new_vma if f_op->mremap() fails move_vma() can't just return if f_op->mremap() fails, we should unmap the new vma like we do if move_page_tables() fails. To avoid the code duplication this patch moves the "move entries back" under the new "if (err)" branch. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Kirill Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 31aafb45f4e1c34e4aba37c150ae4e74880b46ed Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Fri Sep 4 15:47:58 2015 -0700 mm/hugetlb.c: make vma_shareable() return bool This makes vma_shareable() return bool now due to this particular function only ever returning either one or zero as its return value. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Acked-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1027e4436b6a5c413c95d95e50d0f26348a602ac Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:47:55 2015 -0700 mm: make GUP handle pfn mapping unless FOLL_GET is requested With DAX, pfn mapping becoming more common. The patch adjusts GUP code to cover pfn mapping for cases when we don't need struct page to proceed. To make it possible, let's change follow_page() code to return -EEXIST error code if proper page table entry exists, but no corresponding struct page. __get_user_page() would ignore the error code and move to the next page frame. The immediate effect of the change is working MAP_POPULATE and mlock() on DAX mappings. [akpm@xxxxxxxxxxxxxxxxxxxx: fix arm64 build] Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Toshi Kani <toshi.kani@xxxxxx> Acked-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d899844e9c98c9c74b4d9926fd3bd66a225f6978 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:47:53 2015 -0700 mm: fix status code which move_pages() returns for zero page The manpage for move_pages(2) specifies that status code for zero page is supposed to be -EFAULT. Currently kernel return -ENOENT in this case. follow_page() can do it for us, if we would ask for FOLL_DUMP. The use of FOLL_DUMP also means that the upper layer page tables pages are no longer allocated. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ce9ce6659a5775047ad529ed77ab119da5fb8b0c Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Sep 4 15:47:50 2015 -0700 mm: memcontrol: bring back the VM_BUG_ON() in mem_cgroup_swapout() Clark stumbled over a VM_BUG_ON() in -RT which was then was removed by Johannes in commit f371763a79d ("mm: memcontrol: fix false-positive VM_BUG_ON() on -rt"). The comment before that patch was a tiny bit better than it is now. While the patch claimed to fix a false-postive on -RT this was not the case. None of the -RT folks ACKed it and it was not a false positive report. That was a *real* problem. This patch updates the comment that is improper because it refers to "disabled preemption" as a consequence of that lock being taken. A spin_lock() disables preemption, true, but in this case the code relies on the fact that the lock _also_ disables interrupts once it is acquired. And this is the important detail (which was checked the VM_BUG_ON()) which needs to be pointed out. This is the hint one needs while looking at the code. It was explained by Johannes on the list that the per-CPU variables are protected by local_irq_save(). The BUG_ON() was helpful. This code has been workarounded in -RT in the meantime. I wouldn't mind running into more of those if the code in question uses *special* kind of locking since now there is no verification (in terms of lockdep or BUG_ON()) and therefore I bring the VM_BUG_ON() check back in. The two functions after the comment could also have a "local_irq_save()" dance around them in order to serialize access to the per-CPU variables. This has been avoided because the interrupts should be off. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Clark Williams <williams@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c98c36355dd6d5c4433c8d17e8eb839ca9b97606 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Fri Sep 4 15:47:47 2015 -0700 genalloc: add support of multiple gen_pools per device This change fills devm_gen_pool_create()/gen_pool_get() "name" argument stub with contents and extends of_gen_pool_get() functionality on this basis. If there is no associated platform device with a device node passed to of_gen_pool_get(), the function attempts to get a label property or device node name (= repeats MTD OF partition standard) and seeks for a named gen_pool registered by device of the parent device node. The main idea of the change is to allow registration of independent gen_pools under the same umbrella device, say "partitions" on "storage device", the original functionality of one "partition" per "storage device" is untouched. [akpm@xxxxxxxxxxxxxxxxxxxx: fix constness in devres_find()] [dan.carpenter@xxxxxxxxxx: freeing const data pointers] Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 73858173593c31cb94bce63fe1c24eb803bb04e6 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Fri Sep 4 15:47:43 2015 -0700 genalloc: add name arg to gen_pool_get() and devm_gen_pool_create() This change modifies gen_pool_get() and devm_gen_pool_create() client interfaces adding one more argument "name" of a gen_pool object. Due to implementation gen_pool_get() is capable to retrieve only one gen_pool associated with a device even if multiple gen_pools are created, fortunately right at the moment it is sufficient for the clients, hence provide NULL as a valid argument on both producer devm_gen_pool_create() and consumer gen_pool_get() sides. Because only one created gen_pool per device is addressable, explicitly add a restriction to devm_gen_pool_create() to create only one gen_pool per device, this implies two possible error codes returned by the function, account it on client side (only misc/sram). This completes client side changes related to genalloc updates. [akpm@xxxxxxxxxxxxxxxxxxxx: gen_pool_get() cleanup] Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c0a294988322a804901fe24222027fe8a34defcb Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 15:47:38 2015 -0700 mm/memblock: WARN_ON when nid differs from overlap region Each memblock_region has nid to indicates the Node ID of this range. For the overlap case, memblock_add_range() inserts the lower part and leave the upper part as indicated in the overlapped region. If the nid of the new range differs from the overlapped region, the information recorded is not correct. This patch adds a WARN_ON when the nid of the new range differs from the overlapped region. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c7e1e3ccfbd153c890240a391f258efaedfa94d0 Author: Mel Gorman <mgorman@xxxxxxx> Date: Fri Sep 4 15:47:38 2015 -0700 Documentation/features/vm: add feature description and arch support status for batched TLB flush after unmap Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d950c9477d51f0cefc2ed3cf76e695d46af0d9c1 Author: Mel Gorman <mgorman@xxxxxxx> Date: Fri Sep 4 15:47:35 2015 -0700 mm: defer flush of writable TLB entries If a PTE is unmapped and it's dirty then it was writable recently. Due to deferred TLB flushing, it's best to assume a writable TLB cache entry exists. With that assumption, the TLB must be flushed before any IO can start or the page is freed to avoid lost writes or data corruption. This patch defers flushing of potentially writable TLBs as long as possible. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 72b252aed506b8f1a03f7abd29caef4cdf6a043b Author: Mel Gorman <mgorman@xxxxxxx> Date: Fri Sep 4 15:47:32 2015 -0700 mm: send one IPI per CPU to TLB flush all entries after unmapping pages An IPI is sent to flush remote TLBs when a page is unmapped that was potentially accesssed by other CPUs. There are many circumstances where this happens but the obvious one is kswapd reclaiming pages belonging to a running process as kswapd and the task are likely running on separate CPUs. On small machines, this is not a significant problem but as machine gets larger with more cores and more memory, the cost of these IPIs can be high. This patch uses a simple structure that tracks CPUs that potentially have TLB entries for pages being unmapped. When the unmapping is complete, the full TLB is flushed on the assumption that a refill cost is lower than flushing individual entries. Architectures wishing to do this must give the following guarantee. If a clean page is unmapped and not immediately flushed, the architecture must guarantee that a write to that linear address from a CPU with a cached TLB entry will trap a page fault. This is essentially what the kernel already depends on but the window is much larger with this patch applied and is worth highlighting. The architecture should consider whether the cost of the full TLB flush is higher than sending an IPI to flush each individual entry. An additional architecture helper called flush_tlb_local is required. It's a trivial wrapper with some accounting in the x86 case. The impact of this patch depends on the workload as measuring any benefit requires both mapped pages co-located on the LRU and memory pressure. The case with the biggest impact is multiple processes reading mapped pages taken from the vm-scalability test suite. The test case uses NR_CPU readers of mapped files that consume 10*RAM. Linear mapped reader on a 4-node machine with 64G RAM and 48 CPUs 4.2.0-rc1 4.2.0-rc1 vanilla flushfull-v7 Ops lru-file-mmap-read-elapsed 159.62 ( 0.00%) 120.68 ( 24.40%) Ops lru-file-mmap-read-time_range 30.59 ( 0.00%) 2.80 ( 90.85%) Ops lru-file-mmap-read-time_stddv 6.70 ( 0.00%) 0.64 ( 90.38%) 4.2.0-rc1 4.2.0-rc1 vanilla flushfull-v7 User 581.00 611.43 System 5804.93 4111.76 Elapsed 161.03 122.12 This is showing that the readers completed 24.40% faster with 29% less system CPU time. From vmstats, it is known that the vanilla kernel was interrupted roughly 900K times per second during the steady phase of the test and the patched kernel was interrupts 180K times per second. The impact is lower on a single socket machine. 4.2.0-rc1 4.2.0-rc1 vanilla flushfull-v7 Ops lru-file-mmap-read-elapsed 25.33 ( 0.00%) 20.38 ( 19.54%) Ops lru-file-mmap-read-time_range 0.91 ( 0.00%) 1.44 (-58.24%) Ops lru-file-mmap-read-time_stddv 0.28 ( 0.00%) 0.47 (-65.34%) 4.2.0-rc1 4.2.0-rc1 vanilla flushfull-v7 User 58.09 57.64 System 111.82 76.56 Elapsed 27.29 22.55 It's still a noticeable improvement with vmstat showing interrupts went from roughly 500K per second to 45K per second. The patch will have no impact on workloads with no memory pressure or have relatively few mapped pages. It will have an unpredictable impact on the workload running on the CPU being flushed as it'll depend on how many TLB entries need to be refilled and how long that takes. Worst case, the TLB will be completely cleared of active entries when the target PFNs were not resident at all. [sasha.levin@xxxxxxxxxx: trace tlb flush after disabling preemption in try_to_unmap_flush] Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5b74283ab251b9db55cbbe31d19ca72482103290 Author: Mel Gorman <mgorman@xxxxxxx> Date: Fri Sep 4 15:47:29 2015 -0700 x86, mm: trace when an IPI is about to be sent When unmapping pages it is necessary to flush the TLB. If that page was accessed by another CPU then an IPI is used to flush the remote CPU. That is a lot of IPIs if kswapd is scanning and unmapping >100K pages per second. There already is a window between when a page is unmapped and when it is TLB flushed. This series increases the window so multiple pages can be flushed using a single IPI. This should be safe or the kernel is hosed already. Patch 1 simply made the rest of the series easier to write as ftrace could identify all the senders of TLB flush IPIS. Patch 2 tracks what CPUs potentially map a PFN and then sends an IPI to flush the entire TLB. Patch 3 tracks when there potentially are writable TLB entries that need to be batched differently Patch 4 increases SWAP_CLUSTER_MAX to further batch flushes The performance impact is documented in the changelogs but in the optimistic case on a 4-socket machine the full series reduces interrupts from 900K interrupts/second to 60K interrupts/second. This patch (of 4): It is easy to trace when an IPI is received to flush a TLB but harder to detect what event sent it. This patch makes it easy to identify the source of IPIs being transmitted for TLB flushes on x86. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Reviewed-by: Dave Hansen <dave.hansen@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c47174fc362a089b1125174258e53ef4a69ce6b8 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:23 2015 -0700 userfaultfd: selftest This test allocates two virtual areas and bounces the physical memory across the two virtual areas using only userfaultfd. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Shuah Khan <shuah.kh@xxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c5b7e1be74ff0175dedbbd325abe9f0dbbb09ae Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:23 2015 -0700 userfaultfd: avoid missing wakeups during refile in userfaultfd_read During the refile in userfaultfd_read both waitqueues could look empty to the lockless wake_userfault(). Use a seqcount to prevent this false negative that could leave an userfault blocked. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 230c92a8797e0e717c6732de0fffdd5726c0f48f Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:20 2015 -0700 userfaultfd: propagate the full address in THP faults The THP faults were not propagating the original fault address. The latest version of the API with uffd.arg.pagefault.address is supposed to propagate the full address through THP faults. This was not a kernel crashing bug and it wouldn't risk to corrupt user memory, but it would cause a SIGBUS failure because the wrong page was being copied. For various reasons this wasn't easily reproducible in the qemu workload, but the strestest exposed the problem immediately. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dfa37dc3fc1f6f81a6900d0e561c02362f4817f6 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:18 2015 -0700 userfaultfd: allow signals to interrupt a userfault This is only simple to achieve if the userfault is going to return to userland (not to the kernel) because we can avoid returning VM_FAULT_RETRY despite we temporarily released the mmap_sem. The fault would just be retried by userland then. This is safe at least on x86 and powerpc (the two archs with the syscall implemented so far). Hint to verify for which archs this is safe: after handle_mm_fault returns, no access to data structures protected by the mmap_sem must be done by the fault code in arch/*/mm/fault.c until up_read(&mm->mmap_sem) is called. This has two main benefits: signals can run with lower latency in production (signals aren't blocked by userfaults and userfaults are immediately repeated after signal processing) and gdb can then trivially debug the threads blocked in this kind of userfaults coming directly from userland. On a side note: while gdb has a need to get signal processed, coredumps always worked perfectly with userfaults, no matter if the userfault is triggered by GUP a kernel copy_user or directly from userland. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e6485a47b758cae04a496764a1095961ee3249e4 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:15 2015 -0700 userfaultfd: require UFFDIO_API before other ioctls UFFDIO_API was already forced before read/poll could work. This makes the code more strict to force it also for all other ioctls. All users would already have been required to call UFFDIO_API before invoking other ioctls but this makes it more explicit. This will ensure we can change all ioctls (all but UFFDIO_API/struct uffdio_api) with a bump of uffdio_api.api. There's no actual plan or need to change the API or the ioctl, the current API already should cover fine even the non cooperative usage, but this is just for the longer term future just in case. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad465cae96b456b48d26c96f27a0577ba443472a Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:11 2015 -0700 userfaultfd: UFFDIO_COPY and UFFDIO_ZEROPAGE These two ioctl allows to either atomically copy or to map zeropages into the virtual address space. This is used by the thread that opened the userfaultfd to resolve the userfaults. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b6ebaedb4cb1a18220ae626c3a9e184ee39dd248 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:08 2015 -0700 userfaultfd: avoid mmap_sem read recursion in mcopy_atomic If the rwsem starves writers it wasn't strictly a bug but lockdep doesn't like it and this avoids depending on lowlevel implementation details of the lock. [akpm@xxxxxxxxxxxxxxxxxxxx: delete weird BUILD_BUG_ON()] Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c1a4de99fada21e2e9251e52cbb51eff5aadc757 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:04 2015 -0700 userfaultfd: mcopy_atomic|mfill_zeropage: UFFDIO_COPY|UFFDIO_ZEROPAGE preparation This implements mcopy_atomic and mfill_zeropage that are the lowlevel VM methods that are invoked respectively by the UFFDIO_COPY and UFFDIO_ZEROPAGE userfaultfd commands. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1f1c6f075904c241f9e44eb37efa8777141fc938 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:47:01 2015 -0700 userfaultfd: UFFDIO_COPY|UFFDIO_ZEROPAGE uAPI This implements the uABI of UFFDIO_COPY and UFFDIO_ZEROPAGE. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1380fca084743fef8d17e59b273473393944ce58 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:58 2015 -0700 userfaultfd: activate syscall This activates the userfaultfd syscall. [sfr@xxxxxxxxxxxxxxxx: activate syscall fix] [akpm@xxxxxxxxxxxxxxxxxxxx: don't enable userfaultfd on powerpc] Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a14c151e567cb2c3e62611da808a8bdab86fdee5 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:54 2015 -0700 userfaultfd: buildsystem activation This allows to select the userfaultfd during configuration to build it. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8d2afd96c20316d112e04d935d9e09150e988397 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:51 2015 -0700 userfaultfd: solve the race between UFFDIO_COPY|ZEROPAGE and read Solve in-kernel the race between UFFDIO_COPY|ZEROPAGE and userfaultfd_read if they are run on different threads simultaneously. Until now qemu solved the race in userland: the race was explicitly and intentionally left for userland to solve. However we can also solve it in kernel. Requiring all users to solve this race if they use two threads (one for the background transfer and one for the userfault reads) isn't very attractive from an API prospective, furthermore this allows to remove a whole bunch of mutex and bitmap code from qemu, making it faster. The cost of __get_user_pages_fast should be insignificant considering it scales perfectly and the pagetables are already hot in the CPU cache, compared to the overhead in userland to maintain those structures. Applying this patch is backwards compatible with respect to the userfaultfd userland API, however reverting this change wouldn't be backwards compatible anymore. Without this patch qemu in the background transfer thread, has to read the old state, and do UFFDIO_WAKE if old_state is missing but it become REQUESTED by the time it tries to set it to RECEIVED (signaling the other side received an userfault). vcpu background_thr userfault_thr ----- ----- ----- vcpu0 handle_mm_fault() postcopy_place_page read old_state -> MISSING UFFDIO_COPY 0x7fb76a139000 (no wakeup, still pending) vcpu0 fault at 0x7fb76a139000 enters handle_userfault poll() is kicked poll() -> POLLIN read() -> 0x7fb76a139000 postcopy_pmi_change_state(MISSING, REQUESTED) -> REQUESTED tmp_state = postcopy_pmi_change_state(old_state, RECEIVED) -> REQUESTED /* check that no userfault raced with UFFDIO_COPY */ if (old_state == MISSING && tmp_state == REQUESTED) UFFDIO_WAKE from background thread And a second case where a UFFDIO_WAKE would be needed is in the userfault thread: vcpu background_thr userfault_thr ----- ----- ----- vcpu0 handle_mm_fault() postcopy_place_page read old_state -> MISSING UFFDIO_COPY 0x7fb76a139000 (no wakeup, still pending) tmp_state = postcopy_pmi_change_state(old_state, RECEIVED) -> RECEIVED vcpu0 fault at 0x7fb76a139000 enters handle_userfault poll() is kicked poll() -> POLLIN read() -> 0x7fb76a139000 if (postcopy_pmi_change_state(MISSING, REQUESTED) == RECEIVED) UFFDIO_WAKE from userfault thread This patch removes the need of both UFFDIO_WAKE and of the associated per-page tristate as well. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3004ec9cabf49f43fae2b2bd1855a4720f1def7a Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:48 2015 -0700 userfaultfd: allocate the userfaultfd_ctx cacheline aligned Use proper slab to guarantee alignment. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 15b726ef048b31a24b3fefb6863083a25fe34800 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:44 2015 -0700 userfaultfd: optimize read() and poll() to be O(1) This makes read O(1) and poll that was already O(1) becomes lockless. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ba85c702e4b247393ffe9e3fbc13d8aee7b02059 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:41 2015 -0700 userfaultfd: wake pending userfaults This is an optimization but it's a userland visible one and it affects the API. The downside of this optimization is that if you call poll() and you get POLLIN, read(ufd) may still return -EAGAIN. The blocked userfault may be waken by a different thread, before read(ufd) comes around. This in short means that poll() isn't really usable if the userfaultfd is opened in blocking mode. userfaults won't wait in "pending" state to be read anymore and any UFFDIO_WAKE or similar operations that has the objective of waking userfaults after their resolution, will wake all blocked userfaults for the resolved range, including those that haven't been read() by userland yet. The behavior of poll() becomes not standard, but this obviates the need of "spurious" UFFDIO_WAKE and it lets the userland threads to restart immediately without requiring an UFFDIO_WAKE. This is even more significant in case of repeated faults on the same address from multiple threads. This optimization is justified by the measurement that the number of spurious UFFDIO_WAKE accounts for 5% and 10% of the total userfaults for heavy workloads, so it's worth optimizing those away. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a9b85f9415fd9e529d03299e5335433f614ec1fb Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:37 2015 -0700 userfaultfd: change the read API to return a uffd_msg I had requests to return the full address (not the page aligned one) to userland. It's not entirely clear how the page offset could be relevant because userfaults aren't like SIGBUS that can sigjump to a different place and it actually skip resolving the fault depending on a page offset. There's currently no real way to skip the fault especially because after a UFFDIO_COPY|ZEROPAGE, the fault is optimized to be retried within the kernel without having to return to userland first (not even self modifying code replacing the .text that touched the faulting address would prevent the fault to be repeated). Userland cannot skip repeating the fault even more so if the fault was triggered by a KVM secondary page fault or any get_user_pages or any copy-user inside some syscall which will return to kernel code. The second time FAULT_FLAG_RETRY_NOWAIT won't be set leading to a SIGBUS being raised because the userfault can't wait if it cannot release the mmap_map first (and FAULT_FLAG_RETRY_NOWAIT is required for that). Still returning userland a proper structure during the read() on the uffd, can allow to use the current UFFD_API for the future non-cooperative extensions too and it looks cleaner as well. Once we get additional fields there's no point to return the fault address page aligned anymore to reuse the bits below PAGE_SHIFT. The only downside is that the read() syscall will read 32bytes instead of 8bytes but that's not going to be measurable overhead. The total number of new events that can be extended or of new future bits for already shipped events, is limited to 64 by the features field of the uffdio_api structure. If more will be needed a bump of UFFD_API will be required. [akpm@xxxxxxxxxxxxxxxxxxxx: use __packed] Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3f602d2724b1f7d2d27ddcd7963a040a5890fd16 Author: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Date: Fri Sep 4 15:46:34 2015 -0700 userfaultfd: Rename uffd_api.bits into .features This is (seems to be) the minimal thing that is required to unblock standard uffd usage from the non-cooperative one. Now more bits can be added to the features field indicating e.g. UFFD_FEATURE_FORK and others needed for the latter use-case. Signed-off-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 86039bd3b4e6a1129318cbfed4e0a6e001656635 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:31 2015 -0700 userfaultfd: add new syscall to provide memory externalization Once an userfaultfd has been created and certain region of the process virtual address space have been registered into it, the thread responsible for doing the memory externalization can manage the page faults in userland by talking to the kernel using the userfaultfd protocol. poll() can be used to know when there are new pending userfaults to be read (POLLIN). Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c1294d05de5df1ab8c93aa13c531782ede907e14 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:27 2015 -0700 userfaultfd: prevent khugepaged to merge if userfaultfd is armed If userfaultfd is armed on a certain vma we can't "fill" the holes with zeroes or we'll break the userland on demand paging. The holes if the userfault is armed, are really missing information (not zeroes) that the userland has to load from network or elsewhere. The same issue happens for wrprotected ptes that we can't just convert into a single writable pmd_trans_huge. We could however in theory still merge across zeropages if only VM_UFFD_MISSING is set (so if VM_UFFD_WP is not set)... that could be slightly improved but it'd be much more complex code for a tiny corner case. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 19a809afe2fe089317226bbe5c5a1ce7f53dcdca Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:24 2015 -0700 userfaultfd: teach vma_merge to merge across vma->vm_userfaultfd_ctx vma->vm_userfaultfd_ctx is yet another vma parameter that vma_merge must be aware about so that we can merge vmas back like they were originally before arming the userfaultfd on some memory range. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b251fc96cf2cdf1ce4b5db055547e2a5679bc77 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:20 2015 -0700 userfaultfd: call handle_userfault() for userfaultfd_missing() faults This is where the page faults must be modified to call handle_userfault() if userfaultfd_missing() is true (so if the vma->vm_flags had VM_UFFD_MISSING set). handle_userfault() then takes care of blocking the page fault and delivering it to userland. The fault flags must also be passed as parameter so the "read|write" kind of fault can be passed to userland. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 16ba6f811dfe44bc14f7946a4b257b85476fc16e Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:17 2015 -0700 userfaultfd: add VM_UFFD_MISSING and VM_UFFD_WP These two flags gets set in vma->vm_flags to tell the VM common code if the userfaultfd is armed and in which mode (only tracking missing faults, only tracking wrprotect faults or both). If neither flags is set it means the userfaultfd is not armed on the vma. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 745f234be12b6191b15eae8dd415cc81a9137f47 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:14 2015 -0700 userfaultfd: add vm_userfaultfd_ctx to the vm_area_struct This adds the vm_userfaultfd_ctx to the vm_area_struct. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 932b18e0aec65acb089f4bd8761ee85e70f8eb6a Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:10 2015 -0700 userfaultfd: linux/userfaultfd_k.h Kernel header defining the methods needed by the VM common code to interact with the userfaultfd. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1038628d80e96e3a086189172d9be8eb85ecfabf Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:04 2015 -0700 userfaultfd: uAPI Defines the uAPI of the userfaultfd, notably the ioctl numbers and protocol. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 51360155eccb907ff8635bd10fc7de876408c2e0 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:04 2015 -0700 userfaultfd: waitqueue: add nr wake parameter to __wake_up_locked_key userfaultfd needs to wake all waitqueues (pass 0 as nr parameter), instead of the current hardcoded 1 (that would wake just the first waitqueue in the head list). Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25edd8bffd0f7563f0c04c1d219eb89061ce9886 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Fri Sep 4 15:46:00 2015 -0700 userfaultfd: linux/Documentation/vm/userfaultfd.txt This is the latest userfaultfd patchset. The postcopy live migration feature on the qemu side is mostly ready to be merged and it entirely depends on the userfaultfd syscall to be merged as well. So it'd be great if this patchset could be reviewed for merging in -mm. Userfaults allow to implement on demand paging from userland and more generally they allow userland to more efficiently take control of the behavior of page faults than what was available before (PROT_NONE + SIGSEGV trap). The use cases are: 1) KVM postcopy live migration (one form of cloud memory externalization). KVM postcopy live migration is the primary driver of this work: http://blog.zhaw.ch/icclab/setting-up-post-copy-live-migration-in-openstack/ http://lists.gnu.org/archive/html/qemu-devel/2015-02/msg04873.html 2) postcopy live migration of binaries inside linux containers: http://thread.gmane.org/gmane.linux.kernel.mm/132662 3) KVM postcopy live snapshotting (allowing to limit/throttle the memory usage, unlike fork would, plus the avoidance of fork overhead in the first place). While the wrprotect tracking is not implemented yet, the syscall API is already contemplating the wrprotect fault tracking and it's generic enough to allow its later implementation in a backwards compatible fashion. 4) KVM userfaults on shared memory. The UFFDIO_COPY lowlevel method should be extended to work also on tmpfs and then the uffdio_register.ioctls will notify userland that UFFDIO_COPY is available even when the registered virtual memory range is tmpfs backed. 5) alternate mechanism to notify web browsers or apps on embedded devices that volatile pages have been reclaimed. This basically avoids the need to run a syscall before the app can access with the CPU the virtual regions marked volatile. This depends on point 4) to be fulfilled first, as volatile pages happily apply to tmpfs. Even though there wasn't a real use case requesting it yet, it also allows to implement distributed shared memory in a way that readonly shared mappings can exist simultaneously in different hosts and they can be become exclusive at the first wrprotect fault. This patch (of 22): Add documentation. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Cc: zhang.zhanghailiang@xxxxxxxxxx Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Huangpeng (Peter)" <peter.huangpeng@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2d16e0fd3265b42648d267b7adb837db9798edaf Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Sep 4 15:45:57 2015 -0700 mm/slab.h: fix argument order in cache_from_obj's error message While debugging a networking issue, I hit a condition that triggered an object to be freed into the wrong kmem cache, and thus triggered the warning in cache_from_obj(). The arguments in the error message are in wrong order: the location of the object's kmem cache is in cachep, not s. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 45eb00cd3a034b8448f52fd9074e9b2b11d857c1 Author: Joonsoo Kim <js1304@xxxxxxxxx> Date: Fri Sep 4 15:45:54 2015 -0700 mm/slub: don't wait for high-order page allocation Description is almost copied from commit fb05e7a89f50 ("net: don't wait for order-3 page allocation"). I saw excessive direct memory reclaim/compaction triggered by slub. This causes performance issues and add latency. Slub uses high-order allocation to reduce internal fragmentation and management overhead. But, direct memory reclaim/compaction has high overhead and the benefit of high-order allocation can't compensate the overhead of both work. This patch makes auxiliary high-order allocation atomic. If there is no memory pressure and memory isn't fragmented, the alloction will still success, so we don't sacrifice high-order allocation's benefit here. If the atomic allocation fails, direct memory reclaim/compaction will not be triggered, allocation fallback to low-order immediately, hence the direct memory reclaim/compaction overhead is avoided. In the allocation failure case, kswapd is waken up and trying to make high-order freepages, so allocation could success next time. Following is the test to measure effect of this patch. System: QEMU, CPU 8, 512 MB Mem: 25% memory is allocated at random position to make fragmentation. Memory-hogger occupies 150 MB memory. Workload: hackbench -g 20 -l 1000 Average result by 10 runs (Base va Patched) elapsed_time(s): 4.3468 vs 2.9838 compact_stall: 461.7 vs 73.6 pgmigrate_success: 28315.9 vs 7256.1 Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Shaohua Li <shli@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80da026a8e5da83b6ab029807844587960490e2b Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Fri Sep 4 15:45:51 2015 -0700 mm/slub: fix slab double-free in case of duplicate sysfs filename sysfs_slab_add() shouldn't call kobject_put at error path: this puts last reference of kmem-cache kobject and frees it. Kmem cache will be freed second time at error path in kmem_cache_create(). For example this happens when slub debug was enabled in runtime and somebody creates new kmem cache: # echo 1 | tee /sys/kernel/slab/*/sanity_checks # modprobe configfs "configfs_dir_cache" cannot be merged because existing slab have debug and cannot create new slab because unique name ":t-0000096" already taken. Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 588f8ba913d35a667407afa29444bf2f94e03d19 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Sep 4 15:45:48 2015 -0700 mm/slub: move slab initialization into irq enabled region Initializing a new slab can introduce rather large latencies because most of the initialization runs always with interrupts disabled. There is no point in doing so. The newly allocated slab is not visible yet, so there is no reason to protect it against concurrent alloc/free. Move the expensive parts of the initialization into allocate_slab(), so for all allocations with GFP_WAIT set, interrupts are enabled. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3eed034d045ce93a40e232a6bd5f86127342053a Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Sep 4 15:45:45 2015 -0700 slub: add support for kmem_cache_debug in bulk calls Per request of Joonsoo Kim adding kmem debug support. I've tested that when debugging is disabled, then there is almost no performance impact as this code basically gets removed by the compiler. Need some guidance in enabling and testing this. bulk- PREVIOUS - THIS-PATCH 1 - 43 cycles(tsc) 10.811 ns - 44 cycles(tsc) 11.236 ns improved -2.3% 2 - 27 cycles(tsc) 6.867 ns - 28 cycles(tsc) 7.019 ns improved -3.7% 3 - 21 cycles(tsc) 5.496 ns - 22 cycles(tsc) 5.526 ns improved -4.8% 4 - 24 cycles(tsc) 6.038 ns - 19 cycles(tsc) 4.786 ns improved 20.8% 8 - 17 cycles(tsc) 4.280 ns - 18 cycles(tsc) 4.572 ns improved -5.9% 16 - 17 cycles(tsc) 4.483 ns - 18 cycles(tsc) 4.658 ns improved -5.9% 30 - 18 cycles(tsc) 4.531 ns - 18 cycles(tsc) 4.568 ns improved 0.0% 32 - 58 cycles(tsc) 14.586 ns - 65 cycles(tsc) 16.454 ns improved -12.1% 34 - 53 cycles(tsc) 13.391 ns - 63 cycles(tsc) 15.932 ns improved -18.9% 48 - 65 cycles(tsc) 16.268 ns - 50 cycles(tsc) 12.506 ns improved 23.1% 64 - 53 cycles(tsc) 13.440 ns - 63 cycles(tsc) 15.929 ns improved -18.9% 128 - 79 cycles(tsc) 19.899 ns - 86 cycles(tsc) 21.583 ns improved -8.9% 158 - 90 cycles(tsc) 22.732 ns - 90 cycles(tsc) 22.552 ns improved 0.0% 250 - 95 cycles(tsc) 23.916 ns - 98 cycles(tsc) 24.589 ns improved -3.2% Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fbd02630c6e3c60feecc4688f5f98b015d264516 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Sep 4 15:45:43 2015 -0700 slub: initial bulk free implementation This implements SLUB specific kmem_cache_free_bulk(). SLUB allocator now both have bulk alloc and free implemented. Choose to reenable local IRQs while calling slowpath __slab_free(). In worst case, where all objects hit slowpath call, the performance should still be faster than fallback function __kmem_cache_free_bulk(), because local_irq_{disable+enable} is very fast (7-cycles), while the fallback invokes this_cpu_cmpxchg() which is slightly slower (9-cycles). Nitpicking, this should be faster for N>=4, due to the entry cost of local_irq_{disable+enable}. Do notice that the save+restore variant is very expensive, this is key to why this optimization works. CPU: i7-4790K CPU @ 4.00GHz * local_irq_{disable,enable}: 7 cycles(tsc) - 1.821 ns * local_irq_{save,restore} : 37 cycles(tsc) - 9.443 ns Measurements on CPU CPU i7-4790K @ 4.00GHz Baseline normal fastpath (alloc+free cost): 43 cycles(tsc) 10.834 ns Bulk- fallback - this-patch 1 - 58 cycles(tsc) 14.542 ns - 43 cycles(tsc) 10.811 ns improved 25.9% 2 - 50 cycles(tsc) 12.659 ns - 27 cycles(tsc) 6.867 ns improved 46.0% 3 - 48 cycles(tsc) 12.168 ns - 21 cycles(tsc) 5.496 ns improved 56.2% 4 - 47 cycles(tsc) 11.987 ns - 24 cycles(tsc) 6.038 ns improved 48.9% 8 - 46 cycles(tsc) 11.518 ns - 17 cycles(tsc) 4.280 ns improved 63.0% 16 - 45 cycles(tsc) 11.366 ns - 17 cycles(tsc) 4.483 ns improved 62.2% 30 - 45 cycles(tsc) 11.433 ns - 18 cycles(tsc) 4.531 ns improved 60.0% 32 - 75 cycles(tsc) 18.983 ns - 58 cycles(tsc) 14.586 ns improved 22.7% 34 - 71 cycles(tsc) 17.940 ns - 53 cycles(tsc) 13.391 ns improved 25.4% 48 - 80 cycles(tsc) 20.077 ns - 65 cycles(tsc) 16.268 ns improved 18.8% 64 - 71 cycles(tsc) 17.799 ns - 53 cycles(tsc) 13.440 ns improved 25.4% 128 - 91 cycles(tsc) 22.980 ns - 79 cycles(tsc) 19.899 ns improved 13.2% 158 - 100 cycles(tsc) 25.241 ns - 90 cycles(tsc) 22.732 ns improved 10.0% 250 - 102 cycles(tsc) 25.583 ns - 95 cycles(tsc) 23.916 ns improved 6.9% Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ebe909e0fdb34b980c5cf636c495e4f0bb0dfda8 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Sep 4 15:45:40 2015 -0700 slub: improve bulk alloc strategy Call slowpath __slab_alloc() from within the bulk loop, as the side-effect of this call likely repopulates c->freelist. Choose to reenable local IRQs while calling slowpath. Saving some optimizations for later. E.g. it is possible to extract parts of __slab_alloc() and avoid the unnecessary and expensive (37 cycles) local_irq_{save,restore}. For now, be happy calling __slab_alloc() this lower icache impact of this func and I don't have to worry about correctness. Measurements on CPU CPU i7-4790K @ 4.00GHz Baseline normal fastpath (alloc+free cost): 42 cycles(tsc) 10.601 ns Bulk- fallback - this-patch 1 - 58 cycles(tsc) 14.516 ns - 49 cycles(tsc) 12.459 ns improved 15.5% 2 - 51 cycles(tsc) 12.930 ns - 38 cycles(tsc) 9.605 ns improved 25.5% 3 - 49 cycles(tsc) 12.274 ns - 34 cycles(tsc) 8.525 ns improved 30.6% 4 - 48 cycles(tsc) 12.058 ns - 32 cycles(tsc) 8.036 ns improved 33.3% 8 - 46 cycles(tsc) 11.609 ns - 31 cycles(tsc) 7.756 ns improved 32.6% 16 - 45 cycles(tsc) 11.451 ns - 32 cycles(tsc) 8.148 ns improved 28.9% 30 - 79 cycles(tsc) 19.865 ns - 68 cycles(tsc) 17.164 ns improved 13.9% 32 - 76 cycles(tsc) 19.212 ns - 66 cycles(tsc) 16.584 ns improved 13.2% 34 - 74 cycles(tsc) 18.600 ns - 63 cycles(tsc) 15.954 ns improved 14.9% 48 - 88 cycles(tsc) 22.092 ns - 77 cycles(tsc) 19.373 ns improved 12.5% 64 - 80 cycles(tsc) 20.043 ns - 68 cycles(tsc) 17.188 ns improved 15.0% 128 - 99 cycles(tsc) 24.818 ns - 89 cycles(tsc) 22.404 ns improved 10.1% 158 - 99 cycles(tsc) 24.977 ns - 92 cycles(tsc) 23.089 ns improved 7.1% 250 - 106 cycles(tsc) 26.552 ns - 99 cycles(tsc) 24.785 ns improved 6.6% Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 994eb764ec5ad57c9b7c5e72b892205039a84b69 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Sep 4 15:45:37 2015 -0700 slub bulk alloc: extract objects from the per cpu slab First piece: acceleration of retrieval of per cpu objects If we are allocating lots of objects then it is advantageous to disable interrupts and avoid the this_cpu_cmpxchg() operation to get these objects faster. Note that we cannot do the fast operation if debugging is enabled, because we would have to add extra code to do all the debugging checks. And it would not be fast anyway. Note also that the requirement of having interrupts disabled avoids having to do processor flag operations. Allocate as many objects as possible in the fast way and then fall back to the generic implementation for the rest of the objects. Measurements on CPU CPU i7-4790K @ 4.00GHz Baseline normal fastpath (alloc+free cost): 42 cycles(tsc) 10.554 ns Bulk- fallback - this-patch 1 - 57 cycles(tsc) 14.432 ns - 48 cycles(tsc) 12.155 ns improved 15.8% 2 - 50 cycles(tsc) 12.746 ns - 37 cycles(tsc) 9.390 ns improved 26.0% 3 - 48 cycles(tsc) 12.180 ns - 33 cycles(tsc) 8.417 ns improved 31.2% 4 - 48 cycles(tsc) 12.015 ns - 32 cycles(tsc) 8.045 ns improved 33.3% 8 - 46 cycles(tsc) 11.526 ns - 30 cycles(tsc) 7.699 ns improved 34.8% 16 - 45 cycles(tsc) 11.418 ns - 32 cycles(tsc) 8.205 ns improved 28.9% 30 - 80 cycles(tsc) 20.246 ns - 73 cycles(tsc) 18.328 ns improved 8.8% 32 - 79 cycles(tsc) 19.946 ns - 72 cycles(tsc) 18.208 ns improved 8.9% 34 - 78 cycles(tsc) 19.659 ns - 71 cycles(tsc) 17.987 ns improved 9.0% 48 - 86 cycles(tsc) 21.516 ns - 82 cycles(tsc) 20.566 ns improved 4.7% 64 - 93 cycles(tsc) 23.423 ns - 89 cycles(tsc) 22.480 ns improved 4.3% 128 - 100 cycles(tsc) 25.170 ns - 99 cycles(tsc) 24.871 ns improved 1.0% 158 - 102 cycles(tsc) 25.549 ns - 101 cycles(tsc) 25.375 ns improved 1.0% 250 - 101 cycles(tsc) 25.344 ns - 100 cycles(tsc) 25.182 ns improved 1.0% Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 484748f0b65a1950b2b93f444a2287e8dd2cedd6 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Fri Sep 4 15:45:34 2015 -0700 slab: infrastructure for bulk object allocation and freeing Add the basic infrastructure for alloc/free operations on pointer arrays. It includes a generic function in the common slab code that is used in this infrastructure patch to create the unoptimized functionality for slab bulk operations. Allocators can then provide optimized allocation functions for situations in which large numbers of objects are needed. These optimization may avoid taking locks repeatedly and bypass metadata creation if all objects in slab pages can be used to provide the objects required. Allocators can extend the skeletons provided and add their own code to the bulk alloc and free functions. They can keep the generic allocation and freeing and just fall back to those if optimizations would not work (like for example when debugging is on). Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2ae44005b678431a5c7a55dafcd09421ba3fadf0 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Sep 4 15:45:31 2015 -0700 slub: fix spelling succedd to succeed With this patchset the SLUB allocator now has both bulk alloc and free implemented. This patchset mostly optimizes the "fastpath" where objects are available on the per CPU fastpath page. This mostly amortize the less-heavy none-locked cmpxchg_double used on fastpath. The "fallback" bulking (e.g __kmem_cache_free_bulk) provides a good basis for comparison. Measurements[1] of the fallback functions __kmem_cache_{free,alloc}_bulk have been copied from slab_common.c and forced "noinline" to force a function call like slab_common.c. Measurements on CPU CPU i7-4790K @ 4.00GHz Baseline normal fastpath (alloc+free cost): 42 cycles(tsc) 10.601 ns Measurements last-patch with disabled debugging: Bulk- fallback - this-patch 1 - 57 cycles(tsc) 14.448 ns - 44 cycles(tsc) 11.236 ns improved 22.8% 2 - 51 cycles(tsc) 12.768 ns - 28 cycles(tsc) 7.019 ns improved 45.1% 3 - 48 cycles(tsc) 12.232 ns - 22 cycles(tsc) 5.526 ns improved 54.2% 4 - 48 cycles(tsc) 12.025 ns - 19 cycles(tsc) 4.786 ns improved 60.4% 8 - 46 cycles(tsc) 11.558 ns - 18 cycles(tsc) 4.572 ns improved 60.9% 16 - 45 cycles(tsc) 11.458 ns - 18 cycles(tsc) 4.658 ns improved 60.0% 30 - 45 cycles(tsc) 11.499 ns - 18 cycles(tsc) 4.568 ns improved 60.0% 32 - 79 cycles(tsc) 19.917 ns - 65 cycles(tsc) 16.454 ns improved 17.7% 34 - 78 cycles(tsc) 19.655 ns - 63 cycles(tsc) 15.932 ns improved 19.2% 48 - 68 cycles(tsc) 17.049 ns - 50 cycles(tsc) 12.506 ns improved 26.5% 64 - 80 cycles(tsc) 20.009 ns - 63 cycles(tsc) 15.929 ns improved 21.3% 128 - 94 cycles(tsc) 23.749 ns - 86 cycles(tsc) 21.583 ns improved 8.5% 158 - 97 cycles(tsc) 24.299 ns - 90 cycles(tsc) 22.552 ns improved 7.2% 250 - 102 cycles(tsc) 25.681 ns - 98 cycles(tsc) 24.589 ns improved 3.9% Benchmarking shows impressive improvements in the "fastpath" with a small number of objects in the working set. Once the working set increases, resulting in activating the "slowpath" (that contains the heavier locked cmpxchg_double) the improvement decreases. I'm currently working on also optimizing the "slowpath" (as network stack use-case hits this), but this patchset should provide a good foundation for further improvements. Rest of my patch queue in this area needs some more work, but preliminary results are good. I'm attending Netfilter Workshop[2] next week, and I'll hopefully return working on further improvements in this area. This patch (of 6): s/succedd/succeed/ Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ec6a90661a0d6ce1461d05c7a58a0a151154e14a Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Fri Sep 4 15:45:28 2015 -0700 watchdog: rename watchdog_suspend() and watchdog_resume() Rename watchdog_suspend() to lockup_detector_suspend() and watchdog_resume() to lockup_detector_resume() to avoid confusion with the watchdog subsystem and to be consistent with the existing name lockup_detector_init(). Also provide comment blocks to explain the watchdog_running and watchdog_suspended variables and their relationship. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 999bbe49ea0118b70ddf3f5d679f51dc7a97ae55 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Fri Sep 4 15:45:25 2015 -0700 watchdog: use suspend/resume interface in fixup_ht_bug() Remove watchdog_nmi_disable_all() and watchdog_nmi_enable_all() since these functions are no longer needed. If a subsystem has a need to deactivate the watchdog temporarily, it should utilize the watchdog_suspend() and watchdog_resume() functions. [akpm@xxxxxxxxxxxxxxxxxxxx: fix build with CONFIG_LOCKUP_DETECTOR=m] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d4bdd0b21c7652a8271f873cc755486b255c1bbd Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Fri Sep 4 15:45:21 2015 -0700 watchdog: use park/unpark functions in update_watchdog_all_cpus() Remove update_watchdog() and restart_watchdog_hrtimer() since these functions are no longer needed. Changes of parameters such as the sample period are honored at the time when the watchdog threads are being unparked. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8c073d27d7ad293bf734cc8475689413afadab81 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Fri Sep 4 15:45:18 2015 -0700 watchdog: introduce watchdog_suspend() and watchdog_resume() This interface can be utilized to deactivate the hard and soft lockup detector temporarily. Callers are expected to minimize the duration of deactivation. Multiple deactivations are allowed to occur in parallel but should be rare in practice. [akpm@xxxxxxxxxxxxxxxxxxxx: remove unneeded static initialization] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81a4beef91ba4a9e8ad6054ca9933dff7e25ff28 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Fri Sep 4 15:45:15 2015 -0700 watchdog: introduce watchdog_park_threads() and watchdog_unpark_threads() Originally watchdog_nmi_enable(cpu) and watchdog_nmi_disable(cpu) were only called in watchdog thread context. However, the following commits utilize these functions outside of watchdog thread context too. commit 9809b18fcf6b8d8ec4d3643677345907e6b50eca Author: Michal Hocko <mhocko@xxxxxxx> Date: Tue Sep 24 15:27:30 2013 -0700 watchdog: update watchdog_thresh properly commit b3738d29323344da3017a91010530cf3a58590fc Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Nov 17 20:07:03 2014 +0100 watchdog: Add watchdog enable/disable all functions Hence, it is now possible that these functions execute concurrently with the same 'cpu' argument. This concurrency is problematic because per-cpu 'watchdog_ev' can be accessed/modified without adequate synchronization. The patch series aims to address the above problem. However, instead of introducing locks to protect per-cpu 'watchdog_ev' a different approach is taken: Invoke these functions by parking and unparking the watchdog threads (to ensure they are always called in watchdog thread context). static struct smp_hotplug_thread watchdog_threads = { ... .park = watchdog_disable, // calls watchdog_nmi_disable() .unpark = watchdog_enable, // calls watchdog_nmi_enable() }; Both previously mentioned commits call these functions in a similar way and thus in principle contain some duplicate code. The patch series also avoids this duplication by providing a commonly usable mechanism. - Patch 1/4 introduces the watchdog_{park|unpark}_threads functions that park/unpark all watchdog threads specified in 'watchdog_cpumask'. They are intended to be called inside of kernel/watchdog.c only. - Patch 2/4 introduces the watchdog_{suspend|resume} functions which can be utilized by external callers to deactivate the hard and soft lockup detector temporarily. - Patch 3/4 utilizes watchdog_{park|unpark}_threads to replace some code that was introduced by commit 9809b18fcf6b8d8ec4d3643677345907e6b50eca. - Patch 4/4 utilizes watchdog_{suspend|resume} to replace some code that was introduced by commit b3738d29323344da3017a91010530cf3a58590fc. A few corner cases should be mentioned here for completeness. - kthread_park() of watchdog/N could hang if cpu N is already locked up. However, if watchdog is enabled the lockup will be detected anyway. - kthread_unpark() of watchdog/N could hang if cpu N got locked up after kthread_park(). The occurrence of this scenario should be _very_ rare in practice, in particular because it is not expected that temporary deactivation will happen frequently, and if it happens at all it is expected that the duration of deactivation will be short. This patch (of 4): introduce watchdog_park_threads() and watchdog_unpark_threads() These functions are intended to be used only from inside kernel/watchdog.c to park/unpark all watchdog threads that are specified in watchdog_cpumask. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aacfbe6a9724bb6d66a656a5abcc681d5649ed92 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 4 15:45:12 2015 -0700 kernel/watchdog: move NMI function header declarations from watchdog.h to nmi.h The kernel's NMI watchdog has nothing to do with the watchdog subsystem. Its header declarations should be in linux/nmi.h, not linux/watchdog.h. The code provided two sets of dummy functions if HARDLOCKUP_DETECTOR is not configured, one in the include file and one in kernel/watchdog.c. Remove the dummy functions from kernel/watchdog.c and use those from the include file. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 314b08ff5205420d956d14657e16d92c460a6f21 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Sep 4 15:45:09 2015 -0700 watchdog: simplify housekeeping affinity with the appropriate mask housekeeping_mask gathers all the CPUs that aren't part of the nohz_full set. This is exactly what we want the watchdog to be affine to without the need to use complicated cpumask operations. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 230ec93909f00678401cb2d63b8b95f1dea68e40 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Sep 4 15:45:06 2015 -0700 smpboot: allow passing the cpumask on per-cpu thread registration It makes the registration cheaper and simpler for the smpboot per-cpu kthread users that don't need to always update the cpumask after threads creation. [sfr@xxxxxxxxxxxxxxxx: fix for allow passing the cpumask on per-cpu thread registration] Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3dd08c0c918f9bf058572ddbf26e7d6fb5674a5c Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Sep 4 15:45:03 2015 -0700 smpboot: make cleanup to mirror setup The per-cpu kthread cleanup() callback is the mirror of the setup() callback. When the per-cpu kthread is started, it first calls setup() to initialize the resources which are then released by cleanup() when the kthread exits. Now since the introduction of a per-cpu kthread cpumask, the kthreads excluded by the cpumask on boot may happen to be parked immediately after their creation without taking the setup() stage, waiting to be asked to unpark to do so. Then when smpboot_unregister_percpu_thread() is later called, the kthread is stopped without having ever called setup(). But this triggers a bug as the kthread unconditionally calls cleanup() on exit but this doesn't mirror any setup(). Thus the kernel crashes because we try to free resources that haven't been initialized, as in the watchdog case: WATCHDOG disable 0 WATCHDOG disable 1 WATCHDOG disable 2 BUG: unable to handle kernel NULL pointer dereference at (null) IP: hrtimer_active+0x26/0x60 [...] Call Trace: hrtimer_try_to_cancel+0x1c/0x280 hrtimer_cancel+0x1d/0x30 watchdog_disable+0x56/0x70 watchdog_cleanup+0xe/0x10 smpboot_thread_fn+0x23c/0x2c0 kthread+0xf8/0x110 ret_from_fork+0x3f/0x70 This bug is currently masked with explicit kthread unparking before kthread_stop() on smpboot_destroy_threads(). This forces a call to setup() and then unpark(). We could fix this by unconditionally calling setup() on kthread entry. But setup() isn't always cheap. In the case of watchdog it launches hrtimer, perf events, etc... So we may as well like to skip it if there are chances the kthread will never be used, as in a reduced cpumask value. So let's simply do a state machine check before calling cleanup() that makes sure setup() has been called before mirroring it. And remove the nasty hack workaround. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5869b5064b0950afc447610c0f5d4134b71d9e94 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Sep 4 15:45:00 2015 -0700 smpboot: fix memory leak on error handling The cpumask is allocated before threads get created. If the latter step fails, we need to free the cpumask. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a068acf2ee77693e0bf39d6e07139ba704f461c3 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Fri Sep 4 15:44:57 2015 -0700 fs: create and use seq_show_option for escaping Many file systems that implement the show_options hook fail to correctly escape their output which could lead to unescaped characters (e.g. new lines) leaking into /proc/mounts and /proc/[pid]/mountinfo files. This could lead to confusion, spoofed entries (resulting in things like systemd issuing false d-bus "mount" notifications), and who knows what else. This looks like it would only be the root user stepping on themselves, but it's possible weird things could happen in containers or in other situations with delegated mount privileges. Here's an example using overlay with setuid fusermount trusting the contents of /proc/mounts (via the /etc/mtab symlink). Imagine the use of "sudo" is something more sneaky: $ BASE="ovl" $ MNT="$BASE/mnt" $ LOW="$BASE/lower" $ UP="$BASE/upper" $ WORK="$BASE/work/ 0 0 none /proc fuse.pwn user_id=1000" $ mkdir -p "$LOW" "$UP" "$WORK" $ sudo mount -t overlay -o "lowerdir=$LOW,upperdir=$UP,workdir=$WORK" none /mnt $ cat /proc/mounts none /root/ovl/mnt overlay rw,relatime,lowerdir=ovl/lower,upperdir=ovl/upper,workdir=ovl/work/ 0 0 none /proc fuse.pwn user_id=1000 0 0 $ fusermount -u /proc $ cat /proc/mounts cat: /proc/mounts: No such file or directory This fixes the problem by adding new seq_show_option and seq_show_option_n helpers, and updating the vulnerable show_option handlers to use them as needed. Some, like SELinux, need to be open coded due to unusual existing escape mechanisms. [akpm@xxxxxxxxxxxxxxxxxxxx: add lost chunk, per Kees] [keescook@xxxxxxxxxxxx: seq_show_option should be using const parameters] Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Acked-by: Jan Kara <jack@xxxxxxxx> Acked-by: Paul Moore <paul@xxxxxxxxxxxxxx> Cc: J. R. Okajima <hooanon05g@xxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 46359295a352e01a5a017297c70b7ee0c5da6de6 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:44:54 2015 -0700 ocfs2: clean up redundant NULL checks before kfree NULL check before kfree is redundant and so clean them up. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7ecef14ab1db961545354fa443749aeda2ea1b75 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Sep 4 15:44:51 2015 -0700 ocfs2: neaten do_error, ocfs2_error and ocfs2_abort These uses sometimes do and sometimes don't have '\n' terminations. Make the uses consistently use '\n' terminations and remove the newline from the functions. Miscellanea: o Coalesce formats o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0c97d52f5e1de125394d748be7bd5763fd9ed9e Author: Xue jiufei <xuejiufei@xxxxxxxxxx> Date: Fri Sep 4 15:44:48 2015 -0700 ocfs2: do not set fs read-only if rec[0] is empty while committing truncate While appending an extent to a file, it will call these functions: ocfs2_insert_extent -> call ocfs2_grow_tree() if there's no free rec -> ocfs2_add_branch add a new branch to extent tree, now rec[0] in the leaf of rightmost path is empty -> ocfs2_do_insert_extent -> ocfs2_rotate_tree_right -> ocfs2_extend_rotate_transaction -> jbd2_journal_restart if jbd2_journal_extend fail -> ocfs2_insert_path -> ocfs2_extend_trans -> jbd2_journal_restart if jbd2_journal_extend fail -> ocfs2_insert_at_leaf -> ocfs2_et_update_clusters Function jbd2_journal_restart() may be called and it may happened that buffers dirtied in ocfs2_add_branch() are committed while buffers dirtied in ocfs2_insert_at_leaf() and ocfs2_et_update_clusters() are not. So an empty rec[0] is left in rightmost path which will cause read-only filesystem when call ocfs2_commit_truncate() with the error message: "Inode %lu has an empty extent record". This is not a serious problem, so remove the rightmost path when call ocfs2_commit_truncate(). Signed-off-by: joyce.xue <xuejiufei@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f27ec978b0ef37391262bbf15c587fd8526e268 Author: yangwenfang <vicky.yangwenfang@xxxxxxxxxx> Date: Fri Sep 4 15:44:45 2015 -0700 ocfs2: call ocfs2_journal_access_di() before ocfs2_journal_dirty() in ocfs2_write_end_nolock() 1: After we call ocfs2_journal_access_di() in ocfs2_write_begin(), jbd2_journal_restart() may also be called, in this function transaction A's t_updates-- and obtains a new transaction B. If jbd2_journal_commit_transaction() is happened to commit transaction A, when t_updates==0, it will continue to complete commit and unfile buffer. So when jbd2_journal_dirty_metadata(), the handle is pointed a new transaction B, and the buffer head's journal head is already freed, jh->b_transaction == NULL, jh->b_next_transaction == NULL, it returns EINVAL, So it triggers the BUG_ON(status). thread 1 jbd2 ocfs2_write_begin jbd2_journal_commit_transaction ocfs2_write_begin_nolock ocfs2_start_trans jbd2__journal_start(t_updates+1, transaction A) ocfs2_journal_access_di ocfs2_write_cluster_by_desc ocfs2_mark_extent_written ocfs2_change_extent_flag ocfs2_split_extent ocfs2_extend_rotate_transaction jbd2_journal_restart (t_updates-1,transaction B) t_updates==0 __jbd2_journal_refile_buffer (jh->b_transaction = NULL) ocfs2_write_end ocfs2_write_end_nolock ocfs2_journal_dirty jbd2_journal_dirty_metadata(bug) ocfs2_commit_trans 2. In ext4, I found that: jbd2_journal_get_write_access() called by ext4_write_end. ext4_write_begin ext4_journal_start __ext4_journal_start_sb ext4_journal_check_start jbd2__journal_start ext4_write_end ext4_mark_inode_dirty ext4_reserve_inode_write ext4_journal_get_write_access jbd2_journal_get_write_access ext4_mark_iloc_dirty ext4_do_update_inode ext4_handle_dirty_metadata jbd2_journal_dirty_metadata 3. So I think we should put ocfs2_journal_access_di before ocfs2_journal_dirty in the ocfs2_write_end. and it works well after my modification. Signed-off-by: vicky <vicky.yangwenfang@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Zhangguanghui <zhang.guanghui@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 40476b8294466d40e7db57b4cbf69a831a4486b8 Author: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Date: Fri Sep 4 15:44:43 2015 -0700 ocfs2: use 64bit variables to track heartbeat time o2hb_elapsed_msecs computes the time taken for a disk heartbeat. 'struct timeval' variables are used to store start and end times. On 32-bit systems, the 'tv_sec' component of 'struct timeval' will overflow in year 2038 and beyond. This patch solves the overflow with the following: 1. Replace o2hb_elapsed_msecs using 'ktime_t' values to measure start and end time, and built-in function 'ktime_ms_delta' to compute the elapsed time. ktime_get_real() is used since the code prints out the wallclock time. 2. Changes format string to print time as a single 64-bit nanoseconds value ("%lld") instead of seconds and microseconds. This simplifies the code since converting ktime_t to that format would need expensive computation. However, the debug log string is less readable than the previous format. Signed-off-by: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Suggested by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad694821224634d46b6571f0161e85ac2e397396 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:44:40 2015 -0700 ocfs2: fix race between crashed dio and rm There is a race case between crashed dio and rm, which will lead to OCFS2_VALID_FL not set read-only. N1 N2 ------------------------------------------------------------------------ dd with direct flag rm file crashed with an dio entry left in orphan dir clear OCFS2_VALID_FL in ocfs2_remove_inode recover N1 and read the corrupted inode, and set filesystem read-only So we skip the inode deletion this time and wait for dio entry recovered first. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f57a22ddecd6f26040a67e2c12880f98f88b6e00 Author: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Date: Fri Sep 4 15:44:37 2015 -0700 ocfs2: avoid access invalid address when read o2dlm debug messages The following case will lead to a lockres is freed but is still in use. cat /sys/kernel/debug/o2dlm/locking_state dlm_thread lockres_seq_start -> lock dlm->track_lock -> get resA resA->refs decrease to 0, call dlm_lockres_release, and wait for "cat" unlock. Although resA->refs is already set to 0, increase resA->refs, and then unlock lock dlm->track_lock -> list_del_init() -> unlock -> free resA In such a race case, invalid address access may occurs. So we should delete list res->tracking before resA->refs decrease to 0. Signed-off-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 743b5f1434f57a147226c747fe228cadeb7b05ed Author: Tariq Saeed <tariq.x.saeed@xxxxxxxxxx> Date: Fri Sep 4 15:44:34 2015 -0700 ocfs2: take inode lock in ocfs2_iop_set/get_acl() This bug in mainline code is pointed out by Mark Fasheh. When ocfs2_iop_set_acl() and ocfs2_iop_get_acl() are entered from VFS layer, inode lock is not held. This seems to be regression from older kernels. The patch is to fix that. Orabug: 20189959 Signed-off-by: Tariq Saeed <tariq.x.saeed@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3d46a44a0c01b15d385ccaae24b56f619613c256 Author: Tariq Saeed <tariq.x.saeed@xxxxxxxxxx> Date: Fri Sep 4 15:44:31 2015 -0700 ocfs2: fix BUG_ON() in ocfs2_ci_checkpointed() PID: 614 TASK: ffff882a739da580 CPU: 3 COMMAND: "ocfs2dc" #0 [ffff882ecc3759b0] machine_kexec at ffffffff8103b35d #1 [ffff882ecc375a20] crash_kexec at ffffffff810b95b5 #2 [ffff882ecc375af0] oops_end at ffffffff815091d8 #3 [ffff882ecc375b20] die at ffffffff8101868b #4 [ffff882ecc375b50] do_trap at ffffffff81508bb0 #5 [ffff882ecc375ba0] do_invalid_op at ffffffff810165e5 #6 [ffff882ecc375c40] invalid_op at ffffffff815116fb [exception RIP: ocfs2_ci_checkpointed+208] RIP: ffffffffa0a7e940 RSP: ffff882ecc375cf0 RFLAGS: 00010002 RAX: 0000000000000001 RBX: 000000000000654b RCX: ffff8812dc83f1f8 RDX: 00000000000017d9 RSI: ffff8812dc83f1f8 RDI: ffffffffa0b2c318 RBP: ffff882ecc375d20 R8: ffff882ef6ecfa60 R9: ffff88301f272200 R10: 0000000000000000 R11: 0000000000000000 R12: ffffffffffffffff R13: ffff8812dc83f4f0 R14: 0000000000000000 R15: ffff8812dc83f1f8 ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018 #7 [ffff882ecc375d28] ocfs2_check_meta_downconvert at ffffffffa0a7edbd [ocfs2] #8 [ffff882ecc375d38] ocfs2_unblock_lock at ffffffffa0a84af8 [ocfs2] #9 [ffff882ecc375dc8] ocfs2_process_blocked_lock at ffffffffa0a85285 [ocfs2] #10 [ffff882ecc375e18] ocfs2_downconvert_thread_do_work at ffffffffa0a85445 [ocfs2] #11 [ffff882ecc375e68] ocfs2_downconvert_thread at ffffffffa0a854de [ocfs2] #12 [ffff882ecc375ee8] kthread at ffffffff81090da7 #13 [ffff882ecc375f48] kernel_thread_helper at ffffffff81511884 assert is tripped because the tran is not checkpointed and the lock level is PR. Some time ago, chmod command had been executed. As result, the following call chain left the inode cluster lock in PR state, latter on causing the assert. system_call_fastpath -> my_chmod -> sys_chmod -> sys_fchmodat -> notify_change -> ocfs2_setattr -> posix_acl_chmod -> ocfs2_iop_set_acl -> ocfs2_set_acl -> ocfs2_acl_set_mode Here is how. 1119 int ocfs2_setattr(struct dentry *dentry, struct iattr *attr) 1120 { 1247 ocfs2_inode_unlock(inode, 1); <<< WRONG thing to do. .. 1258 if (!status && attr->ia_valid & ATTR_MODE) { 1259 status = posix_acl_chmod(inode, inode->i_mode); 519 posix_acl_chmod(struct inode *inode, umode_t mode) 520 { .. 539 ret = inode->i_op->set_acl(inode, acl, ACL_TYPE_ACCESS); 287 int ocfs2_iop_set_acl(struct inode *inode, struct posix_acl *acl, ... 288 { 289 return ocfs2_set_acl(NULL, inode, NULL, type, acl, NULL, NULL); 224 int ocfs2_set_acl(handle_t *handle, 225 struct inode *inode, ... 231 { .. 252 ret = ocfs2_acl_set_mode(inode, di_bh, 253 handle, mode); 168 static int ocfs2_acl_set_mode(struct inode *inode, struct buffer_head ... 170 { 183 if (handle == NULL) { >>> BUG: inode lock not held in ex at this point <<< 184 handle = ocfs2_start_trans(OCFS2_SB(inode->i_sb), 185 OCFS2_INODE_UPDATE_CREDITS); ocfs2_setattr.#1247 we unlock and at #1259 call posix_acl_chmod. When we reach ocfs2_acl_set_mode.#181 and do trans, the inode cluster lock is not held in EX mode (it should be). How this could have happended? We are the lock master, were holding lock EX and have released it in ocfs2_setattr.#1247. Note that there are no holders of this lock at this point. Another node needs the lock in PR, and we downconvert from EX to PR. So the inode lock is PR when do the trans in ocfs2_acl_set_mode.#184. The trans stays in core (not flushed to disc). Now another node want the lock in EX, downconvert thread gets kicked (the one that tripped assert abovt), finds an unflushed trans but the lock is not EX (it is PR). If the lock was at EX, it would have flushed the trans ocfs2_ci_checkpointed -> ocfs2_start_checkpoint before downconverting (to NULL) for the request. ocfs2_setattr must not drop inode lock ex in this code path. If it does, takes it again before the trans, say in ocfs2_set_acl, another cluster node can get in between, execute another setattr, overwriting the one in progress on this node, resulting in a mode acl size combo that is a mix of the two. Orabug: 20189959 Signed-off-by: Tariq Saeed <tariq.x.saeed@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Joseph Qi <joseph.qi@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 72f6fe1fe5a386225cdc30f025681830a63a117e Author: Norton.Zhu <norton.zhu@xxxxxxxxxx> Date: Fri Sep 4 15:44:28 2015 -0700 ocfs2: optimize error handling in dlm_request_join Currently error handling in dlm_request_join is a little obscure, so optimize it to promote readability. If packet.code is invalid, reset it to JOIN_DISALLOW to keep it meaningful. It only influences the log printing. Signed-off-by: Norton.Zhu <norton.zhu@xxxxxxxxxx> Cc: Srinivas Eeda <srinivas.eeda@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 928dda1f9433f024ac48c3d97ae683bf83dd0e42 Author: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Date: Fri Sep 4 15:44:25 2015 -0700 ocfs2: fix a tiny case that inode can not removed When running dirop_fileop_racer we found a case that inode can not removed. Two nodes, say Node A and Node B, mount the same ocfs2 volume. Create two dirs /race/1/ and /race/2/ in the filesystem. Node A Node B rm -r /race/2/ mv /race/1/ /race/2/ call ocfs2_unlink(), get the EX mode of /race/2/ wait for B unlock /race/2/ decrease i_nlink of /race/2/ to 0, and add inode of /race/2/ into orphan dir, unlock /race/2/ got EX mode of /race/2/. because /race/1/ is dir, so inc i_nlink of /race/2/ and update into disk, unlock /race/2/ because i_nlink of /race/2/ is not zero, this inode will always remain in orphan dir This patch fixes this case by test whether i_nlink of new dir is zero. Signed-off-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Xue jiufei <xuejiufei@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6ab855a99b735c227ad1e0deda636833f41c5b87 Author: WeiWei Wang <wangww631@xxxxxxxxxx> Date: Fri Sep 4 15:44:23 2015 -0700 ocfs2: add ip_alloc_sem in direct IO to protect allocation changes In ocfs2, ip_alloc_sem is used to protect allocation changes on the node. In direct IO, we add ip_alloc_sem to protect date consistent between direct-io and ocfs2_truncate_file race (buffer io use ip_alloc_sem already). Although inode->i_mutex lock is used to avoid concurrency of above situation, i think ip_alloc_sem is still needed because protect allocation changes is significant. Other filesystem like ext4 also uses rw_semaphore to protect data consistent between get_block-vs-truncate race by other means, So ip_alloc_sem in ocfs2 direct io is needed. Signed-off-by: Weiwei Wang <wangww631@xxxxxxxxxx> Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 34237681e02ad1617138926f437d0a147249ec13 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Fri Sep 4 15:44:20 2015 -0700 ocfs2: clear the rest of the buffers on error In case a validation fails, clear the rest of the buffers and return the error to the calling function. This also facilitates bubbling up the error originating from ocfs2_error to calling functions. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 17a5b9ab32fe0464e7f556e28a2b49d2023fb533 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Fri Sep 4 15:44:17 2015 -0700 ocfs2: acknowledge return value of ocfs2_error() Caveat: This may return -EROFS for a read case, which seems wrong. This is happening even without this patch series though. Should we convert EROFS to EIO? Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d0fb9148ab6f52006de7cce18860227594ba872 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxx> Date: Fri Sep 4 15:44:11 2015 -0700 ocfs2: add errors=continue OCFS2 is often used in high-availaibility systems. However, ocfs2 converts the filesystem to read-only at the drop of the hat. This may not be necessary, since turning the filesystem read-only would affect other running processes as well, decreasing availability. This attempt is to add errors=continue, which would return the EIO to the calling process and terminate furhter processing so that the filesystem is not corrupted further. However, the filesystem is not converted to read-only. As a future plan, I intend to create a small utility or extend fsck.ocfs2 to fix small errors such as in the inode. The input to the utility such as the inode can come from the kernel logs so we don't have to schedule a downtime for fixing small-enough errors. The patch changes the ocfs2_error to return an error. The error returned depends on the mount option set. If none is set, the default is to turn the filesystem read-only. Perhaps errors=continue is not the best option name. Historically it is used for making an attempt to progress in the current process itself. Should we call it errors=eio? or errors=killproc? Suggestions/Comments welcome. Sources are available at: https://github.com/goldwynr/linux/tree/error-cont Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 513e2dae9422223072ed3887e91efebec2fc0a01 Author: Xue jiufei <xuejiufei@xxxxxxxxxx> Date: Fri Sep 4 15:44:11 2015 -0700 ocfs2: flush inode data to disk and free inode when i_count becomes zero Disk inode deletion may be heavily delayed when one node unlink a file after the same dentry is freed on another node(say N1) because of memory shrink but inode is left in memory. This inode can only be freed while N1 doing the orphan scan work. However, N1 may skip orphan scan for several times because other nodes may do the work earlier. In our tests, it may take 1 hour on 4 nodes cluster and it hurts the user experience. So we think the inode should be freed after the data flushed to disk when i_count becomes zero to avoid such circumstances. Signed-off-by: Joyce.xue <xuejiufei@xxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f5e7b41f91814447defc34e915fc5d6e52266d9 Author: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Date: Fri Sep 4 15:44:08 2015 -0700 ocfs2: trusted xattr missing CAP_SYS_ADMIN check The trusted extended attributes are only visible to the process which hvae CAP_SYS_ADMIN capability but the check is missing in ocfs2 xattr_handler trusted list. The check is important because this will be used for implementing mechanisms in the userspace for which other ordinary processes should not have access to. Signed-off-by: Sanidhya Kashyap <sanidhya.gatech@xxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Taesoo kim <taesoo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 807a7907114c7c703017ed7a96477a2eeb0d08e0 Author: jiangyiwen <jiangyiwen@xxxxxxxxxx> Date: Fri Sep 4 15:44:06 2015 -0700 ocfs2: set filesytem read-only when ocfs2_delete_entry failed. In ocfs2_rename, it will lead to an inode with two entried(old and new) if ocfs2_delete_entry(old) failed. Thus, filesystem will be inconsistent. The case is described below: ocfs2_rename -> ocfs2_start_trans -> ocfs2_add_entry(new) -> ocfs2_delete_entry(old) -> __ocfs2_journal_access *failed* because of -ENOMEM -> ocfs2_commit_trans So filesystem should be set to read-only at the moment. Signed-off-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Cc: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f83c7b5e9fd633fe91128af116e6472a8c4d29a5 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:44:03 2015 -0700 ocfs2/dlm: use list_for_each_entry instead of list_for_each Use list_for_each_entry instead of list_for_each to simplify code. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0e3d9eafb86183a33efc42f0beff5afceebbafba Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:44:00 2015 -0700 ocfs2: remove unneeded code in dlm_register_domain_handlers The last goto statement is unneeded, so remove it. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdd09f49cb271d95cbe69ef886459e0490040e98 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:57 2015 -0700 ocfs2: fix BUG when o2hb_register_callback fails In dlm_register_domain_handlers, if o2hb_register_callback fails, it will call dlm_unregister_domain_handlers to unregister. This will trigger the BUG_ON in o2hb_unregister_callback because hc_magic is 0. So we should call o2hb_setup_callback to initialize hc first. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 914a9b74295774b92409fbc3e0abcfa9185d9469 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:54 2015 -0700 ocfs2: remove unneeded code in ocfs2_dlm_init status is already initialized and it will only be 0 or negatives in the code flow. So remove the unneeded assignment after the lable 'local'. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3cb2ec43f63c42412a18620f1226eb4aa434a7a8 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:52 2015 -0700 ocfs2: adjust code to match locking/unlocking order Unlocking order in ocfs2_unlink and ocfs2_rename mismatches the corresponding locking order, although it won't cause issues, adjust the code so that it looks more reasonable. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bf59e6623a3a92a2bf428f2d6592c81aae6317e1 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:49 2015 -0700 ocfs2: clean up unused local variables in ocfs2_file_write_iter Since commit 86b9c6f3f891 ("ocfs2: remove filesize checks for sync I/O journal commit") removes filesize checks for sync I/O journal commit, variables old_size and old_clusters are not actually used any more. So clean them up. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 372a447c4bb8271d128def5f93e3365d5d06b4d8 Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Fri Sep 4 15:43:46 2015 -0700 ocfs2: do not log twice error messages 'o2hb_map_slot_data' and 'o2hb_populate_slot_data' are called from only one place, in 'o2hb_region_dev_write'. Return value is checked and 'mlog_errno' is called to log a message if it is not 0. So there is no need to call 'mlog_errno' directly within these functions. This would result on logging the message twice. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit acf8fdbe6afb084666df347602fe4258f1cf5fd5 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:43 2015 -0700 ocfs2: do not BUG if buffer not uptodate in __ocfs2_journal_access When storage network is unstable, it may trigger the BUG in __ocfs2_journal_access because of buffer not uptodate. We can retry the write in this case or return error instead of BUG. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reported-by: Zhangguanghui <zhang.guanghui@xxxxxxx> Tested-by: Zhangguanghui <zhang.guanghui@xxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit faaebf18f831c1546bdc65ff8f49d2a73e675ded Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:40 2015 -0700 ocfs2: fix several issues of append dio 1) Take rw EX lock in case of append dio. 2) Explicitly treat the error code -EIOCBQUEUED as normal. 3) Set di_bh to NULL after brelse if it may be used again later. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Cc: Weiwei Wang <wangww631@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 512f62acbdf1ee81ce4882c85835f5420a1c304c Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Fri Sep 4 15:43:37 2015 -0700 ocfs2: fix race between dio and recover orphan During direct io the inode will be added to orphan first and then deleted from orphan. There is a race window that the orphan entry will be deleted twice and thus trigger the BUG when validating OCFS2_DIO_ORPHANED_FL in ocfs2_del_inode_from_orphan. ocfs2_direct_IO_write ... ocfs2_add_inode_to_orphan >>>>>>>> race window. 1) another node may rm the file and then down, this node take care of orphan recovery and clear flag OCFS2_DIO_ORPHANED_FL. 2) since rw lock is unlocked, it may race with another orphan recovery and append dio. ocfs2_del_inode_from_orphan So take inode mutex lock when recovering orphans and make rw unlock at the end of aio write in case of append dio. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reported-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Cc: Weiwei Wang <wangww631@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81cf09edc793688cbf53c3082802571e2018f3ac Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Fri Sep 4 15:43:35 2015 -0700 sh: use PFN_DOWN macro Replace ((x) >> PAGE_SHIFT) with the predefined PFN_DOWN macro. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 917520e100e1db5e8dd546dd94fef070a31652a5 Author: SF Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 15:43:32 2015 -0700 ntfs: delete unnecessary checks before calling iput() iput() tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Reviewed-by: Anton Altaparmakov <anton@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 35108d71383c5f4abc286430c0b5da79d22553f9 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Fri Sep 4 15:43:29 2015 -0700 scripts/spelling.txt: add some typo-words I wrote a small script to show word-pair from all linux spelling-typo commits, and get following result by sort | uniq -c: 181 occured -> occurred 78 transfered -> transferred 67 recieved -> received 65 dependant -> dependent 58 wether -> whether 56 accomodate -> accommodate 54 occured -> occurred 51 recieve -> receive 47 cant -> can't 40 sucessfully -> successfully ... Some of them are not in spelling.txt, this patch adds the most common word-pairs into spelling.txt. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e260fe01fa39eddb05bd8b70fad5bc9a129648f2 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Fri Sep 4 15:43:26 2015 -0700 scripts: decode_stacktrace: fix ARM architecture decoding Fix the stack decoder for the ARM architecture. An ARM stack is designed as : [ 81.547704] [<c023eb04>] (bucket_find_contain) from [<c023ec88>] (check_sync+0x40/0x4f8) [ 81.559668] [<c023ec88>] (check_sync) from [<c023f8c4>] (debug_dma_sync_sg_for_cpu+0x128/0x194) [ 81.571583] [<c023f8c4>] (debug_dma_sync_sg_for_cpu) from [<c0327dec>] (__videobuf_s The current script doesn't expect the symbols to be bound by parenthesis, and triggers the following errors : awk: cmd. line:1: error: Unmatched ( or \(: / (check_sync$/ [ 81.547704] (bucket_find_contain) from (check_sync+0x40/0x4f8) Fix it by chopping starting and ending parenthesis from the each symbol name. As a side note, this probably comes from the function dump_backtrace_entry(), which is implemented differently for each architecture. That makes a single decoding script a bit a challenge. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fa70900e0984792cc45a9e51c28684c3287058c2 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Sep 4 15:43:24 2015 -0700 scripts/Lindent: handle missing indent gracefully If indent is not found, bail out immediately instead of spitting random shell script error messages. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d40e1e6532efbb40f8fc1f5af093063a3d186754 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Sep 4 15:43:21 2015 -0700 kerneldoc: Convert error messages to GNU error message format Editors like emacs and vi recognize a number of error message formats. The format used by the kerneldoc tool is not recognized by emacs. Change the kerneldoc error message format to the GNU style such that the emacs prev-error and next-error commands can be used to navigate through kerneldoc error messages. For more information about the GNU error message format, see also https://www.gnu.org/prep/standards/html_node/Errors.html. This patch has been generated via the following sed command: sed -i.orig 's/Error(\${file}:\$.):/\${file}:\$.: error:/g;s/Warning(\${file}:\$.):/\${file}:\$.: warning:/g;s/Warning(\${file}):/\${file}:1: warning:/g;s/Info(\${file}:\$.):/\${file}:\$.: info:/g' scripts/kernel-doc Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Johannes Berg <johannes.berg@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c22b6ae69ee93c1ecc6821847a8542163fbf3e1a Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 15:43:18 2015 -0700 scripts/spelling.txt: spelling of uninitialized I just did a spelling mistake of uninitialized and wrote that as unintialized. Fortunately I noticed it in my final review. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 779a6ce877bf711323f998b3a7382cdbe7350d87 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Fri Sep 4 15:43:15 2015 -0700 scripts/spelling.txt: add misspelled words for check misspelled words for check:- chcek chck cehck I myself did these spell mistakes in changelog for patches, Thus suggesting to add in spelling.txt, so that checkpatch.pl warns it earlier. References:- ./arch/powerpc/kernel/exceptions-64e.S:456: . . . make sure you chcek https://lkml.org/lkml/2015/6/25/289 ./arch/x86/mm/pageattr.c:1368: * No need to cehck in that case [akpm@xxxxxxxxxxxxxxxxxxxx: add whcih->which, whcih I always get wrong] Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4712e722f91457e60723b9cef6265a74290efba9 Author: Jan Kara <jack@xxxxxxxx> Date: Fri Sep 4 15:43:12 2015 -0700 fsnotify: get rid of fsnotify_destroy_mark_locked() fsnotify_destroy_mark_locked() is subtle to use because it temporarily releases group->mark_mutex. To avoid future problems with this function, split it into two. fsnotify_detach_mark() is the part that needs group->mark_mutex and fsnotify_free_mark() is the part that must be called outside of group->mark_mutex. This way it's much clearer what's going on and we also avoid some pointless acquisitions of group->mark_mutex. Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 925d1132a03e33cb8f29a0057300d023b4f1be23 Author: Jan Kara <jack@xxxxxxxx> Date: Fri Sep 4 15:43:09 2015 -0700 fsnotify: remove mark->free_list Free list is used when all marks on given inode / mount should be destroyed when inode / mount is going away. However we can free all of the marks without using a special list with some care. Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1e39fc01836d02a11515aaabd97a0a938326bfe2 Author: Jan Kara <jack@xxxxxxxx> Date: Fri Sep 4 15:43:06 2015 -0700 fsnotify: document mark locking Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3c53e514212455db9923c203694a72007558b48f Author: Jan Kara <jack@xxxxxxx> Date: Fri Sep 4 15:43:03 2015 -0700 fsnotify: fix check in inotify fdinfo printing A check in inotify_fdinfo() checking whether mark is valid was always true due to a bug. Luckily we can never get to invalidated marks since we hold mark_mutex and invalidated marks get removed from the group list when they are invalidated under that mutex. Anyway fix the check to make code more future proof. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c49b8616460ebb12ee56d80d1abfbc20b6f3cbb Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:43:01 2015 -0700 fs/notify: optimize inotify/fsnotify code for unwatched files I have a _tiny_ microbenchmark that sits in a loop and writes single bytes to a file. Writing one byte to a tmpfs file is around 2x slower than reading one byte from a file, which is a _bit_ more than I expecte. This is a dumb benchmark, but I think it's hard to deny that write() is a hot path and we should avoid unnecessary overhead there. I did a 'perf record' of 30-second samples of read and write. The top item in a diffprofile is srcu_read_lock() from fsnotify(). There are active inotify fd's from systemd, but nothing is actually listening to the file or its part of the filesystem. I *think* we can avoid taking the srcu_read_lock() for the common case where there are no actual marks on the file. This means that there will both be nothing to notify for *and* implies that there is no need for clearing the ignore mask. This patch gave a 13.1% speedup in writes/second on my test, which is an improvement from the 10.8% that I saw with the last version. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxx> Cc: John McCutchan <john@xxxxxxxxxxxxxxxxx> Cc: Robert Love <rlove@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 031e29b5877f31676739dc2f847d04c2c0732034 Author: Yuriy Kolerov <yuriy.kolerov@xxxxxxxxxxxx> Date: Fri Sep 4 15:42:58 2015 -0700 drivers/video/concole: add negative dependency for VGA_CONSOLE on ARC Architectures which support VGA console must define screen_info structurture from "uapi/linux/screen_info.h". Otherwise undefined symbol error occurs. Usually it's defined in "setup.c" for each architecture. If an architecture does not support VGA console (ARC's case) there are 2 ways: define a dummy instance of screen_info or add a negative dependency for VGA_CONSOLE in to prevent selecting this option. I've implemented the second way. However the best solution is to add HAVE_VGA_CONSOLE option for targets which support VGA console. Then turn off VGA_CONSOLE by default and add dependency to HAVE_VGA_CONSOLE. But right now it's better to just add a negative dependency for ARC and then consider how to collaborate about this issue with maintainers of other architectures. Signed-off-by: Yuriy Kolerov <yuriy.kolerov@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Jaya Kumar <jayalk@xxxxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 746bf6d64275be0c65b0631d8a72b16f1454cfa1 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Sep 4 15:42:51 2015 -0700 capabilities: add a securebit to disable PR_CAP_AMBIENT_RAISE Per Andrew Morgan's request, add a securebit to allow admins to disable PR_CAP_AMBIENT_RAISE. This securebit will prevent processes from adding capabilities to their ambient set. For simplicity, this disables PR_CAP_AMBIENT_RAISE entirely rather than just disabling setting previously cleared bits. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Andrew G. Morgan <morgan@xxxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Aaron Jones <aaronmdjones@xxxxxxxxx> Cc: Ted Ts'o <tytso@xxxxxxx> Cc: Andrew G. Morgan <morgan@xxxxxxxxxx> Cc: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: Austin S Hemmelgarn <ahferroin7@xxxxxxxxx> Cc: Markku Savela <msa@xxxxxxxxxxx> Cc: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: James Morris <james.l.morris@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 32ae976ed3b5ba39c9208ace41bcdf4157d21db3 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Sep 4 15:42:48 2015 -0700 selftests/capabilities: Add tests for capability evolution This test focuses on ambient capabilities. It requires either root or the ability to create user namespaces. Some of the test cases will be skipped for nonroot users. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> # Original author Cc: Serge E. Hallyn <serge.hallyn@xxxxxxxxxx> Cc: James Morris <james.l.morris@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58319057b7847667f0c9585b9de0e8932b0fdb08 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Sep 4 15:42:45 2015 -0700 capabilities: ambient capabilities Credit where credit is due: this idea comes from Christoph Lameter with a lot of valuable input from Serge Hallyn. This patch is heavily based on Christoph's patch. ===== The status quo ===== On Linux, there are a number of capabilities defined by the kernel. To perform various privileged tasks, processes can wield capabilities that they hold. Each task has four capability masks: effective (pE), permitted (pP), inheritable (pI), and a bounding set (X). When the kernel checks for a capability, it checks pE. The other capability masks serve to modify what capabilities can be in pE. Any task can remove capabilities from pE, pP, or pI at any time. If a task has a capability in pP, it can add that capability to pE and/or pI. If a task has CAP_SETPCAP, then it can add any capability to pI, and it can remove capabilities from X. Tasks are not the only things that can have capabilities; files can also have capabilities. A file can have no capabilty information at all [1]. If a file has capability information, then it has a permitted mask (fP) and an inheritable mask (fI) as well as a single effective bit (fE) [2]. File capabilities modify the capabilities of tasks that execve(2) them. A task that successfully calls execve has its capabilities modified for the file ultimately being excecuted (i.e. the binary itself if that binary is ELF or for the interpreter if the binary is a script.) [3] In the capability evolution rules, for each mask Z, pZ represents the old value and pZ' represents the new value. The rules are: pP' = (X & fP) | (pI & fI) pI' = pI pE' = (fE ? pP' : 0) X is unchanged For setuid binaries, fP, fI, and fE are modified by a moderately complicated set of rules that emulate POSIX behavior. Similarly, if euid == 0 or ruid == 0, then fP, fI, and fE are modified differently (primary, fP and fI usually end up being the full set). For nonroot users executing binaries with neither setuid nor file caps, fI and fP are empty and fE is false. As an extra complication, if you execute a process as nonroot and fE is set, then the "secure exec" rules are in effect: AT_SECURE gets set, LD_PRELOAD doesn't work, etc. This is rather messy. We've learned that making any changes is dangerous, though: if a new kernel version allows an unprivileged program to change its security state in a way that persists cross execution of a setuid program or a program with file caps, this persistent state is surprisingly likely to allow setuid or file-capped programs to be exploited for privilege escalation. ===== The problem ===== Capability inheritance is basically useless. If you aren't root and you execute an ordinary binary, fI is zero, so your capabilities have no effect whatsoever on pP'. This means that you can't usefully execute a helper process or a shell command with elevated capabilities if you aren't root. On current kernels, you can sort of work around this by setting fI to the full set for most or all non-setuid executable files. This causes pP' = pI for nonroot, and inheritance works. No one does this because it's a PITA and it isn't even supported on most filesystems. If you try this, you'll discover that every nonroot program ends up with secure exec rules, breaking many things. This is a problem that has bitten many people who have tried to use capabilities for anything useful. ===== The proposed change ===== This patch adds a fifth capability mask called the ambient mask (pA). pA does what most people expect pI to do. pA obeys the invariant that no bit can ever be set in pA if it is not set in both pP and pI. Dropping a bit from pP or pI drops that bit from pA. This ensures that existing programs that try to drop capabilities still do so, with a complication. Because capability inheritance is so broken, setting KEEPCAPS, using setresuid to switch to nonroot uids, and then calling execve effectively drops capabilities. Therefore, setresuid from root to nonroot conditionally clears pA unless SECBIT_NO_SETUID_FIXUP is set. Processes that don't like this can re-add bits to pA afterwards. The capability evolution rules are changed: pA' = (file caps or setuid or setgid ? 0 : pA) pP' = (X & fP) | (pI & fI) | pA' pI' = pI pE' = (fE ? pP' : pA') X is unchanged If you are nonroot but you have a capability, you can add it to pA. If you do so, your children get that capability in pA, pP, and pE. For example, you can set pA = CAP_NET_BIND_SERVICE, and your children can automatically bind low-numbered ports. Hallelujah! Unprivileged users can create user namespaces, map themselves to a nonzero uid, and create both privileged (relative to their namespace) and unprivileged process trees. This is currently more or less impossible. Hallelujah! You cannot use pA to try to subvert a setuid, setgid, or file-capped program: if you execute any such program, pA gets cleared and the resulting evolution rules are unchanged by this patch. Users with nonzero pA are unlikely to unintentionally leak that capability. If they run programs that try to drop privileges, dropping privileges will still work. It's worth noting that the degree of paranoia in this patch could possibly be reduced without causing serious problems. Specifically, if we allowed pA to persist across executing non-pA-aware setuid binaries and across setresuid, then, naively, the only capabilities that could leak as a result would be the capabilities in pA, and any attacker *already* has those capabilities. This would make me nervous, though -- setuid binaries that tried to privilege-separate might fail to do so, and putting CAP_DAC_READ_SEARCH or CAP_DAC_OVERRIDE into pA could have unexpected side effects. (Whether these unexpected side effects would be exploitable is an open question.) I've therefore taken the more paranoid route. We can revisit this later. An alternative would be to require PR_SET_NO_NEW_PRIVS before setting ambient capabilities. I think that this would be annoying and would make granting otherwise unprivileged users minor ambient capabilities (CAP_NET_BIND_SERVICE or CAP_NET_RAW for example) much less useful than it is with this patch. ===== Footnotes ===== [1] Files that are missing the "security.capability" xattr or that have unrecognized values for that xattr end up with has_cap set to false. The code that does that appears to be complicated for no good reason. [2] The libcap capability mask parsers and formatters are dangerously misleading and the documentation is flat-out wrong. fE is *not* a mask; it's a single bit. This has probably confused every single person who has tried to use file capabilities. [3] Linux very confusingly processes both the script and the interpreter if applicable, for reasons that elude me. The results from thinking about a script's file capabilities and/or setuid bits are mostly discarded. Preliminary userspace code is here, but it needs updating: https://git.kernel.org/cgit/linux/kernel/git/luto/util-linux-playground.git/commit/?h=cap_ambient&id=7f5afbd175d2 Here is a test program that can be used to verify the functionality (from Christoph): /* * Test program for the ambient capabilities. This program spawns a shell * that allows running processes with a defined set of capabilities. * * (C) 2015 Christoph Lameter <cl@xxxxxxxxx> * Released under: GPL v3 or later. * * * Compile using: * * gcc -o ambient_test ambient_test.o -lcap-ng * * This program must have the following capabilities to run properly: * Permissions for CAP_NET_RAW, CAP_NET_ADMIN, CAP_SYS_NICE * * A command to equip the binary with the right caps is: * * setcap cap_net_raw,cap_net_admin,cap_sys_nice+p ambient_test * * * To get a shell with additional caps that can be inherited by other processes: * * ./ambient_test /bin/bash * * * Verifying that it works: * * From the bash spawed by ambient_test run * * cat /proc/$$/status * * and have a look at the capabilities. */ #include <stdlib.h> #include <stdio.h> #include <errno.h> #include <cap-ng.h> #include <sys/prctl.h> #include <linux/capability.h> /* * Definitions from the kernel header files. These are going to be removed * when the /usr/include files have these defined. */ #define PR_CAP_AMBIENT 47 #define PR_CAP_AMBIENT_IS_SET 1 #define PR_CAP_AMBIENT_RAISE 2 #define PR_CAP_AMBIENT_LOWER 3 #define PR_CAP_AMBIENT_CLEAR_ALL 4 static void set_ambient_cap(int cap) { int rc; capng_get_caps_process(); rc = capng_update(CAPNG_ADD, CAPNG_INHERITABLE, cap); if (rc) { printf("Cannot add inheritable cap\n"); exit(2); } capng_apply(CAPNG_SELECT_CAPS); /* Note the two 0s at the end. Kernel checks for these */ if (prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_RAISE, cap, 0, 0)) { perror("Cannot set cap"); exit(1); } } int main(int argc, char **argv) { int rc; set_ambient_cap(CAP_NET_RAW); set_ambient_cap(CAP_NET_ADMIN); set_ambient_cap(CAP_SYS_NICE); printf("Ambient_test forking shell\n"); if (execv(argv[1], argv + 1)) perror("Cannot exec"); return 0; } Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> # Original author Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Serge E. Hallyn <serge.hallyn@xxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Aaron Jones <aaronmdjones@xxxxxxxxx> Cc: Ted Ts'o <tytso@xxxxxxx> Cc: Andrew G. Morgan <morgan@xxxxxxxxxx> Cc: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: Austin S Hemmelgarn <ahferroin7@xxxxxxxxx> Cc: Markku Savela <msa@xxxxxxxxxxx> Cc: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: James Morris <james.l.morris@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e9f069868d60550c4b46f084ac9276a57c1b4711 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 15:42:42 2015 -0700 kernel/kthread.c:kthread_create_on_node(): clarify documentation - Make it clear that the `node' arg refers to memory allocations only: kthread_create_on_node() does not pin the new thread to that node's CPUs. - Encourage the use of NUMA_NO_NODE. [nzimmer@xxxxxxx: use NUMA_NO_NODE in kthread_create() also] Cc: Nathan Zimmer <nzimmer@xxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 04697858d89e4bf2650364f8d6956e2554e8ef88 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Fri Sep 4 15:42:39 2015 -0700 mm: check if section present during memory block registering Tony Luck found on his setup, if memory block size 512M will cause crash during booting. BUG: unable to handle kernel paging request at ffffea0074000020 IP: get_nid_for_pfn+0x17/0x40 PGD 128ffcb067 PUD 128ffc9067 PMD 0 Oops: 0000 [#1] SMP Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.2.0-rc8 #1 ... Call Trace: ? register_mem_sect_under_node+0x66/0xe0 register_one_node+0x17b/0x240 ? pci_iommu_alloc+0x6e/0x6e topology_init+0x3c/0x95 do_one_initcall+0xcd/0x1f0 The system has non continuous RAM address: BIOS-e820: [mem 0x0000001300000000-0x0000001cffffffff] usable BIOS-e820: [mem 0x0000001d70000000-0x0000001ec7ffefff] usable BIOS-e820: [mem 0x0000001f00000000-0x0000002bffffffff] usable BIOS-e820: [mem 0x0000002c18000000-0x0000002d6fffefff] usable BIOS-e820: [mem 0x0000002e00000000-0x00000039ffffffff] usable So there are start sections in memory block not present. For example: memory block : [0x2c18000000, 0x2c20000000) 512M first three sections are not present. The current register_mem_sect_under_node() assume first section is present, but memory block section number range [start_section_nr, end_section_nr] would include not present section. For arch that support vmemmap, we don't setup memmap for struct page area within not present sections area. So skip the pfn range that belong to absent section. [akpm@xxxxxxxxxxxxxxxxxxxx: simplification] [rientjes@xxxxxxxxxx: more simplification] Fixes: bdee237c0343 ("x86: mm: Use 2GB memory block size on large memory x86-64 systems") Fixes: 982792c782ef ("x86, mm: probe memory block size for generic x86 64bit") Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Reported-by: Tony Luck <tony.luck@xxxxxxxxx> Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Tested-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.15+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aa1057b3dec478b20c77bad07442318ae36d893c Author: Ryan Ding <ryan.ding@xxxxxxxxxx> Date: Fri Sep 4 15:42:36 2015 -0700 ocfs2: direct write will call ocfs2_rw_unlock() twice when doing aio+dio ocfs2_file_write_iter() is usng the wrong return value ('written'). This will cause ocfs2_rw_unlock() be called both in write_iter & end_io, triggering a BUG_ON. This issue was introduced by commit 7da839c47589 ("ocfs2: use __generic_file_write_iter()"). Orabug: 21612107 Fixes: 7da839c47589 ("ocfs2: use __generic_file_write_iter()") Signed-off-by: Ryan Ding <ryan.ding@xxxxxxxxxx> Reviewed-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f36e3e56db1ae75d1e157011b3cb2e0957f0a7e Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Fri Sep 4 15:42:32 2015 -0700 memory-hotplug: add hot-added memory ranges to memblock before allocate node_data for a node. Commit f9126ab9241f ("memory-hotplug: fix wrong edge when hot add a new node") hot-added memory range to memblock, after creating pgdat for new node. But there is a problem: add_memory() |--> hotadd_new_pgdat() |--> free_area_init_node() |--> get_pfn_range_for_nid() |--> find start_pfn and end_pfn in memblock |--> ...... |--> memblock_add_node(start, size, nid) -------- Here, just too late. get_pfn_range_for_nid() will find that start_pfn and end_pfn are both 0. As a result, when adding memory, dmesg will give the following wrong message. Initmem setup node 5 [mem 0x0000000000000000-0xffffffffffffffff] On node 5 totalpages: 0 Built 5 zonelists in Node order, mobility grouping on. Total pages: 32588823 Policy zone: Normal init_memory_mapping: [mem 0x60000000000-0x607ffffffff] The solution is simple, just add the memory range to memblock a little earlier, before hotadd_new_pgdat(). [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [4.2.x] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 254a0f4135482dc02701562a38e10675a48c8ddf Author: Rabin Vincent <rabin@xxxxxx> Date: Fri May 22 20:58:49 2015 +0200 CRISv10: delete unused lib/dmacopy.c This file is never built. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit c2ffc68afc0fce16923a54b2dad4d544463b9e0b Author: Rabin Vincent <rabin@xxxxxx> Date: Fri May 22 20:58:48 2015 +0200 CRISv10: delete unused lib/old_checksum.c This file is never built. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 7f0144e7779a8c62e3177301d4b2179432ce5460 Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Feb 20 19:35:16 2015 +0100 CRIS: fix switch_mm() lockdep splat With lockdep support implemented on CRISv32, we get the following splat. switch_mm() can be called both from the scheduler() (with interrupts disabled) and from flush_old_exec (via activate_mm()), with interrupts enabled. Fix it by disabling interrupts in activate_mm(), similar to powerpc and hexagon. t====================================================== [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ] 3.19.0-08802-g20bc9f1-dirty #323 Not tainted ------------------------------------------------------ init/1 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: (mmu_context_lock){+.+...}, at: [<c0009290>] switch_mm+0x22/0xc6 and this task is already holding: (&rq->lock){-.-.-.}, at: [<c01a0756>] __schedule+0x5e/0x648 which would create a new lock dependency: (&rq->lock){-.-.-.} -> (mmu_context_lock){+.+...} but this new dependency connects a HARDIRQ-irq-safe lock: (&rq->lock){-.-.-.} ... which became HARDIRQ-irq-safe at: [<c002b03c>] scheduler_tick+0x28/0x5e [<c0007c6c>] timer_interrupt+0x4e/0x6a [<c0043ac4>] handle_irq_event_percpu+0x54/0x13c [<c004343c>] generic_handle_irq+0x2a/0x36 to a HARDIRQ-irq-unsafe lock: (mmu_context_lock){+.+...} ... which became HARDIRQ-irq-unsafe at: ... [<c0039e60>] __lock_acquire+0x8f8/0x1d9c [<c0009290>] switch_mm+0x22/0xc6 [<c009c260>] flush_old_exec+0x500/0x5d4 [<c00da4c6>] load_elf_phdrs+0x7a/0x84 [<c00dbdb0>] load_elf_binary+0x21c/0x13b4 [<c009cdb6>] do_execve+0x22/0x2c [<c001dcf2>] ____call_usermodehelper+0x0/0x154 [<c000581e>] ret_from_kernel_thread+0xe/0x14 other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(mmu_context_lock); local_irq_disable(); lock(&rq->lock); lock(mmu_context_lock); <Interrupt> lock(&rq->lock); *** DEADLOCK *** 1 lock held by init/1: #0: (&rq->lock){-.-.-.}, at: [<c01a0756>] __schedule+0x5e/0x648 Call Trace: [<c019fe9e>] printk+0x0/0x4e [<c00368f8>] print_shortest_lock_dependencies+0x0/0x15c [<c0048628>] print_stack_trace+0x0/0x88 [<c0038912>] __lock_is_held+0x3e/0x5e [<c003b894>] lock_acquire+0x8a/0xcc [<c01a50c4>] _raw_spin_lock+0x44/0x7a [<c0009290>] switch_mm+0x22/0xc6 [<c01a06f8>] __schedule+0x0/0x648 [<c01a0d76>] schedule+0x36/0x7c [<c0037d04>] trace_hardirqs_on+0x0/0x1e [<c0004e18>] do_work_pending+0x30/0xd4 [<c000591a>] _work_pending+0xe/0x12 Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 94c5c115c1f7d347d5ec7f32a090f8643dd42525 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu May 14 18:19:37 2015 +0200 CRISv32: enable LOCKDEP_SUPPORT Now that we have stack tracing and irq flags tracing support, we can also enable lockdep support Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit aa6f4d2b6547a9949d87c9b09a872a7015366588 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu May 14 18:19:03 2015 +0200 CRIS: add STACKTRACE_SUPPORT Add stacktrace support, which is required for lockdep and tracing. The stack tracing simply looks at all kernel text symbols found on the stack, similar to the trap stack dumping code, which can also be converted to use this. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 3fffa23ee0a348aef1b597b67626d4724667143b Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Feb 20 18:57:37 2015 +0100 CRISv32: annotate irq enable in idle loop Use a call to local_irq_enable() instead of incline asm so that the irqsoff latency tracer knows that interrupts are enabled here. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 444e0c2881bcc70db6833d9c653c6ced36813d3b Author: Rabin Vincent <rabin@xxxxxx> Date: Thu Feb 19 21:36:55 2015 +0100 CRISv32: add support for irqflags tracing Add support irqflags tracing, which is required for things like lockdep and ftrace. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 20ae24739968ae7f94d0e73215d444042f91df78 Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:59:50 2015 +0100 CRIS: UAPI: use generic types.h CRIS' types.h is functionally identical to the asm-generic version. Effective diff: +#ifndef _ASM_GENERIC_TYPES_H +#define _ASM_GENERIC_TYPES_H + #include <asm-generic/int-ll64.h> + +#endif Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 258a9ff66c30c830f6e2f06856878be4d4cc81af Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:55:46 2015 +0100 CRIS: UAPI: use generic shmbuf.h CRIS' shmbuf.h is equivalent to the asm-generic verison. Effective diff: -#ifndef _CRIS_SHMBUF_H -#define _CRIS_SHMBUF_H +#ifndef __ASM_GENERIC_SHMBUF_H +#define __ASM_GENERIC_SHMBUF_H + +#include <asm/bitsperlong.h> struct ipc64_perm shm_perm; size_t shm_segsz; __kernel_time_t shm_atime; +#if __BITS_PER_LONG != 64 unsigned long __unused1; +#endif __kernel_time_t shm_dtime; +#if __BITS_PER_LONG != 64 unsigned long __unused2; +#endif __kernel_time_t shm_ctime; +#if __BITS_PER_LONG != 64 unsigned long __unused3; +#endif __kernel_pid_t shm_cpid; __kernel_pid_t shm_lpid; - unsigned long shm_nattch; - unsigned long __unused4; - unsigned long __unused5; + __kernel_ulong_t shm_nattch; + __kernel_ulong_t __unused4; + __kernel_ulong_t __unused5; }; struct shminfo64 { - unsigned long shmmax; - unsigned long shmmin; - unsigned long shmmni; - unsigned long shmseg; - unsigned long shmall; - unsigned long __unused1; - unsigned long __unused2; - unsigned long __unused3; - unsigned long __unused4; + __kernel_ulong_t shmmax; + __kernel_ulong_t shmmin; + __kernel_ulong_t shmmni; + __kernel_ulong_t shmseg; + __kernel_ulong_t shmall; + __kernel_ulong_t __unused1; + __kernel_ulong_t __unused2; + __kernel_ulong_t __unused3; + __kernel_ulong_t __unused4; }; #endif Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 74d94adb351161cc4027f94e878ac4e80adcfdc9 Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:53:37 2015 +0100 CRIS: UAPI: use generic msgbuf.h CRIS' msgbuf.h is equivalent to the asm-generic version. Effective diff: -#ifndef _CRIS_MSGBUF_H -#define _CRIS_MSGBUF_H - - +#ifndef __ASM_GENERIC_MSGBUF_H +#define __ASM_GENERIC_MSGBUF_H +#include <asm/bitsperlong.h> struct msqid64_ds { struct ipc64_perm msg_perm; __kernel_time_t msg_stime; +#if __BITS_PER_LONG != 64 unsigned long __unused1; +#endif __kernel_time_t msg_rtime; +#if __BITS_PER_LONG != 64 unsigned long __unused2; +#endif __kernel_time_t msg_ctime; +#if __BITS_PER_LONG != 64 unsigned long __unused3; - unsigned long msg_cbytes; - unsigned long msg_qnum; - unsigned long msg_qbytes; +#endif + __kernel_ulong_t msg_cbytes; + __kernel_ulong_t msg_qnum; + __kernel_ulong_t msg_qbytes; __kernel_pid_t msg_lspid; __kernel_pid_t msg_lrpid; - unsigned long __unused4; - unsigned long __unused5; + __kernel_ulong_t __unused4; + __kernel_ulong_t __unused5; }; #endif Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 45266922510fcd1e55df483f41be8debd5df9de8 Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:47:37 2015 +0100 CRIS: UAPI: use generic socket.h CRIS' socket.h is equivalent to the asm-generic version. Effective diff: -#ifndef _ASM_SOCKET_H -#define _ASM_SOCKET_H - - +#ifndef __ASM_GENERIC_SOCKET_H +#define __ASM_GENERIC_SOCKET_H #include <asm/sockios.h> #define SO_LINGER 13 #define SO_BSDCOMPAT 14 #define SO_REUSEPORT 15 +#ifndef SO_PASSCRED #define SO_PASSCRED 16 #define SO_PEERCRED 17 #define SO_RCVLOWAT 18 #define SO_SNDLOWAT 19 #define SO_RCVTIMEO 20 #define SO_SNDTIMEO 21 +#endif #define SO_SECURITY_AUTHENTICATION 22 Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 53789d25a0603e5c836e460c758867d2071eb135 Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:43:31 2015 +0100 CRIS: UAPI: use generic sembuf.h CRIS's sembuf.h is equivalent to the asm-generic version. Effective diff: -#ifndef _CRIS_SEMBUF_H -#define _CRIS_SEMBUF_H +#ifndef __ASM_GENERIC_SEMBUF_H +#define __ASM_GENERIC_SEMBUF_H +#include <asm/bitsperlong.h> struct semid64_ds { struct ipc64_perm sem_perm; __kernel_time_t sem_otime; +#if __BITS_PER_LONG != 64 unsigned long __unused1; +#endif __kernel_time_t sem_ctime; +#if __BITS_PER_LONG != 64 unsigned long __unused2; +#endif unsigned long sem_nsems; unsigned long __unused3; unsigned long __unused4; Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit c823b970b632a86e4f01f3eae9c0860350b70c3c Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:21:25 2015 +0100 CRIS: UAPI: use generic sockios.h CRIS' sockios.h is equivalent to the asm-generic version. Effective diff: -#ifndef __ARCH_CRIS_SOCKIOS__ -#define __ARCH_CRIS_SOCKIOS__ +#ifndef __ASM_GENERIC_SOCKIOS_H +#define __ASM_GENERIC_SOCKIOS_H Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 889d74a4d40f60427d0482bc271bfc5660a1157b Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 22:59:42 2015 +0100 CRIS: UAPI: use generic auxvec.h CRIS's auxvec.h is empty just like the asm-generic version. Effective diff: -#ifndef __ASMCRIS_AUXVEC_H -#define __ASMCRIS_AUXVEC_H +#ifndef __ASM_GENERIC_AUXVEC_H +#define __ASM_GENERIC_AUXVEC_H + Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 0c02fa2f4ef47334387aeb3aef21ccdab6513459 Author: Rabin Vincent <rabin@xxxxxx> Date: Sat Feb 28 23:31:10 2015 +0100 CRIS: UAPI: use generic headers via Kbuild Use Kbuild magic to include the generic headers. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit f377ea88b862bf7151be96d276f4cb740f8e1c41 Merge: 51e771c 73bf1b7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 15:49:32 2015 -0700 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull drm updates from Dave Airlie: "This is the main pull request for the drm for 4.3. Nouveau is probably the biggest amount of changes in here, since it missed 4.2. Highlights below, along with the usual bunch of fixes. All stuff outside drm should have applicable acks. Highlights: - new drivers: freescale dcu kms driver - core: more atomic fixes disable some dri1 interfaces on kms drivers drop fb panic handling, this was just getting more broken, as more locking was required. new core fbdev Kconfig support - instead of each driver enable/disabling it struct_mutex cleanups - panel: more new panels cleanup Kconfig - i915: Skylake support enabled by default legacy modesetting using atomic infrastructure Skylake fixes GEN9 workarounds - amdgpu: Fiji support CGS support for amdgpu Initial GPU scheduler - off by default Lots of bug fixes and optimisations. - radeon: DP fixes misc fixes - amdkfd: Add Carrizo support for amdkfd using amdgpu. - nouveau: long pending cleanup to complete driver, fully bisectable which makes it larger, perfmon work more reclocking improvements maxwell displayport fixes - vmwgfx: new DX device support, supports OpenGL 3.3 screen targets support - mgag200: G200eW support G200e new revision support - msm: dragonboard 410c support, msm8x94 support, msm8x74v1 support yuv format support dma plane support mdp5 rotation initial hdcp - sti: atomic support - exynos: lots of cleanups atomic modesetting/pageflipping support render node support - tegra: tegra210 support (dc, dsi, dp/hdmi) dpms with atomic modesetting support - atmel: support for 3 more atmel SoCs new input formats, PRIME support. - dwhdmi: preparing to add audio support - rockchip: yuv plane support" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (1369 commits) drm/amdgpu: rename gmc_v8_0_init_compute_vmid drm/amdgpu: fix vce3 instance handling drm/amdgpu: remove ib test for the second VCE Ring drm/amdgpu: properly enable VM fault interrupts drm/amdgpu: fix warning in scheduler drm/amdgpu: fix buffer placement under memory pressure drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic drm/amdgpu: fix typo in dce11 watermark setup drm/amdgpu: fix typo in dce10 watermark setup drm/amdgpu: use top down allocation for non-CPU accessible vram drm/amdgpu: be explicit about cpu vram access for driver BOs (v2) drm/amdgpu: set MEC doorbell range for Fiji drm/amdgpu: implement burst NOP for SDMA drm/amdgpu: add insert_nop ring func and default implementation drm/amdgpu: add amdgpu_get_sdma_instance helper function drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES drm/amdgpu: add burst_nop flag for sdma drm/amdgpu: add count field for the SDMA NOP packet v2 drm/amdgpu: use PT for VM sync on unmap drm/amdgpu: make wait_event uninterruptible in push_job ... commit 2493d3e28a22087116158249d79410fd355d1e83 Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Mar 27 22:35:11 2015 +0100 CRIS: UAPI: fix elf.h export CRIS userspace (uClibc for one) expects asm/elf.h to be exported but this header appears to have gone missing at some point. Move it to uapi/ and export it. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 3a79a075375cebb672ddaea7896378afa0203e87 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu May 14 17:00:58 2015 +0200 CRIS: don't make asm/elf.h depend on asm/user.h We're going to export asm/elf.h; remove its dependencies on the non-exported asm/user.h and the unused asm/system.h include. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 835e4177284e1574033dea47d4bb8e55c21b6345 Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Mar 27 22:32:27 2015 +0100 CRIS: UAPI: fix ptrace.h The exported ptrace.h header on CRIS references an "arch" directory which does not exist. Fix this by having the variants in the same directory and including them conditionally, similar to other architectures. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 4b86715748da506b176b5ec50c041b335c9d1769 Author: Jesper Nilsson <jespern@xxxxxxxx> Date: Wed Jun 3 13:04:23 2015 +0200 CRISv32: Squash compile warnings for axisflashmap Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 939b83fb03f275016cd72a0f81f49bf8e63c2a14 Author: Jesper Nilsson <jespern@xxxxxxxx> Date: Wed Jun 3 12:42:01 2015 +0200 CRISv32: Add GPIO driver to the default configs Fix a number of small issues visible when GPIO is enabled: - Correct missing default for !ETRAXFS in Kconfig - Remove information on number of bits for some Kconfigs related to the GPIO, they are different in ETRAX FS and ARTPEC-3 - Fix compile warning in ARTPEC-3 GPIO driver Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 94230178678cb7e0f82ff2c161ac84742f79a2e7 Author: Jesper Nilsson <jespern@xxxxxxxx> Date: Wed Jun 3 12:25:51 2015 +0200 CRISv32: ETRAX FS: Squash warnings in pinmux driver Squash the followng warnings arch/cris/arch-v32/mach-fs/pinmux.c: In function 'crisv32_pinmux_alloc_fixed': arch/cris/arch-v32/mach-fs/pinmux.c:104:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] arch/cris/arch-v32/mach-fs/pinmux.c: In function 'crisv32_pinmux_dealloc_fixed': arch/cris/arch-v32/mach-fs/pinmux.c:238:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] arch/cris/arch-v32/mach-fs/pinmux.c: In function '__crisv32_pinmux_alloc': arch/cris/arch-v32/mach-fs/pinmux.c:49:1: warning: control reaches end of non-void function [-Wreturn-type] Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit ee59843cd2b4331db49671c7f045ee2ff9d535b6 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Wed May 6 21:48:12 2015 +0800 CRIS: Wire up missing syscalls The related warnings: CALL scripts/checksyscalls.sh <stdin>:1229:2: warning: #warning syscall sched_setattr not implemented [-Wcpp] <stdin>:1232:2: warning: #warning syscall sched_getattr not implemented [-Wcpp] <stdin>:1235:2: warning: #warning syscall renameat2 not implemented [-Wcpp] <stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp] <stdin>:1241:2: warning: #warning syscall getrandom not implemented [-Wcpp] <stdin>:1244:2: warning: #warning syscall memfd_create not implemented [-Wcpp] <stdin>:1247:2: warning: #warning syscall bpf not implemented [-Wcpp] <stdin>:1250:2: warning: #warning syscall execveat not implemented [-Wcpp] Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit f59625a8f770741d590da09be4f0fcfc75b31e46 Author: Rabin Vincent <rabin@xxxxxx> Date: Thu May 14 14:36:56 2015 +0200 CRISv32: allow CONFIG_DEBUG_BUGVERBOSE Support for verbose BUG reporting already exists, but the HAVE flag that allows the option to be enabled is missing. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 98a725a57a8e92bfbe962a8c69975ce0f9ff11fe Author: Rabin Vincent <rabin@xxxxxx> Date: Thu May 14 14:36:55 2015 +0200 CRISv32: add unreachable() to BUG() Add an unreachable() in the BUG() implementations, to get rid of several warnings similar to the one below: kernel/sched/core.c: In function 'pick_next_task': kernel/sched/core.c:2690:1: warning: control reaches end of non-void function [-Wreturn-type] Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 6a4756f6951f97a9a601ba24632c5906750ef00d Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Fri May 1 15:58:19 2015 +0200 cris: arch-v32: gpio: Use kzalloc instead of kmalloc/memset Turn a kmalloc/memset into an equivalent kzalloc. Doing so also move the zero'ing of the memory outside of a mutex. Signed-off-by: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 73bf1b7be7aab60d7c651402441dd0b0b4991098 Merge: 5b78cb6 35c7a95 Author: Dave Airlie <airlied@xxxxxxxxx> Date: Sat Sep 5 07:46:09 2015 +1000 Merge branch 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-next A few more fixes for amdgpu from the last few days: - Fix several copy paste typos - Resume from suspend fixes for VCE - Fix the GPU scheduler warning in kfifo_out - Re-enable GPUVM fault interrupts which were inadvertently disabled - GPUVM page table hang fix when paging * 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux: drm/amdgpu: rename gmc_v8_0_init_compute_vmid drm/amdgpu: fix vce3 instance handling drm/amdgpu: remove ib test for the second VCE Ring drm/amdgpu: properly enable VM fault interrupts drm/amdgpu: fix warning in scheduler drm/amdgpu: fix buffer placement under memory pressure drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic drm/amdgpu: fix typo in dce11 watermark setup drm/amdgpu: fix typo in dce10 watermark setup drm/amdgpu: use top down allocation for non-CPU accessible vram drm/amdgpu: be explicit about cpu vram access for driver BOs (v2) commit 4eae50143bcbfda819c650b7ed6739f3b6338ffc Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:17:53 2015 -0400 Revert "NFS: Make close(2) asynchronous when closing NFS O_DIRECT files" This reverts commit f895c53f8ace3c3e49ebf9def90e63fc6d46d2bf. This commit causes a NFSv4 regression in that close()+unlink() can end up failing. The reason is that we no longer have a guarantee that the CLOSE has completed on the server, meaning that the subsequent call to REMOVE may fail with NFS4ERR_FILE_OPEN if the server implements Windows unlink() semantics. Reported-by: <Olga Kornievskaia <aglo@xxxxxxxxx> Cc: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5cf9d70659594e1a75b34d18619d0bb6e0cbbafa Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:07:37 2015 -0400 NFS: Optimise away the close-to-open getattr if there is no cached data If there is no cached data, then there is no need to track the file change attribute on close. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 35c7a9526af75040fac744babd0fafe18b8fe0a1 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 18:01:00 2015 -0400 drm/amdgpu: rename gmc_v8_0_init_compute_vmid It should be gfx_v8_0_init_compute_vmid since it's part of the gfx block. Acked-by: Leo Liu <leo.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit be4f38e28ca2bbd6d06db8064277d71389746e26 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 19:03:11 2015 -0400 drm/amdgpu: fix vce3 instance handling Need to properly handle the instances for the idle checks and soft reset. Acked-by: Leo Liu <leo.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 898e50d444e12f735e45d07cd3f306ac5d4abca8 Author: Leo Liu <leo.liu@xxxxxxx> Date: Fri Sep 4 15:08:55 2015 -0400 drm/amdgpu: remove ib test for the second VCE Ring it seems the VCE ring 1 ib test not reliable, remove it for now. Signed-off-by: Leo Liu <leo.liu@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Tested-and-Reviewed-by: Sonny Jiang <sonny.jiang@xxxxxxx> commit 140b519f7a117c86c085b3800a2fea3015cd877f Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Sep 4 18:48:29 2015 +0200 drm/amdgpu: properly enable VM fault interrupts This fixes not printing VM faults. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 51e771c0d25b43d0f12b2c7c01939942becbbe28 Merge: abebcdf 01b944f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 12:02:11 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input subsystem updates from Dmitry Torokhov: "Drivers, drivers, drivers... No interesting input core changes this time" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (74 commits) Input: elan_i2c - use iap_version to get firmware information Input: max8997_haptic - fix module alias Input: elan_i2c - fix typos for validpage_count Input: psmouse - add small delay for IBM trackpoint pass-through mode Input: synaptics - fix handling of disabling gesture mode Input: elan_i2c - enable ELAN0100 acpi panels Input: gpio-keys - report error when disabling unsupported key Input: sur40 - fix error return code Input: sentelic - silence some underflow warnings Input: zhenhua - switch to using bitrev8() Input: cros_ec_keyb - replace KEYBOARD_CROS_EC dependency Input: cap11xx - add LED support Input: elants_i2c - fix for devm_gpiod_get API change Input: elan_i2c - enable asynchronous probing Input: elants_i2c - enable asynchronous probing Input: elants_i2c - wire up regulator support Input: do not emit unneeded EV_SYN when suspending Input: elants_i2c - disable idle mode before updating firmware MAINTAINERS: Add maintainer for atmel_mxt_ts Input: atmel_mxt_ts - remove warning on zero T44 count ... commit abebcdfb64f1b39eeeb14282d9cd4aad1ed86f8d Merge: 670c039 d5f362a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 11:46:02 2015 -0700 Merge tag 'sound-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "There are little changes in core part, but lots of development are found in drivers, especially ASoC. The diffstat shows regmap-related changes for a slight API additions / changes, and that's all. Looking at the code size statistics, the most significant addition is for Intel Skylake. (Note that SKL support is still underway, the codec driver is missing.) Also STI controller driver is a major addition as well as a few new codec drivers. In HD-audio side, there are fewer changes than the past. The noticeable change is the support of ELD notification from i915 graphics driver. Thus this pull request carries a few changes in drm/i915. Other than that, USB-audio got a rewrite of runtime PM code. It was initiated by lockdep warning, but resulted in a good cleanup in the end. Below are the highlights: Common: - Factoring out of AC'97 reset code from ASoC into the core helper - A few regmap API extensions (in case it's not pulled yet) ASoC: - New drivers for Cirrus CS4349, GTM601, InvenSense ICS43432, Realtek RT298 and ST STI controllers - Machine drivers for Rockchip systems with MAX98090 and RT5645 and RT5650 - Initial driver support for Intel Skylake devices - Lots of rsnd cleanup and enhancements - A few DAPM fixes and cleanups - A large number of cleanups in various drivers (conversion and standardized to regmap, component) mostly by Lars-Peter and Axel HD-audio: - Extended HD-audio core for Intel Skylake controller support - Quirks for Dell headsets, Alienware 15 - Clean up of pin-based quirk tables for Realtek codecs - ELD notifier implenetation for Intel HDMI/DP USB-audio: - Refactor runtime PM code to make lockdep happier" * tag 'sound-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (411 commits) drm/i915: Add locks around audio component bind/unbind drm/i915: Drop port_mst_index parameter from pin/eld callback ALSA: hda - Fix missing inline for dummy snd_hdac_set_codec_wakeup() ALSA: hda - Wake the codec up on pin/ELD notify events ALSA: hda - allow codecs to access the i915 pin/ELD callback drm/i915: Call audio pin/ELD notify function drm/i915: Add audio pin sense / ELD callback ASoC: zx296702-i2s: Fix resource leak when unload module ASoC: sti_uniperif: Ensure component is unregistered when unload module ASoC: au1x: psc-i2s: Convert to use devm_ioremap_resource ASoC: sh: dma-sh7760: Convert to devm_snd_soc_register_platform ASoC: spear_pcm: Use devm_snd_dmaengine_pcm_register to fix resource leak ALSA: fireworks/bebob/dice/oxfw: fix substreams counting at vmalloc failure ASoC: Clean up docbook warnings ASoC: txx9: Convert to devm_snd_soc_register_platform ASoC: pxa: Convert to devm_snd_soc_register_platform ASoC: nuc900: Convert to devm_snd_soc_register_platform ASoC: blackfin: Convert to devm_snd_soc_register_platform ASoC: au1x: Convert to devm_snd_soc_register_platform ASoC: qcom: Constify asoc_qcom_lpass_cpu_dai_ops ... commit 670c039deeffb5c0a3a900de53b95dba781aaf89 Merge: 8bd8fd0 13d20b3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 11:40:40 2015 -0700 Merge tag 'backlight-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight Pull backlight updates from Lee Jones: - Stop using LP855X Platform Data to control regulators - Move PWM8941 WLED driver into Backlight - Remove invalid use of IS_ERR_VALUE() macro - Remove duplicate check for NULL data before unregistering - Export I2C Device ID structure * tag 'backlight-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: backlight: tosa: Export I2C module alias information backlight: lp8788_bl: Delete a check before backlight_device_unregister() backlight: sky81452: Remove unneeded use of IS_ERR_VALUE() macro backlight: pm8941-wled: Move PM8941 WLED driver to backlight backlight: lp855x: Use private data for regulator control commit 8bd8fd0a29bfd5ad8e1976edd8c4c40cdb39aa4f Merge: 3527122 5a688c4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 11:35:03 2015 -0700 Merge tag 'mfd-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD updates from Lee Jones: "New Device Support: - New Clocksource driver from ST - New MFD/ACPI/DMA drivers for Intel's Sunrisepoint PCH based platforms - Add support for Arizona WM8998 and WM1814 - Add support for Dialog Semi DA9062 and DA9063 - Add support for Kontron COMe-bBL6 and COMe-cBW6 - Add support for X-Powers AXP152 - Add support for Atmel, many - Add support for STMPE, many - Add support for USB in X-Powers AXP22X Core Frameworks: - New Base API to traverse devices and their children in reverse order Bug Fixes: - Fix race between runtime-suspend and IRQs - Obtain platform data form more reliable source Fix-ups: - Constifying things - Variable signage changes - Kconfig depends|selects changes - Make use of BIT() macro - Do not supply .owner attribute in *_driver structures - MAINTAINERS entries - Stop using set_irq_flags() - Start using irq_set_chained_handler_and_data() - Export DT device ID structures" * tag 'mfd-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (69 commits) mfd: jz4740-adc: Init mask cache in generic IRQ chip mfd: cros_ec: spi: Add OF match table mfd: stmpe: Add OF match table mfd: max77686: Split out regulator part from the DT binding mfd: Add DT binding for Maxim MAX77802 IC mfd: max77686: Use a generic name for the PMIC node in the example mfd: max77686: Don't suggest in binding to use a deprecated property mfd: Add MFD_CROS_EC dependencies mfd: cros_ec: Remove CROS_EC_PROTO dependency for SPI and I2C drivers mfd: axp20x: Add a cell for the usb power_supply part of the axp20x PMICs mfd: axp20x: Add missing registers, and mark more registers volatile mfd: arizona: Fixup some formatting/white space errors mfd: wm8994: Fix NULL pointer exception on missing pdata of: Add vendor prefix for Nuvoton mfd: mt6397: Implement wake handler and suspend/resume to handle wake up event mfd: atmel-hlcdc: Add support for new SoCs mfd: Export OF module alias information in missing drivers mfd: stw481x: Export I2C module alias information mfd: da9062: Support for the DA9063 OnKey in the DA9062 core mfd: max899x: Avoid redundant irq_data lookup ... commit 352712274507645b6f82b8763977ad87321919a3 Merge: 88a9988 ab98193 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 11:10:18 2015 -0700 Merge tag 'dmaengine-4.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma Pull dmaengine updates from Vinod Koul: "This time we have aded a new capability for scatter-gathered memset using dmaengine APIs. This is supported in xdmac & hdmac drivers We have added support for reusing descriptors for examples like video buffers etc. Driver will follow The behaviour of descriptor ack has been clarified and documented New devices added are: - dma controller in sun[457]i SoCs - lpc18xx dmamux - ZTE ZX296702 dma controller - Analog Devices AXI-DMAC DMA controller - eDMA support for dma-crossbar - imx6sx support in imx-sdma driver - imx-sdma device to device support Other: - jz4780 fixes - ioatdma large refactor and cleanup for removal of ioat v1 and v2 which is deprecated and fixes - ACPI support in X-Gene DMA engine driver - ipu irq fixes - mvxor fixes - minor fixes spread thru drivers" [ The Kconfig and Makefile entries got re-sorted alphabetically, and I handled the conflict with the new Intel integrated IDMA driver by slightly mis-sorting it on purpose: "IDMA64" got sorted after "IMX" in order to keep the Intel entries together. I think it might be a good idea to just rename the IDMA64 config entry to INTEL_IDMA64 to make the sorting be a true sort, not this mismash. Also, this merge disables the COMPILE_TEST for the sun4i DMA controller, because it does not compile cleanly at all. - Linus ] * tag 'dmaengine-4.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (89 commits) dmaengine: ioatdma: add Broadwell EP ioatdma PCI dev IDs dmaengine :ipu: change ipu_irq_handler() to remove compile warning dmaengine: ioatdma: Fix variable array length dmaengine: ioatdma: fix sparse "error" with prep lock dmaengine: hdmac: Add memset capabilities dmaengine: sort the sh Makefile dmaengine: sort the sh Kconfig dmaengine: sort the dw Kconfig dmaengine: sort the Kconfig dmaengine: sort the makefile drivers/dma: make mv_xor.c driver explicitly non-modular dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller devicetree: Add bindings documentation for Analog Devices AXI-DMAC dmaengine: xgene-dma: Fix the lock to allow client for further submission of requests dmaengine: ioatdma: fix coccinelle warning dmaengine: ioatdma: fix zero day warning on incompatible pointer type dmaengine: tegra-apb: Simplify locking for device using global pause dmaengine: tegra-apb: Remove unnecessary return statements and variables dmaengine: tegra-apb: Avoid unnecessary channel base address calculation dmaengine: tegra-apb: Remove unused variables ... commit 88a99886c26fec8bf662e7b6bc080431a8660326 Merge: 8d2faea 1ab3638 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 10:22:09 2015 -0700 Merge tag 'pinctrl-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control updates from Linus Walleij: "This is the bulk of pin control changes for the v4.3 development cycle. Like with GPIO it's a lot of stuff. If my subsystems are any sign of the overall tempo of the kernel v4.3 will be a gigantic diff. [ It looks like 4.3 is calmer than 4.2 in most other subsystems, but we'll see - Linus ] Core changes: - It is possible configure groups in debugfs. - Consolidation of chained IRQ handler install/remove replacing all call sites where irq_set_handler_data() and irq_set_chained_handler() were done in succession with a combined call to irq_set_chained_handler_and_data(). This series was created by Thomas Gleixner after the problem was observed by Russell King. - Tglx also made another series of patches switching __irq_set_handler_locked() for irq_set_handler_locked() which is way cleaner. - Tglx also wrote a good bunch of patches to make use of irq_desc_get_xxx() accessors and avoid looking up irq_descs from IRQ numbers. The goal is to get rid of the irq number from the handlers in the IRQ flow which is nice. Driver feature enhancements: - Power management support for the SiRF SoC Atlas 7. - Power down support for the Qualcomm driver. - Intel Cherryview and Baytrail: switch drivers to use raw spinlocks in IRQ handlers to play nice with the realtime patch set. - Rework and new modes handling for Qualcomm SPMI-MPP. - Pinconf power source config for SH PFC. New drivers and subdrivers: - A new driver for Conexant Digicolor CX92755. - A new driver for UniPhier PH1-LD4, PH1-Pro4, PH1-sLD8, PH1-Pro5, ProXtream2 and PH1-LD6b SoC pin control support. - Reverse-egineered the S/PDIF settings for the Allwinner sun4i driver. - Support for Qualcomm Technologies QDF2xxx ARM64 SoCs - A new Freescale i.mx6ul subdriver. Cleanup: - Remove platform data support in a number of SH PFC subdrivers" * tag 'pinctrl-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (95 commits) pinctrl: at91: fix null pointer dereference pinctrl: mediatek: Implement wake handler and suspend resume pinctrl: mediatek: Fix multiple registration issue. pinctrl: sh-pfc: r8a7794: add USB pin groups pinctrl: at91: Use generic irq_{request,release}_resources() pinctrl: cherryview: Use raw_spinlock for locking pinctrl: baytrail: Use raw_spinlock for locking pinctrl: imx6ul: Remove .owner field pinctrl: zynq: Fix typos in smc0_nand_grp and smc0_nor_grp pinctrl: sh-pfc: Implement pinconf power-source param for voltage switching clk: rockchip: add pclk_pd_pmu to the list of rk3288 critical clocks pinctrl: sun4i: add spdif to pin description. pinctrl: atlas7: clear ugly branch statements for pull and drivestrength pinctrl: baytrail: Serialize all register access pinctrl: baytrail: Drop FSF mailing address pinctrl: rockchip: only enable gpio clock when it setting pinctrl/mediatek: fix spelling mistake in dev_err error message pinctrl: cherryview: Serialize all register access pinctrl: UniPhier: PH1-Pro5: add I2C ch6 pin-mux setting pinctrl: nomadik: reflect current input value ... commit 8d2faea672606827c2018143ec7d88c760f2d6de Merge: 02cf1da 01e2dae Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 10:07:45 2015 -0700 Merge tag 'gpio-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO updates from Linus Walleij: "This is the bulk of GPIO changes for the v4.3 kernel cycle. There is quite a lot going on in the GPIO subsystem this merge window, so the main matter is decribed below. The hits in other subsystems when making the GPIO flags optional are all ACKed by their respective subsystem maintainers. Core changes: - Root out the wrapper devm_gpiod_get() and gpiod_get() etc versions of the descriptor calls that did not use the flags argument on the end. This was around for too long and eventually Uwe Kleine-König took the time to clean it out and the last users are removed along with the macros in this tag. In several cases the use of flags simplifies the code. For this reason we have (ACKed) patches hitting in DRM, IIO, media, NFC, USB+PHY up until we hammer in the nail with removing the macros. - Add a fat document describing how much ready-made GPIO stuff we have i the kernel to discourage people from reinventing a square wheel in userspace, as so often happens. - Create a separate lockdep class for each instance of a GPIO IRQ chip instead of using one class for all chips, as the current code will not work with systems with several GPIO chips doing lockdep debugging. - Protect against driver unloading also when a GPIO line is only used as IRQ for the GPIOLIB_IRQCHIP helpers. - If the GPIO chip has no designated owner, assign the parent device driver owner as owner. - Consolidation of chained IRQ handler install/remove replacing all call sites where irq_set_handler_data() and irq_set_chained_handler() were done in succession with a combined call to irq_set_chained_handler_and_data(). This series was created by Thomas Gleixner after the problem was observed by Russell King. - Tglx also made another series of patches switching __irq_set_handler_locked() for irq_set_handler_locked() which is way cleaner. - Tglx and Jiang Liu wrote a good bunch of patches to make use of irq_desc_get_xxx() accessors and avoid looking up irq_descs from IRQ numbers. The goal is to get rid of the irq number from the handlers in the IRQ flow which is nice. - Rob Herring killed off the set_irq_flags() for all GPIO drivers. This was an ARM specific function that is replaced with the generic irq_modify_status() where special flags are actually needed. - When an OF node has a pin range for its GPIOs, return -EPROBE_DEFER if the pin controller isn't available. Pretty logical, yet needed to be fixed. - If a driver using GPIOLIB_IRQCHIP has its own irq_*_resources call back, then call these instead of the defaults provided by the GPIOLIB. - Fix an undocumented ABI hole: named GPIOs were not properly documented. Driver improvements: - Add get_direction() support to the generic GPIO driver, it's strange that we didn't have that before. - Make it possible to have input-only GPIO chips using the generic GPIO driver. - Clean out platform data support from the Emma Mobile (EM) driver - Finegrained runtime PM support for the RCAR driver. - Support r8a7795 (R-car H3) in the RCAR driver. - Support interrupts on GPIOs 16 thru 31 in the DaVinci driver. - Some consolidation and new support in the MPC8xxx driver, we now support MPC5125. - Preempt-RT-friendly patches: the OMAP, MPC8xxx, drivers uses raw spinlocks making it work better with the realime patches. - Interrupt support for the EXTRAXFS GPIO driver. - Make the ETRAXFS GPIO driver support also ARTPEC-3. - Interrupt and wakeup support for the BRCMSTB driver, also for wakeup from S5 cold boot. - Mask MXC IRQs during suspend. - Improve OMAP2 GPIO set_debounce() to work according to spec. - The VF610 driver handles IRQs properly. New drivers: - ZTE ZX GPIO driver" * tag 'gpio-v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (87 commits) Revert "gpio: extraxfs: fix returnvar.cocci warnings" gpio: tc3589x: use static container helper gpio: xlp: fix error return code gpio: vf610: handle level IRQ's properly gpio: max732x: Fix error handling in probe() gpio: omap: fix clk_prepare/unprepare usage gpio: omap: protect regs access in omap_gpio_irq_handler gpio: omap: fix omap2_set_gpio_debounce gpio: omap: switch to use platform_get_irq gpio: omap: remove wrong irq_domain_remove usage in probe gpiolib: add description for gpio irqchip fields in struct gpio_chip gpio: extraxfs: fix returnvar.cocci warnings gpiolib: irqchip: use different lockdep class for each gpio irqchip gpio/grgpio: fix deadlock in grgpio_irq_unmap() Documentation: gpio: consumer: describe active low property gpio: mxc: fix section mismatch warning gpio/mxc: mask gpio interrupts in suspend gpio: omap: Fix missing raw locks conversion gpio: brcmstb: support wakeup from S5 cold boot gpio: brcmstb: Add interrupt and wakeup source support ... commit 072502a67c9164625288cca17704808e6c06273f Merge: 84fb901 1ed8111 2de9d60 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:22:10 2015 +0100 Merge remote-tracking branches 'regmap/topic/lockdep' and 'regmap/topic/seq-delay' into regmap-next commit 84fb9015d20dc12a2d36f7d775700a53cc45ad90 Merge: a458a6d ad3a942 e874e6c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:22:09 2015 +0100 Merge remote-tracking branches 'regmap/topic/debugfs' and 'regmap/topic/force-update' into regmap-next commit a458a6d411b86de7a2a8e51f9016cf017d5ed545 Merge: f7474161 04782ca Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:22:08 2015 +0100 Merge remote-tracking branch 'regmap/topic/core' into regmap-next commit f74741615368af1b8401be4b7a6f0b9ccbc2420a Merge: b3959b5 9a16ea9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:22:07 2015 +0100 Merge remote-tracking branch 'regmap/fix/raw' into regmap-linus commit b3959b5cd33383d9fa9b6c653e162331c2af2e08 Merge: 64291f7 2f9b660 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:22:07 2015 +0100 Merge remote-tracking branch 'regmap/fix/core' into regmap-linus commit 04782ca20a8ebb5acf0c35756a38964ae5ea7321 Merge: d5b98eb 17649c9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 4 17:16:39 2015 +0100 Merge branch 'topic/smbus-block' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into regmap-core commit 0de6cfb9f314db230c47b2158e7725208b3b4728 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:13:56 2015 -0700 Revert "uart: pl011: Rename regs with enumeration" This reverts commit 534e14e2293d8cd714b94513686228453b21fae2 as with this patch the serial console is broken on lots of platforms. Reported-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f11c98417c65ddd730c483c1c9290ae0f7b121a7 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:13:39 2015 -0700 Revert "uart: pl011: Introduce register accessor" This reverts commit 7b753f318d1456c8e7740f3bd96d1dbb362d5449 as with this patch the serial console is broken on lots of platforms. Reported-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab66ca27c801605c6bb19baed2933544dd7d39e6 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:13:30 2015 -0700 Revert "uart: pl011: Introduce register look up table" This reverts commit 2c096a9eedc6841d3610545f4e6c3d72bd0962be as with this patch the serial console is broken on lots of platforms. Reported-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e50254a6ab2abb6ae08699adffe3d89e4c75912 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:12:03 2015 -0700 Revert "uart: pl011: Improve LCRH register access decision" This reverts commit 09dcc7dfc05b31bf0bbcd1511cd1a2644908d5c8 as with this patch the serial console is broken on lots of platforms. Reported-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 062a68a5e0aaa9577d75391ffafa11e3c2a5f892 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:11:24 2015 -0700 Revert "uart: pl011: Add support to ZTE ZX296702 uart" This reverts commit 8cd90e50d1408c65c355084b1c7f8f9085f49c6b as with this patch the serial console is broken on lots of platforms. Reported-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Tested-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02cf1da2548d318ad4db9eb4cf8656e24b11aefc Merge: a4fdb2a 8d03bc5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 08:59:53 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile Pull tile updates from Chris Metcalf: "This includes secure computing support as well as miscellaneous minor improvements" * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: tile: correct some typos in opcode type names tile/vdso: emit a GNU hash as well tile: Remove finish_arch_switch tile: enable full SECCOMP support tile/time: Migrate to new 'set-state' interface commit 71c6da846be478a61556717ef1ee1cea91f5d6a8 Author: Andrey Ryabinin <aryabinin@xxxxxxxx> Date: Thu Sep 3 14:32:01 2015 +0300 crypto: ghash-clmulni: specify context size for ghash async algorithm Currently context size (cra_ctxsize) doesn't specified for ghash_async_alg. Which means it's zero. Thus crypto_create_tfm() doesn't allocate needed space for ghash_async_ctx, so any read/write to ctx (e.g. in ghash_async_init_tfm()) is not valid. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5134e999cb72c621f48305d5c201ab30156505c1 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Sep 4 00:11:54 2015 -0400 drm/amdgpu: fix warning in scheduler This should never happen so warn when the count does not equal the expected size. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a4fdb2a46f617b8b2cd47acec026ec16532edbc6 Merge: 807249d 674c242c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 07:18:09 2015 -0700 Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 updates from Will Deacon: - Support for new architectural features introduced in ARMv8.1: * Privileged Access Never (PAN) to catch user pointer dereferences in the kernel * Large System Extension (LSE) for building scalable atomics and locks (depends on locking/arch-atomic from tip, which is included here) * Hardware Dirty Bit Management (DBM) for updating clean PTEs automatically - Move our PSCI implementation out into drivers/firmware/, where it can be shared with arch/arm/. RMK has also pulled this component branch and has additional patches moving arch/arm/ over. MAINTAINERS is updated accordingly. - Better BUG implementation based on the BRK instruction for trapping - Leaf TLB invalidation for unmapping user pages - Support for PROBE_ONLY PCI configurations - Various cleanups and non-critical fixes, including: * Always flush FP/SIMD state over exec() * Restrict memblock additions based on range of linear mapping * Ensure *(LIST_POISON) generates a fatal fault * Context-tracking syscall return no longer corrupts return value when not forced on. * Alternatives patching synchronisation/stability improvements * Signed sub-word cmpxchg compare fix (tickled by HAVE_CMPXCHG_LOCAL) * Force SMP=y * Hide direct DCC access from userspace * Fix EFI stub memory allocation when DRAM starts at 0x0 * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (92 commits) arm64: flush FP/SIMD state correctly after execve() arm64: makefile: fix perf_callchain.o kconfig dependency arm64: set MAX_MEMBLOCK_ADDR according to linear region size of/fdt: make memblock maximum physical address arch configurable arm64: Fix source code file path in comments arm64: entry: always restore x0 from the stack on syscall return arm64: mdscr_el1: avoid exposing DCC to userspace arm64: kconfig: Move LIST_POISON to a safe value arm64: Add __exception_irq_entry definition for function graph arm64: mm: ensure patched kernel text is fetched from PoU arm64: alternatives: ensure secondary CPUs execute ISB after patching arm64: make ll/sc __cmpxchg_case_##name asm consistent arm64: dma-mapping: Simplify pgprot handling arm64: restore cpu suspend/resume functionality ARM64: PCI: do not enable resources on PROBE_ONLY systems arm64: cmpxchg: truncate sub-word signed types before comparison arm64: alternative: put secondary CPUs into polling loop during patch arm64/Documentation: clarify wording regarding memory below the Image arm64: lse: fix lse cmpxchg code indentation arm64: remove redundant object file list ... commit ef9be10c8c999e00b239eec24cf01952a308f8e7 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 28 10:44:20 2015 +0200 mac80211: reject software RSSI CQM with beacon filtering When beacon filtering is enabled the mac80211 software implementation for RSSI CQM cannot work as beacons will not be available. Rather than accepting such a configuration without proper effect, reject it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 52a45f38ca5998db0394e782d137595a82a08b43 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sat Aug 15 22:39:53 2015 +0300 mac80211: avoid VHT usage with no 80MHz chans allowed Currently if 80MHz channels are not allowed for use, the VHT IE is not included in the probe request for an AP. This is not good enough if the AP is configured with the wrong regulatory and supports VHT even where prohibited or in TDLS scenarios. Mark the ifmgd with the DISABLE_VHT flag for the misbehaving-AP case, and unset VHT support from the peer-station entry for the TDLS case. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 549cc1c560128d583698ba9a73af283fe87dbab8 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 19:00:31 2015 +0200 cfg80211: regulatory: restore proper user alpha2 restore_regulatory_settings() should restore alpha2 as computed in restore_alpha2(), not raw user_alpha2 to behave as described in the comment just above that code. This fixes endless loop of calling CRDA for "00" and "97" countries after resume from suspend on my laptop. Looks like others had the same problem, too: http://ath9k-devel.ath9k.narkive.com/knY5W6St/ath9k-and-crda-messages-in-logs https://bugs.launchpad.net/ubuntu/+source/linux/+bug/899335 https://forum.porteus.org/viewtopic.php?t=4975&p=36436 https://forums.opensuse.org/showthread.php/483356-Authentication-Regulatory-Domain-issues-ath5k-12-2 Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4c0778933a3d7c35a94e8c35847acd9bb59a257d Author: João Paulo Rechi Vita <jprvita@xxxxxxxxx> Date: Tue Aug 25 08:56:43 2015 -0400 rfkill: Copy "all" global state to other types When switching the state of all RFKill switches of type all we need to replicate the RFKILL_TYPE_ALL global state to all the other types global state, so it is used to initialize persistent RFKill switches on register. Signed-off-by: João Paulo Rechi Vita <jprvita@xxxxxxxxxxxx> Acked-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 22f66895e60cfc55b92f6fa93f05bb3fbdbd0bed Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Tue Aug 18 16:52:07 2015 +0300 mac80211: protect non-HT BSS when HT TDLS traffic exists HT TDLS traffic should be protected in a non-HT BSS to avoid collisions. Therefore, when TDLS peers join/leave, check if protection is (now) needed and set the ht_operation_mode of the virtual interface according to the HT capabilities of the TDLS peer(s). This works because a non-HT BSS connection never sets (or otherwise uses) the ht_operation_mode; it just means that drivers must be aware that this field applies to all HT traffic for this virtual interface, not just the traffic within the BSS. Document that. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 98a1f8282b8c37378c1b947d661a58942331ca90 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 26 12:22:14 2015 +0200 mac80211: Do not use sizeof() on pointer type The rate_control_cap_mask() function takes a parameter mcs_mask, which GCC will take to be u8 * even though it was declared with a fixed size. This causes the following warning: net/mac80211/rate.c: In function 'rate_control_cap_mask': net/mac80211/rate.c:719:25: warning: 'sizeof' on array function parameter 'mcs_mask' will return size of 'u8 * {aka unsigned char *}' [-Wsizeof-array-argument] for (i = 0; i < sizeof(mcs_mask); i++) ^ net/mac80211/rate.c:684:10: note: declared here u8 mcs_mask[IEEE80211_HT_MCS_MASK_LEN], ^ This can be easily fixed by using the IEEE80211_HT_MCS_MASK_LEN directly within the loop condition. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5631d9c429857194bd55d7bcd8fa5bdd1a9899a3 Author: Michal Marek <mmarek@xxxxxxxx> Date: Wed Aug 19 17:36:41 2015 +0200 kbuild: Fix clang detection We cannot detect clang before including the arch Makefile, because that can set the default cross compiler. We also cannot detect clang after including the arch Makefile, because powerpc wants to know about clang. Solve this by using an deferred variable. This costs us a few shell invocations, but this is only a constant number. Reported-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reported-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 86bfbc15660a61bb7b3df73db11939eec3393008 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:03:04 2015 +0200 ALSA: sparc: amd7930: Fix module autoload for OF platform driver This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3716001bcb7f5822382ac1f2f54226b87312cc6b Author: Riku Voipio <riku.voipio@xxxxxxxxxx> Date: Wed Sep 2 12:57:24 2015 +0300 deb-pkg: add source package Make deb-pkg build both source and binary package like make rpm-pkg does. For people who only need binary kernel package, there is now bindeb-pkg target, same target also used to build the .deb files if built from the source package using dpkg-buildpackage. Generated source package will build the same kernel .config than what was available for make deb-pkg. The name of the source package can be set with KDEB_SOURCENAME enviroment variable. The source package is useful for GPL compliance, or for feeding to a automated debian package builder. Cc: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Reviewed-by: maximilian attems <maks@xxxxxxx> Reviewed-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 26803821463c4e76322559b3dfb0c6b0fcc8aee8 Author: Riku Voipio <riku.voipio@xxxxxxxxxx> Date: Wed Sep 2 12:57:08 2015 +0300 package/Makefile: move source tar creation to a function Split source tarball creation from rpm-pkg target so it can be used from deb-pkg target as well. As added bonus, we can now pretty print TAR the name of tarball created in quiet mode This patch prepares the groundwork for deb-pkg source package adding bit. Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 1adecc6755e1e4193b5618ddb2e107f6d6e88f4b Author: Woodrow Shen <woodrow.shen@xxxxxxxxxxxxx> Date: Fri Sep 4 15:08:12 2015 +0800 ALSA: hda - Add some FIXUP quirks for white noise on Dell laptop. Dell laptop has a series model to use the same codec but different subsystem ID. At the same time they happens the white noise by login screen and headphone; for fixing them together, I only can add these IDs to FIXUP function ALC292_FIXUP_DISABLE_AAMIX, then try to solve such the similar issues. Codec: Realtek ALC3235 Vendor Id: 0x10ec0293 Subsystem Id: 0x102806dd Subsystem Id: 0x102806df Subsystem Id: 0x102806e0 Cc: <stable@xxxxxxxxxxxxxxx> BugLink: https://bugs.launchpad.net/bugs/1492132 Signed-off-by: Woodrow Shen <woodrow.shen@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eb38f3a4f6e86f8bb10a3217ebd85ecc5d763aae Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 3 22:20:00 2015 -0700 Input: evdev - do not report errors form flush() We've got bug reports showing the old systemd-logind (at least system-210) aborting unexpectedly, and this turned out to be because of an invalid error code from close() call to evdev devices. close() is supposed to return only either EINTR or EBADFD, while the device returned ENODEV. logind was overreacting to it and decided to kill itself when an unexpected error code was received. What a tragedy. The bad error code comes from flush fops, and actually evdev_flush() returns ENODEV when device is disconnected or client's access to it is revoked. But in these cases the fact that flush did not actually happen is not an error, but rather normal behavior. For non-disconnected devices result of flush is also not that interesting as there is no potential of data loss and even if it fails application has no way of handling the error. Because of that we are better off always returning success from evdev_flush(). Also returning EINTR from flush()/close() is discouraged (as it is not clear how application should handle this error), so let's stop taking evdev->mutex interruptibly. Bugzilla: http://bugzilla.suse.com/show_bug.cgi?id=939834 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 22c15e5e008297c90daa8657fea1a3f0e0675454 Author: James Chen <james.chen@xxxxxxxxxx> Date: Thu Sep 3 22:12:38 2015 -0700 Input: elants_i2c - extend the calibration timeout to 12 seconds The 23 inch device found in Chrome project buddy requires 9.2~10.5 seconds to complete calibration. Let's increase calibration timeout to 12 seconds to give the device enough time. Signed-off-by: James Chen <james.chen@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 26492f195eed08b95ad5acdfbe625062ad7d86c6 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 10:50:57 2015 -0700 Input: sparcspkr - fix module autoload for OF platform drivers These platform drivers have a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5b78cb668764061bd8a06f73f9bd081ba6942fef Merge: aed160e 6fa2d19 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 4 13:09:20 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-09-02' of git://anongit.freedesktop.org/drm-intel into drm-next i915 display fixes headed for v4.3. Mostly SKL, but some regression fixes too. * tag 'drm-intel-next-fixes-2015-09-02' of git://anongit.freedesktop.org/drm-intel: i915: Set ddi_pll_sel in DP MST path drm/i915: Don't use link_bw for PLL setup drm/i915: Preserve SSC earlier drm/i915/skl: Adding DDI_E power well domain drm/i915: eDP can be present on DDI-E drm/i915/skl: Enable DDI-E drm/i915: Enable HDMI on DDI-E drm/i915: apply the PCI_D0/D3 hibernation workaround everywhere on pre GEN6 drm/i915: Check DP link status on long hpd too drm/i915: set CDCLK if DPLL0 enabled during resuming from S3 commit aed160eac581258f5f280b6e4b3f49b106973a78 Merge: 41e8a0a3 4c156c2 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 4 13:08:40 2015 +1000 Merge branch 'drm-rockchip-2015-08-26' of https://github.com/markyzq/kernel-drm-rockchip into drm-next Here are some fixes and some new features for rockchip drm, tested on popmetal rk3288 board, can you land them? * 'drm-rockchip-2015-08-26' of https://github.com/markyzq/kernel-drm-rockchip: drm/rockchip: vop: support plane scale drm/rockchip: vop: restore vop registers when resume drm/rockchip: vop: Default enable win2/3 area0 bit drm/rockchip: vop: Add yuv plane support drm/rockchip: vop: Fix window dest start point drm/rockchip: vop: Fix virtual stride calculation commit 41e8a0a3046530911bf2f2fc28c971bf588858b8 Merge: 55cdb31 aa3469c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 4 13:08:08 2015 +1000 Merge tag 'vmwgfx-next-15-09-01' of git://people.freedesktop.org/~thomash/linux into drm-next Pull request of 2015-09-01 A single commit. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1227193 * tag 'vmwgfx-next-15-09-01' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Allow dropped masters render-node like access on legacy nodes v2 commit 55cdb314494b0372c2f0ba3a589aeb412a9626ba Merge: 9949558 c305857 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 4 13:07:18 2015 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next This is a last pull request, which includes two g2d patches I missed, and more cleanup series of Exynos drm driver. The cleanup series makes Exynos drm driver more simple, and removes unnecessary codes, and considers multiple plane format of framebuffer. I hope this not to be late. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm/exynos: remove buf_cnt from struct exynos_drm_fb drm/exynos: remove exynos_drm_fb_get_buf_cnt() drm/exynos: cleanup exynos_user_fb_create() drm/exynos: update exynos_drm_framebuffer_init() for multiple buffers drm/exynos: cleanup to get gem object for fb drm/exynos: update fb_info via only one function drm/exynos: cleanup exynos_drm_fbdev_update() drm/exynos: s/exynos_gem_obj/obj in exynos_drm_fbdev.c drm/exynos: remove exynos_drm_fb_set_buf_cnt() drm/exynos: remove superfluous checks in g2d_check_reg_offset() drm/exynos: fix size check in g2d_check_buf_desc_is_valid() commit 99495589aa4de7166af254bc497cdbe133fc24bb Merge: 879a37d bddf802 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 4 13:06:29 2015 +1000 Merge branch 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-next More fixes for radeon and amdgpu for 4.3: - Send full DP aux address fixes for radeon and amdgpu - Fix an HDMI display regression for pre-DCE5 parts - UVD suspend fixes for amdgpu - Add an rs480 suspend quirk - Fix bo reserve handling in amdgpu GEM_OP ioctl - GPU scheduler fixes - SDMA optimizations - MEC fix for Fiji * 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux: (21 commits) drm/amdgpu: set MEC doorbell range for Fiji drm/amdgpu: implement burst NOP for SDMA drm/amdgpu: add insert_nop ring func and default implementation drm/amdgpu: add amdgpu_get_sdma_instance helper function drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES drm/amdgpu: add burst_nop flag for sdma drm/amdgpu: add count field for the SDMA NOP packet v2 drm/amdgpu: use PT for VM sync on unmap drm/amdgpu: make wait_event uninterruptible in push_job drm/amdgpu: fix amdgpu_bo_unreserve order in GEM_OP IOCTL v2 drm/amdgpu: partially revert "modify amdgpu_fence_wait_any() to amdgpu_fence_wait_multiple()" v2 Add radeon suspend/resume quirk for HP Compaq dc5750. drm/amdgpu: re-work sync_resv drm/amdgpu/atom: Send out the full AUX address drm/radeon/native: Send out the full AUX address drm/radeon/atom: Send out the full AUX address drm/amdgpu: use IB for fill_buffer instead of direct command drm/amdgpu: stop trying to suspend UVD sessions v2 drm/amdgpu: add scheduler dependency callback v2 drm/amdgpu: let the scheduler work more with jobs v2 ... commit 807249d3ada1ff28a47c4054ca4edd479421b671 Merge: ff474e8 2db9704 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 16:55:55 2015 -0700 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS updates from Ralf Baechle: "This is the main pull request for 4.3 for MIPS. Here's the summary: Three fixes that didn't make 4.2-stable: - a -Os build might compile the kernel using the MIPS16 instruction set but the R2 optimized inline functions in <uapi/asm/swab.h> are implemented using 32-bit wide instructions which is invalid. - a build error in pgtable-bits.h for a particular kernel configuration. - accessing registers of the CM GCR might have been compiled to use 64 bit accesses but these registers are onl 32 bit wide. And also a few new bits: - move the ATH79 GPIO driver to drivers/gpio - the definition of IRQCHIP_DECLARE has moved to linux/irqchip.h, change ATH79 accordingly. - fix definition of pgprot_writecombine - add an implementation of dma_map_ops.mmap - fix alignment of quiet build output for vmlinuz link - BCM47xx: Use kmemdup rather than duplicating its implementation - Netlogic: Fix 0x0x prefixes of constants. - merge Bjorn Helgaas' series to remove most of the weak keywords from function declarations. - CP0 and CP1 registers are best considered treated as unsigned values to avoid large values from becoming negative values. - improve support for the MIPS GIC timer. - enable common clock framework for Malta and SEAD3. - a number of improvments and fixes to dump_tlb(). - document the MIPS TLB dump functionality in Magic SysRq. - Cavium Octeon CN68XX improvments. - NetLogic improvments. - irq: Use access helper irq_data_get_affinity_mask. - handle MSA unaligned accesses. - a number of R6-related math-emu fixes. - support for I6400. - improvments to MSA support. - add uprobes support. - move from deprecated __initcall to arch_initcall. - remove finish_arch_switch(). - IRQ cleanups by Thomas Gleixner. - migrate to new 'set-state' interface. - random small cleanups" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (148 commits) MIPS: UAPI: Fix unrecognized opcode WSBH/DSBH/DSHD when using MIPS16. MIPS: Fix alignment of quiet build output for vmlinuz link MIPS: math-emu: Remove unused handle_dsemul function declaration MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction MIPS: math-emu: Add support for the MIPS R6 RINT FPU instruction MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction MIPS: math-emu: Add support for the MIPS R6 SELNEZ FPU instruction MIPS: math-emu: Add support for the MIPS R6 SELEQZ FPU instruction MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction MIPS: inst.h: Add new MIPS R6 FPU opcodes MIPS: Octeon: Fix management port MII address on Kontron S1901 MIPS: BCM47xx: Use kmemdup rather than duplicating its implementation STAGING: Octeon: Use common helpers for determining interface and port MIPS: Octeon: Support interfaces 4 and 5 MIPS: Octeon: Set up 1:1 mapping between CN68XX PKO queues and ports MIPS: Octeon: Initialize CN68XX PKO STAGING: Octeon: Support CN68XX style WQE ... commit ff474e8ca8547d09cb82ebab56d4c96f9eea01ce Merge: 4c92b5b 390fd59 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 16:41:38 2015 -0700 Merge tag 'powerpc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc updates from Michael Ellerman: - support "hybrid" iommu/direct DMA ops for coherent_mask < dma_mask from Benjamin Herrenschmidt - EEH fixes for SRIOV from Gavin - introduce rtas_get_sensor_fast() for IRQ handlers from Thomas Huth - use hardware RNG for arch_get_random_seed_* not arch_get_random_* from Paul Mackerras - seccomp filter support from Michael Ellerman - opal_cec_reboot2() handling for HMIs & machine checks from Mahesh Salgaonkar - add powerpc timebase as a trace clock source from Naveen N. Rao - misc cleanups in the xmon, signal & SLB code from Anshuman Khandual - add an inline function to update POWER8 HID0 from Gautham R. Shenoy - fix pte_pagesize_index() crash on 4K w/64K hash from Michael Ellerman - drop support for 64K local store on 4K kernels from Michael Ellerman - move dma_get_required_mask() from pnv_phb to pci_controller_ops from Andrew Donnellan - initialize distance lookup table from drconf path from Nikunj A Dadhania - enable RTC class support from Vaibhav Jain - disable automatically blocked PCI config from Gavin Shan - add LEDs driver for PowerNV platform from Vasant Hegde - fix endianness issues in the HVSI driver from Laurent Dufour - kexec endian fixes from Samuel Mendoza-Jonas - fix corrupted pdn list from Gavin Shan - fix fenced PHB caused by eeh_slot_error_detail() from Gavin Shan - Freescale updates from Scott: Highlights include 32-bit memcpy/memset optimizations, checksum optimizations, 85xx config fragments and updates, device tree updates, e6500 fixes for non-SMP, and misc cleanup and minor fixes. - a ton of cxl updates & fixes: - add explicit precision specifiers from Rasmus Villemoes - use more common format specifier from Rasmus Villemoes - destroy cxl_adapter_idr on module_exit from Johannes Thumshirn - destroy afu->contexts_idr on release of an afu from Johannes Thumshirn - compile with -Werror from Daniel Axtens - EEH support from Daniel Axtens - plug irq_bitmap getting leaked in cxl_context from Vaibhav Jain - add alternate MMIO error handling from Ian Munsie - allow release of contexts which have been OPENED but not STARTED from Andrew Donnellan - remove use of macro DEFINE_PCI_DEVICE_TABLE from Vaishali Thakkar - release irqs if memory allocation fails from Vaibhav Jain - remove racy attempt to force EEH invocation in reset from Daniel Axtens - fix + cleanup error paths in cxl_dev_context_init from Ian Munsie - fix force unmapping mmaps of contexts allocated through the kernel api from Ian Munsie - set up and enable PSL Timebase from Philippe Bergheaud * tag 'powerpc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (140 commits) cxl: Set up and enable PSL Timebase cxl: Fix force unmapping mmaps of contexts allocated through the kernel api cxl: Fix + cleanup error paths in cxl_dev_context_init powerpc/eeh: Fix fenced PHB caused by eeh_slot_error_detail() powerpc/pseries: Cleanup on pci_dn_reconfig_notifier() powerpc/pseries: Fix corrupted pdn list powerpc/powernv: Enable LEDS support powerpc/iommu: Set default DMA offset in dma_dev_setup cxl: Remove racy attempt to force EEH invocation in reset cxl: Release irqs if memory allocation fails cxl: Remove use of macro DEFINE_PCI_DEVICE_TABLE powerpc/powernv: Fix mis-merge of OPAL support for LEDS driver powerpc/powernv: Reset HILE before kexec_sequence() powerpc/kexec: Reset secondary cpu endianness before kexec powerpc/hvsi: Fix endianness issues in the HVSI driver leds/powernv: Add driver for PowerNV platform powerpc/powernv: Create LED platform device powerpc/powernv: Add OPAL interfaces for accessing and modifying system LED states powerpc/powernv: Fix the log message when disabling VF cxl: Allow release of contexts which have been OPENED but not STARTED ... commit 4c92b5bb14226faa16d29a1df5752baf1ff22b53 Merge: c706c7e fca8b80 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 16:36:33 2015 -0700 Merge branch 'pcmcia' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM pcmcia updates from Russell King: "A series of changes updating the PXA and SA11x0 PCMCIA code to use devm_* APIs, and resolve some resource leaks in doing so. This results in a few small cleanups which are included in this set. FYI, the recommit of these today is to add Robert Jarzmik's reviewed-by tags, which I'd forgotten to add from mid-July" * 'pcmcia' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: pcmcia: soc_common: remove skt_dev_info's clk pointer pcmcia: sa11xx_base.c: remove useless init/exit functions pcmcia: sa1111: simplify clk handing in sa1111_pcmcia_add() pcmcia: sa1111: update socket driver to use devm_clk_get() API pcmcia: pxa2xx: convert memory allocation to devm_* API pcmcia: pxa2xx: update socket driver to use devm_clk_get() API pcmcia: sa11x0: convert memory allocation to devm_* API pcmcia: sa11x0: fix missing clk_put() in sa11x0 socket drivers commit c706c7eb0d08098f0d768aeef945d7cf1f8858b4 Merge: 79b0691 3ff32a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 16:27:01 2015 -0700 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM development updates from Russell King: "Included in this update: - moving PSCI code from ARM64/ARM to drivers/ - removal of some architecture internals from global kernel view - addition of software based "privileged no access" support using the old domains register to turn off the ability for kernel loads/stores to access userspace. Only the proper accessors will be usable. - addition of early fixup support for early console - re-addition (and reimplementation) of OMAP special interconnect barrier - removal of finish_arch_switch() - only expose cpuX/online in sysfs if hotpluggable - a number of code cleanups" * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (41 commits) ARM: software-based priviledged-no-access support ARM: entry: provide uaccess assembly macro hooks ARM: entry: get rid of multiple macro definitions ARM: 8421/1: smp: Collapse arch_cpu_idle_dead() into cpu_die() ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore() ARM: mm: improve do_ldrd_abort macro ARM: entry: ensure that IRQs are enabled when calling syscall_trace_exit() ARM: entry: efficiency cleanups ARM: entry: get rid of asm_trace_hardirqs_on_cond ARM: uaccess: simplify user access assembly ARM: domains: remove DOMAIN_TABLE ARM: domains: keep vectors in separate domain ARM: domains: get rid of manager mode for user domain ARM: domains: move initial domain setting value to asm/domains.h ARM: domains: provide domain_mask() ARM: domains: switch to keeping domain value in register ARM: 8419/1: dma-mapping: harmonize definition of DMA_ERROR_CODE ARM: 8417/1: refactor bitops functions with BIT_MASK() and BIT_WORD() ARM: 8416/1: Feroceon: use of_iomap() to map register base ARM: 8415/1: early fixmap support for earlycon ... commit 79b0691d0c1d3d4a976e3304a1512e6eca9671ec Merge: ca520ca 5b92356 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 16:15:41 2015 -0700 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf fixes from Ingo Molnar: "Tooling fixes plus a handful of late arriving tooling changes" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf tools: Fix link time error with sample_reg_masks on non x86 perf build: Fix Intel PT instruction decoder dependency problem perf dwarf: Fix potential array out of bounds access perf record: Add ability to name registers to record perf/x86: Add list of register names perf script: Enable printing of interrupted machine state perf evlist: Open event on evsel cpus and threads bpf tools: New API to get name from a BPF object perf tools: Fix build on powerpc broken by pt/bts commit ca520cab25e0e8da717c596ccaa2c2b3650cfa09 Merge: 4c12ab7 d420acd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 15:46:07 2015 -0700 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull locking and atomic updates from Ingo Molnar: "Main changes in this cycle are: - Extend atomic primitives with coherent logic op primitives (atomic_{or,and,xor}()) and deprecate the old partial APIs (atomic_{set,clear}_mask()) The old ops were incoherent with incompatible signatures across architectures and with incomplete support. Now every architecture supports the primitives consistently (by Peter Zijlstra) - Generic support for 'relaxed atomics': - _acquire/release/relaxed() flavours of xchg(), cmpxchg() and {add,sub}_return() - atomic_read_acquire() - atomic_set_release() This came out of porting qwrlock code to arm64 (by Will Deacon) - Clean up the fragile static_key APIs that were causing repeat bugs, by introducing a new one: DEFINE_STATIC_KEY_TRUE(name); DEFINE_STATIC_KEY_FALSE(name); which define a key of different types with an initial true/false value. Then allow: static_branch_likely() static_branch_unlikely() to take a key of either type and emit the right instruction for the case. To be able to know the 'type' of the static key we encode it in the jump entry (by Peter Zijlstra) - Static key self-tests (by Jason Baron) - qrwlock optimizations (by Waiman Long) - small futex enhancements (by Davidlohr Bueso) - ... and misc other changes" * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (63 commits) jump_label/x86: Work around asm build bug on older/backported GCCs locking, ARM, atomics: Define our SMP atomics in terms of _relaxed() operations locking, include/llist: Use linux/atomic.h instead of asm/cmpxchg.h locking/qrwlock: Make use of _{acquire|release|relaxed}() atomics locking/qrwlock: Implement queue_write_unlock() using smp_store_release() locking/lockref: Remove homebrew cmpxchg64_relaxed() macro definition locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t' locking, asm-generic: Rework atomic-long.h to avoid bulk code duplication locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations locking, compiler.h: Cast away attributes in the WRITE_ONCE() magic locking/static_keys: Make verify_keys() static jump label, locking/static_keys: Update docs locking/static_keys: Provide a selftest jump_label: Provide a self-test s390/uaccess, locking/static_keys: employ static_branch_likely() x86, tsc, locking/static_keys: Employ static_branch_likely() locking/static_keys: Add selftest locking/static_keys: Add a new static_key interface locking/static_keys: Rework update logic locking/static_keys: Add static_key_{en,dis}able() helpers ... commit 724a7636ad026a3a68f3fc626ccd04111f65cfd9 Merge: 4548a69 410f038 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 3 15:43:06 2015 -0700 Merge branch 'sctp-fixes' Marcelo Ricardo Leitner says: ==================== couple of sctp fixes for 0ca50d12fe46 These are two fixes for sctp after my patch on 0ca50d12fe46 ("sctp: fix src address selection if using secondary addresses") The first, fix a dst leak on those it decided to skip. The second, adds the fallback on src selection that Vlad had asked about. Unfortunatelly a lot of ipvs setups relies on the old behavior and I don't see a better fix for it. Please consider both to -stable tree. ==================== Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 410f03831c0768f2b1850d28ba697b167ddcb89b Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Wed Sep 2 16:20:22 2015 -0300 sctp: add routing output fallback Commit 0ca50d12fe46 added a restriction that the address must belong to the output interface, so that sctp will use the right interface even when using secondary addresses. But it breaks IPVS setups, on which people is used to attach VIP addresses to loopback interface on real servers. It's preferred to attach to the interface actually in use, but it's a very common setup and that used to work. This patch then saves the first routing good result, even if it would be going out through an interface that doesn't have that address. If no better hit found, it's then used. This effectively restores the original behavior if no better interface could be found. Fixes: 0ca50d12fe46 ("sctp: fix src address selection if using secondary addresses") Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d82f0f1fc8a4f214a50c9dfc64e3896f9894afb7 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Wed Sep 2 16:20:21 2015 -0300 sctp: fix dst leak Commit 0ca50d12fe46 failed to release the reference to dst entries that it decided to skip. Fixes: 0ca50d12fe46 ("sctp: fix src address selection if using secondary addresses") Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4548a697e4969d695047cebd6d9af5e2f6cc728e Author: Atsushi Nemoto <nemoto@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 17:49:29 2015 +0900 net: eth: altera: fix napi poll_list corruption tse_poll() calls __napi_complete() with irq enabled. This leads napi poll_list corruption and may stop all napi drivers working. Use napi_complete() instead of __napi_complete(). Signed-off-by: Atsushi Nemoto <nemoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e33d1f0a145d48e8cf287954bbf791af8387cfb Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 11:12:59 2015 +0200 KVM: PPC: Book3S: Fix typo in top comment about locking Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit d1178cbcdcf91900ccf10a177350d7945703c151 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 17:34:13 2015 -0600 IB/ipoib: Suppress warning for send only join failures We expect send only joins to fail, it just means there are no listeners for the group. The correct thing to do is silently drop the packet at source. Eg avahi will full join 224.0.0.251 which causes a send only IGMP packet to 224.0.0.22, and then a warning level kmessage like this: ib0: sendonly multicast join failed for ff12:401b:ffff:0000:0000:0000:0000:0016, status -22 If there is no IP router listening to IGMP. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c3acdc06a95ff20d920220ecb931186b0bb22c42 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Thu Sep 3 17:05:58 2015 -0400 IB/ipoib: Clean up send-only multicast joins Even though we don't expect the group to be created by the SM we sill need to provide all the parameters to force the SM to validate they are correct. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4c12ab7e5e2e892fa94df500f96001837918a281 Merge: 9cbf22b 01a5ad8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:10:22 2015 -0700 Merge tag 'for-f2fs-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs updates from Jaegeuk Kim: "The major work includes fixing and enhancing the existing extent_cache feature, which has been well settling down so far and now it becomes a default mount option accordingly. Also, this version newly registers a f2fs memory shrinker to reclaim several objects consumed by a couple of data structures in order to avoid memory pressures. Another new feature is to add ioctl(F2FS_GARBAGE_COLLECT) which triggers a cleaning job explicitly by users. Most of the other patches are to fix bugs occurred in the corner cases across the whole code area" * tag 'for-f2fs-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (85 commits) f2fs: upset segment_info repair f2fs: avoid accessing NULL pointer in f2fs_drop_largest_extent f2fs: update extent tree in batches f2fs: fix to release inode correctly f2fs: handle f2fs_truncate error correctly f2fs: avoid unneeded initializing when converting inline dentry f2fs: atomically set inode->i_flags f2fs: fix wrong pointer access during try_to_free_nids f2fs: use __GFP_NOFAIL to avoid infinite loop f2fs: lookup neighbor extent nodes for merging later f2fs: split __insert_extent_tree_ret for readability f2fs: kill dead code in __insert_extent_tree f2fs: adjust showing of extent cache stat f2fs: add largest/cached stat in extent cache f2fs: fix incorrect mapping for bmap f2fs: add annotation for space utilization of regular/inline dentry f2fs: fix to update cached_en of extent tree properly f2fs: fix typo f2fs: check the node block address of newly allocated nid f2fs: go out for insert_inode_locked failure ... commit bf2d087749d91e1fa2826edde1e2fd650d3053ca Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Thu Aug 27 15:49:18 2015 -0500 ipmi:ssif: Add a module parm to specify that SMBus alerts don't work They are broken on some platforms, this gives people a chance to work around it until the firmware is fixed. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit acbd9ae70a94bdc626508f444879e19ebe1c421f Author: Brijesh Singh <brijeshkumar.singh@xxxxxxx> Date: Mon Aug 24 09:15:25 2015 -0500 ipmi: add of_device_id in MODULE_DEVICE_TABLE Fix autoloading ipmi modules when using device tree. Signed-off-by: Brijesh Singh <brijeshkumar.singh@xxxxxxx> Moved this change up into the CONFIG_OF section to account for changes to the probing code. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit d08828973d96eb26e48fb7ca8fb8a8d49adbe53a Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Tue Aug 18 14:29:10 2015 -0500 ipmi: Compensate for BMCs that wont set the irq enable bit It appears that some BMCs support interrupts but don't support setting the irq enable bits. The interrupts are just always on. Sigh. Add code to compensate. The new code was very similar to another functions, so this also factors out the common code into other functions. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Tested-by: Henrik Korkuc <henrik@xxxxxxxxx> commit c49c097610fe1aabf86111297280a718abb5dcc2 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Mon Jul 27 14:55:16 2015 +0900 ipmi: Don't call receive handler in the panic context Received handlers defined as ipmi_recv_hndl member of struct ipmi_user_hndl can take a spinlock. This means that if the kernel panics while holding the lock, a deadlock may happen on the lock while flushing queued messages in the panic context. Calling the receive handler doesn't make much meanings in the panic context, simply skip it to avoid possible deadlocks. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 06e5e345fea8df24b1d935f98741343df4cab664 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Mon Jul 27 14:55:16 2015 +0900 ipmi: Avoid touching possible corrupted lists in the panic context When processing queued messages in the panic context, IPMI driver tries to do it without any locking to avoid deadlocks. However, this means we can touch a corrupted list if the kernel panicked while manipulating the list. Fortunately, current `add-tail and del-from-head' style implementation won't touch the corrupted part, but it is inherently risky. To get rid of the risk, this patch re-initializes the message lists on panic if the related spinlock has already been acquired. As the result, we may lose queued messages, but it's not so painful. Dropping messages on the received message list is also less problematic because no one can respond the received messages. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Fixed a comment typo. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 82802f968bd3118af04eaeb3814c21d9813be527 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Mon Jul 27 14:55:16 2015 +0900 ipmi: Don't flush messages in sender() in run-to-completion mode When flushing queued messages in run-to-completion mode, smi_event_handler() is recursively called. flush_messages() smi_event_handler() handle_transaction_done() deliver_recv_msg() ipmi_smi_msg_received() smi_recv_tasklet() sender() flush_messages() smi_event_handler() ... The depth of the recursive call depends on the number of queued messages, so it can cause a stack overflow if many messages have been queued. To solve this problem, this patch removes flush_messages() from sender()@ipmi_si_intf.c. Instead, add flush_messages() to caller side of sender() if needed. Additionally, to implement this, add new handler flush_messages to struct ipmi_smi_handlers. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Fixed up a comment and some spacing issues. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit e45361d733d0a1432b0f6307375045e66ac02489 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Mon Jul 27 14:55:16 2015 +0900 ipmi: Factor out message flushing procedure Factor out message flushing procedure which is used in run-to-completion mode. This patch doesn't change the logic. Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit b0868dd5c17c0d9cc8919e786db2e428aa225621 Author: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Date: Mon Jul 27 14:55:16 2015 +0900 ipmi: Remove unneeded set_run_to_completion call send_panic_events() calls intf->handlers->set_run_to_completion(), but it has already been done in the caller function panic_event(). Remove it from send_panic_events(). Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 81d02b7f8c507f06299476a0e5b2aa677c5eaecb Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Sat Jun 13 10:34:25 2015 -0500 ipmi: Make some data const that was only read Several data structures were only used for reading, so make them const. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 5186cf9c74034a4a7856de9c8048493be34c457d Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sat Jun 13 14:19:33 2015 +0200 ipmi: constify SSIF ACPI device ids Constify the ACPI device ID array, it doesn't need to be writable at runtime. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit a7930899ca0082a33350b253c6ed34f67255f98e Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 18:12:14 2015 +0200 ipmi: Delete an unnecessary check before the function call "cleanup_one_si" The cleanup_one_si() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit fedb25ea903d3520b6cff00c41740a892cf6bc0e Author: Shailendra Verma <shailendra.capricorn@xxxxxxxxx> Date: Tue May 26 00:54:57 2015 +0530 char:ipmi - Change 1 to true for bool type variables during initialization. Signed-off-by: Shailendra Verma <shailendra.capricorn@xxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 881c585ef79addb2440a7f8d59bda5640d0ff623 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Sat May 9 15:32:28 2015 -0400 impi:Remove unneeded setting of module owner to THIS_MODULE in the platform structure, powernv_ipmi_driver This removes the no longer required setting of the module owner for the plaform structure,powernv_ipmi_driver to THIS_MODULE as the driver core for ipmi drivers will directly find and set the module owner for this driver. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit b2234ee9fc059c17e811a365383e3412a2f50bed Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Thu Feb 19 11:29:24 2015 -0600 ipmi: Add a comment in how messages are delivered from the lower layer To avoid confusion in the future. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit cca85f19c260df495a487495479c67803b25fa8a Author: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 16:46:54 2015 +0530 ipmi/powernv: Fix potential invalid pointer dereference If the OPAL call to receive the ipmi message fails, then we free up the smi message and return. But, the driver still holds the reference to old smi message in the 'cur_msg' which can potentially be accessed later and freed again leading to kernel oops. To fix it up, The kernel driver should reset the 'cur_msg' and send reply to the user in addition to freeing the message. Signed-off-by: Neelesh Gupta <neelegup@xxxxxxxxxxxxxxxxxx> Fixed a checkpatch warning dealing with an else after a return. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 0fbcf4af7c8362d4691f9388efa57d0b14b34225 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Tue Jun 9 16:51:46 2015 -0500 ipmi: Convert the IPMI SI ACPI handling to a platform device The IPMI SI driver was using direct PNP, but that was not really ideal because the IPMI device is a platform device. There was some special handling in the acpi_pnp.c code for making this work, but that was breaking ACPI handling for the IPMI SSIF driver. So without this patch there were significant issues getting the SSIF driver to work with ACPI. So use a platform device for ACPI detection and remove the entry from acpi_pnp.c. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 92e847212676bb3c5f9f7e317907367dbb8c504b Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Thu Sep 3 14:58:55 2015 -0500 ipmi: Add device tree bindings information Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 7fbc67df2cd6d0b72fd5d6d3acaa79ab6f5b0224 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Mon Aug 24 19:04:51 2015 +0300 IB/srp: Fix possible protection fault srp_destroy_qp is designed to indicate we are safe to continue with freeing the channel resources by modifying the qp error state, posting a dummy wr on the queue-pair and waiting for it to flush. This also holds for the channel registration pool as we are unmapping the memory region when handling a scsi response. Destroying the channel registration pool before we make sure we processed all the inflight IO might introduce a use-after-free of the registration pool. This use-after-free is demonstrated in the stack trace below where srp is trying to unmap a used FMR after the fmr_pool was already destroyed. general protection fault: 0000 [#1] SMP RIP: 0010:[<ffffffff8151121b>] [<ffffffff8151121b>] _raw_spin_lock_irqsave+0x1b/0x50 Call Trace: [<ffffffffa055d88a>] ib_fmr_pool_unmap+0x1a/0xb0 [ib_core] [<ffffffffa06c00ed>] srp_unmap_data.isra.28+0x17d/0x250 [ib_srp] [<ffffffffa06c01eb>] srp_free_req+0x2b/0x60 [ib_srp] [<ffffffffa06c0c94>] srp_recv_completion+0x174/0x580 [ib_srp] [<ffffffffa04580fe>] mlx4_eq_int+0x4de/0xe50 [mlx4_core] [<ffffffffa0458b00>] mlx4_msi_x_interrupt+0x10/0x20 [mlx4_core] [<ffffffff810abc45>] handle_irq_event_percpu+0x35/0x1b0 [<ffffffff810abdf2>] handle_irq_event+0x32/0x50 [<ffffffff810ae5cf>] handle_edge_irq+0x6f/0x120 [<ffffffff8100455a>] handle_irq+0x1a/0x30 [<ffffffff8151b475>] do_IRQ+0x45/0xb0 [<ffffffff8151162d>] common_interrupt+0x6d/0x6d [<ffffffff813e4d2f>] cpuidle_enter_state+0x4f/0xc0 [<ffffffff813e4e6c>] cpuidle_idle_call+0xcc/0x210 [<ffffffff8100b9ea>] arch_cpu_idle+0xa/0x30 [<ffffffff810ab1e1>] cpu_startup_entry+0xe1/0x270 [<ffffffff81030b3a>] start_secondary+0x21a/0x2c0 Reported-by: Eliott Kespi <eliottk@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9cbf22b37ae0592dea809cb8d424990774c21786 Merge: ea814ab b3a5bbf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:57:48 2015 -0700 Merge tag 'dlm-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm Pull dlm updates from David Teigland: "This set mainly includes a change to the way the dlm uses the SCTP API in the kernel, removing the direct dependency on the sctp module. Other odd SCTP-related fixes are also included. The other notable fix is for a long standing regression in the behavior of lock value blocks for user space locks" * tag 'dlm-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm: dlm: print error from kernel_sendpage dlm: fix lvb copy for user locks dlm: sctp_accept_from_sock() can be static dlm: fix reconnecting but not sending data dlm: replace BUG_ON with a less severe handling dlm: use sctp 1-to-1 API dlm: fix not reconnecting on connecting error handling dlm: fix race while closing connections dlm: fix connection stealing if using SCTP commit ea814ab9aab23505f6828a0cc01c985e59847f4e Merge: e31fb9e bdfe0cbd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:52:19 2015 -0700 Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 updates from Ted Ts'o: "Pretty much all bug fixes and clean ups for 4.3, after a lot of features and other churn going into 4.2" * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: Revert "ext4: remove block_device_ejected" ext4: ratelimit the file system mounted message ext4: silence a format string false positive ext4: simplify some code in read_mmp_block() ext4: don't manipulate recovery flag when freezing no-journal fs jbd2: limit number of reserved credits ext4 crypto: remove duplicate header file ext4: update c/mtime on truncate up jbd2: avoid infinite loop when destroying aborted journal ext4, jbd2: add REQ_FUA flag when recording an error in the superblock ext4 crypto: fix spelling typo in comment ext4 crypto: exit cleanly if ext4_derive_key_aes() fails ext4: reject journal options for ext2 mounts ext4: implement cgroup writeback support ext4: replace ext4_io_submit->io_op with ->io_wbc ext4 crypto: check for too-short encrypted file names ext4 crypto: use a jbd2 transaction when adding a crypto policy jbd2: speedup jbd2_journal_dirty_metadata() commit 0629cb06cdf8f1a403ce71bce5b83380ae898e1a Author: Ira Weiny <ira.weiny@xxxxxxxxx> Date: Thu Sep 3 14:16:30 2015 -0400 IB/core: Move SM class defines from ib_mad.h to ib_smi.h When the hfi1 driver was added these definitions were moved from the qib driver to ib_mad.h to be used by both qib and hfi1. They should have been moved to ib_smi.h instead. Fixes: d4ab347005fb ("IB/core: Add core header changes needed for OPA") Reviewed-by: Hal Rosenstock <hal@xxxxxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ce755c9b01e09ee4907cf79bd0f57fa5cf65c4c3 Author: Ira Weiny <ira.weiny@xxxxxxxxx> Date: Wed Sep 2 18:45:54 2015 -0400 IB/core: Remove unnecessary defines from ib_mad.h Remove the unused IB_NOTICE_REPRESS_* defines. When the hfi1 driver was added these definitions were moved from the qib driver to ib_mad.h. They should have been removed instead. Fixes: d4ab347005fb ("IB/core: Add core header changes needed for OPA") Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Reviewed-by: Hal Rosenstock <hal@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6f876ce4b53f7c748e07cedab661aa4bcc8a09d2 Author: Ira Weiny <ira.weiny@xxxxxxxxx> Date: Wed Sep 2 18:46:21 2015 -0400 IB/hfi1: Add PSM2 user space header to header_install When the hfi1 driver was added a user space header file (hfi1_user.h) was added to be shared between PSM2 and the driver. However, the file was not added to the header install. Add it now. Fixes: d4ab347005fb ("IB/core: Add core header changes needed for OPA") Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e31fb9e00543e5d3c5b686747d3c862bc09b59f3 Merge: 824b005 9181f8b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:28:30 2015 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs Pull ext3 removal, quota & udf fixes from Jan Kara: "The biggest change in the pull is the removal of ext3 filesystem driver (~28k lines removed). Ext4 driver is a full featured replacement these days and both RH and SUSE use it for several years without issues. Also there are some workarounds in VM & block layer mainly for ext3 which we could eventually get rid of. Other larger change is addition of proper error handling for dquot_initialize(). The rest is small fixes and cleanups" [ I wasn't convinced about the ext3 removal and worried about things falling through the cracks for legacy users, but ext4 maintainers piped up and were all unanimously in favor of removal, and maintaining all legacy ext3 support inside ext4. - Linus ] * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: udf: Don't modify filesystem for read-only mounts quota: remove an unneeded condition ext4: memory leak on error in ext4_symlink() mm/Kconfig: NEED_BOUNCE_POOL: clean-up condition ext4: Improve ext4 Kconfig test block: Remove forced page bouncing under IO fs: Remove ext3 filesystem driver doc: Update doc about journalling layer jfs: Handle error from dquot_initialize() reiserfs: Handle error from dquot_initialize() ocfs2: Handle error from dquot_initialize() ext4: Handle error from dquot_initialize() ext2: Handle error from dquot_initalize() quota: Propagate error from ->acquire_dquot() commit 6fd8edabc2b03203e6bc44e77d1dfff415e706cc Author: Jubin John <jubin.john@xxxxxxxxx> Date: Wed Sep 2 10:43:24 2015 -0400 IB/hfi1: Add CSRs for CONFIG_SDMA_VERBOSITY 3 CSRs needed by the CONFIG_SDMA_VERBOSITY code were removed during the CSR clean up. Adding these CSRs back to resolve 0-day build failure: https://lists.01.org/pipermail/kbuild-all/2015-August/011919.html Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Jubin John <jubin.john@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 824b005c86f91fe02eb2743a4526361f11786f70 Merge: dd5cdb4 f49a26e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 11:55:55 2015 -0700 Merge branch 'hpfs' (patches from Mikulas) Merge hpfs upddate from Mikulas Patocka. * emailed patches from Mikulas Patocka <mikulas@xxxxxxxxxxxxx>: hpfs: update ctime and mtime on directory modification hpfs: support hotfixes commit f49a26e7718dd30b49e3541e3e25aecf5e7294e2 Author: Mikulas Patocka <mikulas@xxxxxxxxxxxxx> Date: Wed Sep 2 22:51:53 2015 +0200 hpfs: update ctime and mtime on directory modification Update ctime and mtime when a directory is modified. (though OS/2 doesn't update them anyway) Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxx # v3.3+ Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a64eefaac1c5cc8dbc6995228fe08a61b8e1d26b Author: Mikulas Patocka <mikulas@xxxxxxxxxxxxx> Date: Wed Sep 2 22:50:12 2015 +0200 hpfs: support hotfixes When the OS/2 driver hits a disk write error, it writes the sector to another location and adds the sector mapping to the hotfix map. This patch makes the hpfs driver understand the hotfix map and remap accesses accoring to it. Signed-off-by: Mikulas Patocka <mikulas@xxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b636401f0ec9bbf7931774e00f3adf7ee9214cce Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Sep 2 22:23:04 2015 +0300 mlx5: Fix incorrect wc pkey_index assignment for GSI messages Since patch series "Demux IB CM requests in the rdma_cm module" the P_Key index is taken from the work completion rather than the message itself. The HCA provides us with the message P_Key. In order to provide the P_Key index, we need to look it up. Given that this is relevant only for GSI messages (session establishments) which is less performance critical, micro-optimize against the GSI (is_qp1) branch. Fixes: 4c21b5bcef73 ("IB/cma: Add net_dev and private data checks to RDMA CM") Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 11d748045c6dadb279d1acdb6d2ea8f3f2ede85b Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Tue Sep 1 09:56:56 2015 +0300 IB/mlx5: avoid destroying a NULL mr in reg_user_mr error flow The mlx5_ib_reg_user_mr() function will attempt to call clean_mr() in its error flow even though there is never a case where the error flow occurs with a valid MR pointer to destroy. Remove the clean_mr() call and the incorrect comment above it. Fixes: b4cfe447d47b ("IB/mlx5: Implement on demand paging by adding support for MMU notifiers") Cc: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8f7e0a806db0a3ba33234af3c39d68ed8c144071 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Thu Aug 27 13:02:54 2015 -0500 gfs2: A minor "sbstats" cleanup It seems cleaner to avoid the temporary value here. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit c9ea8c8b74b5fb2584879e4338770ed252d8a489 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Thu Aug 27 13:05:08 2015 -0500 gfs2: Fix a typo in a comment Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 4d207133e9c362bc05a3bb6701d63eeb75cc4b77 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Thu Aug 27 12:51:45 2015 -0500 gfs2: Make statistics unsigned, suitable for use with do_div() None of these statistics can meaningfully be negative, and the numerator for do_div() must have the type u64. The generic implementation of do_div() used on some 32-bit architectures asserts that, resulting in a compiler error in gfs2_rgrp_congested(). Fixes: 0166b197c2ed ("GFS2: Average in only non-zero round-trip times ...") Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Acked-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> commit 88ffbf3e037e67b52c46d528aca1618489c21f68 Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Mon Mar 16 11:02:46 2015 -0500 GFS2: Use resizable hash table for glocks This patch changes the glock hash table from a normal hash table to a resizable hash table, which scales better. This also simplifies a lot of code. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 15562c439d0a1850b71aa1c0d92d1f4fb9503c8d Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Mon Mar 16 11:52:05 2015 -0500 GFS2: Move glock superblock pointer to field gl_name What uniquely identifies a glock in the glock hash table is not gl_name, but gl_name and its superblock pointer. This patch makes the gl_name field correspond to a unique glock identifier. That will allow us to simplify hashing with a future patch, since the hash algorithm can then take the gl_name and hash its components in one operation. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 81648d043191e5f8f5870c5af6060b56383b139d Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Thu Aug 27 11:43:00 2015 -0500 gfs2: Simplify the seq file code for "sbstats" Don't use struct gfs2_glock_iter as the helper data structure for iterating through "sbstats"; we are not iterating through glocks here. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 270e869d846af143f60b7404e01e785d18420007 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Sep 2 20:25:48 2015 +0200 drm/amdgpu: fix buffer placement under memory pressure Some buffers (UVD/VM page tables) must be placed in VRAM, but the byte restriction for moving buffers didn't took this into account. Port of radeon commit 4b09556660bfe1b43d72ca858524c6baf2c6cb1d. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit b632ffa7cee439ba5dce3b3bc4a5cbe2b3e20133 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Aug 26 11:00:37 2015 +0200 IB/uverbs: reject invalid or unknown opcodes We have many WR opcodes that are only supported in kernel space and/or require optional information to be copied into the WR structure. Reject all those not explicitly handled so that we can't pass invalid information to drivers. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 54b9a96f10d9acb7b1ffd40e2e1736443eb7656d Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Wed Aug 26 23:00:59 2015 -0400 IB/cxgb4: Fix if statement in pick_local_ip6adddrs This fixes an if statement checking the return value of the function get_lladdr for success in the function pick_local_ip6addrs to instead of directly checking the return value of this call check the opposite as get_lladdr returns zero for success which would incorrectly make this if statement block not execute with the current if statement check. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Acked-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 731857715f03035c812c3f6bdcb6b0179150c1aa Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 10:50:21 2015 -0700 Input: regulator-haptic - fix module autoload for OF platform driver This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 544edf56fdbf3916f4dad4e2dc71de3965a9d964 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 10:49:46 2015 -0700 Input: pwm-beeper - fix module autoload for OF platform driver This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e4dbe796285d96976586487fe0555f678c95b60f Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 10:49:17 2015 -0700 Input: ab8500-ponkey - Fix module autoload for OF platform driver This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f2bc114b82ecbd32b3581bebdf40f1f2c4e9941b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 3 10:47:25 2015 -0700 Input: cyttsp - remove unnecessary MODULE_ALIAS() The drivers have a I2C device ID table that is used to create the module aliases and also "cyttsp" and "cyttsp4" are not supported I2C device IDs so these module aliases are never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4aeca98c49e9873e18b27540a0ba18b22e1b9424 Author: João Paulo Rechi Vita <jprvita@xxxxxxxxx> Date: Thu Sep 3 10:04:49 2015 -0700 Input: elan_i2c - add ACPI ID "ELAN1000" This ACPI ID present in the DSDT of the ASUS E202SA laptop. Signed-off-by: João Paulo Rechi Vita <jprvita@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 50ef28a6ac216fd8b796257a3768fef8f57b917d Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Sep 1 07:48:11 2015 -0300 [media] c8sectpfe: Remove select on undefined LIBELF_32 LIBELF_32 is not defined in Kconfig, and is left over legacy which is not required in the upstream driver, so remove it. Suggested-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 01b944fe1cd4e21a2a9ed51adbdbafe2d5e905ba Merge: e51e384 58f1eae Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Sep 3 10:01:44 2015 -0700 Merge branch 'next' into for-linus Prepare first round of input updates for 4.3 merge window. commit 58f1eae48e5372200553de07b5ecc7574803ee91 Author: Duson Lin <dusonlin@xxxxxxxxxx> Date: Thu Sep 3 09:46:45 2015 -0700 Input: elan_i2c - use iap_version to get firmware information When driver is in IAP mode ic_type query may return 0xff. However iap_version will always be valid, so let's use it to determine parameters of the firmware that the controller is supposed to accept. Signed-off-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit cfd34ed8deede7cbb0ba46d61870f075ac9694e3 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Fri Aug 21 17:12:20 2015 -0300 [media] i2c: fix platform_no_drv_owner.cocci warnings drivers/media/i2c/tc358743.c:1960:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 543409a2475de00d336468eee5bba8409092db16 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Thu Aug 20 18:03:43 2015 -0300 [media] cx231xx: Use wake_up_interruptible() instead of wake_up_interruptible_nr() While looking at use cases of the wake queues in order to add support for simple wait queues, I noticed that there was only a single user of wake_up_interruptible_nr(), and that use was doing a single task wake up. Have that user use the proper wake_up_interruptible() instead, and perhaps we can even remove the function wake_up_interruptible_nr(). Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit abeaca0ff5666a1cd7460304e619e4c6a486ea04 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Aug 20 04:35:43 2015 -0300 [media] tc358743: only queue subdev notifications if devnode is set Hardware interrupts are enabled in the probe function, before the subdev is registered to its v4l2_device. Until v4l2_device_register_subdev_node is called, sd->devnode is NULL and v4l2_subdev_notify_event must not be called. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 22dbe35a3aa2c06cef9faa472c46e8decbcd64e9 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Aug 19 03:27:27 2015 -0300 [media] tc358743: add missing Kconfig dependency/select As reported by Randy: > when CONFIG_MEDIA_CONTROLLER is not enabled: > > ../drivers/media/i2c/tc358743.c: In function 'tc358743_probe': > ../drivers/media/i2c/tc358743.c:1890:29: error: 'struct v4l2_subdev' has no member named 'entity' > err = media_entity_init(&sd->entity, 1, &state->pad, 0); > ^ > ../drivers/media/i2c/tc358743.c:1940:26: error: 'struct v4l2_subdev' has no member named 'entity' > media_entity_cleanup(&sd->entity); > ^ > ../drivers/media/i2c/tc358743.c: In function 'tc358743_remove': > ../drivers/media/i2c/tc358743.c:1955:26: error: 'struct v4l2_subdev' has no member named 'entity' > media_entity_cleanup(&sd->entity); > ^ This driver depends on VIDEO_V4L2_SUBDEV_API and needs to select HDMI. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 62e5f051c110a4f8de66f4c33e690892089aaac4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 18 10:23:05 2015 -0300 [media] c8sectpfe: Use %pad to print 'dma_addr_t' Use %pad to print 'dma_addr_t' in order to fix the following build warning: drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:588:2: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t' [-Wformat=] Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 062683901ad5c29ac375e6b7c7bca2737d41e11a Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Aug 17 08:20:56 2015 -0300 [media] DocBook media: Fix typo "the the" in xml files This patch fix spelling typo "the the" found in controls.xml and vidioc-g-param.xml. These xml files are'nt generated from any source files, so I have to fix these xml files directly. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1e137d92c0c6f162d57ede1ba85c298acde26bdc Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Aug 18 05:31:10 2015 -0300 [media] tc358743: make reset gpio optional Commit 256148246852 ("[media] tc358743: support probe from device tree") specified in the device tree binding documentation that the reset gpio is optional. Make the implementation match accordingly. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 06d3f2e02024912d46e1fc8387c0284c9dfc36ad Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Aug 18 05:31:09 2015 -0300 [media] tc358743: set direction of reset gpio using devm_gpiod_get Commit 256148246852 ("[media] tc358743: support probe from device tree") failed to explicitly set the direction of the reset gpio. Use the optional flag of devm_gpiod_get to make up leeway. This is also necessary because the flag parameter will become mandatory soon. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 362eda04ba0638af1c41dcc1e594dcbff80346c1 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 00:53:24 2015 -0400 drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic The logic was reversed. This feature is not enabled at the moment, but fix it now for the future. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 99a092383794e07d60644b449a01656da112eb1f Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 10:16:23 2015 -0400 drm/amdgpu: fix typo in dce11 watermark setup Using the wrong watermwark value for the secondary watermark. Copy paste typo. Noticed by Mykola. Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit be9fd2e978939ab3e59ee4164fa0893e70359557 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 10:19:03 2015 -0400 drm/amdgpu: fix typo in dce10 watermark setup Using the wrong watermwark value for the secondary watermark. Copy paste typo. Noticed by Mykola. Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit dd5cdb48edfd34401799056a9acf61078d773f90 Merge: 1e1a4e8 62da986 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 08:08:17 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Pull networking updates from David Miller: "Another merge window, another set of networking changes. I've heard rumblings that the lightweight tunnels infrastructure has been voted networking change of the year. But what do I know? 1) Add conntrack support to openvswitch, from Joe Stringer. 2) Initial support for VRF (Virtual Routing and Forwarding), which allows the segmentation of routing paths without using multiple devices. There are some semantic kinks to work out still, but this is a reasonably strong foundation. From David Ahern. 3) Remove spinlock fro act_bpf fast path, from Alexei Starovoitov. 4) Ignore route nexthops with a link down state in ipv6, just like ipv4. From Andy Gospodarek. 5) Remove spinlock from fast path of act_gact and act_mirred, from Eric Dumazet. 6) Document the DSA layer, from Florian Fainelli. 7) Add netconsole support to bcmgenet, systemport, and DSA. Also from Florian Fainelli. 8) Add Mellanox Switch Driver and core infrastructure, from Jiri Pirko. 9) Add support for "light weight tunnels", which allow for encapsulation and decapsulation without bearing the overhead of a full blown netdevice. From Thomas Graf, Jiri Benc, and a cast of others. 10) Add Identifier Locator Addressing support for ipv6, from Tom Herbert. 11) Support fragmented SKBs in iwlwifi, from Johannes Berg. 12) Allow perf PMUs to be accessed from eBPF programs, from Kaixu Xia. 13) Add BQL support to 3c59x driver, from Loganaden Velvindron. 14) Stop using a zero TX queue length to mean that a device shouldn't have a qdisc attached, use an explicit flag instead. From Phil Sutter. 15) Use generic geneve netdevice infrastructure in openvswitch, from Pravin B Shelar. 16) Add infrastructure to avoid re-forwarding a packet in software that was already forwarded by a hardware switch. From Scott Feldman. 17) Allow AF_PACKET fanout function to be implemented in a bpf program, from Willem de Bruijn" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1458 commits) netfilter: nf_conntrack: make nf_ct_zone_dflt built-in netfilter: nf_dup{4, 6}: fix build error when nf_conntrack disabled net: fec: clear receive interrupts before processing a packet ipv6: fix exthdrs offload registration in out_rt path xen-netback: add support for multicast control bgmac: Update fixed_phy_register() sock, diag: fix panic in sock_diag_put_filterinfo flow_dissector: Use 'const' where possible. flow_dissector: Fix function argument ordering dependency ixgbe: Resolve "initialized field overwritten" warnings ixgbe: Remove bimodal SR-IOV disabling ixgbe: Add support for reporting 2.5G link speed ixgbe: fix bounds checking in ixgbe_setup_tc for 82598 ixgbe: support for ethtool set_rxfh ixgbe: Avoid needless PHY access on copper phys ixgbe: cleanup to use cached mask value ixgbe: Remove second instance of lan_id variable ixgbe: use kzalloc for allocating one thing flow: Move __get_hash_from_flowi{4,6} into flow_dissector.c ixgbe: Remove unused PCI bus types ... commit fca8b807a667c6f34af1cffe57efbd17b257d07b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 11:01:04 2015 +0000 pcmcia: soc_common: remove skt_dev_info's clk pointer We no longer need to store the clk pointer in struct skt_dev_info as we no longer need to remember the clk pointer for the cleanup paths. Reviewed-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c3eb700c5db18be80c1ba37d39995b4c23fbe792 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:57:48 2015 +0000 pcmcia: sa11xx_base.c: remove useless init/exit functions A library module is not required to have module init/exit functions. Get rid of these unnecessary functions. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 321ae9646bbfdf27550ecb65617322abc2b92052 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:46:35 2015 +0000 pcmcia: sa1111: simplify clk handing in sa1111_pcmcia_add() clk_get(dev, NULL) will always refer to the same clock, so it's pointless calling this multiple times for the same device. As we no longer have to worry about the cleanup (via use of devm_clk_get()) we can simplify sa1111_pcmcia_add() too. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 924e5ea2ce0f6addb8b098760d840b0923573d19 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:27:08 2015 +0000 pcmcia: sa1111: update socket driver to use devm_clk_get() API Update the pxa2xx socket driver to use the devm_clk_get() API so that the cleanup paths are simplified. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8e2caf0d21a7059d8b56cb19d5d0182a28b1eabc Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:33:16 2015 +0000 pcmcia: pxa2xx: convert memory allocation to devm_* API Convert the pxa2xx socket driver memory allocation to use devm_kzalloc() to simplify the cleanup path. Reviewed-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ac92f1517379299c03dc501b6a44be49cfcbcfe4 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:27:08 2015 +0000 pcmcia: pxa2xx: update socket driver to use devm_clk_get() API Update the pxa2xx socket driver to use the devm_clk_get() API so that the cleanup paths are simplified. Reviewed-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit cace5dce5581a5a1232b68e1bc7b778ff40c328b Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Sep 2 15:06:08 2015 -0400 drm/amdgpu: use top down allocation for non-CPU accessible vram Should help avoid fragmentation of vram due to CPU access requirements. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 857d913d057f8e7330e9f17eaa2b0eb7ad492c33 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Aug 27 00:14:16 2015 -0400 drm/amdgpu: be explicit about cpu vram access for driver BOs (v2) For kernel driver BOs, be explicit about whether we need vram access up front. This avoids unecessary migrations and avoids using visible vram for buffers were it's not needed. v2: line wrap fixes Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3ff32a0def6e0d2e21a6c5ad1b00726592774018 Merge: 40d3f02 8149795 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Sep 3 15:28:50 2015 +0100 Merge branch 'devel-stable' into for-linus Conflicts: drivers/perf/arm_pmu.c commit 40d3f02851577da27b5cbb1538888301245ef1e7 Merge: e0aa3a6 3939f33 9205b79 3fa6097 a5e090a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Sep 3 15:28:37 2015 +0100 Merge branches 'cleanup', 'fixes', 'misc', 'omap-barrier' and 'uaccess' into for-linus commit b7dc42fd79390c074e2bff3b172b585d5c2d80c2 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Sep 3 08:57:12 2015 -0400 ring-buffer: Revert "ring-buffer: Get timestamp after event is allocated" The commit a4543a2fa9ef31 "ring-buffer: Get timestamp after event is allocated" is needed for some future work. But after adding it, there is a race somewhere that causes the saved timestamp to have a slight shift, and get ahead of the actual timestamp and make it look like time goes backwards. I'm still looking into why this happens, but in the mean time, this is holding up other work to get in. I'm reverting the change for now (which makes the problem go away), and will add it back after I know what is wrong and fix it. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2db97045aa40da4312f7321845bc52b136c8603a Merge: fb2646a e0d8b2e Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Sep 3 14:06:33 2015 +0200 Merge branch '4.2-fixes' into mips-for-linux-next commit d5f362a7b977bdfaf8a955f3d604a29267bd5464 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Thu Sep 3 11:51:35 2015 +0200 drm/i915: Add locks around audio component bind/unbind This will make sure that audio callbacks do not race with component bind/unbind. [Note: this is an update patch to commit [51e1d83cab99: drm/i915: Call audio pin/ELD notify function] where I mistakenly applied the older version. Jani and Daniel's review tags were to the latest version, so I add them below, too -- tiwai] Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e0d8b2ec532852d4b5aabcec3e7611848c32237d Author: Yousong Zhou <yszhou4tech@xxxxxxxxx> Date: Thu Sep 3 17:47:45 2015 +0800 MIPS: UAPI: Fix unrecognized opcode WSBH/DSBH/DSHD when using MIPS16. The nomips16 has to be added both as function attribute and assembler directive. When only function attribute is specified, the compiler will inline the function with -Os optimization. The generated assembly code cannot be correctly assembled because ISA mode switch has to be done through jump instruction. When only ".set nomips16" directive is used, the generated assembly code will use MIPS32 code for the inline assembly template and MIPS16 for the function return. The compiled binary is invalid: 00403100 <__arch_swab16>: 403100: 7c0410a0 wsbh v0,a0 403104: e820ea31 swc2 $0,-5583(at) while correct code should be: 00402650 <__arch_swab16>: 402650: 7c0410a0 wsbh v0,a0 402654: 03e00008 jr ra 402658: 3042ffff andi v0,v0,0xffff Signed-off-by: Yousong Zhou <yszhou4tech@xxxxxxxxx> Cc: Chen Jie <chenj@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11087/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f0675d4a8ed9d3e863ff611561ee0944969a2784 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Thu Sep 3 11:51:34 2015 +0200 drm/i915: Drop port_mst_index parameter from pin/eld callback The port_mst_index parameter was reserved for future use, but maintainers prefer to add it later when it is actually used. [Note: this is an update patch to commit [51e1d83cab99: drm/i915: Call audio pin/ELD notify function] where I mistakenly applied the older version. Jani and Daniel's review tags were to the latest version, so I add them below, too -- tiwai] Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fb2646ab032d12ef06225c64768691c7ecc500ec Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Tue Aug 18 15:03:10 2015 +0100 MIPS: Fix alignment of quiet build output for vmlinuz link The "LD vmlinuz" line in the quiet build output is misaligned with the rest of the output. Fix this. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11019/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 65ab562cabe01d524ec6b50f37694200745c21c1 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Wed Aug 12 10:14:35 2015 +0100 MIPS: math-emu: Remove unused handle_dsemul function declaration handle_dsemul does not exist and it's not being used in the code at all so remove its declaration. The deliberate DS emulation exception is handled by the do_dsemulret C code. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10950/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a79f5f9ba5088f157482feaa6ae2bacc9da0f5db Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:36 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction MIPS R6 introduced the following instruction: Scalar Floating-Point Maximum and Scalar Floating-Point argument with Maximum Absolute Value MAX.fmt writes the maximum value of the inputs fs and ft to the destination fd. MAXA.fmt takes input arguments fs and ft and writes the argument with the maximum absolute value to the destination fd. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10961/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4e9561b20e2f5c1170704a81ec7e1ac961ba5e68 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:35 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction MIPS R6 introduced the following instruction: Scalar Floating-Point Minimum and Scalar Floating-Point argument with Minimum Absolute Value MIN.fmt writes the minimum value of the inputs fs and ft to the destination fd. MINA.fmt takes input arguments fs and ft and writes the argument with the minimum absolute value to the destination fd. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10960/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 38db37ba069f9d801ef56b820cfc7c247a7ffc02 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:34 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction MIPS R6 introduced the following instruction: Stores in fd a bit mask reflecting the floating-point class of the floating point scalar value fs. CLASS.fmt: FPR[fd] = class(FPR[fs]) Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10959/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 400bd2e41393a783e0532321fdb369d2cc15ea26 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:33 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 RINT FPU instruction MIPS R6 introduced the following instruction: Floating-Point Round to Integral Scalar floating-point round to integral floating point value. RINT.fmt: FPR[fd] = round_int(FPR[fs]) Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10958/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 83d43305a1df2aa2976e3ccf012e4cf0dc29673d Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:32 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction MIPS R6 introduced the following instruction: Floating Point Fused Multiply Subtract: MSUBF.fmt To perform a fused multiply-subtract of FP values. MSUBF.fmt: FPR[fd] = FPR[fd] - (FPR[fs] x FPR[ft]) Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10957/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e24c3bec3e8e254a3784b3e4c97bd3a76fbcc807 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:31 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction MIPS R6 introduced the following instruction: Floating Point Fused Multiply Add: MADDF.fmt To perform a fused multiply-add of FP values. MADDF.fmt: FPR[fd] = FPR[fd] + (FPR[fs] x FPR[ft]) Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10956/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 130fe357ee895421a4aefef7b1285bf52f295afe Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:30 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 SELNEZ FPU instruction MIPS R6 introduced the following instruction: SELNEZ.fmt: FPR[fd] ï?¬ FPR[ft].bit0 ? FPR[fs] : 0 Add support for emulating the single and double precision formats of the said instruction. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10955/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 67613f02788d73541c7c9b1c851061b8c223057b Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:29 2015 +0200 MIPS: math-emu: Add support for the MIPS R6 SELEQZ FPU instruction MIPS R6 introduced the following instruction: SELEQZ.fmt: FPR[fd] ï?¬ FPR[ft].bit0 ? 0 : FPR[fs] Add support for emulating the single and double precision formats of the said instruction. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10954/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f8c3c6717a7128f9601b20f890d658283d59561a Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:28 2015 +0200 MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction Add support for emulating the new CMP.condn.fmt R6 instructions and return SIGILL for the old C.cond.fmt if R2 emulation is not enabled since it's not supported by R6. The functionality of the new CMP.condn.fmt is the following one: If the comparison specified by the condn field of the instruction is true for the operand values, the result is true; otherwise, the result is false. If no exception is taken, the result is written into FPR fd; true is all 1s and false is all 0s repeated the operand width of fmt. All other bits beyond the operand width fmt are UNPREDICTABLE. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10953/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 107d34009ef00d1680521be2c4a1cba31f9b69a6 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Aug 13 09:56:27 2015 +0200 MIPS: inst.h: Add new MIPS R6 FPU opcodes Add opcodes for the new MIPS R6 FPU instructions. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10952/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cef232ec86cdadfa7f58c7db140084db0b6cc9db Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Tue Aug 11 10:56:28 2015 +0300 MIPS: Octeon: Fix management port MII address on Kontron S1901 Management port MII address is incorrect on Kontron S1901 resulting in broken networking. Fix by providing definitions for the in-tree DT pruning code. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10914/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e5dd8f2cf65cb228fad881ecd35093d8409d17c6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:10 2015 +0200 MIPS: BCM47xx: Use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10898/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1d39a5e4ce09172358a5435a3411a46e76a04bb4 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:46 2015 +0300 STAGING: Octeon: Use common helpers for determining interface and port Currently the Octeon Ethernet driver hardcodes the mapping between interface/port and IPD port number. Since we have generic helpers for the very same purpose, we might as well use them instead. This prevents having the same information in multiple places. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10975/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 31705376a2fd71f5c5b596fb2d3b2c6232a6268a Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:45 2015 +0300 MIPS: Octeon: Support interfaces 4 and 5 Add the support for mapping between interface/port numbers and IPD port numbers also for the additional interfaces some Octeon II models have. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10967/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 85847d8033b66c2f36e9a992ff3873fb10d72b80 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:44 2015 +0300 MIPS: Octeon: Set up 1:1 mapping between CN68XX PKO queues and ports Use the internal port number also as the queue number on CN68XX. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10962/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 153bfe381356226ed4c330bb2dff957a6e6c3986 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:43 2015 +0300 MIPS: Octeon: Initialize CN68XX PKO CN68XX requires a different PKO configuration. This patch provides just enough setup to get the XAUI interfaces on CN6880 working with default parameters. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10974/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f8023da8ae40c275403568d6f9fc9b585c7f6fab Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:42 2015 +0300 STAGING: Octeon: Support CN68XX style WQE CN68XX has a bit different WQE structure. This patch provides the new definitions and converts the code to use the proper variant based on the actual model. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10973/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d5f9bc7360fc130b6f26e7c0684bc61df29deb6a Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:41 2015 +0300 STAGING: Octeon: Increase output command buffers The Octeon II models have more interfaces and thus require more output command buffers. Increase the allocation to support these models. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10965/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f5cfc8db28e63d992d293d5b49d7cb8ec5214c56 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Thu Aug 13 16:21:40 2015 +0300 STAGING: Octeon: Set SSO group mask properly on CN68XX CN68XX uses SSO instead of POW. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10966/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bcbb13964dd4174f3a512d6a4460173c5c252199 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Thu Aug 13 16:21:39 2015 +0300 STAGING: Octeon: Properly enable/disable SSO WQE interrupts The Octeon models with SSO instead of POW need to use a different register for configuring the WQE interrupt thresholds. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10964/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 70b4e2ed4343f03bd7d64d6a58801ff28d231d34 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:38 2015 +0300 MIPS: Octeon: Add definitions for setting up SSO Some Octeon II models have SSO instead of POW and use a different register for setting the interrupt thresholds. Add the necessary definitions for configuring the interrupts also on those models. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10972/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b92084ba545b73933ca179d46fe11801f7f9d349 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:37 2015 +0300 MIPS: Octeon: Configure minimum PKO packet sizes on CN68XX CN68XX has common minimum packet size filters that need to be configured for the traffic to work. Just set them to a default value. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10963/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4397564542c18d2fee904b1e2c09ae15a871d853 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:36 2015 +0300 MIPS: Octeon: Configure XAUI pkinds Configure the pkinds of XAUI interfaces on Octeon models that have them. This simple configuration uses 1:1 mapping between the PIP input port number and the selected pkind. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10971/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fce0af1dc34e2765357dfbd21dd923c89254bcdb Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:35 2015 +0300 MIPS: Octeon: Support all PIP input ports on CN68XX CN68XX has 48 PIP input ports. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10969/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2c8c3f0201333f430b632c6b62a5b81456284884 Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:34 2015 +0300 MIPS: Octeon: Support additional interfaces on CN68XX CN68XX has 9 interfaces. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10968/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c0034c30ed301e28c72dc516156baabf5840ce5f Author: Janne Huttunen <janne.huttunen@xxxxxxxxx> Date: Thu Aug 13 16:21:33 2015 +0300 MIPS: Octeon: Fix CN6880 hang on XAUI init Some CN68XX series Octeon II chips seem to hang if a reset is issued on XAUI initialization. Avoid the hang by disabling the reset on affected models. Tested on Cavium EBB6800 evaluation board and Kontron S1901 board. Signed-off-by: Janne Huttunen <janne.huttunen@xxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Cc: David Daney <ddaney.cavm@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Janne Huttunen <janne.huttunen@xxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Patchwork: http://patchwork.linux-mips.org/patch/10970/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit af0cfb2c44ee5cd3c86d1ffd054d318f536cb6dd Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Thu Aug 6 12:22:43 2015 +0100 MIPS: pistachio: Allow to enable the external timer based clocksource This commit introduces a new config, so the user can choose to enable the General Purpose Timer based clocksource. This option is required to have CPUFreq support. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Patchwork: http://patchwork.linux-mips.org/patch/10887/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 84583983c31983068429d82e6f9262009d584549 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Fri Aug 7 16:39:31 2015 +0100 CLOCKSOURCE: Add Pistachio clocksource-only driver The Pistachio SoC provides four general purpose timers, and allow to implement a clocksource driver. This driver can be used as a replacement for the MIPS GIC and MIPS R4K clocksources and sched clocks, which are clocked from the CPU clock. Given the general purpose timers are clocked from an independent clock, this new clocksource driver will be useful to introduce CPUFreq support for Pistachio machines. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10899/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d6ed2b9b60cb03091e0c84c270d145a475606297 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Jul 27 15:02:33 2015 +0100 Documentation: dt: Add Pistachio SoC general purpose timer binding document Add a device-tree binding document for the clocksource driver provided by Pistachio SoC general purpose timers. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10783/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fc6a6772f888ee8ab4c5428854f7f1d3abda13df Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Jul 27 15:00:15 2015 +0100 CLOCKSOURCE: mips-gic: Update clockevent frequency on clock rate changes This commit introduces the clockevent frequency update, using a clock notifier. It will be used to support CPUFreq on platforms using MIPS GIC based clockevents. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10782/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 42b002ab73e00b24356be4f01954fa961fea4d82 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Aug 22 02:40:41 2015 -0700 MIPS: Kconfig: Enable common clock framework for Malta and SEAD3 Now that we're ready to enable COMMON_CLK for GIC platforms do so for Malta and SEAD3. The only other user of the GIC Pistachio does already do so. [ralf@xxxxxxxxxxxxxx: Rewrite the commit message because applied in the right order there is no breakage thus no fix required.] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11038/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 67d4e669c1e504a491e44737f3561eaba919b304 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Jul 27 15:00:14 2015 +0100 CLOCKSOURCE: mips-gic: Split clocksource and clockevent initialization This is preparation work for the introduction of clockevent frequency update with a clock notifier. This is only possible when the device is passed a clk struct, so let's split the legacy and devicetree initialization. Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10781/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f95ac8558b88a5e9ae2b1d580a5cc55bffa512fa Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Jul 27 15:00:13 2015 +0100 CLOCKSOURCE: mips-gic: Add missing error returns checks This commit adds the required checks on the functions that return an error. Some of them are not critical, so only a warning is printed. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10780/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit eb811c73b69f18cefb7a63f22fe07212c6575650 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Date: Mon Jul 27 15:00:12 2015 +0100 CLOCKSOURCE: mips-gic: Enable the clock before using it For the clock to be used (e.g. get its rate through clk_get_rate) it should be prepared and enabled first. Also, while the clock is enabled the driver must hold a reference to it, so let's remove the call to clk_put. Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: James Hartley <James.Hartley@xxxxxxxxxx> Cc: Govindraj Raja <Govindraj.Raja@xxxxxxxxxx> Cc: Damien Horsley <Damien.Horsley@xxxxxxxxxx> Cc: James Hogan <James.Hogan@xxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10779/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1a3d59579b9f436da038f377309cf2270c76318e Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Aug 3 08:49:30 2015 -0700 MIPS: Tidy up FPU context switching Rather than saving the scalar FP or vector context in the assembly resume function, reuse the existing C code we have in fpu.h to do exactly that. This reduces duplication, results in a much easier to read resume function & should allow the compiler to optimise out more MSA code due to is_msa_enabled()/cpu_has_msa being known-zero at compile time for kernels without MSA support. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10830/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 23eb6f4016758b756b54704b359e3c51d425d6ab Author: Antonio Ospite <ao2@xxxxxx> Date: Tue Apr 28 13:11:25 2015 +0200 MIPS: Netlogic: Fix 0x0x prefixes. Fix the 0x0x prefix in integer constants, in this case the registers interval is actually 0x8065 .. 0x80A4 as confirmed some lines above in the code. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Jiri Kosina <trivial@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/9908/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b7565cc3321987e46d1f65f5b5eb3fb48268fdc2 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 29 23:17:00 2015 +0200 Documentation: MIPS now supports uprobes. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 40e084a506eba78310cd5e8ab700fd1226c6130a Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 29 22:44:53 2015 +0200 MIPS: Add uprobes support. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e3b28831c18c6c95c51b6bb717fa116d2b658ba9 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Jul 28 20:37:43 2015 +0200 MIPS: Set trap_no field in thread_struct on exception. This reverts commit 7281cd22973008a782860e48ed8d85d00204168c and adds actual functionality to use the field. commit 8c576912e4708144cbaa28228cc910746f39bafd Author: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Date: Sat Aug 1 17:44:23 2015 +0530 MIPS: Netlogic: NAND IRQ mapping Add NAND IRQ mapping for XLP9xx processor. Signed-off-by: Subhendu Sekhar Behera <sbehera@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10820/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 079e31600786b1ef8cab15ac6345605ad9150daf Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Sat Aug 1 17:44:22 2015 +0530 MIPS: Netlogic: set ARCH_REQUIRE_GPIOLIB for XLP platform This is needed to enable GPIO framework support for Netlogic XLP platform. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10818/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a8a747764a970fc4c4f39f554c7dc08a4ca67db8 Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Sat Aug 1 17:44:21 2015 +0530 MIPS: Netlogic: add device tree entry for XLP GPIO Add GPIO entries to the Netlogic XLP device tree files. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10819/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 325f0a1833c41d2d399fda161866923b72592cc9 Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Sat Aug 1 17:44:20 2015 +0530 MIPS: Netlogic: Use chip_data for irq_chip methods Update mips/netlogic/common/irq.c and mips/pci/msi-xlp.c to use chip_data to store interrupt controller data pointer. It uses handler_data now, and that causes errors when an API (like the GPIO subsystem) tries to use the handler data. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10817/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 832f5dacfa0bb081a3b3b979a36a132b28ffacf3 Author: Alban Bedel <albeu@xxxxxxx> Date: Sun Aug 2 18:30:11 2015 +0200 MIPS: Remove all the uses of custom gpio.h Currently CONFIG_ARCH_HAVE_CUSTOM_GPIO_H is defined for all MIPS machines, and each machine type provides its own gpio.h. However only a handful really implement the GPIO API, most just forward everythings to gpiolib. The Alchemy machine is notable as it provides a system to allow implementing the GPIO API at the board level. But it is not used by any board currently supported, so it can also be removed. For most machine types we can just remove the custom gpio.h, as well as the custom wrappers if some exists. Some of the code found in the wrappers must be moved to the respective GPIO driver. A few more fixes are need in some drivers as they rely on linux/gpio.h to provides some machine specific definitions, or used asm/gpio.h instead of linux/gpio.h for the gpio API. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Florian Fainelli <florian@xxxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Daniel Walter <dwalter@xxxxxxxxxx> Cc: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Varka Bhadram <varkabhadram@xxxxxxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Michael Buesch <m@xxxxxxx> Cc: abdoulaye berthe <berthe.ab@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: linux-input@xxxxxxxxxxxxxxx Cc: netdev@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10828/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1d473c2cb9fe25fc6bad30b0eb8d92e384496042 Author: Alban Bedel <albeu@xxxxxxx> Date: Fri Jul 3 11:11:49 2015 +0200 MIPS: ath79: Move the GPIO driver to drivers/gpio GPIO drivers should be in drivers/gpio Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Gabor Juhos <juhosg@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10597/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f689332b19fa1120de1bd84988a7bd0c08bd9b7b Author: Alban Bedel <albeu@xxxxxxx> Date: Fri Jul 3 11:11:48 2015 +0200 MIPS: Ath79: Remove the unused GPIO function API To prepare moving the GPIO driver to drivers/gpio remove the platform specific pinmux API. As it is not used by any board, and such functionality should better be implemented using the pinmux subsystem just removing it seems to be the best option. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Gabor Juhos <juhosg@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10596/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5fac4f7ac067b2eee3aaf19eff8bd1d7d8e9a91e Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Thu Jul 30 08:16:10 2015 -0700 MIPS: Select CONFIG_ARCH_USE_CMPXCHG_LOCKREF for MIPS64 On MIPS64 we have spinlocks that are 32b in size and an efficient cmpxchg64 implementation, so we qualify to make use of cmpxchg backed lockrefs. Select the ARCH_USE_CMPXCHG_LOCKREF Kconfig symbol and provide a trivial implementation of arch_spin_value_unlocked to satisfy the lockref code. Using Linus' simple testcase from http://article.gmane.org/gmane.linux.file-systems/77466 on a dual core system with an in-development MIPS64 CPU running on FPGA I see around an 8% gain: Pre-patch: Total loops: 252698 Total loops: 251482 Total loops: 250806 Total loops: 252885 Total loops: 251666 Post-patch: Total loops: 273728 Total loops: 269932 Total loops: 269341 Total loops: 275004 Total loops: 270208 [ralf@xxxxxxxxxxxxxx: Fixed conflict.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10810/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f51246efee2b6bc72e86bc1d16599fc7c455b986 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 29 12:14:42 2015 +0200 MIPS: Get rid of finish_arch_switch(). MIPS was using finish_arch_switch() as a hook to restore and initialize CPU context for all threads, even newly created kernel and user threads. This is however entirely solvable within switch_to() so get rid of finish_arch_switch() which is in the way of scheduler cleanups. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f1f5e414851fdb69a3200e5c15799ea4788d423e Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 16:16:12 2015 +0100 MIPS: Use Ingenic-specific write combine attribute on all Ingenic platforms The Ingenic-specific write combining cache attribute was defined based on CONFIG_MACH_JZ4740 and therefore not used on JZ4780. Change this to CONFIG_MACH_INGENIC so that it gets used on all Ingenic platforms. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10769/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8c172467be36f7c9591e59b647e4cd342ce2ef41 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Thu Jul 30 12:03:42 2015 +0100 MIPS: Add implementation of dma_map_ops.mmap() The generic implementation of dma_map_ops.mmap(), dma_common_mmap(), is not correct for non-coherent devices. It expects to be passed a virtual address previously returned by dma_alloc_coherent(), which for a non-coherent device will return a KSEG1 address. It then attempts to convert that virtual address to a physical address using virt_to_page() which will yield an incorrect address. Also, dma_common_mmap() does not handle the DMA_ATTR_WRITE_COMBINE attribute, and therefore dma_mmap_writecombine() will not actually set the appropriate pgprot_t flags for write combining. This patch adds an implementation of dma_map_ops.mmap() that correctly handles KSEG1 addresses, and enables write combining when requested. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Sadegh Abbasi <Sadegh.Abbasi@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10808/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c4687b15a8487e8ef028814a301a88958baf72bc Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 16:16:10 2015 +0100 MIPS: Fix definition of pgprot_writecombine() If pgprot_writecombine is not #defined, asm-generic/pgtable.h will try to provide a default implementation by #defining it to pgprot_noncached. However our implementation is an inline function rather than a #define, so it was never actually used because of the #define in generic code. Add "#define pgprot_writecombine pgprot_writecombine" to prevent generic code from re-defining it. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10767/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0ce3417e84825155e2d74ac65e133bf7ba995a74 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:27 2015 -0700 MIPS: Drop EXPERIMENTAL tag from O32+FP64 & MSA CONFIG_MIPS_O32_FP64_SUPPORT and CONFIG_CPU_HAS_MSA are in pretty good shape these days, and in much wider use than they once were. Stop referring to them as EXPERIMENTAL. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10801/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3cc9fa7fb3e38e83e59977c8bc5c355687232362 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:25 2015 -0700 MIPS: Advertise MSA support via HWCAP when present If MSA is supported by both the hardware & the kernel then advertise that support to userland via the AT_HWCAP aux vector. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10799/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4c0630346e2fcfe68eac8fa31d38daf04570e671 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:24 2015 -0700 MIPS: Advertise MIPSr6 via HWCAP when appropriate When running on a CPU implementing the release 6 of the MIPS32 or MIPS64 ISA, advertise that to userland via the appropriate HWCAP bit. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10798/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e14f1db7a61f016d74393ca9e8fc49a91d27f603 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:23 2015 -0700 MIPS: AT_HWCAP aux vector infrastructure In order for userland to determine whether various features are safe to use, it will need to know both that the hardware supports those features and that the kernel is recent enough & configured appropriately to support them. For example under the O32 modeless FP proposal the dynamic linker & ifunc resolvers will need this information. The kernel is the only thing in a position to know availability accurately, so the kernel needs to provide the information to userland. This patch introduces the infrastructure to provide the AT_HWCAP aux vector to userland in order to provide that information. It also defines the 2 currently specified flags, which indicate MIPSr6 & MSA support. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10797/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bf82cb30c7e58b3a9742f0a45962ebdf51befac7 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:22 2015 -0700 MIPS: Save MSA extended context around signals It is desirable for signal handlers to be allowed to make use of MSA, particularly if auto vectorisation is used when compiling a program. The MSA context must therefore be saved & restored before & after invoking the signal handler. Make use of the extended context structs defined in the preceding patch to save MSA context after the sigframe when appropriate. [ralf@xxxxxxxxxxxxxx: Fixed conflicts.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10796/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f1fe2d21f4e1aca8644cea888dc618f0183ad671 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:21 2015 -0700 MIPS: Add definitions for extended context The context introduced by MSA needs to be saved around signals. However, we can't increase the size of struct sigcontext because that will change the offset of the signal mask in struct sigframe or struct ucontext. This patch instead places the new context immediately after the struct sigframe for traditional signals, or similarly after struct ucontext for RT signals. The layout of struct sigframe & struct ucontext is identical from their sigcontext fields onwards, so the offset from the sigcontext to the extended context will always be the same regardless of the type of signal. Userland will be able to search through the extended context by using the magic values to detect which types of context are present. Any unrecognised context can be skipped over using the size field of struct extcontext. Once the magic value END_EXTCONTEXT_MAGIC is seen it is known that there are no further extended context structures to examine. This approach is somewhat similar to that taken by ARM to save VFP & other context at the end of struct ucontext. Userland can determine whether extended context is present by checking for the USED_EXTCONTEXT bit in the sc_used_math field of struct sigcontext. Whilst this could potentially change the historic semantics of sc_used_math if further extended context which does not imply FP context were to be introduced in the future, I have been unable to find any userland code making use of sc_used_math at all. Using one of the fields described as unused in struct sigcontext was considered, but the kernel does not already write to those fields so there would be no guarantee of the field being clear on older kernels. Other alternatives would be to have userland check the kernel version, or to have a HWCAP bit indicating presence of extended context. However there is a desire to have the context & information required to decode it be self contained such that, for example, debuggers could decode the saved context easily. [ralf@xxxxxxxxxxxxxx: Fixed conflict.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10795/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0d071fa3772b85fe5d81032fbc011c623570d2fc Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:20 2015 -0700 MIPS: Indicate FP mode in sigcontext sc_used_math The sc_used_math field of struct sigcontext & its variants has traditionally been used as a boolean value indicating only whether or not floating point context is saved within the sigcontext. With various supported FP modes & the ability to switch between them this information will no longer be enough to decode the meaning of the data stored in the sc_fpregs fields of struct sigcontext. To make that possible 3 bits are defined within sc_used_math: - Bit 0 (USED_FP) represents whether FP was used, essentially providing the boolean flag which sc_used_math as a whole provided previously. - Bit 1 (USED_FR1) provides the value of the Status.FR bit at the time the FP context was saved. - Bit 2 (USED_HYBRID_FPRS) indicates whether the FP context was saved under the hybrid FPR scheme. Essentially, when set the odd singles are located in bits 63:32 of the preceding even indexed sc_fpregs element. Any userland that tests whether the sc_used_math field is zero or non-zero will continue to function as expected. Having said that, I could not find any userland which uses the sc_used_math field at all. [ralf@xxxxxxxxxxxxxx: Fixed rejects.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10794/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6a24432cf9cfb6e071fb3566144a3a5ace9d3c0d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:19 2015 -0700 MIPS: Remove unused {get,put}_sigset functions These functions are never called & thus dead code. Remove them. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10793/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d02a40aff6e043bae1cd6e6416e9048990928b1d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:18 2015 -0700 MIPS: Use common FP sigcontext code for O32 compat Make use of the common FP sigcontext code for O32 binaries running on MIPS64 kernels now that it is taking appropriate offsets into struct sigcontext(32) from struct mips_abi. [ralf@xxxxxxxxxxxxxx: Fixed reject.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10792/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6f0aba63bfb3eb33b68cf746c44b6ab302599180 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:17 2015 -0700 MIPS: Skip odd double FP registers when copying FP32 sigcontext When a task uses 32 bit floating point, the odd indexed 32b register values are stored in bits 63:32 of the preceding even indexed 64b FP register field in saved context. Thus there is no point in preserving the odd indexed 64b register fields since they hold no valid context. This patch will cause them to be skipped, as is already done in arch/mips/kernel/signal32.c. [ralf@xxxxxxxxxxxxxx: Fixed reject.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10791/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 64243c2a945640392b59fe1dc66c30ee1ca04170 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:16 2015 -0700 MIPS: Move FP usage checks into protected_{save, restore}_fp_context In preparation for sharing protected_{save,restore}_fp_context with compat ABIs, move the FP usage checks into said functions. This will both enable that code to be shared, and allow for extensions of it in further patches to also be shared. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10790/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2db9ca0a355100c40d1bef2aae3b9d9cf199cd04 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:15 2015 -0700 MIPS: Use struct mips_abi offsets to save FP context When saving FP state to struct sigcontext, make use of the offsets provided by struct mips_abi to obtain appropriate addresses for the sc_fpregs & sc_fpc_csr fields of the sigcontext. This is done only for the native struct sigcontext in this patch (ie. for O32 in CONFIG_32BIT kernels or for N64 in CONFIG_64BIT kernels) but is done in preparation for sharing this code with compat ABIs in further patches. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10789/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 778561006e5891801ac794ddf7b21148a5555e35 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:14 2015 -0700 MIPS: Add offsets to sigcontext FP fields to struct mips_abi Add fields to struct mips_abi, which holds information regarding the kernel-userland ABI regarding signals, to specify the offsets to the FP related fields within the appropriate variant of struct sigcontext. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10788/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 689ee8565c5b5af9369f4c34af04196f2d3fea83 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 27 12:58:13 2015 -0700 MIPS: Simplify EVA FP context handling code The protected_{save,restore}_fp_context functions had effectively different implementations for EVA. Simplify & unify the code somewhat such that EVA configurations simply guarantee the FPU-not-owned path through the standard code path. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Richard Weinberger <richard@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10787/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 397d08b006fc8bbb087615214400b86b64f8fe50 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:05 2015 +0530 MIPS: sni: Migrate to new 'set-state' interface Migrate sni driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10612/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0c16240ab07ff8a0e611f676f86a92a4b513d15d Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:04 2015 +0530 MIPS: IP27: Migrate to new 'set-state' interface Migrate sgidriver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10611/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 59113d93c2b483485cf62f0b057f896e420048c2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:03 2015 +0530 MIPS: rt3352: Migrate to new 'set-state' interface Migrate ralink driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10610/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1fed884d5f3d615d56d3b3c07d5ef95f7b49b5f5 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:02 2015 +0530 MIPS: loongsoon32: Migrate to new 'set-state' interface Migrate loongsoon32 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Kelvin Cheung <keguang.zhang@xxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10609/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e3280b2a54b38406563d6422685a20172382d365 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:01 2015 +0530 MIPS: loongson64/timer: Migrate to new 'set-state' interface Migrate loongson driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. [ralf@xxxxxxxxxxxxxx: Folded in Viresh's followon fix.] Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: Hongliang Tao <taohl@xxxxxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10608/ Patchwork: https://patchwork.linux-mips.org/patch/10883/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d199da550da30e0946a7554f8a93ef75f66f8005 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:42:00 2015 +0530 MIPS: cevt-txx9: Migrate to new 'set-state' interface Migrate cevt-txx9 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10607/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 57e148cabbb2f1e6770d6a506088486142b26b97 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:59 2015 +0530 MIPS: cevt-sb1250: Migrate to new 'set-state' interface Migrate cevt-rsb1250 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10606/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 877c61dc63c2eaa98515abfd89596f293b543342 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:58 2015 +0530 MIPS: cevt-r4k: Migrate to new 'set-state' interface Migrate cevt-4k driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10605/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c88f2fb4d81df3dbafd79d51b2cacefb356d466c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:57 2015 +0530 MIPS: cevt-gt641xx: Migrate to new 'set-state' interface Migrate cevt-gt641xx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10604/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9f95618f9fe5fc902a3d8fecd10c98e482fab6c5 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:56 2015 +0530 MIPS: cevt-ds1287: Migrate to new 'set-state' interface Migrate cevt-ds1287 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10603/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1edf907a09e1cad9032411d84679b637ab696593 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:55 2015 +0530 MIPS: cevt-bcm1480: Migrate to new 'set-state' interface Migrate cevt-bcm1480 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Read operation on R_SCD_TIMER_CFG and R_SCD_TIMER_INIT registers isn't performed now for many modes as there returned values aren't used. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10602/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c87cbe06916868e1b14a0681e874b96cfab61083 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:54 2015 +0530 MIPS: jz4740: Migrate to new 'set-state' interface Migrate jz4740 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Deng-Cheng Zhu <dengcheng.zhu@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10601/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 20a7835f8f3666eaaec599f8f9f1628c4e7e88dd Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:53 2015 +0530 MIPS: Jazz: Migrate to new 'set-state' interface Migrate jazz driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10600/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3dcd7779ac4dada4a2c97e19a9ac3593891d89a0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 16:41:52 2015 +0530 MIPS: Alchemy: Migrate to new 'set-state' interface Migrate alchemy driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10599/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f17c4ca33601f03f4b5f598f085ee356358932b7 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Jul 23 12:02:09 2015 +0200 MIPS: Kconfig: Separate 32BIT and 64BIT config block by blank line. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1249ed3540809d30d1fe42c94276a9db2845d173 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Jul 20 09:10:20 2015 +0200 MIPS: math-emu: Move from deprecated __initcall to arch_initcall. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1bab0b627f6d9cd5af08f6be81288883d3b1aa9c Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Jul 20 09:09:40 2015 +0200 MIPS: Lasat: Move from deprecated __initcall to arch_initcall. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8d6b591ce9b2706403b4c79d72c4483a7fbeda54 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Jul 20 09:04:41 2015 +0200 MIPS: unaligned: Move from deprecated __initcall to arch_initcall. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 486fcde40d8f903dbd460fb0b5a35423528032e3 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Jul 20 08:58:20 2015 +0200 MIPS: Sibyte: Move bus watcher from deprecated __initcall to device_initcall Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bae637a2148c97882a1bbfdac08d7a5f4441cdb3 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:47 2015 +0100 MIPS: Rearrange ENTRYLO field definitions The generic field definitions (i.e. present before MIPS32/MIPS64) in mipsregs.h are conventionally not prefixed with MIPS_, so rename the recently added MIPS_ENTRYLO_* definitions for the G, V, D, and C fields to ENTRYLO_*. Also rearrange to put the EntryLo and EntryHi definitions in the right place in the file. Fixes: 8ab6abcb6aa4 ("MIPS: mipsregs.h: Add EntryLo bit definitions") Reported-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10725/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9bd860cae3c46a83371ce899ae0d665b6e253687 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:46 2015 +0100 MIPS: dump_tlb: Dump FrameMask register if exists The FrameMask register is relevant to the TLB so it should be dumped by dump_tlb_regs(), however it is only present in certain cores (r10000, r12000, r14000, r16000). Add dumping of it, conditional upon current_cpu_type(). Suggested-by: Joshua Kinard <kumba@xxxxxxxxxx> Suggested-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10724/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5d3c3c7d296d9622560558de96875cf694d96f58 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:45 2015 +0100 MIPS: dump_tlb: Only dump PageGrain if interesting The PageGrain register may not exist if certain architectural features aren't present, therefore only print out its value when dumping the TLB registers if it is expected to contain fields relevant to the TLB. Fixes: d1e9a4f54735 ("MIPS: Add SysRq operation to dump TLBs on all CPUs") Reported-by: Joshua Kinard <kumba@xxxxxxxxxx> Reported-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10723/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit aaa7be48fdbf14836ff1bc61c72969960a5923c6 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:44 2015 +0100 MIPS: Probe for small (1KiB) page support Probe Config3 for small page support. This will be useful to give clues as to whether the PageGrain register exists. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10722/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3c865dd9c1d64046877112451f13db2cb46d4d28 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:43 2015 +0100 MIPS: Refactor dumping of TLB registers for r3k/r4k The TLB registers are dumped in a couble of places: - sysrq_tlbdump_single() - when dumping TLB state. - do_mcheck() - in response to a machine check error. The main TLB registers also differ between r3k and r4k, but r4k appears to be assumed. Refactor this code into a dump_tlb_regs() function, implemented for both r3k and r4k, and used by both of the above functions. Fixes: d1e9a4f54735 ("MIPS: Add SysRq operation to dump TLBs on all CPUs") Suggested-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10721/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0f6ce77538c3f0628acdeee30738e4c8fe08d7e2 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Jul 15 16:17:42 2015 +0100 Documentation/sysrq.txt: Mention MIPS TLB dump (x) Commit d1e9a4f54735 ("MIPS: Add SysRq operation to dump TLBs on all CPUs") added the 'x' sysrq key for dumping MIPS TLB entries, but didn't document it in Documentation/sysrq.txt. Add mention of the MIPS use of the 'x' SysRq key. Reported-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10720/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c909ca718e8f50cf484ef06a8dd935e738e8e53d Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 17 10:38:32 2015 +0100 MIPS: math-emu: Emulate missing BC1{EQ,NE}Z instructions Commit c8a34581ec09 ("MIPS: Emulate the BC1{EQ,NE}Z FPU instructions") added support for emulating the new R6 BC1{EQ,NE}Z branches but it missed the case where the instruction that caused the exception was not on a DS. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Fixes: c8a34581ec09 ("MIPS: Emulate the BC1{EQ,NE}Z FPU instructions") Cc: <stable@xxxxxxxxxxxxxxx> # 4.0+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10738/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e8f80cc1a6d80587136b015e989a12827e1fcfe5 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 17 10:36:03 2015 +0100 MIPS: math-emu: Allow m{f,t}hc emulation on MIPS R6 The mfhc/mthc instructions are supported on MIPS R6 so emulate them if needed. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.0+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10737/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 166457436e38175e1d9891f98d9d6edbee100f32 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 16 16:43:33 2015 +0100 MIPS: math-emu: Fix indentation Fix indentation for the final 'else' blocks. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10735/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bbdd8147b1b9efb7268a7cad31e148d794363abe Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 16 14:06:45 2015 +0100 MIPS: cp1emu: Fix closing bracket for the d_fmt case The double format (d_fmt) case uses an opening bracket which then closes at the end of the word format (w_fmt). This can be rather confusing so add the closing bracket at the end of the d_fmt case and use another one for the w_fmt one. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10733/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 674d10e26dd4c1a1b9161e9dcce0667d1c5dd318 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 16 13:24:46 2015 +0100 MIPS: Kconfig: Drop the EXPERIMENTAL tag from MIPS R6 The MIPS R6 ISA support has been part of mainline since v4.0 and it should be in a good shape nowadays so it is not an experimental feature anymore. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10731/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c46a2f01fb2bea6ae7e4e3f3f2aad65d8eda837d Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 15 11:48:15 2015 +0200 MIPS: Treat CP1 control registers as unsigned ints. These are bitfields and treating them as signed values doesn't make any sense. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Reported-by: Chris Packham <judge.packham@xxxxxxxxx> commit 82eb8f7342cf722a8bf3d42e9982f56bff166b85 Author: Chris Packham <judge.packham@xxxxxxxxx> Date: Wed Jul 15 10:44:30 2015 +1200 MIPS: Use unsigned int when reading CP0 registers Update __read_32bit_c0_register() and __read_32bit_c0_ctrl_register() to use "unsigned int res;" instead of "int res;". There is little reason to treat these register values as signed. They are either counters (which by definition are unsigned) or are made up of various bit fields to be interpreted as per the CPU datasheet. This has come up via u-boot[1] which sync's asm/mipsregs.h with the kernel. In u-boots case the value read from read_c0_count() is assigned to an unsigned long [2] which triggers a sign extension and causes a bug. U-boot should probably be more explicit about the types used for the timer_read_counter() API but that aside is there any reason to treat these values as signed integers? A quick grep around the arch/mips makes me thing that there may be some bugs lurking when read_c0_count() starts to yield a negative value but I haven't really explored any of them. [1] - http://lists.denx.de/pipermail/u-boot/2015-July/219086.html [2] - http://git.denx.de/?p=u-boot.git;a=blob;f=arch/mips/cpu/time.c#l11 Signed-off-by: Chris Packham <judge.packham@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Daniel Schwierzeck <daniel.schwierzeck@xxxxxxxxx> Cc: Chris Packham <judge.packham@xxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10718/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 570e5d26ff2e970e018343675bc64302420221d8 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jul 10 16:52:39 2015 +0100 MIPS: malta: Use generic platform_maar_init The default implementation of platform_maar_init is sufficient for Malta boards where we want to allow speculation in the regions of memory corresponding to DDR & disallow it elsewhere. Drop the custom implementation such that the default is used, reducing the duplication of information provided by the Malta platform code. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10677/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cbd95a89996d1b5fadf411e9218c64e713a83099 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jul 10 16:52:38 2015 +0100 MIPS: mm: default platform_maar_init using bootmem data Introduce a default weak implementation of platform_maar_init which makes use of the data that platforms already provide to the bootmem allocator. This should hopefully cover the most common configurations, reduce the duplication of information provided by platforms & leaves platforms with the option of providing a custom implementation if required. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10676/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e4aa1f153add29343eeb8b3bf0f64e7c6fc7e697 Author: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Date: Mon Jun 22 12:21:00 2015 +0100 MIPS: MSA unaligned memory access support The MSA architecture specification allows for hardware to not implement unaligned vector memory accesses in some or all cases. A typical example of this is the I6400 core which does not implement unaligned vector memory access when the memory crosses a page boundary. The architecture also requires that such memory accesses complete successfully as far as userland is concerned, so the kernel is required to emulate them. This patch implements support for emulating unaligned MSA ld & st instructions by copying between the user memory & the tasks FP context in struct thread_struct, updating hardware registers from there as appropriate in order to avoid saving & restoring the entire vector context for each unaligned memory access. Tested both using an I6400 CPU and with a QEMU build hacked to produce AdEL exceptions for unaligned vector memory accesses. [paul.burton@xxxxxxxxxx: - Remove #ifdef's - Move msa_op into enum major_op rather than #define - Replace msa_{to,from}_wd with {read,write}_msa_wr_{b,h,w,l} and the format-agnostic wrappers, removing the custom endian mangling for big endian systems. - Restructure the msa_op case in emulate_load_store_insn to share more code between the load & store cases. - Avoid the need for a temporary union fpureg on the stack by simply reusing the already suitably aligned context in struct thread_struct. - Use sizeof(*fpr) rather than hardcoding 16 as the size for user memory checks & copies. - Stop recalculating the address of the unaligned vector memory access and rely upon the value read from BadVAddr as we do for other unaligned memory access instructions. - Drop the now unused val8 & val16 fields in union fpureg. - Rewrite commit message. - General formatting cleanups.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Jie Chen <chenj@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10573/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6b35e11442db48638c9e9f2ff19f706484a73abe Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jun 22 12:20:59 2015 +0100 MIPS: Introduce accessors for MSA vector registers Introduce accessor functions allowing the kernel to access arbitrary vector registers using an arbitrary data format. The accessors are implemented in assembly, using macros to avoid massive duplication, in order to make use of the existing support for MSA with & without toolchain support. The accessors will be used in a later patch. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10572/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6701ca2df4e22fb130330800b6cde687cb761637 Author: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Date: Mon Jun 22 12:20:58 2015 +0100 MIPS: Declare MSA MI10 instruction formats Declare a struct describing the MSA MI10 instruction format used for ld & st instructions, for use by subsequent patches. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10571/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b620c9720a0e18bc2067c65ad3b9020e813372eb Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:12:03 2015 -0500 MIPS: Remove "__weak" definition from arch-specific linkage.h "__weak" is defined in include/linux/compiler-gcc.h. We shouldn't need an arch-specific definition. Remove the "__weak" definition from arch/mips/include/asm/linkage.h. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10689/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e1d97497309867cdc1064ed6b10953abd1740b05 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:54 2015 -0500 MIPS: Remove "weak" from mips_cdmm_phys_base() declaration Weak header file declarations are error-prone because they make every definition weak, and the linker chooses one based on link order (see 10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node decl")). mips_cdmm_phys_base() is defined only in arch/mips/mti-malta/malta-memory.c so there's no problem with multiple definitions. But it works better to have a weak default implementation and allow a strong function to override it. Then we don't have to test whether a definition is present, and if there are ever multiple strong definitions, we get a link error instead of calling a random definition. Add a weak mips_cdmm_phys_base() definition and remove the weak annotation from the declaration in arch/mips/include/asm/cdmm.h. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10688/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 770847bad0200b62af2d93808b4e69d82f14264e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:46 2015 -0500 MIPS: Remove "weak" from get_c0_fdc_int() declaration Weak header file declarations are error-prone because they make every definition weak, and the linker chooses one based on link order (see 10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node decl")). The most elegant solution is to have a weak default implementation and allow a strong function to override it. Then we don't have to test whether a definition is present, and if there are ever multiple strong definitions, we get a link error instead of calling a random definition. Add a weak get_c0_fdc_int() definition with the default code and remove the weak annotation from the declaration. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10687/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ec0b9d35d1fbf7e3a3eccc662ad641794d3685a5 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:38 2015 -0500 MIPS: Remove "weak" from get_c0_compare_int() declaration Weak header file declarations are error-prone because they make every definition weak, and the linker chooses one based on link order (see 10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node decl")). get_c0_compare_int() is defined in several files. Each definition is weak, so I assume Kconfig prevents two or more from being included. The caller contains default code used when get_c0_compare_int() isn't defined at all. Add a weak get_c0_compare_int() definition with the default code and remove the weak annotation from the declaration. Then the platform implementations will be strong and will override the weak default. If multiple platforms are ever configured in, we'll get a link error instead of calling a random platform's implementation. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10686/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5a73882fd2c3a86b502d54da532d373a1f2db15e Author: York Sun <yorksun@xxxxxxxxxxxxx> Date: Wed Sep 2 11:40:46 2015 -0500 i2c: mux: reg Change ioread endianness for readback Reading the register (if allowed) after writing is to ensure writing is completed on a posted bus. The endianness of reading doesn't matter. Signed-off-by: York Sun <yorksun@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit a05a34e7f6ff4a942186e99932885b10c6bc1d1a Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 2 11:03:41 2015 +0300 i2c: mux: reg: fix compilation warnings With CONFIG_OF=n, the following warnings occur when compiling drivers/i2c/muxes/i2c-mux-reg.c: CC drivers/i2c/muxes/i2c-mux-reg.o drivers/i2c/muxes/i2c-mux-reg.c:170:13: warning: â??struct gpiomuxâ?? declared inside parameter list [enabled by default] struct platform_device *pdev) ^ drivers/i2c/muxes/i2c-mux-reg.c:170:13: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] drivers/i2c/muxes/i2c-mux-reg.c: In function â??i2c_mux_reg_probeâ??: drivers/i2c/muxes/i2c-mux-reg.c:201:3: warning: passing argument 1 of â??i2c_mux_reg_probe_dtâ?? from incompatible pointer type [enabled by default] ret = i2c_mux_reg_probe_dt(mux, pdev); ^ Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fce388afd633cdf20844e17f47b0d97c7ee06e69 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Thu Aug 20 23:40:46 2015 +0200 i2c: mux: reg: simplify register size checking Checking was done at three different locations, just do it once and properly at probing time. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: York Sun <yorksun@xxxxxxxxxxxxx> commit f35f3a48d6ee810557b58e6b7d933438999401b6 Author: Thomas Huth <thuth@xxxxxxxxxx> Date: Wed Sep 2 11:14:48 2015 +0200 KVM: PPC: Book3S: Fix size of the PSPB register The size of the Problem State Priority Boost Register is only 32 bits, but the kvm_vcpu_arch->pspb variable is declared as "ulong", ie. 64-bit. However, the assembler code accesses this variable with 32-bit accesses, and the KVM_REG_PPC_PSPB macro is defined with SIZE_U32, too, so that the current code is broken on big endian hosts: kvmppc_get_one_reg_hv() will only return zero for this register since it is using the wrong half of the pspb variable. Let's fix this problem by adjusting the size of the pspb field in the kvm_vcpu_arch structure. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 06554d9f6cc8f0b5ec903db19726a15dfc7b09d6 Author: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 17:41:20 2015 +0530 KVM: PPC: Book3S HV: Exit on H_DOORBELL if HOST_IPI is set The code that handles the case when we receive a H_DOORBELL interrupt has a comment which says "Hypervisor doorbell - exit only if host IPI flag set". However, the current code does not actually check if the host IPI flag is set. This is due to a comparison instruction that got missed. As a result, the current code performs the exit to host only if some sibling thread or a sibling sub-core is exiting to the host. This implies that, an IPI sent to a sibling core in (subcores-per-core != 1) mode will be missed by the host unless the sibling core is on the exit path to the host. This patch adds the missing comparison operation which will ensure that when HOST_IPI flag is set, we unconditionally exit to the host. Fixes: 66feed61cdf6 Cc: stable@xxxxxxxxxxxxxxx # v4.1+ Signed-off-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 7f23532866f931be626e69ff55caf39e54516047 Author: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 21:48:58 2015 +0530 KVM: PPC: Book3S HV: Fix race in starting secondary threads The current dynamic micro-threading code has a race due to which a secondary thread naps when it is supposed to be running a vcpu. As a side effect of this, on a guest exit, the primary thread in kvmppc_wait_for_nap() finds that this secondary thread hasn't cleared its vcore pointer. This results in "CPU X seems to be stuck!" warnings. The race is possible since the primary thread on exiting the guests only waits for all the secondaries to clear its vcore pointer. It subsequently expects the secondary threads to enter nap while it unsplits the core. A secondary thread which hasn't yet entered the nap will loop in kvm_no_guest until its vcore pointer and the do_nap flag are unset. Once the core has been unsplit, a new vcpu thread can grab the core and set the do_nap flag *before* setting the vcore pointers of the secondary. As a result, the secondary thread will now enter nap via kvm_unsplit_nap instead of running the guest vcpu. Fix this by setting the do_nap flag after setting the vcore pointer in the PACA of the secondary in kvmppc_run_core. Also, ensure that a secondary thread doesn't nap in kvm_unsplit_nap when the vcore pointer in its PACA struct is set. Fixes: b4deba5c41e9 Signed-off-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit abceaa9cded5f059f8c3b3b6f32730084fe5e39f Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Mon Aug 31 11:34:05 2015 +0800 cpuidle/coupled: Add sanity check for safe_state_index Since we are using cpuidle_driver::safe_state_index directly as the target state index, it is better to add the sanity check at the point of registering the driver. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 29e47e2173349ee06bd339f7753821c720d50923 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 2 10:16:13 2015 +0200 PM / Domains: Try power off masters in error path of __pm_genpd_poweron() While powering up a genpd, its domain masters are first being powered up. In the error path of __pm_genpd_poweron(), we didn't care to try power off these domain masters. Let's deal with that to avoid leaving unused PM domains powered. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a2022001cebd0825b96aa0f3345ea3ad44ae79d4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Sep 2 14:36:50 2015 +0530 cpufreq: dt: Tolerance applies on both sides of target voltage Tolerance applies on both sides of the target voltage, i.e. both min and max sides. But while checking if a voltage is supported by the regulator or not, we haven't taken care of tolerance on the lower side. Fix that. Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Fixes: 045ee45c4ff2 ("cpufreq: cpufreq-dt: disable unsupported OPPs") Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8bc862843901e282e58f5ecd66f1df24366ecb6b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Sep 2 14:36:49 2015 +0530 cpufreq: dt: Print error on failing to mark OPPs as shared We need to explicitly mark OPPs as shared, when they are not defined with OPP-v2 bindings. This operation can potentially fail, and in that case we should at least print an error message. Fixes: 2e02d8723edf ("cpufreq: dt: Add support for operating-points-v2 bindings") Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7d5d0c8ba369cbfb68eec6912f35197d82214668 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Sep 2 14:36:48 2015 +0530 cpufreq: dt: Check OPP count before marking them shared We need to explicitly mark OPPs as shared, when they are not defined with OPP-v2 bindings. But this isn't required to be done if we failed to initialize OPP table. Reorder code to verify OPP count before marking them shared. Fixes: 2e02d8723edf ("cpufreq: dt: Add support for operating-points-v2 bindings") Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0ed537b5fd18c38b526fd0e6837a00f96aee30c4 Merge: 72e624d 50a3cb0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Sep 3 02:46:01 2015 +0200 Merge branch 'pm-opp' into pm-cpufreq commit 21dd33b09c61597df603c654589adffd7955491a Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Sep 2 16:18:57 2015 -0600 kernel/cpu_pm: fix cpu_cluster_pm_exit comment cpu_cluster_pm_exit() must be sent after cpu_cluster_pm_enter() has been sent for the cluster and before any cpu_pm_exit() notifications are sent for any CPU. Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1e1a4e8f439113b7820bc7150569f685e1cc2b43 Merge: d975f30 cc7da0b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 16:35:26 2015 -0700 Merge tag 'dm-4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper update from Mike Snitzer: - a couple small cleanups in dm-cache, dm-verity, persistent-data's dm-btree, and DM core. - a 4.1-stable fix for dm-cache that fixes the leaking of deferred bio prison cells - a 4.2-stable fix that adds feature reporting for the dm-stats features added in 4.2 - improve DM-snapshot to not invalidate the on-disk snapshot if snapshot device write overflow occurs; but a write overflow triggered through the origin device will still invalidate the snapshot. - optimize DM-thinp's async discard submission a bit now that late bio splitting has been included in block core. - switch DM-cache's SMQ policy lock from using a mutex to a spinlock; improves performance on very low latency devices (eg. NVMe SSD). - document DM RAID 4/5/6's discard support [ I did not pull the slab changes, which weren't appropriate for this tree, and weren't obviously the right thing to do anyway. At the very least they need some discussion and explanation before getting merged. Because not pulling the actual tagged commit but doing a partial pull instead, this merge commit thus also obviously is missing the git signature from the original tag ] * tag 'dm-4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm cache: fix use after freeing migrations dm cache: small cleanups related to deferred prison cell cleanup dm cache: fix leaking of deferred bio prison cells dm raid: document RAID 4/5/6 discard support dm stats: report precise_timestamps and histogram in @stats_list output dm thin: optimize async discard submission dm snapshot: don't invalidate on-disk image on snapshot write overflow dm: remove unlikely() before IS_ERR() dm: do not override error code returned from dm_get_device() dm: test return value for DM_MAPIO_SUBMITTED dm verity: remove unused mempool dm cache: move wake_waker() from free_migrations() to where it is needed dm btree remove: remove unused function get_nr_entries() dm btree: remove unused "dm_block_t root" parameter in btree_split_sibling() dm cache policy smq: change the mutex to a spinlock commit 2ff46e6fea6254ac8fa97aeb9c14e51436ab95f6 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Sep 2 16:34:35 2015 -0700 mtd: spi-nor: fix NULL dereference when no match found in spi_nor_ids[] Commit 06bb6f5a69df ("mtd: spi-nor: stop (ab)using struct spi_device_id") converted an array into a pointer, which means that we should be checking if the pointer goes anywhere, not whether the C string is empty. To do the latter means we dereference a NULL pointer when we reach the terminating entry, for which 'name' is now NULL instead of an array { 0, 0, ... }. Sample crash: [ 1.101371] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 1.109457] pgd = c0004000 [ 1.112157] [00000000] *pgd=00000000 [ 1.115736] Internal error: Oops: 5 [#1] SMP ARM [ 1.120345] Modules linked in: [ 1.123405] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 4.2.0-next-20150902+ #61 [ 1.130611] Hardware name: Rockchip (Device Tree) [ 1.135306] task: ee0b8d40 ti: ee0ba000 task.ti: ee0ba000 [ 1.140697] PC is at spi_nor_scan+0x90/0x8c4 [ 1.144958] LR is at spi_nor_scan+0xa4/0x8c4 ... [ 1.504112] [<c03cc2e0>] (spi_nor_scan) from [<c03cb188>] (m25p_probe+0xc8/0x11c) [ 1.511583] [<c03cb188>] (m25p_probe) from [<c03cd9d8>] (spi_drv_probe+0x60/0x7c) [ 1.519055] [<c03cd9d8>] (spi_drv_probe) from [<c037faa0>] (driver_probe_device+0x1a0/0x444) [ 1.527478] [<c037faa0>] (driver_probe_device) from [<c037fec8>] (__device_attach_driver+0x94/0xa0) [ 1.536507] [<c037fec8>] (__device_attach_driver) from [<c037db3c>] (bus_for_each_drv+0x94/0xa4) [ 1.545277] [<c037db3c>] (bus_for_each_drv) from [<c037f7e4>] (__device_attach+0xa4/0x144) [ 1.553526] [<c037f7e4>] (__device_attach) from [<c0380058>] (device_initial_probe+0x1c/0x20) [ 1.562035] [<c0380058>] (device_initial_probe) from [<c037ec88>] (bus_probe_device+0x38/0x94) [ 1.570631] [<c037ec88>] (bus_probe_device) from [<c037ccf4>] (device_add+0x430/0x558) [ 1.578534] [<c037ccf4>] (device_add) from [<c03d0240>] (spi_add_device+0xe4/0x174) [ 1.586178] [<c03d0240>] (spi_add_device) from [<c03d0a24>] (spi_register_master+0x698/0x7d4) [ 1.594688] [<c03d0a24>] (spi_register_master) from [<c03d0ba0>] (devm_spi_register_master+0x40/0x7c) [ 1.603892] [<c03d0ba0>] (devm_spi_register_master) from [<c03d2fb4>] (rockchip_spi_probe+0x360/0x3f4) [ 1.613182] [<c03d2fb4>] (rockchip_spi_probe) from [<c0381e34>] (platform_drv_probe+0x58/0xa8) [ 1.621779] [<c0381e34>] (platform_drv_probe) from [<c037faa0>] (driver_probe_device+0x1a0/0x444) [ 1.630635] [<c037faa0>] (driver_probe_device) from [<c037fdc4>] (__driver_attach+0x80/0xa4) [ 1.639058] [<c037fdc4>] (__driver_attach) from [<c037e850>] (bus_for_each_dev+0x98/0xac) [ 1.647221] [<c037e850>] (bus_for_each_dev) from [<c037f448>] (driver_attach+0x28/0x30) [ 1.655210] [<c037f448>] (driver_attach) from [<c037ef74>] (bus_add_driver+0x128/0x250) [ 1.663200] [<c037ef74>] (bus_add_driver) from [<c0380c40>] (driver_register+0xac/0xf0) [ 1.671191] [<c0380c40>] (driver_register) from [<c0381d50>] (__platform_driver_register+0x58/0x6c) [ 1.680221] [<c0381d50>] (__platform_driver_register) from [<c0a467c8>] (rockchip_spi_driver_init+0x18/0x20) [ 1.690033] [<c0a467c8>] (rockchip_spi_driver_init) from [<c00098a4>] (do_one_initcall+0x124/0x1dc) [ 1.699063] [<c00098a4>] (do_one_initcall) from [<c0a19f84>] (kernel_init_freeable+0x218/0x2ec) [ 1.707748] [<c0a19f84>] (kernel_init_freeable) from [<c0719ed8>] (kernel_init+0x1c/0xf4) [ 1.715912] [<c0719ed8>] (kernel_init) from [<c000fe50>] (ret_from_fork+0x14/0x24) [ 1.723460] Code: e3510000 159f67c0 0a00000c e5961000 (e5d13000) [ 1.729564] ---[ end trace 95baa6b3b861ce25 ]--- Fixes: 06bb6f5a69df ("mtd: spi-nor: stop (ab)using struct spi_device_id") Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> commit 62da98656b62a5ca57f22263705175af8ded5aa1 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Sep 3 01:26:07 2015 +0200 netfilter: nf_conntrack: make nf_ct_zone_dflt built-in Fengguang reported, that some randconfig generated the following linker issue with nf_ct_zone_dflt object involved: [...] CC init/version.o LD init/built-in.o net/built-in.o: In function `ipv4_conntrack_defrag': nf_defrag_ipv4.c:(.text+0x93e95): undefined reference to `nf_ct_zone_dflt' net/built-in.o: In function `ipv6_defrag': nf_defrag_ipv6_hooks.c:(.text+0xe3ffe): undefined reference to `nf_ct_zone_dflt' make: *** [vmlinux] Error 1 Given that configurations exist where we have a built-in part, which is accessing nf_ct_zone_dflt such as the two handlers nf_ct_defrag_user() and nf_ct6_defrag_user(), and a part that configures nf_conntrack as a module, we must move nf_ct_zone_dflt into a fixed, guaranteed built-in area when netfilter is configured in general. Therefore, split the more generic parts into a common header under include/linux/netfilter/ and move nf_ct_zone_dflt into the built-in section that already holds parts related to CONFIG_NF_CONNTRACK in the netfilter core. This fixes the issue on my side. Fixes: 308ac9143ee2 ("netfilter: nf_conntrack: push zone object into functions") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a82b0e63917f597c546cd479acc938e08ac54f2d Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 2 20:54:02 2015 +0200 netfilter: nf_dup{4, 6}: fix build error when nf_conntrack disabled While testing various Kconfig options on another issue, I found that the following one triggers as well on allmodconfig and nf_conntrack disabled: net/ipv4/netfilter/nf_dup_ipv4.c: In function â??nf_dup_ipv4â??: net/ipv4/netfilter/nf_dup_ipv4.c:72:20: error: â??nf_skb_duplicatedâ?? undeclared (first use in this function) if (this_cpu_read(nf_skb_duplicated)) [...] net/ipv6/netfilter/nf_dup_ipv6.c: In function â??nf_dup_ipv6â??: net/ipv6/netfilter/nf_dup_ipv6.c:66:20: error: â??nf_skb_duplicatedâ?? undeclared (first use in this function) if (this_cpu_read(nf_skb_duplicated)) Fix it by including directly the header where it is defined. Fixes: bbde9fc1824a ("netfilter: factor out packet duplication for IPv4/IPv6") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed63f1dcd5788d36f942fbcce350742385e3e18c Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 2 17:24:14 2015 +0800 net: fec: clear receive interrupts before processing a packet The patch just to re-submit the patch "db3421c114cfa6326" because the patch "4d494cdc92b3b9a0" remove the change. Clear any pending receive interrupt before we process a pending packet. This helps to avoid any spurious interrupts being raised after we have fully cleaned the receive ring, while still allowing an interrupt to be raised if we receive another packet. The position of this is critical: we must do this prior to reading the next packet status to avoid potentially dropping an interrupt when a packet is still pending. Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e41b0bedba0293b9e1e8d1e8ed553104b9693656 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Sep 3 00:29:07 2015 +0200 ipv6: fix exthdrs offload registration in out_rt path We previously register IPPROTO_ROUTING offload under inet6_add_offload(), but in error path, we try to unregister it with inet_del_offload(). This doesn't seem correct, it should actually be inet6_del_offload(), also ipv6_exthdrs_offload_exit() from that commit seems rather incorrect (it also uses rthdr_offload twice), but it got removed entirely later on. Fixes: 3336288a9fea ("ipv6: Switch to using new offload infrastructure.") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7cc8c5cde0a5872f5d013f82978b73c011d8f8f1 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Sep 2 15:22:48 2015 -0700 NFSv4.1/flexfiles: Clean up ff_layout_write_done_cb/ff_layout_commit_done_cb Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f95c03b2d5fb6d56c0d7ec21970329b49b657fed Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Sep 2 15:15:11 2015 -0700 NFSv4.1/flexfiles: Mark the layout for return in ff_layout_io_track_ds_error() When I/O cannot complete due to a fatal error on the DS, ensure that we invalidate the corresponding layout segment and return it. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0f12a27b47284e86eaa4a5ad3877ec3018463178 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Aug 14 18:42:32 2015 +0200 mtd: spi-nor: s25sl064p supports both dual and quad I/O This chip can be found on Hitex LPC4350 Evaluation Board. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c1752086796bafaf0c933240642ed1cf21ddab4f Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Wed Aug 26 14:56:53 2015 +0200 mtd: spi-nor: allow dual/quad reads on S25FL129P According to the datasheet[1], both S25FL129P0 (256kB sectors) and S25FL129P1 (64kB sectors) support dual read, quad read, dual i/o read and quad i/o read. I have verified dual read to be working for S25FL129P1 on a dual capable spi controller. Quad as well as S25FL129P0 is untested, lacking hardware to verify. [1] http://www.spansion.com/Support/Datasheets/S25FL129P_00.pdf Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 092f05c3eccbd616a0cfa21945412a3e82a9fb6c Author: Roger Quadros <rogerq@xxxxxx> Date: Fri Aug 21 13:45:35 2015 +0300 mtd: nand: omap2: Rename shippable module to omap2_nand As both omap2 onenand and omap2 nand driver modules are named the same i.e. "omap2.ko", only one of them gets shipped during MODPOST if both are configured as loadable modules. To avoid this ambiguity let's ship the omap2 nand driver as "omap2_nand.ko" Reported by Pierre Neyron via github https://github.com/beagleboard/linux/issues/40 Cc: Robert Nelson <robertcnelson@xxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a1d97ef96e3899ad9d4ec0024f9b4927e0490689 Author: Alexis Ballier <aballier@xxxxxxxxxx> Date: Fri Aug 14 19:35:39 2015 +0200 mtd: spi-nor: Add support for sst25wf020a It is a 256KiB flash with 4 KiB erase sectors and 64KiB overlay blocks. This is the one available on Hardkernel's Odroid U3 shield. Signed-off-by: Alexis Ballier <aballier@xxxxxxxxxx> [Brian: seems like this does NOT require the usual SST_WRITE hacks] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2a06c7b1fd2389aed2a308db8de803603d592444 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Aug 27 12:52:19 2015 +0300 mtd: spi-nor: Add support for Micron n25q064a serial flash Add Micron (n25q064a) 8MB flash to the list of supported chips. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Jagan Teki <jteki@xxxxxxxxxxxx> [Brian: fixup context] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d975f309a8b250e67b66eabeb56be6989c783629 Merge: 52b084d f8bcbe6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:22:38 2015 -0700 Merge branch 'for-4.3/sg' of git://git.kernel.dk/linux-block Pull SG updates from Jens Axboe: "This contains a set of scatter-gather related changes/fixes for 4.3: - Add support for limited chaining of sg tables even for architectures that do not set ARCH_HAS_SG_CHAIN. From Christoph. - Add sg chain support to target_rd. From Christoph. - Fixup open coded sg->page_link in crypto/omap-sham. From Christoph. - Fixup open coded crypto ->page_link manipulation. From Dan. - Also from Dan, automated fixup of manual sg_unmark_end() manipulations. - Also from Dan, automated fixup of open coded sg_phys() implementations. - From Robert Jarzmik, addition of an sg table splitting helper that drivers can use" * 'for-4.3/sg' of git://git.kernel.dk/linux-block: lib: scatterlist: add sg splitting function scatterlist: use sg_phys() crypto/omap-sham: remove an open coded access to ->page_link scatterlist: remove open coded sg_unmark_end instances crypto: replace scatterwalk_sg_chain with sg_chain target/rd: always chain S/G list scatterlist: allow limited chaining without ARCH_HAS_SG_CHAIN commit 52b084d31cbc8e90cb6fc1ac4061d9a24375c89d Merge: 1081230 e19b127 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:14:58 2015 -0700 Merge branch 'for-4.3/drivers' of git://git.kernel.dk/linux-block Pull block driver updates from Jens Axboe: "On top of the 4.3 core block IO changes, here are the driver related changes for 4.3. Basically just NVMe and nbd this time around: - NVMe: - PRACT PI improvement from Alok Pandey. - Cleanups and improvements on submission queue doorbell and writing, using CMB if available. From Jon Derrick. - From Keith, support for setting queue maximum segments, and reset support. - Also from Jon, fixup of u64 division issue on 32-bit archs and wiring up of the reset support through and ioctl. - Two small cleanups from Matias and Sunad - Various code cleanups and fixes from Markus Pargmann" * 'for-4.3/drivers' of git://git.kernel.dk/linux-block: NVMe: Using PRACT bit to generate and verify PI by controller NVMe:Remove unreachable code in nvme_abort_req NVMe: Add nvme subsystem reset IOCTL NVMe: Add nvme subsystem reset support NVMe: removed unused nn var from nvme_dev_add NVMe: Set queue max segments nbd: flags is a u32 variable nbd: Rename functions for clearness of recv/send path nbd: Change 'disconnect' to be boolean nbd: Add debugfs entries nbd: Remove variable 'pid' nbd: Move clear queue debug message nbd: Remove 'harderror' and propagate error properly nbd: restructure sock_shutdown nbd: sock_shutdown, remove conditional lock nbd: Fix timeout detection nvme: Fixes u64 division which breaks i386 builds NVMe: Use CMB for the IO SQes if available NVMe: Unify SQ entry writing and doorbell ringing commit 1081230b748de8f03f37f80c53dfa89feda9b8de Merge: df91039 2ca495a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:10:25 2015 -0700 Merge branch 'for-4.3/core' of git://git.kernel.dk/linux-block Pull core block updates from Jens Axboe: "This first core part of the block IO changes contains: - Cleanup of the bio IO error signaling from Christoph. We used to rely on the uptodate bit and passing around of an error, now we store the error in the bio itself. - Improvement of the above from myself, by shrinking the bio size down again to fit in two cachelines on x86-64. - Revert of the max_hw_sectors cap removal from a revision again, from Jeff Moyer. This caused performance regressions in various tests. Reinstate the limit, bump it to a more reasonable size instead. - Make /sys/block/<dev>/queue/discard_max_bytes writeable, by me. Most devices have huge trim limits, which can cause nasty latencies when deleting files. Enable the admin to configure the size down. We will look into having a more sane default instead of UINT_MAX sectors. - Improvement of the SGP gaps logic from Keith Busch. - Enable the block core to handle arbitrarily sized bios, which enables a nice simplification of bio_add_page() (which is an IO hot path). From Kent. - Improvements to the partition io stats accounting, making it faster. From Ming Lei. - Also from Ming Lei, a basic fixup for overflow of the sysfs pending file in blk-mq, as well as a fix for a blk-mq timeout race condition. - Ming Lin has been carrying Kents above mentioned patches forward for a while, and testing them. Ming also did a few fixes around that. - Sasha Levin found and fixed a use-after-free problem introduced by the bio->bi_error changes from Christoph. - Small blk cgroup cleanup from Viresh Kumar" * 'for-4.3/core' of git://git.kernel.dk/linux-block: (26 commits) blk: Fix bio_io_vec index when checking bvec gaps block: Replace SG_GAPS with new queue limits mask block: bump BLK_DEF_MAX_SECTORS to 2560 Revert "block: remove artifical max_hw_sectors cap" blk-mq: fix race between timeout and freeing request blk-mq: fix buffer overflow when reading sysfs file of 'pending' Documentation: update notes in biovecs about arbitrarily sized bios block: remove bio_get_nr_vecs() fs: use helper bio_add_page() instead of open coding on bi_io_vec block: kill merge_bvec_fn() completely md/raid5: get rid of bio_fits_rdev() md/raid5: split bio for chunk_aligned_read block: remove split code in blkdev_issue_{discard,write_same} btrfs: remove bio splitting and merge_bvec_fn() calls bcache: remove driver private bio splitting code block: simplify bio_add_page() block: make generic_make_request handle arbitrarily sized bios blk-cgroup: Drop unlikely before IS_ERR(_OR_NULL) block: don't access bio->bi_error after bio_put() block: shrink struct bio down to 2 cache lines again ... commit df910390e2db07a76c87f258475f6c96253cee6c Merge: 91a247d 9f55bca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 12:22:54 2015 -0700 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull first round of SCSI updates from James Bottomley: "This includes one new driver: cxlflash plus the usual grab bag of updates for the major drivers: qla2xxx, ipr, storvsc, pm80xx, hptiop, plus a few assorted fixes. There's another tranch coming, but I want to incubate it another few days in the checkers, plus it includes a mpt2sas separated lifetime fix, which Avago won't get done testing until Friday" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (85 commits) aic94xx: set an error code on failure storvsc: Set the error code correctly in failure conditions storvsc: Allow write_same when host is windows 10 storvsc: use storage protocol version to determine storage capabilities storvsc: use correct defaults for values determined by protocol negotiation storvsc: Untangle the storage protocol negotiation from the vmbus protocol negotiation. storvsc: Use a single value to track protocol versions storvsc: Rather than look for sets of specific protocol versions, make decisions based on ranges. cxlflash: Remove unused variable from queuecommand cxlflash: shift wrapping bug in afu_link_reset() cxlflash: off by one bug in cxlflash_show_port_status() cxlflash: Virtual LUN support cxlflash: Superpipe support cxlflash: Base error recovery support qla2xxx: Update driver version to 8.07.00.26-k qla2xxx: Add pci device id 0x2261. qla2xxx: Fix missing device login retries. qla2xxx: do not clear slot in outstanding cmd array qla2xxx: Remove decrement of sp reference count in abort handler. qla2xxx: Add support to show MPI and PEP FW version for ISP27xx. ... commit 91a247d7d3694a161092931ea4e0b13c11b8e9a0 Merge: 8bdc69b 718e38b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 12:16:24 2015 -0700 Merge tag 'for-linus-20150901' of git://git.infradead.org/linux-mtd Pull MTD updates from Brian Norris: "SPI NOR: - reduce virtual address space requirements for fsl-quadspi memory map - new fsl-quadspi IP support: imx6ul-qspi and imx7d-qspi - add new NOR flash device support - add new driver for NXP SPI Flash Interface (SPIFI) - stop abusing SPI API structs for non-SPI framework - fixup DT table matching for new "jedec,spi-nor" string NAND: - brcmnand: fix big endian MIPS macro usage - denali: refactor to use devres, dev_*() printing, etc. - OMAP ELM: change the module alias to actually be usable - pxa3xx_nand: fixup a few command sequencing issues -- both new and old - race conditions in the IRQ handler status clearing - problems when a bootloader left interrupts pending - config issues when overriding the bootloader configuration - new flash device support - sunxi_nand: - optimize timing configuration by calculation, rather than fixed fail-safe values - use EDO setting from ONFI - r852: fix compiler warnings - davinci: add 4KB page support Core: - oobtest: correct debug print information" * tag 'for-linus-20150901' of git://git.infradead.org/linux-mtd: (42 commits) mtd: mtd_oobtest: Fix the address offset with vary_offset case mtd: blkdevs: fix switch-bool compilation warning mtd: spi-nor: stop (ab)using struct spi_device_id mtd: nand: add Toshiba TC58NVG0S3E to nand_ids table mtd: dataflash: Export OF module alias information nand: pxa3xx: Increase READ_ID buffer and make the size static mtd: nand: pxa3xx-nand: fix random command timeouts mtd: nand: pxa3xx_nand: fix early spurious interrupt mtd: pxa3xx_nand: add a default chunk size mtd: omap_elm: Fix module alias mtd: physmap_of: fix null pointer deference when kzalloc returns null mtd: nettel: do not ignore mtd_device_register() failure in nettel_init() mtd: denali_pci: switch to dev_err() mtd: denali_pci: refactor driver using devres API mtd: denali_pci: use module_pci_driver() macro mtd: denali: hide core part from user in Kconfig mtd: spi-nor: add Spansion S25FL204K support mtd: spi-nor: Improve Kconfig help text for SPI_FSL_QUADSPI mtd: spi-nor: add driver for NXP SPI Flash Interface (SPIFI) doc: dt: add documentation for nxp,lpc1773-spifi ... commit 210c34dcd8d912dcc740f1f17625a7293af5cb56 Author: Paul Durrant <Paul.Durrant@xxxxxxxxxx> Date: Wed Sep 2 17:58:36 2015 +0100 xen-netback: add support for multicast control Xen's PV network protocol includes messages to add/remove ethernet multicast addresses to/from a filter list in the backend. This allows the frontend to request the backend only forward multicast packets which are of interest thus preventing unnecessary noise on the shared ring. The canonical netif header in git://xenbits.xen.org/xen.git specifies the message format (two more XEN_NETIF_EXTRA_TYPEs) so the minimal necessary changes have been pulled into include/xen/interface/io/netif.h. To prevent the frontend from extending the multicast filter list arbitrarily a limit (XEN_NETBK_MCAST_MAX) has been set to 64 entries. This limit is not specified by the protocol and so may change in future. If the limit is reached then the next XEN_NETIF_EXTRA_TYPE_MCAST_ADD sent by the frontend will be failed with NETIF_RSP_ERROR. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4db78d31deff77f227de56316ee865d65eaa7f01 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Sep 2 13:25:59 2015 -0300 bgmac: Update fixed_phy_register() Commit a5597008dbc2 ("phy: fixed_phy: Add gpio to determine link up/down.") added a new argument to fixed_phy_register(), but missed to update bgmac driver, causing the following build failure: drivers/net/ethernet/broadcom/bgmac.c:1450:2: error: too few arguments to function 'fixed_phy_register' Add the missing argument. Reported-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b382c08656000c12a146723a153b85b13a855b49 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 2 14:00:36 2015 +0200 sock, diag: fix panic in sock_diag_put_filterinfo diag socket's sock_diag_put_filterinfo() dumps classic BPF programs upon request to user space (ss -0 -b). However, native eBPF programs attached to sockets (SO_ATTACH_BPF) cannot be dumped with this method: Their orig_prog is always NULL. However, sock_diag_put_filterinfo() unconditionally tries to access its filter length resp. wants to copy the filter insns from there. Internal cBPF to eBPF transformations attached to sockets don't have this issue, as orig_prog state is kept. It's currently only used by packet sockets. If we would want to add native eBPF support in the future, this needs to be done through a different attribute than PACKET_DIAG_FILTER to not confuse possible user space disassemblers that work on diag data. Fixes: 89aa075832b0 ("net: sock: allow eBPF programs to be attached to sockets") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba13b5f8f86efa78bc0aaea297b0001b6cbf6c21 Author: Kaike Wan <kaike.wan@xxxxxxxxx> Date: Thu Aug 20 14:20:42 2015 -0400 IB/sa: Fix rdma netlink message flags The flags to ibnl_put_msg should be NLM_F_REQUEST instead of GFP_KERNEL. Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: John Fleck <john.fleck@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bddf8026386927985ef6d0d11c3ba78f70b76bad Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Sep 1 16:44:11 2015 +0800 drm/amdgpu: set MEC doorbell range for Fiji Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ac01db3dd5a0c7916e804a52752b780c5c18b98d Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Sep 1 13:13:54 2015 +0800 drm/amdgpu: implement burst NOP for SDMA Customize the insert_nop func for SDMA rings, and use burst NOP for ring/IB submissions in other places as well Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit edff0e2826412be38f0c7977cbf89262141aad87 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Sep 1 13:04:08 2015 +0800 drm/amdgpu: add insert_nop ring func and default implementation The insert_nop function is added to amdgpu_ring_funcs structure as well as the default implementation Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4b2f7e2ca94d58ea16e411a1f717392b91f7730a Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Sep 1 12:56:17 2015 +0800 drm/amdgpu: add amdgpu_get_sdma_instance helper function This function is added to map the ring to sdma instance Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 36f523a7c095192662286057a7eb70d583203fe5 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Sep 1 12:54:27 2015 +0800 drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES Remove the hardcoded usage Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 18111de0dfc38c582c4348af3bda5d3331d35012 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Mon Aug 31 14:06:39 2015 +0800 drm/amdgpu: add burst_nop flag for sdma The burst NOP is supported for SDMA when feature_version is >= 20. Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4207a734c32cafd8ea603eb440d6a8e100e7d1d2 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Mon Aug 31 14:01:05 2015 +0800 drm/amdgpu: add count field for the SDMA NOP packet v2 This is added to support the burst NOP v2: squash the typo fix Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a60c42320b375e80e52e7861acd6b81c61f05166 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Sep 1 15:33:25 2015 +0200 drm/amdgpu: use PT for VM sync on unmap Instead of the array which is used for ID management. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit c9f0fe5e19ec485476c3b22e9265016b96c813ef Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 31 15:46:12 2015 +0800 drm/amdgpu: make wait_event uninterruptible in push_job with interruptible, the push_job maybe return -ERESTARTSYS, then result in push_job error. E.g. bug trace: [ 181.618860] *****amdgpu_copy_buffer:fence->seq:0x0000000048d8758b, contxt:1207959552, ref:683967304, r:-512 [ 181.618929] BUG: unable to handle kernel paging request at ffffffff811aa266 [ 181.625887] IP: [<ffffffff81548ffc>] reservation_object_add_excl_fence+0x3c/0x120 ... [ 181.859767] [<ffffffff811aa266>] ? unmap_mapping_range+0x66/0x110 [ 181.865928] [<ffffffffc0608ac1>] ttm_bo_move_accel_cleanup+0x41/0x3c0 [ttm] [ 181.872971] [<ffffffffc062d382>] amdgpu_move_blit.isra.18+0x122/0x150 [amdgpu] [ 181.880254] [<ffffffff811aa266>] ? unmap_mapping_range+0x66/0x110 [ 181.886420] [<ffffffffc062d709>] amdgpu_bo_move+0xa9/0x200 [amdgpu] [ 181.892753] [<ffffffffc0606e8d>] ttm_bo_handle_move_mem+0x26d/0x5c0 [ttm] Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 4c28fb0b27ad58d772cb972564369b9ebdad0d6b Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 28 17:27:54 2015 +0200 drm/amdgpu: fix amdgpu_bo_unreserve order in GEM_OP IOCTL v2 No copy_(to|from)_user while BO is reserved. v2: handle default path as well Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 8221d706f4f39337e28644f333aefbca41ac0d18 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Sep 2 12:14:57 2015 -0400 drm/amdgpu: partially revert "modify amdgpu_fence_wait_any() to amdgpu_fence_wait_multiple()" v2 That isn't used any more. v2: rebase Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 09bfda10e6efd7b65bcc29237bee1765ed779657 Author: Jeffery Miller <jmiller@xxxxxxxxxxxxx> Date: Tue Sep 1 11:23:02 2015 -0400 Add radeon suspend/resume quirk for HP Compaq dc5750. With the radeon driver loaded the HP Compaq dc5750 Small Form Factor machine fails to resume from suspend. Adding a quirk similar to other devices avoids the problem and the system resumes properly. Signed-off-by: Jeffery Miller <jmiller@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 423a9480add9d9afba035d3c2617034d5f766065 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 24 16:59:54 2015 +0800 drm/amdgpu: re-work sync_resv sync_resv is to handle both amdgpu_fence and sched_fence. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit e39daf2c63518a8ce92e3ad5caa04097524b3585 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Aug 31 11:08:44 2015 -0400 drm/amdgpu/atom: Send out the full AUX address AUX addresses are 20 bits long. Send out the entire address instead of just the low 16 bits. Port of: drm/radeon/atom: Send out the full AUX address to amdgpu Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 8bdc69b764013a9b5ebeef7df8f314f1066c5d79 Merge: 76ec51e 20f1f4b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 08:04:23 2015 -0700 Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup Pull cgroup updates from Tejun Heo: - a new PIDs controller is added. It turns out that PIDs are actually an independent resource from kmem due to the limited PID space. - more core preparations for the v2 interface. Once cpu side interface is settled, it should be ready for lifting the devel mask. for-4.3-unified-base was temporarily branched so that other trees (block) can pull cgroup core changes that blkcg changes depend on. - a non-critical idr_preload usage bug fix. * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: cgroup: pids: fix invalid get/put usage cgroup: introduce cgroup_subsys->legacy_name cgroup: don't print subsystems for the default hierarchy cgroup: make cftype->private a unsigned long cgroup: export cgrp_dfl_root cgroup: define controller file conventions cgroup: fix idr_preload usage cgroup: add documentation for the PIDs controller cgroup: implement the PIDs subsystem cgroup: allow a cgroup subsystem to reject a fork commit 76ec51ef5edfe540bbc3c61b860f88deb8e6a37b Merge: 7d3e2eb 292c24a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 08:03:25 2015 -0700 Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu Pull percpu updates from Tejun Heo: "Minor cleanups" * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: clean up of schunk->map[] assignment in pcpu_setup_first_chunk percpu: update incorrect comment for this_cpu_*() operations commit 7d3e2eb1786fafa186eb8bc276edef75ba69e023 Merge: 2dc7e55 355c066 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 08:02:20 2015 -0700 Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq Pull workqueue updates from Tejun Heo: "Only three trivial changes for workqueue this time - doc, MAINTAINERS and EXPORT_SYMBOL updates" * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: fix some docbook warnings workqueue: Make flush_workqueue() available again to non GPL modules workqueue: add myself as a dedicated reviwer commit 2dc7e555e33e645df70a8aa89c529de1902f0064 Merge: ae98207 d6e9b70 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 08:00:54 2015 -0700 Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata updates from Tejun Heo: "Nothing interesting. A couple device specific minor updates and a kernel doc change" * 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: ata: pata_arasam_cf: Use devm_clk_get libata: fix libata-core.c kernel-doc warning ata: sata_rcar: Remove obsolete sata-r8a779* platform_device_id entries commit c3058579a2882bb4bb6bf1ab0fe65f5ed070e530 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:55 2015 +0900 drm/exynos: remove buf_cnt from struct exynos_drm_fb Looking other drm drivers, there is no the restriction that framebuffer has only one buffer in .create_handle() callback. They use just first buffer. If this limitation is removed, there is no reason keeping buffer count for framebuffer, so we can remove buf_cnt from struct exynos_drm_fb. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit faec262b14f3d92601c06b5c73b45ea71d0d164b Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:54 2015 +0900 drm/exynos: remove exynos_drm_fb_get_buf_cnt() We can get buffer count of framebuffer using drm_format_num_planes(), so keeping exynos_drm_fb_get_buf_cnt() is unnecessary. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8d31758ecfe156fa4775017858613a5087eb57bf Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:53 2015 +0900 drm/exynos: cleanup exynos_user_fb_create() Using exynos_drm_framebuffer_init(), redundant codes can be removed. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d56125afcbdfde09bcb05d3e07e1d063989b5f74 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:52 2015 +0900 drm/exynos: update exynos_drm_framebuffer_init() for multiple buffers This modifies exynos_drm_framebuffer_init() to be possible to support multiple buffers. Then it can be used by exynos_user_fb_create(). Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit dcbb85a1641771547d83ee3a43230ea76703ed68 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:51 2015 +0900 drm/exynos: cleanup to get gem object for fb Current codes get first gem object and then again get remain gem objects. They can be unified to one routine. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit ee885ca5c0a34d5212eae9293ee8359e65c73715 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:50 2015 +0900 drm/exynos: update fb_info via only one function This patch moves codes to update fb_info into exynos_drm_fbdev_update(), so fb_info is updated via only one function. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d76199609823ef0c5ab20ccdc8785df283241fd1 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:49 2015 +0900 drm/exynos: cleanup exynos_drm_fbdev_update() It can get exynos_gem object via function argument, so no need to call exynos_drm_fb_gem_obj() in exynos_drm_fbdev_update. It also can get struct drm_framebuffer *fb via helper->fb, so can remove a function argument for it. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 39a839f2e65185bcde80f99b5ee5ccd649ba07a2 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:48 2015 +0900 drm/exynos: s/exynos_gem_obj/obj in exynos_drm_fbdev.c The variable name "exynos_gem_obj" is too long, so some lines exceed 80 characters. It's simple to use "obj" instead of "exynos_gem_obj". Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 94e30d93f9360051b76e8e2a4b61753cde5e16c8 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Sep 1 16:22:47 2015 +0900 drm/exynos: remove exynos_drm_fb_set_buf_cnt() The exynos_drm_fb_set_buf_cnt() is used to set buffer count only in exynos_drm_fbdev_update(). This patch sets directly buffer count in exynos_drm_framebuffer_init() without using exynos_drm_fb_set_buf_cnt(), so there is no any reason to keep exynos_drm_fb_set_buf_cnt(). Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7de5c36c2aa9fc7ae1443d144f895ffd044c6b36 Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 00:51:23 2015 +0200 drm/exynos: remove superfluous checks in g2d_check_reg_offset() The cases of the switch statement ensure that reg_type can never be REG_TYPE_NONE here. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 179239a7ae805f7695167c62a97eac3efe52d7af Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 00:51:24 2015 +0200 drm/exynos: fix size check in g2d_check_buf_desc_is_valid() The size check was incomplete. It only computed the size of area of the drawing rectangle and checked if the size still fit inside the buffer. The correct check is to compute the position of the last byte that the G2D engine is going to access and then check if that position is still contained in the buffer. In particular we need the stride information to determine this. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a457974f1b9524a6e7d0a0be10df760e7802d32f Author: Andrew Elble <aweits@xxxxxxx> Date: Mon Aug 31 12:06:41 2015 -0400 nfsd: deal with DELEGRETURN racing with CB_RECALL We have observed the server sending recalls for delegation stateids that have already been successfully returned. Change nfsd4_cb_recall_done() to return success if the client has returned the delegation. While this does not completely eliminate the sending of recalls for delegations that have already been returned, this does prevent unnecessarily declaring the callback path to be down. Reported-by: Eric Meddaugh <etmsys@xxxxxxx> Signed-off-by: Andrew Elble <aweits@xxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4e3d1e26c2b2c40ebff69f2825fa862bfcf082d1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:12 2015 +0300 drm/i915: Pass hpd_status_i915[] to intel_get_hpd_pins() in pre-g4x Pass the correct hpd[] array to intel_get_hpd_pins() on pre-g4x platforms. This got broken in the following commit: commit fd63e2a972c670887e5e8a08440111d3812c0996 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Jul 21 15:32:44 2015 -0700 drm/i915: combine i9xx_get_hpd_pins and pch_get_hpd_pins Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Egbert Eich <eich@xxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 16f7249ddf831f5ec0e1358222ce5db300446b84 Author: Artem Savkov <asavkov@xxxxxxxxxx> Date: Wed Sep 2 13:41:18 2015 +0200 uapi/drm/i915_drm.h: fix userspace compilation. commit 346add7834557b5b9628b9bf2387106d42e631d4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 14 18:07:30 2015 +0200 drm/i915: Use expcitly fixed type in compat32 structs changed the type of param field in drm_i915_getparam from int to s32. This header is exported to userspace and needs to use userspace type __s32 instead. This fixes userspace compilation errors like the following: include/drm/i915_drm.h:361:2: error: unknown type name 's32' s32 param; Signed-off-by: Artem Savkov <asavkov@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 51bc140431e233284660b1d22c47dec9ecdb521e Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:10:39 2015 +0100 drm/i915: Always mark the object as dirty when used by the GPU There have been many hard to track down bugs whereby userspace forgot to flag a write buffer and then cause graphics corruption or a hung GPU when that buffer was later purged under memory pressure (as the buffer appeared clean, its pages would have been evicted rather than preserved and any changes more recent than in the backing storage would be lost). In retrospect this is a rare optimisation against memory pressure, already the slow path. If we always mark the buffer as dirty when accessed by the GPU, anything not used can still be evicted cheaply (ideal behaviour for mark-and-sweep eviction) but we do not run the risk of corruption. For correct read serialisation, userspace still has to notify when the GPU writes to an object. However, there are certain situations under which userspace may wish to tell white lies to the kernel... Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Kristian Høgsberg <krh@xxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: "Goel, Akash" <akash.goel@xxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f36203be608a38a5b5523a7aa52cc72f757b9679 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 26 22:55:07 2015 +0300 drm/dp: Add dp_aux_i2c_speed_khz module param to set the assume i2c bus speed To help with debugging i2c-over-aux issues, add a module parameter than can be used to tweak the assumed i2c bus speed, and thus the maximum number of retries we will do for each aux message. Cc: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Cc: moosotc@xxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 4efa83c8c786ab7ec7982e3dd348cb7e7ecbeb04 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 1 20:12:54 2015 +0300 drm/dp: Adjust i2c-over-aux retry count based on message size and i2c bus speed Calculate the number of retries we should do for each i2c-over-aux message based on the time it takes to perform the i2c transfer vs. the aux transfer. We assume the shortest possible length for the aux transfer, and the longest possible (exluding clock stretching) for the i2c transfer. The DP spec has some examples on how to calculate this, but we don't calculate things quite the same way. The spec doesn't account for the retry interval (assumes immediate retry on defer), and doesn't assume the best/worst case behaviour as we do. Note that currently we assume 10 kHz speed for the i2c bus. Some real world devices (eg. some Apple DP->VGA dongle) fails with less than 16 retries. and that would correspond to something close to 15 kHz (with our method of calculating things) But let's just go for 10 kHz to be on the safe side. Ideally we should query/set the i2c bus speed via DPCD but for now this should at leaast remove the regression from the 1->16 byte trasnfer size change. And of course if the sink completes the transfer quicker this shouldn't slow things down since we don't change the interval between retries. I did a few experiments with a DP->DVI dongle I have that allows you to change the i2c bus speed. Here are the results of me changing the actual bus speed and the assumed bus speed and seeing when we start to fail the operation: actual i2c khz assumed i2c khz max retries 1 1 ok -> 2 fail 211 ok -> 106 fail 5 8 ok -> 9 fail 27 ok -> 24 fail 10 17 ok -> 18 fail 13 ok -> 12 fail 100 210 ok -> 211 fail 2 ok -> 1 fail So based on that we have a fairly decent safety margin baked into the formula to calculate the max number of retries. Fixes a regression with some DP dongles from: commit 1d002fa720738bcd0bddb9178e9ea0773288e1dd Author: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Date: Tue Feb 10 18:38:08 2015 +0000 drm/dp: Use large transactions for I2C over AUX v2: Use best case for AUX and worst case for i2c (Simon Farnsworth) Add a define our AUX retry interval and account for it v3: Make everything usecs to avoid confusion about units (Daniel) Add a comment reminding people about the AUX bitrate (Daniel) Use DIV_ROUND_UP() since we're after the "worst" case for i2c Cc: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Cc: moosotc@xxxxxxxxx Tested-by: moosotc@xxxxxxxxx Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91451 Reviewed-by: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 79a2b161c12a1b751f53a7698494cb722530bca5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 26 22:55:05 2015 +0300 drm/dp: Define AUX_RETRY_INTERVAL as 500 us Currently we react to native and i2c defers by waiting either 400-500 us or 500-600 us, depending on which code path we take. Consolidate them all to one define AUX_RETRY_INTERVAL which defines the minimum interval. Since we've been using two different intervals pick the longer of them and define AUX_RETRY_INTERVAL as 500 us. For the maximum just use AUX_RETRY_INTERVAL+100 us. I want to have a define for this so that I can use it when calculating the estimated duration of i2c-over-aux transfers. Without a define it would be very easy to change the sleep duration and neglect to update the i2c-over-aux estimates. Cc: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Cc: moosotc@xxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Simon Farnsworth <simon.farnsworth@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 57817e619a215588739f3f644986c78b586b541b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:31:54 2015 +0200 video: fbdev: atmel_lcdfb: remove useless include Definitions from linux/platform_data/atmel.h are not used, remove the include. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 6869de380e8c11c31b608bb2502dcacd634eda13 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 2 12:24:55 2015 +0200 ALSA: hda - Fix missing inline for dummy snd_hdac_set_codec_wakeup() This seems overlooked. Fixes: 98d8fc6c5d36 ('ALSA: hda - Move hda_i915.c from sound/pci/hda to sound/hda') Cc: <stable@xxxxxxxxxxxxxxx> # v4.2+ Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 25adc137c546ce297b4d76820913dda11cad3891 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Aug 19 10:48:58 2015 +0200 ALSA: hda - Wake the codec up on pin/ELD notify events Whenever there is an event from the i915 driver, wake the codec and recheck plug/unplug + ELD status. This fixes the issue with lost unsol events in power save mode, the codec and controller can now sleep in D3 and still know when the HDMI monitor has been connected. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 45c053df5bdc4843cf19b920db6ab819ddc27ff7 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Aug 19 10:48:57 2015 +0200 ALSA: hda - allow codecs to access the i915 pin/ELD callback This lets the interested codec be notified when an i915 pin/ELD event happens. [tiwai: Fixed a trivial build error for CONFIG_SND_HDA_I915=n] Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 51e1d83cab9988716ae68801a721f4df0aaa374b Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Aug 19 10:48:56 2015 +0200 drm/i915: Call audio pin/ELD notify function When the audio codec is enabled or disabled, notify the audio driver. This will enable the audio driver to get the notification at all times (even when audio is in different powersave states). Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2a8ceedf787167e6b1670b89d44e8dffca14d19c Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Aug 19 10:48:55 2015 +0200 drm/i915: Add audio pin sense / ELD callback This callback will be called by the i915 driver to notify the hda driver that its HDMI information needs to be refreshed, i e, that audio output is now available (or unavailable) - usually as a result of a monitor being plugged in (or unplugged). Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5b923564ccf43f92969c9e0fd199c8c5db657039 Merge: 5320266 af4aead Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 2 09:22:53 2015 +0200 Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/urgent fixes from Arnaldo Carvalho de Melo: - Fix link time error with sample_reg_masks on non-x86. (Stephane Eranian) - Fix potential array out of bounds access. (Wang Nan) - Fix Intel PT instruction decoder dependency problem. (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 20a17bf6c04e3eca8824c930ecc55ab832558e3b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 1 21:19:17 2015 -0700 flow_dissector: Use 'const' where possible. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de4c1f8ba302ccf4f2b3b17dc614b0a0b14d351a Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 18:11:04 2015 -0700 flow_dissector: Fix function argument ordering dependency Commit c6cc1ca7f4d70c ("flowi: Abstract out functions to get flow hash based on flowi") introduced a bug in __skb_set_sw_hash where we require a dependency on evaluating arguments in a function in order. There is no such ordering enforced in C, so this incorrect. This patch fixes that by splitting out the arguments. This bug was found via a compiler warning that keys may be uninitialized. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bd40543534578f20889d5e999a0f184fd7ea88f Merge: a17ace9 990a2d6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 1 20:17:17 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-09-01 This series contains updates to i40e, ixgbe and ixgbevf. Anjali fixes a bug in i40e where the port is not receiving multicast or VLAN tagged packets in promiscuous mode. Which can occur when a software bridge is created on top of the device. Don adds support in ixgbe that indicates the presence of management firmware. Added support for entering low power link up state on devices that support it when the device is closing or suspending. Updated the driver to report unknown bus speed and width since IOSF does not report a PCIe bus speed or width for X550 devices. Also added the new bus type for integrated I/O interface (IOSF). Cleaned up of redundant code in ixgbe. Mark adds support for UDP-encapsulation transmit checksum and for VXLAN receive offloads. Introduces a helper function to do the register access and processing to avoid needless PHY access on copper PHYs. Added support for reporting 2.5G link speed. Fixed warnings resulting from redundant initializations of the get_bus_info field. Maninder Singh updates the ixgbe driver to use kzalloc instead of kcalloc for allocation of one thing. Tom Barbette adds support for ethtool to change the rxfh indirection table and/or key using ethtool interface. Emil resolves an issue where users were not able to dynamically set number of queues for 82598 via ethtool -L. Alex Williamson removes bimodal SR-IOV disabling behavior since it is confusing to users and results in a state where the PF is broken for other uses unless the user sets sriov_numvfs to zero prior to unbinding the device. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae982073095a44f004d7ffb9f271077abef9dbcf Merge: f1a3c0b e625ccec Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 19:45:46 2015 -0700 Merge tag 'pm+acpi-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI updates from Rafael Wysocki: "From the number of commits perspective, the biggest items are ACPICA and cpufreq changes with the latter taking the lead (over 50 commits). On the cpufreq front, there are many cleanups and minor fixes in the core and governors, driver updates etc. We also have a new cpufreq driver for Mediatek MT8173 chips. ACPICA mostly updates its debug infrastructure and adds a number of fixes and cleanups for a good measure. The Operating Performance Points (OPP) framework is updated with new DT bindings and support for them among other things. We have a few updates of the generic power domains framework and a reorganization of the ACPI device enumeration code and bus type operations. And a lot of fixes and cleanups all over. Included is one branch from the MFD tree as it contains some PM-related driver core and ACPI PM changes a few other commits are based on. Specifics: - ACPICA update to upstream revision 20150818 including method tracing extensions to allow more in-depth AML debugging in the kernel and a number of assorted fixes and cleanups (Bob Moore, Lv Zheng, Markus Elfring). - ACPI sysfs code updates and a documentation update related to AML method tracing (Lv Zheng). - ACPI EC driver fix related to serialized evaluations of _Qxx methods and ACPI tools updates allowing the EC userspace tool to be built from the kernel source (Lv Zheng). - ACPI processor driver updates preparing it for future introduction of CPPC support and ACPI PCC mailbox driver updates (Ashwin Chaugule). - ACPI interrupts enumeration fix for a regression related to the handling of IRQ attribute conflicts between MADT and the ACPI namespace (Jiang Liu). - Fixes related to ACPI device PM (Mika Westerberg, Srinidhi Kasagar). - ACPI device registration code reorganization to separate the sysfs-related code and bus type operations from the rest (Rafael J Wysocki). - Assorted cleanups in the ACPI core (Jarkko Nikula, Mathias Krause, Andy Shevchenko, Rafael J Wysocki, Nicolas Iooss). - ACPI cpufreq driver and ia64 cpufreq driver fixes and cleanups (Pan Xinhui, Rafael J Wysocki). - cpufreq core cleanups on top of the previous changes allowing it to preseve its sysfs directories over system suspend/resume (Viresh Kumar, Rafael J Wysocki, Sebastian Andrzej Siewior). - cpufreq fixes and cleanups related to governors (Viresh Kumar). - cpufreq updates (core and the cpufreq-dt driver) related to the turbo/boost mode support (Viresh Kumar, Bartlomiej Zolnierkiewicz). - New DT bindings for Operating Performance Points (OPP), support for them in the OPP framework and in the cpufreq-dt driver plus related OPP framework fixes and cleanups (Viresh Kumar). - cpufreq powernv driver updates (Shilpasri G Bhat). - New cpufreq driver for Mediatek MT8173 (Pi-Cheng Chen). - Assorted cpufreq driver (speedstep-lib, sfi, integrator) cleanups and fixes (Abhilash Jindal, Andrzej Hajda, Cristian Ardelean). - intel_pstate driver updates including Skylake-S support, support for enabling HW P-states per CPU and an additional vendor bypass list entry (Kristen Carlson Accardi, Chen Yu, Ethan Zhao). - cpuidle core fixes related to the handling of coupled idle states (Xunlei Pang). - intel_idle driver updates including Skylake Client support and support for freeze-mode-specific idle states (Len Brown). - Driver core updates related to power management (Andy Shevchenko, Rafael J Wysocki). - Generic power domains framework fixes and cleanups (Jon Hunter, Geert Uytterhoeven, Rajendra Nayak, Ulf Hansson). - Device PM QoS framework update to allow the latency tolerance setting to be exposed to user space via sysfs (Mika Westerberg). - devfreq support for PPMUv2 in Exynos5433 and a fix for an incorrect exynos-ppmu DT binding (Chanwoo Choi, Javier Martinez Canillas). - System sleep support updates (Alan Stern, Len Brown, SungEun Kim). - rockchip-io AVS support updates (Heiko Stuebner). - PM core clocks support fixup (Colin Ian King). - Power capping RAPL driver update including support for Skylake H/S and Broadwell-H (Radivoje Jovanovic, Seiichi Ikarashi). - Generic device properties framework fixes related to the handling of static (driver-provided) property sets (Andy Shevchenko). - turbostat and cpupower updates (Len Brown, Shilpasri G Bhat, Shreyas B Prabhu)" * tag 'pm+acpi-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (180 commits) cpufreq: speedstep-lib: Use monotonic clock cpufreq: powernv: Increase the verbosity of OCC console messages cpufreq: sfi: use kmemdup rather than duplicating its implementation cpufreq: drop !cpufreq_driver check from cpufreq_parse_governor() cpufreq: rename cpufreq_real_policy as cpufreq_user_policy cpufreq: remove redundant 'policy' field from user_policy cpufreq: remove redundant 'governor' field from user_policy cpufreq: update user_policy.* on success cpufreq: use memcpy() to copy policy cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event cpufreq: mediatek: Add MT8173 cpufreq driver dt-bindings: mediatek: Add MT8173 CPU DVFS clock bindings PM / Domains: Fix typo in description of genpd_dev_pm_detach() PM / Domains: Remove unusable governor dummies PM / Domains: Make pm_genpd_init() available to modules PM / domains: Align column headers and data in pm_genpd_summary output powercap / RAPL: disable the 2nd power limit properly tools: cpupower: Fix error when running cpupower monitor PM / OPP: Drop unlikely before IS_ERR(_OR_NULL) PM / OPP: Fix static checker warning (broken 64bit big endian systems) ... commit f1a3c0b933e7ff856223d6fcd7456d403e54e4e5 Merge: 089b669 c8fb70a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 19:37:56 2015 -0700 Merge tag 'devicetree-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree updates from Rob Herring: - added Frank Rowand as DT maintainer in preparation for Grant's retirement. - generic MSI binding documentation and a few other minor doc updates - fix long standing issue with DT platorm device unregistration - fix loop forever bug in of_find_matching_node_by_address() * tag 'devicetree-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: MAINTAINERS: Add Frank Rowand as DT maintainer mtd: nand: pxa3xx: add optional dma for pxa architecture Documentation: DT: cpsw: document missing compatible Docs: dt: add generic MSI bindings drivercore: Fix unregistration path of platform devices of/address: Don't loop forever in of_find_matching_node_by_address(). of: Add vendor prefix for JEDEC Solid State Technology Association of/platform: add function to populate default bus of: Add vendor prefix for Sharp Corporation commit 5a924a07f882e866f2337bf65048be357956691a Merge: 64291f7 934c93b d0a1262 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Wed Sep 2 10:08:02 2015 +0800 Merge branches 'thermal-core' and 'thermal-intel' of .git into next commit 089b669506ef28fae2c24a0ec21e06c02a38556b Merge: 45c680b e5f6450 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 18:46:42 2015 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull trivial tree updates from Jiri Kosina: "The usual stuff from trivial tree for 4.3 (kerneldoc updates, printk() fixes, Documentation and MAINTAINERS updates)" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits) MAINTAINERS: update my e-mail address mod_devicetable: add space before */ scsi: a100u2w: trivial typo in printk i2c: Fix typo in i2c-bfin-twi.c treewide: fix typos in comment blocks Doc: fix trivial typo in SubmittingPatches proportions: Spelling s/consitent/consistent/ dm: Spelling s/consitent/consistent/ aic7xxx: Fix typo in error message pcmcia: Fix typo in locking documentation scsi/arcmsr: Fix typos in error log drm/nouveau/gr: Fix typo in nv10.c [SCSI] Fix printk typos in drivers/scsi staging: comedi: Grammar s/Enable support a/Enable support for a/ Btrfs: Spelling s/consitent/consistent/ README: GTK+ is a acronym ASoC: omap: Fix typo in config option description mm: tlb.c: Fix error message ntfs: super.c: Fix error log fix typo in Documentation/SubmittingPatches ... commit 45c680b9949ecdb829a331100ae49926bf82899c Merge: 851328f 225f58f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 18:44:28 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching Pull livepatching fix from Jiri Kosina: "Livepatching error handling fix" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching: livepatch: Improve error handling in klp_disable_func() commit 851328feb8c1d4130d3a0acb004e474168702d6d Merge: 2d678b6 f212bd9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 18:39:09 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid Pull HID updates from Jiri Kosina: "to receive patches queued for 4.3 merge window in HID tree. Highlights: - a lot of improvements (regarding supported features and devices) to Wacom driver, from Aaron Skomra and Jason Gerecke - a lot of functional fixes and support for large I2C transfer to cp2112 driver, from Ellen Wang - HW support improvements to RMI driver, from Andrew Duggan - quite some small fixes and device ID additions all over the place" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (44 commits) HID: wacom: wacom_setup_numbered_buttons is local to wacom_wac HID: wacom: Add support for Express Key Remote. HID: wacom: Set button bits based on a new numbered_buttons HID: quirks: add QUIRK_NOGET for an other TPV touchscreen HID: usbhid: Fix the check for HID_RESET_PENDING in hid_io_error HID: i2c-hid: Only disable irq wake if it was successfully enabled during suspend HID: wacom: Use tablet-provided touch height/width values for INTUOSHT HID: gembird: add new driver to fix Gembird JPD-DualForce 2 HID: lenovo: Hide middle-button press until release HID: lenovo: Add missing return-value check HID: lenovo: Use constants for axes names HID: wacom: Simplify 'wacom_pl_irq' HID: wacom: Do not repeatedly attempt to set device mode on error HID: wacom: Do not repeatedly attempt to set device mode on error HID: wacom: Remove WACOM_QUIRK_NO_INPUT HID: wacom: Replace WACOM_QUIRK_MONITOR with WACOM_DEVICETYPE_WL_MONITOR HID: wacom: Use calculated pkglen for wireless touch interface HID: sony: Fix DS4 controller reporting rate issues HID: chicony: Add support for Acer Aspire Switch 12 HID: hid-lg: Add USBID for Logitech G29 Wheel ... commit 2d678b68e842e5b6fc46fc6914f7b7144bb2c23d Merge: 73b6fa8 99e1dfb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 18:34:22 2015 -0700 Merge tag 'edac_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp Pull EDAC fixes from Borislav Petkov: "Two minor fixlets this time: AMD MCE decoding correction and xgene_edac cleanup" * tag 'edac_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: EDAC, mce_amd: Don't emit 'CE' for Deferred error EDAC, xgene: Drop owner assignment from platform_driver commit 990a2d6ed543bd18b864b8a11f7be3368c67ccea Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Wed Jul 29 16:00:38 2015 -0700 ixgbe: Resolve "initialized field overwritten" warnings Resolve warnings resulting from redundant initialization of the get_bus_info field in the mac_ops_X550* structures. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7837e2867f56ec4435e75af54236732885303694 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Jul 10 15:31:34 2015 -0600 ixgbe: Remove bimodal SR-IOV disabling When unbinding an SR-IOV device with VFs configured from ixgbe, the driver behaves in one of two ways. If max_vfs was specified, the SR-IOV state is disabled, removing the VFs. The occurs regardless of whether the VF count was later modified through sysfs. If however max_vfs is zero, such as by not specifying the module parameter, the VFs persist after the PF is unbound from ixgbe. If the PF is then bound to vfio-pci to be assigned to a VM, the PF is non-functional. >From the comment, commit da36b64736cf ("ixgbe: Implement PCI SR-IOV sysfs callback operation") clearly intended this alternate behavior, but probably didn't realize the PF doesn't work in this mode. This bimodal behavior is confusing to users and results in a state where the PF is broken for other uses unless the user sets sriov_numvfs to zero prior to unbinding the device. Remove this behavior so that VFs are removed and the PF is functional for other uses after unbind, regardless of the way VFs are enabled. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 454adb008d78e4ecdfec3f2e5e9eb08ee5a60f1a Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Fri Jul 10 14:19:22 2015 -0700 ixgbe: Add support for reporting 2.5G link speed Now that we can do 2.5G link speed, we need to be able to report it. Also change the nested triadic involved in creating the log message to instead use a simpler switch statement to set a string pointer. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7e3f5c8881ba45eba1c74344b00558920008e6e6 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Thu Jul 9 12:28:59 2015 -0700 ixgbe: fix bounds checking in ixgbe_setup_tc for 82598 This patch resolves an issue where users were not able to dynamically set number of queues for 82598 via ethtool -L Reported-by: Tal Abudi <talabudi@xxxxxxxxx> Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1c7cf0784e4d448ed8a07c5fc1e3aac1528272f1 Author: Tom Barbette <tom.barbette@xxxxxxxxx> Date: Fri Jun 26 15:40:18 2015 +0200 ixgbe: support for ethtool set_rxfh Allows to change the rxfh indirection table and/or key using ethtool interface. Signed-off-by: Tom Barbette <tom.barbette@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ae8140aa6bf5c7aafc0d9c2f612c5b59bea1ce9f Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Jun 25 17:49:57 2015 -0700 ixgbe: Avoid needless PHY access on copper phys Avoid a needless PHY access on copper phys to save the 10ms wait time for each PHY access. A helper function is introduced to actually do the register access and process the contents. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 897b9349f056d1c1cf5141ded4ec26766d845f8b Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Fri Jun 19 19:14:57 2015 -0400 ixgbe: cleanup to use cached mask value We already cache this FW/SW semaphore mask so might as well use it for consistency. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d5702dea43fc517c389f2d9825213dabbfdaed5e Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Fri Jun 19 12:23:36 2015 -0400 ixgbe: Remove second instance of lan_id variable This patch removes the redundant lan_id in the phy struct and uses the bus version. Both variables exist and intend to represent the STATUS register LAN_ID field. However, phy.lan_id is not bit shifted so the phy.lan_id = 0x0 for LAN Id 0 and phy.lan_id = 0x4 for LAN Id 1. Where bus.lan_id is bit shifted so bus.lan_id = 0x0 for LAN Id 0 and bus.lan_id = 0x1 for LAN Id 1. There seems no need for the additional lan_id variable and this should make the code less confusing. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bc52f951e344b2ec64388c71890d88c5fc154a41 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Fri Jun 19 09:37:55 2015 +0530 ixgbe: use kzalloc for allocating one thing Use kzalloc rather than kcalloc(1.. The semantic patch that makes this change is as follows: // <smpl> @@ @@ - kcalloc(1, + kzalloc( ...) // </smpl> and removing checkpatch below CHECK: CHECK: Prefer kzalloc(sizeof(*fwd_adapter)...) over kzalloc(sizeof(struct ixgbe_fwd_adapter)...) Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reviewed-by: Vaneet Narang <v.narang@xxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a17ace95b0f08ccbcf24946db5673c4b5ee8fcae Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 1 17:00:24 2015 -0700 flow: Move __get_hash_from_flowi{4,6} into flow_dissector.c These cannot live in net/core/flow.c which only builds when XFRM is enabled. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa888b891384ccbf18e70af2e02f5173e55e5e7f Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Thu Jun 18 16:31:42 2015 -0400 ixgbe: Remove unused PCI bus types The ixgbe never has as very doubtfully ever will support either PCI or PCI-X devices. So remove the unused types from the ixgbe_bus_type. Thanks to Alex Duyck for suggesting this. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f9328bc6a7edc0fbaea836007b4261ca6233d96f Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Thu Jun 18 13:24:06 2015 -0400 ixgbe: add new bus type for intergrated I/O interface (IOSF) With this patch we add support for a new bus type ixgbe_bus_type_internal. X550em devices use IOSF and not PCIe bus so this new type is to accommodate them. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 454c65dd1a1e7fdaa5bbd3a34e14ab5560fbfad7 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 17 20:59:59 2015 -0400 ixgbe: add get_bus_info method for X550 Added ixgbe_get_bus_info_X550em to X550 code. ixgbe_get_bus_info_X550em sets bus.width to ixgbe_bus_width_unknown and bus.speed to ixgbe_bus_speed_unknown, because IOSF does not report a PCIe bus width or speed. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6ac7439459606a57265800e60b14d58365ab19eb Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 17 17:34:31 2015 -0400 ixgbe: Add support for entering low power link up state When the device is closing or suspending, call ixgbe_enter_lplu to enter low power link up state on devices that support it. When this is done, prevent the phy from being reset in the ixgbe_down path so that link is present when calling ixgbe_enter_lplu. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 67359c3c9fc8e9fbed991bbe0cfeda55c7e0a64c Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Jun 15 11:33:25 2015 -0700 ixgbe: Add support for VXLAN RX offloads Add support for VXLAN RX offloads for the X55x devices that support them. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f467bc06022d4d37de459f9498ff4fbc7e9b0fca Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Jun 15 11:33:20 2015 -0700 ixgbe: Add support for UDP-encapsulated tx checksum offload By using GSO for UDP-encapsulated packets, all ixgbe devices can be directed to generate checksums for the inner headers because the outer UDP checksum can be zero. So point the machinery at the inner headers and have the hardware generate the checksum. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4b36993d3df0834eff3b4172962de0343a4d9123 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 1 16:46:08 2015 -0700 flow_dissector: Don't use bit fields. Just have a flags member instead. In file included from include/linux/linkage.h:4:0, from include/linux/kernel.h:6, from net/core/flow_dissector.c:1: In function 'flow_keys_hash_start', inlined from 'flow_hash_from_keys' at net/core/flow_dissector.c:553:34: >> include/linux/compiler.h:447:38: error: call to '__compiletime_assert_459' declared with attribute error: BUILD_BUG_ON failed: FLOW_KEYS_HASH_OFFSET % sizeof(u32) Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d490d15877b2e6fc2d800ea232a0eca54cf4592c Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Jun 11 11:02:20 2015 -0700 ixgbe: Check whether FDIRCMD writes actually complete Wait up to about 100 us for FDIRCMD writes to complete and return failure indications. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b5529ef5be1f0a0089988ec51541aa9573e94476 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 10 20:42:30 2015 -0400 ixgbe: Assign set_phy_power dynamically where needed There are various reasons why this method may or may not need to be defined and some of these we don't know until runtime. So we will set the value in get_invariants. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bd8069ace513dd2741bc7177eeebc9a392451db1 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 10 20:05:02 2015 -0400 ixgbe: add new function to check for management presence This patch adds a support function that will indicate for the existence of management FW. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 92faef85613d6d56803ad6130f6daf4a803deddc Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Jul 28 13:02:00 2015 -0400 i40e: Set defport behavior for the Main VSI when in promiscuous mode This fixes bugs where the port is not receiving multicast or VLAN tagged packets when in promiscuous mode. This can occur when a SW bridge is created on top of the device. This also fixes issues where the promiscuous behavior setting was not being preserved across a reset caused by features being enabled or disabled. We are using defport instead of doing a true promiscuous mode because we do not need to receive the SRIOV or VMDq VSI directed traffic which would suck up bandwidth and is really not intended for the SW bridge. In addition, with defport we get VLAN promiscuous behavior which is not possible from the VSI level promiscuous setting. Change-ID: Ie21985eac32d5af1c02e9d71c6430a90d5bab40f Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 73b6fa8e49c2d13e04d20186261e5f7855c6d0bf Merge: e713c80 4b75de86 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 16:13:25 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace Pull user namespace updates from Eric Biederman: "This finishes up the changes to ensure proc and sysfs do not start implementing executable files, as the there are application today that are only secure because such files do not exist. It akso fixes a long standing misfeature of /proc/<pid>/mountinfo that did not show the proper source for files bind mounted from /proc/<pid>/ns/*. It also straightens out the handling of clone flags related to user namespaces, fixing an unnecessary failure of unshare(CLONE_NEWUSER) when files such as /proc/<pid>/environ are read while <pid> is calling unshare. This winds up fixing a minor bug in unshare flag handling that dates back to the first version of unshare in the kernel. Finally, this fixes a minor regression caused by the introduction of sysfs_create_mount_point, which broke someone's in house application, by restoring the size of /sys/fs/cgroup to 0 bytes. Apparently that application uses the directory size to determine if a tmpfs is mounted on /sys/fs/cgroup. The bind mount escape fixes are present in Al Viros for-next branch. and I expect them to come from there. The bind mount escape is the last of the user namespace related security bugs that I am aware of" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: fs: Set the size of empty dirs to 0. userns,pidns: Force thread group sharing, not signal handler sharing. unshare: Unsharing a thread does not require unsharing a vm nsfs: Add a show_path method to fix mountinfo mnt: fs_fully_visible enforce noexec and nosuid if !SB_I_NOEXEC vfs: Commit to never having exectuables on proc and sysfs. commit e713c80a4e49d4bed5324d24755e42bf01c87556 Merge: 43af987 c8b5db7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 15:42:28 2015 -0700 Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 clockevent update from Thomas Gleixner: "A single commit, which converts HPET clockevents driver to the new callbacks" * 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/hpet: Migrate to new set_state interface commit 43af9872f52abfed5523b8346d98a5e283b38163 Merge: 17e6b00 a47d457 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 15:20:51 2015 -0700 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 apic updates from Thomas Gleixner: "This udpate contains: - rework the irq vector array to store a pointer to the irq descriptor instead of the irq number to avoid a lookup of the irq descriptor in the irq entry path - lguest interrupt handling cleanups - conversion of the local apic timer to the new clockevent callbacks - preparatory changes for the irq argument removal of interrupt flow handlers" * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/irq: Do not dereference irq descriptor before checking it tools/lguest: Clean up include dir tools/lguest: Fix redefinition of struct virtio_pci_cfg_cap x86/irq: Store irq descriptor in vector array genirq: Provide irq_desc_has_action x86/irq: Get rid of an indentation level x86/irq: Rename VECTOR_UNDEFINED to VECTOR_UNUSED x86/irq: Replace numeric constant x86/irq: Protect smp_cleanup_move x86/lguest: Do not setup unused irq vectors x86/lguest: Clean up lguest_setup_irq x86/apic: Drop local_irq_save/restore in timer callbacks x86/apic: Migrate apic timer to new set_state interface x86/irq: Use access helper irq_data_get_affinity_mask() x86/irq: Use accessor irq_data_get_irq_handler_data() x86/irq: Use accessor irq_data_get_node() commit 4a3e5779cf6c6d557682b499c2190ad04c80c6fd Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Aug 31 10:53:43 2015 +0800 nfs: Remove unneeded checking of the return value from scnprintf The return value from scnprintf always less than the buffer length. So, result >= len always false. This patch removes those checking. int vscnprintf(char *buf, size_t size, const char *fmt, va_list args) { int i; i = vsnprintf(buf, size, fmt, args); if (likely(i < size)) return i; if (size != 0) return size - 1; return 0; } Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4a70316caef7d158445e672e146eb9f1b8c1aeee Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Aug 31 10:53:33 2015 +0800 nfs: Fix truncated client owner id without proto type The length of "Linux NFSv4.0 " is 14, not 10. Without this patch, I get a truncated client owner id as, "Linux NFSv4.0 ::1/::1" With this patch, "Linux NFSv4.0 ::1/::1 tcp" Fixes: a319268891 ("nfs: make nfs4_init_nonuniform_client_string use a dynamically allocated buffer") Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 889d94d49a3cbcbc8c8d07208549fa614d33da76 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 1 00:58:24 2015 -0700 NFSv4.1/flexfiles: Mark layout for return if the mirrors are invalid If a read-write layout has an invalid mirror, then we should mark it as invalid, and return it. If a read-only layout has an invalid mirror, then mark it as invalid and check if there is still at least one valid mirror before we return it. Note: Also fix incorrect use of pnfs_generic_mark_devid_invalid(). We really want nfs4_mark_deviceid_unavailable(). Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 81d6dc8b3431d298abaef11d8bc64646fc691618 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 1 02:49:44 2015 -0700 NFSv4.1/flexfiles: RW layouts are valid only if all mirrors are valid Unlike read layouts, the writeable layout cannot fall back to using only one of the mirrors. It need to write to all of them. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 388ef16640cefd202daa723fba02e7c0266f8454 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 1 03:31:33 2015 -0700 NFSv4.1/flexfiles: Fix incorrect usage of pnfs_generic_mark_devid_invalid() Unlike the files layout, flexfiles does not test for the NFS_DEVICEID_INVALID flag. Instead it relies on NFS_DEVICEID_UNAVAILABLE. Fix is to replace with nfs4_mark_deviceid_unavailable(). Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 41ecc3d390266acc1aa911d2ec477928a5248f75 Merge: d3d11fe 6db61d7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 1 15:06:24 2015 -0700 Merge branch 'flow-dissector-features' Tom Herbert says: ==================== flow_dissector: Paramterize dissection and other features This patch set adds some new capabilities to flow_dissector: - Add flags to flow dissector functions to control dissection - Flag to stop dissection when L3 header is seen (don't dissect L4) - Flag to stop dissection when encapsulation is detected - Flag to parse first fragment of fragmented packet. This may provide L4 ports - Added new reporting in key_control - Packet is a fragment - Packet is a first fragment - Packet has encapsulation Also: - Make __skb_set_sw_hash a general function - Create functions to get a flow hash based on flowi4 or flowi6 structures without an reference to an skbuff - Ignore flow dissector return value from ___skb_get_hash. Just use whatever key fields are found to make a hash Tested: Ran 200 netperf TCP_RR instances for IPv6 and IPv4. Did not see any regression. Ran UDP_RR with 10000 byte request and response size for IPv4 and IPv6, no regression observed however I did see better performance with IPv6 flow labels due to use of flow labels for L4 hash. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6db61d79c1e1b2346e2142d6c950a8d2e8380b82 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:33 2015 -0700 flow_dissector: Ignore flow dissector return value from ___skb_get_hash In ___skb_get_hash ignore return value from skb_flow_dissect_flow_keys. A failure in that function likely means that there was a parse error, so we may as well use whatever fields were found before the error was hit. This is also good because it means we won't keep trying to derive the hash on subsequent calls to skb_get_hash for the same packet. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 823b96939578eae67b9d6c0e33a39d6a7b6401e7 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:32 2015 -0700 flow_dissector: Add control/reporting of encapsulation Add an input flag to flow dissector on rather dissection should stop when encapsulation is detected (IP/IP or GRE). Also, add a key_control flag that indicates encapsulation was encountered during the dissection. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 872b1abb1ed47a691f465fb3d285f6cf6bcd8663 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:31 2015 -0700 flow_dissector: Add flag to stop parsing when an IPv6 flow label is seen Add an input flag to flow dissector on rather dissection should be stopped when a flow label is encountered. Presumably, the flow label is derived from a sufficient hash of an inner transport packet so further dissection is not needed (that is ports are not included in the flow hash). Using the flow label instead of ports has the additional benefit that packet fragments should hash to same value as non-fragments for a flow (assuming that the same flow label is used). We set this flag by default in for skb_get_hash. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8306b688f1a6621b9efe3b0d827e26750528b12a Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:30 2015 -0700 flow_dissector: Add flag to stop parsing at L3 Add an input flag to flow dissector on rather dissection should be stopped when an L3 packet is encountered. This would be useful if a caller just wanted to get IP addresses of the outermost header (e.g. to do an L3 hash). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b840f28b908da0239c8c5d9c8cae362ad21cda97 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:29 2015 -0700 flow_dissector: Support IPv6 fragment header Parse NEXTHDR_FRAGMENT. When seen account for it in the fragment bits of key_control. Also, check if first fragment should be parsed. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 807e165dc44fd93f9d378f861f0540a158d7343a Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:28 2015 -0700 flow_dissector: Add control/reporting of fragmentation Add an input flag to flow dissector on rather dissection should be attempted on a first fragment. Also add key_control flags to indicate that a packet is a fragment or first fragment. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd79a2382aa5dcefa6e21a7c59bb1bb19e53b74d Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:27 2015 -0700 flow_dissector: Add flags argument to skb_flow_dissector functions The flags argument will allow control of the dissection process (for instance whether to parse beyond L3). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6e544b0a88b53114bfa5a57e21b7be7a8dfc9d0 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:26 2015 -0700 flow_dissector: Jump to exit code in __skb_flow_dissect Instead of returning immediately (on a parsing failure for instance) we jump to cleanup code. This always sets protocol values in key_control (even on a failure there is still valid information in the key_tags that was set before the problem was hit). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6cc1ca7f4d70cbb3ea3a5ca163c5dabaf155cdb Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:25 2015 -0700 flowi: Abstract out functions to get flow hash based on flowi Create __get_hash_from_flowi6 and __get_hash_from_flowi4 to get the flow keys and hash based on flowi structures. These are called by __skb_get_hash_flowi6 and __skb_get_hash_flowi4. Also, created get_hash_from_flowi6 and get_hash_from_flowi4 which can be called when just the hash value for a flowi is needed. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bcc83839ffdb063dd2b0370cd85c4f825761fc59 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:24 2015 -0700 skbuff: Make __skb_set_sw_hash a general function Move __skb_set_sw_hash to skbuff.h and add __skb_set_hash which is a common method (between __skb_set_sw_hash and skb_set_hash) to set the hash in an skbuff. Also, move skb_clear_hash to be closer to __skb_set_hash. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5276937ae6e654a811345f0716266f12e77bede Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Sep 1 09:24:23 2015 -0700 flow_dissector: Move skb related functions to skbuff.h Move the flow dissector functions that are specific to skbuffs into skbuff.h out of flow_dissector.h. This makes flow_dissector.h have no dependencies on skbuff.h. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3d11fe08ccc9bff174fc958722b5661f0932486 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Tue Sep 1 18:07:41 2015 +0200 tg3: Fix temperature reporting The temperature registers appear to report values in degrees Celsius while the hwmon API mandates values to be exposed in millidegrees Celsius. Do the conversion so that the values reported by "sensors" are correct. Fixes: aed93e0bf493 ("tg3: Add hwmon support for temperature") Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Cc: Michael Chan <mchan@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [v3.6+] Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6c6aedcbcbacd7b0cb4b64ed5ac835bc1c60a03 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Tue Sep 1 09:36:05 2015 -0400 phylib: fix device deletion order in mdiobus_unregister() commit 8b63ec1837fa ("phylib: Make PHYs children of their MDIO bus, not the bus' parent.") uncovered a problem in mdiobus_unregister() which leads to this warning when I reboot an APM Mustang (arm64) platform: WARNING: CPU: 7 PID: 4239 at fs/sysfs/group.c:224 sysfs_remove_group+0xa0/0xa4() sysfs group fffffe0000e07a10 not found for kobject 'xgene-mii-eth0:03' ... CPU: 7 PID: 4239 Comm: reboot Tainted: G E 4.2.0-0.18.el7.test15.aarch64 #1 Hardware name: AppliedMicro Mustang/Mustang, BIOS 1.1.0 Aug 26 2015 Call Trace: [<fffffe000009739c>] dump_backtrace+0x0/0x170 [<fffffe000009752c>] show_stack+0x20/0x2c [<fffffe00007436f0>] dump_stack+0x78/0x9c [<fffffe00000c2cb4>] warn_slowpath_common+0xa0/0xd8 [<fffffe00000c2d60>] warn_slowpath_fmt+0x74/0x88 [<fffffe0000293d3c>] sysfs_remove_group+0x9c/0xa4 [<fffffe00004a8bac>] dpm_sysfs_remove+0x5c/0x70 [<fffffe000049b388>] device_del+0x44/0x208 [<fffffe000049b578>] device_unregister+0x2c/0x7c [<fffffe000050dc68>] mdiobus_unregister+0x48/0x94 [<fffffe000052afd0>] xgene_enet_mdio_remove+0x28/0x44 [<fffffe000052d3f0>] xgene_enet_remove+0xd0/0xd8 [<fffffe000052d424>] xgene_enet_shutdown+0x2c/0x3c [<fffffe00004a204c>] platform_drv_shutdown+0x24/0x40 [<fffffe000049d4f4>] device_shutdown+0xf0/0x1b4 [<fffffe00000e31ec>] kernel_restart_prepare+0x40/0x4c [<fffffe00000e32f8>] kernel_restart+0x1c/0x80 [<fffffe00000e3670>] SyS_reboot+0x17c/0x250 The problem is that mdiobus_unregister() deletes the bus device before unregistering the phy devices on the bus. This wasn't a problem before because the phys were not children of the bus: /sys/devices/platform/APMC0D05:00/net/eth0/xgene-mii-eth0:03 /sys/devices/platform/APMC0D05:00/net/eth0/xgene-mii-eth0 But now that they are: /sys/devices/platform/APMC0D05:00/net/eth0/xgene-mii-eth0/xgene-mii-eth0:03 when mdiobus_unregister deletes the bus device, the phy subdirs are removed from sysfs also. So when the phys are unregistered afterward, we get the warning. This patch changes the order so that phys are unregistered before the bus device is deleted. Fixes: 8b63ec1837fa ("phylib: Make PHYs children of their MDIO bus, not the bus' parent.") Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 01a5ad827a36e36f45e1fdb96903ea115f759865 Author: Yunlei He <heyunlei@xxxxxxxxxx> Date: Mon Aug 31 17:15:10 2015 +0800 f2fs: upset segment_info repair upset segment_info like this: 276000|161 0|0 4|70 3|0 3|0 0|0 0|91 4|0 4|232 4|39 276104|0 4|0 4|1 4|0 4|0 4|280 4|0 4|42 4|262 4|38 276204|179 4|89 4|39 4|24 4|0 4|96 4|3 4|428 4|0 4|118 276304|112 4|97 4|0 4|0 4|0 4|68 4|0 4|0 4|86 4|138 276404|0 4|0 0|166 5|39 4|101 0|111 Signed-off-by: Yunlei He <heyunlei@xxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 17e6b00ac422b49d44a0b8d98402a211f726282d Merge: 5e359bf e324c4d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 14:33:35 2015 -0700 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq updates from Thomas Gleixner: "This updated pull request does not contain the last few GIC related patches which were reported to cause a regression. There is a fix available, but I let it breed for a couple of days first. The irq departement provides: - new infrastructure to support non PCI based MSI interrupts - a couple of new irq chip drivers - the usual pile of fixlets and updates to irq chip drivers - preparatory changes for removal of the irq argument from interrupt flow handlers - preparatory changes to remove IRQF_VALID" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (129 commits) irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources irqchip: Add bcm2836 interrupt controller for Raspberry Pi 2 irqchip: Add documentation for the bcm2836 interrupt controller irqchip/bcm2835: Add support for being used as a second level controller irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ PCI: xilinx: Fix typo in function name irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance irqchip/gic: Only allow the primary GIC to set the CPU map PCI/MSI: pci-xgene-msi: Consolidate chained IRQ handler install/remove unicore32/irq: Prepare puv3_gpio_handler for irq argument removal tile/pci_gx: Prepare trio_handle_level_irq for irq argument removal m68k/irq: Prepare irq handlers for irq argument removal C6X/megamode-pic: Prepare megamod_irq_cascade for irq argument removal blackfin: Prepare irq handlers for irq argument removal arc/irq: Prepare idu_cascade_isr for irq argument removal sparc/irq: Use access helper irq_data_get_affinity_mask() sparc/irq: Use helper irq_data_get_irq_handler_data() parisc/irq: Use access helper irq_data_get_affinity_mask() mn10300/irq: Use access helper irq_data_get_affinity_mask() irqchip/i8259: Prepare i8259_irq_dispatch for irq argument removal ... commit 9b8ff51822893e743eee09350c1928daa3ef503f Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 14:26:35 2015 -0600 net: Make table id type u32 A number of VRF patches used 'int' for table id. It should be u32 to be consistent with the rest of the stack. Fixes: 4e3c89920cd3a ("net: Introduce VRF related flags and helpers") 15be405eb2ea9 ("net: Add inet_addr lookup by table") 30bbaa1950055 ("net: Fix up inet_addr_type checks") 021dd3b8a142d ("net: Add routes to the table associated with the device") dc028da54ed35 ("inet: Move VRF table lookup to inlined function") f6d3c19274c74 ("net: FIB tracepoints") Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e359bf2219d8622eb0931701e45af55db323228 Merge: 8d01b66 85e1cd6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 14:04:50 2015 -0700 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer updates from Thomas Gleixner: "Rather large, but nothing exiting: - new range check for settimeofday() to prevent that boot time becomes negative. - fix for file time rounding - a few simplifications of the hrtimer code - fix for the proc/timerlist code so the output of clock realtime timers is accurate - more y2038 work - tree wide conversion of clockevent drivers to the new callbacks" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (88 commits) hrtimer: Handle failure of tick_init_highres() gracefully hrtimer: Unconfuse switch_hrtimer_base() a bit hrtimer: Simplify get_target_base() by returning current base hrtimer: Drop return code of hrtimer_switch_to_hres() time: Introduce timespec64_to_jiffies()/jiffies_to_timespec64() time: Introduce current_kernel_time64() time: Introduce struct itimerspec64 time: Add the common weak version of update_persistent_clock() time: Always make sure wall_to_monotonic isn't positive time: Fix nanosecond file time rounding in timespec_trunc() timer_list: Add the base offset so remaining nsecs are accurate for non monotonic timers cris/time: Migrate to new 'set-state' interface kernel: broadcast-hrtimer: Migrate to new 'set-state' interface xtensa/time: Migrate to new 'set-state' interface unicore/time: Migrate to new 'set-state' interface um/time: Migrate to new 'set-state' interface sparc/time: Migrate to new 'set-state' interface sh/localtimer: Migrate to new 'set-state' interface score/time: Migrate to new 'set-state' interface s390/time: Migrate to new 'set-state' interface ... commit 8d01b66b4f23a9fcf5c6787b27f0be5f8cbae98c Merge: 2faf962 341a670 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 13:29:48 2015 -0700 Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC 64-bit changes from Olof Johansson: "Here's our branch of ARM64 contents for this merge window. Most of this is DT contents for new SoCs (or those who have seen new device support added). Maybe we should stop separating out the arm64 contents here to avoid the kind of internal conflicts as we got this time around, where 32- and 64-bit contents conflicted. Anyhow, on the actual contents: New SoCs: - Broadcom North Star 2 (ns2) - Marvell Berlin4CT - Mediatek MT6795 - Rockchip RK3368 In addition, there are enhancements for the following platforms: - Mediatek MT8173: cpuidle-dt updates, misc other additions - ZyncMP: A bunch of devices added to the existing DTSI - Qualcomm MSM8916 and APQ8016 updates for USB, etc. + a handful of other updates for various platforms" * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (47 commits) ARM64: dts: vexpress: Use assigned-clock-parents for sp810 ARM64: dts: mt6795: enable basic SMP bringup for MT6795 arm64: Enable Marvell Berlin SoC family in defconfig arm64: Enable Marvell Berlin SoC family in Kconfig arm64: dts: Add dts files for Marvell Berlin4CT SoC ARM64: zynqmp: Move SPI nodes to the right location ARM64: zynqmp: Move uart and ttcs to the right location ARM64: zynqmp: Enable spi flashes on ep108 ARM64: zynqmp: Add eeprom memories on i2c bus ARM64: zynqmp: Enable sdhci on ep108 ARM64: zynqmp: Enable watchdog on ep108 ARM64: zynqmp: Add DWC3 usb support ARM64: zynqmp: Add SMMU support ARM64: zynqmp: Add CANs node for platform ARM64: zynqmp: Use zynqmp specific compatible string for gpio devicetree: xilinx: zynqmp: add sata node PCI: iproc: Fix BCMA dependency in Kconfig arm64: dts: Add Broadcom North Star 2 support arm64: Add Broadcom iProc family support PCI: iproc: Fix ARM64 dependency in Kconfig ... commit 2faf962d90ca4c5ee7ba026b7351b1f74500bcdf Merge: b3a5af4 ba5d183 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 13:17:43 2015 -0700 Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC defconfig updates from Olof Johansson: "We mostly keep defconfigs updates on a separate branch due to their tendency to conflict between platforms and this encourages more careful separation of code changes and config changes. Most updates here are minor tweaks, enabling new drivers for various platforms, and so on. Renesas also removed one defconfig (marzen_defconfig)" * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits) ARM: add TC2 PM support to multi_v7_defconfig ARM: tegra: Update multi_v7_defconfig ARM: tegra: Update default configuration ARM: at91/defconfig: at91_dt: remove ARM_AT91_ETHER ARM: at91/defconfig: at91_dt: enable DRM hlcdc support ARM: at91: at91_dt_defconfig: enable ISI and ov2640 support ARM: multi_v7_defconfig: Enable Allwinner P2WI, PWM, DMA_SUN6I, cryptodev ARM: sunxi_defconfig: Enable DMA_SUN6I, P2WI, PWM, cryptodev, EXTCON, FHANDLE ARM: shmobile: Enable fixed voltage regulator in shmobile_defconfig ARM: multi_v7_defconfig: Select MX6UL and MX7D ARM: prima2_defconfig: enable build for hwspinlock ARM: prima2_defconfig: enable build for RTC ARM: prima2_defconfig: enable build for misc input ARM: prima2_defconfig: enable build for SiRFSoC SDHC host ARM: prima2_defconfig: fix the outdated defconfig ARM: imx_v6_v7_defconfig: Select CONFIG_IKCONFIG_PROC ARM: defconfig: orion5x: add DT support ARM: qcom_defconfig: Enable options for KS8851 ethernet ARM: multi_v7_defconfig: Enable support for PWM Regulators ARM: multi_v7_defconfig: Enable ST's PWM driver ... commit b3a5af435ab4b860714b2f56c65fd506aa677e71 Merge: 1021781 4c80a00 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 13:09:20 2015 -0700 Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM DT updates from Olof Johansson: "Ladies and gentlemen, we proudly announce to you the latest branch of ARM device tree contents for the mainline kernel. Come and see, come and see! No less than twentythree thousand lines of additions! Just imagine the joy you will have of using your mainline kernel on newly supported hardware such as Rockchip Chromebooks, Freescale i.MX6UL boards or UniPhier hardware! For those of you feeling less adventurous, added hardware support on platforms such as TI DM814x and Gumstix Overo platforms might be more of your liking. We've got something for everyone here! Ahem. Cough. So, anyway... This is the usual large batch of DT updates. Lots and lots of smaller changes, some of the larger ones to point out are: - Rockchip veyron (Chromebook) support, as well as several other new boards - DRM support on Atmel AT91SAM9N12EK - USB additions on some Allwinner platforms - Mediatek MT6580 support - Freescale i.MX6UL support - cleanups for Renesas shmobile platforms - lots of added devices on LPC18xx - lots of added devices and boards on UniPhier There's also some dependent code added here, in particular some branches that are primarily merged through the clock tree" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (389 commits) ARM: tegra: Add gpio-ranges property ARM: tegra: Fix AHB base address on Tegra20, Tegra30 and Tegra114 ARM: tegra: Add Tegra124 PMU support ARM: tegra: jetson-tk1: Add GK20A GPU DT node ARM: tegra: venice2: Add GK20A GPU DT node ARM: tegra: Add IOMMU node to GK20A ARM: tegra: Add CPU regulator to the Jetson TK1 device tree ARM: tegra: Add entries for cpufreq on Tegra124 ARM: tegra: Enable the DFLL on the Jetson TK1 ARM: tegra: Add the DFLL to Tegra124 device tree ARM: dts: zynq: Add devicetree entry for Xilinx Zynq reset controller. ARM: dts: UniPhier: fix PPI interrupt CPU mask of timer nodes ARM: dts: rockchip: correct regulator power states for suspend ARM: dts: rockchip: correct regulator PM properties ARM: dts: vexpress: Use assigned-clock-parents for sp810 pinctrl: tegra: Only set the gpio range if needed arm: boot: dts: am4372: add ARM timers and SCU nodes ARM: dts: AM4372: Add the am4372-rtc compatible string ARM: shmobile: r8a7794 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7793 dtsi: Add CPG/MSTP Clock Domain ... commit 102178108e2246cb4b329d3fb7872cd3d7120205 Merge: 50686e8 21815b9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 13:00:04 2015 -0700 Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC driver updates from Olof Johansson: "Some releases this branch is nearly empty, others we have more stuff. It tends to gather drivers that need SoC modification or dependencies such that they have to (also) go in through our tree. For this release, we have merged in part of the reset controller tree (with handshake that the parts we have merged in will remain stable), as well as dependencies on a few clock branches. In general, new items here are: - Qualcomm driver for SMM/SMD, which is how they communicate with the coprocessors on (some) of their platforms - memory controller work for ARM's PL172 memory controller - reset drivers for various platforms - PMU power domain support for Marvell platforms - Tegra support for T132/T210 SoCs: PMC, fuse, memory controller per-SoC support" * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (49 commits) ARM: tegra: cpuidle: implement cpuidle_state.enter_freeze() ARM: tegra: Disable cpuidle if PSCI is available soc/tegra: pmc: Use existing pclk reference soc/tegra: pmc: Remove unnecessary return statement soc: tegra: Remove redundant $(CONFIG_ARCH_TEGRA) in Makefile memory: tegra: Add Tegra210 support memory: tegra: Add support for a variable-size client ID bitfield clk: shmobile: rz: Add CPG/MSTP Clock Domain support clk: shmobile: rcar-gen2: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7779: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7778: Add CPG/MSTP Clock Domain support clk: shmobile: Add CPG/MSTP Clock Domain support ARM: dove: create a proper PMU driver for power domains, PMU IRQs and resets reset: reset-zynq: Adding support for Xilinx Zynq reset controller. docs: dts: Added documentation for Xilinx Zynq Reset Controller bindings. MIPS: ath79: Add the reset controller to the AR9132 dtsi reset: Add a driver for the reset controller on the AR71XX/AR9XXX devicetree: Add bindings for the ATH79 reset controller reset: socfpga: Update reset-socfpga to read the altr,modrst-offset property doc: dt: add documentation for lpc1850-rgu reset driver ... commit 972398fa0a5f47c6ee0bde4d6d24b29f90ec888d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 1 12:03:56 2015 -0700 NFSv4.1/flexfiles: Fix freeing of mirrors Mirrors are now shared objects, so we should not be freeing them directly inside ff_layout_free_lseg(). We should already be doing the right thing in _ff_layout_free_lseg(), so just let it handle things. Also ensure that ff_layout_free_mirror() frees the RPC credential if it is set. Fixes: 28a0d72c6867 ("Add refcounting to struct nfs4_ff_layout_mirror") Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 50686e8a3aed2f5d295e9d2e79ff43df461c7b76 Merge: c5fc249 1ec6f70 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 12:18:40 2015 -0700 Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC platform updates from Olof Johansson: "New or improved SoC support: - add support for Atmel's SAMA5D2 SoC - add support for Freescale i.MX6UL - improved support for TI's DM814x platform - misc fixes and improvements for RockChip platforms - Marvell MVEBU suspend/resume support A few driver changes that ideally would belong in the drivers branch are also here (acked by appropriate maintainers): - power key input driver for Freescale platforms (svns) - RTC driver updates for Freescale platforms (svns/mxc) - clk fixes for TI DM814/816X + a bunch of other changes for various platforms" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits) ARM: rockchip: pm: Fix PTR_ERR() argument ARM: imx: mach-imx6ul: Fix allmodconfig build clk: ti: fix for definition movement ARM: uniphier: drop v7_invalidate_l1 call at secondary entry memory: kill off set_irq_flags usage rtc: snvs: select option REGMAP_MMIO ARM: brcmstb: select ARCH_DMA_ADDR_T_64BIT for LPAE ARM: BCM: Enable ARM erratum 798181 for BRCMSTB ARM: OMAP2+: Fix power domain operations regression caused by 81xx ARM: rockchip: enable PMU_GPIOINT_WAKEUP_EN when entering shallow suspend ARM: rockchip: set correct stabilization thresholds in suspend ARM: rockchip: rename osc_switch_to_32k variable ARM: imx6ul: add fec MAC refrence clock and phy fixup init ARM: imx6ul: add fec bits to GPR syscon definition rtc: mxc: add support of device tree dt-binding: document the binding for mxc rtc rtc: mxc: use a second rtc clock ARM: davinci: cp_intc: use IRQCHIP_SKIP_SET_WAKE instead of irq_set_wake callback soc: mediatek: Fix SCPSYS compilation ARM: at91/soc: add basic support for new sama5d2 SoC ... commit c5fc249862af862df027030188cc083e072ecd19 Merge: 00e3fcc 97a2482 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 12:10:20 2015 -0700 Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC cleanups from Olof Johansson: "A large cleanup branch this release, with a healthy 10k negative line delta. Most of this is removal of legacy (non-DT) support of shmobile platforms. There is also removal of two non-DT platforms on OMAP, and the plat-samsung directory is cleaned out by moving most of the previously shared-location-but-not-actually-shared files from there to the appropriate mach directories instead. There are other sets of changes in here as well: - Rob Herring removed use of set_irq_flags under all platforms and moved to genirq alternatives - a series of timer API conversions to set-state interface - ep93xx, nomadik and ux500 cleanups from Linus Walleij - __init annotation fixes from Nicolas Pitre + a bunch of other changes that all add up to a nice set of cleanups" * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (108 commits) ARM/fb: ep93xx: switch framebuffer to use modedb only ARM: gemini: Setup timer3 as free running timer ARM: gemini: Use timer1 for clockevent ARM: gemini: Add missing register definitions for gemini timer ARM: ep93xx/timer: Migrate to new 'set-state' interface ARM: nomadik: push accelerometer down to boards ARM: nomadik: move l2x0 setup to device tree ARM: nomadik: selectively enable UART0 on boards ARM: nomadik: move hog code to use DT hogs ARM: shmobile: Fix mismerges ARM: ux500: simplify secondary CPU boot ARM: SAMSUNG: remove keypad-core header in plat-samsung ARM: SAMSUNG: local watchdog-reset header in mach-s3c64xx ARM: SAMSUNG: local onenand-core header in mach-s3c64xx ARM: SAMSUNG: local irq-uart header in mach-s3c64xx ARM: SAMSUNG: local backlight header in mach-s3c64xx ARM: SAMSUNG: local ata-core header in mach-s3c64xx ARM: SAMSUNG: local regs-usb-hsotg-phy header in mach-s3c64xx ARM: SAMSUNG: local spi-core header in mach-s3c24xx ARM: SAMSUNG: local nand-core header in mach-s3c24xx ... commit 00e3fcc221f6fe6a890bf3e0e71c6b9944e58233 Merge: 28dce7c 330349f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 12:01:40 2015 -0700 Merge tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC non-urgent fixes from Olof Johansson: "We normally collect non-urgent fixes during the release cycle and queue them for the merge window. This time around the list is short (in part because some have gone in other branches). - Maintainers addition for bcm2835 - IRQ number fix for orion5x (been present since 3.18) - DT fix for display on exynos3250 - Exynos fix to use of IOMEM_ERR_PTR properly" * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: orion5x: fix legacy orion5x IRQ numbers MAINTAINERS: Explicitly add linux-arm-kernel for bcm2835 MAINTAINERS: Add myself as a bcm2835 co-maintainer. ARM: EXYNOS: Use IOMEM_ERR_PTR when function returns iomem ARM: dts: fix clock-frequency of display timing0 for exynos3250-rinato commit 28dce7c7703fd6ec922fa63b1187cf9f43d1d1c4 Merge: 361f7d1 3d59265 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 11:55:57 2015 -0700 Merge tag 'arc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc Pull ARC architecture updates from Vineet Gupta: "ARC updates for 4.3: - perf support for ARCv2 based cores (sampling interrupt, SMP) - leftovers for ARCv2 support - futex fixes" * tag 'arc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARCv2: entry: Fix reserved handler ARCv2: perf: Finally introduce HS perf unit ARCv2: perf: SMP support ARCv2: perf: implement exclusion of event counting in user or kernel mode ARCv2: perf: Support sampling events using overflow interrupts ARCv2: perf: implement "event_set_period" ARC: perf: cap the number of counters to hardware max of 32 ARC: Eliminate some ARCv2 specific code for ARCompact build ARC: add/fix some comments in code - no functional change ARC: change some branchs to jumps to resolve linkage errors ARC: ensure futex ops are atomic in !LLSC config ARC: Enable HAVE_FUTEX_CMPXCHG ARC: make futex_atomic_cmpxchg_inatomic() return bimodal ARC: futex cosmetics ARC: add barriers to futex code ARCv2: IOC: Allow boot time disable ARCv2: SLC: Allow boot time disable ARCv2: Support IO Coherency and permutations involving L1 and L2 caches ARC: Enable optimistic spinning for LLSC config MAINTAINERS: add git tree for the arc architecture commit f984a7ce58ea9a12eca7f960bdf68124c8589b60 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Sep 1 13:40:53 2015 -0400 nfsd: return CLID_INUSE for unexpected SETCLIENTID_CONFIRM case Somebody with a Solaris client was hitting this case. We haven't figured out why yet, and don't have a reproducer. Meanwhile Frank noticed that RFC 7530 actually recommends CLID_INUSE for this case. Unlikely to help the original reporter, but may as well fix it. Reported-by: Frank Filz <ffilzlnx@xxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 361f7d175734a8e21bcd0585eca9be195c12c5c5 Merge: 25525be e971aa2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 10:33:31 2015 -0700 Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 core platform updates from Ingo Molnar: "The main changes are: - Intel Atom platform updates. (Andy Shevchenko) - modularity fixlets. (Paul Gortmaker) - x86 platform clockevents driver updates for lguest, uv and Xen. (Viresh Kumar) - Microsoft Hyper-V TSC fixlet. (Vitaly Kuznetsov)" * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/platform: Make atom/pmc_atom.c explicitly non-modular x86/hyperv: Mark the Hyper-V TSC as unstable x86/xen/time: Migrate to new set-state interface x86/uv/time: Migrate to new set-state interface x86/lguest/timer: Migrate to new set-state interface x86/pci/intel_mid_pci: Use proper constants for irq polarity x86/pci/intel_mid_pci: Make intel_mid_pci_ops static x86/pci/intel_mid_pci: Propagate actual return code x86/pci/intel_mid_pci: Work around for IRQ0 assignment x86/platform/iosf_mbi: Add Intel Tangier PCI id x86/platform/iosf_mbi: Source cleanup x86/platform/iosf_mbi: Remove NULL pointer checks for pci_dev_put() x86/platform/iosf_mbi: Check return value of debugfs_create properly x86/platform/iosf_mbi: Move to dedicated folder x86/platform/intel/pmc_atom: Move the PMC-Atom code to arch/x86/platform/atom x86/platform/intel/pmc_atom: Add Cherrytrail PMC interface x86/platform/intel/pmc_atom: Supply register mappings via PMC object x86/platform/intel/pmc_atom: Print index of device in loop x86/platform/intel/pmc_atom: Export accessors to PMC registers commit 25525bea46e7d5bc1f82cbc12de2f27b9c346a92 Merge: 2962156 2baa891 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 10:07:40 2015 -0700 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 mm updates from Ingo Molnar: "The dominant change in this cycle was the continued work to isolate kernel drivers from MTRR legacies: this tree gets rid of all kernel internal driver interfaces to MTRRs (mostly by rewriting it to proper PAT interfaces), the only access left is the /proc/mtrr ABI. This work was done by Luis R Rodriguez. There's also some related PCI interface additions for which I've Cc:-ed Bjorn" * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits) x86/mm/mtrr: Remove kernel internal MTRR interfaces: unexport mtrr_add() and mtrr_del() s390/io: Add pci_iomap_wc() and pci_iomap_wc_range() drivers/dma/iop-adma: Use dma_alloc_writecombine() kernel-style drivers/video/fbdev/vt8623fb: Use arch_phys_wc_add() and pci_iomap_wc() drivers/video/fbdev/s3fb: Use arch_phys_wc_add() and pci_iomap_wc() drivers/video/fbdev/arkfb.c: Use arch_phys_wc_add() and pci_iomap_wc() PCI: Add pci_iomap_wc() variants drivers/video/fbdev/gxt4500: Use pci_ioremap_wc_bar() to map framebuffer drivers/video/fbdev/kyrofb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() drivers/video/fbdev/i740fb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() PCI: Add pci_ioremap_wc_bar() x86/mm: Make kernel/check.c explicitly non-modular x86/mm/pat: Make mm/pageattr[-test].c explicitly non-modular x86/mm/pat: Add comments to cachemode translation tables arch/*/io.h: Add ioremap_uc() to all architectures drivers/video/fbdev/atyfb: Use arch_phys_wc_add() and ioremap_wc() drivers/video/fbdev/atyfb: Replace MTRR UC hole with strong UC drivers/video/fbdev/atyfb: Clarify ioremap() base and length used drivers/video/fbdev/atyfb: Carve out framebuffer length fudging into a helper x86/mm, asm-generic: Add IOMMU ioremap_uc() variant default ... commit 2962156d5cc0e7f959353d3f5275da7cc3765f06 Merge: 6b2282a 9d87cd6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 10:05:44 2015 -0700 Merge branch 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 irq fixlet from Ingo Molnar: "A single change that hides the 'HYP:' line in /proc/interrupts when it's unused" * 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/irq: Hide 'HYP:' line in /proc/interrupts when not on Xen/Hyper-V commit 2ca495ac27d245513c11fed70591b1838250e240 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Tue Sep 1 10:46:44 2015 -0600 blk: Fix bio_io_vec index when checking bvec gaps Corrects a coding error from earlier patch. Reported by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Fixes: 03100aada96f ("block: Replace SG_GAPS with new queue limits mask") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4a6ac3044f1504fe4521efa7334095c9c9ceecfd Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Sep 1 10:08:53 2015 +0100 irqchip/GIC: Fix EOImode setting for non-DT/ACPI systems Non-DT/ACPI systems call directly into the GIC driver at init time. Turns out 0b996fd35957 ("irqchip/GIC: Convert to EOImode == 1") breaks old non firmware-driven platforms, as the driver only works out the capability of the platform on the DT/ACPI paths. Fix this thinko by forcing EOImode==0 on non-DT platforms, which are not capable of supporting a hypervisor anyway. Reported-and-tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441098533-31523-1-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7eba7d90d48217a97afc171a311b386bde965f39 Author: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Date: Mon Aug 31 17:11:56 2015 +0530 selftests/zram: Makefile fix Do not override run_tests, The default rule will just run TEST_PROGS Signed-off-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 2dfb28e3410d775a687d429f5cadf88e795e7eb6 Author: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Date: Mon Aug 31 17:11:55 2015 +0530 selftests/zram: must be run as root Adding new functionality check_prereqs() to check test must be run as root Signed-off-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 6b2282aa372665c14ea1100b63ac0703051407e9 Merge: 0c0fee0 b1c599b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 09:41:03 2015 -0700 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cpu updates from Ingo Molnar: "Two changes: a suspend/resume quirk and a new CPUID bit definition" * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpufeature: Add feature bit for Intel's Silicon Debug CPUID bit x86/cpu: Restore MSR_IA32_ENERGY_PERF_BIAS after resume commit 0c0fee018d14b585461b146bdeda8bab9a61c211 Merge: a0c0d985 4daa832 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 09:33:26 2015 -0700 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 init code fixlet from Ingo Molnar: "A single change: fix obsolete init code annotations" * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: Drop bogus __ref / __refdata annotations commit a0c0d985ded583e52399b5158791bedc2815eefa Merge: 11e612d 16eefbd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 09:32:37 2015 -0700 Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 build fixlet from Ingo Molnar: "A single change propagating CONFIG_JUMP_LABEL into the x86 defconfigs" * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kconfig: Enable CONFIG_JUMP_LABEL in the defconfigs commit af4aeadd8c04303c0aa2d112145c3627e2ebd026 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Sep 1 11:30:14 2015 +0200 perf tools: Fix link time error with sample_reg_masks on non x86 This patch makes perf compile on non x86 platforms by defining a weak symbol for sample_reg_masks[] in util/perf_regs.c. The patch also moves the REG() and REG_END() macros into the util/per_regs.h header file. The macros are renamed to SMPL_REG/SMPL_REG_END to avoid clashes with other header files. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441099814-26783-1-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 11e612ddb4bc667d0b830bfaab3acdf8b86da845 Merge: 5778077 656bba3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 09:04:31 2015 -0700 Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 boot updates from Ingo Molnar: "The main x86 bootup related changes in this cycle were: - more boot time optimizations. (Len Brown) - implement hex output to allow the debugging of early bootup parameters. (Kees Cook) - remove obsolete MCA leftovers. (Paolo Pisati)" * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted x86/smpboot: Remove SIPI delays from cpu_up() x86/smpboot: Remove udelay(100) when polling cpu_callin_map x86/smpboot: Remove udelay(100) when polling cpu_initialized_map x86/boot: Obsolete the MCA sys_desc_table x86/boot: Add hex output for debugging commit 04aa90b529ee45c5ee88997bc214202e07b26979 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Sep 1 05:56:45 2015 +0000 perf build: Fix Intel PT instruction decoder dependency problem I hit following building error randomly: ... /bin/sh: /path/to/kernel/buildperf/util/intel-pt-decoder/inat-tables.c: No such file or directory ... LINK /path/to/kernel/buildperf/plugin_mac80211.so LINK /path/to/kernel/buildperf/plugin_kmem.so LINK /path/to/kernel/buildperf/plugin_xen.so LINK /path/to/kernel/buildperf/plugin_hrtimer.so In file included from util/intel-pt-decoder/intel-pt-insn-decoder.c:25:0: util/intel-pt-decoder/inat.c:24:25: fatal error: inat-tables.c: No such file or directory #include "inat-tables.c" ^ compilation terminated. make[4]: *** [/path/to/kernel/buildperf/util/intel-pt-decoder/intel-pt-insn-decoder.o] Error 1 make[4]: *** Waiting for unfinished jobs.... LINK /path/to/kernel/buildperf/plugin_function.so This is caused by tools/perf/util/intel-pt-decoder/Build that, it tries to generate $(OUTPUT)util/intel-pt-decoder/inat-tables.c atomatically but forget to ensure the existance of $(OUTPUT)util/intel-pt-decoder directory. This patch fixes it by adding $(call rule_mkdir) like other similar rules. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441087005-107540-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5778077d03cb25aac9b6a428e18970642fc019e3 Merge: 65a9959 7e01ebf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 08:40:25 2015 -0700 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 asm changes from Ingo Molnar: "The biggest changes in this cycle were: - Revamp, simplify (and in some cases fix) Time Stamp Counter (TSC) primitives. (Andy Lutomirski) - Add new, comprehensible entry and exit handlers written in C. (Andy Lutomirski) - vm86 mode cleanups and fixes. (Brian Gerst) - 32-bit compat code cleanups. (Brian Gerst) The amount of simplification in low level assembly code is already palpable: arch/x86/entry/entry_32.S | 130 +---- arch/x86/entry/entry_64.S | 197 ++----- but more simplifications are planned. There's also the usual laudry mix of low level changes - see the changelog for details" * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (83 commits) x86/asm: Drop repeated macro of X86_EFLAGS_AC definition x86/asm/msr: Make wrmsrl() a function x86/asm/delay: Introduce an MWAITX-based delay with a configurable timer x86/asm: Add MONITORX/MWAITX instruction support x86/traps: Weaken context tracking entry assertions x86/asm/tsc: Add rdtscll() merge helper selftests/x86: Add syscall_nt selftest selftests/x86: Disable sigreturn_64 x86/vdso: Emit a GNU hash x86/entry: Remove do_notify_resume(), syscall_trace_leave(), and their TIF masks x86/entry/32: Migrate to C exit path x86/entry/32: Remove 32-bit syscall audit optimizations x86/vm86: Rename vm86->v86flags and v86mask x86/vm86: Rename vm86->vm86_info to user_vm86 x86/vm86: Clean up vm86.h includes x86/vm86: Move the vm86 IRQ definitions to vm86.h x86/vm86: Use the normal pt_regs area for vm86 x86/vm86: Eliminate 'struct kernel_vm86_struct' x86/vm86: Move fields from 'struct kernel_vm86_struct' to 'struct vm86' x86/vm86: Move vm86 fields out of 'thread_struct' ... commit 3b27d13940c3710a1128527c43719cb0bb05d73b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Sep 1 03:29:44 2015 +0000 perf dwarf: Fix potential array out of bounds access There is a problem in the dwarf-regs.c files for sh, sparc and x86 where it is possible to make an out-of-bounds array access when searching for register names. This patch fixes it by replacing '<=' to '<', so when register (number == XXX_MAX_REGS), get_arch_regstr() will return NULL. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxxxxx Link: http://lkml.kernel.org/r/1441078184-105038-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e625ccec1fa6c24620f38fd72d5b2fd62230ad2b Merge: 56963d9 404c2db 5021282 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 15:54:30 2015 +0200 Merge branches 'pm-tools' and 'powercap' * pm-tools: tools: cpupower: Fix error when running cpupower monitor tools/power turbostat: fix typo on DRAM column in Joules-mode cpupower: Do not change the frequency of offline cpu tools/power turbostat: fix parameter passing for forked command tools/power turbostat: dump CONFIG_TDP tools/power turbostat: cpu0 is no longer hard-coded, so update output tools/power turbostat: update turbostat(8) * powercap: powercap / RAPL: disable the 2nd power limit properly powercap / RAPL: Add support for Broadwell-H powercap / RAPL: Add support for Skylake H/S commit 56963d99b72ac52bb3185be7fe9832c1715c655a Merge: 5cf896b 2fd77ff 8bb6944 3fc147e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 15:54:20 2015 +0200 Merge branches 'pm-sleep', 'pm-domains' and 'pm-avs' * pm-sleep: PM / suspend: make sync() on suspend-to-RAM build-time optional PM / sleep: Allow devices without runtime PM to do direct-complete PM / autosleep: Use workqueue for user space wakeup sources garbage collector * pm-domains: PM / Domains: Fix typo in description of genpd_dev_pm_detach() PM / Domains: Remove unusable governor dummies PM / Domains: Make pm_genpd_init() available to modules PM / domains: Align column headers and data in pm_genpd_summary output PM / Domains: Return -EPROBE_DEFER if we fail to init or turn-on domain PM / Domains: Correct unit address in power-controller example PM / Domains: Remove intermediate states from the power off sequence * pm-avs: PM / AVS: rockchip-io: add io selectors and supplies for rk3368 PM / AVS: rockchip-io: depend on CONFIG_POWER_AVS commit 5cf896b3c7842036ba37cc7057d74d5a2af159a7 Merge: ac2a29c 4c1ed5a 00dabd5 f4745a9 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 15:53:37 2015 +0200 Merge branches 'pm-cpuidle', 'pm-devfreq' and 'pm-clk' * pm-cpuidle: cpuidle/coupled: Remove redundant 'dev' argument of cpuidle_state_is_coupled() cpuidle/coupled: Remove cpuidle_device::safe_state_index intel_idle: Skylake Client Support intel_idle: allow idle states to be freeze-mode specific * pm-devfreq: PM / devfreq: exynos-ppmu: Update documentation to support PPMUv2 PM / devfreq: exynos-ppmu: Add the support of PPMUv2 for Exynos5433 PM / devfreq: event: Remove incorrect property in exynos-ppmu DT binding * pm-clk: PM / clk: don't return int on __pm_clk_enable() commit ac2a29c8a4a641574febccd10169b26138a5d656 Merge: 4ffe18c 50a3cb0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 15:52:41 2015 +0200 Merge branch 'pm-opp' * pm-opp: PM / OPP: Drop unlikely before IS_ERR(_OR_NULL) PM / OPP: Fix static checker warning (broken 64bit big endian systems) PM / OPP: Free resources and properly return error on failure cpufreq-dt: make scaling_boost_freqs sysfs attr available when boost is enabled cpufreq: dt: Add support for turbo/boost mode cpufreq: dt: Add support for operating-points-v2 bindings cpufreq: Allow drivers to enable boost support after registering driver cpufreq: Update boost flag while initializing freq table from OPPs PM / OPP: add dev_pm_opp_is_turbo() helper PM / OPP: Add helpers for initializing CPU OPPs PM / OPP: Add support for opp-suspend PM / OPP: Add OPP sharing information to OPP library PM / OPP: Add clock-latency-ns support PM / OPP: Add support to parse "operating-points-v2" bindings PM / OPP: Break _opp_add_dynamic() into smaller functions PM / OPP: Allocate dev_opp from _add_device_opp() PM / OPP: Create _remove_device_opp() for freeing dev_opp PM / OPP: Relocate few routines PM / OPP: Create a directory for opp bindings PM / OPP: Update bindings to make opp-hz a 64 bit value commit 4ffe18c2556f2848c4e57457915b08a63dc00fd5 Merge: 4980125 72e624d Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 15:52:35 2015 +0200 Merge branch 'pm-cpufreq' * pm-cpufreq: (53 commits) cpufreq: speedstep-lib: Use monotonic clock cpufreq: powernv: Increase the verbosity of OCC console messages cpufreq: sfi: use kmemdup rather than duplicating its implementation cpufreq: drop !cpufreq_driver check from cpufreq_parse_governor() cpufreq: rename cpufreq_real_policy as cpufreq_user_policy cpufreq: remove redundant 'policy' field from user_policy cpufreq: remove redundant 'governor' field from user_policy cpufreq: update user_policy.* on success cpufreq: use memcpy() to copy policy cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event cpufreq: mediatek: Add MT8173 cpufreq driver dt-bindings: mediatek: Add MT8173 CPU DVFS clock bindings intel_pstate: append more Oracle OEM table id to vendor bypass list intel_pstate: Add SKY-S support intel_pstate: Fix possible overflow complained by Coverity cpufreq: Correct a freq check in cpufreq_set_policy() cpufreq: Lock CPU online/offline in cpufreq_register_driver() cpufreq: Replace recover_policy with new_policy in cpufreq_online() cpufreq: Separate CPU device registration from CPU online cpufreq: powernv: Restore cpu frequency to policy->cur on unthrottling ... commit 72e624de6e6f0d5a638fbc23842aa76ae048e9e7 Author: Abhilash Jindal <klock.android@xxxxxxxxx> Date: Tue Aug 11 12:01:22 2015 -0400 cpufreq: speedstep-lib: Use monotonic clock Wall time obtained from do_gettimeofday is susceptible to sudden jumps due to user setting the time or due to NTP. Monotonic time is constantly increasing time better suited for comparing two timestamps. Signed-off-by: Abhilash Jindal <klock.android@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 309d0631cc329ca1051c631c89e0acc9b752cb4d Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:41:44 2015 +0530 cpufreq: powernv: Increase the verbosity of OCC console messages Modify the OCC reset/load/active event message to make it clearer for the user to understand the event and effect of the event. Suggested-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a482e5562e48d89ea50f41f9fc6ed3a9768de2ff Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:17 2015 +0200 cpufreq: sfi: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 36dfef23cd26a6d3b71dd86509e34d311f1cd906 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:20 2015 +0530 cpufreq: drop !cpufreq_driver check from cpufreq_parse_governor() Driver is guaranteed to be present on a call to cpufreq_parse_governor() and there is no need to check for !cpufreq_driver. Drop it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c7a7b418dd1991079dd7ef03fec7d1863ef96154 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:19 2015 +0530 cpufreq: rename cpufreq_real_policy as cpufreq_user_policy Its all about caching min/max freq requested by userspace, and the name 'cpufreq_real_policy' doesn't fit that well. Rename it to cpufreq_user_policy. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 88dc4384958759510db248bf9158434ac783d407 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:18 2015 +0530 cpufreq: remove redundant 'policy' field from user_policy Its always same as policy->policy, and there is no need to keep another copy of it. Remove it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e27f8bd248756310a6df8b67f96d41d5a693642c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:17 2015 +0530 cpufreq: remove redundant 'governor' field from user_policy Its always same as policy->governor, and there is no need to keep another copy of it. Remove it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 14ca0bdfdd6b422027b9b733abb0bf151811eaa7 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:16 2015 +0530 cpufreq: update user_policy.* on success 'user_policy' caches properties of a policy that are set by userspace. And these must be updated only if cpufreq core was successful in updating them based on request from user space. In store_scaling_governor(), we are updating user_policy.policy and user_policy.governor even if cpufreq_set_policy() failed. That's incorrect. Fix this by updating user_policy.* only if we were successful in updating the properties. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8fa5b631f32238a16ae3db0db5b354f7b9eb20cb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:15 2015 +0530 cpufreq: use memcpy() to copy policy cpufreq_get_policy() is useful if the pointer to policy isn't available in advance. But if it is available, then there is no need to call cpufreq_get_policy(). Directly use memcpy() to copy the policy. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6bfb7c7434f75d29241413dc7e784295ba56de98 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 3 08:36:14 2015 +0530 cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event What's being done from CPUFREQ_INCOMPATIBLE, can also be done with CPUFREQ_ADJUST. There is nothing special with CPUFREQ_INCOMPATIBLE notifier. Kill CPUFREQ_INCOMPATIBLE and fix its usage sites. This also updates the numbering of notifier events to remove holes. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1453863fb02a18900c9079fa2e4f02710bf46507 Author: Pi-Cheng Chen <pi-cheng.chen@xxxxxxxxxx> Date: Wed Aug 19 10:05:06 2015 +0800 cpufreq: mediatek: Add MT8173 cpufreq driver Mediatek MT8173 is an ARMv8 based quad-core (2*Cortex-A53 and 2*Cortex-A72) SoC with duall clusters. For each cluster, two voltage inputs, Vproc and Vsram are supplied by two regulators. For the big cluster, two regulators come from different PMICs. In this case, when scaling voltage inputs of the cluster, the voltages of two regulator inputs need to be controlled by software explicitly under the SoC specific limitation: 100mV < Vsram - Vproc < 200mV which is called 'voltage tracking' mechanism. And when scaling the frequency of cluster clock input, the input MUX need to be parented to another "intermediate" stable PLL first and reparented to the original PLL once the original PLL is stable at the target frequency. This patch implements those mechanisms to enable CPU DVFS support for Mediatek MT8173 SoC. Signed-off-by: Pi-Cheng Chen <pi-cheng.chen@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c9c96ae2c57d91ea2b73ef447fdd44c760a96d97 Author: Pi-Cheng Chen <pi-cheng.chen@xxxxxxxxxx> Date: Mon Aug 17 17:24:23 2015 +0800 dt-bindings: mediatek: Add MT8173 CPU DVFS clock bindings This patch adds the clock and regulator consumer properties part of document for CPU DVFS clocks on Mediatek MT8173 SoC. Signed-off-by: Pi-Cheng Chen <pi-cheng.chen@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f212bd95a9f62b7929c59b16e1d3bbde2fb4081d Merge: 8c4de9b 0439de7 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Sep 1 15:38:33 2015 +0200 Merge branch 'for-4.3/microsoft' into for-linus Conflicts: drivers/hid/usbhid/hid-quirks.c commit 8c4de9bc2041229fb778e0c47e32585b6f6b1d09 Merge: 067e260 9a1d78a 29e2d6d d1c4803 3cb5ff0 c873d9a 070f63b 4b8a826 9a98b33 21589eb 824deff 5397df1 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Sep 1 15:37:30 2015 +0200 Merge branches 'for-4.3/chicony', 'for-4.3/cp2112', 'for-4.3/i2c-hid', 'for-4.3/lenovo', 'for-4.3/logitech', 'for-4.3/multitouch', 'for-4.3/picolcd', 'for-4.3/rmi', 'for-4.3/sensor-hub', 'for-4.3/sony' and 'for-4.3/wacom' into for-linus commit 067e2601d3c076abbf45db91261f9065eaa879b2 Merge: 3e097d1 931830a Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Sep 1 15:35:24 2015 +0200 Merge branch 'for-4.3/gembird' into for-linus commit 3e097d1271ecdff2f251a54ddfc5eaa1f9821e96 Merge: 0be0171 c9b5772 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Sep 1 15:23:13 2015 +0200 Merge branches 'for-4.2/upstream-fixes-devm-fixed' and 'for-4.3/upstream' into for-linus commit c8fb70a3e8dd60e31c4422bae85783cf1733f038 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Sun Aug 23 13:34:08 2015 -0700 MAINTAINERS: Add Frank Rowand as DT maintainer Frank has agreed to step up and help with DT core code maintainership. At the same time, Grant is taking a step back from active maintainership responsibilities. Add Frank to the device tree core code entry and shuffle Grant to the end of the list. In a few releases time Grant will be removed entirely. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 9d6f85d9fe422aa42f3f337872050fb2a30cd430 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Aug 30 21:44:12 2015 +0200 mtd: nand: pxa3xx: add optional dma for pxa architecture The PXA architecture provides a DMA to pump data from the nand controller to memory and the other way around. Add it to the binding description. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 472204fe37083aa8f31aaf183b4072d432e7c5ea Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Aug 31 11:51:29 2015 +0530 Documentation: DT: cpsw: document missing compatible CPSW driver has multiple compatibles for errata implementations but not documented, add necessary documentation. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit cc7da0ba9c96699592d0a69d7d146ac6adcc18e7 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Tue Sep 1 11:38:19 2015 +0100 dm cache: fix use after freeing migrations Both free_io_migration() and issue_discard() dereference a migration that was just freed. Fix those by saving off the migrations's cache object before freeing the migration. Also cleanup needless mg->cache dereferences now that the cache object is available directly. Fixes: e44b6a5a3c ("dm cache: move wake_waker() from free_migrations() to where it is needed") Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit f319cb8491e1b4cc44e7baeeb3ae7817dedf57fc Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 1 20:15:10 2015 +0800 reset: ath79: Fix missing spin_lock_init Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Alban Bedel <albeu@xxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 092b6dbe8a4a24c17f2ebfe86995dc994e61f420 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 10:09:26 2015 +0200 mmc: android-goldfish: remove incorrect __iomem annotation Make sparse happy: drivers/mmc/host/android-goldfish.c:535:56: sparse: incorrect type in argument 3 (different address spaces) Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7b554088d56e9df3ee5dff8989b44903965bad95 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Aug 18 08:58:40 2015 +0530 video: fbdev: pxa168fb: Use devm_clk_get This patch introduces the use of managed resource function devm_clk_get instead of clk_get and removes corresponding calls to clk_put in the probe and remove functions. To be compatible with the change various gotos are replaced with direct returns, and unneeded label failed_put_clk is dropped. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c4e6774de19f4638bb887a47a58ee21d6809360b Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Aug 23 02:11:15 2015 +0200 fbdev: ssd1307fb: fix error return code Propagate error code on failure. Also changed %ld to %d in dev_err to use ret variable rather than putting two calls to PTR_ERR. A simplified version of the semantic match that finds the first problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit b4df20474ff76b4dbab7d991de271820383995b8 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Aug 24 22:54:21 2015 +0300 fbdev: fix snprintf() limit in show_bl_curve() The limit should be "PAGE_SIZE - len" instead of PAGE_SIZE. Also let's use scnprintf() because snprintf() returns the number of bytes which would have been printed if there were space and scnprintf() returns the number of bytes actually printed. I don't think we are ever going to actually hit this limit in real life. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 9cf94eab8b309e8bcc78b41dd1561c75b537dd0b Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Aug 31 19:11:02 2015 +0200 netfilter: conntrack: use nf_ct_tmpl_free in CT/synproxy error paths Commit 0838aa7fcfcd ("netfilter: fix netns dependencies with conntrack templates") migrated templates to the new allocator api, but forgot to update error paths for them in CT and synproxy to use nf_ct_tmpl_free() instead of nf_conntrack_free(). Due to that, memory is being freed into the wrong kmemcache, but also we drop the per net reference count of ct objects causing an imbalance. In Brad's case, this leads to a wrap-around of net->ct.count and thus lets __nf_conntrack_alloc() refuse to create a new ct object: [ 10.340913] xt_addrtype: ipv6 does not support BROADCAST matching [ 10.810168] nf_conntrack: table full, dropping packet [ 11.917416] r8169 0000:07:00.0 eth0: link up [ 11.917438] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 12.815902] nf_conntrack: table full, dropping packet [ 15.688561] nf_conntrack: table full, dropping packet [ 15.689365] nf_conntrack: table full, dropping packet [ 15.690169] nf_conntrack: table full, dropping packet [ 15.690967] nf_conntrack: table full, dropping packet [...] With slab debugging, it also reports the wrong kmemcache (kmalloc-512 vs. nf_conntrack_ffffffff81ce75c0) and reports poison overwrites, etc. Thus, to fix the problem, export and use nf_ct_tmpl_free() instead. Fixes: 0838aa7fcfcd ("netfilter: fix netns dependencies with conntrack templates") Reported-by: Brad Jackson <bjackson0971@xxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6fa2d197936ba0b8936e813d0adecefac160062b Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Aug 31 11:23:28 2015 +0300 i915: Set ddi_pll_sel in DP MST path The DP MST encoder config function never sets ddi_pll_sel, even though its value is programmed in its ->pre_enable() hook. That used to work because a new pipe_config was kzalloc'ed at every modeset, and the value of zero selects the highest clock for the PLL. Starting with the commit below, the value of ddi_pll_sel is preserved through modesets, and since the correct value wasn't properly setup by the MST code, it could lead to warnings and blank screens. commit 8504c74c7ae48b4b8ed1f1c0acf67482a7f45c93 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri May 15 11:51:50 2015 +0300 drm/i915: Preserve ddi_pll_sel when allocating new pipe_config Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91628 Cc: stable@xxxxxxxxxxxxxxx # 7e6313a2516d drm/i915: Don't use link_bw for PLL setup Cc: stable@xxxxxxxxxxxxxxx Cc: Timo Aaltonen <tjaalton@xxxxxxxxxx> Cc: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 7e6313a2516dbcd168f4ae36f0abe1a9227106b5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 11 20:21:46 2015 +0300 drm/i915: Don't use link_bw for PLL setup Use port_clock instead of link_bw when picking the PLL parameters for DP. link_bw may be zero with an eDP 1.4 sink that supports DP_LINK_RATE_SET so we shouldn't use it for anything other than feed it to the sink appropriately. v2: Fix typo in commit message (Sivakumar) Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [Jani: cherry-picked from future.] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit aa3469ce7afd86a670d22375a64f1b5a06707725 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Aug 27 10:06:24 2015 -0700 drm/vmwgfx: Allow dropped masters render-node like access on legacy nodes v2 Applications like gnome-shell may try to render after dropping master privileges. Since the driver should now be safe against this scenario, allow those applications to use their legacy node like a render node. v2: Add missing return statement. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit c4749c9a4a9ddc16200ce46a19078357727bf4b1 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Aug 31 12:25:04 2015 +0200 drm/atomic: Fix bookkeeping with TEST_ONLY, v3. Commit ec9f932ed41622d120de52a5b525e4d77b9ef17e "drm/atomic: Cleanup on error properly in the atomic ioctl." cleaned up some error paths, but didn't fix the TEST_ONLY path. In the check only case plane->fb shouldn't be updated, and the vblank events should be cleared as on failure. Changes since v1: - Fix -EDEADLK handling of vblank events too. - Free state last with CHECK_ONLY. Changes since v2: - Add comment about freeing crtc_state->event with TEST_ONLY. (Daniel Stone) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 532026612455a4a6fd27c1b2e7111263f63218a2 Merge: 65a9959 bcc84ec Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 1 10:24:54 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Add ability to specify to select which registers to record, to reduce the size of perf.data files, and also allow printing the registers in 'perf script': (Stephane Eranian) # perf record --intr-regs=AX,SP usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.016 MB perf.data (8 samples) ] # perf script -F ip,sym,iregs | tail -5 ffffffff8105f42a native_write_msr_safe AX:0xf SP:0xffff8802629c3c00 ffffffff8105f42a native_write_msr_safe AX:0xf SP:0xffff8802629c3c00 ffffffff81761ac0 _raw_spin_lock AX:0xffff8801bfcf8020 SP:0xffff8802629c3ce8 ffffffff81202bf8 __vma_adjust_trans_huge AX:0x7ffc75200000 SP:0xffff8802629c3b30 ffffffff8122b089 dput AX:0x101 SP:0xffff8802629c3c78 # Infrastructure changes: - Open event on evsel cpus and threads. (Kan Liang) - Add new bpf API to get name from a BPF object. (Wang Nan) Build fixes: - Fix build on powerpc broken by pt/bts. (Adrian Hunter) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5bcd0b7f3c56c616abffd89e11c841834dd1528c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 1 07:56:38 2015 +0800 reset: Add (devm_)reset_control_get stub functions So the drivers can be compiled with CONFIG_RESET_CONTROLLER disabled. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 69f92f67b68ab7028ffe15f0eea76b59f8859383 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Wed Jul 15 13:57:35 2015 +0200 drm/i915: Preserve SSC earlier Commit 92122789b2d6 ("drm/i915: preserve SSC if previously set v3") added code to intel_modeset_gem_init to override the SSC status read from VBT with the SSC status set by BIOS. However, intel_modeset_gem_init is invoked *after* intel_modeset_init, which calls intel_setup_outputs, which *modifies* SSC status by way of intel_init_pch_refclk. So unlike advertised, intel_modeset_gem_init doesn't preserve the SSC status set by BIOS but whatever intel_init_pch_refclk decided on. This is a problem on dual gpu laptops such as the MacBook Pro which require either a handler to switch DDC lines, or the discrete gpu to proxy DDC/AUX communication: Both the handler and the discrete gpu may initialize after the i915 driver, and consequently, an LVDS connector may initially seem disconnected and the SSC therefore is disabled by intel_init_pch_refclk, but on reprobe the connector may turn out to be connected and the SSC must then be enabled. Due to 92122789b2d6 however, the SSC is not enabled on reprobe since it is assumed BIOS disabled it while in fact it was disabled by intel_init_pch_refclk. Also, because the SSC status is preserved so late, the preserved value only ever gets used on resume but not on panel initialization: intel_modeset_init calls intel_init_display which indirectly calls intel_panel_use_ssc via multiple subroutines, *before* the BIOS value overrides the VBT value in intel_modeset_gem_init (intel_panel_use_ssc is the sole user of dev_priv->vbt.lvds_use_ssc). Fix this by moving the code introduced by 92122789b2d6 from intel_modeset_gem_init to intel_modeset_init before the invocation of intel_setup_outputs and intel_init_display. Add a DRM_DEBUG_KMS as suggested way back by Jani: http://lists.freedesktop.org/archives/intel-gfx/2014-June/046666.html Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=88861 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61115 Tested-by: Paul Hordiienko <pvt.gord@xxxxxxxxx> [MBP 6,2 2010 intel ILK + nvidia GT216 pre-retina] Tested-by: William Brown <william@xxxxxxxxxxxxxxxx> [MBP 8,2 2011 intel SNB + amd turks pre-retina] Tested-by: Lukas Wunner <lukas@xxxxxxxxx> [MBP 9,1 2012 intel IVB + nvidia GK107 pre-retina] Tested-by: Bruno Bierbaumer <bruno@xxxxxxxxxxxxxx> [MBP 11,3 2013 intel HSW + nvidia GK107 retina -- work in progress] Fixes: 92122789b2d6 ("drm/i915: preserve SSC if previously set v3") Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 63b6c13dbb7d3e36f031629f7e4e86dacfcab8cf Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Mon Aug 31 20:05:57 2015 -0700 tun_dst: Remove opts_size opts_size is only written and never read. Following patch removes this unused variable. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2053aeb69a53224717296db31b13d5b45b4f1a0e Author: Marius Tomaschewski <mt@xxxxxxx> Date: Tue Sep 1 01:57:30 2015 +0200 ipv6: send only one NEWLINK when RA causes changes Signed-off-by: Marius Tomaschewski <mt@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65a99597f044c083983f4274ab049c9ec3b9d764 Merge: 418c2e1 555ee95 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 21:04:24 2015 -0700 Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull NOHZ updates from Ingo Molnar: "The main changes, mostly written by Frederic Weisbecker, include: - Fix some jiffies based cputime assumptions. (No real harm because the concerned code isn't used by full dynticks.) - Simplify jiffies <-> usecs conversions. Remove dead code. - Remove early hacks on nohz full code that avoided messing up idle nohz internals. Now nohz integrates well full and idle and such hack have become needless. - Restart nohz full tick from irq exit. (A simplification and a preparation for future optimization on scheduler kick to nohz full) - Code cleanups. - Tile driver isolation enhancement on top of nohz. (Chris Metcalf)" * 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: nohz: Remove useless argument on tick_nohz_task_switch() nohz: Move tick_nohz_restart_sched_tick() above its users nohz: Restart nohz full tick from irq exit nohz: Remove idle task special case nohz: Prevent tilegx network driver interrupts alpha: Fix jiffies based cputime assumption apm32: Fix cputime == jiffies assumption jiffies: Remove HZ > USEC_PER_SEC special case commit 418c2e1f67658460533e4aaa7a0bcc64290ec951 Merge: a1d8561 dd9d384 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 20:55:23 2015 -0700 Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fix from Ingo Molnar: "This is a leftover scheduler fix from the v4.2 cycle" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched: Fix cpu_active_mask/cpu_online_mask race commit a1d8561172f369ba56d636df49a6b4d6d77e2123 Merge: 3959df1d ff277d4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 20:26:22 2015 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler updates from Ingo Molnar: "The biggest change in this cycle is the rewrite of the main SMP load balancing metric: the CPU load/utilization. The main goal was to make the metric more precise and more representative - see the changelog of this commit for the gory details: 9d89c257dfb9 ("sched/fair: Rewrite runnable load and utilization average tracking") It is done in a way that significantly reduces complexity of the code: 5 files changed, 249 insertions(+), 494 deletions(-) and the performance testing results are encouraging. Nevertheless we need to keep an eye on potential regressions, since this potentially affects every SMP workload in existence. This work comes from Yuyang Du. Other changes: - SCHED_DL updates. (Andrea Parri) - Simplify architecture callbacks by removing finish_arch_switch(). (Peter Zijlstra et al) - cputime accounting: guarantee stime + utime == rtime. (Peter Zijlstra) - optimize idle CPU wakeups some more - inspired by Facebook server loads. (Mike Galbraith) - stop_machine fixes and updates. (Oleg Nesterov) - Introduce the 'trace_sched_waking' tracepoint. (Peter Zijlstra) - sched/numa tweaks. (Srikar Dronamraju) - misc fixes and small cleanups" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits) sched/deadline: Fix comment in enqueue_task_dl() sched/deadline: Fix comment in push_dl_tasks() sched: Change the sched_class::set_cpus_allowed() calling context sched: Make sched_class::set_cpus_allowed() unconditional sched: Fix a race between __kthread_bind() and sched_setaffinity() sched: Ensure a task has a non-normalized vruntime when returning back to CFS sched/numa: Fix NUMA_DIRECT topology identification tile: Reorganize _switch_to() sched, sparc32: Update scheduler comments in copy_thread() sched: Remove finish_arch_switch() sched, tile: Remove finish_arch_switch sched, sh: Fold finish_arch_switch() into switch_to() sched, score: Remove finish_arch_switch() sched, avr32: Remove finish_arch_switch() sched, MIPS: Get rid of finish_arch_switch() sched, arm: Remove finish_arch_switch() sched/fair: Clean up load average references sched/fair: Provide runnable_load_avg back to cfs_rq sched/fair: Remove task and group entity load when they are dead sched/fair: Init cfs_rq's sched_entity load average ... commit 3959df1dfb9538498ec3372a2d390bc7fbdbfac2 Merge: 41d859a 6c36dfe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 20:20:30 2015 -0700 Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RAS updates from Ingo Molnar: "MCE handling updates, but also some generic drivers/edac/ changes to better organize the Kconfig space" * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/ras: Move AMD MCE injector to arch/x86/ras/ x86/mce: Add a wrapper around mce_log() for injection x86/mce: Rename rcu_dereference_check_mce() to mce_log_get_idx_check() RAS: Add a menuconfig option with descriptive text x86/mce: Reenable CMCI banks when swiching back to interrupt mode x86/mce: Clear Local MCE opt-in before kexec x86/mce: Remove unused function declarations x86/mce: Kill drain_mcelog_buffer() x86/mce: Avoid potential deadlock due to printk() in MCE context x86/mce: Remove the MCE ring for Action Optional errors x86/mce: Don't use percpu workqueues x86/mce: Provide a lockless memory pool to save error records x86/mce: Reuse one of the u16 padding fields in 'struct mce' commit 41d859a83c567a9c9f50a34082cc64aab0abb0cd Merge: 4658000 bac2e4a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 19:49:05 2015 -0700 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf updates from Ingo Molnar: "Main perf kernel side changes: - uprobes updates/fixes. (Oleg Nesterov) - Add PERF_RECORD_SWITCH to indicate context switches and use it in tooling. (Adrian Hunter) - Support BPF programs attached to uprobes and first steps for BPF tooling support. (Wang Nan) - x86 generic x86 MSR-to-perf PMU driver. (Andy Lutomirski) - x86 Intel PT, LBR and BTS updates. (Alexander Shishkin) - x86 Intel Skylake support. (Andi Kleen) - x86 Intel Knights Landing (KNL) RAPL support. (Dasaratharaman Chandramouli) - x86 Intel Broadwell-DE uncore support. (Kan Liang) - x86 hw breakpoints robustization (Andy Lutomirski) Main perf tooling side changes: - Support Intel PT in several tools, enabling the use of the processor trace feature introduced in Intel Broadwell processors: (Adrian Hunter) # dmesg | grep Performance # [0.188477] Performance Events: PEBS fmt2+, 16-deep LBR, Broadwell events, full-width counters, Intel PMU driver. # perf record -e intel_pt//u -a sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.216 MB perf.data ] # perf script # then navigate in the tool output to some area, like this one: 184 1030 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba661440 dl_main (/usr/lib64/ld-2.17.so) 185 1457 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba669f10 _dl_new_object (/usr/lib64/ld-2.17.so) 186 9f37 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba677b90 strlen (/usr/lib64/ld-2.17.so) 187 7ba3 strlen (/usr/lib64/ld-2.17.so) => 7f21ba677c75 strlen (/usr/lib64/ld-2.17.so) 188 7c78 strlen (/usr/lib64/ld-2.17.so) => 7f21ba669f3c _dl_new_object (/usr/lib64/ld-2.17.so) 189 9f8a _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba65fab0 calloc@plt (/usr/lib64/ld-2.17.so) 190 fab0 calloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e70 calloc (/usr/lib64/ld-2.17.so) 191 5e87 calloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa90 malloc@plt (/usr/lib64/ld-2.17.so) 192 fa90 malloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e60 malloc (/usr/lib64/ld-2.17.so) 193 5e68 malloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so) 194 fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so) => 7f21ba675d50 __libc_memalign (/usr/lib64/ld-2.17.so) 195 5d63 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e20 __libc_memalign (/usr/lib64/ld-2.17.so) 196 5e40 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675d73 __libc_memalign (/usr/lib64/ld-2.17.so) 197 5d97 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e18 __libc_memalign (/usr/lib64/ld-2.17.so) 198 5e1e __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675df9 __libc_memalign (/usr/lib64/ld-2.17.so) 199 5e10 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba669f8f _dl_new_object (/usr/lib64/ld-2.17.so) 200 9fc2 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba678e70 memcpy (/usr/lib64/ld-2.17.so) 201 8e8c memcpy (/usr/lib64/ld-2.17.so) => 7f21ba678ea0 memcpy (/usr/lib64/ld-2.17.so) - Add support for using several Intel PT features (CYC, MTC packets), the relevant documentation was updated in: tools/perf/Documentation/intel-pt.txt briefly describing those packets, its purposes, how to configure them in the event config terms and relevant external documentation for further reading. (Adrian Hunter) - Introduce support for probing at an absolute address, for user and kernel 'perf probe's, useful when one have the symbol maps on a developer machine but not on an embedded system. (Wang Nan) - Add Intel BTS support, with a call-graph script to show it and PT in use in a GUI using 'perf script' python scripting with postgresql and Qt. (Adrian Hunter) - Allow selecting the type of callchains per event, including disabling callchains in all but one entry in an event list, to save space, and also to ask for the callchains collected in one event to be used in other events. (Kan Liang) - Beautify more syscall arguments in 'perf trace': (Arnaldo Carvalho de Melo) * A bunch more translate file/pathnames from pointers to strings. * Convert numbers to strings for the 'keyctl' syscall 'option' arg. * Add missing 'clockid' entries. - Introduce 'srcfile' sort key: (Andi Kleen) # perf record -F 10000 usleep 1 # perf report --stdio --dsos '[kernel.vmlinux]' -s srcfile <SNIP> # Overhead Source File 26.49% copy_page_64.S 5.49% signal.c 0.51% msr.h # It can be combined with other fields, for instance, experiment with '-s srcfile,symbol'. There are some oddities in some distros and with some specific DSOs, being investigated, so your mileage may vary. - Support per-event 'freq' term: (Namhyung Kim) $ perf record -e 'cpu/instructions,freq=1234/',cycles -c 1000 sleep 1 $ perf evlist -F cpu/instructions,freq=1234/: sample_freq=1234 cycles: sample_period=1000 $ - Deref sys_enter pointer args with contents from probe:vfs_getname, showing pathnames instead of pointers in many syscalls in 'perf trace'. (Arnaldo Carvalho de Melo) - Stop collecting /proc/kallsyms in perf.data files, saving about 4.5MB on a typical x86-64 system, use the the symbol resolution routines used in all the other tools (report, top, etc) now that we can ask libtraceevent to use perf's symbol resolution code. (Arnaldo Carvalho de Melo) - Allow filtering out of perf's PID via 'perf record --exclude-perf'. (Wang Nan) - 'perf trace' now supports syscall groups, like strace, i.e: $ trace -e file touch file Will expand 'file' into multiple, file related, syscalls. More work needed to add extra groups for other syscall groups, and also to complement what was added for the 'file' group, included as a proof of concept. (Arnaldo Carvalho de Melo) - Add lock_pi stresser to 'perf bench futex', to test the kernel code related to FUTEX_(UN)LOCK_PI. (Davidlohr Bueso) - Let user have timestamps with per-thread recording in 'perf record' (Adrian Hunter) - ... and tons of other changes, see the shortlog and the Git log for details" * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (240 commits) perf evlist: Add backpointer for perf_env to evlist perf tools: Rename perf_session_env to perf_env perf tools: Do not change lib/api/fs/debugfs directly perf tools: Add tracing_path and remove unneeded functions perf buildid: Introduce sysfs/filename__sprintf_build_id perf evsel: Add a backpointer to the evlist a evsel is in perf trace: Add header with copyright and background info perf scripts python: Add new compaction-times script perf stat: Get correct cpu id for print_aggr tools lib traceeveent: Allow for negative numbers in print format perf script: Add --[no-]-demangle/--[no-]-demangle-kernel tracing/uprobes: Do not print '0x (null)' when offset is 0 perf probe: Support probing at absolute address perf probe: Fix error reported when offset without function perf probe: Fix list result when address is zero perf probe: Fix list result when symbol can't be found tools build: Allow duplicate objects in the object list perf tools: Remove export.h from MANIFEST perf probe: Prevent segfault when reading probe point with absolute address perf tools: Update Intel PT documentation ... commit 4658000955d1864b54890214434e171949c7f1c5 Merge: e10994f 69786cdb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 19:16:36 2015 -0700 Merge branch 'mm-kasan-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86/kasan changes from Ingo Molnar: "These are two KASAN changes that factor out (and generalize) x86 specific KASAN code from x86 to mm" * 'mm-kasan-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kasan, mm: Introduce generic kasan_populate_zero_shadow() x86/kasan: Define KASAN_SHADOW_OFFSET per architecture commit e10994ff38ded64e4cd2267a6e404a4c8632bcf5 Merge: 5757bd6 33fef66 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 19:11:50 2015 -0700 Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull liblockdep fixes from Ingo Molnar: "Three liblockdep fixes left over from the v4.2 cycle" * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: tools/liblockdep: Use the rbtree header provided by common tools headers tools/liblockdep: Correct macro for WARN tools: Restore export.h commit 498012511a060575a56551d28a10bb392aa361b5 Merge: 5d2a1a9 4bf0118 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:45:05 2015 +0200 Merge branch 'device-properties' * device-properties: device property: check fwnode type in to_of_node() device property: attach 'else if' to the proper 'if' device property: fallback to pset when gettng one string device property: fix potential NULL pointer dereference commit 5d2a1a927d487d6bb60c87b837d82702d8ebcaad Merge: ef5f5de 5d0ddfe b00855a 02b771b 3277b4e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:41:19 2015 +0200 Merge branches 'acpi-pci', 'acpi-soc', 'acpi-ec' and 'acpi-osl' * acpi-pci: ACPI, PCI: Penalize legacy IRQ used by ACPI SCI * acpi-soc: ACPI / LPSS: Ignore 10ms delay for Braswell * acpi-ec: ACPI / EC: Fix an issue caused by the serialized _Qxx evaluations * acpi-osl: ACPI / osl: replace custom implementation of readq / writeq commit ef5f5de069bd9081a7ddf6998269b58fc65e27ef Merge: 73990fc e91a398 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:38:43 2015 +0200 Merge branch 'acpi-pm' * acpi-pm: ACPI / bus: Move duplicate code to a separate new function mfd: Add support for Intel Sunrisepoint LPSS devices dmaengine: add a driver for Intel integrated DMA 64-bit mfd: make mfd_remove_devices() iterate in reverse order driver core: implement device_for_each_child_reverse() klist: implement klist_prev() Driver core: wakeup the parent device before trying probe ACPI / PM: Attach ACPI power domain only once PM / QoS: Make it possible to expose device latency tolerance to userspace ACPI / PM: Update the copyright notice and description of power.c commit 73990fc810bf84c5338d9596f8af8d70fe90ac72 Merge: 94f2bb9 1dcc3d3 b6fc607 1074261 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:38:22 2015 +0200 Merge branches 'acpi-scan', 'acpi-processor' and 'acpi-assorted' * acpi-scan: ACPI / bus: Move ACPI bus type registration ACPI / scan: Move bus operations and notification routines to bus.c ACPI / scan: Move device matching code to bus.c ACPI / scan: Move sysfs-related device code to a separate file * acpi-processor: PCC: Disable compilation by default ACPI: Decouple ACPI idle and ACPI processor drivers ACPI: Split out ACPI PSS from ACPI Processor driver PCC: Initialize PCC Mailbox earlier at boot ACPI / processor: remove leftover __refdata annotations * acpi-assorted: ACPI: fix acpi_debugfs_init prototype ACPI: Remove FSF mailing addresses commit 94f2bb9b599f8d6a3a1309d39b3b219da314470c Merge: 20a2000 cb4ff76 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:37:59 2015 +0200 Merge branch 'acpi-trace' * acpi-trace: ACPI / Documentation: Update method tracing documentation. ACPI / sysfs: Add support to allow leading "\" missing in trace_method_name. ACPI / sysfs: Update method tracing facility. ACPI / sysfs: Add ACPI_LV_REPAIR debug level. commit 20a200085f64cce4f33ab33ae262ff291dc5d6d0 Merge: c91c5b2 4305cd0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:37:51 2015 +0200 Merge branch 'acpi-tools' * acpi-tools: tools/power/acpi: Enable build for EC userspace tool tools/power/acpi: Add descend support in ACPI tools Makefile commit 5757bd6157f523ff0d448a4ec93938523ca441a9 Merge: 7073bc6 accd0b9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 18:37:33 2015 -0700 Merge branch 'core-types-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull inlining tuning from Ingo Molnar: "A handful of inlining optimizations inspired by x86 work but applicable in general" * 'core-types-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: jiffies: Force inlining of {m,u}msecs_to_jiffies() x86/hweight: Force inlining of __arch_hweight{32,64}() linux/bitmap: Force inlining of bitmap weight functions commit c91c5b276bc1e60c0d65ff69e29b6edc5948430d Merge: 64291f7 b7a4f7f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 1 03:37:30 2015 +0200 Merge branch 'acpica' * acpica: (42 commits) ACPICA: Update version to 20150818 ACPICA: Debugger: Cleanup debugging outputs to dump name path without trailing underscores ACPICA: Disassembler: Cleanup acpi_gbl_db_opt_verbose acpiexec usage ACPICA: Disassembler: Cleanup acpi_gbl_db_opt_disasm ACPICA: Debugger: Split debugger initialization/termination APIs ACPICA: Header support to improve compatibility with MSVC ACPICA: Make the max-number-of-loops runtime configurable ACPICA: Debugger: Add option to display namespace summary/counts ACPICA: Add additional debug info/statements ACPICA: Table handling: Cleanup and update debug output for tools ACPICA: acpiexec/acpinames: Support very large number of ACPI tables ACPICA: acpinames: Add new options and wildcard support ACPICA: Headers: Fix some comments, no functional change ACPICA: Tables: Cleanup to reduce FACS globals ACPICA: Tables: Fix global table list issues by removing fixed table indexes ACPICA: Update info messages during ACPICA init ACPICA: Disassembler: Update for new listing mode ACPICA: Update parameter validation for data_table_region and load_table ACPICA: Disassembler: Remove duplicate code in _PLD processing. ACPICA: Correctly cleanup after a ACPI table load failure ... commit 7073bc66126e3ab742cce9416ad6b4be8b03c4f7 Merge: d4c9039 f612a7b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 18:12:07 2015 -0700 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RCU updates from Ingo Molnar: "The main RCU changes in this cycle are: - the combination of tree geometry-initialization simplifications and OS-jitter-reduction changes to expedited grace periods. These two are stacked due to the large number of conflicts that would otherwise result. - privatize smp_mb__after_unlock_lock(). This commit moves the definition of smp_mb__after_unlock_lock() to kernel/rcu/tree.h, in recognition of the fact that RCU is the only thing using this, that nothing else is likely to use it, and that it is likely to go away completely. - documentation updates. - torture-test updates. - misc fixes" * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits) rcu,locking: Privatize smp_mb__after_unlock_lock() rcu: Silence lockdep false positive for expedited grace periods rcu: Don't disable CPU hotplug during OOM notifiers scripts: Make checkpatch.pl warn on expedited RCU grace periods rcu: Update MAINTAINERS entry rcu: Clarify CONFIG_RCU_EQS_DEBUG help text rcu: Fix backwards RCU_LOCKDEP_WARN() in synchronize_rcu_tasks() rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN() rcu: Make rcu_is_watching() really notrace cpu: Wait for RCU grace periods concurrently rcu: Create a synchronize_rcu_mult() rcu: Fix obsolete priority-boosting comment rcu: Use WRITE_ONCE in RCU_INIT_POINTER rcu: Hide RCU_NOCB_CPU behind RCU_EXPERT rcu: Add RCU-sched flavors of get-state and cond-sync rcu: Add fastpath bypassing funnel locking rcu: Rename RCU_GP_DONE_FQS to RCU_GP_DOING_FQS rcu: Pull out wait_event*() condition into helper function documentation: Describe new expedited stall warnings rcu: Add stall warnings to synchronize_sched_expedited() ... commit d4c90396ed7ef9b4e4d221e008e54be8bea8307f Merge: f36fc04 bf43341 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 17:38:39 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto updates from Herbert Xu: "Here is the crypto update for 4.3: API: - the AEAD interface transition is now complete. - add top-level skcipher interface. Drivers: - x86-64 acceleration for chacha20/poly1305. - add sunxi-ss Allwinner Security System crypto accelerator. - add RSA algorithm to qat driver. - add SRIOV support to qat driver. - add LS1021A support to caam. - add i.MX6 support to caam" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (163 commits) crypto: algif_aead - fix for multiple operations on AF_ALG sockets crypto: qat - enable legacy VFs MPI: Fix mpi_read_buffer crypto: qat - silence a static checker warning crypto: vmx - Fixing opcode issue crypto: caam - Use the preferred style for memory allocations crypto: caam - Propagate the real error code in caam_probe crypto: caam - Fix the error handling in caam_probe crypto: caam - fix writing to JQCR_MS when using service interface crypto: hash - Add AHASH_REQUEST_ON_STACK crypto: testmgr - Use new skcipher interface crypto: skcipher - Add top-level skcipher interface crypto: cmac - allow usage in FIPS mode crypto: sahara - Use dmam_alloc_coherent crypto: caam - Add support for LS1021A crypto: qat - Don't move data inside output buffer crypto: vmx - Fixing GHASH Key issue on little endian crypto: vmx - Fixing AES-CTR counter bug crypto: null - Add missing Kconfig tristate for NULL2 crypto: nx - Add forward declaration for struct crypto_aead ... commit 5d54b8cdeaf4679c51a510dea3f8921992d0b064 Merge: 70b33a7 1a7ccad Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 1 10:30:11 2015 +1000 Merge branch 'xfs-misc-fixes-for-4.3-4' into for-next commit f36fc04e4cdda9e4c72ee504e7dc638f9a168863 Merge: 26f8b7e ba30011 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 17:26:48 2015 -0700 Merge tag 'clk-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux Pull clk updates from Michael Turquette: "The clk framework changes for 4.3 are mostly updates to existing drivers and the addition of new clock drivers. Stephen Boyd has also done a lot of subsystem-wide driver clean-ups (thanks!). There are also fixes to the framework core and changes to better split clock provider drivers from clock consumer drivers" * tag 'clk-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (227 commits) clk: s5pv210: add missing call to samsung_clk_of_add_provider() clk: pistachio: correct critical clock list clk: pistachio: Fix PLL rate calculation in integer mode clk: pistachio: Fix override of clk-pll settings from boot loader clk: pistachio: Fix 32bit integer overflows clk: tegra: Fix some static checker problems clk: qcom: Fix MSM8916 prng clock enable bit clk: Add missing header for 'bool' definition to clk-conf.h drivers/clk: appropriate __init annotation for const data clk: rockchip: register pll mux before pll itself clk: add bindings for the Ux500 clocks clk/ARM: move Ux500 PRCC bases to the device tree clk: remove duplicated code with __clk_set_parent_after clk: Convert __clk_get_name(hw->clk) to clk_hw_get_name(hw) clk: Constify clk_hw argument to provider APIs clk: Hi6220: add stub clock driver dt-bindings: clk: Hi6220: Document stub clock driver dt-bindings: arm: Hi6220: add doc for SRAM controller clk: atlas7: fix pll missed divide NR in fraction mode clk: atlas7: fix bit field and its root clk for coresight_tpiu ... commit 26f8b7edc9eab56638274f5db90848a6df602081 Merge: edc837d 9ca678d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 17:14:39 2015 -0700 Merge tag 'pci-v4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI updates from Bjorn Helgaas: "PCI changes for the v4.3 merge window: Enumeration: - Allocate ATS struct during enumeration (Bjorn Helgaas) - Embed ATS info directly into struct pci_dev (Bjorn Helgaas) - Reduce size of ATS structure elements (Bjorn Helgaas) - Stop caching ATS Invalidate Queue Depth (Bjorn Helgaas) - iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth (Bjorn Helgaas) - Move MPS configuration check to pci_configure_device() (Bjorn Helgaas) - Set MPS to match upstream bridge (Keith Busch) - ARM/PCI: Set MPS before pci_bus_add_devices() (Murali Karicheri) - Add pci_scan_root_bus_msi() (Lorenzo Pieralisi) - ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() (Lorenzo Pieralisi) Resource management: - Call pci_read_bridge_bases() from core instead of arch code (Lorenzo Pieralisi) PCI device hotplug: - pciehp: Remove unused interrupt events (Bjorn Helgaas) - pciehp: Remove ignored MRL sensor interrupt events (Bjorn Helgaas) - pciehp: Handle invalid data when reading from non-existent devices (Jarod Wilson) - pciehp: Simplify pcie_poll_cmd() (Yijing Wang) - Use "slot" and "pci_slot" for struct hotplug_slot and struct pci_slot (Yijing Wang) - Protect pci_bus->slots with pci_slot_mutex, not pci_bus_sem (Yijing Wang) - Hold pci_slot_mutex while searching bus->slots list (Yijing Wang) Power management: - Disable async suspend/resume for JMicron multi-function SATA/AHCI (Zhang Rui) Virtualization: - Add ACS quirks for Intel I219-LM/V (Alex Williamson) - Restore ACS configuration as part of pci_restore_state() (Alexander Duyck) MSI: - Add pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu) - x86: Implement pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu) - Add helpers to manage pci_dev->irq and pci_dev->irq_managed (Jiang Liu) - Free legacy IRQ when enabling MSI/MSI-X (Jiang Liu) - ARM/PCI: Remove msi_controller from struct pci_sys_data (Lorenzo Pieralisi) - Remove unused pcibios_msi_controller() hook (Lorenzo Pieralisi) Generic host bridge driver: - Remove dependency on ARM-specific struct hw_pci (Jayachandran C) - Build setup-irq.o for arm64 (Jayachandran C) - Add arm64 support (Jayachandran C) APM X-Gene host bridge driver: - Add APM X-Gene PCIe 64-bit prefetchable window (Duc Dang) - Add support for a 64-bit prefetchable memory window (Duc Dang) - Drop owner assignment from platform_driver (Krzysztof Kozlowski) Broadcom iProc host bridge driver: - Allow BCMA bus driver to be built as module (Hauke Mehrtens) - Delete unnecessary checks before phy calls (Markus Elfring) - Add arm64 support (Ray Jui) Synopsys DesignWare host bridge driver: - Don't complain missing *config* reg space if va_cfg0 is set (Murali Karicheri) TI DRA7xx host bridge driver: - Disable pm_runtime on get_sync failure (Kishon Vijay Abraham I) - Add PM support (Kishon Vijay Abraham I) - Clear MSE bit during suspend so clocks will idle (Kishon Vijay Abraham I) - Add support to make GPIO drive PERST# line (Kishon Vijay Abraham I) Xilinx AXI host bridge driver: - Check for MSI interrupt flag before handling as INTx (Russell Joyce) Miscellaneous: - Fix Intersil/Techwell TW686[4589] AV capture class code (Krzysztof HaÅ?asa) - Use PCI_CLASS_SERIAL_USB instead of bare number (Bjorn Helgaas) - Fix generic NCR 53c810 class code quirk (Bjorn Helgaas) - Fix TI816X class code quirk (Bjorn Helgaas) - Remove unused "pci_probe" flags (Bjorn Helgaas) - Host bridge driver code simplifications (Fabio Estevam) - Add dev_flags bit to access VPD through function 0 (Mark Rustad) - Add VPD function 0 quirk for Intel Ethernet devices (Mark Rustad) - Kill off set_irq_flags() usage (Rob Herring) - Remove Intel Cherrytrail D3 delays (Srinidhi Kasagar) - Clean up pci_find_capability() (Wei Yang)" * tag 'pci-v4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (72 commits) PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI PCI: Set MPS to match upstream bridge PCI: Move MPS configuration check to pci_configure_device() PCI: Drop references acquired by of_parse_phandle() PCI/MSI: Remove unused pcibios_msi_controller() hook ARM/PCI: Remove msi_controller from struct pci_sys_data ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() PCI: Add pci_scan_root_bus_msi() ARM/PCI: Replace panic with WARN messages on failures PCI: generic: Add arm64 support PCI: Build setup-irq.o for arm64 PCI: generic: Remove dependency on ARM-specific struct hw_pci PCI: imx6: Simplify a trivial if-return sequence PCI: spear: Use BUG_ON() instead of condition followed by BUG() PCI: dra7xx: Remove unneeded use of IS_ERR_VALUE() PCI: Remove pci_ats_enabled() PCI: Stop caching ATS Invalidate Queue Depth PCI: Move ATS declarations to linux/pci.h so they're all together PCI: Clean up ATS error handling PCI: Use pci_physfn() rather than looking up physfn by hand ... commit edc837da4b54a01ba6fa3c29b411e35d1a8430ca Merge: e5aeced 4d59ed8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 17:08:05 2015 -0700 Merge tag 'leds_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds Pull LED updates from Jacek Anaszewski: "In this merge window we'd like to announce a change on the list of LED subsystem maintainers - Bryan Wu decided to step back and handed over the maintainership to me (Jacek Anaszewski), which entailed an update of LED subsystem git tree URL. Besides the changes in MAINTAINERS we have: - optimizations and improvements to existing LED class drivers - improvements to the common LEDs DT documentation - modifications of kirkwood-* dts files, to be in sync with patches for leds-ns2 driver, that move LEDs mode mapping outside of the driver" * tag 'leds_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: leds: Export OF module alias information in missing drivers leds:lp55xx: use the private data instead of updating I2C device platform data leds: syscon: Correct check for syscon_node_to_regmap() errors leds: leds-fsg: Use devm_led_classdev_register MAINTAINERS: Change LED subsystem git tree URL leds/led-class: Add missing put_device() ARM: Kirkwood: add modes-map property to ns2-leds nodes leds: tlc591xx: Remove redundant I2C_FUNC_SMBUS_BYTE_DATA functionality check leds: leds-ns2: depends on MACH_ARMADA_370 leds: leds-ns2: handle can_sleep GPIOs leds: leds-ns2: move LED modes mapping outside of the driver leds: lp8860: Constify reg_default tables leds: Drop owner assignment from i2c_driver leds: Allow compile test of LEDS_AAT1290 and LEDS_KTD2692 if !GPIOLIB leds: Allow compile test of GPIO consumers if !GPIOLIB DT: leds: Improve description of flash LEDs related properties commit 07f081fb5057b2ea98baeca3a47bf0eb33e94aa1 Author: David Howells <dhowells@xxxxxxxxxx> Date: Sun Aug 30 16:59:57 2015 +0100 PKCS#7: Add OIDs for sha224, sha284 and sha512 hash algos and use them Add OIDs for sha224, sha284 and sha512 hash algos and use them to select the hashing algorithm. Without this, something like the following error might get written to dmesg: [ 31.829322] PKCS7: Unknown OID: [32] 2.16.840.1.101.3.4.2.3 [ 31.829328] PKCS7: Unknown OID: [180] 2.16.840.1.101.3.4.2.3 [ 31.829330] Unsupported digest algo: 55 Where the 55 on the third line is OID__NR indicating an unknown OID. Reported-by: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-By: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit e5aeced6bcec5a110e6dfcb78acc203dbe895b59 Merge: cf9d615 c5992f6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:55:49 2015 -0700 Merge tag 'spi-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi updates from Mark Brown: "A few core tweaks this time together with the usual collection of driver specific updates and fixes plus a larger than average selection of new device support: - fix DMA mapping of unaligned vmalloc() buffers - statistics tracking transfer volumes exposed via sysfs - new drivers for Freescale MPC5125, Intel Sunrise Point, Mediatek SoCs, and Netlogic XLP SoCs" * tag 'spi-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (66 commits) spi: sh-msiof: Fix FIFO size to 64 word from 256 word spi: fsl-(e)spi: Fix checking return value of devm_ioremap_resource spi: Add DT bindings documentation for Netlogic XLP SPI controller spi/xlp: SPI controller driver for Netlogic XLP SoCs spi: fsl-espi: add runtime PM spi: fsl-(e)spi: simplify cleanup code spi: fsl-(e)spi: migrate to using devm_ functions to simplify cleanup spi: mediatek: fix SPI_CMD_PAUSE_IE macro error spi: check bits_per_word in spi_setup spi: mediatek: replace *_time name spi: mediatek: add PM clk_prepare_enable fail flow spi: mediatek: replace int with u32, delete TAB and define MTK_SPI_PAUSE_INT_STATUS marco spi: mediatek: add linux/io.h include file spi/bcm63xx-hsspi: add support for dual spi read/write spi: dw: Allow interface drivers to limit data I/O to word sizes dt: snps,dw-apb-ssi: Document new I/O data register width property spi: Fall back to master maximum speed if no slave speed specified spi: mediatek: use BIT() to instead of SPI_CMD_*_OFFSET spi: medaitek: revise quirks compatibility style spi: mediatek: fix spi incorrect endian usage ... commit cf9d615f7f5842ca1ef0f28ed9f67a97d20cf6fc Merge: e270160 f5164b8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:49:19 2015 -0700 Merge tag 'regulator-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "The biggest changes in the core this time around have been some refactorings that move us towards being able to drop the list of regulators maintained by the core and instead just use the driver model list maintained for the class devices for regulators which will make the code smaller and avoid some potential bugs. Otherwise another fairly quiet release for the regulator API, highlights include: - a new API for setting voltages based on a minimum, target, maximum triplet - support for continuous voltage ranges rather than tables of explicit steps in the PWM regulator, requiring less explicit configuration - new driver support for Dialog DA9215, Maxim 77843, Mediatek MT6311 and Qualcomm RPM" * tag 'regulator-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (70 commits) regulator: mt6311: fix platform_no_drv_owner.cocci warnings regulator: ltc3589: Remove unnecessary MODULE_ALIAS() regulator: ad5398: Remove unnecessary MODULE_ALIAS() regulator: pfuze100: Remove unnecessary MODULE_ALIAS() regulator: core: use debug level print in regulator_check_drms regulator: lp872x: handle error case regulator: lp872x: use the private data instead of updating I2C device platform data regulator: isl9305: Export OF module alias information regulators: max77693: register driver earlier to avoid deferred probe regulator: qcom_smd: Set n_voltages for pm8941_lnldo regulator: core: Use IS_ERR_OR_NULL() regulator: core: Define regulator_set_voltage_triplet() regulator: Regulator driver for the Qualcomm RPM regulator: pbias: Fix broken pbias disable functionality regulator: core: Spelling fix regulator: core: Use class device list for regulator_list in late init regulator: core: Move more deallocation into class unregister regulator: core: Reduce rdev locking region when releasing regulator Input: Remove the max77843 haptic driver Input: max77693: Add support for Maxim 77843 ... commit e2701603f72cd38e99c6b1da13c8e99bc27b2f34 Merge: 22629b6 ce14c58 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:40:05 2015 -0700 Merge tag 'docs-for-linus' of git://git.lwn.net/linux-2.6 Pull documentation updates from Jonathan Corbet: "There's been a fair amount going on in the docs tree this time around, including: - Support for reproducible document builds, from Ben Hutchings and company. - The ability to automatically generate cross-reference links within a single DocBook book and embedded descriptions for large structures. From Danilo Cesar Lemes de Paula. - A new document on how to add a system call from David Drysdale. - Chameleon bus documentation from Johannes Thumshirn. ...plus the usual collection of improvements, typo fixes, and more" * tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: (39 commits) Documentation, add kernel-parameters.txt entry for dis_ucode_ldr Documentation/x86: Rename IRQSTACKSIZE to IRQ_STACK_SIZE Documentation/Intel-IOMMU.txt: Modify definition of DRHD docs: update HOWTO for 3.x -> 4.x versioning kernel-doc: ignore unneeded attribute information scripts/kernel-doc: Adding cross-reference links to html documentation. DocBook: Fix non-determinstic installation of duplicate man pages Documentation: minor typo fix in mailbox.txt Documentation: describe how to add a system call doc: Add more workqueue functions to the documentation ARM: keystone: add documentation for SoCs and EVMs scripts/kernel-doc Allow struct arguments documentation in struct body SubmittingPatches: remove stray quote character Revert "DocBook: Avoid building man pages repeatedly and inconsistently" Documentation: Minor changes to men-chameleon-bus.txt Doc: fix trivial typo in SubmittingPatches MAINTAINERS: Direct Documentation/DocBook/media properly Documentation: installed man pages don't need to be executable fix Evolution submenu name in email-clients.txt Documentation: Add MCB documentation ... commit 22629b6d9072c4e86e900306d7020ad722ae6536 Merge: c8192ba 1ed3216 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:31:12 2015 -0700 Merge tag 'hwmon-for-linus-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon updates from Guenter Roeck: "Notable changes: - added support for LTM4675, LTC3886, LTC2980, LTM2987, LTC2975, LTC3887, LTC3882, MAX20751, ADM1293, and ADM1294 to PMBus drivers - added support for IT8732F to it87 driver - added support for AMD Carrizo to fam15h_power driver - added support for various new attributes to nct7802 driver - added support for F81866 and F71868 to f71882fg driver" * tag 'hwmon-for-linus-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (45 commits) hwmon: (fam15h_power) Add ratio of Tsample to the PTSC period hwmon: (fam15h_power) Add documentation for new processors support hwmon: (fam15h_power) Update running_avg_capture bit field to 28 hwmon: (fam15h_power) Rename fam15h_power_is_internal_node0 function hwmon: (fam15h_power) Add support for AMD Carrizo hwmon: (ltc2978) Add support for LTM4675 hwmon: (ltc2978) Add polling for chips requiring it hwmon: (pmbus) Enable PEC if the controller supports it hwmon: (pmbus) Use BIT macro hwmon: (ltc2978) Add support for LTC3886 hwmon: (ltc2978) Add support for LTC2980 and LTM2987 hwmon: (ltc2978) Add missing chip IDs for LTC2978 and LTC3882 hwmon: (ltc2978) Use correct ID mask to detect all chips hwmon: (ltc2978) Introduce helper functions for min and max values hwmon: (ltc2978) Introduce feature flags hwmon: (pmbus) Convert command register definitions to enum hwmon: (ltc2978) Add support for LTC2975 hwmon: (ltc2978) Add support for LTC3887 hwmon: (ltc2978) Add additional chip IDs for LTM4676 and LTM4676A hwmon: (ltc2978) Add support for LTC3882 ... commit c8192ba416397ad6ce493f186da40767ce086c3b Merge: 9c6a019 b68c316 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:25:16 2015 -0700 Merge tag 'for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply Pull power supply and reset changes from Sebastian Reichel: - new reset driver for ZTE SoCs - add support for sama5d3 reset handling - overhaul of twl4030 charger driver - misc fixes and cleanups * tag 'for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (35 commits) bq2415x_charger: Allow to load and use driver even if notify device is not registered yet twl4030_charger: fix compile error when TWL4030_MADC not available. power: bq24190_charger: Fix charge type sysfs property power: Allow compile test of GPIO consumers if !GPIOLIB power: Export I2C module alias information in missing drivers twl4030_charger: Increase current carefully while watching voltage. twl4030_charger: add ac/mode to match usb/mode twl4030_charger: add software controlled linear charging mode. twl4030_charger: enable manual enable/disable of usb charging. twl4030_charger: allow max_current to be managed via sysfs. twl4030_charger: distinguish between USB current and 'AC' current twl4030_charger: allow fine control of charger current. twl4030_charger: split uA calculation into a function. twl4030_charger: trust phy to determine when USB power is available. twl4030_charger: correctly handle -EPROBE_DEFER from devm_usb_get_phy_by_node twl4030_charger: convert to module_platform_driver instead of ..._probe. twl4030_charger: use runtime_pm to keep usb phy active while charging. rx51-battery: Set name to rx51-battery MAINTAINERS: AVS is not maintained via power supply tree power: olpc_battery: clean up eeprom read function ... commit c42858eaf4926eb2f44f3e26731b276ab966ac28 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Aug 31 13:57:34 2015 -0700 gro_cells: remove spinlock protecting receive queues As David pointed out, spinlock are no longer needed to protect the per cpu queues used in gro cells infrastructure. Also use new napi_complete_done() API so that gro_flush_timeout tweaks have an effect. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e704059272aae2aaa5e5ce7a76e4c27c492e947e Author: David Ward <david.ward@xxxxxxxxxx> Date: Mon Aug 31 14:15:14 2015 -0400 net: qmi_wwan: Sierra Wireless MC73xx -> Sierra Wireless MC7304/MC7354 Other Sierra Wireless MC73xx devices exist, with different USB IDs. Cc: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a394eef562d781f37a50d99cf1dfe596dc1ed96d Author: Marius Tomaschewski <mt@xxxxxxx> Date: Mon Aug 31 15:59:22 2015 +0200 ipv6: send NEWLINK on RA managed/otherconf changes The kernel is applying the RA managed/otherconf flags silently and forgets to send ifinfo notify to inform about their change when the router provides a zero reachable_time and retrans_timer as dnsmasq and many routers send it, which just means unspecified by this router and the host should continue using whatever value it is already using. Userspace may monitor the ifinfo notifications to activate dhcpv6. Signed-off-by: Marius Tomaschewski <mt@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c6a019c6edf8591e34ae9da51bac7684131d905 Merge: 7c01919 e4ec735 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:11:53 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "The big one is support for fake NUMA, splitting a really large machine in more manageable piece improves performance in some cases, e.g. for a KVM host. The FICON Link Incident handling has been improved, this helps the operator to identify degraded or non-operational FICON connections. The save and restore of floating point and vector registers has been overhauled to allow the future use of vector registers in the kernel. A few small enhancement, magic sys-requests for the vt220 console via SCLP, some more assembler code has been converted to C, the PCI error handling is improved. And the usual cleanup and bug fixing" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (59 commits) s390/jump_label: Use %*ph to print small buffers s390/sclp_vt220: support magic sysrequests s390/ctrlchar: improve handling of magic sysrequests s390/numa: remove superfluous ARCH_WANT defines s390/3270: redraw screen on unsolicited device end s390/dcssblk: correct out of bounds array indexes s390/mm: simplify page table alloc/free code s390/pci: move debug messages to debugfs s390/nmi: initialize control register 0 earlier s390/zcrypt: use msleep() instead of mdelay() s390/hmcdrv: fix interrupt registration s390/setup: fix novx parameter s390/uaccess: remove uaccess_primary kernel parameter s390: remove unneeded sizeof(void *) comparisons s390/facilities: remove transactional-execution bits s390/numa: re-add DIE sched_domain_topology_level s390/dasd: enhance CUIR scope detection s390/dasd: fix failing path verification s390/vdso: emit a GNU hash s390/numa: make core to node mapping data dynamic ... commit 7c01919130ef8b27306ed1faf1f2cc079621923c Merge: 7b8067d 650c919 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:06:28 2015 -0700 Merge tag 'xtensa-20150830' of git://github.com/czankel/xtensa-linux Pull xtensa updates from Chris Zankel: "Xtensa fixes and improvements for 4.3: - reimplement DMA API using common helpers - implement counting and sampling perf events using hardware perf counters - add fake NMI support for hardware perf counters - fix THREADPTR register reloading on return to userspace - keep exception/interrupt stack continuous for debugger - improve vmlinux.lds.S post-processing" * tag 'xtensa-20150830' of git://github.com/czankel/xtensa-linux: xtensa: improve vmlinux.lds.S sed post-processing xtensa: drop unused irq_err_count xtensa: implement fake NMI xtensa: don't touch EXC_TABLE_FIXUP in _switch_to xtensa: fix kernel register spilling xtensa: reorganize irq flags tracing perf tools: xtensa: add DWARF register names xtensa: implement counting and sampling perf events xtensa: count software page fault perf events xtensa: add profiling IRQ type to xtensa_irq_map xtensa: select PERF_USE_VMALLOC for cache-aliasing configurations xtensa: move oprofile stack tracing to stacktrace.c xtensa: keep exception/interrupt stack continuous xtensa: clean up Kconfig dependencies for custom cores xtensa: reimplement DMA API using common helpers xtensa: fix threadptr reload on return to userspace xtensa: ISS: add missing va_end into split_if_spec commit 7b8067d37058ec01889513e16033fb6de72a98ce Merge: 9551bf2 8f8dcb3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 15:01:08 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha Pull alpha update from Matt Turner: "A single patch for alpha, one that enables ARCH_USE_CMPXCHG_LOCKREF and offers around an 8% performance improvement on a little benchmark that you wrote" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha: alpha: select CONFIG_ARCH_USE_CMPXCHG_LOCKREF. commit 9551bf292d67e9070409b59685cdb8fc5437ec3a Merge: 4ff1204 1ecb406 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 14:52:45 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k Pull m68k updates from Geert Uytterhoeven. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k/bootinfo: Use kmemdup rather than duplicating its implementation m68k/defconfig: Update defconfigs for v4.2-rc1 m68k/defconfig: Disable experimental CONFIG_DM_CACHE commit 684511ac2eeb015b7a9a46c575543566e1b1fb7c Merge: 6ea3c9d5 bc0f4a8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 31 14:48:03 2015 -0700 Merge branch 'dsa-port-config' Andrew Lunn says: ==================== DSA port configuration and status This patchset allows various switch port settings to be configured and port status to be sampled. Some of these patches have been posted before. The first three patches provide infrastructure for configuring a switch ports link speed and duplex from a fixed_link phy. Patch four then uses this infrastructure to allow the CPU and DSA ports of a switch to be configured using a fixed-link property in the device tree. Patches five and six allow a phy-mode property to be specified in the device tree, and allow this to be used for configuring RGMII delays. Patches seven through nine allow link status, for example that of an SFP module, to be read from a gpio. Changes since v1: Rewrite 9/9 so that it hopefully does not regression on 868a4215be9a6d80 ("net: phy: fixed_phy: handle link-down case") ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc0f4a87fc7e45642455682f281de2131cde9695 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:54 2015 +0200 net: phy: fixed_phy: Set phy capabilities even when link down. What features a phy supports is masked in genphy_config_init() by looking at the PHYs BMSR register. If the link is down, fixed_phy_update_regs() will only set the auto- negotiation capable bit in BMSR. Thus genphy_config_init() comes to the conclusion the PHY can only perform 10/Half, and masks out the higher speed features. If however the link it up, BMSR is set to indicate the speed the PHY is capable of auto-negotiating, and genphy_config_init() does not mask out the high speed features. To fix this, when the link is down, have fixed_phy_update_regs() leave the link status, auto-negotiation complete, and link partner capabilities unset, but set all the local capabilities depending on the fixed phy speed. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5597008dbc230876db2d344561d634f4d52ea4a Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:53 2015 +0200 phy: fixed_phy: Add gpio to determine link up/down. An SFP module may have a link up/down status pin which can be connection to a GPIO line of the host. Add support for reading such an GPIO in the fixed_phy driver. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b59d19e749b8cb454b7912396c2a6a1b91b9d30 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:52 2015 +0200 dsa: mv88e6xxx: Don't poll forced interfaces for state changes When polling for link status, don't consider ports which have a forced link. Such ports don't monitor their phy or may not even have a phy. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7e72ac05acc357065a9448314dd14fff7c40d39 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:51 2015 +0200 dsa: mv88e6xxx: Set the RGMII delay based on phy interface Some Marvell switches allow the RGMII Rx and Tx clock to be delayed when the port is using RGMII. Have the adjust_link function look at the phy interface type and enable this delay as requested. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e44853466844c20d8b5b16de187f63ddc50710dd Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:50 2015 +0200 net: dsa: Allow DSA and CPU ports to have a phy-mode property It can be useful for DSA and CPU ports to have a phy-mode property, in particular to specify RGMII delays. Parse the property and set it in the fixed-link phydev. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39b0c705195e9409dc8a40cc82b11d81405a4a4b Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:49 2015 +0200 net: dsa: Allow configuration of CPU & DSA port speeds/duplex By default, DSA and CPU ports are configured to the maximum speed the switch supports. However there can be use cases where the peer devices port is slower. Allow a fixed-link property to be used with the DSA and CPU port in the device tree, and use this information to configure the port. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34b31da486a5e4eda9ff548ebf6dc3adc167bd0c Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:48 2015 +0200 phy: fixed_phy: Set supported speed in phydev Set the supported field of the phydev to indicate the speed features of the phy. If the phy is never attached to a netdev, but used in an adjust_link() function, the speed will be incorrectly evaluated to 10/half rather than the correct speed/duplex. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dea870242a9c4ea74b3ca0f2da3f864c47484cff Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 31 15:56:47 2015 +0200 dsa: mv88e6xxx: Allow speed/duplex of port to be configured The current code sets user ports to perform auto negotiation using the phy. CPU and DSA ports are configured to full duplex and maximum speed the switch supports. There are however use cases where the CPU has a slower port, and when user ports have SFP modules with fixed speed. In these cases, port settings to be read from a fixed_phy devices. The switch driver then needs to implement the adjust_link op, so the port settings can be set. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a11dd7d9649149f336ca72069d56ce52b21567f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Aug 31 15:56:46 2015 +0200 net: phy: Allow PHY devices to identify themselves as Ethernet switches, etc. Some Ethernet MAC drivers using the PHY library require the hardcoding of link parameters when interfaced to a switch device, SFP module, switch to switch port, etc. This has typically lead to various ad-hoc implementations looking like this: - using a "fixed PHY" emulated device, which will provide link indication towards the Ethernet MAC driver and hardware - pretend there is no PHY and hardcode link parameters, ala mv643x_eth Based on that, it is desireable to have the PHY drivers advertise the correct link parameters, just like regular Ethernet PHYs towards their CPU Ethernet MAC drivers, however, Ethernet MAC drivers should be able to tell whether this link should be monitored or not. In the context of an Ethernet switch, SFP module, switch to switch link, we do not need to monitor this link since it should be always up. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ff12049d6b6cc79ad8ee092ae226434687062ec Merge: c207840 44840de Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 14:38:07 2015 -0700 Merge tag 'usb-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB updates from Greg KH: "Here's the big USB and PHY patchset for 4.3-rc1. As usual, the majority of the changes are in the USB gadget portion of the tree, lots of little changes all over the place for bugs and new hardware. Other than that, the normal mix of new hardware support and bugfixes. All have been in linux-next with no reported issues" * tag 'usb-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (261 commits) USB: qcserial: add HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module USB: ftdi_sio: Added custom PID for CustomWare products USB: usb_wwan: silence read errors on disconnect USB: option: silence interrupt errors USB: symbolserial: Correct transferred data size USB: symbolserial: Use usb_get_serial_port_data usb: misc: usbtest: format max packet size for iso transfer usb: host: ehci-sys: delete useless bus_to_hcd conversion Revert "usb: interface authorization: Declare authorized attribute" Revert "usb: interface authorization: Introduces the default interface authorization" Revert "usb: interface authorization: Control interface probing and claiming" Revert "usb: interface authorization: Introduces the USB interface authorization" Revert "usb: interface authorization: SysFS part of USB interface authorization" Revert "usb: interface authorization: Documentation part" Revert "usb: interface authorization: Use a flag for the default device authorization" usb: core: hub: Removed some warnings generated by checkpatch.pl USB: host: ohci-at91: merge loops in ohci_hcd_at91_drv_probe USB: host: ohci-at91: merge ohci_at91_of_init in ohci_hcd_at91_drv_probe USB: host: ohci-at91: depend on OF USB: host: ohci-at91: move at91_usbh_data definition in c file ... commit c2078402e479f963168bfcf7a8de78ab63748a98 Merge: 2f37d65 c868cbb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 14:28:07 2015 -0700 Merge tag 'tty-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial driver updates from Greg KH: "Here is the big tty/serial driver update for 4.3-rc1. Not many major things, a number of driver updates and changes, and the 8250 driver got split up a bit to make it easier to work with by moving some functions to a new file. Full details are in the shortlog. All have been in linux-next with no reported issues" * tag 'tty-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (90 commits) serial: imx: save and restore context in the suspend path serial: imx: allow waking up on RTSD serial: imx: introduce serial_imx_enable_wakeup() serial: imx: remove unbalanced clk_prepare serial: 8250: move rx_running out of the bitfield tty: serial: 8250_omap: do not use RX DMA if pause is not supported serial:8250_dw: do not alter CTS and DCTS since AFE is enabled tty: serial: men_z135_uart.c: Don't initialize port->lock tty: serial: men_z135_uart.c: Fix race between IRQ and set_termios() serial: 8250: bind to ALi Fast Infrared Controller (ALI5123) serial: 8250: don't bind to SMSC IrCC IR port serial: mxs-auart: fix baud rate range serial: mxs-auart: keep the AUART unit in reset state when not in use serial: mxs-auart: use a function name to reflect what it really does serial: 8250_pci: fix mode after S3/S4 resume for F81504/508/512 sc16is7xx: constify devtype sc16is7xx: support multiple devices sc16is7xx: save and use per-chip line number uart: pl011: Add support to ZTE ZX296702 uart uart: pl011: Improve LCRH register access decision ... commit bcc84ec65ad1bd9f777a1fade6f8e5e0c5808fa5 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 31 18:41:12 2015 +0200 perf record: Add ability to name registers to record This patch modifies the -I/--int-regs option to enablepassing the name of the registers to sample on interrupt. Registers can be specified by their symbolic names. For instance on x86, --intr-regs=ax,si. The motivation is to reduce the size of the perf.data file and the overhead of sampling by only collecting the registers useful to a specific analysis. For instance, for value profiling, sampling only the registers used to passed arguements to functions. With no parameter, the --intr-regs still records all possible registers based on the architecture. To name registers, it is necessary to use the long form of the option, i.e., --intr-regs: $ perf record --intr-regs=si,di,r8,r9 ..... To record any possible registers: $ perf record -I ..... $ perf report --intr-regs ... To display the register, one can use perf report -D To list the available registers: $ perf record --intr-regs=\? available registers: AX BX CX DX SI DI BP SP IP FLAGS CS SS R8 R9 R10 R11 R12 R13 R14 R15 Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441039273-16260-4-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c5e991ee9dff0f8136168ed2d0d1a8cc3620dac4 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 31 18:41:11 2015 +0200 perf/x86: Add list of register names This patch adds a way to locate a register identifier (PERF_X86_REG_*) based on its name, e.g., AX. This will be used by a subsequent patch to improved flexibility of perf record. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441039273-16260-3-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fc36f9485aee3a62b22be1f561543a31bce6d48e Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 31 18:41:10 2015 +0200 perf script: Enable printing of interrupted machine state This patch adds the output of the interrupted machine state (iregs) to perf script. It presents them as NAME:VALUE so this is easy to parse during post processing. To capture the interrupted machine state: $ perf record -I .... to display iregs, use the -F option: $ perf script -F ip,iregs 40afc2 AX:0x6c5770 BX:0x1e CX:0x5f4d80a DX:0x101010101010101 SI:0x1 Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441039273-16260-2-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bdbf4a29ee5bbe5b6743ba47bc7b10ec2cba8b21 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Wed Aug 26 23:59:33 2015 +0300 i2c: muxes: fix leaked i2c adapter device node references Every call of of_parse_phandle() increments user count of found device node, if OF_DYNAMIC is enabled. The change fixes all similar addressed cases in drivers/i2c. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 3fcbbd244ed1d20dc0eb7d48d729503992fa9b7d Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Aug 24 12:41:48 2015 -0400 nfsd: ensure that delegation stateid hash references are only put once It's possible that a DELEGRETURN could race with (e.g.) client expiry, in which case we could end up putting the delegation hash reference more than once. Have unhash_delegation_locked return a bool that indicates whether it was already unhashed. In the case of destroy_delegation we only conditionally put the hash reference if that returns true. The other callers of unhash_delegation_locked call it while walking list_heads that shouldn't yet be detached. If we find that it doesn't return true in those cases, then throw a WARN_ON as that indicates that we have a partially hashed delegation, and that something is likely very wrong. Tested-by: Andrew W Elble <aweits@xxxxxxx> Tested-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e85687393f3ee0a77ccca016f903d1558bb69258 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Aug 24 12:41:47 2015 -0400 nfsd: ensure that the ol stateid hash reference is only put once When an open or lock stateid is hashed, we take an extra reference to it. When we unhash it, we drop that reference. The code however does not properly account for the case where we have two callers concurrently trying to unhash the stateid. This can lead to list corruption and the hash reference being put more than once. Fix this by having unhash_ol_stateid use list_del_init on the st_perfile list_head, and then testing to see if that list_head is empty before releasing the hash reference. This means that some of the unhashing wrappers now become bool return functions so we can test to see whether the stateid was unhashed before we put the reference. Reported-by: Andrew W Elble <aweits@xxxxxxx> Tested-by: Andrew W Elble <aweits@xxxxxxx> Reported-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Tested-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 051ac3848a94f21cfdec899cc9c65ce7f9f116fa Author: Pratyush Anand <panand@xxxxxxxxxx> Date: Thu Aug 27 10:01:33 2015 +0530 net: sunrpc: fix tracepoint Warning: unknown op '->' `perf stat -e sunrpc:svc_xprt_do_enqueue true` results in Warning: unknown op '->' Warning: [sunrpc:svc_xprt_do_enqueue] unknown op '->' Similar warning for svc_handle_xprt as well. Actually TP_printk() should never dereference an address saved in the ring buffer that points somewhere in the kernel. There's no guarantee that that object still exists (with the exception of static strings). Therefore change all the arguments for TP_printk(), so that it references values existing in the ring buffer only. While doing that, also fix another possible bug when argument xprt could be NULL and TP_fast_assign() tries to access it's elements. Signed-off-by: Pratyush Anand <panand@xxxxxxxxxx> Reviewed-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Fixes: 83a712e0afef "sunrpc: add some tracepoints around ..." Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 51a545685905c934237e640083bc3aa40b36dc14 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Aug 20 07:17:01 2015 -0400 nfsd: allow more than one laundry job to run at a time We can potentially have several nfs4_laundromat jobs running if there are multiple namespaces running nfsd on the box. Those are effectively separated from one another though, so I don't see any reason to serialize them. Also, create_singlethread_workqueue automatically adds the WQ_MEM_RECLAIM flag. Since we run this job on a timer, it's not really involved in any reclaim paths. I see no need for a rescuer thread. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 46cc8ba30445025f0ed3ed9f429aea573b301122 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Aug 25 16:59:16 2015 -0400 nfsd: don't WARN/backtrace for invalid container deployment. These messages, combined with the backtrace they trigger, makes it seem like a serious problem, though a quick search shows distros marking it as a "won't fix" non-issue when the problem is reported by users. The backtrace is overkill, and only really manages to show that if you follow the code path, you can't really avoid it with bootargs or configuration settings in the container. Given that, lets tone it down a bit and get rid of the WARN severity, and the associated backtrace, so people aren't needlessly alarmed. Also, lets drop the split printk line, since they are grep unfriendly. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit d988d5ee647861706bc7a391ddbc29429b50f00e Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Aug 21 02:23:14 2015 -0400 perf evlist: Open event on evsel cpus and threads An evsel may have different cpus and threads than the evlist it is in. Use it's own cpus and threads, when opening the evsel in 'perf record'. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440138194-17001-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7fadc59cc89f207ff6ca3d0951e11265fb4f806e Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sun Aug 9 18:43:17 2015 -0700 fs: fix fs/locks.c kernel-doc warning Fix kernel-doc warnings in fs/locks.c: Warning(..//fs/locks.c:1577): No description found for parameter 'flags' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 1f65c17e15992193f1c3f735696872cb75191517 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Aug 18 15:34:44 2015 -0400 nfsd: Add Jeff Layton as co-maintainer Jeff has been doing a lot of development (including much of the state-locking rewrite just as one example) plus lots of review and other miscellaneous nfsd work, so let's acknowledge the status quo. I'll continue to be the one to send regular pull requests but Jeff will should be available to cover there occasionally too. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 75976de6556f593f6c2a18bbbcfb1e594cc7598a Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:55:30 2015 +0800 NFSD: Return word2 bitmask if setting security label in OPEN/CREATE Security label can be set in OPEN/CREATE request, nfsd should set the bitmask in word2 if setting success. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ead8fb8c24411722b92198b3dccd102a76cdd050 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:55:02 2015 +0800 NFSD: Set the attributes used to store the verifier for EXCLUSIVE4_1 According to rfc5661 18.16.4, "If EXCLUSIVE4_1 was used, the client determines the attributes used for the verifier by comparing attrset with cva_attrs.attrmask;" So, EXCLUSIVE4_1 also needs those bitmask used to store the verifier. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7d580722c9f353d19e255f929d341caa821060d6 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:54:26 2015 +0800 nfsd: SUPPATTR_EXCLCREAT must be encoded before SECURITY_LABEL. The encode order should be as the bitmask defined order. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6896f15aabde505b35888039af93d1d182a0108a Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:52:44 2015 +0800 nfsd: Fix an FS_LAYOUT_TYPES/LAYOUT_TYPES encode bug Currently we'll respond correctly to a request for either FS_LAYOUT_TYPES or LAYOUT_TYPES, but not to a request for both attributes simultaneously. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit acf860ae7c53cc8b0c5d372c218332aac3eeba4f Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Aug 27 02:30:55 2015 +0000 bpf tools: New API to get name from a BPF object Before this patch there's no way to connect a loaded bpf object to its source file. However, during applying perf's '--filter' to BPF object, without this connection makes things harder, because perf loads all programs together, but '--filter' setting is for each object. The API of bpf_object__open_buffer() is changed to allow passing a name. Fortunately, at this time there's only one user of it (perf test LLVM), so we change it together. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440742821-44548-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc9cee5db50afaf38506bc12eb479fb8ea536dba Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Aug 31 15:41:34 2015 -0400 dm cache: small cleanups related to deferred prison cell cleanup Eliminate __cell_release() since it only had one caller that always released the cell holder. Switch cell_error_with_code() to using free_prison_cell() for the sake of consistency. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 6ea3c9d5b042edf14eac1e21af21c41f81f3491e Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 10:44:19 2015 -0700 mpls: fix mpls_net_init memory leak Fix a memory leak in the mpls netns init function in case of failure. If register_net_sysctl fails then we need to free the ctl_table. Fixes: 7720c01f3f59 ("mpls: Add a sysctl to control the size of the mpls label table") Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0fa6e529efbca3b97ab6286dbeb5910e33f6c53 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 09:57:12 2015 -0600 net: Add tos to validate source tracepoint TOS is another key aspect of the lookup passed to fib_validate_source. Add it to the tracepoint. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbb7ee0e474cc8221de55583f516275693c5b552 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Aug 31 08:57:10 2015 -0700 lib: move strncpy_from_unsafe() into mm/maccess.c To fix build errors: kernel/built-in.o: In function `bpf_trace_printk': bpf_trace.c:(.text+0x11a254): undefined reference to `strncpy_from_unsafe' kernel/built-in.o: In function `fetch_memory_string': trace_kprobe.c:(.text+0x11acf8): undefined reference to `strncpy_from_unsafe' move strncpy_from_unsafe() next to probe_kernel_read/write() which use the same memory access style. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Fixes: 1a6877b9c0c2 ("lib: introduce strncpy_from_unsafe()") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9dc30648f0708cf063e29470d83f63f8dc8fc430 Merge: 87583eb c3a8d94 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 31 12:34:00 2015 -0700 Merge branch 'per-route-dctcp-receive-side' Daniel Borkmann says: ==================== tcp: receive-side per route dctcp handling Original cover letter: Currently, the following case doesn't use DCTCP, even if it should: - responder has f.e. cubic as system wide default - 'ip route congctl dctcp $src' was set Then, DCTCP is NOT used if a DCTCP sender attempts to connect from a host in the $src range: ECT(0) is set, but listen_sk is not dctcp, so we fail the INET_ECN_is_not_ect sanity check. We also have to examine the dst used for the SYN/ACK reply to make this case work. In order to minimize additional cost, store the 'ecn is must have' information is the dst_features field. The set targets -next instead of -net since this doesn't seem to be a serious bug and to give the change more soak time until it hits linus tree. v1 -> v2: - Addressed Dave's feedback, not exposing any bits to user space - Added patch 3 to reject incorrect configurations - Rest as is, rebased and retested ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3a8d9474684d391b0afc3970d9b249add15ec07 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Aug 31 15:58:47 2015 +0200 tcp: use dctcp if enabled on the route to the initiator Currently, the following case doesn't use DCTCP, even if it should: A responder has f.e. Cubic as system wide default, but for a specific route to the initiating host, DCTCP is being set in RTAX_CC_ALGO. The initiating host then uses DCTCP as congestion control, but since the initiator sets ECT(0), tcp_ecn_create_request() doesn't set ecn_ok, and we have to fall back to Reno after 3WHS completes. We were thinking on how to solve this in a minimal, non-intrusive way without bloating tcp_ecn_create_request() needlessly: lets cache the CA ecn option flag in RTAX_FEATURES. In other words, when ECT(0) is set on the SYN packet, set ecn_ok=1 iff route RTAX_FEATURES contains the unexposed (internal-only) DST_FEATURE_ECN_CA. This allows to only do a single metric feature lookup inside tcp_ecn_create_request(). Joint work with Florian Westphal. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8d3e4163a3562d7cba486687904383e78e7dd6a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Aug 31 15:58:46 2015 +0200 fib, fib6: reject invalid feature bits Feature bits that are invalid should not be accepted by the kernel, only the lower 4 bits may be configured, but not the remaining ones. Even from these 4, 2 of them are unused. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bb14807bc761a88bb9d319e7bf519eebf4c82ec Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Aug 31 15:58:45 2015 +0200 net: fib6: reduce identation in ip6_convert_metrics Reduce the identation a bit, there's no need to artificically have it increased. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cf9dfd3bd62edfff69f11c0f111bc261166e4c7 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Aug 31 15:58:44 2015 +0200 net: fib: move metrics parsing to a helper fib_create_info() is already quite large, so before adding more code to the metrics section move that to a helper, similar to ip6_convert_metrics. Suggested-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87583ebb9f6ea6dc7f8ef167b815656787e429fc Author: Philip Downey <pdowney@xxxxxxxxxxx> Date: Mon Aug 31 11:30:38 2015 +0100 IGMP: Document igmp_link_local_mcast_reports Document the addition of a new sysctl variable which controls the generation of IGMP reports for link local multicast groups in the 224.0.0.X range. IGMP reports for local multicast groups can now be optionally inhibited by setting the value to zero e.g.: echo 0 > /proc/sys/net/ipv4/igmp_link_local_mcast_reports To retain backwards compatibility the previous behaviour is retained by default on system boot or reverted by setting the value back to non-zero. Signed-off-by: Philip Downey <pdowney@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c22279848c531fc7f555d463daf3d0df963bd41 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Sun Aug 30 18:09:38 2015 -0700 ip-tunnel: Use API to access tunnel metadata options. Currently tun-info options pointer is used in few cases to pass options around. But tunnel options can be accessed using ip_tunnel_info_opts() API without using the pointer. Following patch removes the redundant pointer and consistently make use of API. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a2050d744037158de773be5c6f1fc468a551bae Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:51:54 2015 +0800 NFSD: Store parent's stat in a separate value After commit ae7095a7c4 (nfsd4: helper function for getting mounted_on ino) we ignore the return value from get_parent_attributes(). Also, the following FATTR4_WORD2_LAYOUT_BLKSIZE uses stat.blksize, so to avoid overwriting that, use an independent value for the parent's attributes. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9153df7405ae04c1b0466de720e0a685cfea1a3a Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Mon Aug 31 18:20:08 2015 +0100 dm cache: fix leaking of deferred bio prison cells There were two cases where dm_cell_visit_release() was being called, which removes the cell from the prison's rbtree, but the callers didn't also return the cell to the mempool. Fix this by having them call free_prison_cell(). This leak manifested as the 'kmalloc-96' slab growing until OOM. Fixes: 651f5fa2a3 ("dm cache: defer whole cells") Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.1+ commit f15f4d720088c140cdf1fee6aeab3549dbdddc41 Author: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Date: Tue Aug 25 17:15:41 2015 +0200 dm raid: document RAID 4/5/6 discard support For RAID 4/5/6 data integrity reasons 'discard_zeroes_data' must work properly. Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 97db62062ac76e314c8bda4dc5b63f0ea906d15f Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Aug 31 21:39:44 2015 +0300 perf tools: Fix build on powerpc broken by pt/bts It is theoretically possible to process perf.data files created on x86 and that contain Intel PT or Intel BTS data, on any other architecture, which is why it is possible for there to be build errors on powerpc caused by pt/bts. The errors were: util/intel-pt-decoder/intel-pt-insn-decoder.c: In function â??intel_pt_insn_decoderâ??: util/intel-pt-decoder/intel-pt-insn-decoder.c:138:3: error: switch missing default case [-Werror=switch-default] switch (insn->immediate.nbytes) { ^ cc1: all warnings being treated as errors linux-acme.git/tools/perf/perf-obj/libperf.a(libperf-in.o): In function `intel_pt_synth_branch_sample': sources/linux-acme.git/tools/perf/util/intel-pt.c:871: undefined reference to `tsc_to_perf_time' linux-acme.git/tools/perf/perf-obj/libperf.a(libperf-in.o): In function `intel_pt_sample': sources/linux-acme.git/tools/perf/util/intel-pt.c:915: undefined reference to `tsc_to_perf_time' sources/linux-acme.git/tools/perf/util/intel-pt.c:962: undefined reference to `tsc_to_perf_time' linux-acme.git/tools/perf/perf-obj/libperf.a(libperf-in.o): In function `intel_pt_process_event': sources/linux-acme.git/tools/perf/util/intel-pt.c:1454: undefined reference to `perf_time_to_tsc' Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441046384-28663-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 527afb4493c2892ce89fb74648e72a30b68ba120 Author: Tsutomu Itoh <t-itoh@xxxxxxxxxxxxxx> Date: Wed Aug 19 14:55:00 2015 +0900 Btrfs: cleanup: remove unnecessary check before btrfs_free_path is called We need not check path before btrfs_free_path() is called because path is checked in btrfs_free_path(). Signed-off-by: Tsutomu Itoh <t-itoh@xxxxxxxxxxxxxx> Reviewed-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c6dd6ea55758cf403bdc07a51a06c2a1d474f906 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Thu Aug 20 09:30:39 2015 +0800 btrfs: async_thread: Fix workqueue 'max_active' value when initializing At initializing time, for threshold-able workqueue, it's max_active of kernel workqueue should be 1 and grow if it hits threshold. But due to the bad naming, there is both 'max_active' for kernel workqueue and btrfs workqueue. So wrong value is given at workqueue initialization. This patch fixes it, and to avoid further misunderstanding, change the member name of btrfs_workqueue to 'current_active' and 'limit_active'. Also corresponding comment is added for readability. Reported-by: Alex Lyakas <alex.btrfs@xxxxxxxxxxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 943c6e9925d90dc80207322b5799d95fb90ffec0 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 19 15:54:15 2015 +0800 btrfs: Add raid56 support for updating num_tolerated_disk_barrier_failures in btrfs_balance Code for updating fs_info->num_tolerated_disk_barrier_failures in btrfs_balance() lacks raid56 support. Reason: Above code was wroten in 2012-08-01, together with btrfs_calc_num_tolerated_disk_barrier_failures()'s first version. Then, btrfs_calc_num_tolerated_disk_barrier_failures() got updated later to support raid56, but code in btrfs_balance() was not updated together. Fix: Merge above similar code to a common function: btrfs_get_num_tolerated_disk_barrier_failures() and make it support both case. It can fix this bug with a bonus of cleanup, and make these code never in above no-sync state from now on. Suggested-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2c4580454fffbf184fdb9292aa19ab1ffc224add Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Jul 16 15:00:46 2015 +0800 btrfs: Cleanup for btrfs_calc_num_tolerated_disk_barrier_failures 1: Use ARRAY_SIZE(types) to replace a static-value variant: int num_types = 4; 2: Use 'continue' on condition to reduce one level tab if (!XXX) { code; ... } -> if (XXX) continue; code; ... 3: Put setting 'num_tolerated_disk_barrier_failures = 2' to (num_tolerated_disk_barrier_failures > 2) condition to make make logic neat. if (num_tolerated_disk_barrier_failures > 0 && XXX) num_tolerated_disk_barrier_failures = 0; else if (num_tolerated_disk_barrier_failures > 1) { if (XXX) num_tolerated_disk_barrier_failures = 1; else if (XXX) num_tolerated_disk_barrier_failures = 2; -> if (num_tolerated_disk_barrier_failures > 0 && XXX) num_tolerated_disk_barrier_failures = 0; if (num_tolerated_disk_barrier_failures > 1 && XXX) num_tolerated_disk_barrier_failures = ; if (num_tolerated_disk_barrier_failures > 2 && XXX) num_tolerated_disk_barrier_failures = 2; 4: Remove comment of: num_mirrors - 1: if RAID1 or RAID10 is configured and more than 2 mirrors are used. which is not fit with code. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8c204c9657c32ec5a259ebf852a767afe7efdafa Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 19 15:02:40 2015 +0800 btrfs: Remove noused chunk_tree and chunk_objectid from scrub_enumerate_chunks and scrub_chunk These variables are not used from introduced version, remove them. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7955323bdcab307bd8b1d5ef7a031e4a3d059da3 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Aug 18 17:54:30 2015 +0800 btrfs: Update out-of-date "skip parity stripe" comment Because btrfs support scrub raid56 parity stripe now. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d1bfc62591a0a5144dc380976e737fbbb4f40f4f Author: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Date: Mon Aug 31 15:46:07 2015 +0300 ipv4: fix 32b build Address remaining issue after 80ec192. Signed-off-by: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3cce6cda162eb2b2960a85d9c8992f4f3be85d0 Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Aug 14 12:47:33 2015 +1000 md/raid5: ensure device failure recorded before write request returns. When a write to one of the devices of a RAID5/6 fails, the failure is recorded in the metadata of the other devices so that after a restart the data on the failed drive wont be trusted even if that drive seems to be working again (maybe a cable was unplugged). Similarly when we record a bad-block in response to a write failure, we must not let the write complete until the bad-block update is safe. Currently there is no interlock between the write request completing and the metadata update. So it is possible that the write will complete, the app will confirm success in some way, and then the machine will crash before the metadata update completes. This is an extremely small hole for a racy to fit in, but it is theoretically possible and so should be closed. So: - set MD_CHANGE_PENDING when requesting a metadata update for a failed device, so we can know with certainty when it completes - queue requests that completed when MD_CHANGE_PENDING is set to only be processed after the metadata update completes - call raid_end_bio_io() on bios in that queue when the time comes. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 34a6f80e1639b124f24b5fadc1d45d69417cbace Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Aug 14 12:07:57 2015 +1000 md/raid5: use bio_list for the list of bios to return. This will make it easier to splice two lists together which will be needed in future patch. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 95af587e95aacb9cfda4a9641069a5244a540dc8 Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Aug 14 11:26:17 2015 +1000 md/raid10: ensure device failure recorded before write request returns. When a write to one of the legs of a RAID10 fails, the failure is recorded in the metadata of the other legs so that after a restart the data on the failed drive wont be trusted even if that drive seems to be working again (maybe a cable was unplugged). Currently there is no interlock between the write request completing and the metadata update. So it is possible that the write will complete, the app will confirm success in some way, and then the machine will crash before the metadata update completes. This is an extremely small hole for a racy to fit in, but it is theoretically possible and so should be closed. So: - set MD_CHANGE_PENDING when requesting a metadata update for a failed device, so we can know with certainty when it completes - queue requests that experienced an error on a new queue which is only processed after the metadata update completes - call raid_end_bio_io() on bios in that queue when the time comes. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 55ce74d4bfe1b9444436264c637f39a152d1e5ac Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Aug 14 11:11:10 2015 +1000 md/raid1: ensure device failure recorded before write request returns. When a write to one of the legs of a RAID1 fails, the failure is recorded in the metadata of the other leg(s) so that after a restart the data on the failed drive wont be trusted even if that drive seems to be working again (maybe a cable was unplugged). Similarly when we record a bad-block in response to a write failure, we must not let the write complete until the bad-block update is safe. Currently there is no interlock between the write request completing and the metadata update. So it is possible that the write will complete, the app will confirm success in some way, and then the machine will crash before the metadata update completes. This is an extremely small hole for a racy to fit in, but it is theoretically possible and so should be closed. So: - set MD_CHANGE_PENDING when requesting a metadata update for a failed device, so we can know with certainty when it completes - queue requests that experienced an error on a new queue which is only processed after the metadata update completes - call raid_end_bio_io() on bios in that queue when the time comes. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 18b9f67962eb890da0c053e04c3cf0e91871d4fa Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Aug 14 10:22:00 2015 +1000 md-cluster: remove inappropriate try_module_get from join() md_setup_cluster already calls try_module_get(), so this try_module_get isn't needed. Also, there is no matching module_put (except in error patch), so this leaves an unbalanced module count. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6022e75bf0686799a6ecca3c33a669e6c70e9d26 Author: NeilBrown <neilb@xxxxxxxx> Date: Thu Aug 13 12:32:55 2015 +1000 md: extend spinlock protection in register_md_cluster_operations This code looks racy. The only possible race is if two modules try to register at the same time and that won't happen. But make the code look safe anyway. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit abb9b22ac948000ae156cd2d115c8632ec30a2ce Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:22 2015 +0800 md-cluster: Read the disk bitmap sb and check if it needs recovery In gather_all_resync_info, we need to read the disk bitmap sb and check if it needs recovery. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit eece075cda38f55fc5829b5f9ec5fb919c561d81 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:21 2015 +0800 md-cluster: only call complete(&cinfo->completion) when node join cluster Introduce MD_CLUSTER_BEGIN_JOIN_CLUSTER flag to make sure complete(&cinfo->completion) is only be invoked when node join cluster. Otherwise node failure could also call the complete, and it doesn't make sense to do it. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6e6d9f2cda47745a3abcb6609b1dee0e831161d8 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:20 2015 +0800 md-cluster: add missed lockres_free We also need to free the lock resource before goto out. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b2b9bfff0aa721a04a3924ed451c417d2bd9ed15 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:19 2015 +0800 md-cluster: remove the unused sb_lock The sb_lock is not used anywhere, so let's remove it. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 9e3072e373320b331512e24f6650efa0a09720af Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:18 2015 +0800 md-cluster: init suspend_list and suspend_lock early in join If the node just join the cluster, and receive the msg from other nodes before init suspend_list, it will cause kernel crash due to NULL pointer dereference, so move the initializations early to fix the bug. md-cluster: Joined cluster 3578507b-e0cb-6d4f-6322-696cd7b1b10c slot 3 BUG: unable to handle kernel NULL pointer dereference at (null) ... ... ... Call Trace: [<ffffffffa0444924>] process_recvd_msg+0x2e4/0x330 [md_cluster] [<ffffffffa0444a06>] recv_daemon+0x96/0x170 [md_cluster] [<ffffffffa045189d>] md_thread+0x11d/0x170 [md_mod] [<ffffffff810768c4>] kthread+0xb4/0xc0 [<ffffffff8151927c>] ret_from_fork+0x7c/0xb0 ... ... ... RIP [<ffffffffa0443581>] __remove_suspend_info+0x11/0xa0 [md_cluster] Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b5ef56789b808a57fcd07271ff509911662fd877 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:17 2015 +0800 md-cluster: add the error check if failed to get dlm lock In complicated cluster environment, it is possible that the dlm lock couldn't be get/convert on purpose, the related err info is added for better debug potential issue. For lockres_free, if the lock is blocking by a lock request or conversion request, then dlm_unlock just put it back to grant queue, so need to ensure the lock is free finally. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b83d51c0785c34d552111f38fbecbe00cd58b913 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:16 2015 +0800 md-cluster: init completion within lockres_init We should init completion within lockres_init, otherwise completion could be initialized more than one time during it's life cycle. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 66099bb0ee6c20f91ace3fa5f82202fbceb67d8e Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 17:01:15 2015 +0800 md-cluster: fix deadlock issue on message lock There is problem with previous communication mechanism, and we got below deadlock scenario with cluster which has 3 nodes. Sender Receiver Receiver token(EX) message(EX) writes message downconverts message(CR) requests ack(EX) get message(CR) gets message(CR) reads message reads message requests EX on message requests EX on message To fix this problem, we do the following changes: 1. the sender downconverts MESSAGE to CW rather than CR. 2. and the receiver request PR lock not EX lock on message. And in case we failed to down-convert EX to CW on message, it is better to unlock message otherthan still hold the lock. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Lidong Zhong <ldzhong@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit dc737d7c3d62d2cd2b62c7739aaa7604330c3dd8 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 16:54:04 2015 +0800 md-cluster: transfer the resync ownership to another node When node A stops an array while the array is doing a resync, we need to let another node B take over the resync task. To achieve the goal, we need the A send an explicit BITMAP_NEEDS_SYNC message to the cluster. And the node B which received that message will invoke __recover_slot to do resync. Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 05cd0e51769a51f53c68e83976c83653f6ab1595 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 16:54:03 2015 +0800 md-cluster: split recover_slot for future code reuse Make recover_slot as a wraper to __recover_slot, since the logic of __recover_slot can be reused for the condition when other nodes need to take over the resync job. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b89f704a8ddf7be1a66af9aad350226ae283292f Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Jul 10 16:54:02 2015 +0800 md-cluster: use %pU to print UUIDs Reviewed-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 25b2edfa3b6940b73180d2735cd19fdf58d0cf91 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Jul 24 18:19:58 2015 -0400 md: setup safemode_timer before it's being used We used to set up the safemode_timer timer in md_run. If md_run would fail before the timer was set up we'd end up trying to modify a timer that doesn't have a callback function when we access safe_delay_store, which would trigger a BUG. neilb: delete init_timer() call as setup_timer() does that. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6cbd81487f7cfa30e22537bf7cd07f48c4e7164d Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Jul 24 13:30:32 2015 +1000 md/raid5: handle possible race as reshape completes. It is possible (though unlikely) for a reshape to be interrupted between the time that end_reshape is called and the time when raid5_finish_reshape is called. This can leave conf->reshape_progress set to MaxSector, but mddev->reshape_position not. This combination confused reshape_request() when ->reshape_backwards. As conf->reshape_progress is so high, it seems the reshape hasn't really begun. But assuming MaxSector is a valid address only leads to sorrow. So ensure reshape_position and reshape_progress both agree, and add an extra check in reshape_request() just in case they don't. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 5ed1df2eacc0ba92c8c7e2499c97594b5ef928a8 Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Jul 24 13:27:08 2015 +1000 md: sync sync_completed has correct value as recovery finishes. There can be a small window between the moment that recovery actually writes the last block and the time when various sysfs and /proc/mdstat attributes report that it has finished. During this time, 'sync_completed' can have the wrong value. This can confuse monitoring software. So: - don't set curr_resync_completed beyond the end of the devices, - set it correctly when resync/recovery has completed. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c5e19d906a658f27fa858b09a95d9551b1a69bd0 Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Jul 17 12:06:02 2015 +1000 md: be careful when testing resync_max against curr_resync_completed. While it generally shouldn't happen, it is not impossible for curr_resync_completed to exceed resync_max. This can particularly happen when reshaping RAID5 - the current status isn't copied to curr_resync_completed promptly, so when it is, it can exceed resync_max. This happens when the reshape is 'frozen', resync_max is set low, and reshape is re-enabled. Taking a difference between two unsigned numbers is always dangerous anyway, so add a test to behave correctly if curr_resync_completed > resync_max Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit a4a3d26d8757a30ae21724d8b0d79e00e113c38d Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Jul 17 11:57:30 2015 +1000 md: set MD_RECOVERY_RECOVER when starting a degraded array. This ensures that 'sync_action' will show 'recover' immediately the array is started. If there is no spare the status will change to 'idle' once that is detected. Clear MD_RECOVERY_RECOVER for a read-only array to ensure this change happens. This allows scripts which monitor status not to get confused - particularly my test scripts. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c74c0d760e30f56f9699dc180036ca37993d1c58 Author: NeilBrown <neilb@xxxxxxxx> Date: Wed Jul 15 17:54:15 2015 +1000 md/raid5: remove incorrect "min_t()" when calculating writepos. This code is calculating: writepos, which is the furthest along address (device-space) that we *will* be writing to readpos, which is the earliest address that we *could* possible read from, and safepos, which is the earliest address in the 'old' section that we might read from after a crash when the reshape position is recovered from metadata. The first is a precise calculation, so clipping at zero doesn't make sense. As the reshape position is now guaranteed to always be a multiple of reshape_sectors and as we already BUG_ON when reshape_progress is zero, there is no point in this min_t() call. The readpos and safepos are worst case - actual value depends on precise geometry. That worst case could be negative, which is only a problem because we are storing the value in an unsigned. So leave the min_t() for those. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 05256d9884d3276f61537d3d7f5605dc21bd3477 Author: NeilBrown <neilb@xxxxxxxx> Date: Wed Jul 15 17:36:21 2015 +1000 md/raid5: strengthen check on reshape_position at run. When reshaping, we work in units of the largest chunk size. If changing from a larger to a smaller chunk size, that means we reshape more than one stripe at a time. So the required alignment of reshape_position needs to take into account both the old and new chunk size. This means that both 'here_new' and 'here_old' are calculated with respect to the same (maximum) chunk size, so testing if they are the same when delta_disks is zero becomes pointless. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 3cb5edf45457948347b5ae8cc9650c000cef4391 Author: NeilBrown <neilb@xxxxxxxx> Date: Wed Jul 15 17:24:17 2015 +1000 md/raid5: switch to use conf->chunk_sectors in place of mddev->chunk_sectors where possible The chunk_sectors and new_chunk_sectors fields of mddev can be changed any time (via sysfs) that the reconfig mutex can be taken. So raid5 keeps internal copies in 'conf' which are stable except for a short locked moment when reshape stops/starts. So any access that does not hold reconfig_mutex should use the 'conf' values, not the 'mddev' values. Several don't. This could result in corruption if new values were written at awkward times. Also use min() or max() rather than open-coding. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 5cac6bcb9312a18a5091976fc374b4c7b9c4ae2e Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Jul 17 12:17:50 2015 +1000 md/raid5: always set conf->prev_chunk_sectors and ->prev_algo These aren't really needed when no reshape is happening, but it is safer to have them always set to a meaningful value. The next patch will use ->prev_chunk_sectors without checking if a reshape is happening (because that makes the code simpler), and this patch makes that safe. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 02ec50265b16493e4a62228727e9f774068123d2 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Jul 6 16:33:47 2015 +1000 md/raid10: fix a few typos in comments Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 92140480ed59a006b245efd33a195fde62d1845f Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Jul 6 12:28:45 2015 +1000 md/raid5: consider updating reshape_position at start of reshape. md/raid5 only updates ->reshape_position (which is stored in metadata and is authoritative) occasionally, but particularly when getting closed to ->resync_max as it must be correct when ->resync_max is reached. When mdadm tries to stop an array which is reshaping it will: - freeze the reshape, - set resync_max to where the reshape has reached. - unfreeze the reshape. When this happens, the reshape is aborted and then restarted. The restart doesn't check that resync_max is close, and so doesn't update ->reshape_position like it should. This results in the reshape stopping, but ->reshape_position being incorrect. So on that first call to reshape_request, make sure ->reshape_position is updated if needed. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 985ca973b68cac0adfa83497db231da7f99c6ed9 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Jul 6 12:26:57 2015 +1000 md: close some races between setting and checking sync_action. When checking sync_action in a script, we want to be sure it is as accurate as possible. As resync/reshape etc doesn't always start immediately (a separate thread is scheduled to do it), it is best if 'action_show' checks if MD_RECOVER_NEEDED is set (which it does) and in that case reports what is likely to start soon (which it only sometimes does). So: - report 'reshape' if reshape_position suggests one might start. - set MD_RECOVERY_RECOVER in raid1_reshape(), because that is very likely to happen next. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit f7851be736d58e7270f05a4ca84b16ce72734a18 Author: NeilBrown <neilb@xxxxxxxx> Date: Thu Jul 2 17:12:58 2015 +1000 md: Keep /proc/mdstat reporting recovery until fully DONE. Currently when a recovery completes, mdstat shows that it has finished before the new device is marked as a full member. Because of this it can appear to a script that the recovery finished but the array isn't in sync. So while MD_RECOVERY_DONE is still set, keep mdstat reporting "recovery". Once md_reap_sync_thread() completes, the spare will be active and then MD_RECOVERY_DONE will be cleared. To ensure this is race-free, set MD_RECOVERY_DONE before clearning curr_resync. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 0e833e697bcf4c2f3f7fb9fce39d08cd4439e5d7 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Jul 1 12:19:56 2015 +1000 md/raid6: delta syndrome for ARM NEON This implements XOR syndrome calculation using NEON intrinsics. As before, the module can be built for ARM and arm64 from the same source. Relative performance on a Cortex-A57 based system: raid6: int64x1 gen() 905 MB/s raid6: int64x1 xor() 881 MB/s raid6: int64x2 gen() 1343 MB/s raid6: int64x2 xor() 1286 MB/s raid6: int64x4 gen() 1896 MB/s raid6: int64x4 xor() 1321 MB/s raid6: int64x8 gen() 1773 MB/s raid6: int64x8 xor() 1165 MB/s raid6: neonx1 gen() 1834 MB/s raid6: neonx1 xor() 1278 MB/s raid6: neonx2 gen() 2528 MB/s raid6: neonx2 xor() 1942 MB/s raid6: neonx4 gen() 2888 MB/s raid6: neonx4 xor() 2334 MB/s raid6: neonx8 gen() 2957 MB/s raid6: neonx8 xor() 2232 MB/s raid6: using algorithm neonx8 gen() 2957 MB/s raid6: .... xor() 2232 MB/s, rmw enabled Cc: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 2f37d65a6a5c360ba0c386a6aa0d2afcbda7060d Merge: 1af115d 415bcb5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 09:24:06 2015 -0700 Merge tag 'staging-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver updates from Greg KH: "Here is the big staging driver updates for 4.3-rc1. Lots of things all over the place, almost all of them trivial fixups and changes. The usual IIO updates and new drivers and we have added the MOST driver subsystem which is getting cleaned up in the tree. The ozwpan driver is finally being deleted as it is obviously abandoned and no one cares about it. Full details are in the shortlog, and all of these have been in linux-next with no reported issues" * tag 'staging-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (912 commits) staging/lustre/o2iblnd: remove references to ib_reg_phsy_mr() staging: wilc1000: fix build warning with setup_timer() staging: wilc1000: remove DECLARE_WILC_BUFFER() staging: wilc1000: remove void function return statements that are not useful staging: wilc1000: coreconfigurator.c: fix kmalloc error check staging: wilc1000: coreconfigurator.c: use kmalloc instead of WILC_MALLOC staging: wilc1000: remove unused codes of gps8ConfigPacket staging: wilc1000: remove unnecessary void pointer cast staging: wilc1000: remove WILC_NEW and WILC_NEW_EX staging: wilc1000: use kmalloc instead of WILC_NEW staging: wilc1000: Process WARN, INFO options of debug levels from user staging: wilc1000: remove unneeded tstrWILC_MsgQueueAttrs typedef staging: wilc1000: delete wilc_osconfig.h staging: wilc1000: delete wilc_log.h staging: wilc1000: delete wilc_timer.h staging: wilc1000: remove WILC_TimerStart() staging: wilc1000: remove WILC_TimerCreate() staging: wilc1000: remove WILC_TimerDestroy() staging: wilc1000: remove WILC_TimerStop() staging: wilc1000: remove tstrWILC_TimerAttrs typedef ... commit 1af115d675f323afee1e64650277a9b170845b81 Merge: 1c00038 71db87b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 08:47:40 2015 -0700 Merge tag 'driver-core-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core updates from Greg KH: "Here is the new patches for the driver core / sysfs for 4.3-rc1. Very small number of changes here, all the details are in the shortlog, nothing major happening at all this kernel release, which is nice to see" * tag 'driver-core-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: bus: subsys: update return type of ->remove_dev() to void driver core: correct device's shutdown order driver core: fix docbook for device_private.device selftests: firmware: skip timeout checks for kernels without user mode helper kernel, cpu: Remove bogus __ref annotations cpu: Remove bogus __ref annotation of cpu_subsys_online() firmware: fix wrong memory deallocation in fw_add_devm_name() sysfs.txt: update show method notes about sprintf/snprintf/scnprintf usage devres: fix devres_get() commit d8e19f99d3483adb01c6269dd5775ba8ecf1870a Author: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Date: Thu Aug 13 18:00:12 2015 +0800 drm/i915/skl: Adding DDI_E power well domain From B spec, DDI_E port belong to PowerWell 2, but DDI_E share the powerwell_req/staus register bit with DDI_A which belong to DDI_A_E_POWER_WELL. In order to communicate with the connector on DDI-E, both DDI_A_E_POWER_WELL and POWER_WELL_2 must be enabled. Currently intel_dp_power_get(DDI_E) only enable DDI_A_E_POWER_WELL, this patch will not only enable DDI_a_E_POWER_WELL but also enable POWER_WELL_2. This patch also fix the DDI-E hotplug function. Signed-off-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 7040c399aea2b0213a9aefd73e507369a6d641d6 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Aug 31 11:15:05 2015 -0400 drm/radeon/native: Send out the full AUX address AUX addresses are 20 bits long. Send out the entire address instead of just the low 16 bits. Port of: drm/radeon/atom: Send out the full AUX address to radeon non-atom aux path Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3f8340cc72c9a1a4b49bce7802afd7f248400ef5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:31 2015 +0300 drm/radeon/atom: Send out the full AUX address AUX addresses are 20 bits long. Send out the entire address instead of just the low 16 bits. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 477ec3283c324d16e8da07a8d8a4a367e31b6eab Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Aug 6 15:51:39 2015 +0800 drm/i915: eDP can be present on DDI-E Enable eDP on DDI-E. Also let's remove duplicated definitions to avoid later confusion. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 1c00038c765561c08fd942d08579fa860e604f31 Merge: 44e98ed 672cfee Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 08:34:13 2015 -0700 Merge tag 'char-misc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver patches from Greg KH: "Here's the "big" char/misc driver update for 4.3-rc1. Not much really interesting here, just a number of little changes all over the place, and some nice consolidation of the nvmem drivers to a common framework. As usual, the mei drivers stand out as the largest "churn" to handle new devices and features in their hardware. All have been in linux-next for a while with no issues" * tag 'char-misc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (136 commits) auxdisplay: ks0108: initialize local parport variable extcon: palmas: Fix build break due to devm_gpiod_get_optional API change extcon: palmas: Support GPIO based USB ID detection extcon: Fix signedness bugs about break error handling extcon: Drop owner assignment from i2c_driver extcon: arizona: Simplify pdata symantics for micd_dbtime extcon: arizona: Declare 3-pole jack if we detect open circuit on mic extcon: Add exception handling to prevent the NULL pointer access extcon: arizona: Ensure variables are set for headphone detection extcon: arizona: Use gpiod inteface to handle micd_pol_gpio gpio extcon: arizona: Add basic microphone detection DT/ACPI bindings extcon: arizona: Update to use the new device properties API extcon: palmas: Remove the mutually_exclusive array extcon: Remove optional print_state() function pointer of struct extcon_dev extcon: Remove duplicate header file in extcon.h extcon: max77843: Clear IRQ bits state before request IRQ toshiba laptop: replace ioremap_cache with ioremap misc: eeprom: max6875: clean up max6875_read() misc: eeprom: clean up eeprom_read() misc: eeprom: 93xx46: clean up eeprom_93xx46_bin_read/write ... commit 2800e4c228b8961c4da1a4925cc20c16e623851b Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Aug 7 17:35:21 2015 -0700 drm/i915/skl: Enable DDI-E There are OEMs using DDI-E out there, so let's enable it. Unfortunately there is no detection bit for DDI-E So we need to rely on VBT for that. I also need to give credits to Xiong since before seing his approach to check info->support_* I was creating an ugly vbt->ddie_sfuse_strap in order to propagate the ddi presence info v2: Rebased as last patch in the series. since all other patches in this series are needed for anything working propperly on DDI-E. Credits-to: "Zhang, Xiong Y" <xiong.y.zhang@xxxxxxxxx> Cc: "Zhang, Xiong Y" <xiong.y.zhang@xxxxxxxxx> Reviewed-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 44e98edcd11a48619b342d8f442d447b094ab2fc Merge: 64291f7 4d283ec Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 08:27:44 2015 -0700 Merge tag 'kvm-4.3-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull kvm updates from Paolo Bonzini: "A very small release for x86 and s390 KVM. - s390: timekeeping changes, cleanups and fixes - x86: support for Hyper-V MSRs to report crashes, and a bunch of cleanups. One interesting feature that was planned for 4.3 (emulating the local APIC in kernel while keeping the IOAPIC and 8254 in userspace) had to be delayed because Intel complained about my reading of the manual" * tag 'kvm-4.3-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (42 commits) x86/kvm: Rename VMX's segment access rights defines KVM: x86/vPMU: Fix unnecessary signed extension for AMD PERFCTRn kvm: x86: Fix error handling in the function kvm_lapic_sync_from_vapic KVM: s390: Fix assumption that kvm_set_irq_routing is always run successfully KVM: VMX: drop ept misconfig check KVM: MMU: fully check zero bits for sptes KVM: MMU: introduce is_shadow_zero_bits_set() KVM: MMU: introduce the framework to check zero bits on sptes KVM: MMU: split reset_rsvds_bits_mask_ept KVM: MMU: split reset_rsvds_bits_mask KVM: MMU: introduce rsvd_bits_validate KVM: MMU: move FNAME(is_rsvd_bits_set) to mmu.c KVM: MMU: fix validation of mmio page fault KVM: MTRR: Use default type for non-MTRR-covered gfn before WARN_ON KVM: s390: host STP toleration for VMs KVM: x86: clean/fix memory barriers in irqchip_in_kernel KVM: document memory barriers for kvm->vcpus/kvm->online_vcpus KVM: x86: remove unnecessary memory barriers for shared MSRs KVM: move code related to KVM_SET_BOOT_CPU_ID to x86 KVM: s390: log capability enablement and vm attribute changes ... commit 11c1b657c42f65c43f866b611956ef0a10bedafc Author: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Date: Mon Aug 17 16:04:04 2015 +0800 drm/i915: Enable HDMI on DDI-E DDI-E doesn't have the correspondent GMBUS pin. We rely on VBT to tell us which one it being used instead. The DVI/HDMI on shared port couldn't exist. This patch isn't tested without hardware wchich has HDMI on DDI-E. v2: fix trailing whitespace v3: MISSING_CASE take place of BUG() Signed-off-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 54875571bbfde00fc63741715c531cbb5246c3b2 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Jun 30 17:06:47 2015 +0300 drm/i915: apply the PCI_D0/D3 hibernation workaround everywhere on pre GEN6 commit da2bc1b9db3351addd293e5b82757efe1f77ed1d Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Oct 23 19:23:26 2014 +0300 drm/i915: add poweroff_late handler introduced a regression on old platforms during hibernation. A workaround was added in commit ab3be73fa7b43f4c3648ce29b5fd649ea54d3adb Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Mar 2 13:04:41 2015 +0200 drm/i915: gen4: work around hang during hibernation using an explicit blacklist for the GENs/BIOS vendors where the issue was reported. Later there we had reports of the same failure on platforms not on this list. To my best knowledge the correct thing to do is still to put the device to PCI D3 state during hibernation, see [1] and [2] for the reasons. This also aligns with our future plans to unify more the runtime and system suspend/resume paths. Since an exact blacklist seems to be impractical (multiple GENs and BIOS vendors are affected) apply the workaround on everything pre GEN6. [1] http://lists.freedesktop.org/archives/intel-gfx/2015-February/060710.html [2] https://lkml.org/lkml/2015/6/22/274 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=95061 Reported-by: Ilya Tumaykin <itumaykin@xxxxxxxxx> Reported-by: Dirk Griesbach <spamthis@xxxxxxxxxx> Reported-by: Pavel Machek <pavel@xxxxxx> Reported-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Tested-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Reported-by: Paul Bolle <pebolle@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d14e7b6d1d8747826cb900db852351c550e00fdd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 20 19:37:29 2015 +0300 drm/i915: Check DP link status on long hpd too We are no longer checkling the DP link status on long hpd. We used to do that from the .hot_plug() handler, but it was removed when MST got introduced. If there's no userspace we now fail to retrain the link if the sink power is toggled (or cable yanked and replugged), meaning the user is left staring at a blank screen. With the retraining put back that should be fixed. Also remove the leftover comment that referred to the old retraining from .hot_plug(). Fixes a regression introduced in: commit 0e32b39ceed665bfa4a77a4bc307b6652b991632 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri May 2 14:02:48 2014 +1000 drm/i915: add DP 1.2 MST support (v0.7) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89453 Tested-by: Palmer Dabbelt <palmer@xxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91407 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89461 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89594 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85641 Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f0a515780393dffbb363e6d1567da46af6f3c5f3 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Aug 28 07:06:58 2015 -0400 tracing: Don't make assumptions about length of string on task rename While the dest comm string size is assured to be at least TASK_COMM_LEN long, doing a memcpy() also adds the assumption that the source is at least that long as well, which isn't assured, and isn't true in cases such as: set_task_comm(worker->task, "kworker/dying"); This leads to accessing invalid memory. Link: http://lkml.kernel.org/r/1440760018-1557-1-git-send-email-sasha.levin@xxxxxxxxxx Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 08ceab9d875824f8b389530e830349d5d6c4e582 Merge: 22c103c 9193132 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 31 16:25:22 2015 +0200 Merge tag 'asoc-v4.2-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Updates for v4.3 Not many updates to the core here, but an awful lot of driver updates this time round: - Factoring out of AC'97 reset code into the core - New drivers for Cirrus CS4349, GTM601, InvenSense ICS43432, Realtek RT298 and ST STI controllers. - Machine drivers for Rockchip systems with MAX98090 and RT5645 and RT5650. - Initial driver support for Intel Skylake devices. - A large number of cleanups for Lars-Peter Clausen and Axel Lin. commit c5992f610f78e6c9d0a78e8fef1066ad640e17e8 Merge: c92ec7c f682c4f 98c7863 bf96283 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:45 2015 +0100 Merge remote-tracking branches 'spi/topic/ti-qspi', 'spi/topic/xcomm' and 'spi/topic/xlp' into spi-next commit c92ec7c7ae99a371bbc69f0258888a0328ba4838 Merge: 2ca0a9d ed425dc 65598c1 fe78d0b 89a6356 eca2ebc Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:41 2015 +0100 Merge remote-tracking branches 'spi/topic/s3c64xx', 'spi/topic/sg', 'spi/topic/sh-msiof', 'spi/topic/spidev' and 'spi/topic/stats' into spi-next commit 2ca0a9d80c3a2cd3917b768080cce7f59b9bc490 Merge: 18c558e 1529332 757fe8d cb76b1c 99622f5 385a9c8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:36 2015 +0100 Merge remote-tracking branches 'spi/topic/mtk', 'spi/topic/pxa2xx', 'spi/topic/qspi', 'spi/topic/rockchip' and 'spi/topic/s3c24xx' into spi-next commit 18c558ec748b13048ae51681f7da8248ddcb7d1c Merge: 9d05943 c4fe57f 37c5db7 93e3a9e 1f2112a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:32 2015 +0100 Merge remote-tracking branches 'spi/topic/dw', 'spi/topic/fsl-espi', 'spi/topic/img-spfi' and 'spi/topic/mpc512x-psc' into spi-next commit 9d05943e79cc54a9d8ef8196900d7cca9e5ca039 Merge: 8e42ac8 bdbbd38 ca861dd f4d8622 1b0838b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:29 2015 +0100 Merge remote-tracking branches 'spi/topic/atmel', 'spi/topic/bcm2835', 'spi/topic/bcm63xx-hsspi' and 'spi/topic/davinci' into spi-next commit 8e42ac814c63dd5c5e39bbbfbc9c6578e19c765f Merge: bc64509 c37f45b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:28 2015 +0100 Merge remote-tracking branch 'spi/topic/dma' into spi-next commit bc6450994976f26bbde656b1994f95b955bdabfc Merge: af21121 63ab645 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:27 2015 +0100 Merge remote-tracking branch 'spi/topic/core' into spi-next commit af211211e39f59575854d5976a4e301c8c21d4bc Merge: c13dcf9 43a0da2 26a67ec 9176c66 5f74db1 38d6211 7434684 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 31 14:45:23 2015 +0100 Merge remote-tracking branches 'spi/fix/bcm2835', 'spi/fix/bitbang', 'spi/fix/img-spfi', 'spi/fix/omap2-mcspi', 'spi/fix/orion' and 'spi/fix/xilinx' into spi-linus commit fe78d0b7691c02744004b15f6979b3f106464bc4 Author: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Date: Mon Jun 15 02:25:05 2015 +0900 spi: sh-msiof: Fix FIFO size to 64 word from 256 word The upper limit of Tx/Rx FIFO size is 64 word by the specification of H/W. This patch corrects to 64 word from 256 word. Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 17649c90ff4c5246bb4babf6260029968a6d119d Author: Sergey SENOZHATSKY <sergey.senozhatsky.work@xxxxxxxxx> Date: Mon Aug 31 18:54:58 2015 +0900 regmap: fix a NULL pointer dereference in __regmap_init __regmap_init() may receive a NULL `struct regmap_bus *bus' pointer, for example, from snd_hdac_regmap_init(), and it make sure that it does not NULL deference `bus`, except around ->max_raw_read and ->max_raw_write initialisation. Add missing check. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d5b98eb12420ce856caaf57dc5256eedc56a3747 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Aug 28 20:04:53 2015 +0100 regmap: Support bulk reads for devices without raw formatting When doing a bulk read from a device which lacks raw I/O support we fall back to doing register at a time reads but we still use the raw formatters in order to render the data into the word size used by the device (since bulk reads still operate on the device word size rather than unsigned ints). This means that devices without raw formatting such as those that provide reg_read() are not supported. Provide handling for them by copying the values read into native endian values of the appropriate size. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2d89a1d3c9ff8ceb115f001e66cff9788338ca47 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 31 02:05:47 2015 -0700 NFSv4.1/pNFS: Don't request a minimal read layout beyond the end of file If we have a read layout, then sanity check the minimal layout length so that it does not extend beyond the end of file. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 21b874c873b5019db8bb4b4f6aa929c4bac0a398 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 31 01:19:22 2015 -0700 NFSv4.1/pnfs: Handle LAYOUTGET return values correctly According to RFC5661 section 18.43.3, if the server cannot satisfy the loga_minlength argument to LAYOUTGET, there are 2 cases: 1) If loga_minlength == 0, it returns NFS4ERR_LAYOUTTRYLATER 2) If loga_minlength != 0, it returns NFS4ERR_BADLAYOUT Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4ae93560b11cb2b57ea5732d442458694ab0c168 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 31 01:25:11 2015 -0700 NFSv4.1/pnfs: Don't ask for a read layout for an empty file. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit bac2e4a96d1c0bcce5e9654dcc902f75576b9b03 Merge: 02b643b 2c07144 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 31 10:25:46 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvement and fixes from Arnaldo Carvalho de Melo: User visible changes: - Add new compaction-times python script. (Tony Jones) - Make the --[no-]-demangle/--[no-]-demangle-kernel command line options available in 'perf script' too. (Mark Drayton) - Allow for negative numbers in libtraceevent's print format, fixing up misformatting in some tracepoints. (Steven Rostedt) Infrastructure changes: - perf_env/perf_evlist changes to allow accessing the data structure with the environment where some perf data was collected in functions not necessarily related to perf.data file processing. (Kan Liang) - Cleanups for the tracepoint definition location paths routines. (Jiri Olsa) - Introduce sysfs/filename__sprintf_build_id, removing code duplication. (Masami Hiramatsu) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02b643b643254ec79b5f9aaa143e10be68eabdab Merge: d1ee8bc 4c09e0d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 31 10:25:26 2015 +0200 Merge branch 'perf/urgent' into perf/core, to pick up fixes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4c09e0d6ba65507a0ee0ca9abc5335e4f7bd7404 Merge: 64291f7 601083c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 31 10:24:24 2015 +0200 Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/urgent fix from Arnaldo Carvalho de Melo: - Use index, not CPU id, to find core/pkg id in 'perf stat' (Kan Liang) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 71f8a4b81d040b3d094424197ca2f1bf811b1245 Author: Jialing Fu <jlfu@xxxxxxxxxxx> Date: Fri Aug 28 11:13:09 2015 +0800 mmc: core: fix race condition in mmc_wait_data_done The following panic is captured in ker3.14, but the issue still exists in latest kernel. --------------------------------------------------------------------- [ 20.738217] c0 3136 (Compiler) Unable to handle kernel NULL pointer dereference at virtual address 00000578 ...... [ 20.738499] c0 3136 (Compiler) PC is at _raw_spin_lock_irqsave+0x24/0x60 [ 20.738527] c0 3136 (Compiler) LR is at _raw_spin_lock_irqsave+0x20/0x60 [ 20.740134] c0 3136 (Compiler) Call trace: [ 20.740165] c0 3136 (Compiler) [<ffffffc0008ee900>] _raw_spin_lock_irqsave+0x24/0x60 [ 20.740200] c0 3136 (Compiler) [<ffffffc0000dd024>] __wake_up+0x1c/0x54 [ 20.740230] c0 3136 (Compiler) [<ffffffc000639414>] mmc_wait_data_done+0x28/0x34 [ 20.740262] c0 3136 (Compiler) [<ffffffc0006391a0>] mmc_request_done+0xa4/0x220 [ 20.740314] c0 3136 (Compiler) [<ffffffc000656894>] sdhci_tasklet_finish+0xac/0x264 [ 20.740352] c0 3136 (Compiler) [<ffffffc0000a2b58>] tasklet_action+0xa0/0x158 [ 20.740382] c0 3136 (Compiler) [<ffffffc0000a2078>] __do_softirq+0x10c/0x2e4 [ 20.740411] c0 3136 (Compiler) [<ffffffc0000a24bc>] irq_exit+0x8c/0xc0 [ 20.740439] c0 3136 (Compiler) [<ffffffc00008489c>] handle_IRQ+0x48/0xac [ 20.740469] c0 3136 (Compiler) [<ffffffc000081428>] gic_handle_irq+0x38/0x7c ---------------------------------------------------------------------- Because in SMP, "mrq" has race condition between below two paths: path1: CPU0: <tasklet context> static void mmc_wait_data_done(struct mmc_request *mrq) { mrq->host->context_info.is_done_rcv = true; // // If CPU0 has just finished "is_done_rcv = true" in path1, and at // this moment, IRQ or ICache line missing happens in CPU0. // What happens in CPU1 (path2)? // // If the mmcqd thread in CPU1(path2) hasn't entered to sleep mode: // path2 would have chance to break from wait_event_interruptible // in mmc_wait_for_data_req_done and continue to run for next // mmc_request (mmc_blk_rw_rq_prep). // // Within mmc_blk_rq_prep, mrq is cleared to 0. // If below line still gets host from "mrq" as the result of // compiler, the panic happens as we traced. wake_up_interruptible(&mrq->host->context_info.wait); } path2: CPU1: <The mmcqd thread runs mmc_queue_thread> static int mmc_wait_for_data_req_done(... { ... while (1) { wait_event_interruptible(context_info->wait, (context_info->is_done_rcv || context_info->is_new_req)); static void mmc_blk_rw_rq_prep(... { ... memset(brq, 0, sizeof(struct mmc_blk_request)); This issue happens very coincidentally; however adding mdelay(1) in mmc_wait_data_done as below could duplicate it easily. static void mmc_wait_data_done(struct mmc_request *mrq) { mrq->host->context_info.is_done_rcv = true; + mdelay(1); wake_up_interruptible(&mrq->host->context_info.wait); } At runtime, IRQ or ICache line missing may just happen at the same place of the mdelay(1). This patch gets the mmc_context_info at the beginning of function, it can avoid this race condition. Signed-off-by: Jialing Fu <jlfu@xxxxxxxxxxx> Tested-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Fixes: 2220eedfd7ae ("mmc: fix async request mechanism ....") Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 01e2dae991771adb1257eb5cd3cecfda1aa09ba9 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Aug 31 08:56:04 2015 +0200 Revert "gpio: extraxfs: fix returnvar.cocci warnings" This reverts commit 5e22ec019823b0204720e1ad9a5866c638332b3a. commit 80ec1927b102480f89436e7d7f961a263e916a44 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 30 22:40:44 2015 -0700 ipv4: Fix 32-bit build. net/ipv4/af_inet.c: In function 'snmp_get_cpu_field64': >> net/ipv4/af_inet.c:1486:26: error: 'offt' undeclared (first use in this function) v = *(((u64 *)bhptr) + offt); ^ net/ipv4/af_inet.c:1486:26: note: each undeclared identifier is reported only once for each function it appears in net/ipv4/af_inet.c: In function 'snmp_fold_field64': >> net/ipv4/af_inet.c:1499:39: error: 'offct' undeclared (first use in this function) res += snmp_get_cpu_field(mib, cpu, offct, syncp_offset); ^ >> net/ipv4/af_inet.c:1499:10: error: too many arguments to function 'snmp_get_cpu_field' res += snmp_get_cpu_field(mib, cpu, offct, syncp_offset); ^ net/ipv4/af_inet.c:1455:5: note: declared here u64 snmp_get_cpu_field(void __percpu *mib, int cpu, int offt) ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ef707700f1cef2357ce655fc86a4de5e41fa4b5 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Mon Aug 31 07:54:49 2015 +0900 netlink: rx mmap: fix POLLIN condition Poll() returns immediately after setting the kernel current frame (ring->head) to SKIP from user space even though there is no new frame. And in a case of all frames is VALID, user space program unintensionally sets (only) kernel current frame to UNUSED, then calls poll(), it will not return immediately even though there are VALID frames. To avoid situations like above, I think we need to scan all frames to find VALID frames at poll() like netlink_alloc_skb(), netlink_forward_ring() finding an UNUSED frame at skb allocation. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 793768f55c218a260015fe2029ae3d84676cae03 Merge: ef34c0f d77a238 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 30 21:54:13 2015 -0700 Merge branch 'thunderx-features-fixes' Aleksey Makarov says: ==================== net: thunderx: New features and fixes v2: - The unused affinity_mask field of the structure cmp_queue has been deleted. (thanks to David Miller) - The unneeded initializers have been dropped. (thanks to Alexey Klimov) - The commit message "net: thunderx: Rework interrupt handling" has been fixed. (thanks to Alexey Klimov) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d77a2384988fd397cf4f71417b9d971aa435758d Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:16 2015 +0300 net: thunderx: Support for internal loopback mode Support for setting VF's corresponding BGX LMAC in internal loopback mode. This mode can be used for verifying basic HW functionality such as packet I/O, RX checksum validation, CQ/RBDR interrupts, stats e.t.c. Useful when DUT has no external network connectivity. 'loopback' mode can be enabled or disabled via ethtool. Note: This feature is not supported when no of VFs enabled are morethan no of physical interfaces i.e active BGX LMACs Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92dc87697e6a71675a9e9eec04ebecd8cf4837a3 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:15 2015 +0300 net: thunderx: Support for upto 96 queues for a VF This patch adds support for handling multiple qsets assigned to a single VF. There by increasing no of queues from earlier 8 to max no of CPUs in the system i.e 48 queues on a single node and 96 on dual node system. User doesn't have option to assign which Qsets/VFs to be merged. Upon request from VF, PF assigns next free Qsets as secondary qsets. To maintain current behavior no of queues is kept to 8 by default which can be increased via ethtool. If user wants to unbind NICVF driver from a secondary Qset then it should be done after tearing down primary VF's interface. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39ad6eea6c1a01b69abb1102a767697fb9349830 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:14 2015 +0300 net: thunderx: Rework interrupt handling Rework interrupt handler to avoid checking IRQ affinity of CQ interrupts. Now separate handlers are registered for each IRQ including RBDR. Register interrupt handlers for only those which are being used. Add nicvf_dump_intr_status() and use it in irq handlers. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa2e259b474a4f52ecc9f6e0d444547de0aac4b2 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:13 2015 +0300 net: thunderx: Support for HW VLAN stripping This patch configures HW to strip 802.1Q header if found in a receiving packet. The stripped VLAN ID and TCI information is passed on to software via CQE_RX. Also sets netdev's 'vlan_features' so that other HW offload features can be used for tagged packets. This offload feature can be enabled or disabled via ethtool. Network stack normally ignores RPS for 802.1Q packets and hence low throughput. With this offload enabled throughput for tagged packets will be almost same as normal packets. Note: This patch doesn't enable HW VLAN insertion for transmit packets. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 38bb5d4f4f988c98035fca003138dd84471432f2 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:12 2015 +0300 net: thunderx: Receive hashing HW offload support Adding support for receive hashing HW offload by using RSS_ALG and RSS_TAG fields of CQE_RX descriptor. Also removed dependency on minimum receive queue count to configure RSS so that hash is always generated. This hash is used by RPS logic to distribute flows across multiple CPUs. Offload can be disabled via ethtool. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6051cba77c1c768d954cf9e423c44bcb85b9adb8 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:11 2015 +0300 net: thunderx: mailboxes: remove code duplication Use the nicvf_send_msg_to_pf() function in the mailbox code. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2dc5dedbbb32d082a9b6edf8793734dbfd59315 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Sun Aug 30 12:29:10 2015 +0300 net: thunderx: Add receive error stats reporting via ethtool Added ethtool support to dump receive packet error statistics reported in CQE. Also made some small fixes Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 322e5cc5c6c03584ff9362357fc1448b5e442e9e Author: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 12:29:09 2015 +0300 net: thunderx: fix MAINTAINERS The liquidio and thunder drivers have different maintainers. Signed-off-by: Aleksey Makarov <aleksey.makarov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef34c0f6c18b463e644929e300473c80d4157896 Merge: 06fb4e7 a3a7737 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 30 21:48:59 2015 -0700 Merge branch 'snmp-stat-aggregation' Raghavendra K T says: ==================== Optimize the snmp stat aggregation for large cpus While creating 1000 containers, perf is showing lot of time spent in snmp_fold_field on a large cpu system. The current patch tries to improve by reordering the statistics gathering. Please note that similar overhead was also reported while creating veth pairs https://lkml.org/lkml/2013/3/19/556 Changes in V4: - remove 'item' variable and use IPSTATS_MIB_MAX to avoid sparse warning (Eric) also remove 'item' parameter (Joe) - add missing memset of padding. Changes in V3: - use memset to initialize temp buffer in leaf function. (David) - use memcpy to copy the buffer data to stat instead of unalign_pu (Joe) - Move buffer definition to leaf function __snmp6_fill_stats64() (Eric) - Changes in V2: - Allocate the stat calculation buffer in stack. (Eric) Setup: 160 cpu (20 core) baremetal powerpc system with 1TB memory 1000 docker containers was created with command docker run -itd ubuntu:15.04 /bin/bash in loop observation: Docker container creation linearly increased from around 1.6 sec to 7.5 sec (at 1000 containers) perf data showed, creating veth interfaces resulting in the below code path was taking more time. rtnl_fill_ifinfo -> inet6_fill_link_af -> inet6_fill_ifla6_attrs -> snmp_fold_field proposed idea: currently __snmp6_fill_stats64 calls snmp_fold_field that walks through per cpu data to of an item (iteratively for around 36 items). The patch tries to aggregate the statistics by going through all the items of each cpu sequentially which is reducing cache misses. Performance of docker creation improved by around more than 2x after the patch. before the patch: ================ 3f45ba571a42e925c4ec4aaee0e48d7610a9ed82a4c931f83324d41822cf6617 real 0m6.836s user 0m0.095s sys 0m0.011s perf record -a docker run -itd ubuntu:15.04 /bin/bash ======================================================= 50.73% docker [kernel.kallsyms] [k] snmp_fold_field 9.07% swapper [kernel.kallsyms] [k] snooze_loop 3.49% docker [kernel.kallsyms] [k] veth_stats_one 2.85% swapper [kernel.kallsyms] [k] _raw_spin_lock 1.37% docker docker [.] backtrace_qsort 1.31% docker docker [.] strings.FieldsFunc cache-misses: 2.7% after the patch: ============= 9178273e9df399c8290b6c196e4aef9273be2876225f63b14a60cf97eacfafb5 real 0m3.249s user 0m0.088s sys 0m0.020s perf record -a docker run -itd ubuntu:15.04 /bin/bash ======================================================= 10.57% docker docker [.] scanblock 8.37% swapper [kernel.kallsyms] [k] snooze_loop 6.91% docker [kernel.kallsyms] [k] snmp_get_cpu_field 6.67% docker [kernel.kallsyms] [k] veth_stats_one 3.96% docker docker [.] runtime_MSpan_Sweep 2.47% docker docker [.] strings.FieldsFunc cache-misses: 1.41 % Please let me know if you have suggestions/comments. Thanks Eric, Joe and David for the comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3a773726c9f9ba2e87fd8ad8e36feff5f6ffd8e Author: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 11:29:42 2015 +0530 net: Optimize snmp stat aggregation by walking all the percpu data at once Docker container creation linearly increased from around 1.6 sec to 7.5 sec (at 1000 containers) and perf data showed 50% ovehead in snmp_fold_field. reason: currently __snmp6_fill_stats64 calls snmp_fold_field that walks through per cpu data of an item (iteratively for around 36 items). idea: This patch tries to aggregate the statistics by going through all the items of each cpu sequentially which is reducing cache misses. Docker creation got faster by more than 2x after the patch. Result: Before After Docker creation time 6.836s 3.25s cache miss 2.7% 1.41% perf before: 50.73% docker [kernel.kallsyms] [k] snmp_fold_field 9.07% swapper [kernel.kallsyms] [k] snooze_loop 3.49% docker [kernel.kallsyms] [k] veth_stats_one 2.85% swapper [kernel.kallsyms] [k] _raw_spin_lock perf after: 10.57% docker docker [.] scanblock 8.37% swapper [kernel.kallsyms] [k] snooze_loop 6.91% docker [kernel.kallsyms] [k] snmp_get_cpu_field 6.67% docker [kernel.kallsyms] [k] veth_stats_one changes/ideas suggested: Using buffer in stack (Eric), Usage of memset (David), Using memcpy in place of unaligned_put (Joe). Signed-off-by: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4c6bc314618f60ba69b0cbf93e506e4c38a11d2 Author: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 11:29:41 2015 +0530 net: Introduce helper functions to get the per cpu data Signed-off-by: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06fb4e701b17e93366542e4cc57047e411136af7 Merge: 2573d78 f892a84 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 30 21:45:01 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit 4a1e2feb9d246775dee0f78ed5b18826bae2b1c5 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 30 18:37:59 2015 -0700 NFSv4.1: Fix a protocol issue with CLOSE stateids According to RFC5661 Section 18.2.4, CLOSE is supposed to return the zero stateid. This means that nfs_clear_open_stateid_locked() cannot assume that the result stateid will always match the 'other' field of the existing open stateid when trying to determine a race with a parallel OPEN. Instead, we look at the argument, and check for matches. Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8f8dcb3f7fe4febbfa96e64d4ad47de958c5cc34 Author: Matt Turner <mattst88@xxxxxxxxx> Date: Tue Aug 4 14:35:05 2015 -0700 alpha: select CONFIG_ARCH_USE_CMPXCHG_LOCKREF. On Alpha we have spinlocks that are 32b in size and an efficient cmpxchg64 implementation, so we qualify to make use of cmpxchg backed lockrefs. Select the ARCH_USE_CMPXCHG_LOCKREF Kconfig symbol and provide a trivial implementation of arch_spin_value_unlocked to satisfy the lockref code. Using Linus' simple testcase from http://article.gmane.org/gmane.linux.file-systems/77466 on a dual CPU ES47 system I see around an 8% gain: N Min Max Median Avg Stddev x 30 6194580 6295654 6272504 6272514 17694.232 + 30 6731164 6786334 6767982 6764274 13738.863 Difference at 95.0% confidence 491760 +/- 8188.17 7.83992% +/- 0.130541% (Student's t, pooled s = 15840.5) Signed-off-by: Matt Turner <mattst88@xxxxxxxxx> commit 879a37d00f1882b1e56a66e626af4194d592d257 Merge: 701078d 50002d4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 31 10:25:45 2015 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next This is a second pull-request which adds last part of atomic modeset/pageflip support, render node support, clean-up, and fix-up. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm/exynos: fix build warning to exynos_drm_gem.c drm/exynos: Properly report supported formats for each device drm/exynos: add render node support drm/exynos: implement atomic_{begin/flush} of DECON drm/exynos: remove legacy ->suspend()/resume() drm/exynos: Enable atomic modesetting feature drm/exynos: remove wait queue for pending page flip drm/exynos: wait all planes updates to finish drm/exynos: add atomic asynchronous commit drm/exynos: fimd: only finish update if START == START_S drm/exynos: add macro to get the address of START_S reg drm/exynos: check for pending fb before finish update drm/exynos: fimd: move window protect code to prepare/cleanup_plane drm/exynos: add prepare and cleanup phases for planes drm/exynos: fimd: unify call to exynos_drm_crtc_finish_pageflip() drm/exynos: don't track enabled state at exynos_crtc commit 701078d538e5b2bec95cbbc53cca71c120cd063f Merge: d3e8ea5 26951ca Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 31 10:06:22 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-08-28' of git://anongit.freedesktop.org/drm-intel into drm-next Some i915 fixes headed for v4.3. SKL DDI-E is a wip, but here's the first in a series. * tag 'drm-intel-next-fixes-2015-08-28' of git://anongit.freedesktop.org/drm-intel: drm/i915/skl: enable DDI-E hotplug drm/i915: Fix build warning on 32-bit drm/i915/skl: Update DDI buffer translation programming. drm/i915: Allow parsing of variable size child device entries from VBT drm/i915: fix link rates reported for SKL drm/i915: fix VBT parsing for SDVO child device mapping commit d3e8ea50922d90aea473474bdcede34ce743e1a5 Merge: 92cffd5 2497ee7 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 31 10:05:37 2015 +1000 Merge tag 'drm-amdkfd-next-fixes-2015-08-30' of git://people.freedesktop.org/~gabbayo/linux into drm-next Just one small fix before 4.3 merge window: - Use linux/mman.h instead of uapi's mman-common.h inside the driver. * tag 'drm-amdkfd-next-fixes-2015-08-30' of git://people.freedesktop.org/~gabbayo/linux: amdkfd: use <linux/mman.h> instead of <uapi/asm-generic/mman-common.h> commit e1c30298ccab87151a0c4241fc5985c591598361 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:07 2015 +0300 IB/ucma: HW Device hot-removal support Currently, IB/cma remove_one flow blocks until all user descriptor managed by IB/ucma are released. This prevents hot-removal of IB devices. This patch allows IB/cma to remove devices regardless of user space activity. Upon getting the RDMA_CM_EVENT_DEVICE_REMOVAL event we close all the underlying HW resources for the given ucontext. The ucontext itself is still alive till its explicit destroying by its creator. Running applications at that time will have some zombie device, further operations may fail. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ae184ddeca5db6d60ba9067ba1c9e940fa01d400 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:06 2015 +0300 IB/mlx4_ib: Disassociate support Implements the IB core disassociate_ucontext API. The driver detaches the HW resources for a given user context to prevent a dependency between application termination and device disconnecting. This is done by managing the VMAs that were mapped to the HW bars such as door bell and blueflame. When need to detach remap them to an arbitrary kernel page returned by the zap API. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 036b10635739ffd030246eedde3d67f724800177 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:05 2015 +0300 IB/uverbs: Enable device removal when there are active user space applications Enables the uverbs_remove_one to succeed despite the fact that there are running IB applications working with the given ib device. This functionality enables a HW device to be unbind/reset despite the fact that there are running user space applications using it. It exposes a new IB kernel API named 'disassociate_ucontext' which lets a driver detaching its HW resources from a given user context without crashing/terminating the application. In case a driver implemented the above API and registered with ib_uverb there will be no dependency between its device to its uverbs_device. Upon calling remove_one of ib_uverbs the call should return after disassociating the open HW resources without waiting to clients disconnecting. In case driver didn't implement this API there will be no change to current behaviour and uverbs_remove_one will return only when last client has disconnected and reference count on uverbs device became 0. In case the lower driver device was removed any application will continue working over some zombie HCA, further calls will ended with an immediate error. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 057aec0d23f750b27f0bb92d2606871f60417e0a Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:04 2015 +0300 IB/uverbs: Explicitly pass ib_dev to uverbs commands Done in preparation for deploying RCU for the device removal flow. Allows isolating the RCU handling to the uverb_main layer and keeping the uverbs_cmd code as is. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 35d4a0b63dc0c6d1177d4f532a9deae958f0662c Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:03 2015 +0300 IB/uverbs: Fix race between ib_uverbs_open and remove_one Fixes: 2a72f212263701b927559f6850446421d5906c41 ("IB/uverbs: Remove dev_table") Before this commit there was a device look-up table that was protected by a spin_lock used by ib_uverbs_open and by ib_uverbs_remove_one. When it was dropped and container_of was used instead, it enabled the race with remove_one as dev might be freed just after: dev = container_of(inode->i_cdev, struct ib_uverbs_device, cdev) but before the kref_get. In addition, this buggy patch added some dead code as container_of(x,y,z) can never be NULL and so dev can never be NULL. As a result the comment above ib_uverbs_open saying "the open method will either immediately run -ENXIO" is wrong as it can never happen. The solution follows Jason Gunthorpe suggestion from below URL: https://www.mail-archive.com/linux-rdma@xxxxxxxxxxxxxxx/msg25692.html cdev will hold a kref on the parent (the containing structure, ib_uverbs_device) and only when that kref is released it is guaranteed that open will never be called again. In addition, fixes the active count scheme to use an atomic not a kref to prevent WARN_ON as pointed by above comment from Jason. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 03c40442a0e66fa52aec6733ea88804fe7d12c77 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Thu Aug 13 18:32:02 2015 +0300 IB/uverbs: Fix reference counting usage of event files Fix the reference counting usage to be handled in the event file creation/destruction function, instead of being done by the caller. This is done for both async/non-async event files. Based on Jason Gunthorpe report at https://www.mail-archive.com/ linux-rdma@xxxxxxxxxxxxxxx/msg24680.html: "The existing code for this is broken, in ib_uverbs_get_context all the error paths between ib_uverbs_alloc_event_file and the kref_get(file->ref) are wrong - this will result in fput() which will call ib_uverbs_event_close, which will try to do kref_put and ib_unregister_event_handler - which are no longer paired." Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7dd78647a2c2c224e376fc72797d411a3a0bb047 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 14:34:31 2015 -0600 IB/core: Make ib_dealloc_pd return void The majority of callers never check the return value, and even if they did, they can't do anything about a failure. All possible failure cases represent a bug in the caller, so just WARN_ON inside the function instead. This fixes a few random errors: net/rd/iw.c infinite loops while it fails. (racing with EBUSY?) This also lays the ground work to get rid of error return from the drivers. Most drivers do not error, the few that do are broken since it cannot be handled. Since uverbs can legitimately make use of EBUSY, open code the check. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 03f6fb93fde24f01a940283bdf55024e576ee87d Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:09:36 2015 -0700 IB/srp: Create an insecure all physical rkey only if needed The SRP initiator only needs this if the insecure register_always=N performance optimization is enabled, or if FRWR/FMR is not supported in the driver. Do not create an all physical MR unless it is needed to support either of those modes. Default register_always to true so the out of the box configuration does not create an insecure all physical MR. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> [bvanassche: reworked and rebased this patch] Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 330179f2fa93c1c6c41a90c7deabc98e363018e5 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:09:05 2015 -0700 IB/srp: Register the indirect data buffer descriptor Instead of always using the global rkey for the indirect data buffer descriptor, register that descriptor with the HCA if the kernel module parameter register_always has been set to Y. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 002f15674c84fb4c38ed5237c1e7235e09c033f0 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:08:44 2015 -0700 IB/srp: Introduce srp_device.use_fmr Introduce the variable srp_device.use_fmr. Leave out the dev->has_fr / dev->has_fmr and ch->fr_pool / ch->fmr_pool checks since these are redundant. This patch does not change any functionality but makes the source code easier to read. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 3ae95da8831e7bcf7b6da2b31cb4b50b3058f14e Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:08:18 2015 -0700 IB/srp: Remove use_mr argument from srp_map_sg_entry() Move the srp_map_desc() call from inside srp_map_sg_entry() to srp_map_sg() such that the use_mr argument can be removed from srp_map_sg_entry(). Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0e0d3a480090d03f29e58dfd717960776f3416d9 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:07:46 2015 -0700 IB/srp: Remove the memory registration backtracking code Mapping a discontiguous sg-list requires multiple memory regions and hence can exhaust the memory region pool. The SRP initiator already handles this by temporarily reducing the queue depth. This means that it is safe to remove the memory registration backtracking code. This patch has been tested with direct I/O sizes up to 256 MB. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f731ed62934ace0d3f5aa9ec557349171711be05 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:07:27 2015 -0700 IB/srp: Add memory descriptor array pointer range checking Although most paths through which a request is submitted check block layer parameters like the max_segments limit, these are not checked when an SG_IO or direct I/O request is submitted. Hence add a range check for the memory descriptor array pointer. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7e85c91970125cb16399c7d1cfedc943266eee49 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:06:57 2015 -0700 IB/srp: Use multiple registrations for large memory regions Instead of using the global rkey for large memory regions, use multiple registrations. See also the while (dma_len) loop further down in srp_map_sg_entry(). Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 186fbc6689a368364b7c9eb9d42d6f84b3079f65 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 10 17:06:29 2015 -0700 IB/srp: Re-enable FMR for non-page aligned buffers During a discussion in 2011 nobody recalled why FMR was not used for non-page aligned buffers (see also http://thread.gmane.org/gmane.linux.drivers.rdma/7149). Re-enable FMR for such buffers. For the reason why the srp_map_fmr() function needs to be modified, see also patch "IB/srp: rework mapping engine to use multiple FMR entries" (commit ID 8f26c9ff9cd0; January 2011). Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e5580242aa8fab292579a1661463f7479275f7ff Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:26 2015 -0600 rds/ib: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2f31fa881fbe70808b945a6d23cae1ca8eadf1b3 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:25 2015 -0600 net/9p: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Tested-by: Dominique Martinet <dominique.martinet@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5a783956c2b90179b852dd58a2ee668f16dfe980 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:24 2015 -0600 ib_srpt: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e6bf5f48d2adc443689c5e627bcd559b00201e5c Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:22 2015 -0600 IB/srp: Use pd->local_dma_lkey Replace all leys with pd->local_dma_lkey. This driver does not support iWarp, so this is safe. The insecure use of ib_get_dma_mr is thus isolated to an rkey, and will have to be fixed separately. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 34efc7dfbd88e4a232b1efa31c5e900606c84fca Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:21 2015 -0600 iser-target: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 256b7ad27316525711dfa98b67e7c40cb28b1711 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:20 2015 -0600 IB/iser: Use pd->local_dma_lkey Replace all leys with pd->local_dma_lkey. This driver does not support iWarp, so this is safe. The insecure use of ib_get_dma_mr is thus isolated to an rkey, and this looks trivially fixed by forcing the use of registration in a future patch. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b37c788f595cd578524fb8f50d3bd2fff8b62bc3 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:19 2015 -0600 IB/mlx5: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7dd975762825e4c2b95df5e24759a9d6ad915c79 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:18 2015 -0600 IB/mlx4: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 77b1f99660ed60694e1d0e3a63096c1f252debfd Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:17 2015 -0600 IB/ipoib: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4be90bc60df47f6268b594c4fb6c90f0ff2f519f Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:22:16 2015 -0600 IB/mad: Remove ib_get_dma_mr calls The pd now has a local_dma_lkey member which completely replaces ib_get_dma_mr, use it instead. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 96249d70dd70496084c7ec1465ec449cd032955a Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 14:14:45 2015 -0600 IB/core: Guarantee that a local_dma_lkey is available Every single ULP requires a local_dma_lkey to do anything with a QP, so let us ensure one exists for every PD created. If the driver can supply a global local_dma_lkey then use that, otherwise ask the driver to create a local use all physical memory MR associated with the new PD. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Reviewed-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> Tested-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7332bed085c68fc76462583a1003c6dca2c31e11 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:06 2015 +0300 IB/iser: Chain all iser transaction send work requests Chaning of send work requests benefits performance by reducing the send queue lock contention (acquired in ib_post_send) and saves us HW doorbells which is posted only once. Currently, in normal IO flows iser does not chain the CDB send work request with the registration work request. Also in PI flows, signature work requests are not chained as well. Lets chain those and post only once. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1b16c9894b63c8dfbc578ecf1186be4508b2c49e Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:05 2015 +0300 IB/iser: Add debug prints to the various memory registration methods Easier to debug when we have the registration details. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit df749cdc45d9f97cb0a5e6ceab80e2e00ee9bf85 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:04 2015 +0300 IB/iser: Support up to 8MB data transfer in a single command iser support up to 512KB data transfer in a single scsi command. This means that larger IOs will split to different request. While iser can easily saturate FDR/EDR wires, some arrays are fine tuned for 1MB (or larger) IO sizes, hence add an option to support larger transfers (up to 8MB) if the device allows it. Given that a few target implementations don't support data transfers of more than 512KB by default and the fact that larger IO sizes require more resources, we introduce a module parameter to determine the maximum number of 512B sectors in a single scsi command. Users that are interested in larger transfers can change this value given that the target supports larger transfers. At the moment, iser works in 4K pages granularity, In a later stage we will get it to work with system page size instead. IO operations that consists of N pages will need a page vector of size N+1 in case the first SG element contains an offset. Given that some devices allocates memory regions in powers of 2, this means that allocating a region with N+1 pages, will result in region resources allocation of the next power of 2. Since we don't want that to happen, in case we are in the limit of IO size supported and the first SG element has an offset, we align the SG list using a bounce buffer (which is OK given that this is not likely to happen a lot). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f8db651da29bcad213d43328ebf8ce8459f526a7 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:03 2015 +0300 IB/iser: Pass registration pool a size parameter Hard coded for now. This will allow to allocate different sized MRs depending on the IO size needed (and device capabilities). This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 32467c420bb68776ebaa53ddf6712e1dba7bb5da Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:02 2015 +0300 IB/iser: Unify fast memory registration flows iser_reg_rdma_mem_[fastreg|fmr] share a lot of code, and logically do the same thing other than the buffer registration method itself (iser_fast_reg_mr vs. iser_fast_reg_fmr). The DIF logic is not implemented in the FMR flow as there is no existing device that supports FMRs and Signature feature. This patch unifies the flow in a single routine iser_reg_rdma_mem and just split to fmr/frwr for the buffer registration itself. Also, for symmetry reasons, unify iser_unreg_rdma_mem (which will call the relevant device specific unreg routine). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 81722909c8f78ee2db62373a74ec2ecb709c112e Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:01 2015 +0300 IB/iser: Make reg_desc_get a per device routine As for fmrs we will hold a single registration descriptor as no need for multiple like in the frwr mode (descriptor for each task). This change helps unifying the duplicate registration code paths. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7d0483c927f429c7aece47e730eaa91007577d99 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:33:00 2015 +0300 IB/iser: Rename iser_reg_page_vec to iser_fast_reg_fmr Also, change a name of a local variable. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2b3bf958103899a96d230c9f2e0d87606f08a7be Author: Adir Lev <adirl@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:59 2015 +0300 IB/iser: Maintain connection fmr_pool under a single registration descriptor This will allow us to unify the memory registration code path between the various methods which vary by the device capabilities. This change will make it easier and less intrusive to remove fmr_pools from the code when we'd want to. The reason we use a single descriptor is to avoid taking a redundant spinlock when working with FMRs. We also change the signature of iser_reg_page_vec to make it match iser_fast_reg_mr (and the future indirect registration method). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 385ad87d4b637c1ebdb54bc93274fc2c267dfc16 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:58 2015 +0300 IB/iser: Introduce iser registration pool struct Instead of having it a part of the connection structure, have it be under a dedicated (embedded) structure in the connection. A logical separation of the registration pool and the connection structure. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit eb6ea8c36c90f022dd9603530286e0707a9c467b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:57 2015 +0300 IB/iser: Move fastreg descriptor allocation to iser_create_fastreg_desc Don't have the caller allocate the structure and worry about freeing it in case the routine failed. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 48afbff673d3d2ff6c52342574392db504dae301 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:56 2015 +0300 IB/iser: Introduce iser_reg_ops Move all the per-device function pointers to an easy extensible iser_reg_ops structure that contains all the iser registration operations. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8c18ed03a95cb6c3543b0a9e0df5e9366baea5df Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:55 2015 +0300 IB/iser: Remove dead code in fmr_pool alloc/free In the past the we always tried to allocate an fmr_pool and if it failed on ENOSYS (not supported) then we continued with dma mr. This is not the case anymore and if we tried to allocate an fmr_pool then it is supported and we expect to succeed. Also, the check if fmr_pool is allocated when free is called is redundant as well as we are guaranteed it exists. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5190cc2664972f2c51502e928fcb7a608dddab5f Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:54 2015 +0300 IB/iser: Rename struct fast_reg_descriptor -> iser_fr_desc Avoid struct names without iser_ prefix. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d711d81d6463ecf566b93810e16949f2d159aa50 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:53 2015 +0300 IB/iser: Introduce struct iser_reg_resources Have fast_reg_descriptor hold struct iser_reg_resources (mr, frpl, valid flag). This will be useful when the actual buffer registration routines will be passed with the needed registration resources (i.e. iser_reg_resources) without being aware of their nature (i.e. data or protection). In order to achieve this, we remove reg_indicators flags container and place specific flags (mr_valid) within iser_reg_resources struct. We also place the sig_mr_valid and sig_protcted flags in iser_pi_context. This patch also modifies iser_fast_reg_mr to receive the reg_resources instead of the fast_reg_descriptor and a data/protection indicator. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Adir Lev <adirl@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ea18f5d7777dc4fa9c18c4919281301cf4fd921a Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:52 2015 +0300 IB/iser: Remove an unneeded print for unaligned memory We can do it in iser_aligned_data_len instead and it will save us an argument that is passed to fall_to_counce_buf just for the print. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b9abd8d21d3a04903aefcb7742efe3390f2fac57 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:51 2015 +0300 IB/iser: Remove a redundant always-false condition We always call iser_initialize_task_headers() and set the header tx_sg.lkey to the device mr lkey, so no point in checking it in iser_create_send_desc(). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8d5944d80359e645feb2ebd069a6f4caf7825e40 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:50 2015 +0300 IB/iser: Fix possible bogus DMA unmapping If iser_initialize_task_headers() routine failed before dma mapping, we should not attempt to unmap in cleanup_task(). Fixes: 7414dde0a6c3a958e (IB/iser: Fix race between iser connection ...) Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 02816a8b8881f9dea68883c9b72672e87cb91d36 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:49 2015 +0300 IB/iser: Get rid of un-maintained counters We don't update those anywhere in the code and they seem pretty useless (no one seem to care about those). qp_tx_queue_full: We never should get this fmr_map_not_avail: We can never get to this eh_abort_cnt: We don't monitor aborts Go ahead and remove them. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d16739055bd1f562ae4d83e69f7f7f1cefcfbe16 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:48 2015 +0300 IB/iser: Fix missing return status check in iser_send_data_out Since commit "IB/iser: Fix race between iser connection teardown..." iser_initialize_task_headers() might fail, so we need to check that. Fixes: 7414dde0a6c3a958e (IB/iser: Fix race between iser connection ...) Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1156cc80f8fc31f8c52740a9c8051afd8d70faf3 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:47 2015 +0300 IB/iser: Remove '.' from log message Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 74ce897b7c9be9f5913bbffafcac10f0871c503b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:46 2015 +0300 IB/iser: Change minor assignments and logging prints Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit db0a6cbd21d6ece6587c157b3d183521bc8a2781 Author: Jenny Falkovich <jennyf@xxxxxxxxxxxx> Date: Thu Aug 6 18:32:45 2015 +0300 IB/iser: Change some module parameters to be RO While we're at it, use permission defines instead of octal values and rearrange a little bit. Signed-off-by: Jenny Derzhavetz <jennyf@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2ca546b92a024d07adedd15b4c262b1c2c0786ec Author: Kaike Wan <kaike.wan@xxxxxxxxx> Date: Fri Aug 14 08:52:09 2015 -0400 IB/sa: Route SA pathrecord query through netlink This patch routes a SA pathrecord query to netlink first and processes the response appropriately. If a failure is returned, the request will be sent through IB. The decision whether to route the request to netlink first is determined by the presence of a listener for the local service netlink multicast group. If the user-space local service netlink multicast group listener is not present, the request will be sent through IB, just like what is currently being done. Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: John Fleck <john.fleck@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5d2657708ec25b9fb3dd174443b1f647babcbe62 Author: Kaike Wan <kaike.wan@xxxxxxxxx> Date: Fri Aug 14 08:52:08 2015 -0400 IB/sa: Allocate SA query with kzalloc Replace kmalloc with kzalloc so that all uninitialized fields in SA query will be zero-ed out to avoid unintentional consequence. This prepares the SA query structure to accept new fields in the future. Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: John Fleck <john.fleck@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bc10ed7d3d19ff61427007b4d7bf98d3e57bb333 Author: Kaike Wan <kaike.wan@xxxxxxxxx> Date: Fri Aug 14 08:52:07 2015 -0400 IB/core: Add rdma netlink helper functions This patch adds a function to check if listeners for a netlink multicast group are present. It also adds a function to receive netlink response messages. Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: John Fleck <john.fleck@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6431eb87065ffd24dfc7c0b6954e80a4eb74e177 Author: Kaike Wan <kaike.wan@xxxxxxxxx> Date: Fri Aug 14 08:52:06 2015 -0400 IB/netlink: Add defines for local service requests through netlink This patch adds netlink defines for local service client, local service group, local service operations, and related attributes. Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: John Fleck <john.fleck@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bc44bd1d864664f3658352c6aaaa02557d49165d Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Aug 14 11:01:09 2015 -0700 IB/srp: Stop the scsi_eh_<n> and scsi_tmf_<n> threads if login fails scsi_host_alloc() not only allocates memory for a SCSI host but also creates the scsi_eh_<n> kernel thread and the scsi_tmf_<n> workqueue. Stop these threads if login fails by calling scsi_host_put(). Reported-by: Konstantin Krotov <kkv@xxxxxxxx> Fixes: fb49c8bbaae7 ("Remove an extraneous scsi_host_put() from an error path") Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v3.19 Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 713ef24e41757561c7f0bfc9bf4436f7e4a5b527 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Jul 31 14:13:52 2015 -0700 IB/srp: Bump driver version and release date Since version 1.0 e.g. scsi-mq has been added. Since this is a significant change, bump the driver version and release date. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c257ea6f9f9aed0b173e0c2932bb8dac5612cdc6 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Jul 31 14:13:22 2015 -0700 IB/srp: Handle partial connection success correctly Avoid that the following kernel warning is reported if the SRP target system accepts fewer channels per connection than what was requested by the initiator system: WARNING: at drivers/infiniband/ulp/srp/ib_srp.c:617 srp_destroy_qp+0xb1/0x120 [ib_srp]() Call Trace: [<ffffffff8105d67f>] warn_slowpath_common+0x7f/0xc0 [<ffffffff8105d6da>] warn_slowpath_null+0x1a/0x20 [<ffffffffa05419e1>] srp_destroy_qp+0xb1/0x120 [ib_srp] [<ffffffffa05445fb>] srp_create_ch_ib+0x19b/0x420 [ib_srp] [<ffffffffa0545257>] srp_create_target+0x7d7/0xa94 [ib_srp] [<ffffffff8138dac0>] dev_attr_store+0x20/0x30 [<ffffffff812079ef>] sysfs_write_file+0xef/0x170 [<ffffffff81191fc4>] vfs_write+0xb4/0x130 [<ffffffff8119276f>] sys_write+0x5f/0xa0 [<ffffffff815a0a59>] system_call_fastpath+0x16/0x1b Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e6300cbd9b09e7bf12f5f7b79e77b58d62b9d990 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Jul 31 14:12:48 2015 -0700 IB/srp: Constify a function argument This patch does not change any functionality. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 799cdaf8a98f13d4fba3162e21e1e63f21045010 Author: Ariel Nahum <arieln@xxxxxxxxxxxx> Date: Sun Aug 9 11:16:27 2015 +0300 IB/mlx4: Fix incorrect cq flushing in error state When handling a device internal error, the driver is responsible to drain the completion queue with flush errors. In case a completion queue was assigned to multiple send queues, the driver iterates over the send queues and generates flush errors of inflight wqes. The driver must correctly pass the wc array with an offset as a result of the previous send queue iteration. Not doing so will overwrite previously set completions and return a wrong number of polled completions which includes ones which were not correctly set. Fixes: 35f05dabf95a (IB/mlx4: Reset flow support for IB kernel ULPs) Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5e99b139f1b68acd65e36515ca347b03856dfb5a Author: Noa Osherovich <noaos@xxxxxxxxxxxx> Date: Thu Jul 30 17:34:24 2015 +0300 IB/mlx4: Use correct SL on AH query under RoCE The mlx4 IB driver implementation for ib_query_ah used a wrong offset (28 instead of 29) when link type is Ethernet. Fixed to use the correct one. Fixes: fa417f7b520e ('IB/mlx4: Add support for IBoE') Signed-off-by: Shani Michaeli <shanim@xxxxxxxxxxxx> Signed-off-by: Noa Osherovich <noaos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2b135db3e81301d0452e6aa107349abe67b097d6 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:34:23 2015 +0300 IB/mlx4: Forbid using sysfs to change RoCE pkeys The pkey mapping for RoCE must remain the default mapping: VFs: virtual index 0 = mapped to real index 0 (0xFFFF) All others indices: mapped to a real pkey index containing an invalid pkey. PF: virtual index i = real index i. Don't allow users to change these mappings using files found in sysfs. Fixes: c1e7e466120b ('IB/mlx4: Add iov directory in sysfs under the ib device') Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2cb8e7f86e8cabd1e8aa608fc2a44e5bfa1d81ca Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:34:22 2015 +0300 IB/mlx4: Demote mcg message from warning to debug The mcg "too many pending requests" warning message fills the log when OpenSM is downed. Demote the message from warning level to debug level. Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 90c1d8b6350cca9d8a234f03c77a317a7613bcee Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:34:21 2015 +0300 IB/mlx4: Fix potential deadlock when sending mad to wire send_mad_to_wire takes the same spinlock that is taken in the interrupt context. Therefore, it needs irqsave/restore. Fixes: b9c5d6a64358 ('IB/mlx4: Add multicast group (MCG) paravirtualization for SR-IOV') Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b8071ad893841aba967b7c54e712179864cdf5c3 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Sat Aug 15 10:16:14 2015 -0400 IB/core: Remove needless bracketization Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit cc36929e736a30a291ab543b633046eb57d67e68 Author: Somnath Kotur <somnath.kotur@xxxxxxxxxxxxx> Date: Thu Jul 30 18:33:31 2015 +0300 RDMA/ocrdma: Incorporate the moving of GID Table mgmt to IB/Core 1.Change query_gid hook to return value from IB/Core GID management APIs. 2.Get rid of all the netdev notifier chain subscription code as well as maintenance of SGID Table in memory. 3.Implement get_netdev hook in driver. Signed-off-by: Somnath Kotur <somnath.kotur@xxxxxxxxxxxxx> Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5070cd2239bd4b382c55c212f10b845ec2de31fc Author: Moni Shoua <monis@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:30 2015 +0300 IB/mlx4: Replace mechanism for RoCE GID management Manage RoCE gid table with logic in IB/core, which is common to all vendors, and remove the mechanism from the mlx4 IB driver. Since management of the GID cache may lead to index mismatch with the hardware GID table, a translation between indexes is required when modifying a QP or creating an address handle. Signed-off-by: Moni Shoua <monis@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e26be1bfef81a2314a075f54dd8930cf5e8656df Author: Moni Shoua <monis@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:29 2015 +0300 IB/mlx4: Implement ib_device callbacks get_netdev: get the net_device on the physical port of the IB transport port. In port aggregation mode it is required to return the netdev of the active port. modify_gid: note for a change in the RoCE gid cache. Handle this by writing to the harsware GID table. It is possible that indexes in cahce and hardware tables won't match so a translation is required when modifying a QP or creating an address handle. Signed-off-by: Moni Shoua <monis@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 79857cd31fe70145ff007d4e968557af342c8ccd Author: Moni Shoua <monis@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:28 2015 +0300 net/mlx4: Postpone the registration of net_device The mlx4 network driver was registered in the context of the 'add' function of the core driver (called when HW should be registered). This makes the netdev event NETDEV_REGISTER to be sent in a context where the answer to get_protocol_dev() callback returns NULL. This may be confusing to listeners of netdev events. This patch is a preparation to the patch that implements the get_netdev() callback in the IB/mlx4 driver. Signed-off-by: Moni Shoua <monis@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 238fdf48f2b54a01cedb5774c3a1e81c94e1a3a0 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:27 2015 +0300 IB/core: Add RoCE table bonding support Handling bonding and other devices require us to all all GIDs of the net-devices which are upper-devices of the RoCE port related net-device. Active-backup configurations imposes even more challenges as the default GID should only be set on the active devices (this is necessary as otherwise the same MAC could be used for several slaves and thus several slaves will have identical GIDs). Managing these configurations are done by listening to: (a) NETDEV_CHANGEUPPER event (1) if a related net-device is linked, delete all inactive slaves default GIDs and add the upper device GIDs. (2) if a related net-device is unlinked, delete all upper GIDs and add the default GIDs. (b) NETDEV_BONDING_FAILOVER: (1) delete the bond GIDs from inactive slaves (2) delete the inactive slave's default GIDs (3) Add the bond GIDs to the active slave. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 98d25afa970d134024d8652360569e3bd74782b3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 12:22:10 2015 +0300 IB/core: missing curly braces in ib_find_gid() Smatch says that, based on the indenting, we should probably add curly braces here. Fixes: 03db3a2d81e6 ('IB/core: Add RoCE GID table management') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 03db3a2d81e6e84f3ed3cb9e087cae17d762642b Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:26 2015 +0300 IB/core: Add RoCE GID table management RoCE GIDs are based on IP addresses configured on Ethernet net-devices which relate to the RDMA (RoCE) device port. Currently, each of the low-level drivers that support RoCE (ocrdma, mlx4) manages its own RoCE port GID table. As there's nothing which is essentially vendor specific, we generalize that, and enhance the RDMA core GID cache to do this job. In order to populate the GID table, we listen for events: (a) netdev up/down/change_addr events - if a netdev is built onto our RoCE device, we need to add/delete its IPs. This involves adding all GIDs related to this ndev, add default GIDs, etc. (b) inet events - add new GIDs (according to the IP addresses) to the table. For programming the port RoCE GID table, providers must implement the add_gid and del_gid callbacks. RoCE GID management requires us to state the associated net_device alongside the GID. This information is necessary in order to manage the GID table. For example, when a net_device is removed, its associated GIDs need to be removed as well. RoCE mandates generating a default GID for each port, based on the related net-device's IPv6 link local. In contrast to the GID based on the regular IPv6 link-local (as we generate GID per IP address), the default GID is also available when the net device is down (in order to support loopback). Locking is done as follows: The patch modify the GID table code both for new RoCE drivers implementing the add_gid/del_gid callbacks and for current RoCE and IB drivers that do not. The flows for updating the table are different, so the locking requirements are too. While updating RoCE GID table, protection against multiple writers is achieved via mutex_lock(&table->lock). Since writing to a table requires us to find an entry (possible a free entry) in the table and then modify it, this mutex protects both the find_gid and write_gid ensuring the atomicity of the action. Each entry in the GID cache is protected by rwlock. In RoCE, writing (usually results from netdev notifier) involves invoking the vendor's add_gid and del_gid callbacks, which could sleep. Therefore, an invalid flag is added for each entry. Updates for RoCE are done via a workqueue, thus sleeping is permitted. In IB, updates are done in write_lock_irq(&device->cache.lock), thus write_gid isn't allowed to sleep and add_gid/del_gid are not called. When passing net-device into/out-of the GID cache, the device is always passed held (dev_hold). The code uses a single work item for updating all RDMA devices, following a netdev or inet notifier. The patch moves the cache from being a client (which was incorrect, as the cache is part of the IB infrastructure) to being explicitly initialized/freed when a device is registered/removed. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 55aeed06544f675f25aef06a8c47b0b6b8850f4f Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:23:34 2015 -0600 IB/core: Make ib_alloc_device init the kobject This gets rid of the weird in-between state where struct ib_device was allocated but the kobject didn't work. Consequently ib_device_release is now guaranteed to be called in all situations and we needn't duplicate its kfrees on error paths. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e999869548b9ab97b7dffa053ba2fee81c31d069 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:24 2015 +0300 net/bonding: Export bond_option_active_slave_get_rcu Some consumers of the netdev events API would like to know who is the active slave when a NETDEV_CHANGEUPPER or NETDEV_BONDING_FAILOVER events occur. For example, when managing RoCE GIDs, GIDs based on the bond's ips should only be set on the port which corresponds to active slave netdevice. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 816dd19b3d191da88bc034fb85e21ed09a3ed320 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:23 2015 +0300 net: Add info for NETDEV_CHANGEUPPER event Some consumers of NETDEV_CHANGEUPPER event would like to know which upper device was linked/unlinked and what operation was carried. Add information in the notifier info block for that purpose. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 399e6f95811bd36fb64b3d30cf8529d633884b4c Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Jul 30 18:33:22 2015 +0300 net/ipv6: Export addrconf_ifid_eui48 For loopback purposes, RoCE devices should have a default GID in the port GID table, even when the interface is down. In order to do so, we use the IPv6 link local address which would have been genenrated for the related Ethernet netdevice when it goes up as a default GID. addrconf_ifid_eui48 is used to gernerate this address, export it. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d9f272c523db47a56a64942eb6f25361c400de66 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:48 2015 +0300 IB/core: Drop ib_alloc_fast_reg_mr Fully replaced by a more generic and suitable ib_alloc_mr. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d9fe6dd7afaff529124dd7f49c2da89ef789a56f Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Fri Aug 7 10:51:25 2015 -0400 IB/hfi1: Support ib_alloc_mr verb Ported from upstream qib commit 68c02e232b8a ("qib: Support ib_alloc_mr verb") Tested-by: Jubin John <jubin.john@xxxxxxxxx> Reviewed-by: Jubin John <jubin.john@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1302f8452bfbede92c5e984afd64d91eb5459ee7 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:47 2015 +0300 qib: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e02e4d554d2b0c20b1f191c5d98bbf5da500a285 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:46 2015 +0300 nes: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f683d3bdbb37baa49510e32789164e5d33d76ba1 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:45 2015 +0300 cxgb3: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a21640347a01ba2f96dfc887b8e33cce462780fd Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:44 2015 +0300 iw_cxgb4: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit cacb7d59bed3fd9f65d6ba1a4ea948ce8baa9126 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:43 2015 +0300 ocrdma: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 679e34d1d050fc67f2ab157ebf8553dddc216c55 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:42 2015 +0300 mlx4: Support ib_alloc_mr verb Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b3778ba8ded0aafbd820b68be0686ff0c6026eff Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:41 2015 +0300 mlx5: Drop mlx5_ib_alloc_fast_reg_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit fc27995942960c894bc4725435dce8750e44cd64 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:40 2015 +0300 RDS: Convert to ib_alloc_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9ac07501e1918b8d1140adcc360e8d8c7f5a2f7c Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:11:20 2015 -0500 svcrdma: limit FRMR page list lengths to device max Svcrdma was incorrectly allocating fastreg MRs and page lists using RPCSVC_MAXPAGES, which can exceed the device capabilities. So limit the depth to the minimum of RPCSVC_MAXPAGES and xprt->sc_frmr_pg_list_len. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0410e38eca85e042f5d5a281dbcc792db701ed44 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:39 2015 +0300 xprtrdma, svcrdma: Convert to ib_alloc_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 563b67c5f90abeae1038008e6c9c187fb36ad35c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:38 2015 +0300 IB/srp: Convert to ib_alloc_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a89be2cc51f6602e803f2f9a9c8c4f59a0bd58b3 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:37 2015 +0300 iser-target: Convert to ib_alloc_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 34780f012ceeb41ec6d44b3877396042e750862c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:36 2015 +0300 IB/iser: Convert to ib_alloc_mr Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9bee178b4f6b3e122ed8eda990450a638706e271 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:35 2015 +0300 IB: Modify ib_create_mr API Use ib_alloc_mr with specific parameters. Change the existing callers. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8b91ffc1cf67d3f0834197c80c5182890c8d508d Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 30 10:32:34 2015 +0300 IB/core: Get rid of redundant verb ib_destroy_mr This was added in a thought of uniting all mr allocation and deallocation routines but the fact is we have a single deallocation routine already, ib_dereg_mr. And, move mlx5_ib_destroy_mr specific logic into mlx5_ib_dereg_mr (includes only signature stuff for now). And, fixup the only callers (iser/isert) accordingly. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit be688195bd08b1c045f89d72c07c7e3ef6516f38 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Aug 27 15:55:15 2015 +0300 IB/cma: Fix net_dev reference leak with failed requests When no matching listening ID is found for a given request, the net_dev that was used to find the request isn't released. Fixes: 0b3ca768fcb0 ("IB/cma: Use found net_dev for passive connections") Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 90816d1ddacfb5a8b783f67e2c1a1bc77dc50ff4 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 30 09:53:06 2015 -0700 NFSv4.1/flexfiles: Don't mark the entire deviceid as bad for file errors If the file was fenced and/or has been deleted on the DS, then we want to retry pNFS after a layoutreturn with error report. If the server cannot fix the problem, then we rely on it to tell us so in the response to the LAYOUTGET. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 1ab36387ea4face01aac3560b396b1e2ce07c4ff Author: David Dueck <davidcdueck@xxxxxxxxxxxxxx> Date: Tue Jul 28 09:48:16 2015 +0200 pinctrl: at91: fix null pointer dereference Not all gpio banks are necessarily enabled, in the current code this can lead to null pointer dereferences. [ 51.130000] Unable to handle kernel NULL pointer dereference at virtual address 00000058 [ 51.130000] pgd = dee04000 [ 51.130000] [00000058] *pgd=3f66d831, *pte=00000000, *ppte=00000000 [ 51.140000] Internal error: Oops: 17 [#1] ARM [ 51.140000] Modules linked in: [ 51.140000] CPU: 0 PID: 1664 Comm: cat Not tainted 4.1.1+ #6 [ 51.140000] Hardware name: Atmel SAMA5 [ 51.140000] task: df6dd880 ti: dec60000 task.ti: dec60000 [ 51.140000] PC is at at91_pinconf_get+0xb4/0x200 [ 51.140000] LR is at at91_pinconf_get+0xb4/0x200 [ 51.140000] pc : [<c01e71a0>] lr : [<c01e71a0>] psr: 600f0013 sp : dec61e48 ip : 600f0013 fp : df522538 [ 51.140000] r10: df52250c r9 : 00000058 r8 : 00000068 [ 51.140000] r7 : 00000000 r6 : df53c910 r5 : 00000000 r4 : dec61e7c [ 51.140000] r3 : 00000000 r2 : c06746d4 r1 : 00000000 r0 : 00000003 [ 51.140000] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user [ 51.140000] Control: 10c53c7d Table: 3ee04059 DAC: 00000015 [ 51.140000] Process cat (pid: 1664, stack limit = 0xdec60208) [ 51.140000] Stack: (0xdec61e48 to 0xdec62000) [ 51.140000] 1e40: 00000358 00000000 df522500 ded15f80 c05a9d08 ded15f80 [ 51.140000] 1e60: 0000048c 00000061 df522500 ded15f80 c05a9d08 c01e7304 ded15f80 00000000 [ 51.140000] 1e80: c01e6008 00000060 0000048c c01e6034 c01e5f6c ded15f80 dec61ec0 00000000 [ 51.140000] 1ea0: 00020000 ded6f280 dec61f80 00000001 00000001 c00ae0b8 b6e80000 ded15fb0 [ 51.140000] 1ec0: 00000000 00000000 df4bc974 00000055 00000800 ded6f280 b6e80000 ded6f280 [ 51.140000] 1ee0: ded6f280 00020000 b6e80000 00000000 00020000 c0090dec c0671e1c dec61fb0 [ 51.140000] 1f00: b6f8b510 00000001 00004201 c000924c 00000000 00000003 00000003 00000000 [ 51.140000] 1f20: df4bc940 00022000 00000022 c066e188 b6e7f000 c00836f4 000b6e7f ded6f280 [ 51.140000] 1f40: ded6f280 b6e80000 dec61f80 ded6f280 00020000 c0091508 00000000 00000003 [ 51.140000] 1f60: 00022000 00000000 00000000 ded6f280 ded6f280 00020000 b6e80000 c0091d9c [ 51.140000] 1f80: 00000000 00000000 ffffffff 00020000 00020000 b6e80000 00000003 c000f124 [ 51.140000] 1fa0: dec60000 c000efa0 00020000 00020000 00000003 b6e80000 00020000 000271c4 [ 51.140000] 1fc0: 00020000 00020000 b6e80000 00000003 7fffe000 00000000 00000000 00020000 [ 51.140000] 1fe0: 00000000 bef50b64 00013835 b6f29c76 400f0030 00000003 00000000 00000000 [ 51.140000] [<c01e71a0>] (at91_pinconf_get) from [<c01e7304>] (at91_pinconf_dbg_show+0x18/0x2c0) [ 51.140000] [<c01e7304>] (at91_pinconf_dbg_show) from [<c01e6034>] (pinconf_pins_show+0xc8/0xf8) [ 51.140000] [<c01e6034>] (pinconf_pins_show) from [<c00ae0b8>] (seq_read+0x1a0/0x464) [ 51.140000] [<c00ae0b8>] (seq_read) from [<c0090dec>] (__vfs_read+0x20/0xd0) [ 51.140000] [<c0090dec>] (__vfs_read) from [<c0091508>] (vfs_read+0x7c/0x108) [ 51.140000] [<c0091508>] (vfs_read) from [<c0091d9c>] (SyS_read+0x40/0x94) [ 51.140000] [<c0091d9c>] (SyS_read) from [<c000efa0>] (ret_fast_syscall+0x0/0x3c) [ 51.140000] Code: eb010ec2 e30a0d08 e34c005a eb0ae5a7 (e5993000) [ 51.150000] ---[ end trace fb3c370da3ea4794 ]--- Fixes: a0b957f306fa ("pinctrl: at91: allow to have disabled gpio bank") Cc: stable@xxxxxxxxxxxxxxx # 3.18 Signed-off-by: David Dueck <davidcdueck@xxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 73fec7fd04a2ad6c879c93881cba9a40d551b3fd Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:26 2015 +0300 IB/cm: Remove compare_data checks Now that there are no ib_cm clients using the compare_data feature for matching IB CM requests' private data, remove the compare_data parameter of ib_cm_listen and remove the code implementing the feature. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 51efe394bcab3a0c511634f7ae58bb88b1686983 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:25 2015 +0300 IB/cma: Share ib_cm_ids between rdma_cm_ids Use ib_cm_insert_listen to create listening IB CM IDs or share existing ones if needed. When given a request on a specific CM ID, the code now matches the request to the RDMA CM ID based on the request parameters, so it no longer needs to rely on the ib_cm's private data matching capabilities. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0b3ca768fcb07338c99df5e3ccec99119435e321 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:24 2015 +0300 IB/cma: Use found net_dev for passive connections When receiving a new connection in cma_req_handler, we actually already know the net_dev that is used for the connection's creation. Instead of calling cma_translate_addr to resolve the new connection id's source address, just use the net_dev that was found. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f887f2ac87c25124a90adf97d76b258eba6295cb Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:23 2015 +0300 IB/cma: Validate routing of incoming requests Pass incoming request parameters through the relevant IPv4/IPv6 routing tables and make sure the network stack is configured to handle such requests. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4c21b5bcef73e6649429c1d9b39f5065e756d857 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:22 2015 +0300 IB/cma: Add net_dev and private data checks to RDMA CM Instead of relying on a the ib_cm module to check an incoming CM request's private data header, add these checks to the RDMA CM module. This allows a following patch to to clean up the ib_cm interface and remove the code that looks into the private headers. It will also allow supporting namespaces in RDMA CM by making these checks namespace aware later on. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 24cad9a7e8bfd4cf1ace7ac2a2b3f696a0e70420 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:21 2015 +0300 IB/cm: Expose BTH P_Key in CM and SIDR request events The rdma_cm module will later use the P_Key from the BTH to de-mux requests. See discussion at: http://www.spinics.net/lists/netdev/msg336067.html Cc: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Cc: Liran Liss <liranl@xxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit aac978e15230fccb7a3e9190eb58732925019300 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:20 2015 +0300 IB/cma: Helper functions to access port space IDRs Add helper functions to access the IDRs by port-space and port number. Pass around the port-space enum in cma.c instead of using pointers to port-space IDRs. Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0c505f70a28d943e15a6702ca75bea4f332a03ed Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:19 2015 +0300 IB/cma: Refactor RDMA IP CM private-data parsing code When receiving a connection request, rdma_cm needs to associate the request with a network device, in order to disambiguate requests. To do this, it needs to know the request's destination IP. For this the module needs to allow getting this information from the private data in the request packet, instead of relying on the information already being in the listening RDMA CM ID. When creating a new incoming connection ID, the code in cma_save_ip{4,6}_info can no longer rely on the listener's private data to find the port number, so it reads it from the requested service ID. Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 067b171b8679f99e170feae2e1d2eae319736420 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:18 2015 +0300 IB/cm: Share listening CM IDs Enabling network namespaces for RDMA CM will allow processes on different namespaces to listen on the same port. In order to leave namespace support out of the CM layer, this requires that multiple RDMA CM IDs will be able to share a single CM ID. This patch adds infrastructure to retrieve an existing listening ib_cm_id, based on its device and service ID, or create a new one if one does not already exist. It also adds a reference count for such instances (cm_id_private.listen_sharecount), and prevents cm_destroy_id from destroying a CM if it is still shared. See the relevant discussion [1]. [1] Re: [PATCH v3 for-next 05/13] IB/cm: Reference count ib_cm_ids http://www.spinics.net/lists/netdev/msg328860.html Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 15865e7dab62a58407f1b7decdafd89dd0a8b063 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:17 2015 +0300 IB/cm: Expose service ID in request events Expose the service ID on an incoming CM or SIDR request to the event handler. This will allow the RDMA CM module to de-multiplex connection requests based on the information encoded in the service ID. Acked-by: Sean Hefty <sean.hefty@xxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ddde896e561a51ae5023e531d66dc6a140a95ec3 Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:16 2015 +0300 IB/ipoib: Return IPoIB devices matching connection parameters Implement the get_net_device_by_port_pkey_ip callback that returns network device to ib_core according to connection parameters. Check the ipoib device and iterate over all child devices to look for a match. For each IPoIB device we iterate through all upper devices when searching for a matching IP, in order to support bonding. Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9268f72dcb24348c8b4cf9bcf8afeb24035157a5 Author: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:15 2015 +0300 IB/core: Find the network device matching connection parameters In the case of IPoIB, and maybe in other cases, the network device is managed by an upper-layer protocol (ULP). In order to expose this network device to other users of the IB device, let ULPs implement a callback that returns network device according to connection parameters. The IB device and port, together with the P_Key and the GID should be enough to uniquely identify the ULP net device. However, in current kernels there can be multiple IPoIB interfaces created with the same GID. Furthermore, such configuration may be desireable to support ipvlan-like configurations for RDMA CM with IPoIB. To resolve the device in these cases the code will also take the IP address as an additional input. Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Yotam Kenneth <yotamke@xxxxxxxxxxxx> Signed-off-by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Guy Shapiro <guysh@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7c1eb45a22d76bb99236e7485958f87ef7c449cf Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:14 2015 +0300 IB/core: lock client data with lists_rwsem An ib_client callback that is called with the lists_rwsem locked only for read is protected from changes to the IB client lists, but not from ib_unregister_device() freeing its client data. This is because ib_unregister_device() will remove the device from the device list with lists_rwsem locked for write, but perform the rest of the cleanup, including the call to remove() without that lock. Mark client data that is undergoing de-registration with a new going_down flag in the client data context. Lock the client data list with lists_rwsem for write in addition to using the spinlock, so that functions calling the callback would be able to lock only lists_rwsem for read and let callbacks sleep. Since ib_unregister_client() now marks the client data context, no need for remove() to search the context again, so pass the client data directly to remove() callbacks. Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5aa44bb90f047662c12c44be1b6de454658632d0 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Jul 30 17:50:13 2015 +0300 IB/core: Add rwsem to allow reading device list or client list Currently the RDMA subsystem's device list and client list are protected by a single mutex. This prevents adding user-facing APIs that iterate these lists, since using them may cause a deadlock. The patch attempts to solve this problem by adding a read-write semaphore to protect the lists. Readers now don't need the mutex, and are safe just by read-locking the semaphore. The ib_register_device, ib_register_client, ib_unregister_device, and ib_unregister_client functions are modified to lock the semaphore for write during their respective list modification. Also, in order to make sure client callbacks are called only between add() and remove() calls, the code is changed to only add items to the lists after the add() calls and remove from the lists before the remove() calls. This patch attempts to solve a similar need [1] that was seen in the RoCE v2 patch series. [1] http://www.spinics.net/lists/linux-rdma/msg24733.html Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Cc: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 64291f7db5bd8150a74ad2036f1037e6a0428df2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 11:34:09 2015 -0700 Linux 4.2 commit 50002d4c2176da6b2ed5a2529a2367c05f0fd73b Author: Inki Dae <daeinki@xxxxxxxxx> Date: Mon Aug 31 01:11:53 2015 +0900 drm/exynos: fix build warning to exynos_drm_gem.c Signed-off-by: Inki Dae <daeinki@xxxxxxxxx> commit fbbb1e1a7f170cb560224d9694f1afd851bcf47f Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Aug 31 00:53:57 2015 +0900 drm/exynos: Properly report supported formats for each device Exynos DRM reported that all planes for all supported sub-devices supports only three pixel formats: XRGB24, ARGB24 and NV12. This patch lets each Exynos DRM sub-drivers to provide the list of supported pixel formats and registers this list to DRM core. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 74f230d2a7e36c27fde38db20ebfb7ddb9c4a116 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Mon Aug 31 00:45:56 2015 +0900 drm/exynos: add render node support This patch allows clients who want to use render node to access rendering relevant ioctls - g2d, post processor and gem allocation. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cc5a7b35799459ec1d0b0e538f4d810aef704217 Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Thu Aug 27 18:21:14 2015 +0900 drm/exynos: implement atomic_{begin/flush} of DECON Each CRTC's atomic_{begin/flush} must stop/start the update of shadow registers to active register in the functions. This patch achieves these purpose by moving the setting of protection bits to those functions from decon_update_plane. v2: rebased to the branch exynos-drm-next Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit e7fefb1d5af5d90baec5204d9096e8c4db8c93bd Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 31 00:33:57 2015 +0900 drm/exynos: remove legacy ->suspend()/resume() These legacy helpers should only be used by shadow-attaching drivers. KMS drivers has its own way to handle suspend/resume and don't need to use these two helpers. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <daeinki@xxxxxxxxx> commit c8c38ccff9308a706b5314ca1cf157713a40f6b5 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 24 20:52:19 2015 +0900 drm/exynos: Enable atomic modesetting feature From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Now that atomic modesetting is implemented for exynos enable the DRIVER_ATOMIC flag on the driver's features. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7cf23eaf0d8e6f34f3bc89141efc96b2502b290c Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:19 2015 -0300 drm/exynos: remove wait queue for pending page flip Exynos atomic commit procedures already does this job of waiting for pending updates to finish, that means using pending_flip_queue is pointless now because the disable CRTC procedure will never happen during a page_flip. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c4533665d819271dad890440b887776ac3d5f265 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:18 2015 -0300 drm/exynos: wait all planes updates to finish Add infrastructure to wait for all planes updates to finish by using an atomic_t variable to track how many pending updates we are waiting plus a wait_queue for the wait part. It also changes vblank behaviour and keeps it enabled for all types of updates Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a379df19356de97afdca37c4e8f5e8729215d6ea Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:17 2015 -0300 drm/exynos: add atomic asynchronous commit The atomic modesetting interfaces supports async commits that should be implemented by the drivers. If drm core requests an async commit exynos_atomic_commit() will now schedule a work task to run the update later. It also serializes commits that needs to run on the same crtc, putting the following commit to wait until the current one is finished. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cb11b3f18957f90f8adeb95adf694f52581416b3 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:16 2015 -0300 drm/exynos: fimd: only finish update if START == START_S fimd_update_plane() programs BUF_START[win] and during the update BUF_START[win] is copied to BUF_START_S[win] (its shadow register) and starts scanning out, then it raises a irq. The fimd_irq_handler, in the case we have a pending_fb, will check the fb value was copied to START_S register and finish the update in case of success. Based on patch from Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 44205083751cdcfdbd3f8607694ee1a5a9b161c7 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:15 2015 -0300 drm/exynos: add macro to get the address of START_S reg This macro is need to get the value of the START shadow register, that will tell if an framebuffer is currently displayed on the screen or not. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 822f6dfd714c961e3c5648b1d4a5ac10f807d592 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:14 2015 -0300 drm/exynos: check for pending fb before finish update The current code was ignoring the end of update for all overlay planes, caring only for the primary plane update in case of pageflip. This change adds a change to start to check for pending updates for all planes through exynos_plane->pending_fb. At the start of plane update the pending_fb is set with the fb to be shown on the screen. Then only when to fb is already presented in the screen we set pending_fb to NULL to signal that the update was finished. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> fixup! drm/exynos: check for pending fb before finish update commit ce3ff36be91a85d87f138794dbbd704fb99320c2 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:13 2015 -0300 drm/exynos: fimd: move window protect code to prepare/cleanup_plane Only set/clear the update bit in the CRTC's .atomic_begin()/flush() so all planes are really committed at the same time. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d9220d4733d1ea1ae375bd76dd2c961969a6795c Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 24 20:36:59 2015 +0900 drm/exynos: add prepare and cleanup phases for planes From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> .prepare_plane() and .cleanup_plane() allows to perform extra operations before and after the update of planes. For FIMD for example this will be used to enable disable the shadow protection bit. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit fc75f7107a8de47e135cf3b9fec62f99c184a2c8 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:11 2015 -0300 drm/exynos: fimd: unify call to exynos_drm_crtc_finish_pageflip() Unify handling of finished plane update to prepare for a following patch that will check for the START and START_S regs to really make sure that the plane was updated. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit bb0fa93523b8d7f89b6ee61ab8e9b926ff7a9779 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 13:26:10 2015 -0300 drm/exynos: don't track enabled state at exynos_crtc struct drm_crtc already stores the enabled state of the crtc thus we don't need to replicate enabled in exynos_drm_crtc. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 91931320cfbbcc1dd874c2d0aef62e7d90f07f70 Merge: 02dc14d ca94085 d32e03f 534dcd7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:59:18 2015 +0100 Merge remote-tracking branches 'asoc/topic/wm8996', 'asoc/topic/xtensa' and 'asoc/topic/zx296702' into asoc-next commit 02dc14d66e2047ca2d1bc7ed8ebef7f3415cf476 Merge: 384ea79 84eac61 b970499 779ea47 3176bf2 85e7118 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:58:56 2015 +0100 Merge remote-tracking branches 'asoc/topic/wm8741', 'asoc/topic/wm8753', 'asoc/topic/wm8904', 'asoc/topic/wm8960' and 'asoc/topic/wm8983' into asoc-next commit 384ea7936cc987ee771690f624593f6dd8ca15a2 Merge: c009d37 030e6ee efc04ca dc606e05 c8a6b92 f611cdd Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:58:36 2015 +0100 Merge remote-tracking branches 'asoc/topic/wm0010', 'asoc/topic/wm5100', 'asoc/topic/wm5110', 'asoc/topic/wm8004' and 'asoc/topic/wm8731' into asoc-next commit c009d370dd35eb29a8c14f6eb50a4da4276db3f1 Merge: 428157c 95e3c23 ef3355d 4313489 0a3dcb5 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:58:18 2015 +0100 Merge remote-tracking branches 'asoc/topic/txx9', 'asoc/topic/uda134x', 'asoc/topic/ux500' and 'asoc/topic/width' into asoc-next commit 428157c1e8c9eaf0029430ae82ec0df8578de46b Merge: 0a5ff07 82cf77a 9425e9d f57ddcd 2e45a25 1a3232d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:57:34 2015 +0100 Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next commit 0a5ff077572d058d3023d243ba97a7e98d111f4c Merge: cfed47d 601e457 97a7471 e129091 601b9d9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:57:13 2015 +0100 Merge remote-tracking branches 'asoc/topic/ssm2518', 'asoc/topic/sta529', 'asoc/topic/sti' and 'asoc/topic/sti-sas' into asoc-next commit cfed47d7b5abd5ce9c010169cce9c2754394a02d Merge: a8f1d97 7d4d443 e8de871 e225797 8e2175d 2c3f4b9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:56:44 2015 +0100 Merge remote-tracking branches 'asoc/topic/rt5677', 'asoc/topic/sh', 'asoc/topic/simple', 'asoc/topic/sirf-codec' and 'asoc/topic/spear' into asoc-next commit a8f1d97bfa986f00835d2669a970e19f6dd9b9d8 Merge: 532161e 5efe58c 818454d 469444f 387ad57 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:56:27 2015 +0100 Merge remote-tracking branches 'asoc/topic/rt298', 'asoc/topic/rt5640', 'asoc/topic/rt5651' and 'asoc/topic/rt5670' into asoc-next commit 532161e6ccbd1c5ac3a2ea9dc60c8e253cd22fa5 Merge: d781c23 1af2cc6 41a5fefe ac1125d 1c0beb2 a5afdc5 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:55:54 2015 +0100 Merge remote-tracking branches 'asoc/topic/rcar', 'asoc/topic/reg-default', 'asoc/topic/rl6231', 'asoc/topic/rockchip' and 'asoc/topic/rt286' into asoc-next commit d781c23e9b46f33c1c6c07febae36f37a11f9d4d Merge: acb47ad 42d1b8c 637c4497 618718d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:55:41 2015 +0100 Merge remote-tracking branches 'asoc/topic/pm-ops', 'asoc/topic/pxa' and 'asoc/topic/qcom' into asoc-next commit acb47ad5023fbd29a2c9a681c28b33968c9dcc9e Merge: 1d1ed2c 775b07d 0643558 d5f1117 5e3cdaa 7d40acc Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:55:21 2015 +0100 Merge remote-tracking branches 'asoc/topic/mediatek', 'asoc/topic/mtk', 'asoc/topic/nuc900', 'asoc/topic/of-name' and 'asoc/topic/omap' into asoc-next commit 1d1ed2c23e6fac1c9a11df846536553754ac9780 Merge: 373e515 62d6d47 5549ce8 4ab0c591 623436a 6eb1c2a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:54:57 2015 +0100 Merge remote-tracking branches 'asoc/topic/max98090', 'asoc/topic/max98095', 'asoc/topic/max98357a', 'asoc/topic/max9877' and 'asoc/topic/max98925' into asoc-next commit 373e515d655086d4c05aae3b098bd48fe1f0c382 Merge: 246647e e1d46d3 c4a4291 6f43979 04b5cbd f102aa1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:54:38 2015 +0100 Merge remote-tracking branches 'asoc/topic/intel', 'asoc/topic/kirkwood', 'asoc/topic/lm49453', 'asoc/topic/max9768' and 'asoc/topic/max98088' into asoc-next commit 246647ee3e7533362e2c291eebaa7409b8565376 Merge: bb85d37 89e0e25 dce0332 2002e90 b37bfda bf08f39 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:54:15 2015 +0100 Merge remote-tracking branches 'asoc/topic/fsl-spdif', 'asoc/topic/fsl-ssi', 'asoc/topic/gtm601', 'asoc/topic/ics43432' and 'asoc/topic/ids' into asoc-next commit bb85d37358bbca1bbd0fffda87bb38e7c9b69364 Merge: 7c00313 be9ae23 dcfcf2c fa3be920 50e0ee0 9b7493d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:53:56 2015 +0100 Merge remote-tracking branches 'asoc/topic/fsi', 'asoc/topic/fsl', 'asoc/topic/fsl-asrc', 'asoc/topic/fsl-card' and 'asoc/topic/fsl-sai' into asoc-next commit 7c0031360bd721254a52c56bd1c2e90b6d9df57b Merge: 3999622 508a43f 553de19 628536e c5b8540 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:53:39 2015 +0100 Merge remote-tracking branches 'asoc/topic/davinci', 'asoc/topic/davinci-vcif', 'asoc/topic/doc' and 'asoc/topic/dpcm' into asoc-next commit 399962239c07ab00adbfda72064b045c9c2c7b40 Merge: b18fec9 7f325bf fbf917e f755d11 a01da00 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:53:22 2015 +0100 Merge remote-tracking branches 'asoc/topic/cs42l56', 'asoc/topic/cs42l73', 'asoc/topic/cs4349' and 'asoc/topic/da732x' into asoc-next commit b18fec9fe42846784e1744e6bd6c754751e1d172 Merge: 48997b9 6479304 c176330 80deaf0 4caae95 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:59 2015 +0100 Merge remote-tracking branches 'asoc/topic/const', 'asoc/topic/cs35l32', 'asoc/topic/cs4265' and 'asoc/topic/cs42l52' into asoc-next commit 48997b9c03a80cadd14e0ed097f9594ff8454039 Merge: 21af109 fd63542 054bc83 c4d2ab0 54d8697 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:41 2015 +0100 Merge remote-tracking branches 'asoc/topic/au1x', 'asoc/topic/bcm2835', 'asoc/topic/blackfin' and 'asoc/topic/card' into asoc-next commit 21af1094385186a078a044f886a312511dcca04f Merge: 28becbd 93ec3a1 310398f f8ea6ce d90c6cc 56113f6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:21 2015 +0100 Merge remote-tracking branches 'asoc/topic/88pm860x', 'asoc/topic/ac97', 'asoc/topic/ak4542', 'asoc/topic/arizona' and 'asoc/topic/atmel' into asoc-next commit 28becbd59c89cccf26b7539684105437fa77210e Merge: cb42e0f dbe71b9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:16 2015 +0100 Merge remote-tracking branch 'asoc/topic/ssm4567' into asoc-next commit cb42e0f709a73caf4d631be32189bb1ca513ad25 Merge: ca945cf f2988af Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:12 2015 +0100 Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-next commit ca945cf9fb887ff64e63f324a9098a1bd848c58f Merge: 4253f3a 48f403b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:52:08 2015 +0100 Merge remote-tracking branch 'asoc/topic/pcm1681' into asoc-next commit 4253f3a8f4c7835a95dbdef232ad81d0af88fab3 Merge: 24ecc23 6e588a0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:51:57 2015 +0100 Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next commit 24ecc23cf62a48ae47ccc40f0f226d45c962512e Merge: a178065 abd31b3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:51:52 2015 +0100 Merge remote-tracking branch 'asoc/topic/core' into asoc-next commit a1780653b906ca342f20812570e1f07edb35b907 Merge: 1931553 9d83528 0e76597 e5b9408 9b850ca 14a500f e134cb2 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:51:20 2015 +0100 Merge remote-tracking branches 'asoc/fix/adav80x', 'asoc/fix/arizona', 'asoc/fix/max98090', 'asoc/fix/rt5640', 'asoc/fix/samsung' and 'asoc/fix/wm8994' into asoc-linus commit 19315532b6d46142e401db4dce3cd52cd5c60577 Merge: c13dcf9 c171348 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 15:51:15 2015 +0100 Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-linus commit 534dcd7ea60cebc41816eff0c290700acb2cc43e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 29 23:09:30 2015 +0800 ASoC: zx296702-i2s: Fix resource leak when unload module Use devm_* API to fix leaks in current code. 1. Use devm_kzalloc to fix memory leak for zx_i2s when unload the module. 2. Use devm_snd_soc_register_component to ensure component is unregistered when unload the module. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f5164b8833498825b3197cb34150b142a9fc5bbf Merge: aaa9b64 a70f0d0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:40:29 2015 +0100 Merge remote-tracking branch 'regulator/topic/tps6586x' into regulator-next commit aaa9b649d0868725cd7536bc9017fe3956ad5393 Merge: 3e68312 5a286aa e2adfac a13eaf0 5127e31 30f93ca Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:40:11 2015 +0100 Merge remote-tracking branches 'regulator/topic/qcom-smd', 'regulator/topic/qcom-spmi', 'regulator/topic/rk808', 'regulator/topic/stub' and 'regulator/topic/tol' into regulator-next commit 3e683126f4b42bd29ac5adff1eb178880aa7706a Merge: 176175b 6d73aef 3a003ba a807a6c a02daad 60cb65e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:39:48 2015 +0100 Merge remote-tracking branches 'regulator/topic/mt6311', 'regulator/topic/ocp', 'regulator/topic/owner', 'regulator/topic/pfuze100' and 'regulator/topic/pwm' into regulator-next commit 176175b613cb560a33839838c3baa817c9e218ca Merge: 11f2482 804486b 6cb6e6b ee3010d b10c7f3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:39:34 2015 +0100 Merge remote-tracking branches 'regulator/topic/lp872x', 'regulator/topic/ltc3589', 'regulator/topic/max77693' and 'regulator/topic/max8973' into regulator-next commit 11f24823667400983a05e6099d645f523d1989ef Merge: 08aad16 4245746 7bd3935 e80c47b 5b87af4 609ca5f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:39:14 2015 +0100 Merge remote-tracking branches 'regulator/topic/da9210', 'regulator/topic/da9211', 'regulator/topic/fan53555', 'regulator/topic/isl9305' and 'regulator/topic/list' into regulator-next commit 08aad16c80f22d2c34407dc2f8cfe0eb57750db6 Merge: eaf018e bf1fc23 ce31751 d4ea7d8 736050c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:38:50 2015 +0100 Merge remote-tracking branches 'regulator/topic/88pm800', 'regulator/topic/ad5398', 'regulator/topic/axp20x' and 'regulator/topic/da9062' into regulator-next commit eaf018e170cef4a5a4378c984b70d768dd30048d Merge: e616e2f 099982f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:38:46 2015 +0100 Merge remote-tracking branch 'regulator/topic/core' into regulator-next commit e616e2f11b2776cbc24035fd14df4773a57b4b6a Merge: c13dcf9 c329061 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 14:38:37 2015 +0100 Merge remote-tracking branch 'regulator/fix/pbias' into regulator-linus commit 6d73aef11760017c37e448d84595dcb44e1c3827 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sun Aug 30 20:20:42 2015 +0800 regulator: mt6311: fix platform_no_drv_owner.cocci warnings drivers/regulator/mt6311-regulator.c:169:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6cb6e6be41b5b42370e9028d7b691803295b097e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sat Aug 29 13:56:11 2015 +0200 regulator: ltc3589: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and already contains a "ltc3589" device id. So the modalias is unnecessary. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ce317515b43f3e0b789b41df9b54e1608c783c5d Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sat Aug 29 13:56:10 2015 +0200 regulator: ad5398: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and also "ad5398-regulator" is not a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e12909107c30efccf570ac67802df5d2eec4cabd Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 29 23:06:32 2015 +0800 ASoC: sti_uniperif: Ensure component is unregistered when unload module Use devm_snd_soc_register_component to ensure component is unregistered when unload the module. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1cfa8de2880e5512f9037c7804ea47a79cc8232c Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Sun May 3 10:36:19 2015 +0100 MIPS: pgtable-bits.h: Correct _PAGE_GLOBAL_SHIFT build failure Correct a build failure introduced by be0c37c9 [MIPS: Rearrange PTE bits into fixed positions.]: In file included from ./arch/mips/include/asm/io.h:27:0, from ./arch/mips/include/asm/page.h:176, from include/linux/mm_types.h:15, from include/linux/sched.h:27, from include/linux/ptrace.h:5, from arch/mips/kernel/cpu-probe.c:16: ./arch/mips/include/asm/pgtable-bits.h:164:0: error: "_PAGE_GLOBAL_SHIFT" redefined [-Werror] #define _PAGE_GLOBAL_SHIFT (_PAGE_MODIFIED_SHIFT + 1) ^ ./arch/mips/include/asm/pgtable-bits.h:141:0: note: this is the location of the previous definition #define _PAGE_GLOBAL_SHIFT (_PAGE_SPLITTING_SHIFT + 1) ^ cc1: all warnings being treated as errors make[2]: *** [arch/mips/kernel/cpu-probe.o] Error 1 for 64BIT/CPU_MIPSR1/MIPS_HUGE_TLB_SUPPORT configurations. Remove the scattered double `_PAGE_NO_EXEC_SHIFT' and `_PAGE_GLOBAL_SHIFT' macro definitions and rearrange them so that the respective macros these definitions are based on are also those used for guarding conditionals. [ralf@xxxxxxxxxxxxxx: resolved conflicts and updated commments.] Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/9960/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fd63542fc5492b86158dbd53ce5de764f171b1b6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 11:09:49 2015 +0800 ASoC: au1x: psc-i2s: Convert to use devm_ioremap_resource Use devm_ioremap_resource() instead of open code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e8de871e19668257972b167aabd56bb5faae784c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 11:07:33 2015 +0800 ASoC: sh: dma-sh7760: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 37c5db7938093cada165146ee99bd57c97baf6a3 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 18:35:51 2015 +0800 spi: fsl-(e)spi: Fix checking return value of devm_ioremap_resource devm_ioremap_resource() returns ERR_PTR on error. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2c3f4b97eea5ce405baf2591715445da6ed05851 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 08:08:15 2015 +0800 ASoC: spear_pcm: Use devm_snd_dmaengine_pcm_register to fix resource leak All the callers assume devm_spear_pcm_platform_register is a devm_ API, so use devm_snd_dmaengine_pcm_register in devm_spear_pcm_platform_register. Fixes: e1771bcf99b0 ("ASoC: SPEAr: remove custom DMA alloc compat function") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2497ee721524be80a7690dac0956d04c0ee954f0 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:16 2015 +0200 amdkfd: use <linux/mman.h> instead of <uapi/asm-generic/mman-common.h> The latter is a default version of <asm/mman.h> and not for driver use. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 29332534e2b68b5889a40ccb6606ba0d06750a69 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Sun Aug 30 09:33:56 2015 +0200 regmap-i2c: Add smbus i2c block support This allows to read/write up to 32 bytes of data and is to be prefered if supported before the register read/write smbus support. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c335931ed9d22c30017cf957518262c2fe6502ce Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Sun Aug 30 09:33:55 2015 +0200 regmap: Add raw_write/read checks for max_raw_write/read sizes Check in regmap_raw_read() and regmap_raw_write() for correct maximum sizes of the operations. Return -E2BIG if this size is not supported because it is too big. Also this patch causes an uninitialized variable warning so it initializes ret (although not necessary). Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f50c9eb4e9304cf555206c93152f580c0e7213b2 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Sun Aug 30 09:33:54 2015 +0200 regmap: regmap max_raw_read/write getter functions Add functions to access the maximum size we can read/write using regmap_raw_read/write(). This helps drivers that need to know how much they can write with the raw functions without problems. There are some devices (e.g. bmc150) that have fifos as registers which need to be read in specific chunks otherwise samples are dropped. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit adaac459759db4a1fd35baddbe47bac700095496 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Sun Aug 30 09:33:53 2015 +0200 regmap: Introduce max_raw_read/write for regmap_bulk_read/write There are some buses which have a limit on the maximum number of bytes that can be send/received. An example for this is I2C_FUNC_SMBUS_I2C_BLOCK which does not support any reads/writes of more than 32 bytes. The regmap_bulk operations should still be able to utilize the full 32 bytes in this case. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 10524612e8aa98804190ec7d0b380cf99c3bdbd7 Merge: c13dcf9 9a16ea9 9c9f7f6 07ea400 c5f58f2 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 30 10:19:11 2015 +0100 Merge branches 'fix/raw', 'topic/core', 'topic/i2c', 'topic/raw' and 'topic/doc' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into regmap-smbus-block commit 390fd5929f52bdfb9dfcc03820041ba556780f4a Author: Philippe Bergheaud <felix@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 09:37:36 2015 +0200 cxl: Set up and enable PSL Timebase This patch configures the PSL Timebase function and enables it, after the CAPP has been initialized by OPAL. Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Philippe Bergheaud <felix@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 55e07668fbba9466e6a9ef7650718356cda38406 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Thu Aug 27 19:50:19 2015 +1000 cxl: Fix force unmapping mmaps of contexts allocated through the kernel api The cxl user api uses the address_space associated with the file when we need to force unmap all cxl mmap regions (e.g. on eeh, driver detach, etc). Currently, contexts allocated through the kernel api do not do this and instead skip the mmap invalidation, potentially allowing them to poke at the hardware after such an event, which may cause all sorts of trouble. This patch allocates an address_space for cxl contexts allocated through the kernel api so that the same invalidate path will for these contexts as well. We don't use the anonymous inode's address_space, as doing so could invalidate any mmaps of completely unrelated drivers using anonymous file descriptors. This patch also introduces a kernelapi flag, so we know when freeing the context if the address_space was allocated by us and needs to be freed. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit af2a50bb0ce1ca7a9c4784813419c922bf2285df Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Thu Aug 27 19:50:18 2015 +1000 cxl: Fix + cleanup error paths in cxl_dev_context_init If the cxl_context_alloc() call fails, we return immediately without releasing the reference on the AFU device, allowing it to leak. This patch switches to using goto style error handling so that the device is released in common code for both error paths, and will also simplify things if we add additional initialisation in this function in the future. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 099392048cd443349c50310f7fdc96070e40f4e7 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Aug 29 19:11:21 2015 -0700 SUNRPC: Prevent SYN+SYNACK+RST storms Add a shutdown() call before we release the socket in order to ensure the reset is sent before we try to reconnect. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2573d78872f242a05b842e9c553da45a3d9924e5 Merge: 8e816df a581b96 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 29 19:07:16 2015 -0700 Merge branch 'ovs-vport-cleanup' Pravin B Shelar says: ==================== openvswitch: Cleanup post vport conversion. After converting all vport to netdev implmentations there is no need for some of vport functionality. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a581b96dbfc52b6b498552525ec929aa635680ed Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Sat Aug 29 17:44:08 2015 -0700 openvswitch: Remove vport-net This structure is not used anymore. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c876639c98501b049269b554bf4ecbb8f9c012f Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Sat Aug 29 17:44:07 2015 -0700 openvswitch: Remove vport stats. Since all vport types are now backed by netdev, we can directly use netdev stats. Following patch removes redundant stat from vport. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3eedb41fb43461b5fde3f72fd00a7706f0b90103 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Sat Aug 29 17:44:06 2015 -0700 openvswitch: Remove egress_tun_info. tun info is passed using skb-dst pointer. Now we have converted all vports to netdev based implementation so Now we can remove redundant pointer to tun-info from OVS_CB. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24d43f32d86026a0e318fee736380e164d85eefa Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Sat Aug 29 17:44:05 2015 -0700 openvswitch: Remove vport get_name() Remove unused get_name() function pointer from vport ops. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 650c919798c71fb34b77a6f2ba03a06907f06a76 Merge: 895fb31 64291f7 Author: Chris Zankel <chris@xxxxxxxxxx> Date: Sat Aug 29 23:55:58 2015 +0000 Merge tag 'v4.2' into for_next Linux 4.2 commit 8e816df87997bb0c40122d5df621423b445c4fe6 Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Aug 28 16:54:40 2015 -0700 geneve: Use GRO cells infrastructure. Geneve can benefit from GRO at the device level in a manner similar to other tunnels, especially as hardware offloads are still emerging. After this patch, aggregated frames are seen on the tunnel interface. Single stream throughput nearly doubles in ideal circumstances (on old hardware). Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c78789e3a030615c6650fde89546cadf40ec2cc Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Aug 29 13:36:30 2015 -0700 SUNRPC: xs_reset_transport must mark the connection as disconnected In case the reconnection attempt fails. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c30da497893718abc6cec4f1d34d35875200edee Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Sat Aug 29 09:02:21 2015 +0900 openvswitch: retain parsed IPv6 header fields in flow on error skipping extension headers When an error occurs skipping IPv6 extension headers retain the already parsed IP protocol and IPv6 addresses in the flow. Also assume that the packet is not a fragment in the absence of information to the contrary; that is always use the frag_off value set by ipv6_skip_exthdr(). This allows matching on the IP protocol and IPv6 addresses of packets with malformed extension headers. Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5004a14fac0a71656340544c48a14c80a3afddf Merge: 6d74232 917522a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 29 13:15:03 2015 -0700 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-08-28 One more bunch of Bluetooth patches for 4.3: - Crash fix for hci_bcm driver - Enhancements to hci_intel driver (e.g. baudrate configuration) - Fix for SCO link type after multiple connect attempts - Cleanups & minor fixes in a few other places Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f892a84cc890aaaba7bc42daf2e2ee86b0961884 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Aug 28 11:50:15 2015 -0700 net/smsc911x: Fix deferred probe for interrupt The interrupt handler may not be available when smsc911x probes if the interrupt handler is a GPIO controller for example. Let's fix that by adding handling for -EPROBE_DEFER. Cc: Steve Glendinning <steve.glendinning@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d74232410a9f3ed0e1fc0f5e538598f21e93982 Merge: f6d3c19 a43a9ef Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 29 13:07:55 2015 -0700 Merge branch 'tnl-ipv4-ipv6' Jiri Benc says: ==================== tunnels: fix incorrect IPv4/v6 headers interpretation With tunneling, it is currently possible to get an IPv6 header and interpret it as an IPv4 header, or to interpret an IPv6 address as an IPv4 address (and vice versa). This leads to things like sending packets to incorrect address, IPv6 flow label being interpreted as IP packet length, etc. Fix several places where this can happen. Most of this is net-next only. The third patch affects net, too, but it doesn't seem there's anything in user space that sets the attribute at all currently, thus net-next is fine. Changelog: v2: fixed geneve after incorrect rebase on top of Pravin's patches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a43a9ef6a2e510fec61176ff2c34fab3e7d581da Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 28 20:48:22 2015 +0200 vxlan: do not receive IPv4 packets on IPv6 socket By default (subject to the sysctl settings), IPv6 sockets listen also for IPv4 traffic. Vxlan is not prepared for that and expects IPv6 header in packets received through an IPv6 socket. In addition, it's currently not possible to have both IPv4 and IPv6 vxlan tunnel on the same port (unless bindv6only sysctl is enabled), as it's not possible to create and bind both IPv4 and IPv6 vxlan interfaces and there's no way to specify both IPv4 and IPv6 remote/group IP addresses. Set IPV6_V6ONLY on vxlan sockets to fix both of these issues. This is not done globally in udp_tunnel, as l2tp and tipc seems to work okay when receiving IPv4 packets on IPv6 socket and people may rely on this behavior. The other tunnels (geneve and fou) do not support IPv6. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9b6695cf0e1afebc207e28c7e9350c90547a426 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 28 20:48:21 2015 +0200 fou: reject IPv6 config fou does not really support IPv6 encapsulation. After an UDP socket is created in fou_create, the encap_rcv callback is set either to fou_udp_recv or to gue_udp_recv. Both of those unconditionally assume that the received packet has an IPv4 header and access the data at network_header as it was an IPv4 header. This leads to IPv6 flow label being interpreted as IP packet length, etc. Disallow fou tunnel to be configured as IPv6 until real IPv6 support is added to fou. CC: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f9562a1f405306eacb97f95d78cb996e33f27f5 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 28 20:48:20 2015 +0200 ip_tunnels: record IP version in tunnel info There's currently nothing preventing directing packets with IPv6 encapsulation data to IPv4 tunnels (and vice versa). If this happens, IPv6 addresses are incorrectly interpreted as IPv4 ones. Track whether the given ip_tunnel_key contains IPv4 or IPv6 data. Store this in ip_tunnel_info. Reject packets at appropriate places if they are supposed to be encapsulated into an incompatible protocol. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46fa062ad63146dd138ec0f017e71224471e8ea5 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 28 20:48:19 2015 +0200 ip_tunnels: convert the mode field of ip_tunnel_info to flags The mode field holds a single bit of information only (whether the ip_tunnel_info struct is for rx or tx). Change the mode field to bit flags. This allows more mode flags to be added. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6d3c19274c74ff17174df8078e0a14df003667f Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 08:42:09 2015 -0700 net: FIB tracepoints A few useful tracepoints developing VRF driver. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9751a9e449da2a7749d89968039d532c615beeaa Author: Javi Merino <javi.merino@xxxxxxx> Date: Tue Aug 25 19:22:35 2015 +0100 thermal: power_allocator: allocate with kcalloc what you free with kfree Commit cf736ea6f902 ("thermal: power_allocator: do not use devm* interfaces") forgot to change a devm_kcalloc() to just kcalloc(), but it's corresponding devm_kfree() was changed to kfree(). Allocate with kcalloc() to match the kfree(). Fixes: cf736ea6f902 ("thermal: power_allocator: do not use devm* interfaces") Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a02daad70214a820988c045494a15dea047c16d4 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sat Aug 29 02:35:13 2015 +0200 regulator: pfuze100: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and also "pfuze100-regulator" is not a supported I2C id, so is never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 22c103cd3dfadff340b3b639e477a3c161cb2104 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Aug 29 10:38:46 2015 +0900 ALSA: fireworks/bebob/dice/oxfw: fix substreams counting at vmalloc failure In PCM core, when hw_params() in each driver returns error, the state of PCM substream is kept as 'open'. In this case, current drivers for sound units on IEEE 1394 bus doesn't decrement substream counter in hw_free() correctly. This causes these drivers to keep streams even if not required. This commit fixes this bug. When snd_pcm_lib_alloc_vmalloc_buffer() fails, hw_params function in each driver returns without incrementing the counter. Reported-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Acked-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 73e6742027f5cb5a7c747d9abab5351b01fd4c74 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri Aug 28 21:23:39 2015 -0400 sctp: Do not try to search for the transport twice When removing an non-primary transport during ASCONF processing, we end up traversing the transport list twice: once in sctp_cmd_del_non_primary, and once in sctp_assoc_del_peer. We can avoid the second search and call sctp_assoc_rm_peer() instead. Found by code inspection during code reviews. Signed-off-by: Vladislav Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0d4943eec9a42c7ba2065f6cfa949894204dd4a Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 15:05:32 2015 -0700 bonding: fix bond_poll_controller bh_enable warning The problem is rcu_read_unlock_bh() which triggers a warning when irqs are disabled. ndo_poll_controller should run with irqs disabled always so we can drop the rcu_read_lock_bh. [ 98.502922] bond0: making interface eth1 the new active one [ 98.503039] ------------[ cut here ]------------ [ 98.503039] WARNING: CPU: 0 PID: 1744 at kernel/softirq.c:150 __local_bh_enable_ip+0x96/0xc0() [ 98.503039] Modules linked in: bonding(OE) rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache netconsole ppdev joydev parport_pc serio_raw parport i2c_piix4 video acpi_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc virtio_net e1000 ata_generic pcnet32 mii virtio_pci virtio_ring virtio pata_acpi [ 98.503039] CPU: 0 PID: 1744 Comm: ifenslave Tainted: G OE 4.2.0-rc7+ #56 [ 98.503039] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [ 98.503039] 0000000000000000 00000000e96ba230 ffff880020c236b8 ffffffff8183f105 [ 98.503039] 0000000000000000 0000000000000000 ffff880020c236f8 ffffffff810a9496 [ 98.503039] ffff88002ea99e08 0000000000000200 ffffffffa02a8e06 ffff88002ea99e08 [ 98.503039] Call Trace: [ 98.503039] [<ffffffff8183f105>] dump_stack+0x4c/0x65 [ 98.503039] [<ffffffff810a9496>] warn_slowpath_common+0x86/0xc0 [ 98.503039] [<ffffffffa02a8e06>] ? bond_poll_controller+0x146/0x250 [bonding] [ 98.503039] [<ffffffff810a95ca>] warn_slowpath_null+0x1a/0x20 [ 98.503039] [<ffffffff810ae376>] __local_bh_enable_ip+0x96/0xc0 [ 98.503039] [<ffffffffa02a8e2f>] bond_poll_controller+0x16f/0x250 [bonding] [ 98.503039] [<ffffffffa02a8cf3>] ? bond_poll_controller+0x33/0x250 [bonding] [ 98.503039] [<ffffffff810feaed>] ? trace_hardirqs_off+0xd/0x10 [ 98.503039] [<ffffffff81848afb>] ? _raw_spin_unlock_irqrestore+0x5b/0x60 [ 98.503039] [<ffffffff816ec48e>] netpoll_poll_dev+0x6e/0x350 [ 98.503039] [<ffffffff816eb977>] ? netpoll_start_xmit+0x137/0x1d0 [ 98.503039] [<ffffffff816b2e8b>] ? __alloc_skb+0x5b/0x210 [ 98.503039] [<ffffffff816ec89d>] netpoll_send_skb_on_dev+0x12d/0x2a0 [ 98.503039] [<ffffffff816eccde>] netpoll_send_udp+0x2ce/0x430 [ 98.503039] [<ffffffffa0190850>] write_msg+0xb0/0xf0 [netconsole] [ 98.503039] [<ffffffff81116b63>] call_console_drivers.constprop.25+0x133/0x260 [ 98.503039] [<ffffffff81117934>] console_unlock+0x2f4/0x580 [ 98.503039] [<ffffffff81117ea5>] ? vprintk_emit+0x2e5/0x630 [ 98.503039] [<ffffffff81117ee5>] vprintk_emit+0x325/0x630 [ 98.503039] [<ffffffff81118379>] vprintk_default+0x29/0x40 [ 98.503039] [<ffffffff8183de4f>] printk+0x55/0x6b [ 98.503039] [<ffffffff816c754c>] __netdev_printk+0x16c/0x260 [ 98.503039] [<ffffffff816c7a12>] netdev_info+0x62/0x80 [ 98.503039] [<ffffffffa02ab464>] bond_change_active_slave+0x134/0x6a0 [bonding] [ 98.503039] [<ffffffffa02aba95>] bond_select_active_slave+0xc5/0x310 [bonding] [ 98.503039] [<ffffffffa02aeb78>] bond_enslave+0x1088/0x10c0 [bonding] [ 98.503039] [<ffffffffa02af46b>] bond_do_ioctl+0x37b/0x400 [bonding] [ 98.503039] [<ffffffff81101d8d>] ? trace_hardirqs_on+0xd/0x10 [ 98.503039] [<ffffffff816dc437>] ? rtnl_lock+0x17/0x20 [ 98.503039] [<ffffffff816e5fd1>] dev_ifsioc+0x331/0x3e0 [ 98.503039] [<ffffffff816e62dc>] dev_ioctl+0xec/0x6c0 [ 98.503039] [<ffffffff816a6c6a>] sock_do_ioctl+0x4a/0x60 [ 98.503039] [<ffffffff816a7300>] sock_ioctl+0x1c0/0x250 [ 98.503039] [<ffffffff81271bfe>] do_vfs_ioctl+0x2ee/0x540 [ 98.503039] [<ffffffff810fd943>] ? up_read+0x23/0x40 [ 98.503039] [<ffffffff81070993>] ? __do_page_fault+0x1d3/0x420 [ 98.503039] [<ffffffff8127e246>] ? __fget_light+0x66/0x90 [ 98.503039] [<ffffffff81271ec9>] SyS_ioctl+0x79/0x90 [ 98.503039] [<ffffffff8184936e>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 98.503039] ---[ end trace 00cfa804b0670051 ]--- Fixes: 616f45416ca0 ("bonding: implement bond_poll_controller()") Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a468ac624c80bda76957d8cbc28024f4f68e316 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 16:56:01 2015 +0300 sh_eth: propagate platform_get_irq() error upstream The driver overrides the error returned by platform_get_irq() with -ENODEV which e.g. precludes the deferred probing from working. Propagate the real error code to the driver core instead. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f375339e497582ea0bc8806a0552add1cabb6d4e Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 16:55:10 2015 +0300 ravb: propagate platform_get_irq() error upstream The driver overrides the error returned by platform_get_irq() with -ENODEV which e.g. precludes the deferred probing from working. Propagate the real error code to the driver core instead. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c5a9461812b21e1a1b7a09a83e97530b8867459 Author: lucien <lucien.xin@xxxxxxxxx> Date: Fri Aug 28 17:45:58 2015 +0800 sctp: ASCONF-ACK with Unresolvable Address should be sent RFC 5061: This is an opaque integer assigned by the sender to identify each request parameter. The receiver of the ASCONF Chunk will copy this 32-bit value into the ASCONF Response Correlation ID field of the ASCONF-ACK response parameter. The sender of the ASCONF can use this same value in the ASCONF-ACK to find which request the response is for. Note that the receiver MUST NOT change this 32-bit value. Address Parameter: TLV This field contains an IPv4 or IPv6 address parameter, as described in Section 3.3.2.1 of [RFC4960]. ASCONF chunk with Error Cause Indication Parameter (Unresolvable Address) should be sent if the Delete IP Address is not part of the association. Endpoint A Endpoint B (ESTABLISHED) (ESTABLISHED) ASCONF -----------------> (Delete IP Address) <----------------- ASCONF-ACK (Unresolvable Address) Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7084a315897715776d1764f5fd9250609e515beb Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Fri Aug 28 16:05:20 2015 +0900 netlink: mmap: fix lookup frame position __netlink_lookup_frame() was always called with the same "pos" value in netlink_forward_ring(). It will look at the same ring entry header over and over again, every time through this loop. Then cycle through the whole ring, advancing ring->head, not "pos" until it equals the "ring->head != head" loop test fails. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a6a3a23ea6efde079a5b77688541a98bf202721 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 28 07:07:48 2015 +0200 netlink: add NETLINK_CAP_ACK socket option Since commit c05cdb1b864f ("netlink: allow large data transfers from user-space"), the kernel may fail to allocate the necessary room for the acknowledgment message back to userspace. This patch introduces a new socket option that trims off the payload of the original netlink message. The netlink message header is still included, so the user can guess from the sequence number what is the message that has triggered the acknowledgment. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d5cdef8d5dd0a6819fd85305adb448f5ba56f24 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Fri Aug 28 19:22:11 2015 -0700 openvswitch: Fix conntrack compilation without mark. Fix build with !CONFIG_NF_CONNTRACK_MARK && CONFIG_OPENVSWITCH_CONNTRACK Fixes: 182e304 ("openvswitch: Allow matching on conntrack mark") Reported-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Tested-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 004f1afbe199e6ab20805b95aefd83ccd24bc5c7 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 24 19:20:23 2015 -0400 libnvdimm, pmem: direct map legacy pmem by default The expectation is that the legacy / non-standard pmem discovery method (e820 type-12) will only ever be used to describe small quantities of persistent memory. Larger capacities will be described via the ACPI NFIT. When "allocate struct page from pmem" support is added this default policy can be overridden by assigning a legacy pmem namespace to a pfn device, however this would be only be necessary if a platform used the legacy mechanism to define a very large range. Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 32ab0a3f51701cb37ab960635254d5f84ec3de0a Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Sat Aug 1 02:16:37 2015 -0400 libnvdimm, pmem: 'struct page' for pmem Enable the pmem driver to handle PFN device instances. Attaching a pmem namespace to a pfn device triggers the driver to allocate and initialize struct page entries for pmem. Memory capacity for this allocation comes exclusively from RAM for now which is suitable for low PMEM to RAM ratios. This mechanism will be expanded later for setting an "allocate from PMEM" policy. Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit e1455744b27c9e6115c3508a7b2902157c2c4347 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Jul 30 17:57:47 2015 -0400 libnvdimm, pfn: 'struct page' provider infrastructure Implement the base infrastructure for libnvdimm PFN devices. Similar to BTT devices they take a namespace as a backing device and layer functionality on top. In this case the functionality is reserving space for an array of 'struct page' entries to be handed out through pfn_to_page(). For now this is just the basic libnvdimm-device-model for configuring the base PFN device. As the namespace claiming mechanism for PFN devices is mostly identical to BTT devices drivers/nvdimm/claim.c is created to house the common bits. Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 3403051ebbd486a342272a404f16e7f1aca8758e Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 18:10:18 2015 -0500 RDMA/Core: remove rdma_cap_read_multi_sge() helper This functionality already exists via the max_sge_rd device capability. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bc3fe2e3769874dfa8674791e84c4a901ba9e48b Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 18:10:12 2015 -0500 svcrdma: Use max_sge_rd for destination read depths Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit aaae91f4f05c39f02e36e89b00ad84465f8eb02b Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 18:10:07 2015 -0500 ipath,qib: Expose max_sge_rd correctly Applications must not assume that max_sge and max_sge_rd are the same, Hence expose max_sge_rd correctly as well. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 18ebd40773bf500054a5e079e71cd13aafd1b6eb Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Mon Jul 27 18:10:01 2015 -0500 mlx4, mlx5, mthca: Expose max_sge_rd correctly Applications must not assume that max_sge and max_sge_rd are the same, Hence expose max_sge_rd correctly as well. Reported-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a724648e8a8f7ff874f0d58491b39517718c7237 Author: Jeff Becker <jeffrey.c.becker@xxxxxxxx> Date: Fri Aug 21 12:26:22 2015 -0700 staging/hfi1: replace indent spaces with tabs Running checkpatch.pl on mad.c produces several "ERROR: code indent should use tabs where possible" messages. This patch fixes these. Signed-off-by: Jeff Becker <Jeffrey.C.Becker@xxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7724105686e718ac476a6ad3304fea2fbcfcffde Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Thu Jul 30 15:17:43 2015 -0400 IB/hfi1: add driver files Signed-off-by: Andrew Friedley <andrew.friedley@xxxxxxxxx> Signed-off-by: Arthur Kepner <arthur.kepner@xxxxxxxxx> Signed-off-by: Brendan Cunningham <brendan.cunningham@xxxxxxxxx> Signed-off-by: Brian Welty <brian.welty@xxxxxxxxx> Signed-off-by: Caz Yokoyama <caz.yokoyama@xxxxxxxxx> Signed-off-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Signed-off-by: Harish Chegondi <harish.chegondi@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Jim Snow <jim.m.snow@xxxxxxxxx> Signed-off-by: John Gregor <john.a.gregor@xxxxxxxxx> Signed-off-by: Jubin John <jubin.john@xxxxxxxxx> Signed-off-by: Kaike Wan <kaike.wan@xxxxxxxxx> Signed-off-by: Kevin Pine <kevin.pine@xxxxxxxxx> Signed-off-by: Kyle Liddell <kyle.liddell@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Ravi Krishnaswamy <ravi.krishnaswamy@xxxxxxxxx> Signed-off-by: Sadanand Warrier <sadanand.warrier@xxxxxxxxx> Signed-off-by: Sanath Kumar <sanath.s.kumar@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Vlad Danushevsky <vladimir.danusevsky@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d4ab347005fb26f414b98b2c8d5ef6de5778c3dc Author: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Date: Thu Jul 30 15:17:32 2015 -0400 IB/core: Add core header changes needed for OPA This patch adds the value of the CNP opcode to the existing list of enumerated opcodes in ib_pack.h Add common OPA header definitions for driver build: - opa_port_info.h - opa_smi.h - hfi1_user.h Additionally, ib_mad.h, has additional definitions that are common to ib_drivers including: - trap support - cca support The qib driver has the duplication removed in favor those in ib_mad.h Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Reviewed-by: John, Jubin <jubin.john@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 072bf1f7e4b5963034df35460f5f311396347a36 Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 09:44:14 2015 -0500 RDMA/amso1100: Deprecate the amso1100 driver and move to staging The HW hasn't been sold since 2005, and the SW has definite bit rot. Its time to remove it. So move it to staging for a few releases and then remove it after that. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6f9b38903c06c159d167344821cd7b4bae864380 Author: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Date: Thu Jul 30 09:25:42 2015 -0400 IB/ipath: Deprecate ipath driver and move to staging. It is now time for the ipath driver to begin to be phased out of the kernel. This patch moves the ipath driver from the Infiniband sub tree to the staging area where it will remain until the code is removed from the kernel in a few releases. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2dfcad3adea961916f013387889bc418c65421cd Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Thu Aug 27 14:18:57 2015 -0400 Staging: Add staging/rdma directory and update MAINTAINERS Create the rdma directory in the staging area for use as we deprecate some older drivers and as we bring in some new drivers that are in need of work. Update the MAINTAINERS file so that updates to these files go to linux-rdma@xxxxxxxxxxxxxxxx Expected lifespan of this directory is three releases for any deprecated drivers moved here and an unknown, but theoretically bounded amount of time for the new drivers as a new core RDMA transfer library needs to be written and the drivers modified to use it in order for them to move out of this directory. Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 84cc6ac62d4386f5b6d9ccf2900686b5648e230f Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue Aug 25 14:08:23 2015 +0530 iw_cxgb4: Add support for clip Add support for ipv6 address handling clip api provided by lld Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Acked-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6c26a77124ff94102ea59ac23a54cdad2c49e644 Author: Spencer Baugh <sbaugh@xxxxxxxxxx> Date: Thu Aug 13 12:19:10 2015 -0700 RDMA/cma: fix IPv6 address resolution Resolving a link-local IPv6 address with an unspecified source address was broken by commit 5462eddd7a, which prevented the IPv6 stack from learning the scope id of the link-local IPv6 address, causing random failures as the IP stack chose a random link to resolve the address on. This commit 5462eddd7a made us bail out of cma_check_linklocal early if the address passed in was not an IPv6 link-local address. On the address resolution path, the address passed in is the source address; if the source address is the unspecified address, which is not link-local, we will bail out early. This is mostly correct, but if the destination address is a link-local address, then we will be following a link-local route, and we'll need to tell the IPv6 stack what the scope id of the destination address is. This used to be done by last line of cma_check_linklocal, which is skipped when bailing out early: dev_addr->bound_dev_if = sin6->sin6_scope_id; (In cma_bind_addr, the sin6_scope_id of the source address is set to the sin6_scope_id of the destination address, so this is correct) This line is required in turn for the following line, L279 of addr6_resolve, to actually inform the IPv6 stack of the scope id: fl6.flowi6_oif = addr->bound_dev_if; Since we can only know we are in this failure case when we have access to both the source IPv6 address and destination IPv6 address, we have to deal with this further up the stack. So detect this failure case in cma_bind_addr, and set bound_dev_if to the destination address scope id to correct it. Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7e967fd0b84a843b2475acc67a5a8df138c5f5c0 Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 17:13:32 2015 -0600 IB/ucma: Fix theoretical user triggered use-after-free Something like this: CPU A CPU B Acked-by: Sean Hefty <sean.hefty@xxxxxxxxx> ======================== ================================ ucma_destroy_id() wait_for_completion() .. anything ucma_put_ctx() complete() .. continues ... ucma_leave_multicast() mutex_lock(mut) atomic_inc(ctx->ref) mutex_unlock(mut) ucma_free_ctx() ucma_cleanup_multicast() mutex_lock(mut) kfree(mc) rdma_leave_multicast(mc->ctx->cm_id,.. Fix it by latching the ref at 0. Once it goes to 0 mc and ctx cannot leave the mutex(mut) protection. The other atomic_inc in ucma_get_ctx is OK because mutex(mut) protects it from racing with ucma_destroy_id. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Acked-by: Sean Hefty <sean.hefty@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b8ac3112462900a55a45df8e6098c67a139d8c2d Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Mon Jul 27 14:08:52 2015 +0530 iw_cxgb4: set the default MPA version to 2 This enables ORD/IRD negotiation and its about time to enable it by default Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7854550ae6d89bb90980b9885c7a71e471820bf2 Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 09:13:52 2015 -0500 RDMA/iser: Limit sgs to the device fastreg depth Currently the sg tablesize, which dictates fast register page list depth to use, does not take into account the limits of the rdma device. So adjust it once we discover the device fastreg max depth limit. Also adjust the max_sectors based on the resulting sg tablesize. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d6c7276be180fbd0a30cda8fac5c82d483be47b6 Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Mon Jul 27 14:43:23 2015 -0700 IB/mlx5: Remove dead code from alloc_cached_mr() The only place that assigns mr inside the loop already does a break. So "if (mr)" will never be true here since the function initializes mr to NULL at the top. We can just drop the extra if and break here. Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Acked-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d6f1c17e162b2a11e708f28fa93f2f79c164b442 Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Tue Jul 21 08:36:07 2015 -0400 IB/qib: Change lkey table allocation to support more MRs The lkey table is allocated with with a get_user_pages() with an order based on a number of index bits from a module parameter. The underlying kernel code cannot allocate that many contiguous pages. There is no reason the underlying memory needs to be physically contiguous. This patch: - switches the allocation/deallocation to vmalloc/vfree - caps the number of bits to 23 to insure at least 1 generation bit o this matches the module parameter description Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Vinit Agnihotri <vinit.abhay.agnihotri@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e0238a6a369eaa2e41b2c0321453272fb859f618 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Jul 21 14:40:12 2015 +0300 mlx5: Expose correct page_size_cap in device attributes Should be all the page sizes that are supported by the device. Reported-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a3c874200cbcd95ed914ba84f33f571a0ef7adfa Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Mon Jul 20 19:54:36 2015 +0300 mlx5: Fix missing device local_dma_lkey The mlx5 driver exposes device capability IB_DEVICE_LOCAL_DMA_LKEY but does not set the the device local_dma_lkey. This breaks rpcrdma drivers. Query and set this lkey when creating the device resources. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d6f5aef298b5e5bd12e5d3ef111a4d0fc727ca70 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Aug 28 17:30:46 2015 -0700 Input: max8997_haptic - fix module alias The driver is a platform driver and not a I2C driver so its modalias should be exported with MODULE_DEVICE_TABLE(platform,...) instead of MODULE_DEVICE_TABLE(i2c,...). Also, remove the unnecessary MODULE_ALIAS("platform:max8997-haptic") now that the correct module alias is created. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 742f452b9b60c228a33e8d35fd2c74cd15bdaa29 Author: Benson Leung <bleung@xxxxxxxxxxxx> Date: Fri Aug 28 17:30:16 2015 -0700 Input: elan_i2c - fix typos for validpage_count Search for "vaildpage_count" and replace with "validpage_count". Signed-off-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8bb6944e5aabaf9b7977502667a6981733564f85 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Aug 27 10:17:00 2015 +0100 PM / Domains: Fix typo in description of genpd_dev_pm_detach() The function genpd_dev_pm_detach() detaches a device from a PM domain, however, in the description, the "dev" argument for the function is described as the device to "attach" instead of "detach". Correct this. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ad440bf40e2846966da44e885bb7d8a1f8384fa6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 18 13:38:02 2015 +0200 PM / Domains: Remove unusable governor dummies The governor dummies for the !CONFIG_PM_GENERIC_DOMAINS case are unusable, as a governors is always referred to by taking its address, which you can't do with a literal NULL pointer. I.e. pm_genpd_init(genpd, &simple_qos_governor, false); fails to compile with: error: lvalue required as unary '&' operand Hence just remove the governor dummies. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit be5ed55de011bddbb8ef7b3453edf07a26865beb Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 13 11:51:57 2015 +0530 PM / Domains: Make pm_genpd_init() available to modules Export symbol pm_genpd_init so it can be used in loadable kernel modules Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 15dec67ae3ddb222fe6907db299229906ede8143 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 11 14:50:49 2015 +0200 PM / domains: Align column headers and data in pm_genpd_summary output "domain": header is indented by 4, data by 0 spaces => 0 spaces "/device": header is indented by 11, data by 4 spaces => 4 spaces "slaves": header is indented by 47, data by 49 spaces => 48 spaces Ruler: 1234567890123456789012345678901234567890123456789012345678901234567890 Before: domain status slaves /device runtime status ---------------------------------------------------------------------- a3sp on a2us /devices/platform/e60b0000.i2c suspended After: domain status slaves /device runtime status ---------------------------------------------------------------------- a3sp on a2us /devices/platform/e60b0000.i2c suspended Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5021282cc483d4126c1704942adb74806f7d15d6 Author: Seiichi Ikarashi <s.ikarashi@xxxxxxxxxxxxxx> Date: Wed Aug 19 14:26:03 2015 +0900 powercap / RAPL: disable the 2nd power limit properly Let rapl_unregister_powercap() disable the second power limit only if it exists. Intel64 SDM Vol.3 14.9 says that the package domain has it but neither the power plane domain nor the DRAM domain has it. Signed-off-by: Seiichi Ikarashi <s.ikarashi@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 404c2db635b0e41697eed165b045cb47fd729dd0 Author: Shreyas B. Prabhu <shreyas@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 11:46:00 2015 +0530 tools: cpupower: Fix error when running cpupower monitor get_cpu_topology() tries to get topology info from all cpus by reading files in the topology sysfs dir. If a cpu is offlined, since it doesn't have topology dir, this function fails and returns -1. This causes functions relying on get_cpu_topology() to fail. For example- $ cpupower monitor Cannot read number of available processors Fix this by skipping fetching topology info for offline cpus. Signed-off-by: Shreyas B. Prabhu <shreyas@xxxxxxxxxxxxxxxxxx> Reported-by: Pavaman Subramaniyam <pavsubra@xxxxxxxxxxxxxxxxxx> Acked-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 581a5f2a6111e3d3b22f31a7d93b6bae2627e83a Merge: cc7acad 851345c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 28 16:29:59 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter/IPVS updates for your net-next tree. In sum, patches to address fallout from the previous round plus updates from the IPVS folks via Simon Horman, they are: 1) Add a new scheduler to IPVS: The weighted overflow scheduling algorithm directs network connections to the server with the highest weight that is currently available and overflows to the next when active connections exceed the node's weight. From Raducu Deaconu. 2) Fix locking ordering in IPVS, always take rtnl_lock in first place. Patch from Julian Anastasov. 3) Allow to indicate the MTU to the IPVS in-kernel state sync daemon. From Julian Anastasov. 4) Enhance multicast configuration for the IPVS state sync daemon. Also from Julian. 5) Resolve sparse warnings in the nf_dup modules. 6) Fix a linking problem when CONFIG_NF_DUP_IPV6 is not set. 7) Add ICMP codes 5 and 6 to IPv6 REJECT target, they are more informative subsets of code 1. From Andreas Herz. 8) Revert the jumpstack size calculation from mark_source_chains due to chain depth miscalculations, from Florian Westphal. 9) Calm down more sparse warning around the Netfilter tree, again from Florian Westphal. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc7acad135b7228b56977867afb07d3d54f0cdd3 Merge: c9fd56b 8d3b7dc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 28 16:27:28 2015 -0700 Merge branch 'bpf_trace_printk-percent-s' Alexei Starovoitov says: ==================== support for '%s' in bpf_trace_printk v2->v3: fix the comment to mention that strncpy_from_unsafe() returns the length of the string including the trailing NUL. v1->v2: patch 1: generalize FETCH_FUNC_NAME(memory, string) into strncpy_from_unsafe() patch 2: use it in bpf_trace_printk ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d3b7dce8622919da5c5822ef7338d6604c9fe6e Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Aug 28 15:56:23 2015 -0700 bpf: add support for %s specifier to bpf_trace_printk() %s specifier makes bpf program and kernel debugging easier. To make sure that trace_printk won't crash the unsafe string is copied into stack and unsafe pointer is substituted. The following C program: #include <linux/fs.h> int foo(struct pt_regs *ctx, struct filename *filename) { void *name = 0; bpf_probe_read(&name, sizeof(name), &filename->name); bpf_trace_printk("executed %s\n", name); return 0; } when attached to kprobe do_execve() will produce output in /sys/kernel/debug/tracing/trace_pipe : make-13492 [002] d..1 3250.997277: : executed /bin/sh sh-13493 [004] d..1 3250.998716: : executed /usr/bin/gcc gcc-13494 [002] d..1 3250.999822: : executed /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1 gcc-13495 [002] d..1 3251.006731: : executed /usr/bin/as gcc-13496 [002] d..1 3251.011831: : executed /usr/lib/gcc/x86_64-linux-gnu/4.7/collect2 collect2-13497 [000] d..1 3251.012941: : executed /usr/bin/ld Suggested-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a6877b9c0c2ad901d4335d909432d3bb6d3a330 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Aug 28 15:56:22 2015 -0700 lib: introduce strncpy_from_unsafe() generalize FETCH_FUNC_NAME(memory, string) into strncpy_from_unsafe() and fix sparse warnings that were present in original implementation. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9fd56b34efd06a031cbc918d288f09e38173ff9 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 15:44:25 2015 -0700 netpoll: warn on netpoll_send_udp users who haven't disabled irqs Make sure we catch future netpoll_send_udp users who use it without disabling irqs and also as a hint for poll_controller users. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9de9777d613500b089a7416f936bf3ae5f070d2 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Aug 28 21:01:43 2015 +0200 netfilter: nfnetlink: work around wrong endianess in res_id field The convention in nfnetlink is to use network byte order in every header field as well as in the attribute payload. The initial version of the batching infrastructure assumes that res_id comes in host byte order though. The only client of the batching infrastructure is nf_tables, so let's add a workaround to address this inconsistency. We currently have 11 nfnetlink subsystems according to NFNL_SUBSYS_COUNT, so we can assume that the subsystem 2560, ie. htons(10), will not be allocated anytime soon, so it can be an alias of nf_tables from the nfnetlink batching path when interpreting the res_id field. Based on original patch from Florian Westphal. Reported-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 96be5f2806cd65a2ebced3bfcdf7df0116e6c4a6 Author: Elad Raz <eladr@xxxxxxxxxxxx> Date: Sat Aug 22 08:44:11 2015 +0300 netfilter: ipset: Fixing unnamed union init In continue to proposed Vinson Lee's post [1], this patch fixes compilation issues founded at gcc 4.4.7. The initialization of .cidr field of unnamed unions causes compilation error in gcc 4.4.x. References Visible links [1] https://lkml.org/lkml/2015/7/5/74 Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 55cc051915fd066f46c56ebd60ba486ad11e0e29 Merge: c1b3b19 ef899c0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 28 14:15:25 2015 -0700 Merge branch 'phylib-simplifications' Sergei Shtylyov says: ==================== Some phylib simplifications Here's 2 patches against DaveM's 'net-next.git' repo. We simplify a bogus string of type casts in the 1st patch and make the code respect some coding standards of the networking code in the 2nd one. I may follow with fixing of checkpatch.pl's complaints. if I have time.. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef899c0778a39063816e19d749a688c06a6ac78e Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 21:35:14 2015 +0300 phylib: simplify NULL checks Fix scripts/checkpatch.pl's messages like: CHECK: Comparison to NULL could be written "!phydrv->read_mmd_indirect" BTW, it doesn't detect the reversed comparisons (which I've fixed as well). Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3765f08d6f32f17ac898ec1f19957b322d4157f Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 21:34:34 2015 +0300 phylib: simplify bogus phy_device_create() result Get rid of the bogus string of type casts where ERR_PTR() is enough. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1b3b19923a371c9e099c30372d376b02fe66088 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Aug 28 18:46:39 2015 +0200 net: sched: don't break line in tc_classify loop notification Just some minor noise follow-up to address some stylistic issues of commit 3b3ae880266d ("net: sched: consolidate tc_classify{,_compat}"). Accidentally v1 instead of v2 of that commit got applied, so this patch adds the relative diff. Suggested-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0fbdae127a3968688ff7b474e9164dc4bf30dd5 Author: Shradha Shah <sshah@xxxxxxxxxxxxxx> Date: Fri Aug 28 10:55:42 2015 +0100 sfc: Allow driver to cope with a lower number of VIs than it needs for RSS Previously, the driver would refuse to load if it couldn't secure enough VIs from the MC to fulfill its RSS requirements. This was causing probe to fail on later functions in configurations where we'd run out of VIs, such as having many VFs. This change allows the driver to load with fewer VIs, down to a minimum of 2. A warning will be printed saying that RSS requirements were not met, possibly affecting performance. efx->max_tx_channels needs to be set to avoid going down the failure path in efx_probe_nic() immediately in the loop after the probe() NIC-type function. Also, Set rc=ENOSPC when bombing out of efx_probe_nic due to lack of VIs. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ca678d1dff610f7df6ac9b31fd9152c4426f815 Merge: 2fc32c9 27d868b 91f15fb Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Aug 28 15:53:08 2015 -0500 Merge branches 'pci/enumeration' and 'pci/misc' into next * pci/enumeration: PCI: Set MPS to match upstream bridge PCI: Move MPS configuration check to pci_configure_device() PCI: Drop references acquired by of_parse_phandle() PCI/MSI: Remove unused pcibios_msi_controller() hook ARM/PCI: Remove msi_controller from struct pci_sys_data ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() PCI: Add pci_scan_root_bus_msi() ARM/PCI: Replace panic with WARN messages on failures PCI: generic: Add arm64 support PCI: Build setup-irq.o for arm64 PCI: generic: Remove dependency on ARM-specific struct hw_pci ARM/PCI: Set MPS before pci_bus_add_devices() * pci/misc: PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI commit a69265e9f65a6747c27b01b4030ad85d71aa11ba Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Aug 28 11:17:12 2015 +0530 cxgb4: Force uninitialized state if FW in adapter is unsupported Forcing uninitialized state allows us to upgrade and reinitialize the adapter. FW_VERSION_T4 = 1.4.0.0 FW_VERSION_T5 = 0.0.0.0 FW_VERSION_T6 = 0.0.0.0 At this point driver supports above and greater than above version. If FW in adapter < min FW_VERSION driver supports tries to upgrade the FW If FW in adapter >= FW_VERSION driver supports then it follows normal path Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b72ca67fed39816b732b0cf53a1c7f2efc6400d Merge: 9723e6a ed29266 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 28 13:43:33 2015 -0700 Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge Antonio Quartulli says: ==================== Included changes: - code beautification - remove obsolete 'deleted' attribute for bat-gw node - increase internal version number - prevent potential access to netdev object after deregistration - set needed_head/tail_room for batman virtual interface ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9723e6abc70a472c726d5d5ac6402a2d1bb10882 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Fri Aug 28 10:39:56 2015 +0200 openswitch: fix typo CONFIG_NF_CONNTRACK_LABEL Fix typo in conntrack.c s/CONFIG_NF_CONNTRACK_LABEL/CONFIG_NF_CONNTRACK_LABELS/ Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe55565ef251d486c2c97779512ad22faf57384c Merge: 8f58336 192132b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 28 13:32:37 2015 -0700 Merge branch 'vrf-inetpeer' David Ahern says: ==================== net: Refactor inetpeer cache and add support for VRFs Per Dave's comment on the version 1 patch adding VRF support to inetpeer cache by explicitly making the address + index a key. Refactored the inetpeer code in the process; mostly impacts the use by tcp_metrics. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 192132b9a034d87566294be0fba5f8f75c2cf16b Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 16:07:03 2015 -0700 net: Add support for VRFs to inetpeer cache inetpeer caches based on address only, so duplicate IP addresses within a namespace return the same cached entry. Enhance the ipv4 address key to contain both the IPv4 address and VRF device index. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5345c2e12d41f815c1009c9dee72f3d5fcfd4282 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 16:07:02 2015 -0700 net: Refactor inetpeer address struct Move the inetpeer_addr_base union to inetpeer_addr and drop inetpeer_addr_base. Both the a6 and in6_addr overlays are not needed; drop the __be32 version and rename in6 to a6 for consistency with ipv4. Add a new u32 array to the union which removes the need for the typecast in the compare function and the use of a consistent arg for both ipv4 and ipv6 addresses which makes the compare function more readable. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d39d14ffa24cca9f0e44aa4a63315f4c44c56a93 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 16:07:01 2015 -0700 net: Add helper function to compare inetpeer addresses tcp_metrics and inetpeer both have functions to compare inetpeer addresses. Consolidate into 1 version. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3abef286cf2f138de353fb0b54453621de961043 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 16:07:00 2015 -0700 net: Add set,get helpers for inetpeer addresses Use inetpeer set,get helpers in tcp_metrics rather than peeking into the inetpeer_addr struct. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72afa352d6a3d4da7783b5ddee02b94be49e051a Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 16:06:59 2015 -0700 net: Introduce ipv4_addr_hash and use it for tcp metrics Refactors a common line into helper function. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f58336d3f78aef61c8023c18546155f5fdf3224 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 10:10:50 2015 -0700 net: Add ethernet header for pass through VRF device The change to use a custom dst broke tcpdump captures on the VRF device: $ tcpdump -n -i vrf10 ... 05:32:29.009362 IP 10.2.1.254 > 10.2.1.2: ICMP echo request, id 21989, seq 1, length 64 05:32:29.009855 00:00:40:01:8d:36 > 45:00:00:54:d6:6f, ethertype Unknown (0x0a02), length 84: 0x0000: 0102 0a02 01fe 0000 9181 55e5 0001 bd11 ..........U..... 0x0010: da55 0000 0000 bb5d 0700 0000 0000 1011 .U.....]........ 0x0020: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021 ...............! 0x0030: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031 "#$%&'()*+,-./01 0x0040: 3233 3435 3637 234567 Local packets going through the VRF device are missing an ethernet header. Fix by adding one and then stripping it off before pushing back to the IP stack. With this patch you get the expected dumps: ... 05:36:15.713944 IP 10.2.1.254 > 10.2.1.2: ICMP echo request, id 23795, seq 1, length 64 05:36:15.714160 IP 10.2.1.2 > 10.2.1.254: ICMP echo reply, id 23795, seq 1, length 64 ... Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 274b045509175db0405c784be85e8cce116e6f7d Author: Chas Williams <3chas3@xxxxxxxxx> Date: Thu Aug 27 12:28:46 2015 -0400 net/xen-netfront: only napi_synchronize() if running If an interface isn't running napi_synchronize() will hang forever. [ 392.248403] rmmod R running task 0 359 343 0x00000000 [ 392.257671] ffff88003760fc88 ffff880037193b40 ffff880037193160 ffff88003760fc88 [ 392.267644] ffff880037610000 ffff88003760fcd8 0000000100014c22 ffffffff81f75c40 [ 392.277524] 0000000000bc7010 ffff88003760fca8 ffffffff81796927 ffffffff81f75c40 [ 392.287323] Call Trace: [ 392.291599] [<ffffffff81796927>] schedule+0x37/0x90 [ 392.298553] [<ffffffff8179985b>] schedule_timeout+0x14b/0x280 [ 392.306421] [<ffffffff810f91b9>] ? irq_free_descs+0x69/0x80 [ 392.314006] [<ffffffff811084d0>] ? internal_add_timer+0xb0/0xb0 [ 392.322125] [<ffffffff81109d07>] msleep+0x37/0x50 [ 392.329037] [<ffffffffa00ec79a>] xennet_disconnect_backend.isra.24+0xda/0x390 [xen_netfront] [ 392.339658] [<ffffffffa00ecadc>] xennet_remove+0x2c/0x80 [xen_netfront] [ 392.348516] [<ffffffff81481c69>] xenbus_dev_remove+0x59/0xc0 [ 392.356257] [<ffffffff814e7217>] __device_release_driver+0x87/0x120 [ 392.364645] [<ffffffff814e7cf8>] driver_detach+0xb8/0xc0 [ 392.371989] [<ffffffff814e6e69>] bus_remove_driver+0x59/0xe0 [ 392.379883] [<ffffffff814e84f0>] driver_unregister+0x30/0x70 [ 392.387495] [<ffffffff814814b2>] xenbus_unregister_driver+0x12/0x20 [ 392.395908] [<ffffffffa00ed89b>] netif_exit+0x10/0x775 [xen_netfront] [ 392.404877] [<ffffffff81124e08>] SyS_delete_module+0x1d8/0x230 [ 392.412804] [<ffffffff8179a8ee>] system_call_fastpath+0x12/0x71 Signed-off-by: Chas Williams <3chas3@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df2cf4a78e488d26728590cb3c6b4fe4c4862c77 Author: Philip Downey <pdowney@xxxxxxxxxxx> Date: Thu Aug 27 16:46:26 2015 +0100 IGMP: Inhibit reports for local multicast groups The range of addresses between 224.0.0.0 and 224.0.0.255 inclusive, is reserved for the use of routing protocols and other low-level topology discovery or maintenance protocols, such as gateway discovery and group membership reporting. Multicast routers should not forward any multicast datagram with destination addresses in this range, regardless of its TTL. Currently, IGMP reports are generated for this reserved range of addresses even though a router will ignore this information since it has no purpose. However, the presence of reserved group addresses in an IGMP membership report uses up network bandwidth and can also obscure addresses of interest when inspecting membership reports using packet inspection or debug messages. Although the RFCs for the various version of IGMP (e.g.RFC 3376 for v3) do not specify that the reserved addresses be excluded from membership reports, it should do no harm in doing so. In particular there should be no adverse effect in any IGMP snooping functionality since 224.0.0.x is specifically excluded as per RFC 4541 (IGMP and MLD Snooping Switches Considerations) section 2.1.2. Data Forwarding Rules: 2) Packets with a destination IP (DIP) address in the 224.0.0.X range which are not IGMP must be forwarded on all ports. IGMP reports for local multicast groups can now be optionally inhibited by means of a system control variable (by setting the value to zero) e.g.: echo 0 > /proc/sys/net/ipv4/igmp_link_local_mcast_reports To retain backwards compatibility the previous behaviour is retained by default on system boot or reverted by setting the value back to non-zero e.g.: echo 1 > /proc/sys/net/ipv4/igmp_link_local_mcast_reports Signed-off-by: Philip Downey <pdowney@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7d2d89d4b0afa8f4c2b169475a0c6e43553c146 Author: Corinna Vinschen <vinschen@xxxxxxxxxx> Date: Thu Aug 27 17:11:48 2015 +0200 r8169: Add software counter for multicast packages The multicast hardware counter on 8168/8111 chips is only 32 bit while the statistics in struct rtnl_link_stats64 are 64 bit. Given that statistics are requested on an irregular basis, an overflow of the hardware counter can go unnoticed. To count even very large numbers of multicast packets reliably, add a software counter and remove previously applied code to fill the multicast field requested by @rtl8169_get_stats64 with the values read from the rx_multicast hardware counter. Signed-off-by: Corinna Vinschen <vinschen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 710105fda7a7f350c9fb22e7f61f74c3dc0fe514 Author: Hannes Reinecke <hare@xxxxxxx> Date: Thu Aug 27 14:17:02 2015 +0200 scsi_dh: return SCSI_DH_NOTCONN in scsi_dh_activate() When calling scsi_dh_activate() we should be returning SCSI_DH_NOTCONN if the device handler couldn't be attached. Reviewed-by: Bart van Assche <bart.vanassche@xxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d44227749500d8b88a1c079bc04f69187eaf8747 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:17:01 2015 +0200 scsi_dh: don't allow to detach device handlers at runtime The I/O submission and completion paths call into the device handler without any synchronization agains detachment. So disallow detaching device handlers at runtime. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e959ed9a44c5239863ca6db42cb37130bee3c7a3 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:17:00 2015 +0200 scsi_dh: add a common helper to get a scsi_device from a request_queue And cleanup the various messy opencoded versions of this. Note that this moves the sdev_state checks outside the queue_lock coverage, but as we don't hold the lock over the activation they are only advisory anyway. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ee14c674e8fc57251223054fb52dc0ecfe711028 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:59 2015 +0200 scsi_dh: kill struct scsi_dh_data Add a ->handler and a ->handler_data field to struct scsi_device and kill this indirection. Also move struct scsi_device_handler to scsi_dh.h so that changes to it don't require rebuilding every SCSI LLDD. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d95dbff2a41e934cd8789734b34dc591e78ba11c Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:58 2015 +0200 scsi_dh: move device matching to the core code Add a single list of devices that need non-ALUA device handlers to the core scsi_dh code so that we can autoload the modules for them at probe time. While this is a little ugly in terms of architecture it actually significantly simplifies the code in addition to the new autoloading functionality. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 086b91d052ebe4ead5d28021afe3bdfd70af15bf Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:57 2015 +0200 scsi_dh: integrate into the core SCSI code Stop building scsi_dh as a separate module and integrate it fully into the core SCSI code with explicit callouts at bus scan time. For now the callouts are placed at the same point as the old bus notifiers were called, but in the future we will be able to look at ALUA INQUIRY data earlier on. Note that this also means that the device handler modules need to be loaded by the time we scan the bus. The next patches will add support for autoloading device handlers at bus scan time to make sure they are always loaded if they are enabled in the kernel config. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit daaa858b7a6bb497f11c2aae555053b9c047824b Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:56 2015 +0200 scsi_dh: move to drivers/scsi Prepare for building scsi_dh.c into the core SCSI module by moving it to drivers/scsi. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 566079c849cfe538e908c44ac11a9c4638db8f91 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:55 2015 +0200 dm-mpath, scsi_dh: request scsi_dh modules in scsi_dh, not dm-mpath This way we can reused the same code any attachment method, not just those requested from dm-mpath. [jejb: fixup checkpatch error] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1bab0de0274fbe8c8ac92179e6705584c55ed169 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 27 14:16:54 2015 +0200 dm-mpath, scsi_dh: don't let dm detach device handlers While allowing dm-mpath to attach device handlers is a functionality we need for backwards compatibility reason there is no reason to reference count them and detach them if dm-mpath stops using the device for some reason. If the device handler works for the given device it can just stay attached, and we can take the retain_hw_handler codepath. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 36dd5acd196574d41de3e81d8264df475bbb7123 Author: Hannes Reinecke <hare@xxxxxxx> Date: Mon Jul 6 13:07:58 2015 +0200 aic94xx: Skip reading user settings if flash is not found If no user settings are found it's pointless trying to read them from flash. So skip that step. This also fixes a compilation warning about uninitialized variables in aic94xx. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e35d7f27fbd51a09a41a5439e39f22a3d102c00b Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 11:47:06 2015 -0300 ipr: Enable SIS pipe commands for SIS-32 devices. Remove unnecessary check that disabled SIS pipe commands for SIS-32 devices. This change was sufficient to enable raw mode and send SIS pipe commands for a 57B3 device. Fixes: f8ee25d7d239 ("ipr: AF DASD raw mode implementation in ipr driver") Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3cb4fc1fcae9647c594bc2b8fda1b818f4fb757f Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 11:47:05 2015 -0300 ipr: Inhibit underlength data check for AFDASD in raw mode. Disable underlength error verification based on count of bytes actually transferred for AF DASD devices when SIS pipe mode is enabled. This avoids unexpected underlength errors when issuing some commands in raw mode. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 917522aae169ad02010dcee6ae42c16155bcd285 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Fri Aug 28 15:44:00 2015 +0200 Bluetooth: hci_bcm: Fix crash on suspend If bcm_suspend is called whithout device opened there is a crash as it tries to use bdev->hu which is NULL. Rename bcm_device_list_lock to bcm_device_lock as it does not only apply to bcm_device_list. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6e7a3840745c950c37d37cbb0af2e753a765d4ec Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Thu Aug 27 13:46:09 2015 +0800 drm/amdgpu: use IB for fill_buffer instead of direct command Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8f8202f771c182a7244caa5880f50def1bedd713 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu May 7 15:19:25 2015 +0200 drm/amdgpu: stop trying to suspend UVD sessions v2 Saving the current UVD state on suspend and restoring it on resume just doesn't work reliable. Just close cleanup all sessions on suspend. Ported from radeon commit "12e49feadff6d7b7ebbe852b36943a71524d8d34". v2: rebased Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v1) commit e61235db62c5e68e56e59bea62b88f9f3d7a3cf5 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 25 11:05:36 2015 +0200 drm/amdgpu: add scheduler dependency callback v2 This way the scheduler doesn't wait in it's work thread any more. v2: fix race conditions Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 69bd5bf13a8eccb4db5f26de608556416a56d973 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 26 11:31:23 2015 +0200 drm/amdgpu: let the scheduler work more with jobs v2 v2: fix another race condition Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 86b7709d48f0df8796bddd7e1ce45c6fb7a7c6ec Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Aug 27 09:52:22 2015 -0400 drm/radeon: fix HDMI quantization_range for pre-DCE5 asics Support for output_csc is only available on DCE5 and newer so don't mess with the HDMI quantization_range on pre-DCE5 asics. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83226 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 851345c5bbb4644911f7c351c042559a71f57d19 Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Aug 28 00:16:21 2015 +0200 netfilter: reduce sparse warnings bridge/netfilter/ebtables.c:290:26: warning: incorrect type in assignment (different modifiers) -> remove __pure annotation. ipv6/netfilter/ip6t_SYNPROXY.c:240:27: warning: cast from restricted __be16 -> switch ntohs to htons and vice versa. netfilter/core.c:391:30: warning: symbol 'nfq_ct_nat_hook' was not declared. Should it be static? -> delete it, got removed net/netfilter/nf_synproxy_core.c:221:48: warning: cast to restricted __be32 -> Use __be32 instead of u32. Tested with objdiff that these changes do not affect generated code. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 98dbbfc3f1a555194e784304d930d2aafde3e2a3 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Aug 26 23:20:51 2015 +0200 Revert "netfilter: xtables: compute exact size needed for jumpstack" This reverts commit 98d1bd802cdbc8f56868fae51edec13e86b59515. mark_source_chains will not re-visit chains, so *filter :INPUT ACCEPT [365:25776] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [217:45832] :t1 - [0:0] :t2 - [0:0] :t3 - [0:0] :t4 - [0:0] -A t1 -i lo -j t2 -A t2 -i lo -j t3 -A t3 -i lo -j t4 # -A INPUT -j t4 # -A INPUT -j t3 # -A INPUT -j t2 -A INPUT -j t1 COMMIT Will compute a chain depth of 2 if the comments are removed. Revert back to counting the number of chains for the time being. Reported-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Reported-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 618353b1f34947b3a399d6f51934f10df40e42ff Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Fri Aug 28 13:05:22 2015 +0100 Bluetooth: Fix SCO link type handling on connection complete Synchronous connections are initially created with type eSCO. Link manager may reject proposed link parameters, which triggers connection setup retry with a different set. Link type embedded in responses should be disregarded until Synchronous Connect Complete returns Success (0x00). Current code updates link type every time which creates an issue when link type changes to SCO and back to eSCO on further attepts. Issue happens with BlackBerry 9100 and 9700 with Intel WilkinsPeak on third connection setup attept 2015-05-18 01:27:57.332242 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17 handle 256 voice setting 0x0060 ptype 0x0380 2015-05-18 01:27:57.333604 > HCI Event: Command Status (0x0f) plen 4 Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1 2015-05-18 01:27:57.334614 > HCI Event: Synchronous Connect Complete (0x2c) plen 17 status 0x1a handle 0 bdaddr 30:7C:30:B3:A8:86 type SCO Error: Unsupported Remote Feature / Unsupported LMP Feature 2015-05-18 01:27:57.334895 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17 handle 256 voice setting 0x0060 ptype 0x0380 2015-05-18 01:27:57.335601 > HCI Event: Command Status (0x0f) plen 4 Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1 2015-05-18 01:27:57.336610 > HCI Event: Synchronous Connect Complete (0x2c) plen 17 status 0x1a handle 0 bdaddr 30:7C:30:B3:A8:86 type SCO Error: Unsupported Remote Feature / Unsupported LMP Feature 2015-05-18 01:27:57.336685 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17 handle 256 voice setting 0x0060 ptype 0x03c8 2015-05-18 01:27:57.337603 > HCI Event: Command Status (0x0f) plen 4 Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1 2015-05-18 01:27:57.342608 > HCI Event: Max Slots Change (0x1b) plen 3 handle 256 slots 1 2015-05-18 01:27:57.377631 > HCI Event: Synchronous Connect Complete (0x2c) plen 17 status 0x00 handle 257 bdaddr 30:7C:30:B3:A8:86 type eSCO Air mode: CVSD Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5e7fec290e41462af28626f8089d08cd4c4aaeab Merge: b29083c 7a7184b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 12:02:51 2015 -0700 Merge branch 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata fixlet from Tejun Heo: "Simple blacklist entry addition" * 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: Add factory recertified Crucial M500s to blacklist commit 1ab1f239bf17e91b183a0f18fbb22722ff16d164 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Thu Aug 27 07:21:51 2015 +0200 Bluetooth: hci_intel: Add support for platform driver A platform device can be used to provide some specific resources in order to manage the controller. In this first patch we retrieve the reset gpio which is used to power on/off the controller. The main issue is to match the current tty with the correct pdev. In case of ACPI, we can easily find the right tty/pdev pair because they are both child of the same UART port. If controller is powered-on from the driver, we need to wait for a HCI boot event before being able to send any command. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0ed97e829458496cc41ff8c39eb330d5a2247191 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Aug 27 08:57:39 2015 +0200 Bluetooth: btintel: Add MODULE_FIRMWARE entries for iBT 3.0 controllers The iBT 3.0 controllers need intel/ibt-11-5.sfi and intel/ibt-11-5.ddc firmware files from linux-firmware repository. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 5075edae086ff1c09e66699b7a27e1589ca75a3f Author: Minjune Kim <infinite.minjune.kim@xxxxxxxxx> Date: Thu Aug 27 13:21:52 2015 +0900 Bluetooth: btusb: Correct typos based on checkpatch.pl Signed-off-by: Minjune Kim <infinite.minjune.kim@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ff2895592f0fccc59332d5c7d4917ccbecd7468e Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Tue Aug 25 17:55:44 2015 +0200 Bluetooth: hci_intel: Add Intel baudrate configuration support Implement the set_baudrate callback for hci_intel. - Controller requires a read Intel version command before updating its baudrate. - The operation consists in an async cmd since the controller does not respond at the same speed. - Wait 100ms to let the controller change its baudrate. - Clear RTS until we change our own UART speed Manage speed change in the setup function, we need to restore the oper speed once chip has booted on patched firmware. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e54991677e1c8060ba5642472cbd9a0954298d01 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Mon Aug 24 18:57:57 2015 +0200 Bluetooth: hci_uart: Fix zero len data packet reception issue Packets with a variable length value equal to zero were not received. Since no more data expected (and input buffer entirely consumed), we need to complete/forward the packet immediately instead of waiting for more data. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4e1795de10903ae561872c54a72fa1bcf78f49cd Author: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Date: Thu Aug 20 12:09:47 2015 +0200 nl802154: stricter input checking for boolean inputs So far we handled boolean input by forcing them with !! and assigning them into a bool. This allowed userspace to send values > 1 which were used as 1. We should be stricter here and return -EINVAL for all but 0 or 1. Signed-off-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit df945360ce07ca592464e44fdd2ce61ee1536e1e Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Tue Aug 18 21:23:01 2015 -0400 Bluetooth: Make the function sco_conn_del have a return type of void This makes the function sco_conn_del have a return type of void now due to this function always running successfully and thus never needing to signal its caller when a non recoverable internal failure occurs by returning a error code to its respective caller. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d4902632ffe5d6958bd267a6712575e3a312a6e2 Author: Shengzhen Li <szli@xxxxxxxxxxx> Date: Wed Aug 19 03:12:19 2015 -0700 Bluetooth: btmrvl: change device pointer passed to dev_coredumpv This change ensures we will get driver name as 'btmrvl_sdio' in udev event. Signed-off-by: Shengzhen Li <szli@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5397df15fd993acd23d9590dbb29d39219d80e3d Author: Jiri Kosina <jkosina@xxxxxxx> Date: Fri Aug 28 20:46:42 2015 +0200 HID: wacom: wacom_setup_numbered_buttons is local to wacom_wac wacom_setup_numbered_buttons() is not used outside of wacom_wac.c, make it static. Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 72b236d60218fe211a8e1210be31c31e81684b86 Author: Aaron Skomra <skomra@xxxxxxxxx> Date: Thu Aug 20 16:05:17 2015 -0700 HID: wacom: Add support for Express Key Remote. This device is pad (buttons) only, there is no stylus or touch. Up to five remotes can pair with the device's associated USB dongle. Signed-off-by: Aaron Skomra <aaron.skomra@xxxxxxxxx> Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 70ee06c5f447b9d50747b29d3e8d48ae7ef1cabe Author: Aaron Skomra <skomra@xxxxxxxxx> Date: Thu Aug 20 16:05:16 2015 -0700 HID: wacom: Set button bits based on a new numbered_buttons Prior to this commit, numbered button bit setting was done separately for each device type in wacom_setup_pad_capabilities(). Here we add a numbered_buttons property to the wacom_features struct and extract the repeated bit setting code to a new function: wacom_settup_numbered_buttons(). Signed-off-by: Aaron Skomra <aaron.skomra@xxxxxxxxx> Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b29083c5e52481e8ce6ce0007590f7a1f405018b Merge: 4941b8f c7cd0ef Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 11:42:00 2015 -0700 Merge tag 'sound-fix-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Here are stable fixes that have been gathered since rc8: fixes for HD-audio widget power control regressions since 4.1, a NULL fix for HD-audio HDMI, a noise fix for Conexant codecs and a quirk addition for USB-Audio DSD" * tag 'sound-fix-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Fix path power activation ALSA: hda - Check all inputs for is_active_nid_for_any() ALSA: hda: fix possible NULL dereference ALSA: hda - Shutdown CX20722 on reboot/free to avoid spurious noises ALSA: usb: Add native DSD support for Gustard DAC-X20U commit 628b3198ccc235e387c0b8ee200c10c883e86644 Author: Michael Powell <michael_powell@xxxxxxxxxx> Date: Sun Aug 2 22:59:29 2015 +0000 acer-wmi: No rfkill on HP Omen 15 wifi Prevents acer-wmi from blocking wifi on HP Omen 15 laptops Signed-off-by: Michael Powell <michael_powell@xxxxxxxxxx> [david.ward@xxxxxxxxxx: Resubmitted clean patch] Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 628536ea0627e71da654bd34b1942c85832dbdba Author: Jonathan Corbet <corbet@xxxxxxx> Date: Tue Aug 25 01:14:48 2015 -0600 ASoC: Clean up docbook warnings A number of functions and structures in the sound subsystem had incomplete and/or obsolete DocBook comments, leading to warnings when the docs were built. Correct those comments so that we can enjoy our audio in the absence of warning noise. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2c07144dfce366e21465cc7b0ada9f0b6dc7b7ed Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Aug 28 05:48:05 2015 -0400 perf evlist: Add backpointer for perf_env to evlist Add backpointer to perf_env in evlist, so we can easily access env when processing something where we have a evsel or evlist. Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440755289-30939-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ce80d3bef9ff97638ca57a5659ef6ad356f35047 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Aug 28 05:48:04 2015 -0400 perf tools: Rename perf_session_env to perf_env As it is not necessarily tied to a perf.data file and needs using in places where a perf_session is not required. Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440755289-30939-4-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9f30fffc78ca35c862f74f34cc597c7fdddc8793 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Aug 26 15:46:45 2015 +0200 perf tools: Do not change lib/api/fs/debugfs directly The tracing_events_path is the variable we want to change via --debugfs-dir option, not the debugfs_mountpoint. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1440596813-12844-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9f44f0cc1c32f1542071447a9493652bbc03facb Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Aug 26 15:46:44 2015 +0200 perf tools: Add tracing_path and remove unneeded functions There's no need for find_tracing_dir, because perf already searches for debugfs/tracefs mount on start and populate tracing_events_path. Adding tracing_path to carry tracing dir string to be used in get_tracing_file instead of calling find_tracing_dir. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1440596813-12844-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0b5a7935f3b5b7d40293b02c3e552f3d67af208b Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Sat Aug 15 20:42:59 2015 +0900 perf buildid: Introduce sysfs/filename__sprintf_build_id Introduce sysfs/filename__sprintf_build_id for consolidating similar code. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150815114259.13642.34685.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d49e4695077278ee3016cd242967de23072ec331 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Aug 27 08:07:40 2015 -0400 perf evsel: Add a backpointer to the evlist a evsel is in So that functions that deal primarily with an evsel to access information that concerns the whole evlist it is in. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440677263-21954-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a598bb5e3558509cbb8aa1d422071ef61fda9d77 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Aug 28 12:02:37 2015 -0300 perf trace: Add header with copyright and background info Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-5yqtfs728r1j1u8zmg8ufxwm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 84e5d89a777cca26cc513264752b439874702dd6 Author: Tony Jones <tonyj@xxxxxxxx> Date: Mon Aug 17 12:48:52 2015 -0700 perf scripts python: Add new compaction-times script This patch creates a new script (compaction-times) to report time spent in mm compaction. It is possible to report times in nanoseconds (default) or microseconds (-u). The option -p will break down results by process id, -pv will further decompose by each compaction entry/exit. For each compaction entry/exit what is reported is controlled by the options: -t report only timing -m report migration stats -ms report migration scanner stats -fs report free scanner stats The default is to report all. Entries may be further filtered by pid, pid-range or comm (regex). The script is useful when analysing workloads that compact memory. The most common example will be THP allocations on systems with a lot of uptime that has fragmented memory. This is an example of using the script to analyse a thpscale from mmtests which deliberately fragments memory and allocates THP in 4 separate threads # Recording step, one of the following; $ perf record -e 'compaction:mm_compaction_*' ./workload # or: $ perf script record compaction-times # Reporting: basic total: 2444505743ns migration: moved=357738 failed=39275 free_scanner: scanned=2705578 isolated=387875 migration_scanner: scanned=414426 isolated=397013 # Reporting: Per task stall times $ perf script report compaction-times -- -t -p total: 2444505743ns 6384[thpscale]: 740800017ns 6385[thpscale]: 274119512ns 6386[thpscale]: 832961337ns 6383[thpscale]: 596624877ns # Reporting: Per-compaction attempts for task 6385 $ perf script report compaction-times -- -m -pv 6385 total: 274119512ns migration: moved=14893 failed=24285 6385[thpscale]: 274119512ns migration: moved=14893 failed=24285 6385[thpscale].1: 3033277ns migration: moved=511 failed=1 6385[thpscale].2: 9592094ns migration: moved=1524 failed=12 6385[thpscale].3: 2495587ns migration: moved=512 failed=0 6385[thpscale].4: 2561766ns migration: moved=512 failed=0 6385[thpscale].5: 2523521ns migration: moved=512 failed=0 ..... output continues ... Changes since v1: - report stats for isolate_migratepages and isolate_freepages (Vlastimil Babka) - refactor code to achieve above - add help text - output to stdout/stderr explicitly Signed-off-by: Tony Jones <tonyj@xxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Link: http://lkml.kernel.org/r/1439840932-8933-1-git-send-email-tonyj@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit efd85cf86a56898686187397adfd52dfac79aff2 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Aug 26 11:13:38 2015 -0700 thinkpad_acpi: Remove side effects from vdbg_printk -> no_printk macro vdbg_printk when not using CONFIG_THINKPAD_ACPI_DEBUG uses no_printk which produces no logging output but always evaluates arguments. Change the macro to surround the no_printk call with do { if (0) no_printk(...); } while (0) to avoid the unnecessary argument evaluations. $ size drivers/platform/x86/thinkpad_acpi.o* text data bss dec hex filename 60918 6184 824 67926 10956 drivers/platform/x86/thinkpad_acpi.o.new 60927 6184 824 67935 1095f drivers/platform/x86/thinkpad_acpi.o.old Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 099982fac0f3e884ed4af2178d4dcded69e0042e Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Aug 28 16:22:18 2015 +0530 regulator: core: use debug level print in regulator_check_drms When calling regulator_set_load, regulator_check_drms prints and returns an error if the regulator device's flag REGULATOR_CHANGE_DRMS isn't set. drms_uA_update, however, bails out without reporting an error. Replace the error print with a debug level print so that we don't get such prints when the underlying regulator doesn't support DRMS. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 39d9b85a4d4fa1642663ca0d208b5c246a3d6f50 Author: Gary Wang <gary.c.wang@xxxxxxxxx> Date: Fri Aug 28 16:40:34 2015 +0800 drm/i915: set CDCLK if DPLL0 enabled during resuming from S3 Since BIOS RC 1.4 it would enable CDCLK PLL during BIOS S3 resume, then driver needs to set CDCLK to avoid display corruption if DPLL0 enabled. References: https://bugs.freedesktop.org/show_bug.cgi?id=91697 Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Cooper Chiou <cooper.chiou@xxxxxxxxx> Reviewed-by: Wei Shun Chang <wei.shun.chang@xxxxxxxxx> Tested-by: Gary Wang <gary.c.wang@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Gavin Hindman <gavin.hindman@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Xiong Y Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Gary Wang <gary.c.wang@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit bf9628373418328daf67b6508fc3713fc6f5067d Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Thu Aug 27 17:49:29 2015 +0530 spi: Add DT bindings documentation for Netlogic XLP SPI controller Add DT bindings documentation for SPI controller driver used by Netlogic XLP MIPS64 SoCs. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d8c80d49cfa08b83841a3e315fa13dd310bec006 Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Thu Aug 27 17:49:28 2015 +0530 spi/xlp: SPI controller driver for Netlogic XLP SoCs Add SPI Master controller driver for the SPI interface on XLP8XX, XLP3XX, XLP2XX, XLP9XX and XLP5XX family of Netlogic XLP MIPS64 processors. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e9abb4db8d108624c293f06dce06b2978e626a13 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Aug 26 21:21:55 2015 +0200 spi: fsl-espi: add runtime PM Add runtime PM and use autosuspend instead of suspending the SPI controller after each transfer. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3c5395b66ff69d8d568d0b9ff8b1077e044def5b Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Aug 26 21:21:53 2015 +0200 spi: fsl-(e)spi: simplify cleanup code Now that most cleanup is done automatically the remove functions can be significantly simplified. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4178b6b1b595003cd6e04711b449797a582e44f5 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Aug 26 21:21:50 2015 +0200 spi: fsl-(e)spi: migrate to using devm_ functions to simplify cleanup Migrate fsl-espi and fsl-spi to using the managed devm_ functions for resource handling. This simplifies the cleanup. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54d71856428961124be26301b7997f2ad23be520 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Aug 28 18:18:57 2015 +0800 f2fs: avoid accessing NULL pointer in f2fs_drop_largest_extent If extent cache is disable, we will encounter oops when triggering direct IO as below: BUG: unable to handle kernel NULL pointer dereference at 0000000c IP: [<f0b9c61e>] f2fs_drop_largest_extent+0xe/0x30 [f2fs] *pdpt = 000000002bb9a001 *pde = 0000000000000000 Oops: 0000 [#1] SMP Modules linked in: f2fs(O) fuse bnep rfcomm bluetooth nfsd dm_crypt nfs_acl auth_rpcgss oid_registry nfs binfmt_misc fscache lockd sunrpc grace snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd soundcore joydev psmouse hid_generic i2c_piix4 serio_raw ppdev mac_hid parport_pc lp parport ext4 jbd2 mbcache usbhid hid e1000 CPU: 3 PID: 3608 Comm: dd Tainted: G O 4.2.0-rc4 #12 Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 task: ef161600 ti: ebd5e000 task.ti: ebd5e000 EIP: 0060:[<f0b9c61e>] EFLAGS: 00010202 CPU: 3 EIP is at f2fs_drop_largest_extent+0xe/0x30 [f2fs] EAX: 00000000 EBX: ddebc000 ECX: 00000000 EDX: 00000000 ESI: ebd5fdf8 EDI: 00000000 EBP: ebd5fd58 ESP: ebd5fd58 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 80050033 CR2: 0000000c CR3: 2c24ee40 CR4: 000006f0 Stack: ebd5fda4 f0b8c005 00000000 00000001 00000000 f0b8c430 c816cd68 ddebc000 ddebc088 00001000 00000555 00000555 ffffffff c160bb00 00055501 00000000 00000000 00000100 00000000 ebd5fe20 f0b8c430 00000046 ef161600 00001000 Call Trace: [<f0b8c005>] __allocate_data_block+0x1a5/0x260 [f2fs] [<f0b8c430>] ? f2fs_direct_IO+0x370/0x440 [f2fs] [<c160bb00>] ? down_read+0x30/0x50 [<f0b8c430>] f2fs_direct_IO+0x370/0x440 [f2fs] [<c113e115>] generic_file_direct_write+0xa5/0x260 [<c10b53f8>] ? current_fs_time+0x18/0x50 [<c113e38b>] __generic_file_write_iter+0xbb/0x210 [<c113e50f>] ? generic_file_write_iter+0x2f/0x320 [<c113e63c>] generic_file_write_iter+0x15c/0x320 [<f0b77f29>] f2fs_file_write_iter+0x39/0x80 [f2fs] [<c11984d9>] __vfs_write+0xa9/0xe0 [<c1199227>] vfs_write+0x97/0x180 [<c119955b>] SyS_write+0x5b/0xd0 [<c160dcd0>] sysenter_do_call+0x12/0x12 Code: 10 8b 50 1c 89 53 14 eb ca 8d 74 26 00 85 f6 74 86 eb a6 0f 0b 90 8d b4 26 00 00 00 00 55 89 e5 3e 8d 74 26 00 8b 80 d4 02 00 00 <8b> 48 0c 39 d1 77 0e 03 48 14 39 ca 73 07 c7 40 14 00 00 00 00 EIP: [<f0b9c61e>] f2fs_drop_largest_extent+0xe/0x30 [f2fs] SS:ESP 0068:ebd5fd58 CR2: 000000000000000c ---[ end trace a38c07026a1afffd ]--- This is because when extent cache is disable, extent_tree pointer in struct f2fs_inode_info should be NULL, but in f2fs_drop_largest_extent we access this NULL pointer directly without checking state of extent cache, then, the oops occurs. Let's fix it by checking state of extent cache before accessing. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 95e3c2305b79e9c0e5f2cb0090efca397249b51f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 27 09:14:50 2015 +0800 ASoC: txx9: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 637c4497bbf0c9a4e00d6be2731bd560bf609f6b Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 27 09:13:46 2015 +0800 ASoC: pxa: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d5f1117ff60d1e314b15e3a85b7705db3421d7d4 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 27 09:12:17 2015 +0800 ASoC: nuc900: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c4d2ab0d59f53a1534e6817b5dbd28719f667c39 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 27 09:11:13 2015 +0800 ASoC: blackfin: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit edd98a1a2d163cef6d91226bf42ca002ced6ff16 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 27 09:09:29 2015 +0800 ASoC: au1x: Convert to devm_snd_soc_register_platform Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6fe7ccfd77415a6ba250c10c580eb3f9acf79753 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Tue Aug 25 11:17:51 2015 +0200 netfilter: ipset: Out of bound access in hash:net* types fixed Dave Jones reported that KASan detected out of bounds access in hash:net* types: [ 23.139532] ================================================================== [ 23.146130] BUG: KASan: out of bounds access in hash_net4_add_cidr+0x1db/0x220 at addr ffff8800d4844b58 [ 23.152937] Write of size 4 by task ipset/457 [ 23.159742] ============================================================================= [ 23.166672] BUG kmalloc-512 (Not tainted): kasan: bad access detected [ 23.173641] ----------------------------------------------------------------------------- [ 23.194668] INFO: Allocated in hash_net_create+0x16a/0x470 age=7 cpu=1 pid=456 [ 23.201836] __slab_alloc.constprop.66+0x554/0x620 [ 23.208994] __kmalloc+0x2f2/0x360 [ 23.216105] hash_net_create+0x16a/0x470 [ 23.223238] ip_set_create+0x3e6/0x740 [ 23.230343] nfnetlink_rcv_msg+0x599/0x640 [ 23.237454] netlink_rcv_skb+0x14f/0x190 [ 23.244533] nfnetlink_rcv+0x3f6/0x790 [ 23.251579] netlink_unicast+0x272/0x390 [ 23.258573] netlink_sendmsg+0x5a1/0xa50 [ 23.265485] SYSC_sendto+0x1da/0x2c0 [ 23.272364] SyS_sendto+0xe/0x10 [ 23.279168] entry_SYSCALL_64_fastpath+0x12/0x6f The bug is fixed in the patch and the testsuite is extended in ipset to check cidr handling more thoroughly. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 618718dc56a49321a12f231b34f6c43f44c3c374 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 28 10:53:31 2015 +0800 ASoC: qcom: Constify asoc_qcom_lpass_cpu_dai_ops asoc_qcom_lpass_cpu_dai_ops is exported and used by multiple drivers, make it const to prevent modifying it at run time. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 92eca20bbeaa4ec1908bad8aeefcaa2d98e302ff Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 28 10:50:53 2015 +0800 ASoC: sh: ssi: Convert to devm_snd_soc_register_component Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2cf32b7b338086e9b85bb9fdd8aa398e89d83e9e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 28 10:49:44 2015 +0800 ASoC: pxa2xx-i2s: Convert to devm_snd_soc_register_component Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 637ce53a1b1c489ff0e92aa00b8376464f697dc5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 28 10:48:35 2015 +0800 ASoC: pxa-ssp: Convert to devm_snd_soc_register_component Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b37bfdaac914f4886b8be803703b12177eb873f6 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Fri Aug 28 12:11:48 2015 +0200 ASoC: ics43432: Fix build errors Fix build errors Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2f38bc8829b83aed3e2c5e6d43a430d39f1b0e1d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 28 11:23:05 2015 +0800 ASoC: ics43432: Fix module license Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 11d932416ecada27ca7576dca7e74e23477df7ef Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Aug 28 10:04:03 2015 +0800 ASoC: ics43432: fix platform_no_drv_owner.cocci warnings sound/soc/codecs/ics43432.c:66:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5bbb9f753afe213aebc8dba30c7e2dbb73616b79 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 11:53:30 2015 +0200 scripts: add stackdelta script This adds a simple perl script for reading two files as produced by the stackusage script and computing the changes in stack usage. For example: $ scripts/stackusage -o /tmp/old.su CC=gcc-4.7 -j8 fs/ext4/ $ scripts/stackusage -o /tmp/new.su CC=gcc-5.0 -j8 fs/ext4/ $ scripts/stackdelta /tmp/{old,new}.su | sort -k5,5g shows that gcc 5.0 generally produces less stack-hungry code than gcc 4.7. Obviously, the script can also be used for measuring the effect of commits, .config tweaks or whatnot. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit d523b255de60880304038006de5f93f2db612ad6 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 11:53:29 2015 +0200 kbuild: remove *.su files generated by -fstack-usage Make sure 'make clean' removes *.su files generated by the gcc option -fstack-usage. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit e25572878a70d9cd84020f577b7c45583b9d42ae Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 11:53:28 2015 +0200 .gitignore: add *.su pattern Ignore the *.su files generated by using the gcc option -fstack-usage. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 56d4a3814690a62a3fd9724844e23ea152ce938c Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 11:53:27 2015 +0200 scripts: add stackusage script The current checkstack.pl script has a few problems, stemming from the overly simplistic attempt at parsing objdump output with regular expressions: For example, on x86_64 it doesn't take the push instruction into account, making it consistently underestimate the real stack use, and it also doesn't capture stack pointer adjustments of exactly 128 bytes [1]. Since newer gcc (>= 4.6) knows about -fstack-usage, we might as well take the information straight from the horse's mouth. This patch introduces scripts/stackusage, which is a simple wrapper for running make with KCFLAGS set to -fstack-usage. Example use is scripts/stackusage -o out.su -j8 lib/ The script understands "-o foo" for writing to 'foo' and -h for a trivial help text; anything else is passed to make. Afterwards, we find all newly created .su files, massage them a little, sort by stack use and write the result to a single output file. Note that the function names printed by (at least) gcc 4.7 are sometimes useless. For example, the first three lines of out.su generated above are ./lib/decompress_bunzip2.c:155 get_next_block 448 static ./lib/decompress_unlzma.c:537 unlzma 336 static ./lib/vsprintf.c:616 8 304 static That function '8' is really the static symbol_string(), but it has been subject to 'interprocedural scalar replacement of aggregates', so its name in the object file is 'symbol_string.isra.8'. gcc 5.0 doesn't have this problem; it uses the full name as seen in the object file. [1] Since gcc encodes that by 48 83 c4 80 add $0xffffffffffffff80,%rsp and not 48 81 ec 80 00 00 00 sub $0x80,%rsp since -128 fits in an imm8. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 601083cffb7cabdcc55b8195d732f0f7028570fa Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Jul 2 03:08:43 2015 -0400 perf stat: Get correct cpu id for print_aggr print_aggr() fails to print per-core/per-socket statistics after commit 582ec0829b3d ("perf stat: Fix per-socket output bug for uncore events") if events have differnt cpus. Because in print_aggr(), aggr_get_id needs index (not cpu id) to find core/pkg id. Also, evsel cpu maps should be used to get aggregated id. Here is an example: Counting events cycles,uncore_imc_0/cas_count_read/. (Uncore event has cpumask 0,18) $ perf stat -e cycles,uncore_imc_0/cas_count_read/ -C0,18 --per-core sleep 2 Without this patch, it failes to get CPU 18 result. Performance counter stats for 'CPU(s) 0,18': S0-C0 1 7526851 cycles S0-C0 1 1.05 MiB uncore_imc_0/cas_count_read/ S1-C0 0 <not counted> cycles S1-C0 0 <not counted> MiB uncore_imc_0/cas_count_read/ With this patch, it can get both CPU0 and CPU18 result. Performance counter stats for 'CPU(s) 0,18': S0-C0 1 6327768 cycles S0-C0 1 0.47 MiB uncore_imc_0/cas_count_read/ S1-C0 1 330228 cycles S1-C0 1 0.29 MiB uncore_imc_0/cas_count_read/ Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Fixes: 582ec0829b3d ("perf stat: Fix per-socket output bug for uncore events") Link: http://lkml.kernel.org/r/1435820925-51091-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1d945012d1381f0232ea2d66e32b06182eedb476 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Thu Aug 27 09:46:01 2015 -0400 tools lib traceeveent: Allow for negative numbers in print format It was reported that "%-8s" does not parse well when used in the printk format. The '-' is what is throwing it off. Allow that to be included. Reporter note: Example before: transhuge-stres-10730 [004] 5897.713989: mm_compaction_finished: node=0 zone=>-<8s order=-2119871790 ret= Example after: transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 zone=ffffffff81815d7a order=9 ret= (I will send patches to fix the string handling in the tracepoints so it's on par with in-kernel printing via trace_pipe:) transhuge-stres-10921 [007] ...1 6307.140205: mm_compaction_finished: node=0 zone=Normal order=9 ret=partial Reported-by: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Tested-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150827094601.46518bcc@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 77e0070da41f76e1ebd15291fb0254b0c174adfa Author: Mark Drayton <mbd@xxxxxx> Date: Wed Aug 26 12:18:15 2015 -0700 perf script: Add --[no-]-demangle/--[no-]-demangle-kernel Sometimes when post-processing output from `perf script` one does not want to demangle C++ symbol names. Add an option to allow this. Also add --[no-]demangle-kernel to be consistent with top/report/probe. Signed-off-by: Mark Drayton <mbd@xxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440616695-32340-1-git-send-email-scientist@xxxxxx Signed-off-by: Yannick Brosseau <scientist@xxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 50a3cb04a5f9cd5323a76db9ee409a7f3004259a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:39 2015 +0530 PM / OPP: Drop unlikely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 68fa9f0ab1b61cfc7deee699da8b5b5cb12f7a58 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 17 19:20:20 2015 +0530 PM / OPP: Fix static checker warning (broken 64bit big endian systems) Dan Carpenter reported (generated with static checker): drivers/base/power/opp.c:949 _opp_add_static_v2() warn: passing casted pointer '&new_opp->clock_latency_ns' to 'of_property_read_u32()' 64 vs 32. This code will break on 64 bit, big endian machines. Fix this by reading the value in a u32 type variable first and then assigning it to the unsigned long variable. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4c1ed5a6079078699128064664913ae7b079648f Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Tue Aug 4 13:48:56 2015 +0800 cpuidle/coupled: Remove redundant 'dev' argument of cpuidle_state_is_coupled() For cpuidle_state_is_coupled(), 'dev' is not used, so remove it. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ba6a860d41ed3a377d61d59d7c7b08dd7455c686 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Tue Aug 4 13:48:55 2015 +0800 cpuidle/coupled: Remove cpuidle_device::safe_state_index cpuidle_device::safe_state_index need to be initialized before use, it should be the same as cpuidle_driver::safe_state_index. We tackled this issue by removing the safe_state_index from the cpuidle_device structure and use the one in the cpuidle_driver structure instead. Suggested-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ce14c5831364118324b10c0355dead062b9ddd40 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Tue Aug 25 13:34:53 2015 -0400 Documentation, add kernel-parameters.txt entry for dis_ucode_ldr dis_ucode_ldr was introduced in 65cef13 ("x86, microcode: Add a disable chicken bit") and will disable microcode loading on x86. This kernel parameter is buried in the code and should be added to the Documentation. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 4d59ed85451befda203d72462f1b7ead0fde3267 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:31:16 2015 +0200 leds: Export OF module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<modalias>" regardless of the mechanism that was used to register the device (i.e: OF or board code) and the table that is used later to match the driver with the device (i.e: I2C id table or OF match table). So drivers needs to export the I2C id table and this be built into the module or udev won't have the necessary information to autoload the needed driver module when the device is added. But this means that OF-only drivers needs to have both OF and I2C id tables that have to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. Which can lead to issues if two vendors use the same I2C device name for example. To avoid the above, the I2C core behavior may be changed in the future to not require an SPI device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table even when is unused now to prevent breaking module loading when the core changes. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit ed133352047e46687afd98c299ec8ce7f6ea07bd Author: Milo Kim <milo.kim@xxxxxx> Date: Mon Aug 24 16:09:55 2015 +0900 leds:lp55xx: use the private data instead of updating I2C device platform data Currently, lp55xx_of_populate_pdata() allocates lp55xx_platform_data if it's null. And it parses the DT and copies values into the 'client->dev.platform_data'. This may have architectural issue. Platform data is configurable through the DT or I2C board info inside the platform area. However, lp55xx common driver changes this configuration when it is loaded. So 'client->dev.platform_data' is not null anymore. Eventually, the driver initialization is not identical when it's unloaded and loaded again. The lp55xx common driver should use the private data, 'lp55xx_chip->pdata' instead of changing the original platform data. So, lp55xx_of_populate_pdata() is modified as follows. * Do not update 'dev->platform_data'. Return the pointer of new allocated lp55xx_platform_data. Then the driver points it to private data, 'lp55xx_chip->pdata'. * Each lp55xx driver checks the pointer and handles an error case. Then, original platform data configuration will be kept regardless of loading or unloading the driver. The driver allocates the memory and copies them from the DT if it's NULL. After the driver is loaded again, 'client->dev.platform_data' is same as initial load, so the driver is initialized identically. Cc: Toshi Kikuchi <toshik@xxxxxxxxxxxx> Cc: linux-leds@xxxxxxxxxxxxxxx Signed-off-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 991a3f61fa93c1752a47ae157a8238395850c730 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Aug 18 12:25:26 2015 -0700 leds: syscon: Correct check for syscon_node_to_regmap() errors syscon_node_to_regmap() returns a regmap or an ERR_PTR(). Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit c2d4af9370b1757714b895f005479393e4ec14b8 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Aug 18 19:50:16 2015 +0530 leds: leds-fsg: Use devm_led_classdev_register Use resource-managed function devm_led_classdev_register instead of led_classdev_register to make the error-path simpler. To be compatible with the change, various gotos are replaced with direct returns and unneeded labels are dropped. Also, remove fsg_led_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit b8926ba0d7fd74e140d408f6dfeff5f5b9c2afae Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Aug 20 08:59:35 2015 +0200 MAINTAINERS: Change LED subsystem git tree URL This patch removes Bryan Wu from the list of LED subsystem maintainers and replaces related git tree URL with the one maintained by Jacek Anaszewski. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> commit e5b5a61fcb3743f1dacf9e20d28f48423cecf0c1 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Fri Jul 31 13:36:21 2015 +0200 leds/led-class: Add missing put_device() Devices found by class_find_device must be freed with put_device(). Otherwise the reference count will not work properly. Fixes: a96aa64cb572 ("leds/led-class: Handle LEDs with the same name") Reported-by: Alan Tull <delicious.quinoa@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 4fc5af86837d983d7b1dd4edad245454e1874fa0 Author: Vincent Donnefort <vdonnefort@xxxxxxxxx> Date: Thu Jul 2 19:56:41 2015 +0200 ARM: Kirkwood: add modes-map property to ns2-leds nodes Since the LED modes mapping is no longer hardcoded inside the leds-ns2 driver, then it must be provided through the modes-map property in the ns2-leds nodes. Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit f3a2a097a37acfb7c28da171248d15b9bb2e657b Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 26 12:05:16 2015 +0800 leds: tlc591xx: Remove redundant I2C_FUNC_SMBUS_BYTE_DATA functionality check This checking is done by regmap_get_i2c_bus() which is called in devm_regmap_init_i2c(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 259f5ba308ee46c616ced3d336d7ab8e06f5a6ce Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Thu Jul 2 19:56:43 2015 +0200 leds: leds-ns2: depends on MACH_ARMADA_370 The leds-ns2 driver is also used by the n090401 board (Seagate NAS 4-Bay), which is based on the Marvell Armada-370 SoC. Then this patch allows to select the leds-ns2 driver if MACH_ARMADA_370 is enabled. Additionally, this also updates the Kconfig help message. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 4b90432dc1edca6cfc0bb338794beed46af3a472 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Thu Jul 2 19:56:42 2015 +0200 leds: leds-ns2: handle can_sleep GPIOs On the board n090401 (Seagate NAS 4-Bay), some of the LEDs are handled by the leds-ns2 driver. This LEDs are connected to an I2C GPIO expander (PCA95554PW) which means that GPIO access may sleep. This patch makes leds-ns2 compatible with such GPIOs by using the *_cansleep() variant of the GPIO functions. As a drawback this functions can't be used safely in a timer context (with the timer LED trigger for example). To fix this issue, a workqueue mechanism (copied from the leds-gpio driver) is used. Note that this patch also updates slightly the ns2_led_sata_store function. The LED state is now retrieved from cached values instead of reading the GPIOs previously. This prevents ns2_led_sata_store from working with a stale LED state (which may happen when a delayed work is pending). Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit f7fafd083ccc340502448903aaddc76f10785c8c Author: Vincent Donnefort <vdonnefort@xxxxxxxxx> Date: Thu Jul 2 19:56:40 2015 +0200 leds: leds-ns2: move LED modes mapping outside of the driver On the board n090401 (Seagate NAS 4-Bay), the LED mode mapping (GPIO values to LED mode) is different from the one used on other boards supported by the leds-ns2 driver. With this patch the hardcoded mapping is removed from leds-ns2. Now, it must be defined either in the platform data (if an old-fashion board setup file is used) or in the DT node. In order to allow the later, this patch also introduces a modes-map property for the leds-ns2 DT binding. Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit de88e71a91ed7c8de321b44882e0805f0b24d734 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 8 10:43:26 2015 +0800 leds: lp8860: Constify reg_default tables These reg_default tables are not modified after initialized, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 44ab901f91b22dcfc7d03d6f0da15c5354042367 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:00:52 2015 +0900 leds: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 6e3956cd532d8c263e68ebae1252828e297aac4d Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:42:34 2015 +0200 leds: Allow compile test of LEDS_AAT1290 and LEDS_KTD2692 if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. If COMPILE_TEST is enabled, relax the dependency on GPIOLIB for the recently introduced symbols LEDS_AAT1290 and LEDS_KTD2692. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 823227419588001f2d4accf3c5660cd99442a0f8 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue May 5 18:32:25 2015 +0200 leds: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: linux-leds@xxxxxxxxxxxxxxx Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit aa14318aa02f14044acf81f418e1a1cbda29fcfc Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Fri Apr 10 10:36:56 2015 +0200 DT: leds: Improve description of flash LEDs related properties 1. Since max-microamp property has had no users so far, then rename it to more descriptive led-max-microamp. 2. Since flash-timeout-us property has had no users so far, then rename it to more accurate flash-max-timeout-us. 3. Describe led-max-microamp property as mandatory for specific board configurations. 4. Make flash-max-microamp and flash-max-timeout-us properties mandatory for devices with configurable flash current and flash timeout settings respectively. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 92cffd56b21c825579f3b37bc7803e4c37073076 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 28 20:33:58 2015 +1000 drm/nouveau/dispnv04: fix build on powerpc align with mask code in overlay.c, Ben can clean the naming up later if necessary. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 90996511187d6282db6d02d3f97006b4dbb5c457 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Wed Aug 5 15:42:35 2015 -0700 MIPS: CPS: use 32b accesses to GCRs Commit b677bc03d757 ("MIPS: cps-vec: Use macros for various arithmetics and memory operations") replaced various load & store instructions through cps-vec.S with the PTR_L & PTR_S macros. However it was somewhat overzealous in doing so for CM GCR accesses, since the bit width of the CM doesn't necessarily match that of the CPU. The registers accessed (GCR_CL_COHERENCE & GCR_CL_ID) should be safe to simply always access using 32b instructions, so do so in order to avoid issues when using a 32b CM with a 64b CPU. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.16+ Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10864/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6aa6925cad06159dc6e25857991bbc4960821242 Author: Yao-Wen Mao <yaowen@xxxxxxxxxx> Date: Fri Aug 28 16:33:25 2015 +0800 ALSA: usb-audio: correct the value cache check. The check of cval->cached should be zero-based (including master channel). Signed-off-by: Yao-Wen Mao <yaowen@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a47d4576cd1c58157a2d8cfffa93aa7ca375eede Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Aug 28 10:30:15 2015 +0200 x86/irq: Do not dereference irq descriptor before checking it Having the IS_NULL_OR_ERR() check after dereferencing the pointer is not really working well. Move the dereference after the check. Fixes: a782a7e46bb5 'x86/irq: Store irq descriptor in vector array' Reported-and-tested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4b9e78bd9f0efcf9e82b4886de7a4289dbf3cffe Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 28 18:18:10 2015 +1000 nouveau: fix powerpc build Reported-by: Ilia Mirkin on irc. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 2baa891e42d84159b693eadd44f6fe1486285bdc Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:33 2015 -0700 x86/mm/mtrr: Remove kernel internal MTRR interfaces: unexport mtrr_add() and mtrr_del() The effort to replace mtrr_add() with architecture agnostic arch_phys_wc_add() is complete, this will ensure write-combining implementations (PAT on x86) is taken advantage instead of using MTRR. With the effort done now, hide direct MTRR access for drivers. The legacy user-space /proc/mtrr ABI is not affected. Update x86 documentation on MTRR to reflect the completion of the phasing out of direct access to MTRR, also add a note on platform firmware code use of MTRRs based on the obituary discussion of MTRRs on Linux [0]. [0] http://lkml.kernel.org/r/1438991330.3109.196.camel@xxxxxx Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: <syrjala@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Doug Ledford <dledford@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-media@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: netdev@xxxxxxxxxxxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-12-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d1ee8bc195ffedbf91af0245a2406d6ebd2578f8 Merge: 0e53909 a2fb338 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Aug 28 08:22:02 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Add support for using several Intel PT features (CYC, MTC packets), the relevant documentation was updated: tools/perf/Documentation/intel-pt.txt, briefly describing those packets, its purposes, how to configure them in the event config terms and relevant external documentation for further reading. (Adrian Hunter) - Introduce support for probing at an absolute address, for user and kernel 'perf probe's, useful when one have the symbol maps on a developer machine but not on an embedded system. (Wang Nan) - Fix 'perf probe' list results when a symbol can't be found or the address is zero and when an offset is provided without a function (Wang Nan) - Do not print '0x (null)' in uprobes when offset is zero (Wang Nan) - Clear the progress bar at the end of a ordered_events flush, fixing an UI artifact when, after ordering the events the screen doesn't get completely redraw, for instance, when an error window covers just the center of the screen and waits for user input. (Arnaldo Carvalho de Melo) - Fix 'annotate' segfault by resetting the dso find_symbol cache when removing symbols. (Arnaldo Carvalho de Melo) Infrastructure changes: - Allow duplicate objects in the object list, just like it is possible to have things like this, in the kernel: drivers/Makefile:obj-$(CONFIG_PCI) += usb/ drivers/Makefile:obj-$(CONFIG_USB_GADGET) += usb/ (Jiri Olsa) - Fix Intel PT 'instructions' sample period. (Adrian Hunter) - Prevent segfault when reading probe point with absolute address. (Wang Nan) Build fixes: - Fix tarball build broken by pt/bts. (Adrian Hunter) - Remove export.h from MANIFEST, fixing the perf tarball make target. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ee03c5868e74847ba0bd1e6dccbbe26e6504466d Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Aug 26 16:34:10 2015 -0700 s390/io: Add pci_iomap_wc() and pci_iomap_wc_range() The following commit: 1b3d4200c1e0 ("PCI: Add pci_iomap_wc() variants") Introduced pci_iomap_wc() variants but broke the s390 build, because s390 requires its own implementation of pcio_iomap*() calls. The reason for that is that: "BAR spaces are not disjunctive on s390 so we need the bar parameter of pci_iomap to find the corresponding device and create the mapping cookie" so it has its own lookup/lock solution and it does not include asm-generic/pci_iomap.h. Since it currenty maps ioremap_wc() to ioremap_nocache() and that's the architecture default we can easily just map the wc calls to the default calls as well. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Frank Blaschka <frank.blaschka@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Cc: linux390@xxxxxxxxxx Link: http://lkml.kernel.org/r/1440632050-23648-1-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7e01ebffffedec22cea86ebe94802f909e4579ca Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 18:04:04 2015 +0800 x86/asm: Drop repeated macro of X86_EFLAGS_AC definition We just need one macro of X86_EFLAGS_AC_BIT and X86_EFLAGS_AC. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Li <tony.li@xxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1440669844-21535-1-git-send-email-ray.huang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a7ccad88d1bcebabc011b54a2f8615175e523fc Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Fri Aug 28 14:51:10 2015 +1000 xfs: fix error gotos in xfs_setattr_nonsize As the code stands today, if xfs_trans_reserve() fails, we goto out_dqrele, which does not free the allocated transaction. Fix up the goto targets to undo everything properly. Addresses-Coverity-Id: 145571 Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8774cf8bacd4e79b7c65cdf1208da264a9d436d2 Author: Lucas Stach <dev@xxxxxxxxxx> Date: Fri Aug 28 14:50:56 2015 +1000 xfs: add mssing inode cache attempts counter increment Increasing the inode cache attempt counter was apparently dropped while refactoring the cache code and so stayed at the initial 0 value. Add the increment back to make the runtime stats more useful. Signed-off-by: Lucas Stach <dev@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit c9eb256eda4420c06bb10f5e8fbdbe1a34bc98e0 Author: David Jeffery <djeffery@xxxxxxxxxx> Date: Fri Aug 28 14:50:45 2015 +1000 xfs: return errors from partial I/O failures to files There is an issue with xfs's error reporting in some cases of I/O partially failing and partially succeeding. Calls like fsync() can report success even though not all I/O was successful in partial-failure cases such as one disk of a RAID0 array being offline. The issue can occur when there are more than one bio per xfs_ioend struct. Each call to xfs_end_bio() for a bio completing will write a value to ioend->io_error. If a successful bio completes after any failed bio, no error is reported do to it writing 0 over the error code set by any failed bio. The I/O error information is now lost and when the ioend is completed only success is reported back up the filesystem stack. xfs_end_bio() should only set ioend->io_error in the case of BIO_UPTODATE being clear. ioend->io_error is initialized to 0 at allocation so only needs to be updated by a failed bio. Also check that ioend->io_error is 0 so that the first error reported will be the error code returned. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: David Jeffery <djeffery@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit dfdd4ac66c2f921ecec730a2b24b0b13e10346b2 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Fri Aug 28 14:50:03 2015 +1000 libxfs: bad magic number should set da block buffer error If xfs_da3_node_read_verify() doesn't recognize the magic number of a buffer it's just read, set the buffer error to -EFSCORRUPTED so that the error can be sent up to userspace. Without this patch we'll notice the bad magic eventually while trying to traverse or change the block, but we really ought to fail early in the verifier. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0d36938bb82a7775c21ce0a7429f08ba13d025b6 Merge: 55f14da 4941b8f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 21:45:31 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit ab98193dace971f4742eebb5103212e23bb392f5 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Wed Aug 26 14:16:27 2015 -0700 dmaengine: ioatdma: add Broadwell EP ioatdma PCI dev IDs Adding the Broadwell Xeon ioatdma PCI device IDs and related bits. This is still IOATDMA 3.2 based hw. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6ef41cf6f721573d286a06ca35a9f1e370637d51 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Tue Aug 25 16:15:13 2015 +0800 dmaengine :ipu: change ipu_irq_handler() to remove compile warning Change ipu_irq_handler() to avoid gcc warning: drivers/dma/ipu/ipu_irq.c:305:4: warning: 'irq' may be used uninitialized in this function [-Wmaybe-uninitialized] generic_handle_irq(irq); Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 259800135c654a098d9f0adfdd3d1f20eef1f231 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 11:57:00 2015 +1000 powerpc/eeh: Fix fenced PHB caused by eeh_slot_error_detail() The config space of some PCI devices can't be accessed when their PEs are in frozen state. Otherwise, fenced PHB might be seen. Those PEs are identified with flag EEH_PE_CFG_RESTRICTED, meaing EEH_PE_CFG_BLOCKED is set automatically when the PE is put to frozen state (EEH_PE_ISOLATED). eeh_slot_error_detail() restores PCI device BARs with eeh_pe_restore_bars(), which then calls eeh_ops->restore_config() to reinitialize the PCI device in (OPAL) firmware. eeh_ops->restore_config() produces PCI config access that causes fenced PHB. The problem was reported on below adapter: 0001:01:00.0 0200: 14e4:168e (rev 10) 0001:01:00.0 Ethernet controller: Broadcom Corporation \ NetXtreme II BCM57810 10 Gigabit Ethernet (rev 10) This fixes the issue by skipping eeh_pe_restore_bars() in eeh_slot_error_detail() when EEH_PE_CFG_BLOCKED is set for the PE. Fixes: b6541db1 ("powerpc/eeh: Block PCI config access upon frozen PE") Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Reported-by: Manvanthara B. Puttashankar <mputtash@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3439633a85891626abf124a52f2c3e3e83cca9d0 Merge: d7b27368 a3c1ff8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 28 13:20:09 2015 +1000 Merge branch 'linux-4.3' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next Rather large pull request this time around, due to the long-pending cleanup of the kernel driver being here. There's a stupidly large number of commits for that, as I wanted to have the series be bisectable at a fairly fine-grained level. That said, a very large portion of the churn in the rework was automated, and a very large number of boards from right across the whole range we support have been tested. I'm fairly confident there shouldn't be (too many) issues from this. Beyond correcting some not-so-great design decisions and making the code a lot easier to work with, there's not much exciting (lower memory usage, GPU VM should be a lot faster, etc) to be gained by the end-user as a result of the cleanup, it mostly lays the groundwork for future improvements. A big thanks goes to Alexandre Courbot for testing/debugging the GK20A codepaths for me :) Highlights: - A heap of perfmon work, providing a more useful userspace interface and specifying counters for a bunch of boards - Support for GT200 reclocking + other misc pm improvements - Initial patches towards supporting GM20B (Tegra X1) - Maxwell DisplayPort fixes - Cleanup of the kernel driver - The usual collection of random fixes * 'linux-4.3' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (312 commits) drm/nouveau: bump driver version for release drm/nouveau/tegra: merge platform setup from nouveau drm drm/nouveau/pci: merge agp handling from nouveau drm drm/nouveau/device: remove pci/platform_device from common struct drm/nouveau/device: import pciid list and integrate quirks with it drm/nouveau/device: cleaner abstraction for device resource functions drm/nouveau/mc: move device irq handling to platform-specific code drm/nouveau/mc/gf100-: handle second interrupt tree drm/nouveau/mc: abstract interface to master intr registers drm/nouveau/pci: new subdev drm/nouveau/object: merge with handle drm/nouveau/core: remove the remainder of the previous style drm/nouveau/mpeg: convert to new-style nvkm_engine drm/nouveau/sw: convert to new-style nvkm_engine drm/nouveau/pm: convert to new-style nvkm_engine drm/nouveau/gr: convert to new-style nvkm_engine drm/nouveau/fifo: convert to new-style nvkm_engine drm/nouveau/disp: convert to new-style nvkm_engine drm/nouveau/dma: convert to new-style nvkm_engine drm/nouveau/cipher: convert to new-style nvkm_engine ... commit a3c1ff87cfe27f99de58c153eb9d42dcfdbfa59b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau: bump driver version for release Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 43a70661eaa64aa4e36e421eee3b9ded3190837b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau/tegra: merge platform setup from nouveau drm The copyright header in nvkm/engine/device/platform.c has been replaced with the NVIDIA one from drm/nouveau_platform.c, as most of the actual code is now theirs. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 340b0e7c500a0ac8fb649c58cf8528550642c1d8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau/pci: merge agp handling from nouveau drm This commit reinstates the pre-DEVINIT AGP fiddling that was broken in an earlier commit. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 26c9e8effebb9166eb1cfba2d164676e98c505c7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau/device: remove pci/platform_device from common struct Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c7af0ff0e89327918743052d12bf5536e34c7f1a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau/device: import pciid list and integrate quirks with it PCI IDs taken from the NVIDIA binary driver, with permission. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7e8820fed712c6de1933dcc91edbf08dcec74925 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:23 2015 +1000 drm/nouveau/device: cleaner abstraction for device resource functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2b700825e7a7702fb862edba1262c98040dc1bf6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/mc: move device irq handling to platform-specific code Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ae0a5b2dd2f54584d677701d989732b464b6d8c9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/mc/gf100-: handle second interrupt tree Doesn't fix any known issue, but best be safe in case control is handed to us from firmware with these left enabled. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d4c4cc8373806d0f822f8847f8bcda64f36cb73f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/mc: abstract interface to master intr registers Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0a34fb3149c3001f9c1b2bd0f98f94d63e74cb85 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/pci: new subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fbd58ebda9c8572ca6285b88e3348c7712f125ec Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/object: merge with handle Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 68f3f702b6a430a8d1e909455a60d26c0f2da530 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/core: remove the remainder of the previous style Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7624fc011e56902a83e409b14d6c1efa75aa4a58 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/mpeg: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6f41c7c56929b3a2ad943d5b6dd4d66d716e74d7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/sw: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 97070f23c60869830039b216ff88230f54ef7107 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/pm: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c85ee6ca79590cd51356bf24fb8936bc352138cf Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/gr: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 13de7f462902d1a452d501cdb2d06ef02cabbfff Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/fifo: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 70aa8670e5229766f12c4b818a68aa61913df0b6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:22 2015 +1000 drm/nouveau/disp: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bd70563f015a5204c62a52a87a35c32377940187 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/dma: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 14d74acafb15fd3fac16eef89de7643cddd01775 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/cipher: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e5b31ca63249f03e56529dcd4260b23196ce2c28 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/ce: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 98b20c9ab88ff4dbe5f3e239efa5a6b7818c1da7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/xtensa: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 53e60da43aee440d3f75000cdd269bd1324a8ad4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/falcon: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 437b2296ced574eada632b11346e22f6b0103e17 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/volt: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 31649ecf47a44e02e73bffc5680c8f56d6cf587a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/tmr: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 57113c0170b9efeacb3e3e9d4c2178c30d9cd991 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/therm: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e2ca4e7d6e56cb73a068708f0b0c9bd62ab9e02c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/pmu: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a4f7bd360893ab4f6bbc1ae4ef617c68bf987f3d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/mxm: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c9582455ab74246ec9f5986db3821b33058de585 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/mmu: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 54dcadd5b65e12f851ff80af4afef606040ad8b9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/mc: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 70bc7182cbf1bb07e414bbb553890ddf1b540264 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:21 2015 +1000 drm/nouveau/ltc: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b7a2bc1886d00f5f1358079e1e6f4979006a4ed6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/imem: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8de65bd0901e2ee7a485a158bfe9e4631cc00644 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/devinit: run devinit scripts right after preinit This ensures we have a valid mask of disabled engines before we start trying to execute fini()/init() on the subdevs, potentially touching devices that don't exist. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 551d341755e2ade4a915d889524a4187f2cd210e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/ibus: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 49bd8da5130aa2de1c891c71163a033254eaf932 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/i2c: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2ea7249fe2d4815fc6d0b50021bcbd8bb72b8437 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/gpio: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c5fcafa528463b207108cd606e0d41741fb7dc50 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/fuse: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 03c8952fb36b58e451b8a93a1a2abd59e09ddf7b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/fb: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 151abd44c27c1562f348a99c176b078a876ebe93 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/devinit: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6625f55c080f888ccf51b6881f0bad13f5762d15 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/clk: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bb23f9d7919311ebc696bc540e41c908168f9cb5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/bus: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 46484438ab7dbab6ed29cf647d029e0b1ef3d9d8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/bios: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3293228174e4d44cca56d809cc8409c3f88f8b90 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:20 2015 +1000 drm/nouveau/bar: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ef8bc5760b51d69741ed5f42224f1fdd2935541a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/core: kill some (now) dead code Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 07b9e6cc957195bd1e6908612d67a92ba0ed2cb6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/sw: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5ffeb84b8eba71b4f88af6997db843ddf68149e0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/pm: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 218f978d43296a9ac142a63361e25f517df3d318 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/mpeg: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 27f3d6cf80324940edd29be7758f81145e73d1ff Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/gr: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b3c981504721a5765641a21d521eb04f7d23e065 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/cipher: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e5ff112781667dbe641aee2adf6189d8023cb27f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/ce: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c79a191b2799fb36a7b64c0f9ddc20383ed0dcdb Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/xtensa: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9d498e0f7a5ece8f61c8a174b40668a2621a82e3 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/falcon: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8f0649b5c6e70ec18122255690e39f010c12a614 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/fifo: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9a65a38c456ebac97f0498e85fe26f6d26fe3936 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/fifo: split user classes out from engine implementations Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0ce41e3c66ca8958dec427f1c46f64efdda90f30 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/disp: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a7909c0ade08c66690e6115ae49765dc47873e6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:19 2015 +1000 drm/nouveau/disp: split user classes out from engine implementations Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0710cc31482ae3711367c42e61580126c50c8ec0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/dma: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 19fef52d93518cc01fd284b55ee93c0a9967634f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/dma: split user classes out from engine implementations Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0e29998a89a6254f5ca9f78167f9ce790d01da45 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/device: convert ctrl class to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a9f847f5d43d15c0401d050cdd77fb4cbe7da06 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/device: convert user class to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 24bd0930bedea1182aaadc52757897d2b9b3ca99 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/client: convert to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6157091177102638c7d94ffc159c0b157a1c9b56 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/sw: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 590801c1a3b19883b0d0e4c60241cbed8a916d47 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/mpeg: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a65955e19e769e92a0e29cccdc29aea0b19f3809 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/gr: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6ca307b0c9c7878eb1b2b42982c05671f0591229 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/fifo: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 35acf3d72cf273e164c9a8bbf30610b95e2a4c84 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/cipher: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a83d8872fc8a482e47f7375ab66006e1f8c1fd59 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/falcon: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 344c2d429dd86b1b0113177e18f15adb74e9d936 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/fb: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 898a2b32138da26ed8f7abc0cc8232741ca03de7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/sw: turn flip completion into an event Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cd459e7776c2c08e3771e20fca7de96272f2c9cd Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:18 2015 +1000 drm/nouveau/sw/nv04: replace direct context access with GetRef method Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1d2a1e53865266a67fb569705eba3ec992682721 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/ramht: remove dependence on namedb Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f027f49166171c98d5945af12ac3ee9bc9f9bf4c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/gpuobj: separate allocation from nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 227c95d90a3c50defbc7b4f98605e13af4e6214c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/gr: directly use instmem where currently possible Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 358ce601ae5de59bf6f08f79455c5b3cb7d359d4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/fifo: directly use instmem for runlists and polling areas Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit faf468981e3a50ce088460595bd10812af9be7f8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/xtensa: directly use instmem for ucode image Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 406ca8c714825c2d9e2c866787150eae4e1a1cc3 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/falcon: directly use instmem for ucode image Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5b1ab0c2c79c3556c4350f4f47d11745fdffad8f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/imem/nv04-nv40: directly use instmem for vbios/ramfc/ramro Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit adb53d2773a7b0e95bb47e092c71906c7d989366 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/bar/gf100: directly use instmem for channel descriptors Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d0659d3277cd7bf50e45d48f4692a7fbb11e5957 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/mmu: directly use instmem for page tables Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d8e83994aaf6749b7124a219f5b46bd1329e2a08 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/imem: improve management of instance memory Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1de68568d69ac518db076cc6118af91e930b5f90 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/mmu: protect each vm with its own mutex An upcoming commit requires being able to modify the PRAMIN BAR page tables while already holding the MMU subdev mutex. To solve this issue, each VM has been given its own mutex. As a nice side-effect, this also allows separate VMs to be updated concurrently. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 524bdbf2025d44cdea672511d21012a52b427374 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/core: prepare for new-style objects Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6cf813fb26640ef539051fb7f965af8c9ff10d92 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/device: prepare for new-style subdevs Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7974dd1bdb43aaf5b45a915c6b439d11733450fc Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:17 2015 +1000 drm/nouveau/device: separate construction of pci/tegra devices Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 168c2e213d3a9b605856d3676d9e93733c8b37d3 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/engine: implement support for new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f0290215c44370ff5d55c01a13dc5a44a1f86efa Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/subdev: implement support for new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cbea21e2ab658ca1256bfe5f4c535b2b1b9e4060 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/object: implement support for new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 89c651e2213a148d19407109051abbf81328a4a8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/engine: rename some functions to avoid upcoming conflicts Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3a8c3400f3e74638bedd0d2410416aa8b794c0fd Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/subdev: rename some functions to avoid upcoming conflicts Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit aa35888ff024b18c7b6b29eb773a221f642987f7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/object: rename some functions to avoid upcoming conflicts Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d61f4c178cb36a7b15871fcc60814f1f94a5044d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: device time mthd Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 159045cdc460794df27e2cc624a9641be5c54b23 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: replace pushbuf with vm in fermi/kepler gpfifo class args Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 22827fa42b0baa9287ea56691f26dc45fecea049 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: return chipset/board names from device info method Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d56241794c293ff7341d373d853e5a4e2f5de244 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: add supported engines query to kepler gpfifo class Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 41a634064db489713945e228e216336080ba57f8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: return min/max versions for supported object classes Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f58ddf9581655d3fea51465f06f292d365af9c87 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: assign internal class identifiers to sw classes Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 315a8b2edf51711857795ba6e02b843d7792b59c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: use negative oclass identifier for internal classes Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5c15bf709eb6fb52c5bcb95d545250dde22f9625 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: return success from sclass even for objects without children Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 99d4d36ad673c2b4fea364f6d456718f0f701ce4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: extend nop ioctl to return nvif version identifier Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bf81df9be28657eea4aca8c6ab4ed3e69f8a051c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:16 2015 +1000 drm/nouveau/nvif: replace path-based object identification Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a01ca78c8f118e5a24f1527ecf078ab56ddd4805 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/nvif: simplify and tidy library interfaces A variety of tweaks to the NVIF library interfaces, mostly ripping out things that turned out to be not so useful. - Removed refcounting from nvif_object, callers are expected to not be stupid instead. - nvif_client is directly reachable from anything derived from nvif_object, removing the need for heuristics to locate it - _new() versions of interfaces, that allocate memory for the object they construct, have been removed. The vast majority of callers used the embedded _init() interfaces. - No longer storing constructor arguments (and the data returned from nvkm) inside nvif_object, it's more or less unused and just wastes memory. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4e7e62d607a711bc8e8576a0fc7d8f242d25c9b3 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/client: store default device by handle, not reference Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 102b49da15834c1d2ba508457fdf69b3d07c6fee Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/parent: remove some (now) unnecessary special-case handling Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 493f189dc0cbbe9bde8074fb49ca777ba1ef292c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/object: store object type data outside of handle Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a1e88736221d2e971726931c449ed7d0af31755b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/device: decouple from engine machinery Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a1bfb29a33521efa6b1714589bf68cb4afebacb1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/device: split user device implementation out on its own Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0ac9d210a13c6eaa5492bdd27eb0add952238b8c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/device: simplify subdev construction Replaces the piece-by-piece (in response to NV_DEVICE ctor args) device contruction with a once-off all-or-nothing approach, eliminating some tricky refcounting issues. The partial device init capability was only required by some tools, and has been moved to probe time instead. Temporarily removes a workaround for some boards where we need to fiddle with AGP registers before executing the DEVINIT scripts. A later commit in this series reinstates it. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c813d8e048740ca82b88a9d3f639bbd8095b24ac Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/bin: punt client/device argument handling into a common helper Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e781dc8f6cebf69bd410eb652a13e0a3797d71fe Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/device: tidy ctor/dtor interfaces Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 76ecea5b4b9383edde2bfe49e59e76fec4e21aa4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/client: tidy ctor/dtor interfaces Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 47b2505efb2d951f16c3a229d93450b463d925e5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/platform: remove subclassing of nvkm_device Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f2c906fc0cf1657e4164e09ae6061534eebd5430 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/disp: transition outp/conn away from being based on nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2aa5eac5163fedf09f2d61992cb5ea4d75bec9db Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:15 2015 +1000 drm/nouveau/i2c: transition pad/ports away from being based on nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d36a99d2da22bdffebf644e4a5f811e8eff82360 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/fb: transition nvkm_ram away from being based on nvkm_object Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a8dae9fe0e8ad94de1bb2bfda90d288c1b9eb6e6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/vga: require nvkm_device pointer in accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 95cf469cc3b266324cd9129f93a2d44b85ea27ed Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/imem: use object accessor function for suspend/resume Very much not ideal, but this will be improved later. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cfdc4c44b4388bb8e697882cddd966333e4ab7b0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/core: wrap direct use of object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 572fb13db2a9dc5336a4b769d60428bc9cff0af6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/mpeg: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 142ea05f49b9517929f8b27ee800160e7ebf3a02 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/gr: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5444e770e3991ddb5a9583d622fc18bbf414b551 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/fifo: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3f532ef1e23395d7abb0eed316dd31123f87f448 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/dma: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6d06fd68cb8d3c8be819d96bffb0a342d01b5e22 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/cipher: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit edb1dc51de2f93905f49ba693c1777d6497a5cae Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/xtensa: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9cc264a3aac2ca62d8a2e13c8f13c8ef8567550b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/falcon: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cd821077aa7f180f83f3a5d60ec47cb75d56fd37 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/mmu: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1918707556986e9460682845a2bf4055c43a8b65 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/bar: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 45ea503161af6e94d593a59e8cca8981d0435d5c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/core: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 384af9aceaf8ee1e2d3791cc89a32c161d67bb57 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:14 2015 +1000 drm/nouveau/gpuobj: type-safe accessor macros These require an explicit struct nvkm_gpuobj pointer, unlike the previous macros which take a void *, and work with any nvkm_object. New semantics require acquiring/releasing a gpuobj before accessing them, which will be made use of in later patches to greatly reduce the overhead of accesses, particularly when a direct mmio mapping of the object is not available (suspend/resume, out of ioremap() space, and on GK20A). Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9ccdc76006e3b6ca46c8dbc446bc2e3f6d8d95cb Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/xtensa: remove object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 63902181a7ce9177c476103694cbdf45ee5c0578 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/falcon: remove object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a47474261e77b148480daff855e516dc60e80b48 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/imem: remove object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7e24c1145a9176fb9c9b81b3a0f0703598b1445c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/fuse: remove object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7f5f518fd70b1b72ca4cf8249ca3306846383ed4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/bios: remove object accessor functions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 53003941067534b1071b0f7b71f4700c16d97b28 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/core: remove last printks Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9ad97ede4b1b257ccc867d5a1e865049e1f09166 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau: use dev_* for logging Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9e3911e5b244c01886f25ce1cb453dd9c5334853 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/sec: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 476901ff6c611620daab3af6cea940be91d97420 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/pm: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b835c09bc6b87318fd06bfcb9ac4bb59eaa48f57 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/mpeg: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 109c2f2f1c42c16a4b265e796dee6ae4ada78417 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/gr: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e5c5e4f5d319799fe67dc67531e41ba0b7ed15e6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/fifo: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 84407824e97d87161f5ef09ba43a1ac6ec10f479 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/disp: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e37f543370b86de9eefd86896adb171b7c45a451 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:13 2015 +1000 drm/nouveau/device: switch to dev_printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 65850a3b407b065f4b0db0264796d2981feb85aa Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/cipher: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1eed206fa29a98df728dd6e67ac02e135645029f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/ce: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7108bfe4086862fa29ba1cf82f4dee66be314619 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/xtensa: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 64b5ce1fe9ab0949c6387f5df57aaf0527567e08 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/falcon: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 185eda33394af09dbb0c9d330811718e84c0b070 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/volt: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9d7b9d9f1140e56ad14111fd9576e7333412dc12 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/tmr: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b3c418bb48228a206a8c421adaf269cdc83c3c52 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/therm: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c19e329d663715014b367c4fedb217e0378342bf Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/pmu: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 27cc60a17512055c63f05a27eb6687051ade5257 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/mxm: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 85ae830f5ac177244892b934953106d11cd5a679 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/mmu: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c47a48a544ba47eb26ff922203fa0f99c0306907 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/mc: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 59e1a2f1a665c6defc0050060846ed3d89291e8c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/ltc: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 00c5550710184bad189d2cfe6b1880c0e9331bae Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/imem: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 18019e95de4ffdfb020d61197b8da2af1a442c8e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/ibus: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1cb57d25b6b62b39f07c4ff4370c2c48803000e9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/i2c: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3ecd329b6445efdcad26e94edd57f0fd5ccd080b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/fb: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit aa860e4bbe16d5756d6845022a6e94d6cb200df9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/devinit: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b907649e7be734a4911f83b67a14e3425fa8a2a1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:12 2015 +1000 drm/nouveau/clk: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a699a85addc747068a9ac1b2046f4313eb499bc2 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/bus: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 60b29d2071795d322221cfcfe377e6778b09ca90 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/bios: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0df18e6d52fab22e841e734c384c86f3b7b762b8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/bar: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6594363b9f765e569feb6222d7d07e19db3fa460 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/core: type-safe printk macros These require an explicit pointers to nvkm_object/nvkm_subdev/nvkm_device, depending on which macros are used. This is unlike the previous macros which take a void *, and work for anything derived from nvkm_object (by way of some awful heuristics). The output will be a bit confused until everything has been transitioned, as the logging format used is a more standard style that previously. In addition, usage of pr_cont(), which doesn't work correctly with the dev_*() printk functions (and was potentially racy to begin with), will be replaced. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5444204036b2e3a4aeeef6265897df3a9976bf97 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 37eabb030c03539996bff662e4adb078a7f8b2a6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/mpeg: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c4584adc37720b65ae44a84c660d47b3ebcf7dfb Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/gr: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit af3082b3c621e75371dc6d11fac5a2dc2b19b1bc Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/fifo: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3a020b4dfc3a6c79f144b2c6786d86b33cda64d9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/disp: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6ed5c1682425e29913785977cccca67ff3dec5f1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/falcon: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit dd4bb3eccc806e78baee3009aa466466daae0f29 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/pmu: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 909604d444eb26ed37860268cfc6a68d4a5f28cb Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/mmu: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1302bcbb8229b0575401be87765277629330384a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/ltc: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 63bb5c390bf2f975f0936b6523af6784af811b49 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/ibus: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cf07d861ce3c4bfd9d45f9e66f30cbfb56dca3a0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/fb: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6979c6303a4abf263753cd9d577d79f05c6e8c47 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/clk: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4f31c84ebafd7b3940c2fe109fe173c62d097080 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:11 2015 +1000 drm/nouveau/bus: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4dd308f446c31e8f4a2b5033ba2de6f53f015114 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/bar: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 56f67dc19623b6cd4db57ee07d6f0cad32bcd5af Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/tmr: type-safe PTIMER-based delay/wait macros These require an explicit struct nvkm_device pointer, unlike the previous macros which take a void *, and work for (almost) anything derived from nvkm_object by using some heuristics. These macros are more general than the previous ones, and can be used to handle PTIMER-based busy-waits (will be used in later devinit fixes) as well as more complicated wait conditions. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2ebfa1bc6ff1a7cded8b662f507d34574ffcc2c6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/kms/nv04: fix incorrect use of register accessors Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 01d64afc2e3238cf1658184427fa2563963c8708 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/sw: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b8ad561e5541e6e6fe5c60ef33fec50ec211c92b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/sec: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 846e831d953fd01cb78b9ed92495baee142bed37 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/pm: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f2d85ad1a63130ba31434d042b6c76f24f6b9673 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/msvld: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 320ca25131758a445e351f701daf91d8aa5be096 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/msppp: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 54118c74fb4b4fdb032a6c4dfc59bb856bc6fc48 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/mspdec: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 636e37aa978b4904189710b5b501299bd7404ad5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/mpeg: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 276836d46e535c8ca299a1ea8302879dbdd3e93a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/gr: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8774440390cdfe37c5d003f850847c9fd67cdf61 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/fifo: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2fde1f1c343030d169945aa67a0e485b568f1393 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/disp: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f9793bb7ed4d83c1b72661c1cca2949a343df231 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:10 2015 +1000 drm/nouveau/device: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b958bf916d34f35639048361f7d87334770ebf4d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/cipher: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 29e9f51094316879c4602795167e9635e18a3c8b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/ce: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2ef770f743c55ee2e7efb8e750c6e2d2eae9f74e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/xtensa: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 96975248ee45cd50101b4bdf0eaf8c2d9e6cfa73 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/falcon: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c44c049f28dbebfb95aca3847fd4996ca3503b0c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/tmr: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5718ea3257f5fb945a8625dd17d0d753c9dbec34 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/therm: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bef002e87f1accc12a7fc7c98b80354c136c199e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/pmu: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 83f56106ead017a07868176279746d73bc7a7060 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/mmu: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 25e3a463fc1bd39c01cc6d19d2c8b4c4725699b9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/mc: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 99336ed363f49f484b4d93600c4dfec1f2ebb84a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/ltc: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d5c5bcf693e7c72f2f853066858f3d40a42ba942 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/imem: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fef5cc0f258d68d3a9ead1058461bf5f2e2796da Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/ibus: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6f2274991043a3db2ab84b5d9462a085d38f1fb1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/i2c: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4de93a086eb0315f0bd8e1d6da40186842670b57 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/gpio: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2bdb4995fd9629840ed80305f2a9f046071881d7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/fuse: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6758745b2821bddcec1aae0c4cffaa9608aeda59 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/fb: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8ac3f64f75b6b7dbe5917e5c65344915415f58e1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:09 2015 +1000 drm/nouveau/devinit: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 822ad79fa40070fc36cae2ad929ab0c409919080 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/clk: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 14caba447c9a22ceb0400e964f585e5ffff5f0b8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/bus: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d8f266a353cb397aa792b59d5aa16ea09579f9ac Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/bios: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9155c16214631e064d0d1edcd60a62347f823c80 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/bar: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 94bab102233e30d08fcb33a424ec56520b22eb1b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/core: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit dd64694208d7c902ba7a5bcd2bf012c1087ba0f0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/device: type-safe register accessor macros These require an explit struct nvkm_device pointer, unlike the previous macros which take a void *, and assume it's any old nvkm_subdev. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8699745a2bc143eee429c556d631e8e5be5dc009 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/vp: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 226dcefe706ff8854bca1bb75ae7bfd2fe3296c5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/sw: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c0e297dc61f8d4453e07afbea1fa8d0e67cd4a34 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/sec: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8c1aeaa13954585e8482866457abacb5c094db35 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/pm: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 74137ffcd1dfd6537bbfdd1d1149942412280e9e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/msvld: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fd507a53abda54697bcae2f60cfaf41932634d68 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/msppp: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 11271f9f8ff3755bf9a413d157dc7cb7c36856b1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/mspdec: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b19de4f3d787947224e89447505dd3c99b304d7b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/mpeg: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bfee3f3d97db88bfb732735eb4955ad3381ac758 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:08 2015 +1000 drm/nouveau/gr: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6189f1b0938dc0621c27494031b83ffae566e318 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/fifo: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a317aa21be51f869d5ab0198fad94a4570af9ddb Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/dma: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fd166a1832db138f22ad95eacd0879af30742f57 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/disp: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e2f1cf253e0cf5b64fa6fee439aeeda49c6f09d8 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/cipher: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d9261a68374fbeda5a180fbba926aaba29321a75 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/ce: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d8c304b504bc2709eaec742be1b30d5e53e47449 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/bsp: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f0961867b817e3aca45dca7e1885a7ec99a260ed Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/xtensa: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b26ada6fedeb7cf6dacb1275a8ea08f4e39b53d2 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/falcon: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6052dc5775ac0be49db3e25d2719c72a250189a2 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/volt: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit cb8bb9cedb6015eafd56ef9e9c5b2c216e8e7960 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/tmr: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit da06b46b720687117178d3ee85a601762f1c36b5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/therm: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5a7d1e22feedd3cfab5a94bba5f26ab61610bc62 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/pmu: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2d9d5889e8848501ffe71b4e99c639a29a1fe10f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/mxm: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1f5bffca226929a834c7d631464d420e78cbe5f1 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/mmu: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2ca0ddbc03917f94c6d34820f91d0c920c057df2 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/mc: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c7750cfbc150460a507deb27b8eed93fcf60ea8d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:07 2015 +1000 drm/nouveau/ltc: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c44c06aeebf481fb69c665a21090f2f0aac878c5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/imem: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ac51596f27d5cece39cb63b857e6ebbffa05ca33 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/ibus: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5b920d926422fdc5b40b703d72344d5e20b3872a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/i2c: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e7d65181045898a6da80add0392765e253b0023c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/gpio: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ce7b4f60a84cfb1533f217198b01758aab05f4dc Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/fuse: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b1e4553cb1f9deddbd8c13d95e9cef81967a3f41 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/fb: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 266f8b5ee6e98979f3251efc81451a2a2cbf2a28 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/devinit: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3eca809b3c05ea6918c1d13da478abdae5e712ba Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/clk: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 01d6b95605ad5c5be9ce0c7bf37b1a6d51cbb9e4 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/bus: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a00014e3963642e7cf7206a9fa814b547d642a72 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/bios: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5b0c189fcb232daa1cabac8892e42cdee57254bd Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/bar: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9ace404b1098221021b01c2ba0eeea0c257fa4a5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/device: include core/device.h automatically for subdevs/engines Pretty much every subdev/engine is going to need access to nvkm_device shortly to touch registers and/or output messages. The odd placement of the includes is necessary to work around some inter-dependencies that currently exist. This will be fixed later. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6d0d40e7a577bbc7497ee7fbfeb2315d46a872a6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:06 2015 +1000 drm/nouveau/device: add direct pointer to struct device A future commit will hide the platform/pci specifics from nvkm_device, but it's still very useful in a lot of places to have access to the Linux device struct. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 741d778ea0dde26a345717f1843407760f02fe03 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:05 2015 +1000 drm/nouveau/device: add direct pointers to subdevs from nvkm_device Will be used in upcoming commits to remove the need for lookup/runtime type-checking functions when accessing foreign subdevs. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d351b8569e3c57bf5dc3dd5a1295974a9e04316e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:05 2015 +1000 drm/nouveau/subdev: add direct pointer to nvkm_device Will be utilised in upcoming commits to remove the need for heuristics to lookup the device a subdev belongs to. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0d5dd3f301bbc66c41b219f50fa97a6df1965cfe Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 20 14:54:05 2015 +1000 drm/nouveau/lib: various tweaks Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 205877f9156daebb975fb46205488da6fdf5b3f5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Aug 27 17:33:19 2015 +1000 drm/nouveau/pmu/gk104: implement a hackish workaround for a hw bug Only a handful of machines have this enabled by default, where it's been proven to work. The workaround can be explicitly enabled with a module option also. Still waiting on feedback from NVIDIA for a proper idea of exactly what this fix is doing, and how to implement it properly. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a89359415da2fc1250b4c205de3c384bd781f54 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Aug 21 13:38:31 2015 +1000 drm/nouveau/disp/dp: gm1xx appears to have same dp lane ordering as gm2xx Fixes 2-lane DP on Quadro K620. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fe0f5d08806dcf7fd51092dfc6ea666ea2392692 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Aug 21 12:50:07 2015 +1000 drm/nouveau/disp/dp: fix some tx_pu mishandling We only need to mask 0x0f on GM2xx, and want to keep the higher bits on earlier cards. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f10956d4455fcb24ecbdca30e6d9d88c95dc2588 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Aug 21 13:19:13 2015 +1000 drm/nouveau/bios/dp: use alternate set of drvctl values where necessary Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7c11c99b3c66a8e03494e56ce6e6c5303ee85934 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Aug 21 10:52:54 2015 +1000 drm/nouveau/bios/dcb: accept "maxwell" lane count values for dcb 4.0 We previously assumed that the values "2" and "4" were new in DCB 4.1, however, there's at least one GM107 DCB 4.0 board (Quadro K620) that uses the newer values. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 895fb8e6f77589b9c50ff1f231b5025935d1d59f Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Mon Aug 17 19:37:34 2015 -0400 drm/nouveau/fb/sddr3: add WR/CWL values seen on a GK208 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0a363e85cdafbceeee6a49b91c604d0d4d070dc7 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Jul 23 17:20:12 2015 +0200 drm/nouveau/nv46: Change mc subdev oclass from nv44 to nv4c MSI interrupts appear to not work for nv46 based cards. Change the mc subdev oclass for these cards from nv44 to nv4c, the nv4c mc code is identical to the nv44 mc code except that it does not use msi (it does not define a msi_rearm callback). BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=90435 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2df0bf57f89cfa6e6adafb44d666ecc4a228a731 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Tue Aug 4 23:58:15 2015 +0200 drm/nouveau/pm/gf100: only use PBFB_BROADCAST.PM_UNK100 for PBFB signals High level hardware events related to PBFB will monitor all partitions. While we are at it, fix bitfield for this mux. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8feece04db884e04c31c008b76a7610849757720 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Tue Aug 4 23:58:14 2015 +0200 drm/nouveau/pm/gf100: remove multiple definitions of GPC_DOM signal 0x0e Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9b4dc66d4772a432f271e1ebafd70aafe2b9bb27 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Tue Aug 4 23:58:13 2015 +0200 drm/nouveau/pm/gf100: remove undefined TEX.PM_UNKC8 mux This mux only exists on GF108+ (except for GF110 one), but since it is not used by the userspace we can drop it for now. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7fe882eb90844f79acd9cdd3ccd5d3459c27cf3f Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Tue Aug 4 23:58:12 2015 +0200 drm/nouveau/pm: allow zeroed signals to enable sources Hardware signals index 0x00 are defined for some domains and they have to be allowed to enable sources like the others. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5a23936129b87833e3f3e90a610c65f73c7bbeaa Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jul 26 11:30:08 2015 +0200 drm/nouveau/pm/nv50: TPC[0x3] must be used for PGRAPH muxs on G80 I thought that using TPC[0x0] like for G84:GT215 was sufficient on G80, but it's actually not the case. According to NVIDIA PerfKit on Windows, we have to configure PGRAPH related muxs on TPC[0x3] for this chipset. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a4650ed9bd6564b5135ccebf8a5b108ed16abbac Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jul 26 11:30:07 2015 +0200 drm/nouveau/pm/nv50: fix wrong addr for ZCULL source on G80:GT215 Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bacbad17fbc636125bf472240860a58a54ad62db Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Fri Jun 19 02:51:23 2015 -0400 drm/nouveau/bios: add opcodes 0x73 and 0x77 No known VBIOSes use these, but they are present in the actual VBIOS table parsing logic. No harm in adding these too. Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 970fee29d036eda3ea869033d6b0b7b42238b22a Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:06 2015 +0900 drm/nouveau/platform: recognize GM20B Allow the platform driver to recognize GM20B. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d10ae271301803c2720b8ad53d6a90b5620ea439 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:05 2015 +0900 drm/nouveau/device: recognize GM20B Recognize GM20B and assign the right engines and subdevs. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a032fb9da665ed6e6a36fa6788eff1db43ba2703 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:04 2015 +0900 drm/nouveau/gr: add GM20B support Add support for GM20B's graphics engine, based on GK20A. Note that this code alone will not allow the engine to initialize on released devices which require PMU-assisted secure boot. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3326060a17f6ef8ca3d3f785b1ae31ff76f713f6 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:03 2015 +0900 drm/nouveau/fifo: add GM20B fifo GM20B has a 512-channels FIFO similar to GK104. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c4d0f8f6f8c8dc09cd32e7fdb31e3d1a65a0f8f1 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:02 2015 +0900 drm/nouveau/gr/gk20a: use same initialization sequence as nvgpu GK20A's initialization was based on GK104, but differences exist in the way the initial context is built and the initialization process itself. This patch follows the same initialization sequence as nvgpu performs to avoid bad surprises. Since the register bundles initialization also differ considerably from GK104, the register packs are now loaded from firmware files, again similarly to what is done with nvgpu. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 8539b37acef73949861a16808b60cb8b5b9b3bab Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Jun 23 15:16:01 2015 +0900 drm/nouveau/gr: use NVIDIA-provided external firmwares NVIDIA will officially start providing GR firmwares through linux-firmware for GPUs that require it. Change the GR firmware lookup function to use these files. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 13cffadced770954fc647e1aee8c959a99ecf0f4 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Fri Jun 19 17:37:18 2015 +0200 drm/nouveau/pm/gk104: add compute signals/sources These signals and sources have been reverse engineered from CUPTI (Linux). Graphics signals exposed by PerfKit (Windows only) will be added later. I need to reverse engineer them and it's a bit painful. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1914f673ec8b440a03ed56e0a1f42e3565c405c7 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Fri Jun 19 17:37:17 2015 +0200 drm/nouveau/pm/gk104: re-use gf100_pm_ctor() gk104_pm_ctor() is equal to gf100_pm_ctor(). Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 261d678d10d9ba866e279e0da0415267f1e6e561 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Fri Jun 19 17:36:38 2015 +0200 drm/nouveau/pm/nv40: rename pcounter domains to 'pc' instead of 'pm' This trivial patch makes thing more consistent since hardware signals names are prefixed by 'pcXX'. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit df0b37ee1aa19fc1b948099bf449fdd94f36036c Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Fri Jun 19 17:36:37 2015 +0200 drm/nouveau/pm: expose name of domains This is going to be very useful for GF100+ because each GPC can have its own domain of counters. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 85fa319d8a5240bab2e4123cfc9178bff55694ca Author: Wei Ni <wni@xxxxxxxxxx> Date: Tue Jun 16 17:35:12 2015 +0800 drm/nouveau/drm/nouveau/clk: fix tstate to pstate calculation According to the tstate calculation in nvkm_clk_tstate(), the range of tstate is from -(clk->state_nr - 1) to 0, it mean the tstate is negative value. But in nvkm_pstate_work(), it use (clk->state_nr - 1 - clk->tstate) to limit pstate, it's not correct. This patch fix it to use (clk->state_nr - 1 + clk->tstate) to limit pstate. Signed-off-by: Wei Ni <wni@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d4a312dc90a7c1079133b038aec0120ee9e3d0ce Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 14 13:50:06 2015 +0200 drm/nouveau/pm: some fixes related to sources Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit eb94345a93204f0d7d7e0809dde329977522aec0 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 14 13:50:05 2015 +0200 drm/nouveau/pm: fix signals/sources for GT200+ Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 94a2ef69aa0c3612577ab1a6f5c248b206118e68 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 14 13:33:55 2015 +0200 drm/nouveau/pm/gf100: add compute signals/sources These signals and sources have been reverse engineered from CUPTI (Linux). Graphics signals exposed by PerfKit (Windows only) will be added later. I need to reverse engineer them and it's a bit painful. This commit also adds a new class for GF108 and GF117. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 060f50e3b100b8f51fbf165de48c2ea097ff7390 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 14 13:33:54 2015 +0200 drm/nouveau/pm/gf100: allow to share GPC, HUB and PART domains Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f21950ea35c86be79c293b199fe48b5152ec8311 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Sun Jun 14 12:20:37 2015 +1000 drm/nouveau/pm: stack perfdom class under perfmon Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2d4b94b95f30b0a4244fce4866583094d991c0ec Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Sun Jun 14 12:10:59 2015 +1000 drm/nouveau/pm: swap perfmon/perfdom code to avoid forward decl in next commit Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 06b7972dc915e60051cd6531d988a7c72645d00a Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:28 2015 +0200 drm/nouveau/pm/nv50: add compute and graphics signals/sources These signals and sources have been reverse engineered from NVIDIA PerfKit (Windows) and CUPTI (Linux), they will be used to build complex hardware events from the userspace. This commit also adds a new class for GT200. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6137b5a7c2aeca9f72229c120504f5d083fa9127 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:27 2015 +0200 drm/nouveau/pm: allow the userspace to configure sources Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0f3804360dd4f88332b9c0b2d7cb4c1f30893cc7 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:26 2015 +0200 drm/nouveau/pm: allow to configure domains instead of simple counters Configuring counters from the userspace require the kernel to handle some logic related to performance counters. Basically, it has to find a free slot to assign a counter, to handle extra counting modes like B4/B6 and it must return and error when it can't configure a counter. In my opinion, the kernel should not handle all of that logic but it should only write the configuration sent by the userspace without checking anything. In other words, it should overwrite the configuration even if it's already counting and do not return any errors. This patch allows the userspace to configure a domain instead of separate counters. This has the advantage to move all of the logic to the userspace. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3bfdde178a959cb5e490e4a3a2433c95a9a1af26 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:25 2015 +0200 drm/nouveau/pm: allow the userspace to schedule hardware counters This adds a new method NVIF_PERFCTR_V0_INIT which starts a batch of hardware counters for sampling. This will allow the userspace to start a monitoring session using the INIT method and to stop it with SAMPLE, for example before and after a frame is rendered. This commit temporarily breaks nv_perfmon but this is going to be fixed with the upcoming patch. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6f99c84873f455a76a0356061b276bc0c89b5d92 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:24 2015 +0200 drm/nouveau/pm: implement NVIF_PERFMON_V0_QUERY_SOURCE method This allows to query the ID, the mask and the user-readable name of sources for each signal. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 50d138d7528c3370ebf3a54079091a35a60a23be Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:23 2015 +0200 drm/nouveau/pm: allow to query the number of sources for a signal Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e82661e23c60fc41424ca138820d729d8e4a2226 Author: Samuel Pitoiset <samuel.pitoisetÅ?gmail.com> Date: Sun Jun 7 22:40:22 2015 +0200 drm/nouveau/pm: add concept of sources A source (or multiplexer) is a tuple addr+mask+shift which allows to control a block of signals. The maximum number of sources that a signal can define is arbitrary limited to 8 and this should be large enough. This patch allows to define multi-level of sources for a signal. Each different sources are stored to a global list and will be exposed to the userspace through the nvif interface in order to avoid conflicts. Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 40a3b22c92ac3dad5adc818a84671bfb00303731 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:21 2015 +0200 drm/nouveau/pm: allow to monitor hardware signal index 0x00 This signal index must be always allowed even if it's not clearly defined in a domain in order to monitor a counter like 0x03020100 because it's the default value of signals. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 10a4d2b2489394e32f17afc6cc63ccdfc1b6050b Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:20 2015 +0200 drm/nouveau/pm: use hardware signals indexes instead of user-readable names Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e4047599aede7a7aca97ace770002c4e29e403d2 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:19 2015 +0200 drm/nouveau/pm: change signal iter to u16 16 bits is large enough to store the maximum number of signals available for one domain (i.e. 256). Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3e1b33571ab4937cbd400976a115e4922797559a Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:18 2015 +0200 drm/nouveau/pm: allow to query signals by domain This will allow to configure performance counters with hardware signal indexes instead of user-readable names in an upcoming patch. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 45f0f94db285009a41a94e069618ea9bb269af84 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:17 2015 +0200 drm/nouveau/pm: implement NVIF_PERFMON_V0_QUERY_DOMAIN method This allows to query the number of available domains, including the number of hardware counter and the number of signals per domain. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 44d9de58ea5633e4f2d062e718016383b28b4eed Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:16 2015 +0200 drm/nouveau/pm: prevent creating a perfctr object when signals are not found Since a new class has been introduced to query signals, we can now return an error when the userspace wants to monitor unknown signals. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5a0bc4b5aeba3bb32eb7da6a98108e93bbd64f7e Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:15 2015 +0200 drm/nouveau/pm: reorganize the nvif interface This commit introduces the NVIF_IOCTL_NEW_V0_PERFMON class which will be used in order to query domains, signals and sources. This separates the querying and the counting interface. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a78ce96f96d76311fd165207a6ffb64b0ebd85cc Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:14 2015 +0200 drm/nouveau/pm: remove unused nvkm_perfsig_wrap() function Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Reviewed-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0b7515c035d26faee91b6c3023622385c109b99e Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Sun Jun 7 22:40:13 2015 +0200 drm/nouveau/pm: remove pmu signals PDAEMON signals don't have to be exposed by the perfmon engine. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Reviewed-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 087cd0db87a79b03d35567a32d4a29bee179ad9e Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sun May 24 10:44:02 2015 +0200 drm/nouveau/clk/nv50: Enable user reclocking for NVA0 Tested on a few cards. Probably works quite well for most, given they should all be GDDR3. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 852c619b6e6e33509b405a5ad7400255e02ba8ec Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sun May 24 10:44:01 2015 +0200 drm/nouveau/fb/gddr3: Add a few CL and WR entries observed on GTX260 Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 82a74fd2936afd97e83cf195c41dc372ebe9fc84 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sun May 24 10:44:00 2015 +0200 drm/nouveau/fb/ramnv50: GDDR3 script for NVA0 This looks surprisingly similar to scripts on earlier cards as well but they don't seem to work just yet. That... and I don't have any, which makes it a tough job to reverse engineer. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c25bf7b6155cb1e737c39ab76c844469deed3c98 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sun May 24 10:43:59 2015 +0200 drm/nouveau/bios/ramcfg: Separate out RON pull value Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2813e19f13035e5971b6f4001782135cfc0909e0 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sat May 23 10:37:47 2015 +0200 drm/nouveau/bios/rammap: Parse perf mode as if it's a rammap entry Some of the bits in there are similar to the bits in the gt215 rammap. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 35fe024acffc2c29bade5a68a09962bf7ea3c8ed Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sat May 23 10:37:46 2015 +0200 drm/nouveau/fb/ramnv50: Ressurect timing code, use proper timing/rammap handlers Might need some generalisation to < GT200. For those: use at your own risk! Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3b582bed907a26b30e511c83c24254c0ae987f47 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sat May 23 10:37:45 2015 +0200 drm/nouveau/fb/ramgt215: No need to cuss like that Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d4cc5f0c2aea8350fe07a87cd312ca6a8f1f3129 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sat May 23 10:37:44 2015 +0200 drm/nouveau/fb/ramnv50: Make 0x100da0 per-partition Like on GT215 Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7164f4c5b2cfe9aa59d290ea71268022f8950eba Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Sat May 23 10:37:43 2015 +0200 drm/nouveau/bios/rammap: Pull DLLoff bit out of version 0x10 struct In preparation of NV50 reclocking, where there is no version Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4a68ccc8e49854e071e14995de2a35016b240131 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Apr 29 10:28:17 2015 +1000 remove unnecessary include This was merged with core/device.h in an earlier commit, but somehow never got removed. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1f821ed7afaa7ed689322ee2369f270e374a6350 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 16:30:18 2015 +0530 PM / OPP: Free resources and properly return error on failure _of_init_opp_table_v2() isn't freeing up resources on some errors and the error values returned are also not correct always. This fixes following problems: - Return -ENOENT, if no entries are found in the table. - Use IS_ERR() to properly check return value of _find_device_opp(). - Return error value with PTR_ERR() in above case. - Free table if _find_device_opp() fails. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ea0f8acf4d44727f7d3a38072566029bf5e17b44 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:12:37 2015 +1000 powerpc/pseries: Cleanup on pci_dn_reconfig_notifier() This applies cleanup on pci_dn_reconfig_notifier(), no functional changes: * Rename variable "pci" to "pdn" to indicate its purpose clearly. * The parent node can be released at any time. So it should be hold with of_get_parent() before accessing it. * The device node doesn't have to have parent node in theory. More check on this. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 590c7567a2895f939525ead57b0334c6d47986f0 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:12:36 2015 +1000 powerpc/pseries: Fix corrupted pdn list Commit cca87d30 ("powerpc/pci: Refactor pci_dn") introduced pdn list for SRIOV VFs. It means the pdn is be put into the child list of its parent pdn when the pdn is created. When doing PCI hot unplugging on pSeries, the PCI device node as well as its pdn are released through procfs entry "powerpc/ofdt". Some one else grabs the memory chunk of the pdn and update it accordingly. At the same time, the pdn is still tracked in the child list of parent pdn. It leads to corrupted child list in the parent pdn. This fixes above issue by removing the pdn from the child list of its parent pdn when the device node is detached from the system. Note the pdn is free'd when the device node is released if the device node is dynamic one. Otherwise, the device node as well as the pdn won't be released. Fixes: cca87d30 ("powerpc/pci: Refactor pci_dn") Cc: stable@xxxxxxxxxxxxxxx # 4.1+ Reported-by: Santwana Samantray <santwana.samantray@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4941b8f0c2b9d88e8a6dacebf8b7faf603b98368 Merge: e001d70 4d9aac3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 17:59:17 2015 -0700 Merge tag 'powerpc-4.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fixes from Michael Ellerman: "Fix MSI/MSI-X on pseries from Guilherme" * tag 'powerpc-4.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code commit e001d7084a687c7a25b02bee47548a1df10d6e0b Merge: 5c98bcc f648f80 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 17:52:38 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "Some straggler bug fixes here: 1) Netlink_sendmsg() doesn't check iterator type properly in mmap case, from Ken-ichirou MATSUZAWA. 2) Don't sleep in atomic context in bcmgenet driver, from Florian Fainelli. 3) The pfkey_broadcast() code patch can't actually ever use anything other than GFP_ATOMIC. And the cases that right now pass GFP_KERNEL or similar will currently trigger an RCU splat. Just use GFP_ATOMIC unconditionally. From David Ahern. 4) Fix FD bit timings handling in pcan_usb driver, from Marc Kleine-Budde. 5) Cache dst leaked in ip6_gre tunnel removal, fix from Huaibin Wang. 6) Traversal into drivers/net/ethernet/renesas should be triggered by CONFIG_NET_VENDOR_RENESAS, not a particular driver's config option. From Kazuya Mizuguchi. 7) Fix regression in handling of igmp_join errors in vxlan, from Marcelo Ricardo Leitner. 8) Make phy_{read,write}_mmd_indirect() properly take the mdio_lock mutex when programming the registers. From Russell King. 9) Fix non-forced handling in u32_destroy(), from WANG Cong. 10) Test the EVENT_NO_RUNTIME_PM flag before it is cleared in usbnet_stop(), from Eugene Shatokhin. 11) In sfc driver, don't fetch statistics firmware isn't capable of, from Bert Kenward. 12) Verify ASCONF address parameter location in SCTP, from Xin Long" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state sctp: asconf's process should verify address parameter is in the beginning sfc: only use vadaptor stats if firmware is capable net: phy: fixed: propagate fixed link values to struct usbnet: Get EVENT_NO_RUNTIME_PM bit before it is cleared drivers: net: xgene: fix: Oops in linkwatch_fire_event cls_u32: complete the check for non-forced case in u32_destroy() net: fec: use reinit_completion() in mdio accessor functions net: phy: add locking to phy_read_mmd_indirect()/phy_write_mmd_indirect() vxlan: re-ignore EADDRINUSE from igmp_join net: compile renesas directory if NET_VENDOR_RENESAS is configured ip6_gre: release cached dst on tunnel removal phylib: Make PHYs children of their MDIO bus, not the bus' parent. can: pcan_usb: don't provide CAN FD bittimings by non-FD adapters net: Fix RCU splat in af_key net: bcmgenet: fix uncleaned dma flags net: bcmgenet: Avoid sleeping in bcmgenet_timeout netlink: mmap: fix tx type check commit 5c98bcce6497c55947f1fc22e51b41849d9ad3fe Merge: 9580381 402bae5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 17:46:06 2015 -0700 Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull nvdimm fixlet from Dan Williams: "This is a libnvdimm ABI fixup. I pushed back on this change quite hard given the late date, that it appears to be purely cosmetic, sysfs is not necessarily meant to be a user friendly UI, and the kernel interprets the reversed polarity of the ACPI_NFIT_MEM_ARMED flag correctly. When this flag is set, the energy source of an NVDIMM is not armed and any new writes to the DIMM may not be preserved. However, Bob Moore warned me that it is important to get these things named correctly wherever they appear otherwise we run the risk of a less than cautious firmware engineer implementing the polarity the wrong way. Once a mistake like that escapes into production platforms the flag becomes useless and we need to move to a new bit position. Bob has agreed to take a change through ACPICA to rename ACPI_NFIT_MEM_ARMED to ACPI_NFIT_MEM_NOT_ARMED, and the patch below from Toshi brings the sysfs representation of these flags in line with their respective polarities. Please pull for 4.2 as this is the first kernel to expose the ACPI NFIT sysfs representation, and this is likely a kernel that firmware developers will be using for checking out their NVDIMM enabling" * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: nfit: Clarify memory device state flags strings commit 6669cb8bed02ec1b60e80f2e1e317afc28544207 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 27 20:43:20 2015 -0400 NFSv4.1/pnfs: Ensure layoutreturn reserves space for the opaque payload The "FIXME" is outdated. Flexfiles does add a payload. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit d13549074cf066d6d5bb29903d044beffea342d3 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 27 20:37:39 2015 -0400 NFSv4.1/flexfiles: Fix a protocol error in layoutreturn According to the flexfiles protocol, the layoutreturn should specify an array of errors in the following format: struct ff_ioerr4 { offset4 ffie_offset; length4 ffie_length; stateid4 ffie_stateid; device_error4 ffie_errors<>; }; This patch fixes up the code to ensure that our ffie_errors is indeed encoded as an array (albeit with only a single entry). Reported-by: Tom Haynes <thomas.haynes@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 55f14da66954083b621debbdbf62c7fc429291e8 Merge: 69dba9b 3e692f2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 17:14:30 2015 -0700 Merge branch 'iff_no_queue_fixups' Phil Sutter says: ==================== fixup IFF_NO_QUEUE conversion This series serves two purposes: On one hand it fixes a quite embarrassing bug around the warning I added for drivers still setting tx_queue_len = 0 to achieve noqueue operation. It turned out to be quite useless as due to using alloc_netdev(), many in-kernel drivers fell into the trap by accident, as well. Instead this place serves pretty well as a sanitizing point to set IFF_NO_QUEUE for drivers not initializing tx_queue_len, which in turn allows to drop all special treatment of the latter being zero since that can not happen anymore without IFF_NO_QUEUE being set. On the other hand, it provides a better solution for Eric Dumazet's concern regarding how to assign noqueue to an interface which does not default to it already. In order to make this possible, noqueue is being registered so users can 'tc qd add dev eth0 root noqueue'. In addition, it resolves the ugly situation of 'tc qd show' not showing noqueue. Finally, the former changes allow for some code cleanup. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e692f21532a54eeb5e6fc0ccc214cfa56fe23d3 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 27 21:21:39 2015 +0200 net: sched: simplify attach_one_default_qdisc() Now that noqueue qdisc can be attached just like any other qdisc, no special treatment is necessary anymore when attaching it as default qdisc. This change has the added benefit that 'tc qdisc show' prints noqueue instead of nothing for devices defaulting to noqueue. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d66d6c3152e8d5a6db42a56bf7ae1c6cae87ba48 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 27 21:21:38 2015 +0200 net: sched: register noqueue qdisc This way users can attach noqueue just like any other qdisc using tc without having to mess with tx_queue_len first. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db4094bca7a5746bc8e36db0557e8732963e88f0 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 27 21:21:37 2015 +0200 net: sched: ignore tx_queue_len when assigning default qdisc Since alloc_netdev_mqs() sets IFF_NO_QUEUE for drivers not initializing tx_queue_len, it is safe to assume that if tx_queue_len is zero, dev->priv flags always contains IFF_NO_QUEUE. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f84bb1eac0275283ccd76455e20f926e186ea8c8 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 27 21:21:36 2015 +0200 net: fix IFF_NO_QUEUE for drivers using alloc_netdev Printing a warning in alloc_netdev_mqs() if tx_queue_len is zero and IFF_NO_QUEUE not set is not appropriate since drivers may use one of the alloc_netdev* macros instead of alloc_etherdev*, thereby not intentionally leaving tx_queue_len uninitialized. Instead check here if tx_queue_len is zero and set IFF_NO_QUEUE, so the value of tx_queue_len can be ignored in net/sched_generic.c. Fixes: 906470c ("net: warn if drivers set tx_queue_len = 0") Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69dba9bbc50609f19ee89d62d5199c81fcbc74b2 Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Thu Aug 27 18:05:49 2015 -0600 sock: fix kernel doc error The symbol '__sk_reclaim' is not present in the current tree. Apparently '__sk_reclaim' was meant to be '__sk_mem_reclaim', so fix it with the right symbol name for the kernel doc. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Cc: Hideo Aoki <haoki@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f648f807f61e64d247d26611e34cc97e4ed03401 Author: lucien <lucien.xin@xxxxxxxxx> Date: Thu Aug 27 04:52:20 2015 +0800 sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state Commit f8d960524328 ("sctp: Enforce retransmission limit during shutdown") fixed a problem with excessive retransmissions in the SHUTDOWN_PENDING by not resetting the association overall_error_count. This allowed the association to better enforce assoc.max_retrans limit. However, the same issue still exists when the association is in SHUTDOWN_RECEIVED state. In this state, HB-ACKs will continue to reset the overall_error_count for the association would extend the lifetime of association unnecessarily. This patch solves this by resetting the overall_error_count whenever the current state is small then SCTP_STATE_SHUTDOWN_PENDING. As a small side-effect, we end up also handling SCTP_STATE_SHUTDOWN_ACK_SENT and SCTP_STATE_SHUTDOWN_SENT states, but they are not really impacted because we disable Heartbeats in those states. Fixes: Commit f8d960524328 ("sctp: Enforce retransmission limit during shutdown") Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5334c5bdac926c5f8d89729beccb46fe88eda9e7 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Aug 26 21:13:37 2015 +0800 NFS: Send attributes in OPEN request for NFS4_CREATE_EXCLUSIVE4_1 Client sends a SETATTR request after OPEN for updating attributes. For create file with S_ISGID is set, the S_ISGID in SETATTR will be ignored at nfs server as chmod of no PERMISSION. v3, same as v2. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8c61282ff61c28d5a12bb53f0eaa221d30fd3ae1 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Aug 26 21:12:58 2015 +0800 NFS: Get suppattr_exclcreat when getting server capabilities Create file with attributs as NFS4_CREATE_EXCLUSIVE4_1 mode depends on suppattr_exclcreat attribut. v3, same as v2. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5153aacfb8e2744af68e7b84ccd3f02aeefe4f48 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Aug 26 21:12:15 2015 +0800 NFS: Update NFS4_BITMAP_SIZE v4.1/v4.2 have define attributes at word2, nfs client also support security label now. v3, same as v2. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c5c3fb5f975a8bcc42cd039b83d9a4729ce489bb Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Aug 26 21:11:39 2015 +0800 NFS: Make opened as optional argument in _nfs4_do_open Check opened, only update it when non-NULL. It's not needs define an unused value for the opened when calling _nfs4_do_open. v3, same as v2. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit ae57ca0f4fce219ef34c28f0edc210598c465a4d Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Aug 26 21:10:55 2015 +0800 NFS: Check size by inode_newsize_ok in nfs_setattr Set rlimit for NFS's files is useless right now. For local process's rlimit, it should be checked by nfs client. The same, CIFS also call inode_change_ok checking rlimit at its client in cifs_setattr_nounix() and cifs_setattr_unix(). v3, fix bad using of error Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 96601adb745186ccbcf5b078d4756f13381ec2af Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 24 18:29:38 2015 -0400 x86, pmem: clarify that ARCH_HAS_PMEM_API implies PMEM mapped WB Given that a write-back (WB) mapping plus non-temporal stores is expected to be the most efficient way to access PMEM, update the definition of ARCH_HAS_PMEM_API to imply arch support for WB-mapped-PMEM. This is needed as a pre-requisite for adding PMEM to the direct map and mapping it with struct page. The above clarification for X86_64 means that memcpy_to_pmem() is permitted to use the non-temporal arch_memcpy_to_pmem() rather than needlessly fall back to default_memcpy_to_pmem() when the pcommit instruction is not available. When arch_memcpy_to_pmem() is not guaranteed to flush writes out of cache, i.e. on older X86_32 implementations where non-temporal stores may just dirty cache, ARCH_HAS_PMEM_API is simply disabled. The default fall back for persistent memory handling remains. Namely, map it with the WT (write-through) cache-type and hope for the best. arch_has_pmem_api() is updated to only indicate whether the arch provides the proper helpers to meet the minimum "writes are visible outside the cache hierarchy after memcpy_to_pmem() + wmb_pmem()". Code that cares whether wmb_pmem() actually flushes writes to pmem must now call arch_has_wmb_pmem() directly. Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> [hch: set ARCH_HAS_PMEM_API=n on x86_32] Reviewed-by: Christoph Hellwig <hch@xxxxxx> [toshi: x86_32 compile fixes] Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 41e94a851304f7acac840adec4004f8aeee53ad4 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 16:00:35 2015 +0200 add devm_memremap_pages This behaves like devm_memremap except that it ensures we have page structures available that can back the region. Signed-off-by: Christoph Hellwig <hch@xxxxxx> [djbw: catch attempts to remap RAM, drop flags] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 033fbae988fcb67e5077203512181890848b8e90 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Sun Aug 9 15:29:06 2015 -0400 mm: ZONE_DEVICE for "device memory" While pmem is usable as a block device or via DAX mappings to userspace there are several usage scenarios that can not target pmem due to its lack of struct page coverage. In preparation for "hot plugging" pmem into the vmemmap add ZONE_DEVICE as a new zone to tag these pages separately from the ones that are subject to standard page allocations. Importantly "device memory" can be removed at will by userspace unbinding the driver of the device. Having a separate zone prevents allocation and otherwise marks these pages that are distinct from typical uniform memory. Device memory has different lifetime and performance characteristics than RAM. However, since we have run out of ZONES_SHIFT bits this functionality currently depends on sacrificing ZONE_DMA. Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Jerome Glisse <j.glisse@xxxxxxxxx> [hch: various simplifications in the arch interface] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 012dcef3f058385268630c0003e9b7f8dcafbeb4 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 7 17:41:01 2015 -0400 mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h Three architectures already define these, and we'll need them genericly soon. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit cb389b9c0e00c30c9daf20287f7d91e2466edbb1 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Aug 7 17:41:00 2015 -0400 dax: drop size parameter to ->direct_access() None of the implementations currently use it. The common bdev_direct_access() entry point handles all the size checks before calling ->direct_access(). Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit b0f6446377e72bcabafe83d29bf6a2f6dd19d0b0 Author: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:43:26 2015 -0500 net/mlx4_core: Fix unintialized variable used in error path The uninitialized value name in mlx4_en_activate_cq was used in order to print an error message. Fixing it by replacing it with cq->vector. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a9bf88a5caa8495b5eb2b738d5fb40924bbc538 Merge: a06a757 67a3e8f Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Aug 27 19:40:26 2015 -0400 Merge branch 'pmem-api' into libnvdimm-for-next commit 9293267a3e2a7a2555d8ddc8f9301525e5b03b1b Author: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:43:25 2015 -0500 net/mlx4_core: Capping number of requested MSIXs to MAX_MSIX We currently manage IRQs in pool_bm which is a bit field of MAX_MSIX bits. Thus, allocating more than MAX_MSIX interrupts can't be managed in pool_bm. Fixing this by capping number of requested MSIXs to MAX_MSIX. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b22fbf22f8469d8cacb6fcf5d266426826e1137d Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 14:19:20 2015 -0700 bridge: fdb: rearrange net_bridge_fdb_entry While looking into fixing the local entries scalability issue I noticed that the structure is badly arranged because vlan_id would fall in a second cache line while keeping rcu which is used only when deleting in the first, so re-arrange the structure and push rcu to the end so we can get 16 bytes which can be used for other fields (by pushing rcu fully in the second 64 byte chunk). With this change all the core necessary information when doing fdb lookups will be available in a single cache line. pahole before (note vlan_id): struct net_bridge_fdb_entry { struct hlist_node hlist; /* 0 16 */ struct net_bridge_port * dst; /* 16 8 */ struct callback_head rcu; /* 24 16 */ long unsigned int updated; /* 40 8 */ long unsigned int used; /* 48 8 */ mac_addr addr; /* 56 6 */ unsigned char is_local:1; /* 62: 7 1 */ unsigned char is_static:1; /* 62: 6 1 */ unsigned char added_by_user:1; /* 62: 5 1 */ unsigned char added_by_external_learn:1; /* 62: 4 1 */ /* XXX 4 bits hole, try to pack */ /* XXX 1 byte hole, try to pack */ /* --- cacheline 1 boundary (64 bytes) --- */ __u16 vlan_id; /* 64 2 */ /* size: 72, cachelines: 2, members: 11 */ /* sum members: 65, holes: 1, sum holes: 1 */ /* bit holes: 1, sum bit holes: 4 bits */ /* padding: 6 */ /* last cacheline: 8 bytes */ } pahole after (note vlan_id): struct net_bridge_fdb_entry { struct hlist_node hlist; /* 0 16 */ struct net_bridge_port * dst; /* 16 8 */ long unsigned int updated; /* 24 8 */ long unsigned int used; /* 32 8 */ mac_addr addr; /* 40 6 */ __u16 vlan_id; /* 46 2 */ unsigned char is_local:1; /* 48: 7 1 */ unsigned char is_static:1; /* 48: 6 1 */ unsigned char added_by_user:1; /* 48: 5 1 */ unsigned char added_by_external_learn:1; /* 48: 4 1 */ /* XXX 4 bits hole, try to pack */ /* XXX 7 bytes hole, try to pack */ struct callback_head rcu; /* 56 16 */ /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ /* size: 72, cachelines: 2, members: 11 */ /* sum members: 65, holes: 1, sum holes: 7 */ /* bit holes: 1, sum bit holes: 4 bits */ /* last cacheline: 8 bytes */ } Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67a3e8fe90156d41cd480d3dfbb40f3bc007c262 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Thu Aug 27 13:14:20 2015 -0600 nd_blk: change aperture mapping from WC to WB This should result in a pretty sizeable performance gain for reads. For rough comparison I did some simple read testing using PMEM to compare reads of write combining (WC) mappings vs write-back (WB). This was done on a random lab machine. PMEM reads from a write combining mapping: # dd of=/dev/null if=/dev/pmem0 bs=4096 count=100000 100000+0 records in 100000+0 records out 409600000 bytes (410 MB) copied, 9.2855 s, 44.1 MB/s PMEM reads from a write-back mapping: # dd of=/dev/null if=/dev/pmem0 bs=4096 count=1000000 1000000+0 records in 1000000+0 records out 4096000000 bytes (4.1 GB) copied, 3.44034 s, 1.2 GB/s To be able to safely support a write-back aperture I needed to add support for the "read flush" _DSM flag, as outlined in the DSM spec: http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf This flag tells the ND BLK driver that it needs to flush the cache lines associated with the aperture after the aperture is moved but before any new data is read. This ensures that any stale cache lines from the previous contents of the aperture will be discarded from the processor cache, and the new data will be read properly from the DIMM. We know that the cache lines are clean and will be discarded without any writeback because either a) the previous aperture operation was a read, and we never modified the contents of the aperture, or b) the previous aperture operation was a write and we must have written back the dirtied contents of the aperture to the DIMM before the I/O was completed. In order to add support for the "read flush" flag I needed to add a generic routine to invalidate cache lines, mmio_flush_range(). This is protected by the ARCH_HAS_MMIO_FLUSH Kconfig variable, and is currently only supported on x86. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit d3a730971b90dd150e43c924b1b4dec8197fccad Merge: c4d3e22 7b85b4d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 16:35:51 2015 -0700 Merge branch 'ovs-v6-build-err' Joe Stringer says: ==================== OPENVSWITCH && !NETFILTER build fix. Fix issues reported by kbuild test robot: All error/warnings (new ones prefixed by >>): net/openvswitch/actions.c: In function 'ovs_fragment': >> net/openvswitch/actions.c:705:16: error: implicit declaration of function 'nf_get_ipv6_ops' [-Werror=implicit-function-declaration] const struct nf_ipv6_ops *v6ops = nf_get_ipv6_ops(); ^ >> net/openvswitch/actions.c:705:37: warning: initialization makes pointer from integer without a cast const struct nf_ipv6_ops *v6ops = nf_get_ipv6_ops(); ^ >> net/openvswitch/actions.c:707:19: error: storage size of 'ovs_rt' isn't known struct rt6_info ovs_rt; ^ >> net/openvswitch/actions.c:724:8: error: dereferencing pointer to incomplete type v6ops->fragment(skb->sk, skb, ovs_vport_output); ^ >> net/openvswitch/actions.c:707:19: warning: unused variable 'ovs_rt' [-Wunused-variable] struct rt6_info ovs_rt; ^ cc1: some warnings being treated as errors ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b85b4dff2caa5e52726093fd058f87bbc14f156 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Thu Aug 27 15:25:46 2015 -0700 openvswitch: Include ip6_fib.h. kbuild test robot reports that certain configurations will not automatically pick up on the "struct rt6_info" definition, so explicitly include the header for this structure. Fixes: 7f8a436 "openvswitch: Add conntrack action" Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e4cfae2a8e3f9ce3925c9b6e9e865fe8476fc4f Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Thu Aug 27 15:25:45 2015 -0700 netfilter: Define v6ops in !CONFIG_NETFILTER case. When CONFIG_OPENVSWITCH is set, and CONFIG_NETFILTER is not set, the openvswitch IPv6 fragmentation handling cannot refer to ipv6_ops because it isn't defined. Add a dummy version to avoid #ifdefs in source files. Fixes: 7f8a436 "openvswitch: Add conntrack action" Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a06a7576526e10a99ea7721533e7f2df3e26baad Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Thu Aug 27 19:35:48 2015 -0400 nvdimm: change to use generic kvfree() Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit c4d3e22438d405b84c00710aad177184d789353f Merge: ec5d165 1e81779 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 16:31:17 2015 -0700 Merge branch 'mlxsw-small-updates' Jiri Pirko says: ==================== mlxsw: small driver update Ido Schimmel (2): mlxsw: Remove duplicate included header mlxsw: Make mailboxes 4KB aligned Jiri Pirko (1): mlxsw: adjust transmit fail log message level in __mlxsw_emad_transmit ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e81779ae41e5d14174ce5e61790ace34914ade0 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 27 17:59:57 2015 +0200 mlxsw: Make mailboxes 4KB aligned The HW-SW contract requires mailboxes passed to the firmware to be 4KB aligned. Previously, these mailboxes were mapped using streaming DMA routines, which do not guarantee the bus addresses to be 4KB aligned. Under certain conditions this constraint was indeed violated and errors were observed. By using consistent DMA mapping routines together with a mailbox size of 4KB we are guaranteed not to violate the constraint. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 262df6919edd837c0745fc2a751364af671feaf7 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 17:59:56 2015 +0200 mlxsw: adjust transmit fail log message level in __mlxsw_emad_transmit When transmit fails, it is an error, not a warning. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a585dabd96f3ccb4ada36cf616ab4477873b506c Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 27 17:59:55 2015 +0200 mlxsw: Remove duplicate included header Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 718e38b4d96085b4dab08d3d32e5e033aa1ba6e9 Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Jul 8 14:50:19 2015 +0300 mtd: mtd_oobtest: Fix the address offset with vary_offset case When vary_offset is set (e.g. test case 3), the offset is not always zero so memcmpshow() will show the wrong offset in the print message. To fix this we introduce a new function memcmpshowoffset() which takes offset as a parameter and displays the right offset and use it in the case where offset is non zero. The old memcmpshow() functionality is preserved by converting it into a macro with offset preset to 0. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ec5d165555ea02ac9b69bbed8ff8f1de7c782f66 Merge: 547c890 686ed30 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 16:28:35 2015 -0700 Merge branch 'rocker-master-change' Jiri Pirko says: ==================== rocker: make master change handling nicer Jiri Pirko (6): net: introduce change upper device notifier change info net: add netif_is_bridge_master helper net: add netif_is_ovs_master helper with IFF_OPENVSWITCH private flag net: kill long time unused bonding private flags rocker: use new helper to figure out master kind rocker: use change upper info ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 686ed3047e8727fe3c7eb5a3c63a5e9b1556bbbb Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:23 2015 +0200 rocker: use change upper info Since now information about changed upper is passed along, benefit from that and use this info directly. This also fixes possible issues that could happen when non-master device is added (current code does not distinguish between master and non-master upper device). Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb4bf214346e37778bcf00a89bfb90112859b23c Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:22 2015 +0200 rocker: use new helper to figure out master kind Looking at rtnl kind string is kind of ugly. So use new helpers to do this in nicer way. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0dc1549bfd67053181415a3f7544628a6bcd2a08 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:21 2015 +0200 net: kill long time unused bonding private flags We don't use them for years, just kill them now. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35d4e1725202e6656fcfa8b88447327ad3ae0c0c Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:20 2015 +0200 net: add netif_is_ovs_master helper with IFF_OPENVSWITCH private flag Add this helper so code can easily figure out if netdev is openswitch. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0894ae3f0a587bda9733ec4a4b67af7ded3a9498 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:19 2015 +0200 net: add netif_is_bridge_master helper Add this helper so code can easily figure out if netdev is a bridge. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0e4ead9d7b3655d76371604abb9b0dcc4e79bb7d Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 27 09:31:18 2015 +0200 net: introduce change upper device notifier change info Add info that is passed along with NETDEV_CHANGEUPPER event. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0bdb8fa6ecb4a356f26c6874db51b5488706e088 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 27 19:17:33 2015 -0400 NFSv4.1/pNFS: pnfs_mark_matching_lsegs_return must notify of layout return It's not sufficient to just mark the layout segment for layout return. We also need to set the NFS_LAYOUT_RETURN_BEFORE_CLOSE flag in the layout header. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 547c890cfd26010e01b3faf98f29ca9b2252c8d8 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Thu Aug 27 14:53:06 2015 +0800 virtio-net: avoid unnecessary sg initialzation Usually an skb does not have up to MAX_SKB_FRAGS frags. So no need to initialize the unuse part of sg. This patch initialize the sg based on the real number it will used: - during xmit, it could be inferred from nr_frags and can_push. - for small receive buffer, it will also be 2. Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e0aa59728854837a7256e21644596f21a16ce0f Merge: d2d427b 66d4700 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 15:42:48 2015 -0700 Merge branch 'geneve-consolidation' Pravin B Shelar says: ==================== Geneve: Add support for tunnel metadata mode Following patches adds support for Geneve tunnel metadata mode. OVS can make use of Geneve net-device with tunnel metadata API from kernel. This also allows us to consolidate Geneve implementation from two kernel modules geneve_core and geneve to single geneve module. geneve_core module was targeted to share Geneve encap and decap code between Geneve netdevice and OVS Geneve tunnel implementation, Since OVS no longer needs these API, Geneve code can be consolidated into single geneve module. v3-v4: - Drop NETIF_F_NETNS_LOCAL feature. - Fix geneve device newlink check v2-v3: - make tunnel medata device and regular device mutually exclusive. - Fix Kconfig dependency for Geneve. - Fix dst-port netlink encoding. - drop changelink patch. v1-v2: - Replaced per hash table tunnel pointer (metadata enabled) with flag. - Added support for changelink. - Improve geneve device route lookup with more parameters. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66d47003f7c1034d66776ab869030f73f6c9ce81 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:55 2015 -0700 geneve: Move device hash table to geneve socket. This change simplifies Geneve Tunnel hash table management. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Reviewed-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 371bd1061d29562e6423435073623add8c475ee2 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:54 2015 -0700 geneve: Consolidate Geneve functionality in single module. geneve_core module handles send and receive functionality. This way OVS could use the Geneve API. Now with use of tunnel meatadata mode OVS can directly use Geneve netdevice. So there is no need for separate module for Geneve. Following patch consolidates Geneve protocol processing in single module. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b001e682e90d7edf21f93687f5c3b39d412ad6c Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:53 2015 -0700 openvswitch: Use Geneve device. With help of tunnel metadata mode OVS can directly use Geneve devices to implement Geneve tunnels. This patch removes all of the OVS specific Geneve code and make OVS use a Geneve net_device. Basic geneve vport is still there to handle compatibility with current userspace application. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e305ac6cf5a1e1386aedce7ef9cb773635d5845c Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:52 2015 -0700 geneve: Add support to collect tunnel metadata. Following patch create new tunnel flag which enable tunnel metadata collection on given device. These devices can be used by tunnel metadata based routing or by OVS. Geneve Consolidation patch get rid of collect_md_tun to simplify tunnel lookup further. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd7918b35f0ee0106bbe2ce4a14b5a8c9763deb8 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:51 2015 -0700 geneve: Make dst-port configurable. Add netlink interface to configure Geneve UDP port number. So that user can configure it for a Gevene device. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c29a70d2cadfea443c027d23481f820530b70057 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:50 2015 -0700 tunnel: introduce udp_tun_rx_dst() Introduce function udp_tun_rx_dst() to initialize tunnel dst on receive path. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 980c394c53e420f7e5484d011378a4bec861ec7a Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:49 2015 -0700 geneve: Use skb mark and protocol to lookup route. On packet transmit path geneve need to lookup route. Following patch improves route lookup using more parameters. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87cd3dcaf4bd135e44ee187baf788deeb011e58d Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Wed Aug 26 23:46:48 2015 -0700 geneve: Initialize ethernet address in device setup. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2d427b3927bd7a0348fc7f323d0e291f79a2779 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Thu Aug 27 15:32:26 2015 +0900 bridge: Add netlink support for vlan_protocol attribute This enables bridge vlan_protocol to be configured through netlink. When CONFIG_BRIDGE_VLAN_FILTERING is disabled, kernel behaves the same way as this feature is not implemented. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c9a6524b5fdf6cb57c9ff627b7f242a6a4e0b00 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Thu Aug 27 08:03:08 2015 +0300 bnx2x: Add new device ids under the Qlogic vendor This adds support for 3 new PCI device combinations - 1077:16a1, 1077:16a4 and 1077:16ad. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fae100cbd1049057bbc3e3180a6de339b9b73a9 Author: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Date: Fri Aug 14 21:43:38 2015 +0800 selftests: breakpoints: fix installing error on the architecture except x86 Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit a7d0f078892ee5e737cbe79541353c630bc71651 Author: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Date: Fri Aug 14 21:43:35 2015 +0800 selftests: check before install When the test cases is not supported by the current architecture the install files(TEST_PROGS, TEST_PROGS_EXTENDED and TEST_FILES) will be empty. Check it before installation to dismiss a failure reported by install program. Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit f21fb798fe38cf87b177d45820991f0e315c0ba8 Author: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Date: Tue Aug 18 12:31:59 2015 +0530 selftests/zram: Adding zram tests zram: Compressed RAM based block devices ---------------------------------------- The zram module creates RAM based block devices named /dev/zram<id> (<id> = 0, 1, ...). Pages written to these disks are compressed and stored in memory itself. These disks allow very fast I/O and compression provides good amounts of memory savings. Some of the usecases include /tmp storage, use as swap disks, various caches under /var and maybe many more :) Statistics for individual zram devices are exported through sysfs nodes at /sys/block/zram<id>/ This patch is to validate the zram functionality. Test interacts with block device /dev/zram<id> and sysfs nodes /sys/block/zram<id>/ zram.sh: sanity check of CONFIG_ZRAM and to run zram01 and zram02 tests zram01.sh: creates general purpose ram disks with different filesystems zram02.sh: creates block device for swap zram_lib.sh: create library with initialization/cleanup functions README: ZRAM introduction and Kconfig required. Makefile: To run zram tests zram test output ----------------- ./zram.sh -------------------- running zram tests -------------------- /dev/zram0 device file found: OK set max_comp_streams to zram device(s) /sys/block/zram0/max_comp_streams = '2' (1/1) zram max streams: OK test that we can set compression algorithm supported algs: [lzo] lz4 /sys/block/zram0/comp_algorithm = 'lzo' (1/1) zram set compression algorithm: OK set disk size to zram device(s) /sys/block/zram0/disksize = '2097152' (1/1) zram set disksizes: OK set memory limit to zram device(s) /sys/block/zram0/mem_limit = '2M' (1/1) zram set memory limit: OK make ext4 filesystem on /dev/zram0 zram mkfs.ext4: OK mount /dev/zram0 zram mount of zram device(s): OK fill zram0... zram0 can be filled with '1932' KB zram used 3M, zram disk sizes 2097152M zram compression ratio: 699050.66:1: OK zram cleanup zram01 : [PASS] /dev/zram0 device file found: OK set max_comp_streams to zram device(s) /sys/block/zram0/max_comp_streams = '2' (1/1) zram max streams: OK set disk size to zram device(s) /sys/block/zram0/disksize = '1048576' (1/1) zram set disksizes: OK set memory limit to zram device(s) /sys/block/zram0/mem_limit = '1M' (1/1) zram set memory limit: OK make swap with zram device(s) done with /dev/zram0 zram making zram mkswap and swapon: OK zram swapoff: OK zram cleanup zram02 : [PASS] CC: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> CC: Tyler Baker <tyler.baker@xxxxxxxxxx> CC: Milosz Wasilewski <milosz.wasilewski@xxxxxxxxxx> CC: Alexey Kodanev <alexey.kodanev@xxxxxxxxxx> Signed-off-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Signed-off-by: Alexey Kodanev <alexey.kodanev@xxxxxxxxxx> Reviewed-By: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 3f1d44ae640172482a8c0125efe9ca93331b056b Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Aug 27 11:13:36 2015 +0100 Documentation/Changes: Now need OpenSSL devel packages for module signing The module signing script (sign-file) used to be a wrapper around the openssl program. It has now been replaced by a C program that uses the crypto library from the OpenSSL package meaning that the OpenSSL devel packages are necessary to provide the devel library link and the header files. This would be openssl-devel on Fedora and libssl-dev on Debian. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 31cb5c9e69cedd4bdd7bb7b442582914ceae8c2b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Aug 26 20:27:05 2015 -0700 smsc911x: Ignore error return from device_get_phy_mode() Commit 62ee783bf1f8 ("smsc911x: Fix crash seen if neither ACPI nor OF is configured or used") introduces an error check for the return value from device_get_phy_mode() and bails out if there is an error. Unfortunately, there are configurations where no phy is configured. Those configurations now fail. To fix the problem, accept error returns from device_get_phy_mode(), and use the return value from device_property_read_u32() to determine if there is a suitable firmware interface to read the configuration. Fixes: 62ee783bf1f8 ("smsc911x: Fix crash seen if neither ACPI nor OF is configured or used") Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4fa7508e9f1c64ae39516e40ee5495aaa4616ad7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Aug 26 20:27:04 2015 -0700 device property: Return -ENXIO if there is no suitable FW interface Return -ENXIO if device property array access functions don't find a suitable firmware interface. This lets drivers decide if they should use available platform data instead. Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b3ae880266d148bf73a573a766bc9b78c08d805 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Aug 26 23:00:06 2015 +0200 net: sched: consolidate tc_classify{,_compat} For classifiers getting invoked via tc_classify(), we always need an extra function call into tc_classify_compat(), as both are being exported as symbols and tc_classify() itself doesn't do much except handling of reclassifications when tp->classify() returned with TC_ACT_RECLASSIFY. CBQ and ATM are the only qdiscs that directly call into tc_classify_compat(), all others use tc_classify(). When tc actions are being configured out in the kernel, tc_classify() effectively does nothing besides delegating. We could spare this layer and consolidate both functions. pktgen on single CPU constantly pushing skbs directly into the netif_receive_skb() path with a dummy classifier on ingress qdisc attached, improves slightly from 22.3Mpps to 23.1Mpps. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe2188236ad04618b25978c44d896c16613de9aa Merge: 0118e01 bf41846 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 14:06:09 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-08-26 This series contains updates to i40e and i40evf only. Anjali provides a fix for i40e where the part is not receiving multicast or VLAN tagged packets when in promiscuous mode. This can occur when a software bridge is created on top of the device. Fixed the legacy and MSI interrupt mode in the driver, which was non-existent before since we were assuming MSIX was the only mode that the driver ran in. Fixed the i40evf driver, where the wrong defines were getting used in the VF driver. Mitch fixes a sparse warning about comparing __le16 to u16 so use le16_to_cpu() to resolve the warning. Also fixed a dyslexic spelling of invalid. Shannon adds port.crc_errors to receive CRC error counter, since it is a receive counter. Catherine provides a fix to move the stopping of the service task and flow director to i40e_shutdown() instead of i40e_suspend(). Greg fixes the ethtool offline diagnostic with netqueues, which just need to be treated the same as virtual functions when someone wants to run the ethtool offline diagnostic test. Also fixed up code comments for the i40e ethtool diagnostic test function. Cleans up redundant and unneeded messages, since the kernel notifies all VXLAN capable registered drivers, so no need to log this. Neerav adds the ability to update statistics per VEB per traffic class and dump it via ethtool. Jingjing adds support for virtual channel offload to support receive polling mode in the VF driver. v2: dropped patch which added helper functions into a header, feedback from David Miller was to make the functions constant to reduce the driver footprint, so remove the patch while Anjali works on making the requested changes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce7b4ccc4f62775f4167495a06fbee0025f87175 Author: lucien <lucien.xin@xxxxxxxxx> Date: Thu Aug 27 16:26:34 2015 +0800 sctp: asconf's process should verify address parameter is in the beginning in sctp_process_asconf(), we get address parameter from the beginning of the addip params. but we never check if it's really there. if the addr param is not there, it still can pass sctp_verify_asconf(), then to be handled by sctp_process_asconf(), it will not be safe. so add a code in sctp_verify_asconf() to check the address parameter is in the beginning, or return false to send abort. note that this can also detect multiple address parameters, and reject it. Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <mleitner@xxxxxxxxxx> Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0118e01935cae83261f1c52f1c88c6514ef330f6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Aug 26 11:49:35 2015 -0700 smsc9194: Remove uncompilable #if 0'd use of pr_dbg No pr_dbg method exists. While this code is #if 0'd, it'd be nicer to use the generic hex_dump, so use it instead. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 763a32bd0fea2893d4b87f20f9f9c278d776fbf6 Merge: 21c721f 9b00eb4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 13:51:38 2015 -0700 Merge branch 'xgene-tso' Iyappan Subramanian says: ==================== drivers: net: xgene: Add TSO support Adding TSO support for 10GbE iperf Tx data rate without TSO: 3.42 Gbps with TSO: 9.41 Gbps v2: Address review comments from v1 - skb_linearize() if headers doesn't fit in 3 hardware buffers v1: * Initial version ==================== Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> commit 9b00eb494dc7c19ee69afef46e864f842cc1824f Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Wed Aug 26 11:48:06 2015 -0700 drivers: net: xgene: Adding support for TSO Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 949c40bb16bcf5f9584ce585f8a477481ab6aa80 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Wed Aug 26 11:48:05 2015 -0700 drivers: net: xgene: Preparatory patch for TSO support - Rearranged descriptor writes - Moved increment command write to xgene_enet_setup_tx_desc Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 152933244a1a3232b32d2e973754d03321a5b0c6 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Aug 27 21:09:04 2015 +0800 spi: mediatek: fix SPI_CMD_PAUSE_IE macro error enable pause interrupt should use SPI_CMD_PAUSE_IE MACRO, so fix it. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2002e90412df17ef7f714be62ed96a3c80b2f907 Merge: 02a9547 3b7ce99 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Aug 27 20:30:46 2015 +0100 Merge branch 'topic/ics43432' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-gtm601 commit d6aa1db3eac37cc92d67c3f66eab1b46d5bb9f7b Merge: 3b7ce99 02a9547 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Aug 27 20:29:18 2015 +0100 Merge branch 'topic/gtm601' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-ics43432 commit 054bc835d27b558393541c32a209c01d89cda75a Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Aug 27 17:04:01 2015 +0200 ASoC: bcm2835-i2s: Fix module autoload for OF platform drivers These platform drivers have a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f2988afedf2c19880a3c65d79dfc7939e1b53d8a Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Thu Aug 27 15:14:51 2015 +0800 ASoC: rt5645: Prevent the pop sound of the headphone while rebooting or shutdowning Add i2c shutdown function to prevent the pop sound of the headphone while the system is rebooting or shutdowning. It de-initials the jack detection function, and it cannot be turned off in _BIAS_OFF. If we don't de-initial it, the pop sound will be heard in the situation of powering off. And replace the related register settings from magic number to meaningful defined name. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ba30011577330b7e29ecb5916d89c6db9fbc5b3d Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Aug 12 10:58:22 2015 +0200 clk: s5pv210: add missing call to samsung_clk_of_add_provider() Commit d5e136a21b2028fb1f45143ea7112d5869bfc6c7 ("clk: samsung: Register clk provider only after registering its all clocks", merged to v3.17-rc1) modified a way that driver registers registers to core framework. This change has not been applied to s5pv210 clocks driver, which has been merged in parallel to that commit. This patch adds a missing call to samsung_clk_of_add_provider(), so the driver is operational again. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.17+ Acked-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 21c721fd0b991b1871ea5dd517be1b5375c5f8f7 Merge: 538e456 cae3a26 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 11:40:44 2015 -0700 Merge branch 'ovs-conntrack' Joe Stringer says: ==================== OVS conntrack support The goal of this series is to allow OVS to send packets through the Linux kernel connection tracker, and subsequently match on fields populated by conntrack. This functionality is enabled through a new CONFIG_OPENVSWITCH_CONNTRACK option. This version addresses the feedback from v5, primarily checking the behaviour is correct with different configurations such as disabling CONFIG_OPENVSWITCH_CONNTRACK or disabling individual conntrack features like connlabels. The branch below has been updated with the corresponding userspace pieces: https://github.com/joestringer/ovs dev/ct_20150818 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cae3a2627520c3795b54533c5328b77af3405dbe Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:53 2015 -0700 openvswitch: Allow attaching helpers to ct action Add support for using conntrack helpers to assist protocol detection. The new OVS_CT_ATTR_HELPER attribute of the CT action specifies a helper to be used for this connection. If no helper is specified, then helpers will be automatically applied as per the sysctl configuration of net.netfilter.nf_conntrack_helper. The helper may be specified as part of the conntrack action, eg: ct(helper=ftp). Initial packets for related connections should be committed to allow later packets for the flow to be considered established. Example ovs-ofctl flows allowing FTP connections from ports 1->2: in_port=1,tcp,action=ct(helper=ftp,commit),2 in_port=2,tcp,ct_state=-trk,action=ct(recirc) in_port=2,tcp,ct_state=+trk-new+est,action=1 in_port=2,tcp,ct_state=+trk+rel,action=1 Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2ac667358708d7cce64c78f58af6adf4c1e848b Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:52 2015 -0700 openvswitch: Allow matching on conntrack label Allow matching and setting the ct_label field. As with ct_mark, this is populated by executing the CT action. The label field may be modified by specifying a label and mask nested under the CT action. It is stored as metadata attached to the connection. Label modification occurs after lookup, and will only persist when the conntrack entry is committed by providing the COMMIT flag to the CT action. Labels are currently fixed to 128 bits in size. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86ca02e77408bb58ba596c1a411ec7f631733690 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:51 2015 -0700 netfilter: connlabels: Export setting connlabel length Add functions to change connlabel length into nf_conntrack_labels.c so they may be reused by other modules like OVS and nftables without needing to jump through xt_match_check() hoops. Suggested-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55e5713f2b5cefed98e3674017e994d688e47b85 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:50 2015 -0700 netfilter: Always export nf_connlabels_replace() The following patches will reuse this code from OVS. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 182e3042e15de759e81618d11fe4f62f5259d982 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:49 2015 -0700 openvswitch: Allow matching on conntrack mark Allow matching and setting the ct_mark field. As with ct_state and ct_zone, these fields are populated when the CT action is executed. To write to this field, a value and mask can be specified as a nested attribute under the CT action. This data is stored with the conntrack entry, and is executed after the lookup occurs for the CT action. The conntrack entry itself must be committed using the COMMIT flag in the CT action flags for this change to persist. Signed-off-by: Justin Pettit <jpettit@xxxxxxxxxx> Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f8a436eaa2c3ddd8e1ff2fbca267e6275085536 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:48 2015 -0700 openvswitch: Add conntrack action Expose the kernel connection tracker via OVS. Userspace components can make use of the CT action to populate the connection state (ct_state) field for a flow. This state can be subsequently matched. Exposed connection states are OVS_CS_F_*: - NEW (0x01) - Beginning of a new connection. - ESTABLISHED (0x02) - Part of an existing connection. - RELATED (0x04) - Related to an established connection. - INVALID (0x20) - Could not track the connection for this packet. - REPLY_DIR (0x40) - This packet is in the reply direction for the flow. - TRACKED (0x80) - This packet has been sent through conntrack. When the CT action is executed by itself, it will send the packet through the connection tracker and populate the ct_state field with one or more of the connection state flags above. The CT action will always set the TRACKED bit. When the COMMIT flag is passed to the conntrack action, this specifies that information about the connection should be stored. This allows subsequent packets for the same (or related) connections to be correlated with this connection. Sending subsequent packets for the connection through conntrack allows the connection tracker to consider the packets as ESTABLISHED, RELATED, and/or REPLY_DIR. The CT action may optionally take a zone to track the flow within. This allows connections with the same 5-tuple to be kept logically separate from connections in other zones. If the zone is specified, then the "ct_zone" match field will be subsequently populated with the zone id. IP fragments are handled by transparently assembling them as part of the CT action. The maximum received unit (MRU) size is tracked so that refragmentation can occur during output. IP frag handling contributed by Andy Zhou. Based on original design by Justin Pettit. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: Justin Pettit <jpettit@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e79e259588a414589a016edc428ee8dd308f81ad Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:47 2015 -0700 dst: Add __skb_dst_copy() variation This variation on skb_dst_copy() doesn't require two skbs. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b490047240f7b986228de968334ddd7a341e1fe Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:46 2015 -0700 ipv6: Export nf_ct_frag6_gather() Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be26b9a88fcee570796c67701f50800039e25aec Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:45 2015 -0700 openvswitch: Move MASKED* macros to datapath.h This will allow the ovs-conntrack code to reuse these macros. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e2fed1c0cfbb29995a4301060acc0ef4ee84420 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Wed Aug 26 11:31:44 2015 -0700 openvswitch: Serialize acts with original netlink len Previously, we used the kernel-internal netlink actions length to calculate the size of messages to serialize back to userspace. However,the sw_flow_actions may not be formatted exactly the same as the actions on the wire, so store the original actions length when de-serializing and re-use the original length when serializing. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 402bae597ec68b84498432f5a0069f28bfb807d6 Author: Toshi Kani <toshi.kani@xxxxxx> Date: Wed Aug 26 10:20:23 2015 -0600 nfit: Clarify memory device state flags strings ACPI 6.0 NFIT Memory Device State Flags in Table 5-129 defines NVDIMM status as follows. These bits indicate multiple info, such as failures, pending event, and capability. Bit [0] set to 1 to indicate that the previous SAVE to the Memory Device failed. Bit [1] set to 1 to indicate that the last RESTORE from the Memory Device failed. Bit [2] set to 1 to indicate that platform flush of data to Memory Device failed. As a result, the restored data content may be inconsistent even if SAVE and RESTORE do not indicate failure. Bit [3] set to 1 to indicate that the Memory Device is observed to be not armed prior to OSPM hand off. A Memory Device is considered armed if it is able to accept persistent writes. Bit [4] set to 1 to indicate that the Memory Device observed SMART and health events prior to OSPM handoff. /sys/bus/nd/devices/nmemX/nfit/flags shows this flags info. The output strings associated with the bits are "save", "restore", "smart", etc., which can be confusing as they may be interpreted as positive status, i.e. save succeeded. Change also the dev_info() message in acpi_nfit_register_dimms() to be consistent with the sysfs flags strings. Reported-by: Robert Elliott <elliott@xxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> [ross: rename 'not_arm' to 'not_armed'] Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> [djbw: defer adding bit5, HEALTH_ENABLED, for now] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 538e4563198cd3d1a8e74c47fee3e49dc93e4a95 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Aug 26 17:53:45 2015 +0200 bgmac: support up to 3 cores (devices) on a bus Broadcom buses may have more than 1 Ethernet device. This is used e.g. to have few interfaces connected to different switch ports. So far we saw chipsets with only 2 devices (e.g. BCM4706) but recent ones have up to 3 (e.g. Netgear R8000 uses 3rd interface for most of switch traffic, lower interfaces are for some kind of offloading). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fbe4307e9ffd9b9c9d4631a37c8f16080da8df85 Author: Bert Kenward <bkenward@xxxxxxxxxxxxxx> Date: Wed Aug 26 16:39:03 2015 +0100 sfc: only use vadaptor stats if firmware is capable Some of the stats handling code differs based on SR-IOV support, and SRIOV support is only available if full-featured firmware is used. Do not use vadaptor stats if firmware mode is not set to full-featured. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 395250e483d492e9ec5e36a6b78fb142affddee2 Merge: 1dd34b5 0ba3ac0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 27 11:25:56 2015 -0700 Merge tag 'wireless-drivers-next-for-davem-2015-08-26' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: iwlwifi: * new Tx power firmware API * bump max firmware API to 17 * fix bug in debug prints * static checker fix * fix unused defines * fix command list on newest firmware brcmfmac: * support NVRAM loading for bcm47xx platform * new debugfs entry for msgbuf protocol layer used with PCIe devices ath10k: * add spectral scan support for qca99x0 * add qca6164 support ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b195360914583899070835a08ceb06ac7b848d6 Author: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Date: Wed Aug 26 17:58:47 2015 +0300 net: phy: fixed: propagate fixed link values to struct The fixed link values parsed from the device tree are stored in the struct fixed_phy member status. The struct phy_device members speed, duplex were not updated. Signed-off-by: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed29266347025a19ee689807b07d121f0a7441f1 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Tue Aug 4 23:31:44 2015 +0800 batman-adv: turn batadv_neigh_node_get() into local function commit c214ebe1eb29 ("batman-adv: move neigh_node list add into batadv_neigh_node_new()") removed external calls to batadv_neigh_node_get(). Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 7bca68c7844b1642868809a5ef4387c1f099ab1d Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Fri Aug 7 19:28:42 2015 +0200 batman-adv: Add lower layer needed_(head|tail)room to own ones The maximum of hard_header_len and maximum of all needed_(head|tail)room of all slave interfaces of a batman-adv device must be used to define the batman-adv device needed_(head|tail)room. This is required to avoid too small buffer problems when these slave devices try to send the encapsulated packet in a tx path without the possibility to resize the skbuff. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit a5256f7e74d85d7ae60ac3bd557d5fe3444be810 Author: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> Date: Tue Aug 4 22:26:19 2015 +0200 batman-adv: don't access unregistered net_device object In batadv_hardif_disable_interface() there is a call to batadv_softif_destroy_sysfs() which in turns invokes unregister_netdevice() on the soft_iface. After this point we cannot rely on the soft_iface object anymore because it might get free'd by the netdev periodic routine at any time. For this reason the netdev_upper_dev_unlink(.., soft_iface) call is moved before the invocation of batadv_softif_destroy_sysfs() so that we can be sure that the soft_iface object is still valid. Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> commit 07c48eca1661decbd52393ef535f0c97e5313c4e Author: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 14:43:16 2015 +0200 batman-adv: Start new development cycle Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 1e3b4669e79253748073b0ee95270f92f0372b20 Author: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 15:44:06 2015 +0200 batman-adv: fix gateway client style issues commit 0511575c4d03 ("batman-adv: remove obsolete deleted attribute for gateway node") incorrectly added an empy line and forgot to remove an include. Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 3f32f8a6874ae2515c8894588a5c60dd65ecc7e5 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Sun Jul 26 04:59:15 2015 +0800 batman-adv: rearrange batadv_neigh_node_new() arguments to follow convention Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Acked-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit bd3524c14bd02f94a4fa33e700883e01182f5ed5 Author: Simon Wunderlich <simon@xxxxxxxxxxxxx> Date: Mon Aug 3 19:13:58 2015 +0200 batman-adv: remove obsolete deleted attribute for gateway node With rcu, the gateway node deleted attribute is not needed anymore. In fact, it may delay the free of the gateway node and its referenced structures. Therefore remove it altogether and simplify purging as well. Signed-off-by: Simon Wunderlich <simon@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 741aa06bfb0ab731086d258a1838152fe2502b5f Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Sun Jul 26 04:57:43 2015 +0800 batman-adv: move neigh_node list add into batadv_neigh_node_new() All batadv_neigh_node_* functions expect the neigh_node list item to be part of the orig_node->neigh_list, therefore the constructor of said list item should be adding the newly created neigh_node to the respective list. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Acked-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 39bf7618f038474a0ccbeb0be173f11e147bd083 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Sun Jul 26 04:37:47 2015 +0800 batman-adv: remove redundant hard_iface assignment The batadv_neigh_node_new() function already sets the hard_iface pointer. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Acked-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit f729dc70dafec281e524f51ae496a72ea4f8e319 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Sun Jul 26 04:37:15 2015 +0800 batman-adv: move hardif refcount inc to batadv_neigh_node_new() The batadv_neigh_node cleanup function 'batadv_neigh_node_free_rcu()' takes care of reducing the hardif refcounter, hence it's only logical to assume the creating function of that same object 'batadv_neigh_node_new()' takes care of increasing the same refcounter. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Acked-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 95803812cfb3ece8ee1bb3747611ead48300fca2 Merge: f9ed72d 126c69a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 11:12:41 2015 -0700 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull amr64 kvm fix from Will Deacon: "We've uncovered a nasty bug in the arm64 KVM code which allows a badly behaved 32-bit guest to bring down the host. The fix is simple (it's what I believe we call a "brown paper bag" bug) and I don't think it makes sense to sit on this, particularly as Russell ended up triggering this rather than just somebody noticing a potential problem by inspection. Usually arm64 KVM changes would go via Paolo's tree, but he's on holiday at the moment and the deal is that anything urgent gets shuffled via the arch trees, so here it is. Summary: Fix arm64 KVM issue when injecting an abort into a 32-bit guest, which would lead to an illegal exception return at EL2 and a subsequent host crash" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: KVM: Fix host crash when injecting a fault into a 32bit guest commit c75683ca13d12a700531864bcd3118e94bc9eaa0 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:06 2015 +0530 mpt3sas : Bump mpt3sas driver version to 9.100.00.00 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit df838f92f3f5240dca54e1629e8547818e8ea646 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:05 2015 +0530 mpt3sas: When device is blocked followed by unblock fails, unfreeze the I/Os Issue: When the disks are getting discovered and assigned device handles by the kernel, a device block followed by an unblock (due to broadcast primitives) issued by the driver is interspersed by the kernel changing the state of the device. Therefore the unblock by the driver results in a no operation within the kernel API. To fix this one, the below patch checks the return of the unblock API and performs a block followed by an unblock to unfreeze the block layer's I/O queue. Sufficient checks and prints are also added in the driver to identify this condition caused by the kernel. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 36814028ad720165a6febcf9ddd7de20833fd240 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:04 2015 +0530 mpt3sas: Call dma_mapping_error() API after mapping an address with dma_map_single() API Added dma_mapping_error() API after mapping an address with dma_map_single() API. Otherwise when CONFIG_DMA_API_DEBUG is enabled in the kernel, then it complains about mpt3sas driver not calling dma_mapping_error after mapping an address with dma_map_single Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit bdff785e4f593218816fa3677e043aae1481aa98 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:03 2015 +0530 mpt3sas: Use alloc_ordered_workqueue() API instead of create_singlethread_workqueue() API Created a thread using alloc_ordered_workqueue() API in order to process the works from firmware Work-queue sequentially instead of create_singlethread_workqueue() API. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d8eb4a47c70b4bab34b938d2f682044687f53c64 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:02 2015 +0530 mpt3sas: Added support for customer specific branding "VendorID" "DeviceID" "SubsystemVendor ID" "SubsystemDevice ID" Cisco Branding String 0x1000 0x97 0x1137 0x154 Cisco 9300-8i 12Gbps SAS HBA 0x1000 0x97 0x1137 0x155 Cisco 12G Modular SAS Pass through Controller 0x1000 0x97 0x1137 0x156 UCS C3X60 12G SAS Pass through Controller Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 62f5c74c97037c7c00fdefb69dcfe39810c34a05 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:01 2015 +0530 mpt3sas: Return host busy error status to SML when DMA mapping of scatter gather list fails for a SCSI command scsi_dma_map API will return a negative value (i.e. -ENOMEM) if DMA mapping of sg lists fails and zero if the sg list in the SCSI cmd is NULL. But drivers doesn't handled sg list DMA mapping failure case properly. So, Updated the code to return host busy error status to SCSI MID Layer(SML), when DMA mapping of scatter gather list fails for a SCSI command. So that SML will retry this SCSI cmd after some time. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3898f08e8ccfc8b7b4c297960ecdde970869e950 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:25:00 2015 +0530 mpt3sas: Complete the SCSI command with DID_RESET status for log_info value 0x0x32010081 For any SCSI command, if the driver receives IOC status = SCSI_IOC_TERMINATED and log info = 0x32010081 then that command will be completed with DID_RESET host status. The definition of this log info value is "Virtual IO has failed and has to be retried". Firmware will provide this log info value with IOC Status "SCSI_IOC_TERMINATED", whenever a drive (with is a part of a volume) is pulled and pushed back within some minimal delay. With this log info value, firmware informs the driver to retry the failed IO command infinite times, so to provide some time for the firmware to discover the reinserted drive successfully instated of just retrying failed command for five times(doesn't giving enough time for firmware to complete the drive discovery) and failing the IO permanently even though drive came back successfully. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a6f84009b9d7ca97c400ca929f9d58f43b0ece9d Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:59 2015 +0530 mpt3sas: MPI 2.5 Rev K (2.5.6) specifications Below are the new changes to MPI 2.5 Rev K(2.5.6) specification and 2.00.35 header files 1) Added a minimum size requirement for target mode command buffers. 2) Added MinMSIxIndex and MaxMSIxIndex fields to CommandBufferPostBase Request. 3) For BIOS Page 1, added SSUTimeout field, and added Product Name String Format bits to the BiosOptions field Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2b89669ae4addfa68a58e0fc16afdd24739720d8 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:58 2015 +0530 mpt3sas: Bump mpt3sas driver version to v6.100.00.00 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 38e4141ecb0e59c93d85ec5948f98d1f1e331a88 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:57 2015 +0530 mpt3sas: Add branding string support for OEM custom HBA Add the following OEM's branding to the mpt3sas driver. "VendorID" "DeviceID" "SubsystemVendor ID" "SubsystemDevice ID" Cisco Branding String 0x1000 0x97 SVID = 0x1137 0x014C Cisco 9300-8E 12G SAS HBA Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fb84dfc44718ef4099a827d147f738e428828d02 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:56 2015 +0530 mpt3sas: Add branding string support for OEM's HBA Added the following Dell branding to the mpt3sas driver. "VendorID" "DeviceID" "SubsystemVendor ID" "SubsystemDevice ID" Dell Branding String 0x1000 0x0097 0x1028 0x1F46 DELL 12Gbps HBA Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 35c319b47884e49d9d0a84779097916ccb173947 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:55 2015 +0530 mpt3sas: MPI 2.5 Rev J (2.5.5) specification and 2.00.34 header files Following is the change set, 1. Added more defines for the BiosOptions field of MPI2_CONFIG_PAGE_BIOS_1. 2. Added MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC definition. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2e26c3853206ba166c3434e5f2ca4c82078ad84e Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:54 2015 +0530 mpt3sas: Update MPI2 strings to MPI2.5 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f9d81cfc23151eb6e9e498663c9784c351646d0e Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:53 2015 +0530 mpt3sas: Bump mpt3sas Driver version to v5.100.00.00 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e6d45e3e7e6582fa206ef84631639ce70d50e5c5 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:52 2015 +0530 mpt3sas: Provides the physical location of sas drives This Patch will provide more details of the devices such as slot number, enclosure logical id, enclosure level & connector name in the following scenarios, - When end device is added in the topology, - When the end device is removed from the setup, - When the SCSI mid layer issues TASK ABORT/ DEVICE RESET/ TARGET RESET during error handling, - When any command to the device fails with Sense key Hardware error or Medium error or Unit Attention, - When firmware returns device error or device not ready status for the end device, - When a Predicted fault is detected on an end device. This information can be used by the user to identify the location of the desired drive in the topology. Driver will get these information by reading the sas device page0. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a94bea343c2f747c62ef66b52d2430e6aeb75434 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:51 2015 +0530 mpt3sas: MPI 2.5 Rev I (2.5.4) specifications. Update MPI 2.5 Release: MPI 2.5 Rev I (2.5.4) specification and 2.00.33 header files Below is the change set from the MPI specification for I Rev 1) Added Base Enclosure Level bit to the Flags field of Manufacturing Page 7. 2) Updated description of the MaxTargetPortConnectTime field of SAS IO Unit Page 1. 3) Added EnclosureLevel and ConnectorName fields to SAS Device Page 0. Also, added EnclosureLevel and ConnectorName Valid bit to the Flags field. 4) Added EnclosureLevel field to SAS Enclosure Page 0. Also, added EnclosureLevel Valid bit to the Flags field. 5) Added value for BIOS image to HashImageType. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 580d4e3153f0d7a9a9235b675b0b7b13e2185a8b Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:50 2015 +0530 mpt3sas: Remove redundancy code while freeing the controller resources. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e4bc7f5c21a18cab9acd30940df0ee791fcd7b9e Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:49 2015 +0530 mpt3sas: Don't block the drive when drive addition under the control of SML During hot-plugging of a disk(having a flaky link), the disk addition stops and any further disk addition or removal doesn't happen on that controller. This is because, when driver receives DELAY_NOT_RESPONDING event for a disk while it is undergoing addition at the SCSI Transport layer, the driver would block the I/O to that disk resulting in a deadlock. i.e the disk addition work couldn't be completed at the SCSI Transport Layer as it can't send any I/Os (such as Inquiry, Report LUNs etc) to the disk as I/Os are blocked to this drive. Also any subsequent device removal (TARGET_NOT_RESPONDING) or link update(RC_PHY_CHANGED) event couldn't be processed as they are in the queue to get processed after disk addition event. Description of Change: Don't block the drive when drive addition is under the control of SML. So that SML won't be blocked of issuing the device dicovery commands (such as Inquiry, Report LUNs etc). Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4dc8c8087f0304ff8d06f862520406b11aac4a66 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:48 2015 +0530 mpt3sas: Get IOC_FACTS information using handshake protocol only after HBA card gets into READY or Operational state. Driver initialization fails if driver tries to send IOC facts request message when the IOC is in reset or in a fault state. This patch will make sure that 1.Driver to send IOC facts request message only if HBA is in operational or ready state. 2.If IOC is in fault state, a diagnostic reset would be issued. 3.If IOC is in reset state then driver will wait for 10 seconds to exit out of reset state. If the HBA continues to be in reset state, then the HBA wouldn't be claimed by the driver. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fb77bb5376a55f4e6c8d9243249e82831a276ee5 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Tue Jun 30 12:24:47 2015 +0530 mpt3sas: Added Combined Reply Queue feature to extend up-to 96 MSIX vector support In this patch, increased the number of MSIX vector support for SAS3 C0 HBAs to up-to 96. Following are changes that are done in this patch 1. This feature is enabled only for SAS3 C0 and higher revision cards and also only when reply post free queue count is greater than 8. 2. To support this feature 12 SupplementalReplyPostHostIndex system interfaces are used. MSI-X index numbered from 0 to 7 use the first SupplementalReplyPostHostIndex system interface to update its corresponding ReplyPostHostIndex values, MSI-X index numbered from 8 to 15 will use the second SupplementalReplyPostHostIndex system interface and so on. These 12 SuppementalReplyPostHostIndex system interfaces address are saved in the array replyPostRegisterIndex[]. 3. As each SupplementalReplyPostHostIndex register supports 8 MSI-X vectors. So MSIxIndex field in these register must contain a value between 0 and 7. 4. After processing the reply descriptors from a reply post free queues then update the new reply post host index value in ReplyPostHostIndex field and (msix_index mod 8) value in MSIxIndex field of SupplementalReplyPostHostIndex register. The Address of this SupplementalReplyPostHostIndex register is retrived from (msix_index/8)th entry of replyPostRegisterIndex[] array. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b00855aecbb166428c67b26e1bfeb675463a0212 Author: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Date: Thu Aug 27 21:30:55 2015 +0530 ACPI / LPSS: Ignore 10ms delay for Braswell LPSS devices in Braswell does not need the default 10ms d3_delay imposed by PCI specification. Removing this unnecessary delay significantly reduces the resume time approximately upto 200ms on this platform. Signed-off-by: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3b7ce99748f0d006f9d1aa85709872e7b46787f7 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Thu Aug 27 11:35:20 2015 +0200 ASoC: ics43432: Add codec driver for InvenSense ICS-43432 Add support for the InvenSense ICS-43432 I2S MEMS microphone. This is a non-software-configurable MEMS microphone with I2S output. Tested on a setup with a single ICS-43432 (the device itself supports stereo operation using a hardware pin controlling left vs. right channel output). Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8d03bc56cc27ddd93f70a630686ef06289787c78 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Wed Aug 26 13:09:28 2015 -0400 tile: correct some typos in opcode type names These particular opcode names are not used in the kernel directly, so updating them just has the effect of making downstream consumers more likely to end up using better names; this was reported from the qemu community. Reported-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 126c69a0bd0e441bf6766a5d9bf20de011be9f68 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Aug 27 16:10:01 2015 +0100 arm64: KVM: Fix host crash when injecting a fault into a 32bit guest When injecting a fault into a misbehaving 32bit guest, it seems rather idiotic to also inject a 64bit fault that is only going to corrupt the guest state. This leads to a situation where we perform an illegal exception return at EL2 causing the host to crash instead of killing the guest. Just fix the stupid bug that has been there from day 1. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Tested-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 01f779f4862b53810ba4eb247f57bd1ad31d1c18 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Aug 26 17:00:45 2015 +0100 irqchip/GIC: Don't deactivate interrupts forwarded to a guest Commit 0a4377de3056 ("genirq: Introduce irq_set_vcpu_affinity() to target an interrupt to a VCPU") added just what we needed at the lowest level to allow an interrupt to be deactivated by a guest. When such a request reaches the GIC, it knows it doesn't need to perform the deactivation anymore, and can safely leave the guest do its magic. This of course requires additional support in both VFIO and KVM. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440604845-28229-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0b996fd35957a30568cddbce05b917c1897966e0 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Aug 26 17:00:44 2015 +0100 irqchip/GIC: Convert to EOImode == 1 So far, GICv2 has been used with EOImode == 0. The effect of this mode is to perform the priority drop and the deactivation of the interrupt at the same time. While this works perfectly for Linux (we only have a single priority), it causes issues when an interrupt is forwarded to a guest, and when we want the guest to perform the EOI itself. For this case, the GIC architecture provides EOImode == 1, where: - A write to the EOI register drops the priority of the interrupt and leaves it active. Other interrupts at the same priority level can now be taken, but the active interrupt cannot be taken again - A write to the DIR marks the interrupt as inactive, meaning it can now be taken again. We only enable this feature when booted in HYP mode and that the device-tree reported a suitable CPU interface. Observable behaviour should remain unchanged. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440604845-28229-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 530bf353e4eb06bcba5078390c949650cd26a7c7 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Aug 26 17:00:43 2015 +0100 irqchip/GICv3: Don't deactivate interrupts forwarded to a guest Commit 0a4377de3056 ("genirq: Introduce irq_set_vcpu_affinity() to target an interrupt to a VCPU") added just what we needed at the lowest level to allow an interrupt to be deactivated by a guest. When such a request reaches the GIC, it knows it doesn't need to perform the deactivation anymore, and can safely leave the guest do its magic. This of course requires additional support in both VFIO and KVM. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440604845-28229-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0b6a3da9617a08e13afc09cb7e148470ed0eb280 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Aug 26 17:00:42 2015 +0100 irqchip/GICv3: Convert to EOImode == 1 So far, GICv3 has been used in with EOImode == 0. The effect of this mode is to perform the priority drop and the deactivation of the interrupt at the same time. While this works perfectly for Linux (we only have a single priority), it causes issues when an interrupt is forwarded to a guest, and when we want the guest to perform the EOI itself. For this case, the GIC architecture provides EOImode == 1, where: - A write to ICC_EOIR1_EL1 drops the priority of the interrupt and leaves it active. Other interrupts at the same priority level can now be taken, but the active interrupt cannot be taken again - A write to ICC_DIR_EL1 marks the interrupt as inactive, meaning it can now be taken again. This patch converts the driver to be able to use this new mode, depending on whether or not the kernel can behave as a hypervisor. No feature change. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440604845-28229-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1ed32160dba643e61504b334f45b002198c88254 Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 16:07:38 2015 +0800 hwmon: (fam15h_power) Add ratio of Tsample to the PTSC period This patch adds a member (cpu_pwr_sample_ratio) of fam15h_power_data, that represents the ratio of compute unit power accumulator sample period to the PTSC counter period. Tsample: compute unit power accumulator sample period Tref: the performance timestamp counter period PTSC: performance timestamp counter Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 5aeb5d205e122b70742df94a7d51a3502f1a8277 Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 16:07:37 2015 +0800 hwmon: (fam15h_power) Add documentation for new processors support This patch updates description of fam15h_power driver, its scope is extended to family 16h processsors. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e9cd4d55d16f880ddf436fbae8c0c82ce0a928d5 Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 16:07:35 2015 +0800 hwmon: (fam15h_power) Update running_avg_capture bit field to 28 On Carrizo and later platforms, running_avg_capture bit field is extended to 4:31 (28 bits) from 4:25. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit b3a5bbfd780d9e9291f5f257be06e9ad6db11657 Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Thu Aug 27 09:34:47 2015 -0500 dlm: print error from kernel_sendpage Print a dlm-specific error when a socket error occurs when sending a dlm message. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit d83e92b3af602c6ebb6d25d5232ecba73201a0e5 Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 16:07:33 2015 +0800 hwmon: (fam15h_power) Rename fam15h_power_is_internal_node0 function We rename fam15h_power_is_internal_node0() function to should_load_on_this_node(), because it may not be node0 from KV and on, and they are single-node processors. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 5dc087254acf12bf6908a924539fb624891e8b24 Author: Huang Rui <ray.huang@xxxxxxx> Date: Thu Aug 27 16:07:32 2015 +0800 hwmon: (fam15h_power) Add support for AMD Carrizo AMD Carrizo(Fam15h, M60h) processors can report power1_crit (ProcessorPwrWatts) and power1_input (CurrPwrWatts) values. And this patch adds support for CZ. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 987e05c9c3fbffba81104b8ae9a0dde9c73758e9 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:07 2015 +0530 mmc: host: omap_hsmmc: remove CONFIG_REGULATOR check Now that support for platforms which have optional regulator is added, remove CONFIG_REGULATOR check in omap_hsmmc. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1d17f30bd87bf4857478b2a68dadf0096ca1cb40 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:06 2015 +0530 mmc: host: omap_hsmmc: use ios->vdd for setting vmmc voltage vdd voltage is set in mmc core to ios->vdd and vmmc should actually be set to this voltage. Modify omap_hsmmc_enable_supply to not take vdd as argument since now it's directly set to the voltage in ios->vdd. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c55d7a0553643a7e8f120688b82b594471084d3c Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:05 2015 +0530 mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias status Use regulator_is_enabled of pbias regulator to find pbias regulator status instead of maintaining a custom bookkeeping pbias_enabled variable. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3f77f702389b7fbc955ec95721ce3861e40697fc Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:04 2015 +0530 mmc: host: omap_hsmmc: enable/disable vmmc_aux regulator based on previous state enable vmmc_aux regulator only if it is in disabled state and disable vmmc_aux regulator only if it is in enabled state. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c8518efa6de999bcbd638702c2a2d72fe83431e4 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:03 2015 +0530 mmc: host: omap_hsmmc: don't use ->set_power to set initial regulator state If the regulator is enabled on boot (checked using regulator_is_enabled), invoke regulator_enable() so that the usecount reflects the correct state of the regulator and then disable the regulator so that the initial state of the regulator is disabled. Avoid using ->set_power, since set_power also takes care of setting the voltages which is not needed at this point. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 97fe7e5ab6318ea5716f86be3b4ca8776a9e609c Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:02 2015 +0530 mmc: host: omap_hsmmc: avoid pbias regulator enable on power off Fix omap_hsmmc_set_power so that pbias regulator is not enabled during power off. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ec85c95e8ce5df18608ee9aa6a2626d903f548af Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:01 2015 +0530 mmc: host: omap_hsmmc: add separate function to set pbias No functional change. Cleanup omap_hsmmc_set_power by adding separate functions to set pbias and invoke it from omap_hsmmc_set_power. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2a17f84442e22cd1522400fcc0356c4a36b38361 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:44:00 2015 +0530 mmc: host: omap_hsmmc: add separate functions for enable/disable supply No functional change. Cleanup omap_hsmmc_set_power by adding separate functions for enable/disable supply and invoke it from omap_hsmmc_set_power. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 229f329265d6d2a738fc861b7b9b6144980580f6 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:59 2015 +0530 mmc: host: omap_hsmmc: return error if any of the regulator APIs fail Return error if any of the regulator APIs (regulator_enable, regulator_disable, regulator_set_voltage) fails in omap_hsmmc_set_power to avoid undefined behavior. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ef62b8bc2c740a7f72525a4797aa45056c833e3d Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:58 2015 +0530 mmc: host: omap_hsmmc: remove unnecessary pbias set_voltage Remove the unnecessary pbias regulator_set_voltage done after pbias regulator_disable in omap_hsmmc_set_power. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit aa9a68014bb6c6e1052d79561815885b797d15ea Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:57 2015 +0530 mmc: host: omap_hsmmc: use mmc_host's vmmc and vqmmc No functional change. Instead of using omap_hsmmc_host's vcc and vcc_aux members, use vmmc and vqmmc present in mmc_host which is present for the same purpose. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b49069fc0b96de5dd508ccba0a1417e524734712 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:56 2015 +0530 mmc: host: omap_hsmmc: use the ocrmask provided by the vmmc regulator If the vmmc regulator provides a valid ocrmask, use it. By this even if the pdata has a valid ocrmask, it will be overwritten with the ocrmask of the vmmc regulator. Also remove the unnecessary compatibility check between the ocrmask in the pdata and the ocrmask from the vmmc regulator. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c299dc39883ca5596905507cc945332fa4bae8bd Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:55 2015 +0530 mmc: host: omap_hsmmc: cleanup omap_hsmmc_reg_get() No functional change. Instead of using a local regulator variable in omap_hsmmc_reg_get() for holding the return value of devm_regulator_get_optional() and then assigning to omap_hsmmc_host regulator members: vcc, vcc_aux and pbias, directly use the omap_hsmmc_host regulator members. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6a9b2ff07d0415ad19fb07b9a141863fb86c3497 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:54 2015 +0530 mmc: host: omap_hsmmc: return on fatal errors from omap_hsmmc_reg_get Now return error only if the return value of devm_regulator_get_optional() is not the same as -ENODEV, since with -EPROBE_DEFER, the regulator can be obtained later and all other errors are fatal. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7d607f917008218564ae44ca3ef47076a9b36e8f Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Aug 27 14:43:53 2015 +0530 mmc: host: omap_hsmmc: use devm_regulator_get_optional() for vmmc Since vmmc can be optional for some platforms, use devm_regulator_get_optional() for vmmc. Now return error only if the return value of devm_regulator_get_optional() is not the same as -ENODEV, since with -EPROBE_DEFER, the regulator can be obtained later and all other errors are fatal. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5f2b3eab3fade514f9647e88356d29c7795ed7ef Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Aug 25 16:13:29 2015 +0200 mmc: sdhci-of-at91: fix platform_no_drv_owner.cocci warnings Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: ludovic.desroches@xxxxxxxxx <ludovic.desroches@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5afc30fc666165c1c37c246e08b4282bc8c31d98 Author: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Date: Sun Aug 23 21:58:08 2015 +0900 mmc: sh_mmcif: Fix suspend process The clock should be enable when SDHI registers are accessed. Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3b1cac4d9f915758d0d755f11bb8fd4373cf653b Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Aug 23 02:11:17 2015 +0200 mmc: usdhi6rol0: fix error return code Propagate error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 38276a912c9bb6dc48e21dc23a92b6286ca00962 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Aug 23 02:11:12 2015 +0200 mmc: omap: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3fe95db19be6a98bcb45d2780c6a90d1e96bfcc9 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Wed Aug 19 15:41:36 2015 +0200 mmc: usdhi6rol0: fix ack register write The intent appears to be to clear only the bits which are set in status (by setting them to zero in the ack write), like in the other interrupt handlers, and not to always clear everything (by always writing zero). Use the correct not operator. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bb08a7d489bd22a9b6e489f8c8449b0bc92594d0 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Wed Aug 19 15:41:35 2015 +0200 mmc: usdhi6rol0: fix NULL pointer deref in debug print host->sg is only set when we're transferring multiple blocks. Check for its availibility before dereferencing it in the timeout work debug print. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 767264725d6c0c8e2a42f14ded88c8f05fec5863 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Wed Aug 19 15:41:34 2015 +0200 mmc: usdhi6rol0: handle probe deferral for regulator We ignore errors from mmc_regulator_get_supply() because the usage of the regulators is optional for the driver, but we still need to check for and handle EPROBE_DEFER, like it's done in for example dw_mmc. Otherwise we might end up not using the specified regulators just because of probe order. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit da795ec26e2542f1e306598a1d7a31c0762f2bd7 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Tue Aug 11 15:57:05 2015 +0800 mmc: sdhci-of-arasan: Add the support for sdhci-5.1 This patch adds the compatible string in sdhci-of-arasan.c to support sdhci-arasan5.1 version of controller. No documented controller IP version is found in the TRM, so we use ths version of command queueing engine integrated into this controller by arasan to specify our controller. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0dafa60eb2506617e6968b97cc5a44914a7fb1a6 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Aug 18 16:21:39 2015 +0800 mmc: sdhci: also get preset value and driver type for MMC_DDR52 commit bb8175a8aa42 ("mmc: sdhci: clarify DDR timing mode between SD-UHS and eMMC") added MMC_DDR52 as eMMC's DDR mode to be distinguished from SD-UHS, but it missed setting driver type for MMC_DDR52 timing mode. So sometimes we get the following error on Marvell BG2Q DMP board: [ 1.559598] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00 [ 1.569314] mmcblk0: retrying using single block read [ 1.575676] mmcblk0: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0 [ 1.585202] blk_update_request: I/O error, dev mmcblk0, sector 2 [ 1.591818] mmcblk0: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0 [ 1.601341] blk_update_request: I/O error, dev mmcblk0, sector 3 This patches fixes this by adding the missing driver type setting. Fixes: bb8175a8aa42 ("mmc: sdhci: clarify DDR timing mode ...") Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f912632b6086d4464af2443dee0c6f4055cf5159 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:26:48 2015 +0200 mmc: atmel-mci: remove useless include Definitions from linux/platform_data/atmel.h are not used, remove the include. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7bb9c244356d2d45ac03cf65e55b035c5954d7de Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Wed Aug 12 15:29:31 2015 +0200 mmc: sunxi: fix timeout in sunxi_mmc_oclk_onoff The 250ms timeout is too short. On my system enabling the oclk takes under 50ms and disabling slightly over 100ms when idle. Under load disabling the clock can take over 350ms. This does not make mmc clock gating look like good option to have on sunxi but the system should not crash with mmc clock gating enabled nonetheless. This patch sets the timeout to 750ms. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1880d8f6fbb01a16404dee7167621dc09b5f1d35 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Wed Aug 12 06:59:33 2015 +0000 mmc: sdhci-sirf: corrent quirk according to real chips the current quirk set is for an old FPGA, and this patch corrects quirks according to real SoC. Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b5b4ff0a633910b2b9dca7915fd6ab17aa10dc3e Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Aug 12 13:08:32 2015 +0800 mmc: block: skip trim for some kingston eMMCs For some mass production of kingston eMMCs which adopt Phison's firmware will meet an unrecoverable data conrruption occasionally if performing trim due to a firmware bug confirmed by vendor. We found it on Intel-C3230RK platform. So we add fixup of broken trim for it. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e31e67cf2578bd05e99afabb22403542306d6bed Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:31 2015 +0800 mmc: sdhci-esdhc-imx: change default watermark level and burst length By default, for all imx SoC types, the watermark level is 16, and the burst length is 8. But if the SDIO/SD/MMC I/O speed is fast enough, this default watermark level and burst length will be the performance bottleneck. For example, i.MX7D support eMMC HS400 mode, this mode can run in 8 bit, 200MHZ DDR mode. So the I/O speed improve a lot compare to SD3.0. The default burst length is 8, if we don't change this value, in HS400 mode, when we do eMMC read operation, we can find that the clock signal will stop for a period of time. This means the speed of data moving on AHB bus is slower than I/O speed. So we should improve the speed of data moving on AHB bus. This patch set the default burst length as 16, and set the default watermark level as 64. The test result is the clock signal has no stop during the eMMC HS400 operation. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fd44954e77b436673eb5221e5485a32ea6550128 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:30 2015 +0800 mmc: sdhci-esdhc-imx: set back the burst_length_enable bit to 1 Currently we find that if a usdhc is choosed to boot system, then ROM code will set the burst length enable bit of this usdhc as 0. This will make performance drop a lot if this usdhc's burst length is configed. So this patch set back the burst_length_enable bit as 1, which is the default value, and means burst length is enabled for INCR. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d407e30ba614b1542c8ac032f8fb2332b8071efe Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:27 2015 +0800 mmc: sdhci-esdhc-imx: add tuning-step setting support tuning-step is the delay cell steps in tuning procedure. The default value of tuning-step is 1. Some boards or cards need another value to pass the tuning procedure. For example, imx7d-sdb board need the tuning-step value as 2, otherwise it can't pass the tuning procedure. So this patch add the tuning-step setting in driver, so that user can set the tuning-step value in dts. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 28b07674f287092f3b63a7d5e5c7e68bdeed0247 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:26 2015 +0800 mmc: sdhci-esdhc-imx: add imx7d support and support HS400 The imx7d usdhc is derived from imx6sx, the difference is that imx7d support HS400. So introduce a new compatible string for imx7d and add HS400 support for imx7d usdhc. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2a2a7ea7c0126d388c14c28927cdba429b4858dd Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:28 2015 +0800 mmc: sdhci-esdhc-imx: Document new DT bindings for imx7d support Add a required property "fsl,imx7d-usdhc" in binding doc. Add an optional property "fsl,tuning-step" in binding doc. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 77bd2f6f6c65b4ad259394d416855ed561f21e8f Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Tue Aug 11 10:53:34 2015 +0800 mmc: sdhci-of-esdhc: add workaround for pre divider initial value For eSDHC(version < 2.3), the pre divider only could divide base clock by 2 at least. Add workaround for this to avoid unexpected issue. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Acked-by: Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx> Fixes: bd455029d01c ("mmc: sdhci-of-esdhc: Pre divider starts at 1") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d31911b9374a76560d2c8ea4aa6ce5781621e81d Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 25 10:02:11 2015 +0800 mmc: sdhci: fix dma memory leak in sdhci_pre_req() Currently one mrq->data maybe execute dma_map_sg() twice when mmc subsystem prepare over one new request, and the following log show up: sdhci[sdhci_pre_dma_transfer] invalid cookie: 24, next-cookie 25 In this condition, mrq->date map a dma-memory(1) in sdhci_pre_req for the first time, and map another dma-memory(2) in sdhci_prepare_data for the second time. But driver only unmap the dma-memory(2), and dma-memory(1) never unmapped, which cause the dma memory leak issue. This patch use another method to map the dma memory for the mrq->data which can fix this dma memory leak issue. Fixes: 348487cb28e6 ("mmc: sdhci: use pipeline mmc requests to improve performance") Reported-and-tested-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 90614cd9045dc7003913ee58cbc77950351485a0 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 01:06:48 2015 +0300 mmc: host: use of_property_read_bool() Use more compact of_property_read_bool() calls instead of the of_find_property() calls. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 143b648ddf1583905fa15d32be27a31442fc7933 Author: Adam Lee <adam.lee@xxxxxxxxxxxxx> Date: Mon Aug 3 14:33:28 2015 +0800 mmc: sdhci-pci: set the clear transfer mode register quirk for O2Micro This patch fixes MMC not working issue on O2Micro/BayHub Host, which requires transfer mode register to be cleared when sending no DMA command. Signed-off-by: Peter Guo <peter.guo@xxxxxxxxxxxxxx> Signed-off-by: Adam Lee <adam.lee@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 22d7e85ff8e5826845e9a4fa34b4723e5a97ee9b Author: Robin van der Gracht <robin@xxxxxxxxxxx> Date: Tue Aug 4 08:58:33 2015 +0200 mmc: core: Fixed bug in one erase-group budget TRIM When requesting a trim for several bytes, everything up to the next erase-group is erased. This causes data corruption. Signed-off-by: Robin van der Gracht <robin@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0c9fc10df211e0c931787a51c58caf487035f74e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Aug 27 14:05:26 2015 +0200 gpio: tc3589x: use static container helper There is a helper function to do the container_of() magic for the tc3589x GPIO, so use it. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3d5926599a6bc551efc0c8b244469a711f0d0166 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 27 16:25:07 2015 +0530 ARCv2: entry: Fix reserved handler Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 96983515657bfd532f4d2599df16c9d756de17ea Merge: d690740 4524cd0 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Aug 27 20:13:12 2015 +1000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next Freescale updates from Scott: "Highlights include 32-bit memcpy/memset optimizations, checksum optimizations, 85xx config fragments and updates, device tree updates, e6500 fixes for non-SMP, and misc cleanup and minor fixes." commit d690740f22f6520873f96e66aae7119ec2215755 Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 11:34:10 2015 +0530 powerpc/powernv: Enable LEDS support Commit 84ad6e5c added LEDS support for PowerNV platform. Lets update ppc64_defconfig to pick LEDS driver. PowerNV LEDS driver looks for "/ibm,opal/leds" node in device tree and loads if this node exists. Hence added it as 'm'. Also note that powernv LEDS driver needs NEW_LEDS and LEDS_CLASS as well. Hence added them to config file. mpe: Also add them to pseries_defconfig, which is currently also used for powernv systems. Suggested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Cc: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0e1ffef02cf94e46f95957af0f822531fecf741c Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu Aug 27 16:01:16 2015 +1000 powerpc/iommu: Set default DMA offset in dma_dev_setup Commit e91c25111aa3 "powerpc/iommu: Cleanup setting of DMA base/offset" expects that the default DMA offset is set from pnv_ioda_setup_bus_dma() which is correct unless it is SRIOV where the code flow is different - at the moment when pnv_ioda_setup_bus_dma() is called, PCI devices for VFs are not created yet. This adds missing set_dma_offset() to pnv_pci_ioda_dma_dev_setup() to cover the case of SRIOV. Note that we still need set_dma_offset() in pnv_ioda_setup_bus_dma() as at the boot time pnv_pci_ioda_dma_dev_setup() is called when no PE was created yet, this happens at the PHB fixup stage. Fixes: e91c25111aa3 ("powerpc/iommu: Cleanup setting of DMA base/offset") Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Reviewed-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9b28829d6da391f67a76dbba07a167e2b554bd10 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Nov 18 17:36:11 2014 +0530 ARCv2: perf: Finally introduce HS perf unit With all features in place, the ARC HS pct block can now be effectively allowed to be probed/used Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e525c37f8413b19130d0499c7467fed45a94579b Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Mon Aug 24 14:03:30 2015 +0300 ARCv2: perf: SMP support * split off pmu info into singleton and per-cpu bits * setup PMU on all cores Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e6b1d126bb748103824087189e30febc88c4db73 Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Mon Aug 24 13:53:36 2015 +0300 ARCv2: perf: implement exclusion of event counting in user or kernel mode Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 36481cf7fbcc666699d54cb267088d2b415ff164 Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Mon Aug 24 13:48:06 2015 +0300 ARCv2: perf: Support sampling events using overflow interrupts In times of ARC 700 performance counters didn't have support of interrupt an so for ARC we only had support of non-sampling events. Put simply only "perf stat" was functional. Now with ARC HS we have support of interrupts in performance counters which this change introduces support of. ARC performance counters act in the following way in regard of interrupts generation. [1] A counter counts starting from value set in PCT_COUNT register pair [2] Once counter reaches value set in PCT_INT_CNT interrupt is raised Basic setup look like this: [1] PCT_COUNT = 0; [2] PCT_INT_CNT = __limit_value__; [3] Enable interrupts for that counter and let it run [4] Let counter reach its limit [5] Handle interrupt when it happens Note that PCT HW block is build in CPU core and so ints interrupt line (which is basically OR of all counters IRQs) is wired directly to top-level IRQC. That means do de-assert PCT interrupt it's required to reset IRQs from all counters that have reached their limit values. Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 1fe8bfa5ff3b2e97f26add89b20768fb7c4188c0 Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Mon Aug 24 13:42:27 2015 +0300 ARCv2: perf: implement "event_set_period" This generalization prepares for support of overflow interrupts. Hardware event counters on ARC work that way: Each counter counts from programmed start value (set in ARC_REG_PCT_COUNT) to a limit value (set in ARC_REG_PCT_INT_CNT) and once limit value is reached this timer generates an interrupt. Even though this hardware implementation allows for more flexibility, in Linux kernel we decided to mimic behavior of other architectures this way: [1] Set limit value as half of counter's max value (to allow counter to run after reaching it limit, see below for more explanation): ---------->8----------- arc_pmu->max_period = (1ULL << counter_size) / 2 - 1ULL; ---------->8----------- [2] Set start value as "arc_pmu->max_period - sample_period" and then count up to the limit Our event counters don't stop on reaching max value (the one we set in ARC_REG_PCT_INT_CNT) but continue to count until kernel explicitly stops each of them. And setting a limit as half of counter capacity is done to allow capturing of additional events in between moment when interrupt was triggered until we're actually processing PMU interrupts. That way we're trying to be more precise. For example if we count CPU cycles we keep track of cycles while running through generic IRQ handling code: [1] We set counter period as say 100_000 events of type "crun" [2] Counter reaches that limit and raises its interrupt [3] Once we get in PMU IRQ handler we read current counter value from ARC_REG_PCT_SNAP ans see there something like 105_000. If counters stop on reaching a limit value then we would miss additional 5000 cycles. Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit fb7c57255168d34ae34300bcf78f50aebdeae4dc Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Aug 24 13:37:01 2015 +0300 ARC: perf: cap the number of counters to hardware max of 32 The number of counters in PCT can never be more than 32 (while countable conditions could be 100+) for both ARCompact and ARCv2 And while at it update copyright dates. Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 674c242c9323d3c293fc4f9a3a3a619fe3063290 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Aug 27 07:12:33 2015 +0100 arm64: flush FP/SIMD state correctly after execve() When a task calls execve(), its FP/SIMD state is flushed so that none of the original program state is observeable by the incoming program. However, since this flushing consists of setting the in-memory copy of the FP/SIMD state to all zeroes, the CPU field is set to CPU 0 as well, which indicates to the lazy FP/SIMD preserve/restore code that the FP/SIMD state does not need to be reread from memory if the task is scheduled again on CPU 0 without any other tasks having entered userland (or used the FP/SIMD in kernel mode) on the same CPU in the mean time. If this happens, the FP/SIMD state of the old program will still be present in the registers when the new program starts. So set the CPU field to the invalid value of NR_CPUS when performing the flush, by calling fpsimd_flush_task_state(). Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Chunyan Zhang <chunyan.zhang@xxxxxxxxxxxxxx> Reported-by: Janet Liu <janet.liu@xxxxxxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e4ec73510812f24087a28ac8cbf1f77c9fb262e5 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Aug 27 01:17:46 2015 +0600 s390/jump_label: Use %*ph to print small buffers printk() supports %*ph format specifier for printing a small buffers, let's use it intead of %02x %02x... Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 13a3cf08fa1e4b3a252f24202d47a556242aea03 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Aug 24 10:26:06 2015 -0700 target/iscsi: Replace __kernel_sockaddr_storage with sockaddr_storage It appears to be what the rest of the kernel does, so let's do it too. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit dc58f760e2e1f8f2265b581d35f211415c4fee0c Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Aug 24 10:26:05 2015 -0700 target/iscsi: Replace conn->login_ip with login_sockaddr Very similar to how it went with local_sockaddr. It was embedded in iscsi_login_stats so some changes there, and we needed to copy in a sockaddr_storage comparison function. Hopefully the kernel will get a standard one soon, our implementation makes the 3rd. isert_set_conn_info() became much smaller. IPV6_ADDRESS_SPACE define goes away, had to modify a call to in6_pton(), can just use -1 since we are sure string is null-terminated. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 69d755747d31c07a416064f251c2f408938fb67a Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Aug 24 10:26:04 2015 -0700 target/iscsi: Keep local_ip as the actual sockaddr This is a more natural format that lets us format it with the appropriate printk specifier as needed. This also lets us handle v4-mapped ipv6 addresses a little more nicely, by storing the addr as an actual v4 sockaddr in conn->local_sockaddr. Finally, we no longer need to maintain variables for port, since this is contained in sockaddr. Remove iscsi_np.np_port and iscsi_conn.local_port. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 76c28f1fcfeb42b47f798fe498351ee1d60086ae Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Aug 24 10:26:03 2015 -0700 target/iscsi: Fix np_ip bracket issue by removing np_ip Revert commit 1997e6259, which causes double brackets on ipv6 inaddr_any addresses. Since we have np_sockaddr, if we need a textual representation we can use "%pISc". Change iscsit_add_network_portal() and iscsit_add_np() signatures to remove *ip_str parameter. Fix and extend some comments earlier in the function. Tested to work for :: and ::1 via iscsiadm, previously :: failed, see https://bugzilla.redhat.com/show_bug.cgi?id=1249107 . CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9f55bca2b82a77a3cc3204900db2fc40ab30019e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 12:20:29 2015 +0300 aic94xx: set an error code on failure We recently did some cleanup here and now the static checkers notice that there is a missing error code when ioremap() fails. Let's set it to -ENOMEM. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 111f2d15b543e15c1e0ee89745fae84e3eb91932 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:52 2015 -0700 storvsc: Set the error code correctly in failure conditions In the function storvsc_channel_init(), error code was not getting set correctly in some of the failure cases. Fix this issue. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b95f5be09069526cf53705acbc1e22600f3f550b Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:51 2015 -0700 storvsc: Allow write_same when host is windows 10 Allow WRITE_SAME for Windows10 and above hosts. Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e6c4bc66842752110a66746e2d044fafc01e4800 Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:50 2015 -0700 storvsc: use storage protocol version to determine storage capabilities Use storage protocol version instead of vmbus protocol version when determining storage capabilities. Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cb11feada9c049bc633831d3a5dcc50163f13b5e Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:49 2015 -0700 storvsc: use correct defaults for values determined by protocol negotiation Use correct defaults for values determined by protocol negotiation, instead of resetting them with every scsi controller. Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1a3631081d88180f5cc421711e40b4aecff8618e Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:48 2015 -0700 storvsc: Untangle the storage protocol negotiation from the vmbus protocol negotiation. Currently we are making decisions based on vmbus protocol versions that have been negotiated; use storage potocol versions instead. [jejb: fold ARRAY_SIZE conversion suggested by Johannes Thumshirn <jthumshirn@xxxxxxx> make vmstor_protocol static] Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2492fd7a60270b81b7ed491745fd595a26841a45 Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:47 2015 -0700 storvsc: Use a single value to track protocol versions Use a single value to track protocol versions to simplify comparisons and to be consistent with vmbus version tracking. Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6ee5c61535a2df807069145970d3e7fa492a3fac Author: Keith Mange <keith.mange@xxxxxxxxxxxxx> Date: Thu Aug 13 08:43:46 2015 -0700 storvsc: Rather than look for sets of specific protocol versions, make decisions based on ranges. Rather than look for sets of specific protocol versions, make decisions based on ranges. This will be safer and require fewer changes going forward as we add more storage protocol versions. Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9d8e27673c45927fee9e7d8992ffb325a6b0b0e4 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 21 17:25:15 2015 +1000 cxl: Remove racy attempt to force EEH invocation in reset cxl_reset currently PERSTs the slot, and then repeatedly tries to read MMIO space in order to kick off EEH. There are 2 problems with this: it's unnecessary, and it's racy. It's unnecessary because the PERST will bring down the PHB link. That will be picked up by the CAPP, which will send out an HMI. Skiboot, noticing an HMI from the CAPP, will send an OPAL notification to the kernel, which will trigger EEH recovery. It's also racy: the EEH recovery triggered by the CAPP will eventually cause the MMIO space to have its mapping invalidated and the pointer NULLed out. This races with our attempt to read the MMIO space. This is causing OOPSes in testing. Simply drop all the attempts to force EEH detection, and trust that Skiboot will send the notification and that we'll act on it. The Skiboot code to send the EEH notification has been in Skiboot for as long as CAPP recovery has been supported, so we don't need to worry about breaking obscure setups with ancient firmware. Cc: Ryan Grimm <grimm@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Fixes: 62fa19d4b4fd ("cxl: Add ability to reset the card") Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a6897f39660cc07fa78b4459d82f12b07abb50b1 Author: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 11:04:48 2015 +0530 cxl: Release irqs if memory allocation fails This minor patch plugs a potential irq leak in case of a memory allocation failure inside function the afu_allocate_irqs. Presently the irqs allocated to the context gets leaked if allocation of either one of context irq_bitmap or irq_names fails. Signed-off-by: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d7b273685fedba5359a4ba0ae4f542e3ece28153 Merge: 3160779 6dc2e1b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 27 13:01:57 2015 +1000 Merge branch 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next Here are some development updates for the Synopsis Designware HDMI driver, which clean up some of the code, and start preparing to add audio support to the driver. This series of patches are based on a couple of dependent commits from the ALSA tree. Briefly, the updates are: - move comments which should have moved with the phy values to the IMX part of the driver. - clean up the phy configuration: to all lookups before starting to program the phy. - clean up the HDMI clock regenerator code - use the drm_hdmi_avi_infoframe_from_display_mode() helper which allows the code to be subsequently simplified - remove the unused 'regmap' pointer in struct dw_hdmi - use the bridge drm device rather than the connector (we're the bridge code) - remove private hsync/vsync/interlaced flags, getting them from the DRM mode structure instead. - implement interface functions to support audio - setting the audio sample rate, and enabling the audio clocks. - removal of broken pixel repetition support - cleanup DVI vs HDMI sink handling - enable audio only if connected device supports audio - avoid double-enabling bridge in the sink path (once in mode_set, and again in commit) - rename mis-named dw_hdmi_phy_enable_power() - fix bridge enable/disable handing, so a plug-in event doesn't reconfigure the bridge if DRM has disabled the output - fix from Vladimir Zapolskiy for the I2CM_ADDRESS macro name These are primerily preparitory patches for the AHB audio driver and the I2S audio driver (from Rockchip) for this IP. * 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm: bridge/dw_hdmi: fix register I2CM_ADDRESS register name drm: bridge/dw_hdmi: fix phy enable/disable handling drm: bridge/dw_hdmi: rename dw_hdmi_phy_enable_power() drm: bridge/dw_hdmi: avoid enabling interface in mode_set drm: bridge/dw_hdmi: enable audio only if sink supports audio drm: bridge/dw_hdmi: clean up HDMI vs DVI mode handling drm: bridge/dw_hdmi: don't support any pixel doubled modes drm: bridge/dw_hdmi: remove pixel repetition setting for all VICs drm: bridge/dw_hdmi: introduce interfaces to enable and disable audio drm: bridge/dw_hdmi: introduce interface to setting sample rate drm: bridge/dw_hdmi: remove mhsyncpolarity/mvsyncpolarity/minterlaced drm: bridge/dw_hdmi: use our own drm_device drm: bridge/dw_hdmi: remove unused 'regmap' struct member drm: bridge/dw_hdmi: simplify hdmi_config_AVI() a little drm: bridge/dw_hdmi: use drm_hdmi_avi_infoframe_from_display_mode() drm: bridge/dw_hdmi: clean up hdmi_set_clk_regenerator() drm: bridge/dw_hdmi: clean up phy configuration drm: imx/dw_hdmi: move phy comments drm/edid: add function to help find SADs commit 31607793ee81da3f1024df9560f0dec49abde37f Merge: 40b2dff 36d4e87 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 27 13:01:23 2015 +1000 Merge tag 'vmwgfx-next-15-08-21' of git://people.freedesktop.org/~thomash/linux into drm-next Pull request of 15-08-21 The third pull request for 4.3. Contains two fixes for regressions introduced with previous pull requests. * tag 'vmwgfx-next-15-08-21' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Remove duplicate ttm_bo_device_release drm/vmwgfx: Fix a circular locking dependency in the fbdev code commit 40b2dffbcc67e92d5df97785dffc68fe88605bfa Merge: db56176 c2b6bd7 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 27 13:00:28 2015 +1000 Merge branch 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-next - DP fixes for radeon and amdgpu - IH ring fix for tonga and fiji - Lots of GPU scheduler fixes - Misc additional fixes * 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux: (42 commits) drm/amdgpu: fix wait queue handling in the scheduler drm/amdgpu: remove extra parameters from scheduler callbacks drm/amdgpu: wake up scheduler only when neccessary drm/amdgpu: remove entity idle timeout v2 drm/amdgpu: fix postclose order drm/amdgpu: use IB for copy buffer of eviction drm/amdgpu: adjust the judgement of removing fence callback drm/amdgpu: fix no sync_wait in copy_buffer drm/amdgpu: fix last_vm_update fence is not effetive for sched fence drm/amdgpu: add priv data to sched drm/amdgpu: add owner for sched fence drm/amdgpu: remove entity reference from sched fence drm/amdgpu: fix and cleanup amd_sched_entity_push_job drm/amdgpu: remove amdgpu_bo_list_clone drm/amdgpu: remove the context from amdgpu_job drm/amdgpu: remove unused parameters to amd_sched_create drm/amdgpu: remove sched_lock drm/amdgpu: remove prepare_job callback drm/amdgpu: cleanup a scheduler function name drm/amdgpu: reorder scheduler functions ... commit 89576205de8a5b6c19a4b3bb25bd16484a567b4e Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 26 18:36:12 2015 -0500 cxlflash: Remove unused variable from queuecommand The queuecommand routine has a local dev pointer used for the dev_* prints. The two prints that currently exist are tucked under a debug define and thus can be left out. Use the actual location instead of a local to avoid this warning. This patch is intended to be applied after the "CXL Flash Error Recovery and Superpipe" series. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4da74db0d9a6ffe053d3a3efa756906e0afc4cf7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 11:57:43 2015 +0300 cxlflash: shift wrapping bug in afu_link_reset() "port_sel" is a u64 so the shifting should also be a 64 bit shift. Fixes: c21e0bbfc485 ('cxlflash: Base support for IBM CXL Flash Adapter') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 46c6d45d7875a0328258a574e376ae75f7b2a64b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 14 23:35:25 2015 +0300 cxlflash: off by one bug in cxlflash_show_port_status() The > should be >= or we read one element past the end of the array. Fixes: c21e0bbfc485 ('cxlflash: Base support for IBM CXL Flash Adapter') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2cb79266d6b229dbebd31fe114af1bdab25c8076 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 21:47:53 2015 -0500 cxlflash: Virtual LUN support Add support for physical LUN segmentation (virtual LUNs) to device driver supporting the IBM CXL Flash adapter. This patch allows user space applications to virtually segment a physical LUN into N virtual LUNs, taking advantage of the translation features provided by this adapter. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Michael Neuling <mikey@xxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 65be2c79acc3aa0f9c0e8d4871f5a451d854465a Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 21:47:43 2015 -0500 cxlflash: Superpipe support Add superpipe supporting infrastructure to device driver for the IBM CXL Flash adapter. This patch allows userspace applications to take advantage of the accelerated I/O features that this adapter provides and bypass the traditional filesystem stack. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Michael Neuling <mikey@xxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5cdac81a870f3bb65c50d3f5566a86fb086118d2 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 21:47:34 2015 -0500 cxlflash: Base error recovery support Introduce support for enhanced I/O error handling. A device state is added to track 3 possible states of the device: Normal - the device is operating normally and is fully operational Limbo - the device is in a reset/recovery scenario and its operational status is paused Failed/terminating - the device has either failed to be reset/recovered or is being terminated (removed); it is no longer operational All operations are allowed when the device is operating normally. When the device transitions to limbo state, I/O must be paused. To help accomplish this, a wait queue is introduced where existing and new threads can wait until the device is no longer in limbo. When coming out of limbo, threads need to check the state and error out gracefully when encountering the failed state. When the device transitions to the failed/terminating state, normal operations are no longer allowed. Only specially designated operations related to graceful cleanup are permitted. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Michael Neuling <mikey@xxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ef2a388dfce6ddc2fd0d1d798a8974396f6b6a22 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Tue Aug 4 13:38:04 2015 -0400 qla2xxx: Update driver version to 8.07.00.26-k Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2b48992f656e109b9d7357cedc0406b50ec82c22 Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Tue Aug 4 13:38:03 2015 -0400 qla2xxx: Add pci device id 0x2261. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a1d0285ecb61800a9e6808f716b880eae95f14bc Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Tue Aug 4 13:38:02 2015 -0400 qla2xxx: Fix missing device login retries. On certain conditions, login failures will just invoke qla2x00_mark_device_lost() with the intend to do login again; but if login_retry has been set already, that would fail to set the relogin needed flag which is required to wakeup the DPC to retry. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 63e322aaa6a00536055558ac1307b2919ee57aef Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Tue Aug 4 13:38:01 2015 -0400 qla2xxx: do not clear slot in outstanding cmd array Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 96219424f2c7b767e42ccf203df40d7df677a5e3 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Tue Aug 4 13:38:00 2015 -0400 qla2xxx: Remove decrement of sp reference count in abort handler. Fix for memory leak when command is not found by firmware due to mismatch in sp reference count. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 03aa868c1b7b2633a4faa97b28c40e64c91a8e7f Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Tue Aug 4 13:37:59 2015 -0400 qla2xxx: Add support to show MPI and PEP FW version for ISP27xx. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fd49a540ead94ce5769f6eb2028e97577739e24b Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Tue Aug 4 13:37:58 2015 -0400 qla2xxx: Do not reset ISP for error entry with an out of range handle. Instead of resetting the adapter wait for the login to timeout and retry. Resetting the adapter can cause extended path recovery times. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c7bc4cae0d5c9703d8b15fcc0fd53b86b135bde8 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Tue Aug 4 13:37:57 2015 -0400 qla2xxx: Do not reset adapter if SRB handle is in range. If an SRB is NULL but the handle is in range just drop the command instead of also resetting the adapter. If the handle is in range then the command was valid at some point and may have been aborted. Resetting the adapter can lead to extended recovery times in this case. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8fbdac8c70d378016f568106f09fb3ff153a47c3 Author: Hiral Patel <hiral.patel@xxxxxxxxxx> Date: Tue Aug 4 13:37:56 2015 -0400 qla2xxx: Do not crash system for sp ref count zero Aovid crashing the system in the scenario where firmware just completes the command and it can not find the command during abort mailbox processing. This scenario can lead to sp reference counter being zero. Instead of crashing the system, use WARN_ON to print warning in log file. Signed-off-by: Hiral Patel <hiral.patel@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d6b9b42b49518c30df9de92ce499f005d336e97b Author: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Date: Tue Aug 4 13:37:55 2015 -0400 qla2xxx: Add adapter checks for FAWWN functionality. Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8dd7e3a55949f17fecba4aedb2cb943b153e5e55 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Tue Aug 4 13:37:54 2015 -0400 qla2xxx: Pause risc before manipulating risc semaphore. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cc790764391a68511cf6a7e4dd18eeb6e7640233 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Tue Aug 4 13:37:53 2015 -0400 qla2xxx: Use ssdid to gate semaphore manipulation. Execute qla25xx_manipulate_risc_semaphore() only for ssdid 0x0175 and 0x0240. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 17cac3a175a02cd1ae21f9183b09f30a719832df Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Tue Aug 4 13:37:52 2015 -0400 qla2xxx: Handle AEN8014 incoming port logout. When we get logged out, mark the port lost and set dpc flag for relogin. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1dd34b5ad8aebaff17b625fc0126e18243008a3f Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Aug 26 15:57:38 2015 -0700 bpf: fix bpf_skb_set_tunnel_key() helper Make sure to indicate to tunnel driver that key.tun_id is set, otherwise gre won't recognize the metadata. Fixes: d3aa45ce6b94 ("bpf: add helpers to access tunnel metadata") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f299c7c2ab5df78e3201af34e596e8a3ba4d2791 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Tue Aug 4 13:37:51 2015 -0400 qla2xxx: Add serdes register read/write support for ISP25xx. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 709c75b5a2411c31e5a649a2cd6d4866dd11f456 Author: jiang.biao2@xxxxxxxxxx <jiang.biao2@xxxxxxxxxx> Date: Fri Jul 31 17:52:10 2015 +0800 scsi_error: should not get sense for timeout IO in scsi error handler scsi_error: should not get sense for timeout IO in scsi error handler When an IO timeout occurs, the IO will be aborted in scsi_abort_command() and SCSI_EH_ABORT_SCHEDULED will be set. Because of that, the SCSI_EH_CANCEL_CMD will be clear in scsi_eh_scmd_add(). So when scsi error handler starts, it will get sense for this timeout IO and the scmd of the IO request will be reused. In that case, the scmd may be double released when racing with io_done(), which will result in crash. SO SCSI_EH_ABORT_SCHEDULED should also be checked when getting sense. The bug maybe reproduced when the link between host and disk is unstable. Signed-off-by: Jiang Biao <jiang.biao2@xxxxxxxxxx> Signed-off-by: Long Chun <long.chun@xxxxxxxxxx> Reviewed-by: Tan Hu <tan.hu@xxxxxxxxxx> Reviewed-by: Chen Donghai <chen.donghai@xxxxxxxxxx> Reviewed-by: Cai Qu <cai.qu@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1cd129918f14f42f8b1940096dba629ce7e7a243 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:32 2015 +0530 pm80xx: Bump pm80xx driver version to 0.1.38 Bump pm80xx driver version to 0.1.38. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 27ecfa5e79bfc2e4efca67a6077080acab546a4a Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:31 2015 +0530 pm80xx: Handling Invalid SSP Response frame The request has to be retried incase if the length of the SSP Response IU is invalid. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8414cd8057c29f60cda241aa489b33e4db6652f2 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:30 2015 +0530 pm80xx: Add PORT RECOVERY TIMEOUT support PORT RECOVERY TIMEOUT is the maximum time between the controller's detection of the PHY down until the receipt of the ID_Frame (from the same remote SAS port). If the time expires before the ID_FRAME is received, the port is considered INVALID and can be removed. The IOP_EVENT_PORT_RECOVERY_TIMER_TMO event is reported following the IOP_EVENT_ PHY_DOWN event when the PHY/port does not recover after Port Recovery Time. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3b77894b2c32ed3326c47b550f30684beb64abd3 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:29 2015 +0530 pm80xx: Remove unnecessary phy disconnect while link error If the link error happens, we don't need to disconnect the phy, which will remove the drive. Instead acknowledging the controller and logging the error will be enough. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3b700e341144f278b8248418991c086d09b7137b Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:28 2015 +0530 pm80xx: Fix for Incorrect DMA Unmapping of SG List In pm8001_ccb_task_free(), the dma unmapping is done based on ccb->n_elem value. This should be initialized to zero in the task_abort(). Otherwise, pm8001_ccb_task_free() will try for dma_unmap_sg() which is invalid for task abort and can lead to kernel crash. Changes From V1: None Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 842784e0d15bc21b31ce69f8f3518a8cf86084e3 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:27 2015 +0530 pm80xx: Update For Thermal Page Code Thermal page code has been changed to 7 for the 12G controllers. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3a1ae967741c301a5ad26665dcfb184082b969b2 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:26 2015 +0530 pm80xx: Corrected device state changes in I_T_Nexus_Reset. In Nexus reset the device state request are not needed. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Acked-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b093d590367f6eafbec89243fabb12d4b96a9997 Author: Viswas G <Viswas.G@xxxxxxxx> Date: Tue Aug 11 15:06:25 2015 +0530 pm80xx: Updated link rate Updated 12G linkrate to libsas. Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d32477e2a72cf9b99bb174e0f11e1b1c7834b76f Author: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:02:50 2015 +0200 MAINTAINERS: update email for pm8001 Company has policy to use company email address, so update my email address to company address. Signed-off-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b103918a5f21a51d12018a09919617687e584384 Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Wed Jul 22 10:53:22 2015 +0200 lpfc: Use && instead of & for boolean expression Use logical instead of bitwise AND. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5155ce5f8395730f681fe48cdc8867838e3a3f2c Author: Dilip Kumar Uppugandla <dilip@xxxxxxxxxxxxxxx> Date: Tue Jul 21 15:07:55 2015 -0700 qla2xxx: Return the fabric command state for non-task management requests Invoking get_cmd_state for qla2xxx always returns 0. Instead change it to return the actual fabric state from qla_tgt_cmd. This will help with debugging. Signed-off-by: Dilip Kumar Uppugandla <dilip@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2d041306b669e281427de7dd398e74335c9f5042 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:13:15 2015 -0500 hpsa: fix rmmod issues The driver is calling hpsa_shutdown before calling scsi_remove_host. hpsa_shutdown is disabling interrupts. scsi_remove_host can trigger I/O operations, such as SYNCHRONIZE CACHE when multipath is enabled which hang the system. Call scsi_remove_host before calling hpsa_shutdown. Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9a4178b76a973684750d20b684bae4f57ab9a355 Author: shane.seymour <shane.seymour@xxxxxx> Date: Sat Jul 18 11:13:09 2015 -0500 hpsa: fix issues with multilun devices A regression was introduced into the hpsa driver a while back so non-zero LUNs of multi-LUN devices may no longer be presented via a SAS based Smart Array. I have not done a bisection to discover the change that caused it. The CISS firmware specification (available on sourceforge) defines an 8 byte lunid that describes devices that the Smart Array can see/present to the system. The current code in the hpsa driver attempts to find matches for non-zero LUNs with LUN 0 for a bus/target by zeroing out byte 4 of the lunid and find a match. This method is sufficient for SCSI based Smart Arrays because byte 5 is always 0. For SAS based Smart arrays byte 5 of the lunid contains the path number for a multipath device and either one or two bits (the documentation does not define how many bits are used but it appears it may be one only) that indicate if the given path number in byte 5 must always be used to access that device. Byte 5 may not always be zero. The following are lunids (spaces added for clarity) for a MSL2024 single drive library connected via a H241 Smart Array: 00 00 00 00 01 00 00 01 (changer) 00 00 00 00 00 80 00 01 (tape) In the 4th byte (counting from 0) you can see that the tape is LUN 0 and the changer is LUN 1. The 0x80 set in the 5th byte for the tape drive means the driver should force access to path 0 (the library in this case was connected to one path only anyway). After the changes we can see the following in the dmesg output: scsi 0:3:0:0: RAID HP H241 1.18 \ PQ: 0 ANSI: 5 scsi 0:2:0:0: Sequential-Access HP Ultrium 6-SCSI 354W \ PQ: 0 ANSI: 6 scsi 0:2:0:1: Medium Changer HP MSL G3 Series 8.70 \ PQ: 0 ANSI: 5 Showing that the changer is correctly identified as LUN 1 of bus 2 target 0. Before the change the changer device is not seen. Suggested-by: shane.seymour <shane.seymour@xxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5ca0120447ae8d485e2ee5100f25b6645e3e320f Author: Scott Benesh <scott.benesh@xxxxxxxx> Date: Sat Jul 18 11:13:04 2015 -0500 hpsa: add in new offline mode prevent adding volumes that are not available. Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b9092b79ccaf4404509d6aeb2c76eb7cbfa57bf1 Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Sat Jul 18 11:12:59 2015 -0500 Change how controllers in mixed mode are handled. Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cbb47dcbb405d4a694801e6ad6d63c2992f83bb4 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:54 2015 -0500 hpsa: add in new controllers Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9384950809d96ee08dcd7bb2eadc9628b99d0474 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:49 2015 -0500 hpsa: cleanup update scsi devices showing that tables have been updated unnecessarily. Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8270b8624365887a716615294d0ac28af07c9287 Author: Joe Handzik <joseph.t.handzik@xxxxxx> Date: Sat Jul 18 11:12:43 2015 -0500 hpsa: add sysfs entry path_info to show box and bay information host no, bus, target, lun, scsi_device_type for hba mode add: box and bay information report if the path is active/inactive Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1358f6dc5875f5cef06eeeeb4532f382aaff8483 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:38 2015 -0500 hpsa: add PMC to copyright need to add PMC to copyright notice and update the Hewlett-Packard copyright notification. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 7ef7323f4bf467ce9fe51177301ad8cbb7dc2631 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:33 2015 -0500 hpsa: correct static checker warnings on driver init cleanup Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 81c275576bcee1a80e046117c7923586216a2dd4 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:28 2015 -0500 hpsa: correct decode sense data Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 77678d3a35455d7b7c4da4e56b20de17ee63cec1 Author: Don Brace <don.brace@xxxxxxxx> Date: Sat Jul 18 11:12:22 2015 -0500 hpsa: Correct double unlock of mutex Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5d0ddfebb93069061880fc57ee4ba7246bd1e1ee Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Fri Aug 21 15:36:23 2015 +0800 ACPI, PCI: Penalize legacy IRQ used by ACPI SCI Nick Meier reported a regression with HyperV that " After rebooting the VM, the following messages are logged in syslog when trying to load the tulip driver: tulip: Linux Tulip drivers version 1.1.15 (Feb 27, 2007) tulip: 0000:00:0a.0: PCI INT A: failed to register GSI tulip: Cannot enable tulip board #0, aborting tulip: probe of 0000:00:0a.0 failed with error -16 Errors occur in 3.19.0 kernel Works in 3.17 kernel. " According to the ACPI dump file posted by Nick at https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1440072 The ACPI MADT table includes an interrupt source overridden entry for ACPI SCI: [236h 0566 1] Subtable Type : 02 <Interrupt Source Override> [237h 0567 1] Length : 0A [238h 0568 1] Bus : 00 [239h 0569 1] Source : 09 [23Ah 0570 4] Interrupt : 00000009 [23Eh 0574 2] Flags (decoded below) : 000D Polarity : 1 Trigger Mode : 3 And in DSDT table, we have _PRT method to define PCI interrupts, which eventually goes to: Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12,14,15} }) Name (PRSB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12,14,15} }) Name (PRSC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12,14,15} }) Name (PRSD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12,14,15} }) According to the MADT and DSDT tables, IRQ 9 may be used for: 1) ACPI SCI in level, high mode 2) PCI legacy IRQ in level, low mode So there's a conflict in polarity setting for IRQ 9. Prior to commit cd68f6bd53cf ("x86, irq, acpi: Get rid of special handling of GSI for ACPI SCI"), ACPI SCI is handled specially and there's no check for conflicts between ACPI SCI and PCI legagy IRQ. And it seems that the HyperV hypervisor doesn't make use of the polarity configuration in IOAPIC entry, so it just works. Commit cd68f6bd53cf gets rid of the specially handling of ACPI SCI, and then the pin attribute checking code discloses the conflicts between ACPI SCI and PCI legacy IRQ on HyperV virtual machine, and rejects the request to assign IRQ9 to PCI devices. So penalize legacy IRQ used by ACPI SCI and mark it unusable if ACPI SCI attributes conflict with PCI IRQ attributes. Please refer to following links for more information: https://bugzilla.kernel.org/show_bug.cgi?id=101301 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1440072 Fixes: cd68f6bd53cf ("x86, irq, acpi: Get rid of special handling of GSI for ACPI SCI") Reported-and-tested-by: Nick Meier <nmeier@xxxxxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: 3.19+ <stable@xxxxxxxxxxxxxxx> # 3.19+ Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bf41846edf5b1618a37f8ec830251b31d8ed6ab3 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Jul 10 19:36:10 2015 -0400 i40e/i40evf: Bump i40e to 1.3.9 and i40evf to 1.3.5 Bump version and update the copyright year for i40evf. Change-ID: Iddb81b9dba09f0dc57ab54937b5821ecdd721ff6 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9fffa3f34dff2585ae86cd5b59c68ad2d4172f25 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Fri Jul 10 19:36:09 2015 -0400 i40e/i40evf: Cache the CEE TLV status returned from firmware Store the CEE TLV status returned by firmware to allow drivers to dump that for debug purposes. Change-ID: Ie3c4cf8cebabee4f15e1e3fdc4fc8a68bbca40ee Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b8262a6dfad8825e0b117fe5e3a1715a585bbd79 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jul 10 19:36:08 2015 -0400 i40e/i40evf: add VIRTCHNL_VF_OFFLOAD flag Add virtual channel offload capability to support RX polling mode in the VF. Change-ID: Ib643ae2a7506dfc75fc489fc207493fabefa4832 Signed-off-by: Jingjing Wu <jingjing.wu@xxxxxxxxx> Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2b20c88397fde2902c7834bb9e3ef8afc0237306 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Jul 10 19:36:07 2015 -0400 i40e: Remove redundant and unneeded messages The kernel notifies all VXLAN capable registered drivers, i.e. any driver that implements ndo_add_vxlan_port(), of the addition of a port so that the driver can track which ports are in use. There's no need to log this - it just fills the system log with useless and irksome noise. Also, when failing to init SR-IOV interfaces the driver was printing the same message twice. Just remove the inner printk and let the outer message catch enable as well as the other failures. Change-ID: Id5ecb1d425c2a357ee2bc1635dab24553831dade Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e02a7f83d84d0580a62df8d4c4e95cd8791c6645 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jul 10 19:36:06 2015 -0400 i40evf: Remove PF specific register definitions from the VF There were quite a few issues when the wrong defines were getting used in the VF driver. This patch fixes the code where PF driver registers were getting used for VF driver, and also removes the registers that are not being used from the VF register file. Change-ID: If116a9730112950d006eb8ec763998fc914cc839 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Acked-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b1f3366b86a9e99f4d4d557b02e0f53fa7ccd72c Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jul 10 19:36:05 2015 -0400 i40evf: Use the correct defines to match the VF registers Use CTLN1 instead of CTLN for the VF relative register space. Change-ID: Iefba63faf0307af55fec8dbb64f26059f7d91318 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit cd494fb4c2ba56dd9bb3919dc55565c2cc1551b6 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Jul 10 19:36:04 2015 -0400 i40e: correct spelling error Turns out that 'inavlid' is an inavlid spelling for 'invalid'. Change-ID: Ie1fe2d0f8d1ba75ab880594875ec2e4152a76f61 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b4e53f02d7356809acbab673e6c20773cf56dbd6 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Jul 10 19:36:03 2015 -0400 i40e: Fix comment for ethtool diagnostic link test The existing comment is incorrect. Add new comment to point out that the PF reset does not affect link but if the reset is changed to a different type that does affect link then the link test would need to be moved to before the reset. Change-ID: I28d786f46e9465860babdee61c1dba51016464df Reported-by: Jeremiah Kyle <jeremiah.kyle@xxxxxxxxx> Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fe860afb4638f5e62e7d861bfc35a1580fb633bb Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Fri Jul 10 19:36:02 2015 -0400 i40e/i40evf: Add capability to gather VEB per TC stats This patch adds capability to update per VEB per TC statistics and dump it via ethtool. It also adds a structure to hold VEB per TC statistics. The fields can be filled by reading the GLVEBTC_* counters. Change-ID: I28b4759b9ab6ad5a61f046a1bc9ef6b16fe31538 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c2b6bd7e91aad8440a2f55bdbde6f5a8ae19fac5 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 25 21:39:31 2015 +0200 drm/amdgpu: fix wait queue handling in the scheduler Freeing up a queue after signalling it isn't race free. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit bd755d08709f05a81104e8f81d721b5cc353a2b3 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 24 14:57:26 2015 +0200 drm/amdgpu: remove extra parameters from scheduler callbacks Signed-off-by: Christian König <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 510efb2682b35790b2274639ab985fe385bb526a Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Fri Jul 10 19:36:01 2015 -0400 i40e: Fix ethtool offline diagnostic with netqueues Treat netqueues the same way we do virtual functions when someone wants to run the ethtool offline diagnostic test. Change-ID: Id48d2b933f1fd0db7be06305a93c6ebe3dc821f5 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 88079006dc412c5d1676f9f6e9c4d72a209eb556 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 24 14:29:40 2015 +0200 drm/amdgpu: wake up scheduler only when neccessary Signed-off-by: Christian König <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 062c7fb3ebb42d2a50d4644b3e49e731361e6951 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 21 15:46:43 2015 +0200 drm/amdgpu: remove entity idle timeout v2 Removing the entity from scheduling can deadlock the whole system. Wait forever till the remaining IBs are scheduled. v2: fix comment as well Signed-off-by: Christian König <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) commit 02537d63623ce5281c20d76f1b61797a7836acf4 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 25 15:05:20 2015 +0200 drm/amdgpu: fix postclose order The context needs to finish before everything else. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 26cdc443fd8fccccdfb17fd2845cf9233a995325 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jul 10 19:36:00 2015 -0400 i40e: Fix legacy interrupt mode in the driver This patch fixes the driver flow to take into account legacy interrupts. Over time we added code that assumes MSIX is the only mode that the driver runs in. It also enables a legacy workaround to trigger SWINT when the TX ring has non-cache aligned descriptors pending and interrupts are disabled. We work with a single vector in MSI mode too, so apply the same restrictions as Legacy. Change-ID: I826ddff1f9bd45d2dbe11f56a3ddcef0dbf42563 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c7ae72c01be10f539f385f624713f8ba0aa11a8f Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 25 17:23:45 2015 +0800 drm/amdgpu: use IB for copy buffer of eviction This aids handling buffers moves with the scheduler. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 113cd9dacbad4906e1c8db09233b9fdcb002f80d Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Wed Aug 26 09:34:59 2015 +0800 drm/amdgpu: adjust the judgement of removing fence callback The fence in the array may be skipped if wait_all is false, thus the related callback is not initialized with list head. So removing this kind callback will cause NULL pointer reference. Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 02b42498f383a6c24f7c751d4fe89a911a249242 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Jul 10 19:35:59 2015 -0400 i40e: Move function calls to i40e_shutdown instead of i40e_suspend We should be stopping the service task and flow director on shutdown not on suspension. Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9f7c94487197df9aaca172027419af57e5dc7d6f Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Jul 10 19:35:57 2015 -0400 i40e: add RX to port CRC errors label The port.crc_errors is really an RX counter, so let's mark it as such. Change-ID: I179afd3f8a95d45229bb4163a6aeb01f0d2d250b Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ecbb44e8f81b860ef279b0f176a878da9ebd614e Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Jul 10 19:35:56 2015 -0400 i40e: don't degrade __le16 Sparse cries when we compare an __le16 to a u16, almost like it cares about architectures other than x86. Weird. Use the le16_to_cpu macro to make it stop crying. Change-ID: Id068f4d7868a2d3df234a791a76d15938f37db35 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 66bc2f51ef7deabc8b8f3baa98ae64b65e5e973a Author: Stefan Assmann <sassmann@xxxxxxxxx> Date: Wed Aug 26 13:11:49 2015 -0700 Input: psmouse - add small delay for IBM trackpoint pass-through mode There are trackpoint devices that fail to respond to the PS2 command PSMOUSE_CMD_GETID if immediately queried after the parent device is deactivated. Add a small delay for the hardware to get in a sane state before sending any PS2 commands. One example of such a system is: Lenovo ThinkPad X120e, model 30515QG synaptics: Touchpad model: 1, fw: 8.0, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x121c00, board id: 1811, fw id: 797391 Signed-off-by: Stefan Assmann <sassmann@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a5e090acbf545c0a3b04080f8a488b17ec41fe02 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 20:40:41 2015 +0100 ARM: software-based priviledged-no-access support Provide a software-based implementation of the priviledged no access support found in ARMv8.1. Userspace pages are mapped using a different domain number from the kernel and IO mappings. If we switch the user domain to "no access" when we enter the kernel, we can prevent the kernel from touching userspace. However, the kernel needs to be able to access userspace via the various user accessor functions. With the wrapping in the previous patch, we can temporarily enable access when the kernel needs user access, and re-disable it afterwards. This allows us to trap non-intended accesses to userspace, eg, caused by an inadvertent dereference of the LIST_POISON* values, which, with appropriate user mappings setup, can be made to succeed. This in turn can allow use-after-free bugs to be further exploited than would otherwise be possible. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 2190fed67ba6f3e8129513929f2395843645e928 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 20 10:32:02 2015 +0100 ARM: entry: provide uaccess assembly macro hooks Provide hooks into the kernel entry and exit paths to permit control of userspace visibility to the kernel. The intended use is: - on entry to kernel from user, uaccess_disable will be called to disable userspace visibility - on exit from kernel to user, uaccess_enable will be called to enable userspace visibility - on entry from a kernel exception, uaccess_save_and_disable will be called to save the current userspace visibility setting, and disable access - on exit from a kernel exception, uaccess_restore will be called to restore the userspace visibility as it was before the exception occurred. These hooks allows us to keep userspace visibility disabled for the vast majority of the kernel, except for localised regions where we want to explicitly access userspace. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit aa06e5c1f9c2b466712be904cc5b56a813e24cfd Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Aug 26 20:07:25 2015 +0100 ARM: entry: get rid of multiple macro definitions The following structure is just asking for trouble: #ifdef CONFIG_symbol .macro foo ... .endm .macro bar ... .endm .macro baz ... .endm #else .macro foo ... .endm .macro bar ... .endm #ifdef CONFIG_symbol2 .macro baz ... .endm #else .macro baz ... .endm #endif #endif such as one defintion being updated, but the other definitions miss out. Where the contents of a macro needs to be conditional, the hint is in the first clause of this very sentence. "contents" "conditional". Not multiple separate definitions, especially not when much of the macro is the same between different configs. This patch fixes this bad style, which had caused the Thumb2 code to miss-out on the uaccess updates. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 19b2c30d3cce928010138cae4b9e57c388aa065c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 26 20:34:48 2015 +0800 f2fs: update extent tree in batches This patch introduce a new helper f2fs_update_extent_tree_range which can do extent mapping update at a specified range. The main idea is: 1) punch all mapping info in extent node(s) which are at a specified range; 2) try to merge new extent mapping with adjacent node, or failing that, insert the mapping into extent tree as a new node. In order to see the benefit, I add a function for stating time stamping count as below: uint64_t rdtsc(void) { uint32_t lo, hi; __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi)); return (uint64_t)hi << 32 | lo; } My test environment is: ubuntu, intel i7-3770, 16G memory, 256g micron ssd. truncation path: update extent cache from truncate_data_blocks_range non-truncataion path: update extent cache from other paths total: all update paths a) Removing 128MB file which has one extent node mapping whole range of file: 1. dd if=/dev/zero of=/mnt/f2fs/128M bs=1M count=128 2. sync 3. rm /mnt/f2fs/128M Before: total count average truncation: 7651022 32768 233.49 Patched: total count average truncation: 3321 33 100.64 b) fsstress: fsstress -d /mnt/f2fs -l 5 -n 100 -p 20 Test times: 5 times. Before: total count average truncation: 5812480.6 20911.6 277.95 non-truncation: 7783845.6 13440.8 579.12 total: 13596326.2 34352.4 395.79 Patched: total count average truncation: 1281283.0 3041.6 421.25 non-truncation: 7355844.4 13662.8 538.38 total: 8637127.4 16704.4 517.06 1) For the updates in truncation path: - we can see updating in batches leads total tsc and update count reducing explicitly; - besides, for a single batched updating, punching multiple extent nodes in a loop, result in executing more operations, so our average tsc increase intensively. 2) For the updates in non-truncation path: - there is a little improvement, that is because for the scenario that we just need to update in the head or tail of extent node, new interface optimize to update info in extent node directly, rather than removing original extent node for updating and then inserting that updated one into cache as new node. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1b383bf912b25029fb180cf2cf8f33f90d6cf97f Merge: 1afe839 d332881 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Aug 26 20:33:58 2015 +0200 Merge tag 'ipvs2-for-v4.3' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next Simon Horman says: ==================== Second Round of IPVS Updates for v4.3 I realise these are a little late in the cycle, so if you would prefer me to repost them for v4.4 then just let me know. The updates include: * A new scheduler from Raducu Deaconu * Enhanced configurability of the sync daemon from Julian Anastasov ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d31ff5f7f3b142b8d1ebb3da89187c54cdf2bc71 Author: Damien.Horsley <Damien.Horsley@xxxxxxxxxx> Date: Wed Aug 26 17:11:40 2015 +0100 clk: pistachio: correct critical clock list Current critical clock list for pistachio enables only mips and sys clocks by default but there are also other clocks that are not claimed by anyone and needs to be enabled by default. This patch updates the critical clocks that need to be enabled by default. Add a separate struct to distinguish the critical clocks as listed: 1.) core clocks: a.) mips clock 2.) peripheral system clocks: a.) sys clock b.) sys_bus clock c.) DDR clock d.) ROM clock Fixes: b35d7c33419c("CLK: Pistachio: Register core clocks") Cc: <stable@xxxxxxxxxxxxxxx> # 4.1 Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Damien.Horsley <Damien.Horsley@xxxxxxxxxx> Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7937c6c57e0da7bffa7b10bac23f230c77523e35 Author: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Date: Wed Aug 26 17:11:39 2015 +0100 clk: pistachio: Fix PLL rate calculation in integer mode .recalc_rate callback for the fractional PLL doesn't take operating mode into account when calculating PLL rate. This results in the incorrect PLL rates when PLL is operating in integer mode. Operating mode of fractional PLL is based on the value of the fractional divider. Currently it assumes that the PLL will always be configured in fractional mode which may not be the case. This may result in the wrong output frequency. Also vco was calculated based on the current operating mode which makes no sense because .set_rate is setting operating mode. Instead, vco should be calculated using PLL settings that are about to be set. Fixes: 43049b0c83f17("CLK: Pistachio: Add PLL driver") Cc: <stable@xxxxxxxxxxxxxxx> # 4.1 Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e53f21c761d141bbcbce06e9ddab3b4e0a828f2c Author: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Date: Wed Aug 26 17:11:38 2015 +0100 clk: pistachio: Fix override of clk-pll settings from boot loader PLL enable callbacks are overriding PLL mode (int/frac) and Noise reduction (on/off) settings set by the boot loader which results in the incorrect clock rate. PLL mode and noise reduction are defined by the DSMPD and DACPD bits of the PLL control register. PLL .enable() callbacks enable PLL by deasserting all power-down bits of the PLL control register, including DSMPD and DACPD bits, which is not necessary since these bits don't actually enable/disable PLL. This commit fixes the problem by removing DSMPD and DACPD bits from the "PLL enable" mask. Fixes: 43049b0c83f17("CLK: Pistachio: Add PLL driver") Cc: <stable@xxxxxxxxxxxxxxx> # 4.1 Reviewed-by: Andrew Bresitcker <abrestic@xxxxxxxxxxxx> Signed-off-by: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 093affb009a3d87848e51217cd1a06ce1135633f Author: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Date: Wed Aug 26 17:11:37 2015 +0100 clk: pistachio: Fix 32bit integer overflows This commit fixes 32bit integer overflows throughout the pll driver (i.e. wherever the result of integer multiplication may exceed the range of u32). One of the functions affected by this problem is .recalc_rate. It returns incorrect rate for some pll settings (not for all though) which in turn results in the incorrect rate setup of pll's child clocks. Fixes: 43049b0c83f17("CLK: Pistachio: Add PLL driver") Cc: <stable@xxxxxxxxxxxxxxx> # 4.1 Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Zdenko Pulitika <zdenko.pulitika@xxxxxxxxxx> Signed-off-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1afe839e6b31a85fc53adbf8757d6373908d414d Author: Andreas Herz <andi@xxxxxxxxxxxxxxx> Date: Fri Aug 21 11:31:32 2015 +0200 netfilter: ip6t_REJECT: added missing icmpv6 codes RFC 4443 added two new codes values for ICMPv6 type 1: 5 - Source address failed ingress/egress policy 6 - Reject route to destination And RFC 7084 states in L-14 that IPv6 Router MUST send ICMPv6 Destination Unreachable with code 5 for packets forwarded to it that use an address from a prefix that has been invalidated. Codes 5 and 6 are more informative subsets of code 1. Signed-off-by: Andreas Herz <andi@xxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f9ed72dde34e3d5253e206e4bc3edbc6373015d6 Merge: f5db4b3 74c9c91 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 26 11:08:47 2015 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block fixes from Jens Axboe: "Two fixes in this pull request: - The writeback regression fix from Tejun, which has been weeks in the making. This fixes a case where we would sometimes not issue writeback when we should have. - An older fix for a memory corruption issue in mtip32xx. It was deferred since we wanted a better fix for this (driver should not have to handle that case), but given the timing, it's better to put the simple fix in for 4.2 release" * 'for-linus' of git://git.kernel.dk/linux-block: mtip32x: fix regression introduced by blk-mq per-hctx flush writeback: sync_inodes_sb() must write out I_DIRTY_TIME inodes and always call wait_sb_inodes() commit 8c5bbe77d4cd012668cdaf501bbd1cbfb9ad1d24 Merge: dc8242f cff8245 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 26 11:01:45 2015 -0700 Merge branch 'act_bpf_lockless' Alexei Starovoitov says: ==================== act_bpf: remove spinlock in fast path v1 version had a race condition in cleanup path of bpf_prog. I tried to fix it by adding new callback 'cleanup_rcu' to 'struct tcf_common' and call it out of act_api cleanup path, but Daniel noticed (thanks for the idea!) that most of the classifiers already do action cleanup out of rcu callback. So instead this set of patches converts tcindex and rsvp classifiers to call tcf_exts_destroy() after rcu grace period and since action cleanup logic in __tcf_hash_release() is only called when bind and refcnt goes to zero, it's guaranteed that cleanup() callback is called from rcu callback. More specifically: patches 1 and 2 - simple fixes patches 2 and 3 - convert tcf_exts_destroy in tcindex and rsvp to call_rcu patch 5 - removes spin_lock from act_bpf The cleanup of actions is now universally done after rcu grace period and in the future we can drop (now unnecessary) call_rcu from tcf_hash_destroy() patch 5 is using synchronize_rcu() in act_bpf replacement path, since it's very rare and alternative of dynamically allocating 'struct tcf_bpf_cfg' just to pass it to call_rcu looks even less appealing. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cff82457c5584f6a96d2b85d1a88b81ba304a330 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 25 20:06:35 2015 -0700 net_sched: act_bpf: remove spinlock in fast path Similar to act_gact/act_mirred, act_bpf can be lockless in packet processing with extra care taken to free bpf programs after rcu grace period. Replacement of existing act_bpf (very rare) is done with synchronize_rcu() and final destruction is done from tc_action_ops->cleanup() callback that is called from tcf_exts_destroy()->tcf_action_destroy()->__tcf_hash_release() when bind and refcnt reach zero which is only possible when classifier is destroyed. Previous two patches fixed the last two classifiers (tcindex and rsvp) to call tcf_exts_destroy() from rcu callback. Similar to gact/mirred there is a race between prog->filter and prog->tcf_action. Meaning that the program being replaced may use previous default action if it happened to return TC_ACT_UNSPEC. act_mirred race betwen tcf_action and tcfm_dev is similar. In all cases the race is harmless. Long term we may want to improve the situation by replacing the whole tc_action->priv as single pointer instead of updating inner fields one by one. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e528d89154b602209fda2fb92e89927bbffc976 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 25 20:06:34 2015 -0700 net_sched: convert rsvp to call tcf_exts_destroy from rcu callback Adjust destroy path of cls_rsvp to call tcf_exts_destroy() after rcu grace period. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed7aa879ce1a0ff6468c5a6d3eb4e31169b95c4a Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 25 20:06:33 2015 -0700 net_sched: convert tcindex to call tcf_exts_destroy from rcu callback Adjust destroy path of cls_tcindex to call tcf_exts_destroy() after rcu grace period. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit faa54be4c78da6aa2148c539659867afdecd3e8d Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 25 20:06:32 2015 -0700 net_sched: act_bpf: remove unnecessary copy Fix harmless typo and avoid unnecessary copy of empty 'prog' into unused 'strcut tcf_bpf_cfg old'. Fixes: f4eaed28c783 ("act_bpf: fix memory leaks when replacing bpf programs") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c645621b79828be7a46fb2694eb423b343b4bbe Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 25 20:06:31 2015 -0700 net_sched: make tcf_hash_destroy() static tcf_hash_destroy() used once. Make it static. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30b139dfe0bfa8727ceec2a1d5294766943dcdc8 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 26 14:36:46 2015 +0100 scripts: add extract-cert and sign-file to .gitignore ...so "git status" doesn't nag us about them. Cc: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit f57ddcdfa146636dbdcd6ac0a6d22c15d47b08c8 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 23 23:32:14 2015 +0800 ASoC: tegra: Use devm_ioremap_resource instead of open code Use devm_ioremap_resource() to simplify the code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 63ab645f4d8b2dc1351c41751e7ebb1b3f1c99d3 Author: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Date: Sun Aug 23 16:06:30 2015 +0200 spi: check bits_per_word in spi_setup This allows drivers for devices connected via SPI to check if the controller supports a given bits_per_word value during setup. Currently any BPW value is accepted durings setup, and transfers are rejected later. Signed-off-by: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5aeeb78aeb4c8607cbda54a7b0dc7315171e214f Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Jul 15 10:19:56 2015 +0530 mpt2sas, mpt3sas: Abort initialization if no memory I/O resources detected Driver crashes if the BIOS do not set up at least one memory I/O resource. This failure can happen if the device is too slow to respond during POST and is missed by the BIOS, but Linux then detects the device later in the boot process. Based on a patch from Timothy Pearson <tpearson@xxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 7d40acc38be55abb095f517e4e3a634818bc5253 Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Aug 26 16:11:40 2015 +0300 ASoC: omap-hdmi-audio: Set buffer bytes step constraint to 128 Set buffer bytes step constraint to 128. A matching constraint has already been set to period size. This helps PCM setup to tolerate ALSA clients that set the PCM hw params in unusual order. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dc8242f704fee4fddcbebfcc5a4d08526951444a Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Wed Aug 26 15:36:12 2015 +0200 lib/Makefile: remove CONFIG_AVERAGE build rule The Kconfig option AVERAGE and its implementation has been removed by commit f4e774f55fe0 ("average: remove out-of-line implementation"). Remove the dead build rule in lib/Makefile. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d16366b5f23e928e5fd22eaeaceeb0356921fc0 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:25:46 2015 -0700 qla2xxx: Avoid that sparse complains about context imbalances Surround conditional locking statements with "#ifndef __CHECKER__" / "#endif" to hide these for the sparse static source code analysis tool. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8a318fe16096a45c03e8c9a39449d1f750fafd27 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:25:25 2015 -0700 qla2xxx: Remove dead code The "return QLA_SUCCESS" statement just above the "fw_load_failed" label cannot be reached, hence remove it. Additionally remove the "else" keyword since the code block below the if-statement ends with a return statement. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 82e6afd49d9a5da8cdb648cb66e54432173298d7 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:25:07 2015 -0700 qla2xxx: Remove a superfluous test Avoid that smatch reports the following warning: drivers/scsi/qla2xxx/qla_attr.c:1081: qla2x00_model_desc_show() warn: this array is probably non-NULL. 'vha->hw->model_desc' Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8dfa4b5a9b44714d7710f9f452f65763629f10df Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:24:50 2015 -0700 qla2xxx: Fix sparse annotations This patch removes 21 casts between an __iomem pointer type and another data type but also introduces five new casts (see also the casts with "__force"). Although this patch does not change any functionality, IMHO the code with __force casts needs further review. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 118e2ef9df2297147706d21d2a1dfeefea878c5a Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:24:27 2015 -0700 qla2xxx: Avoid that sparse complains about duplicate [noderef] attributes Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ad950360eebb5f5f7610b13cfd08c0185ca3f146 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:24:08 2015 -0700 qla2xxx: Remove __constant_ prefix Whether htonl() or __constant_htonl() is used, if the argument is a constant the conversion happens at compile time. Hence leave out the __constant_ prefix for this and other endianness conversion functions. This improves source code readability. [jejb: checkpatch fixes] Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit df3f4cd0defd5f832a806ca1f0dd6638a2df17a5 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:23:46 2015 -0700 qla2xxx: Replace two macros with an inline function Replace the QLA82XX_ADDR_IN_RANGE() and QLA8044_ADDR_IN_RANGE() macros with the inline function addr_in_range(). This avoids that the compiler reports the following warning when building with W=1: comparison of unsigned expression >= 0 is always true. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 52c82823cc686d4faf9e9bc4feec4bf48c36fded Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:23:26 2015 -0700 qla2xxx: Remove set-but-not-used variables Detected these variables by building with W=1. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2374dd238c287fb7a370b53aad2dbc4c8f0c241c Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:23:02 2015 -0700 qla2xxx: Declare local functions static Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c3ff356d08275960b4a36471a81d5b2685a4074e Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:22:38 2015 -0700 qla2xxx: Report both rsp_info and rsp_info_len Let the debug statement in qlafx00_tm_iocb_entry() report both rsp_info and rsp_info_len instead of reporting rsp_info_len twice. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e51e38494a8ecc18650efb0c840600637891de2c Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Aug 20 14:28:48 2015 -0700 Input: synaptics - fix handling of disabling gesture mode Bit 2 of the mode byte has dual meaning: it can disable reporting of gestures when touchpad works in Relative mode or normal Absolute mode, or it can enable so called Extended W-Mode when touchpad uses enhanced Absolute mode (W-mode). The extended W-Mode confuses our driver and causes missing button presses on some Thinkpads (x250, T450s), so let's make sure we do not enable it. Also, according to the spec W mode "... bit is defined only in Absolute mode on pads whose capExtended capability bit is set. In Relative mode and in TouchPads without this capability, the bit is reserved and should be left at 0.", so let's make sure we respect this requirement as well. Reported-by: Nick Bowler <nbowler@xxxxxxxxxx> Suggested-by: Gabor Balla <gaborwho@xxxxxxxxx> Tested-by: Gabor Balla <gaborwho@xxxxxxxxx> Tested-by: Nick Bowler <nbowler@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3fffd12839273429a185d68431f117f0a3654b07 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Aug 17 23:52:51 2015 -0700 i2c: allow specifying separate wakeup interrupt in device tree Instead of having each i2c driver individually parse device tree data in case it or platform supports separate wakeup interrupt, and handle enabling and disabling wakeup interrupts in their power management routines, let's have i2c core do that for us. Platforms wishing to specify separate wakeup interrupt for the device should use named interrupt syntax in their DTSes: interrupt-parent = <&intc1>; interrupts = <5 0>, <6 0>; interrupt-names = "irq", "wakeup"; This patch is inspired by work done by Vignesh R <vigneshr@xxxxxx> for pixcir_i2c_ts driver. Note that the original code tried to preserve any existing wakeup settings from userspace but was not quite right in that regard: it would preserve wakeup flag set by userspace upon driver rebinding; but it would re-arm the wakeup flag if it was disabled by userspace. We think that resetting the flag upon re-binding the driver is proper behavior as the driver is responsible for setting up and handling wakeups. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Tested-by: Vignesh R <vigneshr@xxxxxx> [wsa: updated the commit message] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6602c452caf532893c1bde50aacda0bd17f958aa Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Aug 25 17:04:02 2015 -0700 of/irq: export of_get_irq_byname() Similarly to of_get_irq(), let's export of_irq_get_byname(), so if a bus core can be compiled as a module (such as I2C) it can have access to the symbol. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7a7184b01aa9deb86df661c6f7cbcf69a95b728c Author: Guillermo A. Amaral <g@xxxxxxxx> Date: Tue Aug 25 23:29:13 2015 -0700 Add factory recertified Crucial M500s to blacklist The Crucial M500 is known to have issues with queued TRIM commands, the factory recertified SSDs use a different model number naming convention which causes them to get ignored by the blacklist. The new naming convention boils down to: s/Crucial_/FC/ Signed-off-by: Guillermo A. Amaral <g@xxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1d3f9094c6fdb5680fd3b19a5b153308d53a70ee Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:13:41 2015 +0200 s390/sclp_vt220: support magic sysrequests Implement magic sysrequest handling for the VT220 terminal (also known as the Integrated ASCII console on the HMC/SE). To invoke a "magic sysrequest" function, press "Ctrl+o" followed by a second character that designates the debugging function. The handling of the sysrq is scheduled away from the SCLP IRQ context; because large amounts of sysrq output might fill up the console buffers. The console might deadlock because it cannot empty the buffers while still in the receiving IRQ context. This behavior is the same as for the SCLP console. Reported-by: Horst Weber <hweber@xxxxxxxxxx> Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ab7373bf235ede864a72f0d2f8f9a21a1748c4a2 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 17:42:39 2015 +0200 s390/ctrlchar: improve handling of magic sysrequests Extract the sysrq handling from the ctrlchar_handle() into a separate function that can be directly used by other users. Introduce a new sysrq_work structure to embed the work_struct and to specify the magic sysrq function to be invoked. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit de9c35f32410c225c585535a321ce591ea001645 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 19:29:33 2015 +0200 s390/numa: remove superfluous ARCH_WANT defines The NUMA system call "__ARCH_WANT" defines are not used by the Linux kernel, therefore remove them. Fixes: 9df62adffeb0 ("s390/numa: add core infrastructure") Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 05bfd70bcdd3cd12c061cb77b73a11ba6f87379d Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Aug 19 16:50:10 2015 +0200 s390/3270: redraw screen on unsolicited device end If a 3270 terminal is disconnected and later reconnected again, it gets an unsolicited device end. This is currently ignored and you have to hit the clear key to get the screen redrawn. Add an automatic full redraw of the screen for this case. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e19b127f5b76ec03b9c52b64f117dc75bb39eda1 Author: Alok Pandey <pandey.alok@xxxxxxxxxxx> Date: Wed Aug 26 08:56:14 2015 -0600 NVMe: Using PRACT bit to generate and verify PI by controller This patch enables the PRCHK and reftag support when PRACT bit is set, and block layer integrity is disabled. Signed-off-by: Alok Pandey <pandey.alok@xxxxxxxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2d3a5d215e24d9bfb822ae82c6c2c5d333be076d Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Wed Jul 8 17:24:01 2015 +0200 st: Destroy st_index_idr on module exit Destroy st_index_idr on module exit, reclaiming the allocated memory. This was detected by the following semantic patch (written by Luis Rodriguez <mcgrof@xxxxxxxx>) <SmPL> @ defines_module_init @ declarer name module_init, module_exit; declarer name DEFINE_IDR; identifier init; @@ module_init(init); @ defines_module_exit @ identifier exit; @@ module_exit(exit); @ declares_idr depends on defines_module_init && defines_module_exit @ identifier idr; @@ DEFINE_IDR(idr); @ on_exit_calls_destroy depends on declares_idr && defines_module_exit @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... idr_destroy(&idr); ... } @ missing_module_idr_destroy depends on declares_idr && defines_module_exit && !on_exit_calls_destroy @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... +idr_destroy(&idr); } </SmPL> Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Kai Mäkisara <kai.makisara@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit da0dc9fb4e6b0ad5a947c27a3c48985f6a2377eb Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Jul 7 15:52:45 2015 -0500 megaraid_sas: fix whitespace errors Fix whitespace and indentation errors. No code change. [jejb: checkpatch fixes] Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1be1825453f6d75ea9c9ea0c8549ca481d94a7ab Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Jul 7 15:52:34 2015 -0500 megaraid_sas: use dev_printk when possible Use dev_printk() when possible to make messages more useful. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3b8a1ba378b7502c7206ab3da5ea484a132ad30c Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Jul 7 15:52:25 2015 -0500 megaraid : use dev_printk when possible Use dev_printk() when possible to make messages more useful. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 14c3e677df9fa2e4bf87b9de683452fc140934b2 Author: Hannes Reinecke <hare@xxxxxxx> Date: Mon Jul 6 13:41:53 2015 +0200 scsi: Add ALUA state change UA handling Log the ALUA state change unit attention correctly with the message log and emit an event to allow user-space tools to react to it. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0662292aec0528363df037ad7c66bf9949c7ce46 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 26 10:23:26 2015 +0200 ALSA: usb-audio: Handle normal and auto-suspend equally In theory, the device may get suspended even at runtime PM suspend. Currently we don't save the mixer state for autopm, and it may bring inconsistency. This patch removes the special handling for autosuspend. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e819cdb198319cccf4af4fc12ac4d796109d8c23 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Jul 3 11:53:03 2015 +0300 mptfusion: prevent some memory corruption These are signed values the come from the user, we put a cap on the upper bounds but not on the lower bounds. We use "karg.dataSgeOffset" to calculate "sz". We verify "sz" and proceed as if that means that "karg.dataSgeOffset" is correct but this fails to consider that the "sz" calculations can have integer overflows. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a2fb3382edbea83c6f2bf6ac15e3673b2e254aad Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Aug 26 10:57:46 2015 +0000 tracing/uprobes: Do not print '0x (null)' when offset is 0 When manually added uprobe point with zero address, 'uprobe_events' output '(null)' instead of 0x00000000: # echo p:probe_libc/abs_0 /path/to/lib.bin:0x0 arg1=%ax > \ /sys/kernel/debug/tracing/uprobe_events # cat /sys/kernel/debug/tracing/uprobe_events p:probe_libc/abs_0 /path/to/lib.bin:0x (null) arg1=%ax This patch fixes this behavior: # cat /sys/kernel/debug/tracing/uprobe_events p:probe_libc/abs_0 /path/to/lib.bin:0x0000000000000000 Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440586666-235233-8-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit da15bd9df4afd2f9f78cf29f85f013e3a38402b5 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Aug 26 10:57:45 2015 +0000 perf probe: Support probing at absolute address It should be useful to allow 'perf probe' probe at absolute offset of a target. For example, when (u)probing at a instruction of a shared object in a embedded system where debuginfo is not avaliable but we know the offset of that instruction by manually digging. This patch enables following perf probe command syntax: # perf probe 0xffffffff811e6615 And # perf probe /lib/x86_64-linux-gnu/libc-2.19.so 0xeb860 In the above example, we don't need a anchor symbol, so it is possible to compute absolute addresses using other methods and then use 'perf probe' to create the probing points. v1 -> v2: Drop the leading '+' in cmdline; Allow uprobing at offset 0x0; Improve 'perf probe -l' result when uprobe at area without debuginfo. v2 -> v3: Split bugfix to a separated patch. Test result: # perf probe 0xffffffff8119d175 %ax # perf probe sys_write %ax # perf probe /lib64/libc-2.18.so 0x0 %ax # perf probe /lib64/libc-2.18.so 0x5 %ax # perf probe /lib64/libc-2.18.so 0xd8e40 %ax # perf probe /lib64/libc-2.18.so __write %ax # perf probe /lib64/libc-2.18.so 0xd8e49 %ax # cat /sys/kernel/debug/tracing/uprobe_events p:probe_libc/abs_0 /lib64/libc-2.18.so:0x (null) arg1=%ax p:probe_libc/abs_5 /lib64/libc-2.18.so:0x0000000000000005 arg1=%ax p:probe_libc/abs_d8e40 /lib64/libc-2.18.so:0x00000000000d8e40 arg1=%ax p:probe_libc/__write /lib64/libc-2.18.so:0x00000000000d8e40 arg1=%ax p:probe_libc/abs_d8e49 /lib64/libc-2.18.so:0x00000000000d8e49 arg1=%ax # cat /sys/kernel/debug/tracing/kprobe_events p:probe/abs_ffffffff8119d175 0xffffffff8119d175 arg1=%ax p:probe/sys_write _text+1692016 arg1=%ax # perf probe -l Failed to find debug information for address 5 probe:abs_ffffffff8119d175 (on sys_write+5 with arg1) probe:sys_write (on sys_write with arg1) probe_libc:__write (on @unix/syscall-template.S:81 in /lib64/libc-2.18.so with arg1) probe_libc:abs_0 (on 0x0 in /lib64/libc-2.18.so with arg1) probe_libc:abs_5 (on 0x5 in /lib64/libc-2.18.so with arg1) probe_libc:abs_d8e40 (on @unix/syscall-template.S:81 in /lib64/libc-2.18.so with arg1) probe_libc:abs_d8e49 (on __GI___libc_write+9 in /lib64/libc-2.18.so with arg1) Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440586666-235233-7-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6c6e024f0a62a6a08c06002fd3caa2307cc54fd0 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Aug 26 10:57:44 2015 +0000 perf probe: Fix error reported when offset without function This patch fixes a bug that, when offset is provided but function is lost, parse_perf_probe_point() will give a "" string as function name, so the checking code at the end of parse_perf_probe_point() become useless. For example: # perf probe +0x1234 Failed to find symbol in kernel Error: Failed to add events. After this patch: # perf probe +0x1234 Semantic error :Offset requires an entry function. Error: Command Parse Error. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440586666-235233-6-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a6da499b76b1a75412f047ac388e9ffd69a5c55b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 26 10:20:59 2015 +0200 ALSA: usb-audio: Replace probing flag with active refcount We can use active refcount for preventing autopm during probe. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit be07afe92a09638db9159d2c0794487d66a437a2 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Aug 26 10:57:43 2015 +0000 perf probe: Fix list result when address is zero When manually added uprobe point with zero address, 'perf probe -l' reports error. For example: # echo p:probe_libc/abs_0 /path/to/lib.bin:0x0 arg1=%ax > \ /sys/kernel/debug/tracing/uprobe_events # perf probe -l Error: Failed to show event list. Probing at 0x0 is possible and useful when lib.bin is not a normal shared object but is manually mapped. However, in this case kernel report: # cat /sys/kernel/debug/tracing/uprobe_events p:probe_libc/abs_0 /path/to/lib.bin:0x (null) arg1=%ax This patch supports the above kernel output. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440586666-235233-5-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 47ab154593827b1a8f0713a2b9dd445753d551d8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 25 16:09:00 2015 +0200 ALSA: usb-audio: Avoid nested autoresume calls After the recent fix of runtime PM for USB-audio driver, we got a lockdep warning like: ============================================= [ INFO: possible recursive locking detected ] 4.2.0-rc8+ #61 Not tainted --------------------------------------------- pulseaudio/980 is trying to acquire lock: (&chip->shutdown_rwsem){.+.+.+}, at: [<ffffffffa0355dac>] snd_usb_autoresume+0x1d/0x52 [snd_usb_audio] but task is already holding lock: (&chip->shutdown_rwsem){.+.+.+}, at: [<ffffffffa0355dac>] snd_usb_autoresume+0x1d/0x52 [snd_usb_audio] This comes from snd_usb_autoresume() invoking down_read() and it's used in a nested way. Although it's basically safe, per se (as these are read locks), it's better to reduce such spurious warnings. The read lock is needed to guarantee the execution of "shutdown" (cleanup at disconnection) task after all concurrent tasks are finished. This can be implemented in another better way. Also, the current check of chip->in_pm isn't good enough for protecting the racy execution of multiple auto-resumes. This patch rewrites the logic of snd_usb_autoresume() & co; namely, - The recursive call of autopm is avoided by the new refcount, chip->active. The chip->in_pm flag is removed accordingly. - Instead of rwsem, another refcount, chip->usage_count, is introduced for tracking the period to delay the shutdown procedure. At the last clear of this refcount, wake_up() to the shutdown waiter is called. - The shutdown flag is replaced with shutdown atomic count; this is for reducing the lock. - Two new helpers are introduced to simplify the management of these refcounts; snd_usb_lock_shutdown() increases the usage_count, checks the shutdown state, and does autoresume. snd_usb_unlock_shutdown() does the opposite. Most of mixer and other codes just need this, and simply returns an error if it receives an error from lock. Fixes: 9003ebb13f61 ('ALSA: usb-audio: Fix runtime PM unbalance') Reported-and-tested-by: Alexnader Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 614e2fdbd79b47ddf63a1ccd3f2343e98c3077fb Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Aug 26 10:57:42 2015 +0000 perf probe: Fix list result when symbol can't be found 'perf probe -l' reports error if it is unable find symbol through address. Here is an example. # echo 'p:probe_libc/abs_5 /lib64/libc.so.6:0x5' > /sys/kernel/debug/tracing/uprobe_events # cat /sys/kernel/debug/tracing/uprobe_events p:probe_libc/abs_5 /lib64/libc.so.6:0x0000000000000005 # perf probe -l Error: Failed to show event list Also, this situation triggers a logical inconsistency in convert_to_perf_probe_point() that, it returns ENOMEM but actually it never try strdup(). This patch removes !tp->module && !is_kprobe condition, so it always uses address to build function name if symbol not found. Test result: # perf probe -l probe_libc:abs_5 (on 0x5 in /lib64/libc.so.6) Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440586666-235233-4-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0bdede8a3e4ff7710622a2e6713d04b3243c24a8 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Aug 26 15:01:03 2015 +0200 tools build: Allow duplicate objects in the object list It's sometimes useful to specify the object affiliation to multiple config options like: libperf-$(CONFIG_X86) += tsc.o libperf-$(CONFIG_AUXTRACE) += tsc.o while the object itself is linked only once. Adding the support for this and ignoring duplicate objects in the object list. Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150826130103.GF22670@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 18b9a05868391e8f617febb4528bc1765dc921cf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Aug 26 10:07:50 2015 +0200 perf tools: Remove export.h from MANIFEST We don't carry an export.h wrapper anymore, remove it from the MANIFEST file to avoid breaking the make perf-tar targets. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150826080750.GD22670@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e486367f0101d43a044404ed2fa35aa043b19667 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Aug 25 13:27:35 2015 +0000 perf probe: Prevent segfault when reading probe point with absolute address 'perf probe -l' panic if there is a manually inserted probing point with absolute address. For example: # echo 'p:probe/abs_ffffffff811e6615 0xffffffff811e6615' > /sys/kernel/debug/tracing/kprobe_events # perf probe -l Segmentation fault (core dumped) This patch fix this problem by considering the situation that "tp->symbol == NULL" in find_perf_probe_point_from_dwarf() and find_perf_probe_point_from_map(). After this patch: # perf probe -l probe:abs_ffffffff811e6615 (on SyS_write+5@fs/read_write.c) And when debug info is missing: # rm -rf ~/.debug # mv /lib/modules/4.2.0-rc1+/build/vmlinux /lib/modules/4.2.0-rc1+/build/vmlinux.bak # perf probe -l probe:abs_ffffffff811e6615 (on sys_write+5) Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440509256-193590-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c60f99445aed684b5a8d84dcb84f5a06c1f70430 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:20 2015 -0500 MIPS: MT: Remove "weak" from vpe_run() declaration Weak header file declarations are error-prone because they make every definition weak, and the linker chooses one based on link order (see 10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node decl")). That's not a problem for vpe_run() because Kconfig ensures there's never more than one definition: - vpe_run() is defined in arch/mips/kernel/vpe-mt.c if CONFIG_MIPS_VPE_LOADER_MT=y - vpe_run() is defined in arch/mips/mti-malta/malta-amon.c if CONFIG_MIPS_CMP=y - CONFIG_MIPS_VPE_LOADER_MT cannot be set if CONFIG_MIPS_CMP=y But it's simpler to verify correctness if we remove "weak" from the picture and test the config symbols directly. Remove "weak" from the vpe_run() declaration and use #if to test whether a definition should be present. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10684/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1c205b9cc6f66c5caa91fa2644dcf75254c3bfe1 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:12 2015 -0500 MIPS: VPE: Exit vpe_release() early if vpe_run() isn't defined vpe_run() is a weak symbol. If there's no definition of it, its value is zero. If vpe_run is zero, return failure early. We're going to fail anyway, so there's no point in getting a VPE and attempting to load it. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10683/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 27d8d449ba7c553e9e004aaa07b225625b20fd2d Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:11:04 2015 -0500 MIPS: Remove "weak" from platform_maar_init() declaration Weak header file declarations are error-prone because they make every definition weak, and the linker chooses one based on link order (see 10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node decl")). platform_maar_init() is defined in: - arch/mips/mm/init.c (where it is marked "weak") - arch/mips/mti-malta/malta-memory.c (without annotation) The "weak" attribute on the platform_maar_init() extern declaration applies to the platform-specific definition in arch/mips/mti-malta/malta-memory.c, so both definitions are weak, and which one we get depends on link order. Remove the "weak" attribute from the declaration. That makes the malta definition strong, so it will always be preferred if it is present. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: linux-mips@xxxxxxxxxxxxxx Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10682/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8dedde6b289c51ba216fdf5467fc85a673775489 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sun Jul 12 18:10:56 2015 -0500 MIPS: CPC: Remove "weak" from mips_cpc_phys_base() and make it static There's only one implementation of mips_cpc_phys_base(), and it's only used within the same file, so it doesn't need to be weak, and it doesn't need an extern declaration. Remove the extern mips_cpc_phys_base() declaration and make it static. [ralf@xxxxxxxxxxxxxx: Fixed conflict.] Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: linux-mips@xxxxxxxxxxxxxx Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10681/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9b4685de77afd688407fd56cc350083a0a6a0516 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 13 17:14:22 2015 +0100 MIPS: Drop CONFIG_RUNTIME_DEBUG & debug.h The debug.h header provided some MIPS-specific debug macros, which are no longer used at all. Remove them. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10693/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2dca88da835616c3c65d1e4167288346fd67f02f Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Mon Jul 13 17:14:21 2015 +0100 MIPS: ops-emma2rh: Drop nonsensical db_assert The db_assert call checks whether the bus_num pointer is non-NULL, but does so after said pointer has been dereferenced by the assignment on the previous line. Thus the check is pointless & likely to have been optimised out by the compiler anyway. The check_args function is static & only ever called from the local file with bus_num being a pointer to an on-stack variable, so the check seems somewhat overzealous anyway. Simply remove it. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10692/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e51395d2739d0bb4991b6b531e1066475aae9bfd Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:10 2015 +0000 MIPS: rt3883: Prepare rt3883_pci_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10706/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 31429d1a74c01875d7dad72a6a1d75d8eeca2bc6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:09 2015 +0000 MIPS: netlogic: Prepare ipi handlers for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10705/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 56a86c352b02ce2fe09a72771ef4334632a1f9c1 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:07 2015 +0000 MIPS: octeon: Replace the homebrewn flow handler The gpio interrupt handling of octeon contains a homebrewn flow handler which calls either handle_level_irq or handle_edge_irq depending on the trigger type. Thats an extra conditional and call in the interrupt handling path. The proper way to handle different types and therefor different flows is to update the handler in the irq_set_type() callback. Remove the extra indirection and add the handler update to octeon_irq_ciu_gpio_set_type(). At mapping time it defaults to handle_level_irq which gets updated if the device tree contains a different trigger type. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10704/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9d9a2fa7dcbd05a1608a6a38b6ec1a092e117c3c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:06 2015 +0000 MIPS: ath91: Remove pointless irqdisable/enable The various interrupt flow handlers in ath79 are cascading interrupt handlers. They all have a disable_irq_nosync()/enable_irq() pair around the generic_handle_irq() call. The value of this disable/enable is zero because its a complete noop: disable_irq_nosync() merily increments the disable count without actually masking the interrupt. enable_irq() soleley decrements the disable count without touching the interrupt chip. The interrupt cannot arrive again because the complete call chain runs with interrupts disabled. Remove it. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10703/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e0288a0a7bb8b28787453cb96f7aad272086def1 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:04 2015 +0000 MIPS: alchemy: Remove pointless irqdisable/enable bcsr_csc_handler() is a cascading interrupt handler. It has a disable_irq_nosync()/enable_irq() pair around the generic_handle_irq() call. The value of this disable/enable is zero because its a complete noop: disable_irq_nosync() merily increments the disable count without actually masking the interrupt. enable_irq() soleley decrements the disable count without touching the interrupt chip. The interrupt cannot arrive again because the complete call chain runs with interrupts disabled. Remove it. [ralf@xxxxxxxxxxxxxx: Fold in followup fix from Thomas Gleixner.] Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10702/ Patchwork: https://patchwork.linux-mips.org/patch/10708/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9154566ee3edd0f6a7aa4ef8bed76d3cd57bcb88 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:02 2015 +0000 MIPS: bcm63xx: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10701/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5a06545008514ce4b9315284b4ddff31bfa9d77e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:46:01 2015 +0000 MIPS: alchemy: Use irq_set_chip_handler_name_locked() Hand in irq_data and avoid the redundant lookup of irq_desc. Originally-from: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10700/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5c1594224fffccb4adb76fb460871e1047accbbd Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:45:59 2015 +0000 MIPS: irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10699/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 586134a84c0e3e503d2e65a117e2cb06f376aac8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:45:58 2015 +0000 MIPS: pci-rt3883: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10698/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4d3f77d855090e11c9823fcb00864745adaf6fae Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:45:56 2015 +0000 MIPS: pci-ar724x: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10697/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 777fd18a71866f5057b27535c47c817973293498 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:45:55 2015 +0000 MIPS: pci-ar71xx: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10696/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f058dc80d6f964fa466650f74290a964a7f91c92 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:45:53 2015 +0000 MIPS: jz4740: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/10695/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 20a7f7e5a6739a3521529a5f2bbfddf9f545fef9 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:53 2015 +0100 MIPS: Set up FTLB probability for I6400 Set up the I6400 FTLB probability similar to P5600 and proAptiv. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10652/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e87569cd6c57cfe8c3fbbd20a5cf5cefb8b14156 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:52 2015 +0100 MIPS: cpu-probe: Fix VTLB/FTLB configuration for R6 R6 has dropped the MMUExtDef field from the config4 register and it now returns 0. However, the return value means nothing in that case and the only supported configuration for R6 is the VTLB+FTLB (MMUextDef == 3). As a result, rework the code so that the correct value is set for R6 cores. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10651/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 912708c26d673f8d043bc4a9552495fefd6ddf18 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:51 2015 +0100 MIPS: Add default case for the FTLB enable/disable code Add a default case for the FTLB enable/disable code. This will be used to detect that something went wrong in the set_ftlb_enable() function either because that function knows nothing about the running core, or simply because the core can't turn its FTLB on/off. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10650/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c982c6d6c48b48159db481581cadbb8773219677 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:50 2015 +0100 MIPS: cpu-probe: Remove cp0 hazard barrier when enabling the FTLB We are so early in the boot process where we really don't want to stall and wait for CP0 FTLB related changes become visible so just drop the cp0 hazard barrier. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10649/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6f50c83529ac1fa3444ff4be5f5b0bf3d76db678 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:49 2015 +0100 IRQCHIP: irq-mips-gic: Add support for CM3 64-bit timer irqs CM3 uses a 64-bit counter and compare registers so add support for them in the GIC counter interrupt. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10648/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c3f57f02e3a275d8b5c6dc692adb21525ccb392c Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Jul 14 10:26:09 2015 +0100 IRQCHIP: irq-mips-gic: Extend GIC accessors for 64-bit CMs Previously, the GIC accessors were only accessing u32 registers but newer CMs may actually be 64-bit on MIPS64 cores. As a result of which, extended these accessors to support 64-bit reads and writes. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10709/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3885c2b463f6a236e47df22ef13d13433006b951 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:47 2015 +0100 MIPS: CM: Add support for reporting CM cache errors The CM cache error reporting code is not Malta specific and as such it should live in the mips-cm.c file. Moreover, CM2 and CM3 differ in the way cache errors are being recorded to the registers so extend the previous code to add support for the CM3 as well. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10646/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 391057d915f42d4942f0c65e7d55cec6662c8a54 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:46 2015 +0100 MIPS: CPC: Fix type for GCR CPC base reg for 64-bit The GCR CPC base register is 64-bit on 64-bit processors so use the appropriate field. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10645/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 038b0f536e45d85038428d2edc169f1f4089c36d Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:45 2015 +0100 MIPS: CM: The CMGCRBase register is 64-bit on 64 bit kernels. The CMGCRBase register (CP0, 15, 3) register is 64-bit on MIPS64 so we change its type to unsigned long. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10644/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c0b584a2691ccbc3c0d4e6cb1874bcf00a921371 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Jul 14 09:14:12 2015 +0100 MIPS: mips-cm: Extend CM accessors for 64-bit CPUs Previously, the CM accessors were only accessing CM registers as u32 types instead of using the native CM register with. However, newer CMs may actually be 64-bit on MIPS64 cores. Fortunately, current 64-bit CMs (CM3) hold all the useful configuration bits in the lower half of the 64-bit registers (at least most of them) so they can still be accessed using the current 32-bit accessors. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10707/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c014d164f21dbdbe721a4ec7e5147591c4eed545 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:43 2015 +0100 MIPS: Add platform callback before initializing the L2 cache Allow platforms to perform platform-specific steps before configuring the L2 cache. This is necessary for platforms with CM3 since the L2 parameters no longer live in the Config2 register. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10642/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7d53e9c4cd21cbc82b7422c90852e56baaf7ddae Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Thu Jul 9 10:40:42 2015 +0100 MIPS: CM3: Add support for CM3 L2 cache. Detect the L2 cache configuration from GCR_L2_CONFIG when a CM3 is present in the system, rather than from Config2 which does not expose the L2 configuration on I6400. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10641/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0ba3c125aa0ff9f993c0f9629945a0dd18d42568 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Thu Jul 9 10:40:40 2015 +0100 MIPS: CM: Add GCR_L2_CONFIG register accessors Provide accessor functions for the GCR_L2_CONFIG register introduced with CM3, and define the bits included in the register. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10639/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 197e89e0984a2aaf1a5a998887b22e53051e3b6d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Fri Jul 10 10:12:52 2015 +0100 MIPS: mips-cm: Implement mips_cm_revision Provide a function to trivially return the version of the CM present in the system, or 0 if no CM is present. The mips_cm_revision() will be used later on to determine the CM register width, so it must not use the regular CM accessors to read the revision register since that will lead to build failures due to recursive inlines. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10655/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5676319c91c8d668635ac0b9b6d9145c4fa418ac Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:38 2015 +0100 MIPS: Kconfig: Disable MIPS MT and SMP implementations for R6 R6 does not support the MIPS MT ASE and the CMP/SMP options so restrict them in order to prevent users from selecting incompatible SMP configuration for R6 cores. We also disable the CPS/SMP option because its support hasn't been added to the CPS code yet. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10637/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e57f9a2dcedc7f4847799e13a9987874a161d308 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:37 2015 +0100 MIPS: Add MIPS I6400 probe support Add a case in cpu_probe_mips for the MIPS I6400 processor ID, which sets the CPU type to the new CPU_I6400. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10636/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4e88a8621301b992e8e3422e08bfb604772f3338 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:36 2015 +0100 MIPS: Add cases for CPU_I6400 Add a CPU_I6400 case to various switch statements, doing the same thing as for CPU_P5600. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10635/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 90b8baa2c1acb8c270aa31e75d00b44193fb306f Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Thu Jul 9 10:40:35 2015 +0100 MIPS: Add MIPS I6400 PRid and cputype identifiers Add a Processor ID and CPU type for the MIPS I6400 core. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10634/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7653716bf989cf8be04c7bedcad6bb201b1df108 Author: Alban Bedel <albeu@xxxxxxx> Date: Thu Jul 9 10:51:36 2015 +0200 MIPS: ath79: irq: IRQCHIP_DECLARE moved to linux/irqchip.h Remove the ugly cross tree include now that IRQCHIP_DECLARE moved to linux/irqchip.h. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/10633/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a0c81ce08791d3892aacba341efa29fadf30beda Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Aug 23 02:11:22 2015 +0200 gpio: xlp: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fd96811576e646011489e38b0594dc017db21971 Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Aug 21 15:56:42 2015 -0700 gpio: vf610: handle level IRQ's properly The GPIO IRQ controller is able to generate level triggered interrupts, however, these were handled by handle_simple_irq so far which did not take care of IRQ masking. This lead to "nobody cared (try booting with the "irqpoll" option)" stack traces. Use the generic interrupt handlers depending on the IRQ type. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 58a5e1b64bb0a9ef7747840b79d290e1ad4eed44 Author: Maoguang Meng <maoguang.meng@xxxxxxxxxxxx> Date: Fri Aug 14 16:38:06 2015 +0800 pinctrl: mediatek: Implement wake handler and suspend resume This patch implement irq_set_wake to get who is wakeup source and setup on suspend resume. Signed-off-by: Maoguang Meng <maoguang.meng@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Acked-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d48c2c02645392483f2b88b050d21ce1db6997b3 Author: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Date: Tue Aug 25 17:32:45 2015 -0700 pinctrl: mediatek: Fix multiple registration issue. Since our common driver need support main chip and PMU at the same time, that means it will register two pinctrl device, and the pinctrl_desc structure should be used two times. But pinctrl_desc use global static definition, then the latest registered pinctrl device will overwrite the old one's, all members in pinctrl_desc will set to the new one's, such as name, pins and pins numbers, etc. This is a bug. Move pinctrl_desc into mtk_pinctrl, assign new value for each pinctrl device to fix it. Cc: stable@xxxxxxxxxxxxxxx # v4.1+ Signed-off-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Reviewed-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b25cf30a013195a69c167209d13c19b90a7450f2 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 26 14:21:14 2015 +0200 ALSA: hda - Remove superfluous pcm NULL check The variable pcm can be never NULL since it was rewritten with list_for_each_entry(). Suggested-by: Markus Osterhoff <linux-kernel@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1c0beb27443c98257a5bced2978f2556f2ae1709 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Wed Aug 26 19:48:13 2015 +0800 ASoC: rockchip: fix platform_no_drv_owner.cocci warnings sound/soc/rockchip/rockchip_rt5645.c:214:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0137d5ff8488f1d17a83508578976d3a67ba8e81 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Wed Aug 26 19:44:10 2015 +0800 ASoC: rockchip: fix platform_no_drv_owner.cocci warnings sound/soc/rockchip/rockchip_max98090.c:225:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d9aac397a5d8f4ee26a4178b5e4a5c474a3a76a Author: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 22:42:47 2015 +1000 powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case Since commit 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI"), the setup of dev->msi_cap/msix_cap and the disable of MSI/MSI-X interrupts isn't being done at PCI probe time, as the logic responsible for this was moved in the aforementioned commit from pci_device_add() to pci_setup_device(). The latter function is not reachable on PowerPC pseries platform during Open Firmware PCI probing time. This exhibits as drivers not being able to enable MSI, eg: bnx2x 0000:01:00.0: no msix capability found This patch calls pci_msi_setup_pci_dev() explicitly to disable MSI/MSI-X during PCI probe time on pSeries platform. Fixes: 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI") [mpe: Flesh out change log and clarify comment] Signed-off-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 22b6839b914bbe5d94de11bbb83931952090719c Author: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 22:42:46 2015 +1000 PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code Commit 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI") changed the location of the code that initialises dev->msi_cap/msix_cap and then disables MSI/MSI-X interrupts at PCI probe time in devices that have this flag set. It moved the code from pci_msi_init_pci_dev() to a new function named pci_msi_setup_pci_dev(), called by pci_setup_device(). The pseries PCI probing code does not call pci_setup_device(), so since the aforementioned commit the function pci_msi_setup_pci_dev() is not called and MSI/MSI-X interrupts are left enabled. Additionally because dev->msi_cap/msix_cap are not initialised no driver can ever enable MSI/MSI-X. To fix this, the pseries PCI probe should manually call pci_msi_setup_pci_dev(), so this patch makes it non-static. Fixes: 1851617cd2da ("PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI") [mpe: Update change log to mention dev->msi_cap/msix_cap] Signed-off-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 580a7ee93317b901358f497c2de34f7a66066963 Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Wed Aug 19 01:26:55 2015 +0300 pinctrl: sh-pfc: r8a7794: add USB pin groups Add USB0/1 pin groups to R8A7794 PFC driver. Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> [Sergei: rebased, renamed, added changelog.] Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 78de5d5220322456f2568de23bc2e97bba3957e3 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Tue Aug 18 09:55:44 2015 -0400 gpio: max732x: Fix error handling in probe() This fixes error handling in the function max732x_probe by checking if the calls to the function max732x_readb fail by returning a error code. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f8ce20005d1694584448cd544be5fb32416a277c Author: Xing Zheng <zhengxing@xxxxxxxxxxxxxx> Date: Tue Aug 25 15:52:42 2015 +0800 ASoC: rockchip: fix a misjudgement by return Being careless, judge the return value of snd_soc_card_jack_new is opposite, so it should be fixed. Signed-off-by: Xing Zheng <zhengxing@xxxxxxxxxxxxxx> Reviewed-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0ba3ac03c1f38be17102d1c76c42a7c66a3e9ff2 Merge: a8b9774 ee92a20 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Wed Aug 26 12:40:23 2015 +0300 Merge ath-next from ath.git Major changes in ath10k: * add spectral scan support for qca99x0 * add qca6164 support commit ee92a2099f79d47e1d6d4857ab308f5b15a00549 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Fri Aug 21 18:42:36 2015 +0530 ath10k: fix compilation warnings in wmi phyerr pull function Below compilation warnings are observed in gcc version 4.8.2. Even though it's not seen in bit older gcc versions (for ex, 4.7.3), It's good to fix it by changing format specifier from %d to %zd in wmi pull phyerr functions. wmi.c: In function 'ath10k_wmi_op_pull_phyerr_ev': wmi.c:3567:8: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long unsigned int' [-Wformat=] left_len, sizeof(*phyerr)); ^ wmi.c: In function 'ath10k_wmi_10_4_op_pull_phyerr_ev': wmi.c:3612:8: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long unsigned int' [-Wformat=] left_len, sizeof(*phyerr)); ^ Fixes: 991adf71a6cd ("ath10k: refactor phyerr event handlers") Fixes: 2b0a2e0d7c2f ("ath10k: handle 10.4 firmware phyerr event") Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a9dd941d840714b96b0a60451f6a3aa3a9be8fc6 Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Thu Aug 13 17:16:10 2015 -0400 kbuild: avoid listing /lib/modules in kernel spec file This causes conflicts when using multiple kernels built with this mechanism. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 36582e5d4daeccf68a8a3cef9bc37b60fb7d45b9 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 13 14:32:26 2015 +0200 ath10k: add qca6164 support This adds additional 0x0041 PCI Device ID definition to ath10k for QCA6164 which is a 1 spatial stream sibling of the QCA6174 (which is 2 spatial stream chip). The QCA6164 needs a dedicated board.bin file which is different than the one used for QCA6174. If the board.bin is wrong the device will crash early while trying to boot firmware. The register dump will look like this: ath10k_pci 0000:02:00.0: firmware register dump: ath10k_pci 0000:02:00.0: [00]: 0x05010000 0x000015B3 0x000A012D 0x00955B31 ... Note the value 0x000A012D. Special credit goes to Alan Liu <alanliu@xxxxxxxxxxxxxxxx> for providing support help which enabled me to come up with this patch. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 4535edbd4214ce21328655434c0b75da404e29b7 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Thu Aug 20 10:29:05 2015 +0530 ath10k: add spectral scan support for 10.4 fw To enable/configure spectral scan parameters in 10.4 firmware, existing wmi spectral related functions can be reused. Link those functions in 10.4 wmi ops table. In addition, adjust bin size (only when size is 68 bytes) before reporting bin samples to user space. The background for this adjustment is that qca99x0 reports bin size as 68 bytes (64 bytes + 4 bytes) in report mode 2. First 64 bytes carries in-band tones (-32 to +31) and last 4 byte carries band edge detection data (+32) mainly used in radar detection purpose. Additional last 4 bytes are stripped to make bin size valid one. This bin size adjustment will happen only for qca99x0, all other chipsets will report proper bin sizes (64/128) without extra 4 bytes being added at the end. The changes are validated in qca99x0 using 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5e55e3cbd1042cffa6249f22c10585e63f8a29bf Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 19 13:10:43 2015 +0200 ath10k: fix dma_mapping_error() handling The function returns 1 when DMA mapping fails. The driver would return bogus values and could possibly confuse itself if DMA failed. Fixes: 767d34fc67af ("ath10k: remove DMA mapping wrappers") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 503422d95248c1d9698735bb5803b70aa51b18ef Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 19 13:08:53 2015 +0200 ath10k: add missing mutex unlock on failpath Kernel would complain about leaving a held lock after going back to userspace and would subsequently deadlock. Fixes: e04cafbc38c7 ("ath10k: fix peer limit enforcement") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5d9452e7c52a106c9efdeb6c72fc73b184a6543f Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Aug 18 14:10:56 2015 +0300 gpio: omap: fix clk_prepare/unprepare usage As per CCF documentation (clk.txt) the clk_prepare/unprepare APIs are not allowed in atomic context. But now OMAP GPIO driver uses them while applying debounce settings and as part of PM runtime irqsafe operations: - omap_gpio_debounce() is holding the lock with IRQs off. + omap2_set_gpio_debounce() + clk_prepare_enable() + clk_prepare() this one might sleep. - pm_runtime_get_sync() is holding the lock with IRQs off + omap_gpio_runtime_suspend() + raw_spin_lock_irqsave() + omap_gpio_dbck_disable() + clk_disable_unprepare() Hence, fix it by moeving dbclk prepare/unprepare in OMAP GPIO omap_gpio_probe/omap_gpio_remove. Also, while here, ensure that debounce functionality is disabled if clk_get() failed, because otherwise kernel will carsh in omap2_set_gpio_debounce(). Reported-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 235f1eb1ab93a8e30a66c38949e6d2aeda136aec Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Aug 18 14:10:55 2015 +0300 gpio: omap: protect regs access in omap_gpio_irq_handler The access to HW registers has to be be protected in omap_gpio_irq_handler(), as it may race with code executed on another CPUs. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e85ec6c3047be0646e7c572e24869c212b685c7c Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Aug 18 14:10:54 2015 +0300 gpio: omap: fix omap2_set_gpio_debounce According to TRMs: Required input line stable = (the value of the GPIO_DEBOUNCINGTIME[7:0].DEBOUNCETIME + 1) Ã?â?? 31, where the value of the GPIO_DEBOUNCINGTIME[7:0].DEBOUNCETIME bit field is from 0 to 255. But now omap2_set_gpio_debounce() will calculate debounce time and behave incorrectly in the following cases: 1) requested debounce time is !0 and <32 calculated DEBOUNCETIME = 0x1 == 62 us; expected value of DEBOUNCETIME = 0x0 == 31us 2) requested debounce time is 0 calculated DEBOUNCETIME = 0x1 == 62 us; expected: disable debounce and DEBOUNCETIME = 0x0 3) requested debounce time is >32 and <63 calculated DEBOUNCETIME = 0x0 and debounce will be disabled; expected: enable debounce and DEBOUNCETIME = 0x1 == 62 us Hence, rework omap2_set_gpio_debounce() to fix above cases: 1) introduce local variable "enable" and use it to identify when debounce need to be enabled or disabled. Disable debounce if requested debounce time is 0. 2) use below formula for debounce time calculation: debounce = (DIV_ROUND_UP(debounce, 31) - 1) & 0xFF; Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 89d18e3af8b99481589e07f92fd966ceb86eff5d Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Aug 18 14:10:53 2015 +0300 gpio: omap: switch to use platform_get_irq Switch OMAP GPIO driver to use platform_get_irq(), because it is not recommened to use platform_get_resource(pdev, IORESOURCE_IRQ, ..) for requesting IRQ resources any more, as they can be not ready yet in case of DT-boot. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bb8cdf9510d5d2b67126b36747c51d531026215d Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Aug 18 14:10:52 2015 +0300 gpio: omap: remove wrong irq_domain_remove usage in probe The bank->chip.irqdomain is uninitialized at the moment when irq_domain_remove() is called, so remove this call. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 91d33cfedf181cd9e1230d38e466de2f6697d317 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Aug 17 15:32:16 2015 +0200 pinctrl: at91: Use generic irq_{request,release}_resources() The at91-specific irq_{request,release}_resources() callbacks are identical to the generic ones, modulo the bug fix in 5b76e79c77264899 ("gpiolib: irqchip: prevent driver unloading if gpio is used as irq only"). Until commit 8b67a1f0ad1f260f ("gpio: don't override irq_*_resources() callbacks"), the buggy at91-specific callbacks were never used, though. Hence drop the at91-specific ones in favor of the generic ones. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 41d6bb4c890c8db01248b1bdd512a18e7bd29ca3 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Aug 17 15:35:24 2015 +0300 gpiolib: add description for gpio irqchip fields in struct gpio_chip Add missed description for GPIO irqchip fields in struct gpio_chip. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 109fdf1572be86aaf681e69b30dc5ada90ce6f35 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Aug 17 16:13:30 2015 +0300 pinctrl: cherryview: Use raw_spinlock for locking When running -rt kernel and an interrupt happens on a GPIO line controlled by Intel Cherryview/Braswell pinctrl driver we get: BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917 in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0 Preemption disabled at:[<ffffffff81092e9f>] cpu_startup_entry+0x17f/0x480 CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.1.5-rt5 #16 ... Call Trace: <IRQ> [<ffffffff816283c6>] dump_stack+0x4a/0x61 [<ffffffff81077e17>] ___might_sleep+0xe7/0x170 [<ffffffff8162d6cf>] rt_spin_lock+0x1f/0x50 [<ffffffff812e52ed>] chv_gpio_irq_ack+0x3d/0xa0 [<ffffffff810a72f5>] handle_edge_irq+0x75/0x180 [<ffffffff810a3457>] generic_handle_irq+0x27/0x40 [<ffffffff812e57de>] chv_gpio_irq_handler+0x7e/0x110 [<ffffffff810050aa>] handle_irq+0xaa/0x190 ... This is because desc->lock is raw_spinlock and is held when chv_gpio_irq_ack() is called by the genirq core. chv_gpio_irq_ack() in turn takes pctrl->lock which in -rt is an rt-mutex causing might_sleep() rightfully to complain about sleeping function called from invalid context. In order to keep -rt happy but at the same time make sure that register accesses get serialized, convert the driver to use raw_spinlock instead. Suggested-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 78e1c896932df5b8bcdff7bf5417d8e72a4d0d6b Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Aug 17 16:03:17 2015 +0300 pinctrl: baytrail: Use raw_spinlock for locking The Intel Baytrail pinctrl driver implements irqchip callbacks which are called with desc->lock raw_spinlock held. In mainline this is fine because spinlock resolves to raw_spinlock. However, running the same code in -rt we get: BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917 in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0 Preemption disabled at:[<ffffffff81092e9f>] cpu_startup_entry+0x17f/0x480 CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.1.5-rt5 #13 ... Call Trace: <IRQ> [<ffffffff816283c6>] dump_stack+0x4a/0x61 [<ffffffff81077e17>] ___might_sleep+0xe7/0x170 [<ffffffff8162d6cf>] rt_spin_lock+0x1f/0x50 [<ffffffff812e3b88>] byt_gpio_clear_triggering+0x38/0x60 [<ffffffff812e3bc1>] byt_irq_mask+0x11/0x20 [<ffffffff810a7013>] handle_level_irq+0x83/0x150 [<ffffffff810a3457>] generic_handle_irq+0x27/0x40 [<ffffffff812e3a5f>] byt_gpio_irq_handler+0x7f/0xc0 [<ffffffff810050aa>] handle_irq+0xaa/0x190 ... This is because in -rt spinlocks are preemptible so taking the driver private spinlock in irqchip callbacks causes might_sleep() to trigger. In order to keep -rt happy but at the same time make sure that register accesses get serialized, convert the driver to use raw_spinlock instead. Also shorten the critical section a bit in few places. Suggested-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 26951caf55d73ceb1967b0bf12f6d0b96853508e Author: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Date: Mon Aug 17 15:55:50 2015 +0800 drm/i915/skl: enable DDI-E hotplug v2: fix one error found by checkpath.pl v3: Add one ignored break for switch-case. DDI-E hotplug function doesn't work after updating drm-intel tree, I checked the code and found this missing which isn't the root cause for broke DDI-E hp. The broken DDI-E hp function is fixed by "Adding DDI_E power well domain". Signed-off-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Tested-by: Timo Aaltonen <timo.aaltonen@xxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 2508a45a924dfa4a5f6e60675aa4732d888134a7 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Tue Aug 18 23:30:25 2015 +0800 surface pro 3: Add support driver for Surface Pro 3 buttons Since Surface Pro 3 does not follow the specs of "Windows ACPI Design Guide for SoC Platform", code in drivers/input/misc/soc_array.c can not detect these buttons on it. According to bios implementation, Surface Pro 3 encapsulates these buttons in a device named "VGBI", with _HID "MSHW0028". When any of the buttons is pressed, a specify ACPI notification code for this button will be delivered to "VGBI". For example, if power button is pressed down, ACPI notification code of 0xc6 will be sent by Notify(VGBI, 0xc6). This patch leverages "VGBI" to distinguish different ACPI notification code from Power button, Home button, Volume button, then dispatches these code to input layer. Lid is already covered by acpi button driver, so there's no need to rewrite. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=84651 Tested-by: Ethan Schoonover <es@xxxxxxxxxxxxxxxxxxx> Tested-by: Peter Amidon <psa.pub.0@xxxxxxxxxxxxxx> Tested-by: Donavan Lance <tusklahoma@xxxxxxxxx> Tested-by: Stephen Just <stephenjust@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> [dvhart@xxxxxxxxxxxxxxx: Formatting corrections in MAINTAINERS and Intel (c)] Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 8e9d597a37e407476b4de725bef4cb1ad1f5c22c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 12:35:23 2015 +0200 drm/i915: Fix build warning on 32-bit The gtt.stolen_size field is of type size_t, and so should be printed using %zu to avoid build warnings on either 32-bit and 64-bit builds. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 5f8b253147c27b8244451ee28aeb3429c5aa2e52 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Mon Aug 24 16:48:44 2015 -0700 drm/i915/skl: Update DDI buffer translation programming. SKL-Y can now use the same programming for all VccIO values after an adjustment to I_boost. SKL-U DP table adjustments. 1. Remove SKL Y 0.95V from "SKL H and S" columns in all tables. The other SKL Y column removes the "0.85V VccIO" so it now applies to all voltages. 2. DP table changes SKL U 400mV+0db dword 0 value from 2016h to 201Bh. 3. DP table changes SKL U 600mv+0db dword 0 value from 2016h to 201Bh. 4. DP table increases I_boost to level 3 for SKL Y 400mv+9.5db. v2: Fix compilation warnings as pointed by Paulo. Reference: Graphics Spec Change r97962 Cc: Arthur Runyan <arthur.j.runyan@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> [Jani: reformatted commit message for shorter lines.] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit fc0bfacd045a17e385b4272dfe2387ba3a6d8745 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Sun Aug 23 14:41:09 2015 +0300 hp-wireless: remove unneeded goto/label in hpwl_init acpi_bus_register_driver() already returns an appropriate value (0 on success, and some negative value on error) to be used in __init functions so the goto/label is redundant in hpwl_init thus remove it and directly return the value Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 4c156c21c7948a0be854cbe5914af3181303e529 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Fri Jun 26 17:14:46 2015 +0800 drm/rockchip: vop: support plane scale Win_full support 1/8 to 8 scale down/up engine, support all format scale. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 77faa1619a5ae9ed600b0836bc1eec57bad1895b Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Mon Jul 20 16:25:20 2015 +0800 drm/rockchip: vop: restore vop registers when resume The registers will be reset to default values when whole power domain off, so restore registers from regsbak. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit c1998f08587a252734bad42b66b430f126f2385b Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Fri Jun 26 18:10:32 2015 +0800 drm/rockchip: vop: Default enable win2/3 area0 bit Win2/3 support multiple area function, but we haven't found a suitable way to use it yet, so let's just use them as other windows with only area 0 enabled. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit 84c7f8ca43000ee97e556bddbbc4543e2514239d Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Mon Jul 20 16:16:49 2015 +0800 drm/rockchip: vop: Add yuv plane support vop support yuv with NV12, NV16 and NV24, only 2 plane yuv. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit acf8c3e0a9eb5658e6ac4379cba51dba9b941083 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Mon Jul 20 16:02:47 2015 +0800 drm/rockchip: vop: Fix window dest start point Dest start point use crtc_x/y is wrong, crtc_x/y is not equal to dest.x1/y1 at plane scale. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit f1c79abef5bae62aefcadf16917905cb7f98dc19 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Fri Jun 26 18:07:25 2015 +0800 drm/rockchip: vop: Fix virtual stride calculation vir_stride need number words of the virtual width, and fb->pitches save bytes_per_pixel, so just div 4 switch to stride. Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> commit a92d5ee8666afcb4abc7686d7b760f0fb7a0c14c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 26 07:22:49 2015 +0200 ALSA: hda - Fix widget sysfs tree corruption after refresh When snd_hdac_refresh_widget_sysfs() is called before the first hda_widget_sysfs_init(), the next call overrides and eventually fails. This results in unexpected Oops, something like: BUG: unable to handle kernel NULL pointer dereference at 00000000000000c8 IP: [<ffffffff8180e2a3>] hdmi_chmap_ctl_info+0x23/0x40 The fix is to add a check of the existing sysfs tree. Also, for more safety, this patch adds the checks of device_is_registered() in snd-hdac_refresh_wdiget_sysfs(), too. Fixes: fa4f18b4f402 ('ALSA: hda - Refresh widgets sysfs at probing Haswell+ HDMI codecs') Bugizlla: https://bugzilla.kernel.org/show_bug.cgi?id=103431 Reported-by: Andreas Reis <andreas.reis@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b51aa1cc7807f4dff7b70a762aa6d8814976d706 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Aug 26 10:42:27 2015 +0930 tools/lguest: Clean up include dir It contains a symlinked header we use; ignore it and clean it up on 'make clean'. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e523caa601f4a7c2fa1ecd040db921baf7453798 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Aug 26 10:42:26 2015 +0930 tools/lguest: Fix redefinition of struct virtio_pci_cfg_cap Ours uses a u32 for the data, since we ensure it's always aligned and it's x86 so it doesn't matter anyway. lguest.c:128:8: error: redefinition of â??struct virtio_pci_cfg_capâ?? Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Fixes: 3121bb023e2db ("virtio: define virtio_pci_cfg_cap in header.") Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f50791ac1aca1ac1b0370d62397b43e9f831421a Author: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Date: Mon Aug 24 23:13:42 2015 +0300 usbnet: Get EVENT_NO_RUNTIME_PM bit before it is cleared It is needed to check EVENT_NO_RUNTIME_PM bit of dev->flags in usbnet_stop(), but its value should be read before it is cleared when dev->flags is set to 0. The problem was spotted and the fix was provided by Oliver Neukum <oneukum@xxxxxxx>. Signed-off-by: Eugene Shatokhin <eugene.shatokhin@xxxxxxxxxx> Acked-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b7d0ca7778d359584859cb5e75965ad34f42533 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 25 12:58:11 2015 -0700 dmaengine: ioatdma: Fix variable array length Sparse reported: drivers/dma/ioat/prep.c:637:27: sparse: Variable length array is used. Assigning a static value for the array. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5c65cb93a3d066f52a109552572304675d5a52fc Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 25 12:58:05 2015 -0700 dmaengine: ioatdma: fix sparse "error" with prep lock The prep lock gets acquired in ioat_check_space_lock and released in ioat_tx_submit_unlock. Setting the annotations so sparse does not freak out. drivers/dma/ioat/dma.c:273:30: sparse: context imbalance in 'ioat_tx_submit_unlock' - unexpected unlock drivers/dma/ioat/dma.c:476:5: sparse: context imbalance in 'ioat_check_space_lock' - wrong count at exit Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4d112426c3446d94b9bc56396075524b06913b1c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 11:21:15 2015 +0200 dmaengine: hdmac: Add memset capabilities Just like for the XDMAC, the SoCs that embed the HDMAC don't have any kind of GPU, and need to accelerate a few framebuffer-related operations through their DMA controller. However, unlike the XDMAC, the HDMAC doesn't have the memset capability built-in. That can be easily emulated though, by doing a transfer with a fixed address on the variable that holds the value we want to set. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8a4ce226b9061fe3ab04f6db34d4b2ae645b9f65 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 24 13:43:14 2015 +0530 dmaengine: sort the sh Makefile Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit eeb72a8de8e5471cdce71ea7b2f908e851a73909 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 24 13:43:14 2015 +0530 dmaengine: sort the sh Kconfig Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f5db4b31b31504a1058339bc00488bf56ad1f0aa Merge: f045fd7 e308fd3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 18:18:22 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull LSM regression fix from James Morris. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: LSM: restore certain default error codes commit f045fd755fe9ba2b15265cd237d6ae5d924689d3 Merge: b1713b1 de4a196 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 17:26:00 2015 -0700 Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull nvdimm fix from Dan Williams: "A single fix for status register read size in the nd_blk driver. The effect of getting the width of this register read wrong is that all I/O fails when the read returns non-zero. Given the availability of ACPI 6 NFIT enabled platforms, this could reasonably wait to come in during the 4.3 merge window with a tag for 4.2-stable. Otherwise, this makes the 4.2 kernel fully functional with devices that conform to the mmio-block-apertures defined in the ACPI 6 NFIT (NVDIMM Firmware Interface Table)" * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: nfit, nd_blk: BLK status register is only 32 bits commit b6fc6072b1268a0025850cd9d3dce25a7be0158d Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Aug 5 09:40:31 2015 -0400 PCC: Disable compilation by default PCC is made selectable only by clients which use it. e.g. CPPC Default it to disabled so that it is not included accidentally on platforms which dont use it. Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Reviewed-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1090c3bf81ef12eb22383d4b6627d372ce5115d9 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Wed Aug 26 00:13:16 2015 +0800 nfs42: remove unused declaration Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 19cf6335134d82be792831e14aae9d037d0cb30b Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Wed Aug 26 00:13:15 2015 +0800 nfs42: decode_layoutstats does not need res parameter Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit ccc02ddb1bb7c0c1cac695db18f7533296b51ecc Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Tue Aug 25 15:03:03 2015 -0700 drivers: net: xgene: fix: Oops in linkwatch_fire_event [ 1065.801569] Internal error: Oops: 96000006 [#1] SMP ... [ 1065.866655] Hardware name: AppliedMicro Mustang/Mustang, BIOS 1.1.0 Apr 22 2015 [ 1065.873937] Workqueue: events_power_efficient phy_state_machine [ 1065.879837] task: fffffe01de105e80 ti: fffffe00bcf18000 task.ti: fffffe00bcf18000 [ 1065.887288] PC is at linkwatch_fire_event+0xac/0xc0 [ 1065.892141] LR is at linkwatch_fire_event+0xa0/0xc0 [ 1065.896995] pc : [<fffffe000060284c>] lr : [<fffffe0000602840>] pstate: 200001c5 [ 1065.904356] sp : fffffe00bcf1bd00 ... [ 1066.196813] Call Trace: [ 1066.199248] [<fffffe000060284c>] linkwatch_fire_event+0xac/0xc0 [ 1066.205140] [<fffffe000061167c>] netif_carrier_off+0x54/0x64 [ 1066.210773] [<fffffe00004f1654>] phy_state_machine+0x120/0x3bc [ 1066.216578] [<fffffe00000d8d10>] process_one_work+0x15c/0x3a8 [ 1066.222296] [<fffffe00000d9090>] worker_thread+0x134/0x470 [ 1066.227757] [<fffffe00000df014>] kthread+0xe0/0xf8 [ 1066.232525] Code: 97f65ee9 f9420660 d538d082 8b000042 (885f7c40) The fix is to call phy_disconnect() from xgene_enet_mdio_remove, which in turn call cancel_delayed_work_sync(). Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6c1aea044e490da3e59124ec55991fe316818d5 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Aug 25 16:38:12 2015 -0700 cls_u32: complete the check for non-forced case in u32_destroy() In commit 1e052be69d04 ("net_sched: destroy proto tp when all filters are gone") I added a check in u32_destroy() to see if all real filters are gone for each tp, however, that is only done for root_ht, same is needed for others. This can be reproduced by the following tc commands: tc filter add dev eth0 parent 1:0 prio 5 handle 15: protocol ip u32 divisor 256 tc filter add dev eth0 protocol ip parent 1: prio 5 handle 15:2:2 u32 ht 15:2: match ip src 10.0.0.2 flowid 1:10 tc filter add dev eth0 protocol ip parent 1: prio 5 handle 15:2:3 u32 ht 15:2: match ip src 10.0.0.3 flowid 1:10 Fixes: 1e052be69d04 ("net_sched: destroy proto tp when all filters are gone") Reported-by: Akshat Kakkar <akshat.1984@xxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b635f0901a4404ebc1881eb3fce0fc2f925f6728 Merge: c30ee8b ef63463 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 17:01:33 2015 -0700 Merge branch 'dsa-docs' Florian Fainelli says: ==================== Documentation: dsa This patch series adds some documentation about DSA as a subsystem as well as the SF2 driver since it slightly diverges from your average DSA driver ;) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef6346386b096549972d5b62f773eafb772682e3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 25 15:33:14 2015 -0700 Documentation: networking: dsa: Add Broadcom SF2 document Add a document describing the Broadcom Starfigther 2 switch hardware, its specifics, and how the driver is implemented and its specifics. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77760e94928f910b745ab8d00298a7c8b5786fb3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 25 15:33:13 2015 -0700 Documentation: networking: add a DSA document Describe how the DSA subsystem works, its design principles, limitations, and describe in details how to implement a DSA switch driver. Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e308fd3bb2e469c4939d3f4bd22b468de3ed04ae Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Mon Aug 24 06:22:25 2015 -0600 LSM: restore certain default error codes While in most cases commit b1d9e6b064 ("LSM: Switch to lists of hooks") retained previous error returns, in three cases it altered them without any explanation in the commit message. Restore all of them - in the security_old_inode_init_security() case this led to reiserfs using uninitialized data, sooner or later crashing the system (the only other user of this function - ocfs2 - was unaffected afaict, since it passes pre-initialized structures). Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 4bf011815f2e093c7f60004f4f5683cf40b905b9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Aug 10 19:56:46 2015 +0300 device property: check fwnode type in to_of_node() Potentially one of platform can support both ACPI and OF. In that case when we call to_of_node() for non-OF fwnode types we will get non-NULL result, which is wrong. Check for the type and return a correspondent result. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7dc59dc938f034c69dcf9080d45b936882b7ffa3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Aug 10 19:56:48 2015 +0300 device property: attach 'else if' to the proper 'if' Obviously in the current place the 'else' keyword is redundant, though it seems quite correct when we check if nval is in allowed range. Reattach the condition branch there. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4f73b0654d8a954540d49bb0a300f31663423db9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Aug 10 19:56:47 2015 +0300 device property: fallback to pset when gettng one string The one string as an equivalent to an array of one element. Allow user to read one string as a plain string. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0762ed2ced40bfe648378ef0e1635cf4d3a6fb76 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 25 17:38:25 2015 -0400 NFSv4.1/flexfiles: Allow coalescing of new layout segments and existing ones In order to ensure atomicity of updates, we merge the old layout segments into the new ones, and then invalidate the old ones. Also ensure that we order the list of layout segments so that RO segments are preferred over RW. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 03772d2f00313bb22d91b2019cb8e6e91b415653 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:54:17 2015 -0400 NFSv4.1/pnfs: Allow pNFS device drivers to customise layout segment insertion This is needed in order to allow merging of contiguous layout segments, and also to correct the ordering of layouts for those device drivers that don't necessarily want to place the read-write layouts first. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit de4a196c02a2a2631b516d90da6e8d052ccb07e8 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Thu Aug 20 16:27:38 2015 -0600 nfit, nd_blk: BLK status register is only 32 bits Only read 32 bits for the BLK status register in read_blk_stat(). The format and size of this register is defined in the "NVDIMM Driver Writer's guide": http://pmem.io/documents/NVDIMM_Driver_Writers_Guide.pdf Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reported-by: Nicholas Moulin <nicholas.w.moulin@xxxxxxxxxxxxxxx> Tested-by: Nicholas Moulin <nicholas.w.moulin@xxxxxxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit aac27c7a0d76683f7f4bdf41cec174db2819f635 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Aug 25 09:49:53 2015 +0100 net: fec: use reinit_completion() in mdio accessor functions Rather than re-initialising the entire completion on every mdio access, use reinit_completion() which only resets the completion count. This avoids possible reinitialisation of the contained spinlock and waitqueue while they may be in use (eg, mid-completion.) Such an event could occur if there's a long delay in interrupt handling causing the mdio accessor to time out, then a second access comes in while the interrupt handler on a different CPU has called complete(). Another scenario where this has been observed is while locking has been missing at the phy layer, allowing concurrent attempts to access the MDIO bus. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05a7f582be961824d62a7f4a817f3783148b5f8a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Aug 25 09:49:47 2015 +0100 net: phy: add locking to phy_read_mmd_indirect()/phy_write_mmd_indirect() The phy layer is missing locking for the above two functions - it has been observed that two threads (userspace and the phy worker thread) can race, entering the bus ->write or ->read functions simultaneously. This causes the FEC driver to initialise a completion while another thread is waiting on it or while the interrupt is calling complete() on it, which causes spinlock unlock-without-lock, spinlock lockups, and completion timeouts. Fixes: a59a4d192 ("phy: add the EEE support and the way to access to the MMD registers.") Fixes: 0c1d77dfb ("net: libphy: Add phy specific function to access mmd phy registers") Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c30ee8b743ab10271823ffdccc71b6acd62f847c Merge: b8766e4 2724121 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 16:28:11 2015 -0700 Merge branch 'rds-more-fixes' Santosh Shilimkar says: ==================== RDS: Few more fixes As indicated in the earlier series [1], this is a follow-up series which addresses few issues around the RDS FMR code. With [1] and the subject series, now I can run many parallel threads with multiple sockets with N x N traffic. The stress tests has survived overnight runs. [1] https://lkml.org/lkml/2015/8/22/127 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 272412141908c40517cc89d5bb2eb074a2ec1474 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Tue Aug 25 12:02:03 2015 -0700 RDS: remove superfluous from rds_ib_alloc_fmr() Memory allocated for 'ibmr' uses kzalloc_node() which already initialises the memory to zero. There is no need to do memset() 0 on that memory. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef5217a6e2e60bc3d0679f2652480b99730956fe Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Tue Aug 25 12:02:02 2015 -0700 RDS: flush the FMR pool less often FMR flush is an expensive and time consuming operation. Reduce the frequency of FMR pool flush by 50% so that more FMR work gets accumulated for more efficient flushing. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad1d7dc0d79d3dd2c5d2931b13edbd4fe33e5fac Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Tue Aug 25 12:02:01 2015 -0700 RDS: push FMR pool flush work to its own worker RDS FMR flush operation and also it races with connect/reconect which happes a lot with RDS. FMR flush being on common rds_wq aggrevates the problem. Lets push RDS FMR pool flush work to its own worker. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6116c2030fff91950f68b7fffb5959c91a05aaf6 Author: Wengang Wang <wen.gang.wang@xxxxxxxxxx> Date: Tue Aug 25 12:02:00 2015 -0700 RDS: fix fmr pool dirty_count In rds_ib_flush_mr_pool(), dirty_count accounts the clean ones which is wrong. This can lead to a negative dirty count value. Lets fix it. Signed-off-by: Wengang Wang <wen.gang.wang@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f6b3143031b678a8577df1f24ca977510aefcf5 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Tue Aug 25 12:01:59 2015 -0700 RDS: Fix rds MR reference count in rds_rdma_unuse() rds_rdma_unuse() drops the mr reference count which it hasn't taken. Correct way of removing mr is to remove mr from the tree and then rdma_destroy_mr() it first, then rds_mr_put() to decrement its reference count. Whichever thread holds last reference will free the mr via rds_mr_put() This bug was triggering weird null pointer crashes. One if the trace for it is captured below. BUG: unable to handle kernel NULL pointer dereference at 0000000000000104 IP: [<ffffffffa0899471>] rds_ib_free_mr+0x31/0x130 [rds_rdma] PGD 4366fa067 PUD 4366f9067 PMD 0 Oops: 0000 [#1] SMP [...] task: ffff88046da6a000 ti: ffff88046da6c000 task.ti: ffff88046da6c000 RIP: 0010:[<ffffffffa0899471>] [<ffffffffa0899471>] rds_ib_free_mr+0x31/0x130 [rds_rdma] RSP: 0018:ffff88046fa43bd8 EFLAGS: 00010286 RAX: 0000000071d38b80 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff880079e7ff40 RBP: ffff88046fa43bf8 R08: 0000000000000000 R09: 0000000000000000 R10: ffff88046fa43ca8 R11: ffff88046a802ed8 R12: ffff880079e7fa40 R13: 0000000000000000 R14: ffff880079e7ff40 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff88046fa40000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000104 CR3: 00000004366fb000 CR4: 00000000000006e0 Stack: ffff880079e7fa40 ffff880671d38f08 ffff880079e7ff40 0000000000000296 ffff88046fa43c28 ffffffffa087a38b ffff880079e7fa40 ffff880671d38f10 0000000000000000 0000000000000292 ffff88046fa43c48 ffffffffa087a3b6 Call Trace: <IRQ> [<ffffffffa087a38b>] rds_destroy_mr+0x8b/0xa0 [rds] [<ffffffffa087a3b6>] __rds_put_mr_final+0x16/0x30 [rds] [<ffffffffa087a492>] rds_rdma_unuse+0xc2/0x120 [rds] [<ffffffffa08766d3>] rds_recv_incoming_exthdrs+0x83/0xa0 [rds] [<ffffffffa0876782>] rds_recv_incoming+0x92/0x200 [rds] [<ffffffffa0895269>] rds_ib_process_recv+0x259/0x320 [rds_rdma] [<ffffffffa08962a8>] rds_ib_recv_tasklet_fn+0x1a8/0x490 [rds_rdma] [<ffffffff810dcd78>] ? __remove_hrtimer+0x58/0x90 [<ffffffff810799e1>] tasklet_action+0xb1/0xc0 [<ffffffff81079b52>] __do_softirq+0xe2/0x290 [<ffffffff81079df6>] irq_exit+0xa6/0xb0 [<ffffffff81613915>] do_IRQ+0x65/0xf0 [<ffffffff816118ab>] common_interrupt+0x6b/0x6b Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba54d3ced958435e1802daf992cfd44c26cd4cb7 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Tue Aug 25 12:01:58 2015 -0700 RDS: fix the dangling reference to rds_ib_incoming_slab On rds_ib_frag_slab allocation failure, ensure rds_ib_incoming_slab is not pointing to the detsroyed memory. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bef0057b7ba881d5ae67eec876df7a26fe672a59 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 25 20:22:35 2015 -0300 vxlan: re-ignore EADDRINUSE from igmp_join Before 56ef9c909b40[1] it used to ignore all errors from igmp_join(). That commit enhanced that and made it error out whatever error happened with igmp_join(), but that's not good because when using multicast groups vxlan will try to join it multiple times if the socket is reused and then the 2nd and further attempts will fail with EADDRINUSE. As we don't track to which groups the socket is already subscribed, it's okay to just ignore that error. Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope") Reported-by: John Nielsen <lists@xxxxxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8766e4ed3e9fc6b27dc3ead029cd307caa926d2 Merge: dafc219 854d2a6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 16:20:38 2015 -0700 Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge Antonio Quartulli says: ==================== Included changes: - code restyling and beautification - use int kernel types instead of C99 - update kereldoc - prevent potential hlist double deletion of VLAN objects - fix gw bandwidth calculation - convert list to hlist when needed - add lockdep_asserts calls in function with lock requirements described in kerneldoc ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e732cdd416cb85fdba6919af2e271c64c08bb26d Merge: 83bc805 06b23f7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 16:12:45 2015 -0700 Merge tag 'linux-can-fixes-for-4.2-20150825' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can Marc Kleine-Budde says: ==================== this is the updated pull request of one patch by me for the peak_usb driver. It fixes the driver, so that non FD adapters don't provide CAN FD bittimings. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dafc21995db9b2ef61a2d613f872a5c565731548 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Tue Aug 25 14:15:11 2015 +0530 enic: reduce ioread in devcmd2 posted_index is RO in firmware. We need not do ioread everytime to get posted index. Store posted index locally. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83bc805bff89854e4c81c67633a52ce1015b1502 Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Tue Aug 25 18:03:20 2015 +1000 net: compile renesas directory if NET_VENDOR_RENESAS is configured Currently the renesas ethernet driver directory is compiled if SH_ETH is configured rather than NET_VENDOR_RENESAS. Although incorrect that was quite harmless as until recently as SH_ETH configured the only driver in the renesas directory. However, as of c156633f1353 ("Renesas Ethernet AVB driver proper") the renesas directory includes another driver, configured by RAVB, and it makes little sense for it to have a hidden dependency on SH_ETH. Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> [horms: rewrote changelog] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5a132a84a692f8d81f3b6959b98bcd959659457 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Aug 25 16:02:02 2015 -0700 clk: tegra: Fix some static checker problems The latest Tegra clk pull had some problems. Fix them. drivers/clk/tegra/clk-tegra124.c:1450:6: warning: symbol 'tegra124_clock_assert_dfll_dvco_reset' was not declared. Should it be static? drivers/clk/tegra/clk-tegra124.c:1466:6: warning: symbol 'tegra124_clock_deassert_dfll_dvco_reset' was not declared. Should it be static? drivers/clk/tegra/clk-tegra124.c:1476:5: warning: symbol 'tegra124_reset_assert' was not declared. Should it be static? drivers/clk/tegra/clk-tegra124.c:1486:5: warning: symbol 'tegra124_reset_deassert' was not declared. Should it be static? drivers/clk/tegra/clk-dfll.c:590 dfll_load_i2c_lut() warn: inconsistent indenting drivers/clk/tegra/clk-dfll.c:1448 dfll_build_i2c_lut() warn: unsigned 'td->i2c_lut[0]' is never less than zero. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6e85d5ad36a26debc23a9a865c029cbe242b2dc8 Author: Corinna Vinschen <vinschen@xxxxxxxxxx> Date: Mon Aug 24 12:52:39 2015 +0200 r8169: Add values missing in @get_stats64 from HW counters The r8169 driver collects statistical information returned by @get_stats64 by counting them in the driver itself, even though many (but not all) of the values are already collected by tally counters (TCs) in the NIC. Some of these TC values are not returned by @get_stats64. Especially the received multicast packages are missing from /proc/net/dev. Rectify this by fetching the TCs and returning them from rtl8169_get_stats64. The counters collected in the driver obviously disappear as soon as the driver is unloaded so after a driver is loaded the counters always start at 0. The TCs on the other hand are only reset by a power cycle. Without further considerations the values collected by the driver would not match up against the TC values. This patch introduces a new function rtl8169_reset_counters which resets the TCs. Also, since rtl8169_reset_counters shares most of its code with rtl8169_update_counters, refactor the shared code into two new functions rtl8169_map_counters and rtl8169_unmap_counters. Unfortunately chip versions prior to RTL_GIGA_MAC_VER_19 don't allow to reset the TCs programatically. Therefore introduce an addition to the rtl8169_private struct and a function rtl8169_init_counter_offsets to store the TCs at first rtl_open. Use these values as offsets in rtl8169_get_stats64. Propagate a failure to reset *and* update the counters up to rtl_open and emit a warning message, if so. Signed-off-by: Corinna Vinschen <vinschen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7c602bf42f943e717eed92165ebfa6dbaba3029 Merge: 1c4b4b0 79cf95c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Aug 25 15:55:28 2015 -0700 Merge tag 'tegra-for-4.3-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into clk-next clk: tegra: Changes for v4.3-rc1 This contains the DFLL driver needed to implement CPU frequency scaling on Tegra. commit b01d04aa511b78c795dd258bf8689a421a6b4d0c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 15:54:25 2015 -0700 rds: Fix improper gfp_t usage. >> net/rds/ib_recv.c:382:28: sparse: incorrect type in initializer (different base types) net/rds/ib_recv.c:382:28: expected int [signed] can_wait net/rds/ib_recv.c:382:28: got restricted gfp_t net/rds/ib_recv.c:828:23: sparse: cast to restricted __le64 Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f062bcaa2579af077313e989fc7dec777965a057 Merge: 3e5f206 3ee550f Author: James Morris <jmorris@xxxxxxxxx> Date: Wed Aug 26 08:24:23 2015 +1000 Merge tag 'modsign-pkcs7-20150814' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into ra-next commit 04e1b7341dc33abe4dd3f761e2e9137701e55684 Author: Shrikrishna Khare <skhare@xxxxxxxxxx> Date: Mon Aug 24 14:24:11 2015 -0700 MAINTAINERS: update vmxnet3 driver maintainer Shreyas Bhatewara would no longer maintain the vmxnet3 driver. Taking over the role of vmxnet3 maintainer. Signed-off-by: Shrikrishna Khare <skhare@xxxxxxxxxx> Signed off-by: Shreyas Bhatewara <sbhatewara@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4257295ba1b389c693b79de857a96e4b7cd8ac0 Author: huaibin Wang <huaibin.wang@xxxxxxxxx> Date: Tue Aug 25 16:20:34 2015 +0200 ip6_gre: release cached dst on tunnel removal When a tunnel is deleted, the cached dst entry should be released. This problem may prevent the removal of a netns (seen with a x-netns IPv6 gre tunnel): unregister_netdevice: waiting for lo to become free. Usage count = 3 CC: Dmitry Kozlov <xeb@xxxxxxx> Fixes: c12b395a4664 ("gre: Support GRE over IPv6") Signed-off-by: huaibin Wang <huaibin.wang@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48e92c44bd73a8bc213560058e6b18e45929526e Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Tue Aug 25 18:36:50 2015 +0200 vxlan: fix multiple inclusion of vxlan.h The vxlan_get_sk_family inline function was added after the last #endif, making multiple inclusion of net/vxlan.h fail. Move it to the proper place. Reported-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Fixes: 705cc62f6728c ("vxlan: provide access function for vxlan socket address family") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 081958ebe150dc42a0f50669169c4177786b747e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 10:26:22 2015 -0700 MAINTAINERS: Add VRF entry Add entry for new VRF device driver. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e252b3d1a1744af1431aca30e091420734c2b012 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Aug 25 10:38:53 2015 -0700 route: fix a use-after-free This patch fixes the following crash: general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.2.0-rc7+ #166 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 task: ffff88010656d280 ti: ffff880106570000 task.ti: ffff880106570000 RIP: 0010:[<ffffffff8182f91b>] [<ffffffff8182f91b>] dst_destroy+0xa6/0xef RSP: 0018:ffff880107603e38 EFLAGS: 00010202 RAX: 0000000000000001 RBX: ffff8800d225a000 RCX: ffffffff82250fd0 RDX: 0000000000000001 RSI: ffffffff82250fd0 RDI: 6b6b6b6b6b6b6b6b RBP: ffff880107603e58 R08: 0000000000000001 R09: 0000000000000001 R10: 000000000000b530 R11: ffff880107609000 R12: 0000000000000000 R13: ffffffff82343c40 R14: 0000000000000000 R15: ffffffff8182fb4f FS: 0000000000000000(0000) GS:ffff880107600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007fcabd9d3000 CR3: 00000000d7279000 CR4: 00000000000006e0 Stack: ffffffff82250fd0 ffff8801077d6f00 ffffffff82253c40 ffff8800d225a000 ffff880107603e68 ffffffff8182fb5d ffff880107603f08 ffffffff810d795e ffffffff810d7648 ffff880106574000 ffff88010656d280 ffff88010656d280 Call Trace: <IRQ> [<ffffffff8182fb5d>] dst_destroy_rcu+0xe/0x1d [<ffffffff810d795e>] rcu_process_callbacks+0x618/0x7eb [<ffffffff810d7648>] ? rcu_process_callbacks+0x302/0x7eb [<ffffffff8182fb4f>] ? dst_gc_task+0x1eb/0x1eb [<ffffffff8107e11b>] __do_softirq+0x178/0x39f [<ffffffff8107e52e>] irq_exit+0x41/0x95 [<ffffffff81a4f215>] smp_apic_timer_interrupt+0x34/0x40 [<ffffffff81a4d5cd>] apic_timer_interrupt+0x6d/0x80 <EOI> [<ffffffff8100b968>] ? default_idle+0x21/0x32 [<ffffffff8100b966>] ? default_idle+0x1f/0x32 [<ffffffff8100bf19>] arch_cpu_idle+0xf/0x11 [<ffffffff810b0bc7>] default_idle_call+0x1f/0x21 [<ffffffff810b0dce>] cpu_startup_entry+0x1ad/0x273 [<ffffffff8102fe67>] start_secondary+0x135/0x156 dst is freed right before lwtstate_put(), this is not correct... Fixes: 61adedf3e3f1 ("route: move lwtunnel state to dst_entry") Acked-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7499160107dd1367cf34873564b522a5516430c Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Aug 24 22:56:54 2015 +0900 net-next: Fix warning while make xmldocs caused by skbuff.c This patch fix following warnings. .//net/core/skbuff.c:407: warning: No description found for parameter 'len' .//net/core/skbuff.c:407: warning: Excess function parameter 'length' description in '__netdev_alloc_skb' .//net/core/skbuff.c:476: warning: No description found for parameter 'len' .//net/core/skbuff.c:476: warning: Excess function parameter 'length' description in '__napi_alloc_skb' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7a4f7ff7f83bd42ee765f666e6c0a28545bc6d6 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:30:48 2015 +0800 ACPICA: Update version to 20150818 ACPICA commit d93470de8febeecdc20633fde11cb0b200fa773b Version 20150818. Link: https://github.com/acpica/acpica/commit/d93470de Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2e5321cb62ca1b29941d483c21b41f71b4dc8c78 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:30:41 2015 +0800 ACPICA: Debugger: Cleanup debugging outputs to dump name path without trailing underscores ACPICA commit 51a49c2fb4a73f302a6df2b8ddc1350dd261684d It is better to use unified ASL path name to interact with the developers. There are following acpi_ns_build_normalized_pathname() users invoking it for debugging purposes (acpiexec test results are attached): 1. acpi_ut_display_init_pathname (acpi_ns_handle_to_pathname): --------------------------------------------- Initializing Region \_SB.H_EC.ECF2 --------------------------------------------- 2. acpi_ns_print_node_pathname (acpi_ns_handle_to_pathname): --------------------------------------------- - ex \_SB.H_EC._STA Evaluating \_SB.H_EC._STA --------------------------------------------- 3. acpi_ds_print_node_pathname (acpi_ns_handle_to_pathname): --------------------------------------------- - level 211b console - execute \M1 ... **** Exception AE_AML_UNINITIALIZED_ARG during execution of method [\M1] (Node 009CB6B8) --------------------------------------------- 4. acpi_ex_dump_reference_obj (acpi_ns_handle_to_pathname): --------------------------------------------- - dump \_TZ.FAN4._PR0 ... [00] 00835E98 [Object Reference] Type [Named Object] 05 00828878 \_TZ.FN04 --------------------------------------------- 5. acpi_db_bus_walk (acpi_ns_handle_to_pathname): --------------------------------------------- - businfo \_SB.PCI0 Type 6 ... --------------------------------------------- 6. acpi_db_walk_and_match_name (acpi_ns_handle_to_pathname): --------------------------------------------- - find _PR0 \_TZ.FAN4._PR0 Package 002D8DF8 01 Elements 01 --------------------------------------------- 7. acpi_db_walk_for_specific_objects (acpi_ns_handle_to_pathname): --------------------------------------------- - methods ... \_SB.PCI0._PRT Method 0026D918 01 Args 0 Len 0005 Aml 0026B199 ... --------------------------------------------- 8. acpi_db_decode_and_dispaly_object (acpi_get_name): --------------------------------------------- - gpes Block 0 - Info 003AC7B0 device_node 003A0E08 [\_GPE] - FADT-defined GPE block ... --------------------------------------------- 9. acpi_db_display_gpes (acpi_get_name): --------------------------------------------- - dump \_GPE Object (003A0E08) Pathname: \_GPE --------------------------------------------- 10.ae_miscellaneous_tests (acpi_get_name): No output available This patch cleans up all of the above usages. ACPICA BZ 1178, Lv Zheng. Linux kernel's ACPICA debugging messages may also be changed. Link: https://github.com/acpica/acpica/commit/51a49c2f Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a2352db584d6402c044a07b5b252b7f133ab70cf Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:30:34 2015 +0800 ACPICA: Disassembler: Cleanup acpi_gbl_db_opt_verbose acpiexec usage ACPICA commit 42d7ad7bfb1cfb95183c1386c77509f2036f521d When acpi_gbl_db_opt_verbose is used in acpi_dm_descending_op() (invoked by acpi_dm_disassemble()), it is actually exported by the disassembler but used by the debugger to distinguish the output of the disassembler for different debugger commands. It is by default TRUE but is set to FALSE for control method disassembly command - "disassemble". So it's initialization should be a part of the ACPI_DISASSEMBLER conditioned code. This patch uses ACPI_INIT_GLOBAL to achieve a clean manner so that when ACPI_DISASSEMBLER is not defined, ACPI_DEBUGGER conditioned code needn't link to this option. Since it is a disassembler exported variable, it is renamed to acpi_gbl_dm_opt_Verbose in this patch. As VERBOSE_PRINT() macro has only one user, this patch also removes the definition of this macro. Lv Zheng. This patch doesn't affect Linux kernel. Link: https://github.com/acpica/acpica/commit/42d7ad7b Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1bdc63bf05096afac4b1e5361417fb730d77dfc7 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:30:27 2015 +0800 ACPICA: Disassembler: Cleanup acpi_gbl_db_opt_disasm ACPICA commit 969989cf7f85e2a2a0cd048cd25fc706246a48a2 This patch cleans up the following global variable - acpi_gbl_db_opt_disasm: The setting is used to control the full disassembly feature for iasl. ACPI debugger (acpiexec) shall have nothing to do with it. Actually, acpiexec never links to ad_aml_disassemble(). This patch thus renames this global option to acpi_gbl_dm_opt_disasm and removes all acpiexec and debugger references on it. Lv Zheng. This patch doesn't affect Linux kernel. Link: https://github.com/acpica/acpica/commit/969989cf Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f8fb4c383e7342731b77693edde9c6ea02ab0365 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:30:19 2015 +0800 ACPICA: Debugger: Split debugger initialization/termination APIs ACPICA commit 7a3f22baab000b186779dac64ad71d9776b8f432 It is likely that the debugger is enabled only when a userspace program explicitly tells a kernel to do so, so it shouldn't be initialized as early as current implementation. The only tool requiring ACPI_DEBUGGER is acpiexec, so acpiexec need to call the new APIs by itself. And BSD developers may also get notified to invoke the APIs for DDB enabling. Lv Zheng. This patch doesn't affect Linux kernel as debugger is currently not enabled in the Linux kernel. Link: https://github.com/acpica/acpica/commit/7a3f22ba Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cff9406128a4f9b683eb8c52a8864496e7025467 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:30:11 2015 +0800 ACPICA: Header support to improve compatibility with MSVC ACPICA commit 5b4087fba991d8383046b550bbe22f3d8d9b9c8f Needed to improve MSVC editor support for symbols. For Linux kernel, this change is a no-op. Link: https://github.com/acpica/acpica/commit/5b4087fb Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 47cdf8c692d5a64855a7aff83800d5bc5c925d7c Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:30:00 2015 +0800 ACPICA: Make the max-number-of-loops runtime configurable ACPICA commit a9d9c2d0c2d077bb3175ec9c252cf0e5da3efd45 Was previously compile-time only. Add support option for acpiexec. Link: https://github.com/acpica/acpica/commit/a9d9c2d0 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e69ab9a99e1d112045dd87902e467daec0d189da Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:52 2015 +0800 ACPICA: Debugger: Add option to display namespace summary/counts ACPICA commit bba222c15c2ce79076eb3a5e9d4d5f7120db8a00 If "Objects" command is invoked with no arguments, the counts for each object type are displayed. Linux kernel is not affected by this commit as currently debugger is not enabled in the Linux kernel. Link: https://github.com/acpica/acpica/commit/bba222c1 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 25823e784aac78964ada0e49efe2766d2aeb9fa4 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:45 2015 +0800 ACPICA: Add additional debug info/statements ACPICA commit 74094ca9f51e2652a9b5f01722d8640a653cc75a For _REG methods and module-level code blocks. For acpiexec, add deletion of module-level blocks in case of an early abort. Link: https://github.com/acpica/acpica/commit/74094ca9 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3c0503dd289eb6658f16d77fa12b3a30a4072be3 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:39 2015 +0800 ACPICA: Table handling: Cleanup and update debug output for tools ACPICA commit 93862bd7a227543bc617d822ef5c4f8a5d68b519 Add output of table OEM ID along with signature to support lots of SSDTs. Cleanup use of table pointers. Link: https://github.com/acpica/acpica/commit/93862bd7 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 93cdafa071bd436596a0501fd43f4fab89c2be78 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:33 2015 +0800 ACPICA: acpiexec/acpinames: Support very large number of ACPI tables ACPICA commit ca3bd4c5cdc39a9009280032adbbc20f34e94c47 Fix a couple of issues with >40 ACPI tables. Return exit error for acpinames to enable use with BIOS builds. The new exported function is used by acpinames. For Linux kernel, this change is a no-op. Link: https://github.com/acpica/acpica/commit/ca3bd4c5 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 17dd4dcfadffba93cf18652eb16b345526b04ce1 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:25 2015 +0800 ACPICA: acpinames: Add new options and wildcard support ACPICA commit 0ecf5b5a41c3d2e09af48f0fdbc9ae784f631788 - Add wilcard support for input filenames. - Add -l option to load tables and exit, no display. This is useful for validation of the namespace during BIOS generation. - Add -x option for specifying debug level. Linux kernel is not affected by this commit. Link: https://github.com/acpica/acpica/commit/0ecf5b5a Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 10ac218e9a1e76e0d3adec8fe2e2f84bbc138759 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:29:17 2015 +0800 ACPICA: Headers: Fix some comments, no functional change ACPICA commit 539f8c03fe64305725bd85343e42f3b6c42aad14 A couple typos and long lines. Link: https://github.com/acpica/acpica/commit/539f8c03 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7484619bff495c30e977dafe2ff735477bd569ff Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:29:08 2015 +0800 ACPICA: Tables: Cleanup to reduce FACS globals ACPICA commit 3f42ba76e2a0453976d3108296d5f656fdf2bd6e In this patch, FACS table mapping is also tuned a bit so that only the selected FACS table will be mapped by the OSPM (mapped on demand) and the FACS related global variables can be reduced. Lv Zheng. Link: https://github.com/acpica/acpica/commit/3f42ba76 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8ec3f459073e67e5c6d78507dec693064b3040a2 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Aug 25 10:29:01 2015 +0800 ACPICA: Tables: Fix global table list issues by removing fixed table indexes ACPICA commit c0b38b4c3982c2336ee92a2a14716107248bd941 The fixed table indexes leave holes in the global table list: 1. One hole can be seen when there is only 1 FACS provided by the BIOS. 2. Tow holes can be seen when it is a reduced hardware platform. The holes do not break OSPMs but have broken ACPI debugger "tables" command. Also the "fixed table indexes" mechanism may make the descriptors of the standard tables installed earlier than DSDT to be overwritten by the descriptors of the fixed tables. For example, FACP disappears from the global table list after DSDT is installed. This patch fixes all above issues by removing the "fixed table indexes" mechanism which is too complicated to be maintained in a regression safe manner. After removal, the table loader will determine the indexes of the fixed tables. Lv Zheng. Link: https://github.com/acpica/acpica/commit/c0b38b4c Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 92b21a9502ea3a83464aea885b3c65c528b10190 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:28:54 2015 +0800 ACPICA: Update info messages during ACPICA init ACPICA commit 4ccf8a1cc499ec8f00345f662a5887483980e1dd Small cleanup of messages. Link: https://github.com/acpica/acpica/commit/4ccf8a1c Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2aabfad7c6680178ffa8f02957287178a58a46ca Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:28:47 2015 +0800 ACPICA: Disassembler: Update for new listing mode ACPICA commit 2ed09bb7619d25f5a5c065c33a8a775a6db3a856 ACPICA commit 2fefacf73825b0ec96bbfc4f70a256735b715d6c This mode emits AML code along with the ASL code. A new global was needed to ensure the listing mode is completely separate from the debugger verbose mode. Emits the correct AML offset for the AML code. The -l option now works for both the compiler and disassembler. Linux kernel is not affected by this commit. Link: https://github.com/acpica/acpica/commit/2fefacf7 Link: https://github.com/acpica/acpica/commit/2ed09bb7 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9f41fd8a175ff87ba610fc387a6922b0f49f8e19 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:28:39 2015 +0800 ACPICA: Update parameter validation for data_table_region and load_table ACPICA commit 51ab555e60b4a3de3cc4a846e86d0de255be441a Add additional validation for the table signature and the OEM strings. Eliminates buffer read overrun in data_table_region. ACPICA BZ 1184. Link: https://bugs.acpica.org/show_bug.cgi?id=1184 Link: https://github.com/acpica/acpica/commit/51ab555e Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3534969721ba011b8c2bcb5686819852df7aa971 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:28:32 2015 +0800 ACPICA: Disassembler: Remove duplicate code in _PLD processing. ACPICA commit 6d9c827b540837b6e54059e17756a06985e4a196 ACPICA BZ 1176. Link: https://bugs.acpica.org/show_bug.cgi?id=1176 Link: https://github.com/acpica/acpica/commit/6d9c827b Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4712f71b609d1805b958c0c355b16a995b11ab6e Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Aug 25 10:28:26 2015 +0800 ACPICA: Correctly cleanup after a ACPI table load failure ACPICA commit ed7769e832de6c7ba90615480d916c85fd100422 If a table load fails, delete all namespace objects created by the table, otherwise these objects will be uninitialized, causing problems later. This appears to be a very rare problem. Also handle the unitialized node problem to prevent possible faults. ACPICA BZ 1185. Link: https://github.com/acpica/acpica/commit/ed7769e8 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 79c441ae505ccfaed9d80df95e83fb2573f23f8e Author: Guillaume Nault <g.nault@xxxxxxxxxxxx> Date: Mon Aug 24 11:35:30 2015 +0200 ppp: implement x-netns support Let packets move from one netns to the other at PPP encapsulation and decapsulation time. PPP units and channels remain in the netns in which they were originally created. Only the net_device may move to a different namespace. Cross netns handling is thus transparent to lower PPP layers (PPPoE, L2TP, etc.). PPP devices are automatically unregistered when their netns gets removed. So read() and poll() on the unit file descriptor will respectively receive EOF and POLLHUP. Channels aren't affected. Signed-off-by: Guillaume Nault <g.nault@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc7fce80229067890365c1ee196be5d304d36dea Author: Tomer Barletz <barletz@xxxxxxxxx> Date: Tue Aug 4 21:00:24 2015 -0700 mtd: blkdevs: fix switch-bool compilation warning With gcc 5.1 I get: warning: switch condition has boolean value [-Wswitch-bool] Signed-off-by: Tomer Barletz <barletz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 542a64c7076565d73eea39057113914e1607db30 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Aug 23 20:31:38 2015 +0200 net: sun4i-emac: Claim emac sram Claim the emac sram ourselves, rather then relying on the bootloader having mapped the sram to the emac controller during boot. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c0027cd54cc3ed856e87d9aeddb6ef00f5f17f4 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 23 08:21:22 2015 -0600 inetpeer: remove dead code Remove various inlined functions not referenced in the kernel. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5283af899adec1a7765e413e43b27a335fadac5d Author: Rana Shahout <ranas@xxxxxxxxxxxx> Date: Sun Aug 23 16:12:14 2015 +0300 net/mlx5e: Avoid accessing NULL pointer at ndo_select_queue To avoid multiply/division operations on the data path, we hold a {channel, tc}==>txq mapping table. We held this mapping table inside the channel object that is being destroyed upon some configuration operations (e.g MTU change). So in case ndo_select_queue occurs during such a configuration operation, it may access a NULL channel pointer, resulting in kernel panic. To fix this issue we moved the {channel, tc}==>txq mapping table outside the channel object so that it will be available also during such configuration operations. Signed-off-by: Rana Shahout <ranas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06bb6f5a69dfc53b79dd5f7afabdcd070a18afbf Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Aug 10 21:39:03 2015 +0200 mtd: spi-nor: stop (ab)using struct spi_device_id Using struct spi_device_id for storing list of flash devices comes from early SPI NOR framework days. Thanks to the commit 70f3ce0510af ("mtd: spi-nor: make spi_nor_scan() take a chip type name, not spi_device_id") we can stop using spi_device_id and just switch to our own struct. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 94c10f0ea303473884f69edd6bbb0cedcf570105 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 13:38:50 2015 -0700 ah4: Fix error return in ah_input(). Noticed by Herbert Xu. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25105051fde444cac11a2e2599350e5388936428 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Aug 23 02:11:21 2015 +0200 ah6: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c12197939be10c117039aabc06830297fb6d6ee Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Aug 23 02:11:16 2015 +0200 mlxsw: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ef53ebfa9ff5b205604fc781868765e00ae875f Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Aug 23 02:11:14 2015 +0200 net: davinci_emac: fix error return code Propagate error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74c9c9134bf8d8a6d5c5683f60262eed3d6fb5ac Author: Jeff Moyer <jmoyer@xxxxxxxxxx> Date: Wed Jul 29 10:22:50 2015 -0400 mtip32x: fix regression introduced by blk-mq per-hctx flush Hi, After commit f70ced091707 (blk-mq: support per-distpatch_queue flush machinery), the mtip32xx driver may oops upon module load due to walking off the end of an array in mtip_init_cmd. On initialization of the flush_rq, init_request is called with request_index >= the maximum queue depth the driver supports. For mtip32xx, this value is used to index into an array. What this means is that the driver will walk off the end of the array, and either oops or cause random memory corruption. The problem is easily reproduced by doing modprobe/rmmod of the mtip32xx driver in a loop. I can typically reproduce the problem in about 30 seconds. Now, in the case of mtip32xx, it actually doesn't support flush/fua, so I think we can simply return without doing anything. In addition, no other mq-enabled driver does anything with the request_index passed into init_request(), so no other driver is affected. However, I'm not really sure what is expected of drivers. Ming, what did you envision drivers would do when initializing the flush requests? Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 96fd26b97a6b1412e9a302cd11363e28aa9b4ee5 Merge: 43e122b ae05368 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 25 13:35:32 2015 -0700 Merge branch 'rds-assorted-bug-fixes' Santosh Shilimkar says: ==================== RDS: Assorted bug fixes We would like to improve RDS upstream support and in that context, I started playing with it. But run into number of issues including as basic is RDS IB RDMA doesn't work. As part of the debug, I ended up creating the $subject series which has bunch of assorted fixes. At least with this series I can run RDS IB RDMA and other tests successfully. Some of these fixes have been done by Chris Meson, Andy Grover and Zach Brown while at Oracle. There are still more kinks with FMR and error handling and I plan to address them in a follow up series. Series generated against Linus's master(v4.2-rc-7) but also applies against next-next cleanly. Its tested on Oracle hardware with IB fabric for both bcopy as well as RDMA mode. I don't have access to iWARP hardware so any testing help on iWARP hardware appreciated. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae05368afa7ea27fd906477874ed3ebc7df7e53c Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:35 2015 -0700 RDS: check for valid cm_id before initiating connection Connection could have been dropped while the route is being resolved so check for valid cm_id before initiating the connection. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06e8941e22f5cbaa4051f06d7ac99e3f302f6d48 Author: Mukesh Kacker <mukesh.kacker@xxxxxxxxxx> Date: Sat Aug 22 15:45:34 2015 -0700 RDS: return EMSGSIZE for oversize requests before processing/queueing rds_send_queue_rm() allows for the "current datagram" being queued to exceed SO_SNDBUF thresholds by checking bytes queued without counting in length of current datagram. (Since sk_sndbuf is set to twice requested SO_SNDBUF value as a kernel heuristic this is usually fine!) If this "current datagram" squeezing past the threshold is itself many times the size of the sk_sndbuf threshold itself then even twice the SO_SNDBUF does not save us and it gets queued but cannot be transmitted. Threads block and deadlock and device becomes unusable. The check for this datagram not exceeding SNDBUF thresholds (EMSGSIZE) is not done on this datagram as that check is only done if queueing attempt fails. (Datagrams that follow this datagram fail queueing attempts, go through the check and eventually trip EMSGSIZE error but zero length datagrams silently fail!) This fix moves the check for datagrams exceeding SNDBUF limits before any processing or queueing is attempted and returns EMSGSIZE early in the rds_sndmsg() code. This change also ensures that all datagrams get checked for exceeding SNDBUF/sk_sndbuf size limits and the large datagrams that exceed those limits do not get to rds_send_queue_rm() code for processing. Signed-off-by: Mukesh Kacker <mukesh.kacker@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dfcec251d22bab947d10cf37e9ad67085cf7f097 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:33 2015 -0700 RDS: make sure rds_send_drop_to properly takes the m_rs_lock rds_send_drop_to() is used during socket tear down to find all the messages on the socket and flush them . It can race with the acking code unless it takes the m_rs_lock on each and every message. This plugs a hole where we didn't take m_rs_lock on any message that didn't have the RDS_MSG_ON_CONN set. Taking m_rs_lock avoids double frees and other memory corruptions as the ack code trusts the message m_rs pointer on a socket that had actually been freed. We must take m_rs_lock to access m_rs. Because of lock nesting and rs access, we also need to acquire rs_lock. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c3be624f40acd6f2bd0f22ade081ac2467e8617 Author: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Date: Sat Aug 22 15:45:32 2015 -0700 RDS: Don't destroy the rdma id until after we're done using it During connection resets, we are destroying the rdma id too soon. We can't destroy it when it is still in use. So lets move rdma_destroy_id() after we clear the rings. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c240fa2ab394af1dbde280e00cc038cbc7f0409 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:31 2015 -0700 RDS: Fix assertion level from fatal to warning Fix the asserion level since its not fatal and can be hit in normal execution paths. There is no need to take the system down. We keep the WARN_ON() to detect the condition if we get here with bad pages. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3049147ca7c8426268433d16d7546a51dede316d Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:30 2015 -0700 RDS: Make sure we do a signaled send for large-send WR(Work Requests )always generate a WC(Work Completion) with signaled send. Default RDS ib code is setup for un-signaled completion. Since RDS connction is persistent, we can end up sending the data even after large-send when the remote end is not active(for any reason). By doing a signaled send at least once per large-send, we can at least detect the problem in work completion handler there by avoiding sending more data to inactive remote. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f73113c63bae5cd092c93c2a9835b9d3c7f0b54 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:29 2015 -0700 RDS: Mark message mapped before transmit rds_send_xmit() marks the rds message map flag after xmit_[rdma/atomic]() which is clearly wrong. We need to maintain the ownership between transport and rds. Also take care of error path. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0df5f9a68a79f31e608b69a9369d6415a38843e1 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:28 2015 -0700 RDS: add a sock_destruct callback debug aid This helps to detect the accidental processes/apps trying to destroy the RDS socket which they are sharing with other processes/apps. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c484240210a8c835a216dbca6f1d690e4094a7c Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:27 2015 -0700 RDS: check for congestion updates during rds_send_xmit Ensure we don't keep sending the data if the link is congested. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73ce4317bf983282593aff710b112a7e705620c3 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:26 2015 -0700 RDS: make sure we post recv buffers If we get an ENOMEM during rds_ib_recv_refill, we might never come back and refill again later. Patch makes sure to kick krdsd into helping out. To achieve this we add RDS_RECV_REFILL flag and update in the refill path based on that so that at least some therad will keep posting receive buffers. Since krdsd and softirq both might race for refill, we decide to schedule on work queue based on ring_low instead of ring_empty. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1f475a738e4c861d8aff84b737a0538680cbe05 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:25 2015 -0700 RDS: don't update ip address tables if the address hasn't changed If the ip address tables hasn't changed, there is no need to remove them only to be added back again. Lets fix it. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bc7b863f230e429dd7a06c0956ada7933d69f50 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:24 2015 -0700 RDS: destroy the ib state earlier during shutdown Destroy ib state early during shutdown. Otherwise we can get callbacks after the QP isn't really able to handle them. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43962dd7ee192299c6e0c6cd7f0a65997308f1f4 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:23 2015 -0700 RDS: always free recv frag as we free its ring entry We were still seeing rare occurrences of the WARN_ON(recv->r_frag) which indicates that the recv refill path was finding allocated frags in ring entries that were marked free. These were usually followed by OOM crashes. They only seem to be occurring in the presence of completion errors and connection resets. This patch ensures that we free the frag as we mark the ring entry free. This should stop the refill path from finding allocated frags in ring entries that were marked free. Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d2e3f396c532b95a37bbee92269f37efe908457 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Sat Aug 22 15:45:22 2015 -0700 RDS: restore return value in rds_cmsg_rdma_args() In rds_cmsg_rdma_args() 'ret' is used by rds_pin_pages() which returns number of pinned pages on success. And the same value is returned to the caller of rds_cmsg_rdma_args() on success which is not intended. Commit f4a3fc03c1d7 ("RDS: Clean up error handling in rds_cmsg_rdma_args") removed the 'ret = 0' line which broke RDS RDMA mode. Fix it by restoring the return value on rds_pin_pages() success keeping the clean-up in place. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 006a0973ed020a81fe1f24b511ce9feb53f70e44 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 25 14:11:52 2015 -0400 writeback: sync_inodes_sb() must write out I_DIRTY_TIME inodes and always call wait_sb_inodes() e79729123f63 ("writeback: don't issue wb_writeback_work if clean") updated writeback path to avoid kicking writeback work items if there are no inodes to be written out; unfortunately, the avoidance logic was too aggressive and broke sync_inodes_sb(). * sync_inodes_sb() must write out I_DIRTY_TIME inodes but I_DIRTY_TIME inodes dont't contribute to bdi/wb_has_dirty_io() tests and were being skipped over. * inodes are taken off wb->b_dirty/io/more_io lists after writeback starts on them. sync_inodes_sb() skipping wait_sb_inodes() when bdi_has_dirty_io() breaks it by making it return while writebacks are in-flight. This patch fixes the breakages by * Removing bdi_has_dirty_io() shortcut from bdi_split_work_to_wbs(). The callers are already testing the condition. * Removing bdi_has_dirty_io() shortcut from sync_inodes_sb() so that it always calls into bdi_split_work_to_wbs() and wait_sb_inodes(). * Making bdi_split_work_to_wbs() consider the b_dirty_time list for WB_SYNC_ALL writebacks. Kudos to Eryu, Dave and Jan for tracking down the issue. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: e79729123f63 ("writeback: don't issue wb_writeback_work if clean") Link: http://lkml.kernel.org/g/20150812101204.GE17933@xxxxxxxxxxxxxxxxxxxxxxxxxx Reported-and-bisected-by: Eryu Guan <eguan@xxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxxx> Cc: Ted Ts'o <tytso@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b96f465035f9fae83c1d8de3e80eecfe6877608c Author: David Teigland <teigland@xxxxxxxxxx> Date: Tue Aug 25 12:51:44 2015 -0500 dlm: fix lvb copy for user locks For a userland lock request, the previous and current lock modes are used to decide when the lvb should be copied back to the user. The wrong previous value was used, so that it always matched the current value. This caused the lvb to be copied back to the user in the wrong cases. Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 0cb850486048ba4f64482a9d3e33dff47df34c79 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Wed Dec 31 13:58:53 2014 +0100 mtd: nand: add Toshiba TC58NVG0S3E to nand_ids table Add the full description of the Toshiba TC58NVG0S3E NAND chip in the nand_ids table so that we can later use the NAND ECC info and ONFI timing mode in controller drivers. Tested with asm9260_nand driver. [Brian: driver still under review] Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 540d9864e1c5f8d3ca2ecc919e7d8a47e713ec3f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 25 11:16:13 2015 -0400 NFSv4.1/pnfs: Add sanity check for the layout range returned by the server Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 82714bd1424a88e4bb43813c8a78fbe8f6c5feab Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:41:24 2015 -0400 NFSv4.1/pnfs Improve the packing of struct pnfs_layout_hdr Eliminate a couple of holes in the structure, and move the 2 atomics into the same cacheline. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e3b1df2dbd7bcda807a94db131fda6c2bbd1480a Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Aug 25 11:19:25 2015 +0800 NFSv4.1/flexfile: ff_layout_remove_mirror can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit bbf58bf3488e41f346536aa89d62bdf2fe771128 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 24 20:39:18 2015 -0400 NFSv4.2/pnfs: Make the layoutstats timer configurable Allow advanced users to set the layoutstats timer in order to lengthen or shorten the period between layoutstat transmissions to the server. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 266d12d42ebd2587d3d0e8c4a4e54bfb5ed29543 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 24 20:03:17 2015 -0400 NFSv4.1/flexfile: Ensure uniqueness of mirrors across layout segments Keep the full list of mirrors in the struct nfs4_ff_layout_mirror so that they can be shared among the layout segments that use them. Also ensure that we send out only one copy of the layoutstats per mirror. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0b7baf9433d4e0a0c83eecbadc1f035d5370c6dc Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 24 18:22:28 2015 -0400 NFSv4.1/flexfiles: Remove mirror backpointer to lseg. When we start sharing mirrors between several lsegs, we won't be able to keep it. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 28a0d72c6867af307c000e068a6da93ae98bcd0c Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 24 18:08:30 2015 -0400 NFSv4.1/flexfiles: Add refcounting to struct nfs4_ff_layout_mirror We do want to share mirrors between layout segments, so add a refcount to enable that. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a6970317f2d5f596302d957ae2f5b0d7c8676371 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Tue Aug 18 21:04:35 2015 -0400 staging/lustre/o2iblnd: remove references to ib_reg_phsy_mr() Removed references to ib_reg_phsy_mr() and PMR which was added to deal with some Chelsio specific scenario, but no longer needed now. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Amir Shehata <amir.shehata@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5420401079e152ff68a8024f6a375804b1c21505 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:40:00 2015 +0800 NFS41/flexfiles: zero out DS write wcc We do not want to update inode attributes with DS values. Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3976143b063e3c42fe5471d87860f6ae118e0eee Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Fri Aug 21 12:49:44 2015 +0800 NFS41: remove NFS_LAYOUT_ROC flag If we return delegation before closing, we fail to do roc check during close because NFS_LAYOUT_ROC is cleared by delegreturn and it causes layouts to be still hanging around after delegreturn + close, which is a voilation against protocol. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 249b2eef647f97164b8bb61f2d9282f227a17992 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 20:43:14 2015 -0500 NFSv4: Add a tracepoint for CB_LAYOUTRECALL Only support for single file layoutrecall for now. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7cd148610af9312aa6454395fe174ebfe9496aa1 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 20:07:54 2015 -0500 NFSv4: Add a tracepoint for CB_GETATTR Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 6a463beb9a433d91f3eaf85c2f0ca0aeddf3e0ab Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 15:40:47 2015 -0500 NFSv4.1/pnfs: Add a tracepoint for return-on-close events Allow tracing of return-on-close. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit aaae3f00d3f67f681a1f3cb7af999e976e8a24ce Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 18:56:07 2015 -0500 NFSv4: Force a post-op attribute update when holding a delegation If the ctime or mtime or change attribute have changed because of an operation we initiated, we should make sure that we force an attribute update. However we do not want to mark the page cache for revalidation. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v4.0+ commit 804486b19de92449203f95027c2b207d8c5d5c79 Author: Milo Kim <milo.kim@xxxxxx> Date: Tue Aug 25 14:54:12 2015 +0900 regulator: lp872x: handle error case If memory allocation gets failed on parsing the DT, then it returns error '-ENOMEM' explicitly. Then, the driver exists from the _probe(). Signed-off-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d9ffae15f7b1933c71dfb7c5e8ef61296d2833d7 Author: Milo Kim <milo.kim@xxxxxx> Date: Tue Aug 25 14:54:11 2015 +0900 regulator: lp872x: use the private data instead of updating I2C device platform data Currently, lp872x driver parses the DT and copies values into the 'cl->dev.platform_data' if 'of_node' exists. This may have architectural issue. Platform data is configurable through the DT or I2C board info inside the platform area. However, lp872x driver changes this configuration when it is loaded. The lp872x driver should get data from the platform side and use the private data, 'lp872x->pdata' instead of changing the original platform data. Signed-off-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 43e122b014c955a33220fabbd09c4b5e4f422c3c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Aug 21 17:38:02 2015 -0700 tcp: refine pacing rate determination When TCP pacing was added back in linux-3.12, we chose to apply a fixed ratio of 200 % against current rate, to allow probing for optimal throughput even during slow start phase, where cwnd can be doubled every other gRTT. At Google, we found it was better applying a different ratio while in Congestion Avoidance phase. This ratio was set to 120 %. We've used the normal tcp_in_slow_start() helper for a while, then tuned the condition to select the conservative ratio as soon as cwnd >= ssthresh/2 : - After cwnd reduction, it is safer to ramp up more slowly, as we approach optimal cwnd. - Initial ramp up (ssthresh == INFINITY) still allows doubling cwnd every other RTT. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b63ec1837fa4c1ea604b278d201454eb3b85066 Author: David Daney <david.daney@xxxxxxxxxx> Date: Fri Aug 21 16:16:03 2015 -0700 phylib: Make PHYs children of their MDIO bus, not the bus' parent. commit 18ee49ddb0d2 ("phylib: rename mii_bus::dev to mii_bus::parent") changed the parent of PHY devices from the bus to the bus parent. Then, commit 4dea547fef1b ("phylib: rework to prepare for OF registration of PHYs") moved the code into phy_device.c At this point, it is somewhat unclear why the change was seen as necessary. But, when we look at the device model tree in /sys/devices, it is clearly incorrect. The PHYs should be children of their MDIO bus. Change the PHY's parent device to be the MDIO bus device. Cc: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c4b4b0eb1909010b8ebda1ef208bf3ed62e7487 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Tue Aug 25 15:27:43 2015 +0300 clk: qcom: Fix MSM8916 prng clock enable bit Fix the enable bit of the pseudorandom number generator clock. Reported-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Fixes: 3966fab8b6ab "clk: qcom: Add MSM8916 Global Clock Controller support" Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4ec3b28c2763e11a423d03810ff0be65f02e635e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 15:06:30 2015 -0700 xfrm: Use VRF master index if output device is enslaved Directs route lookups to VRF table. Compiles out if NET_VRF is not enabled. With this patch able to successfully bring up ipsec tunnels in VRFs, even with duplicate network configuration. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f021c62d64f38092bc2a0c5fe7b81d5e5b21a00 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Aug 21 12:30:00 2015 -0700 tcp: fix slow start after idle vs TSO/GSO slow start after idle might reduce cwnd, but we perform this after first packet was cooked and sent. With TSO/GSO, it means that we might send a full TSO packet even if cwnd should have been reduced to IW10. Moving the SSAI check in skb_entail() makes sense, because we slightly reduce number of times this check is done, especially for large send() and TCP Small queue callbacks from softirq context. As Neal pointed out, we also need to perform the check if/when receive window opens. Tested: Following packetdrill test demonstrates the problem // Test of slow start after idle `sysctl -q net.ipv4.tcp_slow_start_after_idle=1` 0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 +0 bind(3, ..., ...) = 0 +0 listen(3, 1) = 0 +0 < S 0:0(0) win 65535 <mss 1000,sackOK,nop,nop,nop,wscale 7> +0 > S. 0:0(0) ack 1 <mss 1460,nop,nop,sackOK,nop,wscale 6> +.100 < . 1:1(0) ack 1 win 511 +0 accept(3, ..., ...) = 4 +0 setsockopt(4, SOL_SOCKET, SO_SNDBUF, [200000], 4) = 0 +0 write(4, ..., 26000) = 26000 +0 > . 1:5001(5000) ack 1 +0 > . 5001:10001(5000) ack 1 +0 %{ assert tcpi_snd_cwnd == 10 }% +.100 < . 1:1(0) ack 10001 win 511 +0 %{ assert tcpi_snd_cwnd == 20, tcpi_snd_cwnd }% +0 > . 10001:20001(10000) ack 1 +0 > P. 20001:26001(6000) ack 1 +.100 < . 1:1(0) ack 26001 win 511 +0 %{ assert tcpi_snd_cwnd == 36, tcpi_snd_cwnd }% +4 write(4, ..., 20000) = 20000 // If slow start after idle works properly, we should send 5 MSS here (cwnd/2) +0 > . 26001:31001(5000) ack 1 +0 %{ assert tcpi_snd_cwnd == 10, tcpi_snd_cwnd }% +0 > . 31001:36001(5000) ack 1 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20f1f4b5ffb870631bf4a4e7c7ba10e3528ae6a6 Merge: ce52399 3e1d2ee Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 25 14:19:29 2015 -0400 Merge branch 'for-4.3-unified-base' into for-4.3 commit ce52399520e4b97466165737e00c7b528ae8c8f5 Author: Aleksa Sarai <cyphar@xxxxxxxxxx> Date: Tue Aug 25 12:50:44 2015 +1000 cgroup: pids: fix invalid get/put usage Fix incorrect usage of css_get and css_put to put a different css in pids_{cancel_,}attach() than the one grabbed in pids_can_attach(). This could lead to quite serious memory leakage (and unsafe operations on the putted css). tj: minor comment update Signed-off-by: Aleksa Sarai <cyphar@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 0e7659712836ca59b4735bc5cc94de38698a5e01 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 12:43:48 2015 +0100 ASoC: arizona: Poll for FLL clock OK rather than use interrupts The extcon driver takes the DAPM mutex from within the interrupt thread in several places, which makes it possible to get into a situation where the interrupt thread is blocked waiting on the DAPM mutex whilst a DAPM sequence is running which is attempting to configure the FLL. In this case the FLL completion can't be completed as as the IRQ handler is ONE_SHOT, which cause the FLL lock to use the full time out (250mS) and report that the process timed out. It is not really practical to make the extcon driver not take the DAPM mutex from within the interrupt thread, at least not without extensive modification. So this patch fixes the issue by switching the wait for the FLL lock to polling. A few fast polls are done first as the FLL should lock quickly for a good quality reference clock, (indeed it hits on the first poll on my system) and it will poll every 20mS after that until it times out. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit c1713485f9fc06e1f4de9800b43f6486f2527379 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Tue Aug 25 16:03:48 2015 +0800 ASoC: rt5645: Add struct dmi_system_id "Google Celes" for chrome platform Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b1d42598cb654ce63b55ccf27da09dcd914781f3 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Aug 24 20:32:59 2015 +0800 ASoC: rt5645: Add the register RT5645_CHARGE_PUMP to readable check function Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4aed4c9efb30253483869c58236ab00bdfa45630 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Aug 24 20:32:58 2015 +0800 ASoC: rt5645: Remove the incorrect setting of the JD mode The patch removes the incorrect setting of the JD mode. It will cause pop sound in the booting time. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8db7f56ddf2c4571e33756b70a1a8f492c050449 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Aug 24 20:32:57 2015 +0800 ASoC: rt5645: Modify the jack detection function to prevent the pop sound while the jack plug in The patch corrects the sequence of the jack detection. It will prevent the pop sound while the jack plug in. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 588cd850f5089cb63e031e8d70e9c081b0d97ab2 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Aug 24 20:32:56 2015 +0800 ASoC: rt5645: Modify the headphone depop and calibration function to prevent the pop sound in the booting time Remove the original calibration function and modify the depop and calibration function to prevent the pop sound in the booting time. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a8cfe8cfd0da4502f5fa924f47c7ba6c7047c722 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 18 15:16:45 2015 +0800 clk: Add missing header for 'bool' definition to clk-conf.h of_clk_set_defaults uses the type 'bool', but clk-conf.h does not include its definition. This results in a compile error when only clk-conf.h is used. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2ce0acf5673e7ee82506e69109876e037e4a64be Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Aug 24 11:45:18 2015 +0800 spi: mediatek: replace *_time name This patch replaces *_time name in mtk_spi_prepare_transfer(). Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 13da5a0b72ea66c74483966ff91718ae0a9c0703 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Aug 24 11:45:17 2015 +0800 spi: mediatek: add PM clk_prepare_enable fail flow This patch adds PM clk_prepare_enable fail flow. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 50f8fec2162db918540d0845481f3f6fffc5b033 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Aug 24 11:45:16 2015 +0800 spi: mediatek: replace int with u32, delete TAB and define MTK_SPI_PAUSE_INT_STATUS marco this patch replaces int with u32, deletes TAB, and defines MTK_SPI_PAUSE_INT_STATUS marco. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd69a0a69c9ee3e09da7f3771c1aa420e49464ce Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Aug 24 11:45:15 2015 +0800 spi: mediatek: add linux/io.h include file mediatek spi driver uses readl/writel, so add linux/io.h, even so it's implicitly imported by spi/spi.h Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9205b797dbe519a629267ec8c5766cd973d35063 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Aug 24 21:49:30 2015 +0100 ARM: 8421/1: smp: Collapse arch_cpu_idle_dead() into cpu_die() The only caller of cpu_die() on ARM is arch_cpu_idle_dead(), so let's simplify the code by renaming cpu_die() to arch_cpu_idle_dead(). While were here, drop the __ref annotation because __cpuinit is gone nowadays. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1ec6f701707e4e97e451ff8b662360f1262a6c59 Merge: 6be4b0d 2a03c02 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 25 10:16:48 2015 -0700 Merge tag 'v4.3-rockchip32-soc3' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc Fix for wrong error-codes in rk3288 suspend code. * tag 'v4.3-rockchip32-soc3' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: rockchip: pm: Fix PTR_ERR() argument Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4c80a00388dd7b9d9e7ebf31e62b96c7b74178b8 Merge: f4be3c6 467fb18 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 25 10:15:27 2015 -0700 Merge tag 'v4.3-rockchip32-dts3' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Fixes for non-standard and inverted regulator-suspend-properties on veyron boards. * tag 'v4.3-rockchip32-dts3' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: correct regulator power states for suspend ARM: dts: rockchip: correct regulator PM properties Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7d4d443eb4386d6dbd420fa96303dd8fbc1eefc8 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Fri Aug 21 21:17:00 2015 -0700 ASoC: rt5677: Allow arbitrary block read/write via SPI Added rt5677_spi_read() and refactored rt5677_spi_write() so that an arbitrary block in the DSP address space can be read/written via SPI. For example, this allows us to load an ELF DSP firmware with sparse sections, and stream audio samples from DSP ring buffer. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Acked-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f4d86223771533c68f1a6692d499f7ef0025f733 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Aug 23 22:49:32 2015 +0200 spi/bcm63xx-hsspi: add support for dual spi read/write Add support for dual read/writes on spi-bcm63xx-hsspi. This has been tested with a s25fl129p1 dual read capable spi flash, with a nice speed improvement: serial read: root@OpenWrt:/# time dd if=/dev/mtd4 of=/dev/null bs=8192 2032+0 records in 2032+0 records out real 0m 4.39s user 0m 0.00s sys 0m 1.55s dual read: root@OpenWrt:/# time dd if=/dev/mtd4 of=/dev/null bs=8192 2032+0 records in 2032+0 records out real 0m 3.09s user 0m 0.00s sys 0m 1.56s Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 126b16e2ad98c46aa0f53dbf62f71c09ba6b1d99 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Thu Jul 23 17:52:43 2015 +0100 Docs: dt: add generic MSI bindings Currently msi-parent is used in a couple of drivers despite being fairly underspecified. This patch adds a generic binding for MSIs (including the existing msi-parent property) enabling the description of platform devices capable of using MSIs. While MSIs are primarily distinguished by doorbell and payload, some MSI controllers (e.g. the GICv3 ITS) also use side-band information accompanying the write to identify the master which originated the MSI, to allow for sandboxing. This sideband information is non-probeable and needs to be described in the DT. Other MSI controllers may have additional configuration details which need to be described per-master. This patch adds a generic msi-parent binding document, extending the de-facto standard with a new (optional) #msi-cells which can be used to express any per-master configuration and/or sideband data. This is sufficient to describe non-hotpluggable devices. For busses where sideband data may be derived from some bus-specific master ID scheme, other properties will be required to describe the mapping. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 7f5dcaf1fdf289767a126a0a5cc3ef39b5254b06 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Sun Jun 7 15:20:11 2015 +0100 drivercore: Fix unregistration path of platform devices The unregister path of platform_device is broken. On registration, it will register all resources with either a parent already set, or type==IORESOURCE_{IO,MEM}. However, on unregister it will release everything with type==IORESOURCE_{IO,MEM}, but ignore the others. There are also cases where resources don't get registered in the first place, like with devices created by of_platform_populate()*. Fix the unregister path to be symmetrical with the register path by checking the parent pointer instead of the type field to decide which resources to unregister. This is safe because the upshot of the registration path algorithm is that registered resources have a parent pointer, and non-registered resources do not. * It can be argued that of_platform_populate() should be registering it's resources, and they argument has some merit. However, there are quite a few platforms that end up broken if we try to do that due to overlapping resources in the device tree. Until that is fixed, we need to solve the immediate problem. Cc: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Tested-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Tested-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 3a496b00b6f90c41bd21a410871dfc97d4f3c7ab Author: David Daney <david.daney@xxxxxxxxxx> Date: Wed Aug 19 13:17:47 2015 -0700 of/address: Don't loop forever in of_find_matching_node_by_address(). If the internal call to of_address_to_resource() fails, we end up looping forever in of_find_matching_node_by_address(). This can be caused by a defective device tree, or calling with an incorrect matches argument. Fix by calling of_find_matching_node() unconditionally at the end of the loop. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 068627a5978a885b33f0f49da81860ce78c3ac6f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:11:21 2015 +0200 of: Add vendor prefix for JEDEC Solid State Technology Association Add the "jedec" vendor prefix for the "JEDEC Solid State Technology Association" (formerly known as the "Joint Electron Device Engineering Council"), which is already in use in several bindings. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 43443ad692cf1d41a90cac2ed7066a10cd67a9c6 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Aug 2 19:44:43 2015 +0200 of/platform: add function to populate default bus When a default bus like the simple-bus should be used someone had to call of_platform_populate() with the default match table. This match table was not exported, so it is impossible for code build as a module to use this. Instead of exporting of_default_bus_match_table, add a new function which uses this default match table and populates the bus. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 5b87af4cca175c4f03f790f2b15be7e4dd436df9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:31:17 2015 +0200 regulator: isl9305: Export OF module alias information The I2C core always reports the MODALIAS uevent as "i2c:<modalias>" regardless of the mechanism that was used to register the device (i.e: OF or board code) and the table that is used later to match the driver with the device (i.e: I2C id table or OF match table). So drivers needs to export the I2C id table and this be built into the module or udev won't have the necessary information to autoload the needed driver module when the device is added. But this means that OF-only drivers needs to have both OF and I2C id tables that have to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. Which can lead to issues if two vendors use the same I2C device name for example. To avoid the above, the I2C core behavior may be changed in the future to not require an SPI device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table even when is unused now to prevent breaking module loading when the core changes. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b1713b135fb1ae4d52531a55f0687f985bffe271 Merge: 883985f a57e456 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 09:01:05 2015 -0700 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fix from Thomas Gleixner: "A single fix for a APIC regression introduced in 4.0 which went undetected until now. I screwed up the x2apic cleanup in a subtle way. The screwup is only visible on systems which have x2apic preenabled in the BIOS and need to disable it during boot" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/apic: Fix fallout from x2apic cleanup commit 3fba7e23f754a9a6e639b640fa2a393712ffe1b8 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 11:02:28 2015 +0100 ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore() Provide uaccess_save_and_enable() and uaccess_restore() to permit control of userspace visibility to the kernel, and hook these into the appropriate places in the kernel where we need to access userspace. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 08446b129bbde34665c423d882f857a45b8c3aed Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Aug 25 14:59:15 2015 +0100 ARM: mm: improve do_ldrd_abort macro Improve the do_ldrd_abort macro code - firstly, it inefficiently checks for the LDRD encoding by doing a multi-stage test of various bits. This can be simplified by generating a mask, bitmasking the instruction and then comparing the result. Secondly, we want to be able to test the result rather than branching to do_DataAbort, so remove the branch at the end and rename the macro to 'teq_ldrd' to reflect it's new usage. teq_ldrd macro returns 'eq' if the instruction was a LDRD. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9066b0c318589f47b754a3def4fe8ec4688dc21a Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 25 15:12:26 2015 +0800 drm/amdgpu: fix no sync_wait in copy_buffer when eviction is happening, if don't handle dependency, then the fence could be dead off. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 3c62338c26bf2677c8285b406cd769b92ee0dc10 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Thu Aug 20 18:33:59 2015 +0800 drm/amdgpu: fix last_vm_update fence is not effetive for sched fence Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit f38fdfddfaab070e3ff2333a79e45169ee33dc28 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 24 11:35:26 2015 +0800 drm/amdgpu: add priv data to sched Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 84f76ea6b03a766931e5d6d650af5ab980c6c4f4 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 24 12:47:36 2015 +0800 drm/amdgpu: add owner for sched fence Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit c14692f0a728a9d79fb03c7ce521eb07ec0e2b23 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 21 15:18:47 2015 +0200 drm/amdgpu: remove entity reference from sched fence Entity don't live as long as scheduler fences. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 6c859274f363be9dc13f8849bdc59bb64f922f26 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 16:12:50 2015 +0200 drm/amdgpu: fix and cleanup amd_sched_entity_push_job Calling schedule() is probably the worse things we can do. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 87e0a87dabdbe9e1698ef85c620c4110b04992a0 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:36:28 2015 +0200 drm/amdgpu: remove amdgpu_bo_list_clone Not used any more. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 3a185a33a2d291883bd1d0691d22901c345b12c9 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:35:34 2015 +0200 drm/amdgpu: remove the context from amdgpu_job Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 69f7dd652c08bffb267f418ded7b358e74783045 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:24:40 2015 +0200 drm/amdgpu: remove unused parameters to amd_sched_create Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 1fca766b24d07e2daed1da0f224f5f395c73e32b Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:09:54 2015 +0200 drm/amdgpu: remove sched_lock It isn't protecting anything. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit b034b572f2823122d56cd0d235158873f84c7c23 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:08:25 2015 +0200 drm/amdgpu: remove prepare_job callback Not used any more. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit d54fdb94b2fd4c989d498f69e8bbf4189fde42ef Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:03:48 2015 +0200 drm/amdgpu: cleanup a scheduler function name Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit e688b728228b951f41175e3a7c0738708d045969 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:01:01 2015 +0200 drm/amdgpu: reorder scheduler functions Keep run queue, entity and scheduler handling together. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit f49565982194d601f4f3a99892d0f3c765aec104 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 16:59:38 2015 +0200 drm/amdgpu: fix scheduler thread creation error checking Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit aef4852eed2841892796fb1e9abd7f8468384e62 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 14:47:46 2015 +0200 drm/amdgpu: fix entity wakeup race condition That actually didn't worked at all. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit f85a6dd9ebd1bcaeb2f31cca71537e62606a23c2 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 19 17:37:52 2015 +0200 drm/amdgpu: cleanup entity picking Cleanup function name, stop checking scheduler ready twice, but check if kernel thread should stop instead. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 9788ec40322ef40d64f6d4276248f40666dc4505 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 19 17:34:20 2015 +0200 drm/amdgpu: remove some more unused entity members v2 None of them are used any more. v2: fix type in error message Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit eb98d1c54d1e058f406f3f4acf15684ad26f9676 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 17:28:36 2015 +0200 drm/amdgpu: fix user fences when scheduler is enabled Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit f91b3a69418120974c9a416939b903ec86607c52 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 20 14:47:40 2015 +0800 drm/amdgpu: fix fence wait in sync_fence, instead should be in sync_rings Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit c746ba222363d2e0b0316b1c0bda21e2646b66f2 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 19 16:12:15 2015 +0200 drm/amdgpu: rework scheduler submission handling. Remove active_hw_rq and it's protecting queue_lock, they are unused. User 32bit atomic for hw_rq_count, 64bits for counting to three is a bit overkill. Cleanup the function name and remove incorrect comments. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit ce882e6dc241ab8dded0eeeb33a86482d44a5689 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 19 15:00:55 2015 +0200 drm/amdgpu: remove v_seq handling from the scheduler v2 Simply not used any more. Only keep 32bit atomic for fence sequence numbering. v2: trivial rebase Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v1) Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> (v1) Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) commit 4ce9891ee17c6e064cc334e3297f7e992d47f3a6 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Aug 19 16:41:19 2015 +0800 drm/amdgpu: improve sa_bo->fence by kernel fence Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 1aa4051b7f5474cca6009c13868c59d78d06f983 Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Wed Aug 19 16:24:19 2015 +0800 drm/amdgpu: modify amdgpu_fence_wait_any() to amdgpu_fence_wait_multiple() Rename the function and update the related code with this modified function. Add the new parameter of bool wait_all. If wait_all is true, it will return when all fences are signaled or timeout. If wait_all is false, it will return when any fence is signaled or timeout. Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Monk Liu <monk.liu@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 00133ffbf150bf145a946b3f4ee7031503e9751e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 13 17:20:21 2015 -0300 pinctrl: imx6ul: Remove .owner field platform_driver does not need to set an owner as it will be populated by the driver core. The semantic patch that makes this change is available in scripts/coccinelle/api/platform_no_drv_owner.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5e22ec019823b0204720e1ad9a5866c638332b3a Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Thu Aug 13 17:41:16 2015 +0200 gpio: extraxfs: fix returnvar.cocci warnings Remove unneeded variable used to store return value. Generated by: scripts/coccinelle/misc/returnvar.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2fe2918fa3294edc9c3d8d1622bb1a07c00463ff Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Wed Aug 12 16:22:12 2015 +0200 pinctrl: zynq: Fix typos in smc0_nand_grp and smc0_nor_grp Group names should be smc0_nand_grp and smc0_nor_grp, otherwise you'll get errors like this if you try to pinmux them via the devicetree: zynq-pinctrl 700.pinctrl: invalid group "smc0_nand_grp" for function "smc0_nand" Probably a typo while creating these tables. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 52293c67f1e7542a6dc61037d83c266e216bef27 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Aug 24 22:46:13 2015 -0400 drm/amdgpu: fix IH ring allocation for bus addresses (v2) Use pci_alloc_consistent rather than kzalloc since we need 256 byte aligned memory for the ring buffer. v2: fix copy paste typo in free function noticed by Jammy. bug: https://bugs.freedesktop.org/show_bug.cgi?id=91749 Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit bf433416e67597ba105ece55b3136557874945db Author: Lars Persson <lars.persson@xxxxxxxx> Date: Tue Aug 25 11:59:15 2015 +0200 crypto: algif_aead - fix for multiple operations on AF_ALG sockets The tsgl scatterlist must be re-initialized after each operation. Otherwise the sticky bits in the page_link will corrupt the list with pre-mature termination or false chaining. Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit df9e21e100a65618b56971ec8da4975eb60e919d Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Aug 24 11:56:02 2015 -0700 crypto: qat - enable legacy VFs We need to support legacy VFs as well as VFs running on different OSes. To do so the compatibility check need needs to be relaxed. This patch moves the logic responsible for VF to PF version and compatibility checking from adfsriov.c to adf_pf2vf_msg.c, where it belongs, and changes the logic enable legacy VFs. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0f74fbf77d457c692e108c91475bb7a46aa6d60c Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Aug 24 07:52:14 2015 -0700 MPI: Fix mpi_read_buffer Change mpi_read_buffer to return a number without leading zeros so that mpi_read_buffer and mpi_get_buffer return the same thing. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a8b9774571d46506a0774b1ced3493b1245cf893 Author: Christian Engelmayer <cengelma@xxxxxx> Date: Fri Aug 21 23:14:26 2015 +0200 rsi: Fix possible leak when loading firmware Commit 5d5cd85ff441 ("rsi: Fix failure to load firmware after memory leak fix and fix the leak") also added a check on the allocation of DMA-accessible memory that may directly return. In that case the already allocated firmware data is leaked. Make sure the data is always freed correctly. Detected by Coverity CID 1316519. Fixes: 5d5cd85ff441 ("rsi: Fix failure to load firmware after memory leak fix and fix the leak") Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4e70f2144db01f7214ed5846e47abf128fbfb5af Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:08 2015 +0200 brcmfmac: Add support for host platform NVRAM loading. Host platforms such as routers supported by OpenWRT can support NVRAM reading directly from internal NVRAM store. With this patch the nvram load routines will fall back to this method when there is no nvram file and support is available in the kernel. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit fc7c3ad5251cf76fc78b7f4701e35a0af6375335 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:07 2015 +0200 brcmfmac: bump highest event number for 4339 firmware The event mask length is determined by the highest event number that is specified in the driver. When this length is shorter than firmware expects setting event mask will fail and device becomes pretty useless. This issue was reported with bcm4339 firmware that was recently released. Reported-by: Pontus Fuchs <pontusf@xxxxxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Pontus Fuchs <pontusf@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b02bf1932a4855dc860ed20cdab94f1ea9b1c56f Author: Franky Lin <frankyl@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:06 2015 +0200 brcmfmac: block the correct flowring when backup queue overflow brcmf_flowring_block blocks the last active flowring under the same interface instead of the one provided by caller. This could lead to a dead lock of netif stop if there are more than one flowring under the interface and the traffic is high enough so brcmf_flowring_enqueue can not unblock the ring right away. Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Franky Lin <frankyl@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 39504a2d21adde4748b5ce8c057e09edf3fe17bb Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:05 2015 +0200 brcmfmac: make use of cfg80211_check_combinations() Use cfg80211_check_combinations() so we can bail out early when an interface add or change results in an invalid combination. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2bb66a8183d6396babde51e558b1ab35733f275f Author: Franky Lin <frankyl@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:04 2015 +0200 brcmfmac: add debugfs entry for msgbuf statistics Expose ring buffer read/write pointers and other useful statistics through debugfs. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Franky Lin <frankyl@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0882dda3bcbb51e63c2fd25705ec8541bf86378e Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Thu Aug 20 22:06:03 2015 +0200 brcmfmac: correct interface combination info The interface combination provided by brcmfmac did not truly reflect the combinations supported by driver and/or firmware. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Pontus Fuchs <pontusf@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 50f32e2d1044b1f1658a1e40c8831969a30ca6a1 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Aug 20 00:16:42 2015 +0200 brcmfmac: check all combinations when setting wiphy's addresses Broadcom is working on better reflection of interface combinations. With upcoming patches we may have 1st combination supporting less interfaces than others. To don't run out of addresses check all combinations to find the one with the greatest max_interfaces value. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1642d09fb9b128e8e538b2a4179962a34f38dff9 Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Wed Aug 19 17:33:12 2015 +0200 rtlwifi: rtl8192cu: Add new device ID The v2 of NetGear WNA1000M uses a different idProduct: USB ID 0846:9043 Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 654e2751c9f00491c4622893de59a21784e39ccf Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 25 14:04:44 2015 +0200 ALSA: ppc: Add missing inclusion of linux/module.h Otherwise it triggers a compile warning like: sound/ppc/keywest.c:104:1: warning: data definition has no type or storage class sound/ppc/keywest.c:104:1: error: type defaults to 'int' in declaration of 'MODULE_DEVICE_TABLE' [-Werror=implicit-int] Fixes: a2bc2af66a5b ('ALSA: ppc: keywest: Export I2C module alias information') Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 12ff7288bfed9d6d62186f0dd782b7b5a43670cd Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Sat Aug 15 18:36:37 2015 +0800 rtlwifi: rtl8192ee: fix semicolon.cocci warnings drivers/net/wireless/rtlwifi/rtl8192ee/phy.c:856:2-3: Unneeded semicolon drivers/net/wireless/rtlwifi/rtl8192ee/phy.c:492:3-4: Unneeded semicolon drivers/net/wireless/rtlwifi/rtl8192ee/phy.c:452:3-4: Unneeded semicolon Remove unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci CC: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 14250640cd52bf12831799c35502184c4ae8963b Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 07:16:39 2015 +0200 ath9k_htc: do ani shortcalibratio if we got -ETIMEDOUT current code will handle -ETIMEDOUT as success which is probalbly wrong. According to this comment I assume it is safe to handle -ETIMEDOUT as false: drivers/net/wireless/ath/ath9k/calib.c 290 /* 291 * We timed out waiting for the noisefloor to load, probably due to an 292 * in-progress rx. Simply return here and allow the load plenty of time 293 * to complete before the next calibration interval. We need to avoid 294 * trying to load -50 (which happens below) while the previous load is 295 * still in progress as this can cause rx deafness. Instead by returning 296 * here, the baseband nf cal will just be capped by our present 297 * noisefloor until the next calibration timer. 298 */ Since no other error wariants are present, this patch is checking only for (ret <= 0). Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 11c36537056759578f9baae03c4ff9dba95661cc Merge: 4a89ba0 5865f36 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Aug 25 14:54:38 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-08-23' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * new Tx power firmware API * bump max firmware API to 17 * fix bug in debug prints * static checker fix * fix unused defines * fix command list on newest firmware commit a2bc2af66a5b656577fc2d71b6c277b73537777e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:31:14 2015 +0200 ALSA: ppc: keywest: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dd9d3843755da95f63dd3a376f62b3e45c011210 Author: Jan H. Schönherr <jschoenh@xxxxxxxxx> Date: Wed Aug 12 21:35:56 2015 +0200 sched: Fix cpu_active_mask/cpu_online_mask race There is a race condition in SMP bootup code, which may result in WARNING: CPU: 0 PID: 1 at kernel/workqueue.c:4418 workqueue_cpu_up_callback() or kernel BUG at kernel/smpboot.c:135! It can be triggered with a bit of luck in Linux guests running on busy hosts. CPU0 CPUn ==== ==== _cpu_up() __cpu_up() start_secondary() set_cpu_online() cpumask_set_cpu(cpu, to_cpumask(cpu_online_bits)); cpu_notify(CPU_ONLINE) <do stuff, see below> cpumask_set_cpu(cpu, to_cpumask(cpu_active_bits)); During the various CPU_ONLINE callbacks CPUn is online but not active. Several things can go wrong at that point, depending on the scheduling of tasks on CPU0. Variant 1: cpu_notify(CPU_ONLINE) workqueue_cpu_up_callback() rebind_workers() set_cpus_allowed_ptr() This call fails because it requires an active CPU; rebind_workers() ends with a warning: WARNING: CPU: 0 PID: 1 at kernel/workqueue.c:4418 workqueue_cpu_up_callback() Variant 2: cpu_notify(CPU_ONLINE) smpboot_thread_call() smpboot_unpark_threads() .. __kthread_unpark() __kthread_bind() wake_up_state() .. select_task_rq() select_fallback_rq() The ->wake_cpu of the unparked thread is not allowed, making a call to select_fallback_rq() necessary. Then, select_fallback_rq() cannot find an allowed, active CPU and promptly resets the allowed CPUs, so that the task in question ends up on CPU0. When those unparked tasks are eventually executed, they run immediately into a BUG: kernel BUG at kernel/smpboot.c:135! Just changing the order in which the online/active bits are set (and adding some memory barriers), would solve the two issues above. However, it would change the order of operations back to the one before commit 6acbfb96976f ("sched: Fix hotplug vs. set_cpus_allowed_ptr()"), thus, reintroducing that particular problem. Going further back into history, we have at least the following commits touching this topic: - commit 2baab4e90495 ("sched: Fix select_fallback_rq() vs cpu_active/cpu_online") - commit 5fbd036b552f ("sched: Cleanup cpu_active madness") Together, these give us the following non-working solutions: - secondary CPU sets active before online, because active is assumed to be a subset of online; - secondary CPU sets online before active, because the primary CPU assumes that an online CPU is also active; - secondary CPU sets online and waits for primary CPU to set active, because it might deadlock. Commit 875ebe940d77 ("powerpc/smp: Wait until secondaries are active & online") introduces an arch-specific solution to this arch-independent problem. Now, go for a more general solution without explicit waiting and simply set active twice: once on the secondary CPU after online was set and once on the primary CPU after online was seen. set_cpus_allowed_ptr()") Signed-off-by: Jan H. Schönherr <jschoenh@xxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Wilson <msw@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 6acbfb96976f ("sched: Fix hotplug vs. set_cpus_allowed_ptr()") Link: http://lkml.kernel.org/r/1439408156-18840-1-git-send-email-jschoenh@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4ad79562577a3936b08365260f86eeb83156479f Merge: c13dcf9 e203db2 6e6cfbc cf27ec9 54e466f 4df4eab 23d3a98 57fb907 7b0ce72 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 25 11:39:50 2015 +0200 Merge branches 'arm/omap', 'arm/msm', 'arm/smmu', 'arm/tegra', 'x86/vt-d', 'x86/amd', 'ppc/pamu' and 'core' into next commit 4df4eab168c1c4058603be55a3169d4a45779cc0 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 25 10:54:28 2015 +0200 iommu/vt-d: Really use upper context table when necessary There is a bug in iommu_context_addr() which will always use the lower context table, even when the upper context table needs to be used. Fix this issue. Fixes: 03ecc32c5274 ("iommu/vt-d: support extended root and context entries") Reported-by: Xiao, Nan <nan.xiao@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5e9a3fcfa2ca10e3ff76938fe9a12515ffa41003 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 23 10:07:13 2015 +0800 ASoC: tegra: Fix unused variable 'spdif' warning Fix below build warning: CC [M] sound/soc/tegra/tegra20_spdif.o sound/soc/tegra/tegra20_spdif.c: In function 'tegra20_spdif_platform_remove': sound/soc/tegra/tegra20_spdif.c:361:24: warning: unused variable 'spdif' [-Wunused-variable] Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e0aa3a665782e29cec752ae667c51ed4ee75d11f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 20 17:39:32 2015 +0100 ARM: entry: ensure that IRQs are enabled when calling syscall_trace_exit() The audit code looks like it's been written to cope with being called with IRQs enabled. However, it's unclear whether IRQs should be enabled or disabled when calling the syscall tracing infrastructure. Right now, sometimes we call this with IRQs enabled, and other times with IRQs disabled. Opt for IRQs being enabled for consistency. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3302caddf10ad50710dbb7a94ccbdb3ad5bf1412 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 20 16:13:37 2015 +0100 ARM: entry: efficiency cleanups Make the "fast" syscall return path fast again. The addition of IRQ tracing and context tracking has made this path grossly inefficient. We can do much better if these options are enabled if we save the syscall return code on the stack - we then don't need to save a bunch of registers around every single callout to C code. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 01e09a28167c338684606b70797422da3bbb6650 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 20 14:22:48 2015 +0100 ARM: entry: get rid of asm_trace_hardirqs_on_cond There's no need for this macro, it can use a default for the condition argument. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b64d1f66517a89b9b0f6bd0bca86b05a55a5e742 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Aug 18 23:06:25 2015 +0100 ARM: uaccess: simplify user access assembly The user assembly for byte and word accesses was virtually identical. Rather than duplicating this, use a macro instead. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 552ef80389ec2567566be1ccc0dd79f08ba32cce Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Aug 24 16:52:30 2015 +0800 ASoC: SPEAr: Convert to use devm_ioremap_resource Use devm_ioremap_resource() instead of open code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5aec892a6ebe5a3e2a006d969b5fab59e6c79f63 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Aug 24 16:49:05 2015 +0800 ASoC: omap-mcbsp: Convert to use devm_ioremap_resource Use devm_ioremap_resource() instead of open code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 508a43fdd73072c959f849b4e9eb60a9b523396f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Aug 24 16:47:36 2015 +0800 ASoC: davinci: Convert to use devm_ioremap_resource Use devm_ioremap_resource() instead of open code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca30475698696af3a03f6eaee16472ae09d42269 Author: Xiao, Nan <nan.xiao@xxxxxx> Date: Mon Aug 24 06:22:42 2015 +0000 x86/vt-d: Fix documentation of DRHD According to "Intel Virtualization Technology for Directed I/O" specification, DRHD stands for "DMA Remapping Hardware Unit Definition" , not "DMA Engine Reporting Structure". Signed-off-by: Nan Xiao <nan.xiao@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 39c33704420b147fb7e193a9f406cc8420a1d610 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:31 2015 -0700 drivers/dma/iop-adma: Use dma_alloc_writecombine() kernel-style dma_alloc_writecombine()'s call and return value check is tangled in all in one call. Untangle both calls according to kernel coding style. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: daniel.vetter@xxxxxxxx Cc: dmaengine@xxxxxxxxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: tomi.valkeinen@xxxxxx Cc: toshi.kani@xxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-10-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 81bdef04d3bc76fc516ca613fa96061ff27bced9 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:30 2015 -0700 drivers/video/fbdev/vt8623fb: Use arch_phys_wc_add() and pci_iomap_wc() This driver uses the same area for MTRR as for the ioremap(). Convert the driver from using the x86-specific MTRR code to the architecture-agnostic arch_phys_wc_add(). It will avoid MTRRs if write-combining is available. In order to take advantage of that also ensure the ioremapped area is requested as write-combining. There are a few motivations for this: a) Take advantage of PAT when available. b) Help bury MTRR code away, MTRR is architecture-specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR. @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-9-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4edcd2ab125506516c7de038f6e0a6d19dcc411d Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:29 2015 -0700 drivers/video/fbdev/s3fb: Use arch_phys_wc_add() and pci_iomap_wc() This driver uses the same area for MTRR as for the ioremap(). Convert the driver from using the x86-specific MTRR code to the architecture-agnostic arch_phys_wc_add(). It will avoid MTRRs if write-combining is available. In order to take advantage of that also ensure the ioremapped area is requested as write-combining. There are a few motivations for this: a) Take advantage of PAT when available. b) Help bury MTRR code away, MTRR is architecture-specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR. @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-8-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c823a48ac47f8e0274fa7c8a3befae4bfa8412e3 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:28 2015 -0700 drivers/video/fbdev/arkfb.c: Use arch_phys_wc_add() and pci_iomap_wc() Convert the driver from using the x86-specific MTRR code to the architecture-agnostic arch_phys_wc_add(). It will avoid MTRRs if write-combining is available. In order to take advantage of that also ensure the ioremapped area is requested as write-combining. There are a few motivations for this: a) Take advantage of PAT when available. b) Help bury MTRR code away, MTRR is architecture-specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR. @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-7-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1b3d4200c1e00a3fb5e0aea428de5b07079a37e3 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:27 2015 -0700 PCI: Add pci_iomap_wc() variants PCI BARs tell us whether prefetching is safe, but they don't say anything about write combining (WC). WC changes ordering rules and allows writes to be collapsed, so it's not safe in general to use it on a prefetchable region. Add pci_iomap_wc() and pci_iomap_wc_range() so drivers can take advantage of write combining when they know it's safe. On architectures that don't fully support WC, e.g., x86 without PAT, drivers for legacy framebuffers may get some of the benefit by using arch_phys_wc_add() in addition to pci_iomap_wc(). But arch_phys_wc_add() is unreliable and should be avoided in general. On x86, it uses MTRRs, which are limited in number and size, so the results will vary based on driver loading order. The goals of adding pci_iomap_wc() are to: - Give drivers an architecture-independent way to use WC so they can stop using interfaces like mtrr_add() (on x86, pci_iomap_wc() uses PAT when available). - Move toward using _PAGE_CACHE_MODE_UC, not _PAGE_CACHE_MODE_UC_MINUS, on x86 on ioremap_nocache() (see de33c442ed2a ("x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> [ Move IORESOURCE_IO check up, space out statements for better readability. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: <roger.pau@xxxxxxxxxx> Cc: <syrjala@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Stefan Bader <stefan.bader@xxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: david.vrabel@xxxxxxxxxx Cc: jbeulich@xxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: venkatesh.pallipadi@xxxxxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-6-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f3adccbd75831f3651ca6e2cbb83f27cd68a27c9 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:26 2015 -0700 drivers/video/fbdev/gxt4500: Use pci_ioremap_wc_bar() to map framebuffer The driver doesn't use mtrr_add() or arch_phys_wc_add() but since we know the framebuffer is isolated already on an ioremap() we can take advantage of write combining for performance where possible. In this case there are a few motivations for this: a) Take advantage of PAT when available. b) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-5-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9e517ac88b2443bebc0499c0b477b155d63648a7 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:25 2015 -0700 drivers/video/fbdev/kyrofb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() Convert the driver from using the x86-specific MTRR code to the architecture-agnostic arch_phys_wc_add(). It will avoid MTRR if write-combining is available, in order to take advantage of that also ensure the ioremapped area is requested as write-combining. There are a few motivations for this: a) Take advantage of PAT when available b) Help bury MTRR code away, MTRR is architecture-specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()") The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR. @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-4-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c112709809b2ca1e8ff2841a1958503e548b81e4 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:24 2015 -0700 drivers/video/fbdev/i740fb: Use arch_phys_wc_add() and pci_ioremap_wc_bar() Convert the driver from using the x86-specific MTRR code to the architecture-agnostic arch_phys_wc_add(). It will avoid MTRR if write-combining is available, in order to take advantage of that also ensure the ioremapped area is requested as write-combining. There are a few motivations for this: a) Take advantage of PAT when available b) Help bury MTRR code away, MTRR is architecture-specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()") The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR. @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Benoit Taine <benoit.taine@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-3-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c43996f4001de629af4a4d6713782e883677e5b9 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Aug 24 12:13:23 2015 -0700 PCI: Add pci_ioremap_wc_bar() This lets drivers take advantage of PAT when available. It should help with the transition of converting video drivers over to ioremap_wc() to help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache(), see: de33c442ed2a ("x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()") Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: <syrjala@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: airlied@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: vinod.koul@xxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440443613-13696-2-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8d58b66ed2b000f27658c88a4ed70e8042e86a58 Merge: 13fe86f4 c13dcf9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Aug 25 09:59:19 2015 +0200 Merge tag 'v4.2-rc8' into x86/mm, before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13fe86f465b72fc9328d4f5ebc33223c011852ae Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Aug 24 19:34:55 2015 -0400 x86/mm: Make kernel/check.c explicitly non-modular The Kconfig currently controlling compilation of this code is: arch/x86/Kconfig:config X86_CHECK_BIOS_CORRUPTION arch/x86/Kconfig: bool "Check for low memory corruption" ...meaning that it currently is not being built as a module by anyone. Lets remove the couple traces of modularity so that when reading the code there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440459295-21814-4-git-send-email-paul.gortmaker@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8f45fe441a9836011672436ef007654969b28ccc Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Aug 24 19:34:54 2015 -0400 x86/mm/pat: Make mm/pageattr[-test].c explicitly non-modular The file pageattr.c is obj-y and it includes pageattr-test.c based on CPA_DEBUG (a bool), meaning that no code here is currently being built as a module by anyone. Lets remove the couple traces of modularity so that when reading the code there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440459295-21814-3-git-send-email-paul.gortmaker@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e971aa2cbac02363a29e9358de3b688001191ffd Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Mon Aug 24 19:34:53 2015 -0400 x86/platform: Make atom/pmc_atom.c explicitly non-modular The Kconfig currently controlling compilation of this code is: config PMC_ATOM def_bool y ...meaning that it currently is not being built as a module by anyone. Lets remove the couple traces of modularity so that when reading the driver there is no doubt it is builtin-only. Since module_init() translates to device_initcall() in the non-modular case, the init ordering remains unchanged with this commit. We leave some tags like MODULE_AUTHOR() for documentation purposes. Also note that MODULE_DEVICE_TABLE() is a no-op for non-modular code. We correct a comment that indicates the data was only used by that macro, as it actually is used by the code directly. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440459295-21814-2-git-send-email-paul.gortmaker@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f612a7b1a7f1b5139f228724ce340aac24720591 Merge: 9b9412d 12d560f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Aug 25 09:44:49 2015 +0200 Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull RCU cleanup from Paul E. McKenney: "Privatize smp_mb__after_unlock_lock(). This commit moves the definition of smp_mb__after_unlock_lock() to kernel/rcu/tree.h, in recognition of the fact that RCU is the only thing using this, that nothing else is likely to use it, and that it is likely to go away completely." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 33fef662d20a8a98bafa6b2430b845def30f616a Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Aug 25 01:19:45 2015 -0400 tools/liblockdep: Use the rbtree header provided by common tools headers Recent changes to rbtree.h may break compilation. There is no reason to use a liblockdep specific header to begin with, so we'll use the one shared with all other tools/. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440479985-6696-3-git-send-email-sasha.levin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 62b989de598c486df65a14dfd9bb4a9953c75568 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Aug 25 01:19:44 2015 -0400 tools/liblockdep: Correct macro for WARN As Peter Zijlstra pointed out, the varargs for WARN() are optional, so we need to correctly handle the case where they don't exist. This would cause a compilation error. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440479985-6696-2-git-send-email-sasha.levin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 92e25fd9be82a37247e587415ff9a9e773008d56 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Tue Aug 25 01:19:43 2015 -0400 tools: Restore export.h Commit 3f735377b ("tools: Copy lib/rbtree.c to tools/lib/") has removed export.h, which was still in use by liblockdep. Restore it. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440479985-6696-1-git-send-email-sasha.levin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13d20b3b618adc43168b034792eec57063b5ec6f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:31:12 2015 +0200 backlight: tosa: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<modalias>" regardless of the mechanism that was used to register the device (i.e: OF or board code) and the table that is used later to match the driver with the device (i.e: I2C id table or OF match table). So drivers needs to export the I2C id table and this be built into the module or udev won't have the necessary information to autoload the needed driver module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 85463d8ed1ffae0eb0bd070e400f33918a6696ef Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 12:08:31 2015 +0200 backlight: lp8788_bl: Delete a check before backlight_device_unregister() The backlight_device_unregister() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 047ffbb27115b57759767145803b752518399d90 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Aug 17 15:59:17 2015 +0800 backlight: sky81452: Remove unneeded use of IS_ERR_VALUE() macro IS_ERR_VALUE() makes sense only *if* there could be valid values in negative error range. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7ddbc2423c3301280b883bbb04b998203f30312c Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Jul 21 17:44:49 2015 -0700 backlight: pm8941-wled: Move PM8941 WLED driver to backlight The Qualcomm PM8941 WLED block is used for backlight and should therefor be in the backlight framework and not in the LED framework. This moves the driver and adapts to the backlight api instead. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Rob Clark <robdclark@xxxxxxxxx> Acked-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fe009175ae3ec3724c1414440e22a1d32d806ec5 Author: Milo Kim <milo.kim@xxxxxx> Date: Mon Jul 20 15:45:38 2015 +0900 backlight: lp855x: Use private data for regulator control LP855x backlight device can be enabled by external VDD input. The 'supply' data is used for this purpose. It's kind of private data which runs internally, so there is no reason to expose to the platform data. And devm_regulator_get() is moved from _parse_dt() to _probe(). Regulator consumer(lp855x) can control regulator not only from DT but also from platform data configuration in a source file such like board-*.c. Signed-off-by: Milo Kim <milo.kim@xxxxxx> Acked-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit db56176025cee5e242dfeed5f4e304d095d29fa3 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Aug 25 17:23:36 2015 +1000 Revert "drm/atomic: Call ww_acquire_done after check phase is complete" This reverts commit 992cbf19b32900efa17850b9fa0031fd623edd4d. Until we make fbdev layer atomic we can't call this. Requested-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx? Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit f755d114cba98708932cba89d8c98c4ab89a83b0 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sun Aug 23 00:30:19 2015 +0800 ASoC: cs4349: fix platform_no_drv_owner.cocci warnings sound/soc/codecs/cs4349.c:389:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Tim Howe <tim.howe@xxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9dcc144b1f91c4fe33422518e401e9c624e2c64f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 25 08:52:55 2015 +0200 ALSA: hda - Refresh sysfs at snd_hda_codec_update_widgets() In the commit [fa4f18b4f402: ALSA: hda - Refresh widgets sysfs at probing Haswell+ HDMI codecs], snd_hdac_refresh_widget_sysfs() is explicitly called in the codec driver. But this results in refreshing twice, as snd_hdac_refresh_widget_sysfs() itself calls snd_hdac_refresh_widgets() function. Instead, we can replace the call in snd_hda_codec_update_widgets() with snd_hdac_refresh_widget_sysfs(). This also fixes the missing sysfs update for ca0132, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 06b23f7fbbf26a025fd68395c7586949db586b47 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Thu Aug 6 09:48:34 2015 +0200 can: pcan_usb: don't provide CAN FD bittimings by non-FD adapters The CAN FD data bittiming constants are provided via netlink only when there are valid CAN FD constants available in priv->data_bittiming_const. Due to the indirection of pointer assignments in the peak_usb driver the priv->data_bittiming_const never becomes NULL - not even for non-FD adapters. The data_bittiming_const points to zero'ed data which leads to this result when running 'ip -details link show can0': 35: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10 link/can promiscuity 0 can state STOPPED restart-ms 0 pcan_usb: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1 : dtseg1 0..0 dtseg2 0..0 dsjw 1..0 dbrp 0..0 dbrp-inc 0 <== BROKEN! clock 8000000 This patch changes the struct peak_usb_adapter::bittiming_const and struct peak_usb_adapter::data_bittiming_const to pointers to fix the assignemnt problems. Cc: linux-stable <stable@xxxxxxxxxxxxxxx> # >= 4.0 Reported-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Tested-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit c4a91e173ac671e81ea6fc9d0951b7527e2ae13d Merge: 4308c9b c7cd0ef Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 25 08:01:41 2015 +0200 Merge branch 'for-linus' into for-next commit c7cd0ef66aade29e37ee08821a0e195ee776c6e6 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 24 10:52:06 2015 +0200 ALSA: hda - Fix path power activation The widget power-saving code tries to turn up/down the power of each widget in the I/O paths that are modified at each jack plug/unplug. The recent report revealed that the power activation leaves some widgets unpowered after plugging. This is because snd_hda_activate_path() turns on path->active flag at the end of the function while the path power management is done before that. Then it's regarded as if nothing is active, and the driver turns off the power. The fix is simply to set the flag at the beginning of the function, before trying to power up. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=102521 Cc: <stable@xxxxxxxxxxxxxxx> [v4.1+] Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9d2b48f7304aafaefbf0794a556ab4e307929d24 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 24 10:45:27 2015 +0200 ALSA: hda - Check all inputs for is_active_nid_for_any() The is_active_nid_for_any() function in the generic parser is supposed to check all connections from/to the given widget, but the current code checks only the first input connection (index = 0). This patch corrects the code to check all inputs by passing -1 to index argument. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=102521 Cc: <stable@xxxxxxxxxxxxxxx> [v4.1+] Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5f05586c609dfc737e2e00c757a51c7dbb415e51 Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Aug 5 09:40:26 2015 -0400 ACPI: Decouple ACPI idle and ACPI processor drivers This patch introduces a new Kconfig symbol, ACPI_PROCESSOR_IDLE, which is auto selected by architectures which support the ACPI based C states for CPU Idle management. The processor_idle driver in its present form contains declarations specific to X86 and IA64. Since there are no reasonable defaults for other architectures e.g. ARM64, the driver is selected only for X86 or IA64. This helps in decoupling the ACPI processor_driver from the ACPI processor_idle driver which is useful for the upcoming alternative patchwork for controlling CPU Performance (CPPC) and CPU Idle (LPI). Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 239708a3af44064366f1af0eea02dc1e8991c11b Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Aug 5 09:40:25 2015 -0400 ACPI: Split out ACPI PSS from ACPI Processor driver The ACPI processor driver is currently tied too closely to the ACPI P-states (PSS) and other related constructs for controlling CPU performance. The newer ACPI specification (v5.1 onwards) introduces alternative methods to PSS. These new mechanisms are described within each ACPI Processor object and so they need to be scanned whenever a new Processor object is detected. This patch introduces a new Kconfig symbol to allow for finer configurability among the two options for controlling performance states. There is no change in functionality and the option is auto-selected by the architectures which support it. A future commit will introduce support for CPPC: A newer method of controlling CPU performance. The OS is not expected to support CPPC and PSS at the same time, so the Kconfig option lets us make the two mutually exclusive at compile time. Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d3c68f218f927bd4b14b586ea2dcecee54cf09ad Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Aug 5 09:40:24 2015 -0400 PCC: Initialize PCC Mailbox earlier at boot This change initializes the PCC Mailbox earlier than the ACPI processor driver. This enables drivers introduced in follow up patches (e.g. CPPC) to be probed via the ACPI processor driver interface. The CPPC probe requires the PCC channel to be initialized for it to query each CPUs performance capabilities. Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Reviewed-by: Al Stone <al.stone@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3277b4ea216e5cd7d3f6095ff40f1a9e574f37b3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Aug 17 17:28:46 2015 +0300 ACPI / osl: replace custom implementation of readq / writeq The readq() and writeq() helpers are available in the asm-generic/io-64-nonatomic-hi-lo.h and asm-generic/io-64-nonatomic-lo-hi.h headers. Replace custom implementation by the generic helpers. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 02b771b64b73226052d6e731a0987db3b47281e9 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Wed Aug 12 11:12:02 2015 +0800 ACPI / EC: Fix an issue caused by the serialized _Qxx evaluations It is proven that Windows evaluates _Qxx handlers in a parallel way. This patch follows this fact, splits _Qxx evaluations from the NOTIFY queue to form a separate queue, so that _Qxx evaluations can be queued up on different CPUs rather than being queued up on a CPU0 bound queue. Event handling related callbacks are also renamed and sorted in this patch. Link: https://bugzilla.kernel.org/show_bug.cgi?id=94411 Reported-and-tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 70b33a7466baac62103e04c916b8915665b79d80 Merge: aa49338 f79af0b Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Aug 25 10:13:35 2015 +1000 Merge branch 'xfs-misc-fixes-for-4.3-3' into for-next commit f79af0b9090895520c69fbe1939184c4f8ed8426 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Aug 25 10:05:13 2015 +1000 xfs: fix non-debug build warnings There seem to be a couple of new set-but-unused build warnings that gcc 4.9.3 is now warning about. These are not regressions, just the compiler being more picky. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2ccf4a9b18868b0900072e6d5d15a04254a07345 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Tue Aug 25 10:05:13 2015 +1000 xfs: collapse allocsize and biosize mount option handling The allocsize and biosize mount options are handled identically, other than allocsize accepting suffixes. suffix_kstrtoint handles bare numbers just fine too, so these can be collapsed. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 037542345a82aaaa228ec280fe6ddff1568d169f Author: Jan Kara <jack@xxxxxxxx> Date: Tue Aug 25 10:05:13 2015 +1000 xfs: Fix file type directory corruption for btree directories Users have occasionally reported that file type for some directory entries is wrong. This mostly happened after updating libraries some libraries. After some debugging the problem was traced down to xfs_dir2_node_replace(). The function uses args->filetype as a file type to store in the replaced directory entry however it also calls xfs_da3_node_lookup_int() which will store file type of the current directory entry in args->filetype. Thus we fail to change file type of a directory entry to a proper type. Fix the problem by storing new file type in a local variable before calling xfs_da3_node_lookup_int(). cc: <stable@xxxxxxxxxxxxxxx> # 3.16 - 4.x Reported-by: Giacomo Comes <comes@xxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b6a9947efdbe0c9135d94b26b2f912f5b0b9dc45 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Aug 25 10:05:13 2015 +1000 xfs: lockdep annotations throw warnings on non-debug builds SO, now if we enable lockdep without enabling CONFIG_XFS_DEBUG, the lockdep annotations throw a warning because the assert that uses the lockdep define is not built in: fs/xfs/xfs_inode.c:367:1: warning: 'xfs_lockdep_subclass_ok' defined but not used [-Wunused-function] xfs_lockdep_subclass_ok( So now we need to create an ifdef mess to sort this all out, because we need to handle all the combinations of CONFIG_XFS_DEBUG=[y|n], CONFIG_XFS_WARNING=[y|n] and CONFIG_LOCKDEP=[y|n] appropriately. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit c184f855c483428027d6ec937e4a9d5f15b2cbad Author: Jan Kara <jack@xxxxxxxx> Date: Tue Aug 25 10:05:13 2015 +1000 xfs: Fix uninitialized return value in xfs_alloc_fix_freelist() xfs_alloc_fix_freelist() can sometimes jump to out_agbp_relse without ever setting value of 'error' variable which is then returned. This can happen e.g. when pag->pagf_init is set but AG is for metadata and we want to allocate user data. Fix the problem by initializing 'error' to 0, which is the desired return value when we decide to skip this group. CC: xfs@xxxxxxxxxxx Coverity-id: 1309714 Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e3ee276a5a62a1cd06de46aa0c808000d3fef00e Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Tue Jul 28 19:43:20 2015 -0400 drivers/clk: appropriate __init annotation for const data Init data marked const should be annotated with __initconst for correctness and not __initdata. This also fixes LTO builds that otherwise fail with section mismatch errors. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Dropped hunks that moved const char * arrays to const char * const] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 10897370345b792c00ccba6aa7ea86ae6bfa2c7a Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Aug 19 15:06:55 2015 +0200 clk: rockchip: register pll mux before pll itself The structure is xin24m -> pll -> pll-mux (xin24m,pll,xin32k). The pll does have an init callback to make sure the boot-selected frequency is using the expected pll settings and resets the same frequency using the values provided in the driver if necessary. The setting itself also involves remuxing the pll-mux temporarily to the xin24m source to let the new pll rate settle. Until now this worked flawlessly, even when it had the flaw of accessing the mux settings before the mux actually got registered. With the recent clock-core conversions this flaw became apparent in null pointer dereference in [<c03fc400>] (clk_hw_get_num_parents) from [<c0400df0>] (clk_mux_get_parent+0x14/0xc8) [<c0400ddc>] (clk_mux_get_parent) from [<c040246c>] (rockchip_rk3066_pll_set_rate+0xd8/0x320) So to fix that, simply register the pll-mux before the pll, so that it will be fully initialized when the pll clock executes its init- callback and possibly touches the pll-mux clock. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 67c9a1b5dadf05e22d7e2d32604fb2b21bf3f666 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 30 15:20:00 2015 +0200 clk: add bindings for the Ux500 clocks These Ux500 clocks have been around for years and were never properly documented. Add the proper binding documentation. Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5dc0fe199b358966021b015c71ca4049d0f42aa6 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 30 15:19:25 2015 +0200 clk/ARM: move Ux500 PRCC bases to the device tree The base addresses for the Ux500 PRCC controllers are hardcoded, let's move them to the clock node in the device tree and delete the constants. Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c660b2ebb25be5668a4ed333539f34b05841e17a Author: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Date: Tue Jul 28 21:19:41 2015 +0800 clk: remove duplicated code with __clk_set_parent_after __clk_set_parent_after() actually used the second argument then we could put this duplicate logic in there and call it with a different order of arguments in the success vs. error paths in this function. Cc: Mike Turquette <mturquette@xxxxxxxxxx> Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 836ee0f7d95c3feb742bd4b3a02fea3fe75bdef3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Aug 12 11:42:23 2015 -0700 clk: Convert __clk_get_name(hw->clk) to clk_hw_get_name(hw) Use the provider based method to get a clock's name so that we can get rid of the clk member in struct clk_hw one day. Mostly converted with the following coccinelle script. @@ struct clk_hw *E; @@ -__clk_get_name(E->clk) +clk_hw_get_name(E) Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-rockchip@xxxxxxxxxxxxxxxxxxx Cc: linux-samsung-soc@xxxxxxxxxxxxxxx Cc: linux-tegra@xxxxxxxxxxxxxxx Cc: linux-omap@xxxxxxxxxxxxxxx Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e7df6f6e21883d7e8b3ad4641c911da8314ef283 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Aug 12 13:04:56 2015 -0700 clk: Constify clk_hw argument to provider APIs We don't modify the clk_hw argument in these functions, so it's safe to mark it as const. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c1628a2c416da947f5afac615d53189250fa49cb Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Tue Aug 4 15:27:28 2015 +0800 clk: Hi6220: add stub clock driver On Hi6220, there have some clocks which can use mailbox channel to send messages to power controller to change frequency; this includes CPU, GPU and DDR clocks. For dynamic frequency scaling, firstly need write the frequency value to SRAM region, and then send message to mailbox to trigger power controller to handle this requirement. This driver will use syscon APIs to pass SRAM memory region and use common mailbox APIs for channels accessing. This init driver will support cpu frequency change firstly. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 832446e8aaaeaf9365da18f95f01a42e6da27279 Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Tue Aug 4 15:27:27 2015 +0800 dt-bindings: clk: Hi6220: Document stub clock driver Document the new compatible for stub clock driver which is used for CPU and DDR's dynamic frequency scaling. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7e2a51e0cf75028888e5c670b3a3963e1716bdff Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Tue Aug 4 15:27:26 2015 +0800 dt-bindings: arm: Hi6220: add doc for SRAM controller Document "hisilicon,hi6220-sramctrl" for SRAM controller. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b32a7cc63bee7bffbd61f88b157b78a9b2101de0 Author: Guo Zeng <guo.zeng@xxxxxxx> Date: Tue Aug 4 14:45:32 2015 +0000 clk: atlas7: fix pll missed divide NR in fraction mode PLL VCO frequency is given by Fvco = Fref * 2 * NF / NR in integer-N mode, or by Fvco = Fref * SSN / NR in Spread Spectrum (fractional-N) mode. Thus fix the missing part of NR Signed-off-by: Guo Zeng <guo.zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit cf8709eabc07c4681eb0bfd63139142c9bef8b59 Author: Guo Zeng <guo.zeng@xxxxxxx> Date: Tue Aug 4 14:45:31 2015 +0000 clk: atlas7: fix bit field and its root clk for coresight_tpiu bit4 thcpum_cpudiv4_clken r/w thcpum_cpudiv4_clk clock enable (default: 1) Root clock CPU_CLK must be enabled for this clock to be enabled bit3 coresight_tpiu_clken r/w coresight_tpiu_clk clock enable (default: 0) Root clock TPIU_CLK must be enabled for this clock to be enabled Signed-off-by: Guo Zeng <guo.zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d1ccbddd090b74b8027727cb543b9c23d7f0f23e Author: Yibo Cai <yibo.cai@xxxxxxx> Date: Tue Aug 4 14:45:29 2015 +0000 clk: atlas7: replace dto resolution magic number by macro Signed-off-by: Yibo Cai <yibo.cai@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6132e89aef51df044246b5aef822144217794ae1 Author: Yibo Cai <yibo.cai@xxxxxxx> Date: Tue Aug 4 14:45:28 2015 +0000 clk: atlas7: fix integer overflow in dto rate calculation I cannot believe that I spend quite a lot time in finding this bug. It seems a pitfall people tend to fall in. In "int64 = int32 * int32", conversion from 32-bits to 64-bits comes after the multiplication. So this statement may not work as expected. Signed-off-by: Yibo Cai <yibo.cai@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b1062298fea59dca23cdbcafaa5bed79c273d88f Author: Guo Zeng <guo.zeng@xxxxxxx> Date: Tue Aug 4 14:45:27 2015 +0000 clk: atlas7: export mux clks so that consumers can get them this patch makes mux clks can be referenced by device drivers. Signed-off-by: Guo Zeng <guo.zeng@xxxxxxx> Signed-off-by: Barry Song <Barry.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 3922107c796164560b797ae8dece697b5b5e4c24 Author: Guo Zeng <Guo.Zeng@xxxxxxx> Date: Tue Aug 4 14:45:26 2015 +0000 clk: atlas7: add lost pwm unit clks Signed-off-by: Guo Zeng <Guo.Zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 34d5003bfba44a73fe9fbcf75e1d41d130d59bd1 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 22:30:18 2015 -0500 clk: socfpga: Add a second parent option for the dbg_base_clk The debug base clock can be bypassed from the main PLL to the OSC1 clock. The bypass register is the staysoc1(0x10) register that is in the clock manager. This patch adds the option to get the correct parent for the debug base clock. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0f350f063eb62212a701a512f74e63ae4714441c Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 30 15:19:12 2015 +0200 clk: ux500: delete the non-DT U8500 clock implementation This code is unused and not coming back. Let's kill it off. Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fc4a05d4b0eb1a0110ef11201bf563cd4b53fbce Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jun 25 17:24:15 2015 -0700 clk: Remove unused provider APIs Remove these APIs now that we've converted all users to the replacement struct clk_hw based versions. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 44f22a5d671ad8b3bcef7a72059fe1c00139e199 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:32:34 2015 -0700 clk: si5351: Convert __clk_get_name() to clk_hw_get_name() This driver uses __clk_get_name() when it's dealing with struct clk_hw pointers. Use the simpler form so that we can get rid of the clk member in struct clk_hw one day. Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 203e118bd58c48905a82b4161db5441e5c5041f2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 drm/msm/dsi: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 62f477119834d912a8471e775d2aeaca0166ab29 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: versatile: Switch to assigned clock parents We're removing struct clk from the clk provider API. This code is calling the consumer APIs to change the parent to a 1 MHz fixed rate clock for each of the clocks that the driver provides. Move to using the assigned-clock-parents DT property for this instead. Because this is an ABI break, detect if the property is missing and fall back to setting the parent explicitly before the clocks are registered. Acked-by: Pawel Moll <pawel.moll@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 32ecaf89bdfd842c9669b3f38ff82907e3cd60d0 Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Thu Aug 6 16:05:13 2015 +0100 clk: versatile: Add SP810 device tree bindings document Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a53ad8ef3dccb0c5482c60a3f6b8c0cbd498efe5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: ti: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5cdb1dc50be615aa26f8952e4b6f67b483849e97 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: tegra: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1b14afa64d2ef36f228e9540664586fd7ad67a81 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: sunxi: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: "Emilio López" <emilio@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b73d616d5bd0bb94b3fe1374edad05253fe3684f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: spear: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b17dbff418f62e87fdb3d683d532c139c4f1bf31 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: sirf: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0454159fa91b91c0baa63ded5ce425a8519a9613 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: samsung: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4c34875059fa025be671108de1b0993cc14c9256 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: rockchip: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ac269395cdd80b9b088d9b5306015bd4b8bc176d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: qcom: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 17ae4b40b475e2de5a0b0b475539624b7162a931 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: stm32f4: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit eca61c9ff2588e1df373e61078e1874976315839 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: mvebu: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. This also removes a clk_get() in this driver that can just as easily use of_clk_get_parent_name() instead. Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit aef28cb6b3b22fb5a6718650340d2efcfe10dd20 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: mmp: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Chao Xie <chao.xie@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2f508a955a671e095d5c8a629de1c8c32bc420c2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: Convert basic types to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6f220c22438ab846c824a042746a54058cf22af7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: bcm: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Reviewed-by: Alex Elder <elder@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d0979335c329bad3b924b9d74fd0b86d57815c8f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 clk: at91: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 617b8272a63c9f60bd4b1e33d56318402b0b84be Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 MIPS: alchemy: Convert to clk_hw based provider APIs We're removing struct clk from the clk provider API, so switch this code to using the clk_hw based provider APIs. Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7819189779aab580145edcc94771cb8dd10485a3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 30 17:20:57 2015 -0700 ARM: OMAP: Convert __clk_get_rate() to provider/consumer APIs We're removing struct clk from the clk provider API, so switch to clk_get_rate() and clk_hw_get_rate() here appropriately. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b137b4507c55f2aa80aed03c56c28dd34d35c619 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 20 17:23:54 2015 -0700 clk: ti: Remove CLK_IS_BASIC check This code is never called with a basic clock type, so the check here is not doing anything useful and is blocking the removal of __clk_get_flags(). Remove the check so we can delete the __clk_get_flags() API. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 98d8a60eccee74165793379f1f8a3b1cef3131c7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jun 29 16:56:30 2015 -0700 clk: Convert __clk_get_flags() to clk_hw_get_flags() Mostly converted with the following snippet: @@ struct clk_hw *E; @@ -__clk_get_flags(E->clk) +clk_hw_get_flags(E) Acked-by: Tero Kristo <t-kristo@xxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Coquelin <mcoquelin.stm32@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 497295afb5ab070211a9963c80a89bc6fbfd6197 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jun 25 16:53:23 2015 -0700 clk: Replace __clk_get_num_parents with clk_hw_get_num_parents() Mostly converted with the following semantic patch: @@ struct clk_hw *E; @@ -__clk_get_num_parents(E->clk) +clk_hw_get_num_parents(E) Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Chao Xie <chao.xie@xxxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: "Emilio López" <emilio@xxxxxxxxxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1a9c069cb2d28bb72fefee509e0d26f92d7f7166 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jun 25 15:55:14 2015 -0700 clk: Add clk_hw_*() APIs for use by clk providers clk providers shouldn't need to use the consumer APIs (clk.h). Add provider APIs to replace the __clk_*() APIs that take a struct clk_hw as their first argument instead of a struct clk. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 13ec7297e5331f2754d7629a068c619c41f20e56 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Aug 24 17:40:45 2015 +0800 f2fs: fix to release inode correctly In following call stack, if unfortunately we lose all chances to truncate inode page in remove_inode_page, eventually we will add the nid allocated previously into free nid cache, this nid is with NID_NEW status and with NEW_ADDR in its blkaddr pointer: - f2fs_create - f2fs_add_link - __f2fs_add_link - init_inode_metadata - new_inode_page - new_node_page - set_node_addr(, NEW_ADDR) - f2fs_init_acl failed - remove_inode_page failed - handle_failed_inode - remove_inode_page failed - iput - f2fs_evict_inode - remove_inode_page failed - alloc_nid_failed cache a nid with valid blkaddr: NEW_ADDR This may not only cause resource leak of previous inode, but also may cause incorrect use of the previous blkaddr which is located in NO.nid node entry when this nid is reused by others. This patch tries to add this inode to orphan list if we fail to truncate inode, so that we can obtain a second chance to release it in orphan recovery flow. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 854d2a63de86a769db4dbed75b660f544b3c0c7a Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Fri Jul 17 22:25:59 2015 +0800 batman-adv: beautify supported routing algorithm list Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 87b40f534d2a266eec55a897e9a93f3b022c901d Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Fri Jul 17 10:03:42 2015 +0200 batman-adv: Fix conditional statements indentation commit 29b9256e6631 ("batman-adv: consider outgoing interface in OGM sending") incorrectly indented the interface check code. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 5274cd68d744b4bc59b32d87cbde70803130eb3f Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sun Jun 21 14:45:15 2015 +0200 batman-adv: Add lockdep_asserts for documented external locks Some functions already have documentation about locks they require inside their kerneldoc header. These can be directly tested during runtime using the lockdep asserts. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 2c72d655b04450056566bcbfe89c2427376b60b4 Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sun Jun 21 14:45:14 2015 +0200 batman-adv: Annotate deleting functions with external lock via lockdep Functions which use (h)list_del* are requiring correct locking when they operate on global lists. Most of the time the search in the list and the delete are done in the same function. All other cases should have it visible that they require a special lock to avoid race conditions. Lockdep asserts can be used to check these problem during runtime when the lockdep functionality is enabled. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 7c26a53ba5e7e4bf2be3cb93f2fffaefccff2e3b Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Sun Jun 28 22:16:06 2015 +0800 batman-adv: convert bat_priv->tt.req_list to hlist Since the list's tail is never accessed using a double linked list head wastes memory. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 0b8336f5fc26f263821534d7a9a3633748692207 Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sun Jun 21 19:40:09 2015 +0200 batman-adv: Fix gw_bandwidth calculation on 32 bit systems The TVLV for the gw_bandwidth stores everything as u32. But the gw_bandwidth reads the signed long which limits the maximum value to (2 ** 31 - 1) on systems with 4 byte long. Also the input value is always converted from either Mibit/s or Kibit/s to 100Kibit/s. This reduces the values even further when the user sets it via the default unit Kibit/s. It may even cause an integer overflow and end up with a value the user never intended. Instead read the values as u64, check for possible overflows, do the unit adjustments and then reduce the size to u32. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 77927b7d9dd6c9c5f59f0f49c76cda54b908090e Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sun Jun 21 14:42:49 2015 +0200 batman-adv: Return EINVAL on invalid gw_bandwidth change Invalid speed settings by the user are currently acknowledged as correct but not stored. Instead the return of the store operation of the file "gw_bandwidth" should indicate that the given value is not acceptable. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit a121048a89f8186fa2c8388d5b41528466013857 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Mon Jun 22 00:30:23 2015 +0800 batman-adv: prevent potential hlist double deletion The hlist_del_rcu() call in batadv_tt_global_size_mod() does not check if the element still is part of the list prior to deletion. The atomic list counter should prevent the worst but converting to hlist_del_init_rcu() ensures the element can't be deleted more than once. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit d0fa4f3f5b0419a016ff27eea2fa615e4c0d1713 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Mon Jun 22 00:30:22 2015 +0800 batman-adv: convert orig_node->vlan_list to hlist Since the list's tail is never accessed using a double linked list head wastes memory. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 2bdd1888f147576fb870a926a4d015305b5bbeee Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Thu Jun 18 18:53:19 2015 +0200 batman-adv: Remove batadv_ types forward declarations main.h is included in every file and is the only way to access types.h. This makes forward declarations for all types defined in types.h unnecessary. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 383b863620aa5127200bff591f7465d593290997 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Thu Jun 18 16:24:24 2015 +0800 batman-adv: rename batadv_new_tt_req_node to batadv_tt_req_node_new Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 433ff98f3f1d6baa56e23f6b50370a5ab16c0e66 Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Thu Jun 18 16:11:07 2015 +0800 batman-adv: update kernel doc of batadv_tt_global_del_orig_entry() The updated kernel doc & additional comment shall prevent accidental copy & paste errors or calling the function without the required precautions. Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 4f248cff9e21720bd5f057661f752fba067f3779 Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Tue Jun 9 20:50:49 2015 +0200 batman-adv: Remove multiple assignment per line The Linux CodingStyle disallows multiple assignments in a single line. (see chapter 1) Reported-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 34473822da06510d708087bb76d9ad757ac09567 Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sun May 31 10:10:20 2015 +0200 batman-adv: Fix kerneldoc over 80 column lines Kerneldoc required single line documentation in the past (before 2009). Therefore, the 80 columns limit per line check of checkpatch was disabled for kerneldoc. But kerneldoc is not excluded anymore from it and checkpatch now enabled the check again. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 6b5e971a282c0e7b18b47823103d695352b5a3c2 Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Tue May 26 18:34:26 2015 +0200 batman-adv: Replace C99 int types with kernel type (s|u)(8|16|32|64) are the preferred types in the kernel. The use of the standard C99 types u?int(8|16|32|64)_t are objected by some people and even checkpatch now warns about using them. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 883985f61246ff7457325da454886bf71e40058c Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Mon Aug 24 16:44:40 2015 -0400 nfsd: Add Jeff Layton as co-maintainer Jeff has been doing a lot of development (including much of the state-locking rewrite just as one example) plus lots of review and other miscellaneous nfsd work, so let's acknowledge the status quo. I'll continue to be the one to send regular pull requests but Jeff will should be available to cover there occasionally too. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ba51b6be38c122f7dab40965b4397aaf6188a464 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 15:17:17 2015 -0600 net: Fix RCU splat in af_key Hit the following splat testing VRF change for ipsec: [ 113.475692] =============================== [ 113.476194] [ INFO: suspicious RCU usage. ] [ 113.476667] 4.2.0-rc6-1+deb7u2+clUNRELEASED #3.2.65-1+deb7u2+clUNRELEASED Not tainted [ 113.477545] ------------------------------- [ 113.478013] /work/monster-14/dsa/kernel.git/include/linux/rcupdate.h:568 Illegal context switch in RCU read-side critical section! [ 113.479288] [ 113.479288] other info that might help us debug this: [ 113.479288] [ 113.480207] [ 113.480207] rcu_scheduler_active = 1, debug_locks = 1 [ 113.480931] 2 locks held by setkey/6829: [ 113.481371] #0: (&net->xfrm.xfrm_cfg_mutex){+.+.+.}, at: [<ffffffff814e9887>] pfkey_sendmsg+0xfb/0x213 [ 113.482509] #1: (rcu_read_lock){......}, at: [<ffffffff814e767f>] rcu_read_lock+0x0/0x6e [ 113.483509] [ 113.483509] stack backtrace: [ 113.484041] CPU: 0 PID: 6829 Comm: setkey Not tainted 4.2.0-rc6-1+deb7u2+clUNRELEASED #3.2.65-1+deb7u2+clUNRELEASED [ 113.485422] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5.1-0-g8936dbb-20141113_115728-nilsson.home.kraxel.org 04/01/2014 [ 113.486845] 0000000000000001 ffff88001d4c7a98 ffffffff81518af2 ffffffff81086962 [ 113.487732] ffff88001d538480 ffff88001d4c7ac8 ffffffff8107ae75 ffffffff8180a154 [ 113.488628] 0000000000000b30 0000000000000000 00000000000000d0 ffff88001d4c7ad8 [ 113.489525] Call Trace: [ 113.489813] [<ffffffff81518af2>] dump_stack+0x4c/0x65 [ 113.490389] [<ffffffff81086962>] ? console_unlock+0x3d6/0x405 [ 113.491039] [<ffffffff8107ae75>] lockdep_rcu_suspicious+0xfa/0x103 [ 113.491735] [<ffffffff81064032>] rcu_preempt_sleep_check+0x45/0x47 [ 113.492442] [<ffffffff8106404d>] ___might_sleep+0x19/0x1c8 [ 113.493077] [<ffffffff81064268>] __might_sleep+0x6c/0x82 [ 113.493681] [<ffffffff81133190>] cache_alloc_debugcheck_before.isra.50+0x1d/0x24 [ 113.494508] [<ffffffff81134876>] kmem_cache_alloc+0x31/0x18f [ 113.495149] [<ffffffff814012b5>] skb_clone+0x64/0x80 [ 113.495712] [<ffffffff814e6f71>] pfkey_broadcast_one+0x3d/0xff [ 113.496380] [<ffffffff814e7b84>] pfkey_broadcast+0xb5/0x11e [ 113.497024] [<ffffffff814e82d1>] pfkey_register+0x191/0x1b1 [ 113.497653] [<ffffffff814e9770>] pfkey_process+0x162/0x17e [ 113.498274] [<ffffffff814e9895>] pfkey_sendmsg+0x109/0x213 In pfkey_sendmsg the net mutex is taken and then pfkey_broadcast takes the RCU lock. Since pfkey_broadcast takes the RCU lock the allocation argument is pointless since GFP_ATOMIC must be used between the rcu_read_{,un}lock. The one call outside of rcu can be done with GFP_KERNEL. Fixes: 7f6b9dbd5afbd ("af_key: locking change") Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 82bb70c599d81e6b2535f887b02e1719cc4856ac Merge: 2e5e8fd bd6906e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Aug 24 23:10:02 2015 +0200 Merge branch 'turbostat' of https://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux into pm-tools Pull turbostat changes for v4.3 from Len Brown. * 'turbostat' of https://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: tools/power turbostat: fix typo on DRAM column in Joules-mode tools/power turbostat: fix parameter passing for forked command tools/power turbostat: dump CONFIG_TDP tools/power turbostat: cpu0 is no longer hard-coded, so update output tools/power turbostat: update turbostat(8) commit c75b89ebff52f758e2559664b2ae3ceed410da30 Merge: c13dcf9 493f133 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Aug 24 23:09:17 2015 +0200 Merge branch 'cpuidle' of https://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux into pm-cpuidle Pull intel_idle changes for v4.3 from Len Brown. * 'cpuidle' of https://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: intel_idle: Skylake Client Support intel_idle: allow idle states to be freeze-mode specific commit 56fff0a01fa056502a28d67cb5a2714d64780415 Merge: 4a89ba0 786eec2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 24 14:06:37 2015 -0700 Merge branch 'fjes' Taku Izumi says: ==================== FUJITSU Extended Socket network device driver This patchsets adds FUJITSU Extended Socket network device driver. Extended Socket network device is a shared memory based high-speed network interface between Extended Partitions of PRIMEQUEST 2000 E2 series. You can get some information about Extended Partition and Extended Socket by referring the following manual. http://globalsp.ts.fujitsu.com/dmsp/Publications/public/CA92344-0537.pdf 3.2.1 Extended Partitioning 3.2.2 Extended Socke v2.2 -> v3: - Fix up according to David's comment (No functional change) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 786eec27cbb1713caf3b33538a877a21e779d3bc Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:38 2015 +0900 fjes: ethtool support This patch adds implementation for ethtool support. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb79eaaec4c1046e4b3d55c27aee48774c5ff936 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:37 2015 +0900 fjes: handle receive cancellation request interrupt This patch adds implementation of handling IRQ of other receiver's receive cancellation request. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5a9152d993a4f08d6e08ac0dde3a09993dc9c45 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:36 2015 +0900 fjes: epstop_task This patch adds epstop_task. This task is used to process other receiver's cancellation request. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 785f28e061a870eba937cb2a860cbcf631f5ebb0 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:35 2015 +0900 fjes: update_zone_task This patch adds update_zone_task. Zoning information can be changed by user. This task is used to monitor if zoning information is changed or not. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fc4cadb98c6a0f1eecde678271fcc957258af3e Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:34 2015 +0900 fjes: unshare_watch_task This patch adds unshare_watch_task. Shared buffer's status can be changed into unshared. This task is used to monitor shared buffer's status. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff5b42103227c01c4082f27b06a43758efbf5ab8 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:33 2015 +0900 fjes: force_close_task This patch adds force_close_task. This task is used to close network device forcibly. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8edb62a8131ca5b5ecbb29e45d812d9583585afb Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:32 2015 +0900 fjes: interrupt_watch_task This patch adds interrupt_watch_task. This task is used to prevent delay of interrupts. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e3fedda31798cff2cb5358e15263b8799c1e72c Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:31 2015 +0900 fjes: net_device_ops.ndo_vlan_rx_add/kill_vid This patch adds net_device_ops.ndo_vlan_rx_add_vid and net_device_ops.ndo_vlan_rx_kill_vid callback. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4393e767aee706944dbdf3aa91810a0c981b6710 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:30 2015 +0900 fjes: net_device_ops.ndo_tx_timeout This patch adds net_device_ops.ndo_tx_timeout callback. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9e23a67d52f956d75e6327a7fccbb53fbdc540b Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:29 2015 +0900 fjes: net_device_ops.ndo_change_mtu This patch adds net_device_ops.ndo_change_mtu. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 879bc9a3ea3b9015833b53f6ec114bb602a663a8 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:28 2015 +0900 fjes: net_device_ops.ndo_get_stats64 This patch adds net_device_ops.ndo_get_stats64 callback. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 265859309a761b4eec36620b324c9eb27a3cfee1 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:27 2015 +0900 fjes: NAPI polling function This patch adds NAPI polling function and receive related work. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac63b947085d8297bed10063cdf1ed6374d04b73 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:26 2015 +0900 fjes: tx_stall_task This patch adds tx_stall_task. When receiver's buffer is full, sender stops its tx queue. This task is used to monitor receiver's status and when receiver's buffer is avairable, it resumes tx queue. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b772b9dc63df0ca8a750ceac9ab356376022f0b6 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:25 2015 +0900 fjes: raise_intr_rxdata_task This patch add raise_intr_rxdata_task. Extended Socket Network Device is shared memory based, so someone's transmission denotes other's reception. In order to notify receivers, sender has to raise interruption of receivers. raise_intr_rxdata_task does this work. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9acf51cbf73de8952e3df75200d7a7755c16d0f6 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:24 2015 +0900 fjes: net_device_ops.ndo_start_xmit This patch adds net_device_ops.ndo_start_xmit callback, which is called when sending packets. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5d486dcaa45dd365970c09395ae24df5a0e3f77 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:23 2015 +0900 fjes: net_device_ops.ndo_open and .ndo_stop This patch adds net_device_ops.ndo_open and .ndo_stop callback. These function is called when network device activation and deactivation. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7950e6c5da55715debef9fa06b5ac87fb3eb4355 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:22 2015 +0900 fjes: buffer address regist/unregistration routine This patch adds buffer address regist/unregistration routine. This function is mainly invoked when network device's activation (open) and deactivation (close) in order to retist/unregist shared buffer address. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bb025d4f756049d297f2bed605241d4d43a15fe Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:21 2015 +0900 fjes: ES information acquisition routine This patch adds ES information acquisition routine. ES information can be retrieved issuing information request command. ES information includes which receiver is same zone. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2fcbca687702163ae3a37ec4eac5905d6f119296 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:20 2015 +0900 fjes: platform_driver's .probe and .remove routine This patch implements platform_driver's .probe and .remove routine, and also adds board specific private data structure. This driver registers net_device at platform_driver's .probe routine and unregisters net_device at its .remove routine. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a18aaec21ec8f4d2a4e09ad590437777a1ebf691 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:19 2015 +0900 fjes: Hardware cleanup routine This patch adds hardware cleanup routine to be invoked at driver's .remove routine. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8cdc3f6c5d22dd059fe8127be7b5cae113e79afb Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:18 2015 +0900 fjes: Hardware initialization routine This patch adds hardware initialization routine to be invoked at driver's .probe routine. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 658d439b22924796d00f03282135a356f47cc64e Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Aug 21 17:29:17 2015 +0900 fjes: Introduce FUJITSU Extended Socket Network Device driver This patch adds the basic code of FUJITSU Extended Socket Network Device driver. When "PNP0C02" is found in ACPI DSDT, it evaluates "_STR" to check if "PNP0C02" is for Extended Socket device driver and retrieves ACPI resource information. Then creates platform_device. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9d1bf02ac3d41367896b38793db6f8f30bb9a295 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:34:00 2015 +0300 perf tools: Update Intel PT documentation Update Intel PT documentation to describe new features. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-26-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7eacca3ebb03a4ee7bb41284aafeb19a54242621 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:59 2015 +0300 perf tools: Add Intel PT support for decoding TRACESTOP packets A TRACESTOP packet is produced when an Intel PT trace enters a defined region of the address space at which point the tracing stops. This patch just adds decoder support. Support for specifying TRACESTOP regions is left until later. For details refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-25-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0de802abd14abdf8cbbba28b421a1a00fa0939d5 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:58 2015 +0300 perf tools: Add Intel PT support for using CYC packets CYC packets are a new Intel PT feature. CYC packets provide even finer grain timestamp information than MTC and TSC packets. A CYC packet contains the number of CPU cycles since the last CYC packet. Unlike MTC and TSC packets, CYC packets are only sent when another packet is also sent. Support for this feature is indicated by: /sys/bus/event_source/devices/intel_pt/caps/psb_cyc which contains "1" if the feature is supported and "0" otherwise. CYC packets can be requested using a PMU config term e.g. perf record -e intel_pt/cyc/u sleep 1 The frequency of CYC packets can also be specified. e.g. perf record -e intel_pt/cyc,cyc_thresh=2/u sleep 1 CYC packets are not requested by default. Valid cyc_thresh values are given by: /sys/bus/event_source/devices/intel_pt/caps/cycle_thresholds which contains a hexadecimal value, the bits of which represent valid values e.g. bit 2 set means value 2 is valid. The value represents the minimum number of CPU cycles that must have passed before a CYC packet can be sent. The number of CPU cycles is: 2 ^ (value - 1) e.g. value 4 means 8 CPU cycles must pass before a CYC packet can be sent. Note a CYC packet is still only sent when another packet is sent, not at, e.g. every 8 CPU cycles. If an invalid value is entered, the error message will give a list of valid values e.g. $ perf record -e intel_pt/cyc,cyc_thresh=15/u uname Invalid cyc_thresh for intel_pt. Valid values are: 0-12 tools/perf/Documentation/intel-pt.txt is updated in a later patch as there are a number of new features being added. For more information refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-24-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cc33618619cefc6d730cca3bb8e15311016a4da7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:57 2015 +0300 perf tools: Add Intel PT support for decoding CYC packets CYC packets provide even finer grain timestamp information than MTC and TSC packets. A CYC packet contains the number of CPU cycles since the last CYC packet. This patch just adds decoder support. The CPU frequency can be related to TSC using the Maximum Non-Turbo Ratio in combination with the CBR (core-to-bus ratio) packet. However more accuracy is achieved by simply interpolating the number of cycles between other timing packets like MTC or TSC. This patch takes the latter approach. Support for a default value and validation of values is provided by a later patch. Also documentation is updated in a separate patch. For details refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-23-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b45fc0bfaf4a0b60ce2deda222f8ef2a23b89a5f Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:56 2015 +0300 perf tools: Add Intel PT support for using MTC packets MTC packets are a new Intel PT feature. MTC packets provide finer grain timestamp information than TSC packets. Support for this feature is indicated by: /sys/bus/event_source/devices/intel_pt/caps/mtc which contains "1" if the feature is supported and "0" otherwise. MTC packets can be requested using a PMU config term e.g. perf record -e intel_pt/mtc/u sleep 1 The frequency of MTC packets can also be specified. e.g. perf record -e intel_pt/mtc,mtc_period=2/u sleep 1 The default value is 3 or the nearest lower value that is supported. 0 is always supported. Valid values are given by: /sys/bus/event_source/devices/intel_pt/caps/mtc_periods which contains a hexadecimal value, the bits of which represent valid values e.g. bit 2 set means value 2 is valid. The value is converted to the MTC frequency as: CTC-frequency / (2 ^ value) e.g. value 3 means one eighth of CTC-frequency Where CTC is the hardware crystal clock, the frequency of which can be related to TSC via values provided in cpuid leaf 0x15. If an invalid value is entered, the error message will give a list of valid values e.g. $ perf record -e intel_pt/mtc_period=15/u uname Invalid mtc_period for intel_pt. Valid values are: 0,3,6,9 tools/perf/Documentation/intel-pt.txt is updated in a later patch as there are a number of new features being added. For more information refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-22-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 79b58424b821c651a4b4df9018a14684e3670f42 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:55 2015 +0300 perf tools: Add Intel PT support for decoding MTC packets MTC packets provide finer grain timestamp information than TSC packets. MTC packets record time using the hardware crystal clock (CTC) which is related to TSC packets using a TMA packet. This patch just adds decoder support. Support for a default value and validation of values is provided by a later patch. Also documentation is updated in a separate patch. For details refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-21-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 11fa7cb86b56d3610043ba2ac6cbd81feab4b7c4 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:54 2015 +0300 perf tools: Pass Intel PT information for decoding MTC and CYC Record additional information in the AUXTRACE_INFO event in preparation for decoding MTC and CYC packets. Pass the information to the decoder. The AUXTRACE_INFO record can be extended by using the size to indicate the presence of new members. The additional information includes PMU config bit positions and the TSC to CTC (hardware crystal clock) ratio needed to decode MTC packets. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-20-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3d49807870f08d6f3406b77efd94bb3788372162 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:53 2015 +0300 perf tools: Add new Intel PT packet definitions New features have been added to Intel PT which include a number of new packet definitions. This patch adds packet definitions for new packets: TMA, MTC, CYC, VMCS, TRACESTOP and MNT. Also another bit in PIP is defined. This patch only adds support for the definitions. Later patches add support for decoding TMA, MTC, CYC and TRACESTOP which is where those packets are explained. VMCS and the newly defined bit in PIP are used with virtualization which is not supported yet. MNT is a maintenance packet which the decoder should ignore. For details, refer to the June 2015 or later Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-19-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bc9b6bf07c8b3f4e85509f9b3a552c86e567b4ae Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:52 2015 +0300 perf tools: Add Intel PT support for PSB periods The PSB packet is a synchronization packet that provides a starting point for decoding or recovery from errors. This patch adds support for a new Intel PT feature that allows the frequency of PSB packets to be specified. Support for this feature is indicated by /sys/bus/event_source/devices/intel_pt/caps/psb_cyc which contains "1" if the feature is supported and "0" otherwise. The PSB period can be specified as a PMU config term e.g. perf record -e intel_pt/psb_period=2/u sleep 1 The default value is 3 or the nearest lower value that is supported. 0 is always supported. Valid values are given by: /sys/bus/event_source/devices/intel_pt/caps/psb_periods which contains a hexadecimal value, the bits of which represent valid values e.g. bit 2 set means value 2 is valid. The value is converted to the approximate number of trace bytes between PSB packets as: 2 ^ (value + 11) e.g. value 3 means 16KiB bytes between PSBs If an invalid value is entered, the error message will give a list of valid values e.g. $ perf record -e intel_pt/psb_period=15/u uname Invalid psb_period for intel_pt. Valid values are: 0-5 tools/perf/Documentation/intel-pt.txt is updated in a later patch as there are a number of new features being added. For more information about PSB periods refer to the Intel 64 and IA-32 Architectures SDM Chapter 36 Intel Processor Trace from June 2015 or later. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-18-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2a21d03686881331b0af0471588674e7e896eeb2 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:48 2015 +0300 perf tools: Fix Intel PT 'instructions' sample period The period on synthesized 'instructions' samples was being set to a fixed value, whereas the correct value is the number of instructions since the last sample, which is a value that the decoder can provide. So do it that way. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-14-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f8bcbe62acd0e1ce9004b83e98a4af87ae385dcf Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Aug 8 10:44:10 2015 +0200 lib: scatterlist: add sg splitting function Sometimes a scatter-gather has to be split into several chunks, or sub scatter lists. This happens for example if a scatter list will be handled by multiple DMA channels, each one filling a part of it. A concrete example comes with the media V4L2 API, where the scatter list is allocated from userspace to hold an image, regardless of the knowledge of how many DMAs will fill it : - in a simple RGB565 case, one DMA will pump data from the camera ISP to memory - in the trickier YUV422 case, 3 DMAs will pump data from the camera ISP pipes, one for pipe Y, one for pipe U and one for pipe V For these cases, it is necessary to split the original scatter list into multiple scatter lists, which is the purpose of this patch. The guarantees that are required for this patch are : - the intersection of spans of any couple of resulting scatter lists is empty. - the union of spans of all resulting scatter lists is a subrange of the span of the original scatter list. - streaming DMA API operations (mapping, unmapping) should not happen both on both the resulting and the original scatter list. It's either the first or the later ones. - the caller is reponsible to call kfree() on the resulting scatterlists. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 91f15fb30c77d4a0d0d9b97e5cec647650853145 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Mon Aug 24 15:27:11 2015 -0500 PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI On multi-function JMicron SATA/PATA/AHCI devices, the PATA controller at function 1 doesn't work if it is powered on before the SATA controller at function 0. The result is that PATA doesn't work after resume, and we print messages like this: pata_jmicron 0000:02:00.1: Refused to change power state, currently in D3 irq 17: nobody cared (try booting with the "irqpoll" option) Async resume was introduced in v3.15 by 76569faa62c4 ("PM / sleep: Asynchronous threads for resume_noirq"). Prior to that, we powered on the functions in order, so this problem shouldn't happen. e6b7e41cdd8c ("ata: Disabling the async PM for JMicron chip 363/361") solved the problem for JMicron 361 and 363 devices. With async suspend disabled, we always power on function 0 before function 1. Barto then reported the same problem with a JMicron 368 (see comment #57 in the bugzilla). Rather than extending the blacklist piecemeal, disable async suspend for all JMicron multi-function SATA/PATA/AHCI devices. This quirk could stay in the ahci and pata_jmicron drivers, but it's likely the problem will occur even if pata_jmicron isn't loaded until after the suspend/resume. Making it a PCI quirk ensures that we'll preserve the power-on order even if the drivers aren't loaded. [bhelgaas: changelog, limit to multi-function, limit to IDE/ATA] Link: https://bugzilla.kernel.org/show_bug.cgi?id=81551 Reported-and-tested-by: Barto <mister.freeman@xxxxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.15+ commit 5c9ce1e644c1919ac4bff4394a4c372f47a89b4e Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 24 17:16:22 2015 -0300 perf ordered_events: Clear the progress bar at the end of a flush We were depending on the next screen operation after a flush() being one that would redraw the whole screen so that the progress bar would be overwritten, when that didn't happen a screen artifact of, say, a error dialog window would be overlaid on top of the progress bar, fix it by calling ui_browser__finish(), that now has a TUI implementation. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-el0fyw6duemnx62lydjzhs8c@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e324c4dc4a5991d5b1171f434884a4026345e4b4 Author: Shenwei Wang <shenwei.wang@xxxxxxxxxxxxx> Date: Mon Aug 24 14:04:15 2015 -0500 irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources IMX7D contains a new version of GPC IP block (GPCv2). It has two major functions: power management and wakeup source management. When the system is in WFI (wait for interrupt) mode, the GPC block will be the first block on the platform to be activated and signaled. In normal wait mode during cpu idle, the system can be woken up by any enabled interrupts. In standby or suspend mode, the system can only be wokem up by the pre-defined wakeup sources. Based-on-patch-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shenwei Wang <shenwei.wang@xxxxxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: <shawn.guo@xxxxxxxxxx> Cc: <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440443055-7291-1-git-send-email-shenwei.wang@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4a89ba04ecc6377696e4e26c1abc1cb5764decb9 Author: Loganaden Velvindron <logan@xxxxxxxxxxxx> Date: Thu Aug 20 19:22:18 2015 -0700 3c59x: Add BQL support for 3c59x ethernet driver. This BQL patch is based on work done by Tino Reichardt. Tested on 0000:05:00.0: 3Com PCI 3c905C Tornado at ffffc90000e6e000 by running Flent several times. Signed-off-by: Loganaden Velvindron <logan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e259ad4a25e37eb298bb5772b9a51e70bed7782 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 24 16:18:26 2015 -0300 perf ui tui progress: Implement the ui_progress_ops->finish() method So that we can erase the progress bar after we're done with it, avoiding things like: ------------------------------------------------------------------- â??â??Error:â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? â??Can't annotate unmapped_area_topdown: â?? â?? â?? â??No vmlinux file with build id a826726b5ddacfab1f0bade868f1a79â?? â??was found in the path. â?? â?? â?? â??Note that annotation using /proc/kcore requires CAP_SYS_RAWIOâ?? â??Processinâ?? â??â??â??â?? â?? â??Please use: â?? â?? â??â??â??â??â??â??â??â??â??â??â?? â??â??â??â?? â?? perf buildid-cache -vu vmlinux â?? â?? â?? â??or: â?? â?? â?? â?? --vmlinux vmlinux â?? â?? â?? â?? â?? â??Press any key... â?? â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â?? Can't annotate unmapped_area_topdown: ------------------------------------------------------------------- I.e. that finished progress bar behind the error window. It is not a problem when we end up redrawing the whole screen, but its ugly when we present such error windows, provide a TUI method so that code like the above may avoid this situation, as will be done with the annotation code in the next cset. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-qvktnojzwwe37pweging058t@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2fc32c92593dd7900c0635398800214733b8b397 Merge: f0d9ac7 d3f4caa 8d1ceb5 68ebb7c Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Aug 24 14:15:05 2015 -0500 Merge branches 'pci/host-dra7xx', 'pci/host-imx6' and 'pci/host-spear' into next * pci/host-dra7xx: PCI: dra7xx: Remove unneeded use of IS_ERR_VALUE() * pci/host-imx6: PCI: imx6: Simplify a trivial if-return sequence * pci/host-spear: PCI: spear: Use BUG_ON() instead of condition followed by BUG() commit 534fcb3bdaab801636d2146079462f7fdf52be0a Author: Michele Curti <michele.curti@xxxxxxxxx> Date: Mon Aug 24 10:49:29 2015 -0700 Input: elan_i2c - enable ELAN0100 acpi panels Enable ELAN0100 touchpad driver, found on a Asus X205TA laptop, to gai 2,3 fingers tap and 2 fingers scroll. Signed-off-by: Michele Curti <michele.curti@xxxxxxxxx> Reviewed-by: Duson Lin <dusonlin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4ea14a53d8f881034fa9e186653821c4e3d9a8fb Author: Peng Fan <van.freenix@xxxxxxxxx> Date: Mon Aug 24 10:42:25 2015 -0700 Input: gpio-keys - report error when disabling unsupported key When trying to disable a key that is not supported by the device we should report error, not do nothing and report success: root@yocto:/sys/devices/soc0/gpio-keys# cat keys 114-116 root@yocto:/sys/devices/soc0/gpio-keys# echo 77 > keys root@yocto:/sys/devices/soc0/gpio-keys# We want 'echo 77 > keys' to report an error, but silence to give us an illusion that all is 'ok'. Signed-off-by: Peng Fan <van.freenix@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ff89de6ba1d41ad4dea2c59531c5b4038ae43e8c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Aug 24 10:51:04 2015 -0700 Input: sur40 - fix error return code Propagate error code on failure, or upper layers will be confused by returned 0 (success) code. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0fe0965e63c80dbc4bb005253ecff3494cbefc04 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Fri Aug 21 15:19:06 2015 +0600 Documentation/x86: Rename IRQSTACKSIZE to IRQ_STACK_SIZE The IRQSTACKSIZE was renamed to the IRQ_STACK_SIZE in the (26f80bd6a9 x86-64: Convert irqstacks to per-cpu) commit, but it still named IRQSTACKSIZE in the documentation. This patch fixes this. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 61a88a76b43ce35254415821047aeefde3f656a9 Author: Nan Xiao <xiaonan830818@xxxxxxxxx> Date: Thu Aug 20 18:17:10 2015 +0800 Documentation/Intel-IOMMU.txt: Modify definition of DRHD Hi all, According to "Intel Virtualization Technology for Directed I/O" specification, DRHD stands for "DMA Remapping Hardware Unit Definition" , not "DMA Engine Reporting Structure". Signed-off-by: Nan Xiao <nan@xxxxxxxxxxxxxxx> commit b17f29646dfabe147a7a4d54cc628e8046be3761 Merge: 54cf7be 92b78af Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 24 10:34:40 2015 -0700 Merge branch 'ila-precompute' Tom Herbert says: ==================== ila: Precompute checksums This patch set: - Adds argument ot LWT build_state that holds a pointer to the fib configuration being applied to the new route - Adds support in ILA to precompute checksum difference for performance optimization v2: - Move return argument in build_state to end of arguments v3: - Update the signature for ip6_tun_build_state() ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92b78aff855a4815afe5311e3473ec829d3f2a9e Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 24 09:45:42 2015 -0700 ila: Precompute checksum difference for translations In the ILA build state for LWT compute the checksum difference to apply to transport checksums that include the IPv6 pseudo header. The difference is between the route destination (from fib6_config) and the locator to write. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 127eb7cd3c210afead788991a30950a9e36759ea Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 24 09:45:41 2015 -0700 lwt: Add cfg argument to build_state Add cfg and family arguments to lwt build state functions. cfg is a void pointer and will either be a pointer to a fib_config or fib6_config structure. The family parameter indicates which one (either AF_INET or AF_INET6). LWT encpasulation implementation may use the fib configuration to build the LWT state. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4144fe5d47c91c92d36cdbd5f31ed8d6e3a57ab Author: Mario Carrillo <mario.alfredo.c.arevalo@xxxxxxxxx> Date: Mon Aug 24 09:33:09 2015 -0500 docs: update HOWTO for 3.x -> 4.x versioning The HOWTO document needed updating for the new kernel versioning. Signed-off-by: Mario Carrillo <mario.alfredo.c.arevalo@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit b01548919c33767bc457390fa3c41aedc273bfff Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Aug 24 17:39:42 2015 +0800 f2fs: handle f2fs_truncate error correctly This patch fixes to return error number of f2fs_truncate, so that we can handle the error correctly in callers. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4ec17d688d74b6b7cb10043c57ff4818cde2b0ca Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Aug 24 17:36:25 2015 +0800 f2fs: avoid unneeded initializing when converting inline dentry When converting inline dentry, we will zero out target dentry page before duplicating data of inline dentry into target page, it become overhead since inline dentry size is not small. So this patch tries to remove unneeded initializing in the space of target dentry page. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6a6788576dac56135bf98ad974a038b0afb1a499 Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Date: Mon Aug 24 10:41:32 2015 +0800 f2fs: atomically set inode->i_flags According to commit 5f16f3225b06 ("ext4: atomically set inode->i_flags in ext4_set_inode_flags()"). Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f7409d0fae7a02ea6c8195f75ad73866d5dea617 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Aug 21 23:37:18 2015 -0700 f2fs: fix wrong pointer access during try_to_free_nids If we release the lock in list_for_each_entry_safe, we can lose the tmp pointer by alloc_nid. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 80c545055dc7c1f7f487176fe0aac17896a4b7af Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Aug 20 08:51:56 2015 -0700 f2fs: use __GFP_NOFAIL to avoid infinite loop __GFP_NOFAIL can avoid retrying the whole path of kmem_cache_alloc and bio_alloc. And, it also fixes the use cases of GFP_ATOMIC correctly. Suggested-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c0b4dffbc529244d3e4e3bd392f2bffa2d8531a7 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 24 13:33:14 2015 -0300 perf annotate: Reset the dso find_symbol cache when removing symbols The 'annotate' tool does some filtering in the entries in a DSO but forgot to reset the cache done in dso__find_symbol(), cauxing a SEGV: [root@zoo ~]# perf annotate netlink_poll perf: Segmentation fault -------- backtrace -------- perf[0x526ceb] /lib64/libc.so.6(+0x34960)[0x7faedfbe0960] perf(rb_erase+0x223)[0x499d63] perf[0x4213e9] perf[0x4bc123] perf[0x4bc621] perf[0x4bf26b] perf[0x4bc855] perf(perf_session__process_events+0x340)[0x4bddc0] perf(cmd_annotate+0x6bb)[0x421b5b] perf[0x479063] perf(main+0x60a)[0x42098a] /lib64/libc.so.6(__libc_start_main+0xf0)[0x7faedfbcbfe0] perf[0x420aa9] [0x0] [root@zoo ~]# Fix it by reseting the find cache when removing symbols. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Fixes: b685ac22b436 ("perf symbols: Add front end cache for DSO symbol lookup") Link: http://lkml.kernel.org/n/tip-b2y9x46y0t8yem1ive41zqyp@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cebb053bd144d88a4c24b14dd8ac775d8e5972d5 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 1 15:50:44 2014 +0200 of: Add vendor prefix for Sharp Corporation Use "sharp" as the vendor prefix for Sharp Corporation in device tree compatible strings. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> [robh: fix name to Sharp Corporation] Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit d179e22762fd38414c4108acedd5feca4cf7e0d8 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 24 14:18:46 2015 +0900 kbuild: fixdep: drop meaningless hash table initialization The clear_config() is called just once at the beginning of this program, but the global variable hashtab[] is already zero-filled at the start-up. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit d721109611fb94aff53c2397859046e5f92f55ae Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 24 14:18:45 2015 +0900 kbuild: fixdep: optimize code slightly If the target string matches "CONFIG_", move the pointer p forward. This saves several 7-chars adjustments. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 5a688c455066c21c133bc8ffa7b11f8c66b7fe0b Author: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Date: Thu Aug 20 11:30:32 2015 +0100 mfd: jz4740-adc: Init mask cache in generic IRQ chip The mask cache must be initialised in the generic IRQ chip, otherwise enabling one channel will actually enable all channels when the empty mask cache is written. Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a78ea195f77a8ed2c5f3108a8cdb9a26ebd474d8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:22 2015 +0200 mfd: cros_ec: spi: Add OF match table The Documentation/devicetree/bindings/mfd/cros-ec.txt DT binding doc lists "google,cros-ec-spi" as a compatible string but the corresponding driver does not have an OF match table. Add the table to the driver so the SPI core can do an OF style match. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1e955bece28f0f464c2db03c7e12951cea65fab6 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:25 2015 +0200 mfd: stmpe: Add OF match table The Documentation/devicetree/bindings/mfd/stmpe.txt DT binding doc lists "st,stmpe[610|801|811|1601|2401|2403]" as valid compatible strings but the corresponding driver does not have an OF match table. Add the table to the driver so the SPI core can do an OF style match. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit aa60a8391337aa0f14ed890b237f5b8e6cadfbbf Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 24 10:47:21 2015 +0200 mfd: max77686: Split out regulator part from the DT binding The Maxim MAX77686 PMIC is a multi-function device with regulators, clocks and a RTC. The DT bindings for the clocks are in a separate file but the bindings for the regulators are inside the mfd part. To make it consistent with the clocks portion of the binding and because is more natural to look for regulator bindings under the bindings/regulator sub-directory, split the regulator portion of the DT binding and add it as a separate file. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 00f1493e9e0c875f16623bdb088108ada6e7647e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 24 10:47:20 2015 +0200 mfd: Add DT binding for Maxim MAX77802 IC The MAX77802 is a chip that contains regulators, 2 32kHz clocks, a RTC and an I2C interface to program the individual components. The are already DT bindings for the regulators and clocks and these reference to a bindings/mfd/max77802.txt file, that didn't exist, for the details about the PMIC. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 00d689169dd088257de7ed218ff2c638bc5ad3b5 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 24 10:47:19 2015 +0200 mfd: max77686: Use a generic name for the PMIC node in the example The ePAPR standard says that: "the name of a node should be somewhat generic, reflecting the function of the device and not its precise programming model." So, change the max77686 binding document example to use a generic node name instead of using the chip's name. Suggested-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 89bd794cf60760ef053d3694c6749f651c034e02 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 24 10:47:18 2015 +0200 mfd: max77686: Don't suggest in binding to use a deprecated property The regulator-compatible property from the regulator DT binding was deprecated. But the max77686 DT binding doc still suggest to use it instead of the regulator node name's which is the correct approach. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b9124a523017a53cce071451f5c38a0b77761534 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:19:53 2015 +0200 mfd: Add MFD_CROS_EC dependencies The MFD_CROS_EC symbol select CHROME_PLATFORMS and CROS_EC_PROTO but that caused a Kconfig unmet direct dependencies warning since these symbols could only be selected for X86 || ARM. The fix it, the CHROME_PLATFORMS dependencies were relexed on commit d12bbcd3ea44 ("platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM") but that was found to be wrong and the correct fix is to add the needed dependencies to the MFD_CROS_EC config symbol. There are only x86 and ARM based Chromebooks so to avoid showing up the config option on unsupported platforms, make the symbol depend on these architectures. Also add a || COMPILE_TEST so it can have build coverage on other platforms. Suggested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit da935c0b6eeeac16de0a82cc1152fb0a9b5a11ef Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:19:56 2015 +0200 mfd: cros_ec: Remove CROS_EC_PROTO dependency for SPI and I2C drivers The ChromeOS EC SPI and I2C transport drivers depends on CROS_EC_PROTO but MFD_CROS_EC select CROS_EC_PROTO instead. Mixing select and depends on is bad practice as it may lead to circular Kconfig dependencies. Since these drivers already depend on MFD_CROS_EC and that config option already selects CROS_EC_PROTO, there is no need to make them explicitly depend on CROS_EC_PROTO since that dependency is already met. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 55e8dba1acc2e3e9d77226c3b08b25a02a0e3a3a Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Sat Aug 22 08:29:30 2015 -0700 crypto: qat - silence a static checker warning Add range check for ring number. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 73613a8159ddbf5a9ead0c03174458fa8210bdf7 Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 17:27:43 2015 -0300 crypto: vmx - Fixing opcode issue In build time vadduqm opcode is not being mapped correctly. Adding a new map in ppc-xlate to do this. Signed-off-by: Leonidas S Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9c4f9733e26f0d6977096fcafe71ea2ba9f0cd7c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Aug 21 13:52:00 2015 -0300 crypto: caam - Use the preferred style for memory allocations "The preferred form for passing a size of a struct is the following: p = kmalloc(sizeof(*p), ...); .... The preferred form for allocating a zeroed array is the following: p = kcalloc(n, sizeof(...), ...); " ,so do as suggested. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a3c09550f0cbd9965e44a2dc62c85ff5db91f8ff Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Aug 21 13:51:59 2015 -0300 crypto: caam - Propagate the real error code in caam_probe Instead of propagating a 'fake' error code, just propagate the real one in the case of caam_drv_identify_clk() failure. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 31f44d150791c3fe923399a1159320acc4a9b3b4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Aug 21 13:51:58 2015 -0300 crypto: caam - Fix the error handling in caam_probe In the error path we should disable the resources that were previously acquired, so fix the error handling accordingly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9f587fa29f7e8ed6b8885cff51a51ace3ad85152 Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Fri Aug 21 18:53:20 2015 +0300 crypto: caam - fix writing to JQCR_MS when using service interface Most significant part of JQCR (Job Queue Control Register) contains bits that control endianness: ILE - Immediate Little Endian, DWS - Double Word Swap. The bits are automatically set by the Job Queue Controller HW. Unfortunately these bits are cleared in SW when submitting descriptors via the register-based service interface. >From LS1021A: JQCR_MS = 08080100 - before writing: ILE | DWS | SRC (JR0) JQCR_MS = 30000100 - after writing: WHL | FOUR | SRC (JR0) This would cause problems on little endian caam for descriptors containing immediata data or double-word pointers. Currently there is no problem since the only descriptors ran through this interface are the ones that (un)instantiate RNG. Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 27d868b5e6cfaee4fec66b388e4085ff94050fa7 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Mon Aug 24 08:48:16 2015 -0500 PCI: Set MPS to match upstream bridge Firmware typically configures the PCIe fabric with a consistent Max Payload Size setting based on the devices present at boot. A hot-added device typically has the power-on default MPS setting (128 bytes), which may not match the fabric. The previous Linux default, in the absence of any "pci=pcie_bus_*" options, was PCIE_BUS_TUNE_OFF, in which we never touch MPS, even for hot-added devices. Add a new default setting, PCIE_BUS_DEFAULT, in which we make sure every device's MPS setting matches the upstream bridge. This makes it more likely that a hot-added device will work in a system with optimized MPS configuration. Note that if we hot-add a device that only supports 128-byte MPS, it still likely won't work because we don't reconfigure the rest of the fabric. Booting with "pci=pcie_bus_peer2peer" is a workaround for this because it sets MPS to 128 for everything. [bhelgaas: changelog, new default, rework for pci_configure_device() path] Tested-by: Keith Busch <keith.busch@xxxxxxxxx> Tested-by: Jordan Hargrave <jharg93@xxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit c7e69ae6b4ff49edf50180c0a32f3dd9d7967e31 Author: Markus Osterhoff <linux-kernel@xxxxxxxxxx> Date: Mon Aug 24 14:11:39 2015 +0200 ALSA: hda: fix possible NULL dereference After a for-loop was replaced by list_for_each_entry, see Commit bbbc7e8502c9 ("ALSA: hda - Allocate hda_pcm objects dynamically"), Commit 751e2216899c ("ALSA: hda: fix possible null dereference"), a possible NULL pointer dereference has been introduced; this patch adds the NULL check on pcm->pcm, while leaving a potentially superfluous check on pcm itself untouched. Signed-off-by: Markus Osterhoff <linux-kernel@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v4.1+ Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5166c20ef95be89d10ffe0140e74df5cf26e9786 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Aug 24 13:35:51 2015 +0100 arm64: makefile: fix perf_callchain.o kconfig dependency Commit 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant #ifdefs") incorrectly resolved a conflict on arch/arm64/kernel/Makefile which resulted in a partial revert of 52da443ec4d0 ("arm64: perf: factor out callchain code"), leading to perf_callchain.o depending on CONFIG_HW_PERF_EVENTS instead of CONFIG_PERF_EVENTS. This patch restores the kconfig dependency for perf_callchain.o. Reported-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a4a9a8cb3248b3b48a6049acaeaf23d4ad3712b9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 12:12:19 2015 +0300 i2c: xgene-slimpro: dma_mapping_error() doesn't return an error code The dma_mapping_error() function returns true if there is an error, it doesn't return an error code. We should return -ENOMEM. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit 480b141abf7ffe630016dd4ced0fc57f105a05a9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:19:57 2015 +0200 i2c: Replace I2C_CROS_EC_TUNNEL dependency The ChromeOS EC tunnel I2C bus driver depend on CROS_EC_PROTO but MFD_CROS_EC select CROS_EC_PROTO instead. Mixing select and depends on is bad practice as it may lead to circular Kconfig dependencies. Since the platform device that is matched with the I2C bus driver is registered by the ChromeOS EC mfd driver, I2C_CROS_EC_TUNNEL really depends on MFD_CROS_EC. And because this config option selects CROS_EC_PROTO, that dependency is met as well. So make the driver to depend on MFD_CROS_EC instead of CROS_EC_PROTO. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2cd9fbd0ed5ef12bf550c06126ebbe720574fc0e Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Wed Aug 12 17:31:34 2015 +0300 eeprom: at24: use i2c_smbus_read_i2c_block_data_or_emulated For i2c busses that support only SMBUS extensions, the eeprom at24 driver reads data from the device using the SMBus block, word or byte read protocols depending on availability. Replace the block read emulation from the driver with the i2c_smbus_read_i2c_block_data_or_emulated call from i2c core. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 01eef96e37d77cd89156e5f51aab81a9d5c96539 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Wed Aug 12 17:31:33 2015 +0300 i2c: core: Add support for best effort block read emulation There are devices that need to handle block transactions regardless of the capabilities exported by the adapter. For performance reasons, they need to use i2c read blocks if available, otherwise emulate the block transaction with word or byte transactions. Add support for a helper function that would read a data block using the best transfer available: I2C_FUNC_SMBUS_READ_I2C_BLOCK, I2C_FUNC_SMBUS_READ_WORD_DATA or I2C_FUNC_SMBUS_READ_BYTE_DATA. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 3f9c37a0c9a59db97ca5712eca7838b842949047 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sun Aug 16 20:10:16 2015 +0200 i2c: lpc2k: add driver Add support for the I2C controller found on several NXP devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx. The controller is implemented as a state machine and the driver act upon the state changes when the bus is accessed. The I2C controller supports master/slave operation, bus arbitration, programmable clock rate, and speeds up to 1 Mbit/s. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b3fdd32799d834e2626fae087906e886037350c6 Author: York Sun <yorksun@xxxxxxxxxxxxx> Date: Mon Aug 17 11:53:48 2015 -0700 i2c: mux: Add register-based mux i2c-mux-reg Based on i2c-mux-gpio driver, similarly the register-based mux switch from one bus to another by setting a single register. The register can be on PCIe bus, local bus, or any memory-mapped address. The endianness of such register can be specified in device tree if used, or in platform data. Signed-off-by: York Sun <yorksun@xxxxxxxxxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7a59b00a0906945f7fe25a10332ac0820491a0c3 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 8 13:35:18 2015 +0200 i2c: dt: describe generic bindings Start a new file which describes the generic bindings used for I2C with device tree. So we have a central place to look for them, increase visibility of them, and hopefully reduce the amount of custom properties introduced. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c6909d6f6f1082b8bb4c1b0ef3460a005c9dcb4d Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 21:12:54 2015 +0200 i2c: slave: print warning if slave flag not set Address collisions will be rare, but we should let the user know that slaves have their own address space nonetheless. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit cfa0327b0d03091e0c47249c080e50e287be762d Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 14:03:38 2015 +0200 i2c: support 10 bit and slave addresses in sysfs 'new_device' We now have seperate address spaces for 10 bit and we-are-slave clients. Update the sysfs device instantiation method to support these types by accepting the address offsets that are assigned to the extra address spaces. Update the documentation, too. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9bccc70a127cfe2a13e34d6b6e7300caae113f8f Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 14:48:56 2015 +0200 i2c: take address space into account when checking for used addresses It is not enough to compare the plain address value, we also need to check the flags enabling a different address space. E.g. it is valid to have address 0x50 as a 7-bit address and 0x050 as 10-bit address on the same bus. Same for addresses when we are the slave. Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b4e2f6ac1281cd3e066919cc762eef4924e9fcc5 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 19 21:04:40 2015 +0200 i2c: apply DT flags when probing Check for slave and 10-bit flags when probing and mark the client when found. Improve the address validity check, too Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c4019b7040eaf88f440ce5212e055a4f19b1b541 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 12:50:06 2015 +0200 i2c: make address check indpendent from client struct We want to use this function with struct boardinfo soon, so let's just pass the parameters really needed. We also extend the type of addr, so more types can be input. Remove a superfluous dangling comment while here. Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 66be6056eba80690bb7fa3d983c21494e1950bea Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 12:43:22 2015 +0200 i2c: rename address check functions The current naming is based on the arguments of the functions and not on what they do. Even I as the maintainer find this confusing, so let's rename them to something more descriptive. Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit da899f55b359225f85e154765baaddb13ec436ca Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon May 18 21:09:12 2015 +0200 i2c: apply address offset for slaves, too We want a separate address range for being an I2C slave. Add an offset of 0x1000, so it can be combined with ten bit addresses as well. Add a separate function to create the address value, we will need it later in other places. Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c5ebb387f4e6b2dd7c74d71caf7b696834d0c887 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 19 17:44:31 2015 +0200 i2c: add a flag to mark clients as slaves And update indentation with one more tab, sigh... Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f5005f7835e0da9ea6f203f8acc356bef9b331da Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue May 19 17:40:55 2015 +0200 dt-bindings: add header for generic I2C flags in bindings Tested-by: Andrey Danin <danindrey@xxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c9b57724b38d4c1555ee49418be3d76801e3327c Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Fri Aug 21 10:18:08 2015 -0400 HID: quirks: add QUIRK_NOGET for an other TPV touchscreen Looks like 0x8882 needs the same quirk than 0x8883. Given that both devices claim they are "TPV OpticalTouchScreen" rename the 0x8883 to add its PID in the #define. Reported-by: Blaine Lee <blaine.j.lee@xxxxxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2a03c025fdea25a491c359b31d8a8c8d452b06d0 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 13 23:43:19 2015 -0300 ARM: rockchip: pm: Fix PTR_ERR() argument PTR_ERR should access the value just tested by IS_ERR. The semantic patch that makes this change is available in scripts/coccinelle/tests/odd_ptr_err.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 0df9d2eae5e1092b07eaab6b989c2ff14115cab5 Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Date: Mon Jul 20 01:39:59 2015 +0900 mmc: tmio: Fix timeout value for command request Fix the problem which timeout occurs at the time of command request with several cards. The timeout value was insufficient as a verification of several cards, so it was changed 5 seconds from 2 seconds. Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 05c441efcc9796dd27451b9d87f5b22b8ebcdb2b Author: ludovic.desroches@xxxxxxxxx <ludovic.desroches@xxxxxxxxx> Date: Wed Jul 29 16:22:48 2015 +0200 MAINTAINERS: add entry for Atmel sdhci-of-at91 driver Add an entry for Atmel SDMMC device. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bb5f8ea4d5149f3dec6f7cd24c040c52bfc0cdbd Author: ludovic.desroches@xxxxxxxxx <ludovic.desroches@xxxxxxxxx> Date: Wed Jul 29 16:22:47 2015 +0200 mmc: sdhci-of-at91: introduce driver for the Atmel SDMMC Introduce driver for he Atmel SDMMC available on sama5d2. It is a sdhci compliant controller. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5497159c460fadf0d8190b6ef144ec22fa26aa6b Author: ludovic.desroches@xxxxxxxxx <ludovic.desroches@xxxxxxxxx> Date: Wed Jul 29 16:22:46 2015 +0200 mmc: sdhci: switch from programmable clock mode to divided one if needed In programmable mode, if the clock frequency is too high, the divider can be too small to meet the clock frequency requirement especially to init the SD card. In this case, switch to the divided clock mode. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 34ba2c4247e5c4b1542b1106e156af324660c4f0 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Aug 18 10:34:42 2015 +0100 arm64: set MAX_MEMBLOCK_ADDR according to linear region size The linear region size of a 39-bit VA kernel is only 256 GB, which may be insufficient to cover all of system RAM, even on platforms that have much less than 256 GB of memory but which is laid out very sparsely. So make sure we clip the memory we will not be able to map before installing it into the memblock memory table, by setting MAX_MEMBLOCK_ADDR accordingly. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8eafeb48022816513abc4f440bdad4c350fe81a3 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Aug 18 10:34:41 2015 +0100 of/fdt: make memblock maximum physical address arch configurable When parsing the memory nodes to populate the memblock memory table, we check against high and low limits and clip any memory that exceeds either one of them. However, for arm64, the high limit of (phys_addr_t)~0 is not very meaningful, since phys_addr_t is 64 bits (i.e., no limit) but there may be other constraints that limit the memory ranges that we can support. So rename MAX_PHYS_ADDR to MAX_MEMBLOCK_ADDR (for clarity) and only define it if the arch does not supply a definition of its own. Acked-by: Rob Herring <robh@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5d3c2c352998fdefdc62795249cfc7311cf36df9 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Sun Aug 23 14:24:44 2015 +0100 arm64: Fix source code file path in comments Architecture specific code for i386 and x86_64 was unified and merged to the arch/x86. This patch fix old path of x86 architecture in a comment from the arch/arm64/include/asm/fixmap.h. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5b9eaa5659b32cf6c85a492d2e3bfa7a3a413144 Author: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Date: Tue Jun 30 17:53:59 2015 +0100 pinctrl: sh-pfc: Implement pinconf power-source param for voltage switching The pfc in the R8A7790 (and probably others in the R-Car gen 2 family) supports switching SDHI signals between 3.3V and 1.8V nominal voltage, and the SD driver should do that when switching to and from UHS modes. Add a flag for pins that have configurable I/O voltage and SoC operations to get and set the nominal voltage. Implement the pinconf power-source parameter using these operations. Signed-off-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6c310c46efeae99a1569947b8c60d4aab36bd61c Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 24 13:43:14 2015 +0530 dmaengine: sort the dw Kconfig Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3c21619077beb40ae3e49eb868798377e69dd940 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 24 13:43:14 2015 +0530 dmaengine: sort the Kconfig dmaengine Kconfig grew over the years, unfortunately without any order to it. So order by core, driver and client sections, and sort these sections alphabetically Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7e97229b3920568067feefc8b49a98534c1a908c Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 24 13:43:14 2015 +0530 dmaengine: sort the makefile dmaengine makefile grew over the years, unfortunately without any order to it. So order by core, dmatest and driver sections and sort these sections alphabetically Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e2d6cf7f3696c87546f7fefe9bac79ee09db4bef Author: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Date: Fri Aug 21 16:52:01 2015 +0300 drm/i915: Allow parsing of variable size child device entries from VBT VBT version 196 increased the size of common_child_dev_config. The parser code assumed that the size of this structure would not change. The modified code now copies the amount needed based on the VBT version, and emits a debug message if the VBT version is unknown (too new); since the struct config block won't shrink in newer versions it should be harmless to copy the maximum known size in such cases, so that's what we do, but emitting the warning is probably sensible anyway. In the longer run it might make sense to modify the parser code to use a version/feature mapping, rather than hardcoding things like this, but for now the variants are fairly manageable. This fixes a regression introduced in commit 75067ddecf21271631bc018d2fb23ddd09b66aae Author: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Date: Fri Jul 10 14:10:55 2015 +0300 drm/i915: Per-DDI I_boost override since that commit changed the child device config size without updating the checks and memcpy. v2: Stricter size checks v3 by Jani: - Keep the checks strict, and warnigns verbose, but keep going anyway. - Take care to copy the max amount of child device config we can. - Fix the messages. Signed-off-by: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit af7080f555e556094762c03c31cabdbe072b16b6 Author: Thulasimani,Sivakumar <sivakumar.thulasimani@xxxxxxxxx> Date: Tue Aug 18 11:07:59 2015 +0530 drm/i915: fix link rates reported for SKL This patch fixes the bug that SKL SKUs before B0 might return HBR2 as supported even though it is not supposed to be enabled on such platforms. v2: optimize if else condition (Jani) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> [Jani: minor whitespace fix.] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 6cc38acaaa995ad229447d87a3c5a181ba0cc161 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Aug 18 14:28:55 2015 +0300 drm/i915: fix VBT parsing for SDVO child device mapping commit 75067ddecf21271631bc018d2fb23ddd09b66aae Author: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Date: Fri Jul 10 14:10:55 2015 +0300 drm/i915: Per-DDI I_boost override increased size of union child_device_config without taking into account the size check in parse_sdvo_device_mapping(). Switch the function over to using the legacy struct only. Fixes: 75067ddecf21 ("drm/i915: Per-DDI I_boost override") Cc: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Cc: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 3732ce72b45a2a145803558758821bf198751276 Merge: e829d7e c13dcf9 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 24 16:36:42 2015 +1000 Merge tag 'v4.2-rc8' into drm-next Linux 4.2-rc8 Backmerge required for Intel so they can fix their -next tree up properly. commit 54cf7be992fe86571a3f07b96446cd5334b014ab Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Aug 21 15:29:29 2015 +0800 net: phy: add interrupt support for aquantia phy By implementing config_intr & ack_interrupt, now the phy can support link connect/disconnect interrupt. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6df7d61c8776a882dd47ba4714d1445dd7ef2d9 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Fri Aug 21 10:08:26 2015 +0900 net: bcmgenet: fix uncleaned dma flags Clean the dma flags of multiq ring buffer int the interface stop process. This patch fixes that the genet is not running while the interface is re-enabled. $ ifup eth0 - running after booting $ ifdown eth0 $ ifup eth0 - not running and occur tx_timeout The bcmgenet_dma_disable() in bcmgenet_open() do clean ring16 dma flag only. If the genet has multiq, the dma register is not cleaned. and bcmgenet_init_dma() is not done correctly. in case GENET_V2(tx_queues=4), tdma_ctrl has 0x1e after running bcmgenet_dma_disable(). Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eed635699abaacebc9b19a2f9de9ddc688c390c2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Aug 20 18:04:22 2015 -0700 net: bcmgenet: Avoid sleeping in bcmgenet_timeout bcmgenet_timeout() executes in atomic context, yet we will invoke napi_disable() which does sleep. Looking back at the changes, disabling TX napi and re-enabling it is completely useless, since we reclaim all TX buffers and re-enable interrupts, and wake up the TX queues. Fixes: 13ea657806cf ("net: bcmgenet: improve TX timeout") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50e48bd0673180311874d0c1bd88505eefd75c4e Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Wed Aug 12 13:14:59 2015 +0600 m68k/coldfire: use PFN_DOWN macro Replace ((x) >> PAGE_SHIFT) with the predefined PFN_DOWN macro. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit 5bbc08fb0f1457ceef388739b48c72675246639c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:20 2015 +0530 m68k/coldfire/pit: Migrate to new 'set-state' interface Migrate m68k driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ->set_mode(RESUME) and so tick_resume() isn't implemented. Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit c13dcf9f2d6f5f06ef1bf79ec456df614c5e058b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 23 20:52:59 2015 -0700 Linux 4.2-rc8 commit e829d7ef9f17d7b84d4c3d110ecd4b7b2bcba865 Author: Mathieu Larouche <mathieu.larouche@xxxxxxxxxx> Date: Fri Aug 21 09:24:13 2015 -0400 drm/mgag200: Add support for a new rev of G200e - Added PLL algorithm for a new rev of G200e - Removed the bandwidth limitation for the new G200e Signed-off-by: Mathieu Larouche <mathieu.larouche@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 6d857c18aefdec782ba1db578a390fbac5145107 Author: Mathieu Larouche <mathieu.larouche@xxxxxxxxxx> Date: Fri Aug 21 09:24:05 2015 -0400 drm/mgag200: Add support for a new G200eW3 chipset - Added support for the new deviceID for G200eW3 - Added PLL algorithm for the G200eW3 - Added some initialization code for G200eW3 Signed-off-by: Mathieu Larouche <mathieu.larouche@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d683477020be2036d6c2d7d2cd3ffac4f2acbd6c Merge: eb63b34 49718f0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 23 20:46:22 2015 -0700 Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "A couple of major (hang and deadlock) fixes with fortunately fairly rare triggering conditions. The PM oops is only really triggered by people using enclosure services (rare) and the fnic driver is mostly used in enterprise environments" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: SCSI: Fix NULL pointer dereference in runtime PM fnic: Use the local variable instead of I/O flag to acquire io_req_lock in fnic_queuecommand() to avoid deadloack commit d9893d1351e11f565940df6cd6f9bf13aac27a3a Merge: 751a587 29e7692 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 23 20:42:57 2015 -0700 Merge tag 'nfc-next-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next Samuel Ortiz says: ==================== NFC 4.3 pull request This is the NFC pull request for 4.3. With this one we have: - A new driver for Samsung's S3FWRN5 NFC chipset. In order to properly support this driver, a few NCI core routines needed to be exported. Future drivers like Intel's Fields Peak will benefit from this. - SPI support as a physical transport for STM st21nfcb. - An additional netlink API for sending replies back to userspace from vendor commands. - 2 small fixes for TI's trf7970a - A few st-nci fixes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 751a587ac9f9a8bf314590fbac32d9e418060c5a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 21 12:41:14 2015 +0200 route: fix breakage after moving lwtunnel state __recnt and related fields need to be in its own cacheline for performance reasons. Commit 61adedf3e3f1 ("route: move lwtunnel state to dst_entry") broke that on 32bit archs, causing BUILD_BUG_ON in dst_hold to be triggered. This patch fixes the breakage by moving the lwtunnel state to the end of dst_entry on 32bit archs. Unfortunately, this makes it share the cacheline with __refcnt and may affect performance, thus further patches may be needed. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: 61adedf3e3f1 ("route: move lwtunnel state to dst_entry") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31fbde9967330404175a06df15bdb24d671d4475 Merge: c5f98b5 7a4b6c8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 23 16:28:18 2015 -0700 Merge tag 'linux-can-next-for-4.3-20150820' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== this is a pull request of a two patches for net-next. The first patch is by Nik Nyby and fixes a typo in a function name. The second patch by Lucas Stach demotes register output to debug level. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5f98b5669b875564f992e1398f5a4407dba8b07 Merge: 7f629be 2be80c2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 23 16:14:46 2015 -0700 Merge branch 'tipc-failover-fixes' Jon Maloy says: ==================== tipc: fix link failover/synch problems We fix three problems with the new link failover/synch implementation, which was introduced earlier in this release cycle. They are all related to situations where there is a very short interval between the disabling and enabling of interfaces. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2be80c2d87de789550982e74a11e9f9ff5940845 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Aug 20 02:12:56 2015 -0400 tipc: fix stale link problem during synchronization Recent changes to the link synchronization means that we can now just drop packets arriving on the synchronizing link before the synch point is reached. This has lead to significant simplifications to the implementation, but also turns out to have a flip side that we need to consider. Under unlucky circumstances, the two endpoints may end up repeatedly dropping each other's packets, while immediately asking for retransmission of the same packets, just to drop them once more. This pattern will eventually be broken when the synch point is reached on the other link, but before that, the endpoints may have arrived at the retransmission limit (stale counter) that indicates that the link should be broken. We see this happen at rare occasions. The fix for this is to not ask for retransmissions when a link is in state LINK_SYNCHING. The fact that the link has reached this state means that it has already received the first SYNCH packet, and that it knows the synch point. Hence, it doesn't need any more packets until the other link has reached the synch point, whereafter it can go ahead and ask for the missing packets. However, because of the reduced traffic on the synching link that follows this change, it may now take longer to discover that the synch point has been reached. We compensate for this by letting all packets, on any of the links, trig a check for synchronization termination. This is possible because the packets themselves don't contain any information that is needed for discovering this condition. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ae2f8e6857968d6dddbd3879ed0a32b860e02d1 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Aug 20 02:12:55 2015 -0400 tipc: interrupt link synchronization when a link goes down When we introduced the new link failover/synch mechanism in commit 6e498158a827fd515b514842e9a06bdf0f75ab86 ("tipc: move link synch and failover to link aggregation level"), we missed the case when the non-tunnel link goes down during the link synchronization period. In this case the tunnel link will remain in state LINK_SYNCHING, something leading to unpredictable behavior when the failover procedure is initiated. In this commit, we ensure that the node and remaining link goes back to regular communication state (SELF_UP_PEER_UP/LINK_ESTABLISHED) when one of the parallel links goes down. We also ensure that we don't re-enter synch mode if subsequent SYNCH packets arrive on the remaining link. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17b2063077a7478e5fd3c34b04a059dbb8474638 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Aug 20 02:12:54 2015 -0400 tipc: eliminate risk of premature link setup during failover When a link goes down, and there is still a working link towards its destination node, a failover is initiated, and the failed link is not allowed to re-establish until that procedure is finished. To ensure this, the concerned link endpoints are set to state LINK_FAILINGOVER, and the node endpoints to NODE_FAILINGOVER during the failover period. However, if the link reset is due to a disabled bearer, the corres- ponding link endpoint is deleted, and only the node endpoint knows about the ongoing failover. Now, if the disabled bearer is re-enabled during the failover period, the discovery mechanism may create a new link endpoint that is ready to be established, despite that this is not permitted. This situation may cause both the ongoing failover and any subsequent link synchronization to fail. In this commit, we ensure that a newly created link goes directly to state LINK_FAILINGOVER if the corresponding node state is NODE_FAILINGOVER. This eliminates the problem described above. Furthermore, we tighten the criteria for which packets are allowed to end a failover state in the function tipc_node_check_state(). By checking that the receiving link is up and running, instead of just checking that it is not in failover mode, we eliminate the risk that protocol packets from the re-created link may cause the failover to be prematurely terminated. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f629be158a93e1b8f882c13c098d043f68cad9c Merge: 1728369 4149379 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 23 16:08:54 2015 -0700 Merge branch 'nps_enet_fixes' Noam Camus says: ==================== *** nps_enet fixups *** Change v2 TX done is handled back with NAPI poll. Change v1 This patch set is a bunch of fixes to make nps_enet work correctly with all platforms, i.e. real device, emulation system, and simulation system. The main trigger for this patch set was that in our emulation system the TX end interrupt is "edge-sensitive" and therefore we cannot use the cause register since it is not sticky. Also: TX is handled during HW interrupt context and not NAPI job. race with TX done was fixed. added acknowledge for TX when device is "level sensitive". enable drop of control frames which is not needed for regular usage. So most of this patch set is about TX handling, which is now more complete. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41493795a4c18170fdf27c0373d386b4039b24df Author: Noam Camus <noamc@xxxxxxxxxx> Date: Thu Aug 20 08:00:05 2015 +0300 NET: nps_enet: minor namespace cleanup We define buf_int_enable in the minimal namespace it is used. Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d99b74ab3c4b7e529d5820ccadabfb81085f020 Author: Noam Camus <noamc@xxxxxxxxxx> Date: Thu Aug 20 08:00:04 2015 +0300 NET: nps_enet: TX done acknowledge. This is needed for when TX done interrupt is in "level mode". For example it is true for some simulators of this device. Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de6715677aaa5e9ed27dab1f6ca6597b74a3f7bc Author: Noam Camus <noamc@xxxxxxxxxx> Date: Thu Aug 20 08:00:03 2015 +0300 NET: nps_enet: drop control frames We set controller to drop control frames and not trying to pass them on. This is only needed for debug reasons. Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93fcf83eb953d9ca2d3c51ff7f87095f0dd43511 Author: Noam Camus <noamc@xxxxxxxxxx> Date: Thu Aug 20 08:00:02 2015 +0300 NET: nps_enet: TX done race condition We need to set tx_skb pointer before send frame. If we receive interrupt before we set pointer we will try to free SKB with wrong pointer. Now we are sure that SKB pointer will never be NULL during handling TX done and check is removed. Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0dd20f3ce04e75521bd3f9867ecbc852ab348912 Author: Noam Camus <noamc@xxxxxxxxxx> Date: Thu Aug 20 08:00:01 2015 +0300 NET: nps_enet: replace use of cause register When interrupt is received we read directly from control register for RX/TX instead of reading cause register since this register fails to indicate TX done when TX interrupt is "edge mode". Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c953e23936f902c7719166327e3113639105c981 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Thu Aug 20 12:43:53 2015 +0900 netlink: mmap: fix tx type check I can't send netlink message via mmaped netlink socket since commit: a8866ff6a5bce7d0ec465a63bc482a85c09b0d39 netlink: make the check for "send from tx_ring" deterministic msg->msg_iter.type is set to WRITE (1) at SYSCALL_DEFINE6(sendto, ... import_single_range(WRITE, ... iov_iter_init(1, WRITE, ... call path, so that we need to check the type by iter_is_iovec() to accept the WRITE. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1728369e8c57f27e0374f4702cbfdb9196bc586b Merge: 9a873c7 2701366 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 23 15:59:57 2015 -0700 Merge branch 'gro_tunnels' Tom Herbert says: ==================== gro: Fixes for tunnels and GRO This patch set addresses some issue related to tunneling and GRO: - Fix remote checksum offload to properly deal with frag0 in GRO. - Add support for GRO at VXLAN tunnel (call gro_cells) Testing: Ran one netperf TCP_STREAM to highlight impact of different configurations: GUE Zero UDP checksum 4628.42 MBps UDP checksums enabled 6800.51 MBps UDP checksums and remote checksum offload 7663.82 MBps UDP checksums and remote checksum offload using no-partial 7287.25 MBps VXLAN Zero UDP checksum 4112.02 UDP checksums enabled 6785.80 MBps UDP checksums and remote checksum offload 7075.56 MBps v2: - Drop "gro: Pull headers into skb head for 1st skb in gro list" from patch set - In vxlan_remcsum and gue_remcsum return immediately if remcsum processing was already done - Add gro callbacks for sit offload - Use WARN_ON_ONCE if we get a GUE protocol that does not have GRO offload support v3: - Don't restore gro callbacks for sit offload ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 270136613bf7306e2b83457628e2b2f6c6be3989 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Aug 19 17:07:34 2015 -0700 fou: Do WARN_ON_ONCE in gue_gro_receive for bad proto callbacks Do WARN_ON_ONCE instead of WARN_ON in gue_gro_receive when the offload callcaks are bad (either don't exist or gro_receive is not specified). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58ce31cca1ffe057f4744c3f671e3e84606d3d4a Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Aug 19 17:07:33 2015 -0700 vxlan: GRO support at tunnel layer Add calls to gro_cells infrastructure to do GRO when receiving on a tunnel. Testing: Ran 200 netperf TCP_STREAM instance - With fix (GRO enabled on VXLAN interface) Verify GRO is happening. 9084 MBps tput 3.44% CPU utilization - Without fix (GRO disabled on VXLAN interface) Verified no GRO is happening. 9084 MBps tput 5.54% CPU utilization Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7fe10e5ebac2a3f37e95535e616494b65fa020f Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Aug 19 17:07:32 2015 -0700 gro: Fix remcsum offload to deal with frags in GRO The remote checksum offload GRO did not consider the case that frag0 might be in use. This patch fixes that by accessing headers using the skb_gro functions and not saving offsets relative to skb->head. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a873c71e91cabf4c10fd9bbd8358c22deaf6c9e Author: Chas Williams <3chas3@xxxxxxxxx> Date: Wed Aug 19 19:14:20 2015 -0400 net/xen-netfront: only clean up queues if present If you simply load and unload the module without starting the interfaces, the queues are never created and you get a bad pointer dereference. Signed-off-by: Chas Williams <3chas3@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5117ce4f6a16fa2a02ceff9c337cfffca8b75f2 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 18:54:55 2015 -0400 net: dsa: mv88e6xxx: set 802.1Q mode to Fallback The current Secure port mode requires the port-based VLANs to also be valid in the 802.1Q VLAN Table Unit. The current hardware bridging support only configures the port-based VLANs, thus is broken. A new patchset is required to adapt the hardware bridging code to fully support the Secure port mode. In the meantime, change the 802.1Q mode of every ports to Fallback, which filtering is more permissive, and doesn't add this restriction to handle port-based and tagged-based VLANs. Fixes: 8efdda4a1b60 ("net: dsa: mv88e6xxx: use port 802.1Q mode Secure") Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f007492964c125cb3e88a51ba2e50c3b44d33ae0 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Sun Aug 23 13:35:23 2015 -0600 kernel-doc: ignore unneeded attribute information The kernel-doc script gets confused by __attribute__(()) strings in structures, so just clean the out. Also ignore the CRYPTO_MINALIGN_ATTR macro used in the crypto subsystem. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit b5ac1fb2717e48177d3f73f9e4c9b556c0a24c6b Author: Vincent Bernat <vincent@xxxxxxxxx> Date: Sat Aug 15 14:07:44 2015 +0200 9p: fix return code of read() when count is 0 When reading 0 bytes from an empty file on a 9P filesystem, the return code of read() was not 0 as expected due to an unitialized err variable. Tested with this simple program: #include <assert.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> int main(int argc, const char **argv) { assert(argc == 2); char buffer[256]; int fd = open(argv[1], O_RDONLY|O_NOCTTY); assert(fd >= 0); assert(read(fd, buffer, 0) == 0); return 0; } Signed-off-by: Vincent Bernat <vincent@xxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit cb9af418598b8f388844e1849014c689a048ce54 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Jun 5 19:09:35 2015 +0200 9p: remove unused option Opt_trans Commit 8a0dc95fd976 ("9p: transport API reorganization") removed Opt_trans in tokens not in enum. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx> commit eb63b34bdfbdd70a734c2a90d89117c5c6c605c2 Merge: c4c53ba 72ccc89 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 23 07:23:09 2015 -0700 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS bug fixes from Ralf Baechle: "Two more fixes for 4.2. One fixes a build issue with the LLVM assembler - LLVM assembler macro names are case sensitive, GNU as macro names are insensitive; the other corrects a license string (GPL v2, not GPLv2) such that the module loader will recognice the license correctly" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: FIRMWARE: bcm47xx_nvram: Fix module license. MIPS: Fix LLVM build issue. commit 25cf68da08389bb107e5cba2cbfb3b6e4a246095 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Fri Aug 21 16:27:49 2015 -0400 drivers/dma: make mv_xor.c driver explicitly non-modular The Kconfig for this driver is currently: config MV_XOR bool "Marvell XOR engine support" ...meaning that it currently is not being built as a module by anyone. Lets remove the modular code that is essentially orphaned, so that when reading the driver there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. We leave some tags like MODULE_AUTHOR for documentation purposes. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code. Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0e3b67b348b838d519b5d9ff30261f471d6371f2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Aug 20 17:39:13 2015 +0200 dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller Add support for the Analog Devices AXI-DMAC DMA controller. This controller is a soft peripheral that can be instantiated in a FPGA and is often used in Analog Devices' reference designs for FPGA platforms. The peripheral has various configuration options that can be selected at synthesis time and influence the supported features of the instantiated peripheral, those options are represented as device-tree properties to allow the driver to behave accordingly. The peripheral has a zero latency architecture, which means it is possible to switch from one to the next descriptor without any delay. This is archived by having a internal queue which can hold multiple descriptors. The driver supports this, which means it will submit new descriptors directly to the hardware until the queue is full and not wait for a descriptor to complete before the next one is submitted. Interrupts are used for the descriptor queue flow control. Currently the driver supports SG, cyclic and interleaved slave DMA. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 43bcad2bb485f053661e5cfe306c34178c6651c7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Aug 20 17:39:12 2015 +0200 devicetree: Add bindings documentation for Analog Devices AXI-DMAC Add the devicetree descriptor for the Analog Devices AXI-DMAC DMA controller. This is a soft peripheral used in FPGAs and the bindings describe how it is connected to the system (clock, interrupt, memory map) as well as the configuration options that were used when the peripheral was instantiated. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b2b48ac4c584ae31eb23ad1f86964cc6e52eaa54 Merge: 76891cc ed9c87b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sun Aug 23 18:54:39 2015 +0530 Merge branch 'topic/zxdma' into for-linus commit 76891cc8c4930e21b9bce226524f1b57756bc25e Merge: 59b0fbd 28eb232 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sun Aug 23 18:54:31 2015 +0530 Merge branch 'topic/ti-xbar' into for-linus commit 59b0fbdf15900abc57bd90f1cca1f6ff28b470c0 Merge: 005ce70 35ca0ee Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sun Aug 23 18:54:22 2015 +0530 Merge branch 'topic/at_xdmac' into for-linus commit 47edb65178cb7056c2eea0b6c41a7d8c84547192 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 23 12:14:40 2015 -0700 x86/asm/msr: Make wrmsrl() a function As of cf991de2f614 ("x86/asm/msr: Make wrmsrl_safe() a function"), wrmsrl_safe is a function, but wrmsrl is still a macro. The wrmsrl macro performs invalid shifts if the value argument is 32 bits. This makes it unnecessarily awkward to write code that puts an unsigned long into an MSR. To make this work, syscall_init needs tweaking to stop passing a function pointer to wrmsrl. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Willy Tarreau <w@xxxxxx> Link: http://lkml.kernel.org/r/690f0c629a1085d054e2d1ef3da073cfb3f7db92.1437678821.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5865f3658ba37c54e346b0fdee08a1c7a152681b Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Aug 23 12:54:16 2015 +0300 iwlwifi: mvm: bump firmware API to 17 The driver is now able to handle -17.ucode. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4308c9b083fbab1a442e68a03de099841791df27 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sun Aug 23 11:52:51 2015 +0530 ALSA: hdac: Add snd_hdac_get_hdac_stream() Add a helper to find the stream using stream tag and direction. This is useful for drivers to query stream based on stream tag and direction, fox example while downloading FW thru DSP loader code Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 54d1d2f5f0886f7c31512c83a6ed87bbcd0d2b3a Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sun Aug 23 11:52:50 2015 +0530 ALSA: hdac: fix the spbmaxfifo API spbmaxfifo API is actually a query function not a set function so name it snd_hdac_ext_stream_get_spbmaxfifo() Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e57690b1aeb208642d00f9b378830b26c9585caf Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sun Aug 23 11:52:49 2015 +0530 ALSA: hdac: Fix size allocation for ext device allocation While creating hdac_ext_device, we used hdev for sizeof insteadof edev, which resulted in eventual crash of the system Fix the size here Fixes: a512f5611646 ('ALSA: hdac: add hdac extended device') Reported-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit da03f0296c0c122cb91ed3c87a7efa4ea5127f22 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Aug 18 15:15:36 2015 +0200 iwlwifi: mvm: support new TX power command Add support for the new (bigger) TX power command. This doesn't actually take advantage of the new capabilities (to set per-chain TX power limits) but makes the code compatible with newer firmware images expecting the larger command. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a7b3bc91c5b0a6a7eecfd33ac71e266c6fe897f8 Author: Ayala Beker <ayala.beker@xxxxxxxxx> Date: Thu Aug 20 04:00:38 2015 +0300 iwlwifi: mvm: split debug message to avoid exceeding 110 characters split long debug messages that may result warning in tracing. Fixes: 1a84e7716086 ("iwlwifi: mvm: add debug info to schedule scan complete message.") Signed-off-by: Ayala Beker <ayala.beker@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 32c93a7057d600a06f96ff8997da1fadca65795a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 19 16:51:33 2015 +0200 iwlwifi: correctly size command string arrays The command string array is assumed to be indexable by a full u8, so it must have 256 entries (0-255), not just 255. A recent firmware change (apparently) started using the command 0xff for a notification to the host, causing the driver to crash in debug message/tracing code. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ba537f98b5296cdb08ea98c23963201b3db14ed9 Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Wed Aug 19 16:29:31 2015 +0300 iwlwifi: mvm: update wakeup reason enum when waking from d0i3 there is a wakeup reason. Enum in driver is not up to date with FW api - fix it. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 8e8114dee2a9a767ca8abc1c2d6a94a3ca5d4c7f Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 21 11:48:21 2015 +0300 iwlwifi: mvm: catch underflow error earlier My static checker complains that we don't check for underflows in iwl_dbgfs_fw_dbg_conf_write(). This is harmless because we have a sanity check in iwl_mvm_start_fw_dbg_conf(), but we may as well make this unsigned and silence the underflow warning. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c4c53bad4095aec461ed2488534ce6c7e672228a Merge: b7dec83 999b8b8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Aug 22 20:22:11 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull 9p regression fix from Al Viro: "Fix for breakage introduced when switching p9_client_{read,write}() to struct iov_iter * (went into 4.1)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: 9p: ensure err is initialized to 0 in p9_client_read/write commit 999b8b88c6060adf7a9b7907740ae86ace65291e Author: Vincent Bernat <vincent@xxxxxxxxx> Date: Sat Aug 15 15:49:13 2015 +0200 9p: ensure err is initialized to 0 in p9_client_read/write Some use of those functions were providing unitialized values to those functions. Notably, when reading 0 bytes from an empty file on a 9P filesystem, the return code of read() was not 0. Tested with this simple program: #include <assert.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> int main(int argc, const char **argv) { assert(argc == 2); char buffer[256]; int fd = open(argv[1], O_RDONLY|O_NOCTTY); assert(fd >= 0); assert(read(fd, buffer, 0) == 0); return 0; } Cc: stable@xxxxxxxxxxxxxxx # v4.1 Signed-off-by: Vincent Bernat <vincent@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d071c833a0d30e7aae0ea565d92ef83c79106d6f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 19:39:38 2015 -0300 [media] dvbdev: document most of the functions/data structs Document the most relevant functions and data structs for developers that are working with the DVB subsystem. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit e3dbc572fe11a5231568e106fa3dcedd1d1bec0f Merge: ce8c669 c63517c Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Aug 22 14:57:59 2015 -0700 Merge tag 'signed-kvm-ppc-next' of git://github.com/agraf/linux-2.6 into kvm-queue Patch queue for ppc - 2015-08-22 Highlights for KVM PPC this time around: - Book3S: A few bug fixes - Book3S: Allow micro-threading on POWER8 commit ce8c669e446371c1eb21b0566f6dfcb70ef3a435 Merge: bc0195a 054167b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Aug 22 14:53:22 2015 -0700 Merge tag 'kvm-arm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-queue KVM/ARM changes for 4.3 - Full debug support for arm64 - Active state switching for timer interrupts - Lazy FP/SIMD save/restore for arm64 - Generic ARMv8 target commit 35848bf0aa6ba677458adfbde49ef73d10c9f381 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 14:20:25 2015 -0300 [media] dvb_frontend.h: document the struct dvb_frontend That struct is used on every DVB Front End driver, as it contains what's needed to register/use a frontend at the Kernel. Document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit a3cccb2411a634b751771596bf21afc2d2bd5990 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 14:10:31 2015 -0300 [media] dvb-frontend.h: document struct dtv_frontend_properties Most of the parameters here are already well defined at the userspace documentation. Yet, it is good to add some documentation, for the developers to be sure that they are the same as the ones at userspace API. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 0cfcc493a50ef6d8b2ceda3390be0306f319ed18 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 13:28:02 2015 -0300 [media] dvb-frontend.h: document struct dvb_frontend_ops This is one of the most important functions of the DVB frontend, containing the logic needed to set the parameters at the demux and to send commands via SEC. Document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 27460adc07a3f84e671dec71ac553818d5988003 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 12:48:09 2015 -0300 [media] dvb: Use DVBFE_ALGO_HW where applicable The dvb_frontend.c core defines a FE_ALGO_HW symbol that it is never used. Also, both cx24123 returns 1 to get_algo() callback instead of using DVBFE_ALGO_HW. Probably, those are some left overs from some code cleanup. Let's stop returning magic numbers and use the proper macro value. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 0bf6cd7bc5d6751386d5f092e8d3fd2537aac954 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 11:35:50 2015 -0300 [media] dvb_frontend.h: document struct analog_demod_ops Add documentation for struct analog_demod_info and struct analog_demod_ops. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 465291a0eba9662a2ec597b96881dd92b034c30c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 11:13:37 2015 -0300 [media] dvb_frontend.h: Document struct dvb_tuner_ops The struct dvb_tuner_ops contains lots of callbacks used by tuners. Document them. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 1a77763428c7647e74347c1c5760440fe0cd0aea Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:58:26 2015 -0300 [media] Docbook: Document struct analog_parameters That struct inside dvb-frontend.h stores some parameters from V4L2 API (videodev2.h), in order to be used by the hybrid analog/digital TV tuners. Document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 0c68b1ce850592fb5812e425cba6ab92951955a4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:48:57 2015 -0300 [media] dvb_frontend.h: get rid of dvbfe_modcod This enum is not used anymore, as drivers use the modulation definitions from the public API. It is probably a left over from some DVB core cleanup. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 8bcbc2f32e3388c6b899fd8c662be471ef609b2a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:48:05 2015 -0300 [media] add documentation for struct dvb_tuner_info Despite being used everywhere at DVB frontends, the struct dvb_tuner_info were never documented. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit d6e9b704d9553ee9d54baddcc6d9b63a4574f272 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Aug 22 09:04:50 2015 +0530 ata: pata_arasam_cf: Use devm_clk_get This patch introduces the use of managed resource function devm_clk_get instead of clk_get and removes corresponding call to clk_put in the remove function. To be compatible with the change various gotos are replaced with direct returns, and unneeded label is dropped. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 5839a5506de30c23d4cfaf49755cd294f5c48368 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 21 22:05:58 2015 +0300 perf tools: Fix tarball build broken by pt/bts Fix some include paths and add missing inat_types.h. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/55D77696.60102@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a57e456a7b28431b55e407e5ab78ebd5b378d19e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sat Aug 22 16:41:17 2015 +0200 x86/apic: Fix fallout from x2apic cleanup In the recent x2apic cleanup I got two things really wrong: 1) The safety check in __disable_x2apic which allows the function to be called unconditionally is backwards. The check is there to prevent access to the apic MSR in case that the machine has no apic. Though right now it returns if the machine has an apic and therefor the disabling of x2apic is never invoked. 2) x2apic_disable() sets x2apic_mode to 0 after registering the local apic. That's wrong, because register_lapic_address() checks x2apic mode and therefor takes the wrong code path. This results in boot failures on machines with x2apic preenabled by BIOS and can also lead to an fatal MSR access on machines without apic. The solutions are simple: 1) Correct the sanity check for apic availability 2) Clear x2apic_mode _before_ calling register_lapic_address() Fixes: 659006bf3ae3 'x86/x2apic: Split enable and setup function' Reported-and-tested-by: Javier Monteagudo <javiermon@xxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: https://bugzilla.redhat.com/show_bug.cgi?id=1224764 Cc: stable@xxxxxxxxxxxxxxx # 4.0+ Cc: Laura Abbott <labbott@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Joerg Roedel <joro@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> commit 69786cdb379bbc6eab14cf2393c1abd879316e85 Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Thu Aug 13 08:37:24 2015 +0300 x86/kasan, mm: Introduce generic kasan_populate_zero_shadow() Introduce generic kasan_populate_zero_shadow(shadow_start, shadow_end). This function maps kasan_zero_page to the [shadow_start, shadow_end] addresses. This replaces x86_64 specific populate_zero_shadow() and will be used for ARM64 in follow on patches. The main changes from original version are: * Use p?d_populate*() instead of set_p?d() * Use memblock allocator directly instead of vmemmap_alloc_block() * __pa() instead of __pa_nodebug(). __pa() causes troubles iff we use it before kasan_early_init(). kasan_populate_zero_shadow() will be used later, so we ok with __pa() here. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Keitel <dkeitel@xxxxxxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yury <yury.norov@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1439444244-26057-3-git-send-email-ryabinin.a.a@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 920e277e17f12870188f4564887a95ae9ac03e31 Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Thu Aug 13 08:37:23 2015 +0300 x86/kasan: Define KASAN_SHADOW_OFFSET per architecture Current definition of KASAN_SHADOW_OFFSET in include/linux/kasan.h will not work for upcomming arm64, so move it to the arch header. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Alexey Klimov <klimov.linux@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: David Keitel <dkeitel@xxxxxxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Yury <yury.norov@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1439444244-26057-2-git-send-email-ryabinin.a.a@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b466bdb614823aaaa7188e85516177d2850f4782 Author: Huang Rui <ray.huang@xxxxxxx> Date: Mon Aug 10 12:19:54 2015 +0200 x86/asm/delay: Introduce an MWAITX-based delay with a configurable timer MWAITX can enable a timer and a corresponding timer value specified in SW P0 clocks. The SW P0 frequency is the same as TSC. The timer provides an upper bound on how long the instruction waits before exiting. This way, a delay function in the kernel can leverage that MWAITX timer of MWAITX. When a CPU core executes MWAITX, it will be quiesced in a waiting phase, diminishing its power consumption. This way, we can save power in comparison to our default TSC-based delays. A simple test shows that: $ cat /sys/bus/pci/devices/0000\:00\:18.4/hwmon/hwmon0/power1_acc $ sleep 10000s $ cat /sys/bus/pci/devices/0000\:00\:18.4/hwmon/hwmon0/power1_acc Results: * TSC-based default delay: 485115 uWatts average power * MWAITX-based delay: 252738 uWatts average power Thus, that's about 240 milliWatts less power consumption. The test method relies on the support of AMD CPU accumulated power algorithm in fam15h_power for which patches are forthcoming. Suggested-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Suggested-by: Borislav Petkov <bp@xxxxxxx> Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Huang Rui <ray.huang@xxxxxxx> [ Fix delay truncation. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Aaron Lu <aaron.lu@xxxxxxxxx> Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxx> Cc: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Frédéric Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Hector Marco-Gisbert <hecmargi@xxxxxx> Cc: Jacob Shin <jacob.w.shin@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Li <tony.li@xxxxxxx> Link: http://lkml.kernel.org/r/1438744732-1459-3-git-send-email-ray.huang@xxxxxxx Link: http://lkml.kernel.org/r/1439201994-28067-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f96756746c7909de37db3d03ac5fd5cfb2757f38 Author: Huang Rui <ray.huang@xxxxxxx> Date: Mon Aug 10 12:19:53 2015 +0200 x86/asm: Add MONITORX/MWAITX instruction support AMD Carrizo processors (Family 15h, Models 60h-6fh) added a new feature called MWAITX (MWAIT with extensions) as an extension to MONITOR/MWAIT. This new instruction controls a configurable timer which causes the core to exit wait state on timer expiration, in addition to "normal" MWAIT condition of reading from a monitored VA. Compared to MONITOR/MWAIT, there are minor differences in opcode and input parameters: MWAITX ECX[1]: enable timer if set MWAITX EBX[31:0]: max wait time expressed in SW P0 clocks == TSC. The software P0 frequency is the same as the TSC frequency. MWAIT MWAITX opcode 0f 01 c9 | 0f 01 fb ECX[0] value of RFLAGS.IF seen by instruction ECX[1] unused/#GP if set | enable timer if set ECX[31:2] unused/#GP if set EAX unused (reserve for hint) EBX[31:0] unused | max wait time (SW P0 == TSC) MONITOR MONITORX opcode 0f 01 c8 | 0f 01 fa EAX (logical) address to monitor ECX #GP if not zero Max timeout = EBX/(TSC frequency) Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Aaron Lu <aaron.lu@xxxxxxxxx> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Dirk Brandewie <dirk.j.brandewie@xxxxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Frédéric Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <bitbucket@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Li <tony.li@xxxxxxx> Link: http://lkml.kernel.org/r/1439201994-28067-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b9de1726b52d0c1dc07d90fd6a63fca49ea8b5b9 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:47:04 2015 -0300 [media] dvb_frontend: document dvb_frontend_tune_settings Add Documentation for dvb_frontend_tune_settings struct. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 04ffb9c126d6d887b08b68bbe0c0842ec9def78d Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:22:25 2015 -0300 [media] DocBook: Better organize media devices Instead of putting all media devices on a flat structure, split them on 4 types, just like we do with the userspace API: Video2Linux devices Digital TV (DVB) devices Remote Controller devices Media Controller devices Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 98d00bd7a2477ffce8010458938425095345f470 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:04:46 2015 -0300 [media] v4l2-mediabus: Add to DocBook Fix the format of the comments and add to DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit b6836a6fbc4b7e35679bf7bb8b54bad294ae0b10 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 09:01:58 2015 -0300 [media] videobuf2-memops.h: add to device-drivers DocBook The comment metadata was wrong: Warning(.//include/media/videobuf2-memops.h:25): cannot understand function prototype: 'struct vb2_vmarea_handler ' Warning(.//include/media/videobuf2-memops.h): no structured comments found Fix and add to DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit d78757e780f1845dd5c9615169f7401c7d0d1a66 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:57:02 2015 -0300 [media] videobuf2-core: Add it to device-drivers DocBook Most of the stuff at videobuf2-core are ok for adding it to DocBook. Two notes here: 1) As videobuf2-core will be soon be changed, better to not spend too much efforts right now, as things will change soon; 2) struct vb2_queue has a number of private elements that are documented. As Kernel nano documentation format handles "private:" arguments, we need to put them on a separate comment block or to remove. Keeping the comments is obviously better ;) Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 506bb54bdb0898e046e62751d761a5592966a637 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:36:13 2015 -0300 [media] v4l-dv-timings.h: Add to device-drivers DocBook There are already markups for documentation at v4l-dv-timings.h, however, they're not properly formatted. Convert them to the right format and add this file to the device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit b6fce850d9fa46eefdaa7ef28ac1f3fce7c803d2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:28:39 2015 -0300 [media] v4l2-event.h: fix comments and add to DocBook The comments there are good enough for DocBook, however they're using a wrong format. Fix and add to device-drivers.xml. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 7dc879190f55f4ecb12c754fb0f11a596e478fd1 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:22:03 2015 -0300 [media] v4l2-ctrls.h: Document a few missing arguments Warning(.//include/media/v4l2-ctrls.h:217): No description found for parameter 'p_new' Warning(.//include/media/v4l2-ctrls.h:217): No description found for parameter 'p_cur' Warning(.//include/media/v4l2-ctrls.h:217): Excess struct/union/enum/typedef member 'val64' description in 'v4l2_ctrl' Warning(.//include/media/v4l2-ctrls.h:314): No description found for parameter 'qmenu_int' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 276ce3a860d3c119e472abcfa75351c703f8722f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:21:10 2015 -0300 [media] v4l2-ctls: don't document v4l2_ctrl_fill() This is an obsolete function that has several missing arguments: Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'id' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'name' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'type' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'min' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'max' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'step' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'def' Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'flags' However, this is an obsolete function that should be removed soon. And are not meant to be used anymore. So, instead of documenting those stuff, let's just make DocBook to not handle it, by replacing "/**" by "/*". Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 8c2721d57a4bac055ae7bb1874a13a928277d5ff Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 08:03:49 2015 -0300 [media] v4l2-ctrls.h: add to device-drivers DocBook The comments there are using a wrong format. Due to that, DocBook were unable to parse it. Fix the tags format, and add it to device-drivers.xml. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 2a86e373e0cf926f5cb41725f1b0ce3874e7b1cf Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 07:38:51 2015 -0300 [media] DocBook: add dvb_ringbuffer.h to documentation There are already some comments at dvb_ringbuffer.h that are ready for DocBook, although not properly formatted. Convert them, fix some issues and add this file to the device-drivers DocBook. While here, put multi-line comments on the right format. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit e08bb6f79fa0b9bf94ea44a306d1528172d788af Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 07:37:28 2015 -0300 [media] DocBook: add dvb_math.h to documentation There are already some comments at dvb_math.h that are ready for DocBook, although not properly formatted. Convert them, fix some issues and add this file to the device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 4f1c1868e8d4e493d66b8e11eebbc95abdbaf444 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 07:19:20 2015 -0300 [media] DocBook: add dvb_frontend.h to documentation There are already some comments at dvb_frontend.h that are ready for DocBook, although not properly formatted. Convert them, and add this file to the device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit f47f966fbe0aaff4ebbdb83d95acdfa5d3c20477 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sun Jul 19 22:53:52 2015 +0530 cxl: Remove use of macro DEFINE_PCI_DEVICE_TABLE Macro DEFINE_PCI_DEVICE_TABLE is deprecated. So, here use struct pci_device_id instead of DEFINE_PCI_DEVICE_TABLE with the goal of getting rid of this macro completely. The Coccinelle semantic patch that performs this transformation is as follows: @@ identifier a; declarer name DEFINE_PCI_DEVICE_TABLE; initializer i; @@ - DEFINE_PCI_DEVICE_TABLE(a) + const struct pci_device_id a[] = i; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5d53be7d8c7ccf8eec1ce66c6b3573c01d16b755 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Sat Aug 22 09:33:55 2015 +1000 powerpc/powernv: Fix mis-merge of OPAL support for LEDS driver When I merged the OPAL support for the powernv LEDS driver I missed a hunk. This is slightly modified from the original patch, as the original added code to opal-api.h which is not in the skiboot version, which is discouraged. Instead those values are moved into the driver, which is the only place they are used. Fixes: 8a8d91817aec ("powerpc/powernv: Add OPAL interfaces for accessing and modifying system LED states") Reviewed-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fbefb1a87c7e6e24df6ca5b42b42985e2680c2ea Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 07:09:29 2015 -0300 [media] DocBook: add dvb_ca_en50221.h to documentation There are already some tags at dvb_ca_en50221.h, but using a different format. Convert them, fix a few entries and add to the device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 1d8955b2c3fa476a1222b020349937c93a8e4762 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:59:26 2015 -0300 [media] v4l2-subdev: add remaining argument descriptions Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'ioctl' Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'compat_ioctl32' Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'subscribe_event' Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'unsubscribe_event' Warning(.//include/media/v4l2-subdev.h:273): No description found for parameter 's_stream' Warning(.//include/media/v4l2-subdev.h:407): No description found for parameter 's_stream' Warning(.//include/media/v4l2-subdev.h:623): No description found for parameter 'link_validate' Warning(.//include/media/v4l2-subdev.h:623): No description found for parameter 'set_frame_desc' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit e44cc20a1d0952835e2fc01706b609ee8a3d9d92 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:34:06 2015 -0300 [media] v4l2_subdev: describe ioctl parms at the remaining structs Fixes the following warnings: Warning(.//include/media/v4l2-subdev.h:445): No description found for parameter 'g_sliced_vbi_cap' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_mbus_code' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_frame_size' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_frame_interval' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'get_fmt' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'set_fmt' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'get_selection' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'set_selection' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'get_edid' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'set_edid' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'dv_timings_cap' Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_dv_timings' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 914728ab609f7160a1b6d2a3be1edd8f6b2cf88e Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:18:13 2015 -0300 [media] v4l2_subdev: describe ioctl parms at v4l2_subdev_video_ops Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_std' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_std' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'querystd' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'cropcap' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_crop' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_crop' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_parm' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_parm' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_frame_interval' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_frame_interval' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_dv_timings' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_dv_timings' Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'query_dv_timings' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit b84aeb03a886beef39f80e30b76d30a833dd8161 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:12:35 2015 -0300 [media] v4l2-subdev: reorder the v4l2_subdev_video_ops comments The comments for struct v4l2_subdev_video_ops are out of the order as the parameter would appear at struct. This is not a problem for DocBook, but humans find harder to mentally reorder ;) So, put them at the right order. That makes easier to check what's missing, and to put the comments in the right place. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 91963aae9a65286eea30ca810027ddc09b26e779 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:07:29 2015 -0300 [media] v4l2-subdev: Add description for radio ioctl handlers Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 's_radio' Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 's_frequency' Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 'enum_freq_bands' Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 'g_tuner' Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 'g_modulator' Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 's_modulator' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 783001adf99b432a31acb2a4c198da8846d8dcc3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 06:00:22 2015 -0300 [media] v4l2-subdev: Add description for core ioctl handlers Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'queryctrl' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'g_ctrl' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 's_ctrl' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'g_ext_ctrls' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 's_ext_ctrls' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'try_ext_ctrls' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'querymenu' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'g_register' Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 's_register' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit a3b3a9db5d26bef1e62054c95c3d7701de5110d5 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 22 12:24:13 2015 +0300 ALSA: hdsp: silence a sprinft() overflow warning card->shortname is a 32 char string so the sprintf() can theoretically overflow. snd_rawmidi_new() can accept strings up to 64 bytes long. I have made the temporay buf[] array 40 bytes long and changed the sprintf() to snprintf(). Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c63517c2e3810071359af926f621c1f784388c3f Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Wed May 27 09:56:57 2015 +1000 KVM: PPC: Book3S: correct width in XER handling In 64 bit kernels, the Fixed Point Exception Register (XER) is a 64 bit field (e.g. in kvm_regs and kvm_vcpu_arch) and in most places it is accessed as such. This patch corrects places where it is accessed as a 32 bit field by a 64 bit kernel. In some cases this is via a 32 bit load or store instruction which, depending on endianness, will cause either the lower or upper 32 bits to be missed. In another case it is cast as a u32, causing the upper 32 bits to be cleared. This patch corrects those places by extending the access methods to 64 bits. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Reviewed-by: Laurent Vivier <lvivier@xxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxx> Tested-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 563a1e93afac4d2c135072461fbab418b9dff43f Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Thu Jul 16 17:11:14 2015 +1000 KVM: PPC: Book3S HV: Fix preempted vcore stolen time calculation Whenever a vcore state is VCORE_PREEMPT we need to be counting stolen time for it. This currently isn't the case when we have a vcore that no longer has any runnable threads in it but still has a runner task, so we do an explicit call to kvmppc_core_start_stolen() in that case. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 402813fe39db66e8f3be2a1b5b62dd664e33f6b8 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Thu Jul 16 17:11:13 2015 +1000 KVM: PPC: Book3S HV: Fix preempted vcore list locking When a vcore gets preempted, we put it on the preempted vcore list for the current CPU. The runner task then calls schedule() and comes back some time later and takes itself off the list. We need to be careful to lock the list that it was put onto, which may not be the list for the current CPU since the runner task may have moved to another CPU. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit cdeee51842b55acb3e699a4083fa97e82384e456 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Jun 24 21:18:07 2015 +1000 KVM: PPC: Book3S HV: Implement H_CLEAR_REF and H_CLEAR_MOD This adds implementations for the H_CLEAR_REF (test and clear reference bit) and H_CLEAR_MOD (test and clear changed bit) hypercalls. When clearing the reference or change bit in the guest view of the HPTE, we also have to clear it in the real HPTE so that we can detect future references or changes. When we do so, we transfer the R or C bit value to the rmap entry for the underlying host page so that kvm_age_hva_hv(), kvm_test_age_hva_hv() and kvmppc_hv_get_dirty_log() know that the page has been referenced and/or changed. These hypercalls are not used by Linux guests. These implementations have been tested using a FreeBSD guest. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 08fe1e7bd216339501c4eb0d0df0f413d715327a Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Jun 24 21:18:06 2015 +1000 KVM: PPC: Book3S HV: Fix bug in dirty page tracking This fixes a bug in the tracking of pages that get modified by the guest. If the guest creates a large-page HPTE, writes to memory somewhere within the large page, and then removes the HPTE, we only record the modified state for the first normal page within the large page, when in fact the guest might have modified some other normal page within the large page. To fix this we use some unused bits in the rmap entry to record the order (log base 2) of the size of the page that was modified, when removing an HPTE. Then in kvm_test_clear_dirty_npages() we use that order to return the correct number of modified pages. The same thing could in principle happen when removing a HPTE at the host's request, i.e. when paging out a page, except that we never page out large pages, and the guest can only create large-page HPTEs if the guest RAM is backed by large pages. However, we also fix this case for the sake of future-proofing. The reference bit is also subject to the same loss of information. We don't make the same fix here for the reference bit because there isn't an interface for userspace to find out which pages the guest has referenced, whereas there is one for userspace to find out which pages the guest has modified. Because of this loss of information, the kvm_age_hva_hv() and kvm_test_age_hva_hv() functions might incorrectly say that a page has not been referenced when it has, but that doesn't matter greatly because we never page or swap out large pages. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 1e5bf454f58731e360e504253e85bae7aaa2d298 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Jun 24 21:18:05 2015 +1000 KVM: PPC: Book3S HV: Fix race in reading change bit when removing HPTE The reference (R) and change (C) bits in a HPT entry can be set by hardware at any time up until the HPTE is invalidated and the TLB invalidation sequence has completed. This means that when removing a HPTE, we need to read the HPTE after the invalidation sequence has completed in order to obtain reliable values of R and C. The code in kvmppc_do_h_remove() used to do this. However, commit 6f22bd3265fb ("KVM: PPC: Book3S HV: Make HTAB code LE host aware") removed the read after invalidation as a side effect of other changes. This restores the read of the HPTE after invalidation. The user-visible effect of this bug would be that when migrating a guest, there is a small probability that a page modified by the guest and then unmapped by the guest might not get re-transmitted and thus the destination might end up with a stale copy of the page. Fixes: 6f22bd3265fb Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b4deba5c41e9f6d3239606c9e060853d9decfee1 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Thu Jul 2 20:38:16 2015 +1000 KVM: PPC: Book3S HV: Implement dynamic micro-threading on POWER8 This builds on the ability to run more than one vcore on a physical core by using the micro-threading (split-core) modes of the POWER8 chip. Previously, only vcores from the same VM could be run together, and (on POWER8) only if they had just one thread per core. With the ability to split the core on guest entry and unsplit it on guest exit, we can run up to 8 vcpu threads from up to 4 different VMs, and we can run multiple vcores with 2 or 4 vcpus per vcore. Dynamic micro-threading is only available if the static configuration of the cores is whole-core mode (unsplit), and only on POWER8. To manage this, we introduce a new kvm_split_mode struct which is shared across all of the subcores in the core, with a pointer in the paca on each thread. In addition we extend the core_info struct to have information on each subcore. When deciding whether to add a vcore to the set already on the core, we now have two possibilities: (a) piggyback the vcore onto an existing subcore, or (b) start a new subcore. Currently, when any vcpu needs to exit the guest and switch to host virtual mode, we interrupt all the threads in all subcores and switch the core back to whole-core mode. It may be possible in future to allow some of the subcores to keep executing in the guest while subcore 0 switches to the host, but that is not implemented in this patch. This adds a module parameter called dynamic_mt_modes which controls which micro-threading (split-core) modes the code will consider, as a bitmap. In other words, if it is 0, no micro-threading mode is considered; if it is 2, only 2-way micro-threading is considered; if it is 4, only 4-way, and if it is 6, both 2-way and 4-way micro-threading mode will be considered. The default is 6. With this, we now have secondary threads which are the primary thread for their subcore and therefore need to do the MMU switch. These threads will need to be started even if they have no vcpu to run, so we use the vcore pointer in the PACA rather than the vcpu pointer to trigger them. It is now possible for thread 0 to find that an exit has been requested before it gets to switch the subcore state to the guest. In that case we haven't added the guest's timebase offset to the timebase, so we need to be careful not to subtract the offset in the guest exit path. In fact we just skip the whole path that switches back to host context, since we haven't switched to the guest context. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit ec257165082616841a354dd915801ed43e3553be Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Jun 24 21:18:03 2015 +1000 KVM: PPC: Book3S HV: Make use of unused threads when running guests When running a virtual core of a guest that is configured with fewer threads per core than the physical cores have, the extra physical threads are currently unused. This makes it possible to use them to run one or more other virtual cores from the same guest when certain conditions are met. This applies on POWER7, and on POWER8 to guests with one thread per virtual core. (It doesn't apply to POWER8 guests with multiple threads per vcore because they require a 1-1 virtual to physical thread mapping in order to be able to use msgsndp and the TIR.) The idea is that we maintain a list of preempted vcores for each physical cpu (i.e. each core, since the host runs single-threaded). Then, when a vcore is about to run, it checks to see if there are any vcores on the list for its physical cpu that could be piggybacked onto this vcore's execution. If so, those additional vcores are put into state VCORE_PIGGYBACK and their runnable VCPU threads are started as well as the original vcore, which is called the master vcore. After the vcores have exited the guest, the extra ones are put back onto the preempted list if any of their VCPUs are still runnable and not idle. This means that vcpu->arch.ptid is no longer necessarily the same as the physical thread that the vcpu runs on. In order to make it easier for code that wants to send an IPI to know which CPU to target, we now store that in a new field in struct vcpu_arch, called thread_cpu. Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Tested-by: Laurent Vivier <lvivier@xxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 845ac985cf8e3d52939dbe2446d91e47e91a07b6 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Mon May 18 15:44:27 2015 +0300 KVM: PPC: add missing pt_regs initialization On this switch branch the regs initialization doesn't happen so add it. This was found with the help of a static code analysis tool. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 5358a96341a7fba23cbf0eaf01ce1ab4d738fc90 Author: Thomas Huth <thuth@xxxxxxxxxx> Date: Fri May 22 09:25:02 2015 +0200 KVM: PPC: Fix warnings from sparse When compiling the KVM code for POWER with "make C=1", sparse complains about functions missing proper prototypes and a 64-bit constant missing the ULL prefix. Let's fix this by making the functions static or by including the proper header with the prototypes, and by appending a ULL prefix to the constant PPC_MPPE_ADDRESS_MASK. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 129fd4233b62159d50c35fb6489cb22ee9c27415 Author: Thomas Huth <thuth@xxxxxxxxxx> Date: Fri May 22 11:41:01 2015 +0200 KVM: PPC: Remove PPC970 from KVM_BOOK3S_64_HV text in Kconfig Since the PPC970 support has been removed from the kvm-hv kernel module recently, we should also reflect this change in the help text of the corresponding Kconfig option. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f5ffe330f5e63325000f58ed982a159c512f6db3 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Mon May 25 11:48:39 2015 +0300 KVM: PPC: fix suspicious use of conditional operator This was signaled by a static code analysis tool. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Reviewed-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit f0a97af83f6287357dcc100c859ec0066f164f32 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Aug 20 22:03:21 2015 -0700 x86/traps: Weaken context tracking entry assertions We were asserting that we were all the way in CONTEXT_KERNEL when exception handlers were called. While having this be true is, I think, a nice goal (or maybe a variant in which we assert that we're in CONTEXT_KERNEL or some new IRQ context), we're not quite there. In particular, if an IRQ interrupts the SYSCALL prologue and the IRQ handler in turn causes an exception, the exception entry will be called in RCU IRQ mode but with CONTEXT_USER. This is okay (nothing goes wrong), but until we fix up the SYSCALL prologue, we need to avoid warning. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/c81faf3916346c0e04346c441392974f49cd7184.1440133286.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5c6629847cf6641984b1808707b43772db4e4403 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:40:29 2015 -0300 [media] v4l2-subdev: convert documentation to the right format struct v4l2_subdev_core_ops has some kernel-doc-nano documentation using a wrong format, with affects the number of stuff reported at the DocBook device-drivers.xml. Properly mark the such comment blocks using the right notation. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 85e1cd6e769dfc84995270d0a4838021fcb8602d Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Aug 22 01:10:47 2015 -0700 hrtimer: Handle failure of tick_init_highres() gracefully Commit 75e3b37d0598 ("hrtimer: Drop return code of hrtimer_switch_to_hres()") drops the return code of hrtimer_switch_to_hres(). While doing so, it also drops the return statement itself on failure. This may cause a system hang. Seen when running arm:multi_v7_defconfig in qemu with devicetree file vexpress-v2p-ca9. Fixes: 75e3b37d0598 ("hrtimer: Drop return code of hrtimer_switch_to_hres()") Cc: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440231047-16256-1-git-send-email-linux@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 62c0d016dab0ffd3cd28f10236186ef341ddece8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:34:40 2015 -0300 [media] Docbook: Fix comments at v4l2-mem2mem.h Warning(.//include/media/v4l2-mem2mem.h:50): No description found for parameter 'lock' Warning(.//include/media/v4l2-mem2mem.h:50): No description found for parameter 'unlock' Warning(.//include/media/v4l2-mem2mem.h:167): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:177): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:188): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:197): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:206): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:215): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:226): No description found for parameter 'm2m_ctx' Warning(.//include/media/v4l2-mem2mem.h:235): No description found for parameter 'm2m_ctx' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 62ba6b22f4bb99dbf53c5a0ac43b24c00c0fc86a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:28:44 2015 -0300 [media] Docbook: fix comments at v4l2-flash-led-class.h Warning(.//include/media/v4l2-flash-led-class.h:51): bad line: unique in the system Warning(.//include/media/v4l2-flash-led-class.h:56): bad line: definitions are available in the header file Warning(.//include/media/v4l2-flash-led-class.h:57): bad line: <linux/led-class-flash.h> Warning(.//include/media/v4l2-flash-led-class.h:122): No description found for parameter 'ops' Warning(.//include/media/v4l2-flash-led-class.h:122): Excess function parameter 'flash_ops' description in 'v4l2_flash_init' Warning(.//include/media/v4l2-flash-led-class.h:130): No description found for parameter 'v4l2_flash' Warning(.//include/media/v4l2-flash-led-class.h:130): Excess function parameter 'flash' description in 'v4l2_flash_release' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit fa810845efc4d3c0f159a3e7a35f009e0249c857 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:25:45 2015 -0300 [media] Docbook: Fix s_rx_carrier_range parameter description Warning(.//include/media/rc-core.h:178): No description found for parameter 's_rx_carrier_range' Warning(.//include/media/rc-core.h:178): Excess struct/union/enum/typedef member 's_rx_carrier' description in 'rc_dev' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit f8b27377076e4405a25bdb40ee32ef7a0b261573 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:16:24 2015 -0300 [media] Docbook: Fix comments at v4l2-async.h Warning(.//include/media/v4l2-async.h:62): No description found for parameter 'match_type' Warning(.//include/media/v4l2-async.h:62): Excess struct/union/enum/typedef member 'bus_type' description in 'v4l2_async_subdev' Warning(.//include/media/v4l2-async.h:76): cannot understand function prototype: 'struct v4l2_async_notifier ' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 5240f4e68d4209588194ea1db60f7c822e2a1c6f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 05:02:21 2015 -0300 [media] DocBook/media/Makefile: Avoid make htmldocs to fail If make is called twice like that: make V=1 DOCBOOKS=device-drivers.xml htmldocs Make will fail with: make -f ./scripts/Makefile.build obj=scripts/basic rm -f .tmp_quiet_recordmcount make -f ./scripts/Makefile.build obj=scripts build_docproc make -f ./scripts/Makefile.build obj=Documentation/DocBook htmldocs rm -rf Documentation/DocBook/index.html; echo '<h1>Linux Kernel HTML Documentation</h1>' >> Documentation/DocBook/index.html && echo '<h2>Kernel Version: 4.2.0-rc2</h2>' >> Documentation/DocBook/index.html && cat Documentation/DocBook/device-drivers.html >> Documentation/DocBook/index.html cp ./Documentation/DocBook//bayer.png ./Documentation/DocBook//constraints.png ./Documentation/DocBook//crop.gif ./Documentation/DocBook//dvbstb.png ./Documentation/DocBook//fieldseq_bt.gif ./Documentation/DocBook//fieldseq_tb.gif ./Documentation/DocBook//nv12mt.gif ./Documentation/DocBook//nv12mt_example.gif ./Documentation/DocBook//pipeline.png ./Documentation/DocBook//selection.png ./Documentation/DocBook//vbi_525.gif ./Documentation/DocBook//vbi_625.gif ./Documentation/DocBook//vbi_hsync.gif ./Documentation/DocBook/media/*.svg ./Documentation/DocBook/media/v4l/*.svg ./Documentation/DocBook//media_api cp: target './Documentation/DocBook//media_api' is not a directory Documentation/DocBook/Makefile:53: recipe for target 'htmldocs' failed Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit ec0255cad2dace5be54cc52010bb07fdb5628e1e Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Aug 22 04:45:03 2015 -0300 [media] Docbook: Fix description of struct media_devnode Warning(.//include/media/media-devnode.h:80): No description found for parameter 'fops' Warning(.//include/media/media-devnode.h:80): No description found for parameter 'dev' Warning(.//include/media/media-devnode.h:80): No description found for parameter 'cdev' Warning(.//include/media/media-devnode.h:80): No description found for parameter 'release' Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit dc2c8bd3c9a44ed38d9af6c7243fdddc42ec391a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Aug 21 14:17:13 2015 -0300 [media] DocBook/device-drivers: Add drivers/media core stuff There are lots of docbook marks at the media subsystem, but those aren't used. Add the core headers/code in order to start generating docs. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 88c25dcb1185f2c7041550976430e27fa9d8dcca Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Aug 21 13:37:54 2015 -0300 [media] DocBook: fix an unbalanced <para> tag The </para> got lost on some change at the DVB docbook, making the tag unbalanced and causing a warning. Fix it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> commit 0e53909a1cf0153736fb52c216558a65530d8c40 Merge: 82819ff 1c0bd0e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Aug 22 08:45:46 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Fix segfault using 'perf script --show-mmap-events', affects only current perf/core. (Adrian Hunter) - /proc/kcore requires CAP_SYS_RAWIO message too noisy, make it debug only. (Adrian Hunter) - Fix Intel PT timestamp handling. (Adrian Hunter) - Add Intel BTS support, with a call-graph script to show it and PT in use in a GUI using 'perf script' python scripting with postgresql and Qt. (Adrian Hunter) - Add checks for returned EVENT_ERROR type in libtraceevent, fixing a bug that surfaced on arm64 systems. (Dean Nelson) - Fallback to using kallsyms when libdw fails to handle a vmlinux file, that can happen, for instance, when perf is statically linked and then libdw fails to load libebl_{arch}.so. (Wang Nan) Infrastructure changes: - Initialize reference counts in map__clone(). (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dac2ddefe62841efc0b6cdcb0bbf3e3594aa01bf Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:16:09 2015 +0800 f2fs: lookup neighbor extent nodes for merging later In __lookup_extent_tree_ret we will not try to find neighbor nodes if we find the target node, in this condition, we will lost the chance to merge the new mapping with exist extent node later. So our extent cache of inode will be fragmented after overwrite exist file, we can see the number of extent node increases intensively in following test case: dd if=/dev/zero of=/mnt/f2fs/4m bs=4K count=1024 Extent Cache: - Hit Count: L1-1:0 L1-2:0 L2:0 - Hit Ratio: 0% (0 / 3072) - Inner Struct Count: tree: 1, node: 1 dd if=/dev/zero of=/mnt/f2fs/4m bs=4K count=1024 conv=notrunc Extent Cache: - Hit Count: L1-1:2048 L1-2:0 L2:0 - Hit Ratio: 33% (2048 / 6144) - Inner Struct Count: tree: 1, node: 961 This patch fixes to lookup neighbors of target node for further merging. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ef05e221995057a8588cad675992ca2cb47e9891 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:15:09 2015 +0800 f2fs: split __insert_extent_tree_ret for readability This patch splits __insert_extent_tree_ret into __try_merge_extent_node & __insert_extent_tree for code readability. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a6f7834594a284316b38d0885b2ee1ab47899dbc Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:14:15 2015 +0800 f2fs: kill dead code in __insert_extent_tree After commit 0f825ee6e873 ("f2fs: add new interfaces for extent tree"), f2fs_init_extent_tree becomes the only caller of __insert_extent_tree, and in f2fs_init_extent_tree, we will only insert extent node in an empty tree, so __try_{back,front}_merge in __insert_extent_tree will never be called. This patch removes these dead codes, besides, rename __insert_extent_tree to __init_extent_tree for readability. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 029e13cc3221be4bc46909225142277fee52c37e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:13:25 2015 +0800 f2fs: adjust showing of extent cache stat This patch alters to replace total hit stat with rbtree hit stat, and then adjust showing of extent cache stat: Hit Count: L1-1: for largest node hit count; L1-2: for last cached node hit count; L2: for extent node hit after lookuping in rbtree. Hit Ratio: ratio (hit count / total lookup count) Inner Struct Count: tree count, node count. Before: Extent Hit Ratio: 0 / 2 Extent Tree Count: 3 Extent Node Count: 2 Patched: Exten Cacache: - Hit Count: L1-1:4871 L1-2:2074 L2:208 - Hit Ratio: 1% (7153 / 550751) - Inner Struct Count: tree: 26560, node: 11824 Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 91c481fff92c705dd382f1f53c01e6b6b88507d0 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:12:20 2015 +0800 f2fs: add largest/cached stat in extent cache This patch adds to stat the hit count of largest/cached node for showing in debugfs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit e2b4e2bc8865e03eecd49caa9713a2402a96bba9 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:11:19 2015 +0800 f2fs: fix incorrect mapping for bmap The test step is like below: 1. touch file 2. truncate -s $((1024*1024)) file 3. fallocate -o 0 -l $((1024*1024)) file 4. fibmap.f2fs file Our result of fibmap.f2fs showed below is not correct: file_pos start_blk end_blk blks 0 -937166132 -937166132 1 4096 -937166132 -937166132 1 8192 -937166132 -937166132 1 12288 -937166132 -937166132 1 16384 -937166132 -937166132 1 20480 -937166132 -937166132 1 ... 1040384 -937166132 -937166132 1 1044480 -937166132 -937166132 1 This is because f2fs_map_blocks will return with no error when meeting a hole or preallocated block, the caller __get_data_block will map the uninitialized variable value to bh->b_blocknr. Unfortunately generic_block_bmap will neither check the return value of get_data() nor check mapping info of buffer_head, result in returning the random block address. After fixing the issue, our result shows correctly: file_pos start_blk end_blk blks 0 0 0 256 Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c031f6a904975d5fa84c541333cce444a21ca713 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 19 19:02:02 2015 +0800 f2fs: add annotation for space utilization of regular/inline dentry Add annotation to let us know more clearly about space utilization information of regular dentry and inline dentry. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f8b703da2c23f9bfda7299bd14e4f7201c2be3c8 Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Tue Aug 18 17:13:13 2015 +0800 f2fs: fix to update cached_en of extent tree properly In f2fs_lookup_extent_tree, et->cached_en was read and updated with only read lock held, it could cause __lookup_extent_tree within return entirely wrong extent_node, if other thread update et->cached_en just before __lookup_extent_tree return. However, there are two things about this patch that need to be noticed: 1. It does no good to arrange the order of concurrent read/write, the result would still be random in such case. 2. It's built on this assumption: the mix up of reads and writes on a single pointer would not make the pointer partially wrong at any time. Please let me know if I'm wrong, thx. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 217940d4f0c4ec4f0852f7046fa419d0edf65c17 Author: Junesung Lee <junesoung412@xxxxxxxxx> Date: Tue Aug 18 22:42:15 2015 +0900 f2fs: fix typo Fix typo. Signed-off-by: Junesung Lee <junesoung412@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d1d97b76c4af41c8e836e73742c91cbf97d7483c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:16 2015 +0200 mtd: dataflash: Export OF module alias information The SPI core currently reports the MODALIAS uevent as "spi:<modalias>" even for SPI devices that were registered by OF. That means the OF module alias exported by MODULE_OF_TABLE(of,...) is currently not used and user-space has no way to autoload this module. But it is still a good practice to add the OF module alias information into the kernel module even when it currently is unused so once the SPI core is changed to report a correct OF modalias uevent, module autoloading will be working for this driver. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1a3232d2f61d2853a848464b7bde2d54960c58bb Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Tue Aug 18 18:12:20 2015 +0800 ASoC: topology: Add support for TLV bytes controls Allow vendor drivers to define bespoke bytes ext handlers and IDs for TLV bytes controls. And the topology core will bind these handlers by matching IDs defined by the vendor driver and user space topology data file. And TLV callback binding is moved to soc_tplg_kcontrol_bind_io(). This function process all handler binding now. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2b5cdb9156f76162d5302e2847f84a79de8a3ad1 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Tue Aug 18 18:12:01 2015 +0800 ASoC: topology: Reduce arguments of soc_tplg_kcontrol_bind_io() Add the pointer of struct soc_tplg as one argument, so no need to pass standard/vendor specific kcontrol handlers and their count. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 88a17d8fb7c4a156ec13e6668b46dbbedf670ff7 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Tue Aug 18 18:11:51 2015 +0800 ASoC: topology: Bind vendor specific kcontrol handlers before standard ones Vendor specific handlers should override standard handlers. So we can handle things in the order from specific to generic. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d033de5ceee8333e4fee3d59a956244d3736102a Merge: 1a8e7fa f7644cb Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Aug 21 15:26:37 2015 -0700 Merge tag 'v4.2-rc6' into asoc-topology Linux 4.2-rc6 commit a887adadb7b9ef9eb4ee48e4ad575aefcfd1db14 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Aug 21 18:07:38 2015 -0400 drm/amdgpu: Don't link train DisplayPort on HPD until we get the dpcd This is a port of: DRM - radeon: Don't link train DisplayPort on HPD until we get the dpcd to amdgpu. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 924f92bf12bfbef3662619e3ed24a1cea7c1cbcd Author: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Date: Fri Aug 21 14:16:12 2015 -0400 DRM - radeon: Don't link train DisplayPort on HPD until we get the dpcd Most of the time this isn't an issue since hotplugging an adaptor will trigger a crtc mode change which in turn, causes the driver to probe every DisplayPort for a dpcd. However, in cases where hotplugging doesn't cause a mode change (specifically when one unplugs a monitor from a DisplayPort connector, then plugs that same monitor back in seconds later on the same port without any other monitors connected), we never probe for the dpcd before starting the initial link training. What happens from there looks like this: - GPU has only one monitor connected. It's connected via DisplayPort, and does not go through an adaptor of any sort. - User unplugs DisplayPort connector from GPU. - Change in HPD is detected by the driver, we probe every DisplayPort for a possible connection. - Probe the port the user originally had the monitor connected on for it's dpcd. This fails, and we clear the first (and only the first) byte of the dpcd to indicate we no longer have a dpcd for this port. - User plugs the previously disconnected monitor back into the same DisplayPort. - radeon_connector_hotplug() is called before everyone else, and tries to handle the link training. Since only the first byte of the dpcd is zeroed, the driver is able to complete link training but does so against the wrong dpcd, causing it to initialize the link with the wrong settings. - Display stays blank (usually), dpcd is probed after the initial link training, and the driver prints no obvious messages to the log. In theory, since only one byte of the dpcd is chopped off (specifically, the byte that contains the revision information for DisplayPort), it's not entirely impossible that this bug may not show on certain monitors. For instance, the only reason this bug was visible on my ASUS PB238 monitor was due to the fact that this monitor using the enhanced framing symbol sequence, the flag for which is ignored if the radeon driver thinks that the DisplayPort version is below 1.1. Signed-off-by: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Reviewed-by: Jerome Glisse <jglisse@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 116984a316c3a3200f8a7912110cc4a6d6c0989e Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Aug 21 21:34:08 2015 +0200 netfilter: xt_TEE: use IS_ENABLED(CONFIG_NF_DUP_IPV6) Instead of IS_ENABLED(CONFIG_IPV6), otherwise we hit: et/built-in.o: In function `tee_tg6': >> xt_TEE.c:(.text+0x6cd8c): undefined reference to `nf_dup_ipv6' when: CONFIG_IPV6=y CONFIG_NF_DUP_IPV4=y # CONFIG_NF_DUP_IPV6 is not set CONFIG_NETFILTER_XT_TARGET_TEE=y Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 59e26423e00263b6b06b39d219147f22610ce5d6 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Aug 21 21:28:10 2015 +0200 netfilter: nf_dup: fix sparse warnings >> net/ipv4/netfilter/nft_dup_ipv4.c:29:37: sparse: incorrect type in initializer (different base types) net/ipv4/netfilter/nft_dup_ipv4.c:29:37: expected restricted __be32 [user type] s_addr net/ipv4/netfilter/nft_dup_ipv4.c:29:37: got unsigned int [unsigned] <noident> >> net/ipv6/netfilter/nf_dup_ipv6.c:48:23: sparse: incorrect type in assignment (different base types) net/ipv6/netfilter/nf_dup_ipv6.c:48:23: expected restricted __be32 [addressable] [assigned] [usertype] flowlabel net/ipv6/netfilter/nf_dup_ipv6.c:48:23: got int Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit dc25b25897289bad4907f30151ffe5baf75ff369 Merge: 1a69205 0bad909 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 21 11:44:04 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/usb/qmi_wwan.c Overlapping additions of new device IDs to qmi_wwan.c Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a69205c471221a7f9101df164642611e37c52e4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 21 11:38:41 2015 -0700 enic: Fix build failure with SRIOV disabled. err_out_vnic_unregister is used regardless of whether SRIOV is enabled or not. Reported-by: Jesse Brandeburg <jesse.brangeburg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5f58f2d700ef484fc2fbaa9c624c6076109f989 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 21 10:26:40 2015 +0200 regmap: Add missing comments about struct regmap_bus There are some fields of this struct undocumented or old. This patch updates the missing comments. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f09d4f26f6192ec9b060047cc7126e01980bb36c Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Aug 21 21:36:21 2015 +0530 ALSA: hdac: Remove the usage of key for host stream hdac_ext_stream assign doesn't require key mapping as in case of hdac_stream. So for host stream, the key to device mapping needs to be removed. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ee8bc4df1b5a9df1ede13975c40dec7009214595 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Aug 21 21:36:20 2015 +0530 ALSA: hdac: Add support to enable SPIB for hdac ext stream The drivers need to set the spib and maxfifios values, so add these new APIs snd_hdac_ext_stream_set_spib() and snd_hdac_ext_stream_set_spbmaxfifo() APIs For these APIs we also need to have spib and fifos pointer, so add these to hdac_ext_stream and initialize them at stream init Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c5b0c09b8fa3e02d9cbfd9445fb4114becdd3390 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Aug 21 21:36:18 2015 +0530 ALSA: hdac: Add snd_hdac_ext_bus_link_power_down_all() New HDA controllers like Skylake sport multiple HDA links, so we need a helper to turn off all the links in one go while suspending the device so add snd_hdac_ext_bus_link_power_down_all() API Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a7e3dd85cab1c6990cafd0bedb0b8809f15149b0 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Aug 21 21:36:17 2015 +0530 ALSA: hdac: Fix to read the correct offset of spcap/link register SPCAP and Mutilink register offset were incorrect as offset needs to be based on capability offset. So correct the offset for read/write of spcap/link register. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9bc07dfbcde5b6f3aefa06b902b47eef9769d260 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Aug 21 09:48:33 2015 +0200 ALSA: ac97: Switch to dev_pm_ops Convert the ac97_bus from legacy suspend/resume callbacks to dev_pm_ops. Since there isn't anything special to do at the bus level the bus driver does not have to implement any callbacks. The device driver core will automatically pick up and execute the device's PM ops. As there is only a single AC'97 driver implementing suspend and resume, update both the core and driver at the same time to avoid unnecessary code churn. While we are at it also drop the ifdefs around the suspend/resume functions to increase compile test coverage. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 00833d70ca29a9d60c694b9475a9d3327ed9461e Merge: fa4f18b f6b28e4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Aug 21 19:26:48 2015 +0200 Merge branch 'for-linus' into for-next commit c4fe57f76269dbb2af135071513f260ca40229a3 Author: Michael van der Westhuizen <michael@xxxxxxxxxxxxxxxx> Date: Tue Aug 18 22:21:53 2015 +0200 spi: dw: Allow interface drivers to limit data I/O to word sizes The commit dd11444327ce ("spi: dw-spi: Convert 16bit accesses to 32bit accesses") changed all 16bit accesses in the DW_apb_ssi driver to 32bit. This, unfortunately, breaks data register access on picoXcell, where the DW IP needs data register accesses to be word accesses (all other accesses appear to be OK). This change introduces a new master variable to allow interface drivers to specify that 16bit data transfer I/O is required. This change also introduces the ability to set this variable via device tree bindings in the MMIO interface driver. Both the core and the MMIO interface driver default to the current 32bit behaviour. Before this change, on a picoXcell pc3x3: spi_master spi32766: interrupt_transfer: fifo overrun/underrun m25p80 spi32766.0: error -5 reading 9f m25p80: probe of spi32766.0 failed with error -5 After this change: m25p80 spi32766.0: m25p40 (512 Kbytes) Fixes: dd11444327ce ("spi: dw-spi: Convert 16bit accesses to 32bit accesses") Signed-off-by: Michael van der Westhuizen <michael@xxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4b226fbde68b8bfb66452067523a677b8e6492fa Author: Michael van der Westhuizen <michael@xxxxxxxxxxxxxxxx> Date: Tue Aug 18 22:21:52 2015 +0200 dt: snps,dw-apb-ssi: Document new I/O data register width property This change documents a new property for the snps,dw-apb-ssi device, allowing an implementer to specify either four byte or two bytes access to the SPI controller data register. This supports a change that unbreaks this driver on picoXcell platforms. Signed-off-by: Michael van der Westhuizen <michael@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7dc9fbc342deb2e2658ebdecb5ffd7ff57945a66 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Aug 20 11:52:18 2015 -0700 spi: Fall back to master maximum speed if no slave speed specified If a slave appears with no maximum transfer speed specified fall back to using the maximum for the master instead. It's questionable if we should let slaves do this but let's be defensive. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f4be3c67ed5829462f53e225edd95029bb0793c4 Merge: 99650c2 17cdddf Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Aug 21 10:15:29 2015 -0700 Merge tag 'tegra-for-4.3-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt ARM: tegra: Devicetree changes for v4.3-rc1 Enables CPU frequency scaling on Jetson TK1 and enables the GK20A GPU on Venice2 and Jetson TK1. This also enables support for the PMU hardware found on Tegra124, which among other things, can be used for performance measurements. * tag 'tegra-for-4.3-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Add gpio-ranges property ARM: tegra: Fix AHB base address on Tegra20, Tegra30 and Tegra114 ARM: tegra: Add Tegra124 PMU support ARM: tegra: jetson-tk1: Add GK20A GPU DT node ARM: tegra: venice2: Add GK20A GPU DT node ARM: tegra: Add IOMMU node to GK20A ARM: tegra: Add CPU regulator to the Jetson TK1 device tree ARM: tegra: Add entries for cpufreq on Tegra124 ARM: tegra: Enable the DFLL on the Jetson TK1 ARM: tegra: Add the DFLL to Tegra124 device tree pinctrl: tegra: Only set the gpio range if needed clk: tegra: Add the DFLL as a possible parent of the cclk_g clock clk: tegra: Save/restore CCLKG_BURST_POLICY on suspend clk: tegra: Add Tegra124 DFLL clocksource platform driver clk: tegra: Add DFLL DVCO reset control for Tegra124 clk: tegra: Introduce ability for SoC-specific reset control callbacks clk: tegra: Add functions for parsing CVB tables clk: tegra: Add closed loop support for the DFLL clk: tegra: Add library for the DFLL clock source (open-loop mode) clk: tegra: Add binding for the Tegra124 DFLL clocksource Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3a9508b0221dfd290b95fb0ab199958fe078bbdf Author: Chris Mason <clm@xxxxxx> Date: Fri Aug 21 10:05:39 2015 -0700 btrfs: fix compile when block cgroups are not enabled bio->bi_css and bio->bi_ioc don't exist when block cgroups are not on. This adds an ifdef around them. It's not perfect, but our use of bi_ioc is being removed in the 4.3 merge window. The bi_css usage really should go into bio_clone, but I want to make sure that doesn't introduce problems for other bio_clone use cases. Signed-off-by: Chris Mason <clm@xxxxxx> commit 17cdddf0fb684f5456c1af3aa2c10aca3b68b8de Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Jul 14 10:29:56 2015 +0200 ARM: tegra: Add gpio-ranges property Specify how the GPIOs map to the pins in Tegra SoCs, so the dependency is explicit. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0d5ccb38d19574fecfa471205317d37221ec59a7 Author: Nicolas Chauvet <kwizart@xxxxxxxxx> Date: Sat Aug 8 15:58:12 2015 +0200 ARM: tegra: Fix AHB base address on Tegra20, Tegra30 and Tegra114 Current base address is wrong by 0x04 bytes for AHB bus device as shown in dmesg: tegra-ahb 6000c004.ahb: incorrect AHB base address in DT data - enabling workaround To correct old DTBs, commit ce7a10b0ff3d ("ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address") checks for the low bit of the base address and removes theses 0x04 bytes at runtime. This patch fixes the original DTS, so upstream version doesn't need the workaround of the base address. As both addresses are valid, this patch doesn't break compatibility. Tested on tegra20-paz00 (aka ac100). Signed-off-by: Nicolas Chauvet <kwizart@xxxxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 82fe42f5d7b01848a6fc2aee150a4050ca56b1e0 Author: Kyle Huey <me@xxxxxxxxxxxx> Date: Mon Jul 13 10:35:45 2015 -0700 ARM: tegra: Add Tegra124 PMU support This patch modifies the device tree for Tegra124 based devices to enable the Cortex A15 PMU. The interrupt numbers are taken from NVIDIA Tegra K1 TRM (DP-06905-001_v03p). This patch was tested on a Jetson TK1. Signed-off-by: Kyle Huey <khuey@xxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 21fa196fc0f4b79abb923042cb89651ca47b4b92 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Wed Jul 1 18:13:47 2015 +0900 ARM: tegra: jetson-tk1: Add GK20A GPU DT node Add the device-tree node for the GK20A GPU and leave it disabled. It is the responsibility of the bootloader to enable it if the VPR registers have been programmed such that the GPU can operate. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e34cc1b6b7115de2320c2acdb62c82ebeb502c01 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 1 18:13:46 2015 +0900 ARM: tegra: venice2: Add GK20A GPU DT node Add the device-tree node for the GK20A GPU and leave it disabled. It is the responsibility of the bootloader to enable it if the VPR registers have been programmed such that the GPU can operate. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> commit c96cd17708cfcffc9ccf2132fdcb360fa04f092f Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Wed Jul 1 18:13:45 2015 +0900 ARM: tegra: Add IOMMU node to GK20A Nouveau can make use of the IOMMU to make physical appear linear in the GPU address space. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ee9f106feafcf73dd56872718ec20ee1f787da1b Author: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Date: Wed May 13 17:58:50 2015 +0300 ARM: tegra: Add CPU regulator to the Jetson TK1 device tree Specify the CPU voltage regulator for the cpufreq driver. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0de088cc3463d451ca96439c723cc58932430820 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:49 2015 +0300 ARM: tegra: Add entries for cpufreq on Tegra124 The Tegra124 cpufreq driver relies on certain clocks being present in the /cpus/cpu@0 node. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9be1e477c31437907d0db4fa72d7c2920dfdeec8 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:45 2015 +0300 ARM: tegra: Enable the DFLL on the Jetson TK1 Add the board-specific properties of the DFLL for the Jetson TK1 board. On this board, the DFLL will take control of the sd0 regulator on the on-board AS3722 PMIC. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit bf9d026775796bec30895cab080baf37b70bc3b3 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:44 2015 +0300 ARM: tegra: Add the DFLL to Tegra124 device tree The DFLL clocksource is a separate IP block from the usual clock-and-reset controller, so it gets its own device tree node. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 233da3b1c620b10a70c019b2134e7b1276b57695 Merge: 7292ba6 79cf95c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 21 18:44:15 2015 +0200 Merge branch 'for-4.3/clk' into for-4.3/dt commit 7292ba64bd56d39c3b1fe4cbe8559e6c95858180 Merge: d770e55 9462510 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 21 18:44:05 2015 +0200 Merge branch 'for-4.3/pinctrl' into for-4.3/dt commit 6be4b0da4ecf1472cb4a064c752214dcb2ba4be2 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Aug 19 15:31:30 2015 -0300 ARM: imx: mach-imx6ul: Fix allmodconfig build We should call phy_register_fixup_for_uid() only when CONFIG_PHYLIB is built-in, otherwise we get the following link error when building allmodconfig: arch/arm/mach-imx/built-in.o: In function `imx6ul_init_machine': :(.init.text+0xa714): undefined reference to `phy_register_fixup_for_uid' This is the same approach done in mach-imx6q.c and mach-imx6sx.c. Reported-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9c9f7f675970ba1b888272f016157de21f69e7e2 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 21 10:26:43 2015 +0200 regmap: No multi_write support if bus->write does not exist There is no multi_write support available if we cannot use raw_write. This is the case if bus->write is not implemented. This patch adds a condition that we need bus and bus->write so that can_multi_write is true. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 67921a1a6660d32cc2770d05d656a1187b6d94d5 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 21 10:26:42 2015 +0200 regmap: Split use_single_rw internally into use_single_read/write use_single_rw currently reflects the capabilities of the connected device. The capabilities of the bus are currently missing for this variable. As there are read only and write only buses we need seperate values for use_single_rw to also reflect tha capabilities of the bus. This patch splits use_single_rw into use_single_read and use_single_write. The initialization is changed to check the configuration for use_single_rw and to check the capabilities of the used bus. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9c8f55798a9d716daed4de6d7038a21c3ca6e673 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 21 09:29:50 2015 -0700 Input: sentelic - silence some underflow warnings I have a static checker that complains when we check for an upper bound but don't have a corresponding check for a lower bound. With this code, the upper bound check seems not really required, so it is not a bug to leave the lower bound check out as well. But let's silence the warning by making these variables unsigned. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c594b7f21d7d02115e828db46fddbba1da7ed1b8 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 21 10:26:41 2015 +0200 regmap: Fix regmap_bulk_write for bus writes The regmap config does not prohibit val_bytes that are not powers of two. But the current code of regmap_bulk_write for use_single_rw does limit the possible val_bytes to 1, 2 and 4. This patch fixes the behaviour to allow bus writes with non-standard val_bytes sizes. Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 330349fae46f8400e86ef98ee05af4ba13466f49 Merge: efd16bd 5be9fc2 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Aug 21 09:10:50 2015 -0700 Merge tag 'mvebu-fixes-4.2-1' of git://git.infradead.org/linux-mvebu into next/fixes-non-critical mvebu fixes changes for v4.2 Fix legacy orion5x IRQ numbers broken since 3.18 * tag 'mvebu-fixes-4.2-1' of git://git.infradead.org/linux-mvebu: ARM: orion5x: fix legacy orion5x IRQ numbers Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d33288172e72c4729e8b9f2243fb40601afabc8f Author: Julian Anastasov <ja@xxxxxx> Date: Sun Jul 26 15:03:28 2015 +0300 ipvs: add more mcast parameters for the sync daemon - mcast_group: configure the multicast address, now IPv6 is supported too - mcast_port: configure the multicast port - mcast_ttl: configure the multicast TTL/HOP_LIMIT Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit e4ff67513096e6e196ca58043fce04d0f87babbe Author: Julian Anastasov <ja@xxxxxx> Date: Sun Jul 26 15:03:27 2015 +0300 ipvs: add sync_maxlen parameter for the sync daemon Allow setups with large MTU to send large sync packets by adding sync_maxlen parameter. The default value is now based on MTU but no more than 1500 for compatibility reasons. To avoid problems if MTU changes allow fragmentation by sending packets with DF=0. Problem reported by Dan Carpenter. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 99650c258a4bbe7e62754c734c3888f29b59f72a Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Thu Jul 30 18:13:55 2015 -0700 ARM: dts: zynq: Add devicetree entry for Xilinx Zynq reset controller. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e0b26cc997d57305b4097711e12e13992580ae34 Author: Julian Anastasov <ja@xxxxxx> Date: Sun Jul 26 14:57:34 2015 +0300 ipvs: call rtnl_lock early When the sync damon is started we need to hold rtnl lock while calling ip_mc_join_group. Currently, we have a wrong locking order because the correct one is rtnl_lock->__ip_vs_mutex. It is implied from the usage of __ip_vs_mutex in ip_vs_dst_event() which is called under rtnl lock during NETDEV_* notifications. Fix the problem by calling rtnl_lock early only for the start_sync_thread call. As a bonus this fixes the usage __dev_get_by_name which was not called under rtnl lock. This patch actually extends and depends on commit 54ff9ef36bdf ("ipv4, ipv6: kill ip_mc_{join, leave}_group and ipv6_sock_mc_{join, drop}"). Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit eefa32d3f3c54bc7f9704968bc78adf0439c6c2a Author: Raducu Deaconu <rhadoo.io88@xxxxxxxxx> Date: Fri Jul 17 08:45:40 2015 +0300 ipvs: Add ovf scheduler The weighted overflow scheduling algorithm directs network connections to the server with the highest weight that is currently available and overflows to the next when active connections exceed the node's weight. Signed-off-by: Raducu Deaconu <rhadoo.io88@xxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ee3010d0ab288d1c307464c1bd1dc3bf16aca7e4 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 21 14:38:39 2015 +0200 regulators: max77693: register driver earlier to avoid deferred probe MAX77693 based regulators are used by USB gadget subsystem, which doesn't support deferred probe, so the driver should be registered before USB gadget drivers get probed. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54d8697fa5036df0e27f8d62edb7ebc35c3f73d6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 21 20:59:21 2015 +0800 ASoC: Set missing card owner field Set the card owner field to prevent the module from being removed from underneath its users. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1c0bd0e891aaed0219010bfe79b32e1b0b82d662 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Aug 21 10:09:02 2015 +0000 perf probe: Try to use symbol table if searching debug info failed A problem can occur in a statically linked perf when vmlinux can be found: # perf probe --add sys_epoll_pwait probe-definition(0): sys_epoll_pwait symbol:sys_epoll_pwait file:(null) line:0 offset:0 return:0 lazy:(null) 0 arguments Looking at the vmlinux_path (7 entries long) Using /lib/modules/4.2.0-rc1+/build/vmlinux for symbols Open Debuginfo file: /lib/modules/4.2.0-rc1+/build/vmlinux Try to find probe point from debuginfo. Symbol sys_epoll_pwait address found : ffffffff8122bd40 Matched function: SyS_epoll_pwait Failed to get call frame on 0xffffffff8122bd40 An error occurred in debuginfo analysis (-2). Error: Failed to add events. Reason: No such file or directory (Code: -2) The reason is caused by libdw that, if libdw is statically linked, it can't load libebl_{arch}.so reliable. In this case it is still possible to get the address from /proc/kalksyms. However, perf tries that only when libdw returns -EBADF. This patch gives it another chance to utilize symbol table, even if libdw returns an error code other than -EBADF. After applying this patch: # perf probe -nv --add sys_epoll_pwait probe-definition(0): sys_epoll_pwait symbol:sys_epoll_pwait file:(null) line:0 offset:0 return:0 lazy:(null) 0 arguments Looking at the vmlinux_path (7 entries long) Using /lib/modules/4.2.0-rc1+/build/vmlinux for symbols Open Debuginfo file: /lib/modules/4.2.0-rc1+/build/vmlinux Try to find probe point from debuginfo. Symbol sys_epoll_pwait address found : ffffffff8122bd40 Matched function: SyS_epoll_pwait Failed to get call frame on 0xffffffff8122bd40 An error occurred in debuginfo analysis (-2). Trying to use symbols. Opening /sys/kernel/debug/tracing/kprobe_events write=1 Added new event: Writing event: p:probe/sys_epoll_pwait _text+2276672 probe:sys_epoll_pwait (on sys_epoll_pwait) You can now use it in all perf tools, such as: perf record -e probe:sys_epoll_pwait -aR sleep 1 Although libdw returns an error (Failed to get call frame), perf tries symbol table and finally gets correct address. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440151770-129878-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 66671d001aeb525b9101e0ccb9062627539de555 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 18 15:19:50 2015 -0300 perf tools: Initialize reference counts in map__clone() Map clone was written before we introduced reference counts for maps and dsos, so all that was needed was just a copy and then we would insert it into the new map_groups instance. Fix it by, after copying, initializing the map->refcnt, grabbing a struct dso refcount and resetting pointers that may be used to determine if a map, when deleted, is in a rb_tree. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-pd4mr80o5b9gvk50iineacec@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5be9fc23cdb42e1d383ecc8eae8a8ff70a752708 Author: Benjamin Cama <benoar@xxxxxxxx> Date: Tue Jul 14 16:25:58 2015 +0200 ARM: orion5x: fix legacy orion5x IRQ numbers Since v3.18, attempts to deliver IRQ0 are rejected, breaking orion5x. Fix this by increasing all interrupts by one, as did 5d6bed2a9c8b for dove. Also, force MULTI_IRQ_HANDLER for all orion platforms (including dove) as the specific handler is needed to shift back IRQ numbers by one. [gregory.clement@xxxxxxxxxxxxxxxxxx]: moved the select MULTI_IRQ_HANDLER from PLAT_ORION_LEGACY to ARCH_ORION5X as it broke the build for dove. Fixes: a71b092a9c68 ("ARM: Convert handle_IRQ to use __handle_domain_irq") Signed-off-by: Benjamin Cama <benoar@xxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Detlef Vollmann <dv@xxxxxxxxxxx> commit 4b715d24f4f14731c7b553cbb8604fe865cb8d3c Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:45 2015 +0300 perf tools: Add example call-graph script Add a script to produce a call-graph from data exported to a postgresql database and derived from a processor trace event like intel_pt or intel_bts. Refer to comments in the scripts call-graph-from-postgresql.py and export-to-postgresql.py for more details on how to set up the environment, install the required packages, etc. Committer note: From the scripts, for convenience while reading 'git log': An example of using this script with Intel PT: $ perf record -e intel_pt//u ls $ perf script -s ~/libexec/perf-core/scripts/python/export-to-postgresql.py pt_example branches calls 2015-05-29 12:49:23.464364 Creating database... 2015-05-29 12:49:26.281717 Writing to intermediate files... 2015-05-29 12:49:27.190383 Copying to database... 2015-05-29 12:49:28.140451 Removing intermediate files... 2015-05-29 12:49:28.147451 Adding primary keys 2015-05-29 12:49:28.655683 Adding foreign keys 2015-05-29 12:49:29.365350 Done $ python tools/perf/scripts/python/call-graph-from-postgresql.py pt_example # The result is a GUI window with a tree representing a context-sensitive # call-graph. Expanding a couple of levels of the tree and adjusting column # widths to suit will display something like: Call Graph: pt_example Call Path |Object |Count|Time(ns)|Time(%)|Branch Count|Branch Count(%) v- ls v- 2638:2638 v- _start ld-2.19.so 1 10074071 100.0 211135 100.0 |- unknown unknown 1 13198 0.1 1 0.0 >- _dl_start ld-2.19.so 1 1400980 13.9 19637 9.3 >- _d_linit_internal ld-2.19.so 1 448152 4.4 11094 5.3 v-__libc_start_main@plt ls 1 8211741 81.5 180397 85.4 >- _dl_fixup ld-2.19.so 1 7607 0.1 108 0.1 >- __cxa_atexit libc-2.19.so 1 11737 0.1 10 0.0 >- __libc_csu_init ls 1 10354 0.1 10 0.0 |- _setjmp libc-2.19.so 1 0 0.0 4 0.0 v- main ls 1 8182043 99.6 180254 99.9 Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-11-git-send-email-adrian.hunter@xxxxxxxxx [ Added 'python-pyside qt-postgresql' to the yum cmdline installing required packages ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b68c3161430a4c7c0a001e658188bfea6a2fe5bd Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Tue Aug 11 13:22:19 2015 +0200 bq2415x_charger: Allow to load and use driver even if notify device is not registered yet Driver bq2415x_charger works also without notify power supply device for charger detection. But when charger detection is specified in DT, then bq2415x_charger refused to loaded with -EPROBE_DEFER. This patch rewrites code so that notify device for charger detection is checked when power supply event is received and not when registering power supply device. So this patch allows to use bq2415x_charger driver also when kernel is compiled without driver for notify power supply device. Now after this patch scheduled workqueue is called after INIT_DELAYED_WORK, so it also fix problem when scheduled workqueue was called before init. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 60b88d8743892218f82048a3df624f5fc5460843 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:44 2015 +0300 perf tools: Put itrace options into an asciidoc include perf script, report and inject all have the same itrace options. Put them into an asciidoc include file. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-10-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d0170af7004dce9cd90b749842c37e379476cbc8 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:43 2015 +0300 perf tools: Add Intel BTS support Intel BTS support fits within the new auxtrace infrastructure. Recording is supporting by identifying the Intel BTS PMU, parsing options and setting up events. Decoding is supported by queuing up trace data by thread and then decoding synchronously delivering synthesized event samples into the session processing for tools to consume. Committer note: E.g: [root@felicio ~]# perf record --per-thread -e intel_bts// ls anaconda-ks.cfg apctest.output bin kernel-rt-3.10.0-298.rt56.171.el7.x86_64.rpm libexec lock_page.bpf.c perf.data perf.data.old [ perf record: Woken up 3 times to write data ] [ perf record: Captured and wrote 4.367 MB perf.data ] [root@felicio ~]# perf evlist -v intel_bts//: type: 6, size: 112, { sample_period, sample_freq }: 1, sample_type: IP|TID|IDENTIFIER, read_format: ID, disabled: 1, enable_on_exec: 1, sample_id_all: 1, exclude_guest: 1 dummy:u: type: 1, size: 112, config: 0x9, { sample_period, sample_freq }: 1, sample_type: IP|TID|IDENTIFIER, read_format: ID, disabled: 1, exclude_kernel: 1, exclude_hv: 1, mmap: 1, comm: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, mmap2: 1, comm_exec: 1 [root@felicio ~]# perf script # the navigate in the pager to some interesting place: ls 1843 1 branches: ffffffff810a60cb flush_signal_handlers ([kernel.kallsyms]) => ffffffff8121a522 setup_new_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8121a529 setup_new_exec ([kernel.kallsyms]) => ffffffff8122fa30 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa5d do_close_on_exec ([kernel.kallsyms]) => ffffffff81767ae0 _raw_spin_lock ([kernel.kallsyms]) ls 1843 1 branches: ffffffff81767af4 _raw_spin_lock ([kernel.kallsyms]) => ffffffff8122fa62 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fa8e do_close_on_exec ([kernel.kallsyms]) => ffffffff8122faf0 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122faf7 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fa8b do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fac9 do_close_on_exec ([kernel.kallsyms]) => ffffffff8122fad2 do_close_on_exec ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8122fadd do_close_on_exec ([kernel.kallsyms]) => ffffffff8120fc80 filp_close ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8120fcaf filp_close ([kernel.kallsyms]) => ffffffff8120fcb6 filp_close ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8120fcc2 filp_close ([kernel.kallsyms]) => ffffffff812547f0 dnotify_flush ([kernel.kallsyms]) ls 1843 1 branches: ffffffff81254823 dnotify_flush ([kernel.kallsyms]) => ffffffff8120fcc7 filp_close ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8120fccd filp_close ([kernel.kallsyms]) => ffffffff81261790 locks_remove_posix ([kernel.kallsyms]) ls 1843 1 branches: ffffffff812617a3 locks_remove_posix ([kernel.kallsyms]) => ffffffff812617b9 locks_remove_posix ([kernel.kallsyms]) ls 1843 1 branches: ffffffff812617b9 locks_remove_posix ([kernel.kallsyms]) => ffffffff8120fcd2 filp_close ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8120fcd5 filp_close ([kernel.kallsyms]) => ffffffff812142c0 fput ([kernel.kallsyms]) ls 1843 1 branches: ffffffff812142d6 fput ([kernel.kallsyms]) => ffffffff812142df fput ([kernel.kallsyms]) ls 1843 1 branches: ffffffff8121430c fput ([kernel.kallsyms]) => ffffffff810b6580 task_work_add ([kernel.kallsyms]) ls 1843 1 branches: ffffffff810b65ad task_work_add ([kernel.kallsyms]) => ffffffff810b65b1 task_work_add ([kernel.kallsyms]) ls 1843 1 branches: ffffffff810b65c1 task_work_add ([kernel.kallsyms]) => ffffffff810bc710 kick_process ([kernel.kallsyms]) ls 1843 1 branches: ffffffff810bc725 kick_process ([kernel.kallsyms]) => ffffffff810bc742 kick_process ([kernel.kallsyms]) ls 1843 1 branches: ffffffff810bc742 kick_process ([kernel.kallsyms]) => ffffffff810b65c6 task_work_add ([kernel.kallsyms]) ls 1843 1 branches: ffffffff810b65c9 task_work_add ([kernel.kallsyms]) => ffffffff81214311 fput ([kernel.kallsyms]) Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-9-git-send-email-adrian.hunter@xxxxxxxxx [ Merged sample->time fix for bug found after first round of testing on slightly older kernel ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d4421c54c45f643731c92daa8e268ce74dcdf5a2 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 17:02:40 2015 +0800 crypto: hash - Add AHASH_REQUEST_ON_STACK This patch adds the helper AHASH_REQUEST_ON_STACK for those users of ahash that are synchronous only. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 12773d932fc22c60e0d5a20660d564542fab811b Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 15:21:46 2015 +0800 crypto: testmgr - Use new skcipher interface This patch replaces uses of blkcipher and ablkcipher with the new skcipher interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7a7ffe65c8c5fbf272b132d8980b2511d5e5fc98 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 15:21:45 2015 +0800 crypto: skcipher - Add top-level skcipher interface This patch introduces the crypto skcipher interface which aims to replace both blkcipher and ablkcipher. It's very similar to the existing ablkcipher interface. The main difference is the removal of the givcrypt interface. In order to make the transition easier for blkcipher users, there is a helper SKCIPHER_REQUEST_ON_STACK which can be used to place a request on the stack for synchronous transforms. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 412fcb6cebd758d080cacd5a41a0cbc656ea5fce Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Aug 19 15:57:09 2015 +0100 arm64: entry: always restore x0 from the stack on syscall return We have a micro-optimisation on the fast syscall return path where we take care to keep x0 live with the return value from the syscall so that we can avoid restoring it from the stack. The benefit of doing this is fairly suspect, since we will be restoring x1 from the stack anyway (which lives adjacent in the pt_regs structure) and the only additional cost is saving x0 back to pt_regs after the syscall handler, which could be seen as a poor man's prefetch. More importantly, this causes issues with the context tracking code. The ct_user_enter macro ends up branching into C code, which is free to use x0 as a scratch register and consequently leads to us returning junk back to userspace as the syscall return value. Rather than special case the context-tracking code, this patch removes the questionable optimisation entirely. Cc: <stable@xxxxxxxxxxxxxxx> Cc: Larry Bassel <larry.bassel@xxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6f56e9cf581c6cedcaea3eb69444b169867ccf3d Author: Dean Nelson <dnelson@xxxxxxxxxx> Date: Thu Aug 20 11:16:32 2015 -0400 tools lib traceevent: Add checks for returned EVENT_ERROR type Running the following perf-stat command on an arm64 system produces the following result... [root@aarch64 ~]# perf stat -e kmem:mm_page_alloc -a sleep 1 Warning: [kmem:mm_page_alloc] function sizeof not defined Warning: Error: expected type 4 but read 0 Segmentation fault [root@aarch64 ~]# The second warning was a result of the first warning not stopping processing after it detected the issue. That is, code that found the issue reported the first problem, but because it did not exit out of the functions smoothly, it caused the other warning to appear and not only that, it later caused the SIGSEGV. Signed-off-by: Dean Nelson <dnelson@xxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150820151632.13927.13791.email-sent-by-dnelson@teal Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 81cd60cc29a9c3e92ad6ca167a4764b2c2d2fc04 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 20 11:51:32 2015 +0300 perf tools: Fix Intel PT timestamp handling Events that don't sample the timestamp have a timestamp value of -1. Intel PT processing wasn't taking that into account. This is particularly noticeable with Intel BTS because timestamps are not requested by default. Then, if the conversion of -1 to TSC results in a small number, the processing is unaffected. However if the conversion results in a big number, then the data is processed prematurely before relevant sideband data like mmap events, which in turn results in samples with unknown dsos. Commiter note: Since BTS wasn't upstream, I split the patch to fold the BTS part with the patch introducing it, to avoid having this bug in the commit history. PT was already upstream, so this patch contains that part. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440060692-5585-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 133de940435493266acd4100b0dae8ba7eaa7c71 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 20 13:07:40 2015 +0300 perf tools: /proc/kcore requires CAP_SYS_RAWIO message too noisy The "/proc/kcore requires CAP_SYS_RAWIO" message comes up all the time for 'perf script' if vmlinux is not found and the user isn't root, even when the kernel is not being traced and even though the message is only really relevant for annotation. Change it to pr_debug and instead put a note in the message displayed if annotation is not possible. Also, the file being accessed might not be /proc/kcore. Tools can be directed to a different location using the --kallsyms option in which case kcore is expected to be in the same directory. Adjust the message so it is not misleading in that case. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Li Zhang <zhlcindy@xxxxxxxxxxxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440065260-8802-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 05169df5561363ff04ac04d6aad0be3b45c26ac1 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 20 11:26:45 2015 +0300 perf script: Fix segfault using --show-mmap-events Patch "perf script: Don't assume evsel position of tracking events" changed 'perf script' to use 'perf_evlist__id2evsel()'. That results in a segfault if there is more than 1 event and there are synthesized mmap events e.g. $ perf record -e cycles,instructions -p$$ sleep 1 $ perf script --show-mmap-events Segmentation fault (core dumped) That happens because these synthesized events have an 'id' of zero which does not match any 'evsel'. Currently, these synthesized events use the sample type of the first evsel. Change 'perf_evlist__id2evsel()' to reflect that which also makes it consistent with 'perf_evlist__event2evsel()'. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Fixes: 06b234ec26fd ("perf script: Don't assume evsel position of tracking events") Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440059205-1765-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fa4f18b4f402d3654415935511d8e0bb51a102b7 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Aug 21 15:05:20 2015 +0200 ALSA: hda - Refresh widgets sysfs at probing Haswell+ HDMI codecs Intel Haswell (and later) codec refreshes the widgets tree to expose the whole widget nodes at probing. However, this refresh was missing for sysfs tree. This patch adds the missing piece, as we have now a proper API. Reported-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1fb6755f16872ad256c18cce2830f9087502dffd Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:42:10 2015 +0100 ARM: domains: remove DOMAIN_TABLE DOMAIN_TABLE is not used; in any case, it aliases to the kernel domain. Remove this definition. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a02d8dfd54cdf3b1b0464ccc2c1c4afe2c003a35 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:38:31 2015 +0100 ARM: domains: keep vectors in separate domain Keep the machine vectors in its own domain to avoid software based user access control from making the vector code inaccessible, and thereby deadlocking the machine. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3c2aed5b28819564e1a07b4686bd89802bcc4d6b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:30:16 2015 +0100 ARM: domains: get rid of manager mode for user domain Since we switched to early trap initialisation in 94e5a85b3be0 ("ARM: earlier initialization of vectors page") we haven't been writing directly to the vectors page, and so there's no need for this domain to be in manager mode. Switch it to client mode. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0171356a7708af01ad3224702b7f0aaa5b7a1399 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 21 09:23:26 2015 +0100 ARM: domains: move initial domain setting value to asm/domains.h Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8e798706f7e9cd7f096aa194de90269dde83773e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 22:36:24 2015 +0100 ARM: domains: provide domain_mask() Provide a macro to generate the mask for a domain, rather than using domain_val(, DOMAIN_MANAGER) which won't work when CPU_USE_DOMAINS is turned off. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1eef5d2f1b461c120bcd82077edee5ec706ac53b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 21:23:48 2015 +0100 ARM: domains: switch to keeping domain value in register Rather than modifying both the domain access control register and our per-thread copy, modify only the domain access control register, and use the per-thread copy to save and restore the register over context switches. We can also avoid the explicit initialisation of the init thread_info structure. This allows us to avoid needing to gain access to the thread information at the uaccess control sites. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9e46aedab389122948144713ee5b8bae2658fb1b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 21 14:25:34 2015 +0300 ALSA: hdsp: silence and underflow warning I believe this probably cannot happen, as the code suggests. There would have to be an kcontrol->index.id which was zero, otherwise this would be prevented in snd_ctl_find_id(). But snd_BUG_ON() is just a WARN() or a no-op so static checkers complain that we keep on going with a negative offset. Let's just handle the error as well as printing a warning. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 18dfd79d92e5292611ac4944a67bd837dd7632c9 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Aug 21 15:47:43 2015 +0530 ALSA: hdac: add snd_hdac_refresh_widget_sysfs() Some codecs like Intel HDMI by default do not show up all the pins, they have to be manually enabled, so we need to refresh the codec widgets and then recreate the sysfs tree. So add new API snd_hdac_refresh_widget_sysfs() to do this. It should be be used by codec driver after sending magic verbs to codec Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d51783c15f7548229e49331d254a738be8ac865c Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Aug 21 15:47:42 2015 +0530 ALSA: hdac: add extended device driver registration This adds new extended driver objects and API for registering the extended devices. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a512f5611646ab12f3f8fea2a3d2582adabe5157 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Aug 21 15:47:41 2015 +0530 ALSA: hdac: add hdac extended device This adds based hdac extended device object which will be used by ASoC HDAC codecs Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ee2d51b3d4c940cd34dbc83eb10bb24205c56ebf Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Aug 21 15:47:40 2015 +0530 ALSA: hdac: Add API for removing hdac extended device The HDAC extended device objects are created by HDAC extended bus on probe. When controller is removed they should be removed as well, so add API snd_hdac_ext_bus_device_remove for this Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 005ce70b9448ed86c9a12e6504f1f9896a826e3d Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Fri Aug 21 14:33:34 2015 +0530 dmaengine: xgene-dma: Fix the lock to allow client for further submission of requests This patch provides the fix in the cleanup routing such that client can perform further submission by releasing the lock before calling client's callback function. Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit fd0881a24ac9ab2be6c052d30ca779597c0bd3bc Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Aug 21 15:06:43 2015 +0530 ARC: Eliminate some ARCv2 specific code for ARCompact build Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 64f1d0ffbaaccf2ddaf02d3ebf67bf9044cb4db4 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 20 08:44:14 2015 -0700 dmaengine: ioatdma: fix coccinelle warning Simplifying the end return. This existed in the original code but was flagged when refactoring of the code made it appear it's new. coccinelle warnings: (new ones prefixed by >>) >> drivers/dma/ioat/init.c:1018:1-3: WARNING: end returns can be simpified Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit aaecdebc5855b77e2120d11c750630a3e60ffb10 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 20 08:44:09 2015 -0700 dmaengine: ioatdma: fix zero day warning on incompatible pointer type The 32bit build is creating this warning. Since we don't expect anyone actually use this on 32bit, restrict ioatdma to be built only on x86_64. This issue has long existed and only reason it's surfacing due to code refactoring. drivers/dma/ioat/dma.c: In function 'ioat_timer_event': >> drivers/dma/ioat/dma.c:870:39: warning: passing argument 2 of 'ioat_cleanup_preamble' from incompatible pointer type if (ioat_cleanup_preamble(ioat_chan, &phys_complete)) ^ drivers/dma/ioat/dma.c:577:13: note: expected 'u64 *' but argument is of type 'dma_addr_t *' static bool ioat_cleanup_preamble(struct ioatdma_chan *ioat_chan, ^ Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f6b28e4ded45bb91bc4cd115d55e35badedfce5f Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Fri Aug 21 09:42:35 2015 +0200 ALSA: hda - Shutdown CX20722 on reboot/free to avoid spurious noises On shutdown/reboot of CX20722, first shut down all EAPDs, then shut down the afg node to D3. Failure to do so can lead to spurious noises from the internal speaker directly after reboot (and before the codec is reinitialized again, i e in BIOS setup or GRUB menus). BugLink: https://bugs.launchpad.net/bugs/1487345 Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9544f8b6e2ee9ed02d2322ff018837b185f51d45 Author: Jurgen Kramer <gtmkramer@xxxxxxxxx> Date: Fri Aug 21 09:48:35 2015 +0200 ALSA: usb: Add native DSD support for Gustard DAC-X20U This patch adds native DSD support for the Gustard DAC-X20U. Signed-off-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 36d4e87b497d9cb3bf8e1bb2f803c7aa41dfb463 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Aug 19 03:19:47 2015 -0700 drm/vmwgfx: Remove duplicate ttm_bo_device_release No need to try to call ttm_bo_device_release twice during module unload. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 772269f970129a7b9b50d68684b2568a41850111 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Tue Aug 18 09:07:38 2015 -0700 drm/vmwgfx: Fix a circular locking dependency in the fbdev code When a user-space process writes directly to the fbdev framebuffer, we hit a circular locking dependency. Fix this by introducing a local delayed work callback so that the defio lock can be released before calling into the modesetting code for a dirty update. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 397d425dc26da728396e66d392d5dcb8dac30c37 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Aug 15 20:27:13 2015 -0500 vfs: Test for and handle paths that are unreachable from their mnt_root In rare cases a directory can be renamed out from under a bind mount. In those cases without special handling it becomes possible to walk up the directory tree to the root dentry of the filesystem and down from the root dentry to every other file or directory on the filesystem. Like division by zero .. from an unconnected path can not be given a useful semantic as there is no predicting at which path component the code will realize it is unconnected. We certainly can not match the current behavior as the current behavior is a security hole. Therefore when encounting .. when following an unconnected path return -ENOENT. - Add a function path_connected to verify path->dentry is reachable from path->mnt.mnt_root. AKA to validate that rename did not do something nasty to the bind mount. To avoid races path_connected must be called after following a path component to it's next path component. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 88c9281a9fba67636ab26c1fd6afbc78a632374f Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Aug 19 09:54:24 2015 -0700 x86/hyperv: Mark the Hyper-V TSC as unstable The Hyper-V top-level functional specification states, that "algorithms should be resilient to sudden jumps forward or backward in the TSC value", this means that we should consider TSC as unstable. In some cases tsc tests are able to detect the instability, it was detected in 543 out of 646 boots in my testing: Measured 6277 cycles TSC warp between CPUs, turning off TSC clock. tsc: Marking TSC unstable due to check_tsc_sync_source failed This is, however, just a heuristic. On Hyper-V platform there are two good clocksources: MSR-based hyperv_clocksource and recently introduced TSC page. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440003264-9949-1-git-send-email-vkuznets@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 99770737ca7e3ebc14e66460a69b7032de9421e1 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Aug 21 08:33:53 2015 +0200 x86/asm/tsc: Add rdtscll() merge helper Some in-flight code makes use of the old rdtscll() (now removed), provide a wrapper for a kernel cycle to smooth the transition to rdtsc(). ( We use the safest variant, rdtsc_ordered(), which has barriers - this adds another incentive to remove the wrapper in the future. ) Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/dddbf98a2af53312e9aa73a5a2b1622fe5d6f52b.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a03e283bf5c3d4851b4998122196ce9f849e6dfb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Aug 15 13:36:41 2015 -0500 dcache: Reduce the scope of i_lock in d_splice_alias i_lock is only needed until __d_find_any_alias calls dget on the alias dentry. After that the reference to new ensures that dentry_kill and d_delete will not remove the inode from the dentry, and remove the dentry from the inode->d_entry list. The inode i_lock came to be held over the the __d_move calls in d_splice_alias through a series of introduction of locks with increasing smaller scope. First it was the dcache_lock, then it was the dcache_inode_lock, and finally inode->i_lock. Furthermore inode->i_lock is not held over any other calls to d_move or __d_move so it can not provide any meaningful rename protection. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cde93be45a8a90d8c264c776fab63487b5038a65 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Aug 15 13:36:12 2015 -0500 dcache: Handle escaped paths in prepend_path A rename can result in a dentry that by walking up d_parent will never reach it's mnt_root. For lack of a better term I call this an escaped path. prepend_path is called by four different functions __d_path, d_absolute_path, d_path, and getcwd. __d_path only wants to see paths are connected to the root it passes in. So __d_path needs prepend_path to return an error. d_absolute_path similarly wants to see paths that are connected to some root. Escaped paths are not connected to any mnt_root so d_absolute_path needs prepend_path to return an error greater than 1. So escaped paths will be treated like paths on lazily unmounted mounts. getcwd needs to prepend "(unreachable)" so getcwd also needs prepend_path to return an error. d_path is the interesting hold out. d_path just wants to print something, and does not care about the weird cases. Which raises the question what should be printed? Given that <escaped_path>/<anything> should result in -ENOENT I believe it is desirable for escaped paths to be printed as empty paths. As there are not really any meaninful path components when considered from the perspective of a mount tree. So tweak prepend_path to return an empty path with an new error code of 3 when it encounters an escaped path. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6f179af88f60b32c2855e7f3e16ea8e336a7043f Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Mon Aug 17 17:34:27 2015 -0700 mm: fix potential data race in SyS_swapon While running KernelThreadSanitizer (ktsan) on upstream kernel with trinity, we got a few reports from SyS_swapon, here is one of them: Read of size 8 by thread T307 (K7621): [< inlined >] SyS_swapon+0x3c0/0x1850 SYSC_swapon mm/swapfile.c:2395 [<ffffffff812242c0>] SyS_swapon+0x3c0/0x1850 mm/swapfile.c:2345 [<ffffffff81e97c8a>] ia32_do_call+0x1b/0x25 Looks like the swap_lock should be taken when iterating through the swap_info array on lines 2392 - 2401: q->swap_file may be reset to NULL by another thread before it is dereferenced for f_mapping. But why is that iteration needed at all? Doesn't the claim_swapfile() which follows do all that is needed to check for a duplicate entry - FMODE_EXCL on a bdev, testing IS_SWAPFILE under i_mutex on a regfile? Well, not quite: bd_may_claim() allows the same "holder" to claim the bdev again, so we do need to use a different holder than "sys_swapon"; and we should not replace appropriate -EBUSY by inappropriate -EINVAL. Index i was reused in a cpu loop further down: renamed cpu there. Reported-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 061f98e959ea025a5d87c3e089d59ec2ec5f5d6d Merge: b5f5914 ac05fbb Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 02:31:20 2015 -0400 Merge branch 'superblock-scaling' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next into for-next Conflicts: include/linux/fs.h commit 82819ffb42fb45197bacf3223191deca31d3eb91 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Aug 21 08:14:46 2015 +0200 perf/x86/msr: Fix the MSR driver build The new MSR PMU driver made use of rdtsc() which does not exist (yet) in this tree: arch/x86/kernel/cpu/perf_event_msr.c:91:3: error: implicit declaration of function 'rdtsc' Use the old rdtscll() primitive for now. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b06ece93cf96b430587e77e01053b2b8f99cb750 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Tue Jul 7 22:00:47 2015 +0900 video: fbdev: s3c-fb: Constify platform_device_id The platform_device_id is not modified by the driver and core uses it as const. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit a9e01ed986aa80d3092134428f453072752da223 Merge: 08617f4 81bf1c6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 20 22:18:45 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next This is second pull request includes the conflict resolution patch that resulted from the updates that we got for the conntrack template through kmalloc. No changes with regards to the previously sent 15 patches. The following patchset contains Netfilter updates for your net-next tree, they are: 1) Rework the existing nf_tables counter expression to make it per-cpu. 2) Prepare and factor out common packet duplication code from the TEE target so it can be reused from the new dup expression. 3) Add the new dup expression for the nf_tables IPv4 and IPv6 families. 4) Convert the nf_tables limit expression to use a token-based approach with 64-bits precision. 5) Enhance the nf_tables limit expression to support limiting at packet byte. This comes after several preparation patches. 6) Add a burst parameter to indicate the amount of packets or bytes that can exceed the limiting. 7) Add netns support to nfacct, from Andreas Schultz. 8) Pass the nf_conn_zone structure instead of the zone ID in nf_tables to allow accessing more zone specific information, from Daniel Borkmann. 9) Allow to define zone per-direction to support netns containers with overlapping network addressing, also from Daniel. 10) Extend the CT target to allow setting the zone based on the skb->mark as a way to support simple mappings from iptables, also from Daniel. 11) Make the nf_tables payload expression aware of the fact that VLAN offload may have removed a vlan header, from Florian Westphal. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81bf1c64e7fe08f956c74fe2b0f1fa6eb163bd91 Merge: 8cfd23e 938049e Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Aug 21 01:10:19 2015 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Resolve conflicts with conntrack template fixes. Conflicts: net/netfilter/nf_conntrack_core.c net/netfilter/nf_synproxy_core.c net/netfilter/xt_CT.c Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 44790462d041d3037d60b3bf88f30837a72006ff Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Jul 14 11:33:31 2015 +1000 drm/dp/mst: dump branch OUI in debugfs (v2) It appears some MST docks are worse than other, but the only way to know is to see the sw revisions in here, so dump the branch OUI so we can look at the sw revision. v2: Thierry made me feel guilty, so I parsed the branch OUI. Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ba5d183bced6cb60b2838a0bf04665c1c1e4bff1 Merge: ff2d920 258d9bc Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:59:45 2015 -0700 Merge tag 'tegra-for-4.3-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/defconfig ARM: tegra: Default configuration updates for v4.3-rc1 Enable the GK20A GPU (via the Nouveau driver) and CPU frequency scaling on Tegra124. * tag 'tegra-for-4.3-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Update multi_v7_defconfig ARM: tegra: Update default configuration Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 21815b9a24c6e6d3488703609561bd2892d3d9f3 Merge: 420f262 588c43a Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:50:17 2015 -0700 Merge tag 'tegra-for-4.3-memory' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers ARM: tegra: Memory controller updates for v4.3-rc1 Adds support for Tegra210, which allows the SMMU to be used on this new SoC generation. * tag 'tegra-for-4.3-memory' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: memory: tegra: Add Tegra210 support memory: tegra: Add support for a variable-size client ID bitfield memory: tegra: Expose supported rates via debugfs Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 420f2629fa041ed92f7e687b3bc8020d80b209bb Merge: 5378e46 9eb15db Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:47:04 2015 -0700 Merge tag 'tegra-for-4.3-cpufreq' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers ARM: tegra: CPU frequency scaling for v4.3-rc1 This adds CPU frequency scaling support for Tegra124. * tag 'tegra-for-4.3-cpufreq' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: cpufreq: Add cpufreq driver for Tegra124 cpufreq: tegra: Rename tegra-cpufreq to tegra20-cpufreq cpufreq: tegra124: Add device tree bindings Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5378e4665f226e3b5b460793397eff32b4de9daa Merge: bd90f11 1ec0e11 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:43:15 2015 -0700 Merge tag 'tegra-for-4.3-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers ARM: tegra: Core SoC changes for v4.3-rc1 This contains a bit more of Tegra210 support, which is shaping up pretty nicely. Other than that there are a couple of cleanup patches here, too. * tag 'tegra-for-4.3-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: cpuidle: implement cpuidle_state.enter_freeze() ARM: tegra: Disable cpuidle if PSCI is available soc/tegra: pmc: Use existing pclk reference soc/tegra: pmc: Remove unnecessary return statement soc: tegra: Remove redundant $(CONFIG_ARCH_TEGRA) in Makefile soc/tegra: fuse: Add spare bit offset for Tegra210 soc/tegra: fuse: Add spare bit offset for Tegra124 soc/tegra: fuse: Add spare bit offset for Tegra114 soc/tegra: fuse: Rename core_* to soc_* soc/tegra: fuse: Add Tegra210 support soc/tegra: fuse: Unify Tegra20 and Tegra30 drivers soc/tegra: fuse: Restrict legacy code to 32-bit ARM soc/tegra: pmc: Add Tegra210 support soc/tegra: pmc: Restrict legacy code to 32-bit ARM soc/tegra: pmc: Avoid usage of uninitialized variable soc/tegra: Add Tegra210 support soc/tegra: Add Tegra132 support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 97a2482d9891f0ad6a3710e0b6ae9949c140c7f1 Merge: 16478b6 5cf4af3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:41:42 2015 -0700 Merge tag 'tegra-for-4.3-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/cleanup ARM: tegra: Cleanup patches for v4.3-rc1 Just a couple of trivial cleanups to make the HDA controller driver code match the device tree binding. * tag 'tegra-for-4.3-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ALSA: hda/tegra: Order clock and reset names consistently ALSA: hda/tegra - Fix hda2codec_2x clock and reset names Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7c4ecc72d82f2908b9fe70dbd49c1cd35738f995 Merge: deb1436 2b347c6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:39:57 2015 -0700 Merge tag 'samsung-defconfig-new' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/late Samsung defconfig updates for v4.3 - for exynos_defconfig : enable SND_SOC_ODROIDX2 and SND_SIMPLE_CARD for Odroid-XU3 to use max98090 audio codec : enalbe SENSORS_NTC_THERMISTOR for Peach boards : enable cpufreq-dt driver with ONDEMAND governor for Exynos SoCs 3250, 4210, 4212, 4412 and 5250 - for multi_v7_defconfig: : remove SAMSUNG_USB2PHY and SAMSUNG_USB3PHY are not used now : enable SENSORS_NTC_THERMISTOR and EXYNOS_ADC for Peach boards : enable REGULATOR_MAX77802 for Peach boards * tag 'samsung-defconfig-new' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: exynos_defconfig: Enable cpufreq-dt driver ARM: multi_v7_defconfig: Enable max77802 regulator ARM: exynos_defconfig: Enable NTC Thermistors support ARM: multi_v7_defconfig: Enable NTC Thermistors support ARM: multi_v7_defconfig: Remove old Samsung USB PHY configs ARM: exynos_defconfig: Enable CONFIG_SND_SOC_ODROIDX2 for Odroid-XU3 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit deb14362a5268a094efb0534f2999bc8ea97ce2f Merge: 418012f 5e3863a Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:38:39 2015 -0700 Merge tag 'samsung-late-cpufreq-driver' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/late Samsung cpufreq driver updates for v4.3 - remove exynos4 SoCs and exynos5250 specific cpufreq driver support and unselectable rule for arm-exynos-cpufreq.o because of supporting generic cpufreq driver for the exynos SoCs * Note this is depending on tags/samsung-clk-driver, tags/samsung-soc and tags/samsung-late-dt * tag 'samsung-late-cpufreq-driver' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: cpufreq: exynos: Remove unselectable rule for arm-exynos-cpufreq.o cpufreq: exynos: remove Exynos4x12 specific cpufreq driver support cpufreq: exynos: remove exynos5250 specific cpufreq driver support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 418012fbe5e6ef83424a8233b29c11159acd4af9 Merge: 819167e bdd2648 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:37:55 2015 -0700 Merge tag 'samsung-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/late Samsung SoC updates for v4.3 - add compatible string to exynos_cpufreq_matchs to switch for supporting generic cpufreq driver for exynos3250, 4210, 4212 and 5250 SoCs in mach-exynos/ * tag 'samsung-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: switch to using generic cpufreq driver for exynos4x12 ARM: EXYNOS: Add exynos3250 compatible to use generic cpufreq driver ARM: EXYNOS: switch to using generic cpufreq driver for exynos5250 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 819167e7a0808891048ef45a8933fdeb1f04899f Merge: 6b07705 ba03279 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:35:34 2015 -0700 Merge tag 'samsung-late-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/late Samsung 2nd DT updates for v4.3 - for exynos3250, 4212, 4412 and 5250 : add CPU OPP and regulator supply property - for exynos3250 : add CPU cooling binding for exynos3250 boards - for exynos4 SoCs : add iommu property to JPEG device - for exynos4412-odroidu3 : enable SPI1 - for exynos5250-snow : add SPI CS - for exynos5422 : add exynos5422-cpus.dtsi to correct cpu order * Note this branch is depending on tags/samsung-clk-driver * tag 'samsung-late-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (22 commits) ARM: dts: add iommu property to JPEG device for exynos4 ARM: dts: enable SPI1 for exynos4412-odroidu3 ARM: dts: Add SPI CS on exynos5250-snow ARM: dts: Add CPU cooling binding for exynos3250 boards ARM: dts: add exynos5422-cpus.dtsi to correct cpu order ARM: dts: add CPU OPP and regulator supply property for exynos4x12 ARM: dts: Add CPU OPP and regulator supply property for exynos3250 ARM: dts: add CPU OPP and regulator supply property for exynos5250 ARM: dts: Extend exynos5420-pinctrl nodes using labels instead of paths ARM: dts: Include exynos5420-pinctrl after the nodes were defined for exynos5420 ARM: dts: Extend exynos5250-pinctrl nodes using labels instead of paths ARM: dts: Include exynos5250-pinctrl after the nodes were defined for exynos5250 ARM: dts: Enable thermal-zones for exynos5422-odroidxu3 ARM: dts: Define default thermal-zones for exynos5422 ARM: dts: Enable TMU for exynos5422-odroidxu3 ARM: dts: Add pwm-fan node for exynos5422-odroidxu3 ARM: dts: Use labels for overriding nodes for exynos4210-universal_c210 ARM: dts: Set max17047 over heat and voltage thresholds for exynos4412-trats2 ARM: dts: Enable USB3 regulators for exynos5422-odroidxu3 ARM: dts: Clean up indentation for exynos5410-smdk5410 ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6b0770582d3b1c60172bc515d658fa12a72e1faf Merge: bc0195a cd6acee Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:35:02 2015 -0700 Merge tag 'samsung-clk-driver' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/late Samsung clk driver updates for v4.3 - add cpu clock configuration data and instantiate cpu clock for exynos3250, 4210, 4412 and 5250 SoCs to support Samsung specific cpu-clock type * Note this branch has been provided to clk tree as a topic branch * tag 'samsung-clk-driver' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: clk: exynos4x12: add cpu clock configuration data and instantiate cpu clock clk: exynos3250: Add cpu clock configuration data and instaniate cpu clock clk: exynos5250: add cpu clock configuration data and instantiate cpu clock Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit bd90f11589181adad1b32b16a34df52d17dd4961 Merge: a005bc6 5d44595 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 20 18:30:09 2015 -0700 Merge tag 'reset-for-4.3' of git://git.pengutronix.de/git/pza/linux into next/drivers Reset controller changes for v4.3 - moved the DT reset binding includes from include/dt-bindings/reset-controller to include/dt-bindings/reset - new driver for LPC18xx Reset Generation Unit (RGU) - of_device_id array in the STi driver changed to const. - extend SoCFPGA reset driver to support Arria10 - new ath79 reset controller driver for AR71XX/AR9XXX - new driver for Xilinx Zynq reset controller * tag 'reset-for-4.3' of git://git.pengutronix.de/git/pza/linux: reset: reset-zynq: Adding support for Xilinx Zynq reset controller. docs: dts: Added documentation for Xilinx Zynq Reset Controller bindings. MIPS: ath79: Add the reset controller to the AR9132 dtsi reset: Add a driver for the reset controller on the AR71XX/AR9XXX devicetree: Add bindings for the ATH79 reset controller reset: socfpga: Update reset-socfpga to read the altr,modrst-offset property doc: dt: add documentation for lpc1850-rgu reset driver reset: add driver for lpc18xx rgu reset: sti: constify of_device_id array ARM: STi: DT: Move reset controller constants into common location MAINTAINERS: add include/dt-bindings/reset path to reset controller entry Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f2032f24c0e51487d88c3555db12e27d561e4f14 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Aug 19 14:49:26 2015 +0900 ARM: dts: UniPhier: fix PPI interrupt CPU mask of timer nodes This SoC is integrated with 4 Cortex-A9 cores. The GIC bindings document says that the bits[15:8] of the 3rd cell of the interrupts property represents PPI interrupt CPU mask. Because the timer interrupts are wired to all of the 4 cores, bits[15:8] should be set to 0xf. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 012bd2a533cd665c9961c5905f144170b16f61e4 Author: Yalin Wang <yalin.wang2010@xxxxxxxxx> Date: Thu Aug 20 17:41:42 2015 -0700 Input: zhenhua - switch to using bitrev8() Instead of custom zhenhua_bitreverse() let's use generic bitrev8(). Signed-off-by: Yalin Wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 467fb18a8d538be6548ef4093003b63aebbb07b9 Author: Brian Norris <briannorris@xxxxxxxxxxxx> Date: Wed Aug 19 15:18:41 2015 -0700 ARM: dts: rockchip: correct regulator power states for suspend When getting translated from a downstream device tree that used slightly different DT bindings, these regulators got labeled with the "on-in-suspend" state, when they were actually supposed to be turned off for S3 suspend. This was harmless, but not intentional, AFAICT. Let's turn them off to get the optimal power state. Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 6a414e462a7c493ed83535f388b07a34446f33f4 Author: Brian Norris <briannorris@xxxxxxxxxxxx> Date: Wed Aug 19 15:18:40 2015 -0700 ARM: dts: rockchip: correct regulator PM properties This DTS file was submitted with non-upstream bindings. I happened across this while reviewing the jaq DTS. Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit dd52128afddecade1dcd0767aec124c13c8a40bb Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 17:59:49 2015 -0500 NFSv4.1/pnfs Ensure flexfiles reports all connection related errors Make sure that we also handle RPC level connection and protocol negotiation errors. Reported-by: Tom Haynes <loghyr@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 08617f47eaf8c70b4c236dee2014c6141aa282bf Merge: 938049e 32a2b00 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 20 15:42:38 2015 -0700 Merge branch 'lwt-ipv6' Jiri Benc says: ==================== lwtunnel: per route ipv6 support for vxlan v3: Moved LWTUNNEL_ENCAP_IP6 definition in patch 13. v2: Fixed issues in patch 4 pointed out by Alexei. This series enables IPv6 tunnels based on lwtunnel infrastructure. Only vxlan is supported for now. Tested in all combinations of IPv4 over IPv6, IPv6 over IPv4 and IPv6 over IPv6. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32a2b002ce615eadd3bfaddabde290f70a1dd17b Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:32 2015 +0200 ipv6: route: per route IP tunnel metadata via lightweight tunnel Allow specification of per route IP tunnel instructions also for IPv6. This complements commit 3093fbe7ff4b ("route: Per route IP tunnel metadata via lightweight tunnel"). Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> CC: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 904af04d30f303d96902584206457128c3051d8d Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:31 2015 +0200 ipv6: route: extend flow representation with tunnel key Use flowi_tunnel in flowi6 similarly to what is done with IPv4. This complements commit 1b7179d3adff ("route: Extend flow representation with tunnel key"). Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a725e514dbb444f2a39c2bc5de72eb5efbeb7d5e Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:30 2015 +0200 vxlan: metadata based tunneling for IPv6 Support metadata based (formerly flow based) tunneling also for IPv6. This complements commit ee122c79d422 ("vxlan: Flow based tunneling"). Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f264e47d4dbbe590ac1131587933bb87ded296d Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:29 2015 +0200 vxlan: do not shadow flags variable The 'flags' variable is already defined in the outer scope. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 705cc62f6728c5a23e3c82465aa94e652e0b50e4 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:28 2015 +0200 vxlan: provide access function for vxlan socket address family Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab450605b35caa768ca33e86db9403229bf42be4 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:27 2015 +0200 ipv6: ndisc: inherit metadata dst when creating ndisc requests If output device wants to see the dst, inherit the dst of the original skb in the ndisc request. This is an IPv6 counterpart of commit 0accfc268f4d ("arp: Inherit metadata dst when creating ARP requests"). Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06e9d040ba08b0f645783ff958384d5837b3fa3a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:26 2015 +0200 ipv6: drop metadata dst in ip6_route_input The fix in commit 48fb6b554501 is incomplete, as now ip6_route_input can be called with non-NULL dst if it's a metadata dst and the reference is leaked. Drop the reference. Fixes: 48fb6b554501 ("ipv6: fix crash over flow-based vxlan device") Fixes: ee122c79d422 ("vxlan: Flow based tunneling") CC: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> CC: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61adedf3e3f1d3f032c5a6a299978d91eff6d555 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:25 2015 +0200 route: move lwtunnel state to dst_entry Currently, the lwtunnel state resides in per-protocol data. This is a problem if we encapsulate ipv6 traffic in an ipv4 tunnel (or vice versa). The xmit function of the tunnel does not know whether the packet has been routed to it by ipv4 or ipv6, yet it needs the lwtstate data. Moving the lwtstate data to dst_entry makes such inter-protocol tunneling possible. As a bonus, this brings a nice diffstat. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c383fb2254c44e096427470da6a36380169b548 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:24 2015 +0200 ip_tunnels: use tos and ttl fields also for IPv6 Rename the ipv4_tos and ipv4_ttl fields to just 'tos' and 'ttl', as they'll be used with IPv6 tunnels, too. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1ea5d672aaff08da337dee735dbb548e3415585 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:23 2015 +0200 ip_tunnels: add IPv6 addresses to ip_tunnel_key Add the IPv6 addresses as an union with IPv4 ones. When using IPv4, the newly introduced padding after the IPv4 addresses needs to be zeroed out. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 376534a3d17002d608985bd67c3b0880eacadd14 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:22 2015 +0200 ip_tunnels: use offsetofend Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b8847c5a2bafbbf92f4b779f87165093457ea68 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:21 2015 +0200 ip_tunnels: use u8/u16/u32 The ip_tunnels.h include file uses mixture of __u16 and u16 (etc.) types. Unify it to the non-underscore variants. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac1cf3990c99802eae3aa735b35c94a2131eb9fe Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Aug 20 13:56:20 2015 +0200 ip_tunnels: remove custom alignment and packing The custom alignment of struct ip_tunnel_key is unnecessary. In struct sw_flow_key, it starts at offset 256, in struct ip_tunnel_info it's the first field. The structure is also packed even without the __packed keyword. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 938049e18dca57bcd2f93986fc1cbb5a83cdf027 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 19 13:56:42 2015 -0500 net: xgene Remove xgene specific phy and MAC lookup functions Convert the xgene_get_mac_address to device_get_mac_address(), and xgene_get_phy_mode() to device_get_phy_mode(). Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c9bcd117918ba6096d01194565e9d1814e5ef22 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 11:40:31 2015 -0700 net: Fix nexthop lookups Andreas reported breakage adding routes with local nexthops: $ ip route show table main ... 172.28.0.0/24 dev vnf-xe1p0 proto kernel scope link src 172.28.0.16 $ ip route add 10.0.0.0/8 via 172.28.0.32 table 100 dev vnf-xe1p0 RTNETLINK answers: Resource temporarily unavailable 3bfd847203c changed the lookup to use the passed in table but for cases like this the nexthop is in the local table rather than the passed in table. Fixes: 3bfd847203c ("net: Use passed in table for nexthop lookups") Reported-by: Andreas Schultz <aschultz@xxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb4cb85180cd3baee4a01fd32e296fc28c2cffc1 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Aug 19 11:29:35 2015 -0700 bridge: fix netlink max attr size .maxtype should match .policy. Probably just been getting lucky here because IFLA_BRPORT_MAX > IFLA_BR_MAX. Fixes: 13323516 ("bridge: implement rtnl_link_ops->changelink") Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d14a63400dd3e353acb6547831fe465f85864b1 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 19 11:46:43 2015 -0500 smsc911x: Remove dev==NULL check. The dev==NULL check in smsc911x_probe_config is useless and isn't providing any additional protection. If a fwnode doesn't exist then an appropriate error should be returned by device_get_phy_mode() covering the original case of a missing of/fwnode. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f710a3a8089c12dfe3c0cf04bb0a3dee3dea019 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 19 11:46:42 2015 -0500 device property: Add ETH_ALEN check, update comments. This patch adds MAC address length check back into the device_get_mac_addr() function before calling is_valid_ether_addr() similar to the way the OF routine does it. Update the comments for the two new functions. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef09242f3997f5fa063bcfa918d3ce4c4485376c Merge: e01286e a6bf49d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 20 14:13:25 2015 -0700 Merge tag 'wireless-drivers-next-for-davem-2015-08-19' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: ath10k: * add support for qca99x0 family of devices * improve performance of tx_lock * add support for raw mode (802.11 frame format) and software crypto engine enabled via a module parameter ath9k: * add fast-xmit support wil6210: * implement TSO support * support bootloader v1 and onwards iwlwifi: * Deprecate -10.ucode * Clean ups towards multiple Rx queues * Add support for longer CMD IDs. This will be required by new firmwares since we are getting close to the u8 limit. * bugfixes for the D0i3 power state * Add basic support for FTM * polish the Miracast operation * fix a few power consumption issues * scan cleanup * fixes for D0i3 system state * add paging for devices that support it * add again the new RBD allocation model * add more options to the firmware debug system * add support for frag SKBs in Tx ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e01286ef03a9c7b1d4937309f923c226ab05bc4d Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Aug 19 16:04:51 2015 +0800 ipv4: Make fib_encap_match static Make fib_encap_match() static as it isn't used outside the file. Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Reviewed-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84b6714e54e5199e76f845be70295ccaab924872 Merge: 0f8f27d f4e774f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 20 14:10:23 2015 -0700 Merge branch 'ewma' Johannes Berg says: ==================== average: convert users to inline implementation Since there's very little benefit of the out-of-line implementation (a single byte of .text in one driver as far as I've seen), convert all drivers to the inline implementation, saving memory, and remove the out-of-line implementation. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4e774f55fe0bb568a0877b2eb9e1b4b5a6f5cbc Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 19 09:46:22 2015 +0200 average: remove out-of-line implementation Since all users are now converted to the inline implementation, remove the out-of-line implementation entirely. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11ab35ed0457a4b7914358986a67064ecb467e7d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 19 09:46:21 2015 +0200 rt2x00: use DECLARE_EWMA Instead of using the out-of-line EWMA calculation, use DECLARE_EWMA() to create static inlines. On x86/64 this results in code that's one byte larger (for me), but reduces struct link_ant and struct link size by the two unsigned long values that store the parameters each. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46f26ddf562e7495ffa37144be5e447aeb13795e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 19 09:46:20 2015 +0200 ath5k: use DECLARE_EWMA This reduces code size slightly (at least on x86/64) while also removing memory consumption by two unsigned long values for each ath5k device. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5377d75823ff90c0d5d52d69087707b2e54be21b Author: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 09:48:40 2015 +0200 virtio_net: use DECLARE_EWMA Instead of using the out-of-line EWMA calculation, use DECLARE_EWMA() to create static inlines. On x86/64 this results in no change in code size for me, but reduces the struct receive_queue size by the two unsigned long values that store the parameters. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9dae3a97297f71e884ed8e7664955bcacb86f010 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 20 16:08:27 2015 -0500 PCI: Move MPS configuration check to pci_configure_device() Previously we checked for invalid MPS settings, i.e., a device with MPS different than its upstream bridge, in pcie_bus_detect_mps(). We only did this if the arch or hotplug driver called pcie_bus_configure_settings(), and then only if PCIe bus tuning was disabled (PCIE_BUS_TUNE_OFF). Move the MPS checking code to pci_configure_device(), so we do it in the pci_device_add() path for every device. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0f8f27de19667075591eaffbf435dd78c73a2df4 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Aug 19 10:21:58 2015 +0300 bnx2x: Fix vxlan endianity issue Commit f34fa14cc033 ("bnx2x: Add vxlan RSS support") has introduced an endianity issue when passing the vxlan UDP port to the HW. Reported-by: <fengguang.wu@xxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26a6980cf40c67182bc36fa0b088ebed79796110 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 18 21:09:33 2015 +0200 drm/amdgpu: fix CS error handling v2 Stop double freeing the the BO list by pulling the content of amdgpu_cs_parser_prepare_job() into the IOCTL function again. v2: better commit message Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b203dd95949ec8d5e30d53446408eb9a4d1bdc62 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 18 18:23:16 2015 +0200 drm/amdgpu: fix zeroing all IB fields manually v2 The problem now is that we don't necessarily call amdgpu_ib_get() in some error paths and so work with uninitialized data. Better require that the memory is already zeroed. v2: better commit message Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bf7ebaeed4dca7c0a7f9d9a44efbd9f74cf22c5d Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 18 15:30:26 2015 +0200 drm/amdgpu: free the job immediately after dispatching it Fixes a whole bunch of lockdep warnings. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 2b184d8dbc002d3ef26e4827dd5a80d57533dcae Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 18 14:41:25 2015 +0200 drm/amdgpu: use a spinlock instead of a mutex for the rq More appropriate and fixes some nasty lockdep warnings. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit a3348bb801bac5c9a81fb3da4b1a2f0479e97923 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 18 16:25:46 2015 +0800 drm/amdgpu: don't need to use bo_list_clone any more Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 3c4adead8480f81df687a181d1e54a39b91b9363 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 18 16:19:13 2015 +0800 drm/amdgpu: some clean up for cs_ioctl Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 4fe6311734986220e40afe4bf72d62383c1e8d6c Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 18 16:12:15 2015 +0800 drm/amdgpu: prepare job should be common code path Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit bb977d3711ed1de1601b463e7fd5a43d82a2b077 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 18 15:16:40 2015 +0800 drm/amdgpu: abstract amdgpu_job for scheduler Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 1a15aaa998dc3b51f7f8b9a820bc7a192a0c2f76 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Aug 6 16:00:33 2015 -0700 irqchip: Add bcm2836 interrupt controller for Raspberry Pi 2 This interrupt controller is the new root interrupt controller with the timer, PMU events, and IPIs, and the bcm2835's interrupt controller is chained off of it to handle the peripherals. I wrote the interrupt chip support, while Andrea Merello wrote the IPI code. Signed-off-by: Andrea Merello <andrea.merello@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx Cc: Lee Jones <lee@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438902033-31477-5-git-send-email-eric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 815e7a31c3f7929f371da9c7e9ee91cfd52ef453 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Aug 6 16:00:32 2015 -0700 irqchip: Add documentation for the bcm2836 interrupt controller This is a new per-cpu root interrupt controller on the Raspberry Pi 2, which will chain to the bcm2835 interrupt controller for peripheral interrupts. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx Cc: Lee Jones <lee@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438902033-31477-4-git-send-email-eric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a493f339a88ddd20693460c1dcf8230aa3732b8b Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Aug 6 16:00:31 2015 -0700 irqchip/bcm2835: Add support for being used as a second level controller The BCM2836 (Raspberry Pi 2) uses two levels of interrupt handling with the CPU-local interrupts being the root, so we need to register ours as chained off of the CPU's local interrupt. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx Cc: Lee Jones <lee@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438902033-31477-3-git-send-email-eric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit de58e52f207e3318cb1e1d43f951454e0c83827f Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Aug 6 16:00:30 2015 -0700 irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ For BCM2836, we want to chain into this IRQ chip from the root controller, and for chaining we need to do something else instead of handle_IRQ() once we have decoded the IRQ. Note that this changes the behavior a little bit: Previously for a non-shortcut IRQ, we'd loop reading and handling the second level IRQ status until it was cleared before returning to the loop reading the top level IRQ status (Note that the top level bit is just an OR of the low level bits). For the expected case of just one interrupt to be handled, this was an extra register read, so we're down from 4 to 3 reads. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx Cc: Lee Jones <lee@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438902033-31477-2-git-send-email-eric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6055f37afd8b68aaf512532e7e2dd651df2d7833 Author: Marek Olšák <marek.olsak@xxxxxxx> Date: Tue Aug 18 23:58:47 2015 +0200 drm/amdgpu: bump the DRM version for new allowed mem-mapped registers Used by mesa, etc. for profiling. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Marek Olšák <marek.olsak@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b86d598d0c9d847c3ff0fc1b31c762551a0f0e12 Merge: 57b8efa 2640b39 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 20 13:01:57 2015 -0700 Merge branch 'vrf-cleanups-part-2' Nikolay Aleksandrov says: ==================== vrf: cleanups part 2 This is the next part of vrf cleanups, patch 1 drops the SLAB_PANIC when creating kmem cache since it's handled, patch 02 removes a slave duplicate check which is already done by the lower/upper code, patch 3 moves the ndo_add_slave code around a bit so we can drop an error label and patch 4 drops the master device checks which are unnecessary because the ops are taken from the master device itself so it can't be different. ==================== Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> commit 2640b39c28174dba1c9e089be575d87e5204282f Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 06:27:10 2015 +0300 vrf: ndo_add|del_slave drop unnecessary checks When ndo_add|del_slave ops are used, they're taken from the respective master device's netdev ops, so if the master device is a VRF only then the VRF ops will get called thus no need to check the type of the master. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15df5e711245743a7a8018dd6535e39dcfcb38fc Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 06:27:09 2015 +0300 vrf: move vrf_insert_slave so we can drop a goto label We can simplify do_vrf_add_slave by moving vrf_insert_slave in the end of the enslaving and thus eliminate an error goto label. It always succeeds and isn't needed before that anyway. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67f3a90b54322314a01af28946799a84c1b1d190 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 06:27:08 2015 +0300 vrf: remove unnecessary duplicate check The upper/lower functions already check for duplicate slaves so no need to do it again. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e367da02fefcc6026c560ab3f361a40a16ccd9b3 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 06:27:07 2015 +0300 vrf: don't panic on cache create failure It's pointless to panic on cache create failure when that case is handled and even more so since it's not a kernel-wide fatal problem so don't panic. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29e76924cf087bc6a9114a9244828fd13ae959bb Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Aug 19 21:26:43 2015 +0200 nfc: netlink: Add capability to reply to vendor_cmd with data A proprietary vendor command may send back useful data to the user application. For example, the field level applied on the NFC router antenna. Still based on net/wireless/nl80211.c implementation, add nfc_vendor_cmd_alloc_reply_skb and nfc_vendor_cmd_reply in order to send back over netlink data generated by a proprietary command. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 57b8efa1a5e4baf3dfca8d5d7bfb946bd44ff390 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 06:12:29 2015 +0300 vrf: plug skb leaks Currently whenever a packet different from ETH_P_IP is sent through the VRF device it is leaked so plug the leaks and properly drop these packets. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a9e0ffc0f128ecdf7c770f76c268e4f9f3c9118 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Aug 19 21:26:42 2015 +0200 nfc: nci: hci: Add check on skb nci_hci_send_cmd parameter skb can be NULL and may lead to a NULL pointer error. Add a check condition before setting HCI rx buffer. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d5dc861bd601b546ae6b36af54485142cca36a5e Author: Toshi Kani <toshi.kani@xxxxxx> Date: Wed Jul 22 12:06:11 2015 -0600 x86/mm/pat: Add comments to cachemode translation tables Add comments to the cachemode translation tables to clarify that the default values are set as minimal supported mode, which are necessary to handle WC and WT fallback to UC- when they are not enabled. Signed-off-by: Toshi Kani <toshi.kani@xxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437588371-28223-1-git-send-email-toshi.kani@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c04c674fadeb4a8e6522fc838d4620f7cfd4c621 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 20 17:26:02 2015 +0200 nfc: s3fwrn5: Add driver for Samsung S3FWRN5 NFC Chip Add driver for Samsung S3FWRN5 NFC controller. S3FWRN5 is using NCI protocol and I2C communication interface. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 025a0cb8380b7100d39fb426db9192b6c59595dc Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 20 17:26:01 2015 +0200 NFC: nci: export nci_core_reset and nci_core_init Some drivers needs to have ability to reinit NCI core, for example after updating firmware in setup() of post_setup() callback. This patch makes nci_core_reset() and nci_core_init() functions public, to make it possible. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fdf79bd48876812acf0de58ed7a8bc1b3a3c67d6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 20 17:26:00 2015 +0200 NFC: nci: Add post_setup handler Some drivers require non-standard configuration after NCI_CORE_INIT request, because they need to know ndev->manufact_specific_info or ndev->manufact_id. This patch adds post_setup handler allowing to do such custom configuration. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 05ddaa4d6d3806bebdf14f7c5de742a6e0e3b689 Merge: b48362d 9ca3085 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 20 21:13:22 2015 +0200 Merge branch 'fortglx/4.3/time' of https://git.linaro.org/people/john.stultz/linux into timers/core - A handful or y2038 related items - A walltime to monotonic limit - Small fixes for timespec_trunc() and timer_list output commit e76d28dd9ca84fa96dc0054bab34ccec34a7662a Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 20 13:12:51 2015 -0500 NFSv4.1/pnfs: Ensure the flexfiles layoutstats timers are consistent We want to ensure that the stopwatches for the busy timer and the aggregate timer are consistent. This means that they need to use the same start/stop times. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 046be74da8f257c4f1925ed4b5d4ee4c822ef9c6 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Fri Aug 21 10:32:50 2015 +0800 NFS41: fix list splice type We want to move commiting pages to pages list instead. Otherwise it causes pnfs small writes crash like: [34560.037692] BUG: unable to handle kernel NULL pointer dereference at 0000000000000068 [34560.038557] IP: [<ffffffffa05423d6>] nfs_init_commit+0x26/0x130 [nfs] [34560.039400] PGD 69f5a067 PUD 69f59067 PMD 0 [34560.040207] Oops: 0000 [#1] SMP [34560.041014] Modules linked in: nfsv3(OE) nfs_layout_flexfiles(OE) nfsv4(OE) nfs(OE) fscache(E) rpcsec_gss_krb5(E) xt_addrtype(E) xt_conntrack(E) ipt_MASQUERADE(E) nf_nat_masquerade_ipv4(E) iptable_nat(E) nf_conntrack_ipv4(E) nf_defrag_ipv4(E) nf_nat_ipv4(E) iptable_filter(E) ip_tables(E) x_tables(E) nf_nat(E) nf_conntrack(E) bridge(E) stp(E) llc(E) dm_thin_pool(E) dm_persistent_data(E) dm_bio_prison(E) dm_bufio(E) ppdev(E) vmw_balloon(E) coretemp(E) crc32_pclmul(E) ghash_clmulni_intel(E) aesni_intel(E) aes_x86_64(E) glue_helper(E) lrw(E) gf128mul(E) ablk_helper(E) cryptd(E) psmouse(E) serio_raw(E) vmw_vmci(E) i2c_piix4(E) shpchp(E) parport_pc(E) parport(E) mac_hid(E) nfsd(E) auth_rpcgss(E) nfs_acl(E) lockd(E) grace(E) sunrpc(E) xfs(E) libcrc32c(E) hid_generic(E) usbhid(E) hid(E) e1000(E) mptspi(E) [34560.045106] mptscsih(E) mptbase(E) vmwgfx(E) drm_kms_helper(E) ttm(E) drm(E) autofs4(E) [last unloaded: fscache] [34560.045897] CPU: 0 PID: 130543 Comm: bash Tainted: G OE 4.2.0-rc5-dp-00057-gf993a93 #11 [34560.046699] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 05/20/2014 [34560.047525] task: ffff880031b0a980 ti: ffff880045fec000 task.ti: ffff880045fec000 [34560.048264] RIP: 0010:[<ffffffffa05423d6>] [<ffffffffa05423d6>] nfs_init_commit+0x26/0x130 [nfs] [34560.049000] RSP: 0018:ffff880045fefc18 EFLAGS: 00010246 [34560.049717] RAX: 0000000000000000 RBX: ffff8800208fbc80 RCX: ffff880045fefd50 [34560.050396] RDX: ffff880031c19ec0 RSI: ffff880045fefc88 RDI: ffff8800208fbc80 [34560.051041] RBP: ffff880045fefc28 R08: ffff8800208fbe68 R09: ffff880045fefc88 [34560.051666] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880045fefc78 [34560.052247] R13: ffff880045fefc88 R14: ffff880045fefa90 R15: ffff880045fefd50 [34560.052825] FS: 00007fa02d58c740(0000) GS:ffff88006d600000(0000) knlGS:0000000000000000 [34560.053410] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [34560.053992] CR2: 0000000000000068 CR3: 000000003b37a000 CR4: 00000000001406f0 [34560.054615] Stack: [34560.055200] ffff8800208fbc80 ffff8800208fbc80 ffff880045fefcc8 ffffffffa05c1a5b [34560.055800] ffff880045fefcc8 ffff880045fefd50 0000000045fefcb8 ffff880045fefd40 [34560.056418] ffff8800420608e0 ffffffffa04f3910 0000000100000001 ffff880045fefd50 [34560.057013] Call Trace: [34560.057672] [<ffffffffa05c1a5b>] pnfs_generic_commit_pagelist+0x1cb/0x300 [nfsv4] [34560.058277] [<ffffffffa04f3910>] ? ff_layout_commit_pagelist+0x20/0x20 [nfs_layout_flexfiles] [34560.058907] [<ffffffffa04f3905>] ff_layout_commit_pagelist+0x15/0x20 [nfs_layout_flexfiles] [34560.059557] [<ffffffffa0543fc1>] nfs_generic_commit_list+0xb1/0xf0 [nfs] [34560.060214] [<ffffffffa0543e47>] ? nfs_scan_commit+0x37/0xa0 [nfs] [34560.060825] [<ffffffffa0544081>] nfs_commit_inode+0x81/0x150 [nfs] [34560.061432] [<ffffffffa05443ae>] nfs_wb_all+0x1ae/0x400 [nfs] [34560.062035] [<ffffffffa05380ad>] nfs_getattr+0x33d/0x510 [nfs] [34560.062630] [<ffffffff8122499c>] vfs_getattr_nosec+0x2c/0x40 [34560.063223] [<ffffffff81224a66>] vfs_getattr+0x26/0x30 [34560.063818] [<ffffffff81224b35>] vfs_fstatat+0x65/0xa0 [34560.064413] [<ffffffff81224f3f>] SYSC_newstat+0x1f/0x40 [34560.065016] [<ffffffff8102b176>] ? do_audit_syscall_entry+0x66/0x70 [34560.065626] [<ffffffff8102c773>] ? syscall_trace_enter_phase1+0x113/0x170 [34560.066245] [<ffffffff81003017>] ? trace_hardirqs_on_thunk+0x17/0x19 [34560.066868] [<ffffffff812251ae>] SyS_newstat+0xe/0x10 [34560.067533] [<ffffffff817a5df2>] entry_SYSCALL_64_fastpath+0x16/0x7a [34560.068173] Code: 0f 1f 44 00 00 0f 1f 44 00 00 55 4c 8d 87 e8 01 00 00 48 89 e5 53 48 89 fb 48 83 ec 08 4c 8b 0e 49 8b 41 18 4c 39 ce 48 8b 40 40 <4c> 8b 50 68 74 24 48 8b 87 e8 01 00 00 48 8b 7e 08 4d 89 41 08 [34560.069609] RIP [<ffffffffa05423d6>] nfs_init_commit+0x26/0x130 [nfs] [34560.070295] RSP <ffff880045fefc18> [34560.071008] CR2: 0000000000000068 [34560.073207] ---[ end trace f85f873260977406 ]--- [fixes 27571297a7e(pNFS: Tighten up locking around DS commit buckets)] Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9a16ea900fadc88714e3a32214dea8e968ccd889 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Aug 20 11:12:35 2015 +0200 regmap: regmap_raw_read return error on !bus->read Return -ENOTSUPP if map->bus->read is not implemented and we do not use the cache. This code path would directly use bus->read would run into an NULL pointer for the read function. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a71d6ea6d3ec3e8ba4220370f29531903e3bc153 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Aug 20 17:19:08 2015 +0800 spi: mediatek: use BIT() to instead of SPI_CMD_*_OFFSET This patch removes SPI_CMD_*_OFFSET defines, and uses the BIT(x) defines instead. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af57937e862370c14b7d71d15d969593ffca1ba8 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Aug 20 17:19:07 2015 +0800 spi: medaitek: revise quirks compatibility style The quirks are true/false, so define these as bool. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44f636da4e71e0c73d6e29d0319a8954ce3f247a Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Aug 20 17:19:06 2015 +0800 spi: mediatek: fix spi incorrect endian usage TX_ENDIAN/RX_ENDIAN bits define whether to reverse the endian order of the data DMA from/to memory. The endian order should keep the same with cpu endian. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2e05394e4a3420dab96f728df4531893494e15d Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:41 2015 -0600 pmem, dax: have direct_access use __pmem annotation Update the annotation for the kaddr pointer returned by direct_access() so that it is a __pmem pointer. This is consistent with the PMEM driver and with how this direct_access() pointer is used in the DAX code. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 2765cfbb342c727c3fd47b165196cb16da158022 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:40 2015 -0600 dax: update I/O path to do proper PMEM flushing Update the DAX I/O path so that all operations that store data (I/O writes, zeroing blocks, punching holes, etc.) properly synchronize the stores to media using the PMEM API. This ensures that the data DAX is writing is durable on media before the operation completes. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 5de490daec8b6354b90d5c9d3e2415b195f5adb6 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:39 2015 -0600 pmem: add copy_from_iter_pmem() and clear_pmem() Add support for two new PMEM APIs, copy_from_iter_pmem() and clear_pmem(). copy_from_iter_pmem() is used to copy data from an iterator into a PMEM buffer. clear_pmem() zeros a PMEM memory range. Both of these new APIs must be explicitly ordered using a wmb_pmem() function call and are implemented in such a way that the wmb_pmem() will make the stores to PMEM durable. Because both APIs are unordered they can be called as needed without introducing any unwanted memory barriers. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 4a370df5534ef727cba9a9d74bf22e0609f91d6e Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:38 2015 -0600 pmem, x86: clean up conditional pmem includes Prior to this change x86_64 used the pmem defines in arch/x86/include/asm/pmem.h, and UM used the default ones at the top of include/linux/pmem.h. The inclusion or exclusion in linux/pmem.h was controlled by CONFIG_ARCH_HAS_PMEM_API, but the ones in asm/pmem.h were controlled by ARCH_HAS_NOCACHE_UACCESS. Instead, control them both with CONFIG_ARCH_HAS_PMEM_API so that it's clear that they are related and we don't run into the possibility where they are both included or excluded. Also remove a bunch of stale function prototypes meant for UM in asm/pmem.h - these just conflicted with the inline defaults in linux/pmem.h and gave compile errors. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 18279b467a9d89afe44afbc19d768e834dbf4545 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:37 2015 -0600 pmem: remove layer when calling arch_has_wmb_pmem() Prior to this change arch_has_wmb_pmem() was only called by arch_has_pmem_api(). Both arch_has_wmb_pmem() and arch_has_pmem_api() checked to make sure that CONFIG_ARCH_HAS_PMEM_API was enabled. Instead, remove the old arch_has_wmb_pmem() wrapper to be rid of one extra layer of indirection and the redundant CONFIG_ARCH_HAS_PMEM_API check. Rename __arch_has_wmb_pmem() to arch_has_wmb_pmem() since we no longer have a wrapper, and just have arch_has_pmem_api() call the architecture specific arch_has_wmb_pmem() directly. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 40603526569b304dd92f720f2f8ab11e828ea145 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Aug 18 13:55:36 2015 -0600 pmem, x86: move x86 PMEM API to new pmem.h header Move the x86 PMEM API implementation out of asm/cacheflush.h and into its own header asm/pmem.h. This will allow members of the PMEM API to be more easily identified on this and other architectures. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Suggested-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit e134cb2041359c927b735b81568373624ea26baf Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Aug 14 11:22:16 2015 +0800 ASoC: wm8994: fix add dynamic path error If there don't exist dynamic sink or source widget, it will failed to add dynamic path. "AIF3ADCDAT" is snd_soc_dapm_aif_out, can't be dynamic sink widget. So change the audio route to fix this issue. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f682c4ffd25a19594d21987c19a69fa123242eb7 Author: Vignesh R <vigneshr@xxxxxx> Date: Thu Aug 20 16:00:59 2015 +0530 spi: ti-qspi: use 128 bit transfer mode where possible TI QSPI has four 32 bit data regsiters which can be used to transfer 16 bytes of data at once. The register group QSPI_SPI_DATA_REG_3, QSPI_SPI_DATA_REG_2, QSPI_SPI_DATA_REG_1 and QSPI_SPI_DATA_REG is treated as a single 128-bit word for shifting data in and out. The bit at QSPI_SPI_DATA_REG_3[31] position is the first bit to be shifted out in case of 128 bit transfer mode. Therefore the first byte to be written to flash should be at QSPI_SPI_DATA_REG_3[31-25] position. Instead of writing 1 byte at a time when interacting with spi-nor flash, make use of all the four registers so that 16 bytes can be transferred in one go. This reduces number of register writes and Word Complete interrupts for a given transfer message size, thereby increasing the write performance. Without this patch the raw flash write speed is ~100KB/s, with this patch the write speed increases to ~400 kB/s on DRA74 EVM. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 14a500fe1396934c6b3ed8f009459a4723da7862 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Aug 20 22:11:15 2015 +0530 ASoC: samsung: Remove redundant arndale_audio_remove There is no use of snd_soc_unregister_card in remove function as devm_snd_soc_register_card in probe function automatically handles it. So, remove use of snd_soc_unregister_card and with this change remove arndale_audio_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3a10766d0624c72b978790dba864cf7d6160f89f Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Aug 4 14:54:04 2015 -0500 PCI: Drop references acquired by of_parse_phandle() of_parse_phandle() returns a device_node pointer with the refcount incremented. We should dispose of this reference when we're finished. Drop the reference acquired by of_parse_phandle(). Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 2291ec09025f85c11fbd0e9877c4306a8aa6e7e9 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Mon Aug 3 22:04:06 2015 -0500 PCI/MSI: Remove unused pcibios_msi_controller() hook The pcibios_msi_controller() hook was only implemented by ARM, and it sets pci_bus->msi now, so it doesn't need this hook anymore. Remove the unused pcibios_msi_controller() hook. [bhelgaas: changelog, split into separate patch] Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b5e5e8a13e19ee17e6ffbe2c3d344182b7be20f6 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Aug 4 11:58:49 2015 -0500 ARM/PCI: Remove msi_controller from struct pci_sys_data ARM now uses pci_bus->msi to store the msi_controller pointer, so we don't need to save it in struct pci_sys_data, and we don't need to implement pcibios_msi_controller() to get it out of pci_sys_data. Remove msi_controller from struct pci_sys_data and pcibios_msi_controller(). [bhelgaas: changelog, split into separate patch] Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit 8953aab1e80fd299d6185a57edaff733fa5c6a55 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Wed Jul 29 12:33:18 2015 +0100 ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() ARM previously stored the msi_controller pointer in its sysdata, struct pci_sys_data, and implemented pcibios_msi_controller() to retrieve it. That made PCI host controller drivers specific to ARM because they had to put the msi_controller pointer in the ARM-specific pci_sys_data. There is now a generic mechanism, pci_scan_root_bus_msi(), for giving the msi_controller pointer to the PCI core. Use this for all ARM systems and for the DesignWare and Xilinx PCI host controller drivers. This removes an ARM dependency from the DesignWare, DRA7xx, EXYNOS, i.MX6, Keystone, Layerscape, SPEAr13xx, and Xilinx drivers. [bhelgaas: changelog, split into separate patch] Suggested-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> CC: Pratyush Anand <pratyush.anand@xxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Simon Horman <horms@xxxxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> CC: Thierry Reding <thierry.reding@xxxxxxxxx> CC: Michal Simek <michal.simek@xxxxxxxxxx> CC: Marc Zyngier <marc.zyngier@xxxxxxx> commit d2a7926d42b3b46e45b4e44dc3302b2701ec0856 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Mon Aug 3 21:27:10 2015 -0500 PCI: Add pci_scan_root_bus_msi() Add a pci_scan_root_bus_msi() interface so an arch can specify the MSI controller up front. This removes the need for a pcibios callback to set the MSI controller later. This is not exported because I'd like to replace the variety of "scan root bus" interfaces with a single, more extensible interface that can handle the MSI controller, domain, pci_ops, resources, etc. I hope this interface is temporary. [bhelgaas: changelog, split into separate patch] Suggested-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit ada8b675b76ec847bfa4a237d82a7a96da128768 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Wed Jul 29 12:33:17 2015 +0100 ARM/PCI: Replace panic with WARN messages on failures In the ARM PCI bios32 layer, failures to dynamically allocate pci_sys_data for a PCI bus, or a PCI bus scan failure have to be considered serious warnings but they should not trigger a system panic so that at least the system is given a chance to be debugged. This patch replaces the panic statements with WARN() messages to improve error reporting in the ARM PCI bios32 layer. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Marc Zyngier <marc.zyngier@xxxxxxx> commit aa4a5c0d2d7e3c30f9df033ea0367f148bb369f6 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Aug 5 02:23:40 2015 +0530 PCI: generic: Add arm64 support Make pci-host-generic driver (kernel option PCI_HOST_GENERIC) available on arm64. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 459a07721c113b807ffcaa7bc98dd5d26beb39d5 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Aug 5 02:23:39 2015 +0530 PCI: Build setup-irq.o for arm64 ARM64 requires setup-irq.o to provide pci_fixup_irqs() implementation. We are adding this now to support the pci-host-generic host controller, but we enable it for ARM64 PCI so that other host controllers can use this as well. Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 499733e0cc1a00523c5056a690f65dea7b9da140 Author: Jayachandran C <jchandra@xxxxxxxxxxxx> Date: Wed Aug 5 02:23:38 2015 +0530 PCI: generic: Remove dependency on ARM-specific struct hw_pci The generic OF-based host controller driver uses pci_common_init_dev(), which is ARM-specific and requires the ARM struct hw_pci. The part of pci_common_init_dev() that is needed is limited and can be done here without using hw_pci. Note that the ARM pcibios functions expect the PCI sysdata to be a pointer to a struct pci_sys_data. Add a struct pci_sys_data as the first element in struct gen_pci so that when we use a gen_pci pointer as sysdata, it is also a pointer to a struct pci_sys_data. Create and scan the root bus directly without using the ARM pci_common_init_dev() interface. [bhelgaas: changelog, move pcie_bus_configure_settings() before pci_bus_add_devices(), combine !PCI_PROBE_ONLY blocks] Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Tested-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Jayachandran C <jchandra@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 24928634f81b1592e83b37dcd89ed45c28f12feb Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sun Aug 16 13:04:50 2015 -0700 f2fs: check the node block address of newly allocated nid This patch adds a routine which checks the block address of newly allocated nid. If an nid has already allocated by other thread due to subtle data races, it will result in filesystem corruption. So, it needs to check whether its block address was already allocated or not in prior to nid allocation as the last chance. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a21c20f0c812925085204fced932ac95f2a76bf0 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sun Aug 16 12:38:15 2015 -0700 f2fs: go out for insert_inode_locked failure We should not call unlock_new_inode when insert_inode_locked failed. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5ee5293c3290a8e710d75977418f954e62c3dfdf Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Aug 15 22:06:08 2015 -0700 f2fs: retry gc if one section is not successfully reclaimed If FG_GC failed to reclaim one section, let's retry with another section from the start, since we can get anoterh good candidate. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2286c0205d1478d4bece6e733cbaf15535fba09d Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Aug 15 21:51:05 2015 -0700 f2fs: fix to cover lock_op for update_inode_page Previously, update_inode_page is not called under f2fs_lock_op. Instead we should call with f2fs_write_inode. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 268344664603706b6f156548f9d7482665222f87 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Aug 14 17:57:29 2015 -0700 f2fs: reuse nids more aggressively If we can reuse nids as many as possible, we can mitigate producing obsolete node pages in the page cache. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 26d5859974bb817f7615be90199a8e82e3f0a0ed Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Aug 14 14:37:50 2015 -0700 f2fs: avoid garbage collecting already moved node blocks If node blocks were already moved, we don't need to move them again. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 740432f835608d11b5386321ab5aa8f61e07fb27 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Aug 14 11:43:56 2015 -0700 f2fs: handle failed bio allocation As the below comment of bio_alloc_bioset, f2fs can allocate multiple bios at the same time. So, we can't guarantee that bio is allocated all the time. " * When @bs is not NULL, if %__GFP_WAIT is set then bio_alloc will always be * able to allocate a bio. This is due to the mempool guarantees. To make this * work, callers must never allocate more than 1 bio at a time from this pool. * Callers that need to allocate more than 1 bio must always submit the * previously allocated bio for IO before attempting to allocate a new one. * Failure to do so can cause deadlocks under memory pressure. " Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a6db67f06fd9f6b1ddb11bcf4d7e8e8a86908d01 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Aug 10 15:01:12 2015 -0700 f2fs: increase the number of max hard links This patch increases the number of maximum hard links for one file. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 798c1b16d1a6171587ff46c74ede8092e66f72f7 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Aug 11 21:59:49 2015 -0700 f2fs: skip checkpoint if there is no dirty and prefree segments We should avoid needless checkpoints when there is no dirty and prefree segment. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 31696580bf4c042a0f7b06d855e04441488d18b1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Jul 28 18:33:46 2015 +0800 f2fs: shrink free_nids entries This patch introduces __count_free_nids/try_to_free_nids and registers them in slab shrinker for shrinking under memory pressure. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 206e61be29624499af46546076e835da93e6bde5 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 12 17:48:21 2015 +0800 f2fs: avoid clear valid page In f2fs_delete_entry, if last dirent is remove from the dentry page, we will try to punch that page since it has no valid date in it. But truncate_hole which is used for punching could fail because of no memory or IO error, if that happened, we'd better skip clearing this valid dentry page. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7b2a246b888ffb26fcec10adf7ff80b00fbad909 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 12 17:47:08 2015 +0800 MAINTAINERS: add myself as a dedicated reviewer of f2fs I volunteer to be a dedicated reviewer of f2fs, add my email address in maintainship entry of f2fs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 315df8398e36360c0be62e6fdd3f2708fc3a2567 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Aug 11 12:45:39 2015 -0700 f2fs: do not write any node pages related to orphan inodes We should not write node pages when deleting orphan inodes. In order to do that, we can eaisly set POR_DOING flag earlier before entering orphan inode routine. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 895fb3159280fe7695b35ec7c87ec19e13ca5b6e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Aug 21 20:43:44 2015 +0300 xtensa: improve vmlinux.lds.S sed post-processing Current sed script makes assumptions about the structure of rules that group .text sections in the vmlinux linker script. These assumptions get broken occasionally, e.g.: 779c88c94c34 "ARM: 8321/1: asm-generic: introduce.text.fixup input section", or 9bebe9e5b0f3 "kbuild: Fix .text.unlikely placement". Rewrite sed rules so that they don't depend on number/arrangement of text sections in *(...) blocks. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 5fb4e288a025af1abc5c67ecebf30fbf6b3edad1 Author: Christopher Oo <t-chriso@xxxxxxxxxxxxx> Date: Thu Jun 25 16:10:48 2015 -0700 cifs: Fix use-after-free on mid_q_entry With CIFS_DEBUG_2 enabled, additional debug information is tracked inside each mid_q_entry struct, however cifs_save_when_sent may use the mid_q_entry after it has been freed from the appropriate callback if the transport layer has very low latency. Holding the srv_mutex fixes this use-after-free, as cifs_save_when_sent is called while the srv_mutex is held while the request is sent. Signed-off-by: Christopher Oo <t-chriso@xxxxxxxxxxxxx> commit 0a6d0b64120759df8b9291af92d998ed1cbefc9d Author: Steve French <steve.french@xxxxxxxxxxxxxxx> Date: Sat Jul 4 18:45:33 2015 -0500 Update cifs version number Update modinfo cifs.ko version number to 2.07 Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> commit 0de1f4c6f6c028249579d8d80fa0a4f6322b2227 Author: Steve French <steve.french@xxxxxxxxxxxxxxx> Date: Sat Jul 4 18:40:10 2015 -0500 Add way to query server fs info for smb3 The server exports information about the share and underlying device under an SMB3 export, including its attributes and capabilities, which is stored by cifs.ko when first connecting to the share. Add ioctl to cifs.ko to allow user space smb3 helper utilities (in cifs-utils) to display this (e.g. via smb3util). This information is also useful for debugging and for resolving configuration errors. Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> commit d8d23fa0f27f3b2942a7bbc7378c7735324ed519 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 20 11:47:13 2015 +0100 arm64: mdscr_el1: avoid exposing DCC to userspace We don't want to expose the DCC to userspace, particularly as there is a kernel console driver for it. This patch resets mdscr_el1 to disable userspace access to the DCC registers on the cold boot path. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 090749502ff20d7d9ec244036fe636b6bf0433b6 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Aug 19 17:23:58 2015 +0530 ARC: add/fix some comments in code - no functional change Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 6de6066c0d24a66df465cf87a4041ef7ef35ba6f Author: Yuriy Kolerov <yuriy.kolerov@xxxxxxxxxxxx> Date: Wed Aug 12 17:23:32 2015 +0300 ARC: change some branchs to jumps to resolve linkage errors When kernel's binary becomes large enough (32M and more) errors may occur during the final linkage stage. It happens because the build system uses short relocations for ARC by default. This problem may be easily resolved by passing -mlong-calls option to GCC to use long absolute jumps (j) instead of short relative branchs (b). But there are fragments of pure assembler code exist which use branchs in inappropriate places and cause a linkage error because of relocations overflow. First of these fragments is .fixup insertion in futex.h and unaligned.c. It inserts a code in the separate section (.fixup) with branch instruction. It leads to the linkage error when kernel becomes large. Second of these fragments is calling scheduler's functions (common kernel code) from entry.S of ARC's code. When kernel's binary becomes large it may lead to the linkage error because scheduler may occur far enough from ARC's code in the final binary. Signed-off-by: Yuriy Kolerov <yuriy.kolerov@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 9181f8bf5abf4b9d59b12e878895375b84fe32ba Author: Jan Kara <jack@xxxxxxxx> Date: Thu Aug 20 14:50:07 2015 +0200 udf: Don't modify filesystem for read-only mounts When read-write mount of a filesystem is requested but we find out we can mount the filesystem only in read-only mode, we still modify LVID in udf_close_lvid(). That is both unnecessary and contrary to expectation that when we fall back to read-only mount we don't modify the filesystem. Make sure we call udf_close_lvid() only if we called udf_open_lvid() so that filesystem gets modified only if we verified we are allowed to write to it. Reported-by: Karel Zak <kzak@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit 5b733faca671756dd41b7e24584374e2b1fc3c4d Author: Michal Marek <mmarek@xxxxxxxx> Date: Thu Aug 20 14:13:35 2015 +0200 genksyms: Regenerate parser Rebuild the parser after commit 1c722503fa81 (genksyms: Duplicate function pointer type definitions segfault), using bison 2.7. Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 1c722503fa81888c936a8d1a5052daec859f1a7c Author: Richard Yao <richard.yao@xxxxxxxxxxxxx> Date: Mon Jul 20 19:52:48 2015 -0400 genksyms: Duplicate function pointer type definitions segfault I noticed that genksyms will segfault when it sees duplicate function pointer type declaration when I placed the same function pointer definition in two separate headers in a local branch as an intermediate step of some refactoring. This can be reproduced by piping the following minimal test case into `genksyms -r /dev/null` or alternatively, putting it into a C file attempting a build: typedef int (*f)(); typedef int (*f)(); Attaching gdb to genksyms to understand this failure is useless without changing CFLAGS to emit debuginfo. Once you have debuginfo, you will find that the failure is that `char *s` was NULL and the program executed `while(*s)`. At which point, further debugging requires familiarity with compiler front end / parser development. What happens is that flex identifies the first instance of the token "f" as IDENT and the yacc parser adds it to the symbol table. On the second instance, flex will identify "f" as TYPE, which triggers an error case in the yacc parser. Given that TYPE would have been IDENT had it not been in the symbol table, the the segmentaion fault could be avoided by treating TYPE as IDENT in the affected rule. Some might consider placing identical function pointer type declarations in different headers to be poor style might consider a failure to be beneficial. However, failing through a segmentation fault makes the cause non-obvious and can waste the time of anyone who encounters it. Signed-off-by: Richard Yao <richard.yao@xxxxxxxxxxxxx> Acked-by: Madhuri Yechuri <madhuriyechuri@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 9bebe9e5b0f3109a14000df25308c2971f872605 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun Jul 19 18:01:19 2015 -0700 kbuild: Fix .text.unlikely placement When building a kernel with .text.unlikely text the unlikely text for each translation unit was put next to the main .text code in the final vmlinux. The problem is that the linker doesn't allow more specific submatches of a section name in a different linker script statement after the main match. So we need to move them all into one line. With that change .text.unlikely is at the end of everything again. I also moved .text.hot into the same statement though, even though that's not strictly needed. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 3c0561e0043fe870426b445890ab93204332ae39 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Fri Aug 14 13:52:13 2015 +0300 Avoid conflict with host definitions when cross-compiling Certain platforms (e. g. BSD-based ones) define some ELF constants according to host. This patch fixes problems with cross-building Linux kernel on these platforms (e. g. building ARM 32-bit version on x86-64 host). Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit eb2cd8b72b08fe56998600aee8a5dff93f7be5a2 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 6 19:11:06 2015 +0530 ARC: ensure futex ops are atomic in !LLSC config W/o hardware assisted atomic r-m-w the best we can do is to disable preemption. Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5e0574292ad48dcdf48ef90a47da862c21d649a6 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 6 17:55:34 2015 +0530 ARC: Enable HAVE_FUTEX_CMPXCHG ARC doesn't need the runtime detection of futex cmpxchg op Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 882a95ae0a4f8fc303257acf5c6ff305df34d04b Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 6 17:03:17 2015 +0530 ARC: make futex_atomic_cmpxchg_inatomic() return bimodal Callers of cmpxchg_futex_value_locked() in futex code expect bimodal return value: !0 (essentially -EFAULT as failure) 0 (success) Before this patch, the success return value was old value of futex, which could very well be non zero, causing caller to possibly take the failure path erroneously. Fix that by returning 0 for success (This fix was done back in 2011 for all upstream arches, which ARC obviously missed) Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit ed574e2bbd81ec20134059fb5e17acbc76387270 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Aug 5 19:23:34 2015 +0530 ARC: futex cosmetics Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 31d30c8208a38a0442cc01a9c7f6542489c76353 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Aug 5 19:10:02 2015 +0530 ARC: add barriers to futex code The atomic ops on futex need to provide the full barrier just like regular atomics in kernel. Also remove pagefault_enable/disable in futex_atomic_cmpxchg_inatomic() as core code already does that Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 1648c70d301e669ba03aa1c70fff46ec2c400414 Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Tue Jun 9 11:25:22 2015 +0300 ARCv2: IOC: Allow boot time disable Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 79335a2ca03fdd883823e068b5e2f89a8ee47839 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Jun 4 18:30:23 2015 +0530 ARCv2: SLC: Allow boot time disable Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit f2b0b25a37a6db12580dcdfdf00f020e5e0e3a43 Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Mon May 25 19:54:28 2015 +0300 ARCv2: Support IO Coherency and permutations involving L1 and L2 caches In case of ARCv2 CPU there're could be following configurations that affect cache handling for data exchanged with peripherals via DMA: [1] Only L1 cache exists [2] Both L1 and L2 exist, but no IO coherency unit [3] L1, L2 caches and IO coherency unit exist Current implementation takes care of [1] and [2]. Moreover support of [2] is implemented with run-time check for SLC existence which is not super optimal. This patch introduces support of [3] and rework of DMA ops usage. Instead of doing run-time check every time a particular DMA op is executed we'll have 3 different implementations of DMA ops and select appropriate one during init. As for IOC support for it we need: [a] Implement empty DMA ops because IOC takes care of cache coherency with DMAed data [b] Route dma_alloc_coherent() via dma_alloc_noncoherent() This is required to make IOC work in first place and also serves as optimization as LD/ST to coherent buffers can be srviced from caches w/o going all the way to memory Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> [vgupta: -Added some comments about IOC gains -Marked dma ops as static, -Massaged changelog a bit] Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 78a6854e219ba266b6cc12f840b571c5f1168b5e Author: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Date: Mon Jul 20 15:12:19 2015 +1000 merge_config.sh: exit on missing input files Add a check for the existence of input files and exit (with failure) if they are missing. Without this additional check, missing files produce error messages but still result in an output file being generated and a successful exit code. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 724afaea2020f3bd98891b535f3ce5d3935bcf63 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Aug 7 17:34:34 2015 +0100 arm/xen: Remove helpers which are PV specific ARM guests are always HVM. The current implementation is assuming a 1:1 mapping which is only true for DOM0 and may not be at all in the future. Furthermore, all the helpers but arbitrary_virt_to_machine are used in x86 specific code (or only compiled for). The helper arbitrary_virt_to_machine is only used in PV specific code. Therefore we should never call the function. Add a BUG() in this helper and drop all the others. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 3375d8284dfb7866f261ec008d15d30999ff273b Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:38 2015 -0400 xen/x86: Don't try to set PCE bit in CR4 Since VPMU code emulates RDPMC instruction with RDMSR and because hypervisor does not emulate it there is no reason to try setting CR4's PCE bit (and the hypervisor will warn on seeing it set). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit bf6dfb154d935725c9a2005033ca33017b9df439 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:37 2015 -0400 xen/PMU: PMU emulation code Add PMU emulation code that runs when we are processing a PMU interrupt. This code will allow us not to trap to hypervisor on each MSR/LVTPC access (of which there may be quite a few in the handler). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 6b08cd6328c58a2ae190c5ee03a2ffcab5ef828e Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:36 2015 -0400 xen/PMU: Intercept PMU-related MSR and APIC accesses Provide interfaces for recognizing accesses to PMU-related MSRs and LVTPC APIC and process these accesses in Xen PMU code. (The interrupt handler performs XENPMU_flush right away in the beginning since no PMU emulation is available. It will be added with a later patch). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit e27b72df01109c689062caeba1defa013b759e0e Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:35 2015 -0400 xen/PMU: Describe vendor-specific PMU registers AMD and Intel PMU register initialization and helpers that determine whether a register belongs to PMU. This and some of subsequent PMU emulation code is somewhat similar to Xen's PMU implementation. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 65d0cf0be79feebeb19e7626fd3ed41ae73f642d Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:34 2015 -0400 xen/PMU: Initialization code for Xen PMU Map shared data structure that will hold CPU registers, VPMU context, V/PCPU IDs of the CPU interrupted by PMU interrupt. Hypervisor fills this information in its handler and passes it to the guest for further processing. Set up PMU VIRQ. Now that perf infrastructure will assume that PMU is available on a PV guest we need to be careful and make sure that accesses via RDPMC instruction don't cause fatal traps by the hypervisor. Provide a nop RDPMC handler. For the same reason avoid issuing a warning on a write to APIC's LVTPC. Both of these will be made functional in later patches. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5f141548824cebbff2e838ff401c34e667797467 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:33 2015 -0400 xen/PMU: Sysfs interface for setting Xen PMU mode Set Xen's PMU mode via /sys/hypervisor/pmu/pmu_mode. Add XENPMU hypercall. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a11f4f0a4e18b4bdc7d5e36438711e038b7a1f74 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Mon Aug 10 16:34:32 2015 -0400 xen: xensyms support Export Xen symbols to dom0 via /proc/xen/xensyms (similar to /proc/kallsyms). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit cb3eb850137cd43fc3e25d2062525f5ba5fd884a Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:37 2015 +0200 xen: remove no longer needed p2m.h Cleanup by removing arch/x86/xen/p2m.h as it isn't needed any more. Most definitions in this file are used in p2m.c only. Move those into p2m.c. set_phys_range_identity() is already declared in arch/x86/include/asm/xen/page.h, add __init annotation there. MAX_REMAP_RANGES isn't used at all, just delete it. The only define left is P2M_PER_PAGE which is moved to page.h as well. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit c70727a5bc18a5a233fddc6056d1de9144d7a293 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:36 2015 +0200 xen: allow more than 512 GB of RAM for 64 bit pv-domains 64 bit pv-domains under Xen are limited to 512 GB of RAM today. The main reason has been the 3 level p2m tree, which was replaced by the virtual mapped linear p2m list. Parallel to the p2m list which is being used by the kernel itself there is a 3 level mfn tree for usage by the Xen tools and eventually for crash dump analysis. For this tree the linear p2m list can serve as a replacement, too. As the kernel can't know whether the tools are capable of dealing with the p2m list instead of the mfn tree, the limit of 512 GB can't be dropped in all cases. This patch replaces the hard limit by a kernel parameter which tells the kernel to obey the 512 GB limit or not. The default is selected by a configuration parameter which specifies whether the 512 GB limit should be active per default for domUs (domain save/restore/migration and crash dump analysis are affected). Memory above the domain limit is returned to the hypervisor instead of being identity mapped, which was wrong anyway. The kernel configuration parameter to specify the maximum size of a domain can be deleted, as it is not relevant any more. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 70e61199559a09c62714694cd5ac3c3640c41552 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:35 2015 +0200 xen: move p2m list if conflicting with e820 map Check whether the hypervisor supplied p2m list is placed at a location which is conflicting with the target E820 map. If this is the case relocate it to a new area unused up to now and compliant to the E820 map. As the p2m list might by huge (up to several GB) and is required to be mapped virtually, set up a temporary mapping for the copied list. For pvh domains just delete the p2m related information from start info instead of reserving the p2m memory, as we don't need it at all. For 32 bit kernels adjust the memblock_reserve() parameters in order to cover the page tables only. This requires to memblock_reserve() the start_info page on it's own. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 6c2681c863b24360098d1ba60f2af060a13a0561 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:34 2015 +0200 xen: add explicit memblock_reserve() calls for special pages Some special pages containing interfaces to xen are being reserved implicitly only today. The memblock_reserve() call to reserve them is meant to reserve the p2m list supplied by xen. It is just reserving not only the p2m list itself, but some more pages up to the start of the xen built page tables. To be able to move the p2m list to another pfn range, which is needed for support of huge RAM, this memblock_reserve() must be split up to cover all affected reserved pages explicitly. The affected pages are: - start_info page - xenstore ring (might be missing, mfn is 0 in this case) - console ring (not for initial domain) Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 2592dbbbf4c67501c2bd2dcf89c2b8924d592a9f Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:33 2015 +0200 mm: provide early_memremap_ro to establish read-only mapping During early boot as Xen pv domain the kernel needs to map some page tables supplied by the hypervisor read only. This is needed to be able to relocate some data structures conflicting with the physical memory map especially on systems with huge RAM (above 512GB). Provide the function early_memremap_ro() to provide this read only mapping. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4b9c15377f96e241be347fd3bbeeff74fbad0b44 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:32 2015 +0200 xen: check for initrd conflicting with e820 map Check whether the initrd is placed at a location which is conflicting with the target E820 map. If this is the case relocate it to a new area unused up to now and compliant to the E820 map. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 04414baab5ba862b10bde837c4773ffdbb78f0e0 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:31 2015 +0200 xen: check pre-allocated page tables for conflict with memory map Check whether the page tables built by the domain builder are at memory addresses which are in conflict with the target memory map. If this is the case just panic instead of running into problems later. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 808fdb71936c41d46245f0e3aa6ec889cba70d97 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:30 2015 +0200 xen: check for kernel memory conflicting with memory layout Checks whether the pre-allocated memory of the loaded kernel is in conflict with the target memory map. If this is the case, just panic instead of run into problems later, as there is nothing we can do to repair this situation. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 9ddac5b724a9465e27f25a0aa943e92c8341a85b Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:29 2015 +0200 xen: find unused contiguous memory area For being able to relocate pre-allocated data areas like initrd or p2m list it is mandatory to find a contiguous memory area which is not yet in use and doesn't conflict with the memory map we want to be in effect. In case such an area is found reserve it at once as this will be required to be done in any case. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit e612b4a7db4ae1dd8c2bbe171e10c21723de95b2 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:28 2015 +0200 xen: check memory area against e820 map Provide a service routine to check a physical memory area against the E820 map. The routine will return false if the complete area is RAM according to the E820 map and true otherwise. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5097cdf6cef15439f971df54f9abcf143d7ca698 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:27 2015 +0200 xen: split counting of extra memory pages from remapping Memory pages in the initial memory setup done by the Xen hypervisor conflicting with the target E820 map are remapped. In order to do this those pages are counted and remapped in xen_set_identity_and_remap(). Split the counting from the remapping operation to be able to setup the needed memory sizes in time but doing the remap operation at a later time. This enables us to simplify the interface to xen_set_identity_and_remap() as the number of remapped and released pages is no longer needed here. Finally move the remapping further down to prepare relocating conflicting memory contents before the memory might be clobbered by xen_set_identity_and_remap(). This requires to not destroy the Xen E820 map when the one for the system is being constructed. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 69632ecfcd03b12202ed62dfa0aabac83904f8ac Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:26 2015 +0200 xen: move static e820 map to global scope Instead of using a function local static e820 map in xen_memory_setup() and calling various functions in the same source with the map as a parameter use a map directly accessible by all functions in the source. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 8f5b0c63987207fd5c3c1f89c9eb6cb95b30386e Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:25 2015 +0200 xen: eliminate scalability issues from initial mapping setup Direct Xen to place the initial P->M table outside of the initial mapping, as otherwise the 1G (implementation) / 2G (theoretical) restriction on the size of the initial mapping limits the amount of memory a domain can be handed initially. As the initial P->M table is copied rather early during boot to domain private memory and it's initial virtual mapping is dropped, the easiest way to avoid virtual address conflicts with other addresses in the kernel is to use a user address area for the virtual address of the initial P->M table. This allows us to just throw away the page tables of the initial mapping after the copy without having to care about address invalidation. It should be noted that this patch won't enable a pv-domain to USE more than 512 GB of RAM. It just enables it to be started with a P->M table covering more memory. This is especially important for being able to boot a Dom0 on a system with more than 512 GB memory. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Based-on-patch-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d51e8b3e85972dee10be7943b0b0106742b1e847 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:24 2015 +0200 xen: don't build mfn tree if tools don't need it In case the Xen tools indicate they don't need the p2m 3 level tree as they support the virtual mapped linear p2m list, just omit building the tree. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4b9c9a11803eaa73b3223da9fcaea39b2f919d80 Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:23 2015 +0200 xen: save linear p2m list address in shared info structure The virtual address of the linear p2m list should be stored in the shared info structure read by the Xen tools to be able to support 64 bit pv-domains larger than 512 GB. Additionally the linear p2m list interface includes a generation count which is changed prior to and after each mapping change of the p2m list. Reading the generation count the Xen tools can detect changes of the mappings and re-read the p2m list eventually. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 17fb46b1190b677a37cdd636e2aa30052109f51b Author: Juergen Gross <jgross@xxxxxxxx> Date: Fri Jul 17 06:51:22 2015 +0200 xen: sync with xen headers Use the newest headers from the xen tree to get some new structure layouts. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <Konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 7ed208ef4ef9dbd03cda8a5b5a85cc78f79ef213 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Mon Aug 3 09:50:55 2015 +0000 arm/xen: Drop the definition of xen_pci_platform_unplug The commit 6f6c15ef912465b3aaafe709f39bd6026a8b3e72 "xen/pvhvm: Remove the xen_platform_pci int." makes the x86 version of xen_pci_platform_unplug static. Therefore we don't need anymore to define a dummy xen_pci_platform_unplug for ARM. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit 4a5b69464e51f4a8dd432e8c2a1468630df1a53c Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Jul 28 10:10:42 2015 +0100 xen/events: Support event channel rebind on ARM Currently, the event channel rebind code is gated with the presence of the vector callback. The virtual interrupt controller on ARM has the concept of per-CPU interrupt (PPI) which allow us to support per-VCPU event channel. Therefore there is no need of vector callback for ARM. Xen is already using a free PPI to notify the guest VCPU of an event. Furthermore, the xen code initialization in Linux (see arch/arm/xen/enlighten.c) is requesting correctly a per-CPU IRQ. Introduce new helper xen_support_evtchn_rebind to allow architecture decide whether rebind an event is support or not. It will always return true on ARM and keep the same behavior on x86. This is also allow us to drop the usage of xen_have_vector_callback entirely in the ARM code. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 907c3eb18e0bd86ca12a9de80befe8e3647bac3e Author: Bob Liu <bob.liu@xxxxxxxxxx> Date: Mon Jul 13 17:55:24 2015 +0800 xen-blkfront: convert to blk-mq APIs Note: This patch is based on original work of Arianna's internship for GNOME's Outreach Program for Women. Only one hardware queue is used now, so there is no significant performance change The legacy non-mq code is deleted completely which is the same as other drivers like virtio, mtip, and nvme. Also dropped one unnecessary holding of info->io_lock when calling blk_mq_stop_hw_queues(). Signed-off-by: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Jens Axboe <axboe@xxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a7da51ae10032a507ddeae6a490916eadbd1e10a Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:52:01 2015 +0300 xen/preempt: use need_resched() instead of should_resched() This code is used only when CONFIG_PREEMPT=n and only in non-atomic context: xen_in_preemptible_hcall is set only in privcmd_ioctl_hypercall(). Thus preempt_count is zero and should_resched() is equal to need_resched(). Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 772f95e3b9460c64fb99b134022855cbce75b9a0 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Thu Jul 16 20:34:42 2015 +0100 x86/xen: fix non-ANSI declaration of xen_has_pv_devices() xen_has_pv_devices() has no parameters, so use the normal void parameter convention to make it match the prototype in the header file include/xen/platform_pci.h. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit cb73b40e59f0f62099bfb8a836697a74dc151395 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Aug 20 13:46:10 2015 +0300 video: fbdev: atmel: fix warning for const return value A const on a return value is meaningless and generates a warning on some versions of gcc: drivers/video/fbdev/atmel_lcdfb.c:1003: warning: type qualifiers ignored on function return type The function in question is only used inside the .c file, so the author of the code most likely means "static" instead of "const". Change the const to static. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit dd2281be03a7f4d3f249a733913a9ebb36e721f4 Merge: 40a2ea1 5efb1d5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Aug 20 11:49:26 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: - Support Intel PT in several tools, enabling the use of the processor trace feature introduced in Intel Broadwell processors: (Adrian Hunter) # dmesg | grep Performance # [0.188477] Performance Events: PEBS fmt2+, 16-deep LBR, Broadwell events, full-width counters, Intel PMU driver. # perf record -e intel_pt//u -a sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.216 MB perf.data ] # perf script # then navigate in the tool output to some area, like this one: 184 1030 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba661440 dl_main (/usr/lib64/ld-2.17.so) 185 1457 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba669f10 _dl_new_object (/usr/lib64/ld-2.17.so) 186 9f37 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba677b90 strlen (/usr/lib64/ld-2.17.so) 187 7ba3 strlen (/usr/lib64/ld-2.17.so) => 7f21ba677c75 strlen (/usr/lib64/ld-2.17.so) 188 7c78 strlen (/usr/lib64/ld-2.17.so) => 7f21ba669f3c _dl_new_object (/usr/lib64/ld-2.17.so) 189 9f8a _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba65fab0 calloc@plt (/usr/lib64/ld-2.17.so) 190 fab0 calloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e70 calloc (/usr/lib64/ld-2.17.so) 191 5e87 calloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa90 malloc@plt (/usr/lib64/ld-2.17.so) 192 fa90 malloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e60 malloc (/usr/lib64/ld-2.17.so) 193 5e68 malloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so) 194 fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so) => 7f21ba675d50 __libc_memalign (/usr/lib64/ld-2.17.so) 195 5d63 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e20 __libc_memalign (/usr/lib64/ld-2.17.so) 196 5e40 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675d73 __libc_memalign (/usr/lib64/ld-2.17.so) 197 5d97 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e18 __libc_memalign (/usr/lib64/ld-2.17.so) 198 5e1e __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675df9 __libc_memalign (/usr/lib64/ld-2.17.so) 199 5e10 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba669f8f _dl_new_object (/usr/lib64/ld-2.17.so) 200 9fc2 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba678e70 memcpy (/usr/lib64/ld-2.17.so) 201 8e8c memcpy (/usr/lib64/ld-2.17.so) => 7f21ba678ea0 memcpy (/usr/lib64/ld-2.17.so) - Fix annotation of vdso (Adrian Hunter) - Fix DWARF callchains in 'perf script' (Jiri Olsa) - Fix adding probes in kernel syscalls and listing which variables can be collected at kernel syscall function lines (Masami Hiramatsu) Build Fixes: - Fix 32-bit compilation error in util/annotate.c (Adrian Hunter) - Support static linking with libdw on Fedora 22 (Andi Kleen) Infrastructure changes: - Add a helper function to probe whether cpu-wide tracing is possible (Adrian Hunter) - Move vfs_getname storage to per thread area in 'perf trace' (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 40a2ea1bd988e3bbdb07a0708681fdb05cd7d267 Merge: a897b5f 1966764 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Aug 20 11:48:56 2015 +0200 Merge branch 'perf/urgent' into perf/core, to pick up fixes before adding more changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c4a2f5beb7fe3cf4e33ed79040d699fd6c17083f Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:37:30 2015 +0900 video: fbdev: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 2e8bcf4d40d8ec720372df5c591f0151f8ffe946 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:37:29 2015 +0900 video: fbdev: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c0a3229313d6931a77e0c1e1c22e398c0312bf6f Author: Marcin Chojnacki <marcinch7@xxxxxxxxx> Date: Thu Jun 18 15:01:52 2015 +0200 fbdev: remove unnecessary memset in vfb In vfb_probe memory is allocated using rvmalloc which automatically sets the allocated memory to zero. This patch removes the second unnecessary memset in vfb_probe. Signed-off-by: Marcin Chojnacki <marcinch7@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 7a4b6c860e7268a79545c30882928b234dd1655d Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Aug 7 17:16:03 2015 +0200 can: flexcan: demote register output to debug level This message isn't really helpful for the general reader of the kernel logs, so should not be printed with info level. All other register programming outputs in the flexcan driver already use the debug level. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit ae421e33bce78c7d624ecbf079cdaa5248f167b6 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 19:09:57 2015 -0400 can: gs_usb: Fix typo in function name This fixes typos in gs_usb.c where 'receive' is misspelled as 'recieve'. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit e72bb8a5a884d022231149d407653923a1d79e53 Author: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Date: Wed Jul 22 15:50:51 2015 +1000 powerpc/powernv: Reset HILE before kexec_sequence() On powernv secondary cpus are returned to OPAL, and will then enter the target kernel in big-endian. However if it is set the HILE bit will persist, causing the first exception in the target kernel to be delivered in litte-endian regardless of the current endianness. If running on top of OPAL make sure the HILE bit is reset once we've finished waiting for all of the secondaries to be returned to OPAL. Signed-off-by: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ffebf5f391dfa9da3e086abad3eef7d3e5300249 Author: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Date: Wed Jul 22 15:50:50 2015 +1000 powerpc/kexec: Reset secondary cpu endianness before kexec If the target kernel does not inlcude the FIXUP_ENDIAN check, coming from a different-endian kernel will cause the target kernel to panic. All ppc64 kernels can handle starting in big-endian mode, so return to big-endian before branching into the target kernel. This mainly affects pseries as secondaries on powernv are returned to OPAL. Signed-off-by: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 480798044eb268a31f6b84bc3b7f99b9989e463d Author: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 11:29:50 2015 +0200 powerpc/hvsi: Fix endianness issues in the HVSI driver This patch fixes several endianness issues detected when running the HVSI driver in little endian mode. These issues are raised in little endian mode because the data exchanged in memory between the kernel and the hypervisor has to be in big endian format. This exhibits as errors such as: irq: (null) didn't like hwirq-0x1000a00 to VIRQ16 mapping (rc=-22) hvsi_console_init: couldn't create irq mapping for 0x1000a00 The data structures already have endian annotations, and sparse is generating numerous warnings based on those. This commit fixes all of them. Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> CC: Jiri Slaby <jslaby@xxxxxxx> CC: linuxppc-dev@xxxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx [mpe: Flesh out change log] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 84ad6e5cd3e8b365c893f31787864cae5500610b Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 22:19:54 2015 +0530 leds/powernv: Add driver for PowerNV platform This patch implements LED driver for PowerNV platform using the existing generic LED class framework. PowerNV platform has below type of LEDs: - System attention Indicates there is a problem with the system that needs attention. - Identify Helps the user locate/identify a particular FRU or resource in the system. - Fault Indicates there is a problem with the FRU or resource at the location with which the indicator is associated. We register classdev structures for all individual LEDs detected on the system through LED specific device tree nodes. Device tree nodes specify what all kind of LEDs present on the same location code. It registers LED classdev structure for each of them. All the system LEDs can be found in the same regular path /sys/class/leds/. We don't use LED colors. We use LED node and led-types property to form LED classdev. Our LEDs have names in this format. <location_code>:<attention|identify|fault> Any positive brightness value would turn on the LED and a zero value would turn off the LED. The driver will return LED_FULL (255) for any turned on LED and LED_OFF (0) for any turned off LED. The platform level implementation of LED get and set state has been achieved through OPAL calls. These calls are made available for the driver by exporting from architecture specific codes. Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Tested-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Acked-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c159b5968ec9d3cbf16802189b29eb0ec17ae4d8 Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 22:19:53 2015 +0530 powerpc/powernv: Create LED platform device This patch adds platform devices for leds. Also export LED related OPAL API's so that led driver can use these APIs. Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8a8d91817aec6b9ca7a289891f9e6f721100ec09 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 22:19:52 2015 +0530 powerpc/powernv: Add OPAL interfaces for accessing and modifying system LED states This patch registers the following two new OPAL interfaces calls for the platform LED subsystem. With the help of these new OPAL calls, the kernel will be able to get or set the state of various individual LEDs on the system at any given location code which is passed through the LED specific device tree nodes. (1) OPAL_LEDS_GET_INDICATOR opal_leds_get_ind (2) OPAL_LEDS_SET_INDICATOR opal_leds_set_ind Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Tested-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 48fd8ecf29e3c1199432e173858f5ca4bc529738 Author: Nicolai Stange <nicstange@xxxxxxxxx> Date: Wed Jun 17 21:40:33 2015 +0200 framebuffer: disable vgacon on microblaze arch Fix an allmodconfig link failer on microblaze: drivers/built-in.o: In function `vgacon_save_screen': drivers/video/console/.tmp_vgacon.o:(.text+0x8fc10): undefined reference to `screen_info' Disable vgacon on microblaze because the symbol struct screen_info screen_info; is not defined for the microblaze arch. Signed-off-by: Nicolai Stange <nicstange@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit f63cb8d7aa31e7a8f98cec36557b265951e9aba7 Author: Alexey Klimov <klimov.linux@xxxxxxxxx> Date: Mon Jun 8 02:02:47 2015 +0300 fbdev: udlfb: remove unneeded initialization in few places Small minor cleanup. This patch removes unneeded initializations of variables in few places in different functions and one empty line. Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 71540cfbe9d401f4848abc0e6b56a541307a47dd Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:53 2015 +0200 fbdev: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 6080a89357cc46f3450839a84af75c3d18f57772 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Jan 15 13:47:19 2015 +0200 fbdev: fix cea_modes array size CEA defines 64 modes, indexed from 1 to 64. modedb has cea_modes arrays, which contains 64 entries. However, the code uses the CEA indices directly, i.e. the first mode is at cea_modes[1]. This means the array is one too short. This does not cause references to uninitialized memory as the code in fbmon only allows indexes up to 63, and the cea_modes does not contain an entry for the mode 64 so it could not be used in any case. However, the code contains a check 'if (idx > ARRAY_SIZE(cea_modes)', and while that check is a no-op as at that point idx cannot be >= 63, it upsets static checkers. Fix this by increasing the cea_array size to be 65, and change the code to allow mode 64. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> commit 23a1ec304ae8fdd29235f864bd8193e9981c9bd1 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Aug 6 14:32:33 2015 +0100 dmaengine: tegra-apb: Simplify locking for device using global pause Sparse reports the following with regard to locking in the tegra_dma_global_pause() and tegra_dma_global_resume() functions: drivers/dma/tegra20-apb-dma.c:362:9: warning: context imbalance in 'tegra_dma_global_pause' - wrong count at exit drivers/dma/tegra20-apb-dma.c:366:13: warning: context imbalance in 'tegra_dma_global_resume' - unexpected unlock The warning is caused because tegra_dma_global_pause() acquires a lock but does not release it. However, the lock is released by tegra_dma_global_resume(). These pause/resume functions are called in pairs and so it does appear to work. This global pause is used on early tegra devices that do not have an individual pause for each channel. The lock appears to be used to ensure that multiple channels do not attempt to assert/de-assert the global pause at the same time which could cause the DMA controller to be in the wrong paused state. Rather than locking around the entire code between the pause and resume, employ a simple counter to keep track of the global pause requests. By using a counter, it is only necessary to hold the lock when pausing and unpausing the DMA controller and hence, fixes the sparse warning. Please note that for devices that support individual channel pausing, the DMA controller lock is not held between pausing and unpausing the channel. Hence, this change will make the devices that use the global pause behave in the same way, with regard to locking, as those that don't. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit dc1ff4b30a3592caf2ac6be691bd6c97b17383cd Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Aug 6 14:32:32 2015 +0100 dmaengine: tegra-apb: Remove unnecessary return statements and variables Some void functions have unnecessary return statements at the end (reported by sparse) and so remove these. Also remove the return variables from functions tegra_dma_prep_slave_sg() and tegra_dma_prep_slave_cyclic() because the value is not used. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 13a3328638dd009e76d4bb86e18dc8f3ae4f11dd Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Aug 6 14:32:31 2015 +0100 dmaengine: tegra-apb: Avoid unnecessary channel base address calculation Everytime a DMA channel register is accessed, the channel base address is calculated by adding the DMA base address and the channel register offset. Avoid this calculation and simply calculate the channel base address once at probe time for each DMA channel. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c67886f5b809cfd9dc20f906f38fc0eddc7cba93 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Thu Aug 6 14:32:30 2015 +0100 dmaengine: tegra-apb: Remove unused variables The callback and callback_param members of the tegra_dma_sg_req structure are never used. The dma-engine structure, dma_async_tx_descriptor, defines the same members and these are the ones used by the driver. Therefore, remove the unused versions from the tegra_dma_sg_req structure. The half_done member of tegra_dma_channel structure is configured but never used and so remove it. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8d1ceb52e110aec808d64973f90fe4f69a5e42e9 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 20 01:31:58 2015 -0500 PCI: imx6: Simplify a trivial if-return sequence Simplify a trivial if-return sequence by combining it with a preceding function call. The semantic patch that makes this change is available in scripts/coccinelle/misc/simple_return.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Lucas Stach <l.stach@xxxxxxxxxxxxxx> commit 68ebb7ce395c6d8ca99163911ec384853d4f88ad Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 20 01:31:24 2015 -0500 PCI: spear: Use BUG_ON() instead of condition followed by BUG() Use BUG_ON() instead of an if condition followed by BUG(). The semantic patch that makes this change is available in scripts/coccinelle/misc/bugon.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 7dfffb9541bca80bbf8df1869564f9220ee150d2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Aug 17 15:08:55 2015 +0200 dmaengine: Stricter legacy checking in dma_request_slave_channel_compat() dma_request_slave_channel_compat() is meant for drivers that support both DT and legacy platform device based probing: if DT channel DMA setup fails, it will fall back to platform data based DMA channel setup, using hardcoded DMA channel IDs and a filter function. However, if the DTS doesn't provide a "dmas" property for the device, the fallback is also used. If the legacy filter function is not hardcoded in the DMA slave driver, but comes from platform data, it will be NULL. Then dma_request_slave_channel_compat() will succeed incorrectly, and return a DMA channel, as a NULL legacy filter function actually means "all channels are OK", not "do not match". Later, when trying to use that DMA channel, it will fail with: rcar-dmac e6700000.dma-controller: rcar_dmac_prep_slave_sg: bad parameter: len=1, id=-22 To fix this, ensure that both the filter function and the DMA channel ID are not NULL before using the legacy fallback. Note that some DMA slave drivers can handle this failure, and will fall back to PIO. See also commit 056f6c87028544de ("dmaengine: shdma: Make dummy shdma_chan_filter() always return false"), which fixed the same issue for the case where shdma_chan_filter() is hardcoded in a DMA slave driver. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d3f4caa355c1c9d2ce7fd3da88e2be37836323db Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 20 01:30:36 2015 -0500 PCI: dra7xx: Remove unneeded use of IS_ERR_VALUE() There is no need to use the IS_ERR_VALUE() macro for checking the return value from pm_runtime_* functions. Test for a negative pm_runtime_get_sync() return value instead of using IS_ERR_VALUE(). The semantic patch that makes this change is available in scripts/coccinelle/api/pm_runtime.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Kishon Vijay Abraham I <kishon@xxxxxx> commit 89079493437701551938652003eb75b328425c66 Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Tue Jul 21 18:44:39 2015 +0530 dmaengine: xgene-dma: Add ACPI support for X-Gene DMA engine driver This patch adds ACPI support for the APM X-Gene DMA engine driver. Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 74703cc4e08372b8aedfd687bef8182797215d30 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 18:14:58 2015 +0800 powerpc/powernv: Fix the log message when disabling VF On powernv platform, IOV BAR would be shifted if necessary. While the log message is not correct when disabling VFs. This patch fixes this by print correct message based on the offset value. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7c26b9cf5347c24272152438cdd9675183804425 Author: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Date: Wed Aug 19 09:27:18 2015 +1000 cxl: Allow release of contexts which have been OPENED but not STARTED If we open a context but do not start it (either because we do not attempt to start it, or because it fails to start for some reason), we are left with a context in state OPENED. Previously, cxl_release_context() only allowed releasing contexts in state CLOSED, so attempting to release an OPENED context would fail. In particular, this bug causes available contexts to run out after some EEH failures, where drivers attempt to release contexts that have failed to start. Allow releasing contexts in any state with a value lower than STARTED, i.e. OPENED or CLOSED (we can't release a STARTED context as it's currently using the hardware, and we assume that contexts in any new states which may be added in future with a value higher than STARTED are also unsafe to release). Cc: stable@xxxxxxxxxxxxxxx Fixes: 6f7f0b3df6d4 ("cxl: Add AFU virtual PHB and kernel API") Signed-off-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a1a42b7920ba57f287d742d42f113402fbb7c85e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:47 2015 +0200 macintosh/therm_windtunnel: Export OF module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit cb0eefcc3271ea1d370476dd29685918b99c5a9f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:30 2015 +0200 macintosh/therm_windtunnel: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b93edcdd037f713e9b62cc76fb2064282af01aec Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Jul 29 21:03:49 2015 -0300 dmaengine: imx-sdma: Check for clk_enable() errors clk_enable() may fail, so we should better check the return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b096c1377d1e50cea91d1db13bca8e7802199a67 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Sun Jul 26 22:50:55 2015 +0200 dmaengine: sun4i: Add support for the DMA engine on sun[457]i SoCs This patch adds support for the DMA engine present on Allwinner A10, A13, A10S and A20 SoCs. This engine has two kinds of channels: normal and dedicated. The main difference is in the mode of operation; while a single normal channel may be operating at any given time, dedicated channels may operate simultaneously provided there is no overlap of source or destination. Hardware documentation can be found on A10 User Manual (section 12), A13 User Manual (section 14) and A20 User Manual (section 1.12) Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 18041e31743d278b6323518d20a2ef656c3cc689 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 21:40:16 2015 +0300 vrf: vrf_master_ifindex_rcu is not always called with rcu read lock While running net-next I hit this: [ 634.073119] =============================== [ 634.073150] [ INFO: suspicious RCU usage. ] [ 634.073182] 4.2.0-rc6+ #45 Not tainted [ 634.073213] ------------------------------- [ 634.073244] include/net/vrf.h:38 suspicious rcu_dereference_check() usage! [ 634.073274] other info that might help us debug this: [ 634.073307] rcu_scheduler_active = 1, debug_locks = 1 [ 634.073338] 2 locks held by swapper/0/0: [ 634.073369] #0: (((&n->timer))){+.-...}, at: [<ffffffff8112bc35>] call_timer_fn+0x5/0x480 [ 634.073412] #1: (slock-AF_INET){+.-...}, at: [<ffffffff8174f0f5>] icmp_send+0x155/0x5f0 [ 634.073450] stack backtrace: [ 634.073483] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.2.0-rc6+ #45 [ 634.073514] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [ 634.073545] 0000000000000000 0593ba8242d9ace4 ffff88002fc03b48 ffffffff81803f1b [ 634.073612] 0000000000000000 ffffffff81e12500 ffff88002fc03b78 ffffffff811003c5 [ 634.073642] 0000000000000000 ffff88002ec4e600 ffffffff81f00f80 ffff88002fc03cf0 [ 634.073669] Call Trace: [ 634.073694] <IRQ> [<ffffffff81803f1b>] dump_stack+0x4c/0x65 [ 634.073728] [<ffffffff811003c5>] lockdep_rcu_suspicious+0xc5/0x100 [ 634.073763] [<ffffffff8174eb56>] icmp_route_lookup+0x176/0x5c0 [ 634.073793] [<ffffffff8174f2fb>] ? icmp_send+0x35b/0x5f0 [ 634.073818] [<ffffffff8174f274>] ? icmp_send+0x2d4/0x5f0 [ 634.073844] [<ffffffff8174f3ce>] icmp_send+0x42e/0x5f0 [ 634.073873] [<ffffffff8170b662>] ipv4_link_failure+0x22/0xa0 [ 634.073899] [<ffffffff8174bdda>] arp_error_report+0x3a/0x80 [ 634.073926] [<ffffffff816d6100>] ? neigh_lookup+0x2c0/0x2c0 [ 634.073952] [<ffffffff816d396e>] neigh_invalidate+0x8e/0x110 [ 634.073984] [<ffffffff816d62ae>] neigh_timer_handler+0x1ae/0x290 [ 634.074013] [<ffffffff816d6100>] ? neigh_lookup+0x2c0/0x2c0 [ 634.074013] [<ffffffff8112bce3>] call_timer_fn+0xb3/0x480 [ 634.074013] [<ffffffff8112bc35>] ? call_timer_fn+0x5/0x480 [ 634.074013] [<ffffffff816d6100>] ? neigh_lookup+0x2c0/0x2c0 [ 634.074013] [<ffffffff8112c2bc>] run_timer_softirq+0x20c/0x430 [ 634.074013] [<ffffffff810af50e>] __do_softirq+0xde/0x630 [ 634.074013] [<ffffffff810afc97>] irq_exit+0x117/0x120 [ 634.074013] [<ffffffff81810976>] smp_apic_timer_interrupt+0x46/0x60 [ 634.074013] [<ffffffff8180e950>] apic_timer_interrupt+0x70/0x80 [ 634.074013] <EOI> [<ffffffff8106b9d6>] ? native_safe_halt+0x6/0x10 [ 634.074013] [<ffffffff81101d8d>] ? trace_hardirqs_on+0xd/0x10 [ 634.074013] [<ffffffff81027d43>] default_idle+0x23/0x200 [ 634.074013] [<ffffffff8102852f>] arch_cpu_idle+0xf/0x20 [ 634.074013] [<ffffffff810f89ba>] default_idle_call+0x2a/0x40 [ 634.074013] [<ffffffff810f8dcc>] cpu_startup_entry+0x39c/0x4c0 [ 634.074013] [<ffffffff817f9cad>] rest_init+0x13d/0x150 [ 634.074013] [<ffffffff81f69038>] start_kernel+0x4a8/0x4c9 [ 634.074013] [<ffffffff81f68120>] ? early_idt_handler_array+0x120/0x120 [ 634.074013] [<ffffffff81f68339>] x86_64_start_reservations+0x2a/0x2c [ 634.074013] [<ffffffff81f68485>] x86_64_start_kernel+0x14a/0x16d It would seem vrf_master_ifindex_rcu() can be called without RCU held in other contexts as well so introduce a new helper which acquires rcu and returns the ifindex. Also add curly braces around both the "if" and "else" parts as per the style guide. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aaba64487a96df6584a05d8898634307f3c86790 Merge: d072f46 b55a1b9 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 20 14:11:17 2015 +1000 Merge branch 'drm-next-fsl-dcu' of https://github.com/Jianwei-Wang/linux-drm-fsl-dcu into drm-next Merge Freescale DCU FRM driver. * 'drm-next-fsl-dcu' of https://github.com/Jianwei-Wang/linux-drm-fsl-dcu: MAINTAINERS: Add Freescale DCU DRM driver maintainer devicetree: Add NEC to the vendor-prefix list drm/layerscape: Add Freescale DCU DRM driver commit 2a606188c55990fa65cba3fd9b64f2b7542b7692 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 19 22:30:00 2015 -0500 NFSv4: Enable delegated opens even when reboot recovery is pending Unlike the previous attempt, this takes into account the fact that we may be calling it from the recovery thread itself. Detect this by looking at what kind of open we're doing, and checking the state of the NFS_DELEGATION_NEED_RECLAIM if it turns out we're doing a reboot reclaim-type open. Cc: Olga Kornievskaia <aglo@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c740624989eb87fa7cbd1b5338cef01dd49f1f29 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 19 23:00:50 2015 -0500 pNFS: Fix an unused variable warning in pnfs_roc_get_barrier Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c2126157ea3c4f72b315749e0c07a1b162a2fe2b Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 19 21:46:15 2015 -0500 SUNRPC: Allow sockets to do GFP_NOIO allocations Follow up to commit c4a7ca774949 ("SUNRPC: Allow waiting on memory allocation"). Allows the RPC socket code to do non-IO blocking. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit b55a1b9c55ee9ed5b7d1d2acbabb078a454dbeea Author: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Date: Wed Aug 19 22:26:33 2015 -0400 MAINTAINERS: Add Freescale DCU DRM driver maintainer Add Alison and myself as maintainers of the Freescale DCU DRM driver. Signed-off-by: Alison Wang <b18965@xxxxxxxxxxxxx> Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> commit 6e3fc2741ae8107546673656de89eefb89051ec0 Author: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Date: Wed Aug 19 22:24:45 2015 -0400 devicetree: Add NEC to the vendor-prefix list NEC represent NEC LCD Technologies, Ltd. Signed-off-by: Alison Wang <b18965@xxxxxxxxxxxxx> Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> commit 109eee2f2a181a89a26f6b59b83b50ebab281d4d Author: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Date: Wed Aug 19 22:19:49 2015 -0400 drm/layerscape: Add Freescale DCU DRM driver This patch add support for Two Dimensional Animation and Compositing Engine (2D-ACE) on the Freescale SoCs. 2D-ACE is a Freescale display controller. 2D-ACE describes the functionality of the module extremely well its name is a value that cannot be used as a token in programming languages. Instead the valid token "DCU" is used to tag the register names and function names. The Display Controller Unit (DCU) module is a system master that fetches graphics stored in internal or external memory and displays them on a TFT LCD panel. A wide range of panel sizes is supported and the timing of the interface signals is highly configurable. Graphics are read directly from memory and then blended in real-time, which allows for dynamic content creation with minimal CPU intervention. The features: (1) Full RGB888 output to TFT LCD panel. (2) Blending of each pixel using up to 4 source layers dependent on size of panel. (3) Each graphic layer can be placed with one pixel resolution in either axis. (4) Each graphic layer support RGB565 and RGB888 direct colors without alpha channel and BGRA8888 BGRA4444 ARGB1555 direct colors with an alpha channel and YUV422 format. (5) Each graphic layer support alpha blending with 8-bit resolution. This is a simplified version, only one primary plane, one framebuffer, one crtc, one connector and one encoder for TFT LCD panel. Signed-off-by: Alison Wang <b18965@xxxxxxxxxxxxx> Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 824e7383e92815cb591793c74cc836aa5165f7f8 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Aug 19 15:46:17 2015 +0800 lwtunnel: Fix the sparse warnings in fib_encap_match When CONFIG_LWTUNNEL config is not enabled, the lwtstate_free() is not declared in lwtunnel.h at all. However, even in this case, the function is still referenced in fib_semantics.c so that there appears the following sparse warnings: net/ipv4/fib_semantics.c:553:17: error: undefined identifier 'lwtstate_free' CC net/ipv4/fib_semantics.o net/ipv4/fib_semantics.c: In function â??fib_encap_matchâ??: net/ipv4/fib_semantics.c:553:3: error: implicit declaration of function â??lwtstate_freeâ?? [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[1]: *** [net/ipv4/fib_semantics.o] Error 1 make: *** [net/ipv4/fib_semantics.o] Error 2 To eliminate the error, we define an empty function for lwtstate_free() in lwtunnel.h when CONFIG_LWTUNNEL is disabled. Fixes: df383e6240ef ("lwtunnel: fix memory leak") Cc: Jiri Benc <jbenc@xxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d072f4654464b242e536a03102ebd3d481f6b418 Merge: e2a8986 5b9fb5e Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 20 10:35:29 2015 +1000 Merge branch 'drm-atmel-hlcdc-devel' of https://github.com/bbrezillon/linux-at91 into drm-next The following PR add support for 3 more atmel SoCs and for some missing features (new input formats and PRIME support). * 'drm-atmel-hlcdc-devel' of https://github.com/bbrezillon/linux-at91: drm: atmel-hlcdc: add support for sama5d4 SoCs drm: atmel-hlcdc: add support for at91sam9n12 SoC drm: atmel-hlcdc: add support for at91sam9x5 SoCs drm: atmel-hlcdc: add RGB565 and RGB444 output support drm: atmel-hlcdc: add the missing DRM_ATOMIC flag drm: atmel-hlcdc: add PRIME support commit e2a8986f3e287dc036ce1b9452d7b9e2d8839f2b Merge: 294947a 05906de Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 20 09:40:49 2015 +1000 Merge branch 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-next amdgpu and radeon changes for 4.3. Highlights: - Fiji support for amdgpu. - CGS support for amdgpu. This is a new driver internal cross-component API. - Initial GPU scheduler for amdgpu. Still disabled by default. - Lots of bug fixes and optimizations * 'drm-next-4.3' of git://people.freedesktop.org/~agd5f/linux: (130 commits) drm/amdgpu: wait on page directory changes. v2 drm/amdgpu: Select BACKLIGHT_LCD_SUPPORT drm/radeon: Select BACKLIGHT_LCD_SUPPORT drm/amdgpu: cleanup sheduler rq handling v2 drm/amdgpu: move prepare work out of scheduler to cs_ioctl drm/amdgpu: fix unnecessary wake up drm/amdgpu: fix duplicated mapping invoke bug drm/amdgpu: drop bo_list_clone when no scheduler drm/amdgpu: disable GPU reset by default drm/amdgpu: fix type mismatch error drm/amdgpu: add reference for **fence drm/amdgpu: fix waiting for all fences before flipping drm/amdgpu: fix UVD return code checking drm/amdgpu: remove scheduler fence list v2 drm/amdgpu: remove amd_sched_wait_emit v2 drm/amdgpu: remove unecessary scheduler fence callbacks drm/amdgpu: fix scheduler fence implementation drm/amdgpu: don't grab dev->struct_mutex in pm functions drm/amdgpu: Don't take dev->struct_mutex in bo_force_delete drm/radeon: Don't take dev->struct_mutex in pm functions ... commit aa493382cb8c5768ba452d87f175fc2aff63911d Merge: 5be203a 3403ccc Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Thu Aug 20 09:28:45 2015 +1000 Merge branch 'xfs-misc-fixes-for-4.3-2' into for-next commit 3403ccc0c9f069c40ea751a93ac6746f5ef2116a Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Aug 20 09:27:49 2015 +1000 xfs: inode lockdep annotations broke non-lockdep build Fix CONFIG_LOCKDEP=n build, because asserts I put in to ensure we aren't overrunning lockdep subclasses in commit 0952c81 ("xfs: clean up inode lockdep annotations") use a define that doesn't exist when CONFIG_LOCKDEP=n Only check the subclass limits when lockdep is actually enabled. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b226eca2088004622434cbcc27c6401b64f22d7c Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 19:40:09 2015 -0300 nand: pxa3xx: Increase READ_ID buffer and make the size static The read ID count should be made as large as the maximum READ_ID size, so there's no need to have dynamic size. This commit sets the hardware maximum read ID count, which should be more than enough on all cases. Also, we get rid of the read_id_bytes, and use a macro instead. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 21fc0ef9652f0c809dc0d3e0a67f1e1bf6ff8255 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Aug 19 20:30:15 2015 +0200 mtd: nand: pxa3xx-nand: fix random command timeouts When 2 commands are submitted in a row, and the second is very quick, the completion of the second command might never come. This happens especially if the second command is quick, such as a status read after an erase. The issue is that in the interrupt handler, the status bits are cleared after the new command is issued. There is a small temporal window where this happens : - the previous command has set the command done bit - the ready for a command bit is set - the handler submits the next command - just then, the command completes, and the command done bit is still set - the handler clears the "previous" command done bit - the handler exits In this flow, the "command done" of the next command will never trigger a new interrupt to finish the status command, as it was cleared for both commands. Fix this by clearing the status bit before submitting a new command. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0b14392db2e998157d924085d7913e537ec26121 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Aug 19 20:30:14 2015 +0200 mtd: nand: pxa3xx_nand: fix early spurious interrupt When the nand is first probe, and upon the first command start, the status bits should be cleared before the interrupts are unmasked. The bug is tricky : if the bootloader left a status bit set, the unmasking of interrupts does trigger the interrupt handler before the first command is issued, blocking the good behavior of the nand. The same would happen if in pxa3xx_nand code flow a status bit is left, and then a command is started. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e3f879bf1ea3e03f433d292b0114807785f0754b Author: Sunad Bhandary <sunad.s@xxxxxxxxxxx> Date: Fri Jul 31 18:56:58 2015 +0530 NVMe:Remove unreachable code in nvme_abort_req Removing unreachable code from nvme_abort_req as nvme_submit_cmd has no failure status to return. Signed-off-by: Sunad Bhandary <sunad.s@xxxxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 054167b3d55127feb64978eddf3f9f3a84fe493b Author: Mario Smarduch <m.smarduch@xxxxxxxxxxx> Date: Thu Jul 16 22:29:38 2015 +0100 arm: KVM: keep arm vfp/simd exit handling consistent with arm64 After enhancing arm64 FP/SIMD exit handling, ARMv7 VFP exit branch is moved to guest trap handling. This allows us to keep exit handling flow between both architectures consistent. Signed-off-by: Mario Smarduch <m.smarduch@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit b84b8390d6009cde5134f775a251103c14bbed74 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Aug 19 11:09:40 2015 +0100 Btrfs: fix file read corruption after extent cloning and fsync If we partially clone one extent of a file into a lower offset of the file, fsync the file, power fail and then mount the fs to trigger log replay, we can get multiple checksum items in the csum tree that overlap each other and result in checksum lookup failures later. Those failures can make file data read requests assume a checksum value of 0, but they will not return an error (-EIO for example) to userspace exactly because the expected checksum value 0 is a special value that makes the read bio endio callback return success and set all the bytes of the corresponding page with the value 0x01 (at fs/btrfs/inode.c:__readpage_endio_check()). From a userspace perspective this is equivalent to file corruption because we are not returning what was written to the file. Details about how this can happen, and why, are included inline in the following reproducer test case for fstests and the comment added to tree-log.c. seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { _cleanup_flakey rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter . ./common/dmflakey # real QA test starts here _need_to_be_root _supported_fs btrfs _supported_os Linux _require_scratch _require_dm_flakey _require_cloner _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _init_flakey _mount_flakey # Create our test file with a single 100K extent starting at file # offset 800K. We fsync the file here to make the fsync log tree gets # a single csum item that covers the whole 100K extent, which causes # the second fsync, done after the cloning operation below, to not # leave in the log tree two csum items covering two sub-ranges # ([0, 20K[ and [20K, 100K[)) of our extent. $XFS_IO_PROG -f -c "pwrite -S 0xaa 800K 100K" \ -c "fsync" \ $SCRATCH_MNT/foo | _filter_xfs_io # Now clone part of our extent into file offset 400K. This adds a file # extent item to our inode's metadata that points to the 100K extent # we created before, using a data offset of 20K and a data length of # 20K, so that it refers to the sub-range [20K, 40K[ of our original # extent. $CLONER_PROG -s $((800 * 1024 + 20 * 1024)) -d $((400 * 1024)) \ -l $((20 * 1024)) $SCRATCH_MNT/foo $SCRATCH_MNT/foo # Now fsync our file to make sure the extent cloning is durably # persisted. This fsync will not add a second csum item to the log # tree containing the checksums for the blocks in the sub-range # [20K, 40K[ of our extent, because there was already a csum item in # the log tree covering the whole extent, added by the first fsync # we did before. $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foo echo "File digest before power failure:" md5sum $SCRATCH_MNT/foo | _filter_scratch # Silently drop all writes and ummount to simulate a crash/power # failure. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey # Allow writes again, mount to trigger log replay and validate file # contents. # The fsync log replay first processes the file extent item # corresponding to the file offset 400K (the one which refers to the # [20K, 40K[ sub-range of our 100K extent) and then processes the file # extent item for file offset 800K. It used to happen that when # processing the later, it erroneously left in the csum tree 2 csum # items that overlapped each other, 1 for the sub-range [20K, 40K[ and # 1 for the whole range of our extent. This introduced a problem where # subsequent lookups for the checksums of blocks within the range # [40K, 100K[ of our extent would not find anything because lookups in # the csum tree ended up looking only at the smaller csum item, the # one covering the subrange [20K, 40K[. This made read requests assume # an expected checksum with a value of 0 for those blocks, which caused # checksum verification failure when the read operations finished. # However those checksum failure did not result in read requests # returning an error to user space (like -EIO for e.g.) because the # expected checksum value had the special value 0, and in that case # btrfs set all bytes of the corresponding pages with the value 0x01 # and produce the following warning in dmesg/syslog: # # "BTRFS warning (device dm-0): csum failed ino 257 off 917504 csum\ # 1322675045 expected csum 0" # _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey echo "File digest after log replay:" # Must match the same digest he had after cloning the extent and # before the power failure happened. md5sum $SCRATCH_MNT/foo | _filter_scratch _unmount_flakey status=0 exit Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1f9b8c8fbc9a4d029760b16f477b9d15500e3a34 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Aug 12 11:54:35 2015 +0100 Btrfs: check if previous transaction aborted to avoid fs corruption While we are committing a transaction, it's possible the previous one is still finishing its commit and therefore we wait for it to finish first. However we were not checking if that previous transaction ended up getting aborted after we waited for it to commit, so we ended up committing the current transaction which can lead to fs corruption because the new superblock can point to trees that have had one or more nodes/leafs that were never durably persisted. The following sequence diagram exemplifies how this is possible: CPU 0 CPU 1 transaction N starts (...) btrfs_commit_transaction(N) cur_trans->state = TRANS_STATE_COMMIT_START; (...) cur_trans->state = TRANS_STATE_COMMIT_DOING; (...) cur_trans->state = TRANS_STATE_UNBLOCKED; root->fs_info->running_transaction = NULL; btrfs_start_transaction() --> starts transaction N + 1 btrfs_write_and_wait_transaction(trans, root); --> starts writing all new or COWed ebs created at transaction N creates some new ebs, COWs some existing ebs but doesn't COW or deletes eb X btrfs_commit_transaction(N + 1) (...) cur_trans->state = TRANS_STATE_COMMIT_START; (...) wait_for_commit(root, prev_trans); --> prev_trans == transaction N btrfs_write_and_wait_transaction() continues writing ebs --> fails writing eb X, we abort transaction N and set bit BTRFS_FS_STATE_ERROR on fs_info->fs_state, so no new transactions can start after setting that bit cleanup_transaction() btrfs_cleanup_one_transaction() wakes up task at CPU 1 continues, doesn't abort because cur_trans->aborted (transaction N + 1) is zero, and no checks for bit BTRFS_FS_STATE_ERROR in fs_info->fs_state are made btrfs_write_and_wait_transaction(trans, root); --> succeeds, no errors during writeback write_ctree_super(trans, root, 0); --> succeeds --> we have now a superblock that points us to some root that uses eb X, which was never written to disk In this scenario future attempts to read eb X from disk results in an error message like "parent transid verify failed on X wanted Y found Z". So fix this by aborting the current transaction if after waiting for the previous transaction we verify that it was aborted. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 03100aada96f0645bbcb89aea24c01f02d0ef1fa Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Wed Aug 19 14:24:05 2015 -0700 block: Replace SG_GAPS with new queue limits mask The SG_GAPS queue flag caused checks for bio vector alignment against PAGE_SIZE, but the device may have different constraints. This patch adds a queue limits so a driver with such constraints can set to allow requests that would have been unnecessarily split. The new gaps check takes the request_queue as a parameter to simplify the logic around invoking this function. This new limit makes the queue flag redundant, so removing it and all usage. Device-mappers will inherit the correct settings through blk_stack_limits(). Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 33c76a0b8126946026fa1122cb774553afae0956 Author: Mario Smarduch <m.smarduch@xxxxxxxxxxx> Date: Thu Jul 16 22:29:37 2015 +0100 arm64: KVM: Optimize arm64 skip 30-50% vfp/simd save/restore on exits This patch only saves and restores FP/SIMD registers on Guest access. To do this cptr_el2 FP/SIMD trap is set on Guest entry and later checked on exit. lmbench, hackbench show significant improvements, for 30-50% exits FP/SIMD context is not saved/restored [chazy/maz: fixed save/restore logic for 32bit guests] Signed-off-by: Mario Smarduch <m.smarduch@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 277fb5fc177dc4674ef6151a7697f5396bbdff11 Author: Michal Hocko <mhocko@xxxxxxxx> Date: Wed Aug 19 14:17:41 2015 +0200 btrfs: use __GFP_NOFAIL in alloc_btrfs_bio alloc_btrfs_bio relies on GFP_NOFS allocation when committing the transaction but this allocation context is rather weak wrt. reclaim capabilities. The page allocator currently tries hard to not fail these allocations if they are small (<=PAGE_ALLOC_COSTLY_ORDER) but it can still fail if the _current_ process is the OOM killer victim. Moreover there is an attempt to move away from the default no-fail behavior and allow these allocation to fail more eagerly. This would lead to: [ 37.928625] kernel BUG at fs/btrfs/extent_io.c:4045 which is clearly undesirable and the nofail behavior should be explicit if the allocation failure cannot be tolerated. Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d1b5c5671d010de1df78d3efddb84bf22bfafd1e Author: Michal Hocko <mhocko@xxxxxxxx> Date: Wed Aug 19 14:17:40 2015 +0200 btrfs: Prevent from early transaction abort Btrfs relies on GFP_NOFS allocation when committing the transaction but this allocation context is rather weak wrt. reclaim capabilities. The page allocator currently tries hard to not fail these allocations if they are small (<=PAGE_ALLOC_COSTLY_ORDER) so this is not a problem currently but there is an attempt to move away from the default no-fail behavior and allow these allocation to fail more eagerly. And this would lead to a pre-mature transaction abort as follows: [ 55.328093] Call Trace: [ 55.328890] [<ffffffff8154e6f0>] dump_stack+0x4f/0x7b [ 55.330518] [<ffffffff8108fa28>] ? console_unlock+0x334/0x363 [ 55.332738] [<ffffffff8110873e>] __alloc_pages_nodemask+0x81d/0x8d4 [ 55.334910] [<ffffffff81100752>] pagecache_get_page+0x10e/0x20c [ 55.336844] [<ffffffffa007d916>] alloc_extent_buffer+0xd0/0x350 [btrfs] [ 55.338973] [<ffffffffa0059d8c>] btrfs_find_create_tree_block+0x15/0x17 [btrfs] [ 55.341329] [<ffffffffa004f728>] btrfs_alloc_tree_block+0x18c/0x405 [btrfs] [ 55.343566] [<ffffffffa003fa34>] split_leaf+0x1e4/0x6a6 [btrfs] [ 55.345577] [<ffffffffa0040567>] btrfs_search_slot+0x671/0x831 [btrfs] [ 55.347679] [<ffffffff810682d7>] ? get_parent_ip+0xe/0x3e [ 55.349434] [<ffffffffa0041cb2>] btrfs_insert_empty_items+0x5d/0xa8 [btrfs] [ 55.351681] [<ffffffffa004ecfb>] __btrfs_run_delayed_refs+0x7a6/0xf35 [btrfs] [ 55.353979] [<ffffffffa00512ea>] btrfs_run_delayed_refs+0x6e/0x226 [btrfs] [ 55.356212] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.358378] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.360626] [<ffffffffa0060221>] btrfs_commit_transaction+0x4c/0xaba [btrfs] [ 55.362894] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.365221] [<ffffffffa0073428>] btrfs_sync_file+0x29c/0x310 [btrfs] [ 55.367273] [<ffffffff81186808>] vfs_fsync_range+0x8f/0x9e [ 55.369047] [<ffffffff81186833>] vfs_fsync+0x1c/0x1e [ 55.370654] [<ffffffff81186869>] do_fsync+0x34/0x4e [ 55.372246] [<ffffffff81186ab3>] SyS_fsync+0x10/0x14 [ 55.373851] [<ffffffff81554f97>] system_call_fastpath+0x12/0x6f [ 55.381070] BTRFS: error (device hdb1) in btrfs_run_delayed_refs:2821: errno=-12 Out of memory [ 55.382431] BTRFS warning (device hdb1): Skipping commit of aborted transaction. [ 55.382433] BTRFS warning (device hdb1): cleanup_transaction:1692: Aborting unused transaction(IO failure). [ 55.384280] ------------[ cut here ]------------ [ 55.384312] WARNING: CPU: 0 PID: 3010 at fs/btrfs/delayed-ref.c:438 btrfs_select_ref_head+0xd9/0xfe [btrfs]() [...] [ 55.384337] Call Trace: [ 55.384353] [<ffffffff8154e6f0>] dump_stack+0x4f/0x7b [ 55.384357] [<ffffffff8107f717>] ? down_trylock+0x2d/0x37 [ 55.384359] [<ffffffff81046977>] warn_slowpath_common+0xa1/0xbb [ 55.384398] [<ffffffffa00a1d6b>] ? btrfs_select_ref_head+0xd9/0xfe [btrfs] [ 55.384400] [<ffffffff81046a34>] warn_slowpath_null+0x1a/0x1c [ 55.384423] [<ffffffffa00a1d6b>] btrfs_select_ref_head+0xd9/0xfe [btrfs] [ 55.384446] [<ffffffffa004e5f7>] ? __btrfs_run_delayed_refs+0xa2/0xf35 [btrfs] [ 55.384455] [<ffffffffa004e600>] __btrfs_run_delayed_refs+0xab/0xf35 [btrfs] [ 55.384476] [<ffffffffa00512ea>] btrfs_run_delayed_refs+0x6e/0x226 [btrfs] [ 55.384499] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.384521] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.384543] [<ffffffffa0060221>] btrfs_commit_transaction+0x4c/0xaba [btrfs] [ 55.384565] [<ffffffffa0060e21>] ? start_transaction+0x192/0x534 [btrfs] [ 55.384588] [<ffffffffa0073428>] btrfs_sync_file+0x29c/0x310 [btrfs] [ 55.384591] [<ffffffff81186808>] vfs_fsync_range+0x8f/0x9e [ 55.384592] [<ffffffff81186833>] vfs_fsync+0x1c/0x1e [ 55.384593] [<ffffffff81186869>] do_fsync+0x34/0x4e [ 55.384594] [<ffffffff81186ab3>] SyS_fsync+0x10/0x14 [ 55.384595] [<ffffffff81554f97>] system_call_fastpath+0x12/0x6f [...] [ 55.384608] ---[ end trace c29799da1d4dd621 ]--- [ 55.437323] BTRFS info (device hdb1): forced readonly [ 55.438815] BTRFS info (device hdb1): delayed_refs has NO entry Fix this by being explicit about the no-fail behavior of this allocation path and use __GFP_NOFAIL. Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 60d53eb3107c8e8960e8d7c22aa4e69aac7a8fe6 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 17 18:44:46 2015 +0800 btrfs: Remove unused arguments in tree-log.c Following arguments are not used in tree-log.c: insert_one_name(): path, type wait_log_commit(): trans wait_for_writer(): trans This patch remove them. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 34eb2a524997e5cd7117569b1fda925516adf6ac Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 17 18:44:45 2015 +0800 btrfs: Remove useless condition in start_log_trans() Dan Carpenter <dan.carpenter@xxxxxxxxxx> reported a smatch warning for start_log_trans(): fs/btrfs/tree-log.c:178 start_log_trans() warn: we tested 'root->log_root' before and it was 'false' fs/btrfs/tree-log.c 147 if (root->log_root) { We test "root->log_root" here. ... Reason: Condition of: fs/btrfs/tree-log.c:178: if (!root->log_root) { is not necessary after commit: 7237f1833 It caused a smatch warning, and no functionally error. Fix: Deleting above condition will make smatch shut up, but a better way is to do cleanup for start_log_trans() to remove duplicated code and make code more readable. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 95ecdc2549ccc1f4f5af1f37c080120c2f0a1be3 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 14:20:45 2015 -0700 Input: cros_ec_keyb - replace KEYBOARD_CROS_EC dependency The ChromeOS EC keyboard driver config depends on CROS_EC_PROTO but MFD_CROS_EC selects CROS_EC_PROTO instead. Mixing select and depends on is bad practice as it may lead to circular Kconfig dependencies. Since the platform device that is matched with the keyboard driver is registered by the ChromeOS EC mfd driver, KEYBOARD_CROS_EC really should depend on MFD_CROS_EC. And because this config option selects CROS_EC_PROTO, that dependency is met as well. So make the driver to depend on MFD_CROS_EC instead of CROS_EC_PROTO. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 18e1db67e93ed75d9dc0d34c8d783ccf10547c2b Author: Bernhard Thaler <bernhard.thaler@xxxxxxxx> Date: Thu Aug 13 08:58:15 2015 +0200 netfilter: bridge: fix IPv6 packets not being bridged with CONFIG_IPV6=n 230ac490f7fba introduced a dependency to CONFIG_IPV6 which breaks bridging of IPv6 packets on a bridge with CONFIG_IPV6=n. Sysctl entry /proc/sys/net/bridge/bridge-nf-call-ip6tables defaults to 1, for this reason packets are handled by br_nf_pre_routing_ipv6(). When compiled with CONFIG_IPV6=n this function returns NF_DROP but should return NF_ACCEPT to let packets through. Change CONFIG_IPV6=n br_nf_pre_routing_ipv6() return value to NF_ACCEPT. Tested with a simple bridge with two interfaces and IPv6 packets trying to pass from host on left side to host on right side of the bridge. Fixes: 230ac490f7fba ("netfilter: bridge: split ipv6 code into separated file") Signed-off-by: Bernhard Thaler <bernhard.thaler@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit bf798657eb5ba57552096843c315f096fdf9b715 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Aug 12 17:41:00 2015 +0200 netfilter: nf_tables: Use 32 bit addressing register from nft_type_to_reg() nft_type_to_reg() needs to return the register in the new 32 bit addressing, otherwise we hit EINVAL when using mappings. Fixes: 49499c3 ("netfilter: nf_tables: switch registers to 32 bit addressing") Reported-by: Andreas Schultz <aschultz@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 69f230d907e8c1ca3f9bd528993eeb98f712b0dd Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Thu Aug 20 01:52:59 2015 +0800 NFS41/flexfiles: update inode after write finishes Otherwise we break fstest case tests/read_write/mctime.t Does files layout need the same fix as well? Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Cc: Anna Schumaker <anna.schumaker@xxxxxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c5e5cd28d7c5a18d6da6575957dd0c5243ac3e7b Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Wed Aug 19 11:37:57 2015 +0800 spi: mediatek: remove redundant clock in prepare_hardware/unprepare_hardware clock in prepare_hardware/unprepare_hardware is redundant with pm_runtime, so remove them. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aaee24accb9e374c04eb9672d5324160626462c5 Author: Mark Greer <mgreer@xxxxxxxxxxxxxxx> Date: Wed Aug 19 08:58:52 2015 -0700 NFC: trf7970a: Add NULL check to clear up smatch warning Although it should be unnecessary, add a NULL pointer check to trf7970a_send_upstream() to eliminate a smatch warning. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ae291f79da57ef4cb747ae1940b37152d1a4e5cf Author: Mark Greer <mgreer@xxxxxxxxxxxxxxx> Date: Wed Aug 19 08:57:58 2015 -0700 NFC: trf7970a: SDD_EN is bit 5 not bit 3 The SDD_EN bit in the NFC Target Detection Level Register is bit 5 not bit 3 so change the TRF7970A_NFC_TARGET_LEVEL_SDD_EN macro accordingly. Reported-by: Raymond Lei <Raymond.Lei@xxxxxxxxxx> Signed-off-by: Mark Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 777572911a732c0d3e6dbc514f9a1206606ffd0b Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:28:19 2015 +0200 dmaengine: mv_xor: optimize performance by using a subset of the XOR channels Due to how async_tx behaves internally, having more XOR channels than CPUs is actually hurting performance more than it improves it, because memcpy requests get scheduled on a different channel than the XOR requests, but async_tx will still wait for the completion of the memcpy requests before scheduling the XOR requests. It is in fact more efficient to have at most one channel per CPU, which this patch implements by limiting the number of channels per engine, and the number of engines registered depending on the number of availables CPUs. Marvell platforms are currently available in one CPU, two CPUs and four CPUs configurations: - in the configurations with one CPU, only one channel from one engine is used. - in the configurations with two CPUs, only one channel from each engine is used (they are two XOR engines) - in the configurations with four CPUs, both channels of both engines are used. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6d8f7abd235c1a38629cdada49cc53992f4ad42e Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:28:16 2015 +0200 dmaengine: mv_xor: remove support for dmacap,* DT properties The only reason why we had dmacap,* properties is because back when DMA_MEMSET was supported, only one out of the two channels per engine could do a memset operation. But this is something that the driver already knows anyway, and since then, the DMA_MEMSET support has been removed. The driver is already well aware of what each channel supports and the one to one mapping between Linux specific implementation details (such as dmacap,interrupt enabling DMA_INTERRUPT) and DT properties is a good indication that these DT properties are wrong. Therefore, this commit simply gets rid of these dmacap,* properties, they are now ignored, and the driver is responsible for knowing the capabilities of the hardware with regard to the dmaengine subsystem expectations. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 31495d60a06524f37a9ea66d7d62ce0418ef3506 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Thu Jul 23 18:04:49 2015 +0200 dmaengine: pl330: do not emit loop for 1 byte transfer. When there is only one burst required do not emit loop instructions to loop exactly once. Emit just the body of the loop. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1cf5a330c05ae37a0a98ac7c9800a6f50d5579ec Author: Nikesh Oswal <Nikesh.Oswal@xxxxxxxxxxxxxxxx> Date: Wed Aug 19 16:02:24 2015 +0100 ASoC: arizona: Fix gain settings of FLL in free-run mode The wrong register was used to set the gain of ref loop, when changing the FLL output on an active FLL. This patch corrects the offset of the gain register. Signed-off-by: Nikesh Oswal <Nikesh.Oswal@xxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5a286aae3d2c6e494fbcafdf4e911e2e976562a8 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 19 11:17:53 2015 +0800 regulator: qcom_smd: Set n_voltages for pm8941_lnldo Just setting fixed_uV is not enough, the regulator core will also check n_voltages setting. The fixed_uV only works when n_voltages is 1. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bf0c4e04732479f650ff59d1ee82de761c0071f0 Author: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Date: Tue Aug 18 20:50:10 2015 +0100 arm64: kconfig: Move LIST_POISON to a safe value Move the poison pointer offset to 0xdead000000000000, a recognized value that is not mappable by user-space exploits. Cc: <stable@xxxxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Thierry Strudel <tstrudel@xxxxxxxxxx> Signed-off-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ccf2dc51bc4a715670641aa5af0d4636acd8e0cd Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 20:08:09 2015 -0700 hwmon: (ltc2978) Add support for LTM4675 LTM2975 is a dual 9A or single 18A μModule regulator. It is register compatible with LTM4676. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e04d1ce9bbb49862fd8266da764f5ebf67baaac0 Author: Michael Jones <mike@xxxxxxxxxxxxx> Date: Mon Aug 17 17:45:32 2015 -0700 hwmon: (ltc2978) Add polling for chips requiring it Some of the LTC chips supported by this driver have to be polled to ensure that they are ready to accept commands. Signed-off-by: Michael Jones <mike@xxxxxxxxxxxxx> [Guenter Roeck: simplifications and formatting changes] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit d830e27dac26b4f084c5ed2282666527f90db0ed Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 16:26:21 2015 -0700 hwmon: (pmbus) Enable PEC if the controller supports it PMBus controllers optionally support PEC. Configure the driver to use it if available to improve operational security. Suggested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2c052d4280ca48fddc7a9ffd2329ada3628cab86 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 16:17:24 2015 -0700 hwmon: (pmbus) Use BIT macro Using the BIT macro makes the code a little easier to read. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9430e547894d2ff099e5717050eb40c1e1dd2bad Author: Julian Scheel <julian@xxxxxxxx> Date: Wed Aug 19 09:28:09 2015 +0200 ALSA: usb-audio: Recurse before saving terminal properties The input terminal parser recurses into the referenced clock entity to verify it is existant and thus the terminal descriptor is valid. The actual property values of the term instance which is initially parsed must not be overriden by the recursion. For this to work the term properties have to be assigned after recursing into the referenced clock entity descriptors. Signed-off-by: Julian Scheel <julian@xxxxxxxx> Acked-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ebb75c0bdba238013976b53e256f8d13216304e4 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Aug 15 07:21:00 2015 +0530 ASoC: rockchip: i2s: Adjust devm usage Remove use of snd_soc_unregister_component in remove function as devm_snd_soc_register_component in probe function automatically handles it. Also, convert call of snd_dmaengine_pcm_register to managed resource function devm_snd_dmaengine_pcm_register and remove usage of snd_dmaengine_pcm_unregister in probe and remove functions. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bea107b1f1ee79da0bc2c1ee0c70bf1c3c6c41b4 Author: Christian Kujau <lists@xxxxxxxxxxxxxxx> Date: Sun Aug 2 20:03:26 2015 -0700 fallback to hostname in scripts/package/builddeb I happened to build a kernel with "make deb-pkg" on a machine with no network connectivity, but this failed with: [...] INSTALL debian/headertmp/usr/include/asm/ (65 files) hostname: Name or service not known ../scripts/package/Makefile:90: recipe for target 'deb-pkg' failed make[2]: *** [deb-pkg] Error 1 In scripts/package/builddeb it tries to construct an email address (that can be queried in /proc/version later on) but with no network, the "hostname -f" fails. The following patch falls back to just use the shortname if we cannot determine our FQDN. Signed-off-by: Christian Kujau <lists@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 2f27b81c0e5670fbdd902ca8f85617153d69b8cb Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:15 2015 -0500 dmaengine: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d078cd1b4185134fe861e2b16a40ba14efb307b7 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Thu Jul 23 11:40:49 2015 +0800 dmaengine: imx-sdma: Add imx6sx platform support The new Solo X has more requirements for SDMA events. So it creates a event mux to remap most of event numbers in GPR (General Purpose Register). If we want to use SDMA support for those module who do not get the even number as default, we need to configure GPR first. Thus this patch adds this support of GPR event remapping configuration to the SDMA driver. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e900c30dc1bb0cbc07708e9be1188f531632b2ef Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Jul 22 16:12:29 2015 +0200 dmaengine: at_xdmac: fix bug in prep_dma_cyclic In cyclic mode, the round chaining has been broken by the introduction of at_xdmac_queue_desc(): AT_XDMAC_MBR_UBC_NDE is set for all descriptors excepted for the last one. at_xdmac_queue_desc() has to be called one more time to chain the last and the first descriptors. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Fixes: 0d0ee751f7f7 ("dmaengine: xdmac: Rework the chaining logic") Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e755d638e91be254d441602e8d7d9f1d9c944556 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:49:19 2015 +0800 NFS41: make sure sending LAYOUTRETURN before close if marked so If layout is marked by NFS_LAYOUT_RETURN_BEFORE_CLOSE, we should always send LAYOUTRETURN before close, and we don't need to do ROC drain if we do send LAYOUTRETURN. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit bec8a5a22640325e86cf5b737c18888747631099 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 13:53:06 2015 +0900 coccinelle: api: extend spatch for dropping unnecessary owner i2c_add_driver (through i2c_register_driver) sets the owner field so we can drop it also from i2c drivers, just like from platform drivers. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 09cd75555cd9051bdeac7a29c6ff12d6b9e8341b Author: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Date: Sun Jul 12 09:41:51 2015 +0200 kconfig: Regenerate shipped zconf.{hash,lex}.c files Update the shipped files generated by flex and gperf to support the explicit use of "---help---" and to emit warnings for unsupported characters on COMMAND tokens. As I could not find out which flex/gperf version was used to generate the previous version, I used flex 2.5.35 and gperf 3.0.4 from Ubuntu 14.04 - this also leads to the big number of changed lines in this patch. Signed-off-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Reviewed-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Tested-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit c2264564df3d70723c6d6eb96c18b99698c112fd Author: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Date: Sun Jul 12 09:41:50 2015 +0200 kconfig: warn of unhandled characters in Kconfig commands In Kconfig, definitions of options take the following form: "<COMMAND> <PARAM> <PARAM> ...". COMMANDs and PARAMs are treated slightly different by the underlying parser. While commit 2e0d737fc76f ("kconfig: don't silently ignore unhandled characters") introduced a warning for unsupported characters around PARAMs, it does not cover situations where a COMMAND has additional characters before it. This change makes Kconfig emit a warning if superfluous characters are found before COMMANDs. As the 'help' statement sometimes is written as '---help---', the '-' character would now also be regarded as unhandled and generate a warning. To avoid that, '-' is added to the list of allowed characters, and the token '---help---' is included in the zconf.gperf file. Reported-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Reviewed-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Tested-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 8f183751a8604be5aaf0ad6dedac4890bb6fa0d5 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Wed Aug 19 08:42:07 2015 +0200 crypto: cmac - allow usage in FIPS mode CMAC is an approved cipher in FIPS 140-2. The patch allows the use of CMAC with TDES and AES in FIPS mode. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 66c9a04e33947191a03a1cf5103b8bf9051774df Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Aug 18 11:36:05 2015 +0530 crypto: sahara - Use dmam_alloc_coherent This patch moves the data allocated using dma_alloc_coherent to the corresponding managed interface. To be compatible with the change, various gotos are replaced with direct returns and unneeded labels are dropped. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 35ffd08d9bc92b5d56f6536406c379d82a757e7a Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 21:48:23 2015 +0200 kconfig: Delete unnecessary checks before the function call "sym_calc_value" The sym_calc_value() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit bf7b00557d10c0b84b6717305815c8fff7007830 Author: Riku Voipio <riku.voipio@xxxxxxxxxx> Date: Thu May 28 12:11:14 2015 +0300 deb-pkg: simplify directory creation Every package needs /usr/share/doc/$package_name and DEBIAN directory, so create them as part of create_package function. Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 3c42f0b803613c4888aa2214e86d6ea746cb94de Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 18:00:37 2015 -0700 scripts/tags.sh: Include trace_*_rcuidle() in tags Every tracepoint creates two functions, the usual one 'trace_*()' and the rcuidle one 'trace_*_rcuidle()'. Add regex for the rcuidle variant so that we can jump to the tracepoints that use rcuidle. Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 72ccc89e38031183323f8e715503d7e61fcff2ab Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 19 10:32:23 2015 +0800 FIRMWARE: bcm47xx_nvram: Fix module license. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11020/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5db879aefa0ef6dea4fdda268dd94016bc165f3d Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Thu Jul 9 14:19:43 2015 +0530 ath10k: free collected fw stats memory if .pull_fw_stats fails If .pull_fw_stats() fails for some reason while processing fw stats event, collected pdev/vdev/peer stats just before the failure should be freed. This is unlikely to happen, just code review catch. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f1ee2682ef8dffe6d6ec6f7788d6bf33d6bab7a6 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Thu Jul 9 14:19:42 2015 +0530 ath10k: ensure pktlog disable cmd reaches fw before pdev suspend Found incorrect sequence in ath10k_core_stop() where wmi pktlog disable cmd is passed from ath10k_debug_stop() to firmware immediately after wmi pdev suspend cmd. Firmware will not accept any wmi cmd after receiving wmi pdev suspend cmd. Fix this issue in ath10k_core_stop() by moving ath10k_debug_stop() just before sending pdev suspend cmd. So that pktlog disable cmd will get passed before pdev suspend cmd. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 42cfc6b590c5eb7ae3c1de89594f8f2193ecbc97 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Aug 19 10:42:23 2015 +0200 s390/dcssblk: correct out of bounds array indexes Fix a couple of warnings like this: [linux-4.2-rc7/drivers/s390/block/dcssblk.c:553]: (style) Array index 'j' is used before limits check. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 78fb907626dccfeee6f4213c649606e9ba49c6bc Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 14 14:58:50 2015 +0200 s390/mm: simplify page table alloc/free code With the removal of the dynamic reallocation of page tables for KVM (see git commit 0b46e0a3ec0d7a04af6a091354f1b5e1b952d70a) the page table allocation / freeing code can be simplified. The page table free code can now use the alloc_pgste bit in the mm context to decide if a page table is 2K or 4K, there is no mix of different sized page tables anymore. This eliminates the need to use "page->_mapcount == 0" to check for 4K page table. Use the lower two bits in page->_mapcount to indicate which 2K fragments of the 4K page are in use. As 31-bit support is gone, remove the two defines ALLOC_ORDER and FRAG_MASK and use the constants directly where appropriate. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3d8258e4ab5166ca702b2828c99a5fa7dcb40a0c Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:39:27 2015 +0200 s390/pci: move debug messages to debugfs The error messages in pci_insn are for debug purposes only. Move them to the debugfs. Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 24d05ff863e78544e8538a792e3234291cdd5650 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Aug 17 08:09:17 2015 +0200 s390/nmi: initialize control register 0 earlier Change machine_check_init() to an early_initcall(). This makes sure it will be called before all other cpus are online and therfore saves us a lot of pointless smp_call_function() calls. The control register settings will be forwarded to the other cpus when they will be brought online. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e4e1899aaec0370aea6b98597ee6289d60544ae2 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Aug 17 07:59:47 2015 +0200 s390/zcrypt: use msleep() instead of mdelay() There is no need to busy loop and monopolize a cpu for up to ~2 seconds. The code in question that calls mdelay() is preemptible anyway, so better let the kernel schedule different processes than just looping and causing unnecessary delays. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e619cd3d618672bea8602d682ea63b42a1faf1bc Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Aug 17 07:56:20 2015 +0200 s390/hmcdrv: fix interrupt registration The z/VM driver sets bit "63-22" in control register zero to one in order to enable the CP Service interrupt (0x2603). However the irq subclass mask that normally corresponds to the CP Service interrupt is "63-54" (== "63-22-32"). So it looks like the author read the documentation with the 32 bit sized cr0 register bit positions (== 22), but didn't realize that bit numbers change, if applied to a 64 bit register (== 54) due to the numbering scheme. Also use irq_subclass_register() instead if ctl_set_bit() since multiple services depend on the service signal subclass mask, which is the correct bit. This also explains why nobody noticed the bug, since the bit is always enabled anyway (e.g. pfault). Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 89b1145e93771d727645c96e323539c029b63f1c Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 14 13:20:28 2015 +0200 s390/setup: fix novx parameter The novx parameter disables the vector facility but the HWCAP_S390_VXRS bit in the ELf hardware capabilies is always set if the machine has the vector facility. If the user space program uses the "vx" string in the features field of /proc/cpuinfo to utilize vector instruction it will crash if the novx kernel paramter is set. Convert setup_hwcaps to an arch_initcall and use MACHINE_HAS_VX to decide if the HWCAPS_S390_VXRS bit needs to be set. Cc: stable@xxxxxxxxxxxxxxx # 3.18+ Reported-by: Ulrich Weigand <uweigand@xxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit cabc4abe8e368d754805691b146f31f574533cfa Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Aug 13 13:44:34 2015 +0200 s390/uaccess: remove uaccess_primary kernel parameter get_user() and put_user() are inline functions in the meantime again. Both will generate the mvcos instruction if compiled with -march=z10 (or greater). The kernel parameter "uaccess_primary" can only change the behavior of out-of-line uaccess functions like copy_from_user() to not use the mvcos instruction, but not for the above named inlined functions. Therefore it is quite useless and the parameter can be removed. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 92d6289105d134582094eede00192bd66f54905f Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Aug 13 13:26:49 2015 +0200 s390: remove unneeded sizeof(void *) comparisons Remove two more statements which always evaluate to 'false'. These are more leftovers from the 31 bit era. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a69db2f6ad69157cace810971f19cb5aec9956b1 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Aug 13 12:27:16 2015 +0200 s390/facilities: remove transactional-execution bits Remove the two facility bits 50 - constrained transactional-execution facility 74 - transactional-execution facility from the required facilities if the kernel is built with -march=zEC12. E.g. z/VM 6.3 doesn't virtualize the TX facility yet. Therefore a kernel built with -march=zEC12 and ipl'ed on a zEC12 machine as a z/VM 6.3 guest will emit a message about the missing facilities and stop working. The kernel however doesn't make use of the TX facility, therefore remove the two TX related facility bits and fix this unpleasant behavior. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c0e5ddab6e985c83714b31a88098e76c39ff084a Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 10:35:11 2015 +0200 s390/numa: re-add DIE sched_domain_topology_level By accident this level has been removed by the NUMA infrastructure patch. For non-NUMA systems with CPUs that span more than one book, this makes the scheduler only use one of the books and the other books remain idle. Fix this and re-add the missing level. For NUMA and non-NUMA we have the following scheduling domains and groups: - SMT (Groups: CPU threads) - MC (Groups: Cores) - BOOK (Groups: Books) For the non-NUMA case we have one last level scheduling domain: - DIE (Groups: Whole system, has all CPUs -> cpu_cpu_mask) For the NUMA case we have the following two last level scheduling domains: - DIE (Groups: NUMA nodes -> cpu_cpu_mask -> returns node siblings) - NUMA (Groups: Whole system, has all CPUs -> created in sched_init_numa()) Fixes: e8054b654bf5 ("s390/numa: add topology tree infrastructure") Reported-and-tested-by: Evgeny Cherkashin <Eugene.Crosser@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8cfd23e6740158817d2045915f6ea5a2daf11bce Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Aug 17 18:09:55 2015 +0200 netfilter: nft_payload: work around vlan header stripping make payload expression aware of the fact that VLAN offload may have removed a vlan header. When we encounter tagged skb, transparently insert the tag into the register so that vlan header matching can work without userspace being aware of offload features. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit acf6cec8365bfe1e6435e503eae4eab48ee04fc8 Author: Gerhard Sittig <gsi@xxxxxxx> Date: Mon Jun 3 13:18:06 2013 +0200 powerpc/512x: silence a USB Kconfig dependency warning the PPC_MPC512x config automatically selected USB_EHCI_BIG_ENDIAN_* switches, which made Kconfig warn about "unmet direct dependencies": scripts/kconfig/conf --silentoldconfig Kconfig warning: (PPC_MPC512x && 440EPX) selects USB_EHCI_BIG_ENDIAN_DESC which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) warning: (PPC_MPC512x && PPC_PS3 && PPC_CELLEB && 440EPX) selects USB_EHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) warning: (PPC_MPC512x && 440EPX) selects USB_EHCI_BIG_ENDIAN_DESC which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) warning: (PPC_MPC512x && PPC_PS3 && PPC_CELLEB && 440EPX) selects USB_EHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) make the selected entries additionally depend on USB_EHCI_HCD which silences the warning Signed-off-by: Gerhard Sittig <gsi@xxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 74943dab6b155b1a9d4037b7f01a396f28f9c44a Author: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Date: Mon May 11 13:53:43 2015 +0530 powerpc/nvram: print no error when pstore backend is not nvram Pstore only supports one backend at a time. The preferred pstore backend is set by passing the pstore.backend=<name> argument to the kernel at boot time. Currently, while trying to register with pstore, nvram throws an error message even when "pstore.backend != nvram", which is unnecessary. This patch removes the error message in case "pstore.backend != nvram". Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 36319608e28701c07cad80ae3be8b0fdfb1ab40f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 19 00:14:20 2015 -0500 Revert "NFSv4: Remove incorrect check in can_open_delegated()" This reverts commit 4e379d36c050b0117b5d10048be63a44f5036115. This commit opens up a race between the recovery code and the open code. Reported-by: Olga Kornievskaia <aglo@xxxxxxxxx> Cc: stable@xxxxxxxxxxx # v4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3c13cb5b647ebe36fb79128bc8b917d2a3317b65 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 18 23:45:13 2015 -0500 NFSv4.1/pnfs: Play safe w.r.t. close() races when return-on-close is set If we have an OPEN_DOWNGRADE and CLOSE race with one another, we want to ensure that the layout is forgotten by the client, so that we start afresh with a new layoutget. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7a67832c7e44c20935c5d6f2264035a0f7bf0d8f Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Aug 19 00:34:34 2015 -0400 libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option We currently register a platform device for e820 type-12 memory and register a nvdimm bus beneath it. Registering the platform device triggers the device-core machinery to probe for a driver, but that search currently comes up empty. Building the nvdimm-bus registration into the e820_pmem platform device registration in this way forces libnvdimm to be built-in. Instead, convert the built-in portion of CONFIG_X86_PMEM_LEGACY to simply register a platform device and move the rest of the logic to the driver for e820_pmem, for the following reasons: 1/ Letting e820_pmem support be a module allows building and testing libnvdimm.ko changes without rebooting 2/ All the normal policy around modules can be applied to e820_pmem (unbind to disable and/or blacklisting the module from loading by default) 3/ Moving the driver to a generic location and converting it to scan "iomem_resource" rather than "e820.map" means any other architecture can take advantage of this simple nvdimm resource discovery mechanism by registering a resource named "Persistent Memory (legacy)" Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 4ff376feaf57af94e08c8df769e7c48b805ac897 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 18 23:23:21 2015 -0500 NFSv4.1/pnfs: Fix a close/delegreturn hang when return-on-close is set The helper pnfs_roc() has already verified that we have no delegations, and no further open files, hence no outstanding I/O and it has marked all the return-on-close lsegs as being invalid. Furthermore, it sets the NFS_LAYOUT_RETURN bit, thus serialising the close/delegreturn with all future layoutget calls on this inode. The checks in pnfs_roc_drain() for valid layout segments are therefore redundant: those cannot exist until another layoutget completes. The other check for whether or not NFS_LAYOUT_RETURN is set, actually causes a hang, since we already know that we hold that flag. To fix, we therefore strip out all the functionality in pnfs_roc_drain() except the retrieval of the barrier state, and then rename the function accordingly. Reported-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Fixes: 5c4a79fb2b1c ("Don't prevent layoutgets when doing return-on-close") Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit b5f5914cb8a2745ee4edc9d7f3596d596f1ea1b0 Merge: 15cf3b7 4e317ce Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 23:52:47 2015 -0400 Merge branch 'ufs' into for-next commit 15cf3b7afd94895f86ef10aa313053ad1c0f463d Merge: 2c6625c 8129ed2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 23:43:29 2015 -0400 Merge branch 'sb_writers_pcpu_rwsem' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc into for-next commit def63be85fe774477fb66043003e5b2ee748c4fa Merge: 1c8aa21 56d1392 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 20:21:32 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-08-18 This series contains updates to igb, e100, e1000e and ixgbe. Shota Suzuki provides a fix for a possible overflow in igb_set_interrupt_capability() which leads to an oops. When changing the number of queues by "ethtool -L", set IGB_FLAG_QUEUE_PAIRS in the same manner as when initializing the igb driver. Vasily Averin provides a fix for a missing rtnl_unlock() for when we error out due to not being able to allocate memory for our queues. Stefan Assman provides a couple of fixes for igb/igbvf. First changes the igb driver in probe to simply call igb_enable_sriov() instead of igb_sriov_reinit() since we are starting from scratch. Then in igbvf, fix the driver where it does not clear the buffer_info->dma in all cases after calling dma_unmap_single(), which was found by changing the MTU twice. Richard Cochran implements the periodic output function using the programmable clock outputs available in i210 when possible, falling back to the target time for longer periods. Todd adds support for the Marvell PHY 1512 which is required for i354 devices. Then updates igb to make sure SR-IOV init uses the correct number of queues, since recent changes could result in the PF holding onto all of the queues. Alex Williamson provides a fix in the case where a guest OS does not support hot-unplug, so disable SR-IOV prior to unregister_netdev() to avoid the problem. Jia-Ju Bai provides several patches, first knocks some collecting dust off an old e100 driver to add a check to avoid a null pointer dereference. Then cleans up a possible resource leak by releasing the skb buffer allocated when the e100_xmit_prepare() runs into an issue in the DMA mapping. In igb, add a missing rtnl_unlock() for when we error out due to igb_sriov_reinit() in the igb_init_interrupt_scheme(). Provides a e1000e fix, based on suggestions from Alex Duyck to move head/tail register writing to e1000_configure_tx/rx() to avoid a possible null pointer dereference (similar to igb driver). Lastly, fix a possible memory leak in igb_probe(), where the memory shadow_vfta allocated by kcalloc in igb_sw_init() is not freed. Mark simplifies port-specific macros for ixgbe by eliminating explicit comparisons with 0 and enclose formal parameters in parens to eliminate the risk of an operator precedence issue. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c8aa215ec060f5df64ff99b088e8a97f45efb0b Merge: 954591b 58aa908 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 20:16:53 2015 -0700 Merge branch 'vrf-next' Nikolay Aleksandrov says: ==================== vrf: a few simplifications and cleanups These patches remove some unnecessary checks (patches 3, 4), unnecessary num_slaves member and refcnt manipulations which are already done by the upper functions. ==================== Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58aa90875da1ab075d712585305d1e520812bbb1 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 20:28:04 2015 +0300 vrf: simplify the netdev notifier function We can drop the check because if vrf_ptr is present then we must have the vrf device as a master and since we're running with rtnl it can't go away. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a4a27d3bde1c9cd8159c86a79796348cab90140 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 20:28:03 2015 +0300 vrf: don't check for dstats and rth in uninit path dstats and rth are always present because we fail the device registration if they can't be allocated in vrf_init() (ndo_init) so drop the unnecessary checks. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db5dbec5ef2d4565bb8d42709802de66b06f9965 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 20:28:02 2015 +0300 vrf: drop unused num_slaves member slave_queue has a num_slaves member which is unused, drop it. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17d95f5ee2ba45a9771c97eb1037dfff1d51b064 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 20:28:01 2015 +0300 vrf: drop unnecessary dev refcnt changes netdev_master_upper_dev_link/unlink already do a dev_hold/put on the devices being linked, so no need to take another reference. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 954591b9f3b43e7015bdd83acaa317658a9b7048 Author: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Date: Tue Aug 18 20:06:32 2015 -0700 hv_netvsc: Fix dereference of nvdev before check Passes static analysis by Smatch. Signed-off-by: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 415bcb5c6eff630967baa4e671cebe883d83ee79 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Tue Aug 18 21:04:35 2015 -0400 staging/lustre/o2iblnd: remove references to ib_reg_phsy_mr() Removed references to ib_reg_phsy_mr() and PMR which was added to deal with some Chelsio specific scenario, but no longer needed now. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Amir Shehata <amir.shehata@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d79849903e00fb445038ddd8afb2acfbf89eb7f Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Tue Aug 18 18:42:09 2015 +0200 lwtunnel: ip tunnel: fix multiple routes with different encap Currently, two routes going through the same tunnel interface are considered the same even when they are routed to a different host after encapsulation. This causes all routes added after the first one to have incorrect encapsulation parameters. This is nicely visible by doing: # ip r a 192.168.1.2/32 dev vxlan0 tunnel dst 10.0.0.2 # ip r a 192.168.1.3/32 dev vxlan0 tunnel dst 10.0.0.3 # ip r [...] 192.168.1.2/32 tunnel id 0 src 0.0.0.0 dst 10.0.0.2 [...] 192.168.1.3/32 tunnel id 0 src 0.0.0.0 dst 10.0.0.2 [...] Implement the missing comparison function. Fixes: 3093fbe7ff4bc ("route: Per route IP tunnel metadata via lightweight tunnel") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df383e6240ef222703648072dafd2a1ae21b0d2a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Tue Aug 18 18:41:13 2015 +0200 lwtunnel: fix memory leak The built lwtunnel_state struct has to be freed after comparison. Fixes: 571e722676fe3 ("ipv4: support for fib route lwtunnel encap attributes") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c938a003448063382e0575aee2d381d4cd7aec34 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 12:31:44 2015 +0300 cxgb4: memory corruption in debugfs You can't use kstrtoul() with an int or it causes memory corruption. Also j should be unsigned or we have underflow bugs. I considered changing "j" to unsigned long but everything fits in a u32. Fixes: 8e3d04fd7d70 ('cxgb4: Add MPS tracing support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc3e00f04cc1fe033a289c2fc2e5c73c0168d360 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:59:10 2015 +0200 mtd: pxa3xx_nand: add a default chunk size When keeping the configuration set by the bootloader (by using the marvell,nand-keep-config property), the pxa3xx_nand_detect_config() function is called and set the chunk size to 512 as a default value if NDCR_PAGE_SZ is not set. In the other case, when not keeping the bootloader configuration, no chunk size is set. Fix this by adding a default chunk size of 512. Fixes: 70ed85232a93 ("mtd: nand: pxa3xx: Introduce multiple page I/O support") Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@free> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0f0aca5d50ced8d8c18c7982a6b6332182b70e33 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Aug 18 21:03:13 2015 +0800 mtd: omap_elm: Fix module alias Remove extra space after the "platform:" prefix and make the alias matches driver name. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7e0c19c9608483808e6b5c294e357fa456f058e1 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Fri Jul 17 11:37:52 2015 +0100 mtd: physmap_of: fix null pointer deference when kzalloc returns null static analysis by smatch caught the following error: drivers/mtd/maps/physmap_of.c:135 of_get_probes() error: potential null dereference 'res'. (kzalloc returns null) Check for failed kzalloc and return -ENOMEM in of_flash_probe if this occurs. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3d751af2cbe9a73a869986a18e865f8a34265052 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:35:04 2015 +1000 xfs: flush entire file on dio read/write to cached file Filesystems are responsible to manage file coherency between the page cache and direct I/O. The generic dio code flushes dirty pages over the range of a dio to ensure that the dio read or a future buffered read returns the correct data. XFS has generally followed this pattern, though traditionally has flushed and invalidated the range from the start of the I/O all the way to the end of the file. This changed after the following commit: 7d4ea3ce xfs: use ranged writeback and invalidation for direct IO ... as the full file flush was no longer necessary to deal with the strange post-eof delalloc issues that were since fixed. Unfortunately, we have since received complaints about performance degradation due to the increased exclusive iolock cycles (which locks out parallel dio submission) that occur when a file has cached pages. This does not occur on filesystems that use the generic code as it also does not incorporate locking. The exclusive iolock is acquired any time the inode mapping has cached pages, regardless of whether they reside in the range of the I/O or not. If not, the flush/inval calls do no work and the lock was cycled for no reason. Under consideration of the cost of the exclusive iolock, update the dio read and write handlers to flush and invalidate the entire mapping when cached pages exist. In most cases, this increases the cost of the initial flush sequence but eliminates the need for further lock cycles and flushes so long as the workload does not actively mix direct and buffered I/O. This also more closely matches historical behavior and performance characteristics that users have come to expect. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ffeecc5213024ae663377b442eedcfbacf6d0c5d Author: Jan Kara <jack@xxxxxxxx> Date: Wed Aug 19 10:34:32 2015 +1000 xfs: Fix xfs_attr_leafblock definition struct xfs_attr_leafblock contains 'entries' array which is declared with size 1 altough it can in fact contain much more entries. Since this array is followed by further struct members, gcc (at least in version 4.8.3) thinks that the array has the fixed size of 1 element and thus may optimize away all accesses beyond the end of array resulting in non-working code. This problem was only observed with userspace code in xfsprogs, however it's better to be safe in kernel as well and have matching kernel and xfsprogs definitions. cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2f123bce18943fff819bc10f8868ffb9149fc622 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Wed Aug 19 10:33:58 2015 +1000 libxfs: readahead of dir3 data blocks should use the read verifier In the dir3 data block readahead function, use the regular read verifier to check the block's CRC and spot-check the block contents instead of directly calling only the spot-checking routine. This prevents corrupted directory data blocks from being read into the kernel, which can lead to garbage ls output and directory loops (if say one of the entries contains slashes and other junk). cc: <stable@xxxxxxxxxxxxxxx> # 3.12 - 4.2 Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 11c7e0e2f91fdfdf9f7b4d107bc93d6c298c95fe Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Fri Aug 14 01:37:47 2015 +0300 mtd: nettel: do not ignore mtd_device_register() failure in nettel_init() If mtd_device_register() fails in nettel_init(), iomap left mapped. The patch adds failure handling for mtd_device_register(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit dbad7c993053d8f482a5f76270a93307537efd8e Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:33:00 2015 +1000 xfs: stop holding ILOCK over filldir callbacks The recent change to the readdir locking made in 40194ec ("xfs: reinstate the ilock in xfs_readdir") for CXFS directory sanity was probably the wrong thing to do. Deep in the readdir code we can take page faults in the filldir callback, and so taking a page fault while holding an inode ilock creates a new set of locking issues that lockdep warns all over the place about. The locking order for regular inodes w.r.t. page faults is io_lock -> pagefault -> mmap_sem -> ilock. The directory readdir code now triggers ilock -> page fault -> mmap_sem. While we cannot deadlock at this point, it inverts all the locking patterns that lockdep normally sees on XFS inodes, and so triggers lockdep. We worked around this with commit 93a8614 ("xfs: fix directory inode iolock lockdep false positive"), but that then just moved the lockdep warning to deeper in the page fault path and triggered on security inode locks. Fixing the shmem issue there just moved the lockdep reports somewhere else, and now we are getting false positives from filesystem freezing annotations getting confused. Further, if we enter memory reclaim in a readdir path, we now get lockdep warning about potential deadlocks because the ilock is held when we enter reclaim. This, again, is different to a regular file in that we never allow memory reclaim to run while holding the ilock for regular files. Hence lockdep now throws ilock->kmalloc->reclaim->ilock warnings. Basically, the problem is that the ilock is being used to protect the directory data and the inode metadata, whereas for a regular file the iolock protects the data and the ilock protects the metadata. From the VFS perspective, the i_mutex serialises all accesses to the directory data, and so not holding the ilock for readdir doesn't matter. The issue is that CXFS doesn't access directory data via the VFS, so it has no "data serialisaton" mechanism. Hence we need to hold the IOLOCK in the correct places to provide this low level directory data access serialisation. The ilock can then be used just when the extent list needs to be read, just like we do for regular files. The directory modification code can take the iolock exclusive when the ilock is also taken, and this then ensures that readdir is correct excluded while modifications are in progress. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0952c8183c1575a78dc416b5e168987ff98728bb Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:32:49 2015 +1000 xfs: clean up inode lockdep annotations Lockdep annotations are a maintenance nightmare. Locking has to be modified to suit the limitations of the annotations, and we're always having to fix the annotations because they are unable to express the complexity of locking heirarchies correctly. So, next up, we've got more issues with lockdep annotations for inode locking w.r.t. XFS_LOCK_PARENT: - lockdep classes are exclusive and can't be ORed together to form new classes. - IOLOCK needs multiple PARENT subclasses to express the changes needed for the readdir locking rework needed to stop the endless flow of lockdep false positives involving readdir calling filldir under the ILOCK. - there are only 8 unique lockdep subclasses available, so we can't create a generic solution. IOWs we need to treat the 3-bit space available to each lock type differently: - IOLOCK uses xfs_lock_two_inodes(), so needs: - at least 2 IOLOCK subclasses - at least 2 IOLOCK_PARENT subclasses - MMAPLOCK uses xfs_lock_two_inodes(), so needs: - at least 2 MMAPLOCK subclasses - ILOCK uses xfs_lock_inodes with up to 5 inodes, so needs: - at least 5 ILOCK subclasses - one ILOCK_PARENT subclass - one RTBITMAP subclass - one RTSUM subclass For the IOLOCK, split the space into two sets of subclasses. For the MMAPLOCK, just use half the space for the one subclass to match the non-parent lock classes of the IOLOCK. For the ILOCK, use 0-4 as the ILOCK subclasses, 5-7 for the remaining individual subclasses. Because they are now all different, modify xfs_lock_inumorder() to handle the nested subclasses, and to assert fail if passed an invalid subclass. Further, annotate xfs_lock_inodes() to assert fail if an invalid combination of lock primitives and inode counts are passed that would result in a lockdep subclass annotation overflow. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 7df1c170b9a45ab3a7401c79bbefa9939bf8eafb Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:32:33 2015 +1000 xfs: swap leaf buffer into path struct atomically during path shift The node directory lookup code uses a state structure that tracks the path of buffers used to search for the hash of a filename through the leaf blocks. When the lookup encounters a block that ends with the requested hash, but the entry has not yet been found, it must shift over to the next block and continue looking for the entry (i.e., duplicate hashes could continue over into the next block). This shift mechanism involves walking back up and down the state structure, replacing buffers at the appropriate btree levels as necessary. When a buffer is replaced, the old buffer is released and the new buffer read into the active slot in the path structure. Because the buffer is read directly into the path slot, a buffer read failure can result in setting a NULL buffer pointer in an active slot. This throws off the state cleanup code in xfs_dir2_node_lookup(), which expects to release a buffer from each active slot. Instead, a BUG occurs due to a NULL pointer dereference: BUG: unable to handle kernel NULL pointer dereference at 00000000000001e8 IP: [<ffffffffa0585063>] xfs_trans_brelse+0x2a3/0x3c0 [xfs] ... RIP: 0010:[<ffffffffa0585063>] [<ffffffffa0585063>] xfs_trans_brelse+0x2a3/0x3c0 [xfs] ... Call Trace: [<ffffffffa05250c6>] xfs_dir2_node_lookup+0xa6/0x2c0 [xfs] [<ffffffffa0519f7c>] xfs_dir_lookup+0x1ac/0x1c0 [xfs] [<ffffffffa055d0e1>] xfs_lookup+0x91/0x290 [xfs] [<ffffffffa05580b3>] xfs_vn_lookup+0x73/0xb0 [xfs] [<ffffffff8122de8d>] lookup_real+0x1d/0x50 [<ffffffff8123330e>] path_openat+0x91e/0x1490 [<ffffffff81235079>] do_filp_open+0x89/0x100 ... This has been reproduced via a parallel fsstress and filesystem shutdown workload in a loop. The shutdown triggers the read error in the aforementioned codepath and causes the BUG in xfs_dir2_node_lookup(). Update xfs_da3_path_shift() to update the active path slot atomically with respect to the caller when a buffer is replaced. This ensures that the caller always sees the old or new buffer in the slot and prevents the NULL pointer dereference. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 1b867d3ab562b6b03e46113fad3e87b05fbfbb85 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:32:14 2015 +1000 xfs: relocate sparse inode mount warning The sparse inodes feature is currently considered experimental. We warn at mount time from xfs_mount_validate_sb(). This function is part of the superblock verifier codepath, however, which means it could be invoked repeatedly on superblock reads or writes. This is currently only noticeable from userspace, where mkfs produces multiple warnings at format time. As mkfs warnings were not the intent of this change, relocate the mount time warning to xfs_fs_fill_super(), which is only invoked once and only in kernel space. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 928634514bc53f66631a731bf623157c913b145e Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:32:01 2015 +1000 xfs: dquots should be stamped with sb_meta_uuid Once the sb_uuid is changed, the wrong uuid is stamped into new dquots on disk. Found by inspection, verified by generic/219. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fcfbe2c4ef4243cc11a1cd64ee1b4907b6afea06 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:31:54 2015 +1000 xfs: log recovery needs to validate against sb_meta_uuid Now that sb_uuid can be changed by the user, we cannot use this to validate the metadata blocks being recovered belong to this filesystem. We must check against the sb_meta_uuid as that will remain unchanged. There is a complication in this code - the superblock itself. We can not check the sb_meta_uuid unconditionally, as that may not be set on disk. Hence we must verify the superblock sb_uuid matches between the log record and the in-core superblock. Found by inspection after the previous two problems were found. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ac383de20d468a75e7023caf06dcf6606cd85220 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:31:41 2015 +1000 xfs: growfs not aware of sb_meta_uuid Adding this simple change to xfstests:common/rc::_scratch_mkfs_xfs: + if [ $mkfs_status -eq 0 ]; then + xfs_admin -U generate $SCRATCH_DEV > /dev/null + fi triggers all sorts of errors in xfstests. xfs/104 is an example, where growfs fails with a UUID mismatch corruption detected by xfs_agf_write_verify() when trying to write the first new AG headers. Fix this problem by making sure we copy the sb_meta_uuid into new metadata written by growfs. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit bbf155add09e1f0179eca89e0999cf28d335ca0a Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Aug 19 10:31:18 2015 +1000 xfs: fix sb_meta_uuid usage After changing the UUID on a v5 filesystem, xfstests fails immediately on a debug kernel with: XFS: Assertion failed: uuid_equal(&ip->i_d.di_uuid, &mp->m_sb.sb_uuid), file: fs/xfs/xfs_inode.c, line: 799 This needs to check against the sb_meta_uuid, not the user visible UUID that was changed. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit c400ee3ed1b13d45adde68e12254dc6ab6977b59 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Wed Aug 19 10:30:48 2015 +1000 xfs: set XFS_DA_OP_OKNOENT in xfs_attr_get It's entirely possible for userspace to ask for an xattr which does not exist. Normally, there is no problem whatsoever when we ask for such a thing, but when we look at an obfuscated metadump image on a debug kernel with selinux, we trip over this ASSERT in xfs_da3_path_shift(): *result = -ENOENT; /* we're out of our tree */ ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); It (more or less) only shows up in the above scenario, because xfs_metadump obfuscates attr names, but chooses names which keep the same hash value - and xfs_da3_node_lookup_int does: if (((retval == -ENOENT) || (retval == -ENOATTR)) && (blk->hashval == args->hashval)) { error = xfs_da3_path_shift(state, &state->path, 1, 1, &retval); IOWS, we only get down to the xfs_da3_path_shift() ASSERT if we are looking for an xattr which doesn't exist, but we find xattrs on disk which have the same hash, and so might be a hash collision, so we try the path shift. When *that* fails to find what we're looking for, we hit the assert about XFS_DA_OP_OKNOENT. Simply setting XFS_DA_OP_OKNOENT in xfs_attr_get solves this rather corner-case problem with no ill side effects. It's fine for an attr name lookup to fail. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit af83a67cad1452d48ecd77792f9218f26c445650 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:04:24 2015 +0300 mtd: denali_pci: switch to dev_err() It is better to have device name prefixed the actual error message. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit add243d5bc371eef66f81c9da4fd4b55a18dad23 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:04:23 2015 +0300 mtd: denali_pci: refactor driver using devres API In recent kernels we have a lot of helper functions, including devres API, to make life of device driver developer easy. Convert the driver using devm_kzalloc() and pcim_enable_device(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2445d33d852320d4ce700b2428d60991f8cf478f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:04:22 2015 +0300 mtd: denali_pci: use module_pci_driver() macro Let's use module_pci_driver() macro to reduce code base of the driver. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 04868a67ed582e845bf14a5a7789f8bdb3faadd3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:04:21 2015 +0300 mtd: denali: hide core part from user in Kconfig There is no need to user to see the core part of the driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5be203ad115c1d8294e8685253e05fcea0202e04 Merge: 5461ad9 d4a97a0 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Aug 19 10:10:47 2015 +1000 Merge branch 'xfs-efi-rework' into for-next commit d4a97a04227d5ba91b91888a016e2300861cfbc7 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:01:40 2015 +1000 xfs: add missing bmap cancel calls in error paths If a failure occurs after the bmap free list is populated and before xfs_bmap_finish() completes successfully (which returns a partial list on failure), the bmap free list must be cancelled. Otherwise, the extent items on the list are never freed and a memory leak occurs. Several random error paths throughout the code suffer this problem. Fix these up such that xfs_bmap_cancel() is always called on error. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 146e54b71ea4b998d65c25964807ff6792bbf436 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:01:08 2015 +1000 xfs: add helper to conditionally remove items from the AIL Several areas of code duplicate a pattern where we take the AIL lock, check whether an item is in the AIL and remove it if so. Create a new helper for this pattern and use it where appropriate. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> commit f307080a626569f89bc8fbad9f936b307aded877 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:00:53 2015 +1000 xfs: fix btree cursor error cleanups The btree cursor cleanup function takes an error parameter that affects how buffers are released from the cursor. All buffers are released in the event of error. Several callers do not specify the XFS_BTREE_ERROR flag in the event of error, however. This can cause buffers to hang around locked or with an elevated hold count and thus lead to umount hangs in the event of errors. Fix up the xfs_btree_del_cursor() callers to pass XFS_BTREE_ERROR if the cursor is being torn down due to error. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0ae120f8a81a8dc4f974d0819c97b58c4fa935ac Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 10:00:28 2015 +1000 xfs: clean up root inode properly on mount failure The root inode is read as part of the xfs_mountfs() sequence and the reference is dropped in the event of failure after we grab the inode. The reference drop doesn't necessarily free the inode, however. It marks it for reclaim and potentially kicks off the reclaim workqueue. The workqueue is destroyed further up the error path, which means we are subject to crash if the workqueue job runs after this point or a memory leak which is identified if the xfs_inode_zone is destroyed (e.g., on module removal). Both of these outcomes are reproducible via manual instrumentation of a mount error after the root inode xfs_iget() call in xfs_mountfs(). Update the xfs_mountfs() error path to cancel any potential reclaim work items and to run a synchronous inode reclaim if the root inode is marked for reclaim. This ensures that no jobs remain on the queue before it is destroyed and that the root inode is freed before the reclaim mechanism is torn down. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a3f20014659a1566a4e516e2bf95287960fe2c44 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:59:50 2015 +1000 xfs: checksum log record ext headers based on record size The first 4 bytes of every basic block in the physical log is stamped with the current lsn. To support this mechanism, the log record header (first block of each new log record) contains space for the original first byte of each log record block before it is replaced with the lsn. The log record header has space for 32k worth of blocks. The version 2 log adds new extended record headers for each additional 32k worth of blocks beyond what is supported by the record header. The log record checksum incorporates the log record header, the extended headers and the record payload. xlog_cksum() checksums the extended headers based on log->l_iclog_heads, which specifies the number of extended headers in a log record based on the log buffer size mount option. The log buffer size is variable, however, and thus means the checksum can be calculated differently based on how a filesystem is mounted. This is problematic if a filesystem crashes and recovery occurs on a subsequent mount using a different log buffer size. For example, crash an active filesystem that is mounted with the default (32k) logbsize, attempt remount/recovery using '-o logbsize=64k' and the mount fails on or warns about log checksum failures. To avoid this problem, update xlog_cksum() to calculate the checksum based on the size of the log buffer according to the log record. The size is already included in the h_size field of the log record header and thus is available at log recovery time. Extended log record headers are also only written when the log record is large enough to require them. This makes checksum calculation of log records consistent with the extended record header mechanism as well as how on-disk records are checksummed with various log buffer size mount options. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fc0d1656964fc53fca84549df5a6bd4a16a29cdf Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:59:38 2015 +1000 xfs: fix broken icreate log item cancellation Inode cluster buffers are invalidated and cancelled when inode chunks are freed to notify log recovery that previous logged updates to the metadata buffer should be skipped. This ensures that log recovery does not overwrite buffers that might have already been reused. On v4 filesystems, inode chunk allocation and inode updates are logged via the cluster buffers and thus cancellation is easily detected via buffer cancellation items. v5 filesystems use the new icreate transaction, which uses logical logging and ordered buffers to log a full inode chunk allocation at once. The resulting icreate item often spans multiple inode cluster buffers. Log recovery checks for cancelled buffers when processing icreate log items, but it has a couple problems. First, it uses the full length of the inode chunk rather than the cluster size. Second, it uses the length in FSB units rather than BB units. Either of these problems prevent icreate recovery from identifying cancelled buffers and thus inode initialization proceeds unconditionally. Update xlog_recover_do_icreate_pass2() to iterate the icreate range in cluster sized increments and check each increment for cancellation. Since icreate is currently only used for the minimum atomic inode chunk allocation, we expect that either all or none of the buffers will be cancelled. Cancel the icreate if at least one buffer is cancelled to avoid making a bad situation worse by initializing a partial inode chunk, but detect such anomalies and warn the user. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 78d57e4593bf700e1a4447e3a7769da8dd0e0844 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:58:48 2015 +1000 xfs: icreate log item recovery and cancellation tracepoints Various log items have recovery tracepoints to identify whether a particular log item is recovered or cancelled. Add the equivalent tracepoints for the icreate transaction. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f0b2efad16e78623b5a156f6e4e9166907b83155 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:58:36 2015 +1000 xfs: don't leave EFIs on AIL on mount failure Log recovery occurs in two phases at mount time. In the first phase, EFIs and EFDs are processed and potentially cancelled out. EFIs without EFD objects are inserted into the AIL for processing and recovery in the second phase. xfs_mountfs() runs various other operations between the phases and is thus subject to failure. If failure occurs after the first phase but before the second, pending EFIs sit on the AIL, pin it and cause the mount to hang. Update the mount sequence to ensure that pending EFIs are cancelled in the event of failure. Add a recovery cancellation mechanism to iterate the AIL and cancel all EFI items when requested. Plumb cancellation support through the log mount finish helper and update xfs_mountfs() to invoke cancellation in the event of failure after recovery has started. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e32a1d1fbf6eb2bdc24aa0502e827ff4d2234604 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:52:21 2015 +1000 xfs: use EFI refcount consistently in log recovery The EFI is initialized with a reference count of 2. One for the EFI to ensure the item makes it to the AIL and one for the subsequently created EFD to release the EFI once the EFD is committed. Log recovery uses the EFI in a similar manner, but implements a hack to remove both references in one call once the EFD is handled. Update log recovery to use EFI reference counting in a manner consistent with the log. When an EFI is encountered during recovery, an EFI item is allocated and inserted to the AIL directly. Since the EFI reference is typically dropped when the EFI is unpinned and this is analogous with AIL insertion, drop the EFI reference at this point. When a corresponding EFD is encountered in the log, this indicates that the extents were freed, no processing is required and the EFI can be dropped. Update xlog_recover_efd_pass2() to simply drop the EFD reference at this point rather than open code the AIL removal and EFI free. Remaining EFIs (i.e., with no corresponding EFD) are processed in xlog_recover_finish(). An EFD transaction is allocated and the extents are freed, which transfers ownership of the EFI reference to the EFD item in the log. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 6bc43af3d5f507254b8de2058ea51f6ec998ae52 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:51:43 2015 +1000 xfs: ensure EFD trans aborts on log recovery extent free failure Log recovery attempts to free extents with leftover EFIs in the AIL after initial processing. If the extent free fails (e.g., due to unrelated fs corruption), the transaction is cancelled, though it might not be dirtied at the time. If this is the case, the EFD does not abort and thus does not release the EFI. This can lead to hangs as the EFI pins the AIL. Update xlog_recover_process_efi() to log the EFD in the transaction before xfs_free_extent() errors are handled to ensure the transaction is dirty, aborts the EFD and releases the EFI on error. Since this is a requirement for EFD processing (and consistent with xfs_bmap_finish()), update the EFD logging helper to do the extent free and unconditionally log the EFD. This encodes the required EFD logging behavior into the helper and reduces the likelihood of errors down the road. [dchinner: re-add xfs_alloc.h to xfs_log_recover.c to fix build failure.] Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8d99fe92fed019e203f458370129fb28b3fb5740 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:51:16 2015 +1000 xfs: fix efi/efd error handling to avoid fs shutdown hangs Freeing an extent in XFS involves logging an EFI (extent free intention), freeing the actual extent, and logging an EFD (extent free done). The EFI object is created with a reference count of 2: one for the current transaction and one for the subsequently created EFD. Under normal circumstances, the first reference is dropped when the EFI is unpinned and the second reference is dropped when the EFD is committed to the on-disk log. In event of errors or filesystem shutdown, there are various potential cleanup scenarios depending on the state of the EFI/EFD. The cleanup scenarios are confusing and racy, as demonstrated by the following test sequence: # mount $dev $mnt # fsstress -d $mnt -n 99999 -p 16 -z -f fallocate=1 \ -f punch=1 -f creat=1 -f unlink=1 & # sleep 5 # killall -9 fsstress; wait # godown -f $mnt # umount ... in which the final umount can hang due to the AIL being pinned indefinitely by one or more EFI items. This can occur due to several conditions. For example, if the shutdown occurs after the EFI is committed to the on-disk log and the EFD committed to the CIL, but before the EFD committed to the log, the EFD iop_committed() abort handler does not drop its reference to the EFI. Alternatively, manual error injection in the xfs_bmap_finish() codepath shows that if an error occurs after the EFI transaction is committed but before the EFD is constructed and logged, the EFI is never released from the AIL. Update the EFI/EFD item handling code to use a more straightforward and reliable approach to error handling. If an error occurs after the EFI transaction is committed and before the EFD is constructed, release the EFI explicitly from xfs_bmap_finish(). If the EFI transaction is cancelled, release the EFI in the unlock handler. Once the EFD is constructed, it is responsible for releasing the EFI under any circumstances (including whether the EFI item aborts due to log I/O error). Update the EFD item handlers to release the EFI if the transaction is cancelled or aborts due to log I/O error. Finally, update xfs_bmap_finish() to log at least one EFD extent to the transaction before xfs_free_extent() errors are handled to ensure the transaction is dirty and EFD item error handling is triggered. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d43ac29be7a174f93a3d26cc1e68668fe86b782f Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:50:13 2015 +1000 xfs: return committed status from xfs_trans_roll() Some callers need to make error handling decisions based on whether the current transaction successfully committed or not. Rename xfs_trans_roll(), add a new parameter and provide a wrapper to preserve existing callers. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 5e4b5386a2c29429add601c8cfb45bb10d80c490 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Aug 19 09:50:12 2015 +1000 xfs: disentagle EFI release from the extent count Release of the EFI either occurs based on the reference count or the extent count. The extent count used is either the count tracked in the EFI or EFD, depending on the particular situation. In either case, the count is initialized to the final value and thus always matches the current efi_next_extent value once the EFI is completely constructed. For example, the EFI extent count is increased as the extents are logged in xfs_bmap_finish() and the full free list is always completely processed. Therefore, the count is guaranteed to be complete once the EFI transaction is committed. The EFD uses the efd_nextents counter to release the EFI. This counter is initialized to the count of the EFI when the EFD is created. Thus the EFD, as currently used, has no concept of partial EFI release based on extent count. Given that the EFI extent count is always released in whole, use of the extent count for reference counting is unnecessary. Remove this level of the API and release the EFI based on the core reference count. The efi_next_extent counter remains because it is still used to track the slot to log the next extent to free. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 69d7fde5909b614114343974cfc52cb8ff30b544 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:36 2015 -0700 blkcg: use CGROUP_WEIGHT_* scale for io.weight on the unified hierarchy cgroup is trying to make interface consistent across different controllers. For weight based resource control, the knob should have the range [1, 10000] and default to 100. This patch updates cfq-iosched so that the weight range conforms. The internal calculations have enough range and the widening of the weight range shouldn't cause any problem. * blkcg_policy->cpd_bind_fn() is added. If present, this is invoked when blkcg is attached to a hierarchy. * cfq_cpd_init() is updated to use the new default value on the unified hierarchy. * cfq_cpd_bind() callback is implemented to clear per-blkg configs and apply the default config matching the hierarchy type. * cfqd->root_group->[leaf_]weight initialization in cfq_init_queue() is moved into !CONFIG_CFQ_GROUP_IOSCHED block. cfq_cpd_bind() is now responsible for initializing the initial weights when blkcg is enabled. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3ecca62931ee6a30822a1ab7299bc8b8a21e5288 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:35 2015 -0700 blkcg: s/CFQ_WEIGHT_*/CFQ_WEIGHT_LEGACY_*/ blkcg is gonna switch to cgroup common weight range as defined by CGROUP_WEIGHT_* on the unified hierarchy. In preparation, rename CFQ_WEIGHT_* constants to CFQ_WEIGHT_LEGACY_*. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2ee867dcfa2eaef1063b686da55c35878b2da4a2 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:34 2015 -0700 blkcg: implement interface for the unified hierarchy blkcg interface grew to be the biggest of all controllers and unfortunately most inconsistent too. The interface files are inconsistent with a number of cloes duplicates. Some files have recursive variants while others don't. There's distinction between normal and leaf weights which isn't intuitive and there are a lot of stat knobs which don't make much sense outside of debugging and expose too much implementation details to userland. In the unified hierarchy, everything is always hierarchical and internal nodes can't have tasks rendering the two structural issues twisting the current interface. The interface has to be updated in a significant anyway and this is a good chance to revamp it as a whole. This patch implements blkcg interface for the unified hierarchy. * (from a previous patch) blkcg is identified by "io" instead of "blkio" on the unified hierarchy. Given that the whole interface is updated anyway, the rename shouldn't carry noticeable conversion overhead. * The original interface consisted of 27 files is replaced with the following three files. blkio.stat : per-blkcg stats blkio.weight : per-cgroup and per-cgroup-queue weight settings blkio.max : per-cgroup-queue bps and iops max limits Documentation/cgroups/unified-hierarchy.txt updated accordingly. v2: blkcg_policy->dfl_cftypes wasn't removed on blkcg_policy_unregister() corrupting the cftypes list. Fixed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dd165eb3bb4ef16bcdb75417add40633f38c52b8 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:33 2015 -0700 blkcg: misc preparations for unified hierarchy interface * Export blkg_dev_name() * Drop unnecessary @cft from __cfq_set_weight(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 69948b070ee2bc3cc253e862cbe2bb09b173d7bd Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:32 2015 -0700 blkcg: separate out tg_conf_updated() from tg_set_conf() tg_set_conf() is largely consisted of parsing and setting the new config and the follow-up application and propagation. This patch separates out the latter part into tg_conf_updated(). This will be used to implement interface for the unified hierarchy. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 36aa9e5f591e84d67aad2c5bff75e413d77660dd Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:31 2015 -0700 blkcg: move body parsing from blkg_conf_prep() to its callers Currently, blkg_conf_prep() expects input to be of the following form MAJ:MIN NUM and reads the NUM part into blkg_conf_ctx->v. This is quite restrictive and gets in the way in implementing blkcg interface for the unified hierarchy. This patch updates blkg_conf_prep() so that it expects MAJ:MIN BODY_STR where BODY_STR is an arbitrary string. blkg_conf_ctx->v is replaced with ->body which is a char pointer pointing to the start of BODY_STR. Parsing of the body is moved to blkg_conf_prep()'s callers. To allow using, for example, strsep() on blkg_conf_ctx->val, it is a non-const pointer and to accommodate that const is dropped from @input too. This doesn't cause any behavior changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 880f50e228f80626dff6327a6e281e40286f5228 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:30 2015 -0700 blkcg: mark existing cftypes as legacy blkcg is about to grow interface for the unified hierarchy. Add legacy to existing cftypes. * blkcg_policy->cftypes -> blkcg_policy->legacy_cftypes * blk-cgroup.c:blkcg_files -> blkcg_legacy_files * cfq-iosched.c:cfq_blkcg_files -> cfq_blkcg_legacy_files * blk-throttle.c:throtl_files -> throtl_legacy_files Pure renames. No functional change. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c165b3e3c7bb68c2ed55a5ac2623f030d01d9567 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:29 2015 -0700 blkcg: rename subsystem name from blkio to io blkio interface has become messy over time and is currently the largest. In addition to the inconsistent naming scheme, it has multiple stat files which report more or less the same thing, a number of debug stat files which expose internal details which shouldn't have been part of the public interface in the first place, recursive and non-recursive stats and leaf and non-leaf knobs. Both recursive vs. non-recursive and leaf vs. non-leaf distinctions don't make any sense on the unified hierarchy as only leaf cgroups can contain processes. cgroups is going through a major interface revision with the unified hierarchy involving significant fundamental usage changes and given that a significant portion of the interface doesn't make sense anymore, it's a good time to reorganize the interface. As the first step, this patch renames the external visible subsystem name from "blkio" to "io". This is more concise, matches the other two major subsystem names, "cpu" and "memory", and better suited as blkcg will be involved in anything writeback related too whether an actual block device is involved or not. As the subsystem legacy_name is set to "blkio", the only userland visible change outside the unified hierarchy is that blkcg is reported as "io" instead of "blkio" in the subsystem initialized message during boot. On the unified hierarchy, blkcg now appears as "io". Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: cgroups@xxxxxxxxxxxxxxx Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 20386ce0143899ccb5bcbda714436a82d3029f33 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:28 2015 -0700 blkcg: refine error codes returned during blkcg configuration blkcg currently returns -EINVAL for most errors which can be pretty confusing given that the failure modes are quite varied. Update the error returns so that * -EINVAL only for syntactic errors. * -ERANGE if the value is out of range. * -ENODEV if the target device can't be found. * -EOPNOTSUPP if the policy is not enabled on the target device. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5332dfc36483d2373d980526145789a354af2d49 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:27 2015 -0700 blkcg: remove unnecessary NULL checks from __cfqg_set_weight_device() blkg_to_cfqg() and blkcg_to_cfqgd() on a valid blkg with the policy enabled are guaranteed to return non-NULL and the counterpart in blk-throttle doesn't have these checks either. Remove the spurious NULL checks. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3a7faeada20d72f07d3a7b13454859025cd50a36 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:26 2015 -0700 blkcg: reduce stack usage of blkg_rwstat_recursive_sum() The recent percpu conversion of blkg_rwstat triggered the following warning in certain configurations. block/blk-cgroup.c:654:1: warning: the frame size of 1360 bytes is larger than 1024 bytes This is because blkg_rwstat now contains four percpu_counter which can be pretty big depending on debug options although it shouldn't be a problem in production configs. This patch removes one of the two local blkg_rwstat variables used by blkg_rwstat_recursive_sum() to reduce stack usage. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Link: http://article.gmane.org/gmane.linux.kernel.cgroups/13835 Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 702747cabe737fe9b358739443d539f10cc7c715 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:25 2015 -0700 blkcg: remove cfqg_stats->sectors cfq_stats->sectors is a blkg_stat which keeps track of the total number of sectors serviced; however, this can be trivially calculated from blkcg_gq->stat_bytes. The only thing necessary is adding up READs and WRITEs and then dividing by sector size. Remove cfqg_stats->sectors and make cfq print "sectors" and "sectors_recursive" from stat_bytes. While this is a bit more code, it removes duplicate stat allocations and updates and ensures that the reported stats stay in tune with each other. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 77ea733884eb5520f22c36def1309fe2ab61633e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:24 2015 -0700 blkcg: move io_service_bytes and io_serviced stats into blkcg_gq Currently, both cfq-iosched and blk-throttle keep track of io_service_bytes and io_serviced stats. While keeping track of them separately may be useful during development, it doesn't make much sense otherwise. Also, blk-throttle was counting bio's as IOs while cfq-iosched request's, which is more confusing than informative. This patch adds ->stat_bytes and ->stat_ios to blkg (blkcg_gq), removes the counterparts from cfq-iosched and blk-throttle and let them print from the common blkg counters. The common counters are incremented during bio issue in blkcg_bio_issue_check(). The outputs are still filtered by whether the policy has blkg_policy_data on a given blkg, so cfq's output won't show up if it has never been used for a given blkg. The only times when the outputs would differ significantly are when policies are attached on the fly or elevators are switched back and forth. Those are quite exceptional operations and I don't think they warrant keeping separate counters. v3: Update blkio-controller.txt accordingly. v2: Account IOs during bio issues instead of request completions so that bio-based drivers can be handled the same way. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f12c74cab1635d67077ce8cc40da88b57980f637 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:23 2015 -0700 blkcg: make blkg_[rw]stat_recursive_sum() to be able to index into blkcg_gq Currently, blkg_[rw]stat_recursive_sum() assume that the target counter is located in pd (blkg_policy_data); however, some counters are planned to be moved to blkg (blkcg_gq). This patch updates blkg_[rw]stat_recursive_sum() to take blkg and blkg_policy pointers instead of pd. If policy is NULL, it indexes into blkg. If non-NULL, into the blkg's pd of the policy. The existing usages are updated to maintain the current behaviors. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 24bdb8ef068ebdc2a57ce715f0ab22d5da32832a Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:22 2015 -0700 blkcg: make blkcg_[rw]stat per-cpu blkcg_[rw]stat are used as stat counters for blkcg policies. It isn't per-cpu by itself and blk-throttle makes it per-cpu by wrapping around it. This patch makes blkcg_[rw]stat per-cpu and drop the ad-hoc per-cpu wrapping in blk-throttle. * blkg_[rw]stat->cnt is replaced with cpu_cnt which is struct percpu_counter. This makes syncp unnecessary as remote accesses are handled by percpu_counter itself. * blkg_[rw]stat_init() can now fail due to percpu allocation failure and thus are updated to return int. * percpu_counters need explicit freeing. blkg_[rw]stat_exit() added. * As blkg_rwstat->cpu_cnt[] can't be read directly anymore, reading and summing results are stored in ->aux_cnt[] instead. * Custom per-cpu stat implementation in blk-throttle is removed. This makes all blkcg stat counters per-cpu without complicating policy implmentations. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e6269c44546755094979ab53609e6e203a68c8ff Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:21 2015 -0700 blkcg: add blkg_[rw]stat->aux_cnt and replace cfq_group->dead_stats with it cgroup stats are local to each cgroup and doesn't propagate to ancestors by default. When recursive stats are necessary, the sum is calculated over all the descendants. This initially was for backward compatibility to support both group-local and recursive stats but this mode of operation makes general sense as stat update is much hotter thafn reporting those stats. This however ends up losing recursive stats when a child is removed. To work around this, cfq-iosched adds its stats to its parent cfq_group->dead_stats which is summed up together when calculating recursive stats. It's planned that the core stats will be moved to blkcg_gq, so we want to move the mechanism for keeping track of the stats of dead children from cfq to blkcg core. This patch adds blkg_[rw]stat->aux_cnt which are atomic64_t's keeping track of auxiliary counts which are excluded when reading local counts but included for recursive. blkg_[rw]stat_merge() which were used by cfq to implement dead_stats are replaced by blkg_[rw]stat_add_aux(), and cfq now forwards stats of a dead cgroup to the aux counts of parent->stats instead of separate ->dead_stats. This will also help making blkg_[rw]stats per-cpu. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ae11889636111199dbcf47283b4167f578b69472 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:20 2015 -0700 blkcg: consolidate blkg creation in blkcg_bio_issue_check() blkg (blkcg_gq) currently is created by blkcg policies invoking blkg_lookup_create() which ends up repeating about the same code in different policies. Theoretically, this can avoid the overhead of looking and/or creating blkg's if blkcg is enabled but no policy is in use; however, the cost of blkg lookup / creation is very low especially if only the root blkcg is in use which is highly likely if no blkcg policy is in active use - it boils down to a single very predictable conditional and surrounding RCU protection. This patch consolidates blkg creation to a new function blkcg_bio_issue_check() which is called during bio issue from generic_make_request_checks(). blkcg_bio_issue_check() is now the only function which tries to create missing blkg's. The subsequent policy and request_list operations just perform blkg_lookup() and if missing falls back to the root. * blk_get_rl() no longer tries to create blkg. It uses blkg_lookup() instead of blkg_lookup_create(). * blk_throtl_bio() is now called from blkcg_bio_issue_check() with rcu read locked and blkg already looked up. Both throtl_lookup_tg() and throtl_lookup_create_tg() are dropped. * cfq is similarly updated. cfq_lookup_create_cfqg() is replaced with cfq_lookup_cfqg()which uses blkg_lookup(). This consolidates blkg handling and avoids unnecessary blkg creation retries under memory pressure. In addition, this provides a common bio entry point into blkcg where things like common accounting can be performed. v2: Build fixes for !CONFIG_CFQ_GROUP_IOSCHED and !CONFIG_BLK_DEV_THROTTLING. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c9589f03e490956628ff91a1da133216dc796b63 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:19 2015 -0700 blk-throttle: improve queue bypass handling If a queue is bypassing, all blkcg policies should become noops but blk-throttle wasn't. It only became noop if the queue was dying. While this wouldn't lead to an oops as falling back to the root blkg is safe in this case, this can be a bit surprising - a bypassing queue could still be applying throttle limits. Fix it by removing blk_queue_dying() test in throtl_lookup_create_tg() and testing blk_queue_bypass() in blk_throtl_bio() and bypassing before doing anything else. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 85b6bc9db6d5ab6980b43c38b5cbd11d24414ce4 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:18 2015 -0700 blkcg: move root blkg lookup optimization from throtl_lookup_tg() to __blkg_lookup() Currently, both throttle and cfq policies implement their own root blkg (blkcg_gq) lookup fast path. This patch moves root blkg optimization from throtl_lookup_tg() to __blkg_lookup(). cfq-iosched currently doesn't use blkg_lookup() but will be converted and drop the optimization too. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 24f290466f79a6497f1654f64b9a841872cba3ca Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:17 2015 -0700 blkcg: inline [__]blkg_lookup() blkg_lookup() checks whether the target queue is bypassing and, if not, calls __blkg_lookup() which first checks the lookup hint and then performs radix tree walk. The operations upto hint checking are trivial and there are many users of this function. This patch inlines blkg_lookup() and the fast path part of __blkg_lookup(). The radix tree lookup and hint update are now in blkg_lookup_slowpath(). This will help consolidating blkg handling by easing moving root blkcg short-circuit to inlined lookup fast path. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e4a9bde9589fdc51283755cdd75d47b27ca7c6fb Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:16 2015 -0700 blkcg: replace blkcg_policy->cpd_size with ->cpd_alloc/free_fn() methods Each active policy has a cpd (blkcg_policy_data) on each blkcg. The cpd's were allocated by blkcg core and each policy could request to allocate extra space at the end by setting blkcg_policy->cpd_size larger than the size of cpd. This is a bit unusual but blkg (blkcg_gq) policy data used to be handled this way too so it made sense to be consistent; however, blkg policy data switched to alloc/free callbacks. This patch makes similar changes to cpd handling. blkcg_policy->cpd_alloc/free_fn() are added to replace ->cpd_size. As cpd allocation is now done from policy side, it can simply allocate a larger area which embeds cpd at the beginning. As ->cpd_alloc_fn() may be able to perform all necessary initializations, this patch makes ->cpd_init_fn() optional. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 814376483e7d85b69a70634633f1f9d01c6ee0cf Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:15 2015 -0700 blkcg: minor updates around blkcg_policy_data * Rename blkcg->pd[] to blkcg->cpd[] so that cpd is consistently used for blkcg_policy_data. * Make blkcg_policy->cpd_init_fn() take blkcg_policy_data instead of blkcg. This makes it consistent with blkg_policy_data methods and to-be-added cpd alloc/free methods. * blkcg_policy_data->blkcg and cpd_to_blkcg() added so that cpd_init_fn() can determine the associated blkcg from blkcg_policy_data. v2: blkcg_policy_data->blkcg initializations were missing. Added. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit a9520cd6f2ac1fbbf206b915946534c6dddbaae2 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:14 2015 -0700 blkcg: make blkcg_policy methods take a pointer to blkcg_policy_data The newly added ->pd_alloc_fn() and ->pd_free_fn() deal with pd (blkg_policy_data) while the older ones use blkg (blkcg_gq). As using blkg doesn't make sense for ->pd_alloc_fn() and after allocation pd can always be mapped to blkg and given that these are policy-specific methods, it makes sense to converge on pd. This patch makes all methods deal with pd instead of blkg. Most conversions are trivial. In blk-cgroup.c, a couple method invocation sites now test whether pd exists instead of policy state for consistency. This shouldn't cause any behavioral differences. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b2ce2643cc705aa9043642d7b6248ccfd8e20629 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:13 2015 -0700 blk-throttle: clean up blkg_policy_data alloc/init/exit/free methods With the recent addition of alloc and free methods, things became messier. This patch reorganizes them according to the followings. * ->pd_alloc_fn() Responsible for allocation and static initializations - the ones which can be done independent of where the pd might be attached. * ->pd_init_fn() Initializations which require the knowledge of where the pd is attached. * ->pd_free_fn() The counter part of pd_alloc_fn(). Static de-init and freeing. This leaves ->pd_exit_fn() without any users. Removed. While at it, collapse an one liner function throtl_pd_exit(), which has only one user, into its user. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4fb72036fbf9c28de7a64b1d3f19b4ce9da1c6bf Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:12 2015 -0700 blk-throttle: remove asynchrnous percpu stats allocation mechanism Because percpu allocator couldn't do non-blocking allocations, blk-throttle was forced to implement an ad-hoc asynchronous allocation mechanism for its percpu stats for cases where blkg's (blkcg_gq's) are allocated from an IO path without sleepable context. Now that percpu allocator can handle gfp_mask and blkg_policy_data alloc / free are handled by policy methods, the ad-hoc asynchronous allocation mechanism can be replaced with direct allocation from tg_stats_alloc_fn(). Rit it out. This ensures that an active throtl_grp always has valid non-NULL ->stats_cpu. Remove checks on it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 001bea73e70efdf48a9e00188cf302f6b6aed2bf Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:11 2015 -0700 blkcg: replace blkcg_policy->pd_size with ->pd_alloc/free_fn() methods A blkg (blkcg_gq) represents the relationship between a cgroup and request_queue. Each active policy has a pd (blkg_policy_data) on each blkg. The pd's were allocated by blkcg core and each policy could request to allocate extra space at the end by setting blkcg_policy->pd_size larger than the size of pd. This is a bit unusual but was done this way mostly to simplify error handling and all the existing use cases could be handled this way; however, this is becoming too restrictive now that percpu memory can be allocated without blocking. This introduces two new mandatory blkcg_policy methods - pd_alloc_fn() and pd_free_fn() - which are used to allocate and release pd for a given policy. As pd allocation is now done from policy side, it can simply allocate a larger area which embeds pd at the beginning. This change makes ->pd_size pointless. Removed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3e41871046bfe0ba7d122a1f14f0c1db2dca0256 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:10 2015 -0700 blkcg: make blkcg_activate_policy() allow NULL ->pd_init_fn blkg_create() allows NULL ->pd_init_fn() but blkcg_activate_policy() doesn't. As both in-kernel policies implement ->pd_init_fn, it currently doesn't break anything. Update blkcg_activate_policy() so that its behavior is consistent with blkg_create(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4c55f4f9ad3001ac1fefdd8d8ca7641d18558e23 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:09 2015 -0700 blkcg: restructure blkg_policy_data allocation in blkcg_activate_policy() When a policy gets activated, it needs to allocate and install its policy data on all existing blkg's (blkcg_gq's). Because blkg iteration is protected by a spinlock, it currently counts the total number of blkg's in the system, allocates the matching number of policy data on a list and installs them during a single iteration. This can be simplified by using speculative GFP_NOWAIT allocations while iterating and falling back to a preallocated policy data on failure. If the preallocated one has already been consumed, it releases the lock, preallocate with GFP_KERNEL and then restarts the iteration. This can be a bit more expensive than before but policy activation is a very cold path and shouldn't matter. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bc915e61cde25d0b429f536cec9e83039bf23504 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:08 2015 -0700 blkcg: remove unnecessary blkcg_root handling from css_alloc/free paths blkcg_css_alloc() bypasses policy data allocation and blkcg_css_free() bypasses policy data and blkcg freeing for blkcg_root. There's no reason to to treat policy data any differently for blkcg_root. If the root css gets allocated after policies are registered, policy registration path will add policy data; otherwise, the alloc path will. The free path isn't never invoked for root csses. This patch removes the unnecessary special handling of blkcg_root from css_alloc/free paths. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 994b78327458ea14a1743196ee0560c73ace37f3 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:07 2015 -0700 blkcg: use blkg_free() in blkcg_init_queue() failure path When blkcg_init_queue() fails midway after creating a new blkg, it performs kfree() directly; however, this doesn't free the policy data areas. Make it use blkg_free() instead. In turn, blkg_free() is updated to handle root request_list special case. While this fixes a possible memory leak, it's on an unlikely failure path of an already cold path and the size leaked per occurrence is miniscule too. I don't think it needs to be tagged for -stable. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 401efbf835040dd2ebca54f78d58fc8e3c51f91d Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:06 2015 -0700 blkcg: remove unnecessary request_list->blkg NULL test in blk_put_rl() Since ec13b1d6f0a0 ("blkcg: always create the blkcg_gq for the root blkcg"), a request_list always has its blkg associated. Drop unnecessary rl->blkg NULL test from blk_put_rl(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 60a837077e2b5672ebbd4c8bd67ca443951bbc92 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:05 2015 -0700 cfq-iosched: charge async IOs to the appropriate blkcg's instead of the root Up until now, all async IOs were queued to async queues which are shared across the whole request_queue, which means that blkcg resource control is completely void on async IOs including all writeback IOs. It was done this way because writeback didn't support writeback and there was no way of telling which writeback IO belonged to which cgroup; however, writeback recently became cgroup aware and writeback bio's are sent down properly tagged with the blkcg's to charge them against. This patch makes async cfq_queues per-cfq_cgroup instead of per-cfq_data so that each async IO is charged to the blkcg that it was tagged for instead of unconditionally attributing it to root. * cfq_data->async_cfqq and ->async_idle_cfqq are moved to cfq_group and alloc / destroy paths are updated accordingly. * cfq_link_cfqq_cfqg() no longer overrides @cfqg to root for async queues. * check_blkcg_changed() now also invalidates async queues as they no longer stay the same across cgroups. After this patch, cfq's proportional IO control through blkio.weight works correctly when cgroup writeback is in use. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d4aad7ff04dfd00f2a69356a48054d6be84dda31 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:04 2015 -0700 cfq-iosched: fold cfq_find_alloc_queue() into cfq_get_queue() cfq_find_alloc_queue() checks whether a queue actually needs to be allocated, which is unnecessary as its sole caller, cfq_get_queue(), only calls it if so. Also, the oom queue fallback logic is scattered between cfq_get_queue() and cfq_find_alloc_queue(). There really isn't much going on in the latter and things can be made simpler by folding it into cfq_get_queue(). This patch collapses cfq_find_alloc_queue() into cfq_get_queue(). The change is fairly straight-forward with one exception - async_cfqq is now initialized to NULL and the "!is_sync" test in the last if conditional is replaced with "async_cfqq" test. This is because gcc (5.1.1) gets confused for some reason and warns that async_cfqq may be used uninitialized otherwise. Oh well, the code isn't necessarily worse this way. This patch doesn't cause any functional difference. v2: Updated to reflect GFP_ATOMIC -> GPF_NOWAIT. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 322731ed0dd2d8a7f11307e0444257f48580a0de Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:03 2015 -0700 cfq-iosched: move cfq_group determination from cfq_find_alloc_queue() to cfq_get_queue() This is necessary for making async cfq_cgroups per-cfq_group instead of per-cfq_data. While this change makes cfq_get_queue() perform RCU locking and look up cfq_group even when it reuses async queue, the extra overhead is extremely unlikely to be noticeable given that this is already sitting behind cic->cfqq[] cache and the overall cost of cfq operation. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2da8de0bb799bf2bdfa893e5a1e294eb6bafba62 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:02 2015 -0700 cfq-iosched: remove @gfp_mask from cfq_find_alloc_queue() Even when allocations fail, cfq_find_alloc_queue() always returns a valid cfq_queue by falling back to the oom cfq_queue. As such, there isn't much point in taking @gfp_mask and trying "harder" if __GFP_WAIT is set. GFP_NOWAIT allocations don't fail often and even when they do the degraded behavior is acceptable and temporary. After all, the only reason get_request(), which ultimately determines the gfp_mask, cares about __GFP_WAIT is to guarantee request allocation, assuming IO forward progress, for callers which are willing to wait. There's no reason for cfq_find_alloc_queue() to behave differently on __GFP_WAIT when it already has a fallback mechanism. Remove @gfp_mask from cfq_find_alloc_queue() and propagate the changes to its callers. This simplifies the function quite a bit and will help making async queues per-cfq_group. v2: Updated to reflect GFP_ATOMIC -> GPF_NOWAIT. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d93a11f1cd890d4ea72f7cef75fac56801b099b3 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:01 2015 -0700 blkcg, cfq-iosched: use GFP_NOWAIT instead of GFP_ATOMIC for non-critical allocations blkcg performs several allocations to track IOs per cgroup and enforce resource control. Most of these allocations are performed lazily on demand in the IO path and thus can't involve reclaim path. Currently, these allocations use GFP_ATOMIC; however, blkcg can gracefully deal with occassional failures of these allocations by punting IOs to the root cgroup and there's no reason to reach into the emergency reserve. This patch replaces GFP_ATOMIC with GFP_NOWAIT for the following allocations. * bdi_writeback_congested and blkcg_gq allocations in blkg_create(). * radix tree node allocations for blkcg->blkg_tree. * cfq_queue allocation on ioprio changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Suggested-and-Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Suggested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 563180a44b7d7978f44e9776eedfbbc550c2398d Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:55:00 2015 -0700 cfq-iosched: minor cleanups * Some were accessing cic->cfqq[] directly. Always use cic_to_cfqq() and cic_set_cfqq(). * check_ioprio_changed() doesn't need to verify cfq_get_queue()'s return for NULL. It's always non-NULL. Simplify accordingly. This patch doesn't cause any functional changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bce6133b09013f70d41a678d262a12147ed43889 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:59 2015 -0700 cfq-iosched: fix oom cfq_queue ref leak in cfq_set_request() If the cfq_queue cached in cfq_io_cq is the oom one, cfq_set_request() replaces it by invoking cfq_get_queue() again without putting the oom queue leaking the reference it was holding. While oom queues are not released through reference counting, they're still reference counted and this can theoretically lead to the reference count overflowing and incorrectly invoke the usual release path on it. Fix it by making cfq_set_request() put the ref it was holding. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 95e5d6f62693f27d9011ec307eb32c6126314ea3 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:58 2015 -0700 cfq-iosched: fix async oom queue handling Async cfqq's (cfq_queue's) are shared across cfq_data. When cfq_get_queue() obtains a new queue from cfq_find_alloc_queue(), it stashes the pointer in cfq_data and reuses it from then on; however, the function doesn't consider that cfq_find_alloc_queue() may return the oom_cfqq under memory pressure and installs the returned queue unconditionally. If the oom_cfqq is installed as an async cfqq, cfq_set_request() will continue calling cfq_get_queue() hoping to replace it with a proper queue; however, cfq_get_queue() will keep returning the cached queue for the slot - the oom_cfqq. Fix it by skipping caching if the queue is the oom one. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4ebc1c61d6185604c97fd0b0355ab668052044ab Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:57 2015 -0700 cfq-iosched: simplify control flow in cfq_get_queue() cfq_get_queue()'s control flow looks like the following. async_cfqq = NULL; cfqq = NULL; if (!is_sync) { ... async_cfqq = ...; cfqq = *async_cfqq; } if (!cfqq) cfqq = ...; if (!is_sync && !(*async_cfqq)) ...; The only thing the local variable init, the second if, and the async_cfqq test in the third if achieves is to skip cfqq creation and installation if *async_cfqq was already non-NULL. This is needlessly complicated with different tests examining the same condition. Simplify it to the following. if (!is_sync) { ... async_cfqq = ...; cfqq = *async_cfqq; if (cfqq) goto out; } cfqq = ...; if (!is_sync) ...; out: Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5634cc2aa9aebc77bc862992e7805469dcf83dac Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:56 2015 -0700 writeback: update writeback tracepoints to report cgroup The following tracepoints are updated to report the cgroup used during cgroup writeback. * writeback_write_inode[_start] * writeback_queue * writeback_exec * writeback_start * writeback_written * writeback_wait * writeback_nowork * writeback_wake_background * wbc_writepage * writeback_queue_io * bdi_dirty_ratelimit * balance_dirty_pages * writeback_sb_inodes_requeue * writeback_single_inode[_start] Note that writeback_bdi_register is separated out from writeback_class as reporting cgroup doesn't make sense to it. Tracepoints which take bdi are updated to take bdi_writeback instead. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Suggested-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 9acee9c551f045d2c5b5261aa587331423fd7d92 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:55 2015 -0700 kernfs: implement kernfs_path_len() Add a function to determine the path length of a kernfs node. This for now will be used by writeback tracepoint updates. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 60292bcc1b240a6708aa531c8ece1da2a78d560a Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:54 2015 -0700 writeback: explain why @inode is allowed to be NULL for inode_congested() Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Suggested-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8a1270cda7b473c8ea71a7a44613465fe0708488 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:53 2015 -0700 writeback: remove wb_writeback_work->single_wait/done wb_writeback_work->single_wait/done are used for the wait mechanism for synchronous wb_work (wb_writeback_work) items which are issued when bdi_split_work_to_wbs() fails to allocate memory for asynchronous wb_work items; however, there's no reason to use a separate wait mechanism for this. bdi_split_work_to_wbs() can simply use on-stack fallback wb_work item and separate wb_completion to wait for it. This patch removes wb_work->single_wait/done and the related code and make bdi_split_work_to_wbs() use on-stack fallback wb_work and wb_completion instead. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Suggested-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1ed8d48c57bf7400eac7b8dc622ab0413715cafb Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 14:54:52 2015 -0700 writeback: bdi_for_each_wb() iteration is memcg ID based not blkcg wb's (bdi_writeback's) are currently keyed by memcg ID; however, in an earlier implementation, wb's were keyed by blkcg ID. bdi_for_each_wb() walks bdi->cgwb_tree in the ascending ID order and allows iterations to start from an arbitrary ID which is used to interrupt and resume iterations. Unfortunately, while changing wb to be keyed by memcg ID instead of blkcg, bdi_for_each_wb() was missed and is still assuming that wb's are keyed by blkcg ID. This doesn't affect iterations which don't get interrupted but bdi_split_work_to_wbs() makes use of iteration resuming on allocation failures and thus may incorrectly skip or repeat wb's. Fix it by changing bdi_for_each_wb() to take memcg IDs instead of blkcg IDs and updating bdi_split_work_to_wbs() accordingly. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 11743ee0477ab9691d08aa121c583184769d2847 Merge: e162b21 3e1d2ee Author: Jens Axboe <axboe@xxxxxx> Date: Tue Aug 18 15:49:11 2015 -0700 Merge branch 'for-4.3-unified-base' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup into for-4.3/blkcg commit 0dad87fcb732691bfd3183acccda6709e1e759ca Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 26 18:18:54 2015 +0200 eCryptfs: Delete a check before the function call "key_put" The key_put() function tests whether its argument is NULL and then returns immediately. Thus the test around this call might not be needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit 5556e7e6d30e8e9b5ee51b0e5edd526ee80e5e36 Author: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> Date: Wed Aug 5 11:26:36 2015 -0500 eCryptfs: Invalidate dcache entries when lower i_nlink is zero Consider eCryptfs dcache entries to be stale when the corresponding lower inode's i_nlink count is zero. This solves a problem caused by the lower inode being directly modified, without going through the eCryptfs mount, leaving stale eCryptfs dentries cached and the eCryptfs inode's i_nlink count not being cleared. Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> Reported-by: Richard Weinberger <richard@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3af4e5a95184d6d3c1c6a065f163faa174a96a1d Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Mon Aug 10 12:06:53 2015 -0400 HID: usbhid: Fix the check for HID_RESET_PENDING in hid_io_error It was reported that after 10-20 reboots, a usb keyboard plugged into a docking station would not work unless it was replugged in. Using usbmon, it turns out the interrupt URBs were streaming with callback errors of -71 for some reason. The hid-core.c::hid_io_error was supposed to retry and then reset, but the reset wasn't really happening. The check for HID_NO_BANDWIDTH was inverted. Fix was simple. Tested by reporter and locally by me by unplugging a keyboard halfway until I could recreate a stream of errors but no disconnect. Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit ff2d92066429d1ba21cea64543264563477ad4da Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Fri Aug 14 22:46:25 2015 -0400 ARM: add TC2 PM support to multi_v7_defconfig Without this, the multi_v7_defconfig kernel cannot boot all CPUs nor do deep cpuidle power saving on a TC2 board. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3dc33e23227de8d854a665157cf465303e7cbbce Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 14:24:18 2015 -0700 enic: Fix namespace pollution causing build errors. drivers/net/built-in.o: In function `.vnic_wq_devcmd2_alloc': (.text+0x49fe40): multiple definition of `.vnic_wq_devcmd2_alloc' drivers/scsi/built-in.o:(.text+0xb4318): first defined here drivers/net/built-in.o:(.opd+0x2af00): multiple definition of `vnic_wq_devcmd2_alloc' drivers/scsi/built-in.o:(.opd+0xad70): first defined here drivers/net/built-in.o: In function `.vnic_wq_init_start': (.text+0x49f9c0): multiple definition of `.vnic_wq_init_start' drivers/scsi/built-in.o:(.text+0xb3b58): first defined here drivers/net/built-in.o:(.opd+0x2ae88): multiple definition of `vnic_wq_init_start' drivers/scsi/built-in.o:(.opd+0xace0): first defined here Rename these to 'enic_*' to avoid the conflict with the functiosn of the same name in the snic scsi driver. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f34fa14cc033239037622dbe84faf53923bb7e74 Author: Rajesh Borundia <Rajesh.Borundia@xxxxxxxxxx> Date: Tue Aug 18 10:22:59 2015 +0300 bnx2x: Add vxlan RSS support Latest FW submission added some vxlan offload capabilities to our device. This patch adds the ability to connect to the vxlan NDOs and configure the UDP port associated with it in the HW. The device would now be capable of performing RSS according to the inner headers of the vxlan packets. Signed-off-by: Rajesh Borundia <Rajesh.Borundia@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd49784fd1e8f42c7600fbfa206361324857f373 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Tue Aug 18 16:26:16 2015 -0400 dm stats: report precise_timestamps and histogram in @stats_list output If the user selected the precise_timestamps or histogram options, report it in the @stats_list message output. If the user didn't select these options, no extra tokens are reported, thus it is backward compatible with old software that doesn't know about precise timestamps and histogram. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.2 commit 3f0bf60f96e3eaecd6920f5910ffcd8685774fb3 Merge: 61ed713 6083ce7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 14:17:22 2015 -0700 Merge branch 'dsa-multi-swtich' Andrew Lunn says: ==================== D in DSA patches The D in DSA is distributed, meaning multiple switches can be connected together. Currently no mainline system does this, and so the code is broken. This patchset contains two fixes, and a small helper. With three of more switches, the current device tree binding is not sufficient to express the routing between the switches. The first patch extends the binding, in a backwards compatible way, to allow a link between a switch to describe all the switches accessible over the link, not just the direct neighbor. The third patch fixes the port configuration on newer devices for links connecting switches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6083ce715f09568a8b0996ca15ae31aaa94f081f Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 17 23:52:52 2015 +0200 dsa: mv88e6xxx: Set DSA mode based on chip abilities Older devices only support a single DSA frame format, where as newer devices have two. Take this into account when configuring a DSA port. The port needs to be in plain old DSA mode, since this is a DSA link, where as the newer format can be used for the CPU port. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60045cbfc0b291dae8dd5b929d67b87c5ea954d4 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 17 23:52:51 2015 +0200 net: dsa: Add dsa_is_dsa_port() helper Add an inline helper for determining is a port is a DSA port. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e72e6f8859a598bfc22cf268c2dafe8ddb9f1b4 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Aug 17 23:52:50 2015 +0200 net: dsa: Allow multi hop routes to be expressed With more than two switches in a hierarchy, it becomes necessary to describe multi-hop routes between switches. The current binding does not allow this, although the older platform_data did. Extend the link property to be a list rather than a single phandle to a remote switch. It is then possible to express that a port should be used to reach more than one switch and the switch maybe more than one hop away. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56d1392f2f8b5f5450e3e5f32733c8e44fe95199 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 10 11:44:45 2015 -0700 ixgbe: TRIVIAL fix up double 'the' and comment style Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d147329b0ac66490d9eb331b0a89a79d09d4dfbc Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Jun 6 10:41:03 2015 -0700 ixgbe: Simplify port-specific macros Simplify port-specific macros by eliminating explicit comparison with 0. More importantly, enclose formal parameter in parens to eliminate the risk of an operator precedence surprise. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ceee3450b3a85db05a107d54fbea031c77d30401 Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Fri Aug 7 17:27:39 2015 -0700 igb: make sure SR-IOV init uses the right number of queues Recent changes to igb_probe_vfs() could lead to the PF holding onto all of the queues. Reorder igb_probe_vfs() to be before gb_init_queue_configuration() and add some more error checking. Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fae5ecaee3e6265c2aec29ac238ccc29c6f11fc3 Author: Stefan Assmann <sassmann@xxxxxxxxx> Date: Thu Aug 6 09:32:17 2015 +0200 igbvf: clear buffer_info->dma after dma_unmap_single() The driver doesn't clear buffer_info->dma after calling dma_unmap_single() in all cases. This has been discovered by changing the mtu twice, which caused the following backtrace. [ 68.569280] WARNING: CPU: 2 PID: 1860 at drivers/iommu/intel-iommu.c:3517 intel_unmap+0x20c/0x220() [ 68.579392] Driver unmaps unmatched page at PFN fffc2a40 [ 68.585322] Modules linked in: igbvf ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat kvm_intel kvm igb megs [ 68.599163] CPU: 2 PID: 1860 Comm: ifconfig Not tainted 4.2.0-rc4+ #147 [ 68.606543] Hardware name: IBM -[546025Z]-/00Y7630, BIOS -[VVE134TUS-1.51]- 10/17/2013 [ 68.615473] 0000000000000dbd ffff88046441bb08 ffffffff81a5ad0b ffffffff81e2f9ea [ 68.623775] ffff88046441bb58 ffff88046441bb48 ffffffff81056b55 ffff88047fc583c0 [ 68.632075] 0000000000000000 ffff880469a8e600 00000000fffc2a40 ffff880465b32098 [ 68.640375] Call Trace: [ 68.643109] [<ffffffff81a5ad0b>] dump_stack+0x48/0x5d [ 68.648844] [<ffffffff81056b55>] warn_slowpath_common+0x95/0xe0 [ 68.655549] [<ffffffff81056c56>] warn_slowpath_fmt+0x46/0x70 [ 68.661960] [<ffffffff8158a614>] ? find_iova+0x54/0x90 [ 68.667791] [<ffffffff815988dc>] intel_unmap+0x20c/0x220 [ 68.673815] [<ffffffff8159891e>] intel_unmap_page+0xe/0x10 [ 68.680038] [<ffffffffa0067536>] igbvf_clean_rx_ring+0x96/0x370 [igbvf] [ 68.687516] [<ffffffffa0067915>] igbvf_down+0x105/0x110 [igbvf] [ 68.694219] [<ffffffffa0067beb>] igbvf_change_mtu+0x16b/0x180 [igbvf] [...] Signed-off-by: Stefan Assmann <sassmann@xxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 42ad1a03b4caf4d95b980bce17c46242e6728ddc Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Wed Aug 5 22:05:16 2015 +0800 igb: Fix a memory leak in igb_probe In error handling code of igb_probe, the memory adapter->shadow_vfta allocated by kcalloc in igb_sw_init is not freed. So when register_netdev or igb_init_i2c is failed, a memory leak will occur. This patch adds kfree to fix it. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0845d45e900cad5f7f855a7a6a21c33477800b1f Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Wed Aug 5 18:16:10 2015 +0800 e1000e: Modify Tx/Rx configurations to avoid null pointer dereferences in e1000_open When e1000e_setup_rx_resources is failed in e1000_open, e1000e_free_tx_resources in "err_setup_rx" segment is executed. "writel(0, tx_ring->head)" statement in e1000_clean_tx_ring in e1000e_free_tx_resources will cause a null poonter dereference(crash), because "tx_ring->head" is only assigned in e1000_configure_tx in e1000_configure, but it is after e1000e_setup_rx_resources. This patch moves head/tail register writing to e1000_configure_tx/rx, which can fix this problem. It is inspired by igb_configure_tx_ring in the igb driver. Specially, thank Alexander Duyck for his valuable suggestion. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3eb14ea8d9584e96680729c2c7a9129bafa13a39 Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Mon Aug 3 11:36:26 2015 +0800 igb: Fix a deadlock in igb_sriov_reinit When igb_init_interrupt_scheme in igb_sriov_reinit is failed, the lock acquired by rtnl_lock() is not released, which causes a deadlock. This patch adds rtnl_unlock() in error handling to fix it. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5e5d49422dfb035ca9e280cd61d434095c151272 Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Mon Aug 3 10:40:48 2015 +0800 e100: Release skb when DMA mapping is failed in e100_xmit_prepare When pci_dma_mapping_error in e100_xmit_prepare is failed, the skb buffer allocated by netdev_alloc_skb_ip_align in e100_rx_alloc_skb is not released, which causes a possible resource leak. This patch adds error handling code to fix it. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9ad607b4a9cb365fbd8387b1250ec448e497223e Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Mon Aug 3 10:17:08 2015 +0800 e100: Add a check after pci_pool_create to avoid null pointer dereference The driver lacks the check of nic->cbs_pool after pci_pool_create in e100_probe. When this function is failed, a null pointer dereference occurs when pci_pool_alloc uses nic->cbs_pool in e100_alloc_cbs. This patch adds a check and related error handling code to fix it. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c23d92b80e0b44d4c17085f0413e7574a7583615 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Jul 29 14:38:15 2015 -0600 igb: Teardown SR-IOV before unregister_netdev() When the .remove() callback for a PF is called, SR-IOV support for the device is disabled, which requires unbinding and removing the VFs. The VFs may be in-use either by the host kernel or userspace, such as assigned to a VM through vfio-pci. In this latter case, the VFs may be removed either by shutting down the VM or hot-unplugging the devices from the VM. Unfortunately in the case of a Windows 2012 R2 guest, hot-unplug is broken due to the ordering of the PF driver teardown. Disabling SR-IOV prior to unregister_netdev() avoids this issue. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 51045ecff09e33dcf4027f4aa6e6a05a840899d3 Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Wed Jul 29 07:32:06 2015 -0700 igb: add support for 1512 PHY This patch adds support for Marvell PHY 1512 (required for I354). Submitted by: Maciej Szwed <maciej.szwed@xxxxxxxxx> Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 30c72916d71b7970b16dca2bb1234aef2d37b695 Author: Richard Cochran <richardcochran@xxxxxxxxx> Date: Thu Jul 23 14:59:30 2015 -0700 igb: implement high frequency periodic output signals In addition to interrupt driven target time output events, the i210 also has two programmable clock outputs. These clocks support periods between 16 nanoseconds and 140 milliseconds. This patch implements the periodic output function using the clock outputs when possible, falling back to the target time for longer periods. Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6423fc34160939142d72ffeaa2db6408317f54df Author: Stefan Assmann <sassmann@xxxxxxxxx> Date: Fri Jul 10 15:01:12 2015 +0200 igb: do not re-init SR-IOV during probe During driver probing the following code path is triggered. igb_probe ->igb_sw_init ->igb_probe_vfs ->igb_pci_enable_sriov ->igb_sriov_reinit Doing the SR-IOV re-init is not necessary during probing since we're starting from scratch. Here we can call igb_enable_sriov() right away. Running igb_sriov_reinit() during igb_probe() also seems to cause occasional packet loss on some onboard 82576 NICs. Reproduced on Dell and HP servers with onboard 82576 NICs. Example: Intel Corporation 82576 Gigabit Network Connection [8086:10c9] (rev 01) Subsystem: Dell Device [1028:0481] Signed-off-by: Stefan Assmann <sassmann@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f468adc944ef40f23cacdd898e8cfbb5ba4b75a4 Author: Vasily Averin <vvs@xxxxxxxxxxxxx> Date: Tue Jul 7 18:53:45 2015 +0300 igb: missing rtnl_unlock in igb_sriov_reinit() Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 72ddef0506da852dc82f078f37ced8ef4d74a2bf Author: Shota Suzuki <suzuki_shota_t3@xxxxxxxxxxxxx> Date: Wed Jul 1 09:25:52 2015 +0900 igb: Fix oops caused by missing queue pairing When initializing igb driver (e.g. 82576, I350), IGB_FLAG_QUEUE_PAIRS is set if adapter->rss_queues exceeds half of max_rss_queues in igb_init_queue_configuration(). On the other hand, IGB_FLAG_QUEUE_PAIRS is not set even if the number of queues exceeds half of max_combined in igb_set_channels() when changing the number of queues by "ethtool -L". In this case, if numvecs is larger than MAX_MSIX_ENTRIES (10), the size of adapter->msix_entries[], an overflow can occur in igb_set_interrupt_capability(), which in turn leads to an oops. Fix this problem as follows: - When changing the number of queues by "ethtool -L", set IGB_FLAG_QUEUE_PAIRS in the same way as initializing igb driver. - When increasing the size of q_vector, reallocate it appropriately. (With IGB_FLAG_QUEUE_PAIRS set, the size of q_vector gets larger.) Another possible way to fix this problem is to cap the queues at its initial number, which is the number of the initial online cpus. But this is not the optimal way because we cannot increase queues when another cpu becomes online. Note that before commit cd14ef54d25b ("igb: Change to use statically allocated array for MSIx entries"), this problem did not cause oops but just made the number of queues become 1 because of entering msi_only mode in igb_set_interrupt_capability(). Fixes: 907b7835799f ("igb: Add ethtool support to configure number of channels") CC: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Shota Suzuki <suzuki_shota_t3@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3e1d2eed39d804e48282931835c7203fa47fe1d9 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 13:58:16 2015 -0700 cgroup: introduce cgroup_subsys->legacy_name This allows cgroup subsystems to use a different name on the unified hierarchy. cgroup_subsys->name is used on the unified hierarchy, ->legacy_name elsewhere. If ->legacy_name is not explicitly set, it's automatically set to ->name and the userland visible behavior remains unchanged. v2: Make parse_cgroupfs_options() only consider ->legacy_name as mount options are used only on legacy hierarchies. Suggested by Li Zefan. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: cgroups@xxxxxxxxxxxxxxx commit d98817d4961b9ef75062d1e129829d283b3dac57 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 18 13:58:16 2015 -0700 cgroup: don't print subsystems for the default hierarchy It doesn't make sense to print subsystems on mount option or /proc/PID/cgroup for the default hierarchy. * cgroup.controllers file at the root of the default hierarchy lists the currently attached controllers. * The default hierarchy is catch-all for unmounted subsystems. * The default hierarchy doesn't accept any mount options. Suppress subsystem printing on mount options and /proc/PID/cgroup for the default hierarchy. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: cgroups@xxxxxxxxxxxxxxx commit 62060a3548c5ea038b4ade518cce92be32a6718d Merge: 582271a 8cbd4c2f Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:33:48 2015 -0700 Merge tag 'omap-for-v4.3/dt-pt4-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Fix up bogus RTC compatible change for am4372 and add missing DPLL for am4372 cpsw Ethernet driver. Also add ARM global and local timers for am4372. * tag 'omap-for-v4.3/dt-pt4-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: arm: boot: dts: am4372: add ARM timers and SCU nodes ARM: dts: AM4372: Add the am4372-rtc compatible string ARM: dts: am4372: Set the default clock rate for dpll_clksel_mac_clk clock ARM: dts: AM437X: add dpll_clksel_mac_clk node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 443d7920a5ea454b4d46839a029fb26fd5a2cdee Merge: 207b504 ed293d1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:33:09 2015 -0700 Merge tag 'omap-for-v4.3/soc-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Fix omap PM regression in Linux next and kill set_irq_flags usage for GPMC. * tag 'omap-for-v4.3/soc-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: memory: kill off set_irq_flags usage ARM: OMAP2+: Fix power domain operations regression caused by 81xx Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 582271a3d0c8eed65d8716cf8dba6fa04e9bfc85 Merge: 3cf6a06 60c0745 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:31:26 2015 -0700 Merge tag 'renesas-dt4-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Fourth Round of Renesas ARM Based SoC DT Updates for v4.3 * Enable Clock Domain support of the Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks driver. * tag 'renesas-dt4-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7794 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7793 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7791 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7790 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7779 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r8a7778 dtsi: Add CPG/MSTP Clock Domain ARM: shmobile: r7s72100 dtsi: Add CPG/MSTP Clock Domain clk: shmobile: rz: Add CPG/MSTP Clock Domain support clk: shmobile: rcar-gen2: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7779: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7778: Add CPG/MSTP Clock Domain support clk: shmobile: Add CPG/MSTP Clock Domain support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a005bc6f69d79574840bdf04350671fb3b2dd8ae Merge: 0bf4135 f04b486 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:30:18 2015 -0700 Merge tag 'renesas-clk-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers Renesas ARM Based SoC CPG/MSTP Clock Driver Updates for v4.3 * Add Clock Domain support to the Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks driver using the generic PM Domain. * tag 'renesas-clk-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: clk: shmobile: rz: Add CPG/MSTP Clock Domain support clk: shmobile: rcar-gen2: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7779: Add CPG/MSTP Clock Domain support clk: shmobile: r8a7778: Add CPG/MSTP Clock Domain support clk: shmobile: Add CPG/MSTP Clock Domain support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d2be537c3ba3568acd79cd178327b842e60d035e Author: Jeff Moyer <jmoyer@xxxxxxxxxx> Date: Thu Aug 13 14:57:57 2015 -0400 block: bump BLK_DEF_MAX_SECTORS to 2560 A value of 2560 (1280k) will accommodate a 10-data-disk stripe write with chunk size 128k. In the testing I've done using iozone, fio, and aio-stress across a number of different storage devices, a value of 1280 does not show a big performance difference from 512, but will hopefully help software RAID setups using SATA disks, as reported by Christoph. NOTE: drivers/block/aoe/aoeblk.c sets its own max_hw_sectors_kb to BLK_DEF_MAX_SECTORS. So, this patch essentially changes aeoblk to Use a larger maximum sector size, and I did not test this. Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 30e2bc08b2bb7c069246feee78f7ed4006e130fe Author: Jeff Moyer <jmoyer@xxxxxxxxxx> Date: Thu Aug 13 14:57:56 2015 -0400 Revert "block: remove artifical max_hw_sectors cap" This reverts commit 34b48db66e08ca1c1bc07cf305d672ac940268dc. That commit caused performance regressions for streaming I/O workloads on a number of different storage devices, from SATA disks to external RAID arrays. It also managed to trip up some buggy firmware in at least one drive, causing data corruption. The next patch will bump the default max_sectors_kb value to 1280, which will accommodate a 10-data-disk stripe write with chunk size 128k. In the testing I've done using iozone, fio, and aio-stress, a value of 1280 does not show a big performance difference from 512. This will hopefully still help the software RAID setup that Christoph saw the original performance gains with while still not regressing other storage configurations. Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 341a670abd1c086d44e09901f0ebee3dd86a60ba Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Aug 11 18:36:51 2015 -0700 ARM64: dts: vexpress: Use assigned-clock-parents for sp810 The sp810 clk driver is calling the clk consumer APIs from clk_prepare ops to change the parent to a 1 MHz fixed rate clock for each of the clocks that the driver provides. Use assigned-clock-parents for this instead of doing it in the driver to avoid using the consumer API in provider code. This also allows us to remove the usage of clk provider APIs that take a struct clk as an argument from the sp810 driver. Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3cf6a067994fadcb99d841ec3ce6652fd95f91a1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Aug 11 18:36:50 2015 -0700 ARM: dts: vexpress: Use assigned-clock-parents for sp810 The sp810 clk driver is calling the clk consumer APIs from clk_prepare ops to change the parent to a 1 MHz fixed rate clock for each of the clocks that the driver provides. Use assigned-clock-parents for this instead of doing it in the driver to avoid using the consumer API in provider code. This also allows us to remove the usage of clk provider APIs that take a struct clk as an argument from the sp810 driver. Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5446584eeba48ae357435388fb39f35ee9e5d851 Merge: 80d352d 9559b3a Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:15:57 2015 -0700 Merge tag 'imx-defconfig-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig The i.MX defconfig updates for 4.3: - Enable i.MX6UL SoC build - Enable powerkey and syscon poweroff support - Build in multi-channel audio support, including i.MX ASRC and CS42xx8 codec drivers. - Enable kexec build, HCIUART_H4 and IKCONFIG_PROC support. * tag 'imx-defconfig-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v6_v7_defconfig: Select CONFIG_IKCONFIG_PROC ARM: imx: imx_v6_v7_defconfig enable imx6ul support ARM: imx_v6_v7_defconfig: enable powerkey and syscon power off ARM: imx_v6_v7_defconfig: Select HCIUART_H4 ARM: imx_v6_v7_defconfig: build in audio driver ARM: imx_v6_v7_defconfig: Enable kexec support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b12c0820868f8f65289dda974c54eff2b0290fa7 Merge: e789546 3603257 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:14:39 2015 -0700 Merge tag 'imx-dt-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt The i.MX device tree updates for 4.3: - Add audio and eTSEC device support and update dspi node for LS1021A. - Add initial i.MX6UL and imx6ul-14x14-evk board support, and enable a bunch of device support for i.MX6UL, including RTC, power key, USB, QSPI, and dual FEC. - Enable HDMI and LVDS dual display support for a few imx6qdl boards. - Support of imx6sl-warp board rev1.12, the version which will be publicly available for the customers. - A few i.MX7D device additions, watchdog, cortex-a7 coresight components, RTC, power key, power off. - Some Vybrid updates: add device support for I2C, QSPI, eSDHC etc., update ADC node, and define stdout-path property. - A few random updates for i.MX27 and i.MX53 devices. * tag 'imx-dt-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (44 commits) ARM: dts: imx6ul: add snvs power key support ARM: dts: imx6ul: add RTC support ARM: dts: imx6ul: enable GPC as extended interrupt controller ARM: dts: imx6sx: correct property name for wakeup source ARM: dts: add property for maximum ADC clock frequencies ARM: dts: imx7d: enable snvs rtc, onoffkey and power off ARM: dts: imx6ul-14x14-evk: add fec1 and fec2 support ARM: dts: imx: add fec1 and fec2 nodes for SOC i.MX6UL ARM: dts: imx27: add support of internal rtc ARM: dts: vf-colibri: define stdout-path property ARM: dts: ls1021a: Enable the eTSEC ports on QDS and TWR ARM: dts: ls1021a: Add the eTSEC controller nodes ARM: dts: imx6ul: add qspi support ARM: dts: imx6ul: fix low case define in imx6ul-pinfunc.h ARM: dts: imx6ul: add usb host and function support ARM: dts: vfxxx: Add io-channel-cells property for ADC node ARM: dts: ls1021a: Add dts nodes for audio on LS1021A ARM: imx6qdl-sabreauto.dtsi: enable USB support ARM: dts: imx: update snvs to use syscon access register ARM: dts: imx: add imx6ul and imx6ul evk board support ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 207b504a63b849519cc285c3ddb37411d67beead Merge: f9511a4 8a0fa18 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 18 13:10:05 2015 -0700 Merge tag 'imx-soc-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc The i.MX SoC changes for 4.3: - Add i.MX6 Ultralite SoC support, which is the newest addition to i.MX6 family. It integrates a single Cortex-A7 core and a power management module that reduces the complexity of external power supply and simplifies power sequencing. - Change SNVS RTC driver to use syscon interface for register access, and add SNVS power key driver support. - Add a second clock for mxc rtc driver, and support device tree probe for the driver. - Add FEC MAC reference clock and phy fixup initialization for i.MX6UL platform. * tag 'imx-soc-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: rtc: snvs: select option REGMAP_MMIO ARM: imx6ul: add fec MAC refrence clock and phy fixup init ARM: imx6ul: add fec bits to GPR syscon definition rtc: mxc: add support of device tree dt-binding: document the binding for mxc rtc rtc: mxc: use a second rtc clock input: snvs_pwrkey: use "wakeup-source" as deivce tree property name Document: devicetree: input: imx: i.mx snvs power device tree bindings input: keyboard: imx: add snvs power key driver Document: dt: fsl: snvs: change support syscon rtc: snvs: use syscon to access register ARM: imx: add low-level debug support for i.mx6ul ARM: imx: add i.mx6ul msl support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 61ed713bbb043f333ca9576c79a3d33d2ad17438 Merge: 0b233dc 348e343 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 18 11:55:08 2015 -0700 Merge branch 'drivers_iff_no_queue' Phil Sutter says: ==================== net: Convert drivers to IFF_NO_QUEUE and cleanup afterwards This series converts in-tree users away from the old and deprecated 'tx_queue_len = 0' idiom, adds a warning to notify out-of-tree driver maintainers that there is need for action on their behalf and finally drops any workarounds in scheduling algorithm implementations. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 348e3435cbefa815bd56a5205c1412b5afe7b92e Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:49 2015 +0200 net: sched: drop all special handling of tx_queue_len == 0 Those were all workarounds for the formerly double meaning of tx_queue_len, which broke scheduling algorithms if untreated. Now that all in-tree drivers have been converted away from setting tx_queue_len = 0, it should be safe to drop these workarounds for categorically broken setups. Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 906470c19da771e638e7c8e16e16c31995b139cc Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:48 2015 +0200 net: warn if drivers set tx_queue_len = 0 Due to the introduction of IFF_NO_QUEUE, there is a better way for drivers to indicate that no qdisc should be attached by default. Though, the old convention can't be dropped since ignoring that setting would break drivers still using it. Instead, add a warning so out-of-tree driver maintainers get a chance to adjust their code before we finally get rid of any special handling of tx_queue_len == 0. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d9e437d56bea20bef180bd64ad2ad354de4c79b Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:47 2015 +0200 staging: wilc1000: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4676a15207e3bc5e18b7e39b934ce0e890ee54fe Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:46 2015 +0200 net: caif: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Dmitry Tarnyagin <dmitry.tarnyagin@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ad09c5c05f7ce718d135ba8b55f9af733fc9b3f Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:45 2015 +0200 net: hsr: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Arvid Brodin <arvid.brodin@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cdf7370391d3a482ef2f2a8c73d16c6db3dbecf0 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:44 2015 +0200 net: batman-adv: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Cc: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Cc: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3db6da1f07b4ee3c0657973f504a44d38b5c04a1 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:43 2015 +0200 net: mac80211_hwsim: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a9c0a1bb82aef17468f4aff492421c875fff71c Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:42 2015 +0200 net: hostap: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Jouni Malinen <j@xxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a5f107b6774aa9c48ca3e924dccaf1296ef6a43 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:41 2015 +0200 net: dsa: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf485bcf0df5dcb01b723efc9d5887329e515aa7 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:40 2015 +0200 net: ipvlan: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e6f20ca6c90d06d8d7654009aa99f0eec76ea65 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:39 2015 +0200 net: bonding: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Jay Vosburgh <j.vosburgh@xxxxxxxxx> Cc: Veaceslav Falico <vfalico@xxxxxxxxx> Cc: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4afbc0db720555f1bf0dd9f3e112819041231818 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:38 2015 +0200 net: 6lowpan: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccecb2a47ceb0fc59b23b966cd63b5f19315b2a2 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:37 2015 +0200 net: bridge: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e659c0551c99c9712724d96acd3d9271587265c Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:36 2015 +0200 net: 8021q: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22dba393a3eed4878937fa5bf804eb7be8aa70f4 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:35 2015 +0200 net: vxlan: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22e380a649371dc2182c39f03887aad2576e11cd Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:34 2015 +0200 net: team: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85773a61a310aa5214e8e87d29792803ec5a9eed Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:33 2015 +0200 net: nlmon: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e65db2b724a2758ede002cb995bee1470f805b1a Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:32 2015 +0200 net: loopback: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed961ac23384826d92ed7f3dd6fe8e007db76145 Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:31 2015 +0200 net: geneve: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff42c02c09aa03b6ecd22695e923595244d3ee6d Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:30 2015 +0200 net: dummy: convert to using IFF_NO_QUEUE Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02f01ec1c5c697e0f84b9e58bf9a294a3a1b348e Author: Phil Sutter <phil@xxxxxx> Date: Tue Aug 18 10:30:29 2015 +0200 net: veth: enable noqueue operation by default Signed-off-by: Phil Sutter <phil@xxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81f03fedcce7ee7e83c37237ecaa2f68aad236fd Author: Jon Derrick <jonathan.derrick@xxxxxxxxx> Date: Mon Aug 10 15:20:41 2015 -0600 NVMe: Add nvme subsystem reset IOCTL Controllers can perform optional subsystem resets as introduced in NVMe 1.1. This patch adds an IOCTL to trigger the subsystem reset by writing "NVMe" to the NSSR register. Signed-off-by: Jon Derrick <jonathan.derrick@xxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dfbac8c7ac5f58448b2216fe42ff52aaf175421d Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Mon Aug 10 15:20:40 2015 -0600 NVMe: Add nvme subsystem reset support Controllers part of an NVMe subsystem may be reset by any other controller in the subsystem. If the device is capable of subsystem resets, this patch adds detection for such events and performs appropriate controller initialization upon subsystem reset detection. The register bit is a RW1C type, so the driver needs to write a 1 to the status bit to clear the subsystem reset occured bit during initialization. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ac05fbb40062411ea1b722aa2cede7feaa94f1b4 Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Mar 4 16:52:52 2015 -0500 inode: don't softlockup when evicting inodes On a box with a lot of ram (148gb) I can make the box softlockup after running an fs_mark job that creates hundreds of millions of empty files. This is because we never generate enough memory pressure to keep the number of inodes on our unused list low, so when we go to unmount we have to evict ~100 million inodes. This makes one processor a very unhappy person, so add a cond_resched() in dispose_list() and if we need a resched when processing the s_inodes list do that and run dispose_list() on what we've currently culled. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 44840dec6127e4d7c5074f75d2dd96bc4ab85fe3 Author: David Ward <david.ward@xxxxxxxxxx> Date: Tue Aug 18 10:36:23 2015 +0200 USB: qcserial: add HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module This is an HP-branded Sierra Wireless EM7355: https://bugzilla.redhat.com/show_bug.cgi?id=1223646#c2 Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fb8dc36384ae1140ee6ccc470de74397606a9d5 Author: Matthijs Kooijman <matthijs@xxxxxxxx> Date: Tue Aug 18 10:33:56 2015 +0200 USB: ftdi_sio: Added custom PID for CustomWare products CustomWare uses the FTDI VID with custom PIDs for their ShipModul MiniPlex products. Signed-off-by: Matthijs Kooijman <matthijs@xxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2958d1b8fb0cffa362b187c0375a5aff4fe3825 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 17 17:35:24 2015 +0200 USB: usb_wwan: silence read errors on disconnect Silence read-urb resubmission errors when the device is going away. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9257f1daa8befd5c0a343031dd870236550e00c5 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 17 17:35:23 2015 +0200 USB: option: silence interrupt errors Avoid spamming the logs (e.g. with -EPROTO errors) when attempting to resubmit the interrupt urb while a disconnect of an in-use device is being processed. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ae25a355b5969e12f3185e8cb8eb08b871c9084 Author: Philipp Hachtmann <hachti@xxxxxxxxx> Date: Mon Aug 17 17:31:47 2015 +0200 USB: symbolserial: Correct transferred data size The scanner (here DS3508) always returns 64 bytes per urb buffer. The first byte indicates the data length used in the current buffer. There even was a comment describing this. But the comment also said that we'll send everything in the buffer to the tty layer. That means sending the actual barcode data and lots of trailing zeroes. This patch lets the driver only send the real data. Signed-off-by: Philipp Hachtmann <hachti@xxxxxxxxx> Acked-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 951d3793bbfc0a441d791d820183aa3085c83ea9 Author: Philipp Hachtmann <hachti@xxxxxxxxx> Date: Mon Aug 17 17:31:46 2015 +0200 USB: symbolserial: Use usb_get_serial_port_data The driver used usb_get_serial_data(port->serial) which compiled but resulted in a NULL pointer being returned (and subsequently used). I did not go deeper into this but I guess this is a regression. Signed-off-by: Philipp Hachtmann <hachti@xxxxxxxxx> Fixes: a85796ee5149 ("USB: symbolserial: move private-data allocation to port_probe") Cc: stable <stable@xxxxxxxxxxxxxxx> # v3.10 Acked-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0c9d0defcdadd31ab111b1616f60cf919c6a020 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Aug 17 16:36:53 2015 +0800 usb: misc: usbtest: format max packet size for iso transfer The current code prints all wMaxPacketSize content at endpoint descriptor, if there is a high speed, high bandwidth endpoint, it may confuse the users, eg, if there are 3 transactions during microframe, it will print "wMaxPacket 1400" for packet content. This commit splits wMaxpacketSize and transaction numbers for output messages. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0521cfd06e1ebcd575e7ae36aab068b38df23850 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Aug 17 10:23:03 2015 +0800 usb: host: ehci-sys: delete useless bus_to_hcd conversion The ehci platform device's drvdata is the pointer of struct usb_hcd already, so we doesn't need to call bus_to_hcd conversion again. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 475908bc4d29b95b24c03206f673f46b41e7124d Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:59:12 2015 -0700 Revert "usb: interface authorization: Declare authorized attribute" This reverts commit 484ebaedecc5ddf778a30ee1efab367cbee27030 as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae9c02b421139c4c44340b019e250a9969a91613 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:27 2015 +0100 dmaengine: jz4780: Kill tasklets before unregistering the device Tasklets may have been scheduled as a result of an earlier interrupt that could still be running. Kill them before unregistering the device. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d509a83cea8a64478c7899f28e961543b6569cfc Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:26 2015 +0100 dmaengine: jz4780: Don't use devm_*_irq() functions We must explicitly free the IRQ before the device is unregistered in case any device interrupt still occurs, so there's no point in using the managed variations of the IRQ functions. Change to the regular versions. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d3597236fd30d76bef4ba8b4713013006842f117 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:25 2015 +0100 dmaengine: jz4780: Remove request type number definitions header The header just includes definitions of hardware-specific numbers which can be written directly in the device tree, there's no need for a public header containing these definitions. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 026fd406c81b8a2936e77342a255d55534f92061 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:24 2015 +0100 dmaengine: jz4780: Ensure channel is on correct controller in filter When scanning for a free DMA channel, the filter function should ensure that the channel is on the controller that it was requested to be on in the DT. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d3273e10ad871e903456a875e1062514cd13a244 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:23 2015 +0100 dmaengine: jz4780: Use dma_get_slave_channel when requesting a specific channel When the DT requests a specific channel to use it is not necesssary to scan through all DMA channels in the system. Just return the requested channel using dma_get_slave_channel(). Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 839896ef3fdacf3a27460b6f6dabc6ac1475a00c Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:22 2015 +0100 dmaengine: jz4780: Fix error handling/signedness issues There are a some signedness bugs such as testing for < 0 on unsigned return values. Additionally there are some cases where functions which should return NULL on error actually return a PTR_ERR value which can result in oopses on error. Fix these issues. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit dc578f314e2471ca93a4c1f80988ecc781836f72 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:21 2015 +0100 dmaengine: jz4780: Fall back on smaller transfer sizes where necessary For some reason the controller does not support 8 byte transfers (but does support all other powers of 2 up to 128). In this case fall back to 4 bytes. In addition, fall back to 128 bytes when any larger power of 2 would be possible within the alignment constraints, as this is the maximum supported. It makes no sense to outright reject 8 or >128 bytes just because the alignment constraints make those the maximum possible size given the parameters for the transaction. For instance, this can result in a DMA from/to an 8 byte aligned address failing. It is perfectly safe to fall back to smaller transfer sizes, the only consequence is reduced transfer efficiency, which is far better than not allowing the transfer at all. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 46fa516869f4b57f9eb63db02c76642abfb9f682 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Fri Jul 24 17:24:20 2015 +0100 dmaengine: jz4780: Fix up dmaengine API function prototypes Several function prototypes did not match the dmaengine API they were implementing, resulting in build warnings. Correct these. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 12e1a6a0f16168346cb8f33aff135ed523a9f097 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:58:45 2015 -0700 Revert "usb: interface authorization: Introduces the default interface authorization" This reverts commit 1d958bef45030acfc5578263e9de3bb07032b8da as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c2ea97a3a4124628de2ed9a1f891c706788468a Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:58:26 2015 -0700 Revert "usb: interface authorization: Control interface probing and claiming" This reverts commit de7718bd9c4d3db96991a98c2a0cb38258a04e47 as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5651440e453910f3a1f795e66db5d16291c3ba44 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:58:04 2015 -0700 Revert "usb: interface authorization: Introduces the USB interface authorization" This reverts commit ef0909c50fe63be3f9aa09bdf4db7efaa5919be9 as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d924d7a81627663720223b5c4330c18d8063fb6 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:57:43 2015 -0700 Revert "usb: interface authorization: SysFS part of USB interface authorization" This reverts commit 187b3d75bbfba45a38b5d1d3656c0f11f6f6f2d0 as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dba3398381dd1175c74721c97d1daf8fc5939276 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:57:15 2015 -0700 Revert "usb: interface authorization: Documentation part" This reverts commit 6ef2bf71764708f7c58ee9300acd8df05dbaa06f as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1b93ab71587b8b44d45d114937cb4e75f9a5f27 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 09:56:04 2015 -0700 Revert "usb: interface authorization: Use a flag for the default device authorization" This reverts commit 3cf1fc80655d3af7083ea4b3615e5f8532543be7 as the signed-off-by address is invalid. Cc: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d15f21dc8030c4511964819b89b50e39d5a7013 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Aug 18 17:26:45 2015 +0530 ASoC: tegra: Revert part of "ASoC: tegra: Convert to managed resources" Revert the problematic part of commit 470805eb9f31 ("ASoC: tegra: Convert to managed resources"). Before this commit, PM cleanup was performed after the component was unregistered. But returning directly will skip PM cleanup. So, to be on safe side it is better to use snd_soc_register_component instead of devm_snd_soc_register_component. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ac9bd0ef5d3eefe9a21a7df6819937e3aa265203 Author: Yanchang Li <yl22@xxxxxxx> Date: Mon Jul 27 05:50:21 2015 +0000 dmaengine: sirf: clear pending DMA interrupt when DMA terminates If DMA interrupt comes and is latched by IRQ controller during the execution of dma_terminate_all(), dma_irq routine will be executed after dma terminated, and it will cause kernel panic. We clear DMA interrupts in dma_terminate_all() to avoid this useless interrupt. Signed-off-by: Yanchang Li <Yanchang.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit df48f3ff95c432cc3469e0df67da76ffcf2237af Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jul 11 14:12:07 2015 +0200 doc: dt: dma: add bindings for lpc1850-dmamux Add device tree bindings documentation for the lpc1850-dmamux DMA router. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e5f4ae84be7421010780984bdc121eac15997327 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jul 11 14:12:06 2015 +0200 dmaengine: add driver for lpc18xx dmamux Add support for DMA on NXP LPC18xx/43xx platforms which has a multiplexer in front of the PL080 dma request lines. The mux is a single register in the LPC18xx/43xx CREG block and can multiplex up to 4 request lines to each of the 16 lines on the PL080. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit fbd7e41005a4daa676e3f516d07aeff0a81dca2b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sat Jul 11 14:12:05 2015 +0200 doc: dt: dma: add binding doc for pl08x This introduces device tree bindings for the PL08x DMA controllers when used with fixed signal assignment per channel, i.e. if each channel on the PL08x is assigned precisely one burst/single signal set. [je: remove channel sub-node parsing, use cell value to assign AHB] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit aa4734da66744230af1ad2b468dcc7fea53cd637 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sat Jul 11 14:12:04 2015 +0200 dmaengine: pl08x: support dt channel assignment Add support for assigning DMA channels from a device tree. [je: remove channel sub-node parsing, dynamic channel creation on xlate] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4a736d156d6de171f2c8453f5a6911e40e9aab0a Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Tue Aug 18 08:15:32 2015 +0200 dmaengine: pxa_dma: fix debug information This fixes the following error: drivers/dma/pxa_dma.c: In function â??dbg_show_requester_chanâ??: drivers/dma/pxa_dma.c:192:2: error: void value not ignored as it ought to be pos += seq_printf(s, "DMA channel %d requester :\n", phy->idx); ^ drivers/dma/pxa_dma.c:197:8: error: void value not ignored as it ought to be !!(drcmr & DRCMR_MAPVLD)); ^ scripts/Makefile.build:258: recipe for target 'drivers/dma/pxa_dma.o' failed Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b48362d8aaf32aeb4a75f5c556c652ffeeb1be5d Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Tue Aug 18 16:18:29 2015 +0200 hrtimer: Unconfuse switch_hrtimer_base() a bit The variable called "this_base" is confusing because its name suggests it's of "struct hrtimer_clock_base" type, along with "base" and "new_base" which doesn't help understanding this complicated function. Make its name clearer and fix the misleading comment while at it. [ tglx: Fixed the comment for real ] Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439907509-9553-3-git-send-email-fweisbec@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 662b3e194656cc713d51d52780fb71f499c46619 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Tue Aug 18 16:18:28 2015 +0200 hrtimer: Simplify get_target_base() by returning current base Instead of fetching again the current cpu base, just take it from the parameter. Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439907509-9553-2-git-send-email-fweisbec@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 84eac6196c4b3930fc81f9bcd76c4a1a2161fd34 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 14 17:58:01 2015 +0800 ASoC: wm8741: Drop misleading readable_reg callback implementation regmap_readable() returns false if map->format.format_write is set. For .reg_bits = 7, .val_bits = 9, setting, map->format.format_write = regmap_format_7_9_write; Even current code has implemented map->readable_reg, regmap_readable() still returns false anyway. Thus drop the misleading readable_reg callback implementation. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b2b1ec9b55ed0840956db15f823c4a73383c08be Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Tue Aug 18 10:13:41 2015 -0600 NVMe: removed unused nn var from nvme_dev_add The logic in nvme_dev_add to enumerate namespaces was moved to nvme_dev_scan. When moved, the nn variable is no longer used. This patch removes it. Fixes: a5768aai ("NVMe: Automatic namespace rescan") Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 649953b5b89dc308747797810812747333d971cd Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Aug 18 23:45:55 2015 +0800 PCI: xilinx: Fix typo in function name There's a typo in commit e39758e0ea76 in linux-next, which incorrectly spells "msi_desc_to_pci_sysdata()" as "msi_desc_to_pci_sys_data()" and causes build failure: > ../drivers/pci/host/pcie-xilinx.c:235:3: error: implicit declaration of function 'msi_desc_to_pci_sys_data' [-Werror=implicit-function-declaration] Fixes: e39758e0ea76 "PCI: Use helper functions to access fields in struct msi_desc" Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Cc: Srikanth Thokala <sthokal@xxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439912763-10645-1-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 84f8bd86cc8977c344df572169f7ec10b8188cfa Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Aug 18 10:31:09 2015 -0400 dm thin: optimize async discard submission __blkdev_issue_discard_async() doesn't need to worry about further splitting because the upper layer blkdev_issue_discard() will have already handled splitting bios such that the bi_size isn't overflowed. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Joe Thornber <ejt@xxxxxxxxxx> commit 49718f0fb8c9af192b33d8af3a2826db04025371 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:02:42 2015 -0400 SCSI: Fix NULL pointer dereference in runtime PM The routines in scsi_rpm.c assume that if a runtime-PM callback is invoked for a SCSI device, it can only mean that the device's driver has asked the block layer to handle the runtime power management (by calling blk_pm_runtime_init(), which among other things sets q->dev). However, this assumption turns out to be wrong for things like the ses driver. Normally ses devices are not allowed to do runtime PM, but userspace can override this setting. If this happens, the kernel gets a NULL pointer dereference when blk_post_runtime_resume() tries to use the uninitialized q->dev pointer. This patch fixes the problem by calling the block layer's runtime-PM routines only if the device's driver really does have a runtime-PM callback routine. Since ses doesn't define any such callbacks, the crash won't occur. This fixes Bugzilla #101371. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Reported-by: StanisÅ?aw Pitucha <viraptor@xxxxxxxxx> Reported-by: Ilan Cohen <ilanco@xxxxxxxxx> Tested-by: Ilan Cohen <ilanco@xxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit db196935d9562abec4510f48d887bc1f1e054fcf Author: Hiral Shah <hishah@xxxxxxxxx> Date: Tue Jul 14 07:08:57 2015 -0700 fnic: Use the local variable instead of I/O flag to acquire io_req_lock in fnic_queuecommand() to avoid deadloack We added changes in fnic driver patch 1.6.0.16 to acquire io_req_lock in fnic_queuecommand() before issuing I/O so that io completion is serialized. But when releasing the lock we check for the I/O flag and this could be modified if IO abort occurs before I/O completion. In this case we wont release the lock and causes deadlock in some scenerios. Using the local variable to check the IO lock status will resolve the problem. Fixes: 41df7b02db82cf6c14f094757bac3830d10a827f Signed-off-by: Hiral Shah <hishah@xxxxxxxxx> Signed-off-by: Sesidhar Baddela <sebaddel@xxxxxxxxx> Signed-off-by: Anil Chintalapati <achintal@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a6bf49db8c94d194d1c197deba2935468026ec89 Merge: 74f4e0c ecc7c51 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Aug 18 17:20:11 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-08-18' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * polish the Miracast operation * fix a few power consumption issues * scan cleanup * fixes for D0i3 system state * add paging for devices that support it * add again the new RBD allocation model * add more options to the firmware debug system * add support for frag SKBs in Tx commit d1c48038b849e9df0475621a52193a62424a4e87 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Thu Jul 30 14:49:00 2015 -0700 HID: i2c-hid: Only disable irq wake if it was successfully enabled during suspend Enabling irq wake could potentially fail and calling disable_irq_wake after a failed call to enable_irq_wake could result in an unbalanced irq warning. This patch warns if enable_irq_wake fails and avoids other potential issues caused by calling disable_irq_wake on resume after enable_irq_wake failed during suspend. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 76703be827a7867c28b904562bc78ed1314698bc Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Aug 17 17:41:53 2015 -0700 HID: wacom: Use tablet-provided touch height/width values for INTUOSHT The current generation of "Intuos" tablets (i.e. INTUOSHT) report touch width and height data just like the "Intuos Pro" do. This commit changes the code to allow these tablets to use the appropriate codepath instead of the one intended for Intuos5/Bamboo. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 931830aa5c251e0803523213428f777a48bde254 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Aug 13 11:11:27 2015 -0400 HID: gembird: add new driver to fix Gembird JPD-DualForce 2 This gamepad advertise 5 absolute axis while 4 are actually used. The second Z axis shows some garbage, so it has to be ignored by HID. The first Z axis and the Rz one are actually Rx and Ry. Remap them. We could also just remap and ignore the axis in .input_mapping(). I went ahead with .report_fixup() first, so here it is. Reported-by: Orivej Desh <orivej@xxxxxx> Tested-by: Orivej Desh <orivej@xxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 96231b2686b53f71838a335bdc404cb5285d1a01 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Aug 18 09:14:15 2015 +0100 ARM: 8419/1: dma-mapping: harmonize definition of DMA_ERROR_CODE All architectures except arm that define DMA_ERROR_CODE are casting it to (dma_addr_t) - as it is always compared to dma_addr_t in arm as well this could be harmonized. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8901925d32232adb57ba1b4c26d0c0f9d521a78c Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Mon Aug 17 03:59:52 2015 +0100 ARM: 8417/1: refactor bitops functions with BIT_MASK() and BIT_WORD() Use BIT_MASK() and BIT_WORD() rather than hard-coding the size of the "long" type. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit da4f295b4aeca0bca4ab406e70fb7087f93ede39 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Mon Aug 17 03:45:35 2015 +0100 ARM: 8416/1: Feroceon: use of_iomap() to map register base The chain of of_address_to_resource() and ioremap() can be replaced with of_iomap(). Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a5f4c561b3b19a9bc43a81da6382b0098ebbc1fb Author: Stefan Agner <stefan@xxxxxxxx> Date: Thu Aug 13 00:01:52 2015 +0100 ARM: 8415/1: early fixmap support for earlycon Add early fixmap support, initially to support permanent, fixed mapping support for early console. A temporary, early pte is created which is migrated to a permanent mapping in paging_init. This is also needed since the attributes may change as the memory types are initialized. The 3MiB range of fixmap spans two pte tables, but currently only one pte is created for early fixmap support. Re-add FIX_KMAP_BEGIN to the index calculation in highmem.c since the index for kmap does not start at zero anymore. This reverts 4221e2e6b316 ("ARM: 8031/1: fixmap: remove FIX_KMAP_BEGIN and FIX_KMAP_END") to some extent. Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6dc2e1bf8e0025db2ff8a35ee3e0bd88203d4402 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon May 18 15:32:20 2015 +0300 drm: bridge/dw_hdmi: fix register I2CM_ADDRESS register name I2CM_ADDRESS became a MESS, fix it, also change guarding define to __DW_HDMI_H__ , since the driver is not IMX specific. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b872a8e16b3fb17c3fe1e97f4ed0803f4a740aae Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jun 5 12:22:46 2015 +0100 drm: bridge/dw_hdmi: fix phy enable/disable handling The dw_hdmi enable/disable handling is particularly weak in several regards: * The hotplug interrupt could call hdmi_poweron() or hdmi_poweroff() while DRM is setting a mode, which could race with a mode being set. * Hotplug will always re-enable the phy whenever it detects an active hotplug signal, even if DRM has disabled the output. Resolve all of these by introducing a mutex to prevent races, and a state-tracking bool so we know whether DRM wishes the output to be enabled. We choose to use our own mutex rather than ->struct_mutex so that we can still process interrupts in a timely fashion. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 2fada109cfb7dbfd52f472140d6477a27a1f0d6d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 28 12:21:34 2015 +0100 drm: bridge/dw_hdmi: rename dw_hdmi_phy_enable_power() dw_hdmi_phy_enable_power() is not about enabling and disabling power. It is about allowing or preventing power-down mode being entered - the register is documented as "Power-down enable (active low 0b)." This can be seen as the bit has no effect when the HDMI phy is operational on iMX6 hardware. Rename the function to dw_hdmi_phy_enable_powerdown() to reflect the documentation, make it take a bool for the 'enable' argument, and invert the value to be written. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 552e67859c3ae9277ed26d5393d733207d129dae Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 11:04:00 2015 +0100 drm: bridge/dw_hdmi: avoid enabling interface in mode_set On a mode set, DRM makes the following sequence of calls: * for_each_encoder * bridge mode_fixup * encoder mode_fixup * crtc mode_fixup * for_each_encoder * bridge disable * encoder prepare * bridge post_disable * disable unused encoders * crtc prepare * crtc mode_set * for_each_encoder * encoder mode_set * bridge mode_set * crtc commit * for_each_encoder * bridge pre_enable * encoder commit * bridge enable dw_hdmi enables the HDMI output in both the bridge mode_set() and also the bridge enable() step. This is duplicated work - we can avoid the setup in mode_set() and just do it in the enable() stage. This simplifies the code a little. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f709ec07e38a714f8a959f28b3e0388cfb1b2540 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 16:09:39 2015 +0100 drm: bridge/dw_hdmi: enable audio only if sink supports audio Only enable audio support if the sink supports audio in some form, as defined via its EDID. We discover this capability using the generic drm_detect_monitor_audio() function. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 05b1342f5014b7c100834ae179dd90d1a1da7366 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 15:35:52 2015 +0100 drm: bridge/dw_hdmi: clean up HDMI vs DVI mode handling The FSL kernel detects the HDMI vendor id, and uses this to set hdmi->edid_cfg.hdmi_cap, which is then used to set mdvi appropriately, rather than detecting whether we are outputting a CEA mode. Update the dw_hdmi code to use this logic, but lets eliminate the mdvi variable, prefering the more verbose "hdmi->sink_is_hdmi" instead. Use the generic drm_detect_hdmi_monitor() to detect a HDMI sink. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8add41900e2177b20c28b64d13d8da8088c9606b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 11:14:00 2015 +0100 drm: bridge/dw_hdmi: don't support any pixel doubled modes As mentioned in the previous commit, the dw-hdmi driver does not support pixel doubled modes at present; it does not configure the PLL correctly for these modes. Therefore, filter out the double-clocked modes as we presently are unable to support them. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d10ca826b71b4c1c3ecab846528881aa0cf24266 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 11:25:00 2015 +0100 drm: bridge/dw_hdmi: remove pixel repetition setting for all VICs dw_hdmi sets a pixel repetition factor of 1 for VICs 10-15, 25-30 and 35-38. However, DRM uses their native resolutions in its timing information. For example, VIC 14 can be 1440x480 with no repetition, or 720x480 with one pixel repetition. As DRM uses 1440 pixels per line for this video mode, we need no pixel repetition. In any case, pixel repetition appears broken in dw_hdmi. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b90120a9660884b8f11bbb9904fbaa4c12d17e0a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 12:59:58 2015 +0000 drm: bridge/dw_hdmi: introduce interfaces to enable and disable audio iMX6 devices suffer from an errata (ERR005174) where the audio FIFO can be emptied while it is partially full, resulting in misalignment of the audio samples. To prevent this, the errata workaround recommends writing N as zero until the audio FIFO has been loaded by DMA. Writing N=0 prevents the HDMI bridge from reading from the audio FIFO, effectively disabling audio. This means we need to provide the audio driver with a pair of functions to enable/disable audio. These are dw_hdmi_audio_enable() and dw_hdmi_audio_disable(). A spinlock is introduced to ensure that setting the CTS/N values can't race, ensuring that the audio driver calling the enable/disable functions (which are called in an atomic context) can't race with a modeset. Tested-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b5814fff27c6d0212b86306bdd01fe3aea99cabb Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 12:50:58 2015 +0000 drm: bridge/dw_hdmi: introduce interface to setting sample rate Introduce dw_hdmi_set_sample_rate(), which allows us to configure the audio sample rate, setting the CTS/N values appropriately. Tested-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b91eee8cd8a547e43e271e5908e16c4a53c9416d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 23:27:17 2015 +0000 drm: bridge/dw_hdmi: remove mhsyncpolarity/mvsyncpolarity/minterlaced Remove the struct hdmi_vmode mhsyncpolarity/mvsyncpolarity/minterlaced members, which are only used within a single function. We can directly reference the appropriate mode->flags instead. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4b9bcaa7f18ef7c599963464d282bc769997f83b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 00:12:41 2015 +0100 drm: bridge/dw_hdmi: use our own drm_device Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a1b9f2ae213dd085bbe3c9fa68c5c4af5db9c77b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jun 5 12:18:09 2015 +0100 drm: bridge/dw_hdmi: remove unused 'regmap' struct member This driver does not make use of regmaps, let's remove this unnecessary structure member. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d083c312cba2735566af9598cb281ea2ae6b729a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 23:14:16 2015 +0000 drm: bridge/dw_hdmi: simplify hdmi_config_AVI() a little When a YCBCR format is selected, we can merely copy the colorimetry information directly as we use the same definitions for both the unpacked AVI info frame and the hdmi_data_info structure. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d4ac4cb69e79e3175329e03262354beef6aab38b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 20:06:50 2015 +0000 drm: bridge/dw_hdmi: use drm_hdmi_avi_infoframe_from_display_mode() Use drm_hdmi_avi_infoframe_from_display_mode() to compose the AVI frame. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f879b38f9155e85dc30a2e1e7d18b06251a7f9f8 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Mar 27 12:53:29 2015 +0000 drm: bridge/dw_hdmi: clean up hdmi_set_clk_regenerator() Clean up hdmi_set_clk_regenerator() by allowing it to take the audio sample rate and ratio directly, rather than hiding it inside the function. Raise the unsupported pixel clock/sample rate message from debug to error level as this results in audio not working correctly. Tested-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 39cc1535fe1e401c523065f7b219ac1cd76e4a7d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Mar 31 18:34:11 2015 +0100 drm: bridge/dw_hdmi: clean up phy configuration The phy configuration is dependent on the SoC, and we look up values for some of the registers in SoC specific data. However, we had partially programmed the phy before we had successfully looked up the clock rate. Also, we were only checking that we had a valid configuration for the currctrl register. Move all these lookups to the start of this function instead, so we can check that all lookups were successful before beginning to program the phy. Tested-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 36b8ae0d608696cb8b48639813ec22be99c4a8e6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Mar 31 18:23:16 2015 +0100 drm: imx/dw_hdmi: move phy comments The phy comments in dw_hdmi.c applied to the iMX6 version. Move these comments to the iMX6 dw_hdmi-imx data along side the data. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 627563d1696b8978b550ed192acc1bc8fc461da5 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Mar 28 18:13:52 2015 +0000 drm/edid: add function to help find SADs Add a function to find the start of the SADs in the ELD. This complements the helper to retrieve the SAD count. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 158d3b2ad18ca4570c9929b9b31d298d86fa2c02 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Aug 18 11:25:50 2015 +0200 MIPS: Fix LLVM build issue. Matthew Fortune <Matthew.Fortune@xxxxxxxxxx> reports: The genex.S file appears to mix the case of a macro between its definition and use. A cut down example of this is below. The macro __build_clear_none has lower case 'build' but ends up being instantiated with upper case BUILD. Can this be fixed on master. It has been picked up by the LLVM integrated assembler which is currently case sensitive. We are likely to fix the assembler as well but the code is currently inconsistent in the kernel. .macro __build_clear_none .endm .macro __BUILD_HANDLER exception handler clear verbose ext .align 5 .globl handle_\exception; .align 2; .type handle_\exception, @function; .ent handle_\exception, 0; handle_\exception: .frame $29, 184, $29 .set noat .globl handle_\exception\ext; .type handle_\exception\ext, @function; handle_\exception\ext: __BUILD_clear_\clear .endm .macro BUILD_HANDLER exception handler clear verbose __BUILD_HANDLER \exception \handler \clear \verbose _int .endm BUILD_HANDLER ftlb ftlb none silent Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Reported-by: Matthew Fortune <Matthew.Fortune@xxxxxxxxxx> commit d9232a3da8683cd9c9854a858bcca968fe5f3bca Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Thu Jul 23 16:43:56 2015 +1000 cxl: Add alternate MMIO error handling userspace programs using cxl currently have to use two strategies for dealing with MMIO errors simultaneously. They have to check every read for a return of all Fs in case the adapter has gone away and the kernel has not yet noticed, and they have to deal with SIGBUS in case the kernel has already noticed, invalidated the mapping and marked the context as failed. In order to simplify things, this patch adds an alternative approach where the kernel will return a page filled with Fs instead of delivering a SIGBUS. This allows userspace to only need to deal with one of these two error paths, and is intended for use in libraries that use cxl transparently and may not be able to safely install a signal handler. This approach will only work if certain constraints are met. Namely, if the application is both reading and writing to an address in the problem state area it cannot assume that a non-FF read is OK, as it may just be reading out a value it has previously written. Further - since only one page is used per context a write to a given offset would be visible when reading the same offset from a different page in the mapping (this only applies within a single context, not between contexts). An application could deal with this by e.g. making sure it also reads from a read-only offset after any reads to a read/write offset. Due to these constraints, this functionality must be explicitly requested by userspace when starting the context by passing in the CXL_START_WORK_ERR_FF flag. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fc9e9cbf4e48f28525edd27e285820988f1a54b1 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:11 2015 +0200 powerpc/nvram: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2e16acc5ee3626bcd32e2252c8260b65efde7b36 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:12 2015 +0200 powerpc/pseries: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 39bfd715b4837433a86c168c610880e9ae2185ae Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 09:26:51 2015 +1000 powerpc/eeh: Disable automatically blocked PCI config pcibios_set_pcie_reset_state() could be called to complete reset request when passing through PCI device, flag EEH_PE_ISOLATED is set before saving the PCI config sapce. On some Broadcom adapters, EEH_PE_CFG_BLOCKED is automatically set when the flag EEH_PE_ISOLATED is marked. It caused bogus data saved from the PCI config space, which will be restored to the PCI adapter after the reset. Eventually, the hardware can't work with corrupted data in PCI config space. The patch fixes the issue with eeh_pe_state_mark_no_cfg(), which doesn't set EEH_PE_CFG_BLOCKED when seeing EEH_PE_ISOLATED on the PE, in order to avoid the bogus data saved and restored to the PCI config space. Reported-by: Rajanikanth H. Adaveeshaiah <rajanikanth.ha@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit dd497154d359ba9d2d3e71075bed794b93b47b48 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:57:40 2015 +1000 powerpc: Export include/uapi/asm/eeh.h This adds include/uapi/asm/eeh.h to kbuild so that the header file will be exported automatically with below command. The header file was added by commit ed3e81ff2016 ("powerpc/eeh: Move PE state constants around") make INSTALL_HDR_PATH=/tmp/headers \ SRCARCH=powerpc headers_install Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e0ad784b65a64a617179598addb417d49dd4e08f Author: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 10:41:20 2015 +0530 powerpc/pseries: enable RTC class support A working rtc kernel driver is needed so that hwclock can synchronize system clock to rtc during shutdown/boot. We already have a powernv platform rtc driver located at drivers/rtc/rtc-opal.c. However it depends on CONFIG_RTC_CLASS which is disabled by default. Hence the driver isn't enabled and not compiled for the powernv kernel. We fix this by enabling rtc class support in pseries defconfig which enables this driver and compiles it into the pseries kernel. In case CONFIG_PPC_POWERNV is not enabled we fallback to 'Generic RTC support' driver which emulates the legacy 'PC RTC driver'. Signed-off-by: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1d805440a364b4a68562e70119d8f94456698e55 Author: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 11:09:01 2015 +0530 powerpc/numa: initialize distance lookup table from drconf path In some situations, a NUMA guest that supports ibm,dynamic-memory-reconfiguration node will end up having flat NUMA distances between nodes. This is because of two problems in the current code. 1) Different representations of associativity lists. There is an assumption about the associativity list in initialize_distance_lookup_table(). Associativity list has two forms: a) [cpu,memory]@x/ibm,associativity has following format: <N> <N integers> b) ibm,dynamic-reconfiguration-memory/ibm,associativity-lookup-arrays <M> <N> <M associativity lists each having N integers> M = the number of associativity lists N = the number of entries per associativity list Fix initialize_distance_lookup_table() so that it does not assume "case a". And update the caller to skip the length field before sending the associativity list. 2) Distance table not getting updated from drconf path. Node distance table will not get initialized in certain cases as ibm,dynamic-reconfiguration-memory path does not initialize the lookup table. Call initialize_distance_lookup_table() from drconf path with appropriate associativity list. Reported-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 53522982fc3c254bb4444c336cb005c8636930c8 Author: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Date: Fri Aug 7 13:45:54 2015 +1000 powerpc/powernv: move dma_get_required_mask from pnv_phb to pci_controller_ops Simplify the dma_get_required_mask call chain by moving it from pnv_phb to pci_controller_ops, similar to commit 763d2d8df1ee ("powerpc/powernv: Move dma_set_mask from pnv_phb to pci_controller_ops"). Previous call chain: 0) call dma_get_required_mask() (kernel/dma.c) 1) call ppc_md.dma_get_required_mask, if it exists. On powernv, that points to pnv_dma_get_required_mask() (platforms/powernv/setup.c) 2) device is PCI, therefore call pnv_pci_dma_get_required_mask() (platforms/powernv/pci.c) 3) call phb->dma_get_required_mask if it exists 4) it only exists in the ioda case, where it points to pnv_pci_ioda_dma_get_required_mask() (platforms/powernv/pci-ioda.c) New call chain: 0) call dma_get_required_mask() (kernel/dma.c) 1) device is PCI, therefore call pci_controller_ops.dma_get_required_mask if it exists 2) in the ioda case, that points to pnv_pci_ioda_dma_get_required_mask() (platforms/powernv/pci-ioda.c) In the p5ioc2 case, the call chain remains the same - dma_get_required_mask() does not find either a ppc_md call or pci_controller_ops call, so it calls __dma_get_required_mask(). Signed-off-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 73b341efda6664afbb0b6884eae60f04208b4128 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:19:47 2015 +1000 powerpc/mm: Drop CONFIG_PPC_HAS_HASH_64K The relation between CONFIG_PPC_HAS_HASH_64K and CONFIG_PPC_64K_PAGES is painfully complicated. But if we rearrange it enough we can see that PPC_HAS_HASH_64K essentially depends on PPC_STD_MMU_64 && PPC_64K_PAGES. We can then notice that PPC_HAS_HASH_64K is used in files that are only built for PPC_STD_MMU_64, meaning it's equivalent to PPC_64K_PAGES. So replace all uses and drop it. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 55f8b5b82fe7ab21da4153ed177b6fe17b1d59a3 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:19:46 2015 +1000 powerpc/mm: Simplify page size kconfig dependencies For config options with only a single value, guarding the single value with 'if' is the same as adding a 'depends' statement. And it's more standard to just use 'depends'. And if the option has both an 'if' guard and a 'depends' we can collapse them into a single 'depends' by combining them with &&. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 953005770ec3b52132a4cdbdbce74bd0de2b8490 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:19:45 2015 +1000 powerpc/mm: Drop the 64K on 4K version of pte_pagesize_index() Now that support for 64k pages with a 4K kernel is removed, this code is unreachable. CONFIG_PPC_HAS_HASH_64K can only be true when CONFIG_PPC_64K_PAGES is also true. But when CONFIG_PPC_64K_PAGES is true we include pte-hash64.h which includes pte-hash64-64k.h, which defines both pte_pagesize_index() and crucially __real_pte, which means this definition can never be used. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit 57fb907da89977640ef183556a621336c1348fa0 Author: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Date: Wed Mar 25 00:28:48 2015 -0500 iommu/fsl: Really fix init section(s) content '0f1fb99 iommu/fsl: Fix section mismatch' was intended to address the modpost warning and the potential crash. Crash which is actually easy to trigger with a 'unbind' followed by a 'bind' sequence. The fix is wrong as fsl_of_pamu_driver.driver gets added by bus_add_driver() to a couple of klist(s) which become invalid/corrupted as soon as the init sections are freed. Depending on when/how the init sections storage is reused various/random errors and crashes will happen 'cd70d46 iommu/fsl: Various cleanups' contains annotations that go further down the wrong path laid by '0f1fb99 iommu/fsl: Fix section mismatch' Now remove all the incorrect annotations from the above mentioned patches (not exactly a revert) and those previously existing in the code, This fixes the modpost warning(s), the unbind/bind sequence crashes and the random errors/crashes Fixes: 0f1fb99b62ce ("iommu/fsl: Fix section mismatch") Fixes: cd70d4659ff3 ("iommu/fsl: Various cleanups") Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Acked-by: Varun Sethi <Varun.Sethi@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Tested-by: Madalin Bucur <Madalin.Bucur@xxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f444f1f898d7c4bbe45d12ffe3f38349ff83ec4a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:19:44 2015 +1000 powerpc/cell: Drop support for 64K local store on 4K kernels Back in the olden days we added support for using 64K pages to map the SPU (Synergistic Processing Unit) local store on Cell, when the main kernel was using 4K pages. This was useful at the time because distros were using 4K pages, but using 64K pages on the SPUs could reduce TLB pressure there. However these days the number of Cell users is approaching zero, and supporting this option adds unpleasant complexity to the memory management code. So drop the option, CONFIG_SPU_FS_64K_LS, and all related code. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Jeremy Kerr <jk@xxxxxxxxxx> commit 74b5037baa2011a2799e2c43adde7d171b072f9e Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 16:19:43 2015 +1000 powerpc/mm: Fix pte_pagesize_index() crash on 4K w/64K hash The powerpc kernel can be built to have either a 4K PAGE_SIZE or a 64K PAGE_SIZE. However when built with a 4K PAGE_SIZE there is an additional config option which can be enabled, PPC_HAS_HASH_64K, which means the kernel also knows how to hash a 64K page even though the base PAGE_SIZE is 4K. This is used in one obscure configuration, to support 64K pages for SPU local store on the Cell processor when the rest of the kernel is using 4K pages. In this configuration, pte_pagesize_index() is defined to just pass through its arguments to get_slice_psize(). However pte_pagesize_index() is called for both user and kernel addresses, whereas get_slice_psize() only knows how to handle user addresses. This has been broken forever, however until recently it happened to work. That was because in get_slice_psize() the large kernel address would cause the right shift of the slice mask to return zero. However in commit 7aa0727f3302 ("powerpc/mm: Increase the slice range to 64TB"), the get_slice_psize() code was changed so that instead of a right shift we do an array lookup based on the address. When passed a kernel address this means we index way off the end of the slice array and return random junk. That is only fatal if we happen to hit something non-zero, but when we do return a non-zero value we confuse the MMU code and eventually cause a check stop. This fix is ugly, but simple. When we're called for a kernel address we return 4K, which is always correct in this configuration, otherwise we use the slice mask. Fixes: 7aa0727f3302 ("powerpc/mm: Increase the slice range to 64TB") Reported-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> commit cf27ec930be906e142c752f9161197d69ca534d7 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 11 16:48:32 2015 +0100 iommu/io-pgtable-arm: Unmap and free table when overwriting with block When installing a block mapping, we unconditionally overwrite a non-leaf PTE if we find one. However, this can cause a problem if the following sequence of events occur: (1) iommu_map called for a 4k (i.e. PAGE_SIZE) mapping at some address - We initialise the page table all the way down to a leaf entry - No TLB maintenance is required, because we're going from invalid to valid. (2) iommu_unmap is called on the mapping installed in (1) - We walk the page table to the final (leaf) entry and zero it - We only changed a valid leaf entry, so we invalidate leaf-only (3) iommu_map is called on the same address as (1), but this time for a 2MB (i.e. BLOCK_SIZE) mapping) - We walk the page table down to the penultimate level, where we find a table entry - We overwrite the table entry with a block mapping and return without any TLB maintenance and without freeing the memory used by the now-orphaned table. This last step can lead to a walk-cache caching the overwritten table entry, causing unexpected faults when the new mapping is accessed by a device. One way to fix this would be to collapse the page table when freeing the last page at a given level, but this would require expensive iteration on every map call. Instead, this patch detects the case when we are overwriting a table entry and explicitly unmaps the table first, which takes care of both freeing and TLB invalidation. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Brian Starkey <brian.starkey@xxxxxxx> Tested-by: Brian Starkey <brian.starkey@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5b9fb5e6c6c74666f88f34bd0db183b9c4269d97 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 7 10:25:41 2015 +0100 drm: atmel-hlcdc: add support for sama5d4 SoCs Describe capabilities of the HLCDC IP found on sama5d4 SoCs and add a new entry to the atmel_hlcdc_of_match table. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 6b22cadce2175c997435d93cd3ef9b0389c45ad7 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 7 10:12:41 2015 +0100 drm: atmel-hlcdc: add support for at91sam9n12 SoC Describe capabilities of the HLCDC IP found on at91sam9n12 SoC and add a new entry to the atmel_hlcdc_of_match table. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 348ef85f6216c1a11726a165a7f32b8516aa8014 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jan 7 09:30:20 2015 +0100 drm: atmel-hlcdc: add support for at91sam9x5 SoCs Describe capabilities of the HLCDC IP found on at91sam9x5 SoCs and add a new entry to the atmel_hlcdc_of_match table. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 923f869846014ac56937690a7cc968414a1e92d0 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Jan 6 11:18:09 2015 +0100 drm: atmel-hlcdc: add RGB565 and RGB444 output support The HLCDC IP supports RGB565 and RGB444 output formats. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit aa690a9edc5750bb5955b524dd7db842e36004eb Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 15:10:26 2015 +0200 drm: atmel-hlcdc: add the missing DRM_ATOMIC flag The atmel-hlcdc driver already supports atomic operations, add the missing DRM_ATOMIC flag to expose the atomic features to userspace. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit e14c71c849f838a4618fe46f5b6a0414c07891d1 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Apr 20 13:43:26 2015 +0200 drm: atmel-hlcdc: add PRIME support Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit a9c909ce8c7853b4fc16055c50eb50d91e20cb93 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Aug 17 12:22:52 2015 -0700 selftests/x86: Add syscall_nt selftest I've had this sitting around for a while. Add it to the selftests tree. Far Cry running under Wine depends on this behavior. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/ee4d63799a9e5294b70930618b71d04d2770eb2d.1439838962.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 33f3df41d03879ab86c7f2d650e67b655e0b85c8 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Aug 17 12:22:51 2015 -0700 selftests/x86: Disable sigreturn_64 sigreturn_64 was broken by ed596cde9425 ("Revert x86 sigcontext cleanups"). Turn it off until we have a better fix. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a184e75ff170a0bcd76bf376c41cad2c402fe9f7.1439838962.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5dd19249607474ed680f16b4f5e8477d2b68689 Merge: 6b7e265 512255a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Aug 18 09:39:47 2015 +0200 Merge branch 'x86/urgent' into x86/asm to fix up conflicts and to pick up fixes Conflicts: arch/x86/entry/entry_64_compat.S arch/x86/math-emu/get_address.c Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ecc7c518b3017821a6b26fb5fdaa548afa8ee236 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Aug 17 15:54:41 2015 +0300 iwlwifi: mvm: fix a race in D0i3 vs. Tx path When we enter D0i3, we must stop TXing otherwise the sequence number we use might conflict with the firmware's internal TX. In order to do so, we have IWL_MVM_STATUS_IN_D0I3 which should prevent any Tx while we enter D0i3. There is a bug in this code since we may Tx even if IWL_MVM_STATUS_IN_D0I3 is set. This can happen as long as mvm->d0i3_ap_sta_id is not set. To make sure that we don't have any packet in the Tx path while we set mvm->d0i3_ap_sta_id, call synchronize_net only after we already set mvm->d0i3_ap_sta_id. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b3df22475423a99cc1f6c4b202970fa89a4d9716 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Thu Aug 6 10:26:50 2015 +0300 iwlwifi: mvm: don't disconnect on beacon loss in D0I3 Currently if we wake up during D0I3 due to beacon loss we disconnect immediately. This behaviour causes redundant disconnection, which could be prevented by polling as it is usually done in mac80211. Instead, we prefer reporting beacon loss and let mac80211 try polling before disconnection. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e192cd121dbe009f67eddd5171d588994b15486c Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Fri Aug 14 02:35:32 2015 +0200 iwlwifi: out-of-bounds access in iwl_init_sband_channels KASan error report: ================================================================== BUG: KASan: out of bounds access in iwl_init_sband_channels+0x207/0x260 [iwlwifi] at addr ffff8800c2d0aac8 Read of size 4 by task modprobe/329 ================================================================== Both loops of this function compare data from the 'chan' array and then check if the index is valid. The 2 conditions should be inverted to avoid an out-of-bounds access. Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit da0fa5ebb254d1617455ace9af1ce2f1d375a95d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Aug 16 10:39:49 2015 +0300 iwlwifi: bump mvm firmware API to 16 The driver is now able to handle -16.ucode. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 783eaee6dbf475827b5fbdb13c17c54510aaa95e Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Tue Jul 28 16:50:51 2015 +0300 iwlwifi: rs: disable MIMO only if allowed in configuration Fix bug where MIMO is disabled for low latency TX on P2P VIF regardless of configuration. Make it dependent on IWL_MVM_RS_DISABLE_P2P_MIMO compilation option. Change configuration so that MIMO will be disabled only in SDIO platforms. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 74f4e0cc61080f63f28e8d519bdf437957e64217 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Aug 14 00:21:45 2015 +0200 bcma: switch GPIO portions to use GPIOLIB_IRQCHIP This switches the BCMA GPIO driver to use GPIOLIB_IRQCHIP to handle its interrupts instead of rolling its own copy of the irqdomain handling etc. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1165dd900cc8de3addbc8bef7e6196b07799d25e Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Date: Wed Aug 12 14:20:46 2015 +0800 ath9k: add correct MAC/BB name for ar9561 MAC/BB name is"????" if the MAC/BB is unknown. Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit fc645df093926d8cd33a9dd9b6532ff3fd937193 Author: Guy Mishol <guym@xxxxxx> Date: Tue Aug 11 10:02:57 2015 +0300 wl18xx: add diversity statistics Add diversity statistics and sync the driver statistics acx and debugfs representation with the current fw api. Signed-off-by: Guy Mishol <guym@xxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c48276cbbeaedd49cdf32f2b734b4a1ec6d6ccad Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Tue Aug 11 10:02:56 2015 +0300 wl18xx: update statistics acx and debugfs files Sync the driver statistics acx and debugfs representation with the current fw api. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f10746fef3dfa8546808989f71c3543db832f374 Author: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Date: Tue Aug 11 00:25:53 2015 +0200 rt2x00: adjust EEPROM_SIZE for rt2500usb rt2500usb_validate_eeprom() read data up to 0x6e (EEPROM_CALIBRATE_OFFSET) but only 0x6a bytes has been allocated and read from the eeprom. This lead to out-of-bound accesses and invalid values for EEPROM_BBPTUNE_R17 and EEPROM_CALIBRATE_OFFSET. Change the EEPROM_SIZE to 0x6e in order to retrieve all the fields. Tested with a rt2570 device. Signed-off-by: Adrien Schildknecht <adrien+dev@xxxxxxxxxxx> Acked-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bafc6e4cd897ef14015d8d32a04ee9bfa8d91370 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Mon Aug 10 12:05:39 2015 -0400 mwl8k: refactor some conditionals for clarity CC [M] drivers/net/wireless/mwl8k.o drivers/net/wireless/mwl8k.c: In function â??mwl8k_bss_info_changedâ??: drivers/net/wireless/mwl8k.c:3290:2: warning: â??ap_mcs_ratesâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] memcpy(cmd->mcs_set, mcs_rates, 16); ^ drivers/net/wireless/mwl8k.c:4987:5: note: â??ap_mcs_ratesâ?? was declared here u8 ap_mcs_rates[16]; ^ The warning was bogus. But the conditionals were rather complicated, with multiple redundant checks. This consolidates the checking and makes it more readable IMHO. Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9ff4b6de26a72f76450943548ee7d9d779eeaac5 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Tue Apr 7 03:13:00 2015 +0900 rtlwifi: rtl8192cu: Remove and replace routine in hw.c and mac.c I remove duplicated routines which related rtl92cu_set_hw_reg(). 1. rtl92c_set_qos() and HW_VAR_AC_PARAM routine are similar code. so i replace code with rtlpriv->cfg->ops->set_hw_reg(). 2. rtl92c_set_mac_addr() and 'HW_VAR_ETHER_ADDR' case at rtl92cu_set_hw_reg() routine are similar code. so i removed rtl92c_set_mac_addr() function. also it was not used anywhere. 3. remove HW_VAR_ACM_CTRL routine in rtl92cu_set_hw_reg(). if rtl_usb->acm_method is not EACMWAY2_SW, HW_VAR_ACM_CTRL is called from HW_VAR_AC_PARAM. but it never called. because acm_method is always EACMWAY2_SW. so i remove acm_method check routine and HW_VAR_ACM_CTRL routine. both usb and pci interface is not used HW_VAR_ACM_CTRL. but i can't test pci interface module, so i didn't modify pci code. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bf27cea49502799be15beab3567ea2bd9901ad2f Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Tue Mar 31 00:55:32 2015 +0900 rtlwifi: rtl8192cu: remove duplicated routine in hw.c and mac.c rtl92c_set_xxx_filter is same routine with rtl92cu_set_hw_reg. so i remove those functions that are rtl92c_set_xxx_filter. (rtl92c_get_xxx_filter is also same reason.) also i add code updating struct rtl_mac member variable in the rtl92cu_set_hw_reg. after that, no more _update_mac_setting is not useful. thus i remove that. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 15f6d96ded057b898312b0a088a964d585a779b1 Merge: 94e92a7 8f9c98d Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Aug 18 08:44:22 2015 +0300 Merge tag 'mac80211-next-for-davem-2015-08-14' mac80211-next.git iwlwifi needs new mac80211 patches so merge mac80211-next.git to wireless-drivers-next.git. commit 0b233dc7167884f95f08e796ac6a6767ae7d0d70 Merge: f376d4a 65d7ab8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 21:33:06 2015 -0700 Merge branch 'Identifier-Locator-Addressing' Tom Herbert says: ==================== net: Identifier Locator Addressing - Part I This patch set provides rudimentary support for Identifier Locator Addressing or ILA. The basic concept of ILA is that we split an IPv6 address into a 64 bit locator and 64 bit identifier. The identifier is the identity of an entity in communication ("who"), and the locator expresses the location of the entity ("where"). Applications use externally visible address that contains the identifier. When a packet is actually sent, a translation is done that overwrites the first 64 bits of the address with a locator. The packet can then be forwarded over the network to the host where the addressed entity is located. At the receiver, the reverse translation is done so the that the application sees the original, untranslated address. Presumably an external control plane will provide identifier->locator mappings. v2: - Fix compilation erros when LWT not configured - Consolidate ILA into a single ila.c v3: - Change pseudohdr argument od inet_proto_csum_replace functions to be a bool v4: - In ila_build_state check locator being in netlink params before allocating tunnel state The data path for ILA is a simple NAT translation that only operates on the upper 64 bits of a destination address in IPv6 packets. The basic process is: 1) Lookup 64 bit identifier (lower 64 bits of destination) 2) If a match is found a) Overwrite locator (upper 64 bits of destination) with the new locator b) Adjust any checksum that has destination address included in pseudo header 3) Send or receive packet ILA is a means to implement tunnels or network virtualization without encapsulation. Since there is no encapsulation involved, we assume that stateless support in the network for IPv6 (e.g. RSS, ECMP, TSO, etc.) just works. Also, since we're minimally changing the packet many of the worries about encapsulation (MTU, checksum, fragmentation) are not relevant. The downside is that, ILA is not extensible like other encapsulations (GUE for instance) so it might not be appropriate for all use cases. Also, this only makes sense to do in IPv6! A key aspect of ILA is performance. The intent is that ILA would be used in data centers in virtualizing tasks or jobs. In the fullest incarnation all intra data center communications might be targeted to virtual ILA addresses. This is basically adding a new virtualization capability to the existing services in a datacenter, so there is a strong expectation is that this does not degrade performance for existing applications. Performance seems to be dependent on how ILA is hooked into kernel. ILA can be implemented under some different models: - Mechanically it is a form a stateless DNAT - It can be thought of as a type of (source) routing - As a functional replacement of encapsulation In this patch set we hook into the data path using Light Weight Tunnels (LWT) infrastructure. As part of that, we add support in LWT to redirect dst input. iproute will be modified to take a new ila encap type. ILA can be configured like: ip route add 3333:0:0:1:5555:0:2:0/128 \ encap ila 2001:0:0:2 via 2401:db00:20:911a:face:0:27:0 ip -6 addr add 3333:0:0:1:5555:0:1:0/128 dev eth0 ip route add table local local 2001:0:0:1:5555:0:1:0/128 encap ila 3333:0:0:1 dev lo So sending to destination 3333:0:0:1:5555:0:2:0 will have destination of 2001:0:0:2:5555:0:2:0 on the wire. Performance results are below. With ILA we see about a 10% drop in pps compared to non-ILA. Much of this drop can be attributed to the loss of early demux on input (translation occurs after it is attempted). We will address this in the next patch set. Also, IPvlan input path does not work with ILA since the routing is bypassed-- this will be addressed in a future patch. Performance testing: Performing netperf TCP_RR with 200 clients: Non-ILA baseline 84.92% CPU utilization 1861922.9 tps 93/163/330 50/90/99% latencies ILA single destination 83.16% CPU utilization 1679683.4 tps 105/180/332 50/90/99% latencies References: Slides from netconf: http://vger.kernel.org/netconf2015Herbert-ILA.pdf Slides from presentation at IETF: https://www.ietf.org/proceedings/92/slides/slides-92-nvo3-1.pdf I-D: https://tools.ietf.org/html/draft-herbert-nvo3-ila-00 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65d7ab8de582bc668e3dabb6ff48f750098a6e78 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:42:27 2015 -0700 net: Identifier Locator Addressing module Adding new module name ila. This implements ILA translation. Light weight tunnel redirection is used to perform the translation in the data path. This is configured by the "ip -6 route" command using the "encap ila <locator>" option, where <locator> is the value to set in destination locator of the packet. e.g. ip -6 route add 3333:0:0:1:5555:0:1:0/128 \ encap ila 2001:0:0:1 via 2401:db00:20:911a:face:0:25:0 Sets a route where 3333:0:0:1 will be overwritten by 2001:0:0:1 on output. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abc5d1ff3e8f9b4a9d274818459b123e31981dc9 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:42:26 2015 -0700 net: Add inet_proto_csum_replace_by_diff utility function This function updates a checksum field value and skb->csum based on a value which is the difference between the old and new checksum. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b048d6d9d0b0b90e1e94f2393796bbf1fa8df4e Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:42:25 2015 -0700 net: Change pseudohdr argument of inet_proto_csum_replace* to be a bool inet_proto_csum_replace4,2,16 take a pseudohdr argument which indicates the checksum field carries a pseudo header. This argument should be a boolean instead of an int. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2536862311d2276454ddef9dc36d6551a4b400fd Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:42:24 2015 -0700 lwt: Add support to redirect dst.input This patch adds the capability to redirect dst input in the same way that dst output is redirected by LWT. Also, save the original dst.input and and dst.out when setting up lwtunnel redirection. These can be called by the client as a pass- through. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f376d4adfdd2d860aea3e99aa86e98324621ece7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 21:24:59 2015 -0700 enic: Fix sparse warning in vnic_devcmd_init(). >> drivers/net/ethernet/cisco/enic/vnic_dev.c:1095:13: sparse: incorrect type in assignment (different address spaces) drivers/net/ethernet/cisco/enic/vnic_dev.c:1095:13: expected void *res drivers/net/ethernet/cisco/enic/vnic_dev.c:1095:13: got void [noderef] <asn:2>* Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ecf842f65c76f7dc2420a5295dfbf01ec7232320 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 21:22:26 2015 -0700 mlx5e: Fix sparse warnings in mlx5e_handle_csum(). >> drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:173:44: sparse: incorrect type in argument 1 (different base types) drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:173:44: expected restricted __sum16 [usertype] n drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:173:44: got restricted __be16 [usertype] check_sum Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7f5408493aeb01532927b2276316797a03ed6ee Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 4 14:07:22 2015 -0500 inode: rename i_wb_list to i_io_list There's a small consistency problem between the inode and writeback naming. Writeback calls the "for IO" inode queues b_io and b_more_io, but the inode calls these the "writeback list" or i_wb_list. This makes it hard to an new "under writeback" list to the inode, or call it an "under IO" list on the bdi because either way we'll have writeback on IO and IO on writeback and it'll just be confusing. I'm getting confused just writing this! So, rename the inode "for IO" list variable to i_io_list so we can add a new "writeback list" in a subsequent patch. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Dave Chinner <dchinner@xxxxxxxxxx> commit 6c3af955935223217f23ef0ae672d3842418ec50 Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Mon Aug 17 15:24:10 2015 +0300 crypto: caam - add support for LS1021A LS1021A is a QorIQ SoC having little endian CAAM. There are a few differences b/w QorIQ and i.MX from CAAM perspective: 1. i.MX platforms are somewhat special wrt. 64-bit registers: -big endian format at 64-bit level: MSW at address+0 and LSW at address+4 -little endian format at 32-bit level (within MSW and LSW) and thus need special handling. 2. No CCM (clock controller module) for QorIQ. No CAAM clocks to enable / disable. A new Kconfig option - CRYPTO_DEV_FSL_CAAM_LE - is added to indicate CAAM is little endian (*). It is hidden from the user (to avoid misconfiguration); when adding support for a new platform with LE CAAM, either the Kconfig needs to be updated or the corresponding defconfig needs to indicate that CAAM is LE. (*) Using a DT property to provide CAAM endianness would not allow for the ifdeffery. In order to keep changes to a minimum, the following changes are postponed: -endianness fix of the last word in the S/G (rsvd2, bpid, offset), fields are always 0 anyway; -S/G format fix for i.MX7 (yes, i.MX7 support was not added yet, but still...) Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c1ae632ad2608d0214291a64ca719f900ffef14b Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 14 07:24:23 2015 -0700 crypto: qat - Don't move data inside output buffer Change memcpy to memmove because the copy is done within the same buffer. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3c5f0ed78e976be705218cad62acf6a68e9d121e Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 10:14:16 2015 -0300 crypto: vmx - Fixing GHASH Key issue on little endian GHASH table algorithm is using a big endian key. In little endian machines key will be LE ordered. After a lxvd2x instruction key is loaded as it is, LE/BE order, in first case it'll generate a wrong table resulting in wrong hashes from the algorithm. Bug affects only LE machines. In order to fix it we do a swap for loaded key. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Leonidas S Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1d4aa0b4c1816e8ca92a6aadb0d8f6b43c56c0d0 Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 10:12:22 2015 -0300 crypto: vmx - Fixing AES-CTR counter bug AES-CTR is using a counter 8bytes-8bytes what miss match with kernel specs. In the previous code a vadduwm was done to increment counter. Replacing this for a vadduqm now considering both cases counter 8-8 bytes and full 16bytes. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Leonidas S Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4524cd093fa8f03b198e095ebbb679c30839559c Author: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Date: Fri Jul 10 17:11:01 2015 +0800 powerpc/t1023rdb/dts: set ifc nand chip select from 2 to 1 IFC NAND chip select is wrongly mapped to 2 in reg property of NAND node. Due to this kernel is not able probe NAND flash. Set chip select to 1 in reg property. Signed-off-by: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 163e60c169752b2e817735d28d3bd2d73cd268f3 Author: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Date: Fri Aug 14 11:12:10 2015 +0800 powerpc/mpc85xx:Add SCFG device tree support of T104x Signed-off-by: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit c8254e27fd34cdd21febd5b1caca409117914332 Author: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Date: Fri Aug 14 11:12:09 2015 +0800 powerpc/85xx: Add binding for SCFG SCFG provides SoC specific configuration and status registers for the chip. Add this for powerpc platform. Signed-off-by: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 0d748ec5eaedfa0802e02df6b5912d32c752f88e Author: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Date: Thu Jul 30 10:33:55 2015 +0530 powerpc/fsl-booke: Add T1040D4RDB/T1042D4RDB board support T1040D4RDB/T1042D4RDB are Freescale Reference Design Board which can support T1040/T1042 QorIQ Power Architectureâ?¢ processor respectively T1040D4RDB/T1042D4RDB board Overview ------------------------------------- - SERDES Connections, 8 lanes supporting: - PCI - SGMII - SATA 2.0 - QSGMII(only for T1040D4RDB) - DDR Controller - Supports rates of up to 1600 MHz data-rate - Supports one DDR4 UDIMM -IFC/Local Bus - NAND flash: 1GB 8-bit NAND flash - NOR: 128MB 16-bit NOR Flash - Ethernet - Two on-board RGMII 10/100/1G ethernet ports. - PHY #0 remains powered up during deep-sleep - CPLD - Clocks - System and DDR clock (SYSCLK, â??DDRCLKâ??) - SERDES clocks - Power Supplies - USB - Supports two USB 2.0 ports with integrated PHYs - Two type A ports with 5V@xxxx per port. - SDHC - SDHC/SDXC connector - SPI - On-board 64MB SPI flash - I2C - Devices connected: EEPROM, thermal monitor, VID controller - Other IO - Two Serial ports - ProfiBus port Add support for T1040/T1042D4RDB board: -add device tree -Add entry in corenet_generic.c Signed-off-by: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 32d3c4ff01e0c765594b7dd8f5c539e9dca92223 Author: Hou Zhiqiang <B48286@xxxxxxxxxxxxx> Date: Mon Aug 10 17:39:45 2015 +0800 powerpc/85xx: Remove unused pci fixup hooks on c293pcie The c293pcie board is an endpoint device and it doesn't need PM, so remove hooks pcibios_fixup_phb and pcibios_fixup_bus. Signed-off-by: Hou Zhiqiang <B48286@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 69399ee9cbcb00bbdd9ff6fafafde23ef404d40f Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Aug 13 19:51:36 2015 +0800 powerpc/e6500: hw tablewalk: optimize a bit for tcd lock acquiring codes It makes no sense to put the instructions for calculating the lock value (cpu number + 1) and the clearing of eq bit of cr1 in lbarx/stbcx loop. And when the lock is acquired by the other thread, the current lock value has no chance to equal with the lock value used by current cpu. So we can skip the comparing for these two lock values in the lbz/bne loop. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit e5e55cc08c76134e38526a66b3bd30b1b71bbf63 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Aug 13 19:51:35 2015 +0800 powerpc/e6500: remove the stale TCD_LOCK macro Since we moved the "lock" to be the first element of struct tlb_core_data in commit 82d86de25b9c ("powerpc/e6500: Make TLB lock recursive"), this macro is not used by any code. Just delete it. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit e8c4b3dfe17a7e83ea134d6a857f9a3e8e71357f Author: Jason Jin <Jason.Jin@xxxxxxxxxxxxx> Date: Mon Aug 17 15:50:57 2015 +0800 powerpc: Add a vga alias node for P1022 In u-boot, when set the video as console, the name 'vga' is used as a general name for the video device, during the fdt_fixup_stdout process, the 'vga' name is used to search in the dtb to setup the 'linux,stdout-path' node. Though the P1022 DIU is not VGA-compatible device, to meet the 'vga' name used in u-boot, the vga alias node is added for P1022 in this patch. At the same time, a display alias is also added so that no other components grow dependencies on the vga alias node. Signed-off-by: Jason Jin <Jason.Jin@xxxxxxxxxxxxx> Signed-off-by: Wang Dongsheng <dongsheng.wang@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 228b687d9e20f367e4d5ea8723e3abbf0892db61 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 07:21:43 2015 -0700 hwmon: (ltc2978) Add support for LTC3886 LTC3886 is a is a dual PolyPhase DC/DC synchronous step-down switching regulator controller. It is mostly command compatible to LTC3883, but supports two phases instead of one. Suggested-by: Michael Jones <mike@xxxxxxxxxxxxx> Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 52aae6af71e0e78e25c64e13266917bb323984d5 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 06:38:01 2015 -0700 hwmon: (ltc2978) Add support for LTC2980 and LTM2987 LTC2980 and LTM2987 are command compatible to LTC2977. They consist of two LTC2977 on a single die, and are instantiated as two separate chips, each supporting eight channels. Suggested-by: Michael Jones <mike@xxxxxxxxxxxxx> Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit acb092cdf9a285fd4706bc6ffd5f99840d53bba5 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 06:27:56 2015 -0700 hwmon: (ltc2978) Add missing chip IDs for LTC2978 and LTC3882 Add additional chip ID for an older revision of LTC2978, as well as two chip IDs for LTC3882. Turns out the LTC3882 does support the LTC2978_MFR_SPECIAL_ID register, and reading it returns its chip ID, but the register is undocumented. Suggested-by: Michael Jones <mike@xxxxxxxxxxxxx> Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 00c83371911836c47654e1de5b4706a0e578922a Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 06:21:01 2015 -0700 hwmon: (ltc2978) Use correct ID mask to detect all chips Per information from Linear Technologies, the ID mask is 12 bit for all chips of this series. Use this mask to detect chips to ensure that all chip revisions are detected. Suggested-by: Michael Jones <mike@xxxxxxxxxxxxx> Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 5e8018fc61423e677398d4ad4d72df70b9788e77 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Aug 14 16:03:40 2015 +0200 netfilter: nf_conntrack: add efficient mark to zone mapping This work adds the possibility of deriving the zone id from the skb->mark field in a scalable manner. This allows for having only a single template serving hundreds/thousands of different zones, for example, instead of the need to have one match for each zone as an extra CT jump target. Note that we'd need to have this information attached to the template as at the time when we're trying to lookup a possible ct object, we already need to know zone information for a possible match when going into __nf_conntrack_find_get(). This work provides a minimal implementation for a possible mapping. In order to not add/expose an extra ct->status bit, the zone structure has been extended to carry a flag for deriving the mark. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit deedb59039f111c41aa5a54ee384c8e7c08bc78a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Aug 14 16:03:39 2015 +0200 netfilter: nf_conntrack: add direction support for zones This work adds a direction parameter to netfilter zones, so identity separation can be performed only in original/reply or both directions (default). This basically opens up the possibility of doing NAT with conflicting IP address/port tuples from multiple, isolated tenants on a host (e.g. from a netns) without requiring each tenant to NAT twice resp. to use its own dedicated IP address to SNAT to, meaning overlapping tuples can be made unique with the zone identifier in original direction, where the NAT engine will then allocate a unique tuple in the commonly shared default zone for the reply direction. In some restricted, local DNAT cases, also port redirection could be used for making the reply traffic unique w/o requiring SNAT. The consensus we've reached and discussed at NFWS and since the initial implementation [1] was to directly integrate the direction meta data into the existing zones infrastructure, as opposed to the ct->mark approach we proposed initially. As we pass the nf_conntrack_zone object directly around, we don't have to touch all call-sites, but only those, that contain equality checks of zones. Thus, based on the current direction (original or reply), we either return the actual id, or the default NF_CT_DEFAULT_ZONE_ID. CT expectations are direction-agnostic entities when expectations are being compared among themselves, so we can only use the identifier in this case. Note that zone identifiers can not be included into the hash mix anymore as they don't contain a "stable" value that would be equal for both directions at all times, f.e. if only zone->id would unconditionally be xor'ed into the table slot hash, then replies won't find the corresponding conntracking entry anymore. If no particular direction is specified when configuring zones, the behaviour is exactly as we expect currently (both directions). Support has been added for the CT netlink interface as well as the x_tables raw CT target, which both already offer existing interfaces to user space for the configuration of zones. Below a minimal, simplified collision example (script in [2]) with netperf sessions: +--- tenant-1 ---+ mark := 1 | netperf |--+ +----------------+ | CT zone := mark [ORIGINAL] [ip,sport] := X +--------------+ +--- gateway ---+ | mark routing |--| SNAT |-- ... + +--------------+ +---------------+ | +--- tenant-2 ---+ | ~~~|~~~ | netperf |--+ +-----------+ | +----------------+ mark := 2 | netserver |------ ... + [ip,sport] := X +-----------+ [ip,port] := Y On the gateway netns, example: iptables -t raw -A PREROUTING -j CT --zone mark --zone-dir ORIGINAL iptables -t nat -A POSTROUTING -o <dev> -j SNAT --to-source <ip> --random-fully iptables -t mangle -A PREROUTING -m conntrack --ctdir ORIGINAL -j CONNMARK --save-mark iptables -t mangle -A POSTROUTING -m conntrack --ctdir REPLY -j CONNMARK --restore-mark conntrack dump from gateway netns: netperf -H 10.1.1.2 -t TCP_STREAM -l60 -p12865,5555 from each tenant netns tcp 6 431995 ESTABLISHED src=40.1.1.1 dst=10.1.1.2 sport=5555 dport=12865 zone-orig=1 src=10.1.1.2 dst=10.1.1.1 sport=12865 dport=1024 [ASSURED] mark=1 secctx=system_u:object_r:unlabeled_t:s0 use=1 tcp 6 431994 ESTABLISHED src=40.1.1.1 dst=10.1.1.2 sport=5555 dport=12865 zone-orig=2 src=10.1.1.2 dst=10.1.1.1 sport=12865 dport=5555 [ASSURED] mark=2 secctx=system_u:object_r:unlabeled_t:s0 use=1 tcp 6 299 ESTABLISHED src=40.1.1.1 dst=10.1.1.2 sport=39438 dport=33768 zone-orig=1 src=10.1.1.2 dst=10.1.1.1 sport=33768 dport=39438 [ASSURED] mark=1 secctx=system_u:object_r:unlabeled_t:s0 use=1 tcp 6 300 ESTABLISHED src=40.1.1.1 dst=10.1.1.2 sport=32889 dport=40206 zone-orig=2 src=10.1.1.2 dst=10.1.1.1 sport=40206 dport=32889 [ASSURED] mark=2 secctx=system_u:object_r:unlabeled_t:s0 use=2 Taking this further, test script in [2] creates 200 tenants and runs original-tuple colliding netperf sessions each. A conntrack -L dump in the gateway netns also confirms 200 overlapping entries, all in ESTABLISHED state as expected. I also did run various other tests with some permutations of the script, to mention some: SNAT in random/random-fully/persistent mode, no zones (no overlaps), static zones (original, reply, both directions), etc. [1] http://thread.gmane.org/gmane.comp.security.firewalls.netfilter.devel/57412/ [2] https://paste.fedoraproject.org/242835/65657871/ Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2af0a709134f842b67151d6b97d512184fcc4ad6 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Mon Aug 17 16:00:21 2015 +0200 Bluetooth: hci_bcm: Use non-sleep version of gpio_set_value We should not sleep while holding a spinlock. bcm_gpio_set_power is called while holding the bcm_device_list lock. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dc028da54ed353edd44dca88b7eb19fd5126c354 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 17:13:27 2015 -0600 inet: Move VRF table lookup to inlined function Table lookup compiles out when VRF is not enabled. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 808d28c468a89e8680396d98aea96024b6f5afdc Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 10:26:49 2015 -0600 net: Fix docbook warning for IFF_VRF_MASTER enum kbuild test robot reported: tree: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master head: d52736e24fe2e927c26817256f8d1a3c8b5d51a0 commit: 4e3c89920cd3a6cfce22c6f537690747c26128dd [751/762] net: Introduce VRF related flags and helpers reproduce: make htmldocs >> Warning(include/linux/netdevice.h:1293): Enum value 'IFF_VRF_MASTER' not described in enum 'netdev_priv_flags' Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f52bdcf6ba1bd81597b1505a222430676548b3a Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 07:49:20 2015 -0600 net: Updates to netif_index_is_vrf As Eric noted netif_index_is_vrf is not called with rcu_read_lock held, so wrap the dev_get_by_index_rcu in rcu_read_lock and unlock. If VRF is not enabled or oif is 0 skip the device lookup. In both cases index cannot be the VRF master. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9cd3778cd7e8f165675705511cfcd4ea6eb88d27 Merge: 0aa65cc bbceefc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 15:51:36 2015 -0700 Merge branch 'mlx5e-next' Achiad Shochat says: ==================== Driver updates 16-Aug-2015 This patchset contains bug fixes, new RSS and pause parameters ethtool options, and support for RX CHECKSUM_COMPLETE. Patchset was applied and tested over commit adc6310 ("Merge branch 'mv88e6xxx-switchdev-fdb'"). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bbceefce9adfc9cf7b4110727c96c841ba8c7964 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:52 2015 +0300 net/mlx5e: Support RX CHECKSUM_COMPLETE Only for packets with first ethertype set to IPv4/6 for now. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c2d18ef22df1bdccfb11a5b85b29e4e61b9d9c6 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:51 2015 +0300 net/mlx5e: Support ethtool get/set_pauseparam Only rx/tx pause settings. Autoneg setting is currently not supported. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6fa1bcab6be6e9bd93f80e345c7e9a4ec7861df9 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:50 2015 +0300 net/mlx5e: Ethtool link speed setting fixes - Port speed settings are applied by the device only upon port admin status transition from DOWN to UP. So we enforce this transition regardless of the port's current operation state (which may be occasionally DOWN if for example the network cable is disconnected). - Fix the PORT_UP/DOWN device interface enum - Set the local_port bit in the device PAOS register - EXPORT the PAOS (Port Administrative and Operational Status) register set/query access functions. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9a40271cfe625950dc4ef0cbd8429c0d28e62d1 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:49 2015 +0300 net/mlx5e: HW LRO changes/fixes - Change the maximum LRO session size from 16KB to 64KB - Reduce the LRO session timeout from 512us to 32us in order to reduce the TCP latency of non-LRO'ed flows. - Fix skb_shinfo(skb)->gso_size and set skb_shinfo(skb)->gso_type. - Fix a bug accessing un-initialized mdev pointer. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e842b1001dc9b90cc62b489b07ff18e123c8c858 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:48 2015 +0300 net/mlx5e: Support smaller RX/TX ring sizes We un-intentionally limited the minimum rings size too much. TX minimum ring size reduced from 128 to 64. RX minimum ring size reduced from 128 to 2. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d75b2bc8a8c0ce5567a6ecef52e194d117efe3f Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:47 2015 +0300 net/mlx5e: Add ethtool RSS configuration options - get_rxfh_key_size - get_rxfh_indir_size - get/set_rxfh indirection table and RSS Toeplitz hash key - get_rxnfc Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 936896e9080b84b0e8b9b23e84fb734e91f5ba6d Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:46 2015 +0300 net/mlx5e: Make RSS indirection table size a constant The indirection table size was defined by a variable that was actually assigned a constant value. Since we do not have any forseen intension to make it configurable we simply made it a constant. We also limit the number of channels such that the RSS indirection table could always populate all RX rings. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57afead5445de85658e3fa3811ef0cdbf5ed73bf Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Sun Aug 16 16:04:45 2015 +0300 net/mlx5e: Have a single RSS Toeplitz hash key No need to generate a unique key per TIR. Generating a single key per netdev and copying it to all its TIRs. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0aa65cc0c2ca7e3908b1e4ae7946d909a4882249 Merge: 863960b c0015bf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 15:41:21 2015 -0700 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-08-16 Here's what's likely the last bluetooth-next pull request for 4.3: - 6lowpan/802.15.4 refactoring, cleanups & fixes - Document 6lowpan netdev usage in Documentation/networking/6lowpan.txt - Support for UART based QCA Bluetooth controllers - Power management support for Broeadcom Bluetooth controllers - Change LE connection initiation to always use passive scanning first - Support for new Silicon Wave USB ID Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e97fedb9ef9868ff24d588be781906cf7c1b59ae Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 4 13:40:00 2015 -0500 sync: serialise per-superblock sync operations When competing sync(2) calls walk the same filesystem, they need to walk the list of inodes on the superblock to find all the inodes that we need to wait for IO completion on. However, when multiple wait_sb_inodes() calls do this at the same time, they contend on the the inode_sb_list_lock and the contention causes system wide slowdowns. In effect, concurrent sync(2) calls can take longer and burn more CPU than if they were serialised. Stop the worst of the contention by adding a per-sb mutex to wrap around wait_sb_inodes() so that we only execute one sync(2) IO completion walk per superblock superblock at a time and hence avoid contention being triggered by concurrent sync(2) calls. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Dave Chinner <dchinner@xxxxxxxxxx> commit 74278da9f70d84d715601fe794567a6d2bfdf078 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 4 12:37:22 2015 -0500 inode: convert inode_sb_list_lock to per-sb The process of reducing contention on per-superblock inode lists starts with moving the locking to match the per-superblock inode list. This takes the global lock out of the picture and reduces the contention problems to within a single filesystem. This doesn't get rid of contention as the locks still have global CPU scope, but it does isolate operations on different superblocks form each other. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Dave Chinner <dchinner@xxxxxxxxxx> commit cbedaac63481dea52327127a9f1c60f092bd6b07 Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Mar 12 08:19:11 2015 -0400 inode: add hlist_fake to avoid the inode hash lock in evict Some filesystems don't use the VFS inode hash and fake the fact they are hashed so that all the writeback code works correctly. However, this means the evict() path still tries to remove the inode from the hash, meaning that the inode_hash_lock() needs to be taken unnecessarily. Hence under certain workloads the inode_hash_lock can be contended even if the inode is never actually hashed. To avoid this add hlist_fake to test if the inode isn't actually hashed to avoid taking the hash lock on inodes that have never been hashed. Based on Dave Chinner's inode: add IOP_NOTHASHED to avoid inode hash lock in evict basd on Al's suggestions. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Dave Chinner <dchinner@xxxxxxxxxx> commit d353d7587d02116b9732d5c06615aed75a4d3a47 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Mar 4 11:16:36 2015 -0500 writeback: plug writeback at a high level Doing writeback on lots of little files causes terrible IOPS storms because of the per-mapping writeback plugging we do. This essentially causes imeediate dispatch of IO for each mapping, regardless of the context in which writeback is occurring. IOWs, running a concurrent write-lots-of-small 4k files using fsmark on XFS results in a huge number of IOPS being issued for data writes. Metadata writes are sorted and plugged at a high level by XFS, so aggregate nicely into large IOs. However, data writeback IOs are dispatched in individual 4k IOs, even when the blocks of two consecutively written files are adjacent. Test VM: 8p, 8GB RAM, 4xSSD in RAID0, 100TB sparse XFS filesystem, metadata CRCs enabled. Kernel: 3.10-rc5 + xfsdev + my 3.11 xfs queue (~70 patches) Test: $ ./fs_mark -D 10000 -S0 -n 10000 -s 4096 -L 120 -d /mnt/scratch/0 -d /mnt/scratch/1 -d /mnt/scratch/2 -d /mnt/scratch/3 -d /mnt/scratch/4 -d /mnt/scratch/5 -d /mnt/scratch/6 -d /mnt/scratch/7 Result: wall sys create rate Physical write IO time CPU (avg files/s) IOPS Bandwidth ----- ----- ------------ ------ --------- unpatched 6m56s 15m47s 24,000+/-500 26,000 130MB/s patched 5m06s 13m28s 32,800+/-600 1,500 180MB/s improvement -26.44% -14.68% +36.67% -94.23% +38.46% If I use zero length files, this workload at about 500 IOPS, so plugging drops the data IOs from roughly 25,500/s to 1000/s. 3 lines of code, 35% better throughput for 15% less CPU. The benefits of plugging at this layer are likely to be higher for spinning media as the IO patterns for this workload are going make a much bigger difference on high IO latency devices..... Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Josef Bacik <jbacik@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Tested-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 863960b4c5c564819b153d53cffdf3f68283eaa2 Merge: 2ea273d 373fb08 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 15:25:30 2015 -0700 Merge branch 'enic-devcmd2' Govindarajulu Varadarajan says: ==================== enic: add devcmd2 This series adds new devcmd2 support. The first two patches are code refactoring. devcmd is an interface for driver to communicate with fw/adaptor. It involves writing data to hardware registers and waiting for the result. This mechanism does not scale well. The queuing of "no wait" devcmds is done in firmware memory rather than on the host. Firmware memory is a rather more scarce and valuable resource than host memory. A devcmd storm from one vf can disrupt the service on other pf/vf. The lack of flow control allows for possible denial of server from one VM to another. Devcmd2 uses work queue to post the devcmds, just like tx work queue. This allows better flow control. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 373fb0873d4325a7afa04aec29ced0c122d1f8a9 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Sun Aug 16 01:44:54 2015 +0530 enic: add devcmd2 devcmd is an interface for driver to communicate with fw/adaptor. It involves writing data to hardware registers and waiting for the result. This mechanism does not scale well. The queuing of "no wait" devcmds is done in firmware memory rather than on the host. Firmware memory is a rather more scarce and valuable resource than host memory. A devcmd storm from one vf can disrupt the service on other pf/vf. The lack of flow control allows for possible denial of server from one VM to another. Devcmd2 uses work queue to post the devcmds, just like tx work queue. This allows better flow control. Initialize devcmd2, if fails we fall back to devcmd1. Also change the driver version. Signed-off-by: N V V Satyanarayana Reddy <nalreddy@xxxxxxxxx> Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fda3f52bdbbe576d78ca9ea84912b48fa51f0e90 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Sun Aug 16 01:44:53 2015 +0530 enic: add devcmd2 resources Add devcmd resources to vnic_res_type. Add data types used by devcmd. Signed-off-by: N V V Satyanarayana Reddy <nalreddy@xxxxxxxxx> Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a3c2f838c69406688ed0dbae473c3a08eeb5519 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Sun Aug 16 01:44:52 2015 +0530 enic: use netdev_<foo> or dev_<foo> instead of pr_<foo> pr_info does not give any details about the interface involved. This patch uses netdev_info for printing the message. Use dev_info where netdev is not ready. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b89f3a19de05992a70f727072b65f3ea1397075 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Sun Aug 16 01:44:51 2015 +0530 enic: move struct definition from .c to .h file Some of the structure definitions are in .c file to make them private to that file. This patch moves the struct definition to .h file, So that their definitions are accessible from other files. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e94d6c4ab69562423fdc18801050a84462c2787 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 16:55:18 2015 -0500 NFS: Don't fsync twice for O_SYNC/IS_SYNC files generic_file_write_iter() will already do an fsync on our behalf if the file descriptor is O_SYNC or the file is marked as IS_SYNC. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e824410ffcf4b245296b56c6fdf7b9797fce8c3e Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Wed Aug 12 16:17:54 2015 -0600 NVMe: Set queue max segments This sets the queue's max segment size to match the device's capabilities. The default of 128 is usable until a device's transfer capability exceeds 512k, assuming a device page size of 4k. Many nvme devices exceed that transfer limit, so this lets the block layer know what kind of commands it to allow to form rather than unnecessarily split them. One additional segment is added to account for a transfer that may start in the middle of a page. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2ea273d76a4869c097c6b1a1070162add2f66a6e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 14:37:06 2015 -0700 net: Export bpf_prog_create_from_user(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec120da6f0fe59f175c2a8faa0a7700280c39644 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 22:43:38 2015 +0100 ipv6: trivial whitespace fix Change brace placement to be in line with coding standards Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4a3e90ba5739cfd761b6befadae9728bd3641ed Author: Phil Sutter <phil@xxxxxx> Date: Sat Aug 15 00:37:15 2015 +0200 rhashtable-test: extend to test concurrency After having tested insertion, lookup, table walk and removal, spawn a number of threads running operations on the same rhashtable. Each of them will: 1) insert it's own set of objects, 2) lookup every successfully inserted object and finally 3) remove objects in several rounds until all of them have been removed, making sure the remaining ones are still found after each round. This should put a good amount of load onto the system and due to synchronising thread startup via two semaphores also extensive concurrent table access. The default number of ten threads returned within half a second on my local VM with two cores. Running 200 threads took about four seconds. If slow systems suffer too much from this though, the default could be lowered or even set to zero so this extended test does not run at all by default. Signed-off-by: Phil Sutter <phil@xxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1f066d4ee0bde4bb0ff4ac295218b631729e0de Merge: 2bd736f 53cf037 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 14:31:42 2015 -0700 Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge Antonio Quartulli says: ==================== Included changes: - avoid integer overflow in GW selection routine - prevent race condition by making capability bit changes atomic (use clear/set/test_bit) - fix synchronization issue in mcast tvlv handler - fix crash on double list removal of TT Request objects - fix leak by puring packets enqueued for sending upon iface removal - ensure network header pointer is set in skb ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2bd736fa0d8a1da90e6ccaa6a79e56a8d2ae60c4 Merge: 90eb7fa 8f9c98d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 14:25:04 2015 -0700 Merge tag 'mac80211-next-for-davem-2015-08-14' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== Another pull request for the next cycle, this time with quite a bit of content: * mesh fixes/improvements from Alexis, Bob, Chun-Yeow and Jesse * TDLS higher bandwidth support (Arik) * OCB fixes from Bertold Van den Bergh * suspend/resume fixes from Eliad * dynamic SMPS support for minstrel-HT (Krishna Chaitanya) * VHT bitrate mask support (Lorenzo Bianconi) * better regulatory support for 5/10 MHz channels (Matthias May) * basic support for MU-MIMO to avoid the multi-vif issue (Sara Sharon) along with a number of other cleanups. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18df8a87badac0ab05679df9bd44b5033e30d97c Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Aug 18 04:50:36 2015 +0800 dlm: sctp_accept_from_sock() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 90eb7fa51ccb9af58c437581af73c4a1d5fd2b9f Merge: a1c234f 30da679 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 14:22:48 2015 -0700 Merge branch 'bpf_fanout' Willem de Bruijn says: ==================== packet: add cBPF and eBPF fanout modes Allow programmable fanout modes. Support both classical BPF programs passed directly and extended BPF programs passed by file descriptor. One use case is packet steering by deep packet inspection, for instance for packet steering by application layer header fields. Separate the configuration of the fanout mode and the configuration of the program, to allow dynamic updates to the latter at runtime. Changes v1 -> v2: - follow SO_LOCK_FILTER semantics on filter updates - only accept eBPF programs of type BPF_PROG_TYPE_SOCKET_FILTER - rename PACKET_FANOUT_BPF to PACKET_FANOUT_CBPF to match man 2 bpf usage: "classic" vs. "extended" BPF. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30da679e679dbe7bb103c5d9c137ec5a070b7150 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Fri Aug 14 22:31:37 2015 -0400 selftests/net: test extended BPF fanout mode Test PACKET_FANOUT_EBPF by inserting a program into the the kernel with bpf(), then attaching it to the fanout group. Observe the same payload-based distribution as in the PACKET_FANOUT_CBPF test. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95e22792fa5460e579a69171777ff79d8725be29 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Fri Aug 14 22:31:36 2015 -0400 selftests/net: test classic bpf fanout mode Test PACKET_FANOUT_CBPF by inserting a cBPF program that selects a socket by payload. Requires modifying the test program to send packets with multiple payloads. Also fix a bug in testing the return value of mmap() Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2e520956a1ab636698f8160194c9b8ac0989aab Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Fri Aug 14 22:31:35 2015 -0400 packet: add extended BPF fanout mode Add fanout mode PACKET_FANOUT_EBPF that accepts an en extended BPF program to select a socket. Update the internal eBPF program by passing to socket option SOL_PACKET/PACKET_FANOUT_DATA a file descriptor returned by bpf(). Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47dceb8ecdc1c3ad1818dfea3d659a05b74c3fc2 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Fri Aug 14 22:31:34 2015 -0400 packet: add classic BPF fanout mode Add fanout mode PACKET_FANOUT_CBPF that accepts a classic BPF program to select a socket. This avoids having to keep adding special case fanout modes. One example use case is application layer load balancing. The QUIC protocol, for instance, encodes a connection ID in UDP payload. Also add socket option SOL_PACKET/PACKET_FANOUT_DATA that updates data associated with the socket group. Fanout mode PACKET_FANOUT_CBPF is the only user so far. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00dcffaebf7b4ab0524c56694c22de6b0eb22feb Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:25 2015 -0300 dlm: fix reconnecting but not sending data There are cases on which lowcomms_connect_sock() is called directly, which caused the CF_WRITE_PENDING flag to not bet set upon reconnect, specially on send_to_sock() error handling. On this last, the flag was already cleared and no further attempt on transmitting would be done. As dlm tends to connect when it needs to transmit something, it makes sense to always mark this flag right after the connect. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit acee4e527d5f069351f835602b23602d01de5e1f Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:24 2015 -0300 dlm: replace BUG_ON with a less severe handling BUG_ON() is a severe action for this case, specially now that DLM with SCTP will use 1 socket per association. Instead, we can just close the socket on this error condition and return from the function. Also move the check to an earlier stage as it won't change and thus we can abort as soon as possible. Although this issue was reported when still using SCTP with 1-to-many API, this cleanup wouldn't be that simple back then because we couldn't close the socket and making sure such event would cease would be hard. And actually, previous code was closing the association, yet SCTP layer is still raising the new data event. Probably a bug to be fixed in SCTP. Reported-by: <tan.hu@xxxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit ee44b4bc054afc586c92558a225055ef9fd25d17 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:23 2015 -0300 dlm: use sctp 1-to-1 API DLM is using 1-to-many API but in a 1-to-1 fashion. That is, it's not needed but this causes it to use sctp_do_peeloff() to mimic an kernel_accept() and this causes a symbol dependency on sctp module. By switching it to 1-to-1 API we can avoid this dependency and also reduce quite a lot of SCTP-specific code in lowcomms.c. The caveat is that now DLM won't always use the same src port. It will choose a random one, just like TCP code. This allows the peers to attempt simultaneous connections, which now are handled just like for TCP. Even more sharing between TCP and SCTP code on DLM is possible, but it is intentionally left for a later commit. Note that for using nodes with this commit, you have to have at least the early fixes on this patchset otherwise it will trigger some issues on old nodes. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 356344c4c36dc960f90a3457dd67fe2efcf92417 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:22 2015 -0300 dlm: fix not reconnecting on connecting error handling If we don't clear that bit, lowcomms_connect_sock() will not schedule another attempt, and no further attempt will be done. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 0d737a8cfd8341d6ba8215443a3ddfe5ddd4e51a Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:21 2015 -0300 dlm: fix race while closing connections When a connection have issues DLM may need to close it. Therefore we should also cancel pending workqueues for such connection at that time, and not just when dlm is not willing to use this connection anymore. Also, if we don't clear CF_CONNECT_PENDING flag, the error handling routines won't be able to re-connect as lowcomms_connect_sock() will check for it. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 28926a0965a943f7c1586342f9482a6e41b4f0c9 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Tue Aug 11 19:22:20 2015 -0300 dlm: fix connection stealing if using SCTP When using SCTP and accepting a new connection, DLM currently validates if the peer trying to connect to it is one of the cluster nodes, but it doesn't check if it already has a connection to it or not. If it already had a connection, it will be overwritten, and the new one will be used for writes, possibly causing the node to leave the cluster due to communication breakage. Still, one could DoS the node by attempting N connections and keeping them open. As said, but being explicit, both situations are only triggerable from other cluster nodes, but are doable with only user-level perms. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 75e3b37d059856a972a5bf2bdfeac0f0f2db9ea3 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Tue Aug 11 16:40:43 2015 -0400 hrtimer: Drop return code of hrtimer_switch_to_hres() It's not checked by the caller. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150811164043.538241ef@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a1c234f95cae2d293047bb6c36e7a4840dbac815 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Fri Aug 14 16:40:40 2015 +0200 lwtunnel: rename ip lwtunnel attributes We already have IFLA_IPTUN_ netlink attributes. The IP_TUN_ attributes look very similar, yet they serve very different purpose. This is confusing for anyone trying to implement a user space tool supporting lwt. As the IP_TUN_ attributes are used only for the lightweight tunnels, prefix them with LWTUNNEL_IP_ instead to make their purpose clear. Also, it's more logical to have them in lwtunnel.h together with the encap enum. Fixes: 3093fbe7ff4b ("route: Per route IP tunnel metadata via lightweight tunnel") Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62ee783bf1f872ba879e088a669b04afebee899b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Aug 17 13:45:36 2015 -0700 smsc911x: Fix crash seen if neither ACPI nor OF is configured or used Commit 0b50dc4fc971 ("Convert smsc911x to use ACPI as well as DT") makes the call to smsc911x_probe_config() unconditional, and no longer fails if there is no device node. device_get_phy_mode() is called unconditionally, and if there is no phy node configured returns an error code. This error code is assigned to phy_interface, and interpreted elsewhere in the code as valid phy mode. This in turn causes qemu to crash when running a variant of realview_pb_defconfig. qemu: hardware error: lan9118_read: Bad reg 0x86 Fixes: 0b50dc4fc971 ("Convert smsc911x to use ACPI as well as DT") Cc: Jeremy Linton <jeremy.linton@xxxxxxx> Cc Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c87acb2558db7a870575dd8e14ded2e5acbdc295 Merge: fbaff3e e69948a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 14:05:14 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next Steffen Klassert says: ==================== pull request (net-next): ipsec-next 2015-08-17 1) Fix IPv6 ECN decapsulation for IPsec interfamily tunnels. From Thomas Egerer. 2) Use kmemdup instead of duplicating it in xfrm_dump_sa(). From Andrzej Hajda. 3) Pass oif to the xfrm lookups so that it gets set on the flow and the resolver routines can match based on oif. From David Ahern. 4) Add documentation for the new xfrm garbage collector threshold. From Alexander Duyck. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05906dec7d7daf197b9b773295c95ad6b9af2a5a Author: Bas Nieuwenhuizen <bas@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 20:08:40 2015 +0200 drm/amdgpu: wait on page directory changes. v2 Pagetables can be moved and therefore the page directory update can be necessary for the current cs even if none of the the bo's are moved. In that scenario there is no fence between the sdma0 and gfx ring, so we add one. v2 (chk): rebased Signed-off-by: Bas Nieuwenhuizen <bas@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b325a789c7e6554a14fae3c2310ee22fa4ca7cf6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 12:50:12 2015 +0200 drm/amdgpu: Select BACKLIGHT_LCD_SUPPORT Explicitly select BACKLIGHT_LCD_SUPPORT to satisfy the direct dependency of BACKLIGHT_CLASS_DEVICE. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 33610527907d532e5abedc2b1026b4992726c3b0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 12:50:11 2015 +0200 drm/radeon: Select BACKLIGHT_LCD_SUPPORT Explicitly select BACKLIGHT_LCD_SUPPORT to satisfy the direct dependency of BACKLIGHT_CLASS_DEVICE. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 432a4ff8b7224908a8bbc34b598f48af3f42b827 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 12 11:46:04 2015 +0200 drm/amdgpu: cleanup sheduler rq handling v2 Rework run queue implementation, especially remove the odd list handling. v2: cleanup the code only, no algorithem change. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit c3b95d4f9e460704e184ded7af60b9c4898f6181 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Aug 14 14:55:27 2015 +0800 drm/amdgpu: move prepare work out of scheduler to cs_ioctl Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 1c8f805af9af445a42b8dbda5f620752996cba44 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Thu Aug 13 13:04:06 2015 +0800 drm/amdgpu: fix unnecessary wake up decrease CPU extra overhead. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 6d1d0ef7433caf1df920116bfd445aa698a7f37d Author: monk.liu <monk.liu@xxxxxxx> Date: Fri Aug 14 13:36:41 2015 +0800 drm/amdgpu: fix duplicated mapping invoke bug fix the bug that there is duplicated bo_update_mapping issued Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 1939e3e265d2fb984b56829c51f5843bfc6d5292 Author: monk.liu <monk.liu@xxxxxxx> Date: Thu Aug 13 16:19:54 2015 +0800 drm/amdgpu: drop bo_list_clone when no scheduler bo_list_clone() will take a lot of time when bo_list hold too much elements, like above 7000 Signed-off-by: Monk.Liu <monk.liu@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit a895c222e7ab5f50ec10e209cd4548ecd5dd9443 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Aug 13 13:20:20 2015 -0400 drm/amdgpu: disable GPU reset by default It's not validated yet and causes more harm than good. Avoids spurious resets. Reviewed-by: Leo Liu <leo.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a8f5bf0b220c28b1b600a5ff3cae0b53c5c2079b Author: monk.liu <monk.liu@xxxxxxx> Date: Wed Aug 12 17:56:52 2015 +0800 drm/amdgpu: fix type mismatch error remaining timeout returned by amdgpu_fence_wait_any can be larger than max int value, thus the truncated 32 bit value in r ends up being negative while its original long value is positive. Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit 281b42230175608dec0cd8dab9908250e7aa36a9 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Aug 12 12:58:31 2015 +0800 drm/amdgpu: add reference for **fence fix fence is released when pass to **fence sometimes. add reference for it. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 1ffd265243803ac5de9927dfc32541f41da2acf3 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 11 17:29:52 2015 +0200 drm/amdgpu: fix waiting for all fences before flipping Otherwise we might see corruption. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4127a59e0b3f914ae8d9843d521a07e117db045a Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 11 16:35:54 2015 +0200 drm/amdgpu: fix UVD return code checking Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Tested-and-Reviewed-by: Leo Liu <leo.liu@xxxxxxx> commit 5b232c2a717684d0dffc27e50bf05e1fb72f9d6e Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 10 14:16:24 2015 +0200 drm/amdgpu: remove scheduler fence list v2 Unused and missing proper locking. v2: add locking comment to commit message. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) commit 05caae8515e12073f4a3beb048e0d289cbe687b7 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 10 14:04:12 2015 +0200 drm/amdgpu: remove amd_sched_wait_emit v2 Not used any more. v2: remove amd_sched_emit as well. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 2983e5cef33b48dede6c023230cc0b54d6f67362 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 10 14:20:55 2015 +0200 drm/amdgpu: remove unecessary scheduler fence callbacks Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit db789d34514b1b1bec20b30f9ae0b61c36f028b8 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 10 17:27:23 2015 +0200 drm/amdgpu: fix scheduler fence implementation Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 5516ab86a873efc78fc356b0979294203f1cffb0 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:50 2015 +0200 drm/amdgpu: don't grab dev->struct_mutex in pm functions Similar to radeon, except that amdgpu doesn't even use struct_mutex to protect anything like the shared z buffer (sane gpu architecture, yay!). And the code already grabs the globa adev->ring_lock, so this code can't race with itself. Which makes struct_mutex completely redundnant. Remove it. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit db4448f78d5982997751120ca358c97a7f96e122 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:49 2015 +0200 drm/amdgpu: Don't take dev->struct_mutex in bo_force_delete It really doesn't protect anything which doesn't have other locks already. Also this is run from driver unload code so not much need for locks anyway. Same changes as for radeon really. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 34ddc3e9d1781a4914c673013c0eaca3ae642641 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:48 2015 +0200 drm/radeon: Don't take dev->struct_mutex in pm functions We already grab 2 device-global locks (write-sema rdev->pm.mclk_lock and rdev->ring_lock), adding another global mutex won't serialize this code more. And since there's really nothing interesting that gets protected in radeon by dev->struct mutex (we only have the global z buffer owners and it's still serializing gem bo destruction in the drm core - which is irrelevant since radeon uses ttm anyway internally) this doesn't add protection. Remove it. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 42192a941e427440e642623c64bda4486c527a54 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:47 2015 +0200 drm/radeon: Don't take dev->struct_mutex in bo_force_delete It really doesn't protect anything which doesn't have other locks already. Also this is run from driver unload code so not much need for locks anyway. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c548b345d15092bf46469a0339d41ae3e106987d Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 7 20:22:40 2015 +0200 drm/amdgpu: remove VI hw bug workaround v3 The workaround simply doesn't work because VM mappings are controlled by userspace not the kernel. Additional to that this is just a performance problem which happens if you have holes in your VM mapping. v2: adjust virtual addr alignment as well. v3: fix trivial warning Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Monk Liu <monk.liu@xxxxxxx> (v1) Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> (v2) commit 00d2a2b21dbd6010247d44cd0cd05e5bc40af8e6 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 7 16:15:36 2015 +0200 drm/amdgpu: cleanup amdgpu_fence_ring_wait_seq Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 68ed3de43428def8ca0105bb53da8863ba456114 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 7 15:57:21 2015 +0200 drm/amdgpu: remove duplicate amdgpu_fence_process implementation Looks like that somehow got missed while during porting the radeon changes. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 02bc0650bc930105346773253e5bf33c2917c601 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 7 13:53:36 2015 +0200 drm/amdgpu: remove amdgpu_fence_wait It was just a wrapper for fence_wait anyway. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 713293b82563006df3cc91582b5b36b092481d76 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 6 20:44:47 2015 +0200 drm/amdgpu: use the reservation obj wait for the UVD msg Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3cdb8119d95411ddbca9f9af13b72e4afce6e6d2 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 6 17:49:25 2015 +0200 drm/amdgpu: remove amdgpu_fence_signaled The common kernel function does the same thing. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f556cb0caeec1ba9b8e5e2aa85b47e76277f5d4b Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Sun Aug 2 11:18:04 2015 +0800 drm/amd: add scheduler fence implementation (v2) scheduler fence is based on kernel fence framework. v2: squash in Christian's build fix Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 4af9f07ccdac96e16f7a0ddaf983891a29ebd11a Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 12:57:31 2015 +0800 drm/amdgpu: use kernel submit helper in vm Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 953e8fd4e734857f6dabbaf325035bf10c4a9c7a Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Thu Aug 6 15:19:12 2015 +0800 drm/amdgpu: use amd_sched_job in its backend ops Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 6f0e54a964932d3d5252ac1ff7ab153c984a5d51 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 5 21:22:10 2015 +0200 drm/amdgpu: cleanup and fix scheduler fence handling v2 v2: rebased Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v1) Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 91404fb20825418fd9ab8e6533bc336e1ffc748e Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 5 18:33:21 2015 +0200 drm/amdgpu: merge amd_sched_entity and amd_context_entity v2 Avoiding a couple of casts. v2: rename c_entity to entity as well Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 4cd7f42cf8f57512b13a13bb7dcbeabb644f5264 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 5 18:18:52 2015 +0200 drm/amdgpu: fix coding style in a couple of places Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit ddf94d33d6434199be08f8965f63d408e2787539 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 5 18:11:14 2015 +0200 drm/amdgpu: remove unused parent entity Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 4cef92670bc908aaa48771fc9c72f4bcfb7d6a35 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Aug 5 19:52:14 2015 +0800 drm/amdgpu: process sched job exactly triggered by fence signal Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 80de5913cf31c86d64547af0715de4822c9b1abe Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Aug 5 19:07:08 2015 +0800 Revert "drm/amdgpu: return new seq_no for amd_sched_push_job" This reverts commit d1d33da8eb86b8ca41dd9ed95738030df5267b95. Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Conflicts: drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c commit 47f38501f11fa45d8a7797f1965448c1e20049d4 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 4 17:51:05 2015 +0200 drm/amdgpu: cleanup amdgpu_ctx inti/fini v2 Cleanup the kernel context handling. v2: rebased Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> (v1) commit 0e89d0c16b9446a094215e71734e583c438bf83d Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 4 16:58:36 2015 +0200 drm/amdgpu: stop leaking the ctx id into the scheduler v2 Id's are for the IOCTL ABI only. v2: remove tgid as well Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit efd4ccb59a4acb8b85835d6b053362dbacee40f9 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 4 16:20:31 2015 +0200 drm/amdgpu: cleanup ctx_mgr init/fini Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 34cb581a7d99401cad0e1c43b528690885435f5b Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Aug 4 11:54:48 2015 +0200 drm/amdgpu: fix bo list handling in CS We didn't initialized the mutex in the cloned bo list resulting in nice warnings from lockdep. Also fixes error handling in this function. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 351dba73691fc632b269f531bbce80157f79c5b3 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Aug 3 20:39:12 2015 +0200 drm/amdgpu: reorder the code to avoid forward declerations Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 7484667c6a8a9122d139a287454bc9c8799c3def Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Aug 4 11:30:09 2015 +0800 drm/amdgpu: move sched job process from isr to fence callback This way can avoid interrupt lost, and can process sched job exactly. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 27f6642d066ecea7b535dd9b24e2f41e54f3dd85 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Mon Aug 3 10:27:57 2015 +0800 drm/amdgpu: add amd_sched_next_queued_seq function This function is used to get the next queued sequence number Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 63ad8d5882fcd466861fdbe51fc3a119b894d9a3 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Fri Jul 31 17:54:29 2015 +0800 drm/amdgpu: make last_handled_seq atomic Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f95b7e3e8664fbea4e60f15e7e8a975e4b2b7c3f Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Fri Jul 31 17:18:15 2015 +0800 drm/amdgpu: add amd_sched_commit This function is to update last_emitted_v_seq and wake up the waiters. It should be called by driver in the run_job backend function Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ea199cc9f825f3ef5aab3db5f00dcc639f8a8b02 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Fri Jul 31 16:47:28 2015 +0800 drm/amdgpu: return new seq_no for amd_sched_push_job It is clean to update last_queued_v_seq in the scheduler module Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit dd01d071957ded58d9bae3d3bf6061ada1d84692 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Thu Jul 30 17:19:52 2015 +0800 drm/amdgpu: some code refinement v2 Fix the code alignment, etc. v2: rebase the code Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 03d3a3e634894259a27979f4a372273162611e78 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 20:02:43 2015 +0800 drm/amdgpu: fix null pointer by previous cleanup Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 1763552ee8a7f39a1788d24e27b50d4dee383520 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 11:43:19 2015 +0800 drm/amdgpu: add kernel fence in ib_submit_kernel_helper every sbumission should be able to get a fence. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit ed88a0ee7ff53c292350fc5d38eae161c2372d51 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 13:22:35 2015 +0800 drm/amdgpu: use kernel fence for sdma ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit ab3cb0ce9e865c53f2027068f49a0edb40666f3f Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 13:19:43 2015 +0800 drm/amdgpu: use kernel fence for gfx ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit 6863bc8bb3750049d1b63574ef29cbf94d52eb47 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 16:19:29 2015 +0800 drm/amdgpu: use kernel fence in amdgpu_test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit ed40bfb81af54fcdc1b96ffdeb14d69458234642 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 13:28:16 2015 +0800 drm/amdgpu: use kernel fence for vce ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit 0e3f154a9eb9f7a5ec365c4586a606ba882a3f15 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 13:11:04 2015 +0800 drm/amdgpu: change uvd ib test to use kernel fence directly Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit bb1e38a4bead5025ecca90544f0f733f59996b13 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 18:19:38 2015 +0800 drm/amdgpu: use kernel fence for last_pt_update Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit e40a31159b72742224c249cf57c5313be7ccd629 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Aug 3 11:38:09 2015 +0800 drm/amdgpu: use kernel fence diretly in amdgpu_bo_fence Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <jammy.zhou@xxxxxxx> commit 1d7dd229f5dded247bc8800f8f4551d3d6314afa Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Jul 31 14:31:49 2015 +0200 drm/amdgpu: clean up amd sched wait_ts and wait_signal Remove code not used at the moment. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 7fc11959018f8ba2d92025679a72339da18a74ad Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Jul 30 11:53:42 2015 +0200 drm/amdgpu: stop using addr to check for BO move v3 It is theoretically possible that a swapped out BO gets the same GTT address, but different backing pages while being swapped in. Instead just use another VA state to note updated areas. Ported from not upstream yet radeon commit with the same name. v2: fix some bugs in the original implementation found in the radeon code. v3: squash in VCE/UVD fix Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7f06c236b964db3d8d086c5a0087b2eb4de3bf7a Author: monk.liu <monk.liu@xxxxxxx> Date: Thu Jul 30 18:28:12 2015 +0800 drm/amdgpu: move wait_queue_head from adev to ring (v2) thus unnecessary wake up could be avoid between rings v2: move wait_queue_head to fence_drv from ring Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit e29551556e055f463fb80cfb07e1cb15641e60a3 Author: monk.liu <monk.liu@xxxxxxx> Date: Thu Jul 30 18:26:18 2015 +0800 drm/amdgpu: re-implement fence_default_wait use fence_wait_any to implement fence_default_wait Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 332dfe907bef6f299f5844f947c4e141eebb8091 Author: monk.liu <monk.liu@xxxxxxx> Date: Thu Jul 30 15:19:05 2015 +0800 drm/amdgpu: new implement for fence_wait_any (v2) origninal method will sleep/schedule at the granurarity of HZ/2 and based on seq signal method, the new implement is based on kernel fance interface, no unnecessary schedule at all v2: replace logic of original amdgpu_fence_wait_any Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 2e536084f24f99f0a2cc0b6ce38ad8298ea58b22 Author: monk.liu <monk.liu@xxxxxxx> Date: Thu Jul 30 14:56:18 2015 +0800 drm/amdgpu: use kernel fence interface when possible Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 8128765ce5fb68e3b34a8f524791d5758514f511 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Jul 3 14:18:26 2015 +0800 drm/amdgpu: use scheduler for VCE ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 7b5ec431770ac581aa23d460f670cfb97c14280d Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Jul 3 14:08:18 2015 +0800 drm/amdgpu: use scheduler for UVD ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 0011fdaa4dab19bf545a28c0d4d164bba4745d29 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Jun 1 15:33:20 2015 +0800 drm/amdgpu: use gpu scheduler for sdma ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 42d13693c01f895d7918ed49c65c0c4844027314 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Jun 1 15:16:03 2015 +0800 drm/amdgpu: Use gpu scheduler for gfx ring ib test Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 3c704e934d07bcb5fdf9725db190e2ae60fba1bd Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Jul 29 10:33:14 2015 +0800 drm/amdgpu: add helper function for kernel submission Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit d1ff9086c1b8e67390161599006a34056b437a72 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Thu Jul 30 17:59:43 2015 +0800 drm/amdgpu: fix seq in ctx_add_fence if enabling scheduler, then the queued seq is assigned when pushing job before emitting job. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 51b9db27d07869cf565ba135e97e2ed5f858612e Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 28 17:31:04 2015 +0800 drm/amdgpu: wait forever for wait emit the job must be emitted by scheduler, otherwise scheduler is abnormal. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 4afcb30383bef8bf972c6aae47995ef314e5f8a1 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Thu Jul 30 16:44:05 2015 +0800 drm/amdgpu: add amdgpu.sched_hw_submission option This option can be used to specify the max number of submissions in the active HW queue. The default value is 2 now. Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 1333f723fb6f1356a54135586f1ede44dcaa9652 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Thu Jul 30 16:36:58 2015 +0800 drm/amdgpu: add amdgpu.sched_jobs option This option can be used to specify the max job number in the job queue, and it is 16 by default. Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit c0044bc2c62dc3267f2a555ed8342181516008a5 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Thu Jul 30 16:24:53 2015 +0800 drm/amdgpu: silent the message for GPU scheduler creation Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 1d3897e056d2ff2bb3b17e054aa75d36adacaacc Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Jul 27 15:40:35 2015 +0200 drm/amdgpu: fix syncing to VM updates Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit afe10081498fdf2c5b92c7fcc534e49544218fb9 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 28 16:11:52 2015 +0800 drm/amdgpu: add check for callback it is possible that the callback isn't defined sometimes. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian K?nig <christian.koenig@xxxxxxx> commit 02b9f0bfd49da01629eef6d250c477490047acd6 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Wed May 27 18:23:34 2015 +0800 drm/amdgpu: add enable_scheduler module option Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 176e1ab1b534368d0cd338a010aaea99067c3c6e Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Jul 24 10:49:47 2015 +0800 drm/amdgpu: protect fence_process from multiple context fence_process may be called from kthread, user thread and interrupt context. it is possible to called concurrently, then will wake up fence queue multiple times. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit e0d8f3c34e54b7f7563360131e89be0d9405d436 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 17:43:41 2015 +0800 drm/amdgpu: add sched isr to fence process Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit d5fc5e82a3127b8839c4a4457f3b950a009737a7 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 16:52:10 2015 +0800 drm/amdgpu: dispatch job for vm use kernel context to submit command for vm Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 23ca0e4e478836dcb93a54aa68cb48fbc66fb0ed Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Jul 6 13:42:58 2015 +0800 drm/amdgpu: add kernel ctx support (v2) v2: rebase against kfd changes Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 4274f5d45cf11f88d7380702a7147b70553ddd6e Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 16:04:39 2015 +0800 drm/amdgpu: prepare job before push to sw queue for pte ring user mode will still use pte ring as a normal ring. if the prepare job generates another command(update pte) on its ring in scheduler, then will kill scheduler which is going to waiting later job but pending running job. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 4b559c90bc1870313f02cceef680884519af6b2b Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 15:53:04 2015 +0800 drm/amdgpu: make sure the fence is emitted before ring to get it. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit b43a9a7e87d2bbb8d0c6ae4ff06dcc604f00e31a Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 15:13:53 2015 +0800 drm/amdgpu: use scheduler user seq instead of previous user seq Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 049fc527b4641f99e573b26f1a726a3eadd0cc25 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 14:36:51 2015 +0800 drm/amdgpu: dispatch jobs in cs BO validation is moved to scheduler except usrptr which must be validated in user process Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 372bc1e18ca961ef51997df235e822aed6283726 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 13:47:05 2015 +0800 drm/amdgpu: add bo list copy Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit c1b69ed0c62f9d86599600f4c1a3bd82db1b7362 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 13:45:14 2015 +0800 drm/amdgpu: add backend implementation of gpu scheduler (v2) v2: fix rebase breakage Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 2c4888a0d392b206eb348d4fc6dec539eee2c534 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 13:19:45 2015 +0800 drm/amdgpu: disable hw semaphore with scheduler Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 9cb7e5a91f6cd4dc018cca7120d2da067f816d3a Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Jul 21 13:17:19 2015 +0800 drm/amdgpu: add context entity init Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit b80d8475c1fdf5f4bcabb65168b2e8a9c3d77731 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Sun Aug 16 22:55:02 2015 -0400 drm/amdgpu: add scheduler initialization 1. Add kernel parameter option, default 0 2. Add scheduler initialization for amdgpu Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit a72ce6f84109c1dec1ab236d65979d3250668af3 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Fri May 22 18:55:07 2015 +0800 drm/amd: add basic scheduling framework run queue: A set of entities scheduling commands for the same ring. It implements the scheduling policy that selects the next entity to emit commands from. entity: A scheduler entity is a wrapper around a job queue or a group of other entities. This can be used to build hierarchies of entities. For example all job queue entities belonging to the same process may be placed in a higher level entity and scheduled against other process entities. Entities take turns emitting jobs from their job queue to the corresponding hardware ring, in accordance with the scheduler policy. Signed-off-by: Shaoyun Liu <Shaoyun.Liu@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Acked-by: Christian K?nig <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 2da78e21d153d333778d6566f159be06548418f9 Author: David Zhang <david1.zhang@xxxxxxx> Date: Sat Jul 11 23:13:40 2015 +0800 drm/amdgpu: Enable the Fiji DID 0x7300 support Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit d07f5c4c235670fa4686eb08cb6211eb3bd0c864 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Aug 6 11:51:23 2015 -0400 drm/amdgpu: remove VM workaround for Fiji The bug is fixed in fiji. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 188a9bcd6cbe55c6fea23309548741d8e34bb590 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Jul 27 14:24:14 2015 -0400 drm/amdgpu: add support for VCE 3.x on Fiji VCE on fiji is single pipe only. Reviewed-by: David Zhang <david1.zhang@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 974ee3db0ff88e5413b734e634119d1e8a10a77f Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 17:32:15 2015 +0800 drm/amdgpu: Add Fiji support to the UVD 6.0 IP module Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 1a5bbb669597d7c47da2d7fd03ed7c33989257b8 Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 17:29:27 2015 +0800 drm/amdgpu: Add Fiji support to the SDMA 3.0 IP module Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit af15a2d51dba75498b7802fd67399a093961ddc4 Author: David Zhang <david1.zhang@xxxxxxx> Date: Thu Jul 30 19:42:11 2015 -0400 drm/amdgpu: Add Fiji support to the GFX 8.0 IP module (v2) v2: agd5f: fix the rb setup. Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 843908604d72a1988d94936d9c34768eb8de97a6 Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 01:28:20 2015 +0800 drm/amdgpu: Add Fiji support to the DCE 10.0 IP module (v2) v2: agd5f: fix up XDMA golden settings Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 8e711e1a1ad3a95883ae15deead593d22e57c3f1 Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 01:23:25 2015 +0800 drm/amdgpu: Add Fiji support to SMC and DPM (v2) v2: agd5f: prepare for release Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit d1c4dcfb76a0053ca7bcc90608b3699ac1e1b39d Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 19:13:25 2015 +0800 drm/amdgpu: Add Fiji smu 7.1.3 headers (v2) v2: agd5f: prepare for release Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit aa8a3b5395f61ee2418ea33c6f2d95b432a13f35 Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 21:40:31 2015 +0800 drm/amdgpu: Add Fiji support to IH module Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 127a262853a4ca8a9284f58241c733ff074f8327 Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 01:11:52 2015 +0800 drm/amdgpu: Add Fiji support to the GMC 8.5 IP module Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 48299f95f75b695329c53a33dd6673ccf1b5a03f Author: David Zhang <david1.zhang@xxxxxxx> Date: Wed Jul 8 01:05:16 2015 +0800 drm/amdgpu: Add Fiji DID 0x7300 common support Signed-off-by: David Zhang <david1.zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 41548ef78bbf26994546ea5225ad4b4c1bf96d1f Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Jul 31 17:20:14 2015 -0400 drm/amdgpu: handle conditional support for CIK properly gfx7 support is not necessary or available if CIK support is not enabled. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e60b344f6c0eff03362b5083db746ef5442c4b36 Author: monk.liu <monk.liu@xxxxxxx> Date: Fri Jul 17 18:39:25 2015 +0800 drm/amdgpu: optimize amdgpu_parser_init use kmalloc_array instead of kcalloc where appropriate and other cleanups. Signed-off-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 2f7d10b393c83acd3eedc3d6ab94dce29ac6a890 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Wed Jul 22 11:29:01 2015 +0800 drm/amdgpu: merge amdgpu_family.h into amd_shared.h (v2) Make the definitions common for all driver components v2: fix kfd Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fa9f1d4e86f67a4df03e153d9b9cd1bd1838767c Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Jul 21 21:17:16 2015 +0800 drm/amdgpu: add some pptable definitions Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 0b2daf09cf3c9893872d68f0ce9a3f4b7e3ff06c Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Jul 21 17:41:48 2015 +0800 drm/amdgpu: add some common definitions to amd_shared.h Add GPU family definitions and timeout value for IP components. Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c7890fea04acbaa89f572adcd9efe0b2d390a8e7 Author: Marek Olšák <marek.olsak@xxxxxxx> Date: Sat Jul 11 12:08:46 2015 +0200 drm/amdgpu: allow userspace to read more debug registers Feel free to suggest more. Signed-off-by: Marek Olšák <marek.olsak@xxxxxxx> Acked-by: Michel Dänzer <michel.daenzer@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 8e9198d0698a4a748bac9a7b33ed1300cf5f3793 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Sun Aug 16 22:51:50 2015 -0400 drm/amdgpu: move some atombios definitions to common folder (v2) the definitions can be shared by different IP components. v2: fix include path Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 5430a3ffb0b1902e8aea4ed2ba256b1263126e8d Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Jul 21 18:02:21 2015 +0200 drm/amdgpu: fix UVD/VCE fence handling We need to return the sequence number to userspace even when we don't use user fences. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 5ceb54c68a28fc8af5cf8d32c4fde29c97dd3c18 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Aug 5 12:41:48 2015 -0400 drm/amdgpu: add fence suspend/resume functions Added to: - handle draining the ring on suspend - properly enable/disable interrupts on suspend and resume Fix breakages from: commit 467ee3be53d240d08beed2e82a941e820c1ac323 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Jun 1 14:14:32 2015 +0800 drm/amdgpu: always enable EOP interrupt v2 Tested-by: Audrey Grodzovsky <audrey.grodzovsky@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c6a4079badc2f0eda69a028622c7080a284ae147 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Mon Jun 1 14:14:32 2015 +0800 drm/amdgpu: always enable EOP interrupt v2 v2 (chk): always enable EOP interrupt, independent of scheduler, remove now unused delayed_irq handling. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 7f8a5290f5b6c14dd1d295e2508e0dd193a9fda5 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Jul 20 16:09:40 2015 +0200 drm/amdgpu: rework vm_grab_id interface This makes assigning VM IDs independent from the use of VM IDs. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit fc8fa5e428ae937f79a36ccbe303fa871ffbbbf7 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Jul 20 15:47:30 2015 +0200 drm/amdgpu: no updates shouldn't cause vm flush v2 v2 (chk): split fix from original patch Signed-off-by: monk.liu <monk.liu@xxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit cf6f1d39496e9b5dd62953f8dca9f995d80ab4ff Author: Christian König <christian.koenig@xxxxxxx> Date: Sat Jul 18 19:20:05 2015 +0200 drm/amdgpu: fix signed overrun in amdgpu_ctx_get_fence Otherwise the first 16 fences of a context will always signal immediately. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit cdecb65b4eaba1d45abbfe34b724664f65623531 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Jul 16 12:01:06 2015 +0200 drm/amdgpu: fix context memory leak Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 0753b45242059f523a6238ec2741a4436db2fbd0 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Jul 7 18:44:01 2015 +0200 drm/amdgpu: remove amdgpu_fence_recreate It's not used any more. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 21c16bf634e62cf9673946f509b469e7f0953ecf Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Jul 7 17:24:49 2015 +0200 drm/amdgpu: add user fence context map v2 This is a prerequisite for the GPU scheduler to make the order of submission independent from the order of execution. v2: properly implement the locking Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 91e1a5207edec9e4f888e44478a9a254186e0ba8 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Jul 6 22:06:40 2015 +0200 drm/amdgpu: deal with foreign fences in amdgpu_sync This also requires some error handling from the callers of that function. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 0b492a4c92050862a9780b941d52c05923fcd669 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Sun Aug 16 22:48:26 2015 -0400 drm/amdgpu: cleanup context structure v2 The comment is misleading and incorrect, remove it. Printing the id is completely meaningless and this practice can cause a race conditions on command submission. The flags and hangs fields are completely unused. Give all fields a common indentation. v2: remove fpriv reference and unused flags as well, fix debug message. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 404b2fa3385565b1c472a0482f6564a1550fc8d1 Author: rezhu <rezhu@xxxxxxx> Date: Fri Aug 7 13:37:56 2015 +0800 drm/amdgpu: add cgs_interface for pg and cg v3: check whether ip_blocks is enable v2: add break in the for loop. Signed-off-by: Rex zhu <rezhu@xxxxxxx> commit 97baee7170099dac2ce5671d3bb9cb364194b052 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Tue Jul 21 17:02:44 2015 +0800 drm/amdgpu: fix some typo for cgs definitions Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bf3911b06fa9c551b852af563fed393a02e48a7a Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Wed May 13 18:58:05 2015 +0800 drm/amdgpu: add cgs_get_firmware_info interface v2 This new interface can be used by IP components to retrieve the firmware information from the core driver. v2: fix one typo Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Rex Zhu <Rex.Zhou@xxxxxxx> Signed-off-by: Young Yang <Young.Yang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 57ff96cf471a30104c1ffdc49d237942d4908608 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Apr 24 17:38:20 2015 +0800 drm/amdgpu: implement cgs gpu memory callbacks This implements the cgs interface for allocating GPU memory. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 25da442779041e5fac7ceba552264fda55106e3f Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri May 22 12:14:04 2015 -0400 drm/amdgpu: add atom interfaces for CGS This implements the interface for atombios command and data table access. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 0cf3be21782f8d5b74cce98a2b934e14ef418ef3 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Jul 28 14:24:53 2015 -0400 drm/amdgpu: Implement irq interfaces for CGS This implements the irq src registrar. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 97cb7f6e6c4d7d78de7e174d8776a95ef7fd1e8a Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri May 22 11:33:31 2015 -0400 drm/amdgpu: Implement the pciconfig callbacks for CGS This implements the pciconfig register accessors. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit aba684d87a4d6805feddc7c4bc77c3c24f913ed1 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri May 22 11:29:30 2015 -0400 drm/amdgpu: Implement mmio callbacks for CGS This implements the MMIO register accessors. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d03846af92750f83d36ff2110a0cee444979b2a2 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Tue Jul 28 14:20:03 2015 -0400 drm/amd: Add CGS interfaces CGS (Common Graphics Services) is an AMD cross component abstraction layer to designed to better encapsulate specific IP block drivers so different teams can effectively work on differnet IP block drivers independently. It provides a common interface for things like accessing registers, allocating GPU memory, and registering interrupt sources. The plan is to eventually move more and more IP drivers to this interface. The first user is the ACP IP driver. Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Acked-by: Christian König <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 553de19a0e2f21809bc3864d40308864652521eb Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Aug 15 08:01:55 2015 +0530 ASoC: davinci-vcif: Use devm_snd_soc_register_component Use resource managed function devm_snd_soc_register_component for component registration instead of snd_soc_register_component. Also, remove davinci_vcif_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93576842718edf302b03f30b9915d3e704b0c78a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 17 12:30:58 2015 +0530 regulator: core: Use IS_ERR_OR_NULL() Use IS_ERR_OR_NULL() rather than open coding it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 507d7fc56154031a1d023d74e02ed9d3c4f4da31 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 12:59:42 2015 -0700 staging: wilc1000: fix build warning with setup_timer() I forgot to properly cast a pointer to unsigned long in a conversion to setup_timer() which resulted in a build warning. Fix that up. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db93ec4f30f1826cc64560ffdf9cc6f2f4eff49f Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Mon Aug 17 15:28:28 2015 -0400 staging: wilc1000: remove DECLARE_WILC_BUFFER() It was just a wrapper to initialize a variable. Initialize it directly instead. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dec180c86425e4ffcf9699c6cbc6682a63e8d11c Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Mon Aug 17 15:28:26 2015 -0400 staging: wilc1000: remove void function return statements that are not useful Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30f93ca8323f0c21b789bea0f7db8e8e3a7915c6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 17 08:16:51 2015 +0530 regulator: core: Define regulator_set_voltage_triplet() Voltage tolerance isn't necessarily same on both sides of the target voltage and regulator_set_voltage_tol() wouldn't be suitable in such cases. Add another routine regulator_set_voltage_triplet(), which accepts target, min and max voltages as arguments. This first tries to set the voltage between the target voltage and the upper limit, then fall back on the full range. The idea behind this is to set regulator's voltage as close to the target voltage, as possible. Based on regulator_set_voltage_tol(). Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da65e367b67e15fc41cbf646c506c802dd5213b7 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Aug 17 11:43:59 2015 -0700 regulator: Regulator driver for the Qualcomm RPM Driver for regulators exposed by the Resource Power Manager (RPM) found in devices based on Qualcomm 8974 and newer platforms. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Andy Gross <agross@xxxxxxxxxxxxxx> Tested-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a78d9a38a52fc0660e6efb8eaf6540f975db87c6 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:15 2015 +0900 staging: wilc1000: coreconfigurator.c: fix kmalloc error check It is added and fixed error check when kmalloc is failed. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ac87998784e261e1080907da912afb562737c69 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:14 2015 +0900 staging: wilc1000: coreconfigurator.c: use kmalloc instead of WILC_MALLOC The kmalloc is used to handle host interface message within kernel thread. The manipulation of host interface message is not called on IRQ context and I could not find any spinlock inside function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 280f1fa0808ea6e3b6bd5b39d67a0bb0a35a6761 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:13 2015 +0900 staging: wilc1000: remove unused codes of gps8ConfigPacket This patch removes unused codes of gps8ConfigPacket declared by global variable. It is allocated and freed memory within CoreConfiguratorInit and CoreConfiguratorDeInit. There is no used anywhere except within two functions. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc0ad74bc432eccb96f3249de20f3b2b468d0919 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:12 2015 +0900 staging: wilc1000: remove unnecessary void pointer cast This patch removes unnecessary void pointer cast of WILC_MALLOC. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 355c06633e233a57155b827ebe99b91c35bc1f5c Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Aug 13 17:52:02 2015 -0600 workqueue: fix some docbook warnings There are some errors in the docbook comments in workqueue.h that cause warnings when the docs are built; this only recently came to light because these comments were not used until now. Fix the comments to make the warnings go away. The "args..." "fix" is a hack. kerneldoc doesn't deal properly with named variadic arguments in macros, so all I've really achieved here is to make it shut up. Fixing kerneldoc will have to wait for more time. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9fba8e30f704d49627ab8a4a57213862206b3e5f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 14:46:51 2015 -0500 SUNRPC: Drop double-underscores from __rpc_cmp_addr6() Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: 7b0ce60c0b20 ("SUNRPC: Drop double-underscores from rpc_cmp_addr{4|6}()") Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 636dcf9716306bc93afffe8f968a3f232c42f6d7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:11 2015 +0900 staging: wilc1000: remove WILC_NEW and WILC_NEW_EX This patch removes WILC_NEW and WILC_NEW_EX defines that are not used anywhere. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c07828f5db4c620a4f574b3a4bb0a0bba82826b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 17 11:05:10 2015 +0900 staging: wilc1000: use kmalloc instead of WILC_NEW WILC_NEW is replaced by kmallo with GFP_ATOMIC. This kmalloc is inside a spin_lock_irqsave region. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e3f05bfc02b61adf50709c4a96f07314addeeb6 Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Sat Aug 15 12:23:31 2015 +0530 staging: wilc1000: Process WARN, INFO options of debug levels from user This patch enables setting the module's debug options WARN and INFO in the debugfs file 'wilc_debug_level'. This functionality allows the user to enable logging of warnings and other information. Before this change, writes to this debugfs file set only one option - DEBUG. Another option that is enabled by default is ERR. As a side effect, this patch removes the 'sparse' warning - 'warning: incorrect type in argument 2 (different address spaces)'. Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbaff3ef859a86dc3df2128d2de9f8a6e255a967 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Aug 13 18:34:03 2015 -0700 net: fix endian check warning in etherdevice.h Sparse builds have been warning for a really long time now that etherdevice.h has a conversion that is unsafe. include/linux/etherdevice.h:79:32: warning: restricted __be16 degrades to integer This code change fixes the issue and generates the exact same assembly before/after (checked on x86_64) Fixes: 2c722fe1c821 (etherdevice: Optimize a few is_<foo>_ether_addr functions) Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> CC: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee847a252664f54d06bcc6ab2864322cbcb52692 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Aug 15 17:17:53 2015 -0700 hwmon: (ltc2978) Introduce helper functions for min and max values The code used to determine historic low and high peaks is repeated several times. Introduce helper functions to simplify it. Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 8582bcc8ebb21375b37f337c58ca783b997a0355 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Aug 15 17:02:09 2015 -0700 hwmon: (ltc2978) Introduce feature flags It is becoming cumbersom to track per-chip feature support. Introduce feature flag to simplify the code. Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2238835c5ce9f8eae5cb4dd6a6c05a6c82743282 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Aug 12 21:05:38 2015 -0700 hwmon: (pmbus) Convert command register definitions to enum This will simplify adding new virtual commands. Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 649ca820dab3d76e12408b74af3e8e97abb07ae0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jun 8 09:56:20 2015 -0700 hwmon: (ltc2978) Add support for LTC2975 LTC2975 is mostly compatible to LTC2974, but supports input current and power measurement. Tested-by: Michael Jones <mike@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit f3ae683f09aff7c53dab8b85d2425d746c8e0d5f Merge: 8f8ff913 4b46995 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 17 11:50:25 2015 -0700 Merge branch 'iff_no_queue' Phil Sutter says: ==================== net: introduce IFF_NO_QUEUE as successor of zero tx_queue_len This series adds a new private net_device flag indicating that a device may (and probably should) be used without a queueing discipline attached to it. This is already common practice for many virtual device types like e.g. loopback, VLAN (802.1Q) or bridges (802.1D). The reason for this is that these devices lack an underlying layer which could impose back pressure and therefore making a TX queue necessary to not slow down senders. Up to now, drivers being aware of the above applying to them set dev->tx_queue_len to zero to indicate no qdisc should be attached to the interface they drive and the kernel reacts upon this by assigning the noop qdisc instead of the default pfifo_fast. This implicit agreement though leads to an inconvenient situation once a user tries to attach a real qdisc to these devices, as the formerly special tx_queue_len value becomes a regular one, limiting the queue to zero packets and thus prevents any TX from happening. To overcome this, practically all qdisc implementations intercept and sanitize the malicious value. With this series applied, drivers may signal the lack of need for a qdisc without having to tamper with tx_queue_len, making fallbacks in qdiscs and caveats in userspace unnecessary. Upon upstream acceptance, this series will be followed up by a set of patches converting device drivers, adding a warning so out-of-tree driver authors get aware of this change and dropping all special handling of tx_queue_len in net/sched/. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b469955685d58c2f8198bf817fc661600b7e3d0 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 13 19:01:07 2015 +0200 net: sch_generic: react upon IFF_NO_QUEUE flag Handle IFF_NO_QUEUE as alternative to tx_queue_len being zero. Signed-off-by: Phil Sutter <phil@xxxxxx> Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa8187c96471c49419c25d4ec3299d17d3f274b2 Author: Phil Sutter <phil@xxxxxx> Date: Thu Aug 13 19:01:06 2015 +0200 net: declare new net_device priv_flag IFF_NO_QUEUE This private net_device flag can be set by drivers to inform that a device runs fine without a qdisc attached. This was formerly done by setting tx_queue_len to zero. Signed-off-by: Phil Sutter <phil@xxxxxx> Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c2dad99d60c86ec686b3bfdcb787c450a7ea89f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 6 12:06:30 2015 -0400 NFS: Don't let the ctime override attribute barriers. Chuck reports seeing cases where a GETATTR that happens to race with an asynchronous WRITE is overriding the file size, despite the attribute barrier being set by the writeback code. The culprit turns out to be the check in nfs_ctime_need_update(), which sees that the ctime is newer than the cached ctime, and assumes that it is safe to override the attribute barrier. This patch removes that override, and ensures that attribute barriers are always respected. Reported-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Fixes: a08a8cd375db9 ("NFS: Add attribute update barriers to NFS writebacks") Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 74918f937d9896aa2910cfe81f06499abd1dba59 Merge: 37bfcc1 5883055 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:36:32 2015 -0500 Merge branch 'layoutfixes' * layoutfixes: NFSv4.1/pnfs: Remove redundant wakeup in pnfs_send_layoutreturn() NFSv4.1/pnfs: Remove redundant check in pnfs_layoutgets_blocked() NFSv4.1/pnfs: Remove redundant lo->plh_block_lgets in layoutreturn NFSv4.1/pnfs: Don't prevent layoutgets when doing return-on-close NFSv4.1/pnfs: Fix serialisation of layout return and layoutget NFSv4.1/pnfs: Remove redundant checks in pnfs_layoutgets_blocked() pNFS: Tighten up locking around DS commit buckets commit 37bfcc14b2b44ce03930eeb2c3de1c20f7da6fb9 Merge: eed889b 99b1a4c Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:36:22 2015 -0500 Merge branch 'bugfixes' * bugfixes: SUNRPC: Fix a thinko in xs_connect() NFSv4.1/pNFS: Fix borken function _same_data_server_addrs_locked() NFS: nfs_set_pgio_error sometimes misses errors commit eed889b161ce4817e594c28906269d776f4806a5 Merge: aff8d8d d0f36c4 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 13:33:58 2015 -0500 Merge tag 'nfs-rdma-for-4.3' of git://git.linux-nfs.org/projects/anna/nfs-rdma NFS: NFS over RDMA Client Side Changes These patches improve both client performance and scalability, most notably by increasing the maixmum allowed rsize and wsize and by increasing the number of RDMA "credits". There are also several bugfixes, such as correcting how WRITE compounds are encoded and fixing large NFS symlink operations. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit aff8d8dc4c34804c6a1de04f1b3313aa9063bf46 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:33 2015 -0400 NFS: Remove nfs_release() And call nfs_file_clear_open_context() directly. This makes it obvious that nfs_file_release() will always return 0. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c4f83a5571981c92b028c8e9a9da827598905059 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:32:38 2015 -0700 staging: wilc1000: remove unneeded tstrWILC_MsgQueueAttrs typedef No one uses it, so remove it and all of the NULL parameters being used to pass it into the msg code. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae09c31f66cc673bb8c64a5dbfdc04ab67f66d7e Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:32 2015 -0400 NFS: Rename nfs_commit_unstable_pages() to nfs_write_inode() All nfs_write_inode() does is pass its arguments to nfs_commit_unstable_pages(). Let's cut out the middle man and have nfs_write_pages() do the work directly. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3f10a6af4b577da2117907ac8420f27af81d57de Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:31 2015 -0400 NFS: Remove nfs41_server_notify_{target|highest}_slotid_update() All these functions do is call nfs41_ping_server() without adding anything. Let's remove them and give nfs41_ping_server() a better name instead. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fb2a525cf086bb080f84b0b748ee823ef79e539c Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:29 2015 -0400 NFS: Combine nfs_idmap_{init|quit}() and nfs_idmap_{init|quit}_keyring() The idmap_init() and idmap_quit() functions only exist to call the _keyring() version. Let's just call the keyring() functions directly. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit d8efa4e62505f5113e363572b5438b7be0d08b12 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:28 2015 -0400 NFS: Use RPC functions for matching sockaddrs They already exist and do the exact same thing. Let's save ourselves several lines of code! Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 58cc8a55aa38655d472a4c381df465c9ab97b4d6 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:27 2015 -0400 SUNRPC: Add an rpc_cmp_addr_port() function This function is to help determine if two sockaddrs are really the same socket. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7b0ce60c0b203a2a037f308e387152acbf99c445 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:26 2015 -0400 SUNRPC: Drop double-underscores from rpc_cmp_addr{4|6}() I'm planning on using these functions inside the client, so remove the underscores to make it feel like I'm using a public interface. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c7e9668e78eab69b7ade9897bea1fbd77dd18775 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:25 2015 -0400 NFS: Rename nfs_readdir_free_pagearray() and nfs_readdir_large_page() nfs_readdir_xdr_to_array() uses both a cache array and an array of pages, so I rename these functions to make it clearer how the code works. nfs_readdir_large_page() becomes nfs_readdir_alloc_pages() because this function has absolutely nothing to do with setting up a large page. nfs_readdir_free_pagearray() becomes nfs_readdir_free_pages() to stay consistent with the new alloc_pages() function. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0b936e37df8111ea727263a5a246b58e05b7aa1b Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Mon Jul 13 14:01:24 2015 -0400 NFS: Remove unused variable "pages_ptr" This variable is initialized to NULL and is never modified before being passed to nfs_readdir_free_large_page(). But that's okay, because nfs_readdir_free_large_page() only seems to exist as a way of calling nfs_readdir_free_pagearray() without this parameter. Let's simplify by removing pages_ptr and nfs_readdir_free_pagearray(). Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9ca308506062fc4a4ee8ca7ad2f71033c831c2fb Author: Baolin Wang <baolin.wang@xxxxxxxxxx> Date: Wed Jul 29 20:18:31 2015 +0800 time: Introduce timespec64_to_jiffies()/jiffies_to_timespec64() The conversion between struct timespec and jiffies is not year 2038 safe on 32bit systems. Introduce timespec64_to_jiffies() and jiffies_to_timespec64() functions which use struct timespec64 to make it ready for 2038 issue. Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 8758a240e2d74c5932ab51a73377e6507b7fd441 Author: Baolin Wang <baolin.wang@xxxxxxxxxx> Date: Wed Jul 29 20:09:43 2015 +0800 time: Introduce current_kernel_time64() The current_kernel_time() is not year 2038 safe on 32bit systems since it returns a timespec value. Introduce current_kernel_time64() which returns a timespec64 value. Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 19a46fe57a005a884ccb38419071f772ac2fca2b Author: Baolin Wang <baolin.wang@xxxxxxxxxx> Date: Wed Jul 29 19:58:15 2015 +0800 time: Introduce struct itimerspec64 The struct itimerspec is not year 2038 safe on 32bit systems due to the limitation of the struct timespec members. Introduce itimerspec64 which uses struct timespec64 instead and provide conversion functions. Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 7494e9eedee2121305a48af4fbbcedb69a2c2b93 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Sun Jul 26 18:45:39 2015 +0800 time: Add the common weak version of update_persistent_clock() The weak update_persistent_clock64() calls update_persistent_clock(), if the architecture defines an update_persistent_clock64() to replace and remove its update_persistent_clock() version, when building the kernel the linker will throw an undefined symbol error, that is, any arch that switches to update_persistent_clock64() will have this issue. To solve the issue, we add the common weak update_persistent_clock(). Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit ce603281468cf1be0a70a45fdaef761db134b900 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Jul 10 15:59:26 2015 -0400 nfs: remove some dead code in ff_layout_pg_get_mirror_count_write We already know that pg_lseg is NULL here. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e1d7ba8735551ed79c7a0463a042353574b96da3 Author: Wang YanQing <udknight@xxxxxxxxx> Date: Tue Jun 23 18:38:54 2015 +0800 time: Always make sure wall_to_monotonic isn't positive Two issues were found on an IMX6 development board without an enabled RTC device(resulting in the boot time and monotonic time being initialized to 0). Issue 1:exportfs -a generate: "exportfs: /opt/nfs/arm does not support NFS export" Issue 2:cat /proc/stat: "btime 4294967236" The same issues can be reproduced on x86 after running the following code: int main(void) { struct timeval val; int ret; val.tv_sec = 0; val.tv_usec = 0; ret = settimeofday(&val, NULL); return 0; } Two issues are different symptoms of same problem: The reason is a positive wall_to_monotonic pushes boot time back to the time before Epoch, and getboottime will return negative value. In symptom 1: negative boot time cause get_expiry() to overflow time_t when input expire time is 2147483647, then cache_flush() always clears entries just added in ip_map_parse. In symptom 2: show_stat() uses "unsigned long" to print negative btime value returned by getboottime. This patch fix the problem by prohibiting time from being set to a value which would cause a negative boot time. As a result one can't set the CLOCK_REALTIME time prior to (1970 + system uptime). Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Wang YanQing <udknight@xxxxxxxxx> [jstultz: reworded commit message] Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit de4a95faf173be1e798c37ca486dfcb234a0941b Author: Karsten Blees <karsten.blees@xxxxxxxxx> Date: Thu Jun 25 14:13:55 2015 +0200 time: Fix nanosecond file time rounding in timespec_trunc() timespec_trunc() avoids rounding if granularity <= nanoseconds-per-jiffie (or TICK_NSEC). This optimization assumes that: 1. current_kernel_time().tv_nsec is already rounded to TICK_NSEC (i.e. with HZ=1000 you'd get 1000000, 2000000, 3000000... but never 1000001). This is no longer true (probably since hrtimers introduced in 2.6.16). 2. TICK_NSEC is evenly divisible by all possible granularities. This may be true for HZ=100, 250, 1000, but obviously not for HZ=300 / TICK_NSEC=3333333 (introduced in 2.6.20). Thus, sub-second portions of in-core file times are not rounded to on-disk granularity. I.e. file times may change when the inode is re-read from disk or when the file system is remounted. This affects all file systems with file time granularities > 1 ns and < 1s, e.g. CEPH (1000 ns), UDF (1000 ns), CIFS (100 ns), NTFS (100 ns) and FUSE (configurable from user mode via struct fuse_init_out.time_gran). Steps to reproduce with e.g. UDF: $ dd if=/dev/zero of=udfdisk count=10000 && mkudffs udfdisk $ mkdir udf && mount udfdisk udf $ touch udf/test && stat -c %y udf/test 2015-06-09 10:22:56.130006767 +0200 $ umount udf && mount udfdisk udf $ stat -c %y udf/test 2015-06-09 10:22:56.130006000 +0200 Remounting truncates the mtime to 1 µs. Fix the rounding in timespec_trunc() and update the documentation. timespec_trunc() is exclusively used to calculate inode's [acm]time (mostly via current_fs_time()), and always with super_block.s_time_gran as second argument. So this can safely be changed without side effects. Note: This does _not_ fix the issue for FAT's 2 second mtime resolution, as super_block.s_time_gran isn't prepared to handle different ctime / mtime / atime resolutions nor resolutions > 1 second. Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Karsten Blees <blees@xxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 38bf985b05625df3fbbc1dbf543bdd2da447c2af Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Wed May 27 16:44:48 2015 -0700 timer_list: Add the base offset so remaining nsecs are accurate for non monotonic timers I noticed for non-monotonic timers in timer_list, some of the output looked a little confusing. For example: #1: <0000000000000000>, posix_timer_fn, S:01, hrtimer_start_range_ns, leap-a-day/2360 # expires at 1434412800000000000-1434412800000000000 nsecs [in 1434410725062375469 to 1434410725062375469 nsecs] You'll note the relative time till the expiration "[in xxx to yyy nsecs]" is incorrect. This is because its printing the delta between CLOCK_MONOTONIC time to the CLOCK_REALTIME expiration. This patch fixes this issue by adding the clock offset to the "now" time which we use to calculate the delta. Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Jiri Bohac <jbohac@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 8bb28975823aee062f82b99ddacc499601c0cfd1 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 18:41:01 2015 +0200 pnfs: move common blocklayout XDR defintions to nfs4.h Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 513d6d7a9591d7c5ebb5f05465942185db9299a4 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 18:41:00 2015 +0200 pnfs/blocklayout: pass proper file mode to blkdev_get/put We generally want to read and write to a block device that's used by the pNFS block layout client (and even if it's read only the server has no way of telling us). Add FMODE_WRITE to the mode argument so that we don't incorrectly tell the block driver that we want a read-only open. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2bd3c63a333c364cfde4701b51f82e1fae106a88 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 18:40:59 2015 +0200 pnfs/blocklayout: reject too long signatures Instead of overwriting kernel memory reject too long signatures. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 68596bd188e5e621c28a2f6fc0a3dd80a606d16b Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 18:40:58 2015 +0200 pnfs/blocklayout: set up layoutupdate_pages properly We need to replace the __be32 with a void pointer to do proper arithmentics on the virtual addresses so that we can get the right page pointers. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 29662fa646b41492a9c298a83399126f94847e93 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 17 18:40:57 2015 +0200 pnfs/blocklayout: calculate layoutupdate size correctly We need to include the first u32 for the number of entries. Add a helper for the calculation instead of opencoding it so that it's in one place. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 18e3b739fdc826481c6a1335ce0c5b19b3d415da Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sat Aug 15 21:52:10 2015 +0800 NFS: Fix a NULL pointer dereference of migration recovery ops for v4.2 client ---Steps to Reproduce-- <nfs-server> # cat /etc/exports /nfs/referal *(rw,insecure,no_subtree_check,no_root_squash,crossmnt) /nfs/old *(ro,insecure,subtree_check,root_squash,crossmnt) <nfs-client> # mount -t nfs nfs-server:/nfs/ /mnt/ # ll /mnt/*/ <nfs-server> # cat /etc/exports /nfs/referal *(rw,insecure,no_subtree_check,no_root_squash,crossmnt,refer=/nfs/old/@nfs-server) /nfs/old *(ro,insecure,subtree_check,root_squash,crossmnt) # service nfs restart <nfs-client> # ll /mnt/*/ --->>>>> oops here [ 5123.102925] BUG: unable to handle kernel NULL pointer dereference at (null) [ 5123.103363] IP: [<ffffffffa03ed38b>] nfs4_proc_get_locations+0x9b/0x120 [nfsv4] [ 5123.103752] PGD 587b9067 PUD 3cbf5067 PMD 0 [ 5123.104131] Oops: 0000 [#1] [ 5123.104529] Modules linked in: nfsv4(OE) nfs(OE) fscache(E) nfsd(OE) xfs libcrc32c iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi coretemp crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel ppdev vmw_balloon parport_pc parport i2c_piix4 shpchp auth_rpcgss nfs_acl vmw_vmci lockd grace sunrpc vmwgfx drm_kms_helper ttm drm mptspi serio_raw scsi_transport_spi e1000 mptscsih mptbase ata_generic pata_acpi [last unloaded: nfsd] [ 5123.105887] CPU: 0 PID: 15853 Comm: ::1-manager Tainted: G OE 4.2.0-rc6+ #214 [ 5123.106358] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 05/20/2014 [ 5123.106860] task: ffff88007620f300 ti: ffff88005877c000 task.ti: ffff88005877c000 [ 5123.107363] RIP: 0010:[<ffffffffa03ed38b>] [<ffffffffa03ed38b>] nfs4_proc_get_locations+0x9b/0x120 [nfsv4] [ 5123.107909] RSP: 0018:ffff88005877fdb8 EFLAGS: 00010246 [ 5123.108435] RAX: ffff880053f3bc00 RBX: ffff88006ce6c908 RCX: ffff880053a0d240 [ 5123.108968] RDX: ffffea0000e6d940 RSI: ffff8800399a0000 RDI: ffff88006ce6c908 [ 5123.109503] RBP: ffff88005877fe28 R08: ffffffff81c708a0 R09: 0000000000000000 [ 5123.110045] R10: 00000000000001a2 R11: ffff88003ba7f5c8 R12: ffff880054c55800 [ 5123.110618] R13: 0000000000000000 R14: ffff880053a0d240 R15: ffff880053a0d240 [ 5123.111169] FS: 0000000000000000(0000) GS:ffffffff81c27000(0000) knlGS:0000000000000000 [ 5123.111726] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 5123.112286] CR2: 0000000000000000 CR3: 0000000054cac000 CR4: 00000000001406f0 [ 5123.112888] Stack: [ 5123.113458] ffffea0000e6d940 ffff8800399a0000 00000000000167d0 0000000000000000 [ 5123.114049] 0000000000000000 0000000000000000 0000000000000000 00000000a7ec82c6 [ 5123.114662] ffff88005877fe18 ffffea0000e6d940 ffff8800399a0000 ffff880054c55800 [ 5123.115264] Call Trace: [ 5123.115868] [<ffffffffa03fb44b>] nfs4_try_migration+0xbb/0x220 [nfsv4] [ 5123.116487] [<ffffffffa03fcb3b>] nfs4_run_state_manager+0x4ab/0x7b0 [nfsv4] [ 5123.117104] [<ffffffffa03fc690>] ? nfs4_do_reclaim+0x510/0x510 [nfsv4] [ 5123.117813] [<ffffffff810a4527>] kthread+0xd7/0xf0 [ 5123.118456] [<ffffffff810a4450>] ? kthread_worker_fn+0x160/0x160 [ 5123.119108] [<ffffffff816d9cdf>] ret_from_fork+0x3f/0x70 [ 5123.119723] [<ffffffff810a4450>] ? kthread_worker_fn+0x160/0x160 [ 5123.120329] Code: 4c 8b 6a 58 74 17 eb 52 48 8d 55 a8 89 c6 4c 89 e7 e8 4a b5 ff ff 8b 45 b0 85 c0 74 1c 4c 89 f9 48 8b 55 90 48 8b 75 98 48 89 df <41> ff 55 00 3d e8 d8 ff ff 41 89 c6 74 cf 48 8b 4d c8 65 48 33 [ 5123.121643] RIP [<ffffffffa03ed38b>] nfs4_proc_get_locations+0x9b/0x120 [nfsv4] [ 5123.122308] RSP <ffff88005877fdb8> [ 5123.122942] CR2: 0000000000000000 Fixes: ec011fe847 ("NFS: Introduce a vector of migration recovery ops") Cc: stable@xxxxxxxxxxxxxxx # v3.13+ Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2b5f12eac0ce4e6ffa5788400750da0a60fe8678 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:20:57 2015 -0700 staging: wilc1000: delete wilc_osconfig.h This .h file isn't needed at all, so delete it, and the one line that added it to the build. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e53191d6e15b7afb71dfbd3134c567fcc4eb2cd Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:17:57 2015 -0700 staging: wilc1000: delete wilc_log.h The macros are not used in the driver at all, except in one commented out line, so just remove the .h file so that no one thinks it is a good idea to add any code to use them in the future. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97fd0f07d4d3f71c20ef4a4f5a65eb461290ca1c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:12:49 2015 -0700 staging: wilc1000: delete wilc_timer.h It is no longer needed at all, so remove this header file. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9eb066438b01bc70ef915987f881d3e57e698a30 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 11:10:55 2015 -0700 staging: wilc1000: remove WILC_TimerStart() It was a wrapper around mod_timer() so replace it with the real timer call and remove wilc_timer.c as it's now empty. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99b1a4c32ad22024ac6198a4337aaec5ea23168f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 13 15:33:51 2015 -0400 SUNRPC: Fix a thinko in xs_connect() It is rather pointless to test the value of transport->inet after calling xs_reset_transport(), since it will always be zero, and so we will never see any exponential back off behaviour. Also don't force early connections for SOFTCONN tasks. If the server disconnects us, we should respect the exponential backoff. Cc: stable@xxxxxxxxxxxxxxx # 4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 6f536936b79bd4b5cea8fb0e5b8b0bce8cd1ea4a Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Aug 13 10:59:07 2015 -0400 NFSv4.1/pNFS: Fix borken function _same_data_server_addrs_locked() - Switch back to using list_for_each_entry(). Fixes an incorrect test for list NULL termination. - Do not assume that lists are sorted. - Finally, consider an existing entry to match if it consists of a subset of the addresses in the new entry. Cc: stable@xxxxxxxxxxxxxxx # 4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e9ae58aeee8842a50f7e199d602a5ccb2e41a95f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 17 12:57:07 2015 -0500 NFS: nfs_set_pgio_error sometimes misses errors We should ensure that we always set the pgio_header's error field if a READ or WRITE RPC call returns an error. The current code depends on 'hdr->good_bytes' always being initialised to a large value, which is not always done correctly by callers. When this happens, applications may end up missing important errors. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0643558f85e740019e0632072c55e8b2f79a8d7d Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Mon Aug 17 19:16:51 2015 +0800 ASoC: mediatek: Remove AIF widgets for backend DAIs DAPM core already creates widgets for DAIs. It is not necessary to declare them by SND_SOC_DAPM_AIF_IN/SND_SOC_DAPM_AIF_OUT. Furthermore, original codes use backend DAI's stream name to be the AIF widget name. It causes the same widget to be created twice, and after commit 92fa12426741 ("ASoC: dapm: Add new widgets to the end of the widget list") the first created widget (by snd_soc_dapm_new_controls) is used, not the 2nd created one (by snd_soc_dapm_new_dai_widgets), so audio path is broken. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f8ff9135b28a7560a5627aceaf289e3f0d4cd64 Author: Richard Alpe <richard.alpe@xxxxxxxxxxxx> Date: Mon Aug 17 14:15:10 2015 +0200 tipc: don't sanity check non-existing TLV (NL compat) A zero length payload means that no TLV (Type Length Value) data has been passed. Prior to this patch a non-existing TLV could be sanity checked with TLV_OK() resulting in random behavior where a user sending an empty message occasionally got a incorrect "operation not supported" message back. Signed-off-by: Richard Alpe <richard.alpe@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da3cc2da7c08dc1f4371a4cc2eb83b22a0cf83a8 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Aug 17 08:28:25 2015 +0300 bnx2: Fix bandwidth allocation for some MF modes Management firmware tells driver in case bandwidth configuration for a specific function exists, but [regretably] the same field has different meanings depending on the multi-function mode - it can either be a percentile value or an actual speed. For newer multi-function modes current logic is incorrect - driver understands values as actual speeds instead of percentages, causing the resulting chip configuration to be incorrect. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 672cfeeb93e572f108965cf964c3e2a869a549cc Merge: 92f2618 ac22a1d Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 09:12:15 2015 -0700 Merge tag 'extcon-next-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-testing Chanwoo writes: Update extcon for v4.3 This patchset include the function update of extcon drivers without critical update and fix minor issue of extcon drivers. Detailed description for patchset: 1. Update the extcon drivers: - Update the logic of microphone detection for extcon-arizona driver - Support GPIO based USB ID detection of extcon-palmas driver 2. Fix minor issues: - Clean code and remove the opitonal print_state() function pointer from extcon core driver - Clear interrupt bit state before requesting irq on extcon-max778433 driver - Fix signedness bugs of extcon core driver commit 02dc2723f2b0b94bb3e47c08e1543b84b1836086 Merge: 1724856 26c78da Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 09:09:51 2015 -0700 Merge tag 'usb-serial-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next Johan writes: USB-serial updates for v4.3-rc1 Here's a fix for a long-standing issue with the pl2303 divisor calculations that affects some non-standard baudrates that were enabled in v3.18. Adding support for newer Edgeport devices and firmware required changes to the io_ti driver and also exposed some issues with the driver's current firmware handling. Included is also a URL comment-typo fix. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 3a6b0605c73d1d695f6d4e49289deaa3fa3e73ee Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Aug 17 11:51:35 2015 -0300 Revert "[media] ARM: DT: STi: STiH407: Add c8sectpfe LinuxDVB DT node" There are some missing dependencies at the DT, as it looks for an I2C bus named "ssc2", but this is not defined. Probably, it misses some dependencies from some other tree. For now, revert this patch, to avoid build breakages. This reverts commit 5d8877b6ae0d47897b821b8a11a2e8dee9a22686. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b2887410f0d00f376b250f78d34654b4ac093900 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Aug 13 21:10:54 2015 +0530 ath10k: fill in wmi 10.4 command handlers for addba/delba debug commands WMI 10.4 uses the same command interface as QCA988X for addba/delba debug wmi commands. Fill wmi_10_4_ops table with the functions used for QCA988X for these commands. With this change, the following debugfs entries can be used to configure the aggregation mode and to send addba request, addba response and delba respectively in manual aggregation mode for QCA99X0 chip. /sys/kernel/debug/ieee80211/phyX/netdev:wlanX/stations/XX:XX:XX:XX:XX:XX/aggr_mode /sys/kernel/debug/ieee80211/phyX/netdev:wlanX/stations/XX:XX:XX:XX:XX:XX/addba /sys/kernel/debug/ieee80211/phyX/netdev:wlanX/stations/XX:XX:XX:XX:XX:XX/addba_resp /sys/kernel/debug/ieee80211/phyX/netdev:wlanX/stations/XX:XX:XX:XX:XX:XX/delba Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2b0a2e0d7c2f12d06575fdc2a0f5cc04b131202d Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:13:34 2015 +0300 ath10k: handle 10.4 firmware phyerr event Header format of 10.4 firmware phyerr event is not alligned with pre 10.4 firmware. Introduce new wmi handlers to parse 10.4 firmware specific phyerror event header. With changes covered in this patch, radar detection works on qca9x0 hw 2.0 which uses 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 991adf71a6cd993c3e6a1a0d8ea9f88b2fa51b95 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:13:29 2015 +0300 ath10k: refactor phyerr event handlers Existing phyerr event handlers directly uses phyerr header format (ie, struct wmi_phyerr and struct wmi_phyerr_event) in the code exactly on how firmware packs it. This is the problem in 10.4 fw specific phyerr event handling where it uses different phyerror header format. Before adding 10.4 specific handler, little bit of refactor is done in existing phyerr handlers. Two new abstracted structures (struct wmi_phyerr_ev_hdr_arg and struct wmi_phyerr_ev_arg) are introduced to remove dependency of using firmware specific header format in the code. So that firmware specific phyerror handlers can populate values to abstracted structures and the following code can use abstracted struct for further operation. .pull_phyerr_hdr is added newly to pull common phyerr header info like tsf, buf_len, number of phyerr packed. Existing .pull_phyerr handler is changed and called to parse every sub phyerrs in the event. Validated these refactoring on qca988x hw2.0 using fw 10.2.4 version. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f4bbb8290143b61904a082e9c6d69b6633721925 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu Aug 13 15:38:31 2015 +0300 wil6210: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. As remain is exclusively used for wait_for_completion_timeout here its type is simply changed to unsigned long. API conformance testing for completions with coccinelle spatches are being used to locate API usage inconsistencies: ./drivers/net/wireless/ath/wil6210/wmi.c:827 int return assigned to unsigned long Patch was compile tested with x86_64_defconfig + CONFIG_ATH_CARDS=m, CONFIG_WIL6210=m Patch is against 4.1-rc3 (localversion-next is -next-20150514) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8674d909fabf49140e266f124af68daa3ac93ab3 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 13 14:10:46 2015 +0200 ath10k: split ap/ibss wep key install process Apparently it's not safe to install both pairwise and groupwise keys on AP vdevs as it can cause traffic to stop working in some multi-vif (WPA+WEP) cases. Fixes: ce90b27128c2 ("ath10k: fix multiple key static wep with ibss") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 01ec8472009c973413d4dc6fb198f0cc40abb9b4 Author: Clemens Gruber <clemens.gruber@xxxxxxxxxxxx> Date: Thu Jul 23 17:19:02 2015 +0200 pwm-pca9685: Support changing the output frequency Previously, period_ns and duty_ns were only used to determine the ratio of ON and OFF time, the default frequency of 200 Hz was never changed. The PCA9685 however is capable of changing the PWM output frequency, which is expected when changing the period. This patch configures the prescaler accordingly, using the formula and notes provided in the PCA9685 datasheet. Bounds checking for the minimum and maximum frequencies, last updated in revision v.4 of said datasheet, is also added. The prescaler is only touched if the period changed, because we have to put the chip into sleep mode to unlock the prescale register. If it is changed, the PWM output frequency changes for all outputs, because there is one prescaler per chip. This is documented in the PCA9685 datasheet and in the comments. If the duty cycle is not changed at the same time as the period, then we restart the PWM output using the duty cycle to period ratio from before the period change. When using LEDs for example, previously set brightness levels stay the same when the frequency changes. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Clemens Gruber <clemens.gruber@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 4a627b52e47ee09348773a981f2097f69ff349ee Author: Clemens Gruber <clemens.gruber@xxxxxxxxxxxx> Date: Thu Jul 23 17:19:01 2015 +0200 pwm-pca9685: Fix several driver bugs Problems: - When duty_ns == period_ns, the full OFF bit was not cleared and the PWM output of the PCA9685 stayed off. - When duty_ns == period_ns and the catch-all channel was used, the ALL_LED_OFF_L register was not cleared. - The full ON bit was not cleared when setting the OFF time, therefore the exact OFF time was ignored when setting a duty_ns < period_ns Solution: Clear both OFF registers when setting full ON and clear the full ON bit when changing the OFF registers. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Clemens Gruber <clemens.gruber@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 22d109c1bb312dbf321f3d0ab1b0ed94f1a7e304 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:09 2015 +0200 nbd: flags is a u32 variable The flags variable is used as u32 variable. This patch changes the type to be u32. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit cad73b2703cff68b140d68221eeecd5a30322b44 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:08 2015 +0200 nbd: Rename functions for clearness of recv/send path This patch renames functions so that it is clear what the function does. Otherwise it is not directly understandable what for example 'do_it' means. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 696697cb50e4b57d4163d59a496ad9e52f6bff8a Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:07 2015 +0200 nbd: Change 'disconnect' to be boolean Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 30d53d9c11b6c2f71253a2be582969d7e6fa7f10 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:06 2015 +0200 nbd: Add debugfs entries Add some debugfs files that help to understand the internal state of NBD. This exports the different sizes, flags, tasks and so on. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6521d39a64b3f9c3acb0fd25a34cfaf9a40e548e Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:05 2015 +0200 nbd: Remove variable 'pid' This patch uses nbd->task_recv to determine the value of the previously used variable 'pid' for sysfs. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e78273c80b213806ec7c51176ec81e034fe5cb9f Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:04 2015 +0200 nbd: Move clear queue debug message This message was a warning without a reason. This patch moves it into nbd_clear_que and transforms it to a debug message. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 193918307f4e66eb6a811f30795991c6f7680b34 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:03 2015 +0200 nbd: Remove 'harderror' and propagate error properly Instead of a variable 'harderror' we can simply try to correctly propagate errors to the userspace. This patch removes the harderror variable and passes errors through error pointers and nbd_do_it back to the userspace. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 260bbce403e2ac601b422fd926f48b9924051f92 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:02 2015 +0200 nbd: restructure sock_shutdown This patch restructures sock_shutdown to avoid having the main code path in an if block. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 36e47bee7c9bc7771aad6e972dea92e2324338a4 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:01 2015 +0200 nbd: sock_shutdown, remove conditional lock Move the conditional lock from sock_shutdown into the surrounding code. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7e2893a16d3e71035a38122a77bc55848a29f0e4 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Aug 17 08:20:00 2015 +0200 nbd: Fix timeout detection At the moment the nbd timeout just detects hanging tcp operations. This is not enough to detect a hanging or bad connection as expected of a timeout. This patch redesigns the timeout detection to include some more cases. The timeout is now in relation to replies from the server. If the server does not send replies within the timeout the connection will be shut down. The patch adds a continous timer 'timeout_timer' that is setup in one of two cases: - The request list is empty and we are sending the first request out to the server. We want to have a reply within the given timeout, otherwise we consider the connection to be dead. - A server response was received. This means the server is still communicating with us. The timer is reset to the timeout value. The timer is not stopped if the list becomes empty. It will just trigger a timeout which will directly leave the handling routine again as the request list is empty. The whole patch does not use any additional explicit locking. The list_empty() calls are safe to be used concurrently. The timer is locked internally as we just use mod_timer and del_timer_sync(). The patch is based on the idea of Michal Belczyk with a previous different implementation. Cc: Michal Belczyk <belczyk@xxxxxxxxxxxxx> Cc: Hermann Lauer <Hermann.Lauer@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Tested-by: Hermann Lauer <Hermann.Lauer@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit fe0aea7978d25d8df6c128481b8111e76d972657 Author: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Date: Mon Jun 15 14:21:01 2015 -0700 pwm: kona: Modify settings application sequence Update the driver so that settings are applied in accordance with the most recent version of the hardware spec. The revised sequence clears the trigger bit, waits 400ns, writes settings, sets the trigger bit, and waits another 400ns. This corrects an issue where occasionally a requested change was not properly reflected in the PWM output. Reviewed-by: Arun Ramamurthy <arunrama@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Tested-by: Scott Branden <sbranden@xxxxxxxxxxxx> Reviewed-by: Tim Kryger <tim.kryger@xxxxxxxxx> Signed-off-by: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit db0fa0cb015794dd19f664933d49c6ce902ec1e1 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 17 08:13:26 2015 -0600 scatterlist: use sg_phys() Coccinelle cleanup to replace open coded sg to physical address translations. This is in preparation for introducing scatterlists that reference __pfn_t. // sg_phys.cocci: convert usage page_to_phys(sg_page(sg)) to sg_phys(sg) // usage: make coccicheck COCCI=sg_phys.cocci MODE=patch virtual patch @@ struct scatterlist *sg; @@ - page_to_phys(sg_page(sg)) + sg->offset + sg_phys(sg) @@ struct scatterlist *sg; @@ - page_to_phys(sg_page(sg)) + sg_phys(sg) & PAGE_MASK Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 89e2a8404e4415da1edbac6ca4f7332b4a74fae2 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 7 18:15:15 2015 +0200 crypto/omap-sham: remove an open coded access to ->page_link Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> [hch: split from a larger patch by Dan] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit da81ed16bdb3bc1bf92e6cb3340915a3204d5ace Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Aug 7 18:15:14 2015 +0200 scatterlist: remove open coded sg_unmark_end instances Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> [hch: split from a larger patch by Dan] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c56f6d1270b9fc31144b59106bc8590c2acf4a8e Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Aug 7 18:15:13 2015 +0200 crypto: replace scatterwalk_sg_chain with sg_chain Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> [hch: split from a larger patch by Dan] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 02c4de53add1b799f5663d5e9c8e9a5d9366a507 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 7 18:15:12 2015 +0200 target/rd: always chain S/G list The rd sg lists are never passed to hardware, so use S/G chaining unonditionally. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 10c95ed9aa2970e05fedb4ac8b3ce1b934dab17b Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 7 18:15:11 2015 +0200 scatterlist: allow limited chaining without ARCH_HAS_SG_CHAIN There are a couple of uses of struct scatterlist that never go to the dma_map_sg() helper and thus don't care about ARCH_HAS_SG_CHAIN which indicates that we can map chained S/G list. The most important one is the crypto code, which currently has to open code a few helpers to always allow chaining. This patch removes a few #ifdef ARCH_HAS_SG_CHAIN statements so that we can switch the crypto code to these common helpers. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5efb1d5489520ce72232bbc28e9156f0ebddc44e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:42 2015 +0300 perf tools: Take Intel PT into use To record an AUX area, the weak function auxtrace_record__init() must be implemented. Equally to decode an AUX area, the AUX area tracing type must be added to the perf_event__process_auxtrace_info() function. This patch makes those two changes plus hooks up default config for the intel_pt PMU. Also some brief documentation is provided for using the tools with intel_pt. Commiter note: E.g: [root@perf4 ~]# dmesg 451 [0.405807] Performance Events: PEBS fmt2+, 16-deep LBR, Broadwell events, full-width counters, Intel PMU driver. [root@perf4 ~]# perf --version perf version 4.1.g53874a [root@perf4 ~]# perf record -e intel_pt//u -a sleep 10 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.383 MB perf.data ] [root@perf4 ~]# perf evlist intel_pt//u sched:sched_switch dummy:u [root@perf4 ~]# perf report --stdio # To display the perf.data header info, please use --header/--header-only options. # # # Total Lost Samples: 0 # # Samples: 0 of event 'intel_pt//u' # Event count (approx.): 0 # # Overhead Command Shared Object Symbol # ........ ....... ............. ...... # # Samples: 393 of event 'sched:sched_switch' # Event count (approx.): 393 # # Overhead Command Shared Object Symbol # ........ .............. ................ .............. 49.62% swapper [kernel.vmlinux] [k] __schedule 10.69% rcu_sched [kernel.vmlinux] [k] __schedule 6.62% rcuos/0 [kernel.vmlinux] [k] __schedule 5.60% kworker/0:1 [kernel.vmlinux] [k] __schedule 3.56% rcuos/3 [kernel.vmlinux] [k] __schedule 3.05% kworker/u384:2 [kernel.vmlinux] [k] __schedule 2.54% kworker/2:0 [kernel.vmlinux] [k] __schedule 2.54% tuned [kernel.vmlinux] [k] __schedule <SNIP> # Samples: 0 of event 'dummy:u' # Event count (approx.): 0 # # Overhead Command Shared Object Symbol # ........ ....... ............. ...... # Samples: 28 of event 'instructions:u' # Event count (approx.): 5030172 # # Overhead Command Shared Object Symbol # ........ .......... ................... ................................ # 21.43% tuned libpython2.7.so.1.0 [.] PyEval_EvalFrameEx | ---PyEval_EvalFrameEx | |--83.33%-- PyEval_EvalCodeEx | PyEval_EvalFrameEx | | | |--60.00%-- PyEval_EvalCodeEx | | PyEval_EvalFrameEx | | PyEval_EvalFrameEx | | | --40.00%-- PyEval_EvalFrameEx | --16.67%-- PyEval_EvalFrameEx PyEval_EvalCodeEx PyEval_EvalFrameEx PyEval_EvalCodeEx PyEval_EvalFrameEx PyEval_EvalFrameEx 14.29% tuned libpython2.7.so.1.0 [.] _PyType_Lookup | ---_PyType_Lookup _PyObject_GenericGetAttrWithDict PyEval_EvalFrameEx PyEval_EvalCodeEx PyEval_EvalFrameEx PyEval_EvalCodeEx PyEval_EvalFrameEx | |--75.00%-- PyEval_EvalFrameEx | --25.00%-- PyEval_EvalCodeEx PyEval_EvalFrameEx PyEval_EvalFrameEx 3.57% irqbalance irqbalance [.] 0x0000000000004038 | ---0x4038 0x4761 0x4761 0x4761 0x49f1 0x2295 3.57% irqbalance libc-2.17.so [.] __GI_____strtoull_l_internal | ---__GI_____strtoull_l_internal 0x6f49 0x229a 3.57% irqbalance libc-2.17.so [.] __strchrnul | ---__strchrnul vfprintf __vsprintf_chk __sprintf_chk 0x2724 0x4038 0x2331 3.57% irqbalance libc-2.17.so [.] __strstr_sse42 | ---__strstr_sse42 0x71e0 0x229f # And now to some userspace ftrace on uninstrumented binaries 8-) : # Hand edited to make it a bit more compact, replacing /home/acme/bin/perf # with /bin/perf: [root@perf4 ~]# perf script perf 8921 [3] 7.310889: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310889: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 481630 perf_evlist__enable (/bin/perf) => 4816d8 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 4816de perf_evlist__enable (/bin/perf) => 48164f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310889: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310889: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.310890: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310890: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310890: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310890: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310890: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310890: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310890: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.310893: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310893: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310893: 1 branches:u: 4816a8 perf_evlist__enable (/bin/perf) => 4815f8 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310893: 1 branches:u: 4815fe perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310893: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310893: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310893: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310893: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.310956: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310956: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 481630 perf_evlist__enable (/bin/perf) => 4816d8 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 4816de perf_evlist__enable (/bin/perf) => 48164f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310956: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310956: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.310961: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310961: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310961: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310961: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310961: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310961: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310961: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.310968: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310968: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310968: 1 branches:u: 4816a8 perf_evlist__enable (/bin/perf) => 4815f8 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310968: 1 branches:u: 4815fe perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310968: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.310968: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.310968: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.310968: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.311040: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.311040: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 481630 perf_evlist__enable (/bin/perf) => 4816d8 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 4816de perf_evlist__enable (/bin/perf) => 48164f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.311040: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.311040: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.311046: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.311046: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311046: 1 branches:u: 481694 perf_evlist__enable (/bin/perf) => 481614 perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311046: 1 branches:u: 481652 perf_evlist__enable (/bin/perf) => 48165f perf_evlist__enable (/bin/perf) perf 8921 [3] 7.311046: 1 branches:u: 481684 perf_evlist__enable (/bin/perf) => 41d250 ioctl@plt (/bin/perf) perf 8921 [3] 7.311046: 1 branches:u: 41d250 ioctl@plt (/bin/perf) => 7fcecadbf250 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.311046: 1 branches:u: 7fcecadbf255 __GI___ioctl (/usr/lib64/libc-2.17.so) => 0 [unknown] ([unknown]) perf 8921 [3] 7.311050: 1 branches:u: 0 [unknown] ([unknown]) => 7fcecadbf257 __GI___ioctl (/usr/lib64/libc-2.17.so) perf 8921 [3] 7.311050: 1 branches:u: 7fcecadbf25f __GI___ioctl (/usr/lib64/libc-2.17.so) => 481689 perf_evlist__enable (/bin/perf) : Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-8-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 90e457f7be0870052724b2d9c2c106e5847f2c19 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:41 2015 +0300 perf tools: Add Intel PT support Add support for Intel Processor Trace. Intel PT support fits within the new auxtrace infrastructure. Recording is supporting by identifying the Intel PT PMU, parsing options and setting up events. Decoding is supported by queuing up trace data by cpu or thread and then decoding synchronously delivering synthesized event samples into the session processing for tools to consume. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-7-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f4aa081949e7b6b01e711229c5a47ee3482a169c Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:40 2015 +0300 perf tools: Add Intel PT decoder Add support for decoding an Intel Processor Trace. Intel PT trace data must be 'decoded' which involves walking the object code and matching the trace data packets. The decoder requests a buffer of binary data via a get_trace() call-back, which it decodes using instruction information which it gets via another call-back walk_insn(). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-6-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 53af92849d793662e943d61bb16f7d3eb2d7a072 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:39 2015 +0300 perf tools: Add Intel PT log Add a facility to log Intel Processor Trace decoding. The log is intended for debugging purposes only. The log file name is "intel_pt.log" and is opened in the current directory. The log contains a record of all packets and instructions decoded and can get very large (10 MB would be a small one). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 237fae79f50d2d0c7bdeb039bc2c87fc6d52c7e7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 13 10:14:55 2015 +0300 perf tools: Add Intel PT instruction decoder Add support for decoding instructions for Intel Processor Trace. The kernel x86 instruction decoder is copied for this. This essentially provides intel_pt_get_insn() which takes a binary buffer, uses the kernel's x86 instruction decoder to get details of the instruction and then categorizes it for consumption by an Intel PT decoder. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439450095-30122-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a4e925905c98fb83538c164878946d77d0df1433 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:37 2015 +0300 perf tools: Add Intel PT packet decoder Add support for decoding Intel Processor Trace packets. This essentially provides intel_pt_get_packet() which takes a buffer of binary data and returns the decoded packet. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 55ea4ab4260f42b824450faa47fe4d129fce0918 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:36 2015 +0300 perf auxtrace: Add Intel PT as an AUX area tracing type Add the Intel Processor Trace type constant PERF_AUXTRACE_INTEL_PT. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 835095653ebfe4b16596a30db1c4e7c414014b5e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 13 12:40:56 2015 +0300 perf tools: Add a helper function to probe whether cpu-wide tracing is possible Add a helper function to probe whether cpu-wide tracing is possible. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439458857-30636-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f0ee3b467ab7a74ffce75190259eb59dbf30ecad Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 14 15:50:06 2015 +0300 perf symbols: Fix annotation of vdso Older kernels attempt to prelink vdso to its virtual address. To permit annotation using objdump, the map__rip_2objdump() calculation must result in that same address which we can infer from the start and offset of the text section. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1439556606-11297-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3d7245b0946c13a97e3a10213b8fd0152972a0d5 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 14 10:11:34 2015 +0300 perf annotate: Fix 32-bit compilation error in util/annotate.c Fix the following 32-bit compilation errors: util/annotate.c: In function â??addr_map_symbol__account_cyclesâ??: util/annotate.c:643:3: error: format â??%lxâ?? expects argument of type â??long unsigned intâ??, but argument 4 has type â??u64â?? [-Werror=format=] pr_debug2("BB with bad start: addr %lx start %lx sym %lx saddr %lx\n", ^ util/annotate.c:643:3: error: format â??%lxâ?? expects argument of type â??long unsigned intâ??, but argument 5 has type â??u64â?? [-Werror=format=] util/annotate.c:643:3: error: format â??%lxâ?? expects argument of type â??long unsigned intâ??, but argument 6 has type â??u64â?? [-Werror=format=] These were introduced by the patch: "perf report: Add infrastructure for a cycles histogram" Also change the 'saddr' variable from 'unsigned long' to 'u64' noting that theoretically we could be processing data captured on a 64-bit machine but processing it on a 32-bit machine. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Fixes: d4957633bf9d ("perf report: Add infrastructure for a cycles histogram") Link: http://lkml.kernel.org/r/1439536294-18241-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 09c14459f2622ccacdff13461c5c864bff80cc07 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:28:10 2015 +0900 pwm: pca9685: Drop owner assignment i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 21df89a5667de5fcd061753d3833e7dfcf5509d3 Author: Jammy Zhou <Jammy.Zhou@xxxxxxx> Date: Fri Aug 7 15:30:44 2015 +0800 drm/amdgpu: fix one warning message In function 'amdgpu_uvd_cs_pass2': warning: 'min_ctx_size' may be used uninitialized in this function buf_sizes[0x4] = min_ctx_size; ^ note: 'min_ctx_size' was declared here unsigned image_size, tmp, min_dpb_size, num_dpb_buffer, min_ctx_size; ^ Signed-off-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 7322d6c98dd214252bd697f8dde64a3576977fab Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Aug 13 09:17:24 2015 +0200 perf script: Initialize callchain_param.record_mode Milian Wolff reported non functional DWARF unwind under perf script. The reason is that perf script does not properly configure callchain_param.record_mode, which is needed by unwind code. Stealing the code from report and leaving the place for more initialization code in a hope we could merge it with report__setup_sample_type one day. Reported-by: Milian Wolff <mail@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Milian Wolff <milian.wolff@xxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150813071724.GA21322@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9c8fb548fb242b462657151eb9c5dd6b6def5b62 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Wed Aug 12 16:24:05 2015 +0530 ath10k: add cycle/rx_clear counters frequency to hw_params The frequency at which cycle/rx_clear counters are running might change from one target type to another. QCA99X0 is running the counters at 150Mhz while QCA9888X and QCA6174 are running at 88Mhz. Add a new entry to hw_params to store the target specific frequency and use it in msecs conversion. This change fixes inconsistent channel active/busy time. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3d2a2e293e9578f59b182c8e5ad7b54ec4e28318 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Wed Aug 12 16:24:04 2015 +0530 ath10k: fix invalid survey reporting for QCA99X0 There are three WMI_CHAN_INFO events reported per channel in QCA99X0 firmware. First one is a notification at the begining of the channel dwell time with cmd_flag as CHAN_INFO_START(cmd_flag = 0), second one is a notification at the end of the dwell time with cmd_flag CHAN_INFO_PRE_COMPLETE (cmd_flag = 2) and the third is the indication with CHAN_INFO_COMPLETE (cmd_flag = 1) which is the last indication for the channel. Since there is a new state before the completion, the handler is to fixed so that the counts are deducted from the ones reported with CHAN_INFO_START rather than the ones reported with CHAN_INFO_PRE_COMPLETE. Without this fix there will be lots of 0 msecs reported as active and busy time. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d0465208206c7c6859afffc405570c1921e2d896 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Jul 23 10:53:51 2015 -0400 drm/radeon/dce6: assign different audio pins to each encoder This allows you to send different audio to each audio capable display. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 6d2d51ecfff13f5f6ffc476dccf4d5b2668072eb Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 7 09:08:21 2015 +0200 ath10k: wake up queue upon vif creation Vif's vdev_id is used as queue number. However due to the tx pausing design in ath10k it was possible for a new interface to be created with its tx queue stopped (via ieee80211_stop_queues). This could in turn leave the interface inoperable until ath10k_mac_tx_unlock() was called. This problem only affected multi-vif scenarios when new interfaces were created some time later after other interfaces have been running for some time and had Tx queue full at some point prior. Possible manifestation of the bug was authentication timeout for a client vif. Fixes: 96d828d45e16 ("ath10k: rework tx queue locking") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6e146f5c41da7e9601fe92fb4d06b45431dbf95b Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Jul 27 12:00:23 2015 +0200 pwm: Add to device-drivers documentation Add a short introductory text along with API documentation generated from kerneldoc comments for the PWM framework. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 048838027667872a75d3af40c51a22088bafd968 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Jul 27 11:58:32 2015 +0200 pwm: Clean up kerneldoc Clean up kerneldoc in preparation for including the PWM documentation in DocBook. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 6bc7064a69fc5b1f774771ea9e2c50e497311766 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Jul 27 11:57:28 2015 +0200 pwm: Remove useless whitespace Remove useless tabs used for padding in structure definitions as well as some blank lines. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 3a73d1a6f22bf13044056543ad43b2a304ee0022 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 6 14:46:54 2015 +0200 ath10k: wake up offchannel queue properly Once HTT Tx queue got full offchannel queue was stopped and never woken up again. This broke, e.g. P2P. This could be reproduced after running a lot of traffic enough to saturate 100% of the driver Tx queue and then trying to send offchannel traffic. Fixes: 96d828d45e16 ("ath10k: rework tx queue locking") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a0a8bcf4670c2c696e6e83742539a5e0dd7a62d6 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Aug 17 15:35:23 2015 +0300 gpiolib: irqchip: use different lockdep class for each gpio irqchip Since IRQ chip helpers were introduced drivers lose ability to register separate lockdep classes for each registered GPIO IRQ chip and the gpiolib now is using shared lockdep class for all GPIO IRQ chips (gpiochip_irq_lock_class). As result, lockdep will produce warning when there are min two stacked GPIO chips and all of them are interrupt controllers. HW configuration which generates lockdep warning (TI dra7-evm): [SOC GPIO bankA.gpioX] <- irq - [pcf875x.gpioY] <- irq - DevZ.enable_irq_wake(pcf_gpioY_irq); The issue was reported in [1] and discussed [2]. ============================================= [ INFO: possible recursive locking detected ] 4.2.0-rc6-00013-g5d050ed-dirty #55 Not tainted --------------------------------------------- sh/63 is trying to acquire lock: (class){......}, at: [<c009b91c>] __irq_get_desc_lock+0x50/0x94 but task is already holding lock: (class){......}, at: [<c009b91c>] __irq_get_desc_lock+0x50/0x94 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(class); lock(class); *** DEADLOCK *** May be due to missing lock nesting notation 7 locks held by sh/63: #0: (sb_writers#4){.+.+.+}, at: [<c016bbb8>] vfs_write+0x13c/0x164 #1: (&of->mutex){+.+.+.}, at: [<c01debf4>] kernfs_fop_write+0x4c/0x1a0 #2: (s_active#36){.+.+.+}, at: [<c01debfc>] kernfs_fop_write+0x54/0x1a0 #3: (pm_mutex){+.+.+.}, at: [<c009758c>] pm_suspend+0xec/0x4c4 #4: (&dev->mutex){......}, at: [<c03f77f8>] __device_suspend+0xd4/0x398 #5: (&gpio->lock){+.+.+.}, at: [<c009b940>] __irq_get_desc_lock+0x74/0x94 #6: (class){......}, at: [<c009b91c>] __irq_get_desc_lock+0x50/0x94 stack backtrace: CPU: 0 PID: 63 Comm: sh Not tainted 4.2.0-rc6-00013-g5d050ed-dirty #55 Hardware name: Generic DRA74X (Flattened Device Tree) [<c0016e24>] (unwind_backtrace) from [<c0013338>] (show_stack+0x10/0x14) [<c0013338>] (show_stack) from [<c05f6b24>] (dump_stack+0x84/0x9c) [<c05f6b24>] (dump_stack) from [<c00903f4>] (__lock_acquire+0x19c0/0x1e20) [<c00903f4>] (__lock_acquire) from [<c0091098>] (lock_acquire+0xa8/0x128) [<c0091098>] (lock_acquire) from [<c05fd61c>] (_raw_spin_lock_irqsave+0x38/0x4c) [<c05fd61c>] (_raw_spin_lock_irqsave) from [<c009b91c>] (__irq_get_desc_lock+0x50/0x94) [<c009b91c>] (__irq_get_desc_lock) from [<c009c4f4>] (irq_set_irq_wake+0x20/0xfc) [<c009c4f4>] (irq_set_irq_wake) from [<c0393ac4>] (pcf857x_irq_set_wake+0x24/0x54) [<c0393ac4>] (pcf857x_irq_set_wake) from [<c009c560>] (irq_set_irq_wake+0x8c/0xfc) [<c009c560>] (irq_set_irq_wake) from [<c04a02ac>] (gpio_keys_suspend+0x70/0xd4) [<c04a02ac>] (gpio_keys_suspend) from [<c03f6a00>] (dpm_run_callback+0x50/0x124) [<c03f6a00>] (dpm_run_callback) from [<c03f7830>] (__device_suspend+0x10c/0x398) [<c03f7830>] (__device_suspend) from [<c03f90f0>] (dpm_suspend+0x134/0x2f4) [<c03f90f0>] (dpm_suspend) from [<c0096e20>] (suspend_devices_and_enter+0xa8/0x728) [<c0096e20>] (suspend_devices_and_enter) from [<c00977cc>] (pm_suspend+0x32c/0x4c4) [<c00977cc>] (pm_suspend) from [<c0096060>] (state_store+0x64/0xb8) [<c0096060>] (state_store) from [<c01dec64>] (kernfs_fop_write+0xbc/0x1a0) [<c01dec64>] (kernfs_fop_write) from [<c016b280>] (__vfs_write+0x20/0xd8) [<c016b280>] (__vfs_write) from [<c016bb0c>] (vfs_write+0x90/0x164) [<c016bb0c>] (vfs_write) from [<c016c330>] (SyS_write+0x44/0x9c) [<c016c330>] (SyS_write) from [<c000f500>] (ret_fast_syscall+0x0/0x54) Lets fix it by using separate lockdep class for each registered GPIO IRQ Chip. This is done by wrapping gpiochip_irqchip_add call into macros. The implementation of this patch inspired by solution done by Nicolas Boichat for regmap [3] [1] http://www.spinics.net/lists/linux-gpio/msg05844.html [2] http://www.spinics.net/lists/linux-gpio/msg06021.html [3] http://www.spinics.net/lists/arm-kernel/msg429834.html Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Roger Quadros <rogerq@xxxxxx> Reported-by: Roger Quadros <rogerq@xxxxxx> Tested-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d5cf00c7ac2bf6b9d10c393b1e3b7551176c7f40 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 17 15:06:52 2015 +0200 ALSA: hda/eld - Add const to possible places Similar like the previous fix to hda_proc.c, adding const prefix will save our world (a little bit). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1d260d7b3b03f96dfbc9781ec046edc729220f09 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 17 14:57:32 2015 +0200 ALSA: hda/proc - Fix racy string access for power states The power states in a proc file are printed in a racy manner on a single static string buffer. Fix it by calling snd_iprintf() directly for each state instead of processing on a temporary buffer. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cc75cdfe1d64585d82013632b81199b1e9f1da97 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 17 14:52:51 2015 +0200 ALSA: hda/proc - Add const to possible places Many arrays in hda_proc.c are string arrays that should be covered by const prefix for increasing the safety and reducing the size. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d2c6b63df5c143ea1535398e0874432277285765 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 17 14:44:24 2015 +0200 ALSA: hda - Make some helper functions local A few helper functions to convert the pin information to strings have been exported with assumption that they were used by other drivers. But they are referred only in the proc interface in the end. Let's make them local so that we can get rid of a few exports. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dd43c4e92fbb135dcbf02845578db60be56a453a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 20:39:40 2015 +0800 crypto: null - Add missing Kconfig tristate for NULL2 This patch adds a missing tristate statement to Kconfig for the new CRYPTO_NULL2 option. Fixes: 149a39717dcc ("crypto: aead - Add type-safe geniv init/exit helpers") Reported-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 54e466fde4816455cc5b1893b73c2f3c7ca52e49 Merge: 2c6625c 11cec15 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Mon Aug 17 14:16:59 2015 +0200 Merge tag 'tegra-for-4.3-iommu' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/tegra iommu/tegra-smmu: Changes for v4.3-rc1 A bunch of improvements by Russell King, along with a fix to restore display support when using the SMMU. This was due to the SMMU driver writing the wrong value of active TLB lines, effectively disabling the TLB and causing massive underflows on the display controller because of the latency introduced by the SMMU. commit 9129c26da1711aba1e6295c28de8814301869732 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 18:04:17 2015 +0800 crypto: nx - Add forward declaration for struct crypto_aead The file nx.h has function prototypes that use struct crypto_aead. However, as crypto/aead.h is not included we don't have a definition for it. This patch adds a forward declaration to fix this. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a26bcb04861db3061bb7db11ce905aa037111f81 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 17:45:27 2015 +0800 crypto: null - Use NULL2 in Makefile The Kconfig option NULL2 has been added as CRYPTO_MANAGER now depends indirectly on NULL2. However, the Makefile was not updated to use the new option, resulting in potential build failures when only NULL2 is enabled. Fixes: 149a39717dcc ("crypto: aead - Add type-safe geniv init/exit helpers") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 57e104864bc4874a36796fd222d8d084dbf90b9b Author: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Date: Tue Aug 11 01:27:18 2015 +0900 mmc: dw_mmc: add quirk for broken data transfer over scheme This patch add a new quirk to add a s/w timer to notify the driver to terminate current transfer and report a data timeout to the core, if DTO interrupt does NOT come within the given time. dw_mmc call mmc_request_done func to finish transfer depends on DTO interrupt. If DTO interrupt does not come in sending data state, the current transfer will be blocked. We got the reply from synopsys: There are two counters but both use the same value of [31:8] bits. Data timeout counter doesn't wait for stop clock and you should get DRTO even when the clock is not stopped. Host Starvation timeout counter is triggered with stop clock condition. This means that host should get DRTO and DTO interrupt. But this case really exists, when driver reads tuning data from card on RK3288-pink2 board. I measured waveforms by oscilloscope and found that card clock was always on and data lines were always holded high level in sending data state. There are two possibility that data over interrupt doesn't come in reading data state on RK3X SoCs: - get command done interrupt, but doesn't get any data-related interrupt. - get data error interrupt, but doesn't get data over interrupt. Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 40a7a463a80ae9e3b85a9fd85cf704fb9ac28b6f Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Thu Aug 6 16:23:26 2015 +0900 mmc: dw_mmc: print the message for deprecated property supports-highspeed was deprecated. If someone use it, we need to notice information for it. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 2b708df2b3edf6e91a4c8d89e7aedb0f861d0e41 Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Thu Aug 6 16:23:25 2015 +0900 mmc: dw_mmc: remove the unused blk_setting "blk_setting" doesn't use anywhere. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 9e747b7e4af090a4974005f3064963026f519fcc Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Thu Aug 6 16:23:24 2015 +0900 mmc: dw_mmc: fix the wrong condition checking When num-slots is lower than 1, it's right that should be returned -ENODEV. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 575c319dfe872fc8bf1d57b244fb40f497ab3a47 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Aug 3 17:04:10 2015 +0200 mmc: dw_mmc: fix pio mode when internal dmac is enabled The dw_mci_init_dma() may decide to not use dma, but pio instead, caused by things like wrong dma settings in the system. Till now the code dw_mci_init_slot() always assumed that dma is available when CONFIG_MMC_DW_IDMAC was defined, ignoring the host->use_dma var set during dma init. So when now the dma init failed for whatever reason, the transfer sizes would still be set for dma transfers, especially including the maximum block-count calculated from host->ring_size and resulting in a [ 4.991109] ------------[ cut here ]------------ [ 4.991111] kernel BUG at drivers/mmc/core/core.c:256! [ 4.991113] Internal error: Oops - BUG: 0 [#1] SMP ARM because host->ring_size is 0 in this case and the slot init code uses the wrong code to calculate the values. Fix this by selecting the correct calculations using the host->use_dma variable instead of the CONFIG_MMC_DW_IDMAC config option. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 0e3a22c044478b6114a767af4a765c0e33eddd53 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Mon Aug 3 15:07:21 2015 +0800 mmc: dw_mmc: Fix coding style issues This patch fixes the following issues reported by checkpatch.pl: - use -EINVAL instead of -ENOSYS, to fix warning message: "ENOSYS means 'invalid syscall nr' and nothing else" - split lines whose length is greater than 80 characters - avoid quoted string split across lines - use min_t instead of min, to fix warning message: "min() should probably be min_t(int, cnt, host->part_buf_count)" - fix missing a blank line after declarations Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 5959b32e3636f9bfe3f869d1e440bc4a4d660965 Author: Alexey Brodkin <Alexey.Brodkin@xxxxxxxxxxxx> Date: Thu Jun 25 11:25:07 2015 +0300 mmc: dw_mmc: handle data blocks > than 4kB if IDMAC is used As per DW MobileStorage databook "each descriptor can transfer up to 4kB of data in chained mode", moreover buffer size that is put in "des1" is limited to 13 bits, i.e. for example on attempt to IDMAC_SET_BUFFER1_SIZE(desc, 8192) size value that's effectively written will be 0. On the platform with 8kB PAGE_SIZE I see dw_mmc gets data blocks in SG-list of 8kB size and that leads to unpredictable behavior of the SD/MMC controller. In particular on write to FAT partition of SD-card the controller will stuck in the middle of DMA transaction. Solution to the problem is simple - we need to pass large (> 4kB) data buffers to the controller via multiple descriptors. And that's what that change does. What's interesting I did try original driver on same platform but configured with 4kB PAGE_SIZE and may confirm that data blocks passed in SG-list to dw_mmc never exeed 4kB limit - that explains why nobody ever faced a problem I did. Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Cc: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Cc: arc-linux-dev@xxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit 7d70d476d0112b44bf93747934ff089c50549e6d Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Fri Jul 10 11:44:03 2015 +0800 mmc: block: add fixup of broken CMD23 for Sandisk card Some Sandisk cards(such as "SDMB-32" and "SDM032" cards) can't support CMD23, and would generate CMD timeout. So add FIX-UP for these two types Sandisk cards. Error log: mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 end_request: I/O error, dev mmcblk0, sector 0 Buffer I/O error on device mmcblk0, logical block 0 mmcblk0: timed out sending SET_BLOCK_COUNT command, card status 0x400900 Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 67b589a2ebe3f9705e8a70275cedec78447f803a Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Fri Jul 10 11:42:37 2015 +0800 mmc: sdhci-esdhc: add default quirk SDHCI_QUIRK_NO_HISPD_BIT eSDHC supports high speed mode, but has no enabling bit for it. Add this quirk to avoid writing to eSDHC_PROCTL[DTW] by mistake. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f13e5b9f3c625916d7658ba526574a5d24e4d664 Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Fri Jul 10 11:36:45 2015 +0800 mmc: sdio: avoid using NULL sdio_irq_thread pointer For Freescale QorIQ LS1021AQDS board, there is a SDIO interrupt in the process of resume without inserting SD adapter because of some unknown issue. But the driver doesn't assign sdio_irq_thread pointer. This will block the resume of kernel. This patch is used to avoid using NULL sdio_irq_thread pointer. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4c06654c47ee2ff5308b7e89994225ff81b48ef2 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Jul 7 20:38:44 2015 +0200 mmc: omap_hsmmc: regulator automatically released by devm Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f7f0f03506d00fc2939a8625ed141c2dda568fad Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Jul 7 20:38:43 2015 +0200 mmc: omap_hsmmc: call omap_hsmmc_set_power directly If no pdata.set_power was set by the platform code, the driver was updating pdata with its own fallback function. This is a no-no since pdata shall be read-only. This patch pushes the check 'pdata->set_power != NULL' down into the fallback functions. If pdata.set_power is really set, it calls them and exits, otherwise the fallback code is used. Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c21e678b256baec428662704138d85cfc593abf4 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Tue Jul 7 19:53:10 2015 +0200 Documentation: dt: update ti,am33xx-hsmmc swakeup workaround Before 5b83b2234be6733cf the driver was hard coding the wakeup irq to be active low. The generic pm wakeirq does not override the active high/low parameter, hence it must be specified correctly in the device tree. Mind that SDIO IRQ is active low as defined in the SDIO specification Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 135b0a284d9c2bcfb64a5f7d90c439ede8bc5e06 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Jul 6 15:16:21 2015 +0300 mmc: sdhci: properly check card present state when quirk NO_CARD_NO_RESET is set Controller could have both NO_CARD_NO_RESET and BROKEN_CARD_DETECTION quirks set. Use sdhci_do_get_cd() when applying NO_CARD_NO_RESET, which properly check for BROKEN_CARD_DETECTION quirk. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c31d22eb335d4e3d2016135038fac8daaa9708d6 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Jul 6 15:16:20 2015 +0300 mmc: sdhci: don't use card state polling when CD GPIO is defined There is no reason to use polling for card detection state change when drivers are using dedicated GPIO for this. Don't poll in this case. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 88af56552b121295ba905db2523b1622fb4fc1e4 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Jul 6 15:16:19 2015 +0300 mmc: sdhci: let GPIO based card detection have higher precedence Controller could have BROKEN_CARD_DETECTION quirk set, but drivers could use GPIO to detect card present state. Let, when defined, GPIO take precedence, so drivers could properly detect card state and not use polling. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 951b8c875ac905aa9d348c825c380e7ce66c0f62 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Jul 6 14:53:38 2015 +0300 mmc: sdhci-msm: Boost controller core clock Ensure SDCC is working with maximum clock otherwise card detection could be extremely slow, up to 7 seconds. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Reviewed-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 829b6962f7e3cfc06f7c5c26269fd47ad48cf503 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jun 24 14:32:21 2015 +0300 mmc: block: don't use parameter prefix if built as module It's excessive to use prefix for the parameters when you do modprobe mmc-block mmcblk.perdev_minors=16 Make this available only for built-in case. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8292adc6ba1d59fa227bcc43cec2ce207cbb588c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Jun 16 21:15:15 2015 +0200 mmc: omap: use for_each_sg() for scatterlist parsing See Documentation/DMA-API.txt - Part Id Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2d532d458b43ea273632bf1cbc56c040a4b40898 Author: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Date: Tue Jun 9 13:01:51 2015 +0530 mmc: sdhci-of-arasan: add quirks for broken clock base adding SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN,SDHCI_QUIRK2_PRESET_VALUE_BROKEN flags for arasan sdhc. Signed-off-by: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d1955c3a9a1d89c53c9e7ce3b87799f8db1855c1 Author: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Date: Tue Jun 9 13:01:50 2015 +0530 mmc: sdhci: add quirk SDHCI_QUIRK_CLOCK_DIV_ZERO_BROKEN adds quirk for controllers whose clock divider zero is broken, sdhci_set_clock function will incorporate this modification. Signed-off-by: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6464b71409511939efce1ae4fb4ec6e3483b11b2 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Sat Jun 6 23:15:22 2015 +0200 mmc: pxamci: switch over to dmaengine use Switch over pxamci to dmaengine. This prepares the devicetree full support of pxamci. This was successfully tested on a PXA3xx board, as well as PXA27x. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> [adapted to pxa-dma] Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 642c28ab86f7666d2ac62a0dc391b4c3121f1d6e Author: David Jander <david@xxxxxxxxxxx> Date: Tue Jun 23 11:43:52 2015 +0200 mmc: core: Optimize case for exactly one erase-group budget In the (not so unlikely) case that the mmc controller timeout budget is enough for exactly one erase-group, the simplification of allowing one sector has an enormous performance penalty. We optimize this special case by introducing a flag that prohibits erase-group boundary crossing, so that we can allow trimming more than one sector at a time. Signed-off-by: David Jander <david@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1dc042885456dff457d0b758b69209dcafa688ec Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Aug 12 11:30:59 2015 +0300 dmaengine: Make __dma_request_slave_channel_compat() name argument constant Inline function __dma_request_slave_channel_compat() doesn't modify "name" argument but passes it to dma_request_slave_channel() which already takes it as a constant. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0e95fb9ceb82433f4f910d1cece0f4d6b0c25c51 Author: Robert Jarzmik <rj@xxxxxxxxxxxxxx> Date: Tue Aug 11 22:16:32 2015 +0200 dmaengine: pxa_dma: don't use config direction parameter Don't use the direction passed in the configuration, and rely on each transfer's direction to prepare the transfers. This will enable future removal of direction parameter from dma_slave_config. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 272420214d261e97f08a4c555defb3924de06ae8 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Aug 5 08:42:05 2015 +0530 dmaengine: Add DMA_CTRL_REUSE This adds new descriptor flag for reusing a descriptor by submitting multiple times by a client, for example video buffer. Add helper APIs for this as well Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by:Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 7fa25937542358bfa01ef5c5a1e9a00bd164c000 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Mon Aug 17 17:23:52 2015 +0900 gpio/grgpio: fix deadlock in grgpio_irq_unmap() As reported by Alexey Khoroshilov: grgpio_irq_unmap() code looks quite suspicious regarding usage of priv->bgc.lock spinlock. It locks the spinlock in line 310: spin_lock_irqsave(&priv->bgc.lock, flags); and then it can call grgpio_set_imask() in line 317: grgpio_set_imask(priv, i, 0); But grgpio_set_imask() unconditionally locks the spinlock by itself. Fix this by moving the spinlock acquisition outside of grgpio_set_imask(). Found by Linux Driver Verification project (linuxtesting.org). Reported-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Cc: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 58268e58e63550e24dee7d6125078ab2a2a22272 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Aug 14 00:09:29 2015 -0300 crypto: amcc - Do a NULL check for pointer Compare pointer-typed values to NULL rather than 0. The semantic patch that makes this change is available in scripts/coccinelle/null/badzero.cocci Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5e4b8c1fcc70016f43926203ae1820c3b380d5cd Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:29:06 2015 +0800 crypto: aead - Remove CRYPTO_ALG_AEAD_NEW flag This patch removes the CRYPTO_ALG_AEAD_NEW flag now that everyone has been converted. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b0d955ba4688fcba8112884931aea1f1e6f50f03 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:30:41 2015 +0800 crypto: aead - Remove old AEAD interfaces Now that the AEAD conversion is complete we can rip out the old AEAD interafce and associated code. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0a139416eed5f05118cb05aba37470de68c55272 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:29:04 2015 +0800 crypto: qat - Remove reference to crypto_aead_crt The qat driver uses crypto_aead_crt in order to get the authsize. This patch replaces it with the crypto_aead_authsize helper instead. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ba3749a719a6da4297fb8e1bb56ee06d74129c0f Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:29:02 2015 +0800 crypto: cryptd - Remove reference to crypto_aead_crt Pretty soon the crypto_aead encrypt/decrypt hooks will disappear as they are now always identical to those in struct aead_alg. This patch replaces the references to these hooks with the ones from aead_alg instead. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 376e0d697a8194a5ab684d7fc57b2ce5483bda53 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:29:01 2015 +0800 crypto: echainiv - Use generic geniv init/exit helpers This patch replaces the echainiv init/exit handlers with the generic geniv helpers. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 659e7f528317d5a97e5100abcaf6e00552c23417 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:59 2015 +0800 crypto: seqiv - Use generic geniv init/exit helpers This patch replaces the seqiv init/exit handlers with the generic geniv helpers. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 149a39717dcce3b6ba15285c9fc86e4423437e05 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:58 2015 +0800 crypto: aead - Add type-safe geniv init/exit helpers This patch adds the helpers aead_init_geniv and aead_exit_geniv which are type-safe and intended the replace the existing geniv init/exit helpers. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 66008d4230f6e599275f1cf01db268fcaaadda44 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:56 2015 +0800 crypto: echainiv - Remove AEAD compatibility code Now that we no longer have any legacy AEAD implementations the compatibility code path can no longer be triggered. This patch removes it. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 92932d03c2b3613f40ce49ff42088e814e403afc Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:54 2015 +0800 crypto: seqiv - Remove AEAD compatibility code Now that we no longer have any legacy AEAD implementations the compatibility code path can no longer be triggered. This patch removes it. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8a2cd1c4a7aa0b4a24eafd6914756be6fbe7f361 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:53 2015 +0800 crypto: seqiv - Remove seqniv Now that IPsec no longer uses seqniv we can remove it. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit de0ded77b995552ad650d22748a507a1ede7fa72 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:52 2015 +0800 ipsec: Replace seqniv with seqiv Now that seqniv is identical with seqiv we no longer need it. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 60333f7b5dccd0adcdcc7ec9eb3f9f1039e257ed Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:50 2015 +0800 crypto: user - Remove crypto_lookup_aead call As IV generators are now standalone AEAD transforms, we no longer need to use the crypto_lookup_aead call. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit aa1b6bb7d7f5cb0d21eacea3639da8cb24c5092a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:28:49 2015 +0800 crypto: algboss - Remove reference to nivaead This patch removes a legacy reference to nivaead which is no longer used. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit adca3c38d807b341a965d0aba8721d0784d8471b Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Aug 17 08:33:43 2015 +0200 nfc: netlink: Warning fix When NFC_ATTR_VENDOR_DATA is not set, data_len is 0 and data is NULL. Fixes the following warning: net/nfc/netlink.c:1536:3: warning: 'data' may be used uninitialized +in this function [-Wmaybe-uninitialized] return cmd->doit(dev, data, data_len); Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 656bba306827a44ed73b3f93f75bb3147de17fae Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 16 11:45:48 2015 -0400 x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted Both the per-APIC flag ".wait_for_init_deassert", and the global atomic_t "init_deasserted" are dead code -- remove them. For all APIC types, "wait_for_master()" prevents an AP from proceeding until the BSP has set cpu_callout_mask, making "init_deasserted" {unnecessary}: BSP: <de-assert INIT> ... BSP: {set init_deasserted} AP: wait_for_master() set cpu_initialized_mask wait for cpu_callout_mask BSP: test cpu_initialized_mask BSP: set cpu_callout_mask AP: test cpu_callout_mask AP: {wait for init_deasserted} ... AP: <touch APIC> Deleting the {dead code} above is necessary to enable some parallelism in a future patch. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jan H. Schönherr <jschoenh@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Zhu Guihua <zhugh.fnst@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/de4b3a9bab894735e285870b5296da25ee6a8a5a.1439739165.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a9bcaa02a5104ace6a9d9e4a9cd9192a9e7744d6 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 16 11:45:47 2015 -0400 x86/smpboot: Remove SIPI delays from cpu_up() MPS 1.4 example code shows the following required delays during processor on-lining: INIT udelay(10,000) SIPI udelay(200) SIPI udelay(200) /* Linux actually implements this as udelay(300) */ Linux skips the udelay(10,000) on modern processors. This patch removes the udelay(200) after each SIPI on those same processors. All three legacy delays can be restored by the cmdline "cpu_init_udelay=10000". As measured by analyze_suspend.py, this patch speeds processor resume time on my desktop from 2.4ms to 1.8ms, per AP. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jan H. Schönherr <jschoenh@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Zhu Guihua <zhugh.fnst@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a5dfdbc8fbfdd813784da204aad5677fe459ac37.1439739165.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2d99af8e8fd6c2dea11ab539f7aba69c37b845b4 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 16 11:45:46 2015 -0400 x86/smpboot: Remove udelay(100) when polling cpu_callin_map After the BSP sends INIT/SIPI/SIP to the AP and sees the AP in the cpu_initialized_map, it sets the AP loose via the cpu_callout_map, and waits for it via the cpu_callin_map. The BSP polls the cpu_callin_map with a udelay(100) and a schedule() in each iteration. The udelay(100) adds no value. For example, on my 4-CPU dekstop, the AP finishes cpu_callin() in under 70 usec and sets the cpu_callin_mask. The BSP, however, doesn't see that setting until over 30 usec later, because it was still running its udelay(100) when the AP finished. Deleting the udelay(100) in the cpu_callin_mask polling loop, saves from 0 to 100 usec per Application Processor. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jan H. Schönherr <jschoenh@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Zhu Guihua <zhugh.fnst@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/0aade12eabeb89a688c929fe80856eaea0544bb7.1439739165.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6e38f1e79d16f4fa9e5cf06792500e11c96a6f84 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 16 11:45:45 2015 -0400 x86/smpboot: Remove udelay(100) when polling cpu_initialized_map After the BSP sends the APIC INIT/SIPI/SIPI to the AP, it waits for the AP to come up and indicate that it is alive by setting its own bit in the cpu_initialized_mask. Linux polls for up to 10 seconds for this to happen. Each polling loop has a udelay(100) and a call to schedule(). The udelay(100) adds no value. For example, on my desktop, the BSP waits for the other 3 CPUs to come on line at boot for 305, 404, 405 usec. For resume from S3, it waits 317, 404, 405 usec. But when the udelay(100) is removed, the BSP waits 305, 310, 306 for boot, and 305, 307, 306 for resume. So for both boot and resume, removing the udelay(100) speeds online by about 100us in 2 of 3 cases. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jan H. Schönherr <jschoenh@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Zhu Guihua <zhugh.fnst@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/33ef746c67d2489cad0a9b1958cf71167232ff2b.1439739165.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5461bd81bf7f86503f393b0b1d57e69b1f1bd44e Merge: 9491630 2c6625c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 17 10:41:59 2015 +0200 Merge tag 'v4.2-rc7' into x86/boot, to refresh the branch before merging new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ac49fbd1f9d437cca7234473850aef4165779383 Author: Dirk Behme <dirk.behme@xxxxxxxxx> Date: Sat Jul 18 08:02:07 2015 +0200 Documentation: gpio: consumer: describe active low property I've been searching for any documentation of 'the active-low property of a GPIO' already mentioned in this documenation. But couldn't find any. Add it. Sigend-off-by: Dirk Behme <dirk.behme@xxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> [Spelling, grammar fixes] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 281786ea2cd03635648d1e2b131c6fbc0ed47b68 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Aug 17 16:35:48 2015 +1000 selftests/powerpc: Install tempfile so the subpage_prot_file test works We forgot to install the tempfile, so when the selftests are installed and then run the subpage_prot_file test fails. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 94e92a7bff2317bedd67ed7c46ac63e9affb7a99 Merge: 94fdc2e e04cafb Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Mon Aug 17 11:23:03 2015 +0300 Merge ath-next from ath.git. Major changes in ath10k: * add support for qca99x0 family of devices * improve performance of tx_lock * add support for raw mode (802.11 frame format) and software crypto engine enabled via a module parameter wil6210: * implement TSO support * support bootloader v1 and onwards commit 60884ddecdc2f45fd2862b7e95c9ad858584f82b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Aug 5 08:42:06 2015 +0530 Documentation: dmaengine: Add DMA_CTRL_REUSE documentation Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by:Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 06f10e2f936424496d44e5541c220845c8c55345 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Aug 5 08:42:04 2015 +0530 Documentation: dmaengine: fix the DMA_CTRL_ACK documentation As discussed recently the meaning of DMA_CTRL_ACK is that a desc cannot be reused by provider until the client acknowledges receipt, i.e. has has a chance to establish any dependency chains. So update documentation Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by:Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 09659a5978e16a7f3676fd6cb41e21daa77ce9a6 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:49:11 2015 -0700 dmaengine: ioatdma: Clean up IOAT_COMPLETION_PENDING flag IOAT_COMPLETION_PENDING flag was deprecated for v2 and v3 drivers but was not cleaned up. Doing that now. The commit deprecated this flag was 4dec23d7 ioatdma: fix race between updating ioat->head and IOAT_COMPLETION_PENDING. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c7b0e8d7b5d1523ca3a85d3d3d9d113bb19a5668 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:49:05 2015 -0700 dmaengine: ioatdma: fixup kernel doc errors from dma.h ./scripts/kerne-doc is reporting errors on dma.h. Clean up all reported errors. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ef97bd0f59741ca1a555b69b8708f6601e35c3ed Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:49:00 2015 -0700 dmanegine: ioatdma: remove function ptrs in ioatdma_device Since we are a "single" device driver now we no longer require the function pointers in ioatdma_device. Remove. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3372de5813e4da8305002ff6ffbfc0c7012cb319 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:55 2015 -0700 dmaengine: ioatdma: removal of dma_v3.c and relevant ioat3 references Moving the relevant functions to their respective .c files and removal of dma_v3.c file. Also removed various ioat3 references when appropriate. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 599d49de7f69cb5a23e913db24e168ba2f09bd05 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:49 2015 -0700 dmaengine: ioatdma: move dma prep functions to single location Move all DMA descriptor prepping functions to prep.c file. Fixup all broken bits caused by the move. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c0f28ce66ecfd9fa0ae662a2c7f3e68e537e77f4 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:43 2015 -0700 dmaengine: ioatdma: move all the init routines Moving all the init routines to init.c and fixup anything broken during the move. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 80b1973659949fbdcbfe9e086e2370313a9f1288 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:38 2015 -0700 dmaengine: ioatdma: move all sysfs related code Move and fixup all sysfs related bits to sysfs.c file. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 885b201056e942f7deb66496b5c501d2a35d6c04 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:32 2015 -0700 dmaengine: ioatdma: remove dma_v2.* Clean out dma_v2 and remove ioat2 calls since we are moving everything to just ioat. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 55f878ec47e3ab560a046c9030a97b1048b74e8b Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:27 2015 -0700 dmaengine: ioatdma: fixup ioatdma_device namings Changing the variable names for ioatdma_device to be consistently named ioat_dma instead of device/dma in order to avoid confusion and distinct from struct device. This will clearly indicate that it is an ioatdma_device. This also make all the naming consistent that the dma device is ioat_dma and all the channels are ioat_chan. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5a976888c953a50336c2266bab894c1c098462b3 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:21 2015 -0700 dmaengine: ioatdma: clean up local dma channel data structure Kill the common ioatdma channel structure and everything that is not dma_chan to be ioat_dma_chan. Since we don't have to worry about v1 and v2 ioatdma anymore this makes it much cleaner and obvious for maintenance. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7f832645d0e5a0431e4ee02bae98e47ded32ac6f Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:16 2015 -0700 dmaengine: ioatdma: remove ioatdma v2 registration Removal of support for ioatdma v2 device support. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 85596a19478da5125f3471a0c474b3f05a78e390 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:10 2015 -0700 dmaengine: ioatdma: remove ioat1 specific code Cleaning up of ioat1 specific code as it is no longer supported Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d73f277b329f46c13527c1090808421828671596 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Tue Aug 11 08:48:04 2015 -0700 dmaengine: ioatdma: deprecating and removal of old ioatdma devices Removal of any devices that are ioatdma pre-3.0. This is the first step in attempting to clean up the ioatdma driver and remove hw no longer supported. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5484526ac120eb543e5a28610775f04014814d89 Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Tue Aug 11 04:05:43 2015 -0400 dmaengine: ioatdma: fix u16 overflow in cleanup If the allocation order is 16, then the u16 count will overflow and wrap to zero when assigned the value 1 << 16. Change the type of 'total_descs' to int, so that it is large enough to store a value equal or greater than 1 << 16. Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Acked-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 870ce49022d1a278e441d2cb7b92acae2416b510 Author: Allen Hubbe <Allen.Hubbe@xxxxxxx> Date: Tue Aug 11 04:05:42 2015 -0400 dmaengine: ioatdma: fix u16 overflow in reshape If the allocation order is 16, then the u16 index will overflow and wrap to zero instead of being equal or greater than 1 << 16. The loop condition will always be true, and the loop will run until all the memory resources are depleted. Change the type of index 'i' to u32, so that it is large enough to store a value equal or greater than 1 << 16. Signed-off-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Acked-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit efe3b616f88caa95dbe8636f4d0b3dcefca962bb Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Aug 16 23:04:53 2015 -0700 Input: cap11xx - add LED support Several cap11xx variants have LEDs that be can be controlled; let's plug the driver into the LED subsystem. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 294947a5c7f6d228b70fcc51a89527e74a38a2c5 Merge: 6406e45 54fbde8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 16:03:48 2015 +1000 Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next A couple of fixes from the previous pull request as well as gl3 support. There is one drm core change, an export of a previously private function. Take 2 implementing screen targets, this time with the fbdev code adjusted accordingly. Also there is an implementation of register-driven command buffers, that overrides the FIFO ring for command processing. It's needed for our upcoming hardware revision. * 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux: (35 commits) drm/vmwgfx: Fix copyright headers drm/vmwgfx: Add DX query support. Various fixes. drm/vmwgfx: Add command parser support for a couple of DX commands drm/vmwgfx: Command parser fixes for DX drm/vmwgfx: Initial DX support drm/vmwgfx: Update device includes for DX device functionality drm: export the DRM permission check code drm/vmwgfx: Fix crash when unloading vmwgfx v2 drm/vmwgfx: Fix framebuffer creation on older hardware drm/vmwgfx: Fixed topology boundary checking for Screen Targets drm/vmwgfx: Fix an uninitialized value drm/vmwgfx: Fix compiler warning with 32-bit dma_addr_t drm/vmwgfx: Kill a bunch of sparse warnings drm/vmwgfx: Fix kms preferred mode sorting drm/vmwgfx: Reinstate the legacy display system dirty callback drm/vmwgfx: Implement fbdev on kms v2 drm/vmwgfx: Add a kernel interface to create a framebuffer v2 drm/vmwgfx: Avoid cmdbuf alloc sleeping if !TASK_RUNNING drm/vmwgfx: Convert screen targets to new helpers v3 drm/vmwgfx: Convert screen objects to the new helpers ... commit 6406e45cc6f4976ace2b6d23b76bb5f07541e68f Merge: bef2c7b a33ee95 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 15:53:05 2015 +1000 Merge tag 'drm/panel/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/panel: Changes for v4.3-rc1 This introduces support for a couple of new panels and also contains some work to restructure the directories to get more consistency, to deal better with more panel and bridge drivers getting added. * tag 'drm/panel/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/bridge: Put Kconfig entries in a separate menu drm/panel: Add support for LG LG4573 480x800 4.3" panel drm/panel: Add display timing for Okaya RS800480T-7X0GP of: Add Okaya Electric America vendor prefix drm/panel: simple: Add support for NEC NL4827HC19-05B 480x272 panel drm/panel: simple: Add support for AUO B080UAN01 drm/panel: simple: Correct minimum hsync length of the HannStar HSD070PWW1 panel drm/panel: simple: Add bus format for HannStar HSD070PWW1 LVDS panel drm/bridge: Add vendor prefixes drm/panel: Add Samsung prefix to panel drivers drm/exynos: Remove PTN3460 dependency commit bef2c7bd578e91c9c10983e0c15c4501127b77ca Merge: 3ff8e50 459cc2c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 15:52:39 2015 +1000 Merge tag 'drm/tegra/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/tegra: Changes for v4.3-rc1 There are a bunch of non-critical fixes here that I've collected over the past few months, but the biggest part is Tegra210 support, in the DC, DSI and SOR/HDMI drivers. Also this finally restores DPMS with atomic mode-setting, something that has been broken since the conversion and which I had originally expected to take far less longer to fix. * tag 'drm/tegra/for-4.3-rc1' of git://anongit.freedesktop.org/tegra/linux: (41 commits) drm/tegra: sor: Add HDMI support drm/tegra: sor: Add Tegra210 eDP support drm/tegra: dc: Implement atomic DPMS drm/tegra: sor: Restore DPMS drm/tegra: dsi: Restore DPMS drm/tegra: hdmi: Restore DPMS drm/tegra: rgb: Restore DPMS drm/tegra: sor: Use DRM debugfs infrastructure for CRC drm/tegra: sor: Write correct head state registers drm/tegra: sor: Constify display mode drm/tegra: sor: Reset the correct debugfs fields drm/tegra: sor: Set minor after debugfs initialization drm/tegra: sor: Provide error messages in probe drm/tegra: sor: Rename registers for consistency drm/tegra: dpaux: Disable interrupt when detached drm/tegra: dpaux: Configure pads as I2C by default drm/tegra: dpaux: Provide error message in probe drm/tegra: dsi: Add Tegra210 support drm/tegra: dsi: Add Tegra132 support drm/tegra: dsi: Add Tegra124 support ... commit 3ff8e5090c337a4eb26952d68587f450e012bd72 Merge: 3be6671 2a8cb48 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 15:33:23 2015 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next Summary: - Clean up HDMI and MIXER parts - Clean up legacy structures specific to Exynos DRM . This patch series removes existing exyons_drm_display and exynos_drm_encoder structures specific to Exynos DRM, and makes them to replace with common drm_encoder structure. With cleanup patch, we removes exynos_drm_encoder module. - Clean up gem, dmabuf and buffer modules . This patch series replaces existing Exynos DRM dmabuf codes with common drm prime ones, and embeds all codes of exynos_drm_buf into exynos_drm_gem module. With cleanup patch, we removes exynos_drm_buf and exynos_drm_dmabuf modules. - And some fixups. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (53 commits) drm/exynos: merge exynos_drm_buf.c to exynos_drm_gem.c drm/exynos: use prime helpers drm/exynos: remove function roundup_gem_size drm/exynos: remove function update_vm_cache_attr drm/exynos: remove function check_gem_flags drm/exynos: use ERR_PTR instead of NULL in exynos_drm_gem_init drm/exynos: remove unused fields of struct exynos_drm_gem_buf drm/exynos: stop copying sg table drm/exynos: remove function exynos_drm_gem_map_buf drm/exynos: remove mutex locking in pagefault handler drm/exynos: remove function convert_to_vm_err_msg drm/exynos: stop using sgtable in page fault handler drm/exynos: remove struct exynos_drm_encoder layer drm/exynos: fold encoder setup into exynos_drm_load() drm/exynos: remove exynos_drm_create_enc_conn() drm/exynos: remove exynos_encoder's .commit() op drm/exynos: remove extra call to exynos_dp_commit() drm/exynos: remove extra call to hdmi_commit() drm/exynos: remove struct exynos_drm_display drm/exynos: simplify calculation of possible CRTCs ... commit 1e3136789975f03e461798149309034e5213c1b4 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Aug 15 10:54:07 2015 -0700 ipv4: fix refcount leak in fib_check_nh() fib_lookup() forces FIB_LOOKUP_NOREF flag, while fib_table_lookup() does not. This patch solves the typical message at reboot time or device dismantle : unregister_netdevice: waiting for eth0 to become free. Usage count = 4 Fixes: 3bfd847203c6 ("net: Use passed in table for nexthop lookups") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69034db79a8101dccdeb2b909b3aaa52001ab1ef Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Jul 18 10:05:05 2015 +0300 xtensa: drop unused irq_err_count Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 38fef73c21d117cf992fb5ec6e30630e54e13f4f Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jul 16 10:37:31 2015 +0300 xtensa: implement fake NMI In case perf IRQ is the highest of the medium-level IRQs, and is alone on its level, it may be treated as NMI: - LOCKLEVEL is defined to be one level less than EXCM level, - IRQ masking never lowers current IRQ level, - new fake exception cause code, EXCCAUSE_MAPPED_NMI is assigned to that IRQ; new second level exception handler, do_nmi, assigned to it handles it as NMI, - atomic operations in configurations without s32c1i still need to mask all interrupts. Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 98e298329e7b391293da5097817437292c842dc9 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Jul 17 05:24:49 2015 +0300 xtensa: don't touch EXC_TABLE_FIXUP in _switch_to There's no way _switch_to can produce double exceptions now, don't enter/leave EXC_TABLE_FIXUP critical section. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 77d6273e79e3a86552fcf10cdd31a69b46ed2ce6 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jul 16 10:41:02 2015 +0300 xtensa: fix kernel register spilling call12 can't be safely used as the first call in the inline function, because the compiler does not extend the stack frame of the bounding function accordingly, which may result in corruption of local variables. If a call needs to be done, do call8 first followed by call12. For pure assembly code in _switch_to increase stack frame size of the bounding function. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 7d5f6a9a2496c6e4f2a3b5db7743ff4e3a99738e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jul 16 06:18:46 2015 +0300 xtensa: reorganize irq flags tracing entry.s only disables IRQs on hardware IRQ, move trace_hardirqs_off call into do_interrupt. Check actual intlevel that will be restored on return from exception handler to decide if trace_hardirqs_on should be called. Annotate IRQ on/off points in the TIF_* handling loop on return from exception handler. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 18bc5b85aac08d35eeca174abc73238a4d5deb0b Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Jun 26 04:11:08 2015 +0300 perf tools: xtensa: add DWARF register names Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 9bd46da45edd9701bcb2a221d58afe7d01febd1d Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sun Jun 14 01:41:25 2015 +0300 xtensa: implement counting and sampling perf events Xtensa Performance Monitor Module has up to 8 32 bit wide performance counters. Each counter may be enabled independently and can count any single type of hardware performance events. Event counting may be enabled and disabled globally (per PMM). Each counter has status register with bits indicating if the counter has been overflown and may be programmed to raise profiling IRQ on overflow. This IRQ is used to rewind counters and allow for counting more than 2^32 samples for counting events and to report samples for sampling events. For more details see Tensilica Debug User's Guide, chapter 8 "Performance monitor module". Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit af885de869a9d7086d50a2c250323f0bfd939fd4 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jun 4 13:42:22 2015 +0300 xtensa: count software page fault perf events Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 3be66711b6adefad2a95c108161607d79729ea05 Merge: d3638ac d248b61 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 14:33:11 2015 +1000 Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next 1) includes all the drm/msm side of things for upstream kernel working on dragonboard 410c (still some pending work on adv7533 bridge chip) 2) initial support for msm8x94 (snapdragon 810) 3) support for msm8x74v1 (in addition to existing v2 support) 4) support for dma planes on mdp5 (additional planes that cannot scale/csc) 5) more yuv format support for mdp5 (single plane vyuy/uyvy/yuyv/yvyu, two plane nv16/nv61, and three plane yuv420/yvu420) 6) rotation support for mdp5 7) initial hdcp support 8) fixes, etc * 'msm-next' of git://people.freedesktop.org/~robclark/linux: (46 commits) drm/msm/dsi: Introduce DSI configuration module drm/msm/dsi: Make each PHY type compilation independent drm/msm/dsi: Split PHY drivers to separate files drm/msm/dsi: Return void from msm_dsi_phy_disable() drm/msm/dsi: Specify bitmask to set source PLL drm/msm/mdp: Clear pending interrupt status before enable interrupt drm/msm/mdp5: Add rotation (hflip/vflip) support to MDP5 planes (v2) drm/msm: add calls to prepare and unprepare panel drm/msm/dsi: Modify dsi manager bridge ops to work with external bridges drm/msm/dsi: Allow dsi to connect to an external bridge drm/msm/dsi: Create a helper to check if there is a connected device drm/msm/dsi: Refer to connected device as 'device' instead of 'panel' drm/msm/dsi: Make TE gpio optional drm/msm: mdp4 lvds: get panel node via of graph parsing drm/msm: dsi host: Use device graph parsing to parse connected panel drm/msm: dsi host: add missing of_node_put() drm/msm: Enable clocks during enable/disable_vblank() callbacks drm/msm/mdp5: Add support for msm8x74v1 drm/msm/mdp5: Add DMA pipe planes for MDP5 drm/msm/mdp: Add capabilities to MDP planes (v2) ... commit ae0b7139ab49c986e798ca9a46b7ad763ea8b8ca Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Tue Jun 23 01:53:05 2015 +0300 xtensa: add profiling IRQ type to xtensa_irq_map Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit db8165f5d975533880f516fed142364ba3e6046e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jun 4 13:41:27 2015 +0300 xtensa: select PERF_USE_VMALLOC for cache-aliasing configurations Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 5fdf377d802ddd439fe16dd2e9e38039af535af2 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jun 25 07:27:16 2015 +0300 xtensa: move oprofile stack tracing to stacktrace.c Old oprofile interface will share user stack tracing with new perf interface. Move oprofile user/kernel stack tracing to stacktrace.c to make it possible. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit b6569439f1cec0ce15f647e2ba814431b5930b82 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Jun 25 23:03:29 2015 +0300 xtensa: keep exception/interrupt stack continuous Restore original a0 in the kernel exception stack frame. This way it looks like the frame that got interrupt/exception did alloca (copy a0 and a1 spilled under old stack to the new location as well) to save registers and then did a call to handler. The point where interrupt/exception was taken is not in the stack chain, only in pt_regs (call4 from that address can be simulated to keep it in the stack trace). Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit de7c1c7862c4072bc93155da2cd6921137cb87ae Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Jun 27 07:31:12 2015 +0300 xtensa: clean up Kconfig dependencies for custom cores Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit c75959a6da19df2700556dc76861442e9716317d Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon May 25 06:55:05 2015 +0300 xtensa: reimplement DMA API using common helpers - keep existing functionality: don't handle attributes, don't support high memory; - implement scatterlist primitives (map/unmap/sync); - enable DMA API debug. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit d3638ac429ff0e8af81c1bc551cbd8da5c09e3d2 Merge: 4eebf60 75067dd Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 14:14:34 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-08-16' of git://anongit.freedesktop.org/drm-intel into drm-next Bunch more fixes for 4.3, most of it skl fallout. It's not quite all yet, there's still a few more patches pending to enable DDI-E correctly on skl. Also included the dpms atomic work from Maarten since atomic is just a pain and not including would cause piles of conflicts right from the start. * tag 'drm-intel-next-fixes-2015-08-16' of git://anongit.freedesktop.org/drm-intel: (67 commits) drm/i915: Per-DDI I_boost override drm/i915/skl: WaIgnoreDDIAStrap is forever, always init DDI A drm/i915: fix checksum write for automated test reply drm/i915: Contain the WA_REG macro drm/i915: Remove the failed context from the fpriv->context_idr drm/i915: Report IOMMU enabled status for GPU hangs drm/i915: Check idle to active before processing CSQ drm/i915: Set alternate aux for DDI-E drm/i915: Set power domain for DDI-E drm/i915: fix stolen bios_reserved checks drm/i915: Use masked write for Context Status Buffer Pointer drm/i915/skl WaDisableSbeCacheDispatchPortSharing drm/i915: Spam less on dp aux send/receive problems drm/i915: Handle return value in intel_pin_and_fence_fb_obj, v2. drm/i915: Only update mode related state if a modeset happened. drm/i915: Remove connectors_active. drm/i915: Remove connectors_active from intel_dp.c, v2. drm/i915: Remove connectors_active from sanitization, v2. drm/i915: Get rid of dpms handling. drm/i915: Make crtc checking use the atomic state, v2. ... commit 4eebf60b7452fbd551fd7dece855ba7825a49cbc Merge: 8f9cb50 2c6625c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Aug 17 14:13:53 2015 +1000 Merge tag 'v4.2-rc7' into drm-next Linux 4.2-rc7 Backmerge master for i915 fixes commit 5699f871d2d51ce40012501378670613d4d49214 Author: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Date: Tue Jul 28 16:45:15 2015 -0300 scripts/kernel-doc: Adding cross-reference links to html documentation. Functions, Structs and Parameters definitions on kernel documentation are pure cosmetic, it only highlights the element. To ease the navigation in the documentation we should use <links> inside those tags so readers can easily jump between methods directly. This was discussed in 2014[1] and is implemented by getting a list of <refentries> from the DocBook XML to generate a database. Then it looks for <function>,<structnames> and <paramdef> tags that matches the ones in the database. As it only links existent references, no broken links are added. [1] - lists.freedesktop.org/archives/dri-devel/2014-August/065404.html Signed-off-by: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Stephan Mueller <smueller@xxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: intel-gfx <intel-gfx@xxxxxxxxxxxxxxxxxxxxx> Cc: dri-devel <dri-devel@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 8c7dd08a8ccac3f0f3df6002dc8e86d3ca6c56a8 Author: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 12:28:38 2015 +0530 cxl: Plug irq_bitmap getting leaked in cxl_context This patch plugs the leak of irq_bitmap, allocated as part of initialization of cxl_context struct; during the call to afu_allocate_irqs. The bitmap is now release during the call to function afu_release_irqs. Reported-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 25901632c9323e5208cca66097a0b8f34c752606 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:27 2015 +1000 cxl: Add CONFIG_CXL_EEH symbol CONFIG_CXL_EEH is for CXL's EEH related code. Other drivers can depend on or #ifdef on this symbol to configure PERST behaviour, allowing CXL to participate in the EEH process. Reviewed-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fe202fe95564023223ce1910c9e352f391abb1d5 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:40 2015 +0200 nfc: netlink: Add check on NFC_ATTR_VENDOR_DATA NFC_ATTR_VENDOR_DATA is an optional vendor_cmd argument. The current code was potentially using a non existing argument leading to potential catastrophic results. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 94b85938ad21944afeff71d1cca68b094905e1b9 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:39 2015 +0200 nfc: st-nci: Remove pr_err in rcv_queue when ndlc header is unknown spi phy needs to use ndlc_recv at every spi transaction causing "unknown packet control byte" error message each time the header is 00. Make this silent. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a6be357e9720a7f8e11e2997e60626179151d190 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:38 2015 +0200 nfc: st-nci: Add device tree documentation for spi phy Add st-nci-spi phy devicetree documentation Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2bc4d4f8c8f3ce863e3644736d1790b0684c7eb0 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:37 2015 +0200 nfc: st-nci: Add spi phy support for st21nfcb st21nfcb does support another phy than i2c: spi. st21nfcc does not support spi as the spi ios are used by the AMS RF booster. st21nfcb is not following NCI NFC Forum recommendations for spi but rely on ST prioritary protocol ndlc as for i2c. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 8b706884eac958ec16518315053f77e052627084 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:36 2015 +0200 nfc: st-nci: Free data with irrelevant NDLC PCB_SYNC value PCB_SYNC different than PCB_TYPE_SUPERVISOR or PCB_TYPE_DATAFRAME should be discarded. Irrelevant data may be forwarded up to the ndlc state machine by phys like spi to prevent missing potential data during "write" transactions. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1d816b6eb513498aa28a0ff1e4db7632bded1707 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:35 2015 +0200 nfc: st-nci: Remove data from ack_pending_q when receiving a SYNC_ACK When receiving a NDLC PCB_SYNC_ACK the pending data was never removed from ack_pending_q and cleared. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit daaf1e1f1640eb11259954d1d847d8a72ab5b938 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:34 2015 +0200 NFC: st-nci: fix use of uninitialized variables in error path st_nci_hci_load_session() calls kfree_skb() on unitialized variables skb_pipe_info and skb_pipe_list if the call to nci_hci_connect_gate() failed. Reword the error path to not use these variables when they are not initialized. While at it, there seemed to be a memory leak because skb_pipe_info was only freed once, after the for-loop, even though several ones were created by nci_hci_send_cmd. Cc: stable@xxxxxxxxxxxxxxx Acked-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 5a3570061a131309143a49e4bbdbce7e23f261e7 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:33 2015 +0200 NFC: st21nfca: fix use of uninitialized variables in error path st21nfca_hci_load_session() calls kfree_skb() on unitialized variables skb_pipe_info and skb_pipe_list if the call to nfc_hci_connect_gate() failed. Reword the error path to not use these variables when they are not initialized. While at it, there seemed to be a memory leak because skb_pipe_info was only freed once, after the for-loop, even though several ones were created by nfc_hci_send_cmd. Fixes: ec03ff1a8f9a ("NFC: st21nfca: Remove skb_pipe_list and skb_pipe_info useless allocation") Cc: stable@xxxxxxxxxxxxxxx Acked-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit e7723b33077b04648213f043bc22654c54e375e4 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:32 2015 +0200 nfc: st-nci: Fix non accurate comment for st_nci_i2c_read Due to a copy and paste error st_nci_i2c_read still contains st21nfca header comment. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 30458aac63c89771d19f023083d64d018562812e Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:31 2015 +0200 nfc: st-nci: Fix typo when changing from st21nfcb to st-nci Replace ST21NFCB with ST_NCI or st21nfcb with st_nci as it was forgotten in commit "nfc: st-nci: Rename st21nfcb to st-nci" ed06aeefdac348cfb91a3db5fe1067e3202afd70 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 76b733d15874128ee2d0365b4cbe7d51decd8d37 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Fri Aug 14 22:33:30 2015 +0200 nfc: st-nci: Remove duplicate file platform_data/st_nci.h commit "nfc: st-nci: Rename st21nfcb to st-nci" adds include/linux/platform_data/st_nci.h duplicated with include/linux/platform_data/st-nci.h. Only drivers/nfc/st-nci/i2c.c uses platform_data/st_nci.h. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 38e6a417f6205e98bef53c5530f5fddfea08e1c6 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Aug 12 04:14:28 2015 -0300 [media] horus3a: fix compiler warning Shut up this compiler warning that I get during the daily build: horus3a.c: In function 'horus3a_set_params': horus3a.c:308:24: warning: 'rolloff' may be used uninitialized in this function [-Wmaybe-uninitialized] symbol_rate * (100 + rolloff), 200000) + 5; ^ Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 82fde1a98eb9866347a1d3543fac4ab9a69aeb7d Author: Abhilash Jindal <klock.android@xxxxxxxxx> Date: Tue Aug 11 12:22:57 2015 -0300 [media] bt8xxx: Use monotonic time Wall time obtained from do_gettimeofday is susceptible to sudden jumps due to user setting the time or due to NTP. Monotonic time is constantly increasing time better suited for comparing two timestamps. Signed-off-by: Abhilash Jindal <klock.android@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e4d45dd81e67f9fe0e1af44bddd53c3d4eb061ea Author: Abhilash Jindal <klock.android@xxxxxxxxx> Date: Tue Aug 11 12:09:49 2015 -0300 [media] zoran: Use monotonic time Wall time obtained from do_gettimeofday is susceptible to sudden jumps due to user setting the time or due to NTP. Monotonic time is constantly increasing time better suited for comparing two timestamps. Signed-off-by: Abhilash Jindal <klock.android@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8f7a5f462a255b4395e5f0f08c045dc8af6efd55 Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Tue Aug 11 09:21:07 2015 -0300 [media] i2c/adv7511: Fix license, set to GPL v2 Header claims GPL v2, so make the MODULE_LICENSE reflect that properly. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4284118058b2b4f217a050908a555d0e1ed58641 Author: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Date: Thu Jul 23 09:21:43 2015 -0300 [media] media: rcar_vin: Reject videobufs that are too small for current format In videobuf_setup reject buffers that are too small for the configured format. Fixes v4l2-compliance issue. Signed-off-by: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Reviewed-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 734f3f238587ffb6938700c4495dd5b5a54c4125 Author: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Date: Thu Jul 23 09:21:42 2015 -0300 [media] media: rcar_vin: fill in bus_info field Adapt rcar_vin_querycap() so that cap->bus_info is populated with something meaningful/unique. Signed-off-by: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Signed-off-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 920a1bf30a361fc2c6d713a26deb3a488639def3 Author: William Towle <william.towle@xxxxxxxxxxxxxxx> Date: Thu Jul 23 09:21:36 2015 -0300 [media] media: soc_camera: rcar_vin: Add BT.709 24-bit RGB888 input support This adds V4L2_MBUS_FMT_RGB888_1X24 input format support which is used by the ADV7612 chip. Modified to use MEDIA_BUS_FMT_* constants Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Reviewed-by: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ab149b88eb23482cd9c203527bf4e612ee95b50f Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:09:10 2015 -0300 [media] tw68: Move PCI vendor and device IDs to pci_ids.h This commits moves the Intersil/Techwell PCI vendor ID, and the device IDs for the TW68 PCI video capture cards. This will allow to support future Intersil/Techwell devices without duplicating the IDs. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 823ea2a639611f79a3b4d3daff5ff722316342e7 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Thu Feb 12 11:43:11 2015 -0200 [media] media: Correctly notify about the failed pipeline validation On the place of the source entity name, the sink entity name was printed. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 78c66fbcec717b22fd9db4ddc95e543cfcf544af Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed May 20 04:08:30 2015 -0300 [media] v4l: omap3isp: Drop platform data support Platforms using the OMAP3 ISP have all switched to DT, drop platform data support. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 63540f01917c0d8b03b9813a0d6539469b163139 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 20 05:03:35 2015 -0300 [media] drm/exynos: Convert g2d_userptr_get_dma_addr() to use get_vaddr_frames() Convert g2d_userptr_get_dma_addr() to pin pages using get_vaddr_frames(). This removes the knowledge about vmas and mmap_sem locking from exynos driver. Also it fixes a problem that the function has been mapping user provided address without holding mmap_sem. Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6690c8c78c745239bb1f22b23f3889a0a14c249b Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:50 2015 -0300 [media] media: vb2: Remove unused functions Conversion to the use of pinned pfns made some functions unused. Remove them. Also there's no need to lock mmap_sem in __buf_prepare() anymore. Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fb639eb39154312af8bf08c58cc0142179e0c224 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:49 2015 -0300 [media] media: vb2: Convert vb2_dc_get_userptr() to use frame vector Convert vb2_dc_get_userptr() to use frame vector infrastructure. When we are doing that there's no need to allocate page array and some code can be simplified. Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5a9e4dec393a2c5a01be6adc63065059b367d532 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:48 2015 -0300 [media] media: vb2: Convert vb2_vmalloc_get_userptr() to use frame vector Convert vb2_vmalloc_get_userptr() to use frame vector infrastructure. When we are doing that there's no need to allocate page array and some code can be simplified. Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3336c24f25ec932aab128cf7285ca90a4dbcb816 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:47 2015 -0300 [media] media: vb2: Convert vb2_dma_sg_get_userptr() to use frame vector Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 21fb0cb7ec65a40b9f5f7cda59eba0eb2ae76473 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:46 2015 -0300 [media] vb2: Provide helpers for mapping virtual addresses Provide simple helper functions to map virtual address range into an array of pfns / pages. Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8a677b6eddfc3127ea36a710838ecd20502b1cb9 Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:45 2015 -0300 [media] media: omap_vout: Convert omap_vout_uservirt_to_phys() to use get_vaddr_pfns() Convert omap_vout_uservirt_to_phys() to use get_vaddr_pfns() instead of hand made mapping of virtual address to physical address. Also the function leaked page reference from get_user_pages() so fix that by properly release the reference when omap_vout_buffer_release() is called. Signed-off-by: Jan Kara <jack@xxxxxxx> [hans.verkuil@xxxxxxxxx: remove unused variable] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8025e5ddf9c1cac0e632dad49a63abf7848b78cb Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:44 2015 -0300 [media] mm: Provide new get_vaddr_frames() helper Provide new function get_vaddr_frames(). This function maps virtual addresses from given start and fills given array with page frame numbers of the corresponding pages. If given start belongs to a normal vma, the function grabs reference to each of the pages to pin them in memory. If start belongs to VM_IO | VM_PFNMAP vma, we don't touch page structures. Caller must make sure pfns aren't reused for anything else while he is using them. This function is created for various drivers to simplify handling of their buffers. Signed-off-by: Jan Kara <jack@xxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0f6e2825ce916eed882996bb6e9148c13ecebefd Author: Jan Kara <jack@xxxxxxx> Date: Mon Jul 13 11:55:43 2015 -0300 [media] vb2: Push mmap_sem down to memops Currently vb2 core acquires mmap_sem just around call to __qbuf_userptr(). However since commit f035eb4e976ef5 (videobuf2: fix lockdep warning) it isn't necessary to acquire it so early as we no longer have to drop queue mutex before acquiring mmap_sem. So push acquisition of mmap_sem down into .get_userptr memop so that the semaphore is acquired for a shorter time and it is clearer what it is needed for. Note that we also need mmap_sem in .put_userptr memop since that ends up calling vb2_put_vma() which calls vma->vm_ops->close() which should be called with mmap_sem held. However we didn't hold mmap_sem in some code paths anyway (e.g. when called via vb2_ioctl_reqbufs() -> __vb2_queue_free() -> vb2_dma_sg_put_userptr()) and getting mmap_sem in put_userptr() introduces a lock inversion with queue->mmap_lock in the above mentioned call path. Luckily this whole locking mess will get resolved once we convert videobuf2 core to the new mm helper which avoids the need for mmap_sem in .put_userptr memop altogether. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 27c039750c8ff1297632e424a4674732cc4c3c70 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 12:18:33 2015 -0300 [media] sr030pc30: don't read a new pointer sr030pc30_get_fmt() can only succeed if both info->curr_win and info->curr_fmt are not NULL. If one of those vars are null, the curent code would call: ret = sr030pc30_set_params(sd); If the curr_win is null, it will return -EINVAL, as it would be expected. However, if curr_fmt is NULL, the function won't set it. The code will then try to read from it: mf->code = info->curr_fmt->code; mf->colorspace = info->curr_fmt->colorspace; with obviouly won't work. This got reported by smatch: drivers/media/i2c/sr030pc30.c:505 sr030pc30_get_fmt() error: we previously assumed 'info->curr_win' could be null (see line 499) drivers/media/i2c/sr030pc30.c:507 sr030pc30_get_fmt() error: we previously assumed 'info->curr_fmt' could be null (see line 499) Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ab9a953b9f58ae695bbbe04a8540830bbae5d246 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 12:18:32 2015 -0300 [media] ov2659: get rid of unused values Why to store the chosed values for prediv, postdiv and mult if those won't be used? drivers/media/i2c/ov2659.c: In function 'ov2659_pll_calc_params': drivers/media/i2c/ov2659.c:912:35: warning: variable 's_mult' set but not used [-Wunused-but-set-variable] u32 s_prediv = 1, s_postdiv = 1, s_mult = 1; ^ drivers/media/i2c/ov2659.c:912:20: warning: variable 's_postdiv' set but not used [-Wunused-but-set-variable] u32 s_prediv = 1, s_postdiv = 1, s_mult = 1; ^ drivers/media/i2c/ov2659.c:912:6: warning: variable 's_prediv' set but not used [-Wunused-but-set-variable] u32 s_prediv = 1, s_postdiv = 1, s_mult = 1; ^ This is likely some leftover from some past change. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 12976516558c81f20757f6b0947823119ad87046 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 12:18:31 2015 -0300 [media] ov9650: remove an extra space drivers/media/i2c/ov9650.c:1439 ov965x_detect_sensor() warn: inconsistent indenting Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1d88f831d20c10b5633cd71117917cd04a0735a8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 12:18:30 2015 -0300 [media] tc358743: don't use variable length array for I2C writes drivers/media/i2c/tc358743.c:148:19: warning: Variable length array is used. As the maximum size is 1026, we can't use dynamic var, as it would otherwise spend 1056 bytes of the stack at i2c_wr() function. So, allocate a buffer with the allowed maximum size together with the state var. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Mats Randgaard <matrandg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5d44595c2627f7edcd8c24a76b13bd115f9fc2da Merge: fedf42b 93a1cee Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Sun Aug 16 17:10:20 2015 +0200 Merge branch 'reset/ath79' into reset/next commit bdfe0cbd746aa9b2509c2f6d6be17193cf7facd7 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Aug 16 10:03:57 2015 -0400 Revert "ext4: remove block_device_ejected" This reverts commit 08439fec266c3cc5702953b4f54bdf5649357de0. Unfortunately we still need to test for bdi->dev to avoid a crash when a USB stick is yanked out while a file system is mounted: usb 2-2: USB disconnect, device number 2 Buffer I/O error on dev sdb1, logical block 15237120, lost sync page write JBD2: Error -5 detected when updating journal superblock for sdb1-8. BUG: unable to handle kernel paging request at 34beb000 IP: [<c136ce88>] __percpu_counter_add+0x18/0xc0 *pdpt = 0000000023db9001 *pde = 0000000000000000 Oops: 0000 [#1] SMP CPU: 0 PID: 4083 Comm: umount Tainted: G U OE 4.1.1-040101-generic #201507011435 Hardware name: LENOVO 7675CTO/7675CTO, BIOS 7NETC2WW (2.22 ) 03/22/2011 task: ebf06b50 ti: ebebc000 task.ti: ebebc000 EIP: 0060:[<c136ce88>] EFLAGS: 00010082 CPU: 0 EIP is at __percpu_counter_add+0x18/0xc0 EAX: f21c8e88 EBX: f21c8e88 ECX: 00000000 EDX: 00000001 ESI: 00000001 EDI: 00000000 EBP: ebebde60 ESP: ebebde40 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 CR0: 8005003b CR2: 34beb000 CR3: 33354200 CR4: 000007f0 Stack: c1abe100 edcb0098 edcb00ec ffffffff f21c8e68 ffffffff f21c8e68 f286d160 ebebde84 c1160454 00000010 00000282 f72a77f8 00000984 f72a77f8 f286d160 f286d170 ebebdea0 c11e613f 00000000 00000282 f72a77f8 edd7f4d0 00000000 Call Trace: [<c1160454>] account_page_dirtied+0x74/0x110 [<c11e613f>] __set_page_dirty+0x3f/0xb0 [<c11e6203>] mark_buffer_dirty+0x53/0xc0 [<c124a0cb>] ext4_commit_super+0x17b/0x250 [<c124ac71>] ext4_put_super+0xc1/0x320 [<c11f04ba>] ? fsnotify_unmount_inodes+0x1aa/0x1c0 [<c11cfeda>] ? evict_inodes+0xca/0xe0 [<c11b925a>] generic_shutdown_super+0x6a/0xe0 [<c10a1df0>] ? prepare_to_wait_event+0xd0/0xd0 [<c1165a50>] ? unregister_shrinker+0x40/0x50 [<c11b92f6>] kill_block_super+0x26/0x70 [<c11b94f5>] deactivate_locked_super+0x45/0x80 [<c11ba007>] deactivate_super+0x47/0x60 [<c11d2b39>] cleanup_mnt+0x39/0x80 [<c11d2bc0>] __cleanup_mnt+0x10/0x20 [<c1080b51>] task_work_run+0x91/0xd0 [<c1011e3c>] do_notify_resume+0x7c/0x90 [<c1720da5>] work_notify Code: 8b 55 e8 e9 f4 fe ff ff 90 90 90 90 90 90 90 90 90 90 90 55 89 e5 83 ec 20 89 5d f4 89 c3 89 75 f8 89 d6 89 7d fc 89 cf 8b 48 14 <64> 8b 01 89 45 ec 89 c2 8b 45 08 c1 fa 1f 01 75 ec 89 55 f0 89 EIP: [<c136ce88>] __percpu_counter_add+0x18/0xc0 SS:ESP 0068:ebebde40 CR2: 0000000034beb000 ---[ end trace dd564a7bea834ecd ]--- Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=101011 Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3c22a0ed597c1ff33eddeafd04be5e6ce544262d Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Wed Aug 5 23:07:42 2015 +0300 iwlwifi: mvm: Enable power management on low-latency bss Currently the driver disable power management on all low-latency interfaces, while it should disable it on WiDi interfaces only. Non-P2P interfaces that runs voice and video traffic should enable power management. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7c4f084372ed35aef3e8c6e6b1f1b1dc3235987a Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Thu Apr 30 18:31:45 2015 +0300 iwlwifi: mvm: support TDLS wider-bandwidth When TDLS support is declared by the FW, set the bit indicating wider-BW support as well. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5b9d47cdde1aacaac9b9dcefe44ee3493dc5fd87 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 11 00:45:03 2015 +0300 iwlwifi: mvm: fix a range check in debugfs code The &mvm->tof_data.range_req.ap[] array has IWL_MVM_TOF_MAX_APS elements so the check should be >= instead of >. Also the test can underflow so I have changed "i" to unsigned. Fixes: ce7929186a39 ('wlwifi: mvm: add basic Time of Flight (802.11mc FTM) support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3cd6e2f768851a760c072f0f84b9688b1755d24d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Jul 16 15:42:14 2015 +0300 iwlwifi: convert hex_dump_to_buffer() to %*ph There is no need to use hex_dump_to_buffer() in the cases like this: hexdump_to_buffer(buf, len, 16, 1, outbuf, outlen, false); /* len <= 16 */ sprintf("%s\n", outbuf); since it maybe easily converted to simple: sprintf("%*ph\n", len, buf); Note: it seems in one case the output is groupped by 2 bytes and looks like a typo. Thus, patch changes that to plain byte stream. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1be5d8cc165d56b7267f5adc96d496a33c33219e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Jun 11 16:51:24 2015 +0200 iwlwifi: pass NAPI struct from transport layer The mac80211 patch to pass the NAPI struct only changed iwlwifi to store the NAPI struct, but we can do better: pass it directly from the lower transport layer to the opmode during RX, and then on to mac80211 from there. When we add multiple RX queues, we can then pass the appropriate NAPI struct properly. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 473e0bc39bd5d2542e90edc622a65bd49206409d Merge: 1a84e77 8f9c98d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Aug 16 10:20:58 2015 +0300 Merge tag 'mac80211-next-for-davem-2015-08-14' into next Another pull request for the next cycle, this time with quite a bit of content: * mesh fixes/improvements from Alexis, Bob, Chun-Yeow and Jesse * TDLS higher bandwidth support (Arik) * OCB fixes from Bertold Van den Bergh * suspend/resume fixes from Eliad * dynamic SMPS support for minstrel-HT (Krishna Chaitanya) * VHT bitrate mask support (Lorenzo Bianconi) * better regulatory support for 5/10 MHz channels (Matthias May) * basic support for MU-MIMO to avoid the multi-vif issue (Sara Sharon) along with a number of other cleanups. commit 1a84e7716086be3b90e3b735725d0a14da28a69c Author: Ayala Beker <ayala.beker@xxxxxxxxx> Date: Wed Jul 22 13:54:31 2015 +0300 iwlwifi: mvm: add debug info to schedule scan complete message. Add more information to schedule scan complete message. Signed-off-by: Ayala Beker <ayala.beker@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3b44a0ef12b9676914b25dcf3bf7f0cdd07de5b3 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Sun Jun 21 11:57:36 2015 +0300 iwlwifi: mvm: remove partial and full scan lists from lmac sched scan Lmac sched scan supports partial scans, so we can set some channels to be scanned on every scan iteration and others to be scanned only on some iterations. Currently we set all channels to be scanned every iteration, but still have some configuration of which iterations should be partial and which should be full. Remove all partial/full scan configuration to reduce confusions. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9437e9941025bc83d3dd43f2927019149029f667 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Mon Jun 22 13:20:00 2015 +0300 iwlwifi: mvm: simplify calculating scan dwells and other timing values Remove timing values from iwl_mvm_scan_params and use defines and arrays of values instead. While at that fix few values and corner cases and align all OSs to ChromeOS values. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 80de4321a65c680dd7ce0138d88dc96e0d2a18fb Author: Eliad Peller <eliadx.peller@xxxxxxxxx> Date: Thu Jul 30 16:53:27 2015 +0300 iwlwifi: make sure d3_suspend/resume ops exist We added calls to d3_suspend/resume trans ops during the suspend/resume flow. However, the wrapper code didn't verify the trans ops were actually defined, resulting in panic when they were not (such as in the case of sdio trans) Fixes: 6dfb36c89dc2 ("iwlwifi: call d3_suspend/resume in d0i3 case as well") Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 395ae54bd8775508a9616817188cabbcd6f53260 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Aug 14 17:19:43 2015 -0500 ALSA: usb: handle descriptor with SYNC_NONE illegal value The M-Audio Transit exposes an interface with a SYNC_NONE attribute. This is not a valid value according to the USB audio classspec. However there is a sync endpoint associated to this record. Changing the logic to try to use this sync endpoint allows for seamless transitions between altset 2 and altset 3. If any errors happen, the behavior remains the same. $ more /proc/asound/card1/stream0 M-Audio Transit USB at usb-0000:00:14.0-2, full speed : USB Audio Playback: Status: Stop Interface 1 Altset 1 Format: S24_3LE Channels: 2 Endpoint: 3 OUT (ADAPTIVE) Rates: 48001 - 96000 (continuous) Interface 1 Altset 2 Format: S24_3LE Channels: 2 Endpoint: 3 OUT (NONE) Rates: 8000 - 48000 (continuous) Interface 1 Altset 3 Format: S16_LE Channels: 2 Endpoint: 3 OUT (ASYNC) Rates: 8000 - 48000 (continuous) Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 630184477e7eccb2b31ee4c20b6905ca5fa4b3a8 Author: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Date: Fri Aug 14 17:19:42 2015 -0500 ALSA: usb: fix corrupted pointers due to interface setting change When a transition occurs between alternate settings that do not use the same synchronization method, the substream pointers were not reset. This prevents audio from being played during the second transition. Identified and tested with M-Audio Transit device (0763:2006 Midiman M-Audio Transit) Details of the issue: First playback to adaptive endpoint: $ aplay -Dhw:1,0 ~/24_96.wav Playing WAVE '/home/plb/24_96.wav' : Signed 24 bit Little Endian in 3bytes, Rate 96000 Hz, Stereo [ 3169.297556] usb 1-2: setting usb interface 1:1 [ 3169.297568] usb 1-2: Creating new playback data endpoint #3 [ 3169.298563] usb 1-2: Setting params for ep #3 (type 0, 3 urbs), ret=0 [ 3169.298574] usb 1-2: Starting data EP @ffff880035fc8000 first playback to asynchronous endpoint: $ aplay -Dhw:1,0 ~/16_48.wav Playing WAVE '/home/plb/16_48.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo [ 3204.520251] usb 1-2: setting usb interface 1:3 [ 3204.520264] usb 1-2: Creating new playback data endpoint #3 [ 3204.520272] usb 1-2: Creating new capture sync endpoint #83 [ 3204.521162] usb 1-2: Setting params for ep #3 (type 0, 4 urbs), ret=0 [ 3204.521177] usb 1-2: Setting params for ep #83 (type 1, 4 urbs), ret=0 [ 3204.521182] usb 1-2: Starting data EP @ffff880035fce000 [ 3204.521204] usb 1-2: Starting sync EP @ffff8800bd616000 second playback to adaptive endpoint: no audio and error on terminal: $ aplay -Dhw:1,0 ~/24_96.wav Playing WAVE '/home/plb/24_96.wav' : Signed 24 bit Little Endian in 3bytes, Rate 96000 Hz, Stereo aplay: pcm_write:1939: write error: Input/output error [ 3239.483589] usb 1-2: setting usb interface 1:1 [ 3239.483601] usb 1-2: Re-using EP 3 in iface 1,1 @ffff880035fc8000 [ 3239.484590] usb 1-2: Setting params for ep #3 (type 0, 4 urbs), ret=0 [ 3239.484606] usb 1-2: Setting params for ep #83 (type 1, 4 urbs), ret=0 This last line shows that a sync endpoint is used when it shouldn't. The sync endpoint is no longer valid and the pointers are corrupted Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2a8cb48945408984cd04c850b293f467b32ec5af Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Sun Aug 16 14:38:49 2015 +0900 drm/exynos: merge exynos_drm_buf.c to exynos_drm_gem.c The struct exynos_drm_gem_obj can have fields of the struct exynos_drm_gem_buf then don't need to use exynos_drm_buf.c file. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 01ed50ddbd6f7b4fafcf366994949d5a1a8356c0 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Sun Aug 16 14:33:08 2015 +0900 drm/exynos: use prime helpers The dma-buf codes of exynos drm is almost same with prime helpers. A difference is that consider DMA_NONE when import dma-buf, but it's wrong and we don't consider it any more, so we can use prime interface. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit eb57da880b00b6c68f971e077ff3e4db9ef0deae Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:27 2015 +0900 drm/exynos: remove function roundup_gem_size The function roundup_gem_size can be merged in exynos_drm_gem_create. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 211b8878c13fbd5f8ae8a7b68798d178cb5346b4 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Sun Aug 16 14:16:49 2015 +0900 drm/exynos: remove function update_vm_cache_attr The function update_vm_cache_attr can be merged in exynos_drm_gem_mmap. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c4130bcd6a80f29a5d0cabcef8f0341cfa812dff Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Sun Aug 16 14:15:06 2015 +0900 drm/exynos: remove function check_gem_flags The function check_gem_flags is too simple, so it's better to move codes in each consumer functions. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5f3f42664fafa7dd88aee30a2ea77ca45c9362e7 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:22 2015 +0900 drm/exynos: use ERR_PTR instead of NULL in exynos_drm_gem_init For more correct error information. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8e38976ee9aceec4231e7aa5aacf3c6e7aa41471 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:21 2015 +0900 drm/exynos: remove unused fields of struct exynos_drm_gem_buf The userptr, write and pfnmap of struct exynos_drm_gem_buf are not used anywhere. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 67e93c808b486817193dbd1ff93ee03adb9eef28 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:20 2015 +0900 drm/exynos: stop copying sg table Already struct exynos_drm_gem_buf has pages of the buffer, so we don't need to copy from sg table of the buffer to sg table of dma-buf attachment, just can make sg table from pages of the buffer. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 0e9a2ee3bc1ee24be519312453ef93288b545ad3 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:19 2015 +0900 drm/exynos: remove function exynos_drm_gem_map_buf The exynos_drm_gem_map_buf can be merged in exynos_drm_gem_fault. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 67412d15afb7cc34943157c4bce2cf138b579fd1 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:18 2015 +0900 drm/exynos: remove mutex locking in pagefault handler There is no reason to use mutex locking in pagefault handler. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 23597e2642ca76883ef533d3e3947b859537fd49 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:17 2015 +0900 drm/exynos: remove function convert_to_vm_err_msg The convert_to_vm_err_msg is called just once by exynos_drm_gem_fault, so it's simple not to use the function. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8139951cae69637cc882e23f36fc45ecfa1ec814 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:53:16 2015 +0900 drm/exynos: stop using sgtable in page fault handler Already struct exynos_drm_gem_buf has pages of the buffer when buffer is created, so just can use pages in page fault handler, we don't have to make sgtable of the buffer. But this needs to construct pages of the buffer that is imported from dma-buf prime. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 493f133f47750aa5566fafa9403617e3f0506f8c Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Mar 25 23:20:37 2015 -0400 intel_idle: Skylake Client Support Skylake Client CPU idle Power states (C-states) are similar to the previous generation, Broadwell. However, Skylake does get its own table with updated worst-case latency and average energy-break-even residency values. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 2b8376c803c4c1c02446520527b31161e8a3c066 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Sat Aug 15 12:14:08 2015 -0300 drm/exynos: remove struct exynos_drm_encoder layer struct exynos_drm_encoder was justing wrapping struct drm_encoder, it had only a drm_encoder member and the internal exynos_drm_encoders ops that was directly mapped to the drm_encoder helper funcs. So now exynos DRM uses struct drm_encoder directly, this removes completely the struct exynos_drm_encoder. v2: add empty .mode_fixup() and .mode_set() to DSI and DPI to avoid null pointer. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 6cf272751be22a9ae6a6a9550854156dd812ff66 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Aug 6 10:31:47 2015 -0300 drm/exynos: fold encoder setup into exynos_drm_load() As we are removing the exynos encoder move the encoder setup operation directly inside the exynos_drm_load() Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a2986e8032bddbe237ed16e2e26c71f5416cd5fd Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:20 2015 -0300 drm/exynos: remove exynos_drm_create_enc_conn() This functions was just hiding the encoder and connector creation in a way that was less clean than if we get rid of it. For example, exynos_encoder ops had .create_connector() defined only because we were handing off the encoder and connector creation to exynos_drm_create_enc_conn(). Without this function we can directly call the create_connector function internally in the code, without the need of any vtable access. It also does some refactoring in the code like creating a bind function for dpi devices. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit af8be3f6fe80262f29b5e353421392196ff626f0 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:19 2015 -0300 drm/exynos: remove exynos_encoder's .commit() op .commit() is not used anymore, Exynos encoders now follow the .enable()/.disable() semantics from drm atomic core, so remove this callback. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 07fd6e1f9985399f08af0f7981eaed362512a5af Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:18 2015 -0300 drm/exynos: remove extra call to exynos_dp_commit() exynos_dp_commit() was getting called twice by exynos encoder core, once inside the .enable() call and another time by .commit() itself. The remove of the second call caused the wake of a bug, the operations orders inside exynos_dp_commit was wrong and we had to move exynos_dp_start_video() to be the last operation in there. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c2c099f2d97a039c5e1714c803dd9d20458c388f Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:17 2015 -0300 drm/exynos: remove extra call to hdmi_commit() hdmi_commit() was getting called twice by exynos encoder core, once inside the .enable() call and another time by .commit() itself. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cf67cc9a29ac19c98bc4fa0e6d14b0c1f592d322 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Tue Aug 11 17:38:06 2015 +0900 drm/exynos: remove struct exynos_drm_display This struct was just representing encoder information, it was a member of struct exynos_drm_encoder, so any code trying to access encoder data would have to go through the encoder struct, get the display struct and then get the data it want. During this patchset we also realized that the only data exynos_drm_encoder needs to store is the drm_encoder parent and the exynos_drm_encoder_ops. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d1fa72d0a6e70057f6aa0d0f6187e4a49e261fa8 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:15 2015 -0300 drm/exynos: simplify calculation of possible CRTCs All CRTCs can only be LCD, HDMI or VIDI, so basically all CRTCs will be a possible CRTCs. This patch removes an extra function with switch that was only checking if the CRTC type was one of those three above. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a090f45ff0acae51aa0363a72e5c3b47332af9f9 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:14 2015 -0300 drm/exynos: remove unused .remove() and .check_mode() ops from display These two display_ops are not used anywhere, remove them. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b6f3c36183470bbbee9da1c0a8cc892e69f88c4f Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Wed Aug 5 20:24:13 2015 -0300 drm/exynos: remove wrappers for phy_power_{on,off} phy_power_on() and phy_power_off() already checks for NULL pointer. This patch removes the wrappers exynos_dp_phy_init() and exynos_dp_phy_exit() since the only think they were doing was a check for NULL phy. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b6595dc7e1ccc0964862a5bd436a8f004b36c02f Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 10 21:37:04 2015 -0300 drm/exynos: split display's .dpms() into .enable() and .disable() The DRM Core doesn't have a dpms() operation anymore, everything now is enable() or disable(). Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 08dd20099f3ce55a2ded0045b5a087aefea38cd8 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:39 2015 -0300 drm/exynos: return return value of exynos_crtc->enable_vblank Instead of blindly ignore the return value of enable_vblank return it to the upper DRM layer for error handling. Suggested-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d88d2463fecb13c67d8eec78c4b61671900deb94 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:38 2015 -0300 drm/exynos: unify exynos_drm_plane names with drm core Rename crtc_{widht,height} to crtc_{w,h} and src_{width,height} to src_{w,h} to make it similar to the atomic state names. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a1bcc9da90ab44d29c38fc6e4a8dba633e97f3f3 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:37 2015 -0300 drm/exynos: remove unused fields from struct exynos_drm_plane Now after the move to use drm_plane_state directly struct drm_plane_state has many unused fields, along with others that weren't used before the plane state change. Thus remove them all. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 2eeb2e5e6634dbb97bdda81f65f70e4b037028d5 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 3 14:40:44 2015 +0900 drm/exynos: use drm atomic state directly For some fields the use of struct exynos_drm_plane filled with data from the plane state just creates a source of duplicated information and overhead. Here we change the crtc drivers to access the plane state directly simplifying the code by not relying on a exynos internal struct. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1e1d13932283419ddfdb60c73319cc0e753ded5b Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 3 14:39:36 2015 +0900 drm/exynos: pass struct exynos_drm_plane in update/enable We already have the plane pointer in before calling .update_plane() or disable_plane() so pass it directly to those calls avoiding a new conversion from zpos to struct exynos_drm_plane. v2: don't remove check for suspended in FIMD (comment by Joonyoung) Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 9cc7610a2375a94ec967f771ce74b51db0d43d1c Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Aug 3 14:38:05 2015 +0900 drm/exynos: rename win_commit/disable to atomic-like names Rename win_commit() helper to update_plane() and win_disable() to disable_plane(). Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit f59a89d05f1290d0cdaa588d29871e05cdec159b Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:33 2015 -0300 drm/exynos: remove duplicated check for suspend The same check is placed twice in fimd/decon_update_plane(), remove one of them. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit eafd540aeaae6f1c4d04fdf3959419716d23cdc5 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:32 2015 -0300 drm/exynos: use KMS version of DRM vblanks functions Get rid of legacy DRM vblank function that are less clear to use. The new ones basically requires only the crtc as parameters. It also clean ups exynos_drm_crtc_finish_pageflip() parameters as a consequence. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 451a8c0c59b3feebb5bf6a1ce1335e9f3e428355 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Jul 16 12:23:31 2015 -0300 drm/exynos: pass the correct pipe number Instead of giving -1 to as arg to drm_send_vblank_event() pass the correct pipe number to it. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 43a3b866a9e73e9bd215ec3f36c71e42469e70c6 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Tue Jul 28 17:51:02 2015 +0900 drm/exynos: clear channels only when iommu is enabled This is simplest solution about reported problem[1]. It's no problem to clear channel only when iommu is enabled, if we consider that we cannot recognize iommu errors when iommu is disabled and it have been valid until now. But this cannot be nice solution. [1] https://lkml.org/lkml/2015/7/21/404 Reported-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit eb7a3fc74c58be9c01cdbe23947ae9eb032e8365 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Thu Jul 2 21:49:39 2015 +0900 drm/exynos: remove drm_iommu_attach_device_if_possible Already drm_iommu_attach_device checks whether support iommu internally. It should clear channels always regardless iommu support. We didn't know because we can detect the problem when iommu is enabled, so we don't have to use drm_iommu_attach_device_if_possible and then we can remove drm_iommu_attach_device_if_possible and clear_channels function pointer. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 735c21c3c802e9e89ce302ab40ea92f5d1151e02 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Wed Jul 15 12:04:39 2015 +0900 drm/exynos: move order to register vidi kms driver The vidi is virtual kms driver and now it is registered earlier than actual hw kms drivers, so it will occupy crtc index 0. Some users assume the condition yet that actual hw kms driver has crtc index 0. It may or may not be matter but let's arrange register order. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 0df5e4acf584ad1b1b5689d283e1e81655eefab1 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 08:25:43 2015 +0200 drm/exynos/mixer: replace MXR_INT_EN register cache with flag Driver uses only VSYNC interrupts, so we need to cache VSYNC bit state only. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a44652e845739b88214adf9f40478f1ed037348d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 08:25:42 2015 +0200 drm/exynos/mixer: simplify poweron flag The driver uses bool protected by mutex to track power state. The patch replaces this combo with single bit and atomic bitops. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit bf56608a73444037d6960204d81662ccbdebe282 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Thu Jul 2 21:49:38 2015 +0900 drm/exynos: remove unnecessary checking to support iommu Already drm_iommu_attach_device and drm_iommu_detach_device check whether support iommu internally, so we don't have to call is_drm_iommu_supported before call them. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b24919575ea26937013a4380a604c4e8c0a71c81 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Thu Jul 2 21:49:37 2015 +0900 drm/exynos: remove to use ifdef CONFIG_ARM_DMA_USE_IOMMU If CONFIG_ARM_DMA_USE_IOMMU is disable, CONFIG_DRM_EXYNOS_IOMMU also is disable. When CONFIG_DRM_EXYNOS_IOMMU is disable, is_drm_iommu_supported() returns always false, so we can remove to use ifdef CONFIG_ARM_DMA_USE_IOMMU in is_drm_iommu_supported(). Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5149705dacfb24406634d2060880cd5605772540 Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Wed Jul 1 19:09:25 2015 +0900 drm/exynos: gsc: Handles the combination of rotation and flip The unique results of all the combination of rotation and flip can be represented by just 8 states. This patch handles all the combination correctly. Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7b5102da0a9f008a5d59fa4e3cd9e6006848f3bd Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:12 2015 +0200 drm/exynos/hdmi: remove hdmi_v14_conf struct The patch removes intermediate struct for HDMIv14 register configuration, instead registry values are calculated on the fly. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit edb6e41201c626439a8f3687a0cc81c0d1f13c84 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:11 2015 +0200 drm/exynos/hdmi: remove hdmi_v13_conf struct The patch removes intermediate struct for HDMIv13 register configuration, instead registry values are calculated on the fly. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c93aaebfd1945fd0c3efacad001906dd6bcbb3df Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:10 2015 +0200 drm/exynos/hdmi: remove redundant configuration fields The patch removes redundant fields from hdmi_conf_regs. Their values can be calculated from current_mode. This patch is the first step to remove whole hdmi_conf_regs structure. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cd240cde91fa637449b564c08b31030073769ad7 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:09 2015 +0200 drm/exynos/hdmi: add driver data pointer to private context The patch replaces duplicated driver data fields in private context with pointer to driver data. It also simplifies driver data lookup code. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 882a0644fd3427a17d80ad14d1ca3a6228a3860f Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:08 2015 +0200 drm/exynos/hdmi: remove private lock code Most of the code is called by drm core framework, so it is already synchronized. The only async function is irq routine which only calls drm framework so it does not need to be synchronized. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit ef6ce28bc7c529d4d0b8c699d26fb568208bc305 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:07 2015 +0200 drm/exynos/hdmi: Simplify HPD gpio handling GPIO is tested only in hdmi_detect, so there is no reason to set it in other places and to preserve its value in context. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d36b3004ca2c99f39e9691ad8a10c02803ad28fc Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 16:28:06 2015 +0200 drm/exynos/hdmi: remove old platform data code s5p_hdmi_platform_data were used before device tree introduction. As HDMI driver is DT only we can drop this struct completely. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit e920efe6fe06b3d4a181a00c54ae00ee83545992 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Apr 9 10:46:00 2015 +0200 drm/exynos/fimc: fix runtime pm support Once pm_runtime_set_active() gets called, the kernel assumes that given device has already enabled runtime pm and will call pm_runtime_suspend() without matching pm_runtime_resume(). In case of DRM FIMC IPP driver, this will result in calling clk_disable() without respective call to clk_enable(). This patch removes call to pm_runtime_set_active() to ensure that pm_runtime_suspend/resume calls will match. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 947710c6702a4916a7a01b3af4decb66ae7fc34f Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 08:25:41 2015 +0200 drm/exynos/mixer: always update INT_EN cache INT_EN cache field was updated only by mixer_enable_vblank. The patch adds update also by mixer_disable_vblank function. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit fc073248ceb56af8cedebff36bf1cdc5da3c6847 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 08:25:40 2015 +0200 drm/exynos/mixer: correct vsync configuration sequence Specification advises to clear vsync indicator before configuring vsync. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 81a464df5c5cdb47c2c5e271f7440e011d694018 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 10:07:53 2015 +0200 drm/exynos/mixer: fix interrupt clearing The driver used incorrect flags to clear interrupt status. The patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 64ebd8904fab29ee0b76f923aac77da5caa0437d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Jul 9 08:25:38 2015 +0200 drm/exynos/hdmi: fix edid memory leak edid returned by drm_get_edid should be freed. The patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 988a47311952db42b3bf84be0dd515ca7d86aaa3 Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Wed Jul 1 19:09:24 2015 +0900 drm/exynos: gsc: fix wrong bitwise operation for swap detection The bits for rotation are not used as exclusively. So GSC_IN_ROT_270 can not be used for swap detection. The definition of it is same with GSC_IN_ROT_MASK. It is enough to check GSC_IN_ROT_90 bit is set or not to check whether width / height size swapping is needed. Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d248b61f611463cca906d5663a9a0de63ade97a9 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:49:29 2015 -0400 drm/msm/dsi: Introduce DSI configuration module With more platforms supported, the DSI host configuration array keeps expanding. This change moves those to a separate dsi_cfg module. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 1bf4d7c5651a7cfcdcd77389b42d266441ecf444 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:45:53 2015 -0400 drm/msm/dsi: Make each PHY type compilation independent On a certain platform, only one type of DSI PHY is used. This change allows the user to only compile the PHY type which is being used. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 5c8290284402bf7d2c12269402b3177b899c78b7 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:45:52 2015 -0400 drm/msm/dsi: Split PHY drivers to separate files This change moves each PHY type specific code into separate files. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 29e61690130adb1c27053558d2f21af88ae0334e Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:45:51 2015 -0400 drm/msm/dsi: Return void from msm_dsi_phy_disable() We are not checking the return value from msm_dsi_phy_disable(). Change the return type to void. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit fae11c1106ad8304c09e3b9bf95dd6d03f4a5afa Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:45:50 2015 -0400 drm/msm/dsi: Specify bitmask to set source PLL The bit position to configure source PLL will change on new types of PHYs. The caller should pass down this information. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 29f034d776209042f7aaaf1518a66841c1d42233 Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Wed Aug 5 15:33:29 2015 -0400 drm/msm/mdp: Clear pending interrupt status before enable interrupt Pending interrupt status needs to be cleared before enable the interrupt. Otherwise it's possible to get a pending interrupt instead of an incoming interrupt. Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 8089082fae1975ad9d5abbd37c0ee8f688be28a0 Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Fri Jul 31 10:13:26 2015 -0400 drm/msm/mdp5: Add rotation (hflip/vflip) support to MDP5 planes (v2) MDP5 SSPPs can flip the input source horizontally or vertically. This change is to add this support to MDP5 planes. v1: Initial change v2: Use existing "rotation" property instead of creating msm specific properties. In order to be compatiable with legacy non-atomic set_property, switch to drm_atomic_helper_plane_set_property helper function. Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 095022b9aa0546a0f3d3fb5f42c82b4004103864 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 15:12:39 2015 +0100 drm/msm: add calls to prepare and unprepare panel Prepare the panel before it's enabled and un-prepare after disable, this will make sure that the regulators are switched on and off correctly. Tested it on APQ8064 based IFC6410 with panel. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 09992e4d46935798b4a1cf3a734e6a0f3470f107 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Mon Aug 3 14:09:36 2015 +0530 drm/msm/dsi: Modify dsi manager bridge ops to work with external bridges The dsi bridge ops call drm_panel functions to set up the connected drm_panel. Add checks to make sure these aren't called when we're connected to an external bridge. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit c118e29033aa5b38b593ebd0e02f8b1224c20ed3 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 14:06:10 2015 +0530 drm/msm/dsi: Allow dsi to connect to an external bridge There are platforms where the DSI output can be connected to another encoder bridge chip (DSI to HDMI, DSI to LVDS etc). Add support for external bridge support to the dsi driver. We assume that the external bridge chip would be of the type drm_bridge. The dsi driver's internal drm_bridge (msm_dsi->bridge) is linked to the external bridge's drm_bridge struct. In the case we're connected to an external bridge, we don't need to create and manage a connector within our driver, it's the bridge driver's responsibility to create one. v2: - Move the external bridge attaching stuff to dsi manager to make things cleaner. - Force the bridge to connect to a video mode encoder for now (the dsi mode flags may have not been populated by modeset_init) Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 6f054ec5b9ced3041f29541ae79402198678fc06 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Mon Aug 3 14:08:33 2015 +0530 drm/msm/dsi: Create a helper to check if there is a connected device Create a helper msm_dsi_device_connected() which checks whether we have a device connected to the dsi host or not. This check gets messy when we have support external bridges too. Having an inline function makes it more legible. For now, the check only consists of msm_dsi->panel being non-NULL. Later, this will check if we have an external bridge or not. This helper isn't used in dsi_connector related code as that's specific to only when a drm_panel is connected. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a9ddac9c5765712fa7eace55feeaf7c4ac75e32b Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Mon Aug 3 14:05:45 2015 +0530 drm/msm/dsi: Refer to connected device as 'device' instead of 'panel' We currently support only panels connected to dsi output. We're going to also support external bridge chips now. Change 'panel_node' to 'device_node' in the struct msm_dsi_host and 'panel_flags' to 'device_flags' in msm_dsi. This makes things sound a bit more generic. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 60d05cb4eabcfcab00784677c2a55ed1b9bda2ec Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Thu Jun 25 14:36:35 2015 +0530 drm/msm/dsi: Make TE gpio optional Platforms containing only DSI video mode devices don't need a TE gpio. Make TE gpio optional. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3d6df06249277aabaf895951855c4ed704b038bb Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Tue Jun 9 14:17:22 2015 +0530 drm/msm: mdp4 lvds: get panel node via of graph parsing We currently get the output connected to LVDS by looking for a phandle called 'qcom,lvds-panel' under the mdp DT node. Use the more standard of_graph approach to create an lvds output port, and retrieve the panel node from the port's endpoint data. v3 - Fix return value checks of of_graph_* calls. Tested-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit f7009d266d8b2f4b54da42399aaa536d74fe3e7c Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Thu Jun 25 11:43:40 2015 +0530 drm/msm: dsi host: Use device graph parsing to parse connected panel The dsi host looks for the connected panel node by parsing for a child named 'panel'. This hierarchy isn't very flexible. The connected panel is forced to be a child to the dsi host, and hence, a mipi dsi device. This isn't suitable for dsi devices that don't use mipi dsi as their control bus. Follow the of_graph approach of creating ports and endpoints to represent the connections between the dsi host and the panel connected to it. In our case, the dsi host will only have one output port, linked to the panel's input port. Update DT binding documentation with device graph usage info. v3: - Fix return value checks of of_graph_* calls. - Don't make port a mandatory DT property - Fix defer check when no panel node specified - Rename parse_dt func to align with other dsi_host funcs Reviewed-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 14bb28b0f91f868f081f71eb0c7b590e13527c3c Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Thu Jun 4 15:01:57 2015 +0530 drm/msm: dsi host: add missing of_node_put() Decrement device node refcount if of_get_child_by_name is successfully called. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 78b1d470d57dd7a6e0efda63ebad97f0d44e817c Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Mon Jul 27 13:49:45 2015 -0400 drm/msm: Enable clocks during enable/disable_vblank() callbacks AHB clock should be enabled before accessing registers during enable/disable_vblank(). Since these 2 callbacks are called in atomic context while clk_prepare may cause thread sleep, a work is scheduled to control vblanks. v2: fixup spinlock initialization Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> [add comment about cancel_work_sync() before drm_irq_uninstall()] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 8a94b0aa372ebf7375c8ea861cb9bbf84b39d2df Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Wed Jul 8 18:25:40 2015 -0400 drm/msm/mdp5: Add support for msm8x74v1 msm8x74v1 has different MDP5 version (v1.0) from msm8x74v2 (v1.2). Add a separate config data to support msm8x74v1. Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 8155ad4ce67d2f3418a4a72144c10114d21f0ece Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Tue Jul 7 17:17:28 2015 -0400 drm/msm/mdp5: Add DMA pipe planes for MDP5 This change is to add planes which use DMA pipes for MDP5. Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> [slight comment adjust to s/Construct public planes/Construct video planes/ since DMA planes are public planes too, they just can't scale or CSC] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3498409f0315b93f969f87c31d014a9819f6fa7d Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Wed Jul 8 18:12:40 2015 -0400 drm/msm/mdp: Add capabilities to MDP planes (v2) MDP planes can be implemented using different type of HW pipes, RGB/VIG/DMA pipes for MDP5 and RGB/VG/DMA pipes for MDP4. Each type of pipe has different HW capabilities such as scaling, color space conversion, decimation... Add a variable in plane data structure to specify the difference of each plane which comes from mdp5_cfg data and use it to differenciate the plane operation. V1: Initial change V2: Fix a typo in mdp4_kms.h Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit bef799fb77dc30d32362b6850e997f1c29fc99eb Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:35:31 2015 -0400 drm/msm/mdp5: add more YUV formats for MDP5 Add packed YUV422 and planar YUV420 formats to MDP supported formats. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 9cc137a3ffa3162a0d5af822149a5cec1b42c24e Author: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:35:30 2015 -0400 drm/msm/mdp5: use 2 memory clients for YUV formats on newer mdp5 Newer MDP5 uses 2 shared memory pool clients for certain YUV formats. For example, if VIG0 is used to fetch data in YUYV format, it will use VIG0_Y for Y component, and VIG0_Cr for UV packed. Signed-off-by: Wentao Xu <wentaox@xxxxxxxxxxxxxx> [rebase] Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> commit ff78a6b3771f48d1d5585e5d08ab4ae6fd606ab0 Author: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:35:29 2015 -0400 drm/msm/mdp: mark if a MDP format is YUV at definition This makes it easy to determine if a format is YUV. The old method of using chroma sample type incorrectly marks YUV444 as RGB format. Signed-off-by: Wentao Xu <wentaox@xxxxxxxxxxxxxx> [rebase] Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 02b3ee466443ba6780562fb2af5fe0ad5bf059f6 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Jul 6 11:09:41 2015 +0200 drm/msm/dp: use flags argument of devm_gpiod_get to set direction Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Use this to simplify the driver. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 328e1a633c9bc26c36ecd320246e4a9b2726e81a Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Fri Jul 3 10:09:46 2015 -0400 drm/msm/dsi: Save/Restore PLL status across PHY reset Reset DSI PHY silently changes its PLL registers to reset status, which will make cached status in clock driver invalid and result in wrong output rate of link clocks. The current restore mechanism in DSI PLL does not cover all the cases. This change is to recover PLL status after PHY reset to match HW status with cached status in clock driver. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit da882cd1ee132ecbb4a4848a6b0797ea2ed4bee7 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 22:23:28 2015 +0200 drm/msm/dsi: One function call less in dsi_init() after error detection The dsi_destroy() function was called in two cases by the dsi_init() function during error handling even if the passed variable contained a null pointer. * This implementation detail could be improved by adjustments for jump targets according to the Linux coding style convention. * Drop an unnecessary initialisation for the variable "msm_dsi" then. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> [add couple missing ERR_PTR()'s] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a60bbb2764b73a3f54c7462f3d28f960b7811682 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 22:05:31 2015 +0200 drm/msm/dsi: Delete an unnecessary check before the function call "dsi_destroy" The dsi_destroy() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit b96b3a06d1211ba86674db99a6aafe39ef4cbed2 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Fri Jun 26 16:03:26 2015 -0400 drm/msm/mdp5: Allocate CTL0/1 for dual DSI single FLUSH This change takes advantage of a HW feature that synchronize flush operation on CTL1 to CTL0, to keep dual DSI pipes in sync. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit c71716b17bc772e9c38f85a4b496bbfac0dd32f0 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Fri Jun 26 16:03:25 2015 -0400 drm/msm/mdp5: Allocate CTL for each display interface In MDP5, CTL contains information of the whole pipeline whose output goes down to a display interface. In various cases, one interface may require 2 CRTCs, but only one CTL. Some interfaces also require to use certain CTLs. Instead of allocating CTL for each active CRTC, this change is to associate a CTL with each interface. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 129877819c0a5f8d419fe67ae08a8a7c811afa5e Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Thu Jun 25 17:37:42 2015 -0400 drm/msm/mdp5: Add plane blending operation support for MDP5 (v2) This change is to add properties alpha/zpos/blend_mode to mdp5 plane for alpha blending operation to generate the blended output. v1: Initial change v2: Change "premultilied" property to enum (Rob's comment) Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> [Don't actually expose alpha/premultiplied props to userspace yet pending a chance for discussion and some userspace to exercise it] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 4ff696eafaa50d6d649d256d20528b475104a500 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Jul 28 11:05:03 2015 -0400 drm/msm: don't install plane properties on crtc This was a hold-over from the pre-atomic days and legacy userspace that only understood CRTCs. Fortunately we don't have any properties, so this doesn't change anything. But before we start growing some plane properties, we should fix this. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 01199361c665245d557b8eefef56d648ddb3867a Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Thu Jun 25 11:29:24 2015 +0530 drm/msm/dsi: Report PHY errors only when they really occur DSI PHY errors are falsely reported whenever a dsi error occurs. This is because DSI_DLN0_PHY_ERR isn't only used as a status register, but also used to mask PHY errors. Currently, we end up reading the mask bits too and therefore always report errors. Ignore the register mask bits and check for only the status/clear bits. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 9b7a9fc29a48026d797cbf237121850c1c241df4 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Wed Jun 24 19:13:40 2015 -0400 drm/msm: Set different display size limitation on each target The maximum output width of one pipeline depends on the LayerMixer's capability. It may be different on each target. Also, MDP5 doesn't have vertical limitation in one frame, as long as the pixel clock can be supported. This change obtains the maximum LM resolution from configuration table and treat it as the whole pipe's limitation for MDP5. The size limit on MDP4 is not changed. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> commit 5cf3a4553fc8395c4ad38077f8cee6c91f832393 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Mon Jul 27 20:52:50 2015 -0400 drm/msm/hdmi: standardize on lead chip for compatible names For all of these devices, msm89xy was the lead chip, so standardize the compatible names to align with convention used by rest of the qcom/msm drivers. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3a84f8469e2687b9fdcf83d615b8001a2443566a Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Jun 19 16:04:47 2015 -0400 drm/msm: Add support for msm8x94 This change adds the MDP and HDMI support for msm8x94. Note that HDMI PHY registers are not being accessed anymore from the driver. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> [rename compatible s/8x94/8994/ since preference is to not trust the marketing folks who invent chip #'s but instead name things after the lead chip.. we should rename some 80XY to 89XY to standardize on the lead chip but leave that for another patch. Also, update dt bindings doc] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit da32855219f86f27cad1b12be2264ffb0b97b9fa Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Fri Jun 19 16:04:46 2015 -0400 drm/msm/hdmi: remove ->reset() from HDMI PHY ->reset() currently only accesses HDMI core registers, and yet it is located in hdmi_phy*. Since no PHY registers are being accessed during ->reset(), it would be better to bring that function in hdmi core module where HDMI core registers are usually being accessed. This will also help for msm8x94 for which no PHY registers accesses are done (->phy_init == NULL) but the HDMI PHY reset from HDMI core still needs to be done. Note: SW_RESET_PLL bit is not written in hdmi_phy_8x60_reset(); this write should not affect anything if the corresponding field is not writable. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> [fixed warning about unused 'phy' in hpd_enable() while merging] Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit dcefc117cc192f215d04c4e7cbae6b76a9bafcf4 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Jun 18 10:14:21 2015 -0400 drm/msm/dsi: Add support for msm8x94 DSI controller on msm8x94 is version 1.3, which requires different power supplies and works with 20nm DSI PHY. This change is to add the basic support for this version. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit ab8909b032ffccc15384879dd5798b8647d6ab8a Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Thu Jun 11 10:56:46 2015 -0400 drm/msm/dsi: Use pinctrl in DSI driver Some targets use pinctrl framework to configure some pins. This change allows DSI driver to set default and sleep pinctrl status. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 678565c3cb2100a8f03c23592f13f6b78e69a590 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Wed Jun 10 13:18:18 2015 -0400 drm/msm/dsi: Rename *dual panel* to *dual DSI* The current term of *dual panel* in DSI driver code causes confusion. It is supposed to indicate the panel using two DSI links. Rename it to *dual DSI*. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 13351cd17791694f2dcc96dc920e58b090b18c31 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Wed Jun 10 13:18:17 2015 -0400 drm/msm/dsi: Update source PLL selection in DSI PHY The source PLL to be used by each DSI PHY should be decided by DSI manager based on dual DSI information, while the register programming to select PLL is different from one type of PHY to another. This change adds the H/W difference to PHY configuration and updates the interface between DSI manager and PHY. With this change, PLL selection can be supported on different targets. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit c6a57a50ad562a2e6fc6ac3218b710caea73a58b Author: jilai wang <jilaiw@xxxxxxxxxxxxxx> Date: Thu Apr 2 17:49:01 2015 -0400 drm/msm/hdmi: add hdmi hdcp support (V3) Add HDMI HDCP support including HDCP PartI/II/III authentication. V1: Initial Change V2: Address Bjorn&Rob's comments Refactor the authentication process to use single work instead of multiple work for different authentication stages. V3: Update to align with qcom SCM api. Signed-off-by: Jilai Wang <jilaiw@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 2d3584eb871da2a6fa72e3d50781f33b0312589a Author: Rob Clark <robdclark@xxxxxxxxx> Date: Mon Jul 27 19:37:12 2015 -0400 drm/msm: update generated headers Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit c0015bf3a34961342a27b021672049e535ab36a1 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sat Aug 15 11:00:33 2015 +0200 ieee802154: 6lowpan: fix non-lowpan wpan interfaces We receive all 802.15.4 frames on the packet handler "lowpan_rcv" this patch checks if the wpan device belongs to a lowpan interface. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0751272880f3a0c74c786ecfaba2b3d98748482f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sat Aug 15 11:00:32 2015 +0200 ieee802154: 6lowpan: fix packet layer registration This patch fixes 802.15.4 packet layer registration when mutliple lowpan interfaces will be added. We need to register the packet layer at the first lowpan interface and deregister it at the last interface. This done by open_count variable which is protected by rtnl. Additional do a quiet fix by adding dev_put(real_dev) when netdev registration fails, which fix the refcount for the wpan dev. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4481c0767e52eea674794de4b9123c9bc3d24f24 Author: Peter Poklop <peter.poklop@xxxxxxxxx> Date: Sat Aug 15 20:47:09 2015 +0200 Bluetooth: btusb: mark 0c10:0000 devices with BTUSB_SWAVE This patch enables quirk handling for Silicon Wave based devices and fixes kernel bug with id 42985. T: Bus=01 Lev=01 Prnt=01 Port=07 Cnt=04 Dev#= 6 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0c10 ProdID=0000 Rev=15.00 S: Manufacturer=SiW S: Product=SiW S: SerialNumber=340A05F61100 C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 50mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms Signed-off-by: Peter Poklop <peter.poklop@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e294a5371b2e0bd22d4a917d4c354a52a7057b6e Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Aug 15 14:59:44 2015 -0400 ext4: ratelimit the file system mounted message The xfstests ext4/305 will mount and unmount the same file system over 4,000 times, and each one of these will cause a system log message. Ratelimit this message since if we are getting more than a few dozen of these messages, they probably aren't going to be helpful. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 50e0ee01382b8e08289d3db209738c5856fd25cf Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Aug 14 19:11:09 2015 +0800 ASoC: fsl-asoc-card: add wm8960 support add wm8960 support for fsl-asoc-card Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0048b4837affd153897ed1222283492070027aa9 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Sun Aug 9 03:41:51 2015 -0400 blk-mq: fix race between timeout and freeing request Inside timeout handler, blk_mq_tag_to_rq() is called to retrieve the request from one tag. This way is obviously wrong because the request can be freed any time and some fiedds of the request can't be trusted, then kernel oops might be triggered[1]. Currently wrt. blk_mq_tag_to_rq(), the only special case is that the flush request can share same tag with the request cloned from, and the two requests can't be active at the same time, so this patch fixes the above issue by updating tags->rqs[tag] with the active request(either flush rq or the request cloned from) of the tag. Also blk_mq_tag_to_rq() gets much simplified with this patch. Given blk_mq_tag_to_rq() is mainly for drivers and the caller must make sure the request can't be freed, so in bt_for_each() this helper is replaced with tags->rqs[tag]. [1] kernel oops log [ 439.696220] BUG: unable to handle kernel NULL pointer dereference at 0000000000000158^M [ 439.697162] IP: [<ffffffff812d89ba>] blk_mq_tag_to_rq+0x21/0x6e^M [ 439.700653] PGD 7ef765067 PUD 7ef764067 PMD 0 ^M [ 439.700653] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC ^M [ 439.700653] Dumping ftrace buffer:^M [ 439.700653] (ftrace buffer empty)^M [ 439.700653] Modules linked in: nbd ipv6 kvm_intel kvm serio_raw^M [ 439.700653] CPU: 6 PID: 2779 Comm: stress-ng-sigfd Not tainted 4.2.0-rc5-next-20150805+ #265^M [ 439.730500] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011^M [ 439.730500] task: ffff880605308000 ti: ffff88060530c000 task.ti: ffff88060530c000^M [ 439.730500] RIP: 0010:[<ffffffff812d89ba>] [<ffffffff812d89ba>] blk_mq_tag_to_rq+0x21/0x6e^M [ 439.730500] RSP: 0018:ffff880819203da0 EFLAGS: 00010283^M [ 439.730500] RAX: ffff880811b0e000 RBX: ffff8800bb465f00 RCX: 0000000000000002^M [ 439.730500] RDX: 0000000000000000 RSI: 0000000000000202 RDI: 0000000000000000^M [ 439.730500] RBP: ffff880819203db0 R08: 0000000000000002 R09: 0000000000000000^M [ 439.730500] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000202^M [ 439.730500] R13: ffff880814104800 R14: 0000000000000002 R15: ffff880811a2ea00^M [ 439.730500] FS: 00007f165b3f5740(0000) GS:ffff880819200000(0000) knlGS:0000000000000000^M [ 439.730500] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b^M [ 439.730500] CR2: 0000000000000158 CR3: 00000007ef766000 CR4: 00000000000006e0^M [ 439.730500] Stack:^M [ 439.730500] 0000000000000008 ffff8808114eed90 ffff880819203e00 ffffffff812dc104^M [ 439.755663] ffff880819203e40 ffffffff812d9f5e 0000020000000000 ffff8808114eed80^M [ 439.755663] Call Trace:^M [ 439.755663] <IRQ> ^M [ 439.755663] [<ffffffff812dc104>] bt_for_each+0x6e/0xc8^M [ 439.755663] [<ffffffff812d9f5e>] ? blk_mq_rq_timed_out+0x6a/0x6a^M [ 439.755663] [<ffffffff812d9f5e>] ? blk_mq_rq_timed_out+0x6a/0x6a^M [ 439.755663] [<ffffffff812dc1b3>] blk_mq_tag_busy_iter+0x55/0x5e^M [ 439.755663] [<ffffffff812d88b4>] ? blk_mq_bio_to_request+0x38/0x38^M [ 439.755663] [<ffffffff812d8911>] blk_mq_rq_timer+0x5d/0xd4^M [ 439.755663] [<ffffffff810a3e10>] call_timer_fn+0xf7/0x284^M [ 439.755663] [<ffffffff810a3d1e>] ? call_timer_fn+0x5/0x284^M [ 439.755663] [<ffffffff812d88b4>] ? blk_mq_bio_to_request+0x38/0x38^M [ 439.755663] [<ffffffff810a46d6>] run_timer_softirq+0x1ce/0x1f8^M [ 439.755663] [<ffffffff8104c367>] __do_softirq+0x181/0x3a4^M [ 439.755663] [<ffffffff8104c76e>] irq_exit+0x40/0x94^M [ 439.755663] [<ffffffff81031482>] smp_apic_timer_interrupt+0x33/0x3e^M [ 439.755663] [<ffffffff815559a4>] apic_timer_interrupt+0x84/0x90^M [ 439.755663] <EOI> ^M [ 439.755663] [<ffffffff81554350>] ? _raw_spin_unlock_irq+0x32/0x4a^M [ 439.755663] [<ffffffff8106a98b>] finish_task_switch+0xe0/0x163^M [ 439.755663] [<ffffffff8106a94d>] ? finish_task_switch+0xa2/0x163^M [ 439.755663] [<ffffffff81550066>] __schedule+0x469/0x6cd^M [ 439.755663] [<ffffffff8155039b>] schedule+0x82/0x9a^M [ 439.789267] [<ffffffff8119b28b>] signalfd_read+0x186/0x49a^M [ 439.790911] [<ffffffff8106d86a>] ? wake_up_q+0x47/0x47^M [ 439.790911] [<ffffffff811618c2>] __vfs_read+0x28/0x9f^M [ 439.790911] [<ffffffff8117a289>] ? __fget_light+0x4d/0x74^M [ 439.790911] [<ffffffff811620a7>] vfs_read+0x7a/0xc6^M [ 439.790911] [<ffffffff8116292b>] SyS_read+0x49/0x7f^M [ 439.790911] [<ffffffff81554c17>] entry_SYSCALL_64_fastpath+0x12/0x6f^M [ 439.790911] Code: 48 89 e5 e8 a9 b8 e7 ff 5d c3 0f 1f 44 00 00 55 89 f2 48 89 e5 41 54 41 89 f4 53 48 8b 47 60 48 8b 1c d0 48 8b 7b 30 48 8b 53 38 <48> 8b 87 58 01 00 00 48 85 c0 75 09 48 8b 97 88 0c 00 00 eb 10 ^M [ 439.790911] RIP [<ffffffff812d89ba>] blk_mq_tag_to_rq+0x21/0x6e^M [ 439.790911] RSP <ffff880819203da0>^M [ 439.790911] CR2: 0000000000000158^M [ 439.790911] ---[ end trace d40af58949325661 ]---^M Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 596f5aad2a704b72934e5abec1b1b4114c16f45b Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Sun Aug 9 03:41:50 2015 -0400 blk-mq: fix buffer overflow when reading sysfs file of 'pending' There may be lots of pending requests so that the buffer of PAGE_SIZE can't hold them at all. One typical example is scsi-mq, the queue depth(.can_queue) of scsi_host and blk-mq is quite big but scsi_device's queue_depth is a bit small(.cmd_per_lun), then it is quite easy to have lots of pending requests in hw queue. This patch fixes the following warning and the related memory destruction. [ 359.025101] fill_read_buffer: blk_mq_hw_sysfs_show+0x0/0x7d returned bad count^M [ 359.055595] irq event stamp: 15537^M [ 359.055606] general protection fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC ^M [ 359.055614] Dumping ftrace buffer:^M [ 359.055660] (ftrace buffer empty)^M [ 359.055672] Modules linked in: nbd ipv6 kvm_intel kvm serio_raw^M [ 359.055678] CPU: 4 PID: 21631 Comm: stress-ng-sysfs Not tainted 4.2.0-rc5-next-20150805 #434^M [ 359.055679] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011^M [ 359.055682] task: ffff8802161cc000 ti: ffff88021b4a8000 task.ti: ffff88021b4a8000^M [ 359.055693] RIP: 0010:[<ffffffff811541c5>] [<ffffffff811541c5>] __kmalloc+0xe8/0x152^M Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit da0b5e40ab10f44019a1ecec09fadfcd5bdb76b6 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 15 11:38:13 2015 -0400 ext4: silence a format string false positive Static checkers complain that the format string should be "%s". It does not make a difference for the current code. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 9810446836ab5a4b34a749bb77f3eb5836f982cc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 15 11:30:31 2015 -0400 ext4: simplify some code in read_mmp_block() My static check complains because we have: if (!*bh) return -ENOMEM; if (*bh) { The second check is unnecessary. I've simplified this code by moving the "if (!*bh)" checks around. Also Andreas Dilger says we should probably print a warning if sb_getblk() fails. [ Restructured the code so that we print a warning message as well if the mmp block doesn't check out, and to print the error code to disambiguate between the error cases. - TYT ] Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit c642dc9e1aaed953597e7092d7df329e6234096e Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Sat Aug 15 10:45:06 2015 -0400 ext4: don't manipulate recovery flag when freezing no-journal fs At some point along this sequence of changes: f6e63f9 ext4: fold ext4_nojournal_sops into ext4_sops bb04457 ext4: support freezing ext2 (nojournal) file systems 9ca9238 ext4: Use separate super_operations structure for no_journal filesystems ext4 started setting needs_recovery on filesystems without journals when they are unfrozen. This makes no sense, and in fact confuses blkid to the point where it doesn't recognize the filesystem at all. (freeze ext2; unfreeze ext2; run blkid; see no output; run dumpe2fs, see needs_recovery set on fs w/ no journal). To fix this, don't manipulate the INCOMPAT_RECOVER feature on filesystems without journals. Reported-by: Stu Mark <smark@xxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 8129ed29644bf56ed17ec1bbbeed5c568b43d6a0 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Aug 11 17:05:04 2015 +0200 change sb_writers to use percpu_rw_semaphore We can remove everything from struct sb_writers except frozen and add the array of percpu_rw_semaphore's instead. This patch doesn't remove sb_writers->wait_unfrozen yet, we keep it for get_super_thawed(). We will probably remove it later. This change tries to address the following problems: - Firstly, __sb_start_write() looks simply buggy. It does __sb_end_write() if it sees ->frozen, but if it migrates to another CPU before percpu_counter_dec(), sb_wait_write() can wrongly succeed if there is another task which holds the same "semaphore": sb_wait_write() can miss the result of the previous percpu_counter_inc() but see the result of this percpu_counter_dec(). - As Dave Hansen reports, it is suboptimal. The trivial microbenchmark that writes to a tmpfs file in a loop runs 12% faster if we change this code to rely on RCU and kill the memory barriers. - This code doesn't look simple. It would be better to rely on the generic locking code. According to Dave, this change adds the same performance improvement. Note: with this change both freeze_super() and thaw_super() will do synchronize_sched_expedited() 3 times. This is just ugly. But: - This will be "fixed" by the rcu_sync changes we are going to merge. After that freeze_super()->percpu_down_write() will use synchronize_sched(), and thaw_super() won't use synchronize() at all. This doesn't need any changes in fs/super.c. - Once we merge rcu_sync changes, we can also change super.c so that all wb_write->rw_sem's will share the single ->rss in struct sb_writes, then freeze_super() will need only one synchronize_sched(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit 853b39a7c82826b8413048feec7bf08e98ce7a84 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Jul 22 20:21:13 2015 +0200 shift percpu_counter_destroy() into destroy_super_work() Of course, this patch is ugly as hell. It will be (partially) reverted later. We add it to ensure that other WIP changes in percpu_rw_semaphore won't break fs/super.c. We do not even need this change right now, percpu_free_rwsem() is fine in atomic context. But we are going to change this, it will be might_sleep() after we merge the rcu_sync() patches. And even after that we do not really need destroy_super_work(), we will kill it in any case. Instead, destroy_super_rcu() should just check that rss->cb_state == CB_IDLE and do call_rcu() again in the (very unlikely) case this is not true. So this is just the temporary kludge which helps us to avoid the conflicts with the changes which will be (hopefully) routed via rcu tree. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit bf3eac84c42da7017610abc8cfba64921ea92c76 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Aug 11 17:26:29 2015 +0200 percpu-rwsem: kill CONFIG_PERCPU_RWSEM Remove CONFIG_PERCPU_RWSEM, the next patch adds the unconditional user of percpu_rw_semaphore. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> commit 55cc156505f2e43fa45dbd4bfe8f9c9d848ca44c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 20:26:44 2015 +0200 percpu-rwsem: introduce percpu_rwsem_release() and percpu_rwsem_acquire() Add percpu_rwsem_release() and percpu_rwsem_acquire() for the users which need to return to userspace with percpu-rwsem lock held and/or pass the ownership to another thread. TODO: change percpu_rwsem_release() to use rwsem_clear_owner(). We can either fold kernel/locking/rwsem.h into include/linux/rwsem.h, or add the non-inline percpu_rwsem_clear_owner(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> commit 9287f6925ad9d8fb8c6283066b4f77fd87f123a9 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 17:45:57 2015 +0200 percpu-rwsem: introduce percpu_down_read_trylock() Add percpu_down_read_trylock(), it will have the user soon. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> commit 0e28e01f1e73015d8e1b8fa1cda071d0bd9a2600 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Aug 11 16:28:29 2015 +0200 document rwsem_release() in sb_wait_write() Not only we need to avoid the warning from lockdep_sys_exit(), the caller of freeze_super() can never release this lock. Another thread can do this, so there is another reason for rwsem_release(). Plus the comment should explain why we have to fool lockdep. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit f4b554af9931585174d4913b482eacab75858964 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Jul 20 00:50:55 2015 +0200 fix the broken lockdep logic in __sb_start_write() 1. wait_event(frozen < level) without rwsem_acquire_read() is just wrong from lockdep perspective. If we are going to deadlock because the caller is buggy, lockdep can't detect this problem. 2. __sb_start_write() can race with thaw_super() + freeze_super(), and after "goto retry" the 2nd acquire_freeze_lock() is wrong. 3. The "tell lockdep we are doing trylock" hack doesn't look nice. I think this is correct, but this logic should be more explicit. Yes, the recursive read_lock() is fine if we hold the lock on a higher level. But we do not need to fool lockdep. If we can not deadlock in this case then try-lock must not fail and we can use use wait == F throughout this code. Note: as Dave Chinner explains, the "trylock" hack and the fat comment can be probably removed. But this needs a separate change and it will be trivial: just kill __sb_start_write() and rename do_sb_start_write() back to __sb_start_write(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit bee9182d955227f01ff3b80c4cb6acca9bb40b11 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Jul 19 23:48:20 2015 +0200 introduce __sb_writers_{acquired,release}() helpers Preparation to hide the sb->s_writers internals from xfs and btrfs. Add 2 trivial define's they can use rather than play with ->s_writers directly. No changes in btrfs/transaction.o and xfs/xfs_aops.o. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit 93dee8eea02aefebe2d21128b5f742afe6671f23 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 20:28:32 2015 -0700 staging: wilc1000: remove WILC_TimerCreate() It was just a wrapper around setup_timer() and could never fail, so just call the real function, and fix up the function arguments of the callbacks to be proper timer callback functions. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4183e9794c751c5139e4599a0c512c7804575a82 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 20:11:16 2015 -0700 staging: wilc1000: remove WILC_TimerDestroy() It was just a wrapper around del_timer_sync() so call that instead. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8972d0fe41e1869b0c7f4c164ea7bffc073dd6b8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 20:04:13 2015 -0700 staging: wilc1000: remove WILC_TimerStop() It was just a wrapper around del_timer() so call that instead. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 334e1a5777290e118abcbb5aa5488c55961609b6 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 20:00:01 2015 -0700 staging: wilc1000: remove tstrWILC_TimerAttrs typedef It was not used for anything, so remove it, and the variables in wilc_timer.c that were being passed of its type. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da711eb68e6f91b271a465cbcef3e96759840148 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:46:06 2015 -0700 staging: wilc1000: remove WILC_TimerHandle typedef Use the proper structure (struct timer_list) instead, which makes things much more readable. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80e29c7a8045005e1a146d86aa4e4a8cce13688c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:42:23 2015 -0700 staging: wilc1000: remove WILC_Sleep() It was just a wrapper around usleep_range() so call that directly instead and remove the now-empty file. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb7b1a76aad831d2c92998de928fdd8d987e00f8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:34:43 2015 -0700 staging: wilc1000: remove commented out WILC_Sleep calls It's not being called, so delete these lines. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e5f206c00f73f535c914eedc8b91f424c5a14ab Merge: 0e38c35 fda4d57 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Sat Aug 15 13:29:57 2015 +1000 Merge branch 'next' of git://git.infradead.org/users/pcmoore/selinux into next commit 601e4576594543200bde9201e4d23242e73a778b Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Thu Aug 13 15:10:19 2015 +0200 ASoC: ssm2518: Add explicit device tree support Add OF match table to SSM2518 to allow direct matching without going through I2C subsystem. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e235727173626edf87c63b415d0363b411da299e Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:51 2015 +0100 staging: vt6655: Replace typedef struct tagSTxDesc Replace with struct vnt_tx_desc with all members the same. volatile is removed from pointers as this generates warning message. Only the first four members of vnt_tx_desc need to be volatile. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 543828599afc9cdd9012e363c7393e5ed102aa2a Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:50 2015 +0100 staging: vt6655: replace typedef struct tagDEVICE_TD_INFO and structure Create struct vnt_td_info with members mic_hdr skb buf buf_dma dwReqCount -> req_count byFlags -> flags In struct tagSTxDesc volatile is removed because it will generate a warning (in any case this member is not) and renaming td_info. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a0989bb6cacb1f40273d4c397ea91cabe73bad8 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:49 2015 +0100 staging: vt6655: struct tagDEVICE_TD_INFO remove dwHeaderLength dwHeaderLength is assigned a value but that is never used. Remove variable. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 531a9c524a54b7d232b6bf6631c460450dd41dbf Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:48 2015 +0100 staging: vt6655: struct tagDEVICE_TD_INFO resize dwReqCount. dwReqCount is no bigger than u16 Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cc8eac99c98000a414f916c1c58dab22c29474d Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:47 2015 +0100 staging: vt6655: replaced typedef struct tagTDES1 Create struct vnt_tdes1 that replaces members wReqCount -> req_count byTCR -> tcr byReserved -> reserved Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5235ff6a1df6fb0883f1a9020ab36e0db1c68064 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 14 22:58:46 2015 +0100 staging: vt6655: desc.h replace typedef struct tagTDES0 create struct vnt_tdes0 replacing used members byTSR0 -> tsr0 byTSR1 -> tsr1 f1Owner -> owner Narrowing endian differences to inside structure. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36a24b4eb60eb8644394e319b2e5afc32be8c3a1 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:26:20 2015 -0700 staging: wilc1000: delete wilc_type.h The .h file isn't needed at all, so just remove it. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6d9e0cb142bdae60872a9be392ed8b6e5dde243 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:19:19 2015 -0700 staging: wilc1000: remove WILC_MemoryFree It's no longer needed, so remove the empty wrapper function. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 969effe9dcdccab865c7f57790f647ebc59df457 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 19:15:34 2015 -0700 staging: wilc1000: remove WILC_FREE_IF_TRUE macro Just use kfree, as that's all it resolves itself to. Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc6c16df806f3c263b7cde7d6961d80415f9aba8 Author: Yash Shah <yshah1@xxxxxxxxxxx> Date: Fri Aug 14 06:06:13 2015 +0000 Staging: sm750fb: Fix "foo* bar" should be "foo *bar" errors Fix "foo* bar" should be "foo *bar" errors as detected by checkpatch.pl Signed-off-by: Yash Shah <yshah1@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1126b1d0d7c0daf48f50e566c498912b31c459f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 14 21:57:51 2015 +0530 staging: rtl8188eu: fix possible NULL dereference dm_odm was being checked for NULL after dereferencing it. Lets check for NULL first before derefenrencing it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b05df556e01f846fd67f8888add9919af55f35c Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 13 13:41:21 2015 +0900 staging: wilc1000: clarify the argument type This patch replaces the void pointer type in the host interface functions which process the message from host thread by the real data type, tstrWILC_WFIDrv because the void pointer type as the arguments is not clear and concise. In addition, typecasting to the void pointer type is removed becasue it is not necessary. Signed-off-by: Johnny Kim <johnny.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11f58c88ddf8613dde976e0fe18afecefaf04195 Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 13 13:41:20 2015 +0900 staging: wilc1000: change void pointer type to real type This patch changes the void pointer member of the tstrHostIFmsg to the real data type because the void pointer type is ambiguous and not readable. Signed-off-by: Johnny Kim <johnny.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 218dc407d4b275a6f96311ff8c4b70dd998fcf24 Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 13 13:41:19 2015 +0900 staging: wilc1000: replace WILC_WFIDrvHandle by tstrWILC_WFIDrv The structure, WILC_WFIDrvHandle is used to save the pointer address for the driver handler which is used throughout the driver but it's not easy to understand what it means. In addition, it doesn't support the 64 bit machine and also causes the warnings for the 64 bit build. This patch replaces the WILC_WFIDrvHandle by the tstrWILC_WFIDrv because the tstrWILC_WFIDrv is real structure to represent the driver handler and reduces the 64 bit compile warnings. Also, typecasting to WILC_WFIDrvHandle is not needed by using tstrWILC_WFIDrv as is. Signed-off-by: Johnny Kim <johnny.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 598f85bfaeeaac0272c8e79f314076e48d445bcf Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Aug 11 10:32:42 2015 +0900 staging: wilc1000: remove WILC_FREE Remove WILC_FREE that is replaced by kfree. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49188af27211b218fffacb26df5e96bf4b7e616c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Aug 11 10:32:41 2015 +0900 staging: wilc1000: use kfree instead of WILC_FREE Use kfree instead of WILC_FREE. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b45891aef5904c2a1e76881f3b44fe646d84b54 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Aug 11 10:32:40 2015 +0900 staging: wilc1000: remove unused memory functions This patch remove unused memory functions because some macros with this memory function are deleted. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96ac283d6490932ff5097259c18a4d03bdddb010 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Aug 11 10:32:39 2015 +0900 staging: wilc1000: wilc_memory.h: remove unused define Remove unused define macro that is never used. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a447f4c732e1eca3232effb354e1b18ae38215d Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Fri Aug 14 13:08:32 2015 -0400 Staging: gdm72xx: usb_ids: fix a macro coding style error Fix a macro with complex value coding style error. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 435009bba4d0449b611bc24ae5c9636ac5b2a00e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Wed Aug 12 21:54:49 2015 +0200 staging: rtl8192e: Fix log spamming in rtl8192_hard_data_xmit This patch fixes issue generated by commit ca93dcba3a92 ("staging: rtl8192e: Remove assert() macro") One negation was missed in conversion, therefore asserted message was always printed. For 1MB file downloaded via http, ~500 messages were generated. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bda9e24909b58c90adb4dd03663d250a5c872fb8 Author: Junsu Shin <jjunes0@xxxxxxxxx> Date: Tue Aug 11 17:44:56 2015 -0500 staging: vme: devices: add spaces around '-' This is a patch to the vme_pio2_core.c that adds spaces around '-'. Signed-off-by: Junsu Shin <jjunes0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8f401f9e751eb5d1f6e9f66e45c84e390bc75bb Author: Junsu Shin <jjunes0@xxxxxxxxx> Date: Tue Aug 11 17:07:14 2015 -0500 staging: vme: devices: fix NULL comparison style This is a patch to vme_pio2_core.c that fixes up the NULL comparison style. Signed-off-by: Junsu Shin <jjunes0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c37e7445700fd49a0b86db86b5f2c20bc963fd5 Author: Junsu Shin <jjunes0@xxxxxxxxx> Date: Tue Aug 11 16:36:05 2015 -0500 staging: vme: devices: remove blank line after open brace This is a patch to the vme_pio2_core.c that removes blank line after open brace '{'. Signed-off-by: Junsu Shin <jjunes0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5f0a90e60643fa63fffa88828c5552f3902a5bf Author: Junsu Shin <jjunes0@xxxxxxxxx> Date: Tue Aug 11 15:02:07 2015 -0500 staging: vme: devices: remove multiple blank lines This is a patch to vm2_pio2_core.c that removes multiple blanks lines. Signed-off-by: Junsu Shin <jjunes0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf7281c9ae9a5f0435630f8e972bb4c6204565bc Author: MichaÅ? KÄ?pieÅ? <kernel@xxxxxxxxxx> Date: Tue Aug 11 14:07:00 2015 +0200 staging: unisys: make visorbus_dev_groups static visorbus_dev_groups is not referenced outside visorbus_main.c, so it can be declared static. Found using sparse. Signed-off-by: MichaÅ? KÄ?pieÅ? <kernel@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 110a66be3a26fe05318121412e3c36f7f1e80a12 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Mon Aug 10 18:34:10 2015 -0400 drivers: staging: unisys: add MODULE_DEVICE_TABLE and temporary MODULE_ALIAS lines to visornic This patch adds an module alias and a MODULE_DEVICE_TABLE to autoload the visornic driver when an appropriate device is created by the visorbus. Note, the correct way of fixing this is adding functionality to scripts/mod/file2alias.c for the visorbus bus type. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit beb12167080146c8cbaa204daae52b102c066166 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:30 2015 -0700 staging: rtl8192u: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec9a0ffa494c7f9c6dbffea7f073ec72a77f1cdb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:23 2015 -0700 staging: mt29f_spinand: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35bb99bf6579f04981830d3275dcffd8b2b17edb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:17 2015 -0700 staging: dgnc: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd8c5cb5ac30f26902b130f46e1180c18f006b2a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:19 2015 -0700 staging: ft1000: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignment Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3ff291009c21ff1276a6470325ff6a5149c3b5f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:33 2015 -0700 staging: wilc1000: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee233d3e19d7a5624e872710b1a6f629a0e8ef4f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:29 2015 -0700 staging: rtl8192e: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebea63f66388e4bad2bce39cd12e5b77dc08c1a9 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:28 2015 -0700 staging: rtl8188eu: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddc9bceb4c128aeec8107df816df1ceba4c68f8b Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:25 2015 -0700 staging: nvec: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd951ddc2d70e67ee0fc48181bedc27a9515ba78 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:18 2015 -0700 staging: fbtft: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b239904d8f2bfa09956b1ac95009136e452f0923 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:26 2015 -0700 staging: octeon: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5ee4695ec03ce8f7c236f568dc99b5366af1ce8 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:31 2015 -0700 staging: rtl8712: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e075de610913d43d9d4682888cbee7856217103a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:34 2015 -0700 staging: xgifb: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f157d807b9fe44afa19e476b52d791a7377d9ad2 Author: Ioan-Adrian Ratiu <adi@xxxxxxxxxx> Date: Fri Aug 14 12:57:06 2015 +0300 staging: lustre: ptlrpc: add missing include directive Without including ptlrpc_internal.h, GCC gives prototype warnings "pack_generic.c:642:5: warning: no previous prototype for ..." and sparse also complains "pack_generic.c:642:5: warning: symbol 'lustre_unpack_req_ptlrpc_body' was not declared. ..." Signed-off-by: Ioan-Adrian Ratiu <adi@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94a99b46116e82aee359265a1ce48ebffe37a479 Author: Swee Hua Law <sweehua81@xxxxxxxxx> Date: Tue Aug 11 21:32:29 2015 +0800 staging: lustre: Do not init global to NULL Remove "= NULL" in global variable Signed-off-by: Swee Hua Law <sweehua81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8150a97fdd095d0468fe75d0d5ce4c9e0cbaf3a3 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:21 2015 -0700 staging: lustre: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 049fbd9fcc848b667d9658618a4c09c706410813 Author: Swee Hua Law <sweehua81@xxxxxxxxx> Date: Mon Aug 10 21:54:18 2015 +0800 staging: lustre: checkpatch: argument alignment for readability Fix checkpatch problem: move last argument of the hlist..() back to same line Signed-off-by: Swee Hua Law <sweehua81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa62a8415e77c7c46be483cba7b650e1748dcb44 Author: Swee Hua Law <sweehua81@xxxxxxxxx> Date: Mon Aug 10 21:54:17 2015 +0800 staging: lustre: checkpatch: move */ block comment to next line Fix checkpatch problem: move */ from end of line to new line Signed-off-by: Swee Hua Law <sweehua81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcffa060c1dfda25dc8a5b1244330de939550f10 Author: Swee Hua Law <sweehua81@xxxxxxxxx> Date: Mon Aug 10 21:54:16 2015 +0800 staging: lustre: checkpatch: symbol == NULL should be !symbol Fix checkpatch problem: change == NULL comparison to !symbol Signed-off-by: Swee Hua Law <sweehua81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b680a81814cebeafe7e01495d064188a3f2fa2f Author: Swee Hua Law <sweehua81@xxxxxxxxx> Date: Mon Aug 10 21:54:15 2015 +0800 staging: lustre: checkpatch: do not init global to NULL Fix checkpatch problem: remove NULL assignment fro global variable Signed-off-by: Swee Hua Law <sweehua81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8365826553dc5f3d0cd4e05211b752a6f951fc8 Author: Patrick Boettcher <patrick.boettcher@xxxxxxxxx> Date: Mon Aug 10 10:25:09 2015 +0200 staging: lustre-libcfs: make static-variable constant This static can be made constant as it is never modified. Found during sparse-cleanup. Signed-off-by: Patrick Boettcher <patrick.boettcher@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25bbe418f89bec661bcc0dfebcacd6705ed79de6 Author: Patrick Boettcher <patrick.boettcher@xxxxxxxxx> Date: Mon Aug 10 10:25:08 2015 +0200 staging: lustre-libcfs: fix sparse warning Fix sparse warnings of the following type: warning: symbol '....' was not declared. Should it be static? Signed-off-by: Patrick Boettcher <patrick.boettcher@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0df4e3e9bbf8968d5ff079b0ace3de9c0b971021 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Aug 10 13:30:35 2015 +0530 Staging: unisys: Remove useless cast on void pointer void pointers do not need to be cast to other pointer types. The semantic patch used to find this: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94858feccaada3f1810ff50dd21d33b1d4d95d56 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Aug 10 13:30:34 2015 +0530 Staging: lustre: libcfs: Remove unnecessary cast on void* This patch does away with the cast on void * as it is unnecessary. Semantic patch used is as follows: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (void *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 642ac6c0dceb6292065d08925e6ffd6ef1fbc7e1 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Aug 10 13:30:33 2015 +0530 Staging: wilc1000: Remove null check before kfree kfree on NULL pointer is a no-op. This patch uses the following semantic patch to find such an instance where NULL check is present before kfree. // <smpl> @@ expression E; @@ - if (E != NULL) { kfree(E); } + kfree(E); @@ expression E; @@ - if (E != NULL) { kfree(E); E = NULL; } + kfree(E); + E = NULL; // </smpl>smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 772a6e1fff9a8c942e982598632cfc41451e2e9a Author: Jacob Kiefer <jtk54@xxxxxxxxxxx> Date: Sun Aug 9 15:20:28 2015 -0400 staging: rtl8723au: Fix Sparse errors in rtw_security.c This patch fixes the following sparse errors: CHECK drivers/staging/rtl8723au/core/rtw_security.c drivers/staging/rtl8723au/core/rtw_security.c:189:39: \ warning: incorrect type in assignment (different base types) drivers/staging/rtl8723au/core/rtw_security.c:189:39: \ expected unsigned int [unsigned] [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:189:39: \ got restricted __le32 [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:197:39: \ warning: incorrect type in assignment (different base types) drivers/staging/rtl8723au/core/rtw_security.c:197:39: \ expected unsigned int [unsigned] [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:197:39: \ got restricted __le32 [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:682:39: \ warning: incorrect type in assignment (different base types) drivers/staging/rtl8723au/core/rtw_security.c:682:39: \ expected unsigned int [unsigned] [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:682:39: \ got restricted __le32 [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:694:39: \ warning: incorrect type in assignment (different base types) drivers/staging/rtl8723au/core/rtw_security.c:694:39: \ expected unsigned int [unsigned] [usertype] <noident> drivers/staging/rtl8723au/core/rtw_security.c:694:39: \ got restricted __le32 [usertype] <noident> Signed-off-by: Jacob Kiefer <jtk54@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 071c19e73b605086a26d83ff911cdc6e6af0b3b8 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:22 2015 +0900 staging: wilc1000: remove wilc_strutils.c and wilc_strutils.h Remove wilc_strutils.c and wilc_strutils.h that are not needed. wilc_strutils.o is also removed in Makefile. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9504f96492f477b20b97ec92d480f646b7e7a488 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:21 2015 +0900 staging: wilc1000: remove WILC_memcpy_INTERNAL Remove WILC_memcpy_INTERNAL that is used in the WILC_memcpy because WILC_memcpy is replaced by memcpy. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f78d5f809ee248bea66fad9fa14fe62b8aec57af Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:20 2015 +0900 staging: wilc1000: remove WILC_memcpy function Remove WILC_memcpy function that is changed to memcpy. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d00d2ba33351007c752ed0e95adaa0d7728ec1b8 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:19 2015 +0900 staging: wilc1000: use memcpy instead of WILC_memcpy Use memcpy instead of WILC_memcpy that is a custom function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31126a478fcc9020234d45576b432e7789081e0d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:18 2015 +0900 staging: wilc1000: remove WILC_strncmp function Remove WILC_strncmp function that is changed to strncmp. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f882895c717ec107820d7a53919110af702652d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:17 2015 +0900 staging: wilc1000: use strncmp instead of WILC_strncmp Use strncmp instead of WILC_strncmp. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24e326ea2946863ea79d3b3af29815f5d49092b0 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:16 2015 +0900 staging: wilc1000: remove WILC_strncpy function Remove WILC_strncpy function that is changed to strncpy. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85b509f18a7f27d6cc296d62e96e4632c83161fd Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:15 2015 +0900 staging: wilc1000: Use strncpy instead of WILC_strncpy Use strncpy instead of WILC_strncpy that is a custom function Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1799cb6188beeff1b36c8968f942e9a15759b773 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:14 2015 +0900 staging: wilc1000: remove WILC_strlen function Remove WILC_strlen function that is changed to strlen. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff96dfb5b1739c84587be23f113078850a0cef4c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:13 2015 +0900 staging: wilc1000: use strlen instead of WILC_strlen Use strlen instead of WILC_strlen that is a custom function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d2b212f88c369b11fc7c791d02d915ad0121d58 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Aug 10 11:33:12 2015 +0900 staging: wilc1000: remove commented code Remove commented code that is not used. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 358d577ce1a7c56c4300a5b773dbf98cf9c76ae2 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 14 11:54:05 2015 +0300 staging: comedi: me4000: use bitwise AND instead of logical This was supposed to bitwise AND but there is a typo. Fixes: 1a02387063fb ('staging: comedi: me4000: remove 'board' from me4000_ai_insn_read()') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad83dbd974feb2e2a8cc071a1d28782bd4d2c70e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 11 13:05:10 2015 +0100 staging: comedi: adl_pci7x3x: fix digital output on PCI-7230 The "adl_pci7x3x" driver replaced the "adl_pci7230" and "adl_pci7432" drivers in commits 8f567c373c4b ("staging: comedi: new adl_pci7x3x driver") and 657f77d173d3 ("staging: comedi: remove adl_pci7230 and adl_pci7432 drivers"). Although the new driver code agrees with the user manuals for the respective boards, digital outputs stopped working on the PCI-7230. This has 16 digital output channels and the previous adl_pci7230 driver shifted the 16 bit output state left by 16 bits before writing to the hardware register. The new adl_pci7x3x driver doesn't do that. Fix it in `adl_pci7x3x_do_insn_bits()` by checking for the special case of the subdevice having only 16 channels and duplicating the 16 bit output state into both halves of the 32-bit register. That should work both for what the board actually does and for what the user manual says it should do. Fixes: 8f567c373c4b ("staging: comedi: new adl_pci7x3x driver") Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.13+, needs backporting for 3.7 to 3.12 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c38d03ea9b7b92f958ce6b3c2337413227bcb6b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:50 2015 -0700 staging: comedi: hwdrv_apci3501: remove "magic" numbers in apci3501_read_insn_timer() Use register bit defines from addi_tcw.h to remove the "magic" numbers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d5e03079de3332b9c3dbb5be24631502d0d676b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:49 2015 -0700 staging: comedi: hwdrv_apci3501: remove "magic" numbers in apci3501_write_insn_timer() Use register bit defines from addi_tcw.h to remove the "magic" numbers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dc68e350460c4c1620f79f23be70739845994ff Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:48 2015 -0700 staging: comedi: hwdrv_apci3501: remove "magic" numbers in apci3501_config_insn_timer() Use register bit defines from addi_tcw.h to remove the "magic" numbers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 020e05e74d49fc4c5cecee1b779247ec8a243b1f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:47 2015 -0700 staging: comedi: addi_apci_3501: remove "magic" numbers in apci3501_interrupt() Use register bit defines from addi_tcw.h to remove the "magic" numbers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd5d0ae4814f4f943c97c83f7f2f393a99b4d3a0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:46 2015 -0700 staging: comedi: addi_apci_3501: use addi_tcw.h for the timer registers The APCI3501_TIMER_* register defines in this driver are that same as the ADDI_TCW_* defines with an additional offset. Add a 'tcw' (timer/counter/watchdog) member to the private data to hold the address for the iobase of the registers. Use that and the defines from addi_tcw.h to address the registers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f821bf57a41f4aaab5c3306fd81e729208ca1404 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:45 2015 -0700 staging: comedi: addi_apci_3501: rename CamelCase vars in apci3501_interrupt() Rename the CamelCase local variables. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63316aae9102a3f7d0d94e32a43dad3b7b752cfe Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:44 2015 -0700 staging: comedi: addi_apci_3501: prefer using the BIT macro Change the register bit defines to use the BIT macro. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd07fbf27b91c3c71812528ce39f9043ee1352e3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:43 2015 -0700 staging: comedi: addi_apci_3501: rename private data 'i_IobaseAmcc' Rename this CamelCase member of the private data. Also, fix the type of the member, it holds a pci_resource_start() address and should be an unsigned long. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c85c26b8d0242da14732312dd99a8595d7a46e2c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:42 2015 -0700 staging: comedi: hwdrv_apci3501: refactor apci3501_config_insn_timer() The handling for the watchdog and timer modes is very similar. Refactor this function to use a common code path for both modes. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bde879ae6ef93cdaa927d1637995256277844239 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:41 2015 -0700 staging: comedi: hwdrv_apci3501: rename 'ul_Command1' in apci3501_config_insn_timer() Rename this CamelCase local variable. For aesthetics, split the mask/set operations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7f909e09fd0cc22499913933c9caee3000423e3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:40 2015 -0700 staging: comedi: hwdrv_apci3501: refactor apci3501_read_insn_timer() The handling of the ADDIDATA_WATCHDOG and ADDIDATA_TIMER is identical. Refactor this function to use a common code path for both timer modes. Remove the incorrect dev_err() noise. The subdevice is valid but the timer_mode is not supported. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 626bb280d0516c7b4adee50cdd2b8ea377183f46 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:39 2015 -0700 staging: comedi: hwdrv_apci3501: refactor apci3501_write_insn_timer() The handling of the ADDIDATA_WATCHDOG and ADDIDATA_TIMER is identical except for the "stop" operation. Refactor this function to use a common code path for both timer modes. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e078d25639c0f8a5d97c879e276a2eba877dce62 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:38 2015 -0700 staging: comedi: hwdrv_apci3501: rename 'ul_Command1' in apci3501_write_insn_timer() Rename this CamelCase local variable. For aesthetics, split the mask/set operations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4434a99eaab2cb3b214201d05f396c940033a6fe Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:37 2015 -0700 staging: comedi: addi_apci_3501: rename private data 'b_TimerSelectMode' Rename this CamelCase member of the private data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a66f2017ec2daebfef9e7cdf4edeca7a362c7303 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:25:36 2015 -0700 staging: comedi: hwdrv_apci3501: remove useless read/mask to stop watchdog The watchdog is stopped in apci3501_write_insn_timer() by writing a 0 to the timer control register. There is no need to read the register first and mask it (as done when the timer is used as a timer). Reported-by: coverity (CID 1227052) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2be8ae5898af956560e9f722b327add05574a1f7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 13:13:59 2015 -0700 staging: comedi: comedi_fops: absorb comedi_free_board_minor() This function is only called by comedi_cleanup_board_minors() and the 'minor' parameter will always be < COMEDI_NUM_BOARD_MINORS. For aesthetics, absorb the function and remove the unnecessary BUG_ON(). Split the comedi_clear_board_minor() out to clarify that the return value is a comedi_device pointer. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4237a2b59432a6ebf73f813ad9e94ab408bb8f1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 13:14:00 2015 -0700 staging: comedi: comedi_fops: remove BUG_ON() in comedi_dev_get_from_board_minor() This function is only called by comedi_dev_get_from_minor() and the 'minor' value will always be < COMEDI_NUM_BOARD_MINORS. Remove the unnecessary BUG_ON(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5104a8988723b405c9e033b7e57267ebdd387d4d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 13:14:01 2015 -0700 staging: comedi: comedi_fops: remove BUG_ON() in comedi_free_subdevice_minor() Drivers should not crash the kernel. This function is only called by comedi_device_detach_cleanup() and the s->minor will always be valid or the device wouldn't have attached in the first place. Leave the checks for safety in accessing the comedi_subdevice_minor_table array but remove the BUG_ON() calls. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b3703f4cb763d57ab26f2ad262a30cc7f87093c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 13:14:02 2015 -0700 staging: comedi: comedi_fops: remove BUG_ON() in comedi_cleanup() The BUG_ON() checks in this function are not necessary. comedi_cleanup_board_minors() clears all the entries in the comedi_board_minor_table array and will call comedi_device_cleanup() for all attached devices. comedi_device_cleanup() will then clear the entries in the comedi_subdevice_minor_table array with comedi_free_subdevice_minor(). Remove the BUG_ON(), drivers should not crash the kernel. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bb6419ccf5b2548ade321d5337e9d3252a3d4a1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 13:14:03 2015 -0700 staging: comedi: comedi_fops: remove remaining BUG_ON() checks The BUG_ON() checks in comedi_subdevice_from_minor() and comedi_dev_get_from_subdevice_minor() are not necessary. The 'minor' numbers for a given comedi driver are setup by comedi_dev_get_from_subdevice_minor() and will always be in the correct range. Drivers should not crash the kernel, remove the BUG_ON() checks. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5babc1bc4d18f780200e3a794d2d553c6684554c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:14 2015 -0700 staging: comedi: hwdrv_apci1564: remove magic numbers in apci1564_counter_insn_read() Use the bit defines from addi_tcw.h to remove the magic numbers in this function. Add the missing define for ADDI_TCW_STATUS_HARDWARE_TRIG. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6288a3bebd8a59364f9ca9871f0fd2ac11963b4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:13 2015 -0700 staging: comedi: hwdrv_apci1564: tidy up apci1564_counter_insn_write() Clear the gate and trig bits in the common code path. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f5d767fab593659cbebc91197c3f182f6e0d84a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:12 2015 -0700 staging: comedi: hwdrv_apci1564: fix counter "mode" setting According to the (broken) original driver, data[4] passed to this function is the "timer mode". It appears the original code used the wrong shift to set the bits. Use the ADDI_TCW_CTRL_MODE() macro so that the correct bits get set. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 835f8fe9527b826d23b223fb5347ee2c3e670cee Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:11 2015 -0700 staging: comedi: hwdrv_apci1564: remove useless code in apci1564_counter_insn_config() The gate, trig, and ena, bits in the 'ctrl' are cleared at the start of the function. There is no reason clear these bits for each step. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18543b13fc99f0e90aead12ca9fc64145341278c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:10 2015 -0700 staging: comedi: hwdrv_apci1564: remove magic number in apci1564_timer_insn_read() Use the bit define from addi_tcw.h to remove the magic number. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a2d58c7f87bb5a92b4be9fd61af77baa2c832ba Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:09 2015 -0700 staging: comedi: hwdrv_apci1564: tidy up apci1564_timer_insn_write() Clear the gate and trig bits in the common code path. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9fca73c8014cbc971baa980c87caab8004b7c8c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:08 2015 -0700 staging: comedi: hwdrv_apci1564: use addi_tcw.h defines Use the ADDI_TCW_CTRL_REG bit defines in addi_tcw.h to remove the "magic" numbers. Add some missing bit defines and mask defines to addi_tcw.h to help cleanup the code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 836b8f2304a0363e98631f8cbccbe962d7dc23ab Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:07 2015 -0700 staging: comedi: addi_apci_1564: tidy up APCI1564_EEPROM_REG bit defines Use the BIT() macro to define the bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f750d15a1d8387605745c89c21cf46d4ddd4cd0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:06 2015 -0700 staging: comedi: addi_apci_1564: define the APCI1564_DI_IRQ_REG bits Define the bits in this register. Remove the old defines in hwdrv_apci1564.c. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbaa1490f989380b2e7a492d324441cc917628cb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:05 2015 -0700 staging: comedi: addi_apci_1564: define the APCI1564_DO_IRQ_REG bits Define the bits in this register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa1219e03e73fb1ebba87eeb2aa1edbea518622d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:04 2015 -0700 staging: comedi: addi_apci_1564: define the APCI1564_DO_INT_STATUS_REG bits Define the bits in this register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59c8f0dd76ac1358086ac79e177791683b1823d0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:03 2015 -0700 staging: comedi: addi_apci_1564: define the APCI1564_DO_INT_CTRL_REG bits Define the bits in this register. Remove the old defines in hwdrv_apci1564.c. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5387751c34a6a02d715e4885239a05563a418b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:02 2015 -0700 staging: comedi: hwdrv_apci1564: remove unused defines These defines are not used. Remove them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2afc5d49d03ffcd36ef5a50a52709539911ceb00 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 11:45:01 2015 -0700 staging: comedi: addi_tcw.h: prefer using the BIT macro Use the BIT macro to define the register bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13d825edd4441dd3453de58d1bd2ade44d5ad2ab Author: Aleksei Fedotov <lexa@xxxxxxxxx> Date: Fri Aug 14 22:34:37 2015 +0300 staging: speakup: Fix warning reported by checkpatch This patch fixes the checkpatch.pl warnings: WARNING: Block comments use a trailing */ on a separate line WARNING: Block comments use * on subsequent lines Signed-off-by: Aleksey Fedotov <lexa@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad9f92d2700d19cd680dbfdb5da3859d10f534d1 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:32 2015 -0700 staging: speakup: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4fde76b1667e86bf016f33c3ada33332e586b0d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:27 2015 -0700 staging: olpc_dcon: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7f2c183043a79e1c6115c69314e3d0d2c5e061f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:24 2015 -0700 staging: netlogic: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0f621ca7bac142ecc0516f91ed1199d9c374ff8 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Aug 12 21:08:50 2015 +0300 staging: android: update TODO - remove "make sure things build as modules properly" - remove kuid_t related remarks, they were relevant for logger, but it is gone half year ago - remove dead e-mail address of Brian Swetland - add e-mail addresses of Arve HjønnevÃ¥g and Riley Andrews Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d30649a8b61843bed98f772954e490b75cae2713 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:16 2015 -0700 staging: android: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c71e16ef7a2b4c5251cef74b1065fbb76bb14d09 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Aug 11 13:20:53 2015 +0300 Staging: iio: trigger: Use braces on both branches of if statement Fix style issue related to missing braces, detected by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f3403ac2cdd7d76c531c5b3cf16b05d7a554f18 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Aug 11 13:18:18 2015 +0300 Staging: iio: trigger: Alignment should match open parenthesis Fix alignment for function parameters as suggested by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d98d2ccb4ceb4f28408299d1cc3846ab6be7ec52 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:20 2015 -0700 staging: iio: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5132fcd1fb55eddf04c7a06ede75723d7870b797 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Fri Aug 14 12:18:04 2015 +0200 Staging: most: aim-cdev/cdev.c. Fix "missing static keyword" warnings This is a patch to the most/aim_cdev.c file. It makes several local functions and structures static to prevent global visibility. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23fe15fadf708c562140cd99e4dfd400afc5db8a Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Fri Aug 14 12:18:02 2015 +0200 Staging: most: hdm-usb/hdm_usb.c. Fix "missing static keyword" warnings This is a patch to the most/hdm-usb/hdm_usb.c file. It makes several local functions and structures static to prevent global visibility. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04ca58372c5e4922d7463450ffdb5cdc3d0dd596 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Fri Aug 14 12:18:01 2015 +0200 Staging: most: mostcore/core.c. Fix "Using plain integer as NULL pointer" warnings This patch fixes the warning generated by sparse: "Using plain integer as NULL pointer" by replacing the pointer test against 0 with a logical test. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c942ea7a377edfde7a154f2edd8fde7cfea24de1 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Fri Aug 14 12:18:00 2015 +0200 Staging: most: mostcore/core.c. Fix "missing static keyword" warnings This is a patch to the mostcore/core.c file. It makes several local functions and structures static to prevent global visibility. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddb98ce16158cb979f025eb73eaa44dce4cb1b36 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 10 14:51:22 2015 -0700 staging: most: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 910bf1efe6f7f74b10e918768ddea3ad8b863f8b Author: Tomas Melin <tomas.melin@xxxxxx> Date: Sun Aug 9 17:08:41 2015 +0300 staging/most: fix return value for DIM_GetChannelState Return NULL instead of 0 for invalid input. Signed-off-by: Tomas Melin <tomas.melin@xxxxxx> Acked-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad88aae057b9f952f1cbd2f5df8325b95ba7bb75 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Aug 8 20:09:06 2015 -0400 staging/lustre/llite: get rid of unused ll_super_blocks list ll_super_blocks became unused quite a while ago with switch to the new CLIO code. So this patch removes the list, ll_sb_lock spinlock that guards it and superblock info ll_list linkage. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d38c59e9ab203427f14ab6691529bac098adbacd Author: Abhilash Jindal <klock.android@xxxxxxxxx> Date: Tue Aug 11 10:31:53 2015 -0400 staging: comedi: serial2002: Use monotonic clock Wall time obtained from do_gettimeofday is susceptible to sudden jumps due to user setting the time or due to NTP. Monotonic time is constantly increasing time better suited for comparing two timestamps. Signed-off-by: Abhilash Jindal <klock.android@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 365741e6a6ab7f31ff885c26dd173d9590d1e8ca Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 10:28:08 2015 -0700 staging: comedi: ni_usb6501: fix possible out-of-bounds access Coverity reports a possible Out-of-bounds access (ARRAY_VS_SINGLETON) with the 'const u8 *port' parameter passed to ni6501_port_command(). This param is an actual array for the SET_PORT_DIR operation, called by ni6501_dio_insn_config(). But for the WRITE_PORT and READ_PORT operations, called by ni6501_dio_insn_bits(), it is just the address of an u8 local variable. Fix the coverity issue by changing the parameter to an unsigned int and pass the raw values from ni6501_dio_insn_config() and ni6501_dio_insn_bits(). ni6501_port_command() then handles the masking and shifting needed to load the value into the u8 transmit buffer. For consistency, change the access of the 'bitmap' parameter from an array access to a pointer operation. Reported-by: coverity (CID 1248624) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92f26189b181a65fcb1ff6220a4bf45d44502e4a Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Aug 13 19:06:05 2015 +0530 auxdisplay: ks0108: initialize local parport variable The local variable ks0108_parport is used by other functions to write to the parallel port. We missed initializing it when we converted the driver to use new Parallel Port codes. Fixes: 4edd70c133f3 ("auxdisplay: ks0108: use new parport device model") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c868cbb7e5c6d3c74b8d38c7c356444f2c807c28 Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Tue Aug 11 10:21:23 2015 -0700 serial: imx: save and restore context in the suspend path This change teaches the imx serial driver to save its context and restore it across suspend and resume path. To do so, it introduces serial_imx_restore_context() and serial_imx_save_context() functions. They use a shadow set of registers to save key registers and restore them accordingly. These functions can be reused on other situations, when the device context is lost. Cc: Fabio Estevam <festevam@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc85734b126f813ba46265c2d3a84c8839cb2e54 Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Tue Aug 11 10:21:22 2015 -0700 serial: imx: allow waking up on RTSD This patch sets RTSDEN bit when going into idle (Stop mode). We add the RTSDEN for the case RTS is sent from the remote connection. This way we allow the system to wakeup when RTS is received. Cc: Fabio Stevam <festevam@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 189550b8644ef5d00d3b744f7fd423cce2d7c9ec Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Tue Aug 11 10:21:21 2015 -0700 serial: imx: introduce serial_imx_enable_wakeup() This change is a code reorganization. Here we introduce serial_imx_enable_wakeup() helper function to do the job of configuring and preparing wakeup sources on imx serial device. The idea is to allow other parts of the code to call this function whenever the device is known to go to idle. Cc: Fabio Estevam <festevam@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e7b399d6528eac33a6fbfceb2b92af209c3454d Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Tue Aug 11 10:21:20 2015 -0700 serial: imx: remove unbalanced clk_prepare The current code attempts to prepare clk_per and clk_ipg before using the device. However, the result is an extra prepare call on each clock. Here is the output of uart clocks (only uart enabled and used as console): $ grep uart /sys/kernel/debug/clk/clk_summary uart_serial 1 2 80000000 0 0 uart 1 2 66000000 0 0 This patch balances the calls of prepares. The result is: $ grep uart /sys/kernel/debug/clk/clk_summary uart_serial 1 1 80000000 0 0 uart 1 1 66000000 0 0 Cc: Fabio Estevam <festevam@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eafb9eea7622d765effb1a06f8cf5eb31fa018f6 Author: John Ogness <john.ogness@xxxxxxxxxxxxx> Date: Fri Aug 14 18:01:02 2015 +0200 serial: 8250: move rx_running out of the bitfield That bitfield is modified by read + or + write operation. If someone sets any of the other two bits it might render the lock useless. While at it, remove other bitfields as well to avoid more such errors. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: John Ogness <john.ogness@xxxxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 830acf9e3044d4644f91b4418ef35a2094089946 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Aug 14 17:52:07 2015 +0200 tty: serial: 8250_omap: do not use RX DMA if pause is not supported The 8250-omap driver requires the DMA-engine driver to support the pause command in order to properly turn off programmed RX transfer before the driver stars manually reading from the FIFO. The lacking support of the requirement has been discovered recently. In order to stay safe here we disable RX-DMA completly on probe. The rx_dma_broken assignment on probe could be removed once we working pause function in omap-dma. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbba3e6f7a1eb642cccf520f690d4a58b97a9588 Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Fri Aug 7 19:14:47 2015 +0800 serial:8250_dw: do not alter CTS and DCTS since AFE is enabled Since the serial core is informed that this device is doing automatic flow control, it is not necessary to alter CTS and DCTS of the MSR as the core no longer attempts stop the port in uart_handle_cts_change(). Signed-off-by: Huiquan Zhong <huiquan.zhong@xxxxxxxxx> Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b9a8508cb7f50d1880e2b8bb43615afd228f738 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Thu Aug 6 09:16:38 2015 +0200 tty: serial: men_z135_uart.c: Don't initialize port->lock port->lock get's initialized in uart_add_one_port(), no need to do it in men_z135_probe(). Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8117e347406278fd399b077add4e638cd017ae2d Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Thu Aug 6 09:16:37 2015 +0200 tty: serial: men_z135_uart.c: Fix race between IRQ and set_termios() Fix panic caused by a race between men_z135_intr() and men_z135_set_termios(). men_z135_intr() and men_z135_set_termios() both hold the struct uart_port::lock spinlock, but men_z135_intr() does a spin_lock_irqsave() and men_z135_set_termios() does a normal spin_lock(), which can lead to a deadlock when an interrupt is called while the lock is being helt by men_z135_set_termios(). This was discovered using a insmod, hardware looppback send/receive, rmmod stress test. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Andreas Werner <andreas.werner@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d7002777a8fe8188caaa98d4a8eb4ed298fcdae Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 2 23:15:05 2015 +0200 serial: 8250: bind to ALi Fast Infrared Controller (ALI5123) This way this device can be used with irtty-sir - at least on Toshiba Satellite A20-S103 it is not configured by default and needs PNP activation before it starts to respond on I/O ports. This device has actually its own driver (ali-ircc), but this driver seems to be non-functional for a very long time (see http://permalink.gmane.org/gmane.linux.irda.general/484 http://permalink.gmane.org/gmane.network.protocols.obex.openobex.user/943 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=535070 ). Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffa34de03bcfbfa88d8352942bc238bb48e94e2d Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Aug 2 23:11:52 2015 +0200 serial: 8250: don't bind to SMSC IrCC IR port SMSC IrCC SIR/FIR port should not be bound to by (legacy) serial driver so its own driver (smsc-ircc2) can bind to it. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df57cf6a879502cd6e5559c1f2d6db12128e074f Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Tue Aug 11 11:46:01 2015 +0000 serial: mxs-auart: fix baud rate range Currently mxs-auart doesn't care correctly about the baud rate divisor. According to reference manual the baud rate divisor must be between 0x000000EC and 0x003FFFC0. So calculate the possible baud rate range and use it for uart_get_baud_rate(). Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17dc72cf3d8c6284cc34f29627f891268af07a55 Author: Juergen Borleis <jbe@xxxxxxxxxxxxxx> Date: Fri Aug 7 12:47:04 2015 +0200 serial: mxs-auart: keep the AUART unit in reset state when not in use Whenever the UART device driver gets closed from userland, the driver disables the UART unit and then stops the clocks to save power. The bit which disabled the UART unit is described as:  "UART Enable. If this bit is set to 1, the UART is enabled. Data transmission and reception occurs for the UART signals. When the UART is disabled in the middle of transmission or reception, it completes the current character before stopping." The important part is the "it completes the current character". Whenever a reception is ongoing when the UART gets disabled (including the clock off) the statemachine freezes and "remembers" this state on the next open() when re-enabling the unit's clock. In this case we end up receiving an additional bogus character immediately. The solution in this change is to switch the AUART unit into its reset state on close() and only release it from its reset state on the next open(). Note: when the unit is also used as system console it is always 'in use', so we cannot reset it on close(). Signed-off-by: Juergen Borleis <jbe@xxxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fa30ac3b9a9220fa953eeb6d21b9ca578c67885 Author: Juergen Borleis <jbe@xxxxxxxxxxxxxx> Date: Fri Aug 7 12:47:03 2015 +0200 serial: mxs-auart: use a function name to reflect what it really does This function clears the reset the AUART unit is in after system start to make it work. Signed-off-by: Juergen Borleis <jbe@xxxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17248569499eae54b314fb05c4ff19fd47c9e99b Author: Chase Metzger <chasemetzger15@xxxxxxxxx> Date: Tue Aug 11 21:34:37 2015 -0700 usb: core: hub: Removed some warnings generated by checkpatch.pl Removed some checkpatch.pl warnings saying there was an unwanted space between function names and their arguments. Signed-off-by: Chase Metzger <chasemetzger15@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4df92279fd9e01532f65e5ba397877799ed6252 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:23:12 2015 +0200 USB: host: ohci-at91: merge loops in ohci_hcd_at91_drv_probe ohci_hcd_at91_drv_probe() has four at91_for_each_port. They can be merged into two loops without changing the driver behaviour. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd73bfcd44c0bdcf6efa238e5b21bdbf0778d6ce Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:23:11 2015 +0200 USB: host: ohci-at91: merge ohci_at91_of_init in ohci_hcd_at91_drv_probe As device tree support is now mandatory, merge ohci_at91_of_init() in ohci_hcd_at91_drv_probe(). Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be12be546baa26a1eeb59b78e2a616cd946e850a Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:23:10 2015 +0200 USB: host: ohci-at91: depend on OF Make the driver depend on CONFIG_OF and remove the now useless #ifdef Also, fix the Kconfig indentation. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4f194706dd98d6de21c97eeb888a75abbf75174 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:23:09 2015 +0200 USB: host: ohci-at91: move at91_usbh_data definition in c file Move struct at91_usbh_data back in ohci-at91.c as this is the only user left after switching all at91 platforms to DT only. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cf1fc80655d3af7083ea4b3615e5f8532543be7 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:56 2015 +0200 usb: interface authorization: Use a flag for the default device authorization With this patch a flag instead of a variable is used for the default device authorization. Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ef2bf71764708f7c58ee9300acd8df05dbaa06f Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:55 2015 +0200 usb: interface authorization: Documentation part This part adds the documentation for the interface authorization. Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 187b3d75bbfba45a38b5d1d3656c0f11f6f6f2d0 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:54 2015 +0200 usb: interface authorization: SysFS part of USB interface authorization This introduces an attribute for each interface to authorize (1) or deauthorize (0) it: /sys/bus/usb/devices/INTERFACE/authorized Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef0909c50fe63be3f9aa09bdf4db7efaa5919be9 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:53 2015 +0200 usb: interface authorization: Introduces the USB interface authorization The kernel supports the device authorization because of wireless USB. These is usable for wired USB devices, too. These new interface authorization allows to enable or disable individual interfaces instead a whole device. If a deauthorized interface will be authorized so the driver probing must be triggered manually by writing INTERFACE to /sys/bus/usb/drivers_probe Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de7718bd9c4d3db96991a98c2a0cb38258a04e47 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:52 2015 +0200 usb: interface authorization: Control interface probing and claiming Driver probings and interface claims get rejected if an interface is not authorized. Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d958bef45030acfc5578263e9de3bb07032b8da Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:51 2015 +0200 usb: interface authorization: Introduces the default interface authorization Interfaces are allowed per default. This can disabled or enabled (again) by writing 0 or 1 to /sys/bus/usb/devices/usbX/interface_authorized_default Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 484ebaedecc5ddf778a30ee1efab367cbee27030 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Sat Aug 8 11:32:50 2015 +0200 usb: interface authorization: Declare authorized attribute The attribute authorized shows the authorization state for an interface. Signed-off-by: Stefan Koch <skoch@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 088a3daeadf6f4123f54d5208b0ec7cbbfc8853f Author: Kris Borer <kborer@xxxxxxxxx> Date: Tue Aug 11 11:12:45 2015 -0400 usb: hub: remove assignment from if condition Fix one occurrence of the checkpatch.pl error: ERROR: do not use assignment in if condition The semantic patch that makes this change is: // <smpl> @@ identifier i; expression E, E2, E3; statement S1, S2; binary operator b; @@ + i = E; if ( - (i = E) + i b ... && E2 && E3 ) S1 else S2 // </smpl> Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3ec4fda072c72c8ed014b58a3a4dd54b2b454bd Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:29:33 2015 +0200 usb: gadget: atmel: remove useless include Definitions from linux/platform_data/atmel.h are not used, remove the include. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3290b1b818934a517a593159f39a3651dcf34518 Author: Kris Borer <kborer@xxxxxxxxx> Date: Mon Aug 10 09:13:15 2015 -0400 usb: endpoint: convert spaces to tabs Fix one occurrence of the checkpatch error: ERROR: code indent should use tabs where possible Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31b92d81e5d4574eb3d038642c7ba6ec66ea7db1 Author: Kris Borer <kborer@xxxxxxxxx> Date: Sun Aug 9 21:48:18 2015 -0400 usb: otg_whitelist: remove whitespace Fix one occurrence of the checkpatch error: ERROR: space prohibited before open square bracket '[' Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8786a91548df6930643a052e40e5c0b7a8403a5 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Thu Aug 6 14:51:27 2015 +0530 drivers: usb: fsl: Workaround for USB erratum-A005275 Incoming packets in high speed are randomly corrupted by h/w resulting in multiple errors. This workaround makes FS as default mode in all affected socs by disabling HS chirp signalling.This errata does not affect FS and LS mode. Forces all HS devices to connect in FS mode for all socs affected by this erratum: P3041 and P2041 rev 1.0 and 1.1 P5020 and P5010 rev 1.0 and 2.0 P5040, P1010 and T4240 rev 1.0 Signed-off-by: Ramneek Mehresh <ramneek.mehresh@xxxxxxxxxxxxx> Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d50f14805ec0f1cf50654e23559d1dcf81c68b26 Merge: 37a842d cfd093b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 16:45:51 2015 -0700 Merge tag 'phy-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next Kishon writes: phy: for 4.3 *) Add new NXP USB OTG PHY driver *) Add vbus/id detection, extcon support and fixes in phy-sun4i-usb driver *) Add support to use phy-sun4i-usb driver for sun8i-a23 and sun8i-a33 SoCs *) Other trivial code cleanups, dropping .owner assignment and constify phy_ops Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 37a842d36f63a047d94be2603d40d4407c949f1b Merge: a3fbedf 96625ea Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 16:43:09 2015 -0700 Merge tag 'usb-ci-v4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-next Peter writes: USB: chipidea updates for v4.3-rc1 The main changes are adding several system interfaces for tuning performance, and each vendors can adjust them according to their design configurations. Others are tiny improvements, like more well siTD supports, USB_DEVICE_A_HNP_SUPPORT supports, etc. commit a3fbedf98fe9909cb2e406e2018ec437d64806f6 Merge: e6bbe1d 2f3cc24 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 16:41:11 2015 -0700 Merge tag 'usb-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next Felipe writes: usb: patches for v4.3 merge window New support for Allwinne SoC on the MUSB driver has been added to the list of glue layers. MUSB also got support for building all DMA engines in one binary; this will be great for distros. DWC3 now has no trace of dev_dbg()/dev_vdbg() usage. We will rely solely on tracing to debug DWC3. There was also a fix for memory corruption with EP0 when maxpacket size transfers are > 512 bytes. Robert's EP capabilities flags is making EP selection a lot simpler. UDCs are now required to set these flags up when adding endpoints to the framework. Other than these, we have the usual set of miscelaneous cleanups and minor fixes. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4c278394b0feb7aadc538be12ab0474b106a7255 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Aug 11 16:01:30 2015 -0700 f2fs: avoid a build warning If F2FS_CHECK_FS is turned off, we can get a build warning for unused variable. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 8c14bfadeac2a01b305ef4434907295b81b58db2 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Aug 7 17:58:43 2015 +0800 f2fs: handle error of f2fs_iget correctly In recover_orphan_inode, whenever f2fs_iget fail, we will make kernel panic, but it's not reasonable, because f2fs_iget can fail due to a lot of reasons including out of memory. So we change error handling method as below: a) when finding no entry for the orphan inode, bug_on for catching bugs; b) for other reasons, report it to caller. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 47e70ca46f9074efe6573263c0de5bef0af829de Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Aug 11 10:17:27 2015 -0700 f2fs: do not assign a new segment for dio under space shortage If there is not enough free segment, we should not assign a new segment explicitly. Otherwise, we can run out of free segment. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4d283ec908e617fa28bcb06bce310206f0655d67 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Aug 13 13:18:48 2015 -0700 x86/kvm: Rename VMX's segment access rights defines VMX encodes access rights differently from LAR, and the latter is most likely what x86 people think of when they think of "access rights". Rename them to avoid confusion. Cc: kvm@xxxxxxxxxxxxxxx Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 657c63f0af2d0b44446c840cd42228ef1ebcdce4 Author: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Date: Fri Jun 19 14:03:42 2015 -0400 drm/msm/mdp5: release SMB (shared memory blocks) in various cases Release all blocks after the pipe is disabled, even when vsync didn't happen in some error cases. Allow requesting SMB multiple times before configuring to hardware, by releasing blocks not programmed to hardware yet for shrinking case. This fixes a potential leak of shared memory pool blocks. Signed-off-by: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Tested-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit a9702ca23edae7b72dcff266a0c5ae56f6af0fa5 Author: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Date: Mon Jun 22 11:53:42 2015 -0400 drm/msm: change to uninterruptible wait in atomic commit The atomic commit cannot easily undo and return an error once the state is swapped. Change to uninterruptible wait, and ignore the timeout error. Signed-off-by: Wentao Xu <wentaox@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 507d71b1fa91e2ea5887fcc347d5e71605e113f8 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jun 26 15:49:43 2015 +0530 drm/msm: mdp4: Fix drm_framebuffer dereference crash mdp4_get_frame_format() can dereference a drm_framebuffer when it's NULL. Call it in mdp4_plane_mode_set only when we know fb is non-NULL. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit bbcc71872a57cb4642c15423ae229aefdf09910a Author: Rob Clark <robdclark@xxxxxxxxx> Date: Thu Jul 23 13:44:56 2015 -0400 drm/msm: fix msm_gem_prime_get_sg_table() We need to return a new sgt, since the caller takes ownership of it. Reported-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 53cf037bf846417fd92dc92ddf97267f69b110f4 Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 30 23:45:26 2015 +0200 batman-adv: Fix potentially broken skb network header access The two commits noted below added calls to ip_hdr() and ipv6_hdr(). They need a correctly set skb network header. Unfortunately we cannot rely on the device drivers to set it for us. Therefore setting it in the beginning of the according ndo_start_xmit handler. Fixes: 1d8ab8d3c176 ("batman-adv: Modified forwarding behaviour for multicast packets") Fixes: ab49886e3da7 ("batman-adv: Add IPv4 link-local/IPv6-ll-all-nodes multicast support") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 3f1e08d0ae6746379b9e21264dae52f4f35c7ad2 Author: Simon Wunderlich <simon@xxxxxxxxxxxxx> Date: Wed Jun 24 14:50:20 2015 +0200 batman-adv: remove broadcast packets scheduled for purged outgoing if When an interface is purged, the broadcast packets scheduled for this interface should get purged as well. Signed-off-by: Simon Wunderlich <simon@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 1f155101646e6f6cda218534ff6e252ff625137b Author: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Date: Mon Jun 22 00:36:28 2015 +0800 batman-adv: protect tt request from double deletion The list_del() calls were changed to list_del_init() to prevent an accidental double deletion in batadv_tt_req_node_new(). Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 8a4023c5b5e30b11f1f383186f4a7222b3b823cf Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 16 17:10:26 2015 +0200 batman-adv: Fix potential synchronization issues in mcast tvlv handler So far the mcast tvlv handler did not anticipate the processing of multiple incoming OGMs from the same originator at the same time. This can lead to various issues: * Broken refcounting: For instance two mcast handlers might both assume that an originator just got multicast capabilities and will together wrongly decrease mcast.num_disabled by two, potentially leading to an integer underflow. * Potential kernel panic on hlist_del_rcu(): Two mcast handlers might one after another try to do an hlist_del_rcu(&orig->mcast_want_all_*_node). The second one will cause memory corruption / crashes. (Reported by: Sven Eckelmann <sven@xxxxxxxxxxxxx>) Right in the beginning the code path makes assumptions about the current multicast related state of an originator and bases all updates on that. The easiest and least error prune way to fix the issues in this case is to serialize multiple mcast handler invocations with a spinlock. Fixes: 60432d756cf0 ("batman-adv: Announce new capability via multicast TVLV") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 9c936e3f4c4fad07abb6c082a89508b8f724c88f Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 16 17:10:25 2015 +0200 batman-adv: Make MCAST capability changes atomic Bitwise OR/AND assignments in C aren't guaranteed to be atomic. One OGM handler might undo the set/clear of a specific bit from another handler run in between. Fix this by using the atomic set_bit()/clear_bit()/test_bit() functions. Fixes: 60432d756cf0 ("batman-adv: Announce new capability via multicast TVLV") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit ac4eebd48461ec993e7cb614d5afe7df8c72e6b7 Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 16 17:10:24 2015 +0200 batman-adv: Make TT capability changes atomic Bitwise OR/AND assignments in C aren't guaranteed to be atomic. One OGM handler might undo the set/clear of a specific bit from another handler run in between. Fix this by using the atomic set_bit()/clear_bit()/test_bit() functions. Fixes: e17931d1a61d ("batman-adv: introduce capability initialization bitfield") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 4635469f5c617282f18c69643af36cd8c0acf707 Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 16 17:10:23 2015 +0200 batman-adv: Make NC capability changes atomic Bitwise OR/AND assignments in C aren't guaranteed to be atomic. One OGM handler might undo the set/clear of a specific bit from another handler run in between. Fix this by using the atomic set_bit()/clear_bit()/test_bit() functions. Fixes: 3f4841ffb336 ("batman-adv: tvlv - add network coding container") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 65d7d46050704bcdb8121ddbf4110bfbf2b38baa Author: Linus Lüssing <linus.luessing@xxxxxxxxx> Date: Tue Jun 16 17:10:22 2015 +0200 batman-adv: Make DAT capability changes atomic Bitwise OR/AND assignments in C aren't guaranteed to be atomic. One OGM handler might undo the set/clear of a specific bit from another handler run in between. Fix this by using the atomic set_bit()/clear_bit()/test_bit() functions. Fixes: 17cf0ea455f1 ("batman-adv: tvlv - add distributed arp table container") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit 1a8e7fab70c8d7cad2e606e7b21d46e42e51c2fd Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Mon Aug 10 22:48:30 2015 +0800 ASoC: topology: Change pass number of DAI smaller than graph The PCM DAIs need to be loaded and added to ASoC core ealier than the graph (route). Otherwise, adding routes will fail for missing DAIs. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 708ab62bef1ed3a3cf065a4138bd87f5d083cfeb Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 10 23:07:08 2015 -0400 pmem: switch to devm_ allocations Signed-off-by: Christoph Hellwig <hch@xxxxxx> [djbw: tools/testing/nvdimm/ and memunmap_pmem support] Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 7d3dcf26a6559fa82af3f53e2c8b163cec95fdaf Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Aug 10 23:07:07 2015 -0400 devres: add devm_memremap Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit a33ee95f8f456c241897a4b6153610b8488d009d Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Jul 21 17:01:19 2015 +0200 drm/bridge: Put Kconfig entries in a separate menu Put the Kconfig entries for bridge drivers into a separate menu so that they are automatically grouped and don't clutter up the top-level menu. While at it, move the bridge menu towards the end of the top-level menu where the panel menu is already located. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 58c467ece486e9bd1e26b4fd68e8cdef8501952d Author: Heiko Schocher <hs@xxxxxxx> Date: Tue Jun 9 07:51:22 2015 +0200 drm/panel: Add support for LG LG4573 480x800 4.3" panel The LG4573 is used on the LG LCD LB043WV2-SD01, an industrial 4.3" TFT panel with SPI control interface. Signed-off-by: Heiko Schocher <hs@xxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a99fb6269d1af432c051ed552aaea807f9f906c9 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 10 18:44:23 2015 +0200 drm/panel: Add display timing for Okaya RS800480T-7X0GP Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver. The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz. This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/ Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 58c948d8c4145d354457bdfd654b828007722c44 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 10 18:44:22 2015 +0200 of: Add Okaya Electric America vendor prefix This patch adds vendor prefix for Okaya Electronic America, a provider of LCD modules and display technologies. Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c6e87f91f0445e80656eddae84429ad7d687dc3f Author: jianwei wang <jianwei.wang.chn@xxxxxxxxx> Date: Wed Jul 29 16:30:02 2015 +0800 drm/panel: simple: Add support for NEC NL4827HC19-05B 480x272 panel This adds support for the NEC NL4827HC19-05B 480x272 panel to the DRM simple panel driver. Signed-off-by: Alison Wang <b18965@xxxxxxxxxxxxx> Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [treding@xxxxxxxxxx: add .bpc field for panel] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d718d79e57039ccf59f638efe7c9ede2bfabc6f1 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 16:52:33 2015 +0200 drm/panel: simple: Add support for AUO B080UAN01 The AUO B080UAN01 is an 8.0" WUXGA TFT LCD panel connected using four DSI lanes. It can be supported by the simple-panel driver. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d901d2ba8a1577ea213e4c4e22e9ca1f67db61dd Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Aug 12 12:32:13 2015 +0200 drm/panel: simple: Correct minimum hsync length of the HannStar HSD070PWW1 panel According to the data sheet, the minimum horizontal blanking interval is 54 clocks (1 + 52 + 1), but tests with a Nitrogen6X have shown the minimum working horizontal blanking interval to be 60 clocks. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 58d6a7bc4f851b5bd43280eab145bab992cb7ebe Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Aug 12 12:32:12 2015 +0200 drm/panel: simple: Add bus format for HannStar HSD070PWW1 LVDS panel The bus format both specifies the bpc and the way the individual bits get serialized into the 7 LVDS timeslots. While the is only one standard mapping for 6 bpc and so the driver could infer the bit mapping from the bpc alone, there are more options for the 8 bpc case which makes specifiying the bus format mandatory. To keep things consistent across panels and to set a precedent for new panel additions add the proper bus format. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 1b0838b5a794456ca36ce02b405bd7bcc85bfba0 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Wed Aug 12 08:26:19 2015 -0500 ARM: davinci: Set proper SPI prescale limit value SPI Davinci driver has been updated to allow SOCs to specify their minimum prescale value. Update the various SOCs board files that use this driver with their proper prescaler limit. Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 330b48bd700d5cdc3d1922c4e50f0626ab8ec002 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Apr 14 15:39:51 2015 +0200 drm/bridge: Add vendor prefixes Use vendor prefixes for Kconfig symbols and filenames. This should make it easier to identify the various bridge drivers and to organize the directory. v2: fix object name for dw-hdmi (Fabio Estevam) Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ad3a942bd22fd40a0f4ddaf2759946ce945662af Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jun 1 18:47:55 2015 -0700 regulator: core: Print at debug level on debugfs creation failure Failure to create a debugfs node is not an error, but we print a warning upon failure to create the node. Downgrade this to a debug printk so that we're quiet here. This allows multiple drivers to request a CPU's regulator so that CPUfreq and AVSish drivers can coexist. The downside of this approach is that whoever gets to debugfs first the others who come later to not have any debugfs attributes associated with them. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dce0332c85c4d9eb5d96182c56f63cd20566f073 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:29:02 2015 +0200 ASoC: fsl_ssi: adjust set DAI format in AC'97 mode Adjust set DAI format function in fsl_ssi driver so it doesn't fail and clears RXDIR in AC'97 mode. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8ed0c842153434fa3aeeb89d16b71ac7dc8e12ee Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:26:44 2015 +0200 ASoC: fsl_ssi: instantiate AC'97 CODEC Instantiate AC'97 CODEC in fsl_ssi driver AC'97 mode. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 04143d614f3af84a3f39e79a24a7ca740bd39efd Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:25:31 2015 +0200 ASoC: fsl_ssi: add AC'97 ops setting check and cleanup Check whether setting AC'97 ops succeeded and clean them on removal so the fsl_ssi driver can be reloaded. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 06cb373692083d169ab080b31c55af91d22b6d99 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:24:10 2015 +0200 ASoC: fsl_ssi: enable AC'97 asymmetric rates AC'97 bus can support asymmetric playback/capture rates so enable them in this case in fsl_ssi driver. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 793e3e9eeffc3e270483a450bc08e60f38e401ff Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:22:53 2015 +0200 ASoC: fsl_ssi: AC'97 DAI driver needs probe method too AC'97 DAI driver struct need the same probe method as I2S one to setup DMA params in fsl_ssi driver. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8277df3c66f1a8cecfadc29f7394f623263b4445 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 17:21:35 2015 +0200 ASoC: fsl_ssi: enable IPG clock during AC'97 reg access IPG clock have to be enabled during AC'97 CODEC register access in fsl_ssi driver. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b4d97f022ac07c26d8f41f105b6c9c9a699875a2 Author: Antony Pavlov <antonynpavlov@xxxxxxxxx> Date: Tue Jun 16 11:37:04 2015 +0300 mtd: spi-nor: add Spansion S25FL204K support Spansion S25FL204K is a 4-Mbit 3.0V Serial Flash Memory with Uniform 4 kB Sectors. Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx> Acked-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 842c12ddb49ef271ff978cbd022777d3d2c7787f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 13 14:02:05 2015 -0300 mtd: spi-nor: Improve Kconfig help text for SPI_FSL_QUADSPI The current "We only connect the NOR to this controller now." text is not very clear, so explain it better by saying that generic SPI is not supported by SPI_FSL_QUADSPI and only SPI NOR is. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f617b9587c1662a2352b90cb64ad8bcf0ff4d0af Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Aug 13 19:19:40 2015 +0200 mtd: spi-nor: add driver for NXP SPI Flash Interface (SPIFI) Add SPI-NOR driver for the SPI Flash Interface (SPIFI) controller that is found on newer NXP MCU devices. The controller supports serial SPI Flash devices with 1-, 2- and 4-bit width in either SPI mode 0 or 3. The controller can operate in either command or memory mode. In memory mode the Flash is exposed as normal memory and can be directly accessed by the CPU. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Reviewed-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 89f271c4d052063a72af2622f285f70caac91845 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 9 22:19:07 2015 +0200 doc: dt: add documentation for nxp,lpc1773-spifi Add device tree binding documentation for the SPI Flash Interface (SPIFI) found on NXP LPC18xx and LPC43xx devies. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c16340973fcb6461474a9f811f7f3ff2f946b24c Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 11:31:26 2015 -0300 nand: pxa3xx: Increase initial buffer size The initial buffer is used for the initial commands used to detect a flash device (STATUS, READID and PARAM). ONFI param page is 256 bytes, and there are three redundant copies to be read. JEDEC param page is 512 bytes, and there are also three redundant copies to be read. Hence this buffer should be at least 512 x 3. This commits rounds the buffer size to 2048. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ca861dd0c5e36c4a2cf454049a45a961c855290a Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 28 14:03:12 2015 +0000 spi: bcm2835: set up spi-mode before asserting cs-gpio When using reverse polarity for clock (spi-cpol) on a device the clock line gets altered after chip-select has been asserted resulting in an additional clock beat, which confuses hardware. This did not show when using native-CS, as the same register is used to control cs as well as polarity, so the changes came into effect at the same time. Unfortunately this is not true with gpio-cs. To avoid this situation this patch moves the setup of polarity (spi-cpol and spi-cpha) outside of the chip-select into prepare_message, which is run prior to asserting chip-select. Also fixes resetting 3-wire mode after use of rx-mode, so that a 3-Wire sequence TX, RX, TX works as well (right now it runs TX, RX, RX instead) Reported-by: Noralf Tronnes <noralf@xxxxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 07ea400e1b26726f21b2c2299d187d6eb7eb4324 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 12:12:33 2015 +0200 regmap: Fix regmap_can_raw_write check This function is missing a check if map->bus->write is implemented. If it is not implemented arbitrary raw writes are not possible. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c329061be51bef655f28c9296093984c977aff85 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 16:54:10 2015 +0530 regulator: pbias: Fix broken pbias disable functionality regulator_disable of pbias always writes '0' to the enable_reg. However actual disable value of pbias regulator is not always '0'. Fix it by populating the disable_val in pbias_reg_info for the various platforms and assign it to the disable_val of pbias regulator descriptor. This will be used by regulator_disable_regmap while disabling pbias regulator. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit 6ec689542b5bc516187917d49b112847dfb75b0b Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Wed Jul 29 14:58:09 2015 -0600 libnvdimm, btt: write and validate parent_uuid When a BTT is instantiated on a namespace it must validate the namespace uuid matches the 'parent_uuid' stored in the btt superblock. This property enforces that changing the namespace UUID invalidates all former BTT instances on that storage. For "IO namespaces" that don't have a label or UUID, the parent_uuid is set to zero, and this validation is skipped. For such cases, old BTTs have to be invalidated by forcing the namespace to raw mode, and overwriting the BTT info blocks. Based on a patch by Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit ab45e7632717b811e0786e46ca5ad279cb731b66 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Wed Jul 29 14:58:08 2015 -0600 libnvdimm, btt: consolidate arena validation Use arena_is_valid as a common routine for checking the validity of an info block from both discover_arenas, and nd_btt_probe. As a result, don't check for validity of the BTT's UUID, and lbasize. The checksum in the BTT info block guarantees self-consistency, and when we're called from nd_btt_probe, we don't have a valid uuid or lbasize available to check against. Also cleanup to return a bool instead of an int. Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit fbde1414acc0440024083bf0c391b259bcfc4826 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Wed Jul 29 14:58:07 2015 -0600 libnvdimm, btt: clean up internal interfaces Consolidate the parameters passed to arena_is_valid into just nd_btt, and an info block to increase re-usability. Similarly, btt_arena_write_layout doesn't need to be passed a uuid, as it can be obtained from arena->nd_btt. Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit e836a256e8fd579c9d7a3685f22981225a1ca451 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Aug 12 18:42:56 2015 -0400 pmem: convert to generic memremap Kill arch_memremap_pmem() and just let the architecture specify the flags to be passed to memremap(). Default to writethrough by default. Suggested-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 3103dc0304fd9c8ab576977cd98140d4fbac1730 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 10 23:07:06 2015 -0400 visorbus: switch from ioremap_cache to memremap In preparation for deprecating ioremap_cache() convert its usage in visorbus to memremap. Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Cc: David Kershner <david.kershner@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 92281dee825f6d2eb07c441437e4196a44b0861c Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 10 23:07:06 2015 -0400 arch: introduce memremap() Existing users of ioremap_cache() are mapping memory that is known in advance to not have i/o side effects. These users are forced to cast away the __iomem annotation, or otherwise neglect to fix the sparse errors thrown when dereferencing pointers to this memory. Provide memremap() as a non __iomem annotated ioremap_*() in the case when ioremap is otherwise a pointer to cacheable memory. Empirically, ioremap_<cacheable-type>() call sites are seeking memory-like semantics (e.g. speculative reads, and prefetching permitted). memremap() is a break from the ioremap implementation pattern of adding a new memremap_<type>() for each mapping type and having silent compatibility fall backs. Instead, the implementation defines flags that are passed to the central memremap() and if a mapping type is not supported by an arch memremap returns NULL. We introduce a memremap prototype as a trivial wrapper of ioremap_cache() and ioremap_wt(). Later, once all ioremap_cache() and ioremap_wt() usage has been removed from drivers we teach archs to implement arch_memremap() with the ability to strictly enforce the mapping type. Cc: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 9ed71e7ad95eb9885420e8d33f33bd4d49e1b775 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Thu Aug 6 23:36:52 2015 +0100 DocBook: Fix non-determinstic installation of duplicate man pages Some kernel-doc sections are included in multiple DocBook files. This means the mandocs target will generate the same manual page multiple times with different metadata (author name/address and manual title, taken from the including DocBook file). If it's invoked in a parallel build, the output is non-determinstic. Build the manual pages in a separate subdirectory per DocBook file, then sort and de-duplicate when installing them (which is serialised). Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> [jc: fixed conflicts with the docs tree] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit e1d46d30d133e7909e7dde06a4e867225c7e079b Author: Junjie Mao <junjie.mao@xxxxxxxxx> Date: Fri Jul 17 10:29:00 2015 +0800 ASoC: Intel: fix runtime pm imbalance on error pm_runtime_get_sync() increments the runtime PM usage counter even the call returns an error code. Thus a pairing decrement is needed on the error handling path to keep the counter balanced. Signed-off-by: Junjie Mao <junjie.mao@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fbf917e14eb65689ad80290170f7d615be711fb7 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 12 11:10:49 2015 +0800 ASoC: cs42l73: Use case range at appropriate place The readable registers are in continuous ranges: 0x01 ~ 0x03, 0x05 ~ 0x5f. Use case range syntax makes the code shorter with better readability when we have a large number of continuous switch cases. No functional change with this patch. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f325bfc933d140337e55507821d6bb021321059 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 12 11:09:39 2015 +0800 ASoC: cs42l56: Use case range at appropriate place The readable registers are in continuous range: 0x01 ~ 0x2e. Use case range syntax makes the code shorter with better readability when we have a large number of continuous switch cases. No functional change with this patch. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4caae9546d2cf7dbc7a12d451f847d7b58912bda Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 12 11:08:37 2015 +0800 ASoC: cs42l52: Use case range at appropriate place The readable registers are in continuous range: 0x01 ~ 0x34. Use case range syntax makes the code shorter with better readability when we have a large number of continuous switch cases. No functional change with this patch. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c17633081a0dc4c9f8c28b7a77ac5b63a1780e49 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 12 11:07:46 2015 +0800 ASoC: cs35l32: Use case range at appropriate places Use case range syntax makes the code shorter with better readability when we have a large number of continuous switch cases. Below are the summary of readable/volatile/precious registers. The readable registers: 0x01 ~ 0x0D, 0x0F ~ 0x1C The volatile registers: 0x01 ~ 0x05, 0x15 ~ 0x18 The precious registers: 0x15 ~ 0x18 No functional change with this patch. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 470805eb9f31be7b0b94cb8e0cbeb5910c47ce37 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Aug 13 12:59:21 2015 +0530 ASoC: tegra: Convert to managed resources Use managed resource functions devm_clk_put and devm_snd_soc_register_component to simplify error handling. To be compatible with the change various gotos are replaced with direct returns, and unneeded labels are dropped. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dbe71b9d86ee77cf58a92657c43b0e48954dc62b Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 12 13:58:38 2015 +0200 ASoC: ssm4567: Add sense support The ssm4567 has sensing circuitry that can be used to monitor the current and voltage on the speaker amplifier output has well as the VBAT input. This data can be output over the I2S interface so it can be processed by a DSP or similar. This patch adds the sense capture output stream to the CODEC DAI as well as DAPM widgets that ensure that the sensing circuitry is powered up when the capture stream is active. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f4f800131a281a1e1738c0bc45659c1260dc96a Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Aug 14 13:16:27 2015 -0300 perf trace: Move vfs_getname storage to per thread area We were storing the vfs_getname payload (i.e. ptr->string) into the trace wide storage area (struct trace), so that we could use the last payload when setting up the fd->pathname per thread tables, oops, not a good idea for multi cpu tracing sessions... Fix it by moving it to the per thread area (struct thread_trace). Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-3j05ttqyaem7kh7oubvr1keo@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 75067ddecf21271631bc018d2fb23ddd09b66aae Author: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Date: Fri Jul 10 14:10:55 2015 +0300 drm/i915: Per-DDI I_boost override An OEM may request increased I_boost beyond the recommended values by specifying an I_boost value to be applied to all swing entries for a port. These override values are specified in VBT. v2: rebase and remove unused iboost_bit variable Issue: VIZ-5676 Signed-off-by: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Reviewed-by: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 622147fdad5425f6f572f84ce709303e5e0500b7 Merge: 5a2376d d2944cf Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Aug 14 18:10:35 2015 +0200 Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes Backmerge drm-intel-fixes because a bunch of atomic patch backporting we had to do lead to horrible conflicts. Conflicts: drivers/gpu/drm/drm_crtc.c Just a bit of context conflict between -next and -fixes. drivers/gpu/drm/i915/intel_atomic.c drivers/gpu/drm/i915/intel_display.c Atomic conflicts, always pick the code from -next. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 5a2376d1360bfc9ebf3b554dd8db1922d42cee4b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Aug 14 10:53:17 2015 +0300 drm/i915/skl: WaIgnoreDDIAStrap is forever, always init DDI A There is currently conflicting documentation on which steppings the workaround is needed, up to C vs. forever. However there is post-C stepping hardware that doesn't report port presence on DDI A, leading to black screen on eDP. Assume the strap isn't connected, and try to enable DDI A on these machines. (We'll still check the VBT for the info in DDI init.) Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f79b468eca20dae31b6fcaaa738a7f99b764837d Author: Thulasimani,Sivakumar <sivakumar.thulasimani@xxxxxxxxx> Date: Fri Aug 7 15:14:30 2015 +0530 drm/i915: fix checksum write for automated test reply DP spec requires the checksum of the last block read to be written when replying to TEST_EDID_READ. This patch fixes the current code to do the same. v2: removed loop for jumping blocks and performed direct addition as recommended by Daniel Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ca5a0fbd53be86d2bf44769741e02e66feeacc0a Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Date: Tue Aug 11 15:44:31 2015 +0100 drm/i915: Contain the WA_REG macro Prevent leaking the if scoping by containing the WA_REG macro inside its own scope. Reported-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> [danvet: Appease checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 37876df61f279099334e0108bac9d28ee9789052 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 8 14:02:36 2015 +0100 drm/i915: Remove the failed context from the fpriv->context_idr If we encounter an allocation failure during ppggt creation (trivial even with 16Gib+ RAM!), we need to remove the dead context from the fpriv->context_idr along with the references. gem_exec_ctx: page allocation failure: order:0, mode:0x8004 CPU: 3 PID: 27272 Comm: gem_exec_ctx Tainted: G W 4.2.0-rc5+ #37 0000000000000000 ffff880086ff7a78 ffffffff816b947a ffff88041ed90038 0000000000008004 ffff880086ff7b08 ffffffff8114b1a5 ffff880086ff7ac8 ffffffff8108d848 0000000000000000 ffffffff81ce84b8 0000000000000000 Call Trace: [<ffffffff816b947a>] dump_stack+0x45/0x57 [<ffffffff8114b1a5>] warn_alloc_failed+0xd5/0x120 [<ffffffff8108d848>] ? __wake_up+0x48/0x60 [<ffffffff8114e0ed>] __alloc_pages_nodemask+0x73d/0x8e0 [<ffffffffc0472238>] ? i915_gem_execbuffer2+0x148/0x240 [i915] [<ffffffffc0474240>] __setup_page_dma+0x30/0x110 [i915] [<ffffffffc0477f61>] gen8_ppgtt_init+0x31/0x2f0 [i915] [<ffffffffc04785e0>] i915_ppgtt_init+0x30/0x80 [i915] [<ffffffffc0478928>] i915_ppgtt_create+0x48/0xc0 [i915] [<ffffffffc046c9c2>] i915_gem_create_context+0x1c2/0x390 [i915] [<ffffffffc046d9cb>] i915_gem_context_create_ioctl+0x5b/0xa0 [i915] leading to an oops in i915_gem_context_close. Also note that this benchmark should not be running out of memory in the first place... Testcase: igt/benchmark/gem_exec_ctx -b create # ppgtt >= 2 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eb5be9d0e7e78fd2b9f34c63dd2535ab6f985739 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 20:24:15 2015 +0100 drm/i915: Report IOMMU enabled status for GPU hangs The IOMMU for Intel graphics has historically had many issues resulting in random GPU hangs. Lets include its status when capturing the GPU hang error state for post-mortem analysis. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 031a8936dc660e7ae2485eb7493eba1876cf25fe Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Aug 6 17:09:17 2015 +0300 drm/i915: Check idle to active before processing CSQ If idle to active bit is set, the rest of the fields in CSQ are not valid. Bail out early if this is the case in order to prevent rest of the loop inspecting stale values. This was found by Bspec/code inspection. Doesn't seem to fix any of the known issues. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> [danvet: Add note about how this was found.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 500ea70d503ed9ba448611049a4a718c2761a5f2 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Aug 7 17:01:16 2015 -0700 drm/i915: Set alternate aux for DDI-E There is no correspondent Aux channel for DDI-E. So we need to rely on VBT to let us know witch one is being used instead. v2: Removing some trailing spaces and giving proper credit to Xiong that added a nice way to avoid port conflicts by setting supports_dp = 0 when using equivalent aux for DDI-E. Credits-to: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a513e3d75a3bb41cf2648764a2567879f6d138e5 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Aug 6 15:51:37 2015 +0800 drm/i915: Set power domain for DDI-E DDI-E and DDI-A share 4 the same DDI-A lanes. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3774eb507e7b7df7f9b7d8d867eea330c7146aaa Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Aug 10 14:57:32 2015 -0300 drm/i915: fix stolen bios_reserved checks I started digging this when I noticed that the BDW code was just reserving 1mb by coincidence since it was reading reserved fields. Then I noticed we didn't have any values set for SNB and earlier, and that the HSW sizes were wrong. After that, I noticed that the reserved area has a specific start, and may not exactly end where the stolen memory ends. I also noticed the base pointer can be zero. So I decided to just write a single patch fixing everything instead of 20 patches that would be much harder to review. This patch may solve random stolen memory corruption/problems on almost all platforms. Notice that since this is always dealing with the top of the stolen memory, the problems are not so easy to reproduce - especially since FBC is still disabled by default. One of the major differences of this patch is that we now look at both the size and base address. By only looking at the size we were assuming that the reserved area was always at the very top of stolen, which is not always true. After we merge the patch series that allows user space to allocate stolen memory we'll be able to write IGT tests that maybe catch the bugs fixed by this patch. v2: - s/BIOS reserved/stolen reserved/g (Chris) - Don't DRM_ERROR if we can't do anything about it (Chris) - Improve debug messages (Chris). - Use the gen7 version instead of gen6 on HSW. Tom found some documentation problems, so I think with gen7 we're on the safer side (Tom). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cc53699b25b59eb1020af8064f99edd0014b7071 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Aug 6 17:00:59 2015 +0300 drm/i915: Use masked write for Context Status Buffer Pointer This register needs to be updated with masked writes. This was found by code inspection and comparison with Bspec and doesn't seem to fix any known issue. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> [danvet: Add note about impact.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9bd9dfb4f9a1edcbb561a80d00c234fbe11dc1a6 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:51:00 2015 +0300 drm/i915/skl WaDisableSbeCacheDispatchPortSharing Add WaDisableSbeCacheDispatchPortSharing:skl Cc: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 02196c776ec67e05d3003926ba648bd2eab20e29 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Aug 6 16:48:58 2015 +0300 drm/i915: Spam less on dp aux send/receive problems If we encounter frequent problems with dp aux channel communications, we end up spamming the dmesg with the exact similar trace and status. Inject a new backtrace only if we have new information to share as otherwise we flush out all other important stuff. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 842315ee7e416fa2f37c649c8a9ae6d6960b42a6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:11 2015 +0200 drm/i915: Handle return value in intel_pin_and_fence_fb_obj, v2. -EDEADLK has special meaning in atomic, but get_fence may call i915_find_fence_reg which can return -EDEADLK. This has special meaning in the atomic world, so convert the error to -EBUSY for this case. Changes since v1: - Add comment in the code. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4740b0f2b80cc7810bf5fa871189c318b08dbc46 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:10 2015 +0200 drm/i915: Only update mode related state if a modeset happened. The rest will be a noop anyway, since without modeset there will be no updated dplls and no modeset state to update. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2d406bb0d95c8dfdee4389471869a6e48c7b3432 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:09 2015 +0200 drm/i915: Remove connectors_active. There are no more users, byebye! Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e02f9a0610c1cbc6395858d1f2b68c48b820a971 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:08 2015 +0200 drm/i915: Remove connectors_active from intel_dp.c, v2. Now that everything's atomic, checking encoder->base.crtc is enough. This function doesn't have the locks to dereference crtc->state, but stealing an encoder bound to any crtc is probably enough reason to warn. Changes since v1: - Commit message. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 873ffe69a9097fb241fff2967ea6f0bf2c179195 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:07 2015 +0200 drm/i915: Remove connectors_active from sanitization, v2. connectors_active will be removed, so just calculate this instead. Changes since v1: - Look for the right pointer in intel_sanitize_encoder. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d688a2a15a52225289754627fc3a35f68c125ec Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:06 2015 +0200 drm/i915: Get rid of dpms handling. This is now done completely atomically. Keep connectors_active for now, but make it mirror crtc_state->active. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d20cd860bbe908ef62aa4673eeac8f8f2c43735 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:05 2015 +0200 drm/i915: Make crtc checking use the atomic state, v2. Instead of allocating pipe_config on the stack use the old crtc_state, it's only going to freed from this point on. All crtc' are now only checked once during modeset, because false positives can happen with encoders after dpms changes and to limit the amount of errors for 1 failure. Changes since v1: - crtc_state -> old_crtc_state - state -> old_state Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7c60d1984afa482f0648d963206124df6dca325e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:04 2015 +0200 drm/i915: Remove connectors_active from state checking. Connectors are updated atomically now, so the only interaction with the encoder is through base.crtc. If it's NULL the encoder's not part of any crtc, and if it's not NULL then active should be equal to crtc_state->active. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b89b8de4e90d3c08f845e2b559929c8f77981ae Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:03 2015 +0200 drm/i915: Remove some unneeded checks from check_crtc_state. This is handled by the atomic core now, no need to check this for ourself. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 35dd3c6450a6dc05781e391d6669df34044a7e0f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 6 13:49:22 2015 +0200 drm/i915: Convert connector checking to atomic, v3. Right now dpms callbacks can still fiddle with the connector state, but it can only turn connectors off. This is remediated by only checking crtc->state->active when the connector is active, and ignore crtc->state->active when the connector is off. connectors_active is no longer checked, and will be removed later in this series together with dpms. Another check for !encoder->crtc is performed by check_encoder_state too, so it can be removed. Changes since v1: - Add commit message. - rename state to old_state. - Move deletion of mst_port check to mst patch. Changes since v2: - Fix a null pointer dereference on MST now hw readout is fixed. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 20fae983c6667d038e810c618e3340946b8dc506 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 6 13:47:36 2015 +0200 drm/i915: Update atomic state when removing mst connector, v3. Fully remove the MST connector from the atomic state, and remove the early returns in check_*_state for MST connectors. With atomic the state can be made consistent all the time. Thanks to Sivakumar Thulasimani for the idea of using drm_atomic_helper_set_config. Changes since v1: - Remove the MST check in intel_connector_check_state too. Changes since v2: - Use drm_atomic_helper_set_config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ee165b1a6e0269e5badde679f72fe39d3d15a7d4 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:37:00 2015 +0200 drm/i915: Validate the state after an atomic modeset only, and pass the state. First step in removing dpms and validating atomic state. There can still be a mismatch in the connector state because the dpms callbacks are still used, but this can not happen immediately after a modeset. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c4e2d043ffb3714e63931aec52b8b920cc767367 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:36:59 2015 +0200 drm/i915: Make the force_thru workaround atomic, v2. Set connectors_changed to force a modeset if the panel fitter's force enabled on eDP. Changes since v1: - Use connectors_changed instead of active_changed because it's a routing update. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8f9c98df949333f08b74e5df1caacf7e2c5e8552 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Jul 19 16:09:12 2015 +0300 mac80211: fix BIT position for TDLS WIDE extended cap The bit was not according to ieee80211 specification. Fix that. Reviewed-by: Arik Nemtsov <arik@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 40d9a38ad3b7029be9c278738b67cbdb6349ce85 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Jul 13 12:26:46 2015 +0200 mac80211: use DECLARE_EWMA Instead of using the out-of-line average calculation, use the new DECLARE_EWMA() macro to declare a signal EWMA, and use that. This actually *reduces* the code size slightly (on x86-64) while also reducing the station info size by 80 bytes. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2377799c084d86d22074cd4acd20edc32024d669 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Jul 13 12:17:25 2015 +0200 average: provide macro to create static EWMA Having the EWMA parameters stored in the runtime struct imposes memory requirements for the constant values that could just be inlined in the code. This particularly makes sense if there are a lot of such structs, for example in mac80211 in the station table where each station has a number of these in an array, and there can be many stations. Provide a macro DECLARE_EWMA() that declares the necessary struct and inline functions to access it with the parameters hard-coded; using this also means the user no longer needs to 'select AVERAGE' as it's entirely self-contained. In the mac80211 case, on x86-64, this actually slightly *reduces* code size, while also saving 80 bytes of runtime memory per sta. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2459cd876e2828dc63c19ea5dadf8a94a8f11244 Author: Su Kang Yin <cantona@xxxxxxxxxxx> Date: Fri Aug 7 16:54:10 2015 +0800 mac80211_hwsim: unregister genetlink family properly During hwsim_init_netlink(), we should call genl_unregister_family() if failed on netlink_register_notifier() since the genetlink is already registered. Signed-off-by: Su Kang Yin <cantona@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b119ad6e726cc805f739f8f6843b9de4df1f895e Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Aug 6 23:47:33 2015 +0200 mac80211: add rate mask logic for vht rates Define rc_rateidx_vht_mcs_mask array and rate_idx_match_vht_mcs_mask() method in order to apply mcs mask for vht rates Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e910867bd285bb8470c47076d99d0325aaea895c Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Aug 6 23:47:32 2015 +0200 mac80211: define rate_control_apply_mask_ratetbl() Define rate_control_apply_mask_ratetbl() in order to apply ratemask in rate_control_set_rates() for station rate table Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 90c66bd2232ae6d3c88c1f3378e3028fded642b3 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Aug 6 23:47:31 2015 +0200 mac80211: remove ieee80211_tx_rate dependency in rate mask code Remove ieee80211_tx_rate dependency in rate_idx_match_legacy_mask(), rate_idx_match_mcs_mask() and rate_idx_match_mask() in order to use the previous logic to define a ratemask in rate_control_set_rates() for station rate table. Moreover move rate mask definition logic in rate_control_cap_mask() Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 35225eb7a5589407299033bfa7e1ac723b17e2b5 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Aug 6 23:47:30 2015 +0200 mac80211: remove ieee80211_tx_info from rate_control_apply_mask signature Remove unnecessary ieee80211_tx_info pointer from rate_control_apply_mask signature. rate_control_apply_mask() will be used to define a ratemask in rate_control_set_rates() for station rate table Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4b819f6cc4221ea6dd250e006f7b9ab0f6c71b45 Author: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Date: Wed Aug 5 16:02:50 2015 +0200 mac80211: Make OCB mode set BSSID Perform the BSS_CHANGED_BSSID action when joining an OCB network. This is required to set the broadcast BSSID in some network drivers. Signed-off-by: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cc11729893558b374316e6142dc383f0508436c8 Author: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Date: Wed Aug 5 16:02:42 2015 +0200 mac80211: Only accept data frames in OCB mode Currently OCB mode accepts frames with bssid==broadcast and type!=beacon. Some non-data frames are sent matching this, for example probe responses. This results in unnecessary creation of STA entries. Signed-off-by: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5765f9f66e72ddedfe04e057a5a01454d7b67157 Author: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Date: Wed Aug 5 16:02:28 2015 +0200 mac80211: Set txrc.bss to true for OCB interfaces To make mac80211 accept the multicast rate requested by the user the rate control should be told that it is operating in BSS mode. Without this, the default rate is selected in rate_control_send_low (!pubsta and !txrc->bss) Signed-off-by: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 876dc9308e8b8a8fb57059234e57f4145c870c3c Author: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Date: Wed Aug 5 16:02:21 2015 +0200 nl80211: Allow setting multicast rate on OCB interfaces Allow setting multicast rate on OCB interfaces. Current behaviour results in EOPNOTSUPP when attempting this. Signed-off-by: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9189ee31df40f88808daee10aa7f99ba43ff8b13 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 3 10:55:24 2015 +0200 cfg80211: propagate set_wiphy failure to userspace If driver failed to setup wiphy params (e.g. rts threshold, fragmentation treshold) userspace wasn't properly notified about this. This could lead to user confusion who would think the command succeeded even if that wasn't the case. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4edd56981c8fbb349b1529a2feaf772636eb1c83 Author: Matthias May <matthias.may@xxxxxxxxxxx> Date: Fri Jul 17 15:28:39 2015 +0200 cfg80211: regulatory: handle 5 and 10 MHz channels properly The original assumption of 20MHz wide channels hasn't been true since the addition of support for 5 and 10 MHz channels. Change the code to no longer disable all channels that don't fit into the 20MHz grid, but instead set the appropriate flags to disable operation on specific bandwidths. Signed-off-by: Matthias May <matthias.may@xxxxxxxxxxx> [reword commit message] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 74346841e6f5df5f7b83d5904435d273c507dba6 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Thu Aug 13 16:09:28 2015 +0200 spi/spi-xilinx: Fix spurious IRQ ACK on irq mode The ACK of an inexistent IRQ can trigger an spurious IRQ that breaks the txrx logic. This has been observed on axi_quad_spi:3.2 core. This patch only ACKs IRQs that have not been Acknowledge jet. Reported-by: Edward Kigwana <ekigwana@xxxxxxxxxx> Tested-by: Edward Kigwana <ekigwana@xxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9d8352864907f0ad76124c5b28f65b5a382d7d7c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 14 17:54:07 2015 +0800 ASoC: adav80x: Remove .read_flag_mask setting from adav80x_regmap_config Don't set .read_flag_mask for adav803, it's for adav801 only. Fixes: 0c2d69645628 ("ASoC: adav80x: Split SPI and I2C code into different modules") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3ee550f12c1529a023f71c9b5becb3351911047b Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Aug 14 16:17:16 2015 +0100 modsign: Handle signing key in source tree Since commit 1329e8cc69 ("modsign: Extract signing cert from CONFIG_MODULE_SIG_KEY if needed"), the build system has carefully coped with the signing key being specified as a relative path in either the source or or the build trees. However, the actual signing of modules has not worked if the filename is relative to the source tree. Fix that by moving the config_filename helper into scripts/Kbuild.include so that it can be used from elsewhere, and then using it in the top-level Makefile to find the signing key file. Kill the intermediate $(MODPUBKEY) and $(MODSECKEY) variables too, while we're at it. There's no need for them. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 62172c81f2d6c2311284467d6aaa00bd8967e136 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Aug 14 15:33:56 2015 +0100 modsign: Use if_changed rule for extracting cert from module signing key We couldn't use if_changed for this before, because it didn't live in the kernel/ directory so we couldn't add it to $(targets). It was easier just to leave it as it was. Now it's in the certs/ directory we can use if_changed, the same as we do for the trusted certificate list. Aside from making things consistent, this means we don't need to depend explicitly on the include/config/module/sig/key.h file. And we also get to automatically do the right thing and re-extract the cert if the user does odd things like using a relative filename and then playing silly buggers with adding/removing that file in both the source and object trees. We always favour the one in the object tree if it exists, and now we'll correctly re-extract the cert when it changes. Previously we'd *only* re-extract the cert if the config option changed, even if the actual file we're using did change. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit cfc411e7fff3e15cd6354ff69773907e2c9d1c0c Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Aug 14 15:20:41 2015 +0100 Move certificate handling to its own directory Move certificate handling out of the kernel/ directory and into a certs/ directory to get all the weird stuff in one place and move the generated signing keys into this directory. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit bc18e31c3042f14fa5f2ff5c21136e2fdf4140f8 Author: Julian Scheel <julian@xxxxxxxx> Date: Fri Aug 14 16:14:45 2015 +0200 ALSA: usb-audio: Fix parameter block size for UAC2 control requests USB Audio Class version 2.0 supports three different parameter block sizes for CUR requests, which are 1 byte (5.2.3.1 Layout 1 Parameter Block), 2 bytes (5.2.3.2 Layout 2 Parameter Block) and 4 bytes (5.2.3.3 Layout 3 Parameter Block). Use the correct size according to the specific control as it was already done for UACv1. The allocated block size for control requests is increased to support the 4 byte worst case. Signed-off-by: Julian Scheel <julian@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 258d9bc5e77fa40e290a0bd480d5349224374480 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 16:17:52 2015 +0200 ARM: tegra: Update multi_v7_defconfig Add Tegra-specific configuration options to multi_v7_defconfig: * HDA controller and codec support * Watchdog support * Nouveau (for GK20A GPU) support Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 461cfe4e2f5d000f76a38fb7cefd2fedf42c9026 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:51 2015 +0300 ARM: tegra: Update default configuration * CPU frequency scaling for Tegra124 * Nouveau (for GK20A GPU) support Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit f0d9ac7510ee06162c9db31851a1169ae716867e Merge: 1f408d5 73c8f0c 05aa7d6 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Aug 14 08:21:16 2015 -0500 Merge branches 'pci/host-dra7xx' and 'pci/host-iproc' into next * pci/host-dra7xx: ARM: dts: am57xx-evm: Add 'gpios' property with gpio2_8 PCI: dra7xx: Add support to make GPIO drive PERST# line PCI: dra7xx: Clear MSE bit during suspend so clocks will idle PCI: dra7xx: Add PM support PCI: dra7xx: Disable pm_runtime on get_sync failure * pci/host-iproc: PCI: iproc: Allow BCMA bus driver to be built as module PCI: iproc: Add arm64 support PCI: iproc: Delete unnecessary checks before phy calls commit 1f408d57437e53ae9aa6edb335ff9fe7ba7aba2c Merge: 5a4f3cf 2db0f71 f7ef134 3e14675 95e1658 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Aug 14 08:16:29 2015 -0500 Merge branches 'pci/hotplug', 'pci/iommu', 'pci/irq' and 'pci/virtualization' into next * pci/hotplug: PCI: pciehp: Remove ignored MRL sensor interrupt events PCI: pciehp: Remove unused interrupt events PCI: pciehp: Handle invalid data when reading from non-existent devices PCI: Hold pci_slot_mutex while searching bus->slots list PCI: Protect pci_bus->slots with pci_slot_mutex, not pci_bus_sem PCI: pciehp: Simplify pcie_poll_cmd() PCI: Use "slot" and "pci_slot" for struct hotplug_slot and struct pci_slot * pci/iommu: PCI: Remove pci_ats_enabled() PCI: Stop caching ATS Invalidate Queue Depth PCI: Move ATS declarations to linux/pci.h so they're all together PCI: Clean up ATS error handling PCI: Use pci_physfn() rather than looking up physfn by hand PCI: Inline the ATS setup code into pci_ats_init() PCI: Rationalize pci_ats_queue_depth() error checking PCI: Reduce size of ATS structure elements PCI: Embed ATS info directly into struct pci_dev PCI: Allocate ATS struct during enumeration iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth * pci/irq: PCI: Kill off set_irq_flags() usage * pci/virtualization: PCI: Add ACS quirks for Intel I219-LM/V commit 9e8df8a219635c5af36a49d78c1f69009b780339 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:26 2015 +1000 cxl: EEH support EEH (Enhanced Error Handling) allows a driver to recover from the temporary failure of an attached PCI card. Enable basic CXL support for EEH. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 13e68d8bd05c998cae452a4f3400af1e8edd852e Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:25 2015 +1000 cxl: Allow the kernel to trust that an image won't change on PERST. Provide a kernel API and a sysfs entry which allow a user to specify that when a card is PERSTed, it's image will stay the same, allowing it to participate in EEH. cxl_reset is used to reflash the card. In that case, we cannot safely assert that the image will not change. Therefore, disallow cxl_reset if the flag is set. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4e1efb403c1c016ae831bd9988a7d2e5e0af41a0 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:24 2015 +1000 cxl: Don't remove AFUs/vPHBs in cxl_reset If the driver doesn't participate in EEH, the AFUs will be removed by cxl_remove, which will be invoked by EEH. If the driver does particpate in EEH, the vPHB needs to stick around so that the it can particpate. In both cases, we shouldn't remove the AFU/vPHB. Reviewed-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d76427b0d89524fdb623774a22a005ba5c400134 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:23 2015 +1000 cxl: Refactor AFU init/teardown As with an adapter, some aspects of initialisation are done only once in the lifetime of an AFU: for example, allocating memory, or setting up sysfs/debugfs files. However, we may want to be able to do some parts of the initialisation multiple times: for example, in error recovery we want to be able to tear down and then re-map IO memory and IRQs. Therefore, refactor AFU init/teardown as follows. - Create two new functions: 'cxl_configure_afu', and its pair 'cxl_deconfigure_afu'. As with the adapter functions, these (de)configure resources that do not need to last the entire lifetime of the AFU. - Allocating and releasing memory remain the task of 'cxl_alloc_afu' and 'cxl_release_afu'. - Once-only functions that do not involve allocating/releasing memory stay in the overarching 'cxl_init_afu'/'cxl_remove_afu' pair. However, the task of picking an AFU mode and activating it has been broken out. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c044c4154247372c86b468644de88a4e48f903e9 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:22 2015 +1000 cxl: Refactor adaptor init/teardown Some aspects of initialisation are done only once in the lifetime of an adapter: for example, allocating memory for the adapter, allocating the adapter number, or setting up sysfs/debugfs files. However, we may want to be able to do some parts of the initialisation multiple times: for example, in error recovery we want to be able to tear down and then re-map IO memory and IRQs. Therefore, refactor CXL init/teardown as follows. - Keep the overarching functions 'cxl_init_adapter' and its pair, 'cxl_remove_adapter'. - Move all 'once only' allocation/freeing steps to the existing 'cxl_alloc_adapter' function, and its pair 'cxl_release_adapter' (This involves moving allocation of the adapter number out of cxl_init_adapter.) - Create two new functions: 'cxl_configure_adapter', and its pair 'cxl_deconfigure_adapter'. These two functions 'wire up' the hardware --- they (de)configure resources that do not need to last the entire lifetime of the adapter Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 575e6986f028711287fbbf250e5289a089bac8cb Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:21 2015 +1000 cxl: Clean up adapter MMIO unmap path. - MMIO pointer unmapping is guarded by a null pointer check. However, iounmap doesn't null the pointer, just invalidate it. Therefore, explicitly null the pointer after unmapping. - afu_desc_mmio also needs to be unmapped. - PCI regions are allocated in cxl_map_adapter_regs. Therefore they should be released in unmap, not elsewhere. Acked-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e640d2fc811ff8cc1451f92490d3ccc2adcad179 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:20 2015 +1000 cxl: Make IRQ release idempotent Check if an IRQ is mapped before releasing it. This will simplify future EEH code by allowing unconditional unmapping of IRQs. Acked-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 05155772f642a5b0e421adf2017f993759bf7f95 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:19 2015 +1000 cxl: Allocate and release the SPA with the AFU Previously the SPA was allocated and freed upon entering and leaving AFU-directed mode. This causes some issues for error recovery - contexts hold a pointer inside the SPA, and they may persist after the AFU has been detached. We would ideally like to allocate the SPA when the AFU is allocated, and release it until the AFU is released. However, we don't know how big the SPA needs to be until we read the AFU descriptor. Therefore, restructure the code: - Allocate the SPA only once, on the first attach. - Release the SPA only when the entire AFU is being released (not detached). Guard the release with a NULL check, so we don't free if it was never allocated (e.g. dedicated mode) Acked-by: Cyril Bur <cyrilbur@xxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0b3f9c757cabad4b8101c5fcddddd029ed5506a6 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:18 2015 +1000 cxl: Drop commands if the PCI channel is not in normal state If the PCI channel has gone down, don't attempt to poke the hardware. We need to guard every time cxl_whatever_(read|write) is called. This is because a call to those functions will dereference an offset into an mmio register, and the mmio mappings get invalidated in the EEH teardown. Check in the read/write functions in the header. We give them the same semantics as usual PCI operations: - a write to a channel that is down is ignored. - a read from a channel that is down returns all fs. Also, we try to access the MMIO space of a vPHB device as part of the PCI disable path. Because that's a read that bypasses most of our usual checks, we handle it explicitly. As far as user visible warnings go: - Check link state in file ops, return -EIO if down. - Be reasonably quiet if there's an error in a teardown path, or when we already know the hardware is going down. - Throw a big WARN if someone tries to start a CXL operation while the card is down. This gives a useful stacktrace for debugging whatever is doing that. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 588b34be20bc3dd7441c108c95039933699467ab Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 17:41:17 2015 +1000 cxl: Convert MMIO read/write macros to inline functions We're about to make these more complex, so make them functions first. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e642d11bdbfe8eb10116ab3959a2b5d75efda832 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 14 16:03:19 2015 +1000 powerpc/eeh: Probe after unbalanced kref check In the complete hotplug case, EEH PEs are supposed to be released and set to NULL. Normally, this is done by eeh_remove_device(), which is called from pcibios_release_device(). However, if something is holding a kref to the device, it will not be released, and the PE will remain. eeh_add_device_late() has a check for this which will explictly destroy the PE in this case. This check in eeh_add_device_late() occurs after a call to eeh_ops->probe(). On PowerNV, probe is a pointer to pnv_eeh_probe(), which will exit without probing if there is an existing PE. This means that on PowerNV, devices with outstanding krefs will not be rediscovered by EEH correctly after a complete hotplug. This is affecting CXL (CAPI) devices in the field. Put the probe after the kref check so that the PE is destroyed and affected devices are correctly rediscovered by EEH. Fixes: d91dafc02f42 ("powerpc/eeh: Delay probing EEH device during hotplug") Cc: stable@xxxxxxxxxxxxxxx Cc: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0e38c35815f50e5a347977d76fb5eb4c3bf020b5 Merge: e4fc02f 3d04c92 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Fri Aug 14 17:35:10 2015 +1000 Merge branch 'smack-for-4.3' of https://github.com/cschaufler/smack-next into next commit 10be6c0f27d729dcebaa0ac5f168009244d71fed Author: Ben YoungTae Kim <ytkim@xxxxxxxxxxxxxxxx> Date: Thu Aug 13 22:09:42 2015 -0700 Bluetooth: hciuart: Fix to use boolean flag with u32 type debugfs_create_bool is asking to put u32 type pointer instead of bool so that passing bool type with u32* cast will cause memory corruption to read that value since it is handled by 4 bytes instead of 1 byte inside. Signed-off-by: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e63dbd16ab7be41f5b66a70f1082242d76dd21d7 Author: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 12:38:31 2015 +0530 powerpc: Add an inline function to update POWER8 HID0 Section 3.7 of Version 1.2 of the Power8 Processor User's Manual prescribes that updates to HID0 be preceded by a SYNC instruction and followed by an ISYNC instruction (Page 91). Create an inline function name update_power8_hid0() which follows this recipe and invoke it from the static split core path. Signed-off-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Reviewed-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Tested-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d52736e24fe2e927c26817256f8d1a3c8b5d51a0 Merge: 0344338 193125d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 22:43:22 2015 -0700 Merge branch 'vrf-lite' David Ahern says: ==================== VRF-lite - v6 In the context of internet scale routing a requirement that always comes up is the need to partition the available routing tables into disjoint routing planes. A specific use case is the multi-tenancy problem where each tenant has their own unique routing tables and in the very least need different default gateways. This patch allows the ability to create virtual router domains (aka VRFs (VRF-lite to be specific) in the linux packet forwarding stack. The main observation is that through the use of rules and socket binding to interfaces, all the facilities that we need are already present in the infrastructure. What is missing is a handle that identifies a routing domain and can be used to gather applicable rules/tables and uniqify neighbor selection. The scheme used needs to preserves the notions of ECMP, and general routing principles. This driver is a cross between functionality that the IPVLAN driver and the Team drivers provide where a device is created and packets into/out of the routing domain are shuttled through this device. The device is then used as a handle to identify the applicable rules. The VRF device is thus the layer3 equivalent of a vlan device. The very important point to note is that this is only a Layer3 concept so L2 tools (e.g., LLDP) do not need to be run in each VRF, processes can run in unaware mode or select a VRF to be talking through. Also the behavioral model is a generalized application of the familiar VRF-Lite model with some performance paths that need optimization. (Specifically the output route selector that Roopa, Robert, Thomas and EricB are currently discussing on the MPLS thread) High Level points ================= 1. Simple overlay driver (minimal changes to current stack) * uses the existing fib tables and fib rules infrastructure 2. Modelled closely after the ipvlan driver 3. Uses current API and infrastructure. * Applications can use SO_BINDTODEVICE or cmsg device indentifiers to pick VRF (ping, traceroute just work) * Standard IP Rules work, and since they are aggregated against the device, scale is manageable 4. Completely orthogonal to Namespaces and only provides separation in the routing plane (and ARP) N2 N1 (all configs here) +---------------+ +--------------+ | | |swp1 :10.0.1.1+----------------------+swp1 :10.0.1.2 | | | | | |swp2 :10.0.2.1+----------------------+swp2 :10.0.2.2 | | | +---------------+ | VRF 1 | | table 5 | | | +---------------+ | | | VRF 2 | N3 | table 6 | +---------------+ | | | | |swp3 :10.0.2.1+----------------------+swp1 :10.0.2.2 | | | | | |swp4 :10.0.3.1+----------------------+swp2 :10.0.3.2 | +--------------+ +---------------+ Given the topology above, the setup needed to get the basic VRF functions working would be Create the VRF devices and associate with a table ip link add vrf1 type vrf table 5 ip link add vrf2 type vrf table 6 Install the lookup rules that map table to VRF domain ip rule add pref 200 oif vrf1 lookup 5 ip rule add pref 200 iif vrf1 lookup 5 ip rule add pref 200 oif vrf2 lookup 6 ip rule add pref 200 iif vrf2 lookup 6 ip link set vrf1 up ip link set vrf2 up Enslave the routing member interfaces ip link set swp1 master vrf1 ip link set swp2 master vrf1 ip link set swp3 master vrf2 ip link set swp4 master vrf2 Connected and local routes are automatically moved from main and local tables to the VRF table. ping using VRF0 is simply ping -I vrf0 10.0.1.2 Design Highlights ================= If a device is enslaved to a VRF device (ie., associated with a VRF) then: 1. Rx path The master device index is used as the iif for all lookups. 2. Tx path Similarly, for Tx the VRF device oif is used in the flow to direct lookups to the table associated with the VRF via its rule. From there the FLOWI_FLAG_VRFSRC flag is used to indicate that the oif should not be used for FIB table lookups. 3. Connected and local routes On link up for a device, connected and local routes are added to the table associated with the VRF device, rather than the local and main tables. 4. Socket lookups Sockets operating in the VRF must be bound to the VRF device. As such socket lookups compare the VRF device index to sk_bound_dev_if. 5. Neighbor entries Neighbor entries are not impacted by the VRF device. Entries are associated with a particular interface; the VRF association is indirect via the interface-to-VRF device enslavement. Version 6 - addressed comments from DaveM - added patch to properly set oif in ip_send_unicast_reply. Needs to be set to VRF device for proper FIB lookup - added patch to handle IP fragments Version 5 - dropped patch regarding socket lookups; no longer needed + removed vrf helpers no longer needed after this patch is dropped - removed dev_open and close operations + no need to reset vrf data on an ifdown and creates problems if a slave is deleted while the vrf interface is down (Thanks, Nikolay) - cleanups for sparse warnings + make C=2 is now clean for vrf driver Version 4 - builds are clean with and without VRF device enabled (no, yes and module) - tightened the driver implementation + device add/delete, slave add/remove, and module unload are all clean - fixed RCU references + with RCU and lock debugging enabled changes are clean through the suite of tests - TX path uses custom dst, so patch refactoring rtable allocation is dropped along with the patch adding rt_nexthop helper - dropped the task patch that adds default bind to interface for sockets and the associated chvrf example command + the patches are a convenience for running unmodified code. They are not needed for the core functionality. Any application with support for SO_BINDTODEVICE works properly with this patch set. Version 3 - addressed comments from first 2 RFCs with the exception of the name Nicolas: We will do the name conversion once we agree on what the correct name should be (vrf, mrf or something else) - packets flow through the VRF device in both directions allowing the following: - tcpdump -i vrf<n> - tc rules on vrf device - netfilter rules on vrf device TO-DO ===== 1. IPv6 2. ipsec, xfrms - dst patch accepted into ipsec-next; will post VRF patch once merge happens 3. listen filter to allow 1 socket to work with multiple VRF devices - i.e., bind to VRF's a, b, c only or NOT VRFs e, f, g Eric B: I have ipsec working with VRFs implemented using the VRF driver, including the worst case scenario of complete duplication in the networking config. Thanks to Nikolay for his many, many code reviews whipping the device driver into shape, and bug-Fixes and ideas from Hannes, Roopa Prabhu, Jon Toppins, Jamal. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 193125dbd8eb292d88feb201f030889b488b0a02 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:10 2015 -0600 net: Introduce VRF device driver This driver borrows heavily from IPvlan and teaming drivers. Routing domains (VRF-lite) are created by instantiating a VRF master device with an associated table and enslaving all routed interfaces that participate in the domain. As part of the enslavement, all connected routes for the enslaved devices are moved to the table associated with the VRF device. Outgoing sockets must bind to the VRF device to function. Standard FIB rules bind the VRF device to tables and regular fib rule processing is followed. Routed traffic through the box, is forwarded by using the VRF device as the IIF and following the IIF rule to a table that is mated with the VRF. Example: Create vrf 1: ip link add vrf1 type vrf table 5 ip rule add iif vrf1 table 5 ip rule add oif vrf1 table 5 ip route add table 5 prohibit default ip link set vrf1 up Add interface to vrf 1: ip link set eth1 master vrf1 Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9972f134a273d6dc52d912a3513fa06b426de9b4 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:09 2015 -0600 net: frags: Add VRF device index to cache and lookup Fragmentation cache uses information from the IP header to reassemble packets. That information can be duplicated across VRFs -- same source and destination addresses, protocol and id. Handle fragmentation with VRFs by adding the VRF device index to entries in the cache and the lookup arg. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7ba868b71bc858cf06de11fc8150c4552cfad81 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:08 2015 -0600 net: Use VRF index for oif in ip_send_unicast_reply If output device is not specified use VRF device if input device is enslaved. This is needed to ensure tcp acks and resets go out VRF device. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bfd847203c6d89532f836ad3f5b4ff4ced26dd9 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:07 2015 -0600 net: Use passed in table for nexthop lookups If a user passes in a table for new routes use that table for nexthop lookups. Specifically, this solves the case where a connected route does not exist in the main table, but only another table and then a subsequent route is added with a next hop using the connected route. ie., $ ip route ls default via 10.0.2.2 dev eth0 10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15 169.254.0.0/16 dev eth0 scope link metric 1003 192.168.56.0/24 dev eth1 proto kernel scope link src 192.168.56.51 $ ip route ls table 10 1.1.1.0/24 dev eth2 scope link Without this patch adding a nexthop route fails: $ ip route add table 10 2.2.2.0/24 via 1.1.1.10 RTNETLINK answers: Network is unreachable With this patch the route is added successfully. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 021dd3b8a142d482cb65a27bf6644e3764001460 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:06 2015 -0600 net: Add routes to the table associated with the device When a device associated with a VRF is brought up or down routes should be added to/removed from the table associated with the VRF. fib_magic defaults to using the main or local tables. Have it use the table with the device if there is one. A part of this is directing prefsrc validations to the correct table as well. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30bbaa19500559d7625c65632195413f639b3b97 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:05 2015 -0600 net: Fix up inet_addr_type checks Currently inet_addr_type and inet_dev_addr_type expect local addresses to be in the local table. With the VRF device local routes for devices associated with a VRF will be in the table associated with the VRF. Provide an alternate inet_addr lookup to use a specific table rather than defaulting to the local table. inet_addr_type_dev_table keeps the same semantics as inet_addr_type but if the passed in device is enslaved to a VRF then the table for that VRF is used for the lookup. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15be405eb2ea943ac5fa2aab7d0ba282e9ef1301 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:04 2015 -0600 net: Add inet_addr lookup by table Currently inet_addr_type and inet_dev_addr_type expect local addresses to be in the local table. With the VRF device local routes for devices associated with a VRF will be in the table associated with the VRF. Provide an alternate inet_addr lookup to use a specific table rather than defaulting to the local table. Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a24abfa42613fefc68963a98c2b7ab7fd7e374c Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:03 2015 -0600 udp: Handle VRF device in sendmsg For unconnected UDP sockets using a VRF device lookup source address based on VRF table. This allows the UDP header to be properly setup before showing up at the VRF device via the dst. Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 613d09b30f8b589d5a9b49775054c8865db95d1c Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:02 2015 -0600 net: Use VRF device index for lookups on TX As with ingress use the index of VRF master device for route lookups on egress. However, the oif should only be used to direct the lookups to a specific table. Routes in the table are not based on the VRF device but rather interfaces that are part of the VRF so do not consider the oif for lookups within the table. The FLOWI_FLAG_VRFSRC is used to control this latter part. Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd2fbe1b6b517ca7c0e80b103c674fdf5bd50f76 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:01 2015 -0600 net: Use VRF device index for lookups on RX On ingress use index of VRF master device for route lookups if real device is enslaved. Rules are expected to be installed for the VRF device to direct lookups to a specific table. Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e3c89920cd3a6cfce22c6f537690747c26128dd Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 14:59:00 2015 -0600 net: Introduce VRF related flags and helpers Add a VRF_MASTER flag for interfaces and helper functions for determining if a device is a VRF_MASTER. Add link attribute for passing VRF_TABLE id. Add vrf_ptr to netdevice. Add various macros for determining if a device is a VRF device, the index of the master VRF device and table associated with VRF device. Signed-off-by: Shrijeet Mukherjee <shm@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0344338bd883e5e4a2f80409ed8260cd65d69e3b Author: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 15:26:35 2015 -0400 net: addr IFLA_OPERSTATE to netlink message for ipv6 ifinfo This is useful information to include in ipv6 netlink messages that report interface information. IFLA_OPERSTATE is already included in ipv4 messages, but missing for ipv6. This closes that gap. Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da65ad1fe399d77234a4caa50008c6b87f1fe401 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Aug 13 14:03:16 2015 -0400 net: allow sleeping when modifying store_rps_map Commit 10e4ea751 ("net: Fix race condition in store_rps_map") has moved the manipulation of the rps_needed jump label under a spinlock. Since changing the state of a jump label may sleep this is incorrect and causes warnings during runtime. Make rps_map_lock a mutex to allow sleeping under it. Fixes: 10e4ea751 ("net: Fix race condition in store_rps_map") Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 968d7cb82aad3c6bfada79a8e26d65a1fb3f618a Merge: 35103d1 8efdda4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 21:31:14 2015 -0700 Merge branch 'mv88e6xxx-hw-vlan' Vivien Didelot says: ==================== net: dsa: mv88e6xxx: add hardware VLAN support This patchset brings support to access hardware VLAN entries in DSA and mv88e6xxx, through switchdev VLAN objects. In the following example, ports swp[0-2] belong to bridge br0, and ports swp[3-4] belong to bridge br1. Here's an example of what can be achieved after this patchset: # bridge vlan add dev swp1 vid 100 master # bridge vlan add dev swp2 vid 100 master # bridge vlan add dev swp3 vid 100 master # bridge vlan add dev swp4 vid 100 master # bridge vlan del dev swp1 vid 100 master The above commands correctly programmed hardware VLAN 100 for port swp2, while ports swp3 and swp4 use software VLAN 100, as shown with: # bridge vlan port vlan ids swp0 None swp0 swp1 None swp1 swp2 100 swp2 100 swp3 100 swp3 swp4 100 swp4 br0 None br1 None Assuming that port 5 is the CPU port, the hardware VLAN table would contain the following data: VID FID SID 0 1 2 3 4 5 6 100 8 0 x x t x x t x Where 'x' means excluded, and 't' means tagged. Also, adding an FDB entry to VLAN 100 for port swp2 like this: # bridge fdb add 3c:97:0e:11:6e:30 dev swp2 vlan 100 Would result in the following example output: # bridge fdb # 01:00:5e:00:00:01 dev eth0 self permanent # 01:00:5e:00:00:01 dev eth1 self permanent # 00:50:d2:10:78:15 dev swp0 master br0 permanent # 00:50:d2:10:78:15 dev swp2 vlan 100 master br0 permanent # 3c:97:0e:11:6e:30 dev swp2 vlan 100 self static # 00:50:d2:10:78:15 dev swp3 master br1 permanent # 00:50:d2:10:78:15 dev swp3 vlan 100 master br1 permanent And the Address Translation Unit would contain: DB T/P Vec State Addr 008 Port 004 e 3c:97:0e:11:6e:30 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8efdda4a1b609ac40c4729109215f9c77f938fdc Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:23 2015 -0400 net: dsa: mv88e6xxx: use port 802.1Q mode Secure This commit changes the 802.1Q mode of each port from Disabled to Secure. This enables the VLAN support, by checking the VTU entries on ingress. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d3b33e60206f40c802581fa35316a6ccdb00caa Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:22 2015 -0400 net: dsa: mv88e6xxx: add VLAN Load support Implement port_pvid_set and port_vlan_add to add new entries in the VLAN hardware table, and join ports to them. The patch also implement the STU Get Next and Load Purge operations, since it is required to have a valid STU entry for at least all VLANs. Each VLAN has its own forwarding database, with FID num_ports+1 to 4095. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7dad08d738222e998bc27f67f73be713d64cecb8 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:21 2015 -0400 net: dsa: mv88e6xxx: add VLAN Purge support Add support for the VTU Load Purge operation and implement the port_vlan_del driver function to remove a port from a VLAN entry, and delete the VLAN if the given port was its last member. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02512b6fccecb4cfac9a253686712e790b01ff91 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:20 2015 -0400 net: dsa: mv88e6xxx: add VLAN support to FDB dump Add an helper function to read the next valid VLAN entry for a given port. It is used in the VID to FID conversion function to retrieve the forwarding database assigned to a given VLAN port. Finally update the FDB getnext operation to iterate on the next valid port VLAN when the end of the current database is reached. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8fee95710639f1075534178701b64b66a180617 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:19 2015 -0400 net: dsa: mv88e6xxx: add VLAN Get Next support Implement the port_pvid_get and vlan_getnext driver functions required to dump VLAN entries from the hardware, with the VTU Get Next operation. Some functions and structure will be shared with STU operations, since their table format are similar (e.g. STU data entries are accessible with the same registers as VTU entries, except with an offset of 2). Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b17e864477fbc73772708655dea7fe4139c14f6 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:18 2015 -0400 net: dsa: mv88e6xxx: flush VTU and STU entries Implement the VTU Flush operation (which also flushes the STU), so that warm boots won't preserved old entries. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 111495361598205967f1be4e07d4726b0f762d60 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 12:52:17 2015 -0400 net: dsa: add support for switchdev VLAN objects Add new functions in DSA drivers to access hardware VLAN entries through SWITCHDEV_OBJ_PORT_VLAN objects: - port_pvid_get() and vlan_getnext() to dump a VLAN - port_vlan_del() to exclude a port from a VLAN - port_pvid_set() and port_vlan_add() to join a port to a VLAN The DSA infrastructure will ensure that each VLAN of the given range does not already belong to another bridge. If it does, it will fallback to software VLAN and won't program the hardware. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35103d11173b8fea874183f8aa508ae71234d299 Author: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 10:39:01 2015 -0400 net: ipv6 sysctl option to ignore routes when nexthop link is down Like the ipv4 patch with a similar title, this adds a sysctl to allow the user to change routing behavior based on whether or not the interface associated with the nexthop was an up or down link. The default setting preserves the current behavior, but anyone that enables it will notice that nexthops on down interfaces will no longer be selected: net.ipv6.conf.all.ignore_routes_with_linkdown = 0 net.ipv6.conf.default.ignore_routes_with_linkdown = 0 net.ipv6.conf.lo.ignore_routes_with_linkdown = 0 ... When the above sysctls are set, not only will link status be reported to userspace, but an indication that a nexthop is dead and will not be used is also reported. 1000::/8 via 7000::2 dev p7p1 metric 1024 dead linkdown pref medium 1000::/8 via 8000::2 dev p8p1 metric 1024 pref medium 7000::/8 dev p7p1 proto kernel metric 256 dead linkdown pref medium 8000::/8 dev p8p1 proto kernel metric 256 pref medium 9000::/8 via 8000::2 dev p8p1 metric 2048 pref medium 9000::/8 via 7000::2 dev p7p1 metric 1024 dead linkdown pref medium fe80::/64 dev p7p1 proto kernel metric 256 dead linkdown pref medium fe80::/64 dev p8p1 proto kernel metric 256 pref medium This also adds devconf support and notification when sysctl values change. v2: drop use of rt6i_nhflags since it is not needed right now Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dinesh Dutt <ddutt@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cea45e208d700e9d633a636384a49f19cda979b7 Author: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 10:39:00 2015 -0400 net: track link status of ipv6 nexthops Add support to track current link status of ipv6 nexthops to match recent changes that added support for ipv4 nexthops. This takes a simple approach to track linkdown status for next-hops and simply checks the dev for the dst entry and sets proper flags that to be used in the netlink message. v2: drop use of rt6i_nhflags since it is not needed right now Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dinesh Dutt <ddutt@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e3d04fd7d70679eed631ba5889f81b2d9415404 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Aug 13 09:44:22 2015 +0530 cxgb4: Add MPS tracing support Handle TRACE_PKT, stack can sniff them on the first port Add debubfs enrty to configure tracing for offload traffic like iWARP & iSCSI for debugging purpose. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f02e58f91a121ec909efad06b0a7aa806e1f7a84 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Thu Aug 13 12:01:33 2015 +0800 net/fddi: remove HWM_REVERSE() macro HWM_REVERSE() macro is unused, remove it. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4fc02f24c223ee8d668bf2d39bb8a2dbd61b40e Merge: aa62eff e9a5e8c Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Fri Aug 14 12:08:39 2015 +1000 Merge tag 'modsign-pkcs7-20150812-3' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next commit 96625eadca1bb8832fb502f0899a543695f1ba35 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Mar 17 17:32:45 2015 +0800 usb: chipidea: add tx/rx burst size configuration interface The user can adjust it through dts or platform data Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit bd6e9d115df7fc6f11f3021c6fc05e3eaeb04a32 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Aug 7 15:08:02 2015 +0800 Doc: usb: ci-hdrc-usb2: add tx(rx)-burst-config-dword for binding doc It is used to override the default setting for burst size, changing burst size takes effect only when the SBUSCFG.AHBBRST = 0. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit ed6e5eb50f7f07561d6a40f18bc11484736098db Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Nov 5 14:58:32 2014 +0800 usb: chipidea: usbmisc_imx: add non-burst setting for imx6 With this setting and AHBBRST at SBUSCFG as "Incremental burst of unspecified length", each non-burst size can be taken as single transfer. It is benefit for non-burst size transfer. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 65668718f2c5b76d5f4513564a3c56672bb07892 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Mar 17 14:21:00 2015 +0800 usb: chipidea: add ahb burst configuration interface The users can change it through dts or platform data if they want to change the default value. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit c6fba7b750efe64a69dd83e0ff7249abd0e783aa Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Jul 28 13:33:15 2015 +0800 Doc: usb: ci-hdrc-usb2: add ahb-burst-config for binding doc It is used to change ahb burst configuration for platforms, it is vendor specific. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 0ef877a408ebaa4d65ab1f886100dab198bf673e Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Oct 30 11:10:04 2014 +0800 usb: chipidea: imx: add stream mode enable for device mode at imx6sl/imx6sx Stream mode enable is known for better performance, this stream mode enable patch has been passed with stress tests at device mode for imx6sl and imx6sx, and no issue is found. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 8022d3d51c6fb14736e26fd13caca91a38e07580 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Oct 30 09:15:15 2014 +0800 usb: chipidea: define stream mode disable for both roles The system bus and chipidea IP have different limitations for both host and device mode. For example, with below errata, we need to enable SDIS(Stream Disable Mode) at host mode. But we don't want it for device mode at the same system. TAR 9000378958 Title: Non-Double Word Aligned Buffer Address Sometimes Causes Host to Hang on OUT Retry Impacted Configuration: Host mode, all transfer types Description: The host core operating in streaming mode may under run while sending the data packet of an OUT transaction. This under run can occur if there are unexpected system delays in fetching the remaining packet data from memory. The host forces a bad CRC on the packet, the device detects the error and discards the packet. The host then retries a Bulk, Interrupt, or Control transfer if an under run occurs according to the USB specification. During simulations, it was found that the host does not issue the retry of the failed bulk OUT. It does not issue any other transactions except SOF packets that have incorrect frame numbers. The second failure mode occurs if the under run occurs on an ISO OUT transaction and the next ISO transaction is a zero byte packet. The host does not issue any transactions (including SOFs). The device detects a Suspend condition, reverts to full speed, and waits for resume signaling. A third failure mode occurs when the host under runs on an ISO OUT and the next ISO in the schedule is an ISO OUT with two max packets of 1024 bytes each. The host should issue MDATA for the first OUT followed by DATA1 for the second. However, it drops the MDATA transaction, and issues the DATA1 transaction. The system impact of this bug is the same regardless of the failure mode observed. The host core hangs, the ehci_ctrl state machine waits for the protocol engine to send the completion status for the corrupted transaction, which never occurs. No indication is sent to the host controller driver, no register bits change and no interrupts occur. Eventually the requesting application times out. Detailed internal behavior: The EHCI control state machine (ehci_ctrl) in the DMA block is responsible for parsing the schedules and initiating all transactions. The ehci_ctrl state machine passes the transaction details to the protocol block by writing the transaction information in to the TxFIFO. It then asserts the pe_hst_run_pkt signal to inform the host protocol state machine (pe_hst_state) that there is a packet in the TxFIFO. A tag of 0x0 indicates a start of packet with the data providing the following information: 35:32 Tag 31:30 Reserved 29:23 Endpoint (lowest 4 bits) 22:16 Address 15:10 Reserved 9:8 Endpoint speed 7:6 Endpoint type 5:6 Data Toggle 3:0 PID The pe_hst_state reads the packet information and constructs the packet and issues it to the PHY interface. The ehci_ctrl state machine writes the start transaction information in to the TxFIFO as 0x03002910c for the OUT packet that had the under run error. However, it writes 0xC3002910C for the retry of the Out transaction, which is incorrect. The pe_hst_state enters a bus timeout state after sending the bad CRC for the packet that under ran. It then purges any data that was back filled in to the TxFIFO for the packet that under ran. The pe_hst_state machine stops purging the TxFIFO when it is empty or if it reads a location that has a tag of 0x0, indicating a start of packet command. The pe_hst_state reads 0xC3002910C and discards it as it does not decode to a start of packet command. It continues to purge the OUT data that has been pre-buffered for the OUT retry . The pe_hst_state detects the hst_packet_run signal and attempts to read the PID and address information from the TxFIFO. This location has packet data and so does not decode to a valid PID and so falls through to the PE_HST_SOF_LOAD state where the frame_num_counter is updated. The frame_num_counter is updated with the data in the TxFIFO. In this case, the data is incorrect as the ehci_ctrl state machine did not initiate the load. The hst_pe_state machine detects the SOF request signal and sends an SOF with the bad frame number. Meanwhile, the ehci_ctrl state machine waits indefinitely in the run_pkt state waiting for the completion status from pe_hst_state machine, which will never happen. The ISO failure case is similar except that there is no retry for ISO. The ehci_ctrl state machine moves to the next transfer in the periodic schedule. If the under run occurs on the last entry of the periodic list then it moves to the Async schedule. In the case of ISO OUT simulations, the next ISO is a zero byte OUT and again the start of packet command gets corrupted. The TxFIFO is empty when the hst_pe_state attempts to read the Address and PID information as the transaction is a zero byte packet. This results in the hst_pe_state machine staying in the GET_PID state, which means that it does not issue any transactions (including SOFs). The device detects a Suspend condition and reverts to full speed mode and waits for a Resume or Reset signal. The EHCI specification allows a Non-DoubleWord (32 bits) offset to be used as a current offset for Buffer Pointer Page 0 of the qTD. In Non-DoubleWord aligned cases, the core reads the packet data from the AHB memory, performs the alignment operation before writing it in to the TxFIFO as a 32 bit data word. An End Of Packet tag (EOP) is written to the TxFIFO after all the packet data has been written in to the TxFIFO. The alignment function is reset to Idle by the EOP tag. The corruption of the start of packet command arises because the packet buffer for the OUT transaction that under ran is not aligned to a DoubleWord, and hence no EOP tag is written to the TxFIFO. The alignment function is still active when the start packet information is written in to the TxFIFO for the retry of the bulk packet or for the next transaction in the case of an under run on an ISO. This results in the corruption of the start tag and the transaction information. Click for waveform showing the command 0x 0000300291 being written in to the TX FIFO for the Out that under ran. Click for waveform showing the command 0xC3002910C written to the TxFIFO instead of 0x 0000300291 Versions affected: Versions 2.10a and previous versions How discovered: Customer simulation Workaround: 1- The EHCI specification allows a non-DoubleWord offset to be used as a current offset for Buffer Pointer Page 0 of the qTD. However, if a DoubleWord offset is used then this issue does not arise. 2- Use non streaming mode to eliminate under runs. Resolution: The fix involves changes to the traffic state machine in the vusb_hs_dma_traf block. The ehci_ctrl state machine updates the context information by encoding the transaction results on the hst_op_context_update signals at the end of a transaction. The signal hst_op_context_update is added to the traffic state machine, and the tx_fifo_under_ran_r signal is generated if the transaction results in an under run error. Click for waveform The traffic state machine then traverses to the do_eop states if the tx_fifo_under_ran error is asserted. Thus an EOP tag is written in to the TxFIFO as shown in this waveform . The EOP tag resets the align state machine to the Idle state ensuring that the next command written by the echi_ctrl state machine does not get corrupted. File(s) modified: RTL code fixed: â?¦.. Method of reproducing: This failure cannot be reproduced in the current test bench. Date Found: March 2010 Date Fixed: June 2010 Update information: Added the RTL code fix Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit a4da4f12b4a7e7072753ebae9b2ccd72b89c3392 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Jul 28 10:08:32 2015 +0800 usb: chipidea: udc: zero-length packet is only needed for TX The zero-length packet is the sendor tells the receiver that there is no more data, so it is only needed at the TX side. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 11a27098e884b8eb797f1579ebc51cb0e0510cc3 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Aug 5 10:16:19 2015 +0800 usb: chipidea: host: override hcd reset API The system configuration API should be called before the controller run, otherwise, undefined results may occur. So, we override hcd reset API, and add system configuration API after controller reset. Cc: Li Jun <peter.chen@xxxxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit ef12da914ed696745b495bea22aea137e88cffb6 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Aug 6 15:09:54 2015 +0200 usb: chipidea: imx: properly check for usbmisc If usbmisc hasn't probed yet, defer the probe. It's not enough to check if the platform device for the OF node of the usbmisc has been registered, but it also needs to have been probed already before we can call imx_usbmisc_init(). This can happen if the order in which devices are probed change due to async probing or on-demand probing of dependencies. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> commit bc24937943d9f71a1e32b5dc4e2f0ef8fcc07b64 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Wed Jul 29 13:11:11 2015 +0800 usb: chipidea: debug: add runtime pm for register access Add runtime pm operations for registers access to avoid system hang. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> commit 158ec071fb5243e5c49259d2dbc4c8dbaed24c47 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Sat Jun 27 00:34:48 2015 -0400 usb:chipidea:Make the function hw_alloc_repmap have a return type of void This makes the function hw_alloc_repmap be declared to have a return type of void now due to this particular function never returning a error code to its caller due to this function always running successfully to completion nor it's caller putting the return value into a variable in order to check if a error code is passed from the function hw_alloc_repmap when calling this function. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> commit 1311d6e3ea3316e9d2383219a36353ad335f6932 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Jul 14 15:43:02 2015 +0800 usb: chipidea: host: delete the redundancy ci_hdrc struct The struct ci_hdrc is the drvdata for hcd device, so we don't need to introduce extra ci_hdrc structure for ehci. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit df96ed8dced21426c54c7f69cf7513e75280957a Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Sep 22 16:45:39 2014 +0800 usb: chipidea: introduce ITC tuning interface ITC (Interrupt Threshold Control) is used to set the maximum rate at which the host/device controller will issue interrupts. The default value is 8 (1ms) for it. EHCI core will modify it to 1, but device mode keeps it as default value. In some use cases like Android ADB, it only has one usb request for each direction, and maximum payload data is only 4KB, so the speed is 4MB/s at most, it needs controller to trigger interrupt as fast as possible to increase the speed. The USB performance will be better if the interrupt can be triggered faster. Reduce ITC value is benefit for USB performance, but the interrupt number is increased at the same time, it may increase cpu utilization too. Most of use case cares about performance, but some may care about cpu utilization, so, we leave a platform interface for user. We set ITC as 1 (1 micro-frame) as default value which is aligned with ehci core default value. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 1bd57127d4aaff518cf93f4809ec2f11b2baf865 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Jul 15 13:53:05 2015 +0800 Doc: usb: ci-hdrc-usb2: add itc-setting at binding doc It is used to configure the ITC (in register USBCMD) value for kinds of applications. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit bf9c85e78d0fec61360ece46dacf9ab71ba89361 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Mar 17 10:40:50 2015 +0800 usb: chipidea: introduce ci_platform_configure It is used to configure controller parameters according to platform data, like speed, stream mode, etc, both host and device's initialization need it, most of code are the same for both roles, with this new interface, it can reduce the duplicated code and be easy to maintain in future. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 9d2effea12a3a7139daf04a2be97f18d3e6913a3 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Jul 15 13:56:26 2015 +0800 usb: chipidea: otg_fsm: delete the duplicated reset controller operation At host_stop, it will call usb_remove_hcd, and reset controller later. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 3520d462b95fff1c445faec6f54953cd8da25ca7 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Jul 17 08:44:24 2015 +0800 usb: chipidea: udc: add USB_DEVICE_A_HNP_SUPPORT request support We can support USB OTG 1.3 USB_DEVICE_A_HNP_SUPPORT request when the driver supports OTG FSM mode. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit e765bfb73ff711b1d139a4438af9ecedabb07d34 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Jun 18 11:43:34 2015 +0800 usb: chipidea: imx: enable CI_HDRC_SET_NON_ZERO_TTHA For i.mx platform, set ttctrl.ttha with non-zero value only affects sitd, and ehci core makes sure the schedule is not full when accepts new request, so it will not occur the transaction which will acorss the SoF. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 28362673129e7d4510a5a92a8b68ee47f282210b Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Jun 18 11:51:53 2015 +0800 usb: chipidea: add ttctrl.ttha control interface The register of ttctrl.ttha describes like below: - Internal TT Hub Address Representation - RW - Default = 0000000b This field is used to match against the Hub Address field in QH & siTD to determine if the packet is routed to the internal TT for directly attached FS/LS devices. If the Hub Address in the QH or siTD does not match this address then the packet will be broadcast on the High Speed ports destined for a downstream High Speed hub with the address in the QH/siTD. In silicon RTL, this entry only affects QH and siTD, and the hub.addr at both QH and siTD are 0 in ehci core for chipidea (with hcd->has_tt = 1). So, for QH, if the "usage_tt" flag at RTL is 0, set CI_HDRC_SET_NON_ZERO_TTHA will not affect QH (with non-hs device); for siTD, set this flag will change remaining space requirement for the last transaction from 1023 bytes to 188 bytes, it can increase the number of transactions within one frame, ehci periodic schedule code will not queue the packet if the frame space is full, so it is safe to set this flag for siTD. With this flag, it can fix the problem Alan Stern reported below: http://www.spinics.net/lists/linux-usb/msg123125.html And may fix Michael Tessier's problem too. http://www.spinics.net/lists/linux-usb/msg118679.html CC: stern@xxxxxxxxxxxxxxxxxxx CC: michael.tessier@xxxxxxxxxxxx Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 8f9cb50789e76f3e224e8861adf650e55c747af4 Merge: e1474e7 a63c580 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 14 10:15:24 2015 +1000 Merge tag 'drm-amdkfd-next-fixes-2015-08-05' of git://people.freedesktop.org/~gabbayo/linux into drm-next Two small bug fixes for the code you pulled for 4.3: - Used a SHIFT define instead of a MASK define to check if a bit is turned on when destroying hqd. Luckily, this is in gfx7 interface file with amdgpu, which was used only for bring-up purposes of amdgpu, so no real effect on a running system - Used a logical AND instead of a bitwise AND operator, when initializing sdma virtual memory when using SDMA queues * tag 'drm-amdkfd-next-fixes-2015-08-05' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: fix bug when initializing sdma vm drm/amdgpu: fix bug when amdkfd destroys hqd commit e1474e7bdf6b16db41cc12b8e7b3fefd8668f3cf Merge: 1ce4200 29d1dc6 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 14 10:14:23 2015 +1000 Merge branch 'drm-sti-next-atomic-2015-08-11' of http://git.linaro.org/people/benjamin.gaignard/kernel into drm-next This serie of patches fix minor bugs around how driver sub-components are bind and planes z-ordering. The main part is about atomic support: using more atomic helpers allow us to simplify the code (~300 lines removed) and to ahve a better match between drm concepts (planes and crtc) and hardware split. [airlied: fixed up conflict in atomic code] * 'drm-sti-next-atomic-2015-08-11' of http://git.linaro.org/people/benjamin.gaignard/kernel: drm/sti: atomic crtc/plane update drm/sti: rename files and functions drm/sti: code clean up drm/sti: fix dynamic z-ordering drm: sti: fix sub-components bind commit dd19f83d6cd90e4b7a601da2ed40d2a9d70aaf10 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Aug 12 18:45:25 2015 -0700 rocker: hook ndo_neigh_destroy to cleanup neigh refs in driver Rocker driver tracks arp_tbl neighs to resolve IPv4 route nexthops. The driver uses NETEVENT_NEIGH_UPDATE for neigh adds and updates, but there is no event when the neigh is removed from the device (such as when the device goes admin down). This patches hooks ndo_neigh_destroy so the driver can know when a neigh is removed from the device. In response, the driver will purge the neigh entry from its internal tbl. I didn't find an in-tree users of ndo_neigh_destroy, so I'm not sure if this ndo is vestigial or if there are out-of-tree users. In any case, it does what I need here. An alternative design would be to generate NETEVENT_NEIGH_UPDATE event when neigh is being destroyed, setting state to NUD_NONE so driver knows neigh entry is dead. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8beb5b2613418e7ac1ffaee1f0796e77a4000be Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Aug 12 18:44:13 2015 -0700 rocker: print switch ID consistent with phys_switch_id sysfs node On sucessful probe, driver prints the switch ID. This patch changes the format of the printed ID to match what's used in sysfs phys_switch_id node. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7bbac697e4a6e64cc4bae26d57310c916aa0da7a Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Mon Aug 3 09:30:25 2015 +0800 Documentation: minor typo fix in mailbox.txt Fix minor typo so that can pass correct pointer variable for container_of(). Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> [jc: tweaked formatting] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 1ce4200df02aac780fe92c92b31497891c36c3ac Merge: e5dafc0 d485363 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Aug 14 10:02:21 2015 +1000 Merge tag 'topic/drm-misc-2015-08-13' of git://anongit.freedesktop.org/drm-intel into drm-next Final drm-misc pull for 4.3: - fbdev emulation Kconfig option for everyone thanks to Archit. It's not everything yet bit this is fairly tricky since it spawns all drivers. - vgaarb & vgaswitcheroo polish from Thierry - some drm_irq.c cleanups (Thierry) - struct_mutex crusade from me - more fbdev panic handling removal - various things all over in drm core&helpers * tag 'topic/drm-misc-2015-08-13' of git://anongit.freedesktop.org/drm-intel: (65 commits) drm/atomic: Use KMS VBLANK API drm/irq: Document return values more consistently drm/irq: Make pipe unsigned and name consistent drm/irq: Check for valid VBLANK before dereference drm/irq: Remove negative CRTC index special-case drm/plane: Remove redundant extern drm/plane: Use consistent data types for format count vga_switcheroo: Remove unnecessary checks vga_switcheroo: Wrap overly long lines vga_switcheroo: Use pr_fmt() vga_switcheroo: Cleanup header comment vga_switcheroo: Use pr_*() instead of printk() vgaarb: Fix a few checkpatch errors and warnings vgaarb: Use vgaarb: prefix consistently in messages vgaarb: Stop complaining about absent devices drm/atomic: fix null pointer access to mode_fixup callback drm/i915: Use CONFIG_DRM_FBDEV_EMULATION drm/core: Set mode to NULL when connectors in a set drops to 0. drm/atomic: Call ww_acquire_done after check phase is complete drm/atomic: Paper over locking WARN in default_state_clear ... commit c28446c2b78fde4b47a4baf3b2cf7c3c4ca621dc Merge: 5bbbcc0 0b50dc4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 16:58:29 2015 -0700 Merge branch 'smsc911x-acpi' Jeremy Linton says: ==================== Enable smsc911x for use with ACPI This set of patches enables the front Ethernet port on the ARM Juno development platform when used with an ACPI enabled kernel. These patches covert the of_property* calls in the driver to the DT/ACPI agnostic device_property* calls, and add the arm hardware id to the acpi_match_table. To support the above changes I copied a couple routines from of_net into the properties.c file, and modified them to be ACPI/DT agnostic. I'm not 100% sure this is the correct location for these functions. But I think they are required to avoid having a dozen different implementations scattered across assorted Ethernet adapters that are being enabled to use ACPI properties. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b50dc4fc971cc788b0974ebd70f06efff1ad5d8 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 12 17:06:27 2015 -0500 Convert smsc911x to use ACPI as well as DT Add ACPI bindings for the smsc911x driver. Convert the DT specific calls to nonspecific device* calls, This allows the driver to work with both ACPI and DT configurations. Ethernet should now work when using ACPI on ARM Juno. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Reviewed-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c96b7dc0d393f12c17e0d81db15aa4a820a6ab3 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 12 17:06:26 2015 -0500 Add a matching set of device_ functions for determining mac/phy OF has some helper functions for parsing MAC and PHY settings. In cases where the platform is providing this information rather than the device itself, there needs to be similar functions for ACPI. These functions are slightly modified versions of the ones in of_net which can use information provided via DT or ACPI. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4983953dbd038fd720e7e16eb9bad5d8ea059ccf Author: David Drysdale <drysdale@xxxxxxxxxx> Date: Mon Aug 10 09:00:44 2015 +0100 Documentation: describe how to add a system call Add a document describing the process of adding a new system call, including the need for a flags argument for future compatibility, and covering 32-bit/64-bit concerns (albeit in an x86-centric way). Signed-off-by: David Drysdale <drysdale@xxxxxxxxxx> Reviewed-by: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Reviewed-by: Eric B Munson <emunson@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 5bbbcc0073331d4e37c9f91c59cfc9f5d2033860 Merge: 646244b b340b26 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 16:52:20 2015 -0700 Merge branch 'tcp-loss-probe' Yuchung Cheng says: ==================== minor tail loss probe improvements This patch series enhance the tail loss probe (TLP) on some error conditions. When TLP fails to send a probe, it will no longer extend the RTO. When it fails to send a new packet because of receiver window limit, it'll try to retransmit the last packet. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b340b26454e7ba0f5d04b4bd5c4c782f1628ebe1 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Wed Aug 12 11:18:19 2015 -0700 tcp: TLP retransmits last if failed to send new packet When TLP fails to send new packet because of receive window limit, it should fall back to retransmit the last packet instead. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fcd16c0a95a8faf4d310f94d831b22f901c5a744 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Wed Aug 12 11:18:18 2015 -0700 tcp: don't extend RTO on failed loss probe attempts If TLP was unable to send a probe, it extended the RTO to now + icsk_rto. But extending the RTO makes little sense if no TLP probe went out. With this commit, instead of extending the RTO we re-arm it relative to the transmit time of the write queue head. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 646244b223090e379070d149312b222867e42aa6 Merge: 182ad46 21696f7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 16:51:00 2015 -0700 Merge branch 'cpsw-errata-workaround' Mugunthan V N says: ==================== Add AM335x PG1.0 CPSW errata workaround With commit 870915feabdc ("drivers: net: cpsw: remove disable_irq/enable_irq as irq can be masked from cpsw itself"), CPSW on AM335x beagle bone white is broken as there is a errata for AM335x PG1.0. This patch series implements the workaround by disabling the interrupts from ARM IRQ controller for AM335x SoC in addition to the masking of interrupts in CPSW. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21696f717b3404f17dfd5433d391ef55fbcb812b Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Wed Aug 12 15:22:55 2015 +0530 ARM: dts: am33xx: update cpsw compatible CPSW driver has been updated with compatibles for enabling errata workarounds. So updating cpsw compatibles. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2095318aff16019fdedf2002222ae7076a51935 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Wed Aug 12 15:22:54 2015 +0530 ARM: dts: dra7: update cpsw compatible CPSW driver has been updated with compatibles for enabling errata workarounds. So updating cpsw compatibles. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7da1160002f1d59e79e7d89da474ff7c679a07a5 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Wed Aug 12 15:22:53 2015 +0530 drivers: net: cpsw: add am335x errata workarround for interrutps As per Am335x Errata [1] Advisory 1.0.9, The CPSW C0_TX_PEND and C0_RX_PEND interrupt outputs provide a single transmit interrupt that combines transmit channel interrupts TXPEND[7:0] and a single receive interrupt that combines receive channel interrupts RXPEND[7:0]. The TXPEND[0] and RXPEND[0] interrupt outputs are connected to the ARM Cortex-A8 interrupt controller (INTC) rather than the C0_TX_PEND and C0_RX_PEND interrupt outputs. So even though CPSW interrupt is cleared by writing appropriate values to EOI register the interrupt is not cleared in IRQ controller. So interrupt is still pending and CPU is struck in ISR, the workaround is to disable the interrupts in ARM irq controller. [1] http://www.ti.com/lit/er/sprz360f/sprz360f.pdf Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81db32a3c4627605a0e950d27a403ea02447ab60 Author: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Date: Mon Aug 10 15:16:16 2015 -0700 doc: Add more workqueue functions to the documentation There are some workqueue functions declared in workqueue.h, so include that in the workqueue section of the DocBook docs. Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 182ad468e70fc7e8ff2e5d64344c690beaa00ddd Merge: e8fed98 5b3e2e1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 13 16:23:11 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/ethernet/cavium/Kconfig The cavium conflict was overlapping dependency changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7229b87bb269c9e18cabbc43c5fb01c81d097b24 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Sun Aug 9 22:37:46 2015 -0700 Input: elants_i2c - fix for devm_gpiod_get API change Flags are now mandatory for devm_gpiod_get(). So let's use proper flag to configure gpio for output instead of doing this by hand. Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> [Dmitry: GPIOD_ASIS -> GPIOD_OUT_LOW] Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f7ef1340bb501717372a39f4807d0ad519ebd432 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Jul 20 09:23:37 2015 -0500 PCI: Remove pci_ats_enabled() Remove pci_ats_enabled(). There are no callers outside the ATS code itself. We don't need to check ats_cap, because if we don't find an ATS capability, we'll never set ats_enabled. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit a71f938f3a9a7bc879296cd34ecae9effe5edf3f Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Jul 20 09:24:32 2015 -0500 PCI: Stop caching ATS Invalidate Queue Depth Stop caching the Invalidate Queue Depth in struct pci_dev. pci_ats_queue_depth() is typically called only once per device, and it returns a fixed value per-device, so callers who need the value frequently can cache it themselves. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit ff9bee895c4d11a519a6b2c49451376025a6af4e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:55:48 2015 -0500 PCI: Move ATS declarations to linux/pci.h so they're all together Move ATS declarations to linux/pci.h so they're all in one place. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit a021f3019db7b40f0fe85b0a64c6be21e3665fbf Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:43:27 2015 -0500 PCI: Clean up ATS error handling There's no need to BUG() if we enable ATS when it's already enabled. We don't need to BUG() when disabling ATS on a device that doesn't support ATS or if it's already disabled. If ATS is enabled, certainly we found an ATS capability in the past, so it should still be there now. Clean up these error paths. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit c39127dbaf6c267f18d1cac14e2b0ecbfaa52d63 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:38:13 2015 -0500 PCI: Use pci_physfn() rather than looking up physfn by hand Use the pci_physfn() helper rather than looking up physfn by hand. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit afdd596c42c4540308eae9f4c685d9bccc525cfc Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:35:18 2015 -0500 PCI: Inline the ATS setup code into pci_ats_init() The ATS setup code in ats_alloc_one() is only used by pci_ats_init(), so inline it there. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit 3c765399524308ab36777a443ce77e19810a97d7 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:30:26 2015 -0500 PCI: Rationalize pci_ats_queue_depth() error checking We previously returned -ENODEV for devices that don't support ATS (except that we always returned 0 for VFs, whether or not they support ATS). For consistency, always return -EINVAL (not -ENODEV) if the device doesn't support ATS. Return zero for VFs that support ATS. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit 67930995d7fb8ae7d2078822b563010b289ace2e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:27:34 2015 -0500 PCI: Reduce size of ATS structure elements The extended capabilities list is linked with 12-bit pointers, and the ATS Smallest Translation Unit and Invalidate Queue Depth fields are both 5 bits. Use u16 and u8 to hold the extended capability address and the stu and qdep values. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit d544d75ac96aa1b0a8a378826626a0fbd8ce4380 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:15:19 2015 -0500 PCI: Embed ATS info directly into struct pci_dev The pci_ats struct is small and will get smaller, so I don't think it's worth allocating it separately from the pci_dev struct. Embed the ATS fields directly into struct pci_dev. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit edc90fee916b4f0d14af9c6b5c08666747488ef8 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jul 17 15:05:46 2015 -0500 PCI: Allocate ATS struct during enumeration Previously, we allocated pci_ats structures when an IOMMU driver called pci_enable_ats(). An SR-IOV VF shares the STU setting with its PF, so when enabling ATS on the VF, we allocated a pci_ats struct for the PF if it didn't already have one. We held the sriov->lock to serialize threads concurrently enabling ATS on several VFS so only one would allocate the PF pci_ats. Gregor reported a deadlock here: pci_enable_sriov sriov_enable virtfn_add mutex_lock(dev->sriov->lock) # acquire sriov->lock pci_device_add device_add BUS_NOTIFY_ADD_DEVICE notifier chain iommu_bus_notifier amd_iommu_add_device # iommu_ops.add_device init_iommu_group iommu_group_get_for_dev iommu_group_add_device __iommu_attach_device amd_iommu_attach_device # iommu_ops.attach_device attach_device pci_enable_ats mutex_lock(dev->sriov->lock) # deadlock There's no reason to delay allocating the pci_ats struct, and if we allocate it for each device at enumeration-time, there's no need for locking in pci_enable_ats(). Allocate pci_ats struct during enumeration, when we initialize other capabilities. Note that this implementation requires ATS to be enabled on the PF first, before on any of the VFs because the PF controls the STU for all the VFs. Link: http://permalink.gmane.org/gmane.linux.kernel.iommu/9433 Reported-by: Gregor Dick <gdick@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> commit 2ec3182f9c20a9eef0dacc0512cf2ca2df7be5ad Author: Dongsu Park <dpark@xxxxxxxxxx> Date: Fri Dec 19 14:53:03 2014 +0100 Documentation: update notes in biovecs about arbitrarily sized bios Update block/biovecs.txt so that it includes a note on what kind of effects arbitrarily sized bios would bring to the block layer. Also fix a trivial typo, bio_iter_iovec. Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Kent Overstreet <kent.overstreet@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-doc@xxxxxxxxxxxxxxx Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b54ffb73cadcdcff9cc1ae0e11f502407e3e2e4c Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Tue May 19 14:31:01 2015 +0200 block: remove bio_get_nr_vecs() We can always fill up the bio now, no need to estimate the possible size based on queue parameters. Acked-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [hch: rebased and wrote a changelog] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6cf66b4caf9c71f64a5486cadbd71ab58d0d4307 Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Mon Dec 22 12:48:42 2014 +0100 fs: use helper bio_add_page() instead of open coding on bi_io_vec Call pre-defined helper bio_add_page() instead of open coding for iterating through bi_io_vec[]. Doing that, it's possible to make some parts in filesystems and mm/page_io.c simpler than before. Acked-by: Dave Kleikamp <shaggy@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: linux-fsdevel@xxxxxxxxxxxxxxx Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: add more description in commit message] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8ae126660fddbeebb9251a174e6fa45b6ad8f932 Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Mon Apr 27 23:48:34 2015 -0700 block: kill merge_bvec_fn() completely As generic_make_request() is now able to handle arbitrarily sized bios, it's no longer necessary for each individual block driver to define its own ->merge_bvec_fn() callback. Remove every invocation completely. Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx> Cc: drbd-user@xxxxxxxxxxxxxxxx Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Yehuda Sadeh <yehuda@xxxxxxxxxxx> Cc: Sage Weil <sage@xxxxxxxxxxx> Cc: Alex Elder <elder@xxxxxxxxxx> Cc: ceph-devel@xxxxxxxxxxxxxxx Cc: Alasdair Kergon <agk@xxxxxxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: dm-devel@xxxxxxxxxx Cc: Neil Brown <neilb@xxxxxxx> Cc: linux-raid@xxxxxxxxxxxxxxx Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Acked-by: NeilBrown <neilb@xxxxxxx> (for the 'md' bits) Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: also remove ->merge_bvec_fn() in dm-thin as well as dm-era-target, and resolve merge conflicts] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7140aafce2fc14c5af02fdb7859b6bea0108be3d Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Wed Sep 25 13:37:01 2013 -0700 md/raid5: get rid of bio_fits_rdev() Remove bio_fits_rdev() as sufficient merge_bvec_fn() handling is now performed by blk_queue_split() in md_make_request(). Cc: Neil Brown <neilb@xxxxxxx> Cc: linux-raid@xxxxxxxxxxxxxxx Acked-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: add more description in commit message] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7ef6b12a1966f273afb750e19e1e8129bea48fec Author: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Date: Wed May 6 22:51:24 2015 -0700 md/raid5: split bio for chunk_aligned_read If a read request fits entirely in a chunk, it will be passed directly to the underlying device (providing it hasn't failed of course). If it doesn't fit, the slightly less efficient path that uses the stripe_cache is used. Requests that get to the stripe cache are always completely split up as necessary. So with RAID5, ripping out the merge_bvec_fn doesn't cause it to stop work, but could cause it to take the less efficient path more often. All that is needed to manage this is for 'chunk_aligned_read' do some bio splitting, much like the RAID0 code does. Cc: Neil Brown <neilb@xxxxxxx> Cc: linux-raid@xxxxxxxxxxxxxxx Acked-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b49a0871be31a745b2ef7912653683a1876ff701 Author: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Date: Fri May 22 00:46:56 2015 -0700 block: remove split code in blkdev_issue_{discard,write_same} The split code in blkdev_issue_{discard,write_same} can go away now that any driver that cares does the split. We have to make sure bio size doesn't overflow. For discard, we set max discard sectors to (1<<31)>>9 to ensure it doesn't overflow bi_size and hopefully it is of the proper granularity as long as the granularity is a power of two. Acked-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0e28997ec476bad4c7dbe0a08775290051325f53 Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Mon Dec 2 18:30:25 2013 -0800 btrfs: remove bio splitting and merge_bvec_fn() calls Btrfs has been doing bio splitting from btrfs_map_bio(), by checking device limits as well as calling ->merge_bvec_fn() etc. That is not necessary any more, because generic_make_request() is now able to handle arbitrarily sized bios. So clean up unnecessary code paths. Cc: Chris Mason <clm@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Cc: linux-btrfs@xxxxxxxxxxxxxxx Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> [dpark: add more description in commit message] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 749b61dab30736eb95b1ee23738cae90973d4fc3 Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Sat Nov 23 23:11:25 2013 -0800 bcache: remove driver private bio splitting code The bcache driver has always accepted arbitrarily large bios and split them internally. Now that every driver must accept arbitrarily large bios this code isn't nessecary anymore. Cc: linux-bcache@xxxxxxxxxxxxxxx Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: add more description in commit message] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c66a14d07c136cc35d4dcb84bfc7bc188be24d4c Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Sat Nov 23 22:30:22 2013 -0800 block: simplify bio_add_page() Since generic_make_request() can now handle arbitrary size bios, all we have to do is make sure the bvec array doesn't overflow. __bio_add_page() doesn't need to call ->merge_bvec_fn(), where we can get rid of unnecessary code paths. Removing the call to ->merge_bvec_fn() is also fine, as no driver that implements support for BLOCK_PC commands even has a ->merge_bvec_fn() method. Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: rebase and resolve merge conflicts, change a couple of comments, make bio_add_page() warn once upon a cloned bio.] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 54efd50bfd873e2dbf784e0b21a8027ba4299a3e Author: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Thu Apr 23 22:37:18 2015 -0700 block: make generic_make_request handle arbitrarily sized bios The way the block layer is currently written, it goes to great lengths to avoid having to split bios; upper layer code (such as bio_add_page()) checks what the underlying device can handle and tries to always create bios that don't need to be split. But this approach becomes unwieldy and eventually breaks down with stacked devices and devices with dynamic limits, and it adds a lot of complexity. If the block layer could split bios as needed, we could eliminate a lot of complexity elsewhere - particularly in stacked drivers. Code that creates bios can then create whatever size bios are convenient, and more importantly stacked drivers don't have to deal with both their own bio size limitations and the limitations of the (potentially multiple) devices underneath them. In the future this will let us delete merge_bvec_fn and a bunch of other code. We do this by adding calls to blk_queue_split() to the various make_request functions that need it - a few can already handle arbitrary size bios. Note that we add the call _after_ any call to blk_queue_bounce(); this means that blk_queue_split() and blk_recalc_rq_segments() don't need to be concerned with bouncing affecting segment merging. Some make_request_fn() callbacks were simple enough to audit and verify they don't need blk_queue_split() calls. The skipped ones are: * nfhd_make_request (arch/m68k/emu/nfblock.c) * axon_ram_make_request (arch/powerpc/sysdev/axonram.c) * simdisk_make_request (arch/xtensa/platforms/iss/simdisk.c) * brd_make_request (ramdisk - drivers/block/brd.c) * mtip_submit_request (drivers/block/mtip32xx/mtip32xx.c) * loop_make_request * null_queue_bio * bcache's make_request fns Some others are almost certainly safe to remove now, but will be left for future patches. Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Ming Lei <ming.lei@xxxxxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxx> Cc: Alasdair Kergon <agk@xxxxxxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: dm-devel@xxxxxxxxxx Cc: Lars Ellenberg <drbd-dev@xxxxxxxxxxxxxxxx> Cc: drbd-user@xxxxxxxxxxxxxxxx Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Geoff Levand <geoff@xxxxxxxxxxxxx> Cc: Jim Paris <jim@xxxxxxxx> Cc: Philip Kelleher <pjk1939@xxxxxxxxxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Acked-by: NeilBrown <neilb@xxxxxxx> (for the 'md/md.c' bits) Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> [dpark: skip more mq-based drivers, resolve merge conflicts, etc.] Signed-off-by: Dongsu Park <dpark@xxxxxxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bdd2648e50508cbb2eb6d1c303e4d2d6d7505400 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Aug 12 07:41:11 2015 +0900 ARM: EXYNOS: switch to using generic cpufreq driver for exynos4x12 The new CPU clock type allows the use of generic CPUfreq driver. Switch Exynos4x12 to using generic cpufreq driver. Previously (when exynos-cpufreq driver was used with boost functionality) ARM_EXYNOS_CPU_FREQ_BOOST_SW config option (which enabled boost functionality) selected EXYNOS_THERMAL one. After switching Exynos4x12 platforms to use cpufreq-dt driver boost support is enabled in the cpufreq-dt driver itself (because there are turbo OPPs defined in the board's DTS file). However we still would like to allow enabling boost support only if thermal support is also enabled for Exynos platforms. To achieve this make ARCH_EXYNOS config option select THERMAL and EXYNOS_THERMAL ones. Please also note that the switch to use the generic cpufreq-dt driver fixes the minor issue present with the old code (support for 'boost' mode in the exynos-cpufreq driver was enabled for all supported SoCs even though 'boost' frequency was provided only for Exynos4x12 ones). Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Cc: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Tested-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 86a76027457633488b0a83d5e2bb944159885605 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 13 06:55:41 2015 +0900 perf probe: Fix to add missed brace around if block The commit 75186a9b09e4 (perf probe: Fix to show lines of sys_ functions correctly) introduced a bug by a missed brace around if block. This fixes to add it. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Fixes: 75186a9b09e4 ("perf probe: Fix to show lines of sys_ functions correctly") Link: http://lkml.kernel.org/r/20150812215541.9088.62425.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2e169bb3ccc20fea5e6f59d1abcea249c6598163 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 12:01:10 2015 +0200 iommu/io-pgtable-arm: Move init-fn declarations to io-pgtable.h Avoid extern declarations in c files. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 6e6cfbc859481b2af7282170ff732fa5e035d842 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:15:13 2015 +0200 iommu/msm: Use BUG_ON instead of if () BUG() Found by a coccicheck script. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 543c8dcf1d3762c6fe372acf78eedc8898709106 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:56:59 2015 +0200 iommu/vt-d: Access iomem correctly This fixes wrong accesses to iomem introduced by the kdump fixing code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit b690420a406256c83ef2c7e96466052e5cab7676 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:32:18 2015 +0200 iommu/vt-d: Make two functions static These functions are only used in that file and can be static. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit dc02e46e8d0234eed9f6e42f50763b406c380bc4 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:15:13 2015 +0200 iommu/vt-d: Use BUG_ON instead of if () BUG() Found by a coccicheck script. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 30e93761fbf706c0f8a6f7d1abc1b0ddbeea208c Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:13:17 2015 +0200 iommu/vt-d: Return false instead of 0 in irq_remapping_cap() The function return type is bool, so return false instead of 0. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 23d3a98c13ee0ffe2647121fac7533282643e6f1 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:15:13 2015 +0200 iommu/amd: Use BUG_ON instead of if () BUG() Found by a coccicheck script. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7aec51cbf0646cc15d719b08caea931576dc7f2a Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Aug 12 15:48:37 2015 -0700 perf tools: Support static linking with libdw The Fedora 22 version of libdw requires a couple of extra libraries to link. With a dynamic link the dependencies are pulled in automatically, but this doesn't work for static linking. Add the needed libraries explicitely to the feature probe and the Makefile. v2: Explicitly check for static linking and only add the dependencies when -static is set. This is to avoid regressions on Arnaldo's system. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439419717-20601-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4160cd9e5ef9ac9f1c9c429e1606bf08a56c8a49 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:31:48 2015 +0200 iommu/amd: Make a symbol static Symbol is only used in that file and can be static. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a130e69f28ba1d180242b581a15d09f06dad9227 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Aug 13 11:07:25 2015 +0200 iommu/amd: Simplify allocation in irq_remapping_alloc() Allocate the irq data only in the loop. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5e3863a74fb70d6a432504ba2fa16a998cd3736b Author: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 02:36:14 2015 +0900 cpufreq: exynos: Remove unselectable rule for arm-exynos-cpufreq.o Commit 966f2a71a92d ("cpufreq: exynos: remove Exynos4x12 specific cpufreq driver support") deleted option ARM_EXYNOS_CPUFREQ but missed to delete a rule in drivers/cpufreq/Makefile which depends on that option. Remove unselectable rule for arm-exynos-cpufreq.o from drivers/cpufreq/Makefile. Signed-off-by: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ba032795463bfc461937dbde7a345103a47f969b Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 14 02:29:48 2015 +0900 ARM: dts: add iommu property to JPEG device for exynos4 JPEG codec node has been added in parallel to the patch, which added support for IOMMU to Exynos platform, so JPEG device for Exynos4 SoCs lacked IOMMU property. This patch fixes this issue. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c8b34e36ca1a3e4c8ada87acefbb25119ee89347 Author: Alexis Ballier <aballier@xxxxxxxxxx> Date: Fri Aug 14 02:27:33 2015 +0900 ARM: dts: enable SPI1 for exynos4412-odroidu3 SPI1 is available on IO Port #2 (as depicted on their website) in PCB Revision 0.5 of Hardkernel Odroid U3 board. The shield connects a 256KiB spi-nor flash on that bus. Signed-off-by: Alexis Ballier <aballier@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit e0b12512b40c7a1cc0825773d118ecfdb464be41 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Thu Jul 30 23:12:43 2015 +0900 ARM: dts: Add SPI CS on exynos5250-snow Although there is only one choice of chipselect it is necessary to specify it. The driver cannot claim the gpio otherwise. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 5600f8cc8aa8bdcf335e84a7f85eae204b379bae Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Jul 30 23:02:22 2015 +0900 ARM: dts: Add CPU cooling binding for exynos3250 boards This patch add the cooling device to control the overheating issue on Exynos3250-based Rinato/Monk board. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit df09df6f9ac384fef825c2c21c62cd576acda17f Author: Chanho Park <parkch98@xxxxxxxxx> Date: Thu Jul 30 23:11:00 2015 +0900 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order The odroid-xu3 board which is based on exynos5422 not exynos5800 is booted from cortex-a7 core unlike exynos5800. The odroid-xu3's cpu order is quite strange. cpu0 and cpu5-7 are cortex-a7 cores and cpu1-4 are cortex-a15 cores. To correct this mis-odering, I added exynos5422-cpus.dtsi and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and cpu4-7 are cortex-a15. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Chanho Park <parkch98@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f44997412e5b39b6a1231f16555120c5b2aae0ed Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Aug 12 07:38:45 2015 +0900 ARM: dts: add CPU OPP and regulator supply property for exynos4x12 For Exynos4x12 platforms, add CPU operating points (using opp-v2 bindings) and CPU regulator supply properties for migrating from Exynos specific cpufreq driver to using generic cpufreq driver. Based on the earlier work by Thomas Abraham. Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Andreas Faerber <afaerber@xxxxxxx> Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Tested-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 48816affd931c44045913873dff21693cd7fc948 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Jul 24 12:55:21 2015 +0900 ARM: dts: Add CPU OPP and regulator supply property for exynos3250 This patch add CPU operating points which include CPU frequency and regulator voltage to use generic cpufreq drivers. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 846c53009170bae6cfe0b75eb793c6966d2c0f83 Author: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Date: Wed Jul 1 15:10:36 2015 +0200 ARM: dts: add CPU OPP and regulator supply property for exynos5250 For Exynos5250 platforms, add CPU operating points and CPU regulator supply properties for migrating from Exynos specific cpufreq driver to using generic cpufreq driver. Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx> [b.zolnierkie: split Exynos5250 support from the original patch] [b.zolnierkie: added CPU regulator supply property for Spring boards] Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 58c036a7ac417013bc01d09ae876265069e189d9 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Jul 24 12:58:41 2015 +0900 ARM: EXYNOS: Add exynos3250 compatible to use generic cpufreq driver This patch add exynos3250 compatible string to exynos_cpufreq_matches for supporting generic cpufreq driver on Exynos3250. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c913f022dacad8c92ce1ed6bca7587e45a3b380e Author: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Date: Wed Jul 1 15:10:37 2015 +0200 ARM: EXYNOS: switch to using generic cpufreq driver for exynos5250 The new CPU clock type allows the use of generic CPUfreq driver. Switch Exynos5250 to using generic cpufreq driver. Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx> [b.zolnierkie: split Exynos5250 support from the original patch] Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 966f2a71a92d1e7adafb5c62d1634beb451b1500 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Aug 12 07:44:22 2015 +0900 cpufreq: exynos: remove Exynos4x12 specific cpufreq driver support Exynos4x12 based platforms have switched over to use generic cpufreq driver for cpufreq functionality. So the Exynos specific cpufreq support for these platforms can be removed. Also once Exynos4x12 based platforms support have been removed the shared exynos-cpufreq driver is no longer needed and can be deleted. Based on the earlier work by Thomas Abraham. Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Tested-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit cd6aceef028afc3fa216e3e7bc94cc31632cad43 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Aug 12 07:36:47 2015 +0900 clk: exynos4x12: add cpu clock configuration data and instantiate cpu clock With the addition of the new Samsung specific cpu-clock type, the arm clock can be represented as a cpu-clock type. Add the CPU clock configuration data and instantiate the CPU clock type for Exynos4x12. Based on the earlier work by Thomas Abraham. Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Michael Turquette <mturquette@xxxxxxxxxxxx> Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Tested-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 41609892701e26724b8617201f43254cadf2e7ae Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:45 2015 +0530 blk-cgroup: Drop unlikely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 11cec15bf3fb498206ef63b1fa26c27689e02d0e Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Aug 6 14:20:31 2015 +0200 iommu/tegra-smmu: Parameterize number of TLB lines The number of TLB lines was increased from 16 on Tegra30 to 32 on Tegra114 and later. Parameterize the value so that the initial default can be set accordingly. On Tegra30, initializing the value to 32 would effectively disable the TLB and hence cause massive latencies for memory accesses translated through the SMMU. This is especially noticeable for isochronuous clients such as display, whose FIFOs would continuously underrun. Fixes: 891846516317 ("memory: Add NVIDIA Tegra memory controller support") Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 1ec0e115f8604940491861d207cc1e1478db97b3 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue May 19 16:49:12 2015 +0200 ARM: tegra: cpuidle: implement cpuidle_state.enter_freeze() This callback is expected to do the same as enter() but it has to guarantee that interrupts aren't enabled at any point in its execution, as the tick is frozen. It will be called when the system goes to suspend-to-idle and will reduce power usage because CPUs won't be awaken for unnecessary IRQs. By setting the CPUIDLE_FLAG_TIMER_STOP flag, we can reuse the same code for both the enter() and enter_freeze() callbacks. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit fc0cf1773434c153a831067a29935e4627803583 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Feb 23 15:24:11 2015 +0100 ARM: tegra: Disable cpuidle if PSCI is available This is only relevant on Tegra114 and Tegra124, because earlier Tegra generations used Cortex-A9 without secure extensions. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 592431b0369dc7a1f4a68f15ff0c48d94b66297f Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 4 15:25:03 2015 +0200 soc/tegra: pmc: Use existing pclk reference The driver requests the pclk clock at probe time already and stores its reference to it in struct tegra_pmc, so there is no need to look it up everytime it is needed. Use the existing reference instead. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4a4466a6a418b96d6cb07ffb46cefa13df8f12ef Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jul 3 11:50:27 2015 +0200 soc/tegra: pmc: Remove unnecessary return statement Functions returning no value don't need an explicit return statement. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e538674740e632b57091f72cc06c0b03b45fb021 Author: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Date: Tue Aug 11 11:30:31 2015 +0200 nfsd: Fix two typos in comments (espect -> expect) and (no -> know) Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9462510ce31e2b91156bdcc33e4c737e6768e5f8 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Jul 14 10:29:55 2015 +0200 pinctrl: tegra: Only set the gpio range if needed If the gpio DT node has the gpio-ranges property, the range will be added by the gpio core and doesn't need to be added by the pinctrl driver. By having the gpio-ranges property, we have an explicit dependency from the gpio node to the pinctrl node and we can stop using the deprecated pinctrl_add_gpio_range() function. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c87fb4a378f93f114b9906e180d83877cee4e7f4 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Thu Aug 6 12:47:02 2015 -0400 lockd: NLM grace period shouldn't block NFSv4 opens NLM locks don't conflict with NFSv4 share reservations, so we're not going to learn anything new by watiting for them. They do conflict with NFSv4 locks and with delegations. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4bc6603778e473938ae815123b786e724084790c Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Jul 30 09:52:13 2015 -0400 nfsd: include linux/nfs4.h in export.h export.h refers to the pnfs_layouttype enum, which is defined there. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7c9fd23ff12e04f36be5ae5ff5dfe72fb913f215 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 31 14:58:21 2015 +0900 soc: tegra: Remove redundant $(CONFIG_ARCH_TEGRA) in Makefile Kbuild descends into drivers/soc/tegra/ only when CONFIG_ARCH_TEGRA is enabled. (see drivers/soc/Makefile) $(CONFIG_ARCH_TEGRA) in drivers/soc/tegra/Makefile always evaluates to 'y'. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 15ee1f7d1432c8a781df5d8f92c18bd952088667 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Aug 11 18:12:03 2015 +0800 clk: rockchip: add pclk_pd_pmu to the list of rk3288 critical clocks pclk_pd_pmu needs to keep running and with the upcoming gpio clock handling this is not always the case anymore. So add it to the list of critical clocks for now. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Lin Huang <hl@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 588c43a7bd5a53ae523b318e1db16bdd59963a3c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 10:45:12 2015 +0100 memory: tegra: Add Tegra210 support Add the table of memory clients and SWGROUPs for Tegra210 to enable SMMU support for this new SoC. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3c01cf3befa66cc21f06672685cf59a53056887a Author: Paul Walmsley <paul@xxxxxxxxx> Date: Thu Jun 4 19:33:48 2015 +0000 memory: tegra: Add support for a variable-size client ID bitfield Recent versions of the Tegra MC hardware extend the size of the client ID bitfield in the MC_ERR_STATUS register by one bit. While one could simply extend the bitfield for older hardware, that would allow data from reserved bits into the driver code, which is generally a bad idea on principle. So this patch instead passes in the client ID mask from from the per-SoC MC data. There's no MC support for T210 (yet), but when that support winds up in the kernel, the appropriate soc->client_id_mask value for that chip will be 0xff. Based on an original patch by David Ung <davidu@xxxxxxxxxx>. Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: David Ung <davidu@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4080e99b8341f81c4ed1e17d8ef44d171c473a1b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:30:12 2015 +0100 iommu/tegra-smmu: Factor out tegra_smmu_set_pde() This code is used both when creating a new page directory entry and when tearing it down, with only the PDE value changing between both cases. Factor the code out so that it can be reused. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> [treding@xxxxxxxxxx: make commit message more accurate] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7ffc6f066eb73b07a0ef7c94d05107aef271ac21 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 6 14:56:39 2015 +0200 iommu/tegra-smmu: Extract tegra_smmu_pte_get_use() Extract the use count reference accounting into a separate function and separate it from allocating the PTE. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> [treding@xxxxxxxxxx: extract and write commit message] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 707917cbc6ac0c0ea968b5eb635722ea84808286 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:30:02 2015 +0100 iommu/tegra-smmu: Use __GFP_ZERO to allocate zeroed pages Rather than explicitly zeroing pages allocated via alloc_page(), add __GFP_ZERO to the gfp mask to ask the allocator for zeroed pages. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 05a65f06f69fa6c487c2933f2971d9ec4e33eb0d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:57 2015 +0100 iommu/tegra-smmu: Remove PageReserved manipulation Remove the unnecessary manipulation of the PageReserved flags in the Tegra SMMU driver. None of this is required as the page(s) remain private to the SMMU driver. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e3c971960fd41fc55235ba05b95e053355cb0e73 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:52 2015 +0100 iommu/tegra-smmu: Convert to use DMA API Use the DMA API instead of calling architecture internal functions in the Tegra SMMU driver. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d62c7a886c2bc9f9258164814245dc0678b9a52e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:46 2015 +0100 iommu/tegra-smmu: smmu_flush_ptc() wants device addresses Pass smmu_flush_ptc() the device address rather than struct page pointer. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b8fe03827b192a23d04e99c40d72e6b938fa6576 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:41 2015 +0100 iommu/tegra-smmu: Split smmu_flush_ptc() smmu_flush_ptc() is used in two modes: one is to flush an individual entry, the other is to flush all entries. We know at the call site which we require. Split the function into smmu_flush_ptc_all() and smmu_flush_ptc(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4b3c7d10765403ab19628fb7d530b8ce1c50b81d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:36 2015 +0100 iommu/tegra-smmu: Move flush_dcache to tegra-smmu.c Drivers should not be using __cpuc_* functions nor outer_cache_flush() directly. This change partly cleans up tegra-smmu.c. The only difference between cache handling of the tegra variants is Denver, which omits the call to outer_cache_flush(). This is due to Denver being an ARM64 CPU, and the ARM64 architecture does not provide this function. (This, in itself, is a good reason why these should not be used.) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> [treding@xxxxxxxxxx: fix build failure on 64-bit ARM] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 32924c76b0cbc67aa4cf0741f7bc6c37f097aaf3 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:31 2015 +0100 iommu/tegra-smmu: Use kcalloc() to allocate counter array Use kcalloc() to allocate the use-counter array for the page directory entries/page tables. Using kcalloc() allows us to be provided with zero-initialised memory from the allocators, rather than initialising it ourselves. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 853520fa96511e4a49942d2cba34a329528c7e41 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:26 2015 +0100 iommu/tegra-smmu: Store struct page pointer for page tables Store the struct page pointer for the second level page tables, rather than working back from the page directory entry. This is necessary as we want to eliminate the use of physical addresses used with arch-private functions, switching instead to use the streaming DMA API. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0b42c7c1132f331fba263f0d2ca23544770584b7 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:21 2015 +0100 iommu/tegra-smmu: Fix page table lookup in unmap/iova_to_phys methods Fix the page table lookup in the unmap and iova_to_phys methods. Neither of these methods should allocate a page table; a missing page table should be treated the same as no mapping present. More importantly, using as_get_pte() for an IOVA corresponding with a non-present page table entry increments the use-count for the page table, on the assumption that the caller of as_get_pte() is going to setup a mapping. This is an incorrect assumption. Fix both of these bugs by providing a separate helper which only looks up the page table, but never allocates it. This is akin to pte_offset() for CPU page tables. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 34d35f8cbe51bf93faf3214ee5b5d6f8ae7df4c1 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:16 2015 +0100 iommu/tegra-smmu: Add iova_pd_index() and iova_pt_index() helpers Add a pair of helpers to get the page directory and page table indexes. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8482ee5ea1097445f6498ee522965f5311667763 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:10 2015 +0100 iommu/tegra-smmu: Factor out common PTE setting Factor out the common PTE setting code into a separate function. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b98e34f0c6f1c4ac7af41afecc4a26f5f2ebe68d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:05 2015 +0100 iommu/tegra-smmu: Fix unmap() method The Tegra SMMU unmap path has several problems: 1. as_pte_put() can perform a write-after-free 2. tegra_smmu_unmap() can perform cache maintanence on a page we have just freed. 3. when a page table is unmapped, there is no CPU cache maintanence of the write clearing the page directory entry, nor is there any maintanence of the IOMMU to ensure that it sees the page table has gone. Fix this by getting rid of as_pte_put(), and instead coding the PTE unmap separately from the PDE unmap, placing the PDE unmap after the PTE unmap has been completed. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9113785c3e918187b6b0c084c60e0344a2f1685c Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 13:29:00 2015 +0100 iommu/tegra-smmu: Fix iova_to_phys() method iova_to_phys() has several problems: (a) iova_to_phys() is supposed to return 0 if there is no entry present for the iova. (b) if as_get_pte() fails, we oops the kernel by dereferencing a NULL pointer. Really, we should not even be trying to allocate a page table at all, but should only be returning the presence of the 2nd level page table. This will be fixed in a subsequent patch. Treat both of these conditions as "no mapping" conditions. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8152d8cc593095fab36d7b71365bd32c9c1dfd29 Author: Marcus Cooper <codekipper@xxxxxxxxx> Date: Wed Aug 12 19:27:48 2015 +0200 pinctrl: sun4i: add spdif to pin description. Signed-off-by: Marcus Cooper <codekipper@xxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 929550b9f9f870d73489df98318a740183c2e955 Author: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Date: Tue Aug 11 15:51:59 2015 +0300 gpio: mxc: fix section mismatch warning Fix the section mismatch warning WARNING: vmlinux.o(.text+0x2b2788): Section mismatch in reference from the function mxc_gpio_probe() to the function .init.text:mxc_gpio_init_gc() The function mxc_gpio_probe() references the function __init mxc_gpio_init_gc(). This is often because mxc_gpio_probe lacks a __init annotation or the annotation of mxc_gpio_init_gc is wrong. Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 39ba928f8b34720b60c68d4c1bb274ae219ab39e Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Aug 13 20:06:41 2015 +0800 spi: Mediatek: fixup cpu_to_le32 incorrect usage writel() already does a cpu_to_le32 conversion, so remove cpu_to_le32(). Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3fb9800146b7ad96b7604755c1a943fe1abbde2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 13 18:09:49 2015 +0530 regulator: core: Spelling fix Trivial spell fix, s/succesfully/successfully. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0bf413558eb5668fe92b1a1931dc26b0df5908ae Merge: 3d3cacc ba68227 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 15:05:06 2015 +0200 Merge tag 'qcom-soc-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm into next/drivers Qualcomm ARM Based SoC Updates for 4.3 * Add SMEM driver * Add SMD driver * Add RPM over SMD driver * Select QCOM_SCM by default * tag 'qcom-soc-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm: devicetree: soc: Add Qualcomm SMD based RPM DT binding soc: qcom: Driver for the Qualcomm RPM over SMD soc: qcom: Add Shared Memory Driver soc: qcom: Add device tree binding for Shared Memory Device drivers: qcom: Select QCOM_SCM unconditionally for QCOM_PM soc: qcom: Add Shared Memory Manager driver Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 129e5824cd96d9289679973f0ff7c48e88d569bb Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 27 11:10:15 2015 +0800 sunrpc: Switch to using hash list instead single list Switch using list_head for cache_head in cache_detail, it is useful of remove an cache_head entry directly from cache_detail. v8, using hash list, not head list Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c8c081b70cb563cc4d41ab9933fa3323c6f6ffca Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 27 11:09:42 2015 +0800 sunrpc/nfsd: Remove redundant code by exports seq_operations functions Nfsd has implement a site of seq_operations functions as sunrpc's cache. Just exports sunrpc's codes, and remove nfsd's redundant codes. v8, same as v6 Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9936f2ae37482aff54ce53918c69b378bb50097c Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 27 11:09:10 2015 +0800 sunrpc: Store cache_detail in seq_file's private directly Cleanup. Just store cache_detail in seq_file's private, an allocated handle is redundant. v8, same as v6. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7ba6cad6c88f1bf0b7d66d9628d7c3f36ecb4bfe Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Jun 24 16:33:37 2015 +0800 nfsd: New helper nfsd4_cb_sequence_done() for processing more cb errors According to Christoph's advice, this patch introduce a new helper nfsd4_cb_sequence_done() for processing more callback errors, following the example of the client's nfs41_sequence_done(). Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 509b642ec1cb161f0e9d349bb6bd416554955b3a Merge: ab39aab d93ac74 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 14:48:09 2015 +0200 Merge tag 'berlin64-for-v4.3-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/arm64 Initial support for Marvell Berlin4CT ARM64 SoC * tag 'berlin64-for-v4.3-1' of git://git.infradead.org/users/hesselba/linux-berlin: arm64: dts: Add dts files for Marvell Berlin4CT SoC Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 952cfbd38e263ae81fbb4e575fe40d220891d68b Author: Ulises Brindis <ubrindis56@xxxxxxxxx> Date: Wed Aug 5 10:23:07 2015 -0700 gpio/mxc: mask gpio interrupts in suspend Currently in the FSL platform all GPIO interrupts in a bank are muxed into two GPIO lines to the GPC interrupt controller. In each GPIO bank GPIOs 0-15 are OR'ed into one GPC interrupt controller interrupt and 16-31 are OR'ed into another. With the current code, if any of the 0-15 or 16-31 interrupts are marked as wakeup capable, all interrupts belonging to that sub-bank (either 0-15 or 16-31) will wake up the device. This is because interrupts are only being masked at the interrupt controller and not at the GPIO controller. This patch allows masking of GPIO interrupts at the GPIO controller during suspend if they have not been labeled wakeup capable. This patch uses preexisting IRQCHIP_MASK_ON_SUSPEND flag while initializing the GPIO interrupts to get the desired behavior. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Ulises Brindis <ubrindis56@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 627c89b4d7c0a916b7702e23ded6e063dcb14ad5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 5 22:37:41 2015 +0800 gpio: omap: Fix missing raw locks conversion Fix below build warning: CC drivers/gpio/gpio-omap.o drivers/gpio/gpio-omap.c: In function 'omap_gpio_irq_type': drivers/gpio/gpio-omap.c:504:3: warning: passing argument 1 of 'spin_unlock_irqrestore' from incompatible pointer type [enabled by default] include/linux/spinlock.h:360:29: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *' Fixes: commit 4dbada2be460 ("gpio: omap: use raw locks for locking") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5f6f02cd49d61e9856ff2c337578316a1a1b3f88 Merge: 3afa129 cbfe8fa Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Aug 13 14:42:55 2015 +0200 Merge tag 'v4.2-rc4' into devel Linux 4.2-rc4 commit 627b1516a390e19fb26b1c0c9bd2546722524965 Author: Wei Chen <Wei.Chen@xxxxxxx> Date: Wed Aug 5 03:22:14 2015 +0000 pinctrl: atlas7: clear ugly branch statements for pull and drivestrength To set/get atlas7 pull & drive strength, we use lots of if/else to check pad type. But except mask value or immediate value, all actions in these conditional branches are the same. So we use predefined pull info table and drive strength table to reduce these redundancy code. Signed-off-by: Wei Chen <Wei.Chen@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 94fdc2e627d1b479a117cd8b9ece5f4613a5c956 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Thu Aug 6 12:46:31 2015 -0400 orinoco: Do not call wiphy_unregister() from free_orinocodev() alloc_orinocodev() would allocate the wiphy entry, but it would only get registered much later in orinoco_init(). If something failed in the init process inbetween the call to alloc_orinocodev() and the completion of orinoco_init(), the drivers would end up calling wiphy_unregister() with a NULL pointer causing beautiful OOPS fireworks. Explicitly call wiphy_unregister() instead in the right places. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cb9d61e5304e2880180e4ccf685a298c868094e0 Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Aug 6 00:39:16 2015 -0700 mwifiex: claim sdio bus while downloading the firmware Our 8887 A2 chip can have separate firmware images for bluetooth and WLAN. We observed an issue during parallel downloading of these images by btmrvl and mwifiex drivers. This patch claims sdio bus before starting of the firmware download in mwifiex and releases it after completion to fix the problem. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2375fa2b36feaf34c7728ee999dc4d8f4d92031d Author: chunfan chen <jeffc@xxxxxxxxxxx> Date: Wed Aug 5 06:09:42 2015 -0700 mwifiex: fix unable to connect hidden SSID AP on DFS channel We will check if any hidden SSID found in passive scan channels and do specific SSID active scan for those channels. Signed-off-by: chunfan chen <jeffc@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit eee7f1961b9d85d1fbd1febf73c90d421cc75536 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Wed Aug 5 06:09:41 2015 -0700 mwifiex: add firmware dump support for SD8997 This patch adds firmware dump feature for SD8997 chipset. The difference here is only one memory type is needed to save all firmware information. Device dump information will be uploaded to usersapace file. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6d85ef00d9dfe3bb61b021476465fa4e371ed076 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Wed Aug 5 06:09:40 2015 -0700 mwifiex: add support for 8997 chipset This patch adds support for 8997 chipset to mwifiex with SDIO/PCIe/USB interface. The corresponding firmware image files are located in: "mrvl/sd8997_uapsta.bin" "mrvl/pcie8997_uapsta.bin" "mrvl/usb8997_uapsta.bin" Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9ef7e25ff62033065ec019425a9c769374455a1a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Apr 14 14:57:14 2015 +0200 drm/panel: Add Samsung prefix to panel drivers The likelihood of getting a large number of panel drivers from different vendors is quite high. Add a prefix to the two existing Samsung panel drivers to set a guideline for future patch submissions. Using vendor prefixes consistently should allow a cleaner organization of the tree. Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3b1f0e86958b8afcfb6980f987c41e149480f9bd Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 4 10:49:27 2015 +0300 mwifiex: usb: return an error if kmalloc fails The current code returns success if kmalloc fails. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 3544f9f150bb58a3678c161a505b186893971c8a Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 16:15:53 2015 -0500 rtlwifi: rtl8192c-common: Fix two typos In this driver, two variables are masked by one quantity, and then tested against a second number with more bits that the mask. Accordingly, the test always fails. To minimize the possibility of such typos, a symbolic definition of the mask is created and used. The separate load and mask operations are also combined into a single statement. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8d882bcf82743f20b0546088f935a718b4ae6f60 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:16 2015 -0500 rtlwifi: rtl8192ee: Fix firmware header endian issues This driver is converted to use the common firmware header struct. Because the old header definition failed to indicate that the multi-byte entries should be little endian, several problems were thus exposed. These are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 201b63c7c907bcc89bb11797ce2ca2a93027004b Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:15 2015 -0500 rtlwifi: rtl888ee: Fix firmware header endian issues This driver is converted to use the common firmware header struct. Because the old header definition failed to indicate that the multi-byte entries should be little endian, several problems were thus exposed. These are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b290b57d18aa0e1d35caf209ccc12ac3ef14a6b3 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:14 2015 -0500 rtlwifi: rtl8192de: Fix firmware header endian issues This driver is converted to use the common firmware header struct. Because the old header definition failed to indicate that the multi-byte entries should be little endian, several problems were thus exposed. These are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 253f10abb7c24665988cf0abda65acaa40ce5815 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:13 2015 -0500 rtlwifi: rtl8821ae: Fix firmware endian issues This driver is converted to use the common firmware header struct. Because the old header definition failed to indicate that the multi-byte entries should be little endian, several problems were thus exposed. These are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7c24d086ef9ccbffc46f5f9e2680f292ca356166 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:12 2015 -0500 rtlwifi: rtl8723ae: rtl8723be: rtl8723com: Fix firmware header endian issues The drivers are converted to use the common firmware header struct. Because the old header definition failed to indicate that the multi-byte entries should be little endian, several problems were thus exposed. These are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e41c513599187bd100644566bde86541c01db1d6 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Aug 3 15:56:11 2015 -0500 rtlwifi: rtl8192ce: rtl8192cu: Fix endian issue Commit e996db69833a (rtlwifi: rtl8192c: Add init codes for "fw_version" and "fw_subversion") added initialization for fw_version, but failed to note that the variable in the firmware header is little-endian. The following Sparse warning results: CHECK drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c:242:36: warning: incorrect type in assignment (different base types) drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c:242:36: expected unsigned short [unsigned] [usertype] fw_version drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c:242:36: got restricted __le16 [usertype] version When fixing this problem, I noticed that several of the drivers contain nearly identical copies of the firmware header struct, and that only the one used in rtl8192c{e,u} had correct endian notation. The struct has been moved into a common header, and the other drivers will be fixed in subsequant patches. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d3928d0946bf75dc6709a08b12839ecb889f2564 Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Thu Jul 9 13:43:18 2015 +0530 brcmfmac: dhd_sdio.c: use existing atomic_or primitive There's already a generic implementation so use that instead. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ab63cb8b0cc84a89f65e418357d7e6b9b914c89a Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu May 14 18:56:16 2015 +0200 ath9k: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. As time_left is exclusively used for wait_for_completion_timeout here its type is simply changed to unsigned long. API conformance testing for completions with coccinelle spatches are being used to locate API usage inconsistencies: ./drivers/net/wireless/ath/ath9k/link.c:197 int return assigned to unsigned long Patch was compile tested with x86_64_defconfig + CONFIG_ATH_CARDS=m, Patch is against 4.1-rc3 (localversion-next is -next-20150514) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 61fc39204bc0db0070267fe0f7920c38b0af87ef Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu May 14 18:43:41 2015 +0200 ath9k_htc: wmi: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. As time_left is exclusively used for wait_for_completion_timeout here its type is simply changed to unsigned long. API conformance testing for completions with coccinelle spatches are being used to locate API usage inconsistencies: ./drivers/net/wireless/ath/ath9k/wmi.c:331 int return assigned to unsigned long Patch was compile tested with x86_64_defconfig + CONFIG_ATH_CARDS=m, CONFIG_ATH9K_HTC=m Patch is against 4.1-rc3 (localversion-next is -next-20150514) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 39ce8150a079e3ae6ed9abf26d7918a558ef7c19 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 4 15:03:14 2015 +0300 pinctrl: baytrail: Serialize all register access There is a hardware issue in Intel Baytrail where concurrent GPIO register access might result reads of 0xffffffff and writes might get dropped completely. Prevent this from happening by taking the serializing lock in all places where it is possible that more than one thread might be accessing the hardware concurrently. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 70a56550a664ce93583f59ef1b885e7616c942e4 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu May 14 18:25:26 2015 +0200 ath9k_htc: drv_init: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. As time_left is exclusively used for wait_for_completion_timeout here its type is simply changed to unsigned long. API conformance testing for completions with coccinelle spatches are being used to locate API usage inconsistencies: ./drivers/net/wireless/ath/ath9k/htc_drv_init.c:81 int return assigned to unsigned long Patch was compile tested with x86_64_defconfig + CONFIG_ATH_CARDS=m, CONFIG_ATH9K_HTC=m Patch is against 4.1-rc3 (localversion-next is -next-20150514) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5ab49db8e007c4479be1a682ea64d9b562aa4880 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 4 15:03:13 2015 +0300 pinctrl: baytrail: Drop FSF mailing address The FSF address is already mentioned in the COPYING file. No need to duplicate that information to individual files. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 34edd5f6839db083b625d473efa4145449cd1af0 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Thu May 14 17:29:54 2015 +0200 ath9k_htc: match wait_for_completion_timeout return type Return type of wait_for_completion_timeout is unsigned long not int. As time_left is exclusively used for wait_for_completion_timeout here its type is simply changed to unsigned long. API conformance testing for completions with coccinelle spatches are being used to locate API usage inconsistencies: ./drivers/net/wireless/ath/ath9k/htc_hst.c:171 int return assigned to unsigned long ./drivers/net/wireless/ath/ath9k/htc_hst.c:277 int return assigned to unsigned long ./drivers/net/wireless/ath/ath9k/htc_hst.c:206 int return assigned to unsigned long Patch was compile tested with x86_64_defconfig + CONFIG_ATH_CARDS=m, CONFIG_ATH9K_HTC=m Patch is against 4.1-rc3 (localversion-next is -next-20150514) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 07a06ae99ef9b8eda3ec0b69c8f477856042a511 Author: Lin Huang <hl@xxxxxxxxxxxxxx> Date: Tue Aug 11 18:12:04 2015 +0800 pinctrl: rockchip: only enable gpio clock when it setting gpio can keep state even the clock disable, for save power consumption, only enable gpio clock when it setting Signed-off-by: Lin Huang <hl@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Tested-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d07cb049af1a3343cf2043618aaa29f8c84f4649 Author: Cheolhyun Park <pch851130@xxxxxxxxx> Date: Sun Apr 12 16:59:48 2015 +0000 rtlwifi: misspelled code and comments corrected. Signed-off-by: Cheolhyun Park <pch851130@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 43a0da25c0949f6dba0a8d6296907263f1b97ddd Merge: 0122a51 c020e37 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Aug 13 13:22:26 2015 +0100 Merge remote-tracking branch 'spi/fix/bcm2835' into spi-fix-bcm2835 commit c70336cc4ca1162808ee71dfe84696cb1cc91eac Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Aug 3 00:10:45 2015 +0100 pinctrl/mediatek: fix spelling mistake in dev_err error message Trivial change, fix spelling mistake 'invaild' -> 'invalid' in dev_err message. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ffebfc364dcaa5dea1a589d42207834b028df789 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Apr 14 15:37:14 2015 +0200 drm/exynos: Remove PTN3460 dependency Now that the PTN3460 driver has been rewritten as a proper I2C driver and there is infrastructure to hook up the bridge with a DRM device, it is no longer necessary to have this dependency to ensure the correct build mode. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ac22a1d3386e195c57e299da3bfad97a061b9616 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Aug 13 09:19:43 2015 +0900 extcon: palmas: Fix build break due to devm_gpiod_get_optional API change With commit b17d1bf16cc7 ("gpio: make flags mandatory for gpiod_get functions") it becomes necessary to pass the flags argument. And this patch adds the gpio header file to fix the build breakage when build testing with random configuration files. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 459cc2c6800b545a482e428a631d99bca8da7790 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jul 30 10:34:24 2015 +0200 drm/tegra: sor: Add HDMI support The SOR1 introduced on Tegra210 supports HDMI 2.0 and DisplayPort. Add HDMI support and name the debugfs node after the type of SOR. The SOR introduced with Tegra124 is known simply as "sor", whereas the additional SOR found on Tegra210 is known as "sor1". Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3309ac836229d8bc3db7618e04a51334bef13b0a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jul 30 10:32:46 2015 +0200 drm/tegra: sor: Add Tegra210 eDP support The SOR found on Tegra210 is very similar to the version found on Tegra124, except that it no longer supports LVDS. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 003fc848774fcc7b7f14a2b4f3e6411764f43fc0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Aug 3 13:16:26 2015 +0200 drm/tegra: dc: Implement atomic DPMS Move all code into the new canonical ->disable() and ->enable() helper callbacks so that they play extra nice with atomic DPMS. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 850bab448034f0a601727fe266afd0ef64fef6dc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 29 17:58:41 2015 +0200 drm/tegra: sor: Restore DPMS In order to restore DPMS with atomic mode-setting, move all code from the ->mode_set() callback into ->enable(). At the same time, rename the ->prepare() callback to ->disable() to use the names preferred by atomic mode-setting. This simplifies the calling sequence and will allow DPMS to use runtime PM in subsequent patches. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 171e2e6dd912dac625e085919f0822cd94c04ff0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 29 16:04:44 2015 +0200 drm/tegra: dsi: Restore DPMS In order to restore DPMS with atomic mode-setting, move all code from the ->mode_set() callback into ->enable(). At the same time, rename the ->prepare() callback to ->disable() to use the names preferred by atomic mode-setting. This simplifies the calling sequence and will allow DPMS to use runtime PM in subsequent patches. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 29871b21c48c7b13adbd056755d923394ff6110b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 29 09:46:40 2015 +0200 drm/tegra: hdmi: Restore DPMS In order to restore DPMS with atomic mode-setting, move all code from the ->mode_set() callback into ->enable(). At the same time, rename the ->prepare() callback to ->disable() to use the names preferred by atomic mode-setting. This simplifies the calling sequence and will allow DPMS code to use runtime PM in subsequent patches. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 32c3dee11e8e8ff790a8724c1bfe87a51976d7f8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 29 10:08:17 2015 +0200 drm/tegra: rgb: Restore DPMS In order to restore DPMS with atomic mode-setting, move all code from the ->mode_set() callback into ->enable(). At the same time, rename the ->prepare() callback to ->disable() to use the names preferred by atomic mode-setting. This simplifies the calling sequence and will allow DPMS code to use runtime PM in subsequent patches. While at it, remove the enabled field that hasn't been used since the demidlayering of the output drivers done in preparation for the atomic mode-setting conversion. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 530239a8b82c0d051ccda341cb346d3f11a80e70 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Aug 6 11:04:54 2015 +0200 drm/tegra: sor: Use DRM debugfs infrastructure for CRC Instead of duplicating most of the code to set up a debugfs file, use the existing DRM core debugfs infrastructure instead. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 51511d05defe92715c19c3e583c9d1ac1c82e1e6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jul 30 18:47:07 2015 +0200 drm/tegra: sor: Write correct head state registers The head state registers are per head, so they must be properly indexed. This has worked fine so far because all boards with eDP use it as the primary output, so it is very likely to end up attached to head 0. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8044449556338fb27b1a03f6b1dbbdbc59e4ebfa Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 29 18:20:01 2015 +0200 drm/tegra: sor: Constify display mode The data structure is always only read, never written, and can hence be referred to by a const pointer. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 066d30f8c7547f9ca744cd090092d66847e85de4 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jul 3 14:16:30 2015 +0200 drm/tegra: sor: Reset the correct debugfs fields When tearing down debugfs support, make sure to reset the fields to NULL in the correct order, otherwise the debugfs root will not be properly removed. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3ff1f22c882493dcceb25cbca5b516d8e4271151 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jul 3 14:14:29 2015 +0200 drm/tegra: sor: Set minor after debugfs initialization The DRM minor is needed to teardown debugfs, so it needs to be tracked to prevent a crash on driver removal. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4dbdc740c4beec653920e81470a6e6d69c6ab064 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 15:04:26 2015 +0200 drm/tegra: sor: Provide error messages in probe When probing the SOR device fails, output proper error messages to help diagnose the cause of the failure. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a9a9e4fd7c923707a11b1b386cc31156d474039c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 15:01:14 2015 +0200 drm/tegra: sor: Rename registers for consistency The TRM lists indexed registers without an underscore to separate name from index. Use that convention in the driver for consistency. While at it, rename some of the field names to the names used in the TRM. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9e532b3ad9a7fc5f00d29c766439ffbdcc403146 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jul 3 14:56:46 2015 +0200 drm/tegra: dpaux: Disable interrupt when detached When the DPAUX isn't attached to an SOR the interrupts are not useful. This also prevents a race that could potentially cause a crash on driver removal. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3227166c3bd64dc3a44b7a1bf79efff34ec27aa3 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 15:16:26 2015 +0200 drm/tegra: dpaux: Configure pads as I2C by default The DPAUX code paths already configure the pads in AUX mode, but there is no way to reconfigure them in I2C mode for HDMI (the DPAUX module is unused in that case). Enabling the pads in I2C mode by default is the quickest way to support HDMI. Eventually this may need an explicit call in the user drivers. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 08f580ef2fcef724db1107545bc14306b7c9eae2 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 14:50:30 2015 +0200 drm/tegra: dpaux: Provide error message in probe When probing the dpaux device fails, output proper error messages to help diagnose the cause of the failure. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ddfb406b2f9f83e85734e43d043cdd1b2519df13 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 16:56:22 2015 +0200 drm/tegra: dsi: Add Tegra210 support The DSI host controller hasn't changed from Tegra132 to Tegra210, but different characterization parameters may be required. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c06c793084ecf62e77361e671465214a196a2f55 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Apr 10 11:35:21 2015 +0200 drm/tegra: dsi: Add Tegra132 support The DSI host controller hasn't changed from Tegra124 to Tegra132, but different characterization parameters may be required. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7d3385875b7a4722dad4045c65fa51829acd5dff Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Apr 10 11:35:21 2015 +0200 drm/tegra: dsi: Add Tegra124 support The DSI host controller hasn't changed from Tegra114 to Tegra124, but different characterization parameters may be required. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b8be0bdbd52d35aac30fb2d8c295f9a3000873f2 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 16:58:07 2015 +0200 drm/tegra: dsi: Use proper back-porch for non-sync video mode In video modes without sync pulses, the horizontal back-porch needs to include the horizontal sync width. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 472a6d1fd5f5d37a1c081e69f5c8ad5307ac358f Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 5 16:39:55 2015 +0200 drm/tegra: dc: Rename BASE_COLOR_SIZE* fields Use an underscore to separate the prefix from the color size suffix. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 76ac3284bb708545e762091ba5d6d0f0dbc008bc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 7 09:26:57 2015 +0200 drm/tegra: dc: Don't explicitly set owner module The call to platform_driver_register() will already set up the .owner field, so there's no need to do it explicitly. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8fd3ffa902a0d9f282ffa80599970ff1c823b1a8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 14:48:35 2015 +0200 drm/tegra: dc: Rename register for consistency The horizontal pulse enable bits are named H_PULSE{0,1,2}_ENABLE in the TRM. Modify the driver to use the same naming for consistency. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 791ddb1e1cea14aa278580b3832cd0f10252aafa Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Jul 28 21:27:05 2015 +0200 drm/tegra: dc: Record statistics Record interrupt statistics, such as the number of frames and VBLANKs received and the number of FIFO underflow and overflows. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 01a5da0c104d0ce38d2847da2295c510becddbe0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Aug 3 13:18:41 2015 +0200 drm/tegra: dc: Request syncpoint earlier Request a syncpoint for display prior to registering the host1x client. This will ensure that the syncpoint will be acquired when the KMS driver initializes. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e83dcb5bb610a46d10d2d74a67132a75c49804e6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Jul 28 21:28:55 2015 +0200 drm/tegra: dc: Remove gratuituous blank line Blank lines at the end of functions are hideous, so get rid of it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a1df3b24884d5d8946d6cdf44e6d403e3925b4c6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Jul 21 16:42:30 2015 +0200 drm/tegra: dc: Clarify comment about cursor treatment Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 6ca1f62f0d69120030469cc0b409bd521cbd67cc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 1 14:59:40 2015 +0200 drm/tegra: dc: Implement CRC debugfs interface Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5b4f516f5c6a2d3ac6edf750a40041842f928198 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Mar 27 10:31:58 2015 +0100 drm/tegra: dc: Add Tegra210 support Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 31930d4d0860fc87f93d9b76b0a4e6ac0b823dbf Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jul 2 17:04:06 2015 +0200 drm/tegra: dc: Reset VBLANK to off Upon driver load, reset the VBLANK machinery to off to reflect the hardware state. Since the ->reset() callback is called from the initial drm_mode_config_reset() call, move the latter after the VBLANK machinery initialization by drm_vblank_init(). Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit fb36d0eed4fe3359aca8e6000c1bd92cc5199718 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Apr 27 15:12:39 2015 +0200 drm/tegra: output: Support low-active hotplug detect Support low-active hotplug detect signals by storing the GPIO flags parsed from device tree. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 114bb13968162451f5e1d7fe793f9eb7e0083d9a Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Wed Aug 12 13:06:12 2015 -0700 ASoC: fsl-asoc-card: Specify codec_dai_name for DAI links The dev->name of CODEC might not be identical to its codec_dai_name, so using dev->name to probe the CODEC dai is not a correct approach. This patch specifies each supporting codec_dai_name instead of using dev->name any more. Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a13f1dc4c3b7ac7de9d9ac266c0ed0374cae3421 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 11 13:22:44 2015 +0200 drm/tegra: Use SIMPLE_DEV_PM_OPS Use this macro to reduce some of the boilerplate. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit cdc630b6c677b6d981b368baf44c8b4297adbb09 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Jul 21 16:45:49 2015 +0200 drm/tegra: Allow VBLANK to be disabled Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 15372d4be7f099662dc84e4e35e844bd4373d959 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Apr 10 11:29:41 2015 +0200 gpu: host1x: mipi: Power down regulators when unused Keep track of the number of users of DSI and CSI pads and power down the regulators that supply the bricks when all users are gone. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5e7752436e10427ba598de4f2f6b7889daf586cc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:23:20 2015 +0200 gpu: host1x: mipi: Add Tegra210 support Some changes are needed to the configuration settings for some lanes. In addition, the clock lanes for the CSI pads can no longer be calibrated. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7fd3ecad3f768fd2b39fc4db12044437fbf5d735 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:20:32 2015 +0200 gpu: host1x: mipi: Add Tegra132 support While Tegra132 has the same pads as Tegra124, some configuration values need to be programmed slightly differently. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c22fb79099dbec82b8280106c43f6e800ecc854c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:19:19 2015 +0200 gpu: host1x: mipi: Constify OF match table This table is never modified and can therefore reside in read-only memory. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 2ed264bf916b689fe0c71ac726995f0876062667 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:17:44 2015 +0200 gpu: host1x: mipi: Clear calibration status Before starting a new calibration cycle, make sure to clear the current status by writing a 1 to the various "calibration done" bits. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 8ed5c0623272663783e052123fea02651464a0a5 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:06:08 2015 +0200 gpu: host1x: mipi: Fix clock lane register for DSI Use more consistent names for the clock lane configuration registers and fix the offset of the upper clock lane configuration register for the first DSI pad. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 83a3c223cc5678c5ced554fa2819747fd53437c7 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 8 17:03:49 2015 +0200 gpu: host1x: mipi: Parameterize to support future SoCs Parameterize more of the register programming to accomodate for changes required by future SoC generations. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 6e588a0d839b51bae49852b68740a25cacc91978 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 11 21:38:01 2015 +0200 ASoC: dapm: Consolidate path trace events The snd_soc_dapm_input_path and snd_soc_dapm_output_path trace events are identical except for the direction. Instead of having two events have a single one that has a field that contains the direction. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a3423b02cf745c1418f1f199646c450d6fc9ca4e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 11 21:38:00 2015 +0200 ASoC: dapm: Consolidate input and output path handling After the recent cleanups and generalizations of the DAPM algorithm the handling of input and output paths is now fully symmetric. This means by making some slight changes to the data structure and using arrays with one entry for each direction, rather than separate fields, it is possible to create a generic implementation that is capable of handling both input and output paths. Unfortunately this generalization significantly increases the code size on the hot path of is_connected_{input,output}_ep() and dapm_widget_invalidate_{input,output}_paths(), which has a negative impact on the overall performance. The inner loops of those functions are quite small and the generic implementation adds extra pointer arithmetic in a few places. Testing on ARM shows that the combined code size of the specialized functions is about 50% larger than the generalized function in relative numbers. But in absolute numbers its less than 200 bytes, which is still quite small. On the other hand the generalized function increases the execution time of dapm_power_one_widget() by 30%. Given that this function is one of the most often called functions of the DAPM framework the trade-off of getting better performance at expense of generating slightly larger code at seems to be worth it. To avoid this still keep two versions of these functions around, one for input and one for output. But have a generic implementation of the algorithm which gets inlined by those two versions. And then let the compiler take care of optimizing it and removing he extra instructions. This still reduces the source code size as well as the makes making changes to the implementation more straight forward since the same change does no longer need to be done in two separate places. Also on the slow paths we can use a generic implementations that handle both input and output paths. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 30abbe7727b23c6661daeea5d36be36ed7a41665 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 11 21:37:59 2015 +0200 ASoC: dapm: dapm_dai_get_connected_widgets: Fix missing mutex unlock Make sure to unlock the DAPM mutex when dapm_widget_list_create() fails. This means the function will now generate a trace_snd_soc_dapm_connected event, even if the creation of the list fails. But that was the behavior before the patch that introduced the unlock issue, so that should be fine. Fixes: 1ce43acff0c0 ("ASoC: dapm: Simplify list creation in dapm_dai_get_connected_widgets()") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e04cafbc38c70af2aad3810ce24ab0eba8114779 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 5 12:15:24 2015 +0200 ath10k: fix peer limit enforcement Firmware peer entries are involved in internal firmware vdev structures. This was not accounted for and could lead firmware to crash due to asking it to do more than it could. Fixes: 039a0051ec1a ("ath10k: allocate fw resources for iface combinations") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit adaeed74bc085bc59991cd6e23ee7f720b6c6aab Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 5 12:15:23 2015 +0200 ath10k: don't remove peer that doesn't exist If peer creation failed during offchannel Tx the driver attempted to delete the peer nonetheless. This caused the ar->num_peers counter to be incorrectly decremented. This subsequently could cause the counter to drop below 0 and also eventually lead to firmware crash because host would think there are less peer entries created in firmware then there really were. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 16ea9b8ac45bf11d48af6013283e141e8ed86348 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Aug 12 18:04:04 2015 +0200 spi/spi-xilinx: Fix mixed poll/irq mode Once the module process a transfer in irq mode, the next poll transfer will not work because the transmitter is left in inhibited state. Fixes: 22417352f6b7f623 (Use polling mode on small transfers) Reported-by: Edward Kigwana <ekigwana@xxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 6f7429c29b9979d64d067543caec940bbc023340 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 5 12:08:38 2015 +0200 ath10k: fix hw reconfig on wow failure When WoWLAN resume fails with retval 1 mac80211 will attempt to reconfig the device in a similar manner when hw restart is requested. This wasn't handled properly and yielded call trace warnings and the device ended up not working. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 84e3df60f0daba5b1e7874101502d0b030afb867 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Wed Aug 5 06:55:37 2015 +0200 ath10k: initialize fw_features var If firmware did not have any feature flags set the var would be left with values found on the stack (i.e. garbage) yielding print string like this: (...) features \xffffffa6m:^R\xfffffffbÔ?\xffffffc4^E Fixes: b27bc5a40f91 ("ath10k: dump fw features during probing") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a48e2cc8992a13a58cff04e54e05f959d418554b Author: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Date: Tue Aug 4 10:45:12 2015 +0530 ath10k: Enable MU MIMO txbf support for QCA99X0 This patch enables MU-MIMO transmit beamforming support for QCA99X0 chipsets. Signed-off-by: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 08e75ea84cb595c52f140049fcf6362679473592 Author: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Date: Tue Aug 4 10:45:11 2015 +0530 ath10k: Support different txbf configuration schemes qca61x4 uses the vdev param as a sole sufficient configuration for txbf while qca99x0 enables txbf during peer assoc by combining the vdev param value with peer assoc's vht capabilities This patch gets the appropriate txbf configuration scheme before passing the wmi command to enable the same in the firmware. Signed-off-by: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 4585b000ace6438d0b142746baab658056b223d9 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Aug 3 12:46:38 2015 +0300 pinctrl: cherryview: Serialize all register access There is a hardware issue in Intel Braswell/Cherryview where concurrent GPIO register access might results reads of 0xffffffff and writes might get dropped. Prevent this from happening by taking the serializing lock for all places where it is possible that more than one thread might be accessing the hardware concurrently. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 39b87ad166114b842159e5384a948b168cfa61d8 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Aug 1 12:38:52 2015 +0900 pinctrl: UniPhier: PH1-Pro5: add I2C ch6 pin-mux setting The initial version of this driver missed to add I2C ch6 pin-muxing. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 92092fe528e79c9bd25784ca0ef341d5a1d1b642 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 3 11:16:43 2015 +0200 ath10k: reject 11b tx fragmentation configuration Even though there's a WMI enum for fragmentation threshold no known firmware actually implements it. Moreover it is not possible to rely frame fragmentation to mac80211 because firmware clears the "more fragments" bit in frame control making it impossible for remote devices to reassemble frames. Hence implement a dummy callback just to say fragmentation isn't supported. This effectively prevents mac80211 from doing frame fragmentation in software. This fixes Tx becoming broken after setting fragmentation threshold. Fixes: 1010ba4c5d1c ("ath10k: unregister and remove frag_threshold callback") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 4dca0e6edd14e0c8afa19c8ad90f711f1563b52e Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 3 11:16:42 2015 +0200 ath10k: remove futile fragmentation threshold config Commit 1010ba4c5d1c ("ath10k: unregister and remove frag_threshold callback") didn't remove all instances of (futile) fragmentation threshold configuration. No known firmware supports the parameter so don't even bother setting it. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3afa129a9de0957d72165cf08a54e5c69938011c Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Fri Jul 31 18:17:44 2015 -0700 gpio: brcmstb: support wakeup from S5 cold boot For wake from S5, we need to: - register a reboot handler - set wakeup capability before requesting IRQ so wakeup count is incremented - mask all GPIO IRQs and clear any pending interrupts during driver probe to since no driver will yet be registered to handle any IRQs carried over from boot at that time, and it's possible that the booted kernel does not request the same IRQ anyway. This means that /sys/.../power/wakeup_count is valid at boot time, and we can properly account for S5 wakeup stats. e.g.: ### After waking from S5 from a GPIO key # cat /sys/bus/platform/drivers/brcmstb-gpio/f04172c0.gpio/power/wakeup enabled # cat /sys/bus/platform/drivers/brcmstb-gpio/f04172c0.gpio/power/wakeup_count 1 Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 19a7b6940b781256ea8821e803d1e5f2933224b1 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Fri Jul 31 18:17:43 2015 -0700 gpio: brcmstb: Add interrupt and wakeup source support Uses the gpiolib irqchip helpers. For this to work, the irq setup function is called once per bank instead of once per device. Note that all known uses of this block have a BCM7120 L2 interrupt controller as a parent. Supports interrupts for all GPIOs. In the IRQ handler, we check for raised IRQs for invalid GPIOs and warn (ratelimited) if they're encountered. Also, several drivers (e.g. gpio-keys) allow for GPIOs to be configured as wakeup sources, and this GPIO controller supports that through a separate interrupt path. The de-facto standard DT property "wakeup-source" is checked, since that indicates whether the GPIO controller hardware can wake. Uses the IRQCHIP_MASK_ON_SUSPEND irq_chip flag because UPG GIO doesn't have any of its own wakeup source configuration. Aside regarding gpiolib irqchip helpers: It wasn't obvious (to me) that you can have multiple chained irqchips and associated IRQ domains for a single parent IRQ, and as long as the xlate function is written correctly, a GPIO IRQ request end up checking the correct domain and will get associated with the correct IRQ. What helps make this clear is to read drivers/gpio/gpiolib-of.c: - of_gpiochip_find_and_xlate() - of_get_named_gpiod_flags() drivers/gpio/gpiolib.c: - gpiochip_find() Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 77a775b7ccaf86b0bb67ceaaf3b6d2720e12b506 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Aug 10 11:51:46 2015 +0200 gpio/ABI: document what is already the case commit 926b663ce8215ba448960e1ff6e58b67a2c3b99b "gpiolib: allow GPIOs to be named" added the ability to name GPIO lines by an array of names stored in the GPIO chip. This was in 2009 and has been an ABI since. Let's document it properly. Cc: Daniel Silverstone <dsilvers@xxxxxxxxxxxxxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Cc: Johan Hovold <johan@xxxxxxxxxx> Cc: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f9511a4fc47940c7b08ae51567bd9bddb54b8461 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 14:11:17 2015 +1000 clk: ti: fix for definition movement Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e7895461593506e2e86404a255208876340d4bca Merge: 93621d7 fd26f88 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:26:29 2015 +0200 Merge tag 'rpi-dt-for-armsoc-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi into next/dt - New Firmware node and accompanying binding document * tag 'rpi-dt-for-armsoc-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi: dt/bindings: Add binding for the Raspberry Pi firmware driver ARM: bcm2835: Add the firmware driver information to the RPi DT Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 16478b61f0d88a08163b92af27f0e77f471576ce Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 11 17:17:18 2015 +0200 ARM/fb: ep93xx: switch framebuffer to use modedb only All the EP93xx boards exclusively use modedb to look up video modes from the command line. Root out the parametrization of custom video modes from the platform data and board files and simplify the driver. Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 93621d7037084676b1fe7c1a8d59a98754f846ec Merge: 6d511a2 6855e5b Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:19:38 2015 +0200 Merge tag 'socfpga_dts_for_v4.3_part_2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt SoCFPGA DTS updates for v4.3, take 2 - Add DTS property "altr,modrst-offset" for reset driver to use - Add updated reset defines for the reset driver - Add reset property for EMACs on Arria10 * tag 'socfpga_dts_for_v4.3_part_2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: dts: Add resets for EMACs on Arria10 ARM: socfpga: dts: add "altr,modrst-offset" property dt-bindings: Add reset manager offsets for Arria10 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6d511a26ce45fc05600f12f02200a65578d67a63 Merge: 85ef6b2 378abcd Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:14:29 2015 +0200 Merge tag 'v4.3-rockchip32-dts2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Some more devicetree changes, including usbphy support for the Cortex-A9 SoCs and actually enabling usb on the rk3066-marsboard, Two more veyron-devices - namely Speedy and Minnie and a fix for the tsadc. One slightly more interesting fix is the blocking of the last 16MB of memory on 4GB rk3288 devices. The rk3288 cannot use this area for dma operations, so things like the mmc or usb controllers regularly fail when trying to read data. This solution mimicks the solution from the ChromeOS kernel, who also do not seem to have found a better solution yet. Here it only moves to the devicetree. As this issue is also present on the arm64 rk3368, any future better solution to this problem would need to describe this in the devicetree as well and could then remove this block. * tag 'v4.3-rockchip32-dts2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: add veyron-minnie board ARM: dts: rockchip: reserve unusable memory region on rk3288 ARM: dts: rockchip: enable usb controller on marsboard ARM: dts: rockchip: add usb phys to Cortex-A9 socs ARM: dts: rockchip: set correct dwc2 params for cortex-a9 socs ARM: dts: rockchip: Add veyron-speedy board ARM: dts: rockchip: Use correct dts properties for tsadc node on veyron Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 8943835e248bca0df431c717f4edce94fa2b8c8e Merge: fb3c442 9bb91ae Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:13:54 2015 +0200 Merge tag 'v4.3-rockchip32-soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc Improve reliability of resume on rk3288 boards. For whatever reason resuming from suspend worked sucessfully on the rk3288-evb but not on other boards, like veyron-devices. Two problems seem to have existed. For one the stabilization delays for pmic and oscillator may have been to short and secondly the shallow suspend seems to need GPIO wakups enabled. Normally this should be covered by the more generic ARMINT wakeups already and the reason for this is still investigated at Rockchip, but meanwhile this makes boards actually resume. * tag 'v4.3-rockchip32-soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: rockchip: enable PMU_GPIOINT_WAKEUP_EN when entering shallow suspend ARM: rockchip: set correct stabilization thresholds in suspend ARM: rockchip: rename osc_switch_to_32k variable Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fb3c44267684b76329b20317f2a62dacc452a09d Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Aug 8 21:13:44 2015 +0900 ARM: uniphier: drop v7_invalidate_l1 call at secondary entry This is unnecessary since commit 02b4e2756e01 ("ARM: v7 setup function should invalidate L1 cache"). Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ab39aab323a38a3fb079651952b13ba1868f90fd Merge: bcfff4d b6e1f7f Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:10:09 2015 +0200 Merge tag 'v4.2-next-arm64-2' of https://github.com/mbgg/linux-mediatek into next/arm64 Add SMP support for mt6795 SoC. * tag 'v4.2-next-arm64-2' of https://github.com/mbgg/linux-mediatek: ARM64: dts: mt6795: enable basic SMP bringup for MT6795 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 80d352de659b57e69856b00d773d7abefe28bf32 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:30:07 2015 +0200 ARM: at91/defconfig: at91_dt: remove ARM_AT91_ETHER CONFIG_ARM_AT91_ETHER doesn't exist anymore, both drivers have been merged in the macb driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5bfb1e4113ed88f0da07a3628f5b9be7b5c29384 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Jul 31 19:26:36 2015 +0200 ARM: at91/defconfig: at91_dt: enable DRM hlcdc support This patch adds drm atmel lcdc, simple panel and backlight options. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3d3cacc0b8c624d042fe905bbc71f97a4d443cdc Merge: 0ff818e 44e259a Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 12:02:07 2015 +0200 Merge tag 'mvebu-soc-4.3-2' of git://git.infradead.org/linux-mvebu into next/drivers mvebu soc changes for v4.3 (part #2) SoC part of the Dove PMU series * tag 'mvebu-soc-4.3-2' of git://git.infradead.org/linux-mvebu: ARM: dove: create a proper PMU driver for power domains, PMU IRQs and resets Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 85ef6b26d1abc01101cd7a6c8094787990b95c1c Merge: eb2b508 15979ae Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 11:59:56 2015 +0200 Merge tag 'mvebu-dt-4.3-3' of git://git.infradead.org/linux-mvebu into next/dt mvebu dt changes for v4.3 (part #3) - device tree part of the Dove PMU series - converting a new orion5x based platform to dt: Linkstation Mini * tag 'mvebu-dt-4.3-3' of git://git.infradead.org/linux-mvebu: ARM: dts: Convert Linkstation Mini to Device Tree ARM: dt: dove: add GPU power domain description ARM: dt: dove: add video decoder power domain description ARM: dt: dove: wire up RTC interrupt ARM: dt: Add PMU node, making PMU child devices childs of this node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit eb2b5084366a93a5d40cd5746a2d178e02d7762c Merge: 1a08a84 761c586 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 13 11:58:22 2015 +0200 Merge tag 'at91-ab-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/dt Second batch of DT changes for 4.3: - Add the slow clock to the nodes that will use it - Add hlcd to the at91sam9x5 and at91sam9n12 - Add touchscreen and touch button support to the at91sam9x5ek * tag 'at91-ab-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (22 commits) ARM: at91/dt: sama5d2: use slow clock where necessary ARM: at91/dt: at91sam9x5dm: add QT1070 touch button controller ARM: at91/dt: at91sam9x5dm: add support for the touschscreen ARM: at91/dt: add drm support for at91sam9n12ek ARM: at91/dt: enable lcd support for at91sam9x5 SoCs ARM: at91/dt: add at91sam9x5-ek Display Module dtsi ARM: at91/dt: include lcd dtsi in at91sam9x5 dtsis ARM: at91/dt: define hlcdc node in at91sam9x5_lcd.dtsi ARM: at91/dt: sama5d4: use slow clock where necessary ARM: at91/dt: sama5d3: use slow clock where necessary ARM: at91/dt: at91sam9x5: use slow clock where necessary ARM: at91/dt: at91sam9rl: use slow clock where necessary ARM: at91/dt: at91sam9n12: use slow clock where necessary ARM: at91/dt: at91sam9g45: use slow clock where necessary ARM: at91/dt: at91sam9263: use slow clock where necessary ARM: at91/dt: at91sam9261: use slow clock where necessary ARM: at91/dt: at91sam9260: use slow clock where necessary ARM: at91/dt: at91rm9200: use slow clock where necessary Documentation: dt: rtc: at91rm9200: add clocks property Documentation: watchdog: at91sam9_wdt: add clocks property ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ae6c0aa6ae4d18d0ae74a58af5c521ec771e3730 Merge: b6bb424 152b283 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Aug 13 11:51:50 2015 +0200 Merge tag 'kvm-s390-next-20150812' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD KVM: s390: fix and feature for kvm/next (4.3) 1. error handling for irq routes 2. Gracefully handle STP time changes s390 supports a protocol for syncing different systems via the stp protocol that will steer the TOD clocks to keep all participating clocks below the round trip time between the system. In case of specific out of sync event Linux can opt-in to accept sync checks. This will result in non-monotonic jumps of the TOD clock, which Linux will correct via time offsets to keep the wall clock time monotonic. Now: KVM guests also base their time on the host TOD, so we need to fixup the offset for them as well. commit d330615b90d4997909806f8c22be6a3a2c3449b9 Author: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Date: Tue Aug 11 22:09:05 2015 +0200 ARM: gemini: Setup timer3 as free running timer In the original driver it is missed to setup a free running driver. This timer is needed for the scheduler. So setup it. Signed-off-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5dc90739888e741985036994e2e5700c6dc9d118 Author: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Date: Tue Aug 11 22:09:04 2015 +0200 ARM: gemini: Use timer1 for clockevent Use timer1 as clockevent timer. The old driver uses timer2, which has some issues to setup Signed-off-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 570ceed4e267a6d354653f4884bb8c2b4a975087 Author: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Date: Tue Aug 11 22:09:03 2015 +0200 ARM: gemini: Add missing register definitions for gemini timer Add missing register defintions for the gemini clocksource Also do some #define' cleanup to make the code more readable. Signed-off-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 75dbf00b443c1763138486e87f4978ff43506f9e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Jul 27 11:11:11 2015 +0300 mac80211: remove always true condition The outside if statement checks that IEEE80211_TX_INTFL_MLME_CONN_TX is set so this condition is always true. Checking twice upsets the static checkers. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4b58c37bb9d4282446f7a0194dbc44325787ac8c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jul 8 15:41:48 2015 +0300 mac80211: remove ieee80211_aes_cmac_calculate_k1_k2() The iwlwifi driver was the only driver that used this, but as it turns out it never needed it, so we can remove it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2001a130d4fa8386b9d7978578dc40aa1f0dad6c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 19 10:20:10 2015 +0200 iwlwifi: mvm: don't set K1/K2 for AES-CMAC According to firmware engineers, the firmware has never required these fields and the values have always been calculated, they were just leftovers from a previous implementation. Therefore remove the unnecessary calculation. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a54868b460b65bd93a5324a7fc35dfd556fe576c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 6 14:41:13 2015 +0530 ARM: ep93xx/timer: Migrate to new 'set-state' interface Migrate EP93xx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 36890997b0d219427e9d9d2aad5d46eb44fe808d Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:54 2015 +0200 rfkill: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8cbd4c2f6a996f6cf5dfdf8775d331606cff95bd Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Aug 12 14:56:54 2015 -0500 arm: boot: dts: am4372: add ARM timers and SCU nodes AM437x devices sport SCU, TWD and Global timers, let's add them to DTS so they have a chance to probe and be used by Linux. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6c36dfe949187dc2729abfad4b083758ac5c2e0e Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:45 2015 +0200 x86/ras: Move AMD MCE injector to arch/x86/ras/ This is an x86-specific module and would benefit from being closer to the arch code. Move it there. Update copyright while at it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-14-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a79da38494ec23f1a7d6ee734e07e9575fd18b58 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:44 2015 +0200 x86/mce: Add a wrapper around mce_log() for injection Will be used by an injector module in a following patch. Additionally, add a missing module export reported by 0-DAY kernel test. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-13-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a7783d02197f299f71b4fa2364a345c05f92b83 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:43 2015 +0200 x86/mce: Rename rcu_dereference_check_mce() to mce_log_get_idx_check() The "rcu_" prefix misleads for it being a proper RCU interface which is not. It basically checks whether we're preemptible or holding the chrdev_read mutex. Rename it accordingly. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-12-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9b45ef443acde55526485db37440cd3e8f03d544 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:42 2015 +0200 RAS: Add a menuconfig option with descriptive text Text taken a previous patch from "Gong Chen" <gong.chen@xxxxxxxxxxxxxxx>. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Gong Chen <gong.chen@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-11-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1b48465500611a2dc5e75800c61ac352e22d41c3 Author: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Date: Wed Aug 12 18:29:41 2015 +0200 x86/mce: Reenable CMCI banks when swiching back to interrupt mode Zhang Liguang reported the following issue: 1) System detects a CMCI storm on the current CPU. 2) Kernel disables the CMCI interrupt on banks owned by the current CPU and switches to poll mode 3) After the CMCI storm subsides, kernel switches back to interrupt mode 4) We expect the system to reenable the CMCI interrupt on banks owned by the current CPU mce_intel_adjust_timer |-> cmci_reenable |-> cmci_discover # owned banks are ignored here static void cmci_discover(int banks) ... for (i = 0; i < banks; i++) { ... if (test_bit(i, owned)) # ownd banks is ignore here continue; So convert cmci_storm_disable_banks() to cmci_toggle_interrupt_mode() which controls whether to enable or disable CMCI interrupts with its argument. NB: We cannot clear the owned bit because the banks won't be polled, otherwise. See: 27f6c573e0f7 ("x86, CMCI: Add proper detection of end of CMCI storms") for more info. Reported-by: Zhang Liguang <zhangliguang@xxxxxxxxxx> Signed-off-by: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: huawei.libin@xxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: rui.xiang@xxxxxxxxxx Link: http://lkml.kernel.org/r/1439396985-12812-10-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8838eb6c0bf3b6a6494a163947ab3d1700ab45d2 Author: Ashok Raj <ashok.raj@xxxxxxxxx> Date: Wed Aug 12 18:29:40 2015 +0200 x86/mce: Clear Local MCE opt-in before kexec kexec could boot a kernel that could be legacy with no knowledge of LMCE. Hence we should make sure we clear LMCE optin before kexec reboot. Signed-off-by: Ashok Raj <ashok.raj@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-9-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4d1d5cdc345d15e09518a2410f7fcd069465ffac Author: Ashok Raj <ashok.raj@xxxxxxxxx> Date: Wed Aug 12 18:29:39 2015 +0200 x86/mce: Remove unused function declarations Remove unused function declarations. Signed-off-by: Ashok Raj <ashok.raj@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-8-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eef4dfa0cb83899c782935ac5345532f47073cea Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:38 2015 +0200 x86/mce: Kill drain_mcelog_buffer() This used to flush out MCEs logged during early boot and which were in the MCA registers from a previous system run. No need for that now, since we've moved to a genpool. Suggested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-7-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f29a7aff4bd60ebc3da4982f80144a4158c4c74a Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 12 18:29:37 2015 +0200 x86/mce: Avoid potential deadlock due to printk() in MCE context Printing in MCE context is a no-no, currently, as printk() is not NMI-safe. If some of the notifiers on the MCE chain call do so, we may deadlock. In order to avoid that, delay printk() to process context where it is safe. Reported-by: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> [ Fold in subsequent patch from Boris for early boot logging. ] Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> [ Kick irq_work in mce_log() directly. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-6-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fd4cf79fcc4b5130ced8fd8c40378d3cec2e5fa8 Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 12 18:29:36 2015 +0200 x86/mce: Remove the MCE ring for Action Optional errors Use unified genpool to save Action Optional error events and put Action Optional error handling in the same notification chain as MCE error decoding. Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> [ Fold in subsequent patch from Boris for early boot logging. ] Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> [ Correct a lot. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-5-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 061120aed7081b9a4393fbe07b558192f40ad911 Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 12 18:29:35 2015 +0200 x86/mce: Don't use percpu workqueues An MCE is a rare event. Therefore, there's no need to have per-CPU instances of both normal and IRQ workqueues. Make them both global. Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> [ Fold in subsequent patch from Rui/Boris/Tony for early boot logging. ] Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> [ Massage commit message. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 648ed94038c030245a06e4be59744fd5cdc18c40 Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 12 18:29:34 2015 +0200 x86/mce: Provide a lockless memory pool to save error records printk() is not safe to use in MCE context. Add a lockless memory allocator pool to save error records in MCE context. Those records will be issued later, in a printk-safe context. The idea is inspired by the APEI/GHES driver. We're very conservative and allocate only two pages for it but since we're going to use those pages throughout the system's lifetime, we allocate them statically to avoid early boot time allocation woes. Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> [ Rewrite. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 20d51a426fe9a0d0a63cc3a7488f621c8bac37e1 Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 12 18:29:33 2015 +0200 x86/mce: Reuse one of the u16 padding fields in 'struct mce' ... to save the error severity of the MCE and whether the reported address of the error is usable. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439396985-12812-2-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ed293d1ad2b0c28b6abc3bd728b07754bc00f1cd Author: Rob Herring <robh@xxxxxxxxxx> Date: Sun Jul 12 09:26:45 2015 -0500 memory: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also set IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Cc: linux-omap@xxxxxxxxxxxxxxx Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a897b5f0393a8a05d230c9248dc5324fb30720a0 Merge: 5f1230c 71ef150 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Aug 13 09:23:53 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Allow selecting the type of callchains per event, including disabling callchains in all but one entry in an event list, to save space, and also to ask for the callchains collected in one event to be used in other events. (Kan Liang) - Beautify more syscall arguments in 'perf trace': (Arnaldo Carvalho de Melo) - A bunch more translate file/pathnames from pointers to strings. - Convert numbers to strings for the 'keyctl' syscall 'option' arg. - Add missing 'clockid' entries. - Fix 'perf probe -L sys_*' as it was not showing all the source code for syscall functions in the kernel. (Masami Hiramatsu) - Make ESC unzoom as well in the hists browser, i.e. in 'report' and 'top', as we're considering repurposing the right and left arrow keys to use in horizontal scrolling, i.e. leave just ESC to be used for what <- works now, and ENTER for what -> does (they are already aliases for ages). (Arnaldo Carvalho de Melo) Infrastructure fixes: - Check for SRCLINE_UNKNOWN case in "srcfile" processing (Andi Kleen) - Wrap the slsmg_{printf,write_nstring} slang functions behind ui_browser, so that we can make the ui_browser based browsers (annotate, menus, hists, etc) UI library agnostic and usable with multiple backends (slang now, GTK+ and others in the future, maybe) (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e558017b558d2a477b68961b0da792d4346a01b4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Aug 12 14:39:38 2015 -0300 crypto: caam - Remove unneeded 'ret' variable Variable 'ret' is only used for returning the value 0. We can make it simpler and just return 0 instead. The semantic patch that makes this change is available in scripts/coccinelle/misc/returnvar.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ac8ad30777467c5258c52aa4899a8a07a3e56b54 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Aug 12 11:48:42 2015 -0300 crypto: caam - Fix error handling in caam_rng_init() In the error paths we should free the resources that were previously acquired, so fix it accordingly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8669f34e122bad56e4d3ecde5f4720c40261bf4c Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Wed Aug 12 12:50:17 2015 +0800 crypto: qat - fix simple_return.cocci warnings drivers/crypto/qat/qat_common/adf_sriov.c:258:1-4: WARNING: end returns can be simpified and declaration on line 212 can be dropped Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 18be4ebe1f6ba8f5c329a997c2b60c8bba1cf800 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Tue Aug 11 11:05:37 2015 -0700 crypto: qat - Fix unmet direct dependencies for QAT_DH895xCCVF Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 14fee74ca8370e4bfa5c9386e63bfa521b37a505 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 11 13:32:57 2015 +0800 ARM: dts: sun6i: Add security system crypto engine clock and device nodes A31/A31s have the same "Security System" crypto engine as A10/A20, but with a separate reset control. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7ab64628bb4ab139aea9f1238ce6f945be580773 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 11 13:32:56 2015 +0800 crypto: sunxi-ss - Add optional reset control support On sun6i and later platforms, the reset control is split out of the clock gates. Add support for an optional reset control. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ca6bc691b1b7cf45862410952806f73c1aa62fe6 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 11 13:32:55 2015 +0800 crypto: sunxi-ss - Document optional reset control bindings Later Allwinner SoCs split out the reset controls for individual modules out of the clock gate controls. The "Security System" crypto engine is no different. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d420acd816c07c7be31bd19d09cbcb16e5572fa6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Aug 12 21:04:22 2015 +0200 jump_label/x86: Work around asm build bug on older/backported GCCs Boris reported that gcc version 4.4.4 20100503 (Red Hat 4.4.4-2) fails to build linux-next kernels that have this fresh commit via the locking tree: 11276d5306b8 ("locking/static_keys: Add a new static_key interface") The problem appears to be that even though @key and @branch are compile time constants, it doesn't see the following expression as an immediate value: &((char *)key)[branch] More recent GCCs don't appear to have this problem. In particular, Red Hat backported the 'asm goto' feature into 4.4, 'normal' 4.4 compilers will not have this feature and thus not run into this asm. The workaround is to supply both values to the asm as immediates and do the addition in asm. Suggested-by: H. Peter Anvin <hpa@xxxxxxxxx> Reported-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Tested-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9a5e8cc55286941503f36c5b7485a5aa923b3f1 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Aug 13 04:03:12 2015 +0100 sign-file: Fix warning about BIO_reset() return value Fix the following warning: scripts/sign-file.c: In function â??mainâ??: scripts/sign-file.c:188: warning: value computed is not used whereby the result of BIO_ctrl() is cast inside of BIO_reset() to an integer of a different size - which we're not checking but probably should. Reported-by: James Morris <jmorris@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 15ce414b82b07acb99afda6e4d9bd14f317b6011 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Sat Aug 8 10:20:25 2015 -0400 fixup: audit: implement audit by executable The Intel build-bot detected a sparse warning with with a patch I posted a couple of days ago that was accepted in the audit/next tree: Subject: [linux-next:master 6689/6751] kernel/audit_watch.c:543:36: sparse: dereference of noderef expression Date: Friday, August 07, 2015, 06:57:55 PM From: kbuild test robot <fengguang.wu@xxxxxxxxx> tree: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: e6455bc5b91f41f842f30465c9193320f0568707 commit: 2e3a8aeb63e5335d4f837d453787c71bcb479796 [6689/6751] Merge remote- tracking branch 'audit/next' sparse warnings: (new ones prefixed by >>) >> kernel/audit_watch.c:543:36: sparse: dereference of noderef expression kernel/audit_watch.c:544:28: sparse: dereference of noderef expression 34d99af5 Richard Guy Briggs 2015-08-05 541 int audit_exe_compare(struct task_struct *tsk, struct audit_fsnotify_mark *mark) 34d99af5 Richard Guy Briggs 2015-08-05 542 { 34d99af5 Richard Guy Briggs 2015-08-05 @543 unsigned long ino = tsk->mm- >exe_file->f_inode->i_ino; 34d99af5 Richard Guy Briggs 2015-08-05 544 dev_t dev = tsk->mm->exe_file- >f_inode->i_sb->s_dev; :::::: The code at line 543 was first introduced by commit :::::: 34d99af52ad40bd498ba66970579a5bc1fb1a3bc audit: implement audit by executable tsk->mm->exe_file requires RCU access. The warning was reproduceable by adding "C=1 CF=-D__CHECK_ENDIAN__" to the build command, and verified eliminated with this patch. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 772111ab01eace6a7e4cf821a4348cec64a97c92 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Aug 13 02:51:33 2015 +0100 PKCS#7: Add MODULE_LICENSE() to test module Add a MODULE_LICENSE() line to the PKCS#7 test key module to fix this warning: WARNING: modpost: missing MODULE_LICENSE() in crypto/asymmetric_keys/pkcs7_test_key.o Whilst we're at it, also add a module description. Reported-by: James Morris <jmorris@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 3d04c92403d377918c9a3bddab6ee103f0db25dd Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Wed Aug 12 11:56:02 2015 -0700 Smack - Fix build error with bringup unconfigured The changes for mounting binary filesystems was allied improperly, with the list of tokens being in an ifdef that it shouldn't have been. Fix that, and a couple style issues that were bothering me. Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit e8fed985d7bd6cda695e196028b54a5f3d2d91bb Author: Rick Jones <rick.jones2@xxxxxx> Date: Wed Aug 12 10:23:14 2015 -0700 documentation: bring vxlan documentation more up-to-date A few things have changed since the previous version of the vxlan documentation was written, so update it and correct some grammar and such while we are at it. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0c6ce24911fcb64715de9569f0f7b4f54d1d045 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Aug 12 12:10:23 2015 -0300 net: fec: Remove unneeded use of IS_ERR_VALUE() macro There is no need to use the IS_ERR_VALUE() macro for checking the return value from pm_runtime_* functions. Just do a simple negative test instead. The semantic patch that makes this change is available in scripts/coccinelle/api/pm_runtime.cocci. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 140d8b335a9beb234fd0ed9a15aa6a47f47fd771 Author: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> Date: Wed Aug 12 07:57:12 2015 -0700 bpf: fix bpf_perf_event_read() loop upper bound Verifier rejects programs incorrectly. Fixes: 35578d798400 ("bpf: Implement function bpf_perf_event_read()") Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dcef70704d6c2792c6025ceba9708554d441a4bb Merge: 7655078 a4011fd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 12 16:42:12 2015 -0700 Merge branch 'cxgb4-more-debug-info' Hariprasad Shenai says: ==================== Add some more debug info This patch series adds the following. Add more info for sge_qinfo dump Differentiate tid and stids between different regions, and add a debugfs entry to dump all the tid info This patch series has been created against net-next tree and includes patches on cxgb4 driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4011fd470d334253a425942b29e65844642d0ff Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Aug 12 16:55:07 2015 +0530 cxgb4: Add debugfs support to dump tid info Add debugfs support to dump tid info like stid, sftid, tids, atid and hwtids Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2248b29349fa8c59e8bf7e13197f7d5303c0a86a Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Aug 12 16:55:06 2015 +0530 cxgb4: Differentiate between stids between server and filter region For T4 adapter, offloaded servers tid for IPv4 connections are allocated from filter region. So add a new field for server filter tid if server tid is allocated from filter region. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a1bb9f64e31febbcf289809343bc7bbbac15519 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Aug 12 16:55:05 2015 +0530 cxgb4: Differentiates between TIDs being used in TCAM and HASH For the tid info, differentiate from which region the TID is allocated from. It can be from TCAM region or HASH region. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e106a4d9ede30cc83b95bbd8ccf75a4aad8b0557 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Aug 12 16:55:04 2015 +0530 cxgb4: Add some more details to sge qinfo Adding more details to sge qinfo for debugging purpose. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76550786c6780d95db1b2de56a115a84347b242d Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Wed Aug 12 15:31:43 2015 +0530 net: ipv4: increase dhcp inter device timeout When a system has multiple ethernet devices and during DHCP request (for using NFS), the system waits only for HZ/2 which is 500mS before switching to another interface for DHCP. There are some routers (Ex: Trendnet routers) which responds to DHCP request at about 560mS. When the system has only one ethernet interface there is no issue as the timeout is 2S and the dev xid doesn't changes and only retries. But when the system has multiple Ethernet like DRA74x with CPSW in dual EMAC mode, the DHCP response is dropped as the dev xid changes while shifting to the next device. So changing inter device timeout to HZ (which is 1S). Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ed3ccbd5ac11414d61c16182718e68868becc16 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Wed Aug 12 09:37:53 2015 +0000 bpf: fix build warnings and add function read_trace_pipe() There are two improvements in this patch: 1. Fix the build warnings; 2. Add function read_trace_pipe() to print the result on the screen; Before this patch, we can get the result through /sys/kernel/de bug/tracing/trace_pipe and get nothing on the screen. By applying this patch, the result can be printed on the screen. $ ./tracex6 ... tracex6-705 [003] d..1 131.428593: : CPU-3 19981414 sshd-683 [000] d..1 131.428727: : CPU-0 221682321 sshd-683 [000] d..1 131.428821: : CPU-0 221808766 sshd-683 [000] d..1 131.428950: : CPU-0 221982984 sshd-683 [000] d..1 131.429045: : CPU-0 222111851 tracex6-705 [003] d..1 131.429168: : CPU-3 20757551 sshd-683 [000] d..1 131.429170: : CPU-0 222281240 sshd-683 [000] d..1 131.429261: : CPU-0 222403340 sshd-683 [000] d..1 131.429378: : CPU-0 222561024 ... Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47b344b27a003fcdaccbdc07b3d558a7ccdfec04 Author: Ron Angeles <ronangeles@xxxxxxxxx> Date: Tue Aug 11 23:01:20 2015 -0700 net: atl1c: add BQL support This BQL implementation is mostly derived from its related driver, alx. Tested on AR8131 (rev c0) [1969:1063]. Saturated a 100mbps link with 5 concurrent runs of netperf. Ping latency dropped from 14ms to 3ms. Signed-off-by: Ron Angeles <ronangeles@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d6a9f5676f0e734967ac3739f5c6a28a0b047d9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Jul 1 11:31:27 2015 +0200 storvsc: use shost_for_each_device() instead of open coding Comment in struct Scsi_Host says that drivers are not supposed to access __devices directly. storvsc_host_scan() doesn't happen in irq context so we can just use shost_for_each_device(). Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Acked-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit cb1cf0804fe582f8a626c3cc591cb3127536137c Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Thu Jun 25 18:12:11 2015 +0200 storvsc: be more picky about scmnd->sc_data_direction Under the 'default' case in scmnd->sc_data_direction we have 3 options: - DMA_NONE which we handle correctly. - DMA_BIDIRECTIONAL which is never supposed to be set by SCSI stack. - Garbage value. Do WARN() and return -EINVAL in the last two cases. virtio_scsi does BUG_ON() here but it looks like an overkill. Reported-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Acked-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 10978e48ccc1718dce5c2d275b761ab99c593a81 Author: Seymour, Shane M <shane.seymour@xxxxxx> Date: Wed Jun 24 06:54:35 2015 +0000 st: convert DRIVER_ATTR macros to DRIVER_ATTR_RO Convert DRIVER_ATTR macros to DRIVER_ATTR_RO requested by Greg KH. Also switched to using scnprintf instead of snprintf per Documentation/filesystems/sysfs.txt. Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shane Seymour <shane.seymour@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Kai Mäkisara <kai.makisara@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b5960e6e2b5c52520cec5888c3feb71b71ba1980 Author: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Date: Tue Aug 11 17:14:32 2015 -0700 hv_netvsc: Implement set_channels ethtool op This enables the use of ethtool --set-channels devname combined N to change the number of vRSS queues. Separate rx, tx, and other parameters are not supported. The maximum is rsscap.num_recv_que. It passes the given value to rndis_filter_device_add through the device_info->num_chn field. If the procedure fails, it attempts to recover to the prior state. If the recovery fails, it logs an error and aborts. Current num_chn is saved and restored when changing the MTU. Signed-off-by: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ebdcc52b9b8a53e3ba2643f515d41fff44d4743 Author: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Date: Tue Aug 11 17:14:31 2015 -0700 hv_netvsc: Set vRSS with num_chn in RNDIS filter Uses device_info->num_chn to pass user provided number of vRSS queues (from ethtool --set-channels) to rndis_filter_device_add. If nonzero and less than the maximum, set net_device->num_chn to the given value; else default to prior algorithm. Always initialize struct device_info to 0, otherwise not all its fields are guaranteed to be 0, which is necessary when checking if num_chn has been purposefully set. Signed-off-by: Andrew Schwartzmeyer <andschwa@xxxxxxxxxxxxx> Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d57f6232c157f03db7cb1ae62a3dcc548014a530 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Tue Aug 11 15:23:33 2015 +0000 lan78xx: Remove BUG_ON() Removing BUG_ON() Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81c38e811af6107b9941c6716e82c6fd93308541 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Tue Aug 11 15:21:41 2015 +0000 lan78xx: Fix Smatch Warnings lan78xx.c:2282 tx_complete() warn: variable dereferenced before check 'skb' (see line 2249) lan78xx.c:2885 lan78xx_bh() info: ignoring unreachable code. lan78xx.c:3159 lan78xx_probe() info: ignoring unreachable code. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3ffe0ca4a75ec1b5183e6141bed4dfcde4309fb Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Mon Aug 10 12:26:32 2015 +0200 net: eth: altera: Remove sgdmadesclen member from altera_tse_private altera_tse_private->sgdmadesclen is always assigned assigned the same value and never changes during runtime. Remove the struct member and use a new define for sizeof(struct sgdma_descrip) instead. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b75de8615050c1b0dd8d7794838c42f74ed36ba Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Aug 12 15:00:12 2015 -0500 fs: Set the size of empty dirs to 0. Before the make_empty_dir_inode calls were introduce into proc, sysfs, and sysctl those directories when stated reported an i_size of 0. make_empty_dir_inode started reporting an i_size of 2. At least one userspace application depended on stat returning i_size of 0. So modify make_empty_dir_inode to cause an i_size of 0 to be reported for these directories. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 76c44f6d80e151d230844db7ffc058ac21b9e3f2 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Sun Jun 21 16:31:33 2015 -0400 dm snapshot: don't invalidate on-disk image on snapshot write overflow When the snapshot overflows because of a write to the origin, the on-disk image has to be invalidated. However, when the snapshot overflows because of a write to the snapshot, the on-disk image doesn't have to be invalidated. Change the behavior so that the on-disk image is not invalidated in this case. When the snapshot overflows, the variable snapshot_overflowed is set. All writes to the snapshot are disallowed to minimize filesystem corruption - this condition is cleared when the snapshot is deactivated and activated. The user can extend the overflowed snapshot, deactivate and activate it again, run fsck (if journaling filesystem is not used) mount it and recover the data. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit a93429c300483fa2509ae949a7915a01bd0acd20 Author: linux <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 11:25:55 2015 +0800 hptiop: Support HighPoint RR36xx HBAs and Support SAS tape and SAS media changer Support HighPoint RR36xx HBAs which are based on Marvell Frey. Support SAS tape and SAS media changer. [jejb: remove now unused label] Signed-off-by: HighPoint Linux Team <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit faf00da544045fdc1454f3b9e6d7f65c841de302 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Aug 10 18:25:44 2015 -0500 userns,pidns: Force thread group sharing, not signal handler sharing. The code that places signals in signal queues computes the uids, gids, and pids at the time the signals are enqueued. Which means that tasks that share signal queues must be in the same pid and user namespaces. Sharing signal handlers is fine, but bizarre. So make the code in fork and userns_install clearer by only testing for what is functionally necessary. Also update the comment in unshare about unsharing a user namespace to be a little more explicit and make a little more sense. Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 12c641ab8270f787dfcce08b5f20ce8b65008096 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Aug 10 17:35:07 2015 -0500 unshare: Unsharing a thread does not require unsharing a vm In the logic in the initial commit of unshare made creating a new thread group for a process, contingent upon creating a new memory address space for that process. That is wrong. Two separate processes in different thread groups can share a memory address space and clone allows creation of such proceses. This is significant because it was observed that mm_users > 1 does not mean that a process is multi-threaded, as reading /proc/PID/maps temporarily increments mm_users, which allows other processes to (accidentally) interfere with unshare() calls. Correct the check in check_unshare_flags() to test for !thread_group_empty() for CLONE_THREAD, CLONE_SIGHAND, and CLONE_VM. For sighand->count > 1 for CLONE_SIGHAND and CLONE_VM. For !current_is_single_threaded instead of mm_users > 1 for CLONE_VM. By using the correct checks in unshare this removes the possibility of an accidental denial of service attack. Additionally using the correct checks in unshare ensures that only an explicit unshare(CLONE_VM) can possibly trigger the slow path of current_is_single_threaded(). As an explict unshare(CLONE_VM) is pointless it is not expected there are many applications that make that call. Cc: stable@xxxxxxxxxxxxxxx Fixes: b2e0d98705e60e45bbb3c0032c48824ad7ae0704 userns: Implement unshare of the user namespace Reported-by: Ricky Zhou <rickyz@xxxxxxxxxxxx> Reported-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 1c46ae0af6df0bbde66c5e868563be57f18a27b4 Merge: a73e99c 41d903c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 12:43:41 2015 -0700 Merge tag 'iio-for-4.3b-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: Second set of new device support, features and cleanup for the 4.3 cycle. Take 2 also includes a fix set that was too late for the 4.2 cycle. As we had a lot of tools and docs work in this set, I have broken those out into their own categories in this description. Fixes from the pull request '4th set of IIO fixes for the 4.2 cycle'. * Poll functions for both event chardev and the buffer one were returning negative error codes (via a positive value). * A recent change to lsiio adding some error handling that was wrong and stopped the tool working. * bmg160 was missing some dependencies in Kconfig * berlin2-adc had a misshandled register (wrote a value rather than a bitmap) New device support * TI opt3001 light sensor * TXC PA12 ALS and proximity sensor. * mcp3301 ADC support (in mcp320x driver) * ST lsm303agr accelerometer and magnetometer drivers (plus some st-sensors common support to allow different WHOAMI register addresses, devices with fixed scale and allow interrupt equiped magnetometers). * ADIS16305, ADIS16367, ADIS16445IMUs (in the adis16400 driver) * ADIS16266 gyro (in the adis16260 driver) * ADIS16137 gyro (in the adis16136 driver) New functionality * mmc35240 DT bindings. * Inverse unit conversion macros to aid handing of values written to sysfs attributes. Core cleanup * Forward declaration of struct iio_trigger to avoid a compile warning. Driver cleanup / fixes * mxs-lradc - Clarify which parts are supported. - Fix spelling erorrs. - Missing/extra includes - reorder includes - add datasheet name listings for all usable channels (to allow them to be bound by name from consumer drivers) * acpi-als - add some function prefixes as per general iio style. * bmc150_magn - replace a magic value with the existing define. * vf610 - determine possible sample frequencies taking into account the electrical characteristics (defining a minimum sample time) * dht11 - whitespace - additional docs - avoid mulitple assignments in one line - Use the new funciton ktime_get_resolution_ns to cleanup a nasty trick previously used for timing. * Fix all drivers that consider 0 a valid IRQ for historical reasons. * Export I2C module alias info where previously missing (to allow autoprobing) * Export OF module alias info where previously missing. * mmc35240 - switch some variables into arrays to improve readability. * mlx90614 - define some magic numbers for readability. * bmc150_magn - expand area locked by a mutex to cover all the use of the data->buffer. - use descriptive naming for a mask instead of a magic value. * berin2-adc - pass up an error code rather that a generic error - constify the iio_chan_spec - some other little tidy ups. * stk8312 - fix a dependency on triggered buffers in kconfig - add a check for invalid attribute values - improve error handling by returning error codes where possible and return immediately where relevant - rework macro defs to use GENMASK etc - change some variable types to reduce unnecessary casting - clean up code style - drop a local buffer copy for bulk reads and use the one in data->buffer instead. * adis16400 - the adis16448 gyroscope scale was wrong. * adis16480 - some more wrong scales for various parts. * adis16300 - has an undocumented product id and serial number registers so use them. * iio_simple_dummy - fix some wrong code indentation. * bmc150-accel - use the chip ID to detect the chip present rather than verifying the expected part was there. This was in response to a wrong ACPI entry on the WinBook TW100. * mma8452 - fix _get_hp_filter_index - drop a double include - pass up an error code rather than rewriting it - range check input values to attribute writes - register defs tidy up using GENMASK and reordering them to be easier to follow. - various coding style cleanups - put the Kconfig entry in the write place (alphabetically). Tools related * Tools cleanup - drop an explicity NULL comparison, some unnecessary braces, use the ARRAY_SIZE macro, send error messages to stderr instead of dropping them in the middle of normal output. * Fix tools to allow that scale and offset attributes are optional. * More tools fixes including allowing true 32bit data (previously an overflow prevented more than 31bits) * Drop a stray header guard that ended up in a c file. * Make calc_digits static as it isn't exported or in the header. * Set ci_array pointer to NULL after free as a protection against non safe usage of the tools core code. Also convert a double pointer to a single one as the extra level of indirection was unnecessary. Docs * DocBook introduction by Daniel Baluta. Glad we are beginning to draw together some more introductory docs to suplement the various tools / examples. * Drop bytes_per_datum sysfs attribute docs as it no longer exists. * A whole load of missing / fixing of kernel-doc for the core of IIO. * Document the trigger name sysfs attribute in the ABI docs. * Minor typos in the ABI docs related to power down modes. commit 15398566f0ea95c66d202b8705dba4f59b9ba01c Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Aug 7 09:06:37 2015 -0700 hwmon: (ltc2978) Add support for LTC3887 LTC3887 is an enhanced version of LTC3880 and supports the same commands. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e8047a2686d32854e4b82bd5d328da61025fb01a Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Aug 7 01:04:56 2015 -0700 hwmon: (ltc2978) Add additional chip IDs for LTM4676 and LTM4676A Per datasheet, the chip ID for LTM4676 is 0x448x. This was observed in real systems. In addition to that, chip ID 0x4401 was observed as well. Research shows that the chip ID has been changed from 0x440x to 0x448x in datasheet revision C. Add support for the additional chip ID. Also add the chip ID for LTM4676A, which is functionally identical to LTM4676. Reported-by: Ananda Babu Nettam <anandab@xxxxxxxxxxx> Cc: Ananda Babu Nettam <anandab@xxxxxxxxxxx> Cc: Amit U Jain <amjain@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit bf89386f166b18c21b2b7a2c5b6e496726c4f25f Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jun 8 10:29:45 2015 -0700 hwmon: (ltc2978) Add support for LTC3882 LTC3882 is mostly compatible with LTC3880. Major differences are that it does not measure the input current, and it no longer supports LTC's legacy mechanism to identify the chip. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 836954dadcb351d65cf96584f22c9e437169bd49 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jun 8 10:14:00 2015 -0700 hwmon: (ltc2978) Move code to read chip ID into separate function Verifying the chip type is getting more complicated with new chips, since not all chips support the same mechanism to read the chip type. Move the code into a separate function to simplify adding support for those chips. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 58830550f009c5f60f702c9d3021f8c3be0012b0 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 17:18:10 2015 -0400 NFSv4.1/pnfs: Remove redundant wakeup in pnfs_send_layoutreturn() pnfs_clear_layoutreturn_waitbit() should already be calling rpc_wake_up(&NFS_SERVER(ino)->roc_rpcwaitq) for us. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e1c06f80dcca54cd323d1b98eb385a2c05c6e06b Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 16:40:08 2015 -0400 NFSv4.1/pnfs: Remove redundant check in pnfs_layoutgets_blocked() layoutget now should already be serialised w.r.t. layout returns Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2d8ae84fbc32a14bba176cf9c20d5eb2a3d42791 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 16:15:48 2015 -0400 NFSv4.1/pnfs: Remove redundant lo->plh_block_lgets in layoutreturn The NFS_LAYOUT_RETURN bit already suffices to ensure that layoutget is blocked. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5c4a79fb2b1cd80cb58986f6acf402721901c545 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 15:57:13 2015 -0400 NFSv4.1/pnfs: Don't prevent layoutgets when doing return-on-close If there is an outstanding return-on-close, then we just want new layoutget requests to wait rather than fail. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8f70f53a87007bdbb34c79d11178a153914f5db1 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 16:09:44 2015 -0400 NFSv4.1/pnfs: Fix serialisation of layout return and layoutget We should always test for outstanding layout returns, whether or not pnfs_should_retry_layoutget() is true. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a4497a58e4043a925b7b308bd2c32f0744eca440 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Aug 4 15:41:50 2015 -0400 NFSv4.1/pnfs: Remove redundant checks in pnfs_layoutgets_blocked() If there are no valid layout segments, then we should already have checked in pnfs_update_layout() whether or not this is the first layoutget. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 27571297a7e9a2a845c232813a7ba7e1227f5ec6 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Aug 3 17:38:33 2015 -0400 pNFS: Tighten up locking around DS commit buckets I'm not aware of any bugreports around this issue, but the locking around the pnfs_commit_bucket is inconsistent at best. This patch tightens it up by ensuring that the 'bucket->committing' list is always changed atomically w.r.t. the 'bucket->clseg' layout segment tracking. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 442d75628a3040bbfeb4a1f743b70a8afec0adbc Author: Seymour, Shane M <shane.seymour@xxxxxx> Date: Tue Jun 23 08:11:00 2015 +0000 st: convert to using driver attr groups for sysfs This patch changes the st driver to use attribute groups so driver sysfs files are created automatically. See the following for reference: http://kroah.com/log/blog/2013/06/26/how-to-create-a-sysfs-file-correctly/ Signed-off-by: Shane Seymour <shane.seymour@xxxxxx> Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Kai Mäkisara <kai.makisara@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0847ef88c3c9318d85e92fc42369df0e0190e1ab Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:40:06 2015 +0800 NFS: Remove duplicate svc_xprt_put from nfs41_callback_up The xprt created by svc_create_xprt have be added to serv->sv_permsocks. So putting the xprt directly is useless. Otherwise, there is a more svc_xprt_put after the xprt be freed. v2, same as v1. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit efcbc04e16dfa95fef76309f89710dd1d99a5453 Author: NeilBrown <neilb@xxxxxxxx> Date: Thu Jul 30 13:00:56 2015 +1000 NFSv4: don't set SETATTR for O_RDONLY|O_EXCL It is unusual to combine the open flags O_RDONLY and O_EXCL, but it appears that libre-office does just that. [pid 3250] stat("/home/USER/.config", {st_mode=S_IFDIR|0700, st_size=8192, ...}) = 0 [pid 3250] open("/home/USER/.config/libreoffice/4-suse/user/extensions/buildid", O_RDONLY|O_EXCL <unfinished ...> NFSv4 takes O_EXCL as a sign that a setattr command should be sent, probably to reset the timestamps. When it was an O_RDONLY open, the SETATTR command does not identify any actual attributes to change. If no delegation was provided to the open, the SETATTR uses the all-zeros stateid and the request is accepted (at least by the Linux NFS server - no harm, no foul). If a read-delegation was provided, this is used in the SETATTR request, and a Netapp filer will justifiably claim NFS4ERR_BAD_STATEID, which the Linux client takes as a sign to retry - indefinitely. So only treat O_EXCL specially if O_CREAT was also given. Signed-off-by: NeilBrown <neilb@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5ef8d792fabedeb932375b23735bc7a1a3e8684d Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 30 21:41:08 2015 +0800 NFS: Error out when register_shrinker fail in register_nfs_fs Commit 1d3d4437ea "vmscan: per-node deferred work" have made register_shrinker can return an intergater error. If register_shrinker() fail, the later unregister_shrinker() will cause a NULL pointer access. v2, same as v1. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3ff448b5b7dc7ad4d664588c343da1e5e2ce18dd Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Fri Jun 12 01:50:45 2015 +0300 bfa: fix leak of bfad_im_port_index on module unload Resources allocated within bfad_im_port_index idr are not deallocated on module unload. The patch adds idr_destroy() in exit function. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 24a9a9610ce3ba36fd87c1d2f2c9106de6b7e832 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Aug 3 07:44:53 2015 -0400 sunrpc: increase UNX_MAXNODENAME from 32 to __NEW_UTS_LEN bytes The current limit of 32 bytes artificially limits the name string that we end up stuffing into NFSv4.x client ID blobs. If you have multiple hosts with long hostnames that only differ near the end, then this can cause NFSv4 client ID collisions. Linux nodenames are actually limited to __NEW_UTS_LEN bytes (64), so use that as the limit instead. Also, use XDR_QUADLEN to specify the slack length, just for clarity and in case someone in the future changes this to something not evenly divisible by 4. Reported-by: Michael Skralivetsky <michael.skralivetsky@xxxxxxxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c8ad8894e92b853df5a766061ee9cde7e10e682f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 5 17:31:58 2015 -0400 NFSv4.2/pnfs: Use GFP_NOIO for layoutstat reporting in the writeback path Prevent a potential deadlock. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 41d903c00051d8f31c98a8136edbac67e6f8688f Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Aug 3 13:00:47 2015 +0300 iio: event: Remove negative error code from iio_event_poll Negative return values are not supported by iio_event_poll since its return type is unsigned int. Fixes: f18e7a068a0a3 ("iio: Return -ENODEV for file operations if the device has been unregistered") Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1bdc0293901cbea23c6dc29432e81919d4719844 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Aug 3 13:37:40 2015 +0300 iio: industrialio-buffer: Fix iio_buffer_poll return value Change return value to 0 if no device is bound since unsigned int cannot support negative error codes. Fixes: f18e7a068 ("iio: Return -ENODEV for file operations if the device has been unregistered") Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit af255cd562aaa72455f9022a26afacd68f3fbf73 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 4 16:21:49 2015 +0200 iio: lsiio: fix error code handling error commit acf50b3586f8d8a7530b905e111dda41876d38f4 "tools:iio:lsiio: add error handling" introduced error handling of errors returned from read_sysfs_string(), but with a simple if (retval), missing the fact that these functions return a positive value if the read was successful. As a result lsiio regresses and does not show any devices on my filesystem. Fix this by checking for only negative error codes. Cc: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d099d7b8316f3ebd63472d207c4801a464330016 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Mon Aug 10 16:47:32 2015 +0800 pnfs/flexfiles: LAYOUTSTATS ii_count should be ops instead of bytes Turned out I misinterpreted the spec... Cc: Tom Haynes <thomas.haynes@xxxxxxxxxxxxxxx> Reported-by: Jean Spector <jean@xxxxxxxxxxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 06d2f6ca5a38abe92f1f3a132b331eee773868c3 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Jul 29 15:46:03 2015 +0200 iio: bmg160: IIO_BUFFER and IIO_TRIGGERED_BUFFER are required This patch adds selects for IIO_BUFFER and IIO_TRIGGERED_BUFFER. Without IIO_BUFFER, the driver does not compile. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 57cb06762d5e587d58005b17b0fa99bd1e391c29 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:38:57 2015 +0200 iio:adc:berlin2-adc: Fix register definition Active channel number is stored in BERLIN2_SM_CTRL as value, instead of a bit map. The masks for channel interrupts and data ready are a 16 bits wide bit map each, instead of just 4 bits. Also correct the data mask for the temperature sensor, which was Reported-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ce83a4ca18391cfe823629c3863108d265e976f8 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Jun 5 14:20:40 2015 -0700 libfc: Fix a typo in a source code comment Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0a66ac17abf2bd03e30fbe20b1847258b960b683 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Fri May 22 11:15:02 2015 +0200 mvsas: always iounmap resources In case pci_resource_start() or pci_resource_len() reutrn 0, mvsas_ioremap returns without doing an iounmap() of mvi->regs_ex. Found by the cocinelle tool. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a30c2a3bf8571c6748dd16edc10b32d45ed71a72 Author: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 30 09:13:05 2015 -0300 qla2xxx: prevent board_disable from running during EEH Commit f3ddac1918fe963bcbf8d407a3a3c0881b47248b ("[SCSI] qla2xxx: Disable adapter when we encounter a PCI disconnect.") has introduced a code that disables the board, releasing some resources, when reading 0xffffffff. In case this happens when there is an EEH, this read will trigger EEH detection and set PCI channel offline. EEH will be able to recover the card from this state by doing a reset, so it's a better option than simply disabling the card. Since eeh_check_failure will mark the channel as offline before returning the read value, in case there really was an EEH, we can simply check for pci_channel_offline, preventing the board_disable code from running if it's true. Without this patch, EEH code will try to access those same resources that board_disable will try to free. This race can cause EEH recovery to fail. [ 504.370577] EEH: Notify device driver to resume [ 504.370580] qla2xxx [0001:07:00.0]-9002:2: The device failed to resume I/O from slot/link_reset. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d8571b1ecbd497d78923e046262872e3206b2deb Author: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Date: Thu Feb 12 12:04:37 2015 +0530 pm80xx: Added pm8006 controller support Signed-off-by: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Signed-off-by: Viswas G <Viswas.G@xxxxxxxx> Acked-by: Jack Wang <xjtuwjp@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 54fbde8a94a8a78547597215c9e4be590d075ee0 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Wed Jul 29 12:38:02 2015 -0700 drm/vmwgfx: Fix copyright headers Updating and fixing copyright headers. Bump version minor to signal vgpu10 support. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit fd11a3c0bd39162547e8abe44e1aaa11059c15f5 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Mon Aug 10 10:56:15 2015 -0700 drm/vmwgfx: Add DX query support. Various fixes. Add support for vgpu10 queries. Functional- and formatting fixes. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 0fca749e9a085ac4623a807ab12c37fc09851e3c Author: Neha Bhende <nbhende@xxxxxxxxxx> Date: Mon Aug 10 10:51:07 2015 -0700 drm/vmwgfx: Add command parser support for a couple of DX commands Add support for SVGA_3D_CMD_DX_BUFFER_COPY and SVGA_3D_CMD_DX_PRED_COPY_REGION Signed-off-by: Neha Bhende <nbhende@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 2f633e5e40798d5c8db512118b5e464b62f7ff06 Author: Charmaine Lee <charmainel@xxxxxxxxxx> Date: Mon Aug 10 10:45:11 2015 -0700 drm/vmwgfx: Command parser fixes for DX Implement support for a couple of missing commands and fix a command parser error path. Also fix uninitialized devcaps and surface size computation. Signed-off-by: Charmaine Lee <charmainel@xxxxxxxxxx> Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit d80efd5cb3dec16a8d1aea9b8a4a7921972dba65 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Aug 10 10:39:35 2015 -0700 drm/vmwgfx: Initial DX support Initial DX support. Co-authored with Sinclair Yeh, Charmaine Lee and Jakob Bornecrantz. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Charmaine Lee <charmainel@xxxxxxxxxx> commit 8ce75f8ab9044fe11caaaf2b2c82471023212f9f Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Wed Jul 8 21:20:39 2015 -0700 drm/vmwgfx: Update device includes for DX device functionality Add DX includes and move all device includes to a separate directory. Co-authored with Thomas Hellstrom, Charmaine Lee and above all, the VMware device team. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Charmaine Lee <charmainel@xxxxxxxxxx> commit 5101020c78c9f242fe77bd7986bc24f7b800172a Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jul 10 22:31:08 2015 -0700 drm: export the DRM permission check code This way drm_ioctl_permit() can be used by drivers Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 05c9501859c8bd80635d7299c384e2a8db7c0ce1 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Tue Aug 11 22:53:39 2015 -0700 drm/vmwgfx: Fix crash when unloading vmwgfx v2 This patch fixes two issues. One, when a surface is a proxy for a DMA buffer, it holds an extra reference that needs to be cleared. Two, when fbdev is enabled, we need to unpin the framebuffer before unloading the driver. This is done by a call to vmw_fb_off(). v2 Moved unreferencing surface to from vmw_framebuffer_surface_destroy() to vmw_kms_new_framebuffer() Added "struct vmw_framebuffer *vfb = NULL;" to silence a compiler warning. Removed error checking after calling vmw_surface/dmabuf_reference() Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit df45e9d410fc07ab816b006414f52ec4e2fbf2d7 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Aug 12 09:30:09 2015 -0700 drm/vmwgfx: Fix framebuffer creation on older hardware On older hardware, texture max width and height is not available, so set it to something reasonable, like 8192. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 65ade7d34bb6436104f1fdcce899bd81707da2e1 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Thu Jul 16 10:49:13 2015 -0700 drm/vmwgfx: Fixed topology boundary checking for Screen Targets For a Screen Target capable display device, the display topology is limited by SVGA_REG_MAX_PRIMARY_BOUNDING_BOX_MEM. Two values are checked against this limit: 1. Size of the bounding box enclosing all the displays, and 2. Size of the total number of displays, e.g. framebuffers The limitations above mean we do not have exact max width and height for the topology. The best current option is to set those to the maximum texture width/height. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Reviewed-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 9a5ad7d0e3e1c6c0c11df89fbc5376f8aaf7a90f Author: Jungseok Lee <jungseoklee85@xxxxxxxxx> Date: Wed Aug 12 15:16:19 2015 +0100 arm64: Add __exception_irq_entry definition for function graph The gic_handle_irq() is defined with __exception_irq_entry attribute. A single remaining work is to add its definition as ARM did. Below shows how function graph data is changed with these hunks. A prologue of an interrupt handler is drawn as follows. - current status 0) 0.208 us | cpuidle_not_available(); 0) | default_idle_call() { 0) | arch_cpu_idle() { 0) | __handle_domain_irq() { 0) | irq_enter() { 0) 0.313 us | rcu_irq_enter(); 0) 0.261 us | __local_bh_disable_ip(); - with this change 0) 0.625 us | cpuidle_not_available(); 0) | default_idle_call() { 0) | arch_cpu_idle() { 0) ==========> | 0) | gic_handle_irq() { 0) | __handle_domain_irq() { 0) | irq_enter() { 0) 0.885 us | rcu_irq_enter(); 0) 0.781 us | __local_bh_disable_ip(); An epilogue of an interrupt handler is recorded as follows. - current status 0) 0.261 us | idle_cpu(); 0) | rcu_irq_exit() { 0) 0.521 us | rcu_eqs_enter_common.isra.46(); 0) 2.552 us | } 0) ! 322.448 us | } 0) ! 583.437 us | } 0) # 1656.041 us | } 0) # 1658.073 us | } - with this change 0) 0.677 us | idle_cpu(); 0) | rcu_irq_exit() { 0) 1.770 us | rcu_eqs_enter_common.isra.46(); 0) 7.968 us | } 0) # 1803.541 us | } 0) # 2626.667 us | } 0) # 2632.969 us | } 0) <========== | 0) # 14425.00 us | } 0) # 14430.98 us | } Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Rabin Vincent <rabin@xxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 71ef150ee06df29c5b427307dc0bacfe06a8baea Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 11 06:30:50 2015 -0400 perf tests: Add tests to callgraph and time parse Add tests in tests/parse-events.c to check call-graph and time option. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439289050-40510-4-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9e207ddfa20781e56465ce9a537f0a377c9d34fb Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 11 06:30:49 2015 -0400 perf report: Show call graph from reference events Introduce --show-ref-call-graph for perf report to print reference callgraph for no callgraph event. Here is an example. perf report --show-ref-call-graph --stdio # To display the perf.data header info, please use --header/--header-only options. # # # Total Lost Samples: 0 # # Samples: 5 of event 'cpu/cpu-cycles,call-graph=fp/' # Event count (approx.): 144985 # # Children Self Command Shared Object Symbol # ........ ........ ....... ................ ........................................ # 72.30% 0.00% sleep [kernel.vmlinux] [k] entry_SYSCALL_64_fastpath | ---entry_SYSCALL_64_fastpath | |--22.62%-- __GI___libc_nanosleep --77.38%-- [...] ...... # Samples: 6 of event 'cpu/instructions,call-graph=no/', show reference callgraph # Event count (approx.): 172780 # # Children Self Command Shared Object Symbol # ........ ........ ....... ................ ........................................ # 73.16% 0.00% sleep [kernel.vmlinux] [k] entry_SYSCALL_64_fastpath | ---entry_SYSCALL_64_fastpath | |--31.44%-- __GI___libc_nanosleep --68.56%-- [...] Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439289050-40510-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f9db0d0f1b2cf030083c83d3ed3a4bbae6bdc8b7 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 11 06:30:48 2015 -0400 perf callchain: Allow disabling call graphs per event This patch introduce "call-graph=no" to disable per-event callgraph. Here is an example. perf record -e 'cpu/cpu-cycles,call-graph=fp/,cpu/instructions,call-graph=no/' sleep 1 perf report --stdio # To display the perf.data header info, please use --header/--header-only options. # # # Total Lost Samples: 0 # # Samples: 6 of event 'cpu/cpu-cycles,call-graph=fp/' # Event count (approx.): 774218 # # Children Self Command Shared Object Symbol # ........ ........ ....... ................ ........................................ # 61.94% 0.00% sleep [kernel.vmlinux] [k] entry_SYSCALL_64_fastpath | ---entry_SYSCALL_64_fastpath | |--97.30%-- __brk | --2.70%-- mmap64 _dl_check_map_versions _dl_check_all_versions 61.94% 0.00% sleep [kernel.vmlinux] [k] perf_event_mmap | ---perf_event_mmap | |--97.30%-- do_brk | sys_brk | entry_SYSCALL_64_fastpath | __brk | --2.70%-- mmap_region do_mmap_pgoff vm_mmap_pgoff sys_mmap_pgoff sys_mmap entry_SYSCALL_64_fastpath mmap64 _dl_check_map_versions _dl_check_all_versions ...... # Samples: 6 of event 'cpu/instructions,call-graph=no/' # Event count (approx.): 359692 # # Children Self Command Shared Object Symbol # ........ ........ ....... ................ ................................. # 89.03% 0.00% sleep [unknown] [.] 0xffff6598ffff6598 89.03% 0.00% sleep ld-2.17.so [.] _dl_resolve_conflicts 89.03% 0.00% sleep [kernel.vmlinux] [k] page_fault Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439289050-40510-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d457c96392bb418bd998f3ccf93e0e4c958fcd0f Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 11 06:30:47 2015 -0400 perf callchain: Per-event type selection support This patchkit adds the ability to set callgraph mode (fp, dwarf, lbr) per event. This in term can reduce sampling overhead and the size of the perf.data. Here is an example. perf record -e 'cpu/cpu-cycles,period=1000,call-graph=fp,time=1/,cpu/instructions,call-graph=lbr/' sleep 1 perf evlist -v cpu/cpu-cycles,period=1000,call-graph=fp,time=1/: type: 4, size: 112, config: 0x3c, { sample_period, sample_freq }: 1000, sample_type: IP|TID|TIME|CALLCHAIN|PERIOD|IDENTIFIER, read_format: ID, disabled: 1, inherit: 1, mmap: 1, comm: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 cpu/instructions,call-graph=lbr/: type: 4, size: 112, config: 0xc0, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|CALLCHAIN|PERIOD|BRANCH_STACK|IDENTIFIER, read_format: ID, disabled: 1, inherit: 1, freq: 1, enable_on_exec: 1, sample_id_all: 1, exclude_guest: 1 Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439289050-40510-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 75186a9b09e47072f442f43e292cd47180b67b5c Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Aug 12 10:24:07 2015 +0900 perf probe: Fix to show lines of sys_ functions correctly "perf probe --lines sys_poll" shows only the first line of sys_poll, because the SYSCALL_DEFINE macro: ---- SYSCALL_DEFINE*(foo,...) { body; } ---- is expanded as below (on debuginfo) ---- static inline int SYSC_foo(...) { body; } int SyS_foo(...) <- is an alias of sys_foo. { return SYSC_foo(...); } ---- So, "perf probe --lines sys_foo" decodes SyS_foo function and it also skips inlined functions(SYSC_foo) inside the target function because those functions are usually defined somewhere else. To fix this issue, this fix checks whether the inlined function is defined at the same point of the target function, and if so, it doesn't skip the inline function. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150812012406.11811.94691.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 228c37ff980f5643401a1667f5ab7c6f38602cf8 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Aug 11 12:38:54 2015 +0100 sign-file: Document dependency on OpenSSL devel libraries The revised sign-file program is no longer a script that wraps the openssl program, but now rather a program that makes use of OpenSSL's crypto library. This means that to build the sign-file program, the kernel build process now has a dependency on the OpenSSL development packages in addition to OpenSSL itself. Document this in Kconfig and in module-signing.txt. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 99db44350672c8a5ee9a7b0a6f4cd6ff10136065 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 15:22:27 2015 +0100 PKCS#7: Appropriately restrict authenticated attributes and content type A PKCS#7 or CMS message can have per-signature authenticated attributes that are digested as a lump and signed by the authorising key for that signature. If such attributes exist, the content digest isn't itself signed, but rather it is included in a special authattr which then contributes to the signature. Further, we already require the master message content type to be pkcs7_signedData - but there's also a separate content type for the data itself within the SignedData object and this must be repeated inside the authattrs for each signer [RFC2315 9.2, RFC5652 11.1]. We should really validate the authattrs if they exist or forbid them entirely as appropriate. To this end: (1) Alter the PKCS#7 parser to reject any message that has more than one signature where at least one signature has authattrs and at least one that does not. (2) Validate authattrs if they are present and strongly restrict them. Only the following authattrs are permitted and all others are rejected: (a) contentType. This is checked to be an OID that matches the content type in the SignedData object. (b) messageDigest. This must match the crypto digest of the data. (c) signingTime. If present, we check that this is a valid, parseable UTCTime or GeneralTime and that the date it encodes fits within the validity window of the matching X.509 cert. (d) S/MIME capabilities. We don't check the contents. (e) Authenticode SP Opus Info. We don't check the contents. (f) Authenticode Statement Type. We don't check the contents. The message is rejected if (a) or (b) are missing. If the message is an Authenticode type, the message is rejected if (e) is missing; if not Authenticode, the message is rejected if (d) - (f) are present. The S/MIME capabilities authattr (d) unfortunately has to be allowed to support kernels already signed by the pesign program. This only affects kexec. sign-file suppresses them (CMS_NOSMIMECAP). The message is also rejected if an authattr is given more than once or if it contains more than one element in its set of values. (3) Add a parameter to pkcs7_verify() to select one of the following restrictions and pass in the appropriate option from the callers: (*) VERIFYING_MODULE_SIGNATURE This requires that the SignedData content type be pkcs7-data and forbids authattrs. sign-file sets CMS_NOATTR. We could be more flexible and permit authattrs optionally, but only permit minimal content. (*) VERIFYING_FIRMWARE_SIGNATURE This requires that the SignedData content type be pkcs7-data and requires authattrs. In future, this will require an attribute holding the target firmware name in addition to the minimal set. (*) VERIFYING_UNSPECIFIED_SIGNATURE This requires that the SignedData content type be pkcs7-data but allows either no authattrs or only permits the minimal set. (*) VERIFYING_KEXEC_PE_SIGNATURE This only supports the Authenticode SPC_INDIRECT_DATA content type and requires at least an SpcSpOpusInfo authattr in addition to the minimal set. It also permits an SPC_STATEMENT_TYPE authattr (and an S/MIME capabilities authattr because the pesign program doesn't remove these). (*) VERIFYING_KEY_SIGNATURE (*) VERIFYING_KEY_SELF_SIGNATURE These are invalid in this context but are included for later use when limiting the use of X.509 certs. (4) The pkcs7_test key type is given a module parameter to select between the above options for testing purposes. For example: echo 1 >/sys/module/pkcs7_test_key/parameters/usage keyctl padd pkcs7_test foo @s </tmp/stuff.pkcs7 will attempt to check the signature on stuff.pkcs7 as if it contains a firmware blob (1 being VERIFYING_FIRMWARE_SIGNATURE). Suggested-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit f29299b4801076e14bb149cb2fc44bd8dc2f51cc Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Jul 31 11:43:23 2015 +0100 KEYS: Add a name for PKEY_ID_PKCS7 Add a name for PKEY_ID_PKCS7 into the pkey_id_type_name array. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit fd19a3d195be23e8d9d0d66576b96ea25eea8323 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Jul 29 16:58:32 2015 +0100 PKCS#7: Improve and export the X.509 ASN.1 time object decoder Make the X.509 ASN.1 time object decoder fill in a time64_t rather than a struct tm to make comparison easier (unfortunately, this makes readable display less easy) and export it so that it can be used by the PKCS#7 code too. Further, tighten up its parsing to reject invalid dates (eg. weird characters, non-existent hour numbers) and unsupported dates (eg. timezones other than 'Z' or dates earlier than 1970). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 770f2b98760ef0500183d7206724aac762433e2d Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:34 2015 +0100 modsign: Use extract-cert to process CONFIG_SYSTEM_TRUSTED_KEYS Fix up the dependencies somewhat too, while we're at it. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 84706caae9e06363db4f956cde4f9715ce5c0ef3 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:33 2015 +0100 extract-cert: Cope with multiple X.509 certificates in a single file This is not required for the module signing key, although it doesn't do any harm â?? it just means that any additional certs in the PEM file are also trusted by the kernel. But it does allow us to use the extract-cert tool for processing the extra certs from CONFIG_SYSTEM_TRUSTED_KEYS, instead of that horrid awk|base64 hack. Also cope with being invoked with no input file, creating an empty output file as a result. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit ed8c20762a314124cbdd62e9d3e8aa7aa2a16020 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:33 2015 +0100 sign-file: Generate CMS message as signature instead of PKCS#7 Make sign-file use the OpenSSL CMS routines to generate a message to be used as the signature blob instead of the PKCS#7 routines. This allows us to change how the matching X.509 certificate is selected. With PKCS#7 the only option is to match on the serial number and issuer fields of an X.509 certificate; with CMS, we also have the option of matching by subjectKeyId extension. The new behaviour is selected with the "-k" flag. Without the -k flag specified, the output is pretty much identical to the PKCS#7 output. Whilst we're at it, don't include the S/MIME capability list in the message as it's irrelevant to us. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx commit 60d65cacd7c2d84a6dcad69bcb57bbf0220c8643 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:33 2015 +0100 PKCS#7: Support CMS messages also [RFC5652] Since CMS is an evolution of PKCS#7, with much of the ASN.1 being compatible, add support for CMS signed-data messages also [RFC5652 sec 5]. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit a4c6e57f4f5fa65cbdb8cc1c14ff5ca7c56766c3 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:32 2015 +0100 X.509: Change recorded SKID & AKID to not include Subject or Issuer The key identifiers fabricated from an X.509 certificate are currently: (A) Concatenation of serial number and issuer (B) Concatenation of subject and subjectKeyID (SKID) When verifying one X.509 certificate with another, the AKID in the target can be used to match the authoritative certificate. The AKID can specify the match in one or both of two ways: (1) Compare authorityCertSerialNumber and authorityCertIssuer from the AKID to identifier (A) above. (2) Compare keyIdentifier from the AKID plus the issuer from the target certificate to identifier (B) above. When verifying a PKCS#7 message, the only available comparison is between the IssuerAndSerialNumber field and identifier (A) above. However, a subsequent patch adds CMS support. Whilst CMS still supports a match on IssuerAndSerialNumber as for PKCS#7, it also supports an alternative - which is the SubjectKeyIdentifier field. This is used to match to an X.509 certificate on the SKID alone. No subject information is available to be used. To this end change the fabrication of (B) above to be from the X.509 SKID alone. The AKID in keyIdentifier form then only matches on that and does not include the issuer. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 2c7fd3675ef1867d0d0c39e9f0bb5ddb67bfc7a7 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:31 2015 +0100 PKCS#7: Check content type and versions We only support PKCS#7 signed-data [RFC2315 sec 9] content at the top level, so reject anything else. Further, check that the version numbers in SignedData and SignerInfo are 1 in both cases. Note that we don't restrict the inner content type. In the PKCS#7 code we don't parse the data attached there, but merely verify the signature over it. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 63ab1749f39aeec27b0dcf71cd7996d862c5ad63 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Aug 12 12:42:58 2015 -0300 perf hists browser: Make ESC unzoom as well In addition to <-, that may be repurposed for horizontal scrolling. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-w3rctelxr4yxrjufx7z3fclb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d4853630b334017cab9a4602f5e9677e3b792c8a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 17:00:35 2015 +0200 drm/atomic: Use KMS VBLANK API Instead of using the legacy VBLANK API, use the new KMS API. This is part of an effort to convert all existing users so that the KMS API can be changed to properly use per-CRTC data. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c30e11fc66fe21882c46e176ed695728ebd4293a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 17:00:33 2015 +0200 drm/irq: Document return values more consistently Some of the functions are documented inconsistently. Add Returns: sections where missing and use consistent style to describe the return value. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cc1ef118fc099295ae6aabbacc8af94d8d8885eb Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 17:00:31 2015 +0200 drm/irq: Make pipe unsigned and name consistent Name all references to the pipe number (CRTC index) consistently to make it easier to distinguish which is a pipe number and which is a pointer to struct drm_crtc. While at it also make all references to the pipe number unsigned because there is no longer any reason why it should ever be negative. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7d1de851632d013023cd7c89eb8664f62e5beb2c Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 17:00:30 2015 +0200 drm/irq: Check for valid VBLANK before dereference When accessing the array of per-CRTC VBLANK structures we must always check that the index into the array is valid before dereferencing to avoid crashing. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> [danvet: Squash in my own whitespace ocd fixup in drm_vblank_count.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc0a446152877d3a4e40166ddb19b6e0cb5f6567 Author: viresh kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Aug 10 11:42:26 2015 +0530 dm: remove unlikely() before IS_ERR() IS_ERR() already contains an 'unlikely' compiler flag so there is no need to do that again from IS_ERR() callers. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e80d1c805a3b2f0ad2081369be5dc5deedd5ee59 Author: Vivek Goyal <vgoyal@xxxxxxxxxx> Date: Fri Jul 31 09:20:36 2015 -0400 dm: do not override error code returned from dm_get_device() Some of the device mapper targets override the error code returned by dm_get_device() and return either -EINVAL or -ENXIO. There is nothing gained by this override. It is better to propagate the returned error code unchanged to caller. This work was motivated by hitting an issue where the underlying device was busy but -EINVAL was being returned. After this change we get -EBUSY instead and it is easier to figure out the problem. Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit ab37844d6169c2dd6f96e665b07b692ba1a4c180 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Wed Jul 1 17:30:36 2015 -0400 dm: test return value for DM_MAPIO_SUBMITTED In properly written code we should not assume that DM_MAPIO_SUBMITTED is zero. We should test the return value for DM_MAPIO_SUBMITTED rather than testing it for zero. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 4fb9aa5abdb791defedb3a5ce254ad193e82d77b Author: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Date: Mon Jun 29 14:14:00 2015 +0100 dm verity: remove unused mempool Since commit 003b5c571 ("block: Convert drivers to immutable biovecs"), vec_mempool in struct dm_verity is no longer used. Remove it and related definitions. Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e44b6a5a3c711c1ada4cf7135bf9dbf860caffd2 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Thu Jul 30 09:29:40 2015 +0100 dm cache: move wake_waker() from free_migrations() to where it is needed This stops spurious wake ups from calls to prealloc_free_structs(). Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 8c747fd0c3f514233afaca98139c03cca2cf2d2f Author: Vivek Goyal <vgoyal@xxxxxxxxxx> Date: Mon Jul 6 11:55:41 2015 -0400 dm btree remove: remove unused function get_nr_entries() rebalance_children() calls get_nr_entries() and assigns the result to an unused local 'child_entries' variable. Remove get_nr_entries() and cleanup rebalance_children() accordingly. Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 0a8d4c3ef8f14cbd26d97767e3676722d4eebee5 Author: Vivek Goyal <vgoyal@xxxxxxxxxx> Date: Mon Jul 6 11:55:40 2015 -0400 dm btree: remove unused "dm_block_t root" parameter in btree_split_sibling() Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 4051aab762f161826f15ea63c8baaf33cb5e6fe3 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Fri Jun 26 13:25:12 2015 +0100 dm cache policy smq: change the mutex to a spinlock We no longer sleep in any of the smq functions, so this can become a spinlock. Switching from mutex to spinlock improves performance when the fast cache device is a very low latency device (e.g. NVMe SSD). The switch to spinlock also allows for removal of the extra tick_lock; which is no longer needed since the main lock being a spinlock now fulfills the locking requirements needed by interrupt context. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 2a7d3d6d5ddbd202c09f228829cd03609a8efb23 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 17:00:24 2015 +0200 drm/irq: Remove negative CRTC index special-case The drm_send_vblank_event() function treats negative CRTC indices as meaning that a driver doesn't have proper VBLANK handling. This is the only place where DRM needs negative CRTC indices, so in order to enable subsequent cleanup, remove this special case and replace it by the more obvious check for whether or not VBLANK support was initialized. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b54a0935b03888c8412aa5acbf873af9d753fbdd Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:54:29 2015 +0200 drm/plane: Remove redundant extern Use of the extern keyword for function prototypes is unnecessary, so it can be removed. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 45e3743aff6f3fbe3f08d43d443dc2d7b5396a31 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:54:28 2015 +0200 drm/plane: Use consistent data types for format count Rather than a mix of the the sized uint32_t and signed integer, use an unsized unsigned int to specify the format count. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 798ae0f6693deac4a07377d0c45b4325b7026278 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:12 2015 +0200 vga_switcheroo: Remove unnecessary checks debugfs_remove() gracefully ignores NULL parameters, so the explicit checks can be removed. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7491bfb446741b1dd65aadda54bade18bfaba442 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:11 2015 +0200 vga_switcheroo: Wrap overly long lines Wrap overly long lines to make checkpatch happy. While at it, also add blank lines after declarations to eliminate additional problems flagged by checkpatch. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9b0be1ebec804c5698541a86486a0b2a4143279d Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:10 2015 +0200 vga_switcheroo: Use pr_fmt() Use pr_fmt() to define the "vga_switcheroo: " prefix that is prepended to all output messages emitted by pr_*() functions. This allows making existing strings much shorter and eliminates a bunch of warnings from checkpatch about lines being overly long. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 713092783082a1469d329cb63be7c7a0992b2448 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:09 2015 +0200 vga_switcheroo: Cleanup header comment The header comment uses a weird combination of formatting styles. Make it consistent. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf8252b3fc247f8634df521af429101064fc43d1 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:08 2015 +0200 vga_switcheroo: Use pr_*() instead of printk() This silences a bunch of checkpatch warnings and makes the code shorter. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5d90ccf908bd806f0767bc07310e4c25c8501369 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:07 2015 +0200 vgaarb: Fix a few checkpatch errors and warnings Wrap overly long lines (offending lines were mostly comments, so trivial to fix up) and a number of other coding style issues pointed out by the checkpatch tool. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8b7e2e865fef94d6a46746c3b7f334b910814031 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:06 2015 +0200 vgaarb: Use vgaarb: prefix consistently in messages Define the pr_fmt() macro to causes all messages emitted by pr_*() functions to be prefixed with "vgaarb: ". Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eb6944f2fc01d5c83bce37fa0e68810565f78a75 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Aug 12 16:32:05 2015 +0200 vgaarb: Stop complaining about absent devices Some setups do not register a default VGA device, in which case the VGA arbiter will still complain about the (non-existent) PCI device being a non-VGA device. Fix this by making the error message conditional on a default VGA device having been set up. Note that the easy route of erroring out early isn't going to work because otherwise priv->target won't be properly updated. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 50d78bcf5d06871a0b3adcb3cbec6e6ca33f226a Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Aug 12 12:46:01 2015 +0200 Bluetooth: hci_bcm: Fix "implicit declaration" The kbuild test robot reported implicit declaration of function 'acpi_dev_get_resources'. Surround ACPI function by CONFIG_ACPI test. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 62aaefa7d03804aef30639ab362f845b1f3e92ed Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Aug 12 09:20:56 2015 +0200 Bluetooth: hci_bcm: improve use of gpios API devm_gpiod_get currently has an optional parameter to set initial direction and value for the requested gpio. Make use of this to simplify the driver and make it not fail to build when this parameter is made mandatory (which is scheduled for 4.3-rc1). Moreover use the _optional variant of devm_gpiod_get to simplify error handling (which also gets more strict for free). Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f303e50766298feac17c8715e29ecd14b2c12680 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Jul 23 18:37:13 2015 +0200 iommu/vt-d: Avoid duplicate device_domain_info structures When a 'struct device_domain_info' is created as an alias for another device, this struct will not be re-used when the real device is encountered. Fix that to avoid duplicate device_domain_info structures being added. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 08a7f456a759e971caf0cc13987a963de2b0ae7c Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Jul 23 18:09:11 2015 +0200 iommu/vt-d: Only insert alias dev_info if there is an alias For devices without an PCI alias there will be two device_domain_info structures added. Prevent that by checking if the alias is different from the device. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 127c761598f7fbe7ffe6650cdc491eb57c5aaecd Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Jul 23 17:44:46 2015 +0200 iommu/vt-d: Pass device_domain_info to __dmar_remove_one_dev_info This struct contains all necessary information for the function already. Also handle the info->dev == NULL case while at it. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 2309bd793ead6d5e4ace611502aa87b3202856ca Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 17:29:47 2015 +0200 iommu/vt-d: Remove dmar_global_lock from device_notifier The code in the locked section does not touch anything protected by the dmar_global_lock. Remove it from there. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 55d940430ab91b89ff5fc7240555544d86475783 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 16:50:40 2015 +0200 iommu/vt-d: Get rid of domain->iommu_lock When this lock is held the device_domain_lock is also required to make sure the device_domain_info does not vanish while in use. So this lock can be removed as it gives no additional protection. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit de7e888646466e6c32cdd41124c0164cfed4abcb Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 11:58:07 2015 +0200 iommu/vt-d: Only call domain_remove_one_dev_info to detach old domain There is no need to make a difference here between VM and non-VM domains, so simplify this code here. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d160aca5276d093fc68d6ff48888586c90309d03 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 11:52:53 2015 +0200 iommu/vt-d: Unify domain->iommu attach/detachment Move the code to attach/detach domains to iommus and vice verce into a single function to make sure there are no dangling references. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit c6c2cebd665933216785246a1d15b4112fa74bbf Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 13:11:53 2015 +0200 iommu/vt-d: Establish domain<->iommu link in dmar_insert_one_dev_info This makes domain attachment more synchronous with domain deattachment. The domain<->iommu link is released in dmar_remove_one_dev_info. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit dc534b25d11f42e6b4caa5b1918f549d9c0e9d4d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 12:44:02 2015 +0200 iommu/vt-d: Pass an iommu pointer to domain_init() This allows to do domain->iommu attachment after domain_init has run. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 2452d9db1218fdb1c29afb921838c323987f5799 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Jul 23 16:20:14 2015 +0200 iommu/vt-d: Rename iommu_detach_dependent_devices() Rename this function and the ones further down its call-chain to domain_context_clear_*. In particular this means: iommu_detach_dependent_devices -> domain_context_clear iommu_detach_dev_cb -> domain_context_clear_one_cb iommu_detach_dev -> domain_context_clear_one These names match a lot better with its domain_context_mapping counterparts. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e6de0f8dfcd0395efee874db97536531555d91af Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 16:30:36 2015 +0200 iommu/vt-d: Rename domain_remove_one_dev_info() Rename the function to dmar_remove_one_dev_info to match is name better with its dmar_insert_one_dev_info counterpart. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5db31569e9503654477b504de7161d01f85f7261 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 12:40:43 2015 +0200 iommu/vt-d: Rename dmar_insert_dev_info() Rename this function to dmar_insert_one_dev_info() to match the name better with its counter part function domain_remove_one_dev_info(). Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit cc4e2575cc96b1aac910f56e1d7ef45d219b40b2 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Jul 22 10:04:36 2015 +0200 iommu/vt-d: Move context-mapping into dmar_insert_dev_info Do the context-mapping of devices from a single place in the call-path and clean up the other call-sites. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 76f45fe35c7a54e6fe5539660db2c8cfb23a2972 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 18:25:11 2015 +0200 iommu/vt-d: Simplify domain_remove_dev_info() Just call domain_remove_one_dev_info() for all devices in the domain instead of reimplementing the functionality. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit b608ac3b6d54c38d6cf0eb91547f0f960633eb2d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 18:19:08 2015 +0200 iommu/vt-d: Simplify domain_remove_one_dev_info() Simplify this function as much as possible with the new iommu_refcnt field. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 42e8c186b595a32918933b3dec445f0bf0f486f6 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 15:50:02 2015 +0200 iommu/vt-d: Simplify io/tlb flushing in intel_iommu_unmap We don't need to do an expensive search for domain-ids anymore, as we keep track of per-iommu domain-ids. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 29a27719abaa4d74aed928803c1aa9437bbdde89 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 17:17:12 2015 +0200 iommu/vt-d: Replace iommu_bmp with a refcount This replaces the dmar_domain->iommu_bmp with a similar reference count array. This allows us to keep track of how many devices behind each iommu are attached to the domain. This is necessary for further simplifications and optimizations to the iommu<->domain attachment code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit af1089ce388b2d14c8331b96567b7e3b7eb5f35b Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 15:45:19 2015 +0200 iommu/vt-d: Kill dmar_domain->id This field is now obsolete because all places use the per-iommu domain-ids. Kill the remaining uses of this field and remove it. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 0dc7971594aad73b50722878ea7175055a4fdfcd Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 15:40:06 2015 +0200 iommu/vt-d: Don't pre-allocate domain ids for si_domain There is no reason for this special handling of the si_domain. The per-iommu domain-id can be allocated on-demand like for any other domain. So remove the pre-allocation code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a1ddcbe9301023928f877b675a40914427928f2a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 15:20:32 2015 +0200 iommu/vt-d: Pass dmar_domain directly into iommu_flush_iotlb_psi This function can figure out the domain-id to use itself from the iommu_did array. This is more reliable over different domain types and brings us one step further to remove the domain->id field. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit de24e55395698e29f2a0582ae1899fa0001f829a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 14:53:04 2015 +0200 iommu/vt-d: Simplify domain_context_mapping_one Get rid of the special cases for VM domains vs. non-VM domains and simplify the code further to just handle the hardware passthrough vs. page-table case. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 28ccce0d954a1cf3baba335bf12581357112fb35 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 14:45:31 2015 +0200 iommu/vt-d: Calculate translation in domain_context_mapping_one There is no reason to pass the translation type through multiple layers. It can also be determined in the domain_context_mapping_one function directly. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e2411427f7d3ddcf8d5f35d5ab0a397180deac3a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 11:18:21 2015 +0200 iommu/vt-d: Get rid of iommu_attach_vm_domain() The special case for VM domains is not needed, as other domains could be attached to the iommu in the same way. So get rid of this special case. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 8bf478163e69e42973c7070179a11815139e5bf0 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 10:41:21 2015 +0200 iommu/vt-d: Split up iommu->domains array This array is indexed by the domain-id and contains the pointers to the domains attached to this iommu. Modern systems support 65536 domain ids, so that this array has a size of 512kb, per iommu. This is a huge waste of space, as the array is usually sparsely populated. This patch makes the array two-dimensional and allocates the memory for the domain pointers on-demand. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 9452d5bfe5c3df6befb89835d2c44920e03bd390 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 10:00:56 2015 +0200 iommu/vt-d: Add access functions for iommu->domains This makes it easier to change the layout of the data structure later. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit c0e8a6c8033e205835fa5e67db7ab4589d2491b2 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Jul 21 09:39:46 2015 +0200 iommu/vt-d: Keep track of per-iommu domain ids Instead of searching in the domain array for already allocated domain ids, keep track of them explicitly. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 517dfdb315fa2da9b144f6fa494b4f54b490de7e Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 12:50:55 2015 -0300 perf ui browser: Introduce ui_browser__printf() To remove direct access to libslang functions, with the immediate goal of implementing horizontal scrolling at the ui_browser level, but also because we may at some point want to implement ui_browser with other UIs in addition to the current libslang implementation. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-w0niblabqrkecs4o0eogfy6c@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 26270a008251ec36431623bd992252934bbe529a Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 12:24:27 2015 -0300 perf ui browser: Introduce ui_browser__write_nstring() To remove direct access to libslang functions, with the immediate goal of implementing horizontal scrolling at the ui_browser level, but also because we may at some point want to implement ui_browser with other UIs in addition to the current libslang implementation. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-437ineavoejzou727mr9bxpi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b62bee1bdea6d78e444183b04c81ce982a371571 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 11:05:36 2015 -0300 perf trace: Beautify keyctl's option arg 8.697 (0.103 ms): pool/2343 keyctl(option: GET_PERSISTENT, arg2: 1000, arg3: 4294967294, arg4: 140703061514067, arg5: 140703692383680) = 1023192809 8.763 (0.049 ms): pool/2343 keyctl(option: SEARCH, arg2: 1023192809, arg3: 140703745767772, arg4: 140703745767832, arg5: 4294967294) = 140224497 8.789 (0.016 ms): pool/2343 keyctl(option: SEARCH, arg2: 140224497, arg3: 140703745767814, arg4: 140703745767900) = 512300257 8.807 (0.011 ms): pool/2343 keyctl(option: READ, arg2: 512300257 ) = 13 8.822 (0.008 ms): pool/2343 keyctl(option: READ, arg2: 512300257, arg3: 140703061514000, arg4: 13 ) = 13 8.837 (0.007 ms): pool/2343 keyctl(option: READ, arg2: 140224497 ) = 4 8.852 (0.009 ms): pool/2343 keyctl(option: READ, arg2: 140224497, arg3: 140703061514000, arg4: 4 ) = 4 8.869 (0.010 ms): pool/2343 keyctl(option: SEARCH, arg2: 140224497, arg3: 140703745767772, arg4: 140703061514032) = -1 ENOKEY Required key not available 8.892 (0.017 ms): pool/2343 keyctl(option: DESCRIBE, arg2: 512300257 ) = 43 8.910 (0.012 ms): pool/2343 keyctl(option: DESCRIBE, arg2: 512300257, arg3: 140703061544384, arg4: 43) = 43 Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-013ab219irsxngyumrf5gp8s@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8d8c66a248dfb9a7e517822b5ef87e357b1605bf Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 10:57:02 2015 -0300 perf trace: Use the FD beautifier for socket syscall fds But we really should have something like 'strace -yy' here... Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-eyrt1ypfq68u4ljagyk2nj1i@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 76b10655818c939e257377f83992975a5f55ffb3 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Aug 11 06:36:55 2015 -0700 perf sort: Check for SRCLINE_UNKNOWN case in "srcfile" processing Handle the SRCLINE_UNKNOWN case correctly when processing "srcfile". Commiter note: We can't just free it, as it was't allocated via malloc, its a guard variable. Reported-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150811133655.GC4524@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 28ebb87c73f9c17266d4f7570d65a1e695df7d9d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 10:38:38 2015 -0300 perf trace: Add missing clockid entries We were missing: CLOCK_BOOTTIME, CLOCK_REALTIME_ALARM, CLOCK_BOOTTIME_ALARM, CLOCK_SGI_CYCLE and CLOCK_TAI. Add them. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <milian.wolff@xxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d67rwqtwm9jyenwes98kr0cr@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 090389b6d95c046cc6caca2e7e00adc27829acf2 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 10 19:20:52 2015 -0300 perf trace: Associate some more syscall args with the getname beautifier This time using 'trinity' to test these: fchmodat, futimesat, llistxattr, lremovexattr, lstat, mknodat, mq_unlink, stat and vmsplice. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <milian.wolff@xxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-a1uqu249nwwh0ixrhm80k4a4@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dcfcf2c2cd71906073beef32aadb1989e8996951 Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 14:38:18 2015 +0800 ASoC: fsl: fix typos for sound/soc/fsl/* There are too much noise about the typos for fsl's drivers. So I fix all the typos here in this patch in almost every file I touched. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b486afbd1baf796a9e4b793b2f9121c12e1469af Author: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 15:02:19 2015 +0800 regmap: fix typos in regmap.c There are two typos in drivers/base/regmap/regmap.c, and they may introduce some noise when checking new patches. Signed-off-by: Xiubo Li <lixiubo@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3cb5ff0220e31bd1043bb18fd5765c9f86928491 Author: Jamie Lentin <jm@xxxxxxxxxxxx> Date: Tue Aug 11 22:40:52 2015 +0100 HID: lenovo: Hide middle-button press until release Don't relay a middle button press to userspace until release, and then only if there was no scroll events inbetween. This is closer to what Xorg's wheel emulation does, and avoids spurious middle-click pastes. Signed-off-by: Jamie Lentin <jm@xxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dbfebb44b7c650dd134a8be07f9afd5862150987 Author: Jamie Lentin <jm@xxxxxxxxxxxx> Date: Tue Aug 11 22:40:51 2015 +0100 HID: lenovo: Add missing return-value check Signed-off-by: Jamie Lentin <jm@xxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7f65068fb77f173c5466545fc11818de7a35c1f3 Author: Jamie Lentin <jm@xxxxxxxxxxxx> Date: Tue Aug 11 22:40:50 2015 +0100 HID: lenovo: Use constants for axes names Signed-off-by: Jamie Lentin <jm@xxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 609ca5f3cb32c2d11fd8cabe293ff3689e7d2613 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 10 19:43:47 2015 +0100 regulator: core: Use class device list for regulator_list in late init The regulator_list has exactly the same contents as the list that the driver core maintains of regulator_class members so is redundant. As a first step in converting over to use the class device list convert our iteration in late_initcall() to use the class device iterator. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2f9b660b2128c92d66f18ac7fbd7c39a91cec159 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 12:12:28 2015 +0200 regmap: Fix integertypes for register address and value These values are defined as unsigned int in the struct and are assigned to int values. This patch fixes the type to be unsigned int instead. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f120cd6533d21075ab103ae6c225b1697853660d Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 23 13:59:13 2014 +0100 KVM: arm/arm64: timer: Allow the timer to control the active state In order to remove the crude hack where we sneak the masked bit into the timer's control register, make use of the phys_irq_map API control the active state of the interrupt. This causes some limited changes to allow for potential error propagation. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 773299a570725d1f253d6046cd6475209b0dcd55 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Jul 24 11:30:43 2015 +0100 KVM: arm/arm64: vgic: Prevent userspace injection of a mapped interrupt Virtual interrupts mapped to a HW interrupt should only be triggered from inside the kernel. Otherwise, you could end up confusing the kernel (and the GIC's) state machine. Rearrange the injection path so that kvm_vgic_inject_irq is used for non-mapped interrupts, and kvm_vgic_inject_mapped_irq is used for mapped interrupts. The latter should only be called from inside the kernel (timer, irqfd). Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 6e84e0e0677281b4e7fc634c7e9d085fbcf41b10 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 8 16:13:30 2015 +0100 KVM: arm/arm64: vgic: Add vgic_{get,set}_phys_irq_active In order to control the active state of an interrupt, introduce a pair of accessors allowing the state to be set/queried. This only affects the logical state, and the HW state will only be applied at world-switch time. Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 08fd6461e8752d2db233c1f237fa5771bcefc63f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 8 16:06:13 2015 +0100 KVM: arm/arm64: vgic: Allow HW interrupts to be queued to a guest To allow a HW interrupt to be injected into a guest, we lookup the guest virtual interrupt in the irq_phys_map list, and if we have a match, encode both interrupts in the LR. We also mark the interrupt as "active" at the host distributor level. On guest EOI on the virtual interrupt, the host interrupt will be deactivated. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 6c3d63c9a26ba56e2ca63a9f68d52f77ae551d91 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 23 17:37:18 2014 +0100 KVM: arm/arm64: vgic: Allow dynamic mapping of physical/virtual interrupts In order to be able to feed physical interrupts to a guest, we need to be able to establish the virtual-physical mapping between the two worlds. The mappings are kept in a set of RCU lists, indexed by virtual interrupts. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 7a67b4b7e04b30345584c1b76a80db628530bf21 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Jun 5 16:45:29 2015 +0100 KVM: arm/arm64: vgic: Relax vgic_can_sample_irq for edge IRQs We only set the irq_queued flag for level interrupts, meaning that "!vgic_irq_is_queued(vcpu, irq)" is a good enough predicate for all interrupts. This will allow us to inject edge HW interrupts, for which the state ACTIVE+PENDING is not allowed. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit fb182cf84568cc33ab41121bc8cc999f7aacbd47 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 8 15:37:26 2015 +0100 KVM: arm/arm64: vgic: Allow HW irq to be encoded in LR Now that struct vgic_lr supports the LR_HW bit and carries a hwirq field, we can encode that information into the list registers. This patch provides implementations for both GICv2 and GICv3. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 32d2d8010cd7080a0f1712f1084b92657858428e Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 8 15:21:32 2015 +0100 KVM: arm/arm64: vgic: Convert struct vgic_lr to use bitfields As we're about to cram more information in the vgic_lr structure (HW interrupt number and additional state information), we switch to a layout similar to the HW's: - use bitfields to save space (we don't need more than 10 bits to represent the irq numbers) - source CPU and HW interrupt can share the same field, as a SGI doesn't have a physical line. Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit abdf58438356c7baf34bdd98084b094ca3a6a23f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Jun 8 15:00:28 2015 +0100 arm/arm64: KVM: Move vgic handling to a non-preemptible section As we're about to introduce some serious GIC-poking to the vgic code, it is important to make sure that we're going to poke the part of the GIC that belongs to the CPU we're about to run on (otherwise, we'd end up with some unexpected interrupts firing)... Introducing a non-preemptible section in kvm_arch_vcpu_ioctl_run prevents the problem from occuring. Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 9a99d050705318d1cb27979e1c810464347db9db Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Jun 5 09:33:28 2015 +0100 arm/arm64: KVM: Fix ordering of timer/GIC on guest entry As we now inject the timer interrupt when we're about to enter the guest, it makes a lot more sense to make sure this happens before the vgic code queues the pending interrupts. Otherwise, we get the interrupt on the following exit, which is not great for latency (and leads to all kind of bizarre issues when using with active interrupts at the HW level). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 48f8bd57756573b08520629a2413227fcdf058f5 Author: Vladimir Murzin <Vladimir.Murzin@xxxxxxx> Date: Tue Jul 28 10:42:23 2015 +0100 arm64: KVM: remove remaining reference to vgic_sr_vectors Since commit 8a14849 (arm64: KVM: Switch vgic save/restore to alternative_insn) vgic_sr_vectors is not used anymore, so remove remaining leftovers and kill the structure. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit bca556ac468ab4744692926b67cb525cdce850c9 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Jun 17 10:00:46 2015 +0100 arm64/kvm: Add generic v8 KVM target This patch adds a generic ARM v8 KVM target cpu type for use by the new CPUs which eventualy ends up using the common sys_reg table. For backward compatibility the existing targets have been preserved. Any new target CPU that can be covered by generic v8 sys_reg tables should make use of the new generic target. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Acked-by: Marc Zyngier <Marc.Zyngier@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5f1230c9b80b89f404938ff88dfa64a963f74f2c Merge: 709bc87 4605bb5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Aug 12 12:16:11 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Introduce 'srcfile' sort key: (Andi Kleen) # perf record -F 10000 usleep 1 # perf report --stdio --dsos '[kernel.vmlinux]' -s srcfile <SNIP> # Overhead Source File 26.49% copy_page_64.S 5.49% signal.c 0.51% msr.h # It can be combined with other fields, for instance, experiment with '-s srcfile,symbol'. There are some oddities in some distros and with some specific DSOs, being investigated, so your mileage may vary. - Update the column width for the "srcline" sort key (Arnaldo Carvalho de Melo) - Support per-event 'freq' term: (Namhyung Kim) $ perf record -e 'cpu/instructions,freq=1234/',cycles -c 1000 sleep 1 $ perf evlist -F cpu/instructions,freq=1234/: sample_freq=1234 cycles: sample_period=1000 $ Infrastructure changes: - Move perf_counts struct and functions into separate object (Jiri Olsa) - Unset perf_event_attr::freq when period term is set (Jiri Olsa) - Move callchain option parsing code to util.c (Kan Liang) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9b9412dc7008f360c8e8ed10a654d3c8719f69d8 Merge: 58ccab9 3dbe43f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Aug 12 12:12:12 2015 +0200 Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull RCU changes from Paul E. McKenney: - The combination of tree geometry-initialization simplifications and OS-jitter-reduction changes to expedited grace periods. These two are stacked due to the large number of conflicts that would otherwise result. [ With one addition, a temporary commit to silence a lockdep false positive. Additional changes to the expedited grace-period primitives (queued for 4.4) remove the cause of this false positive, and therefore include a revert of this temporary commit. ] - Documentation updates. - Torture-test updates. - Miscellaneous fixes. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ff277d4250fe715b6666219b1a3423b863418794 Author: Andrea Parri <parri.andrea@xxxxxxxxx> Date: Wed Aug 5 15:56:19 2015 +0200 sched/deadline: Fix comment in enqueue_task_dl() The "dl_boosted" flag is set by comparing *absolute* deadlines (c.f., rt_mutex_setprio()). Signed-off-by: Andrea Parri <parri.andrea@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438782979-9057-2-git-send-email-parri.andrea@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4ffa08ed4cc4c5d47d197d749aae6f79af91eb73 Author: Andrea Parri <parri.andrea@xxxxxxxxx> Date: Wed Aug 5 15:56:18 2015 +0200 sched/deadline: Fix comment in push_dl_tasks() The comment is "misleading"; fix it by adapting a comment from push_rt_tasks(). Signed-off-by: Andrea Parri <parri.andrea@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438782979-9057-1-git-send-email-parri.andrea@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6c37067e27867db172b988cc11b9ff921175dee5 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri May 15 17:43:36 2015 +0200 sched: Change the sched_class::set_cpus_allowed() calling context Change the calling context of sched_class::set_cpus_allowed() such that we can assume the task is inactive. This allows us to easily make changes that affect accounting done by enqueue/dequeue. This does in fact completely remove set_cpus_allowed_rt() and greatly reduces set_cpus_allowed_dl(). Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dedekind1@xxxxxxxxx Cc: juri.lelli@xxxxxxx Cc: mgorman@xxxxxxx Cc: riel@xxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Link: http://lkml.kernel.org/r/20150515154833.667516139@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5b2803840817115e9b568d5054e5007ae36176b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri May 15 17:43:35 2015 +0200 sched: Make sched_class::set_cpus_allowed() unconditional Give every class a set_cpus_allowed() method, this enables some small optimization in the RT,DL implementation by avoiding a double cpumask_weight() call. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dedekind1@xxxxxxxxx Cc: juri.lelli@xxxxxxx Cc: mgorman@xxxxxxx Cc: riel@xxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Link: http://lkml.kernel.org/r/20150515154833.614517487@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 25834c73f93af7f0712c98ca4593691592e6b360 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri May 15 17:43:34 2015 +0200 sched: Fix a race between __kthread_bind() and sched_setaffinity() Because sched_setscheduler() checks p->flags & PF_NO_SETAFFINITY without locks, a caller might observe an old value and race with the set_cpus_allowed_ptr() call from __kthread_bind() and effectively undo it: __kthread_bind() do_set_cpus_allowed() <SYSCALL> sched_setaffinity() if (p->flags & PF_NO_SETAFFINITIY) set_cpus_allowed_ptr() p->flags |= PF_NO_SETAFFINITY Fix the bug by putting everything under the regular scheduler locks. This also closes a hole in the serialization of task_struct::{nr_,}cpus_allowed. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dedekind1@xxxxxxxxx Cc: juri.lelli@xxxxxxx Cc: mgorman@xxxxxxx Cc: riel@xxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Link: http://lkml.kernel.org/r/20150515154833.545640346@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7855a35ac07a350e2cd26f09568a6d8e372be358 Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Mon Aug 10 18:02:55 2015 +0900 sched: Ensure a task has a non-normalized vruntime when returning back to CFS Current code ensures that a task has a normalized vruntime when switching away from the fair class, but it does not ensure the task has a non-normalized vruntime when switching back to the fair class. This is an example breaking this consistency: 1. a task is in fair class and !queued 2. changes its class to RT class (still !queued) 3. changes its class to fair class again (still !queued) Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439197375-27927-1-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e237882b8f83dd1a0eece1608bcb689d4f4b221b Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Aug 10 20:20:48 2015 -0500 sched/numa: Fix NUMA_DIRECT topology identification Systems which have all nodes at a distance of at most 1 hop should be identified as 'NUMA_DIRECT'. However, the scheduler incorrectly identifies it as 'NUMA_BACKPLANE'. This is because 'n' is assigned to sched_max_numa_distance but the code (mis)interprets it to mean 'number of hops'. Rik had actually used sched_domains_numa_levels for detecting a 'NUMA_DIRECT' topology: http://marc.info/?l=linux-kernel&m=141279712429834&w=2 But that was changed when he removed the hops table in the subsequent version: http://marc.info/?l=linux-kernel&m=141353106106771&w=2 Fixing the issue here. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439256048-3748-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29f5f4860a8ef9407736594ec43b4fa4152ac7fa Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Aug 7 20:01:32 2015 +0100 regulator: core: Move more deallocation into class unregister We really ought to be using the class dvice lifetime management features more than we are rather than open coding them so take a step towards that by moving some of the simplest deallocations to the dev_release() function. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1768514eebfa888563049fa165449a1c1eba92d8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Aug 7 21:19:26 2015 +0100 regulator: core: Reduce rdev locking region when releasing regulator When we release a regulator we need to remove references to it from the rdev which means locking the rdev. Currently we also free resources associated with the regulator inside the rdev lock but there is no need to do this, we can reduce the region the lock is held by restricting it to just actions that affect the rdev. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 16eefbd1ed4ff474807b1aad50bc2f6317fcb9f4 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Aug 3 11:29:30 2015 +0200 x86/kconfig: Enable CONFIG_JUMP_LABEL in the defconfigs Enable CONFIG_JUMP_LABEL in the defconfigs, the feature already deals with GCC not having the asm-goto feature so will not break the build on older compilers. Having it enabled generates a faster kernel at very little extra cost since we already include all the code patching code by having KPROBES enabled. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0ca326de7aa9cb253db9c1a3eb3f0487c8dbf912 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:44 2015 +0100 locking, ARM, atomics: Define our SMP atomics in terms of _relaxed() operations By defining our SMP atomics in terms of relaxed operations, we gain a small reduction in code size and have acquire/release/fence variants generated automatically by the core code. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-9-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cd074aea9261784e44f292e1132830ec221802c6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:43 2015 +0100 locking, include/llist: Use linux/atomic.h instead of asm/cmpxchg.h Including an asm/ header directly is best avoided, so use linux/atomic.h instead of asm/cmpxchg.h in linux/llist.h. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-8-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 77e430e3e45662b696dc49aa53ea0f7ac63f2574 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:42 2015 +0100 locking/qrwlock: Make use of _{acquire|release|relaxed}() atomics The qrwlock implementation is slightly heavy in its use of memory barriers, mainly through the use of _cmpxchg() and _return() atomics, which imply full barrier semantics. This patch modifies the qrwlock code to use the more relaxed atomic routines so that we can reduce the unnecessary barrier overhead on weakly-ordered architectures. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-7-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2b2a85a4d3534b8884fcfa5bb52837f0e1c672bc Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:41 2015 +0100 locking/qrwlock: Implement queue_write_unlock() using smp_store_release() Since the following commit: 536fa402221f ("compiler: Allow 1- and 2-byte smp_load_acquire() and smp_store_release()") smp_store_release() supports byte accesses, so use that in writer unlock and remove the conditional macro override. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Waiman Long <Waiman.Long@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-6-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f5468ffde13fc991bd4d6bdec507ffd5777865bd Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:40 2015 +0100 locking/lockref: Remove homebrew cmpxchg64_relaxed() macro definition cmpxchg64_relaxed() is now defined by linux/atomic.h, so we can remove our local definition from the lockref code. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-5-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6d79ef2d30ee5af7315535d1e7bf6fce0008f815 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:39 2015 +0100 locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t' This patch adds 'atomic_long_t' wrappers for the new relaxed atomic operations. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-4-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 586b610e43a5ad5096640312fefa6ce931738c7d Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:38 2015 +0100 locking, asm-generic: Rework atomic-long.h to avoid bulk code duplication We can use some (admittedly ugly) macros to generate the 32-bit and 64-bit based atomic_long implementations from the same code. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-3-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 654672d4ba1a6001c365833be895f9477c4d5eab Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Aug 6 17:54:37 2015 +0100 locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations Whilst porting the generic qrwlock code over to arm64, it became apparent that any portable locking code needs finer-grained control of the memory-ordering guarantees provided by our atomic routines. In particular: xchg, cmpxchg, {add,sub}_return are often used in situations where full barrier semantics (currently the only option available) are not required. For example, when a reader increments a reader count to obtain a lock, checking the old value to see if a writer was present, only acquire semantics are strictly needed. This patch introduces three new ordering semantics for these operations: - *_relaxed: No ordering guarantees. This is similar to what we have already for the non-return atomics (e.g. atomic_add). - *_acquire: ACQUIRE semantics, similar to smp_load_acquire. - *_release: RELEASE semantics, similar to smp_store_release. In memory-ordering speak, this means that the acquire/release semantics are RCpc as opposed to RCsc. Consequently a RELEASE followed by an ACQUIRE does not imply a full barrier, as already documented in memory-barriers.txt. Currently, all the new macros are conditionally mapped to the full-mb variants, however if the *_relaxed version is provided by the architecture, then the acquire/release variants are constructed by supplementing the relaxed routine with an explicit barrier. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman.Long@xxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438880084-18856-2-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ba33034fffc1189d95301bd865f1c799256e72a2 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Aug 4 09:55:48 2015 +0200 locking, compiler.h: Cast away attributes in the WRITE_ONCE() magic The kernel build bot showed a new warning triggered by commit: 76695af20c01 ("locking, arch: use WRITE_ONCE()/READ_ONCE() in smp_store_release()/smp_load_acquire()") because Sparse does not like WRITE_ONCE() accessing elements from the (sparse) RCU address space: fs/afs/inode.c:448:9: sparse: incorrect type in initializer (different address spaces) fs/afs/inode.c:448:9: expected struct afs_permits *__val fs/afs/inode.c:448:9: got void [noderef] <asn:4>*<noident> Solution is to force cast away the sparse attributes for the initializer of the union in WRITE_ONCE(). (And as this now gets too long, also split the macro into multiple lines.) Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438674948-38310-2-git-send-email-borntraeger@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f52609fdabb1c726f8b9fdf64df3161781aa186e Merge: 20f9ed1 41b9e9f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Aug 12 11:44:30 2015 +0200 Merge branch 'locking/arch-atomic' into locking/core, because it's ready for upstream Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 709bc871923c12b284424f9d47b99dc975ba8b29 Author: Takao Indoh <indou.takao@xxxxxxxxxxxxxx> Date: Tue Aug 4 18:36:55 2015 +0900 perf/x86/intel/pt: Clean up files of Intel Processor Trace This patch just cleans up some files of Intel Processor Trace, does not change its behavior. This patch removes unused definitions and replaces a constant value with a macro. Signed-off-by: Takao Indoh <indou.takao@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Alexander Shishkin<alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H.Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438681015-5124-1-git-send-email-indou.takao@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c2ad6b51efc5f27d70ce952decd2a15679b83600 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Jul 28 09:00:04 2015 +0300 perf/ring-buffer: Clarify the use of page::private for high-order AUX allocations A question [1] was raised about the use of page::private in AUX buffer allocations, so let's add a clarification about its intended use. The private field and flag are used by perf's rb_alloc_aux() path to tell the pmu driver the size of each high-order allocation, so that the driver can program those appropriately into its hardware. This only matters for PMUs that don't support hardware scatter tables. Otherwise, every page in the buffer is just a page. This patch adds a comment about the private field to the AUX buffer allocation path. [1] http://marc.info/?l=linux-kernel&m=143803696607968 Reported-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438063204-665-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 19b3340cf58d14decf2898fc795cc2b1fa49e79e Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Aug 6 17:26:58 2015 +0200 perf/x86: Fix MSR PMU driver Currently we only update the sysfs event files per available MSR, we didn't actually disallow creating unlisted events. Rework things such that the dectection, sysfs listing and event creation are better coordinated. Sadly it appears it's impossible to probe R/O MSRs under virt. This means we have to do the full model table to avoid listing all MSRs all the time. Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3d325bf0da91ca5d22f2525a72308dafd4fc0977 Merge: f1d800b d7a702f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Aug 12 11:39:19 2015 +0200 Merge branch 'perf/urgent' into perf/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8de4efdaf3db897022fd20cc7b9168678417926c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Aug 8 17:58:41 2015 +0200 mfd: axp20x: Add a cell for the usb power_supply part of the axp20x PMICs Add a cell for the usb power_supply part of the axp20x PMICs. Note that this cell is only for the usb power_supply part and not the ac-power / battery-charger / rtc-backup-bat-charger bits. Depending on the board each of those must be enabled / disabled separately in devicetree as most boards do not use all 4. So in dt each one needs its own child-node of the axp20x node. Another reason for using separate child nodes for each is so that other devicetree nodes can have a power-supply property with a phandle referencing a node representing a single power-supply. The decision to use a separate devicetree node for each is reflected on the kernel side by each getting its own mfd-cell / platform_device and platform-driver. Note this commit also makes some whitespace changes to the intialization of existing cells in axp20x_cells, these are pure whitespace changes, functionally nothing changes. Signed-off-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 553ed4b5dff66dbb10c20599e493b72ec6af72ab Author: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Date: Sat Aug 8 17:58:40 2015 +0200 mfd: axp20x: Add missing registers, and mark more registers volatile Add an extra set of registers which is necessary tu support the PMICs battery charger function, and mark registers which contain status bits, gpio status, and adc readings as volatile. Signed-off-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3762aede11e516b7a392afdc1e070171e6f6cd00 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 09:34:31 2015 +0100 mfd: arizona: Fixup some formatting/white space errors Clear out a few checkpatch warnings and white space errors. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 05743b3a09e905b4b09681639fa386feb6a96b5a Author: Keerthy <j-keerthy@xxxxxx> Date: Fri Aug 7 10:37:19 2015 +0530 ARM: dts: AM4372: Add the am4372-rtc compatible string am4372-rtc string was already part of dts, introduced to identify the rtc specific to am4372 family of SoCs. It was removed in one of the previous patches. Adding back the same with appropriate documentation. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit aced04843278662c9058a8ff72619af9a4d84065 Merge: ed05637 dff8a20 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Aug 12 01:38:08 2015 -0700 Merge branch 'for-4.3/ti-clk-dt' of https://github.com/t-kristo/linux-pm into omap-for-v4.3/dt-v2 commit bea047e075784471461c4338d0ffa45cb1378d67 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Tue Jul 28 11:52:42 2015 +0200 clk: rockchip: Fix SPIF special clock definition Neither spdif_src nor spdif_pll exists, judging by the vendor kernel in both cases spdif_pre was meant. This brings the naming in line and hierachy in line with that of sclk_i2s0. Also allow sclk_spdif and spdif_frac to change their parents rate as that the upstream dividers are purely there to feed sclk_spdif Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit d24d2ec60f7b52c0eca1c52f821777329e5ffac1 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Mon Jul 20 12:33:04 2015 -0700 clk: bcm2835: Drop the fixed sys_pclk. Nothing uses it, and I can't find any evidence that anything ever has. Its role is now filled by the core clock in the firmware driver. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit e6500344edbbc405cde8d20a9c0d165a4efa9142 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Apr 22 22:53:05 2015 +0200 clk: track the orphan status of clocks and their children While children of orphan clocks are not carried in the orphan-list itself, they're nevertheless orphans in their own right as they also don't have an input-rate available. To ease tracking if a clock is an orphan or has an orphan in its parent path introduce an orphan field into struct clk and update it and the fields in child-clocks when a clock gets added or removed from the orphan-list. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Alex Elder <elder@xxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: kernel@xxxxxxxxxxxxxx Cc: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Cc: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Cc: Chao Xie <chao.xie@xxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Stefan Wahren <stefan.wahren@xxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Barry Song <baohua@xxxxxxxxxx> Cc: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.linux@xxxxxxxxx> Cc: Gabriel FERNANDEZ <gabriel.fernandez@xxxxxx> Cc: emilio@xxxxxxxxxxxxx Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: s/clk/core/ in new function] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ee38b2698ae234c03f65ccafa1811d4dda3c316d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:22 2015 +0200 clk: sunxi: Add a simple gates driver The gates were handled with a common piece of framework that was registering all gates array, that was not using the CLK_OF_DECLARE logic, and was not using clock-indices but some private masks that were pretty much equivalent. Move this code in a new driver that handles all the gates array and solves both these issues. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Include clk.h for consumer API usage] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 06f282757acb92b5bdb208bebd38a4785fae49bd Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:21 2015 +0200 ARM: sun9i: Wrap the clock-indices Wrap the clock-indices to match the wrapping of the clock-output-names in order to make it easier to match indices to names. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit c0a6e360a42a327c1b270d8e0f625175d4ecb500 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:20 2015 +0200 ARM: sun8i: Add clock indices The A23 and A33 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 6bfe30b2fd405052af0172b276f64be8dce4ede9 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:19 2015 +0200 ARM: sun7i: Add clock indices The A20 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit dbbb69223c603a08a176b1f3242e7d47a030d94e Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:18 2015 +0200 ARM: sun6i: Add clock indices The A31 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit dd4de433aa7110c83ba12d1d70d35f4cf6aec543 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:17 2015 +0200 ARM: sun5i: Add clock indices The A10s and A13 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit a38540068f6eaf2420a281185aab1b49bea3759b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 19:46:16 2015 +0200 ARM: sun4i: Add clock indices The A10 gates have a non continuous set of clock IDs that are valid. Add the clock-indices property to the DT to express this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 5c489ccad8bff90a12de245995d6f146e7a6ba01 Merge: e8f35aa 3713e3f Author: Michael Turquette <mturquette@xxxxxxxxxxxx> Date: Tue Aug 11 10:44:24 2015 -0700 Merge tag 'imx-clk-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into clk-next The i.MX clock updates for 4.3: - Provide a better IPU clock initial settings on imx6dl for getting HDMI and LVDS at the same time. - Add clock driver support for i.MX6UL SoC - Add a second clock for RTC device on i.MX31 and i.MX35 commit e69948a0a5309f3ef5715cb4ca7a9bd77d64e2cf Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Aug 11 13:35:01 2015 -0700 net: Document xfrm4_gc_thresh and xfrm6_gc_thresh This change adds documentation for xfrm4_gc_thresh and xfrm6_gc_thresh based on the comments in commit eeb1b73378b56 ("xfrm: Increase the garbage collector threshold"). Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 9afac933433ca71e0f78958a1286a8d3b9de5582 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 18:35:07 2015 +0530 powerpc/prom: Use DRCONF flags while processing detected LMBs Replace hard coded values with existing DRCONF flags while procesing detected LMBs from the device tree. Does not change any functionality. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8218a3031c204b20582ba689aaf3bb6d318779d3 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:40:04 2015 +0530 powerpc/xmon: Drop the valid variable completely in dump_segments() The value of 'valid' is always zero when 'esid' is zero, and if 'esid' is non-zero then the value of 'valid' is irrelevant because we are using logical or in the if expression. In fact 'valid' can be dropped completely from dump_segments() by simply doing the check with SLB_ESID_V directly in the if. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Rewrite change log] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9c61f7a0ad6fdff85b0c4c648e0c94947ea05c76 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:40:03 2015 +0530 powerpc/prom: Simplify the logic to fetch SLB size The code to fetch the SLB size from the device tree wants to first look for "slb-size" and then if that's not found "ibm,slb-size". We can simplify the code by looking for the properties and then if we find one of them we set mmu_slb_size. We also change the function name from check_cpu_slb_size() to init_mmu_slb_size() as the function doesn't check anything, it only initialises mmu_slb_size. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Rewrite change log] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 79d0be7407955a268bcee5a33e338e14fdc74bfa Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:40:02 2015 +0530 powerpc/slb: Add documentation on runtime patching of SLB encoding This patch adds some documentation to patch_slb_encoding() explaining how it works. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Update change log and mention the signedness of the immediate] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2be682af48e8236558da702fe67e178cfe7524a1 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:39:59 2015 +0530 powerpc/slb: Rename all the 'slot' occurrences to 'entry' The SLB code uses 'slot' and 'entry' interchangeably, change it to always use 'entry'. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Rewrite change log] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 752b8adec4a776b4fdf01cf9443921bb3ba38779 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:39:58 2015 +0530 powerpc/slb: Remove a duplicate extern variable This patch just removes one redundant entry for one extern variable 'slb_compare_rr_to_size' from the scope. This patch does not change any functionality. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 83c3fee7e78f5a937b734f1ba954c5cdcb2be755 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 7 13:18:20 2015 +1000 cxl: sparse: Silence iomem warning in debugfs file creation An IO address, tagged with __iomem, is passed to debugfs_create_file as private data. This requires that it be cast to void *. The cast drops the __iomem annotation and so creates a sparse warning: drivers/misc/cxl/debugfs.c:51:57: warning: cast removes address space of expression The address space marker is added back in the file operations (fops_io_u64). Silence the warning with __force. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3d6b040e73387570521da4aedfd03d2643acdae7 Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 7 13:18:18 2015 +1000 cxl: sparse: Make declarations static A few declarations were identified by sparse as needing to be static: drivers/misc/cxl/irq.c:408:6: warning: symbol 'afu_irq_name_free' was not declared. Should it be static? drivers/misc/cxl/irq.c:467:6: warning: symbol 'afu_register_hwirqs' was not declared. Should it be static? drivers/misc/cxl/file.c:254:6: warning: symbol 'afu_compat_ioctl' was not declared. Should it be static? drivers/misc/cxl/file.c:399:30: warning: symbol 'afu_master_fops' was not declared. Should it be static? Make them static. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit aa62efff65ba572814511efa68cb158fe9e960c4 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Aug 11 13:29:48 2015 +0100 MAINTAINERS: The keyrings mailing list has moved The keyrings mailing list has moved to keyrings@xxxxxxxxxxxxxxx Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 60c0745a80be075bbd4e0925e4b740b3e588a445 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:13 2015 +0200 ARM: shmobile: r8a7794 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4b31bad51f83bcce039e43f1659ffcb4bff454dc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:12 2015 +0200 ARM: shmobile: r8a7793 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 797a0626e08ca4af539cd4888ebbc8c5aacc993d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:11 2015 +0200 ARM: shmobile: r8a7791 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Notable exceptions are the "display" and "sound" nodes, which represent multiple SoC devices, each having their own MSTP clocks. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 484adb005886b1db79050afc7074d2356618b0c2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:10 2015 +0200 ARM: shmobile: r8a7790 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Notable exceptions are the "display" and "sound" nodes, which represent multiple SoC devices, each having their own MSTP clocks. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 33c3632a3f692d82ee0d080350bcd6d1c4cd151f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:09 2015 +0200 ARM: shmobile: r8a7779 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a670f3667a0ad53eef1f66fde41acca890462ec9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:08 2015 +0200 ARM: shmobile: r8a7778 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. A notable exception is the "sound" node, which represents multiple SoC devices, each having their own MSTP clocks. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cbe1f83818c6e2c05fca5045fcc4807177988d61 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:07 2015 +0200 ARM: shmobile: r7s72100 dtsi: Add CPG/MSTP Clock Domain Add an appropriate "#power-domain-cells" property to the cpg_clocks device node, to create the CPG/MSTP Clock Domain. Add "power-domains" properties to all device nodes for devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock. This applies to most on-SoC devices, which have a one-to-one mapping from SoC device to DT device node. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3f3f0ea0afe031ca20e48a212f4faa00f9920450 Merge: 94bdc48 f04b486 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Aug 12 11:15:19 2015 +0900 Merge branch 'clk-for-v4.3' into dt-for-v4.3 commit f04b486d34ac6bab2aaa3988ee098b2bad3950de Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:06 2015 +0200 clk: shmobile: rz: Add CPG/MSTP Clock Domain support Add Clock Domain support to the RZ Clock Pulse Generator (CPG) driver using the generic PM Domain. This allows to power-manage the module clocks of SoC devices that are part of the CPG/MSTP Clock Domain using Runtime PM, or for system suspend/resume. SoC devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock should be tagged in DT with a proper "power-domains" property. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 63e05d9365dc25ae71bdde436b27c49daedf1977 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:05 2015 +0200 clk: shmobile: rcar-gen2: Add CPG/MSTP Clock Domain support Add Clock Domain support to the R-Car Gen2 Clock Pulse Generator (CPG) driver using the generic PM Domain. This allows to power-manage the module clocks of SoC devices that are part of the CPG/MSTP Clock Domain using Runtime PM, or for system suspend/resume. SoC devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock should be tagged in DT with a proper "power-domains" property. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b31fc90c14d9e584ac19983686cecab3e0764289 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:04 2015 +0200 clk: shmobile: r8a7779: Add CPG/MSTP Clock Domain support Add Clock Domain support to the R-Car H1 Clock Pulse Generator (CPG) driver using the generic PM Domain. This allows to power-manage the module clocks of SoC devices that are part of the CPG/MSTP Clock Domain using Runtime PM, or for system suspend/resume. SoC devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock should be tagged in DT with a proper "power-domains" property. Also update the reg property in the DT binding doc example to match the actual dtsi, which uses #address-cells and #size-cells == 1, not 2. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8bc964aa25e56b7445ffebffccd455f959370a16 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:03 2015 +0200 clk: shmobile: r8a7778: Add CPG/MSTP Clock Domain support Add Clock Domain support to the R-Car M1A Clock Pulse Generator (CPG) driver using the generic PM Domain. This allows to power-manage the module clocks of SoC devices that are part of the CPG/MSTP Clock Domain using Runtime PM, or for system suspend/resume. SoC devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock should be tagged in DT with a proper "power-domains" property. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 752b5ed5f6998e118626feea7375782c4cf5aad6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:02 2015 +0200 clk: shmobile: Add CPG/MSTP Clock Domain support Add Clock Domain support to the Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks driver using the generic PM Domain. This allows to power-manage the module clocks of SoC devices that are part of the CPG/MSTP Clock Domain using Runtime PM, or for system suspend/resume. SoC devices that are part of the CPG/MSTP Clock Domain and can be power-managed through an MSTP clock should be tagged in DT with a proper "power-domains" property. The CPG/MSTP Clock Domain code will scan such devices for clocks that are suitable for power-managing the device, by looking for a clock that is compatible with "renesas,cpg-mstp-clocks". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2b347c6494cbc6bfdc81b5201b8aa34afb2c3500 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Aug 12 07:47:17 2015 +0900 ARM: exynos_defconfig: Enable cpufreq-dt driver With the latest patches the cpufreq-dt can be used on multiple Exynos SoCs: 3250, 4210, 4212, 4412 and 5250. Enable it along with default ondemand governor to conserve the energy, reduce temperature while maintaining acceptable performance. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c3e71f4b5f580b43e0eb3be18059c8844d8713e7 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 16 08:39:42 2015 +0200 ARM: multi_v7_defconfig: Enable max77802 regulator The Exynos5420 based Peach Pit and Exynos5800 based Peach Pi Chromebooks use the Maxim max77802 Power Management IC (PMIC). This PMIC has besides other devices, a set of regulators that can be controller over I2C. Commit f3caa529c6f5 ("ARM: multi_v7_defconfig: Enable max77802 regulator, rtc and clock drivers") was supposed to enable the config option for the regulator driver as a module but the final version that landed did not include this. The commit was modified and the REGULATOR_MAX77802 removed since it was thought to be useless. Unfortunately that's not the case for the mentioned reason above so this patch enables the needed Kconfig option. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> [kgene@xxxxxxxxxx: fixed ordering according to make savedefconfig] Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ca05189716c2ce02c60303e9c1228a61d1cb9542 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 19:24:05 2015 -0300 [media] c8sectpfe: use a new Kconfig menu for DVB platform drivers While this is the first DVB platform drivers, let's keep the Kconfig options well organized, adding it on its own DVB menu. Of course, it should depend on MEDIA_DIGITAL_TV_SUPPORT, as this enables all DVB-related menus. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7d0ddc91c854f1f42fd7165e259b3573f53c1d73 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 19:08:59 2015 -0300 [media] tda10071: use div_s64() when dividing a s64 integer Otherwise, it will break on 32 bits archs. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 53cc7c9043f0a68a66e53623b114c86051a7250c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 18:58:31 2015 -0300 [media] c8sectpfe: fix pinctrl dependencies compiling on some archs fail with: drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:540:8: error: implicit declaration of function â??pinctrl_select_stateâ?? [-Werror=implicit-function-declaration] ret = pinctrl_select_state(fei->pinctrl, tsin->pstate); That's due the need of including pinctrl.h header and because CONFIG_PINCTRL needs to be true. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9f61668073a8d80650622e792aff876db9ca23c6 Author: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Date: Mon Aug 10 14:35:46 2015 +0200 tracing: Allow triggers to filter for CPU ids and process names By extending the filter rules by more generic fields we can write triggers filters like echo 'stacktrace if cpu == 1' > \ /sys/kernel/debug/tracing/events/raw_syscalls/sys_enter/trigger or echo 'stacktrace if comm == sshd' > \ /sys/kernel/debug/tracing/events/raw_syscalls/sys_enter/trigger CPU and COMM are not part of struct trace_entry. We could add the two new fields to ftrace_common_field list and fix up all depending sides. But that looks pretty ugly. Another thing I would like to avoid that the 'format' file contents changes. All this can be avoided by introducing another list which contains non field members of struct trace_entry. Link: http://lkml.kernel.org/r/1439210146-24707-1-git-send-email-daniel.wagner@xxxxxxxxxxxx Signed-off-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2696f495bdc046d84da6c909a1e7f535138a2a62 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Aug 6 06:54:22 2015 -0300 [media] Staging: media: lirc: use USB API functions rather than constants This patch introduces the use of the function usb_endpoint_type. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) + usb_endpoint_type(epd) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7229f8c143dd932719530fb2fe4883f011917554 Author: pradheep <pradheep.sh@xxxxxxxxx> Date: Mon Aug 3 04:56:31 2015 -0300 [media] staging:media:lirc Remove the extra braces in if statement of lirc_imon This patche removes the extra braces found in drivers/staging/media/lirc/lirc_imon.c to fix the warning thrown by checkpatch.pl Signed-off-by: Pradheep Shrinivasan <pradheep.sh@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 73c8f0cbb04ab6bb549d74324fdc2b8b49330724 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Tue Jul 28 19:09:10 2015 +0530 ARM: dts: am57xx-evm: Add 'gpios' property with gpio2_8 gpio2_8 is connected to the PCIe_RESETn line and it has to be driven low to reset the PCIe cards. Add gpios property to PCIe DT node. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5473387b9382a35967d1fcd550482efa3a31d44f Author: Zahari Doychev <zahari.doychev@xxxxxxxxx> Date: Mon Aug 3 08:57:19 2015 -0300 [media] coda: drop zero payload bitstream buffers The buffers with zero payload are now dumped in coda_fill_bitstream and not passed to coda_bitstream_queue. This avoids unnecessary fifo addition and buffer sequence counter increment. Signed-off-by: Zahari Doychev <zahari.doychev@xxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 78bdcad05ea17fa1fe4644324b877162b1df4e16 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Tue Jul 28 19:09:09 2015 +0530 PCI: dra7xx: Add support to make GPIO drive PERST# line The PERST# line in am57x-evm is connected to a GPIO line and PERST# should be driven high to indicate the clocks are stable (As per Figure 2-10: Power Up of the PCIe CEM spec 3.0). Add support to make GPIO drive PERST# line. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit efb4b8b60d79f52a72e3698aa14e6ad2ad25db34 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 13:18:36 2015 -0300 [media] staging: media: lirc: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ed8d1cf07cb16dacc5414cb46a5a48517c9b98f9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 13:18:29 2015 -0300 [media] Export I2C module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 389c7094ec241ee8ebe358ba10fe392018692c8c Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Fri Jul 31 17:55:12 2015 +0530 PCI: dra7xx: Clear MSE bit during suspend so clocks will idle DRA7xx requires the MSE bit to be cleared to set the master in standby mode. (In DRA7xx TRM_vE, section 24.9.4.5.2.2.1 PCIe Controller Master Standby Behavior advises to use the clearing of the local MSE bit to set the master in standby. Without this some of the clocks do not idle). Clear the MSE bit on suspend and enable it on resume. Clearing MSE bit is required to get clocks to be idled after suspend. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit e52eb445ea1d97bf7fb92d2297e487a305392136 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Fri Jul 31 17:55:11 2015 +0530 PCI: dra7xx: Add PM support Add PM support to pci-dra7xx so PCI clocks can be disabled during suspend and enabled during resume without affecting PCI functionality. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit 0e2bdb0e7abf4b5170874e415ec42df547916dd3 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Fri Jul 31 17:55:10 2015 +0530 PCI: dra7xx: Disable pm_runtime on get_sync failure Fix the error handling when pm_runtime_get_sync() fails. If pm_runtime_get_sync() fails, call pm_runtime_disable() so there are no unbalanced pm_runtime_enable() calls. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit 05aa7d6a72c1fca809e4d8bfdc5fa202cb8bed37 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Jul 25 21:15:24 2015 +0200 PCI: iproc: Allow BCMA bus driver to be built as module Change CONFIG_PCIE_IPROC_BCMA to tristate to make it possible to build this driver as a module. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ray Jui <rjui@xxxxxxxxxxxx> commit 95e16587ccd0f330e349360de048ebd4432d4b2c Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Aug 10 12:32:04 2015 -0600 PCI: Add ACS quirks for Intel I219-LM/V The Intel 100-series chipset now includes the integrated Ethernet as part of a multifunction package. The Ethernet function does not include native ACS support, but Intel confirms that the device is not capable of peer-to- peer within the package. We can therefore quirk it to expose the isolation. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: John Ronciak <john.ronciak@xxxxxxxxx> commit 3e14675335a15e1a91573837a15ff3bbb50bc14f Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:21 2015 -0500 PCI: Kill off set_irq_flags() usage set_irq_flags is ARM-specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions, and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE, and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> CC: Kishon Vijay Abraham I <kishon@xxxxxx> CC: Murali Karicheri <m-karicheri2@xxxxxx> CC: Thierry Reding <thierry.reding@xxxxxxxxx> CC: Stephen Warren <swarren@xxxxxxxxxxxxx> CC: Alexandre Courbot <gnurou@xxxxxxxxx> CC: Jingoo Han <jingoohan1@xxxxxxxxx> CC: Pratyush Anand <pratyush.anand@xxxxxxxxx> CC: Simon Horman <horms@xxxxxxxxxxxx> CC: Michal Simek <michal.simek@xxxxxxxxxx> CC: "Sören Brinkmann" <soren.brinkmann@xxxxxxxxxx> commit ea9eb698b2f59e16fbf9f480a9b35ddfb3c3a789 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Aug 11 21:44:10 2015 +0200 documentation: networking: add 6lowpan documentation This patch adds a 6lowpan.txt into the networking documentation directory. Currently this documentation describes how the lowpan private data of net devices will be handled. Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: linux-doc@xxxxxxxxxxxxxxx Suggested-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4ae935c127f701bc06afd0d5567e17511a6d25e8 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Aug 11 21:44:09 2015 +0200 6lowpan: move module_init into core functionality This patch moves module_init of 6lowpan module into core functionality of 6lowpan module. To load the ipv6 module at probing of the 6lowpan module should be core functionality. Loading next header compression modules is iphc specific. Nevertheless we only support IPHC for the generic 6LoWPAN branch right now so we can put it into the core functionality. If possible new compression formats are introduced nhc should load only when iphc is build. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b72f6f51dc5abce94c1b5ee0186e9407ea0f919f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Aug 11 21:44:08 2015 +0200 6lowpan: add generic 6lowpan netdev private data This patch introduced the 6lowpan netdev private data struct. We name it lowpan_priv and it's placed at the beginning of netdev private data. All lowpan interfaces should allocate this room at first of netdev private data. 6LoWPAN LL private data can be allocate by additional netdev private data, e.g. dev->priv_size should be "sizeof(struct lowpan_priv) + sizeof(LL_LOWPAN_PRIVATE_DATA)". Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a42bbba5afd8613374ed043af3b3eda7e0e0e6bb Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Aug 11 21:44:07 2015 +0200 Bluetooth: 6lowpan: change netdev_priv to lowpan_dev The usually way to get the btle lowpan private data is to use the introduced lowpan_dev inline function. This patch will cleanup by using lowpan_dev consequently. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 118612fb91657f041f47d7a29d09e02a86a62ed7 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:35:38 2015 +0200 Bluetooth: hci_bcm: Add suspend/resume PM functions Add reference to hci_uart structure to bcm_device. This allows suspend/resume callbacks to manage UART flow control. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ae056908862bf1ec8d56bc365280f3dab7941886 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:35:37 2015 +0200 Bluetooth: hci_bcm: Retrieve UART speed from ACPI Parse platform_device's ACPI to retrieve UART init speed. When BCM device is open, check if its TTY has same parent as one of the platform devices saved. If yes, use platform_device's init speed. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9e6080936c3e507da60492a8a606bdd1164baa81 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:35:36 2015 +0200 net: rfkill: gpio: Remove BCM2E39 support Power management support for BCM2E39 is now performed in Bluetooth BCM UART driver. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0395ffc1ee0509df11ad830772c22d13627e02ec Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:35:35 2015 +0200 Bluetooth: hci_bcm: Add PM for BCM devices Retrieve "shutdown" and "device_wakeup" GPIOs from ACPI. Set device off during platform device enumeration. Set device on only when attached. As driver can be unbound we need to check if the bcm_device still exists before calling GPIO's functions, this is protected using device_list_lock. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7612cf97ec8533b361529fc864508d1caaf47a87 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:13:54 2015 -0300 [media] c8sectpfe: don't go past channel_data array As reported by smatch: drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:365 find_channel() error: buffer overflow 'fei->channel_data' 8 <= 63 It seems that a cut-and-paste type of error occurred here: the channel_data array size is C8SECTPFE_MAX_TSIN_CHAN, and not C8SECTPFE_MAXCHANNEL. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 409e9eff727295b93a5dde51988a6f8646e5aa6b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 16:09:21 2015 -0300 [media] c8sectpfe: Allow compiling it with COMPILE_TEST While it won't work, it is good to allow it to build with COMPILE_TEST, as we can check if other patches would break compilation for this driver. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 95d66b161630c9fd26324262732b3854e497a802 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:09:01 2015 -0300 [media] MAINTAINERS: Add c8sectpfe driver directory to STi section Add the new c8sectpfe demux driver to the STi section of the MAINTAINERS file. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 850a3f7d5911bbbdf3eedf2db9083546d49ea806 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:09:00 2015 -0300 [media] c8sectpfe: Add Kconfig and Makefile for the driver This patch adds the Kconfig and Makefile for the c8sectpfe driver so it will be built. It also selects additional demodulator and tuners which are required by the supported NIM cards. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 03ad477615c98239cfa41a28c1c38a9a6d6ba291 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:59 2015 -0300 [media] c8sectpfe: Add c8sectpfe debugfs support Some basic debugfs support to dump the IP registers. Further statistics could easily be added in the future for example for each enabled tsin channel we could expose number of corrupt packets received etc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e77a0cbe6c087d3f181d9058879c45f9b19cce90 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:58 2015 -0300 [media] c8sectpfe: Add support for various ST NIM cards This patch adds support for the following 2 NIM cards: - 1) B2100A (2x stv0367 demods & 2x NXP tda18212 tuners) 2) STV0903-6110NIM (stv0903 demod + 6110 tuner, lnb24) A NIM card is a cold plugable expansion card which usually features a demodulator / tuner combination. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b5e208a6843225d90c297da273d4d2ebd027417b Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:57 2015 -0300 [media] c8sectpfe: Add LDVB helper functions These functions are used by the core code for creating the LDVB devices and adapter. Addtionally some older SoC's (and potentially newer ones) have different frontend HW which would allow those devices to be easily supported in the future by keeping the code specific to the IP separate from the more generic code. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5f5d0f99794cfb675ecacfe37a1b33b352b9752 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:56 2015 -0300 [media] c8sectpfe: STiH407/10 Linux DVB demux support This patch adds support for the c8sectpfe input HW found on STiH407/410 SoC's. It currently supports the TS input block, memdma engine and hw PID filtering blocks of the C8SECTPFE subsystem. The driver creates one LinuxDVB adapter, and a demux/dvr/frontend set of devices for each tsin channel which is specificed in the DT. It has been tested with multiple tsin channels tuned, locked, and grabbing TS simultaneously. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit adc6310ca49e2c007e1a86ff11a4c215687116d4 Merge: cdf0969 ba14d9e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 11 12:03:20 2015 -0700 Merge branch 'mv88e6xxx-switchdev-fdb' Vivien Didelot says: ==================== net: dsa: mv88e6xxx: support switchdev FDB objects This patchset refactors the FDB management in the mv88e6xxx code and adds the glue in DSA to use the switchdev FDB objects. Below is an usage example (ports 0-2 belongs to br0, ports 3-4 belongs to br1): # bridge fdb add 3c:97:0e:11:30:6e dev swp2 # bridge fdb add 3c:97:0e:11:40:78 dev swp3 # bridge fdb add 3c:97:0e:11:50:86 dev swp4 # bridge fdb del 3c:97:0e:11:40:78 dev swp3 # bridge fdb 01:00:5e:00:00:01 dev eth0 self permanent 01:00:5e:00:00:01 dev eth1 self permanent 00:50:d2:10:78:15 dev swp0 master br0 permanent 3c:97:0e:11:30:6e dev swp2 self static 00:50:d2:10:78:15 dev swp3 master br1 permanent 3c:97:0e:11:50:86 dev swp4 self static # cat /sys/kernel/debug/dsa0/atu # DB T/P Vec State Addr # 001 Port 004 e 3c:97:0e:11:30:6e # 004 Port 010 e 3c:97:0e:11:50:86 For the 88E6xxx switches, FIDs 1 to num_ports will be reserved for non-bridged ports and bridge groups, and the remaining will be later used by VLANs. This change is necessary to welcome the support for hardware VLANs (which will follow soon). Changes in v3: - reorder commits to improve bisectability and minimize diffs - add an ndm_state member in switchdev_fdb_obj instead of an is_static boolean - drop the need to convert unsigned char *addr to u8 addr[ETH_ALEN] (it is casted to char pointer anyway) Changes in v2: - remove ndo_bridge_{get,set,del}link from switchdev/DSA glue code - use ether_addr_copy instead of memcpy for MAC addresses - constify MAC address in port_fdb_{add,del} - split the mv88e6xxx code refactoring into several patches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba14d9eb1999cad5b810f1fd97d1cb2d3f00869e Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:53 2015 -0400 net: dsa: add support for switchdev FDB objects Implement the switchdev_port_obj_{add,del,dump} functions in DSA to support the SWITCHDEV_OBJ_PORT_FDB objects. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce80e7bc57e25062c361de8fb6444129a63bac6d Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:52 2015 -0400 net: switchdev: support static FDB addresses This patch adds an ndm_state member to the switchdev_obj_fdb structure, in order to support static FDB addresses. Set Rocker ndm_state to NUD_REACHABLE. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d1940464e4846912a4f1480648a1571065f1eea Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:51 2015 -0400 net: dsa: mv88e6xxx: rework FDB Get Next operation Add a low level _mv88e6xxx_atu_getnext function for convenient access to the hardware, and rework the FDB Get Next operation. This will ease the future integration with VLAN IDs. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd231c829b252303183d1f2f0c11003908f7bb9a Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:50 2015 -0400 net: dsa: mv88e6xxx: rework FDB add/del operations Add a mv88e6xxx_atu_entry structure and a low level function for the ATU Load operation, and provide FDB add and delete wrappers functions. This implementation handles the eventual trunk mapping. If the related bit is set, then the ATU data register would contain the trunk ID, and not the port vector. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a778e1b58990e15de5cba4badec1fa7ecb87e80 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:49 2015 -0400 net: dsa: change FDB routines prototypes Change the prototype of port_getnext to include a vid parameter. This is necessary to introduce the support for VLAN. Also rename the fdb_{add,del,getnext} function pointers to port_fdb_{add,del,getnext} since they are specific to a given port. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5723ac51f2a1eaa69d831b919129a3c2b7efeee Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:48 2015 -0400 net: dsa: mv88e6xxx: rename ATU MAC accessors Rename the __mv88e6xxx_{read,write}_addr functions to more explicit _mv88e6xxx_atu_mac_{read,write} functions, which also respect the single underscore convention used in the file (meaning SMI lock must be held). Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 194fea7bd8786e2b9332df3c6b21b53f15e5fa5a Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:47 2015 -0400 net: dsa: mv88e6xxx: extend fid mask The driver currently manages one FID per port (or bridge group), with a mask of DSA_MAX_PORTS bits, where 0 means that the FID is in use. The Marvell 88E6xxx switches support up to 4094 FIDs (from 1 to 0xfff; FID 0 means that multiple address databases are not being used). This patch changes the fid_mask for an fid_bitmap of 4096 bits. >From now on, FIDs 1 to num_ports are reserved for non-bridged ports and bridge groups (a bridge group gets the FID of its first member). The remaining bits will be reserved for VLAN entries. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a08df0f0f745400249b0a95c704e569a4dd84fd7 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:09:46 2015 -0400 net: dsa: mv88e6xxx: define GLOBAL_ATU_FID Define register GLOBAL_ATU_FID instead of the raw value 0x01. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cdf0969763e020923abe28fddc605add572febc2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 11 12:00:37 2015 -0700 Revert "Merge branch 'mv88e6xxx-switchdev-fdb'" This reverts commit f1d5ca434413b20cd3f8c18ff2b634b7782149a5, reversing changes made to 4933d85c5173832ebd261756522095837583c458. I applied v2 instead of v3. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d8877b6ae0d47897b821b8a11a2e8dee9a22686 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:55 2015 -0300 [media] ARM: DT: STi: STiH407: Add c8sectpfe LinuxDVB DT node This patch adds in the required DT node for the c8sectpfe Linux DVB demux driver which allows the tsin channels to be used on an upstream kernel. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 179dd8c0348af75b02c7d72eaaf1cb179f1721ef Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:54 2015 -0300 [media] c8sectpfe: Add DT bindings documentation for c8sectpfe driver This patch adds the DT bindings documentation for the c8sectpfe LinuxDVB demux driver whose IP is in the STiH407 family silicon SoC's. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 548146fbbc120404b716f548dc3183b41735aec5 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Jul 30 14:08:53 2015 -0300 [media] dvb-pll: Convert struct dvb_pll_desc uses to const Convert the struct dvb_pll_desc uses to const and change the "entries" fixed array size from 12 to [] It saves a couple KB overall and remove ~5KB of data. $ size drivers/media/dvb-frontends/dvb-pll.o* text data bss dec hex filename 8520 1552 2120 12192 2fa0 drivers/media/dvb-frontends/dvb-pll.o.new 5624 6363 2120 14107 371b drivers/media/dvb-frontends/dvb-pll.o.old [PG] Patch taken from https://lkml.org/lkml/2015/6/24/721 with commit message updated. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Michael Ira Krufky <m.krufky@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6930f6696e73efe35e9e315588b1912c3d0d2df3 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:52 2015 -0300 [media] stv0367: Add support for 16Mhz reference clock The B2100A dvb NIM card from ST has 2x stv0367 demodulators and 2x TDA18212 silicon tuners, with a 16Mhz crystal. To get this working properly with the upstream driver we need to add support for the 16Mhz reference clock. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 86a10283e2d5e49b2e1827b0b0720734e7f69ff6 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Jul 30 14:08:51 2015 -0300 [media] stv0367: Refine i2c error trace to include i2c address When using stv0367 demodulator with STi STB platforms, we can have easily have four or more stv0367 demods running in the system at one time. As typically the b2120 reference design ships with a b2004a daughter board, which can accept two dvb NIM cards, and each b2100A NIM has 2x stv0367 demods and 2x NXPs tuner on it. In such circumstances it is useful to print the i2c address on error messages to know which one is failing due to I2C issues. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2c9c3bbbbfe9f7f700c30d9ac40c1abca59d39ee Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Tue Aug 11 08:56:51 2015 +0000 bpf: s390: Fix build error caused by the struct bpf_array member name changed There is a build error that "'struct bpf_array' has no member named 'prog'" on s390. In commit 2a36f0b92eb6 ("bpf: Make the bpf_prog_array_map more generic"), the member 'prog' of struct bpf_array is replaced by 'ptrs'. So this patch fixes it. Fixes: 2a36f0b92eb6 ("bpf: Make the bpf_prog_array_map more generic") Reported-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15ee8fcdd2d24351022e12a92c764edaf2f60e51 Merge: 07a51cd 46b903a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 11 11:47:57 2015 -0700 Merge branch 'thunder-acpi' David Daney says: ==================== net: thunder: Add ACPI support. Change from v1: Drop PHY binding part, use fwnode_property* APIs. The first patch (1/2) rearranges the existing code a little with no functional change to get ready for the second. The second (2/2) does the actual work of adding support to extract the needed information from the ACPI tables. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46b903a01c053d0c94975ea7a6819618f121d3d6 Author: David Daney <david.daney@xxxxxxxxxx> Date: Mon Aug 10 17:58:37 2015 -0700 net, thunder, bgx: Add support to get MAC address from ACPI. Currently there is no way to get the MAC address in a firmware independent manner, so set the MAC address of the device directly from the ACPI tables. The binding agrees with the proposed standard here: http://www.uefi.org/sites/default/files/resources/nic-request-v2.pdf Based on code from: Narinder Dhillon <ndhillon@xxxxxxxxxx> Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de387e1156c76b273529f1803c6bd87b61eac2c5 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Aug 10 17:58:36 2015 -0700 net: thunder: Factor out DT specific code in BGX Separate DT code in preparation for follow-on ACPI integration. Based on code from: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8853780ec1e37bb91a1ccef9c05e412cb1cfd9e0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 15:36:15 2015 -0300 [media] ascot2e: don't use variable length arrays The Linux stack is short; we need to be able to count the number of bytes used at stack on each function. So, we don't like to use variable-length arrays, as complained by smatch: drivers/media/dvb-frontends/horus3a.c:57:19: warning: Variable length array is used. The max usecase of the driver seems to be 10 bytes + 1 for the register. So, let's be safe and allocate 11 bytes for the write buffer. This should be enough to cover all cases. If not, let's print an error message. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4aabd91625d0887210f68382f3fccb29a4586792 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 15:29:54 2015 -0300 [media] horus3a: don't use variable length arrays The Linux stack is short; we need to be able to count the number of bytes used at stack on each function. So, we don't like to use variable-length arrays, as complained by smatch: drivers/media/dvb-frontends/horus3a.c:57:19: warning: Variable length array is used. The max usecase of the driver seems to be 5 bytes + 1 for the register. So, let's be safe and allocate 6 bytes for the write buffer. This should be enough to cover all cases. If not, let's print an error message. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d13a7b674af085eb67df73a20f5cc77310dd8602 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 15:22:36 2015 -0300 [media] cxd2841er: don't use variable length arrays The Linux stack is short; we need to be able to count the number of bytes used at stack on each function. So, we don't like to use variable-length arrays, as complained by smatch: drivers/media/dvb-frontends/cxd2841er.c:205:19: warning: Variable length array is used. The max usecase of the driver seems to be 15 bytes + 1 for the register. So, let's be safe and allocate 17 bytes for the write buffer. This should be enough to cover all cases. If not, let's print an error message. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9b7493d00c06013fb9192ea23cc83a1a2d003d61 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Tue Aug 11 11:14:26 2015 +0800 ASoC: fsl-sai: add 32 bit word length support Add 32 bit word length support. There are no code changes required in the SAI driver since it has already wirten the word width to the corresponding register. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit decd36b6c43a1051bab97571cf4c0ec8450268b0 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Aug 7 18:42:09 2015 +0800 f2fs: remove inmem radix tree Previously, we use radix tree to index all registered page entries for atomic file, but now we only use radix tree to see whether current page is indexed or not, since the other user of radix tree is gone in commit 042b7816aaeb ("f2fs: remove unnecessary call to invalidate inmemory pages"). So in this patch, we try to use one more efficient way: Introducing a macro ATOMIC_WRITTEN_PAGE, and setting it as page private value to indicate page indexing status. By using this way, we can save memory and lookup time. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c15e8599ffe1b4f866691424d07037c467c23a2f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Aug 7 18:39:32 2015 +0800 f2fs: report EINVAL for unalignment direct IO We run ltp testcase with f2fs and obtain a TFAIL in diotest4, the result in detail is as fallow: dio04 <<<test_start>>> tag=dio04 stime=1432278894 cmdline="diotest4" contacts="" analysis=exit <<<test_output>>> diotest4 1 TPASS : Negative Offset diotest4 2 TPASS : removed diotest4 3 TFAIL : diotest4.c:129: write allows odd count.returns 1: Success diotest4 4 TFAIL : diotest4.c:183: Odd count of read and write diotest4 5 TPASS : Read beyond the file size ...... the result of ext4 with same environment: dio04 <<<test_start>>> tag=dio04 stime=1432259643 cmdline="diotest4" contacts="" analysis=exit <<<test_output>>> diotest4 1 TPASS : Negative Offset diotest4 2 TPASS : removed diotest4 3 TPASS : Odd count of read and write diotest4 4 TPASS : Read beyond the file size ...... The reason is that when triggering DIO in f2fs, we will return zero value in ->direct_IO if writer's buffer offset, file offset and transfer size is not alignment to block size of filesystem, resulting in falling back into buffered write instead of returning -EINVAL. This patch fixes that problem by returning correct error number for above case, and removing the judgement condition in check_direct_IO to make sure the verification will be enabled for direct reader too. Besides, Jaegeuk Kim pointed out that there is expectional cases we should always make direct-io falling back into buffered write, such as dio in encrypted file. Signed-off-by: Yunlei He <heyunlei@xxxxxxxxxx> [Chao Yu make small change and add detail description in commit message] Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 52b1eaf4c59a3bbd07afbb4ab4f43418a807d02e Author: Kozlov Sergey <serjk@xxxxxxxx> Date: Tue Jul 28 11:33:04 2015 -0300 [media] netup_unidvb: NetUP Universal DVB-S/S2/T/T2/C PCI-E card driver Add NetUP Dual Universal CI PCIe board driver. The board has - two CI slots - two I2C adapters - SPI master bus for accessing flash memory containing FPGA firmware No changes required. Signed-off-by: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c8946c8d5ab8725bd763fc98c0ec6e1e94e6f6a0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 15:08:47 2015 -0300 [media] cxd2841er: declare static functions as such drivers/media/dvb-frontends/cxd2841er.c:992:5: warning: no previous prototype for 'cxd2841er_get_carrier_offset_t2' [-Wmissing-prototypes] int cxd2841er_get_carrier_offset_t2( ^ drivers/media/dvb-frontends/cxd2841er.c:1032:5: warning: no previous prototype for 'cxd2841er_get_carrier_offset_c' [-Wmissing-prototypes] int cxd2841er_get_carrier_offset_c( ^ drivers/media/dvb-frontends/cxd2841er.c:1360:5: warning: no previous prototype for 'cxd2841er_read_snr_t2' [-Wmissing-prototypes] int cxd2841er_read_snr_t2(struct cxd2841er_priv *priv, u32 *snr) ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a6dc60ff1209df29ee4668024e93d31f31421932 Author: Kozlov Sergey <serjk@xxxxxxxx> Date: Tue Jul 28 11:33:03 2015 -0300 [media] cxd2841er: Sony CXD2841ER DVB-S/S2/T/T2/C demodulator driver Add DVB-C/T/T2/S/S2 demodulator frontend driver Sony CXD2841ER chip. Signed-off-by: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9b850ca4f1c5acd7fcbbd4b38a2d27132801a8d5 Author: John Lin <john.lin@xxxxxxxxxxx> Date: Tue Aug 11 14:27:25 2015 +0800 ASoC: rt5640: fix line out no sound issue The power for line out was not turned on when line out is enabled. So we add "LOUT amp" widget to turn on the power for line out. Signed-off-by: John Lin <john.lin@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e025273b86fb4a6440192b809e05332777c3faa5 Author: Kozlov Sergey <serjk@xxxxxxxx> Date: Tue Jul 28 11:33:02 2015 -0300 [media] lnbh25: LNBH25 SEC controller driver Add DVB SEC frontend driver for STM LNBH25PQR chip. [mchehab@xxxxxxxxxxxxxxx: fix merge conflict: fe_sec_voltage_t should not be used in kernelspace anymore. instead, it should use enum fe_sec_voltage] Signed-off-by: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dacf9ce80b41667abb51a2a751a2dfe30e1f9a2b Author: Kozlov Sergey <serjk@xxxxxxxx> Date: Tue Jul 28 11:33:01 2015 -0300 [media] ascot2e: Sony Ascot2e DVB-C/T/T2 tuner driver Add DVB-T/T2/C frontend driver for Sony Ascot2e (CXD2861ER) chip. Signed-off-by: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a5d32b358254ff90f5dcd7ae2798b5d40503013a Author: Kozlov Sergey <serjk@xxxxxxxx> Date: Tue Jul 28 11:33:00 2015 -0300 [media] horus3a: Sony Horus3A DVB-S/S2 tuner driver Add DVB-S/S2 frontend driver for Sony Horus3A (CXD2832AER) chip Signed-off-by: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit efaa6e266ba70439da00e7f1c8a218e243ae140a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jul 24 10:21:02 2015 +0100 firmware: qcom_scm-32: replace open-coded call to __cpuc_flush_dcache_area() Rathe rthan directly accessing architecture internal functions, provide an "method"-centric wrapper for qcom_scm-32 to do what's necessary to ensure that the secure monitor can see the data. This is called "secure_flush_area" and ensures that the specified memory area is coherent across the secure boundary. Acked-by: Andy Gross <agross@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3139f43f8eca4d3a8a0ffe3b0b9cd8ebe0e3be95 Author: Christian Löpke <loepke@xxxxxxxxxxxx> Date: Sat Jul 18 04:15:01 2015 -0300 [media] Technisat SkyStar USB HD,(DVB-S/S2) too much URBs for arm devices Using 8 URBs results in a consecutive buffer allocation of too much memory for some arm devices. As we use isochronuous transfers the number of URBs can be reduced without risking data-loss. Signed-off-by: Christian Loepke <loepke@xxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 731a981e1059dd68c97212ccc9c0e1f169c1a77b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 11 13:35:42 2015 -0400 cgroup: make cftype->private a unsigned long It's pretty unusual to have an int as a private data field and it makes it impossible to carray a pointer value through it. Let's make it an unsigned long. AFAICS, this shouldn't break anything. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 9b81c842355ac96097ba32ad5632e9ef0ff59f92 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Mon Aug 10 19:05:18 2015 -0400 block: don't access bio->bi_error after bio_put() Commit 4246a0b6 ("block: add a bi_error field to struct bio") has added a few dereferences of 'bio' after a call to bio_put(). This causes use-after-frees such as: [521120.719695] BUG: KASan: use after free in dio_bio_complete+0x2b3/0x320 at addr ffff880f36b38714 [521120.720638] Read of size 4 by task mount.ocfs2/9644 [521120.721212] ============================================================================= [521120.722056] BUG kmalloc-256 (Not tainted): kasan: bad access detected [521120.722968] ----------------------------------------------------------------------------- [521120.722968] [521120.723915] Disabling lock debugging due to kernel taint [521120.724539] INFO: Slab 0xffffea003cdace00 objects=32 used=25 fp=0xffff880f36b38600 flags=0x46fffff80004080 [521120.726037] INFO: Object 0xffff880f36b38700 @offset=1792 fp=0xffff880f36b38800 [521120.726037] [521120.726974] Bytes b4 ffff880f36b386f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.727898] Object ffff880f36b38700: 00 88 b3 36 0f 88 ff ff 00 00 d8 de 0b 88 ff ff ...6............ [521120.728822] Object ffff880f36b38710: 02 00 00 f0 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.729705] Object ffff880f36b38720: 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 ................ [521120.730623] Object ffff880f36b38730: 00 00 00 00 00 00 00 00 01 00 00 00 00 02 00 00 ................ [521120.731621] Object ffff880f36b38740: 00 02 00 00 01 00 00 00 d0 f7 87 ad ff ff ff ff ................ [521120.732776] Object ffff880f36b38750: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.733640] Object ffff880f36b38760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.734508] Object ffff880f36b38770: 01 00 03 00 01 00 00 00 88 87 b3 36 0f 88 ff ff ...........6.... [521120.735385] Object ffff880f36b38780: 00 73 22 ad 02 88 ff ff 40 13 e0 3c 00 ea ff ff .s".....@..<.... [521120.736667] Object ffff880f36b38790: 00 02 00 00 00 04 00 00 00 00 00 00 00 00 00 00 ................ [521120.737596] Object ffff880f36b387a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.738524] Object ffff880f36b387b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.739388] Object ffff880f36b387c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.740277] Object ffff880f36b387d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.741187] Object ffff880f36b387e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.742233] Object ffff880f36b387f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [521120.743229] CPU: 41 PID: 9644 Comm: mount.ocfs2 Tainted: G B 4.2.0-rc6-next-20150810-sasha-00039-gf909086 #2420 [521120.744274] ffff880f36b38000 ffff880d89c8f638 ffffffffb6e9ba8a ffff880101c0e5c0 [521120.745025] ffff880d89c8f668 ffffffffad76a313 ffff880101c0e5c0 ffffea003cdace00 [521120.745908] ffff880f36b38700 ffff880f36b38798 ffff880d89c8f690 ffffffffad772854 [521120.747063] Call Trace: [521120.747520] dump_stack (lib/dump_stack.c:52) [521120.748053] print_trailer (mm/slub.c:653) [521120.748582] object_err (mm/slub.c:660) [521120.749079] kasan_report_error (include/linux/kasan.h:20 mm/kasan/report.c:152 mm/kasan/report.c:194) [521120.750834] __asan_report_load4_noabort (mm/kasan/report.c:250) [521120.753580] dio_bio_complete (fs/direct-io.c:478) [521120.755752] do_blockdev_direct_IO (fs/direct-io.c:494 fs/direct-io.c:1291) [521120.759765] __blockdev_direct_IO (fs/direct-io.c:1322) [521120.761658] blkdev_direct_IO (fs/block_dev.c:162) [521120.762993] generic_file_read_iter (mm/filemap.c:1738) [521120.767405] blkdev_read_iter (fs/block_dev.c:1649) [521120.768556] __vfs_read (fs/read_write.c:423 fs/read_write.c:434) [521120.772126] vfs_read (fs/read_write.c:454) [521120.773118] SyS_pread64 (fs/read_write.c:607 fs/read_write.c:594) [521120.776062] entry_SYSCALL_64_fastpath (arch/x86/entry/entry_64.S:186) [521120.777375] Memory state around the buggy address: [521120.778118] ffff880f36b38600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [521120.779211] ffff880f36b38680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [521120.780315] >ffff880f36b38700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [521120.781465] ^ [521120.782083] ffff880f36b38780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [521120.783717] ffff880f36b38800: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [521120.784818] ================================================================== This patch fixes a few of those places that I caught while auditing the patch, but the original patch should be audited further for more occurences of this issue since I'm not too familiar with the code. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1ed8111443ae8caa455e7107031da36d1a6d351a Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Tue Aug 11 18:04:21 2015 +0800 regmap: Move documentation to regmap.h Init functions defined in regmap*.c files are now prefixed with __, take lockdep key and class parameters, and should not be called directly: move the documentation to regmap.h, where the macros are defined. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38d6211e8565af5855385825a4fdc7261eb3740e Author: Nadav Haklai <nadavh@xxxxxxxxxxx> Date: Tue Aug 11 11:58:47 2015 +0200 spi: orion: On a38x, implement "50MHZ SPI AC timing" Erratum No. FE-9144572 Description: On Armada 38x, the device SPI interface supports frequencies of up to 50 MHz. However, due to this erratum, when the device core clock is 250 MHz and the SPI interfaces is configured for 50MHz SPI clock and CPOL=CPHA=1, there might occur data corruption on reads from the SPI device. Workaround: Work in one of the following configurations: 1. Set CPOL=CPHA=0 in "SPI Interface Configuration Register". 2. Set TMISO_SAMPLE value to 0x2 in "SPI Timing Parameters 1 Register" before setting the interface. [gregory.clement@xxxxxxxxxxxxxxxxxx}: port to v4.2-rc, use is_errata_50mhz_ac instead of using a new ARMADA_380_SPI spi type. Signed-off-by: Nadav Haklai <nadavh@xxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit dd6ff6a05b3d467acff47131759e15d40933656c Author: David Härdeman <david@xxxxxxxxxxx> Date: Wed Jul 22 17:55:24 2015 -0300 [media] rc-core: improve the lirc protocol reporting Commit 275ddb40bcf686d210d86c6718e42425a6a0bc76 removed the lirc "protocol" but kept backwards compatibility by always listing the protocol as present and enabled. This patch further improves the logic by only listing the protocol if the lirc module is loaded (or if lirc is builtin). Signed-off-by: David Härdeman <david@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1af2cc64b18c29f1d774caa7e592c781bee6a7eb Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 11 14:47:18 2015 +0200 ASoC: rsnd: Silence DMA slave ID compile warning on 64-bit On arm64: sound/soc/sh/rcar/dma.c: In function 'rsnd_dmaen_init': sound/soc/sh/rcar/dma.c:180:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (void *)id); ^ include/linux/dmaengine.h:1185:75: note: in definition of macro 'dma_request_channel' #define dma_request_channel(mask, x, y) __dma_request_channel(&(mask), x, y) ^ Add an intermediate cast to "uintptr_t" to kill the compile warning. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3176bf2d7ccd64da9be7b07036e0ba8293179906 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Tue Aug 11 19:25:15 2015 +0800 ASoC: wm8960: update pll and clock setting function Add sysclk auto mode. When it's sysclk auto mode, if the MCLK is available for clock configure, using MCLK to provide sysclk directly, otherwise, search a available pll out frequcncy and set pll. Configure clock in hw_params may cause problems when using bypass style paths without hw_params in machine driver getting called. So add configure clock to set_bias_level. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7abc01b346e67534cc0307544e563e5497280296 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Tue Aug 11 18:43:09 2015 +0800 spi: mediatek: fix endian warnings This patch fixes endian warnings detected by sparse: - sparse: incorrect type in argument 1 (different base types) expected unsigned int [unsigned] val got restricted __le32 [usertype] <noident> - sparse: incorrect type in argument 1 (different base types) expected unsigned int [unsigned] val got restricted __le32 [usertype] <noident> Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 571a963768e7711e0bb5a30f71247b46ec9ca7b9 Author: Ruben Wisniewski <ruben@xxxxxxxxxxxxxxx> Date: Tue Jun 16 21:06:23 2015 +0200 batman-adv: Avoid u32 overflow during gateway select The gateway selection based on fast connections is using a single value calculated from the average tq (0-255) and the download bandwidth (in 100Kibit). The formula for the first step (tq ** 2 * 10000 * bandwidth) tends to overflow a u32 with low bandwidth settings like 50 [100KiBit] and a tq value of over 92. Changing this to a 64 bit unsigned integer allows to support a bandwidth_down with up to ~2.8e10 [100KiBit] and a perfect tq of 255. This is ~6.6 times higher than the maximum possible value of the gateway announcement TVLV. This problem only affects the non-default gw_sel_class 1. Signed-off-by: Ruben Wisniewsi <ruben@xxxxxxxxxx> [sven@xxxxxxxxxxxxx: rewritten commit message] Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit e071d93eb40c969dc8c578dde5ddd89a30fb01cb Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Mon Jun 22 09:13:23 2015 +0200 batman-adv: Replace gw_reselect divisor with simple shift The gw_factor is divided by BATADV_TQ_LOCAL_WINDOW_SIZE ** 2 * 64. But the rest of the calculation has nothing to do with the tq window size and therefore the calculation is just (tmp_gw_factor / (64 ** 3)). Replace it with a simple shift to avoid a costly 64-bit divide when the max_gw_factor is changed from u32 to u64. This type change is necessary to avoid an overflow bug. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> commit f103a9c1a0ea1730fa3398366ffcc41c25ad8c9e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:34:28 2015 -0300 [media] staging: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a53546751da4099d9802618313f57ee01c2efdc4 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:34:26 2015 -0300 [media] staging: iio: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit acda7cf4463ae58e68cebeb0f72599fddfeeebb9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:34:27 2015 -0300 [media] staging: media: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ebf8dce56a25f77545f43a15a8205a6ef4fd1ac0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:48 2015 -0300 [media] Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8972943c0e002541a7cede3e6612a3f775496fa2 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:47 2015 -0300 [media] tuners: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f77658bda96431801dcd078765ba92adcd02aaaa Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:46 2015 -0300 [media] radio: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dfadaccabf93362cda7232eb9684b2eae7f2abf9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:44 2015 -0300 [media] i2c: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f078818770e719b3c15b0ee26ace6b6088514152 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:43 2015 -0300 [media] dvb-frontends: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 04d8be053fbeac656f8db2acb768179be9997b0a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:42 2015 -0300 [media] dvb-frontends: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 38dcdca38739b95a29c6d03009c3f63b0d959398 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jun 26 01:34:37 2015 -0300 [media] pctv452e: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. Note that the 6 in the third argument of memset appears to represent an ethernet address size (ETH_ALEN). The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,6); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fd26f8830979de48eb3f1c253eb9d2ee2e468eb6 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Jun 4 13:11:45 2015 -0700 dt/bindings: Add binding for the Raspberry Pi firmware driver This driver will provide support for calls into the firmware that will be used by other drivers like cpufreq and vc4. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8278780e3d3effe8f1db495f7329dbedaf035c46 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jun 29 10:46:49 2015 -0300 [media] tuners: Make all TV tuners visible if COMPILE_TEST=y Make the TV tuners menu visible when compile-testing, to allow selecting additional drivers on top of the drivers that are already automatically selected if MEDIA_SUBDRV_AUTOSELECT is enabled. Without this, many drivers stay disabled during e.g. allmodconfig. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b35ef52672997d7be71c8d8921099b7c8e3158a5 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Jun 4 13:11:47 2015 -0700 ARM: bcm2835: Add the firmware driver information to the RPi DT Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fa9163b570d9cecedcfb45116f2a20dd03fb9cae Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jun 26 01:47:49 2015 -0300 [media] ttpci: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. Note that the 6 in the third argument of memset appears to represent an ethernet address size (ETH_ALEN). The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,6); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a73df85892964a436f9c7f2f803e143b8c97d1ac Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Thu Jun 25 06:58:58 2015 -0300 [media] usb/airspy: removing unneeded goto This patch removes unneded goto, reported by coccinelle. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reviewed-by: Akhilesh Kumar <akhilesh.k@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 845249172a363c2217af5926fac17f58c7228aa4 Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Tue Aug 11 21:23:49 2015 +0900 drm/atomic: fix null pointer access to mode_fixup callback This patch fixes null pointer access incurred when encoder driver didn't set its own mode_fixup callback. mode_fixup callback shoudn't be called if the callback of drm_encoder_helper_funcs is NULL. Changelog v2: - change it to else if Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 360325755336893869c419013ec0e33757432cbb Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Thu Aug 6 16:16:01 2015 +0800 ARM: dts: imx6ul: add snvs power key support Add i.MX6UL SNVS power key support. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 5b032872c9c8a7abe3b19757f6873cc8b9864fc3 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Tue Aug 4 23:54:58 2015 +0800 ARM: dts: imx6ul: add RTC support Add RTC support for i.MX6UL. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 18619ff55d613dc5c8276ae70e5ca4e48c609f44 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Tue Aug 4 01:12:12 2015 +0800 ARM: dts: imx6ul: enable GPC as extended interrupt controller Enable GPC as extended interrupt controller of GIC, as GPC needs to manage wakeup source for low power modes. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 461aa6d723ef7bfd0dcc44676976711e2c3445c6 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Wed Aug 5 21:57:55 2015 +0800 ARM: dts: imx6sx: correct property name for wakeup source Commit(def56bb input: snvs_pwrkey: use "wakeup-source" as deivce tree property name) replaces the property name of "wakeup" with "wakeup-source", update this change in i.MX6SX dtsi accordingly. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit def0641e2f61a545a852887e15a19231c4c863c4 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed May 27 14:47:52 2015 +0200 ARM: dts: add property for maximum ADC clock frequencies The ADC clock frequency is limited depending on modes used. Add device tree property which allow to set the mode used and the maximum frequency ratings for the instance. These allows to set the ADC clock to a frequency which is within specification according to the actual mode used. Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit abb9f253cd9873f1826c4accdad89ec3fe80de21 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed Jul 29 01:50:00 2015 +0800 ARM: dts: imx7d: enable snvs rtc, onoffkey and power off Change SNVS rtc to syscon interface. Enable onoff key and power off function. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 5e8cdb01397fa2f2e368f44049c7a2b17a95ce9c Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Tue Jul 28 15:30:42 2015 +0800 ARM: dts: imx6ul-14x14-evk: add fec1 and fec2 support Add ethernet fec1 and fec2 support for i.MX6ul 14x14 evk board. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 01f3dc7de3293a7ef3839b8173d348cfed2b7252 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Tue Jul 28 15:30:41 2015 +0800 ARM: dts: imx: add fec1 and fec2 nodes for SOC i.MX6UL SOC i.MX6UL has two ethernet MACs, add fec1 and fec2 support for i.MX6UL. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 91eca8d57c392620fa4c4917036925a38ef3f99e Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:53 2015 +0200 ARM: dts: imx27: add support of internal rtc Add support of internal rtc on imx27. Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 4f182ff7d43240aa7dbfd771954adfa1626f1cf6 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Jul 15 16:50:17 2015 +0200 ARM: dts: vf-colibri: define stdout-path property Define Vybrid's UART0, connected to the Colibri pinout UART_A, as standard output. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 055223d4d22da918c3d4dae9122736dfd23ec4a4 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Jul 28 17:43:56 2015 +0300 ARM: dts: ls1021a: Enable the eTSEC ports on QDS and TWR This enables the available eTSEC ethernet ports for the ls1021aqds and ls1021atwr boards. For the QDS, SGMII connections (via riser cards) are assumed for the eTSEC0 and eTSEC1 ports as default configuration. Signed-off-by: Alison Wang <alison.wang@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d69cb5d7ea1664225042c28313d93e6ad6ee506f Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Jul 28 17:43:55 2015 +0300 ARM: dts: ls1021a: Add the eTSEC controller nodes Add basic support for all the eTSEC controllers on the ls1021a SoC. Second interrupt group register blocks and their corresponding Rx/Tx/Err interrupt sources are included as well for each eTSEC node. Signed-off-by: Alison Wang <alison.wang@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 5ff807a56767cd810dde0cec850caf8b6f504737 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Jul 21 03:33:53 2015 +0800 ARM: dts: imx6ul: add qspi support enable qspi support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 4e06dfabe83f757b9dd720592f7546480d1ac45f Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Jul 21 03:33:52 2015 +0800 ARM: dts: imx6ul: fix low case define in imx6ul-pinfunc.h some pin name should be capital "_B" instead of "_b" Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit cad2cb69f5f03edef09cbd2e920ba66192647322 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 17 04:03:16 2015 +0800 ARM: dts: imx6ul: add usb host and function support Enable usb host and function driver Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 9b1793afef83e088ca38f2a348a958e6ceea8e0c Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Thu Jul 16 20:43:19 2015 +0530 ARM: dts: vfxxx: Add io-channel-cells property for ADC node This commit adds io-channel-cells property to the ADC node. This property is required in order for an IIO consumer driver to work. Especially required for Colibri VF50, as the touchscreen driver uses ADC channels with the ADC driver based on IIO framework. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 50897cb6fa45981454a52546dbc3b1a53d195f08 Author: Alison Wang <b18965@xxxxxxxxxxxxx> Date: Wed Jul 15 16:02:46 2015 +0800 ARM: dts: ls1021a: Add dts nodes for audio on LS1021A This patch adds dts nodes for audio on LS1021A. Signed-off-by: Alison Wang <alison.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 0f92fd49ffc4e687fcdc64242b225d4cfffaa1b2 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Mar 13 14:21:43 2015 +0800 ARM: imx6qdl-sabreauto.dtsi: enable USB support Add USBOTG and USB host 1 support Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 95d739b5ca6dc42206a9b4c0a2005f6e2170c62a Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed May 27 00:25:59 2015 +0800 ARM: dts: imx: update snvs to use syscon access register snvs is MFP device. Change dts to use syscon to allocate register resource. snvs power off also switch to common syscon-poweroff Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit a5fcccbc6ef8a6a0e015f3b72a2d8fcac8210425 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:45 2015 +0800 ARM: dts: imx: add imx6ul and imx6ul evk board support Add new SOC i.MX6UL dtb file support, including evk board support i.MX6 Ultralite processor include one ARM cortext-A7 core. Offer high perfomance and lowest power consumption. Main included: - 4 MMC/SD/SDIO - 2 USB 2.0 OTG - 3 I2S/SAI/AC97 - 4 eCSPI - 4 I2C - 2 ENET - 2 CAN - 3 wdog - ASRC - 8 uart - LCDIF - PXP Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Fancy Fang <chen.fang@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 7eeb662ad27862d965b9692f7ca649d70947db76 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:44 2015 +0800 ARM: dts: add i.mx6ul pin function include file add pin mux define file Signed-off-by: Bai Ping <b51503@xxxxxxxxxxxxx> Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit f3ff96e90733c24dc2f7e510822eb177d22683ed Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:43 2015 +0800 Document: dt: binding: imx: update document for imx6ul support This part just add necessary change to boot imx6ul. Update clock and pinctrl for imx6ul Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3b7816bade36f4f04a61d3c2920b5a110f23ce84 Author: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:51:06 2015 -0400 ARM: dts: vfxxx: Include support for esdhc0 functionality. Extend the existing Vybrid eSDHC devicetree implementation to also describe the esdhc0 functional block. Tested on a custom VF610-based board with a Toshiba THGBM1G5D2EBAI7 eMMC module attached to esdhc0. Signed-off-by: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit ed339363de1b5c4630268aa7f934503aaccccb70 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jul 13 13:03:05 2015 -0300 ARM: dts: imx6qdl-sabreauto: Allow HDMI and LVDS to work simultaneously Currently it is not possible to have HDMI and LVDS working simultaneously, because both ports try to use PLL5. Move the LVDS clock parent to PLL3_USB_OTG, so that HDMI and LVDS can be driven from independent sources. With this change the LDB pixel clock goes to 68.57 MHz, which is still within the valid range for the HSD100PXN1 LVDS panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6f5e69672e814e599baf735cda9e1c360d145cd0 Author: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:21:16 2015 -0400 ARM: dts: vfxxx: Include support for qspi1 functionality. This commit extends the existing Vybrid QSPI devicetree implementation to also describe the qspi1 functional block. Signed-off-by: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Reviewed-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit f4b89232f24a9dc37f72874bc418454e9363f52a Author: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:21:15 2015 -0400 ARM: dts: vf610: Add missing QuadSPI register mapping and names. Both 'reg' and 'reg-names' are required properties according to binding documentation, and both should contain two items. Signed-off-by: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit c47d6e380bcf6b45b481a14ea90b4b7aaa95027f Author: Haikun Wang <haikun.wang@xxxxxxxxxxxxx> Date: Wed Jul 8 10:43:40 2015 +0800 ARM: dts: ls1021a: Update 'dspi' device node compatible string Freescale DSPI driver has been updated and supports TCF interrupt type now. In the new driver we choose the interrupt type according the compatible string of the device node. This patch update the compatible string of DSPI device node of LS1021A in order to use the correct interrupt type. Signed-off-by: Haikun Wang <haikun.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3adab7c796f60338f9c1c7bdbc7f24eaf39acf96 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Jun 30 22:58:11 2015 +0800 ARM: dts: imx7d: add cortex-a7 coresight component Added etm, etb, funnel and replicator usage example: echo 1 >/sys/bus/coresight/devices/30086000.etr/enable_sink echo 1 >/sys/bus/coresight/devices/3007c000.etm/enable_source coresight-tmc 30086000.etr: TMC enabled coresight-replicator replicator.1: REPLICATOR enabled coresight-tmc 30084000.tmc: TMC enabled coresight-funnel 30083000.funnel: FUNNEL inport 0 enabled coresight-funnel 30041000.funnel: FUNNEL inport 0 enabled coresight-etm3x 3007c000.etm: ETM tracing enabled etm enable here. trace data save at /dev/30086000.etr cat /dev/30086000.etr > trace.data coresight-tmc 30086000.etr: TMC read start coresight-tmc 30086000.etr: TMC read end use ptm2human(https://github.com/hwangcc23/ptm2human) to show trace data ptm2human -i trace.data Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 7804fbcfe5156ff7eb802c2c71f0dca74d4f7f34 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jun 29 13:16:54 2015 -0300 ARM: dts: imx6qdl-nitrogen6x: Allow HDMI and LVDS to work simultaneously Currently it is not possible to have HDMI and LVDS working simultaneously, because both ports try to use PLL5. Move the LVDS clock parent to PLL3_USB_OTG, so that HDMI and LVDS can be driven from independent sources. With this change the LDB pixel clock goes to 68.57 MHz, which is still within the valid range for the HSD100PXN1 LVDS panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Tested-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit b6db3097db6bcd75061d0a0fdae1fbbcffc1bf2d Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jun 29 13:16:53 2015 -0300 ARM: dts: imx6qdl-sabrelite: Allow HDMI and LVDS to work simultaneously Currently it is not possible to have HDMI and LVDS working simultaneously, because both ports try to use PLL5. Move the LVDS clock parent to PLL3_USB_OTG, so that HDMI and LVDS can be driven from independent sources. With this change the LDB pixel clock goes to 68.57 MHz, which is still within the valid range for the HSD100PXN1 LVDS panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Tested-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d23dfefaf0b4b85756fa2bc90cae21c7d50043c4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jun 29 10:05:42 2015 -0300 ARM: dts: imx6sl-warp: Add changes for rev1.12 Warp board rev1.12 is the version of the hardware that will be publicly available for the customers. It uses UART5 as the Bluetooth serial port as well as some additional signals for HOSTWAKE on Wifi and Bluetooth. Make the changes to support the rev1.12 hardware. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d28be499c45e6e16d7a042ce280eb872dc06952b Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Jun 26 14:10:53 2015 -0300 ARM: dts: imx6qdl-sabresd: Allow HDMI and LVDS to work simultaneously Currently it is not possible to have HDMI and LVDS working simultaneously, because both ports try to use PLL5. Move the LVDS clock parent to PLL3_USB_OTG, so that HDMI and LVDS can be driven from independent sources. With this change the LDB pixel clock goes to 68.57 MHz, which is still within the valid range for the HSD100PXN1 LVDS panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d7f005e8392e41014864b717e00a0777ebcfc64e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 11 17:11:29 2015 +0200 pinctrl: nomadik: reflect current input value Let us see the current value on the input line in debugfs. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8a0fa1843638c5078e6606114ed8bdf9ea56fab1 Author: Shawn Guo <shawnguo@xxxxxxxxxx> Date: Mon Jul 13 15:58:51 2015 +0800 rtc: snvs: select option REGMAP_MMIO Select REGMAP_MMIO to fix the following build error seen with x86_64 randconfig. drivers/built-in.o: In function `snvs_rtc_probe': rtc-snvs.c:(.text+0x567730): undefined reference to `devm_regmap_init_mmio_clk' Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> Acked-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 28c0a8433dd56146627d00907ad99084654741e8 Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Thu Aug 6 15:22:11 2015 +0800 i2c: mediatek: Fixup i2c ack error interrupt handling When occur i2c ack error, i2c controller generate two interrupts, first is the ack error interrupt, then the complete interrupt. i2c interrupt handler should keep the two interrupt value, and only call complete() for the complete interrupt. Signed-off-by: Liguo Zhang <liguo.zhang@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ea89ef1f7bf7c71b4f533a6ffb3f6f124890b37b Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Thu Aug 6 15:22:10 2015 +0800 i2c: mediatek: Reset DMA engine in hardware init function Reset DMA in hardware init function to avoid unknown hardware state before do any I2C operation. Signed-off-by: Liguo Zhang <liguo.zhang@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5cc596c66fe7c725ec049ae2093e7242034c97d6 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jun 29 10:46:48 2015 -0300 [media] i2c: Make all i2c devices visible if COMPILE_TEST=y Make the i2c devices menu visible when compile-testing, to allow selecting additional drivers on top of the drivers that are already automatically selected if MEDIA_SUBDRV_AUTOSELECT is enabled. Without this, many drivers stay disabled during e.g. allmodconfig. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6df34051d8bd8807c873e1bb92b905e370ff3f5b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jun 29 10:46:47 2015 -0300 [media] dvb-frontends: Make all DVB Frontends visible if COMPILE_TEST=y Make the DVB Frontends menu visible when compile-testing, to allow selecting additional drivers on top of the drivers that are already automatically selected if MEDIA_SUBDRV_AUTOSELECT is enabled. Without this, many drivers stay disabled during e.g. allmodconfig. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1e3f2987f3acbdc99b1f527392a40783323b266b Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Jun 24 14:23:20 2015 -0300 [media] x86/mm/pat, drivers/media/ivtv: move pat warn and replace WARN() with pr_warn() On built-in kernels this warning will always splat as this is part of the module init. Fix that by shifting the PAT requirement check out under the code that does the "quasi-probe" for the device. This device driver relies on an existing driver to find its own devices, it looks for that device driver and its own found devices, then uses driver_for_each_device() to try to see if it can probe each of those devices as a frambuffer device with ivtvfb_init_card(). We tuck the PAT requiremenet check then on the ivtvfb_init_card() call making the check at least require an ivtv device present before complaining. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> [0-day test robot] Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7ac5f8315e3daf277ae47620bffe412ef2bf3ab4 Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 11:53:19 2015 -0300 [media] s5c73m3: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e8e9055594e3d9177416aa4e7ff8619cda3745a9 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Fri Jun 19 07:20:40 2015 -0300 [media] pci/Kconfig: don't use MEDIA_ANALOG_TV_SUPPORT for grabber cards I noticed certain cards are currently under MEDIA_ANALOG_TV_SUPPORT but it seems they are frame grabbers (with CVBS, Svideo etc. inputs) rather than TV receivers (with analog TV tuners). MEDIA_CAMERA_SUPPORT maybe isn't the best name (only "meye" driver seems to drive a real camera in a laptop) but it at least doesn't select the TUNERs. Perhaps the following patch would make sense. Signed-off-by: Krzysztof Ha?asa <khalasa@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dd30acc889f586cecdea0d7f401f3dc80752b41e Author: Inha Song <ideal.song@xxxxxxxxxxx> Date: Fri Aug 7 10:35:59 2015 +0900 mfd: wm8994: Fix NULL pointer exception on missing pdata If we use the dev_get_platdata, pdata can be NULL in DT environments. Actually, NULL pointer exception is occurs with error messages like this: [ 1.226583] Unable to handle kernel NULL pointer dereference at virtual address 00000044 [ 1.467910] [<c02f1e38>] (wm8994_irq_init) from [<c02f1bd4>] (wm8994_i2c_probe+0x684/0x858) [ 1.476241] [<c02f1bd4>] (wm8994_i2c_probe) from [<c0371c78>] (i2c_device_probe+0x11c/0x17c) In wm8994-core, we already checked whether platform data is NULL and set the wm8994->pdata to platform data if platform data is not NULL. So, we can use wm8994->pdata instead of platform data. Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ff066f731a71409a3c29d8bd1d702867167c6994 Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Thu Aug 6 01:20:56 2015 +0300 of: Add vendor prefix for Nuvoton Signed-off-by: Constantine Shulyupin <const@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f3151ab4a7320ce3f48955fe796bd90dd00881ab Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Mon Aug 10 21:10:45 2015 +0800 mfd: mt6397: Implement wake handler and suspend/resume to handle wake up event Implement .irq_set_wake() to get who is wakeup source and setup on suspend/reumse. Enable mt6393_irq as wake up source properly to pinctrl by enable_irq_wake()/enable_irq_wake(). Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d9c93f5de8c84ccbb58fd88a530b730643fbb129 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 18:45:54 2015 +0200 mfd: atmel-hlcdc: Add support for new SoCs Add the compatible strings for the at91sam9x5, at91sam9n12, sama5d4 and sama5d2 SoCs. Update the documentation accordingly. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4895e493f91bff7f96f328b883c7f6448aa6abc6 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:41 2015 +0200 mfd: Export OF module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0f63bdedcc749917e74093ecbd8dae7b77934f19 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:26 2015 +0200 mfd: stw481x: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 68b6fd02e6a62d6bdb62e7e74e7c62a8ec54346e Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Thu Jul 23 17:17:41 2015 +0100 mfd: da9062: Support for the DA9063 OnKey in the DA9062 core Add MFD core driver support for a OnKey component - MFD core adds the resource da9062_onkey_resources[] for the OnKey - An appropriate value has been added into mfd_cell da9062_devs[] to support component .name = "da9062-onkey" and .of_compatible = "dlg,da9062-onkey" Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e5ad234485ee868c09f2d59b2ed94d6c6e6d3f19 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:59 2015 +0000 mfd: max899x: Avoid redundant irq_data lookup It's pretty silly to do irq_data *d = irq_get_irq_data(irq_data->irq); because that results in d = irq_data, but goes through a lookup of the irq_data. Use irq_data directly. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0d674d93a08f0073a9eb290bbac56fdedc4f319d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:57 2015 +0000 mfd: ucb1x00: Prepare ucb1x00_irq for irq argument removal irq is incremented for no value in the for loop. Remove it. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1e84aa445893a608445af2fda5d8a03c0a86af84 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:44:56 2015 +0000 mfd: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Do the same change to avoid the pattern "irq_get_chip_data(data->irq)". Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 079140f5cee9d8e0290de12ac1bf74f1ebe72881 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:54 2015 +0000 mfd: tc6393xb: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit de7c9e0da9ca5962ed562296eaa521e5cc492322 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:52 2015 +0000 mfd: t7l66xb: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b79f04382e265cd6e927977581d2fddb53ef916a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:51 2015 +0000 mfd: pm8921: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 59fa909e774d80c20cf69e98fd2ba76bcc0f3fbc Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:49 2015 +0000 mfd: jz4740: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 073f7f99a0054a3af6ecef1d0ce12aab9c800460 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:47 2015 +0000 mfd: htc-egpio: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c89fc9ac88ad99c0e629204d1b62af57367fd32d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:44:46 2015 +0000 mfd: ezx-pcap: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9bd09f345e62257958342f712efef644494274fb Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:20 2015 -0500 mfd: Kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 035faf4bd2776237940c95d08bfe8928fe0a80e1 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jul 22 09:55:43 2015 +0200 mfd: ipaq-micro: Convert to built-in platform driver Signal that this is a built-in driver and call its probe function immediately on init. Suppress binding attributes and delete the .remove() function since it is never unloaded. Tag probe() and functions only called from probe() with __init. Delete all module macros since this is a pure built-in. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 31115336d95d7d9ebb4b1bb8449876f798b0b2f7 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jul 22 09:55:42 2015 +0200 mfd: ipaq-micro: Convert prints to debug prints There is a special function for debug prints rather than the usual hexdump function, let's use it. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7d60bfc945c7c59bd852a5bedefb7ecb6bbef7ec Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jul 22 09:55:41 2015 +0200 mfd: ipaq-micro: Clean up development cruft Clean out a misspelled "HW" (MW) and remove commented-out codeline. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2f5532a231de3bf9d6e87623f0b307362946e52d Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Tue Jul 21 11:29:06 2015 +0100 devicetree: da9062: Add device tree bindings for DA9062 RTC Add device tree bindings for the DA9062 RTC driver component Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ca1ce176af986213bfdc86ce73c05ab0d2aa3578 Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Tue Jul 21 11:29:06 2015 +0100 mfd: da9062: Support for the DA9063 RTC in the DA9062 core Add MFD core driver support for a RTC component - MFD core adds the RTC resources da9062_rtc_resources[] for the RTC alarm and tick timer IRQ - An appropriate mfd_cell has been added into da9062_devs[] to support a component .name = "da9062-rtc" and .of_compatible = "dlg,da9062-rtc" Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 496e43aeacab245ca57139e89d83655f8370e0ef Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 16:53:47 2015 +0100 mfd: arizona: Specify regmap endianness Explicitly set the regmap endianness instead of relying on the default being correct. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 34885237bf7d744433d3c4558a852e20fb2c2837 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Jul 20 17:23:52 2015 +0800 mfd: rk808: dt: Add the description about dvs gpio for rk808 add the description about dvs1, dvs2, and add the example. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f1837e4ad502d6b15be864ace04b681e5b0fd49e Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Jul 14 23:40:34 2015 -0700 mfd: pm8921: Implement irq_get_irqchip_state Implement irq_chip->irq_get_irqchip_state to make it possible for PMIC block drivers to access the IRQ real time status bits. The status bits are used for various kinds of input signals, e.g. GPIO. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ea31c0cf9b071127a3f16f02b7494b9e5fd6f71f Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 19:16:43 2015 +0200 mfd: atmel-hlcdc: Implement config synchronization Some HLCDC registers cannot be written until the hardware has finished applying the previous configuration request. If they are written while an action is still in progress, the new configuration might be silently ignored, resulting in unpredictable behavior. Hide the config synchronization stuff in a regmap implementation and use this implementation instead of the generic mmio one. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3811405e2f9bc6f39c0cd5aadf95a957ae27b395 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Jul 17 10:17:58 2015 +0200 MAINTAINERS: Add an entry for the Maxim MAX77802 PMIC drivers I added support for the max77802 drivers and have been maintaining them. So add an entry for these drivers to make tools like get_maintainer.pl to work and make people submitting patches add me to the CC list. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 377452f444a63475072cac13159295faac792450 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Jul 17 10:17:57 2015 +0200 MAINTAINERS: Add Device Tree binding doc for max77686 regulator The Device Tree binding documentation for the Maxim max77686 regulators has been moved from the Multi-Function Device DT binding section to its own Documentation/devicetree/bindings/regulator/max77686.txt file. Use a wilcard so both the mfd and regulator DT bindings are resolved. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 03b42710420f2db5cc1e3506625e1311becb286b Author: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Fri Jul 17 10:55:10 2015 +0100 mfd: da9063: Fix missing DA9063_M_DVC_RDY mask bit Fix a missing DVC_RDY interrupt mask in struct regmap_irq definition. The original submission of this driver did not contain all interrupt masking definitions in the struct regmap_irq contained in the file da9063-irq.c The solution is to add a DA9063_IRQ_DVC_RDY entry to enum da9063_irqs list and to add the corresponding values to compensate for the missing mask bit in the static const struct regmap_irq da9063_irqs[] table. Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Adam Ward <adam.ward.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d8d79f8f60c4363a0fa490ff1626be4bd5e003a3 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Sat Jul 11 14:59:56 2015 +0200 mfd: axp20x: Add axp152 support The axp152 is a stripped down version of the axp202 pmic with the battery charging function removed as it is intended for top-set boxes. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 18ca2ba5995d950619589355c3bc760b2a91e2bf Author: Michael Brunner <mibru@xxxxxx> Date: Tue Jul 14 13:20:50 2015 +0200 mfd: kempld-core: Add support for COMe-bBL6 and COMe-cBW6 to Kontron PLD driver This patch adds the DMI system ID of the Kontron COMe-bBL6 and COME-cBW6 boards to the Kontron PLD driver. The list of supported products in the module description is also updated. Signed-off-by: Michael Brunner <michael.brunner@xxxxxxxxxxx> Acked-by: Christian Rauch <christian.rauch@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 13e72a49376efb9c743578b707033f1cb8865a55 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jul 11 14:59:55 2015 +0200 mfd: axp20x: Add binding documentation for AXP152 PMIC Add devicetree binding documentation for the AXP152 PMIC, this is a stripped down version of the AXP202 PMIC with the battery charging function removed. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 51d0eb81b106a577d686e9ced5aacdc85afb5d0a Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Jul 8 12:40:05 2015 +0300 mfd: qcom-rpm: Add apq8064 QDSS clock resource Qualcomm Debug Subsystem clock is used by CoreSight components. Add required definitions for it. qcom_rpm_resource::status_id is not used by driver, so just mark it as ~0. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0e777366fb0eba6facc44f0604fe6adbaf21d604 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:05:40 2015 +0900 mfd: Drop owner assignment from i2c_drivers i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 66f2752fbb3b50ef816c41f07a6654610bb648ac Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 7 19:10:59 2015 +0800 mfd: wm8994-regmap: Constify reg_default tables These reg_default tables are not modified after initialized, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e6c7efa7ee2eb7c15ea0fc0bd7ab6dc808cb57a3 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 11:23:53 2015 +0100 mfd: arizona: Fixup register table definitions The regmap register definitions have been a source of many small fixes as issues are discovered. As such I made a small automated tool to check these definitions. This patch fixes the issues (mostly harmless) located by that tool, the issues fall into three catagories: 1) Volatile registers that have a default in the defaults table (default has been removed from the table since it is redundant) 2) Registers that are marked as volatile but unreadable (register has been removed from the volatile list since it is obviously not being used) 3) Registers that arn't readable but have an entry in the defaults table (again removed since it is redundant) 4) Readable non-volatile registers that are missing a default, these are dangerous as they won't get synced during a cache sync. Fortunately, most of them seem to be registers that shouldn't be there (for example wm5102 had readable registers for DRC2 and ISRC3 which is doesn't have) Hopefully another tool will be produced to check the actual default values themselves but that is outside the scope of this patch. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 922e3c220c6a5ab4aee066a9fc9aa17fcb0e4740 Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Wed Jul 1 14:11:33 2015 +0100 mfd: da9062: dt: Add bindings for DA9062 driver Add device Tree Bindings for the DA9062 driver Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9b40b030c4ad685732dd3ad5b57249db52a74e71 Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Wed Jul 1 14:11:32 2015 +0100 mfd: da9062: Supply core driver Add MFD core driver support for DA9062 Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 78b7d84c8f6e49f68d7b63c4d67242d4c1bfbadd Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Thu Jul 2 08:52:58 2015 +0530 mfd: t7l66xb: Remove unnecessary pdata check o Making pdata NULL check to (!pdata) as coding standard and all other checks in file. o Removing redundant check of pdata, because we already check for pdata, and also derefernced before this check. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 088d862c53f9664d8bca9f56fb4590e36fbf587a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 7 08:52:06 2015 +0800 mfd: tps6586x: Fix up define for TPS6586X_MAX_REGISTER The latest valid register is TPS6586X_VERSIONCRC. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6887b042c52ee05a405bae859f410c2f63b45339 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 16:16:35 2015 +0100 mfd: arizona: Add support for WM8998 and WM1814 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bc00d68f2f209dd7ad01f64c3bdf67e608c363f1 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Fri Jun 26 18:38:11 2015 +0530 mfd: 880m80x: Make use of BIT() macro Instead of hard coding the shift for bit definition, use BIT() macro. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit acdecb04e2115747f260700384f2c403c8e9693e Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Thu Jun 25 02:20:44 2015 +0200 mfd: Remove MFD_CROS_EC_SPI depends on OF The ChromeOS EC SPI transport driver has a dependency on OF because it uses some OF helpers from the <linux/of.h> header. But there isn't a need for an explicit dependency since the header has stub functions if CONFIG_OF is not defined. Also, MFD_CROS_EC_SPI already depends on MFD_CROS_EC which in turn has a dependency on OF so in practice can't be selected without CONFIG_OF. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 00b6e9ff01a8f41816060b2f70752f66f100fecd Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 11:24:27 2015 +0100 mfd: arizona: Update several pdata members to unsigned Device tree and ACPI primarily deal with unsigned ints, many of the pdata members in the Arizona driver are signed ints but are only ever assigned positive values. Changing these pdata fields to unsigned ints avoids us having to choose between overly verbose code and Sparse warnings. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 16f6a0df1d319705abf068bd1ebada344ad9d04f Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Sun Jun 14 15:41:49 2015 +0100 mfd: arizona: Fix race between runtime suspend and IRQs The function arizona_irq_thread (the threaded handler for the arizona IRQs) calls pm_runtime_get_sync at the start to ensure that the chip is active as we handle the IRQ. If the chip is part way through a runtime suspend when an IRQ arrives the PM core will wait for the suspend to complete, before resuming. However, since commit 4f0216409f7c ("mfd: arizona: Add better support for system suspend") the runtime suspend function may call disable_irq, if the chip is going to fully power off, which will try to wait for any outstanding IRQs to complete. This results in deadlock as the IRQ thread is waiting for the PM operation to complete and the PM thread is waiting for the IRQ to complete. To avoid this situation we use disable_irq_nosync, which allows the suspending thread to finish the suspend without waiting for the IRQ to complete. This is safe because if an IRQ is being processed it can only be blocked at the pm_runtime_get_sync at the start of the handler otherwise it wouldn't be possible to suspend. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c465875aa3934c0fdcc26f936322455569e89add Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sat Jun 13 14:20:51 2015 +0200 mfd: intel_soc_pmic: Constify ACPI device ids Constify the ACPI device ID array, it doesn't need to be writable at runtime. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d548ca43d0333a0c4af0c79e9e6aafc29cd5a854 Merge: 4b45efe 82805d1 2a7a0e9 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Aug 11 15:08:04 2015 +0100 Merge branches 'ib-mfd-base-acpi-dma-4.3', 'ib-mfd-clocksource-rtc-watchdog-4.3' and 'ib-mfd-i2c-x86-watchdog-4.3' into ibs-for-mfd-merged commit d5cf4023ebcbae13e14e3ab3c55cb744321b352e Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Aug 10 13:00:02 2015 -0700 crypto: qat - Fix adf_isr_resource_free name clash When both PF and VF drivers are build in linker complains about multiple definition of adf_isr_resource_[alloc/free] functions. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5cd01fe19be0e4ff3f0abfd6defc55a3b5dce224 Author: Paulo Flabiano Smorigo <pfsmorigo@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:14:17 2015 -0300 Fix email address mistypo for NX/VMX crypto driver maintainers Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2a7a0e9bf7b32e838d873226808ab8a6c00148f7 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Thu Aug 6 13:46:26 2015 +0100 watchdog: iTCO_wdt: Add support for TCO on Intel Sunrisepoint The revision of the watchdog hardware in Sunrisepoint necessitates a new "version" inside the TCO watchdog driver because some of the register layouts have changed. Also update the Kconfig entry to select both the LPC and SMBus drivers since the TCO device is on the SMBus in Sunrisepoint. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9424693035a57961a8eb09e96aab315a7096535d Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Aug 6 13:46:25 2015 +0100 i2c: i801: Create iTCO device on newer Intel PCHs Starting from Intel Sunrisepoint (Skylake PCH) the iTCO watchdog resources have been moved to reside under the i801 SMBus host controller whereas previously they were under the LPC device. In order to support the iTCO watchdog on newer PCHs we need to create the platform device here in the SMBus driver and pass all known resources using platform data. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 420b54de25828c45f3fc1f12d52d9657f5e90a53 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Thu Aug 6 13:46:24 2015 +0100 mfd: watchdog: iTCO_wdt: Expose watchdog properties using platform data Intel Sunrisepoint (Skylake PCH) has the iTCO watchdog accessible across the SMBus, unlike previous generations of PCH/ICH where it was on the LPC bus. Because it's on the SMBus, it doesn't make sense to pass around a 'struct lpc_ich_info', and leaking the type of bus into the iTCO watchdog driver is kind of backwards anyway. This change introduces a new 'struct itco_wdt_platform_data' for use inside the iTCO watchdog driver and by the upcoming Intel Sunrisepoint code, which neatly avoids having to include lpc_ich headers in the i801 i2c driver. This change is overdue because lpc_ich_info has already found its way into other TCO watchdog users, notably the intel_pmc_ipc driver where the watchdog actually isn't on the LPC bus as far as I can see. A simple translation layer is provided for converting from the existing 'struct lpc_ich_info' inside the lpc_ich mfd driver. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> [drivers/x86 refactoring] Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b0c49e2acc6e0e1bf5ae80a3afd63bdcfce19883 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Aug 11 10:30:24 2015 -0300 [media] mantis: remove an uneeded goto Gotos makes a little harder to check the code. In this particular case, the goto is doing nothing but jumping into a return. Instead, just replace the goto by the return, making it simpler. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1a08a84cc68e87d541a9b6e00d53243c2de68011 Merge: 1e86355 94bdc48 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 15:31:53 2015 +0200 Merge tag 'renesas-dt3-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Third Round of Renesas ARM Based SoC DT Updates for v4.3 * Add JPU support: r8a7791 and r8a7790 SoCs * Add MMCIF and PFC support: r8a7794 SoC * Add initial support for r8a7794/silk * Add missing "gpio-ranges" to gpio nodes: sh73a0, r8a7740 and r8a73a4 SoCs * tag 'renesas-dt3-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: sh73a0 dtsi: Add missing "gpio-ranges" to gpio node ARM: shmobile: r8a7740 dtsi: Add missing "gpio-ranges" to gpio node ARM: shmobile: r8a73a4 dtsi: Add missing "gpio-ranges" to gpio node ARM: shmobile: silk: add eMMC DT support ARM: shmobile: r8a7794: add MMCIF DT support ARM: shmobile: silk: add Ether DT support ARM: shmobile: silk: initial device tree ARM: shmobile: r8a7794: add PFC DT support ARM: shmobile: r8a7791: Add JPU device node. ARM: shmobile: r8a7790: Add JPU device node. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4f2f1f76dc8c5cb6528d7451de6eacdbf8fb0cbf Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jul 28 02:11:36 2015 +0200 ARM: nomadik: push accelerometer down to boards The two Nomadik variants have the accelerometer mounted on different I2C lines. Push the definition down to the top-level board DTS files to get things right. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 98badfd31ccb1448866b99cb6a64ad227d141d22 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jul 27 22:40:53 2015 +0200 ARM: nomadik: move l2x0 setup to device tree The cache setup magic value in the Nomadik machine is plain wrong, the correct settings can be done using device tree in accordance with the settings from ST's own port. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1cb3375bb53719a2d90793b5bc47f99c21dc6b72 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 23 23:14:20 2015 +0200 ARM: nomadik: selectively enable UART0 on boards The S8815 board is using RX/TX on UART0, and the NHK8815 is using RX/TX and CTS/RTS (the latter connected to a Bluetooth chip). Activate the right groups with the u0 UART0 function on each board and undisable it. Get rid of the old erroneous default definition from the SoC file. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4cec8cd790e3645d2e5ddf01cbe4ed2a90dcd94f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sat May 30 17:30:26 2015 +0200 ARM: nomadik: move hog code to use DT hogs Instead of introducing a board-specific DT node for biasing the MMC/SD and SATA ports, use the new device tree hogs. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 919db5c3199cbd7cf503cdc42f3467a524d1f9ff Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Aug 10 14:11:41 2015 -0300 [media] mantis: Fix error handling in mantis_dma_init() Current code assigns 0 to variable 'err', which makes mantis_dma_init() to return success even if mantis_alloc_buffers() fails. Fix it by checking the return value from mantis_alloc_buffers() and propagating it in the case of error. Reported-by: RUC_Soft_Sec <zy900702@xxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8e8a6b23f115906678252190c8fcf4168cc60fd5 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Jul 28 05:33:55 2015 -0300 [media] mt9v032: fix uninitialized variable warning drivers/media/i2c/mt9v032.c: In function â??mt9v032_probeâ??: CC [M] drivers/media/i2c/s5k4ecgx.o drivers/media/i2c/mt9v032.c:996:20: warning: â??pdataâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] if (pdata && pdata->link_freqs) { ^ It can indeed be uninitialized in one corner case. Initialize to NULL. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9deb6ad661c1656dc770d35336a84b0d885c3ff2 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Aug 6 09:38:02 2015 -0300 [media] v4l2: move tracepoint generation into separate file To compile videobuf2-core as a module, the vb2_* tracepoints must be exported from the videodev module. Instead of exporting vb2 tracepoint symbols from v4l2-ioctl.c, move the tracepoint generation into a separate file. This patch fixes the following build error in the modpost stage, introduced by 2091f5181c66 ("[media] videobuf2: add trace events"): ERROR: "__tracepoint_vb2_buf_done" undefined! ERROR: "__tracepoint_vb2_dqbuf" undefined! ERROR: "__tracepoint_vb2_qbuf" undefined! ERROR: "__tracepoint_vb2_buf_queue" undefined! Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b1304f9bdc3df8f213550b15cdfd7262420ef328 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Mon Aug 3 05:36:43 2015 -0300 [media] vivid: support cvt, gtf timings for video out The generation of cvt, gtf timings is already supported by v4l2-ctl. This patch adds support for setting cvt,gtf timings for video out. While enabling cvt,gtf in vivid capture, the vivid video out was missed out. Adding it now. Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1e86355adc6df3e228e7fd053d25e301fe768094 Merge: 63ef577 ed05637 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 15:23:24 2015 +0200 Merge tag 'omap-for-v4.3/dt-pt3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Omap device tree changes for v4.3 merge window. Pretty much all just trivial additions to configure devices for various SoCs and boards: - Updates for omap3-devkit8000 board support - M3 coprosessor, regulator, mux, RTC and eMMC updates for am437x - MMC, regmap, mux and dwc3 updates for dra7 and omap5 * tag 'omap-for-v4.3/dt-pt3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (27 commits) ARM: dts: omap3-devkit8000: Add ADS7846 Touchscreen support ARM: dts: omap3-devkit8000: add LCD panels ARM: dts: omap3-devkit8000: Add DSS' DVI support ARM: dts: omap3-devkit8000: Add S-video output support ARM: dts: omap3-devkit8000: Add keymap support ARM: dts: omap3-devkit8000: Add PMU stat support ARM: dts: omap3-devkit8000: Add user button support ARM: dts: am437x-gp-evm: Add regulator-always-on and regulator-boot-on for RTC DCDCs ARM: dts: AM4372: Reorder the rtc compatible string ARM: dts: am437x-gp-evm: Add eMMC support ARM: dts: am437x-gp-evm: Add gpio-hog for configuring eMMC/NAND driver ARM: dts: am43xx: Introduce MUX_MODE9 for pinctrl ARM: dts: dra72-evm: Fix spurious card insert/removal interrupt ARM: dts: dra7-evm: Fix spurious card insert/removal interrupt ARM: dts: am57xx-beagle-x15: mmc1: remove redundant pbias-supply property ARM: dts: dra7-evm: Add MMCSD card removal GPIO ARM: dts: dra72-evm: Set max clock frequency of MMC1 and MMC2 ARM: dts: dra7-evm: add evm_3v3_sd regulator ARM: dts: dra72-evm: add evm_3v3_sd regulator ARM: dts: AM4372: Add the wkup_m3_ipc node ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 63ef577d9ae51a2c4c34670f8f1eeded0be629b2 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Aug 6 19:37:46 2015 +0900 ARM: dts: UniPhier: add reference daughter board This is used as a base board for reference core modules. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b6bb424b407ee0162fc492e6149847d0aa0034ff Author: Wei Huang <wei@xxxxxxxxxx> Date: Fri Aug 7 15:53:30 2015 -0400 KVM: x86/vPMU: Fix unnecessary signed extension for AMD PERFCTRn According to AMD programmer's manual, AMD PERFCTRn is 64-bit MSR which, unlike Intel perf counters, doesn't require signed extension. This patch removes the unnecessary conversion in SVM vPMU code when PERFCTRn is being updated. Signed-off-by: Wei Huang <wei@xxxxxxxxxx> Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b78bda5fd8d04029ca3da512b83e8e636791db53 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Thu Aug 6 19:22:38 2015 -0700 ARM: brcmstb: select ARCH_DMA_ADDR_T_64BIT for LPAE Broadcom STB (BRCMSTB) has some 64-bit capable DMA and therefore needs dma_addr_t to be a 64-bit size. One user is the Broadcom SATA3 AHCI controller driver. Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit aeaeba1b6f0988ad4d9773ba2f1312e3f1436efa Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Tue Aug 4 18:43:28 2015 -0700 ARM: BCM: Enable ARM erratum 798181 for BRCMSTB Commit 04fcab32d3fa1d3f6afe97e0ab431c5572e07a2c ("ARM: 8111/1: Enable erratum 798181 for Broadcom Brahma-B15") enables this erratum for affected Broadcom Brahma-B15 CPUs when CONFIG_ARM_ERRATA_798181=y. Let's make sure that config option is actually set. Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e73ff4d29a780f2b09913cc8599a94e737546310 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Fri Jul 31 18:17:45 2015 -0700 ARM: dts: brcmstb: add BCM7445 GPIO nodes Need the aon_pm_l2_intc and irq0_aon_intc descriptions, so included those as well. Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1ff80363524cf78e2894b1c6fdd5b7b03ea41994 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Wed Jul 29 23:51:00 2015 +0200 ARM: BCM5301X: Add profiling support Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit db44f1342d8c2606dbbcbcab83741a3d1c872cff Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Wed Jul 29 23:50:59 2015 +0200 ARM: BCM5301X: activate some additional options in pl310 cache controller In the default Broadcom SDK the shared override is activated for this cache controller, do the same in the upstream code. Data and instruction prefetching is not activated by default for this cache controller on the bcm53xx SoC, do it manually like it is done in the vendor SDK. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit efd16bda273a9be4f41343482c7c83e40f1cb4c8 Merge: 7776f8e 8248112 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 15:13:03 2015 +0200 Merge tag 'arm-soc/for-4.3/maintainers' of http://github.com/broadcom/stblinux into next/fixes-non-critical This pull request contains the following changes to the MAINTAINERS file: - Add Eric Anholt as a 3rd maintainer for the Raspberry Pi platform code/drivers - Add linux-arm-kernel for all bcm2835 related drivers * tag 'arm-soc/for-4.3/maintainers' of http://github.com/broadcom/stblinux: MAINTAINERS: Explicitly add linux-arm-kernel for bcm2835 MAINTAINERS: Add myself as a bcm2835 co-maintainer. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 603242a88ac44771442b077e0c9cb4d3af2b796f Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Wed Aug 5 10:44:40 2015 -0400 kvm: x86: Fix error handling in the function kvm_lapic_sync_from_vapic This fixes error handling in the function kvm_lapic_sync_from_vapic by checking if the call to kvm_read_guest_cached has returned a error code to signal to its caller the call to this function has failed and due to this we must immediately return to the caller of kvm_lapic_sync_from_vapic to avoid incorrectly call apic_set_tpc if a error has occurred here. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 42d0a99fd64ce01950d57c140aafa59defbb2ebb Merge: a5e921b 2cd2124 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 15:10:01 2015 +0200 Merge tag 'sirf-dts-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux into next/dt ARM: sirf: dts update for 4.3 some missed dt nodes or props for sirf dts for 4.3. Among them: - G2D - PWM - JPEG - Multimedia - PMU(performance monitor unit) - GMAC - SDR(software digital radio) and its DMA - pinmux for NAND - GPIO key * tag 'sirf-dts-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux: ARM: dts: atlas7: add a GPIO key for rearview button ARM: dts: atlas7: put pinctl property to get pinmux for NAND ARM: dts: atlas7: add software digital radio nodes and its DMA channels ARM: dts: atlas7: add lost PWM node ARM: dts: atlas7: add lost G2D node ARM: dts: atlas7: add multimedia codec node ARM: dts: atlas7: add alias name for spi device ARM: dts: atlas7: add lost gmac node ARM: dts: atlas7: add performance monitor unit node ARM: dts: atlas7: add lost jpeg node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a5e921b4771fbdaad97171184725ff60d8e8a7b0 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Aug 4 20:21:04 2015 +0900 ARM: dts: uniphier: add ProXstream2 and PH1-LD6b SoC/board support Initial version of DTSI for ProXstream2 and PH1-LD6b and DTS for PH1-LD6b reference board. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> [olof: sort Makefile entries] Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 474e5ac6247f10924ef4c349c32b2cf303d51210 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Aug 4 20:21:03 2015 +0900 ARM: dts: uniphier: add PH1-Pro5 SoC support Initial version of UniPhier PH1-Pro5 device tree. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 68f46897ea7efbcb30d19304072074fac4569c54 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Aug 4 20:21:02 2015 +0900 ARM: dts: uniphier: add I2C controller device nodes Add I2C controller device nodes for PH1-sLD3, PH1-LD4, PH1-sLD8 (FIFO-less I2C) and PH1-Pro4 (FIFO-builtin I2C). Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b9efb8e30e99fe8ca9f886e0332eb0f29b6b48bb Merge: da5df64 5e080b0 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 15:01:26 2015 +0200 Merge tag 'samsung-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Samsung 1st DT updates for v4.3 - for exynos3250 : update video-phy node with syscon phandle - for exynos4210 : add CPU OPP and regulator supply property : use labels for overriding nodes for exynos4210-universal_c210 - for exynos4412-trats2 : set max17047 over heat and voltage thresholds - for exynos5250 and 5420 : extend exynos5250/5420-pinctrl nodes using labels : include exynos5250/5420-pinctrl after the nodes definitions - for exynos5410-smdk5410 : clean up indentation - for exynos5422-odroidxu3 : define default thermal-zones for exynos5422 : enable USB3 regulators, TMU and thermal-zones : add pwm-fan node * tag 'samsung-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Extend exynos5420-pinctrl nodes using labels instead of paths ARM: dts: Include exynos5420-pinctrl after the nodes were defined for exynos5420 ARM: dts: Extend exynos5250-pinctrl nodes using labels instead of paths ARM: dts: Include exynos5250-pinctrl after the nodes were defined for exynos5250 ARM: dts: Enable thermal-zones for exynos5422-odroidxu3 ARM: dts: Define default thermal-zones for exynos5422 ARM: dts: Enable TMU for exynos5422-odroidxu3 ARM: dts: Add pwm-fan node for exynos5422-odroidxu3 ARM: dts: Use labels for overriding nodes for exynos4210-universal_c210 ARM: dts: Set max17047 over heat and voltage thresholds for exynos4412-trats2 ARM: dts: Enable USB3 regulators for exynos5422-odroidxu3 ARM: dts: Clean up indentation for exynos5410-smdk5410 ARM: dts: add CPU OPP and regulator supply property for exynos4210 ARM: dts: Update video-phy node with syscon phandle for exynos3250 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 28d250c4ed03e148ea98db6e5bb614002606adc2 Merge: fc293f5 d306d08 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 14:59:02 2015 +0200 Merge tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup Samsung cleanup for v4.3 - make the following headers local watchdog-reset, onenand-core, irq-uart, backlight, ata-core, regs-usb-hsotg-phy, spi-core, nand-core, fb-core and regs-srom headers - make the following c file local s5p-dev-mfc, dev-backlight and setup-camif c file - remove keypad-core.h file - drop owner assignment in pmu.c - remove duplicated define of SLEEP_MAGIC - make exynos5420_powerdown_conf() staic * tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: SAMSUNG: remove keypad-core header in plat-samsung ARM: SAMSUNG: local watchdog-reset header in mach-s3c64xx ARM: SAMSUNG: local onenand-core header in mach-s3c64xx ARM: SAMSUNG: local irq-uart header in mach-s3c64xx ARM: SAMSUNG: local backlight header in mach-s3c64xx ARM: SAMSUNG: local ata-core header in mach-s3c64xx ARM: SAMSUNG: local regs-usb-hsotg-phy header in mach-s3c64xx ARM: SAMSUNG: local spi-core header in mach-s3c24xx ARM: SAMSUNG: local nand-core header in mach-s3c24xx ARM: SAMSUNG: local fb-core header in mach-s3c24xx ARM: SAMSUNG: local regs-srom header in mach-exynos ARM: SAMSUNG: make local s5p-dev-mfc in mach-exynos ARM: SAMSUNG: make local dev-backlight in mach-s3c64xx ARM: SAMSUNG: make local setup-camif in mach-s3c24xx ARM: EXYNOS: Drop owner assignment in pmu.c ARM: EXYNOS: Remove duplicated define of SLEEP_MAGIC ARM: EXYNOS: Make local function static Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7111cddd518f7d51d72118b3cb42a8c6d3a00401 Author: William Towle <william.towle@xxxxxxxxxxxxxxx> Date: Thu Jul 23 09:21:34 2015 -0300 [media] media: adv7604: reduce support to first (digital) input Using adv7611_read_cable_det() for ADV7612 means that full support for '.max_port = ADV7604_PAD_HDMI_PORT_B,' isn't available due to the need for multiple port reads to determine cable detection, and an agreed mechanism for communicating the separate statuses. This patch replaces adv7611_read_cable_det() with a functionally identical copy, commented appropriately. Earlier submissions [leading to commit 8331d30b] also set .cp_csc, which is used in a cp_read() call within adv76xx_log_status(). Signed-off-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c1362384a85e429cd4e6f5fd65f130770224bcef Author: William Towle <william.towle@xxxxxxxxxxxxxxx> Date: Thu Jul 23 09:21:33 2015 -0300 [media] media: adv7604: fix probe of ADV7611/7612 Prior to commit f862f57d ("[media] media: i2c: ADV7604: Migrate to regmap"), the local variable 'val' contained the combined register reads used in the chipset version ID test. Restore this expectation so that the comparison works as it used to. Signed-off-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 16225ea7fa6843482c562f033b7ec270651636e9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:40 2015 -0300 [media] soc_camera: always release queue for queue owner Always release the queue if the owner closes its filehandle and not when it is the last open filehandle. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2d703835b02c0d1adbea4b1eeac188be8e76710b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:39 2015 -0300 [media] soc_camera: pass on streamoff error If streamoff returned an error, then pass that on to the caller. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9f317de424dfb57d8c3d3152ace24904bc402810 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:38 2015 -0300 [media] soc_camera: compliance fixes - REQBUFS(0) will stop streaming, free buffers and release the file ownership. - Return ENOTTY for create_bufs for a vb1 driver - Return EBUSY if there is a different streaming owner and set the new owner on success. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eb01b1bca9ac7644f178384a594881f2b3433773 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:37 2015 -0300 [media] soc_camera: fix expbuf support - For vb1 drivers just return -ENOTTY. - For vb2 drivers allow vb2_expbuf without there being a stream owner: the vb2_expbuf function will return the correct error message in that case. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d53c0f72757664d9011263cf655f49959d644028 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:36 2015 -0300 [media] soc_camera: fix enum_input Fill in the std field from the video_device tvnorms field. This fixes a v4l2-compliance failure. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fd41c1af4ed14f9bc8591687c29d8a21d5a63d51 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:35 2015 -0300 [media] sh_mobile_ceu_camera: set field to FIELD_NONE Make sure that 'field' isn't FIELD_ANY when the driver is first loaded. Fixes a v4l2-compliance failure. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 31d38d33d79fe48258c54474a411b201833016f3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:34 2015 -0300 [media] sh_mobile_ceu_camera: fix querycap Fill in the bus_info and driver fields. Found by v4l2-compliance. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d9db01fbab33d7644934ca1c71b1d6908dd56a7f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:33 2015 -0300 [media] mt9t112: JPEG -> SRGB The JPEG colorspace should only be used for JPEG encoded images. This is just a regular sRGB sensor. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 517ef25521ad7fd61ec411871525ebc28b2170a6 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:32 2015 -0300 [media] ak881x: simplify standard checks Simplify confusing conditions. This also swaps the checks for NTSC and PAL: to be consistent with other drivers check for NTSC first. So if the user sets both NTSC and PAL bits, then NTSC wins. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1f3375e0b257d086efe2b7d3d705e47c3e4a6c2d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:31 2015 -0300 [media] tw9910: init priv->scale and update standard When the standard changes the VACTIVE and VDELAY values need to be updated. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9212e1d8722d28a06a763f46b783881dcde1fb34 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:30 2015 -0300 [media] tw9910: don't use COLORSPACE_JPEG This is an SDTV video receiver, so the colorspace should be SMPTE170M. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fc293f5f2a2d94b889666c3dc3faa09f6b55e3e3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 14:43:05 2015 +0200 ARM: shmobile: Fix mismerges Turns out I fumbled a couple of the merge resolutions for marzen board removal. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 073b795efb5c3ed8ddfea4042d5d0d3f8e4409e8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:28 2015 -0300 [media] sh-veu: initialize timestamp_flags and copy timestamp info This field wasn't set, causing WARN_ON's from the vb2 core. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7776f8e3f8708787d0d70aa08dedba714b2b54af Merge: bc0195a 2cc6b81 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Aug 11 14:38:36 2015 +0200 Merge tag 'samsung-non-critical-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/fixes-non-critical Samsung non-critical fixes for v4.3 - fix sparse warning for returning iomem - fix clock-frequency of display timing0 for exynos3250-rinato * tag 'samsung-non-critical-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: Use IOMEM_ERR_PTR when function returns iomem ARM: dts: fix clock-frequency of display timing0 for exynos3250-rinato Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0695726e85b45f3298f64fa4cee89f40f923fb8c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Aug 10 13:34:08 2015 +0200 drm/i915: Use CONFIG_DRM_FBDEV_EMULATION Instead of our own duplicated one. This fixes a bug in the driver unload code if DRM_FBDEV_EMULATION=n but DRM_I915_FBDEV=y because we try to unregister the nonexistent fbdev drm_framebuffer. Cc: Archit Taneja <architt@xxxxxxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reported-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 42a7b32b73d6bf22e4bdd7bf68746e2d71f4cd8d Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:58:11 2015 -0600 xfrm: Add oif to dst lookups Rules can be installed that direct route lookups to specific tables based on oif. Plumb the oif through the xfrm lookups so it gets set in the flow struct and passed to the resolver routines. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit df367561ffe5a66cd0b2970fdb8897d5487d38e6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:34 2015 +0200 net/xfrm: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit eae8dee992af622fd992cb2370cd596ac80ef141 Author: Thomas Egerer <thomas.egerer@xxxxxxxxxxx> Date: Mon Jul 27 10:50:19 2015 +0200 xfrm6: Fix IPv6 ECN decapsulation Using ipv6_get_dsfield on the outer IP header implies that inner and outer header are of the the same address family. For interfamily tunnels, particularly 646, the code reading the DSCP field obtains the wrong values (IHL and the upper four bits of the DSCP field). This can cause the code to detect a congestion encoutered state in the outer header and enable the corresponding bits in the inner header, too. Since the DSCP field is stored in the xfrm mode common buffer independently from the IP version of the outer header, it's safe (and correct) to take this value from there. Signed-off-by: Thomas Egerer <thomas.egerer@xxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 267897a4708fd7a0592333f33a4a7c393c999ab7 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Apr 21 11:14:44 2015 -0300 [media] tda10071: implement DVBv5 statistics Implement DVBv5 CNR, signal strength, BER and block errors. Wrap legacy DVBv3 statistics to DVBv5 internally. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4c4acb7a7e81e41901825ca2afb064ada672b39c Author: Antti Palosaari <crope@xxxxxx> Date: Tue Apr 21 11:16:44 2015 -0300 [media] tda10071: do not get_frontend() when not ready This is a bit hack, but returning error when driver is not tuned yet causes DVBv5 zap stop polling DVBv5 statistics. Thus return 0 even callback is called during invalid device state. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e14432a5b7302c1f5c6c094de176ae111697bbab Author: Antti Palosaari <crope@xxxxxx> Date: Tue Apr 21 09:58:15 2015 -0300 [media] tda10071: protect firmware command exec with mutex There should be clearly some lock in order to make sure firmware command in execution is not disturbed by another command. It has worked as callbacks are serialized somehow pretty well and command execution happens usually without any delays. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 308ac9143ee2208f54d061eca54a89da509b5d92 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Aug 8 21:40:01 2015 +0200 netfilter: nf_conntrack: push zone object into functions This patch replaces the zone id which is pushed down into functions with the actual zone object. It's a bigger one-time change, but needed for later on extending zones with a direction parameter, and thus decoupling this additional information from all call-sites. No functional changes in this patch. The default zone becomes a global const object, namely nf_ct_zone_dflt and will be returned directly in various cases, one being, when there's f.e. no zoning support. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 54ab48ed5db69212b9b6abc88d21cbbd5c16e7c3 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 22:21:44 2015 -0300 [media] tda10071: convert to regmap I2C API Use regmap API for I2C operations. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fca3e00760edc18955483b25d835630ee1bf3e97 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 20:04:00 2015 -0300 [media] tda10071: rename device state struct to dev Rename device state struct from 'priv' to 'dev'. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 59ca2ce1d5c289e73173d91a139dd4c6cbeb75a2 Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 19:54:56 2015 -0300 [media] tda10071: remove legacy media attach All users are now using I2C binding and old attach could be removed. Use I2C client for proper logging at the same. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3250a550c48d075b01226f5561c21bc3a1e63dae Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 18:57:03 2015 -0300 [media] a8293: coding style issues Remove FSF address from license. Indent parameter correctly. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4bef67e311d6f9908eeae054d5b8611138956abc Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 18:47:44 2015 -0300 [media] a8293: improve LNB register programming logic On power-on LNB power supply voltage is disabled, due to that no need to disable it during probe. Tone is supply is hard-coded as external tone coming from the demodulator. Program both voltage and tone on set_voltage(). Use register cache to prevent unneeded programming. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2c509b866bd299ab83cf1a4fb478055154845c8a Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 18:16:19 2015 -0300 [media] a8293: use i2c_master_send / i2c_master_recv for I2C I/O As driver is now proper I2C client driver, we could use correct functions for I2C I/O. Also rename state from priv to dev. Fix logging too. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 55881b4fb50976a2956e6de3001bbe0a37e8be9a Author: Antti Palosaari <crope@xxxxxx> Date: Mon Apr 20 17:39:33 2015 -0300 [media] a8293: remove legacy media attach Remove legacy media attach as all users are on I2C bindings now. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d029419dc6176ee860ef73baceec92de3efc4704 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Apr 16 22:55:31 2015 -0300 [media] em28xx: remove unused a8293 SEC config Devices that were using a8293 SEC are converted to I2C platform data thus that old config structure is left unused. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cebbb7396b4493cf72e832cb2aa06f42b1957c7c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Aug 11 09:54:59 2015 +0200 drm/core: Set mode to NULL when connectors in a set drops to 0. Without this when a MST connector is removed drm_atomic_helper_set_config can complain about set->mode && !set->num_connectors. ------------[ cut here ]------------ WARNING: CPU: 2 PID: 2403 at drivers/gpu/drm/drm_atomic_helper.c:1673 drm_atomic_helper_set_config+0x22e/0x420() CPU: 2 PID: 2403 Comm: kms_flip Not tainted 4.2.0-rc5 #4233 Hardware name: NUC5i7RYB, BIOS RYBDWi35.86A.0246.2015.0309.1355 03/09/2015 ffffffff81ac75e8 ffff88004e4ffbf8 ffffffff81714c34 0000000080000000 0000000000000000 ffff88004e4ffc38 ffffffff8107bf81 ffff88004e4ffc48 ffff8800d8ca0690 ffff8800d8d7a080 ffff8800d8cc2290 ffff8800d07bc9f0 Call Trace: [<ffffffff81714c34>] dump_stack+0x4f/0x7b [<ffffffff8107bf81>] warn_slowpath_common+0x81/0xc0 [<ffffffff8107c065>] warn_slowpath_null+0x15/0x20 [<ffffffff813d9e3e>] drm_atomic_helper_set_config+0x22e/0x420 [<ffffffff813da174>] ? drm_atomic_helper_plane_set_property+0x84/0xc0 [<ffffffff813ee101>] drm_mode_set_config_internal+0x61/0x100 [<ffffffff813dc4ed>] restore_fbdev_mode+0xbd/0xe0 [<ffffffff813de1e4>] drm_fb_helper_restore_fbdev_mode_unlocked+0x24/0x70 [<ffffffffc0123d11>] intel_fbdev_restore_mode+0x21/0x80 [i915] [<ffffffffc014bf69>] i915_driver_lastclose+0x9/0x10 [i915] [<ffffffff813e2429>] drm_lastclose+0x29/0x130 [<ffffffff813e2844>] drm_release+0x314/0x500 [<ffffffff81194795>] __fput+0xe5/0x1f0 [<ffffffff811948d9>] ____fput+0x9/0x10 [<ffffffff810968d8>] task_work_run+0x88/0xb0 [<ffffffff8107d53f>] do_exit+0x37f/0xa90 [<ffffffff8127e258>] ? selinux_file_ioctl+0x48/0xc0 [<ffffffff81277dfe>] ? security_file_ioctl+0x3e/0x60 [<ffffffff8107ec80>] do_group_exit+0x40/0xa0 [<ffffffff8107ecef>] SyS_exit_group+0xf/0x10 [<ffffffff8171bdd7>] entry_SYSCALL_64_fastpath+0x12/0x6a ---[ end trace 0daf358c49351567 ]--- Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 992cbf19b32900efa17850b9fa0031fd623edd4d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 6 15:06:40 2015 +0200 drm/atomic: Call ww_acquire_done after check phase is complete We want to make sure that no one tries to acquire more locks and states, and ww mutexes provide debug facilities for that. So use them. v2: Only call acquire_done when ->atomic_check was successful to avoid falling over an -EDEADLK (spotted by Maarten). Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 460e8e2cf464dee6f8a3fc1b81340d818d1ad9e4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 29 12:51:41 2015 +0200 drm/atomic: Paper over locking WARN in default_state_clear In commit 6f75cea66c8dd043ced282016b21a639af176642 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Nov 19 18:38:07 2014 +0100 drm/atomic: Only destroy connector states with connection mutex held I tried to fix races of atomic commits against connector hot-unplugging. The idea is to ensure lifetimes by holding the connection_mutex long enough. That works for synchronous commits, but not for async ones. For async atomic commit we really need to fix up connector lifetimes for real. But that's a much bigger task, so just add more duct-tape: For cleaning up connector states we currently don't need the connector itself. So NULL it out and remove the locking check. Of course that check was to protect the entire sequence, but the modeset itself should be save since currently DP MST hot-removal does a dpms-off. And that should synchronize with any outstanding async atomic commit. Or at least that's my hope, this is all a giant mess. Reported-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit fbb40b285713cbb992466df8c838edb217e98fa6 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Aug 10 11:55:37 2015 +0200 drm/edid: Use ARRAY_SIZE in drm_add_modes_noedid Spotted while reading code for random reasons. Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 2143287d4ed7b7c712aa053f0fb592cdcb71525e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:46 2015 +0200 drm/qxl: Don't take dev->struct_mutex in bo_force_delete It really doesn't protect anything which doesn't have other locks already. It also doesn't seem to be wired up into the driver unload code fwiw, but that's a different issue. Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c325f88d7d8a58fbfaaa5bb9c1d39f2cb4fba827 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:45 2015 +0200 drm/nouveau: Don't take dev->struct_mutex in ttm_fini This is only called in driver load/unload paths, no need to grab any locks at all. Also, ttm takes care of itself anyway. Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 648a4ce7ca209db92db5c3cecb05c14d147a2e6a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:42 2015 +0200 drm/rockchip: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Aside: I stumbled over the mmap handler which directly does a dma_mmap_attrs. But totally fails to grab a reference on the underlying object and hence looks like it happily just leaks the ptes since there's no guarantee the mmap isn't still around when gem_free_object is called. Which the kerneldoc of dma_mmap_attrs explicitly forbids. v2: Fixup compile fail 0-day spotted. Cc: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8d59604547c45332062bde1e25364a9820145fb1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:18:22 2015 -0300 [media] bt819/saa7110/vpx3220: remove legacy control ops The zoran driver has now been converted to the control framework which means that these three subdevice drivers no longer need to support the legacy core control ops since the last bridge driver that needed that has now been converted. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e56c597b027ba95a9ce6719462793da4a91d27d2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:18:21 2015 -0300 [media] zoran: convert to the control framework and to v4l2_fh Switch this driver to the control framework and to v4l2_fh for handling control events. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7b962d43ef875f3a524e92ca944816b862470e21 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:18:20 2015 -0300 [media] zoran: use standard core lock Use the standard core lock to take care of serializing ioctl calls and to serialize file operations. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8148802f186bc09b7d61f9be5cb8d287928c8b50 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:18:19 2015 -0300 [media] zoran: remove unused read/write functions The zoran_read/write functions always return an error. Just remove them. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 160d75724ae7db78112bbdef447f1a7b0f40bdf4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:18:18 2015 -0300 [media] zoran: remove unnecessary memset There is no need to zero the v4l2_capability struct, the v4l2 core has done that already. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0a6b9b04dbe81d781720e077aea147805af0ee87 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:33 2015 -0300 [media] fsl-viu: drop format names The names of the pixelformats is set by the core. So there no longer is any need for drivers to fill it in. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9acc8093282456f920f7d3e34b0b1b58c3f07dbd Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:32 2015 -0300 [media] fsl-viu: small fixes - Fix an off-by-one index check in vidioc_enum_fmt() - Fill in the pix.sizeimage field in vidioc_try_fmt_cap() - Fix an off-by-one index check in vidioc_s_input() Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7fe0b3d7c721ddb5a37e868ad27c2476b4042a54 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:31 2015 -0300 [media] fsl-viu: add control event support Convert the driver to use v4l2_fh in order to support control events. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e299bc99bfa7188d3b52c9aed28e0882f5abd137 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:30 2015 -0300 [media] fsl-viu: fill in colorspace, always set field to interlaced - fill in the missing colorspace value. - don't reject incorrect field values, always replace with a valid value. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 282b3fb831d64b38cac67a912d99ca3dd547aac9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:29 2015 -0300 [media] fsl-viu: fill in bus_info in vidioc_querycap The bus_info field was never filled. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1fea3d6069ae446e084177430f66c11cd4fc8751 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 10:09:28 2015 -0300 [media] fsl-viu: convert to the control framework Interestingly enough, the existing control handling code basically did nothing. At least the new code will inherit the controls from the saa7115 driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit df3cfa6d9265f10fabc3c44f852d6b6bbf26029e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:38 2015 -0300 [media] usbvision: move init code to probe() These things are only initialized if you start streaming video, but they are also used in the disconnect function. So just init them always during probe time. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 94384014f6ef8091bf31b68721761e68f77ad214 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:37 2015 -0300 [media] usbvision: fix standards for S-Video/Composite inputs The standards supported by S-Video and Composite inputs are not limited by PAL, so make it more generic. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8926e8453476ef3c714d659803068b0f26dd656c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:36 2015 -0300 [media] usbvision: fix DMA from stack warnings In various places the stack was used to provide buffers for USB data, but this should be allocated memory. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e2c84ccb0fbe5e524d15bb09c042a6ca634adaed Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:35 2015 -0300 [media] usbvision: fix locking error If remove_pending is non-zero, then the v4l2_lock is never unlocked. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4eeda6faaec4b11e3738ba3ad533d440f628faca Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:34 2015 -0300 [media] usbvision: set field and colorspace Set the colorspace and field in vidioc_try_fmt_vid_cap(). Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 64d416ec965360734beb295fe43c24f36ab465ca Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:33 2015 -0300 [media] usbvision: frequency fixes - setup initial radio and tv frequencies. - set/get the correct frequency (radio vs tv). - disable tuner/freq ioctls if there is no tuner. - fix some tuner index checks. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cbe12cc66e9c03ebd62a5937aada4240924dbe75 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:32 2015 -0300 [media] usbvision: the radio device node has wrong caps The radio device node had the same caps as the video node. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 601ecab34bab60896aa135ebde0d2b629d491821 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:31 2015 -0300 [media] usbvision: remove g/s_audio and for radio remove enum/g/s_input The g/s_audio ioctls didn't do anything, so remove them all for both video and radio nodes and remove V4L2_CAP_AUDIO. The enum/g/s_input ioctls are invalid for radio nodes, so remove them from the radio ioctl_ops. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2b43665ffbca7fe38617442cf731332afc94ead2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:30 2015 -0300 [media] usbvision: return valid error in usbvision_register_video() Don't return -1, return a proper error code. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fd95870d1bd6d7da7e7d0c550bfaae6d76f0799f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:29 2015 -0300 [media] usbvision: convert to the control framework Convert this driver to the control framework and struct v4l2_fh (needed for handling control events). Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 62e259493d779b0e2c1a675ab733136511310821 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jul 20 09:59:28 2015 -0300 [media] usbvision: remove power_on_at_open and timed power off This causes lots of problems and is *very* slow as well. One of the main problems is that this prohibits the use of the control framework since subdevs will be unloaded on power off which is not allowed as long as they are used by a usb device. Apparently the reason for doing this is to turn off a noisy tuner. My hardware has no problem with that, and I wonder whether the hardware with that noisy tuner wasn't just functioning improperly as I have never heard of noisy tuners. Contact me if you have one of those devices and I can take a look whether the tuner can't be powered off if necessary by letting the tuner subdevice go into standby mode. Unloading the tuner module is just evil and is not the right approach. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ed099f66dadd8bac93571fb28b05bdae066b39a2 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Jul 13 20:36:50 2015 -0300 [media] DocBook: Fix typo in intro.xml This patch fix spelling typos in intro.xml. This xml file is not created from comments within source, I fix the xml file. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: removed mention of obsolete devfs] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 207dab5ff84b7d8d9c6e580b6065465f061b76dd Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 08:23:05 2015 -0300 [media] MAINTAINERS: V4L2: PLATFORM: Add entry for Renesas JPEG Processing Unit driver Update RENESAS JPU driver maintainer in MAINTAINERS file. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2c42cdbaec56a9565a2717b450506150c9c55103 Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 08:23:03 2015 -0300 [media] V4L2: platform: Add Renesas R-Car JPEG codec driver Here's the driver for the Renesas R-Car JPEG processing unit. The driver is implemented within the V4L2 framework as a memory-to-memory device. It presents two video nodes to userspace, one for the encoding part, and one for the decoding part. It was found that the only working mode for encoding is no markers output, so we generate markers with software. In the current version of driver we also use software JPEG header parsing because with hardware parsing performance is lower than desired. >From a userspace point of view the process is typical (S_FMT, REQBUF, optionally QUERYBUF, QBUF, STREAMON, DQBUF) for both the source and destination queues. STREAMON can return -EINVAL in case of mismatch of output and capture queues format. Also during decoding driver can return buffers if queued buffer with JPEG image contains image with inappropriate subsampling (e.g. 4:2:0 in JPEG and 4:2:2 in capture). If JPEG image and queue format dimensions differ driver will return buffer on QBUF with VB2_BUF_STATE_ERROR flag. During encoding the available formats are: V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16, V4L2_PIX_FMT_NV16M for source and V4L2_PIX_FMT_JPEG for destination. During decoding the available formats are: V4L2_PIX_FMT_JPEG for source and V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_NV16M, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16 for destination. Performance of current version: 1280x800 NV12 image encoding/decoding decoding ~122 FPS encoding ~191 FPS Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6951813e66e07f18c9a425c3fbd966947ea401ab Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 22 08:23:04 2015 -0300 [media] devicetree: bindings: Document Renesas R-Car JPEG Processing Unit Add Renesas R-Car JPEG processing unit driver device tree bindings documentation. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6d7570c42b963004ecfb42d9625c898eb3087b02 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Thu Jul 23 19:28:48 2015 -0300 [media] v4l2-ioctl: Give more information when device_caps are missing Currently, the warning for missing device_caps gives a backtrace like so: [<ffffffff8175c199>] dump_stack+0x45/0x57 [<ffffffff8109ad5a>] warn_slowpath_common+0x8a/0xc0 [<ffffffff8109ae8a>] warn_slowpath_null+0x1a/0x20 [<ffffffffa0237453>] v4l_querycap+0x43/0x80 [videodev] [<ffffffffa0237734>] __video_do_ioctl+0x2a4/0x320 [videodev] [<ffffffff812207e5>] ? do_last+0x195/0x1210 [<ffffffffa023a11e>] video_usercopy+0x22e/0x5b0 [videodev] [<ffffffffa0237490>] ? v4l_querycap+0x80/0x80 [videodev] [<ffffffffa023a4b5>] video_ioctl2+0x15/0x20 [videodev] [<ffffffffa0233733>] v4l2_ioctl+0x113/0x150 [videodev] [<ffffffff81225798>] do_vfs_ioctl+0x2f8/0x4f0 [<ffffffff8113b2d4>] ? __audit_syscall_entry+0xb4/0x110 [<ffffffff81022d7c>] ? do_audit_syscall_entry+0x6c/0x70 [<ffffffff81225a11>] SyS_ioctl+0x81/0xa0 [<ffffffff8113b526>] ? __audit_syscall_exit+0x1f6/0x2a0 [<ffffffff81763549>] system_call_fastpath+0x12/0x17 This indicates that device_caps are missing but doesn't give much of a clue which driver is actually at fault. Improve the warning output by showing the capabilities and the responsible driver. Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b0527115af80970d65ae37c468e05e7bde82ce81 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Jul 20 06:47:23 2015 -0300 [media] tc358743: remove unused variable The bt pointer was never used, remove it. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e752577ed7bf55c81e10343fced8b378cda2b63b Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Jul 20 04:58:24 2015 -0300 [media] v4l2-mem2mem: drop lock in v4l2_m2m_fop_mmap The v4l2_m2m_fop_mmap function takes the core mutex, but this will result in a potential circular locking dependency: [ 262.517164] ====================================================== [ 262.517166] [ INFO: possible circular locking dependency detected ] [ 262.517169] 4.2.0-rc2-koryphon #844 Not tainted [ 262.517171] ------------------------------------------------------- [ 262.517173] v4l2-compliance/1379 is trying to acquire lock: [ 262.517175] (&dev->dev_mutex){+.+.+.}, at: [<ffffffffa000ddab>] v4l2_m2m_fop_mmap+0x2b/0x90 [v4l2_mem2mem] [ 262.517187] but task is already holding lock: [ 262.517189] (&mm->mmap_sem){++++++}, at: [<ffffffff81159309>] vm_mmap_pgoff+0x69/0xc0 [ 262.517199] which lock already depends on the new lock. [ 262.517202] the existing dependency chain (in reverse order) is: [ 262.517204] -> #1 (&mm->mmap_sem){++++++}: [ 262.517209] [<ffffffff810d0e6b>] __lock_acquire+0x62b/0xe80 [ 262.517215] [<ffffffff810d2095>] lock_acquire+0x65/0x90 [ 262.517218] [<ffffffff811612e5>] __might_fault+0x75/0xa0 [ 262.517222] [<ffffffffa06dead9>] video_usercopy+0x3e9/0x4e0 [videodev] [ 262.517231] [<ffffffffa06debe0>] video_ioctl2+0x10/0x20 [videodev] [ 262.517238] [<ffffffffa06d8663>] v4l2_ioctl+0xc3/0xe0 [videodev] [ 262.517243] [<ffffffff811a8cac>] do_vfs_ioctl+0x2fc/0x550 [ 262.517248] [<ffffffff811a8f74>] SyS_ioctl+0x74/0x80 [ 262.517252] [<ffffffff81a4d2ee>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 262.517258] -> #0 (&dev->dev_mutex){+.+.+.}: [ 262.517262] [<ffffffff810cf464>] validate_chain.isra.38+0xd04/0x1170 [ 262.517266] [<ffffffff810d0e6b>] __lock_acquire+0x62b/0xe80 [ 262.517270] [<ffffffff810d2095>] lock_acquire+0x65/0x90 [ 262.517273] [<ffffffff81a48e3c>] mutex_lock_interruptible_nested+0x6c/0x4b0 [ 262.517279] [<ffffffffa000ddab>] v4l2_m2m_fop_mmap+0x2b/0x90 [v4l2_mem2mem] [ 262.517284] [<ffffffffa06d80ff>] v4l2_mmap+0x4f/0x90 [videodev] [ 262.517288] [<ffffffff8116b06c>] mmap_region+0x38c/0x5b0 [ 262.517293] [<ffffffff8116b585>] do_mmap_pgoff+0x2f5/0x3e0 [ 262.517297] [<ffffffff8115932a>] vm_mmap_pgoff+0x8a/0xc0 [ 262.517300] [<ffffffff81169bab>] SyS_mmap_pgoff+0x1cb/0x270 [ 262.517304] [<ffffffff8100876d>] SyS_mmap+0x1d/0x20 [ 262.517309] [<ffffffff81a4d2ee>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 262.517313] other info that might help us debug this: [ 262.517315] Possible unsafe locking scenario: [ 262.517318] CPU0 CPU1 [ 262.517319] ---- ---- [ 262.517321] lock(&mm->mmap_sem); [ 262.517324] lock(&dev->dev_mutex); [ 262.517327] lock(&mm->mmap_sem); [ 262.517329] lock(&dev->dev_mutex); [ 262.517332] *** DEADLOCK *** Since vb2_fop_mmap doesn't take the lock, neither should v4l2_m2m_fop_mmap. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Tested-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7a1d4e7c064c0eddd90f0204cecd294d0dc5b36a Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Fri Jul 3 07:04:38 2015 -0300 [media] s5p-jpeg: Eliminate double kfree() video_unregister_device() calls device_unregister(), which calls put_device(), which calls kobject_put(), and if this is the last reference then kobject_release() is called, which calls kobject_cleanup(), which calls ktype's release method which happens to be device_release() in this case, which calls dev->release(), which happens to be v4l2_device_release() in this case, which calls vdev->release(), which happens to be video_device_release(). But video_device_release() is called explicitly both in error recovery path of s5p_jpeg_probe() and in s5p_jpeg_remove(). The pointers in question are not nullified between the two calls, so this is harmful. This patch fixes the driver so that video_device_release() is not called twice for the same object. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1af21985473d72965807ef5e5cc02528aa8c01e4 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Jun 3 07:36:23 2015 -0300 [media] s5p-mfc: add additional check for incorrect memory configuration MFC hardware is known to trash random memory if one tries to use a buffer which has lower DMA addresses than the configured DMA base address. This patch adds a check for this case and proper error handling. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Kamil Debski <kamil@xxxxxxxxx> [s.nawrocki@xxxxxxxxxxx: fixed typo (addres -> address] Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 490a977a1038a7f6a6edf30b2555a6890cf24cab Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Jun 3 07:36:22 2015 -0300 [media] s5p-mfc: add return value check in mfc_sys_init_cmd alloc_dev_context_buffer method might fail, so add proper return value check. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Kamil Debski <kamil@xxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d44da04682033ad4c34d97861aef8ad5f7a8c2b5 Author: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Date: Wed May 13 04:25:25 2015 -0300 [media] s5p-mfc: fix state check from encoder queue_setup MFCINST_GOT_INST state is set to encoder context with set_format only for capture buffer. In queue_setup of encoder called during reqbufs, it is checked MFCINST_GOT_INST state for both capture and output buffer. So this patch fixes encoder to check MFCINST_GOT_INST state only for capture buffer from queue_setup. Signed-off-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4f50efadcb9710876c6d02f60931e5fcc896ddaf Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed Jun 10 06:02:03 2015 -0300 [media] s5p-tv: fix wait_event_timeout return handling event API conformance testing with coccinelle spatches are being used to locate API usage inconsistencies this triggert with: ./drivers/media/platform/s5p-tv/mixer_reg.c:364 incorrect check for negative return Return type of wait_event_timeout is signed long not int and the return type is >=0 always thus the negative check is unnecessary. An appropriately named variable of type long is inserted and the call fixed up aswell as the negative return check dropped. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 264d1cf86c9f801339d272c3067d98eef91611a0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 03:19:45 2015 -0300 [media] s5p-tv: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e4001885ca4fa3107898205503f2552ed50f4f02 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Aug 11 09:15:30 2015 +0800 spi: mt65xx: Fix module alias Remove extra space and make the alias matches driver name. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a4401687c11def29fe5a9b23ab98bf7ab1dce61 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Aug 8 17:51:58 2015 +0530 ARC: Enable optimistic spinning for LLSC config Suggested-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit b7182d1a788461c36bad5a13b78d0779a6376f5c Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue Aug 11 12:08:32 2015 +0300 MAINTAINERS: add git tree for the arc architecture Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 72d4d0e48995c91ddf5d1f86612c979eca95bd06 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 11 00:29:55 2015 +0300 quota: remove an unneeded condition We know "ret" is zero here so we can remove this condition. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit 41450b1b5ba101bf470b4fdf0407b30696e86bd3 Merge: fe14f39 6ac7ada Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 11 09:40:16 2015 +0200 Merge branch 'for-linus' into for-next commit 33836ee98533fd27baa89dabca48f8d4e69dd438 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Mon Aug 10 22:41:43 2015 +0800 hwmon:change sht15_reverse() This change sht15_reverse() to be generic bitrev8(). Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit cfca3789e0678c57e09dfb1a09fdfce427b7c92e Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Aug 7 20:55:59 2015 -0700 hwmon: (pmbus) Add device IDs for TPS544{B,C}2{0,5} Add device IDs and references for Texas Instruments TPS544B20, TPS544B25, TPS544C20, and TPS544C25 to the generic PMBus driver. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 6d212b8adce4ddaa20229f781cc86bccb396a9fe Author: Sebastian Krzyszkowiak <dos@xxxxxxxxxxxxx> Date: Sun Jul 19 01:10:21 2015 +0200 ideapad-laptop: add alternative representation for Yoga 2 to DMI table There is at least one (mine) Yoga 2 Pro in existence that has incorrect product version stored in DMI (reading as "INVALID"), causing it to not be recognized as Yoga 2 by ideapad-laptop module, which in turn causes non-existent hardware rfkills to be always reported as blocked. This change adds a second check by board name, which is "Yoga2". Looks like it also happens to be "INVALID" on some other Yoga 2 machines where product version is correct instead, so the original check is left intact to catch both cases. Signed-off-by: Sebastian Krzyszkowiak <dos@xxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 97ade7697bb104523417d0f9b5e38a8bf55ed7f1 Author: Å?ukasz Stelmach <stlman@xxxxxxxxx> Date: Wed Jul 29 21:31:23 2015 +0200 asus-laptop: Add key found on Asus F3M Asus F3M has two keys labeled with an icon of a touchpad. The first, reported as 0x6B is next to the power key and the second, reported as 0x6A, is F9 combined with Fn button. When I was pressing the latter, I was getting "Unknown key 6a pressed" message before applying this patch. Asus F3M does not support WMI so the commit does not update key mappings in the asus-nb-wmi.c file. I have not tested this mapping on any other Asus laptop. Signed-off-by: Å?ukasz Stelmach <stlman@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit e88e28795cb043e65a5197238471c2f573fef3cd Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Aug 3 11:44:08 2015 -0600 MAINTAINERS: Remove Toshiba Linux mailing list address As of March 31th 2015, the mailing-list service finished [1]. This patch simply removes such address. [1] http://goo.gl/F6jS5r Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 07a51cd3794960548627a27aae68c1446341db32 Author: Atzm Watanabe <atzm@xxxxxxxxx> Date: Mon Aug 10 23:39:09 2015 +0900 vxlan: fix fdb_dump index calculation When too many remotes are bound to an FDB entry, index may not be increased. This problem will be caused on the large scale environment that is based on the unicast default destination, for instance. Signed-off-by: Atzm Watanabe <atzm@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85998229161f8a83863c371aa021bdb0887b9a63 Author: Yong Li <sdliyong@xxxxxxxxx> Date: Tue Aug 11 10:43:05 2015 +0800 cc2520: set the default fifo pin value from platform data When the device tree support is disabled, the fifo_pin is uninitialized, this patch will set the fifo_pin value based on platform data Signed-off-by: Yong Li <sdliyong@xxxxxxxxx> Acked-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ed8db18dea26850a73075d0aefcaebb78cc1fe19 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Aug 10 09:54:28 2015 -0300 mellanox: mlxsw: Use '%zx' to print size_t format Use '%zx' to print size_t format in order to fix the following build warning: drivers/net/ethernet/mellanox/mlxsw/item.h:65:3: warning: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'size_t' [-Wformat=] Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa92a31b3335478c545cdc8e79e1e9b788184e6b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 10 10:45:45 2015 +0200 ideapad-laptop: Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list Like some of the other Yoga models the Lenovo Yoga 3 14 does not have a hw rfkill switch, and trying to read the hw rfkill switch through the ideapad module causes it to always reported blocking breaking wifi. This commit adds the Lenovo Yoga 3 14 to the no_hw_rfkill dmi list, fixing the wifi breakage. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1239050 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 92b19ff50e8f242392d78b2aacc5b5b672f1796b Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 10 23:07:06 2015 -0400 cleanup IORESOURCE_CACHEABLE vs ioremap() Quoting Arnd: I was thinking the opposite approach and basically removing all uses of IORESOURCE_CACHEABLE from the kernel. There are only a handful of them.and we can probably replace them all with hardcoded ioremap_cached() calls in the cases they are actually useful. All existing usages of IORESOURCE_CACHEABLE call ioremap() instead of ioremap_nocache() if the resource is cacheable, however ioremap() is uncached by default. Clearly none of the existing usages care about the cacheability. Particularly devm_ioremap_resource() never worked as advertised since it always fell back to plain ioremap(). Clean this up as the new direction we want is to convert ioremap_<type>() usages to memremap(..., flags). Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 2584cf83578c26db144730ef498f4070f82ee3ea Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 10 23:07:05 2015 -0400 arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead Preparation for uniform definition of ioremap, ioremap_wc, ioremap_wt, and ioremap_cache, tree-wide. Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 124fe20d94630b6f173dae5eb815e6e6e350c72d Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Aug 10 23:07:05 2015 -0400 mm: enhance region_is_ram() to region_intersects() region_is_ram() is used to prevent the establishment of aliased mappings to physical "System RAM" with incompatible cache settings. However, it uses "-1" to indicate both "unknown" memory ranges (ranges not described by platform firmware) and "mixed" ranges (where the parameters describe a range that partially overlaps "System RAM"). Fix this up by explicitly tracking the "unknown" vs "mixed" resource cases and returning REGION_INTERSECTS, REGION_MIXED, or REGION_DISJOINT. This re-write also adds support for detecting when the requested region completely eclipses all of a resource. Note, the implementation treats overlaps between "unknown" and the requested memory type as REGION_INTERSECTS. Finally, other memory types can be passed in by name, for now the only usage "System RAM". Suggested-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Reviewed-by: Toshi Kani <toshi.kani@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 5ab16579020edb79e215b401399f88c7e07fdaf9 Merge: 459c15e 41a2d57 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Tue Aug 11 11:18:53 2015 +1000 Merge branch 'smack-for-4.3' of https://github.com/cschaufler/smack-next into next commit a73e99cb67e7438e5ab0c524ae63a8a27616c839 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Mon Aug 10 17:49:51 2015 +0200 staging: ozwpan: Remove from tree Ozwpan is completely unmaintained and potentially a security problem. As this is a staging driver, it should be removed, since it has been abandoned. Cc: Shigekatsu Tateno <shigekatsu.tateno@xxxxxxxxx> Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86d80f973434de24d8a807a92cd59d5ced7bd519 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:24:30 2015 -0400 NFSv4.1/pnfs: Fix atomicity of commit list updates pnfs_layout_mark_request_commit() needs to ensure that it adds the request to the commit list atomically with all the other updates in order to prevent corruption to buckets[ds_commit_idx].wlseg due to races with pnfs_generic_clear_request_commit(). Fixes: 338d00cfef07d ("pnfs: Refactor the *_layout_mark_request_commit...") Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 025bcc154027fc52b1aee192c4599bb6ee6a3c9c Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Aug 3 10:18:10 2015 -0700 HID: wacom: Simplify 'wacom_pl_irq' Unlike other IRQ functions, 'wacom_pl_irq' uses the second element of the 'tool' array to store information about its single pen. This makes the function more difficult to understand (since it doesn't follow the general pattern of other IRQ functions) and prevents the possibility of refactoring how pen state is stored. This patch rewrites 'wacom_pl_irq' to follow the usual IRQ conventions, including storing tool type in 'tool[0]' and implicitly tracking prox with the 'id[0]' variable. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 41a2d5751616e38d1e293e3cb35a6e2bc7a03473 Author: Roman Kubiak <r.kubiak@xxxxxxxxxxx> Date: Mon Aug 10 16:54:25 2015 +0200 Kernel threads excluded from smack checks Adds an ignore case for kernel tasks, so that they can access all resources. Since kernel worker threads are spawned with floor label, they are severely restricted by Smack policy. It is not an issue without onlycap, as these processes also run with root, so CAP_MAC_OVERRIDE kicks in. But with onlycap turned on, there is no way to change the label for these processes. Signed-off-by: Roman Kubiak <r.kubiak@xxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit e5f6450c3f40668de0b9c4cbc53bb345242df78f Author: Jiri Kosina <jikos@xxxxxxxxxx> Date: Sun Aug 9 09:11:34 2015 +0200 MAINTAINERS: update my e-mail address Update my e-mail address to the generic kernel.org one. Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> Signed-off-by: Jiri Kosina <jikos@xxxxxxxxxx> commit 0ff252c1976da5d80db1377eb39b551931e61826 Author: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Date: Mon Aug 10 14:24:17 2015 -0700 Bluetooth: hciuart: Add support QCA chipset for UART QCA61x4 chips have supported sleep feature using In-Band-Sleep commands to enable sleep feature based on H4 protocol. After sending patch/nvm configuration is done, IBS mode will be up and running Signed-off-by: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 83e81961ff7ef75f97756f316caea5aa6bcc19cc Author: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Date: Mon Aug 10 14:24:12 2015 -0700 Bluetooth: btqca: Introduce generic QCA ROME support This is for supporting BT for QCA ROME with vendor specific HCI commands and initialization on the chip. This will have USB/UART implementation both, but for now, adding UART vendor specific commands to patch downloading and set Bluetooth device address using vendor specific command. Signed-off-by: Ben Young Tae Kim <ytkim@xxxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d3d73f4b38a8ece19846b8fa2519cdc8583f35bb Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri Aug 7 13:18:17 2015 +1000 cxl: Compile with -Werror It's a good idea, and it brings us in line with the rest of arch/powerpc. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bec7a630a66a7d688486ae7ceb3f0b5307bdb2c5 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Mon Aug 10 17:15:57 2015 +0800 isdn: Remove reverse_bits(), use revbit8() This change isdn driver, remove reverse_bits() function, use the generic revbit8() function instead. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f3a87326dd4948d21eee8245cde43e8fca9dddf Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 8 22:15:59 2015 +0300 cxgb4: cleanup some indenting Add or remove some tabs so that statements line up correctly. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6bc6d0a88179b732b9a5e40e05099dc219d1b3cb Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 8 17:09:14 2015 +0200 dsa: Support multiple MDIO busses When using a cluster of switches, some topologies will have an MDIO bus per switch, not one for the whole cluster. Allow this to be represented in the device tree, by adding an optional mii-bus property at the switch level. The old platform_device method of instantiation supports this already, so only the device tree binding needs extending with an additional optional phandle. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 966bce38e7fdb75eedaec90e40e4d22b9fbce79f Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 8 17:04:50 2015 +0200 net: dsa: mv88e6352: Use mnemonics for EEPROM registers and bits Add register definitions #defines for accessing the EEPROM. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c73a91b8f944992ec6675fcd34247b9cdf8482ea Merge: fb81139 9f57c67 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 10 14:03:55 2015 -0700 Merge branch 'ovs-gre' Pravin B Shelar says: ==================== GRE: Use flow based tunneling for OVS GRE vport. Following patches make use of new Using GRE tunnel meta data collection feature. This allows us to directly use netdev based GRE tunnel implementation. While doing so I have removed GRE demux API which were targeted for OVS. Most of GRE protocol code is now consolidated in ip_gre module. v5-v4: Fixed Kconfig dependency for vport-gre module. v3-v4: Added interface to ip-gre device to enable meta data collection. While doing this I split second patch into two patches. v2-v3: Add API to create GRE flow based device. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f57c67c379d88a10e8ad676426fee5ae7341b14 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Fri Aug 7 23:51:52 2015 -0700 gre: Remove support for sharing GRE protocol hook. Support for sharing GREPROTO_CISCO port was added so that OVS gre port and kernel GRE devices can co-exist. After flow-based tunneling patches OVS GRE protocol processing is completely moved to ip_gre module. so there is no need for GRE protocol hook. Following patch consolidates GRE protocol related functions into ip_gre module. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2acd1dc3949cd60c571844d495594f05f0351f4 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Fri Aug 7 23:51:47 2015 -0700 openvswitch: Use regular GRE net_device instead of vport Using GRE tunnel meta data collection feature, we can implement OVS GRE vport. This patch removes all of the OVS specific GRE code and make OVS use a ip_gre net_device. Minimal GRE vport is kept to handle compatibility with current userspace application. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e15ea390e6f4466655066d97e22ec66870a042c Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Fri Aug 7 23:51:42 2015 -0700 ip_gre: Add support to collect tunnel metadata. Following patch create new tunnel flag which enable tunnel metadata collection on given device. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9020fde67a6eb77f8130feff633189f99264db1 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Fri Aug 7 23:51:33 2015 -0700 openvswitch: Move tunnel destroy function to oppenvswitch module. This function will be used in gre and geneve vport implementations. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb811395cd5a71b9e94a068f524a6f4a21b67bdb Author: Rick Jones <rick.jones2@xxxxxx> Date: Fri Aug 7 11:10:37 2015 -0700 net: add explicit logging and stat for neighbour table overflow Add an explicit neighbour table overflow message (ratelimited) and statistic to make diagnosing neighbour table overflows tractable in the wild. Diagnosing a neighbour table overflow can be quite difficult in the wild because there is no explicit dmesg logged. Callers to neighbour code seem to use net_dbg_ratelimit when the neighbour call fails which means the "base message" is not emitted and the callback suppressed messages from the ratelimiting can end-up juxtaposed with unrelated messages. Further, a forced garbage collection will increment a stat on each call whether it was successful in freeing-up a table entry or not, so that statistic is only a hint. So, add a net_info_ratelimited message and explicit statistic to the neighbour code. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7854037da006a7472c48773e3190db55217ec9b Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 19:40:45 2015 +0300 bridge: netlink: add support for vlan_filtering attribute This patch adds the ability to toggle the vlan filtering support via netlink. Since we're already running with rtnl in .changelink() we don't need to take any additional locks. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e72ee3ed51542092d83001be6803468e4b91e7be Merge: 07151bc 02509f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 10 13:34:29 2015 -0700 Merge branch 'qlcnic-enhancements' Shahed Shaikh says: ==================== qlcnic: enhancements This series adds few enhancements. o Patch from Harish reorders the sequence of header files inclusion, keeping kernel's header files on top. o Firmware introduced a new feature which allows driver to increases the size of firmware dump of iSCSI function which is being collected by NIC driver. o Print buffer address which is holding a firmware dump. o Use vzalloc() instead kzalloc() for allocating large chunk of memory which will avoid potential memory allocation failure. o Add new device ID for 0x8C30 which is a 83xx series based VF function. Please apply this series to net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02509f171d2379e79328f5e447e6c97c58ae8d52 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Fri Aug 7 07:17:07 2015 -0400 qlcnic: Update version to 5.3.63 Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0e90ad9bfdcc8835945ccb49f39c21ff3cb0b785 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Fri Aug 7 07:17:06 2015 -0400 qlcnic: Don't use kzalloc unncecessarily for allocating large chunk of memory Driver allocates a large chunk of temporary buffer using kzalloc to copy FW image. As there is no real need of this memory to be physically contiguous, use vzalloc instead. Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da286a6fd1e6913779c0a479f428ec3763dfc16c Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Fri Aug 7 07:17:05 2015 -0400 qlcnic: Add new VF device ID 0x8C30 This is a 83xx series based VF device Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 642de51025c3623a9d8c7f3b5e930be0fa95b536 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Fri Aug 7 07:17:04 2015 -0400 qlcnic: Print firmware minidump buffer and template header addresses Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d01a6d3c8ae1425565ff1615d29fab6023c82932 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Fri Aug 7 07:17:03 2015 -0400 qlcnic: Add support to enable capability to extend minidump for iSCSI In some cases it is required to capture minidump for iSCSI functions as part of default minidump collection process. To enable this, firmware exports it's capability and driver need to enable that capability by issuing a mailbox command. With this feature, firmware can provide additional iSCSI function's minidump with smaller minidump capture mask (0x1f). Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a930a4639d8ce8882a44adcafcfa20049bd67cdf Author: Harish Patil <harish.patil@xxxxxxxxxx> Date: Fri Aug 7 07:17:02 2015 -0400 qlcnic: Rearrange ordering of header files inclusion Include local headers files after kernel's header files. Signed-off-by: Harish Patil <harish.patil@xxxxxxxxxx> Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07151bc9f7f53731b355b704141ffaccc8d08752 Author: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Date: Fri Aug 7 17:07:50 2015 +0800 net: phy: select copper mode when Marvel 88e1111 in SGMII For the Marvel 88e1111 PHY only two SGMII modes are available, both allowing only SGMII to copper mode (with or without clock). SGMII to fiber mode is not supported. Make sure the fiber/copper registers selector bits are cleared for selecting copper mode. Signed-off-by: Madalin Bucur <madalin.bucur@xxxxxxxxxxxxx> Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4bc44c65b6b24722506ad5d1bbf557a71d3df90 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Aug 7 13:52:37 2015 +0800 net: fec: fix the race between xmit and bdp reclaiming path When we transmit a fragmented skb, we may run into a race like the following scenario (assume txq->cur_tx is next to txq->dirty_tx): cpu 0 cpu 1 fec_enet_txq_submit_skb reserve a bdp for the first fragment fec_enet_txq_submit_frag_skb update the bdp for the other fragment update txq->cur_tx fec_enet_tx_queue bdp = fec_enet_get_nextdesc(txq->dirty_tx, fep, queue_id); This bdp is the bdp reserved for the first segment. Given that this bdp BD_ENET_TX_READY bit is not set and txq->cur_tx is already pointed to a bdp beyond this one. We think this is a completed bdp and try to reclaim it. update the bdp for the first segment update txq->cur_tx So we shouldn't update the txq->cur_tx until all the update to the bdps used for fragments are performed. Also add the corresponding memory barrier to guarantee that the update to the bdps, dirty_tx and cur_tx performed in the proper order. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4605bb55b91449a1a953a51f0334d3bc02351adb Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Aug 9 15:45:24 2015 +0900 perf evlist: Be more specific on -F/--freq Currently perf evlist -F shows the number as if it's always sampling frequency. But we now support per-event freq/period settings. So it'd better to show more detailed info whether it's freq or period. $ perf record -e 'cpu/config=1/,cpu/config=2,period=300000/' sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data ] $ perf evlist -F cpu/config=1/: sample_freq=4000 cpu/config=2,period=300000/: sample_period=300000 Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439102724-14079-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 09af2a553577a6e53e40011a910be0f27ce56f3e Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Aug 9 15:45:23 2015 +0900 perf record: Support per-event freq term Now perf can set per-event value of time and (sampling) period. But I guess most users like me just want to set frequency rather than period. So add the 'freq' term in the event parser. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439102724-14079-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 31191a85fb875cf123cea56bbfd34f4b941f3c79 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Aug 7 15:54:24 2015 -0700 perf report: Add support for srcfile sort key In some cases it's useful to characterize samples by file. This is useful to get a higher level categorization, for example to map cost to subsystems. Add a srcfile sort key to perf report. It builds on top of the existing srcline support. Commiter notes: E.g.: # perf record -F 10000 usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.016 MB perf.data (13 samples) ] [root@zoo ~]# perf report -s srcfile --stdio # Total Lost Samples: 0 # # Samples: 13 of event 'cycles' # Event count (approx.): 869878 # # Overhead Source File # ........ ........... 60.99% . 20.62% paravirt.h 14.23% rmap.c 4.04% signal.c 0.11% msr.h # The first line is collecting all the files for which srcfiles couldn't somehow get resolved to: # perf report -s srcfile,dso --stdio # Total Lost Samples: 0 # # Samples: 13 of event 'cycles' # Event count (approx.): 869878 # # Overhead Source File Shared Object # ........ ........... ................ 40.97% . ld-2.20.so 20.62% paravirt.h [kernel.vmlinux] 20.02% . libc-2.20.so 14.23% rmap.c [kernel.vmlinux] 4.04% signal.c [kernel.vmlinux] 0.11% msr.h [kernel.vmlinux] # XXX: Investigate why that is not resolving on Fedora 21, Andi says he hasn't seen this on Fedora 22. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438988064-21834-1-git-send-email-andi@xxxxxxxxxxxxxx [ Added column length update, from 0e65bdb3f90f ('perf hists: Update the column width for the "srcline" sort key') ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e8e6d37e73e6b950c891c780745460b87f4755b6 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 10 16:53:54 2015 -0300 perf hists: Update the column width for the "srcline" sort key When we introduce a new sort key, we need to update the hists__calc_col_len() function accordingly, otherwise the width will be limited to strlen(header). We can't update it when obtaining a line value for a column (for instance, in sort__srcline_cmp()), because we reset it all when doing a resort (see hists__output_recalc_col_len()), so we need to, from what is in the hist_entry fields, set each of the column widths. Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Fixes: 409a8be61560 ("perf tools: Add sort by src line/number") Link: http://lkml.kernel.org/n/tip-jgbe0yx8v1gs89cslr93pvz2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9056fff3d5190617a93a4ae658a2ea7b96772834 Merge: c862399 8fcd461 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Mon Aug 10 16:16:03 2015 -0400 Merge branch 'for-4.2' into for-4.3 commit c8623999ffddb8f906154b195aa80d2d279d814f Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:35:37 2015 +0800 nfsd: Remove unused clientid arguments from, find_lockowner_str{_locked} Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 76f6c9e176dda6e34cbe0f0ca99d59f646a9c950 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:35:10 2015 +0800 nfsd: Use lk_new_xxx instead of v.new.xxx for nfs4_lockowner Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e7969315f472aeddf39d6db34cc3f6bf3316fd62 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:34:19 2015 +0800 nfsd: Remove macro LOFF_OVERFLOW Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7a5e8d5b5cdbd05f8b65a7bbcd62e70a9f48eecb Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:33:55 2015 +0800 nfsd: Remove duplicate checking of nfsd_net in nfs4_laundromat() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit efde6b4d4e668f16bc91e9a462e1ec3c99d41136 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:33:24 2015 +0800 nfsd: Remove unused values in nfs4_setlease() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 871860225b32920dd685c6da488956f1c75bf676 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:32:59 2015 +0800 nfsd: Remove nfs4_set_claim_prev() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit f5e22bb6d91aba04fd252c1067b79c0227599a6a Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:32:34 2015 +0800 nfsd: Drop duplicate checking of seqid in nfsd4_create_session() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6cd22668e8c8e2618c1883c835de10e11395123b Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:32:05 2015 +0800 nfsd: Remove unneeded values in nfsd4_open() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 41eb16702c6e4294685e65e0a63f11cfc816cb96 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:29:41 2015 +0800 nfsd: Add missing gen_confirm in nfsd4_setclientid() Commit 294ac32e99 "nfsd: protect clid and verifier generation with client_lock" moved gen_confirm() to gen_clid(). After that commit, setclientid will return a bad reply with all-zero verifier after copy_clid(). Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 19311aa8353644c18d609291e0078843d1c22ece Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sat Jul 18 07:33:31 2015 +0800 nfsd: New counter for generating client confirm verifier If using clientid_counter, it seems possible that gen_confirm could generate the same verifier for the same client in some situations. Add a new counter for client confirm verifier to make sure gen_confirm generates a different verifier on each call for the same clientid. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit d50ffded7947c052ca91bf02e08d71e3aef8b789 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Jul 16 12:05:07 2015 +0800 nfsd: Fix memory leak of so_owner.data in nfs4_stateowner v2, new helper nfs4_free_stateowner for freeing so_owner.data and sop Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 47e970bee7e83d997be11d91d2fbc7f64c8bb89e Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Jul 21 13:09:17 2015 +0800 nfsd: Add layouts checking in client_has_state() Layout is a state resource, nfsd should check it too. v2, drop unneeded updating in nfsd4_renew() v3, fix compile error without CONFIG_NFSD_PNFS Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit af9dbaf48d00a34c2933ed0c0e9c82b37eb16356 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Mon Jul 13 17:30:51 2015 +0800 nfsd: Fix a memory leak of struct file_lock Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 1b6dc1dffbb142de60eb65f6155276ac31ff5474 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:11:10 2015 -0700 nfsd/sunrpc: factor svc_rqst allocation and freeing from sv_nrthreads refcounting In later patches, we'll want to be able to allocate and free svc_rqst structures without monkeying with the serv->sv_nrthreads refcount. Factor those pieces out of their respective functions. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit d70bc0c67c7aaf0d00084b2f91b44fe1a8ae4e15 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:09:54 2015 -0700 nfsd/sunrpc: move pool_mode definitions into svc.h In later patches, we're going to need to allow code external to svc.c to figure out what pool_mode is in use. Move these definitions into svc.h to prepare for that. Also, make the svc_pool_map object available and exported so that other modules can peek in there to get insight into what pool mode is in use. Likewise, export svc_pool_map_get/put function to make it safe to do so. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 598e2359090d393b01a8e10386dc3056ccfa47ae Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:08:33 2015 -0700 nfsd/sunrpc: abstract out svc_set_num_threads to sv_ops Add an operation that will do setup of the service. In the case of a classic thread-based service that means starting up threads. In the case of a workqueue-based service, the setup will do something different. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirliey.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit b9e13cdfac70e38ade17b53810a36968c5842339 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:06:51 2015 -0700 nfsd/sunrpc: turn enqueueing a svc_xprt into a svc_serv operation For now, all services use svc_xprt_do_enqueue, but once we add workqueue-based service support, we'll need to do something different. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 758f62fff9ad630f05866a1dd6ae9453a7730c2e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:05:56 2015 -0700 nfsd/sunrpc: move sv_module parm into sv_ops ...not technically an operation, but it's more convenient and cleaner to pass the module pointer in this struct. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c369014f1776367269c8fbb5ea8932826d89ce2f Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:04:46 2015 -0700 nfsd/sunrpc: move sv_function into sv_ops Since we now have a container for holding svc_serv operations, move the sv_function into it as well. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ea126e74353453d15fc0a181910ae1e25162f2a1 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Jun 8 12:03:32 2015 -0700 nfsd/sunrpc: add a new svc_serv_ops struct and move sv_shutdown into it In later patches we'll need to abstract out more operations on a per-service level, besides sv_shutdown and sv_function. Declare a new svc_serv_ops struct to hold these operations, and move sv_shutdown into this struct. Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Tested-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit cc9a903d915c21626b6b2fbf8ed0ff16a7f82210 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Fri Aug 7 16:55:46 2015 -0400 svcrdma: Change maximum server payload back to RPCSVC_MAXPAYLOAD Both commit 0380a3f375 ("svcrdma: Add a separate "max data segs" macro for svcrdma") and commit 7e5be28827bf ("svcrdma: advertise the correct max payload") are incorrect. This commit reverts both changes, restoring the server's maximum payload size to 1MB. Commit 7e5be28827bf based the server's maximum payload on the _client's_ RPCRDMA_MAX_DATA_SEGS value. That was wrong. Commit 0380a3f375 tried to fix this so that the client maximum payload size could be raised without affecting the server, but managed to confuse matters more on the server side. More importantly, limiting the advertised maximum payload size was meant to be a workaround, not the actual fix. We need to revisit https://bugzilla.linux-nfs.org/show_bug.cgi?id=270 A Linux client on a platform with 64KB pages can overrun and crash an x86_64 NFS/RDMA server when the r/wsize is 1MB. An x86/64 Linux client seems to work fine using 1MB reads and writes when the Linux server's maximum payload size is restored to 1MB. BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=270 Fixes: 0380a3f375 ("svcrdma: Add a separate "max data segs" macro") Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 5cef897652f224442c013d9e9425536b38385351 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 10 15:45:55 2015 -0300 perf hists: hist_entry__cmp() may use he_tmp.hists, initialize it The iter_add_next_cumulative_entry() function calls hist_entry__cmp(), which may want to access the hists where this hist_entry is stored, initialize it to let that happen and avoid segfaults. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-iqg98sfn4fvwcxp0pdvqauie@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fa1422207756833096b54356a539e3a7d7edec4f Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:56 2015 +0200 Bluetooth: Enable new connection establishment procedure. Currently, when trying to connect to already paired device that just rotated its RPA MAC address, old address would be used and connection would fail. In order to fix that, kernel must scan and receive advertisement with fresh RPA before connecting. This patch enables new connection establishment procedure. Instead of just sending HCI_OP_LE_CREATE_CONN to controller, "connect" will add device to kernel whitelist and start scan. If advertisement is received, it'll be compared against whitelist and then trigger connection if it matches. That fixes mentioned reconnect issue for already paired devices. It also make whole connection procedure more robust. We can try to connect to multiple devices at same time now, even though controller allow only one. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cc2b6911a205b327b29c1d771925f8ab2f80295f Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:55 2015 +0200 Bluetooth: timeout handling in new connect procedure Currently, when trying to connect to already paired device that just rotated its RPA MAC address, old address would be used and connection would fail. In order to fix that, kernel must scan and receive advertisement with fresh RPA before connecting. This patch makes sure that when new procedure is in use, and we're stuck in scan phase because no advertisement was received and timeout happened, or app decided to close socket, scan whitelist gets properly cleaned up. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 28a667c9c279df5a6467842ee2b3b73ddf874732 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:54 2015 +0200 Bluetooth: advertisement handling in new connect procedure Currently, when trying to connect to already paired device that just rotated its RPA MAC address, old address would be used and connection would fail. In order to fix that, kernel must scan and receive advertisement with fresh RPA before connecting. This path makes sure that after advertisement is received from device that we try to connect to, it is properly handled in check_pending_le_conn and trigger connect attempt. It also modifies hci_le_connect to make sure that connect attempt will be properly continued. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f75113a26008980ca13834fb6573145523596776 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:53 2015 +0200 Bluetooth: add hci_connect_le_scan Currently, when trying to connect to already paired device that just rotated its RPA MAC address, old address would be used and connection would fail. In order to fix that, kernel must scan and receive advertisement with fresh RPA before connecting. This patch adds hci_connect_le_scan with dependencies, new method that will be used to connect to remote LE devices. Instead of just sending connect request, it adds a device to whitelist. Later patches will make use of this whitelist to send conenct request when advertisement is received, and properly handle timeouts. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e7d9ab731ac7babaf2e1b7b5e2280f5f555d263f Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:52 2015 +0200 Bluetooth: add hci_lookup_le_connect This patch adds hci_lookup_le_connect method, that will be used to check wether outgoing le connection attempt is in progress. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 158e92185075184ebc5f25bab61fdd598693e28d Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Fri Aug 7 20:22:51 2015 +0200 Bluetooth: preparation for new connect procedure Currently, when trying to connect to already paired device that just rotated its RPA MAC address, old address would be used and connection would fail. In order to fix that, kernel must scan and receive advertisement with fresh RPA before connecting. This patch adds some fields to hci_conn_params, in preparation to new connect procedure. explicit_connect will be used to override any current auto_connect action, and connect to device when ad is received. HCI_AUTO_CONN_EXPLICIT was added to auto_connect enum. When this value will be used, explicit connect is the only action, and params can be removed after successful connection. HCI_CONN_SCANNING is added to hci_conn flags. When it's set, connect is scan phase. It gets cleared when advertisement is received, and HCI_OP_LE_CREATE_CONN is sent. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6394328ab8a2ab6b127ae85f716943d92595878d Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Aug 7 18:36:06 2015 +0800 f2fs: report error of fill_zero fill_zero can fail due to a lot of reason, but previously we do not handle its return value, so its callers such as punch_hole/f2fs_zero_range may report success, but actually can fail because of error occurs inside fill_zero. This patch fixes to report correct return value of fill_zero. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2db0f71f56795f6b04d386b15c3b32b570558ebd Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Jul 1 17:17:49 2015 -0500 PCI: pciehp: Remove ignored MRL sensor interrupt events We queued interrupt events for the MRL being opened or closed, but the code in interrupt_event_handler() that handles these events ignored them. Stop enabling MRL interrupts and remove the ignored events. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 58fa2405bd44805cb6166603100b0183ce26a0c8 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Jul 1 17:01:03 2015 -0500 PCI: pciehp: Remove unused interrupt events The list of interrupt events (INT_BUTTON_IGNORE, INT_PRESENCE_ON, etc.) was copied from other hotplug drivers, but pciehp doesn't use them all. Remove the interrupt events that aren't used by pciehp. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 1469d17dd341458267a08c8d8bb517cb986ec56d Author: Jarod Wilson <jarod@xxxxxxxxxx> Date: Tue Jul 21 12:25:30 2015 -0400 PCI: pciehp: Handle invalid data when reading from non-existent devices It's platform-dependent, but an MMIO read to a non-existent PCI device generally returns data with all bits set. This happens when the host bridge or Root Complex times out waiting for a response from the device and fabricates return data to complete the CPU's read. One example, reported in the bugzilla below, involved this hierarchy: pci 0000:00:1c.0: PCI bridge to [bus 02-3a] Root Port pci 0000:02:00.0: PCI bridge to [bus 03-0a] Upstream Port pci 0000:03:03.0: PCI bridge to [bus 05-07] Downstream Port pci 0000:05:00.0: PCI bridge to [bus 06-07] Thunderbolt Upstream Port pci 0000:06:00.0: PCI bridge to [bus 07] Thunderbolt Downstream Port pci 0000:07:00.0: BCM57762 NIC Unplugging the Thunderbolt switch and the NIC below it resulted in this: pciehp 0000:03:03.0: Surprise Removal tg3 0000:07:00.0: tg3_abort_hw timed out, TX_MODE_ENABLE will not clear MAC_TX_MODE=ffffffff pciehp 0000:06:00.0: unloading service driver pciehp pciehp 0000:06:00.0: pcie_isr: intr_loc 11f pciehp 0000:06:00.0: Switch interrupt received pciehp 0000:06:00.0: Latch open on Slot pciehp 0000:06:00.0: Attention button interrupt received pciehp 0000:06:00.0: Button pressed on Slot pciehp 0000:06:00.0: Presence/Notify input change pciehp 0000:06:00.0: Card present on Slot pciehp 0000:06:00.0: Power fault interrupt received pciehp 0000:06:00.0: Data Link Layer State change pciehp 0000:06:00.0: Link Up event The pciehp driver correctly noticed that the Thunderbolt switch (05:00.0 and 06:00.0) and NIC (07:00.0) had been removed, and it called their driver remove methods. Since the NIC was already gone, tg3 received 0xffffffff when it tried to read from the device. The resulting timeout is a tg3 issue and not of interest here. Similarly, since the 06:00.0 Thunderbolt switch was already gone, pcie_isr() received 0xffff when it tried to read PCI_EXP_SLTSTA, and pciehp thought that was valid status showing that many events had happened: the latch had been opened, the attention button had been pressed, a card was now present, and the link was now up. These are all wrong, of course, but pciehp went on to try to power up and enumerate devices below the non-existent bridge: pciehp 0000:06:00.0: PCI slot - powering on due to button press pciehp 0000:06:00.0: Surprise Insertion pci 0000:07:00.0 id reading try 50 times with interval 20 ms to get ffffffff [bhelgaas: changelog, also check in pcie_poll_cmd() & pcie_do_write_cmd()] Link: https://bugzilla.kernel.org/show_bug.cgi?id=99841 Suggested-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 9b412590faaea65dab54f9bc5ae5b48ba0e73c5d Author: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Date: Mon Aug 3 15:45:41 2015 +0200 ath: Make ath_opmode_to_string understand OCB mode Make ath_opmode_to_string return "OCB" for NL80211_IFTYPE_OCB. Currently it will return "UNKNOWN". Signed-off-by: Bertold Van den Bergh <bertold.vandenbergh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 53cd2fdb00aab34f91762f6345f83625a30480f0 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Aug 2 20:26:52 2015 +0200 bcma: fix access to host_pdev for PCIe devices bus->host_pdev is part of a union so bus->host_pdev != NULL is probably also true for PCIe devices, because there it accesses bus->host_pci. If we access the dev member at the offset defined in struct platform_device in struct pci_dev instead we probably get something else. This patch adds a new function which returns the host dev struct and NULL if we do not have a host dev. When this gets registered on MIPS brcm47xx we do not have a host dev in some situations. This function could also be used in other places. This problem was introduced in this commit: commit cae761b5a6bdc597ba476a040fdcd5b4bc559b85 Author: Rafa? Mi?ecki <zajec5@xxxxxxxxx> Date: Sun Jun 28 17:17:13 2015 +0200 bcma: populate bus DT subnodes as platform_device-s Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 78623bfb6f4cbdba3183621e8e0e781611217022 Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 15:04:49 2015 +0200 mt7601u: lock out rx path and tx status reporting mac80211 requires that rx path does not run concurrently with tx status reporting. Add a spinlock which will ensure that. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4513493d188d5e3052aee68eda85eaaa1a4e41c2 Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 15:04:48 2015 +0200 mt7601u: fix tx status reporting contexts mac80211 requires that rx path does not run concurrently with tx status reporting. Since rx path is run in driver tasklet, tx status cannot be reported directly from interrupt context (there would be no way to lock it out). Add tasklet for tx and move all possible code from irq handler there. Note: tx tasklet is needed because workqueue is queued very rarely and that kills TCP performance. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d9517c0a5d7468a7ea63086057604fcb0fff480e Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 15:04:47 2015 +0200 mt7601u: use correct ieee80211_rx variant Rx is run inside a tasklet so ieee80211_rx() should be used instead of ieee80211_rx_ni(). Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bed429e1ae8b7ee207e01f3aa60dcc0d06a8ed4d Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 15:04:46 2015 +0200 mt7601u: fix dma from stack address DMA to variables located on the stack is a bad idea. For simplicity and to avoid frequent allocations create a buffer inside the device structure. Protect this buffer with vendor_req_mutex. Don't protect vendor requests which don't use this buffer. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7845af35e0deeb7537de759ebc69d6395d4123bf Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 30 22:38:22 2015 +0300 wlcore: add p2p device support When starting a p2p mgmt interface, enable its device role. This allows us to keep the sta role disabled and scan on the dev role. In general, p2p management interfaces cannot send vif-specific commands to FW, as the vif role id is invalid. Only off-channel data and scans happen on this vif, so most ops are not relevant. If the vif is a p2p mgmt vif, block some mac80211 ops. Configure rate policies for p2p mgmt interface, as otherwise p2p packets come out with arbitrary rates. Since wpa_supplicant currently doesn't support standalone p2p device mode (without another attached managed interface), add p2p device to the allowed interface combinations without decreasing the allowed station count. Moreover, increase the station count in some cases, as AP mode usually starts as station interface, and the AP interface is now different from the p2p management one). Signed-off-by: Arik Nemtsov <arik@xxxxxxxxxx> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c32e35f29ce96da371e798a8a04ed299f4ecfc44 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 30 22:38:21 2015 +0300 wlcore: add generic_cfg_feature command definitions Add definitions and function prototypes for generic_cfg command. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8698a3a4fff2b63831fdc0283da87f9f46c2aeb8 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 30 22:38:20 2015 +0300 wl18xx: use long intervals in sched scan Add support for long intervals on sched scan. If configured, the original request interval will be used num_short_interval times, and then the long interval will be used. While on it, fix the scan command field names to reflect the expected value is in ms (rather than secs). These values will be taken from the conf file, so bump its version accordingly. Signed-off-by: Eyal Shapira <eyal@xxxxxxxxxx> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6d5c898798aca634f493cabd2e7a47407ee5e95d Author: Machani, Yaniv <yanivma@xxxxxx> Date: Thu Jul 30 22:38:19 2015 +0300 wlcore/wl18xx : add time sync event handling Added support for a new time sync event the event data contains the WiLink TSF value. To trigger the event, a HW modification is required, so as a supporting firmware binary. Signed-off-by: Yaniv Machani <yanivma@xxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 100a008331072e678ffcf2d903e48c633c2795fe Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Jul 28 07:22:20 2015 -0700 mwifiex: correct TDLS link delete failure message priority Commit d8d2f19feb16 ("mwifiex: silence TDLS link delete failure for nonexistent link") lowers the priority of error message when TDLS link is already deleted. But it had got increased by commit acebe8c10a6e ("mwifiex: change dbg print func to mwifiex_dbg") Reported-by: Nicholas Mc Guire <der.herr@xxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8f8db91840747e95df231f67dfa09eafeb4cc6d0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:59 2015 +0200 ieee802154: 6lowpan: fix error frag handling This patch fixes the error handling for lowpan_xmit_fragment by replace "-PTR_ERR" to "PTR_ERR". PTR_ERR returns already a negative errno code. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c91208d819c814e7f418c7a083059cf533ad0396 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:58 2015 +0200 ieee802154: add ack request default handling This patch introduce a new mib entry which isn't part of 802.15.4 but useful as default behaviour to set the ack request bit or not if we don't know if the ack request bit should set. This is currently used for stacks like IEEE 802.15.4 6LoWPAN. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fc0719e6a144402197a2147117f10b66ee623fbb Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:57 2015 +0200 at86rf230: use STATE_TX_ARET mode only This patch changes the state change behaviour of at86rf230 to always TX_ARET mode. According the at86rf2xx datasheets TX_ARET mode doesn't mean to be always waiting for ack frames after transmit. The transceiver will automatically wait for ack frames or not if the acknowledge request bit is set. See section "TX_ARET_ON â?? Transmit with Automatic Frame Retransmission and CSMA-CA Retry". Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 89c7d788f89d58136a2e5596796c298942ee32d6 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:56 2015 +0200 mac802154: change frame_retries behaviour This patch changes the default minimum value of frame_retries to 0 and changes the frame_retries default value to 3 which is also 802.15.4 default. We don't use the frame_retries "-1" value as indicator for no-aret mode anymore, instead we checking on the ack request bit inside the 802.15.4 frame control field. This allows a acknowledge handling per frame. This checking is done by transceiver or inside xmit callback of driver layer. If a transceiver doesn't support ARET handling the transmit functionality ignores ack frames then, which isn't well but should not effect anything of current functionality. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 91f02b3dd8311b48c021e8667a84dfc2d6445a03 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:55 2015 +0200 mac802154: cfg: remove test and set checks This patch removes several checks if a value is really changed. This makes only sense if we have another layer call e.g. calling the driver_ops which is done by callbacks like "set_channel". For MAC settings which need to be set by phy registers (if the phy supports that handling) this is set by doing an interface up currently and are not direct driver_ops calls, so we remove the checks from these configuration callbacks. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Suggested-by: Phoebe Buckheister <phoebe.buckheister@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 09095fdc9e5d5438051fc4e92867f1aff764cd21 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:54 2015 +0200 mac802154: fix wpan mac setting while lowpan is there If we currently change the mac address inside the wpan interface while we have a lowpan interface on top of the wpan interface, the mac address setting doesn't reach the lowpan interface. The effect would be that the IPv6 lowpan interface has the old SLAAC address and isn't working anymore because the lowpan interface use in internal mechanism sometimes dev->addr which is the old mac address of the wpan interface. This patch checks if a wpan interface belongs to lowpan interface, if yes then we need to check if the lowpan interface is down and change the mac address also at the lowpan interface. When the lowpan interface will be set up afterwards, it will use the correct SLAAC address which based on the updated mac address setting. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Tested-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 51e0e5d8124ece158927a4c2288c0929d3b53aa3 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 10 21:15:53 2015 +0200 ieee802154: 6lowpan: remove multiple lowpan per wpan support We currently supports multiple lowpan interfaces per wpan interface. I never saw any use case into such functionality. We drop this feature now because it's much easier do deal with address changes inside the under laying wpan interface. This patch removes the multiple lowpan interface and adds a lowpan_dev netdev pointer into the wpan_dev, if this pointer isn't null the wpan interface belongs to the assigned lowpan interface. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Tested-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 77e867b5f133f6bb3debcfcc75ce4536d644e62e Author: Lukasz Duda <lukasz.duda@xxxxxxxxxxxxx> Date: Mon Aug 10 21:15:52 2015 +0200 6lowpan: Fix extraction of flow label field The lowpan_fetch_skb function is used to fetch the first byte, which also increments the data pointer in skb structure, making subsequent array lookup of byte 0 actually being byte 1. To decompress the first byte of the Flow Label when the TF flag is set to 0x01, the second half of the first byte is needed. The patch fixes the extraction of the Flow Label field. Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Lukasz Duda <lukasz.duda@xxxxxxxxxxxxx> Signed-off-by: Glenn Ruben Bakke <glenn.ruben.bakke@xxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4863e4cc31d647e11f69e1f4d37a870ff3094fcc Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Aug 6 03:43:09 2015 -0700 Bluetooth: btmrvl: release sdio bus after firmware is up We will not release sdio bus until firmware is completely downloaded and becomes ready. Our 8887 A2 chip can have separate firmware images for WLAN and bluetooth. This patch fixes an issue observed when both drivers simultaneously try to download respective firmwares. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0208bc8803918d7e84f247f1d4f1730171a24c16 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 1 15:30:08 2015 +0300 Bluetooth: Fix breakage in amp_write_rem_assoc_frag() We should be passing the pointer itself instead of the address of the pointer. This was a copy and paste bug when we replaced the calls to hci_send_cmd(). Originally, the arguments were "len, cp" but we overwrote them with "sizeof(cp), &cp" by mistake. Fixes: b3d3914006a0 ('Bluetooth: Move amp assoc read/write completed callback to amp.c') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bdbbd38106c9f72c569be18314f68387e384536c Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:28:07 2015 +0200 spi: atmel: remove useless include Definitions from linux/platform_data/atmel.h are not used, remove the include. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e6bbe1d05353a29628a4ca72d88bac0bdcec5f38 Merge: 7e34d70 f7644cb Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 10:01:33 2015 -0700 Merge 4.2-rc6 into usb-next We want the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f70d6318320983a8d2fac28cfe8d22dfd5e52a73 Merge: b963e72 f7644cb Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 09:07:25 2015 -0700 Merge 4.2-rc6 into staging-next We want the IIO and staging fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38755e897ec2c371b8e71561622d525b3b94012b Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sun Aug 9 18:37:36 2015 -0700 libata: fix libata-core.c kernel-doc warning Fix kernel-doc warning in libata-core.c: Warning(..//drivers/ata/libata-core.c:4763): No description found for parameter 'tag' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9cfaf082b8775e9f99fa5f2e8b2ae0ca8baff785 Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 8 18:31:01 2015 -0300 crypto: nx - Removing CTR mode from NX driver CTR hardware implementation does not match with kernel spec causing a counter bug where just low 8 bytes are used for counter, when should be all 16bytes. Since we already have other counter modes working according with specs not worth to keep CTR itself on NX. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4cd38750632b864dd56d94e675f5f91ce7723749 Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 8 18:29:27 2015 -0300 Update NX crypto driver maintainers and adding VMX maintainers Marcelo and Fin are no long IBMers, thus no longer NX maintainers. Updating with the new names. Adding VMX crypto maintainers. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3388a614b609ad9ac4f542e56ada737557a19651 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 7 11:34:42 2015 -0700 PCI: Add quirk for Intel DH895xCC VF PCI config erratum The PCI capabilities list for Intel DH895xCC VFs (device id 0x0443) with QuickAssist Technology is prematurely terminated in hardware. Workaround the issue by hard-coding the known expected next capability pointer and saving the PCIE cap into internal buffer. Patch generated against cryptodev-2.6 Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 89c07b8a18a264ba84d135e07b1ee057839d3bda Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 7 11:34:36 2015 -0700 crypto: qat - Add FW const table Some VF drivers need FW const table, so the PF driver needs to load it. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dd0f368398ea100e34259bf812bc482e15c81991 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 7 11:34:31 2015 -0700 crypto: qat - Add qat dh895xcc VF driver Add code specific for the dh895xcc virtual function. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ed8ccaef52fa03fb03cff45b380f72c9f869f273 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 7 11:34:25 2015 -0700 crypto: qat - Add support for SRIOV Add code that enables SRIOV on dh895xcc devices. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a57331394cf5228555dbf4bca21abb2fc1597f04 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Aug 7 11:34:20 2015 -0700 crypto: qat - Move adf admin and adf hw arbitrer to common code Adf admin and HW arbiter function can be used by dh895xcc specific code well as the new dh895xccvf and future devices so moving them to qat_common so that they can be shared. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 104880a6b470958ddc30e139c41aa4f6ed3a5234 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 16:42:59 2015 +0800 crypto: authencesn - Convert to new AEAD interface This patch converts authencesn to the new AEAD interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0e91657e331d55d4fd4d298cf9e9eecf23a3dd45 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Aug 6 14:49:00 2015 -0700 crypto: doc - make URL into hyperlink The HTML output works a little nicer that way. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 35a3bb3d39d5a84b1adc02e5289d01a33d1073b6 Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Wed Aug 5 16:52:08 2015 -0500 crypto: talitos - Prevent panic in probe error path The probe error path for this driver, for all intents and purposes, is the talitos_remove() function due to the common "goto err_out". Without this patch applied, talitos_remove() will panic under these two conditions: 1. If the RNG device hasn't been registered via talitos_register_rng() prior to entry into talitos_remove(), then the attempt to unregister the RNG "device" will cause a panic. 2. If the priv->chan array has not been allocated prior to entry into talitos_remove(), then the per-channel FIFO cleanup will panic because of the dereference of that NULL "array". Both of the above scenarios occur if talitos_probe_irq() fails. This patch resolves issue #1 by introducing a boolean to mask the hwrng_unregister() call in talitos_unregister_rng() if RNG device registration was unsuccessful. It resolves issue #2 by checking that priv->chan is not NULL in the per-channel FIFO cleanup for loop. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ab86ca0755eccfdb0b2ffa3fe17cb41a6e61848b Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:47 2015 -0700 ARM: imx_v6_v7_defconfig: Select CAAM Select CAAM for i.MX6 devices. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bf83490ee4207de3af59b63870eb9f72f1e523f1 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:48 2015 -0700 crypto: caam - Detect hardware features during algorithm registration Register only algorithms supported by CAAM hardware, using the CHA version and instantiation registers to identify hardware capabilities. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 350cdfeba888c21341ad2989c5930a2708def579 Author: Steve Cornelius <steve.cornelius@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:46 2015 -0700 crypto: caam - Enable MXC devices to select CAAM driver in Kconfig Allow CAAM to be selected in the kernel for Freescale i.MX devices if ARCH_MXC is enabled. Signed-off-by: Steve Cornelius <steve.cornelius@xxxxxxxxxxxxx> Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b15e9ea583c718095a05b3e5164628111ab33f90 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Thu Aug 6 11:42:37 2015 -0700 ARM: dts: mx6sx: Add CAAM device node Add CAAM device node to the i.MX6SX device tree. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d462ce996a88b8fc8722d2e88750c654c17c690e Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:44 2015 -0700 ARM: dts: mx6qdl: Add CAAM device node Add CAAM device node to the i.MX6 device tree. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dd503f66098e37dd0090897c099fa6ca343db84d Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:43 2015 -0700 ARM: clk-imx6q: Add CAAM clock support Add CAAM clock support to the i.MX6 clocking infrastructure. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ff1a15d9e79886e253dd4a0fe5c03d130879f58e Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:42 2015 -0700 crypto: caam - Added clocks and clock-names properties to SEC4.0 device tree binding The clocks and clock-names properties describe input clocks that may be required for enablement of CAAM. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ec0273039b6606ae08132f41854381e0d7371ded Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:41 2015 -0700 crypto: caam - Use local sg pointers to walk the scatterlist Avoid moving the head of the scatterlist entry by using temporary pointers to walk the scatterlist. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7d5196aba3c81999d56b26daa5ea7590513cdc1f Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:40 2015 -0700 crypto: caam - Correct DMA unmap size in ahash_update_ctx() This change fixes: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 456 at lib/dma-debug.c:1103 check_unmap+0x438/0x958() caam_jr 2101000.jr0: DMA-API: device driver frees DMA memory with different size [device address=0x000000003a241080] [map ] Modules linked in: tcrypt(+) CPU: 0 PID: 456 Comm: insmod Not tainted 4.1.0-248766-gf823586-dirty #82 Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [<80015e0c>] (unwind_backtrace) from [<80012764>] (show_stack+0x10/0x14) [<80012764>] (show_stack) from [<806df8e8>] (dump_stack+0x84/0xc4) [<806df8e8>] (dump_stack) from [<800266fc>] (warn_slowpath_common+0x84/0xb4) [<800266fc>] (warn_slowpath_common) from [<8002675c>] (warn_slowpath_fmt+0x30/0x40) [<8002675c>] (warn_slowpath_fmt) from [<802c7db8>] (check_unmap+0x438/0x958) [<802c7db8>] (check_unmap) from [<802c835c>] (debug_dma_unmap_page+0x84/0x8c) [<802c835c>] (debug_dma_unmap_page) from [<804d3b94>] (ahash_update_ctx+0xb08/0xec4) [<804d3b94>] (ahash_update_ctx) from [<7f002984>] (test_ahash_pnum.isra.9.constprop.19+0x2b8/0x514 [tcrypt]) [<7f002984>] (test_ahash_pnum.isra.9.constprop.19 [tcrypt]) from [<7f005998>] (do_test+0x2db8/0x37cc [tcrypt]) [<7f005998>] (do_test [tcrypt]) from [<7f00b050>] (tcrypt_mod_init+0x50/0x9c [tcrypt]) [<7f00b050>] (tcrypt_mod_init [tcrypt]) from [<80009730>] (do_one_initcall+0x8c/0x1d4) [<80009730>] (do_one_initcall) from [<806dda4c>] (do_init_module+0x5c/0x1a8) [<806dda4c>] (do_init_module) from [<80085308>] (load_module+0x17e0/0x1da0) [<80085308>] (load_module) from [<80085998>] (SyS_init_module+0xd0/0x120) [<80085998>] (SyS_init_module) from [<8000f4c0>] (ret_fast_syscall+0x0/0x3c) ---[ end trace 60807cfb6521c79f ]--- Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dde20ae9d63835178ef4ba9655f530e052c08ab9 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:39 2015 -0700 crypto: caam - Change kmalloc to kzalloc to avoid residual data Since fields must be ORed in to operate correctly using any order of operations, changed allocations of the combination of extended descriptor structs + hardware scatterlists to use kzalloc() instead of kmalloc(), so as to ensure that residue data would not be ORed in with the correct data. Signed-off-by: Steve Cornelius <steve.cornelius@xxxxxxxxxxxxx> Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1f06ec1d48f31a454e4292f3761a4f4178bb916c Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:38 2015 -0700 crypto: caam - Modify Freescale CAAM driver Scatter Gather entry definition Modify the Scatter-Gather entry definitions for the Freescale CAAM driver to include support for both 64- and 32-bit DMA pointers. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 24821c4652dbf85a69e732574874dc191a813da4 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:37 2015 -0700 crypto: caam - Enable and disable clocks on Freescale i.MX platforms ARM-based systems may disable clocking to the CAAM device on the Freescale i.MX platform for power management purposes. This patch enables the required clocks when the CAAM module is initialized and disables the required clocks when the CAAM module is shut down. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 509da8fda4f06d7914dbada7af121c9f00284173 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:36 2015 -0700 crypto: caam - Add setbits32/clrbits32/clrsetbits primitives for ARM compatibility Add set/clear 32-bit primitives for compatibility with ARM devices since the primitives were previously only defined for the Power architecture. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e7472422392461f59bc5d7ddd8542c6a48740336 Author: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Date: Wed Aug 5 11:28:35 2015 -0700 crypto: caam - Add cache coherency support Freescale i.MX6 ARM platforms do not support hardware cache coherency. This patch adds cache coherency support to the CAAM driver. Signed-off-by: Victoria Milhoan <vicki.milhoan@xxxxxxxxxxxxx> Tested-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bf20d772174bbb6b1a7c0b34f04f51caebe2d6aa Merge: e94c6a7 443c0d7 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 23:17:13 2015 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Merge the crypto tree to pull in the authencesn fix. commit ab35a7d0ee59a36c9c567defe43c1adb72e9240c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Aug 8 19:12:10 2015 +0200 perf tools: Unset perf_event_attr::freq when period term is set We need to unset 'perf_event_attr::freq' bit (default 1) when 'period' term is specified within event definition like: -e 'cpu/cpu-cycles,call-graph=fp,time,period=100000' otherwise it will handle the period value as frequency (and fail if it crossed the maximum allowed frequency value). Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150808171210.GC17040@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a9710ba091b0dcdace90f791706e9192313ffb7c Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Aug 7 15:24:05 2015 -0700 perf tools: Support full source file paths for srcline For perf report/script srcline currently only the base file name of the source file is printed. This is a good default because it usually fits on the screen. But in some cases we want to know the full file name, for example to aggregate hits per file. In the later case we need more than the base file name to resolve file naming collisions: for example the kernel source has ~70 files named "core.c" It's also useful as input to post processing tools which want to point to the right file. Add a flag to allow full file name output. Add an option to perf report/script to enable this option. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438986245-15191-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 81497953e37bc28209d9a647171ea93b4a99fc57 Merge: fa8ad78 be12039 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 7 19:58:48 2015 +0100 Merge branch 'psci/for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux into devel-stable commit fe14f39e88c8ac16d0a051f8444a2294f8cb358c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 10 16:53:32 2015 +0200 ALSA: hda - Fix pin config and mapping on Alienware 15 Alienware 15 has CA0132 codec for its onboard sound, but the pin config and mapping seem quite different from other Creative boards. This patch corrects them, at least, for providing the right headphone and mic jack notification, as well as removing the non-existing SPDIF pins. Even with this fix, not all stuff works perfectly yet, mainly because of the badly written ca0132 driver code -- it has too many implicit assumptions of pin configs and maps. Nevertheless, this is a small good step forward. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=101981 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cfd093bbb5fe84ec8c7bb069fe618159a8b601f5 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sun Aug 9 00:02:41 2015 +0200 phy: lpc18xx-usb-otg: fix clock order in phy init Changing the frequency of the USB clock must be done before the PLL is powered on (prepared). This matters when the USB clock is not setup by either boot ROM or boot loader. Reorder the function calls to adhere to the order noted in the user manual. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 3f6175ece947358e988af149ecca0d31100ee6c4 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 10 13:02:53 2015 +0100 ALSA: echoaudio: Use standard C definitions of true and false The echoaudio locally defines TRUE and FALSE. Not only is this redundant given that C now has a boolean type it results in lots of warnings as other headers also define these macros, causing duplicate definitions. Fix this by removing the local defines and converting all local users to use the standard C true and false instead, simply removing the macros is less safe due to implicit inclusion of the other definitons. [fixed overlooked replacement of FALSE by tiwai] Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 92b7cb5dc885b38b21093eefed8028b615952965 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Aug 3 17:40:51 2015 +0300 extcon: palmas: Support GPIO based USB ID detection Some palmas based chip variants do not have OTG based ID logic. For these variants we rely on GPIO based USB ID detection. These chips do have VBUS comparator for VBUS detection so we continue to use the old way of detecting VBUS. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit a1c173dac102d7d91e5cafdb8cb212300063eaa3 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Wed Aug 5 15:45:30 2015 -0700 HID: wacom: Do not repeatedly attempt to set device mode on error As an extension of aef3156d7, there is no sense in repeatedly calling the 'wacom_set_report' and 'wacom_get_report' functions if they return an error. Getting an error from them implies that the device is out to lunch: either a hard error code was returned or repeated attempts at recovering from a "soft" error all failed. In either case, doing even more retries is not likely to resolve whatever is wrong. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e5b94083d0996b4c69674c8a5563c2eb272557ba Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Fri Aug 7 14:08:15 2015 -0700 ASoC: max98090: Fix sequencing when starting additional routes Enforce correct device sequencing when configuring a new audio route when there is an existing active audio route(s). This patch fixed recording noise issue while playback is active. We have some registers which require the device to be in full shutdown or to enter full shutdown before the register settings will take effect. Currently the driver is not shutting down the device when a new audio route is created. If a new audio route is made active while there is already an active audio route, then the required register sequencing is violated. A hardware shutdown toggle when creating a new audio route corrects the sequencing error. The device must remain in hardware shutdown for 40ms to allow the internal hardware core to fully shutdown. Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@xxxxxxxxx> Acked-by: Anish Kumar <anish.kumar@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 141518b64f611536fb7968d291c794d71879099e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:41 2015 +0200 drm/cma-helper: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 6cc56234fe4d76a4c0cfefbf196a33718ba9db73 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:40 2015 +0200 drm/cirrus: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit bf89209a6de37074e3ccdb7b40500798de750698 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:39 2015 +0200 drm/mga200g: Hold a proper reference for cursor_set Looking up an obj, immediate dropping the acquired reference and then continuing to use it isn't how this is supposed to work. Fix this by holding a reference for the entire function. While at it stop grabbing dev->struct_mutex, it doesn't protect anything here. Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 34c294f5a6c0dca7fb75ddc1be3ec8974b24455f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:38 2015 +0200 drm/mga200g: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 37ae75c8fdf5c48293e8a3c39ace8a68fbcca019 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:37 2015 +0200 drm/bochs: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit a66b2ea224c40cf341ca2096aad225536aa25956 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:36 2015 +0200 drm/ast: Don't grab dev->struct_mutex for in mmap offset ioctl Since David Herrmann's mmap vma manager rework we don't need to grab dev->struct_mutex any more to prevent races when looking up the mmap offset. Drop it and instead don't forget to use the unref_unlocked variant (since the drm core still cares). Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8d77a9404ec38be34ffc491a2022022a56e72c90 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:35 2015 +0200 drm/gem: Be more friendly with locking checks BUG_ON kills the driver, WARN_ON is much friendlier. And usually nothing bad happens when the locking is slightly busted. v2: Fix typos in commit message Thierry spotted. Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 2b5cf544934fe15f7b2f8bd26696284606f9e7d3 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:18 2015 +0530 cris/time: Migrate to new 'set-state' interface Migrate cris driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Cc: Rabin Vincent <rabin@xxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: linux-cris-kernel@xxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit ecbebcb868bed598354d3b6d94cfeb10e440e4ca Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:35 2015 +0530 kernel: broadcast-hrtimer: Migrate to new 'set-state' interface Migrate broadcast-hrtimer driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 8e40fc4b782dc582fbf77ee3ff1d735a1d788a76 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:33 2015 +0530 xtensa/time: Migrate to new 'set-state' interface Migrate xtensa driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Chris Zankel <chris@xxxxxxxxxx> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: linux-xtensa@xxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 3078c8df2c03ebad334e1efe7e0867d8b0cd2764 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:32 2015 +0530 unicore/time: Migrate to new 'set-state' interface Migrate unicore driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything for PERIODIC or RESUME modes and so their callbacks aren't implemented. Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 71b5280b79359ca3c6c21d46b6b14a3ae93d8330 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:31 2015 +0530 um/time: Migrate to new 'set-state' interface Migrate um driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: user-mode-linux-devel@xxxxxxxxxxxxxxxxxxxxx Cc: user-mode-linux-user@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit ff4aea45c7f9c73889f08976ad65b31dbc35047e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:29 2015 +0530 sparc/time: Migrate to new 'set-state' interface Migrate sparc drivers to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything which switching to few clockevent modes and so their callbacks aren't implemented. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit d5ed65d83c27aee1c07bf4879cce539055d0c27f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:28 2015 +0530 sh/localtimer: Migrate to new 'set-state' interface Migrate sh driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: linux-sh@xxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 07d93ebdbffac61201d2f7fb81d08872df402f91 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:27 2015 +0530 score/time: Migrate to new 'set-state' interface Migrate score driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ONESHOT/SHUTDOWN/RESUME modes and so callbacks for them aren't implemented. Cc: Chen Liqin <liqin.linux@xxxxxxxxx> Cc: Lennox Wu <lennox.wu@xxxxxxxxx> Cc: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 07aeed3f9ba2a846d07fa870c26c3634e849d4e4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:26 2015 +0530 s390/time: Migrate to new 'set-state' interface Migrate s390 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: linux390@xxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 37a13e78e017c31fbb98a148b54c2552dc08d788 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:25 2015 +0530 powerpc/time: Migrate to new 'set-state' interface Migrate powerpc driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ->set_mode(ONSHOT) and so set_state_oneshot() isn't implemented. Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 00c5a0acd11ec157585d290469b6c82ddd816663 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:24 2015 +0530 openrisc/time: Migrate to new 'set-state' interface Migrate openrisc driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 032facef42a1a15be4a038e5e45819b941c2a6a8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:22 2015 +0530 mn10300/cevt-mn10300: Migrate to new 'set-state' interface Migrate mn10300 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: linux-am33-list@xxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 9797529d8981b2d2dce116ba7cf0641e13a5774b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:21 2015 +0530 microblaze/timer: Migrate to new 'set-state' interface Migrate microblaze driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ->set_mode(RESUME or ONESHOT) and so tick_resume() set_state_oneshot() aren't implemented. Cc: Michal Simek <monstr@xxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 677e6fe06378829a4263f65ee32c4b7242410636 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:17 2015 +0530 c6x/timer64: Migrate to new 'set-state' interface Migrate c6x driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ->set_mode(RESUME) and so tick_resume() isn't implemented. Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Aurelien Jacquiot <a-jacquiot@xxxxxx> Cc: linux-c6x-dev@xxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 067f96218c60266d606258e246df269dfd34d1e6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:16 2015 +0530 blackfin/time-ts: Migrate to new 'set-state' interface Migrate blackfin driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in ->set_mode(RESUME) and so tick_resume() isn't implemented. Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 6ec81932988b231e3038f7b73d58b2f9ce1e7ab0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:13 2015 +0530 alpha/time: Migrate to new 'set-state' interface Migrate alpha driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. rtc clockevent device wasn't doing anything in set-mode and so its set-state callbacks aren't implemented. Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: linux-alpha@xxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit fc2b2f5df6d8dbf78c958a34628a3880150d6c9e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 27 15:02:00 2015 +0530 clockevents/drivers/h8300_timer8: Migrate to new 'set-state' interface Migrate h8300_timer8 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 452b13248fe8499b2d9a487999d3610095aecca5 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Jul 21 08:01:14 2015 +0530 clocksource/drivers/sh_tmu: Fix traceback spotted in -next Traceback in -next due to commit 'clockevents/drivers/sh_tmu: Migrate to new 'set-state' interface'. Commit ("clockevents/drivers/sh_tmu: Migrate to new 'set-state' interface") in -next causes the following traceback. This is seen with qemu runs for the sh target. ------------[ cut here ]------------ WARNING: at drivers/clocksource/sh_tmu.c:202 Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 4.2.0-rc3-next-20150720 #1 task: 8c411ed8 ti: 8c40e000 task.ti: 8c40e000 PC is at sh_tmu_disable+0x40/0x60 PR is at sh_tmu_clock_event_shutdown+0x8/0x20 PC : 8c271220 SP : 8c40ff10 SR : 400081f1 TEA : 00000000 R0 : 8c271240 R1 : 8fc08cfc R2 : 00000000 R3 : 3fffffff R4 : 8fc08c00 R5 : 00000001 R6 : 00000002 R7 : ffffffff R8 : 00000001 R9 : 8fc08c20 R10 : 00000000 R11 : 00000000 R12 : 8c012820 R13 : 00000000 R14 : 00000000 MACH: 3b9ac9ff MACL: 80000000 GBR : 00000000 PR : 8c271248 Call trace: [<8c065836>] clockevents_switch_state+0x16/0x60 [<8c06588c>] clockevents_shutdown+0xc/0x40 [<8c066330>] tick_check_new_device+0x90/0xc0 [<8c065556>] clockevents_register_device+0x56/0x120 [<8c0662a0>] tick_check_new_device+0x0/0xc0 [<8c27167a>] sh_tmu_probe+0x29a/0x4e0 [<8c18a994>] kasprintf+0x14/0x20 [<8c442782>] early_platform_driver_probe+0x20e/0x2bc [<8c1fade0>] platform_match+0x0/0x100 [<8c33babc>] printk+0x0/0x24 [<8c434892>] start_kernel+0x32e/0x574 [<8c33babc>] printk+0x0/0x24 [<8c17d320>] strlen+0x0/0x58 [<8c43430c>] unknown_bootoption+0x0/0x1e0 [<8c011024>] _stext+0x24/0x30 ---[ end trace cb88537fdc8fa200 ]--- Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 005e56272b28193540dcd1dab3dadb3da8375eaf Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Aug 4 11:59:42 2015 +0200 clockevents/drivers/timer-atmel-pit: Fix typo in structure initialization Reported-by: Peter Mamonov <pmamonov@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit daea72831d3a18c561f028258ca5fb65ac3c8947 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 15:39:19 2015 +0530 clockevents/drivers/timer-sp804: Migrate to new 'set-state' interface Migrate timer-sp driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. There are few more changes worth noticing: - The clockevent device was disabled by writing: 'TIMER_CTRL_32BIT | TIMER_CTRL_IE' to ctrl register earlier. i.e. by un-setting the TIMER_CTRL_ENABLE bit. Its done by writing zero now and should have the same effect. - For shutdown and resume we were writing the same value twice to the register (to disable the timer), which is fixed now. - Switching to oneshot mode was divided into two parts earlier: - Firstly set_mode() was writing: 'TIMER_CTRL_32BIT | TIMER_CTRL_IE | TIMER_CTRL_ONESHOT' to ctrl register (device not enabled yet) - Then sp804_set_next_event() was enabling the device by writing 'readl(ctrl) | TIMER_CTRL_ENABLE' to the ctrl register. This was unnecessarily complicated. - Change this to: Stop device on set_state_oneshot and configure it in sp804_set_next_event(). Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 26b91f043abda63dd240374f0eac05e7283a509c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Mon Jul 6 15:39:18 2015 +0530 clockevents/drivers/timer-imx-gpt: Migrate to new 'set-state' interface Migrate timer-imx-gpt driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also drop: - 'imx_timer.cem': It was caching the last state of the clockevent device. The same behavior can be achieved by using clockevents state helpers. These helpers are only required for oneshot mode as shutdown/resume wouldn't be done twice by the core. - 'clock_event_mode_label': CLOCK_EVT_MODE_* shouldn't be used anymore by drivers. The prints are modified to print the set-state functions name now to debug the driver. Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 8c436f84800c570ecde517dcd8709258bb34e498 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 14:00:47 2015 +0200 clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-48 platform_device_id entry Since the removal of the r8a7740 legacy SoC code in commit 44d88c754e57a6d9 ("ARM: shmobile: Remove legacy SoC code for R-Mobile A1"), all former users of the "sh-cmt-48-gen2" platform device name are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8b5f0010fe0d666bb8dfc74b881f2401324a0e89 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Sat Jul 4 13:06:43 2015 +0800 clockevents/drivers/dw_apb_timer: Add dynamic irq flag to the timer Commit d2348fb6fdc6 ("tick: Dynamically set broadcast irq affinity") adds one excellent feature CLOCK_EVT_FEAT_DYNIRQ to let the core set the interrupt affinity of the broadcast interrupt to the cpu which has the earliest expiry time. This patch adds CLOCK_EVT_FEAT_DYNIRQ flag to avoid unnecessary wakeups and IPIs when the dw_apb_timer is used as broadcast timer. A simple test: ~ # rm /tmp/test.sh ~ # cat > /tmp/test.sh cat /proc/interrupts for i in `seq 10` ; do sleep $i; done cat /proc/interrupts ~ # chmod +x /tmp/test.sh ~ # taskset 0x2 /tmp/test.sh without the patch: CPU0 CPU1 27: 115 36 GIC 27 arch_timer 45: 62 0 GIC 45 mmc0 160: 88 0 interrupt-controller 8 timer 227: 0 0 interrupt-controller 4 f7e81400.i2c 228: 0 0 interrupt-controller 5 f7e81800.i2c 229: 0 0 interrupt-controller 7 dw_spi65535 230: 0 0 interrupt-controller 21 f7e84000.i2c 231: 0 0 interrupt-controller 20 f7e84800.i2c 265: 445 0 interrupt-controller 8 serial IPI0: 0 0 CPU wakeup interrupts IPI1: 0 11 Timer broadcast interrupts IPI2: 56 104 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 0 4 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 25 27 IRQ work interrupts IPI7: 0 0 completion interrupts IPI8: 0 0 CPU backtrace Err: 0 CPU0 CPU1 27: 115 38 GIC 27 arch_timer 45: 62 0 GIC 45 mmc0 160: 160 0 interrupt-controller 8 timer 227: 0 0 interrupt-controller 4 f7e81400.i2c 228: 0 0 interrupt-controller 5 f7e81800.i2c 229: 0 0 interrupt-controller 7 dw_spi65535 230: 0 0 interrupt-controller 21 f7e84000.i2c 231: 0 0 interrupt-controller 20 f7e84800.i2c 265: 514 0 interrupt-controller 8 serial IPI0: 0 0 CPU wakeup interrupts IPI1: 0 83 Timer broadcast interrupts IPI2: 56 104 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 0 4 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 25 46 IRQ work interrupts IPI7: 0 0 completion interrupts IPI8: 0 0 CPU backtrace Err: 0 cpu0 get 160-88=72 timer interrupts, CPU1 got 83-11=72 broadcast timer IPIs So, overall system got 72+72=144 wake ups and 72 broadcast timer IPIs With the patch: CPU0 CPU1 27: 107 37 GIC 27 arch_timer 45: 62 0 GIC 45 mmc0 160: 66 7 interrupt-controller 8 timer 227: 0 0 interrupt-controller 4 f7e81400.i2c 228: 0 0 interrupt-controller 5 f7e81800.i2c 229: 0 0 interrupt-controller 7 dw_spi65535 230: 0 0 interrupt-controller 21 f7e84000.i2c 231: 0 0 interrupt-controller 20 f7e84800.i2c 265: 311 0 interrupt-controller 8 serial IPI0: 0 0 CPU wakeup interrupts IPI1: 2 4 Timer broadcast interrupts IPI2: 58 100 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 0 4 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 21 24 IRQ work interrupts IPI7: 0 0 completion interrupts IPI8: 0 0 CPU backtrace Err: 0 CPU0 CPU1 27: 107 39 GIC 27 arch_timer 45: 62 0 GIC 45 mmc0 160: 69 75 interrupt-controller 8 timer 227: 0 0 interrupt-controller 4 f7e81400.i2c 228: 0 0 interrupt-controller 5 f7e81800.i2c 229: 0 0 interrupt-controller 7 dw_spi65535 230: 0 0 interrupt-controller 21 f7e84000.i2c 231: 0 0 interrupt-controller 20 f7e84800.i2c 265: 380 0 interrupt-controller 8 serial IPI0: 0 0 CPU wakeup interrupts IPI1: 3 6 Timer broadcast interrupts IPI2: 60 100 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 0 4 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 21 45 IRQ work interrupts IPI7: 0 0 completion interrupts IPI8: 0 0 CPU backtrace Err: 0 cpu0 got 69-66=3, cpu1 got 75-7=68 timer interrupts. cpu0 got 3-2=1 broadcast timer IPIs, cpu1 got 6-4=2 broadcast timer IPIs. So, overall system got 3+68+1+2=74 wakeups and 1+2=3 broadcast timer IPIs This patch removes 50% wakeups and almost 100% broadcast timer IPIs! Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 79e436d3a7d0510dfe6be3973efd78f6ccfe1492 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:20 2015 +0530 clockevents/drivers/exynos_mct: Migrate to new 'set-state' interface Migrate exynos_mct driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit cf4541c101ea497f68639cc94a2639a05cc3710f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:38 2015 +0530 clockevents/drivers/tcb_clksrc: Migrate to new 'set-state' interface Migrate tcb_clksrc driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit f0753793d33931bffbc7eee3289bf4d289728ef6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:55 2015 +0530 clockevents/drivers/zevio: Migrate to new 'set-state' interface Migrate zevio driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Daniel Tang <dt.tangr@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 214bc755b67029821106acc0b73abdc9b4ca6968 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:54 2015 +0530 clockevents/drivers/vt8500: Migrate to new 'set-state' interface Migrate vt8500 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Tony Prisk <linux@xxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 9552a6af8c807ab547c053399b40bd05781fa0a8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:53 2015 +0530 clockevents/drivers/vf_pit: Migrate to new 'set-state' interface Migrate vf_pit driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jingchang Lu <b35083@xxxxxxxxxxxxx> Cc: Stefan Agner <stefan@xxxxxxxx> Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> commit 8ff8fc13bdd4f1474720669042fccfbf304638f1 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:52 2015 +0530 clockevents/drivers/u300: Migrate to new 'set-state' interface Migrate u300 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7486f5ad27f6833397d55972878e7d73e84bede2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:51 2015 +0530 clockevents/drivers/sun5i: Migrate to new 'set-state' interface Migrate sun5i driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8e8af4cd3b4227d1bc64db0f0a4081095eb519b2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:50 2015 +0530 clockevents/drivers/stm32: Migrate to new 'set-state' interface Migrate stm32 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Acked-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> commit 53cba064443c1f36a55aa9dbc38f1d0d2aac96a4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:49 2015 +0530 clockevents/drivers/prima2: Migrate to new 'set-state' interface Migrate prima2 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Barry Song <baohua@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 634eb0ec8c210ca3ea81b5b9493b4a39999bbf4a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:48 2015 +0530 clockevents/drivers/keystone: Migrate to new 'set-state' interface Migrate keystone driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also pass the mode-mask to keystone_timer_config() instead of the mode as mode macro's aren't valid anymore. Cc: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit f710bdeecffe9ce3ad8bdc358c6109d3848f6352 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:47 2015 +0530 clockevents/drivers/integrator: Migrate to new 'set-state' interface Migrate integrator driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. For oneshot mode the clkevt device was first getting disabled by clearing TIMER_CTRL_ENABLE bits in TIMER_CTRL register, followed by clearing TIMER_CTRL_PERIODIC bit. Both these are done with a single write operation now. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e0d1ca332c1e91febd0de0ef69a45957cdc39fd8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:46 2015 +0530 clockevents/drivers/digicolor: Migrate to new 'set-state' interface Migrate digicolor driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Baruch Siach <baruch@xxxxxxxxxx> Tested-by: Baruch Siach <baruch@xxxxxxxxxx> commit 8ab282305f88c693275925330a0f93b16cab9c37 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:45 2015 +0530 clockevents/drivers/atmel-st: Migrate to new 'set-state' interface Migrate atmel-st driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Tested-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 85250fb89be3792c8a6793a594e30307c4e39214 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:44 2015 +0530 clockevents/drivers/atmel: Migrate to new 'set-state' interface Migrate atmel driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1e729d378e75063bf3fa91c62ea372fb73012b24 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:43 2015 +0530 clockevents/drivers/atlas7: Migrate to new 'set-state' interface Migrate atlas7 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Barry Song <baohua@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 5dd2482c8e7d8108e8d5d59a25f7b7a16d1ea64e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:42 2015 +0530 clockevents/drivers/orion: Migrate to new 'set-state' interface Migrate orion driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Gregory Clement <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 20bf54f1172931df634d8f8cf05ba2c2d371dc10 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:41 2015 +0530 clockevents/drivers/efm32: Migrate to new 'set-state' interface Migrate efm32 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. There is nothing to be done for resume state and so isn't implemented. Cc: Uwe Kleine-König <kernel@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit d96f4412bcbd6698b6241146f01021dabdf052f3 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:40 2015 +0530 clockevents/drivers/time-armada-370-xp: Migrate to new 'set-state' interface Migrate time-armada-370-xp driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Cc: Gregory Clement <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 4134d29bfc4703d4000fc3a49ea4aeeae494d85a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 3 14:24:35 2015 +0530 clockevents/drivers/tegra20: Migrate to new 'set-state' interface Migrate tegra20 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 6de6c977bdf61b1ca6f321aba468275c32952d79 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:37 2015 +0530 clockevents/drivers/sun4i: Migrate to new 'set-state' interface Migrate sun4i driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2bcc4da3d45c5c69e529f7f454191a749277ab1d Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:36 2015 +0530 clockevents/drivers/sh_tmu: Migrate to new 'set-state' interface Migrate sh_tmu driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Paul Mundt <lethal@xxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 19a9ffb3d6e9ed1d3a46aee18d0b7f8eff41c82b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:35 2015 +0530 clockevents/drivers/sh_mtu2: Migrate to new 'set-state' interface Migrate sh_mtu2 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Paul Mundt <lethal@xxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 051b782e2406af7f831602c70f887ca9b510b511 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:34 2015 +0530 clockevents/drivers/sh_cmt: Migrate to new 'set-state' interface Migrate sh_cmt driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Paul Mundt <lethal@xxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit b49b570474490bad8ee5289b103563d978f20a7e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:33 2015 +0530 clockevents/drivers/samsung_pwm: Migrate to new 'set-state' interface Migrate samsung_pwm driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Tomasz Figa <tfiga@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 99b3fa72efc545a7e21955c17f6a2f6f87dfacde Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:32 2015 +0530 clockevents/drivers/rockchip: Migrate to new 'set-state' interface Migrate rockchip driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything for oneshot or resume modes, and so the callbacks aren't provided. Cc: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 736b2df2abc1f128ce381e9f2e578502cabc2973 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:31 2015 +0530 clockevents/drivers/qcom: Migrate to new 'set-state' interface Migrate qcom driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Periodic mode isn't supported by the driver and so the callback isn't provided anymore. Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Cc: David Brown <davidb@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 47d490ea1529633f02209fcb4e89438995375a6f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:30 2015 +0530 clockevents/drivers/pxa: Migrate to new 'set-state' interface Migrate pxa driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Both oneshot and shutdown modes had exactly same code and so only a single callback is sufficient now, which will be called for both the modes. Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 9b0af69947562858059b379794b6e94309f367ed Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:29 2015 +0530 clockevents/drivers/nomadik-mtu: Migrate to new 'set-state' interface Migrate nomadik-mtu driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit eb8703e2ef7c311900174818e884bd49f64d4511 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:28 2015 +0530 clockevents/drivers/mxs: Migrate to new 'set-state' interface Migrate mxs driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also drop: - 'mxs_clockevent_mode': as we have helpers available from core for the same. same state twice and so perhaps the check wasn't required. - 'clock_event_mode_label': CLOCK_EVT_MODE_* shouldn't be used anymore by drivers and it was used just to print old-state:new-state. The debug prints are called from mxs_irq_clear() now based on the state-name passed to it. The printed name will be same for shutdown and resume states as they use the same callback pointer. Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit a2b7e10d29051a084b490c2911c3e1388b5f9677 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:27 2015 +0530 clockevents/drivers/mtk: Migrate to new 'set-state' interface Migrate mtk driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 37ae24716a584da33253cf6630a91c01b6656cc0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:26 2015 +0530 clockevents/drivers/moxart: Migrate to new 'set-state' interface Migrate moxart driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit d47409347e76ca5e7cdbbb515a9000878b5222cc Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:25 2015 +0530 clockevents/drivers/mips-gic: Migrate to new 'set-state' interface Migrate mips-gic driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 3f583d01d796f7b9fda0203b134585ca06a242ad Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:24 2015 +0530 clockevents/drivers/metag_generic: Migrate to new 'set-state' interface Migrate metag_generic driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. Even the WARN() for periodic or unused modes isn't required anymore as the core is taking care of that now. So, this patch doesn't provide any set-state callbacks. Cc: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 40117bd559d3119eb06206f5323680d712db7775 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:23 2015 +0530 clockevents/drivers/meson6: Migrate to new 'set-state' interface Migrate meson6 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Carlo Caione <carlo@xxxxxxxxxx> commit 8eda41b0863ca82010010e951b7aa13b66a06e78 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:22 2015 +0530 clockevents/drivers/i8253: Migrate to new 'set-state' interface Migrate i8253 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 737663401897f84610d00552eeb83ffa4d730142 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:21 2015 +0530 clockevents/drivers/fsl_ftm: Migrate to new 'set-state' interface Migrate fsl_ftm driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 226be92b3e6ec2412cd29520fa09fb41a2606cb6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:19 2015 +0530 clockevents/drivers/dw_apb: Migrate to new 'set-state' interface Migrate dw_apb driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Cc: Jamie Iles <jamie@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 5c78b265454e6199754b61fa33ea3c1337e6aeab Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:18 2015 +0530 clockevents/drivers/dummy_timer: Migrate to new 'set-state' interface Migrate dummy_timer driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Viresh Kumae <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit bd88420c589afc0c58542a5d1953637ef2fa64e4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:17 2015 +0530 clockevents/drivers/clps711x: Migrate to new 'set-state' interface Migrate clps711x driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Cc: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 5c0a4bbefc0571ba3addb39da0eb53368c018b64 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 18 16:24:16 2015 +0530 clockevents/drivers/cadence_ttc: Migrate to new 'set-state' interface Migrate cadence_ttc driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> commit 3465f60917f2dbbc227e2a2e7913ad75bb604c12 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Jun 30 14:30:48 2015 +0530 clockevents/drivers/asm9260: Migrate to new 'set-state' interface Migrate asm9260 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. As a default the timer was stopped when entering in the set_mode(RESUME) function, now this is done explicitly with the new API. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 0fae62eafec3c033d49160344228a4fa7d6303bc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 14:56:29 2015 +0200 clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-48-gen2 platform_device_id entry Since commit 914d7d148411997c ("ARM: shmobile: r8a73a4: Remove legacy code"), all former users of the "sh-cmt-48-gen2" platform device name are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 59252d187763ef3675fba1623be6996761fc2400 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 14:56:28 2015 +0200 clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-32-fast platform_device_id entry Since commit 59b89af1d5551c12 ("ARM: shmobile: sh7372: Remove Legacy C SoC code"), there are no more users left of the "sh-cmt-32-fast" platform device name. Hence remove the corresponding platform_device_id entry from the driver. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 479a932982944786269296a31682e5642f87b89a Author: Alexey Klimov <klimov.linux@xxxxxxxxx> Date: Sun Jun 21 23:41:39 2015 +0300 clockevents/drivers/exynos_mct: Remove unneeded container_of() Patch removes unneeded container_of() macro in exynos4_local_timer_setup(). Instead let's pass mevt pointer to setup and stop functions from exynos4_mct_cpu_notify() and let them get evt pointer. Tested on odroid-xu3. Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit 02760b116c56376ad564e959f81835008848861d Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Wed Jun 17 19:42:30 2015 +0800 clockevents/drivers/Kconfig: Replace USE_OF with OF USE_OF is used as intermediate Kconfig option by few arch's (ARM, MIPS, Xtensa); in all these cases it implies setting option OF too. Replace the only instance of USE_OF in clocksource with OF. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 86e488adaab77a733b01e759bf7bfda054479660 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jul 22 13:28:51 2015 +0100 mailbox: arm_mhu: reduce txpoll_period from 10ms to 1 ms Since the mailbox core users hrtimers now, it can handle much higher resolutions. We can reduce the txpoll_period to 1 ms as the transmit usually takes just few microseconds. Reported-and-suggested-by: Juri Lelli <Juri.Lelli@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 0cc67945ea5933d53db69606312cf52f553d1b81 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Jul 31 11:48:05 2015 +0100 mailbox: switch to hrtimer for tx_complete polling The mailbox core uses jiffy based timer to handle polling for the transmit completion. If the client/protocol have/support notification of the last packet transmit completion via ACK packet, then we tick the Tx state machine immediately in the callback. However if the client doesn't support that mechanism we might end-up waiting for atleast a jiffy even though the remote is ready to receive the next request. This patch switches the timer used for that polling from jiffy-based to hrtimer-based so that we can support polling at much higher time resolution. Reported-and-suggested-by: Juri Lelli <Juri.Lelli@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 64d0ed94f5dfde5efac15941128f60edf7f15c17 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Wed Aug 5 15:45:30 2015 -0700 HID: wacom: Do not repeatedly attempt to set device mode on error As an extension of aef3156d7, there is no sense in repeatedly calling the 'wacom_set_report' and 'wacom_get_report' functions if they return an error. Getting an error from them implies that the device is out to lunch: either a hard error code was returned or repeated attempts at recovering from a "soft" error all failed. In either case, doing even more retries is not likely to resolve whatever is wrong. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1ecb40643a9af05683b7a898d7141884bcb28a82 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:09 2015 +0200 m68k/bootinfo: Use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 519f648e15ccded12e7ce4a26c7959c4ac46b145 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:43:22 2015 +0200 m68k/defconfig: Update defconfigs for v4.2-rc1 Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit d15135bd94bfb94077484baae0e53e3675541763 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:38:14 2015 +0200 m68k/defconfig: Disable experimental CONFIG_DM_CACHE Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 66621f96c95175cc64d91dd213781bf65bbf8ec4 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Fri Jul 17 13:01:23 2015 +0100 i2c: viperboard: clean up inconsistent indenting Minor clean up of indenting, no functional change Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> [wsa: squashed two lines into one] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit a1f64317bbf5febe4c763cd6e022d533a802b847 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 21 16:14:36 2015 +0900 i2c: cadence: set THIS_MODULE to the owner of the adapter The owner of the adapter is missing, while this driver is tristate. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6e24d205a8aa78227c6f2573ed725b4517b5b1b3 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sat Aug 8 20:30:36 2015 +0200 hwmon: ina209: move binding docs to proper place The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 8113627c3f777473262192dfb2c693f0e1f78ef5 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sat Aug 8 20:30:35 2015 +0200 hwmon: ina2xx: move binding docs to proper place The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 220c04f834f7bd76e1a33711add61735796dc7f2 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sat Aug 8 20:30:34 2015 +0200 hwmon: max6697: move binding docs to proper place The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 301b06f80fb120b36ad6981038ffe8a0b5039d44 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sat Aug 8 20:30:33 2015 +0200 rtc: bq32k: move binding docs to proper place The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxxx> commit c49c1f0873faddf78c3545a8e25dfe23e8d15c2f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Aug 7 14:04:19 2015 +0200 misc: eeprom: Export I2C module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name>" regardless if the driver later is match using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fb427466dcde21fc4aab27153735bdd5c62b422d Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Aug 7 14:53:03 2015 +0300 i2c: designware: Make debug print in i2c_dw_isr() shorter Printing adapter name is irrelevant from this debug print and makes output needlessly long. Having already device and functions names printed here is enough for debugging. While at it remove extra space from "enabled= 0x" and use "%#x" for printing "0x" prefixed hexadecimal values. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> [wsa: made it a oneliner] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0d1ad98dd837c069572d16faf77fa7f50748c7d5 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Jul 27 17:30:51 2015 +0300 i2c: arb-gpio-challenge: use of_get_i2c_adapter_by_node interface This change is needed to properly lock I2C parent bus driver. Prior to this change i2c_put_adapter() is misused, which may lead to an overflow over zero of I2C bus driver user counter. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 48e9743dd6483c5fd3f10c8e42c60d52d64b0e27 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Jul 27 17:30:50 2015 +0300 i2c: core: add and export of_get_i2c_adapter_by_node() interface of_find_i2c_adapter_by_node() call requires quite often missing put_device(), and i2c_put_adapter() releases a device locked by i2c_get_adapter() only. In general module_put(adapter->owner) and put_device(dev) are not interchangeable. This is a common error reproduction scenario as a result of the misusage described above (for clearness this is run on iMX6 platform with HDMI and I2C bus drivers compiled as kernel modules): root@mx6q:~# lsmod | grep i2c i2c_imx 10213 0 root@mx6q:~# lsmod | grep dw_hdmi_imx dw_hdmi_imx 3631 0 dw_hdmi 11846 1 dw_hdmi_imx imxdrm 8674 3 dw_hdmi_imx,imx_ipuv3_crtc,imx_ldb drm_kms_helper 113765 5 dw_hdmi,imxdrm,imx_ipuv3_crtc,imx_ldb root@mx6q:~# rmmod dw_hdmi_imx root@mx6q:~# lsmod | grep i2c i2c_imx 10213 -1 ^^^^^ root@mx6q:~# rmmod i2c_imx rmmod: ERROR: Module i2c_imx is in use To fix existing users of these interfaces and to avoid any further confusion and misusage in future, add one more interface of_get_i2c_adapter_by_node(), it is similar to i2c_get_adapter() in sense that an I2C bus device driver found and locked by user can be correctly unlocked by i2c_put_adapter(). Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 611e12ea0f121a31d9e9c4ce2a18a77abc2f28d6 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Jul 27 17:30:49 2015 +0300 i2c: core: manage i2c bus device refcount in i2c_[get|put]_adapter In addition to module_get()/module_put() add get_device()/put_device() calls into i2c_get_adapter()/i2c_put_adapter() exported interfaces. This is done to lock I2C bus device, if it is in use by a client. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 141124e6e0db645396321aabed01c5e0b12cccc1 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:23:17 2015 +0900 misc: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 069d5b745b2a98ebc8c239fe0b7bdb6c5ff0f475 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:52:31 2015 +0900 i2c: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b0898fdaffb2932aba0108986b90d9d69888e189 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 13:15:36 2015 +0300 i2c: designware-pci: use IRQF_COND_SUSPEND flag The mentioned flag fixes a warning on Intel Edison board since one of the I2C controller shares IRQ line with watchdog timer. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8ab7f089ec003f817f74c45a2563ed40a50de208 Author: Denis Carikli <denis@xxxxxxxxxx> Date: Thu Jul 23 12:03:47 2015 +0200 DT: i2c: Add ADS7828 and ADS7830 to list of trivial devices This adds devicetree documentation for the bindings of the ads7828 driver. Signed-off-by: Denis Carikli <denis@xxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 82cd5d041c8c2cdceaa6833d2f73905279d1c94f Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 13 19:31:12 2015 +0200 i2c: parport: Add VCT-jig adapter Add support for VCT-jig parallel port I2C adapter to i2c-parport. The adapter schematic can be found here (in the RAR file): http://remont-aud.net/shop/22/desc/vct-jig-komplekt-dlja-samostojatelnoj-sborki Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 63cab195bf498676619951e81ad5791e9d47c420 Author: Anurag Kumar Vulisha <anurag.kumar.vulisha@xxxxxxxxxx> Date: Fri Jul 10 20:10:14 2015 +0530 i2c: removed work arounds in i2c driver for Zynq Ultrascale+ MPSoC Cadence 1.0 version has bugs which have been fixed in the cadence 1.4 version. This patch removes the quirks present in the driver for cadence 1.4 version. Signed-off-by: Anurag Kumar Vulisha <anuragku@xxxxxxxxxx> [wsa: fixed indentation issues in r1p10_i2c_def] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d57f5dedde18253d5c72a823c0a7ff3b20b57560 Author: Laxman Dewangan <ldewangan@xxxxxxxxxx> Date: Tue Jun 30 16:24:27 2015 +0530 i2c: tegra: add support for fast plus (FM+) mode clock rate Tegra I2C controller required to configure the clock divisor register inside controller to different value based on the clock speed. The recommended clock divisor for the I2C controller for standard/fast mode is 0x19 and for fast-mode plus is 0x10. Add support to configure clock divisor register of I2C controller based on bus clock rate. This clock divisor is supported form T114 onwards. Signed-off-by: Chaitanya Bandi <bandik@xxxxxxxxxx> Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6f4664b2e2c2cfa35b48271423c5e602b6970f14 Author: Laxman Dewangan <ldewangan@xxxxxxxxxx> Date: Tue Jun 30 16:24:26 2015 +0530 i2c: tegra: update CONFIG_LOAD for new conifiguration Once the new configuration is set on the conifg register of I2C controller, it is require to update the CONFIG_LOAD register to transfer the new SW configuration to actual HW internal registers that would be used in the actual logic. It is like, SW is programming only shadow registers through regular configuration and when these load_config bit fields are set to 1, it causes the regular/shadows registers configuration transferred to the HW internal active registers. So SW has to set these bit fields at the end of all regular registers configuration. And these config_load bits are HW auto-clear bits. HW clears these bit fields once the register configuration is moved to HW internal active registers. So SW has to wait until these bits are auto-cleared before going for any further programming This mechanism is supported on T124 and after this SoCs. Signed-off-by: Chaitanya Bandi <bandik@xxxxxxxxxx> Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 77441ac00d324c037c088da090fa505b45dad9d4 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Tue Jul 14 14:07:08 2015 +0200 i2c: omap: fix cleanup regression Patch "i2c: omap: abolish variable name confusion" triggered a coccinelle warning which we fix here: drivers/i2c/busses/i2c-omap.c:1333:5-24: pm_runtime_get_sync returns < 0 as error. Unecessary IS_ERR_VALUE at line 1334 Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6b0c8dc3104253a5e4b2ec923eeb48cece0abcb9 Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:19 2015 +0530 i2c: xiic: Do not continue in case of errors in Rx In case of error conditions like Arbitration lost or NACK lets signal the waiting process. Handle error cases in the Rx path Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7f9906bd7f7211327ba58657caa216608f9c93de Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:18 2015 +0530 i2c: xiic: Service all interrupts in isr Currently only one interrupt is serviced in the isr. In case the multiple interrupts happen simultenously we service and ack only one of them. Check for all the causes in the isr and service them. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 542e2a9b739068c1b72db530987382662201469a Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:17 2015 +0530 i2c: xiic: Remove the Addressed as slave interrupt Currently there is no slave mode support in the driver also in the isr we just ack it and do nothing. So disable the AAS interrupt. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b33aa252785eb6de2f5325a3338fa917a9b4bc66 Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:15 2015 +0530 i2c: xiic: Remove busy loop while waiting for bus busy Remove the busy loop while waiting for bus busy. Instead let the processor sleep. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e6c9a037bc8afdce055a2a23bb61903b3844dfda Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:14 2015 +0530 i2c: xiic: Remove the disabling of interrupts Currently before every transfer the interrupts are disabled. So incase the slave nacks in the middle of the transfer the current transfer is not aborted. Upon enabling the interrupts conditions like NACK , arbitration lost will not be masked. Remove the disabling of the interrupts. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d701667bb3318f27152ad61a6f5cc8b36cc5fcad Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:13 2015 +0530 i2c: xiic: Do not reset controller before every transfer Currently before every transfer the controller is reinitialised. We are already resetting the controller upon errors so upon every transfer is a performance kill. Remove the same. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fcc2fac60a95b4e63682ae4128e86d8768602fab Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:12 2015 +0530 i2c: xiic: move the xiic_process to thread context The xiic_process is a 154 line code that runs in isr context currently move it to thread context. Also the name xiic_process suggests that the intension was to run in process context. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> [wsa: initialized irqreturn_t to IRQ_NONE instead of IRQ_HANDLED] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0387fc1645fed3b723e8556d83452bc09f79fd24 Author: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Date: Wed Jun 17 20:48:11 2015 +0530 i2c: xiic: Remove the disabling of interrupts Currently the interrupts are disabled at the start of the isr and enabled at the end of the isr. Remove the same. In case the slave device NACKs the transaction while in the isr the transfer will continue and the NACK interrupt will arrive only after the isr is serviced. Signed-off-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 51fcce86a70f6f63d733619afc425821118838dc Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Tue Jul 14 13:06:45 2015 +0530 i2c: pxa: Use devm_ variants in probe function This patch cleans up i2c_pxa_probe() function, - Use devm_ variants wherever This will clean both probe exit and i2c_pxa_remove() functions - Check platform resource before parsing any other data from DT/platform - Use dev_err on failure from i2c_add_numbered_adapter() - Use pr_info instead of printk for KERN_INFO Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> [wsa: removed unneeded error prinout after devm_ioremap_resource] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 3a2dc1677b60af250bea85d470ef5151c70a1264 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Tue Jul 14 13:06:44 2015 +0530 i2c: pxa: Update debug function to dump more info on error Update i2c_pxa_scream_blue_murder() fn to print more information in case of error. Also, use dev_err variants instead of printk. Signed-off-by: Jett.Zhou <jtzhou@xxxxxxxxxxx> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e2b498fd55a871ab3913914b982e3dd07d32e90e Author: Yipeng Yao <ypyao@xxxxxxxxxxx> Date: Tue Jul 14 13:06:43 2015 +0530 i2c: pxa: Fix compile warning in 64bit mode Fix below warning message, coming from 64 bit toolchain. drivers/i2c/busses/i2c-pxa.c:1237:15: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] Signed-off-by: Yipeng Yao <ypyao@xxxxxxxxxxx> [vaibhav.hiremath@xxxxxxxxxx: Updated Changelog] Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8bd75bd3038df5e743c7daa84c2d34d13493b395 Author: Shouming Wang <wangshm@xxxxxxxxxxx> Date: Tue Jul 14 13:06:42 2015 +0530 i2c: pxa: Return I2C_RETRY when timeout in pio mode In case of timeout in pio mode of operation return I2C_RETRY. This behavior will be same as interrupt mode of operation. Signed-off-by: Shouming Wang <wangshm@xxxxxxxxxxx> [vaibhav.hiremath@xxxxxxxxxx: Updated changelog] Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e087b4272effeacc10629316d47a257c88f82898 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Tue Jul 14 13:06:41 2015 +0530 i2c: pxa: No need to set slave addr for i2c master mode reset Normally i2c controller works as master, so slave addr is not needed, or it will impact some slave device (eg. ST NFC chip) i2c accesses, because it has the same i2c address with controller. For example, On the pxa1928 based platform, where PMIC (88pm860) is present @0x30 address on TWSI0 interface, and if we set 0x30 as a slave address in pxa1928 TWSI0 module, all the transactions towards PMIC would go for toss. Signed-off-by: Jett.Zhou <jtzhou@xxxxxxxxxxx> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit abf8a1fba9a48535595857ed46ad642272eea05c Author: Leilei Shang <shangll@xxxxxxxxxxx> Date: Tue Jul 14 13:06:40 2015 +0530 i2c: pxa: keep i2c irq ON in suspend During suspend there may still be some i2c access happening, as the interrupt is shared between multiple drivers. And if we don't keep i2c irq ON, there may be i2c access timeout if i2c is in irq mode of operation. Signed-off-by: Raul Xiong <xjian@xxxxxxxxxxx> Signed-off-by: Xiaofan Tian <tianxf@xxxxxxxxxxx> [vaibhav.hiremath@xxxxxxxxxx: updated Changelog] Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5faf6e1f58b4488a8b24a722ccf317ed67a8e8d8 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 11 09:46:23 2015 +0200 i2c: emev2: add driver Add a basic driver for the Renesas EMEV2 SoC. Based on the driver from the BSP which was first worked on by Ian, and made ready for upstream by me. Signed-off-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e1069878b957c5f6d0eb2f441a8372db8d6198b2 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 11 09:46:22 2015 +0200 clk: shmobile: emev2: deassert reset for IIC0/1 We have a driver now for IIC, so disable reset for them. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1c4828f916ffd5b7cc4d57d832cce615475b36da Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jul 13 15:38:04 2015 -0500 i2c: omap: on ->remove() call pm_runtime_put_sync() we're about to remove the module, so we can't really schedule a PM transition in the future, we must wait for it to finish. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 63f8f85625fa726bdf28862dd4d2e1bf3d230bb8 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jul 13 15:38:03 2015 -0500 i2c: omap: abolish variable name confusion struct device pointers are usually called dev. Calling our struct omap_i2c_dev pointers also dev has caused enough confusion. This is the result of a few simple sed rules to convert all struct omap_i2c_dev pointers to be called omap instead. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c680e3291857216465714ba1d3336befaa5b4725 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jul 13 15:38:02 2015 -0500 i2c: omap: switch to dev_get_drvdata() there's no need to fetch the platform_device in order to dereference it back to the dev pointer to access drvdata, we can use dev_get_drvdata() instead. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 20226118bceed7b432f4bc5bae34c1c160689bf7 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jun 18 18:33:47 2015 +0530 i2c: parport: start using pr_fmt Start using pr_fmt and convert all remaining printk to use pr_* family of macros. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> [wsa: remove print on kzalloc failure] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c5f3d544a7f29b16de37c10f51b38c4b7ad31804 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jun 18 18:33:46 2015 +0530 i2c: parport: use dev_* Now parport is using device model so use dev_* macros instead of printk. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2cf1b5ce16b61259e3633fb61e6fedaad6e25fc5 Merge: ecea499 e577516 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 9 22:54:10 2015 -0700 Merge branch 'mlxsw-fixes' Jiri Pirko says: ==================== mlxsw: Couple of fixes/adjustments Ido Schimmel (5): mlxsw: Call free_netdev when removing port mlxsw: Make system port to local port mapping explicit mlxsw: Simplify mlxsw_sx_port_xmit function mlxsw: Use correct skb length when dumping payload mlxsw: Fix use-after-free bug in mlxsw_sx_port_xmit Jiri Pirko (2): mlxsw: Make pci module dependent on HAS_DMA and HAS_IOMEM mlxsw: Strip FCS from incoming packets ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e577516b9db3e0f19df82b6430fe3b06e05d6304 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:58 2015 +0200 mlxsw: Fix use-after-free bug in mlxsw_sx_port_xmit Store the length of the skb before transmitting it and use it for stats instead of skb->len, since skb might have been freed already. This issue was discovered using the Kernel Address sanitizer (KASan). Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bfcd34764cbd3bcb48f6e9009eacf1d19856213 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:57 2015 +0200 mlxsw: Use correct skb length when dumping payload Do not use the length of the transmitted skb (which was freed), but that of the response skb. This issue was discovered using the Kernel Address sanitizer (KASan). Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d003462a50de8605e66be0966e6370ab9821e07e Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:56 2015 +0200 mlxsw: Simplify mlxsw_sx_port_xmit function Previously we only checked if the transmission queue is not full in the middle of the xmit function. This lead to complex logic due to the fact that sometimes we need to reallocate the headroom for our Tx header. Allow the switch driver to know if the transmission queue is not full before sending the packet and remove this complex logic. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b7b9cff7468fdf38ab189dde6ecb4750b171bc8 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:55 2015 +0200 mlxsw: Strip FCS from incoming packets FCS of incoming packets is already checked by HW. Just strip it out. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74ed207e2a82dece0de0849df62cd450dec9d4d7 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:54 2015 +0200 mlxsw: Make pci module dependent on HAS_DMA and HAS_IOMEM This resolves compile errors on um-allyesconfig. Note that there are many other drivers which have the same issue. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e61011b5e044b15727fc6ee330c17f1fc69faef8 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:53 2015 +0200 mlxsw: Make system port to local port mapping explicit System ports are unique identifiers in a multi-ASIC environment that represent all the available ports in the system. Local ports on the other hand, are unique only within the local ASIC. Since system port to local port mapping is not part of the HW-SW contract and since only single-ASIC configurations are currently supported, set an explicit 1:1 mapping by configuring the Switch System Port Record (SSPR) register. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26a80f6e542e6b86c9ad9c3d217d74ca8c3fed66 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Aug 6 16:41:52 2015 +0200 mlxsw: Call free_netdev when removing port When removing a port's netdevice we should also free the memory allocated by alloc_etherdev(). Do this by calling free_netdev() at the end of the teardown sequence. Reported-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ecea49914b329e3f5cf746979c10e05e6bdad77a Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Aug 6 21:27:54 2015 +0900 net: ethernet: Fix double word "the the" in eth.c This patch fix double word "the the" in Documentation/DocBook/networking/API-eth-get-headlen.html Documentation/DocBook/networking/netdev.html Documentation/DocBook/networking.xml These files are generated from comment in source, so I have to fix comment in net/ethernet/eth.c. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0024f8920045c6a57d98b44290bbaebb0e3c6c00 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Thu Aug 6 19:03:35 2015 +0800 net: phy: add RealTek RTL8211DN phy id RTL8211DN is compatible with RTL8211E. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 118d5234636ca3718f47ca2c8a3b117c19dfdffd Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Thu Aug 6 11:04:56 2015 +0100 mpls: Enforce payload type of traffic sent using explicit NULL RFC 4182 s2 states that if an IPv4 Explicit NULL label is the only label on the stack, then after popping the resulting packet must be treated as a IPv4 packet and forwarded based on the IPv4 header. The same is true for IPv6 Explicit NULL with an IPv6 packet following. Therefore, when installing the IPv4/IPv6 Explicit NULL label routes, add an attribute that specifies the expected payload type for use at forwarding time for determining the type of the encapsulated packet instead of inspecting the first nibble of the packet. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d74a790d5237e7f56677030d932bc4f37ec36c92 Merge: f1d5ca4 47efb30 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 9 22:50:06 2015 -0700 Merge branch 'bpf-perf' Kaixu Xia says: ==================== bpf: Introduce the new ability of eBPF programs to access hardware PMU counter This patchset is base on the net-next: git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git commit 9dc20a649609c95ce7c5ac4282656ba627b67d49. Previous patch v6 url: https://lkml.org/lkml/2015/8/4/188 changes in V7: - rebase the whole patch set to net-next tree(9dc20a64); - split out the core perf APIs into Patch 1/5; - change the return value of function perf_event_attrs() from struct perf_event * to const struct perf_event * in Patch 1/5; - rename the function perf_event_read_internal() to perf_event_ read_local() and rewrite it in Patch 1/5; - rename the function check_func_limit() to check_map_func _compatibility() and remove the unnecessary pass pointer to a pointer in Patch 4/5; changes in V6: - make the Patch 1/4 commit message more meaning and readable; - remove the unnecessary comment in Patch 2/4 and make it clean; - declare the function perf_event_release_kernel() in include/ linux/perf_event.h to fix the build error when CONFIG_PERF_EVENTS isn't configured in Patch 2/4; - add function perf_event_attrs() to get the struct perf_event_attr in Patch 2/4. - move the related code from kernel/trace/bpf_trace.c to kernel/ events/core.c and add function perf_event_read_internal() to avoid poking inside of the event outside of perf code in Patch 3/4; - generial the func & map match-pair with an array in Patch 3/4; changes in V5: - move struct fd_array_map_ops* fd_ops to bpf_map; - move array perf event decrement refcnt function to map_free; - fix the NULL ptr of perf_event_get(); - move bpf_perf_event_read() to kernel/bpf/bpf_trace.c; - get rid of the remaining struct bpf_prog; - move the unnecessay cast on void *; changes in V4: - make the bpf_prog_array_map more generic; - fix the bug of event refcnt leak; - use more useful errno in bpf_perf_event_read(); changes in V3: - collapse V2 patches 1-3 into one; - drop the function map->ops->map_traverse_elem() and release the struct perf_event in map_free; - only allow to access bpf_perf_event_read() from programs; - update the perf_event_array_map elem via xchg(); - pass index directly to bpf_perf_event_read() instead of MAP_KEY; changes in V2: - put atomic_long_inc_not_zero() between fdget() and fdput(); - limit the event type to PERF_TYPE_RAW and PERF_TYPE_HARDWARE; - Only read the event counter on current CPU or on current process; - add new map type BPF_MAP_TYPE_PERF_EVENT_ARRAY to store the pointer to the struct perf_event; - according to the perf_event_map_fd and key, the function bpf_perf_event_read() can get the Hardware PMU counter value; Patch 5/5 is a simple example and shows how to use this new eBPF programs ability. The PMU counter data can be found in /sys/kernel/debug/tracing/trace(trace_pipe).(the cycles PMU value when 'kprobe/sys_write' sampling) $ cat /sys/kernel/debug/tracing/trace_pipe $ ./tracex6 ... syslog-ng-548 [000] d..1 76.905673: : CPU-0 681765271 syslog-ng-548 [000] d..1 76.905690: : CPU-0 681787855 syslog-ng-548 [000] d..1 76.905707: : CPU-0 681810504 syslog-ng-548 [000] d..1 76.905725: : CPU-0 681834771 syslog-ng-548 [000] d..1 76.905745: : CPU-0 681859519 syslog-ng-548 [000] d..1 76.905766: : CPU-0 681890419 syslog-ng-548 [000] d..1 76.905783: : CPU-0 681914045 syslog-ng-548 [000] d..1 76.905800: : CPU-0 681935950 syslog-ng-548 [000] d..1 76.905816: : CPU-0 681958299 ls-690 [005] d..1 82.241308: : CPU-5 3138451 sh-691 [004] d..1 82.244570: : CPU-4 7324988 <...>-699 [007] d..1 99.961387: : CPU-7 3194027 <...>-695 [003] d..1 99.961474: : CPU-3 288901 <...>-695 [003] d..1 99.961541: : CPU-3 383145 <...>-695 [003] d..1 99.961591: : CPU-3 450365 <...>-695 [003] d..1 99.961639: : CPU-3 515751 <...>-695 [003] d..1 99.961686: : CPU-3 579047 ... The detail of patches is as follow: Patch 1/5 add the necessary core perf APIs perf_event_attrs(), perf_event_get(),perf_event_read_local() when accessing events counters in eBPF programs Patch 2/5 rewrites part of the bpf_prog_array map code and make it more generic; Patch 3/5 introduces a new bpf map type. This map only stores the pointer to struct perf_event; Patch 4/5 implements function bpf_perf_event_read() that get the selected hardware PMU conuter; Patch 5/5 gives a simple example. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47efb30274cbec1bd3c0c980a7ece328df2c16a8 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Thu Aug 6 07:02:36 2015 +0000 samples/bpf: example of get selected PMU counter value This is a simple example and shows how to use the new ability to get the selected Hardware PMU counter value. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35578d7984003097af2b1e34502bc943d40c1804 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Thu Aug 6 07:02:35 2015 +0000 bpf: Implement function bpf_perf_event_read() that get the selected hardware PMU conuter According to the perf_event_map_fd and index, the function bpf_perf_event_read() can convert the corresponding map value to the pointer to struct perf_event and return the Hardware PMU counter value. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea317b267e9d03a8241893aa176fba7661d07579 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Thu Aug 6 07:02:34 2015 +0000 bpf: Add new bpf map type to store the pointer to struct perf_event Introduce a new bpf map type 'BPF_MAP_TYPE_PERF_EVENT_ARRAY'. This map only stores the pointer to struct perf_event. The user space event FDs from perf_event_open() syscall are converted to the pointer to struct perf_event and stored in map. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a36f0b92eb638dd023870574eb471b1c56be9ad Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Aug 6 07:02:33 2015 +0000 bpf: Make the bpf_prog_array_map more generic All the map backends are of generic nature. In order to avoid adding much special code into the eBPF core, rewrite part of the bpf_prog_array map code and make it more generic. So the new perf_event_array map type can reuse most of code with bpf_prog_array map and add fewer lines of special code. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ffe8690c85b8426db7783064724d106702f1b1e8 Author: Kaixu Xia <xiakaixu@xxxxxxxxxx> Date: Thu Aug 6 07:02:32 2015 +0000 perf: add the necessary core perf APIs when accessing events counters in eBPF programs This patch add three core perf APIs: - perf_event_attrs(): export the struct perf_event_attr from struct perf_event; - perf_event_get(): get the struct perf_event from the given fd; - perf_event_read_local(): read the events counters active on the current CPU; These APIs are needed when accessing events counters in eBPF programs. The API perf_event_read_local() comes from Peter and I add the corresponding SOB. Signed-off-by: Kaixu Xia <xiakaixu@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1d5ca434413b20cd3f8c18ff2b634b7782149a5 Merge: 4933d85 8782051 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 9 22:48:10 2015 -0700 Merge branch 'mv88e6xxx-switchdev-fdb' Vivien Didelot says: ==================== net: dsa: mv88e6xxx: support switchdev FDB objects This patchset refactors the DSA and mv88e6xxx code to use the switchdev FDB objects. The first two patches add minor but necessary changes to switchdev, the third one implements the switchdev glue in DSA for FDB routines, and the remaining ones refactor the FDB access functions in the mv88e6xxx code. Below is an usage example (ports 0-2 belongs to br0, ports 3-4 belongs to br1): # bridge fdb add 3c:97:0e:11:30:6e dev swp2 # bridge fdb add 3c:97:0e:11:40:78 dev swp3 # bridge fdb add 3c:97:0e:11:50:86 dev swp4 # bridge fdb del 3c:97:0e:11:40:78 dev swp3 # bridge fdb 01:00:5e:00:00:01 dev eth0 self permanent 01:00:5e:00:00:01 dev eth1 self permanent 00:50:d2:10:78:15 dev swp0 master br0 permanent 3c:97:0e:11:30:6e dev swp2 self static 00:50:d2:10:78:15 dev swp3 master br1 permanent 3c:97:0e:11:50:86 dev swp4 self static # cat /sys/kernel/debug/dsa0/atu # DB T/P Vec State Addr # 001 Port 004 e 3c:97:0e:11:30:6e # 004 Port 010 e 3c:97:0e:11:50:86 For the 88E6xxx switches, FIDs 1 to num_ports will be reserved for non-bridged ports and bridge groups, and the remaining will be later used by VLANs. This change is necessary to welcome the support for hardware VLANs (which will follow soon). Changes in v2: - remove ndo_bridge_{get,set,del}link from switchdev/DSA glue code - use ether_addr_copy instead of memcpy for MAC addresses - constify MAC address in port_fdb_{add,del} - split the mv88e6xxx code refactoring into several patches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 878205101ff1bedfc504bfaa5e999bf426bacd89 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:08 2015 -0400 net: dsa: mv88e6xxx: rework FDB add/del operations Add a low level function for the ATU Load operation, and provide FDB add and delete wrappers functions. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6630e236179f278b5d471c10d458df309067341c Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:07 2015 -0400 net: dsa: mv88e6xxx: rework FDB getnext operation This commit adds a low level _mv88e6xxx_atu_getnext function and helpers to rewrite the mv88e6xxx_port_fdb_getnext operation. A mv88e6xxx_atu_entry structure is added for convenient access to the hardware, and GLOBAL_ATU_FID is defined instead of the raw 0x01 value. The previous implementation did not handle the eventual trunk mapping. If the related bit is set, then the ATU data register would contain the trunk ID, and not the port vector. Check this in the FDB getnext operation and do not handle it (yet). Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 395059fb9269d97198ae3c94a798851e43062da6 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:06 2015 -0400 net: dsa: mv88e6xxx: rename ATU MAC accessors Rename the __mv88e6xxx_{read,write}_addr functions to more explicit _mv88e6xxx_atu_mac_{read,write} functions, which also respect the single underscore convention used in the file (meaning SMI lock must be held). In the meantime, define their MAC address parameters as an array of ETH_ALEN bytes instead of a char pointer. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 368b1d9c10acf99a855961ae6a1430591ee55f03 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:05 2015 -0400 net: dsa: mv88e6xxx: extend fid mask The driver currently manages one FID per port (or bridge group), with a mask of DSA_MAX_PORTS bits, where 0 means that the FID is in use. The Marvell 88E6xxx switches support up to 4094 FIDs (from 1 to 0xfff; FID 0 means that multiple address databases are not being used). This patch changes the fid_mask for an fid_bitmap of 4096 bits. >From now on, FIDs 1 to num_ports are reserved for non-bridged ports and bridge groups (a bridge group gets the FID of its first member). The remaining bits will be reserved for VLAN entries. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55045ddded0f39d84c2ca019508973be8c595a78 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:04 2015 -0400 net: dsa: add support for switchdev FDB objects Remove the fdb_{add,del,getnext} function pointer in favor of new port_fdb_{add,del,getnext}. Implement the switchdev_port_obj_{add,del,dump} functions in DSA to support the SWITCHDEV_OBJ_PORT_FDB objects. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 890248261a18c7ae22923095dfadea2c0a2a304a Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:03 2015 -0400 net: switchdev: support static FDB addresses This patch adds a is_static boolean to the switchdev_obj_fdb structure, in order to set the ndm_state to either NUD_NOARP or NUD_REACHABLE. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1525c386a1f01612c6f3f27241113d7fc8e6d72d Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 01:44:02 2015 -0400 net: switchdev: change fdb addr for a byte array The address in the switchdev_obj_fdb structure is currently represented as a pointer. Replacing it for a 6-byte array allows switchdev to carry addresses directly read from hardware registers, not stored by the switch chip driver (as in Rocker). Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4933d85c5173832ebd261756522095837583c458 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Aug 6 12:52:47 2015 +0900 net:wimax: Fix doucble word "the the" in networking.xml This patch fix a double word "the the" in Documentation/DocBook/networking.xml and Documentation/DocBook/networking/API-Wimax-report-rfkill-sw.html. These files are generated from comment in source, so I had to fix the typo in net/wimax/io-rfkill.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6855e5b7090330add9521d8947017875d5f4f88e Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 15:13:17 2015 -0500 ARM: socfpga: dts: Add resets for EMACs on Arria10 Add the reset property for the EMAC controllers on Arria10. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 1a94acf858000836d28b13942eebf5cbffc9ac34 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 14:05:06 2015 -0500 ARM: socfpga: dts: add "altr,modrst-offset" property The "altr,modrst-offset" property represents the offset into the reset manager that is the first register to be used by the driver to bring peripherals out of reset. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 007bb689b3dbad83cdab0ad192bc6ed0162451e0 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 00:01:55 2015 -0500 dt-bindings: Add reset manager offsets for Arria10 The reset manager for is pretty similar to the one for SoCFPGA cyclone5/arria5 except for a few offsets. This patch adds those offsets. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit a598af7f0279195abffbfb9bf2070457e9c89ff3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 4 10:47:23 2015 +0300 extcon: Fix signedness bugs about break error handling Unsigned is never less than zero so this error handling won't work. Fixes: be052cc87745 ('extcon: Fix hang and extcon_get/set_cable_state().') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> [cw00.choi: Change the patch title and fix signedness bug of find_cable_index_by_id() ] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit bef025a1f8e0e566f954613f4e5087f6b156e2a5 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:50:20 2015 +0900 extcon: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit bb327e92a9651c4d9bbf8ee9a367d575d7e6a102 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 13:32:39 2015 +0100 extcon: arizona: Simplify pdata symantics for micd_dbtime Currently micd_dbtime can be set to 0 for default, 1 for 4 measurements, or a greater than 16-bit value for 2 measurements. This patch simplifies the symantics to 2 for 2 measurements, 4 for 4 measurements and any other value for the default. I am not super keen on changing the symantics of the pdata at this stage in the drivers life, but acceptance of the DT binding for this field has been made conditional on this happening. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 57f70ef9bd19378b51a282be6b46b45b70d4980d Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 16:47:02 2015 +0100 extcon: arizona: Declare 3-pole jack if we detect open circuit on mic Detecting an open-circuit on the microphone pin, usually means the headset has a microphone but the cable is faulty. Currently the code will simply stop detecting and declare nothing in this situation. It is better to declare this as headphones such that the user can still use their headset as plain headphones even if the microphone is faulty. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 7eae43aeab27e8f65c0a2e31567fafcfc7aa4649 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Sun Jun 21 23:48:36 2015 +0900 extcon: Add exception handling to prevent the NULL pointer access This patch check whether argument is NULL to prevent NULL pointer access. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 0ffe8cbd51dafa5ad6686435bb1bd0afdd2b006b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 17:23:32 2015 +0100 extcon: arizona: Ensure variables are set for headphone detection The detecting flag really refers to the microphone detection stage and as such should be cleared before arizona_identify_headphones is called. Also the mic flag should be set before identify headphones is called as well. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 8e5838dd7b8c226cca235aa64c2f210517ef9b64 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 17:23:31 2015 +0100 extcon: arizona: Use gpiod inteface to handle micd_pol_gpio gpio Convert to using the newer gpiod interface for the micd_pol_gpio. Although we still carry support for the old gpio interface from pdata. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> [cw00.choi: Modify the patch titlei to include the detailed content] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 4778d44ff3126b64f784ce9bf2b9dd3dbab1551b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 17:23:30 2015 +0100 extcon: arizona: Add basic microphone detection DT/ACPI bindings This patch adds bindings for the basic microphone detection platform data. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit feffb0cc63015798803082a330d2fd96b00e1773 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 17:23:29 2015 +0100 extcon: arizona: Update to use the new device properties API The device properties API will load data from both device tree and ACPI, update the binding to use this API instead of the OF API. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 1fe189bfb0fa2b01cea6464a0a6a98f5f118a376 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Jun 11 20:46:07 2015 +0900 extcon: palmas: Remove the mutually_exclusive array This patch removes the mutually_exclusive array of extcon-palmas.c. After used the unique id of each external connector on 2a9de9c0f08d ("extcon: Use the unique id for external connector instead of string"), extcon driver can't directly handle the bit value indicating the external connectors. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 2519b7650e99d90643a7a20d623513de9c95a817 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Jun 11 20:17:02 2015 +0900 extcon: Remove optional print_state() function pointer of struct extcon_dev This patch removes the optional print_state() function pointer which included in 'struct extcon_dev' because the extcon must maintain the consistent name of extcon device on sysfs instead of inconsistent state of external connectors. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 85a77ff0160ab0a70eb4e8b14200e29b4d35c355 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Jun 11 14:58:47 2015 +0900 extcon: Remove duplicate header file in extcon.h This patch removes the duplicate header file in extcon.h. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 135d9f7d135a11ff4a5279325b06c5e8c82952b5 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Fri Jun 5 13:32:27 2015 +0900 extcon: max77843: Clear IRQ bits state before request IRQ IRQ signal before driver probe is needless because driver sends current state after platform booting done. So, this patch clears MUIC IRQ bits before request IRQ. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 5d44f4b3484e85c8d4527ecaca5e536da774ae21 Merge: 4816693 f7644cb Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 16:28:09 2015 -0700 Merge 4.2-rc6 into char-misc-next We want the fixes in Linus's tree in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f61cab8a729e00af77b51b44c3a8dc8ef3b3eb9 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jun 8 11:15:23 2015 -0700 hwmon: (pmbus) Add support for MAX20751 MAX20751 is a multiphase power controller with internal buck converter. It uses VR12.0 to report the output voltage. This requires an explicit driver, since the VR version can not be auto-detected. The chip supports a manufacturer specific command to fine-tune the output voltage. This command is not currently supported. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 068c227056b9223fea1a759e08db2558d5cbb5ad Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jul 20 09:47:33 2015 -0700 hwmon: (pmbus) Add support for VR12 Newer chips such as MAX20751 support VR12. Add support for it. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit ead8080351c988b9c4bb5ec261d7b4c97ebb2773 Author: Justin Maggard <jmaggard10@xxxxxxxxx> Date: Wed Aug 5 12:53:08 2015 -0700 hwmon: (it87) Add support for IT8732F Add support for the IT8732F. This chip is pretty similar to IT8721F, with the main difference being that the ADC LSB is 10.9 mV instead of 12 mV. Signed-off-by: Justin Maggard <jmaggard@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 1c6e8f6ba89c59270db223284d47e3c928c6fbfc Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Tue Jul 28 01:01:07 2015 +0300 hwmon: (nct7802) Add auto_point attributes Introduced REG_PWM, pwm[1..3]_auto_point[1..5]_temp, pwm[1..3]_auto_point[1..5]_pwm, nct7802_auto_point_attrs, nct7802_auto_point_group, updated nct7802_regmap_is_volatile Signed-off-by: Constantine Shulyupin <const@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit a1dc86ebd2f2eb6652c8be9311c16acccd1708f8 Author: Rabin Vincent <rabin@xxxxxx> Date: Sun Jul 19 00:29:14 2015 +0200 hwmon: (lm70) add device tree support Allow the lm70 to be probed from a device tree. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit aeaa4d9f812bfd841643b37f65c6b6597045be37 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Jun 8 11:01:50 2015 -0700 hwmon: (ltc2978) LTM4676 supports CLEAR_PEAKS Use the CLEAR_PEAKS command on LTM4676. Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 68a403823600fc9d8277f930981d3a013353b2fe Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Mar 17 13:19:51 2015 -0700 hwmon: (adm1275) Add support for ADM1293 and ADM1294 ADM1293 and ADM1294 are mostly compatible with other chips of the same series, but have more configuration options. There are also some differences in register details. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 48065a138acb8435c60739ffa62622d69f61b712 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Jul 5 13:45:43 2015 -0700 hwmon: (pmbus) Add support for lowest power value attributes Add support for powerX_input_lowest for both input and output power. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9048539b7cd6ca99e03e6d9745779473349426f7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Jul 4 10:09:54 2015 -0700 hwmon: (adm1275) Introduce new feature flags Introduce have_vout, have_vaux_status, have_pin_max, and have_uc_fault to simplify adding support for new chips. Also simplify error returns where appropriate to return immediately on error. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 904b296f308dc70d5560a2b4311bbe255de12fd7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Jul 4 08:39:18 2015 -0700 hwmon: (adm1275) Introduce configuration data structure for coeffcients Each new chip supported by the driver has a new set of coefficients, making hard-coding coefficients more and more cumbersome. Introduce a datastructure and table to simplify configuration. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 99b416085ce99b03b8be63d6ba8872902e9809ae Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Jul 4 09:19:48 2015 -0700 hwmon: (adm1275) Use BIT macro Use BIT macro to simplify adding new bit masks. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit a07d73113febf0e17299338b9a6401955fe63b14 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 10 13:00:08 2015 +0800 hwmon: (pmbus_core) Constify pmbus_regulator_ops pmbus_regulator_ops is not modified after initialized, so make it const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 7b7a8b4237a0d7808df5aa12f49f7979f879cf12 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 10 12:59:13 2015 +0800 hwmon: (pmbus) Explicitly set regulator type for pmbus_regulator_ops The pmbus_regulator_ops is for voltage regulators, so explicitly set regulator type for better readability. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit d4068a59277d0ad5374f71163d45599d589bd617 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:51:32 2015 +0900 hwmon: (g762) Drop owner assignment from struct i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit d8363bb5ad4ff3986c03c6895cc74e2a30041aee Author: George Joseph <george.joseph@xxxxxxxxxxxxx> Date: Tue Jul 7 19:16:53 2015 -0600 hwmon: (f71882fg) Add support for f81768d Add f81768d (id 0x1210) currently found on Jetway motherboards. It has 11 voltages but otherwise needed no special handling in this driver. Signed-off-by: George Joseph <george.joseph@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 5102f022688ccd59b1fe4efc8a46ec3aca02dfc5 Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Wed Jul 8 00:40:10 2015 +0300 hwmon: (nct7802) Add pwmX_enable attribute Introduced REG_SMARTFAN_EN, SMARTFAN_EN_SHIFT, pwmX_enable, show_pwm_enable, store_pwm_enable. Signed-off-by: Constantine Shulyupin <const@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 3e40b8602aa5309e0b117701c36971367af40682 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Jul 7 16:22:38 2015 +0800 hwmon:(f71882fg) Fix f81866a voltage protection The f81866a voltage-1 protector(VIN1) address is differ from f71882. f71882 status:12H, beep:13H, v-high:32H f81866a status:16H, beep:17H, v-high:3aH Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit dcd956fc0b01135e6a00922165e653178d2b177b Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Jul 7 16:22:37 2015 +0800 hwmon: (f71882fg) Fix f81866a temp/beep setting The temperature value of Fintek F81866 is the same with f71882fg. It located with 0x6c + 2*(nr), others located with 0x6c + 2*(nr+1). We change the rule in f71882fg_probe(), If type = f71858fg/f8000/f81866a. the temp_start will set to 0, others are 1. The F81866 over-temperature beep setting is not the same with f71882fg too. They are using the same address 63H, but F81866 is using bit 0/1/2 & 4/5/6, others are using bit 1/2/3 & 5/6/7, So we copy from fxxxx_temp_beep_attr[] to f81866_temp_beep_attr and change bit setting. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2725fe2b74e264a649af72beaaf6cc2c2e1f3495 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Jul 7 16:22:36 2015 +0800 hwmon: (f71882fg) Add support for F81866 and F71868 Add New Fintek SuperIO F81866(0x1010) & F71868(0x1106) with H/W Monitor functions. We increased F71882FG_MAX_INS from 9 to 10 to read F71868 10 voltage sets. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 876420e05a0fda4801c0a0de67e9bbe9831dffee Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Sun Jul 5 01:41:31 2015 +0300 hwmon: (nct7802) Add pwm mode attributes Introduced: show_pwm_mode, pwm1_mode, pwm2_mode, pwm2_mode Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit ea33597c6f9862d7b926bdb9c3ac25012f307dd5 Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Sat Jul 4 21:49:51 2015 +0300 hwmon: (nct7802) Add pwm control Added fan output control registers. Modes of operation are PWM (default) and DC. Introduced show_pwm, store_pwm, nct7802_pwm_attrs, nct7802_pwm_group. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit fcdc5739dce03d8050ebfa7153412c2efcdee94f Author: Constantine Shulyupin <const@xxxxxxxxxxxxx> Date: Wed Jul 1 09:52:23 2015 +0300 hwmon: (nct7802) add temperature sensor type attribute Sensor type: 3 diode (current mode), MD=1 4 thermistor, MD=2 Reference: Nuvoton Hardware Monitoring IC NCT7802Y 7.2.32 Mode Selection Register Location : Index 22h Signed-off-by: Constantine Shulyupin <const@xxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit b179b037e568a27ab3e8f5bedea1f4455aba7378 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Fri Aug 7 13:20:16 2015 +0200 s390/dasd: enhance CUIR scope detection This patch adds an enhanced detection for control unit initiated reconfiguration request scope. The first approach assumed the scope of the reconfiguration request to be restricted to the path on which the message was received. The enhanced approach determines the full scope of the reconfiguration request by evaluating additional path and device selection information contained in the reconfiguration message. Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1eb38023ddb480276c6b75e0db6463c47251eb7b Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Fri Aug 7 13:19:03 2015 +0200 s390/dasd: fix failing path verification DASD path verification requires the usage of sleep_on_immediatly to ensure that no other I/O request is blocking the recovery of disconnected devices. But two concurrent path verification workers for the same device may kill each others requests due to the usage of the immediate sleep_on function. This may lead to unsuccessful path verifications. Prevent that two parallel path verification workers conflict with each other by implementing a device flag signalling a already running worker. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 46cd28555ffaa40162290dba203daad0ff6f7abd Merge: da2f0f7 e33e17e Author: Chris Mason <clm@xxxxxx> Date: Sun Aug 9 07:35:33 2015 -0700 Merge branch 'jeffm-discard-4.3' into for-linus-4.3 commit da2f0f74cf7d074e5a8918c8efdf6aba4a989b4a Author: Chris Mason <clm@xxxxxx> Date: Thu Jul 2 13:57:22 2015 -0700 Btrfs: add support for blkio controllers This attaches accounting information to bios as we submit them so the new blkio controllers can throttle on btrfs filesystems. Not much is required, we're just associating bios with blkcgs during clone, calling wbc_init_bio()/wbc_account_io() during writepages submission, and attaching the bios to the current context during direct IO. Finally if we are splitting bios during btrfs_map_bio, this attaches accounting information to the split. The end result is able to throttle nicely on single disk filesystems. A little more work is required for multi-device filesystems. Signed-off-by: Chris Mason <clm@xxxxxx> commit a4027a20c57a2c8779e17a61425737634bb7163d Author: Byongho Lee <bhlee.kernel@xxxxxxxxx> Date: Fri Jul 10 13:10:26 2015 +0900 Btrfs: remove unused mutex from struct 'btrfs_fs_info' The code using 'ordered_extent_flush_mutex' mutex has removed by below commit. - 8d875f95da43c6a8f18f77869f2ef26e9594fecc btrfs: disable strict file flushes for renames and truncates But the mutex still lives in struct 'btrfs_fs_info'. So, this patch removes the mutex from struct 'btrfs_fs_info' and its initialization code. Signed-off-by: Byongho Lee <bhlee.kernel@xxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4a770891d9ddf94df985ca438e78d355b8469247 Author: Omar Sandoval <osandov@xxxxxx> Date: Fri Jun 19 11:52:52 2015 -0700 Btrfs: fix parity scrub of RAID 5/6 with missing device When testing the previous patch, Zhao Lei reported a similar bug when attempting to scrub a degraded RAID 5/6 filesystem with a missing device, leading to NULL pointer dereferences from the RAID 5/6 parity scrubbing code. The first cause was the same as in the previous patch: attempting to call bio_add_page() on a missing block device. To fix this, scrub_extent_for_parity() can just mark the sectors on the missing device as errors instead of attempting to read from it. Additionally, the code uses scrub_remap_extent() to map the extent of the corresponding data stripe, but the extent wasn't already mapped. If scrub_remap_extent() finds a missing block device, it doesn't initialize extent_dev, so we're left with a NULL struct btrfs_device. The solution is to use btrfs_map_block() directly. Reported-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Omar Sandoval <osandov@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 73ff61dbe5edeb1799d7e91c8b0641f87feb75fa Author: Omar Sandoval <osandov@xxxxxx> Date: Fri Jun 19 11:52:51 2015 -0700 Btrfs: fix device replace of a missing RAID 5/6 device The original implementation of device replace on RAID 5/6 seems to have missed support for replacing a missing device. When this is attempted, we end up calling bio_add_page() on a bio with a NULL ->bi_bdev, which crashes when we try to dereference it. This happens because btrfs_map_block() has no choice but to return us the missing device because RAID 5/6 don't have any alternate mirrors to read from, and a missing device has a NULL bdev. The idea implemented here is to handle the missing device case separately, which better only happen when we're replacing a missing RAID 5/6 device. We use the new BTRFS_RBIO_REBUILD_MISSING operation to reconstruct the data from parity, check it with scrub_recheck_block_checksum(), and write it out with scrub_write_block_to_dev_replace(). Reported-by: Philip <bugzilla@xxxxxxxxxxxxxxxx> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=96141 Signed-off-by: Omar Sandoval <osandov@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b4ee1782686d5b7a97826d67fdeaefaedbca23ce Author: Omar Sandoval <osandov@xxxxxx> Date: Fri Jun 19 11:52:50 2015 -0700 Btrfs: add RAID 5/6 BTRFS_RBIO_REBUILD_MISSING operation The current RAID 5/6 recovery code isn't quite prepared to handle missing devices. In particular, it expects a bio that we previously attempted to use in the read path, meaning that it has valid pages allocated. However, missing devices have a NULL blkdev, and we can't call bio_add_page() on a bio with a NULL blkdev. We could do manual manipulation of bio->bi_io_vec, but that's pretty gross. So instead, add a separate path that allows us to manually add pages to the rbio. Signed-off-by: Omar Sandoval <osandov@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7cb2c4202ed5730ecbf13c5d34c2cadff4cbe88f Author: Omar Sandoval <osandov@xxxxxx> Date: Fri Jun 19 11:52:49 2015 -0700 Btrfs: count devices correctly in readahead during RAID 5/6 replace Commit 5fbc7c59fd22 ("Btrfs: fix unfinished readahead thread for raid5/6 degraded mounting") fixed a problem where we would skip a missing device when we shouldn't have because there are no other mirrors to read from in RAID 5/6. After commit 2c8cdd6ee4e7 ("Btrfs, replace: write dirty pages into the replace target device"), the fix doesn't work when we're doing a missing device replace on RAID 5/6 because the replace device is counted as a mirror so we're tricked into thinking we can safely skip the missing device. The fix is to count only the real stripes and decide based on that. Signed-off-by: Omar Sandoval <osandov@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 03679ade86b2b1c370c8790f1ffcbcdef6d49f9f Author: Omar Sandoval <osandov@xxxxxx> Date: Fri Jun 19 11:52:48 2015 -0700 Btrfs: remove misleading handling of missing device scrub scrub_submit() claims that it can handle a bio with a NULL block device, but this is misleading, as calling bio_add_page() on a bio with a NULL ->bi_bdev would've already crashed. Delete this, as we're about to properly handle a missing block device. Signed-off-by: Omar Sandoval <osandov@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 293a8489f300536dc6d996c35a6ebb89aa03bab2 Author: Mark Fasheh <mfasheh@xxxxxxx> Date: Tue Jun 30 14:42:06 2015 -0700 btrfs: fix clone / extent-same deadlocks Clone and extent same lock their source and target inodes in opposite order. In addition to this, the range locking in clone doesn't take ordering into account. Fix this by having clone use the same locking helpers as btrfs-extent-same. In addition, I do a small cleanup of the locking helpers, removing a case (both inodes being the same) which was poorly accounted for and never actually used by the callers. Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4a3560c4f3f0f92d3b673944753e3e947e030bc4 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Fri Aug 7 16:48:41 2015 +0800 Btrfs: fix defrag to merge tail file extent The file layout is [extent 1]...[extent n][4k extent][HOLE][extent x] extent 1~n and 4k extent can be merged during defrag, and the whole defrag bytes is larger than our defrag thresh(256k), 4k extent as a tail is left unmerged since we check if its next extent can be merged (the next one is a hole, so the check will fail), the layout thus can be [new extent][4k extent][HOLE][extent x] (1~n) To fix it, beside looking at the next one, this also looks at the previous one by checking @defrag_end, which is set to 0 when we decide to stop merging contiguous extents, otherwise, we can merge the previous one with our extent. Also, this makes btrfs behave consistent with how xfs and ext4 do. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit acdf898de8903f50bb10bbce4b774432bcd63c85 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Jul 28 18:03:30 2015 +0800 Btrfs: fix warning in backref walking When we do backref walking, we search firstly in queued delayed refs and then the on-disk backrefs, but we parse differently for shared references, for delayed refs we also add 'ref->root' while for on-disk backrefs we don't, this can prevent us from merging refs indexed by the same bytenr and cause find_parent_nodes() to throw a warning at 'WARN_ON(ref->count < 0)', for example, when we have a shared data extent with 'ref_cnt=1' and a delayed shared data with a BTRFS_DROP_DELAYED_REF, that happens. For shared references, no matter if it's delayed or on-disk, ref->root is not at all used, instead it's ref->parent that really matters, so this has delayed refs handled as the same way as on-disk refs. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 166f66d0bc94a14ec4bc6ee6ab079532df4a8d9e Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Aug 6 22:39:36 2015 +0800 btrfs: Add WARN_ON() for double lock in btrfs_tree_lock() When a task trying to double lock a extent buffer, there are no lockdep warning about it because this lock may be in "blocking_lock" state, and make us hard to debug. This patch add a WARN_ON() for above condition, it can not report all deadlock cases(as lock between tasks), but at least helps us some. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 9ed0dea09fc5e8cb1926c15fc986a46a2db43da6 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Aug 6 22:16:24 2015 +0800 btrfs: Remove root argument in extent_data_ref_count() Because it is never used. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d02207512df120a37a8f1e50a5f90c555266282c Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Aug 6 22:16:23 2015 +0800 btrfs: Fix wrong comment of btrfs_alloc_tree_block() These wrong comment was copyed from another function(expired) from init, this patch fixed them. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 93314e3b64fd2e77237fdba7cfcc0d38dcd05579 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Aug 6 21:56:58 2015 +0800 btrfs: abort transaction on btrfs_reloc_cow_block() When btrfs_reloc_cow_block() failed in __btrfs_cow_block(), current code just return a err-value to caller, but leave new_created extent buffer exist and locked. Then subsequent code (in relocate) try to lock above eb again, and caused deadlock without any dmesg. (eb lock use wait_event(), so no lockdep message) It is hard to do recover work in __btrfs_cow_block() at this error point, but we can abort transaction to avoid deadlock and operate on unstable state.a It also helps developer to find wrong place quickly. (better than a frozen fs without any dmesg before patch) Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 147d256e0980e31505d25d721be979d6a8d2148c Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Aug 6 20:58:11 2015 +0800 btrfs: Remove unnecessary variants in relocation.c These arguments are not used in functions, remove them for cleanup and make kernel stack happy. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dc2ee4e244138124a05cdc39365b38d4cc77e3fa Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 18:00:04 2015 +0800 btrfs: Cleanup: Remove chunk_objectid argument from btrfs_relocate_chunk() Remove chunk_objectid argument from btrfs_relocate_chunk() because it is not necessary, it can also cleanup some code in caller for prepare its value. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4624900dd353488479a12abf8dffe2c1786cdb89 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 18:00:03 2015 +0800 btrfs: Cleanup: Remove objectid's init-value in create_reloc_inode() objectid's init-value is not used in any case, remove it. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4b3576e450a1539492e26e2d7b1e2e69578c032e Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 18:00:02 2015 +0800 btrfs: Error handle for get_ref_objectid_v0() in relocate_block_group() We need error checking code for get_ref_objectid_v0() in relocate_block_group(), to avoid unpredictable result, especially for accessing uninitialized value(when function failed) after this line. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 55e3a601c81cdca4497bf855fa4d331f8e830744 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 16:43:30 2015 +0800 btrfs: Fix data checksum error cause by replace with io-load. xfstests btrfs/070 sometimes failed. In my test machine, its fail rate is about 30%. In another vm(vmware), its fail rate is about 50%. Reason: btrfs/070 do replace and defrag with fsstress simultaneously, after above operation, checksum error is found by scrub. Actually, it have no relationship with defrag operation, only replace with fsstress can trigger this bug. New data writen to target device have possibility rewrited by old data from source device by replace code in debug, to avoid above problem, we can set target block group to readonly in replace period, so new data requested by other operation will not write to same place with replace code. Before patch(4.1-rc3): 30% failed in 100 xfstests. After patch: 0% failed in 300 xfstests. It also happened in btrfs/071 as it's another scrub with IO load tests. Reported-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b708ce969af3ceadca18aac5bffe48fe977473b1 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 16:43:29 2015 +0800 btrfs: use scrub_pause_on/off() to reduce code in scrub_enumerate_chunks() Use new intruduced scrub_pause_on/off() can make this code block clean and more readable. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0e22be890ef385de6816ec87a8a41c0b0f4a7a23 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 16:43:28 2015 +0800 btrfs: Separate scrub_blocked_if_needed() to scrub_pause_on/off() It can reduce current duplicated code which is similar to scrub_blocked_if_needed() but can not call it because little different. It also used by my next patch which is in same case. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 868f401ae38acb439005626c04d575e64c5ae760 Author: Zhaolei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 5 16:43:27 2015 +0800 btrfs: Use ref_cnt for set_block_group_ro() More than one code call set_block_group_ro() and restore rw in fail. Old code use bool bit to save blockgroup's ro state, it can not support parallel case(it is confirmd exist in my debug log). This patch use ref count to store ro state, and rename set_block_group_ro/set_block_group_rw to inc_block_group_ro/dec_block_group_ro. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d7cad2389560f3249435ac928bc13e9408ae467e Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Jul 22 13:14:48 2015 +0800 btrfs: Bypass unrelated items before accessing its contents in scrub When we access extent_root in scrub_stripe() and scrub_raid56_parity(), we need bypass unrelated tree item firstly before using its contents to do other condition. It is not a bug fix, only making code sequence in logic. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit fe8cf654b1ccf7f0b49cc0de9e6ad8a56529e384 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Jul 22 13:14:47 2015 +0800 btrfs: Load only necessary csums into list in scrub We need not load csum of whole strip in scrub because strip is trimed before use, it is to say, what we really need to calculate csum is data between [extent_logical, extent_len). This patch changed to use above segment for btrfs_lookup_csums_range() in scrub_stripe() Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a0dd59de3c73fbb3b738eaf333732f2f27254a2c Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:42:26 2015 +0800 btrfs: Fix calculate typo caused by ambiguous meaning of logic_end For example, in scrub_raid56_parity(), following lines are used to judge is all data processed: place1: if (key.objectid > logic_end) ... place2: if (logic_start >= logic_end) ... ... (place2 is typo, is should be ">", it is copied from other place, where logic_end's meaning is different, long story...) We can fix above typo directly, but the root reason is ambiguous meaning of logic_end in scrub raid56 parity. In other place, XXX_end is pointed to data which is not included, and we need to process segment of [XXX_start, XXX_end). But for scrub raid56 parity, logic_end is pointed to lattest data need to process, and introduced many "+ 1" and "- 1" in code as below: length = sparity->logic_end - sparity->logic_start + 1 logic_end - logic_start + 1 stripe_logical + increment - 1 This patch changed logic_end's meaning to make it in normal understanding in raid56 parity functions and data struct alone with above bugfix. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 6fa96d72f79a15579da2bb63c65cafb210915b48 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Jul 21 12:22:30 2015 +0800 btrfs: Free checksum list on scrub_extent() fail When scrub_extent() failed, we need to free previois created checksum list. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f2f66a2f886383fb76aca8ecc1bcc116c5d1f6fe Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Jul 21 12:22:29 2015 +0800 btrfs: Check cancel and pause in interval of scrub operation Old code checking cancel and pause request inside scrub stripe operation, like: loop() { if (parity) { scrub_parity_stripe(); continue; } check_cancel_and_pause() scrub_normal_stripe(); } Reason is when introduce raid56 stripe scrub, new code is inserted simplely to front of loop. Better to: loop() { check_cancel_and_pause() if (parity) scrub_parity_stripe(); else scrub_normal_stripe(); } This patch adjusted code place to realize above sequence. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 78fa177029802f7f10953d357067171f39a79b81 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Jul 20 17:54:50 2015 +0800 btrfs: Show detail information when mount failed on missing devices When mount failed because missing device, we can see following dmesg: [ 1060.267743] BTRFS: too many missing devices, writeable mount is not allowed [ 1060.273158] BTRFS: open_ctree failed This patch add missing_device_number and tolerated_missing_device_number to above output, to let user know what really happened, and helps bug-report and debug. dmesg after patch: [ 127.050367] BTRFS: missing devices(1) exceeds the limit(0), writeable mount is not allowed [ 127.056099] BTRFS: open_ctree failed Changelog v1->v2: 1: Changed to more clear description, suggested-by: Anand Jain <anand.jain@xxxxxxxxxx> Suggested-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Reviewed-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a323e8139c3617b2bf975317725d0fd962886d06 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Jul 23 12:29:49 2015 +0800 btrfs: Fix scrub panic when leaf crosses stripes Scrub panic in following operation: mkfs.ext4 /dev/vdh btrfs-convert /dev/vdh mount /dev/vdh /mnt/tmp1 btrfs scrub start -B /dev/vdh (panic) Reason: 1: In some case, leaf created by btrfs-convert was splited into 2 strips. 2: Scrub bypassed part of above wrong leaf data, but remain data caused panic in scrub_checksum_tree_block(). For reason 1: we can get following information after some simple operation. a. mkfs.ext4 /dev/vdh btrfs-convert /dev/vdh b. btrfs-debug-tree /dev/vdh we can see following item in extent tree: item 25 key (27054080 METADATA_ITEM 0) itemoff 15083 itemsize 33 Its logical address is [27054080, 27070464) and acrossed 2 strips: [27000832, 27066368) [27066368, 27131904) Will be fixed in btrfs-progs(btrfs-convert, btrfsck, ...) For reason 2: Scrub is trying to do a "bypass" in this case, but the result is "panic", because current code lacks of some condition in bypass, and let some wrong leaf data escaped. This patch fixed above scrub code. Before patch: # btrfs scrub start -B /dev/vdh (panic) After patch: # btrfs scrub start -B /dev/vdh scrub done for 353cec8f-da31-4a94-aa35-be72d997b06e ... # dmesg ... [ 59.088697] BTRFS error (device vdh): scrub: tree block 27054080 spanning stripes, ignored. logical=27000832 [ 59.089929] BTRFS error (device vdh): scrub: tree block 27054080 spanning stripes, ignored. logical=27066368 # Reported-by: Chris Murphy <lists@xxxxxxxxxxxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 18aa09229741364280d0a1670597b5207fc05b8d Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Aug 5 16:49:08 2015 +0100 Btrfs: fix stale dir entries after removing a link and fsync We have one more case where after a log tree is replayed we get inconsistent metadata leading to stale directory entries, due to some directories having entries pointing to some inode while the inode does not have a matching BTRFS_INODE_[REF|EXTREF]_KEY item. To trigger the problem we need to have a file with multiple hard links belonging to different parent directories. Then if one of those hard links is removed and we fsync the file using one of its other links that belongs to a different parent directory, we end up not logging the fact that the removed hard link doesn't exists anymore in the parent directory. Simple reproducer: seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { _cleanup_flakey rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter . ./common/dmflakey # real QA test starts here _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch _require_dm_flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _init_flakey _mount_flakey # Create our test directory and file. mkdir $SCRATCH_MNT/testdir touch $SCRATCH_MNT/foo ln $SCRATCH_MNT/foo $SCRATCH_MNT/testdir/foo2 ln $SCRATCH_MNT/foo $SCRATCH_MNT/testdir/foo3 # Make sure everything done so far is durably persisted. sync # Now we remove one of our file's hardlinks in the directory testdir. unlink $SCRATCH_MNT/testdir/foo3 # We now fsync our file using the "foo" link, which has a parent that # is not the directory "testdir". $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foo # Silently drop all writes and unmount to simulate a crash/power # failure. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey # Allow writes again, mount to trigger journal/log replay. _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey # After the journal/log is replayed we expect to not see the "foo3" # link anymore and we should be able to remove all names in the # directory "testdir" and then remove it (no stale directory entries # left after the journal/log replay). echo "Entries in testdir:" ls -1 $SCRATCH_MNT/testdir rm -f $SCRATCH_MNT/testdir/* rmdir $SCRATCH_MNT/testdir _unmount_flakey status=0 exit The test fails with: $ ./check generic/107 FSTYP -- btrfs PLATFORM -- Linux/x86_64 debian3 4.1.0-rc6-btrfs-next-11+ MKFS_OPTIONS -- /dev/sdc MOUNT_OPTIONS -- /dev/sdc /home/fdmanana/btrfs-tests/scratch_1 generic/107 3s ... - output mismatch (see .../results/generic/107.out.bad) --- tests/generic/107.out 2015-08-01 01:39:45.807462161 +0100 +++ /home/fdmanana/git/hub/xfstests/results//generic/107.out.bad @@ -1,3 +1,5 @@ QA output created by 107 Entries in testdir: foo2 +foo3 +rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/testdir': Directory not empty ... _check_btrfs_filesystem: filesystem on /dev/sdc is inconsistent \ (see /home/fdmanana/git/hub/xfstests/results//generic/107.full) _check_dmesg: something found in dmesg (see .../results/generic/107.dmesg) Ran: generic/107 Failures: generic/107 Failed 1 of 1 tests $ cat /home/fdmanana/git/hub/xfstests/results//generic/107.full (...) checking fs roots root 5 inode 257 errors 200, dir isize wrong unresolved ref dir 257 index 3 namelen 4 name foo3 filetype 1 errors 5, no dir item, no inode ref (...) And produces the following warning in dmesg: [127298.759064] BTRFS info (device dm-0): failed to delete reference to foo3, inode 258 parent 257 [127298.762081] ------------[ cut here ]------------ [127298.763311] WARNING: CPU: 10 PID: 7891 at fs/btrfs/inode.c:3956 __btrfs_unlink_inode+0x182/0x35a [btrfs]() [127298.767327] BTRFS: Transaction aborted (error -2) (...) [127298.788611] Call Trace: [127298.789137] [<ffffffff8145f077>] dump_stack+0x4f/0x7b [127298.790090] [<ffffffff81095de5>] ? console_unlock+0x356/0x3a2 [127298.791157] [<ffffffff8104b3b0>] warn_slowpath_common+0xa1/0xbb [127298.792323] [<ffffffffa065ad09>] ? __btrfs_unlink_inode+0x182/0x35a [btrfs] [127298.793633] [<ffffffff8104b410>] warn_slowpath_fmt+0x46/0x48 [127298.794699] [<ffffffffa065ad09>] __btrfs_unlink_inode+0x182/0x35a [btrfs] [127298.797640] [<ffffffffa065be8f>] btrfs_unlink_inode+0x1e/0x40 [btrfs] [127298.798876] [<ffffffffa065bf11>] btrfs_unlink+0x60/0x9b [btrfs] [127298.800154] [<ffffffff8116fb48>] vfs_unlink+0x9c/0xed [127298.801303] [<ffffffff81173481>] do_unlinkat+0x12b/0x1fb [127298.802450] [<ffffffff81253855>] ? lockdep_sys_exit_thunk+0x12/0x14 [127298.803797] [<ffffffff81174056>] SyS_unlinkat+0x29/0x2b [127298.805017] [<ffffffff81465197>] system_call_fastpath+0x12/0x6f [127298.806310] ---[ end trace bbfddacb7aaada7b ]--- [127298.807325] BTRFS warning (device dm-0): __btrfs_unlink_inode:3956: Aborting unused transaction(No such entry). So fix this by logging all parent inodes, current and old ones, to make sure we do not get stale entries after log replay. This is not a simple solution such as triggering a full transaction commit because it would imply full transaction commit when an inode is fsynced in the same transaction that modified it and reloaded it after eviction (because its last_unlink_trans is set to the same value as its last_trans as of the commit with the title "Btrfs: fix stale dir entries after unlink, inode eviction and fsync"), and it would also make fstest generic/066 fail since one of the fsyncs triggers a full commit and the next fsync will not find the inode in the log anymore (therefore not removing the xattr). Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dd81d459a37d73cfa39896bd070e7b92e66e3628 Author: Naohiro Aota <naota@xxxxxxxxx> Date: Tue Jun 30 11:25:43 2015 +0900 btrfs: fix search key advancing condition The search key advancing condition used in copy_to_sk() is loose. It can advance the key even if it reaches sk->max_*: e.g. when the max key = (512, 1024, -1) and the current key = (512, 1025, 10), it increments the offset by 1, continues hopeless search from (512, 1025, 11). This issue make ioctl() to take unexpectedly long time scanning all the leaf a blocks one by one. This commit fix the problem using standard way of key comparison: btrfs_comp_cpu_keys() Signed-off-by: Naohiro Aota <naota@xxxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d6589101b67a55107652050dfbf414403a93e351 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Jul 29 17:21:17 2015 +0100 Btrfs: teach backref walking about backrefs with underflowed offset values When cloning/deduplicating file extents (through the clone and extent_same ioctls) we can get data back references with offset values that are a result of an unsigned integer arithmetic underflow, that is, values that are much larger then they could be otherwise. This is not a problem when decrementing or dropping the back references (happens when we overwrite the extents or punch a hole for example, through __btrfs_drop_extents()), since we compute the same too large offset value, but it is a problem for the backref walking code, used by an incremental send and the ioctls that are used by the btrfs tool "inspect-internal" commands, as it makes it miss the corresponding file extent items because the search key is set for an extent item that starts at an offset matching the exceptionally large offset value of the data back reference. For an incremental send this causes the send ioctl to fail with -EIO. So teach the backref walking code to deal with these cases by setting the search key's offset to 0 if the backref's offset value is larger than LLONG_MAX (the largest possible file offset). This makes sure the backref walking code finds the corresponding file extent items at the expense of scanning more items and leafs in the btree. Fixing the clone/dedup ioctls to not produce such underflowed results would require major changes breaking backward compatibility, updating user space tools, etc. Simple reproducer case for fstests: seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { rm -fr $send_files_dir rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter # real QA test starts here _supported_fs btrfs _supported_os Linux _require_scratch _require_cloner _need_to_be_root send_files_dir=$TEST_DIR/btrfs-test-$seq rm -f $seqres.full rm -fr $send_files_dir mkdir $send_files_dir _scratch_mkfs >>$seqres.full 2>&1 _scratch_mount # Create our test file with a single extent of 64K starting at file # offset 128K. $XFS_IO_PROG -f -c "pwrite -S 0xaa 128K 64K" $SCRATCH_MNT/foo \ | _filter_xfs_io _run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \ $SCRATCH_MNT/mysnap1 # Now clone parts of the original extent into lower offsets of the file. # # The first clone operation adds a file extent item to file offset 0 # that points to our initial extent with a data offset of 16K. The # corresponding data back reference in the extent tree has an offset of # 18446744073709535232, which is the result of file_offset - data_offset # = 0 - 16K. # # The second clone operation adds a file extent item to file offset 16K # that points to our initial extent with a data offset of 48K. The # corresponding data back reference in the extent tree has an offset of # 18446744073709518848, which is the result of file_offset - data_offset # = 16K - 48K. # # Those large back reference offsets (result of unsigned arithmetic # underflow) confused the back reference walking code (used by an # incremental send and the multiple inspect-internal ioctls) and made it # miss the back references, which for the case of an incremental send it # made it fail with -EIO and print a message like the following to # dmesg: # # "BTRFS error (device sdc): did not find backref in send_root. \ # inode=257, offset=0, disk_byte=12845056 found extent=12845056" # $CLONER_PROG -s $(((128 + 16) * 1024)) -d 0 -l $((16 * 1024)) \ $SCRATCH_MNT/foo $SCRATCH_MNT/foo $CLONER_PROG -s $(((128 + 48) * 1024)) -d $((16 * 1024)) \ -l $((16 * 1024)) $SCRATCH_MNT/foo $SCRATCH_MNT/foo _run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \ $SCRATCH_MNT/mysnap2 _run_btrfs_util_prog send $SCRATCH_MNT/mysnap1 -f $send_files_dir/1.snap _run_btrfs_util_prog send -p $SCRATCH_MNT/mysnap1 $SCRATCH_MNT/mysnap2 \ -f $send_files_dir/2.snap echo "File digest in the original filesystem:" md5sum $SCRATCH_MNT/mysnap2/foo | _filter_scratch # Now recreate the filesystem by receiving both send streams and verify # we get the same file contents that the original filesystem had. _scratch_unmount _scratch_mkfs >>$seqres.full 2>&1 _scratch_mount _run_btrfs_util_prog receive $SCRATCH_MNT -f $send_files_dir/1.snap _run_btrfs_util_prog receive $SCRATCH_MNT -f $send_files_dir/2.snap echo "File digest in the new filesystem:" md5sum $SCRATCH_MNT/mysnap2/foo | _filter_scratch status=0 exit The test's expected golden output is: wrote 65536/65536 bytes at offset 131072 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) File digest in the original filesystem: 6c6079335cff141b8a31233ead04cbff SCRATCH_MNT/mysnap2/foo File digest in the new filesystem: 6c6079335cff141b8a31233ead04cbff SCRATCH_MNT/mysnap2/foo But it failed with: (...) @@ -1,7 +1,5 @@ QA output created by 097 wrote 65536/65536 bytes at offset 131072 XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -File digest in the original filesystem: -6c6079335cff141b8a31233ead04cbff SCRATCH_MNT/mysnap2/foo -File digest in the new filesystem: -6c6079335cff141b8a31233ead04cbff SCRATCH_MNT/mysnap2/foo ... $ cat /home/fdmanana/git/hub/xfstests/results//btrfs/097.full (...) ERROR: send ioctl failed with -5: Input/output error Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit bde6c242027b0f1d697d5333950b3a05761d40e4 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Jul 24 00:00:19 2015 +0100 Btrfs: fix stale dir entries after unlink, inode eviction and fsync If we remove a hard link from an inode, the inode gets evicted, then we fsync the inode and then power fail/crash, when the log tree is replayed, the parent directory inode still has entries pointing to the name that no longer exists, while our inode no longer has the BTRFS_INODE_REF_KEY item matching the deleted hard link (as expected), leaving the filesystem in an inconsistent state. The stale directory entries can not be deleted (an attempt to delete them causes -ESTALE errors), which makes it impossible to delete the parent directory. This happens because we track the id of the transaction where the last unlink operation for the inode happened (last_unlink_trans) in an in-memory only field of the inode, that is, a value that is never persisted in the inode item stored on the fs/subvol btree. So if an inode is evicted and loaded again, the value for last_unlink_trans is set to 0, which prevents the fsync from logging the parent directory at btrfs_log_inode_parent(). So fix this by setting last_unlink_trans to the id of the transaction that last modified the inode when we load the inode. This is a pessimistic approach but it always ensures correctness with the trade off of ocassional full transaction commits when an fsync is done against the inode in the same transaction where it was evicted and reloaded when our inode is a directory and often logging its parent unnecessarily when our inode is not a directory. The following test case for fstests triggers the problem: seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { _cleanup_flakey rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter . ./common/dmflakey # real QA test starts here _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch _require_dm_flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _init_flakey _mount_flakey # Create our test file with 2 hard links. mkdir $SCRATCH_MNT/testdir touch $SCRATCH_MNT/testdir/foo ln $SCRATCH_MNT/testdir/foo $SCRATCH_MNT/testdir/bar # Make sure everything done so far is durably persisted. sync # Now remove one of the links, trigger inode eviction and then fsync # our inode. unlink $SCRATCH_MNT/testdir/bar echo 2 > /proc/sys/vm/drop_caches $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/testdir/foo # Silently drop all writes on our scratch device to simulate a power failure. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey # Allow writes again and mount the fs to trigger log/journal replay. _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey # Now verify our directory entries. echo "Entries in testdir:" ls -1 $SCRATCH_MNT/testdir # If we remove our inode, its parent should become empty and therefore we should # be able to remove the parent. rm -f $SCRATCH_MNT/testdir/* rmdir $SCRATCH_MNT/testdir _unmount_flakey # The fstests framework will call fsck against our filesystem which will verify # that all metadata is in a consistent state. status=0 exit The test failed on btrfs with: generic/098 4s ... - output mismatch (see /home/fdmanana/git/hub/xfstests/results//generic/098.out.bad) --- tests/generic/098.out 2015-07-23 18:01:12.616175932 +0100 +++ /home/fdmanana/git/hub/xfstests/results//generic/098.out.bad 2015-07-23 18:04:58.924138308 +0100 @@ -1,3 +1,6 @@ QA output created by 098 Entries in testdir: +bar foo +rm: cannot remove '/home/fdmanana/btrfs-tests/scratch_1/testdir/foo': Stale file handle +rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/testdir': Directory not empty ... (Run 'diff -u tests/generic/098.out /home/fdmanana/git/hub/xfstests/results//generic/098.out.bad' to see the entire diff) _check_btrfs_filesystem: filesystem on /dev/sdc is inconsistent (see /home/fdmanana/git/hub/xfstests/results//generic/098.full) $ cat /home/fdmanana/git/hub/xfstests/results//generic/098.full (...) checking fs roots root 5 inode 258 errors 2001, no inode item, link count wrong unresolved ref dir 257 index 0 namelen 3 name foo filetype 1 errors 6, no dir index, no inode ref unresolved ref dir 257 index 3 namelen 3 name bar filetype 1 errors 5, no dir item, no inode ref Checking filesystem on /dev/sdc (...) Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit bb53eda9029fd52b466fa501ba4aa58e94789b18 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Jul 15 23:26:43 2015 +0100 Btrfs: fix stale directory entries after fsync log replay We have another case where after an fsync log replay we get an inode with a wrong link count (smaller than it should be) and a number of directory entries greater than its link count. This happens when we add a new link hard link to our inode A and then we fsync some other inode B that has the side effect of logging the parent directory inode too. In this case at log replay time we add the new hard link to our inode (the item with key BTRFS_INODE_REF_KEY) when processing the parent directory but we never adjust the link count of our inode A. As a result we get stale dir entries for our inode A that can never be deleted and therefore it makes it impossible to remove the parent directory (as its i_size can never decrease back to 0). A simple reproducer for fstests that triggers this issue: seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { _cleanup_flakey rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter . ./common/dmflakey # real QA test starts here _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch _require_dm_flakey _require_metadata_journaling $SCRATCH_DEV rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _init_flakey _mount_flakey # Create our test directory and files. mkdir $SCRATCH_MNT/testdir touch $SCRATCH_MNT/testdir/foo touch $SCRATCH_MNT/testdir/bar # Make sure everything done so far is durably persisted. sync # Create one hard link for file foo and another one for file bar. After # that fsync only the file bar. ln $SCRATCH_MNT/testdir/bar $SCRATCH_MNT/testdir/bar_link ln $SCRATCH_MNT/testdir/foo $SCRATCH_MNT/testdir/foo_link $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/testdir/bar # Silently drop all writes on scratch device to simulate power failure. _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey # Allow writes again and mount the fs to trigger log/journal replay. _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey # Now verify both our files have a link count of 2. echo "Link count for file foo: $(stat --format=%h $SCRATCH_MNT/testdir/foo)" echo "Link count for file bar: $(stat --format=%h $SCRATCH_MNT/testdir/bar)" # We should be able to remove all the links of our files in testdir, and # after that the parent directory should become empty and therefore # possible to remove it. rm -f $SCRATCH_MNT/testdir/* rmdir $SCRATCH_MNT/testdir _unmount_flakey # The fstests framework will call fsck against our filesystem which will verify # that all metadata is in a consistent state. status=0 exit The test fails with: -Link count for file foo: 2 +Link count for file foo: 1 Link count for file bar: 2 +rm: cannot remove '/home/fdmanana/btrfs-tests/scratch_1/testdir/foo_link': Stale file handle +rmdir: failed to remove '/home/fdmanana/btrfs-tests/scratch_1/testdir': Directory not empty (...) _check_btrfs_filesystem: filesystem on /dev/sdc is inconsistent And fsck's output: (...) checking fs roots root 5 inode 258 errors 2001, no inode item, link count wrong unresolved ref dir 257 index 5 namelen 8 name foo_link filetype 1 errors 4, no inode ref Checking filesystem on /dev/sdc (...) So fix this by marking inodes for link count fixup at log replay time whenever a directory entry is replayed if the entry was created in the transaction where the fsync was made and if it points to a non-directory inode. This isn't a new problem/regression, the issue exists for a long time, possibly since the log tree feature was added (2008). Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b963e7223cb3278dda35a6550a8df08ff2be2ee5 Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Sat Aug 8 20:43:25 2015 +0200 Staging: lustre/lustre/ptlrpc: service.c: Fixed issue with global integer being initialized to 0 Fixed global integer initialization issue. Global variables should not be explicitly initialized to 0 or NULL. Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 550d35d816da2ad141cf05f176118df6f2c75cdb Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Sat Aug 8 20:34:59 2015 +0200 Staging: lustre/lnet/selftest: framework.c: Fixed coding style issues Fixed coding style issues where statement should be on the next line Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c915aadb5d5ffddfd59170931873a5b102aa7d31 Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Sat Aug 8 20:00:07 2015 +0200 Staging: wilc1000: wilc_platform.h: Fixed include guard spelling error Fixed spelling error Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78174adaf59e85274bb3dde5c5084619ed06020b Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Sat Aug 8 17:41:36 2015 +0530 staging: wilc1000: Remove braces for single statement 'if' and 'else' Fixes the checkpatch.pl warning - braces {} are not necessary for any arm of this statement Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17aacd43c8d4e733d77f093a18de9d8d2b115407 Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Sat Aug 8 17:41:35 2015 +0530 staging: wilc1000: Remove ' ' before quoted '\n' Fixes the checkpatch.pl warning - 'unnecessary whitespace before a quoted newline'. Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bff1fe8c9dbb1a35d3129caaea9e91d4368b36a Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Sat Aug 8 17:41:34 2015 +0530 staging: wilc1000: Remove unused extern declarations 'extern' declarations which are not referenced within the file are removed. Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2b4041ab6ec8b6f07d2da2c993b003dd39f0868 Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Sat Aug 8 17:41:33 2015 +0530 staging: wilc1000: Add space between the braces Inserted space between nested braces. This fixes the checkpatch.pl error - space required after that close brace '}'. Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e34d70a7163b236f520ef4fc0d7c50093dd3746 Author: Tal Shorer <tal.shorer@xxxxxxxxx> Date: Fri Aug 7 22:35:51 2015 +0300 usb: hcd.h: Fix the values of SetHubDepth and GetPortErrorCount to match USB 3.1 specification >From the usb 3.1 spec available at http://www.usb.org/developers/docs/ table 10-7 (Hub Class Requests) specifies the values for SetHubDepth and GetPortErrorCount as: Request bmRequestType bRequest wValue wIndex wLength Data SetHubDepth 00100000B SET_HUB_DEPTH Hub Depth Zero Zero None GetPortErrorCount 10100011B GET_PORT_ERR_COUNT Zero Port Two Number of Link Errors on this port Fix these two values to match the spec. Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 166b8639f52ebeec1bfbe966239530a83040c428 Author: Chase Metzger <chasemetzger15@xxxxxxxxx> Date: Sat Aug 8 01:03:34 2015 -0700 usb: core: hub.c: Removed some warnings generated by checkpatch.pl Removed some checkpatch.pl warnings saying there was an unwanted space between function names and their arguments. Signed-off-by: Chase Metzger <chasemetzger15@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f355e830a54ebe1601613d78a8d5b85eeafde358 Author: Kris Borer <kborer@xxxxxxxxx> Date: Fri Aug 7 07:22:44 2015 -0400 usb: devio: fix spacing Fix two occurrences of the checkpatch.pl error: ERROR: space prohibited before that ',' (ctx:WxW) Fix one occurrence of the checkpatch error: ERROR: space required before the open parenthesis '(' Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40a3b775f49c2784c96b19170fd2478e5e5511a1 Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Thu Aug 6 19:24:01 2015 +0300 xhci: xHCI 1.1: Stopped - Short Packet Capability (SPC) This patch enables xhci driver to support SPC by handling Stopped - Short Packet event in transfer event path. If SPC = '1' and the stop endpoint command is executed, after a Short Packet condition has been detected, but before the end of the TD has been reached, (i.e. the TD is in progress for pipe), then a Transfer Event TRB with its Completion Code set to Stopped - Short Packet and its TRB Transfer Length set to value of the EDTLA shall be forced for the interrupted TRB, irrespective of whether its IOC or ISP flags are set. This Transfer Event TRB will precede the Command Completion Event TRB for the command, and is referred to as a Stopped Transfer Event. Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79b8094f60d8ce54ee76e631ab665c5e3012e6ba Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Thu Aug 6 19:24:00 2015 +0300 xhci: xHCI 1.1: Contiguous Frame ID Capability (CFC) If the Contiguous Frame ID Capability is supported (CFC = 1), then the xHC shall match the Frame ID in every Isoch TD with SIA = 0 against the Frame Index of the MFINDEX register. This rule ensures resynchronization of Isoch TDs even if some are dropped due to Missed Service Errors or Stopping the endpoint. This patch enables xHCI driver to support CFC by calculating and setting the Frame ID field of an Isoch TRB. [made some dbg messages checkpatch friendly -Mathias] Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4758dcd19a7d9ba9610b38fecb93f65f56f86346 Author: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Date: Thu Aug 6 19:23:58 2015 +0300 usb: xhci: Add support for URB_ZERO_PACKET to bulk/sg transfers This commit checks for the URB_ZERO_PACKET flag and creates an extra zero-length td if the urb transfer length is a multiple of the endpoint's max packet length. Signed-off-by: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c05cb145d6716f00d452aeb27916efb6d190cca Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Aug 6 19:23:57 2015 +0300 usb: xhci: make USB_XHCI_PLATFORM selectable Right now xhci-plat-hcd can be built when using one of platform specific drivers only (mvebu/rcar). There shouldn't be such limitation as some platforms may not require any quirks and may want to just use a generic driver ("generic-xhci" / "xhci-hcd"). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95ddd3f4b17e1df20b5e23d7b81614e7c8a643da Author: Joo Aun Saw <jasaw@xxxxxxxxxxx> Date: Sat Jul 25 01:23:29 2015 +1000 tools: iio: remove unnecessary double pointer Remove unnecessary double pointer from channel sorting function. Signed-off-by: Joo Aun Saw <jasaw@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 6b20f40679108e3c04e9bdb3d719e364ec29289e Author: Joo Aun Saw <jasaw@xxxxxxxxxxx> Date: Sat Jul 25 01:23:28 2015 +1000 tools: iio: Set caller's ci_array pointer to NULL after free On error, caller's ci_array is freed and set to NULL to avoid potential double free if some other user of this code is not sufficiently careful. Counter is reset to zero for consistency. Signed-off-by: Joo Aun Saw <jasaw@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bdb25b0af8bd225ddf82083d767fada56fb2c1ae Author: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 15:57:41 2015 +0300 iio: Fix typos in ABI documentation Fix typos in ABI documentation Signed-off-by: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 076a30c411ba2b91a18d44a5a01977035cdd7716 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Aug 6 15:44:52 2015 -0400 perf callchain: Move option parsing code to util.c Move callchain option parse related code to util.c, to avoid dragging more object files into the python binding. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438890294-33409-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d809560b36a7ed31fbaf3719fdf79ddcbd30950b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 7 12:51:03 2015 +0200 perf stat: Move perf_counts struct and functions into separate object Moving 'struct perf_counts' and associated functions into separate object, so we could remove stat.c object dependency from python build. It makes the python code to build properly, because it fails to load due to missing stat-shadow.c object dependency if some patches from Kan Liang are applied. So apply this one, then Kan's. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150807105103.GB8624@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8838cc7f3c584d6aaf56c66577f8a2bfb21081ec Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:52 2015 +0200 iio:accel:mma8452: reorder Kconfig entry Move the entry in Kconfig to its alphabetically correct position. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 686027fbc602e715aae2d1b7987daefc2ff82a8a Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:51 2015 +0200 iio:accel:mma8452: coding style cleanup Some coding style cleanups, mainly indicated by checkpatch.pl, which includes indentation changes, drop spaces after casts and befor tabs. Also insert empty lines after logical blocks and before unconditional returns. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 69abff81d7fa59a0dfca5c72a7f1006f17a06d11 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:50 2015 +0200 iio:accel:mma8452: rework register definitions Rework register definitions to be sorted by register and bit number, with bit definitions cascaded under the appropriate register, use GENMASK for consecutive bitmasks and realign properly. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 11218226184b6b2be5cde4bf16f647dda225d4f3 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:49 2015 +0200 iio:accel:mma8452: check values to be written Check values to be written to the device for valid lower and upper bounds. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b9fddcdb44c2e274193b119dd6c3af3a9324640a Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:48 2015 +0200 iio:accel:mma8452: pass up real error code Pass up the error code provided by functions. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8337455296385b45822dc46c2b25db4c361d734c Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:47 2015 +0200 iio:accel:mma8452: drop double include One inclusion of linux/iio/trigger_consumer.h is sufficient. Fixes: ae6d9ce05691b ("iio: mma8452: Add support for interrupt driven triggers.") Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 001fceb9c64a39aebb85d31134182d39c1628a21 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Aug 2 22:43:46 2015 +0200 iio:accel:mma8452: fix _get_hp_filter_index To iterate through the available frequencies of mma8452_hp_filter_cutoff[], the array size of a row of that table needs to be provided to _get_int_plus_micros_index(). Fixes: 1e79841a00e46 ("iio: mma8452: Add highpass filter configuration.") Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0ad4bf37017621e25fe157fa095fd8849779a873 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Thu Jul 23 17:21:07 2015 +0200 iio:accel:bmc150-accel: Use the chip ID to detect sensor variant Instead of using the I2C or ACPI ID to determine which variant of the chipset to use, determine that from the chip ID. Under Windows, the same driver is used for those variants and, despite incorrect ACPI data, it is able to load and operate the accelerometer. Fixes the accelerometer failing with: bmc150_accel i2c-BMA250E:00: Invalid chip f8 on the WinBook TW100 Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c4eaab798bd459f0c3f8917e74abf1851f3e1cb5 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Thu Jul 23 17:20:59 2015 +0200 iio:accel:bmc150-accel: Move bmc150_accel_chip_init() Move bmc150_accel_chip_init() so that we can use bmc150_accel_chip_info_tbl[] in it. Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ee33ddd2915cca51ce9acb1e5584631b74d92b3c Author: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Date: Wed Aug 5 14:15:12 2015 +0200 staging: iio_simple_dummy: Fix indentation errors Fixing indentation errors in drivers/staging/iio/iio_simple_dummy_events.c. Signed-off-by: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5450c360d4608b70ebd85f4ae2f2ce779a296a93 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:21 2015 +0200 iio: adis16136: Add ADIS16137 support The ADIS16137 is register map compatible to the ADIS16136, but has a different scale factor for the gyroscope output. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 72d9c9869df3149316af6cd70585eee15f643f40 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:20 2015 +0200 iio: adis16400: Add ADIS16445 support The ADIS16445 is similar to the ADIS16448, but without the magnetometer and pressure channels as well as different scale factors for the gyroscope and accelerometer outputs. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit dc8615ce34cf72955f098750eef81a5501c107d1 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:19 2015 +0200 iio: adis16400: Add ADIS16367 support The ADIS16367 is mostly register compatible to the ADIS16360. The only difference is the scale factor for the gyroscope output. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f1afda124badf1cf4b013722d55934536ff0892c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:18 2015 +0200 iio: adis16260: Add ADIS16266 support The ADIS16266 is mostly register compatible to the ADIS16260. The difference is a different gyroscope scale factor as well not having the relative angular displacement channel. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3c386760790e3d3d5cb3ac2f0e09f3710eab7f99 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:17 2015 +0200 iio: adis16400: Add ADIS16305 support The ADIS16305 is fully register map compatible to the ADIS16300. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bd95a89e7a80cb0ee57e9ccd62de0dd80f98a270 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:16 2015 +0200 iio: adis16400: adis16300 has product ID and serial number The ADIS16300 has the product ID and serial number registers, they are just not documented. Set the appropriate flags so the driver makes use of them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7abad1063deb0f77d275c61f58863ec319c58c5c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:15 2015 +0200 iio: adis16480: Fix scale factors The different devices support by the adis16480 driver have slightly different scales for the gyroscope and accelerometer channels. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c689a923c867eac40ed3826c1d9328edea8b6bc7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:14 2015 +0200 iio: Add inverse unit conversion macros Add inverse unit conversion macro to convert from standard IIO units to units that might be used by some devices. Those are useful in combination with scale factors that are specified as IIO_VAL_FRACTIONAL. Typically the denominator for those specifications will contain the maximum raw value the sensor will generate and the numerator the value it maps to in a specific unit. Sometimes datasheets specify those in different units than the standard IIO units (e.g. degree/s instead of rad/s) and so we need to do a unit conversion. From a mathematical point of view it does not make a difference whether we apply the unit conversion to the numerator or the inverse unit conversion to the denominator since (x / y) / z = x / (y * z). But as the denominator is typically a larger value and we are rounding both the numerator and denominator to integer values using the later method gives us a better precision (E.g. the relative error is smaller if we round 8000.3 to 8000 rather than rounding 8.3 to 8). This is where in inverse unit conversion macros will be used. Marked for stable as used by some upcoming fixes. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8166537283b31d7abaae9e56bd48fbbc30cdc579 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 15:38:13 2015 +0200 iio: adis16400: Fix adis16448 gyroscope scale Use the correct scale for the adis16448 gyroscope output. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8e563b0dabcce7cad80af9bb40b220004f411092 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Aug 6 14:56:02 2015 +0300 iio: trigger: Add missing fields in kernel docs Fix kernel docs warnings by adding the missing description for each of the existing function parameters. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 655665d67c8465501a46aa8ffde4e6e29201ba99 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Thu Aug 6 14:17:53 2015 +0300 iio: Documentation: Add trigger name attribute ABI documentation This patch adds an entry in ABI Documentation for the name attribute issued when a trigger is created. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit aab978772a4fbe71d8231cb58d0989737db27a36 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Tue Aug 4 17:20:08 2015 +0300 DocBook: Add initial documentation for IIO This is intended to help developers faster find their way inside the Industrial I/O core and reduce time spent on IIO drivers development. Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Acked-by: Crt Mori <cmo@xxxxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ad30bad3a5474f2585a7f2a35d4705c7f85210f3 Author: Pengyu Ma <pengyu.ma@xxxxxxxxxxxxx> Date: Tue Aug 4 16:32:18 2015 +0800 iio: declare struct to fix warning When compile iio related driver the following warning shown: include/linux/iio/trigger.h:35:34: warning: 'struct iio_trigger' declared inside parameter list int (*set_trigger_state)(struct iio_trigger *trig, bool state); include/linux/iio/trigger.h:38:18: warning: 'struct iio_dev' declared inside parameter list struct iio_dev *indio_dev); 'struct iio_dev' and 'struct iio_trigger' was used before declaration, forward declaration for these structs to fix warning. Signed-off-by: Pengyu Ma <pengyu.ma@xxxxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7a9fbd250ce274a1a625b1e2055abfe26328e46b Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jul 29 23:39:40 2015 +0200 iio:accel:stk8312: drop local buffer Drop the local buffer in stk8312_trigger_handler() and use data->buffer instead for bulk reads. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit dca5d2846514c0f3d95827d291310a403fc0ebb7 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jul 29 23:39:39 2015 +0200 iio:accel:stk8312: code style cleanup Adjust some indentation issues to make checkpatch.pl happy in strict mode. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7d73e02c5d11ac1298b0a363b57d713969c02bbd Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jul 29 23:39:38 2015 +0200 iio:accel:stk8312: use appropriate variable types Adapt some variable types to reduce unnecessary casting. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 03ecd50c50450b3e3173c9dda8adab241b46ae1e Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jul 29 23:39:37 2015 +0200 iio:accel:stk8312: rework macro definitions Make use of BIT to describe register bits, GENMASK for consecutive bitmasks, rename and sort existing definitions, replace magic value with an expressive definition, drop an unused definition. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 18422bb3c1d89b510bb7c590c716dd6ad8e1a1e4 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jul 29 23:39:36 2015 +0200 iio:accel:stk8312: improve error handling Improve error handling in the following ways: - set return value on error condition to an appropriate error code - return error code immediately in case of an error (slightly changes code structure) - pass up real error code - add missing error handling - return 0 when error have been caught already - put device back in active mode after error occurs Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 378abcdf3297613f6712343ce3a79b7d6abdf955 Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Wed Jul 29 20:57:20 2015 +0200 ARM: dts: rockchip: add veyron-minnie board Also known as the Asus Chromebook Flip. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit b21bcfc9fda56bac573367d18ce3e4dbf3cdedf9 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Aug 1 13:00:49 2015 +0200 ARM: dts: rockchip: reserve unusable memory region on rk3288 The all current Rockchip SoCs supporting 4GB of ram have problems accessing the memory region 0xfe000000~0xff000000. This also seems to includes the rk3368 arm64 soc. All current code handling dma memory oddities I could find, seem to involve soc-specific code (zone-dma or so) while this issue is shared between arm32 and arm64 socs from Rockchip, which would need to have this described in the soc devicetree on both socs. Limiting the dma-zone alone also does not solve the issue and as the dma-masks need to be a power-of-two in the kernel, the next lower dma-mask brings memory usable for dma down to 2GB. So as a stop-gap block off the affected region to prevent its use by devices with 4GB of memory, like some recent Chromebooks. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit 67867fc3382911f1c5eba1a35654d8dbdb9cd92a Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Aug 2 22:34:17 2015 +0200 ARM: dts: rockchip: enable usb controller on marsboard This enables the previously disabled usb controllers on the marsboard and makes it possible to for example mount usb mass storage devices. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 760bb9773f26c09f5e54bf0f7adb6644d689557c Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Aug 1 20:28:36 2015 +0200 ARM: dts: rockchip: add usb phys to Cortex-A9 socs This adds the usbphy nodes to rk3066 and rk3188, which share the usb hosts in rk3xxx.dtsi and also enables it on boards based around these socs. The usb-phy itself is the same as used on the rk3288 already. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ec32bd9fcadc26d8a184c9a09ec3fe29e097c175 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Aug 2 22:29:33 2015 +0200 ARM: dts: rockchip: set correct dwc2 params for cortex-a9 socs According to the manual, the fifo sizes are the same as on later socs like the rk3288 and this also fixes an error about "insufficient fifo memory", as it seems the values read from the ip are wrong. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 6b7e26547fad7ace3dcb27a5babd2317fb9d1e12 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Aug 6 14:45:45 2015 -0700 x86/vdso: Emit a GNU hash Some dynamic loaders may be slightly faster if a GNU hash is available. Strangely, this seems to have no effect at all on the vdso size. This is unlikely to have any measurable effect on the time it takes to resolve vdso symbols (since there are so few of them). In some contexts, it can be a win for a different reason: if every DSO has a GNU hash section, then libc can avoid calculating SysV hashes at all. Both musl and glibc appear to have this optimization. It's plausible that this breaks some ancient glibc version. If so, then, depending on what glibc versions break, we could either require COMPAT_VDSO for them or consider reverting. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Isaac Dunham <ibid.ag@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rich Felker <dalias@xxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: musl@xxxxxxxxxxxxxxxxxx <musl@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/fd56cc057a2d62ab31c56a48d04fccb435b3fd4f.1438897382.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1eaef888158dc441dcd00c20779251cfa5e756b3 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Wed Aug 5 10:03:32 2015 -0400 tile: Reorganize _switch_to() Move the simulator bits into finish_arch_post_lock_switch() and properly call __switch_to() from _switch_to(). Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: <efault@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438783412-10990-1-git-send-email-cmetcalf@xxxxxxxxxx [ Made it a delta to: fe363adb9225 ("sched, tile: Remove finish_arch_switch"). ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f1d800bf615b84ca253af372d2dac8cdef743a20 Merge: 1354ac6 9bc898c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Aug 8 10:05:17 2015 +0200 Merge tag 'perf-ebpf-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/ebpf library + llvm/clang infrastructure changes from Arnaldo Carvalho de Melo: Infrastructure changes: - Add library for interfacing with the kernel eBPF infrastructure, with tools/perf/ targeted as a first user. (Wang Nan) - Add llvm/clang infrastructure for building BPF object files from C source code. (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c60232029aee84f69da0e74aa6f6d249edbbc80b Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Sat Jul 18 14:24:58 2015 -0500 powerpc/fsl: Force coherent memory on e500mc derivatives In CoreNet systems it is not allowed to mix M and non-M mappings to the same memory, and coherent DMA accesses are considered to be M mappings for this purpose. Ignoring this has been observed to cause hard lockups in non-SMP kernels on e6500. Furthermore, e6500 implements the LRAT (logical to real address table) which allows KVM guests to control the WIMGE bits. This means that KVM cannot force the M bit on the way it usually does, so the guest had better set it itself. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 0d61f0b3e222b588480e2ad1e85bb2ea57561c4b Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Sat Jul 18 14:24:57 2015 -0500 powerpc/booke64: Move mb() to __set_pte_at() with kernel-addr test map_kernel() doesn't catch all places that create kernel PTEs. In particular, vmalloc() calls set_pte_at() directly. This causes a crash when booting a non-SMP kernel on e6500. Move the sync to __set_pte(), to be executed only for kernel addresses. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit cf184dc2dd33847f4b211b01d8c7ec0526e6c5e4 Author: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Date: Wed May 20 21:17:11 2015 -0500 fsl_ifc: Change IO accessor based on endianness IFC IO accressor are set at run time based on IFC IP registers endianness.IFC node in DTS file contains information about endianness. Signed-off-by: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3fa647bff31fe7b8818a40742506d47d0dc7f8f5 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Jul 24 11:46:33 2015 +0800 powerpc/config: enable aquantia PHY Aquantia PHYs used on platforms such as T2080RDB, T1024RDB. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit b6808fb731b9a39cc2b676576f76df978208eec6 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Jul 24 11:45:33 2015 +0800 powerpc/85xx: enable teranetics PHY The PHY uses XAUI interface to connect to MAC, mostly the PHY used on riser card. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit add888d6b2db1c52a273093f741e449cf9a28342 Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Date: Tue Jul 7 14:17:41 2015 +0800 powerpc/t1023rdb: add ina220 current sensor node Add support for INA220 current sensor. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 4a6b8a4b20e22e0c170ecd785009fadd7d611e0e Author: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Date: Tue Jul 7 14:17:40 2015 +0800 powerpc/t1024rdb: add ina220 current sensor node Add support for INA220 current sensor. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 295ffb41896f566d4bd6f93fc230f5d411d373cb Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:57 2015 +0200 powerpc/32: Few optimisations in memcpy This patch adds a few optimisations in memcpy functions by using lbzu/stbu instead of lxb/stb and by re-ordering insn inside a loop to reduce latency due to loading Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 0b05e2d671c40cfb57e66e4e402320d6e056b2f8 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:55 2015 +0200 powerpc/32: cacheable_memcpy becomes memcpy cacheable_memcpy uses dcbz instruction and is more efficient than memcpy when the destination is in RAM. If the destination is in an io area, memcpy_toio() is normally used, not memcpy This patch renames memcpy as generic_memcpy, and renames cacheable_memcpy as memcpy On MPC885, we get approximatly 7% increase of the transfer rate on an FTP reception Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit c152f149ce8e47bc04061a9e9e5f53e219ee5b95 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:52 2015 +0200 powerpc/32: Merge the new memset() with the old one cacheable_memzero() which has become the new memset() and the old memset() are quite similar, so just merge them. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 5b2a32e806342f237f68435a50e1071f7f32b5c5 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:50 2015 +0200 powerpc/32: memset(0): use cacheable_memzero cacheable_memzero uses dcbz instruction and is more efficient than memset(0) when the destination is in RAM This patch renames memset as generic_memset, and defines memset as a prolog to cacheable_memzero. This prolog checks if the byte to set is 0. If not, it falls back to generic_memcpy() cacheable_memzero disappears as it is not referenced anywhere anymore Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit df087e450d7ddc0b15bd8824206d964720b4f5e4 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:48 2015 +0200 Partially revert "powerpc: Remove duplicate cacheable_memcpy/memzero functions" This partially reverts commit 'powerpc: Remove duplicate cacheable_memcpy/memzero functions ("b05ae4ee602b7dc90771408ccf0972e1b3801a35")' Functions cacheable_memcpy/memzero are more efficient than memcpy/memset as they use the dcbz instruction which avoids refill of the cacheline with the data that we will overwrite. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 934628c7e69dc4481011df2c1db86f6be50dad29 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 12:07:46 2015 +0200 powerpc: use memset_io() to clear CPM Muram CPM muram is not cached, so use memset_io() instead of memset() Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 2f7d2b74a9dd9140053f143e1c94da0fef3c1109 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Apr 15 19:40:23 2015 -0500 powerpc/mm: Don't call __flush_dcache_icache_phys() with PA>VA __flush_dcache_icache_phys() requires the ability to access the memory with the MMU disabled, which means that on a 32-bit system any memory above 4 GiB is inaccessible. In particular, mpc86xx is 32-bit and can have more than 4 GiB of RAM. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 501c8de7b061d2dc0c21a0a79fee3eddf30af8dd Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 17:18:57 2015 +0200 powerpc: add support for csum_add() The C version of csum_add() as defined in include/net/checksum.h gives the following assembly in ppc32: 0: 7c 04 1a 14 add r0,r4,r3 4: 7c 64 00 10 subfc r3,r4,r0 8: 7c 63 19 10 subfe r3,r3,r3 c: 7c 63 00 50 subf r3,r3,r0 and the following in ppc64: 0xc000000000001af8 <+0>: add r3,r3,r4 0xc000000000001afc <+4>: cmplw cr7,r3,r4 0xc000000000001b00 <+8>: mfcr r4 0xc000000000001b04 <+12>: rlwinm r4,r4,29,31,31 0xc000000000001b08 <+16>: add r3,r4,r3 0xc000000000001b0c <+20>: clrldi r3,r3,32 0xc000000000001b10 <+24>: blr include/net/checksum.h also offers the possibility to define an arch specific function. This patch provides a specific csum_add() inline function. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 92c985f1d76c228abe202cb3004f03c9b45860d1 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue May 19 17:18:55 2015 +0200 powerpc: put csum_tcpudp_magic inline csum_tcpudp_magic() is only a few instructions, and does modify really few registers. So it is not worth having it as a separate function and suffer function branching and saving of volatile registers. This patch makes it inline by use of the already existing csum_tcpudp_nofold() function. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 44d5401425db90dc46a0ca000bdc41429768d351 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Jul 29 18:14:04 2015 -0500 powerpc/85xx: Use kconfig fragments Unify mpc85xx and corenet configs using fragments, to ease maintenance and avoid the sort of drift that the previous patch fixed. Hardware and software options are separated, with the hope that other embedded platforms could share the software options, and to make it easier to maintain custom/alternate configs that focus on either hardware or software options. Due to the previous patch, this patch should not affect the results of any of the affected defconfigs -- only how those results are achieved. The resulting config is more or less the union of the options that any of the configs previously selected. No attempt was made in this (or the previous) patch to edit out questionable options, but this patch will make it easier to do so in future patches. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7e2ad2ef851545c9bd0b5aadc8026c6901a87c50 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Jul 30 18:08:56 2015 -0500 powerpc/85xx: Make defconfigs consistent The mpc85xx and corenet configs have many differences between them that can't be explained by the target hardware of each config. The next patch will consolidate these targets using kconfig fragments; this patch shows what the resulting defconfigs will look like (generated by using savedefconfig on a fragment-generated config). Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ecc7456880e0ae393ecee85127c71fc508bce74c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 16:22:53 2015 +1000 powerpc: Update corenet32_smp_defconfig for modern distros corenet32_smp_defconfig is missing some things that modern distros require, enable them. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit f728b8b7d0d18142fd7591b566aae2352e433d7e Author: Yao Yuan <yao.yuan@xxxxxxxxxxxxx> Date: Thu Jul 23 11:00:46 2015 +0800 powerpc/corenet32: enable DMA in defconfig By default we enable DMA(CONFIG_FSL_DMA) support which are needed on P2041RDB, P3041DS, P4080DS, B4860QDS, etc. Signed-off-by: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7a2efb3a88b4d8ba5ab4ca5dacff22122ac51f28 Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Wed May 6 14:29:08 2015 +0800 powerpc/corenet: enable eSDHC Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 21c36d35711d24a7689b7fb9606ce78f3b4c3d3b Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Aug 7 13:59:16 2015 +0200 cpufreq-dt: make scaling_boost_freqs sysfs attr available when boost is enabled Make scaling_boost_freqs sysfs attribute is available when cpufreq-dt driver is used and boost support is enabled. Suggested-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 00dabd57e8207c6c7f3a5decc2c56e54951d568a Merge: 74d3329 a622789 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Aug 8 03:13:49 2015 +0200 Merge tag 'pull_req_20150803' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq into pm-devfreq Pull devfreq changes for v4.3 from MyungJoo Ham. - Device driver update to support additional hardare - Documentation error fix * tag 'pull_req_20150803' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq: PM / devfreq: exynos-ppmu: Update documentation to support PPMUv2 PM / devfreq: exynos-ppmu: Add the support of PPMUv2 for Exynos5433 PM / devfreq: event: Remove incorrect property in exynos-ppmu DT binding commit 3fc147e9156f6c176e5543c59d31182252f14933 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Aug 4 21:37:01 2015 +0200 PM / AVS: rockchip-io: add io selectors and supplies for rk3368 This adds the necessary data for handling io voltage domains on the rk3368. As interesting tidbit, the rk3368 contains two separate iodomain areas. One in the regular General Register Files (GRF) and one in PMUGRF in the pmu power domain. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 28c1f1628ee4b163e615eefe1b6463e3d229a873 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Aug 4 21:36:12 2015 +0200 PM / AVS: rockchip-io: depend on CONFIG_POWER_AVS The rockchip io-domain driver currently only depends on ARCH_ROCKCHIP itself. This makes it possible to select the power-domain driver, but not the POWER_AVS class and results in the iodomain-driver not getting build in this case. So add the additional dependency, which also results in the driver config option now being placed nicely into the AVS submenu. Fixes: 662a958638bd ("PM / AVS: rockchip-io: add driver handling Rockchip io domains") Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ddb2c42b677eb2883e532f0928e445fc205d0019 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 6 12:29:37 2015 +0800 mtd: brcmnand: Fix misuse of IS_ENABLED While IS_ENABLED() is perfectly fine for CONFIG_* symbols, it is not for other symbols such as __BIG_ENDIAN that is provided directly by the compiler. Switch to use CONFIG_CPU_BIG_ENDIAN instead of __BIG_ENDIAN. Fixes: 27c5b17cd1b1 ("mtd: nand: add NAND driver "library" for Broadcom STB NAND controller") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 10e4ea75149d11883a9e04c3b32ee1d7600d481e Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Aug 5 09:39:27 2015 -0700 net: Fix race condition in store_rps_map There is a race condition in store_rps_map that allows jump label count in rps_needed to go below zero. This can happen when concurrently attempting to set and a clear map. Scenario: 1. rps_needed count is zero 2. New map is assigned by setting thread, but rps_needed count _not_ yet incremented (rps_needed count still zero) 2. Map is cleared by second thread, old_map set to that just assigned 3. Second thread performs static_key_slow_dec, rps_needed count now goes negative Fix is to increment or decrement rps_needed under the spinlock. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b17c858def70b03a1652dcb74e061e8077f72c42 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:34 2015 +0530 staging: rtl8188eu: remove multiple blank line Multiple blank lines is against the kernel coding style and checkpatch complains for that. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a45515f3838328334cfac3d1fcddca9f67fb9172 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:33 2015 +0530 staging: rtl8188eu: remove unused function The function rtw_init_recvframe() was not being used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbd0968708c5e6a4811e62b103fa3d8c165f65c3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:32 2015 +0530 staging: rtl8188eu: remove exit label An exit label which does nothing except return, is not worth having. So remove it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea31f616b630723bc220ff4daa123774532f96ea Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:31 2015 +0530 staging: rtl8188eu: remove unused define _RECV_OSDEP_C_ was only defined here but never checked anywhere. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 469d3807e7f99f950348af5f031a580f13863263 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:30 2015 +0530 staging: rtl8188eu: rearrange code Re-arrange the code to directly return success or failure, thus removing the variable used in the function. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b47649c78c09afa43e93e902027d211cd1c6991 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:29 2015 +0530 staging: rtl8188eu: make function void The return value of rtw_os_recv_resource_alloc() is never checked, so make it as void. Moreover as of now the function can not fail. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1695cd29b24eca077fa8ae467f1184009ceb9d05 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 16:06:28 2015 +0530 staging: rtl8188eu: remove unused argument The function rtw_os_recv_resource_alloc() only uses the argument struct recv_frame *. So remove the other unused argument. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6356a9617cbaebf1159fe50f2e05d57e7e4242e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Aug 7 09:02:04 2015 +0900 staging: wilc1000: remove WILC_memcmp function Remove WILC_memcmp function because it is changed to memcmp. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a646e7e9e4227d4eeb9ccbbc2d976b3b256a1e6 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Aug 7 09:02:03 2015 +0900 staging: wilc1000: use memcmp instead of WILC_memcmp Use memcmp instead of WILC_memcmp. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70b801cb539ae812662927bb327668aa3c7c21ab Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Aug 7 09:02:02 2015 +0900 staging: wilc1000: remove WILC_memset function Remove WILC_memset function because it is changed to memset. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2cc468378a4f8dd3517d9fc1d613c2f328e070c4 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Aug 7 09:02:01 2015 +0900 staging: wilc1000: use memset instead of WILC_memset Use memset instead of WILC_memset. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 741a3b0745596f18a20da30b167e46c11bb3ce53 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:25 2015 +0200 staging/lustre: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f35aabae837e6d1a1d82a8cc54f8ce7366ed49 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:16 2015 +0200 clk/mmp: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7fb539eda2be9fce93b7f1cc933ef318e9c3771b Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:21 2015 -0700 staging: rtl8712: change SupportedRates to rates Change the value to a name that conforms to Linux coding style. "rates" is equally expressive in this context, and I have left alone a comment and function name that describe the rates as supported rates. Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db55b1652e5b126d0dbfd1ce0bcbaacddac8f36e Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:20 2015 -0700 staging: rtl8712: remove typedefs Coding style fix. Get rid of typedefs NDIS_802_11_RATES and NDIS_802_11_RATES_EX Undo any casting that was done as a result of the typedef. Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 986fc8e7410d65fe5adfee787ce14d56f72b4c4c Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:19 2015 -0700 staging: rtl8712: rename function Rename r8712_get_ndis_wlan_bssid_ex_sz() to r8712_get_wlan_bssid_ex_sz(), which corresponds to the struct whose size it measures. Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44367877c6c5048ac352c529c63ce0698c1ddd5c Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:18 2015 -0700 staging: rtl8712: remove duplicate struct struct ndis_wlan_bssid_ex is a doppelganger of struct wlan_bssid_ex, and is used about a third as often. Switch all instances to wlan_bssid_ex, and remove ndis_wlan_bssid_ex This also gets rid of a use of typedef NDIS_802_11_RATES_EX Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebe92393cac834c89c774f93d92c8118b69e6016 Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:17 2015 -0700 staging: rtl8712: removed unused wrapper structs Remove wrapper structs that just wrap struct ndis_wlan_bssid_ex, and are unused. Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9bdb70ecddd4441be8818ab2f6cbea269c84b3fb Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:16 2015 -0700 staging: rtl8712: fix comment The old comment refers to a typedef name which is being removed, and to a style of calculation which is no longer being used. It falsely states that IELength is variable length, instead of IEs. Change comment to simply state that the IEs field is a buffer of variable size and that IELength refers to the current size. Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 881edf67b26813f91288790bbb575c570b9de901 Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:15 2015 -0700 staging: rtl8712: simplify size calculation replace item-by-item size calculation of a struct with the size of the struct. This gets rid of a use of typedef NDIS_802_11_RATES_EX Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4063ea9af6d287975732a0c992e7fe870591d365 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 17:34:06 2015 +0530 staging: sm750fb: simplify return Lets return the return value directly instead of using a variable to store the result. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8fbc838f4b2cd72da11568b09b956806b98c29e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 17:34:05 2015 +0530 staging: sm750fb: rearrange code Rearrange the code to remove one exit label which also makes the code less indented and more readable. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d11ac7cbcc266c6c2a6ae504e070b6dc4536c1f7 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 17:34:04 2015 +0530 staging: sm750fb: fix multiline comment Multiline comments are edited to be in the kernel coding style. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13ef3458227d4095a4f86270b1f29690dfc248bd Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 17:34:03 2015 +0530 staging: sm750fb: space around operator Kernel coding style says to have a space around the operators. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5fd93ddf32f3ae77e66bee9c341036e03dd389ae Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 17:34:02 2015 +0530 staging: sm750fb: remove multiple blank line Multiple blank lines are not kernel coding style and so checkpatch complains. Remove them. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dab10f444774dd119e3c370cd332df9c1c646c7 Author: Joshua Clayton <stillcompiling@xxxxxxxxx> Date: Wed Aug 5 17:17:14 2015 -0700 staging: rtl8712: fix buggy size calculation r8712_get_ndis_wlan_bssid_ex_sz has a "6 * sizeof(unsigned long)" where the underlying struct has a 6 * unsigned char. Simplify the calculation by just subtracting the variable part from the size of the struct. This also gets rid of a use of typedef NDIS_802_11_RATES_EX Signed-off-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a1d7b09e7e3c2c7097712331ac64ccfdbcf8f6d Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:49:57 2015 +0200 Staging: lustre: lnet: Remove unnecessary parentheses on return Removed three instances of parentheses in return calls that are unnecessary and do not contribute to readability. Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 276479ff684792fefadec795afd1cb84a81dc8e5 Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:48:48 2015 +0200 staging: lustre: Fix space before '[' error Fix checkpatch.pl error: ERROR: space prohibited before open square bracket '[' Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 270f0c31b47eeedee7d6c538c0f5753df24a7726 Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:47:41 2015 +0200 staging: lustre: Fix space before '(' warnings Fix several instances of checkpatch.pl warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83b912c67b0b42af7bb7cbcb9d4fdb64bcd8dc65 Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:45:50 2015 +0200 staging: lustre: Fix space before '++' error Fix checkpatch.pl error: ERROR: space prohibited before that '++' (ctx:WxO) Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e39f6efaa1d9203527683213a1cf039c4d6c29aa Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:44:36 2015 +0200 staging: lustre: Fix code indent error Fix checkpatch.pl error: ERROR: code indent should use tabs where possible Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66a84f8ae131a7111ce8a6b0a77edf42b2c01d6c Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 23:43:08 2015 +0200 staging: lustre: Unnecessary line continuation Fix checkpatch.pl warning: WARNING: Avoid unnecessary line continuations Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9eda12565a7df27bf67af99830923d4887c74b5 Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Date: Thu Aug 6 20:09:24 2015 -0500 staging: fsl-mc: add DPAA2 overview readme add README file providing an overview of the DPAA2 architecture and how it is integrated in Linux Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44ae5443ef9fac059a2892cbb3f7e4d95f7f8d12 Author: Navy Cheng <navych@xxxxxxx> Date: Thu Aug 6 09:47:57 2015 +0800 Staging: vme: remove an unnecessary and wrong warning message The wrong warning message in vme_user_probe() will mislead developers and users. As the error message which prompt cdev_add() error already exists, just remove the unnecessary and wrong message. Signed-off-by: Navy Cheng <navych@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2622fb31635d3ffd8a2aa3d7f253d2c13c71ad3 Author: Okash Khawaja <okash.khawaja@xxxxxxxxx> Date: Wed Aug 5 21:13:52 2015 +0100 staging: octeon: fix coding style warnings for block comments The Linux kernel coding style suggests starting every line in a block comment with an asterisk and finishing the block comment with */ on a separate line. This patch fixes those warnings, clearing all warnings and errors in this file, as reported by the checkpatch script. Signed-off-by: Okash Khawaja <okash.khawaja@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbb588a4f7bf5dd8ad871f5d5dec228295cc4b7e Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Sun Aug 2 22:30:14 2015 +0200 Staging: fbtft: Use a struct to describe each LCD controller Use a struct flexfb_lcd_controller to holds chip properties, instead of relying on a long 'if - else if' chain. This allows to: - use a simple linear search to verify if a certain LCD controller model is supported or not. - add support for a new LCD chip controller simply defining a new flexfb_lcd_controller struct. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Acked-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25e66320167117d428d2c99076be5e5de557b7d1 Author: Johannes Postma <jgmpostma@xxxxxxxxx> Date: Fri Aug 7 14:04:34 2015 +0100 staging: rtl8723au: rtl8723a_hal_init: Improve code readability This patch improves code readability in the function rtl8723a_cal_txdesc_chksum. It improves the readability of the argument of the function le16_to_cpu. Signed-off-by: Johannes Postma <jgmpostma@xxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fc8cf4482fa1b983a5e971aa037aaa76179b28c Author: Johannes Postma <jgmpostma@xxxxxxxxx> Date: Thu Aug 6 12:21:52 2015 +0100 staging: rtl8723au: Fix sparse warning: cast to restricted __le16 usPtr is used as __le16 *, but was defined as u16 *. This was reported by sparse as: drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:1850:29: warning: cast to restricted __le16 This patch fixes the type of usPtr. Signed-off-by: Johannes Postma <jgmpostma@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a6779f564bf2f2748a9960a563b5b606d4bedc7 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 18:31:15 2015 +0530 MAINTAINERS: update maintainers list Now since sm712fb has moved out of staging update the maintainers list accordingly. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b55f52d13d3643e7d62ad2f37f55d8e7f5f0c8e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 18:31:14 2015 +0530 Documentation/fb: add documentation for sm712fb Create the documentation for SM712. Mention all the supported modes and how to use. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1461d66728648540a043ba69ace1081ed5006faf Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Aug 7 18:31:13 2015 +0530 staging: sm7xxfb: merge sm712fb with fbdev Now since all cleanups are done and the code is ready to be merged lets move it out of staging into fbdev location. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b96e53df92ab6ed1ca58639f0bbfacaf717e285b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:23 2015 -0700 staging: comedi: me4000: update MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than "Comedi low- level driver" Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4627c547c031459ad9f504d95c6a56a1d7a1e079 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:22 2015 -0700 staging: comedi: me4000: updata driver status in comedi comment Firmware loading was fixed by: Commit: ac584af5 "staging: comedi: me4000: fix firmware downloading" Change the driver status to "untested" and remove the comments about the driver being broken, Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 751dcb48c7ec8585644d2e62d81ce54228e92c8b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:21 2015 -0700 staging: comedi: me4000: cleanup multi-line comments Format the multi-line comments in the kernel CodingStyle. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fe6929bbbca11b015d182d4864d92d0bf5c244d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:20 2015 -0700 staging: comedi: me4000: usleep_range is preferred over udelay Fix checkpatch issue: "CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt". `udelay()` is only used in the firmware upload process. Replace them with `usleep_range()` with a reasonable upper limit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7022781c460290687b374dab1c230c06091bba10 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:19 2015 -0700 staging: comedi: me4000: introduce me4000_ai_get_sample() The hardware returns two's complement values for the analog input samples. These need to be converted to the unsigned binary format that the comedi core expects. Introduce a helper function to handle this. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36d59d70babc9ad4275d0c7c5e63241a077f572c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:18 2015 -0700 staging: comedi: me4000: comedi_handle_events() will stop conversions The irq handler does not need to manually stop conversions and disable interrupts when "end-of-acquisition", "error", or "overflow" events are detected. The comedi_handle_events() will call the subdevice (*cancel) when these are detected and stop the acquisition. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b36e4fa78ddbb342480031beec5fc63473b340e0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:17 2015 -0700 staging: comedi: me4000: tidy up analog output subdevice init For aesthetics, add some white space to the analog output subdevice initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 607d993942512f6b005b0465be85f21db7725ecc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:16 2015 -0700 staging: comedi: me4000: fix me4000_detach() There is no real reason to reset the board when detaching. The comedi core will ensure that any commands are canceled before the detach. But the PLX interrupts should be disabled. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f3f3eb7a264630a73c23cecfa2af2235775e09a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:15 2015 -0700 staging: comedi: me4000: only enable PLX interrupt if we have and irq Currently me4000_reset() always enables the PLX interrupt. Move the enable of the interrupt into me4000_auto_attach() and only do the enable if we actually have and irq. Make sure the PLX interrupt is disabled in me4000_reset() before we try to request the irq. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b047d9ccc3a40b672594b4eab1eac91d7efebcd9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:14 2015 -0700 staging: comedi: me4000: introduce me4000_ai_reset() Introduce a helper function to stop any ai conversions and reset the ai control register. This consolidates the common code in me4000_reset() and me4000_ai_cancel(). Use the new helper in the ai (*insn_read) to ensure that the ai control register is set to a known state after reading the samples. The ai control register will now always be '0' after the (*cancel) of a command or doing an (*insn_read). Knowing this the programming of the register for single acquisition mode in the (*insn_read) can be simplified. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a31b50ed1b600ed198252acccf6ec570fabcfc03 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:13 2015 -0700 staging: comedi: me4000: clear the ME4000_AI_CTRL_REG in me4000_reset() Reset the analog input control register after ensuring that any active conversions have been stopped. This mimics what the ai subdevice (*cancel) does. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ff848c3be2d066ec0dc05f8477f97d9daa24e0d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:12 2015 -0700 staging: comedi: me4000: remove unnecessary me4000_ai_cancel() The comedi core ensures that the subdevice is not busy before it allows starting a new command. The subdevice (*cancel) is called when the subdevice is set to not busy. In this driver the me4000_ai_cancel() is the ai (*cancel) so the extra call in the ai (*do_cmd) is not necessary. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78e4a573bfb01c287af8b81cd9d0a7329cbae7ca Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:11 2015 -0700 staging: comedi: me4000: remove unnecessary ai control register reset The me4000_ai_cancel() already reset this register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6847df631faedfef33170eed8d81430a4917b8b0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:10 2015 -0700 staging: comedi: me4000: fix me4000_ai_cancel() The STOP and IMMEDIATE_STOP bits in the ME4000_AI_CTRL_REG should be set, not cleared, to stop any running conversions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffaeab349d0c5c28019ed395dac2c962560c34f6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:09 2015 -0700 staging: comedi: me4000: return void from me4000_ai_write_chanlist() This function always returns 0 and the return value is never checked. Just return void. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 576694d83e4b014f66e673fced80fb40be3c35b9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:08 2015 -0700 staging: comedi: me4000: absorb ai_write_timer() This function is only called by me4000_ai_do_cmd(). Absorb it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11e480c3a64355b55ac23aaa3250fcc85f260530 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:07 2015 -0700 staging: comedi: me4000: absorb ai_prepare() This function never fails and it's only called by me4000_ai_do_cmd(). Absorb it and remove the unnecessary failure check. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 272e426ebca118cf202e4cf43dddf65ff358e953 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:06 2015 -0700 staging: comedi: me4000: simplify ai_prepare() The ai (*do_cmd_test) validates the trigger sources in Step 2b to ensure that they are compatible. Save the 'ai_ctrl_mode' that will be used in the private data so that ai_prepare(), which is called by the ai (*do_cmd), does not have to recheck the sources in order to figure it out. Also, tidy up the stop trigger checks so that the ME4000_AI_CTRL_HF_IRQ bit is set in the common code path. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f97f5c92d4dcd561df1c9c064243fedf328177b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:05 2015 -0700 staging: comedi: me4000: move ai command timing values into private data The ai (*do_cmd_test) calls me4000_ai_round_cmd_args() to calculate the timing values needed to the command. The the command test passes, the core will then call the ai (*do_cmd) which then has to call me4000_ai_round_cmd_args() again in order to get the same values to pass to ai_prepare() in order to program the timing. Add members to the private data to allow the (*do_cmd_test) to calculate and save to values needed by ai_prepare(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c72c4c6e3ab4e1a280ab21fd2a6063b4d37fd4ff Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:04 2015 -0700 staging: comedi: me4000: return void from ai_round_cmd_args() This function always succeeds. Change the return type to void and remove the unnecessary error check in me4000_ai_do_cmd(). Move the function call in me4000_ai_do_cmd_test() from before Step 1 to Step 3 where the arguments are validated. There is no reason to get the values if the previous steps fail. Rename the function so it has namespace associated with the driver. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55fb972ee8881e665c9251fa6cb806ab6e1bcadc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:03 2015 -0700 staging: comedi: me4000: tidy up ME4000_DIO_CTRL_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e92a5eba35e801c2af07814d400858e8f290cb9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:02 2015 -0700 staging: comedi: me4000: tidy up ME4000_AO_CTRL_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4831748e7001b998adc209241f2d1fe9cd5c55c8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:01 2015 -0700 staging: comedi: me4000: tidy up ME4000_AO_STATUS_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ec0019a2f7605aad91b7684ca404757446ea1ad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:45:00 2015 -0700 staging: comedi: me4000: tidy up ME4000_IRQ_STATUS_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da772ad9a83ef3db24be12f355a4a90a21c1f209 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:59 2015 -0700 staging: comedi: me4000: tidy up ME4000_AI_CTRL_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9b586a52a97ca537882a879de583002d74d9e27 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:58 2015 -0700 staging: comedi: me4000: tidy up ME4000_AI_STATUS_REG bit defines Use the BIT() marco to define the bits of this register. For aesthetics, rename all the defines to remove the '_BIT' from the name. Also, use ME4000_AI_STATUS_REG instead of ME4000_AI_CTRL_REG when reading the register (they happen to be the same). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e978426116ba68069b8dd1a6492ec8a958f27218 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:57 2015 -0700 staging: comedi: me4000: use comedi_range_is_bipolar() in ai (*insn_read) Use the helper function to check the range type instead of relying on the value. For aesthetics, rename the local variable used for the range. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 959717a3f67a7b7ce0bded0ec7d0e7e2e74c786c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:56 2015 -0700 staging: comedi: me4000: use correct types for extracted chanspec values The chanspec channel, range, and aref are unsigned int values. Use the correct types when extracting them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb7891e48fc2eac16f615e81df06b7510981ef73 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:55 2015 -0700 staging: comedi: me4000: fix me4000_ai_insn_read() The coemdi (*insn_read) functions are supposed to read insn->n values from the hardware. Make this function work like the core expects. Use the comedi_offset_munge() helper to munge the two's complement values to offset binary. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 023c129f0a90edf1a9cf2c7ba9086f029f56d488 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:54 2015 -0700 staging: comedi: me4000: use comedi_timeout() to wait for ai (*insn_read) Use the comedi_timeout() helper to busy-wait for the analog input end-of- conversion instead of the udelay(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0861f87185a51b44c972a01bfc9730cb9cbbc2d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:53 2015 -0700 staging: comedi: me4000: tidy up ME4000_AI_CHANNEL_LIST_REG bit defines Use the BIT() macro to define the bits of this register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 518c5b64f6014192e5f9bc3bb1ebf2311e14b621 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:52 2015 -0700 staging: comedi: me4000: fix ai_write_chanlist() Rename this function so it has namespace associated with the driver. The last entry of the chanlist needs the ME4000_AI_LIST_LAST_ENTRY bit set to end the list. Fix the function and tidy if up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 245bd462440ca5914286c71051fdc5af506e76cb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:51 2015 -0700 staging: comedi: me4000: simplify analog input range programming The comedi_lrange table for the analog inputs is inverted compared to the values that need to be written to the ME4000_AI_CHANNEL_LIST_REG to select the range. Create a macro, ME4000_AI_LIST_RANGE(), to handle the inversion. Remove the old defines and simplify the code a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 271f5aa04be0ff3d0c6fc8ccc31a6b0d3294461b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:50 2015 -0700 staging: comedi: me4000: remove unnecessary ME4000_AI_LIST_INPUT_SINGLE_ENDED This define evaluates to 0 and is OR'ed with the 'entry' value that is written to the ME4000_AI_CHANNEL_LIST_REG when the channel aref is a single-ended type (AREF_GROUND or AREF_COMMON). OR'ing a zero value is pretty silly, just remove it. Remove the switch() in me4000_ai_insn_read() to simplify the code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3674a87ebe73be57fe412b8906b0004c6372bac4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:49 2015 -0700 staging: comedi: me4000: rename local variables used for 'dev->private' In comedi drivers the local variable used for the dev->private pointer is normally named 'devpriv'. For aesthetics, rename the variables in this driver. Also, rename the struct to follow the norm. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5f663502228edd9c540c9d550dea59cbdb13d3a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:48 2015 -0700 staging: comedi: me4000: refactor 'ai_sh_nchan' boardinfo Some of the boards supported by this driver can do analog input sample & hold on 8 of the channels. The 'ai_sh_nchan' member of the boardinfo is used to indicate which boards support this feature. To save a bit of space, convert this member to a bit-field, 'can_do_sh_ai'. Note, this feature is not currently supported. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77714d31f6cd6886dadbdb34cf32eddc2853eb50 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:47 2015 -0700 staging: comedi: me4000: refactor 'ao_fifo' boardinfo This member of the boardinfo is always '4' for the boards that have an analog output FIFO. Covert it to a bit-field, 'has_ao_fifo', to save a bit of space. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aed9b66316d2c6eb22c2a80a8af4d1f7beffe309 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:46 2015 -0700 staging: comedi: me4000: refactor 'ao_nchan' boardinfo For the boards that have analog output capability, there are always 4 analog output channels. Convert the 'ao_nchan' member of the boardinfo into a bit-field, 'has_ao', to save a bit of space and set the analog output subdevice 'n_chan' to 4 when supported. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56f71de601468efc12d90db9cad6ccec062b74b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:45 2015 -0700 staging: comedi: me4000: refactor 'ai_diff_nchan' boardinfo This member of the boardinfo is only used as a flag indicating that the board supports differential analog inputs. Convert the member to a bit- field to save a bit of space. For aesthetics, rename the member to 'can_do_diff_ai'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13a463ae576d2e238647b2e2bbfda0512b22dabf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:44 2015 -0700 staging: comedi: me4000: make boardinfo flags bit-fields Change the boardinfo 'has_counter' and 'ai_trig_analog' flags into bit-fields to save a bit of space. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ec85dadb7c7bb6cf84f18b7207f60efe0095d72 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:43 2015 -0700 staging: comedi: me4000: remove 'board' from me4000_ai_check_chanlist() The maximum differential channel is half the subdevice 'n_chan'. Use that instead and remove the need for the 'board' variable. Also, the comedi core does no validate the aref flags. Add a check to ensure that the subdevice actually supports the AREF_DIFF mode. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a02387063fbd32f51c98540499b90acc8b4317f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:42 2015 -0700 staging: comedi: me4000: remove 'board' from me4000_ai_insn_read() The 'board' pointer is only used in this function to verify that the 'chan' is valid for an aref of AREF_DIFF. For differential inputs, the maximum channel is half the subdevice 'n_chan'. Use that instead and remove the 'board' variable. Also, the comedi core does not validate the aref flags. Add a check to ensure that the subdevice actually supports the AREF_DIFF mode. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03611e5491e488f30a5b7653e02ee65032cfba14 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:41 2015 -0700 staging: comedi: me4000: remove 'chan' check in me4000_ai_insn_read() The comedi core validates that the 'chan' is valid for the subdevice before calling the (*insn_read) operation. Remove the unnecessary check. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31bebc030fb2a6e2e7e7ea19ce58a0f196280281 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:40 2015 -0700 staging: comedi: me4000: only set SDF_DIFF when supported Some of the boards supported by this driver do not have differential analog inputs. Only set the SDF_DIFF subdev_flag when the board supports it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14aa4789f0519d0d97f6bf672a077582b08f2cf6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:39 2015 -0700 staging: comedi: me4000: all board types have analog inputs All the boards supported by this driver have analog inputs. They just differ in the number of channels (32 or 16). Always initialize the analog input subdevice in me4000_auto_attach(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d855370186564b2dbfeb82547248a5e1f5f200b4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 10:44:38 2015 -0700 staging: comedi: me4000: remove 'dio_nchan' boardinfo All the boards supported by this driver have 32 digital I/O channels. Remove the unnecessary boardinfo. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71d0f562358c3274e78ef371dfeb71ad5e86cb91 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Aug 5 12:01:30 2015 -0700 Input: elan_i2c - enable asynchronous probing It takes a bit of time to go through controller power up sequence and initialization. To not stall the overall boot progress let's probe the controller asynchronously, given that userspace is usually prepared for hot-plugging of input devices and thus does not rely on particular ordering. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9f6a07b67fc032fce28248da62d9342fd4e89954 Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Tue Apr 14 18:18:34 2015 -0700 Input: elants_i2c - enable asynchronous probing It takes a bit of time to go through controller power up sequence and initialization. To not stall the overall boot progress let's probe the controller asynchronously, given that userspace is usually prepared for hot-plugging of input devices and thus does not rely on particular ordering. Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit afe10358e47a3ea1f69005cb1be78170d23f8afa Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Thu Apr 16 18:14:55 2015 -0700 Input: elants_i2c - wire up regulator support Elan touchscreen controllers use two power supplies, vcc33 and vccio, and we need to enable them before trying to access the device. On X86 firmware usually does this, but on ARM it is usually left to the kernel. Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Reviewed-by: Scott Liu <scott.liu@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 00159f19a5057cb779146afce1cceede692af346 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Aug 6 19:15:30 2015 -0700 Input: do not emit unneeded EV_SYN when suspending Do not emit EV_SYN/SYN_REPORT on suspend if there were no keys that are still pressed as we are suspending the device (and in all other cases when input core is forcibly releasing keys via input_dev_release_keys() call). Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e05176a3283822bd32a1f3d929ce2050232299a8 Author: Wenyu Zhang <wenyuz@xxxxxxxxxx> Date: Wed Aug 5 00:30:47 2015 -0700 openvswitch: Make 100 percents packets sampled when sampling rate is 1. When sampling rate is 1, the sampling probability is UINT32_MAX. The packet should be sampled even the prandom32() generate the number of UINT32_MAX. And none packet need be sampled when the probability is 0. Signed-off-by: Wenyu Zhang <wenyuz@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da8b43c0e1dcea3bcac5f37ea59934ddaa137aed Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Aug 4 22:51:07 2015 -0700 vxlan: combine VXLAN_FLOWBASED into VXLAN_COLLECT_METADATA IFLA_VXLAN_FLOWBASED is useless without IFLA_VXLAN_COLLECT_METADATA, so combine them into single IFLA_VXLAN_COLLECT_METADATA flag. 'flowbased' doesn't convey real meaning of the vxlan tunnel mode. This mode can be used by routing, tc+bpf and ovs. Only ovs is strictly flow based, so 'collect metadata' is a better name for this tunnel mode. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e03c512841aa60363a6a5dcfb1e6fc19f35ec22d Merge: 1ebd08a 467fa15 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 7 11:29:58 2015 -0700 Merge branch 'rds-tcp-netns' Sowmini Varadhan says: ==================== RDS-TCP: Network namespace support This patch series contains the set of changes to correctly set up the infra for PF_RDS sockets that use TCP as the transport in multiple network namespaces. Patch 1 in the series is the minimal set of changes to allow a single instance of RDS-TCP to run in any (i.e init_net or other) net namespace. The changes in this patch set ensure that the execution of 'modprobe [-r] rds_tcp' sets up the kernel TCP sockets relative to the current netns, so that RDS applications can send/recv packets from that netns, and the netns can later be deleted cleanly. Patch 2 of the series further allows multiple RDS-TCP instances, one per network namespace. The changes in this patch allows dynamic creation/tear-down of RDS-TCP client and server sockets across all current and future namespaces. v2 changes from RFC sent out earlier: David Ahern comments in patch 1, net_device notifier in patch 2, patch 3 broken off and submitted separately. v3: Cong Wang review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 467fa15356acfb7b2efa38839c3e76caa4e6e0ea Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Aug 5 01:43:26 2015 -0400 RDS-TCP: Support multiple RDS-TCP listen endpoints, one per netns. Register pernet subsys init/stop functions that will set up and tear down per-net RDS-TCP listen endpoints. Unregister pernet subusys functions on 'modprobe -r' to clean up these end points. Enable keepalive on both accept and connect socket endpoints. The keepalive timer expiration will ensure that client socket endpoints will be removed as appropriate from the netns when an interface is removed from a namespace. Register a device notifier callback that will clean up all sockets (and thus avoid the need to wait for keepalive timeout) when the loopback device is unregistered from the netns indicating that the netns is getting deleted. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d5a8ac28a7ff2f250d1bedbb6008dd2f6f6f1638 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Aug 5 01:43:25 2015 -0400 RDS-TCP: Make RDS-TCP work correctly when it is set up in a netns other than init_net Open the sockets calling sock_create_kern() with the correct struct net pointer, and use that struct net pointer when verifying the address passed to rds_bind(). Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6e1f7f966e6d929b24f4318c717bb832afce8c7 Author: Scott Shu <scott.shu@xxxxxxxxxxxx> Date: Tue Aug 4 10:47:37 2015 +0800 ARM64: dts: mt6795: enable basic SMP bringup for MT6795 This patch adds support SMP on MediaTek MT6795 Cortex-A53 Octa-core SoC. Signed-off-by: Scott Shu <scott.shu@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 0630db4f7a43a7d03560ba898134971c53d22a4a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 7 18:10:17 2015 +0200 drm: Remove two-level menu in Kconfig The Direct Rendering Manager Kconfig option is already a separate menu, so remove the extra level to make it easier to navigate. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4299aaaa5da01f46f9186c4bb958200cf9c73532 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Aug 7 22:33:11 2015 +0800 spi: mediatek: mtk_spi_driver can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 761c5867ef031fae244d030bc17c93f5a3df106f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 12:54:10 2015 +0200 ARM: at91/dt: sama5d2: use slow clock where necessary The watchdog, the reset controller, the RTC, the shutdown controller, the timer counters and the LCD PWM need the slow clock, add it to the currently defined nodes. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 921f9a6ca5982efb2a300d45078617ad88f448a4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Mar 25 17:31:09 2015 +0100 ARM: at91/dt: at91sam9x5dm: add QT1070 touch button controller The display module for at91sam9x5-ek has a few touch buttons, add support for those. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8cf5938713e11cb0a47737c6fa550f444f7ea8b4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 23:17:10 2015 +0200 ARM: at91/dt: at91sam9x5dm: add support for the touschscreen The display module on the at91sam9x5-ek has a resistive touchscreen, add it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a437fc59e8a604667634697a13183dc673559348 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Wed Mar 25 18:41:31 2015 +0800 ARM: at91/dt: add drm support for at91sam9n12ek Add drm support for at91sam9n12ek board. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 432a4a82d06fbbf40a76b7cf2c3494c75eaf9863 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 09:37:06 2014 +0200 ARM: at91/dt: enable lcd support for at91sam9x5 SoCs Use the at91sam9x5 display module dtsi in the relevant board dts. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 0171d1d8cf54d4389e596e45c1e5faad73d93eba Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 09:34:54 2014 +0200 ARM: at91/dt: add at91sam9x5-ek Display Module dtsi All the at91sam9x5-ek share the share display module, add a dtsi to describe it. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c052a72ade4dd7ad0e9ddc7a424f93c04657c19d Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 09:36:10 2014 +0200 ARM: at91/dt: include lcd dtsi in at91sam9x5 dtsis Actually make use of at91sam9x5_lcd.dtsi in the relevant SoC dtsis. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit eeff040ab2f9579bdfa1c4df6a35b2d1cdeeaf31 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 09:35:31 2014 +0200 ARM: at91/dt: define hlcdc node in at91sam9x5_lcd.dtsi Define at91sam9x5 hlcdc node for the SoCs with an LCD controller. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 99d27b1b52bd5cdf9bd9f7661ca8641e9a1b55e6 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:31 2015 +0100 modsign: Add explicit CONFIG_SYSTEM_TRUSTED_KEYS option Let the user explicitly provide a file containing trusted keys, instead of just automatically finding files matching *.x509 in the build tree and trusting whatever we find. This really ought to be an *explicit* configuration, and the build rules for dealing with the files were fairly painful too. Fix applied from James Morris that removes an '=' from a macro definition in kernel/Makefile as this is a feature that only exists from GNU make 3.82 onwards. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit fb1179499134bc718dc7557c7a6a95dc72f224cb Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:30 2015 +0100 modsign: Use single PEM file for autogenerated key The current rule for generating signing_key.priv and signing_key.x509 is a classic example of a bad rule which has a tendency to break parallel make. When invoked to create *either* target, it generates the other target as a side-effect that make didn't predict. So let's switch to using a single file signing_key.pem which contains both key and certificate. That matches what we do in the case of an external key specified by CONFIG_MODULE_SIG_KEY anyway, so it's also slightly cleaner. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 1329e8cc69b93a0b1bc6d197b30dcff628c18dbf Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:30 2015 +0100 modsign: Extract signing cert from CONFIG_MODULE_SIG_KEY if needed Where an external PEM file or PKCS#11 URI is given, we can get the cert from it for ourselves instead of making the user drop signing_key.x509 in place for us. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 19e91b69d77bab16405cc284b451378e89a4110c Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:29 2015 +0100 modsign: Allow external signing key to be specified Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 6e3e281f39af78bd680b82d9762bf6c4f8f3f5f4 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:29 2015 +0100 modsign: Allow signing key to be PKCS#11 This is only the key; the corresponding *cert* still needs to be in $(topdir)/signing_key.x509. And there's no way to actually use this from the build system yet. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit af1eb2913275c3ab1598b0c24c893499092df08a Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:28 2015 +0100 modsign: Allow password to be specified for signing key We don't want this in the Kconfig since it might then get exposed in /proc/config.gz. So make it a parameter to Kbuild instead. This also means we don't have to jump through hoops to strip quotes from it, as we would if it was a config option. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit caf6fe91ddf62a96401e21e9b7a07227440f4185 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Jul 20 21:16:28 2015 +0100 modsign: Abort modules_install when signing fails Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 091f6e26eb326adbd718f406e440c838bed8ebb6 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:28 2015 +0100 MODSIGN: Extract the blob PKCS#7 signature verifier from module signing Extract the function that drives the PKCS#7 signature verification given a data blob and a PKCS#7 blob out from the module signing code and lump it with the system keyring code as it's generic. This makes it independent of module config options and opens it to use by the firmware loader. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Ming Lei <ming.lei@xxxxxxxxxxxxx> Cc: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> Cc: Kyle McMartin <kyle@xxxxxxxxxx> commit 1c39449921fc6db1f942051f79868a19c92f4d47 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:27 2015 +0100 system_keyring.c doesn't need to #include module-internal.h system_keyring.c doesn't need to #include module-internal.h as it doesn't use the one thing that exports. Remove the inclusion. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 23dfbbabbb3a62104b040b422121c84800312ad0 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Mon Jul 20 21:16:27 2015 +0100 sign-file: Add option to only create signature file Make the -d option (which currently isn't actually wired to anything) write out the PKCS#7 message as per the -p option and then exit without either modifying the source or writing out a compound file of the source, signature and metadata. This will be useful when firmware signature support is added upstream as firmware will be left intact, and we'll only require the signature file. The descriptor is implicit by file extension and the file's own size. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 3f1e1bea34740069f70c6bc92d0f712345d5c28e Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:27 2015 +0100 MODSIGN: Use PKCS#7 messages as module signatures Move to using PKCS#7 messages as module signatures because: (1) We have to be able to support the use of X.509 certificates that don't have a subjKeyId set. We're currently relying on this to look up the X.509 certificate in the trusted keyring list. (2) PKCS#7 message signed information blocks have a field that supplies the data required to match with the X.509 certificate that signed it. (3) The PKCS#7 certificate carries fields that specify the digest algorithm used to generate the signature in a standardised way and the X.509 certificates specify the public key algorithm in a standardised way - so we don't need our own methods of specifying these. (4) We now have PKCS#7 message support in the kernel for signed kexec purposes and we can make use of this. To make this work, the old sign-file script has been replaced with a program that needs compiling in a previous patch. The rules to build it are added here. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit bc1c373dd2a5113800360f7152be729c9da996cc Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:27 2015 +0100 MODSIGN: Provide a utility to append a PKCS#7 signature to a module Provide a utility that: (1) Digests a module using the specified hash algorithm (typically sha256). [The digest can be dumped into a file by passing the '-d' flag] (2) Generates a PKCS#7 message that: (a) Has detached data (ie. the module content). (b) Is signed with the specified private key. (c) Refers to the specified X.509 certificate. (d) Has an empty X.509 certificate list. [The PKCS#7 message can be dumped into a file by passing the '-p' flag] (3) Generates a signed module by concatenating the old module, the PKCS#7 message, a descriptor and a magic string. The descriptor contains the size of the PKCS#7 message and indicates the id_type as PKEY_ID_PKCS7. (4) Either writes the signed module to the specified destination or renames it over the source module. This allows module signing to reuse the PKCS#7 handling code that was added for PE file parsing for signed kexec. Note that the utility is written in C and must be linked against the OpenSSL crypto library. Note further that I have temporarily dropped support for handling externally created signatures until we can work out the best way to do those. Hopefully, whoever creates the signature can give me a PKCS#7 certificate. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 4ebdb76f7da662346267384440492bb9d87c2aa3 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:26 2015 +0100 PKCS#7: Allow detached data to be supplied for signature checking purposes It is possible for a PKCS#7 message to have detached data. However, to verify the signatures on a PKCS#7 message, we have to be able to digest the data. Provide a function to supply that data. An error is given if the PKCS#7 message included embedded data. This is used in a subsequent patch to supply the data to module signing where the signature is in the form of a PKCS#7 message with detached data, whereby the detached data is the module content that is signed. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 4573b64a31cd8cb4cfeb1d1b95536cfe71980cf4 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:26 2015 +0100 X.509: Support X.509 lookup by Issuer+Serial form AuthorityKeyIdentifier If an X.509 certificate has an AuthorityKeyIdentifier extension that provides an issuer and serialNumber, then make it so that these are used in preference to the keyIdentifier field also held therein for searching for the signing certificate. If both the issuer+serialNumber and the keyIdentifier are supplied, then the certificate is looked up by the former but the latter is checked as well. If the latter doesn't match the subjectKeyIdentifier of the parent certificate, EKEYREJECTED is returned. This makes it possible to chain X.509 certificates based on the issuer and serialNumber fields rather than on subjectKeyIdentifier. This is necessary as we are having to deal with keys that are represented by X.509 certificates that lack a subjectKeyIdentifier. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit b92e6570a992c7d793a209db282f68159368201c Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jul 20 21:16:26 2015 +0100 X.509: Extract both parts of the AuthorityKeyIdentifier Extract both parts of the AuthorityKeyIdentifier, not just the keyIdentifier, as the second part can be used to match X.509 certificates by issuer and serialNumber. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit c05cae9a58dca6dcbc6e66b228a9589c6b60880c Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Jul 29 21:14:00 2015 +0100 ASN.1: Copy string names to tokens in ASN.1 compiler Copy string names to tokens in ASN.1 compiler rather than storing a pointer into the source text. This means we don't have to use "%*.*s" all over the place. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit ae44a2f6a03338cb9d2bd32864f686c732b7841f Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 14:07:01 2015 +0100 ASN.1: Add an ASN.1 compiler option to dump the element tree Add an ASN.1 compiler option to dump the element tree to stdout. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 2f3cc24f07b8bfe8302a46ceb1ed58cde62cbd09 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Aug 7 14:13:34 2015 +0200 usb: musb: gadget: fix build break by adding missing 'break' Add missing break after 'default' label to fix compilation error. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 38a986c0750db23aeb5968f8b6d37298b9be4b11 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Jul 30 10:36:44 2015 +0900 Input: Remove the max77843 haptic driver The max77693 haptic driver supports Maxim 77843 device so remove the max77843 driver. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 56bbc99e6914eb183fb083f737178a1757083d41 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Jul 30 10:36:43 2015 +0900 Input: max77693: Add support for Maxim 77843 The Maxim 77843 haptic driver differs from 77693 by: 1. Setting the bias. 2. Different configuration register. 3. Not enabling the low-sys DAC. 4. Using same regmap for PMIC and haptic blocks. Incorporate all differences into max77693 haptic driver so both devices can be supported. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6eaa247a5bab775e45a74b52c17bf8bc37fd5f6f Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Jul 30 10:36:42 2015 +0900 Input: max77693: Prepare for adding support for Maxim 77843 Prepare the driver for supporting two devices: Maxim 77693 and 77843: 1. Add table of device ids and store current device type for later usage. 2. Differentiate the haptic device configuration. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b3d8ba746b5109dc890e7480db5d014d19ae6a05 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Jul 30 10:36:41 2015 +0900 Input: max77693: Remove a read-only pwm_divisor field Storing a predefined PWM divisor in state container structure is meaningless. The field, after initialization, is only read so this only obfuscates the code. Remove the field and use directly enum value. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9bc898c7019383b6aa2ae6cb2928c4ca926449f0 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 8 10:04:02 2015 +0000 perf tests: Add LLVM test for eBPF on-the-fly compiling Previous patches introduce llvm__compile_bpf() to compile source file to eBPF object. This patch adds testcase to test it. It also tests libbpf by opening generated object after applying next patch which introduces HAVE_LIBBPF_SUPPORT option. Since llvm__compile_bpf() prints long messages which users who don't explicitly test llvm doesn't care, this patch set verbose to -1 to suppress all debug, warning and error message, and hint user use 'perf test -v' to see the full output. For the same reason, if clang is not found in PATH and there's no [llvm] section in .perfconfig, skip this test. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/n/1436445342-1402-17-git-send-email-wangnan0@xxxxxxxxxx [ Add tools/lib/bpf/ to tools/perf/MANIFEST, so that the tarball targets build ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c6d18bfd551622b438e216e4863155f47907b0d Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Jun 11 11:25:49 2015 +0000 perf tools: Auto detecting kernel include options To help user find correct kernel include options, this patch extracts them from kbuild system by an embedded script kinc_fetch_script, which creates a temporary directory, generates Makefile and an empty dummy.o then use the Makefile to fetch $(NOSTDINC_FLAGS), $(LINUXINCLUDE) and $(EXTRA_CFLAGS) options. The result is passed to compiler script using 'KERNEL_INC_OPTIONS' environment variable. Because options from kbuild contains relative path like 'Iinclude/generated/uapi', the work directory must be changed. This is done by previous patch. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1436445342-1402-16-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d325d7887b960627dc686d70d07682e18383f9c4 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Jul 14 06:40:02 2015 +0000 perf tools: Auto detecting kernel build directory This patch detects kernel build directory by checking the existence of include/generated/autoconf.h. clang working directory is changed to kbuild directory if it is found, to help user use relative include path. Following patch will detect kernel include directory, which contains relative include patch so this workdir changing is needed. Users are allowed to set 'kbuild-dir = ""' manually to disable this checking. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/n/tip-owyfwfbemrjn0tlj6tgk2nf5@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 36cc093520b9a6348292c253d3ec03bb67a84da8 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:07 2015 +0200 ASoC: sti: Add IEC control Add control to configure IEC60958 settings. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3cfe7a74d42b7e3644f8b2b26aa20146d4f90f0f Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Wed Jul 8 14:30:18 2015 +0800 regmap: Use different lockdep class for each regmap init call Lockdep validator complains about recursive locking and deadlock when two different regmap instances are called in a nested order. That happens anytime a regmap read/write call needs to access another regmap. This is because, for performance reason, lockdep groups all locks initialized by the same mutex_init() in the same lock class. Therefore all regmap mutexes are in the same lock class, leading to lockdep "nested locking" warnings if a regmap accesses another regmap. In general, it is impossible to establish in advance the hierarchy of regmaps, so we make sure that each regmap init call initializes its own static lock_class_key. This is done by wrapping all regmap_init calls into macros. This also allows us to give meaningful names to the lock_class_key. For example, in rt5677 case, we have in /proc/lockdep_chains: irq_context: 0 [ffffffc0018d2198] &dev->mutex [ffffffc0018d2198] &dev->mutex [ffffffc001bd7f60] rt5677:5104:(&rt5677_regmap)->_lock [ffffffc001bd7f58] rt5677:5096:(&rt5677_regmap_physical)->_lock [ffffffc001b95448] &(&base->lock)->rlock The above would have resulted in a lockdep recursive warning previously. This is not the case anymore as the lockdep validator now clearly identifies the 2 regmaps as separate. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 331a5fc9f2ed28033ddda89acb2a9b43592a545d Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Wed Jul 8 14:30:17 2015 +0800 thermal: sti: Add parentheses around bridge->ops->regmap_init call regmap_init(...) is a macro since commit "regmap: Use different lockdep class for each regmap init call". That same name is used as a function pointer: prevent its expansion by adding parentheses around the function pointer. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bbb4d872c795ab3a1c0610f69d05fcd93aef83f6 Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Wed Jul 8 14:30:16 2015 +0800 mfd: vexpress: Add parentheses around bridge->ops->regmap_init call regmap_init(...) is a macro since commit "regmap: Use different lockdep class for each regmap init call". That same name is used as a function pointer: prevent its expansion by adding parentheses around the function pointer. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a568231f463225eb31593f71446a267a03ae0528 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Fri Aug 7 15:19:50 2015 +0800 spi: mediatek: Add spi bus for Mediatek MT8173 This patch adds basic spi bus for MT8173. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0d850e7cdc69962e85abd7f7dcd2359f293f835a Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Fri Aug 7 15:19:49 2015 +0800 spi: Mediatek: Document devicetree bindings for spi bus Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c9b1e834bc8decaf979344e8121e4ad1ded8dc8a Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sat Aug 1 19:40:44 2015 +0530 ASoC: Intel: Skylake: Add pipe management helpers To manage DSP we need to create processing pipeline and on cleanup destroy them. So we add create and destroy routines for pipelines The pipelines need to to be executed so we add pipeline run and stop routines All these send required IPCs to DSP using IPC routines added earlier Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit beb73b266a75602084361c5ef0baa5bc14637f4b Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sat Aug 1 19:40:43 2015 +0530 ASoC: Intel: Skylake: Add DSP module init and binding routines A module needs to be instantiated and then connected with other modules. On cleanup we need to disconnect the module. This is achieved by helpers module init, bind and unbind which are added here Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a0ffe48bb5d45fcef444e8a03c75fb7b73a5af29 Author: Hardik T Shah <hardik.t.shah@xxxxxxxxx> Date: Sat Aug 1 19:40:42 2015 +0530 ASoC: Intel: Skylake: Add helpers for SRC and converter modules SRC and converter modules are required to do frequency and channel conversion in DSP. Both take base module configuration and additional SRC and converter parameters. The helpers here are added to calculate the values for these modules Signed-off-by: Hardik T Shah <hardik.t.shah@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 23db472bba549dcd1c7592b5af95cc9ba4b9b5c9 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sat Aug 1 19:40:41 2015 +0530 ASoC: Intel: Skylake: Add helpers for DSP module configuration This adds helper functions to calculate parameters required for base module format and copier module. A generic module is modelled by base module. Copier module is responsible for getting/sending data to FE (host DMAs) and BE (link HDA DMA, SSP, PDM) This also ads module pin management helpers which help in finding pins to use or freeing them up Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aba3dd5ace59d038a9d69e0f5319b6fec61012c8 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sat Aug 1 19:40:40 2015 +0530 ASoC: Intel: Skylake: Use acpi header for NHLT header Instead of defining own acpi header, use the available acpi header defined in acpi framework. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9f2dd0270d81b283e11e39f9276113aef391e420 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Sat Aug 1 19:40:39 2015 +0530 ASoC: Intel: Skylake: Fix the NHLT rate size Sampling rate type needs to be u32 instead of u8, nhlt wav format description expected u32 for rate, passing u8 will fetch NULL config in skl_get_ep_blob(). Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4cea3a9cb30a962fa759fcb081fb83351113d9c4 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Jun 11 10:31:09 2015 +0000 perf tools: Call clang to compile C source to object code This is the core patch for supporting eBPF on-the-fly compiling, does the following work: 1. Search clang compiler using search_program(). 2. Run command template defined in llvm-bpf-cmd-template option in [llvm] config section using read_from_pipe(). Patch of clang and source code path is injected into shell command using environment variable using force_set_env(). Commiter notice: When building with DEBUG=1 we get a compiler error that gets fixed with the same approach described in commit b236512280fb: perf kmem: Fix compiler warning about may be accessing uninitialized variable The last argument to strtok_r doesn't need to be initialized, its just a placeholder to make this routine reentrant, but gcc doesn't know about that and complains, breaking the build, fix it by setting it to NULL. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/n/1436445342-1402-14-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit aa61fd05ca79666c973d5b15e0f91ecdc7dcfa21 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Jul 21 11:13:34 2015 +0000 perf tools: Introduce llvm config options This patch introduces [llvm] config section with 5 options. Following patches will use then to config llvm dynamica compiling. 'llvm-utils.[ch]' is introduced in this patch for holding all llvm/clang related stuffs. Example: [llvm] # Path to clang. If omit, search it from $PATH. clang-path = "/path/to/clang" # Cmdline template. Following line shows its default value. # Environment variable is used to passing options. # # *NOTE*: -D__KERNEL__ MUST appears before $CLANG_OPTIONS, # so user have a chance to use -U__KERNEL__ in $CLANG_OPTIONS # to cancel it. clang-bpf-cmd-template = "$CLANG_EXEC -D__KERNEL__ $CLANG_OPTIONS \ $KERNEL_INC_OPTIONS -Wno-unused-value \ -Wno-pointer-sign -working-directory \ $WORKING_DIR -c $CLANG_SOURCE -target \ bpf -O2 -o -" # Options passed to clang, will be passed to cmdline by # $CLANG_OPTIONS. clang-opt = "-Wno-unused-value -Wno-pointer-sign" # kbuild directory. If not set, use /lib/modules/`uname -r`/build. # If set to "" deliberately, skip kernel header auto-detector. kbuild-dir = "/path/to/kernel/build" # Options passed to 'make' when detecting kernel header options. kbuild-opts = "ARCH=x86_64" Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1437477214-149684-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9a208effd1832e50e1f7ea002f400f8b9ca8b1ed Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:10 2015 +0000 bpf tools: Link all bpf objects onto a list To allow enumeration of all bpf_objects, keep them in a list (hidden to caller). bpf_object__for_each_safe() is introduced to do this iteration. It is safe even user close the object during iteration. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-23-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit aa9b1ac33c7979d0d91eff8b70cffc4916f5555c Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:08 2015 +0000 bpf tools: Introduce accessors for struct bpf_program This patch introduces accessors for user of libbpf to retrieve section name and fd of a opened/loaded eBPF program. 'struct bpf_prog_handler' is used for that purpose. Accessors of programs section name and file descriptor are provided. Set/get private data are also impelmented. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1435716878-189507-21-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 55cffde2e1a41109cb49f8e94de954c8240242b5 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:07 2015 +0000 bpf tools: Load eBPF programs in object files into kernel This patch utilizes previous introduced bpf_load_program to load programs in the ELF file into kernel. Result is stored in 'fd' field in 'struct bpf_program'. During loading, it allocs a log buffer and free it before return. Note that that buffer is not passed to bpf_load_program() if the first loading try is successful. Doesn't use a statically allocated log buffer to avoid potention multi-thread problem. Instructions collected during opening is cleared after loading. load_program() is created for loading a 'struct bpf_insn' array into kernel, bpf_program__load() calls it. By this design we have a function loads instructions into kernel. It will be used by further patches, which creates different instances from a program and load them into kernel. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-20-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7bf98369a73a9a84c56b3f2b247ea8f0eaf8668b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:06 2015 +0000 bpf tools: Introduce bpf_load_program() to bpf.c bpf_load_program() can be used to load bpf program into kernel. To make loading faster, first try to load without logbuf. Try again with logbuf if the first try failed. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-19-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8a47a6c522c0593a977069b0b1e5a0725ca0e32e Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:05 2015 +0000 bpf tools: Relocate eBPF programs If an eBPF program accesses a map, LLVM generates a load instruction which loads an absolute address into a register, like this: ld_64 r1, <MCOperand Expr:(mymap)> ... call 2 That ld_64 instruction will be recorded in relocation section. To enable the usage of that map, relocation must be done by replacing the immediate value by real map file descriptor so it can be found by eBPF map functions. This patch to the relocation work based on information collected by patches: 'bpf tools: Collect symbol table from SHT_SYMTAB section', 'bpf tools: Collect relocation sections from SHT_REL sections' and 'bpf tools: Record map accessing instructions for each program'. For each instruction which needs relocation, it inject corresponding file descriptor to imm field. As a part of protocol, src_reg is set to BPF_PSEUDO_MAP_FD to notify kernel this is a map loading instruction. This is the final part of map relocation patch. The principle of map relocation is described in commit message of 'bpf tools: Collect symbol table from SHT_SYMTAB section'. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-18-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 52d3352e79815307521bef6121dba00b6c3477c6 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:04 2015 +0000 bpf tools: Create eBPF maps defined in an object file This patch creates maps based on 'map' section in object file using bpf_create_map(), and stores the fds into an array in 'struct bpf_object'. Previous patches parse ELF object file and collects required data, but doesn't play with the kernel. They belong to the 'opening' phase. This patch is the first patch in 'loading' phase. The 'loaded' field is introduced in 'struct bpf_object' to avoid loading an object twice, because the loading phase clears resources collected during the opening which becomes useless after loading. In this patch, maps_buf is cleared. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-17-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e3ed2fef22b694cf07b06abaa6481a9e6f868e1f Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:03 2015 +0000 bpf tools: Add bpf.c/h for common bpf operations This patch introduces bpf.c and bpf.h, which hold common functions issuing bpf syscall. The goal of these two files is to hide syscall completely from user. Note that bpf.c and bpf.h deal with kernel interface only. Things like structure of 'map' section in the ELF object is not cared by of bpf.[ch]. We first introduce bpf_create_map(). Note that, since functions in bpf.[ch] are wrapper of sys_bpf, they don't use OO style naming. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-16-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 340909152ae5a588b9a77a85df35d61ec3523833 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:02 2015 +0000 bpf tools: Record map accessing instructions for each program This patch records the indices of instructions which are needed to be relocated. That information is saved in the 'reloc_desc' field in 'struct bpf_program'. In the loading phase (this patch takes effect in the opening phase), the collected instructions will be replaced by map loading instructions. Since we are going to close the ELF file and clear all data at the end of the 'opening' phase, the ELF information will no longer be valid in the 'loading' phase. We have to locate the instructions before maps are loaded, instead of directly modifying the instruction. 'struct bpf_map_def' is introduced in this patch to let us know how many maps are defined in the object. This is the third part of map relocation. The principle of map relocation is described in commit message of 'bpf tools: Collect symbol table from SHT_SYMTAB section'. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-15-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b62f06e81bcf28d47fe736fe2beae40f15f496be Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:01 2015 +0000 bpf tools: Collect relocation sections from SHT_REL sections This patch collects relocation sections into 'struct object'. Such sections are used for connecting maps to bpf programs. 'reloc' field in 'struct bpf_object' is introduced for storing such information. This patch simply store the data into 'reloc' field. Following patch will parse them to know the exact instructions which are needed to be relocated. Note that the collected data will be invalid after ELF object file is closed. This is the second patch related to map relocation. The first one is 'bpf tools: Collect symbol table from SHT_SYMTAB section'. The principle of map relocation is described in its commit message. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-14-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5b8bd47dcc574cd3a71357b3a0f586969e4b887 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:14:00 2015 +0000 bpf tools: Collect eBPF programs from their own sections This patch collects all programs in an object file into an array of 'struct bpf_program' for further processing. That structure is for representing each eBPF program. 'bpf_prog' should be a better name, but it has been used by linux/filter.h. Although it is a kernel space name, I still prefer to call it 'bpf_program' to prevent possible confusion. bpf_object__add_program() creates a new 'struct bpf_program' object. It first init a variable in stack using bpf_program__init(), then if success, enlarges obj->programs array and copy the new object in. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-13-git-send-email-wangnan0@xxxxxxxxxx [ Made bpf_object__add_program() propagate the error (-EINVAL or -ENOMEM) ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bec7d68cb561e94f8a44c2b73c468b534c05f20d Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:59 2015 +0000 bpf tools: Collect symbol table from SHT_SYMTAB section This patch collects symbols section. This section is useful when linking BPF maps. What 'bpf_map_xxx()' functions actually require are map's file descriptors (and the internal verifier converts fds into pointers to 'struct bpf_map'), which we don't know when compiling. Therefore, we should make compiler generate a 'ldr_64 r1, <imm>' instruction, and fill the 'imm' field with the actual file descriptor when loading in libbpf. BPF programs should be written in this way: struct bpf_map_def SEC("maps") my_map = { .type = BPF_MAP_TYPE_HASH, .key_size = sizeof(unsigned long), .value_size = sizeof(unsigned long), .max_entries = 1000000, }; SEC("my_func=sys_write") int my_func(void *ctx) { ... bpf_map_update_elem(&my_map, &key, &value, BPF_ANY); ... } Compiler should convert '&my_map' into a 'ldr_64, r1, <imm>' instruction, where imm should be the address of 'my_map'. According to the address, libbpf knows which map it actually referenced, and then fills the imm field with the 'fd' of that map created by it. However, since we never really 'link' the object file, the imm field is only a record in relocation section. Therefore libbpf should do the relocation: 1. In relocation section (type == SHT_REL), positions of each such 'ldr_64' instruction are recorded with a reference of an entry in symbol table (SHT_SYMTAB); 2. From records in symbol table we can find the indics of map variables. Libbpf first record SHT_SYMTAB and positions of each instruction which required bu such operation. Then create file descriptor. Finally, after map creation complete, replace the imm field. This is the first patch of BPF map related stuff. It records SHT_SYMTAB into object's efile field for further use. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-12-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0b3d1efade1b7e2ccaf79c40a7481c93cfb5090a Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:58 2015 +0000 bpf tools: Collect map definitions from 'maps' section If maps are used by eBPF programs, corresponding object file(s) should contain a section named 'map'. Which contains map definitions. This patch copies the data of the whole section. Map data parsing should be acted just before map loading. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-11-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb1e5e961991ee9b2cbfd3bf06ef490ea578cd2f Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:57 2015 +0000 bpf tools: Collect version and license from ELF sections Expand bpf_obj_elf_collect() to collect license and kernel version information in eBPF object file. eBPF object file should have a section named 'license', which contains a string. It should also have a section named 'version', contains a u32 LINUX_VERSION_CODE. bpf_obj_validate() is introduced to validate object file after loaded. Currently it only check existence of 'version' section. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-10-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 296036653ae8b1367ec9d06d65377c2e2371b153 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:56 2015 +0000 bpf tools: Iterate over ELF sections to collect information bpf_obj_elf_collect() is introduced to iterate over each elf sections to collection information in eBPF object files. This function will futher enhanced to collect license, kernel version, programs, configs and map information. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-9-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cc4228d57c4c35ae0a29efa1e7687a817dc038d9 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:55 2015 +0000 bpf tools: Check endianness and make libbpf fail early Check endianness according to EHDR. Code is taken from tools/perf/util/symbol-elf.c. Libbpf doesn't magically convert missmatched endianness. Even if we swap eBPF instructions to correct byte order, we are unable to deal with endianness in code logical generated by LLVM. Therefore, libbpf should simply reject missmatched ELF object, and let LLVM to create good code. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-8-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6c956392b0486c170e382476ab9dd97a696fd169 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:54 2015 +0000 bpf tools: Read eBPF object from buffer To support dynamic compiling, this patch allows caller to pass a in-memory buffer to libbpf by bpf_object__open_buffer(). libbpf calls elf_memory() to open it as ELF object file. Because __bpf_object__open() collects all required data and won't need that buffer anymore, libbpf uses that buffer directly instead of clone a new buffer. Caller of libbpf can free that buffer or use it do other things after bpf_object__open_buffer() return. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-7-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1a5e3fb1e9a4a3e3695cd57c33c169a90d16fd3b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:53 2015 +0000 bpf tools: Open eBPF object file and do basic validation This patch defines basic interface of libbpf. 'struct bpf_object' will be the handler of each object file. Its internal structure is hide to user. eBPF object files are compiled by LLVM as ELF format. In this patch, libelf is used to open those files, read EHDR and do basic validation according to e_type and e_machine. All elf related staffs are grouped together and reside in efile field of 'struct bpf_object'. bpf_object__elf_finish() is introduced to clear it. After all eBPF programs in an object file are loaded, related ELF information is useless. Close the object file and free those memory. The zfree() and zclose() functions are introduced to ensure setting NULL pointers and negative file descriptors after resources are released. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-6-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b3f59d66e22b8be4ccae67c8eaffa2cbb9e54eb1 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:52 2015 +0000 bpf tools: Allow caller to set printing function By libbpf_set_print(), users of libbpf are allowed to register he/she own debug, info and warning printing functions. Libbpf will use those functions to print messages. If not provided, default info and warning printing functions are fprintf(stderr, ...); default debug printing is NULL. This API is designed to be used by perf, enables it to register its own logging functions to make all logs uniform, instead of separated logging level control. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-5-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1b76c13e4b36f978ea45af079f38ad423a229630 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:51 2015 +0000 bpf tools: Introduce 'bpf' library and add bpf feature check This is the first patch of libbpf. The goal of libbpf is to create a standard way for accessing eBPF object files. This patch creates 'Makefile' and 'Build' for it, allows 'make' to build libbpf.a and libbpf.so, 'make install' to put them into proper directories. Most part of Makefile is borrowed from traceevent. Before building, it checks the existence of libelf in Makefile, and deny to build if not found. Instead of throwing an error if libelf not found, the error raises in a phony target "elfdep". This design is to ensure 'make clean' still workable even if libelf is not found. Because libbpf requires 'kern_version' field set for 'union bpf_attr' (bpfdep" is used for that dependency), Kernel BPF API is also checked by intruducing a new feature check 'bpf' into tools/build/feature, which checks the existence and version of linux/bpf.h. When building libbpf, it searches that file from include/uapi/linux in kernel source tree (controlled by FEATURE_CHECK_CFLAGS-bpf). Since it searches kernel source tree it reside, installing of newest kernel headers is not required, except we are trying to port these files to an old kernel. To avoid checking that file when perf building, the newly introduced 'bpf' feature check doesn't added into FEATURE_TESTS and FEATURE_DISPLAY by default in tools/build/Makefile.feature, but added into libbpf's specific. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Bcc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-4-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 99d49e3af6dfde62caffb2913807fdaf293a9e3d Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Thu Sep 4 00:58:23 2014 +0200 mod_devicetable: add space before */ Match the style of the other one-line comments. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d23684d2738f1c4492d221b37eaee0028df93328 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Wed Jul 29 19:19:45 2015 +0100 scsi: a100u2w: trivial typo in printk Trivial typo fix, \b should be \n Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit e9e346a37b2bdcabc65d2537feccc3b563c1ac43 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Tue Jul 28 20:11:23 2015 +0900 i2c: Fix typo in i2c-bfin-twi.c This patch fix some typos found in a printk message and MODULE_DESCRIPTION. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 96bab82f6ba3c4e116ee89989b3854dde6c0cd2d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:35 2015 +0200 ALSA: firewire: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e1c05067c323fb92d27418fb3586171bd7ce2e12 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 7 10:14:59 2015 +0900 treewide: fix typos in comment blocks Looks like the word "contiguous" is often mistyped. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 6ade97724fb571338a0f82ecaac5bced2f43f042 Author: Benjamin Herr <ben@xxxxxxxx> Date: Sat Jul 18 14:31:40 2015 +0200 Doc: fix trivial typo in SubmittingPatches This patch changes the tense of a verb in SubmittingPatches to ensure grammatical validity of the containing sentence. Signed-off-by: Benjamin Herr <ben@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 377a51a6b8c09b39b540e5a80ad7029a450cee71 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:40:22 2015 +0200 proportions: Spelling s/consitent/consistent/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 57d4248731f6ff7502ead0fedb6ad35c90dead31 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:39:17 2015 +0200 dm: Spelling s/consitent/consistent/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 5f367f0288c44c706ed4b2622aee451498fb3ab3 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jul 6 10:59:48 2015 -0400 aic7xxx: Fix typo in error message This fixes "referenced" where it is spelled "referrenced". Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 831527b7304d06ea24afd2d01956dad06cd34043 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jul 6 10:28:41 2015 -0400 pcmcia: Fix typo in locking documentation This fixes a typo in the docs: "devie" -> "device". Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 1635e88885a8e16dec21206c981421f1f3c3b1df Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 6 10:35:23 2015 +0800 regmap: debugfs: Fix misuse of IS_ENABLED IS_ENABLED should only be used for CONFIG_* symbols. I have done a small test: #define REGMAP_ALLOW_WRITE_DEBUGFS IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS) returns 0. #define REGMAP_ALLOW_WRITE_DEBUGFS 0 IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS) returns 0. #define REGMAP_ALLOW_WRITE_DEBUGFS 1 IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS) returns 1. #define REGMAP_ALLOW_WRITE_DEBUGFS 2 IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS) returns 0. So fix the misuse of IS_ENABLED(REGMAP_ALLOW_WRITE_DEBUGFS) and switch to use #if defined(REGMAP_ALLOW_WRITE_DEBUGFS) instead. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 47268a4f9d179020cff766848086318a9e90d013 Author: Nik Nyby <nikolas@xxxxxxx> Date: Tue Jun 30 17:25:27 2015 -0400 scsi/arcmsr: Fix typos in error log This fixes some typos in one of the error logs. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 4bb138a47b7f8a2867dd3ec1f897a07323598345 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sun May 10 00:55:18 2015 +0900 drm/nouveau/gr: Fix typo in nv10.c This patch fix spelling typo in printk within nv10.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 804ff603d2fe98c48aac4e2d6e4f5db687d78812 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu May 7 23:21:27 2015 +0900 [SCSI] Fix printk typos in drivers/scsi This patch fix spme spelling typos in printk within drivers/scsi. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 376c0afe2f0047d091956a95e382e1edd104ea72 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:37 2015 +0200 ASoC: topology: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b42e093e59c320e91b9c2de73bf3f0429fc45307 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:36 2015 +0200 ASoC: intel: use kmemdup rather than duplicating its implementation The patch was generated using fixed coccinelle semantic patch scripts/coccinelle/api/memdup.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2014320 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 839b47bca58ac67657c7afea363ede72c1a2480c Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:41:18 2015 +0200 staging: comedi: Grammar s/Enable support a/Enable support for a/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d41e36a0ab358a40aa2ec7014f38b80ed22773c6 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:38:11 2015 +0200 Btrfs: Spelling s/consitent/consistent/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 79398057a75a3e76047845af70036e6bfff1751b Author: Diego Viola <diego.viola@xxxxxxxxx> Date: Mon Jul 6 14:33:21 2015 -0300 README: GTK+ is a acronym Signed-off-by: Diego Viola <diego.viola@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 99876030b3d8b9c4395f96c9538a129aa644cc51 Author: Nik Nyby <nikolas@xxxxxxx> Date: Tue Jun 30 17:03:18 2015 -0400 ASoC: omap: Fix typo in config option description This fixes a typo in the description for SND_OMAP_SOC_HDMI_AUDIO. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 5e49e399b420a8a8a8ebbdf03099a5b4d7541331 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 16:16:20 2015 -0400 mm: tlb.c: Fix error message This fixes a typo in two error messages, from "Reigster" to "Register". Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d31e77177dfc82670c182e3c4c2456c055cca1d7 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 15:24:38 2015 -0400 ntfs: super.c: Fix error log "transation" should be "transaction" Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 253508cadddbb676b05f03ada93d0f986df107f5 Author: Nik Nyby <nikolas@xxxxxxx> Date: Fri Jun 26 12:05:39 2015 -0400 fix typo in Documentation/SubmittingPatches This adds a missing letter in Documentation/SubmittingPatches. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit bd0a1d6c10a43280a85f7283351623d16e21d9fc Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Jun 4 00:54:34 2015 +0900 scsi:fcoe: Fix typo "a ethernet" in fcoe_transport.c This patch fix some "a ethernet" in MODULE_DESCRIPTIONS in fcoe_transport.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 1066c48281d0401cafff58e7eff1820936eef489 Author: Diego Viola <diego.viola@xxxxxxxxx> Date: Sun May 31 15:52:41 2015 -0300 drivers/usb/gadget/composite.c: i18n is not an acronym Signed-off-by: Diego Viola <diego.viola@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 7cd71c3ba166913a0afb8ac0d6bd5d2730fea6df Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Aug 7 13:00:35 2015 +0100 regulator: core: Drop regulator_list_mutex when we're done with it on remove When removing a regulator we hold regulator_list_mutex in order to ensure the regualtor doesn't become removed again. However we only need to protect the list until we remove the regulator from the list so move the unlock earlier to reduce the locked region. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 60acc4ebe710a8e5c56a8488e91c8b1903289ca8 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed May 27 15:05:42 2015 +0300 treewide: Fix typo compatability -> compatibility Even though 'compatability' has a dedicated entry in the Wiktionary, it's listed as 'Mispelling of compatibility'. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> for the atomic_helper.c Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit b527538fe6f9506d619c09ee5f86b27d91e779e4 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu May 21 22:41:10 2015 +0900 w1: Fix typo in MODULE_DESCRIPTION in matrox_w1.c This patch fix spelling typo in matrox_w1.c Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 3da56d1663158a23818a5b94721cd79f7e4342d7 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Thu May 21 22:35:57 2015 +0200 kernel: exit: fix typo in comment s,critiera,criteria, While at it, add a comma, because it makes sense grammatically. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit eaf593c38d793ef1e63c90150a1555f5e6631b56 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu May 21 14:12:29 2015 +0200 freevxfs: Grammar s/an negative/a negative/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d8ffcf711c2d58ffb8d3aaa1c7e1d075f13be852 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu May 21 14:02:18 2015 +0200 ASoC: fsl_esai: Spelling s/specifially/specifically/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 971bd8fa369a37b047c26e9a47d4c1f5d2dce4d3 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed May 20 23:54:02 2015 +0900 treewide: Fix typo in printk This patch fix spelling typo inv various part of sources. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 152b28392a8d9dd08e789b48b602eb75eef436fa Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Thu Aug 6 13:05:54 2015 -0400 KVM: s390: Fix assumption that kvm_set_irq_routing is always run successfully This fixes the assumption that kvm_set_irq_routing is always run successfully by instead making it equal to the variable r which we use for returning in the function kvm_arch_vm_ioctl instead of making r equal to zero when calling this particular function and incorrectly making the caller of kvm_arch_vm_ioctl think the function has run successfully. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Message-Id: <1438880754-27149-1-git-send-email-xerofoify@xxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 16fd6572e48a3e3ab42cba72a9d7d57881c5fdfd Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:07 2015 +0200 ARM: at91/dt: sama5d4: use slow clock where necessary The watchdog, the reset controller, the RTC, the shutdown controller, the timer counters and the LCD PWM need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 288fb7ff8eed8a611af0fa35648a035976ed5108 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:06 2015 +0200 ARM: at91/dt: sama5d3: use slow clock where necessary The watchdog, the reset controller, the RTC, the shutdown controller, the timer counters and the LCD PWM need the slow clock, add it where necessary. [boris.brezillon@xxxxxxxxxxxxxxxxxx: add tcb clocks] Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 39c6491505ce872fa52c4961e21ee13ca7675739 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:06 2015 +0200 ARM: at91/dt: at91sam9x5: use slow clock where necessary The watchdog, the reset controller, the RTC, the shutdown controller, the timer counters and the LCD PWM need the slow clock, add it where necessary, The LCD PWM will be handled later. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 8c945b7e4eceb09ecb1405b02561fcc1b058a8eb Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:05 2015 +0200 ARM: at91/dt: at91sam9rl: use slow clock where necessary The watchdog, the reset controller, the RTC, the real-time timer, the shutdown controller and the timer counter need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 67451069d4442d2833c906facaff20aa532dea22 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:05 2015 +0200 ARM: at91/dt: at91sam9n12: use slow clock where necessary The watchdog, the reset controller, the RTC, the shutdown controller, the timer counters and the LCD PWM need the slow clock, add it where necessary. The LCD PWM will be handled later. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 6b2717928c6a938dcd2d1cc6a3054be86117700e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:04 2015 +0200 ARM: at91/dt: at91sam9g45: use slow clock where necessary The watchdog, the reset controller, the RTC, the real-time timer, the shutdown controller and the timer counters need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 53b0b37852134b19df04cadf7526ddf6650e9915 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:10:03 2015 +0200 ARM: at91/dt: at91sam9263: use slow clock where necessary The watchdog, the reset controller, the two real-time timers, the shutdown controller and the timer counter need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 547eab90f9ee6495e1a61520c38a7386e8898fad Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:09:54 2015 +0200 ARM: at91/dt: at91sam9261: use slow clock where necessary The watchdog, the reset controller, the real-time timer, the shutdown controller and the timer counter need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d0c7faba1f37885cd2de66b62d00240623c5e59c Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:09:53 2015 +0200 ARM: at91/dt: at91sam9260: use slow clock where necessary The watchdog, the reset controller, the real-time timer, the shutdown controller, the timer counters need the slow clock, add it where necessary. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 07e15f2155a6cc57dc945e67aaa1267b254cba0f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 14:09:52 2015 +0200 ARM: at91/dt: at91rm9200: use slow clock where necessary The system timer, the RTC and the timer counters need the slow clock, add it. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit e1162cba4e44bd97d7e690bf664afc71a85b1413 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 00:49:44 2015 +0200 Documentation: dt: rtc: at91rm9200: add clocks property The RTC needs an input clock, it is the slow clock. It is required as it will not function without it. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit d79e327aa58505fe693ef4a5157cc61eb968be02 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 00:43:07 2015 +0200 Documentation: watchdog: at91sam9_wdt: add clocks property The watchdog has an input clock, the slow clock. It is required as it will not function without it. Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 04600560a01270ef3a9bdeaeeebcfa23df81a327 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 02:11:14 2015 +0200 Documentation: dt: atmel-at91: add slow clock to tcb The timer counters need the slow clock. It is required as they will not function without it. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit fe2edd9cbb7763c68350e267f8060113ce9848fe Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 01:02:36 2015 +0200 Documentation: dt: atmel-at91: add clocks to system timer, rstc and shdwc The system timer (at91rm9200), the reset controller and the shutdown controller need an input clock. This is the slow clock and they will not function without it. Also fix the shutdown controller example. Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3499abb249bb5ed9d21031944bc3059ec4aa2909 Author: Andreas Schultz <aschultz@xxxxxxxx> Date: Wed Aug 5 17:51:45 2015 +0200 netfilter: nfacct: per network namespace support - Move the nfnl_acct_list into the network namespace, initialize and destroy it per namespace - Keep track of refcnt on nfacct objects, the old logic does not longer work with a per namespace list - Adjust xt_nfacct to pass the namespace when registring objects Signed-off-by: Andreas Schultz <aschultz@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d2168e849ebf617b2b7feae44c0c0baf739cb610 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Aug 5 12:38:44 2015 +0200 netfilter: nft_limit: add per-byte limiting This patch adds a new NFTA_LIMIT_TYPE netlink attribute to indicate the type of limiting. Contrary to per-packet limiting, the cost is calculated from the packet path since this depends on the packet length. The burst attribute indicates the number of bytes in which the rate can be exceeded. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8bdf3626425520e9bc55996d5d46f60e12dd3ad7 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun Aug 2 14:24:24 2015 +0200 netfilter: nft_limit: constant token cost per packet The cost per packet can be calculated from the control plane path since this doesn't ever change. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3e87baafa4f476017b2453e52a1ca7308b4e6ad5 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun Aug 2 18:02:14 2015 +0200 netfilter: nft_limit: add burst parameter This patch adds the burst parameter. This burst indicates the number of packets that can exceed the limit. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f8d3a6bc76011bb86d2515ebd0b3b300641f2f8c Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun Aug 2 14:16:42 2015 +0200 netfilter: nft_limit: factor out shared code with per-byte limiting This patch prepares the introduction of per-byte limiting. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit dba27ec1bc382014aa2ba46e96f421b5f6536dae Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Jul 31 14:10:22 2015 +0200 netfilter: nft_limit: convert to token-based limiting at nanosecond granularity Rework the limit expression to use a token-based limiting approach that refills the bucket gradually. The tokens are calculated at nanosecond granularity instead jiffies to improve precision. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 09e4e42a00b99e94cfce27e63b06daca0c26e841 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Jul 31 14:16:51 2015 +0200 netfilter: nft_limit: rename to nft_limit_pkts To prepare introduction of bytes ratelimit support. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d877f07112f1e5a247c6b585c971a93895c9f738 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun May 31 18:04:11 2015 +0200 netfilter: nf_tables: add nft_dup expression This new expression uses the nf_dup engine to clone packets to a given gateway. Unlike xt_TEE, we use an index to indicate output interface which should be fine at this stage. Moreover, change to the preemtion-safe this_cpu_read(nf_skb_duplicated) from nf_dup_ipv{4,6} to silence a lockdep splat. Based on the original tee expression from Arturo Borrero Gonzalez, although this patch has diverted quite a bit from this initial effort due to the change to support maps. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit bbde9fc1824aab58bc78c084163007dd6c03fe5b Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun May 31 17:54:44 2015 +0200 netfilter: factor out packet duplication for IPv4/IPv6 Extracted from the xtables TEE target. This creates two new modules for IPv4 and IPv6 that are shared between the TEE target and the new nf_tables dup expressions. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 24b7811fa5de7bbbab3b782a38889034ea267f70 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Jul 1 16:38:10 2015 +0200 netfilter: xt_TEE: get rid of WITH_CONNTRACK definition Use IS_ENABLED(CONFIG_NF_CONNTRACK) instead. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 0c45e76960ded9da56bd66e603a7f0cae215f87e Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Jun 8 14:42:40 2015 +0200 netfilter: nft_counter: convert it to use per-cpu counters This patch converts the existing seqlock to per-cpu counters. Suggested-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Suggested-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 12e035968191c05a574c9c20367cb3090bc7d99d Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Thu Aug 6 12:44:30 2015 +0200 ath9k: fix build with CONFIG_ATH9K_STATION_STATISTICS=y kbuild bot reported that commit 592fa228f213 ("ath9k: remove struct ath_atx_ac") broke the build when CONFIG_ATH9K_STATION_STATISTICS is y. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: 592fa228f213 ("ath9k: remove struct ath_atx_ac") Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f968393161de7612800ea650d435ebe26d38e3a5 Merge: 74d3329 f5b8319 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Aug 7 10:07:24 2015 +0200 Merge branch 'for-joerg/arm-smmu/updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu commit aad1b688c996b4a247c4a8fd1bd6c5c563963ddb Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 7 08:55:48 2015 +0200 s390/vdso: emit a GNU hash As proposed by Andy Lutomirski create the SysV and the GNU hash for the vdso objects. This may make some dynamic loaders a bit faster. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 7cde4910a5adcab62506eff49f4500053464fc8a Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 11:23:53 2015 +0200 s390/numa: make core to node mapping data dynamic The core to node mapping data consumes about 2 KB bss data. To save memory for the non-NUMA case, make the data dynamic. In addition change the "core_to_node" array from "int" to "s32" which saves 1 KB also for the NUMA case. Suggested-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 854508c0d0bbcf2f80fa1f79af5cb9ce219b2e9c Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Aug 4 23:38:23 2015 -0700 s390/lib: export __delay __delay is exported by most architectures, and may be used in modules. Since it is not exported for s390, s390:allmodconfig currently fails to build with ERROR: "__delay" [drivers/net/phy/mdio-octeon.ko] undefined! Fixes: a6d678645210 ("net: mdio-octeon: Modify driver to work on both ThunderX and Octeon") Cc: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b2f4de8b843567504ee12b652b35819b60e25a86 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Tue Aug 4 17:11:47 2015 +0200 s390: remove unneeded variables This patch remove unneeded variables used to store return values. These issues were detected with the Coccinelle script: scripts/coccinelle/misc/returnvar.cocci [heiko.carstens@xxxxxxxxxx]: make qeth_l[2/3]_stop() return void Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3b97487445ef3833fcb88ca4bb469b6df3b44329 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Tue Aug 4 17:11:15 2015 +0200 s390: remove unneeded semicolon Remove unneeded semicolon. The semantic patch that detects this change is available at scripts/coccinelle/misc/semicolon.cocci. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3a3814c28b13d038ce5e055fc01f9a7aa5b821b9 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 1 18:12:41 2015 +0200 s390/topology: remove topology lock Since we are already protected by the "sched_domains_mutex" lock, we can safely remove the topology lock. Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1ebd08a7e5ef6265092eae19a547674733dc1c01 Merge: d92cff8 d2d7d4e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 7 00:19:09 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-08-05 This series contains updates to i40e, i40evf and e1000e. Anjali adds support for x772 devices to i40e and i40evf. With the added support, x772 supports offloading of the outer UDP transmit and receive checksum for tunneled packets. Also supports evicting ATR filters in the hardware, so update the driver with this new feature set. Raanan provides several fixes for e1000e, first rectifies the Energy Efficient Ethernet in Sx code so that it only applies to parts that actually support EEE in Sx. Fix whitespace and moved ICH8 related define to the proper context. Fixed the ASPM locking which was reported by Bjorn Helgaas. Fix a workaround implementation for systime which could experience a large non-linear increment of the systime value when checking for overflow. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1354ac6ad84395660f551d0614a6ca39e5bfe8e3 Merge: b6b6c18 141b2d3 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Aug 7 09:11:30 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - IPC and cycle accounting in 'perf annotate'. (Andi Kleen) - Display cycles in branch sort mode in 'perf report'. (Andi Kleen) - Add total time column to 'perf trace' syscall stats summary. (Milian Woff) Infrastructure changes: - PMU helpers to use in Intel PT. (Adrian Hunter) - Fix perf-with-kcore script not to split args with spaces. (Adrian Hunter) - Add empty Build files for some more architectures. (Ben Hutchings) - Move 'perf stat' config variables to a struct to allow using some of its functions in more places. (Jiri Olsa) - Add DWARF register names for 'xtensa' arch. (Max Filippov) - Implement BPF programs attached to uprobes. (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d92cff89a0c80e7e49796366e441d97f07b5d321 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Tue Aug 4 18:26:19 2015 +0200 net_dbg_ratelimited: turn into no-op when !DEBUG The pr_debug family of functions turns into a no-op when -DDEBUG is not specified, opting instead to call "no_printk", which gets compiled to a no-op (but retains gcc's nice warnings about printf-style arguments). The problem with net_dbg_ratelimited is that it is defined to be a variant of net_ratelimited_function, which expands to essentially: if (net_ratelimit()) pr_debug(fmt, ...); When DEBUG is not defined, then this becomes, if (net_ratelimit()) ; This seems benign, except it isn't. Firstly, there's the obvious overhead of calling net_ratelimit needlessly, which does quite some book keeping for the rate limiting. Given that the pr_debug and net_dbg_ratelimited family of functions are sprinkled liberally through performance critical code, with developers assuming they'll be compiled out to a no-op most of the time, we certainly do not want this needless book keeping. Secondly, and most visibly, even though no debug message is printed when DEBUG is not defined, if there is a flood of invocations, dmesg winds up peppered with messages such as "net_ratelimit: 320 callbacks suppressed". This is because our aforementioned net_ratelimit() function actually prints this text in some circumstances. It's especially odd to see this when there isn't any other accompanying debug message. So, in sum, it doesn't make sense to have this function's current behavior, and instead it should match what every other debug family of functions in the kernel does with !DEBUG -- nothing. This patch replaces calls to net_dbg_ratelimited when !DEBUG with no_printk, keeping with the idiom of all the other debug print helpers. Also, though not strictly neccessary, it guards the call with an if (0) so that all evaluation of any arguments are sure to be compiled out. Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9610c8abd2d278a957b1b586390b8c928980e79b Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Aug 6 22:09:40 2015 -0700 ARM: OMAP2+: Fix power domain operations regression caused by 81xx I managed to mess up omap3 power domain operations with commit 7c80a3f89c51 ("ARM: OMAP2+: Add custom prwdm_operations for 81xx to support dm814x"), by default we should keep on using the omap3_pwrdm_operations, only 81xx needs custom handling. This causes omap3 PM to break so we won't hit off mode any longer causing idle power consumption go up from less than 10mW to over 50 mW. Fixs: 7c80a3f89c51 ("ARM: OMAP2+: Add custom prwdm_operations for 81xx to support dm814x") Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b49d15d138aa4632f35a2db93dee775d920f3653 Author: NeilBrown <neil@xxxxxxxxxx> Date: Fri Aug 7 13:45:25 2015 +1000 twl4030_charger: fix compile error when TWL4030_MADC not available. We can only use the madc to check for 'ac' availability if the madc has been compiled in. If not: assume always using USB. Reported-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3dcb615e6841eb945a49f605743a6923ed591400 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 06:36:24 2015 -0700 af_mpls: add null dev check in find_outdev This patch adds null dev check for the 'cfg->rc_via_table == NEIGH_LINK_TABLE or dev_get_by_index() failed' case Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c621818404bbb0bed1a8892d843b499182fa7e9 Merge: c71b5ad 86bf172 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 6 22:02:32 2015 -0700 Merge branch 'test-bpf-next' Nicolas Schichan says: ==================== test_bpf improvements Please find below the patch series with my latest changes to test_bpf. The first patch checks for unexpected NULL generated skbs before running the filter. The second patch adds the possibility for tests to generate fragmented skbs. The third patch tests LD_ABS and LD_IND on fragmented skbs. The fourth patch adds the possibility to restrict the tests being run by specifying the name/id/range of the test(s) to run via module parameters. The fifth patch tests LD_ABS and LD_IND on non fragmented skbs with various sizes and alignments. The sixth and final patch checks that the interpreter or JIT correctly resets A and X to 0. This serie is against today's net-next tree. Changes in V2: * move declaration of 'ptr' in if() block in patch 2/6. * fix various typos in patch 4/6 * rework default init of test_range array and cleanup exclude_test() return condition in patch 4/6. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86bf1721b2263607588b23b22e78c971379972b5 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:12 2015 +0200 test_bpf: add tests checking that JIT/interpreter sets A and X to 0. It is mandatory for the JIT or interpreter to reset the A and X registers to 0 before running the filter. Check that it is the case on various ALU and JMP instructions. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08fcb08fc06758411d099bcd6a60d6cdee2d50a7 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:11 2015 +0200 test_bpf: add more tests for LD_ABS and LD_IND. This exerces the LD_ABS and LD_IND instructions for various sizes and alignments. This also checks that X when used as an offset to a BPF_IND instruction first in a filter is correctly set to 0. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2648d4e268cee60c9c917a04c3fbc4e8c3bbc7e Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:10 2015 +0200 test_bpf: add module parameters to filter the tests to run. When developping on the interpreter or a particular JIT, it can be interesting to restrict the tests list to a specific test or a particular range of tests. This patch adds the following module parameters to the test_bpf module: * test_name=<string>: only the specified named test will be run. * test_id=<number>: only the test with the specified id will be run (see the output of test_bpf without parameters to get the test id). * test_range=<number>,<number>: only the tests within IDs in the specified id range are run (see the output of test_bpf without parameters to get the test ids). Any invalid range, test id or test name will result in -EINVAL being returned and no tests being run. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2cf1ad759307f4ef2a27a59f3071e357ec487841 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:09 2015 +0200 test_bpf: test LD_ABS and LD_IND instructions on fragmented skbs. These new tests exercise various load sizes and offsets crossing the head/fragment boundary. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bac142acb90e952899cb8204fad12ef7d1e42f94 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:08 2015 +0200 test_bpf: allow tests to specify an skb fragment. This introduce a new test->aux flag (FLAG_SKB_FRAG) to tell the populate_skb() function to add a fragment to the test skb containing the data specified in test->frag_data). Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e34684f88efd9cf29ad5ff4750a0f5586383141f Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Tue Aug 4 15:19:07 2015 +0200 test_bpf: avoid oopsing the kernel when generate_test_data() fails. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c71b5ad06e7306f73815cd64a5fe039a67126c99 Merge: adc4cc9 efea389 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 6 22:00:59 2015 -0700 Merge branch 'mlx5e-next' Amir Vadai says: ==================== net/mlx5e: Driver updates 04-Aug-2015 This patchset introduces two features to the ConnectX-4 driver: Patch 8/8 ("Support physical port counters") exposes some hardware counters through ethtool. Rest of the patches are preparation and usage of what we call light-weight netdev open/close. Some flows that used to be in the ndo_open/stop are moved to the PCI probe/remove flows - i.e. we will make the netdev open/close operations more "light-weight". The benefits of this change are: 1) Reduce the execution time of the stop/open operations. 2) Avoid saving SW shadows of resource configurations that must persist through stop/open operations (e.g flow table steering rules), and avoid deleting/applying them from/to the device upon netdev stop/open. 3) Avoid synchronizing threads that access those resources with the netdev stop/open threads. Instead of create/destroy the resource during netdev open/stop, This patchset changes the behavior such that upon netdev stop, traffic is redirected to a "Drop RQ" (a RQ that silently drops, at the NIC HW level all incoming traffic). After redirecting the traffic, RX/TX software resources could be destroyed. During netdev open, the RX/TX rings are created and traffic is redirected to the RX rings. Patchset was applied and tested over commit ba7591d ("ebpf: add skb->hash to offset map for usage in {cls, act}_bpf or filters") ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efea389d3cc6427a9a94e92b2d7bf4c862f2cfcf Author: Gal Pressman <galp@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:47 2015 +0300 net/mlx5_core: Support physical port counters Added physical port counters in the following standard formats to ethtool statistics: - IEEE 802.3 - RFC2863 - RFC2819 Signed-off-by: Gal Pressman <galp@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b37b07fcb0e00a9c0b605b7b28c2d200f4eb064 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:46 2015 +0300 net/mlx5e: Take advantage of the light-weight netdev open/stop Now that TIRs, TISs and flow tables are kept alive while the netdev is stopped (after executing ndo_stop()) we can do the following improvements: - Obsolete the active_vlans SW shadow. - Do not delete/add flow table rules upon ndo_stop/open. In addition to simplifying the flow, this change also fastens the ndo_open/close operations. - Obsolete synchronization of threads accessing the flow tables with the netdev stop/open threads. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1cefa326ff26dddb2c4a7f43802ce0ba5c35a2ba Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:45 2015 +0300 net/mlx5e: Disable async events before unregister_netdev() It does not make sense to allow events while the netdev is unregistered. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40ab6a6ebeebbcfc313233f5aa0d55930734f529 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:44 2015 +0300 net/mlx5e: Rename/move functions following the ndo_stop flow change Rename some functions that used to be invoked upon ndo_open/stop and are now invoked upon create/destroy_netdev() in order to better hint their place in the flow. Change some functions location in the file so that functions involved in ndo_open/stop flow will not be interleaved with other functions. This is a cosmetic change, no logical change here. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c50368f38317627421bf24a0b66b1af0d44eddc Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:43 2015 +0300 net/mlx5e: Light-weight netdev open/stop Create/destroy TIRs, TISs and flow tables upon PCI probe/remove rather than upon the netdev ndo_open/stop. Upon ndo_stop(), redirect all RX traffic to the (lately introduced) "Drop RQ" and then close only the RX/TX rings, leaving the TIRs, TISs and flow tables alive. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9eea403ca81f60cd535d354c77ada4c2bee8d66 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:42 2015 +0300 net/mlx5_core: Introduce access function to modify RSS/LRO params To be used by the mlx5 Eth driver in following commit. This is in preparation for netdev "light-weight" open/stop flow change described in previous commit. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50cfa25aba67c658979c5a3188d514ee6780364b Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:41 2015 +0300 net/mlx5e: Introduce the "Drop RQ" RX traffic routed to this RQ will be silently dropped, at the NIC HW level. This is in preparation for netdev "light-weight" open/stop flow change described in previous commit. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cbeaff54f00f39493c4251bf115d02e26ac8bf2 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Aug 4 14:05:40 2015 +0300 net/mlx5e: Unify the RX flow Generally an RX packet flows through the following objects: Flow table --> TIR --> RQT --> RQ Where: - TIR stands for "Transport Interface Receive", defining the RSS and LRO paramaters. - RQT stands for "RQ Table", implementing the RSS indirection table. - RQ stands for "Receive Queue" For flows that do not need LRO, nor RSS, the driver made a shortcut to the above RX flow by pointing to the RQ directly from the TIR, yielding this flow: Flow table --> TIR --> RQ In this commit we remove this shortcut by "inserting" a single-RQ RQT between the TIR and the RQ, i.e RX packets will reach the same RQ but will go through an RQT of size 1, pointing to just a single RQ. This way the RX traffic re-direction to/from the "Drop RQ" will be more uniform (AKA "one flow"), as it will involve only RQTs re-direction and no TIRs re-direction. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit adc4cc99b765d49b0613365a89212cfc75c06c22 Merge: 5a9348b 32a7432 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 6 21:59:27 2015 -0700 Merge branch 'cpsw-next' Mugunthan V N says: ==================== CPSW interrupt handling cleanup and performance improvement This patch series removes the irq controller disable interrupt and adding a napi for tx event handling which improves the performance by ~180Mbps on dra7-evm [ 5] local 192.168.10.116 port 5001 connected with 192.168.10.165 port 44176 [ 5] 0.0-60.0 sec 1.48 GBytes 210 Mbits/sec [ 4] local 192.168.10.116 port 5001 connected with 192.168.10.165 port 33257 [ 4] 0.0-60.0 sec 2.71 GBytes 386 Mbits/sec Changes from initial version: * Added a patch to have napi only for first interface as there is no use of having seperate napis for each interface as the interrupt is shared by both interface and only one napi is scheduled for each interrupt. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32a7432c0fb8b0117961bdc7ab256667d039de16 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Tue Aug 4 16:06:20 2015 +0530 drivers: net: cpsw: add separate napi for tx Instead of processing tx events in isr adding separate napi for tx which improves performance by ~180Mbps with omap2plus_defconfig on DRA74x platform. Also cleaning up rx napis by renaming to napi_rx for better understanding the code. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d354eb85d61803e07831b68d1985cd9cfe2f8b59 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Tue Aug 4 16:06:19 2015 +0530 drivers: net: cpsw: dual_emac: simplify napi usage Since interrupt is shared between the two ethernet interface and in isr only one napi is scheduled at an instance so having two napis doesn't make any difference. So making napi also as a common resource for the dual ethernet interfaces. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 870915feabdc3af5f0ebb72d1fcf96bff01837b0 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Tue Aug 4 16:06:18 2015 +0530 drivers: net: cpsw: remove disable_irq/enable_irq as irq can be masked from cpsw itself CPSW interrupts can be disabled by masking CPSW interrupts and clearing interrupt by writing appropriate EOI. So removing all disable_irq/enable_irq as discussed in [1] [1] http://patchwork.ozlabs.org/patch/492741/ Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a9348b54d396c0b8bb877abcb107293034a87de Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 4 10:44:22 2015 +0300 mpls: small cleanup in inet/inet6_fib_lookup_dev() We recently changed this code from returning NULL to returning ERR_PTR. There are some left over NULL assignments which we can remove. We can preserve the error code from ip_route_output() instead of always returning -ENODEV. Also these functions use a mix of gotos and direct returns. There is no cleanup necessary so I changed the gotos to direct returns. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02b52428475672a241365910949deb6fe95d043c Merge: ff14702 2971ff6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 6 21:54:13 2015 -0700 Merge branch 'bnx2x-cnic-bnx2fc-bd-support' Yuval Mintz says: ==================== bnx2x, cnic, bnx2fc: add support for BD Commit 230d00eb4bfe ("bnx2x: new Multi-function mode - BD") added support for a new multi-function mode, but it added only the support required by bnx2x for L2 interfaces. This adds the required changes to support the new multi-function mode in the offloaded storage protocols. Dave, Please consider applying this series to `net-next'. Do notice that this involves non-networking driver changes - but sending this as a single series seemed like the best approach as we had to have bnx2x changes to support the new functionality. If this is problematic, please tell us what's the preferred solution here. Changes from previous versions ------------------------------ - From v1 - no actual changes; v1 failed to reach netdev so in order to keep things in line I've termed this one v2. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2971ff67bd3283d187bd7a7906adfbbaad2257e1 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Tue Aug 4 09:37:30 2015 +0300 bnx2fc: Read npiv table from nvram and create vports. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97ac4ef78e6d44019745de7761da8536a9068cf8 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Tue Aug 4 09:37:29 2015 +0300 bnx2x: Add BD support for storage Commit 230d00eb4bfe ("bnx2x: new Multi-function mode - BD") adds support for the new mode in bnx2x. This expands this support by implementing APIs required by our storage drivers to support that mode. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b8d5044024df97edfcce8f0c4a6ca0abd99300e Author: Adheer Chandravanshi <adheer.chandravanshi@xxxxxxxxxx> Date: Tue Aug 4 09:37:28 2015 +0300 cnic: Add the interfaces to get FC-NPIV table. Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eddb755428e6e723bf587a4e2c15055c8ac02f5b Author: Tej Parkash <tej.parkash@xxxxxxxxxx> Date: Tue Aug 4 09:37:27 2015 +0300 cnic: Populate upper layer driver state in MFW Signed-off-by: Tej Parkash <tej.parkash@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff1470284493ca18da852e36afe39d29d0feb875 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Mon Aug 3 22:31:18 2015 -0700 rocker: use netdev_err after register_netdev After successful register_netdev, we can use netdev_err rather the more generic dev_err. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c4f7780a5dd6773a653c87bf7ee61c6aea6a4e7 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Mon Aug 3 22:31:17 2015 -0700 rocker: NULL port if port probe fails Set port to NULL if port probe fails so we don't try to remove partially initialized port on port probe err cleanup path. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 459c15e53cf7e4e88a78ecfb109af5a267c5500a Merge: 730daa1 233ce79 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Fri Aug 7 13:27:58 2015 +1000 Merge tag 'asn1-fixes-20150805' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next commit 5aecc3c8a24a7c2db29ec4a927bbb08befcb508e Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Wed Aug 5 09:28:50 2015 +0900 intel_pstate: append more Oracle OEM table id to vendor bypass list Append more Oracle X86 servers that have their own power management, SUN FIRE X4275 M3 SUN FIRE X4170 M3 and SUN FIRE X6-2 Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1c9391238753ffb370f02743b5f43bac6dea304b Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:47:14 2015 -0700 intel_pstate: Add SKY-S support Whitelist the SKL-S processor Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d15fa86276e8515443251c0d18930e392bc5afc5 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:11 2015 +0530 cpufreq: dt: Add support for turbo/boost mode With opp-v2 DT bindings, few OPPs can be used only for the boost mode. But using such OPPs require the boost mode to be supported by cpufreq driver. We will parse DT bindings only during ->init() and so can enable boost support only after registering cpufreq driver. This enables boost support as soon as any policy has boost/turbo OPPs for its CPUs. We don't need to disable boost support as that is done by the core, when the driver is unregistered. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2e02d8723edf6599988852a8ade8f83b2f766cb8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:10 2015 +0530 cpufreq: dt: Add support for operating-points-v2 bindings Support for parsing operating-points-v2 bindings is in place now, lets modify cpufreq-dt driver to use them. For backward compatibility we will continue to support earlier bindings. Special handling for that is required, to make sure OPPs are initialized for all the CPUs. Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 44139ed4943ee8ec186eea3e9072ca16d2b48133 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:09 2015 +0530 cpufreq: Allow drivers to enable boost support after registering driver In some cases it wouldn't be known at time of driver registration, if the driver needs to support boost frequencies. For example, while getting boost information from DT with opp-v2 bindings, we need to parse the bindings for all the CPUs to know if turbo/boost OPPs are supported or not. One way out to do that efficiently is to delay supporting boost mode (i.e. creating /sys/devices/system/cpu/cpufreq/boost file), until the time OPP bindings are parsed. At that point, the driver can enable boost support. This can be done at ->init(), where the frequency table is created. To do that, the driver requires few APIs from cpufreq core that let him do this. This patch provides these APIs. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 79eea44a5d7b9170d12d75c701d8c0e2d8d83c06 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Jul 29 16:23:08 2015 +0530 cpufreq: Update boost flag while initializing freq table from OPPs cpufreq table entries for OPPs with turbo modes enabled, should be marked with CPUFREQ_BOOST_FREQ flag. This ensures that these states are only used while operating in boost or turbo mode. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2dc36ecfaa0e668eabdc6b7df4592a08ef8776ee Merge: 19445b2 144c8e1 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Aug 7 03:25:16 2015 +0200 Merge branch 'pm-cpufreq' into pm-opp commit 19445b25e350ebebaa304bb2135619f643302947 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Thu Jul 9 17:43:35 2015 +0200 PM / OPP: add dev_pm_opp_is_turbo() helper Add dev_pm_opp_is_turbo() helper to verify if an opp is to be used only for turbo mode or not. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8d4d4e98acd68c31435ebb7beea591dbf60b9eb2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 17:10:38 2015 +0530 PM / OPP: Add helpers for initializing CPU OPPs With "operating-points-v2" its possible to tell which devices share OPPs. We already have infrastructure to decode that information. This patch adds following APIs: - of_get_cpus_sharing_opps: Returns cpumask of CPUs sharing OPPs (only valid with v2 bindings). - of_cpumask_init_opp_table: Initializes OPPs for all CPUs present in cpumask. - of_cpumask_free_opp_table: Frees OPPs for all CPUs present in cpumask. - set_cpus_sharing_opps: Sets which CPUs share OPPs (only valid with old OPP bindings, as this information isn't present in DT). Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ad656a6a8b1c8b4b2e723646e0402867f2f45395 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jun 13 15:10:21 2015 +0530 PM / OPP: Add support for opp-suspend With "operating-points-v2" bindings, it's possible to specify the OPP to which the device must be switched, before suspending. This patch adds support for getting that information. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 064416586190cb058d4c76a4e26b1996f434b6ca Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:04 2015 +0530 PM / OPP: Add OPP sharing information to OPP library An opp can be shared by multiple devices, for example its very common for CPUs to share the OPPs, i.e. when they share clock/voltage rails. This patch adds support of shared OPPs to the OPP library. Instead of a single device, dev_opp will now contain a list of devices that use it. It also senses if the device (we are trying to initialize OPPs for) shares OPPs with a device added earlier and in that case we update the list of devices managed by OPPs instead of duplicating OPPs again. The same infrastructure will be used for the old OPP bindings, with later patches. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3ca9bb33c627f22640cfca97fdf88eec0a120dfd Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:03 2015 +0530 PM / OPP: Add clock-latency-ns support With "operating-points-v2" bindings, clock-latency is defined per OPP. Users of this value expect a single value which defines the latency to switch to any clock rate. Find maximum clock-latency-ns from the OPP table to service requests from such users. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 274659029c9de5b11678d3a52a45e3dbc9177a48 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:02 2015 +0530 PM / OPP: Add support to parse "operating-points-v2" bindings This adds support in OPP library to parse and create list of OPPs from operating-points-v2 bindings. It takes care of most of the properties of new bindings (except shared-opp, which will be handled separately). For backward compatibility, we keep supporting earlier bindings. We try to search for the new bindings first, in case they aren't present we look for the old deprecated ones. There are few things marked as TODO: - Support for multiple OPP tables - Support for multiple regulators They should be fixed separately. Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 23dacf6d2e993551ef3ae0629baf6f473930513c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:01 2015 +0530 PM / OPP: Break _opp_add_dynamic() into smaller functions Later commits would add support for new OPP bindings and this would be required then. So, lets do it in a separate patch to make it easily reviewable. Another change worth noticing is INIT_LIST_HEAD(&opp->node). We weren't doing it earlier as we never tried to delete a list node before it is added to list. But this wouldn't be the case anymore. We might try to delete a node (just to reuse the same code paths), without it being getting added to the list. Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit aa5f2f854f03e6dc3dec8874bbcff1452b4bc09e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:23:00 2015 +0530 PM / OPP: Allocate dev_opp from _add_device_opp() There is no need to complicate _opp_add_dynamic() with allocation of dev_opp as well. Allocate it from _add_device_opp() instead. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3bac42caec612a1b82db7944570353cddca6a013 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:22:59 2015 +0530 PM / OPP: Create _remove_device_opp() for freeing dev_opp This will be used from multiple places later. Lets create a separate routine for that. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 737002b5de3d15b3012feea17f782a628b24699b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:22:58 2015 +0530 PM / OPP: Relocate few routines In order to prepare for the later commits, this relocates few routines towards the top as they will be used earlier in the code. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3566c5b277a41e912d15cd583c4604c95bb6b3f8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 30 22:27:19 2015 +0530 PM / OPP: Create a directory for opp bindings More platform specific extended opp bindings will follow and it would be easy to manage them with a directory for opp. Lets create that and move the existing opp bindings into it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ba4539ffc19b090841cd32ffe2c57d937e311857 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 29 16:22:56 2015 +0530 PM / OPP: Update bindings to make opp-hz a 64 bit value With a 32 bit value, the maximum frequency that the bindings can support is ~ 4 GHz. And that might fall short of what newer systems may have. Allow opp-hz to be a 64 bit big-endian value. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Suggested-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 10742619ac63641bcce0a7c07f0dc7509201ed72 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Sat Aug 1 21:32:17 2015 +0800 ACPI: fix acpi_debugfs_init prototype acpi_debugfs_init function is declared with return type int in drivers/acpi/internal.h when CONFIG_DEBUG_FS is enabled, but its definition in drivers/acpi/debugfs.c has return type void. This is due to commit aecad432fd68 ("ACPI: Cleanup custom_method debug stuff"), which changed the return type from int to void without updating the declaration. Fix this inconsistency by updating acpi_debugfs_init prototype. While at it, include internal.h in debugfs.c so that the compiler can check that the declaration and definition remain compatible. Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cb4ff766c42f0511ead5488b8de77fd392677464 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Wed Aug 5 16:24:04 2015 +0800 ACPI / Documentation: Update method tracing documentation. This patch updates method tracing documentation. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a0186bcf7c21907c78ab2b4bc50f3fb2b5047806 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Wed Aug 5 16:23:57 2015 +0800 ACPI / sysfs: Add support to allow leading "\" missing in trace_method_name. Since _SB.PCI0 can be used as relative path from root and can be easily converted into internal trace_method_name format, we allow users to specify trace_method_name using relative paths from root. Note this is useful for grub2 for which users failed to pass "\" from the grub configuration file. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7901a052a981691d18f4e8f91fc27e40849b7336 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Wed Aug 5 16:23:51 2015 +0800 ACPI / sysfs: Update method tracing facility. This patch updates the method tracing facility as the acpi_debug_trace() API has been updated to allow it to trace AML interpreter execution, the meanings and the usages of the API parameters are changed due to the updates. The new API: 1. Uses ACPI_TRACE_ENABLED flag to indicate the enabling of the tracer; 2. Allows tracer still can be enabled when method name is not specified so that the AML interpreter execution can be traced without knowing the method name, which is useful for kernel boot tracing; 3. Supports arbitrary full path name, it doesn't need to be a name related to an entrance of acpi_evaluate_object(). Note that the sysfs parameters are also updated so that when reading the attribute files, ACPICA internal settings are returned. In order to make the sysfs parameters (acpi.trace_state) available during boot, this patch adds code to bypass ACPICA semaphore/mutex invocations when acpi mutex utilities haven't been initialized. This patch doesn't update documentation of method tracing facility, it will be updated by further patches. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 93d988310bb2f5ed16ba075bbc4281aa06907e72 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Wed Aug 5 16:23:43 2015 +0800 ACPI / sysfs: Add ACPI_LV_REPAIR debug level. This patch updates debug_level file, adding ACPI_LV_REPAIR. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6d63e354af8ca57f41ab3958b30a980a0bb50ada Merge: 74d3329 40913fe Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Aug 7 02:40:55 2015 +0200 Merge branch 'acpica' into acpi-trace commit ff3e9a7307db12a553c20bd92a7cade072445244 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Aug 6 20:22:40 2015 -0400 tile/vdso: emit a GNU hash as well In principle, including the GNU hash can allow libc to avoid calculating SysV hashes at all. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 34d99af52ad40bd498ba66970579a5bc1fb1a3bc Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Aug 5 16:29:37 2015 -0400 audit: implement audit by executable This adds the ability audit the actions of a not-yet-running process. This patch implements the ability to filter on the executable path. Instead of just hard coding the ino and dev of the executable we care about at the moment the rule is inserted into the kernel, use the new audit_fsnotify infrastructure to manage this dynamically. This means that if the filename does not yet exist but the containing directory does, or if the inode in question is unlinked and creat'd (aka updated) the rule will just continue to work. If the containing directory is moved or deleted or the filesystem is unmounted, the rule is deleted automatically. A future enhancement would be to have the rule survive across directory disruptions. This is a heavily modified version of a patch originally submitted by Eric Paris with some ideas from Peter Moody. Cc: Peter Moody <peter@xxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [PM: minor whitespace clean to satisfy ./scripts/checkpatch] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 7f49294282c49ef426ed05eb4959728524ba140c Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Aug 5 16:29:36 2015 -0400 audit: clean simple fsnotify implementation This is to be used to audit by executable path rules, but audit watches should be able to share this code eventually. At the moment the audit watch code is a lot more complex. That code only creates one fsnotify watch per parent directory. That 'audit_parent' in turn has a list of 'audit_watches' which contain the name, ino, dev of the specific object we care about. This just creates one fsnotify watch per object we care about. So if you watch 100 inodes in /etc this code will create 100 fsnotify watches on /etc. The audit_watch code will instead create 1 fsnotify watch on /etc (the audit_parent) and then 100 individual watches chained from that fsnotify mark. We should be able to convert the audit_watch code to do one fsnotify mark per watch and simplify things/remove a whole lot of code. After that conversion we should be able to convert the audit_fsnotify code to support that hierarchy if the optimization is necessary. Move the access to the entry for audit_match_signal() to the beginning of the audit_del_rule() function in case the entry found is the same one passed in. This will enable it to be used by audit_autoremove_mark_rule(), kill_rules() and audit_remove_parent_watches(). This is a heavily modified and merged version of two patches originally submitted by Eric Paris. Cc: Peter Moody <peter@xxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [PM: added a space after a declaration to keep ./scripts/checkpatch happy] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 141b2d3161f19a774b3ceaa8faed5e63484a4684 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:51 2015 +0300 perf tools: Extend the event parser maximum error index Extend the event parser maximum error index from 10 to 13. That allows PMU config terms of up to 10 characters to display un-truncated in the error message. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-17-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0efe6b67690b6546daa0d2f34a17eb3ca46c9dea Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:50 2015 +0300 perf tools: Validate config term maximum value Currently the value of a PMU config term is silently truncated if it is too big. This is an impediment to validating the value for other criteria later on i.e. the user provides an invalid value that gets truncated to a valid one. The maximum value validation is only done for the parser where the error is passed back to the user. In other cases the silent truncation continues so as not to affect tools that perhaps rely on it. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-16-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 09ff607176ab2bf7e038150100fdf9290a6fbe47 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:49 2015 +0300 perf tools: Add perf_pmu__format_bits() Add perf_pmu__format_bits() to get the format bits for a PMU config term. Intel PT will use this to validate terms and to record format bits to enable later interpreting the config from the attribute stored in the perf.data file. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-15-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8bd1b2d2578ca2688969352ed1f8a0a8f10dbb63 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:47 2015 +0300 perf tools: Fix perf-with-kcore handling of arguments containing spaces Fix the perf-with-kcore script so that it doesn't split arguments that contain spaces. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-13-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f70cfa07e3675a115265e32d6357272275358cdb Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Jul 17 19:33:46 2015 +0300 perf auxtrace: Fix period type 'i' not working PERF_ITRACE_PERIOD_INSTRUCTIONS is zero so it got overwritten by the default period type. Fix by checking if the period type was set rather than if the value was zero when applying the default. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437150840-31811-12-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 74d4582f430a797564f92fbff0bd3a21945528b7 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Jul 18 11:30:11 2015 +0300 perf tools xtensa: Add DWARF register names Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: Chris Zankel <chris@xxxxxxxxxx> Cc: Marc Gauthier <marc@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: linux-xtensa@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1437208216-15729-9-git-send-email-jcmvbkbc@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 40997d6cf9fc40c85dba479e162a89e7530eb360 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:53 2015 -0700 perf report: Display cycles in branch sort mode Display the cycles by default in branch sort mode. To make enough room for the new column I removed dso_to. It is usually redundant with dso_from. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-9-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a18b027efe1a2a502d98a8d0ea0391a72bf3f696 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:52 2015 -0700 perf top: Add branch annotation code to top Now that we can process branch data in annotate it makes sense to support enabling branch recording from top too. Most of the code needed for this is already in shared code with report. But we need to add: - The option parsing code (using shared code from the previous patch) - Document the options - Set up the IPC/cycles accounting state in the top session - Call the accounting code in the hist iter callback Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-8-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f8f4aaead579c947fb8fc051c9d242037025caf3 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:51 2015 -0700 perf annotate: Finally display IPC and cycle accounting Add two new columns to the annotate display and display the average cycles and the compute IPC if available. When the LBR was not in any branch mode the IPC computation is automatically disabled. We still display the cycle information. Example output (with made up numbers): The second column is the IPC and third average cycles. â?? __attribute__((noinline)) f2() â?? { 5.15 0.07 â?? push %rbp 0.01 0.07 â?? mov %rsp,%rbp â?? c = a / b; 9.87 0.07 â?? mov a,%eax 0.07 â?? mov b,%ecx 0.07 â?? cltd 4.92 0.07 123â?? idiv %ecx 70.79 0.07 â?? mov %eax,__TMC_END__ â?? } 9.25 0.07 â?? pop %rbp 0.01 0.07 123â?? â?? retq v2: Fix display problems. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-7-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 30e863bb6f708c0abd422fbb0e6b295f5ee6407b Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:50 2015 -0700 perf annotate: Compute IPC and basic block cycles Compute the IPC and the basic block cycles for the annotate display. IPC is computed by counting the instructions, and then dividing the accounted cycles by that count. The actual IPC computation can only be done at annotate time, because we need to parse the objdump output first to know the number of instructions in the basic block. The cycles/IPC are also put into the perf function annotation so that the display code can show them. Again basic block overlaps are not handled, with the longest winning, but there are some heuristics to hide the IPC when the longest is not the most common. v2: Compute IPC correctly. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-6-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 57849998e2cd24d50295076a1bbd2f029e2d7c38 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:49 2015 -0700 perf report: Add processing for cycle histograms Call the earlier added cycle histogram infrastructure from the perf report hist iter callback. For this we walk the branch records. This allows to use cycle histograms when browsing perf report annotate. v2: Rename flag Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-5-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d4957633bf9dab70e566e7dbb2b8d0c61c3a2f1e Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:48 2015 -0700 perf report: Add infrastructure for a cycles histogram This adds the basic infrastructure to keep track of cycle counts per basic block for annotate. We allocate an array similar to the normal accounting, and then account branch cycles there. We handle two cases: cycles per basic block with start and cycles per branch (these are later used for either IPC or just cycles per BB) In the start case we cannot handle overlaps, so always the longest basic block wins. For the cycles per branch case everything is accurately accounted. v2: Remove unnecessary checks. Slight restructure. Move symbol__get_annotation to another patch. Move histogram allocation. v3: Merged with current tree Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-4-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 98df858ed46ddaaf9be3573eb2b63b57a68c6af7 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:47 2015 -0700 perf report: Add flag for non ANY branch mode Later patches need to cheaply check that the branch mode is in ANY. Add a new function to check all event attrs and add a flag to the report state, which is then initialized. v2: Rename flag Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0e332f033a8216fa03792fde69882f66500848c7 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sat Jul 18 08:24:46 2015 -0700 perf tools: Add support for cycles, weight branch_info field cycles is a new branch_info field available on some CPUs that indicates the time deltas between branches in the LBR. Add a sort key and output code for the cycles to allow to display the basic block cycles individually in perf report. We also pass in the cycles for weight when LBRs are processed, which allows to get global and local weight, to get an estimate of the total cost. And also print the cycles information for perf report -D. I also added printing for the previously missing LBR flags (mispredict etc.) Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437233094-12844-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 93df8a1ed6231727c5db94a80b1a6bd5ee67cec3 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Tue Aug 4 17:10:27 2015 +0100 perf tools: Add empty Build files for architectures lacking them perf currently fails to build on MIPS as there is no tools/perf/arch/mips/Build file. Adding an empty file fixes this as there are no MIPS-specific sources to build. It looks like the same is needed for Alpha and PA-RISC, though I haven't been able to test those. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Fixes: 5e8c0fb6a957 ("perf build: Add arch x86 objects building") Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1438704627.7315.2.camel@xxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b325e832e9478b920c1b8366623fe456a3527513 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Aug 4 12:36:43 2015 -0400 ARM: keystone: add documentation for SoCs and EVMs Currently there is no general documentation on Keystone SoCs in the Linux Documentation folder of the source tree. This patch adds some essential documentation with links to help users of Keystone Linux and also provide links to existing documents where necessary. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit f80010eb230b94e8d9cf5bf83373a097fb5b2dcc Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:27 2015 +0200 perf stat: Move counter processing code into stat object Moving counter processing code into stat object as perf_stat__process_counter. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-8-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5e5fe748bec771a810b1f44ec9c19e4b92685246 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:26 2015 +0200 perf stat: Pass 'struct perf_stat_config' into process_counter() Passing 'struct perf_stat_config' into process_counter(), so that we can make process_counter() non static and use it from other places. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-7-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a4c6ebede2f99fc3aaa5a42228a16747d0aa2504 Author: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Date: Tue Aug 4 09:04:08 2015 -0300 scripts/kernel-doc Allow struct arguments documentation in struct body Describing arguments at top of a struct definition works fine for small/medium size structs, but it definitely doesn't work well for struct with a huge list of elements. Keeping the arguments list inside the struct body makes it easier to maintain the documentation. ie: /** * struct my_struct - short description * @a: first member * @b: second member * * Longer description */ struct my_struct { int a; int b; /** * @c: This is longer description of C * * You can use paragraphs to describe arguments * using this method. */ int c; }; This patch allows the use of this kind of syntax. Only one argument per comment and user can use how many paragraphs he needs. It should start with /**, which is already being used by kernel-doc. If those comment doesn't follow those rules, it will be ignored. Signed-off-by: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Stephan Mueller <smueller@xxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: intel-gfx <intel-gfx@xxxxxxxxxxxxxxxxxxxxx> Cc: dri-devel <dri-devel@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit ec0d3d1fd292adb80372193c03d859e9cbefd367 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:25 2015 +0200 perf stat: Move 'interval' into struct perf_stat_config Moving 'interval' into struct perf_stat_config. The point is to centralize the base stat config so it could be used localy together with other stat routines in other parts of perf code. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5821522e9484a8b503f89aa546085900b99589e9 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:24 2015 +0200 perf stat: Move 'output' into struct perf_stat_config Moving 'output' into struct perf_stat_config. The point is to centralize the base stat config so it could be used localy together with other stat routines in other parts of perf code. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 711a572ea8ae7e9ab6575403c6d632d058d5cb3d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:23 2015 +0200 perf stat: Move 'scale' into struct perf_stat_config Moving 'scale' into struct perf_stat_config. The point is to centralize the base stat config so it could be used localy together with other stat routines in other parts of perf code. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 421a50f3fafaf271bb3293378eaafca71337dfec Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:22 2015 +0200 perf stat: Introduce struct perf_stat_config Moving 'aggr_mode' into new struct. The point is to centralize the base stat config so it could be used localy together with other stat routines in other parts of perf code. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 64e32895f9d87aaa0842c07d0b17f4895955db20 Author: Jakub Wilk <jwilk@xxxxxxxxx> Date: Mon Jul 27 10:15:18 2015 +0200 SubmittingPatches: remove stray quote character Signed-off-by: Jakub Wilk <jwilk@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 60004ca5dcfbf43182a9ba42bcbbf216c3684433 Merge: 7c97211 e9c9963 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Aug 6 12:57:44 2015 -0600 Merge branch 'doc/4.3-reproducible' into docs-next Ben Hutchings writes: As part of the reproducible builds project, Jérémy Bobbio identified several time-dependent and non-deterministic functions in the document build process (htmldocs, mandocs targets). This patch series should fix all of those. I ended up reverting one patch that introduced problems. commit e9c9963b439db734e9705f96909c5a3388dd81bb Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Aug 6 12:44:23 2015 -0600 Revert "DocBook: Avoid building man pages repeatedly and inconsistently" This reverts commit b44158b17099ed5c7c8f4bfb7029942adbfbc318. This commit introduced warnings and possibly inconsistent results into the doc build process. The goal is good but it will need to be achieved another way. Reported-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 84cb777e67814f2e06a99ff228f743409e9617e9 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Aug 5 23:48:20 2015 -0400 audit: use macros for unset inode and device values Clean up a number of places were casted magic numbers are used to represent unset inode and device numbers in preparation for the audit by executable path patch set. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [PM: enclosed the _UNSET macros in parentheses for ./scripts/checkpatch] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 5a023b57a8e96327925a39312bccc443a7c540b6 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Jun 19 08:42:48 2015 +0000 perf tools: Add missing forward declaration of struct map to probe-event.h Commit 7b6ff0bdbf4f7f429c2116cca92a6d171217449e ("perf probe ppc64le: Fixup function entry if using kallsyms lookup") adds 'struct map' into probe-event.h but not forward declares it. This patch fixes it. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Fixes: 7b6ff0bdbf4f ("perf probe ppc64le: Fixup function entry if using kallsyms lookup") Link: http://lkml.kernel.org/n/1436445342-1402-30-git-send-email-wangnan0@xxxxxxxxxx [ No need to include map.h, just forward declare 'struct map' ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0af0885ef69c182d1fa6bb201cd0570e9aa384eb Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Jul 31 10:35:33 2015 -0300 perf tools: Introduce veprintf va_args alternative to eprintf(). Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/n/1436445342-1402-19-git-send-email-wangnan0@xxxxxxxxxx [ split from another patch ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 04a22fae4cbc1f7d3f7471e9b36359f98bd3f043 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:50 2015 +0000 tracing, perf: Implement BPF programs attached to uprobes By copying BPF related operation to uprobe processing path, this patch allow users attach BPF programs to uprobes like what they are already doing on kprobes. After this patch, users are allowed to use PERF_EVENT_IOC_SET_BPF on a uprobe perf event. Which make it possible to profile user space programs and kernel events together using BPF. Because of this patch, CONFIG_BPF_EVENTS should be selected by CONFIG_UPROBE_EVENT to ensure trace_call_bpf() is compiled even if KPROBE_EVENT is not set. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 098d2164e3441c252eaa28906d45e16b7bf1bd2b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Jul 1 02:13:49 2015 +0000 bpf: Use correct #ifdef controller for trace_call_bpf() Commit e1abf2cc8d5d80b41c4419368ec743ccadbb131e ("bpf: Fix the build on BPF_SYSCALL=y && !CONFIG_TRACING kernels, make it more configurable") updated the building condition of bpf_trace.o from CONFIG_BPF_SYSCALL to CONFIG_BPF_EVENTS, but the corresponding #ifdef controller in trace_events.h for trace_call_bpf() was not changed. Which, in theory, is incorrect. With current Kconfigs, we can create a .config with CONFIG_BPF_SYSCALL=y and CONFIG_BPF_EVENTS=n by unselecting CONFIG_KPROBE_EVENT and selecting CONFIG_BPF_SYSCALL. With these options, trace_call_bpf() will be defined as an extern function, but if anyone calls it a symbol missing error will be triggered since bpf_trace.o was not built. This patch changes the #ifdef controller for trace_call_bpf() from CONFIG_BPF_SYSCALL to CONFIG_BPF_EVENTS. I'll show its correctness: Before this patch: BPF_SYSCALL BPF_EVENTS trace_call_bpf bpf_trace.o y y normal compiled n n inline not compiled y n normal not compiled (incorrect) n y impossible (BPF_EVENTS depends on BPF_SYSCALL) After this patch: BPF_SYSCALL BPF_EVENTS trace_call_bpf bpf_trace.o y y normal compiled n n inline not compiled y n inline not compiled (fixed) n y impossible (BPF_EVENTS depends on BPF_SYSCALL) So this patch doesn't break anything. QED. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1435716878-189507-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 788a6cddda9ba83276e37567c17bb78406904074 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:26:16 2015 -0500 mtd: spi-nor: fsl-quadspi: fix unsupported cmd when run flash_erase Erase function will use cmd 0x20 (SPINOR_OP_BE_4K) if kenrel enable option CONFIG_MTD_SPI_NOR_USE_4K_SECTORS. This command is not in fsl-quadspi driver LUT. So driver continue report fsl-quadspi 21e0000.qspi: Unsupported cmd 0x20. This patch fix this issue. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Han Xu <Han.xu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 8b8319c8b7d0385659c2df6376955cb6a1d918b6 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:26:10 2015 -0500 mtd: spi-nor: fsl-quadspi: reset the module in the probe The uboot may run the QuadSpi controler with command: #sf probe So we should reset the module in the probe. This patch also clear the pending interrupts which arised by the uboot code. Signed-off-by: Huang Shijie <shijie8@xxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5cc66cb7345d1bac71e94d7fd05dc86506f59dfe Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:26:04 2015 -0500 mtd: spi-nor: fsl-quadspi: workaround qspi can't wakeup from wait mode QSPI1 cannot wake up CCM from WAIT mode on SX ARD board, add pmqos to let PM NOT enter WAIT mode when accessing QSPI1, refer to TKT245618. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Han Xu <Han.xu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit cacbef40aac478fb25fb7d18ac22d41a11ce06e2 Author: Allen Xu <b45815@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:58 2015 -0500 mtd: spi-nor: fsl-quadspi: i.MX6SX: fixed the random QSPI access failed issue We found there is a low probability(5%) QSPI access timeout issue, usually it happened on kernel boot stage, the first time kernel tried to access QSPI chip. The READ_ID command was sent but not executed, consequently the probe function failed. The root cause is that the divider is not glitchless in i.MX6SX chip. If qspi clock enabled then change clock frequency by call clk_set_rate, there will be glitch at low possiblity rate and pass to qspi controller. The controler will be hang by this glitch. Based on the new clock flag(CLK_SET_RATE_GATE) and new framework, we need to change the approach of seting clock rate. 1. Disable clock. 2. call clk_set_rate. 3. Enable clock again. Signed-off-by: Han Xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit cb94d0bb41e43b4fdd219ad930686397814bcd8d Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:52 2015 -0500 Documentation: fsl-quadspi: Add fsl, imx6ul-qspi compatible string new compatible string: "fsl,imx6ul-qspi". Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 74a081d14f579d0a1de845ba63e8ee5f0c511258 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:47 2015 -0500 mtd: spi-nor: fsl-quadspi: add i.mx6ul support Add i.mx6ul chip support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Han xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 151b49e19119da28dfcd29561147ec56913cbe61 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:41 2015 -0500 Documentation: fsl-quadspi: Add fsl, imx7d-qspi compatible string new compatible string: "fsl,imx7d-qspi" Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d371cbfc151c6a7229150da0954d1f74ea4dcd39 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:35 2015 -0500 mtd: spi-nor: fsl-quadspi: add imx7d support Support i.mx7d. quadspi in i.mx7d increase rxfifo. require fill at least 16byte to trigger data transfer. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Han Xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 80d37724089bc5d09fa12601a763bde01899ba88 Author: Han Xu <han.xu@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:29 2015 -0500 mtd: spi-nor: fsl-quadspi: use quirk to distinguish different qspi version add several quirk to distinguish different version of qspi module. Signed-off-by: Han Xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 49bd706aac8fe7fa90988ecd3fd5c276575b194e Author: Han Xu <han.xu@xxxxxxxxxxxxx> Date: Tue Aug 4 10:25:22 2015 -0500 mtd: spi-nor: fsl-quadspi: dynamically map memory space for AHB read QSPI may failed to map enough memory (256MB) for AHB read in previous implementation, especially in 3G/1G memory layout kernel. Dynamically map memory to avoid such issue. This implementation generally map QUADSPI_MAX_IOMAP (default 4MB) memory for AHB read, it should be enough for common scenarios, and the side effect (0.6% performance drop) is minor. Previous implementation root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=1K count=32K 32768+0 records in 32768+0 records out 33554432 bytes (34 MB) copied, 2.16006 s, 15.5 MB/s root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=32M count=1 1+0 records in 1+0 records out 33554432 bytes (34 MB) copied, 1.43149 s, 23.4 MB/s After applied the patch root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=1K count=32K 32768+0 records in 32768+0 records out 33554432 bytes (34 MB) copied, 2.1743 s, 15.4 MB/s root@imx6qdlsolo:~# dd if=/dev/mtd0 of=/dev/null bs=32M count=1 1+0 records in 1+0 records out 33554432 bytes (34 MB) copied, 1.43158 s, 23.4 MB/s Signed-off-by: Han Xu <han.xu@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 15979aeeb548e020b6107214f0405be894891a57 Author: Benjamin Cama <benoar@xxxxxxxx> Date: Thu Aug 6 18:29:52 2015 +0200 ARM: dts: Convert Linkstation Mini to Device Tree The title says it all. The name of the dts file as been changed to better reflect the manufacturer's device name (LS-WSGL), rather than the original "lsmini", which exists in a kirkwood version too. [gregory.clement@xxxxxxxxxxxxxxxxxx]: use tab instead of space to indent dts at line 185. Reslove merge conflict with patch "ARM: dts: orion5x: add buffalo linkstation ls-wtgl" in the file arch/arm/boot/dts/Makefile. Signed-off-by: Benjamin Cama <benoar@xxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Alexey Kopytko <alexey@xxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 2e8328fb87d02569511c4808a1b3f44f67bd83fd Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Aug 6 11:29:19 2015 -0500 usb: gadget: legacy: nokia: add CONFIG_BLOCK dependency g_nokia now has mass_storage function, so it should depend on CONFIG_BLOCK. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4a1e9211809d4130fe23cad1bea222222d6e94f4 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Aug 6 11:23:32 2015 -0500 usb: gadget: f_mass_storage: add mising <linux/uaccess.h> <linux/uaccess.h> was originally being pulled indirectly through some other header, however it's not anymore, so we need to include it directly Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Suggested-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b0a688ddcc5015eb26000c63841db7c46cfb380a Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Aug 6 10:51:29 2015 -0500 usb: musb: cppi41: allow it to work again since commit 33c300cb90a6 ("usb: musb: dsps: don't fake of_node to musb core") we have been preventing CPPI 4.1 from probing due to NULL of_node. We can't revert said commit otherwise a different regression would show up, so the fix is to look for the parent device's (glue layer's) of_node instead, since that's the thing which is actually described in DTS. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 03840fad004ce8a56bc8b3bb60a2df10f6f9481e Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Aug 6 10:47:16 2015 -0500 usb: musb: gadget: remove remaining DMA ifdeferry Commit fb91cddc54e7 ("usb: musb: Remove DMA ifdef for musb_gadget.c short_packet") tried to remove DMA ifdeferry from musb_gadget.c but ended up leaving some around. Remove them so that when building kernels with all DMA engines enabled, we don't end up trying to allocte channels twice. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit adab43396ed4830c7cee29837e8cedcddb2b5315 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:16 2015 +0200 usb: gadget: remove gadget_chips.h This header file contains helpers for quirks based on UDC controller name. Since we have generic quirk bitfields in usb_gadget structure for all of these quirks we don't need to have this header any longer. This patch removes gadget_chips.h file and makes sure that it's no longer included anywhere in kernel sources. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 26b8aa458c7d99181ceb07f27da9bd7d94185e35 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:15 2015 +0200 usb: musb: gadget: add musb_match_ep() function Add 'match_ep' callback to utilize chip-specific knowledge in endpoint matching process. Function does the same that was done by chip-specific code inside of epautoconf. Now this code can be removed from there to separate generic code from platform specific logic. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8cc67b7bff2fc1adfd080233d35aacba4411cf87 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:14 2015 +0200 usb: gadget: goku_udc: add goku_match_ep() function Add 'match_ep' callback to utilize chip-specific knowledge in endpoint matching process. Function does the same that was done by chip-specific code inside of epautoconf. Now this code can be removed from there to separate generic code from platform specific logic. [ balbi@xxxxxx : fix build breakage ] Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3e8b231818c25a250c36f8bfb944aa1fd2b13396 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:13 2015 +0200 usb: gadget: net2280: add net2280_match_ep() function Add 'match_ep' callback to utilize chip-specific knowledge in endpoint matching process. Function does the same that was done by chip-specific code inside of epautoconf. Now this code can be removed from there to separate generic code from platform specific logic. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b0aea0037c8896b8e69cad3f6e828782789c1edf Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:12 2015 +0200 usb: gadget: move find_ep() from epautoconf to udc-core Move find_ep() to udc-core and rename it to gadget_find_ep_by_name(). It can be used in UDC drivers, especially in 'match_ep' callback after moving chip-specific endpoint matching logic from epautoconf to UDC drivers. Replace all calls of find_ep() function with gadget_find_ep_by_name(). Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4278c687f697b651ab0c771114564da5ed006f22 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:11 2015 +0200 usb: gadget: move ep_matches() from epautoconf to udc-core Move ep_matches() function to udc-core and rename it to usb_gadget_ep_match_desc(). This function can be used by UDC drivers in 'match_ep' callback to avoid writing lots of repetitive code. Replace all calls of ep_matches() with usb_gadget_ep_match_desc(). Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 596c154d62330ea0bb4e3c3e50afa3682e50b617 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:10 2015 +0200 usb: gadget: add 'ep_match' callback to usb_gadget_ops Add callback that is called by epautoconf to allow UDC driver match the best endpoint for specific descriptor. It's intended to supply mechanism which allows to get rid of chip-specific endpoint matching code from epautoconf. If gadget has set 'ep_match' callback we prefer to call it first, and if it fails to find matching endpoint, then we try to use default matching algorithm. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 834fd46ddb50953cf3fd9caa3f35485715c62ea3 Author: Milian Wolff <milian.wolff@xxxxxxxx> Date: Thu Aug 6 11:24:29 2015 +0200 perf trace: Add total time column to summary. It is cumbersome to manually calculate the total time spent in a given syscall by multiplying the average value with the number of calls. Instead, we now do this directly inside perf trace. Note that this is also done by 'strace', which even adds a column with relative numbers - something we could do in the future. Example: perf trace -s find /some/folder > /dev/null Summary of events: find (19976), 700123 events, 100.0%, 0.000 msec syscall calls total min avg max stddev (msec) (msec) (msec) (msec) (%) --------------- -------- --------- --------- --------- --------- ------ read 4 0.006 0.001 0.002 0.003 27.42% write 8046 9.617 0.001 0.001 0.035 0.56% open 34196 40.384 0.001 0.001 0.071 0.30% close 68375 57.104 0.001 0.001 0.076 0.25% stat 4 0.004 0.001 0.001 0.001 3.14% fstat 34189 27.518 0.001 0.001 0.060 0.34% mmap 13 0.029 0.001 0.002 0.003 10.74% mprotect 6 0.018 0.002 0.003 0.005 17.04% munmap 3 0.014 0.003 0.005 0.006 24.87% brk 87 0.490 0.001 0.006 0.016 6.50% ioctl 3 0.004 0.001 0.001 0.003 36.39% access 1 0.004 0.004 0.004 0.004 0.00% uname 1 0.001 0.001 0.001 0.001 0.00% getdents 68393 143.600 0.001 0.002 0.187 0.95% fchdir 68371 56.980 0.001 0.001 0.111 0.39% arch_prctl 1 0.001 0.001 0.001 0.001 0.00% openat 34184 41.737 0.001 0.001 0.102 0.41% newfstatat 34184 41.180 0.001 0.001 0.064 0.34% Signed-off-by: Milian Wolff <milian.wolff@xxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> LPU-Reference: 1438853069-5902-1-git-send-email-milian.wolff@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 26bf956aa9952a8141a12f314df70dcd020572d6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Aug 6 14:11:09 2015 +0200 usb: gadget: epautoconf: rework ep_matches() function Rework ep_matches() function to make it shorter and more readable. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f5b831907da3e64bfb0288089a5c07124266b1a5 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:12 2015 +0100 iommu/io-pgtable: Remove flush_pgtable callback With the users fully converted to DMA API operations, it's dead, Jim. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 857c88ca62f1e2594e1e760ef9a45ec1961f2a53 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:11 2015 +0100 iommu/arm-smmu: Remove arm_smmu_flush_pgtable() With the io-pgtable code now enforcing its own appropriate sync points, the vestigial flush_pgtable callback becomes entirely redundant, so remove it altogether. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4103d662cbd0c045d7a44a18c82172220478b20c Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:10 2015 +0100 iommu/arm-smmu: Remove arm_smmu_flush_pgtable() With the io-pgtable code now enforcing its own appropriate sync points, the vestigial flush_pgtable callback becomes entirely redundant, so remove it altogether. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 87a91b15d691d6f4aa0a5baffb5767bbc6e4a8c4 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:09 2015 +0100 iommu/io-pgtable-arm: Centralise sync points With all current users now opted in to DMA API operations, make the iommu_dev pointer mandatory, rendering the flush_pgtable callback redundant for cache maintenance. However, since the DMA calls could be nops in the case of a coherent IOMMU, we still need to ensure the page table updates are fully synchronised against a subsequent page table walk. In the unmap path, the TLB sync will usually need to do this anyway, so just cement that requirement; in the map path which may consist solely of cacheable memory writes (in the coherent case), insert an appropriate barrier at the end of the operation, and obviate the need to call flush_pgtable on every individual update for synchronisation. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> [will: slight clarification to tlb_sync comment] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ff2ed96dde3b30d8f1b2ab0d9b164140f2278e6e Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:08 2015 +0100 iommu/ipmmu-vmsa: Clean up DMA API usage With the correct DMA API calls now integrated into the io-pgtable code, let that handle the flushing of non-coherent page table updates. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit bdc6d973473f32891a8518c51b210ce7daaa10ac Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:07 2015 +0100 iommu/arm-smmu: Clean up DMA API usage With the correct DMA API calls now integrated into the io-pgtable code, let that handle the flushing of non-coherent page table updates. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2df7a25ce4a79092946330ac4b7a2fbb5944d1d6 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:06 2015 +0100 iommu/arm-smmu: Clean up DMA API usage With the correct DMA API calls now integrated into the io-pgtable code, let that handle the flushing of non-coherent page table updates. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit f8d5496131554f61b0fd931fa046f0233fe2aac2 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:04 2015 +0100 iommu/io-pgtable-arm: Allow appropriate DMA API use Currently, users of the LPAE page table code are (ab)using dma_map_page() as a means to flush page table updates for non-coherent IOMMUs. Since from the CPU's point of view, creating IOMMU page tables *is* passing DMA buffers to a device (the IOMMU's page table walker), there's little reason not to use the DMA API correctly. Allow IOMMU drivers to opt into DMA API operations for page table allocation and updates by providing their appropriate device pointer. The expectation is that an LPAE IOMMU should have a full view of system memory, so use streaming mappings to avoid unnecessary pressure on ZONE_DMA, and treat any DMA translation as a warning sign. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 85430968ae72650a63f77f05a29d5c56e41581db Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Aug 3 10:35:40 2015 +0100 iommu/arm-smmu: Treat unknown OAS as 48-bit A late change to the SMMUv3 architecture ensures that the OAS field will be monotonically increasing, so we can assume that an unknown OAS is at least 48-bit and use that, rather than fail the device probe. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 06059d5090118b047c5b6a621c8b57a068f7ce2c Merge: 80aa931 8c10342 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 6 14:27:09 2015 +0200 Merge tag 'topic/drm-misc-2015-07-28' into drm-intel-next-queued We need a few core drm patches to be able to merge Maarten's series to convert DPMS over to atomic. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit a03fdcb1863297481a4b817c2a759cafcbdfa0ae Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Aug 5 12:28:57 2015 +0530 drm: Add top level Kconfig option for DRM fbdev emulation Legacy fbdev emulation support via DRM is achieved through KMS FB helpers. Most modesetting drivers enable provide fbdev emulation by default by selecting KMS FB helpers. A few provide a separate Kconfig option for the user to enable or disbale fbdev emulation. Enabling fbdev emulation is finally a distro-level decision. Having a top level Kconfig option for fbdev emulation helps by providing a uniform way to enable/disable fbdev emulation for any modesetting driver. It also lets us remove unnecessary driver specific Kconfig options that causes bloat. With a top level Kconfig in place, we can stub out the fb helper functions when not needed without breaking functionality. Having stub functions also prevents drivers to require wrapping fb helper function calls with #ifdefs. DRM_FBDEV_EMULATION defaults to y since many drivers enable fbdev emulation by default and majority of distributions expect the fbdev interface in the kernel. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2c4124fdeaea4b70120da3bddf90c4587e65bbc6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:22:11 2015 +0200 drm/fb-helper: Move drm_fb_helper_force_kernel_mode() inside #ifdef If CONFIG_MAGIC_SYSRQ is not set: drivers/gpu/drm/drm_fb_helper.c:390:13: warning: 'drm_fb_helper_force_kernel_mode' defined but not used [-Wunused-function] static bool drm_fb_helper_force_kernel_mode(void) ^ Move drm_fb_helper_force_kernel_mode() inside the existing #ifdef to fix this. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3d9e35a92e935e1f968e79f0e0b72ce4b9f14c3e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:22:10 2015 +0200 drm/fb-helper: Clarify drm_fb_helper_restore_fbdev_mode*() As of commit 5ea1f752ae04be40 ("drm: add drm_fb_helper_restore_fbdev_mode_unlocked()"), drm_fb_helper_restore_fbdev_mode() is no longer public, and drivers should call drm_fb_helper_restore_fbdev_mode_unlocked() from their ->lastclose callbacks instead. Update the documentation to reflect this, and absorb the one liner drm_fb_helper_restore_fbdev_mode() into its single caller. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 55579cfe67d76394be46f00acef8854d08db5362 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 31 14:08:24 2015 +0530 drivers: gpu: Drop unlikely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0843010bbd60acf9e5a588828ad227937085e7b1 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:22:01 2015 +0530 drm/virtio: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - add missing header for virtgpu_fb.c Cc: David Airlie <airlied@xxxxxxxx> Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2dbaf392d27e8072268595fba557cbe4f4d43f01 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:22:00 2015 +0530 drm/amdgpu: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - Fixed PTR_ERR issue mentioned by kbuild bot Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: Oded Gabbay <oded.gabbay@xxxxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6a752972a33f7763453134a09ed8091bbeea55fc Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:59 2015 +0530 drm/bochs: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - remove unused variable device in bochsfb_create Cc: David Airlie <airlied@xxxxxxxx> Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b166aeb99faa0b42f75ab4f48e98afa44d6a8958 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:57 2015 +0530 drm/nouveau: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - remove unused variable pdev in nouveau_fbcon_create Cc: David Airlie <airlied@xxxxxxxx> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21cff14847421ff75d110890ccea729d8ad1b174 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:56 2015 +0530 drm/i915: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - No changes Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 00450052436f87742bfb9edfb325e1337a79489c Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:54 2015 +0530 drm/radeon: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - Fix build break because of missing include of drm_fb_helper in radeon_drv.c Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4f72a6eaedf71f3d7729086ca34703b3615f59d0 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:53 2015 +0530 drm/mgag200: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - remove unused goto label 'out' Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 231e6faf027ae5e86539bb5a3cdb2b22a96dae8c Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:48 2015 +0530 drm/omap: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Update error handling for new drm_fb_helper funcs. Check using IS_ERR() instead of checking for NULL. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> v2: - No changes Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2b9e6e376af5171444a1cdcc134ed502e33d1fb2 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:44 2015 +0530 drm/cirrus: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. v3: - Don't touch remove_conflicting_framebuffers v2: - Remove stray goto label out_iounmap Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Zach Reizner <zachr@xxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8c2ba316b64b02e43738c41b07a5d9319165f99 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 29 08:32:43 2015 +0200 drm: Fixup locking WARNINGs in drm_mode_config_reset With commit 7a3f3d6667f5f9ffd1517f6b21d64bbf5312042c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:28 2015 +0200 drm: Check locking in drm_for_each_connector we started checking the locking in drm_for_each_connector but somehow I totally missed drm_mode_config_reset. There's no problem there since this function should only be called in single-threaded contexts (driver load or resume), so just wrap the loop with the right lock. v2: Drink coffee and all that ... Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reported-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit bf9e37baac6db7318862447973bd68b5acae4bef Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 28 13:18:42 2015 +0200 drm: Remove __drm_modeset_lock_all The last user is gone, no need for trylocking any more in this legacy helper. Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit dd908c864d9a8347216291b4b61074777458373a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 28 13:18:41 2015 +0200 drm/fb-helper: Stop using trylocks in force_restore Since the panic handling is gone this is only used for force-restoring the fbdev/fbcon from sysrq, and that's done with a work item. No need any more to do trylocks, we can just do normal locking. Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c50bfd08d60cefbe1714c4a53b1c325982858549 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 28 13:18:40 2015 +0200 drm/fbdev: Return -EBUSY when oopsing Trying to do anything with kms drivers when oopsing has become a failing proposition. But since we can end up in the fbdev code simply due to the console unblanking that's done unconditionally just removing our panic handler isn't enough. We need to block all fbdev callbacks when oopsing. There was already one in the blank handler, but it failed silently. That makes it impossible for drivers (like i915) who subclass these functions to figure this out. Instead consistently return -EBUSY so that everyone knows that we really don't want to be bothered right now. This also allows us to remove a pile of FIXMEs from the i915 fbdev code (since due to the failure code they now won't attempt to grab dangerous locks any more). Cc: Dave Airlie <airlied@xxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 85f2edf2115d6aa0d7613f96dd3903b8d5f4a56d Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:20 2015 +0530 drm/fb_cma_helper: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 41ba2f3415741c28c589fd5734237d062c3d54fc Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:16 2015 +0530 drm/udl: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v2: - remove unused variable device in udlfb_create Cc: David Airlie <airlied@xxxxxxxx> Cc: Haixia Shi <hshi@xxxxxxxxxxxx> Cc: "Stéphane Marchesin" <marcheu@xxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e7cd84cf7da4e28749ae8b05fcd706db32496320 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:13 2015 +0530 drm/qxl: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. Cc: David Airlie <airlied@xxxxxxxx> Cc: Frediano Ziglio <fziglio@xxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 546187c85d4d4eab6f71dabbfda76672a69af434 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:10 2015 +0530 drm/gma500: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v2: - removed unused variable 'device' in psbfb_create Cc: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7c7d4507fb04bbeab44755162394951bc29146fb Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:09 2015 +0530 drm/exynos: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v2: - Remove unnecessary dealloc cmap in error handling path Cc: Inki Dae <inki.dae@xxxxxxxxxxx> Cc: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Cc: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 778014f0c80815e5e1ff079343da9673cb4db1a4 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:08 2015 +0530 drm/msm: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Stephane Viau <sviau@xxxxxxxxxxxxxx> Cc: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0f7d9052fb705e629c3f998051e835c97eb44749 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:07 2015 +0530 drm/tegra: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v2: - Fix up error handling path in tegra_fbdev_probe Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: "Terje Bergström" <tbergstrom@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 990e8440f2f8b9428125a32805c67ab22e78a7d9 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:05 2015 +0530 drm/ast: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. Cleaned up the error handling in astfb_create a bit. v2: - removed unused variable 'device' in astfb_create Cc: David Airlie <airlied@xxxxxxxx> Cc: "Y.C. Chen" <yc_chen@xxxxxxxxxxxxxx> Cc: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8b70e4dd7b5dad7c2379de6e0851587bf86bfd6 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:04 2015 +0530 drm/armada: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit df3b031cef742e924aa96fec7fc128d2611e4c1f Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:58:03 2015 +0530 drm/rockchip: Use new drm_fb_helper functions Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. This is an effort to create a top level drm fbdev emulation option. Cc: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fdefa58a5097b397ce2d3f6b6f8caa14aacfb70d Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:43 2015 +0530 drm/fb_helper: Create a wrapper for fb_set_suspend Some drm drivers call fb_set_suspend. Create a drm_fb_helper function that wraps around these calls. This is part of an effort to prevent drm drivers from calling fbdev functions directly, in order to make fbdev emulation a top level drm option. v3: - Fixed kerneldoc errors v2: - Added kerneldocs - Added a check for non-NULL fb_helper before proceeding. This will make the helpers work when we have a module param for fbdev emulation - Follow the drm way of aligning of arguments in func definitions Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 742547b73d27e7bce2d0dd0f1b95692436f30950 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:42 2015 +0530 drm/fb_helper: Create wrappers for blit, copyarea and fillrect funcs drm drivers that emulate fbdev populate their fb_fillrect, fb_copyarea and fb_imageblit fb_ops with the help of cfb_* or sys_* fbdev core helper functions. Create drm_fb_helper functions that wrap around these calls. This is part of an effort to prevent drm drivers from calling fbdev functions directly, in order to make fbdev emulation a top level drm option. v3: - Fixed kerneldoc errors v2: - Added kerneldocs - Follow the drm way of aligning of arguments in func definitions - Remove unnecessary checks for non NULL fb_info Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cbb1a82e5608fd6511940d27c231f0f4e2495b04 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Fri Jul 31 16:21:41 2015 +0530 drm/fb_helper: Create wrappers for fb_sys_read/write funcs Some drm drivers populate their fb_ops with fb_sys_read/write fb sysfs ops. Create a drm_fb_helper function that wraps around these calls. This is part of an effort to prevent drm drivers from calling fbdev functions directly, in order to make fbdev emulation a top level drm option. v3: - Fix kerneldoc errors v2: - Added kerneldocs - Follow the drm way of aligning of arguments in func definitions - Remove unnecessary checks for non NULL fb_info Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 47074ab7951c1fcfc3ff637eb8401c3a71272057 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:57:57 2015 +0530 drm/fb_helper: Create a wrapper for unlink_framebuffer Some drm drivers call unlink_framebuffer. Create a drm_fb_helper function that wraps around these calls. This is part of an effort to prevent drm drivers from calling fbdev functions directly, in order to make fbdev emulation a top level drm option. v2: - Added kerneldocs - Added a check for non-NULL fb_helper before proceeding. This will make the helpers work when we have a module param for fbdev emulation Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b8017d6c33be9862505a9154e302c4b00cbfca43 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Jul 22 14:57:56 2015 +0530 drm/fb_helper: Add drm_fb_helper functions to manage fb_info creation Every drm driver calls framebuffer_alloc, fb_alloc_cmap, unregister_framebuffer, fb_dealloc_cmap and framebuffer_release in order to emulate fbdev support. Create drm_fb_helper functions that perform the above operations. This is part of an effort to prevent drm drivers from calling fbdev functions directly. It also removes repetitive code from drivers. There are some drivers that call alloc_apertures after framebuffer_alloc and some that don't. Make the helper always call alloc_apertures. This would make certain drivers allocate memory for apertures but not use them. Since it's a small amount of memory, it shouldn't be an issue. v2: - Added kerneldocs - Added a check for non-NULL fb_helper before proceeding. This will make the helpers work when we have a module param for fbdev emulation Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c201d00f4a4c004482aec7de1bffdfe2d85e65cf Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 6 14:09:35 2015 +0200 drm/omap: Fixup compile fail Maarten didn't fully test his patches on all drm drivers and apparently missed a few places when grepping. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4ca7deb1e15e0030d04051cf4285e88249ebe252 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 5 22:34:22 2015 +0800 ASoC: topology: Use kcalloc instead of kzalloc for array allocation Also remove unnecessary memset. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9176c6657b5c313cf504d157e6d91496ee5c8708 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Aug 6 10:33:01 2015 +0100 spi: img-spfi: fix kbuild test robot warning drivers/spi/spi-img-spfi.c: In function 'img_spfi_setup': drivers/spi/spi-img-spfi.c:446: warning: 'ret' may be used uninitialized in this function. Fixes: commit b03ba9e314c1 ("spi: img-spfi: fix multiple calls to request gpio") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9bb91ae970dd004393a3d7d09bdcc30dfe2f8693 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Jul 22 17:18:03 2015 +0200 ARM: rockchip: enable PMU_GPIOINT_WAKEUP_EN when entering shallow suspend PMU_GPIOINT_WAKEUP_EN seems needed when entering the shallow suspend (with logic staying on) but does not seem to be needed for the deep suspend for unknown reasons. Testing revealed that this setting really is necessary to reliably resume the veyron devices from suspend. Reported-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Tested-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit d1d3a1a1d745095261d4a927c0c06588e5bc7f6f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Jul 22 17:04:47 2015 +0200 ARM: rockchip: set correct stabilization thresholds in suspend Currently the stabilization thresholds for the oscillator and external pmu are statically set to 30ms based on a 32kHz clock rate. This leaves out the case when we don't switch to the 32kHz clock when only entering the shallow suspend mode where the logic keeps running. So, set the correct threshold after we have determined if we switch to the 32kHz clock or stay with the 24MHz one. Also set the oscillator- stabilization to 0 if it is kept running during suspend, as it of course does not need to stabilize then. Reported-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Tested-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit 41fe6a01726b79b8531fed0a94b55d89a69ea5ee Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Aug 5 00:14:55 2015 +0200 ARM: rockchip: rename osc_switch_to_32k variable The variable name is misleading, as the deep suspend mode always switches the main supplying clock to the 32kHz source. Additionally the main oscillator remains running in some cases, which this var indicates. So rename it to osc_disable to clarity. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Tested-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit 75f940615aa93cb681b36e355b3f9509d955f547 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:17 2015 +0530 clockevents/drivers/em_sti: Migrate to new 'set-state' interface Migrate em_sti driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. NOTE: This also drops a special check: if (old_mode == CLOCK_EVT_MODE_ONESHOT) em_sti_stop(p, USER_CLOCKEVENT); as it doesn't look like that important. This driver only supports ONESHOT and we can only move only to SHUTDOWN from ONESHOT and. Also on second call (on shutdown), em_sti_stop() would return without disabling the device again. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 8f9327cbb6e87ce1bed3e5dfbac70d8a96c6d1cc Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:16 2015 +0530 clockevents/drivers/cs5535: Migrate to new 'set-state' interface Migrate cs5535 driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Andres Salomon <dilinger@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit b4cf5d710fdf297692d5c0f36cddbbeaa690e323 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:15 2015 +0530 clockevents/drivers/bcm_kona: Migrate to new 'set-state' interface Migrate bcm_kona driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Oneshot callback isn't required as it was empty. Acked-by: Ray Jui <rjui@xxxxxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Ray Jui <rjui@xxxxxxxxxxxx> Cc: Scott Branden <sbranden@xxxxxxxxxxxx> Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 4996978490f7e48f29408e499c7e542ac1e2c5b8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:14 2015 +0530 clockevents/drivers/bcm2835: Migrate to new 'set-state' interface Migrate bcm2835 driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in the ->set_mode() callback. So, this patch doesn't provide any set-state callbacks. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Lee Jones <lee@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit e511e6c3cd9baa3177f29aeb30c4ac7150c5f93b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:13 2015 +0530 clockevents/drivers/arm_global_timer: Migrate to new 'set-state' interface Migrate arm_global_timer driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 46c5bfdda3de91ba4324d73403af7dfb60f5ee38 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 12 13:30:12 2015 +0530 clockevents/drivers/arm_arch_timer: Migrate to new 'set-state' interface Migrate arm_arch_timer driver to the new 'set-state' interface provided by the clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit ac1125daf02b81cabb19f35963906335e3d4a155 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Wed Aug 5 14:58:33 2015 -0700 ASoC: rl6231: Simplify DMIC divider calculation expression Existing implementation checks all divider values and tracks 'red' proximity value for the frequency. But as divider array is monotonically increasing the first divider that gives DMIC rate in 3MHz range is the best one we should use. No need for 'red' zone tracking. Additionally make sure that DMIC frequency is higher 1MHz. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Acked-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ed05637c30e6d13e5793aab64d6a6e57e30228af Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Wed Aug 5 23:47:09 2015 +0200 ARM: dts: omap3-devkit8000: Add ADS7846 Touchscreen support This patch is the touchscreen part for LCD screens sold with devkit8000 board. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit bcfff4d961fb71c6bea0424a84aaef115b7edaee Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Aug 3 21:24:46 2015 +0200 arm64: Enable Marvell Berlin SoC family in defconfig Enable Marvell Berlin SoC family in arm64 defconfig. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit dd40fd9245fdb5a69b301e358df0b231d2db1db0 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Aug 3 21:24:45 2015 +0200 arm64: Enable Marvell Berlin SoC family in Kconfig This patch introduces ARCH_BERLIN to enable Marvell Berlin SoC family in Kconfig. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d304f99c9cee11fc23ccd29e4506d646df58122f Merge: 1ff2b94 8faf355 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 6 10:12:52 2015 +0200 Merge tag 'sunxi-defconfig-for-4.3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/defconfig Allwinner defconfig changes for 4.3 Two patches that enable various Allwinner related drivers drivers both in sunxi_defconfig and in multi_v7_defconfig * tag 'sunxi-defconfig-for-4.3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: multi_v7_defconfig: Enable Allwinner P2WI, PWM, DMA_SUN6I, cryptodev ARM: sunxi_defconfig: Enable DMA_SUN6I, P2WI, PWM, cryptodev, EXTCON, FHANDLE Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit da5df6440834c64943e09c254dcfb8336ffbac15 Merge: 027b4a6 60018d0 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 6 10:12:13 2015 +0200 Merge tag 'sunxi-dt-for-4.3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Allwinner Device Tree changes for 4.3 A bunch of device tree patches that: - Enable the OTG controller on some boards - Various additions to the existing boards - New boards: A33 Ippo Q8H, Iteaduino Plus, * tag 'sunxi-dt-for-4.3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (35 commits) ARM: dts: sun7i: Change cubietruck wifi enable pin to use mmc-pwrseq ARM: dts: sun5i: hsg-h702: Enable USB OTG controller ARM: dts: sun5i: hsg-h702: Enable side volume buttons with LRADC ARM: dts: sun8i: Enable USB DRC on Ippo Q8H-A33 tablet ARM: dts: sun5i: Enable USB DRC on A13 OLinuxIno ARM: dts: sun5i: Enable USB DRC on A10s OLinuxIno Micro ARM: dts: sun4i: Enable USB DRC on A10 OLinuxIno Lime ARM: sunxi: dt: Convert users to the PIO interrupts binding ARM: dts: sun4i: Add Iteaduino Plus A10 ARM: dts: A10s-OLinuxIno: Add a node for axp152 pmic ARM: dts: axp152: Add a dtsi file for the axp152 pmic ARM: dts: sun6i: Enable otg controller on the cs908 ARM: dts: sun4i: Enable otg controller on the mini-x ARM: dts: sun4i: Enable otg controller on the ba10-tvbox ARM: dts: sunxi: Add regulator-boot-on to usb host port regulator nodes devicetree: Add msi to the vendor-prefix list ARM: sun8i: dts: Add Ippo-q8h v1.2 with A33 ARM: dts: sun8i: sina33: Enable USB hosts ARM: dts: sun8i: Enable USB host on GA10H-A33 tablets ARM: dts: sun8i: Enable USB DRC on GA10H-A33 tablets ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c00def71efd919e8ae835a25f4f4c80a4b2d36d3 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Aug 3 09:26:52 2015 +0200 ARM: ux500: simplify secondary CPU boot This removes a lot of ancient cruft from the Ux500 SMP boot. Instead of the pen grab/release, just point the ROM to secondary_boot() and start the second CPU there, then send the IPI. Use our own SMP enable method. This enables us to remove the last static mapping and get both CPUs booting properly. Tested this and it just works. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 58e00a6c92d41e302880cae71b0f94b7a4d40c5d Merge: ff20775 bf64dd2 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 6 10:11:36 2015 +0200 Merge branch 'fixes' into next/cleanup * fixes: (28 commits) ARM: ux500: add an SMP enablement type and move cpu nodes ARM: dts: keystone: fix dt bindings to use post div register for mainpll ARM: nomadik: disable UART0 on Nomadik boards ARM: dts: i.MX35: Fix can support. ARM: OMAP2+: hwmod: Fix _wait_target_ready() for hwmods without sysc ARM: dts: add CPU OPP and regulator supply property for exynos4210 ARM: dts: Update video-phy node with syscon phandle for exynos3250 ARM: keystone: dts: rename pcie nodes to help override status ARM: keystone: dts: fix dt bindings for PCIe ARM: pxa: fix dm9000 platform data regression ARM: DRA7: hwmod: fix gpmc hwmod ARM: dts: Correct audio input route & set mic bias for am335x-pepper ARM: OMAP2+: Add HAVE_ARM_SCU for AM43XX MAINTAINERS: digicolor: add dts files ARM: ux500: fix MMC/SD card regression ARM: ux500: define serial port aliases ARM: dts: OMAP5: Add #iommu-cells property to IOMMUs ARM: dts: OMAP4: Add #iommu-cells property to IOMMUs ARM: dts: Fix frequency scaling on Gumstix Pepper ARM: dts: configure regulators for Gumstix Pepper ... commit ff20775d189cf8f36684c88f6f95e00d21bc783c Merge: 39aa437 c99cd90 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 6 10:09:08 2015 +0200 Merge tag 'renesas-marzen-board-removal-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Renesas ARM Based SoC Marzen Board Removal for v4.3 * Remove legacy r8a7779 SoC code * Remove legacy marzen board code * tag 'renesas-marzen-board-removal-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7779: Remove legacy SoC code ARM: shmobile: marzen: Remove legacy board code ARM: shmobile: r8a7779: Cleanup header file ARM: shmobile: marzen-reference: Remove C board code ARM: shmobile: r8a7779: Generic SMP ops ARM: shmobile: r8a7779: Generic CCF and timer support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 98c6d5552d45d4c2308c5890ac8fa70d640e50b8 Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Wed Aug 5 23:47:08 2015 +0200 ARM: dts: omap3-devkit8000: add LCD panels Devkit8000 was sold with a 4.3" LCD or 7.0" or without. This patch creates one dts file per bundle. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b02f46b9e0dfe11cb1cff8eeb400e4085a9abbc9 Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Tue Aug 4 22:53:30 2015 +0200 ARM: dts: omap3-devkit8000: Add DSS' DVI support This commit adds the support of DVI output on the devkit8000 board. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> [tony@xxxxxxxxxxx: added missing sign as noted by Anthoine] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f1022b9ce17cd55690a94ddf8492e543b4cd7663 Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Tue Aug 4 22:53:29 2015 +0200 ARM: dts: omap3-devkit8000: Add S-video output support This commit adds the support of TV output on the devkit8000 board. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> [tony@xxxxxxxxxxx: added missing sign as noted by Anthoine] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 26fa89239201d6c5f767ebe7c2353d469ebf6222 Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Tue Aug 4 22:53:28 2015 +0200 ARM: dts: omap3-devkit8000: Add keymap support The keymap is convert in devicetree from the legacy board file. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> [tony@xxxxxxxxxxx: added missing sign as noted by Anthoine] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f67879078fdde59b5372b021eef6c74b832ca20e Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Tue Aug 4 22:53:27 2015 +0200 ARM: dts: omap3-devkit8000: Add PMU stat support This patch declares the LEDB usage to the PMU stat monitor. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> [tony@xxxxxxxxxxx: added missing sign as noted by Anthoine] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d6c8a9108037eada09fc8f91e81464172fd89050 Merge: 754d5c7 f49310d Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Aug 6 09:32:32 2015 +0200 Merge tag 'zynqmp-dt-for-4.3' of https://github.com/Xilinx/linux-xlnx into next/arm64 arm: Xilinx ZynqMP dt patches for v4.3 - Add SATA, GPIO, CAN, SMMU, USB, SPI, I2C, watchdog and sdhci for zynqmp - Sort nodes in dtsi * tag 'zynqmp-dt-for-4.3' of https://github.com/Xilinx/linux-xlnx: ARM64: zynqmp: Move SPI nodes to the right location ARM64: zynqmp: Move uart and ttcs to the right location ARM64: zynqmp: Enable spi flashes on ep108 ARM64: zynqmp: Add eeprom memories on i2c bus ARM64: zynqmp: Enable sdhci on ep108 ARM64: zynqmp: Enable watchdog on ep108 ARM64: zynqmp: Add DWC3 usb support ARM64: zynqmp: Add SMMU support ARM64: zynqmp: Add CANs node for platform ARM64: zynqmp: Use zynqmp specific compatible string for gpio devicetree: xilinx: zynqmp: add sata node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 052633c1ec042503cc78d678238714ea554a18e7 Merge: 5d7e73b 75118fd Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Thu Aug 6 10:27:59 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-08-04' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * Deprecate -10.ucode * Clean ups towards multiple Rx queues * Add support for longer CMD IDs. This will be required by new firmwares since we are getting close to the u8 limit. * bugfixes for the D0i3 power state * Add basic support for FTM * More random that doesn't really stand out commit ab00639e778e63ccbca5ff7c99832dfff515fe13 Author: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> Date: Tue Aug 4 22:53:26 2015 +0200 ARM: dts: omap3-devkit8000: Add user button support This patch links the user button to the BTN_EXTRA action. Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxx> [tony@xxxxxxxxxxx: added missing sign as noted by Anthoine] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1e9f747400f5b061bb088a41c4616342a14fb976 Author: Dave Gerlach <d-gerlach@xxxxxx> Date: Wed Aug 5 16:19:46 2015 +0530 ARM: dts: am437x-gp-evm: Add regulator-always-on and regulator-boot-on for RTC DCDCs DCDC5 and DCDC6 supply rtc and need to be on for accessing the module. On A1 revision of the TPS65218, FSEAL bit would be undefined without coin-cell present which in many cases led to it being set, causing DCDC5 and DCDC6 to stay active, but also leading to unexplained failures when it was not. On B1 revision, FSEAL is always 0 when no coin-cell is present so this patch is required on boards with B1 revision to ever work. This implementation works on boards with either A1 or B1 revision and makes sure that DCDC5 and DCDC6 always stay active. Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5d9ef0cf28fe9edadbc74556dca16725180c2765 Author: Keerthy <j-keerthy@xxxxxx> Date: Wed Aug 5 16:19:45 2015 +0530 ARM: dts: AM4372: Reorder the rtc compatible string Compared to da830-rtc compatibility am3352-rtc is more compatible to the one in am437x. Hence adding the am3352-rtc compatible to cover the entire feature set. The ti,am4372-rtc has no Documentation and not used even in the driver hence removing it. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5d7e73ba2fd54b17aa8a9f0bcc228a4200d094ad Author: Guy Mishol <guym@xxxxxx> Date: Mon Jul 27 17:25:49 2015 +0300 wlcore: add antenna diversity reading comments add comments to the antenna diversity reading Signed-off-by: Guy Mishol <guym@xxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6c6317321107bee5aad2d85d848b0597428343d8 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Mon Jul 27 05:02:27 2015 -0700 mwifiex: add missing skb_push() in mwifiex_check_uap_capabilties For PCIe/USB chipsets, preallocated skb buffers are reused for event handling. mwifiex_check_uap_capabilties() performs skb_pull(). This patch adds missing skb_push() to restore skb's data pointer/length. This bug was introduced by commit debfc6008169 ("mwifiex: update AP WMM settings from BSS_START event") Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d1c5409612ad25d8a35a49a89ad302fc797eeb8e Author: Guy Mishol <guym@xxxxxx> Date: Mon Jul 27 09:46:02 2015 +0300 wl18xx: add dynamic fw traces add option to dynamically configure the fw which debug traces to open Signed-off-by: Guy Mishol <guym@xxxxxx> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2728cecdc7d6bf3d216fc406718d88c35f4d09eb Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Wed Jul 22 04:53:45 2015 -0700 mwifiex: corrections in PCIe event skb handling Preallocated event SKBs are getting reused for PCIe chipset. Their physical addresses are shared with firmware so that firmware can write data into them. This patch makes sure that SKB is cleared and length is set to default while submitting it to firmware. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d788ac29793ae591801103b714c20ca3ae311c21 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Wed Jul 22 04:53:44 2015 -0700 mwifiex: fix system crash observed during initialisation System crash was observed if one of the driver initialisation commands is timed out. The reason is our timeout handler triggers firmware dump, meanwhile driver initialisation error paths have already freed the adapter structure. Firmware hasn't yet completely initialized. So collecting firmware dump is not needed in this case. Command timeout handler is modified in this patch to fix the crash issue. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 398750992ebe8a3f26d9c1c978911b55c2b2ff8b Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Wed Jul 22 04:53:43 2015 -0700 mwifiex: fix command timeout for PCIe chipsets When WLAN interface is up and running, driver unload and load was causing command timeout error. We enable Rx data by updating RX ring read pointer in init_fw_port(). It should be done when FW is completely intialialised. Command timeout is fixed in this patch by moving init_fw_port() call to mwifiex_init_fw_complete(). Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 3afafd6dcc0cb894a2a6cc1a42bb6f84a0519f16 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Wed Jul 22 04:53:42 2015 -0700 mwifiex: using right aid value for tdls action frame Variable pos is u8 here, so memcpy is needed to store u16 aid. At the same time, aid should be platform independent, upper layer utility(wpa_supplicant,etc.,) parse it as le16, so keep it le16 here. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d70d848a75fd65b28835a843bcc4faec2f5803ea Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Wed Jul 22 13:06:14 2015 +0200 ath9k: remove the sched field in struct ath_atx_tid Use list_empty(&tid->list) instead Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 592fa228f213932dc5ec433aade654d7352b3e08 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Wed Jul 22 13:06:13 2015 +0200 ath9k: remove struct ath_atx_ac struct ath_atx_ac contains a list of active TIDs belonging to one WMM AC. This patch changes the code to track active station TIDs in the txq directly. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f419c5f1d8d28391a025618dee7e1a4fdc7a5654 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Wed Jul 22 13:06:12 2015 +0200 ath9k: add fast-xmit support Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 1738203ee7291b5e93670d19a663fae03155aebc Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Tue Jul 21 11:11:43 2015 +0200 ath9k: setup rxfilter when offchannel Setup rxfiler correctly for offchannel ctx. This fix problem we didn't configure rxfilter, next didn't receive probe requests and next failed p2p_find. This was seen when ath9k loaded with use_chanctx=1 Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f3771c08282afa1354c2e5a2fdade587f30db4fd Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Tue Jul 21 11:11:42 2015 +0200 ath9k: setup rxfilter for all chanctx While mac80211 setup this per HW, set same rxfilter configuration for all chanctx. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d83520b7cd6e8c5399b1bd0d2f6f9ce733b10454 Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Tue Jul 21 11:11:41 2015 +0200 ath9k: handle RoC cancel correctly In case we will get ROC cancel from mac80211 we should not call ieee80211_remain_on_channel_expired(). In other case I hit such warning on MIPS and p2p negotiation failed (tested with use_chanctx=1). ath: phy0: Starting RoC period ath: phy0: Channel definition created: 2412 MHz ath: phy0: Assigned next_chan to 2412 MHz ath: phy0: Offchannel duration for chan 2412 MHz : 506632 ath: phy0: ath_chanctx_set_next: current: 2412 MHz, next: 2412 MHz ath: phy0: Stopping current chanctx: 2412 ath: phy0: Flush timeout: 200 ath: phy0: ath_chanctx_set_next: Set channel 2412 MHz ath: phy0: Set channel: 2412 MHz width: 0 ath: phy0: Reset to 2412 MHz, HT40: 0 fastcc: 0 ath: phy0: cur_chan: 2412 MHz, event: ATH_CHANCTX_EVENT_TSF_TIMER, state: ATH_CHANCTX_STATE_IDLE ath: phy0: ath_offchannel_channel_change: offchannel state: ATH_OFFCHANNEL_ROC_START ath: phy0: cur_chan: 2412 MHz, event: ATH_CHANCTX_EVENT_SWITCH, state: ATH_CHANCTX_STATE_IDLE ath: phy0: Cancel RoC ath: phy0: RoC aborted ath: phy0: RoC request on vif: 00:03:7f:4e:a0:cd, type: 1 duration: 500 ath: phy0: Starting RoC period ath: phy0: Channel definition created: 2412 MHz ath: phy0: Assigned next_chan to 2412 MHz ath: phy0: Offchannel duration for chan 2412 MHz : 506705 ath: phy0: ath_chanctx_set_next: current: 2412 MHz, next: 2412 MHz ath: phy0: ath_offchannel_channel_change: offchannel state: ATH_OFFCHANNEL_ROC_START ath: phy0: cur_chan: 2412 MHz, event: ATH_CHANCTX_EVENT_SWITCH, state: ATH_CHANCTX_STATE_IDLE ------------[ cut here ]------------ WARNING: CPU: 0 PID: 3312 at drivers/net/wireless/ath/ath9k/main.c:2319 Modules linked in: ath9k ath9k_common ath9k_hw ath mac80211 cfg80211 Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit eb61f9f623f78f463ec08b1c4a1defea9b511312 Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Tue Jul 21 11:11:40 2015 +0200 ath9k: advertise p2p dev support when chanctx Advertise p2p device support when ath9k loaded with use_chanctx=1. This will fix problem, when first interface is an AP and next we would like to run p2p_find. Before p2p find (scan phase) failed with EOPNOTSUPP. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c5bc15fce6aa33b7aeba4e049ceacfab66fa4a9f Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Fri Jul 17 09:13:06 2015 +0200 mwifiex: simplify mwifiex_complete_cmd 600f5d909a54("mwifiex: cleanup ioctl wait queue and abstraction layer") introduced the wakeup_interruptible suppression in mwifiex_complete_cmd b1a47aa5e1e1("mwifiex: fix system hang issue in cmd timeout error case") then added wakup_interruptible to mwifiex_cmd_timeout_func the single place setting a status of ETIMEDOUT. Instead of doing extra work, using the standard call-chain will have the same effect: mwifiex_cancel_pending_ioctl -> mwifiex_recycle_cmd_node -> mwifiex_insert_cmd_to_free_q -> mwifiex_complete_cmd -> wake_up_interruptible The difference is that previously the condition was not set to true, but that's probably just an oversight in b1a47aa5e1e1 and shouldn't have any consequence Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e9f21d403699a4d299a02df107326f11acecd13e Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Fri Jul 17 09:13:05 2015 +0200 mwifiex: remove CMD_F_CANCELED flag CMD_F_CANCELED was used to abort mwifiex_process_cmdresp in case it already started or starts processing the cmd. But this was probably not working the way intended: - it is racy: mwifiex_process_cmdresp might already have passed that test and is continuing to use the cmd node being recycled - mwifiex_process_cmdresp repeatedly uses adapter->curr_cmd which we just set to NULL - mwifiex_recycle_cmd_node will clear the flag The reason why it probably works is that mwifiex_cancel_pending_ioctl is only called from mwifiex_cmd_timeout_func, where the there is little chance of a command response still arriving Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit aeb03000837eec7df4f57034106542efd60be02b Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Fri Jul 17 09:13:04 2015 +0200 mwifiex: remove redundant reset of cmd_wait_q status mwifiex_cancel_pending_ioctl is called only from mwifiex_cmd_timeout_func. There the wait_q status is set to -ETIMEDWAIT before calling this function. Whether we reset the status to -1 or leave it at -ETIMEDWAIT at end doesn't matter since both are != 0 hence mean failure Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e3a3ef25b8cb6d7a20b52dfdadd56516041ffb51 Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Fri Jul 17 09:13:03 2015 +0200 mwifiex: remove explicit mwifiex_complete_cmd calls standard call chain when releasing a cmd node: mwifiex_recycle_cmd_node -> mwifiex_insert_cmd_to_free_q -> mwifiex_complete_cmd, if wait_q_enabled calling mwifiex_complete_cmd explicitly and setting wait_q_enabled = false is redundant Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b4336a282db86b298b70563f8ed51782b36b772c Author: Andreas Fenkart <afenkart@xxxxxxxxx> Date: Thu Jul 16 18:50:01 2015 +0200 mwifiex: sdio: reset adapter using mmc_hw_reset Since 1fb654fd97ff("mmc: sdio: add reset callback to bus operations"), sdio cards can be power cycled using mmc_hw_reset. The use mmc_remove_host/mmc_add_host is discouraged, because these are internal functions to the mmc core and should only be used by mmc hosts Signed-off-by: Andreas Fenkart <afenkart@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b6b6c18fcd9af2a71d7b2cfca0388a928308f963 Merge: 75f8085 f151f53 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Aug 6 08:51:18 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: New features: - Deref sys_enter pointer args with contents from probe:vfs_getname, showing pathnames instead of pointers in many syscalls in 'perf trace'. (Arnaldo Carvalho de Melo) - Make 'perf trace' write to stderr by default, just like 'strace'. (Milian Woff) Infrastructure changes: - color_vfprintf() fixes. (Andi Kleen, Jiri Olsa) - Allow enabling/disabling PERF_SAMPLE_TIME per event. (Kan Liang) - Fix build errors with mipsel-linux-uclibc compiler. (Petri Gynther) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 19c871ce3ac5f99d4354b0345c7560f6d0f760bd Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:07 2015 +0300 wil6210: support future boot loaders Boot loader versions as backward compatible, starting from v1 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 409ead544d747a5e80fdd3626a7fd75d6990a2fb Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:06 2015 +0300 wil6210: report boot loader error Boot loader reports error starting from the struct v2. Print error info before reset (power up state) in debug mode, and print same info as error if target reset timed out. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 93cb679a768bb526a60a9c4ce30beb45465334be Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:05 2015 +0300 wil6210: system power management Support for the system suspend/resume. In preparation for the run-time PM, implementation made run-time PM friendly: common for system and run-time PM code factored out as generic functions, albeit is_runtime parameter value is always false currently. For debug purposes, "PM" debug category introduced. Policy: AP-like interface can't be suspended; otherwise suspend is allowed. Hardware brought down if interface was up. Connection, if existed, get lost. Interface will be brought up upon resume if it was up before suspend. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0553640d28baf77cf0fb91c8a834059f0b9be972 Author: Vladimir Shulman <QCA_shulmanv@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:04 2015 +0300 wil6210: allow to handle Rx on 2 cores Allow network stack part of Rx processing to run on separate core, relaxing CPU utilization on the core used for Rx NAPI. If RXHASH feature is enabled, the driver sets rxhash of each skb to 1 to enable RPS. The core for processing the rx skb is determined by RPS mechanism according to rx_cpus bit mask which is configured at user level. For processing skbs on different core from the core which processes the interrupts, it is recommended not to enable core 0 in rx_cpus bit mask. Signed-off-by: Vladimir Shulman <QCA_shulmanv@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b9eeb512496f1b1b5a6e0748c947277d95003af5 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:03 2015 +0300 wil6210: use inline functions for register access Replace macros like "R", "W", "S", "C", defined multiple times, with inline functions "wil_[rwsc]". Use "readl" and "writel" instead of "ioread32" and "iowrite32" since it is granted that memory transactions are used, not port ones like IN/OUT Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bd2d18b50631c027af7674c3f328913c3b87d422 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:02 2015 +0300 wil6210: remove 3-MSI support In the recent kernel versions, multiple MSI is not well supported. In particular, it is not supported on x86 and ARM architectures. Also, internal interrupt handling logic is simpler and more effective when using single interrupt. Remove support for 3 MSI, convert module parameter "use_msi" from int with range [0,1,3] to boolean. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 91a8edcc3173958fd8102343a8a7919a7b703ef0 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:01 2015 +0300 wil6210: detailed statistics for Rx reorder drop Rx drops may be for 2 reasons: frame is old, or it is duplicate. On the debugfs "stations" entry, provide counters per reorder buffer for total frames processed, drops for these 2 reasons. Also add debug print for dropped frames. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5421bf0c1e37642f42758fe1c73e43b27901dd61 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:52:00 2015 +0300 wil6210: unify wmi_set_ie() error handling When printing error message, provide string describing IE kind. Derive it from IE type This allows removing of error messages printing in callers Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cab5abbf9d0ef8b36d5f5181f0087ed3836385d0 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:59 2015 +0300 wil6210: sort IEs handling sort overall IE's handling prepare code (disabled for now) to add IEs for the beacon Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a3ce5ccd50ee24313fa3e55d2cafc6da7dfcbe18 Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:58 2015 +0300 wil6210: treat "unhandled event" as warning instead of error FW is allowed to generate WMI events that are not handled by this driver. Treat such case as warning instead of error. Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 90d89e9aaa9923cd44bd5bf8a26abb7834581ba6 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:57 2015 +0300 wil6210: improve mgmt frame handling Check event length; hex dump both Rx and Tx frames Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3d4bde15315605d2490eafe9f763897e69f9125e Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:56 2015 +0300 wil6210: TSO implementation Driver report supported TSO (v4 & v6) and IP checksum offload in addition to previously supported features. In data path skbs are checked for non-zero gso_size, and when detected sent to additional function for processing TSO SKBs. Since HW does not fully support TSO, additional effort is required from the driver. Driver partitions the data into mss sized descriptors which are then DMAed to the HW. Signed-off-by: Vladimir Shulman <QCA_shulmanv@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 67131a1dba5f45cee78e9de09605cbdda1a1ce6c Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:55 2015 +0300 wil6210: skip HW version check for chip debugging When loading with debug_fw flag, do not bail out on unknown chipId Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8ad6600fbdd699f0d7a3ec250d20256a7ec98889 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:54 2015 +0300 wil6210: use wil_fw_error_recovery() Use function wil_fw_error_recovery() instead of inline equivalent code Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3e9191fce2d6b36a429dc046cdc1f7e8ec70465c Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:53 2015 +0300 wil6210: wait for del_station to complete Multiple del_station requests may be sent to the driver by the supplicant when turning down AP. This may overflow mailbox between the FW and ucode Wait till disconnect of one STA completed before sending next command. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8a9d1dc5741da8575e3393de392cc1704ecd4fe7 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:52 2015 +0300 wil6210: use <> vs. "" for global include linux/device.h should be included using <>, not "" since it is not local include Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8ea06188fd8cb4c6bb85663b6dedcab22f7ffba7 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:51 2015 +0300 wil6210: print "ulong" fields in hex format in the debugfs In the debugfs, there is "ulong" attribute printing. It is used for bitmap printing, and more appropriate format would be hexadecimal, not decimal. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6093e66b6b456f4526e190b00d362520b787889b Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:50 2015 +0300 wil6210: count drops in Rx block ack reorder When performing Rx reordering, count skb's dropped per reorder buffer; and print dropped packets count on the "stations" debugfs entry Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f1ad8c9346de80c91d7f35d4a1b0d1f2b93b3661 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:51:49 2015 +0300 wil6210: support boot loader struct v0 & v1 There are 2 versions of boot loader struct: v0 and v1. In the v1, boot loader build version added; as well as RF status. Support both versions. Boot loader structure v1 has RF status; ignore RF error if firmware not going to be loaded; driver can still be used to interact with the HW Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 197165d44925bd0fa892990851dee4d312a44b39 Author: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 24 14:24:44 2015 +0530 powerpc/ftrace: add powerpc timebase as a trace clock source Add a new powerpc-specific trace clock using the timebase register, similar to x86-tsc. This gives us - a fast, monotonic, hardware clock source for trace entries, and - a clock that can be used to correlate events across cpus as well as across hypervisor and guests. Signed-off-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 35a7f41cc6bb7013e344502b03c5583d04228bd3 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Apr 16 20:18:50 2015 +0800 powerpc/4xx: Fix return value check in hsta_msi_probe() In case of error, the functions platform_get_resource() and kmalloc() returns NULL not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 12a8343e99a8af50b2a1cd8da72d34b6e860da0f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Aug 5 17:23:54 2015 +0800 f2fs: recover invalid/reserved block address for fsynced file When testing with generic/101 in xfstests, error message outputed as below: --- tests/generic/101.out +++ results//generic/101.out.bad @@ -10,10 +10,14 @@ File foo content after log replay: 0000000 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa * -0200000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0200000 bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb * 0372000 ... (Run 'diff -u tests/generic/101.out results/generic/101.out.bad' to see the entire diff) The test flow is like below: 1. pwrite foo -S 0xaa 0 64K 2. pwrite foo -S 0xbb 64K 61K 3. sync 4. truncate foo 64K 5. truncate foo 125K 6. fsync foo 7. flakey drop writes 8. umount After this test, we expect the data of recovered file will have the first 64k of data filling with value 0xaa and the next 61k of data filling with value 0x00 because we have fsynced it before dropping writes in dm. In f2fs, during recovering, we will only recover the valid block address in direct node page if it is marked as a fsynced dnode, but block address which means invalid/reserved (with value NULL_ADDR/NEW_ADDR) will not be recovered. So, the file recovered shows its incorrect data 0xbb in range of [61k, 125k]. In this patch, we fix to recover invalid/reserved block during recover flow. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 759af1c9c16fec5323111b799ce25a3d8864df7e Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Wed Aug 5 15:52:16 2015 +0800 f2fs: use extent cache to optimize f2fs_reserve_block In some cases, we only need the block address when we call f2fs_reserve_block, other fields of struct dnode_of_data aren't necessary. We can try extent cache first for such cases in order to speed up the process. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a368c29cf105485d2c34fb5d09d2dbe813e483e1 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Jul 31 14:14:20 2015 +0200 windfarm: remove three exported but unused functions wf_find_control(), wf_find_sensor(), and wf_is_overtemp() are exported but unused. Remove these three functions. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ca94bbab1a0336f34066f27c503767b8181db5b1 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Jul 31 14:12:20 2015 +0200 windfarm: make wf_critical_overtemp() static wf_critical_overtemp() is exported. But nothing uses that export. That's unsurprising because there's no header that defines it. Stop exporting that function and make it static. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fe2b592173ff0274e70dc44d1d28c19bb995aa7c Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Jul 31 14:08:58 2015 +0200 windfarm: decrement client count when unregistering wf_unregister_client() increments the client count when a client unregisters. That is obviously incorrect. Decrement that client count instead. Fixes: 75722d3992f5 ("[PATCH] ppc64: Thermal control for SMU based machines") Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a825ac078b50266fb09168547752dd73c2fd4b4a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Jun 29 14:30:39 2015 -0700 powerpc: Remove redundant breaks break; break; isn't useful. Remove one. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ae2a84b4074cff81957bae01bc1e0d50712f3dd3 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Fri Jun 12 10:26:37 2015 +0800 powerpc: pci: use %pR for printing struct resource Use %pR to simplify the debug code. This also make the debug info more readable. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> [mpe: Unsplit multi-line printk strings] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 368857c16c595eb7537cc0846708ddaa57a3a25b Author: Daniel Axtens <dja@xxxxxxxxxx> Date: Wed Jul 29 14:07:22 2015 +1000 cxl: Don't ignore add_process_element() result when attaching context Currently when attaching a context in dedicated mode, we ignore the result of add_process_element(), which could potentially fail. If add_process_element() returns an error, pass it back to the caller. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 62521ea6db1045a746d4625f40ef6be8b74f126d Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 16:48:56 2015 +0530 powerpc/powernv: Invoke opal_cec_reboot2() on unrecoverable HMI. Invoke new opal_cec_reboot2() call with reboot type OPAL_REBOOT_PLATFORM_ERROR (for unrecoverable HMI interrupts) to inform BMC/OCC about this error, so that BMC can collect relevant data for error analysis and decide what component to de-configure before rebooting. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e784b6499d9cba83b7f3f032b7ee01f7ca96ad91 Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 21:24:38 2015 +0530 powerpc/powernv: Invoke opal_cec_reboot2() on unrecoverable machine check errors. On non-recoverable MCE errors in kernel space, Linux kernel panics and system reboots. On BMC based system opal-prd runs as a daemon in the host. Hence, kernel crash may prevent opal-prd to detect and analyze this MCE error. This may land us in a situation where the faulty memory never gets de-configured and Linux would keep hitting same MCE error again and again. If this happens in early stage of kernel initialization, then Linux will keep crashing and rebooting in a loop. This patch fixes this issue by invoking new opal_cec_reboot2() call with reboot type OPAL_REBOOT_PLATFORM_ERROR to inform BMC/OCC about this error, so that BMC can collect relevant data for error analysis and decide what component to de-configure before rebooting. This patch is dependent on OPAL patchset posted on skiboot mailing list at https://lists.ozlabs.org/pipermail/skiboot/2015-July/001771.html that introduces opal_cec_reboot2() opal call. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1852ae276ba6d5d481c3fb193054ebb67068be5c Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Tue May 5 13:35:43 2015 +0530 powerpc/powernv: Pull all HMI events before panic. In the event of unrecovered HMI the existing code panics as soon as it receives the first unrecovered HMI event. This makes host to report partial information about HMIs before panic. There may be more errors which would have caused the HMI and hence more HMI event would have been generated waiting to be pulled by host. This patch implements a logic to pull and display all the HMI event before going down panic path. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c33e11d0dd2ebd2cd528aa8e9ef46afdd4d766b0 Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Tue May 5 13:34:58 2015 +0530 powerpc/powernv: display reason for Malfunction Alert HMI. The V2 version of HMI event now carries additional information for Malfunction Alert. It now contains error information about CORE and NX checkstop. This patch checks and displays the check stop reason before panic. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Acked-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3d8cc00073d6750ffe883685e49b2e4a0f596370 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sat Aug 1 07:06:58 2015 +0000 dmaengine: ipu: Consolidate duplicated irq handlers The functions irq_irq_err and ipu_irq_fn are identical plus/minus the comments. Remove one. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 425e20fd08a53ad06c562960d594505813c7910c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sat Aug 1 07:06:58 2015 +0000 dmaengine: ipu: Prepare irq handlers for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 67a6eedc4d2cc609620d27e33f72b8f90e61e0a7 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 12:19:24 2015 +0200 dmaengine: xdmac: Add scatter gathered memset support The XDMAC also supports memset operations over discontiguous areas. Add the necessary logic to support this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 50c7cd2bd3786258606c6c7c8356064c08ab2383 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 12:19:23 2015 +0200 dmaengine: Add scatter-gathered memset The current API allows the driver to accelerate memset by using the DMA controller. However, it does so over a contiguous memory area, which might proves inefficient when you have to do it over a non-contiguous yet repititive pattern, since you have to create a number of descriptors and then submit each other. Add a memset operation going over a scatter list to handle such cases in a single call. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e91a398c31cef2d51786642e372c503cd43fba90 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Aug 1 02:39:43 2015 +0200 ACPI / bus: Move duplicate code to a separate new function After merging commit 712e960f0ee9 (ACPI / PM: Attach ACPI power domain only once) with commit 1dcc3d3362b0 (ACPI / bus: Move ACPI bus type registration) there is some duplicate code in acpi_device_is_first_physical_node() and acpi_companion_match() that can be moved to a separate routine and called from both places. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> commit 7fc80964e80bcf93cff0f7ba2aa8095d48f940d6 Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Wed Aug 5 00:09:35 2015 +0200 wilc1000: wilc_wfi_cfgoperations.c: Fixed initialization of global boolean. Globals are initialized to zero or NULL by GCC. No need to explicitly initialize them. Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4816693286d4ff9219b1cc72c2ab9c589448ebcb Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Jul 30 12:54:40 2015 -0400 toshiba laptop: replace ioremap_cache with ioremap With ioremap_cache being replaced with memremap there is no longer a guarantee that a mapping will silently fall back to an uncached mapping. Explicitly use a vanilla ioremap() for this short lived mapping. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Jonathan Buzzard <jonathan@xxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71db87ba570038497db1227b7dc61113c4156565 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 30 15:04:01 2015 +0530 bus: subsys: update return type of ->remove_dev() to void Its return value is not used by the subsys core and nothing meaningful can be done with it, even if we want to use it. The subsys device is anyway getting removed. Update prototype of ->remove_dev() to make its return type as void. Fix all usage sites as well. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52cdbdd49853dfa856082edb0f4c4c0249d9df07 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Jul 27 20:43:01 2015 +0300 driver core: correct device's shutdown order Now device's shutdown sequence is performed in reverse order of their registration in devices_kset list and this sequence corresponds to the reverse device's creation order. So, devices_kset data tracks "parent<-child" device's dependencies only. Unfortunately, that's not enough and causes problems in case of implementing board's specific shutdown procedures. For example [1]: "DRA7XX_evm uses PCF8575 and one of the PCF output lines feeds to MMC/SD and this line should be driven high in order for the MMC/SD to be detected. This line is modelled as regulator and the hsmmc driver takes care of enabling and disabling it. In the case of 'reboot', during shutdown path as part of it's cleanup process the hsmmc driver disables this regulator. This makes MMC boot not functional." To handle this issue the .shutdown() callback could be implemented for PCF8575 device where corresponding GPIO pins will be configured to states, required for correct warm/cold reset. This can be achieved only when all .shutdown() callbacks have been called already for all PCF8575's consumers. But devices_kset is not filled correctly now: devices_kset: Device61 4e000000.dmm devices_kset: Device62 48070000.i2c devices_kset: Device63 48072000.i2c devices_kset: Device64 48060000.i2c devices_kset: Device65 4809c000.mmc ... devices_kset: Device102 fixedregulator-sd ... devices_kset: Device181 0-0020 // PCF8575 devices_kset: Device182 gpiochip496 devices_kset: Device183 0-0021 // PCF8575 devices_kset: Device184 gpiochip480 As can be seen from above .shutdown() callback for PCF8575 will be called before its consumers, which, in turn means, that any changes of PCF8575 GPIO's pins will be or unsafe or overwritten later by GPIO's consumers. The problem can be solved if devices_kset list will be filled not only according device creation order, but also according device's probing order to track "supplier<-consumer" dependencies also. Hence, as a fix, lets add devices_kset_move_last(), devices_kset_move_before(), devices_kset_move_after() and call them from device_move() and also add call of devices_kset_move_last() in really_probe(). After this change all entries in devices_kset will be sorted according to device's creation ("parent<-child") and probing ("supplier<-consumer") order. devices_kset after: devices_kset: Device121 48070000.i2c devices_kset: Device122 i2c-0 ... devices_kset: Device147 regulator.24 devices_kset: Device148 0-0020 devices_kset: Device149 gpiochip496 devices_kset: Device150 0-0021 devices_kset: Device151 gpiochip480 devices_kset: Device152 0-0019 ... devices_kset: Device372 fixedregulator-sd devices_kset: Device373 regulator.29 devices_kset: Device374 4809c000.mmc devices_kset: Device375 mmc0 [1] http://www.spinics.net/lists/linux-mmc/msg29825.html Cc: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82b2c3c5b838b4fac9471eab320670aff5a822e0 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Jun 29 16:59:02 2015 +0200 driver core: fix docbook for device_private.device This field refers to the public device struct, not to classes. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d0fbb3467b5a82e33ab57f27b870c1b8275f45d Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Fri Jul 24 15:10:22 2015 -0700 selftests: firmware: skip timeout checks for kernels without user mode helper The CONFIG_FW_LOADER_USER_HELPER is mostly disabled these days, so skip timeout setting for these kernels. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2d7d4e4a60f1aeefb38d7a0bede3742ddb76a68 Author: Raanan Avargil <raanan.avargil@xxxxxxxxx> Date: Sun Jul 19 16:33:21 2015 +0300 e1000e: Increase driver version number Signed-off-by: Raanan Avargil <raanan.avargil@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 37b12910dd11d9ab969f2c310dc9160b7f3e3405 Author: Raanan Avargil <raanan.avargil@xxxxxxxxx> Date: Sun Jul 19 16:33:20 2015 +0300 e1000e: Fix tight loop implementation of systime read algorithm Change the algorithm. Read systimel twice and check for overflow. If there was no overflow, use the first value. If there was an overflow, read systimeh again and use the second systimel value. Signed-off-by: Raanan Avargil <raanan.avargil@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2758f9edb7bd5a06a2ecee83cc2ebaf8822a0cb5 Author: Raanan Avargil <raanan.avargil@xxxxxxxxx> Date: Mon Jul 6 17:57:36 2015 +0300 e1000e: Fix incorrect ASPM locking This patch fixes wrong locking usage. In the context of slot reset, we should use lock. And during resume, there is no need of lock. Reported-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Raanan Avargil <raanan.avargil@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d582891594104adeea89307ddd31b31bcf2d95fa Author: Raanan Avargil <raanan.avargil@xxxxxxxxx> Date: Mon Jul 6 16:58:54 2015 +0300 e1000e: Cosmetic changes 1) Replace spaces with tab. 2) Move ich8lan related define to the proper context. Signed-off-by: Raanan Avargil <raanan.avargil@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f5ac7445ebdbfa8cd2d90ef2a58b8f4455bcb664 Author: Raanan Avargil <raanan.avargil@xxxxxxxxx> Date: Mon Jul 6 16:48:00 2015 +0300 e1000e: Fix EEE in Sx implementation This patch implements the EEE in Sx code so that it only applies to parts that support EEE in Sx (as opposed to all parts that support EEE). It also uses the existing eee_advert and eee_lp_abiliity to set just the bits (100/1000) that should be set. Signed-off-by: Raanan Avargil <raanan.avargil@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7073f46e443ecb5a48221160aa39773ccb520b0f Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Jun 5 12:20:34 2015 -0400 i40e: Add AQ commands for NVM Update for X722 X722 does NVM update via the adminq queue, so we need to add support for that. Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 52eb95ef3286f10c4584c3dcb25d4be7d8e1faeb Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:33 2015 -0400 i40e/i40evf: Add ATR HW eviction support for X722 X722 supports evicting ATR filters in the HW. With this patch, we enable the feature in the driver and avoid filter deletion by the driver. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0d8e14392f7697e5ee241d49fce3355f22406d3e Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:32 2015 -0400 i40e: Add IWARP support for X722 X722 supports IWARP, this patch handles checking for PE critical errors. Since the driver doesn't support the IWARP interface for now, this patch just does bare minimum to log a message oif a PE critical error happens. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 527274c78ea7e0cad8b44ea25509c42aa605634e Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:31 2015 -0400 i40e/i40evf: Add TX/RX outer UDP checksum support for X722 X722 supports offloading of outer UDP TX and RX checksum for tunneled packets. This patch exposes the support and leaves it enabled by default. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8e0764b4d6be42459b6f517e199b8c7df43cc15c Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:30 2015 -0400 i40e/i40evf: Add support for writeback on ITR feature for X722 X722 fixes an issue from X710 where TX descriptor WB would not happen if the interrupts were disabled. In order for the write backs to happen a bit needs to be set in the dynamic interrupt control register called WB_ON_ITR. With this feature, the SW driver need not arm SW interrupts to work around the issue in X710. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e25d00b87b26f96f91434e6608dc4b05f5ef5498 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Tue Jun 23 19:00:04 2015 -0400 i40e/i40evf: RSS changes for X722 X722 uses the admin queue to configure RSS. This patch adds the necessary flow changes to configure RSS through AQ. It also adds the separate VMDQ2 lookup tables and hash key programming for X722. X722 also exposes a different set of PCTYPES for RSS, this patch accommodates those changes. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit da48c9a2aa3a93b4f19e3a37b8fa1cd7fe7005bb Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:28 2015 -0400 i40e/i40evf: Update register.h file for X722 Update the i40e and i40evf register.h file with the registers for X722. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e50c8d6d3d3f5807aaaeaaec42774cd02fd5076f Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:27 2015 -0400 i40e/i40evf: Update FW API with X722 support This patch does the firmware API update to support the new X722 device. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d502ce01d21bf4092f282cae5817e7d140e21816 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:26 2015 -0400 i40e/i40evf: Add flags for X722 capabilities Add capabilities flags specific to X722. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 87e6c1d78706b97018de3169d0edd661f640a425 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Fri Jun 5 12:20:25 2015 -0400 i40e/i40evf: Add device ids for X722 Adding device ids for new hardware X722 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ecc87eed7beeb50c0be0b73322d62135277ea2b0 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Aug 5 16:51:11 2015 +0300 device property: fix potential NULL pointer dereference In device_add_property_set() we check pset parameter for a NULL, but few lines later we do a pointer arithmetic without check that will crash kernel in the set_secondary_fwnode(). Here we check if pset parameter is NULL and return immediately. Fixes: 16ba08d5c9ec (device property: Introduce firmware node type for platform data) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 71cf5aeeb8e2154efda5f40be50c925f15057755 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Jul 19 20:06:22 2015 +0200 kernel, cpu: Remove bogus __ref annotations cpu_chain lost its __cpuinitdata annotation long ago in commit 5c113fbeed7a ("fix cpu_chain section mismatch..."). This and the global __cpuinit annotation drop in v3.11 vanished the need to mark all users, including transitive ones, with the __ref annotation. Just get rid of it to not wrongly hide section mismatches. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eda5867b6992e3de888b516c0ff0fa1f1ee881af Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Jul 19 20:06:21 2015 +0200 cpu: Remove bogus __ref annotation of cpu_subsys_online() In commit 0db0628d9012 ("kernel: delete __cpuinit usage from all core kernel files") cpu_up() lost its __cpuinit annotation, vanishing the need for cpu_subsys_online() to have a __ref annotation. Just drop it to be able to catch real section mismatches in the future. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a885de67157e8e65b92af2e0a77f6eadd112d0b7 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Wed Jul 29 23:26:28 2015 +0300 firmware: fix wrong memory deallocation in fw_add_devm_name() Device resource data allocated with devres_alloc() must be deallocated by devres_free(). Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Acked-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a782a7e46bb50822fabfeb7271605762a59c86df Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:27 2015 +0000 x86/irq: Store irq descriptor in vector array We can spare the irq_desc lookup in the interrupt entry code if we store the descriptor pointer in the vector array instead the interrupt number. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.717724106@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f61ae4fb66a4f7ae49e3456003fc4328d6db09c9 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:26 2015 +0000 genirq: Provide irq_desc_has_action If we have a reference to irq_desc already, there is no point to do another lookup. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.638130301@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 44825757a3ee37c030165a94d6b4dd79c564f661 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:25 2015 +0000 x86/irq: Get rid of an indentation level Make the code simpler to read. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.555253675@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7276c6a2cb5f7ae46fd0c9539af02dbcb7c4f3f5 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:25 2015 +0000 x86/irq: Rename VECTOR_UNDEFINED to VECTOR_UNUSED VECTOR_UNDEFINED is a misnomer. The vector is defined, but unused. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.477282494@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 24c70e07a0311a98dbb5e7a7472fa96a22b789d3 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:24 2015 +0000 x86/irq: Replace numeric constant Use the proper define instead of 0. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.385495420@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit df54c4934e030e73cb6a7bd6713f697350dabd0b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Aug 2 20:38:23 2015 +0000 x86/irq: Protect smp_cleanup_move smp_cleanup_move fiddles without protection in the interrupt descriptors and the vector array. A concurrent irq setup/teardown or affinity setting can pull the rug under that operation. Add proper locking. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150802203609.222975294@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ad3f8d5afe503faa78d61a50a1f6eec3afa7c787 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Aug 4 14:02:56 2015 +0930 x86/lguest: Do not setup unused irq vectors No point in assigning the interrupt vectors if there is no interrupt chip installed. Move it to lguest_setup_irq() and call it from lguest_enable_irq. [ rusty: Typo fix and error handling ] Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438662776-4823-2-git-send-email-rusty@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 27a6f41c1a20a3339f456647a21e45fca5b82b62 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Tue Aug 4 14:02:55 2015 +0930 x86/lguest: Clean up lguest_setup_irq We make it static and hoist it higher in the file for the next patch. We also give a nice panic if it fails during boot. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438662776-4823-1-git-send-email-rusty@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 223e8f01b072152cc4336e7dcb1cf8c21ab34432 Author: Seymour, Shane M <shane.seymour@xxxxxx> Date: Thu Jun 25 02:33:08 2015 +0000 sysfs.txt: update show method notes about sprintf/snprintf/scnprintf usage Changed the documentation to allow sprintf() when the buffer provided by sysfs cannot be overflowed. Explicitly say snprintf() must never be used in a show function to format data to be returned to user space. Change based on a discussion about the patch st: convert DRIVER_ATTR macros to DRIVER_ATTR_RO Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shane Seymour <shane.seymour@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64526370d11ce8868ca495723d595b61e8697fbf Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Jul 15 10:29:00 2015 +0900 devres: fix devres_get() Currently, devres_get() passes devres_free() the pointer to devres, but devres_free() should be given with the pointer to resource data. Fixes: 9ac7849e35f7 ("devres: device resource management") Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # 2.6.21+ Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7edaca4e825fd5d7a6ddce3548cc1f7a7337cf8 Merge: c948c26 cbfe8fa Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Aug 5 23:55:52 2015 +0200 Merge branch 'linus' into x86/apic Pull in upstream changes to avoid conflicts commit 8c85fc9ae69a4510ba5e2bd5fac2c1d9d60967ad Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Aug 5 15:23:09 2015 -0400 audit: make audit_del_rule() more robust Move the access to the entry for audit_match_signal() to earlier in the function in case the entry found is the same one passed in. This will enable it to be used by audit_remove_mark_rule(). Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [PM: tweaked subject line as it no longer made sense after multiple revs] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 2664e0386e813158b599a73164f8f7ddb2b0eb6d Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:18:50 2015 +0300 misc: eeprom: max6875: clean up max6875_read() The change removes redundant sysfs binary file boundary check, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79dedbddd0eea471d78ef82eb7c42b8fb1bdef65 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:18:49 2015 +0300 misc: eeprom: clean up eeprom_read() The change removes redundant sysfs binary file boundary check, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5da83d4a9c929ac197313b5d6c5d771447fb59e Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:18:48 2015 +0300 misc: eeprom: 93xx46: clean up eeprom_93xx46_bin_read/write The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b6e5ba3d2ed958f6c32bfc84cdab3377e391f02 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:18:47 2015 +0300 misc: ds1682: clean up ds1682_eeprom_read() and ds1682_eeprom_write() The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acb921a5a1e5fb2b864be25caf7317531f91a832 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:18:46 2015 +0300 misc: cxl: clean up afu_read_config() The sanity checks for overflow are not needed, because this is done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: Ian Munsie <imunsie@xxxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 594069bc3d333101fb187fc708d75d3ef491869a Author: Partha Pratim Mukherjee <ppm.floss@xxxxxxxxx> Date: Mon Jul 27 16:15:19 2015 -0700 fs/char_dev.c: fix incorrect documentation for unregister_chrdev_region The current documentation for unregister_chrdev_region says that it return a range of device numbers which is incorrect. Instead it unregister a range of device numbers. Fix the documentation to make this clear. Signed-off-by: Partha Pratim Mukherjee <ppm.floss@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7390d7c52684ea338621eb3826a60e33a2bab9d Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Jul 7 12:23:49 2015 +0530 w1: Use module_pci_driver Use module_pci_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return pci_register_driver(&x); } @b depends on a@ identifier e, a.x; @@ -static e(...) { pci_unregister_driver(&x); } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_pci_driver; @@ -module_exit(e); +module_pci_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01c48a59bae36f08ba27ed6bfe789aa0d14ee2a1 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:38:10 2015 +0900 w1: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aee4b9bd4505d0a82cae42c35d7d4a0c08725cec Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:17:24 2015 +0100 nvmem: Add to MAINTAINERS for nvmem framework This patch adds MAINTAINERS to nvmem framework. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d0b16a66c8a9d10294572c6f79df4f15a27825d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 12:17:09 2015 +0100 nvmem: sunxi: Move the SID driver to the nvmem framework Now that we have the nvmem framework, we can consolidate the common driver code. Move the driver to the framework, and hopefully, it will fix the sysfs file creation race. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> [srinivas.kandagatla: Moved to regmap based EEPROM framework] Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b470d6d7a5dfe41112d55c39eac67ddc5afac80d Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:16:59 2015 +0100 nvmem: qfprom: Add bindings for qfprom This patch adds bindings for qfprom found in QCOM SOCs. QFPROM driver is based on simple nvmem framework. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ab11996b489ad65092216315484824ed32018f8 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:15:00 2015 +0100 nvmem: qfprom: Add Qualcomm QFPROM support. This patch adds QFPROM support driver which is used by other drivers like thermal sensor and cpufreq. On MSM parts there are some efuses (called qfprom) these fuses store things like calibration data, speed bins.. etc. Drivers like cpufreq, thermal sensors would read out this data for configuring the driver. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 354ebb541dfa37a83395e5a9b7d68c34f80fffc0 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:14:14 2015 +0100 Documentation: nvmem: add nvmem api level and how-to doc This patch add basic how-to and api summary documentation for simple NVMEM framework. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2af38ab572b031a4111f01153cc020b1038b427b Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:13:58 2015 +0100 nvmem: Add bindings for simple nvmem framework This patch adds bindings for simple nvmem framework which allows nvmem consumers to talk to nvmem providers to get access to nvmem cell data. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> [Maxime Ripard: intial version of eeprom framework] Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2a5402ec7c6d0442cca370a0097e75750f81398 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:13:45 2015 +0100 nvmem: Add nvmem_device based consumer apis. This patch adds read/write apis which are based on nvmem_device. It is common that the drivers like omap cape manager or qcom cpr driver to access bytes directly at particular offset in the eeprom and not from nvmem cell info in DT. These driver would need to get access to the nvmem directly, which is what these new APIS provide. These wrapper apis would help such users to avoid code duplication in there drivers and also avoid them reading a big eeprom blob and parsing it internally in there driver. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69aba7948cbe53f2f1827e84e9dd0ae470a5072e Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:13:34 2015 +0100 nvmem: Add a simple NVMEM framework for consumers This patch adds just consumers part of the framework just to enable easy review. Up until now, nvmem drivers were stored in drivers/misc, where they all had to duplicate pretty much the same code to register a sysfs file, allow in-kernel users to access the content of the devices they were driving, etc. This was also a problem as far as other in-kernel users were involved, since the solutions used were pretty much different from on driver to another, there was a rather big abstraction leak. This introduction of this framework aims at solving this. It also introduces DT representation for consumer devices to go get the data they require (MAC Addresses, SoC/Revision ID, part numbers, and so on) from the nvmems. Having regmap interface to this framework would give much better abstraction for nvmems on different buses. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> [Maxime Ripard: intial version of the framework] Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eace75cfdcf7d9937d8c1fb226780123c64d72c4 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 12:13:19 2015 +0100 nvmem: Add a simple NVMEM framework for nvmem providers This patch adds just providers part of the framework just to enable easy review. Up until now, NVMEM drivers like eeprom were stored in drivers/misc, where they all had to duplicate pretty much the same code to register a sysfs file, allow in-kernel users to access the content of the devices they were driving, etc. This was also a problem as far as other in-kernel users were involved, since the solutions used were pretty much different from on driver to another, there was a rather big abstraction leak. This introduction of this framework aims at solving this. It also introduces DT representation for consumer devices to go get the data they require (MAC Addresses, SoC/Revision ID, part numbers, and so on) from the nvmems. Having regmap interface to this framework would give much better abstraction for nvmems on different buses. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> [Maxime Ripard: intial version of eeprom framework] Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Tested-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4edd70c133f3921c594883d8f9da31a7261f8b4f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 20 17:27:24 2015 +0530 auxdisplay: ks0108: use new parport device model Modify auxdisplay driver to use the new parallel port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9efdbe63410984668a4983cc46e31a7b3f0c74e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 20 17:27:23 2015 +0530 auxdisplay: ks0108: use min_t Using min_t() is preffered than using min(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7faad1dfbbe008fe564d94c1b154695fcc13d748 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 20 17:27:22 2015 +0530 auxdisplay: ks0108: start using pr_* Start using pr_* macros instead of using printk and in the process define pr_fmt. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bab383de3b84e584b0f09227151020b2a43dc34c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 20 17:27:21 2015 +0530 auxdisplay: ks0108: fix refcount parport_find_base() will implicitly do parport_get_port() which increases the refcount. Then parport_register_device() will again increment the refcount. But while unloading the module we are only doing parport_unregister_device() decrementing the refcount only once. We add an parport_put_port() to neutralize the effect of parport_get_port(). Cc: <stable@xxxxxxxxxxxxxxx> # 2.6.32+ Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d25ded8d3c6ecc3043763d4330c964603dc61bd4 Author: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 13:35:36 2015 +1000 char/nvram: Use bitwise OR to obtain Atari video mode data Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff63ec1312dabd28876c9c03b5ed172a879bfb60 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 31 09:37:30 2015 -0600 coresight: Fix implicit inclusion of linux/sched.h The patch "Coresight: Add an interface for supporting ETM3/4 Context ID tracing" adds uses of find_task_by_vpid() and task_pid_nr() from linux/sched.h but does not include that header causing build errors in at least an ARM allmodconfig where it is not implicitly included. Add an explicit include to fix that. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8b66fe52d3ae97df9f2eef6410bd5aef095914c Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Fri Jul 31 09:37:29 2015 -0600 Doc: trace: Fix typo in coresight.txt This patch fix spelling typos found in coresight.txt Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f67b467aab10685f695190d2f471221e7a314374 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Fri Jul 31 09:37:28 2015 -0600 coresight-etm4x: Support context-ID tracing when PID namespace is enabled Like ETTv3, ETMv4 also needs the similar modifications to support Context ID tracing when PID namespace is enabled. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a440617e0d882a35accdd32dd7ae180885c6b28c Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Fri Jul 31 09:37:27 2015 -0600 coresight-etm3x: Support context-ID tracing when PID namespace is enabled The Coresight ETM drivers already support context-ID tracing, but it won't work when PID namespace is enabled. This is because when using PID namespace a process id (ie. VPID) seen from the current namespace differs from the id (ie. PID) seen by kernel. So when users write the process id seen by themselves to ETM, there needs to be a translation from VPID to PID, as such ETM drivers will write the PID into the Context ID register correctly. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 722102274ab1206634d31abe4f438a911a0945d2 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Fri Jul 31 09:37:26 2015 -0600 Coresight: Add an interface for supporting ETM3/4 Context ID tracing If PID namespace is enabled, everytime users configure the Context ID register to trace the specific process, there needs to be a translation between the real PID seen from the kernel and VPID seen from the namespace in which the user's process resides . This patch just adds the translation interface for ETMs. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd196ac3fa5a574f3ddf37b66fbe8c58225c3355 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Fri Jul 31 09:37:25 2015 -0600 coresight-etm4x: Change the name of the ctxid_val to ctxid_pid 'ctxid_val' array was used to store the value of ETM context ID comparator which actually stores the process ID to be traced, so using 'ctxid_pid' as its name instead make it easier to understand. This patch also changes the ABI, it is normally not allowed, but fortunately it is a testing ABI and very new for now. Nevertheless, if you don't think it should be changed, we could always add an alias for userspace. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 414a1417d7b35e0e72edb16e45840e242cb6b52e Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Fri Jul 31 09:37:24 2015 -0600 coresight-etm3x: Change the name of the ctxid_val to ctxid_pid 'ctxid_val' array was used to store the value of ETM context ID comparator which actually stores the process ID to be traced, so using 'ctxid_pid' as its name instead make it easier to understand. This patch also changes the ABI, it is normally not allowed, but fortunately it is a testing ABI and very new for now. Nevertheless, if you don't think it should be changed, we could always add an alias for userspace. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c35aaa13794a0c5b752af19993222d08497e7036 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jul 31 09:37:23 2015 -0600 coresight: replicator: Use builtin_platform_driver() Macro builtin_platform_driver can be used for builtin drivers that don't do anything in driver init. This file depends on Kconfig CONFIG_CORESIGHT_LINKS_AND_SINKS which eventually depends on CORESIGHT. Both CONFIG_CORESIGHT_LINKS_AND_SINKS and CORESIGHT are bool. So, use builtin_platform_driver and remove some boilerplate code. Also, remove header file init.h as functionality like module_init and module_exit is now relocated to module.h. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Suggested-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27d3fd3d0d89030798121718637d6b0ed59e0ca5 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Fri Jul 31 09:37:22 2015 -0600 coresight-etm3x: Add Qualcomm PTM v1.1 peripheral ID Add Qualcomm's PTM v1.1 peripheral ID to supported devices. This device could be found at least in MSM8974 and APQ8064 chipsets. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5742ef1279e4cfe52fee7056b15a848ffe5c723 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Fri Jul 31 09:37:21 2015 -0600 coresight: binding for ETMv4 coresight drivers Adding compatible string for new coresight ETMv4 tracer. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 686079c9b71a4673d0068ea4538f22359070ee33 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jun 29 09:12:38 2015 +0200 uio: UIO_PRUSS should depend on HAS_DMA If NO_DMA=y: ERROR: "dma_alloc_coherent" [drivers/uio/uio_pruss.ko] undefined! ERROR: "dma_free_coherent" [drivers/uio/uio_pruss.ko] undefined! Add a dependency on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d12f569c9b57ecdb18631d0b54c5224da5a1c233 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Jul 8 10:24:27 2015 +0530 uio: uio_fsl_elbc_gpcm: Use module_platform_driver Use module_platform_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return platform_driver_register(&x); } @b depends on a@ identifier e, a.x; @@ -static e(...) { platform_driver_unregister(&x); } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_platform_driver; @@ -module_exit(e); +module_platform_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2ef93930326134001523016782daddf1a4b78a2 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Wed Jul 8 17:24:46 2015 +0200 uio: Destroy uio_idr on module exit Destroy uio_idr on module exit, reclaiming the allocated memory. This was detected by the following semantic patch (written by Luis Rodriguez <mcgrof@xxxxxxxx>) <SmPL> @ defines_module_init @ declarer name module_init, module_exit; declarer name DEFINE_IDR; identifier init; @@ module_init(init); @ defines_module_exit @ identifier exit; @@ module_exit(exit); @ declares_idr depends on defines_module_init && defines_module_exit @ identifier idr; @@ DEFINE_IDR(idr); @ on_exit_calls_destroy depends on declares_idr && defines_module_exit @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... idr_destroy(&idr); ... } @ missing_module_idr_destroy depends on declares_idr && defines_module_exit && !on_exit_calls_destroy @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... +idr_destroy(&idr); } </SmPL> Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 513da46d4b72bf6c4c956c57044fcbcfe321deeb Author: Jürg Billeter <j@xxxxxxxxx> Date: Wed Jun 24 12:24:06 2015 +0200 ti-st: st_kim: use gpio_set_value_cansleep to fix warning GPIO accessor functions may sleep. Signed-off-by: Jürg Billeter <j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0bd1b9e58959c51a4c939505f89721dfbc73c44 Author: Rob Herring <robh@xxxxxxxxxx> Date: Wed Jul 22 13:17:15 2015 -0500 Revert "ti-st: add device tree support" This reverts commit 46d0d33350e9b32642d745a8b46a954910196b4d. This binding is horrible and never should have been merged. It is not documented nor are there any in tree users, so reverting it will not break anything we care about. Lets revert it before we do have users. The problems with it are: - It is not documented. - The GPIO connection is described with a custom property and uses Linux GPIO numbering. - The UART connection is described using the Linux tty device name. Cc: Gigi Joseph <gigi.joseph@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0f36c46deea97bd16b9277be2f1acac74d76037 Author: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Date: Mon Aug 3 13:05:04 2015 -0400 xprtrdma: take HCA driver refcount at client This is a rework of the following patch sent almost a year back: http://www.mail-archive.com/linux-rdma%40vger.kernel.org/msg20730.html In presence of active mount if someone tries to rmmod vendor-driver, the command remains stuck forever waiting for destruction of all rdma-cm-id. in worst case client can crash during shutdown with active mounts. The existing code assumes that ia->ri_id->device cannot change during the lifetime of a transport. xprtrdma do not have support for DEVICE_REMOVAL event either. Lifting that assumption and adding support for DEVICE_REMOVAL event is a long chain of work, and is in plan. The community decided that preventing the hang right now is more important than waiting for architectural changes. Thus, this patch introduces a temporary workaround to acquire HCA driver module reference count during the mount of a nfs-rdma mount point. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 1241d7bf2ac8838d0d2d0b54a6173ac3eb3747a4 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:54 2015 -0400 core: Remove the ib_reg_phys_mr() and ib_rereg_phys_mr() verbs The verbs are obsolete. The ib_rereg_phys_mr() verb is not used by kernel ULPs, and the last ib_reg_phys_mr() call site in the kernel tree has now been removed. Two staging tree call sites remain in the Lustre client. The Lustre team has been notified of the deprecation of reg_phys_mr. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Acked-by: Doug Ledford <dledford@xxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 860477d1ff176549f2bf438b61e5c1ec6b1d43e5 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:45 2015 -0400 xprtrdma: Count RDMA_NOMSG type calls RDMA_NOMSG type calls are less efficient than RDMA_MSG. Count NOMSG calls so administrators can tell if they happen to be used more than expected. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 763f7e4e4b9033ac6a0f13aa37ba43636fc3c0af Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:36 2015 -0400 xprtrdma: Clean up xprt_rdma_print_stats() checkpatch.pl complained about the seq_printf() format string split across lines and the use of %Lu. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 2fcc213a18644610c79edbb5e847d73c6c5d5ded Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:26 2015 -0400 xprtrdma: Fix large NFS SYMLINK calls Repair how rpcrdma_marshal_req() chooses which RDMA message type to use for large non-WRITE operations so that it picks RDMA_NOMSG in the correct situations, and sets up the marshaling logic to SEND only the RPC/RDMA header. Large NFSv2 SYMLINK requests now use RDMA_NOMSG calls. The Linux NFS server XDR decoder for NFSv2 SYMLINK does not handle having the pathname argument arrive in a separate buffer. The decoder could be fixed, but this is simpler and RDMA_NOMSG can be used in a variety of other situations. Ensure that the Linux client continues to use "RDMA_MSG + read list" when sending large NFSv3 SYMLINK requests, which is more efficient than using RDMA_NOMSG. Large NFSv4 CREATE(NF4LNK) requests are changed to use "RDMA_MSG + read list" just like NFSv3 (see Section 5 of RFC 5667). Before, these did not work at all. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 677eb17e94edfbbea3b7e628d8aa046930f102c3 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:17 2015 -0400 xprtrdma: Fix XDR tail buffer marshalling Currently xprtrdma appends an extra chunk element to the RPC/RDMA read chunk list of each NFSv4 WRITE compound. The extra element contains the final GETATTR operation in the compound. The result is an extra RDMA READ operation to transfer a very short piece of each NFS WRITE compound (typically 16 bytes). This is inefficient. It is also incorrect. The client is sending the trailing GETATTR at the same Position as the preceding WRITE data payload. Whether or not RFC 5667 allows the GETATTR to appear in a read chunk, RFC 5666 requires that these two separate RPC arguments appear at two distinct Positions. It can also be argued that the GETATTR operation is not bulk data, and therefore RFC 5667 forbids its appearance in a read chunk at all. Although RFC 5667 is not precise about when using a read list with NFSv4 COMPOUND is allowed, the intent is that only data arguments not touched by NFS (ie, read and write payloads) are to be sent using RDMA READ or WRITE. The NFS client constructs GETATTR arguments itself, and therefore is required to send the trailing GETATTR operation as additional inline content, not as a data payload. NB: This change is not backwards compatible. Some older servers do not accept inline content following the read list. The Linux NFS server should handle this content correctly as of commit a97c331f9aa9 ("svcrdma: Handle additional inline content"). Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 33943b2974734ca5e5bef583d09ddd1eded6a77b Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:04:08 2015 -0400 xprtrdma: Don't provide a reply chunk when expecting a short reply Currently Linux always offers a reply chunk, even when the reply can be sent inline (ie. is smaller than 1KB). On the client, registering a memory region can be expensive. A server may choose not to use the reply chunk, wasting the cost of the registration. This is a change only for RPC replies smaller than 1KB which the server constructs in the RPC reply send buffer. Because the elements of the reply must be XDR encoded, a copy-free data transfer has no benefit in this case. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 02eb57d8f44caa582e297f51f3555d47767c5fe9 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:58 2015 -0400 xprtrdma: Always provide a write list when sending NFS READ The client has been setting up a reply chunk for NFS READs that are smaller than the inline threshold. This is not efficient: both the server and client CPUs have to copy the reply's data payload into and out of the memory region that is then transferred via RDMA. Using the write list, the data payload is moved by the device and no extra data copying is necessary. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Reviewed-By: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 5457ced0b504b41afe9439a6533066dea2fc0e1a Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:49 2015 -0400 xprtrdma: Account for RPC/RDMA header size when deciding to inline When the size of the RPC message is near the inline threshold (1KB), the client would allow messages to be sent that were a few bytes too large. When marshaling RPC/RDMA requests, ensure the combined size of RPC/RDMA header and RPC header do not exceed the inline threshold. Endpoints typically reject RPC/RDMA messages that exceed the size of their receive buffers. The two server implementations I test with (Linux and Solaris) use receive buffers that are larger than the clientâ??s inline threshold. Thus so far this has been benign, observed only by code inspection. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit b3221d6a53c44cd572a3a400abdd1e2a24bea587 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:39 2015 -0400 xprtrdma: Remove logic that constructs RDMA_MSGP type calls RDMA_MSGP type calls insert a zero pad in the middle of the RPC message to align the RPC request's data payload to the server's alignment preferences. A server can then "page flip" the payload into place to avoid a data copy in certain circumstances. However: 1. The client has to have a priori knowledge of the server's preferred alignment 2. Requests eligible for RDMA_MSGP are requests that are small enough to have been sent inline, and convey a data payload at the _end_ of the RPC message Today 1. is done with a sysctl, and is a global setting that is copied during mount. Linux does not support CCP to query the server's preferences (RFC 5666, Section 6). A small-ish NFSv3 WRITE might use RDMA_MSGP, but no NFSv4 compound fits bullet 2. Thus the Linux client currently leaves RDMA_MSGP disabled. The Linux server handles RDMA_MSGP, but does not use any special page flipping, so it confers no benefit. Clean up the marshaling code by removing the logic that constructs RDMA_MSGP type calls. This also reduces the maximum send iovec size from four to just two elements. /proc/sys/sunrpc/rdma_inline_write_padding is a kernel API, and thus is left in place. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit d1ed857e5707e073973cfb1b8df801053a356518 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:30 2015 -0400 xprtrdma: Clean up rpcrdma_ia_open() Untangle the end of rpcrdma_ia_open() by moving DMA MR set-up, which is different for each registration method, to the .ro_open functions. This is refactoring only. No behavior change is expected. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit e531dcabec8dc2ee141aab01ddf20ca87c52d916 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:20 2015 -0400 xprtrdma: Remove last ib_reg_phys_mr() call site All HCA providers have an ib_get_dma_mr() verb. Thus rpcrdma_ia_open() will either grab the device's local_dma_key if one is available, or it will call ib_get_dma_mr(). If ib_get_dma_mr() fails, rpcrdma_ia_open() fails and no transport is created. Therefore execution never reaches the ib_reg_phys_mr() call site in rpcrdma_register_internal(), so it can be removed. The remaining logic in rpcrdma_{de}register_internal() is folded into rpcrdma_{alloc,free}_regbuf(). This is clean up only. No behavior change is expected. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Reviewed-By: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit d23109302390d61d83675a86453674446eccb776 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:03:09 2015 -0400 xprtrdma: Don't fall back to PHYSICAL memory registration PHYSICAL memory registration uses a single rkey for all of the client's memory, thus is insecure. It is still useful in some cases for testing. Retain the ability to select PHYSICAL memory registration capability via /proc/sys/sunrpc/rdma_memreg_strategy, but don't fall back to it if the HCA does not support FRWR or FMR. This means amso1100 no longer works out of the box with NFS/RDMA. When using amso1100 HCAs, set the memreg_strategy sysctl to 6 before performing NFS/RDMA mounts. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 061dff29f8f62c21c9222897e4d121b4a5fa50da Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:02:59 2015 -0400 xprtrdma: Increase default credit limit In preparation for similar increases on NFS/RDMA servers, bump the advertised credit limit for RPC/RDMA to 128. This allocates some extra resources, but the client will continue to allow only the number of RPCs in flight that the server requests via its advertised credit limit. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-By: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 864be126fe5f325ec4b3e28173ca5cad2b8ee28c Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:02:50 2015 -0400 xprtrdma: Raise maximum payload size to one megabyte The point of larger rsize and wsize is to reduce the per-byte cost of memory registration and deregistration. Modern HCAs can typically handle a megabyte or more with a single registration operation. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Reviewed-By: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 5231eb9773c61a2a17590eabcadf4aecf44100bd Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Mon Aug 3 13:02:41 2015 -0400 xprtrdma: Make xprt_setup_rdma() agnostic to family of server address In particular, recognize when an IPv6 connection is bound. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Tested-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit eb79100fe6a696bfbad21aaf8e373d72763c7462 Author: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Date: Fri Jun 12 11:43:23 2015 -0700 VMware balloon: Add support for balloon capabilities. In order to extend the balloon protocol, the hypervisor and the guest driver need to agree on a set of supported functionality to use. Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dtor@xxxxxxxxxx> Signed-off-by: Philip P. Moltmann <moltmann@xxxxxxxxxx> Acked-by: Andy King <acking@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef0f8f1129844cab9b0fb14aab0d7d7598d81103 Author: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Date: Fri Jun 12 11:43:22 2015 -0700 VMware balloon: partially inline vmballoon_reserve_page. This split the function in two: the allocation part is inlined into the inflate function and the lock part is kept into his own function. This change is needed in order to be able to allocate more than one page before doing the hypervisor call. Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dtor@xxxxxxxxxx> Signed-off-by: Philip P. Moltmann <moltmann@xxxxxxxxxx> Acked-by: Andy King <acking@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0ec4230a077521a984ac604acbd8c15cc12a664 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Aug 5 16:03:19 2015 -0400 cgroup: export cgrp_dfl_root While cgroup subsystems can't be modules, blkcg supports dynamically loadable policies which interact with cgroup core. Export cgrp_dfl_root so that cgroup_on_dfl() can be used in those modules. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit f151f53aa4f54a647353e1935e4c6cef7f094dd4 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Tue Aug 4 17:38:01 2015 -0700 perf tools: Fix build errors with mipsel-linux-uclibc compiler linux/tools$ make ARCH=mips CROSS_COMPILE=mipsel-linux- perf ... config/Makefile:256: *** No gnu/libc-version.h found, please install glibc-dev[el]. Stop. make[1]: *** [all] Error 2 make: *** [perf] Error 2 ... In file included from builtin-sched.c:13:0: util/cloexec.h:8:12: error: redundant redeclaration of â??sched_getcpuâ?? [-Werror=redundant-decls] extern int sched_getcpu(void) __THROW; mipsel-buildroot-linux-uclibc/sysroot/usr/include/bits/sched.h:88:12: note: previous declaration of â??sched_getcpuâ?? was here extern int sched_getcpu (void) __THROW; uclibc info: sysroot/usr/include/bits/uClibc_config.h __UCLIBC_MAJOR__ 0 __UCLIBC_MINOR__ 9 __UCLIBC_SUBLEVEL__ 33 sysroot/usr/include/features.h __UCLIBC__ 1 __GLIBC__ 2 __GLIBC_MINOR__ 2 Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1438735081-24131-1-git-send-email-pgynther@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 007d66a0bd43d886eb3e4aceaf1a96b8743ccaff Author: Milian Wolff <milian.wolff@xxxxxxxx> Date: Wed Aug 5 16:52:23 2015 -0300 perf trace: Write to stderr by default Without this patch, it is cumbersome to read the trace output but ignoring the normal, potentially verbose, output of the debuggee. One common example is doing something like the following: perf trace -s find /tmp > /dev/null Without this patch, the trace summary will be lost. Now, it will still be printed at the end. This behavior is also applied by strace. Cc: Milian Wolff <milian.wolff@xxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-tqnks6y2cnvm5f9g2dsfr7zl@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b7a001d2067830a98e65d1bbbf99a6d435d70616 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Aug 3 17:50:02 2015 -0700 perf tools: Do not include escape sequences in color_vfprintf return color_vprintf was including the length of the invisible escape sequences in its return argument. Don't include them to make the return value usable for indentation calculations. v2: Add comment, rebase Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438649408-20807-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8011de7ab3b10c5352f3f0708f517de2722b0957 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 3 17:50:01 2015 -0700 perf tools: Remove trail argument to color vsprintf Seems like it's always '\n' through color_fprintf_ln, which is not used at all, removing.. ;-) Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438649408-20807-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c3a6a8c40538f609923acf9473250266283269a5 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 4 04:30:20 2015 -0400 perf tools: Refine parse/config callchain functions Pass global callchain_param into parse_callchain_record_opt and perf_evsel__config_callgraph as parameter. So we can reuse these functions to parse/config local param for callchain. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438677022-34296-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a53870c0ebe0b84a6e1a09785d24b0f0e6729962 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:05:03 2015 +0000 usb: misc: ftdi-elan: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb82122a665b31ff9c40f1b4b66be71f0ef21bd3 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:04:35 2015 +0000 usb: serial: mxuport: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1cda54cfb71720058cd65b2f1be7f2a86889935 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:04:09 2015 +0000 usb: host: xhci: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8602b08ab641a6004efa553c8089180c40bc1f72 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:03:45 2015 +0000 usb: host: u132-hcd: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa31a0909cc44bf2f75c14e800caff2d06ff725e Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:03:20 2015 +0000 usb: host: oxu210hp-hcd: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16f9c3fd25b957f4df0fd5d9bf70249495c1a421 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:02:55 2015 +0000 usb: host: ehci-st: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e94a7369a9293de2674de322d1e5253d63ba42ff Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:02:28 2015 +0000 usb: musb: musb_dsps: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9c5d8feb9e751a7521f1a5fa0d56901824e2ad8 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:02:03 2015 +0000 usb: phy: phy-keystone: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 082155eabfabd9148cc7e81c995e2c482075ccc3 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:01:31 2015 +0000 usb: phy: phy-mxs-usb: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 135551ea1abd5038d14825514df7e259fd500033 Author: Kris Borer <kborer@xxxxxxxxx> Date: Tue Aug 4 08:39:31 2015 -0400 usb: devio: remove assignment from if condition Fix five occurrences of the checkpatch.pl error: ERROR: do not use assignment in if condition The semantic patch that makes this change is: // <smpl> @@ identifier i; expression E; statement S1, S2; @@ + i = E; if ( - (i = E) + i ) S1 else S2 @@ identifier i; expression E; statement S; constant c; binary operator b; @@ + i = E; if ( - (i = E) + i b c ) S // </smpl> Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4629a7bdfd8fcafc90ded7e6a1f88099105842d Author: Alban Bedel <albeu@xxxxxxx> Date: Tue Aug 4 10:59:17 2015 +0200 usb: ehci-platform: Fix using multiple controllers from OF When using OF defined controllers the platform data struct is shared between all devices, so it can't be used for device specific settings. However it is currently used for the OF properties needs-reset-on-resume and has-transaction-translator. To fix this issue move setting hcd->has_tt to the probe and move pdata->reset_on_resume to the private data. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d719b76c1306370d146c517e33b25f756b9a12d5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 11:37:16 2015 -0700 spmi: Select IRQ_DOMAIN instead of depend on it IRQ_DOMAIN is a hidden config option, so depending on it doesn't make any sense. Select the config option because it's required to compile this driver. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60be42306f838d9231398bdb7d4ff3451ae13601 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Jul 30 10:53:54 2015 -0700 spmi: pmic-arb: add support for irq_get_irqchip_state Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9fce374815d8ab94a3e6259802a944e2cc21408 Author: Ankit Gupta <ankgupta@xxxxxxxxxxxxxx> Date: Mon Jun 22 16:38:46 2015 -0600 spmi: add command tracepoints for SPMI Add tracepoints to retrieve information about read, write and non-data commands. For performance measurement support tracepoints are added at the beginning and at the end of transfers. Following is a list showing the new tracepoint events. The "cmd" parameter here represents the opcode, SID, and full 16-bit address. spmi_write_begin: cmd and data buffer. spmi_write_end : cmd and return value. spmi_read_begin : cmd. spmi_read_end : cmd, return value and data buffer. spmi_cmd : cmd. The reason that cmd appears at both the beginning and at the end event is that SPMI drivers can request commands concurrently. cmd helps in matching the corresponding events. SPMI tracepoints can be enabled like: echo 1 >/sys/kernel/debug/tracing/events/spmi/enable and will dump messages that can be viewed in /sys/kernel/debug/tracing/trace that look like: ... spmi_read_begin: opc=56 sid=00 addr=0x0000 ... spmi_read_end: opc=56 sid=00 addr=0x0000 ret=0 len=02 buf=0x[01-40] ... spmi_write_begin: opc=48 sid=00 addr=0x0000 len=3 buf=0x[ff-ff-ff] Suggested-by: Sagar Dharia <sdharia@xxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Signed-off-by: Ankit Gupta <ankgupta@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6497a8757361a88b73fc3814d2ee9b9fc105fa42 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Wed Aug 5 13:03:26 2015 +0300 char: xillybus: Allow 64-bit DMA on PCIe interface Until now, only 32-bit DMA addressing was allowed, following a report on some old Intel machine that dropped 64-bit PCIe packets, even though pci_set_dma_mask() was successful with DMA_BIT_MASK(64). But then came TI's Keystone II chip (ARM Cortex A15 + DSPs), which refuses 32-bit DMA addressing (for good reasons). So 64-bit DMA is allowed as a fallback option. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3159455bf46b71d0a4f2bb5d9cb92b64056e2b1 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Wed Aug 5 14:44:53 2015 +0800 serial: 8250_pci: fix mode after S3/S4 resume for F81504/508/512 Fix RS232/485 mode incorrect setting after S3/S4 resume for F81504/508/512 We had add RS232/485 RTS control with fecf27a373f5. But when it resume from S3/S4, the mode register 0x40 + 0x08 * idx + 7 will rewrite to 0x01 (RS232 mode). This patch will modify 2 sections. One is pci_fintek_init(), if it called when first init, it will write mode register with 0x01. If it called from S3/S4 resume, it's will get the relative port data and pass it to pci_fintek_rs485_config() with NULL rs485 parameter. The another modification is in pci_fintek_rs485_config(). It'll re-apply old configuration when the parameter rs485 is NULL. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6255049d397b28fdedab0b6c5f85072b3177e4a4 Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Wed Aug 5 22:33:23 2015 +0200 staging: lustre: Fix style warning on header Fix checkpatch.pl warning: WARNING: Use #include <linux/io.h> instead of <asm/io.h> Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f016420d368480762061632f9a9254fd3a89239 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Aug 5 01:52:45 2015 +0530 Staging: lustre: obdclass: Use kasprintf This patch uses kasprintf which combines kzalloc and sprintf. kasprintf also takes care of the size calculation. Semantic patch used is as follows: @@ expression a,flag; expression list args; statement S; @@ a = - \(kmalloc\|kzalloc\)(...,flag) + kasprintf (flag,args) <... when != a if (a == NULL || ...) S ...> - sprintf(a,args); Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91f2208c37ab08343b118601eaa0d9bb76fc8762 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:20:51 2015 +0530 Staging: lustre: mgc: Replace comma with a semicolon Replace comma between expression statements by a semicolon. The semantic patch used is as follows: @@ expression e1,e2; @@ e1 - , + ; e2; Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48177898f05916b64935118633353dbc448d3c24 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:20:52 2015 +0530 Staging: netlogic: Replace comma with a semicolon Replace comma between expression statements by a semicolon. The semantic patch used is as follows: @@ expression e1,e2; @@ e1 - , + ; e2; Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b37465e40915a657e60593e068aa3ab447931b1 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:20:50 2015 +0530 Staging: lustre: libcfs: Replace comma with a semicolon Replace comma between expression statements by a semicolon. The semantic patch used is as follows: @@ expression e1,e2; @@ e1 - , + ; e2; Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7856753856b4e6a20c1c91c6db03852e90de273 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:02:34 2015 +0530 Staging: lustre: osc: Drop unnecessary cast on void * This patch does away with the cast on void * as it is unnecessary. Semantic patch used is as follows: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45b30514a34fa7fcb7a84be799ca5fc53d33a4d7 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:02:35 2015 +0530 Staging: lustre: lov: Drop unnecessary cast on void * This patch does away with the cast on void * as it is unnecessary. Semantic patch used is as follows: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a12aaa92f3ccd15015e01373c2b60a3841aaebbb Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Aug 4 23:02:33 2015 +0530 Staging: lustre: libcfs: Drop unnecessary cast on void* This patch does away with the cast on void * as it is unnecessary. Semantic patch used is as follows: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 946b254697655f0ea0c54b1b0e20fb3b9aab99da Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Aug 4 15:09:47 2015 -0400 staging: unisys: visornic: Convert to using napi Switch the visornic over to use napi. Currently there is a kernel thread that sits and waits on a wait queue to get notified of incoming virtual interrupts. It would be nice if we could handle frame reception using the standard napi processing instead. This patch creates our napi instance and has the rx thread schedule it Given that the unisys hypervisor currently requires that queue servicing be done by a polling loop that wakes up every 2ms, lets instead also convert that to a timer, which is simpler, and allows us to remove all the thread starting and stopping code. Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6212990a87588869aa9a93fa5b861d3abf1be783 Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Wed Aug 5 22:11:57 2015 +0530 drivers: staging: wilc1000: remove space after '(' The character ' ' is removed after the character '('. This fixes the checkpatch.pl error - "space prohibited after that open parenthesis '('". Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a96c47e1978a874e87e7fea3ebb178eaf8730d46 Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Wed Aug 5 22:11:55 2015 +0530 drivers: staging: wilc1000: use 'void' for no arguments functions Added 'void' keyword in the paranthesis of function definitions, when there are no arguments to the functions. This fixes the checkpatch.pl error - "Bad function definition 'function()' should probably be function(void)". Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1913221c0e3025a93c3c106ec0167f8240df4d35 Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Wed Aug 5 08:18:31 2015 +0200 staging: wilc1000: wilc_cfgoperations.c: Fixed coding styles issues. Fixed coding styles issues with braces. Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eeb1c0629539b1393d0b5ffea9cc2d71e6e933bf Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Aug 5 01:29:22 2015 +0530 Staging: wilc1000: Remove typedefs for struct The Linux kernel coding style guidelines suggest not using typedefs for structure and enum types. This patch gets rid of the typedefs for Ack_session_info_t. The following Coccinelle semantic patch detects the cases for struct type: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2cb1df7ebd8b8807a204ffb0692751b15d4cb1bf Author: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Date: Wed Aug 5 14:15:12 2015 +0200 staging: iio_simple_dummy: Fix indentation errors Fixing indentation errors in drivers/staging/iio/iio_simple_dummy_events.c. Signed-off-by: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fce7f39356c511e263e97094bd18dee40fca6511 Author: Lior Pugatch <buzz5800@xxxxxxxxx> Date: Tue Aug 4 22:18:04 2015 +0300 staging: vt6655: Fixed C99 style comment to C89 style. Patch created to satisfy checkpatch.pl Signed-off-by: Lior Pugatch <buzz5800@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9a47627f7988470ad391091ed9334018e5144a2 Author: Ting-Chih Hsiao <s894330@xxxxxxxxxxx> Date: Tue Aug 4 11:21:10 2015 +0800 staging: rtl8723au: fix up coding style warnings reported by checkpatch.pl. remove spaces at the start of a line align enum variable with other parameters Signed-off-by: Ting-Chih Hsiao <s894330@xxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f72f130d87ff05144553af4894c0c52c57d60930 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Aug 3 21:57:45 2015 -0400 staging/lustre: Properly reference kthread_run instead of cfs_daemonize cfs_daemonize is long gone and replaced by a proper call to kthread_run, so update the comment to reflect that fact. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 967ef593bf26bdd9ddabef8eb8c1ddd8f5d2074a Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Aug 3 21:57:44 2015 -0400 staging/lustre/ptlrpc: Remove stray cfs_daemonize comment Ever since daemonize was removed in 3.18, there are no longer any flags passed to kthread_run. Most of the comments were deleted, but this one lingered on until now. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d27da4dae5f487d64ba52c3d505cc587c19af578 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Aug 5 18:13:26 2015 +0100 staging: comedi: improve comedi_check_chanlist() documentation Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a59adb222bc4758241eb4ff253faa5b1ebd4cab Author: Ted Chen <tedc.37zngo@xxxxxxxxx> Date: Wed Aug 5 01:18:46 2015 +0800 staging: comedi: do not return -ENOSYS. fixed coding style issue by replacing ENOSYS with EIO because it means 'invalid syscall nr' and nothing else. Signed-off-by: Ted Chen <tedc.37zngo@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2537468cee9ff2b9d4c425e2f8141aaa274dc495 Author: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Date: Wed Aug 5 10:09:02 2015 +0800 Staging: android: timed_gpio.c: fix coding style errors remove extra space and replace tab to space after a variable Signed-off-by: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f39c4280a3872b0e6c7b01076132c12ad7a90392 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Aug 5 00:52:48 2015 -0700 Drivers: hv: vmbus: use cpu_hotplug_enable/disable Commit e513229b4c38 ("Drivers: hv: vmbus: prevent cpu offlining on newer hypervisors") was altering smp_ops.cpu_disable to prevent CPU offlining. We can bo better by using cpu_hotplug_enable/disable functions instead of such hard-coding. Reported-by: Radim Kr.má <rkrcmar@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32145c4677d2c46b9d877a33ae82c6fcacd002f9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Aug 5 00:52:47 2015 -0700 cpu-hotplug: export cpu_hotplug_enable/cpu_hotplug_disable Hyper-V module needs to disable cpu hotplug (offlining) as there is no support from hypervisor side to reassign already opened event channels to a different CPU. Currently it is been done by altering smp_ops.cpu_disable but it is hackish. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89af7ba5740b5937d10c8de93e79e71e5a933041 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Wed Aug 5 00:52:46 2015 -0700 cpu-hotplug: convert cpu_hotplug_disabled to a counter As a prerequisite to exporting cpu_hotplug_enable/cpu_hotplug_disable functions to modules we need to convert cpu_hotplug_disabled to a counter to properly support disable -> disable -> enable call sequences. E.g. after Hyper-V vmbus module (which is supposed to be the first user of exported cpu_hotplug_enable/cpu_hotplug_disable) did cpu_hotplug_disable() hibernate path calls disable_nonboot_cpus() and if we hit an error in _cpu_down() enable_nonboot_cpus() will be called on the failure path (thus making cpu_hotplug_disabled = 0 and leaving cpu hotplug in 'enabled' state). Same problem is possible if more than 1 module use cpu_hotplug_disable/cpu_hotplug_enable on their load/unload paths. When one of these modules is been unloaded it is logical to leave cpu hotplug in 'disabled' state. To support the change we need to increse cpu_hotplug_disabled counter in disable_nonboot_cpus() unconditionally as all users of disable_nonboot_cpus() are supposed to do enable_nonboot_cpus() in case an error was returned. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54bf725e5d21022b25fe0d3c103fe82ed13b870b Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:45 2015 -0700 Drivers: hv: vmbus: document the VMBus sysfs files The 4 sysfs files should be stable ABIs to the user space. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 502d84bd1aa2445b13ff75e8ac2a39d249f791ee Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:44 2015 -0700 tools: hv: add a python script lsvmbus to list VMBus devices By default lsvmbus lists all the devices in the VMBus. With -v or -vv, more information is printed, including the VMBus Rel_ID, class ID, device ID and which channel is bound to which virtual processor, etc. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 042ab0313bbb7e776e9510da3f07fb300d08a8ba Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:43 2015 -0700 Drivers: hv: vmbus: add a sysfs attr to show the binding of channel/VP This is useful to analyze performance issue. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca9357bd26c2f8e7b909321eedd651f52cc30d04 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:42 2015 -0700 Drivers: hv: vmbus: Implement a clocksource based on the TSC page The current Hyper-V clock source is based on the per-partition reference counter and this counter is being accessed via s synthetic MSR - HV_X64_MSR_TIME_REF_COUNT. Hyper-V has a more efficient way of computing the per-partition reference counter value that does not involve reading a synthetic MSR. We implement a time source based on this mechanism. Tested-by: Vivek Yadav <vyadav@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc609cb47fb2e74654e23cef0a1d4db38b6570a3 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 5 00:52:41 2015 -0700 drivers/hv: Migrate to new 'set-state' interface Migrate hv driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5cca686ce0ef4909deaee4ed46dd991e3a9ece4 Author: Christopher Oo <t-chriso@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:40 2015 -0700 Drivers: hv_vmbus: Fix signal to host condition Fixes a bug where previously hv_ringbuffer_read would pass in the old number of bytes available to read instead of the expected old read index when calculating when to signal to the host that the ringbuffer is empty. Since the previous write size is already saved, also changes the hv_need_to_signal_on_read to use the previously read value rather than recalculating it. Signed-off-by: Christopher Oo <t-chriso@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b71107d73b16074afa7658f3f0fcf837aabfe24 Author: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:39 2015 -0700 Drivers: hv: vmbus: Further improve CPU affiliation logic Keep track of CPU affiliations of sub-channels within the scope of the primary channel. This will allow us to better distribute the load amongst available CPUs. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f01ec53458d9e9b68f1c555e773b5d1a1f66e94 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:38 2015 -0700 Drivers: hv: vmbus: Improve the CPU affiliation for channels The current code tracks the assigned CPUs within a NUMA node in the context of the primary channel. So, if we have a VM with a single NUMA node with 8 VCPUs, we may end up unevenly distributing the channel load. Fix the issue by tracking affiliations globally. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3546448338e76a52d4f86eb3680cb2934e22d89b Author: Jake Oshins <jakeo@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:37 2015 -0700 drivers:hv: Move MMIO range picking from hyper_fb to hv_vmbus This patch deletes the logic from hyperv_fb which picked a range of MMIO space for the frame buffer and adds new logic to hv_vmbus which picks ranges for child drivers. The new logic isn't quite the same as the old, as it considers more possible ranges. Signed-off-by: Jake Oshins <jakeo@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f163a6fd957a85f7f66a129db1ad243a44399ee Author: Jake Oshins <jakeo@xxxxxxxxxxxxx> Date: Wed Aug 5 00:52:36 2015 -0700 drivers:hv: Modify hv_vmbus to search for all MMIO ranges available. This patch changes the logic in hv_vmbus to record all of the ranges in the VM's firmware (BIOS or UEFI) that offer regions of memory-mapped I/O space for use by paravirtual front-end drivers. The old logic just found one range above 4GB and called it good. This logic will find any ranges above 1MB. It would have been possible with this patch to just use existing resource allocation functions, rather than keep track of the entire set of Hyper-V related MMIO regions in VMBus. This strategy, however, is not sufficient when the resource allocator needs to be aware of the constraints of a Hyper-V virtual machine, which is what happens in the next patch in the series. So this first patch exists to show the first steps in reworking the MMIO allocation paths for Hyper-V front-end drivers. Signed-off-by: Jake Oshins <jakeo@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fd3850227961d70594acd45d146ad28367415b5 Author: James Chen <james.chen@xxxxxxxxxx> Date: Mon Jul 20 11:16:36 2015 -0700 Input: elants_i2c - disable idle mode before updating firmware If the device is in idle mode and is in the middle of a scan it may not have a chance to react to the reset and then IAP commands within required time interval and firmware update may fail. Let's bring the device out of idle mode before attempting to reset it so that the scan period is smaller and thus it can react to the command quicker. Signed-off-by: James Chen <james.chen@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f368ed6088ae9c1fbe1c897bb5f215ce5e63fa1e Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 15:59:57 2015 -0700 char: make misc_deregister a void function With well over 200+ users of this api, there are a mere 12 users that actually checked the return value of this function. And all of them really didn't do anything with that information as the system or module was shutting down no matter what. So stop pretending like it matters, and just return void from misc_deregister(). If something goes wrong in the call, you will get a WARNING splat in the syslog so you know how to fix up your driver. Other than that, there's nothing that can go wrong. Cc: Alasdair Kergon <agk@xxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Cc: Christine Caulfield <ccaulfie@xxxxxxxxxx> Cc: David Teigland <teigland@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Acked-by: Joel Becker <jlbec@xxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 027b4a6d6affec15626e3e985852cf67a6a89842 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:27 2015 +0200 ARM: dts: lpc4350-hitex-eval: add emc pins and static memory devices Setup the emc pins used by external memory devices and add configuration for the devices found on the Hitex eval board. The Hitex eval board has a NOR Flash attached to chip select 0 and 512 kB of SRAM on chip select 2. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit aceacfa6ac41f2fcb0889351d7f13a849a379b3c Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 00:24:26 2015 +0200 ARM: dts: lpc4350-hitex-eval: add ethernet Enable Ethernet and add pin muxing and set the correct frequency on the enet tx clock input. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5e6472001e529ef4c81068d7826064568dd9d104 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 00:24:25 2015 +0200 ARM: dts: lpc4350-hitex-eval: add pinctrl and uart0 muxing Setup pin muxing and properties for the debug console on uart0. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 41a0dec9163c0f9a0f14d79d0bcca4dd1c2005b6 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:24 2015 +0200 ARM: dts: lpc4357-ea4357: add mmio-gpio leds Hook up LEDs on the outputs from the D-type flip-flop found on the address/data bus. Note that the LEDx label in the schematics is reversed in regard to the bits on the data bus. Hence the reverse ordering used here. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3c6abb97f343aec1df1f1cc213886ccfd2f38c6b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:23 2015 +0200 ARM: dts: lpc4357-ea4357: add emc pins and static memory devices Setup the emc pins used by external memory devices and add configuration for the devices found on the EA4357 devkit. The EA4357 devkit has a NOR Flash attached to chip select 0 and a D-type flip-flop used for LEDs on chip select 2. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fd0cb235dfff271340485b2323170eaf968c0ab6 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:22 2015 +0200 ARM: dts: lpc4357-ea4357: add usb0 Enable USB0 on the EA4357 devkit and setup the required USB0 control pins. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 50016385c2a5d484aa2a8defff23d4b2e2927006 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:21 2015 +0200 ARM: dts: lpc18xx: add pl172 memory-controller node All devices in the LPC18xx/43xx familiy contain a ARM PL172 MultiPort Memory Controller (MPMC). Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9cf6267d166a8dc004bbbcdb5b6a371bdd33842b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:20 2015 +0200 ARM: dts: lpc18xx: add pl111 lcd controller node NXP LPC185x and LPC435x/70 devices contain a ARM PL111 lcd controller. Signed-off-by: Joachim Eastwood <joachim.eastwood@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6d6d6b559f322183e5ca94908eac153a85a8b4a3 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 31 00:24:19 2015 +0200 ARM: dts: lpc18xx: add usb otg phy node Add the USB OTG phy under the CREG syscon node and attach it to the USB0 EHCI controller. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 824811293538f5cafaa6d19e3458a13eafa92a32 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Wed Jul 22 12:55:37 2015 -0700 MAINTAINERS: Explicitly add linux-arm-kernel for bcm2835 get_maintainers.pl would list linux-arm-kernel for most bcm2835 changes because it's under arch/arm, but might not for other bcm2835 drivers. Most ARM architectures appear to list linux-arm-kernel as an appropriate list as well. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Suggested-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 10b9e8871558f8dd9485dce003ba1f3285aabbeb Author: Eric Anholt <eric@xxxxxxxxxx> Date: Wed Jul 22 12:55:36 2015 -0700 MAINTAINERS: Add myself as a bcm2835 co-maintainer. The current maintainers have limited free time to work on the architecture, and I'm motivated to do so for my work on graphics for Broadcom. Arnd and Florian suggested to me that this might be the way forward. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 44e259ac909f3b41786cf732a44b5cf8444e098a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:59:36 2015 +0100 ARM: dove: create a proper PMU driver for power domains, PMU IRQs and resets The PMU device contains an interrupt controller, power control and resets. The interrupt controller is a little sub-standard in that there is no race free way to clear down pending interrupts, so we try to avoid problems by reducing the window as much as possible, and clearing as infrequently as possible. The interrupt support is implemented using an IRQ domain, and the parent interrupt referenced in the standard DT way. The power domains and reset support is closely related - there is a defined sequence for powering down a domain which is tightly coupled with asserting the reset. Hence, it makes sense to group these two together, and in order to avoid any locking contention disrupting this sequence, we avoid the use of syscon or regmap. This patch adds the core PMU driver: power domains must be defined in the DT file in order to make use of them. The reset controller can be referenced in the standard way for reset controllers. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit cba3bbcba41f8534df5529752d10dc69b7b38eda Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:59:52 2015 +0100 ARM: dt: dove: add GPU power domain description Add the description of the GPU power domain to the PMU DT entry. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 7c2293f523c67511581711b244022e4a1efdc0a6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:59:46 2015 +0100 ARM: dt: dove: add video decoder power domain description Add the description of the video decoder power domain to the PMU DT entry. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 71296a39c5e5daad7d46a9e759e0c6f8338649aa Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:59:41 2015 +0100 ARM: dt: dove: wire up RTC interrupt Now that we have a PMU driver, we can wire up the RTC interrupt in the DT description for Dove. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 8e7c6a3269d4e22827715c23c854636115f51c23 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:59:31 2015 +0100 ARM: dt: Add PMU node, making PMU child devices childs of this node Add the PMU node, and move the child devices of the PMU node beneath this new node, giving it a "simple-bus" so that the OF platform device creator will create these child devices. No functional change from this is expected. The PMU provides multiple features, including an interrupt, reset, power and isolation controller. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 320677123905fd1dd122895cd5fb870ee9e1380b Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Aug 4 04:30:19 2015 -0400 perf tools: Per-event time support This patchkit adds the ability to turn off time stamps per event. One usaful case for partial time is to work with per-event callgraph to enable "PEBS threshold > 1" (https://lkml.org/lkml/2015/5/10/196), which can significantly reduce the sampling overhead. The event samples with time stamps off will not be ordered. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438677022-34296-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 34221118cb13f8b37480bce7286a1b44e90773d8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 4 23:31:25 2015 -0300 perf trace: Use vfs_getname syscall arg beautifier in more syscalls Those were covered and tested in this cset: access, chdir, chmod, chown, chroot, creat, getxattr, inotify_add_watch, lchown, lgetxattr, listxattr, lsetxattr, mkdir, mkdirat, mknod, rmdir, faccessat, newfstatat, openat, readlink, readlinkat, removexattr, setxattr, statfs, swapon, swapoff, truncate, unlinkat, utime, utimes, utimensat. E.g.: # trace -e statfs,access,mkdir mkdir /tmp/bla 0.285 (0.020 ms): mkdir/2799 access(filename: /etc/ld.so.preload, mode: R ) = -1 ENOENT No such file or directory 1.070 (0.032 ms): mkdir/2799 statfs(pathname: /sys/fs/selinux, buf: 0x7ffeafbdc930) = 0 1.087 (0.013 ms): mkdir/2799 statfs(pathname: /sys/fs/selinux, buf: 0x7ffeafbdc820) = 0 1.189 (0.014 ms): mkdir/2799 access(filename: /etc/selinux/config ) = 0 1.905 (0.610 ms): mkdir/2799 mkdir(pathname: /tmp/bla, mode: 511 ) = 0 # Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-wbqtnlktquun3wtpjdz3okul@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> and an empty message aborts the commit. commit 39aa437e18cac7acae55481ed73feea0de497399 Merge: e8d36d5 f4acd12 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 17:24:11 2015 +0200 Merge branch 'queue/irq/arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next/cleanup Merge "ARM: Interrupt cleanups and API change preparation" from Thomas Gleixner: The following patch series contains the following changes: - Consolidation of chained interrupt handler setup/removal - Switch to functions which avoid a redundant interrupt descriptor lookup - Preparation of interrupt flow handlers for the 'irq' argument removal * 'queue/irq/arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: ARM/orion/gpio: Prepare gpio_irq_handler for irq argument removal ARM/pxa: Prepare balloon3_irq_handler for irq argument removal ARM/pxa: Prepare *_irq_handler for irq argument removal ARM/dove: Prepare pmu_irq_handler for irq argument removal ARM/sa1111: Prepare sa1111_irq_handler for irq argument removal ARM/locomo: Prepare locomo_handler for irq argument removal ARM, irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc ARM/LPC32xx: Use irq_set_handler_locked() ARM/irq: Use access helper irq_data_get_affinity_mask() ARM/locomo: Consolidate chained IRQ handler install/remove ARM/orion: Consolidate chained IRQ handler install/remove Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ae9d2fb482fa48f637b6705e6fef6f7f999ec779 Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed Aug 5 11:19:45 2015 -0400 audit: fix uninitialized variable in audit_add_rule() As reported by the 0-Day testing service: kernel/auditfilter.c: In function 'audit_rule_change': >> kernel/auditfilter.c:864:6: warning: 'err' may be used uninit... int err; Cc: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit e90c2d2850d9d034e814a328725a4b15878f0357 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Jul 28 18:36:47 2015 +0800 f2fs: invalidate temporary meta page To avoid meeting garbage data in next free node block at the end of warm node chain when doing recovery, we will try to zero out that invalid block. If the device is not support discard, our way for zeroing out block is: grabbing a temporary zeroed page in meta inode, then, issue write request with this page. But, we forget to release that temporary page, so our memory usage will increase without gaining any hit ratio benefit, so it's better to free it for saving memory. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 470f00e9686f0b338a457568229fe7b7d44b8e6a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Jul 14 18:14:06 2015 +0800 f2fs: fix to release inode page correctly In following call path, we will pass a locked and referenced ipage pointer to get_new_data_page: - init_inode_metadata - make_empty_dir - get_new_data_page There are two exit paths in get_new_data_page when error occurs: 1) grab_cache_page fails, ipage will not be released; 2) f2fs_reserve_block fails, ipage will be released in callee. So, it's not consistent for error handling in get_new_data_page. For f2fs_reserve_block, it's not very easy to change the rule of error handling, since it's already complicated. Here we deside to choose an easy way to fix this issue: If any error occur in get_new_data_page, we will ensure releasing ipage in this function. The same issue is in f2fs_convert_inline_dir, fix that too. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7a04f64d4d5367ade827d75388d66054b535e201 Author: Liu Xue <liuxueliu.liu@xxxxxxxxxx> Date: Mon Jul 27 10:17:59 2015 +0000 f2fs: unify f2fs_bug_on when check blocks and segment Replace BUG_ON with f2fs_bug_on to deal with block and segment validity check failed. Signed-off-by: Xue Liu <liuxueliu.liu@xxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f3f338caad3428fbc4bb563828efc6ecce4d956b Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Jul 29 17:33:13 2015 +0800 f2fs: freeze filesystem when fail to update meta page due to IO error In get_meta_page, we guarantee no failure for the returned page, but sometimes, IO error from device will incur returning an non-updated page. Then, we still use this page as updated one, exception could happen when using this kind of page. So in this condition, we'd better freeze fs by making fs readonly and and stop doing checkpoint. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5768dcdd7f7675f9540e648428c8a1cd7208a0fe Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Tue Aug 4 13:27:51 2015 +0800 f2fs: change the timing of f2fs_wait_on_page_writeback some backing devices need pages to be stable during writeback. It doesn't matter if the page is completely overwritten or already uptodate, it needs to wait before write. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit edb27deea7cabfff8feb8c62aae647b7673be734 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Jul 25 00:52:52 2015 -0700 f2fs: handle error cases in commit_inmem_pages This patch adds to handle error cases in commit_inmem_pages. If an error occurs, it stops to write the pages and return the error right away. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a6d494b6d84697f954aaade204e8a5843078a94f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 24 18:26:26 2015 +0800 f2fs: fix to build free nids from readaheaded nat pages When there is no enough free nids in free nid cache, we will try to readahead FREE_NID_PAGES:4 nat pages into page cache of meta_inode, then, reading nat entries in nat page for adding free nids to free nid cache. But when traversing all nat pages we readaheaded in a circulation, our exit condition is not set right, one more nat page will be scanned without readaheading, resulting worse read performance. This patch fixes to read the correct number nat pages to avoid bad performance. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit e4e762723a90109c968c6c58f7d9bf4541c22928 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 24 18:24:45 2015 +0800 f2fs: fix inline data/dentry stat number leak If we clear inline data/dentry flag in handle_failed_inode, we will fail to decline the stat count of inline data/dentry in f2fs_evict_inode due to no flag in inode. So remove the wrong clearing. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f4c9c743acedc2f083e6a1d4e186df6a2c12b2fd Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 17 18:06:35 2015 +0800 f2fs: convert inline data before set atomic/volatile flag In f2fs_ioc_start_{atomic,volatile}_write, if we failed in converting inline data, we will report error to user, but still remain atomic/volatile flag in inode, it will impact further writes for this file. Fix it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a5f64b6aa69b5cc05e198291811a2f3faf95b463 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 17 18:05:21 2015 +0800 f2fs: fix to wait all atomic written pages writeback This patch fixes the incorrect range (0, LONG_MAX) which is used in ranged fsync. If we use LONG_MAX as the parameter for indicating the end of file we want to synchronize, in 32-bits architecture machine, these datas after 4GB offset may not be persisted in storage after ->fsync returned. Here, we alter LONG_MAX to LLONG_MAX to fix this issue. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6a2905443cf27f9c14889428f14fccfb98ed97f4 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 17 18:02:39 2015 +0800 f2fs: skip writing in ->writepages when no dirty pages exist When flushing comes from background, if there is no dirty page in the mapping of inode, we'd better to skip seeking dirty page from mapping for writebacking. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 737f18992ee81cab897336e84c5c7f4e179dfd61 Author: Tiezhu Yang <kernelpatch@xxxxxxx> Date: Fri Jul 17 12:56:00 2015 +0800 f2fs: optimize f2fs_write_cache_pages The if statement "goto continue_unlock" is exactly the same when each if condition is true that is depended on the value of both "step" and "is_cold_data(page)" are 0 or 1. That means when the value of "step" equals to "is_cold_data(page)", the if condition is true and the if statement "goto continue_unlock" appears only once, so it can be optimized to reduce the duplicated code. Signed-off-by: Tiezhu Yang <kernelpatch@xxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 55f57d2c4259a9a4048cf4629a2c6ba53729188d Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Jul 16 18:19:02 2015 +0800 f2fs: fix double lock in handle_failed_inode In handle_failed_inode, there is a potential deadlock which can happen in below call path: - f2fs_create - f2fs_lock_op down_read(cp_rwsem) - f2fs_add_link - __f2fs_add_link - init_inode_metadata - f2fs_init_security failed - truncate_blocks failed - handle_failed_inode - f2fs_truncate - truncate_blocks(..,true) - write_checkpoint - block_operations - f2fs_lock_all down_write(cp_rwsem) - f2fs_lock_op down_read(cp_rwsem) So in this path, we pass parameter to f2fs_truncate to make sure cp_rwsem in truncate_blocks will not be locked again. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ecbaa4068f88f96a8ffde37d532e618508394b53 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Jul 16 18:18:11 2015 +0800 f2fs: reduce region of cp_rwsem covered in f2fs_do_collapse In f2fs_do_collapse, region cp_rwsem covered is large, since it will be held until all blocks are left shifted, so if we try to collapse small area at the beginning of large file, checkpoint who want to grab writer's lock of cp_rwsem will be delayed for long time. In order to avoid this condition, altering to lock/unlock cp_rwsem each shift operation. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 0f825ee6e873ac0daf5394c5ec76ca2f3d540370 Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Wed Jul 15 18:05:17 2015 +0800 f2fs: add new interfaces for extent tree Add a lookup and a insertion interface for extent tree. The new lookup return the insert position and the prev/next extents closest to the offset we lookup when find no match. The new insertion uses above parameters to improve performance. There are three possible insertions after the lookup in f2fs_update_extent_tree, two of them insert parts of removed extent back to tree, since no merge happens during this process, new insertion skips the merge check in this scanario; the another insertion inserts a new extent to tree, new insertion uses prev/next extent and insert position to insert this extent directly, and save the time of searching down the tree. As long as tree remains unchanged between lookup and insertion, this would work fine. And the new lookup would be useful when add multi-blocks extent support for insertion interface. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 86531d6b84bc096d5d9dbc23333df0ab8d347763 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Jul 15 13:08:21 2015 -0700 f2fs: callers take care of the page from bio error This patch changes for a caller to handle the page after its bio gets an error. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 727edac572034557d207b293a47de25145e3d58c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Jul 15 17:29:49 2015 +0800 f2fs: use atomic_t to record hit ratio info of extent cache Variables for recording extent cache ratio info were updated without protection, this patch tries to alter them to atomic_t type for more accurate stat. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d5e8f6c9800c382cc55d8df801775d51311f8f21 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Jul 15 17:28:53 2015 +0800 f2fs: stat inline xattr inode number This patch adds to stat the number of inline xattr inode for showing in debugfs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1b77c416e7dfe317277057c32baa67ea9e486ae7 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Jul 13 18:31:24 2015 -0700 f2fs: use a page temporarily for encrypted gced page That encrypted page is used temporarily, so we don't need to mark it accessed. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f6af5df0c7d7b7d0a80a2f4ac4171912312b55d4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 5 16:19:31 2015 +0200 ALSA: aoa-soundbus: Switch to dev_pm_ops Update the aoa-soundbus framework to use dev_pm_ops rather than the deprecated legacy suspend and resume callbacks. Since there isn't anything special to do at the bus level the bus driver does not have to implement any callbacks. The device driver core will automatically pick up and execute the device's PM ops. As there is only a single aoa-soundbus driver implementing suspend and resume, update both the core and driver at the same time to avoid unnecessary code churn. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2cd212427fa9cbf19c1f353d6e14b959e8f112f7 Author: Andy Sun <Andy.Sun@xxxxxxx> Date: Tue Jul 28 16:38:39 2015 +0800 ARM: dts: atlas7: add a GPIO key for rearview button Touching this key will trigger a camera event for rearview. Signed-off-by: Andy Sun <Andy.Sun@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 627830756dcf647349c25f4212e777e2146465d4 Author: Huayi Li <huayi.li@xxxxxxx> Date: Tue Jul 28 16:03:38 2015 +0800 ARM: dts: atlas7: put pinctl property to get pinmux for NAND Nand controller often share some pins with sd/mmc controller on atlas and prima series, nand node can be disabled if the pins are used by sd/mmc controller. Signed-off-by: Huayi Li <huayi.li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 4e881aa890391140af4a03e2d116b68723efe61a Author: Yonghui Zhang <yonghui.zhang@xxxxxxx> Date: Tue Jul 28 15:59:41 2015 +0800 ARM: dts: atlas7: add software digital radio nodes and its DMA channels this patch adds SDR(software digital raio) nodes and the DMA channels for it. Signed-off-by: Yonghui Zhang <yonghui.zhang@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 5e3773b2b8c576c48aac8c2e59f88fc73803677e Author: Guo Zeng <guo.zeng@xxxxxxx> Date: Tue Jul 28 15:56:34 2015 +0800 ARM: dts: atlas7: add lost PWM node this patch adds lost PWM node, and also fixes the ranges of its parent node. Signed-off-by: Guo Zeng <guo.zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit d9615f8bf5d93afcd6cce35c81d06030a82e93ef Author: Dongli Li <Kasin.Li@xxxxxxx> Date: Tue Jul 28 15:48:22 2015 +0800 ARM: dts: atlas7: add lost G2D node this patch adds lost G2D node, and also fixes the range of its parent node. Signed-off-by: Dongli Li <Kasin.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit f3a19caa52ec8a5d27583a094f957d71e66b9afe Author: Xiaofeng Fei <xiaofeng.fei@xxxxxxx> Date: Tue Jul 28 15:40:37 2015 +0800 ARM: dts: atlas7: add multimedia codec node this patch adds multimedia video codec node, and also fixes the ranges of its parent node. Signed-off-by: Xiaofeng Fei <xiaofeng.fei@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit d015642e124ec3a90d1699293bbd2514f9b525ea Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Mon Feb 9 14:29:46 2015 +0800 ARM: dts: atlas7: add alias name for spi device spi framework can use alias name of spi device to retrieve the bus id, so bus id will not be dynamical but statical and it will be easier for test for a specified spi device with a fixed name like use spidev. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 153645b3e0373e276e3641e8b784f186bcc18b7e Author: Ye He <Ye.He@xxxxxxx> Date: Tue Jul 28 15:31:34 2015 +0800 ARM: dts: atlas7: add lost gmac node this patch adds lost ethernet gmac node, and also fix the ranges of its parent node. Signed-off-by: Ye He <ye.he@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit c95c621157c53f890f55983cd57c128255091f1f Author: Ye He <Ye.He@xxxxxxx> Date: Tue Jul 28 15:26:59 2015 +0800 ARM: dts: atlas7: add performance monitor unit node Signed-off-by: Ye He <ye.he@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 81a85f9ebca5713a99c827e446768b9223f63a25 Author: Lily.Li <Lily.Li@xxxxxxx> Date: Tue Jul 28 15:17:43 2015 +0800 ARM: dts: atlas7: add lost jpeg node this patch adds lost jpeg node, and also fix the ranges of its parent node. Signed-off-by: Lily.Li <Lily.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit f994592d9386548d15cea597cde37a858b61c762 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 4 22:30:09 2015 -0300 perf trace: Deref sys_enter pointer args with contents from probe:vfs_getname To work like strace and dereference syscall pointer args we need to insert probes (or tracepoints) right after we copy those bytes from userspace. Since we're formatting the syscall args at raw_syscalls:sys_enter time, we need to have a formatter that just stores the position where, later, when we get the probe:vfs_getname, we can insert the pointer contents. Now, if a probe:vfs_getname with this format is in place: # perf probe -l probe:vfs_getname (on getname_flags:72@/home/git/linux/fs/namei.c with pathname) That was, in this case, put in place with: # perf probe 'vfs_getname=getname_flags:72 pathname=filename:string' Added new event: probe:vfs_getname (on getname_flags:72 with pathname=filename:string) You can now use it in all perf tools, such as: perf record -e probe:vfs_getname -aR sleep 1 # Then 'perf trace' will notice that and do the pointer -> contents expansion: # trace -e open touch /tmp/bla 0.165 (0.010 ms): touch/17752 open(filename: /etc/ld.so.cache, flags: CLOEXEC) = 3 0.195 (0.011 ms): touch/17752 open(filename: /lib64/libc.so.6, flags: CLOEXEC) = 3 0.512 (0.012 ms): touch/17752 open(filename: /usr/lib/locale/locale-archive, flags: CLOEXEC) = 3 0.582 (0.012 ms): touch/17752 open(filename: /tmp/bla, flags: CREAT|NOCTTY|NONBLOCK|WRONLY, mode: 438) = 3 # Roughly equivalent to strace's output: # strace -rT -e open touch /tmp/bla 0.000000 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 <0.000039> 0.000317 open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 <0.000102> 0.001461 open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 <0.000072> 0.000405 open("/tmp/bla", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3 <0.000055> 0.000641 +++ exited with 0 +++ # Now we need to either look for at all syscalls that are marked as pointers and have some well known names ("filename", "pathname", etc) and set the arg formatter to the one used for the "open" syscall in this patch. This implementation works for syscalls with just a string being copied from userspace, for matching syscalls with more than one string being copied via the same probe/trace point (vfs_getname) we need to extend the vfs_getname probe spec to include the pointer too, but there are some problems with that in 'perf probe' or the kernel kprobes code, need to investigate before considering supporting multiple strings per syscall. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-xvuwx6nuj8cf389kf9s2ue2s@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e4d44e830a4bbeb0cf6fdd24c24794a2e599e26d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 4 22:17:29 2015 -0300 perf trace: Use a constant for the syscall formatting buffer We were using it as a magic number, 1024, fix that. Eventually we need to stop doing it per line, and do it per arg, traversing the args at output time, to avoid the memmove() calls that will be used in the next cset to replace pointers present at raw_syscalls:sys_enter time with its contents that appear at probe:vfs_getname time, before raw_syscalls:sys_exit time. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-4sz3wid39egay1pp8qmbur4u@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 08c987763ad3bc1aef133bcac073198ff86efa85 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 4 17:01:04 2015 -0300 perf trace: Remember if the vfs_getname tracepoint/kprobe is in place So that we can later decide if we will store where to expand the pathname once we are handling vfs_getname or if we should instead just go on and straight away print the pointer. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ytxk5s5jpc50wahffmlxgxuw@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2e5e5f876143b147b98d0c0854b5fc577412b05b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 3 17:12:29 2015 -0300 perf trace: Do not show syscall tracepoint filter in the --no-syscalls case We were accessing trace->syscalls.events members even when that struct wasn't initialized, i.e. --no-syscalls was specified on the command line, fix it to show that, still in debug mode, when we have an event qualifier list, i.e. when we actually are doing subset syscall tracing. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Fixes: 19867b6186f3 ("perf trace: Use event filters for the event qualifier list") Link: http://lkml.kernel.org/n/tip-7980ym6vujgh3yiai0cqzc88@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d422e62562e0dcef0ace4cd4fc4b4519d0a55ab4 Merge: 8ec4198 514f161 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Aug 5 14:14:06 2015 +0100 Merge branch 'aarch64/psci/drivers' into aarch64/for-next/core Move our PSCI implementation out into drivers/firmware/ where it can be shared with arch/arm/. Conflicts: arch/arm64/kernel/psci.c commit 8833c01af6aa8e42fcbc74d76646ead05d0183a7 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Mon Aug 3 17:27:34 2015 +0530 ASoC: tegra: Use devm_clk_get This patch introduces the use of managed resource function devm_clk_get instead of clk_get and removes corresponding calls to clk_put in the probe and remove functions. To be compatible with the change various gotos are replaced with direct returns, and unneeded labels are dropped. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 709bc0657fe6f9f55fdaab246135ff73ba7796e4 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Tue Jul 28 15:30:40 2015 +0800 ARM: imx6ul: add fec MAC refrence clock and phy fixup init Add FEC MAC refrence clock init. Add phy fixup init for i.MX6ul 14x14 evk board that installs KSZ8081 phy. For the phy, there needs extra phy fixup for MII and RMII mode. Signed-off-by: Fugang Duan <b38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 9f55eb92441883a1afca48dc8d32bf62c4d8e833 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Tue Jul 28 15:30:39 2015 +0800 ARM: imx6ul: add fec bits to GPR syscon definition FEC requires additional bits to select refrence clock. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 233ce79db4b23a174bcf30bde5d6ad913d5f46d3 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 12:54:46 2015 +0100 ASN.1: Handle 'ANY OPTIONAL' in grammar An ANY object in an ASN.1 grammar that is marked OPTIONAL should be skipped if there is no more data to be had. This can be tested by editing X.509 certificates or PKCS#7 messages to remove the NULL from subobjects that look like the following: SEQUENCE { OBJECT(2a864886f70d01010b); NULL(); } This is an algorithm identifier plus an optional parameter. The modified DER can be passed to one of: keyctl padd asymmetric "" @s </tmp/modified.x509 keyctl padd pkcs7_test foo @s </tmp/modified.pkcs7 It should work okay with the patch and produce EBADMSG without. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit b970499878563437a43eab2dd2faa9217142fb98 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 1 10:04:52 2015 +0800 ASoC: wm8753: Drop wm8753_writeable function When .max_register is set and .writeable_reg is not implement, registers between 0 and .max_register are writeable. This is the same as current implementation of wm8753_writeable(), so just drop implementation for .writeable_reg callback. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f611cdd8eb33ac6ca1196319b27b7f7f24ef98a9 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 1 10:03:42 2015 +0800 ASoC: wm8731: Drop wm8731_writeable function When .max_register is set and .writeable_reg is not implement, registers between 0 and .max_register are writeable. This is the same as current implementation of wm8731_writeable(), so just drop implementation for .writeable_reg callback. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6f55a041378f8688ab4afd2702416cd5318fa73d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 30 10:24:03 2015 +0800 ASoC: wm8741: Simplify wm8741_set_dai_sysclk implementation Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2e45a25f9cb6546d8b3c20d9461e21f8c0a75a8a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:10 2015 +0200 ASoC: wm_hubs: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5092e76b8ab406af56b6a24629a7daf30ea94f78 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:09 2015 +0200 ASoC: wm9713: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0894e2b3cddaf00a52302d0eb83edb717c6fb913 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:08 2015 +0200 ASoC: wm9090: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5d9a5e609bd026294c0d5c02372303cb969c9d98 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:07 2015 +0200 ASoC: wm9081: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f1022087d372b02c8ffe5e1e084a3de763bea16b Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:06 2015 +0200 ASoC: wm8993: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 00769dbe3982c76dd68dac1d3f54328fa935bd21 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:05 2015 +0200 ASoC: wm8991: Don't use range container for TLVs with one entry For TLVs with only a single entry it is not necessary to use a range container. Use DECLARE_TLV_DB_LINEAR() directly instead of a combination of TLV_DB_RANGE_HEAD() and TLV_DB_LINEAR_ITEM(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dfd0edda1fb3cd7a7cdde56467d718b1e49e32d5 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:04 2015 +0200 ASoC: wm8990: Don't use range container for TLV with one entry For TLVs with only a single entry it is not necessary to use a range container. Use DECLARE_TLV_DB_SCALE() directly instead of a combination of TLV_DB_RANGE_HEAD() and TLV_DB_SCALE_ITEM(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fcbb71e9ccac59940b619bdd5a51c96495dd4731 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:03 2015 +0200 ASoC: wm8962: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5d272d89339a4f8c1905d5bdf5851346582b78f2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:02 2015 +0200 ASoC: wm8961: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 11c3727c4e625c248ff3b546290aade1399affec Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:01 2015 +0200 ASoC: wm8753: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7d711f63e36737968dcda5ce28fed3fb3e12fbdc Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:20:00 2015 +0200 ASoC: wm8737: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0b65e6c7e22c93139b2b4efdd7ba6bd7bfa27fa7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:59 2015 +0200 ASoC: wm8400: Don't use range container for TLV with one entry For TLVs with only a single entry it is not necessary to use a range container. Use DECLARE_TLV_DB_SCALE() directly instead of a combination of TLV_DB_RANGE_HEAD() and TLV_DB_SCALE_ITEM(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3d383ba8b49fbb2024851442e09a104b1f030fe Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:58 2015 +0200 ASoC: wm8350: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5ee0b8f8296f237604f0ff72f03e7836f5e164b4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:57 2015 +0200 ASoC: uda1380: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2524911e300771954698f384bd7f44543b2af2de Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:56 2015 +0200 ASoC: twl4030: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4e0e5f8084cf9766ea70234f90271e03fd8aa56d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:55 2015 +0200 ASoC: tpa6130a2: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f9d54802b6339cc3d4bdf30ca3648790064462d2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:54 2015 +0200 ASoC: ssm2602: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 53eb1ca3caab417f1f686627bbf6bfa7d54cb5a8 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:53 2015 +0200 ASoC: sgtl5000: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 53f28609b0091c1e450105aaef924320aa748082 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:52 2015 +0200 ASoC: rt5677: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dea6d32e9efea0a75b5fb367fd53fa0562154852 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:51 2015 +0200 ASoC: rt5670: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e3648e10fd832e4e07bc3c0cf0e37f95de60082 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:50 2015 +0200 ASoC: rt5651: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6d698a83fa768be38780d54fc6c244c99cf7684d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:49 2015 +0200 ASoC: rt5645: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8295822dac5d78e62beb6a13bbb2d82e36ba763c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:48 2015 +0200 ASoC: rt5640: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f708abeac7d12f00b200848aa0cafe589ea8454 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:47 2015 +0200 ASoC: rt5631: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d6e3bb7aca7fbd092f1a19991526c095e59f8531 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:46 2015 +0200 ASoC: max9877: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e0340985999fbee1a51bd4653d90ca19a8a7acdc Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:45 2015 +0200 ASoC: max9850: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54c2011f5a7c31ec4e2ddb8694b559e29673941e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:44 2015 +0200 ASoC: max98095: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8896bc3e089b39d077c7afbf785166aac28e5151 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:43 2015 +0200 ASoC: max98090: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 80170468deec8fe851957d1e1cc3cf680ae46804 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:42 2015 +0200 ASoC: max98088: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44744eeccff7de65f98f2d5db804adc51bfd3333 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:41 2015 +0200 ASoC: max9768: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4689ac530efa8dadfb3ef8a284f9b2b14b75ad5f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:40 2015 +0200 ASoC: jz4740: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e27c8404a4745b3efeec1457e6b72f448ab4a785 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:39 2015 +0200 ASoC: da9055: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 32e933be3f221723ace230fe1293eb3b3b3466ff Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:38 2015 +0200 ASoC: da7213: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c1e1bfe22d6dc45384acebe0722d35e89011cc2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:37 2015 +0200 ASoC: da7210: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0c8129152cb849183a204fe0ce95673e4c88d2f6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:36 2015 +0200 ASoC: cs42l73: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 37879bafc2e0932279ad440d5a81c323e0c5c58c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:35 2015 +0200 ASoC: cs42l56: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0a017768e8964ab4a6a68ad47a042d28b35695fb Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:34 2015 +0200 ASoC: cs42l52: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ec7e4dc85cd7a2498d6ab71e9f77f49b41729fb4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:33 2015 +0200 ASoC: alc5632: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c8aeb0f60f648fbb77c1d5b3edda86e08bf53b30 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:32 2015 +0200 ASoC: alc5623: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 31581f3c09e796d5faac183eadfe06dca2223a5e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:31 2015 +0200 ASoC: adau1373: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 69dae09f2da83c96de6c8573061bd38e9989e873 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:30 2015 +0200 ASoC: ab8500: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f17cbcfef3cf6d91a374817f84c66951c84f11e2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 2 17:19:29 2015 +0200 ASoC: 88pm860x: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cec13c26e90e53015360c09574a7a2cde8d29495 Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:52 2015 +0200 rtc: mxc: add support of device tree Add device tree support for the mxc rtc driver. Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 61186371570e3ca62585e29e307f7a9c42ab789a Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:51 2015 +0200 dt-binding: document the binding for mxc rtc This adds documentation of device tree bindings for the mxc rtc. Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 8f5fe77828e16ef6fd8e4931ab177b41449ce8fc Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:50 2015 +0200 rtc: mxc: use a second rtc clock The mxc RTC needs two clocks, one for the input reference, and one for the IP. But this driver was only using one clock (for the reference). This patch add the second clock (for the IP). Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3713e3f5e9274bbe52e94716bde303071364c1ed Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:49 2015 +0200 clk: imx35: define two clocks for rtc The imx35 don't define clocks for rtc. This patch add two clocks, as needed by the mxc rtc driver. Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 00a48fe341ed497be64df2c6875af0da45d6ae90 Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Sun Jul 26 23:37:48 2015 +0200 clk: imx31: add a second rtc clock The mxc rtc driver needs two clock. It was defined only one clock, so we define the second clock. Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6a5278ee34e7fd4b051fd107a94a099778458d8c Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Tue Aug 4 15:37:16 2015 +0200 drm/vmwgfx: Fix an uninitialized value Reported by Intel's kbuild robot. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit 2e3cc8cff629c9697ac27c95a89dda7c7785b6b4 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Tue Aug 4 15:34:14 2015 +0200 drm/vmwgfx: Fix compiler warning with 32-bit dma_addr_t When the size of dma_addr_t was 32 bits, the compiler warned about the size of the 32 bit shift being larger than the size of the data type. Reported by Intel's kbuild robot. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit b9eb1a6174e58eb8beea664ffc20d152230d8004 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Apr 2 02:39:45 2015 -0700 drm/vmwgfx: Kill a bunch of sparse warnings We're giving up all attempts to keep cpu- and device byte ordering separate. This silences sparse when compiled using make C=2 CF="-D__CHECK_ENDIAN__" Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit f6b05004538ab0933c7527f10a2a6ed88c620f99 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Jun 29 12:59:58 2015 -0700 drm/vmwgfx: Fix kms preferred mode sorting The preferred mode typically didn't end up first, since the function drm_mode_connector_list_update() reordered the modes. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 352b20dc51488b264abe6b9755395c63c90e807b Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Jun 29 12:57:37 2015 -0700 drm/vmwgfx: Reinstate the legacy display system dirty callback It somehow got lost in a rewrite. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit a278724aa23c544c2087cb7537db6b950877c291 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Jun 29 12:55:07 2015 -0700 drm/vmwgfx: Implement fbdev on kms v2 With screen targets the old legacy display system fbdev doesn't work satisfactory anymore. At best the resolution is severely restricted. Therefore implement fbdev on top of the kms system. With this change, fbdev will be using whatever KMS backend is chosen. There are helpers available for this, so in the future we'd probably want to implement the helper callbacks instead of calling into our KMS implementation directly. v2: Make sure we take the mode_config mutex around modesetting, Also clear the initial framebuffer using vzalloc instead of vmalloc. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit fd006a43a8c4c9356ace60eacd8ae68954fa25e0 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Sun Jun 28 02:50:56 2015 -0700 drm/vmwgfx: Add a kernel interface to create a framebuffer v2 The kernel interface is needed for fbdev, and needs to be free from a file_priv member. To accomplish this, remove the fb surface mutex and list which isn't used anymore, anyway. Finally, make the pin() and unpin() pin the framebuffer for all display system backends, so that fbdev can pin its framebuffer before mapping it. v2: Address review comments: - Fix vmw_framebuffer_unpin() to handle also the surface framebuffer case. - Fix vmw_kms_new_framebuffer() to actually use the only_2d parameter. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 9b590783b3d6d2e06516788d1061176109677409 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jun 26 04:46:52 2015 -0700 drm/vmwgfx: Avoid cmdbuf alloc sleeping if !TASK_RUNNING If the command buffer pool is out of space, the code waits until space is available. However since the condition code tries to allocate a range manager node while !TASK_RUNNING we get a kernel warning. Avoid this by pre-allocating the mm node. This will also probably be more efficient. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 6bf6bf03b37b5ba0f3399fa9bb3d62edfa117c87 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jun 26 02:22:40 2015 -0700 drm/vmwgfx: Convert screen targets to new helpers v3 Also implements the missing readback function and fixes page flip in case of no event. v2: - Adapt to the work done for screen targets for 2d, in particular Handle proxy surface updates. - Remove execbuf quirks since we now use fifo reserve / commit. - Revert the initial placement of vmw dma buffers. v3: Address review comments. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 10b1e0ca9c32deb3a9b0ecc93fc4920fc24b4a57 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jun 26 02:14:27 2015 -0700 drm/vmwgfx: Convert screen objects to the new helpers This makes it possible to use the same function for surface dirty and present. Also fixes page flip without events. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 1a4b172ac96edd7f571772e83c09c5a18718a4fa Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jun 26 02:03:53 2015 -0700 drm/vmwgfx: Add kms helpers for dirty- and readback functions We need to make the dirty- and readback functions callable without a struct drm_file pointer. We also need to unify the handling of dirty- and readback cliprects that are now implemented in various places across the kms system, som add helpers to facilitate this. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 459d0fa7359654e5e076e84fc58512f00f70fee9 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Fri Jun 26 00:25:37 2015 -0700 drm/vmwgfx: Introduce a pin count to allow for recursive pinning v2 v2: Fix dma buffer validation on resource pinning. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit f89c6c321c4a7c0188922f331b70d83af01ab53e Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Fri Jun 26 01:54:28 2015 -0700 drm/vmwgfx: Replace SurfaceDMA usage with SurfaceCopy in 2D VMs This patch address the following underlying issues with SurfaceDMA * SurfaceDMA command does not work in a 2D VM, but we can wrap a proxy surface around the same DMA buffer and use the SurfaceCopy command which does work in a 2D VM. * Wrapping a DMA buffer with a proxy surface also gives us an added optimization path for the case when the DMA buf dimensions match the mode. In this case, the DMA buf can be pinned as the display surface, saving an extra copy. This only works in a 2D VM because we won't be doing any rendering operations directly to the display surface. v2 * Moved is_dmabuf_proxy field to vmw_framebuffer_surface * Undone coding style changes * Addressed other issues from review Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Reviewed-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 35c051258e8fd7cb97222f4aa887bcd404c156d0 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Fri Jun 26 01:42:06 2015 -0700 drm/vmwgfx: Implement screen targets Add support for the screen target device interface. Add a getparam parameter and bump minor to signal availability. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit c9146cd918852ba6ec1af3bb376ac88edc15e3d9 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Mar 2 23:45:04 2015 -0800 drm/vmwgfx: Add "quirk" to handling command verification exceptions For certain surface copies, we don't have a user space handle for the destination surface. In such cases, we are going to trust that our caller is giving us the right surface ID. To do this case, we created a quirk flag that may be useful in the future for handling other cases. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit c8261a961ece4206bd60708eafa24ab81347f87c Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Fri Jun 26 01:23:42 2015 -0700 vmwgfx: Major KMS refactoring / cleanup in preparation of screen targets Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 233826a74881e38aca20ced22842322269877612 Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Thu Mar 5 01:06:13 2015 -0800 drm/vmwgfx: Refactor vmw_gb_surface_define_ioctl() Refactored vmw_gb_surface_define_ioctl() and made the surface definition part a separate function. This way other parts of vmwgfx can use it to allocate kernel-visible GB surfaces. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 7b64115fc79c766ba2f89ec822427d720f395f3f Author: Sinclair Yeh <syeh@xxxxxxxxxx> Date: Fri Feb 27 04:44:24 2015 -0800 drm/vmwgfx: SVGA device definition update Update device definition headers to support screen targets. Signed-off-by: Sinclair Yeh <syeh@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit ed93394c14ba50e3e53ef289116625f0f05f8616 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Mar 2 23:26:06 2015 -0800 drm/vmwgfx: Add an interface to pin a resource v3 For screen targets it appears we need to pin surfaces while they are bound as screen targets, so add a small interface to do that. v2: Always increase pin_count on pin. v3: Add missing reservation sem. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit ee511a835a681ee147666a0c85b96f8a43aae2d5 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 12:00:39 2015 -0700 drm/vmwgfx: Fix an overlay lockdep error Fix a circular locking dependency between struct vmw_overlay::mutex and struct vmw_private::reservation_sem Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit 3eab3d9eef65041952fd7b15a2eba13cb308968d Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 11:57:56 2015 -0700 drm/vmwgfx: Add command buffer support v3 Add command buffer support. Currently we don't implement preemption or fancy error handling. Tested with a couple of mesa-demos, compiz/unity and viewperf maya-03. v2: - Synchronize with pending work at command buffer manager takedown. - Add an interface to flush the current command buffer for latency-critical command batches and apply it to framebuffer dirtying. v3: - Minor fixes of definitions and typos to address reviews. - Removed new or moved branch predictor hints. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit cb09bbcc429a290d01ebf23b9f0193dee0da6779 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 11:15:11 2015 -0700 vmwgfx: Update device headers for command buffers. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 13eec7eaae00276c952852f4c2723cd55ac0fb8c Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 11:12:17 2015 -0700 drm/vmwgfx: Fix OTABLE takedown Don't fence and free the BO if command submission fails. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit 153b3d5b037eeb01d1e5610958a5bbd79885b2be Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 10:47:43 2015 -0700 vmwgfx: Rework device initialization This commit reworks device initialization so that we always enable the FIFO at driver load, deferring SVGA enable until either first modeset or fbdev enable. This should always leave the fifo properly enabled for render- and control nodes. In addition, *) We disable the use of VRAM when SVGA is not enabled. *) We simplify PM support so that we only throw out resources on hibernate, not on suspend, since the device keeps its state on suspend. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 12617971c443c50750a12a77ea0e08319d161975 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Jun 25 10:10:36 2015 -0700 drm/vmwgfx: Fix an fb unlocking bug A regression introduced when the master ttm lock was split into two. Reported-and-tested-by: Brian Paul <brianp@xxxxxxxxxx> Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit 0d62e9dd6da45bbf0f33a8617afc5fe774c8f45f Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 12:54:46 2015 +0100 ASN.1: Fix non-match detection failure on data overrun If the ASN.1 decoder is asked to parse a sequence of objects, non-optional matches get skipped if there's no more data to be had rather than a data-overrun error being reported. This is due to the code segment that decides whether to skip optional matches (ie. matches that could get ignored because an element is marked OPTIONAL in the grammar) due to a lack of data also skips non-optional elements if the data pointer has reached the end of the buffer. This can be tested with the data decoder for the new RSA akcipher algorithm that takes three non-optional integers. Currently, it skips the last integer if there is insufficient data. Without the fix, #defining DEBUG in asn1_decoder.c will show something like: next_op: pc=0/13 dp=0/270 C=0 J=0 - match? 30 30 00 - TAG: 30 266 CONS next_op: pc=2/13 dp=4/270 C=1 J=0 - match? 02 02 00 - TAG: 02 257 - LEAF: 257 next_op: pc=5/13 dp=265/270 C=1 J=0 - match? 02 02 00 - TAG: 02 3 - LEAF: 3 next_op: pc=8/13 dp=270/270 C=1 J=0 next_op: pc=11/13 dp=270/270 C=1 J=0 - end cons t=4 dp=270 l=270/270 The next_op line for pc=8/13 should be followed by a match line. This is not exploitable for X.509 certificates by means of shortening the message and fixing up the ASN.1 CONS tags because: (1) The relevant records being built up are cleared before use. (2) If the message is shortened sufficiently to remove the public key, the ASN.1 parse of the RSA key will fail quickly due to a lack of data. (3) Extracted signature data is either turned into MPIs (which cope with a 0 length) or is simpler integers specifying algoritms and suchlike (which can validly be 0); and (4) The AKID and SKID extensions are optional and their removal is handled without risking passing a NULL to asymmetric_key_generate_id(). (5) If the certificate is truncated sufficiently to remove the subject, issuer or serialNumber then the ASN.1 decoder will fail with a 'Cons stack underflow' return. This is not exploitable for PKCS#7 messages by means of removal of elements from such a message from the tail end of a sequence: (1) Any shortened X.509 certs embedded in the PKCS#7 message are survivable as detailed above. (2) The message digest content isn't used if it shows a NULL pointer, similarly, the authattrs aren't used if that shows a NULL pointer. (3) A missing signature results in a NULL MPI - which the MPI routines deal with. (4) If data is NULL, it is expected that the message has detached content and that is handled appropriately. (5) If the serialNumber is excised, the unconditional action associated with it will pick up the containing SEQUENCE instead, so no NULL pointer will be seen here. If both the issuer and the serialNumber are excised, the ASN.1 decode will fail with an 'Unexpected tag' return. In either case, there's no way to get to asymmetric_key_generate_id() with a NULL pointer. (6) Other fields are decoded to simple integers. Shortening the message to omit an algorithm ID field will cause checks on this to fail early in the verification process. This can also be tested by snipping objects off of the end of the ASN.1 stream such that mandatory tags are removed - or even from the end of internal SEQUENCEs. If any mandatory tag is missing, the error EBADMSG *should* be produced. Without this patch ERANGE or ENOPKG might be produced or the parse may apparently succeed, perhaps with ENOKEY or EKEYREJECTED being produced later, depending on what gets snipped. Just snipping off the final BIT_STRING or OCTET_STRING from either sample should be a start since both are mandatory and neither will cause an EBADMSG without the patches Reported-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 3f3af97d8225a58ecdcde7217c030b17e5198226 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 12:54:46 2015 +0100 ASN.1: Fix actions on CHOICE elements with IMPLICIT tags In an ASN.1 description where there is a CHOICE construct that contains elements with IMPLICIT tags that refer to constructed types, actions to be taken on those elements should be conditional on the corresponding element actually being matched. Currently, however, such actions are performed unconditionally in the middle of processing the CHOICE. For example, look at elements 'b' and 'e' here: A ::= SEQUENCE { CHOICE { b [0] IMPLICIT B ({ do_XXXXXXXXXXXX_b }), c [1] EXPLICIT C ({ do_XXXXXXXXXXXX_c }), d [2] EXPLICIT B ({ do_XXXXXXXXXXXX_d }), e [3] IMPLICIT C ({ do_XXXXXXXXXXXX_e }), f [4] IMPLICIT INTEGER ({ do_XXXXXXXXXXXX_f }) } } ({ do_XXXXXXXXXXXX_A }) B ::= SET OF OBJECT IDENTIFIER ({ do_XXXXXXXXXXXX_oid }) C ::= SET OF INTEGER ({ do_XXXXXXXXXXXX_int }) They each have an action (do_XXXXXXXXXXXX_b and do_XXXXXXXXXXXX_e) that should only be processed if that element is matched. The problem is that there's no easy place to hang the action off in the subclause (type B for element 'b' and type C for element 'e') because subclause opcode sequences can be shared. To fix this, introduce a conditional action opcode(ASN1_OP_MAYBE_ACT) that the decoder only processes if the preceding match was successful. This can be seen in an excerpt from the output of the fixed ASN.1 compiler for the above ASN.1 description: [ 13] = ASN1_OP_COND_MATCH_JUMP_OR_SKIP, // e [ 14] = _tagn(CONT, CONS, 3), [ 15] = _jump_target(45), // --> C [ 16] = ASN1_OP_MAYBE_ACT, [ 17] = _action(ACT_do_XXXXXXXXXXXX_e), In this, if the op at [13] is matched (ie. element 'e' above) then the action at [16] will be performed. However, if the op at [13] doesn't match or is skipped because it is conditional and some previous op matched, then the action at [16] will be ignored. Note that to make this work in the decoder, the ASN1_OP_RETURN op must set the flag to indicate that a match happened. This is necessary because the _jump_target() seen above introduces a subclause (in this case an object of type 'C') which is likely to alter the flag. Setting the flag here is okay because to process a subclause, a match must have happened and caused a jump. This cannot be tested with the code as it stands, but rather affects future code. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 8d9b21dcfe6814c92c9f445a7c742b7bab4f86b8 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Aug 5 12:54:45 2015 +0100 ASN.1: Fix handling of CHOICE in ASN.1 compiler Fix the handling of CHOICE types in the ASN.1 compiler to make SEQUENCE and SET elements in a CHOICE be correctly rendered as skippable and conditional as appropriate. For example, in the following ASN.1: Foo ::= SEQUENCE { w1 INTEGER, w2 Bar, w3 OBJECT IDENTIFIER } Bar ::= CHOICE { x1 Seq1, x2 [0] IMPLICIT OCTET STRING, x3 Seq2, x4 SET OF INTEGER } Seq1 ::= SEQUENCE { y1 INTEGER, y2 INTEGER, y3 INTEGER } Seq2 ::= SEQUENCE { z1 BOOLEAN, z2 BOOLEAN, z3 BOOLEAN } the output in foo.c generated by: ./scripts/asn1_compiler foo.asn1 foo.c foo.h included: // Bar // Seq1 [ 4] = ASN1_OP_MATCH, [ 5] = _tag(UNIV, CONS, SEQ), ... [ 13] = ASN1_OP_COND_MATCH_OR_SKIP, // x2 [ 14] = _tagn(CONT, PRIM, 0), // Seq2 [ 15] = ASN1_OP_MATCH, [ 16] = _tag(UNIV, CONS, SEQ), ... [ 24] = ASN1_OP_COND_MATCH_JUMP_OR_SKIP, // x4 [ 25] = _tag(UNIV, CONS, SET), ... [ 27] = ASN1_OP_COND_FAIL, as a result of the CHOICE - but this is wrong on lines 4 and 15 because both of these should be skippable (one and only one of the four can be picked) and the one on line 15 should also be conditional so that it is ignored if anything before it matches. After the patch, it looks like: // Bar // Seq1 [ 4] = ASN1_OP_MATCH_JUMP_OR_SKIP, // x1 [ 5] = _tag(UNIV, CONS, SEQ), ... [ 7] = ASN1_OP_COND_MATCH_OR_SKIP, // x2 [ 8] = _tagn(CONT, PRIM, 0), // Seq2 [ 9] = ASN1_OP_COND_MATCH_JUMP_OR_SKIP, // x3 [ 10] = _tag(UNIV, CONS, SEQ), ... [ 12] = ASN1_OP_COND_MATCH_JUMP_OR_SKIP, // x4 [ 13] = _tag(UNIV, CONS, SET), ... [ 15] = ASN1_OP_COND_FAIL, where all four options are skippable and the second, third and fourth are all conditional, as is the backstop at the end. This hasn't been a problem so far because in the ASN.1 specs we have are either using primitives or are using SET OF and SEQUENCE OF which are handled correctly. Whilst we're at it, also make sure that element labels get included in comments in the output for elements that have complex types. This cannot be tested with the code as it stands, but rather affects future code. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-By: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 63d5e127de8287c4ae80f43cda8cb9c06e612929 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:01:10 2015 +0900 mailbox: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Lee Jones <lee@xxxxxxxxxx> Reviewed-by: Eric Anholt <eric@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit eb157c81d046d01c468df7e27d33563dce413154 Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Aug 4 18:35:00 2015 +0300 ARM: dts: am437x-gp-evm: Add eMMC support Add eMMC pinmux and mmc2 related bits. We keep the mmc2 controller disabled as it conflits with gpmc/NAND. To enable emmc, simply set mmc2 controller node to "okay" and set the gpmc node to "disabled" and change the SelEMMCorNAND gpio-hog to output-high. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 50336f5127640b1cc6a84c2a7853774a11e1e3c2 Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Aug 4 18:34:59 2015 +0300 ARM: dts: am437x-gp-evm: Add gpio-hog for configuring eMMC/NAND driver On this board either eMMC or NAND can work based on the level of spi2_cs0.gpio0_23. Add a gpio-hog to enable configuration of this pin in the device tree. Move pinmux for spi2_cs0 (SEL_eMMCorNANDn) out of NAND node into gpio0 so it is initialized with gpio0. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 92814c4a2cae0f9668bc6521cb51453a81a39299 Author: Dave Gerlach <d-gerlach@xxxxxx> Date: Tue Aug 4 18:34:58 2015 +0300 ARM: dts: am43xx: Introduce MUX_MODE9 for pinctrl Some pins on AM43XX support MODE9 for the pinctrl settings so add a binding to describe this. Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d62ce9ffd8211a423c462811ef083d2493a44321 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Jul 30 13:43:40 2015 +0530 ARM: dts: dra72-evm: Fix spurious card insert/removal interrupt ldo1_reg in addition to being connected to the io lines is also connected to the card detect line. On card removal, omap_hsmmc driver does a regulator_disable causing card detect line to be pulled down. This raises a card insertion interrupt and once the MMC core detects there is no card inserted, it does a regulator disable which again raises a card insertion interrupt. This happens in a loop causing infinite MMC interrupts. Fix it by making ldo1_reg as always_on. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9f04ceebe21a8cc8930adbea0fcc538a46e7289a Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Jul 30 13:43:39 2015 +0530 ARM: dts: dra7-evm: Fix spurious card insert/removal interrupt ldo1_reg in addition to being connected to the io lines is also connected to the card detect line. On card removal, omap_hsmmc driver does a regulator_disable causing card detect line to be pulled down. This raises a card insertion interrupt and once the MMC core detects there is no card inserted, it does a regulator disable which again raises a card insertion interrupt. This happens in a loop causing infinite MMC interrupts. Fix it by making ldo1_reg as always_on. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 29d632c8bb35bad91c85ad091a7b70f11e6c4966 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Jul 30 13:43:38 2015 +0530 ARM: dts: am57xx-beagle-x15: mmc1: remove redundant pbias-supply property pbias-supply is initialized in dra7.dtsi. Remove redundant initialization of pbias-supply from MMC1 dt node in am57xx-beagle-x15.dts Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f4eaf9e04874f03c13d40c8b8ed26ac6738af3e3 Author: Nishanth Menon <nm@xxxxxx> Date: Thu Jul 30 13:43:37 2015 +0530 ARM: dts: dra7-evm: Add MMCSD card removal GPIO SDMMC Card Detect can be used over default GPIO map. Reported-by: Yan Liu <yan-liu@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e23b27dbf88e31a4bd29b10917d74ba7d99d1e3c Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Jul 30 13:43:36 2015 +0530 ARM: dts: dra72-evm: Set max clock frequency of MMC1 and MMC2 MMC1 supports SDR104 and MMC2 supports HS200 both of which requires 192MHz clock. Set the maximum operating clock frequency to 192 MHz. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4b93521587df9928a49bfdefd72d4e0ffe5b0fe2 Author: Balaji T K <balajitk@xxxxxx> Date: Thu Jul 30 13:43:35 2015 +0530 ARM: dts: dra7-evm: add evm_3v3_sd regulator Add a node for evm_3v3_sd using onboard pcf GPIO expander which feeds on to mmc vdd. Update mapping for vmmc-supply and vmmc_aux-supply. evm_3v3_sd supplies to SD card vdd, and ldo1 to sdcard i/o lines. Signed-off-by: Balaji T K <balajitk@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a238707d9871381672cb3ee7bd6e66ede838c23f Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Thu Jul 30 13:43:34 2015 +0530 ARM: dts: dra72-evm: add evm_3v3_sd regulator Add a node for evm_3v3_sd using pcf which feeds on to mmc vdd. Update mapping for vmmc-supply and vmmc_aux-supply. evm_3v3_sd supplies to SD card vdd, and ldo1 to sdcard i/o lines. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f735d4af4b0ec3d87885710adf18b077480e7b19 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:27 2015 +0800 KVM: VMX: drop ept misconfig check The logic used to check ept misconfig is completely contained in common reserved bits check for sptes, so it can be removed Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 47ab8751695f71d85562ff497e21b521c789247c Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:26 2015 +0800 KVM: MMU: fully check zero bits for sptes The #PF with PFEC.RSV = 1 is designed to speed MMIO emulation, however, it is possible that the RSV #PF is caused by real BUG by mis-configure shadow page table entries This patch enables full check for the zero bits on shadow page table entries (which includes not only bits reserved by the hardware, but also bits that will never be set in the SPTE), then dump the shadow page table hierarchy. Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d625b155d21bdedf7d289d422d73c644e2205624 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:25 2015 +0800 KVM: MMU: introduce is_shadow_zero_bits_set() We have the same data struct to check reserved bits on guest page tables and shadow page tables, split is_rsvd_bits_set() so that the logic can be shared between these two paths Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c258b62b264fdc469b6d3610a907708068145e3b Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:24 2015 +0800 KVM: MMU: introduce the framework to check zero bits on sptes We have abstracted the data struct and functions which are used to check reserved bit on guest page tables, now we extend the logic to check zero bits on shadow page tables The zero bits on sptes include not only reserved bits on hardware but also the bits that SPTEs willnever use. For example, shadow pages will never use GB pages unless the guest uses them too. Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 81b8eebbc3511bfa21520314b07988a875a4d066 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:23 2015 +0800 KVM: MMU: split reset_rsvds_bits_mask_ept Since shadow ept page tables and Intel nested guest page tables have the same format, split reset_rsvds_bits_mask_ept so that the logic can be reused by later patches which check zero bits on sptes Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6dc98b868bc5d44cd5fd9be2a35e3d87902e8818 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:22 2015 +0800 KVM: MMU: split reset_rsvds_bits_mask Since softmmu & AMD nested shadow page tables and guest page tables have the same format, split reset_rsvds_bits_mask so that the logic can be reused by later patches which check zero bits on sptes Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a0a64f50aac731d42125dd8581b9a31e4fdb0f75 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:21 2015 +0800 KVM: MMU: introduce rsvd_bits_validate These two fields, rsvd_bits_mask and bad_mt_xwr, in "struct kvm_mmu" are used to check if reserved bits set on guest ptes, move them to a data struct so that the approach can be applied to check host shadow page table entries as well Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d2b0f98125425c72a3f628fbe5498eb55329738b Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:20 2015 +0800 KVM: MMU: move FNAME(is_rsvd_bits_set) to mmu.c FNAME(is_rsvd_bits_set) does not depend on guest mmu mode, move it to mmu.c to stop being compiled multiple times Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6f691251c0350ac52a007c54bf3ef62e9d8cdc5e Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Aug 5 12:04:19 2015 +0800 KVM: MMU: fix validation of mmio page fault We got the bug that qemu complained with "KVM: unknown exit, hardware reason 31" and KVM shown these info: [84245.284948] EPT: Misconfiguration. [84245.285056] EPT: GPA: 0xfeda848 [84245.285154] ept_misconfig_inspect_spte: spte 0x5eaef50107 level 4 [84245.285344] ept_misconfig_inspect_spte: spte 0x5f5fadc107 level 3 [84245.285532] ept_misconfig_inspect_spte: spte 0x5141d18107 level 2 [84245.285723] ept_misconfig_inspect_spte: spte 0x52e40dad77 level 1 This is because we got a mmio #PF and the handler see the mmio spte becomes normal (points to the ram page) However, this is valid after introducing fast mmio spte invalidation which increases the generation-number instead of zapping mmio sptes, a example is as follows: 1. QEMU drops mmio region by adding a new memslot 2. invalidate all mmio sptes 3. VCPU 0 VCPU 1 access the invalid mmio spte access the region originally was MMIO before set the spte to the normal ram map mmio #PF check the spte and see it becomes normal ram mapping !!! This patch fixes the bug just by dropping the check in mmio handler, it's good for backport. Full check will be introduced in later patches Reported-by: Pavel Shirshov <ru.pchel@xxxxxxxxx> Tested-by: Pavel Shirshov <ru.pchel@xxxxxxxxx> Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9c33ae0c614c7a4e64c2781f473057a273b57544 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Aug 4 10:58:26 2015 -0600 KVM: MTRR: Use default type for non-MTRR-covered gfn before WARN_ON The patch was munged on commit to re-order these tests resulting in excessive warnings when trying to do device assignment. Return to original ordering: https://lkml.org/lkml/2015/7/15/769 Fixes: 3e5d2fdceda1 ("KVM: MTRR: simplify kvm_mtrr_get_guest_memory_type") Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Reviewed-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c9ab94dfd2baf391f724d5dc28fcd8f71f7f311b Author: Suman Anna <s-anna@xxxxxx> Date: Fri Jul 17 16:08:04 2015 -0500 ARM: dts: AM4372: Add the wkup_m3_ipc node Add the Wakeup M3 IPC device node for the wkup_m3_ipc driver on AM4372 SoC. This node uses the IPC registers, part of the Control Module, and is therefore added as a child of the scm node. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 99937129075a907a5e4ba52cf0ebdbde9ff6be15 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Jul 17 16:08:03 2015 -0500 ARM: dts: AM33xx: Add the wkup_m3_ipc node Add the Wakeup M3 IPC node for the wkup_m3_ipc driver on AM33xx SoCs. This node uses the IPC registers, part of the Control Module, and is therefore added as a child of the scm node. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9f502ff55321a5270c3dfbb76ac3774e6b5d8097 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 5 12:09:45 2015 +0200 ALSA: hda - yet another fix for Dell headset mic with ALC3266 It turned out that there are three variants of pin config values of NID 0x17 on Dell laptops with ALC3266 (alias of ALC298): 0x90170110, 0x90170140 and 0x90170150. The first two have been already covered by commits 703867e2f252 and 977e627684df, so this commit adds the missing last entry. While we're at it, rearrange the three entries in the order of pincfg values. Reported-by: Kailang Yang <kailang@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 00a6d6e50ff34aa2351746422e4a1c85c7765b15 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Aug 5 10:03:18 2015 +0800 ASoC: Add function "rl6231_get_pre_div" to correct the dmic clock calculation Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 33cb3a13ce61c7ef9ac94976c7ceb59ead1e8573 Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Aug 4 12:10:14 2015 +0300 ARM: dts: dra7: Add scm_conf@1c04 node This region contains CTRL_CORE_SMA_SW2..9 registers which are not specific to any domain and can be reasonably accessed via syscon driver. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1c5cb6fdd69210f01d9925fd8232385a9c5baa9a Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Jul 27 13:27:29 2015 +0300 ARM: dts: dra7: fix pinmux@1400 resource length We need to add 4 bytes to include the last 32-bit register space. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 57fe9287c6bcd2261701f9793f690b165d02a962 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Jul 27 13:27:28 2015 +0300 ARM: dts: dra7: Remove ctrl_core and ctrl_general nodes These nodes are wrongly placed. They must come under the scm node. Nobody uses them either so get rid of them. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3f86e570f26837d9f48d64b7ece85853cb45becd Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Sat Aug 1 21:03:56 2015 +0530 ARM: davinci: cp_intc: use IRQCHIP_SKIP_SET_WAKE instead of irq_set_wake callback Commit 60f96b41f71d ("genirq: Add IRQCHIP_SKIP_SET_WAKE flag") introduced a new flag to skip the irq_set_wake callback in the irqchip core to avoid adding dummy irq_set_wake in the irqchip implementations. This patch removes the dummy callback and sets the IRQCHIP_SKIP_SET_WAKE flags. Cc: Sekhar Nori <nsekhar@xxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 757fe8d514a9bab55156dfb2c4a03e56ba96a028 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Aug 5 10:04:05 2015 +0300 spi: spi-pxa2xx: Remove unused legacy null dma buffer and allocation for it Remove null_dma_buf variable and extra allocation for it. It is not needed since commit 6356437e65c2 ("spi: spi-pxa2xx: remove legacy PXA DMA bits"). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 80aa93128653c5f2502053c0d9740b336d975667 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Mon Aug 3 13:09:11 2015 -0700 drm/i915: disable_shared_pll doesn't work on pre-gen5 Looks like commit eddfcbcdc27fbecb33bff098967bbdd7ca75bfa6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:53 2015 +0200 drm/i915: Update less state during modeset. introduced the unconditional calling of disable_shared_dpll, but didn't fix up pre-gen5 to avoid the BUG_ON at the top of the function. So change the BUG_ON into a gen check (alternately we could move the BUG_ON until later, since we shouldn't have a pll struct here either, but this seems clearer to read). This fixes a crash on load on my x200s platform. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 245d96670d2655f70f4445d5247f26afbe705c84 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Mon Aug 3 20:24:56 2015 +0100 drm/i915:skl: Add WaEnableGapsTsvCreditFix Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Tested-by: Ben Widawsky <ben@xxxxxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90854 Tested-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9dd068a4b85a68733213c874d08ef768bbec8d01 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Jul 31 17:03:13 2015 +0200 soc: mediatek: Fix SCPSYS compilation SCPSYS driver misses the module.h include which makes it fail when compiling with allmodconf. This patch fixes this. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1ff2b94d15ab25cfe7d63a2038fe458269f07f35 Merge: e06b2d8 9e07b49 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 11:11:51 2015 +0200 Merge tag 'mvebu-config-4.3-2' of git://git.infradead.org/linux-mvebu into next/defconfig mvebu config changes for v4.3 (part #2) Improve dt support for orion5x * tag 'mvebu-config-4.3-2' of git://git.infradead.org/linux-mvebu: ARM: defconfig: orion5x: add DT support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ee224e175e9d837b3d572e863ac96109b58707ac Merge: e7482c7 dc57844 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 11:10:30 2015 +0200 Merge tag 'mvebu-dt-4.3-2' of git://git.infradead.org/linux-mvebu into next/dt mvebu dt changes for v4.3 (part #2) Add support Buffalo Linkstation LS-WTGL * tag 'mvebu-dt-4.3-2' of git://git.infradead.org/linux-mvebu: ARM: dts: orion5x: add buffalo linkstation ls-wtgl Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 495078f892eef0ac791fd2b32393e1501b5c1c5e Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Jul 31 21:58:16 2015 -0600 toshiba_acpi: Bump driver version to 0.23 Given that some features were added (/dev/toshiba_acpi device), some clean-ups and minor (cosmetic) changes all over the driver code, bump the driver version to 0.23 to reflect these overall changes. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit a6b5354f422a1f1cd48a94ed64e54989f9ea7ee2 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Jul 31 21:58:15 2015 -0600 toshiba_acpi: Remove unnecessary checks and returns in HCI/SCI functions A previous patch added explicit feature checks for support, *SUCCESS* and *FAILURE to the HCI/SCI *{get, set} functions. This patch removes some unnedded checks to the driver HCI/SCI functions given that the default error return value is now set to -EIO, there is no need to check for other error values other than the ones currently checking for. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f9fa55b97090bdc70683c96d425759ae3958ce24 Merge: b69354d 482d638 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 11:09:02 2015 +0200 Merge tag 'mvebu-soc-4.3-1' of git://git.infradead.org/linux-mvebu into next/soc mvebu soc changes for v4.3 (part #1) - Extend suspend to RAM support in order to add new mvebu SoC - Add standby support for all Armada 3xx/XP SoCs * tag 'mvebu-soc-4.3-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Warn about the wake-up sources not taken into account in suspend ARM: mvebu: Add standby support ARM: mvebu: Use __init for the PM initialization functions ARM: mvebu: prepare pm-board.c for the introduction of Armada 38x support ARM: mvebu: prepare mvebu_pm_store_bootinfo() to support multiple SoCs ARM: mvebu: do not check machine in mvebu_pm_init() ARM: mvebu: prepare set_cpu_coherent() for future extension Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e1a949c1b9883d1d0586b0cbdd2c0cc3f55514bd Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Jul 31 21:58:14 2015 -0600 toshiba_acpi: Refactor *{get, set} functions return value This patch refactors the return value of the driver *{get, set} functions, since the driver default error value is -EIO. All the functions now check for TOS_FAILURE, TOS_NOT_SUPPORTED and TOS_SUCCESS. On TOS_FAILURE a pr_err message is printed informing the user of the error (no change was made to this, except the check was added to the functions not checking for this). On TOS_NOT_SUPPORTED we now return -ENODEV immediately (some functions were returning -EIO and some other were not checking) On TOS_SUCCESS* we now return 0 (as a side effect, a new success value was added, since some functions return one instead of zero to indicate success). As a special case, the LED functions now check for *FAILURE on *set, and check for TOS_FAILURE and TOS_SUCCESS on *get with their "default" return value set to LED_OFF. Also the {lcd, video}_proc* functions were adapted to reflect these changes to their parent HCI functions. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 0409cbced3c9ab975e300584b6cc036c26974b43 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Jul 31 21:58:13 2015 -0600 toshiba_acpi: Remove "*not supported" feature prints Currently the driver prints "*not supported" if any of the features queried are in fact not supported, let us print the available features instead. This patch removes all instances pr_info printing "*not supported", and add a new function called "print_supported_features", which will print the available laptop features. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit ea215a3f909c570521a9cc276163837ffa2c621a Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Jul 31 21:58:12 2015 -0600 toshiba_acpi: Change *available functions return type This patch changes the *available functions return type from int to void. The checks for support of their respective features are done inside such functions and there was no need to return anything as we can flag the queried feature as supported inside these functions. The code was adapted accordingly to these changes and two new variables were created and another was changed from uint to bool. Also, the function toshiba_acceleremoter_supported was renamed to toshiba_accelerometer_available to maintain the naming consistency on the driver. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 8ec41987436d566f7c4559c6871738b869f7ef07 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 4 17:49:36 2015 +0100 arm64: mm: ensure patched kernel text is fetched from PoU The arm64 booting document requires that the bootloader has cleaned the kernel image to the PoC. However, when a CPU re-enters the kernel due to either a CPU hotplug "on" event or resuming from a low-power state (e.g. cpuidle), the kernel text may in-fact be dirty at the PoU due to things like alternative patching or even module loading. Thanks to I-cache speculation with the MMU off, stale instructions could be fetched prior to enabling the MMU, potentially leading to crashes when executing regions of code that have been modified at runtime. This patch addresses the issue by ensuring that the local I-cache is invalidated immediately after a CPU has enabled its MMU but before jumping out of the identity mapping. Any stale instructions fetched from the PoC will then be discarded and refetched correctly from the PoU. Patching kernel text executed prior to the MMU being enabled is prohibited, so the early entry code will always be clean. Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e7482c74f214a2633af4e8486b0cbe1066355ba1 Merge: 75d84ee b76da4d Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 11:04:18 2015 +0200 Merge tag 'zynq-dt-for-4.3' of https://github.com/Xilinx/linux-xlnx into next/dt arm: Xilinx Zynq dt patches for v4.3 - Add ECC for Synopsys MC - Add OCM, pushbuttons to zc702 * tag 'zynq-dt-for-4.3' of https://github.com/Xilinx/linux-xlnx: ARM: zynq: DT: Add zc702 pushbuttons to DT as gpio-keys ARM: zynq: DT: Add missing interrupt for L2 pl310 Documentation: devicetree: Add ECC information to synopsys ddr controller ARM: dts: zynq: Add OCM node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a7f749f9c7e8222405740f6081bd183137d1d6f2 Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Mon Aug 3 21:55:32 2015 +0530 drm/i915/gen9: Removed byte swapping for csr firmware This patch contains the changes to remove the byte swapping logic introduced with old dmc firmware. While debugging PC10 entry issue for skylake found with latest dmc firmware version 1.18 without byte swapping dmc is working fine and able to enter PC10. Note that apparently this was changed with dmc version 1.0 and earlier ones indeed are byteswapped like this ... v1: Initial version. v2: Corrected firmware size during memcpy(). (Suggested by Sunil) Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Sunil Kamath <sunil.kamath@xxxxxxxxx> Signed-off-by: Animesh Manna <animesh.manna@xxxxxxxxx> Signed-off-by: Vathsala Nagaraju <vathsala.nagaraju@xxxxxxxxx> Reviewed-by: A.Sunil Kamath <sunil.kamath@xxxxxxxxx> [danvet: Add note that this only holds for released dmc firmware.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 88cd622f9299c4c9e61e978bb9ef9d7599769ed0 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 31 14:41:10 2015 -0700 x86/entry: Remove do_notify_resume(), syscall_trace_leave(), and their TIF masks They are no longer used. Good riddance! Deleting the TIF_ macros is really nice. It was never clear why there were so many variants. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/22c61682f446628573dde0f1d573ab821677e06da.1438378274.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5d73fc70996d9de0d1b2fc87e62dc51153204eba Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 31 14:41:09 2015 -0700 x86/entry/32: Migrate to C exit path This removes the hybrid asm-and-C implementation of exit work. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2baa438619ea6c027b40ec9fceacca52f09c74d09.1438378274.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5f69fde26d1581ee495f68bb9de4049c8168a04 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 31 14:41:08 2015 -0700 x86/entry/32: Remove 32-bit syscall audit optimizations The asm audit optimizations are ugly and obfuscate the code too much. Remove them. This will regress performance if syscall auditing is enabled on 32-bit kernels and SYSENTER is in use. If this becomes a problem, interested parties are encouraged to implement the equivalent of the 64-bit opportunistic SYSRET optimization. Alternatively, a case could be made that, on 32-bit kernels, a less messy asm audit optimization could be done. 32-bit kernels don't have the complicated partial register saving tricks that 64-bit kernels have, so the SYSENTER post-syscall path could just call the audit hooks directly. Any reimplementation of this ought to demonstrate that it only calls the audit hook once per syscall, though, which does not currently appear to be true. Someone would have to make the case that doing so would be better than implementing opportunistic SYSEXIT, though. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/212be39dd8c90b44c4b7bbc678128d6b88bdb9912.1438378274.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b69354dfe25bf0b103ef3ed6c881d34cc442265c Merge: c268a74 e4a9288 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:53:52 2015 +0200 Merge tag 'zynq-soc-for-4.3' of https://github.com/Xilinx/linux-xlnx into next/soc arm: Xilinx Zynq SoC patches for v4.2 - Fix earlyprintk, jump trampoline for SMP - Update git tree location - Setup PL310 aux (bit 22) * tag 'zynq-soc-for-4.3' of https://github.com/Xilinx/linux-xlnx: ARM: zynq: reserve space for jump target in secondary trampoline clk: zynq: remove redundant $(CONFIG_ARCH_ZYNQ) in Makefile MAINTAINERS: Update Zynq git tree location ARM: zynq: Set bit 22 in PL310 AuxCtrl register (6395/1) ARM: zynq: Fix earlyprintk in big endian mode Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 754d5c784fde1d8649e237b46e9ceb234fb17de0 Merge: 70d334c 9943230 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:47:18 2015 +0200 Merge tag 'qcom-arm64-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm into next/arm64 Qualcomm ARM64 Updates for v4.3 * Add BLSP and required pinctrl info for MSM8916 * Add SDHC aliases and nodes for MSM8916 * Add USB nodes for MSM8916 * Add APQ8016 SBC specific USB configuration * Add APQ8016 LED configuration * tag 'qcom-arm64-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm: arm64: dts: qcom: Add apq8016-sbc board LED's related device nodes arm64: dts: qcom: Fix apq8016-sbc board USB related pin definitions arm64: dts: qcom: apq8016-sbc: Don't hog client driver pins arm64: dts: qcom: Add msm8916 USB configuration nodes arm64: dts: qcom: Add msm8916 sdhci configuration nodes arm64: dts: qcom: Add msm8916 BLSP device nodes arm64: dts: qcom: Extend msm8916 pinctrl device coverage Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e06b2d86215a535d0f652c845c53b6825f58b9d8 Merge: d323c85 142f261 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:46:31 2015 +0200 Merge tag 'qcom-defconfig-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm into next/defconfig Qualcomm ARM Based defconfig Updates for v4.3 * Enable KS8851 for QCOM SoCs in qcom defconfig * tag 'qcom-defconfig-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm: ARM: qcom_defconfig: Enable options for KS8851 ethernet Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 75d84eede45b5482543a8ba8bfbf1f1c1883c370 Merge: 85a82c5 baff39e Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:45:45 2015 +0200 Merge tag 'qcom-dt-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm into next/dt Qualcomm ARM Based Device Tree Updates for v4.3 * Switch to use pinctrl compatible for GPIOs * Add RPM regulators for MSM8960 * Add SPI Ethernet support on MSM8960 CDP * Add SMEM support along with dependencies * Add PM8921 support for GPIO and MPP * Fix GSBI cell index * Switch to use real regulators on APQ8064 w/ SDCC * tag 'qcom-dt-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm: ARM: dts: qs600: Add real regulators to sdcc ARM: dts: ifc6410: add real regulators for sdcc nodes. ARM: dts: apq8064: remove temporary fixed regulator for mmc ARM: dts: apq8064: fix missing gsbi cell-index ARM: dts: apq8064: Add DT support for GSBI6 and for UART pin mux ARM: dts: apq8064: add pm8921 mpp support ARM: dts: apq8064: Add pm8921 mfd and its gpio node ARM: dts: msm8974: Add smem reservation and node ARM: dts: msm8974: Add tcsr mutex node ARM: dts: qcom: Add ks8851 node for wired ethernet ARM: dts: qcom: Add MSM8960 CDP RPM regulators ARM: dts: qcom: Add MSM8960 RPM and RPM regulator nodes ARM: dts: qcom: Replace gpio node with pinctrl node ARM: dts: qcom: Replace gpio node with pinctrl node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d323c85ce52b2ef9800ab1e4196fc4d784319de0 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Jul 30 19:18:19 2015 +0200 ARM: at91: at91_dt_defconfig: enable ISI and ov2640 support Add Atmel-isi and ov2640 driver in defconfig Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: make SOC_CAMERA_OV2640 selected as a module] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c268a743103aebba8d81d3365107f7170653099e Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Jul 30 19:12:12 2015 +0200 ARM: at91/soc: add basic support for new sama5d2 SoC Add Kconfig entries, header file changes and addition to the documentation. The early debug infrastructure is also added for easy development. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 85a82c55e28088c56ec47435d6e797a52c69e2c8 Merge: 46a51ab 22b5a0f Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:39:05 2015 +0200 Merge tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt First batch of DT changes for 4.3: - some fixes on sama5d4 ADC definition - adding Image Sensor Interface (aka ISI) on at91sam9m10g45ek board - update rst controller compatible string on sama5 machines - new sama5d2 DT definition and its reference board: the sama5d2 Xplained. Minimal configuration for now. * tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91/dt: add minimal sama5d2 Xplained board ARM: at91/dt: add basic dtsi for sama5d2 SoC ARM: at91/dt: sama5: update rstc to correct compatible string ARM: at91/dt: add isi & ov2640 dt nodes for at91sam9m10g45ek board ARM: at91/dt: sama5d4: move ADC pinctrl to board device trees ARM: at91/dt: sama5d4: fix external trigger property Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 141a7bab2904461d834df3e91a63e88ed2535215 Merge: 27e50c9 4055a72 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Aug 5 10:35:54 2015 +0200 Merge tag 'renesas-defconfig2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Second Round of Renesas ARM Based SoC Defconfig Updates for v4.3 * Enable fixed voltage regulator in shmobile_defconfig * tag 'renesas-defconfig2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Enable fixed voltage regulator in shmobile_defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 22ce5628a1df81b50fc86fb686f470f15c1c96ef Author: Thulasimani,Sivakumar <sivakumar.thulasimani@xxxxxxxxx> Date: Fri Jul 31 11:05:27 2015 +0530 drm/i915: read bpp from vbt only for older panels BPP bits defined in VBT should be used only on panels whose edid version is 1.3 or older. EDID version 1.4 introduced offsets where bpp is defined and read into display_info, hence bpp from VBT will be used only when bpc in display_info is zero. v2: use display_info.bpc for deciding when to use vbt_bpp (Jani) Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d37ae19a6c21bc358f69e1dca410743c98347fe2 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 30 18:20:29 2015 -0300 drm/i915/skl: send opregion_nofify_adapter(PCI_D1) instead of PCI_D3 I was told that the "repurposed D1 definition" is still valid for SKL. It is BDW that is special due to its hotplug bug, so let's special-case BDW instead of HSW. Cc: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dcddab3aa025b161239ec309f1d4f199d91aca11 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jul 30 18:20:27 2015 -0300 drm/i915: Extract a intel_power_well_disable() function Similar to the ->enable vfunc in patch "drm/i915: Extract a intel_power_well_enable() function". v2 (from Paulo): - Same s/i915_/intel_/ bikeshed as the previous patch. - Update the commit hash. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8ca932056c22dfce2fac00058203386b41f3af4 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jul 30 18:20:26 2015 -0300 drm/i915: Extract a intel_power_well_enable() function We need a bit book keeping around power wells' ops->enable(), namely a nice debug message and updating hw_enabled. Let's introduce a intel_power_well_enable() function to make sure all the callers do the same things. v2 (from Paulo): - s/i915_power_well_enable/intel_power_well_enable/ since everything else on this file uses intel_ instead of i915_. - Fix typo in commit message. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0667405b6061be2949d841f05647e550d48c2765 Author: Marc Herbert <marc.herbert@xxxxxxxxx> Date: Wed Jul 29 12:21:22 2015 -0700 drm/i915/skl: revert duplicated WaBarrierPerformanceFixDisable:skl With this simple git diff command one can see that skl_init_workarounds() got two copies of WaBarrierPerformanceFixDisable:skl: git diff -U21 ca6e4405779e^1 ca6e4405779e drivers/gpu/drm/i915/intel_ringbuffer.c This happened when the backmerge of drm-intel-fixes-2015-07-15 Merged the same fix on both sides. Same fix but not identical enough for git: with a different surrounding context; hence the code duplication. This commit merely reverts the output of the git command above = the duplication introduced in the backmerge. (This duplication was found while running git sanity checks on a _linearized_ i915 forklift for ChromeOS.) Signed-off-by: Marc Herbert <marc.herbert@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30886c5afbb446ec1e3616beb2858fba74a23d14 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 30 17:07:55 2015 -0700 drm/i915: VLV/CHV PSR: Increase wait delay time before active PSR. Since active function on VLV immediately activate PSR let's give more time for idleness. Different from core platforms where we have idle_frames count. Also kms_psr_sink_crc now is automated and always get this: [drm:intel_enable_pipe] enabling pipe A [drm:intel_edp_backlight_on] [drm:intel_panel_enable_backlight] pipe [drm:intel_panel_enable_backlight] pipe A [drm:intel_panel_actually_set_backlight] set backlight PWM = 7812 PSR gets enabled somewhere here after backlight. [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x0 [drm:vlv_pipe_set_fifo_size] Pipe A FIFO split 511 / 511 / 511 [drm:vlv_update_wm] Setting FIFO watermarks - A: plane=391, cursor=63, sp PSR gets flushed around here by intel_atomic_commit [drm:vlv_pipe_set_fifo_size] Pipe A FIFO split 511 / 511 / 511 [drm:vlv_update_wm] Setting FIFO watermarks - A: plane=391, cursor=63, sp [drm:intel_set_memory_cxsr] memory self-refresh is enabled [drm:intel_connector_check_state] [CONNECTOR:39:eDP-1] [drm:check_encoder_state] [ENCODER:30:DAC-30] [drm:check_encoder_state] [ENCODER:31:TMDS-31] [drm:check_encoder_state] [ENCODER:36:TMDS-36] [drm:check_encoder_state] [ENCODER:38:TMDS-38] [drm:check_crtc_state] [CRTC:21] [drm:check_crtc_state] [CRTC:26] [drm:intel_psr_activate [i915]] *ERROR* PSR Active [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x [drm:intel_set_cpu_fifo_underrun_reporting [i915]] *ERROR* pipe A underrun [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO Underrun. It is true that in a product we won't keep disabling and enabling planes so frequently, but for safeness let's stay conservative. It is also true that 500ms is an etternity. But PSR is anyway a power saving feature for idle scenario. So if it is idle feature stays on and 500ms to get it reanabled is not that insane. v2: Rebase over intel_psr.c and fix typo. v3: Revival: Manual tests indicated that this is needed. With a short delay there is a huge risk of getting blank screens when planes are being enabled. v4: Revival 2 with reasonable delay. 1/2 sec instead of 5. VBT is 10 sec but actually time for link training what we aren't doing, but with only 100 sec in some cases kms_psr_sink_crc manual was showing blank screen, so let's use this for now. Also changed comment by a FIXME. v5: Rebase after a long time, remove FIXME and update comment above. v6: msecs_to_jiffies is already on delay. remove duplication. v7: use msecs_to_jiffies on schedule_delayed_work call. Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> (v4) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Tested-By: Intel Graphics QA PRTS (Patch Regression Test System Contact: shuang.he@xxxxxxxxx) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 082dcc7c0c666df9a37879d79a15a8115f05a08f Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 30 16:26:39 2015 -0700 drm/i915: Split sink_crc function in start, stop and read. This is just a preparation patch to make clear what operation we are performing. There is no functional change on the sink crc logic. hsw_disable_ips has been moved a bit further in the start function to avoid disabling ips when sink crc is not going to be started. and to avoid goto on this function. v2: explain why hsw_disable_ips() call place has changed. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74b4ea1e4e8a5134b8a201e7fd6a3b529f7d0035 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 14 16:29:14 2015 -0300 drm/i915: special-case dirtyfb for frontbuffer tracking First, an introduction. We currently have two types of GTT mmaps: the "normal" old mmap, and the WC mmap. For frontbuffer-related features that have automatic hardware tracking, only the non-WC mmap writes are detected by the hardware. Since inside the Kernel both are treated as ORIGIN_GTT, any features ignoring ORIGIN_GTT because of the hardware tracking are destined to fail. One of the special rules defined for the WC mmaps is that the user should call the dirtyfb IOCTL after he is done using the pointers, so that results in an intel_fb_obj_flush() call. The problem is that the dirtyfb is passing ORIGIN_GTT, so it is being ignored by FBC - even though the hardware tracking is not detecing the WC mmap operations. So in order to fix that without having to give up the automatic hardware tracking for GTT mmaps we transform the flush operation from dirtyfb into a special operation: ORIGIN_DIRTYFB. This commit fixes all the kms_frontbuffer_tracking subtests that contain "fbc" and "mmap-wc" in their names and are currently failing (for a total of 16 subtests). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4e1e26f1b09398fad93ba24be816368714bede7c Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 14 16:29:13 2015 -0300 drm/i915: don't disable FBC for pipe A when flipping pipe B Use the appropriate call. I know there's a discussion about whether we need this call here at all, but removing the call means we'll only update FBC after we get the page flip IRQ. So the user may only see the new frame a little after it should. Let's wait just a little bit more before removing this call since we can rely in the HW tracking for accurate flips. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 698e84ed89ffa09c6f00148c72b058302c311b5d Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 14 16:29:11 2015 -0300 drm/i915: don't call intel_fbc_update() at intel_unpin_work_fn() Because intel_unpin_work_fn() already calls intel_frontbuffer_flip_complete() which will call intel_fbc_flush() which will call intel_fbc_update() when needed. We couldn't fix this previously due to the fact that FBC was not properly behaving as intended on frontbuffer flushes, but now that this is fixed, we can remove the additional call. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6f4551fe8e7f3561b97b7f74d8f4af08db01de6f Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 14 16:29:10 2015 -0300 drm/i915: fix FBC frontbuffer tracking flushing code Due to the way busy_bits was handled, we were not doing any flushes if we didn't previously get an invalidate. Since it's possible to get flushes without an invalidate first, remove the busy_bits early return. So now that we don't have the busy_bits guard anymore we'll need the origin check for the GTT tracking (we were not doing anything on GTT flushes due to the GTT check at invalidate()). As a last detail, since we can get multiple consecutive flushes, disable FBC before updating it, otherwise intel_fbc_update() will just keep FBC enabled instead of restarting it. Notice that this does not fix any of the current IGT tests due to the fact that we still have a few intel_fbc() calls at points where we also have the frontbuffer tracking calls: we didn't fully convert to frontbuffer tracking yet. Once we remove those calls and start relying only on the frontbuffer tracking infrastructure we'll need this patch. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 20f9ed1568c00bbd9e6af31341d25e06bc3d4a16 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Aug 4 02:47:48 2015 +0800 locking/static_keys: Make verify_keys() static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Jason Baron <jbaron@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150803184748.GA80634@lkp-ib04 Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit accd0b9ec015d611eb7783dd86f1bb31bf8d62ab Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Aug 4 16:15:16 2015 +0200 jiffies: Force inlining of {m,u}msecs_to_jiffies() With this config: http://busybox.net/~vda/kernel_config_OPTIMIZE_INLINING_and_Os gcc-4.7.2 generates many copies of these tiny functions: msecs_to_jiffies (45 copies): 55 push %rbp 48 89 e5 mov %rsp,%rbp e8 59 ec 03 00 callq __msecs_to_jiffies 5d pop %rbp c3 retq usecs_to_jiffies (10 copies): 55 push %rbp 48 89 e5 mov %rsp,%rbp e8 5d 54 5e ff callq __usecs_to_jiffies 5d pop %rbp c3 retq See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66122 This patch fixes this via s/inline/__always_inline/ text data bss dec filename 86970954 17195912 36659200 140826066 vmlinux.before 86966150 17195912 36659200 140821262 vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438697716-28121-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d14edb1648221e59fc9fd47127fcc57bf26d759f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Aug 4 16:15:15 2015 +0200 x86/hweight: Force inlining of __arch_hweight{32,64}() With this config: http://busybox.net/~vda/kernel_config_OPTIMIZE_INLINING_and_Os gcc-4.7.2 generates many copies of these tiny functions: __arch_hweight32 (35 copies): 55 push %rbp e8 66 9b 4a 00 callq __sw_hweight32 48 89 e5 mov %rsp,%rbp 5d pop %rbp c3 retq __arch_hweight64 (8 copies): 55 push %rbp e8 5e c2 8a 00 callq __sw_hweight64 48 89 e5 mov %rsp,%rbp 5d pop %rbp c3 retq See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66122 This patch fixes this via s/inline/__always_inline/ To avoid touching 32-bit case where such change was not tested to be a win, reformat __arch_hweight64() to have completely disjoint 64-bit and 32-bit implementations. IOW: made #ifdef / 32 bits and 64 bits instead of having #ifdef / #else / #endif inside a single function body. Only 64-bit __arch_hweight64() is __always_inline'd. text data bss dec filename 86971120 17195912 36659200 140826232 vmlinux.before 86970954 17195912 36659200 140826066 vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438697716-28121-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a1d48a4a8fde49aedc045d894efe67173d59fe0 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Aug 4 16:15:14 2015 +0200 linux/bitmap: Force inlining of bitmap weight functions With this config: http://busybox.net/~vda/kernel_config_OPTIMIZE_INLINING_and_Os gcc-4.7.2 generates many copies of these tiny functions: bitmap_weight (55 copies): 55 push %rbp 48 89 e5 mov %rsp,%rbp e8 3f 3a 8b 00 callq __bitmap_weight 5d pop %rbp c3 retq hweight_long (23 copies): 55 push %rbp e8 b5 65 8e 00 callq __sw_hweight64 48 89 e5 mov %rsp,%rbp 5d pop %rbp c3 retq See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66122 This patch fixes this via s/inline/__always_inline/ While at it, replaced two "__inline__" with usual "inline" (the rest of the source file uses the latter). text data bss dec filename 86971357 17195880 36659200 140826437 vmlinux.before 86971120 17195912 36659200 140826232 vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438697716-28121-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e94c6a7a6df189289f0e84c15916571f44cf1ec6 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 21:23:14 2015 +0800 crypto: authenc - Add Kconfig dependency on CRYPTO_NULL CRYPTO_AUTHENC needs to depend on CRYPTO_NULL as authenc uses null for copying. Reported-by: Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9dc20a649609c95ce7c5ac4282656ba627b67d49 Merge: d1b22e4 a6cd379 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 4 23:57:45 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for net-next, they are: 1) A couple of cleanups for the netfilter core hook from Eric Biederman. 2) Net namespace hook registration, also from Eric. This adds a dependency with the rtnl_lock. This should be fine by now but we have to keep an eye on this because if we ever get the per-subsys nfnl_lock before rtnl we have may problems in the future. But we have room to remove this in the future by propagating the complexity to the clients, by registering hooks for the init netns functions. 3) Update nf_tables to use the new net namespace hook infrastructure, also from Eric. 4) Three patches to refine and to address problems from the new net namespace hook infrastructure. 5) Switch to alternate jumpstack in xtables iff the packet is reentering. This only applies to a very special case, the TEE target, but Eric Dumazet reports that this is slowing down things for everyone else. So let's only switch to the alternate jumpstack if the tee target is in used through a static key. This batch also comes with offline precalculation of the jumpstack based on the callchain depth. From Florian Westphal. 6) Minimal SCTP multihoming support for our conntrack helper, from Michal Kubecek. 7) Reduce nf_bridge_info per skbuff scratchpad area to 32 bytes, from Florian Westphal. 8) Fix several checkpatch errors in bridge netfilter, from Bernhard Thaler. 9) Get rid of useless debug message in ip6t_REJECT, from Subash Abhinov. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 703867e2f252bbd218668df4131ee1e60ba29ed3 Author: Woodrow Shen <woodrow.shen@xxxxxxxxxxxxx> Date: Wed Aug 5 12:34:12 2015 +0800 ALSA: hda - Fix Dell laptop for internal mic/headset mic The new Dell laptop with ALC3266 can't use internal microphone to record. Also, the 3 ring headset mic doesn't work on it. For src of patch_realtek.c, only the pin cfg of Nid 0x17 is different, so the Nid 0x17 is added into pin quirk, and others are defined to macro ALC298_STANDARD_PINS in common use. Codec: Realtek ALC3266 Vendor Id: 0x10ec0298 Subsystem Id: 0x102806e5 BugLink: https://bugs.launchpad.net/bugs/1481575 Signed-off-by: Woodrow Shen <woodrow.shen@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ed9c87b33147e5b007e66a282b9c8c307fbf8bf9 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Wed Aug 5 13:23:27 2015 +0800 dmaengine: zxdma: Fix force stop bug DMA will not stop when clearing enable bit till all transaction is done. The bug is exposed in audio playback because ring DMA chain never stop. Force hardware to stop with setting FORCE bit. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2092539b7735906deda8b1fca4b31b4c4eb65e0d Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Wed Aug 5 13:23:26 2015 +0800 dmaengine: zxdma: Fix data width bug Align src and dst width to fix data alignment issue as trailing single transaction that does not fill a full burst require identical src/dst data width. Burst length limitation can be addressed well too. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 379e4f756b915bcc35958365e5d1326b3b54efce Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Aug 1 16:08:21 2015 -0700 Drivers: hv: vmbus: Consider ND NIC in binding channels to CPUs We cycle through all the "high performance" channels to distribute load across the available CPUs. Process the NetworkDirect as a high performance device. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc2dd4027a43bb36c846f195a764edabc0828602 Author: Denis V. Lunev <den@xxxxxxxxxx> Date: Sat Aug 1 16:08:20 2015 -0700 mshyperv: fix recognition of Hyper-V guest crash MSR's Hypervisor Top Level Functional Specification v3.1/4.0 notes that cpuid (0x40000003) EDX's 10th bit should be used to check that Hyper-V guest crash MSR's functionality available. This patch should fix this recognition. Currently the code checks EAX register instead of EDX. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a54243fc08f0edda1303bb666f0da68c378c036 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:19 2015 -0700 Drivers: hv: vmbus: don't send CHANNELMSG_UNLOAD on pre-Win2012R2 hosts Pre-Win2012R2 hosts don't properly handle CHANNELMSG_UNLOAD and wait_for_completion() hangs. Avoid sending such request on old hosts. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e26009aad095feae45a6e79bb022c55a969ecded Author: Nik Nyby <nikolas@xxxxxxx> Date: Sat Aug 1 16:08:18 2015 -0700 Drivers: hv: vmbus: fix typo in hv_port_info struct This fixes a typo: base_flag_bumber to base_flag_number Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dd6a06430c94299651d74b9ed5ca8396ab8ff1f Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 1 16:08:17 2015 -0700 hv: util: checking the wrong variable We don't catch this allocation failure because there is a typo and we check the wrong variable. Fixes: 14b50f80c32d ('Drivers: hv: util: introduce hv_utils_transport abstraction') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b81658cf5d44e07c70c93e3b2aefe848eaaba99f Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Sat Aug 1 16:08:14 2015 -0700 Drivers: hv: vmbus: Permit sending of packets without payload The guest may have to send a completion packet back to the host. To support this usage, permit sending a packet without a payload - we would be only sending the descriptor in this case. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6ddeae1603dfa55e857ba1520f5acea83f8cf1c Author: Alex Ng <alexng@xxxxxxxxxxxxx> Date: Sat Aug 1 16:08:13 2015 -0700 Drivers: hv: balloon: Enable dynamic memory protocol negotiation with Windows 10 hosts Support Win10 protocol for Dynamic Memory. Thia patch allows guests on Win10 hosts to hot-add memory even when dynamic memory is not enabled on the guest. Signed-off-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25ef06fe27a292ad33155045ef7a123be4c0b6ab Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:12 2015 -0700 Drivers: hv: fcopy: dynamically allocate smsg_out in fcopy_send_data() struct hv_start_fcopy is too big to be on stack on i386, the following warning is reported: >> drivers/hv/hv_fcopy.c:159:1: warning: the frame size of 1088 bytes is larger than 1024 bytes [-Wframe-larger-than=] Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b36fda339729a974a8838978dcdc581d8ce68fd9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:11 2015 -0700 Drivers: hv: kvp: check kzalloc return value kzalloc() return value check was accidentally lost in 11bc3a5fa91f: "Drivers: hv: kvp: convert to hv_utils_transport" commit. We don't need to reset kvp_transaction.state here as we have the kvp_timeout_func() timeout function and in case we're in OOM situation it is preferable to wait. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 510f7aef65bb7ed22cf9c7f94f955727f963ede4 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:10 2015 -0700 Drivers: hv: vmbus: prefer 'die' notification chain to 'panic' current_pt_regs() sometimes returns regs of the userspace process and in case of a kernel crash this is not what we need to report. E.g. when we trigger crash with sysrq we see the following: ... RIP: 0010:[<ffffffff815b8696>] [<ffffffff815b8696>] sysrq_handle_crash+0x16/0x20 RSP: 0018:ffff8800db0a7d88 EFLAGS: 00010246 RAX: 000000000000000f RBX: ffffffff820a0660 RCX: 0000000000000000 ... at the same time current_pt_regs() give us: ip=7f899ea7e9e0, ax=ffffffffffffffda, bx=26c81a0, cx=7f899ea7e9e0, ... These registers come from the userspace process triggered the crash. As we don't even know which process it was this information is rather useless. When kernel crash happens through 'die' proper regs are being passed to all receivers on the die_chain (and panic_notifier_list is being notified with the string passed to panic() only). If panic() is called manually (e.g. on BUG()) we won't get 'die' notification so keep the 'panic' notification reporter as well but guard against double reporting. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4370df2b1f5158de028e167974263c5757b34a6 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:09 2015 -0700 Drivers: hv: vmbus: add special crash handler Full kernel hang is observed when kdump kernel starts after a crash. This hang happens in vmbus_negotiate_version() function on wait_for_completion() as Hyper-V host (Win2012R2 in my testing) never responds to CHANNELMSG_INITIATE_CONTACT as it thinks the connection is already established. We need to perform some mandatory minimalistic cleanup before we start new kernel. Reported-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7646eaa7678fe5adc42247b4bdfbe9d9db8c253 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:08 2015 -0700 Drivers: hv: don't do hypercalls when hypercall_page is NULL At the very late stage of kexec a driver (which are not being unloaded) can try to post a message or signal an event. This will crash the kernel as we already did hv_cleanup() and the hypercall page is NULL. Move all common (between 32 and 64 bit code) declarations to the beginning of the do_hypercall() function. Unfortunately we have to write the !hypercall_page check twice to not mix declarations and code. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2517281d63a2b09d94aedfb522943617048f337e Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:07 2015 -0700 Drivers: hv: vmbus: add special kexec handler When general-purpose kexec (not kdump) is being performed in Hyper-V guest the newly booted kernel fails with an MCE error coming from the host. It is the same error which was fixed in the "Drivers: hv: vmbus: Implement the protocol for tearing down vmbus state" commit - monitor pages remain special and when they're being written to (as the new kernel doesn't know these pages are special) bad things happen. We need to perform some minimalistic cleanup before booting a new kernel on kexec. To do so we need to register a special machine_ops.shutdown handler to be executed before the native_machine_shutdown(). Registering a shutdown notification handler via the register_reboot_notifier() call is not sufficient as it happens to early for our purposes. machine_ops is not being exported to modules (and I don't think we want to export it) so let's do this in mshyperv.c The minimalistic cleanup consists of cleaning up clockevents, synic MSRs, guest os id MSR, and hypercall MSR. Kdump doesn't require all this stuff as it lives in a separate memory space. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b94ed245861a7d378dcde6eef7fa7717e06e349 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:06 2015 -0700 kexec: define kexec_in_progress in !CONFIG_KEXEC case If some piece of code wants to check kexec_in_progress it has to be put in #ifdef CONFIG_KEXEC block to not break the build in !CONFIG_KEXEC case. Overcome this limitation by defining kexec_in_progress to false. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06210b42f33ea1c29a90f4db2d88be91c511154b Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Sat Aug 1 16:08:05 2015 -0700 Drivers: hv: vmbus: remove hv_synic_free_cpu() call from hv_synic_cleanup() We already have hv_synic_free() which frees all per-cpu pages for all CPUs, let's remove the hv_synic_free_cpu() call from hv_synic_cleanup() so it will be possible to do separate cleanup (writing to MSRs) and final freeing. This is going to be used to assist kexec. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77a68e56aae141d3e9c740a0ac43362af75d4890 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 10:41:32 2015 +0200 dmaengine: Add an enum for the dmaengine alignment constraints Most drivers need to set constraints on the buffer alignment for async tx operations. However, even though it is documented, some drivers either use a defined constant that is not matching what the alignment variable expects (like DMA_BUSWIDTH_* constants) or fill the alignment in bytes instead of power of two. Add a new enum for these alignments that matches what the framework expects, and convert the drivers to it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 28eb232f217583e7bece8e9d6b26cf55a694ceae Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 10 22:13:19 2015 +0800 dmaengine: ti-dma-crossbar: Fix checking return value of devm_ioremap_resource devm_ioremap_resource returns ERR_PTR on failure. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 68be64ca7e2adc4f16077c3b0feb8719f89119bd Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 14:44:24 2015 +0200 sc16is7xx: constify devtype devtype structures are all declared as const. Compiler does not complain because we cast their pointers to save them in .driver_data. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c64349722d141712d8500b5ad377d3117be46ba8 Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 14:44:23 2015 +0200 sc16is7xx: support multiple devices We currently register the uart driver during device probe which makes it hard to support more than one chip. Move the driver registration to module init/exit time and preallocate space for up to 8 lines (4-8 chips). Reported-by: Michael Allwright <michael.allwright@xxxxxx> Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e92a886bf7841cd163860165db680cfbca5c7f0d Author: Jakub Kicinski <kubakici@xxxxx> Date: Fri Jul 31 14:44:22 2015 +0200 sc16is7xx: save and use per-chip line number In preparation of supporting multiple devices we should save the per-chip line number (0 or 1), because the uart_port line will reflect system-wide uart number and will be offseted for chips other than the first to register. Signed-off-by: Jakub Kicinski <kubakici@xxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cd90e50d1408c65c355084b1c7f8f9085f49c6b Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Fri Jul 31 15:49:19 2015 +0800 uart: pl011: Add support to ZTE ZX296702 uart Support ZTE uart with some registers differing offset. Probe as platform device for not AMBA IP ID is available on ZTE uart. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09dcc7dfc05b31bf0bbcd1511cd1a2644908d5c8 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Fri Jul 31 15:49:18 2015 +0800 uart: pl011: Improve LCRH register access decision Improve LCRH register access decision as ARM PL011 lcrh register serve as both TX and RX, while other SOC may implement TX and RX function with separated register. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c096a9eedc6841d3610545f4e6c3d72bd0962be Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Fri Jul 31 15:49:17 2015 +0800 uart: pl011: Introduce register look up table Introduce register look up table as different SOC venders may have different register offset for the some register. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b753f318d1456c8e7740f3bd96d1dbb362d5449 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Fri Jul 31 15:49:16 2015 +0800 uart: pl011: Introduce register accessor Introduce register accessor to ease loop up table access in later patch. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 534e14e2293d8cd714b94513686228453b21fae2 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Fri Jul 31 15:49:15 2015 +0800 uart: pl011: Rename regs with enumeration Rename regs with enumeration to generalize register names. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89c043a6cb2d4525d48a38ed78d5f0f5672338b3 Author: Adam Lee <adam.lee@xxxxxxxxxxxxx> Date: Mon Aug 3 13:28:13 2015 +0800 serial: 8250_pci: Add support for Pericom PI7C9X795[1248] Pericom PI7C9X795[1248] are Uno/Dual/Quad/Octal UART devices, this patch enables them, also defines PCI_VENDOR_ID_PERICOM here. Signed-off-by: Adam Lee <adam.lee@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 736cd79f483fd7a1e0b71e6eaddf01d8d87fbbbb Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 10:58:28 2015 +0200 serial: samsung: fix DMA for FIFO smaller than cache line size So far DMA mode were activated when only number of bytes to send was equal or greater than min_dma_size. Due to requirement that DMA transaction buffer should be aligned to cache line size, the excessive bytes were written to FIFO before starting DMA transaction. The problem occurred when FIFO size were smaller than cache alignment, because writing all excessive bytes to FIFO would fail. It happened in DMA mode when PIO interrupts disabled, which caused driver hung. The solution is to test if buffer is alligned to cache line size before activating DMA mode, and if it's not, running PIO mode to align buffer and then starting DMA transaction. In PIO mode, when interrupts are enabled, lack of space in FIFO isn't the problem, so buffer aligning will always finish with success. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Reported-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81ccb2a69f76b88295a1da9fc9484df715fe3bfa Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Jul 31 10:58:27 2015 +0200 serial: samsung: fix DMA mode enter condition for small FIFO sizes Due to some of serial ports can have FIFO size smaller than cache line size, and because of need to align DMA buffer address to cache line size, it's necessary to calculate minimum number of bytes for which we want to start DMA transaction to be at least cache line size. The simplest way to meet this requirement is to get maximum of cache line size and FIFO size. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Reported-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e31364fc3272073ec8c5fac18a3e01d4f013418 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 16:59:52 2015 -0400 serial: core: Remove tty port activate() and shutdown() methods serial core does not use tty_port_open() or tty_port_close(); serial core defines and extends it's own tty open() and close() methods (uart_open() and uart_close(), respectively). Remove the tty_port activate() and shutdown() initializations, and the uart_port_activate() function, which is never called. NB: uart_port_shutdown() is used by uart_close() => uart_shutdown() call chain (but not via the tty_port methods). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fb98fb3031359af42a6ee6984b477cbcfdca7bd Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 16:59:51 2015 -0400 serial: core: Use proper spinlock flavor in uart_close() uart_close() runs in non-atomic context only; use spin_lock/unlock_irq instead of saving the interrupt state (which == on). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a0e5ef6cfa24351791fbd4339f562211b83afae Author: Sekhar Nori <nsekhar@xxxxxx> Date: Thu Jul 30 18:27:47 2015 +0530 ARM: dts: dra7: workaround UART module disable errata Add "ti,dra742-uart" to the compatible list so the driver workaround for UART module disable errata is enabled. This does not break backward compatibility as existing DTBs should continue to work with newer kernels albeit without the capability to idle the UART module when DMA is used. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a649943522de07e67a5981b1ff227684b94bada4 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 30 16:33:38 2015 +0200 tty/serial: at91: fix I/O accesses on RHR and THR for AVR32 This patch fixes I/O accesses on the Receiver Holding Register and on the Transmitter Holding Register. Indeed AVR32 can only perform 32bit I/O accesses on registers: using 8bit I/O accesses would read or write garbage data. Fixes: commit b5199d468177 ("tty/serial: at91: add support to FIFOs") Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Tested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b737eeb09e3068b092e116f855aa1973fa24c88c Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:52 2015 +0200 serial: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a6c301a2db2f9af0478a83c15d8ec5cdac65eb9 Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Wed Jul 29 18:23:32 2015 +0800 serial: 8250: Auto CTS control by HW if AFE enabled According to DesignWare 8250 spec, if auto flow control mode is enabled, a change in CTS does not cause an interrupt, so sw-assisted CTS flow control mode will not work properly. There reported an GPS firmware download failure issue, and we verified the root cause is, the default sw-assisted CTS flow control mode can not work properly since no interrupt when got CTS signal. This patch is to enable auto CTS mode by defaut if CRTSCTS is enable for DesignWare 8250 controller. Signed-off-by: Huiquan Zhong <huiquan.zhong@xxxxxxxxx> Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d07ada047a4e1f5ff98757ce34c0fdd13d8ec93 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Jul 27 18:09:33 2015 +0200 serial: mpc52xx: let tx_empty callback return either 0 or TIOCSER_TEMT Documenation/serial/driver requests that the tx_empty callback should return 0 if there are still chars in the fifo or shifter or TIOCSER_TEMT (0x01) if no character is pending to be sent. Fix the mpc52xx serial driver to not return MPC52xx_PSC_SR_TXEMP (i.e. 0x0800) but TIOCSER_TEMT as documented. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b9c5162c1829686baea1962177842c3fa1ea81c Author: Niklas Cassel <nks@xxxxxxxxxxx> Date: Sat Jul 25 02:02:46 2015 +0200 serial: etraxfs-uart: use mctrl_gpio helpers for handling modem signals In order to use the mctrl_gpio helpers, we change the DT bindings: ri-gpios renamed to rng-gpios. cd-gpios renamed to dcd-gpios. However, no in-tree dts/dtsi specifies these, so no worries. Signed-off-by: Niklas Cassel <nks@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9625734ff75af35d9878c693e3f92237aa3c1ae6 Author: Niklas Cassel <nks@xxxxxxxxxxx> Date: Sat Jul 25 02:00:40 2015 +0200 serial: etraxfs-uart: remove empty functions Implementing enable_ms is optional by serial_core. check_modem_status is just an empty local function. Signed-off-by: Niklas Cassel <nks@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eead035a35b59df9f956139cb2c73141751a246e Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Aug 4 14:30:11 2015 +0300 mei: remove check on pm_runtime_active in __mei_cl_disconnect Remove bogus check on pm_runtime_active that prevented disconnection from a client in case the device was resuming from power gating but not yet active. Fix regression introduced by 18901357e70ae29e3fd1c58712a6847c2ae52eae mei: disconnect on connection request timeout Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9f85a90d41476aca2d3b60f98ab87d7ae1b8612 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Tue Aug 4 11:36:17 2015 -0500 power: bq24190_charger: Fix charge type sysfs property Access to the BQ24190's configurable charge type property (none, trickle, fast) is being masked by an incorrect power_supply_property entry. After applying this patch a new 'charge_type' property will appear in the bq24190-charger sysfs folder backed up by getters/setters already present in the driver. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Acked-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1e8b82c1ff3bc52c5e4265d66fe5c6da9a66e2e6 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:50 2015 +0200 power: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 63369b2b99d718ca2777bf8d71360de75888f05b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:33 2015 +0200 power: Export I2C module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2f2560e348a875104a0d5394c938da2a41e47228 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Tue Jul 21 11:01:06 2015 +0800 dmaengine: zxdma: Support cyclic dma Support cyclic dma for audio playback Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 21ae40404f3ca66fb37dd26e7b67eb109f2453ab Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: Increase current carefully while watching voltage. The USB Battery Charging spec (BC1.2) suggests a dedicated charging port can deliver from 0.5 to 5.0A at between 4.75 and 5.25 volts. To choose the "correct" current voltage setting requires a trial and error approach: try to draw current and see if the voltage drops too low. Even with a configured Standard Downstream Port, it may not be possible to reliably pull 500mA - depending on cable quality and source quality I have reports of charging failure due to the voltage dropping too low. To address both these concerns, this patch introduce incremental current setting. The current pull from VBUS is increased in steps of 20mA every 100ms until the target is reached or until the measure voltage drops below 4.75V. If the voltage does go too low, the target current is reduced by 20mA and kept there. This applies to currents selected automatically, or to values set via sysfs. So setting a large value will cause the maximum available to be used - up to the limit of 1.7A imposed by the hardware. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b04b908d8a2901c2cc59db87defd9c08bd4293cc Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: add ac/mode to match usb/mode This allows AC charging to be turned off, much like usb charging. "continuous" mode is not available though. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7f4a633d21331155ee06c5ee44749ed35a3a3cc5 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: add software controlled linear charging mode. Add a 'continuous' option for usb charging which enables the "linear" charging mode of the twl4030. Linear charging does a good job with not-so-reliable power sources. Auto mode does not work well as it switches off when voltage drops momentarily. Care must be taken not to over-charge. It was used with a bike hub dynamo since a year or so. In that case there are automatically charging stops when the cyclist needs a break. Original-by: Andreas Kemnade <andreas@xxxxxxxxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 22d4c33f7335ddf6deda26630c78650e133bfe72 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: enable manual enable/disable of usb charging. 'off' or 'auto' to /sys/class/power/twl4030_usb/mode will now enable or disable charging from USB port. Normally this is enabled on 'plug' and disabled on 'unplug'. Unplug will still disable charging. 'plug' will only enable it if 'auto' if selected. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit aca3c3546396b305fff79f09883cff48a908aac0 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: allow max_current to be managed via sysfs. 'max_current' sysfs attributes are created which allow the max to be set. Whenever a current source changes, the default is restored. This will be followed by a uevent, so user-space can decide to update again. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e4ae537e0482e99eeaa5373d39932fe65a477c21 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: distinguish between USB current and 'AC' current The twl4030 charger has two current sources, 'USB' and 'AC' (presumably "Accessory Charger" because it isn't Alternating Current). If 'AC' is providing current, we should set the current limit differently to when it isn't (and so USB is used). So split 'cur' into 'usb_cur' and 'ac_cur' and use accordingly. Now we must review the current setting on any interrupt or USB event which might indicate that the charger-source has changed. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 056f6c87028544de934f27caf95aa1545d585767 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Jul 10 12:07:25 2015 +0200 dmaengine: shdma: Make dummy shdma_chan_filter() always return false If CONFIG_SH_DMAE_BASE (which is required for DMA engine support for legacy SH, SH/R-Mobile, and R-Car Gen1, but not for R-Car Gen2) is not enabled, but CONFIG_RCAR_DMAC (for R-Car Gen2 DMA engine support) is, and the DTS doesn't provide a "dmas" property for a device, dma_request_slave_channel_compat() incorrectly succeeds, and returns a DMA channel. However, when trying to use that DMA channel later, it fails with: rcar-dmac e6700000.dma-controller: rcar_dmac_prep_slave_sg: bad parameter: len=1, id=-22 (Fortunately most drivers can handle this failure, and fall back to PIO) The reason for this is that a NULL legacy filter function is used, which actually means "all channels are OK", not "do not match". If CONFIG_SH_DMAE_BASE is enabled (like in shmobile_defconfig, which supports other SoCs besides R-Car Gen2), shdma_chan_filter() correctly returns false, as no available channel on R-Car Gen2 matches a shdma-base channel. If the DTS does provide a "dmas" property, dma_request_slave_channel() succeeds, and legacy filter-based matching is not used. To fix this, change shdma_chan_filter from being NULL to a dummy function that always returns false, like is done on other platforms. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8391ecf465ec5c8ccef547267df6d40beb8999a4 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Fri Jul 10 17:08:16 2015 +0800 dmaengine: imx-sdma: Add device to device support This patch adds DEV_TO_DEV support for i.MX SDMA driver to support data transfer between two peripheral FIFOs. The per_2_per script requires two peripheral addresses and two DMA requests, and it need to check the src addr and dst addr is in the SPBA bus space or in the AIPS bus space. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1098cb58aed8eb4e06302d947a38bbfb69c8b4ba Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: allow fine control of charger current. The twl4030 allows control of the incoming current. Part of this control is a 'CGAIN' setting which doubles the range for half the precision. This control affects several different current setting, so all need to be updated at once when CGAIN is changed. With this patch, all of these current setting are managed by the driver, but most are left at their default settings. The current drawn is set to 500mA if the allow_usb module parameter is set, and to 100mA otherwise. More fine control will appear in later patches. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3b542f089dcbdcf1c21a01927fbc6d5116af01f6 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: split uA calculation into a function. We will need this calculation in other places, so create functions to map between register value and uA value. Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6e37ec8c77e3e6580cbb844dfeea0fb3970c0a35 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: trust phy to determine when USB power is available. The usb phy driver already determines when VBUS is available, so repeating the test in the charger driver is pointless duplication. On probe, process the last event from the phy, and from then on, do whatever the phy tells us without double-checking. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3fc3895e4fe17ee92ae1d1bb9f04da6069e8c370 Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: correctly handle -EPROBE_DEFER from devm_usb_get_phy_by_node Now that twl4030_bci_probe can safely return -EPROBE_DEFER, do so when devm_usb_get_phy_by_node returns that error. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7396f708b9f1d8874dda9c6386c37b065d99b68f Author: Pavel Machek <pavel@xxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: convert to module_platform_driver instead of ..._probe. Drivers using module_platform_driver_probe cannot return EPROBE_DEFER from the probe function, which makes them rather useless these days... Convert to module_platform_driver() so EPROBE_DEFER can be used. Signed-off-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e57c4a67d71275e4a15b9f0f92a322ea27b26a6e Author: NeilBrown <neil@xxxxxxxxxx> Date: Thu Jul 30 10:11:24 2015 +1000 twl4030_charger: use runtime_pm to keep usb phy active while charging. The twl4030 usb phy needs to be active while we are using the USB VBUS as a current source for charging. In particular, the usb3v1 regulator must be enabled and the PHY_PWR_PHYPWD bit must be set to keep the phy powered. commit ab37813f4093a5f59cb8e083cde277289dc72ed3 twl4030_charger: Allow charger to control the regulator that feeds it gave the charger control over the regulator, but didn't resolve the PHY_PWR_PHYPWD issue. Now that both of these are controlled by runtime_pm in phy-twl4030-usb, we can simply take a runtime_pm reference to the USB phy whenever the charger wants to use it as a current source. So this patch reverts the above commit, and adds the necessary runtime_pm calls. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5a4f3cf0d1f02884c0a64488d22b3bb4bce31b44 Merge: cd66d5c 5f22699 24b390a dff22d2 ccbc175 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Aug 4 20:54:05 2015 -0500 Merge branches 'pci/irq', 'pci/misc', 'pci/resource' and 'pci/virtualization' into next * pci/irq: PCI/MSI: Free legacy IRQ when enabling MSI/MSI-X PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq() PCI: Add pcibios_alloc_irq() and pcibios_free_irq() * pci/misc: PCI: Remove unused "pci_probe" flags PCI: Add VPD function 0 quirk for Intel Ethernet devices PCI: Add dev_flags bit to access VPD through function 0 PCI / ACPI: Fix pci_acpi_optimize_delay() comment PCI: Remove a broken link in quirks.c PCI: Remove useless redundant code PCI: Simplify pci_find_(ext_)capability() return value checks PCI: Move PCI_FIND_CAP_TTL to pci.h and use it in quirks PCI: Add pcie_downstream_port() (true for Root and Switch Downstream Ports) PCI: Fix pcie_port_device_resume() comment PCI: Shift PCI_CLASS_NOT_DEFINED consistently with other classes PCI: Revert aeb30016fec3 ("PCI: add Intel USB specific reset method") PCI: Fix TI816X class code quirk PCI: Fix generic NCR 53c810 class code quirk PCI: Use PCI_CLASS_SERIAL_USB instead of bare number PCI: Add quirk for Intersil/Techwell TW686[4589] AV capture cards PCI: Remove Intel Cherrytrail D3 delays * pci/resource: PCI: Call pci_read_bridge_bases() from core instead of arch code * pci/virtualization: PCI: Restore ACS configuration as part of pci_restore_state() commit cd66d5c3df7c96cbf75010b964b94032ceca8889 Merge: bc0195a 0f41421 8ef54f2 e4a8f8e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Aug 4 20:52:29 2015 -0500 Merge branches 'pci/host-designware', 'pci/host-xgene' and 'pci/host-xilinx' into next * pci/host-designware: PCI: designware: Don't complain missing *config* reg space if va_cfg0 is set * pci/host-xgene: PCI: xgene: Add support for a 64-bit prefetchable memory window arm64: dts: Add APM X-Gene PCIe 64-bit prefetchable window PCI: xgene: Drop owner assignment from platform_driver * pci/host-xilinx: PCI: xilinx: Check for MSI interrupt flag before handling as INTx commit a14c0f8fefcb95847fe3a94a4085a7ceb88f19e5 Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:22:54 2015 -0700 MAINTAINERS: Add maintainer for atmel_mxt_ts Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 507584e202c598b5ba2c3cf5fa283ebbda9edc26 Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:58:05 2015 -0700 Input: atmel_mxt_ts - remove warning on zero T44 count Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit eafc0c8783f091ae9426fc8288054a99eb39207f Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:57:40 2015 -0700 Input: atmel_mxt_ts - initialise input slots with INPUT_MT_DIRECT This indicates the device coordinates should be directly mapped to screen. This is valid since scaling/flipping/rotation should be done by configuring the MXT device. It also flags to Android using INPUT_PROP_DIRECT that the device should be treated as a touch screen by default, and removes the necessity for a default IDC file. Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 885f3fb9fa1f9e185e8a4e905157087495734349 Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:57:25 2015 -0700 Input: atmel_mxt_ts - disable interrupt for 50ms after reset The CHG/interrupt line is momentarily set (approximately 100 ms) as an input after power-up or reset for diagnostic purposes. This may cause spurious interrupts, so disable interrupt handler during this period. Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 204476642db2ca3cd2e9b8380b58dc9f21a1e773 Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:53:16 2015 -0700 Input: atmel_mxt_ts - improve device tree parsing Use function rather than loop, define np to reduce wrapping. Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 50fabb02c7c08dace3562c05797a3c92591a9803 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Tue Aug 4 16:53:04 2015 -0700 Input: atmel_mxt_ts - suspend/resume causes panic if input_dev fails to init input_dev may be NULL if mxt_initialize_input_device fails. But pm ops is still available and suspend/resume assume input_dev is not NULL. To fix this issue, we add a check if (!input_dev). Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 146c6a662f6b16536581afc8ed4c11460301a82d Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:49:34 2015 -0700 Input: atmel_mxt_ts - remove unused defines Many of these values are out of date and they aren't used in the driver - all they do is increase the size of the kernel source. Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Acked-by: Benson Leung <bleung@xxxxxxxxxxxx> Acked-by: Yufeng Shen <miletus@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7f3884f7de89c49439fdaa115f6d1caec3256cc3 Author: Nick Dyer <nick.dyer@xxxxxxxxxxx> Date: Tue Aug 4 16:36:29 2015 -0700 Input: atmel_mxt_ts - use deep sleep mode when stopped The hardcoded 0x83 CTRL setting overrides other settings in that byte, enabling extra reporting that may not be useful on a particular platform. Implement improved suspend mechanism via deep sleep. By writing zero to both the active and idle cycle times the maXTouch device can be put into a deep sleep mode, using minimal power. It is necessary to issue a calibrate command after the chip has spent any time in deep sleep, however a soft reset is unnecessary. Use the old method on Chromebook Pixel via platform data option. This patch also deals with the situation where the power configuration is zero on probe, which would mean that the device never wakes up to execute commands. After a config download, the T7 power configuration may have changed so it is necessary to re-read it. Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> Acked-by: Benson Leung <bleung@xxxxxxxxxxxx> Acked-by: Yufeng Shen <miletus@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit aa7c043d9783f538319e77deeae5d90ff5d6907b Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Sat Aug 1 15:41:13 2015 -0400 audit: eliminate unnecessary extra layer of watch parent references The audit watch parent count was imbalanced, adding an unnecessary layer of watch parent references. Decrement the additional parent reference when a watch is reused, already having a reference to the parent. audit_find_parent() gets a reference to the parent, if the parent is already known. This additional parental reference is not needed if the watch is subsequently found by audit_add_to_parent(), and consumed if the watch does not already exist, so we need to put the parent if the watch is found, and do nothing if this new watch is added to the parent. If the parent wasn't already known, it is created with a refcount of 1 and added to the audit_watch_group, then incremented by one to be subsequently consumed by the newly created watch in audit_add_to_parent(). The rule points to the watch, not to the parent, so the rule's refcount gets bumped, not the parent's. See LKML, 2015-07-16 Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit f8259b262bedd5ec71e55de5953464ea86ff69d9 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Sat Aug 1 15:41:12 2015 -0400 audit: eliminate unnecessary extra layer of watch references The audit watch count was imbalanced, adding an unnecessary layer of watch references. Only add the second reference when it is added to a parent. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 94bdc48d55ca10f90b4a625f0e443197e0013557 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:16 2015 +0200 ARM: shmobile: sh73a0 dtsi: Add missing "gpio-ranges" to gpio node If a GPIO driver uses gpiochip_add_pin_range() (which is usually the case for GPIO/PFC combos), the GPIO hogging mechanism configured from DT doesn't work: requesting hog GPIO led1-high (chip sh73a0_pfc, offset 20) failed The actual error code is -517 == -EPROBE_DEFER. The problem is that PFC+GPIO registration is handled in multiple steps: 1. pinctrl_register(), 2. gpiochip_add(), 3. gpiochip_add_pin_range(). Configuration of the hogs is handled in gpiochip_add(): gpiochip_add of_gpiochip_add of_gpiochip_scan_hogs gpiod_hog gpiochip_request_own_desc __gpiod_request chip->request pinctrl_request_gpio pinctrl_get_device_gpio_range However, at this point the GPIO controller hasn't been added to pinctrldev_list yet, so the range can't be found, and the operation fails with -EPROBE_DEFER. To fix this, add a "gpio-ranges" property to the gpio device node, so the ranges are added by of_gpiochip_add_pin_range(), which is called by of_gpiochip_add() before the call to of_gpiochip_scan_hogs(). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 09d1c7b4babd3ef9bfc0a148931e5e5702db5e1b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:15 2015 +0200 ARM: shmobile: r8a7740 dtsi: Add missing "gpio-ranges" to gpio node If a GPIO driver uses gpiochip_add_pin_range() (which is usually the case for GPIO/PFC combos), the GPIO hogging mechanism configured from DT doesn't work: requesting hog GPIO lcd0 (chip r8a7740_pfc, offset 176) failed The actual error code is -517 == -EPROBE_DEFER. The problem is that PFC+GPIO registration is handled in multiple steps: 1. pinctrl_register(), 2. gpiochip_add(), 3. gpiochip_add_pin_range(). Configuration of the hogs is handled in gpiochip_add(): gpiochip_add of_gpiochip_add of_gpiochip_scan_hogs gpiod_hog gpiochip_request_own_desc __gpiod_request chip->request pinctrl_request_gpio pinctrl_get_device_gpio_range However, at this point the GPIO controller hasn't been added to pinctrldev_list yet, so the range can't be found, and the operation fails with -EPROBE_DEFER. To fix this, add a "gpio-ranges" property to the gpio device node, so the range is added by of_gpiochip_add_pin_range(), which is called by of_gpiochip_add() before the call to of_gpiochip_scan_hogs(). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 17ccec50cc40bef00b26d506d483e928804cb20e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:14 2015 +0200 ARM: shmobile: r8a73a4 dtsi: Add missing "gpio-ranges" to gpio node If a GPIO driver uses gpiochip_add_pin_range() (which is usually the case for GPIO/PFC combos), the GPIO hogging mechanism configured from DT doesn't work: requesting hog GPIO led1-high (chip r8a73a4_pfc, offset 28) failed The actual error code is -517 == -EPROBE_DEFER. The problem is that PFC+GPIO registration is handled in multiple steps: 1. pinctrl_register(), 2. gpiochip_add(), 3. gpiochip_add_pin_range(). Configuration of the hogs is handled in gpiochip_add(): gpiochip_add of_gpiochip_add of_gpiochip_scan_hogs gpiod_hog gpiochip_request_own_desc __gpiod_request chip->request pinctrl_request_gpio pinctrl_get_device_gpio_range However, at this point the GPIO controller hasn't been added to pinctrldev_list yet, so the range can't be found, and the operation fails with -EPROBE_DEFER. To fix this, add a "gpio-ranges" property to the gpio device node, so the ranges are added by of_gpiochip_add_pin_range(), which is called by of_gpiochip_add() before the call to of_gpiochip_scan_hogs(). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8f46dcaea8d9d1552f4071f1ddeeca4427c1d83a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Jul 14 18:56:10 2015 +0800 f2fs: expose f2fs_write_cache_pages If there are gced dirty pages and normal dirty pages in the mapping of one inode, we might writeback them alternately with discontinuous block address, resulting in low performance. This patch introduces f2fs_write_cache_pages with codes copied from write_cache_pages in mm/page-writeback.c. In this function, we refactor flow with two steps: 1) writeback all cold type pages. 2) writeback all non-cold type pages. By using this method, f2fs will writeback dirty pages with the same temperature in bunch mode, it makes writeouted block being with more continuous address, so they can be merged as much as possible in f2fs bio cache, and also it will reduce the chance of submiting small IO from block layer. Test environment: 8g nokia sd card (very old sd card, but it shows better effect when testing with this patch, and with a 32g kingston sd card, I didn't see much more improvement). Test step: 1. touch testfile; 2. truncate -s 512K testfile; 3. write all pages with odd index; 4. trigger gc by ioctl; 5. write all pages with even index; 6. time fsync testfile. before: real 0m0.402s user 0m0.000s sys 0m0.000s after: real 0m0.143s user 0m0.004s sys 0m0.004s Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 037fe70c9a6cebe11ae13402994b844e907ebe0c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 13 17:45:19 2015 +0800 f2fs: correct return value of ->setxattr This patch fixes to return correct error number of ->setxattr, which is reported by xfstest tests/generic/026 as below: generic/026 - output mismatch --- tests/generic/026.out +++ results/generic/026.out.bad @@ -4,6 +4,6 @@ 1 below acl max acl max 1 above acl max -chacl: cannot set access acl on "largeaclfile": Argument list too long +chacl: cannot set access acl on "largeaclfile": Numerical result out of range use 16 aces use 17 aces ... Ran: generic/026 Failures: generic/026 Failed 1 of 1 tests Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit bd936f840779366b61300c0f4f752dd1b52b1ca3 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 13 17:44:25 2015 +0800 f2fs: cleanup write_orphan_inodes Previously, since 'commit 4531929e3922 ("f2fs: move grabing orphan pages out of protection region")' was committed, in write_orphan_inodes(), we will grab all meta page in a batch before we use them under spinlock, so that we can avoid large time delay of grabbing meta pages under spinlock. Now, 'commit d6c67a4fee86 ("f2fs: revmove spin_lock for write_orphan_inodes")' remove the spinlock in write_orphan_inodes, so there is no issue we describe above, we'd better recover to move the grab operation to original place for readability. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5b3391244d1c89bb4c8e1b4e4916fb4965fb71f9 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 13 17:43:19 2015 +0800 f2fs: warm up cold page after mmaped write With cost-benifit method, background gc will consider old section with fewer valid blocks as candidate victim, these old blocks in section will be treated as cold data, and laterly will be moved into cold segment. But if the gcing page is attached by user through buffered or mmaped write, we should reset the page as non-cold one, because this page may have more opportunity for further updating. So fix to add clearing code for the missed 'mmap' case. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c1c1b58359d45e1a9f236ce5a40d50720c07c70e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Jul 10 18:08:10 2015 +0800 f2fs: add new ioctl F2FS_IOC_GARBAGE_COLLECT When background gc is off, the only way to trigger gc is executing a force gc in some operations who wants to grab space in disk. The executing condition is limited: to execute force gc, we should wait for the time when there is almost no more free section for LFS allocation. This seems not reasonable for our user who wants to control triggering gc by himself. This patch introduces F2FS_IOC_GARBAGE_COLLECT interface for triggering garbage collection by using ioctl. It provides our users one more option to trigger gc. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a28ef1f5aebe1068fc5fd65c4699c1c3b1e9094b Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Jul 8 17:59:36 2015 +0800 f2fs: maintain extent cache in separated file This patch moves extent cache related code from data.c into extent_cache.c since extent cache is independent feature, and its codes are not relate to others in data.c, it's better for us to maintain them in separated place. There is no functionality change, but several small coding style fixes including: * rename __drop_largest_extent to f2fs_drop_largest_extent for exporting; * rename misspelled word 'untill' to 'until'; * remove unneeded 'return' in the end of f2fs_destroy_extent_tree(). Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3c7df87dad065a4656b13115593c59c8a324a108 Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Wed Jul 8 16:02:54 2015 +0800 f2fs: don't try to split extents shorter than F2FS_MIN_EXTENT_LEN Since only parts of extents longer than F2FS_MIN_EXTENT_LEN will be kept in extent cache after split, extents already shorter than F2FS_MIN_EXTENT_LEN don't need to try split at all. Signed-off-by: Fan Li <fanofcode.li@xxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 90d4388ac2cec0c83cad7315d3cd0065553430e1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Jul 8 18:24:38 2015 +0800 f2fs: fix to update page flag This patch fixes to update page flag (e.g. Uptodate/cold flag) in ->write_begin. Otherwise, page will be non-uptodate when we try to write entire page, and cold data flag in page will not be clean when gced page is being rewritten. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7023a1ad17f4e21acb74167ab647cd123d9eb801 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Jun 29 16:34:39 2015 -0700 f2fs: shrink unreferenced extent_caches first If an extent_tree entry has a zero reference count, we can drop it from the cache in higher priority rather than currently referencing entries. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit bb96a8d51e523c162b436c4545eb1a4e9f9f530e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 6 20:31:49 2015 +0800 f2fs: enhance multithread performance In ->writepages, we use writepages mutex lock to serialize all block address allocation and page submitting pairs from different inodes. This method makes our delayed dirty pages of one inode being written continously as many as possible. But there is one problem that we did not submit current cached bio in protection region of writepages mutex lock, so there is a small chance that we submit the one of other thread's as below, resulting in splitting more bios. thread 1 thread 2 ->writepages lock(writepages) ->write_cache_pages unlock(writepages) lock(writepages) ->write_cache_pages ->f2fs_submit_merged_bio ->writepage unlock(writepages) fs_mark-6535 [002] .... 2242.270230: f2fs_submit_write_bio: dev = (1,0), WRITE_SYNC, DATA, sector = 5766152, size = 524288 fs_mark-6536 [000] .... 2242.270361: f2fs_submit_write_bio: dev = (1,0), WRITE_SYNC, DATA, sector = 5767176, size = 4096 fs_mark-6536 [000] .... 2242.270370: f2fs_submit_write_bio: dev = (1,0), WRITE_SYNC, NODE, sector = 8138112, size = 4096 fs_mark-6535 [002] .... 2242.270776: f2fs_submit_write_bio: dev = (1,0), WRITE_SYNC, DATA, sector = 5767184, size = 516096 This may really increase time of block layer works, and may cause larger IO lantency. This patch moves the submitting operation into region of writepages mutex lock to avoid bio splits when concurrently writebacking is intensive. my test environment: virtual machine, intel cpu i5 2500, 8GB size memory, 4GB size ramdisk time fs_mark -t 16 -L 1 -s 524288 -S 1 -d /mnt/f2fs/ before: real 0m4.244s user 0m0.088s sys 0m12.336s after: real 0m3.822s user 0m0.072s sys 0m10.760s Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 741a7bea79eae6361c8d7499f1f6a900b65c120e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 6 20:30:40 2015 +0800 f2fs: restrict multimedia filename When testing with fs_mark, some blocks were written out as cold data which were mixed with warm data, resulting in splitting more bios. This is because fs_mark will create file with random filename as below: 559551ee~~~~~~~~15Z29OCC05JCKQP60JQ42MKV 559551ee~~~~~~~~NZAZ6X8OA8LHIIP6XD0L58RM 559551ef~~~~~~~~B15YDSWAK789HPSDZKYTW6WM 559551f1~~~~~~~~2DAE5DPS79785BUNTFWBEMP3 559551f1~~~~~~~~1MYDY0BKSQCJPI32Q8C514RM 559551f1~~~~~~~~YQOTMAOMN5CVRFOUNI026MP4 559551f3~~~~~~~~1WF42LPRTQJNPPGR3EINKMPE 559551f3~~~~~~~~8Y2NRK7CEPPAA02LY936PJPG They are regarded as cold file since their filename are ended with multimedia files' extension, but this should be wrong as we only match the extension of filename, not the whole one. In this patch, we try to fix the format of multimedia filename to: "filename + '.' + extension", then we set cold file only its filename matches the format. So after this change, it will reduce the probability we set the wrong cold file, also it helps a little for fs_mark's performance on f2fs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 62d43eeb1724836e4bc5caa67678a7943a2a06b6 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jul 6 20:29:46 2015 +0800 MAINTAINERS: add missed trace file for f2fs This patch adds missed trace file in maintainer-ship of f2fs, so it completes the description of files maintained in f2fs, and also it allows people to find correct mailing list by using get_maintainer.pl when only patching the trace file of f2fs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c1079892f4e8ecfd1bbc525cbfc1bd46b470888e Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Tue Jun 30 21:37:21 2015 -0400 f2fs: make the function check_dnode have a return type of bool and change it's name to is_alive This makes the function check_dnode have a return type of bool due to this particular function only ever returning either one or zero as its return value and changes the name of the function to is_alive in order to better explain this function's intended work of checking if a dnode is still in use by the filesystem. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> [Jaegeuk Kim: change the return value check for the renamed function] Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 84bc926c076963d5b992640f5c8d242754801fd6 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Jun 29 16:01:14 2015 -0700 f2fs: check the largest extent at look-up time Because of the extent shrinker or other -ENOMEM scenarios, it cannot guarantee that the largest extent would be cached in the tree all the time. Instead of relying on extent_tree, we can simply check the cached one in extent tree accordingly. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3e72f721390dc14e7b33fda812843c0725810106 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Jun 19 17:53:26 2015 -0700 f2fs: use extent_cache by default We don't need to handle the duplicate extent information. The integrated rule is: - update on-disk extent with largest one tracked by in-memory extent_cache - destroy extent_tree for the truncation case - drop per-inode extent_cache by shrinker Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7daaea256de42da112805703e3c77f08973156b3 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Jun 25 17:43:04 2015 -0700 f2fs: add noextent_cache mount option This patch adds noextent_cache mount option. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 554df79e523d14dab475eb6650cb96617256ceea Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Jun 19 13:41:23 2015 -0700 f2fs: shrink extent_cache entries This patch registers shrinking extent_caches. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1b38dc8e74a366b92986755c304591e330f3c3e0 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Jun 19 15:36:07 2015 -0700 f2fs: shrink nat_cache entries This patch registers shrinking nat_cache entries. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2658e50de61429f57d9496bfe371f232e2d039a1 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Jun 19 12:01:21 2015 -0700 f2fs: introduce a shrinker for mounted fs This patch introduces a shrinker targeting to reduce memory footprint consumed by a number of in-memory f2fs data structures. In addition, it newly adds: - sbi->umount_mutex to avoid data races on shrinker and put_super - sbi->shruinker_run_no to not revisit objects Note that the basic implementation was copied from fs/ubifs/shrinker.c Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 244f4fc1c530c4e486f0e4f0909c0514e4539ba2 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Jun 22 18:22:38 2015 -0700 f2fs: set cached_en after checking finally This patch relocates cached_en not only to be covered by spin_lock, but also to set once after checking out completely. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit cbe91923a97c96d6a931f4b5b7e32083218a0251 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Jun 16 15:17:01 2015 -0700 f2fs: update on-disk extents even under extent_cache Previously, f2fs_update_extent_cache() updates in-memory extent_cache all the time, and then finally preserves its up-to-date extent into on-disk one during f2fs_evict_inode. But, in the following scenario: 1. mount 2. open & write an extent X 3. f2fs_evict_inode; on-disk extent is X 4. open & update the extent X with Y 5. sync; trigger checkpoint 6. power-cut after power-on, f2fs should serve extent Y, but we have an on-disk extent X. This causes a failure on xfstests/311. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7a2cb67867b9a7f28a7c4d0fadd2f337a6d46ff7 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Jun 18 14:17:04 2015 -0700 f2fs: fix wrong block address calculation for a split extent This patch fixes wrong calculation on block address field when an extent is split. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 97a7b2c274d5dbe51170e099c16d49cfd1b467af Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Jun 17 13:59:05 2015 -0700 f2fs: convert inline_data for various fallocate For newly added fallocate types, it should convert inline_data before handling block swapping. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c9b63bd01dd8da096d079c490771ad8a049fd480 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Jun 23 10:36:08 2015 -0700 f2fs: avoid to use failed inode immediately Before iput is called, the inode number used by a bad inode can be reassigned to other new inode, resulting in any abnormal behaviors on the new inode. This should not happen for the new inode. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit eca616f8c1d6c581f3785f0ee3e2a3887e084273 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Jun 15 14:52:29 2015 -0700 f2fs: avoid freed stat information The write_checkpoint can update stat information, so we should destroy the stat structure after it. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5ac9f36fcacd532b218db1e0fd0f9e8a18321f22 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Jun 29 18:14:10 2015 +0800 f2fs: fix to record dirty page count for symlink Dirty page can be exist in mapping of newly created symlink, but previously we did not maintain the counting of dirty page for symlink like we maintained for regular/directory, so the counting we lookuped should be wrong. This patch adds missed dirty page counting for symlink to fix this issue. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 92859a5efdfa71f712ec1d213f43061965d3e9b4 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 26 17:28:55 2015 +0200 f2fs crypto: delete an unnecessary check before the function call "key_put" The key_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6abc8ca19df0078de17dc38340db3002ed489ce7 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Aug 4 15:20:55 2015 -0400 cgroup: define controller file conventions Traditionally, each cgroup controller implemented whatever interface it wanted leading to interfaces which are widely inconsistent. Examining the requirements of the controllers readily yield that there are only a few control schemes shared among all. Two major controllers already had to implement new interface for the unified hierarchy due to significant structural changes. Let's take the chance to establish common conventions throughout all controllers. This patch defines CGROUP_WEIGHT_MIN/DFL/MAX to be used on all weight based control knobs and documents the conventions that controllers should follow on the unified hierarchy. Except for io.weight knob, all existing unified hierarchy knobs are already compliant. A follow-up patch will update io.weight. v2: Added descriptions of min, low and high knobs. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> commit 7d6548abcf4ea4845db8a62a5875d93e2c1bf882 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Aug 4 11:43:40 2015 -0700 Input: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b084a35663c3f1f7de1c45c4ae3006864c940fe7 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Sun Jul 12 09:10:05 2015 +0300 iwlwifi: mvm: set different pm_timeout for action frames When building a Tx Command for management frames, we are lacking a check for action frames, for which we should set a different pm_timeout. This cause the fw to stay awake for 100TU after each such frame is transmitted, resulting an excessive power consumption. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit eed6e971973667d067d510e9540773ff0f9fe8fd Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Jul 22 14:21:31 2015 +0300 iwlwifi: mvm: ToF - Set correct range request cmd id Command ID of ToF range request command adapted to new FW commands grouping scheme. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Reviewed-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e112018776a88b1e9c31fff3c6a9341c4f37c358 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Sun Jul 19 11:15:07 2015 +0300 iwlwifi: mvm: Add FW paging mechanism for the UMAC on SDIO Family 8000 products has 2 embedded processors, the first known as LMAC (lower MAC) and implements the functionality from previous products, the second one is known as UMAC (upper MAC) and is used mainly for driver offloads as well as new features. The UMAC is typically â??lessâ?? real-time than the LMAC and is used for higher level controls. The UMAC's code/data size is estimated to be in the mega-byte arena, taking into account the code it needs to replace in the driver and the set of new features. In order to allow the UMAC to execute code that is bigger than its code memory, we allow the UMAC embedded processor to page out code pages on DRAM. When the device is slave on the bus(SDIO) the driver saves the UMAC's image pages in blocks of 32K in the DRAM and sends the layout of the pages to the FW. When the FW wants load / unload pages, it creates an interrupt, and the driver uploads / downloads the page to an address in the a specific address on the device's memory. The driver can support up to 1 MB of pages. Add paging mechanism for the UMAC on SDIO in order to allow the program to use a larger virtual space while using less physical memory on the device itself. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 26d535aedc0e9fcf2c8bee65b33cecb58ee8e8ed Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Tue Apr 28 12:56:54 2015 +0300 iwlwifi: pcie: New RBD allocation model As a preperation for multiple RX queues change the RBD allocation model. The new model includes a background allocator. The allocator is called by the interrupt handler when there are two released buffers by the queue, and the allocator starts allocating eight pages per request. When the queue has released 8 pages it tries claiming the request. If the pages are not ready - it keeps claiming. This new model should make sure that RBDs are always available across the multiple queues. The RBDs are transferred between the allocator and the queue. The queue moves the free RBDs upon freeing them to the allocator. The allocator moves them back to the queue's possession when the request is claimed. The allocator has an initial pool to make sure there are always RBDs available for the request completion. Release of the buffers at exit is done per pools - the allocator frees its own initial pool and the queue frees its own pool. Existing code refactor - -Queue's initial pool is the size of the queue only as the allocation of the new buffers no longer uses this pool. -Removal of replenish background work, and replenish calls in the interrupt handler and restock(). -The replenish() and the rxq used_list are used only during initialization. -Moved page allocation to a new function for code reuse. New code - Allocator code - new structure and functions. Interrupt handler uses the allocator functions for replenishing buffers. Reuse of the restock() method. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d4a81698540a644d1316bcd5836f3ae495844216 Merge: 36fb901 aecdc63 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Aug 4 21:30:10 2015 +0300 Merge remote-tracking branch 'iwlwifi-fixes/master' into next Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Conflicts: drivers/net/wireless/iwlwifi/pcie/internal.h commit 36fb90172688c8eeac67e1ef01d232549c9a6131 Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Wed Jul 15 15:47:28 2015 +0300 iwlwifi: mvm: add the ability to trigger only monitor dumps Change the FW debug trigger tlv to include a monitor only option. Setting this option to true will cause fw dump triggers to only collect monitor data and skip other dumps such as SMEM, SRAM, CSR, PRPH, etc. This option is used when accessing the different parts of the firmware memory is not wanted and can cause unwanted behavior like when debugging TX latency. Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 206eea7833859f9e39c8a7439196743a2d8dfc9b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Apr 17 16:38:31 2015 +0200 iwlwifi: pcie: support frag SKBs Allow frag SKBs in PCIe and advertise the maximum number of frags to the opmode. As a fallback. linearize the SKB if it exceeds the maximum number of fragments. This allows using the hardware better (filling more TBs) and should improve performance when used by the opmode. Also adjust tracing to be able to deal with this. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 17564dde6024fcfe74cc0512e7837175aa5283d9 Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Sun Mar 22 13:11:01 2015 +0200 iwlwifi: add new TLV capability flag for gscan support Gscan is a scan feature which is supported on certain devices only, hence the need for a TLV flag for it. For devices that support gscan store the gscan capabilities advertised by the FW so the driver can report it to upper layers. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9d012d0dbee1dcc4f7491925de41b4249b2cfb31 Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Thu Jun 4 10:32:43 2015 +0300 iwlwifi: Add max TX aggregation size for 8260 SDIO devices series Set max TX aggregation size for 8260 SDIO devices series to 40 frames. Fine tune max RX aggregation size - change it to 21. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit be681c7d103c4b3df5c51acaba5a578002a16488 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Thu Jun 18 06:39:41 2015 +0300 iwlwifi: mvm: revert to our old skip over dtim policy Our firmware scheduler used to suffer from false wake-up on 500 time units. We had to came up with a formula to address this buggy behavior. Now that our firmware is fixed, we can go back to our old policy. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit bd7fc617af118531e364d727ed02b0ded2bb4fc0 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Jul 15 23:15:08 2015 +0300 iwlwifi: pcie: dump RBs when FW error occurs Add support for dumping all the RBs in the RX queue when FW error occurs. This will assist debugging. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 192de2b406ab5cab0b87be6d8015dcfbec936e37 Author: Dor Shaish <dor.shaish@xxxxxxxxx> Date: Wed Jul 15 11:41:21 2015 +0300 iwlwifi: mvm: print secboot status registers on alive timeout Print the CPU1 and CPU2 secured boot status registers from the NIC to indicate a SYSASSERT during secured engine unlocking process on init/protocol image. Signed-off-by: Dor Shaish <dor.shaish@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 75118fdb63496e4611ab50380499ddd62b9de69f Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Wed Jun 24 11:03:56 2015 +0300 iwlwifi: mvm: clean up fw-api-scan.h Remove outdated and unused definitions Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a6c4fb4441f4641609bbb3e40da438ed57629db0 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Wed Jul 15 16:19:29 2015 +0300 iwlwifi: mvm: Add FW paging mechanism for the UMAC on PCI Family 8000 products has 2 embedded processors, the first known as LMAC (lower MAC) and implements the functionality from previous products, the second one is known as UMAC (upper MAC) and is used mainly for driver offloads as well as new features. The UMAC is typically â??lessâ?? real-time than the LMAC and is used for higher level controls. The UMAC's code/data size is estimated to be in the mega-byte arena, taking into account the code it needs to replace in the driver and the set of new features. In order to allow the UMAC to execute code that is bigger than its code memory, we allow the UMAC embedded processor to page out code pages on DRAM. When the device is master on the bus(PCI) the driver saves the UMAC's image pages in blocks of 32K in the DRAM and sends the layout of the pages to the FW. The FW can load / unload the pages on its own. The driver can support up to 1 MB of pages. Add paging mechanism for the UMAC on PCI in order to allow the program to use a larger virtual space while using less physical memory on the device. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0ab66e6d28f52677067a905ff2aac3367f8118ee Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Mon Jul 13 14:23:59 2015 +0300 iwlwifi: mvm: add wide firmware command support for debug triggers Add support for extended command id in triggers handling. Extended command id header contains group id in addition to command id. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1230b16b448acfdfe7d0cac940311c9363861c03 Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Thu Jul 9 17:17:03 2015 +0300 iwlwifi: mvm: add wide firmware command infrastructure for RX Add support for extended firmware event header that contains a group id as well as the command id. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6eb031d2fe2d9a3d7eaaba151c64e20bd0220fc9 Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Mon Jul 13 14:50:47 2015 +0300 iwlwifi: add wide firmware command support for notifications Add support for extended command id in notification system. Extended command id header contains group id in addition to command id. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 48ed7040315636f825c989e0752125ea275da82f Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Wed Jul 8 11:02:15 2015 -0400 iwlwifi: make various functions void in the file rs.c This makes various functions in the file rs.c void due to these functions never returning a error code to signal to their callers if and how they have failed to complete their intended work. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ca8c0f4bede6098f9d531365d2ad9d7a598327f6 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Apr 20 17:54:54 2015 +0200 iwlwifi: mvm: move TX PN assignment for CCMP to the driver Move the TX PN assignment (for CCMP only) to the driver. This prepares the driver for future DSO (driver segmentation offload) where it will split an SKB into multiple MPDUs by itself. For TDLS, split out the CCMP TX command handling so that it won't get a PN assigned, the firmware assigns the PN in that case. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1dadafa86a779884f14a6e7a3ddde1a57b0a0a65 Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Date: Tue Aug 4 11:26:04 2015 -0600 workqueue: Make flush_workqueue() available again to non GPL modules Commit 37b1ef31a568fc02e53587620226e5f3c66454c8 ("workqueue: move flush_scheduled_work() to workqueue.h") moved the exported non GPL flush_scheduled_work() from a function to an inline wrapper. Unfortunately, it directly calls flush_workqueue() which is a GPL function. This has the effect of changing the licensing requirement for this function and makes it unavailable to non GPL modules. See commit ad7b1f841f8a54c6d61ff181451f55b68175e15a ("workqueue: Make schedule_work() available again to non GPL modules") for precedent. Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 04b8637be92f284409651088f3856f4290a931d8 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 4 18:52:09 2015 +0100 arm64: alternatives: ensure secondary CPUs execute ISB after patching In order to guarantee that the patched instruction stream is visible to a CPU, that CPU must execute an isb instruction after any related cache maintenance has completed. The instruction patching routines in kernel/insn.c get this right for things like jump labels and ftrace, but the alternatives patching omits it entirely leaving secondary cores in a potential limbo between the old and the new code. This patch adds an isb following the secondary polling loop in the altenatives patching. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 7f08a414f29e7daea661d03231998625257ed3f1 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Tue Aug 4 17:27:34 2015 +0100 arm64: make ll/sc __cmpxchg_case_##name asm consistent The ll/sc __cmpxchg_case_##name assembly mostly uses symbolic names for operands, but in a single case uses %2 to refer to what is otherwise known as %[v]. This makes the code more painful to read than is necessary. Use %[v] instead. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b03ba9e314c12b2127243145b5c1f41b2408de62 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Wed Jul 29 11:55:26 2015 +0100 spi: img-spfi: fix multiple calls to request gpio spfi_setup may be called many times by the spi framework, but gpio_request_one can only be called once without freeing, repeatedly calling gpio_request_one will cause an error to be thrown, which causes the request to spi_setup to be marked as failed. We can have a per-spi_device flag that indicates whether or not the gpio has been requested. If the gpio has already been requested use gpio_direction_output to set the direction of the gpio. Fixes: 8c2c8c03cdcb ("spi: img-spfi: Control CS lines with GPIO") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit d4ea7d86457a8d0ea40ce77bdeda1fc966cc35ec Author: Ian Campbell <ijc@xxxxxxxxxxxxxx> Date: Sat Aug 1 18:13:25 2015 +0100 regulator: axp20x: Add module alias This allows the module to be autoloaded. Together with 07949bf9c63c ("cpufreq: dt: allow driver to boot automatically") this is sufficient to allow a modular kernel (such as Debian's) to enable cpufreq on a Cubietruck. Signed-off-by: Ian Campbell <ijc@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5dbe135a153837ce9367bdfacf7aabfc6fb76f4b Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:51 2015 +0200 usb: gadget: epautoconf: remove ep and desc configuration from ep_matches() As function ep_matches() is used to match endpoint with usb descriptor it's highly unintuitive that it modifies endpoint and descriptor structures fields. This patch moves code configuring ep and desc from ep_matches() to usb_ep_autoconfig_ss(), so now function ep_matches() does nothing more than its name suggests. [ balbi@xxxxxx : fix build warning ] Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b58713d53a8f41d57b24c93de0b1c7e9550ba70f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:50 2015 +0200 usb: gadget: epautoconf: remove pxa quirk from ep_matches() The same effect can be achieved by using capabilities flags, so now we can get rid of handling of hardware specific limitations in generic code. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b86f33a3a371a4c3aa8dbb2f4125634a4e0d09dc Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:49 2015 +0200 usb: gadget: epautoconf: add endpoint capabilities flags verification Introduce endpoint matching mechanism basing on endpoint capabilities flags. We check if endpoint supports transfer type and direction requested in ep descriptor. Since we have this new endpoint matching mechanism there is no need to have old code guessing endpoint capabilities basing on its name, so we are getting rid of it. Remove also the obsolete comment. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 47bef386511517449e2f24a89a41084af53616f8 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:48 2015 +0200 usb: gadget: atmel_usba_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 916f7ac5dbc312969a90bc35a5f4fcbfc2965d60 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:47 2015 +0200 usb: renesas: gadget: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8501955e888662ca56775eec2eb804e7bc7fce0d Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:46 2015 +0200 usb: musb: gadget: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit eb4cbc19526d62657b838d6f0b694a000e5b4c81 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:45 2015 +0200 usb: isp1760: udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 927d9f77fe3d5f9261eeb465e2b60768e400ffc9 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:44 2015 +0200 usb: gadget: udc-xilinx: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0648772d51c0ff3949397cb0cbcf2435ee32c550 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:43 2015 +0200 usb: gadget: s3c2410_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bc1b9f300ae06c64fcd056fb959b3d709ad2ef33 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:42 2015 +0200 usb: gadget: s3c-hsudc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0ec8026d7afee625f52631708d84435ea4735da6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:41 2015 +0200 usb: gadget: r8a66597-udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a180e3da97a323510071b2b5e42b5dc07df239da Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:40 2015 +0200 usb: gadget: pxa27x_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 36411b6b042d350a43fe1e0d3ce78fbda30f4f02 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:39 2015 +0200 usb: gadget: pxa25x_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 85a4ed003b39f70ba478e613a9be2c334f1079e7 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:38 2015 +0200 usb: gadget: pch_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7d4ba80d3a91222de577b652a8936f935de8b409 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:37 2015 +0200 usb: gadget: omap_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c23c3c3c3059f3dc47268cd7a28b96b9efdbc1ea Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:36 2015 +0200 usb: gadget: net2280: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f95aec51da16250841a4254db36f9771446cdbb6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:35 2015 +0200 usb: gadget: net2272: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 43710a8dba9ae607decdeaf7a56a51dd5b42184e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:34 2015 +0200 usb: gadget: mv_udc_core: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c12a30629f8b5fe8c2aba42c3128df702bbc9e83 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:33 2015 +0200 usb: gadget: mv_u3d_core: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8ddbf94fd5b536b3adf5ffa631c5951718e7301d Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:32 2015 +0200 usb: gadget: m66592-udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4d75c8bd613c5ba99ee02cfe38610c82e7fe8362 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:31 2015 +0200 usb: gadget: lpc32xx_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 892269925991b449ae47dcc0debb324ae451022e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:30 2015 +0200 usb: gadget: gr_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b0bf5fbfbd30ffbb9e45169f78412f0596e16412 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:29 2015 +0200 usb: gadget: goku_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 455d11c93582c4167f55af0969b83821450be120 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:28 2015 +0200 usb: gadget: fusb300_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 60a28c63712f190b45e9d8f0ca593c927970fd51 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:27 2015 +0200 usb: gadget: fsl_udc_core: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e8fc42f6a19af320d7a4718c05c3f249bf5d3151 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:26 2015 +0200 usb: gadget: fsl_qe_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8d29237a436dc8e2b5c44dd0ca662a680f16deb5 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:25 2015 +0200 usb: gadget: fotg210-udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7a3b8e7098946b44c014f3df0ceef27fb273c142 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:24 2015 +0200 usb: gadget: dummy-hcd: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b079dd6156a6544e0383642a9ec97d17485aa244 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:23 2015 +0200 usb: gadget: bdc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1b0ba527702268992a62227dde4911477f057ca5 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:22 2015 +0200 usb: gadget: bcm63xx_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9ed96d7d579416a8fd2e1cef66541bfdad2720f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:21 2015 +0200 usb: gadget: at91_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6f02ac5ac9bba538593e4359dd5e83c4d42822fe Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:20 2015 +0200 usb: gadget: amd5536udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a474d3b73ba7f22844e672ac004f01cd9b8be159 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:19 2015 +0200 usb: dwc3: gadget: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2954522f135246287c36524bc96e9dae8c40f8a9 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:18 2015 +0200 usb: dwc2: gadget: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a7e3f1410855db6b67ec29a386e74be2df3cc311 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:17 2015 +0200 usb: chipidea: udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 68b5c947515a252b9e416e419fca4c1382912948 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:16 2015 +0200 staging: emxx_udc: add ep capabilities support Convert endpoint configuration to new capabilities model. Fixed typo in "epc-nulk" to "epc-bulk". Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 80e6e3847f851fc05e63265050115e29e2a50d7e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:15 2015 +0200 usb: gadget: add endpoint capabilities helper macros Add macros useful while initializing array of endpoint capabilities structures. These macros makes structure initialization more compact to decrease number of code lines and increase readability of code. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 734b5a2addd333829a6d647ee14a3609c7a87c44 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:14 2015 +0200 usb: gadget: add endpoint capabilities flags Introduce struct usb_ep_caps which contains information about capabilities of usb endpoints - supported transfer types and directions. This structure should be filled by UDC driver for each of its endpoints, and will be used in epautoconf in new ep matching mechanism which will replace ugly guessing of endpoint capabilities basing on its name. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cc476b42a39d5a66d94f46cade972dcb8ee278df Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Fri Jul 31 16:00:13 2015 +0200 usb: gadget: encapsulate endpoint claiming mechanism So far it was necessary for usb functions to set ep->driver_data in endpoint obtained from autoconfig to non-null value, to indicate that endpoint is claimed by function (in autoconfig it was checked if endpoint has set this field to non-null value, and if it has, it was assumed that it is claimed). It could cause bugs because if some function doesn't set this field autoconfig could return the same endpoint more than one time. To help to avoid such bugs this patch adds claimed flag to struct usb_ep, and encapsulates endpoint claiming mechanism inside usb_ep_autoconfig_ss() and usb_ep_autoconfig_reset(), so now usb functions don't need to perform any additional actions to mark endpoint obtained from autoconfig as claimed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 94e5c23d3c52f58f4051810a15aeacc085127ad1 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Aug 4 13:52:22 2015 +0800 spi: pxa2xx: Add terminating entry for pxa2xx_spi_pci_compound_match Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 89a6356676eba38e498507b5b67dcc07a714a149 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Fri Jul 31 13:42:29 2015 +0100 spi: spidev: fix inconsistent indenting Fix inconsistent indenting in spidev_open, no functional change. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0f4315a8f1a73f130bbc5dde134b704ea6dda56c Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Aug 4 11:02:45 2015 -0500 usb: gadget: f_uac2: fix build warning commit 913e4a90b6f9 ("usb: gadget: f_uac2: finalize wMaxPacketSize according to bandwidth") added a possible build warning when calling min(). In order to fix the warning, we just make sure to call min_t() and tell that its arguments should be u16. Cc: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7f352964852ede9e95d18fd3825c5200fb48b3a5 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:02:28 2015 +0000 usb: musb: musb_dsps: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c5673f5ce4c0faa97df419877bcdebbd76d43151 Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:02:03 2015 +0000 usb: phy: phy-keystone: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4b68b50fd45e2f429da574c74d9a3788a861434f Author: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Date: Tue Aug 4 14:01:31 2015 +0000 usb: phy: phy-mxs-usb: Simplify return statement Replace redundant variable use in return statement. Signed-off-by: Saurabh Karajgaonkar <skarajga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 12d560f4ea87030667438a169912380be00cea4b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 18:35:23 2015 -0700 rcu,locking: Privatize smp_mb__after_unlock_lock() RCU is the only thing that uses smp_mb__after_unlock_lock(), and is likely the only thing that ever will use it, so this commit makes this macro private to RCU. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: "linux-arch@xxxxxxxxxxxxxxx" <linux-arch@xxxxxxxxxxxxxxx> commit 3dbe43f6fba9f2a0e46e371733575a45704c22ab Merge: 8ff4fbf 96d7744 d6a8c6d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 08:42:02 2015 -0700 Merge branches 'doc.2015.07.15a' and 'torture.2015.07.15a' into HEAD doc.2015.07.15a: Documentation updates. torture.2015.07.15a: Torture-test updates. commit 8ff4fbfd69a6c7b9598f8c1f2df34f89bac02c1a Merge: 9a54f98 af859be Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 08:40:58 2015 -0700 Merge branches 'fixes.2015.07.22a' and 'initexp.2015.08.04a' into HEAD fixes.2015.07.22a: Miscellaneous fixes. initexp.2015.08.04a: Initialization and expedited updates. (Single branch due to conflicts.) commit af859beaaba4d57883b08f4acbcb3974bc1f975e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 19 15:13:40 2015 -0700 rcu: Silence lockdep false positive for expedited grace periods In a CONFIG_PREEMPT=y kernel, synchronize_rcu_expedited() acquires the ->exp_funnel_mutex in rcu_preempt_state, then invokes synchronize_sched_expedited, which acquires the ->exp_funnel_mutex in rcu_sched_state. There can be no deadlock because rcu_preempt_state ->exp_funnel_mutex acquisition always precedes that of rcu_sched_state. But lockdep does not know that, so it gives false-positive splats. This commit therefore associates a separate lock_class_key structure with the rcu_sched_state structure's ->exp_funnel_mutex, allowing lockdep to see the lock ordering, avoiding the false positives. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9ee67421fe3b67a0796d6ea620fd5fcb037d3f89 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 3 16:27:40 2015 -0300 perf script: No tracepoints? Don't call libtraceevent. The libtraceevent handler (session->tevent) is only initialized when there are tracepoints in a perf.data event list, so do not call pevent_set_function_resolve() in those cases, fixing a segfault. Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-xyynkucl5p4bcs13zi4i4b1f@xxxxxxxxxxxxxx Report-link: http://lkml.kernel.org/r/20150803174113.GA20282@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6d3ec14d703c660c4baf8d726538b5415e23b4fb Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Tue Aug 4 11:21:52 2015 -0400 jbd2: limit number of reserved credits Currently there is no limitation on number of reserved credits we can ask for. If we ask for more reserved credits than 1/2 of maximum transaction size, or if total number of credits exceeds the maximum transaction size per operation (which is currently only possible with the former) we will spin forever in start_this_handle(). Fix this by adding this limitation at the start of start_this_handle(). This patch also removes the credit limitation 1/2 of maximum transaction size, since we really only want to limit the number of reserved credits. There is not much point to limit the credits if there is still space in the journal. This accidentally also fixes the online resize, where due to the limitation of the journal credits we're unable to grow file systems with 1k block size and size between 16M and 32M. It has been partially fixed by 2c869b262a10ca99cb866d04087d75311587a30c, but not entirely. Thanks Jan Kara for helping me getting the correct fix. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 21caf3a765b0a88f8fedf63b36e5d15683b73fe5 Author: Lorenzo Nava <lorenx4@xxxxxxxxx> Date: Thu Jul 2 17:28:03 2015 +0100 ARM: 8398/1: arm DMA: Fix allocation from CMA for coherent DMA This patch allows the use of CMA for DMA coherent memory allocation. At the moment if the input parameter "is_coherent" is set to true the allocation is not made using the CMA, which I think is not the desired behaviour. The patch covers the allocation and free of memory for coherent DMA. Signed-off-by: Lorenzo Nava <lorenx4@xxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit fedf42b50d51758ce43fe0a652991dc01421f422 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Thu Jul 30 18:13:56 2015 -0700 reset: reset-zynq: Adding support for Xilinx Zynq reset controller. This adds a reset controller driver to control the Xilinx Zynq AP-SoC's various resets. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 575c215c00140e83b32ca6c01443b8a458e55c73 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Thu Jul 30 18:13:54 2015 -0700 docs: dts: Added documentation for Xilinx Zynq Reset Controller bindings. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Reviewed-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 3f14a63a544374225c17221a5058748360428dc3 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Aug 3 10:17:05 2015 -0700 HID: wacom: Remove WACOM_QUIRK_NO_INPUT WACOM_QUIRK_NO_INPUT is a signal to the driver that input devices should not be created for a particular device. This quirk was used by the wireless receiver to prevent any devices from being created during the initial probe (defering it instead until we got a tablet connection event in 'wacom_wireless_work'). This quirk is not necessary now that a device_type is associated with each device. Any input device allocated by 'wacom_allocate_inputs' which is not necessary for a particular device is freed in 'wacom_register_inputs'. In particular, none of the wireless receivers devices have the pen, pad, or touch device types set so the same effect is achieved without the need to be explicit. We now return early in wacom_retrieve_hid_descriptor for wireless devices (to prevent the device_type from being overridden) but since we ignore the HID descriptor for the wireless reciever anyway, this is not an issue. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit ccad85cc1ee34509840e5af80a436ceaf0b71edb Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Aug 3 10:17:04 2015 -0700 HID: wacom: Replace WACOM_QUIRK_MONITOR with WACOM_DEVICETYPE_WL_MONITOR The monitor interface on the wireless receiver is more logically expressed as a type of device instead of a quirk. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 8dc8641e619228153ab0bc609f9f534126e87c08 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Aug 3 10:17:03 2015 -0700 HID: wacom: Use calculated pkglen for wireless touch interface Commit 01c846f introduced the 'wacom_compute_pktlen' function which automatically determines the correct value for an interface's pkglen by scanning the HID descriptor. This function returns the correct value for the wireless receiver's touch interface, removing the need for us to set it manually here. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit a4198fd4b487afc60810f5a12b994721df220022 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:23 2015 +0800 crypto: testmgr - Reenable authenc tests Now that all implementations of authenc have been converted we can reenable the tests. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit aeb4c132f33d21f6cf37558a932e66e40dd8982e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:22 2015 +0800 crypto: talitos - Convert to new AEAD interface This patch converts talitos to the new AEAD interface. IV generation has been removed since it's equivalent to a software implementation. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e19ab1211d2848ebd028c824041d8ea249fa3aae Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:20 2015 +0800 crypto: qat - Convert to new AEAD interface This patch converts qat to the new AEAD interface. IV generation has been removed since it's equivalent to a software implementation. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Tested-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> commit c1359495c8a19fa686aa48512e0290d2f3846273 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:19 2015 +0800 crypto: picoxcell - Convert to new AEAD interface This patch converts picoxcell to the new AEAD interface. IV generation has been removed since it's equivalent to a software implementation. As picoxcell cannot handle SG lists longer than 16 elements, this patch has made the software fallback mandatory. If an SG list comes in that exceeds the limit, we will simply use the fallback. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d7295a8dc965ee0d5b3f9b1eb7f556c2bfa78420 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:18 2015 +0800 crypto: ixp4xx - Convert to new AEAD interface This patch converts ixp4xx to the new AEAD interface. IV generation has been removed since it's a purely software implementation. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 479bcc7c5b9e1cbf3278462d786c37e468d5d404 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:17 2015 +0800 crypto: caam - Convert authenc to new AEAD interface This patch converts the authenc implementations in caam to the new AEAD interface. The biggest change is that seqiv no longer generates a random IV. Instead the IPsec sequence number is used as the IV. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 92d95ba91772279b6ef9c6e09661f67abcf27259 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:16 2015 +0800 crypto: authenc - Convert to new AEAD interface This patch converts authenc to the new AEAD interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7079ce62c0e9bfcca35214105c08a2d00fbea9ee Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 17:53:14 2015 +0800 crypto: testmgr - Disable authenc test and convert test vectors This patch disables the authenc tests while the conversion to the new IV calling convention takes place. It also replaces the authenc test vectors with ones that will work with the new IV convention. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1d6669fa83bc31b94f71ff12bbbed3516eefc705 Merge: 76bea64 17fb874 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 20:44:35 2015 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Merge the crypto tree to pull in the qat registration bug fix. commit fdf036507f1fc036d5a06753e9e8b13f46de73e8 Author: Fan Zhang <zhangfan@xxxxxxxxxxxxxxxxxx> Date: Wed May 13 10:58:41 2015 +0200 KVM: s390: host STP toleration for VMs If the host has STP enabled, the TOD of the host will be changed during synchronization phases. These are performed during a stop_machine() call. As the guest TOD is based on the host TOD, we have to make sure that: - no VCPU is in the SIE (implicitly guaranteed via stop_machine()) - manual guest TOD calculations are not affected "Epoch" is the guest TOD clock delta to the host TOD clock. We have to adjust that value during the STP synchronization and make sure that code that accesses the epoch won't get interrupted in between (via disabling preemption). Signed-off-by: Fan Zhang <zhangfan@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit f341b8dff9823a969be5fb3c958e5cb305ac67e8 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Aug 3 16:16:40 2015 +0200 s390/vtime: limit MT scaling value updates The MT scaling values are updated on each calll to do_account_vtime. This function is called for each HZ interrupt and for each context switch. Context switch can happen often, the STCCTM instruction on this path is noticeable. Limit the updates to once per jiffy. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 4c2880b31c700b03f3f115b5ca64be615783aa9c Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Jul 31 09:44:12 2015 +0100 irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance Commit 3228950621d9 ("irqchip: gic: Preserve gic V2 bypass bits in cpu ctrl register") added a new function, gic_cpu_if_up(), to program the GIC CPU_CTRL register. This function assumes that there is only one GIC instance present and hence always uses the chip data for the primary GIC controller. Although it is not common for there to be a secondary, some devices do support a secondary. Therefore, fix this by passing gic_cpu_if_up() a pointer to the appropriate chip data structure. Similarly, the function gic_cpu_if_down() only assumes that there is a single GIC instance present. Update this function so that an instance number is passed for the appropriate GIC and return an error code on failure. The vexpress TC2 (which has a single GIC) is currently the only user of this function and so update it accordingly. Note that because the TC2 only has a single GIC, the call to gic_cpu_if_down() should always be successful. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438332252-25248-2-git-send-email-jonathanh@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 567e5a014848c6aeb1d6fc862b1b5d0183760259 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Jul 31 09:44:11 2015 +0100 irqchip/gic: Only allow the primary GIC to set the CPU map The gic_init_bases() function initialises an array that stores the mapping between the GIC and CPUs. This array is a global array that is unconditionally initialised on every call to gic_init_bases(). Although, it is not common for there to be more than one GIC instance, there are some devices that do support nested GIC controllers and gic_init_bases() can be called more than once. A 2nd call to gic_init_bases() will clear the previous CPU mapping and will only setup the mapping again for the CPU calling gic_init_bases(). Fix this by only allowing the CPU map to be configured for the primary GIC. For secondary GICs the CPU map is not relevant because these GICs do not directly route the interrupts to the main CPU(s) but to other GICs or devices. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438332252-25248-1-git-send-email-jonathanh@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5a7ff75a0c63222d138d944240146dc49a9624e1 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Aug 4 09:15:58 2015 +0200 s390/syscalls: ignore syscalls reachable via sys_socketcall x86 will wire up all syscalls reachable via sys_socketcall. Therefore this will yield a lot of warnings from the checksyscalls.sh scripts on s390 where we currently don't wire them up directly. This might change in the future, but this needs to be done carefully in order to not break anything. For the time being just tell the checksyscalls script to ignore the missing syscalls on s390. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a763bc8b656d11b7424cd2696e19efca301d8aa4 Author: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Date: Fri May 8 17:40:44 2015 +0200 s390/numa: enable support in s390 configs Signed-off-by: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c29a7baf091fc6b2c9e40561030f8c62e6145a19 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 6 18:47:21 2014 +0100 s390/numa: add emulation support NUMA emulation (aka fake NUMA) distributes the available memory to nodes without using real topology information about the physical memory of the machine. Splitting the system memory into nodes replicates the memory management structures for each node. Particularly each node has its own "mm locks" and its own "kswapd" task. For large systems, under certain conditions, this results in improved system performance and/or latency based on reduced pressure on the mm locks and the kswapd tasks. NUMA emulation distributes CPUs to nodes while respecting the original machine topology information. This is done by trying to avoid to separate CPUs which reside on the same book or even on the same MC. Because the current Linux scheduler code requires a stable cpu to node mapping, cores are pinned to nodes when the first CPU thread is set online. This patch is based on the initial implementation from Philipp Hachtmann. Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 56113f6e6f8d57d3c184544c6421422558a9988e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 3 10:49:29 2015 -0700 ASoC: atmel_ssc_dai: Correct misuse of 0x%<decimal> Correct misuse of 0x%d in logging message. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76bea64c4c8d7fa911eb485c4c2b8583e813331e Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Mon Aug 3 18:56:21 2015 -0500 crypto: talitos - Remove zero_entry static initializer Compiling the talitos driver with my GCC 4.3.1 e500v2 cross-compiler resulted in a failed build due to the anonymous union/structures introduced in this commit: crypto: talitos - enhanced talitos_desc struct for SEC1 The build error was: drivers/crypto/talitos.h:56: error: unknown field 'len' specified in initializer drivers/crypto/talitos.h:56: warning: missing braces around initializer drivers/crypto/talitos.h:56: warning: (near initialization for 'zero_entry.<anonymous>') drivers/crypto/talitos.h:57: error: unknown field 'j_extent' specified in initializer drivers/crypto/talitos.h:58: error: unknown field 'eptr' specified in initializer drivers/crypto/talitos.h:58: warning: excess elements in struct initializer drivers/crypto/talitos.h:58: warning: (near initialization for 'zero_entry') make[2]: *** [drivers/crypto/talitos.o] Error 1 make[1]: *** [drivers/crypto] Error 2 make: *** [drivers] Error 2 This patch eliminates the errors by relying on the C standard's implicit assignment of zero to static variables. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f6e45c24f401f3d0e648bfba304c83b64d763559 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Aug 3 09:08:05 2015 +0200 crypto: doc - AEAD API conversion The AEAD API changes are now reflected in the crypto API doc book. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 327cbbabfb77c321fb9f21068c18e6bb951d07a7 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Aug 3 00:05:03 2015 +0100 crypto: img-hash - fix spelling mistake in dev_err error message Trival change, fix spelling mistake 'aquire' -> 'acquire' in dev_err message. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a6cd379b4d68867295ea35a719008e86d7a2ee9f Author: Subash Abhinov Kasiviswanathan <subashab@xxxxxxxxxxxxxx> Date: Thu Jul 30 16:53:45 2015 +0000 netfilter: ip6t_REJECT: Remove debug messages from reject_tg6() Make it similar to reject_tg() in ipt_REJECT. Suggested-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@xxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 964927f3119289b72e34d8eea65b0fc62b47b499 Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Jul 8 13:42:32 2015 +0300 ARM: dts: dra7: Add named interrupt property for dwc3 Add interrupt names so that the same can be used for OTG easily. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8d33c0934b2be2c90a750978acabf168311dad0a Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Jul 8 13:42:31 2015 +0300 ARM: dts: omap5: Add named interrupt property for dwc3 Add interrupt names so that the same can be used for OTG easily. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1d20e4bfd2af8ac6040008c02db276c9c971fc9b Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Jul 8 13:42:30 2015 +0300 ARM: dts: am4372: Add named interrupt property for dwc3 Add interrupt names so that the same can be used for OTG easily. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 93a1ceea104169c4faff112bf18a782a72e0483e Author: Alban Bedel <albeu@xxxxxxx> Date: Mon Aug 3 19:23:53 2015 +0200 MIPS: ath79: Add the reset controller to the AR9132 dtsi Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit ff591a91225d3621a503bb18faa0f0d747a06e50 Author: Alban Bedel <albeu@xxxxxxx> Date: Mon Aug 3 19:23:52 2015 +0200 reset: Add a driver for the reset controller on the AR71XX/AR9XXX The AR71XX/AR9XXX SoC have a simple reset controller with one bit per reset line. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit f25b5edac7be7d405965fb68c6b6f65d8852d860 Author: Alban Bedel <albeu@xxxxxxx> Date: Mon Aug 3 19:23:51 2015 +0200 devicetree: Add bindings for the ATH79 reset controller Signed-off-by: Alban Bedel <albeu@xxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit d1b22e4d8e57e3914d706b108c5b1718d187557d Merge: a6affd2 f109ff1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Aug 4 01:24:35 2015 -0700 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== add meminfo, bist status and misc. fixes This patch series adds the following. Add support to dump memory address range of various hw modules Add support to dump edc bist status during ecc error Read correct bits of who am i register for T6 adapter and update T6 register range This patch series has been created against net-next tree and includes patches on cxgb4 and cxgb4vf driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. V2: PATCH 3/4 ("cxgb4/cxgb4vf: read the correct bits of PL Who Am I register") Fix switch statement in get_chip_type() and some more style fixes based on review comment by Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f109ff110b0f3e34cea45996734da485a2fdaa42 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Aug 4 14:36:20 2015 +0530 cxgb4: Update T6 register ranges Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d86bd29e0b31f30d5d85ab21385b59703ecc6464 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Aug 4 14:36:19 2015 +0530 cxgb4/cxgb4vf: read the correct bits of PL Who Am I register Read the correct bits of PL Who Am I for the Source PF field which has changed in T6 Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf8ebb67dae0a07db7aebe7a65c178ff24d90842 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Aug 4 14:36:18 2015 +0530 cxgb4: Add support to dump edc bist status Add support to dump edc bist status for ECC data errors Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5888111cb8f7368304db42787c9495d4b2b82e06 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Aug 4 14:36:17 2015 +0530 cxgb4: Add debugfs support to dump meminfo Add debug support to dump memory address ranges of various hardware modules of the adapter. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75f80859b130a1cc84e59e71295ce2dd51fe1c81 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 15 14:35:46 2015 +0200 perf/x86/intel/pebs: Robustify PEBS buffer drain Vince Weaver and Stephane Eranian reported warnings in the PEBS code when running the perf fuzzer. Stephane wrote: > I can reproduce the problem on my HSW running the fuzzer. > > I can see why this could be happening if you are mixing PEBS and non PEBS events > in the bottom 4 counters. I suspect: > for (bit = 0; bit < x86_pmu.max_pebs_events; bit++) { > if ((counts[bit] == 0) && (error[bit] == 0)) > continue; > > This test is not correct when you have non-PEBS events mixed with > PEBS events and they overflow at the same time. They will have > counts[i] != 0 but error[i] == 0, and thus you fall thru the loop > and hit the assert. Or it is something along those lines. The only way I can make this work is if ->status only has !PEBS events set, because if it has both set we'll take that slow path which masks out the !PEBS bits. After masking there are 3 options: - there is one bit set, and its @bit, we increment counts[bit]. - there are multiple bits set, we increment error[] for each set bit, we do not increment counts[]. - there are no bits set, we do nothing. The intent was to never increment counts[] for !PEBS events. Now if we start out with only a single !PEBS event set, we'll pass the test and increment counts[] for a !PEBS and hit the warn. Reported-by: Vince Weaver <vincent.weaver@xxxxxxxxx> Reported-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2a853e1123cbbb43ff74cc47b4ec582ce34df262 Author: Liang, Kan <kan.liang@xxxxxxxxx> Date: Fri Jul 3 20:08:27 2015 +0000 perf/x86/intel/pebs: Fix event disable PEBS buffer drain When disabling a PEBS event, we need to drain the buffer. Doing so requires a correct cpuc->pebs_active mask. The current code clears the pebs_active bit before draining the buffer. Fix that. Signed-off-by: "Liang, Kan" <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver<vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/37D7C6CF3E00A74B8858931C1DB2F07701885A65@xxxxxxxxxxxxxxxxxxxxxxxxxxxx [ Fixed the SOB. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b7b7c7821d932ba18ef6c8eafc8536066b4c2ef4 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Jul 20 11:49:06 2015 -0400 perf/x86: Add an MSR PMU driver This patch adds an MSR PMU to support free running MSR counters. Such as time and freq related counters includes TSC, IA32_APERF, IA32_MPERF and IA32_PPERF, but also SMI_COUNT. The events are exposed in sysfs for use by perf stat and other tools. The files are under /sys/devices/msr/events/ Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> [ s/freq/msr/, added SMI_COUNT, fixed bugs. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: dsahern@xxxxxxxxx Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: mark.rutland@xxxxxxx Cc: namhyung@xxxxxxxxxx Link: http://lkml.kernel.org/r/1437407346-31186-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 070e98873cf7196cad58f8b6e5278dd5533c81f0 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Jul 2 08:12:52 2015 -0400 perf/x86/intel/uncore: Add Broadwell-DE uncore support The uncore subsystem for Broadwell-DE is similar to Haswell-EP. There are some differences in pci device IDs, box number and constraints. Please refer to the public document: http://www.intel.com/content/www/us/en/processors/xeon/xeon-d-1500-uncore-performance-monitoring.html Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1435839172-15114-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8c4fe7095d633dd5543690ea5c3d522c5cd989b6 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Jun 30 16:33:24 2015 -0700 perf/x86/intel: Use 0x11 as extra reg test value The next patch adds a new perf extra register where 0x1ff is not a valid value. Use 0x11 instead. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435707205-6676-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 47732d886385af769449022a02c7cf0ce45d8a5c Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Jun 29 14:22:13 2015 -0700 perf/x86: Make merge_attr() global to use from perf_event_intel merge_attr() allows to merge two sysfs attribute tables. Export it to be usable by other files too. Next patch is going to use that to extend the sysfs format attributes for a CPU. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1435612935-24425-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 90405aa02247c1a6313c33e2253f9fd2299ae60b Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed May 27 21:13:18 2015 -0700 perf/x86/intel/lbr: Limit LBR accesses to TOS in callstack mode In callstack mode the LBR is not a ring buffer, but a stack that grows up and down. This means in this case we don't need to access all LBRs, only the ones up to TOS. Do this optimization for the normal LBR read, and the context switch save/restore code. For save/restore it can be done unconditionally, as it only runs when call stack mode is active. This recovers some of the cost of going to 32 LBRs on Skylake. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1432786398-23861-6-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e0573364b8c5b17401569ef581f1625803210f4d Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed May 27 21:13:17 2015 -0700 perf/x86/intel/lbr: Use correct index to save/restore LBR_INFO with call stack Use the correct index to save/restore the LBR_INFO_x MSR in callstack mode. This is more a cleanup, as even with the wrong index the register was correctly saved/restored, and also LBR callgraph mode in perf tools do not really need anything in LBR_INFO. But still better to use the right index. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Link: http://lkml.kernel.org/r/1432786398-23861-5-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a92e16fd7b4ccd9aabcbc4d42a3fb5f9a3cf4a1 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:44 2015 -0700 perf/x86/intel: Add Intel Skylake PMU support Add perf core PMU support for future Intel Skylake CPU cores. The code is based on Haswell/Broadwell. There is a new cache event list, based on the updated Haswell event list. Skylake has removed most counter constraints on basic events, so the basic constraints table now only has a single entry (plus the fixed counters). TSX support and various other setups are all shared with Haswell. Skylake has 32 LBR entries. Add a new LBR init function to set this up. The filters are all the same as Haswell. It also has a new LBR format with a separate LBR_INFO_* MSR, but that has been already added earlier. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-7-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 425507fa5f321bb5ce1b5eb57a9586e0cf0b9802 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:46 2015 -0700 perf/x86/intel/lbr: Optimize v4 LBR unfreezing In Arch perfmon v4 the GLOBAL_STATUS reset automatically unfreezes LBRs. So no need to do it manually in the LBR code. Add a check to skip it. v2: Move test up to beginning of function. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-9-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0f29e573dd32bb8598e74271454e97c962da5e05 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:47 2015 -0700 perf/x86/intel: Move PMU ACK to after LBR read With Arch Perfmon v4 the PMU ack unfreezes the LBRs. So we need to do the PMU ack after the LBR reading, otherwise the LBRs would be polluted by the PMI handler. This is a minimal change. In principle the ACK could be moved much later. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-10-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d8020bee1d0caa90e7b9d6f39ac1fdfaaee7f67f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:45 2015 -0700 perf/x86/intel: Handle new arch perfmon v4 status bits ArchPerfmon v4 has some new status bits in GLOBAL_STATUS. These need to be ignored when deciding whether a NMI was an NMI, to avoid eating all NMIs when they stay set, see: b292d7a10487 ("perf/x86/intel: ignore CondChgd bit to avoid false NMI handling") This patch ignores the new ASIF bit, which indicates that SGX interfered with the PMU, and also the new LBR freezing bits, which are set when the LBRs get frozen, plus the existing CondChange (set by JTAG debuggers and some buggy BIOSes) Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-8-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 50eab8f6ecd77ae4f9742f8e21ea50705ce0f830 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:43 2015 -0700 perf/x86/intel/lbr: Add support for LBRv5 Add support for the new LBRv5 format used on Intel Skylake CPUs. The flags for mispredict, abort, in_tx etc. moved to range of separate LBR_INFO_* MSRs. Teach the LBR code to read those. The original LBR registers stay the same, except they have full sign extension now. LBR_INFO also reports a cycle count to the last branch. Report the cycle information using the new "cycles" branch_info output field. In addition we have to context switch and clear the new INFO MSRs to avoid any information leaks. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-6-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 71ef3c6b9d4665ee7afbbe4c208a98917dcfc32f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:42 2015 -0700 perf: Add cycles to branch_info Intel Skylake supports reporting the time in cycles a branch in the LBR took, to give a rough indication of the basic block performance. Export the cycle information in the branch_info structure. This can be done by just reusing some currently zero padding. This is just the generic header change. The architecture still needs to fill it in. There's no attempt to convert to real time, as we really want cycles here. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-5-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b83ff1c8617aac03a1cf807aafa848fe0f0908f2 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:41 2015 -0700 x86: Add new MSRs and MSR bits used for Intel Skylake PMU support Add new MSRs (LBR_INFO) and some new MSR bits used by the Intel Skylake PMU driver. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-4-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a7b58d211ba18c9175b139e18b68c86a6bcc3c3f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed May 27 21:13:14 2015 -0700 perf/x86/intel/lbr: Allow time stamp for free running PEBSv3 With PEBSv3 the PEBS record contains a time stamp. That means we can allow free-running PEBS without a PMI even if the user program requested a time stamp. This avoids the need to use -T to get free running PEBS, and also avoids any problems with mis-identifying MMAPs later. Move the free_running_flags state into a variable in x86_pmu and use it. This only works when no explicit clock_id is set. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: eranian@xxxxxxxxxx Cc: jolsa@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1432786398-23861-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2f7ebf2ec2a7b311318aae10b8373b0bd93001a7 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:40 2015 -0700 perf/x86/intel: Add support for PEBSv3 profiling PEBSv3 is the same as the existing PEBSv2 used on Haswell, but it adds a new TSC field. Add support to the generic PEBS handler to handle the new format, and overwrite the perf time stamp using the new native_sched_clock_from_tsc(). Right now the time stamp is just slightly more accurate, as it is nearer the actual event trigger point. With the PEBS threshold > 1 patchkit it will be much more accurate, avoid the problems with MMAP mismatches earlier. The accurate time stamping is only implemented for the default trace clock for now. v2: Use _skl prefix. Check for default clock_id. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a94cab2376cb35f236be14e2833cef63a8762a31 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun May 10 12:22:39 2015 -0700 perf/x86: Add a native_perf_sched_clock_from_tsc() PEBSv3 has a raw TSC time stamp in its memory buffer that later needs to to be converted to perf_clock. Add a native_sched_clock_from_tsc() that works the same as native_sched_clock(), but starts with an already given TSC value. Paravirt is ignored, it will just get the native clock. But there isn't a para virtualized PEBS anyway. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1431285767-27027-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b1bf72d6691cc33fc7763fc8ec77df42ca1a8702 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Thu Jul 30 16:15:31 2015 +0300 perf/x86/intel/pt: Add new timing packet enables Intel PT chapter in the new Intel Architecture SDM adds several packets corresponding enable bits and registers that control packet generation. Also, additional bits in the Intel PT CPUID leaf were added to enumerate presence and parameters of these new packets and features. The packets and enables are: * CYC: cycle accurate mode, provides the number of cycles elapsed since previous CYC packet; its presence and available threshold values are enumerated via CPUID; * MTC: mini time counter packets, used for tracking TSC time between full TSC packets; its presence and available resolution options are enumerated via CPUID; * PSB packet period is now configurable, available period values are enumerated via CPUID. This patch adds corresponding bit and register definitions, pmu driver capabilities based on CPUID enumeration, new attribute format bits for the new featurens and extends event configuration validation function to take these into account. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1438262131-12725-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a6694cfa2390181dec936a17c0d9d21ef7b08d9 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Thu Jul 30 16:48:24 2015 +0300 perf/x86/intel/pt: Do not force sync packets on every schedule-in Currently, the PT driver zeroes out the status register every time before starting the event. However, all the writable bits are already taken care of in pt_handle_status() function, except the new PacketByteCnt field, which in new versions of PT contains the number of packet bytes written since the last sync (PSB) packet. Zeroing it out before enabling PT forces a sync packet to be written. This means that, with the existing code, a sync packet (PSB and PSBEND, 18 bytes in total) will be generated every time a PT event is scheduled in. To avoid these unnecessary syncs and save a WRMSR in the fast path, this patch changes the default behavior to not clear PacketByteCnt field, so that the sync packets will be generated with the period specified as "psb_period" attribute config field. This has little impact on the trace data as the other packets that are normally sent within PSB+ (between PSB and PSBEND) have their own generation scenarios which do not depend on the sync packets. One exception where we do need to force PSB like this when tracing starts, so that the decoder has a clear sync point in the trace. For this purpose we aready have hw::itrace_started flag, which we are currently using to output PERF_RECORD_ITRACE_START. This patch moves setting itrace_started from perf core to the pmu::start, where it should still be 0 on the very first run. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1438264104-16189-1-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27747f8bc355a2808ca9e490ab6866acd85b4c16 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 30 20:32:42 2015 -0700 perf/x86/hw_breakpoints: Fix check for kernel-space breakpoints The check looked wrong, although I think it was actually safe. TASK_SIZE is unnecessarily small for compat tasks, and it wasn't possible to make a range breakpoint so large it started in user space and ended in kernel space. Nonetheless, let's fix up the check for the benefit of future readers. A breakpoint is in the kernel if either end is in the kernel. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/136be387950e78f18cea60e9d1bef74465d0ee8f.1438312874.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ab513927ab449af00cc70b0269e15ee80dd537f9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 30 20:32:41 2015 -0700 perf/x86/hw_breakpoints: Improve range breakpoint validation Range breakpoints will do the wrong thing if the address isn't aligned. While we're there, add comments about why it's safe for instruction breakpoints. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/ae25d14d61f2f43b78e0a247e469f3072df7e201.1438312874.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e5779e8e12299f77c2421a707855d8d124171d85 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 30 20:32:40 2015 -0700 perf/x86/hw_breakpoints: Disallow kernel breakpoints unless kprobe-safe Code on the kprobe blacklist doesn't want unexpected int3 exceptions. It probably doesn't want unexpected debug exceptions either. Be safe: disallow breakpoints in nokprobes code. On non-CONFIG_KPROBES kernels, there is no kprobe blacklist. In that case, disallow kernel breakpoints entirely. It will be particularly important to keep hw breakpoints out of the entry and NMI code once we move debug exceptions off the IST stack. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/e14b152af99640448d895e3c2a8c2d5ee19a1325.1438312874.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ae3f011fc25104a218caf4448b1d47ef1c9b3a42 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Wed Jun 24 11:23:35 2015 -0700 perf/x86/intel: Fix SLM MSR_OFFCORE_RSP1 valid_mask AVG_LATENCY(bit 38) is only available on MSR_OFFCORE_RSP0. So the bit should be removed from RSP1 valid_mask. Since RSP0 and RSP1 may have different valid_mask, intel_alt_er should validate the config on the alternate offcore reg before replacing it. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435170215-5017-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c749b3e96398fcc39286267b72fb8b85c0f757ea Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jun 24 13:05:49 2015 +0300 perf/x86/intel/lbr: Kill off intel_pmu_needs_lbr_smpl for good The x86_lbr_exclusive commit (4807034248be "perf/x86: Mark Intel PT and LBR/BTS as mutually exclusive") mistakenly moved intel_pmu_needs_lbr_smpl() to perf_event.h, while another commit (a46a2300019 "perf: Simplify the branch stack check") removed it in favor of needs_branch_stack(). This patch gets rid of intel_pmu_needs_lbr_smpl() for good. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1435140349-32588-3-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9b3bd379c283577e102529bfb22484238be7c91 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Wed Jun 24 13:05:48 2015 +0300 perf/x86/intel/bts: Drop redundant declarations Both intel_pmu_enable_bts() and intel_pmu_disable_bts() are in perf_event.h header file, no need to have them declared again in the driver. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1435140349-32588-2-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3a999587b4a1815cf4dadddf6b5aad470f048239 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun Jun 14 22:57:41 2015 -0700 perf/x86/intel/uncore: Use Sandy Bridge client PMU on Haswell/Broadwell Haswell and Broadwell have the same uncore CBOX/ARB PMU as Sandy Bridge. Add the respective model numbers to enable the SNB uncore PMU. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1434347862-28490-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e3a13192d86048e91a2a1d534abe5ac2397d9113 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Sun Jun 14 22:57:40 2015 -0700 perf/x86/intel/uncore: Add support for ARB uncore PMU on Sandy/IvyBridge Add a new "ARB" uncore PMU that is used to monitor the uncore queue arbiter. This is useful to measure uncore queue occupancy and similar statistics. The registers all have the same format as the existing CBOX PMU. Also move the event constraints from the CBOX to ARB. The 0x80+ events are ARB events and cannot be scheduled on a CBOX PMU. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: kan.liang@xxxxxxxxx Link: http://lkml.kernel.org/r/1434347862-28490-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 070a7cdfa4a0a799235d79e58e7b0b2d94dff190 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jul 17 10:57:59 2015 +0530 perf/x86/intel/uncore: Remove use of macro DEFINE_PCI_DEVICE_TABLE() The DEFINE_PCI_DEVICE_TABLE() macro is deprecated. Use 'struct pci_device_id' instead of DEFINE_PCI_DEVICE_TABLE(), with the goal of getting rid of this macro completely. This Coccinelle semantic patch performs this transformation: @@ identifier a; declarer name DEFINE_PCI_DEVICE_TABLE; initializer i; @@ - DEFINE_PCI_DEVICE_TABLE(a) + const struct pci_device_id a[] = i; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150717052759.GA6265@vaishali-Ideapad-Z570 Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3a2a7797326a4bc59b7ff0cc92c8b274abf21892 Author: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Date: Tue May 26 11:47:39 2015 -0700 perf/x86/intel/rapl: Add support for Knights Landing (KNL) Knights Landing DRAM RAPL supports PKG and DRAM RAPL domains. DRAM RAPL has a different fixed energy unit (2^-16J) similar to that of HSW. Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Stephane Eranian <eranian@xxxxxxxxxx> Acked-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jacob Pan Jun <jacob.jun.pan@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Nikhil Rao <nikhil.rao@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/aa63b4a3af3160152fea1a10c807f4200527280c.1432665809.git.dasaratharaman.chandramouli@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bef033a3c68a0cd31c81973946be768e9dd7ba42 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Aug 4 09:42:54 2015 +0200 sched, sparc32: Update scheduler comments in copy_thread() There's no finish_arch_switch() anymore in the latest scheduler tree. Also update some other details. Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3c8e4793556981a7f532599959aa3303968056f0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 29 17:31:47 2015 +0200 sched: Remove finish_arch_switch() One less arch hook.. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe363adb922583bacfbd5a30a4c773ccff9bb393 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Wed Jul 29 13:06:29 2015 -0400 sched, tile: Remove finish_arch_switch Move the simulator bits into switch_to() and use finish_arch_post_lock_switch() for the homecache migration bits. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b31fdac2a921c8bf5ed9fe2c908625a54ce91e92 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 29 17:14:48 2015 +0200 sched, sh: Fold finish_arch_switch() into switch_to() The code looks buggy; why would we be restoring the previous task's DSP state after we've switched to the next task? Fix that and put the restore in switch_to(), removing the need for finish_arch_switch(). Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: michael@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 08960e344800267df4980c2180e3c2c0c9b5f460 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 29 17:27:17 2015 +0200 sched, score: Remove finish_arch_switch() An empty implementation, make it go away. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dfdbd59712d58e2ead89df616798968392c5423b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 29 17:28:04 2015 +0200 sched, avr32: Remove finish_arch_switch() Fold the tracing hook into switch_to() in order to remove finish_arch_switch(). Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6916ce3ffff80f0102d39922ddb3b8c4540f2ea2 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 29 12:14:42 2015 +0200 sched, MIPS: Get rid of finish_arch_switch() MIPS was using finish_arch_switch() as a hook to restore and initialize CPU context for all threads, even newly created kernel and user threads. This is however entirely solvable within switch_to() so get rid of finish_arch_switch() which is in the way of scheduler cleanups. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7baa7aecdd2f009ddd00a4ad0690c6918bab5b01 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Jul 29 12:41:49 2015 +0100 sched, arm: Remove finish_arch_switch() Fold finish_arch_switch() into switch_to(). Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxx [ Fixed up the SOB chain. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 18f5a374b3db33720dc8c66cb94947585904d6c6 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 16 20:17:42 2015 +0300 iwlwifi: pcie: reset write pointer on ict reset Since the CSR_DRAM_INIT_TBL_WRITE_POINTER bit wasn't set on ict reset, in some flows (like disable ict followed by immediate reset ict) the driver and hardware went out of sync (the driver cleared the ict_index, while the hw kept it intact). Fix it by setting the flag when resetting ict. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6dfb36c89dc21c2c77a4b8ea48679cbb15d158b4 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 9 14:17:24 2015 +0300 iwlwifi: call d3_suspend/resume in d0i3 case as well Some CSR registers have to be configured also in case of suspend/resume with unified image (which doesn't includes reconfiguration flow). Reuse the existing d3_suspend/d3_resume trans ops, while making sure some configurations are a bit different, according to the wowlan type. After this change, we no longer need the special wowlan_d0i3 configurations done in iwl_pci_resume, as they are already being done in the d3_resume op. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit cdc306b2f604d59bb7fb558fadade195f1eb289e Author: Gregory Greenman <gregory.greenman@xxxxxxxxx> Date: Mon Jul 20 12:55:34 2015 +0300 iwlwifi: mvm: ignore CQM when setting beacon filtering in D0i3 enter flow CQM overwrites a few thresholds in the bf command. On the other hand, when entering D0i3 the thresholds are set to higher values on purpose, so ignore CQM in this case. Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f739c39ce630c97912a16639bd10231073aef6c8 Author: Gregory Greenman <gregory.greenman@xxxxxxxxx> Date: Wed Jul 22 15:46:37 2015 +0300 iwlwifi: mvm: fix beacon filtering temperature thresholds for D0i3 The slow filtering threshold should be higher in D0i3 case. Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 93190fb0589f97bd603bd545459122a8f5532080 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Sat Dec 27 09:09:47 2014 +0200 iwlwifi: mvm: Enable Rx Checksum hw TCP software implementation on the host requires extensive computing power. Offloading even some of the TCP/IP stack to the NIC might save a significant overhead. In order to enable this feature on our hw, we need to configure it first. Once done, we mark this capability, to be advertised later to the OS via ieee80211_register_hw. The driver Rx indications for TCP Checksum is integrated within the standard Rx status. The driver responds to those indications as follows: If the frame was tested by hw and checksum ok report CHECKSUM_UNNECESSARY. Otherwise, report CHECKSUM_NONE. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 869f3b15c9fba037956f642b2023fd16d9ee2f56 Author: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> Date: Mon Jul 20 14:16:21 2015 +0300 iwlwifi: pcie: provide a way to stop configuration if it is forbidden The firmware debug infrastructure allows the user to provide a firmware that will toggle a few registers to configure the debugging capabilities. On certain devices, certain operations are forbidden. Executing a forbidden operation will cause the hardware to die in a way that only driver unload / load will bring it back to life. Fortunately, there is a way to know in advance if those operations will be accepted by the device. This is where the new PRPH_BLOCKBIT operation plays its role. If the bit X from PRPH register Y is set, then we should prevent any further register configuration. When that happens, drop a line in the kernel log since this is really an error state: the user won't have his device configured as he expected. Add operations that will be used in the future: INDIRECT_ASSIGN, INDIRECT_SETBIT, and INDIRECT_CLEARBIT. Other debugging configurations (such as destination configuration for the monitor) will take place in any case. Signed-off-by: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d0ab08d05e5ae84edda5bf86797cbc2daee75db2 Author: Ilan Peer <ilan.peer@xxxxxxxxx> Date: Wed Jun 24 09:23:01 2015 +0300 iwlwifi: mvm: Use the AP station for non_sta transmit In iwl_mvm_tx_skb_non_sta(), in case of managed interface, use the AP station for multicast frames instead of the auxiliary station as otherwise the frames can be sent to an absent P2P GO as the FW does not block transmissions for the auxiliary station since it is not associated with the station MAC context. Note that this is not possible for unicast frames, as a TDLS discovery response is sent without a station entry, and in this case the P2P GO NoA should not block transmission to the peer. Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d576cd9d599604b9b712939c2ddea0db90463126 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Sun Jun 28 08:10:46 2015 +0300 iwlwifi: mvm: update comment of power_scheme module parameter Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c43fe907fec2c1925d423777ba14e0baf30c672c Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jun 4 21:59:32 2015 +0300 iwlwifi: return error if d0i3 was aborted Allow the transport layer to return an error upon suspend. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2d42801bd62eb2018da914272fd505a6d32004a8 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Jun 17 15:32:37 2015 +0300 Revert "iwlwifi: mvm: move deferred d0i3 exit to resume_complete op" This reverts commit 088070a2f6575402d3dd82e1c5a4a8e1941805f6. When working in d0i3_on_idle mode, we explicitly go out of d0i3 on resume (so other potential commands could be sent). However, D0I3_DEFER_WAKEUP is currently cleared on resume complete (which happens only later on), causing d0i3 exit to timeout. Since mac80211 was modified to accept incoming frames once drv_resume was called, we can safely revert this patch, and handle the pending work on iwl_mvm_resume(). Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 88742c9e84f73eeea4abe967d751b0e6318c2c2e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 30 15:31:22 2015 +0200 iwlwifi: mvm: move existing UMAC commands to group 1 Existing UMAC commands already use the long header, but are sent with group 0 and the long header inserted manually. Move them to the group 1 to take advantage of the header building in the low- level transport. Existing firmware ignores the group_id field (it's reserved) and the first firmware that really supports long command headers can parse all commands in both group 0 (with short header) and group 1 (with long header.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ab02165ccec4c78162501acedeef1a768acdb811 Author: Aviya Erenfeld <aviya.erenfeld@xxxxxxxxx> Date: Tue Jun 9 16:45:52 2015 +0300 iwlwifi: add wide firmware command infrastructure for TX As the firmware is slowly running out of command IDs and grouping of commands is desirable anyway, the firmware is extending the command header from 4 bytes to 8 bytes to introduce a group (in place of the former flags field, since that's always 0 on commands and thus can be easily used to distinguish between the two. In order to support this most easily in the driver widen the command command ID used in the command sending functions and encode the new values (group and version) in the ID. That way existing code doesn't have to be changed (since the higher bits are 0 automatically) and newer code can easily use the new ID generation function to create a value to use in place of just the command ID. Signed-off-by: Aviya Erenfeld <aviya.erenfeld@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ce7929186a390b8630953be6d8225a9ae88030af Author: Gregory Greenman <gregory.greenman@xxxxxxxxx> Date: Tue Jun 2 18:06:16 2015 +0300 iwlwifi: mvm: add basic Time of Flight (802.11mc FTM) support ToF is a time based method for measurement of the WiFi device location within a WiFi environment. The driver functionality provided by this patch is the interface for communication with FW and receiving location related updates from the FW. The interface provided by this patch is via debugfs. Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6bcb00f6183d1eb5d9f8548fe823be7e6d95b912 Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Sun Jun 7 10:36:23 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_BASIC_DWELL All the supported firmwares support this API. This includes removing dwell per band, as band is no longer a factor in calculating the dwell. Only basic dwell is used and FW will calculate the actual dwell time. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 30f27df9ba44422b718d244a677b1cc6a5bd5ded Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 30 14:45:40 2015 +0200 iwlwifi: remove command header flags field The 'flags' field really has been reserved in the firmware API for a very long time, probably since 4965. As a consequence, the field is always 0 and checking for a IWL_CMD_FAILED_MSK flag makes no sense. Rename the field to 'reserved', get rid of IWL_CMD_FAILED_MSK and all the code for it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 31f920b63ae8ff5bf278a00dd8478e58ed89ff95 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jul 2 14:53:02 2015 +0300 iwlwifi: pcie: don't warn on long MPDUs when supported In iwlmvm firmwares, the Byte count written in the scheduler byte count table is in DWORDs and not in bytes. We should check that this value fits in the 12 bits and the value can be either in bits of in DWORD or bytes depending on the firmware. Check the value after the translation to DWORDs is done (if needed). Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 33b56af188ddbd1027b7eaff7abb1507b708f155 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jun 25 12:55:45 2015 +0300 iwlwifi: pcie: add missing calls to synchronize_irq() In a few places, we were disabling interrupts but didn't make sure that the interrupt handler has finished running. Add calls to synchronize_irq() to ensure we finish handling the interrupts before we free resources or other things that could lead to a crash if the interrupt were to be handled later. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1103323ca1aafb0aa32064abec736ea9f2ce66a6 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Jun 24 14:58:13 2015 +0300 iwlwifi: pcie: cancel Tx timer upon firmware crash When the firmware crashes, we can't expect the Tx queues to progress. Cancel their timer. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5bf12f6096ad615c90accc1f37935423ea1a3c26 Author: Ilan Peer <ilan.peer@xxxxxxxxx> Date: Wed Jun 24 10:25:26 2015 +0300 iwlwifi: mvm: Do not sample the device time for session protection Since the time-event is sent with the immediate flag set, there is no need to sample the device time. Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f7e6469fc90aa388ac5047e1ba914b31af9240ae Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 21:58:17 2015 +0200 iwlwifi: remove command and return value from opmode RX With the previous patch series, no opmode continues using the command or handler_status (i.e. the return value from the RX) so it can be removed now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0416841d709e4d90913576cc43a397e450a745b1 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 21:22:09 2015 +0200 iwlwifi: mvm: remove command/return value from RX handlers In the mvm driver, neither the old command nor the return value are used, so remove them. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 73e686f399b3a11e4d26dc13b6f68380e31820dd Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 21:22:09 2015 +0200 iwlwifi: dvm: remove command/return value from RX handlers After the previous patches, the command that's passed in nor the return value are used any more, so can be removed. While at it, make some functions static. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 121b80091916a3fc401f515c8c6cbdfe9ece3576 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 21:01:44 2015 +0200 iwlwifi: dvm: remove ADD_STA prints relying on station ID This makes the logging a little less useful, but as they're mostly synchronous commands it won't matter much. It gets rid of the dependency on the input command, which this is the only user of. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4492bb6b10b1fbbc3fd4e8ea1b1bef51a1b2b31a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 20:56:45 2015 +0200 iwlwifi: dvm: move ADD_STA response handling to sync command This driver currently has some very confusing ADD_STA response handling that runs asynchronously in the background for all of the commands, but is only really necessary for synchronous ones (the really asynchronous ones can only be done for already existing stations), and for the sync ones it actually waits for the RX handler to return a status code. Rework this to keep the debug printing in the handler, but do the code that's supposed to have an effect only for sync commands in the command sending function. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2dc2a15ebd12c44074d0ea2eef3e97956df4bb86 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 17:09:18 2015 +0200 iwlwifi: mvm: LRU-assign key offsets The current key offset assignment algorithm always uses the lowest unused key offset, which will potentially lead to issues when the firmware will change to take the key material for TX from the key table rather than from the TX command. In order to avoid those issues (and avoid forgetting about them) change the key offset allocation algorithm now to avoid reusing key offsets quickly. The new algorithm always picks as the next offset the least recently freed offset, i.e. the offset that has been unused for the longest amount of time. This is implemented by having a generation counter for each key offset that is incremented every time a key is deleted, except for the one that's deleted, which is reset to zero. Thus the highest counter is the key that's been unused longest. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 94ce9e5e73c71b26a19b83844f9840859f3b035b Author: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> Date: Sun Jun 14 11:17:07 2015 +0300 iwlwifi: pcie: Set scheduler to work on auto mode During NIC initialization shared HW is reset and this disables the scheduler. Some HW platforms do not activate the scheduler after it. Consequently all HCMD sent by the driver stay at the queues which cause to queue stuck. Set the scheduler to work on auto active mode so it would be activated upon change over one of the queues' write pointer. Signed-off-by: Haim Dreyfuss <haim.dreyfuss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a6affd24f439feddec04bab4d1e3ad6579868367 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Mon Aug 3 17:50:04 2015 +0100 mpls: Use definition for reserved label checks In multiple locations there are checks for whether the label in hand is a reserved label or not using the arbritray value of 16. Factor this out into a #define for better maintainability and for documentation. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c961b1ccd0f258bdee808c61c2c2a0907a1fffda Merge: 58da018 0335f5b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 3 22:26:14 2015 -0700 Merge branch 'lwtunnel-encap-local' Robert Shearman says: ==================== lwtunnel: encap locally-generated ipv4 packets Locally-generated IPv4 packets, such as from applications running on the host or traceroute/ping currently don't have lwtunnel output redirected encap applied. However, they should do in the same way as for forwarded packets and this patch series addresses that. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0335f5b500adcc28bc3fd5d8a1e4482c348cff4a Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Mon Aug 3 17:39:21 2015 +0100 ipv4: apply lwtunnel encap for locally-generated packets lwtunnel encap is applied for forwarded packets, but not for locally-generated packets. This is because the output function is not overridden in __mkroute_output, unlike it is in __mkroute_input. The lwtunnel state is correctly set on the rth through the call to rt_set_nexthop, so all that needs to be done is to override the dst output function to be lwtunnel_output if there is lwtunnel state present and it requires output redirection. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abf7c1c540f8330fead5d50730d92606dcbe7a7e Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Mon Aug 3 17:39:20 2015 +0100 lwtunnel: set skb protocol and dev In the locally-generated packet path skb->protocol may not be set and this is required for the lwtunnel encap in order to get the lwtstate. This would otherwise have been set by ip_output or ip6_output so set skb->protocol prior to calling the lwtunnel encap function. Additionally set skb->dev in case it is needed further down the transmit path. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0a12625d2ff2c63321b3cf48c48184748ab577a Author: Tushar Dave <tushar.n.dave@xxxxxxxxx> Date: Wed Jun 10 13:34:24 2015 -0700 thermal: Add Intel PCH thermal driver This change adds a thermal driver for Wildcat Point platform controller hub. This driver register PCH thermal sensor as a thermal zone and associate critical and hot trips if present. Signed-off-by: Tushar Dave <tushar.n.dave@xxxxxxxxx> Reviewed-by: Pandruvada, Srinivas <srinivas.pandruvada@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 4e0fa71c934287c160e264b3d5dd0e5c0824f6f9 Author: Mayank Bareja <mbareja@xxxxxxxxxxx> Date: Mon Aug 3 11:23:01 2015 +0000 Staging: rtl8188eu/core: fixed code indentation warning as reported by checkpatch.pl fixed code indentation warning as detected with checkpatch.pl. Replaced spaces with tabs. Signed-off-by: Mayank Bareja <mbareja@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66e6d70df20046d3e2b04d9455dd68acfc5c61ef Author: Yash Shah <yshah1@xxxxxxxxxxx> Date: Mon Aug 3 11:18:31 2015 +0000 Staging: rts5208: Fix code indentation warning as detected by checkpatch.pl Fixed code indentation warning as detected by checkpatch.pl. Signed-off-by: Yash Shah <yshah1@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a96389d9add1bc9e32b73ead10cf255f7d598a0d Author: Zoltán Lajos Kis <zoltan.lajos.kis@xxxxxxxxx> Date: Sun Aug 2 22:36:31 2015 +0200 staging: lustre: service.c: make local functions static Makes functions that are not used outside the file in which they are defined static, as reported by sparse: drivers/staging/lustre/lustre/ptlrpc/service.c:72:35: warning: symbol 'ptlrpc_alloc_rqbd' was not declared. Should it be static? 1065 drivers/staging/lustre/lustre/ptlrpc/service.c:105:1: warning: symbol 'ptlrpc_free_rqbd' was not declared. Should it be static? 1066 drivers/staging/lustre/lustre/ptlrpc/service.c:122:1: warning: symbol 'ptlrpc_grow_req_bufs' was not declared. Should it be static? 1067 drivers/staging/lustre/lustre/ptlrpc/service.c:3055:5: warning: symbol 'ptlrpc_svcpt_health_check' was not declared. Should it be static? Signed-off-by: Zoltán Lajos Kis <zoltan.lajos.kis@xxxxxxxxx>" Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b34cd299319584f9fd342a5c01af83440d512bd Author: Zoltán Lajos Kis <zoltan.lajos.kis@xxxxxxxxx> Date: Sun Aug 2 19:22:30 2015 +0200 staging: lustre: echo_client: fix sparse declaration warnings Fixes the following sparse warnings: drivers/staging/lustre/lustre/obdecho/echo_client.c:2142:5: warning: symbol 'echo_client_init' was not declared. Should it be static? drivers/staging/lustre/lustre/obdecho/echo_client.c:2157:6: warning: symbol 'echo_client_exit' was not declared. Should it be static? Signed-off-by: Zoltán Lajos Kis <zoltan.lajos.kis@xxxxxxxxx>" Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bb546f755380aa5129e480fb0cf04c0655ce13a Author: Kent Gustavsson <kent@xxxxxxxxxx> Date: Sun Aug 2 18:14:50 2015 +0200 staging: rtl8192u: r819xU_firmware: fix coding style Line over 80 characters. This is for Eudyptula Challenge Signed-off-by: Kent Gustavsson <kent@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81e053c75a216573bbb10a0325832ca64bcb0404 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:59 2015 -0400 staging/lustre: Get rid of inode_dio_write_done and inode_dio_read These primitives are long deprecated and unused. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66a23f0cc28b6257328aa2e17499a1f3bd0bd18d Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:58 2015 -0400 staging/lustre: Get rid of ll_pagevec_ macros They are noop anyways. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d5be52f985b3d0b0b6d0dcae8eb896418bd0d3a Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:57 2015 -0400 staging/lustre: Use hlist primitives directly Get rid of ll_d_hlist* compat defines. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56ea686bb749d06bdb67cb95a873a87c5d1fc243 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:56 2015 -0400 staging/lustre: Drop FMODE_UNSIGNED_OFFSET define It's not really used anywhere. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a3555cd3245b3204189a1118364ad41467b73ca Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:55 2015 -0400 staging/lustre: remove unused ll_quota_on and ll_quota_off They are not used anywhere, so safe to drop. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c625ae0713f18d070ad94612fa3d7f46598f0086 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Jul 31 19:42:54 2015 -0400 staging/lustre: Drop SEEK_* definition checks SEEK_DATA and SEEK_HOLE are always defined in the kernel, drop the definition checks Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08582d83e5a23aa2f6316421a4f14a44be3c8e32 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Thu Jul 30 23:48:50 2015 +0200 staging: rtl8192e: Rework EEPROM handling code Card configuration is stored in SPI EEPROM (93c46 or 93c56) working in 128|256x16 mode. Communication is handled using GPIO bitbang. >From behaviour perspective, delay after read was removed. It is not needed as we wait after reading GPIO mapped to PCI-E register - it should have no side effects. According to sample EEPROM datasheet (AT93Cx6), max frequency for worst case scenario (1.8V supply) is 250kHZ (vs. 1MHz for 5V). Driver generates ~50kHZ clock - margin should be big enough even for devices from other vendors. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdc792cd1b5c86cb34770707aa1b04edce5288cf Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Fri Jul 31 18:56:32 2015 -0400 staging: unisys: visorchannel: Add peek function According to unisys, the s_par hypervisor has a bug in which it never triggers an interrupt. That makes the visornic effectively a 2ms poll loop. In order to just have the rx thread shceduling a napi poll every 2ms, lets instead give it the chance to check the response queue for data before we schedule. This helper provides that functionality Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd93b8059294146a1c3dc9cf6b5616c22b7b47f7 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:51 2015 +0200 staging: android: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24b7d011a65042a8bd2f3b93c812c7eae3ead2d8 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:09:52 2015 +0200 staging: fbtft: Allow compile test of GPIO consumers if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad6d8812aa9574b11d5f7a0d322d3b42be24206d Author: Noralf Trønnes <noralf@xxxxxxxxxxx> Date: Thu Jul 30 19:55:01 2015 +0200 staging: fbtft: core: Don't set device platform_data Pass platform_data as an argument to fbtft_framebuffer_alloc() instead of using dev->platform_data. This fixes an issue where the device comes from Device Tree and fbtft_probe_common() sets dev->platform_data to allocated memory. When the module is reloaded, dev->platform_data points to freed memory. Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc7ac432536710193adfb7a05488f8c2e20fbbc2 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Aug 3 11:35:51 2015 -0700 staging: most: fix hdm-dim2 build error Fix build of hdm-dim2. Since it calls a function that is provided by AIM_NETWORK, make it depend on that symbol. Also fix a misspelling in the Kconfig file. drivers/built-in.o: In function `deliver_netinfo_thread': dim2_hdm.c:(.text+0x3a9563): undefined reference to `most_deliver_netinfo' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Jain Roy Ambi <JainRoy.Ambi@xxxxxxxxxxxxx> Cc: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8ff8db038273c9b356c64857f396f037adaefca Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Aug 3 11:35:47 2015 -0700 staging: most: fix aim-sound build errors Fix build errors: driver uses snd_pcm*() interfaces, so select SND_PCM. drivers/built-in.o: In function `audio_rx_completion': sound.c:(.text+0x3cd376): undefined reference to `snd_pcm_period_elapsed' drivers/built-in.o: In function `pcm_prepare': sound.c:(.text+0x3cd3b0): undefined reference to `snd_pcm_format_physical_width' sound.c:(.text+0x3cd3ce): undefined reference to `snd_pcm_format_big_endian' sound.c:(.text+0x3cd42c): undefined reference to `snd_pcm_format_big_endian' drivers/built-in.o: In function `pcm_hw_free': sound.c:(.text+0x3cd50a): undefined reference to `snd_pcm_lib_free_vmalloc_buffer' drivers/built-in.o: In function `pcm_hw_params': sound.c:(.text+0x3cd54c): undefined reference to `_snd_pcm_lib_alloc_vmalloc_buffer' drivers/built-in.o: In function `playback_thread': sound.c:(.text+0x3cd6a0): undefined reference to `snd_pcm_period_elapsed' drivers/built-in.o: In function `audio_probe_channel': sound.c:(.text+0x3cdc0b): undefined reference to `snd_pcm_new' sound.c:(.text+0x3cdc2b): undefined reference to `snd_pcm_set_ops' drivers/built-in.o:(.data+0x952d0): undefined reference to `snd_pcm_lib_ioctl' drivers/built-in.o:(.data+0x95318): undefined reference to `snd_pcm_lib_get_vmalloc_page' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Acked-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ae0751007cdf2deaa87e160f28c50a00b478883 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Aug 3 13:44:30 2015 +0200 Staging: most: avoid possible integer overflow This patch prevents a potential integer overlow. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 155718cfd1dd1a92b7dbf84db41fe15f6b219cc0 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Aug 2 22:20:58 2015 +0300 mei: hbm: bump supported HBM version to 2.0 HBM 2.0 version for Sunrise point Skylake (PCH) based devices Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1625c7ec96942b87eee1463aed6ec0595698b931 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Aug 2 22:20:57 2015 +0300 mei: me: add sunrise point device ids Add MEI devices ids for Intel Sunrisepoint Skylake (PCH) Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9a1fc99588c2861d4dc26d53b0f47b495cc2964 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:56 2015 +0300 mei: me: d0i3: exit d0i3 on driver start and enter it on stop A BIOS may put the device in d0i3 on platform initialization so it wonâ??t consume power even if the driver is not present, in turn the driver has to wake up the devices on load in order to perform the initialization sequence and move it back to low power state on driver remove. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebad6b945ee2e7e93454ba52030b93e08290317c Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:55 2015 +0300 mei: me: d0i3: move mei_me_hw_reset down in the file Move mei_me_hw_reset down in the source file to avoid forward declarations when introducing d0i3 flow in the next patch. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 859ef2ffbfa785d273567467088cc8743f80b5bd Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:54 2015 +0300 mei: me: d0i3: add d0i3 enter/exit state machine Rework mei power gating state machine to support entry and exit to and from D0i3 power state. The choice between legacy and D0i3 routines is conditioned on d0i3_supported flag. The patch introduces warning: drivers/misc/mei/hw-me.c:901:12: warning: â??mei_me_d0i3_enterâ?? defined but not used [-Wunused-function] it will go away in consequent patch Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63f75232dbb17badc31c3cc6cc1434763d5a6009 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:53 2015 +0300 mei: hbm: reorganize the power gating responses Before adding support for D0i3 we need to reorganize the hbm pg handling Move HBM PG response code to dedicated functions in order to unclutter hbm command switch. Add check for the right system state before message processing and return -EPROTO in state mismatch case. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fa55b4e0e161b3d16b52f5bab1b39b39607bc27 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:52 2015 +0300 mei: me: d0i3: enable d0i3 interrupts D0i3 adds additional interrupt reason bit, therefore we add a variable intr_source to save the interrupt causes for further dispatching. The interrupt cause is saved in the irq quick handler to achieve unified behavior for both MSI enabled and shared interrupt platforms. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb9f4d26dda7d2a875cadc0f7eedee3d65d3d1f5 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Aug 2 22:20:51 2015 +0300 mei: me: d0i3: add flag to indicate D0i3 support Detect d0i3 low power state during hw configuration, the value is set in HFS_1 pci config reigister. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11830486c5717c713bb363b14944cda39e3034f9 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Aug 2 22:20:50 2015 +0300 mei: me: d0i3: add the control registers Starting with Intel Sunrisepoint (Skylake PCH) the MEI device supports D0i3 low power state. Add D0i3 control registers. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71e117f28a6782fa2d31cce63340a9f18417afa4 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Wed Jul 29 14:59:33 2015 +0300 mei: hbm: add new error code MEI_CL_CONN_NOT_ALLOWED The device can return error 5 (NOT_ALLOWED) on connection attempt. This error can happen if: 1. An another connection attempt is in progress 2. There is an attempt to connect a fixed (connectionless) client 3. The number of available connections is exceeded (new in HBM 2.0) We should not hit that error unless there is an internal book keeping hiccup except option (3), therefore we translate the error code to errno EBUSY; Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb2ef9c39db2e3c2562b4e439b2b00dc42e2c026 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Sun Jul 26 09:54:23 2015 +0300 mei: bus: add and call callback on notify event Enable drivers on mei client bus to subscribe to asynchronous event notifications. Introduce events_mask to the existing callback infrastructure so it is possible to handle both RX and event notification. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 237092bf034a648611f61eb1f0965e9ba1b08871 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:22 2015 +0300 mei: implement fasync for event notification A process can be informed about client notification also via SIGIO with POLL_PRI event. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c84c2970c1acf83827aa97ab0e6addc3d2aa960 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:21 2015 +0300 mei: support polling for event notification Polling on priority events is translated on waiting for event notification. One need to enable notification prior for calling select or poll system call otherwise process will not wait. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c7c8468e5d993dfe377a67e41cbb23cda93af9e Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:20 2015 +0300 mei: add async event notification ioctls Add ioctl IOCTL_MEI_NOTIFY_SET for enabling and disabling async event notification. Add ioctl IOCTL_MEI_NOTIFY_GET for receiving and acking an event notification. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b38a362fad6686dd580a50590053a76ded601a0b Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:19 2015 +0300 mei: add a handler that waits for notification on event mei_cl_notify_get is to be called by a host client to wait, receive, and ack the event notification. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51678ccb7b12dd428a84d466ff379a5e2d717f1f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:18 2015 +0300 mei: add mei_cl_notify_request command Add per client notification request infrastructure that allows client to enable or disable async event notification. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d99877d871da0bbb924b2d7aa4ccb27e1ffa93a Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:17 2015 +0300 mei: enable async event notifications only from hbm version 2.0 Only FW version 2.0 and newer support the async event notification. For backward compatibility block the feature if the FW version is older then 2.0 Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 965ae37ab86eb8cd327c5752dc9e2190d33db25c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:16 2015 +0300 mei: implement async notification hbm messages Implement sending and reception handlers for the async event notification hbm commands. Add client notification book keeping data required for the messages notify_en to indicate whether notification is enabled notify_ev to indicate whether an event is pending Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3c1c809c476ba248175a89156f7d625caf5f9a6 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Jul 26 09:54:15 2015 +0300 mei: define async notification hbm commands FW has gained new capability where a FW client can asynchronously notify the host that an event has occurred in its process. The notification doesn't provide any data and host may need to query further the FW client in order to get details of the event. Host can subscribe or unsubscribe to the event notification via designated HBM commands, and also the notification is carried on a new HBM command. This patch adds definitions of asynchronous notification HBM commands. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18901357e70ae29e3fd1c58712a6847c2ae52eae Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Thu Jul 23 21:37:13 2015 +0300 mei: disconnect on connection request timeout For the FW with HBM version >= 2.0 we don't need to reset the whole device in case of a particular client failing to connect, it is enough to send disconnect a request to bring the device to the stable state. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70ef835c84b3b88e274a53bf80a70940ae178a91 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 21:37:12 2015 +0300 mei: support for dynamic clients HBM version 2.0 and above allows ME clients in the system to register/unregister after the system is fully initialized. Clients may be added or removed after enum_resp message was received 1. To preserve backward compatibility the driver can opt-in to receive client add messages by setting allow_add field in enum_req 2. A new client is added upon reception of MEI_HBM_ADD_CLIENT_REQ_CMD 3. A client is removed in a lazy manner when connection request respond with MEI_HBMS_CLIENT_NOT_FOUND status Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6009595a66e460af0b170d736398c49395cb4499 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:47 2015 +0300 mei: bus: link client devices instead of host clients MEI bus was designed around nfc and was hard to extend. Instead of the hard coded way of adding the devices on the mei bus we scan the whole me client list and create a device for each eligible me client (mei_cl_bus_rescan); currently we support only clients with single connection and fixed address clients. NFC radio name detection is run as a fixup routine The patch replaces handling the device list based on struct me_cl to device list based on me_cl_devices. The creating a connection is pushed from the device creation time to device enablement. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b39910c2e0ac7c3d0e2f1999b04308c771b1d8fc Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:46 2015 +0300 mei: bus: simplify how we build nfc bus name Remove the dependency on struct ndev from the nfc device name creation function so it is possible to use it in a fixup routine Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd070a1694c563bd7ba5239dd3038ff1420cf856 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:45 2015 +0300 mei: bus: blacklist clients by number of connections Currently we support only clients with single connection and fixed address clients so all other clients are blacklisted Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b6dca29b416d8992d52d814aa4be5d7fc97799d Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:44 2015 +0300 mei: bus: blacklist the nfc info client Blacklist nfc info client which is only used for retrieval of the NFC radio version Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71ce789115f878a07e4a6c43d6006cea6aee1078 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:43 2015 +0300 mei: bus: enable running fixup routines before device registration Split the device registration into allocation and device struct initialization, device setup, and the final device registration. This why it is possible to run fixups and quirks during the setup stage on an initialized device. Each fixup routine effects do_match flag. If the flag is set to false at the end the device won't be registered on the bus. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ff0a8d853039aa60bba3ca3e04e4fb74584a736 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:42 2015 +0300 mei: bus: add me client device list infrastructure Instead of holding the list of host clients (me_cl) we want to keep the list me client devices (mei_cl_device) This way we can create host to me client connection only when needed. Add list head to mei_cl_device and cl_bus_lock Add bus_added flag to the me client (mei_me_client) to track if the appropriate mei_cl_device was already created and is_added flag to mei_cl_device to track if it was already added to the device list across the bus rescans Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 512f64d9f7467597388ffbd5a21589ee3f375d8b Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:41 2015 +0300 mei: bus: add reference to bus device in struct mei_cl_client Add reference to the bus device (mei_device) for easier access. To ensures that referencing cldev->bus is valid during cldev life time we increase the bus ref counter on a client device creation and drop it on the device release. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit feb8cd0fe7d63fd259c28f8a52fc88745717c9ec Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:40 2015 +0300 mei: bus: revamp probe and remove functions Instead of generating device id on the fly during probing we find the matching id entry on the device id table. Get bus the module reference counter so it cannot be unloaded after the driver has bounded to the client device Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 688a9cce0c8e9116038586ae1cd6adabb10fa5aa Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:39 2015 +0300 mei: bus: revamp device matching mei_cl_device_match now calls mei_cl_device_find that returns the matching device id in the device id table. We will utilize the mei_cl_device_find during probing to locate the matching entry. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48168f4561f479403dbd38379dc8793488a22a6a Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:38 2015 +0300 mei: bus: report if event registration failed If event registeration has failed, the caller should know about it. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e280ab694e2885ee300de9cf5e7047c68230148 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:37 2015 +0300 mei: bus: don't enable events implicitly in device enable Do not enable events implicitly in mei_cl_enable_device, it should be done explicitly using mei_cl_register_event_cb so the events are enabled only when needed. The NFC drivers has been already using it that way so no need for further changes just remove the code from mei_cl_enable_device. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38d3c00d3f312989e50aaf6f4a4b490b4e1e4c37 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:36 2015 +0300 mei: bus: rename uevent handler to mei_cl_device_uevent Rename mei_cl_uevent to mei_cl_device_uevent to match the naming convention of mei_cl_bus_type functions Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6238299774377b12c3e24507b100b2687eb5ea32 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:35 2015 +0300 mei: bus: move driver api functions at the start of the file To make the file more organize move mei client driver api to the start of the file and add Kdoc. There are no functional changes in this patch. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0a785c4ab91656a5413b4cd5bb8ed59f39f7446 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:34 2015 +0300 mei: bus: rename nfc.c to bus-fixup.c The bus-fixup.c will be a place for fixups and quirks for all types of me client devices. As for now it contians only the fixup for setting the nfc device name on the me client bus. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b37719c31f8448ba36abc218a96663b4a6c66eb6 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Jul 23 15:08:33 2015 +0300 mei: bus: fix drivers and devices names confusion In the mei bus layer there is use of different variables of driver and device types with no clear naming convention. There are generic struct device and struct driver, then mei_cl_{device, driver}, and finally mei_device which in this context serves as a bus device. The patch sets following naming convention: the variables of type struct device remains dev the variables of type struct driver remains drv the variables of type struct mei_cl_device are now cldev the variables of type struct mei_cl_driver are now cldrv the variables of type struct mei_device are now bus, in bus layer context Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23253c31c6a7a3c5a437ec31830e2100484c0748 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Thu Jul 23 10:43:11 2015 +0300 mei: do not access freed cb in blocking write The mei_cl_write function is giving up on a write cb ownership after it was sent or queued. The write cb is then freed in the completion handler. Especially during blocking write mei_cl_write function waits for the completion handler and then access the freed memory to fetch the written size. The quick fix is to store the buffer size prior to sending, the size is not altered during the flow. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2e66ad34c10b27c6e408db50e6472c2aae2b5e8 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Wed Jul 29 09:08:53 2015 +0200 Documentation: sysfs-bus-usb: s/CONFIG_PM_RUNTIME/CONFIG_PM/ PM_RUNTIME has been replaced with PM by commit 464ed18ebdb6 ("PM: Eliminate CONFIG_PM_RUNTIME") hence substitute the reference on PM_RUNTIME with PM and re-arrange the text to 80 column break. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bd38ae355227792dde3487779a9dc24d6b99631 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Jul 27 12:33:05 2015 +0200 scripts/checkkconfigsymbols.py: support default statements Until now, checkkonfigsymbols.py did not check default statements for references on missing Kconfig symbols (i.e., undefined Kconfig options). Hence, add support to parse and check the Kconfig default statement. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c745566306e363675d8aa43ee9f39232ade4d5e6 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Jun 1 16:00:20 2015 +0200 checkkconfigsymbols.py: colored output Color output to make it more readable. Symbols will be printed yellow, relevant commits (see --find) red. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Acked-by: Stefan Hengelein <stefan.hengelein@xxxxxx> Acked-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a42fa92ce77a9181f9baf57655acbb241ac4d306 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Jun 1 16:00:19 2015 +0200 checkkconfigsymbols.py: find relevant commits Add option -f/--find to find relevant commits when using the --diff option. --find is useful in case a user wants to check commits that potentially cause a Kconfig symbol to be missing. This is done via 'git log -G $SYMBOL' (i.e., to get a list of commits that change $SYMBOL). The relevant commits are printed below the "SYMBOL\tFILES" line, followed by an empty line to increase readability. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Acked-by: Stefan Hengelein <stefan.hengelein@xxxxxx> Acked-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58da018053531b9cb91423a64f2a762ef0fe7456 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 01:19:58 2015 +0200 bridge: mdb: fix vlan_enabled access when vlans are not configured Instead of trying to access br->vlan_enabled directly use the provided helper br_vlan_enabled(). Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5c90b29e5ccdb90922b808fd4831cfbaa63006c Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Aug 3 16:21:57 2015 +0200 act_bpf: properly support late binding of bpf action to a classifier Since the introduction of the BPF action in d23b8ad8ab23 ("tc: add BPF based action"), late binding was not working as expected. I.e. setting the action part for a classifier only via 'bpf index <num>', where <num> is the index of an existing action, is being rejected by the kernel due to other missing parameters. It doesn't make sense to require these parameters such as BPF opcodes etc, as they are not going to be used anyway: in this case, they're just allocated/parsed and then freed again w/o doing anything meaningful. Instead, parse and verify the remaining parameters *after* the test on tcf_hash_check(), when we really know that we're dealing with creation of a new action or replacement of an existing one and where late binding is thus irrelevant. After patch, test case is now working: FOO="1,6 0 0 4294967295," tc actions add action bpf bytecode "$FOO" tc filter add dev foo parent 1: bpf bytecode "$FOO" flowid 1:1 action bpf index 1 tc actions show action bpf action order 0: bpf bytecode '1,6 0 0 4294967295' default-action pipe index 1 ref 2 bind 1 tc filter show dev foo filter protocol all pref 49152 bpf filter protocol all pref 49152 bpf handle 0x1 flowid 1:1 bytecode '1,6 0 0 4294967295' action order 1: bpf bytecode '1,6 0 0 4294967295' default-action pipe index 1 ref 2 bind 1 Late binding of a BPF action can be useful for preloading maps (e.g. before they hit traffic) in case of eBPF programs, or to share a single eBPF action with multiple classifiers. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90bb6bd385638f37d30dcc7342a62aff80089def Author: Shenwei Wang <shenwei.wang@xxxxxxxxxxxxx> Date: Thu Jul 30 10:32:36 2015 -0500 Serial: imx: add dev_pm_ops to support suspend to ram/disk When system goes into low power states like SUSPEND_MEM and HIBERNATION, the hardware IP block may be powered off to reduce the power consumption. This power down may cause problems on some imx platforms, because the hardware settings are reset to its power on default values which may differ from the ones when it power off. This patch added the dev_pm_ops and implemented two callbacks: suspend_noirq and resume_noirq, which will save the necessory hardware parameters right before power down and recover them before system uses the hardware. Because added the dev_pm_ops, the old suspend/resume callbacks under platform_driver will not be called any more. Changed their prototypes and moved those two callbacks into dev_pm_ops too. Signed-off-by: Shenwei Wang <shenwei.wang@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e70e69bf205e6d1f742f1cf1935b155417c9e29a Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 24 15:58:28 2015 +0900 serial: 8250_uniphier: call clk_disable_unprepare() on failure path If serial8250_register_8250_port() fails, disable and unprepare the clock before exiting. Fixes: 1a8d2903cb6a ("serial: 8250_uniphier: add UniPhier serial driver") Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24751e29fe313105c9dd5f9d1f27028c553381f6 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 09:17:44 2015 -0400 net: dsa: mv88e6xxx: call _mv88e6xxx_stats_wait with SMI lock held At switch setup, _mv88e6xxx_stats_wait was called without holding the SMI mutex. Fix this by requesting the lock for this call. Also, return the _mv88e6xxx_stats_wait code, since it may fail. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e44deb2f0cce9183ca94d14effd4170a35eec31d Author: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 13:29:16 2015 +0200 bridge: mdb: add/del entry on all vlans if vlan_filter is enabled and vid is 0 Before this patch when a vid was not specified, the entry was added with vid 0 which is useless when vlan_filtering is enabled. This patch makes the entry to be added on all configured vlans when vlan filtering is enabled and respectively deleted from all, if the entry vid is 0. This is also closer to the way fdb works with regard to vid 0 and vlan filtering. Example: Setup: $ bridge vlan add vid 256 dev eth4 $ bridge vlan add vid 1024 dev eth4 $ bridge vlan add vid 64 dev eth3 $ bridge vlan add vid 128 dev eth3 $ bridge vlan port vlan ids eth3 1 PVID Egress Untagged 64 128 eth4 1 PVID Egress Untagged 256 1024 $ echo 1 > /sys/class/net/br0/bridge/vlan_filtering Before: $ bridge mdb add dev br0 port eth3 grp 239.0.0.1 $ bridge mdb dev br0 port eth3 grp 239.0.0.1 temp After: $ bridge mdb add dev br0 port eth3 grp 239.0.0.1 $ bridge mdb dev br0 port eth3 grp 239.0.0.1 temp vid 1 dev br0 port eth3 grp 239.0.0.1 temp vid 128 dev br0 port eth3 grp 239.0.0.1 temp vid 64 Signed-off-by: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fecf27a373f5a6b393e93b14f8460299b8abd6f9 Author: Peter Hung <hpeter@xxxxxxxxx> Date: Tue Jul 28 11:59:24 2015 +0800 serial: 8250_pci: add RS485 for F81504/508/512 Add RS485 control for Fintek F81504/508/512 F81504/508/512 can control their RTS with H/W mode. PCI configuration space for each port is 0x40 + idx * 8 + 7. When it set with 0x01, it's configured with RS232 mode. RTS is controlled by MCR. When it set with 0x11, it's configured with RS485 mode. RTS is controlled by H/W, RTS low with idle & RX, high with TX. When it set with 0x31, it's configured with RS485 mode. RTS is controlled by H/W, RTS high with idle & RX, low with TX. We will force 0x01 on pci_fintek_setup(). Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3a10ce3429e5dee623ad5c8407ea58e204fcb0a Author: Richard Watts <rrw@xxxxxxxxxxxxx> Date: Tue May 19 16:06:53 2015 +0100 Avoid usb reset crashes by making tty_io cdevs truly dynamic Avoid usb reset crashes by making tty_io cdevs truly dynamic Signed-off-by: Richard Watts <rrw@xxxxxxxxxxxxx> Reported-by: Duncan Mackintosh <DMackintosh@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fb6dd9da6ed4f2953b62162f3c498a1f6d7bfca Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Mon Aug 3 09:13:34 2015 +0800 clk: hisi: refine parameter checking for init *of_iomap()* will check the device node pointer, and if the pointer is NULL it will return error code. So refine clock's init flow by checking the device node with this simple way; and polish a little for the print out message. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0edc535e96621e41e2d3e7c240e68524d1968807 Merge: 0fbd050 5e52796 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 3 14:24:50 2015 -0700 Merge branch 'stacked-vlan-TSO' Toshiaki Makita says: ==================== Stacked vlan TSO for virtual devices Basically virtual devices do not need to segment double tagged packets. This patch set adds TSO feature for double tagged packets to several virtual devices, which can be realized by simply setting .ndo_features_check to passthru_features_check. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e52796a9a3d56298273030cd438e8015a8d5683 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Jul 31 15:03:27 2015 +0900 tuntap: Don't segment multiple tagged packets on tap device Tap devices don't need to segment multiple tagged packets. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6678053092e808485f4d56dca8705098436495e9 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Jul 31 15:03:26 2015 +0900 bridge: Don't segment multiple tagged packets on bridge device Bridge devices don't need to segment multiple tagged packets since thier ports can segment them. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a04a82156ec31542b956548f9549339de8511d4 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Jul 31 15:03:25 2015 +0900 veth: Don't segment multiple tagged packets on veth device Veth devices don't need to segment multiple tagged packets. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f56e67b5154561dea2bac649085ee1fcb51006f8 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Fri Jul 31 15:03:24 2015 +0900 macvlan: Don't segment multiple tagged packets on macvlan device Macvlan/macvtap devices don't need to segment multiple tagged packets since the lower devices can segment them. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fbd050a7d262b74527a289ae75a33626d1060a8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Jul 31 18:25:17 2015 +0200 virtio_net: add gro capability Straightforward patch to add GRO processing to virtio_net. napi_complete_done() usage allows more aggressive aggregation, opted-in by setting /sys/class/net/xxx/gro_flush_timeout Tested: Setting /sys/class/net/xxx/gro_flush_timeout to 1000 nsec, Rick Jones reported following results. One VM of each on a pair of OpenStack compute nodes with E5-2650Lv3 CPUs and Intel 82599ES-based NICs. So, two "before" and two "after" VMs. The OpenStack compute nodes were running OpenStack Kilo, with VxLAN encapsulation being used through OVS so no GRO coming-up the host stack. The compute nodes themselves were running a 3.14-based kernel. Single-stream netperf, CPU utilizations and thus service demands are based on intra-guest reported CPU. Throughput Mbit/s, bigger is better Min Median Average Max 4.2.0-rc3+ 1364 1686 1678 1938 4.2.0-rc3+flush1k 1824 2269 2275 2647 Send Service Demand, smaller is better Min Median Average Max 4.2.0-rc3+ 0.236 0.558 0.524 0.802 4.2.0-rc3+flush1k 0.176 0.503 0.471 0.738 Receive Service Demand, smaller is better. Min Median Average Max 4.2.0-rc3+ 1.906 2.188 2.191 2.531 4.2.0-rc3+flush1k 0.448 0.529 0.533 0.692 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Tested-by: Rick Jones <rick.jones2@xxxxxx> Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95b9be64d1683c4552ab94d94c08bf833561b1c4 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Sun Aug 2 20:56:38 2015 +0200 rocker: linearize skb in case frags would not fit into tx descriptor Suggested-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21518a6eb92afa9c285ae7b33dd9357a99224b8f Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Sun Aug 2 20:56:37 2015 +0200 rocker: enable support for scattered packets rocker supports the transmission of scattered packets, so let the kernel know about it by setting the NETIF_F_SG bit in the device's features. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62f46669688bf13643b91bbc30f19da1095a5ed6 Author: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Date: Mon Aug 3 13:03:09 2015 -0700 Input: zforce - make the interrupt GPIO optional Add support for hardware which uses an I2C Serializer / Deserializer (SerDes) to communicate with the zFroce touch driver. In this case the SerDes will be configured as an interrupt controller and the zForce driver will have no access to poll the GPIO line. To support this, we add two dedicated new GPIOs in the device tree: reset-gpios and irq-gpios, with the irq-gpios being optional. To not break the existing device trees, the index based 'gpios' entries are still supported, but marked as deprecated. With this, if the interrupt GPIO is available, either via the old or new device tree style, the while loop will read and handle the packets as long as the GPIO indicates that the interrupt is asserted (existing, unchanged driver behavior). If the interrupt GPIO isn't available, i.e. not configured via the new device tree style, we are falling back to one read per ISR invocation (new behavior to support the SerDes). Note that the gpiod functions help to handle the optional GPIO: devm_gpiod_get_index_optional() will return NULL in case the interrupt GPIO isn't available. And gpiod_get_value_cansleep() does cover this, too, by returning 0 in this case. Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko.stuebner@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d93ac74ad150c89f2d0a3b90754cbccdc6ab102c Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Thu Jul 30 17:35:21 2015 +0800 arm64: dts: Add dts files for Marvell Berlin4CT SoC Add initial dtsi file to support Marvell Berlin4CT SoC with quad Cortex-A53 CPUs. It also adds dts file for Marvell Berlin4CT DMP board which is based on Berlin4CT SoC. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit e8054b654bf5d4f549f4f24b708acce6d2718b1b Author: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 6 18:39:39 2014 +0100 s390/numa: add topology tree infrastructure NUMA emulation needs proper means to mangle the book/mc/core topology of the machine. The topology tree (toptree) consistently maintains cpu masks for the root, each node, and all leaves of the tree while the user may use the toptree functions to rearrange the tree in various ways. This patch contains several changes from Michael Holzheu. Signed-off-by: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3a368f742da13955bed4a2efed85ed7c1d826bcc Author: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Date: Thu Mar 6 18:25:13 2014 +0100 s390/numa: add core infrastructure Enable core NUMA support for s390 and add one simple default mode "plain" that creates one single NUMA node. This patch contains several changes from Michael Holzheu. Signed-off-by: Philipp Hachtmann <phacht@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 08b472f7b602c60c69f278ba1e15535f5c86ee24 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 30 21:06:43 2015 +0800 regulator: mt6311: Trivial clean up Make mt6311_buck_ops, mt6311_ldo_ops and mt6311_regulators const and remove unneeded error variable in mt6311_i2c_probe(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 232ff5eb2bf304fc699b132134437a7cb9b2ec16 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Jul 30 12:32:46 2015 -0400 tile: Remove finish_arch_switch Move the simulator bits into switch_to() and use finish_arch_post_lock_switch() for the homecache migration bits. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit f47da2400e8828eda2ed4208fb312031f8b7d2ae Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 3 13:41:11 2015 +0300 spi: spi-pxa2xx: Remove unused legacy PXA DMA API channel numbers These became unused by the commit 6356437e65c2 ("spi: spi-pxa2xx: remove legacy PXA DMA bits"). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 53e381627d34c4c7a3ea00c041c38f447828f755 Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Mon Aug 3 22:15:51 2015 +0800 regulator: mt6311: Modify the maximum voltage of buck. The maximum voltage of buck should be 1.39375V. 1.39375V = 0.6V + 0.00625V * 127, 127 is the max_sel of linear range. Reported-by: Axel Lin <axel.lin@xxxxxxxxxx> signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e203db293863fa15b4b1917d4398fb5bd63c4e88 Author: Salva Peiró <speirofr@xxxxxxxxx> Date: Thu Jul 23 14:26:19 2015 +0200 iommu/omap: Fix debug_read_tlb() to use seq_printf() The debug_read_tlb() uses the sprintf() functions directly on the buffer allocated by buf = kmalloc(count), without taking into account the size of the buffer, with the consequence corrupting the heap, depending on the count requested by the user. The patch fixes the issue replacing sprintf() by seq_printf(). Signed-off-by: Salva Peiró <speirofr@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 934c93b8c193b62fc86256ea64aef65e9a7b4e9e Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:46:17 2015 +0200 thermal: Add comment explaining test for critical temperature The code testing if a temperature should be emulated or not is not obvious. Add a comment explaining why this test is done. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 79e5421cf0bd9b3e56f523e95e3511757edb9616 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:46:16 2015 +0200 thermal: Use IS_ENABLED instead of #ifdef Use IS_ENABLED(CONFIG_THERMAL_EMULATION) to make the code more readable and to get rid of the addtional #ifdef around the variable definitions in thermal_zone_get_temp(). Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit dbdf2532b46256584447cd7e742bfb1b31ac56c4 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:46:15 2015 +0200 thermal: remove unnecessary call to thermal_zone_device_set_polling When the thermal zone has no get_temp callback then thermal_zone_device_register() calls thermal_zone_device_set_polling() with a polling delay of 0. This only cancels the poll_queue. Since the poll_queue hasn't been scheduled this is a no-op. Remove it. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit f6be0584930995f88ea3381cbcbcb315c2a184ad Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Mon Jul 6 09:46:14 2015 +0200 thermal: trivial: fix typo in comment Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 17e8351a77397e8a83727eb17e3a3e9b8ab5257a Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Fri Jul 24 08:12:54 2015 +0200 thermal: consistently use int for temperatures The thermal code uses int, long and unsigned long for temperatures in different places. Using an unsigned type limits the thermal framework to positive temperatures without need. Also several drivers currently will report temperatures near UINT_MAX for temperatures below 0°C. This will probably immediately shut the machine down due to overtemperature if started below 0°C. 'long' is 64bit on several architectures. This is not needed since INT_MAX °mC is above the melting point of all known materials. Consistently use a plain 'int' for temperatures throughout the thermal code and the drivers. This only changes the places in the drivers where the temperature is passed around as pointer, when drivers internally use another type this is not changed. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Reviewed-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Peter Feuerer <peter@xxxxxxxx> Cc: Punit Agrawal <punit.agrawal@xxxxxxx> Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Jean Delvare <jdelvare@xxxxxxx> Cc: Peter Feuerer <peter@xxxxxxxx> Cc: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-acpi@xxxxxxxxxxxxxxx Cc: platform-driver-x86@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-omap@xxxxxxxxxxxxxxx Cc: linux-samsung-soc@xxxxxxxxxxxxxxx Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Cc: lm-sensors@xxxxxxxxxxxxxx Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 25a0a5ce16ecd7e60c4cf1436892433873e9d99d Author: Ni Wade <wni@xxxxxxxxxx> Date: Tue Jul 14 15:40:56 2015 +0800 thermal: add available policies sysfs attribute The Linux thermal framework support to change thermal governor policy in userspace, but it can't show what available policies supported. This patch adds available_policies attribute to the thermal framework, it can list the thermal governors which can be used for a particular zone. This attribute is read only. Signed-off-by: Wei Ni <wni@xxxxxxxxxx> Reviewed-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit b5e578631e5c1d77f58727ea0769dd55c462b572 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Tue Jul 28 20:44:41 2015 +0200 rx51-battery: Set name to rx51-battery For compatibility between board code and DT, set battery name to same value. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1f22dc4494e203d6987fc708f414b4adf8614036 Author: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Date: Mon Jun 29 08:53:18 2015 -0700 thermal/powerclamp: add cpu id for denlow platform Add support for Intel Denlow UP server platform. Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 35676de2164ff37209431e7e0e49a7466720d9be Author: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Date: Fri Jul 31 08:07:54 2015 -0700 thermal/powerclamp: add cpu id for Skylake u/y Add support for Intel Skylake u/y Signed-off-by: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 286272137f66199f87ea254397181b9bab5e5467 Author: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Date: Fri Jul 31 08:07:45 2015 -0700 thermal/powerclamp: add cpu id for skylake h/s Add support for Intel Skylake H/S Signed-off-by: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 26305022e7ffdeff49b15c9ab18e2c0c880356da Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Jul 24 23:11:28 2015 +0200 MAINTAINERS: AVS is not maintained via power supply tree The adaptive voltage scaling framework is not maintained via the power supply tree and has its own entry in the MAINTAINERS file, so add an exception in the power supply entry. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 3f217e9e96daa3d7741bab705fe9c7798d9951a9 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Fri Jul 31 10:41:00 2015 +0800 usb: chipidea: add ci->is_otg condition for otg judgement Since some chipidea based controller is not otg capable, add ci->is_otg condition when setting is_otg flag for gadget. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a24b071bb4ac37ef51a0ed4765f89be05a617677 Author: Fupan Li <fupan.li@xxxxxxxxxxxxx> Date: Mon Aug 3 19:19:43 2015 +0800 usb: gadget: f_printer: fix deadlock caused by nested spinlock Function printer_func_disable() has called spinlock on printer_dev->lock, and it'll call function chain of printer_reset_interface() | +---dwc3_gadget_ep_disable() | +---__dwc3_gadget_ep_disable() | +---dwc3_remove_requests() | +---dwc3_gadget_giveback() | +---rx_complete() in the protected block. However, rx_complete() in f_printer.c calls spinlock on printer_dev->lock again, which will cause system hang. The following steps can reproduce this hang: 1. Build the test program from Documentation/usb/gadget_printer.txt as g_printer 2. Plug in the USB device to a host(such as Ubuntu). 3. on the USB device system run: #modprobe g_printer.ko #./g_printer -read_data 4. Unplug the USB device from the host The system will hang later. In order to avoid this deadlock, moving the spinlock from printer_func_disable() into printer_reset_interface() and excluding the block of calling dwc3_gadget_ep_disable(), in which the critical resource will be protected by its spinlock in rx_complete(). This commit will fix the system hang with the following calltrace: INFO: rcu_preempt detected stalls on CPUs/tasks: { 3} (detected by 0, t=21006 jiffies, g=524, c=523, q=2) sending NMI to all CPUs: NMI backtrace for cpu 3 CPU: 3 PID: 718 Comm: irq/22-dwc3 Not tainted 3.10.38-ltsi-WR6.0.0.11_standard #2 Hardware name: Intel Corp. VALLEYVIEW B3 PLATFORM/NOTEBOOK, BIOS BYTICRB1.86C.0092.R32.1410021707 10/02/2014 task: f44f4c20 ti: f40f6000 task.ti: f40f6000 EIP: 0060:[<c1824955>] EFLAGS: 00000097 CPU: 3 EIP is at _raw_spin_lock_irqsave+0x35/0x40 EAX: 00000076 EBX: f80fad00 ECX: 00000076 EDX: 00000075 ESI: 00000096 EDI: ffffff94 EBP: f40f7e20 ESP: f40f7e18 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 CR0: 8005003b CR2: b77ac000 CR3: 01c30000 CR4: 001007f0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 Stack: f474a720 f80fad00 f40f7e3c f80f93cc c135d486 00000000 f474a720 f468fb00 f4bea894 f40f7e54 f7e35f19 ffffff00 f468fb00 f468fb24 00000086 f40f7e64 f7e36577 f468fb00 f4bea810 f40f7e74 f7e365a8 f468fb00 f4bea894 f40f7e9c Call Trace: [<f80f93cc>] rx_complete+0x1c/0xb0 [g_printer] [<c135d486>] ? vsnprintf+0x166/0x390 [<f7e35f19>] dwc3_gadget_giveback+0xc9/0xf0 [dwc3] [<f7e36577>] dwc3_remove_requests+0x57/0x70 [dwc3] [<f7e365a8>] __dwc3_gadget_ep_disable+0x18/0x60 [dwc3] [<f7e366e9>] dwc3_gadget_ep_disable+0x89/0xf0 [dwc3] [<f80f9031>] printer_reset_interface+0x31/0x50 [g_printer] [<f80f9270>] printer_func_disable+0x20/0x30 [g_printer] [<f80e6d8b>] composite_disconnect+0x4b/0x90 [libcomposite] [<f7e39a8b>] dwc3_disconnect_gadget+0x38/0x43 [dwc3] [<f7e39ad4>] dwc3_gadget_disconnect_interrupt+0x3e/0x5a [dwc3] [<f7e373b8>] dwc3_thread_interrupt+0x5c8/0x610 [dwc3] [<c10ac518>] irq_thread_fn+0x18/0x30 [<c10ac800>] irq_thread+0x100/0x130 [<c10ac500>] ? irq_finalize_oneshot.part.29+0xb0/0xb0 [<c10ac650>] ? wake_threads_waitq+0x40/0x40 [<c10ac700>] ? irq_thread_dtor+0xb0/0xb0 [<c1057224>] kthread+0x94/0xa0 [<c182b337>] ret_from_kernel_thread+0x1b/0x28 [<c1057190>] ? kthread_create_on_node+0xc0/0xc0 Signed-off-by: Fupan Li <fupan.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2f0bb2a0e7f5161e83615fb1283c5079566ed6a7 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Aug 3 05:37:10 2015 -0700 usb: musb: Allow building in all the DMA code With recent changes to MUSB code, we can now now get rid of the Kconfig choise for the DMA code and allow building in any of the desired DMA code. This makes life easier for distros. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d3cb25a12138a09bc948c0091d3d42e519980659 Author: Pengyu Ma <pengyu.ma@xxxxxxxxxxxxx> Date: Mon Aug 3 11:28:24 2015 +0800 usb: gadget: udc: fix spin_lock in pch_udc When remove module g_serial on quark platform, the following Warning on: Modules linked in: usb_f_acm u_serial g_serial(-) pch_udc libcomposite configfs udc_core ad7298 industrialio_triggered_buffer kfifo_buf tpm_i2c_infineon indus CPU: 0 PID: 369 Comm: modprobe Not tainted 3.14.29ltsi-WR7.0.0.0_standard #6 Hardware name: Intel Corp. QUARK/CrossHill, BIOS 0x010100F5 01/01/2014 f641df0c f641df0c f641dec8 c15ac7fa f641defc c103084f c16c2356 f641df28 00000171 c16b855c 000009dd c15b2d6f 000009dd c15b2d6f f6bd2000 faae5480 00000000 f641df14 c10308a3 00000009 f641df0c c16c2356 f641df28 f641df2c Call Trace: [<c15ac7fa>] dump_stack+0x16/0x18 [<c103084f>] warn_slowpath_common+0x7f/0xa0 [<c15b2d6f>] ? preempt_count_sub+0x6f/0xc0 [<c15b2d6f>] ? preempt_count_sub+0x6f/0xc0 [<c10308a3>] warn_slowpath_fmt+0x33/0x40 [<c15b2d6f>] preempt_count_sub+0x6f/0xc0 [<faadbc82>] pch_udc_pcd_pullup+0x32/0xa0 [pch_udc] [<fa9747d9>] usb_gadget_remove_driver+0x29/0x60 [udc_core] [<fa974869>] usb_gadget_unregister_driver+0x59/0x80 [udc_core] [<faa78310>] usb_composite_unregister+0x10/0x20 [libcomposite] [<faae50f1>] cleanup+0xd/0xf [g_serial] [<c1084c47>] SyS_delete_module+0xf7/0x150 [<c111f8dd>] ? ____fput+0xd/0x10 [<c104b2ae>] ? task_work_run+0x6e/0xa0 [<c15afda5>] syscall_call+0x7/0x7 g_serial module on quark is depended on pch_udc module, ttyGSX cann't recieve data and warning on when remove g_serial. It was unlocked before the modification of the structure it was protecting, fix it as "lock -> unlock" to resolve this. Signed-off-by: Pengyu Ma <pengyu.ma@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cf780b7dc795ff495629b9879dc874eda49ada62 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Mon Aug 3 15:32:26 2015 +0300 cgroup: fix idr_preload usage It does not make much sense to call idr_preload with the same gfp mask as the following idr_alloc, but this is what we do in cgroup_idr_alloc. This patch fixes the idr_preload usage by making cgroup_idr_alloc call idr_alloc w/o __GFP_WAIT. Since it is now safe to call cgroup_idr_alloc with GFP_KERNEL, the patch also fixes all its callers appropriately. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit be120397e7709d9d5ed88317a385ce864a2603bc Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Jul 31 15:46:19 2015 +0100 ARM: migrate to common PSCI client code Now that the common PSCI client code has been factored out to drivers/firmware, and made safe for 32-bit use, move the 32-bit ARM code over to it. This results in a moderate reduction of duplicated lines, and will prevent further duplication as the PSCI client code is updated for PSCI 1.0 and beyond. The two legacy platform users of the PSCI invocation code are updated to account for interface changes. In both cases the power state parameter (which is constant) is now generated using macros, so that the pack/unpack logic can be killed in preparation for PSCI 1.0 power state changes. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 37cf524f9360f9165d67459b7bf795c01824df98 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Fri Jul 31 15:46:18 2015 +0100 ARM: psci: boot_secondary: replace __pa with virt_to_idmap On some PAE systems (e.g. TI Keystone), memory is above the 32-bit addressable limit, and the interconnect provides an aliased view of parts of physical memory in the 32-bit addressable space. This alias is strictly for boot time usage, and is not otherwise usable because of coherency limitations. In this case, virt_to_phys(secondary_startup) would return the physical address of the secondary CPU boot entry point, but on such systems, this would be above the 4GB limit. A separate function, virt_to_idmap(), has been provided to return a usable physical address for functions in the identity mapping, and this must be used in preference to virt_to_phys() or __pa() to find the physical entry point for functions in the identity mapping range. For other systems, virt_to_idmap() and virt_to_phys() return identical physical addresses. Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Tested-by Vitaly Andrianov <vitalya@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> [Mark: apply rmk's suggested rewording] Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2238c0827a9bfa8d517e3175110ed603fb7b9537 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Jul 14 15:24:53 2015 -0600 iommu/vt-d: Report domain usage in sysfs Debugging domain ID leakage typically requires long running tests in order to exhaust the domain ID space or kernel instrumentation to track the setting and clearing of bits. A couple trivial intel-iommu specific sysfs extensions make it much easier to expose the IOMMU capabilities and current usage. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 50690762cfe32abadbaa5b22bebe3855e5b8ede8 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Jul 30 12:54:01 2015 -0400 iommu/vt-d: Fix leaked ioremap mapping iommu_load_old_irte() appears to leak the old_irte mapping after use. Cc: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 2439d4aa9247f4c94351d0cf7d75c16146785eb8 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Fri Jul 24 16:27:57 2015 -0700 iommu/vt-d: Avoid format string leaks into iommu_device_create This makes sure it won't be possible to accidentally leak format strings into iommu device names. Current name allocations are safe, but this makes the "%s" explicit. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7b0ce727bf7ac5240a433109f53bf78788f9159b Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Wed Jul 22 18:47:00 2015 +0100 of: iommu: Silence misleading warning Printing "IOMMU is currently not supported for PCI" for every PCI device probed on a DT-based system proves to be both irritatingly noisy and confusing to users who have misinterpreted it to mean they can no longer use VFIO device assignment. Since configuring DMA masks for PCI devices via of_dma_configure() has not in fact changed anything with regard to IOMMUs there really is nothing to warn about here; shut it up. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5835b6a64ce39434d5cc9857769c73982d488b42 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:32 2015 -0500 iommu/omap: Align code with open parenthesis Fix all the occurrences of the following check warning generated with the checkpatch --strict option: "CHECK: Alignment should match open parenthesis" Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit eb642a3f5afdb13aa2b7ba0bda314b0d2b62165d Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:31 2015 -0500 iommu/omap: Use BIT(x) macros in omap-iommu.h Switch to using the BIT(x) macros in omap-iommu.h where possible. This eliminates the following checkpatch check warning: "CHECK: Prefer using the BIT macro" A couple of the warnings were ignored for better readability of the bit-shift for the different values. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5ff98fa68c88d7babf96b7df7c713aaf2ed6558a Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:30 2015 -0500 iommu/omap: Use BIT(x) macros in omap-iopgtable.h Switch to using the BIT(x) macros in omap-iopgtable.h where possible. This eliminates the following checkpatch check warning: "CHECK: Prefer using the BIT macro" A couple of macros that used zero bit shifting are defined directly to avoid the above warning on one of the macros. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 99ee98d6ac964f1a2412d9fe08e577aa4f13905d Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:29 2015 -0500 iommu/omap: Remove unnecessary error traces on alloc failures Fix couple of checkpatch warnings of the type, "WARNING: Possible unnecessary 'out of memory' message" Signed-off-by: Suman Anna <s-anna@xxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5b39a37abc007542995506ad0d8e4c3991e6970a Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:28 2015 -0500 iommu/omap: Remove trailing semi-colon from a macro Remove the trailing semi-colon in the DEBUG_FOPS_RO macro definition. This fixes the checking warning, "WARNING: macros should not use a trailing semicolon" Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit dc308f9f92b084a25989fd2002fac06cbf4a73d4 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:27 2015 -0500 iommu/omap: Remove unused union fields There are couple of unions defined in the structures iotlb_entry and cr_regs. There are no usage/references to some of these union fields in the code, so clean them up and simplify the structures. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ad8e29a0804494bff5f0059df3805423ed2020b8 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:26 2015 -0500 iommu/omap: Protect omap-iopgtable.h against double inclusion Protect the omap-pgtable.h header against double inclusion in source code by using the standard include guard mechanism. Signed-off-by: Suman Anna <s-anna@xxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 69c2c196328e73d3091dd0be89ab4b0c2af4b210 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:25 2015 -0500 iommu/omap: Move debugfs functions to omap-iommu-debug.c The main OMAP IOMMU driver file has some helper functions used by the OMAP IOMMU debugfs functionality, and there is already a dedicated source file omap-iommu-debug.c dealing with these debugfs routines. Move all these functions to the omap-iommu-debug.c file, so that all the debugfs related routines are in one place. The move required exposing some new functions and moving some definitions to the internal omap-iommu.h header file. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 0cdbf727167a2fcc9ba2aaea98e2a76124ba072e Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:24 2015 -0500 iommu/omap: Remove all module references The OMAP IOMMU driver has been adapted to the IOMMU framework for a while now, and it does not support being built as a module anymore. So, remove all the module references from the OMAP IOMMU driver. While at it, also relocate a comment around the subsys_initcall to avoid a checkpatch strict warning about using a blank line after function/struct/union/enum declarations. Signed-off-by: Suman Anna <s-anna@xxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a73622a70a31c846d9d2a971c78fd1ffab88afcd Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 20 17:33:23 2015 -0500 Documentation: dt: Add #iommu-cells info to OMAP iommu bindings The OMAP IOMMU bindings is updated to reflect the required #iommu-cells property. Signed-off-by: Suman Anna <s-anna@xxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 4a9e5ca1a54a3cb4a5f85359f646638cec567607 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 15 15:33:51 2015 +0800 phy: Constify struct phy_ops variables The phy_ops variables are never modified after initialized in these drivers, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 42ad8f6721720513f3569a67b157fcff068aa92d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jun 5 08:27:03 2015 +0800 phy: ulpi_phy: Add const qualifier to ops The ops is never changed in ulpi_phy_create(), so make it const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 8083526e0585e23447ac9ea94ca3f6d32d6dee8f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jul 31 10:01:42 2015 +0200 phy-sun4i-usb: Only check vbus-det on power-on on boards with vbus-det data->vbus_det is always 1 on boards without a (working) vbus-det, skip the vbus_det test on such boards. This fixes the sun4i usb phy code never turning on Vbus on such boards. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 3d772c4adbf94ce6971be2e9272157f831bccb8f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jul 31 10:01:41 2015 +0200 phy-sun4i-sub: Move vbus-detect helper functions up in the file Move vbus-detect helper functions up in the file, just moving some code around, no functional changes what so ever. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 29d1dc62e1618192a25bd2eae9617529b9930cfc Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Mon Aug 3 14:22:16 2015 +0200 drm/sti: atomic crtc/plane update Better fit STI hardware structure. Planes are no more responsible of updating mixer information such as z-order and status. It is now up to the CRTC atomic flush to do it. Plane actions (enable or disable) are performed atomically. Disabling of a plane is synchronize with the vsync event. Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit 9e1f05b28009ca7de50fb92c227c8046f686e2c5 Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Fri Jul 31 11:32:34 2015 +0200 drm/sti: rename files and functions replace all "sti_drm_" occurences by "sti_" Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit 871bcdfea68560991bd650406e47a801ab9d635d Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Fri Jul 31 11:32:13 2015 +0200 drm/sti: code clean up Purpose is to simplify the STI driver: - remove layer structure - consider video subdev as part of the compositor (like mixer subdev) - remove useless STI_VID0 and STI_VID1 enum Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit bf60b29f8e811c9593dcabaa4d25e412f9e10b73 Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Fri Jul 31 11:31:38 2015 +0200 drm/sti: fix dynamic z-ordering Apply the plane depth when the plane is updated. If the depth is different from the previous plane update, the register controlling the plane depth is cleaned and updated with the new depth. Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit 53bdcf5f026c565e605ff4ced9178f85d48f69c5 Author: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Date: Fri Jul 17 12:06:11 2015 +0200 drm: sti: fix sub-components bind Fix misunderstanding in how use component framework. drm_platform_init() is now call only when all the sub-components are register themselves instead of the previous broken two stages mechanism. Update bindings documentation. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> commit 97942c2862d74689b6241802f2aa43972042389f Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Fri Jul 31 18:28:34 2015 +0100 arm64: dma-mapping: Simplify pgprot handling Since __get_dma_pgprot() does The Right Thing(TM) in the non-coherent case, and the non-cacheable alias for DMA buffers is private to the kernel anyway, we can simplify things slightly and make the code more readable by just using PAGE_KERNEL as the base pgprot. Suggested-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 514f161abcda065914f7ea8954c815eee98074a5 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Jul 31 15:46:20 2015 +0100 MAINTAINERS: add PSCI entry Add myself and Lorenzo as maintainers of the PSCI client code. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5211df00a4b595b96a7721a1253074b327945d33 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Jul 31 15:46:17 2015 +0100 drivers: psci: support native SMC{32,64} calls A 32-bit OS cannot make calls with SMC64 IDs, while a 64-bit OS must invoke some PSCI functions with SMC64 IDs. This patch introduces and makes use of a new macro to choose the appropriate IDs based on the register width of the OS, which will allow 32-bit callers to use the PSCI client code. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit bff60792f994a87324ab57e89e945b4572b1ef77 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Jul 31 15:46:16 2015 +0100 arm64: psci: factor invocation code to drivers To enable sharing with arm, move the core PSCI framework code to drivers/firmware. This results in a minor gain in lines of code, but this will quickly be amortised by the removal of code currently duplicated in arch/arm. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 27e44646dc0083c931b71bbb8e179aeb38010d31 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 16:03:10 2015 -0500 reset: socfpga: Update reset-socfpga to read the altr,modrst-offset property In order for the Arria10 to be able to re-use the reset driver for SoCFPGA Cyclone5/Arria5, we need to read the 'altr,modrst-offset' property from the device tree entry. The 'altr,modrst-offset' property is the first register into the reset manager that is used for bringing peripherals out of reset. The driver assumes a modrst-offset of 0x10 in order to support legacy Cyclone5/Arria5 hardware. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 27dc2fb18fe814fab0a5035859c77b279cdaec80 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed May 6 00:10:27 2015 +0200 doc: dt: add documentation for lpc1850-rgu reset driver Add device tree binding documentation for the Reset Generation Unit (RGU) found on NXP LPC18xx and LPC43xx devies. This documentation also includes a table which shows the RGU reset number and the connected peripheral. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit c392b65ba853f653cff3d1c7de2138bd6906d536 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed May 6 00:10:26 2015 +0200 reset: add driver for lpc18xx rgu Add reset driver for the Reset Generation Unit (RGU) found on NXP LPC18xx and LPC43xx devies. This reset controller features up to 64 reset lines connected to different blocks and peripheral in the SoC. Most reset lines on the controller are self clearing except for those dealing with the Cortex-M0 cores on LPC43xx devices. This driver also registers a restart handler that can be used to reset the entire device. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit a518db45c2580fd726f6578539482596f46a8219 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Mar 16 20:54:37 2015 +0100 reset: sti: constify of_device_id array of_device_id is always used as const. (See driver.of_match_table and open firmware functions) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit efdf5aa8f175c18def6407bb2b51643e4da88259 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Feb 13 12:20:49 2015 +0100 ARM: STi: DT: Move reset controller constants into common location By popular vote, the DT binding includes for reset controllers are located in include/dt-bindings/reset/. Move the STi reset constants in there, too, to avoid confusion. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> commit b2f6dd7b94ee9c07b93fb8e69d782af6fde0410f Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Feb 13 12:14:40 2015 +0100 MAINTAINERS: add include/dt-bindings/reset path to reset controller entry This is the path for reset definitions to be used in both device tree and reset controller drivers. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7ea241afbf4924c58d41078599f7a32ba49fb985 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:42 2015 +0800 sched/fair: Clean up load average references For cfs_rq, we have load.weight, runnable_load_avg, and load_avg. Clean up how they are used: - First, as group sched_entity already largely uses load_avg, we now expand to use load_avg in all cases. - Second, for CPU-wide load balancing, we choose to use runnable_load_avg in all cases, which is the same as before this series. Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-8-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 139622343ef31941effc6de6a5a9320371a00e62 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:41 2015 +0800 sched/fair: Provide runnable_load_avg back to cfs_rq The cfs_rq's load_avg is composed of runnable_load_avg and blocked_load_avg. Before this series, sometimes the runnable_load_avg is used, and sometimes the load_avg is used. Completely replacing all uses of runnable_load_avg with load_avg may be too big a leap, i.e., the blocked_load_avg is concerned to result in overrated load. Therefore, we get runnable_load_avg back. The new cfs_rq's runnable_load_avg is improved to be updated with all of the runnable sched_eneities at the same time, so the one sched_entity updated and the others stale problem is solved. Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-7-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1269557889b477e3e43ab99a21035ddf8f7cea4d Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:40 2015 +0800 sched/fair: Remove task and group entity load when they are dead When task exits or group is destroyed, the entity's load should be removed from its parent cfs_rq's load. Otherwise, it will take time for the parent cfs_rq to decay the dead entity's load to 0, which is not desired. Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-6-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 540247fb5ddf6d2364f90387fa1f8f428d15e683 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:39 2015 +0800 sched/fair: Init cfs_rq's sched_entity load average The runnable load and utilization averages of cfs_rq's sched_entity were not initiated. Like done to a task, give new cfs_rq' sched_entity start values to heavy its load in infant time. Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-5-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6c1d47c0827304949e0eb9479f4d587f226fac8b Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Wed Jul 15 08:04:38 2015 +0800 sched/fair: Implement update_blocked_averages() for CONFIG_FAIR_GROUP_SCHED=n The load and the utilization of idle CPUs must be updated periodically in order to decay the blocked part. If CONFIG_FAIR_GROUP_SCHED is not set, the load and util of idle cpus are not decayed and stay at the values set before becoming idle. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-4-git-send-email-yuyang.du@xxxxxxxxx [ Fixed up the SOB chain. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9d89c257dfb9c51a532d69397f6eed75e5168c35 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:37 2015 +0800 sched/fair: Rewrite runnable load and utilization average tracking The idea of runnable load average (let runnable time contribute to weight) was proposed by Paul Turner and Ben Segall, and it is still followed by this rewrite. This rewrite aims to solve the following issues: 1. cfs_rq's load average (namely runnable_load_avg and blocked_load_avg) is updated at the granularity of an entity at a time, which results in the cfs_rq's load average is stale or partially updated: at any time, only one entity is up to date, all other entities are effectively lagging behind. This is undesirable. To illustrate, if we have n runnable entities in the cfs_rq, as time elapses, they certainly become outdated: t0: cfs_rq { e1_old, e2_old, ..., en_old } and when we update: t1: update e1, then we have cfs_rq { e1_new, e2_old, ..., en_old } t2: update e2, then we have cfs_rq { e1_old, e2_new, ..., en_old } ... We solve this by combining all runnable entities' load averages together in cfs_rq's avg, and update the cfs_rq's avg as a whole. This is based on the fact that if we regard the update as a function, then: w * update(e) = update(w * e) and update(e1) + update(e2) = update(e1 + e2), then w1 * update(e1) + w2 * update(e2) = update(w1 * e1 + w2 * e2) therefore, by this rewrite, we have an entirely updated cfs_rq at the time we update it: t1: update cfs_rq { e1_new, e2_new, ..., en_new } t2: update cfs_rq { e1_new, e2_new, ..., en_new } ... 2. cfs_rq's load average is different between top rq->cfs_rq and other task_group's per CPU cfs_rqs in whether or not blocked_load_average contributes to the load. The basic idea behind runnable load average (the same for utilization) is that the blocked state is taken into account as opposed to only accounting for the currently runnable state. Therefore, the average should include both the runnable/running and blocked load averages. This rewrite does that. In addition, we also combine runnable/running and blocked averages of all entities into the cfs_rq's average, and update it together at once. This is based on the fact that: update(runnable) + update(blocked) = update(runnable + blocked) This significantly reduces the code as we don't need to separately maintain/update runnable/running load and blocked load. 3. How task_group entities' share is calculated is complex and imprecise. We reduce the complexity in this rewrite to allow a very simple rule: the task_group's load_avg is aggregated from its per CPU cfs_rqs's load_avgs. Then group entity's weight is simply proportional to its own cfs_rq's load_avg / task_group's load_avg. To illustrate, if a task_group has { cfs_rq1, cfs_rq2, ..., cfs_rqn }, then, task_group_avg = cfs_rq1_avg + cfs_rq2_avg + ... + cfs_rqn_avg, then cfs_rqx's entity's share = cfs_rqx_avg / task_group_avg * task_group's share To sum up, this rewrite in principle is equivalent to the current one, but fixes the issues described above. Turns out, it significantly reduces the code complexity and hence increases clarity and efficiency. In addition, the new averages are more smooth/continuous (no spurious spikes and valleys) and updated more consistently and quickly to reflect the load dynamics. As a result, we have less load tracking overhead, better performance, and especially better power efficiency due to more balanced load. Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-3-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cd126afe838d7ea9b971cdea087fd498a7293c7f Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Wed Jul 15 08:04:36 2015 +0800 sched/fair: Remove rq's runnable avg The current rq->avg is not used at all since its merge into the kernel, and the code is in the scheduler's hot path, so remove it. Tested-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arjan@xxxxxxxxxxxxxxx Cc: bsegall@xxxxxxxxxx Cc: fengguang.wu@xxxxxxxxx Cc: len.brown@xxxxxxxxx Cc: morten.rasmussen@xxxxxxx Cc: pjt@xxxxxxxxxx Cc: rafael.j.wysocki@xxxxxxxxx Cc: umgwanakikbuti@xxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436918682-4971-2-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d308b9f1e4412bcf583c82c4ca15ef97cb8b0e6f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jun 30 03:29:58 2015 +0200 stop_machine: Remove cpu_stop_work's from list in cpu_stop_park() cpu_stop_park() does cpu_stop_signal_done() but leaves the work on stopper->works. The owner of this work can free/reuse this memory right after that and corrupt the list, so if this CPU becomes online again cpu_stopper_thread() will crash. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: der.herr@xxxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: viro@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150630012958.GA23944@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a301f22faac7fc2207ee49c1855a6b4ba9c5a52 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jun 30 03:29:55 2015 +0200 stop_machine: Use 'cpu_stop_fn_t' where possible Cosmetic, but 'cpu_stop_fn_t' actually makes the code more readable and it doesn't break cscope. And most of the declarations already use it. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: der.herr@xxxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: viro@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150630012955.GA23937@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7eeb088e72048bf4660f64fc3824c8066cf17591 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jun 30 03:29:51 2015 +0200 stop_machine: Unexport __stop_machine() The only caller outside of stop_machine.c is _cpu_down(), it can use stop_machine(). get_online_cpus() is fine under cpu_hotplug_begin(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: der.herr@xxxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: viro@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150630012951.GA23934@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b377c2a089d4538e6e62e51fa595c896c314d83d Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jun 30 03:29:48 2015 +0200 stop_machine: Don't do for_each_cpu() twice in queue_stop_cpus_work() queue_stop_cpus_work() can do everything in one for_each_cpu() loop. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: der.herr@xxxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: viro@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150630012948.GA23927@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02cb7aa923ec553e6454ec766ded27b472326ebe Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jun 30 03:29:44 2015 +0200 stop_machine: Move 'cpu_stopper_task' and 'stop_cpus_work' into 'struct cpu_stopper' Multpiple DEFINE_PER_CPU's do not make sense, move all the per-cpu variables into 'struct cpu_stopper'. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: der.herr@xxxxxxx Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: viro@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150630012944.GA23924@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe32d3cd5e8eb0f82e459763374aa80797023403 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:52:04 2015 +0300 sched/preempt: Fix cond_resched_lock() and cond_resched_softirq() These functions check should_resched() before unlocking spinlock/bh-enable: preempt_count always non-zero => should_resched() always returns false. cond_resched_lock() worked iff spin_needbreak is set. This patch adds argument "preempt_offset" to should_resched(). preempt_count offset constants for that: PREEMPT_DISABLE_OFFSET - offset after preempt_disable() PREEMPT_LOCK_OFFSET - offset after spin_lock() SOFTIRQ_DISABLE_OFFSET - offset after local_bh_distable() SOFTIRQ_LOCK_OFFSET - offset after spin_lock_bh() Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: bdb438065890 ("sched: Extract the basic add/sub preempt_count modifiers") Link: http://lkml.kernel.org/r/20150715095204.12246.98268.stgit@buzz Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c56dadf39761a6157239cac39e3988998c994f98 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:52:03 2015 +0300 sched/preempt, powerpc, kvm: Use need_resched() instead of should_resched() Function should_resched() is equal to (!preempt_count() && need_resched()). In preemptive kernel preempt_count here is non-zero because of vc->lock. Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150715095203.12246.72922.stgit@buzz Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0fa2f5cb2b0ecd8d56baa51f35f09aab234eb0bf Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:52:01 2015 +0300 sched/preempt, xen: Use need_resched() instead of should_resched() This code is used only when CONFIG_PREEMPT=n and only in non-atomic context: xen_in_preemptible_hcall is set only in privcmd_ioctl_hypercall(). Thus preempt_count is zero and should_resched() is equal to need_resched(). Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Alexander Graf <agraf@xxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150715095201.12246.49283.stgit@buzz Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 63b0e9edceec10fa41ec33393a1515a5ff444277 Author: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Date: Tue Jul 14 17:39:50 2015 +0200 sched/fair: Beef up wake_wide() Josef Bacik reported that Facebook sees better performance with their 1:N load (1 dispatch/node, N workers/node) when carrying an old patch to try very hard to wake to an idle CPU. While looking at wake_wide(), I noticed that it doesn't pay attention to the wakeup of a many partner waker, returning 1 only when waking one of its many partners. Correct that, letting explicit domain flags override the heuristic. While at it, adjust task_struct bits, we don't need a 64-bit counter. Tested-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> [ Tidy things up. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kernel-team<Kernel-team@xxxxxx> Cc: morten.rasmussen@xxxxxxx Cc: riel@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436888390.7983.49.camel@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fbd705a0c6184580d0e2fbcbd47a37b6e5822511 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jun 9 11:13:36 2015 +0200 sched: Introduce the 'trace_sched_waking' tracepoint Mathieu reported that since 317f394160e9 ("sched: Move the second half of ttwu() to the remote cpu") trace_sched_wakeup() can happen out of context of the waker. This is a problem when you want to analyse wakeup paths because it is now very hard to correlate the wakeup event to whoever issued the wakeup. OTOH trace_sched_wakeup() is issued at the point where we set p->state = TASK_RUNNING, which is right were we hand the task off to the scheduler, so this is an important point when looking at scheduling behaviour, up to here its been the wakeup path everything hereafter is due to scheduler policy. To bridge this gap, introduce a second tracepoint: trace_sched_waking. It is guaranteed to be called in the waker context. Reported-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Francis Giraldeau <francis.giraldeau@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150609091336.GQ3644@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9d7fb04276481c59610983362d8e023d262b58ca Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jun 30 11:30:54 2015 +0200 sched/cputime: Guarantee stime + utime == rtime While the current code guarantees monotonicity for stime and utime independently of one another, it does not guarantee that the sum of both is equal to the total time we started out with. This confuses things (and peoples) who look at this sum, like top, and will report >100% usage followed by a matching period of 0%. Rework the code to provide both individual monotonicity and a coherent sum. Suggested-by: Fredrik Markstrom <fredrik.markstrom@xxxxxxxxx> Reported-by: Fredrik Markstrom <fredrik.markstrom@xxxxxxxxx> Tested-by: Fredrik Markstrom <fredrik.markstrom@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: jason.low2@xxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 781b0203423c228b100aaaf169c77b2b556f8a49 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 4 09:06:32 2015 +0200 sched, sysctl: Delete an unnecessary check before unregister_sysctl_table() The unregister_sysctl_table() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/5597877E.3060503@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3fe33bcdd358dd8c641cf4d92c9d2d9972ca94dd Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Sat Jul 4 15:39:23 2015 +0800 sched/deadline: Remove a redundant condition from task_woken_dl() 'p' has been already queued at this point, so "!task_running(rq, p)" and "p->nr_cpus_allowed > 1" imply that "has_pushable_dl_tasks(rq)" is true, so it can be removed. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435995563-3723-2-git-send-email-xlpang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8fd373548eed815858d7b5534971bdc64b4d8d2c Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Sat Jul 4 15:39:22 2015 +0800 sched/rt: Remove a redundant condition from task_woken_rt() 'p' has been already queued at this point, so "!task_running(rq, p)" and "p->nr_cpus_allowed > 1" imply that "has_pushable_tasks(rq)" is true, so it can be removed. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435995563-3723-1-git-send-email-xlpang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 985d3a4c11cd28251bcc7925aa2d7a9038910384 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Mon Jul 6 06:11:51 2015 +0800 sched/fair: Avoid pulling all tasks in idle balancing In idle balancing where a CPU going idle pulls tasks from another CPU, a livelock may happen if the CPU pulls all tasks from another, makes it idle, and this iterates. So just avoid this. Reported-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ben Segall <bsegall@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Morten Rasmussen <morten.rasmussen@xxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150705221151.GF5197@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 412758cb26704e5087ca2976ec3b28fb2bdbfad4 Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Thu Jul 30 03:59:48 2015 +0000 jump label, locking/static_keys: Update docs Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bp@xxxxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: ddaney@xxxxxxxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: michael@xxxxxxxxxxxxxx Cc: rabin@xxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: vbabka@xxxxxxx Cc: will.deacon@xxxxxxx Link: http://lkml.kernel.org/r/6b50f2f6423a2244f37f4b1d2d6c211b9dcdf4f8.1438227999.git.jbaron@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2bf9e0ab08c64ac56067555911a1ae81ebff5f96 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 3 11:42:57 2015 +0200 locking/static_keys: Provide a selftest The 'jump label' self-test is in reality testing static keys - rename things accordingly. Also prettify the code in various places while at it. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jason Baron <jbaron@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bp@xxxxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: ddaney@xxxxxxxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: michael@xxxxxxxxxxxxxx Cc: rabin@xxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: vbabka@xxxxxxx Cc: will.deacon@xxxxxxx Link: http://lkml.kernel.org/r/0c091ecebd78a879ed8a71835d205a691a75ab4e.1438227999.git.jbaron@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 579e1acb153464649781fe5555b4892c0ff84a40 Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Thu Jul 30 03:59:44 2015 +0000 jump_label: Provide a self-test Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bp@xxxxxxxxx Cc: davem@xxxxxxxxxxxxx Cc: ddaney@xxxxxxxxxxxxxxxxxx Cc: heiko.carstens@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: liuj97@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: michael@xxxxxxxxxxxxxx Cc: rabin@xxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: shuahkh@xxxxxxxxxxxxxxx Cc: vbabka@xxxxxxx Cc: will.deacon@xxxxxxx Link: http://lkml.kernel.org/r/0c091ecebd78a879ed8a71835d205a691a75ab4e.1438227999.git.jbaron@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ed79e946732e5311934d7f404b3b4e702e45cb97 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Jul 29 08:31:24 2015 +0200 s390/uaccess, locking/static_keys: employ static_branch_likely() Use the new static_branch_likely() primitive to make sure that the most likely case is executed without taking an unconditional branch. This wasn't possible with the old jump label primitives. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150729064600.GB3953@osiris Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3bbfafb77a06327fa1bc9f19bc55b5c558475091 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 16:34:32 2015 +0200 x86, tsc, locking/static_keys: Employ static_branch_likely() Because of the static_key restrictions we had to take an unconditional jump for the most likely case, causing $I bloat. Rewrite to use the new primitives. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1987c947d905baa05bee430178e8eef882f36bd4 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Jul 27 18:32:09 2015 +0200 locking/static_keys: Add selftest Add a little selftest that validates all combinations. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 11276d5306b8e5b438a36bbff855fe792d7eaa61 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 15:09:55 2015 +0200 locking/static_keys: Add a new static_key interface There are various problems and short-comings with the current static_key interface: - static_key_{true,false}() read like a branch depending on the key value, instead of the actual likely/unlikely branch depending on init value. - static_key_{true,false}() are, as stated above, tied to the static_key init values STATIC_KEY_INIT_{TRUE,FALSE}. - we're limited to the 2 (out of 4) possible options that compile to a default NOP because that's what our arch_static_branch() assembly emits. So provide a new static_key interface: DEFINE_STATIC_KEY_TRUE(name); DEFINE_STATIC_KEY_FALSE(name); Which define a key of different types with an initial true/false value. Then allow: static_branch_likely() static_branch_unlikely() to take a key of either type and emit the right instruction for the case. This means adding a second arch_static_branch_jump() assembly helper which emits a JMP per default. In order to determine the right instruction for the right state, encode the branch type in the LSB of jump_entry::key. This is the final step in removing the naming confusion that has led to a stream of avoidable bugs such as: a833581e372a ("x86, perf: Fix static_key bug in load_mm_cr4()") ... but it also allows new static key combinations that will give us performance enhancements in the subsequent patches. Tested-by: Rabin Vincent <rabin@xxxxxx> # arm Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> # ppc Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> # s390 Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 706249c222f68471b6f8e9e8e9b77665c404b226 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 15:06:37 2015 +0200 locking/static_keys: Rework update logic Instead of spreading the branch_default logic all over the place, concentrate it into the one jump_label_type() function. This does mean we need to actually increment/decrement the enabled count _before_ calling the update path, otherwise jump_label_type() will not see the right state. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e33886b38cc82a9fc3b2d655dfc7f50467594138 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 15:03:40 2015 +0200 locking/static_keys: Add static_key_{en,dis}able() helpers Add two helpers to make it easier to treat the refcount as boolean. Suggested-by: Jason Baron <jasonbaron0@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7dcfd915bae51571bcc339d8e3dda027287880e5 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 15:02:27 2015 +0200 jump_label: Add jump_entry_key() helper Avoid some casting with a helper, also prepares the way for overloading the LSB of jump_entry::key. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a1efb01feca597b2abbc89873b40ef8ec6690168 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 14:55:40 2015 +0200 jump_label, locking/static_keys: Rename JUMP_LABEL_TYPE_* and related helpers to the static_key* pattern Rename the JUMP_LABEL_TYPE_* macros to be JUMP_TYPE_* and move the inline helpers into kernel/jump_label.c, since that's the only place they're ever used. Also rename the helpers where it's all about static keys. This is the second step in removing the naming confusion that has led to a stream of avoidable bugs such as: a833581e372a ("x86, perf: Fix static_key bug in load_mm_cr4()") Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76b235c6bcb16062d663e2ee96db0b69f2e6bc14 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 24 14:45:44 2015 +0200 jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP} Since we've already stepped away from ENABLE is a JMP and DISABLE is a NOP with the branch_default bits, and are going to make it even worse, rename it to make it all clearer. This way we don't mix multiple levels of logic attributes, but have a plain 'physical' name for what the current instruction patching status of a jump label is. This is a first step in removing the naming confusion that has led to a stream of avoidable bugs such as: a833581e372a ("x86, perf: Fix static_key bug in load_mm_cr4()") Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx [ Beefed up the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f320ead76a87a9c533f681ecce3bf3241d07c47d Merge: 76695af decd275 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 3 11:04:00 2015 +0200 Merge branch 'x86/asm' into locking/core Upcoming changes to static keys is interacting/conflicting with the following pending TSC commits in tip:x86/asm: 4ea1636b04db x86/asm/tsc: Rename native_read_tsc() to rdtsc() ... So merge it into the locking tree to have a smoother resolution. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76695af20c015206cffb84b15912be6797d0cca2 Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Sun Aug 2 17:11:04 2015 +0200 locking, arch: use WRITE_ONCE()/READ_ONCE() in smp_store_release()/smp_load_acquire() Replace ACCESS_ONCE() macro in smp_store_release() and smp_load_acquire() with WRITE_ONCE() and READ_ONCE() on x86, arm, arm64, ia64, metag, mips, powerpc, s390, sparc and asm-generic since ACCESS_ONCE() does not work reliably on non-scalar types. WRITE_ONCE() and READ_ONCE() were introduced in the following commits: 230fa253df63 ("kernel: Provide READ_ONCE and ASSIGN_ONCE") 43239cbe79fc ("kernel: Change ASSIGN_ONCE(val, x) to WRITE_ONCE(x, val)") Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Davidlohr Bueso <dbueso@xxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> (powerpc) Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Cc: Andre Przywara <andre.przywara@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-arch@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438528264-714-1-git-send-email-andreyknvl@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 75d2270280686bff21b9ba66c7f3dd379c887981 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Sat Jul 11 16:36:52 2015 -0400 locking/pvqspinlock: Only kick CPU at unlock time For an over-committed guest with more vCPUs than physical CPUs available, it is possible that a vCPU may be kicked twice before getting the lock - once before it becomes queue head and once again before it gets the lock. All these CPU kicking and halting (VMEXIT) can be expensive and slow down system performance. This patch adds a new vCPU state (vcpu_hashed) which enables the code to delay CPU kicking until at unlock time. Once this state is set, the new lock holder will set _Q_SLOW_VAL and fill in the hash table on behalf of the halted queue head vCPU. The original vcpu_halted state will be used by pv_wait_node() only to differentiate other queue nodes from the qeue head. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436647018-49734-2-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ffffeaf318bd8da036eb8eb784b025a9f829201b Author: Waiman Long <Waiman.Long@xxxxxx> Date: Thu Jul 9 12:32:22 2015 -0400 locking/qrwlock: Reduce reader/writer to reader lock transfer latency Currently, a reader will check first to make sure that the writer mode byte is cleared before incrementing the reader count. That waiting is not really necessary. It increases the latency in the reader/writer to reader transition and reduces readers performance. This patch eliminates that waiting. It also has the side effect of reducing the chance of writer lock stealing and improving the fairness of the lock. Using a locking microbenchmark, a 10-threads 5M locking loop of mostly readers (RW ratio = 10,000:1) has the following performance numbers in a Haswell-EX box: Kernel Locking Rate (Kops/s) ------ --------------------- 4.1.1 15,063,081 4.1.1+patch 17,241,552 (+14.4%) Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1436459543-29126-2-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3b3fdf10a8add87ef0050138d51bfee9ab4983df Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 13 16:58:30 2015 +0100 locking/pvqspinlock: Order pv_unhash() after cmpxchg() on unlock slowpath When we unlock in __pv_queued_spin_unlock(), a failed cmpxchg() on the lock value indicates that we need to take the slow-path and unhash the corresponding node blocked on the lock. Since a failed cmpxchg() does not provide any memory-ordering guarantees, it is possible that the node data could be read before the cmpxchg() on weakly-ordered architectures and therefore return a stale value, leading to hash corruption and/or a BUG(). This patch adds an smb_rmb() following the failed cmpxchg operation, so that the unhashing is ordered after the lock has been checked. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> [ Added more comments] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Waiman Long <Waiman.Long@xxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steve Capper <Steve.Capper@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150713155830.GL2632@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ed2de9f74ecbbf3063d29b2334e7b455d7f35189 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 16 16:10:06 2015 +0100 locking/Documentation: Clarify failed cmpxchg() memory ordering semantics A failed cmpxchg does not provide any memory ordering guarantees, a property that is used to optimise the cmpxchg implementations on Alpha, PowerPC and arm64. This patch updates atomic_ops.txt and memory-barriers.txt to reflect this. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman Long <waiman.long@xxxxxx> Link: http://lkml.kernel.org/r/20150716151006.GH26390@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0b792bf519e68108d577fcec815ab50913787012 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jul 21 12:13:43 2015 +0200 locking: Clean up pvqspinlock warning - Rename the on-stack variable to match the datastructure variable, - place the cmpxchg back under the comment that explains it, - clean up the WARN() statement to avoid superfluous conditionals and line-breaks. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29b5357d25ba1528531ef9532b5743a32fdf8cd2 Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Jul 31 14:48:57 2015 +0200 gpio: etraxfs: add interrupt support On ETRAX FS, all pins on the first port (and only the first port) have interrupt support. On ARTPEC-3, all pins on all ports have interrupt support. However, there are only eight interrupts. Each of the interrupts is associated with a group of pins and for each interrupt the one pin from the group which will trigger it can be selected. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3a7651e683701dbb4c7d02e20661c923fa4c6901 Merge: 5d285a7 cba77f0 74d3329 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 3 10:52:25 2015 +0200 Merge branch 'locking/urgent', tag 'v4.2-rc5' into locking/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b67a1f0ad1f260f1a4032d5f7b032ac113bfa7d Author: Rabin Vincent <rabin@xxxxxx> Date: Fri Jul 31 14:48:56 2015 +0200 gpio: don't override irq_*_resources() callbacks If the driver has specified its own irq_{request/release}_resources() functions, don't override them. The gpio-etraxfs driver will use this. Signed-off-by: Rabin Vincent <rabin@xxxxxx> [Added a small comment blurb] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 11580297334c45c5aba47021aaa65136ad80d6ee Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Mon Aug 3 11:03:49 2015 +0800 ALSA: hda - remove no physical connection pins from pin_quirk table To cleanup the pin_quirk table: - rewrite the pin_config_match(), comparing all pins on the machine with the corresponding pins in the quirk table. - remove all 0x4xxxxxxx pin configurations from pin_quirk table - after removing the 0x4xxxxxxx pin configurations, some pin tables are exactly same, so removing the redudant pin tables. Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ca67f10f27b6aace4a87713f038577994ec578af Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Jul 30 17:27:44 2015 +0900 pinctrl: join dev_dbg strings into a single line These are user-visible strings, so can exceed 80 columns. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 199071f108f5641badc2a6970e1fa7ec469d5d12 Author: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Date: Fri May 8 17:40:43 2015 +0200 s390/mm: make arch_add_memory() NUMA aware With NUMA support for s390, arch_add_memory() needs to respect the nid parameter. Signed-off-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ecf46abdd32a35fcd7dfeef72600a065425532b3 Author: Gerald Schaefer <geraldsc@xxxxxxxxxxxxxxxxxx> Date: Fri May 29 15:34:51 2015 +0200 s390/mm: enable gup code for NUMA Force get_user_page() to take the slow path for NUMA migration pages. Signed-off-by: Gerald Schaefer <geraldsc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b54565b86824ecc9f0ad5d0ee69696f38edc50fd Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Sep 23 14:01:34 2014 +0200 s390/mm: add NUMA balancing primitives Define pte_protnone and pmd_protnone for NUMA memory migration. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 888d5e9804bb401f3531b700cc93da0bdf8496bf Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 9 17:56:13 2015 +0200 KVM: s390: use pid of cpu thread for sampling tagging Right now we use the address of the sie control block as tag for the sampling data. This is hard to get for users. Let's just use the PID of the cpu thread to mark the hardware samples. Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit d0164ee20d98847d3c777a0ae90e678e7ac1e416 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 29 16:43:06 2015 +0200 s390/kernel: remove save_fpu_regs() parameter and use __LC_CURRENT instead All calls to save_fpu_regs() specify the fpu structure of the current task pointer as parameter. The task pointer of the current task can also be retrieved from the CPU lowcore directly. Remove the parameter definition, load the __LC_CURRENT task pointer from the CPU lowcore, and rebase the FPU structure onto the task structure. Apply the same approach for the load_fpu_regs() function. Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 199dc6ed5179251fa6158a461499c24bdd99c836 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Aug 3 13:11:47 2015 +1000 md/raid0: update queue parameter in a safer location. When a (e.g.) RAID5 array is reshaped to RAID0, the updating of queue parameters (e.g. max number of sectors per bio) is done in the wrong place. It should be part of ->run, but it is actually part of ->takeover. This means it happens before level_store() calls: blk_set_stacking_limits(&mddev->queue->limits); and so it ineffective. This can lead to errors from underlying devices. So move all the relevant settings out of create_stripe_zones() and into raid0_run(). As this can lead to a bug-on it is suitable for any -stable kernel which supports reshape to RAID0. So 2.6.35 or later. As the bug has been present for five years there is no urgency, so no need to rush into -stable. Fixes: 9af204cf720c ("md: Add support for Raid5->Raid0 and Raid10->Raid0 takeover") Cc: stable@xxxxxxxxxxxxxxx (v2.6.35+ - please delay until after -final release). Reported-by: Yi Zhang <yizhan@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 25eafe1a813681849ad3fb9effdfdce3e1b4335a Author: Benjamin Randazzo <benjamin@xxxxxxxxxxx> Date: Sat Jul 25 16:36:50 2015 +0200 md: simplify get_bitmap_file now that "file" is zeroed. There is no point assigning '\0' to file->pathname[0] as file is now zeroed out, so remove that branch and simplify the code. [Original patch combined this with the change to use kzalloc. I split the two so that the change to kzalloc is easier to backport. - neilb] Signed-off-by: Benjamin Randazzo <benjamin@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 109e2381749c1cfd94a0d22b2b54142539024973 Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Thu Jul 23 14:53:32 2015 -0700 target: Drop iSCSI use of mutex around max_cmd_sn increment In a performance profile, taking a mutex in iscsit_increment_maxcmdsn() shows up very high. However taking a mutex around "sess->max_cmd_sn += 1" seems pretty silly: we're not serializing against other contexts in any useful way. I did a quick audit and there don't appear to be any other places that use max_cmd_sn within the mutex more than once, so this lock can't be providing any useful serialization. (Get correct values for logging - fix whitespace damage) Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 24c7d6c7316c72301bf8ecfc1189fd476176fd75 Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Mon Aug 3 00:21:50 2015 +0200 qla2xxx: Update tcm_qla2xxx module description to 24xx+ Pre 24xx HBAs are not supported by tcm_qla2xxx, so go ahead and reflect this for informational purposes. Also fix QLogic spelling. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit a622789aeebdeaa52d68bbc3930edbc3e820b54a Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Jul 24 13:17:25 2015 +0900 PM / devfreq: exynos-ppmu: Update documentation to support PPMUv2 This patch updates the documentation to include the information of PPMUv2. The PPMUv2 is used for Exynos5433 and Exynos7420 to monitor the performance of each IP in Exynos SoC. Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 3d87b02281a2ec977108ad90ce502e721b447301 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Jul 24 13:17:24 2015 +0900 PM / devfreq: exynos-ppmu: Add the support of PPMUv2 for Exynos5433 This patch adds the support for PPMU (Platform Performance Monitoring Unit) version 2.0 for Exynos5433 SoC. Exynos5433 SoC must need PPMUv2 which is quite different from PPMUv1.1. The exynos-ppmu.c driver supports both PPMUv1.1 and PPMUv2. Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit a6415cddc4e6e1675a5648e7785aef716980c90c Author: David Disseldorp <ddiss@xxxxxxx> Date: Sat Aug 1 00:10:12 2015 -0700 iscsi-target: Add tpg_enabled_sendtargets for disabled discovery This patch adds a new tpg_enabled_sendtargets configfs attribute to allow in-band sendtargets discovery information to include target-portal-groups (TPGs) in !TPG_STATE_ACTIVE state. This functionality is useful for clustered iSCSI targets, where TPGTs handled on remote cluster nodes should be advertised in the SendTargets response. By default, this new attribute retains the default behaviour of existing code which to ignore portal-groups in !TPG_STATE_ACTIVE state. Signed-off-by: David Disseldorp <ddiss@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9b0a18626288ecd62ad09a9c36a5ba318ea30087 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Jul 13 08:58:51 2015 +0200 PM / devfreq: event: Remove incorrect property in exynos-ppmu DT binding The exynos-ppmu driver is only a clock consumer and not a clock provider but its Device Tree binding listed #clock-cells as an optional property. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 054531e7a5cb195140bead068b51cc6147c5c8bf Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 00:55:23 2015 +0300 ARM: shmobile: silk: add eMMC DT support Define the SILK board dependent part of the MMCIF device node (the board has eMMC chip) along with the necessary voltage regulator (note that the Vcc/Vccq regulator is dummy -- it's required by the MMCIF driver but doesn't actually exist on the board). Based on the original patch by Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6cdf6ba19c8b9a386ef882206b29d97a49271317 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 00:54:05 2015 +0300 ARM: shmobile: r8a7794: add MMCIF DT support Define the generic R8A7794 part of the MMCIF0 device node. Based on the orginal patch by Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ba7591d8b28bd16a2eface5d009ab0b60c7629a4 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Aug 1 00:46:29 2015 +0200 ebpf: add skb->hash to offset map for usage in {cls, act}_bpf or filters Add skb->hash to the __sk_buff offset map, so it can be accessed from an eBPF program. We currently already do this for classic BPF filters, but not yet on eBPF, it might be useful as a demuxer in combination with helpers like bpf_clone_redirect(), toy example: __section("cls-lb") int ingress_main(struct __sk_buff *skb) { unsigned int which = 3 + (skb->hash & 7); /* bpf_skb_store_bytes(skb, ...); */ /* bpf_l{3,4}_csum_replace(skb, ...); */ bpf_clone_redirect(skb, which, 0); return -1; } I was thinking whether to add skb_get_hash(), but then concluded the raw skb->hash seems fine in this case: we can directly access the hash w/o extra eBPF helper function call, it's filled out by many NICs on ingress, and in case the entropy level would not be sufficient, people can still implement their own specific sw fallback hash mix anyway. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c46309c7f8e7923a1311fbdf6884a59a5f9954cf Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 2 12:42:41 2015 +0300 bnx2x: Correct logic for pvid configuration. Commit 05cc5a39ddb7 ("bnx2x: add vlan filtering offload") has introduced an incorrect logic for checking whether pvid should be configured for a vf, causing the hypervisor driver to send unneeded ramrods for all of the vfs each time a pvid has changed. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b41e63cf83affa50a6141eba52be1fbd05f29b21 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:49:22 2015 +0200 iio:accel:stk8312: check for invalid value Revision 1.2 of the datasheet recommends on page 22 to only write non-zero values read from OTP register 0x70 into AFECTRL register. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 946448e08e2f693ff21418d92a598b7aa296816d Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:49:21 2015 +0200 iio:accel:stk8312: add triggered buffer dependency Add the still missing dependencies for triggered buffer support. Fixes: 95c12bba51c37 ("iio: accel: Add buffer mode for Sensortek STK8312") Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 546384c968383b512ba50f77c76ae7bdfa321f31 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:39:02 2015 +0200 iio:adc:berlin2-adc: use channel-array size directly Drop the otherwise unused definition of the channel-array size and use it directly in _probe - makes it a bit more obvious. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 609e9d88f277bfe83392595745cc3976d42125b2 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:39:01 2015 +0200 iio:adc:berlin2-adc: use short operator format Use augmented assignment to subtract the offset for negative temperature values. Specify the amount of private data to be allocated through devm_iio_device_alloc() with sizeof(*priv), as it is shorter and common practice in IIO. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 688febbd168c52ab54ad29c210aceecb72386398 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:39:00 2015 +0200 iio:adc:berlin2-adc: constify iio_chan_spec Mark berlin2_adc_channels array as constant. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 19d566420b8c5a26d4f9666ef665e088173d3df3 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:38:58 2015 +0200 iio:adc:berlin2-adc: pass up real error code Pass up the real error code returned by platform_get_irq_byname(). Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5e37c523921480093323c06529ab854f0635c59d Author: Joo Aun Saw <jasaw@xxxxxxxxxxx> Date: Tue Jul 28 11:46:13 2015 +1000 tools: iio: iio_utils: Make calc_digits static Signed-off-by: Joo Aun Saw <jasaw@xxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 280f09256ab6f6180132da193b9f2e0b2fa61c51 Author: Joo Aun Saw <jasaw@xxxxxxxxxxx> Date: Wed Jul 29 01:12:24 2015 +1000 tools: iio: iio_utils: remove unnecessary define guard Signed-off-by: Joo Aun Saw <jasaw@xxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e7231491ce6ae2053569166f60835a5594b3c0af Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Fri Jul 24 16:28:06 2015 +0300 tools: iio: print error message when buffer enable fails Running generic_buffer without enabling any channel of the sensor will fail without printing any error message. Add an error message that indicates buffer enable failed. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ae067cb68d2ef42d4a84eeaf07411fe2936f48c4 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Fri Jul 24 16:28:05 2015 +0300 tools: iio: fix mask for 32 bit sensor data When the the sensor data uses 32 bits out of 32, generic_buffer prints the value 0 for all data read. In this case, the mask is shifted 32 bits, which is beyond the size of an integer. This will lead to the mask always being 0. Before printing, the mask is applied to the raw value, thus generating a final value of 0. Fix the mask by shifting a 64 bit value instead of an integer. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2854c098e222a706b91cc83b4a91dbfd97212765 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 24 16:26:09 2015 +0300 include: linux: iio: Add missing kernel doc field Fix kernel doc for the iio_dev_attr structure by adding its missing field. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e52e95199d0c1aa8a06dbbc07b30562fded8b298 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 24 16:23:43 2015 +0300 include: linux: iio: Fix function parameter name in kernel doc Fix buffer name from kernel doc according to the function parameter. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a316c01d59e9d45ede1083a81ae82eb15ae7eab3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 24 16:21:50 2015 +0300 iio: event: Add missing fields in kernel docs Fix kernel docs warnings by adding the missing fields, each with its associated description. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0123635a77f72e0787f6f8b3ac796a40f796fcc4 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 24 16:18:09 2015 +0300 iio: buffer: Fix kernel docs warnings Fix kernel docs for structures and functions in order to remove some warnings when the documentation gets generated. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2498dcf6e09b3ecce2b32ed6434bd02fc4219d5b Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 24 16:16:19 2015 +0300 iio: core: Add function params for kernel docs This patch adds the missing fields in kernel docs to remove some warnings that appear when the IIO Documentation DocBook is generated. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5ab744d0d6e7fc90572250239ac796cd79b0ed77 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Thu Jul 23 20:15:02 2015 +0300 iio: magn: bmc150_magn: do not set power state twice when setting trigger state When setting the trigger state, the device power state is set through buffer preenable and postdisable hooks. There is no need to also set it in the trigger set state call. Remove duplicate set power state from the trigger set state call. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 019cc46d0a5c559bca6c7e949cc277f529a51296 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Thu Jul 23 20:15:01 2015 +0300 iio: magn: bmc150_magn: add locking comment for runtime resume Runtime resume function is called with the data->mutex lock held. Add a comment to indicate this. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1506f3cd0b8169773188a080d367c2ed019373a3 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Jul 17 10:52:31 2015 +0200 iio:magnetometer:bmc150_magn: use descriptive name for mask Define and use a descriptive name for the repetition registers data mask, instead of a 'magic' value. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3021678a94cdb942bea4e634a37e91fe341b27b0 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Jul 17 10:52:30 2015 +0200 iio:magnetometer:bmc150_magn: expand mutex in trigger_handler Keep the mutex locked, until the content of data->buffer has been pushed out. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f9ba1ab4d19a79b4bef4baf21f559f9dd8ba33f9 Author: Crt Mori <cmo@xxxxxxxxxxx> Date: Mon Jul 20 21:38:27 2015 +0200 iio: mlx90614: Define magic numbers Translates the magic constant numbers to named macros and add some additional comments about their meaning. The diff is made towards togreg branch as that branch seems to have the most recent updates of mlx90614 driver (many are yet to be merged). Signed-off-by: Crt Mori <cmo@xxxxxxxxxxx> Acked-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9e35d366a1e8bd710fbebcf9af90d3fafbc55e36 Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Fri Jul 31 17:27:24 2015 +0300 iio: mmc35240: minor change to improve code readibility This patch changes two variables to arrays to improve code readibility. Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 119c4fce683a22a2fdbe343e00bc1a20cc1dd11c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:42 2015 +0200 iio: Export OF module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 58e446fcc69436988fdab4a81981f44193f064f7 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:28 2015 +0200 iio: Export I2C module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1234e3fda9aa24b2d650bbcd9ef09d5f6a12dc86 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jul 24 09:10:55 2015 +0100 ARM: reduce visibility of dmac_* functions The dmac_* functions are private to the ARM DMA API implementation, and should not be used by drivers. In order to discourage their use, remove their prototypes and macros from asm/*.h. We have to leave dmac_flush_range() behind as Exynos and MSM IOMMU code use these; once these sites are fixed, this can be moved also. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d74892c5b291c0010295d26d6b1e11cd70451722 Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Wed Jul 29 15:14:17 2015 -0400 clockevents: Drop redundant cpumask check in tick_check_new_device() The same check is performed by tick_check_percpu(). Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150729151417.069d1bb0@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 60018d027d792bdfe9d98c83a470fa2cdd6a0e1a Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jul 31 17:41:52 2015 +0200 ARM: dts: sun7i: Change cubietruck wifi enable pin to use mmc-pwrseq The wifi-enable pin of the ap6210 module is not really a regulator, switch to the mmc-pwrseq framework for controlling it. This more accurately reflects how the hardware actually works. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> [maxime: Changed the name of the pinctrl node and re-ordered it] Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5510b3c2a173921374ec847848fb20b98e1c698a Merge: 17f901e 7c764ce Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 31 23:52:20 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: arch/s390/net/bpf_jit_comp.c drivers/net/ethernet/ti/netcp_ethss.c net/bridge/br_multicast.c net/ipv4/ip_fragment.c All four conflicts were cases of simple overlapping changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36f024ed8fc96f50f01d171097237ebe51dadee7 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 22:12:29 2015 +0200 PCI/MSI: pci-xgene-msi: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> commit f70229e2a342714c7431547676da2518a0a22b55 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 22:09:38 2015 +0200 unicore32/irq: Prepare puv3_gpio_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> commit f5dbdd429f044b9658e27e76a0e896a99f03170f Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 22:07:40 2015 +0200 tile/pci_gx: Prepare trio_handle_level_irq for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 625b86ad26ad35200adc34094c04e04672384735 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 21:56:10 2015 +0200 m68k/irq: Prepare irq handlers for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx commit 9d8c94e48a5faafae1e52bec18b8d99211b2ccd4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 31 14:08:31 2015 +0530 drivers: target: Drop unlikely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 17f901e8915cb922c2ca710835ef34f166f53ee9 Merge: db316d5 b567741 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 31 17:07:12 2015 -0700 Merge branch 'ipv6-auto-flow-labels' Tom Herbert says: ==================== ipv6: Turn on auto IPv6 flow labels by default BSD (MacOS) has already turned on flow labels by default and this does not seem to be causing any problems in the Internet. Let's go ahead and turn them on by default. We'll continue to monitor for any devices start choking on them. Flow labels are important since they are the desired solution for network devices to perform ECMP and RSS (RFC6437 and RFC6438). Traditionally, devices perform a 5-tuple hash on packets that includes port numbers. For the most part, these devices can only compute 5-tuple hashes for TCP and UDP. This severely limits our ability to get good network load balancing for other protocols (IPIP, GRE,ESP, etc.), and hence we are limited in using other protocols. Unfortunately, this method is accepted as the de facto standard to the extent that there are several proposals to encapsulate protocols in UDP _just_ for the purposes for getting ECMP to work. With hosts generating flow labels and devices taking them as input into ECMP (several already do), we can start to fix this fundamental problem. This patch set: - Changes IPV6_FLOWINFO sockopt to be opt-out of flow labels for connections rather than opt-in - Disable flow label state ranges sysctl by default - Enable auto flow labels sysctl by default v2: - Added functions to create an skb->hash based on flowi4 and flowi6. These are called in output path when creating a packet - Call skb_get_hash_flowi6 in ip6_make_flowlabel - Implement the auto_flowlabels sysctl as a mode for auto flowlabels. There are four modes which correspond to flow labels being enabled and whether socket option can be used to opt in or opt out of using them ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b56774163f994efce3f5603f35aa4e677c3e725a Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:52:14 2015 -0700 ipv6: Enable auto flow labels by default Initialize auto_flowlabels to one. This enables automatic flow labels, individual socket may disable them using the IPV6_AUTOFLOWLABEL socket option. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be26849bfb6fcee4123c687fc39bd6da1b3be328 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:52:13 2015 -0700 ipv6: Disable flowlabel state ranges by default Per RFC6437 stateful flow labels (e.g. labels set by flow label manager) cannot "disturb" nodes taking part in stateless flow labels. While the ranges only reduce the flow label entropy by one bit, it is conceivable that this might bias the algorithm on some routers causing a load imbalance. For best results on the Internet we really need the full 20 bits. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42240901f7c438636715b9cb6ed93f4441ffc091 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:52:12 2015 -0700 ipv6: Implement different admin modes for automatic flow labels Change the meaning of net.ipv6.auto_flowlabels to provide a mode for automatic flow labels generation. There are four modes: 0: flow labels are disabled 1: flow labels are enabled, sockets can opt-out 2: flow labels are allowed, sockets can opt-in 3: flow labels are enabled and enforced, no opt-out for sockets np->autoflowlabel is initialized according to the sysctl value. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67800f9b1f4eb5bbefc32e3f5044097354bc85b3 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:52:11 2015 -0700 ipv6: Call skb_get_hash_flowi6 to get skb->hash in ip6_make_flowlabel We can't call skb_get_hash here since the packet is not complete to do flow_dissector. Create hash based on flowi6 instead. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f70ea018da0631e10c26a02f5a82d626ffef5bd7 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Fri Jul 31 16:52:10 2015 -0700 net: Add functions to get skb->hash based on flow structures Add skb_get_hash_flowi6 and skb_get_hash_flowi4 which derive an sk_buff hash from flowi6 and flowi4 structures respectively. These functions can be called when creating a packet in the output path where the new sk_buff does not yet contain a fully formed packet that is parsable by flow dissector. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e0bec9e833a6884dc2e242e45e0ebd99f46624e Author: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Date: Fri Jul 31 08:07:36 2015 -0700 powercap / RAPL: Add support for Broadwell-H This patch enabled RAPL to support Broadwell-H Signed-off-by: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2cac1f700c2c6baf836f24c778a73a847a48f484 Author: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Date: Fri Jul 31 08:07:10 2015 -0700 powercap / RAPL: Add support for Skylake H/S This patche enabled RAPL to support Intel Skylake H/S Signed-off-by: Radivoje Jovanovic <radivoje.jovanovic@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 948fa942dc6bb4000bdf94901e99570b7636ed7c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:47 2015 +0200 staging: rtl8192e: probe: iounmap mmio when probe fails In case of probe failure, io memory was not released properly. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb7cca3ae8f152151104252298d2e1e91db6df92 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:46 2015 +0200 staging: rtl8192e: Drop large switch in rtl92e_config_rf The same steps were made for each RF path independently. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 976a06cc89e817e94b0d87cf55bb46134c494060 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:45 2015 +0200 staging: rtl8192e: Fix IW_IOCTL macro Macro caused checkpatch complaints - replace [] braces with () and use [] braces as array initializers. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90959c3dfcb66cd8467ba0921469b62e42d7879c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:44 2015 +0200 staging: rtl8192e: Remove phy_RF8256_Config_ParaFile Merge function into rtl92e_config_rf as having them separated gives no benefit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72f1f75257de812137ee5110822370fadc4927f6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:43 2015 +0200 staging: rtl8192e: Simplify rtl92e_set_bandwidth Move phy version check outside of the loop. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99d4f5d236eb6a1eaaddb7179a251f385f7e4c2b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:42 2015 +0200 staging: rtl8192e: Simplify rtl92e_is_halfn_supported_by_ap Function should return struct member - no extra logic is needed. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2937a5d272031eb3e189d4383587bc9f62621c43 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:41 2015 +0200 staging: rtl8192e: MgntActSet_RF_State: remove ProtectOrNot parameter It is set at the very beginning of function to a constant value. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2d4d4e1e203a242e98ee4038db0af37d5ac107b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:40 2015 +0200 staging: rtl8192e: Remove rtl8192_data_hard_resume Function is empty; rtllib checks if handler is NULL. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f971e9f3ba70eac49ab9fbaa4f5bd5dfbaf9fe7b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:39 2015 +0200 staging: rtl8192e: Remove rtl8192_data_hard_stop Function is empty; rtllib checks if handler is NULL. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45f57357f2a4ac71e4df7d3ca1a4ea234856d399 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:38 2015 +0200 staging: rtl8192e: Remove ActUpdateChannelAccessSetting Function is empty and called only once. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74214e526e605f155ba2609c516cf866ae965316 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 28 23:31:37 2015 +0200 staging: rtl8192e: Remove rtl8192_phy_updateInitGain Function is empty and called only once. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c15a7009325b84adac2eb0f3919d9c3ff8d5ed11 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jul 30 00:36:32 2015 +0300 staging: comedi: das16: remove a duplicate condition We checked that "it->options[3]" was non-zero on the line before so there is no need to check again. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9cf7250ba85427a372225067d57cf3ff4471047 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Jul 28 18:49:25 2015 +0300 staging: rtl8192e: don't just print an error and continue I was looking at how TOTAL_CAM_ENTRY is used and I saw this code. We print an error but continue writing "EntryNo" to a register as if it were valid. "EntryNo" is controlled by the user in rtl8192_ioctl() so it definitely can be invalid. I'm not positive what happens with the invalid data but it can't be good. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1f0f3118e55ad80136d19dd4afdb32ccba26a42 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Jul 28 18:48:21 2015 +0300 Staging: rtl8192e: array overflow in rtl92e_set_swcam() "EntryNo" is comes from the user in the ioctl and it's a number between 0-255. The ieee->swcamtable[] array only has 32 elements so it can result in memory corruption. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 881bf281237c3eaf7759040653e779c6cc6c2e00 Author: Alex Wilson <alex.david.wilson@xxxxxxxxx> Date: Fri Jul 31 11:08:29 2015 -0600 staging: panel: fix block comment usage Fixed two coding style warnings concerning multiline comments. Signed-off-by: Alex Wilson <alex.david.wilson@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f44cb0ba88b40c09c5bdfc46186e09f42b1a9b0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 31 14:08:30 2015 +0530 drivers: staging: Drop unlikely before IS_ERR(_OR_NULL) IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. This also replaces an IS_ERR(x) + (x == NULL) check to IS_ERR_OR_NULL check. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3c1a61744d02ca2c249dae04c8eb8f5b0822bc3 Author: Michael Hornung <mhornung.linux@xxxxxxxxx> Date: Fri Jul 31 22:18:17 2015 +0200 linux-next: drivers: staging: most: Fix return value * Fix sparse warning "Using plain integer as NULL pointer" Signed-off-by: Michael Hornung <mhornung.linux@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59ed0480b95032418be6960375a13201c35364f7 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Jul 30 18:19:41 2015 +0200 Staging: most: replace pr_*() functions by dev_*() This patch replaces pr_*() functions with dev_*(). Reported-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 412c8232edfac024ed22bd1424f37f68fcbb555c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Jul 30 18:18:55 2015 +0200 Staging: most: fix doing DMA on stack This patch fixes error "doing DMA on the stack" by using kzalloc for buffer allocation. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f78f6116d581e1342f56a4dacdd576d79b054c4 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Jul 30 15:31:39 2015 +0200 Staging: most: replace min() by min_t() This patch fixes wrong casting. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6852ac9acbb8f11fe736116f7cc819891021404f Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Jul 30 15:31:37 2015 +0200 Staging: most: fix double unlock This patch fixes double unlocking of a spinlock the aim-v4l2 module. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 936d61eeac71504b52977cc9f9339cb86866c531 Author: Jignesh R Patel <jigneshpatel0103@xxxxxxxxx> Date: Tue Jul 28 16:19:36 2015 +0530 staging: android: Fixed line over 80 char Fixes the following checkpatch warning: Warning: Line over 80 characters Signed-off-by: Jignesh R Patel <jigneshpatel0103@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ba4df24bb87246472be90b11fcecb720c2a15ba Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Jul 27 23:30:52 2015 +0530 Staging:dgap :Compression of lines for immediate return This patch compresses two lines into a single line if immediate return statement is found. Remove variable rc as it is no longer needed. It is done using script Coccinelle. And coccinelle uses the following semantic patch for this compression function: @@ type T; identifier i,f; constant C; @@ - T i; ...when != i when strict ( return -C; | - i = + return f(...); - return i; ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd1ccd33150261f0e58be6de615e4b14389ac208 Author: Freeman Zhang <freeman.zhang1992@xxxxxxxxx> Date: Mon Jul 27 14:37:25 2015 +0800 staging: rtl8192u: Fix checkpatch issue with comma in r819xU_firmware.c Add space after ',' to fix the error message provided by checkpatch.pl: ERROR: space required after that ',' Signed-off-by: Freeman Zhang <freeman.zhang1992@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61c854f510505177e95b0f2bc88249c4ed68f501 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Jul 27 15:36:26 2015 +0530 Staging : android :Replace comma with a semicolon Replace comma between expression statements by a semicolon. The semantic patch used is as follows: @@ expression e1,e2; @@ e1 - , + ; e2; Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 740d6c17c8fe25b917273195db8d49d33b87e6ae Author: Ciprian Manea <ciprian.manea.cm@xxxxxxxxx> Date: Sun Jul 26 22:26:18 2015 +0100 staging: slicoss: Add blank line after variable declarations. This patch fixes the checkpatch.pl warning: WARNING: Missing a blank line after declarations + unsigned long flags; + pshmem = (struct slic_shmem *)(unsigned long) Signed-off-by: Ciprian Manea <ciprian.manea.cm@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a3a3f64cabe1590d76d6e8bc1b24c11219ab61e Author: Peter Huewe <peterhuewe@xxxxxx> Date: Sat Jul 25 01:59:08 2015 +0200 staging/xgifb: fix dumpVGAReg compile error if DEBUG is set If DEBUG is set dumpVGAReg is called and tries to access XGISR which is defined as (xgifb_info->dev_info.P3c4) which is not known within this function. -> add as parameter to dumpVGAReg so xgifb_info becomes known Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bc8ff7479c57f2e0332d8b8dc7ba44b31b6839c Author: Kevin Darbyshire-Bryant <kevin@xxxxxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 25 10:48:28 2015 +0100 staging: octeon: add missing blank line after declarations Fixes checkpatch.pl WARNING: Missing a blank line after delarations Signed-off-by: Kevin Darbyshire-Bryant <kevin@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3c709b8fc1bbdeddd9b9c1f7785b9b35d2301d9 Author: Navy Cheng <navych@xxxxxxx> Date: Mon Jul 27 16:09:35 2015 +0800 Staging: dgnc: dgnc_driver.h: remove unnecessary comments The public headers is well known by others and the redundant commits make the code mess. Remove the comments of the public headers to make the code tidy. Signed-off-by: Navy Cheng <navych@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36927c1828c526c571973758b2d3a4bad051bc3f Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Tue Jul 28 12:29:11 2015 -0400 staging: unisys: visornic - consolidate+simplify xmit watermark checks The code that tests for high and low xmit watermarks was consolidatedand simplified. The output behavior should be identical, with the exception of an off-by-one error being corrected in the tests done when the counters overflowed. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb84fca03d99ec1bb8d370b575aa2984b60a8374 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Tue Jul 28 12:29:10 2015 -0400 staging: unisys: visornic: enable skb->len error-check, remove DEBUG blocks * A skb->len error-check was enabled (removed from a "#ifdef DEBUG" block). * Several unneeded "#ifdef DEBUG" blocks were removed. * A dev_err() was converted to the more-appropriate netdev_err(). Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c847020e7ae07c6a3d68c9a617815b9d4f8a1e10 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Tue Jul 28 12:29:09 2015 -0400 staging: unisys: visornic_resume needs to mirror _serverdown_complete Previously we simplified the serverdown function to basically turn it into a dev_close(), but missed the analogous logic in visornic_resume() (which is essentially the "book-end" of visornic_serverdown_complete()). As a result, during IO partition recovery, the nic would go closed when the IO partition went away, but would never be opened again when the IO partition came back. This patch changes visornic_resume() to use dev_open(), so that it once again plays nicely with visornic_serverdown_complete(). Because dev_open() forces us into the visornic_open() path, other logic in visornic_resume() was no longer necessary, and lended to simplifying visornic_resume() even more. Fixes: 36645d72a377 ("staging: unisys: simplify visornic_serverdown_complete") Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6483783d24afc22248f3051326681a4327e29e72 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Tue Jul 28 12:29:08 2015 -0400 staging: unisys: visornic - correctly reset flag prior to send_enbdis() Because devdata->enab_dis_acked is the flag used to determine whether an enable/disable operation to the IO partition has completed, it should always be cleared prior to initiating the operation. The call added to visornic_enable_with_timeout() added in this patch makes the usage there consistent with visornic_disable_with_timeout(). Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f562b21612d938cf43202ca3fe29636893aa5df Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Jul 31 13:21:33 2015 -0400 staging: unisys: visornic - prevent lock recursion after IO recovery In the patch which changed the serverdown logic to by synchronous, we were mistakenly holding on to devdata->priv_lock in the call to visornic_serverdown_complete(), which ultimately ended up recursively attempting to grab the same lock via the path: --> dev_close --> visornic_close() --> visornic_disable_with_timeout() Evidence: BUG: spinlock recursion on CPU#0, kworker/u2:0/1567 lock: 0xffff88002d7e4c90, .magic: dead4ead, .owner: kworker/ .owner_cpu: 0 CPU: 0 PID: 1567 Comm: kworker/u2:0 Tainted: G WC 4.2.0-rc3-ARCH+ #60 Hardware name: Dell Inc. PowerEdge T110/ , BIOS 1.23 12/15/2009 Workqueue: visorchipset_controlvm controlvm_periodic_work [visorbus] ffff8800216a9380 ffff88002d167878 ffffffff81476874 000000000000061f ffff88002d7e4c90 ffff88002d167898 ffffffff8109e2bc ffff88002d7e4c90 ffffffff81763d7c ffff88002d1678b8 ffffffff8109e330 ffff88002d7e4c90 Call Trace: [<ffffffff81476874>] dump_stack+0x4f/0x73 [<ffffffff8109e2bc>] spin_dump+0x7c/0xc0 [<ffffffff8109e330>] spin_bug+0x30/0x40 [<ffffffff8109e547>] do_raw_spin_lock+0x127/0x140 [<ffffffff8147bf8b>] _raw_spin_lock_irqsave+0x4b/0x60 [<ffffffffa0168a5c>] ? visornic_disable_with_timeout.clone.2+0x3c/ [visornic] [<ffffffff8147c639>] ? _raw_spin_unlock_bh+0x39/0x40 [<ffffffffa0168a5c>] visornic_disable_with_timeout.clone.2+0x3c/ [visornic] [<ffffffffa0168c6e>] visornic_close+0xe/0x20 [visornic] [<ffffffff813ae8d2>] __dev_close_many+0x92/0xe0 [<ffffffff813ae9ea>] dev_close_many+0x7a/0x110 [<ffffffff81097556>] ? down+0x16/0x50 [<ffffffff813af01f>] dev_close+0x3f/0x50 [<ffffffffa0166b61>] visornic_serverdown+0x91/0x1a0 [visornic] [<ffffffffa0155760>] ? device_changestate_responder.clone. [visorbus] [<ffffffffa0166c85>] visornic_pause+0x15/0x20 [visornic] [<ffffffffa015101f>] initiate_chipset_device_pause_resume+0x9f/0xe0 [visorbus] [<ffffffffa0151093>] chipset_device_pause+0x13/0x20 [visorbus] [<ffffffffa0153cbb>] device_epilog+0x12b/0x1a0 [visorbus] [<ffffffffa015506b>] handle_command+0x72b/0x970 [visorbus] [<ffffffffa015214e>] ? visorchannel_signalremove+0x6e/0x80 [visorbus] [<ffffffffa0155521>] controlvm_periodic_work+0x271/0x420 [visorbus] [<ffffffff8106cb52>] process_one_work+0x1d2/0x540 [<ffffffff8106cab9>] ? process_one_work+0x139/0x540 [<ffffffff814771b7>] ? __schedule+0x807/0xc30 [<ffffffff8106cf57>] worker_thread+0x57/0x4c0 [<ffffffff8106cf00>] ? process_scheduled_works+0x40/0x40 [<ffffffff8106cf00>] ? process_scheduled_works+0x40/0x40 [<ffffffff81073b19>] kthread+0xe9/0x110 [<ffffffff81073a30>] ? __init_kthread_worker+0x70/0x70 [<ffffffff8147cddf>] ret_from_fork+0x3f/0x70 [<ffffffff81073a30>] ? __init_kthread_worker+0x70/0x70 BUG: spinlock lockup suspected on CPU#0, kworker/u2:0/1567 Fixes: f2b70efaf48f ("staging: unisys: Make serverdown synchronous") Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30948df80c1d17a7dfe5f4efba7e8f4880fc7662 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Jul 28 12:29:06 2015 -0400 staging: unisys: avoid format string parsing This makes sure the kthread name can't be parsed as a format string. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59fd2c8bd11ff1cc9e8fd84f69d8047e63fad0a3 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Fri Jul 24 12:06:53 2015 -0400 drivers, staging, unisys Add modalias files to visorbus devices This patch adds modalias files that export the device UUID type to sysfs so that udev can autoload the appropriate device driver on demand. Note that is required a minor name change to the channel device sysfs files which are currently named visorbus_dev_groups, and are now named visorbus_channel_groups. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f93b0cbfdf919c956ce8cdd1fff10068004ff3a5 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Fri Jul 24 12:06:52 2015 -0400 staging: unisys: add UUID strings to channel_guid.h Define additional strings for module loading code ease of use. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4cc38b0849d68c5a43b1b57f771fa8c6fb779081 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Fri Jul 24 12:06:51 2015 -0400 drivers, staging, unisys, cleanup channel_guid.h This file has a lot of dead comments and needs to be cleaned up. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cfa48d936a22928060c7f9d401e927af3d5f87cf Author: Mayank Bareja <mbareja@xxxxxxxxxxx> Date: Tue Jul 28 05:50:12 2015 +0000 Staging: rtl8188eu/hal: Fixed code indentation warning detected with checkpatch.pl fixed code indentation warning as reported by checkpatch.pl. Replaced Spaces with Tabs. Signed-off-by: Mayank Bareja <mbareja@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f523c7d7a66d97d0584182eb3ff4b2425219f9d8 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Jul 27 19:07:57 2015 +0530 Staging : rtl8188eu : os_dep : Compression of lines for immediate return This patch compresses two lines into a single line if immediate return is found. Also remove variable ret as it is no longer needed. Semantic patch used for this is as follows: @@ type T; identifier i,f; constant C; @@ - T i; ...when != i when strict ( return -C; | - i = + return f(...); - return i; ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26589720620e8fe429681f599fdc145c8f57a8c6 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Jul 29 10:15:18 2015 +0200 staging: rtl8188eu: don't duplicate ieee80211 WLAN_HT_CAP_SM_PS_* constants linux/ieee80211.h already defines constants for spatial multiplexing power save modes. Remove the duplicated definitions. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5efb33e5c6ea76d1f413bfd8e5d0a9811b958d0 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Jul 29 10:15:17 2015 +0200 staging: rtl8188eu: don't duplicate ieee80211 WLAN_AUTH_* constants linux/ieee80211.h already defines constants for authentication algorithms. Remove the duplicated definitions. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63d6c969b7424b014fc3cc43b549f63db166aa2a Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Jul 29 10:15:16 2015 +0200 staging: rtl8188eu: wrap a long if condition and remove extra parenthesis Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35cf0b5596c6936588726bd9fbc9789cac371561 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Jul 29 10:15:15 2015 +0200 staging: rtl8188eu: don't duplicate ieee80211 WLAN_EID_* constants linux/ieee80211.h already defines constants for information element IDs. Resolve discrepancies in naming and remove the duplicated definitions. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be3d2e0fe154f9da9098d59477ef08230a533426 Author: Dave Perez <dave@xxxxxxxxxxxxx> Date: Wed Jul 29 21:50:30 2015 -0400 Staging: rtl8188eu: fixed newlines after declarations This is a patch to the rtw_debug.c file that fixes styling errors relating to new lines after variable declarations. Signed-off-by: Dave Perez <dave@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 176d1b96436dee996f5bd7b36429e6068a848478 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:49:55 2015 -0400 staging/lustre/llite: Don't set page writeback on non-dirty page New writeback changes in 4.2-RC1 have exposed that we incorrectly set page_writeback on a page that is being written synchronously, which aside from this new crash (dereference of NULL inode->i_wb from set_page_writeback) likely threw off some related page statistics in the past. BUG: unable to handle kernel NULL pointer dereference at 0000000000000138 IP: [<ffffffff8140d90a>] __percpu_counter_add+0x1a/0x80 PGD 0 Oops: 0000 [#1] SMP DEBUG_PAGEALLOC Modules linked in: osc(C) lmv(C) fld(C) mgc(C) lustre(C) mdc(C) fid(C) lov(C) ksocklnd(C) ptlrpc(C) obdclass(C) lnet(C) libcfs(C) loop sha512_generic crc32 rpcsec_gss_krb5 microcode joydev i2c_piix4 acpi_cpufreq pcspkr nfsd syscopyarea sysfillrect sysimgblt drm_kms_helper ttm drm serio_raw virtio_blk [last unloaded: libcfs] CPU: 0 PID: 13328 Comm: cvs Tainted: G C 4.2.0-rc1-vm-nfs+ #30 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 task: ffff8800cc98a400 ti: ffff8801157e8000 task.ti: ffff8801157e8000 RIP: 0010:[<ffffffff8140d90a>] [<ffffffff8140d90a>] __percpu_counter_add+0x1a/0x80 RSP: 0018:ffff8801157eb698 EFLAGS: 00010086 RAX: 0000000000000003 RBX: ffffea0002b91cc0 RCX: 000000000000001a RDX: 0000000000000020 RSI: 0000000000000001 RDI: 00000000000000e8 RBP: ffff8801157eb6b8 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 00000000000000e8 R13: 0000000000000001 R14: ffff8800673587a8 R15: ffff8800673589b0 FS: 00007f6718b89800(0000) GS:ffff88011f400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000138 CR3: 000000009d51c000 CR4: 00000000000007f0 Stack: ffffffff811919e2 ffffea0002b91cc0 ffff880067358998 ffff880119419800 ffff8801157eb718 ffffffff81191a58 ffff8801157eb788 0000000000000282 ffff8800ce5ce920 0000000000000000 ffff8800a525af80 ffff880053f68f10 Call Trace: [<ffffffff811919e2>] ? __test_set_page_writeback+0x72/0x240 [<ffffffff81191a58>] __test_set_page_writeback+0xe8/0x240 [<ffffffffa04e7a13>] vvp_page_prep_write+0x33/0xb0 [lustre] [<ffffffffa028ad87>] cl_page_invoke+0x57/0x90 [obdclass] [<ffffffffa028cc8d>] cl_page_prep+0x2d/0x180 [obdclass] [<ffffffffa0545d84>] osc_io_submit+0x134/0x4a0 [osc] [<ffffffffa02933a3>] cl_io_submit_rw+0x53/0xb0 [obdclass] [<ffffffffa0483635>] lov_io_submit+0x3a5/0x570 [lov] [<ffffffff810cb7bb>] ? lockdep_init_map+0x5b/0x6d0 [<ffffffffa02933a3>] cl_io_submit_rw+0x53/0xb0 [obdclass] [<ffffffffa029428d>] cl_io_submit_sync+0xed/0x1c0 [obdclass] [<ffffffffa04e881d>] vvp_page_sync_io.isra.15+0x4d/0x100 [lustre] [<ffffffffa028dd2f>] ? cl_page_clip+0xff/0x130 [obdclass] [<ffffffffa04e9f38>] vvp_io_commit_write+0x448/0x500 [lustre] [<ffffffffa02939fa>] cl_io_commit_write+0x9a/0x130 [obdclass] [<ffffffffa04cb222>] ll_commit_write+0xc2/0x230 [lustre] [<ffffffffa04dbdaa>] ll_write_end+0x2a/0x50 [lustre] [<ffffffff811851ba>] generic_perform_write+0xfa/0x1b0 [<ffffffff8121fd2e>] ? dentry_needs_remove_privs.part.16+0x1e/0x30 [<ffffffff811877d0>] __generic_file_write_iter+0x190/0x1f0 [<ffffffff8118791a>] generic_file_write_iter+0xea/0x1e0 [<ffffffffa04e8dd0>] vvp_io_write_start+0xa0/0x1e0 [lustre] [<ffffffffa0292469>] cl_io_start+0x49/0x80 [obdclass] [<ffffffffa0294803>] cl_io_loop+0x73/0xd0 [obdclass] [<ffffffffa04b4ebf>] ll_file_io_generic+0x45f/0x4b0 [lustre] [<ffffffffa04b504c>] ll_file_write_iter+0x6c/0xc0 [lustre] [<ffffffff8120330a>] __vfs_write+0xaa/0xe0 [<ffffffff81203969>] vfs_write+0xa9/0x190 [<ffffffff812046c9>] SyS_write+0x49/0xa0 [<ffffffff81796572>] entry_SYSCALL_64_fastpath+0x16/0x7a Code: 5b 41 5c 41 5d 41 5e 5d c3 0f 1f 84 00 00 00 00 00 55 48 89 e5 41 55 41 54 53 49 89 fc 49 89 f5 48 83 ec 08 65 ff 05 8e d1 bf 7e <48> 8b 47 50 48 63 ca 65 8b 18 48 63 db 48 01 f3 48 39 cb 7d 0a Signed-off-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/15610 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6854 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 208bf77049a95cd023c8e884a28449a9182f1c1a Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jul 31 16:32:43 2015 +0530 staging: lustre: drop redundant check There is no need to verify that its an error, as we are anyway going to match the error value to -ENOENT. Drop the redundant check. Reported-by: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e56e17ea935a66fe3a6cd2445649a0d9365a8449 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:28:04 2015 -0400 staging/lustre: use ATTR_OPEN directly, remove ATTR_RAW ATTR_RAW is unused. No point in redefining ATTR_OPEN as ATTR_FROM_OPEN Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b81f9b6db644c2ca0fbce1ac2eda8e74860e8c63 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:28:02 2015 -0400 staging/lustre: ATTR_TIMES_SET is always defined, so don't check it Remove ATTR_TIMES_SET check as it's always present, move the mask of times define close to where it's used. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3befdc7579eee51407ad162a5614ba30c97a405 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:59 2015 -0400 staging/lustre: replace ll_umode_t with umode_t umode_t is what we need anyway, so replace all users and drop the define. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e74468da6965ca473a46a83f88e89c88d9811cc Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:56 2015 -0400 staging/lustre: remove *hw_segments compat defines queue_max_phys_segments, queue_max_hw_segments and bio_hw_segments are not used anywhere in the client code, so remove them Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 629819c7dedbbd6f38c075bb8aba1fe554be4cdb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:55 2015 -0400 staging/lustre: Drop SLAB_DESTROY_BY_RCU redefine, it's always defined SLAB_DESTROY_BY_RCU is always defined in kernel slab.h, so no point in checking for it. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c8eae72ff46f0e70d03ae2e86e631d7a1ca4fe6 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:54 2015 -0400 staging/lustre: Drop FS_HAS_FIEMAP compat macro FS_HAS_FIEMAP was some sort of old RHEL5 construct that's not really important anymore Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5109ea606f9d9d26d2d69a0457d17267b8bfd629 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:53 2015 -0400 staging/lustre: get rid of cfs_bio_* compat macroses This replaces cfs_bio_io_error with direct calls to bio_io_error and cfs_bio_end_io with bio_end_io Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b921ecea84a3f137f7c585af079f86922aa15aa4 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Jul 30 18:27:52 2015 -0400 staging/lustre: Remove unused ll_vfs_* compat defines Lustre defines quite a bit of those compatibility defines duplicating kernel vfs api, but they are not actually used in the client so remove them all and also ll_dirty_inode, ll_security_inode_unlink and cfs_path_put Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d749519f0441144f7da53e157d11f0680c15313 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Jul 27 22:20:35 2015 +0530 Staging: lustre: Drop unnecessary cast This patch does away with the cast on void * as it is unnecessary. Semantic patch used is as follows: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01eb73d53070ca2c7a75c272291a79613604cd97 Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jul 28 22:08:52 2015 +0200 staging: lustre: added a space between concatenated strings A space has been inserted between two concatenated strings as required from checkpatch.pl These two updates do not lead to any problem as DFID is defined as a string in ./drivers/staging/lustre/lustre/include/lustre/lustre_user.h The script checkpatch.pl does not return any other warning/error. Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 911677393b13a3f2fc6db2e297b336fb2669f0f1 Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jul 28 22:08:51 2015 +0200 staging: lustre: modified comparisons against NULL The explicit comparisons against NULL has been modified to be shorter. Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b0e2d6232e9a0b98d39647f3cc6ff5fd8f1cd92 Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jul 28 22:08:50 2015 +0200 staging: lustre: fixed bad alignment This patch fixes 7 bad alignments. When a line is split on more than one line, the other lines must be aligned with paranthesis. Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e28e92b6d18199ad304f076fb24293d8c384cf1b Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jul 28 22:08:49 2015 +0200 staging: lustre: fixed comments without */ on a new line This patch fixes 4 comments without */ on a new line Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f926cac2f70e5dc62e9a11d8e599206c0ad357ba Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jul 28 22:08:48 2015 +0200 staging: lustre: fixed lines longer than 80 chars this set of patches fixes several code style problems: -patch 1: lines with more than 80 chars -patch 2: comments without */ on a separate line -patch 3: bad alignment of lines split on more than one line -patch 4: modified comparisons against NULL -patch 5: added spaces between concatenated strings This patch fixes 2 lines longer than 80 chars The first one is a function whose argument has been moved to next line. The second one is a comment split on two lines Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 585d84b4838ac061f935b5d5c84550ec9f5dee82 Author: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Date: Mon Jul 27 13:52:48 2015 +0800 staging: lustre: Remove unnecessary braces {} for single statement blocks Remove unnecessary braces {} for single line statement blocks. Signed-off-by: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 437dffebadd5cf22403505528f35b0c1b3aa34e2 Author: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Date: Mon Jul 27 13:50:34 2015 +0800 staging: lustre: Remove a trailing */ of a separate line. Remove a trailing */ of a separate comments block line. Signed-off-by: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8de056a13fcd09a85a79f52f7fe72b3fa95ccd66 Author: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Date: Mon Jul 27 13:50:09 2015 +0800 staging: lustre: Add a blank line after declarations. Add a blank line after local variable declarations. Signed-off-by: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b16d335ddf0b89eae6b65d7c2e0c360846fc4846 Author: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Date: Mon Jul 27 13:49:11 2015 +0800 staging: lustre: Adjust code indent for macro and tail blackslash Adjust code indent for macro with tab, as well as tail blackslash. Signed-off-by: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 648d6e6ce4457f9558e1c9d5a8ed73e2baace312 Author: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Date: Mon Jul 27 13:48:10 2015 +0800 staging: lustre: Replace spaces at the start of a line. Replace the spaces at the start of a line with tab for indent. Signed-off-by: Pan Li <incarnation.p.lee@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db316d57b63c07f2ebea596d7e21aa56549f54ab Merge: 0f7bffd 04ff53f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 31 15:45:37 2015 -0700 Merge branch 'dsa-netconsole' Florian Fainelli says: ==================== net: GENET, SYSTEMPORT and DSA netconsole This patch series adds support for netconsole in the GENET, SYSTEMPORT and DSA drivers. A small refactoring to the DSA transmit path is required to avoid duplicating the dsa_netpoll_send_skb() into each and every tagging protocol supported. Testing on e.g: mv643xx_eth and/or e1000e would be much appreciated! Changes in v2: - properly disable/enable interrupts in GENET and SYSTEMPORT - pass the reallocated SKB back to dsa_slave_xmit() in case a tag protocol had to alter the original SKB ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04ff53f96a931751a70c2bb3926770900b5fbebe Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Jul 31 11:42:57 2015 -0700 net: dsa: Add netconsole support Add support for using DSA slave network devices with netconsole, which requires us to allocate and free custom netpoll instances and invoke the parent network device poll controller callback. In order for netconsole to work, we need to construct the DSA tag, but not queue the skb for transmission on the master network device xmit function. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ed70ce9f01c998999e48642a768d9013bee2c4f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Jul 31 11:42:56 2015 -0700 net: dsa: Refactor transmit path to eliminate duplication All tagging protocols do the same thing: increment device statistics, make room for the tag to be inserted, create the tag, invoke the parent network device transmit function. In order to prepare for adding netpoll support, which requires the tag creation, but not using the parent network device transmit function, do some little refactoring which eliminates duplication between the 4 tagging protocols supported. We need to return a sk_buff pointer back to the caller because the tag specific transmit function may have to reallocate the original skb (e.g: tag_trailer.c) and this is the one we should be transmitting, not the original sk_buff we were passed. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cec4f5e00a34a1c7407af302470246dd4f8be28 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Jul 31 11:42:55 2015 -0700 net: systemport: Add netconsole support Implement a poll controller for netconsole which invokes the RX interrupt handler to poll for incoming packets, and cleans up all TX queues by invoking the TX interrupt handler. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d2e88828f25eb587b78a430e18071a5bc8d18c2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Jul 31 11:42:54 2015 -0700 net: bcmgenet: Add netconsole support Implement a poll controller for netconsole which invokes both of our interrupt handlers for the different RX/TX queues. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f7bffd9e512b77279bbce704fad3cb1d6887958 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 16:49:43 2015 +0200 bonding: add tlb_dynamic_lb netlink support tlb_dynamic_lb could be set only via sysfs, this patch allows it to be set via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7a0925e47031d51041ce9a357edc02fb67d0b1d Merge: 774ad03 360d9bb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 31 15:33:23 2015 -0700 Merge tag 'wireless-drivers-next-for-davem-2015-07-31' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: mwifiex: * add TX DATA Pause support * add multichannel and TDLS channel switch support ath10k: * enable VHT for IBSS * initial work to support qca99x0 and the corresponding 10.4 firmware branch ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 774ad031dd6d2ef840375a662693952b73a3ae71 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Fri Jul 31 11:15:22 2015 +0100 sfc: MC allocations must be restored following an entity reset Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 273248202013aa9d6d1bb2c1c4e4034a2813453f Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Fri Jul 31 11:14:54 2015 +0100 sfc: allow ethtool selftest and MC reboot to complete on an unprivileged function The policy in the net driver is to attempt MCDI commands and then handle any EPERM error codes appropriately when returned by unprivileged functions. The ethtool selftest contains some tests which are useful on an unprivileged function, such as the event queue interrupt tests, but other tests cannot be performed as the function does not have the required permissions. If a test returns -EPERM, act as though the test was not run and continue. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bee8259dd31f419a883174556b11edc6f9a153d1 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Jul 31 16:58:42 2015 +0800 net: phy: add driver for aquantia phy This patch added driver to support Aquantia PHYs AQ1202, AQ2104, AQR105, AQR405, which accessed through clause 45. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85b1d8bbfd2ea6ae1dc6d0ccdb25abdcb52a5856 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Jul 30 23:54:28 2015 -0700 br2684: Remove unnecessary formatting macros b1 and bs Use vsprintf extension %pI4 instead. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e90fba8d9f6067cd511f7b855518eebda6bf2532 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Fri Jul 31 11:23:39 2015 +0800 r8152: disable the capability of zero length The UEFI driver would enable zero length, and the Linux driver doesn't need it. Zero length let the hw complete the transfer with length 0, when there is no received packet. It would add the load of USB host controller and reduce the performance. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8a9b1bc1b238eed9987da747a0e52f5bb009980 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Jul 30 20:10:22 2015 -0700 vxlan: expose COLLECT_METADATA flag to user space Two vxlan driver flags FLOWBASED and COLLECT_METADATA need to be set to make use of its new flow mode. The former already exposed. Expose the latter. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7576012e61d96a9369c8f98e6373a4de384d3126 Merge: d3aa45c bf21563 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 31 15:21:30 2015 -0700 Merge branch 'mpls-build-fix' Roopa Prabhu says: ==================== af_mpls: fix undefined reference to ip6_route_output with CONFIG_IPV6=n This patch series uses ipv6_stub_impl.ipv6_dst_lookup instead of ip6_route_output. Follows the vxlan drivers usage of ipv6_stub_impl.ipv6_dst_lookup. There is no sk in the af_mpls context from where ipv6_stub_impl.ipv6_dst_lookup is used. sk appears to be needed to get the namespace 'net' and is optional otherwise. This patch series changes ipv6_stub_impl.ipv6_dst_lookup to take net argument. sk remains optional. v1 - v2: use IS_BUILTIN v2 - v3: Use new Kconfig option that depends on (IPV6 || IPV6=n) as suggested by Dave. Also uses IS_ERR as suggested by Thomas. v3 - v4: Include missed case of (MPLS_ROUTING=y && IPV6=m) reported by Dave. v4 - v5: Use ipv6_stub_impl.ipv6_dst_lookup as suggested by Hannes v5 - v6: protect against null ipv6_stub by statically declaring a ipv6_dst_lookup NOP func ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf21563acc1de2391d21ac2141c3471aa4815c1a Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:34:54 2015 -0700 af_mpls: fix undefined reference to ip6_route_output Undefined reference to ip6_route_output and ip_route_output was reported with CONFIG_INET=n and CONFIG_IPV6=n. This patch uses ipv6_stub_impl.ipv6_dst_lookup instead of ip6_route_output. And wraps affected code under IS_ENABLED(CONFIG_INET) and IS_ENABLED(CONFIG_IPV6). Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Reported-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 343d60aada5a358ca186d6e9e353230379c426d8 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 13:34:53 2015 -0700 ipv6: change ipv6_stub_impl.ipv6_dst_lookup to take net argument This patch adds net argument to ipv6_stub_impl.ipv6_dst_lookup for use cases where sk is not available (like mpls). sk appears to be needed to get the namespace 'net' and is optional otherwise. This patch series changes ipv6_stub_impl.ipv6_dst_lookup to take net argument. sk remains optional. All callers of ipv6_stub_impl.ipv6_dst_lookup have been modified to pass net. I have modified them to use already available 'net' in the scope of the call. I can change them to sock_net(sk) to avoid any unintended change in behaviour if sock namespace is different. They dont seem to be from code inspection. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3aa45ce6b94c65b83971257317867db13e5f492 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Jul 30 15:36:57 2015 -0700 bpf: add helpers to access tunnel metadata Introduce helpers to let eBPF programs attached to TC manipulate tunnel metadata: bpf_skb_[gs]et_tunnel_key(skb, key, size, flags) skb: pointer to skb key: pointer to 'struct bpf_tunnel_key' size: size of 'struct bpf_tunnel_key' flags: room for future extensions First eBPF program that uses these helpers will allocate per_cpu metadata_dst structures that will be used on TX. On RX metadata_dst is allocated by tunnel driver. Typical usage for TX: struct bpf_tunnel_key tkey; ... populate tkey ... bpf_skb_set_tunnel_key(skb, &tkey, sizeof(tkey), 0); bpf_clone_redirect(skb, vxlan_dev_ifindex, 0); RX: struct bpf_tunnel_key tkey = {}; bpf_skb_get_tunnel_key(skb, &tkey, sizeof(tkey), 0); ... lookup or redirect based on tkey ... 'struct bpf_tunnel_key' will be extended in the future by adding elements to the end and the 'size' argument will indicate which fields are populated, thereby keeping backwards compatibility. The 'flags' argument may be used as well when the 'size' is not enough or to indicate completely different layout of bpf_tunnel_key. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55d7de9de6c30adce8d675c7ce513e283829c2ff Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Thu Jul 30 19:45:21 2015 +0000 Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver Repost patch of driver for LAN7800 family of USB 2.0 & USB 3.0 to Gigabit Ethernet. - remove module param which can be configurable by standard mechanism. - remove other module parms except msg_level per review comment. - update to handle byte swap for statistics structure correctly. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6ef5a2a50816b58e3126206de13d0b9fdf89df5 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Tue Jul 28 12:27:01 2015 -0700 nvdimm: fix inline function return type warning Fix multiple build warnings when CONFIG_BTT is not enabled: In file included from ../drivers/nvdimm/bus.c:29:0: ../drivers/nvdimm/nd.h:169:15: warning: return type defaults to 'int' [-Wreturn-type] static inline nd_btt_probe(struct nd_namespace_common *ndns, void *drvdata) ^ Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: linux-nvdimm@xxxxxxxxxxxx Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit a6ed38361b1e0f08d630bd491051c254d1fc71b9 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Jul 30 16:04:22 2015 +0200 bpf_jit_disasm: also support reading jit dump from file This patch adds support to read the dmesg BPF JIT dump also from a file instead of the klog buffer. I found this quite useful when going through some 'before/after patch' logs. It also fixes a regex leak found by valgrind when no image dump was found. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2fd77fff4b440c29b48c31db0ce2aec7d319959f Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Jul 31 12:46:17 2015 -0400 PM / suspend: make sync() on suspend-to-RAM build-time optional The Linux kernel suspend path has traditionally invoked sys_sync() before freezing user threads. But sys_sync() can be expensive, and some user-space OS's do not want the kernel to pay the cost of sys_sync() on every suspend -- preferring invoke sync() from user-space if/when they want it. So make sys_sync on suspend build-time optional. The default is unchanged. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4305cd02436dbe0b61b1930f93053a699af40e6a Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Jul 28 13:25:32 2015 +0800 tools/power/acpi: Enable build for EC userspace tool This patch allows EC userspace tool to be built as an ACPI tool. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 391fc234b543991dd7d0361e634cdf5abfbdd0a3 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Tue Jul 28 13:25:25 2015 +0800 tools/power/acpi: Add descend support in ACPI tools Makefile This patch splits tools/power/acpi/Makefile to support descend compling for ACPI tools. In this patch tools/ec related stuff is removed as it is originally not enabled. Also a missing .o (utnonansi.o) is added to the acpidump/Makefile. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 311fa6adf92c5110057daa439fdaff012864aa2b Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Jul 31 10:20:00 2015 +0100 PM / Domains: Return -EPROBE_DEFER if we fail to init or turn-on domain When a device is probed, the function dev_pm_domain_attach() is called to see if there is a power-domain that is associated with the device and needs to be turned on. If dev_pm_domain_attach() does not return -EPROBE_DEFER then the device will be probed. For devices using genpd, dev_pm_domain_attach() will call genpd_dev_pm_attach(). If genpd_dev_pm_attach() does not find a power domain associated with the device then it returns an error code not equal to -EPROBE_DEFER to allow the device to be probed. However, if genpd_dev_pm_attach() does find a power-domain that is associated with the device, then it does not return -EPROBE_DEFER on failure and hence the device will still be probed. Furthermore, genpd_dev_pm_attach() does not check the error code returned by pm_genpd_poweron() to see if the power-domain was turned on successfully. Fix this by checking the return code from pm_genpd_poweron() and returning -EPROBE_DEFER from genpd_dev_pm_attach on failure, if there is a power-domain associated with the device. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 885fb909dc17f9240ab3e3420f7f135ae82be01f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Mar 16 15:47:12 2015 +0100 PM / Domains: Correct unit address in power-controller example In example 2 of the generic PM domains DT bindings, the unit address of the device node representing the child power controller doesn't match its "reg" property. Correct it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ba2bbfbf63075850bb523e2adb815d45e3509995 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Jun 18 15:17:53 2015 +0200 PM / Domains: Remove intermediate states from the power off sequence Genpd's ->runtime_suspend() (assigned to pm_genpd_runtime_suspend()) doesn't immediately walk the hierarchy of ->runtime_suspend() callbacks. Instead, pm_genpd_runtime_suspend() calls pm_genpd_poweroff() which postpones that until *all* the devices in the genpd are runtime suspended. When pm_genpd_poweroff() discovers that the last device in the genpd is about to be runtime suspended, it calls __pm_genpd_save_device() for *all* the devices in the genpd sequentially. Furthermore, __pm_genpd_save_device() invokes the ->start() callback, walks the hierarchy of the ->runtime_suspend() callbacks and invokes the ->stop() callback. This causes a "thundering herd" problem. Let's address this issue by having pm_genpd_runtime_suspend() immediately walk the hierarchy of the ->runtime_suspend() callbacks, instead of postponing that to the power off sequence via pm_genpd_poweroff(). If the selected ->runtime_suspend() callback doesn't return an error code, call pm_genpd_poweroff() to see if it's feasible to also power off the PM domain. Adopting this change enables us to simplify parts of the code in genpd, for example the locking mechanism. Additionally, it gives some positive side effects, as described below. i) One device's ->runtime_resume() latency is no longer affected by other devices' latencies in a genpd. The complexity genpd has to support the option to abort the power off sequence suffers from latency issues. More precisely, a device that is requested to be runtime resumed, may end up waiting for __pm_genpd_save_device() to complete its operations for *another* device. That's because pm_genpd_poweroff() can't confirm an abort request while it waits for __pm_genpd_save_device() to return. As this patch removes the intermediate states in pm_genpd_poweroff() while powering off the PM domain, we no longer need the ability to abort that sequence. ii) Make pm_runtime[_status]_suspended() reliable when used with genpd. Until the last device in a genpd becomes idle, pm_genpd_runtime_suspend() will return 0 without actually walking the hierarchy of the ->runtime_suspend() callbacks. However, by returning 0 the runtime PM core considers the device as runtime_suspended, so pm_runtime[_status]_suspended() will return true, even though the device isn't (yet) runtime suspended. After this patch, since pm_genpd_runtime_suspend() immediately walks the hierarchy of the ->runtime_suspend() callbacks, pm_runtime[_status]_suspended() will accurately reflect the status of the device. iii) Enable fine-grained PM through runtime PM callbacks in drivers/subsystems. There are currently cases were drivers/subsystems implements runtime PM callbacks to deploy fine-grained PM (e.g. gate clocks, move pinctrl to power-save state, etc.). While using the genpd, pm_genpd_runtime_suspend() postpones invoking these callbacks until *all* the devices in the genpd are runtime suspended. In essence, one runtime resumed device prevents fine-grained PM for other devices within the same genpd. After this patch, since pm_genpd_runtime_suspend() immediately walks the hierarchy of the ->runtime_suspend() callbacks, fine-grained PM is enabled throughout all the levels of runtime PM callbacks. iiii) Enable fine-grained PM for IRQ safe devices Per the definition for an IRQ safe device, its runtime PM callbacks must be able to execute in atomic context. In the path while genpd walks the hierarchy of the ->runtime_suspend() callbacks for the device, it uses a mutex. Therefore, genpd prevents that path to be executed for IRQ safe devices. As this patch changes pm_genpd_runtime_suspend() to immediately walk the hierarchy of the ->runtime_suspend() callbacks and without needing to use a mutex, fine-grained PM is enabled throughout all the levels of runtime PM callbacks for IRQ safe devices. Unfortunately this patch also comes with a drawback, as described in the summary below. Driver's/subsystem's runtime PM callbacks may be invoked even when the genpd hasn't actually powered off the PM domain, potentially introducing unnecessary latency. However, in most cases, saving/restoring register contexts for devices are typically fast operations or can be optimized in device specific ways (e.g. shadow copies of register contents in memory, device-specific checks to see if context has been lost before restoring context, etc.). Still, in some cases the driver/subsystem may suffer from latency if runtime PM is used in a very fine-grained manner (e.g. for each IO request or xfer). To prevent that extra overhead, the driver/subsystem may deploy the runtime PM autosuspend feature. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 144c8e172b5c388ddf41fa64e154f53384ec3448 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Wed Jul 29 23:53:10 2015 +0800 intel_pstate: Fix possible overflow complained by Coverity Coverity scanning performed on intel_pstate.c shows possible overflow when doing left shifting: val = pstate << 8; since pstate is of type integer, while val is of u64, left shifting pstate might lead to potential loss of upper bits. Say, if pstate equals 0x4000 0000, after pstate << 8 we will get zero assigned to val. Although pstate will not likely be that big, this patch cast the left operand to u64 before performing the left shift, to avoid complaining from Coverity. Reported-by: Coquard, Christophe <christophe.coquard@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fba9573b33f8bddd772195c202f6b8ec0751cedd Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Thu Jul 30 18:10:40 2015 +0800 cpufreq: Correct a freq check in cpufreq_set_policy() This check was originally added by commit 9c9a43ed2734 ("[CPUFREQ] return error when failing to set minfreq").It attempt to return an error on obviously incorrect limits when we echo xxx >.../scaling_max,min_freq Actually we just need check if new_policy->min > new_policy->max. Because at least one of max/min is copied from cpufreq_get_policy(). For example, when we echo xxx > .../scaling_min_freq, new_policy is copied from policy in cpufreq_get_policy. new_policy->max is same with policy->max. new_policy->min is set to a new value. Let me explain it in deduction method, first statement in if (): new_policy->min > policy->max policy->max == new_policy->max ==> new_policy->min > new_policy->max second statement in if(): new_policy->max < policy->min policy->max < policy->min ==>new_policy->min > new_policy->max (induction method) So we have proved that we only need check if new_policy->min > new_policy->max. After apply this patch, we can also modify ->min and ->max at same time if new freq range is very much different from current freq range. For example, if current freq range is 480000-960000, then we want to set this range to 1120000-2240000, we would fail in the past because new_policy->min > policy->max. As long as the cpufreq range is valid, we has no reason to reject the user. So correct the check to avoid such case. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 88bd64628f4f170491b47b90d772a229b0082859 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 21:53:12 2015 +0200 C6X/megamode-pic: Prepare megamod_irq_cascade for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: linux-c6x-dev@xxxxxxxxxxxxx commit 2b501769c442cf3d2abf388651fa17f46dcd0e5f Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 21:50:30 2015 +0200 blackfin: Prepare irq handlers for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx commit badae6bc94ac0614240d93428350049fa891fcad Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 21:47:35 2015 +0200 arc/irq: Prepare idu_cascade_isr for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit d7185a98d576e33982cd28e65889b3e4122fe5d8 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:35 2015 +0800 sparc/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1433145945-789-27-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6a4a5b34c315be04abdc366cda7a00b7249550f3 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:17 2015 +0800 sparc/irq: Use helper irq_data_get_irq_handler_data() Use helper function irq_data_get_irq_handler_data() to hide irq_desc implementation details. This allows to move irq_data->handler_data to irq_data_common, once all usage sites are converted. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1433145945-789-9-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d2109a12198edf22eb85e475c223eea14b9c3fbe Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:32 2015 +0800 parisc/irq: Use access helper irq_data_get_affinity_mask() Use access helper irq_data_get_affinity_mask() to hide implementation details of struct irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: James E.J. Bottomley <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Link: http://lkml.kernel.org/r/1433145945-789-24-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 9d03e784bc225e7ccaa53bcdb64c8ebf96f153d7 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:31 2015 +0800 mn10300/irq: Use access helper irq_data_get_affinity_mask() Use access helper irq_data_get_affinity_mask() to hide implementation details of struct irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-am33-list@xxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1433145945-789-23-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4ba375016f0234f8d8e7572494eac09d0b1a7252 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Jul 31 21:59:10 2015 +0200 irqchip/i8259: Prepare i8259_irq_dispatch for irq argument removal Make irq a local variable and retrieve domain from the irq descriptor which avoid a redundant lookup. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0509cfde038d8afb0c1df1d52c90ae847b425d97 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Wed Jul 8 14:46:08 2015 +0200 MIPS/irqchip: Move i8259 irqchip driver to drivers/irqchip Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fdd320da84c63092fe6e155cb7b8d80f7f765fa9 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Jul 30 01:45:07 2015 +0200 cpufreq: Lock CPU online/offline in cpufreq_register_driver() To protect against races with concurrent CPU online/offline, call get_online_cpus() before registering a cpufreq driver. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 194d99c7e3ce54a8c7d8adf79fb1d8ad49a9bf9f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 29 03:08:57 2015 +0200 cpufreq: Replace recover_policy with new_policy in cpufreq_online() The recover_policy is unsed in cpufreq_online() to indicate whether a new policy object is created or an existing one is reinitialized. The "recover" part of the name is slightly confusing (it should be "reinitialization" rather than "recovery") and the logical not (!) operator is applied to it in almost all of the checks it is used in, so replace that variable with a new one called "new_policy" that will be true in the case of a new policy creation. While at it, drop one of the labels that is jumped to from only one spot. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 0b275352872b2641ed5c94d0f0f8c7e907bf3e3f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 29 03:03:44 2015 +0200 cpufreq: Separate CPU device registration from CPU online To separate the CPU online interface from the CPU device registration, split cpufreq_online() out of cpufreq_add_dev() and make cpufreq_cpu_callback() call the former, while cpufreq_add_dev() itself will only be used as the CPU device addition subsystem interface callback. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Suggested-by: Russell King <linux@xxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 50ba22479c324c0d9dc8134d519dcba92d83a8a7 Merge: 71b6544 3431e49 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Jul 31 21:40:03 2015 +0200 Merge back earlier ACPI PM material for v4.3. commit 1eddfe8edb8f85a0d7f793090abcbdf8741455de Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Thu Jul 30 14:35:14 2015 -0700 Smack: Three symbols that should be static The kbuild test robot reported a couple of these, and the third showed up by inspection. Making the symbols static is proper. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 0b7367017087cfe6f4514eb9e9c108ac8d6a101b Author: Joel Porquet <joel@xxxxxxxxxxx> Date: Tue Jul 7 17:18:23 2015 -0400 irqchip: Remove header drivers/irqchip/irqchip.h All drivers using the macro IRQCHIP_DECLARE have been converted to using global header include/linux/irqchip.h. Local header drivers/irqchip/irqchip.h is now useless and can be removed. Signed-off-by: Joel Porquet <joel@xxxxxxxxxxx> Cc: vgupta@xxxxxxxxxxxx Cc: monstr@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/2818400.nekF4hg2Ig@joel-zenbook Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0a271c2a34deb98a81f94fc87380287f3a8c9c72 Author: Joel Porquet <joel@xxxxxxxxxxx> Date: Tue Jul 7 17:17:33 2015 -0400 mips/irq: prepare for drivers/irqchip/irqchip.h removal The IRQCHIP_DECLARE macro migrated to 'include/linux/irqchip.h'. See commit 91e20b5040c67c51aad88cf87db4305c5bd7f79d ("irqchip: Move IRQCHIP_DECLARE macro to include/linux/irqchip.h"). This patch removes inclusions of private header 'drivers/irqchip/irqchip.h'and replaces them with the inclusion of 'include/linux/irqchip.h'. Signed-off-by: Joel Porquet <joel@xxxxxxxxxxx> Cc: vgupta@xxxxxxxxxxxx Cc: monstr@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/3357968.0IznKtY3Q9@joel-zenbook Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fd4b267b3d30f4742bdf7586fed5193b67938e32 Author: Joel Porquet <joel@xxxxxxxxxxx> Date: Tue Jul 7 17:13:15 2015 -0400 microblaze/irq: prepare for drivers/irqchip/irqchip.h removal The IRQCHIP_DECLARE macro migrated to 'include/linux/irqchip.h'. See commit 91e20b5040c67c51aad88cf87db4305c5bd7f79d ("irqchip: Move IRQCHIP_DECLARE macro to include/linux/irqchip.h"). This patch removes the inclusion of private header 'drivers/irqchip/irqchip.h' and replaces it with the inclusion of 'include/linux/irqchip.h'. Signed-off-by: Joel Porquet <joel@xxxxxxxxxxx> Cc: vgupta@xxxxxxxxxxxx Cc: monstr@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/12384045.pHnZrl3CFY@joel-zenbook Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 34cadd9c1bcbd5ad5a1f379b013526a8046d4aed Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jul 30 16:30:07 2015 +0300 spi: pxa2xx: Add support for Intel Sunrisepoint Major difference in LPSS SPI between Intel Sunrisepoint PCH and earlier platforms is an integrated DMA (iDMA) engine. iDMA is an IP that is private for each LPSS host controller (UART/SPI/I2C). Other differences are private register space offset, a few private registers that are in different location and FIFO thresholds. Intel Sunrisepoint LPSS SPI and iDMA devices are probed and registered in MFD layer as platform devices. Here these compound devices are detected by matching against known PCI IDs. This allows us to share pxa2xx_spi_acpi_get_pdata() for setting up the platform data instead of duplicating it in MFD part. This patch adds configuration for Intel Sunrisepoint LPSS SPI, above detection and DMA filter function that picks the DMA channel only from an associated iDMA block. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bf08f39e6088c52c6fc7cce2ef7fbbd7bf4692b9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:45 2015 +0200 ASoC: Export OF module alias information in missing codec drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8faf3554cb7a83413f9dfbe1a3420a81c52efe47 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Jul 31 22:56:42 2015 +0800 ARM: multi_v7_defconfig: Enable Allwinner P2WI, PWM, DMA_SUN6I, cryptodev Enable drivers for Allwinner P2WI, PWM, cryptodev (Security System) and sun6i DMA engine. Also enable EXTCON as PHY_SUN4I_USB depends on it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 9ac87c5a0b19417f925dc61cac7198d872159a2c Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri Jul 31 11:28:54 2015 +0100 ARM: 8407/1: switch_to: Remove finish_arch_switch Fold finish_arch_switch() into switch_to(), in preparation for the removal of the finish_arch_switch call from core sched code. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 787047eea24a2443c366679ae6b5a3873a33b64e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 29 00:34:48 2015 +0100 ARM: 8392/3: smp: Only expose /sys/.../cpuX/online if hotpluggable Writes to /sys/.../cpuX/online fail if we determine the platform doesn't support hotplug for that CPU. Furthermore, if the cpu_die op isn't specified the system hangs when we try to offline a CPU and it comes right back online unexpectedly. Let's figure this stuff out before we make the sysfs nodes so that the online file doesn't even exist if it isn't (at least sometimes) possible to hotplug the CPU. Add a new 'cpu_can_disable' op and repoint all 'cpu_disable' implementations at it because all implementers use the op to indicate if a CPU can be hotplugged or not in a static fashion. With PSCI we may need to add a 'cpu_disable' op so that the secure OS can be migrated off the CPU we're trying to hotplug. In this case, the 'cpu_can_disable' op will indicate that all CPUs are hotpluggable by returning true, but the 'cpu_disable' op will make a PSCI migration call and occasionally fail, denying the hotplug of a CPU. This shouldn't be any worse than x86 where we may indicate that all CPUs are hotpluggable but occasionally we can't offline a CPU due to check_irq_vectors_for_cpu_disable() failing to find a CPU to move vectors to. Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Nicolas Pitre <nico@xxxxxxxxxx> Cc: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Simon Horman <horms@xxxxxxxxxxxx> [shmobile portion] Tested-by: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Cc: <linux-sh@xxxxxxxxxxxxxxx> Tested-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e80c47bd738badeaa70b1114d4cd75f892672bd3 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:40 2015 +0200 regulator: fan53555: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 98c7863c36bdf20c07e38d8bea5261902b52f98d Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 18:18:27 2015 +0200 spi: xcomm: Export I2C module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a46dd6c0c8450048609d90844bdfcbc53c6b002 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Jul 31 22:56:41 2015 +0800 ARM: sunxi_defconfig: Enable DMA_SUN6I, P2WI, PWM, cryptodev, EXTCON, FHANDLE Enable sun6i DMA engine, sun6i P2WI, PWM, and crypto engine (Security System) drivers by default. EXTCON is needed by the updated sun4i USB PHY driver. While at it, enable FHANDLE, which is needed by systemd and newer versions of udev. Also enable CGROUPS for systemd. And get rid of POWER_RESET, as the sun6i power reset driver has been removed in favor of proper sun6i watchdog support. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 36d16154fd0c5cc4f61831c482379acfb3d800f4 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Jul 31 22:40:59 2015 +0800 ARM: dts: sun5i: hsg-h702: Enable USB OTG controller This tablet has proper USB OTG support, using 3 GPIO pins for ID and VBUS detection, and also VBUS control. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d747af013db7d0a0d3c5054d3856ad941f2b715c Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Jul 31 22:40:58 2015 +0800 ARM: dts: sun5i: hsg-h702: Enable side volume buttons with LRADC The tablet has volume up/down buttons on the side, connected to the LRADC. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 361a4069727b1f43583314470e877e1187b35505 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jul 31 14:53:38 2015 +0200 ARM: dts: sun8i: Enable USB DRC on Ippo Q8H-A33 tablet Enable the otg/drc usb controller on the Ippo Q8H-A33 tablet, for now it is enabled in host-only mode, because true OTG support requires support for detecting and enabling Vbus through the axp221 pmic. For this to work the Vbus on the port must be enabled by u-boot, or a powered hub must be used. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4e627fba0511546ad92ad983f938a2d6d47c95f2 Author: Mark Janssen <mark@xxxxxxxxx> Date: Fri Jul 31 14:53:37 2015 +0200 ARM: dts: sun5i: Enable USB DRC on A13 OLinuxIno Enable the otg/drc usb controller on the A13 OLinuxIno. Signed-off-by: Mark Janssen <mark@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 24354cc7c2b1187ab66ee27dd891bf0d59a8624e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jul 31 14:53:36 2015 +0200 ARM: dts: sun5i: Enable USB DRC on A10s OLinuxIno Micro Enable the otg/drc usb controller on the A10s OLinuxIno Micro. Note the A10s OlinuxIno Micro always has some voltage on its otg power pin, even if the usb-vbus0-regulator is disabled, the leaked voltage is enough to make vbus-det always report 1, so we do not use vbus-det on this board. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b511a6592860f24725f34909392885c4e3e9fe95 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Jul 31 16:41:36 2015 +0100 arm64: restore cpu suspend/resume functionality Commit 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant #ifdefs") accidentally retained code for !CONFIG_SMP in cpu_resume function. This resulted in the hash index being zeroed in x7 after proper computation, which is then used to get the cpu context pointer while resuming. This patch removes the remanant code and restores back the cpu suspend/ resume functionality. Fixes: 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant #ifdefs") Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit f811a38300be3cdb603171aea5ad3fb42b71ca53 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Jul 31 16:36:30 2015 +0800 doc: usb: gadget-testing: using the updated testusb.c testusb.c at http://www.linux-usb.org/usbtest/ is out of date, using the one at the kernel source folder. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4bc58eb16bb2352854b9c664cc36c1c68d2bfbb7 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Jul 31 16:36:29 2015 +0800 Doc: ABI: testing: configfs-usb-gadget-sourcesink Fix the name of attribute Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8cd50626823c00ca7472b2f61cb8c0eb9798ddc0 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Jul 31 16:36:28 2015 +0800 Doc: ABI: testing: configfs-usb-gadget-loopback Fix the name of attribute Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit dd02ea5a33059e4a753ae8bb877b698c54ee2907 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Fri Jul 31 13:46:07 2015 +0200 usb: gadget: mass_storage: Use static array for luns This patch replace dynamicly allocated luns array with static one. This simplifies the code of mass storage function and modules. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> commit fa8ad7889d83bcf0a6cdbf6d3622f3ec019cde14 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Jul 6 12:23:53 2015 +0100 arm: perf: factor arm_pmu core out to drivers To enable sharing of the arm_pmu code with arm64, this patch factors it out to drivers/perf/. A new drivers/perf directory is added for performance monitor drivers to live under. MAINTAINERS is updated accordingly. Files added previously without a corresponsing MAINTAINERS update (perf_regs.c, perf_callchain.c, and perf_event.h) are also added. Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> [will: augmented Kconfig help slightly] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit bc1e3c4687df62a1f2ba1b6be11efbeb76145366 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Tue Jun 30 13:56:57 2015 +0100 ARM: perf: replace arch_find_n_match_cpu_physical_id with of_cpu_device_node_get arch_find_n_match_cpu_physical_id parses the device tree to get the device node for a given logical cpu index. However, since ARM PMUs get probed after the CPU device nodes are stashed while registering the cpus, we can use of_cpu_device_node_get to avoid another DT parse. This patch replaces arch_find_n_match_cpu_physical_id with of_cpu_device_node_get to reuse the stashed value directly instead. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b6c084d7aa8bca21920cbbe13ad58572fa85ece6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jun 29 13:59:01 2015 +0100 ARM: perf: extend interrupt-affinity property for PPIs On systems containing multiple, heterogeneous clusters we need a way to associate a PMU "device" with the CPU(s) on which it exists. For PMUs that signal overflow with SPIs, this relationship is determined via the "interrupt-affinity" property, which contains a list of phandles to CPU nodes for the PMU. For PMUs using PPIs, the per-cpu nature of the interrupt isn't enough to determine the set of CPUs which actually contain the device. This patch allows the interrupt-affinity property to be specified on a PMU node irrespective of the interrupt type. For PPIs, it identifies the set of CPUs signalling the PPI in question. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> # Krait PMU Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8ae81c25cfe962a788a28e023d9a78934d807f7d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jun 29 22:58:46 2015 +0100 arm: perf: Set affinity for PPI based PMUs For PPI based PMUs, we bail out early in of_pmu_irq_cfg() without setting the PMU's supported_cpus bitmap. This causes the smp_call_function_any() in armv7_probe_num_events() to fail. Set the bitmap to be all CPUs so that we properly probe PMUs that use PPIs. Fixes: cc88116da0d1 ("arm: perf: treat PMUs as CPU affine") Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5542f58c95aef67bc9016855f7c0bd6117b43100 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Fri Jul 31 13:37:45 2015 +0200 usb: gadget: mass_storage: Fix freeing luns sysfs implementation Use device_is_registered() instad of sysfs flag to determine if we should free sysfs representation of particular LUN. sysfs flag in fsg common determines if luns attributes should be exposed using sysfs. This flag is used when creating and freeing luns. Unfortunately there is no guarantee that this flag will not be changed between creation and removal of particular LUN. Especially because of lun.0 which is created during allocating instance of function. This may lead to resource leak or NULL pointer dereference: [ 62.539925] Unable to handle kernel NULL pointer dereference at virtual address 00000044 [ 62.548014] pgd = ec994000 [ 62.550679] [00000044] *pgd=6d7be831, *pte=00000000, *ppte=00000000 [ 62.556933] Internal error: Oops: 17 [#1] PREEMPT SMP ARM [ 62.562310] Modules linked in: g_mass_storage(+) [ 62.566916] CPU: 2 PID: 613 Comm: insmod Not tainted 4.2.0-rc4-00077-ge29ee91-dirty #125 [ 62.574984] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 62.581061] task: eca56e80 ti: eca76000 task.ti: eca76000 [ 62.586450] PC is at kernfs_find_ns+0x8/0xe8 [ 62.590698] LR is at kernfs_find_and_get_ns+0x30/0x48 [ 62.595732] pc : [<c01277c0>] lr : [<c0127b88>] psr: 40010053 [ 62.595732] sp : eca77c40 ip : eca77c38 fp : 000008c1 [ 62.607187] r10: 00000001 r9 : c0082f38 r8 : ed41ce40 [ 62.612395] r7 : c05c1484 r6 : 00000000 r5 : 00000000 r4 : c0814488 [ 62.618904] r3 : 00000000 r2 : 00000000 r1 : c05c1484 r0 : 00000000 [ 62.625417] Flags: nZcv IRQs on FIQs off Mode SVC_32 ISA ARM Segment user [ 62.632620] Control: 10c5387d Table: 6c99404a DAC: 00000015 [ 62.638348] Process insmod (pid: 613, stack limit = 0xeca76210) [ 62.644251] Stack: (0xeca77c40 to 0xeca78000) [ 62.648594] 7c40: c0814488 00000000 00000000 c05c1484 ed41ce40 c0127b88 00000000 c0824888 [ 62.656753] 7c60: ed41d038 ed41d030 ed41d000 c012af4c 00000000 c0824858 ed41d038 c02e3314 [ 62.664912] 7c80: ed41d030 00000000 ed41ce04 c02d9e8c c070eda8 eca77cb4 000008c1 c058317c [ 62.673071] 7ca0: 000008c1 ed41d030 ed41ce00 ed41ce04 ed41d000 c02da044 ed41cf48 c0375870 [ 62.681230] 7cc0: ed9d3c04 ed9d3c00 ed52df80 bf000940 fffffff0 c03758f4 c03758c0 00000000 [ 62.689389] 7ce0: bf000564 c03614e0 ed9d3c04 bf000194 c0082f38 00000001 00000000 c0000100 [ 62.697548] 7d00: c0814488 c0814488 c086b1dc c05893a8 00000000 ed7e8320 00000000 c0128b88 [ 62.705707] 7d20: ed8a6b40 00000000 00000000 ed410500 ed8a6b40 c0594818 ed7e8320 00000000 [ 62.713867] 7d40: 00000000 c0129f20 00000000 c082c444 ed8a6b40 c012a684 00001000 00000000 [ 62.722026] 7d60: c0594818 c082c444 00000000 00000000 ed52df80 ed52df80 00000000 00000000 [ 62.730185] 7d80: 00000000 00000000 00000001 00000002 ed8e9b70 ed52df80 bf0006d0 00000000 [ 62.738345] 7da0: ed8e9b70 ed410500 ed618340 c036129c ed8c1c00 bf0006d0 c080b158 ed8c1c00 [ 62.746504] 7dc0: bf0006d0 c080b158 ed8c1c08 ed410500 c0082f38 ed618340 000008c1 c03640ac [ 62.754663] 7de0: 00000000 bf0006d0 c082c8dc c080b158 c080b158 c03642d4 00000000 bf003000 [ 62.762822] 7e00: 00000000 c0009784 00000000 00000001 00000000 c05849b0 00000002 ee7ab780 [ 62.770981] 7e20: 00000002 ed4105c0 0000c53e 000000d0 c0808600 eca77e5c 00000004 00000000 [ 62.779140] 7e40: bf000000 c0095680 c08075a0 ee001f00 ed4105c0 c00cadc0 ed52df80 bf000780 [ 62.787300] 7e60: ed4105c0 bf000780 00000001 bf0007c8 c0082f38 ed618340 000008c1 c0083e24 [ 62.795459] 7e80: 00000001 bf000780 00000001 eca77f58 00000001 bf000780 00000001 c00857f4 [ 62.803618] 7ea0: bf00078c 00007fff 00000000 c00835b4 eca77f58 00000000 c0082fac eca77f58 [ 62.811777] 7ec0: f05038c0 0003b008 bf000904 00000000 00000000 bf00078c 6e72656b 00006c65 [ 62.819936] 7ee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 62.828095] 7f00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 62.836255] 7f20: 00000000 00000000 00000000 00000000 00000000 00000000 00000003 0003b008 [ 62.844414] 7f40: 0000017b c000f5c8 eca76000 00000000 0003b008 c0085df8 f04ef000 0001b8a9 [ 62.852573] 7f60: f0503258 f05030c2 f0509fe8 00000968 00000dc8 00000000 00000000 00000000 [ 62.860732] 7f80: 00000029 0000002a 00000011 00000000 0000000a 00000000 33f6eb00 0003b008 [ 62.868892] 7fa0: bef01cac c000f400 33f6eb00 0003b008 00000003 0003b008 00000000 00000003 [ 62.877051] 7fc0: 33f6eb00 0003b008 bef01cac 0000017b 00000000 0003b008 0000000b 0003b008 [ 62.885210] 7fe0: bef01ae0 bef01ad0 0001dc23 b6e8c162 800b0070 00000003 c0c0c0c0 c0c0c0c0 [ 62.893380] [<c01277c0>] (kernfs_find_ns) from [<c0824888>] (pm_qos_latency_tolerance_attr_group+0x0/0x10) [ 62.903005] Code: e28dd00c e8bd80f0 e92d41f0 e2923000 (e1d0e4b4) [ 62.909115] ---[ end trace 02fb4373ef095c7b ]--- Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7674cba55ad66b2565f8abe8d081a6ea4269bfb6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jul 13 11:03:54 2015 +0200 usb: gadget: atmel_usba_udc: add missing ret value check Add missing return value check. In case of error print debug message and return error code. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cb009d6e0b800e3834cd5e306df90d84e08f9cf7 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jul 13 11:03:53 2015 +0200 staging: emxx_udc: add missing usb_ep_set_maxpacket_limit() Since maxpacket_limit was introduced all UDC drivers should use usb_ep_set_maxpacket_limit() function instead of setting maxpacket value manually. ep.maxpacket_limit contains actual maximum maxpacket value supported by hardware which is needed by epautoconf. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6fd82b69796cc8f313f160ac55bfd24cedc60fed Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jul 13 11:03:52 2015 +0200 usb: isp1760: udc: add missing usb_ep_set_maxpacket_limit() Since maxpacket_limit was introduced all UDC drivers should use usb_ep_set_maxpacket_limit() function instead of setting maxpacket value manually. ep.maxpacket_limit contains actual maximum maxpacket value supported by hardware which is needed by epautoconf. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4ef7a4a1f097b2c17f4f2873a1595aa0aca9f6b4 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jul 13 11:03:51 2015 +0200 usb: gadget: midi: avoid redundant f_midi_set_alt() call Function midi registers two interfaces with single set_alt() function which means that f_midi_set_alt() is called twice when configuration is set. That means that endpoint initialization and ep request allocation is done two times. To avoid this problem we do such things only once, for interface number 1 (MIDI Streaming interface). Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 55d811211b139ed097ddaf40d173c258f133c130 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jul 13 11:03:50 2015 +0200 usb: gadget: ffs: call functionfs_unbind() if _ffs_func_bind() fails Function ffs_do_functionfs_bind() calls functionfs_bind() which allocates usb request and increments refcounts. These things needs to be cleaned up by if further steps of initialization fail by calling functionfs_unbind(). Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit decd275e62d5eef4b947fab89652fa6afdadf2f2 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:23 2015 -0400 x86/vm86: Rename vm86->v86flags and v86mask Rename v86flags to veflags, and v86mask to veflags_mask. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-9-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1342635638cba9b7c8eac776da5e54390d14d313 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:22 2015 -0400 x86/vm86: Rename vm86->vm86_info to user_vm86 Make it clearer that this is the pointer to the userspace vm86 state area. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-8-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ba3e127ec105e790eeec4034d9769e018e4a1b54 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:21 2015 -0400 x86/vm86: Clean up vm86.h includes vm86.h was being implicitly included in alot of places via processor.h, which in turn got it from math_emu.h. Break that chain and explicitly include vm86.h in all files that need it. Also remove unused vm86 field from math_emu_info. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-7-git-send-email-brgerst@xxxxxxxxx [ Fixed build failure. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit af3e565a8542c4be699a0403b88fd6c691f5914f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 31 10:59:20 2015 +0200 x86/vm86: Move the vm86 IRQ definitions to vm86.h Move vm86 specific definitions from irq_vectors.h to vm86.h. Based on patch from Brian Gerst. Originally-from: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-6-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5ed92a8ab71f8865ba07811429c988c72299b315 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:19 2015 -0400 x86/vm86: Use the normal pt_regs area for vm86 Change to use the normal pt_regs area to enter and exit vm86 mode. This is done by increasing the padding at the top of the stack to make room for the extra vm86 segment slots in the IRET frame. It then saves the 32-bit regs in the off-stack vm86 data, and copies in the vm86 regs. Exiting back to 32-bit mode does the reverse. This allows removing the hacks to jump directly into the exit asm code due to having to change the stack pointer. Returning normally from the vm86 syscall and the exception handlers allows things like ptrace and auditing to work properly. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-5-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 90c6085a248f8f964588617f51329688bcc9f2bc Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:18 2015 -0400 x86/vm86: Eliminate 'struct kernel_vm86_struct' Now there is no vm86-specific data left on the kernel stack while in userspace, except for the 32-bit regs. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-4-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d4ce0f26c790af8e829d3fad0a6787f40f98e24f Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:17 2015 -0400 x86/vm86: Move fields from 'struct kernel_vm86_struct' to 'struct vm86' Move the non-regs fields to the off-stack data. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-3-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9fda6a0681e070b496235b132bc70ceb80300211 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Wed Jul 29 01:41:16 2015 -0400 x86/vm86: Move vm86 fields out of 'thread_struct' Allocate a separate structure for the vm86 fields. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438148483-11932-2-git-send-email-brgerst@xxxxxxxxx [ Build fixes. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e800eb39e3f586e46a2007f72d3b609f6e3b888d Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Jul 29 14:35:43 2015 -0700 selftests/x86/vm86: Fix entry_from_vm86 test on 64-bit kernels The test failed due to an oversight on my part when run on a 64-bit kernel. vm86 isn't expected to work at all, and I mistakenly failed one part of the test because no signal was delivered. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/502c8bef877b33fe4943885ded6125dfcc7892db.1438205722.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5b9e5a2f14f25a8dae987494d50ad3aac7366b6 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 30 14:31:34 2015 -0700 x86/ldt: Make modify_ldt() optional The modify_ldt syscall exposes a large attack surface and is unnecessary for modern userspace. Make it optional. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: security@xxxxxxxxxx <security@xxxxxxxxxx> Cc: xen-devel <xen-devel@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a605166a771c343fd64802dece77a903507333bd.1438291540.git.luto@xxxxxxxxxx [ Made MATH_EMULATION dependent on MODIFY_LDT_SYSCALL. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bae2c2d421cdea9dd8d62425eef99e389584cdb3 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Jul 29 19:46:05 2015 +0100 iommu/arm-smmu: Sort out coherency Currently, we detect whether the SMMU has coherent page table walk capability from the IDR0.CTTW field, and base our cache maintenance decisions on that. In preparation for fixing the bogus DMA API usage, however, we need to ensure that the DMA API agrees about this, which necessitates deferring to the dma-coherent property in the device tree for the final say. As an added bonus, since systems exist where an external CTTW signal has been tied off incorrectly at integration, allowing DT to override it offers a neat workaround for coherency issues with such SMMUs. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 28c8b4045b18b013e05656b493ce9a57cbf1f09a Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 16 17:50:12 2015 +0100 iommu/arm-smmu: Limit 2-level strtab allocation for small SID sizes If the StreamIDs in a system can all be resolved by a single level-2 stream table (i.e. SIDSIZE < SPLIT), then we currently get our maths wrong and allocate the largest strtab we support, thanks to unsigned overflow in our calculation. This patch fixes the issue by checking the SIDSIZE explicitly when calculating the size of our first-level stream table. Reported-by: Matt Evans <matt.evans@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ec11d63c677bbba15e65a35f5ba06c1d6eba4dbe Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Jul 15 11:55:19 2015 +0100 iommu/arm-smmu: Fix MSI memory attributes to match specification The MSI memory attributes in the SMMUv3 driver are from an older revision of the spec, which doesn't match the current implementations. Out with the old, in with the new. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ccd6385dfbb7b2f2e6670b5cfc55bb7ec0aa3839 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Jul 15 11:55:18 2015 +0100 iommu/arm-smmu: Fix enabling of PRIQ interrupt When an ARM SMMUv3 instance supports PRI, the driver registers an interrupt handler, but fails to enable the generation of such interrupt at the SMMU level. This patches simply moves the enable flags to a variable that gets updated by the PRI handling code before being written to the SMMU register. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 26c78daade0fbeef7f20bae3c5508a7c571078cd Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Fri Jul 31 01:55:08 2015 -0500 USB: io_ti: Add heartbeat to keep idle EP/416 ports from disconnecting When using Edgeport/416 models with newer firmware (sometime after firmware version 4.80.0), idle ports are automatically bounced (disconnected and then reconnected) approximately every 60 seconds. This breaks programs (e.g: minicom) where idle periods are common, normal and expected. I confirmed with the manufacturer (Digi International) that Edgeport/416 models now ship from the factory with firmware that expects periodic "heartbeat" queries from the driver to keep idle ports alive. This patch implements heartbeat support using the mechanism Digi suggested (periodically requesting an I2C descriptor address) that appears effective on Edgeports running the newer firmware (that require it) and benign on Edgeport devices running older firmware. Since we know that Edgeport firmware version 4.80 (the version distributed in /lib/firmware/down3.bin and used for Edgeports that are either running still older versions or have no onboard non-volatile firmware image) does not require heartbeat support, this patch schedules heartbeats only on Edgeport/416 devices, and only if they are running firmware versions newer than 4.80. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> [johan: minor style changes ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit dcb8e99dbc8a8a7825e39a43e79558d46b20d1e5 Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Fri Jul 31 01:55:07 2015 -0500 USB: io_ti: Add firmware image sanity checks Do what we can to verify that the driver's firmware image is valid (before attempting to download it to the Edgeport) by adding a new function, check_fw_sanity(), and a call to it in in download_fw(). Note: It looks like some Edgeports (models like the EP/416 with on-board E2PROM) may be able to function even if the on-disk firmware image is bad or missing, iff their local E2PROM versions are valid. But most Edgeport models (I've tried EP/1 and EP/8) do not appear to have this capability and they always rely on the on-disk firmware image. I tested an implementation that calls the new check_fw_sanity() function at the top of download_fw() and, rather than simply returning an error if the firmware image is bad or missing, it saves the result and defers the decision until later when it may find that it is running on a E2PROM-equipped device with a valid image. But I think this is messier than it is worth (adding still more messiness to the already very messy download_fw()) for such a marginal possible benefit. So, at least for now, I have chosen the much simpler approach of returning an error whenever edge_startup() fails to load an on-disk firmware image, or check_fw_sanity() indicates that it is unusable. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> [johan: drop redundant checksum mask ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit b7b1d645bb7a3dab4be9d4114cbe319b67a45c01 Author: Remy van Elst <relst@xxxxxxxx> Date: Fri Jul 31 10:59:50 2015 +0200 ARM: dts: sun4i: Enable USB DRC on A10 OLinuxIno Lime Enable the otg/drc usb controller on the A10 OLinuxIno Lime. Signed-off-by: Remy van Elst <relst@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c0e34831c8d9d8bf24f7bc9e12663e3daf1646ef Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Fri Jul 31 01:55:06 2015 -0500 USB: io_ti: Fix firmware version handling The io_ti driver fails to download firmware to Edgeport devices such as the EP/416, even when the on-disk firmware image (/lib/firmware/edgeport/down3.bin) is more current than the version on the EP/416. The current download code is broken in a few ways. Notably it mis-uses global variables OperationalMajorVersion and OperationalMinorVersion (reading their values before they've been properly initialized and subsequently initializing them multiple times without synchronization). This patch drops the global variables and replaces the redundant calls to request_firmware()/release_firmware() in download_fw() with a single call pair in edge_startup(); the firmware image pointer is then passed to download_fw() and build_i2c_fw_hdr(). Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit c3ece7e70dd8fab4fd3e4b9a74ad2df4cfa22e11 Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Fri Jul 31 01:55:05 2015 -0500 USB: io_ti: Increase insufficient timeout for firmware downloads The io_ti driver fails to download firmware to Edgeport devices such as the EP/416 and EP/421 (devices with on-board E2PROM). One of the problems is that the default 1 second timeout in ti_vsend_sync() is insufficient for download operations. This patch increases the download timeout to 10 seconds. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit dff8a207815a605872dfc5bffc1bae1cad29d87c Author: Keerthy <j-keerthy@xxxxxx> Date: Thu Jun 18 13:31:13 2015 +0530 ARM: dts: am4372: Set the default clock rate for dpll_clksel_mac_clk clock cpsw needs the clock to be running at 50MHz in kernel. Hence setting the default rate. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 93c03a2c36d2bc70d42acdeef12d0ac156ffecda Author: Keerthy <j-keerthy@xxxxxx> Date: Thu Jun 18 13:31:12 2015 +0530 ARM: dts: AM437X: add dpll_clksel_mac_clk node The patch adds the missing dpll_clksel_mac_clk clock node. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit b76da4d8758995437a831748dfca6f64a0e31c95 Author: Ezra Savard <ezra.savard@xxxxxxxxxx> Date: Fri Aug 29 11:10:33 2014 -0700 ARM: zynq: DT: Add zc702 pushbuttons to DT as gpio-keys Adds the two MIO connected pushbuttons on the zc702 board to the devicetree as a single multi-key device for us with the gpio-keys driver. Signed-off-by: Ezra Savard <ezra.savard@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 6de663fe33b35fc95e751f907aa28e608c38f121 Author: Alex Wilson <alex.david.wilson@xxxxxxxxx> Date: Fri Jul 17 20:23:55 2015 -0600 ARM: zynq: DT: Add missing interrupt for L2 pl310 Add pl310 interrupt to the Zynq devicetree. Signed-off-by: Alex Wilson <alex.david.wilson@xxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 1837649fd350bf25e20d05dbdd4449160ad0219b Author: Punnaiah Choudary Kalluri <punnaiah.choudary.kalluri@xxxxxxxxxx> Date: Thu Nov 27 20:47:33 2014 +0530 Documentation: devicetree: Add ECC information to synopsys ddr controller Add ECC information to synopsys ddr memory controller. Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit f49310dc62f68ae9f905f9a1e42224fa23867f47 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 16:13:34 2015 +0200 ARM64: zynqmp: Move SPI nodes to the right location Keep nodes sorted. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 8fd7a775c52721a440b7fa42945793459964dc4f Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 16:09:29 2015 +0200 ARM64: zynqmp: Move uart and ttcs to the right location Sort nodes in DTSI. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 0fcb064f0f596beb6f4952e24798142294179d67 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:42:12 2015 +0200 ARM64: zynqmp: Enable spi flashes on ep108 Enable spi flashes on ep108. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit c590974629c958cb93d0b0c7ca40bac546031a2c Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:38:46 2015 +0200 ARM64: zynqmp: Add eeprom memories on i2c bus Add i2c eeprom memories on i2c bus. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Reviewed-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> commit 34ad39b1452f61161bd20b99b189a3f74d27c580 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:24:55 2015 +0200 ARM64: zynqmp: Enable sdhci on ep108 Enable both sdhcis on ep108. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit c7c09d192f6556904e48b2498909b43b7e60d5e0 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:23:43 2015 +0200 ARM64: zynqmp: Enable watchdog on ep108 Enable watchdog on ep108. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 22eda14afc10a5a7b9536cae2a50e92bd64a7b9e Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:21:20 2015 +0200 ARM64: zynqmp: Add DWC3 usb support Add usb nodes to DTSI and enable both of them on ep108. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit ff92e3614aadadd085c14b4bde368e0e78e36d4f Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:18:04 2015 +0200 ARM64: zynqmp: Add SMMU support Add SMMU DT node to DTSI. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 3a8691f5300a4933a54bf8db8d5754b68a92e3c2 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:15:38 2015 +0200 ARM64: zynqmp: Add CANs node for platform Also enable can0 for ep108. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit b72b44b617d21e01d3f73069a908e75c4e91c5bd Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Jul 27 11:09:30 2015 +0200 ARM64: zynqmp: Use zynqmp specific compatible string for gpio The patch: "gpio: Added support to Zynq Ultrascale+ MPSoC" (sha1: bdf7a4ae371894b4dc10b5820006b0a82d484929) added zynqmp specific features. This patch is switching the driver to use the zynqmp compatible string. Also enable the driver for ep108 platform. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 8fae442f8868694ad5937292f1920a21b741e935 Author: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Date: Wed Jun 10 15:46:56 2015 +0530 devicetree: xilinx: zynqmp: add sata node add sata node with sata fixed clock nodes in dtsi file. enable sata in zynqmp-ep108.dts with broken-gen2. Signed-off-by: Suneel Garapati <suneel.garapati@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 2a742cedcf13572999436676cbe36c3a9b733b0f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:36 2015 +0200 uprobes: Fix the waitqueue_active() check in xol_free_insn_slot() The xol_free_insn_slot()->waitqueue_active() check is buggy. We need mb() after we set the conditon for wait_event(), or xol_take_insn_slot() can miss the wakeup. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Pratyush Anand <panand@xxxxxxxxxx> Cc: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134036.GA4799@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 704bde3cc26a4cb34386c164107b59e09745a022 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:33 2015 +0200 uprobes: Use vm_special_mapping to name the XOL vma Change xol_add_vma() to use _install_special_mapping(), this way we can name the vma installed by uprobes. Currently it looks like private anonymous mapping, this is confusing and complicates the debugging. With this change /proc/$pid/maps reports "[uprobes]". As a side effect this will cause core dumps to include the XOL vma and I think this is good; this can help to debug the problem if the app crashed because it was probed. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Pratyush Anand <panand@xxxxxxxxxx> Cc: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134033.GA4796@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f58bea2fec63db72f8050ade709358257e9102ab Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:31 2015 +0200 uprobes: Fix the usage of install_special_mapping() install_special_mapping(pages) expects that "pages" is the zero- terminated array while xol_add_vma() passes &area->page, this means that special_mapping_fault() can wrongly use the next member in xol_area (vaddr) as "struct page *". Fortunately, this area is not expandable so pgoff != 0 isn't possible (modulo bugs in special_mapping_vmops), but still this does not look good. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Pratyush Anand <panand@xxxxxxxxxx> Cc: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134031.GA4789@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db087ef69a2b155ae001665bf0b3806abde7ee34 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:28 2015 +0200 uprobes/x86: Make arch_uretprobe_is_alive(RP_CHECK_CALL) more clever The previous change documents that cleanup_return_instances() can't always detect the dead frames, the stack can grow. But there is one special case which imho worth fixing: arch_uretprobe_is_alive() can return true when the stack didn't actually grow, but the next "call" insn uses the already invalidated frame. Test-case: #include <stdio.h> #include <setjmp.h> jmp_buf jmp; int nr = 1024; void func_2(void) { if (--nr == 0) return; longjmp(jmp, 1); } void func_1(void) { setjmp(jmp); func_2(); } int main(void) { func_1(); return 0; } If you ret-probe func_1() and func_2() prepare_uretprobe() hits the MAX_URETPROBE_DEPTH limit and "return" from func_2() is not reported. When we know that the new call is not chained, we can do the more strict check. In this case "sp" points to the new ret-addr, so every frame which uses the same "sp" must be dead. The only complication is that arch_uretprobe_is_alive() needs to know was it chained or not, so we add the new RP_CHECK_CHAIN_CALL enum and change prepare_uretprobe() to pass RP_CHECK_CALL only if !chained. Note: arch_uretprobe_is_alive() could also re-read *sp and check if this word is still trampoline_vaddr. This could obviously improve the logic, but I would like to avoid another copy_from_user() especially in the case when we can't avoid the false "alive == T" positives. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134028.GA4786@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 86dcb702e74b8ab7d3b2d36984ef00671cea73b9 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:26 2015 +0200 uprobes: Add the "enum rp_check ctx" arg to arch_uretprobe_is_alive() arch/x86 doesn't care (so far), but as Pratyush Anand pointed out other architectures might want why arch_uretprobe_is_alive() was called and use different checks depending on the context. Add the new argument to distinguish 2 callers. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134026.GA4779@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5b7e1a89b820f2b9b23634ca4c59b555e8d9a0d Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:23 2015 +0200 uprobes: Change prepare_uretprobe() to (try to) flush the dead frames Change prepare_uretprobe() to flush the !arch_uretprobe_is_alive() return_instance's. This is not needed correctness-wise, but can help to avoid the failure caused by MAX_URETPROBE_DEPTH. Note: in this case arch_uretprobe_is_alive() can be false positive, the stack can grow after longjmp(). Unfortunately, the kernel can't 100% solve this problem, but see the next patch. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134023.GA4776@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5eeb50de42fd3251845d03c556db012267c72b3f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:21 2015 +0200 uprobes: Change handle_trampoline() to flush the frames invalidated by longjmp() Test-case: #include <stdio.h> #include <setjmp.h> jmp_buf jmp; void func_2(void) { longjmp(jmp, 1); } void func_1(void) { if (setjmp(jmp)) return; func_2(); printf("ERR!! I am running on the caller's stack\n"); } int main(void) { func_1(); return 0; } fails if you probe func_1() and func_2() because handle_trampoline() assumes that the probed function should must return and hit the bp installed be prepare_uretprobe(). But in this case func_2() does not return, so when func_1() returns the kernel uses the no longer valid return_instance of func_2(). Change handle_trampoline() to unwind ->return_instances until we know that the next chain is alive or NULL, this ensures that the current chain is the last we need to report and free. Alternatively, every return_instance could use unique trampoline_vaddr, in this case we could use it as a key. And this could solve the problem with sigaltstack() automatically. But this approach needs more changes, and it puts the "hard" limit on MAX_URETPROBE_DEPTH. Plus it can not solve another problem partially fixed by the next patch. Note: this change has no effect on !x86, the arch-agnostic version of arch_uretprobe_is_alive() just returns "true". TODO: as documented by the previous change, arch_uretprobe_is_alive() can be fooled by sigaltstack/etc. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134021.GA4773@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7b868e4802a86d867aad1be0471b5767d9c20e10 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:18 2015 +0200 uprobes/x86: Reimplement arch_uretprobe_is_alive() Add the x86 specific version of arch_uretprobe_is_alive() helper. It returns true if the stack frame mangled by prepare_uretprobe() is still on stack. So if it returns false, we know that the probed function has already returned. We add the new return_instance->stack member and change the generic code to initialize it in prepare_uretprobe, but it should be equally useful for other architectures. TODO: this assumes that the probed application can't use multiple stacks (say sigaltstack). We will try to improve this logic later. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134018.GA4766@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 97da89767d398c1dfa1f34e5f312eb8ebb382f7f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:16 2015 +0200 uprobes: Export 'struct return_instance', introduce arch_uretprobe_is_alive() Add the new "weak" helper, arch_uretprobe_is_alive(), used by the next patches. It should return true if this return_instance is still valid. The arch agnostic version just always returns true. The patch exports "struct return_instance" for the architectures which want to override this hook. We can also cleanup prepare_uretprobe() if we pass the new return_instance to arch_uretprobe_hijack_return_addr(). Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134016.GA4762@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a83cfeb92132c279b20bbc8ed3cef833b0fe417e Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:13 2015 +0200 uprobes: Change handle_trampoline() to find the next chain beforehand No functional changes, preparation. Add the new helper, find_next_ret_chain(), which finds the first !chained entry and returns its ->next. Yes, it is suboptimal. We probably want to turn ->chained into ->start_of_this_chain pointer and avoid another loop. But this needs the boring changes in dup_utask(), so lets do this later. Change the main loop in handle_trampoline() to unwind the stack until ri is equal to the pointer returned by this new helper. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134013.GA4755@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6c58d0e4cc26ea8882928e64c0de9afed4fc37cb Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:10 2015 +0200 uprobes: Change prepare_uretprobe() to use uprobe_warn() Turn the last pr_warn() in uprobes.c into uprobe_warn(). While at it: - s/kzalloc/kmalloc, we initialize every member of 'ri' - remove the pointless comment above the obvious code Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134010.GA4752@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0b5256c7f173258b19d98364adb57f707dda22f3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:08 2015 +0200 uprobes: Send SIGILL if handle_trampoline() fails 1. It doesn't make sense to continue if handle_trampoline() fails, change handle_swbp() to always return after this call. 2. Turn pr_warn() into uprobe_warn(), and change handle_trampoline() to send SIGILL on failure. It is pointless to return to user mode with the corrupted instruction_pointer() which we can't restore. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134008.GA4745@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2bb5e840e873f8778a41801141771f54f547fa65 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:06 2015 +0200 uprobes: Introduce free_ret_instance() We can simplify uprobe_free_utask() and handle_uretprobe_chain() if we add a simple helper which does put_uprobe/kfree and returns the ->next return_instance. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134006.GA4740@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f231722a2b27ee99cbcd0c6bcf4c866612b78137 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 21 15:40:03 2015 +0200 uprobes: Introduce get_uprobe() Cosmetic. Add the new trivial helper, get_uprobe(). It matches put_uprobe() we already have and we can simplify a couple of its users. Tested-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Acked-by: Anton Arapov <arapov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150721134003.GA4736@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b1c599b8ff80ea79b9f8277a3f9f36a7b0cfedce Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Fri Jul 24 09:15:11 2015 +0200 x86/cpufeature: Add feature bit for Intel's Silicon Debug CPUID bit Add a CPUID feature bit for the SDBG (Silicon Debug) CPU feature found on recent Intel systems starting with Haswell. Using the IA32_DEBUG_INTERFACE MSR (index C80H) one can at least detect if SDBG has been enabled by the firmware and if it has been used or not. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Aaron Lu <aaron.lu@xxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Dirk Brandewie <dirk.j.brandewie@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437330403-12102-1-git-send-email-minipli@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6835fe4846756deb7ca7447fb7bdba6ecb21bd30 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Feb 12 10:59:17 2015 +0100 ARM: dts: zynq: Add OCM node Add OCM node for all zynq boards. OCM location can changed but for all current boards this is the location where OCM is.` Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 555ee95a0a5a525ad2f1654fab0bd157de832b4f Merge: 8400935 de734f8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 31 10:27:19 2015 +0200 Merge branch 'timers/nohz-for-tip' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/nohz Pull NOHZ updates from Frederic Weisbecker: - Fix some jiffies based cputime assumptions. No real harm because the concerned code isn't used by full dynticks. - Simplify jiffies <-> usecs conversions. Remove dead code. - Remove early hacks on nohz full code that avoided messing up idle nohz internals. Now nohz integrates well full and idle and such hack have become needless. - Restart nohz full tick from irq exit. A simplification and a preparation for future optimization on scheduler kick to nohz full. - Simple code cleanups. - Tile driver isolation enhancement on top of nohz. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e4a9288942392965bd5cfad93d9996b83c0dc4a6 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Fri Jul 17 16:01:02 2015 -0500 ARM: zynq: reserve space for jump target in secondary trampoline Add a zero argument to the .word directive in zynq_secondary_trampoline. Without an expression the assembler emits nothing for the .word directive. This makes it so that the intended range is communicated to ioremap and outer_flush_range in zynq_cpun_start; e.g. for LE trampoline_code_size evaluates to 12 now instead of 8. Found by inspection. I'm not aware of any real problem this fixes. Tested by doing on online/offline loop on ZC702. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 07e4d3d9e281136fdd781e8c3b9146b97f2d28d6 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Mon Jul 27 16:36:42 2015 +0900 clk: zynq: remove redundant $(CONFIG_ARCH_ZYNQ) in Makefile Kbuild descends into drivers/clk/zynq/ only when CONFIG_ARCH_ZYNQ is enabled. (see drivers/clk/Makefile) $(CONFIG_ARCH_ZYNQ) in drivers/clk/zynq/Makefile always evaluates to 'y'. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit d6448b76ab260457d78e9d09465afaec2697e20d Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Fri Jun 26 09:04:32 2015 -0700 MAINTAINERS: Update Zynq git tree location The git tree for Zynq moved to Github. Update the MAINTAINERS record to reflect the change. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 014dc90b66c8d0b5f5a9400440727c134ee5e5a3 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 30 14:31:33 2015 -0700 selftests/x86, x86/ldt: Add a selftest for modify_ldt() This tests general modify_ldt() behavior (only writes, so far) as well as synchronous updates via IPI. It fails on old kernels. I called this ldt_gdt because I'll add set_thread_area() tests to it at some point. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: security@xxxxxxxxxx <security@xxxxxxxxxx> Cc: xen-devel <xen-devel@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/dcfda65dad07ff5a3ea97a9172b5963bf8031b2e.1438291540.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5b929bd11df23922daf1be5d52731cc3900c1d79 Merge: b2c5110 37868fe Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 31 10:23:35 2015 +0200 Merge branch 'x86/urgent' into x86/asm, before applying dependent patches Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 41d279aaf5b57a050a08fa88c70aad1890e018cd Merge: acd632e aa53c09 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 31 09:59:50 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Force period term to overload global settings, i.e. previously this command line: $ perf record -e 'cpu/instructions,period=20000/',cycles -c 1000 sleep 1 would result in both events having a period equal to 1000, with the fix we get something saner: $ perf evlist -v | grep period cpu/instructions,period=20000/: ... { sample_period, sample_freq }: 20000, ... cycles: ... { sample_period, sample_freq }: 1000 ... $ (Jiri Olsa) Infrastructure changes: - Use the dummy software event with freq=0 in the twatch.py python binding example, to avoid disabling nohz. (Arnaldo Carvalho de Melo) - Add some missing constants to the python binding. (Arnaldo Carvalho de Melo) - Fix mismatched declarations for elf_getphdrnum, that happens only in the corner case where this function is not found on the system. (Arnaldo Carvalho de Melo) - Add build test for having ending double slash. (Jiri Olsa) - Introduce callgraph_set for callgraph option. (Kan Liang) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit acd632eb64b6cd8e25583bb248c36aa937b8f021 Merge: 4b0c53e 5542b2a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 31 09:59:28 2015 +0200 Merge branch 'perf/urgent' into perf/core, to merge fixes before pulling more changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5d8a0d0b44c207690adda723b8d60158c18fec8a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 31 09:52:56 2015 +0200 drm/i915: Update DRIVER_DATE to 20150731 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 824deff87f5b1a2f32b9c3164191b0f5b22276b8 Author: Rostislav Pehlivanov <atomnuker@xxxxxxxxx> Date: Tue Jul 28 08:38:47 2015 +0100 HID: sony: Fix DS4 controller reporting rate issues This commit removes the cap on the DualShock 4 controller reporting rate when connected using Bluetooth. The previous value of '0xB0' capped the rate to only 20.83 Hz which many userspace utilities mistook as a sign of a bad signal. Since a 'B' and an '8' can look similar it's possible that someone mistook the one for another. The new value of '0x80' enables the full 1000 Hz peak reporting rate that the controller is capable of. Frank adds: "Back when the original code was written the purpose of that value was unknown and 0xB0 seemed to work so that's what ended up being used. Now that we know what it actually does and that 0x80 is a better choice I support this patch." [jkosina@xxxxxxxx: update changelog] Signed-off-by: Rostislav Pehlivanov <atomnuker@xxxxxxxxx> Acked-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 360d9bb5ee2db4d409448667de606c05b3914d53 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Fri Jul 31 10:17:35 2015 +0300 Revert "ath9k: export HW random number generator" This reverts commit 6301566e0b2dafa7d6779598621bca867962a0a2. Oleksij Rempel noticed that the randomness doesn't look to be good enough and Stephan Mueller commented: "I would say that the discussed RNG does not seem fit for hooking it up with the hwrandom framework." http://lkml.kernel.org/g/3945775.m5HblJPgiO@xxxxxxxxxxxxxxx So let's the revert the patch until we are sure that we can trust this random generator. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ab81a5e0660a058c2cc728fc114fa3082be78952 Author: David Disseldorp <ddiss@xxxxxxx> Date: Thu Jul 23 22:33:21 2015 +0200 target: check DPO/FUA usage for COMPARE AND WRITE COMPARE AND WRITE requests should fail if DPO or FUA is set, but the device is not advertising support. Signed-off-by: David Disseldorp <ddiss@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4aad0cc5c3f715efc294ac60fd0bf0e90829e18b Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Thu Jul 30 22:11:18 2015 +0300 crypto: caam - fix rfc4106 encap shared descriptor The encap shared descriptor was changed to use the new IV convention. In the process some commands were shifted, making the output length zero, caam effectively writing garbage in dst. While here, update the decap descriptor to execute the "write" commands before the "read"s (as it previously was). This makes sure the input fifo is drained before becoming full. Fixes: 46218750d523 ("crypto: caam - Use new IV convention") Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 915270c3cacfc80cb3fe7fdd8130439039a85bbb Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Tue Jul 21 17:45:33 2015 -0700 target: Shrink struct se_cmd by rearranging fields On x86-64, these changes reduce the struct size from 528 bytes to 496 bytes. We save a cacheline and get under 512 bytes for better packing. Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Acked-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9c31820b6ab93ec298ad98abeee49759b5f5958c Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Tue Jul 21 17:45:32 2015 -0700 target: Remove cmd->se_ordered_id (unused except debug log lines) For every command, we set se_ordered_id by doing atomic_inc_return on dev->dev_ordered_id for the corresponding device. However, the only places this value gets used are in pr_debug() calls, which doesn't seem worth an extra atomic op per IO. Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 45182ed576898b846a98ac3bff2ddcb9d35a0181 Author: Brian Bunker <brian@xxxxxxxxxxxxxxx> Date: Thu Jul 23 15:27:46 2015 -0700 target: add support for START_STOP_UNIT SCSI opcode AIX servers using VIOS servers that virtualize FC cards will have a problem booting without support for START_STOP_UNIT. Cite sbc3r36 exactly, clean up if conditions (rob + hch) Signed-off-by: Brian Bunker <brian@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Cc: "Robert Elliott (Server Storage)" <Elliott@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 568e1f6524b06ff113cebf5711832ca95d37259f Author: Joern Engel <joern@xxxxxxxxxxxxxxx> Date: Wed Jul 22 15:01:36 2015 -0700 target: improve unsupported opcode message Make the warning about unsupported SCSI opcode more useful: - Add in the initiator name so we know who's sending it. - Print the warning even for opcodes that spc_parse_cdb() knows about but that we don't handle. Signed-off-by: Joern Engel <joern@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c72c5250224d475614a00c1d7e54a67f77cd3410 Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Wed Jul 22 15:08:18 2015 -0700 target: allow underflow/overflow for PR OUT etc. commands It's not necessarily a fatal error if a command with a data-out phase has a data length that differs from the transport data length (e.g. PERSISTENT RESERVE OUT might have a parameter list length in the CDB that's smaller than the FC_DL field), so allow these commands. The Windows compliance test sends them. Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit aa75679c797c0250a853e600e45368f1f9545c27 Author: Alexei Potashnik <alexei@xxxxxxxxxxxxxxx> Date: Mon Jul 20 17:12:12 2015 -0700 target/iscsi: Use proper SGL accessors for digest computation Current implementation assumes that all the buffers of an IO are linked with a single SG list, which is OK because target-core is only allocating a contigious scatterlist region. However, this assumption is wrong for se_cmd descriptors that want to use chaining across multiple SGL regions. Fix this up by using proper SGL accessors for digest payload computation. Signed-off-by: Alexei Potashnik <alexei@xxxxxxxxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit b6a54b8d895648d915c7e8308f3d3e6bf2505d69 Author: Chris Zankel <czankel@xxxxxxxxxxxxxxx> Date: Mon Jul 20 16:29:50 2015 -0700 target: remove initiatorname field in se_acl_lun From: Chris Zankel <czankel@xxxxxxxxxxxxxxx> The initiatorname field in se_acl_lun is only a copy of the same field in se_node_acl, so remove it and use the version in se_node_acl where needed (it's actually only used for pr_debug) Signed-off-by: Chris Zankel <czankel@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <spencer.baugh@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 53c46995b6ed7cb32a28bce1f4a25065baf65d8f Author: Chris Zankel <czankel@xxxxxxxxxxxxxxx> Date: Mon Jul 20 16:29:49 2015 -0700 target: remove unused lun_flags field from se_lun The lun_flags field is not used, so drop it. Signed-off-by: Chris Zankel <czankel@xxxxxxxxxxxxxxx> Signed-off-by: Spencer Baugh <spencer.baugh@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c21e0bbfc48509a776ec4a39bd9a0fb45a9c315b Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 9 17:15:52 2015 -0500 cxlflash: Base support for IBM CXL Flash Adapter SCSI device driver to support filesystem access on the IBM CXL Flash adapter. Supported-by: Stephen Bates <stephen.bates@xxxxxxxx> Reviewed-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1df33a11454de804661c8e19cd0e464914eefc6d Merge: 29a3060 440d896 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 30 17:25:15 2015 -0700 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: separate link aggregation from link layer We continue the work on separating the roles of the link aggregation and link layers, as well as making code cleanups in general. This second commit batch focuses on moving the orchestration of link failover and synchronization to the node level, as well as preparing the node lock structure for further future impovements. We also make some changes to message delivery between link and socket layer, in order to make this mechanism safer and less obscure. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 440d8963cd590ec9387d76a36e60c02da9ed944d Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:26 2015 -0400 tipc: clean up link creation We simplify the link creation function tipc_link_create() and the way the link struct it is connected to the node struct. In particular, we remove the duplicate initialization of some fields which are anyway set in tipc_link_reset(). Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9073fb8be3ee6f89492b8ea8f6d3902913a9fc91 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:25 2015 -0400 tipc: use temporary, non-protected skb queue for bundle reception Currently, when we extract small messages from a message bundle, or when many messages have accumulated in the link arrival queue, those messages are added one by one to the lock protected link input queue. This may increase contention with the reader of that queue, in the function tipc_sk_rcv(). This commit introduces a temporary, unprotected input queue in tipc_link_rcv() for such cases. Only when the arrival queue has been emptied, and the function is ready to return, does it splice the whole temporary queue into the real input queue. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 23d8335d786472021b5c733f228c7074208dcfa0 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:24 2015 -0400 tipc: remove implicit message delivery in node_unlock() After the most recent changes, all access calls to a link which may entail addition of messages to the link's input queue are postpended by an explicit call to tipc_sk_rcv(), using a reference to the correct queue. This means that the potentially hazardous implicit delivery, using tipc_node_unlock() in combination with a binary flag and a cached queue pointer, now has become redundant. This commit removes this implicit delivery mechanism both for regular data messages and for binding table update messages. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 598411d70f85dcf5b5c6c2369cc48637c251b656 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:23 2015 -0400 tipc: make resetting of links non-atomic In order to facilitate future improvements to the locking structure, we want to make resetting and establishing of links non-atomic. I.e., the functions tipc_node_link_up() and tipc_node_link_down() should be called from outside the node lock context, and grab/release the node lock themselves. This requires that we can freeze the link state from the moment it is set to RESETTING or PEER_RESET in one lock context until it is set to RESET or ESTABLISHING in a later context. The recently introduced link FSM makes this possible, so we are now ready to introduce the above change. This commit implements this. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf148816acb6def45474001302368eb472995e62 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:22 2015 -0400 tipc: move received discovery data evaluation inside node.c The node lock is currently grabbed and and released in the function tipc_disc_rcv() in the file discover.c. As a preparation for the next commits, we need to move this node lock handling, along with the code area it is covering, to node.c. This commit introduces this change. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 662921cd0a53db4504838dfbb7d996f9e6e94001 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:21 2015 -0400 tipc: merge link->exec_mode and link->state into one FSM Until now, we have been handling link failover and synchronization by using an additional link state variable, "exec_mode". This variable is not independent of the link FSM state, something causing a risk of inconsistencies, apart from the fact that it clutters the code. The conditions are now in place to define a new link FSM that covers all existing use cases, including failover and synchronization, and eliminate the "exec_mode" field altogether. The FSM must also support non-atomic resetting of links, which will be introduced later. The new link FSM is shown below, with 7 states and 8 events. Only events leading to state change are shown as edges. +------------------------------------+ |RESET_EVT | | | | +--------------+ | +-----------------| SYNCHING |-----------------+ | |FAILURE_EVT +--------------+ PEER_RESET_EVT| | | A | | | | | | | | | | | | | | |SYNCH_ |SYNCH_ | | | |BEGIN_EVT |END_EVT | | | | | | | V | V V | +-------------+ +--------------+ +------------+ | | RESETTING |<---------| ESTABLISHED |--------->| PEER_RESET | | +-------------+ FAILURE_ +--------------+ PEER_ +------------+ | | EVT | A RESET_EVT | | | | | | | | | | | | | +--------------+ | | | RESET_EVT| |RESET_EVT |ESTABLISH_EVT | | | | | | | | | | | | V V | | | +-------------+ +--------------+ RESET_EVT| +--->| RESET |--------->| ESTABLISHING |<----------------+ +-------------+ PEER_ +--------------+ | A RESET_EVT | | | | | | | |FAILOVER_ |FAILOVER_ |FAILOVER_ |BEGIN_EVT |END_EVT |BEGIN_EVT | | | V | | +-------------+ | | FAILINGOVER |<----------------+ +-------------+ These changes are fully backwards compatible. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5045f7b9009f1455268b98cecbcc271663934c85 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:20 2015 -0400 tipc: move protocol message sending away from link FSM The implementation of the link FSM currently takes decisions about and sends out link protocol messages. This is unnecessary, since such actions are not the result of any link state change, and are even decided based on non-FSM state information ("silent_intv_cnt"). We now move the sending of unicast link protocol messages to the function tipc_link_timeout(), and the initial broadcast synchronization message to tipc_node_link_up(). The latter is done because a link instance should not need to know whether it is the first or second link to a destination. Such information is now restricted to and handled by the link aggregation layer in node.c Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e498158a827fd515b514842e9a06bdf0f75ab86 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:19 2015 -0400 tipc: move link synch and failover to link aggregation level Link failover and synchronization have until now been handled by the links themselves, forcing them to have knowledge about and to access parallel links in order to make the two algorithms work correctly. In this commit, we move the control part of this functionality to the link aggregation level in node.c, which is the right location for this. As a result, the two algorithms become easier to follow, and the link implementation becomes simpler. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66996b6c47ed7f6bbb01a768e23fae262c7db8e0 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:18 2015 -0400 tipc: extend node FSM In the next commit, we will move link synch/failover orchestration to the link aggregation level. In order to do this, we first need to extend the node FSM with two more states, NODE_SYNCHING and NODE_FAILINGOVER, plus four new events to enter and leave those states. This commit introduces this change, without yet making use of it. The node FSM now looks as follows: +-----------------------------------------+ | PEER_DOWN_EVT| | | +------------------------+----------------+ | |SELF_DOWN_EVT | | | | | | | | +-----------+ +-----------+ | | |NODE_ | |NODE_ | | | +----------|FAILINGOVER|<---------|SYNCHING |------------+ | | |SELF_ +-----------+ FAILOVER_+-----------+ PEER_ | | | |DOWN_EVT | A BEGIN_EVT A | DOWN_EVT| | | | | | | | | | | | | | | | | | | | |FAILOVER_|FAILOVER_ |SYNCH_ |SYNCH_ | | | | |END_EVT |BEGIN_EVT |BEGIN_EVT|END_EVT | | | | | | | | | | | | | | | | | | | | | +--------------+ | | | | | +------->| SELF_UP_ |<-------+ | | | | +----------------| PEER_UP |------------------+ | | | | |SELF_DOWN_EVT +--------------+ PEER_DOWN_EVT| | | | | | A A | | | | | | | | | | | | | | PEER_UP_EVT| |SELF_UP_EVT | | | | | | | | | | | V V V | | V V V +------------+ +-----------+ +-----------+ +------------+ |SELF_DOWN_ | |SELF_UP_ | |PEER_UP_ | |PEER_DOWN | |PEER_LEAVING|<------|PEER_COMING| |SELF_COMING|------>|SELF_LEAVING| +------------+ SELF_ +-----------+ +-----------+ PEER_ +------------+ | DOWN_EVT A A DOWN_EVT | | | | | | | | | | SELF_UP_EVT| |PEER_UP_EVT | | | | | | | | | |PEER_DOWN_EVT +--------------+ SELF_DOWN_EVT| +------------------->| SELF_DOWN_ |<--------------------+ | PEER_DOWN | +--------------+ Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 655fb243b8ae5e652f744311bcb6e806e83cea1e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:17 2015 -0400 tipc: reverse call order for link_reset()->node_link_down() In many cases the call order when a link is reset goes as follows: tipc_node_xx()->tipc_link_reset()->tipc_node_link_down() This is not the right order if we want the node to be in control, so in this commit we change the order to: tipc_node_xx()->tipc_node_link_down()->tipc_link_reset() The fact that tipc_link_reset() now is called from only one location with a well-defined state will also facilitate later simplifications of tipc_link_reset() and the link FSM. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6144a996a65199480eed7521c1c50590c282e78e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:16 2015 -0400 tipc: move all link_reset() calls to link aggregation level In line with our effort to let the node level have full control over its links, we want to move all link reset calls from link.c to node.c. Some of the calls can be moved by simply moving the calling function, when this is the right thing to do. For the remaining calls we use the now established technique of returning a TIPC_LINK_DOWN_EVT flag from tipc_link_rcv(), whereafter we perform the reset call when the call returns. This change serves as a preparation for the coming commits. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbeb83ca68dcedf69b336fd1c5263658cbe5b51e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 30 18:24:15 2015 -0400 tipc: eliminate function tipc_link_activate() The function tipc_link_activate() is redundant, since it mostly performs settings that have already been done in a preceding tipc_link_reset(). There are three exceptions to this: - The actual state change to TIPC_LINK_WORKING. This should anyway be done in the FSM, and not in a separate function. - Registration of the link with the bearer. This should be done by the node, since we don't want the link to have any knowledge about its specific bearer. - Call to tipc_node_link_up() for user access registration. With the new role distribution between link aggregation and link level this becomes the wrong call order; tipc_node_link_up() should instead be called directly as a result of a TIPC_LINK_UP event, hence by the node itself. This commit implements those changes. Tested-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29a3060aa7cc2e5cfaabeb935fafb832b9b33ad4 Merge: 8013d1d 5857d1d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 30 16:16:43 2015 -0700 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2015-07-30 Here's a set of Bluetooth & 802.15.4 patches intended for the 4.3 kernel. - Cleanups & fixes to mac802154 - Refactoring of Intel Bluetooth HCI driver - Various coding style fixes to Bluetooth HCI drivers - Support for Intel Lightning Peak Bluetooth devices - Generic class code in interface descriptor in btusb to match more HW - Refactoring of Bluetooth HS code together with a new config option - Support for BCM4330B1 Broadcom UART controller Let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8013d1d7eafb0589ca766db6b74026f76b7f5cb4 Author: Hangbin Liu <liuhangbin@xxxxxxxxx> Date: Thu Jul 30 14:28:42 2015 +0800 net/ipv6: add sysctl option accept_ra_min_hop_limit Commit 6fd99094de2b ("ipv6: Don't reduce hop limit for an interface") disabled accept hop limit from RA if it is smaller than the current hop limit for security stuff. But this behavior kind of break the RFC definition. RFC 4861, 6.3.4. Processing Received Router Advertisements A Router Advertisement field (e.g., Cur Hop Limit, Reachable Time, and Retrans Timer) may contain a value denoting that it is unspecified. In such cases, the parameter should be ignored and the host should continue using whatever value it is already using. If the received Cur Hop Limit value is non-zero, the host SHOULD set its CurHopLimit variable to the received value. So add sysctl option accept_ra_min_hop_limit to let user choose the minimum hop limit value they can accept from RA. And set default to 1 to meet RFC standards. Signed-off-by: Hangbin Liu <liuhangbin@xxxxxxxxx> Acked-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 017ffe64e8b8c8db0f50433a71da41c6a4e12710 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Fri Jul 17 17:16:32 2015 +0800 PCI: Hold pci_slot_mutex while searching bus->slots list Previously, pci_setup_device() and similar functions searched the pci_bus->slots list without any locking. It was possible for another thread to update the list while we searched it. Add pci_dev_assign_slot() to search the list while holding pci_slot_mutex. [bhelgaas: changelog, fold in CONFIG_SYSFS fix] Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 2f51a9b8adbb6ad06689ec28342e89f40acb97fc Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Thu Jul 30 00:44:20 2015 +0300 net: phy: spi_ks8995: clean up ks8995_registers_read/write The change removes redundant sysfs binary file boundary checks, since this task is already done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67546762978f523749eac157903e0b01c18e083a Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Fri Jul 17 17:16:31 2015 +0800 PCI: Protect pci_bus->slots with pci_slot_mutex, not pci_bus_sem Rajat Jain reported a deadlock when PCIe hot-add and AER recovery happen at the same time: thread 1: pciehp_enable_slot pciehp_configure_device pci_bus_add_devices pci_bus_add_device device_attach device_lock(dev) # acquire device lock ... pciehp_probe init_slot pci_hp_register pci_create_slot down_write(pci_bus_sem) # deadlock here thread 2: aer_isr_one_error aer_process_err_device do_recovery broadcast_error_message(..., report_error_detected) pci_walk_bus(..., cb=report_error_detected, ...) down_read(&pci_bus_sem) # acquire pci_bus_sem report_error_detected(dev) # cb() device_lock(dev) # deadlock here Previously, the bus->devices and bus->slots list were protected by pci_bus_sem. In pci_create_slot(), we held it for writing so we could add to the bus->slots list. Add a new local pci_slot_mutex to protect bus->slots. Hold pci_bus_sem for reading while searching the bus->devices list. [bhelgaas: changelog] Link: http://lkml.kernel.org/r/CAA93t1qpPqbih+UB0McA_d_+2rVaNkXsinAUxYzK9+JXSS+L-g@xxxxxxxxxxxxxx Reported-by: Rajat Jain <rajatja@xxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 2dc127bb299d1c7436a08e79193bd0251068356e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jun 4 17:47:56 2015 +0300 hpsa: fix an sprintf() overflow in the reset handler The string "cmd %d RESET FAILED, new lockup detected" is not quite large enough so the sprintf() will overflow. I have increased the size of the buffer and also changed the sprintf calls to snprintf. Fixes: 73153fe533bc ('hpsa: use block layer tag for command allocation') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9c8108a4d3a837c51a29f28229a06d97654eaeb6 Author: Chris Leech <cleech@xxxxxxxxxx> Date: Tue Jun 16 16:07:13 2015 -0700 iSCSI: let session recovery_tmo sysfs writes persist across recovery The iSCSI session recovery_tmo setting is writeable in sysfs, but it's also set every time a connection is established when parameters are set from iscsid over netlink. That results in the timeout being reset to the default value after every recovery. The DM multipath tools want to use the sysfs interface to lower the default timeout when there are multiple paths to fail over. It has caused confusion that we have a writeable sysfs value that seem to keep resetting itself. This patch adds an in-kernel flag that gets set once a sysfs write occurs, and then ignores netlink parameter setting once it's been modified via the sysfs interface. My thinking here is that the sysfs interface is much simpler for external tools to influence the session timeout, but if we're going to allow it to be modified directly we should ensure that setting is maintained. Signed-off-by: Chris Leech <cleech@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit aaf1b059387863ac9675eb42d01d03415c7529a5 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 20:45:22 2015 -0500 ipr: Driver version 2.6.2 Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 359d96e73cea0ef2429db20e1a2322c75bc13830 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 20:45:20 2015 -0500 ipr: Endian / sparse fixes Some misc fixes for endianness checking with sparse so sparse with endian checking now runs clean. Fixes a minor bug in the process which was uncovered by sparse which would result in unnecessary error recovery for check conditions. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit bb8647e86e769bd45d2d5e010b3af516210d5760 Author: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 20:45:18 2015 -0500 ipr: Byte swapping for device_id attribute in sysfs On LE system, users see the wrong device_id attribute. This patch does necessary byte swapping for device_id attribute and works on both of LE and BE systems. Signed-off-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0ae80ba91f57726f31b5b5890cb7c5173e624ca4 Author: Hannes Reinecke <hare@xxxxxxx> Date: Fri Jun 12 16:12:48 2015 +0200 scsi: retry MODE SENSE on unit attention The 'sd' driver is calling scsi_mode_sense() to figure out internal details. But scsi_mode_sense() never checks for any pending unit attentions, so we're getting annoying error messages like: MODE SENSE: unimplemented page/subpage: 0x00/0x00 and a possible wrong decision for device cache handling. Reviewed-by: Ewan Milne <emilne@xxxxxxxxxx> Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c8b5db7de66b75330a96f9f1ad7376b89646c953 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:28:45 2015 +0530 x86/hpet: Migrate to new set_state interface Migrate hpet driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Forward definition of 'hpet_clockevent' wasn't required and so it is placed after all the callback are defined, to avoid forward declaring all the callbacks. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/8cc9864b6d6342dfac28f270cf69f4cba46fffae.1437042675.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 955381dd65654bd6f066408823691db8fa7d05bb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:28:48 2015 +0530 x86/xen/time: Migrate to new set-state interface Migrate xen driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Callbacks aren't implemented for modes where we weren't doing anything. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx (moderated list:XEN HYPERVISOR INTERFACE) Link: http://lkml.kernel.org/r/881eea6e1a3d483cd33e044cd34827cce26a57fd.1437042675.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ca53d434f7e63352c9edd1ad8cde4dfe11da44aa Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:28:47 2015 +0530 x86/uv/time: Migrate to new set-state interface Migrate uv driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything while switching modes other than in shutdown mode and so those are not implemented. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Link: http://lkml.kernel.org/r/52e04139746222a2e82a96d13953cbc306cfb59b.1437042675.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c2e13cc2cea64385043fa9afaaf91a74ec438467 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:28:46 2015 +0530 x86/lguest/timer: Migrate to new set-state interface Migrate lguest driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything while switching modes other than in shutdown mode and so those are not implemented. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-and-tested-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: lguest@xxxxxxxxxxxxxxxx (open list:LGUEST) Link: http://lkml.kernel.org/r/b96f1c308f4523255c5394a4e6e13f2b67685402.1437042675.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5f2269916b0e509f2926346b58209abfa8316143 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 30 14:00:08 2015 -0500 PCI/MSI: Free legacy IRQ when enabling MSI/MSI-X Once MSI/MSI-X is enabled by the device driver, a PCI device won't use legacy IRQs again until MSI/MSI-X is disabled. Call pcibios_free_irq() when enabling MSI/MSI-X and pcibios_alloc_irq() when disabling MSI/MSI-X. This allows arch code to manage resources associated with the legacy IRQ. [bhelgaas: changelog] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 72407514c92c4e4b3584cba5961e63fb10c1a04e Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Thu Jul 30 14:13:59 2015 +0100 ARM64: PCI: do not enable resources on PROBE_ONLY systems On ARM64 PROBE_ONLY PCI systems resources are not currently claimed, therefore they can't be enabled since they do not have a valid parent pointer; this in turn prevents enabling PCI devices on ARM64 PROBE_ONLY systems, causing PCI devices initialization to fail. To solve this issue, resources must be claimed when devices are added on PROBE_ONLY systems, which ensures that the resource hierarchy is validated and the resource tree is sane, but this requires changes in the ARM64 resource management that can affect adversely existing PCI set-ups (claiming resources on !PROBE_ONLY systems might break existing ARM64 PCI platform implementations). As a temporary solution in preparation for a proper resources claiming implementation in ARM64 core, to enable PCI PROBE_ONLY systems on ARM64, this patch adds a pcibios_enable_device() arch implementation that simply prevents enabling resources on PROBE_ONLY systems (mirroring ARM behaviour). This is always a safe thing to do because on PROBE_ONLY systems the configuration space set-up can be considered immutable, and it is in preparation of proper resource claiming that would finally validate the PCI resources tree in the ARM64 arch implementation on PROBE_ONLY systems. For !PROBE_ONLY systems resources enablement in pcibios_enable_device() on ARM64 is implemented as in current PCI core, leaving the behaviour unchanged. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a14949e09a228dcd4cc5088c90c375429c7d102c Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 30 19:19:43 2015 +0100 arm64: cmpxchg: truncate sub-word signed types before comparison When performing a cmpxchg operation on a signed sub-word type (e.g. s8), we need to ensure that the upper register bits of the "old" value used for comparison are zeroed, otherwise we may erroneously fail the cmpxchg which may even be interpreted as success by the caller (if the compiler performs the truncation as part of its check). This has been observed in mod_state, where negative values where causing problems with this_cpu_cmpxchg. This patch fixes the issue by explicitly casting 8-bit and 16-bit "old" values using unsigned types in our cmpxchg wrappers. 32-bit types can be left alone, since the underlying asm makes use of W registers in this case. Reported-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 811a4e6fce09bc9239c664c6a1a53645a678c303 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Jun 10 16:55:00 2015 +0800 PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed Add pci_has_managed_irq(), pci_set_managed_irq(), and pci_reset_managed_irq() to simplify code. No functional change. [bhelgaas: changelog] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 991de2e59090e55c65a7f59a049142e3c480f7bd Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Jun 10 16:54:59 2015 +0800 PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq() To support IOAPIC hotplug, we need to allocate PCI IRQ resources on demand and free them when not used anymore. Implement pcibios_alloc_irq() and pcibios_free_irq() to dynamically allocate and free PCI IRQs. Remove mp_should_keep_irq(), which is no longer used. [bhelgaas: changelog] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 890e4847587fcff5eb0438e90992ad7d2a261f33 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Jun 10 16:54:58 2015 +0800 PCI: Add pcibios_alloc_irq() and pcibios_free_irq() Add pcibios_alloc_irq() and pcibios_free_irq(), which are called when binding/unbinding PCI device drivers. PCI arch code may implement these to manage IRQ resources for hotplugged devices. [bhelgaas: changelog] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0642ffd6a864629c12a4cd7528782ed5b68ac69c Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Thu Jul 30 11:26:39 2015 -0700 Input: cyapa - do not try to enable proximity reporting on older devices Avoid the driver generate warning message when the cyapa driver working with the old Gen5 trackpad device which does not support the proximity function. Those old Gen5 trackpad device all have the platform version less than 2. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ddbb299db0e040aca8e26361ab778224eeacf9d3 Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Thu Jul 30 11:24:16 2015 -0700 Input: cyapa - introduce device tree binding Add device tree support for Cypress trackpad devices. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 36e9615bd70dc8cd5d7d4831943f788f5231350f Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Thu Jul 30 11:19:18 2015 -0700 Input: cyapa - add regulator vcc support We need to power up the chip before we can initialize it. On systems that delegate task of powering up regulators to firmware we assume that we'll be simply given a dummy regulator. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 951debb949f4adcfdd0cc6ca85c524243f3ead26 Merge: ce7fa78 b13138e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 30 11:13:21 2015 -0700 Merge branch 'bpf-next' Daniel Borkmann says: ==================== Minor BPF updates Various minor misc updates. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b13138ef72178a13f34e33883f9f093f9e3b1bda Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Jul 30 12:42:49 2015 +0200 bpf: also show process name/pid in bpf_jit_dump It can be useful for testing to see the actual process/pid who is loading a given filter. I was running some BPF test program and noticed unusual filter loads from time to time, triggered by some other application in the background. bpf_jit_disasm is still working after this change. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 485d6511e71e5810f07eec29b884c98021e67911 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Jul 30 12:42:48 2015 +0200 bpf, x86/sparc: show actual number of passes in bpf_jit_dump When bpf_jit_compile() got split into two functions via commit f3c2af7ba17a ("net: filter: x86: split bpf_jit_compile()"), bpf_jit_dump() was changed to always show 0 as number of compiler passes. Change it to dump the actual number. Also on sparc, we count passes starting from 0, so add 1 for the debug dump as well. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b36f92934e40d1ee24e5617ddedb852e10086ca Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Jul 30 12:42:47 2015 +0200 bpf: provide helper that indicates eBPF was migrated During recent discussions we had with Michael, we found that it would be useful to have an indicator that tells the JIT that an eBPF program had been migrated from classic instructions into eBPF instructions, as only in that case A and X need to be cleared in the prologue. Such eBPF programs do not set a particular type, but all have BPF_PROG_TYPE_UNSPEC. Thus, introduce a small helper for cde66c2d88da ("s390/bpf: Only clear A and X for converted BPF programs") and possibly others in future. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4962fa10f30d7b563f38467feeae10314b166c77 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Jul 30 12:42:46 2015 +0200 test_bpf: assign type to native eBPF test cases As JITs start to perform optimizations whether to clear A and X on eBPF programs in the prologue, we should actually assign a program type to the native eBPF test cases. It doesn't really matter which program type, as these instructions don't go through the verifier, but it needs to be a type != BPF_PROG_TYPE_UNSPEC. This reflects eBPF programs loaded via bpf(2) system call (!= type unspec) vs. classic BPF to eBPF migrations (== type unspec). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef5e724b25c9f90b7683bb2d45833ebac0989dcb Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jul 28 19:07:28 2015 +0100 arm64: alternative: put secondary CPUs into polling loop during patch When patching the kernel text with alternatives, we may end up patching parts of the stop_machine state machine (e.g. atomic_dec_and_test in ack_state) and consequently corrupt the instruction stream of any secondary CPUs. This patch passes the cpu_online_mask to stop_machine, forcing all of the CPUs into our own callback which can place the secondary cores into a dumb (but safe!) polling loop whilst the patching is carried out. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 02d9bd05dcf77bed954ed21b2d4c330879fa3103 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 10:39:28 2015 -0700 Input: touchscreen - export OF module alias information The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2e9e910e8a4626d1217b6887c74a456d2835be2a Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 10:38:52 2015 -0700 Input: export I2C module alias information in missing drivers The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ce7fa78ce16e476a610e165dd0e8c1e85a75d60f Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Thu Jul 30 14:30:29 2015 +0300 bnx2x: Fix compilation when CONFIG_BNX2X_SRIOV is not set Commit 05cc5a39ddb7 ("bnx2x: add vlan filtering offload") has broken compilation when CONFIG_BNX2X_SRIOV is not set. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22b5a0f7bc07ac4b4e4aab9a7f8cf2521819c1c4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Jun 18 14:55:03 2015 +0200 ARM: at91/dt: add minimal sama5d2 Xplained board Add minimal support for the new sama5d2 Xplained board. Only USB, spi/i2c, ethernet and uart/usart peripherals added. With this DTS file you can boot the board and begin to play with it. Rootfs on NFS and sd card have successfully been tested. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit e30cf8d3221ab6162420df460b4e96b959e96001 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Thu Jun 18 14:48:28 2015 +0200 ARM: at91/dt: add basic dtsi for sama5d2 SoC Only the basic support for this new Atmel Cortex-A5 SoC. A subset of the peripherals is setup to allow booting. IRQ, clocks, USB, crypto, timers, rtc, ethernet, spi/i2c and uart/usart peripheral nodes are added. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ff02e485486225a21e4679d94d5a869d5eae1df2 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Mon Jul 20 17:32:06 2015 +0800 ARM: at91/dt: sama5: update rstc to correct compatible string They'll use "atmel,sama5d3-rstc" for reset function. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> [nicolas.ferre@xxxxxxxxx: add the old compatible string as a fallback] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 913e4a90b6f9687ac0f543e7b632753e4f51c441 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Jul 30 13:13:03 2015 +0800 usb: gadget: f_uac2: finalize wMaxPacketSize according to bandwidth According to USB Audio Device 2.0 Spec, Ch4.10.1.1: wMaxPacketSize is defined as follows: Maximum packet size this endpoint is capable of sending or receiving when this configuration is selected. This is determined by the audio bandwidth constraints of the endpoint. In current code, the wMaxPacketSize is defined as the maximum packet size for ISO endpoint, and it will let the host reserve much more space than it really needs, so that we can't let more endpoints work together at one frame. We find this issue when we try to let 4 f_uac2 gadgets work together [1] at FS connection. [1]http://www.spinics.net/lists/linux-usb/msg123478.html Acked-by: Daniel Mack <zonque@xxxxxxxxx> Cc: andrzej.p@xxxxxxxxxxx Cc: Daniel Mack <zonque@xxxxxxxxx> Cc: tiwai@xxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> #v3.18+ Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8078f314b8c8012cf36e5decc75378b803bfba4d Author: Sanjay Singh Rawat <snjsrwt@xxxxxxxxx> Date: Wed Jul 22 16:29:46 2015 +0530 usb: gadget: f_mass_storage: stop thread in bind failure case After the worker thread is launched, bind function is doing further configuration. In case of failure stop the thread. Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Sanjay Singh Rawat <snjsrwt@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5feb5d2003499b1094d898c010a7604d7afddc4c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jul 30 00:30:58 2015 +0300 usb: gadget: m66592-udc: forever loop in set_feature() There is an "&&" vs "||" typo here so this loops 3000 times or if we get unlucky it could loop forever. Fixes: ceaa0a6eeadf ('usb: gadget: m66592-udc: add support for TEST_MODE') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1c99cabfc95d3b08fbf06d558ebfa76b5303710c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jul 30 00:29:23 2015 +0300 usb: gadget: fotg210-udc: remove duplicate conditions We handle the "if (!req->req.length)" condition at the start of the function and return. We can delete this dead code. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6f98f545b0b4effdf67e83e214a4eb13cd41fba2 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Tue Jul 28 11:10:22 2015 +0300 usb: phy: msm: Add D+/D- lines route control apq8016-sbc board is using Dual SPDT USB Switch (TC7USB40MU), witch is controlled by GPIO to de/multiplex D+/D- USB lines to USB2513B Hub and uB connector. Add support for this. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 736d093b5985c1f6583460c8eea1be3c9ee5635e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:20:03 2015 +0200 usb: gadget: apply generic altsetting support check mechanism Replace calls of gadget_supports_altsettings() function (which check altset support by comparing UDC controller name with hardcoded names) with gadget_is_altset_supported() which checks generic quirk bitfield. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7a896d40525349e7d52307fb957882696e09466c Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:20:02 2015 +0200 usb: gadget: f_ecm/f_ncm: check quirk instead of UDC name Use generic mechanism to check if UDC controller supports zlp. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a4cc42157f3f8c3dd5562b91c7430376912c6fb8 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:20:01 2015 +0200 usb: gadget: f_mass_storage: check quirk instead of UDC name Use generic mechanism to check if UDC controller supports stalling. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ca1023c81dd10f76a5d0a8be2fdbe724fe7a126a Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:20:00 2015 +0200 usb: gadget: add 'quirk_zlp_not_supp' to usb_gadget Due to some UDC controllers may not support zlp, usb gadget layer needs to provide a generic way to inform gadget functions about non-standard hardware limitations. This patch adds 'quirk_zlp_not_supp' field to struct usb_gadget and helper function gadget_is_zlp_supported(). It also sets 'quirk_zlp_not_supp' to 1 in musb UDC driver, which has such limitation. [ balbi@xxxxxx : make it build ] Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 02ded1b0d8e73dad7d2626c960ef20fb7dc30753 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:19:59 2015 +0200 usb: gadget: add 'quirk_stall_not_supp' to usb_gadget Due to some UDC controllers may not support stalling, usb gadget layer needs to provide a generic way to inform gadget functions about non-standard hardware limitations. This patch adds 'quirk_stall_not_supp' field to struct usb_gadget and helper function gadget_is_stall_supported(). It also sets 'quirk_stall_not_supp' to 1 in at91_udc driver, which has such limitation. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ffd9a0fcbbed300b55f84e8397e96c2edd06cbdf Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Jul 28 07:19:58 2015 +0200 usb: gadget: add 'quirk_altset_not_supp' to usb_gadget Due to some UDC controllers may not support altsettings, usb gadget layer needs to provide a generic way to inform gadget functions about non-standard hardware limitations. This patch adds 'quirk_altset_not_supp' field to struct usb_gadget and helper function gadget_is_altset_supported(). It also sets 'quirk_altset_not_supp' to 1 in pxa25x_udc and pxa27x_udc drivers, which have such limitation. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c0bd5456a470223e331a9e9e93b4a7425ecfaabb Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:32 2015 +0530 usb: dwc3: ep0: handle non maxpacket aligned transfers > 512 Use chained TRB mechanism to handle non maxpacket aligned transfers greater than bounce buffer size. With this the first TRB will be programmed to receive 'ALIGN(ur->length - maxp, maxp)' data and the second TRB will be programmed to receive the remaining data using bounce buffer. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2abd9d5fa60f90cd99801687904f528156d31e18 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:31 2015 +0530 usb: dwc3: ep0: Add chained TRB support Add chained TRB support to ep0. Now TRB's can be chained just by invoking _dwc3_ep0_start_trans_ with 'chain' parameter set to true. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 368ca113ca0a41bbf60be6886bbbd238523c6fba Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:30 2015 +0530 usb: dwc3; ep0: Modify _dwc3_ep0_start_trans_ API to take 'chain' parameter No functional change. Added a new parameter in _dwc3_ep0_start_trans_ to indicate whether the TRB is a chained TRB or last TRB. This is in preparation for adding chained TRB support for ep0. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8a3442205630d52b1b1777efe07c80832aa5ee73 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:29 2015 +0530 usb: dwc3: ep0: preparation for handling non maxpacket aligned transfers > 512 No functional change. This is in preparation for handling non maxpacket aligned transfers greater than bounce buffer size. This is basically to avoid code duplication when using chained TRB transfers to handle non maxpacket aligned transfers greater than bounce buffer size. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2e5464da4e7dc55e1751d2beb3e6e78f35020756 Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:28 2015 +0530 usb: dwc3: ep0: use _roundup_ to calculate the transfer size No functional change. Used _roundup_ macro to calculate the transfer size aligned to maxpacket in dwc3_ep0_complete_data. It also makes it similar to how transfer size is calculated in __dwc3_ep0_do_control_data. Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b2fb5b1a0f50d3ebc12342c8d8dead245e9c9d4e Author: Kishon Vijay Abraham I <kishon@xxxxxx> Date: Mon Jul 27 12:25:27 2015 +0530 usb: dwc3: ep0: Fix mem corruption on OUT transfers of more than 512 bytes DWC3 uses bounce buffer to handle non max packet aligned OUT transfers and the size of bounce buffer is 512 bytes. However if the host initiates OUT transfers of size more than 512 bytes (and non max packet aligned), the driver throws a WARN dump but still programs the TRB to receive more than 512 bytes. This will cause bounce buffer to overflow and corrupt the adjacent memory locations which can be fatal. Fix it by programming the TRB to receive a maximum of DWC3_EP0_BOUNCE_SIZE (512) bytes. Cc: <stable@xxxxxxxxxxxxxxx> # 3.4+ Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a0ddef81f4aeeeec3326f6b6a255d8ea13b41908 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Wed Jul 22 14:30:14 2015 -0400 tile: enable full SECCOMP support Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 38715df206d52817ac8ac032f35ee76955bdc15d Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:56:30 2015 +0530 tile/time: Migrate to new 'set-state' interface Migrate tile driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 49bda21266fdf195142e8b5dea057f09e96ada9f Author: MichaÅ? Pecio <michal.pecio@xxxxxxxxx> Date: Sun Jul 26 11:14:34 2015 +0200 USB: pl2303: fix baud-rate divisor calculations This commit fixes the following issues: 1. The 9th bit of buf was believed to be the LSB of divisor's exponent, but the hardware interprets it as MSB (9th bit) of the mantissa. The exponent is actually one bit shorter and applies to base 4, not 2 as previously believed. 2. Loop iterations doubled the exponent instead of incrementing. 3. The exponent wasn't checked for overflow. 4. The function returned requested rate instead of actual rate. Due to issue #2, the old code deviated from the wrong formula described in #1 and actually yielded correct rates when divisor was lower than 4096 by using exponents of 0, 2 or 4 base-2, interpreted as 0, 1, 2 base-4 with the 9th mantissa bit clear. However, at 93.75 kbaud or less the rate turned out too slow due to #2 or too fast due to #2 and #3. I tested this patch by sending and validating 0x00,0x01,..,0xff to an FTDI dongle at 234, 987, 2401, 9601, 31415, 115199, 250k, 500k, 750k, 1M, 1.5M, 3M+1 baud. All rates passed. I also used pv to check speed at some rates unsupported by FTDI: 45 (the lowest possible), 2M, 4M, 5M and 6M-1. Looked sane. Signed-off-by: Michal Pecio <michal.pecio@xxxxxxxxx> Fixes: 399aa9a75ad3 ("USB: pl2303: use divisors for unsupported baud rates") Cc: stable <stable@xxxxxxxxxxxxxxx> # v3.18 [johan: update summary ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit aa53c09e90a19c215549bd1ca970fddcb7c0c001 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Jul 27 20:24:17 2015 +0200 perf tests: Adding build test for having ending double slash Pawel Moll reported build issue for having extra slash (/) at the end of the prefix variable. $ make prefix=/usr/local/ CC tests/attr.o tests/attr.c: In function â??test__attrâ??: tests/attr.c:168:50: error: expected â??)â?? before â??;â?? token snprintf(path_perf, PATH_MAX, "%s/perf", BINDIR); ^ tests/attr.c:176:1: error: expected â??;â?? before â??}â?? token } ^ tests/attr.c:176:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors Adding automated test case for this. Reported-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150727182417.GD20509@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3e5e95ff468b3d19fb08a308b921a83716650b48 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Jul 15 18:32:45 2015 +0200 ARM: exynos_defconfig: Enable NTC Thermistors support The Exynos5420 Peach Pit and Exynos5800 Peach Pi Chromebooks have IIO based ADC thermistors. Enable built-in support for its driver. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit cf91f6d94684b8c7b81c3558ad2639179d7c1da9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Jul 15 18:32:44 2015 +0200 ARM: multi_v7_defconfig: Enable NTC Thermistors support The Exynos5420 Peach Pit and Exynos5800 Peach Pi Chromebooks have IIO based ADC thermistors. Enable module support for its driver and also for the needed Exynos ADC driver. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f7b5a58fd7f441f93279d964fe1ee4ff8669859e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Jul 8 15:40:46 2015 -0700 ARM: multi_v7_defconfig: Remove old Samsung USB PHY configs The old drivers/usb/phy/phy-samsung-usb{2,3} are now deleted since were replaced by newer drivers that use the Generic PHY framework but their Kconfig options were left over in multi_v7_defconfig. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 261cd3ad5d49ebf128afa5397763b27fe5c3d8f8 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Tue Jun 9 13:37:59 2015 +0930 ARM: exynos_defconfig: Enable CONFIG_SND_SOC_ODROIDX2 for Odroid-XU3 Enable CONFIG_SND_SOC_ODROIDX2 and CONFIG_SND_SIMPLE_CARD to enable sound on Odroid-XU3 board using the max98090 audio codec. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ae7d3821a769a4ac64d4c244b5cd8b134768d452 Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 11:58:50 2015 +0300 ath10k: initialize msdu ext. descriptor before use Initial QCA99X0 support has a known issue with TCP Tx throughput. All other path such as UDP Tx/Rx and TCP Rx meet their expectation (> 900Mbps), but TCP Tx marked as low as 5Mbps when single pair is used on iperf. The root cause is turned out because TSO flag is not initialized properly so that firmware configures TSO in wrong way. TSO flags in msdu extension descriptor is required to be reset to indicate firmware there is no TSO is enabled, otherwise it could act as TSO is enabled which causes huge throughput drop. In fact, it's enough by resetting TSO flags only to prevent the unexpected behavior, but initializing whole msdu ext. descriptor will help to clear uncertainty of firmware could bring on as it constantly updated. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8a055a8adc875768223be2dfc33de5dc70212756 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 11:40:39 2015 +0300 ath10k: add QCA99X0 to supported device list Add vendor/device id of QCA99X0 V2.0 to pci id table and QCA99X0_HW_2_0_CHIP_ID_REV to ath10k_pci_supp_chips[] for QCA99X0 to get detected by the driver. kvalo: now QCA99X0 family of chipsets is supported by ath10k. Tested client, AP and monitor mode with QCA9990. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 71ba994c94a81c37185ef2fb5190844286ba9aca Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 12:31:15 2015 +0200 KVM: x86: clean/fix memory barriers in irqchip_in_kernel The memory barriers are trying to protect against concurrent RCU-based interrupt injection, but the IRQ routing table is not valid at the time kvm->arch.vpic is written. Fix this by writing kvm->arch.vpic last. kvm_destroy_pic then need not set kvm->arch.vpic to NULL; modify it to take a struct kvm_pic* and reuse it if the IOAPIC creation fails. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dd489240a21afc3ff3962aba5d987229536cae63 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 11:32:20 2015 +0200 KVM: document memory barriers for kvm->vcpus/kvm->online_vcpus Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1201844e6ddc4e13dfc1a7ffbba0cfd180944679 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 11:40:38 2015 +0300 ath10k: increase max client to 512 in qca99x0 When max client was set to 512 in qca99x0, there was host memory alloc failure during wmi service ready event handling. This issue got resolved now, increasing max client limit from 256 to 512. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c8ecfc1c33979054fb631d2066745d03ce322b6f Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 11:40:38 2015 +0300 ath10k: fix memory alloc failure in qca99x0 during wmi svc rdy event Host memory required for firmware is allocated while handling wmi service ready event. Right now, wmi service ready is handled in tasklet context and it calls dma_alloc_coherent() with atomic flag (GFP_ATOMIC) to allocate memory in host needed for firmware. The problem is, dma_alloc_coherent() with GFP_ATOMIC fails in the platform (at least in AP platform) where it has less atomic pool memory (< 2mb). QCA99X0 requires around 2 MB of host memory for one card, having additional QCA99X0 card in the same platform will require similarly amount of memory. So, it's not guaranteed that all the platform will have enough atomic memory pool. Fix this issue, by handling wmi service ready event in workqueue context and calling dma_alloc_coherent() with GFP_KERNEL. mac80211 work queue will not be ready at the time of handling wmi service ready. So, it can't be used to handle wmi service ready. Also, register work gets scheduled during insmod in existing ath10k_wq and waits for wmi service ready to completed. Both workqueue can't be used for this purpose. New auxiliary workqueue is added to handle wmi service ready. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 41656aa77f4f0caddde87bc88c2fe13f462b33bd Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 29 19:50:46 2015 -0400 MAINTAINERS: change 842 NX owner email address Change my IBM email to my personal IEEE email. I'm leaving IBM, so my email there won't work anymore. This changes the owner to my personal email, so I can still get cc'ed on patches, until someone at IBM sends a patch to take it over. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 844190dbeb5f37af5218f8587aeae25682fcb3a1 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 29 19:43:29 2015 -0400 crypto: nx - use be32_to_cpu for __be32 field in debug msg One of the debug messages in the NX 842 PowerNV driver is missing the required be32_to_cpu() wrapper when accessing the __be32 field csb->count. Add the wrapper so the message will show the correct count. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7371c0a5c205455d69f8e8dc1d16791f08a38155 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 29 19:42:09 2015 -0400 crypto: nx - don't err if compressed output > input Return success instead of error if compression succeeds but the output is larger than the input. It's unlikely that the caller will use the compressed data since it's larger than the original uncompressed data, but there was no error and returning an error code is incorrect. Further, for testing small input buffers, the output is likely to be larger than the input and success needs to be returned to verify the test. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f15107f41282d5ae9c6c26832dcc485729821ccc Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Wed Jul 29 14:16:58 2015 +0800 ARM: zx: Add power domains for ZX296702 Add power domains for ZX296702 to power off inactive power domains in runtime. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> [olof: Marked zx296702_pd_driver as __initdata to avoid section mismatch] Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5857d1dbae7d5bf4219efc39996ad002362a2951 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Jul 30 09:40:53 2015 +0200 Bluetooth: 6lowpan: Fix possible race This patch fix a possible race after calling register_netdev. After calling netdev_register it could be possible that netdev_ops callbacks use the uninitialized private data of lowpan_dev. By moving the initialization of this data before netdev_register we can be sure that initialized private data is be used after netdev_register. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 917cdc5f7305c753ed6e58d7e87d25ba023f18b4 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Jun 16 18:08:34 2015 +0800 ARM: at91/dt: add isi & ov2640 dt nodes for at91sam9m10g45ek board First we group the isi data pins, and for now we only use 0~7 data pins with HSYNC and VSYNC. Also add the link for atmel-isi and ov2640 sensor node. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: move the pinctrl properties in board .dts file] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c22ff7b4e74d8136a9911d8b8d0f25f9f7c3edc1 Author: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Date: Tue Jul 21 17:44:47 2015 +0300 mac802154: Fix memory corruption with global deferred transmit state. When transmitting a packet via a mac802154 driver that can sleep in its transmit function, mac802154 defers the call to the driver's transmit function to a per-device workqueue. However, mac802154 uses a single global work_struct for this, which means that if you have more than one registered mac802154 interface in the system, and you transmit on more than one of them at the same time, you'll very easily cause memory corruption. This patch moves the deferred transmit processing state from global variables to struct ieee802154_local, and this seems to fix the memory corruption issue. Signed-off-by: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8b44f0dd2f90acd6c8842537223b39f890f2e713 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Jul 30 12:13:29 2015 +0200 at86rf230: remove hrtimer on 1 usec delay According Documentation/timers/timers-howto.txt the usually case for setting up a hrtimer takes > ~10us. So we should use udelay in this case so we are sure that the state change was done, before doing the state change assert. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 54c9ee39923c0ffa27b99a1b7321e0d07408c97b Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Thu Jul 16 22:17:13 2015 +0200 Bluetooth: cmtp: Do not use list_for_each_safe when not needed There is no need to use the safe version of list_for_each here. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f4b3eee727e876d625cfe3585af48f4983c435d7 Author: Bernhard Thaler <bernhard.thaler@xxxxxxxx> Date: Thu Jul 30 06:06:12 2015 +0200 netfilter: bridge: do not initialize statics to 0 or NULL Fix checkpatch.pl "ERROR: do not initialise statics to 0 or NULL" for all statics explicitly initialized to 0. Signed-off-by: Bernhard Thaler <bernhard.thaler@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d63b282645f56641900e15fb14572bdf6c9bed27 Author: Daniel Drake <drake@xxxxxxxxxxxx> Date: Fri Jul 17 11:12:25 2015 -0600 Bluetooth: btusb: match generic class code in interface descriptor btusb currently has a generic match on USB device descriptors: { USB_DEVICE_INFO(0xe0, 0x01, 0x01) }, However, http://www.usb.org/developers/defined_class states: Base Class E0h (Wireless Controller) This base class is defined for devices that are Wireless controllers. Values not shown in the table below are reserved. These class codes are to be used in Interface Descriptors, with the exception of the Bluetooth class code which can also be used in a Device Descriptor. Add a match on the interface descriptors accordingly. This fixes compatibility with the RTL8723AU device shown below. This device conforms to the USB Interface Association Descriptor specification, which requires the device to have class ef/02/01. The extra IAD descriptor then specifies that interfaces 0 and 1 belong to the same function/driver, which is true. Provided that the Bluetooth device class spec accepts use of the IAD, I imagine that technically, all btusb devices should be configured like this. T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0bda ProdID=0724 Rev= 2.00 S: Manufacturer=Realtek S: Product=802.11n WLAN Adapter S: SerialNumber=00e04c000001 C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=500mA A: FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=01 I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms I:* If#= 2 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtl8723au E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=87(I) Atr=03(Int.) MxPS= 64 Ivl=500us Signed-off-by: Daniel Drake <drake@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72b1e5e4cac72efa6b739b47e41f53e4520b4194 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Jul 23 16:21:30 2015 +0200 netfilter: bridge: reduce nf_bridge_info to 32 bytes again We can use union for most of the temporary cruft (original ipv4/ipv6 address, source mac, physoutdev) since they're used during different stages of br netfilter traversal. Also get rid of the last two ->mask users. Shrinks struct from 48 to 32 on 64bit arch. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit df9b89c7e46cf88ebf5a29c28c45d3b0b8c5d502 Author: Arron Wang <arron.wang@xxxxxxxxx> Date: Fri Jul 24 17:11:01 2015 +0800 Bluetooth: Move create/accept phy link completed callback to amp.c To avoid amp module hooks from hci_event.c Signed-off-by: Arron Wang <arron.wang@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b3d3914006a05cae448684058760359ef0cded49 Author: Arron Wang <arron.wang@xxxxxxxxx> Date: Fri Jul 24 17:10:50 2015 +0800 Bluetooth: Move amp assoc read/write completed callback to amp.c To avoid amp module hooks from hci_event.c Signed-off-by: Arron Wang <arron.wang@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 839278823c27b71b46d677c8cf56b2d1f95610af Author: Arron Wang <arron.wang@xxxxxxxxx> Date: Fri Jul 24 17:10:16 2015 +0800 Bluetooth: Move get info completed callback to a2mp.c To avoid a2mp module hooks from hci_event.c and send getinfo response operation only required by a2mp module, we can move this callback to a2mp.c Signed-off-by: Arron Wang <arron.wang@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a77a6a14e54a6853141d99512bfed4acb5c2657a Author: Arron Wang <arron.wang@xxxxxxxxx> Date: Fri Jul 24 17:13:15 2015 +0800 Bluetooth: Move high speed specific event under BT_HS option Signed-off-by: Arron Wang <arron.wang@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 244bc377591c3882f454882357bc730c90cbedb5 Author: Arron Wang <arron.wang@xxxxxxxxx> Date: Fri Jul 24 17:12:55 2015 +0800 Bluetooth: Add BT_HS config option Move A2MP Module under BT_HS config option and allow the user have flexible option to choose the feature only they need a2mp_discover_amp() & a2mp_channel_create() are a2mp module entry point for master and slave, and this is dynamic invoked depends on the userspace or remote request, then we defined their implementation depends on BT_HS config Signed-off-by: Arron Wang <arron.wang@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4a546ec364633fcbe5709811230d7e0580c9dc1d Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:02:25 2015 +0200 Bluetooth: btbcm: Add BCM4330B1 UART device Add "waiting for configuration" address. Add lmp_subver and firmware name for BCM4330B1 controller. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d7ee3519042798be6224e97f259ed47a63da4620 Author: Michal KubeÄ?ek <mkubecek@xxxxxxx> Date: Fri Jul 17 16:17:56 2015 +0200 netfilter: nf_ct_sctp: minimal multihoming support Currently nf_conntrack_proto_sctp module handles only packets between primary addresses used to establish the connection. Any packets between secondary addresses are classified as invalid so that usual firewall configurations drop them. Allowing HEARTBEAT and HEARTBEAT-ACK chunks to establish a new conntrack would allow traffic between secondary addresses to pass through. A more sophisticated solution based on the addresses advertised in the initial handshake (and possibly also later dynamic address addition and removal) would be much harder to implement. Moreover, in general we cannot assume to always see the initial handshake as it can be routed through a different path. The patch adds two new conntrack states: SCTP_CONNTRACK_HEARTBEAT_SENT - a HEARTBEAT chunk seen but not acked SCTP_CONNTRACK_HEARTBEAT_ACKED - a HEARTBEAT acked by HEARTBEAT-ACK State transition rules: - HEARTBEAT_SENT responds to usual chunks the same way as NONE (so that the behaviour changes as little as possible) - HEARTBEAT_ACKED responds to usual chunks the same way as ESTABLISHED does, except the resulting state is HEARTBEAT_ACKED rather than ESTABLISHED - previously existing states except NONE are preserved when HEARTBEAT or HEARTBEAT-ACK is seen - NONE (in the initial direction) changes to HEARTBEAT_SENT on HEARTBEAT and to CLOSED on HEARTBEAT-ACK - HEARTBEAT_SENT changes to HEARTBEAT_ACKED on HEARTBEAT-ACK in the reply direction - HEARTBEAT_SENT and HEARTBEAT_ACKED are preserved on HEARTBEAT and HEARTBEAT-ACK otherwise Normally, vtag is set from the INIT chunk for the reply direction and from the INIT-ACK chunk for the originating direction (i.e. each of these defines vtag value for the opposite direction). For secondary conntracks, we can't rely on seeing INIT/INIT-ACK and even if we have seen them, we would need to connect two different conntracks. Therefore simplified logic is applied: vtag of first packet in each direction (HEARTBEAT in the originating and HEARTBEAT-ACK in reply direction) is saved and all following packets in that direction are compared with this saved value. While INIT and INIT-ACK define vtag for the opposite direction, vtags extracted from HEARTBEAT and HEARTBEAT-ACK are always for their direction. Default timeout values for new states are HEARTBEAT_SENT: 30 seconds (default hb_interval) HEARTBEAT_ACKED: 210 seconds (hb_interval * path_max_retry + max_rto) (We cannot expect to see the shutdown sequence so that, unlike ESTABLISHED, the HEARTBEAT_ACKED timeout shouldn't be too long.) Signed-off-by: Michal Kubecek <mkubecek@xxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit cfcbe858f26f6450aa0cb3ab26b3a0a058b348d5 Merge: 8670f2a 31557f0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 30 00:05:00 2015 -0700 Merge branch 'mlxsw' Jiri Pirko says: ==================== Introduce Mellanox Technologies Switch ASICs switchdev drivers This patchset introduces Mellanox Technologies Switch driver infrastructure and support for SwitchX-2 ASIC. The driver is divided into 3 logical parts: 1) Bus - implements switch bus interface. Currently only PCI bus is implemented, but more buses will be added in the future. Namely I2C and SGMII. (patch #2) 2) Driver - implemements of ASIC-specific functions. Currently SwitchX-2 ASIC is supported, but a plan exists to introduce support for Spectrum ASIC in the near future. (patch #4) 3) Core - infrastructure that glues buses and drivers together. It implements register access logic (EMADs) and takes care of RX traps and events. (patch #1 and #3) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31557f0f9755696530d08465cf9940404f2d48e2 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Jul 29 23:33:49 2015 +0200 mlxsw: Introduce Mellanox SwitchX-2 ASIC support Benefit from the previously introduced Mellanox Switch infrastructure and add driver for SwitchX-2 ASIC. Note that this driver is very simple now. It implements bare minimum for getting device to work on slow-path. Fast-path offload functionality is going to be added soon. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Reviewed-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ec14b7634b298186f18f65d959354dc3c60e02c Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Wed Jul 29 23:33:48 2015 +0200 mlxsw: Add interface to access registers and process events Ethernet Management Datagrams (EMADs) are Ethernet packets sent between the host and the device in order to configure the available device registers. Another use case is notifications sent from the device to the host, letting it know about certain events, such as port up / down. Add the ability to construct EMADs with provisions to construct and parse the registers' payloads. Implement EMAD transaction layer which is responsible for the reliable transmission of EMADs. Also, add an infrastructure used by the switch driver to register for particular events generated by the device. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Reviewed-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eda6500a987a027b78a275c11db6454404a626aa Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Jul 29 23:33:47 2015 +0200 mlxsw: Add PCI bus implementation Add PCI bus implementation for Mellanox Technologies Switch ASICs. This includes firmware initialization, async queues manipulation and command interface implementation. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Reviewed-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93c1edb27f9e7ef7f276b91763c93242bbda71cb Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Jul 29 23:33:46 2015 +0200 mlxsw: Introduce Mellanox switch driver core Add core components of Mellanox switch driver infrastructure. Core infrastructure is designed so that it can be used by multiple bus drivers (PCI now, I2C and SGMII are planned to be implemented in the future). Multiple switch kind drivers can be registered as well. This core serves as a glue between buses and drivers. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Reviewed-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8670f2a5acec2f79839785efdfb3626dfada7ed4 Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Date: Wed Jul 29 19:35:32 2015 +0530 be2net: Support vxlan offload stats in the driver This patch adds vxlan offload specific counters to ethtool stats. We provide tx/rx queue counters to show the number of vxlan offload pkts sent/received. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a63c580a5271b61f12cf91e768120e33792e2907 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Wed Jul 29 10:40:26 2015 +0300 drm/amdkfd: fix bug when initializing sdma vm A logical AND operation was used during mask and shift, instead of a bitwise AND operation. This patch fixes this bug by changing the operation to bitwise AND. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e8a64b20eb27cd9c9403f51e4e6c415f9e096e39 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Wed Jul 29 10:33:06 2015 +0300 drm/amdgpu: fix bug when amdkfd destroys hqd The wrong define was used to check if the hqd is still active v2: Don't use SHIFT as the MASK is already shifted Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 05cc5a39ddb74dd81a716a45e67b938d8ebed463 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 29 15:52:46 2015 +0300 bnx2x: add vlan filtering offload Current driver always uses vlan-promisc mode, i.e., it receives both tagged and untagged traffic and lets the network stack drop packets tagged with unrequested vlan tags. This patch implements vlan-filtering offload in the driver - Unless explicitly configured to promisc mode, only untagged packets or packets tagged with requested vlans would reach the Rx flow. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e82a08b058976f33ad78201eda976ddaf8fe813d Merge: dcc38c0 98e81b0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 29 23:04:47 2015 -0700 Merge branch 'mlx5e-next' Amir Vadai says: ==================== net/mlx5e: Driver update 29-Jul-2015 This patchset contain bug fixes and code cleaning patches to the ConnectX-4 Ethernet driver. Patchset was applied and tested over commit 8c1a91f ("Merge branch 'mlx4-802.1ad-accel'") ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98e81b0ad6f25e2c4e2ff1680f50f9c66bec9e08 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:46 2015 +0300 net/mlx5e: Remove the mlx5e_update_priv_params() function It was used to update netdev priv parameters that require stopping and re-opening the device in a generic way - it got the new parameters and did: ndo_stop(), copy new parameters into current parameters, ndo_open(). We chose to remove it for two reasons: 1) It requires additional instance of struct mlx5e_params on the stack and looking forward we expect this struct to grow. 2) Sometimes we want to do additional operations (besides just updating the priv parameters) while the netdev is stopped. For example, updating netdev->mtu @mlx5e_change_mtu() should be done while the netdev is stopped (done in this commit). Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fc22739a83a245ddad9d9f7c2001c8b3b44c500 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:45 2015 +0300 net/mlx5e: Introduce create/destroy RSS indir table access functions Introduce access functions to create/destroy RSS indrection table and use it in the Ethernet driver. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f2a30037bf18ae6d1bab2c47caeceb4eb0f6464 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:44 2015 +0300 net/mlx5e: Do not use netdev_err() before the netdev is registered Since it is un-named at this time. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97de9f310a588161f0d27158c4ea6d8b477a4625 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:43 2015 +0300 net/mlx5e: Avoid redundant de-reference Use the already defined rq pointer directly. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28abbfddf4477c4e9a04f276858ffa3fad90b7ac Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:42 2015 +0300 net/mlx5e: Remove redundant assignment of sq->user_index It is not needed by the mlx5 Eth driver since it has a CQ per RQ/SQ. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4418a6c36cd9eb080cde0473d15f5cee4c3f35d Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:41 2015 +0300 net/mlx5e: Remove redundant field mlx5e_priv->num_tc This field already exists under the mlx5e_params struct Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68cdf5d6e91068c98d6091b193dc7a5ab7dcf5eb Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:40 2015 +0300 net/mlx5e: Use hard-coded 4K page size for RQ/SQ/CQ The page size of the device's RQ/SQ/CQ objects is defined in 4K units regardless of the system pages size. Thus using the Linux's PAGE_SHIFT macro yields wrong device configuration in systems where PAGE_SHIFT!=12. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c928ed55171b3aa5e14a9474ffe60f31590b89ff Author: Haggai Abramonvsky <hagaya@xxxxxxxxxxxx> Date: Wed Jul 29 15:05:39 2015 +0300 net/mlx5_core: Check the return value of mlx5_command_exec() mlx5_cmd_exec() might fail - need to check return value. Signed-off-by: Haggai Abramovsky <hagaya@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dcc38c033b32b81b88b798f0c0b8453839ac996b Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Jul 29 13:52:06 2015 +0200 openvswitch: Re-add CONFIG_OPENVSWITCH_VXLAN This readds the config option CONFIG_OPENVSWITCH_VXLAN to avoid a hard dependency of OVS on VXLAN. It moves the VXLAN config compat code to vport-vxlan.c and allows compliation as a module. Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device") Fixes: 2661371ace96 ("openvswitch: fix compilation when vxlan is a module") Cc: Pravin B Shelar <pshelar@xxxxxxxxxx> Cc: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ce4b2f44df74bac91ff5ddcbf903572577005bc Author: Bogdan Hamciuc <bogdan.hamciuc@xxxxxxxxxxxxx> Date: Wed Jul 29 12:47:16 2015 +0300 net: pktgen: Remove unused 'allocated_skbs' field Field pktgen_dev.allocated_skbs had been written to, but never read from. The number of allocated skbs can be deduced anyway, from the total number of sent packets and the 'clone_skb' param. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 879c7220e828af8bd82ea9d774c7e45c46b976e4 Author: Bogdan Hamciuc <bogdan.hamciuc@xxxxxxxxxxxxx> Date: Wed Jul 29 12:45:58 2015 +0300 net: pktgen: Observe needed_headroom of the device Allocate enough space so as not to force the outgoing net device to do skb_realloc_headroom(). Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92a99bf3bae7c1267db87bb3e3babda2c6dcc8a7 Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Jul 29 09:45:40 2015 +0200 lwtunnel: Make lwtun_encaps[] static Any external user should use the registration API instead of accessing this directly. Cc: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4b67f269d28c70174e11b7af7fbdb81124d220c Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Jul 29 16:13:06 2015 +0300 gianfar: Fix warnings when built on 64-bit As part of defconfig consolidation using fragments, we'd like to be able to have the same drivers enabled on 32-bit and 64-bit. Gianfar happens to only exist on 32-bit systems, and when building the resulting 64-bit kernel warnings were produced. A couple of the warnings are trivial, but the rfbptr code has deeper issues. It uses the virtual address as the DMA address, which again, happens to work in the environments where this driver is currently used, but is not the right thing to do. Fixes: 45b679c9a3cc ("gianfar: Implement PAUSE frame generation support") Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97493e6a4b527a9f3504908fdd0531b7036b9157 Merge: 7a86d96 265f94f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 29 22:44:05 2015 -0700 Merge branch 'sk_txhash' Tom Herbert says: ==================== net: Initialize sk_hash to random value and reset for failing cnxs This patch set implements a common function to simply set sk_txhash to a random number instead of going through the trouble to call flow dissector. From dst_negative_advice we now reset the sk_txhash in hopes of finding a better ECMP path through the network. Changing sk_txhash affects: - IPv6 flow label and UDP source port which affect ECMP in the network - Local ECMP route selection (pending changes to use sk_txhash) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 265f94ff54d62503663d9c788ba1f082e448f8b8 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Jul 28 16:02:06 2015 -0700 net: Recompute sk_txhash on negative routing advice When a connection is failing a transport protocol calls dst_negative_advice to try to get a better route. This patch includes changing the sk_txhash in that function. This provides a rudimentary method to try to find a different path in the network since sk_txhash affects ECMP on the local host and through the network (via flow labels or UDP source port in encapsulation). Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 877d1f6291f8e391237e324be58479a3e3a7407c Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Tue Jul 28 16:02:05 2015 -0700 net: Set sk_txhash from a random number This patch creates sk_set_txhash and eliminates protocol specific inet_set_txhash and ip6_set_txhash. sk_set_txhash simply sets a random number instead of performing flow dissection. sk_set_txash is also allowed to be called multiple times for the same socket, we'll need this when redoing the hash for negative routing advice. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d83c2b37d435b88452bc88a2a47672346efb2b4 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:11 2015 +1000 selftests/seccomp: Add powerpc support Wire up the syscall number and regs so the tests work on powerpc. With the powerpc kernel support just merged, all tests pass on ppc64, ppc64 (compat), ppc64le, ppc, ppc64e and ppc64e (compat). Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c385d0db30f3c0bf687a080c38e8088c342116a3 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:10 2015 +1000 selftests/seccomp: Make seccomp tests work on big endian The seccomp_bpf test uses BPF_LD|BPF_W|BPF_ABS to load 32-bit values from seccomp_data->args. On big endian machines this will load the high word of the argument, which is not what the test wants. Borrow a hack from samples/seccomp/bpf-helper.h which changes the offset on big endian to account for this. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 2449acc5348b94325e9374056b2cc3ed55816e96 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:09 2015 +1000 powerpc/kernel: Enable seccomp filter This commit enables seccomp filter on powerpc, now that we have all the necessary pieces in place. To support seccomp's desire to modify the syscall return value under some circumstances, we use a different ABI to the ptrace ABI. That is we use r3 as the syscall return value, and orig_gpr3 is the first syscall parameter. This means the seccomp code, or a ptracer via SECCOMP_RET_TRACE, will see -ENOSYS preloaded in r3. This is identical to the behaviour on x86, and allows seccomp or the ptracer to either leave the -ENOSYS or change it to something else, as well as rejecting or not the syscall by modifying r0. If seccomp does not reject the syscall, we restore the register state to match what ptrace and audit expect, ie. r3 is the first syscall parameter again. We do this restore using orig_gpr3, which may have been modified by seccomp, which allows seccomp to modify the first syscall paramater and allow the syscall to proceed. We need to #ifdef the the additional handling of r3 for seccomp, so move it all out of line. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit e5dafc0da04567bb8d4adce00fcbde250608e394 Merge: dcd14dd 8c10342 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Jul 30 12:45:11 2015 +1000 Merge tag 'topic/drm-misc-2015-07-28' of git://anongit.freedesktop.org/drm-intel into drm-next More drm-misc, mostly fine-tuning of atomic helpers. They're mostly driver-wide interface changes of the helpers and I need them for i915 work, so I plan to pull this tag into drm-intel-next too. * tag 'topic/drm-misc-2015-07-28' of git://anongit.freedesktop.org/drm-intel: drm/atomic: Update legacy DPMS state during modesets, v3. drm: Make the connector dpms callback return a value, v2. drm/atomic: pass old crtc state to atomic_begin/flush. drm/atomic: add connectors_changed to separate it from mode_changed, v2 drm: Fix DP_TEST_COUNT_MASK commit 7a86d96e4a990aab2fc7b3b97c3bb09f9da0a290 Merge: 71382bc 274b0b3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 29 17:17:44 2015 -0700 Merge branch 'thunderx_octeon_mdio' Radha Mohan Chintakuntla says: ==================== Add MDIO support to ThunderX NIC driver This patch series adds MDIO support to ThunderX NIC driver by making use of existing mdio-octeon driver. In the process modified the mdio-octeon driver to work on both Octeon and ThunderX platforms. * From v1: - Removed default selection in Kconfig for MDIO_OCTEON - Replace uint64 with u64 as suggested by David Daney ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 274b0b3984a93d6a2cbc2966a146fa3ed7288b1e Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Jul 28 15:12:13 2015 -0700 net: thunderx: Select CONFIG_MDIO_OCTEON for ThunderX NIC The CONFIG_MDIO_OCTEON is required so that the ThunderX NIC driver can talk to the PHY drivers. Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de9e397e40f56b9f34af4bf6a5bd7a75ea02456c Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Jul 28 15:12:12 2015 -0700 net: mdio-octeon: Fix octeon_mdiobus_probe function for return values This patch fixes a possible crash in the octeon_mdiobus_probe function if the return values are not handled properly. Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6d678645210f187a23c4715579a34152ce10af6 Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Jul 28 15:12:11 2015 -0700 net: mdio-octeon: Modify driver to work on both ThunderX and Octeon This patch modifies the mdio-octeon driver to work on both ThunderX and Octeon SoCs from Cavium Inc. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71382bc0431ea5901640a3794fea4eeb71cbcb2e Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Tue Jul 28 16:01:11 2015 -0400 net: netcp: Fixes efuse mac addr swap on k2e and k2l On some of the K2E and K2L platforms, the two DWORDs in efuse occupied by the pre-programmed mac address for slave port 1 are swapped. To workaround this issue, this patch adds a new define NETCP_EFUSE_ADDR_SWAP (2) which signifies the occurrence of such swapping so that the driver can take proper action. The flag can be enabled in the corresponding netcp interface dts binding as efuse-mac = <2> under the corresponding netcp interface node. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dad5c83d71fcfa117ee678fe66ffa5fd2f1f2440 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 01:16:02 2015 +0300 ARM: shmobile: silk: add Ether DT support Define the SILK board dependent part of the Ether device node. Enable DHCP and NFS root for the kernel booting. Based on the original patch by Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a42fc57a9e9d1dbb1d8cc0c3ccf2d7ea1a939559 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 01:14:59 2015 +0300 ARM: shmobile: silk: initial device tree Add the initial device tree for the R8A7794 SoC based SILK low cost board. SCIF2 serial port support is included, so that the serial console can work. Based on the original patch by Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5a4c355229da12558b5ded0775f4d0bc6650d28d Author: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Jul 29 18:28:01 2015 -0400 tipc: fix bug in broadcast synch message create function In commit d999297c3dbbe7fdd832f7fa4ec84301e170b3e6 ("tipc: reduce locking scope during packet reception") we introduced a new function tipc_build_bcast_sync_msg(), which carries initial synchronization data between two nodes at first contact and at re-contact. In this function, we missed to add synchronization data, with the effect that the broadcast link endpoints will fail to synchronize correctly at re-contact between a running and a restarted node. All other cases work as intended. With this commit, we fix this bug. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c948c26048ecb1023d2e68222c736f7da41da498 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 30 00:30:51 2015 +0200 x86/apic: Drop local_irq_save/restore in timer callbacks These callbacks are called with interrupts disabled from the core code. Fixup the local caller to disable interrupts. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit b23d8e527815954768861bb20d2b224009fff7cd Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jul 16 16:28:44 2015 +0530 x86/apic: Migrate apic timer to new set_state interface Migrate apic driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything while switching to resume mode and so that callback isn't implemented. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Bandan Das <bsd@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1896ac5989d27f2ac37f4786af9bd537e1921b83.1437042675.git.viresh.kumar@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f075915ac0b11847fcfc8c4d55526a317e71c4d1 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:26 2015 +0100 PCI/MSI: Drop domain field from msi_controller The only three users of that field are not using the msi_controller structure anymore, so drop it altogether. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-20-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8d63bc7beaeecdc2dfafed69c3555471fbe4aee7 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:25 2015 +0100 PCI/MSI: pci-xgene-msi: Get rid of struct msi_controller The X-Gene MSI driver only uses the msi_controller structure as a way to match the host bridge with its MSI HW, and thus the msi_domain. But now that we can directly associate an msi_domain with a device, there is no use keeping this msi_controller around. Just remove all traces of msi_controller from the driver. Tested-by: Duc Dang <dhdang@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-19-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ef50645aa32c6b55fe1445b5d06c73bfdf65019f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:24 2015 +0100 irqchip/GICv2m: Add platform MSI support In order to support non-PCI MSI with GICv2m, add the minimal required entry points for the MSI domain, which is actually almost nothing (we just use the defaults provided by the core code). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-18-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5cedceb37c253c6181dbdd4bfe1b9d792e51fd37 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:23 2015 +0100 irqchip/GICv2m: Get rid of struct msi_controller GICv2m only uses the msi_controller structure as a way to match the host bridge with its MSI HW, and thus the msi_domain. But now that we can directly associate an msi_domain with a device, there is no use keeping this msi_controller around. Just remove all traces of msi_controller from the driver. Also tag the inner (non-PCI) domain with DOMAIN_BUS_NEXUS. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-17-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1e6db000482fa65a419d1776f9ae1ff919afe605 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:22 2015 +0100 irqchip/gicv3-its: Add platform MSI support In order to support non-PCI MSI with the GICv3 ITS, add the minimal required entry points for the MSI domain (an msi_prepare implementation). The rest is only boilerplate code to find the raw ITS domain. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-16-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 54456db9a23753b87ce4d49adabe7da853bf13a2 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:21 2015 +0100 irqchip/gicv3-its: Make the PCI/MSI code standalone We can now lookup the base ITS domain, making it possible to initialize the PCI/MSI code independently from the main ITS subsystem. This allows us to remove all the previously add hooks. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-15-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 841514ab41ced765158d71d818b1d564ebe9436d Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:20 2015 +0100 irqchip/gicv3-its: Get rid of struct msi_controller The GICv3 ITS only uses the msi_controller structure as a way to match the host bridge with its MSI HW, and thus the msi_domain. But now that we can directly associate an msi_domain with a device, there is no use keeping this msi_controller around. Just remove all traces of msi_controller from the driver. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-14-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e55dcd4d8b8b82e4ecef2937c6d1dde7ba82916b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:19 2015 +0100 irqchip/gicv3-its: Register irq domain with NEXUS token Now that we can distinguish between multiple domains carrying the same device_node, tag the raw ITS domain with DOMAIN_BUS_NEXUS. This will allow MSI providers built on top of the raw ITS domain to identify it. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-13-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f130420e51df30891b55efcef24f5358b2fc2b97 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:18 2015 +0100 irqchip/gicv3-its: Split PCI/MSI code from the core ITS driver It is becoming obvious that having the PCI/MSI code in the same file as the the core ITS code is giving people implementing non-PCI MSI support the wrong kind of idea. In order to make things a bit clearer, let's move the PCI/MSI code out to its own file. Hopefully it will make it clear that whoever thinks of hooking into the core ITS better have a very strong point. We use a temporary entry point that will get removed in a subsequent patch, once the proper infrastructure is added. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-12-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a5716070d88cba1a0a8a18fea809ea6e3374e276 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:17 2015 +0100 genirq: Add DOMAIN_BUS_NEXUS irqdomain property Some IRQ domains are not designed to directly provide interrupts to devices, but strictly to be used by other domains. An example of this is the GICv3 ITS, which is completely bus agnostic, and on which it is possible to implement a PCI/MSI domain. Just introduce the irq_domain_bus_token property for now. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-11-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c09fcc4b2b48d58d769a8cff5041533535ece449 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:16 2015 +0100 drivers/base: Add MSI domain support for non-PCI devices With the msi_list and the msi_domain properties now being at the generic device level, it is starting to be relatively easy to offer a generic way of providing non-PCI MSIs. The two major hurdles with this idea are: - Lack of global ID that identifies a device: this is worked around by having a global ID allocator for each device that gets enrolled in the platform MSI subsystem - Lack of standard way to write the message in the generating device. This is solved by mandating driver code to provide a write_msg callback, so that everyone can have their own square wheel Apart from that, the API is fairly straightforward: - platform_msi_create_irq_domain creates an MSI domain that gets tagged with DOMAIN_BUS_PLATFORM_MSI - platform_msi_domain_alloc_irqs allocate MSIs for a given device, populating the msi_list - platform_msi_domain_free_irqs does what is written on the tin [ tglx: Created a seperate struct platform_msi_desc and added kerneldoc entries ] Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-10-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c706c239af5bc297b5fbf1adc715632e1c222f7a Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:15 2015 +0100 of/platform: Assign MSI domain to platform device As for PCI, we're able to populate the msi_domain field at probe time, provided that the device tree has an "msi-parent" property. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-9-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d8a1cb7575502d2be502a65ecb344ff05c8d9f44 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:14 2015 +0100 PCI/MSI: Let pci_msi_get_domain use struct device::msi_domain Now that we can easily find which MSI domain a PCI device is using, use dev_get_msi_domain as a way to retrieve the information. The original code is still used as a fallback. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-8-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 471c931cb248ab7af0cd62503d811239b47f217b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:13 2015 +0100 PCI/MSI: Allow msi_domain lookup using the host bridge node A number of platforms do not need to use the msi-parent property, as the host bridge itself provides the MSI controller. Allow this configuration by performing an irq domain lookup based on the host bridge node if it doesn't have a valid msi-parent property. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-7-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b165e2b60b39888a7ff8efbc1de40137471dda41 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:12 2015 +0100 PCI/MSI: Add support for OF-provided msi_domain In order to populate the PCI host bridge msi_domain, use the "msi-parent" attribute to lookup a corresponding irq domain. If found, this is our MSI domain. This gets plugged into the core PCI code. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-6-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 44aa0c657e3e45795a92addeb0dce7d28d9b0bd2 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:11 2015 +0100 PCI/MSI: Add hooks to populate the msi_domain field In order to be able to populate the device msi_domain field, add the necessary hooks to propagate the host bridge msi_domain across secondary busses to devices. So far, nobody populates the initial msi_domain. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f1421db8ca4c110144be97a5997ed83d34685db5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:10 2015 +0100 device core: Introduce per-device MSI domain pointer As MSI-type features are creeping into non-PCI devices, it is starting to make sense to give our struct device some form of support for this, by allowing a pointer to an MSI irq domain to be set/retrieved. Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0380839dc90c53e24ddfa0f17ad909c2ddc345c2 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:09 2015 +0100 PCI/MSI: Register irq domain with specific token When creating a PCI/MSI domain, tag it with DOMAIN_BUS_PCI_MSI so that it can be looked-up using irq_find_matching_host(). Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ad3aedfbb04b3a2af54473cfe31f13953cfe9d84 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 28 14:46:08 2015 +0100 genirq/irqdomain: Allow irq domain aliasing It is not uncommon (at least with the ARM stuff) to have a piece of hardware that implements different flavours of "interrupts". A typical example of this is the GICv3 ITS, which implements standard PCI/MSI support, but also some form of "generic MSI". So far, the PCI/MSI domain is registered using the ITS device_node, so that irq_find_host can return it. On the contrary, the raw MSI domain is not registered with an device_node, making it impossible to be looked up by another subsystem (obviously, using the same device_node twice would only result in confusion, as it is not defined which one irq_find_host would return). A solution to this is to "type" domains that may be aliasing, and to be able to lookup an device_node that matches a given type. For this, we introduce irq_find_matching_host() as a superset of irq_find_host: struct irq_domain *irq_find_matching_host(struct device_node *node, enum irq_domain_bus_token bus_token); where bus_token is the "type" we want to match the domain against (so far, only DOMAIN_BUS_ANY is defined). This result in some moderately invasive changes on the PPC side (which is the only user of the .match method). This has otherwise no functionnal change. Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Ma Jun <majun258@xxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438091186-10244-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8505a81bb036253213b109baf4178ea6861e2888 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Jul 29 19:09:36 2015 +0900 genirq: Use the proper parameter name in kernel doc The following warning is emitted for make xmldocs: Warning(.//kernel/irq/chip.c:1009): No description found for parameter 'vcpu_info' Warning(.//kernel/irq/chip.c:1009): Excess function parameter 'dest' description in 'irq_chip_set_vcpu_affinity_parent' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Link: http://lkml.kernel.org/r/1438164576-5945-1-git-send-email-standby24x7@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4b979e4c611ce750d32b51737f837b485f43c69b Merge: 1559f3b cbfe8fa Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 30 00:13:24 2015 +0200 Merge branch 'linus' into irq/core Pull in upstream fixes before applying conflicting changes commit 73d0fcf2f487465f73329ee11ae900a774408fe5 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Jul 28 14:21:26 2015 +0200 packet: remove handling of tx_ring from prb_shutdown_retire_blk_timer() Follow e8e85cc5eb57 ("packet: remove handling of tx_ring") and remove the tx_ring parameter from prb_shutdown_retire_blk_timer() as it is only called with tx_ring = 0. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b88d0a049084854aef0ea146f1411eafcd2597a8 Merge: 35e455f 9db7f2b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 29 14:59:59 2015 -0700 Merge branch 's390-bpf-push-pop' Michael Holzheu says: ==================== s390/bpf: recache skb->data/hlen for skb_vlan_push/pop Here the s390 backend for Alexei's patch 4e10df9a60d9 ("bpf: introduce bpf_skb_vlan_push/pop() helpers") plus two bugfixes and two minor improvements. The first patch "s390/bpf: clear correct BPF accumulator register" will also go upstream via Martin's "fixes" branch. * v2: Integrated suggestions from Joe Perches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9db7f2b818809ef2c40fbd64cfcf5ccb0107d7e8 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 21:15:18 2015 +0200 s390/bpf: recache skb->data/hlen for skb_vlan_push/pop Allow eBPF programs attached to TC qdiscs call skb_vlan_push/pop via helper functions. These functions may change skb->data/hlen. This data is cached by s390 JIT to improve performance of ld_abs/ld_ind instructions. Therefore after a change we have to reload the data. In case of usage of skb_vlan_push/pop, in the prologue we store the SKB pointer on the stack and restore it after BPF_JMP_CALL to skb_vlan_push/pop. Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cde66c2d88da1d73d755109c80ce4c34b917596b Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 21:15:17 2015 +0200 s390/bpf: Only clear A and X for converted BPF programs Only classic BPF programs that have been converted to eBPF need to clear the A and X registers. We can check for converted programs with: bpf_prog->type == BPF_PROG_TYPE_UNSPEC So add the check and skip initialization for real eBPF programs. Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce2b6ad9c1856fac5d5e8d3351b3dd5392e09b7a Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 21:15:16 2015 +0200 s390/bpf: increase BPF_SIZE_MAX Currently we have the restriction that jitted BPF programs can have a maximum size of one page. The reason is that we use short displacements for the literal pool. The 20 bit displacements are available since z990 and BPF requires z196 as minimum. Therefore we can remove this restriction and use everywhere 20 bit signed long displacements. Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1df03ffdded54fbb6507ef494ece071f3501410e Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 21:15:15 2015 +0200 s390/bpf: Fix multiple macro expansions The EMIT6_DISP_LH macro passes the "disp" parameter to the _EMIT6_DISP_LH macro. The _EMIT6_DISP_LH macro uses the "disp" parameter twice: unsigned int __disp_h = ((u32)disp) & 0xff000; unsigned int __disp_l = ((u32)disp) & 0x00fff; The EMIT6_DISP_LH is used several times with EMIT_CONST_U64() as "disp" parameter. Therefore always two constants are created per usage of EMIT6_DISP_LH. Fix this and add variable "_disp" to avoid multiple expansions. * v2: Move "_disp" to _EMIT6_DISP_LH as suggested by Joe Perches Fixes: 054623105728 ("s390/bpf: Add s390x eBPF JIT compiler backend") Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f75298f5c3fee750ad170bb98556e366a45a4093 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 21:15:14 2015 +0200 s390/bpf: clear correct BPF accumulator register Currently we assumed the following BPF to eBPF register mapping: - BPF_REG_A -> BPF_REG_7 - BPF_REG_X -> BPF_REG_8 Unfortunately this mapping is wrong. The correct mapping is: - BPF_REG_A -> BPF_REG_0 - BPF_REG_X -> BPF_REG_7 So clear the correct registers and use the BPF_REG_A and BPF_REG_X macros instead of BPF_REG_0/7. Fixes: 054623105728 ("s390/bpf: Add s390x eBPF JIT compiler backend") Cc: stable@xxxxxxxxxxxxxxx # 4.0+ Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3431e490b50356b56084305a2e93b3a980802b22 Merge: 5af310a 1dcc3d3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 29 23:57:51 2015 +0200 Merge branch 'acpi-scan' into acpi-pm Conflicts: drivers/acpi/scan.c The conflict is resolved by moving the just introduced acpi_device_is_first_physical_node() to bus.c and using the existing acpi_companion_match() from there. There will be an additional commit to combine the two. commit 5af310a8ee70dd6a588c8ee1d4487a230a7b7b65 Merge: aa57aca 4b45efe Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 29 23:49:22 2015 +0200 Merge tag 'ib-mfd-base-acpi-dma-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into acpi-pm Pull MFD-related material including ACPI device power management changes (in addition to MFD, driver core and DMA changes) for v4.3 from Lee Jones. * tag 'ib-mfd-base-acpi-dma-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: mfd: Add support for Intel Sunrisepoint LPSS devices dmaengine: add a driver for Intel integrated DMA 64-bit mfd: make mfd_remove_devices() iterate in reverse order driver core: implement device_for_each_child_reverse() klist: implement klist_prev() Driver core: wakeup the parent device before trying probe ACPI / PM: Attach ACPI power domain only once PM / QoS: Make it possible to expose device latency tolerance to userspace commit 29edbe5e29d0ba3f619723f964724adab168f6f8 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Jul 29 12:18:58 2015 +0530 Staging : wilc1000: Remove braces for single statement blocks This patch fixes the following checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3369463284cff3adafb49914a4dffe608421848a Author: Kim, Leo <leo.kim@xxxxxxxxx> Date: Tue Jul 28 17:47:39 2015 +0900 staging: wilc1000: remove unnecessary spcae This patch removes the warnings reported by checkpatch.pl on space prohibited between function name and open parenthesis '(' Signed-off-by: Kim, Leo <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4423f3b0d96a40ff7f1c2552b1e23c3c3eadcbe8 Author: Kim, Leo <leo.kim@xxxxxxxxx> Date: Tue Jul 28 17:47:38 2015 +0900 staging: wilc1000: remove warnings on the multiple blank lines uses This patch removes the warnings reported by checkpatch.pl for using multiple blank lines. Signed-off-by: Kim, Leo <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc4b95d69c603668331d1edb92e3fb0dbcb1d959 Author: Kim, Leo <leo.kim@xxxxxxxxx> Date: Tue Jul 28 17:47:37 2015 +0900 staging: wilc1000: remove braces {} for single statement blocks This patch removes the warnings reported by checkpatch.pl on braces {} not necessary for the single statement blocks. Signed-off-by: Kim, Leo <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 202f66a8169a2ab8c92656914867d56ff6510a44 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:35 2015 +0900 staging: wilc1000: remove unnecessary inner braces This patch removes unnecessary inner braces. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0261e0b136b3535a5940179bdb95a8cc89eebd5 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:33 2015 +0900 staging: wilc1000: remove warnings on unnecessary braces This patch removes the warnings reported by checkpatch.pl on the braces {} not necessary for any arm of this statement. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e553d542bf9bb4bfb39ba6f130e2b62a356db57 Author: Jude.Lee <jude.lee@xxxxxxxxx> Date: Tue Jul 28 17:47:31 2015 +0900 staging: wilc1000: alignment should match open parenthesis This patch fixes the checks reported by checkpatch.pl alignment should match open parenthesis Signed-off-by: Jude.Lee <jude.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 232ced3d8fde6221231d5d541326cdb5e7afc50a Author: Jude.Lee <jude.lee@xxxxxxxxx> Date: Tue Jul 28 17:47:30 2015 +0900 staging: wilc1000: remove multiple blank lines This patch removes the warnings reported by checkpatch.pl for using multiple blank lines. Signed-off-by: Jude.Lee <jude.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51a5fcaf718788b11e767640dc65c40f409de1a8 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:27 2015 +0900 staging: wilc1000: remove a dead preprocessor conditionals This patch removes the preprocessor conditionals which are related to the WILC1000_SINGLE_TRANSFER definition becasue this is not used. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 229d7402bd8ffc58cacc22115011693257c21215 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:26 2015 +0900 staging: wilc1000: remove preprocessor conditionals unused This patch removes unused preprocessor conditionals for the PLAT_AML8726_M3_BACKUP and PLAT_AML8726_M3 which are not used and so dead codes. They are also platform-dependent codes. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4aa85772e3fa98646ce3b2a18b12c6474b853104 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:25 2015 +0900 staging: wilc1000: remove the warnings on unnecessary braces This patch removes the warnings reported by checkpatch.pl on {} not necessary for the single statement blocks. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c844693eaf31eb8587a3bba37bbc8601ac4e5ca Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:24 2015 +0900 staging: wilc1000: remove the warnings on missing blank line This patch removes the warnings reported by checkpatch.pl on missing a blank line after declaration. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0dff54785f92f832663d2af77cdd5b198fd90bb6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:23 2015 +0900 staging: wilc1000: remove warnings on the multiple line uses This patch removes the warnings reported by checkpatch.pl for using multiple blank lines. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9690df3f9de3689e7d2e916189761fff4754cd72 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:22 2015 +0900 staging: wilc1000: remove dead codes related to SIMULATION This patch removes preprocessor conditionals (#ifdef or #ifndef) related to SIMULATION definition from the codes becasue that SIMULATION feature is not used anymore. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f8966d91e2e87ac9455aa5b2c10fccefa6d59a4 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:21 2015 +0900 staging: wilc1000: describe the config symbol fully This patch removes the warnings reported by checkpatch.pl on the short description for the config symbol in the Kconfig by adding more comments to describe the config symbol in more detail. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1625d2166cbcace6fff3b4413be78522f4137f57 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Jul 28 17:47:20 2015 +0900 staging: wilc1000: remove unnecessary files This patch removes the following files which are not used anymore. - fifo_buffer.c - fifo_buffer.h - coreconfigsimulator.h - wilc_wfi_netdevice.c Signed-off-by: Robin Hwang <robin.hwang@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d10e0a6332fdea740fa74f541e354788903878a1 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Tue Jul 28 10:45:07 2015 -0700 staging: most: fix aim-network build errors Fix build errors when CONFIG_NET is not enabled by making the driver depend on NET. Also correct the loadable module name. ERROR: "__netdev_alloc_skb" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "netif_rx" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "netif_tx_wake_queue" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "free_netdev" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "register_netdev" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "kfree_skb" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "alloc_netdev_mqs" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "eth_type_trans" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "ether_setup" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "unregister_netdev" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "skb_put" [drivers/staging/most/aim-network/aim_network.ko] undefined! ERROR: "eth_mac_addr" [drivers/staging/most/aim-network/aim_network.ko] undefined! Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Cc: Michael Fabry <Michael.Fabry@xxxxxxxxxxxxx> Acked-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a11442fe87d63994816cf2edde4450410df397af Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Tue Jul 28 17:16:11 2015 +0200 Staging: most: fix passing a potential null pointer This patch fixes passing of a potential null pointer. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e4c30458e31e5f6487d1393254f2ab347cfb02c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Tue Jul 28 17:16:10 2015 +0200 Staging: most: fix dereferencing freed memory This patch fixes the dereferencing of freed memory. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ac5c9f0a0228fff35c0ea85008ff642b07e6db3 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Tue Jul 28 17:16:09 2015 +0200 Staging: most: fix snprintf() is printing too much This patch prevents snprintf from exceeding a given buffer size. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit add04a9854106a724b9fbf8bc9925781e5b0059e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jul 27 10:31:09 2015 +0900 staging: most: core.c: remove semicolon at the end of define statement Remove semicolon at the end of define statement to fix checkpatch warning. WARNING: macros should not use a trailing semicolon Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Acked-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccf97fe3ddac231655f1f8cacede6182a167de8b Author: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Date: Thu Jul 16 16:55:33 2015 -0700 ARM: dts: qcom: Add dts changes for qcom coincell charger Add framework for the coincell charger DT block in pm8941 file, and actual values for honami battery in the honami dts file. Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f26d1c1053ac179b0ee1edea7809cef07fe728e Author: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Date: Thu Jul 16 16:55:32 2015 -0700 ARM: qcom: Add coincell charger driver This driver is used to configure the coincell charger found in Qualcomm PMICs. The driver allows configuring the current-limiting resistor for the charger, as well as the voltage to apply to the coincell (or capacitor) when charging. Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee2b7f60a5c5e391fdde907ac61f135d87e74622 Author: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Date: Thu Jul 16 16:55:31 2015 -0700 ARM: dts: qcom: Add binding for the qcom coincell charger This binding is used to configure the driver for the coincell charger found in Qualcomm PMICs. Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70d334ca71b0e35ef21493d86799cec83f452d94 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Wed Jul 29 10:12:53 2015 -0700 PCI: iproc: Fix BCMA dependency in Kconfig The current iProc BCMA front-end driver can only work on ARM32 based platforms; therefore its config option in Kconfig should be changed to reflect that. This fixes arm64 allmodconfig build failure when compiling the the iProc BCMA driver that contains struct pci_sys_data that is arm32 specific Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6aad8bf99338fca5a6ef602f2d7e04546f79fd03 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Jul 27 15:42:21 2015 -0700 arm64: dts: Add Broadcom North Star 2 support Add Broadcom NS2 device tree binding document. Also add initial device tree dtsi for Broadcom North Star 2 (NS2) SoC and board support for NS2 SVK board Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 36b7c5831d7d5af6fc679f95b288ddf480e01e77 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Jul 27 15:42:20 2015 -0700 arm64: Add Broadcom iProc family support This patch adds support to Broadcom's iProc family of arm64 based SoCs in the arm64 Kconfig and defconfig files Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b00c4415fb231f276221c634a47ce7328df9aae5 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Jul 27 15:42:19 2015 -0700 PCI: iproc: Fix ARM64 dependency in Kconfig Allow Broadcom iProc PCIe core driver to be compiled for ARM64 Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Vikram Prakash <vikramp@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit db9d6d790968fd6df9faa7fa1f51967e05afd492 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Jul 27 15:42:18 2015 -0700 PCI: iproc: enable arm64 support for iProc PCIe PCI: iproc: Add arm64 support Add arm64 support to the iProc PCIe driver. Note that on arm32, bus->sysdata points to the arm32-specific pci_sys_data struct, and pci_sys_data.private_data contains the iproc_pcie pointer. For arm64, there's nothing corresponding to pci_sys_data, so we keep the iproc_pcie pointer directly in bus->sysdata. In addition, arm64 does IRQ mapping in pcibios_add_device(), so it doesn't need pci_fixup_irqs() as arm32 does. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5054e1e63946abff39bc7b154fac049110d9d3bb Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Jul 29 21:16:19 2015 +0200 x86/pci/intel_mid_pci: Use proper constants for irq polarity polarity = 0 means active high. Not really intuitive, so people add comments to it instead of just using a self explaining constant. Use the IOAPIC_POL_ constants and get rid of those horrible to read tail comments. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0abbdea1e9592fba120521ce22c6c26301e72761 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 29 12:16:49 2015 +0300 x86/pci/intel_mid_pci: Make intel_mid_pci_ops static This fixes the following sparse warning. arch/x86/pci/intel_mid_pci.c:265:16: warning: symbol 'intel_mid_pci_ops' was not declared. Should it be static? Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438161409-4671-4-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2a61c8eaf1879db99286c3f5fe5e78086c7edb85 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 29 12:16:48 2015 +0300 x86/pci/intel_mid_pci: Propagate actual return code mp_map_gsi_to_irq() returns different codes if it fails. intel_mid_pci_irq_enable() hides this under -EBUSY. Return the actual failure code. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438161409-4671-3-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 39d9b77b8debb4746e189aa5b61ae6e81ec5eab8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 29 12:16:47 2015 +0300 x86/pci/intel_mid_pci: Work around for IRQ0 assignment On Intel Tangier the MMC host controller is wired up to irq 0. But several other devices have irq 0 associated as well due to a bogus PCI configuration. The first initialized driver will acquire irq 0 and make it unavailable for other devices. If the sdhci driver is not the first one it will fail to acquire the interrupt and therefor be non functional. Add a quirk to the pci irq enable function which denies irq 0 to anything else than the MMC host controller driver on Tangier platforms. Fixes: 90b9aacf912a (serial: 8250_pci: add Intel Tangier support) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438161409-4671-2-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 35e455f47ac2e7fbc0c25871a4e91c563ff78ce1 Author: Amir Vadai <amirv@xxxxxxxxxxxx> Date: Tue Jul 28 13:19:19 2015 +0300 net/mlx4_en: Hardware accelerated 802.1ad works only on the first port Fix mistakenly used, hard coded, port number in get_phv_bit() Fixes: 77fc29c ("net/mlx4_core: Preparations for 802.1ad VLAN support") Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c421e80b1073e2ed58842ee6ee493386ace2d9eb Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Wed Jul 29 05:42:12 2015 -0400 perf tools: Introduce callgraph_set for callgraph option Introduce callgraph_set to indicate whether the callgraph option was set by user. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438162936-59698-4-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ee4c75887d12bcd6ecd897291797d969256f39ca Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Jul 29 05:42:11 2015 -0400 perf tools: Force period term to overload global settings Currently the command line option settings beats the per event period settings: With no global settings, we get per-event configuration: $ perf record -e 'cpu/instructions,period=20000/' sleep 1 $ perf evlist -v ... { sample_period, sample_freq }: 20000 ... With 'c' option period setup, we get 'c' option value: $ perf record -e 'cpu/instructions,period=20000/' -c 1000 sleep 1 $ perf evlist -v ... { sample_period, sample_freq }: 1000 ... This patch makes the per-event settings overload the global 'c' option setup: $ perf record -e 'cpu/instructions,period=20000/' -c 1000 sleep 1 $ perf evlist -v ... { sample_period, sample_freq }: 20000 ... I think the making the per-event settings to overload any other config makes more sense than current state. However it breaks the current 'period' term handling, which might cause some noise.. so let's see ;-). Also fixing parse event tests with the new behaviour. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438162936-59698-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 930a2e29758f865e3a7b34b8b3b37c08d40f0254 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Jul 29 05:42:10 2015 -0400 perf tools: Add support for event post configuration Add support to overload any global settings for event and force user specified term value. It will be useful for new time and backtrace terms. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1438162936-59698-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba68227e610cec8e0bef7da7e04af3f479d9797d Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Jul 27 20:20:31 2015 -0700 devicetree: soc: Add Qualcomm SMD based RPM DT binding Add binding documentation for the Qualcomm Resource Power Manager (RPM) using shared memory (Qualcomm SMD) as transport mechanism. This is found in 8974 and newer based devices. The binding currently describes the rpm itself and the regulator subnodes. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 936f14cf4e67168fcd37f10cebf5a475f490fb6e Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Jul 27 20:20:32 2015 -0700 soc: qcom: Driver for the Qualcomm RPM over SMD Driver for the Resource Power Manager (RPM) found in Qualcomm 8974 based devices. The driver exposes resources that child drivers can operate on; to implementing regulator, clock and bus frequency drivers. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit f2ab3298fb4932358d27fc4c7ea1a1891ad7e042 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Jul 27 20:20:30 2015 -0700 soc: qcom: Add Shared Memory Driver This adds the Qualcomm Shared Memory Driver (SMD) providing communication channels to remote processors, ontop of SMEM. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 72c10fef98fc3b3c924ee022e451872517e61ecf Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Jul 27 20:20:29 2015 -0700 soc: qcom: Add device tree binding for Shared Memory Device Add device tree binding documentation for the Qualcomm Shared Memory Device, used for communication between the various CPUs in the Qualcomm SoCs. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 3294bee87091be5f179474f6c39d1d87769635e2 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Jul 29 13:17:06 2015 +0300 clk: versatile: off by one in clk_sp810_timerclken_of_get() The ">" should be ">=" or we end up reading beyond the end of the array. Fixes: 6e973d2c4385 ('clk: vexpress: Add separate SP810 driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6c020ea8dc3a8adee81b6f141428a7a75249706e Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Jul 29 12:30:39 2015 +0100 arm64/Documentation: clarify wording regarding memory below the Image Clarify that the memory below the start of the image but inside the region covered by the linear mapping has no special significance to the kernel, and may be used by the firmware provided that it is marked as reserved. Also, fix up some whitespace errors. Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 484c96dbb26965d712a808ab9e8b00090455bdf6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Jul 29 15:16:22 2015 +0100 arm64: lse: fix lse cmpxchg code indentation For some reason, the ll/sc cmpxchg asm is all off to the left and awkward to read in conjunction with the following (correctly indented) LSE version. This patch shifts the ll/sc code back to where it should be. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 63a581865e9ee7b1277f1e4941d0765fdbde032a Author: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:13:20 2015 +0100 arm64: remove redundant object file list Commit 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant #ifdefs") forces SMP on arm64. To build the necessary objects for SMP, they were added to the arm64-obj-y rule in arch/arm64/kernel/Makefile, without removing the arm64-obj-$(CONFIG_SMP) rule. Remove redundant object file list depending on always-yes CONFIG_SMP in arch/arm64/kernel/Makefile. Signed-off-by: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 377bcff9a38a78083d7fff8e8a41cc894cf7813b Author: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 12:07:57 2015 +0100 arm64: remove dead-code depending on CONFIG_UP_LATE_INIT Commit 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant and therfore can not be selected anymore. Remove dead #ifdef-block depending on UP_LATE_INIT in arch/arm64/kernel/setup.c Signed-off-by: Jonas Rabenstein <jonas.rabenstein@xxxxxxxxxxxxxxxxxxxxxxx> [will: kill do_post_cpus_up_work altogether] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0122a5183088e3117bb9c8fbe248914efb502f3f Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 07:34:10 2015 +0000 spi: bcm2835: fix overflow in calculation of transfer time This resulted in the use of polling mode when other approaches (dma or interrupts) would have been more appropriate. Happened for transfers longer than 477 bytes. Reported-by: Noralf Tronnes <noralf@xxxxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit acace73df2c1913a526c1b41e4741a4a6704c863 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 28 14:03:12 2015 +0000 spi: bcm2835: set up spi-mode before asserting cs-gpio When using reverse polarity for clock (spi-cpol) on a device the clock line gets altered after chip-select has been asserted resulting in an additional clock beat, which confuses hardware. This did not show when using native-CS, as the same register is used to control cs as well as polarity, so the changes came into effect at the same time. Unfortunately this is not true with gpio-cs. To avoid this situation this patch moves the setup of polarity (spi-cpol and spi-cpha) outside of the chip-select into prepare_message, which is run prior to asserting chip-select. Also fixes resetting 3-wire mode after use of rx-mode, so that a 3-Wire sequence TX, RX, TX works as well (right now it runs TX, RX, RX instead) Reported-by: Noralf Tronnes <noralf@xxxxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit d306d08f07183fe1504257101b25b5b33d77bae9 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:02:06 2015 +0900 ARM: SAMSUNG: remove keypad-core header in plat-samsung Since keypad-core header is not used, this patch removes it. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 96bc024cdcfc4087a592ae258f21355509e21614 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:52 2015 +0900 ARM: SAMSUNG: local watchdog-reset header in mach-s3c64xx This patch moves watchdog-reset header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit fe31d04416e8a019a4ce8dca49aef80f10397aaf Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:47 2015 +0900 ARM: SAMSUNG: local onenand-core header in mach-s3c64xx This patch moves onenand-core header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 876ba9bafbc8aba7854c785ca5d13bbb5ef7b3cf Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:38 2015 +0900 ARM: SAMSUNG: local irq-uart header in mach-s3c64xx This patch moves irq-uart header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 4a7bf56f7f98fee929c74dd579fa19529712974d Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:36 2015 +0900 ARM: SAMSUNG: local backlight header in mach-s3c64xx This patch moves backlight header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit e979b1a9b47dbe56fa7543bde3dc093231c1eb6e Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:36 2015 +0900 ARM: SAMSUNG: local ata-core header in mach-s3c64xx This patch moves ata-core header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 3b0a5a96d0784305a0fc91702780c99e75134b26 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:36 2015 +0900 ARM: SAMSUNG: local regs-usb-hsotg-phy header in mach-s3c64xx This patch moves regs-usb-hsotg-phy header file into mach-s3c64xx. Because it is not used for others except mach-s3c64xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit dd04e47e7407e3a9312617817e3a35fc1a8e4548 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:35 2015 +0900 ARM: SAMSUNG: local spi-core header in mach-s3c24xx This patch moves spi-core header file into mach-s3c24xx. Because it is not used for others except mach-s3c24xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f8eed6cd0d215f23a70945e05c050b5c87dc888e Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:35 2015 +0900 ARM: SAMSUNG: local nand-core header in mach-s3c24xx This patch moves nand-core header file into mach-s3c24xx. Because it is not used for others except mach-s3c24xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f30e3295d2e9e7fe7fed5d1138e59ed45053b5fb Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:35 2015 +0900 ARM: SAMSUNG: local fb-core header in mach-s3c24xx This patch moves fb-core header file into mach-s3c24xx. Because it is not used for others except mach-s3c24xx. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 8ace438f4c0f471e2277b9d3adb017599e2c8e5b Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 02:00:35 2015 +0900 ARM: SAMSUNG: local regs-srom header in mach-exynos This patch moves regs-srom header file into mach-exynos. Because it is not used for others except mach-exynos. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b93b315d444faa1505b6a5e001c30f3024849e46 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 01:48:17 2015 +0900 ARM: SAMSUNG: make local s5p-dev-mfc in mach-exynos This patch moves s5p-dev-mfc from plat-samsung into mach-exynos because it is used for only exynos no other platforms. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 7f798c1c0d562ef1200cbe3227cd0474b1c285f7 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 01:48:17 2015 +0900 ARM: SAMSUNG: make local dev-backlight in mach-s3c64xx This patch moves dev-backlight from plat-samsung into mach-s3c64xx because it is used for only s3c64xx no other platforms. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit a1bd8d8bb890c77b97e3d6d1ea6f9d26a1c31ca8 Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Jul 30 01:48:17 2015 +0900 ARM: SAMSUNG: make local setup-camif in mach-s3c24xx This patch moves setup-camif from plat-samsung into mach-s3c24xx because it can be used only for s3c24xx no other platforms. Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 4c7de49a2977aa2a0f556c803afbb24848372e7a Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 29 12:18:24 2015 -0300 perf session env: Rename exit method The semantic associated in tools/perf/ with foo__delete(instance) is to release all resources referenced by 'instance' members and then release the memory for 'instance' itself. The perf_session_env__delete() function isn't doing this, it just does the first part, but the space used by 'instance' itself isn't freed, as it is embedded in a larger structure, that will be freed at other stage. For these cases we se foo__exit(), i.e. the usage is: void foo__delete(foo) { if (foo) { foo__exit(foo); free(foo); } } But when we have something like: struct bar { struct foo foo; . . . } Then we can't really call foo__delete(&bar.foo), we must have this instead: void bar__exit(bar) { foo__exit(&bar.foo); /* free other bar-> resources */ } void bar__delete(bar) { if (bar) { bar__exit(bar); free(bar); } } So just rename perf_session_env__delete() to perf_session_env__exit(). Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-djbgpcfo5udqptx3q0flwtmk@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e33e17ee1098d8d751552ac11c111e1c1a3db014 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:19 2015 -0400 btrfs: add missing discards when unpinning extents with -o discard When we clear the dirty bits in btrfs_delete_unused_bgs for extents in the empty block group, it results in btrfs_finish_extent_commit being unable to discard the freed extents. The block group removal patch added an alternate path to forget extents other than btrfs_finish_extent_commit. As a result, any extents that would be freed when the block group is removed aren't discarded. In my test run, with a large copy of mixed sized files followed by removal, it left nearly 2/3 of extents undiscarded. To clean up the block groups, we add the removed block group onto a list that will be discarded after transaction commit. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e44163e177960ee60e32a73bffdd53c3a5827406 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:18 2015 -0400 btrfs: explictly delete unused block groups in close_ctree and ro-remount The cleaner thread may already be sleeping by the time we enter close_ctree. If that's the case, we'll skip removing any unused block groups queued for removal, even during a normal umount. They'll be cleaned up automatically at next mount, but users expect a umount to be a clean synchronization point, especially when used on thin-provisioned storage with -odiscard. We also explicitly remove unused block groups in the ro-remount path for the same reason. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 499f377f49f085ee4aa214c738e948e88626f39b Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:17 2015 -0400 btrfs: iterate over unused chunk space in FITRIM Since we now clean up block groups automatically as they become empty, iterating over block groups is no longer sufficient to discard unused space. This patch iterates over the unused chunk space and discards any regions that are unallocated, regardless of whether they were ever used. This is a change for btrfs but is consistent with other file systems. We do this in a transactionless manner since the discard process can take a substantial amount of time and a transaction would need to be started before the acquisition of the device list lock. That would mean a transaction would be held open across /all/ of the discards collectively. In order to prevent other threads from allocating or freeing chunks, we hold the chunks lock across the search and discard calls. We release it between searches to allow the file system to perform more-or-less normally. Since the running transaction can commit and disappear while we're using the transaction pointer, we take a reference to it and release it after the search. This is safe since it would happen normally at the end of the transaction commit after any locks are released anyway. We also take the commit_root_sem to protect against a transaction starting and committing while we're running. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 86557861dfe4f8defde0df40620b97cc60285aa4 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:16 2015 -0400 btrfs: skip superblocks during discard Btrfs doesn't track superblocks with extent records so there is nothing persistent on-disk to indicate that those blocks are in use. We track the superblocks in memory to ensure they don't get used by removing them from the free space cache when we load a block group from disk. Prior to 47ab2a6c6a (Btrfs: remove empty block groups automatically), that was fine since the block group would never be reclaimed so the superblock was always safe. Once we started removing the empty block groups, we were protected by the fact that discards weren't being properly issued for unused space either via FITRIM or -odiscard. The block groups were still being released, but the blocks remained on disk. In order to properly discard unused block groups, we need to filter out the superblocks from the discard range. Superblocks are located at fixed locations on each device, so it makes sense to filter them out in btrfs_issue_discard, which is used by both -odiscard and FITRIM. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4d89d377bbb0e34cd1571b57a984c2326cab69b5 Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:15 2015 -0400 btrfs: btrfs_issue_discard ensure offset/length are aligned to sector boundaries It's possible, though unexpected, to pass unaligned offsets and lengths to btrfs_issue_discard. We then shift the offset/length values to sector units. If an unaligned offset has been passed, it will result in the entire sector being discarded, possibly losing data. An unaligned length is safe but we'll end up returning an inaccurate number of discarded bytes. This patch aligns the offset to the 512B boundary, adjusts the length, and warns, since we shouldn't be discarding on an offset that isn't aligned with our sector size. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d04c6b88320debb403bff8d8b634a1efa48b8d3d Author: Jeff Mahoney <jeffm@xxxxxxxx> Date: Mon Jun 15 09:41:14 2015 -0400 btrfs: make btrfs_issue_discard return bytes discarded Initially this will just be the length argument passed to it, but the following patches will adjust that to reflect re-alignment and skipped blocks. Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b5a2875605cac14a7d7744ec8254547a26c02612 Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Mon Jul 13 16:30:18 2015 +0100 usb: renesas_usbhs: Allow an OTG PHY driver to provide VBUS These changes allow a PHY driver to trigger a VBUS interrupt and to provide the value of VBUS. Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9e832bf7c011965b378bd963955e315bd0c23aa4 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:19:00 2015 +0800 usb: gadget: zero: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3dcc7053087fb58c799cd964a00a5396bec3bc9e Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:59 2015 +0800 usb: gadget: serial: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 93d39afdb8f99a11d1cbd04f4670226494bf03da Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:58 2015 +0800 usb: gadget: printer: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1156e91dd7cc3a579544286d07fd46f0162e3ec6 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:57 2015 +0800 usb: gadget: ncm: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 21ddc2a860ca69eb92ab0c48c05187f89aa6a39a Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:56 2015 +0800 usb: gadget: multi: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d867889797615761975e693881a12283ebc92b0f Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:55 2015 +0800 usb: gadget: mass_storage: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d9e1867917ccf43ebe6f0e43e19958cbdeb0d8f2 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:54 2015 +0800 usb: gadget: hid: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 75c9310a050b77a6788addf8060b533ab2d9de00 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:53 2015 +0800 usb: gadget: g_ffs: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ab6796ae98330389754b82d37bed89029d1dab51 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:52 2015 +0800 usb: gadget: cdc2: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 56023ce0fd7025154494d139b2c9891d75fee622 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:51 2015 +0800 usb: gadget: audio: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 578aa8a2b12cb4cc3cfdb6ccd56af9f5f0dd6118 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:50 2015 +0800 usb: gadget: acm_ms: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9b95236eebdbdf2ff68517cc32390683f4114a37 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:49 2015 +0800 usb: gadget: ether: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations, free it while ether unbind. If otg capability is not defined, keep its otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 41ce84c86d0a04ef70a9608bd744afb122b6d103 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:48 2015 +0800 usb: gadget: configfs: allocate and init otg descriptor by otg capabilities Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations, free it while composite unbind. If otg capability is not defined, keep its otg descriptor unchanged. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d1606dfb98e59221332704c05f5908d9116456ab Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:47 2015 +0800 usb: gadget: add usb otg descriptor allocate and init interface Allocate usb otg descriptor and initialize it according to gadget's otg capabilities, if usb_otg_caps is not set, keep settings as current gadget drivers. With this 2 new interfaces, gadget can use usb_otg_descriptor for OTG 1.x, and usb_otg20_descriptor for OTG 2.0 or above, and otg features can be decided by the combination of usb hardware property and driver config. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b0930d4cafb487a663ac6780a0369d1a0f461bc2 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:46 2015 +0800 usb: chipidea: update ci_otg_is_fsm_mode conditions After introduce usb otg properties, update ci_otg_is_fsm_mode conditions to be depending on both usb hardware properties and usb driver config, also resolve a compile issue in debug.c after the API change. Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 79742351c89b76ebcf82b73103aed50f98ac2ee4 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:45 2015 +0800 usb: chipidea: set usb otg capabilities Init and update otg capabilities by DT, set gadget's otg capabilities accordingly. Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 929412d94f2b75fe2a662afa2977bfb6a233c1c3 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:44 2015 +0800 usb: common: add API to update usb otg capabilities by device tree Check property of usb hardware to update otg version and disable SRP, HNP and ADP if its disable flag is present. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b5513dede7c90ba2370ab5eb547568a22991907b Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:43 2015 +0800 doc: dt-binding: usb: add otg related properties Add otg version, srp, hnp and adp support for usb OTG port, then those OTG features don't have to be decided by usb gadget drivers. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 53e6242db8d60da0587d36951cc9434d1a1c21dd Author: Macpaul Lin <macpaul@xxxxxxxxx> Date: Thu Jul 9 15:18:42 2015 +0800 usb: gadget: composite: add USB_DT_OTG request handling Copy usb_otg_descriptor from config's descriptor if host requests USB_DT_OTG. Signed-off-by: Macpaul Lin <macpaul@xxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 84704bb3d183e55d042bf57043552f2649443a64 Author: Macpaul Lin <macpaul@xxxxxxxxx> Date: Thu Jul 9 15:18:41 2015 +0800 usb: add usb_otg_caps to usb_gadget structure. Add usb_otg_caps pointer to usb_gadget structure to indicate its otg capabilities. Signed-off-by: Macpaul Lin <macpaul@xxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6a88bbe8e30d4beb2320b5a7452242a1fe7889c5 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Thu Jul 9 15:18:40 2015 +0800 usb: otg: add usb_otg_caps structure for otg capabilities This patch adds a structure usb_otg_caps to cover all otg related capabilities of the device, including otg revision, and if hnp/srp/adp is supported. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5d701cef9b40188c11c39be3a401bc4feeb154b8 Author: Macpaul Lin <macpaul@xxxxxxxxx> Date: Thu Jul 9 15:18:39 2015 +0800 usb: add USB_OTG_ADP definition Add USB_OTG_ADP definition for usb_otg_descriptor.bmAttributes. Signed-off-by: Macpaul Lin <macpaul@xxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8486a0bba6fc13ae60a8e402cf77c60a7d4e7a04 Author: Macpaul Lin <macpaul@xxxxxxxxx> Date: Thu Jul 9 15:18:38 2015 +0800 usb: add usb_otg20_descriptor for OTG 2.0 and above OTG 2.0 introduces bcdOTG in otg descriptor to identify the OTG and EH supplement release number with which the OTG device is compliant, this patch adds structure usb_otg20_descriptor for OTG 2.0 and above. Signed-off-by: Macpaul Lin <macpaul@xxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d91de093d94eca6e280e50c24b172ed598bb5724 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Jul 8 16:41:40 2015 +0200 usb: musb: sunxi: Add support for musb controller in A33 SoC The A33 SoC uses the same musb controller as found on the A31 and later, but allwinner has removed the configdata register, this commit adds special handling for this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 132e23775779cc895c37f7883c33a60a1a8a7cdd Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Jul 8 16:41:39 2015 +0200 usb: musb: sunxi: Add support for musb controller in A31 SoC The A31 SoC uses the same musb controller as found in earlier SoCs, but it is hooked up slightly different. Its SRAM is private and no longer controlled through the SRAM controller, and its reset is controlled via a separate reset controller. This commit adds support for this setup. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 744543c599c420bcddca08cd2e2713b82a008328 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Jul 8 16:41:38 2015 +0200 usb: musb: sunxi: Add support for the Allwinner sunxi musb controller This is based on initial code to get the Allwinner sunxi musb controller supported by Chen-Yu Tsai and Roman Byshko. This adds support for the Allwinner sunxi musb controller in both host only and otg mode. Peripheral only mode is not supported, as no boards use that. This has been tested on a cubietruck (A20 SoC) and an UTOO P66 tablet (A13 SoC) with a variety of devices in host mode and with the g_serial gadget driver in peripheral mode, plugging otg / host cables in/out a lot of times in all possible imaginable plug orders. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4cfbd95232dd6194c04d432d1a8ac45cec269d8b Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon May 4 14:55:15 2015 +0200 usb: gadget: f_obex: use bind_deactivated flag Use bind_deactivated flag instead of calling usb_function_deactivate() in function bind(). Field 'can_activate' in struct f_obex is no longer needed as setting 'bind_deactivated' flag makes us sure, that the function will be binded only if deactivation can be performed successfully. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f277bf27cf5cd56bcd1c4b95ae140f61680a6e83 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon May 4 14:55:14 2015 +0200 usb: gadget: f_uvc: use bind_deactivated flag Use bind_deactivated flag instead of calling usb_function_deactivate() in function bind(). Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d5bb9b81dbfa35d117ecb58022ee6e7e41e4772d Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon May 4 14:55:13 2015 +0200 usb: composite: add bind_deactivated flag to usb_function This patch introduces 'bind_deactivated' flag in struct usb_function. Functions which don't want to be activated automatically after bind should set this flag, and when they start to be ready to work they should call usb_function_activate(). When USB function sets 'bind_deactivated' flag, initial deactivation counter is incremented automatically, so there is no need to call usb_function_deactivate() in function bind. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5601250bb1b4e736cf487d332f2d8d8833a84209 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon May 4 14:55:12 2015 +0200 usb: composite: fix usb_function_activate/deactivate functions Using usb_gadget_disconnect to make gadget temporarily invisible to host doesn't provide desired result, because gadget is connected immediately after binding regardless to previous usb_gadget_disconnect() calls. For this reason we use usb_gadget_deactivate() instead of usb_gadget_disconnect() to make it working as expected. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ccdf138fe3e243c70301fcb6a101e366b7daef07 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon May 4 14:55:11 2015 +0200 usb: gadget: add usb_gadget_activate/deactivate functions These functions allows to deactivate gadget to make it not visible to host and make it active again when gadget driver is finally ready. They are needed to fix usb_function_activate() and usb_function_deactivate() functions which currently are not working as usb_gadget_connect() is called immediately after function bind regardless to previous calls of usb_gadget_disconnect() function. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 351169933ea22592fb42b97c76c4c130fe287cca Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Jul 8 17:57:40 2015 +0300 usb: phy: qcom: New APQ8016/MSM8916 USB transceiver driver Driver handles PHY initialization, clock management, power management and workarounds required after resetting the hardware. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 75ddead2a77db61e818bc0cbe330a856a912f4d9 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Jul 20 20:15:19 2015 +0200 usb: gadget: storage-common: Set FSG_MAX_LUNS to 16 Mass storage spec allows up to 16 LUNs, so let's not add some more restrictive limits. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bab7a1f199fa617c7a0600c74ebbb514aed6dbe8 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Jul 20 20:15:18 2015 +0200 usb: gadget: mass_storage: Place EXPORT_SYMBOL_GPL() after func definition EXPORT_SYMBOL_GPL() is usually placed after function definition not before. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 903588a99c26ed6f103eaa0cfa4ccbe9cd779398 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Jul 20 20:15:17 2015 +0200 usb: gadget: mass_storage: Free buffers if create lun fails Creation of LUN 0 may fail (for example due to ENOMEM). As fsg_common_set_num_buffers() does some memory allocation we should free it before it becomes unavailable. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit aa7399744dd02537523b7bf9e3070600b6f79751 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jul 20 14:48:13 2015 -0500 usb: dwc3: gadget: defer endpoint name change We should only change endpoint names when we actually manage to enable/disable it. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7eaeac5c0e44921eb583d5b59b9c54741ecaa899 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jul 20 14:46:15 2015 -0500 usb: dwc3: gadget: add a trace when disabling EPs We have a "Enabling %s" trace when enabling an endpoint but that message felt lonely without a matching "Disabling %s". Add it. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d9972f470bcb40947dd91af90f17f9cb01db1f41 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jul 7 13:45:23 2015 -0500 usb: dwc3: core: remove unnecessary dev_warn() When a SoC supports both PHY interfaces but doesn't define HSPHY in DT/pdata, we will get an unnecessary dev_warn() which can mislead users into thinking that they're missing something. Instead, let's just silently rely on a correct default. If the HW default is wrong, then HSPHY is required and USB won't work, this will be motivation enough for engineers to patch their way into a working setup. Reported-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 88167fc0b22aac0fe7b9c4fadf9c251a9f864f32 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Jul 6 11:09:49 2015 +0200 usb: pass flags parameter to gpiod_get functions Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Currently this parameter is made optional with the help of a cpp trick. To allow dropping this hack convert callers to explictly pass a value for flags. Acked-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2df033ca39b56605725384bac1579cdd30e052a6 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Jul 6 11:09:48 2015 +0200 usb: dwc3: pci: make better use of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Use this additional parameter and the _optional variant to simplify the driver and improve error handling. Also expand the comment to explain why it's not sensible to switch to devm_gpiod_get and why the gpiod_put is also necessary. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Tested-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 83b7b67c780500a1d5d87c44ee8963166154adfa Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 1 13:11:34 2015 +0900 usb: phy: msm-usb: Replace deprecated API of extcon This patch removes the deprecated notifier API of extcon framwork and then use the new extcon API with the unique id to indicate the each external connector (USB, USB-HOST). Alter deprecated API as following: - extcon_register_interest() -> extcon_register_notifier() - extcon_get_cable_state(*edev, char *) -> extcon_get_cable_state_(*edev, id) Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 50297b79b8fd426f678431a8e9dcee59afd33ec8 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 1 13:11:33 2015 +0900 usb: renesas_usbhs: Replace deprecated API of extcon This patch removes the deprecated API of extcon and then use the new extcon API with the unique id to indicate the each external connector (USB-HOST). - extcon_get_cable_state(*edev, char *) -> extcon_get_cable_state_(*edev, id) Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Cc: Peter Chen <peter.chen@xxxxxxxxxxxxx> Cc: Varka Bhadram <varkab@xxxxxxx> Cc: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 860d2686fda7e4dceaa4e676e62adcdbfc7f7a2c Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 1 13:11:32 2015 +0900 usb: phy: tahvo: Use devm_extcon_dev_[allocate|register]() and replace deprecated API This patch uses the devm_extcon_dev_[allocate|register]() to manage the resource automatically and replace deprecated API as following: - extcon_[set|get]_cable_state(*edev, char *) -> extcon_[set|get]_cable_state_(*edev, id) Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a2fd2423240fe1abd7a154a1cc0fd1624c339bff Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 1 13:11:31 2015 +0900 usb: phy: omap-otg: Replace deprecated API of extcon This patch removes the deprecated notifier API of extcon framwork and then use the new extcon API with the unique id to indicate the each external connector (USB, USB-HOST). Alter deprecated API as following: - extcon_register_interest() -> extcon_register_notifier() - extcon_get_cable_state(*edev, char *) -> extcon_get_cable_state_(*edev, id) [ balbi@xxxxxx : fix build break ] Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5960387a2fb8314687351f6d8485cf62d7722b4e Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 1 13:11:30 2015 +0900 usb: dwc3: omap: Replace deprecated API of extcon This patch removes the deprecated notifier API of extcon framwork and then use the new extcon API with the unique id to indicate the each external connector (USB, USB-HOST). Alter deprecated API as following: - extcon_register_interest() -> extcon_register_notifier() - extcon_get_cable_state(*edev, char *) -> extcon_get_cable_state_(*edev, id) Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b5c03bffa67727697252e913f64703e3404867ae Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Jun 10 16:04:25 2015 +0530 usb: udc: Convert use of __constant_cpu_to_leXX to cpu_to_leXX In big endian cases, the macro cpu_to_le{16,32} unfolds to __swab{16,32} which provides special case for constants. In little endian cases, __constant_cpu_to_le{16,32} and cpu_to_le{16,32} expand directly to the same expression. So, replace __constant_cpu_to_le{16,32} with cpu_to_le{16,32} with the goal of getting rid of the definition of __constant_cpu_to_le{16,32} completely. The semantic patch that performs this transformation is as follows: @@expression x;@@ ( - __constant_cpu_to_le16(x) + cpu_to_le16(x) | - __constant_cpu_to_le32(x) + cpu_to_le32(x) ) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ad4676ab58ae38e5597a2d6bc0d12e9b5e0b0d18 Author: Diego Viola <diego.viola@xxxxxxxxx> Date: Sun May 31 15:52:41 2015 -0300 usb: gadget: composite.c: i18n is not an acronym I18N should be spelled as i18n because it's not an acronym Signed-off-by: Diego Viola <diego.viola@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b8464bcf0a20970471e8f897fe4706fcc2702263 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Jun 6 07:02:53 2015 +0530 usb: gadget: Convert use of __constant_cpu_to_le16 to cpu_to_le16 In big endian cases, macro cpu_to_le16 unfolds to __swab16 which provides special case for constants. In little endian cases, __constant_cpu_to_le16 and cpu_to_le16 expand directly to the same expression. So, replace __constant_cpu_to_le16 with cpu_to_le16 with the goal of getting rid of the definition of __constant_cpu_to_le16 completely. The semantic patch that performs this transformation is as follows: @@expression x;@@ - __constant_cpu_to_le16(x) + cpu_to_le16(x) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d3c1ac4a69667300996ea76fe25c33434372a2a8 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Fri Jun 19 12:16:45 2015 +0200 usb: gadget: SourceSink: Remove out-of-date comment As SourceSink function has been reworked for ConfigFS composite gadget this comment is no longer valid. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e425be9304ce4da9cd231b55630ca941752635e9 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Fri Jun 19 12:05:05 2015 +0200 usb: gadget: loopback: Remove out-of-date comment As loopback function has been reworked for ConfigFS composite gadget this comment is no longer valid. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9fcfa463e17adc48865b1a4124d48d48e0b59556 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:51:49 2015 -0500 usb: dwc3: drop CONFIG_USB_DWC3_DEBUG now that we have no users of dev_dbg() in dwc3, we can safely remove CONFIG_USB_DWC3_DEBUG. If dev_dbg() is ever strictly necessary - and I don't see why it would, considering we want to rely on tracepoints for debug - we will depend on DYNAMIC_PRINTK to enable such messages. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e746b06cc76afea568c7d53f83a834dc8d720da1 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:50:46 2015 -0500 usb: dwc3: st: remove two unnecessary messages the mode of operation is exposed through debugfs at all times. Because of that, we're removing the unnecessary messages. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2babd0d148a365728649addaaa09bfb690ce6b83 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:48:58 2015 -0500 usb: dwc3: qcom: switch dev_dbg() to dev_info() those two messages are informing that the clock doesn't exist; that, however, is a valid situation and driver continues just fine by ignoring the error. Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 42f69a02e7ab42f1ec75b91faf05b86e75de794a Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:47:45 2015 -0500 usb: dwc3: exynos: switch dev_dbg() to dev_info() that message is informing that the clock is missing. However, that's a valid condition for some setups; driver even ignores the error and continues just fine. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9ff0fdca3b628d3f8719237cbc8f148379527108 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:46:53 2015 -0500 usb: dwc3: keystone: convert dev_dbg() to dev_err() that's an error condition, not a debugging message. Let's promote it appropriately. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e4f7566754675b2fd89ed32eee867d5f19bac934 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 30 12:46:07 2015 -0500 usb: dwc3: omap: drop dev_dbg() usage Some of the messages were plain unnecessary and some were actually errors. Fix it all up. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5a350d53f4c4784cf6bb4d94e7b8d76ca4f96e9f Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Jun 29 20:17:22 2015 -0500 usb: dwc2: gadget: use | instead of + for bitmasks It's just a lot clearer to use | operator instead of + operator. Caught by coccicheck: " drivers/usb/dwc2/gadget.c:2883:26-27: WARNING: sum of probable bitmasks, consider | " Cc: John Youn <John.Youn@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5ea75095fe6d683900ccc674fcac375e7df68005 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Mon Jun 8 08:20:05 2015 +0200 usb: gadget: nokia: Add mass storage driver to g_nokia This patch adds removable mass storage support to g_nokia gadget (for N900). It means that at runtime block device can be exported or unexported. So it does not export anything by default and thus allows to use MyDocs partition as before... [ balbi@xxxxxx: make it build ] Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2c68f6dc6e621153a708bef6c569805762da2020 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Jul 28 13:14:32 2015 -0600 block: shrink struct bio down to 2 cache lines again Commit bcf2843b3f8f added ->bi_error to cleanup the error passing for struct bio, but that ended up adding 4 bytes and a 4 byte hole to the size of struct bio. For a clean config, that bumped it from 128 bytes, to 136 bytes, on x86-64. The ->bi_flags member is currently an unsigned long, but it fits easily within an int. Change it to an unsigned int, adjust the the pool offset code, and move ->bi_error into the new hole. Then we end up with a 128 byte bio again. Change the bio flag set/clear to use cmpxchg to ensure we don't lose any flags when manipulating them. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b7c44ed9d2fc6b461378c65eaf144ccc80a47772 Author: Jens Axboe <axboe@xxxxxx> Date: Fri Jul 24 12:37:59 2015 -0600 block: manipulate bio->bi_flags through helpers Some places use helpers now, others don't. We only have the 'is set' helper, add helpers for setting and clearing flags too. It was a bit of a mess of atomic vs non-atomic access. With BIO_UPTODATE gone, we don't have any risk of concurrent access to the flags. So relax the restriction and don't make any of them atomic. The flags that do have serialization issues (reffed and chained), we already handle those separately. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4246a0b63bd8f56a1469b12eafeb875b1041a451 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Jul 20 15:29:37 2015 +0200 block: add a bi_error field to struct bio Currently we have two different ways to signal an I/O error on a BIO: (1) by clearing the BIO_UPTODATE flag (2) by returning a Linux errno value to the bi_end_io callback The first one has the drawback of only communicating a single possible error (-EIO), and the second one has the drawback of not beeing persistent when bios are queued up, and are not passed along from child to parent bio in the ever more popular chaining scenario. Having both mechanisms available has the additional drawback of utterly confusing driver authors and introducing bugs where various I/O submitters only deal with one of them, and the others have to add boilerplate code to deal with both kinds of error returns. So add a new bi_error field to store an errno value directly in struct bio and remove the existing mechanisms to clean all this up. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 62d6d47cb8bd5ace08a90a1cd78f6908e9f9c2d3 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Jul 27 09:39:43 2015 +0800 ASoC: max98090: Simplify max98090_readable_register implementation The readable registers are in consecutive ranges: 0x01 ~ 0x03, 0x0D ~ 0xD1, 0xFF So simplify the implementation by specifying a range of consecutive values in a single case label. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d32e03f0b6f9b4ad260feca1c5c938a882066de9 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:28 2015 +0200 ASoC: xtfpga-i2s: Add missing __rcu annotation tx_substeam is accessed using the RCU API and hence should have the __rcu annotation. Fixes the following sparse warnings: sound/soc/xtensa/xtfpga-i2s.c:165:24: error: incompatible types in comparison expression (different address spaces) sound/soc/xtensa/xtfpga-i2s.c:165:24: error: 'struct snd_pcm_substream [noderef] <asn:4>*' versus sound/soc/xtensa/xtfpga-i2s.c:165:24: error: 'struct snd_pcm_substream *' sound/soc/xtensa/xtfpga-i2s.c:255:24: error: incompatible types in comparison expression (different address spaces) sound/soc/xtensa/xtfpga-i2s.c:255:24: error: 'struct snd_pcm_substream [noderef] <asn:4>*' versus sound/soc/xtensa/xtfpga-i2s.c:255:24: error: 'struct snd_pcm_substream *' Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85cf604edc18722140f73e225394722801e55de0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:27 2015 +0200 ASoC: uniperf: Staticise local symbols uni_player_dai_ops is not used outside of this file so it should be static. Fixes the following sparse warning: sound/soc/sti/uniperif_player.c:959:30: warning: symbol 'uni_player_dai_ops' was not declared. Should it be static? Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b917abb4064b38b0613e953b09213e788ad94ad0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:26 2015 +0200 ASoC: uniperf: Add missing __iomem annotation base referes to a iomem region, so it should have the __iomem annotation. Fixes the following warnings from sparse: sound/soc/sti/sti_uniperif.c:169:19: warning: incorrect type in assignment (different address spaces) sound/soc/sti/sti_uniperif.c:169:19: expected void *base sound/soc/sti/sti_uniperif.c:169:19: got void [noderef] <asn:2>* sound/soc/sti/uniperif_player.c:104:18: warning: incorrect type in argument 1 (different address spaces) sound/soc/sti/uniperif_player.c:104:18: expected void const volatile [noderef] <asn:2>*addr sound/soc/sti/uniperif_player.c:104:18: got void * [...] Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e773c2f964640e103cc75a45aa4555c73ba55c29 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:25 2015 +0200 ASoC: rcar ctu: Staticise local symbols rsnd_of_parse_ctu() is not used outside this file so it can be static. Fixes the following sparse warning: sound/soc/sh/rcar/ctu.c:72:6: warning: symbol 'rsnd_of_parse_ctu' was not declared. Should it be static? Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eccad574ef2d74e7519a092d9822932a27c6f165 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:24 2015 +0200 ASoC: lpass-ipq806x: Staticise local symbols ipq806x_data is not used outside this file, so it can be static. Fixes the following sparse warning: sound/soc/qcom/lpass-ipq806x.c:76:22: warning: symbol 'ipq806x_data' was not declared. Should it be static? Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c8a6b92be8516c92cf46bc127fa0adf53a05d31c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 27 10:56:23 2015 +0200 ASoC: wm8804: Drop duplicate const SOC_ENUM_SINGLE_DECL() already includes a const, drop the extra const. Fixes the following sparse warning: sound/soc/codecs/wm8804.c:101:14: warning: duplicate const Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c020e378b2b388b712a40dce2da6d437d2b6e0e0 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 29 07:34:10 2015 +0000 spi: bcm2835: fix overflow in calculation of transfer time This resulted in the use of polling mode when other approaches (dma or interrupts) would have been more appropriate. Happened for transfers longer than 477 bytes. Reported-by: Noralf Tronnes <noralf@xxxxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26a67ec47a4c58fe79c6421c3dc3d697d322d2d6 Author: Lars Persson <lars.persson@xxxxxxxx> Date: Wed Jul 29 09:32:02 2015 +0200 spi: Fix regression in spi-bitbang-txrx.h This patch fixes a regression introduced by commit 232a5adc5199 ("spi: bitbang: only toggle bitchanges"). The attempt to optimize writes of consecutive bit patterns broke most of the combinations of word size and SPI modes due to selecting the wrong bit as the MSB value. Fixes: 232a5adc5199 (spi: bitbang: only toggle bitchanges) Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b10c7f3cc948107fb992d3a14eeaa0fdfb5c95da Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Tue Jul 28 11:34:11 2015 +0300 regulator: max8973: Set VSEL regmap ops if DVS GPIO is not set Use regmap helpers for get_voltage_sel and set_voltage_sel ops if the DVS GPIO is not set. The DVS GPIO allows on the fly selection of the VSEL register from two choices. However, if it is not set, the VSEL register will stay fixed and we can use the regmap ops. This allows use of the *hardware_vsel* regulator APIs. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85e7118412fea31464b62d00bcf4a65fa8904dcc Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 28 13:39:01 2015 +0800 ASoC: wm8983: Get rid of wm8983_access_masks table The max8983_access table is used for look up readable/writable attributes of registers. The writable registers are mostly in continuous ranges, so we can replace max8983_access table by using case range. The read fields are all 0, so just drop implement of .readable callback. Also set .max_register setting. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5549ce82e29c6c1a45ad36a871096ae7c53e53b9 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 28 13:30:14 2015 +0800 ASoC: max98095: Get rid of max98095_access table The max98095_access table is used for look up readable/writable attributes of registers. The readable/writable/volatile registers are mostly in continuous ranges, so we can replace the max98095_access table entirely by using case range. Below is a summary of the readable/writeable/volatile registers: readable registers: 0x01 ~ 0x97, 0xFF writeable registers: 0x0F ~ 0x97 volatile registers: 0x00 ~ 0x0E, 0x98 ~ 0xFF This patch reworks the implement for .readable and .volatile and also add implementation for .writable callback. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f102aa1414d9aa28491414cf4103bad1ddb3ea1f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 28 13:29:00 2015 +0800 ASoC: max98088: Get rid of max98088_access table The max98088_access table is used for look up readable/writable/volatile attributes of registers. The readable/writable/volatile registers are mostly in continuous ranges, so we can replace the max98088_access table entirely by using case range. Below is a summary of the readable/writeable/volatile registers: readable registers: 0x00 ~ 0xC9, 0xFF writeable registers: 0x03 ~ 0xC9 volatile registers: 0x00 ~ 0x03, 0xFF Note, 0x00 should be read-only according to the datasheet. This patch reworks the implement for .readable and .volatile and also add implementation for .writable callback. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f785f2357673d520a0b7b468973cdd197f336494 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Jul 28 12:01:33 2015 -0300 perf symbols: Fix mismatched declarations for elf_getphdrnum When HAVE_ELF_GETPHDRNUM_SUPPORT is false we trip on this problem: CC /tmp/build/perf/util/symbol-elf.o util/symbol-elf.c:41:12: error: static declaration of â??elf_getphdrnumâ?? follows non-static declaration static int elf_getphdrnum(Elf *elf, size_t *dst) ^ In file included from util/symbol.h:19:0, from util/symbol-elf.c:8: /usr/include/libelf.h:206:12: note: previous declaration of â??elf_getphdrnumâ?? was here extern int elf_getphdrnum (Elf *__elf, size_t *__dst); ^ MKDIR /tmp/build/perf/bench/ /home/git/linux/tools/build/Makefile.build:68: recipe for target '/tmp/build/perf/util/symbol-elf.o' failed make[3]: *** [/tmp/build/perf/util/symbol-elf.o] Error 1 Fix it. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-qcmekyfedmov4sxr0wahcikr@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 58b32c1b538f2d197ce385d6a314e83f8b787021 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Jul 27 17:13:21 2015 -0300 perf python: Make twatch.py use soft dummy event, freq=0 To not sample, what we want are just the PERF_RECORD_ lifetime events for threads, using the default, PERF_TYPE_HARDWARE + PERF_COUNT_HW_CYCLES and freq=1 (the default), makes perf reenable irq_vectors:local_timer_entry, disabling nohz, not good for some use cases where all we want is to get notifications when threads comes and goes... Fix it by using PERF_TYPE_SOFTWARE (no counter rotation) and PERF_COUNT_SW_DUMMY (created by Adrian so that we could have access to those PERF_RECORD_ goodies). Reported-by: Luiz Fernando Capitulino <lcapitulino@xxxxxxxxxx> Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jaroslav Skarvada <jskarvad@xxxxxxxxxx> Cc: Jeremy Eder <jeder@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kfsijirfrs6xfhkcdxeoen06@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 84576da2f72e51be63c5b63c0e297028fa7ac59f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 24 13:04:09 2015 -0300 perf python: Add missing PERF_RECORD_{MMAP2,AUX,etc} Those were added to the kernel and tooling but we forgot to expose them via the python binding, fix it. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-sg1m6t2c58gchidfce4hmitg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5865fe361a234e50b5217da3edd2c5571fffc7fd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 24 13:00:03 2015 -0300 perf python: Add macro to simplify maintainance of the constants array Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ffuchgsbr5mqu91xl9oggfss@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 959c2199d4c0e330d17f1f5234527e87132d5e07 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 24 12:13:05 2015 -0300 perf python: Remove dependency on 'machine' methods The python binding still doesn't provide symbol resolving facilities, but the recent addition of the trace_event__register_resolver() function made it add as a dependency the machine__resolve_kernel_addr() method, that in turn drags all the symbol resolving code. The problem: [root@zoo ~]# perf test -v python 17: Try 'import perf' in python, checking link problems : --- start --- test child forked, pid 6853 Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: /tmp/build/perf/python/perf.so: undefined symbol: machine__resolve_kernel_addr test child finished with -1 ---- end ---- Try 'import perf' in python, checking link problems: FAILED! [root@zoo ~]# Fix it by requiring this function to receive the resolver as a parameter, just like pevent_register_function_resolver(), i.e. do not explicitely refer to an object file not included in tools/perf/util/python-ext-sources. [root@zoo ~]# perf test python 17: Try 'import perf' in python, checking link problems : Ok [root@zoo ~]# Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Fixes: c3168b0db93a ("perf symbols: Provide libtraceevent callback to resolve kernel symbols") Link: http://lkml.kernel.org/n/tip-vxlhh95v2em9zdbgj3jm7xi5@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 011710e2ab659c7ad6e5e554806414bd7a9508be Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Mon Jul 27 13:11:15 2015 +0100 spi: img-spfi: check for timeout error before proceeding Calling spfi_wait_all_done is not required if the transfer has timed out before all data is transferred. spfi_wait_all_done polls for Alldone interrupt which is triggered to mark the transfer as complete and to indicate it is now safe to issue a new transfer. Fixes: 8c2c8c0 ("spi: img-spfi: Control CS lines with GPIO") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit de734f89b67c2df30e35a09e7e56a3659e5b6ac6 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Thu Jun 11 18:07:12 2015 +0200 nohz: Remove useless argument on tick_nohz_task_switch() Leftover from early code. Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 59d2c7ca492d7a7093755e4108390e4dac8b6365 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri May 29 14:42:15 2015 +0200 nohz: Move tick_nohz_restart_sched_tick() above its users Fix the function declaration/definition dance. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 73738a95d00467812664b7f86ba3052f5faf96d7 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed May 27 19:22:08 2015 +0200 nohz: Restart nohz full tick from irq exit Restart the tick when necessary from the irq exit path. It makes nohz full more flexible, simplify the related IPIs and doesn't bring significant overhead on irq exit. In a longer term view, it will allow us to piggyback the nohz kick on the scheduler IPI in the future instead of sending a dedicated IPI that often doubles the scheduler IPI on task wakeup. This will require more changes though including careful review of resched_curr() callers to include nohz full needs. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 594493594373862ed2a7f91d88a5a2670742faa6 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Wed May 27 15:42:42 2015 +0200 nohz: Remove idle task special case On nohz full early days, idle dynticks and full dynticks weren't well integrated and we couldn't risk full dynticks calls on idle without risking messing up tick idle statistics. This is why we prevented such thing to happen. Nowadays full dynticks and idle dynticks are better integrated and interact without known issue. So lets remove that. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 03f6199a359e460714b6bd08c10b566760f150a6 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Fri Jul 10 15:37:25 2015 -0400 nohz: Prevent tilegx network driver interrupts Normally the tilegx networking shim sends irqs to all the cores to distribute the load of processing incoming-packet interrupts, so that you can get to multiple Gb's of traffic inbound. However, in nohz_full mode we don't want to interrupt the nohz_full cores by default, so we limit the set of cores we use to only the online housekeeping cores. To make client code easier to read, we introduce a new nohz_full accessor, housekeeping_cpumask(), which returns a pointer to the housekeeping_mask if nohz_full is enabled, and otherwise returns the cpu_possible_mask. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 2019e8a3024bd8fcadd57891a88c838849216a5f Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Mon Oct 27 17:20:35 2014 +0100 alpha: Fix jiffies based cputime assumption That code wrongly assumes that cputime_t wraps jiffies_t. Lets use the correct accessors/mutators. In practice there should be no harm yet because alpha currently only support tick based cputime accounting which is always jiffies based. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc; John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 031a7f456adecaff692bc040b31a7d2262b4ee56 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Mon Oct 27 17:16:04 2014 +0100 apm32: Fix cputime == jiffies assumption That code wrongly assumes that cputime_t wraps jiffies_t. Lets use the correct accessors/mutators. No real harm now as that code can't be used with full dynticks. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc; John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit e075867681ca9b8c0b8823e24d0fb4ce3b4f2655 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri Oct 10 02:44:01 2014 +0200 jiffies: Remove HZ > USEC_PER_SEC special case HZ never goes much further 1000 and a bit. And if we ever reach one tick per microsecond, we might be having a problem. Lets stop maintaining this special case, just leave a paranoid check. Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc; John Stultz <john.stultz@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit e63bfd45aba4269811662de0954785622a2ac928 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Jul 26 19:05:00 2015 +0200 ASoC: dapm: Add widget path iterators Add helper iterator macros for iterating over the source and sink paths of widget. This will make it easier to change the implementation later on. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ce43acff0c078fd560ee0f2a4ae10b8da28e388 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Jul 26 19:04:59 2015 +0200 ASoC: dapm: Simplify list creation in dapm_dai_get_connected_widgets() When running dapm_dai_get_connected_widgets() currently in is_connected_{input,output}_ep() for each widget that gets added the array is resized and the code also loops over all existing entries to avoid adding a widget multiple times. The former can be avoided by collecting the widgets in a linked list and only once we have all widgets allocate the array. The later can be avoided by changing when the widget is added. Currently it is added when walking the neighbor lists of a widget. Since a widget can be neighbors with multiple other widgets it could get added twice and hence the check is necessary. But the main body of is_connected_{input,output}_ep is guaranteed to be only executed at most once per widget. So adding the widget to the list at the beginning of the function automatically makes sure that each widget gets only added once. The only difference is that using this method the starting point itself will also end up on the list, but it can easily be skipped when creating the array. Overall this reduces the code size and speeds things slightly up. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 787126ebdb9821f1a19b1dfd1ab1bbb74b8c80b8 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Jul 26 19:04:58 2015 +0200 ASoC: dapm: Drop always true checks list_first_entry() always returns non NULL and since the code previously checked that list is not empty it will also be a valid pointer. Furthermore a path has always a sink or a source widget. So both checks are redundant and can be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82cf77a1bd61d981184a355742a9b5c78f286f97 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Jul 25 15:32:16 2015 +0800 ASoC: tas2552: Remove unneeded NULL test for tas2552->enable_gpio It's safe to call gpiod_set_value() with NULL desc. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f8163c8673efaabb361281a2759b3167d181ecf6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Jul 25 10:23:40 2015 +0800 ASoC: rt5677: Return error if devm_gpiod_get_optional return ERR_PTR If devm_gpiod_get_optional() return ERR_PTR, it means something wrong so request gpio fails. We had better return error in such case. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c847fe8895fded71d0b9a0ba58d3828320fd1824 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 11:06:34 2015 +0200 KVM: x86: remove unnecessary memory barriers for shared MSRs There is no smp_rmb matching the smp_wmb. shared_msr_update is called from hardware_enable, which in turn is called via on_each_cpu. on_each_cpu and must imply a read memory barrier (on x86 the rmb is achieved simply through asm volatile in native_apic_mem_write). Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d71ba788345c2b5646101766e0c52714a9b5ed7f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 11:56:48 2015 +0200 KVM: move code related to KVM_SET_BOOT_CPU_ID to x86 This is another remnant of ia64 support. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9a1d78a3780e0e37eeff11b377fc5fbb01446a36 Author: Ð?иколай Ð?Ñ?дÑ?Ñ?вÑ?ев <nkudriavtsev@xxxxxxxxx> Date: Tue Jul 21 13:31:52 2015 +0300 HID: chicony: Add support for Acer Aspire Switch 12 Acer Aspire Switch 12 keyboard Chicony's controller reports too big usage index on the 1st interface. The patch fixes the report. The work based on solution from drivers/hid/hid-holtek-mouse.c Bug report: https://bugzilla.kernel.org/show_bug.cgi?id=101721 Signed-off-by: Nicholas Kudriavtsev <nkudriavtsev@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit c873d9aba7c9782b4dc74488ab964ed6cf54678f Author: Simon Wood <simon@xxxxxxxxxxxxx> Date: Thu Jul 23 19:10:03 2015 -0600 HID: hid-lg: Add USBID for Logitech G29 Wheel Since this wheel is now available, and the USBID is listed on their website, this patch adds it to allow the hid-lg4ff force feedback driver to find it. I do not have this wheel to test with, but this should at least get it working in emulation mode. Note: There is probably more work required for adjust HID descriptor and handle switching between emulation and native modes. Signed-off-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 554726d33c20791653dbd1c047c83f93459bc586 Merge: 5492830 c92ea7b Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 12:53:58 2015 +0200 Merge tag 'kvm-s390-next-20150728' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-next KVM: s390: Fixes and features for kvm/next (4.3) 1. Rework logging infrastructure (s390dbf) to integrate feedback learned when debugging performance and test issues 2. Some cleanups and simplifications for CMMA handling 3. Fix gdb debugging and single stepping on some instructions 4. Error handling for storage key setup commit c92ea7b9f7d256cabf7ee08a7627a5227e356dec Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Jul 22 15:52:10 2015 +0200 KVM: s390: log capability enablement and vm attribute changes Depending on user space, some capabilities and vm attributes are enabled at runtime. Let's log those events and while we're at it, log querying the vm attributes as well. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 78f2613168eca83a218272aa12b680a365ee58d6 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Jul 22 15:50:58 2015 +0200 KVM: s390: Provide global debug log In addition to the per VM debug logs, let's provide a global one for KVM-wide events, like new guests or fatal errors. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> commit 7cbde76b3d55ee299568eb943854c425b015b30c Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Jul 21 12:44:57 2015 +0200 KVM: s390: adapt debug entries for instruction handling Use the default log level 3 for state changing and/or seldom events, use 4 for others. Also change some numbers from %x to %d and vice versa to match documentation. If hex, let's prepend the numbers with 0x. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 1cb9cf726efeb77e05ee4f27f32700c46ecb1b8a Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Jul 20 15:04:48 2015 +0200 KVM: s390: improve debug feature usage We do not use the exception logger, so the 2nd area is unused. Just have one area that is bigger (32 pages). At the same time we can limit the debug feature size to 7 longs, as the largest user has 3 parameters + string + boiler plate (vCPU, PSW mask, PSW addr) Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit f2d2eb9d05b7d03acff0589e5fd8c13a0031cb6c Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Jul 20 22:05:55 2015 +0200 KVM: s390: remove outdated documentation The old Documentation/s390/kvm.txt file is either outdated or described in Documentation/virtual/kvm/api.txt. Let's get rid of it. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> commit a37281b63681015b12c3b7322e6bd681c0ea1ef4 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 21 13:45:08 2014 +0100 KVM: s390: more irq names for trace events This patch adds names for missing irq types to the trace events. In order to identify adapter irqs, the define is moved from interrupt.c to the other basic irq defines in uapi/linux/kvm.h. Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 3f24ba150cb6be11222ced427f2997c33fbd665e Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 9 14:08:18 2015 +0200 KVM: s390: Fixup interrupt vcpu event messages and levels This reworks the debug logging for interrupt related logs. Several changes: - unify program int/irq - improve decoding (e.g. use mcic instead of parm64 for machine check injection) - remove useless interrupt type number (the name is enough) - rename "interrupt:" to "deliver:" as the other side is called "inject" - use log level 3 for state changing and/or seldom events (like machine checks, restart..) - use log level 4 for frequent events - use 0x prefix for hex numbers - add pfault done logging - move some tracing outside spinlock Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> commit ab7090a611c6f4ea327c811c08458147e54130d2 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 16 10:24:07 2015 +0200 KVM: s390: add more debug data for the pfault diagnoses We're not only interested in the address of the control block, but also in the requested subcommand and for the token subcommand, in the specified token address and masks. Suggested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> commit ed2afcfa13e9c44340780123a07350e14bacd4b5 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 10:33:03 2015 +0200 KVM: s390: remove "from (user|kernel)" from irq injection messages The "from user"/"from kernel" part of the log/trace messages is not always correct anymore and therefore not really helpful. Let's remove that part from the log + trace messages. For program interrupts, we can now move the logging/tracing part into the real injection function, as already done for the other injection functions. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 71db35d26dbacd3d165522022ecb757ddc1529ea Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Jul 10 15:27:20 2015 +0200 KVM: s390: VCPU_EVENT cleanup for prefix changes SPX (SET PREFIX) and SIGP (Set prefix) can change the prefix register of a CPU. As sigp set prefix may be handled in user space (KVM_CAP_S390_USER_SIGP), we would not log the changes triggered via SIGP in that case. Let's have just one VCPU_EVENT at the central location that tracks prefix changes. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> commit 15e8b5daabe37b56e8117957ea1a10e99d380ac4 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 9 13:43:41 2015 +0200 KVM: s390: Improve vcpu event debugging for diagnoses Let's add a vcpu event for the page reference handling and change the default debugging level for the ipl diagnose. Both are not frequent AND change the global state, so lets log them always. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 175a5c9e79b0eb822c158a6535f44a8460b40664 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Jul 7 15:19:32 2015 +0200 KVM: s390: add kvm stat counter for all diagnoses Sometimes kvm stat counters are the only performance metric to check after something went wrong. Let's add additional counters for some diagnoses. In addition do the count for diag 10 all the time, even if we inject a program interrupt. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> commit c348915585af12a7fc6453524d9835830dba574b Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 13:17:11 2015 +0200 KVM: s390: only reset CMMA state if it was enabled before There is no point in resetting the CMMA state if it was never enabled. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit e6db1d61c7cc05dd3c8b787a0bd47dcb94800300 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Thu May 7 15:41:57 2015 +0200 KVM: s390: clean up cmma_enable check As we already only enable CMMA when userspace requests it, we can safely move the additional checks to the request handler and avoid doing them multiple times. This also tells userspace if CMMA is available. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 0df30abcd69b61d8163282c157f15ed3b0f1ac85 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 23 22:49:36 2015 +0200 KVM: s390: filter space-switch events when PER is enforced When guest debugging is active, space-switch events might be enforced by PER. While the PER events are correctly filtered out, space-switch-events could be forwarded to the guest, although from a guest point of view, they should not have been reported. Therefore we have to filter out space-switch events being concurrently reported with a PER event, if the PER event got filtered out. To do so, we theoretically have to know which instruction was responsible for the event. As the applicable instructions modify the PSW address, the address space set in the PSW and even the address space in cr1, we can't figure out the instruction that way. For this reason, we have to rely on the information about the old and new address space, in order to guess the responsible instruction type and do appropriate checks for space-switch events. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 14d4a425e7df6aaaa3287108ce191ccb6644c264 Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Thu May 7 15:16:13 2015 +0200 KVM: s390: propagate error from enable storage key As enabling storage keys might fail, we should forward the error. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 8453580cb8834dedffda86bcb64f13befc90eb03 Author: Hanno Böck <hanno@xxxxxxxxx> Date: Wed Jul 29 10:31:04 2015 +0200 drm/i915: Fix command parser table validator As we may like to use a bisection search on the tables in future, we need them to be ordered. For convenience we expect the compiled tables to be order and check on initialisation. However, the validator used the wrong iterators failed to spot the misordered MI tables and instead walked off into the unknown (as spotted by kasan). Signed-off-by: Hanno Boeck <hanno@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Again hand-assemble patch ...] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9f58582c7ad64f025e7fc582461c5bfafb46818f Author: Hanno Böck <hanno@xxxxxxxxx> Date: Wed Jul 29 10:29:58 2015 +0200 drm/i915: Properly sort MI coomand table In the future, we may want to speed up command/register searching using a bisection and so we require them to be in ascending order respectively by command value or register address. However, this was not true for one pair in the MI table; make it so. Signed-off-by: Hanno Boeck <hanno@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Hand-assemble patch from raw patch from Hanno and commit message from Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ccec9038c7217e537f5ae5e3ac5af8293a21bbfd Author: David Liu <cfliu.tw@xxxxxxxxx> Date: Fri Jul 24 20:25:32 2015 +0300 ath10k: enable raw encap mode and software crypto engine This patch enables raw Rx/Tx encap mode to support software based crypto engine. This patch introduces a new module param 'cryptmode'. cryptmode: 0: Use hardware crypto engine globally with native Wi-Fi mode TX/RX encapsulation to the firmware. This is the default mode. 1: Use sofware crypto engine globally with raw mode TX/RX encapsulation to the firmware. Known limitation: A-MSDU must be disabled for RAW Tx encap mode to perform well when heavy traffic is applied. Testing: (by Michal Kazior <michal.kazior@xxxxxxxxx>) a) Performance Testing cryptmode=1 ap=qca988x sta=killer1525 killer1525 -> qca988x 194.496 mbps [tcp1 ip4] killer1525 -> qca988x 238.309 mbps [tcp5 ip4] killer1525 -> qca988x 266.958 mbps [udp1 ip4] killer1525 -> qca988x 477.468 mbps [udp5 ip4] qca988x -> killer1525 301.378 mbps [tcp1 ip4] qca988x -> killer1525 297.949 mbps [tcp5 ip4] qca988x -> killer1525 331.351 mbps [udp1 ip4] qca988x -> killer1525 371.528 mbps [udp5 ip4] ap=killer1525 sta=qca988x qca988x -> killer1525 331.447 mbps [tcp1 ip4] qca988x -> killer1525 328.783 mbps [tcp5 ip4] qca988x -> killer1525 375.309 mbps [udp1 ip4] qca988x -> killer1525 403.379 mbps [udp5 ip4] killer1525 -> qca988x 203.689 mbps [tcp1 ip4] killer1525 -> qca988x 222.339 mbps [tcp5 ip4] killer1525 -> qca988x 264.199 mbps [udp1 ip4] killer1525 -> qca988x 479.371 mbps [udp5 ip4] Note: - only open network tested for RAW vs nwifi performance comparison - killer1525 (qca6174 hw2.2) is 2x2 device (hence max 866mbps) - used iperf - OTA, devices a few cm apart from each other, no shielding - tcpX/udpX, X - means number of threads used Overview: - relative Tx performance drop is seen but is within reasonable and expected threshold (A-MSDU must be disabled with RAW Tx) b) Connectivity Testing cryptmode=1 ap=iwl6205 sta1=qca988x crypto=open topology-1ap1sta OK ap=iwl6205 sta1=qca988x crypto=wep1 topology-1ap1sta OK ap=iwl6205 sta1=qca988x crypto=wpa topology-1ap1sta OK ap=iwl6205 sta1=qca988x crypto=wpa-ccmp topology-1ap1sta OK ap=qca988x sta1=iwl6205 crypto=open topology-1ap1sta OK ap=qca988x sta1=iwl6205 crypto=wep1 topology-1ap1sta OK ap=qca988x sta1=iwl6205 crypto=wpa topology-1ap1sta OK ap=qca988x sta1=iwl6205 crypto=wpa-ccmp topology-1ap1sta OK ap=iwl6205 sta1=qca988x crypto=open topology-1ap1sta2br OK ap=iwl6205 sta1=qca988x crypto=wep1 topology-1ap1sta2br OK ap=iwl6205 sta1=qca988x crypto=wpa topology-1ap1sta2br OK ap=iwl6205 sta1=qca988x crypto=wpa-ccmp topology-1ap1sta2br OK ap=qca988x sta1=iwl6205 crypto=open topology-1ap1sta2br OK ap=qca988x sta1=iwl6205 crypto=wep1 topology-1ap1sta2br OK ap=qca988x sta1=iwl6205 crypto=wpa topology-1ap1sta2br OK ap=qca988x sta1=iwl6205 crypto=wpa-ccmp topology-1ap1sta2br OK ap=iwl6205 sta1=qca988x crypto=open topology-1ap1sta2br1vlan OK ap=iwl6205 sta1=qca988x crypto=wep1 topology-1ap1sta2br1vlan OK ap=iwl6205 sta1=qca988x crypto=wpa topology-1ap1sta2br1vlan OK ap=iwl6205 sta1=qca988x crypto=wpa-ccmp topology-1ap1sta2br1vlan OK ap=qca988x sta1=iwl6205 crypto=open topology-1ap1sta2br1vlan OK ap=qca988x sta1=iwl6205 crypto=wep1 topology-1ap1sta2br1vlan OK ap=qca988x sta1=iwl6205 crypto=wpa topology-1ap1sta2br1vlan OK ap=qca988x sta1=iwl6205 crypto=wpa-ccmp topology-1ap1sta2br1vlan OK Note: - each test takes all possible endpoint pairs and pings - each pair-ping flushes arp table - ip6 is used c) Testbed Topology: 1ap1sta: [ap] ---- [sta] endpoints: ap, sta 1ap1sta2br: [veth0] [ap] ---- [sta] [veth2] | | | | [veth1] | \ [veth3] \ / \ / [br0] [br1] endpoints: veth0, veth2, br0, br1 note: STA works in 4addr mode, AP has wds_sta=1 1ap1sta2br1vlan: [veth0] [ap] ---- [sta] [veth2] | | | | [veth1] | \ [veth3] \ / \ / [br0] [br1] | | [vlan0_id2] [vlan1_id2] endpoints: vlan0_id2, vlan1_id2 note: STA works in 4addr mode, AP has wds_sta=1 Credits: Thanks to Michal Kazior <michal.kazior@xxxxxxxxx> who helped find the amsdu issue, contributed a workaround (already squashed into this patch), and contributed the throughput and connectivity tests results. Signed-off-by: David Liu <cfliu.tw@xxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Tested-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 005fb161310f72070ad5f4352d6b81ffaca8a11e Author: Qi Zhou <qizhou@xxxxxxxxxx> Date: Wed Jul 22 16:38:24 2015 -0400 ath10k: Improve performance by reducing tx_lock contention During tx completion, tx_lock is held for longer than required, preventing efficient refill of htt->pending_tx. Refactor the code so that only MSDU related operations are protected by the lock. Improves downstream performance on a dual-core ARM Freescale LS1024A (f.k.a. Mindspeed Comcerto 2000) AP with a 3x3 client from 495 to 580 Mbps. Other CPU bound multicore systems may also benefit. Signed-off-by: Denton Gentry <dgentry@xxxxxxxxxx> Signed-off-by: Avery Pennarun <apenwarr@xxxxxxxxxx> [mfaltesek@xxxxxxxxxx: removed conflicting code for tracking msdu_ids.] Signed-off-by: Marty Faltesek <mfaltesek@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit dcc13bcb488874568c5e2c32b43b68e069ada75c Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:35:46 2015 -0700 drm/i915: Don't return error on sink crc stop. If we got to the point where we are trying to stop sink CRC the main output of this function was already gotten properly, so don't return the error and let userspace use the crc data. Let's replace the errnos returns with some log messages. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit afe0d67e1f67250ddf69fc6ef9b76f4407e6815a Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:35:45 2015 -0700 drm/i915: Try to stop sink crc calculation on error. Right now if we face any kind of error sink crc calculation stays enabled. So, let's give a shot and try to stop it anyway if it got enabled. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3413e97dbbae8561e01ac28ccb0d4bbe7ce933f4 Author: Kevin Darbyshire-Bryant <kevin@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 15:50:15 2015 +0100 ath10k: suppress 'failed to process fft' warning messages When using DFS channels on Ath10k, kernel log has repeated warning message 'failed to process fft: -22' typically under medium/heavy traffic. This patch switches the warnings to driver debug (WMI events) mode only thus reducing log file noise. DFS and spectral scan share underlying HW mechanisms and enabling one (DFS) enables the other (spectral scan) as far as event reporting from firmware to driver is concerned. Spectral scan events take no part in processing of DFS radar pulses which are delivered as distinct events, so the fft (spectral event) warning is harmless and DFS interference detection/protection still occurs. Symptoms seen & fix tested in both debug & non-debug modes on TP-Link Archer C7 v2 platform. Signed-off-by: Kevin Darbyshire-Bryant <kevin@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a0d61f5f61290ee70cd024c7573e2ac5562f7a78 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 13:30:37 2015 -0400 ath6kl: spell "distribution" correctly in a comment. This fixes two misspellings of "distribution" in a comment. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1559f3b8d0527e24219149c95b3de5e7b2924828 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:53:10 2015 +0000 xtensa/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Chris Zankel <chris@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150713172018.264485572@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7fe88f3c00e7bfa44421681640fab3a9fadfef3b Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:52:25 2015 +0000 spmi/pmic: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150713151750.915477120@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fb68ba6d0b06cf287e9081d60f705501c52124f6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:52:24 2015 +0000 spmi/pmic_arb: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Link: http://lkml.kernel.org/r/20150713151750.831790045@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c497615c0cb62ba0b06db9580911dcf6d612bdb9 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:51:26 2015 +0000 sh/intc: Prepare irq flow handlers for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Link: http://lkml.kernel.org/r/20150713151626.872605327@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8228a048961a93e871779c658eaa801f747e6c1d Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:51:25 2015 +0000 sh/intc: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Also replace generic_handle_irq with generic_handle_irq_desc() to avoid looking up irq_desc again. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713151626.792845830@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b8149df9ce99e02cb2b4655bf20d0ce459b9076 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:51:23 2015 +0000 sh/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713151626.713278346@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d0abe2f3a9a541ded2e30ef7275f057fb7f0335a Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:51:22 2015 +0000 sh/irq: Use irq accessor functions instead of open coded access This is a preparatory patch for refactoring the internals if irq_data. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713151626.616384365@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cde5c2756832089e35b0c50417cc2858630f2005 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:51:20 2015 +0000 sh/irq: Use accessor irq_data_get_node() Use accessor irq_data_get_node() to hide struct irq_data implementation detail, so we can move irq_data->node to irq_data_common once all usage sites are fixed. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713151626.519112900@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4c73e8926623ca0f64c2c6111289ab8096fa647a Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Tue Jul 28 20:17:13 2015 +0200 arch/*/io.h: Add ioremap_uc() to all architectures This adds ioremap_uc() only for architectures that do not include asm-generic.h/io.h as that already provides a default definition for them for both cases where you have CONFIG_MMU and you do not, and because of this, the number of architectures this patch address is less than the architectures that the ioremap_wt() patch addressed, "arch/*/io.h: Add ioremap_wt() to all architectures"). In order to reduce the number of architectures we have to modify by adding new architecture IO APIs we'll have to review the architectures in this patch, see why they can't add asm-generic.h/io.h or issues that would be created by doing so and then spread a consistent inclusion of this header towards the end of their own header. For instance arch/metag includes the asm-generic/io.h *before* the ioremap*() definitions, this should be the other way around but only once we have guard wrappers for the non-MMU case also for asm-generic/io.h. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Cc: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: Kyle McMartin <kyle@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-am33-list@xxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx Cc: linux-sh@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150728181713.GB30479@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3e24a65f9d2b9e2befacf5823e01ee158fdfedad Merge: 6d85d0e 16b1adb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 29 00:13:25 2015 -0700 Merge branch 'stmmac-cleanup' Joachim Eastwood says: ==================== stmmac clean up for 4.3 part2 This patch set creates proper probe functions in the remaining dwmac-* drivers, lets the drivers manage their own of match data structure, and cleans up some of the drivers a bit. Note that should be no functional change in any of the drivers. First patch from Fengguang fixes a Coccinelle that was found after the previous patch set when into next. Probe functions are best placed just above the platform_driver struct since it usually needs to call other functions in the driver but this requires some code movement in the drivers. To keep the conversion itself easier to review the code movement is done in separate patches. This creates some extra churn but I think it's worth it in this case. As only a couple of drivers actually needs to use of match data this pushed down from stmmac_platform and into the drivers. This also makes it possible for drivers to have their own match data structure. dwmac-rk benefits most from this. After each driver has it's own probe function and manages it's own match data the setup/free hooks and common match data struct are removed. Sorry for the slightly largish patch set this time around. Since I can only test the core changes on my platform and not the specific dwmac-drivers I greatly appreciate if people could test this on their respective platforms. I did spend quite a bit of time visually checking all these patches, but nothing beats real hardware testing. Thanks! Patch set based on net-next can also be picked up from here: https://github.com/manabian/linux-lpc.git stmmac_4.3_part2 For those who want to have a look at all the patches for v4.3 a branch based on Linus master can be found here: https://github.com/manabian/linux-lpc.git stmmac_4.2 Previous parts can be found here: http://www.spinics.net/lists/netdev/msg328997.html http://www.spinics.net/lists/netdev/msg329932.html http://www.spinics.net/lists/netdev/msg336097.html ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16b1adbb16c8a52b206092d875030b346b9ce50b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:09:04 2015 +0200 stmmac: dwmac-sti: refactor the init glue callbacks Remove the two platform specific init callbacks and make them use a common one by creating a function member in the internal data structure. This allow us to remove the layer of indirection and simplify the code a bit. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75fee59550a9899fd9438ebc0a64c972829a8dd2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:09:03 2015 +0200 stmmac: remove setup/free glue callbacks As all dwmac-* drivers have been converted to have a proper probe function the setup callback can now be removed. Also remove the free callback that wasn't used by any driver. New dwmac-* drivers should implement standard probe and remove functions to preform any needed setup and teardown. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0933328a1b8adb6c8b2b8c8b823dad0295659c40 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:09:02 2015 +0200 stmmac: remove unused stmmac_of_data struct As dwmac-* drivers that need OF match have been converted to use their own internal OF match data structure this can now be removed. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f529f18255ed5fbb888498cfaa8cad63eab629e4 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:09:01 2015 +0200 stmmac: dwmac-rk: use rk_gmac_ops as of match data Remove the setup glue callback and use rk_gmac_ops as OF match data so it can used directly when calling rk_gmac_setup. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92c2588fc60c06525c2ef8d6de5b2314c202c3be Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:09:00 2015 +0200 stmmac: dwmac-rk: make rk_gmac_ops structs static const Mark the rk_gmac_ops structures as static const as they should be. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07ca3749cec2b8c7967d73cfa030a144610d3d4e Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:59 2015 +0200 stmmac: dwmac-sti: use custom of match structure Create a new private structure for OF match data in the dwmac-sti driver. This enables us to eventually drop the common OF match data structure which contains a lot of unused fields. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 149adedd7696cbcf1d72d143ca181334000d0ee7 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:58 2015 +0200 stmmac: let dwmac-* drivers handle their own match data Since only a few of the dwmac-* drivers actually need to use the OF match move handling into the dwmac-* drivers that need it. This will also allow dwmac-* drivers to use their own custom match data structure. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85d89e6115cd5613b36f31a5038feb9cb4e13dfc Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:57 2015 +0200 stmmac: move stmmac_pltfr_probe into dwmac-generic As all dwmac-* drivers now have their own probe function move the common one into dwmac-generic driver and drop the EXPORT. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27ffefd2d10902352c01394169e577f3b91113f2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:56 2015 +0200 stmmac: dwmac-rk: create a new probe function Create a new probe functions that call the necessary setup functions. This is done in preparation for a code refactor in this driver and dropping the common probe function in stmmac_platform.c. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8387ee21f972debce15d92e98a37455ae7e035e4 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:55 2015 +0200 stmmac: dwmac-sti: turn setup callback into a probe function By using a few functions from stmmac_platform a proper probe function can be created from the setup glue callback. This makes it look more like a standard driver and prepares the driver for further clean ups. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a9e9a1edee8c5d81f7b6a73ab3c312c0dddf476 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:54 2015 +0200 stmmac: dwmac-sunxi: turn setup callback into a probe function By using a few functions from stmmac_platform a proper probe function can be created from the setup glue callback. This makes it look more like a standard driver and the OF match data can also be dropped. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22caae03172114147c86982e39fa6f42fea51165 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:53 2015 +0200 stmmac: dwmac-sunxi: move sun7i_gmac_setup function Move sun7i_gmac_setup in preparation for turning it into a proper probe function. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8880b6c849916a3d688e2f2404a063cc14cc4a88 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:52 2015 +0200 stmmac: dwmac-socfpga: turn setup callback into a probe function By using a few functions from stmmac_platform a proper probe function can be created from the setup glue callback. This makes it look more like a standard driver and the OF match data can also be dropped. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 82732789e8e7fb19091f773f2b3536968398ae4b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:51 2015 +0200 stmmac: dwmac-socfpga: move socfpga_dwmac_probe function Move socfpga_dwmac_probe in preparation for turning it into a proper probe function. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ed1c04a38979f025dd2cf5f37ef5c39a9fc2f85 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:50 2015 +0200 stmmac: dwmac-ipq806x: turn setup callback into a probe function By using a few functions from stmmac_platform a proper probe function can be created from the setup glue callback. This makes it look more like a standard driver and the OF match data can also be dropped. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 213088f6fadfbccc675bc8ebf6901327d802c3a2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 29 00:08:49 2015 +0200 stmmac: dwmac-ipq806x: move ipq806x_gmac_fix_mac_speed function Move ipq806x_gmac_fix_mac_speed in preparation for turning the setup glue callback in a proper probe function. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a04c0aef74bbd807cd43ffa12404c3d6a6021865 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Wed Jul 29 00:08:48 2015 +0200 stmmac: fix ptr_ret.cocci warning drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c:304:1-3: WARNING: PTR_ERR_OR_ZERO can be used Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR Generated by: scripts/coccinelle/api/ptr_ret.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> [je: rebase and insert newline before return] Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a01bd1bd3d28d1eef26d5509c95d0923f7dc75c Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 19:14:51 2015 +0200 s390/pci: use pci_rescan_remove_lock Make sure that we use the pci_rescan_remove_lock when we remove or add functions from/to the bus. Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 515f022e8b59ce928fe5d82affb3e93ab53d12ed Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 19:11:40 2015 +0200 s390/pci: handle events for unused functions Receiving error events for a pci function that's currently not in use will crash the kernel. For example the procedure for FW upgrades might include: * remove the function from Linux * apply FW upgrade * rescan for new functions Receiving an event during the FW upgrade will result in a use after free when printing the functions name. Just print "n/a" in such cases. Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2b1df72416a858f928c4edcbbb7f13b8dfc10a35 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 19:10:45 2015 +0200 s390/pci: free resources after failed bus allocation Free bus resources when the allocation/registration of the bus failed. Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 64776820b4ffe9a9f38b9d5bbcbc6ec771509fda Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Jul 17 09:14:00 2015 +0200 s390: remove generic email address from maintainers file The public mailing lists and personal email addresses are sufficient. No need for an extra generic email address. Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Ursula Braun <ursula.braun@xxxxxxxxxx> Cc: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Cc: Steffen Maier <maier@xxxxxxxxxxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e7f596de1973e9dd9b5dcd7cb00aeb040ab8c13c Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Jul 17 08:05:23 2015 +0200 s390/smp: add missing __init annotation to __smp_store_cpu_state() Section mismatch in reference from the function __smp_store_cpu_state() to the function .init.text:memblock_alloc() The function __smp_store_cpu_state() references the function __init memblock_alloc(). Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 22362a0e23182d230527a5add690b4027860d7d3 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Jul 8 10:20:04 2015 +0200 s390/sclp: convert early sclp console code to C The 31-bit assembler code for the early sclp console is error prone as git commit fde24b54d976cc123506695c17db01438a11b673 "s390/sclp: clear upper register halves in _sclp_print_early" has shown. Convert the assembler code to C. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6d85d0e38730c2a55beffe4a9617d89fbd34037c Merge: 8c1a91f 058999c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 28 23:55:01 2015 -0700 Merge branch 'dwc_ethernet' Lars Persson says: ==================== dwc_eth_qos: Add support for Synopsys DWC Ethernet QoS This is a driver supporting version 4.10a of the Synopsys DWC Ethernet QoS gigabit ethernet controller. The IP has changed significantly compared to the dwmac1000 so a separate driver is justified. The IP is highly configurable at synthesis time. This driver has been developed for a subset of the total available feature set. Currently it supports: * TSO * Checksum offload for RX and TX. * Energy efficient ethernet. * GMII phy interface. * The statistics module. * Single RX and TX queue. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 058999cce8f644aa4e806bd281520d5054372947 Author: Lars Persson <lars.persson@xxxxxxxx> Date: Tue Jul 28 12:01:50 2015 +0200 dwc_eth_qos: Add maintainer info Add maintainer information for the Synopsys DWC Ethernet QOS driver. Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a050731525b9eb2f5048c6d0904a2e2df1a908b Author: Lars Persson <lars.persson@xxxxxxxx> Date: Tue Jul 28 12:01:49 2015 +0200 dwc_eth_qos: Add the synopsys folder to the build system. Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 077742dac2c7098ebf932ef02637c2a3b1397046 Author: Lars Persson <lars.persson@xxxxxxxx> Date: Tue Jul 28 12:01:48 2015 +0200 dwc_eth_qos: Add support for Synopsys DWC Ethernet QoS This patch adds a platform driver for the new generation of the gigabit ethernet IP from Synopsys. It is developed for version 4.10a of the IP core. Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b8b64843a3b272499d014a1786d072c1174912d Author: Lars Persson <lars.persson@xxxxxxxx> Date: Tue Jul 28 12:01:47 2015 +0200 dwc_eth_qos: Add Synopsys DWC Ethernet QoS bindings Add device tree binding documentation for the Synopsys DWC Ethernet QoS driver supporting revision 4.10a of the hardware IP. Signed-off-by: Lars Persson <larper@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e07e5baa2af166a6f38a51e14ff036c341a57c7 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Jul 27 19:22:23 2015 -0600 toshiba_acpi: Add set_fan_status function This patch adds a new function named "set_fan_status" to complement its get* counterpart, as well as to avoid code duplication between "fan_proc_write" and "fan_store". Also, both functions (get*, set*) are now checking for TOS_FAILURE, TOS_NOT_SUPPORTED and TOS_SUCCESS (to be on par with the rest of the HCI/SCI functions), printing an error message, returning -ENODEV and zero respectively. The proc and sysfs functions were updated to reflect these changes as well, returning -EIO for proc, and propagating the error value on the sysfs functions. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 1b60bab04e03d7ed74826dc20fda9d907d011313 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:08 2015 +1000 powerpc/kernel: Add SIG_SYS support for compat tasks SIG_SYS was added in commit a0727e8ce513 "signal, x86: add SIGSYS info and make it synchronous." Because we use the asm-generic struct siginfo, we got support for SIG_SYS for free as part of that commit. However there was no compat handling added for powerpc. That means we've been advertising the existence of signfo._sifields._sigsys to compat tasks, but not actually filling in the fields correctly. Luckily it looks like no one has noticed, presumably because the only user of SIGSYS in the kernel is seccomp filter, which we don't support yet. So before we enable seccomp filter, add compat handling for SIGSYS. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit e9fbe6863281b942d7eea44c6ccabc30f46ab44f Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:07 2015 +1000 powerpc: Change syscall_get_nr() to return int The documentation for syscall_get_nr() in asm-generic says: Note this returns int even on 64-bit machines. Only 32 bits of system call number can be meaningful. If the actual arch value is 64 bits, this truncates to 32 bits so 0xffffffff means -1. However our implementation was never updated to reflect this. Generally it's not important, but there is once case where it matters. For seccomp filter with SECCOMP_RET_TRACE, the tracer will set regs->gpr[0] to -1 to reject the syscall. When the task is a compat task, this means we end up with 0xffffffff in r0 because ptrace will zero extend the 32-bit value. If syscall_get_nr() returns an unsigned long, then a 64-bit kernel will see a positive value in r0 and will incorrectly allow the syscall through seccomp. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 1cb9839b73e7f2b006a1cc9452c30f15ff8b1748 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:06 2015 +1000 powerpc: Use orig_gpr3 in syscall_get_arguments() Currently syscall_get_arguments() is used by syscall tracepoints, and collect_syscall() which is used in some debugging as well as /proc/pid/syscall. The current implementation just copies regs->gpr[3 .. 5] out, which is fine for all the current use cases. When we enable seccomp filter, that will also start using syscall_get_arguments(). However for seccomp filter we want to use r3 as the return value of the syscall, and orig_gpr3 as the first parameter. This will allow seccomp to modify the return value in r3. To support this we need to modify syscall_get_arguments() to return orig_gpr3 instead of r3. This is safe for all uses because orig_gpr3 always contains the r3 value that was passed to the syscall. We store it in the syscall entry path and never modify it. Update syscall_set_arguments() while we're here, even though it's never used. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit a7657844296e796bf33922192743ddeacbcd4d7a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:05 2015 +1000 powerpc: Rework syscall_get_arguments() so there is only one loop Currently syscall_get_arguments() has two loops, one for compat and one for regular tasks. In prepartion for the next patch, which changes which registers we use, switch it to only have one loop, so we only have one place to update. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 1b1a3702a65c1a6511e4c95ecb3770dfdf235bcf Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:04 2015 +1000 powerpc: Don't negate error in syscall_set_return_value() Currently the only caller of syscall_set_return_value() is seccomp filter, which is not enabled on powerpc. This means we have not noticed that our implementation of syscall_set_return_value() negates error, even though the value passed in is already negative. So remove the negation in syscall_set_return_value(), and expect the caller to do it like all other implementations do. Also add a comment about the ccr handling. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 2923e6d503465e97a378d37a588e4e6987009bc7 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:03 2015 +1000 powerpc: Drop unused syscall_get_error() syscall_get_error() is unused, and never has been. It's also probably wrong, as it negates r3 before returning it, but that depends on what the caller is expecting. It also doesn't deal with compat, and doesn't deal with TIF_NOERROR. Although we could fix those, until it has a caller and it's clear what semantics the caller wants it's just untested code. So drop it. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit d38374142b2560f233961ed3756416c68af6c6cb Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:02 2015 +1000 powerpc/kernel: Change the do_syscall_trace_enter() API The API for calling do_syscall_trace_enter() is currently sensible enough, it just returns the (modified) syscall number. However once we enable seccomp filter it will get more complicated. When seccomp filter runs, the seccomp kernel code (via SECCOMP_RET_ERRNO), or a ptracer (via SECCOMP_RET_TRACE), may reject the syscall and *may* or may *not* set a return value in r3. That means the assembler that calls do_syscall_trace_enter() can not blindly return ENOSYS, it needs to only return ENOSYS if a return value has not already been set. There is no way to implement that logic with the current API. So change the do_syscall_trace_enter() API to make it deal with the return code juggling, and the assembler can then just return whatever return code it is given. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit c3525940cca53cf3568fefd35d169fea4f107f0a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Jul 23 20:21:01 2015 +1000 powerpc/kernel: Switch to using MAX_ERRNO Currently on powerpc we have our own #define for the highest (negative) errno value, called _LAST_ERRNO. This is defined to be 516, for reasons which are not clear. The generic code, and x86, use MAX_ERRNO, which is defined to be 4095. In particular seccomp uses MAX_ERRNO to restrict the value that a seccomp filter can return. Currently with the mismatch between _LAST_ERRNO and MAX_ERRNO, a seccomp tracer wanting to return 600, expecting it to be seen as an error, would instead find on powerpc that userspace sees a successful syscall with a return value of 600. To avoid this inconsistency, switch powerpc to use MAX_ERRNO. We are somewhat confident that generic syscalls that can return a non-error value above negative MAX_ERRNO have already been updated to use force_successful_syscall_return(). I have also checked all the powerpc specific syscalls, and believe that none of them expect to return a non-error value between -MAX_ERRNO and -516. So this change should be safe ... Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 5461ad99cab98d19f2570c468cdd6c42b6d66795 Merge: 20b8394 ce748ea Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Jul 29 11:54:21 2015 +1000 Merge branch 'xfs-meta-uuid' into for-next commit 20b83944361908be78c941e0fb76d508124637ec Merge: df150ed1 1cfc4a9 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Wed Jul 29 11:54:07 2015 +1000 Merge branch 'xfs-misc-fixes-for-4.3' into for-next commit ce748eaa65f2e9392ba82726503c8d994ffd6393 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Wed Jul 29 11:53:31 2015 +1000 xfs: create new metadata UUID field and incompat flag This adds a new superblock field, sb_meta_uuid. If set, along with a new incompat flag, the code will use that field on a V5 filesystem to compare to metadata UUIDs, which allows us to change the user- visible UUID at will. Userspace handles the setting and clearing of the incompat flag as appropriate, as the UUID gets changed; i.e. setting the user-visible UUID back to the original UUID (as stored in the new field) will remove the incompatible feature flag. If the incompat flag is not set, this copies the user-visible UUID into into the meta_uuid slot in memory when the superblock is read from disk; the meta_uuid field is not written back to disk in this case. The remainder of this patch simply switches verifiers, initializers, etc to use the new sb_meta_uuid field. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 1cfc4a9cf89d23727c6678170aa5949a676fc566 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Jul 29 11:52:08 2015 +1000 libxfs: add xfs_bit.c The header side of xfs_bit.c is already in libxfs, and the sparse inode code requires the xfs_next_bit() function so pull in the xfs_bit.c file so that a sparse inode enabled libxfs compiles cleanly in userspace. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit d6077aa339d6580d12bd1089231eea2940383e32 Author: Jan Kara <jack@xxxxxxxx> Date: Wed Jul 29 11:52:08 2015 +1000 xfs: Remove duplicate jumps to the same label xfs_create() and xfs_create_tmpfile() have useless jumps to identical labels. Simplify them. Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f41febd2eb5bdaa1c5685fe8a9b09276645013bc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Jul 29 11:52:04 2015 +1000 xfs: Use consistent logging message prefixes The second and subsequent lines of multi-line logging messages are not prefixed with the same information as the first line. Separate messages with newlines into multiple calls to ensure consistent prefixing and allow easier grep use. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 89cebc8477290b152618ffa110bbeae340d50900 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Jul 29 11:51:10 2015 +1000 xfs: validate transaction header length on log recovery When log recovery hits a new transaction, it copies the transaction header from the expected location in the log to the in-core structure using the length from the op record header. This length is validated to ensure it doesn't exceed the length of the record, but not against the expected size of a transaction header (and thus the size of the in-core structure). If the on-disk length is corrupted, the associated memcpy() can overflow, write to unrelated memory and lead to crashes. This has been reproduced via filesystem fuzzing. The code currently handles the possibility that the transaction header is split across two op records. Neither instance accounts for corruption where the op record length might be larger than the in-core transaction header. Update both sites to detect such corruption, warn and return an error from log recovery. Also add some comments and assert that if the record is split, the copy of the second portion is less than a full header. Otherwise, this suggests the copy of the second portion could have overwritten bits from the first and thus that something could be wrong. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 4703da7b78776140477a023c99683d3be84b7fca Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Wed Jul 29 11:51:01 2015 +1000 xfs: close xc_cil list_empty() races with cil commit sequence We have seen somewhat rare reports of the following assert from xlog_cil_push_background() failing during ltp tests or somewhat innocuous desktop root fs workloads (e.g., virt operations, initramfs construction): ASSERT(!list_empty(&cil->xc_cil)); The reasoning behind the assert is that the transaction has inserted items to the CIL and hit background push codepath all with cil->xc_ctx_lock held for reading. This locks out background commit from emptying the CIL, which acquires the lock for writing. Therefore, the reasoning is that the items previously inserted in the CIL should still be present. The cil->xc_ctx_lock read lock is not sufficient to protect the xc_cil list, however, due to how CIL insertion is handled. xlog_cil_insert_items() inserts and reorders the dirty transaction items to the tail of the CIL under xc_cil_lock. It uses list_move_tail() to achieve insertion and reordering in the same block of code. This function removes and reinserts an item to the tail of the list. If a transaction commits an item that was already logged and thus already resides in the CIL, and said item is the sole item on the list, the removal and reinsertion creates a temporary state where the list is actually empty. This state is not valid and thus should never be observed by concurrent transaction commit-side checks in the circumstances outlined above. We do not want to acquire the xc_cil_lock in all of these instances as it was previously removed and replaced with a separate push lock for performance reasons. Therefore, close any races with list_empty() on the insertion side by ensuring that the list is never in a transient empty state. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ab7bb61092308e83130b8d15725aee1672991d65 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Wed Jul 29 11:51:01 2015 +1000 xfs: xfs_bunmapi() does not need XFS_BMAPI_METADATA flag xfs_bunmapi() doesn't care what type of extent is being freed and does not look at the XFS_BMAPI_METADATA flag at all. As such we can remove the XFS_BMAPI_METADATA from all callers that use it. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fd1683c18c372d51aeeeb25efa8b451f922c9c52 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 01:29:31 2015 +0300 ARM: shmobile: r8a7794: add PFC DT support Define the generic R8A7794 part of the PFC device node. Based on original patch by Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e323d56eb06b266b77c2b430cb5f1977ba549e03 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jun 12 10:53:25 2015 +0900 clk: exynos4: Fix wrong clock for Exynos4x12 ADC The TSADC gate clock was used in Exynos4x12 DTSI for exynos-adc driver. However TSADC is present only on Exynos4210 so on Trats2 board (with Exynos4412 SoC) the exynos-adc driver could not be probed: ERROR: could not get clock /adc@126C0000:adc(0) exynos-adc 126c0000.adc: failed getting clock, err = -2 exynos-adc: probe of 126c0000.adc failed with error -2 Instead on Exynos4x12 SoCs the main clock used by Analog to Digital Converter is located in different register and it is named in datasheet as PCLK_ADC. Regardless of the name the purpose of this PCLK_ADC clock is the same as purpose of TSADC from Exynos4210. The patch adds gate clock for Exynos4x12 using the proper register so backward compatibility is preserved. This fixes the probe of exynos-adc driver on Exynos4x12 boards and allows accessing sensors connected to it on Trats2 board (ntc,ncp15wb473 AP and battery thermistors). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: c63c57433003 ("ARM: dts: Add ADC's dt data to read raw data for exynos4x12") Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9943230c8860178a6f6409f0ba19167c0a46a71b Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:06 2015 +0300 arm64: dts: qcom: Add apq8016-sbc board LED's related device nodes APQ8016 SBC board have 6 user controllable LED's. Add following devices: LED1 green LED triggered by system heartbeat. LED2 green LED triggered by access to eMMC device. LED3 green LED triggered by access to SD card. LED4 green LED no trigger assigned. LED5 yellow LED triggered by access to WLAN. LED6 blue LED triggered by access to Bluetooth. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 8883ad80c175dd17aaf007f982e3f8461315eab8 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:05 2015 +0300 arm64: dts: qcom: Fix apq8016-sbc board USB related pin definitions USB2513B HUB reset line is connected to PMIC GPIO3 not GPIO1. Fix TC7USB40MU Dual SPDT Switch select input line control, which is connected to PMIC GPIO4 not GPIO2 and disable the pin. It is not used for now. Remove user LEDs definitions, because they clash with above numbers. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit c8077068f7725c2429448ceb1ee6d2d3b0081cb9 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:04 2015 +0300 arm64: dts: qcom: apq8016-sbc: Don't hog client driver pins Hogging pins from pinctrl driver prevents client drivers to probe. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 596008653f445b0798fdf980ceacc547f1dfa537 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:03 2015 +0300 arm64: dts: qcom: Add msm8916 USB configuration nodes Add Host, Device and OTG configuration nodes. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit c4da5a561627da156d7ce322be70e6f342db654d Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Thu Jun 4 12:19:02 2015 +0300 arm64: dts: qcom: Add msm8916 sdhci configuration nodes Add sdhci1 and sdhci2 device configuration nodes. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit a0e5fb10315070a8299bb9d022d21cae490c3b58 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:01 2015 +0300 arm64: dts: qcom: Add msm8916 BLSP device nodes Add device nodes for SPI1, SPI2, SPI3, I2C4, SPI5, SPI6 and BAM(DMA) engine connected to them. Signed-off-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 1b08a582a08c8d5579bc78e1ecfd18948195f159 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Thu Jun 4 12:19:00 2015 +0300 arm64: dts: qcom: Extend msm8916 pinctrl device coverage Create separate file for MSM8916 pinctrl default/sleep pins state definitions. Move in UART2 states and add SPI, I2C and SDC configurations. Signed-off-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 23b38ceb814ca8a2bd92613687f82b70041b9238 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Fri Jul 10 14:18:00 2015 -0600 drivers: qcom: Select QCOM_SCM unconditionally for QCOM_PM Enable QCOM_SCM for QCOM power management driver Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 4b638df4c9d556a6d947d6dbac364bee37b68b8e Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 26 14:50:10 2015 -0700 soc: qcom: Add Shared Memory Manager driver The Shared Memory Manager driver implements an interface for allocating and accessing items in the memory area shared among all of the processors in a Qualcomm platform. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit baff39e6708e099261bac73a46377cffc9257388 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Jul 28 09:13:05 2015 +0100 ARM: dts: qs600: Add real regulators to sdcc This patch adds real regulators to sdcc nodes. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 2736bbaccbbb4e4e96f2560d0990f25ed531cfe7 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Jul 28 09:12:58 2015 +0100 ARM: dts: ifc6410: add real regulators for sdcc nodes. This patch adds real regulators for all the three sdcc nodes. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit c37e995807bde0fa20ec8f9a29c01dd29e2eaa74 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Jul 28 09:12:51 2015 +0100 ARM: dts: apq8064: remove temporary fixed regulator for mmc This patch removes temporary fixed regluator use for mmc. Board files should use the regulators which are wiredup appropriately. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 923ae471773a6b324815ef3e3c5e787818ae129a Author: zilong.liu <liuziloong@xxxxxxxxx> Date: Tue Jul 28 15:12:18 2015 -0400 ext4 crypto: remove duplicate header file Remove key.h which is included twice in crypto_fname.c Signed-off-by: zilong.liu <liuziloong@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 911af577de4e444622d46500c1f9a37ab4335d3a Author: Eryu Guan <guaneryu@xxxxxxxxx> Date: Tue Jul 28 15:08:41 2015 -0400 ext4: update c/mtime on truncate up Commit 3da40c7b0898 ("ext4: only call ext4_truncate when size <= isize") introduced a bug that c/mtime is not updated on truncate up. Fix the issue by setting c/mtime explicitly in the truncate up case. Note that ftruncate(2) is not affected, so you won't see this bug using truncate(1) and xfs_io(1). Signed-off-by: Zirong Lang <zorro.lang@xxxxxxxxx> Signed-off-by: Eryu Guan <guaneryu@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 00f3ec37d29efed8983a2add67b692ca509ec99b Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:14 2015 -0500 clk: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: linux-clk@xxxxxxxxxxxxxxx Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d99215ae06be51558b723a3648515e672898ca4b Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Thu Jul 23 15:02:53 2015 +0800 clk: zx: Constify parent names in clock init data The array of parent names can be made as array of const pointers to const strings. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 105644e59a2b1c43fe2eeba6595d142c390552c2 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Thu Jul 23 15:02:52 2015 +0800 clk: zx: Add audio and GPIO clock for zx296702 Add SPDIF/I2S and GPIO clock for zx296702 Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4599dd2c926915b5e8c27e0ca21a6172f9d6881c Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Thu Jul 23 15:02:51 2015 +0800 clk: zx: Add audio div clock method for zx296702 Add SPDIF/I2S divider clock method for zx296702 Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7764d0cdc3dbf15010f66e0e2e5786f0f03d402a Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Wed Jul 22 15:04:53 2015 +0530 clk: s2mps11: Use kcalloc instead of kzalloc for array allocation This patch cleans up the driver for, - Use devm_kcalloc() variant instead of devm_kzalloc() for array allocation. - clk_prepare()/unprepare(), remove "ret" variable as it is not required - use __exit for cleanup function As I am referring this driver as a reference for my 88pm800 clk driver, applying same changes here as well. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Tested-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a57aa18539f8b232065f574f438edb646c6b9d9b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 24 12:24:48 2015 -0700 clk: Silence warnings about lock imbalances The recursive spinlock implementation trips up sparse and it complains that these functions have lock imbalances. That isn't really true though, so add some __acquires() and __releases() information so that sparse is quiet. drivers/clk/clk.c:116:22: warning: context imbalance in 'clk_enable_lock' - wrong count at exit drivers/clk/clk.c:141:9: warning: context imbalance in 'clk_enable_unlock' - unexpected unlock Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 661e2180cf050a2f859d466f30d74e990b9345be Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 24 12:21:12 2015 -0700 clk: basic-type: Silence warnings about lock imbalances The basic clock types use conditional locking for the register accessor spinlocks. Add __acquire() and __release() markings in the right locations so that sparse isn't tripped up on the conditional locking. drivers/clk/clk-mux.c:68:12: warning: context imbalance in 'clk_mux_set_parent' - different lock contexts for basic block drivers/clk/clk-divider.c:379:12: warning: context imbalance in 'clk_divider_set_rate' - different lock contexts for basic block drivers/clk/clk-gate.c:71:9: warning: context imbalance in 'clk_gate_endisable' - different lock contexts for basic block drivers/clk/clk-fractional-divider.c:36:9: warning: context imbalance in 'clk_fd_recalc_rate' - different lock contexts for basic block drivers/clk/clk-fractional-divider.c:68:12: warning: context imbalance in 'clk_fd_set_rate' - different lock contexts for basic block Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 169f05e80522e2848c9089a17976ebf31e735d5c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 24 11:55:42 2015 -0700 clk: qcom: Give clk-qcom.ko module a GPLv2 license The missing license causes the clk-qcom.ko module to taint the kernel. Add the appropriate license to avoid taint. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 37bff2c159a3629b592e54162239cb8c337c965d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 24 09:31:29 2015 -0700 clk: gpio: Mark parent_names array const Let's encourage const arrays of parent names like other basic clock types. Cc: Sergej Sawazki <ce3a@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1db92e54f559ef076d6733b78ec6ce49c577390a Merge: afe76c8f 7c9422e Author: Michael Turquette <mturquette@xxxxxxxxxxxx> Date: Fri Jul 24 11:29:53 2015 -0700 Merge branch 'v4.3-topic/clk-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into clk-next commit afe76c8fd030dd6b75fa69f7af7b7eb1e212f248 Author: Jim Quinlan <jim2101024@xxxxxxxxx> Date: Fri May 15 15:45:47 2015 -0400 clk: allow a clk divider with max divisor when zero This commit allows certain Broadcom STB clock dividers to be used with clk-divider.c. It allows for a clock whose field value is the equal to the divisor, execpt when the field value is zero, in which case the divisor is 2^width. For example, consider a divisor clock with a two bit field: value divisor 0 4 1 1 2 2 3 3 Signed-off-by: Jim Quinlan <jim2101024@xxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 25d4d341d31b349836e1b12d10be34b9b575c12b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 13 17:07:43 2015 +0300 clk: socfpga: switch to GENMASK() Convert the code to use GENMASK() helper instead of div_mask() macro. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4b5fb7dc9096d949a22651370bb6bf11f21edb30 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Jul 12 22:49:53 2015 +0200 clk: pxa: fix core frequency reporting unit Legacy drivers which are not yet ported, such as cpufreq-pxa[23]xx, rely on pxaXXx_get_clk_frequency_khz() to find the CPU core frequency. This reporting was broken because the expected unit is kHz and not Hz. Fix the reporting for pxa25x, pxa27x and pxa3xx. Fixes: fe7710fae477 ("clk: add pxa25x clock drivers") Fixes: d40670dc6169 ("clk: add pxa27x clock drivers") Fixes: 9bbb8a338fb2 ("clk: pxa: add pxa3xx clock driver") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2bbfe00147a7c075f5c43e657ec218afea662819 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Tue Jul 21 13:41:23 2015 -0700 clk: rockchip: Fix PLL bandwidth In the TRM we see that BWADJ is "a 12-bit bus that selects the values 1-4096 for the bandwidth divider (NB)": NB = BWADJ[11:0] + 1 The recommended setting of NB: NB = NF / 2. So: NB = NF / 2 BWADJ[11:0] + 1 = NF / 2 BWADJ[11:0] = NF / 2 - 1 Right now, we have: { \ .rate = _rate##U, \ .nr = _nr, \ .nf = _nf, \ .no = _no, \ .bwadj = (_nf >> 1), \ } That means we set bwadj to NF / 2, not NF / 2 - 1 All of this is a bit confusing because we specify "NR" (the 1-based value), "NF" (the 1-based value), "NO" (the 1-based value), but "BWADJ" (the 0-based value) instead of "NB" (the 1-based value). Let's change to working with "NB" and fix the off by one error. This may affect PLL jitter in a small way (hopefully for the better). Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9cfad9bc472a4bdd5ee7d9e713113a9f5a676704 Merge: 9da9e76 61ae765 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 21 11:22:42 2015 -0700 Merge branch 'cleanup-clk-h-includes' into clk-next * cleanup-clk-h-includes: (62 commits) clk: Remove clk.h from clk-provider.h clk: h8300: Remove clk.h and clkdev.h includes clk: at91: Include clk.h and slab.h clk: ti: Switch clk-provider.h include to clk.h clk: pistachio: Include clk.h clk: ingenic: Include clk.h clk: si570: Include clk.h clk: moxart: Include clk.h clk: cdce925: Include clk.h clk: Include clk.h in clk.c clk: zynq: Include clk.h clk: ti: Include clk.h clk: sunxi: Include clk.h and remove unused clkdev.h includes clk: st: Include clk.h clk: qcom: Include clk.h clk: highbank: Include clk.h clk: bcm: Include clk.h clk: versatile: Remove clk.h and clkdev.h includes clk: ux500: Remove clk.h and clkdev.h includes clk: tegra: Properly include clk.h ... commit 9da9e761273702b3afd6e3538c23ece95693e586 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 22:59:06 2015 -0500 clk: ti: make use of of_clk_parent_fill helper function Use of_clk_parent_fill to fill in the parent clock names' array. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8a53fb2bceea00081c4a6af7b477bea8ec00b74b Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 22:59:05 2015 -0500 clk: sunxi: make use of of_clk_parent_fill helper function Use of_clk_parent_fill to fill in the parent clock names' array. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: "Emilio López" <emilio@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0b4e7f0842fe5c8bd19654999f6c41c4119e7c90 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 22:59:04 2015 -0500 clk: st: make use of of_clk_parent_fill helper function Use of_clk_parent_fill to fill in the parent clock names' array. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by Gabriel Fernandez <gabriel.fernandez@xxxxxx> Cc: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5f23eff7af6bc1d8cc8e17fc12e8d989042236ed Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 22:59:03 2015 -0500 clk: keystone: make use of of_clk_parent_fill helper function Use of_clk_parent_fill to fill in the parent clock names' array. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f0557fbe1303aade362bd578753a1c898a80851c Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 22:59:01 2015 -0500 clk: at91: make use of of_clk_parent_fill helper function Use of_clk_parent_fill to fill in the parent clock names' array. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 75ce0cdb6243d42daca6130e5feb71f536bb136e Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Fri Jul 10 16:39:34 2015 +0800 clk: mediatek: Add MT8173 MMPLL change rate support MT8173 MMPLL frequency settings are different from common PLLs. It needs different post divider settings for some ranges of frequency. This patch add support for MT8173 MMPLL frequency setting by adding div-rate table to lookup suitable post divider setting under a specified frequency. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 196de71a9d9e9090406a87362d22b67ae633fa7a Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Fri Jul 10 16:39:33 2015 +0800 clk: mediatek: Fix calculation of PLL rate settings Avoid u32 overflow when calculate post divider setting, and increase the max post divider setting from 3 (/8) to 4 (/16). Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b3be457e5854e3095cd0be850058c765aaf467ab Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Fri Jul 10 16:39:32 2015 +0800 clk: mediatek: Fix PLL registers setting flow Write postdiv and pcw settings at the same time for PLLs if postdiv and pcw settings are on the same register. This is need by PLLs such as MT8173 MMPLL and ARM*PLL. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9783c0d98501aa146ff467916ab4b8830a655d7c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 16 12:50:27 2015 -0700 clk: Allow providers to configure min/max rates clk providers are using the consumer APIs to set min/max rates on the clock they're providing. To encourage clk providers to move away from the consumer APIs, add a provider API to set the min/max rate of a clock. The assumption is that this is done before the clock can be requested via clk_get() and that the clock rate is already within the boundaries of the min/max that's configured. Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5c757456c16ce056a40a120e63235bc00c94ee7f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 16 22:15:53 2015 +0800 clk: twl6040: Convert to use devm_clk_register Use devm_clk_register() to simplify the code by removing twl6040_clk_remove(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 264e3b75de4eee6e4ee4616bf2b2a3d522cad72a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 16 21:59:43 2015 +0800 clk: s2mps11: Simplify s2mps11_clk_probe unwind paths The devm_clk_unregister() in .probe error case is not necessary as it will be automatically called when probe fails. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5a1cfafaeab5237523d43cd033e1fb42bf5c1933 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 15:09:27 2015 +0200 clk: shmobile: Remove unneeded #include <linux/clkdev.h> The CCF implementations for the various shmobile SoCs don't use clkdev functionality, hence drop the inclusion of <linux/clkdev.h>. Add the missing #include <linux/slab.h>, which was included implicitly through <asm/clkdev.h> before. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 14cc4e9578841a4c0025ce064133b2da53c9d1c9 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:58:22 2015 -0700 clk: ti: Force pointer to be __iomem Add __force here so that sparse doesn't complain about us playing tricks with __iomem. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 76642eb4cb040b436319e5aa747a5ef026207eef Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:04:53 2015 -0700 clk: ti: clk-3xxx: Remove unused structures Sparse complains about these structures missing static, but they also don't look to be used. Remove them. drivers/clk/ti/clk-3xxx.c:74:30: warning: symbol 'clkhwops_omap3430es2_ssi_wait' was not declared. Should it be static? drivers/clk/ti/clk-3xxx.c:157:30: warning: symbol 'clkhwops_omap3430es2_hsotgusb_wait' was not declared. Should it be static? Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 3fe6d697420c706b640730dbbae17f48b3aad506 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:03:52 2015 -0700 clk: ti: Mark ti_clk_features static This variable isn't exported outside of this file so mark it static. Silences the following sparse warning: drivers/clk/ti/clk.c:36:24: warning: symbol 'ti_clk_features' was not declared. Should it be static? Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f645f72d876586c4950dcd5bf516744db0aeb30b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 15 11:55:42 2015 -0700 clk: ti: Check kzalloc() for failures smatch reports a failure to check kzalloc() here: drivers/clk/ti/clk.c:232 omap2_clk_provider_init() error: potential null dereference 'io'. (kzalloc returns null) Check for an allocation failure and return -ENOMEM. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4d341056202a4725777ed99897f6456405819cd4 Merge: e306479 989feaf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 28 11:58:26 2015 -0700 Merge branch 'for-4.2/ti-clk-move' of https://github.com/t-kristo/linux-pm into clk-next From Tero Kristo: "This pull request contains the TI clock driver set to move the clock implementations under clock driver. Some small portions of the clock driver code still remain under mach-omap2 after this, it should be decided whether this code is now obsolete and should be deleted or should someone try to fix it." Slight merge conflicts with determine_rate prototype changes. commit 841df7df196237ea63233f0f9eaa41db53afd70f Author: Jan Kara <jack@xxxxxxxx> Date: Tue Jul 28 14:57:14 2015 -0400 jbd2: avoid infinite loop when destroying aborted journal Commit 6f6a6fda2945 "jbd2: fix ocfs2 corrupt when updating journal superblock fails" changed jbd2_cleanup_journal_tail() to return EIO when the journal is aborted. That makes logic in jbd2_log_do_checkpoint() bail out which is fine, except that jbd2_journal_destroy() expects jbd2_log_do_checkpoint() to always make a progress in cleaning the journal. Without it jbd2_journal_destroy() just loops in an infinite loop. Fix jbd2_journal_destroy() to cleanup journal checkpoint lists of jbd2_log_do_checkpoint() fails with error. Reported-by: Eryu Guan <guaneryu@xxxxxxxxx> Tested-by: Eryu Guan <guaneryu@xxxxxxxxx> Fixes: 6f6a6fda294506dfe0e3e0a253bb2d2923f28f0a Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit e306479ac252928b84cc563c6e790f9b7e7ae427 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Jun 20 15:27:03 2015 +0800 clk: h8300: Fix signness bug of_clk_get_parent_count() may return negative error code, so num_parents needs to be int rather than unsigned int. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d7a304e9d018c99dda80f4c16ec0fe817b5be4a1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 14 16:57:29 2015 -0700 clk: qcom: Set CLK_SET_RATE_PARENT on ce1 clocks The other ce clocks have the flag set, but ce1 doesn't, so clk_set_rate() doesn't propagate up the tree to the ce1_src_clk. Set the flag as this is supported. Reported-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Fixes: 02824653200b ("clk: qcom: Add APQ8084 Global Clock Controller support") Fixes: d33faa9ead8d ("clk: qcom: Add support for MSM8974's global clock controller (GCC)") Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c5e857a46af24a772f445edcc01a861ee2d6a713 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 14 12:45:19 2015 -0700 clk: gpio: Unlock mutex on error path We don't unlock the mutex if we fail to allocate the parent names array. Unlock it and return an error in this case as well. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Cc: Sergej Sawazki <ce3a@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 006cb8b66e18ce7aff934883f6c50e3b85052681 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 13 17:06:53 2015 -0700 clk: h8300: Use standard Linux I/O accessors There doesn't seem to be any reason why we can't use the standard readb()/writeb() accessors here because ctrl_inb() and ctrl_outb() match the generic implementation of readb() and writeb() that the h8300 architecture uses. This allows us to test compile this driver on other architectures besides h8300. Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9298f0267c7ed620f8d8261ded8518ebf8e89f9e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 13 16:54:04 2015 -0700 clk: h8300: Drop allocation printk and cleanup sizeof style We don't need to print an error on allocation failures, drop it. While we're here, change the sizeof() to be sizeof(*<ptr>) to make code more future proof. Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 19aab273083fa10c2262b8c8e3315bacb054d75d Merge: 86665d2 57d866e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 28 11:51:30 2015 -0700 Merge branch 'clk-determine-rate-struct' into clk-next * clk-determine-rate-struct: clk: fix some determine_rate implementations clk: change clk_ops' ->determine_rate() prototype commit 2eb084eb1f6eba53e657502c519b52e640e38cde Merge: 0c21bcb cd871d5 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 28 18:26:14 2015 +0200 Merge tag 'socfpga_updates_for_v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/soc SoCFPGA updates for v4.3 - Add smp.ops.cpu_kill() for kexec - Add reboot capability for Arria10 * tag 'socfpga_updates_for_v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: add reset for the Arria 10 platform ARM: socfpga: add smp_ops.cpu_kill to make kexec/kdump available Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 46a51abbda4ed0d09cc1ea6937f31e322a88c517 Merge: 55e3cfc5 2e4c758 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 28 18:25:39 2015 +0200 Merge tag 'socfpga_dts_for_v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt SoCFPGA DTS updates for v4.3 - Update clocking for DTS nodes - Add DTS board file for Terasic DE0 Atlas board - Use stdout-patch for chosen node - Enable prefetch-data and prefetch-instr * tag 'socfpga_dts_for_v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: dts: add osc1 as a possible parent for dbg_base_clk ARM: socfpga: dts: add missing clock gates to socfpga.dtsi ARM: socfpga: dts: Fix gpio dts entry for the correct clock ARM: socfpga: dts: Correct the parent clock for l3_sp_clk and dbg_clk ARM: dts: socfpga: Add support of Terasic DE0 Atlas board ARM: dts: socfpga: use stdout-path for chosen node ARM: dts: socfpga: enable the data and instruction prefetch for the l2 cache Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0c21bcb616a499c69d3f0f719bac8491e8326630 Merge: a3ff83d 3e0452d Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 28 18:17:31 2015 +0200 Merge tag 'v4.2-next-soc' of https://github.com/mbgg/linux-mediatek into next/soc - ARM: mediatek: Add regmap to mediatek Kconfig - soc: mediatek: Drop owner assignment from platform_driver - soc: Mediatek: Add SCPSYS power domain driver - dt-bindings: soc: Add documentation for the MediaTek SCPSYS unit - soc: mediatek: Add infracfg misc driver support * tag 'v4.2-next-soc' of https://github.com/mbgg/linux-mediatek: ARM: mediatek: Add regmap to mediatek Kconfig soc: mediatek: Drop owner assignment from platform_driver soc: Mediatek: Add SCPSYS power domain driver dt-bindings: soc: Add documentation for the MediaTek SCPSYS unit soc: mediatek: Add infracfg misc driver support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 55e3cfc5f9a7303d78026bcf4bdfb1788b669ea0 Merge: 6223723 7d4938c Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 28 18:16:36 2015 +0200 Merge tag 'v4.2-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt - ARM: dts: mediatek: add mt6580 basic support - Document: DT: Add bindings for mediatek MT6580 SoC Platform - ARM: dts: mediatek mt8135: Use real UART clocks - ARM: dts: mt8135-evbp1: Add PMIC support - ARM: dts: mt8135: Add pmic wrapper nodes - ARM: dts: mediatek: Enable clock support for Mediatek MT8135. * tag 'v4.2-next-dts' of https://github.com/mbgg/linux-mediatek: ARM: dts: mediatek: add mt6580 basic support Document: DT: Add bindings for mediatek MT6580 SoC Platform ARM: dts: mediatek mt8135: Use real UART clocks ARM: dts: mt8135-evbp1: Add PMIC support ARM: dts: mt8135: Add pmic wrapper nodes ARM: dts: mediatek: Enable clock support for Mediatek MT8135. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit af429d9ebf70916269bd5ad3e2bd2485fb0f39e6 Merge: 6a37749 e269452 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 28 18:16:13 2015 +0200 Merge tag 'v4.2-next-arm64' of https://github.com/mbgg/linux-mediatek into next/arm64 - arm64: dts: mediatek: add mt6795 support - Document: DT: Add bindings for mediatek MT6795 SoC Platform - arm64: dts: mediatek: Add MT8173 MMC dts - arm64: dts: mt8173: Add afe device node - arm64: dts: mt8173-evb: Add PMIC support - dts: mt8173-evb: Add da9211 to i2c1 - ARM: dts: mt8173: support arm64 cpuidle-dt - ARM64: MediaTek MT8173: Add SCPSYS device node - arm64: dts: mt8173: Add I2C device node - arm64: dts: mt8173: Add watchdog device node - arm64: dts: mt8173: Add PMIC wrapper device node - arm64: dts: mt8173: Use real clock for UARTs - arm64: dts: mt8173: Add clock controller device nodes * tag 'v4.2-next-arm64' of https://github.com/mbgg/linux-mediatek: arm64: dts: mediatek: add mt6795 support Document: DT: Add bindings for mediatek MT6795 SoC Platform arm64: dts: mediatek: Add MT8173 MMC dts arm64: dts: mt8173: Add afe device node arm64: dts: mt8173-evb: Add PMIC support dts: mt8173-evb: Add da9211 to i2c1 ARM: dts: mt8173: support arm64 cpuidle-dt ARM64: MediaTek MT8173: Add SCPSYS device node arm64: dts: mt8173: Add I2C device node arm64: dts: mt8173: Add watchdog device node arm64: dts: mt8173: Add PMIC wrapper device node arm64: dts: mt8173: Use real clock for UARTs arm64: dts: mt8173: Add clock controller device nodes Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 227942809b52f23cda414858b635c0285f11de00 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:23 2015 +0530 cpufreq: powernv: Restore cpu frequency to policy->cur on unthrottling If frequency is throttled due to OCC reset then cpus will be in Psafe frequency, so restore the frequency on all cpus to policy->cur when OCCs are active again. And if frequency is throttled due to Pmax capping then restore the frequency of all the cpus in the chip on unthrottling. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3dd3ebe5bb3837aeac28a23f8f22b97cb84abab6 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:22 2015 +0530 cpufreq: powernv: Report Psafe only if PMSR.psafe_mode_active bit is set On a reset cycle of OCC, although the system retires from safe frequency state the local pstate is not restored to Pmin or last requested pstate. Now if the cpufreq governor initiates a pstate change, the local pstate will be in Psafe and we will be reporting a false positive when we are not throttled. So in powernv_cpufreq_throttle_check() remove the condition which checks if local pstate is less than Pmin while checking for Psafe frequency. If the cpus are forced to Psafe then PMSR.psafe_mode_active bit will be set. So, when OCCs become active this bit will be cleared. Let us just rely on this bit for reporting throttling. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 735366fc407755626058218fc8d0430735a669ac Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:21 2015 +0530 cpufreq: powernv: Call throttle_check() on receiving OCC_THROTTLE Re-evaluate the chip's throttled state on recieving OCC_THROTTLE notification by executing *throttle_check() on any one of the cpu on the chip. This is a sanity check to verify if we were indeed throttled/unthrottled after receiving OCC_THROTTLE notification. We cannot call *throttle_check() directly from the notification handler because we could be handling chip1's notification in chip2. So initiate an smp_call to execute *throttle_check(). We are irq-disabled in the notification handler, so use a worker thread to smp_call throttle_check() on any of the cpu in the chipmask. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cb166fa937a2fbc14badcafca86202354c34a213 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:20 2015 +0530 cpufreq: powernv: Register for OCC related opal_message notification OCC is an On-Chip-Controller which takes care of power and thermal safety of the chip. During runtime due to power failure or overtemperature the OCC may throttle the frequencies of the CPUs to remain within the power budget. We want the cpufreq driver to be aware of such situations to be able to report the reason to the user. We register to opal_message_notifier to receive OCC messages from opal. powernv_cpufreq_throttle_check() reports any frequency throttling and this patch will report the reason or event that caused throttling. We can be throttled if OCC is reset or OCC limits Pmax due to power or thermal reasons. We are also notified of unthrottling after an OCC reset or if OCC restores Pmax on the chip. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 196ba2d514a13f6af1b3d78de71ce74ed2fc8bdc Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:19 2015 +0530 powerpc/powernv: Add definition of OPAL_MSG_OCC message type Add OPAL_MSG_OCC message definition to opal_message_type to receive OCC events like reset, load and throttled. Host performance can be affected when OCC is reset or OCC throttles the max Pstate. We can register to opal_message_notifier to receive OPAL_MSG_OCC type of message and report it to the userspace so as to keep the user informed about the reason for a performance drop in workloads. The reset and load OCC events are notified to kernel when FSP sends OCC_RESET and OCC_LOAD commands. Both reset and load messages are sent to kernel on successful completion of reset and load operation respectively. The throttle OCC event indicates that the Pmax of the chip is reduced. The chip_id and throttle reason for reducing Pmax is also queued along with the message. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 053819e0bf8407746cc5febf7a4947bee50377b4 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:34:18 2015 +0530 cpufreq: powernv: Handle throttling due to Pmax capping at chip level The On-Chip-Controller(OCC) can throttle cpu frequency by reducing the max allowed frequency for that chip if the chip exceeds its power or temperature limits. As Pmax capping is a chip level condition report this throttling behavior at chip level and also do not set the global 'throttled' on Pmax capping instead set the per-chip throttled variable. Report unthrottling if Pmax is restored after throttling. This patch adds a structure to store chip id and throttled state of the chip. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a34e63b14486e98cf78c99bf8ef141de7508dbc2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:50 2015 +0200 cpufreq: Pass CPU number to cpufreq_policy_alloc() Change cpufreq_policy_alloc() to take a CPU number instead of a CPU device pointer as its argument, as it is the only function called by cpufreq_add_dev() taking a device pointer argument at this point. That will allow us to split the CPU online part from cpufreq_add_dev() more cleanly going forward. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 4d1f3a5bcb489cc6f7cbc128e0c292fed7868d32 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:44 2015 +0200 cpufreq: Do not update related_cpus on every policy activation The related_cpus mask includes CPUs whose cpufreq_cpu_data per-CPU pointers have been set the the given policy. Since those pointers are only set at the policy creation time and unset when the policy is deleted, the related_cpus should not be updated between those two operations. For this reason, avoid updating it whenever the first of the "related" CPUs goes online. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit d9612a495b0bc93f5db0e0033fe4ee7abb7167c7 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:37 2015 +0200 cpufreq: Drop unused dev argument from two functions The dev argument of cpufreq_add_policy_cpu() and cpufreq_add_dev_interface() is not used by any of them, so drop it. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit d4d854d6c7706e6a5cda297e350e3626d55e9bc9 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:30 2015 +0200 cpufreq: Drop unnecessary label from cpufreq_add_dev() The leftover out_release_rwsem label in cpufreq_add_dev() is not necessary any more and confusing, so drop it. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 11ce707e6c2aea05e1f54680fb89a8a44ded5db4 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:21 2015 +0200 cpufreq: Drop cpufreq_policy_restore() Notice that when cpufreq_policy_restore() is called, its per-CPU cpufreq_cpu_data variable has been already dereferenced and if that variable is not NULL, the policy local pointer in cpufreq_add_dev() contains its value. Therefore it is not necessary to dereference it again and the policy pointer can be used directly. Moreover, if that pointer is not NULL, the policy is inactive (or the previous check would have made us return from cpufreq_add_dev()) so the restoration code from cpufreq_policy_restore() can be moved to that point in cpufreq_add_dev(). Do that and drop cpufreq_policy_restore(). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 15c0b4d222f83672407419f9c9e167e996d8ad2b Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 23:11:09 2015 +0200 cpufreq: Rework two functions related to CPU offline Since __cpufreq_remove_dev_prepare() and __cpufreq_remove_dev_finish() are about CPU offline rather than about CPU removal, rename them to cpufreq_offline_prepare() and cpufreq_offline_finish(), respectively. Also change their argument from a struct device pointer to a CPU number, because they use the CPU number only internally anyway and make them void as their return values are ignored. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit c6e53c69ef463ba2749ba9ee9b3d9d7f97dab94a Merge: 559ed40 454d3a2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Jul 28 17:21:32 2015 +0200 Merge back earlier cpufreq material for v4.3. commit 766ffb69803943c2b580a44ac14a189b875d21f6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jul 28 16:14:03 2015 +0100 arm64: pgtable: fix definition of pte_valid pte_valid should check if the PTE_VALID bit (1 << 0) is set in the pte, so fix the macro definition to use bitwise & instead of logical &&. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ed425dcf6afa2b206f6da7d7ec6a62501172b5c0 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Fri Jul 24 17:36:49 2015 +0200 spi: s3c64xx: print fifo size on probe. Printing the FIFO depth does not add much noise in the log and can be useful for debugging transfer issues. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c24695988774d56ea8d6a47ffdaf0fd32072488 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 10:26:26 2015 +0100 drm/i915: Keep the mm.bound_list in rough LRU order When we shrink our working sets, we want to avoid stealing pages from objects that likely to be reused in the near future. We first look at inactive objects before processing active objects - but what about a recently active object that is about to be used again. That object's position in the bound_list is ordered by the time of binding, not the time of last use, so the most recently used inactive object could well be at the head of the shrink list. To compensate, give the object a bump to MRU when it becomes inactive (thus transitioning to the end of the first pass in shrink lists). Conversely, bumping on inactive makes bumping on active useless, since when we do have to reap from the active working set, everything is going to become inactive very quickly and the order pretty much random - just hope for the best at that point, as once we start stalling on active objects, we can hope that the rebinding neatly orders vital objects. Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> [danvet: Resolve merge conflict.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c1d7cd228b4b46eca1dbd9bb2c6053f477a1a6ff Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jul 28 14:48:00 2015 +0100 arm64: spinlock: fix ll/sc unlock on big-endian systems When unlocking a spinlock, we perform a read-modify-write on the owner ticket in order to increment it and store it back with release semantics. In the LL/SC case, we load the 16-bit ticket using a 32-bit load and therefore store back the wrong halfword on a big-endian system, corrupting the lock after the first unlock and killing the system dead. This patch fixes the unlock code to use 16-bit accessors consistently. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 21abb1ec414c75abe32c3854848ff30e2b4a6113 Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 14:25:31 2015 -0700 Smack: IPv6 host labeling IPv6 appears to be (finally) coming of age with the influx of autonomous devices. In support of this, add the ability to associate a Smack label with IPv6 addresses. This patch also cleans up some of the conditional compilation associated with the introduction of secmark processing. It's now more obvious which bit of code goes with which feature. Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit b03e081672d9ccbff8185dd655a7bbba24223b4a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 11:44:24 2015 +0200 ARM: sunxi: dt: Convert users to the PIO interrupts binding The current DTs were setting the cell size to 2, but used the default xlate function that was assuming an interrupt cell size of 1, leading to the second part of the cell (the flags) being ignored, while we were having an inconsistent binding between the interrupts and gpio (that could also be used as interrupts). That "binding" doesn't work either with newer SoCs that have multiple irq banks. Now that we fixed the pinctrl driver to handle this like it should always have been handled, convert the DT users, and while we're at it, remove the size-cells property of PIO that is completely useless. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 505936131ea71ec998344355f7e5e8af8d6b15dc Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 15:54:30 2015 +0200 gpio: mpc8xxx: Convert mpc8xxx_gpio_chip.lock to raw_spinlock mpc8xxx_gpio_chip.lock needs to be a real spinlock in preempt-rt. Especially the interrupt related functions can not be converted to a sleeping lock. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 48356aa79ccb3df36f654d8f622256052bb2bb65 Author: Wei Chen <Wei.Chen@xxxxxxx> Date: Mon Jul 27 11:57:25 2015 +0000 pinctrl: sirf: add power management support for atlas7 We had not implemented the pm interface of atlas7 pinctrl and gpio drivers. So when system resumes from sleep, all pin configuration and gpio status will be lost. Now, we implement these interfaces to support pm. At the same time, this patch also drops a lot of if-else by look-up table for getting and setting pull. Signed-off-by: Wei Chen <Wei.Chen@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e8d36d5dbb6a6ec4f5222f8775d664ec29d5527d Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:13 2015 -0500 ARM: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Sekhar Nori <nsekhar@xxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Gregory Clement <gregory.clement@xxxxxxxxxxxxxxxxxx> Acked-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: Imre Kaloz <kaloz@xxxxxxxxxxx> Acked-by: Krzysztof Halasa <khalasa@xxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: Roland Stigge <stigge@xxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Simtec Linux Team <linux@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Wan ZongShun <mcuos.com@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-omap@xxxxxxxxxxxxxxx Cc: linux-samsung-soc@xxxxxxxxxxxxxxx Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1051fade4b1fac0de19478b33383b25bd1d24d10 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sat Jul 25 11:23:12 2015 +0200 pinctrl: nomadik: split stn8815 UART0 pin groups Split the UART pin groups so we can activate RX/TX, CTS/RTS and the modem pins (DCD, DSR, RI, DTR) as three different groups with function u0. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 28355f81969962cf01aef5b13d7de5b4ab0c5f13 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Jul 14 10:29:54 2015 +0200 gpio: defer probe if pinctrl cannot be found When an OF node has a pin range for its GPIOs, return -EPROBE_DEFER if the pin controller isn't available. Otherwise, the GPIO range wouldn't be set at all unless the pin controller probed always before the GPIO chip. With this change, the probe of the GPIO chip will be deferred and will be retried at a later point, hopefully once the pin controller has been registered and probed already. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 19c233b79d1af7b5af1ec68c1172848648184449 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Mon Jul 27 18:27:52 2015 -0400 ARM: appropriate __init annotation for const data Init data marked const should be annotated with __initconst for correctness and not __initdata. In some cases the array gathering references to that data has to be marked const as well. This fixes LTO builds that otherwise fail with section mismatch errors. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3b9a02e844948fc14cb32a06bc00e0e61bde3577 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Jul 27 11:47:38 2015 +0200 drm/i915: Fake AGP is dead Remove the leftovers, yay! AGP for i915 kms died long ago with commit 3bb6ce66866310f50d461b9eff949c1ce95560ce Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Nov 13 22:14:16 2013 +0100 drm/i915: Kill legeacy AGP for gen3 kms and with ums now gone to there's really no users any more. Note that device_is_agp is only called when DRIVER_USE_AGP is set and since we've unconditionally cleared that since a while there are really no users left for i915_driver_device_is_agp. Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4150e50bf5f2171fbe7dfdbc7f2cdf44676b79a4 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Wed Mar 18 11:28:06 2015 +0000 arm64: Use last level TLBI for user pte changes The flush_tlb_page() function is used on user address ranges when PTEs (or PMDs/PUDs for huge pages) were changed (attributes or clearing). For such cases, it is more efficient to invalidate only the last level of the TLB with the "tlbi vale1is" instruction. In the TLB shoot-down case, the TLB caching of the intermediate page table levels (pmd, pud, pgd) is handled by __flush_tlb_pgtable() via the __(pte|pmd|pud)_free_tlb() functions and it is not deferred to tlb_finish_mmu() (as of commit 285994a62c80 - "arm64: Invalidate the TLB corresponding to intermediate page table levels"). The tlb_flush() function only needs to invalidate the TLB for the last level of page tables; the __flush_tlb_range() function gains a fourth argument for last level TLBI. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit da4e73303e448aa23b36249a85e239ca118ce941 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Jul 24 09:59:55 2015 +0100 arm64: Clean up __flush_tlb(_kernel)_range functions This patch moves the MAX_TLB_RANGE check into the flush_tlb(_kernel)_range functions directly to avoid the undescore-prefixed definitions (and for consistency with a subsequent patch). Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c53e0baa6f34b7051790e0fba9d782ec4efe58bd Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Tue Jul 28 10:31:06 2015 +0100 arm64: mm: mark create_mapping as __init Currently create_mapping is marked with __ref, apparently because it refers to early_alloc. However, create_mapping has no logic to prevent erroneous use of early_alloc after it has been freed, and is only ever called by __init functions anyway. Thus the __ref marker is misleading and unnecessary. Instead, this patch marks create_mapping as __init, resulting in warnings if it is used from a a non __init functions, and allowing its memory to be reclaimed. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit dc9ab949950352d716a6608343d7076cc1589498 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Jul 28 17:21:47 2015 +0900 MAINTAINERS: pinctrl: Move Thomas Abraham to CREDITS Thomas Abraham's Linaro email address bounces for several months. Also there were no replies for several emails sent on LKML to his Samsung address. Move his name to CREDITS. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Link: http://lkml.org/lkml/2015/6/15/15 Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9458120ea112c06f56ea1b75a1511815d36aecc2 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:22 2015 -0500 pinctrl: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Lee Jones <lee@xxxxxxxxxx> Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Cc: Thomas Abraham <thomas.abraham@xxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-mediatek@xxxxxxxxxxxxxxxxxxx Cc: linux-samsung-soc@xxxxxxxxxxxxxxx Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 482d638f98cc626bf01d4c9f6d6d35fc77d630c8 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 13:55:53 2015 +0200 ARM: mvebu: Warn about the wake-up sources not taken into account in suspend On the Armada 370/XP/38x/39x SoCs when the suspend to ram feature is supported, the SoCs are shutdown and will be woken up by an external micro-controller, so there is no possibility to setup wake-up sources from Linux. However, in standby mode, the SoCs stay powered and it is possible to wake-up from any interrupt sources. Since when the users configures the enabled wake-up sources there is no way to know if the user will be doing suspend to RAM or standby, we just allow all wake-up sources to be enabled, and only warn when entering suspend to RAM The purpose of this patch is to inform the user that in suspend to ram mode, the wake-up sources won't be taken into consideration. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 4b45efe8526359a11ca60a299bef3aebf413fd77 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:04:03 2015 +0300 mfd: Add support for Intel Sunrisepoint LPSS devices The new coming Intel platforms such as Skylake will contain Sunrisepoint PCH. The main difference to the previous platforms is that the LPSS devices are compound devices where usually main (SPI, HSUART, or I2C) and DMA IPs are present. This patch brings the driver for such devices found on Sunrisepoint PCH. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 667dfed98615ae1fc4cc05b0763078435598c0f5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:04:02 2015 +0300 dmaengine: add a driver for Intel integrated DMA 64-bit Intel integrated DMA (iDMA) 64-bit is a specific IP that is used as a part of LPSS devices such as HSUART or SPI. The iDMA IP is attached for private usage on each host controller independently. While it has similarities with Synopsys DesignWare DMA, the following distinctions doesn't allow to use the existing driver: - 64-bit mode with corresponding changes in Hardware Linked List data structure - many slight differences in the channel registers Moreover this driver is based on the DMA virtual channels framework that helps to make the driver cleaner and easy to understand. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b9a8a271c38fcb1664fd6034fb9326cc9a0dec94 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:04:01 2015 +0300 mfd: make mfd_remove_devices() iterate in reverse order The newly introduced device_for_each_child_reverse() would be used when MFD core removes the device. After this patch applied the devices will be removed in a reversed order. This behaviour is useful when devices have implicit dependency on order, i.e. consider MFD device with serial bus controller, such as SPI, and DMA IP that is attached to serial bus controller: before remove the DMA driver we have to be ensured that no DMA transfers is ongoing and the requested channel are unused. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3d060aeb72113cda0acf906bfe26914fc689506a Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:04:00 2015 +0300 driver core: implement device_for_each_child_reverse() The new function device_for_each_child_reverse() is helpful to traverse the registered devices in a reversed order, e.g. in the case when an operation on each device should be done first on the last added device, then on one before last and so on. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2e0fed7f7cdc41679e209c5636ad7537dc6210a9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:03:59 2015 +0300 klist: implement klist_prev() klist_prev() gets the previous element in the list. It is useful to traverse through the list in reverse order, for example, to provide LIFO (last in first out) variant of access. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ddef08dd00f5548f943422c86e4ffe67dd040b6c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 27 18:03:58 2015 +0300 Driver core: wakeup the parent device before trying probe If the parent is still suspended when driver probe is attempted, the result may be failure. For example, if the parent is a PCI MFD device that has been suspended when we try to probe our device, any register reads will return 0xffffffff. To fix the problem, making sure the parent is always awake before attempting driver probe. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 712e960f0ee9337f3473ba3de2bcfc7e87b7c5a4 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:03:57 2015 +0300 ACPI / PM: Attach ACPI power domain only once Some devices, like MFD subdevices, share a single ACPI companion device so that they are able to access their resources and children. However, currently all these subdevices are attached to the ACPI power domain and this might cause that the power methods for the companion device get called more than once. In order to solve this we attach the ACPI power domain only to the first physical device that is bound to the ACPI companion device. In case of MFD devices, this is the parent MFD device itself. Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 13b2c4a0c3b1cd37ee6bcfbb5b6e2b94e9a75364 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Jul 27 18:03:56 2015 +0300 PM / QoS: Make it possible to expose device latency tolerance to userspace Typically when a device is created the bus core it belongs to (for example PCI) does not know if the device supports things like latency tolerance. This is left to the driver that binds to the device in question. However, at that time the device has already been created and there is no way to set its dev->power.set_latency_tolerance anymore. So follow what has been done for other PM QoS attributes as well and allow drivers to expose and hide latency tolerance from userspace, if the device supports it. Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 23393d49fb75ca97b179668aa86b7038c2dc0831 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Jul 27 15:55:16 2015 -0500 gpio: kill off set_irq_flags usage set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed as most platforms don't use probing. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Ray Jui <rjui@xxxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Cc: linux-tegra@xxxxxxxxxxxxxxx Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0f17c97e3eceb255b1078a1e3a03d2bb00245d9b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 09:45:48 2015 +0200 ARM: at91/dt: sama5d4: move ADC pinctrl to board device trees The ADC pinctrl is board specific, move it to the board device trees. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 07886bbceaf4d6f3fc69e6d8e68c34fc39196dbc Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 09:45:47 2015 +0200 ARM: at91/dt: sama5d4: fix external trigger property The property is actually atmel,adc-use-external-triggers. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit caa8c508494c5de3ea70b44804abfd003f6b0107 Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Mon Jul 27 12:58:32 2015 -0700 crypto: qat - remove unnecessary list iteration There's no need to iterate through the list for instances in the accel_table since the number of devices is already known in this file. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0c5f0aa5dd92a36a2c6491695abcb95196b88ef6 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Fri Jul 24 15:41:27 2015 -0700 crypto: jitterentropy - use safe format string parameters Since the API for jent_panic() does not include format string parameters, adjust the call to panic() to use a literal string to avoid any future callers from leaking format strings into the panic message. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ec0d6fa3e8849fd52755bca6cec550985d66546d Author: Ahsan Atta <ahsan.atta@xxxxxxxxx> Date: Fri Jul 24 13:18:26 2015 -0700 crypto: qat - Fix typo othewise->otherwise Signed-off-by: Ahsan Atta <ahsan.atta@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 13dd7bee20634a4991a75a551ce0707eb6aefd29 Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Fri Jul 24 13:18:25 2015 -0700 crypto: qat - remove unused define Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ea77fcdaf1aa6c3e69ba87cfef2e89b07f929598 Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Fri Jul 24 13:18:25 2015 -0700 crypto: qat - fix bug in ADF_RING_SIZE_BYTES_MIN macro The subject macro mistakenly compares the passed-in ring size in bytes with ADF_RING_SIZE_4K which is 0x6 (an internal representation of 4KB) rather than comparing with the intended value of 4096. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5995752eadfd64edece5810b6fb0639806726594 Author: Bruce Allan <bruce.w.allan@xxxxxxxxx> Date: Fri Jul 24 13:18:25 2015 -0700 crypto: qat - remove redundant struct elem The element pci_dev_id in the struct adf_hw_device_data is redundant since the PCI device id can be retrieved from the struct pci_dev. Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d257f2980feb431ac7f0ffa1978fb694f56c7782 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Mon Jul 27 17:28:58 2015 -0700 Input: tsc2005 - convert to gpiod The GPIOD API can be used from boardcode, so that the DT check can be removed. To avoid breaking existing boardcode, _optional() variant has been chosen. For completely removing the DT check, the regulator has also been made optional, so that it could be supplied from boardcode. As a side-effect the patch fixes the after-probe reset GPIO state, so that the device is not kept in reset state. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 80b46aa69e543939e39eca5ae96fe508a1da2230 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Mon Jul 27 17:28:37 2015 -0700 Input: tsc2005 - simplify drvdata acquisition Using dev_*_drvdata() instead of spi_*_drvdata() reduces lines of code and prepares the driver for possible tsc2004 support, which is i2c based. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 273cf48aa95a86ee368a10b9a2a6b0c62544ffe5 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Mon Jul 27 17:27:25 2015 -0700 Input: tsc2005 - convert to regmap Convert driver so that it uses regmap instead of directly using spi_transfer for all register accesses. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f00d1f8f1d9720dcf9ec7911916b685e6f92729f Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Mon Jul 27 17:27:09 2015 -0700 Input: tsc2005 - fix Kconfig indentation Replace spaces with tab, so that the tsc2005 Kconfig entry matches the other entries in drivers/input/touchscreen/Kconfig. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a636df9673e1e4627722777fe6075943372e76be Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Mon Jul 27 17:26:38 2015 -0700 Input: tsc2005 - improve readability of register defines Improve defines for first control byte by removing 0x00 prefix (the defines are for 8 bit values and not for 16 bit values) and expose register structure by exposing the shift. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 730daa164e7c7e31c08fab940549f4acc3329432 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Jul 23 18:02:48 2015 -0700 Yama: remove needless CONFIG_SECURITY_YAMA_STACKED Now that minor LSMs can cleanly stack with major LSMs, remove the unneeded config for Yama to be made to explicitly stack. Just selecting the main Yama CONFIG will allow it to work, regardless of the major LSM. Since distros using Yama are already forcing it to stack, this is effectively a no-op change. Additionally add MAINTAINERS entry. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 60e95f43fc8573e81f54b0c1e0bc542c2260d956 Author: Linda Knippers <linda.knippers@xxxxxx> Date: Wed Jul 22 16:17:22 2015 -0400 nfit: Don't check _STA on NVDIMM devices The _STA only applies to the root device, not the individual NVDIMMS, so don't check here. NVDIMM device state flags are checked elsewhere. Signed-off-by: Linda Knippers <linda.knippers@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 6b47496a6fc81816e7edaf8224dfb88e402a05f5 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Thu Jul 23 11:58:48 2015 -0600 libnvdimm, pmem: Change pmem physical sector size to PAGE_SIZE Based on a patch: c8fa317 brd: Request from fdisk 4k alignment by Boaz Harrosh, allow fdisk to create properly aligned partitions for DAX. This will also cause mkfs.ext4 to emit a warning if using a file system block size of less than PAGE_SIZE. Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Elliott, Robert <Elliott@xxxxxx> Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Acked-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Acked-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 39c686b862cdb2049b90e095b6c6c727b2a7ab60 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Thu Jul 9 13:25:36 2015 -0600 libnvdimm: Add DSM support for Address Range Scrub commands Add support for the three ARS DSM commands: - Query ARS Capabilities - Queries the firmware to check if a given range supports scrub, and if so, which type (persistent vs. volatile) - Start ARS - Starts a scrub for a given range/type - Query ARS Status - Checks status of a previously started scrub, and provides the error logs if any. The commands are described by the example DSM spec at: http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf Also add these commands to the nfit_test test framework, and return canned data. Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit ec92777f2ba93c00387b8fe53780c25adc57c744 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Thu Jul 9 13:25:35 2015 -0600 libnvdimm: Update name of the ars_status_record mask field The spec suggests that this is a simple 'length' field, not a mask. Update the name accordingly. Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 5e32940621eb62064d98f42c9889db71b0368bde Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Sat Jul 11 10:02:46 2015 -0400 libnvdimm, btt: sparse fix Fix: drivers/nvdimm/btt.c:635:29: warning: restricted __le64 degrades to integer Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 57d866e606ddf2a0cd51f7140cfd8df1fdaa48f6 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 22:39:38 2015 +0200 clk: fix some determine_rate implementations Some determine_rate implementations are not returning an error when they failed to adapt the rate according to the rate request. Fix them so that they return an error instead of silently returning 0. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> CC: Jonathan Corbet <corbet@xxxxxxx> CC: Tony Lindgren <tony@xxxxxxxxxxx> CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx> CC: "Emilio López" <emilio@xxxxxxxxxxxxx> CC: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> CC: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> CC: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> CC: Stephen Warren <swarren@xxxxxxxxxxxxx> CC: Thierry Reding <thierry.reding@xxxxxxxxx> CC: Alexandre Courbot <gnurou@xxxxxxxxx> CC: linux-doc@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx CC: linux-omap@xxxxxxxxxxxxxxx CC: linux-mips@xxxxxxxxxxxxxx CC: linux-tegra@xxxxxxxxxxxxxxx Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0817b62cc037a56c5e4238c7eb7522299ea27aef Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 20:48:08 2015 +0200 clk: change clk_ops' ->determine_rate() prototype Clock rates are stored in an unsigned long field, but ->determine_rate() (which returns a rounded rate from a requested one) returns a long value (errors are reported using negative error codes), which can lead to long overflow if the clock rate exceed 2Ghz. Change ->determine_rate() prototype to return 0 or an error code, and pass a pointer to a clk_rate_request structure containing the expected target rate and the rate constraints imposed by clk users. The clk_rate_request structure might be extended in the future to contain other kind of constraints like the rounding policy, the maximum clock inaccuracy or other things that are not yet supported by the CCF (power consumption constraints ?). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> CC: Jonathan Corbet <corbet@xxxxxxx> CC: Tony Lindgren <tony@xxxxxxxxxxx> CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx> CC: "Emilio López" <emilio@xxxxxxxxxxxxx> CC: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> CC: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> CC: Prashant Gaikwad <pgaikwad@xxxxxxxxxx> CC: Stephen Warren <swarren@xxxxxxxxxxxxx> CC: Thierry Reding <thierry.reding@xxxxxxxxx> CC: Alexandre Courbot <gnurou@xxxxxxxxx> CC: linux-doc@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx CC: linux-omap@xxxxxxxxxxxxxxx CC: linux-mips@xxxxxxxxxxxxxx CC: linux-tegra@xxxxxxxxxxxxxxx [sboyd@xxxxxxxxxxxxxx: Fix parent dereference problem in __clk_determine_rate()] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Tested-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Folded in fix from Heiko for fixed-rate clocks without parents or a rate determining op] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0caa36603300dd4ff4841227cf372e91e940c8bd Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 16:25:46 2015 +0300 ARM: shmobile: r8a7791: Add JPU device node. This patch contains device tree node definition for JPEG codec peripheral found in the Renesas R-Car r8a7791 SoC. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fb847575f8f5a9580c26bdc3e08fe49639144619 Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 16:25:45 2015 +0300 ARM: shmobile: r8a7790: Add JPU device node. This patch contains device tree node definition for JPEG codec peripheral found in the Renesas R-Car r8a7790 SoC. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c99cd90d98a98aa101b169e44d249e5cd71f46f2 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 16 16:54:03 2015 +0900 ARM: shmobile: r8a7779: Remove legacy SoC code Now when the Marzen legacy board code is gone this patch removes the unused r8a7779 legacy SoC code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b97fdb836a36df53de5685278c0126a222903c5e Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 16 16:53:52 2015 +0900 ARM: shmobile: marzen: Remove legacy board code Remove Marzen legacy board code written in C. Instead board support expressed in DT shall be used together with Multiplatform and shmobile_defconfig. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 640780efdd97eefd9ee78e1cd03ba97b1a1e1d9a Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 13 15:15:33 2015 +0900 ARM: shmobile: r8a7779: Cleanup header file Remove unused function prototypes from r8a7779.h and make the functions static. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 26f9e03fb1c8b8b5dd2f1ad34da775cc129df98a Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 13 15:15:12 2015 +0900 ARM: shmobile: marzen-reference: Remove C board code The generic r8a7779 machine vector is now feature-wise equivalent to the Marzen-reference case, so simply remove the Marzen C board code to fall over on the generic r8a7779 machine vector. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4055a722d260ca30610fc52238d0aa49ff5bffa9 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Jul 15 15:42:35 2015 +0900 ARM: shmobile: Enable fixed voltage regulator in shmobile_defconfig This is selected by MACH_MARZEN which is enabled in shmobile_defconfig, however, MACH_MARZEN is going away along with the board code it enables. Acked-by: Magnus Damm <damm@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 24b390aad2930b889b6e15fc7cf7bfa7c99fad21 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Jul 27 17:09:40 2015 -0500 PCI: Remove unused "pci_probe" flags The following flags are only used on x86, but they got copied to FR-V, MN10300, and SuperH: PCI_PROBE_BIOS PCI_PROBE_CONF1 PCI_PROBE_CONF2 PCI_ASSIGN_ROMS PCI_NO_CHECKS PCI_BIOS_IRQ_SCAN PCI_ASSIGN_ALL_BUSSES FR-V and MN10300 do test for PCI_ASSIGN_ROMS, but they never set it, so it's dead code. Remove the unused flags above. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 8c1a91f11174ed00bc8269150636a9ad638efe24 Merge: 0b42c28 e38af4f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 27 15:00:37 2015 -0700 Merge branch 'mlx4-802.1ad-accel' Amir Vadai says: ==================== net/mlx4_en: Hardware accelerated 802.1ad This patchset by Hadar introduces support in Hardware accelerated 802.1ad, for ConnectX-3pro NIC's. In order to support existing deployment, and due to some hardware limitations, the feature is disabled by default, and needed to be enabled using a private flag in ethtool. Ofcourse user can enable the private flag only if hardware has support. After being enabled, the standard ethtool -k/-K can be used. Patchset was applied and tested over commit 71790a2 ("hv_netvsc: Add structs and handlers for VF messages") ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e38af4faf01d0b35df6995fb395e5fa4a4898289 Author: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Date: Mon Jul 27 14:46:34 2015 +0300 net/mlx4_en: Add support for hardware accelerated 802.1ad vlan To enable device support in accelerated 802.1ad vlan, the port capability "packet has vlan enable" (phv_en) should be set. Firmware won't work properly, in case phv_en is not set. The user can enable "phv_en" port capability with the new ethtool private flag phv-bit. The phv-bit private flag default value is OFF, users who are interested in 802.1ad hardware acceleration should turn ON the phv-bit private flag: $ ethtool --set-priv-flags eth1 phv-bit on Once the private flag is set, the device is ready for 802.1ad vlan acceleration. The user should also change the interface device features and turn on "tx-vlan-stag-hw-insert" which is off by default: $ ethtool -K eth1 tx-vlan-stag-hw-insert on "phv-bit" private flag setting is available only for Physical Functions(PF), the Virtual Function (VF) will be able to use the feature by setting "tx-vlan-stag-hw-insert" ethtool device feature only if the feature was enabled by the Hypervisor. Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e802f8e4c54e6adf4215ef9fa3d6eea8fcb10bf9 Author: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Date: Mon Jul 27 14:46:33 2015 +0300 net/mlx4: Prepare VLAN macros for 802.1ad Hardware accelerated support To add Hardware accelerated support in 802.1ad vlan, replace Current VLAN macros to CVLAN. Replace: MLX4_WQE_CTRL_INS_VLAN MLX4_CQE_VLAN_PRESENT_MASK With: MLX4_WQE_CTRL_INS_CVLAN MLX4_CQE_CVLAN_PRESENT_MASK Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c509a48ff999463f698ed5082875a938094bfb3 Author: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Date: Mon Jul 27 14:46:32 2015 +0300 net/mlx4_en: Prepare ethtool private flags to support more flags Currently we support only one ethtool private flag. Prepare mlx4_en_set_priv_flags function to support more than one private flag. Will be used in the next patch to support hardware accelerated 802.1ad vlan. Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77fc29c4bbbbd01ee22c50ce8260fd0f2e08c124 Author: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Date: Mon Jul 27 14:46:31 2015 +0300 net/mlx4_core: Preparations for 802.1ad VLAN support mlx4_core preparation to support hardware accelerated 802.1ad VLAN device. To allow 802.1ad accelerated device, "packet has vlan" (phv) Firmware capability should be available. Firmware without the phv capability won't behave properly and can't support 802.1ad device acceleration. The driver checks the Firmware capability and sets the phv bit accordingly in SET_PORT command. Signed-off-by: Hadar Hen Zion <hadarh@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b42c2863b3b9f79c42f0b877249007e5adfc921 Merge: e11f40b 5bf705b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 27 14:57:41 2015 -0700 Merge branch 'arm-bpf-next' Nicolas Schichan says: ==================== ARM BPF JIT features This series adds support for more instructions to the ARM BPF JIT namely skb netdevice type retrieval, skb payload offset retrieval, and skb packet type retrieval. This allows 35 tests to use the JIT instead of 29 before. This series depends on the "BPF JIT fixes for ARM" serie sent earlier. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5bf705b43b7243c68e831ed3072db2ed00edc7fa Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Mon Jul 27 15:06:51 2015 +0200 ARM: net: add support for BPF_ANC | SKF_AD_HATYPE in ARM JIT. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 303249ab168f58ee52c502389b9a8046af78d142 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Mon Jul 27 15:06:50 2015 +0200 ARM: net: add support for BPF_ANC | SKF_AD_PAY_OFFSET in ARM JIT. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1447f93f22add339ee63d1a7015309d9fbfa47e8 Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Mon Jul 27 15:06:49 2015 +0200 ARM: net: add support for BPF_ANC | SKF_AD_PKTTYPE in ARM JIT. Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 504155cafffbe35d5678c10af7777303ead01928 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 14:52:19 2015 +0100 ARM: dts: apq8064: fix missing gsbi cell-index Without this i2c instance for missing cell-index nodes would fail, fix it by adding correct cell-index. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 86e252a4f850a525ad5514163e14a36f1f1d19a4 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Mon Jul 27 14:52:10 2015 +0100 ARM: dts: apq8064: Add DT support for GSBI6 and for UART pin mux This change adds DT support for GSBI6 and muxes the gpio pins as UART lines. Also defines a alias for serial port on these lines. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> [Srinivas Kandagatla]: fix pinctrl location and rename alias correctly Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit bce3604696769afd4ec575f15499aad174e14a74 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 14:52:02 2015 +0100 ARM: dts: apq8064: add pm8921 mpp support This patch adds pmic pm8921 mpp gpio controller node. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 874443fe9e339378d973f8752d6b4ad2ab9fe364 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Jul 27 14:51:52 2015 +0100 ARM: dts: apq8064: Add pm8921 mfd and its gpio node This patch adds pmic gpio node to the device tree, this node is necessary for devices like wlan to control reset gpio. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 27e50c9708263995e8bbb2843a5d1a264e1dfe4d Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jul 27 11:10:44 2015 -0300 ARM: multi_v7_defconfig: Select MX6UL and MX7D Let MX6UL and MX7D SoCs be selected by default. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0e83c71cbd3b675757008516ff0f3db71d5b2e12 Merge: 97de17f 764c222 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 20:43:52 2015 +0200 Merge tag 'prima2-defconfig-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux into next/defconfig Merge "CSR prima2_defconfig fixes for 4.2" from Barry Song: enable SiRFSoC device drivers in CSR prima2_defconfig make savedefconfig at first, then enable 1. sdhci driver 2. onkey 3. rtc 4. hwspinlock for prima2_defconfig * tag 'prima2-defconfig-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux: ARM: prima2_defconfig: enable build for hwspinlock ARM: prima2_defconfig: enable build for RTC ARM: prima2_defconfig: enable build for misc input ARM: prima2_defconfig: enable build for SiRFSoC SDHC host ARM: prima2_defconfig: fix the outdated defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 764c222555fe80cbc8fcbed985863e9b07858d51 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Jul 13 22:13:47 2015 +0800 ARM: prima2_defconfig: enable build for hwspinlock This patch enables hardware spinlock driver for CSRatlas7 platforms. Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 3cbedb88478009cf5415a8eb1804eceb7088bb1a Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Jul 13 22:05:10 2015 +0800 ARM: prima2_defconfig: enable build for RTC This patch enables RTC_CLASS and RTC driver for SiRFSoC platforms. Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 9dd105430a1708ae8692aaa98ee324553d0dbdd8 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Jul 13 21:59:52 2015 +0800 ARM: prima2_defconfig: enable build for misc input we need INPUT_MISC to enable INPUT_SIRFSOC_ONKEY which is the onkey driver for SiRFSoC platforms. Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit de124e87425c801e187a301604873265094153f3 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Jul 13 21:55:17 2015 +0800 ARM: prima2_defconfig: enable build for SiRFSoC SDHC host this patch enables the MMC/SDHCI driver for SiRFSoC platforms. Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 79302812c1f0f13daeb7e81a9d22087b19f86128 Author: Barry Song <Baohua.Song@xxxxxxx> Date: Mon Jul 13 21:48:37 2015 +0800 ARM: prima2_defconfig: fix the outdated defconfig this patch is againest v4.2-rc1, by doing: $ make ARCH=arm prima2_defconfig $ make ARCH=arm savedefconfig $ cp defconfig arch/arm/configs/prima2_defconfig Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> commit 458e2c82c5fbfbc431598636c05bdb21feb7056f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jul 27 15:15:59 2015 -0300 Revert "tty: serial: imx.c: Reset UART before activating interrupts" This reverts commit e95044ba4fee93f5ea8a1a24b2d921e148503833. Commit e95044ba4fee93 ("tty: serial: imx.c: Reset UART before activating interrupts") terribly messes up with the console on mx6 boards, so let's revert it. Reported-by: kernelci.org bot <bot@xxxxxxxxxxxx> Cc: David Jander <david@xxxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 722b262c966a388a1f8bfcdd100cd19c4ce59ab9 Merge: 4e02bea cbfe8fa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 11:15:16 2015 -0700 Merge 4.2-rc4 into usb-next We want the USB fixes that went into that release in this branch as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92311e46ecf2298d87f175c8449ab4d8c400a38e Merge: d684779 cbfe8fa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 11:12:39 2015 -0700 Merge 4.2-rc4 into tty-next Other serial driver work wants to build on patches now in 4.2-rc4 so merge the branch so this can properly happen. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e64e22449023dc89dfb92c6f19d4c5b03f46889 Merge: 4ad2adc9 cbfe8fa Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 11:10:05 2015 -0700 Merge 4.2-rc4 into staging-next We want the iio and other fixes in this branch as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f883d10a18b971a3646303d12ef75138dfd31f9 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 18:36:54 2015 +0100 arm64: debug: rename enum debug_el to avoid symbol collision lib/list_sort.c defines a 'struct debug_el', where "el" is assumedly a a contraction of "element". This conflicts with 'enum debug_el' in our asm/debug-monitors.h header file, where "el" stands for Exception Level. The result is build failure when targetting allmodconfig, so rename our enum to 'dbg_active_el' to be slightly more explicit about what it is. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 14e51e599db0b5bd7d2fc11f144b68c38aa9d0c9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:23:17 2015 +0900 misc: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1037b2787b6df12f31b7051f7cdbb289f7972ee7 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 13 17:32:28 2015 +0530 char: misc: fix error path Lets call remove_proc_entry() in the error path only if we have successfully created "misc" in procfs. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 344e62b36d3fa680ffbd35ee26b52f7bf4c1c4ec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Jul 13 17:32:27 2015 +0530 char: misc: remove redundant ifdef The check for CONFIG_PROC_FS is not required as the check is being done in proc_fs.h and incase CONFIG_PROC_FS is not defined then proc_create() is defined as NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 662ba3dbceca3ca284885a464ecb8c936f417003 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Mon Jul 27 03:32:53 2015 +0100 arm64: mm: add __init section marker to free_initrd_mem It is not needed after booting, this patch moves the free_initrd_mem() function to the __init section. This patch also make keep_initrd __initdata, to reduce kernel size. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4b0c53e9e1a2a785746b2d379a32cb70b4dbb2fd Merge: a11c51a 7c14898 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Jul 27 17:56:18 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: New features: - Introduce PERF_RECORD_SWITCH(_CPU_WIDE) and use it in 'record' to ask for context switches, allowing non priviledged tasks to know when they are switched in and out, which wasn't possible with the other context switch tracepoint and software events, see the patch description for a comprehensive justification (Adrian Hunter) - Stop collecting /proc/kallsyms in perf.data files, saving about 4.5MB on a typical x86-64 system, use the the symbol resolution routines used in all the other tools (report, top, etc) now that we can ask libtraceevent to use perf's symbol resolution code. (Arnaldo Carvalho de Melo) User visible fixes: - Expose perf's symbol resolver to libtraceevent, so that its plugins can resolve tracepoint fields to kernel functions, like the 'function' field in the "timer:hrtimer_start tracepoint" (Arnaldo Carvalho de Melo) Infrastructure changes: - Map propagation of thread and cpu maps improvements, prep work for 'perf stat' new features (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 309585b0b931b291d0525b2830161ee76a2f23ff Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 16:55:32 2015 +0100 arm64: elf: use cpuid_feature_extract_field for hwcap detection cpuid_feature_extract_field takes care of the fiddly ID register field sign-extension, so use that instead of rolling our own version. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2e94da13790336eb3fd00fb5e97610dd9aebe213 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 16:23:58 2015 +0100 arm64: lse: use generic cpufeature detection for LSE atomics Rework the cpufeature detection to support ISAR0 and use that for detecting the presence of LSE atomics. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0e4a07092fc833dc3d972a3394398aef68217c13 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 15:54:13 2015 +0100 arm64: kconfig: group the v8.1 features together ARMv8 CPUs do not support any of the v8.1 features, so group them together in Kconfig to make it clear that they're part of 8.1 and not relevant to older cores. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9559b3a38b26ab8410aeb822cf0596ea0b4adde4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Jul 14 10:49:46 2015 -0300 ARM: imx_v6_v7_defconfig: Select CONFIG_IKCONFIG_PROC It is useful to know how the kernel was configured via: zcat /proc/config.gz ,so select the CONFIG_IKCONFIG_PROC option. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3e1d9c6f241961e2e21b8df9de5ee12e3dc6f177 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:26:49 2015 +0300 power: olpc_battery: clean up eeprom read function The change removes redundant sysfs binary file boundary check while reading eeprom content from userspace, the check is done on caller side in fs/sysfs/file.c, if binary attribute size is not zero. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c739dc83a0b6db01abfbcc5246a30c7a575e4272 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 14:11:55 2015 +0100 arm64: lse: rename ARM64_CPU_FEAT_LSE_ATOMICS for consistency Other CPU features follow an 'ARM64_HAS_*' naming scheme, so do the same for the LSE atomics. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9f28b86552aef94733387814a57755cb0019cfb9 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:26:48 2015 +0300 power: ds2781_battery: clean up eeprom read/write functions The change removes redundant calculation of left space on eeprom while reading or writing "param_eeprom" or "user_eeprom", the checks are not needed, since this task is done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 95eff6b27c40c7205f72f354712c3687d808e7f6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 14:57:47 2015 +0100 arm64: kconfig: select HAVE_CMPXCHG_LOCAL We implement an optimised cmpxchg_local macro, so let the kernel know. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 753f15833c4d782ee41e333f66bfe424a39680e6 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Jul 27 00:26:47 2015 +0300 power: ds2780_battery: clean up eeprom read/write functions The change removes redundant sysfs binary file boundary checks while reading or writing "param_eeprom" or "user_eeprom", the checks are not needed, since this task is done on caller side in fs/sysfs/file.c Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit db26217e6f54647b137a0fe1f2ab346de67d6f3e Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 14:44:06 2015 +0100 arm64: atomic64_dec_if_positive: fix incorrect branch condition If we attempt to atomic64_dec_if_positive on INT_MIN, we will underflow and incorrectly decide that the original parameter was positive. This patches fixes the broken condition code so that we handle this corner case correctly. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6059a7b6e818023436a9058170a4fea1c670dc98 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jun 4 17:46:37 2015 +0100 arm64: atomics: implement atomic{,64}_cmpxchg using cmpxchg We don't need duplicate cmpxchg implementations, so use cmpxchg to implement atomic{,64}_cmpxchg, like we do for xchg already. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0ea366f5e1b6413a6095dce60ea49ae51e468b61 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 13:31:10 2015 +0100 arm64: atomics: prefetch the destination word for write prior to stxr The cost of changing a cacheline from shared to exclusive state can be significant, especially when this is triggered by an exclusive store, since it may result in having to retry the transaction. This patch makes use of prfm to prefetch cachelines for write prior to ldxr/stxr loops when using the ll/sc atomic routines. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a82e62382fcbbf5c3348e802af73583e0cac39c0 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jun 4 16:41:36 2015 +0100 arm64: atomics: tidy up common atomic{,64}_* macros The common (i.e. identical for ll/sc and lse) atomic macros in atomic.h are needlessley different for atomic_t and atomic64_t. This patch tidies up the definitions to make them consistent across the two atomic types and factors out common code such as the add_unless implementation based on cmpxchg. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4e39715f4b5cb3b44576fedb2d38aca87de3cf48 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 14:47:59 2015 +0100 arm64: cmpxchg: avoid memory barrier on comparison failure cmpxchg doesn't require memory barrier semantics when the value comparison fails, so make the barrier conditional on success. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0bc671d3f4bee9c31110d096ada0de52380e693d Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 14:26:59 2015 +0100 arm64: cmpxchg: avoid "cc" clobber in ll/sc routines We can perform the cmpxchg comparison using eor and cbnz which avoids the "cc" clobber for the ll/sc case and consequently for the LSE case where we may have to fall-back on the ll/sc code at runtime. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e9a4b795652f654a7870727e5333c1b709b8736c Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu May 14 18:05:50 2015 +0100 arm64: cmpxchg_dbl: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of our cmpxchg_double primitives so that the LSE casp instruction is used instead. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c342f78217e822d2178265b0b1de232eeb717149 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Apr 23 20:08:49 2015 +0100 arm64: cmpxchg: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of our cmpxchg primitives so that the LSE cas instruction is used instead. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c8366ba0fb65063b6b4f69c7af1ea74152435590 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Mar 31 14:11:24 2015 +0100 arm64: xchg: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of our xchg primitives so that the LSE swp instruction (yes, you read right!) is used instead. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 084f903727e1c3a61d6bcdaeeed30bddc6d7f65a Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Feb 12 04:17:37 2015 +0000 arm64: bitops: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of our bitops functions so that LSE atomic instructions are used instead. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 81bb5c6420635dfd058c210bd342c29c95ccd145 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Feb 10 03:03:15 2015 +0000 arm64: locks: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of our locking functions so that LSE atomic instructions are used for spinlocks and rwlocks. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c09d6a04d17d730b0463207a26ece082772b59ee Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Feb 3 16:14:13 2015 +0000 arm64: atomics: patch in lse instructions when supported by the CPU On CPUs which support the LSE atomic instructions introduced in ARMv8.1, it makes sense to use them in preference to ll/sc sequences. This patch introduces runtime patching of atomic_t and atomic64_t routines so that the call-site for the out-of-line ll/sc sequences is patched with an LSE atomic instruction when we detect that the CPU supports it. If binutils is not recent enough to assemble the LSE instructions, then the ll/sc sequences are inlined as though CONFIG_ARM64_LSE_ATOMICS=n. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c0385b24af15020a1e505f2c984db0d7c0d017e1 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Feb 3 12:39:03 2015 +0000 arm64: introduce CONFIG_ARM64_LSE_ATOMICS as fallback to ll/sc atomics In order to patch in the new atomic instructions at runtime, we need to generate wrappers around the out-of-line exclusive load/store atomics. This patch adds a new Kconfig option, CONFIG_ARM64_LSE_ATOMICS. which causes our atomic functions to branch to the out-of-line ll/sc implementations. To avoid the register spill overhead of the PCS, the out-of-line functions are compiled with specific compiler flags to force out-of-line save/restore of any registers that are usually caller-saved. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8c10342cb48f3140d9abeadcfd2fa6625d447282 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 27 13:24:29 2015 +0200 drm/atomic: Update legacy DPMS state during modesets, v3. This is required for DPMS to work correctly, during a modeset the DPMS property should be turned off, unless the state is crtc is made active in which case it should be set to DPMS on. Changes since v1: - Set DPMS to off when a connector is removed from a crtc too. - Update the legacy dpms property too. - Add an exception for the legacy dpms paths, it updates its own state. Changes since v2: - Do not preserve dpms property. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9a69a9ac20f7f3435dd18019f902351c61a9ad1d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 21 11:34:55 2015 +0200 drm: Make the connector dpms callback return a value, v2. This is required to properly handle failing dpms calls. When making a wait in i915 interruptible, I've noticed that the dpms sequence could fail with -ERESTARTSYS because it was waiting interruptibly for flips. So from now on allow drivers to fail in their connector dpms callback. Encoder and crtc dpms callbacks are unaffected. Changes since v1: - Update kerneldoc for the drm helper functions. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> [danvet: Resolve conflicts due to different merge order.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 613d2b272177c61c7cdb83be75a6e4c378d50ff9 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 21 13:28:58 2015 +0200 drm/atomic: pass old crtc state to atomic_begin/flush. In intel it's useful to keep track of some state changes with old crtc state vs new state, for example to disable initial planes or when a modeset's prevented during fastboot. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> [danvet: squash in fixup for exynos provided by Maarten.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 71a5a508436332ac40f688ef06e61628f25f3e5b Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Jul 25 09:23:16 2015 +0530 power_supply: bq24735: Convert to using managed resources Use managed resource functions like devm_kasprintf and devm_power_supply_register in bq24735_charger_probe. To be compatible with the change, replace various gotos by direct returns and drop unneeded labels. Also, remove bq24735_charger_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d964b7229e7f94428a1e8d26999adffbe8a69db2 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Feb 4 12:17:55 2015 +0000 arm64: alternatives: add cpu feature for lse atomics Add a CPU feature for the LSE atomic instructions, so that they can be patched in at runtime when we detect that they are supported. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 40a1db2434a1b62332b1af25cfa14d7b8c0301fe Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jan 26 18:46:19 2015 +0000 arm64: elf: advertise 8.1 atomic instructions as new hwcap The ARM v8.1 architecture introduces new atomic instructions to the A64 instruction set for things like cmpxchg, so advertise their availability to userspace using a hwcap. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c275f76bb4ce16fd0205da1e15f31b875013678e Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Feb 3 11:26:53 2015 +0000 arm64: atomics: move ll/sc atomics into separate header file In preparation for the Large System Extension (LSE) atomic instructions introduced by ARM v8.1, move the current exclusive load/store (LL/SC) atomics into their own header file. Reviewed-by: Steve Capper <steve.capper@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3309aa494186b0c5364d812ae000955262590655 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Mon Jul 27 14:59:06 2015 +0800 power/reset: zx: Remove unnecessary include file Including ARM related header file cause build failure in i386 build because COMILE_TEST also involve building zx driver. Remove the unnecessary include file. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 144e9697a9e70b5549fd52df90111f1410bcbfeb Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Apr 30 18:55:50 2015 +0100 arm64: cpufeature.h: add missing #include of kernel.h cpufeature.h makes use of DECLARE_BITMAP, which in turn relies on the BITS_TO_LONGS and DIV_ROUND_UP macros. This patch includes kernel.h in cpufeature.h to prevent all users having to do the same thing. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9511ca19dafbd503fb467d451fe331a6008f08cf Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Jul 22 18:25:52 2015 +0100 arm64: rwlocks: don't fail trylock purely due to contention STXR can fail for a number of reasons, so don't fail an rwlock trylock operation simply because the STXR reported failure. I'm not aware of any issues with the current code, but this makes it consistent with spin_trylock and also other architectures (e.g. arch/arm). Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fc9eb93cd4c5d819e9a68a7906d78ce37f42d8cd Merge: 772d683 41b9e9f Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 14:21:15 2015 +0100 Merge branch 'locking/arch-atomic' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into aarch64/for-next/core Merge in PeterZ's logical atomic ops so that we can implement them in our subsequent LSE atomics. commit 802bb9b67de75ea75638b8b1ca4b21a76a03bebf Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jul 22 19:21:13 2015 +0200 pinctrl: nomadik: depromote GPIO to subsystem_init() We no longer have to do GPIO initialization before the pinctrl initialization, instead we can initialize the pinctrl portions of the driver first and then the GPIO. Thus we can move GPIO initialization to a subsystem_initcall(), but not yet to a device_initcall(). Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ee04139d916a61454850f3e3c687f50f891fc8bd Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 23 09:09:49 2015 +0200 pinctrl/ARM: move GPIO and pinctrl deps to device tree This gets the GPIO ranges out of the driver and into the device tree where they belong. Standard DT bindings already exist for this. Since no systems with this are deployed we can just augment all device trees and the drivers at the same time and simplify the world. This also defines the array of GPIO chips related to the pin controller. Cc: arm@xxxxxxxxxx Acked-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d705073cdafa75286970dd30f722d0df584bae54 Author: Rabin Vincent <rabin@xxxxxx> Date: Wed Jul 22 15:05:19 2015 +0200 gpio: etraxfs: add support for ARTPEC-3 Add support for the GIO block in the ARTPEC-3 SoC. The basic functionality is essentialy the same as the version in the ETRAX FS, except for a different set of ports, including a read-only port. Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 91492a44b998cf762150de8f1b40bda1902e8ea7 Author: Rabin Vincent <rabin@xxxxxx> Date: Wed Jul 22 15:05:18 2015 +0200 gpio: generic: support input-only chips Allow chips to indicates that they are input-only and thus cannot set the output value. This will be used by the gpio-etraxfs driver. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1296fba1a397b173d45534885a0934a7c005d7e3 Author: Rabin Vincent <rabin@xxxxxx> Date: Wed Jul 22 15:05:17 2015 +0200 gpio: etraxfs: fix set register flag BGPIO_F_UNREADABLE_REG_SET is incorrect, since the set register _is_ readable. What's really required is BGPIO_F_READ_OUTPUT_REG_SET: reading the set register reads the set output value. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d8323c6b03533ac870fb665277e6dad7ebf7e4d3 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 14:41:57 2015 +0200 pinctrl: sunxi: Add custom irq_domain_ops The current interrupt parsing code was working by accident, because the default was actually parsing the first node of interrupts. While that was mostly working (and the flags were actually ignored), this binding has never been documented, and doesn't work with SoCs that have multiple interrupt banks anyway. Add a proper interrupt xlate function, that uses the same description than the GPIOs (<bank> <pin> <flags>), that will make things less confusing. The EINT number will still be used as the hwirq number, but won't be exposed through the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a3ff83d205ed48fadfc30ba9502dcf37a5d09b27 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Jul 25 16:23:24 2015 +0900 MAINTAINERS: add entries for UniPhier device trees and drivers This clarifies the location of the files maintained by me. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 622372309f292efe21dabaf46122a147864d239f Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Jul 25 16:23:23 2015 +0900 ARM: dts: UniPhier: add UART and USB pinmux nodes The DT nodes in uniphier-pinctrl.dtsi provide the default pinctrl settings that would be suitable for most boards. You can still override them in your board DTS file if necessary. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 55d945b249eae485b57172fcba51f8629cd97c39 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Jul 25 16:23:22 2015 +0900 ARM: dts: UniPhier: add pinctrl device nodes Add the pinctrol device nodes for UniPhier PH1-LD4, PH1-Pro4, and PH1-sLD8. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 8cd14702be9bcb2ec45e1ec30af04aea9b965708 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Jul 21 11:08:50 2015 +0200 gpio: rcar: Add r8a7795 (R-Car H3) support R-Car Gen3's GPIO blocks are identical to Gen2's in every respect. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a9a7f260e0f7d2bf743a81c6c2ca660bd17dd64b Merge: d7018b1 6d6db34 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:49:24 2015 +0200 Merge tag 'pxa-for-4.3-v2' of https://github.com/rjarzmik/linux into next/soc This is the pxa changes for v4.3 cycle. There is mostly one evolution on the dma side, to enable cooperation of the legacy pxa DMA API, and the new dmaengine API. Once all drivers using DMA are converted, the legacy DMA API should be removed. * tag 'pxa-for-4.3-v2' of https://github.com/rjarzmik/linux: ARM: pxa: Use setup_timer ARM: pxa: Use module_platform_driver ARM: pxa: transition to dmaengine phase 1 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4dbada2be460dc5568fa27784ef626232c28061f Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Tue Jul 21 18:26:51 2015 +0200 gpio: omap: use raw locks for locking This patch converts gpio_bank.lock from a spin_lock into a raw_spin_lock. The call path is to access this lock is always under a raw_spin_lock, for instance - __setup_irq() holds &desc->lock with irq off + __irq_set_trigger() + omap_gpio_irq_type() - handle_level_irq() (runs with irqs off therefore raw locks) + mask_ack_irq() + omap_gpio_mask_irq() This fixes the obvious backtrace on -RT. However the locking vs context is not and this is not limited to -RT: - omap_gpio_irq_type() is called with IRQ off and has an conditional call to pm_runtime_get_sync() which may sleep. Either it may happen or it may not happen but pm_runtime_get_sync() should not be called with irqs off. - omap_gpio_debounce() is holding the lock with IRQs off. + omap2_set_gpio_debounce() + clk_prepare_enable() + clk_prepare() this one might sleep. The number of users of gpiod_set_debounce() / gpio_set_debounce() looks low but still this is not good. Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 743ca9e9f8e936b9575ced7a41d30f4dc4803a6f Merge: d1005cc f5887fe Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:48:07 2015 +0200 Merge tag 'omap-for-v4.3/dt-dm814x' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt omap dts changes for minimal dm814x support for v4.3 merge window. These changes make dm814x boot and adds minimal board support for dm814x-evm and hp t410. Note that to boot these depend on omap-for-v4.3/soc-signed branch, but as dm814x support is currently broken, these can be merged separately with the other dts changes. * tag 'omap-for-v4.3/dt-dm814x' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Add custom abort handler for t410 ARM: dts: Add minimal support for HP T410 ARM: dts: Add minimal dts support for dm8148-evm ARM: dts: Add minimal clocks for dm814x ARM: dts: Add minimal dm814x support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e324957096dbf5bbf1491231c9912c3f5d0bc216 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 21 15:25:27 2015 +0900 pinctrl: use dev_err() to show message in pinmux_func_name_to_selector() Use dev_err() rather than pr_err() to display the error message. pinctrl_dev_get_name(pctldev) is no longer necessary because dev_err() shows which device the message is related to. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2b38ca6d1aaf9149f1286c93b131f3e62c3ac63b Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 21 15:25:26 2015 +0900 pinctrl: use dev_err() to show message in pinctrl_register_one_pin() Use dev_err() rather than pr_err() to display the error message. (Besides, dev_err() is already used 7 lines below in this function.) Also, drop the redundant information "on %s" because dev_err() shows which device the message is related to. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 527c465a3c8716d93201ae34b7fc52679610596d Merge: fbce23a 5ce000b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Jul 27 14:43:29 2015 +0200 Merge branch 'for-linus' into for-next ... to make easier developing HDA ext code. commit ba53219809f4b3a08f21600a0f3b675620d518bc Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Fri Jul 24 12:02:22 2015 -0400 HID: core: do not reject devices when they declare too many usages Some device present proprietary collections with a usage min of 0x00 and a usage max of 0xffff. hid-core currently reject them while most of the time this is harmless. Let's ignore the exceeding usages, and hope for the best. Reported-by: Simon Wörner <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d1aceb80c685b0735268fba296523f5d7264ff22 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 21 14:45:40 2015 +0900 gpio: remove unneeded initializer in gpiochip_add_to_list() This variable is used as an iterator and initialized in the list_for_each() loop. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d7018b15581797583e7bed351416b0b06abe3c53 Merge: c3d3dbd 24da741 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:36:53 2015 +0200 Merge tag 'omap-for-v4.3/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc SoC changes for omaps for v4.3 merge window: - Clean-up omap4_local_timer_init to drop deal legacy code - Provide proper IO map table for dra7 - Clean-up IOMMU layer init code as it now uses IOMMU framework - A series of changes to fix up dm814x support that's been in a broken half-merged state for quite some time - A series of PRCM and hwmod changes via Paul Walmsley <paul@xxxxxxxxx>: - I/O wakeup support for AM43xx - register lock and unlock support to the hwmod code (needed for the RTC IP blocks on some chips) - several fixes for sparse warnings and an unnecessary null pointer test - a DRA7xx clockdomain configuration workaround, to deal with some hardware bugs * tag 'omap-for-v4.3/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (21 commits) ARM: OMAP2: Add minimal dm814x hwmod support ARM: OMAP2+: Prepare dm81xx hwmod code for adding minimal dm814x support ARM: PRM: AM437x: Enable IO wakeup feature ARM: OMAP4+: PRM: Add AM437x specific data ARM: OMAP: PRM: Remove hardcoding of IRQENABLE_MPU_2 and IRQSTATUS_MPU_2 register offsets ARM: dts: AM4372: Add PRCM IRQ entry ARM: AM43xx: Add the PRM IRQ register offsets ARM: OMAP4: PRM: Remove hardcoding of PRM_IO_PMCTRL_OFFSET register ARM: OMAP2+: Add support for initializing dm814x clocks ARM: OMAP2+: Add custom prwdm_operations for 81xx to support dm814x ARM: OMAP2+: Add minimal clockdomains for dm814x ARM: OMAP2+: Fix scm compatible for dm814x ARM: OMAP2+: Fix dm814x DT_MACHINE_START ARM: OMAP2+: Remove module references from IOMMU machine layer ARM: DRA7: Provide proper IO map table ARM: OMAP2+: Clean up omap4_local_timer_init ARM: OMAP2: Delete an unnecessary check ARM: OMAP2+: sparse: add missing function declarations ARM: OMAP2+: sparse: add missing static declaration ARM: OMAP2+: hwmod: add support for lock and unlock hooks ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 97de17fde7cc7c15b402b911397780b51834a38b Merge: 3888c38 821e79c Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:35:39 2015 +0200 Merge tag 'renesas-defconfig-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Renesas ARM Based SoC Defconfig Updates for v4.3 * Remove marzen_defconfig * shmobile_defconfig and multi_v7_defconfig - Enable DPCM Sound Card - Enable r8a7793/gose platform * tag 'renesas-defconfig-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Remove marzen_defconfig ARM: multi_v7_defconfig: add Renesas DPCM Sound Card ARM: shmobile: defconfig: add Renesas DPCM Sound Card ARM: multi_v7_defconfig: Enable shmobile r8a7793/gose platform ARM: shmobile: Enable gose board in multiplatform defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c3d3dbddd3acbe93501a9500ad979af393f78ec8 Merge: 7bd1584 765b500 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:33:56 2015 +0200 Merge tag 'renesas-soc-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Renesas ARM Based SoC Updates for v4.3 * Add basic support for gose/r8a7793 * tag 'renesas-soc-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: gose: enable R-Car Gen2 regulator quirk ARM: shmobile: Basic r8a7793 SoC support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 926631c2012d22ab507ace95b3e5f5621f2c72b7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Jul 24 14:05:33 2015 +0300 ext4: memory leak on error in ext4_symlink() We should release "sd" before returning. Fixes: 0fa12ad1b285 ('ext4: Handle error from dquot_initialize()') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit d1005cc96b292889a66a946b636394cb5e9a524e Merge: 6951630 7fd6e11 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:28:23 2015 +0200 Merge tag 'renesas-dt2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Second Round of Renesas ARM Based SoC DT Updates for v4.3 * Add Audio MIX and CTU support to r8a779[01] SoCs * Correct IRQ sense for adv7511 on lager board * Add sound label to koelsch and lager boards * Add IIC support to emev2 SoC * tag 'renesas-dt2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7791: Add Audio MIX support on DTSI ARM: shmobile: r8a7791: Add Audio CTU support on DTSI ARM: shmobile: r8a7790: Add Audio MIX support on DTSI ARM: shmobile: r8a7790: Add Audio CTU support on DTSI ARM: shmobile: lager: Fix adv7511 IRQ sensing ARM: shmobile: koelsch: add sound label on DTS ARM: shmobile: lager: add sound label on DTS ARM: shmobile: emev2: kzm9d: enable IIC busses ARM: shmobile: emev2: add IIC cores to dtsi Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a1156814606c0bd5f8725ff7feac21e58bc3b16d Merge: 9521f49 151dd34 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:27:13 2015 +0200 Merge tag 'renesas-cleanup2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Second Round of Renesas ARM Based SoC Cleanup for v4.3 * Silence APMU build warnings * tag 'renesas-cleanup2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: apmu: silence build warnings Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 69516303449aa9afac6e52d5b187322406364c7f Merge: a022708 2303553 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:26:03 2015 +0200 Merge tag 'stm32-dt-for-v4.3-1b' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32 into next/dt STM32 DT updates for v4.3, round 1. Highlights: ----------- - Add RCC clocks support to STM32F429 - Add STM32429i-EVAL board support - Use stdout-path instead of linux,stdout-path in Disco board * tag 'stm32-dt-for-v4.3-1b' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32: ARM: dts: Use stdout-path in STM32F429 Discovery board ARM: dts: Add STM32429i-EVAL board support ARM: dts: stm32f429: Adopt STM32F4 clock driver Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7bd1584bd5dc20679fa9ac97391bdcefc19df202 Merge: d7030a0 50de4dd Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:25:23 2015 +0200 Merge tag 'sti-soc-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/soc STi SoC updates for v4.3, round 1. Highlights: ----------- - Add code to release secondary cores from holding pen. - Remove useless call to trace_hardirqs_off() in secondary core init function. * tag 'sti-soc-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti: ARM: STi: Remove platform call to trace_hardirqs_off() ARM: STi: Add code to release secondary cores from holding pen. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a02270836bd7688852a8d0513f91e6f6ee0b3097 Merge: 9e3cffd 7944450 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:23:46 2015 +0200 Merge tag 'sti-dt-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/dt STi DT update for v4.3, round 1. Highlights: ----------- - Add pinctrl configurations for transport stream channels - Add cpu-release-addr properties to STiH407 and STiH418 - Add PWM regulator support so STIH407 family - Add BDISP node to STiH407 * tag 'sti-dt-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti: ARM: DT: STiH410: Add bdisp dt nodes ARM: STi: STiH407: Add PWM Regulator node ARM: STi: STiH407: Move PWM nodes STiH407 => STiH407-family ARM: STi: DT: Rename st_pll3200c32_407_c0_x into st_pll3200c32_cx_x ARM: STi: DT: STiH418: Add cpu-release-addr dt property. ARM: STi: DT: STiH407: Add cpu-release-addr dt property. ARM: STi: DT: Add STiH407 family mtsin0 pinctrl configuration ARM: STi: DT: Add STiH407 family tsout1 pinctrl configuration ARM: STi: DT: Add STiH407 family tsout0 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin5 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin4 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin3 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin2 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin1 pinctrl configuration ARM: STi: DT: Add STiH407 family tsin0 pinctrl configuration Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3888c381d88fc8d92c6d46b5a91ae77a5cb1c4cc Merge: f1d28f0 5ecd29a Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 27 14:22:59 2015 +0200 Merge tag 'sti-defconfig-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/defconfig STi defconfig for v4.3, round 1 Highlights: ----------- - Enable support ST's PWM driver in multi_v7 - Enable support PWM regulator in multi_v7 * tag 'sti-defconfig-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti: ARM: multi_v7_defconfig: Enable support for PWM Regulators ARM: multi_v7_defconfig: Enable ST's PWM driver Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 41b9e9fcc1c44b84a785115058ce9c703e3fca6e Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Jul 13 12:55:58 2015 +0200 atomic: Add simple atomic_t tests Add a few atomic_t tests, gets some compile coverage for the new operations. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 805de8f43c20ba8b479bb598b543fa86b20067f6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Apr 24 01:12:32 2015 +0200 atomic: Replace atomic_{set,clear}_mask() usage Replace the deprecated atomic_{set,clear}_mask() usage with the now ubiquous atomic_{or,andnot}() functions. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit de9e432cb5de1bf2952919dc0b22e4bec0ed8d53 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Apr 24 01:12:32 2015 +0200 atomic: Collapse all atomic_{set,clear}_mask definitions Move the now generic definitions of atomic_{set,clear}_mask() into linux/atomic.h to avoid endless and pointless repetition. Also, provide an atomic_andnot() wrapper for those few archs that can implement that. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e6942b7de2dfe44ebde9bae57dadece5abca9de8 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:32:50 2014 +0200 atomic: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2957c035395e492463d7f589af9dd32388967bbb Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Jul 9 16:38:17 2015 -0400 tile: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. For tilegx, these are relatively straightforward; the architecture provides atomic "or" and "and", both 32-bit and 64-bit. To support xor we provide a loop using "cmpexch". For the older 32-bit tilepro architecture, we have to extend the set of low-level assembly routines to include 32-bit "and", as well as all three 64-bit routines. Somewhat confusingly, some 32-bit versions are already used by the bitops inlines, with parameter types appropriate for bitops, so we have to do a bit of casting to match "int" to "unsigned long". Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436474297-32187-1-git-send-email-cmetcalf@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 73ada3700bbb0a4c7cc06ea8d74e93c689f90cdb Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Jul 10 12:55:45 2015 +0200 h8300: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and} These will replace the atomic_{set,clear}_mask functions that are available on some archs. Also rework the atomic implementation in terms of CPP macros to avoid the typical repetition -- I seem to have missed this arch the last time around when I did that. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b0d8003ef405c4148b703cdaab1171045c6c3bbd Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Apr 24 00:49:20 2015 +0200 frv: Rewrite atomic implementation Mostly complete rewrite of the FRV atomic implementation, instead of using assembly files, use inline assembler. The out-of-line CONFIG option makes a bit of a mess of things, but a little CPP trickery gets that done too. FRV already had the atomic logic ops but under a non standard name, the reimplementation provides the generic names and provides the intermediate form required for the bitops implementation. The slightly inconsistent __atomic32_fetch_##op naming is because __atomic_fetch_##op conlicts with GCC builtin functions. The 64bit atomic ops use the inline assembly %Ln construct to access the low word register (r+1), afaik this construct was not previously used in the kernel and is completely undocumented, but I found it in the FRV GCC code and it seems to work. FRV had a non-standard definition of atomic_{clear,set}_mask() which would work types other than atomic_t, the one user relying on that (arch/frv/kernel/dma.c) got converted to use the new intermediate form. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7fc1845dd45a825b3c2b760df342a94f61fb1113 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:28:37 2014 +0200 x86: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ae8c35c85be92b79c545c57c2a14c2f8136d3353 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:15:48 2014 +0200 s390: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2a3ed90f428cab65567c5421ebc0f6c8d02c1216 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:35:00 2014 +0200 xtensa: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 304a0d699a3c6103b61d5ea18d56820e7d8e3116 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:40:25 2014 +0200 sparc: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 658aa51459c2f5284183d35b6dd0beca0e0bfe2f Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:44:20 2014 +0200 sh: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d0b7eb6ff2985c9350fdb297fa5727c35324d4df Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:46:23 2014 +0200 powerpc: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit aebea9359623b58b54242e5daa24e09d6104977b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:47:25 2014 +0200 parisc: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ddb7573ff68964e7b3b72eeb9cde1384c4c6ba83 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:50:20 2014 +0200 mn10300: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 27782f2752aca65a241f10fb2d4508c71bb2656b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:51:36 2014 +0200 mips: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5b4a2f0f91fd4a635f380f847254d23121972e7b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:53:39 2014 +0200 metag: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 74b1bc505b058efdfef33e775df68d8324bbf8b8 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:56:20 2014 +0200 m68k: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c66e45edef51e1f54297ddaf202fc2dd00852734 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 19:57:49 2014 +0200 m32r: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 70ed47390d10a7351e44c3a07c5de376780cb6c1 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:00:01 2014 +0200 ia64: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 610f7ba93b1e4cda7370f367a6042cbda61227bb Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:00:54 2014 +0200 hexagon: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d835b6c4cc02507b3bf3f8ee6c86857cf0ee67ab Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Apr 23 21:44:42 2015 +0200 blackfin: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. TODO: use inline asm or at least asm macros to collapse the lot. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f8a570e270bf62363cd498ac2ac8ea07a76ad4d6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:02:20 2014 +0200 avr32: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 22288b40e2c7ab484a08a03df32782a67903912c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:03:13 2014 +0200 arm64: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 125897908c718972351b589da89b7f990892d4df Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:04:39 2014 +0200 arm: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit cda7e4137a4e39c7d877b6ed41da13a5b30dd2cf Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:06:20 2014 +0200 arc: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Acked-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 212d3be102d73dce70cc12f39dce4e0aed2c025b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 20:07:47 2014 +0200 alpha: Provide atomic_{or,xor,and} Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 56d1defe0bbddaa97d6e74b51490904130fd4f1d Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 15 15:47:25 2015 +0200 atomic: Prepare generic atomic implementation for logic ops Clean up the #ifdef guards a bit to prepare for architectures to supply their own logic ops. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fb5b778808a1e5d6874c17b2e670c76fab9a1300 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 14:41:12 2015 +0200 pinctrl: sunxi: Add irq_chip name In order to ease the debugging, add a name to the irq_chips. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a0d6de9bdf8d66be458fcda5898a799778169c60 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 14:41:11 2015 +0200 pinctrl: sunxi: Use common functions to change irq_chip and handler The current code uses some custom variable affectations, while we have common functions to do exactly that. Move to the common functions. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bb379ceb8d9f3599ab9162ebf58d731350f4177a Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 16 21:08:24 2015 +0200 dt-bindings: gpio: document bindings supported by gpio-mpc8xxx.c Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0ba69e089827c24f5a4b21124185914f9de4f466 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 16 21:08:23 2015 +0200 gpio: mpc8xxx: add support for MPC5125 The gpio controller on MPC5125 is identical to the MPC5121 register wise, the only difference is that the lines 0..3 are input only instead of 28..31 on MPC5121. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 59fb3d58c5284b42d93262a4690291e9c0e78fe6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:42:48 2015 +0000 ia64/iosapic: Use irq_set_chip_handler_name_locked() __irq_set_chip_handler_name_locked() is about to be replaced. Use irq_set_chip_handler_name_locked() instead. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713131034.723024979@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c42574edc0e33227d4ce41ecc0a81a72f37e7ef4 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:42:46 2015 +0000 ia64/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713131034.630273860@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit bdf76e36765970c64624d32150b656dc6669ddc2 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:38:38 2015 +0000 C6X/meagmod-pic: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Aurelien Jacquiot <a-jacquiot@xxxxxx> Cc: linux-c6x-dev@xxxxxxxxxxxxx Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Link: http://lkml.kernel.org/r/20150713130429.697731509@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 284384442fd44f6e01a157745b5549602e6a49f4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:34:57 2015 +0000 blackfin/irq: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and update was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150713125611.731615902@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 247bd4f1f11eb683bdb31850b525fb5e893bd49d Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:34:56 2015 +0000 blackfin/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: adi-buildroot-devel@xxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150713125611.652550580@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 95e432b91045f5dfa2115f943de4f44f0ea107ba Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:08:38 2015 +0000 alpha/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713075508.821878421@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 82e39b0d8566fa67077c6941f776d17833c80fea Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 16 21:08:22 2015 +0200 gpio: mpc8xxx: handle differences between incarnations at a single place The gpio controllers that are handled by the mpc8xxx driver differ slightly. Up to now some differences were handled by use of of_device_is_compatible, others by use of struct of_device_id's data. To make this consistent and easily extendable handle the differences at a single place. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4183afefd995e3472c10348998edd9f791eb523f Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 16 21:08:21 2015 +0200 gpio: mpc8xxx: constify of_device_id This variable is not modified in the driver and all functions it it passed to don't change it either. So it can and should be marked const. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 772d68355e2f65f71e0402e39aabfdea56f55083 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 27 11:07:03 2015 +0100 arm64: include linux/types.h in asm/spinlock_types.h Our ticket-based spinlock structures rely on a definition of u16, so include linux/types.h explicitly to ensure the thing compiles. Found by a module build failure in -next: arch/arm64/include/asm/spinlock_types.h:27:2: error: unknown type name 'u16' arch/arm64/include/asm/spinlock_types.h:28:2: error: unknown type name 'u16' arch/arm64/include/asm/spinlock_types.h:33:13: error: expected declaration specifiers or '...' before numeric constant include/linux/spinlock_types.h:21:2: error: unknown type name 'arch_spinlock_t' arch/arm64/include/asm/spinlock.h:34:35: error: unknown type name 'arch_spinlock_t' arch/arm64/include/asm/spinlock.h:65:37: error: unknown type name 'arch_spinlock_t' Reported-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a4653228a0f8d0a4a76d03a2dd15beaf6e78c22b Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:49 2015 +0100 arm64/BUG: Show explicit backtrace for WARNs The generic slowpath WARN implementation prints a backtrace, but the report_bug() based implementation does not, opting to print the registers instead which is generally not as useful. Ideally, report_bug() should be fixed to make the behaviour more consistent, but in the meantime this patch generates a backtrace directly from the arm64 backend instead so that this functionality is not lost with the migration to report_bug(). As a side-effect, the backtrace will be outside the oops end marker, but that's hard to avoid without modifying generic code. This patch can go away if report_bug() grows the ability in the future to generate a backtrace directly or call an arch hook at the appropriate time. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9fb7410f955f7a62c1f882ca8f9ffd4525907e28 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:48 2015 +0100 arm64/BUG: Use BRK instruction for generic BUG traps Currently, the minimal default BUG() implementation from asm- generic is used for arm64. This patch uses the BRK software breakpoint instruction to generate a trap instead, similarly to most other arches, with the generic BUG code generating the dmesg boilerplate. This allows bug metadata to be moved to a separate table and reduces the amount of inline code at BUG and WARN sites. This also avoids clobbering any registers before they can be dumped. To mitigate the size of the bug table further, this patch makes use of the existing infrastructure for encoding addresses within the bug table as 32-bit offsets instead of absolute pointers. (Note that this limits the kernel size to 2GB.) Traps are registered at arch_initcall time for aarch64, but BUG has minimal real dependencies and it is desirable to be able to generate bug splats as early as possible. This patch redirects all debug exceptions caused by BRK directly to bug_handler() until the full debug exception support has been initialised. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d7a33f4fbd12ca0a32a24cc46c0d02b47f6b54d1 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:47 2015 +0100 arm64/debug: Add missing #includes <asm/debug-monitors.h> relies on <asm/ptrace.h>, but doesn't declare this dependency. This becomes a problem once debug-monitors.h starts getting included all over the place to get the BRK immedates. The missing include of <asm/memory.h> (for UL()) in <asm/esr.h> is also added. The series no longer relies on this, but I spotted it during development and it may as well get fixed. No functional change. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c696b93461f53db89d61450ace7c73babf920b99 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:46 2015 +0100 arm64/debug: Simplify BRK insn opcode declarations The way the KGDB_DYN_BRK_INS_BYTEx macros are declared is more complex than it needs to be. Also, the macros are only used in one place, which is arch-specific anyway. This patch refactors the macros to simplify them, and exposes an argument so that we can have a single macro instead of 4. As a side effect, this patch also fixes some anomalous spellings of "KGDB". These changes alter the compile types of some integer constants that are harmless but trigger truncation warnings in gcc when assigning to 32-bit variables. This patch adds an explicit cast for the affected cases. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 72d033e80a6f25a7e2f79cacac202f19ede289e4 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:45 2015 +0100 arm64/debug: Move BRK ESR template macro into <asm/esr.h> It makes sense to keep all the architectural exception syndrome definitions in the same place. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c172d994e1fd57e46e85424c23124756c66d4b62 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:44 2015 +0100 arm64/debug: More consistent naming for the BRK ESR template macro The naming of DBG_ESR_VAL_BRK is inconsistent with the way other similar macros are named. This patch makes the naming more consistent, and appends "64" as a reminder that this ESR pattern only matches from AArch64 state. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 03923696a966bd3eeb3a169d71b8a337aaa5ab76 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:43 2015 +0100 arm64/debug: Eliminate magic number from ESR template definition <asm/esr.h> has perfectly good constants for defining ESR values already. Let's use them. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit dfac68314c969481fcce3dd528728dfa9d85caf5 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:42 2015 +0100 arm64/debug: Mask off all reserved bits from generated ESR values There are only 16 comment bits in a BRK instruction, which correspond to ESR bits 15:0. Bits 24:16 of the ESR are RES0, and might have weird meanings in the future. This code inserts 16 bits of comment in the ESR value instead of 20 (almost certainly a typo in the original code). Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 951757ae83ec611b1c4f1dcfda67246cf5157451 Author: Dave P Martin <Dave.Martin@xxxxxxx> Date: Fri Jul 24 16:37:41 2015 +0100 arm64/debug: Eliminate magic number for size of BRK instruction The size of an A64 BRK instruction is the same as the size of all other A64 instructions, because all A64 instructions are the same size. BREAK_INSTR_SIZE is retained for readibility, but it should not be an independent constant from AARCH64_INSN_SIZE. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 51650dc2a18b1c65026c3bb9e35da2750e985706 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Fri Jul 24 12:52:28 2015 +0100 arm64: insn: use set_fixmap_offset to make it more clear A little change to patch_map() function, use set_fixmap_offset() to make code more clear. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e38457c361b30c5a2379cc767877c3e5c2505dc6 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Jul 24 12:38:27 2015 +0100 arm64: efi: prefer AllocatePages() over efi_low_alloc() for vmlinux When allocating memory for the kernel image, try the AllocatePages() boot service to obtain memory at the preferred offset of 'dram_base + TEXT_OFFSET', and only revert to efi_low_alloc() if that fails. This is the only way to allocate at the base of DRAM if DRAM starts at 0x0, since efi_low_alloc() refuses to allocate at 0x0. Tested-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e094d44568680d4e5e2722c4ad090ff0810719b9 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu Jul 23 18:28:26 2015 +0100 arm64: kernel: remove non-legit DT warnings when booting using ACPI Since both CONFIG_ACPI and CONFIG_OF are enabled when booting using ACPI tables on ARM64 platforms, we get few device tree warnings which are not valid for ACPI boot. We can use of_have_populated_dt to check if the device tree is populated or not before throwing out those errors. This patch uses of_have_populated_dt to remove non legitimate device tree warning when booting using ACPI tables. Cc: Lorenzo Pieralisi <Lorenzo.Pieralisi@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 77ee306c0aea9a219daec256ad25982944affef8 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 23 13:51:46 2015 +0100 arm64: alternatives: add enable parameter to conditional asm macros There are cases where we want to compile out both versions of an alternative code block, so add an enable parameter to the new conditional alternative assembly macros in the same way as alternative_insn. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 338d4f49d6f7114a017d294ccf7374df4f998edc Author: James Morse <james.morse@xxxxxxx> Date: Wed Jul 22 19:05:54 2015 +0100 arm64: kernel: Add support for Privileged Access Never 'Privileged Access Never' is a new arm8.1 feature which prevents privileged code from accessing any virtual address where read or write access is also permitted at EL0. This patch enables the PAN feature on all CPUs, and modifies {get,put}_user helpers temporarily to permit access. This will catch kernel bugs where user memory is accessed directly. 'Unprivileged loads and stores' using ldtrb et al are unaffected by PAN. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> [will: use ALTERNATIVE in asm and tidy up pan_enable check] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9ded63aaf83eba76e1a54ac02581c2badc497f1a Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Wed Jul 22 11:38:14 2015 +0100 arm64: Generalise msr_s/mrs_s operations The system register encoding generated by sys_reg() works only for MRS/MSR(Register) operations, as we hardcode Bit20 to 1 in mrs_s/msr_s mask. This makes it unusable for generating instructions accessing registers with Op0 < 2(e.g, PSTATE.x with Op0=0). As per ARMv8 ARM, (Ref: ARMv8 ARM, Section: "System instruction class encoding overview", C5.2, version:ARM DDI 0487A.f), the instruction encoding reserves bits [20-19] for Op0. This patch generalises the sys_reg, mrs_s and msr_s macros, so that we could use them to access any of the supported system register. Cc: James Morse <james.morse@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 91a5cefa2f98bdd3404c2fba57048c4fa225cc37 Author: James Morse <james.morse@xxxxxxx> Date: Tue Jul 21 13:23:30 2015 +0100 arm64: kernel: Add optional CONFIG_ parameter to ALTERNATIVE() Some uses of ALTERNATIVE() may depend on a feature that is disabled at compile time by a Kconfig option. In this case the unused alternative instructions waste space, and if the original instruction is a nop, it wastes time and space. This patch adds an optional 'config' option to ALTERNATIVE() and alternative_insn that allows the compiler to remove both the original and alternative instructions if the config option is not defined. Suggested-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 18ffa046c509d0cd011eeea2c0418f2d014771fc Author: James Morse <james.morse@xxxxxxx> Date: Tue Jul 21 13:23:29 2015 +0100 arm64: kernel: Add min_field_value and use '>=' for feature detection When a new cpu feature is available, the cpu feature bits will have some initial value, which is incremented when the feature is updated. This patch changes 'register_value' to be 'min_field_value', and checks the feature bits value (interpreted as a signed int) is greater than this minimum. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 1c0763037f1e1caef739e36e09c6d41ed7b61b2d Author: James Morse <james.morse@xxxxxxx> Date: Tue Jul 21 13:23:28 2015 +0100 arm64: kernel: Add cpufeature 'enable' callback This patch adds an 'enable()' callback to cpu capability/feature detection, allowing features that require some setup or configuration to get this opportunity once the feature has been detected. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 870828e57b141eff76a5325f20e4691dd2a599b1 Author: James Morse <james.morse@xxxxxxx> Date: Tue Jul 21 13:23:27 2015 +0100 arm64: kernel: Move config_sctlr_el1 Later patches need config_sctlr_el1 to set/clear bits in the sctlr_el1 register. This patch moves this function into header a file. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit fc032421ef4a825660fcc4d11672bc2dea202893 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Jul 22 12:21:04 2015 +0100 arm64: kvm: Adopt new alternative assembler macros Convert the dynamic patching for ARM64_HAS_SYSREG_GIC_CPUIF over to the newly added alternative assembler macros. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e28cabf12304717b1054d0a02f0850f91e8a2074 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Jul 22 12:21:03 2015 +0100 arm64: kernel: Adopt new alternative assembler macros Convert the dynamic patching for ARM64_WORKAROUND_845719 over to the newly added alternative assembler macros. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 271d35eb77d0f53177b44968417b630d1fee8b99 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Jul 22 12:21:02 2015 +0100 arm64: mm: Adopt new alternative assembler macros Convert the dynamic patching for ARM64_WORKAROUND_CLEAN_CACHE over to the newly added alternative assembler macros. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 63e40815f02584ba8174e0f6af40924b2b335cae Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Jul 22 12:21:01 2015 +0100 arm64: alternative: Provide if/else/endif assembler macros The existing alternative_insn macro has some limitations that make it hard to work with. In particular the fact it takes instructions from it own macro arguments means it doesn't play very nicely with C pre-processor macros because the macro arguments look like a string to the C pre-processor. Workarounds are (probably) possible but things start to look ugly. Introduce an alternative set of macros that allows instructions to be presented to the assembler as normal and switch everything over to the new macros. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 79b0e09a3c9bd74ee54582efdb351179d7c00351 Author: James Morse <james.morse@xxxxxxx> Date: Tue Jul 21 13:23:26 2015 +0100 arm64: kernel: Add cpuid_feature_extract_field() for 4bit sign extension Based on arch/arm/include/asm/cputype.h, this function does the shifting and sign extension necessary when accessing cpu feature fields. Signed-off-by: James Morse <james.morse@xxxxxxx> Suggested-by: Russell King <linux@xxxxxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit ae2fb7ece973f0b285f41985f5de85c57df9bf5a Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Tue Jul 21 11:36:39 2015 +0100 arm64: perf: condense event number maps Most of the cache events an architecture might support do not map well to those provided by the ARM architecture, and as such most entries in the event number maps are *_UNSUPPORTED. Unfortuantely as 0 is a valid physical event identifier, the *_UNSUPPORTED macros expand to a non-zero value and thus each unsupported event must be explicitly initialised as such. This leads to large diffs when adding support for a new CPU, and makes it difficult to spot the important information. This patch follows arch/arm/ in making use of PERF_*_ALL_UNSUPPORTED macros to initialise all entries to *_UNSUPPORTED before overriding this for the specific events we actually support, resulting in a significant source code reduction. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0a570e7adeeae28892e60bc919c7dcf011815134 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Jul 21 15:43:58 2015 +0100 arm64: hugetlb: remove paragraph about writing to FSF Remove paragraph about writing to the Free Software Foundation's mailing address from GPL notice. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 1d1ddf67dc3bfd80f60b216fa1fedfb242bee299 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Fri Jul 17 16:58:21 2015 +0100 arm64: dma-mapping: implement dma_get_sgtable() The default dma_common_get_sgtable() implementation relies on the CPU address of the buffer being a regular lowmem address. This is not always the case on arm64, since allocations from the various DMA pools may have remapped vmalloc addresses, rendering the use of virt_to_page() invalid. Fix this by providing our own implementation based on the fact that we can safely derive a physical address from the DMA address in both cases. CC: Jon Medhurst <tixy@xxxxxxxxxx> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> [will: made static] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4b3dc9679cf779339d9049800803dfc3c83433d1 Author: Will Deacon <will.deacon@xxxxxxx> Date: Fri May 29 18:28:44 2015 +0100 arm64: force CONFIG_SMP=y and remove redundant #ifdefs Nobody seems to be producing !SMP systems anymore, so this is just becoming a source of kernel bugs, particularly if people want to use coherent DMA with non-shared pages. This patch forces CONFIG_SMP=y for arm64, removing a modest amount of code in the process. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 52da443ec4d0a807b720527eb474f9c2878cd671 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Jul 6 12:23:54 2015 +0100 arm64: perf: factor out callchain code We currently bundle the callchain handling code with the PMU code, despite the fact the two are distinct, and the former can be useful even in the absence of the latter. Follow the example of arch/arm and factor the callchain handling into its own file dependent on CONFIG_PERF_EVENTS rather than CONFIG_HW_PERF_EVENTS. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 23e94994464a7281838785675e09c8ed1055f62f Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jun 2 15:18:38 2015 +0100 arm64: lib: use pair accessors for copy_*_user routines The AArch64 instruction set contains load/store pair memory accessors, so use these in our copy_*_user routines to transfer 16 bytes per iteration. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5d220ff9420f8b1689805ba2d938bedf9e0860a4 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Tue Jul 14 16:20:17 2015 +0100 arm64: Better native ptrace support for compat tasks The compat ptrace interface allows access to the TLS register, hardware breakpoints and watchpoints, syscall number. However, a native task using the native ptrace interface to debug compat tasks (e.g. multi-arch gdb) only has access to the general and VFP register sets. The compat ptrace interface cannot be accessed from a native task. This patch adds a new user_aarch32_ptrace_view which contains the TLS, hardware breakpoint/watchpoint and syscall number regsets in addition to the existing GPR and VFP regsets. This view is backwards compatible with the previous kernels. Core dumping of 32-bit tasks and compat ptrace are not affected since the original user_aarch32_view is preserved. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: Yao Qi <yao.qi@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 0723c05fb75e4428b79b5cd657af7496b2604422 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Jul 16 21:26:16 2015 +0100 arm64: enable more compressed Image formats Plumb up Makefile arguments for the already supported formats in the kbuild system: lz4, bzip2, lzma, and lzo. Note that just as with Image.gz, these images are not self-decompressing and the booting firmware still needs to handle decompression before launching the kernel image. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2f4b829c625ec36c2d80bef6395c7b74cea8aac0 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Jul 10 17:24:28 2015 +0100 arm64: Add support for hardware updates of the access and dirty pte bits The ARMv8.1 architecture extensions introduce support for hardware updates of the access and dirty information in page table entries. With TCR_EL1.HA enabled, when the CPU accesses an address with the PTE_AF bit cleared in the page table, instead of raising an access flag fault the CPU sets the actual page table entry bit. To ensure that kernel modifications to the page tables do not inadvertently revert a change introduced by hardware updates, the exclusive monitor (ldxr/stxr) is adopted in the pte accessors. When TCR_EL1.HD is enabled, a write access to a memory location with the DBM (Dirty Bit Management) bit set in the corresponding pte automatically clears the read-only bit (AP[2]). Such DBM bit maps onto the Linux PTE_WRITE bit and to check whether a writable (DBM set) page is dirty, the kernel tests the PTE_RDONLY bit. In order to allow read-only and dirty pages, the kernel needs to preserve the software dirty bit. The hardware dirty status is transferred to the software dirty bit in ptep_set_wrprotect() (using load/store exclusive loop) and pte_modify(). Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b08d4640a3dca68670fc5af2fe9205b395a02388 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Thu Jul 16 18:58:53 2015 +0100 arm64: remove dead code Commit 68234df4ea79 ("arm64: kill flush_cache_all()") removed soft_reset() from the kernel. This was the only caller of setup_mm_for_reboot(), so remove that also. Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit cba3574fd56be8132a19e4aa6b1d41a12c56d990 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 16 19:26:02 2015 +0100 arm64: move update_mmu_cache() into asm/pgtable.h Mark Brown reported an allnoconfig build failure in -next: Today's linux-next fails to build an arm64 allnoconfig due to "mm: make GUP handle pfn mapping unless FOLL_GET is requested" which causes: > arm64-allnoconfig > ../mm/gup.c:51:4: error: implicit declaration of function 'update_mmu_cache' [-Werror=implicit-function-declaration] Fix the error by moving the function to asm/pgtable.h, as is the case for most other architectures. Reported-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit aaf6f2f098f8ec22fa51ec15bd327b8acdfe5a78 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Fri Jul 10 16:47:56 2015 +0100 arm64: consolidate __swiotlb_mmap Since commit 9d3bfbb4df58 ("arm64: Combine coherent and non-coherent swiotlb dma_ops"), __dma_common_mmap is no longer shared between two callers, so roll it into the remaining one. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d3127afa712321a2b297cfee358be2cb223f933c Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Fri Jul 10 14:58:00 2015 +0100 arm64: Remove unused macros from assembler.h Commit 68234df4ea79 ("arm64: kill flush_cache_all()") removed the only users of these macros. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e147ae6d7f908412a013c115e42c3e15dac33ccc Author: Rohit Thapliyal <r.thapliyal@xxxxxxxxxxx> Date: Fri Jul 10 09:23:59 2015 +0100 arm64: modify the dump mem for 64 bit addresses On 64bit kernel, the dump_mem gives 32 bit addresses on the stack dump. This gives unorganized information regarding the 64bit values on the stack. Hence, modified to get a complete 64bit memory dump. With patch: [ 93.534801] Process insmod (pid: 1587, stack limit = 0xffffffc976be4058) [ 93.541441] Stack: (0xffffffc976be7cf0 to 0xffffffc976be8000) [ 93.547136] 7ce0: ffffffc976be7d00 ffffffc00008163c [ 93.554898] 7d00: ffffffc976be7d40 ffffffc0000f8a44 ffffffc00098ef38 ffffffbffc000088 [ 93.562659] 7d20: ffffffc00098ef50 ffffffbffc0000c0 0000000000000001 ffffffbffc000070 [ 93.570419] 7d40: ffffffc976be7e40 ffffffc0000f935c 0000000000000000 000000002b424090 [ 93.578179] 7d60: 000000002b424010 0000007facc555f4 0000000080000000 0000000000000015 [ 93.585937] 7d80: 0000000000000116 0000000000000069 ffffffc00097b000 ffffffc976be4000 [ 93.593694] 7da0: 0000000000000064 0000000000000072 000000000000006e 000000000000003f [ 93.601453] 7dc0: 000000000000feff 000000000000fff1 ffffffbffc002028 0000000000000124 [ 93.609211] 7de0: ffffffc976be7e10 0000000000000001 ffffff8000000000 ffffffbbffff0000 [ 93.616969] 7e00: ffffffc976be7e60 0000000000000000 0000000000000000 0000000000000000 [ 93.624726] 7e20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 93.632484] 7e40: 0000007fcc474550 ffffffc0000841ec 000000002b424010 0000007facda0710 [ 93.640241] 7e60: ffffffffffffffff ffffffc0000be6dc ffffff80007d2000 000000000001c010 [ 93.647999] 7e80: ffffff80007e0ae0 ffffff80007e09d0 ffffff80007edf70 0000000000000288 [ 93.655757] 7ea0: 00000000000002e8 0000000000000000 0000000000000000 0000001c0000001b [ 93.663514] 7ec0: 0000000000000009 0000000000000007 000000002b424090 000000000001c010 [ 93.671272] 7ee0: 000000002b424010 0000007faccd3a48 0000000000000000 0000000000000000 [ 93.679030] 7f00: 0000007fcc4743f8 0000007fcc4743f8 0000000000000069 0000000000000003 [ 93.686787] 7f20: 0101010101010101 0000000000000004 0000000000000020 00000000000003f3 [ 93.694544] 7f40: 0000007facb95664 0000007facda7030 0000007facc555d0 0000000000498378 [ 93.702301] 7f60: 0000000000000000 000000002b424010 0000007facda0710 000000002b424090 [ 93.710058] 7f80: 0000007fcc474698 0000000000498000 0000007fcc474ebb 0000000000474f58 [ 93.717815] 7fa0: 0000000000498000 0000000000000000 0000000000000000 0000007fcc474550 [ 93.725573] 7fc0: 00000000004104bc 0000007fcc474430 0000007facc555f4 0000000080000000 [ 93.733330] 7fe0: 000000002b424090 0000000000000069 0950020128000244 4104000008000004 [ 93.741084] Call trace: The above output makes a debugger life a lot more easier. Signed-off-by: Rohit Thapliyal <r.thapliyal@xxxxxxxxxxx> Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit d09ce834dfffd93aa4586b3e07faaf901ee8706f Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Tue Jun 30 13:56:56 2015 +0100 arm64: perf: replace arch_find_n_match_cpu_physical_id with of_cpu_device_node_get arch_find_n_match_cpu_physical_id parses the device tree to get the device node for a given logical cpu index. However, since ARM PMUs get probed after the CPU device nodes are stashed while registering the cpus, we can use of_cpu_device_node_get to avoid another DT parse. This patch replaces arch_find_n_match_cpu_physical_id with of_cpu_device_node_get to reuse the stashed value directly instead. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2d23ed04de933625bc777cc474d2cd9a2a3fa860 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Fri Jun 12 15:39:28 2015 +0100 arm64: perf: Remove unnecessary printk ARM64 pmu prints an error message in event_init() when no hardware PMU is available. This is pretty annoying as it keeps printing the message for every single trial, flooding the kernel logs, unnecessarily. The return code is sufficient for the user to figure out the reason. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 412820dd536fe2d01a35f0d68982ea225ec255b3 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Jul 20 09:58:09 2015 +0200 pwm: sysfs: Remove unnecessary padding Padding initializers so that assignment operators align is bound to lead to inconsistencies or churn. Single spaces around the assignment is just fine. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 5a063d87e97df28ca0b00807bc4d6fa11c5a5107 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Jul 20 09:56:05 2015 +0200 pwm: sysfs: Properly convert from enum to string The current code will check for polarity in a boolean way. While it is correct that polarity is either normal or inversed, make it more obvious that it's an enumeration by using a switch statement and explicit matches on the enumeration values. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 38b0e5071eca4db618e796a2f1dbad3b20c01358 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue May 5 13:55:10 2015 +0300 pinctrl: driver for Conexant Digicolor CX92755 pin mapping This adds pinctrl and gpio driver to the CX92755 SoC "General Purpose Pin Mapping" hardware block. The CX92755 is one SoC from the Conexant Digicolor series. Pin mapping hardware supports configuring pins as either GPIO, or up to 3 other "client select" functions. This driver adds support for pin muxing using the generic device tree binding, and a basic gpiolib driver for the GPIO functionality. This driver does not currently support GPIO interrupts, and pad configuration. v2: * Address review comments for Linus Walleij: - Add a pointer to pinctrl_desc in struct dc_pinmap - Drop the now redundant pinctrl_pin_desc field - Adapt dc_get_group_{name,pins} to these changes, and add a comment explaining the 1-to-1 pin-groups relation * Staticise dc_pmxops * Protect the GP_CLIENTSEL clct parameter with parenthesis Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cbc59e26e90dab17e233c6cdf51235d5d25f5fba Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue May 5 13:55:09 2015 +0300 pinctrl: dt-binding: document Conexant CX92755 SoC Add pinctrl device tree binding documentation for the General Purpose Pin Mapping module of the Conexant CX92755 SoC. Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3271dca483a48759cdbdb5f16a13125ab91f6c05 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 17:40:15 2015 +0200 drm/i915: kerneldoc for tiling IOCTL and swizzle functions Chris rightfully suggested that documenting fences without documenting the BO tiling tracking doesn't make much sense, so fix that. The important bit to stress here (since it lead to some confusion) is the GEM doesn't really care about tiling. Except for a few select cases where the kernel needs to manage something that userspace can't take care of: Namely the limited number of fences and fixing up swizzling, although we still fail at the later. v2: Move the low-level tiling/swizzling functions and kerneldoc to i915_gem_fence.c and leave only the userspace interface here. Suggested by Chris. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 7f96ecaf1ea26fd7041acc56379a5c4393ee51ad Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 17:40:14 2015 +0200 drm/i915: Move low-level swizzling code to i915_gem_fence.c It fits more with the low-level fence code, and this move leaves only the userspace tiling ioctl handling in i915_gem_tiling.c. Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e562b9739eda7399d1ec6737bc5f8803f92569e3 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 17:40:13 2015 +0200 drm/i915: Remove bogus kerneldoc include directive Afaict intel_irq_fini never existed. No idea how that one came about. Note: Chris thinks that an irq_fini would be nice and I agree, but this is just to remove some ugly from generated docs. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a794f62a300194dbc53165f10cc5ad236a6a43c2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 17:40:12 2015 +0200 drm/i915: kerneldoc for fences v2: Clarify that this is about fence _registers_. Also clarify that the fence code revokes cpu ptes and not gtt ptes. Both suggested by Chris. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e11f40b9352f75d924cb216abcc5413b38d9288b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Jul 27 11:07:47 2015 +0300 lwtunnel: use kfree_skb() instead of vanilla kfree() kfree_skb() is correct here. Fixes: ffce41962ef6 ('lwtunnel: support dst output redirect function') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41a36b739ae378043ecc3984bec3dba00353fa34 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 13:55:11 2015 +0200 drm/i915: Extract i915_gem_fence.c No code changes, just moving all the fence related code into a separate file (and avoiding a bunch of forward declarations while at it). Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 042794b1f4234de36ce2d6edae071054c6985a03 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 24 13:55:10 2015 +0200 drm/i915: Clean up Makefile Sorting became confused and a few new files ended up in strange places. Also move i915_irq.c to core since with the recent-ish extraction of i915_gpu_error.c and intel_hotplug.c it's more and more really just basic irq handling code. When adding new files please don't put them somewhere randomly. Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 99d7662a04c4f9822b042f22ae37f8c7355c2d5a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Jul 26 09:45:24 2015 +0200 tcp: tso: allow deferring under reordering state While doing experiments with reordering resilience, we found linux senders were not able to send at full speed under reordering, because every incoming SACK was releasing one MSS. This patch removes the limitation, as we did for CWR state in commit a0ea700e409 ("tcp: tso: allow CA_CWR state in tcp_tso_should_defer()") Neal Cardwell had a concern about limited transmit so Yuchung conducted experiments on GFE and found nothing worth adding an extra check on fast path : if (icsk->icsk_ca_state == TCP_CA_Disorder && tcp_sk(sk)->reordering == sysctl_tcp_reordering) goto send_now; Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f45d1902acfc7e6680cfeeb38922dcc7e16deb6 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 25 23:42:01 2015 +0300 ravb: minimize TX data copying Renesas Ethernet AVB controller requires that all data are aligned on 4-byte boundary. While it's easily achievable for the RX data with the help of skb_reserve() (we even align on 128-byte boundary as recommended by the manual), we can't do the same with the TX data, and it always comes unaligned from the networking core. Originally we solved it an easy way, copying all packet to a preallocated aligned buffer; however, it's enough to copy only up to 3 first bytes from each packet, doing the transfer using 2 TX descriptors instead of just 1. Here's an implementation of the new TX algorithm that significantly reduces the driver's memory requirements. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c22995c5488d7048554d85ee5ee8a269932b0aea Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Jul 25 09:42:28 2015 -0700 dsa: mv88e6352/mv88e6xxx: Move temperature sensor code to mv88e6xxx.c Move the temperature sensing code for mv88e6352 and mv88e6320 families into mv88e6xxx.c to simplify adding support for additional chips. With this change, mv88e6xxx_6320_family() no longer needs to be a global function and is made static. Cc: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Tested-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71790a2792c8772e29bf5aa726215d9256ef93dc Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Fri Jul 24 10:08:40 2015 -0700 hv_netvsc: Add structs and handlers for VF messages This patch adds data structures and handlers for messages related to SRIOV Virtual Function. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70d2db7b21684bb2b808e78fbab8e594dd7e50ce Merge: 205845a 8d6c31b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 27 01:08:26 2015 -0700 Merge branch 'rt6_probe_write_lock' Martin KaFai Lau says: ==================== ipv6: Avoid rt6_probe() taking writer lock in the fast path v1 -> v2: 1. Separate the code re-arrangement into another patch 2. Fix style ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d6c31bf574177c8de48dd1387d96e1ec3a8b8bc Author: Martin KaFai Lau <kafai@xxxxxx> Date: Fri Jul 24 09:57:43 2015 -0700 ipv6: Avoid rt6_probe() taking writer lock in the fast path The patch checks neigh->nud_state before acquiring the writer lock. Note that rt6_probe() is only used in CONFIG_IPV6_ROUTER_PREF. 40 udpflood processes and a /64 gateway route are used. The gateway has NUD_PERMANENT. Each of them is run for 30s. At the end, the total number of finished sendto(): Before: 55M After: 95M Signed-off-by: Martin KaFai Lau <kafai@xxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> CC: Julian Anastasov <ja@xxxxxx> CC: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 990edb428c2c85c22ca770330437db7183cbe8b5 Author: Martin KaFai Lau <kafai@xxxxxx> Date: Fri Jul 24 09:57:42 2015 -0700 ipv6: Re-arrange code in rt6_probe() It is a prep work for the next patch to remove write_lock from rt6_probe(). 1. Reduce the number of if(neigh) check. From 4 to 1. 2. Bring the write_(un)lock() closer to the operations that the lock is protecting. Hopefully, the above make rt6_probe() more readable. Signed-off-by: Martin KaFai Lau <kafai@xxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Julian Anastasov <ja@xxxxxx> Cc: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc596660dd4e83f7f84e3cd7b25dc5e8e83000ef Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 21 13:28:57 2015 +0200 drm/atomic: add connectors_changed to separate it from mode_changed, v2 This can be a separate case from mode_changed, when connectors stay the same but only the mode is different. Drivers may choose to implement specific optimizations to prevent a full modeset for this case. Changes since v1: - Update kerneldocs slightly. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 205845a34763432040496908c8f52f1f97e5ee62 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 15:50:31 2015 +0200 bonding: convert num_grat_arp to the new bonding option API num_grat_arp wasn't converted to the new bonding option API, so do this now and remove the specific sysfs store option in order to use the standard one. num_grat_arp is the same as num_unsol_na so add it as an alias with the same option settings. An important difference is the option name which is matched in bond_sysfs_store_option(). Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Veaceslav Falico <vfalico@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94724d102c829d9f2105b1cb6e831c99174cd49d Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Jul 24 19:26:02 2015 +0800 net: phy: fix auto negotiation checking for teranetics When using fiber port, the phy cannot report it's auto negotiation state, driver should always report auto negotiation is done when using fiber port. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a6228a0b472062646434cd2536d109c102b606e Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Jul 24 12:28:36 2015 +0200 lwtunnel: change prototype of lwtunnel_state_get() It saves some lines and simplify a bit the code when the state is returning by this function. It's also useful to handle a NULL entry. To avoid too long lines, I've also renamed lwtunnel_state_get() and lwtunnel_state_put() to lwtstate_get() and lwtstate_put(). CC: Thomas Graf <tgraf@xxxxxxx> CC: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d943659508a4fb883507fdd3f998329e70a8f922 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Jul 24 12:28:35 2015 +0200 ipv6: copy lwtstate in ip6_rt_copy_init() We need to copy this field (ip6_rt_cache_alloc() and ip6_rt_pcpu_alloc() use ip6_rt_copy_init() to build a dst). CC: Thomas Graf <tgraf@xxxxxxx> CC: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Fixes: 19e42e451506 ("ipv6: support for fib route lwtunnel encap attributes") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6673a9f4e35c1f0e9976cd4e88042f87674a6b02 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Fri Jul 24 10:59:41 2015 +0200 ipv6: use lwtunnel_output6() only if flag redirect is set This function make sense only when LWTUNNEL_STATE_OUTPUT_REDIRECT is set. The check is already done in IPv4. CC: Thomas Graf <tgraf@xxxxxxx> CC: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Fixes: 74a0f2fe8ed5 ("ipv6: rt6_info output redirect to tunnel output") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9267135cca60674321139626f49077a4937d730e Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Fri Jul 24 14:16:10 2015 +0800 net: phy: dp83867: fix simple_return.cocci warnings drivers/net/phy/dp83867.c:126:1-4: WARNING: end returns can be simpified drivers/net/phy/dp83867.c:74:5-8: WARNING: end returns can be simpified if tested value is negative or 0 Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b469139e81ca8265fb4797c007f8d3338f4191a5 Author: subashab@xxxxxxxxxxxxxx <subashab@xxxxxxxxxxxxxx> Date: Fri Jul 24 03:03:29 2015 +0000 dev: Spelling fix in comments Fix the following typo - unchainged -> unchanged Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24b4d2abd0bd628f396dada3e915d395cbf459eb Author: Alex Gartrell <agartrell@xxxxxx> Date: Thu Jul 23 14:24:40 2015 -0700 ebpf: Allow dereferences of PTR_TO_STACK registers mov %rsp, %r1 ; r1 = rsp add $-8, %r1 ; r1 = rsp - 8 store_q $123, -8(%rsp) ; *(u64*)r1 = 123 <- valid store_q $123, (%r1) ; *(u64*)r1 = 123 <- previously invalid mov $0, %r0 exit ; Always need to exit And we'd get the following error: 0: (bf) r1 = r10 1: (07) r1 += -8 2: (7a) *(u64 *)(r10 -8) = 999 3: (7a) *(u64 *)(r1 +0) = 999 R1 invalid mem access 'fp' Unable to load program We already know that a register is a stack address and the appropriate offset, so we should be able to validate those references as well. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa4cf04e65cb7f75c147e2cc80f0f472b0d93534 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Thu Jul 23 11:22:56 2015 +0000 Bluetooth: hci_h5: Cleaned up coding style warnings Cleanedup "Unnecessary space before function pointer arguments" warning reported by Checkpatch Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit acf50c5fc6f3d1851d23c48737210b5f61f58e1f Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Thu Jul 23 11:08:52 2015 +0000 Bluetooth: hci_ldisc: Cleaned up coding style warnings Fix for Cleanpatch warning: Space prohibited between function name and open parenthesis '(' Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ba27b7ef4a72e0d4718a13bc93b769eec4567d2a Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Thu Jul 23 10:38:47 2015 +0000 Bluetooth: btmrvl: Coding style Fix for btmrvl header Fix for "Unnecessary space before function pointer arguments" reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6ecfdd28c8a6504349ca8501316b1ed3f639ce44 Merge: fda19e8 a741749 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 27 00:29:18 2015 -0700 Merge branch 'mlx5e-next' Amir Vadai says: ==================== ConnectX-4 driver update 2015-07-23 This patchset introduce some performance enhancements to the ConnectX-4 driver. 1. Improving RSS distribution, and make RSS function controlable using ethtool. 2. Make memory that is written by NIC and read by host CPU allocate in the local NUMA to the processing CPU 3. Support tx copybreak 4. Using hardware feature called blueflame to save DMA reads when possible Another patch by Achiad fix some cosmetic issues in the driver. Patchset was applied and tested on top of commit 045a0fa ("ip_tunnel: Call ip_tunnel_core_init() from inet_init()") ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a741749f214afd05402aeed0ecdca90eeaffc303 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Jul 23 23:36:01 2015 +0300 net/mlx5e: Input IPSEC.SPI into the RX RSS hash function In addition to the source/destination IP which are already hashed. Only for unicast traffic for now. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a6f8aef16c53ffeb9c1497f0b583269695c067d Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Jul 23 23:36:00 2015 +0300 net/mlx5e: Cosmetics: use BIT() instead of "1 <<", and others No logical change in this commit. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88a85f99e51fb2373259ab83c8bb130a9bbf3804 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Jul 23 23:35:59 2015 +0300 net/mlx5e: TX latency optimization to save DMA reads A regular TX WQE execution involves two or more DMA reads - one to fetch the WQE, and another one per WQE gather entry. These DMA reads obviously increase the TX latency. There are two mlx5 mechanisms to bypass these DMA reads: 1) Inline WQE 2) Blue Flame (BF) An inline WQE contains a whole packet, thus saves the DMA read/s of the regular WQE gather entry/s. Inline WQE support was already added in the previous commit. A BF WQE is written directly to the device I/O mapped memory, thus enables saving the DMA read that fetches the WQE. The BF WQE I/O write must be in cache line granularity, thus uses the CPU write combining mechanism. A BF WQE I/O write acts also as a TX doorbell for notifying the device of new TX WQEs. A BF WQE is written to the same I/O mapped address as the regular TX doorbell, thus this address is being mapped twice - once by ioremap() and once by io_mapping_map_wc(). While both mechanisms reduce the TX latency, they both consume more CPU cycles than a regular WQE: - A BF WQE must still be written to host memory, in addition to being written directly to the device I/O mapped memory. - An inline WQE involves copying the SKB data into it. To handle this tradeoff, we introduce here a heuristic algorithm that strives to avoid using these two mechanisms in case the TX queue is being back-pressured by the device, and limit their usage rate otherwise. An inline WQE will always be "Blue Flamed" (written directly to the device I/O mapped memory) while a BF WQE may not be inlined (may contain gather entries). Preliminary testing using netperf UDP_RR shows that the latency goes down from 17.5us to 16.9us, while the message rate (tested with pktgen) stays the same. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58d522912ac7d25b63f468fa4a4e8bb059c5144e Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Jul 23 23:35:58 2015 +0300 net/mlx5e: Support TX packet copy into WQE AKA inline WQE. A TX latency optimization to save data gather DMA reads. Controlled by ETHTOOL_TX_COPYBREAK. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 311c7c71c9bb8786c96fee353fe9886c08b017fe Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Jul 23 23:35:57 2015 +0300 net/mlx5e: Allocate DMA coherent memory on reader NUMA node By affinity hints and XPS, each mlx5e channel is assigned a CPU core. Channel DMA coherent memory that is written by the NIC and read by SW (e.g CQ buffer) is allocated on the NUMA node of the CPU core assigned for the channel. Channel DMA coherent memory that is written by SW and read by the NIC (e.g SQ/RQ buffer) is allocated on the NUMA node of the NIC. Doorbell record (written by SW and read by the NIC) is an exception since it is accessed by SW more frequently. Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2be6967cdbc95a9960b620defedbf5e02e2af619 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Jul 23 23:35:56 2015 +0300 net/mlx5e: Support ETH_RSS_HASH_XOR The ConnectX-4 HW implements inverted XOR8. To make it act as XOR we re-order the HW RSS indirection table. Set XOR to be the default RSS hash function and add ethtool API to control it. Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fda19e83fb615edb1555e7a07130695cf0073d20 Merge: ea6f82f 5be4001e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 27 00:18:40 2015 -0700 Merge branch 'netcp-next' WingMan Kwok says: ==================== net: netcp: Bug fixes of CPSW statistics collection This patch set contains bug fixes and enhencements of hw ethernet statistics processing on TI's Keystone2 CPSW ethernet switches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5be4001eccb954da7f8ae68248167d3dbb6e7177 Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:24 2015 -0400 net: netcp: Adds missing statistics for K2L and K2E This patch adds the missing statistics for the host and slave ports of the CPSW on K2L and K2E platforms. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 489e8a2f09d772afc98a85ca477bb6bc52400c26 Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:23 2015 -0400 net: netcp: Fixes to CPSW statistics collection In certain applications it's beneficial to allow the CPSW h/w stats counters to continue to increment even while the kernel polls them. This patch implements this behavior for both 1G and 10G ethernet subsystem modules. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fbf64c1915b964c05edd4434250fbbb31ded38c6 Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:22 2015 -0400 net: netcp: Consolidates statistics collection code Different Keystone2 platforms have different number and layouts of hw statistics modules. This patch consolidates the statistics processing of different Keystone2 platforms for easy maintenance. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 208c6b9a49df8b69ab698d9f53d40d25f143dbde Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:21 2015 -0400 net: netcp: Fixes error in oversized memory allocation for statistics storage The CPSW driver keeps internally some, but not all, of the statistics available in the hw statistics modules. Furthermore, some of the locations in the hw statistics modules are reserved and contain no useful information. Prior to this patch, the driver allocates memory of the size of the the whole hw statistics modules, instead of the size of statistics-entries-interested-in (i.e. et_stats), for internal storage. This patch fixes that. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a94bcd09c554e8df3a32ef3f25ecfd74e73b9651 Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:20 2015 -0400 net: netcp: Fixes hw statistics module base setting error This patch fixes error in the setting of the hw statistics module base for K2HK platform. In K2HK although there are 4 hw statistics modules, but only 2 are visible at a time. Thus when setting up the pointers to the base of the corresponding hw statistics modules, modules 0 and 2 should point to one base, while modules 1 and 3 should point to the other. Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0f54edbe26fbe8194d7e72c24c49f7b1c9c547f Author: WingMan Kwok <w-kwok2@xxxxxx> Date: Thu Jul 23 15:57:19 2015 -0400 net: netcp: Fixes the use of spin_lock_bh in timer function This patch fixes a bug in which the timer routine synchronized against the ethtool-triggered statistics updates with spin_lock_bh(). A timer function is itself a bottom-half, so this should be spin_lock(). Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0aef3997e12a10d4dfb6e01133e2fe478b9aa5eb Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 23 15:52:21 2015 -0700 irqchip/bcm7120-l2: Fix interrupt status for multiple parent IRQs Our irq-bcm7120-l2 interrupt controller driver utilizes the same handler function for the different parent interrupts it services: UPG_MAIN, UPG_BSC for instance. The problem is that function reads the IRQSTAT register which can combine interrupt causes for different parent interrupts, such that we can end-up in the following situation: - CPU takes an interrupt - bcm7120_l2_intc_irq_handle() reads IRQSTAT - generic_handle_irq() is invoked - there are still pending interrupts flagged in IRQSTAT from a different parent - handle_bad_irq() is invoked for these since they come from a different irq_desc/irq In order to fix this, make sure that we always mask IRQSTAT with the appropriate bits that correspond go the parent interrupt source this is coming from. To simplify things, associate an unique structure per parent interrupt handler to avoid multiplying the number of lookups. Fixes: a5042de2688d ("irqchip: bcm7120-l2: Add Broadcom BCM7120-style Level 2 interrupt controller") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: cernekee@xxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Cc: gregory.0xf0@xxxxxxxxx Cc: computersforpeace@xxxxxxxxx Link: http://lkml.kernel.org/r/1437691941-3100-1-git-send-email-f.fainelli@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fd537766715e9b6bf7ff07abb22f4817201433db Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Jul 22 16:21:40 2015 -0700 irqchip/bcm7120-l2: Perform suspend/resume even without installed child IRQs Make use of the new irq_chip_generic suspend/resume callbacks. This is required because if there are no installed child IRQs for this chip, the irq_chip::irq_{suspend,resume} functions will not be called. However, we still need to save/restore the forwarding mask, to enable the top-level GIC interrupt; otherwise, we lose UART output after S3 resume. In addition to refactoring the callbacks, we have to self-initialize the mask cache, since the genirq core also doesn't initialize this until the first child IRQ is installed. The original problem report is described in extra detail here: http://lkml.kernel.org/g/20150619224123.GL4917@ld-irv-0074 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Gregory Fong <gregory.0xf0@xxxxxxxxx> Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437607300-40858-2-git-send-email-computersforpeace@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit be9b22b6a7e6725162c64155a08b71f0654b675c Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Jul 22 16:21:39 2015 -0700 genirq: Add chip_[suspend|resume] PM support to irq_chip Some (admittedly odd) irqchips perform functions that are not directly related to any of their child IRQ lines, and therefore need to perform some tasks during suspend/resume regardless of whether there are any "installed" interrupts for the irqchip. However, the current generic-chip framework does not call the chip's irq_{suspend,resume} when there are no interrupts installed (this makes sense, because there are no irq_data objects for such a call to be made). More specifically, irq-bcm7120-l2 configures both a forwarding mask (which affects other top-level GIC IRQs) and a second-level interrupt mask (for managing its own child interrupts). The former must be saved/restored on suspend/resume, even when there's nothing to do for the latter. This patch adds a new set of suspend/resume hooks to irq_chip_generic, to help represent *chip* suspend/resume, rather than IRQ suspend/resume. These callbacks will always be called for an IRQ chip (regardless of the installed interrupts) and are based on the per-chip irq_chip_generic struct, rather than the per-IRQ irq_data struct. The original problem report is described in extra detail here: http://lkml.kernel.org/g/20150619224123.GL4917@ld-irv-0074 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Gregory Fong <gregory.0xf0@xxxxxxxxx> Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437607300-40858-1-git-send-email-computersforpeace@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c376023b7096e76ac4d5526105cf9be8743bead9 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Fri Jul 24 15:24:45 2015 -0400 irqchip: Appropriate __init annotation for const data Init data marked const should be annotated with __initconst for correctness and not __initdata. And for those already __initconst, they should be qualified as const at the compiler level too. This also fixes LTO builds that otherwise fail with section mismatch errors. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/alpine.LFD.2.20.1507241511551.1806@xxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1ee4fb3ee1e47f2b3c294ded383a3cd9cc2decd4 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jul 22 12:43:04 2015 -0700 genirq: Export irq_[get|set]_irqchip_state() Export these functions to be able to build the Qualcomm family A PMIC gpio and mpp drivers as modules. [ tglx: Made them GPL exports ] Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <kernel-build-reports@xxxxxxxxxxxxxxxx> Cc: <linaro-kernel@xxxxxxxxxxxxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437594184-22966-1-git-send-email-bjorn.andersson@xxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0d3f2c92e004c67404fabea19728c1962b777bd6 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jul 15 15:38:29 2015 +0100 irqchip/gic: Remove redundant gic_set_irqchip_flags Now that the GIC chip implementation enables IRQCHIP_SKIP_SET_WAKE and IRQCHIP_MASK_ON_SUSPEND by default, the platforms requiring them need not override the irqchip flags as before. This patch removes all the users of gic_set_irqchip_flags and the function itself. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436971109-20189-2-git-send-email-sudeep.holla@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit aec89ef72ba6c94420f599dcb684ed66937cdacf Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jul 15 15:38:28 2015 +0100 irqchip/gic: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND The GIC controller doesn't provides any facility to configure the wakeup sources. For the same reason, GIC chip implementation can't provide irq_set_wake functionality, but that results in the irqchip core preventing the systems from entering sleep states like "suspend to RAM". The GICv1/v2 controllers support wakeup events. They signal these wakeup events even when CPU interface is disabled which means the wakeup outputs are always enabled with the required logic in always-on domain. An implementation can powerdown the GIC completely, but then the wake-up must be relayed to some control logic within the power controller that acts as wake-up interrupt controller. Setting the IRQCHIP_SKIP_SET_WAKE flags will ensure that the interrupts from GIC can work as wakeup interrupts and resume from suspend-to-{idle, ram}. The wakeup interrupt sources need to use enable_irq_wake() and the irqchip core will then set the IRQD_WAKEUP_STATE flag. Also it's always safer to mask all the non wakeup interrupts are masked at the chip level when suspending. The irqchip infrastructure can handle masking of those interrupts at the chip level. The chip implementation just have to indicate that with IRQCHIP_MASK_ON_SUSPEND. This patch enables IRQCHIP_SKIP_SET_WAKE and IRQCHIP_MASK_ON_SUSPEND so that the irqchip core allows and handles the power managemant wake up modes. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436971109-20189-1-git-send-email-sudeep.holla@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ea6f82fe37319675e271dd6b55fb37731eef0e46 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Jul 23 22:41:14 2015 +0530 cxgb4vf: Read correct FL congestion threshold for T5 and T6 VF driver was reading incorrect freelist congestion notification threshold for FLM queues when packing is enabled for T5 and T6 adapter. Fixing it now. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e0910bace663b78c026b73bbd711a24ccf410531 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Jul 23 15:43:56 2015 +0200 lwtunnel: export linux/lwtunnel.h to userspace Note also that include/linux/lwtunnel.h is not needed. CC: Thomas Graf <tgraf@xxxxxxx> CC: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Fixes: 499a24256862 ("lwtunnel: infrastructure for handling light weight tunnels like mpls") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0322f7f1e2165fbf83530a424ef6ebeacbf4bca Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 13:50:28 2015 +0530 powerpc/perf: Change type of the bhrb_users variable This patch just changes data type of bhrb_users variable from int to unsigned int because it never contains a negative value. Reported-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 949f1e39a6177503349ef8adeedd13fa1c89e5dd Author: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 23 05:00:53 2015 -0700 bridge: mdb: notify on router port add and del Send notifications on router port add and del/expire, re-use the already existing MDBA_ROUTER and send NEWMDB/DELMDB netlink notifications respectively. Signed-off-by: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 597798e438371128519fa94dacdc42311b4254a6 Author: Thomas Graf <tgraf@xxxxxxx> Date: Thu Jul 23 13:04:44 2015 +0200 openvswitch: Retrieve tunnel metadata when receiving from vport-netdev Retrieve the tunnel metadata for packets received by a net_device and provide it to ovs_vport_receive() for flow key extraction. [This hunk was in the GRE patch in the initial series and missed the cut for the initial submission for merging.] Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ece39ab9a91aa37090c8fbfe64c240f27ad9f1a Author: Harini Katakam <harini.katakam@xxxxxxxxxx> Date: Thu Jul 23 15:44:25 2015 +0530 net: macb: Change capability mask for jumbo support JUMBO and NO_GIGABIT_HALF have the same capability masks. Change one of them. Signed-off-by: Harini Katakam <harinik@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2661371ace963280f34fe583d4a6697afecd87d5 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Jul 23 11:29:07 2015 +0200 openvswitch: fix compilation when vxlan is a module With CONFIG_VXLAN=m and CONFIG_OPENVSWITCH=y, there was the following compilation error: LD init/built-in.o net/built-in.o: In function `vxlan_tnl_create': .../net/openvswitch/vport-netdev.c:322: undefined reference to `vxlan_dev_create' make: *** [vmlinux] Error 1 CC: Thomas Graf <tgraf@xxxxxxx> Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88f643203668b95b884b60b45ff182289153843c Author: Julian Anastasov <ja@xxxxxx> Date: Thu Jul 23 10:39:35 2015 +0300 ipv4: be more aggressive when probing alternative gateways Currently, we do not notice if new alternative gateways are added. We can do it by checking for present neigh entry. Also, gateways that are currently probed (NUD_INCOMPLETE) can be skipped from round-robin probing. Suggested-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48fb6b554501914b6befcf9b38292cbeb91de330 Author: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> Date: Wed Jul 22 18:13:12 2015 -0700 ipv6: fix crash over flow-based vxlan device Similar check was added in ip_rcv but not in ipv6_rcv. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff81734e0a>] ipv6_rcv+0xfa/0x500 Call Trace: [<ffffffff816c9786>] ? ip_rcv+0x296/0x400 [<ffffffff817732d2>] ? packet_rcv+0x52/0x410 [<ffffffff8168e99f>] __netif_receive_skb_core+0x63f/0x9a0 [<ffffffffc02b34a0>] ? br_handle_frame_finish+0x580/0x580 [bridge] [<ffffffff8109912c>] ? update_rq_clock.part.81+0x1c/0x40 [<ffffffff8168ed18>] __netif_receive_skb+0x18/0x60 [<ffffffff8168fa1f>] process_backlog+0x9f/0x150 Fixes: ee122c79d422 (vxlan: Flow based tunneling) Signed-off-by: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ac9de5f656352b24ab2cb3e925f078c8c809a19 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Jul 22 17:29:53 2015 -0700 net: bcmgenet: Register link_update callback for all MoCA PHYs Commit 8d88c6ebb34c ("net: bcmgenet: enable MoCA link state change detection") added a fixed PHY link_update callback for MoCA PHYs when registered using platform_data exclusively, this change is also applicable to systems using Device Tree as their primary configuration interface. In order for this to work, move the link_update assignment into bcmgenet_moca_phy_setup() where we know for sure that we are running on a MoCA GENET instance, and do not override phydev->link since this is: - properly taken care of by the PHY library by getting the link UP/DOWN interrupts - this now runs everytime we call bcmgenet_open(), so we need to preserve whatever we detected before we went administratively DOWN and then UP - we need to make sure that MoCA PHYs start with a link DOWN during probe in order to force a link transition to occur To avoid a forward declaration, move bcmgenet_fixed_phy_link_update() above its caller. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d5d3075b5910cff7b33a68d3b065566fece4ba1 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Jul 22 17:28:23 2015 -0700 net: bcmgenet: Remove checks on clock handles Instead of multiplying the number of checks for IS_ERR(priv->clk), simply NULLify the 'struct clk' pointer which is something the Linux common clock framework perfectly deals with and does early return for each and every single clk_* API functions. Having every single function check for !IS_ERR(priv->clk) is both redundant and error prone, as it turns out, we were doing it for the main GENET clock: priv->clk, but not for the Wake-on-LAN or EEE clock, so let's just be consistent here. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3e6b82a0099dfef038e40c630a554ed1e402504 Author: KY Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Jul 22 11:42:32 2015 -0700 hv_netvsc: Wait for sub-channels to be processed during probe The current code returns from probe without waiting for the proper handling of subchannels that may be requested. If the netvsc driver were to be rapidly loaded/unloaded, we can trigger a panic as the unload will be tearing down state that may not have been fully setup yet. We fix this issue by making sure that we return from the probe call only after ensuring that the sub-channel offers in flight are properly handled. Reviewed-and-tested-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 402b764533e9d973952573df7ff96c41189e1a14 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Jul 22 22:54:50 2015 +0530 cxgb4: Allow firmware flash, only if cxgb4 is the master driver Adapter can go for a toss, if cxgb4 is loaded as slave and we try to upgrade the firmware. So add a check for the same before flashing firmware using ethtool. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b6948dda798637aea237df0d0c8bcba8fa653bc Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Jul 22 17:08:42 2015 +0200 vxlan: Use proper endian type for vni in vxlan[6]_xmit_skb Silences the following sparse warnings: drivers/net/vxlan.c:1818:21: warning: incorrect type in assignment (different base types) drivers/net/vxlan.c:1818:21: expected restricted __be32 [usertype] vx_vni drivers/net/vxlan.c:1818:21: got unsigned int [unsigned] [usertype] vni drivers/net/vxlan.c:2014:58: warning: incorrect type in argument 11 (different base types) drivers/net/vxlan.c:2014:58: expected unsigned int [unsigned] [usertype] vni drivers/net/vxlan.c:2014:58: got restricted __be32 [usertype] <noident> Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d70ec70ef3b5e3e5536d21d8fc82b25aba62d97 Merge: a69e5a0 cda3696 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Jul 26 16:31:50 2015 -0700 Merge branch 'tipc' Jon Maloy says: ==================== tipc: clean up socket message reception Despite recent improvements the message reception code in socket.c is perceived as obscure and hard to follow, especially regarding the logics for message rejection. With the commits in this series we try to remedy this situation. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cda3696d3d26eb798c94de0dab5bd66ddb5627cb Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Jul 22 10:11:20 2015 -0400 tipc: clean up socket layer message reception When a message is received in a socket, one of the call chains tipc_sk_rcv()->tipc_sk_enqueue()->filter_rcv()(->tipc_sk_proto_rcv()) or tipc_sk_backlog_rcv()->filter_rcv()(->tipc_sk_proto_rcv()) are followed. At each of these levels we may encounter situations where the message may need to be rejected, or a new message produced for transfer back to the sender. Despite recent improvements, the current code for doing this is perceived as awkward and hard to follow. Leveraging the two previous commits in this series, we now introduce a more uniform handling of such situations. We let each of the functions in the chain itself produce/reverse the message to be returned to the sender, but also perform the actual forwarding. This simplifies the necessary logics within each function. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bcd3ffd4f6d7c994c93be2ab8598fdfb2952a1f1 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Jul 22 10:11:19 2015 -0400 tipc: introduce new tipc_sk_respond() function Currently, we use the code sequence if (msg_reverse()) tipc_link_xmit_skb() at numerous locations in socket.c. The preparation of arguments for these calls, as well as the sequence itself, makes the code unecessarily complex. In this commit, we introduce a new function, tipc_sk_respond(), that performs this call combination. We also replace some, but not yet all, of these explicit call sequences with calls to the new function. Notably, we let the function tipc_sk_proto_rcv() use the new function to directly send out PROBE_REPLY messages, instead of deferring this to the calling tipc_sk_rcv() function, as we do now. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29042e19f2c602fabe4705b5b719550b4627639c Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Jul 22 10:11:18 2015 -0400 tipc: let function tipc_msg_reverse() expand header when needed The shortest TIPC message header, for cluster local CONNECTED messages, is 24 bytes long. With this format, the fields "dest_node" and "orig_node" are optimized away, since they in reality are redundant in this particular case. However, the absence of these fields leads to code inconsistencies that are difficult to handle in some cases, especially when we need to reverse or reject messages at the socket layer. In this commit, we concentrate the handling of the absent fields to one place, by letting the function tipc_msg_reverse() reallocate the buffer and expand the header to 32 bytes when necessary. This means that the socket code now can assume that the two previously absent fields are present in the header when a message needs to be rejected. This opens up for some further simplifications of the socket code. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90a21700ed9635070fb04fe92fb50c5e3bc16605 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:34:58 2015 -0700 drm: Fix DP_TEST_COUNT_MASK By Vesa's DP 1.2 Spec this counter has 4 bits [3:0]. This mask is wrong since when the counter was introduced by myself on commit ad9dc91b6e21266bfc6f466db4b95e10211f31ee Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Sep 16 19:18:12 2014 -0400 drm/i915: Fix Sink CRC Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7dd0e0af64afe4aa08ccdd167f64bd007f09b515 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed May 27 17:11:37 2015 -0400 intel_idle: allow idle states to be freeze-mode specific intel_idle uses a NULL "enter" field in a cpuidle state to recognize the invalid entry terminating a variable-length array. Linux-4.0 added support for the system-wide "freeze" state in cpuidle drivers via the new "enter_freeze" field. The natural way to expose a deep idle state for freeze, but not for run-time idle is to supply "enter_freeze" without "enter"; so we update the driver to accept such states. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 92ff7a698badec3938edd3ba6b3e3ae035555365 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Jul 25 21:10:27 2015 +0200 bcma: fix build error when build as module Currently of_default_bus_match_table is not exported so we can only use this feature when bcma is build into the kernel. This patch removes support for child buses when bcma is build as a module as a temporary fix for a build problem introduces in this commit: commit cae761b5a6bdc597ba476a040fdcd5b4bc559b85 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Jun 28 17:17:13 2015 +0200 bcma: populate bus DT subnodes as platform_device-s Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Fixes: cae761b5a6bd ("bcma: populate bus DT subnodes as platform_device-s") Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit df6e23ae62d46a524ba3db95a201904a01419bdc Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:31:12 2015 +0000 avr32/irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150713100606.527106283@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4f31dd63e050b777d3f3139197c4b3860aa89301 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:31:10 2015 +0000 avr32/at32ap: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Link: http://lkml.kernel.org/r/20150713100606.448031045@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4365160def95ef2f5da9b5cc5660e5747e5e1956 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:31:09 2015 +0000 avr32/at32ap: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Link: http://lkml.kernel.org/r/20150713100606.351640193@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3cbd6a6ca81c9e8438b592099495a7c2b72de9e3 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 13:55:51 2015 +0200 ARM: mvebu: Add standby support Until now only one Armada XP and one Armada 388 based board supported suspend to ram. However, most of the recent mvebu SoCs can support the standby mode. Unlike for the suspend to ram, nothing special has to be done for these SoCs. This patch allows the system to use the standby mode on Armada 370, 38x, 39x and XP SoCs. There are issues with the Armada 375, and the support might be added (if possible) in a future patch. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit bb253e743affa9d0053add8d3a1089df82f1c854 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 13:55:50 2015 +0200 ARM: mvebu: Use __init for the PM initialization functions mvebu_pm_init and mvebu_armada_pm_init are only called during boot, so flag them with __init and save some memory. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 32f9494c9dfd7494721b314897008dcde6415cb3 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 17:02:33 2015 +0200 ARM: mvebu: prepare pm-board.c for the introduction of Armada 38x support The pm-board.c code contains the board-specific logic to enter suspend to RAM. Until now, the code supported only the Armada XP GP board, so all functions and symbols were named with armada_xp_gp. However, it turns out that the Armada 388 GP also uses the same 3 GPIOs protocol to talk to the PIC microcontroller that controls the power supply. Since we are going to re-use the same code with no change for Armada 38x, this commit renames the functions and symbols to use just "armada" instead of "armada_xp_gp". Better names can be found if one day other boards having a different protocol/mechanism are supported in the kernel. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 88ed69f2a1e1e8e5eb9e16d8cdebd9d5f1deef67 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 17:02:32 2015 +0200 ARM: mvebu: prepare mvebu_pm_store_bootinfo() to support multiple SoCs As we are going to introduce support for Armada 38x in pm.c, split out the Armada XP part of mvebu_pm_store_bootinfo() into mvebu_pm_store_armadaxp_bootinfo(), and make the former retunr an error when an unsupported SoC is used. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a101b53d3af16255c0038aad26902be590a96ffa Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 17:02:31 2015 +0200 ARM: mvebu: do not check machine in mvebu_pm_init() The mvebu_pm_init() initializes the support for suspend/resume, and before doing that, it checks if we are on a board on which suspend/resume is actually supported. However, this check is already done by mvebu_armada_xp_gp_pm_init(), and there is no need to duplicate the check: callers of mvebu_pm_init() should now what they are doing. This commit is done in preparation to the addition of suspend/resume support on Armada 38x. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 01049a5deb1d6b9fc3f2df512af09fddd0db6730 Author: Nadav Haklai <nadavh@xxxxxxxxxxx> Date: Wed Jul 8 17:02:30 2015 +0200 ARM: mvebu: prepare set_cpu_coherent() for future extension This patch prepares the set_cpu_coherent() function in coherency.c to be extended to support other SoCs than Armada XP. It will be needed on Armada 38x to re-enable the coherency after exiting from suspend to RAM. This preparation simply moves the function further down in coherency.c so that it can use coherency_type(), and uses that function to only do the Armada XP specific work if we are on Armada XP. Signed-off-by: Nadav Haklai <nadavh@xxxxxxxxxxx> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 3fa609755c11fbe8770ede4d895ebb86fb7b9f1e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 00:38:08 2015 +0100 ARM: omap2: restore OMAP4 barrier behaviour Restore the OMAP4 barrier behaviour using the new implementation which allows multiplatform systems to hook into the mb() and wmb() ARM implementations to perform any necessary additional barrier maintanence. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Richard Woodruff <r-woodruff2@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f746929ffdc8a83c0e6092343d4475f6485e13d3 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 00:13:40 2015 +0100 Revert "ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688" This reverts commit 606da4826b89b044b51e3a84958b802204cfe4c7. We actually need this code for proper behaviour of OMAP4, and it needs fixing a different way other than just removing the code. Disabling code which is necessary in the hopes of persuing multiplatform kernels is a stupid approach. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Richard Woodruff <r-woodruff2@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4e1f8a6f1d978f033f1751e2887b3a69fab3f878 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jun 3 13:10:16 2015 +0100 ARM: add soc memory barrier extension Add an extension to the heavy barrier code to allow a SoC specific memory barrier function to be provided. This is needed for platforms where the interconnect has weak ordering, and thus needs assistance to ensure that memory writes are properly visible in the correct order to other parts of the system. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Richard Woodruff <r-woodruff2@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f81309067ff2d84788316c513a415f6bb8c9171f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 1 23:44:46 2015 +0100 ARM: move heavy barrier support out of line The existing memory barrier macro causes a significant amount of code to be inserted inline at every call site. For example, in gpio_set_irq_type(), we have this for mb(): c0344c08: f57ff04e dsb st c0344c0c: e59f8190 ldr r8, [pc, #400] ; c0344da4 <gpio_set_irq_type+0x230> c0344c10: e3590004 cmp r9, #4 c0344c14: e5983014 ldr r3, [r8, #20] c0344c18: 0a000054 beq c0344d70 <gpio_set_irq_type+0x1fc> c0344c1c: e3530000 cmp r3, #0 c0344c20: 0a000004 beq c0344c38 <gpio_set_irq_type+0xc4> c0344c24: e50b2030 str r2, [fp, #-48] ; 0xffffffd0 c0344c28: e50bc034 str ip, [fp, #-52] ; 0xffffffcc c0344c2c: e12fff33 blx r3 c0344c30: e51bc034 ldr ip, [fp, #-52] ; 0xffffffcc c0344c34: e51b2030 ldr r2, [fp, #-48] ; 0xffffffd0 c0344c38: e5963004 ldr r3, [r6, #4] Moving the outer_cache_sync() call out of line reduces the impact of the barrier: c0344968: f57ff04e dsb st c034496c: e35a0004 cmp sl, #4 c0344970: e50b2030 str r2, [fp, #-48] ; 0xffffffd0 c0344974: 0a000044 beq c0344a8c <gpio_set_irq_type+0x1b8> c0344978: ebf363dd bl c001d8f4 <arm_heavy_mb> c034497c: e5953004 ldr r3, [r5, #4] This should reduce the cache footprint of this code. Overall, this results in a reduction of around 20K in the kernel size: text data bss dec hex filename 10773970 667392 10369656 21811018 14ccf4a ../build/imx6/vmlinux-old 10754219 667392 10369656 21791267 14c8223 ../build/imx6/vmlinux-new Another advantage to this approach is that we can finally resolve the issue of SoCs which have their own memory barrier requirements within multiplatform kernels (such as OMAP.) Here, the bus interconnects need additional handling to ensure that writes become visible in the correct order (eg, between dma_map() operations, writes to DMA coherent memory, and MMIO accesses.) Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Richard Woodruff <r-woodruff2@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9e07b491bc004259e42739ecd7483ab5a0b8b150 Author: Roger Shimizu <rogershimizu@xxxxxxxxx> Date: Tue Jul 21 23:49:17 2015 +0900 ARM: defconfig: orion5x: add DT support - add 2 DT device entries - enable CONFIG_ARM_ATAG_DTB_COMPAT Signed-off-by: Roger Shimizu <rogershimizu@xxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit dc57844a736f10bf3799d63d7c0d0efc29b1ad7d Author: Roger Shimizu <rogershimizu@xxxxxxxxx> Date: Tue Jul 21 23:49:16 2015 +0900 ARM: dts: orion5x: add buffalo linkstation ls-wtgl Add dts file to support Buffalo Linkstation LS-WTGL, which is marvell orion5x based 2-bay 3.5" HDD NAS. Product info: - (JPN) http://buffalo.jp/products/catalog/storage/ls-wtgl_r1/ - (ENG) http://www.buffalotech.com/support-and-downloads/download/LinkStation_Pro_Duo_Manual_web.pdf Signed-off-by: Roger Shimizu <rogershimizu@xxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 219bf1599e1f6c0cbdc2fe775a97c00bf1ae392d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:26:27 2015 +0900 phy: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 511fdecc9bc98c7b498e72b0dfe8f34481334e4c Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:38:10 2015 +0900 phy: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 2508aaed39c94f61c11ee66787ed4702c8afbc67 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Jun 24 10:40:55 2015 +0200 phy: berlin: Trivial coding style cleanup Remove unneeded space after tab. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 456dedc9e70d2d99b928d215baa881c03369c613 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Jun 24 10:40:54 2015 +0200 phy: berlin: Do not use sata name in usb phy driver copy and paste error from berlin sata phy driver. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 2c89e41f03fa9798405e07bae95760fc86a1068f Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Jun 24 10:40:53 2015 +0200 phy: berlin: .owner field is setup by core There was big cleanup in past to remove this unneeded setting. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 8665c18bece7965c3690ac3824bef2f97bae3d71 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:51 2015 +0200 phy-sun4i-usb: Add support for monitoring vbus via a power-supply On some boards there is no vbus_det gpio pin, instead vbus-detection for otg can be done via the pmic. This commit adds support for monitoring vbus_det via the power_supply exported by the pmic, enabling support for otg on these boards. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1aedf3a7a47b8bbd38c147eeb0c83816c5590215 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:50 2015 +0200 phy-sun4i-usb: Add support for boards with broken Vusb-detection On some boards we cannot detect the presence of an external Vusb, because e.g. the 5V of the otg connector is directly connected to the 5V of the board, and thus is always high. This commit adds support for using such boards by only looking at the id-detection pin. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit fc1f45ed3043da3aa901e88a9ef0995bbd320698 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:49 2015 +0200 phy-sun4i-usb: Add support for the usb-phys on the sun8i-a33 SoC The usb-phys on the sun8i-a33 SoC are mostly the same as sun8i-a23 but for some reason (hw bug?) the phyctl register was moved to a different address and is not initialized to 0 on reset. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 123dfdbcfaf5eb8753cd6293ab50c41e9b8e9ebf Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:48 2015 +0200 phy-sun4i-usb: Add support for the usb-phys on the sun8i-a23 SoC The usb-phys on the sun8i-a23 SoC have the same setup wrt clocks as on the sun6i-a31 SoC, but there are only 2 instead of 3 like on the sun5i-a13 SoC. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 2846469631393a1cf150f17a99b8ca2b5772b255 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:47 2015 +0200 phy-sun4i-usb: Swap check for disconnect threshold Before this commit the code for determining the disconnect threshold was checking for "allwinner,sun4i-a10-usb-phy" or "allwinner,sun6i-a31-usb-phy" assuming that those where the exception and then newer SoCs would use a disconnect threshold of 2 like sun7i does. But it turns out that newer SoCs use a disconnect threshold of 3 and sun5i and sun7i are the exceptions, so check for those instead. Here are the settings from the various Allwinner SDK sources: sun4i-a10: USBC_Phy_Write(usbc_no, 0x2a, 3, 2); sun5i-a13: USBC_Phy_Write(usbc_no, 0x2a, 2, 2); sun6i-a31: USBC_Phy_Write(usbc_no, 0x2a, 3, 2); sun7i-a20: USBC_Phy_Write(usbc_no, 0x2a, 2, 2); sun8i-a23: USBC_Phy_Write(usbc_no, 0x2a, 3, 2); sun8i-h3: USBC_Phy_Write(usbc_no, 0x2a, 3, 2); sun9i-a80: USBC_Phy_Write(usbc_no, 0x2a, 3, 2); Note this commit makes no functional changes as currently we only support sun4i - sun7i. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1a52abe6821da728b41187c6676b6ab7294e6e2c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:46 2015 +0200 phy-sun4i-usb: Add extcon support for the otg phy (phy0) The sunxi musb glue needs to know if a host or normal usb cable is plugged in, add extcon support so that the musb glue can monitor the host status. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit d2332303efc00d35af7f3d8b025663965862b0e3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 13 14:37:45 2015 +0200 phy-sun4i-usb: Add id and vbus detection support for the otg phy (phy0) The usb0 phy is connected to an OTG controller, and as such needs some special handling: 1) It allows explicit control over the pullups, enable these on phy_init and disable them on phy_exit. 2) It has bits to signal id and vbus detect to the musb-core, add support for for monitoring id and vbus detect gpio-s for use in dual role mode, and set these bits to the correct values for operating in host only mode when no gpios are specified in the devicetree. While updating the devicetree binding documentation also add documentation for the sofar undocumented usage of regulators for vbus for all 3 phys. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 2d69a115a991fb7400c501dc643c47ca54cc4045 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 9 22:48:26 2015 +0200 phy: dt bindings: add NXP LPC18xx/43xx USB OTG PHY bindings Add binding documentation for NXP LPC18xx/43xx USB OTG PHY. This PHY can found on NXP LPC18xx and LPC43xx devices with USB support. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit cbf919bd32d9424be8b77dac06fd90cd0a297562 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 9 22:48:25 2015 +0200 phy: add lpc18xx usb otg phy driver Add PHY driver for the internal USB OTG PHY found on NXP LPC18xx and LPC43xx devices. This driver takes care of enabling the PHY in CREG (syscon) and setting the required clock frequency. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a69e5a0dcfa4ea3e92b3cc0f17a39f1d88045c11 Merge: 6ca91c6 41a1d04 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Jul 25 00:14:46 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-07-23 This series contains updates to e1000e, igb, ixgbevf, i40e and i40evf. Emil extends the reporting of the RSS key and hash table by adding support for x550 VFs. Jia-Ju Bai fixes a QoS issue in e1000e where the error handling lacked a call to pm_qos_remove_request() to cleanup the QoS request made in e1000_open(). Todd updates igb to report unsupported for ethtool coalesce settings that are not supported. Also updated the driver to use the ARRAY_SIZE() macro. Carolyn fixes and refactors the dynamic ITR code for i40e and i40evf which would never change dynamically. So update the switch() statement to have a default case and switch on "new_latency_range" versus the current ITR setting. Shannon cleans up i40e code, where there were un-needed goto's. Also clean up error status messages that were causing some confusion in PHY and FCoE setup error reports. Mitch updates the virtual channel interface to prepare for the x722 device and other future devices, so that the VF driver can report what its capable of supporting to the PF driver. Updates the i40evf driver to handle resets like Core or EMP resets, where the device is reinitialized and the VF will not get the same VSI. Jesse updates the i40e and i40evf driver to use the kernel BIT() and BIT_ULL() macros. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ca91c604074788dfeb7dd714e74f0ad6bea8a77 Author: Rosen, Rami <rami.rosen@xxxxxxxxx> Date: Wed Jul 22 07:57:02 2015 +0300 bridge: Fix setting a flag in br_fill_ifvlaninfo_range(). This patch fixes setting of vinfo.flags in the br_fill_ifvlaninfo_range() method. The assignment of vinfo.flags &= ~BRIDGE_VLAN_INFO_RANGE_BEGIN has no effect and is unneeded, as vinfo.flags value is overriden by the immediately following vinfo.flags = flags | BRIDGE_VLAN_INFO_RANGE_END assignement. Signed-off-by: Rami Rosen <rami.rosen@xxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a155a5db9389c4088c0901e665002332f2503660 Author: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxxxxx> Date: Wed Jul 22 11:15:12 2015 +0530 be2net: support ndo_get_phys_port_id() Add be_get_phys_port_id() function to report physical port id. The port id should be unique across different be2net devices in the system. We use the chip serial number along with the physical port number for this. Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e4c7588f6c1d24ae991a85140e05139e953c9b5 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 24 22:10:59 2015 -0500 ARM: socfpga: dts: add osc1 as a possible parent for dbg_base_clk The dbg_base_clk can also have osc1 has a parent. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 465345ca387ed491c467689ec2ac1ecbe1d84c3d Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 20:01:49 2015 -0700 powerpc/perf/hv-24x7: Simplify extracting counter from result buffer Simplify code that extracts a 24x7 counter from the HCALL's result buffer. Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 40386217cd7bc38908d65852c0af5cffe04bf7f4 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 20:01:48 2015 -0700 powerpc/perf/hv-24x7: Whitespace - fix parameter alignment Fix parameter alignment to be consistent with coding style. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 454d3a2500a4eb33be85dde3bfba9e5f6b5efadc Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Jul 22 17:59:11 2015 +0200 cpufreq: Remove cpufreq_rwsem cpufreq_rwsem was introduced in commit 6eed9404ab3c4 ("cpufreq: Use rwsem for protecting critical sections) in order to replace try_module_get() on the cpu-freq driver. That try_module_get() worked well until the refcount was so heavily used that module removal became more or less impossible. Though when looking at the various (undocumented) protection mechanisms in that code, the randomly sprinkeled around cpufreq_rwsem locking sites are superfluous. The policy, which is acquired in cpufreq_cpu_get() and released in cpufreq_cpu_put() is sufficiently protected already. cpufreq_cpu_get(cpu) /* Protects against concurrent driver removal */ read_lock_irqsave(&cpufreq_driver_lock, flags); policy = per_cpu(cpufreq_cpu_data, cpu); kobject_get(&policy->kobj); read_unlock_irqrestore(&cpufreq_driver_lock, flags); The reference on the policy serializes versus module unload already: cpufreq_unregister_driver() subsys_interface_unregister() __cpufreq_remove_dev_finish() per_cpu(cpufreq_cpu_data) = NULL; cpufreq_policy_put_kobj() If there is a reference held on the policy, i.e. obtained prior to the unregister call, then cpufreq_policy_put_kobj() will wait until that reference is dropped. So once subsys_interface_unregister() returns there is no policy pointer in flight and no new reference can be obtained. So that rwsem protection is useless. The other usage of cpufreq_rwsem in show()/store() of the sysfs interface is redundant as well because sysfs already does the proper kobject_get()/put() pairs. That leaves CPU hotplug versus module removal. The current down_write() around the write_lock() in cpufreq_unregister_driver() is silly at best as it protects actually nothing. The trivial solution to this is to prevent hotplug across cpufreq_unregister_driver completely. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1e574dbfadafd9fd1f2a414efb731d7538277e71 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 19:37:49 2015 -0600 toshiba_acpi: Change some variables to avoid warnings from ninja-check This patch changes some variables to avoid warnings from ninja-check. We are basically moving some variables inside the conditionals where such variables are being used, and we are checking the returned values of some others. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d50c9005d32b4eda6e11f7ec4f1b00a93088e0ca Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 19:37:46 2015 -0600 toshiba_acpi: Reorder toshiba_acpi_alt_keymap entries This patch simply reorders the entries found in the new keymap by ascending order, this is simply a cosmetic change, no functionality was modified. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d7e4f2e2ca392bce468718bcbba808108d81d501 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 19:37:47 2015 -0600 toshiba_acpi: Remove unused wireless defines Commit 2b74103547b4 ("toshiba_acpi: Remove bluetooth rfkill code") removed bluetooth related code, however, the wireless defines were not removed and are unused. This patch simply removes those defines as there is no code using them. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 695f6060903cefa08ffb78433136f51ac0f94488 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 18:09:13 2015 -0600 toshiba_acpi: Transflective backlight updates This patch changes the tr function second parameter from bool to u32, to be on par with the rest of the TCI functions of the driver, and the code was updated accordingly. Also, the check for translective support was moved to the *add function, as the {__get, set}_lcd_brightness functions make use of it. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit a88bc06e5aec4984f5bf01c6d410a0939134f737 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 18:09:12 2015 -0600 toshiba_acpi: Avoid registering input device on WMI event laptops Commit f11f999e9890 ("toshiba_acpi: Refuse to load on machines with buggy INFO implementations") denied loading on laptops with a WMI Event GUID given that such laptops manage the hotkeys via that interface, however, such laptops have a working Toshiba Configuration Interface (TCI), and thus, such commit denied several supported features. This patch avoids registering the input device and ignores all hotkey events on laptops with such WMI Event GUID, making the supported features found in those laptops to work. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit fc5462f8525b47fa219452289ecb22c921c16823 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 18:09:11 2015 -0600 toshiba_acpi: Add /dev/toshiba_acpi device There were previous attempts to "merge" the toshiba SMM module to the toshiba_acpi one, they were trying to imitate what the old toshiba module does, however, some models (TOS1900 devices) come with a "crippled" implementation and do not provide all the "features" a "genuine" Toshiba BIOS does. This patch adds a new device called toshiba_acpi, which aim is to enable userspace to access the SMM on Toshiba laptops via ACPI calls. Creating a new convenience _IOWR command to access the SCI functions by opening/closing the SCI internally to avoid buggy BIOS, while at the same time providing backwards compatibility. Older programs (and new) who wish to access the SMM on newer models can do it by pointing their path to /dev/toshiba_acpi (instead of /dev/toshiba) as the toshiba.h header was modified to reflect these changes as well as adds all the toshiba_acpi paths and command, however, it is strongly recommended to use the new IOCTL for any SCI command to avoid any buggy BIOS. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 7deef550f3a7d44c1d52a6d54f824e7e180c08ae Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Jul 22 18:09:10 2015 -0600 toshiba_acpi: Adapt /proc/acpi/toshiba/keys to TOS1900 devices Since the introduction of TOS1900 devices support to the driver, the "keys" entry under the proc directory was broken, given that it only handled TOS620X devices accordingly. This patch adapts the code to show the hotkey values of TOS1900 devices too, and in case some programs are still using that interface, hotkeys reporting should now work on these devices. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 4ad2adc98f113d6c21d7bd365cd45ba88d4f7470 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Jul 24 09:37:14 2015 -0700 staging: lustre: Replace strtoul with simple_strtoul Defining and using strtoul in lustre code results in the following compile warnings (arm64:allmodconfig). include/linux/libcfs/libcfs_string.h:105:0: warning: "strtoul" redefined #define strtoul(str, endp, base) simple_strtoul(str, endp, base) include/acpi/platform/aclinux.h:122:0: note: this is the location of the previous definition #define strtoul simple_strtoul Remove the definition and use simple_strtoul() directly. Note that we can not replace simple_strtoul with kstrtoul since the end pointer is used by the code. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59cc3399efd61fabb7f4aa23d4498bd9b01e5f6d Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:56 2015 +0200 Staging: most: add MOST driver's documentation This patch adds the documentation to the MOST driver that describes its ABI interface and the basic usage. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4198cdf0c3460d767d0d36979cd633021c127a2 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:55 2015 +0200 Staging: most: add MOST driver's hdm-usb module This patch adds the hdm-usb module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles the USB interface of the MOST network interface controller. This patch is needed in order to use the USB peripheral interface of the network interface controller. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91a450ada852f8cb5fc8b9c7242a856cc7b31643 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:54 2015 +0200 Staging: most: add MOST driver's hdm-i2c module This patch adds the hdm-i2c module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles the I2C interface of the MOST network interface controller. This patch is needed in order to use the I2C peripheral interface of the network interface controller. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba3d7ddfb5c6a2529155ac24d7964adba8777419 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:53 2015 +0200 Staging: most: add MOST driver's hdm-dim2 module This patch adds the hdm-dim2 module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles the MediaLB interface of the MOST network interface controller. This patch is needed in order to use the MediaLB peripheral interface of the network interface controller. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d31c0cb6c127b1d943b610065a05decf821998c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:52 2015 +0200 Staging: most: add MOST driver's aim-v4l2 module This patch adds the aim-v4l2 module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles user space interaction by means of V4L2. This patch is needed in order to have access to MOST isochronous AVP data through V4L2 devices. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54b4856fb3624609dd5d9ed013bfec7d67083622 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:51 2015 +0200 Staging: most: add MOST driver's aim-sound module This patch adds the aim-sound module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles user space interaction by means of ALSA devices. This patch is needed in order to have access to MOST synchronous data through ALSA devices. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4a8ce7f57fc6333e4e5a23980f5265e00ed44ef Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:50 2015 +0200 Staging: most: add MOST driver's aim-network module This patch adds the aim-network module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles user space interaction by means of network devices. This patch is needed in order to have access to MOST Ethernet Packets (MEP) through a networking device. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9bc79bbcd0c526e3ec7b98e08c5d34648bb3c158 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:49 2015 +0200 Staging: most: add MOST driver's aim-cdev module This patch adds the aim-cdev module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles user space interaction by means of character devices. This patch is needed in order to have access to MOST data through character devices. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57562a72414ca35b2e614cfe0a1b1a7b7e7813dd Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Fri Jul 24 16:11:48 2015 +0200 Staging: most: add MOST driver's core module This patch adds the core module of the MOST driver to the kernel's driver staging area. This module is part of the MOST driver and handles the configuration interface in sysfs, the buffer management and the data routing. MOST defines the protocol, hardware and software layers necessary to allow for the efficient and low-cost transport of control, real-time and packet data using a single medium (physical layer). Media currently in use are fiber optics, unshielded twisted pair cables (UTP) and coax cables. MOST also supports various speed grades up to 150 Mbps. For more information on MOST, visit the MOST Cooperation website: www.mostcooperation.com. Cars continue to evolve into sophisticated consumer electronics platforms, increasing the demand for reliable and simple solutions to support audio, video and data communications. MOST can be used to connect multiple consumer devices via optical or electrical physical layers directly to one another or in a network configuration. As a synchronous network, MOST provides excellent Quality of Service and seamless connectivity for audio/video streaming. Therefore, the driver perfectly fits to the mission of Automotive Grade Linux to create open source software solutions for automotive applications. The driver consists basically of three layers. The hardware layer, the core layer and the application layer. The core layer consists of the core module only. This module handles the communication flow through all three layers, the configuration of the driver, the configuration interface representation in sysfs, and the buffer management. For each of the other two layers a selection of modules is provided. These modules can arbitrarily be combined to meet the needs of the desired system architecture. A module of the hardware layer is referred to as an HDM (hardware dependent module). Each module of this layer handles exactly one of the peripheral interfaces of a network interface controller (e.g. USB, MediaLB, I2C). A module of the application layer is referred to as an AIM (application interfacing module). The modules of this layer give access to MOST via one the following ways: character devices, ALSA, Networking or V4L2. To physically access MOST, an Intelligent Network Interface Controller (INIC) is needed. For more information on available controllers visit: www.microchip.com Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db8499273e0110b2285f9190dcde5e8492d46076 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Jul 24 12:00:25 2015 -0400 staging: unisys: visornic - prevent NETDEV WATCHDOG timeouts after IO recovery After IO partition recovery, it was possible to get into a situation where a visornic device would repeatedly report: NETDEV WATCHDOG: eth0 (): transmit queue 0 timed out The actual problem would affect any visornic device that was rapidly transmitting at the same time the IO partition was being recovered. Once you hit the problem, the only way to resume use of the nic would be to reboot the Linux client partition. The problem was caused by chstat.sent_xmit and chstat.got_xmit_done NOT getting cleared during IO partition recovery. This is necessary because outstanding xmits would essentially be "abandoned" during such recovery. These fields are now cleared in virtnic_serverdown_complete(). Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81d275c6c37f075643fec3789ea3f3e4097cda41 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Jul 24 12:00:23 2015 -0400 staging: unisys: visornic - check visorchannel_signalinsert/remove failures Logic to check for failures of visorchannel_signalinsert() and visorchannel_signalremove() were added, and a new sent_post_failed counter tracks the number of times we failed to post a rcv buffer to the IO partition. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d79002e962466d455ae4933cd404cf5a1164894 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Jul 24 12:00:22 2015 -0400 staging: unisys: visornic - ensure proper net locking in tx reset logic visornic tx reset handling is done asynchronously via a workqueue in visornic_timeout_reset(). As a result, it needs to use rtnl_lock() / rtnl_unlock() to lock against possible simultaneous close() of the network device. (I consulted the bnx2 driver as a model here, as that driver also does its tx reset handling asynchronously, just like visornic does. See bnx2_tx_timeout() and bnx2_reset_task().) Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c03621a791499fdb47551693cd785f4fa5d03f8 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Fri Jul 24 12:00:21 2015 -0400 staging: unisys: Process more than one response per check When s-Par is in polling mode it checks every 2 ms to see if there is a response from the IO service partition in the queue. Currently it just reads one entry per 2 ms, this needs to be changed so it drains the queue on each check. Signed-off-by: David Kershner <david.kershner@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3abf4f984adaa4e6fadf9d135ccb915c51bda057 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 24 17:11:30 2015 +0200 staging: rtl8188eu: kill unused hal_data_8188e::fw_ractrl flag Flag is never set. Remove it and the code that is dead because of it. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4ba3b572b469684a3fc804bd2b93fbf848960ea Author: BuÅ£iu Alexandru Octavian <predator5047@xxxxxxxxx> Date: Fri Jul 24 00:13:27 2015 +0300 drivers: staging: rtl8188eu Refactored rtw_free_assoc_resources Refactored rtw_free_assoc_resources to avoid sparse warnings about different contexts for basic lock Signed-off-by: BuÅ£iu Alexandru Octavian <predator5047@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5143f7a3e970a1d0b6659cf41a3b46dd48a9bc6f Author: Ioan-Adrian Ratiu <adi@xxxxxxxxxx> Date: Thu Jul 23 16:24:10 2015 +0300 staging: rtl8192e: rtllib: fix macro style issue Remove macro and use explicit case statements. Code is a little longer but clearer. Checkpatch.pl does not complain anymore. Signed-off-by: Ioan-Adrian Ratiu <adi@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed2c2e060b6c3cd5fc42993011aa41c765ff1b2f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:47:02 2015 +0100 staging: comedi: usbduxsigma: round down AO scan_begin_arg at step 4. The return value of the `cmdtest` handler for a subdevice checks the prospective new command in various steps and returns the step number at which any problem was detected, or 0 if no problem was detected. It is allowed to modify the command in various ways at each step. Corrections for out-of-range values are generally made at step 3, and minor adjustments such as rounding are generally made at step 4. The `cmdtest` handler for the AO subdevice (`usbduxsigma_ao_cmdtest()`) currently range checks the timings at step 3. Since the running command will round down the timings, add code to round them down at step 4. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57befc33af0243e9b3835d46ab836406256f5dd4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:47:01 2015 +0100 staging: comedi: usbduxsigma: remove unused "convert" timing for AO The `cmdtest` and `cmd` handlers for the AO subdevice (`usbduxsigma_ao_cmdtest()` and `usbduxsigma_ao_cmd()`) support "scan" timing of commands with all channels updated every "scan" period. There is some disabled code to use "convert" timing in high speed mode. That would allow channels to be updated sequentially every "convert" period. Since that code is incomplete and currently disabled, remove it to simplify the existing code. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 333e40aee3f2d0457e2cbadc742619a6f449b2e7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:47:00 2015 +0100 staging: comedi: usbduxsigma: round down AI scan_begin_arg at step 4. The return value of the `cmdtest` handler for a subdevice checks the prospective new command in various steps and returns the step number at which any problem was detected, or 0 if no problem was detected. It is allowed to modify the command in various ways at each step. Corrections for out-of-range values are generally made at step 3, and minor adjustments such as rounding are generally made at step 4. The `cmdtest` handler for the AI subdevice (`usbduxsigma_ai_cmdtest()`) currently modifies `cmd->scan_begin_arg` to bring it into range and round it down at step 3. Move the rounding down part to step 4 to follow the usual Comedi convention. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12e1e6960130673aabbbe7f094c4690b00618881 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:46:59 2015 +0100 staging: comedi: usbduxsigma: remove AI scan_begin_src == TRIG_FOLLOW The AI subdevice `cmdtest` handler `usbduxsigma_ai_cmdtest()` ensures that `cmd->scan_begin_src == TRIG_TIMER` by the end of step 2 of the command checking code, so assume that this is the case for step 3 onwards and remove the redundant code. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c04a1f17803e0d3eeada586ca34a6b436959bc20 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:46:58 2015 +0100 staging: comedi: usbduxsigma: don't clobber ao_timer in command test `devpriv->ao_timer` is used while an asynchronous command is running on the AO subdevice. It also gets modified by the subdevice's `cmdtest` handler for checking new asynchronous commands, `usbduxsigma_ao_cmdtest()`, which is not correct as it's allowed to check new commands while an old command is still running. Fix it by moving the code which sets up `devpriv->ao_timer` into the subdevice's `cmd` handler, `usbduxsigma_ao_cmd()`. Note that the removed code in `usbduxsigma_ao_cmdtest()` checked that `devpriv->ao_timer` did not end up less that 1, but that could not happen due because `cmd->scan_begin_arg` or `cmd->convert_arg` had already been range-checked. Also note that we tested the `high_speed` variable in the old code, but that is currently always 0 and means that we always use "scan" timing (`cmd->scan_begin_src == TRIG_TIMER` and `cmd->convert_src == TRIG_NOW`) and never "convert" (individual sample) timing (`cmd->scan_begin_src == TRIG_FOLLOW` and `cmd->convert_src == TRIG_TIMER`). The moved code tests `cmd->convert_src` instead to decide whether "scan" or "convert" timing is being used, although currently only "scan" timing is supported. Fixes: fb1ef622e7a3 ("staging: comedi: usbduxsigma: tidy up analog output command support") Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.19 onwards Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 423b24c37dd5794a674c74b0ed56392003a69891 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 23 16:46:57 2015 +0100 staging: comedi: usbduxsigma: don't clobber ai_timer in command test `devpriv->ai_timer` is used while an asynchronous command is running on the AI subdevice. It also gets modified by the subdevice's `cmdtest` handler for checking new asynchronous commands (`usbduxsigma_ai_cmdtest()`), which is not correct as it's allowed to check new commands while an old command is still running. Fix it by moving the code which sets up `devpriv->ai_timer` and `devpriv->ai_interval` into the subdevice's `cmd` handler, `usbduxsigma_ai_cmd()`. Note that the removed code in `usbduxsigma_ai_cmdtest()` checked that `devpriv->ai_timer` did not end up less than than 1, but that could not happen because `cmd->scan_begin_arg` had already been checked to be at least the minimum required value (at least when `cmd->scan_begin_src == TRIG_TIMER`, which had also been checked to be the case). Fixes: b986be8527c7 ("staging: comedi: usbduxsigma: tidy up analog input command support) Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.19 onwards Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 142f2610d525c23afa5ba5e4e535504bea8b04b9 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 13:31:16 2015 -0700 ARM: qcom_defconfig: Enable options for KS8851 ethernet Enable the RPM and RPM regulator drivers as well as the KS8851 ethernet driver so that ethernet works on MSM8960 CDP. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit c37f45b5f1cdfcdc351d88950b32658c970582ca Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Thu Jul 23 17:10:40 2015 +0800 spi: support spi without dma channel to use can_dma() For spi without dma channel and use can_dma(), it can use master->dev for struct device. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0a3dcb509ae7701ba3eaf470cad91827821daf41 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 24 16:11:25 2015 +0800 ASoC: Use params_width() at appropriate places Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 80deaf09cb3fb3939c1d2b84610ae411cd7c6001 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 19 12:32:52 2015 +0800 ASoC: cs4265: CS4265_INT_STATUS is readable register CS4265_INT_STATUS was missed in cs4265_readable_register, fix it. The register 0x01 ~ 0x12 are readable, use CS4265_CHIP_ID ... CS4265_SPDIF_CTL2 syntax for better readability. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2adfacde619d8e39dc8c02919bd2524d3c39588 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 17 14:41:55 2015 -0700 regulator: qcom-spmi: Add vendor specific configuration Add support for over current protection (OCP), pin control selection, soft start strength, and auto-mode. Cc: <devicetree@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 41dae91a7206d9a09047f3d376282bba4d9545b5 Merge: 5d506a5 3a003ba Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 24 18:29:31 2015 +0100 Merge branch 'topic/ocp' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-qcom-spmi commit 3a003baeec246f604ed1d2e0087560d7f15edcc6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 17 14:41:54 2015 -0700 regulator: Add over current protection (OCP) support Some regulators can automatically shut down when they detect an over current event. Add an op (set_over_current_protection) and a DT property + constraint to support this capability. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f74db105b1c0980c9863e7a7d1bc0525e0316e8 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Wed Jul 22 20:46:09 2015 +0200 spi: omap2-mcspi: add runtime PM to set_cs() Since commit ddcad7e9068eb omap2_mcspi_set_cs() is called without runtime power management requested. This patch fixes the problem by requesting runtime power management in omap2_mcspi_set_cs(). Reported-By: Pali Rohár <pali.rohar@xxxxxxxxx> Fixes: ddcad7e9068eb (spi: omap2-mcspi: Fix native cs with new set_cs) Tested-By: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa466c91970a0207d9384016cc7884a7f61834b6 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Wed Jul 22 07:32:22 2015 -0500 spi: davinci: Choose correct pre-scaler limit based on SOC Currently the pre-scaler limit is incorrect. The value differs slightly for various devices so a single value can't be used. Using the compatible field select the correct pre-scaler limit. Add new compatible field value for Keystone devices to support their unique pre-scaler limit value. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Reviewed-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bba732d86694f7217a41e83a2c1deb42ed9aa7fd Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Wed Jul 22 07:32:21 2015 -0500 spi: davinci: Set prescale value based on register value Within davinci_spi_get_prescale() the prescale has two meanings. First one being the calculated prescale value and then at the end translates it to the prescale value that will be written to the SPI register. At first glance this can be confusing especially when comparing the minimum prescale value against what is seen in the TRM. To simplify things make it clear that the calculated prescale value will always be based on the value that will be written into the SPI register. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6d0a1815e814ee5eaa0cec17913d5e4abae99ef0 Author: Andrew F. Davis <afd@xxxxxx> Date: Wed Jul 22 16:51:56 2015 -0500 power: bq27x00_battery: Checkpatch fixes Remove space before tab. Remove unnecessary line continuations. Add braces to else statement. Remove unnecessary parentheses. Remove unneeded blank lines. Remove unnecessary 'out of memory' message. Add missing line after declarations. Change use of printk to pr_err. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ce33edfa4903d8b8ded2569e880489678f75a85b Author: Andrew F. Davis <afd@xxxxxx> Date: Wed Jul 22 16:51:55 2015 -0500 power: bq27x00_battery: Fix function parameter alignment Fix the alignment of function parameters on new lines. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6eb207f271478472195cfaa2e59646f7e5036ae8 Author: Andrew F. Davis <afd@xxxxxx> Date: Wed Jul 22 16:51:54 2015 -0500 power: bq27x00_battery: Fix lines over 80 characters long Shorted lines over 80 characters long by reducing tab count. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit db04fc5caa79260170a68d58db8fc401f1ab05f5 Author: Andrew F. Davis <afd@xxxxxx> Date: Wed Jul 22 16:51:53 2015 -0500 power: bq27x00_battery: Add manufacturer property Add the manufacturer property to the bq27x00 driver. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit dd9f1486ae207cd947416f1bdc461edc4880f2df Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Wed Jul 15 11:25:58 2015 +0800 power/reset: zx: Register restart handler Register with kernel restart handler instead of setting arm_pm_restart directly. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 0e375d625b3493721219af571aeeca17e01f6da4 Merge: beb8962 a6c2a32 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 24 16:15:02 2015 +0100 Merge branch 'fix/ssm4567' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-ssm4567 commit beb8962210f592bd285ed77559ac4458cc26f774 Merge: eeffd4b 1c07a4d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 24 16:11:47 2015 +0100 Merge branch 'topic/owner' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-ssm4567 Conflicts: sound/soc/codecs/ssm4567.c commit 377b641ac84c573bcea06aec47f7ad1ba4047e1c Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Wed Jul 1 11:40:53 2015 +0200 power/ltc2941-battery-gauge.c: Use the devicetree node name as supply name Make it possible to set the name of the supply from the devicetree. Like other power supply drivers just use the node name. This makes the code smaller as well, as it doesn't need to allocate memory to hold the name and allocate a unique ID. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit bd6906ed3d7a00d55c9bd368a640ef83bb487d1d Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Jul 24 10:35:23 2015 -0400 tools/power turbostat: fix typo on DRAM column in Joules-mode < RAM_W > RAM_J Reported-by: Hubert Chrzaniuk <hubert.chrzaniuk@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 325b50aa5d1c7dae57d1e44defdbacd1e2bcabde Author: NeilBrown <neilb@xxxxxxx> Date: Mon Mar 23 10:20:28 2015 +1100 twl4030_charger: use devres for power_supply_register and kzalloc. Final allocations/registrations are now managed by devres. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1b7cac23419e1398eac4c28368da6671c9c4ce9d Author: NeilBrown <neilb@xxxxxxx> Date: Mon Mar 23 10:20:28 2015 +1100 twl4030_charger: use devm_request_threaded_irq This simplifies the error paths. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7c97211b61d8b91b8f88237e4bbb3a8959ecb18a Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Thu Jul 23 11:17:26 2015 +0200 Documentation: Minor changes to men-chameleon-bus.txt Change men-chameleon-bus.txt according to the comments made by Randy Dunlap in https://lkml.org/lkml/2015/7/17/691. These are: * Some minor gramatical changes * Spelling fixes * Write the word "Chameleon" capitalized throughout the whole document * Explain MEN as MEN Mikro Elektronik GmbH. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 013542caa898289f37695bea849f1e368254ec8b Author: Benjamin Herr <ben@xxxxxxxx> Date: Sat Jul 18 14:31:40 2015 +0200 Doc: fix trivial typo in SubmittingPatches This patch changes the tense of a verb in SubmittingPatches to ensure grammatical validity of the containing sentence. Signed-off-by: Benjamin Herr <ben@xxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 6c121170115e9b6bb9dbe3e1daa8039976450bcf Author: Jonathan Corbet <corbet@xxxxxxx> Date: Fri Jul 24 15:08:14 2015 +0200 MAINTAINERS: Direct Documentation/DocBook/media properly The media maintainers want DocBook changes to go through their tree; document that wish accordingly. commit fce96568f314d0fb72f5ca4bba2f64e7164a7817 Author: Jim Davis <jim.epost@xxxxxxxxx> Date: Thu Jul 16 12:50:50 2015 -0700 Documentation: installed man pages don't need to be executable Install the man pages with mode 644 instead of 755 Signed-off-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 3d5583cc82e9d505e4b9a37615f7a28c7ea465b9 Author: Ahmed Mohamed Abd EL Mawgood <ahmedsoliman0x666@xxxxxxxxx> Date: Thu Jul 16 23:17:36 2015 +0200 fix Evolution submenu name in email-clients.txt I have noticed that there is no submenu in Evolution called Heading instead there is Paragraph style Signed-off-by: Ahmed Mohamed <ahmedsoliman0x666@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit b9f2f4594c77073ca306ef345e9f9c1cde292dd3 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Fri Jul 17 12:23:01 2015 +0200 Documentation: Add MCB documentation Add basic introductory documentation for the MEN Chameleon Bus. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9e1aa7c8882050577c9223ba85c4ee49cd1da469 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Thu Jul 16 06:31:16 2015 +0000 Documentation: Update filesystems/debugfs.txt This patch update the Documentation/filesystems/debugfs.txt file. The main work is to add the description of the following functions: debugfs_create_atomic_t debugfs_create_u32_array debugfs_create_devm_seqfile debugfs_create_file_size Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit a10726bb5472ff2ed95180cfb5e82091c45d7b19 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Tue Jul 14 07:35:11 2015 +0200 Documentation: mm: fix location of extfrag_index /proc/extfrag_index does not exist. This file is in debugfs. Fix the description of extfrag_threshold to reflect this. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 8f5f0bc2766af7785161a4440bca1d0746eb3671 Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Thu Jul 23 19:01:16 2015 -0400 HID: sony: Drop invalid Sixaxis input reports When connected via Bluetooth the sixaxis periodically sends reports with an ID of 1, the second byte 0xff and the rest zeroed. These reports are not related to the controller state and must be dropped to avoid generating false input events. Link: http://www.spinics.net/lists/linux-bluetooth/msg63028.html Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 070f63b46ac893a5debf68c5751101b6f5f77230 Author: Yang Bo <linuxsea@xxxxxxx> Date: Mon Jul 20 09:40:28 2015 -0700 HID: multitouch: Add support for CJTouch MultiTouch Add device IDs for CJTouch 0020 and 0040 panels. Signed-off-by: Yang Bo <linuxsea@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 0439de75d32c249bd9f5824ffd5e40c4c2109d77 Author: Stephen Just <stephenjust@xxxxxxxxx> Date: Wed Jul 22 20:11:40 2015 -0700 HID: microsoft: Add Surface 3 type cover Adding support for the Microsoft Surface 3 (non-pro) Type Cover. The existing definitions and quirks are actually for the Surface Pro 3 type covers. I've renamed the old constants to reflect that they belong to the Surface Pro 3, and added a new constant and matching code for the Surface 3. Signed-off-by: Stephen Just <stephenjust@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 8766018b6ef73ca124d13b0d0a06dec906726cc8 Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Fri Jul 24 13:24:41 2015 +0800 regulator: mt6311: Add support for mt6311 regulator Add regulator support for mt6311. It has 2 regulaotrs - Buck and LDO, provide the related buck/ldo voltage data to the driver, and creates the regulator_desc table. Supported operations for Buck are enabled/disabled and voltage change, only enabled/disabled for LDO. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 678cdb2fbd7e44b8905a8f4e770c694eb77f0395 Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Fri Jul 24 13:24:40 2015 +0800 regulator: mt6311: Add document for mt6311 regulator This patch adds a list of supported regulator names to the devicetree binding documentation for Mediatek MT6311 PMIC. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eeffd4b442eb2aa25257d8c6631b17cba685ccac Author: Harsha Priya <harshapriya.n@xxxxxxxxx> Date: Thu Jul 23 19:11:54 2015 +0000 ASoC: ssm4567: Added ACPI entry for SSM4567 codec Added INT343B ACPI ID for the SSM4567 codec Signed-off-by: Harsha Priya <harshapriya.n@xxxxxxxxx> Signed-off-by: M Naveen <naveen.m@xxxxxxxxx> Signed-off-by: M R Sathya Prakash <sathya.prakash.m.r@xxxxxxxxx> Acked-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 97a747117d95b54fe3ce21d43e04499a1671fff6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 24 11:17:28 2015 +0800 ASoC: sta529: Remove redundant I2C_FUNC_SMBUS_BYTE_DATA functionality check This checking is done by regmap_get_i2c_bus() which is called in devm_regmap_init_i2c(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 48f403be3eb9b603cfaf946ca7a0c76272750469 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 23:23:35 2015 +0800 ASoC: pcm1681: Improve the logic for de-emphasis sampling rate selection Slightly improve the logic for de-emphasis sampling rate selection by break out the loop if the rate is matched. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1d0088f8c1d8b9541ed01f2cc52606fbf8baf50c Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:52:00 2015 +0530 ath10k: extend struct htt_mgmt_tx_dec for qca99x0 HTT_H2T_MSG_TYPE_MGMT_TX msg in 10.4 firmware carries additional 4 byte in htt_mgmt_tx_desc where it tells to firmware that at what rate mgmt frame has to go out in the air. It's an optional parameter, setting this field to zero will force firmware to choose auto rate and send the frame out. Those 4 byte info is missed out in the current code and 10.4 firmware ended up reading some junk in those 4 byte and sometime malfunctioning. Fix it by adding 4 byte in struct htt_mgmt_tx_desc. Non 10.4 firmware will not process those four byte. So, adding 4 byte at the end of struct htt_mgmt_tx_desc will not create any impact on other chipset. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b963519509644f52eaaddcc1fa484e28ac74c750 Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Mon Jul 20 17:56:12 2015 +0530 ath10k: add TCP/UDP Checksum offload support for QCA99x0 The patch adds support to offload TCP/UDP checksum calculations for QCA99x0. Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 19be9e9a7ac7e6050eab426283d2a87593cf6e82 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Thu Jul 16 09:25:33 2015 +0530 ath10k: fix wrong initialization of struct channel chandef is initialized with NULL and on the very next line, we are using it to get channel, which is not correct. Channel should be initialized after obtaining chandef. Found by cppcheck: ath/ath10k/mac.c:839]: (error) Possible null pointer dereference: chandef Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1f5dbfbb64c92e1c22305ac2b3951d6e3cf7a9a7 Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:01:21 2015 -0700 ath10k: add support for qca99x0 Rx descriptors QCA99X0 chip has an extra 4 bytes in rx_msdu_start, 20 bytes in rx_msdu_end and 20 bytes in rx_ppdu_end structure which are used in htt_rx_desc and HTT Rx ring offset setup. This is necessary for correct Rx for QCA99X0 or Rx descriptors will be overwritten and corrupted. With this patch QCA988X and QCA6174 will have extra 44 bytes padding in Rx descriptor layout which is harmless. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 05a2cb0daa49af4e240834ff3736fd35ba83320f Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:01:20 2015 -0700 ath10k: redefine rx_ppdu_end_common structure to cover qca99x0 rx_ppdu_end_common structure is valid for both of qca998x and qca6174, but not for qca99x0 since it has new additional members. Hence update the common structure to cover qca99x0 as well. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit fbc03a466fd48bc8be2e675be948001feea29e4d Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 19:01:19 2015 -0700 ath10k: update tx path to support QCA99X0 Since QCA99X0 uses fragmentation descriptor differently from other ones on tx path, we need to handle it separately. QCA99X0 is using 48 bits for address and 16 bits for length out of 2 dword and each values have to be programmed by frag desc base addr + msdu id, so that hardware can retrieve corresponding frag data. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit acd195800ffca556e9c78c51d1efe534d71dd236 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Fri Jul 10 14:31:20 2015 +0530 ath10k: delay device access after cold reset It is observed that during cold reset pcie access right after a write operation to SOC_GLOBAL_RESET_ADDRESS causes Data Bus Error and system hard lockup. The reason for bus error is that pcie needs some time to get back to stable state for any transaction during cold reset. Add delay of 20 msecs after write of SOC_GLOBAL_RESET_ADDRESS to fix this issue. This patch is tested on QCA988X. This is also tested on QCA99X0 which is WIP. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a73c2a2f9123605022bedbd2b59ca7e76036f0b3 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 15 10:55:39 2015 +0300 libiscsi: Use scsi helper to set information descriptor In case encountered a PI error, use scsi_set_sense_information instead of open coding information descriptor format. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4e4937e8aefde8d49340e803ebbedcdf4b43e5f0 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Jul 16 10:28:05 2015 +0300 target: Return descriptor format sense data in case the LU spans 64bit sectors In case a LU spans 64bit sectors, fixed size sense data information field is only 32 bits which means the sector information will be truncated. Thus, if the LU spans 64bit sectors, use descriptor format sense data to correctly report sector information. Reported-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f5a8b3a796db01b639435515b3adc003b9f27387 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 15 10:55:37 2015 +0300 scsi: Protect against buffer possible overflow in scsi_set_sense_information Make sure that the input sense buffer has sufficient length to fit the information descriptor (12 additional bytes). Modify scsi_set_sense_information to receive the sense buffer length and adjust its callers scsi target and libata. (Fix patch fuzz in scsi_set_sense_information - nab) Reported-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 12306b425d0dbab7b60f54e02d67cf3dfae494d1 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 15 10:55:36 2015 +0300 scsi: Fix wrong additional sense length in descriptor format The sense header additional sense length should be the accumulated size of all the descriptors. Information descriptor size is 12 bytes. When setting the additional sense length we should add 0xc instead of 0xa. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3e963b2d3c93e0546e911d681f37d35f0f79b54f Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Jul 9 07:33:07 2015 -0700 tcm_qla2xxx: Remove set-but-not-used variables Detected these by building with W=1. This patch does not change any functionality. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Cc: Quinn Tran <quinn.tran@xxxxxxxxxx> Cc: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f5887fe5d14181aef0653ab04f60988252d42461 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 22:33:19 2015 -0700 ARM: OMAP2+: Add custom abort handler for t410 Similar to commit fdf4850cb5b2 ("ARM: BCM5301X: workaround suppress fault"), let's add custom handling for the aborts on t410 that prevent booting: Unhandled fault: imprecise external abort (0xc06) at 0xee091fb0 pgd = ee4bc000 [ee091fb0] *pgd=ae00041e(bad) Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007 Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 285f3690cd14eb3e7f82c98ad4b294f204438ffa Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 22:33:19 2015 -0700 ARM: dts: Add minimal support for HP T410 Add minimal support for HP T410. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 73db9e0141b5e27348a11effa7e36296603df439 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 22:33:18 2015 -0700 ARM: dts: Add minimal dts support for dm8148-evm Add minimal dts support for dm8148-evm. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 25515b630c3c49945953cc048d6051441ac220d2 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 22:33:18 2015 -0700 ARM: dts: Add minimal clocks for dm814x Use fixed clocks until we have a clock driver for the PLL. The mux and divider composite clocks work the same way as on dm816x and am335x. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f3d953ea37210d654777df758a5c52a94bb5d6c7 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 22:33:18 2015 -0700 ARM: dts: Add minimal dm814x support Add minimal dm814x support. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 734ca5c467842186bf836d0b33379a51cfe259da Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 8 17:58:54 2015 +0300 target: Return ABORTED_COMMAND sense key for PI errors PI errors were reported with ILLEGAL_REQUEST sense key but there was actually no problem with the request. Target detected PI errors should be reported with aborted command sense key. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9ec1e1ce3a0f854b9150e7888a373392fbbe7442 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 8 17:58:53 2015 +0300 target: Use scsi helpers to build the sense data correctly Instead of open coding the sense buffer construction, use scsi scsi_build_sense_buffer() and scsi_set_sense_information() helpers which moved to scsi_common. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7708c1656552ddd60b9b9df3a9ee156acd1801ba Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Jul 8 17:58:52 2015 +0300 scsi: Move sense handling routines to scsi_common Sense data handling is also done in the target stack. Hence, move sense handling routines to scsi_common so the target will be able to use them as well. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ab78fef4d5f79134042ae0e1e2c259e1226aa5bd Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Wed Jul 8 17:58:51 2015 +0300 target: Split transport_send_check_condition_and_sense() Move the code for translating a sense_reason_t code into a SCSI status ASC and ASCQ codes from transport_send_check_condition_and_sense() into the new function translate_sense_reason(). Convert the switch statement that performs the translation into table-driven code. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 46d5bd62ef9e3d6e2018963cbb725c91f864922d Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Wed Jul 8 17:58:50 2015 +0300 target: Inline transport_get_sense_codes() Inline this function in its call site since it performs a trivial task and since it is only called once. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit e986a35aba67558381d5cec59a14c4d0b20f0d47 Author: Hannes Reinecke <hare@xxxxxxx> Date: Thu Jun 18 11:43:38 2015 +0200 tcm_loop: Send I_T_NEXUS_LOSS_OCCURRED UA If the virtual SAS link is set to 'offline' we should be queueing an I_T_NEXUS_LOSS_OCCURRED UA. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit b7446cacfb433f5e89ff94afecbc349e404aee21 Author: Hannes Reinecke <hare@xxxxxxx> Date: Thu Jun 18 11:43:37 2015 +0200 tcm_loop: Remove SAS vestigies tcm_loop is able to emulate several protocols, so remove last vestigies of the SAS protocol. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 24da741c678f865de3182194604dbddcc7fc7f3c Merge: 97d9a3d 0f3ccb2 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 21:59:18 2015 -0700 Merge branch 'dm814x-soc' into omap-for-v4.3/soc Update dm814x changes for sparse fixes to make data structures static. Conflicts: arch/arm/mach-omap2/omap_hwmod_81xx_data.c commit 0f3ccb24c0347cd80160810df79bfa233749074e Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:58 2015 -0700 ARM: OMAP2: Add minimal dm814x hwmod support Let's add minimal set of dm814x hwmods to have a bootable system. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7e1b11d145b264fd7e7b4bf79d910272d4a1bd52 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:58 2015 -0700 ARM: OMAP2+: Prepare dm81xx hwmod code for adding minimal dm814x support Let's change the defines so we can share the hwmod code better between dm816x and dm814x, and let's add the dm814x specific defines. And let's rename the shared ones to start with dm81xx. No functional changes. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit dcd14dd957f02ef679c61325a2221a0574bdcab3 Merge: ce4c464 3fdefa3 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 24 14:30:29 2015 +1000 Merge tag 'topic/connector-locking-2015-07-23' of git://anongit.freedesktop.org/drm-intel into drm-next connector hotplug locking cleanup and fixes to make it save against atomic. Note that because of depencies this is based on top of the drm-intel-next pull, so that one needs to go in before this one. I've also thrown in the mode_group removal on top since it's defunct, never worked really, no one seems to care and the code can be resurrected easily. * tag 'topic/connector-locking-2015-07-23' of git://anongit.freedesktop.org/drm-intel: drm: gc now dead mode_group code drm: Stop filtering according to mode_group in getresources drm: Roll out drm_for_each_{plane,crtc,encoder} drm/cma-helper: Fix locking in drm_fb_cma_debugfs_show drm: Roll out drm_for_each_connector more drm: Amend connector list locking rules drm/radeon: Take all modeset locks for DP MST hotplug drm/i915: Take all modeset locks for DP MST hotplug drm: Check locking in drm_for_each_fb drm/i915: Use drm_for_each_fb in i915_debugfs.c drm: Check locking in drm_for_each_connector drm/fbdev-helper: Grab mode_config.mutex in drm_fb_helper_single_add_all_connectors drm/probe-helper: Grab mode_config.mutex in poll_init/enable drm: Add modeset object iterators drm: Simplify drm_for_each_legacy_plane arguments commit ce4c464b93187d3faffd9048f0ee0ec7bf9aa2a9 Merge: f60de97 04cbfe6 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 24 14:30:04 2015 +1000 Merge tag 'topic/crc-pmic-2015-07-23' of git://anongit.freedesktop.org/drm-intel into drm-next crystalcove pmic support from Shobhit. Patch series has all acks/r-bs from other mainainers so ok to pull into drm-next. But I'm cc'ing all other maintainers as fyi and in case they want to pull it into their trees too to avoid conflicts. * tag 'topic/crc-pmic-2015-07-23' of git://anongit.freedesktop.org/drm-intel: mfd: Add GPIOLIB dependency if INTEL_SOC_PMIC is to be enabled drm/i915: Backlight control using CRC PMIC based PWM driver drm/i915: Use the CRC gpio for panel enable/disable pwm: crc: Add Crystalcove (CRC) PWM driver mfd: intel_soc_pmic_core: ADD PWM lookup table for CRC PMIC based PWM mfd: intel_soc_pmic_crc: Add PWM cell device for Crystalcove PMIC mfd: intel_soc_pmic_core: Add lookup table for Panel Control as GPIO signal gpiolib: Add support for removing registered consumer lookup table commit f60de9767490a73b54c2754e1de83fc68eb7d9a0 Merge: fa78cea e0548f1 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 24 14:29:06 2015 +1000 Merge tag 'drm-intel-next-2015-07-17' of git://anongit.freedesktop.org/drm-intel into drm-next - prelim hw support dropped for skl after Damien fixed an ABI issue around planes - legacy modesetting is done using atomic infrastructure now (Maarten)! - more gen9 workarounds (Arun&Nick) - MOCS programming (cache control for better performance) for skl/bxt - vlv/chv dpll improvements (Ville) - PSR fixes from Rodrigo - fbc improvements from Paulo - plumb requests into execlist submit functions (Mika) - opregion code cleanup from Jani - resource streamer support from Abdiel for mesa - final fixes for 12bpc hdmi + enabling support from Ville drm-intel-next-2015-07-03: - dsi improvements (Gaurav) - bxt ddi dpll hw state readout (Imre) - chv dvfs support and overall wm improvements for both vlv and chv (Ville) - ppgtt polish from Mika and Michel - cdclk support for bxt (Bob Pauwe) - make frontbuffer tracking more precise - OLR removal (John Harrison) - per-ctx WA batch buffer support (Arun Siluvery) - remvoe KMS Kconfig option (Chris) - more hpd handling refactoring from Jani - use atomic states throughout modeset code and integrate with atomic plane update (Maarten) drm-intel-next-2015-06-19: - refactoring hpd irq handlers (Jani) - polish skl dpll code a bit (Damien) - dynamic cdclk adjustement (Ville & Mika) - fix up 12bpc hdmi and enable it for real again (Ville) - extend hsw cmd parser to be useful for atomic configuration (Franscico Jerez) - even more atomic conversion and rolling state handling out across modeset code from Maarten & Ander - fix DRRS idleness detection (Ramalingam) - clean up dsp address alignment handling (Ville) - some fbc cleanup patches from Paulo - prevent hard-hangs when trying to reset the gpu on skl (Mika) * tag 'drm-intel-next-2015-07-17' of git://anongit.freedesktop.org/drm-intel: (386 commits) drm/i915: Update DRIVER_DATE to 20150717 drm/i915/skl: Drop the preliminary_hw_support flag drm/i915/skl: Don't expose the top most plane on gen9 display drm/i915: Fix divide by zero on watermark update drm/i915: Invert fastboot check drm/i915: Clarify logic for initial modeset drm/i915: Unconditionally check gmch pfit state drm/i915: always disable irqs in intel_pipe_update_start drm/i915: Remove use of runtime pm in atomic commit functions drm/i915: Call plane update functions directly from intel_atomic_commit. drm/i915: Use full atomic modeset. drm/i915/gen9: Add WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken drm/i915/gen9: Add WaFlushCoherentL3CacheLinesAtContextSwitch workaround drm/i915/gen9: Add WaDisableCtxRestoreArbitration workaround drm/i915: Enable WA batch buffers for Gen9 drm/i915/gen9: Implement WaDisableKillLogic for gen 9 drm/i915: Use expcitly fixed type in compat32 structs drm/i915: Fix noatomic crtc disabling, v2. drm/i915: fill in more mode members drm/i915: Added BXT check in HAS_CORE_RING_FREQ macro ... commit fa78ceab99e4481e17ab6b6a88257c1c7c23d55a Merge: 5da612f f9fe4b9 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 24 14:28:16 2015 +1000 Merge tag 'topic/drm-misc-2015-07-23' of git://anongit.freedesktop.org/drm-intel into drm-next Update drm-misc pull request since the first one didn't go in yet. Few atomic helper patches, rejecting some old dri1 crap for modern drivers and a few trivial things on top. * tag 'topic/drm-misc-2015-07-23' of git://anongit.freedesktop.org/drm-intel: drm/mgag200: remove unneeded variable drm/mgag200: remove unused variables drm/atomic: Only update crtc->x/y if it's part of the state, v2. drm/fb: drop panic handling drm: Fix warning with make xmldocs caused by drm_irq.c drm/gem: rip out drm vma accounting for gem mmaps drm/fourcc: Add formats R8, RG88, GR88 drm/atomic: Cleanup on error properly in the atomic ioctl. drm: Update plane->fb also for page_flip drm: remove redundant code form drm_ioc32.c drm: reset empty state in transitional helpers drm/crtc-helper: Fixup error handling in drm_helper_crtc_mode_set drm/atomic: Update old_fb after setting a property. drm: Remove useless blank line drm: Reject DRI1 hw lock ioctl functions for kms drivers drm: Convert drm_legacy_ctxbitmap_init to void return type drm: Turn off Legacy Context Functions commit 5da612fa42465c6dda745e1b9fb514a014d23b11 Merge: 52721d9 7639a8c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jul 24 14:26:53 2015 +1000 Merge tag 'drm-amdkfd-next-2015-07-20' of git://people.freedesktop.org/~gabbayo/linux into drm-next - Add Carrizo support for amdkfd, using the new amdgpu driver as the relevant kgd. The support includes interfaces with amdgpu both for gfx7 (Kaveri) and gfx8 (Carrizo). However, gfx7 interface is used for debugging purposes only, so amdkfd defaults to using radeon when Kaveri is installed. I would like to note that no new IOCTLs are being introduced, and there is no change in the current IOCTLs, as they are suited both for gfx7 and gfx8. * tag 'drm-amdkfd-next-2015-07-20' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: Set correct doorbell packet type for Carrizo drm/amdkfd: Use generic defines in new amd headers drm/amdkfd: Implement create_map_queues() for Carrizo drm/amdkfd: fix runlist length calculation drm/amdkfd: Add support for VI in DQM drm/amdkfd: add support for VI in MQD manager drm/amdkfd: add CP HWS packet headers for VI drm/amdkfd: add supported CZ devices PCI IDs to amdkfd drm/amdkfd: Add dependency of DRM_AMDGPU to Kconfig drm/amdgpu: Add amdgpu <--> amdkfd gfx8 interface drm/amdgpu: add amdgpu <--> amdkfd gfx7 interface drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface drm/radeon: Modify kgd_engine_type enum to match CZ commit 97d9a3d0967f711e271ef950f1745307720c95d5 Merge: 228e5fad 3b86616 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 23 21:14:02 2015 -0700 Merge tag 'for-v4.3/omap-hwmod-prcm-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.3/soc ARM: OMAP2+: PRCM and hwmod changes for v4.3 This series adds: - I/O wakeup support for AM43xx - register lock and unlock support to the hwmod code (needed for the RTC IP blocks on some chips) - several fixes for sparse warnings and an unnecessary null pointer test - a DRA7xx clockdomain configuration workaround, to deal with some hardware bugs Basic build, boot, and PM tests are here: http://www.pwsan.com/omap/testlogs/hwmod-prcm-for-v4.3/20150723080012/ Since I do not have an AM43xx or DRA7xx device, I can't test on those platforms. commit 7c9422ef553e8845c91b8fc5fa98452d934834f0 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Jul 24 12:42:40 2015 +0900 clk: exynos3250: Add cpu clock configuration data and instaniate cpu clock This patch add CPU clock configuration data and instantiate the CPU clock type for Exynos3250 to support Samsung specific cpu-clock type. Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit d7cc4c8165e67ff2ba250d65c9e4939d7b8d36c7 Author: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Date: Wed Jul 1 15:10:35 2015 +0200 clk: exynos5250: add cpu clock configuration data and instantiate cpu clock With the addition of the new Samsung specific cpu-clock type, the arm clock can be represented as a cpu-clock type. Add the CPU clock configuration data and instantiate the CPU clock type for Exynos5250. Cc: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx> [b.zolnierkie: split exynos5250 support from the original patch] [b.zolnierkie: moved E5250_CPU_DIV[0,1] macros to clk-exynos5250.c] Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ac4c90c82e4d38cee613f68d2fabd714338ecca7 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Jul 1 15:10:38 2015 +0200 cpufreq: exynos: remove exynos5250 specific cpufreq driver support Exynos5250 based platforms have switched over to use generic cpufreq driver for cpufreq functionality. So the Exynos specific cpufreq support for these platforms can be removed. Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> [k.kozlowski: Rebased the patch around exynos-cpufreq.c] Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 7c14898ba9386ee5c939bb418643ac6baff52840 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Jul 21 12:44:06 2015 +0300 perf script: Add option --show-switch-events Add option --show-switch-events to show switch events in a similar fashion to --show-task-events and --show-mmap-events. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437471846-26995-6-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 06b234ec26fde8d0fce54030fe0858e218636410 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Jul 21 12:44:05 2015 +0300 perf script: Don't assume evsel position of tracking events The tracking event does not have to be the first event so replace perf_evlist__first() with perf_evlist__id2evsel() which uses the event ID to find the correct evsel. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437471846-26995-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b757bb09134f479a087ece08d2cd2a6ba31c9210 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Jul 21 12:44:04 2015 +0300 perf record: Add option --switch-events to select PERF_RECORD_SWITCH events Add an option to select PERF_RECORD_SWITCH events. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437471846-26995-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0286039f777ec0b6684868c34f7b16f97a069d6e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Jul 21 12:44:03 2015 +0300 perf tools: Add new PERF_RECORD_SWITCH event Support processing of PERF_RECORD_SWITCH events and PERF_RECORD_SWITCH_CPU_WIDE events. There is a single tools callback for them both so that the tool must check the event type before using the extra members in PERF_RECORD_SWITCH_CPU_WIDE. There is still no way to select the events, though. That is added in a subsequest patch. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437471846-26995-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 45ac1403f564f411c6a383a2448688ba8dd705a4 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Jul 21 12:44:02 2015 +0300 perf: Add PERF_RECORD_SWITCH to indicate context switches There are already two events for context switches, namely the tracepoint sched:sched_switch and the software event context_switches. Unfortunately neither are suitable for use by non-privileged users for the purpose of synchronizing hardware trace data (e.g. Intel PT) to the context switch. Tracepoints are no good at all for non-privileged users because they need either CAP_SYS_ADMIN or /proc/sys/kernel/perf_event_paranoid <= -1. On the other hand, kernel software events need either CAP_SYS_ADMIN or /proc/sys/kernel/perf_event_paranoid <= 1. Now many distributions do default perf_event_paranoid to 1 making context_switches a contender, except it has another problem (which is also shared with sched:sched_switch) which is that it happens before perf schedules events out instead of after perf schedules events in. Whereas a privileged user can see all the events anyway, a non-privileged user only sees events for their own processes, in other words they see when their process was scheduled out not when it was scheduled in. That presents two problems to use the event: 1. the information comes too late, so tools have to look ahead in the event stream to find out what the current state is 2. if they are unlucky tracing might have stopped before the context-switches event is recorded. This new PERF_RECORD_SWITCH event does not have those problems and it also has a couple of other small advantages. It is easier to use because it is an auxiliary event (like mmap, comm and task events) which can be enabled by setting a single bit. It is smaller than sched:sched_switch and easier to parse. To make the event useful for privileged users also, if the context is cpu-wide then the event record will be PERF_RECORD_SWITCH_CPU_WIDE which is the same as PERF_RECORD_SWITCH except it also provides the next or previous pid/tid. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437471846-26995-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6e5259e9b5b711b325a8455feb3ed27cdd0af0da Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 17:02:18 2015 -0300 perf tools: Stop copying kallsyms into the perf.data file header Since we now ask libtraceevent, the only user of this payload, to use perf's symbol resolution routines, there is no need to carry about ~4.5MB per perf.data when we can get it from one of the places the perf symbol resolution looks for that symtab (debuginfo, ~/.debug/, /proc/kallsyms, --symfs, etc), using the kernel and modules build-ids to make sure the right table is used. Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-h89ituf9rso2rv1v7kjrbeda@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4263cece22e3da94f16fbbcf71ce3807946d3ef3 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 16:48:16 2015 -0300 perf tools: Stop reading the kallsyms data from perf.data As it is not used anymore, since 'perf script' switched to asking libtraceevent to use tools/perf's symbol resolution routines. Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-4ilhofz4b7o8yokvutjt9yzz@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ccb3a8294a7d346257b526702eabcb2faeb721ac Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 16:43:37 2015 -0300 perf script: Switch from perf.data's kallsyms to perf's symbol resolver We were storing a copy of kallsyms inside perf.data file so that we could resolve kernel addresses to function (start, name, mod) tuples, but that can be achieved using the symbol resolving routines we have in symbols.c, and that are used elsewhere in tools/perf. So, do just like 'perf trace' did and ask libtraceevent to use perf's symbol resolution routines. The next step is to just skip whatever kallsyms data is embedded in older perf.data files and finally to stop storing kallsyms in the perf data file, as the 20-bytes build-id stored in perf.data's header is enough to find out the right symtab (be it ELF, kcore, kallsyms, etc) to use. Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-d0rtb8tk9j72pz0ehw5fnp24@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d684779335856d8177514b42a801d46088d897b0 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:13 2015 -0400 pty: Add debug message for ptmx open Opens of /dev/ptmx don't use tty_open() so debug messages are not printed for those opens; print a debug message with the open count (which must always be 1) if TTY_DEBUG_HANGUP is defined. NB: Each tty core source file undefs support for debug messages. The relevant source file must be patched/edited to enable these messages. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb6edc9115f7eb8265fb9282703e52738d397506 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:12 2015 -0400 tty: core: Improve ldisc debug messages Add debug messages for ldisc open and close, and remove "closing ldisc" message from tty_ldisc_release(), because a close message is now printed for both ldiscs; always print ldisc pointer first so ldisc changes are easier to identify. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff8339dc164bb807cc67492ed9310335b7ed88ba Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:11 2015 -0400 tty: Replace inline #ifdef TTY_DEBUG_WAIT_UNTIL_SENT Add tty_debug_wait_until_sent() macro which uses tty_debug() to print the debug message; remove inlined #ifdef. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a6adc131c9d0809682d72398d01099a7ea4168b Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:10 2015 -0400 tty: Use tty_debug() for tty_ldisc_debug() Replace tty_ldisc_debug() macro definition; substitute with equivalent tty_debug() invocation. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit accff793af81bc64e1b37398ef6bb1f0b06491de Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:09 2015 -0400 tty: Replace #ifdef TTY_DEBUG_HANGUP with tty_debug_hangup() Add tty_debug_hangup() macro which uses tty_debug to print the debug message; remove inlined #ifdefs. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2dfa3d38797058fa03478b08bab3d3c4b081615 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:08 2015 -0400 tty: core: Add tty_debug() for printk(KERN_DEBUG) messages Introduce tty_debug() macro to output uniform debug information for tty core debug messages (function name and tty name). Note: printk(KERN_DEBUG) is retained here over pr_debug() since messages can be enabled in non-DEBUG builds. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a6b02dc1f1b37fe2e9c86c00edf07c04bed9fab Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 22:49:07 2015 -0400 tty: core: Improve debug message content Output the function name, tty name, and invariant failure (if applicable). Add the tty count to the tty_open() message. Fix the disassociate_ctty() message, which printed the NULL pointer and the wrong message. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fef53518f9b4813043bdb48b70bd9fbf4ad2597 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Jul 21 22:02:18 2015 -0400 drivers/tty: make serial/sunhv.c driver explicitly non-modular The Kconfig for this driver is currently: config SERIAL_SUNHV bool "Sun4v Hypervisor Console support" ...meaning that it currently is not being built as a module by anyone. Lets remove the modular and unused code here, so that when reading the driver there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. We don't swap module.h for init.h since this file has init.h already. We leave some tags like MODULE_LICENSE for documentation purposes, and for the "git blame" value. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code, so we remove that too. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37db22346739d986c2863e2c7b5580e5f376c5e6 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Jul 21 22:02:17 2015 -0400 drivers/tty: make serial/suncore.c driver explicitly non-modular The Kconfig for this driver is currently: config SERIAL_SUNCORE bool ...meaning that it currently is not being built as a module by anyone. Lets remove the modular and unused code here, so that when reading the driver there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. We don't swap module.h for init.h since this file has init.h already. We leave some tags like MODULE_LICENSE for documentation purposes, and for the "git blame" value. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1106d2dbab29971c091055716fbf2b9011c894c0 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Jul 21 22:02:16 2015 -0400 drivers/tty: make serial/lantic.c driver explicitly non-modular The Kconfig for this option is currently: config SERIAL_LANTIQ bool "Lantiq serial driver" ...meaning that it currently is not being built as a module by anyone. Lets remove the couple traces of modularity, so that when reading the driver there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. We delete the MODULE_DESCRIPTION and LICENSE tags since they are not adding any new information above and beyond what is at the top of the file. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code, so we remove that as well. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e62794bd8c8c249435a86e7a44c0ec0af86c3df Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Jul 21 22:02:15 2015 -0400 drivers/tty: make serial/sn_console.c driver explicitly non-modular The Kconfig for this option is currently: config SERIAL_SGI_L1_CONSOLE bool "SGI Altix L1 serial console support" ...meaning that it currently is not being built as a module by anyone. Lets remove the orphaned module code, so that when reading the driver there is no doubt it is builtin-only. We could consider making it tristate, but the above bool has been there since before the start of git history, which isn't all that surprising, since consoles are typically critical to have at early boot. So adding tristate is really of no value here. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97d49add8befb522828200081388b2f21c1c4f8b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Jul 13 13:18:51 2015 +0200 serial: samsung: Remove redundant DEBUG_LL check Commit 84f57d9e3685 ("tty: serial/samsung: fix modular build") fixed build issues when the driver was built as a module. One of those was that printascii is only accessible when the driver is built-in. But there is no need to check for defined(CONFIG_DEBUG_LL) since the SERIAL_SAMSUNG_DEBUG Kconfig symbol already depends on DEBUG_LL. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Kukjin Kim <kgene@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af5554f957f8a7e28b9826a9c4ad2a7dedd15a78 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 20:50:50 2015 -0400 tty: buffers: Move hidden buffer index advance into outer loop The advance of the 'read' buffer index belongs in the outer flip buffer consume loop, with the other buffer index arithmetic. No functional change. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 069f38b4983efaea92cbe7cc0cacc057af55739a Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 20:50:49 2015 -0400 tty: Replace smp_rmb/smp_wmb with smp_load_acquire/smp_store_release Clarify flip buffer producer/consumer operation; the use of smp_load_acquire() and smp_store_release() more clearly indicates which memory access requires a barrier. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5eb517dd80e4da3055895f8aa3547c2bfd5e675 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 10:34:34 2015 +0200 serial/uuc_uart: Support higher bitrates than 115200 Bit/s The maximum bitrate supported depends on the clock rate used in BRG. This is stored in port.uartclk during probe. Respecting the 16x oversampling higher bitrates can be supported. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e8af24fbe6160c1529ff7fe67bf8b72b73b67e4 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:36:20 2015 +0900 tty: serial: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bb2ccd0d12a26392bf884c2a305b15b622fc7a8 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:36:19 2015 +0900 tty: serial: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 706c3da409dfc6964740ac503c040c4c621954fd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 16:16:16 2015 -0300 perf trace: Provide libtracevent with a kernel symbol resolver So that beautifiers wanting to resolve kernel function addresses to names can do its work, now, for instance, the 'timer' tracepoints beautifiers works with 'perf trace', see the "function=tick..." part: # perf trace --event timer:hrtimer_start <SNIP> 0.000 timer:hrtimer_start:hrtimer=0xffff88026f3101c0 function=tick_sched_timer/0x0 expires=52098339000000 softexpires=52098339000000) 0.003 timer:hrtimer_start:hrtimer=0xffff88026f3101c0 function=tick_sched_timer/0x0 expires=52098339000000 softexpires=52098339000000) <SNIP> Reported-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-n4i0hxpbl1tnleiqkok47fw2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c3168b0db93ad5ffeede4ecdf807dab64270f55d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 16:14:29 2015 -0300 perf symbols: Provide libtraceevent callback to resolve kernel symbols That provides the function signature expected by libtraceevent's pevent_set_function_resolver(). Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ie6hvlb6u15y4ulg9j1612zg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 33a2471cc9b7b1fb27ff2031dbaff701644b1a4d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 12:36:55 2015 -0300 tools lib traceevent: Allow setting an alternative symbol resolver The perf tools have a symbol resolver that includes solving kernel symbols using either kallsyms or ELF symtabs, and it also is using libtraceevent to format the trace events fields, including via subsystem specific plugins, like the "timer" one. To solve fields like "timer:hrtimer_start"'s "function", libtraceevent needs a way to map from its value to a function name and addr. This patch provides a way for tools that already have symbol resolving facilities to ask libtraceevent to use it when needing to resolve kernel symbols. Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-fdx1fazols17w5py26ia3bwh@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5f258b3e3d223b5cb6d1753b2f9b821ba4455f81 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 2 15:18:13 2015 +0200 tty/serial: at91: use 32bit writes into TX FIFO when DMA is enabled For now this improvement is only used with TX DMA transfers. The data width must be set properly when configuring the DMA controller. Also the FIFO configuration must be set to match the DMA transfer data width: TXRDYM (Transmitter Ready Mode) and RXRDYM (Receiver Ready Mode) must be set into the FIFO Mode Register. These values are used by the USART to trigger the DMA controller. In single data mode they are not used and should be reset to 0. So the TXRDYM bits are changed to FOUR_DATA; then USART triggers the DMA controller when at least 4 data can be written into the TX FIFO througth the THR. On the other hand the RXRDYM bits are left unchanged to ONE_DATA. Atmel eXtended DMA controller allows us to set a different data width for each part of a scatter-gather transfer. So when calling dmaengine_slave_config() to configure the TX path, we just need to set dst_addr_width to the maximum data width. Then DMA writes into THR are split into up to two parts. The first part carries the first data to be sent and has a length equal to the greatest multiple of 4 (bytes) lower than or equal to the total length of the TX DMA transfer. The second part carries the trailing data (up to 3 bytes). The first part is written by the DMA into THR using 32 bit accesses, whereas 8bit accesses are used for the second part. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5199d46817766c95ef759684658cd8e359c6d27 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 2 15:18:12 2015 +0200 tty/serial: at91: add support to FIFOs Depending on the hardware, TX and RX FIFOs may be available. The RX FIFO can avoid receive overruns, especially when DMA transfers are not used to read data from the Receive Holding Register. For heavy system load, The CPU is likely not be able to fetch data fast enough from the RHR. In addition, the RX FIFO can supersede the DMA/PDC to control the RTS line when the Hardware Handshaking mode is enabled. Two thresholds are to be set for that purpose: - When the number of data in the RX FIFO crosses and becomes lower than or equal to the low threshold, the RTS line is set to low level: the remote peer is requested to send data. - When the number of data in the RX FIFO crosses and becomes greater than or equal to the high threshold, the RTS line is set to high level: the remote peer should stop sending new data. - low threshold <= high threshold Once these two thresholds are set properly, this new feature is enabled by setting the FIFO RTS Control bit of the FIFO Mode Register. FIFOs also introduce a new multiple data mode: the USART works either in multiple data mode or in single data (legacy) mode. If MODE9 bit is set into the Mode Register or if USMODE is set to either LIN_MASTER, LIN_SLAVE or LON_MODE, FIFOs operate in single data mode. Otherwise, they operate in multiple data mode. In this new multiple data mode, accesses to the Receive Holding Register or Transmit Holding Register slightly change. Since this driver implements neither the 9bit data feature (MODE9 bit set into the Mode Register) nor LIN modes, the USART works in multiple data mode whenever FIFOs are available and enabled. We also assume that data are 8bit wide. In single data mode, 32bit access CAN be used to read a single data from RHR or write a single data into THR. However in multiple data mode, a 32bit access to RHR now allows us to read four consecutive data from RX FIFO. Also a 32bit access to THR now allows to write four consecutive data into TX FIFO. So we MUST use 8bit access whenever only one data have to be read/written at a time. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e7decdaaa67b287d6a13de8dedced68f1d7d716 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 2 15:18:11 2015 +0200 tty/serial: at91: remove bunch of macros to access UART registers This patch replaces the UART_PUT_*, resp. UART_GET_*, macros by atmel_uart_writel(), resp. atmel_uart_readl(), inline function calls. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fad386014ddc34513647a3e49d9fc9db2990cbc Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 2 15:18:10 2015 +0200 tty/serial: at91: fix some macro definitions to fit coding style This patch updates macro definitions in atmel_serial.h to fit the 80 column rule. Please note that some deprecated comments such as "[AT91SAM9261 only]" are removed as the corresponding bits also exist in some later chips. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05a051436bdf37e121a627baca605977cd6d0730 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Thu Jul 2 15:18:09 2015 +0200 ARM: at91/dt: add a new DT property to support FIFOs on Atmel USARTs This patch adds a new DT property, "atmel,fifo-size", to enable and set the maximum number of data the RX and TX FIFOs can store on FIFO capable USARTs. Please be aware that the VERSION register can not be used to guess the size of FIFOs. Indeed, for a given hardware version, the USARTs can be integrated on Atmel SoCs with different FIFO sizes. Also the "atmel,fifo-size" property is optional as older USARTs don't embed FIFO at all. Besides, the FIFO size can not be read or guessed from other registers: When designing the FIFO feature, no dedicated registers were added to store this size. Unsed spaces in the I/O register range are limited and better reserved for future usages. Instead, the FIFO size of each peripheral is documented in the programmer datasheet. Finally, on a given SoC, there can be several instances of USART with different FIFO sizes. This explain why we'd rather use a dedicated DT property than use the "compatible" property. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6719693ca2efb0f04654d05768ee299e87e1694b Author: Patrick Donnelly <batrick@xxxxxxxxxxxx> Date: Sun Jul 12 18:51:52 2015 -0400 tty: add missing rcu_read_lock for task_pgrp task_pgrp requires an rcu or tasklist lock to be obtained if the returned pid is to be dereferenced, which kill_pgrp does. Obtain an RCU lock for the duration of use. Signed-off-by: Patrick Donnelly <batrick@xxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da891641b6c92e260966dfce3dd93111d08656c8 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Jul 16 10:29:13 2015 +0200 serial: 8250: Do XR17V35X specific wakeup in serial8250_do_startup The XR17V35X UART needs the ECB bit set in its XR_EFR register to enable access to IER [7:5], ISR [5:4], FCR[5:4], MCR[7:5], and MSR [7:0]. Also reset the IER register to mask interrupts after access to all bits of this register has been enabled. This makes my 8-port XR17V35X working with the in-kernel serial driver. Cc: Joe Schultz <jschultz@xxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Reviewed-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee3ad90be5ec5e94a45aac597a23b1050cd4f1b0 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 21:11:31 2015 -0400 serial: 8250: Defer interrupt enable until fifos enabled An already-active sender can swamp the interrupt handler with "too much work" if the rx interrupts are enabled when the fifo is disabled and operating in single-byte mode. Defer rx and line status interrupt enable until after the fifos are enabled in set_termios(), but at least initialize the shadow IER value with the interrupts which will be enabled. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45c6df4471edf5404463756df1014fe7e36db3d3 Author: Jiri Slaby <jslaby@xxxxxxx> Date: Tue Jun 23 19:09:59 2015 +0200 tty: linux/gsmmux.h needs linux/types.h We use __u8 in linux/gsmmux.h, so include linux/types.h to have that defined. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3fb7ef3981abdca871d65e8c7d9a827225eb2ba Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Thu Jul 9 11:50:38 2015 +0530 tty/early: make serial8250_early_{in,out} static again Commit ed71871bed719 ("tty/8250_early: Turn serial_in/serial_out into weak symbols") made these routines weak to allow platform specific Big endian override However recent updates to core, specifically ebc5e20082 ("serial: of_serial: Support big-endian register accesses") and 6e63be3fee14 ("serial: earlycon: Add support for big-endian MMIO accesses") means that round about way to overide the early serial accessors is no longer needed. Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Acked-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6830f6df8914faae9561bb245860c21af9b9e9b Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 09:19:00 2015 -0400 serial: 8250: Split base port operations from universal driver Refactor base port operations into new file; 8250_port.c. Legacy irq handling, RSA port support, port storage for universal driver, driver definition, module parameters and linkage remain in 8250_core.c The source file split and resulting modules is diagrammed below: 8250_core.c ====> 8250_core.c __ \ \ \ +-- 8250.ko (alias 8250_core) \ 8250_pnp.c __/ (universal driver) \ => 8250_port.c __ \ +-- 8250_base.ko 8250_dma.c __/ (port operations) Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e95044ba4fee93f5ea8a1a24b2d921e148503833 Author: David Jander <david@xxxxxxxxxxx> Date: Thu Jul 2 16:29:49 2015 +0200 tty: serial: imx.c: Reset UART before activating interrupts If the UART has been in use before this driver was loaded, IRQs might be active and get fired as soon as we set the handler, which will crash in the spin_lock_irqsave(&sport->port.lock, flags) because port.lock is not initialized until the port is added at the end of probe. Signed-off-by: David Jander <david@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9b5a9825f6b02a9cf86697bcffafd3d7898f9f6 Author: Manfred Schlaegl <manfred.schlaegl@xxxxxx> Date: Sat Jun 20 19:25:52 2015 +0200 serial: imx: reduce irq-latency after rx overflow To prevent problems with interrupt latency, and due to the fact, that the error will be counted anyway (icount.overrun), the dev_err is simply removed. Background: If an rx-fifo overflow occurs a dev_err message was called in interrupt context. Since dev_err messages are written to console in a synchronous way (unbuffered), and console may be a serial terminal, this leads to a highly increased interrupt-latency (several milliseconds). As a result of the high latency more rx-fifo overflows will happen, and therefore a feedback loop of errors is created. Signed-off-by: Manfred Schlaegl <manfred.schlaegl@xxxxxx> Acked-By: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b289932610edff7d0c11228efbf7a6f81361298 Author: Manfred Schlaegl <manfred.schlaegl@xxxxxx> Date: Sat Jun 20 19:25:35 2015 +0200 serial: imx: count tty buffer overruns As can be seen in function uart_insert_char (serial_core) the element buf_overrun of struct uart_icount is used to count overruns of tty-buffer. Added support for counting of overruns in imx driver analogue to serial_core. Signed-off-by: Manfred Schlaegl <manfred.schlaegl@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a61f0c70ae65c6b70d13228c3120c73d7425a60 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Jun 17 17:35:43 2015 -0300 serial: imx: Disable irqs before requesting them Disable interrupts before requesting them in order to fix a kernel oops after lauching a kernel via kexec. Tested on a imx6sl-evk board. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1eacbfb06df9d37b743d0eedbeb9fd4f71190c98 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Mon Jun 15 16:36:07 2015 +0200 serial/uartlite: Let it build on any arch with IOMEM Being a soft core, it can be located not only on PPC or Microblaze platforms. Since the driver already does endianness detection we only need to change the Kconfig to use it in other arches. This is also done in other softcores as xilinx-spi. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b596a834177f87846559f3f364b38cafdb13b61 Author: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Date: Tue Jun 16 11:12:19 2015 +0200 serial: stm32-usart: Fix SysRq support SysRq support activation depends on CONFIG_SERIAL_STM32_USART_CONSOLE, but this config flag does not exists. This patch fix this by depending on the valid config flag, which is SERIAL_STM32_CONSOLE. Reported-by: Andreas Ruprecht <andreas.ruprecht@xxxxxx> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e75ed3c47a2082fad87dd6d726ff7275d35e197c Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 10:32:27 2015 -0700 Input: arizona-haptic - convert to use managed input devices Using managed input device (via devm_input_allocate_device) simplifies error handling and driver removal paths and also silences CID# 712569. Reviewed-by: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ce2ae9e3e6a152866a33972c966f8315aab2cb1d Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Jul 20 17:15:46 2015 -0700 Input: cyapa - add ACPI HID CYAP0002 for Gen6 devices Add CYTP0002 to the list of ACPI HIDs recognized by the driver. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 757cae5a6f0ac1c61ce149a066377a15d1ed881f Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Jul 20 17:09:59 2015 -0700 Input: cyapa - fully support runtime suspend power management Fix the the runtime suspend power management not working issue when system starts up and before user touches the trackpad device. TEST=test on Chromebook. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 945525ee607471630d07c309e036ae4a53abe37f Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Jul 20 16:57:53 2015 -0700 Input: cyapa - add proximity support for gen5 and gen6 modules Gen5 and Gen6 trackpad devices are able to detect and report object proximity data/events, add this function support in the cyapa driver through the ABS_DISTANCE event. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c2c06c41f700b544c9331caf71c67edb5d131257 Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Jul 20 16:53:30 2015 -0700 Input: cyapa - add gen6 device module support Based on the cyapa core, add support for basic functionality of the gen6 trackpad devices. The driver can automatically determine what protocol (gen3, gen5, or gen6) should be used with the attached trackpad device. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 94897619bf24aca6b37cfa847399a56cf40eab66 Author: Dudley Du <dudl@xxxxxxxxxxx> Date: Mon Jul 20 16:49:06 2015 -0700 Input: cyapa - rename 'gen5' to 'pip' for chared code Change 'gen5' to 'pip' for all macros, variables and functions that are shared between gen5 and gen6 modules to make naming more clear and readable. Also fix a few spelling errors. Signed-off-by: Dudley Du <dudl@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit be972177797636a4c8958ff0a8feb314309850c3 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sun May 25 22:33:13 2014 -0700 Input: tc3589x-keypad - switch to using managed resources Let's switch the driver to use managed resources, this will simplify error handling and driver unbinding logic. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e571c73ee4836640d3019ac68b008f3662087e80 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Jul 17 17:08:02 2015 -0700 Input: tc3589x-keypad - change name of wakeup property Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 43b7be3b8c0457c35a124d8538372f82f355bd29 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Jul 17 17:04:10 2015 -0700 Input: samsung-keypad - change name of wakeup property Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 466e285b1f63e84a6ced5cd18c3c3d90bda73404 Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Tue Jul 14 00:52:23 2015 +0000 serial: sirf: let uart's receive start in right place While UART work in DMA mode, function start_rx will request descriptor from DMA engine, if there is no left descriptor UART, driver will give err logs "DMA slave single fail". currently start_rx is called in set_termios function, so everytime, port setting will call start_rx once. Now put start_rx in startup, it will be called once while open the port. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d26c9ff420f647df4a7a3e9a28736b9cff6359a Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Tue Jul 14 00:52:22 2015 +0000 serial: sirf: workaround rx process to avoid possible data loss when UART works in DMA mode and left bytes in rx fifo less than a dma transfer unit, DMA engine can't transfer the bytes out to rx DMA buffer. so it need a way to fetch them out and flush them into tty buffer in time. in the above case, we want UART switch from DMA mode to PIO mode and fetch && flush bytes into tty layer buffer until rxfifo become empty, after that done let UART switch from PIO mode back to DMA mode. (record as method1) method1 result in the next receive result wrong. for example in PIO part of method1, we fetched && pushed X1...X3 bytes, when UART rxfifo newly received Y1...Y4 bytes, UART trigger a DMA unit transfer, the DMA unit's content is X1...X3Y1 and rxfifo fifo status is empty, so X1X2X3 pushed twice by PIO way and DMA way also the bytes Y2Y3Y4 missed. add rxfifo reset operation before UART switch back to DMA mode would resolve the issue. ([method1 + do fifo reset] record as method2) before the commit, UART driver use method2. but methd2 have a risk of data loss, as if UART's shift register receive a complete byte and transfer it into rxfifo before rxfifo reset operation the byte will loss. UART and USP have the similar bits CLEAR_RX_ADDR_EN(uart)/FRADDR_CLR_EN(usp), When found UART controller changing I/O to DMA mode, UART controller clears the two low bits of read point (rx_fifo_addr[1:0]). when enable the bit + method1(record as method3), in above example the DMA unit's content is X1...X3Y1 and there are Y2Y3Y4 in rxfifo by experiment, we just push bytes in rx DMA buffer. BTW, the workaround works only for UART receive DMA channel use SINGLE DMA mode. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9bb4b510046d41e3e5a4adc56c76ec8d6812962 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jun 28 09:46:43 2015 +0800 serial: etraxfs-uart: Convert to uart_console_device instead of open-coded The implementation of cris_console_device() is exactly the same as uart_console_device(), so let's switch to use uart_console_device(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Niklas Cassel <nks@xxxxxxxxxxx> Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bac4b3d2592c281a9b2614070140b116bd0b0a9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 09:28:55 2015 -0400 serial: 8250_omap: Remove auto-IXON flow control OMAP h/w-assisted IXON flow control is borked. The transmitter becomes stuck if XON is never received; clearing the fifos or resetting the rx flow control bits has no effect. Remove auto-IXANY as well, since without auto-IXON, it has no purpose. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27c93af7e7d9ccdfa28e26767c09106bf0721998 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:08 2015 +0530 serial: 8250_omap: workaround module disable errata on dra7x SoCs Due to Advisory 21 as documented in AM437x errata document, UART module cannot be disabled once DMA is used. The only workaround is to softreset the module before disabling it. DRA7x UARTs are compatible to AM437x UARTs in terms of this errata and prescribed workaround. Enable usage of workaround for this errata on DRA7x SoCs. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdb929e4452a8dab15daccc88e43d0f7e73b5500 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:07 2015 +0530 serial: 8250_omap: workaround errata around idling UART after using DMA AM335x, AM437x and DRA7x SoCs have an errata[1] due to which UART cannot be idled after it has been used with DMA. OMAP3 has a similar sounding errata which has been worked around in a2fc36613ac1af2e9 ("ARM: OMAP3: Use manual idle for UARTs because of DMA errata"). But the workaround used there does not apply to AM335x, AM437x SoCs. After using DMA, the UART module on these SoCs must be soft reset to go to idle. This patch implements that errata workaround. It is expected that UART will be used with DMA so no explicit check for DMA usage has been added for errata applicability. MDR1 register needs to be restored right after soft-reset because "UART mode" must be set in that register for module wake-up on AM335x to work. As a result, SCR register is now used to determine if context was lost during sleep. [1] See Advisory 21 in AM437x errata SPRZ408B, updated April 2015. http://www.ti.com/lit/er/sprz408b/sprz408b.pdf Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fcdff9bcabc135d72f69ed8723a14a9e514fe46 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:06 2015 +0530 serial: 8250_omap: introduce "ti,am3352-uart" compatible property Use of of_machine_is_compatible() for handling AM335x specific "DMA kick" quirk in 8250_omap driver makes it ugly to extend the quirk for other platforms. Instead use a new compatible. The new compatible will also make it easier to take care of other quirks on AM335x and like SoCs. In order to not break backward DTB compatibility for users of 8250_omap driver on AM335x based boards, existing use of of_machine_is_compatible() has not been removed. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f03541f6bbd1b02f659099b171bd4b91d6f1a53 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:05 2015 +0530 serial: 8250_omap: refactor mdr1 update The silicon errata[1] workaround implemented in a follow-on patch, "serial: 8250_omap: workaround errata on disabling UART after using DMA", requires MDR1 register programming. Extract MDR1 register update into helper function, omap8250_update_mdr1() to help with that. [1] Advisory 21 in http://www.ti.com/lit/er/sprz408b/sprz408b.pdf Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d879aeaa416fea126081452e811c1d225fd25b00 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:04 2015 +0530 Documentation: DT: omap_serial: document missing compatible The compatible "ti,am4372-uart" is used in arch/arm/boot/dts/am4372.dtsi but not documented. Add necessary documentation. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 727fd8ab7913421f3b60bcaaf31f1f5389c7cb5a Author: Sekhar Nori <nsekhar@xxxxxx> Date: Tue Jul 14 13:32:03 2015 +0530 serial: 8250_omap: fix kernel crash in suspend-to-ram omap_device infrastructure has a suspend_noirq hook which runtime suspends all devices late in the suspend cycle (see _od_suspend_noirq() in arch/arm/mach-omap2/omap_device.c) This leads to a NULL pointer exception in 8250_omap driver since by the time omap8250_runtime_suspend() is called, 8250_dma driver has already set rxchan to NULL via serial8250_release_dma(). Make an explicit check to see if rxchan is NULL in runtime_{suspend|resume} hooks to fix this. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29d58642f1a090ad574d14872b610b365b2d023b Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Jun 16 10:59:40 2015 +0200 serial/8250_fintek: Support for any io address. Fintek chip can be configured for io addresses different than the standard. Query the chip for the configured addresses and try to match it with the pnp address. Reported-by: Peter Hong <peter_hong@xxxxxxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce8c267e2ef9180d21f6915f21874898c2ac0ffb Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Jun 16 10:59:39 2015 +0200 serial/8250_fintek: Support keys different than default Chip can be configured to use entry key different than 0x77. Try all the valid keys until one gives out the right chip id. Reported-by: Peter Hong <peter_hong@xxxxxxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dae77f757950c273500cc72262a094f290578bef Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Jun 16 10:59:38 2015 +0200 serial/8250_fintek: Support for chip_ip 0x0501 There are some chips with the same interface but different chip ip. Reported-by: Peter Hong <peter_hong@xxxxxxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 017bec38c08fc954fb788fe69cf9e55f0d4910e7 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Jun 16 10:59:37 2015 +0200 serial/8250_fintek: Support for multiple base_ports Fintek chip can be connected at address 0x4e and also 0x2e. Add some logic to find out the address of the chip. Reported-by: Peter Hong <peter_hong@xxxxxxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92a5f11a1a3357964c30c34d55dc55152315b81b Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Jun 16 10:59:36 2015 +0200 serial/8250_fintek: Use private data structure Save the port index and the line id in a private structure. Reported-by: Peter Hong <peter_hong@xxxxxxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75406b3b17ee5a107b361b4065ad83fe42fff5a8 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Jun 6 06:05:24 2015 +0530 tty: Convert use of __constant_htons to htons In little endian cases, macro htons unfolds to __swab16 which provides special case for constants. In big endian cases, __constant_htons and htons expand directly to the same expression. So, replace __constant_htons with htons with the goal of getting rid of the definition of __constant_htons completely. The semantic patch that performs this transformation is as follows: @@expression x;@@ - __constant_htons(x) + htons(x) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99b4ffbd84ea4191e0b8d1709230656a1c33b848 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 16 12:10:05 2015 -0700 Input: gpio_keys[_polled] - change name of wakeup property Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 274696521254855ba03f2d4f4575ae048a409256 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 16 12:15:24 2015 -0700 Input: pmic8xxx-keypad - change name of wakeup property Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit abf77a32288d4379dfede0b50be6a04be3cd1431 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 16 12:03:39 2015 -0700 Input: ads7846 - change name of wakeup property to "wakeup-source" Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit aeda5003d0b987085acef6ad4844f8e34851bb10 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 16 11:54:14 2015 -0700 Input: matrix_keypad - change name of wakeup property to "wakeup-source" Wakeup property of device is not Linux-specific, it describes intended system behavior regardless of the OS being used. Therefore let's drop "linux," prefix, and, while at it, use the same name as I2C bus does: "wakeup-source". We keep parsing old name to keep compatibility with old DTSes. Cc: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 02b0b79c30076aaa33ee9134546130eb62b88078 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 17 14:59:18 2015 -0700 Input: pmic8xxx-pwrkey - support shutdown On pm8xxx PMICs, shutdown and restart are signaled to the PMIC via a pin called PS_HOLD. When this pin goes low, the PMIC performs a configurable power sequence. Add a .shutdown hook so that we can properly configure this power sequence for shutdown or restart depending on the system state. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6297c4b242f5b1e3d2089291b8788d900aecbce1 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 26 14:50:17 2015 -0700 ARM: dts: msm8974: Add smem reservation and node Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit b4e745e135e3b036cbf3399a0477abac280f4d35 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 26 14:50:16 2015 -0700 ARM: dts: msm8974: Add tcsr mutex node Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 724cde479dafcd4a6ee1e39e820ac94c0c7c04c5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 13:31:15 2015 -0700 ARM: dts: qcom: Add ks8851 node for wired ethernet The micrel ks8851 device is present on MSM8960 CDP boards. It is connected to two regulators, one controlled via a gpio and another controlled via the RPM. Add the gsbi, spi, gpio regulator, and micrel ks8851 nodes so that ethernet works properly. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit fe9ad1679c313f76fdf94a712b0dd91275e839d3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 13:31:14 2015 -0700 ARM: dts: qcom: Add MSM8960 CDP RPM regulators Add RPM regulators and configure their constraints on the MSM8960 CDP so that we can control these supplies. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 9de4bc97b33822df28886668d27d6ddc0fd241c7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 13:31:13 2015 -0700 ARM: dts: qcom: Add MSM8960 RPM and RPM regulator nodes Add the basic RPM and RPM regulator nodes that boards can fill in with their board specific details. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 2a39c9b3962402b2bbe530686858b906a6bddd0e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 16 13:31:12 2015 -0700 ARM: dts: qcom: Replace gpio node with pinctrl node Now that we have a proper pinctrl driver for the gpio block we can change the compatible field here and configure the pinmux on msm8960 devices. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 8e140c8e64d20ac17b003c0f5607d782f5c1f5b0 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 5 15:52:25 2015 -0700 ARM: dts: qcom: Replace gpio node with pinctrl node Replace the standalone gpio driver with pinctrl-msm as we now have msm8660 support there. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 40913fe6ea3b733564f0b580cf6c51f5d8fa8158 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:54:30 2015 +0800 ACPICA: Update version to 20150717 ACPICA commit 8580ce04c1b7aa415c364b06e79edb8aca77dded Version 20150717. Link: https://github.com/acpica/acpica/commit/8580ce04 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6d9be0a5c459ac30a5b3e7fbe51c55f65a5f4c7c Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:54:23 2015 +0800 ACPICA: iASL/Disassembler: Add prototype verbose mode ACPICA commit add72dca18ab5d02f1bf9b08027570e58da520e8 This mode will emit AML byte code after each ASL statement. This is a prototype only and requires additional development. This patch only affects ACPICA disassembler which is not in the kernel source tree. Link: https://github.com/acpica/acpica/commit/add72dca Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fdd8d831cf43761712d28e5d1ad812eab7dc1480 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:54:17 2015 +0800 ACPICA: Debugger: Move debugger specific APIs to debugger component ACPICA commit 2164923d60429eea7cd5a4a8629b607af7325afa Some disassembler APIs should rather be debugger APIs. This patch moves them to the debugger folder to be ready for debugger porting. Since there is no in-kernel ACPICA debugger in the kernel source tree, this patch doesn't affect the Linux kernel. Link: https://github.com/acpica/acpica/commit/2164923d Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 02ca26bef8f49a654026f56bedde2ab25e761380 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:54:11 2015 +0800 ACPICA: Debugger: Reduce structure size for debugger ACPICA commit 310e0ae1c4730f4dadc80125125099ab76851499 arg_types in struct acpi_db_method_info is only referenced by ACPI_DEBUGGER. This patch only affects ACPICA debugger which is only used by a non-kernel tool - acpiexec, so Linux kernel is currently not affected by this patch. Link: https://github.com/acpica/acpica/commit/310e0ae1 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 15a61aa19dad8dedb137c216c13ba18ad6f59674 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:54:04 2015 +0800 ACPICA: iASL: Add support for TCPA Server Table ACPICA commit 55fa9555c71eaa99daebed4cd82cfde3875e8c45 In addition to the existing support for the client table. Link: https://github.com/acpica/acpica/commit/55fa9555 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 88606a2b9020993a776df894941b3b07cc1374fe Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:53:57 2015 +0800 ACPICA: Cleanup use of NEGATIVE and POSITIVE defines ACPICA commit f88814201e01043a4f8caa69a69b799af11c44a3 These were defined in two places. Changed to ACPI_SIGN* names and define them once in acmacros.h This patch doesn't affect Linux kernel. Link: https://github.com/acpica/acpica/commit/f8881420 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 276291962ebf43abebb491ddcd922009de9fde4b Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:53:49 2015 +0800 ACPICA: Cleanup use of all non-ANSI local C library functions ACPICA commit 7c490c28a18b435c543c6b410e7e7c2131fccc78 ACPICA implements all non-ANSI functions locally. However, there are sometimes two or more versions of the same function throughout the ACPICA code. This change fixes this. Adds a new file, utilities/utnonansi.c Link: https://github.com/acpica/acpica/commit/7c490c28 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5a4f0693a586d73a65ccc7959e81a5618de265fe Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:53:42 2015 +0800 ACPICA: MSVC: Fix inclusion order issue of <crtdbg.h> ACPICA commit 49c6a6517a906900e9baa51ad5859beeb8a3089f The following error logs can be seen for calloc/free/malloc/realloc that defined in the stdlib.h: ...\stdlib.h(281) : error C2059: syntax error : ',' ...\stdlib.h(281) : error C2143: syntax error : missing ')' before 'constant' ...\stdlib.h(281) : error C2143: syntax error : missing '{' before 'constant' ...\stdlib.h(281) : error C2059: syntax error : '<Unknown>' ...\stdlib.h(281) : error C2059: syntax error : ')' This is caused by the wrong inclusion order of stdlib.h/crtdbg.h introduced in acenv.h. This patch fixes this breakage. Lv Zheng. This patch doesn't affect Linux kernel. Link: https://github.com/acpica/acpica/commit/49c6a651 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 53d9edce56de3eb495a3eef77e973e3ea014d999 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Thu Jul 23 12:53:35 2015 +0800 ACPICA: iASL: Add new warnings for method local_x and arg_x variables ACPICA commit eb9f8cb9fd65f1149dd335d05944c31cbca41af3 1) Warn if a Local is set but never used 2) Warn if a arg_x is never used (for non-predefined method names) 3) Warn if a arg_x that is used as a local is never used This patch only affects iASL which is not in the kernel source tree. Link: https://github.com/acpica/acpica/commit/eb9f8cb9 Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit dc67d0fa8612ad49a8ec36040c5d22a9091bdbf6 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 23 12:53:28 2015 +0800 ACPICA: Remove extraneous check for null walk_state ACPICA commit f9fd6e8bad0f16ce2b436c5cda36ced0c2d85302 Reported by Markus Elfring. Link: https://github.com/acpica/acpica/commit/f9fd6e8b Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ec4252a66b1a2cd2fc6fbdbf3d3279640500fb75 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:53:22 2015 +0800 ACPICA: Parser: Remove redundant opcode execution debugging output ACPICA commit c832b0a9263c560b3ae3ae31d7298ef33988f8d5 This patch removes one redundant debugging output of opcode execution which has already been covered by acpi_ex_start_trace_opcode(). Lv Zheng. Link: https://github.com/acpica/acpica/commit/c832b0a9 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fb18e8fd08862f5509f3c79e168b24512c7065aa Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:53:15 2015 +0800 ACPICA: Executer: Add option to bypass opcode tracing ACPICA commit 61e9e20aadfaa03184d0959fbdc1fa5cdfea2551 This patch adds option to bypass opcode tracing. The option can be used to reduce the trace message output. Lv Zheng. Link: https://github.com/acpica/acpica/commit/61e9e20a Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bab0482418885627babfd1a6ca4e57a809712474 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:53:07 2015 +0800 ACPICA: Executer: Add OSL trace hook support ACPICA commit e8e4a9b19d0b72a7b165398bdc961fc2f6f502ec This patch adds OSL trace hook support. OSPMs are encouraged to use acpi_os_trace_point() with ACPI_USE_SYSTEM_TRACER defined to implement platform specific trace facility. Lv Zheng. Link: https://github.com/acpica/acpica/commit/e8e4a9b1 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ab6c573320768c36ac629be3db79ad62445aae64 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:59 2015 +0800 ACPICA: Executer: Add interpreter tracing mode for method tracing facility ACPICA commit 07fffd02607685b655ed92ee15c160e6a810b60b The acpi_debug_trace() is the mechanism known as ACPI method tracing that is used by Linux as ACPICA debugging message reducer. This facility can be controlled through Linux ACPI subsystem - /sys/module/acpi/parameters. This facility requires CONFIG_ACPI_DEBUG to be enabled to see ACPICA trace logs in the kernel dmesg output. This patch enhances acpi_debug_trace() to make it not only a message reducer, but a real tracer to trace AML interpreter execution. Note that in addition to the AML tracer enabling, this patch also updates the facility with the following enhancements: 1. Allow a full path to be specified by the acpi_debug_trace() API. 2. Allow any method rather than just the entrance of acpi_evaluate_object() to be traced. 3. All interpreter ACPI_LV_TRACE_POINT messages are collected for ACPI_EXECUTER layer. The Makefile of drivers/acpi/acpica is also updated to include exdebug.o and the duplicated stubs are removed after that. Note that since this patch has enhanced the method tracing facility, Linux need also be updated after applying this patch. Lv Zheng. Link: https://github.com/acpica/acpica/commit/07fffd02 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a616dc2fe50270f1fa5050fb9cd88a08531a3f25 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:53 2015 +0800 ACPICA: Dispatcher: Add trace support for interpreter ACPICA commit 71299ec8b49054daace0df50268e8e055654ca37 This patch adds trace point at the following point: 1. Begin/end of a control method execution; 2. Begin/end of an opcode execution. The trace point feature can be enabled by defining ACPI_DEBUG_OUTPUT and specifying a debug level that includes ACPI_LV_TRACDE_POINT and the debug layers that include ACPI_PARSER and ACPI_DISPACTCHER. In order to make aml_op_name of union acpi_parse_object usable for tracer, it is enabled for ACPI_DEBUG_OUTPUT in this patch. Lv Zheng. Link: https://github.com/acpica/acpica/commit/71299ec8 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0bac4295526c67e87ec24b29762140c38de7c86a Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:46 2015 +0800 ACPICA: Dispatcher: Move stack traversal code to dispatcher ACPICA commit c8275e243b58fd4adfc0362bd704af41ed14bc75 This patch moves parts of acpi_dm_dump_method_info() to the dispatcher component. This patch also makes the new function dependent on ACPI_DEBUG_OUTPUT compile-stage definition so that it can be used by the trace facility. acpi_dm_dump_method_info() traverses method stack when an exception is encountered. Such traversal is needed to support method tracing for the exceptions. When an exception is encountered, the end indications of the aborted methods should be logged in order not to break the user space analysis tool. Lv Zheng. Link: https://github.com/acpica/acpica/commit/c8275e24 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d1e7ffe50ba588ddf7de520990815c37f31776d8 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:39 2015 +0800 ACPICA: Namespace: Add function to directly return normalized full path ACPICA commit 6e0229bb156d71675f2e07dc7960adb7ec0a60ea This patch adds functions to return normalized full path instead of "external path". The external path contains trailing "_" for each name segment while the normalized full path doesn't contain the trailing "_". Currently this function is used by the method tracing users to specify a none trailing "_" attached name path. Lv Zheng. Note that we need to validate and switch all Linux kernel acpi_get_name() users to use the new name type before removing the old name type from ACPICA. Link: https://github.com/acpica/acpica/commit/6e0229bb Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Reviewed-by: Ruiyi Zhang <ruiyi_zhang@xxxxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 07b9c91225055afeb2d75942fc36dd51c5553d90 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:31 2015 +0800 ACPICA: Executer: Add back pointing reference of method operand ACPICA commit 9dcd124e914e87495fbd1786d9484b962e0823e0 This patch adds back pointing reference of the namespace node for a method operand. The namespace node then can be used in acpi_ds_terminate_control_method() to obtain method full path to be used by tracing facilities. Lv Zheng. Link: https://github.com/acpica/acpica/commit/9dcd124e Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 62eb935b77818a5e4ff3c8d9b97036b59944f649 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:24 2015 +0800 ACPICA: Dispatcher: Cleanup union acpi_operand_object's AML address assignments ACPICA commit afb52611dbe7403551f93504d3798534f5c343f4 This patch cleans up the code of assigning the AML address to the union acpi_operand_object. The idea behind this cleanup is: The AML address of the union acpi_operand_object should always be determined at the point where the object is encountered. It should be started from the first byte of the object. For example, the opcode of the object, the name string of the user_term object, or the first byte of the packaged object (where a pkg_length is prefixed). So it's not cleaner to have it assigned here and there in the entire ACPICA source tree. There are some special cases for the internal opcodes, before cleaning up the internal opcodes, we should also determine the rules for the AML addresses of the internal opcodes: 1. INT_NAMEPATH_OP: the address of the first byte for the name_string. 2. INT_METHODCALL_OP: the address of the first byte for the name_string. 3. INT_BYTELIST_OP: the address of the first byte for the byte_data list. 4. INT_EVAL_SUBTREE_OP: the address of the first byte for the Region/Package/Buffer/bank_field/Field arguments. 5. INT_NAMEDFIELD_OP: the address to the name_seg. 6. INT_RESERVEDFIELD_OP: the address to the 0x00 prefix. 7. INT_ACCESSFIELD_OP: the address to the 0x01 prefix. 8. INT_CONNECTION_OP: the address to the 0x02 prefix. 9: INT_EXTACCESSFIELD_OP: the address to the 0x03 prefix. 10.INT_RETURN_VALUE_OP: the address of the replaced operand. 11.computational_data: the address to the Byte/Word/Dword/Qword/string_prefix. Before cleaning up the internal root scope of the aml_walk, turning it into the term_list, we need to remember the aml_start address as the "Aml" attribute for the union acpi_operand_object created by acpi_ps_create_scope_op(). Finally, we can delete some redundant AML address assignment in psloop.c. Link: https://github.com/acpica/acpica/commit/afb52611 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 950a429cd21638b0c076d135ed279518b21f452b Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:18 2015 +0800 ACPICA: Parser: Cleanup aml_offset in union acpi_operand_object ACPICA commit 61b360074fde2bb8282722579410f5d1fb12f84d This patch converts aml_offset in union acpi_operand_object to AML address. AML offset is actually only used by the debugger, using AML address is more direct and efficient during the parsing stage so that we don't need to calculate the offset during the parsing stage and will not have difficulities in converting it into other offset attributes. Sometimes, aml_offset is not an indication of the offset from the table header but the offset from the entry of a list of terms, which requires additional efforts to convert it into an offset from the table header. By using AML address directly, there is no such difficulty. Thus this patch also deletes a logic in disassembler that is trying to convert the aml_offset from "offset from the start address of Method/Package/Buffer" into the "offset from the start address of the ACPI table" (Sample code deletion can be seen in acpi_dm_deferred_parse(), but the function is not in the Linux kernel). Lv Zheng. Link: https://github.com/acpica/acpica/commit/61b36007 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 83482f758b0d2d6a20a10be88399da44aa186aed Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:11 2015 +0800 ACPICA: Parser: Cleanup aml_offset in struct acpi_walk_state ACPICA commit d254405814495058276c0c2f9d96794d15a6c91c This patch converts aml_offset in struct acpi_walk_state to AML address. AML offset is actually only used by the debugger, using AML address is more direct and efficient during the parsing stage so that we don't need to calculate it during the parsing stage. On the other hand, we can see several issues in the current parser logic around the aml_offset: 1. union acpi_operand_object.Common.aml_offset is redundantly assigned in acpi_ps_parse_loop(). 2. aml_offset is not an indication of the offset from the table header but the offset from the entry of a list of objects. Sometimes, it indicates an entry for a Method/Package/Buffer, which makes it difficult to be reversely calculated to a table header offset. 3. When being used with method tracers (for example, Linux function trace), it's better to have AML address logged instead of the AML offset because the address is the only attribute that can uniquely identify the opcode. This patch is required to solve the above issues. Lv Zheng. Link: https://github.com/acpica/acpica/commit/d2544058 Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit eb87a05223293a915dc97e6966cbbb1baa43cd5f Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Jul 23 12:52:05 2015 +0800 ACPICA: Parser: Reduce parser/namespace divergences for tracer support This patch reduces divergences in parser/namespace components so that the follow-up linuxized ACPICA upstream commits can be directly merged. Including the fix to an indent issue reported and fixed by Zhouyi Zhou. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Zhouyi Zhou <yizhouzhou@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 13517157d16f98564b91658940ccd720724da62f Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Thu Jul 23 18:50:49 2015 +0200 ARM: dts: rockchip: Add veyron-speedy board Which is formally known as the Asus C201 chromebook Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 7868dfd216074fc5f902e7befacda2a0ec76e403 Author: Joo Aun Saw <jasaw@xxxxxxxxxxx> Date: Thu Jul 23 12:53:47 2015 +1000 tools: iio: make scale and offset files optional Make scale and offset optional by adding -ENOENT check as not all drivers implement them. Signed-off-by: Joo Aun Saw <jasaw@xxxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1e9676a8474b657b6a793f0abff2205783a1ce6f Author: Giuseppe Barba <giuseppe.barba@xxxxxx> Date: Tue Jul 21 10:35:45 2015 +0200 iio: st-magn: add support for lsm303agr magnetometer This adds support for the lsm303agr magnetometer. Signed-off-by: Giuseppe Barba <giuseppe.barba@xxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ddc05fa286068a2d0cf87a47739b155806d46670 Author: Giuseppe Barba <giuseppe.barba@xxxxxx> Date: Tue Jul 21 10:35:44 2015 +0200 iio: st-accel: add support for lsm303agr accelerometer This adds support for the lsm303agr accelerometer. Signed-off-by: Giuseppe Barba <giuseppe.barba@xxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 74f5683f35fe6feae33b96815c1d40f13468d614 Author: Giuseppe Barba <giuseppe.barba@xxxxxx> Date: Tue Jul 21 10:35:43 2015 +0200 iio: st_magn: Add irq trigger handling Add irq trigger handling for magnetometer also Signed-off-by: Giuseppe Barba <giuseppe.barba@xxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bb602f8c61e289389e7c2af1b577303a841f6d34 Author: Giuseppe Barba <giuseppe.barba@xxxxxx> Date: Tue Jul 21 10:35:42 2015 +0200 iio: st-sensors: add support for single full scale device Some sensors could have only one full scale value. This means that the sensor hasn't a full scale register. This commit add a check on the configured full scale address to support such kind of sensors. Signed-off-by: Giuseppe Barba <giuseppe.barba@xxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bc27381edbeb654d819b7e1464091c456a0d3e64 Author: Giuseppe Barba <giuseppe.barba@xxxxxx> Date: Tue Jul 21 10:35:41 2015 +0200 iio: st-sensors: add configuration for WhoAmI address This patch permits to configure the WhoAmI register address because some device could have not a standard address for this register. Signed-off-by: Giuseppe Barba <giuseppe.barba@xxxxxx> Reviewed-by: Denis Ciocca <denis.ciocca@xxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c176becd81843426eb8ab3b03aeeb19e387345fe Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Fri Jun 5 16:59:42 2015 +0300 iio: fix drivers that consider 0 as a valid IRQ in client->irq Since patch "i2c / ACPI: Use 0 to indicate that device does not have interrupt assigned" [1], 0 is not a valid i2c client irq anymore, so change all driver's checks accordingly. The same issue occurs when the device is instantiated via device tree with no IRQ, or from the i2c sysfs interface, even before the patch above. [1] http://lkml.kernel.org/g/<1430908148-201129-3-git-send-email-mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit debeb29792f9bbb6b72ea2fc82088dc0fd9ec224 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Thu Jul 23 13:18:06 2015 +0200 mm/Kconfig: NEED_BOUNCE_POOL: clean-up condition commit 106542e7987c ("fs: Remove ext3 filesystem driver") removed ext3 and JBD, hence remove the superfluous condition. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit c8962f4be4b47c2ff3b052c76007c6bbcb999c53 Author: Jan Kara <jack@xxxxxxxx> Date: Thu Jul 16 11:20:02 2015 +0200 ext4: Improve ext4 Kconfig test Now that ext4 driver must be used to access ext3 filesystems, improve the Kconfig help text to better explain that using ext4 driver to access the filesystem is fully compatible with the old ext3 driver. Acked-by: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit a3ad0a9da863fa554fc17fa8345a07adcdd27d3c Author: Jan Kara <jack@xxxxxxx> Date: Thu Jun 18 17:19:14 2015 +0200 block: Remove forced page bouncing under IO JBD layer wrote back data buffers without setting PageWriteback bit. Thus standard mechanism for guaranteeing stable pages under IO did not work. Since JBD is gone now and there is no other user of the functionality, just remove it. Acked-by: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit c290ea01abb7907fde602f3ba55905ef10a37477 Author: Jan Kara <jack@xxxxxxx> Date: Thu Jun 18 16:52:29 2015 +0200 fs: Remove ext3 filesystem driver The functionality of ext3 is fully supported by ext4 driver. Major distributions (SUSE, RedHat) already use ext4 driver to handle ext3 filesystems for quite some time. There is some ugliness in mm resulting from jbd cleaning buffers in a dirty page without cleaning page dirty bit and also support for buffer bouncing in the block layer when stable pages are required is there only because of jbd. So let's remove the ext3 driver. This saves us some 28k lines of duplicated code. Acked-by: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 82ff50b222d8ac645cdeba974c612c9eef01c3dd Author: Jan Kara <jack@xxxxxxxx> Date: Tue Jul 14 14:55:05 2015 +0200 doc: Update doc about journalling layer Documentation of journalling layer in Documentation/DocBook/filesystems.tmpl speaks about JBD layer. Since that is going away, update the documentation to speak about JBD2. Also update the parts that have changed since someone last touched the document and remove some parts which are just misleading and outdated. Signed-off-by: Jan Kara <jack@xxxxxxxx> commit acc84b05b1f463952a638689335ca47e70d5ea30 Author: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Date: Wed Jul 15 13:53:19 2015 -0500 jfs: Handle error from dquot_initialize() dquot_initialize() can now return error. Handle it where possible Slightly modified by Dave Kleikamp due to needed jfs_rename() error path fix. Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> commit 2e6c97ea4ce6a29941da46d03183c2c0e330fb2f Author: Jan Kara <jack@xxxxxxxx> Date: Tue Jul 14 13:51:55 2015 +0200 reiserfs: Handle error from dquot_initialize() dquot_initialize() can now return error. Handle it where possible. Signed-off-by: Jan Kara <jack@xxxxxxxx> commit 9c89fe0af826bfff36d8019ea6fd78db09b3c478 Author: Jan Kara <jack@xxxxxxxx> Date: Tue Jul 14 13:36:02 2015 +0200 ocfs2: Handle error from dquot_initialize() dquot_initialize() can now return error. Handle it where possible. Reviewed-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit a7cdadee0e89486ad072be7b91e477105784e0bb Author: Jan Kara <jack@xxxxxxxx> Date: Mon Jun 29 16:22:54 2015 +0200 ext4: Handle error from dquot_initialize() dquot_initialize() can now return error. Handle it where possible. Acked-by: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit c2edb305d6846ee8af7b5133845e23943d128e4c Author: Jan Kara <jack@xxxxxxxx> Date: Mon Jun 29 16:08:45 2015 +0200 ext2: Handle error from dquot_initalize() dquot_initialize() can now return error. Handle it where possible. Signed-off-by: Jan Kara <jack@xxxxxxxx> commit 6184fc0b8dd76c6aedc7a26e93254993e14e52de Author: Jan Kara <jack@xxxxxxx> Date: Wed Jun 24 18:07:02 2015 +0200 quota: Propagate error from ->acquire_dquot() Currently when some error happened in ->acquire_dquot(), dqget() just returned NULL. That was indistinguishable from a case when e.g. someone run quotaoff and so was generally silently ignored. However ->acquire_dquot() can fail because of ENOSPC or EIO in which case user should better know. So propagate error up from ->acquire_dquot properly. Signed-off-by: Jan Kara <jack@xxxxxxx> commit 2e5e8fd1ff9d802ab74df1ceaa5243da30491a45 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 23 12:20:27 2015 +0530 cpupower: Do not change the frequency of offline cpu Check if the cpu is online before changing the frequency/governor of the cpu. Reported-by: Pavaman Subramaniyam <pavsubra@xxxxxxxxxxxxxxxxxx> Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Acked-by: Thomas Renninger <trenn@xxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3e0452d27a784d50f09bec9de8ac673849b9e303 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Jul 17 22:53:26 2015 +0200 ARM: mediatek: Add regmap to mediatek Kconfig Mediatek SoC needs the regmap/syscon infrastructure. The infrastructure is used by the clock and pinctrl driver. This patch adds MD_SYSCON to Kconfig for all Mediatek devices. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit e26945245e414eff42ee1ffeaedf198911bf1d77 Author: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Date: Tue Jul 14 14:58:13 2015 +0800 arm64: dts: mediatek: add mt6795 support This adds basic chip support for MT6795 SoC Signed-off-by: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit afc257bc9ac9c2f9055c9f9829322b3ff7574165 Author: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Date: Tue Jul 14 14:58:12 2015 +0800 Document: DT: Add bindings for mediatek MT6795 SoC Platform This adds DT binding documentation for Mediatek MT6795. Signed-off-by: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 36e914cc4bb5d1842e7c8a2e2b9b4f2935771c14 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Jul 23 22:09:15 2015 +0530 ASoC: xtensa: Remove unnecessary snd_pcm_lib_preallocate_free_for_all() The ALSA core takes care that all preallocated memory is freed when the PCM itself is freed. There is no need to do this manually in the driver. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 213213d9d68e5fcb81a513a7d07ed6ee01294dea Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Jul 22 13:09:15 2015 +0800 ASoC: rl6231: add pll preset table Currently, rl6231_pll_calc provide a working PLL parameters for given freq_in and freq_out. However, in some cases it is not the perfect parameter. For example if freq_in = 19200000 and freq_out = 24576000, the calculated parameter will gengrate 24.5647 MHz which is not exactly the same as what we need. But the PLL can output 24.576 MHz as exactly what we expect if we set the best PLL parameter. To improve it, we put the best match parameters in a preset table. We can search the preset table first, if there is no preset parameter for the given freq_in and freq_out, we can still calculate a working PLL parameter. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d255b09555e8ea0e517a4d3368ec60097ac9cf96 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Tue Jul 21 23:53:56 2015 +0530 ASoC: Intel: Skylake: Add dsp and ipc init helpers This helper function will be used by the Skylake driver for dsp and ipc initialization if processing pipe capability is supported. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 473eb87adcf69204cd7e8fb5b0e4956edd6feae3 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Tue Jul 21 23:53:55 2015 +0530 ASoC: Intel: Skylake: Add NHLT support to get BE config The Non-HD Audio Endpoint Description table contains the link configuration information for the DSP. This is specific to Non HDA links only, like I2s and PDM Skylake driver will use NHLT table to retrieve the configuration based on the link type, format, channel and rate. This configuration is passed to DSP FW Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 310398f5e4618e9a0f6fd0c4b152401daf06c215 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:06 2015 +0200 ASoC: wm9713: Use core AC'97 reset helper Use the new snd_ac97_reset() helper and the reset functionality provided by snd_soc_new_ac97_codec() to perform the device reset rather than open-coding it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a575be4cbb951244f93342487c2537f729f2239d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:05 2015 +0200 ASoC: wm9712: Use core AC'97 reset helper Use the new snd_ac97_reset() helper and the reset functionality provided by snd_soc_new_ac97_codec() to perform the device reset rather than open-coding it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6e0b73a0a172f4d881092e388b3a3ad57ca80107 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:04 2015 +0200 ASoC: wm9705: Use core AC'97 reset helper Use the new snd_ac97_reset() helper and the reset functionality provided by snd_soc_new_ac97_codec() to perform the device reset rather than open-coding it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 017e800af9f91861dcd6e4fd8a29418de86fd884 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:03 2015 +0200 ASoC: stac9766: Use core reset helper Use the new snd_ac97_reset() helper and the reset functionality provided by snd_soc_new_ac97_codec() to perform the device reset rather than open-coding it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3ab3dbdfb91b70ef6bf4eb9b544bf54ff1dff51a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:02 2015 +0200 ASoC: ad1980: Use core AC'97 reset helper Use the new snd_ac97_reset() helper function to perform the reset and verify the device ID. Unfortunately the reset can't be done in snd_soc_new_ac97_codec() due to the special requirements in order to support the non-standard 16-bit slot mode of the ad1980. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7361fbeaeaab5282bbfc88f1f6fe4cf034f7623c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:01 2015 +0200 ASoC: ac97: Add support for resetting device before registration AC97 devices need to be initially reset before they can be used. Currently each driver does this on its own. Add support for resetting the device to core in snd_soc_new_ac97_codec(). If the caller supplies a device ID and device ID mask the function will reset the device and verify that it has the correct ID, if it does not a error is returned. This will allow to remove custom code with similar functionality from individual drivers. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f1d980ee9b6353f18765bfa6774a5a08d6cb944 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 21:53:00 2015 +0200 ALSA: ac97: Add helper function to reset the AC97 device There is currently a lot of code duplication in ASoC drivers regarding the reset handling of devices. This patch introduces a new generic reset function in the generic AC'97 framework that can be used to replace most the custom reset functions. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82805d1b3ee0d93d08fe8957f253642a6f778f9a Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:17 2015 +0100 MAINTAINERS: Add the LPC Clocksource to STi maintained driver list Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c74a06dce5f82ea4e94a552d486293667c905267 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:16 2015 +0100 rtc: bindings: Supply knowledge of a third supported device - clocksource Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 742e40978ff79cc92ba982a27a55b957226f9dbe Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:15 2015 +0100 rtc: st: Update IP layout information to include Clocksource Initial submission adding support for this IP only included Watchdog and the Real-Time Clock. Now the third (and final) device is enabled this trivial patch is required to update the comment in the RTC driver to encompass Clocksource. Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 82c32c0326dc758bdf202c82cb05594ba0dd0d2e Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:14 2015 +0100 watchdog: bindings: Supply knowledge of a third supported device - clocksource Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bea6356c12600b683de55a70e6a4c6cc36fa640f Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:12 2015 +0100 clocksource: bindings: Provide bindings for ST's LPC Clocksource device On current ST platforms the LPC controls a number of functions including Watchdog and Real Time Clock. This patch provides the bindings used to configure LPC in Clocksource mode. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ff45d8dd84dbb6e674e3757a07ef9471568c2e94 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:11 2015 +0100 clocksource: sti: Provide 'use timer as sched clock' capability Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 70bef01c0f1c9a55b54b625be3f82ff7ee1e8c05 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 26 13:39:43 2015 +0100 clocksource: sti: Provide support for the ST LPC Clocksource IP This IP is shared with Watchdog and RTC functionality. All 3 of these devices are mutually exclusive from one another i.e. Only 1 IP can be used at any given time. We use the device-driver model combined with a DT 'mode' property to enforce this. The ST LPC Clocksource IP can be used as the system (tick) timer. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9425e9d8c77dd9f40c5f199127a63be2e2b7c1f4 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 23:13:36 2015 +0800 ASoC: tas5086: Improve the logic for de-emphasis sampling rate selection Slightly improve the logic for de-emphasis sampling rate selection by break out the loop if the rate is matched. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 95f1044f5674b53f67e0933abff228c594792f4c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 22:56:04 2015 +0800 ASoC: tas2552: Fix off-by-one for max_register setting The latest valid register is TAS2552_VBAT_DATA. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Dan Murphy<dmurphy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f285f1610341af4181791938777e0affb5531278 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 23:32:04 2015 +0800 ASoC: rt5677: Remove NULL test for desc before gpiod_set_value_cansleep call It's safe to call gpiod_set_value_cansleep() with NULL desc. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dff22d2054b5dbb1889f20c03959dd0c494fab8c Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Thu Jul 9 11:59:16 2015 +0100 PCI: Call pci_read_bridge_bases() from core instead of arch code When we scan a PCI bus, we read PCI-PCI bridge window registers with pci_read_bridge_bases() so we can validate the resource hierarchy. Most architectures call pci_read_bridge_bases() from pcibios_fixup_bus(), but PCI-PCI bridges are not arch-specific, so this doesn't need to be in arch-specific code. Call pci_read_bridge_bases() directly from the PCI core instead of from arch code. For alpha and mips, we now call pci_read_bridge_bases() always; previously we only called it if PCI_PROBE_ONLY was set. [bhelgaas: changelog] Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx> CC: James E.J. Bottomley <jejb@xxxxxxxxxxxxxxxx> CC: Michael Ellerman <mpe@xxxxxxxxxxxxxx> CC: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Richard Henderson <rth@xxxxxxxxxxx> CC: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> CC: David Howells <dhowells@xxxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Tony Luck <tony.luck@xxxxxxxxx> CC: David S. Miller <davem@xxxxxxxxxxxxx> CC: Ingo Molnar <mingo@xxxxxxxxxx> CC: Guenter Roeck <linux@xxxxxxxxxxxx> CC: Michal Simek <monstr@xxxxxxxxx> CC: Chris Zankel <chris@xxxxxxxxxx> commit 9a0a8a8e852dabeda848baafac19627cb469d5e9 Author: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Date: Mon Jul 20 13:12:49 2015 +0200 Bluetooth: Move IRK checking logic in preparation to new connect method Move IRK checking logic in preparation to new connect method. Also make sure that MGMT_STATUS_INVALID_PARAMS is returned when non identity address is passed to ADD_DEVICE. Right now MGMT_STATUS_FAILED is returned, which might be misleading. Signed-off-by: Jakub Pawlowski <jpawlowski@xxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8757825b128e71319150219b0745d3ecb87f34aa Author: Seungyoun Ju <sy39.ju@xxxxxxxxxxx> Date: Mon Jul 13 17:28:13 2015 +0900 Bluetooth: hci_check_conn_params() check proper range Slave latency range has been changed in Core Spec. 4.2 by Erratum 5419 of ESR08_V1.0.0. And it should be applied to Core Spec. 4.0 and 4.1. Before: connSlaveLatency <= ((connSupervisionTimeout / connIntervalMax) - 1) After: connSlaveLatency <= ((connSupervisionTimeout / (connIntervalMax*2)) - 1) This patch makes hci_check_conn_params() check the allowable slave latency range using the changed way. Signed-off-by: Seungyoun Ju <sy39.ju@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit fc586c41117117baf22d1088dad3a771e51e35f7 Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 22:52:52 2015 +0800 net: ieee802154: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> Acked-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Acked-by: Alan Ott <alan@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e432c72c464d2deb6c66d1e2a5f548dc1f0ef4dc Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Tue Jun 23 17:59:39 2015 +0100 Bluetooth: __l2cap_wait_ack() add defensive timeout Add a timeout to prevent the do while loop running in an infinite loop. This ensures that the channel will be instructed to close within 10 seconds so prevents l2cap_sock_shutdown() getting stuck forever. Returns -ENOLINK when the timeout is reached. The channel will be subequently closed and not all data will be ACK'ed. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cb02a25583b59ce48267472cd092485d754964f9 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Tue Jun 23 17:59:38 2015 +0100 Bluetooth: __l2cap_wait_ack() use msecs_to_jiffies() Use msecs_to_jiffies() instead of using HZ so that it is easier to specify the time in milliseconds. Also add a #define L2CAP_WAIT_ACK_POLL_PERIOD to specify the 200ms polling period so that it is defined in a single place. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 451e4c6c6b3fd1a9f446a10eb9f6d4c2c476043c Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Tue Jun 23 17:59:37 2015 +0100 Bluetooth: Add BT_DBG to l2cap_sock_shutdown() Add helpful BT_DBG debug to l2cap_sock_shutdown() and __l2cap_wait_ack() so that the code flow can be analysed. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f65468f6e26c3bd05e642e10e80a485b99b7de05 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Tue Jun 23 17:59:33 2015 +0100 Bluetooth: Make __l2cap_wait_ack more efficient Use chan->state instead of chan->conn because waiting for ACK's is only possible in the BT_CONNECTED state. Also avoids reference to the conn structure so makes locking easier. Only call __l2cap_wait_ack() when the needed condition of chan->unacked_frames > 0 && chan->state == BT_CONNECTED is true and convert the while loop to a do while loop. __l2cap_wait_ack() change the function prototype to pass in the chan variable as chan is already available in the calling function l2cap_sock_shutdown(). Avoids locking issues. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2baea85dec1aebe0b100d4836dee8bcf29a51e94 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Tue Jun 23 17:59:32 2015 +0100 Bluetooth: L2CAP ERTM shutdown protect sk and chan During execution of l2cap_sock_shutdown() which might sleep, the sk and chan structures can be in an unlocked condition which potentially allows the structures to be freed by other running threads. Therefore, there is a possibility of a malfunction or memory reuse after being freed. Keep the sk and chan structures alive during the execution of l2cap_sock_shutdown() by using their respective hold and put functions. This allows the structures to be freeable at the end of l2cap_sock_shutdown(). Signed-off-by: Kautuk Consul <Kautuk_Consul@xxxxxxxxxx> Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d10270ce941ee89afd74076ea3ed8dbef8a0ff25 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Jul 7 10:50:43 2015 +0530 mac802154: fix ieee802154_rx handling Instead of passing ieee802154_hw pointer to ieee802154_rx, we can directly pass the ieee802154_local pointer. Signed-off-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 729a8989b3fa8ae7965c537dfccbd08512e84d3c Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Jul 7 10:50:42 2015 +0530 mac802154: do not export ieee802154_rx() Right now there are no other users for ieee802154_rx() in kernel. So lets remove EXPORT_SYMBOL() for this. Also it moves the function prototype from global header file to local header file. Signed-off-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f104f06c1b0c93a7c087609e6ab0005e359afab9 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Mon Jul 6 05:40:16 2015 +0000 Bluetooth: bt3c_cs: Fix coding style Remove semicolon in switch statement, reported by coccinelle Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7feb99e1308204e4d849dada3443bc410ce5026b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Jul 5 15:02:07 2015 +0200 Bluetooth: btintel: Create common function for Intel version info The Intel version information is shared between USB and UART drivers and with that move it into a generic function of the Intel module. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 09df123d2d128c52987f11c85397cdbc9ffc89c6 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Jul 5 14:55:36 2015 +0200 Bluetooth: btintel: Create common Intel Secure Send function The Intel Secure Send command is used the same in USB and UART drivers and with that move a generic version into the Intel module. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 35ab8150ee9df8c8a47a57617d7ccbd74cb45bcf Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Jul 5 14:37:40 2015 +0200 Bluetooth: hci_uart: Add Intel address configuration support The Intel specific Bluetooth module provides support for pubic address configuration. So make sure that it is enabled for Intel UART devices. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit eeb6abe97390c579d9ed9da27bd98fbf07c641ed Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Jul 5 14:37:39 2015 +0200 Bluetooth: btusb: Use hardware error handler from Intel module The Intel specific Bluetooth module provides now an exported function for the hardware error. Use that instead of duplicating it inside the driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 973bb97e5aee56edddaae3d5c96877101ad509c0 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Jul 5 14:37:38 2015 +0200 Bluetooth: btintel: Add generic function for handling hardware errors The handling of hardware error has support for providing a vendor specific callback to deal with the error. Move the Intel specific function out of the USB driver into the generic module so that it can also be utilized by the UART driver. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 20a7e25f4ee173785fded331d2af4b68b1ef5921 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Sun Jul 5 09:56:36 2015 +0000 Bluetooth: dtl1_cs: Fixed coding style Removed semicolon at end of switch statement,error reported by Coccinelle Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a03e33da5f1f10cc93bd5de140a131dac1db97f0 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Sun Jul 5 09:49:27 2015 +0000 Bluetooth: bfusb: Coding style fix reported by coccinelle Removed semicolon at the end of switch case statement Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ca93cee5a56e5199622bea8bff24c0a96e70c8f1 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Jul 1 12:20:26 2015 +0200 Bluetooth: hci_uart: Add basic support for Intel Lightning Peak devices The Intel Lightning Peak devices do not come with Bluetooth firmware loaded and thus require a full download of the operational Bluetooth firmware when the device is attached via the Bluetooth line discipline. Lightning Peak devices start with a bootloader mode that only accepts a very limited set of HCI commands. The supported commands are enough to identify the hardware and select the right firmware to load. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3cf24cf8c3c06f9a6cacc8fc2cad94661b6096b6 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Jun 24 11:36:36 2015 +0200 mac802154: cfg: add suspend and resume callbacks This patch introduces suspend and resume callbacks to mac802154. When doing suspend we calling the stop driver callback which should stop the receiving of frames. A transceiver should go into low-power mode then. Calling resume will call the start driver callback, which starts receiving again and allow to transmit frames. This was tested only with the fakelb driver and a qemu vm by doing the following commands: echo "devices" > /sys/power/pm_test echo "freeze" > /sys/power/state while doing some high traffic between two fakelb phys. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a6cb869b3b7c16fd7c3ee766dd9f9a4fdda7edf9 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Wed Jun 24 11:36:35 2015 +0200 cfg802154: add PM hooks This patch help to implement suspend/resume in mac802154, these hooks will be run before the device is suspended and after it resumes. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c4227c8a6246b30793bd7360113ddc7b66d526dc Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Jun 24 11:36:34 2015 +0200 mac802154: util: add stop_device utility function This patch adds ieee802154_stop_device for preparing a utility function to stop the ieee802154 device. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 927e031c7cb266e5f7fd600899f1603813ee7439 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Jun 23 16:03:44 2015 +0530 mac802154: remove unused macro This patch removes the unused macro which was removed with the rework of linux-wpan kernel. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8f451829dd97fb22f03844ca52a49828e2e1d666 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Tue Jun 23 11:41:03 2015 +0530 mac802154: use WARN_ON() macro This patch will generate the warning if the required driver ops were not defined. Also it removes unnecessary debug message. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 301d7d42a207e0d4f5bf11c7e2b6862ddebc8c36 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Jun 21 17:11:19 2015 +0200 6lowpan: add request for ipv6 module The iphc module depends on CONFIG_IPV6, because it's not very useful to build the module without IPv6 support. Recently an user reported about issues for setting an IPv6 address to a 6LoWPAN interface. The issues was solved by modprobe the ipv6 module before. To avoid such user issues we try to request the ipv6 module when the 6LoWPAN module is loaded. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d77b4852b4d3698a90eef219acf9cddc964b1f3a Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sun Jun 21 16:45:20 2015 +0200 mac802154: add llsec address update workaround This patch adds a workaround for using the new nl802154 netlink interface with the old ieee802154 netlink interface togehter. The nl802154 currently supports no access for llsec layer, currently there are users outside which are using both interfaces at the same time. This patch adds a necessary call when addresses are updated. Reported-by: Simon Vincent <simon.vincent@xxxxxxxxxx> Suggested-by: Phoebe Buckheister <phoebe.buckheister@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fac5e5b912bd1b42bad292e0b03956967229b45b Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Jun 19 08:46:15 2015 +0000 Bluetooth: dtl1_cs: Fix coding style -- clean up Braces {} are not necessary for single statement blocks reported by checkpatch Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8626e5eb6c33b78ba7a5eb7cfbc5109896f443ef Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 08:26:57 2015 +0800 ASoC: cs42l73: Fix mask for setting CS42L73_SP_3ST bit CS42L73_SP_3ST is BIT(7), so the mask field is wrong. Fix it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d5a78c8ea050e9c81db1e25a4916d8d9168dfb2e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 08:29:57 2015 +0800 ASoC: cs35l32: Remove unneeded NULL test for cs35l32->reset_gpio It's safe to call gpiod_set_value_cansleep() with NULL desc. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4c38b9c30f78d44c576ca3049577fbd4d5c2acc6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 23 08:28:50 2015 +0800 ASoC: cs35l32: Fix define for CS35L32_SDOUT_3ST According to the datasheet, the CS35L32_SDOUT_3ST is BIT(3). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0f41421256afdfcadf0ae2d8bf83ecb7ff3ac49e Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Jul 21 17:54:11 2015 -0400 PCI: designware: Don't complain missing *config* reg space if va_cfg0 is set Currently on Keystone SoCs, we always complain: keystone-pcie 21021000.pcie: missing *config* reg space Keystone uses an older version of DesignWare hardware that doesn't have ATU support. So va_cfg0_base and va_cfg1_base are already set up in ks_dw_pcie_host_init() before calling dw_pcie_host_init(), and they point to the remote config space address va (both same for Keystone). Add a check to avoid this boot noise on Keystone. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a70f0d027c83350ad46ca3e86e4c781bfed7fcc2 Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Wed Jul 22 18:23:26 2015 +0800 regulator: tps6586x: silence pointer-to-int-cast of_regulator_match.driver_data is (void *). tps6586x uses it to store an anonymous enum value (those TPS6586X_ID_ values). Later, it tries to extract the ID by casting directly to an int, which is a no-no ([-Wpointer-to-int-cast]): drivers/regulator/tps6586x-regulator.c: In function 'tps6586x_parse_regulator_dt': drivers/regulator/tps6586x-regulator.c:430:8: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] id = (int)tps6586x_matches[i].driver_data; ^ Instead of casting to int, uintptr_t is better suited for receiving and comparing integers extracted from void *. This is especially true on 64-bit systems where sizeof(void *) != sizeof(int). Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 808b27a5ae05e8828b9f6262af5b9dfae5f661d0 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Jul 21 17:35:19 2015 -0400 ARM/PCI: Set MPS before pci_bus_add_devices() The MPS configuration should be done *before* pci_bus_add_devices(). After pci_bus_add_devices(), drivers may be bound to devices, and the PCI core shouldn't touch device configuration while a driver owns the device. [bhelgaas: remove check for bus being non-NULL] Reported-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3b86616e3058462c340710dc7a5ac34ec8453944 Merge: 9a0cb98 8740a14 Author: Paul Walmsley <paul@xxxxxxxxx> Date: Thu Jul 23 08:49:57 2015 -0600 Merge branch 'prcm-a-for-v4.3' into hwmod-prcm-for-v4.3 commit e6ce712634ea038ce42bbb11932b692696756882 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Jul 23 11:06:16 2015 -0300 perf symbols: Introduce map__is_(kernel,kmodule)() To, with members we already have, check if a kernel level map is for the kernel proper or for a module. Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-m5ic7h0z2crmtj7vi1a1rj3b@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b685ac22b436455db9c9c16b384d7aa4531cdd80 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Jul 22 12:52:17 2015 -0300 perf symbols: Add front end cache for DSO symbol lookup Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-voo94tow8wpkcc76mlkny6sc@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3bbd14e0a2e3a988b1b5fe702a2539bd8d0ec622 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Jul 20 13:32:52 2015 +0200 netfilter: rename local nf_hook_list to hook_list 085db2c04557 ("netfilter: Per network namespace netfilter hooks.") introduced a new nf_hook_list that is global, so let's avoid this overlap. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 7181ebafd4306c9328fa1cd0ead69afa397ffe75 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Jul 20 09:31:25 2015 +0200 netfilter: fix possible removal of wrong hook nf_unregister_net_hook() uses the nf_hook_ops fields as tuple to look up for the corresponding hook in the list. However, we may have two hooks with exactly the same configuration. This shouldn't be a problem for nftables since every new chain has an unique priv field set, but this may still cause us problems in the future, so better address this problem now by keeping a reference to the original nf_hook_ops structure to make sure we delete the right hook from nf_unregister_net_hook(). Fixes: 085db2c04557 ("netfilter: Per network namespace netfilter hooks.") Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 2385eb0c5fbcb4316d3490b3affba8e15efc7eb8 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Jul 20 12:55:02 2015 +0200 netfilter: nf_queue: fix nf_queue_nf_hook_drop() This function reacquires the rtnl_lock() which is already held by nf_unregister_hook(). This can be triggered via: modprobe nf_conntrack_ipv4 && rmmod nf_conntrack_ipv4 [ 720.628746] INFO: task rmmod:3578 blocked for more than 120 seconds. [ 720.628749] Not tainted 4.2.0-rc2+ #113 [ 720.628752] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 720.628754] rmmod D ffff8800ca46fd58 0 3578 3571 0x00000080 [...] [ 720.628783] Call Trace: [ 720.628790] [<ffffffff8152ea0b>] schedule+0x6b/0x90 [ 720.628795] [<ffffffff8152ecb3>] schedule_preempt_disabled+0x13/0x20 [ 720.628799] [<ffffffff8152ff55>] mutex_lock_nested+0x1f5/0x380 [ 720.628803] [<ffffffff81462622>] ? rtnl_lock+0x12/0x20 [ 720.628807] [<ffffffff81462622>] ? rtnl_lock+0x12/0x20 [ 720.628812] [<ffffffff81462622>] rtnl_lock+0x12/0x20 [ 720.628817] [<ffffffff8148ab25>] nf_queue_nf_hook_drop+0x15/0x160 [ 720.628825] [<ffffffff81488d48>] nf_unregister_net_hook+0x168/0x190 [ 720.628831] [<ffffffff81488e24>] nf_unregister_hook+0x64/0x80 [ 720.628837] [<ffffffff81488e60>] nf_unregister_hooks+0x20/0x30 [...] Moreover, nf_unregister_net_hook() should only destroy the queue for this netns, not for every netns. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Fixes: 085db2c04557 ("netfilter: Per network namespace netfilter hooks.") Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 564bc402526e437729ecafe3c3511f7cab9f0327 Author: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> Date: Thu Jul 23 09:46:11 2015 -0400 ext4, jbd2: add REQ_FUA flag when recording an error in the superblock When an error condition is detected, an error status should be recorded into superblocks of EXT4 or JBD2. However, the write request is submitted now without REQ_FUA flag, even in "barrier=1" mode, which is followed by panic() function in "errors=panic" mode. On mobile devices which make whole system reset as soon as kernel panic occurs, this write request containing an error flag will disappear just from storage cache without written to the physical cells. Therefore, when next start, even forever, the error flag cannot be shown in both superblocks, and e2fsck cannot fix the filesystem problems automatically, unless e2fsck is executed in force checking mode. [ Changed use test_opt(sb, BARRIER) of checking the journal flags -- TYT ] Signed-off-by: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 41a1d04b9d2006fdac5cab7680cff89915610944 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Jun 4 16:24:02 2015 -0400 i40e: use BIT and BIT_ULL macros Use macros for abstracting (1 << foo) to BIT(foo) and (1ULL << foo64) to BIT_ULL(foo64) in order to match better with kernel requirements. NOTE: the adminq_cmd.h file was not modified on purpose because of the dependency upon firmware for that file. Change-ID: I73ee2e48c880d671948aad19bd53ca6b2ac558fc Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f1c7e72e3903910d7cc25ed8f45b9ef42b96037d Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jun 4 16:24:01 2015 -0400 i40e: clean up error status messages Clean up a little confusion in reporting error status in phy and fcoe setup error reports by separating the return status from the AQ error. Add two decoder functions to make this easier. Change-ID: I960bcdeef3978a15fec1cdb5eff781d5cbae42fb Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 606a5488a18788c374e797643678a3c82621bf59 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:24:00 2015 -0400 i40e: provide correct API version to older VF drivers This driver fully supports VF drivers using both the 1.0 and 1.1 versions of the virtual channel API. However, VF drivers using version 1.0 get upset if we provide them with a version other than that, and refuse to play with us. Correct this by checking the VFs API version at the time that we store it off, and provide the correct version number back to the VF so we can all get along. Change-ID: I86dfe02e67b2bef336b4b49a1bb072f3e7229abc Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ee1693e5a5ad6cfd701381a1d04cc1878bb90724 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:23:59 2015 -0400 i40evf: support virtual channel API version 1.1 Store off the PF's API version, then use it to determine whether or not to send it our capabilities. Change the version checking to allow for PF drivers with lower API versions than our current version, so we can still talk to PF drivers over the 1.0 API. Change-ID: I8edc55d1229c7decf0ed3f285a63032694007c2e Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e6d038de13c82f8446d9db5b3d9bb7788344b2bd Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:23:58 2015 -0400 i40evf: handle big resets The most common type of reset that the VF will encounter is a PF reset that cascades down into a VF reset for each VF. In this case, the VF will always be assigned the same VSI and recovery is fairly simple. However, in the case of 'bigger' resets, such as a Core or EMP reset, when the device is reinitialized, it's probable that the VF will NOT get the same VSI. When this happens, the VF will not be able to recover, as it will continue to request resources for its original VSI. Add an extra state to the admin queue state machine so that the driver can re-request its configuration information at runtime. During reset recovery, set this bit in the aq_required field, and fetch the (possibly new) configuration information before attempting to bring the driver back up. Since the driver doesn't know what kind of reset it has encountered, this step is done even for a PF reset, but it doesn't hurt anything - it just gets the same VSI back. Change-ID: I915d59ffb40375215117362f4ac7a37811aba748 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f4ca1a229535f1e7eb8253504c66e01e4623c278 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:23:57 2015 -0400 i40e: support virtual channel API 1.1 Store off the VF API version for use when figuring out the VF driver capabilities. Add support for the VF driver handing its capabilities to the PF driver and then use this information when sending VF resource information back to the VF driver. Change-ID: Ic00d0eeeb5b8118085e12f068ef857089a8f7c2d Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 17a65a7f8030c467193a6b774b6bbbbfc9d01f5c Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:23:56 2015 -0400 i40e/i40evf: add macros for virtual channel API version and device capability Now that we've rolled the virtual channel API version to 1.1, add some macros to test what version is being used by our partner in crime. For the VF, add some macros to determine what our device capabilities are. Change-ID: I79f6683d4c23bd76a8ad9fd492776fcc1208e1dc Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1b53c2fb43a0f03f7bb8a179d910e98a2fe68674 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jun 4 16:23:55 2015 -0400 i40e: add VF capabilities to virtual channel interface To prepare for the changes coming up in the X722 device and future devices, the virtual channel interface has to change slightly. The VF driver can now report what its capable of supporting, which then informs the PF driver when it sends the configuration information back to the VF. A 1.1 VF driver on a 1.0 PF driver should not send its capabilities. Likewise, a 1.1 PF driver controlling a 1.0 VF driver should not expect or depend upon receiving the VF capabilities. All other aspects of the API are unchanged. Change-ID: I530cc55f107edd1ee8bdf95830aa90b87854058a Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Acked-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Acked-by: Anjali Singhai <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3b104be39e4a9ed2c0f6be56ceed4235262369b6 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Jun 1 19:33:03 2015 +0000 i40e: clean up unneeded gotos With a little work we can clean up some unnecessary logic jumping and drop a variable. Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Cc: Laurent Navet <laurent.navet@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8740a1444ed3696c3418c2e90481e9528bad60fa Author: Keerthy <j-keerthy@xxxxxx> Date: Thu Jul 16 17:23:19 2015 +0530 ARM: PRM: AM437x: Enable IO wakeup feature Enable IO wakeup feature. This enables am437x pads to generate daisy chained wake ups(eventually generates aprcm Interrupt) especially when in low power modes. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit de32e3efd58e9e6754e911618ac7941979ceb6b1 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Wed Jun 10 13:42:07 2015 -0400 i40e/i40evf: Fix and refactor dynamic ITR code This patch changes the switch statement for dynamic interrupt throttling and adds a default case. With this patch, we check the latency setting instead of the current ITR settings and the included refactor improves performance. Without this patch, the ITR setting would never change dynamically, and there was no default. Change-ID: Idb5a8a14c7109ec47c90f6e94bd43baa17d7ee37 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6fb469023cd995d7be5ab3bf12b79387710382ff Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Wed May 20 15:40:20 2015 -0700 igb: bump version to igb-5.3.0 Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9fa0452b645efdff439948a5cf448b8e497340e9 Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Tue Jun 30 15:16:55 2015 -0700 igb: use ARRAY_SIZE to replace calculating sizeof(a)/sizeof(a[0]) Use the ARRAY_SIZE macro rather than calculating sizeof(a)/sizeof(a[0]). Also directly replace the code rather than using an unnecessary define. Reported-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit cc843711fdcf345fe46db6e2a9dbc0091f336746 Author: Keerthy <j-keerthy@xxxxxx> Date: Thu Jul 16 17:23:18 2015 +0530 ARM: OMAP4+: PRM: Add AM437x specific data The register offsets for some of the PRM Registers are different hence populating the differing fields. This is needed to support IO wake up feature for am437x family. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 8d4be7d8bf04f93cfb1512a078bd276efc270793 Author: Keerthy <j-keerthy@xxxxxx> Date: Wed Jul 8 11:12:26 2015 +0530 ARM: OMAP: PRM: Remove hardcoding of IRQENABLE_MPU_2 and IRQSTATUS_MPU_2 register offsets The register offsets of IRQENABLE_MPU_2 and IRQSTATUS_MPU_2 are hardcoded. This makes it difficult to reuse the code for SoCs like AM437x that have a single instance of IRQENABLE_MPU and IRQSTATUS_MPU registers. Hence handling the case using offset of 4 to accommodate single set of IRQ* registers generically. Signed-off-by: Keerthy <j-keerthy@xxxxxx> [paul@xxxxxxxxx: fixed whitespace alignment problems reported by checkpatch.pl] Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 0c5bbeb8839172990e3b8aa82ae3c166e85a09bc Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Thu Jun 4 14:26:56 2015 -0700 igb: report unsupported ethtool settings in set_coalesce There are many settings possible using ethtool -C/--coalesce, but not all of them are supported in igb. Report failure when an unsupported option is set. Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7faae96421870ed990b0a84797c6b2377e81d079 Author: Jia-Ju Bai <baijiaju1990@xxxxxxx> Date: Thu Jun 4 21:07:27 2015 +0800 e1000e: Cleanup qos request in error handling of e1000_open The driver lacks pm_qos_remove_request in error handling (err_req_irq) of e1000_open, and qos request inserted by pm_qos_add_request is not removed. This patch add pm_qos_remove_request in error handling to fix it. Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 488abb5c70c19fd37264101d2b6ebee507e1f265 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Tue Jul 21 11:07:25 2015 -0700 HID: wacom: Report touch width/height/orientation for GENERIC devices The HID_DG_WIDTH and HID_DG_HEIGHT usages report with width and height of contacts. From this information, a crude determination of orientation is also possible. This patch reports all three to userspace if a device reports this usage. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 1b5d514a3d24996ddbe7c75685af9dfdeff125b5 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Tue Jul 21 11:07:24 2015 -0700 HID: wacom: Ignore contacts in excess of declared contact count The reports sent from some touch devices (e.g. the Cintiq 24HDT) contain junk data in the contact slots which follow the final "valid" contact. To avoid forwarding it to usrspace, we store the reported contact count during the pre-process phase and then only process that many contacts. If a device sends its contacts across multiple reports (what Microsoft refers to as "hybrid" mode) then the contact count will be zero for reports other than the first. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 06324e0cb28e06cd7cf609d7c3099b12841a5dd6 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Tue Jul 21 11:07:23 2015 -0700 HID: wacom: Perform all event processing as part of report processing In some cases, we need access to information before it becomes available to the 'event' handler. In particular, for some devices we cannot properly process the finger data without first knowing the "contact count" at the very end of the report (e.g. the Cintiq 24HDT touch screen, when forced through the GENERIC codepath). Since the HID subsystem doesn't provide a way to take action before 'event' is called, we take a cue from hid-multitouch.c and add a pre-process step within the 'report' handler that performs the same function. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 9cba434f630a972b47327ae3d014445033166206 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Thu Apr 30 11:50:55 2015 -0700 ixgbevf: add support for reporting RSS key and hash table for X550 This patch extends the reporting of the RSS key and hash table by adding support for X550 VFs. The difference is that X550 VFs have their own registers for RSS key and indirection table, so there is no need to query the PF. The RSS key and indirection table are stored in the adapter structure during the configuration of VFRSSRK and VFRETA which in turn can be used in ethtool for reporting. The logic for writing VFRETA is also changed to make sure that the indirection table is reported correctly. In addition this patch adds defines for the VFRETA entries and number of VFRSSRK registers as well as some whitespace cleanups. Reported-by: Vlad Zolotarov <vladz@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6e487001c5b0939e6083327432565559d8aab6fc Author: Keerthy <j-keerthy@xxxxxx> Date: Mon Jun 22 11:52:53 2015 +0530 ARM: dts: AM4372: Add PRCM IRQ entry Add PRCM IRQ entry. This is needed for I/O wakeup support. Signed-off-by: Keerthy <j-keerthy@xxxxxx> [paul@xxxxxxxxx: added I/O wakeup note in commit description] Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 39db67a5ff5b29f5e55f129e9da0d77dc17f24e2 Author: Keerthy <j-keerthy@xxxxxx> Date: Wed Jul 8 11:12:24 2015 +0530 ARM: AM43xx: Add the PRM IRQ register offsets Add the PRM IRQ register offsets. This is needed to support PRM I/O wakeup on AM43xx. Signed-off-by: Keerthy <j-keerthy@xxxxxx> [paul@xxxxxxxxx: improved patch description, moved the PRM_IO_PMCTRL macro out of the CM section] Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit fac03f12f8d86f349a3b3992ae9d59a53bc250f6 Author: Keerthy <j-keerthy@xxxxxx> Date: Thu Jul 16 17:23:16 2015 +0530 ARM: OMAP4: PRM: Remove hardcoding of PRM_IO_PMCTRL_OFFSET register PRM_IO_PMCTRL_OFFSET need not be same for all SOCs hence remove hardcoding and use the value provided by the omap_prcm_irq_setup structure. This is done to support IO wakeup on am437x series. Signed-off-by: Keerthy <j-keerthy@xxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 6f2536141ce12e405d70f868451e706216e7e52d Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue May 12 13:58:09 2015 +0100 mfd: dt-bindings: Provide human readable define for Clocksource mode ST's Low Power Controller can now operate in three supported modes; Watchdog, Real Time Clock and most recently as a Clocksource. This new define will allow the LPC IP to be configured for Clocksource from DT. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 03952d98015326a07ae1cf7adb4c43265ec4058f Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:38 2015 -0400 crypto: nx - make platform drivers directly register with crypto Remove the common 'platform' registration module, and move the crypto compression driver registration into each of the pSeries and PowerNV platform NX 842 drivers. Change the nx-842.c code into simple common functions that each platform driver uses to perform constraints-based buffer changes, i.e. realigning and/or resizing buffers to match the driver's hardware requirements. The common 'platform' module was my mistake to create - since each platform driver will only load/operate when running on its own platform (i.e. a pSeries platform or a PowerNV platform), they can directly register with the crypto subsystem, using the same alg and driver name. This removes unneeded complexity. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 174d66d4725879b80f8af0bda2b218c2892a9ddb Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:37 2015 -0400 crypto: nx - rename nx-842-crypto.c to nx-842.c The last commit merged nx-842.c's code into nx-842-crypto.c. It did not rename nx-842-crypto.c to nx-842.c, in order to let the patch more clearly show what was merged. This just renames nx-842-crypto.c to nx-842.c, with no changes to its code. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d31581a6e31f1c954704f081376e19c2014c45d3 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:36 2015 -0400 crypto: nx - merge nx-compress and nx-compress-crypto Merge the nx-842.c code into nx-842-crypto.c. This allows later patches to remove the 'platform' driver, and instead allow each platform driver to directly register with the crypto compression api. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 20fc311fc0e14d9f5ef72cfe785fd2b3f6339ab8 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:35 2015 -0400 crypto: nx - use common code for both NX decompress success cases Replace the duplicated finishing code (set destination buffer length and set return code to 0) in the case of decompressing a buffer with no header with a goto to the success case of decompressing a buffer with a header. This is a trivial change that allows both success cases to use common code, and includes the pr_debug() msg in both cases as well. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ee781b7ff3d8ab93bf99b1c3e1f0a29dda2a63e5 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:34 2015 -0400 crypto: nx - don't register pSeries driver if ENODEV Don't register the pSeries driver when parsing the device tree returns ENODEV. The nx842_probe() function in the pSeries driver returns error instead of registering as a crypto compression driver, when it receives an error return value from the nx842_OF_upd() function that probes the device tree nodes, except when ENODEV is returned. However ENODEV should not be a special case and the driver should not register when there is no hw device, or the hw device is disabled. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7f6e3aad5ab31c310b36bf0edcd305305b20e2a8 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:33 2015 -0400 crypto: nx - move kzalloc() out of spinlock Move the kzalloc() calls in nx842_probe() and nx842_OF_upd() to the top of the functions, before taking the devdata spinlock. Since kzalloc() without GFP_ATOMIC can sleep, it can't be called while holding a spinlock. Move the calls to before taking the lock. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 90fd73f912f0897bc22351b55925a4962c045086 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:32 2015 -0400 crypto: nx - remove pSeries NX 'status' field Remove the 'status' field from the pSeries NX driver data. The 'status' field isn't used by the driver at all; it simply checks the devicetree status node at initialization, and returns success if 'okay' and failure otherwise. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 039af9675fd9ce2bc1d0b02b9cb10ca9fd7a5445 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Wed Jul 22 14:26:31 2015 -0400 crypto: nx - remove __init/__exit from VIO functions Remove the __init and __exit modifiers from the VIO driver probe and remove functions. The driver functions should not be marked __init/__exit because they can/will be called during runtime, not only at module init and exit. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8f5ea2df02fb0a50d81701e0c5dc8a5f00381147 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Tue Jul 21 22:07:47 2015 -0700 crypto: qat - Don't attempt to register algorithm multiple times When multiple devices are present in the system the driver attempts to register the same algorithm many times. Changes in v2: - use proper synchronization mechanizm between register and unregister Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 01c9348c7620ec650aaeb3ce339f614709b2fb5a Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Fri Jul 17 20:11:43 2015 +1000 powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_* The hardware RNG on POWER8 and POWER7+ can be relatively slow, since it can only supply one 64-bit value per microsecond. Currently we read it in arch_get_random_long(), but that slows down reading from /dev/urandom since the code in random.c calls arch_get_random_long() for every longword read from /dev/urandom. Since the hardware RNG supplies high-quality entropy on every read, it matches the semantics of arch_get_random_seed_long() better than those of arch_get_random_long(). Therefore this commit makes the code use the POWER8/7+ hardware RNG only for arch_get_random_seed_{long,int} and not for arch_get_random_{long,int}. This won't affect any other PowerPC-based platforms because none of them currently support a hardware RNG. To make it clear that the ppc_md function pointer is used for arch_get_random_seed_*, we rename it from get_random_long to get_random_seed. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1c2cb594441d02815d304cccec9742ff5c707495 Author: Thomas Huth <thuth@xxxxxxxxxx> Date: Fri Jul 17 12:46:58 2015 +0200 powerpc/rtas: Introduce rtas_get_sensor_fast() for IRQ handlers The EPOW interrupt handler uses rtas_get_sensor(), which in turn uses rtas_busy_delay() to wait for RTAS becoming ready in case it is necessary. But rtas_busy_delay() is annotated with might_sleep() and thus may not be used by interrupts handlers like the EPOW handler! This leads to the following BUG when CONFIG_DEBUG_ATOMIC_SLEEP is enabled: BUG: sleeping function called from invalid context at arch/powerpc/kernel/rtas.c:496 in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/1 CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.2.0-rc2-thuth #6 Call Trace: [c00000007ffe7b90] [c000000000807670] dump_stack+0xa0/0xdc (unreliable) [c00000007ffe7bc0] [c0000000000e1f14] ___might_sleep+0x134/0x180 [c00000007ffe7c20] [c00000000002aec0] rtas_busy_delay+0x30/0xd0 [c00000007ffe7c50] [c00000000002bde4] rtas_get_sensor+0x74/0xe0 [c00000007ffe7ce0] [c000000000083264] ras_epow_interrupt+0x44/0x450 [c00000007ffe7d90] [c000000000120260] handle_irq_event_percpu+0xa0/0x300 [c00000007ffe7e70] [c000000000120524] handle_irq_event+0x64/0xc0 [c00000007ffe7eb0] [c000000000124dbc] handle_fasteoi_irq+0xec/0x260 [c00000007ffe7ef0] [c00000000011f4f0] generic_handle_irq+0x50/0x80 [c00000007ffe7f20] [c000000000010f3c] __do_irq+0x8c/0x200 [c00000007ffe7f90] [c0000000000236cc] call_do_irq+0x14/0x24 [c00000007e6f39e0] [c000000000011144] do_IRQ+0x94/0x110 [c00000007e6f3a30] [c000000000002594] hardware_interrupt_common+0x114/0x180 Fix this issue by introducing a new rtas_get_sensor_fast() function that does not use rtas_busy_delay() - and thus can only be used for sensors that do not cause a BUSY condition - known as "fast" sensors. The EPOW sensor is defined to be "fast" in sPAPR - mpe. Fixes: 587f83e8dd50 ("powerpc/pseries: Use rtas_get_sensor in RAS code") Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> Reviewed-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 045a0fa0c5f5ea0f16c009f924ea579634afbba8 Author: Thomas Graf <tgraf@xxxxxxx> Date: Thu Jul 23 10:08:44 2015 +0200 ip_tunnel: Call ip_tunnel_core_init() from inet_init() Convert the module_init() to a invocation from inet_init() since ip_tunnel_core is part of the INET built-in. Fixes: 3093fbe7ff4 ("route: Per route IP tunnel metadata via lightweight tunnel") Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5e40ee287db61a79af1746954ee03ebbf1ff8a3 Merge: 0528318 c5dfd65 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 23 00:41:16 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/bridge/br_mdb.c br_mdb.c conflict was a function call being removed to fix a bug in 'net' but whose signature was changed in 'net-next'. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab4a936247561cd998913bab5f15e3d3eaed1f9e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jun 17 23:10:21 2015 +0200 pinctrl: nomadik: assure GPIO chips are populated If the pin controller probes before the GPIO driver it needs to populate the GPIO driver state containers ahead of the actual driver probe as the addresses are used by both halves of the driver. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6ca7d2e352545132923bfdfcd17a4ceee80f5ce9 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jun 17 16:05:47 2015 +0200 pinctrl: nomadik: find chip from local array Instead of indexing around the GPIO ranges to find a chip, look directly in the local array of state containers for nmk_gpio_chip:s. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bc222ef4f79fa0003ef5a0af8090372e3bd8a783 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jun 17 15:45:41 2015 +0200 pinctrl: nomadik: break out state container allocator Break out the function that allocates the nomadik GPIO chip state container to its own function. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5492830370171b6a4ede8a3bfba687a8d0f25fa5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Jul 10 13:32:13 2015 +0200 KVM: svm: handle KVM_X86_QUIRK_CD_NW_CLEARED in svm_get_mt_mask We can disable CD unconditionally when there is no assigned device. KVM now forces guest PAT to all-writeback in that case, so it makes sense to also force CR0.CD=0. When there are assigned devices, emulate cache-disabled operation through the page tables. This behavior is consistent with VMX microcode, where CD/NW are not touched by vmentry/vmexit. However, keep this dependent on the quirk because OVMF enables the caches too late. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5f3d45e7f2827f48e60eb821efd909713b43ac63 Author: Mihai DonÈ?u <mdontu@xxxxxxxxxxxxxxx> Date: Sun Jul 5 20:08:57 2015 +0300 kvm/x86: add support for MONITOR_TRAP_FLAG Allow a nested hypervisor to single step its guests. Signed-off-by: Mihai DonÈ?u <mihai.dontu@xxxxxxxxx> [Fix overlong line. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2ce7918990641b07e70e1b25752d666369e2016e Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Jul 3 15:01:41 2015 +0300 kvm/x86: add sending hyper-v crash notification to user space Sending of notification is done by exiting vcpu to user space if KVM_REQ_HV_CRASH is enabled for vcpu. At exit to user space the kvm_run structure contains system_event with type KVM_SYSTEM_EVENT_CRASH to notify about guest crash occurred. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> Reviewed-by: Peter Hornyack <peterhornyack@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e7d9513b60e87f62e41090fa3a26eca796924346 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Jul 3 15:01:37 2015 +0300 kvm/x86: added hyper-v crash msrs into kvm hyperv context Added kvm Hyper-V context hv crash variables as storage of Hyper-V crash msrs. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> Reviewed-by: Peter Hornyack <peterhornyack@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ee86dbc6e327062396748162b95309388c19faab Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Jul 3 15:01:35 2015 +0300 kvm: introduce vcpu_debug = kvm_debug + vcpu context vcpu_debug is useful macro like kvm_debug but additionally includes vcpu context inside output. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> Reviewed-by: Peter Hornyack <peterhornyack@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e83d58874ba1de74c13d3c6b05f95a023c860d25 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Jul 3 15:01:34 2015 +0300 kvm/x86: move Hyper-V MSR's/hypercall code into hyperv.c file This patch introduce Hyper-V related source code file - hyperv.c and per vm and per vcpu hyperv context structures. All Hyper-V MSR's and hypercall code moved into hyperv.c. All Hyper-V kvm/vcpu fields moved into appropriate hyperv context structures. Copyrights and authors information copied from x86.c to hyperv.c. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> Reviewed-by: Peter Hornyack <peterhornyack@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9ef03193a93553885b43731c47d3b6ae90e677c4 Author: Thomas Huth <thuth@xxxxxxxxxx> Date: Wed Jul 22 18:56:47 2015 +0200 powerpc/rtas: Replace magic values with defines rtas.h already has some nice #defines for RTAS return status codes - let's use them instead of hard-coded "magic" values! Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> Reviewed-by: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f9eb4af67c9dde195bae965a86c35c35402249c0 Author: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Date: Fri Apr 17 02:22:21 2015 +0000 KVM: nVMX: VMX instructions: add checks for #GP/#SS exceptions According to Intel SDM several checks must be applied for memory operands of VMX instructions. Long mode: #GP(0) or #SS(0) depending on the segment must be thrown if the memory address is in a non-canonical form. Protected mode, checks in chronological order: - The segment type must be checked with access type (read or write) taken into account. For write access: #GP(0) must be generated if the destination operand is located in a read-only data segment or any code segment. For read access: #GP(0) must be generated if if the source operand is located in an execute-only code segment. - Usability of the segment must be checked. #GP(0) or #SS(0) depending on the segment must be thrown if the segment is unusable. - Limit check. #GP(0) or #SS(0) depending on the segment must be thrown if the memory operand effective address is outside the segment limit. Signed-off-by: Eugene Korenevsky <ekorenevsky@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2303553f3f32cb508c7818ebfda78a13d3c10d37 Author: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Date: Thu Jul 23 07:00:10 2015 +0200 ARM: dts: Use stdout-path in STM32F429 Discovery board This patch replaces use of linux,stdout-path by stdout-path as per "chosen" DT bindings documentation. Doing that, the "console" argument is no more needed in kernel command line. Reported-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> commit 83722c2c7e929ed0d6556b16c71d45de279b0945 Author: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Date: Sun Jul 12 11:27:36 2015 +0200 ARM: dts: Add STM32429i-EVAL board support Main features of STM32429i-EVAL evaluation kit are: - STM32F429 Cortex-M4 MCU @180MHz * 2MB internal Flash * 256KB internal RAM - 32MB SDRAM - 16MB NOR Flash - 2MB SRAM - 4.3" TFT LCD with resistive touchscreen - SDCard connector (SDIO compatible) - 1x USB 2.0 OTG + 1x USB 1.1 OTG - Ethernet Signed-off-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> commit ab7435982254d26cbc9af225065e0a6a94566269 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:58 2015 +0200 staging: rtl8192e: Rename init_hal_dm Use naming schema found in other rtlwifi devices. Rename init_hal_dm to rtl92e_dm_init. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8216b690d52f3cde4ab94c05f8772d0acdab57d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:57 2015 +0200 staging: rtl8192e: Rename init_firmware Use naming schema found in other rtlwifi devices. Rename init_firmware to rtl92e_init_fw. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d66e938e1b5b40dc0d9f8f47d66f737e386b44ee Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:56 2015 +0200 staging: rtl8192e: Rename rtllib_ips_leave_wq Use naming schema found in other rtlwifi devices. Rename rtllib_ips_leave_wq to rtl92e_rtllib_ips_leave_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf135a16c5babbf51674431c7c7f73761c846f43 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:55 2015 +0200 staging: rtl8192e: Rename rtllib_ips_leave Use naming schema found in other rtlwifi devices. Rename rtllib_ips_leave to rtl92e_rtllib_ips_leave. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c34b29f7c8dcaabc42eae8b4ce81a8ec82d9d1f9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:54 2015 +0200 staging: rtl8192e: Rename rtl8192_hw_wakeup_wq Use naming schema found in other rtlwifi devices. Rename rtl8192_hw_wakeup_wq to rtl92e_hw_wakeup_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43bcb3b4c78585a9cd7741b49e272fae989074ba Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:53 2015 +0200 staging: rtl8192e: Rename rtl8192_hw_wakeup Use naming schema found in other rtlwifi devices. Rename rtl8192_hw_wakeup to rtl92e_hw_wakeup. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit feb257e5f9982821dcafe7f190d810a418cd2076 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:52 2015 +0200 staging: rtl8192e: Rename rtl8192_hw_to_sleep Use naming schema found in other rtlwifi devices. Rename rtl8192_hw_to_sleep to rtl92e_enter_sleep. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcdcc1ea06be6851c5dfd885e9ac3b1388bbd36b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:51 2015 +0200 staging: rtl8192e: Rename rtl8192_hw_sleep_wq Use naming schema found in other rtlwifi devices. Rename rtl8192_hw_sleep_wq to rtl92e_hw_sleep_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c4a55d1dac3cd17aad9944f1647e2ade5a6345f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:50 2015 +0200 staging: rtl8192e: Rename LeisurePSLeave Use naming schema found in other rtlwifi devices. Rename LeisurePSLeave to rtl92e_leisure_ps_leave. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04197ef2bdfbb334de18a5d5f105acb71eef1db5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:49 2015 +0200 staging: rtl8192e: Rename LeisurePSEnter Use naming schema found in other rtlwifi devices. Rename LeisurePSEnter to rtl92e_leisure_ps_enter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a514c798ee57d82d8332b0315dba00c6e4cb0c3e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:48 2015 +0200 staging: rtl8192e: Rename IPSLeave_wq Use naming schema found in other rtlwifi devices. Rename IPSLeave_wq to rtl92e_ips_leave_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ab2aba29e1d28ecb1a211f3edbce6d65e92e05c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:33:47 2015 +0200 staging: rtl8192e: Rename IPSLeave Use naming schema found in other rtlwifi devices. Rename IPSLeave to rtl92e_ips_leave. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 410d6fc983a61dec4a514b3426e8368b2fd3fd17 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:43 2015 +0200 staging: rtl8192e: Rename IPSEnter Use naming schema found in other rtlwifi devices. Rename IPSEnter to rtl92e_ips_enter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3683dc1f08f81ce69d5f405bf78c55775996dcf4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:42 2015 +0200 staging: rtl8192e: Rename rtl8192E_suspend Use naming schema found in other rtlwifi devices. Rename rtl8192E_suspend to rtl92e_suspend. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ba6623df9e2d349586b592b809e26b12d3da416 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:41 2015 +0200 staging: rtl8192e: Rename rtl8192E_resume Use naming schema found in other rtlwifi devices. Rename rtl8192E_resume to rtl92e_resume. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e250592ed93a12eecc42ed590f5a8245a20ab994 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:40 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_findadapter Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_findadapter to rtl92e_check_adapter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68cb7b7a5918114cf9712d2bb5dc8aad7300dd58 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:39 2015 +0200 staging: rtl8192e: Rename eprom_read Use naming schema found in other rtlwifi devices. Rename eprom_read to rtl92e_eeprom_read. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e3ba83a4996721b44c9cb2bcebad4e12d072416 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:38 2015 +0200 staging: rtl8192e: Rename init_rate_adaptive Use naming schema found in other rtlwifi devices. Rename init_rate_adaptive to rtl92e_init_adaptive_rate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e1e64bb66c5236153255a4ec2de77f21569c537 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:37 2015 +0200 staging: rtl8192e: Rename hal_dm_watchdog Use naming schema found in other rtlwifi devices. Rename hal_dm_watchdog to rtl92e_dm_watchdog. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33059f5435ea4a172dc61c8f09c09ee06e5f14d7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:36 2015 +0200 staging: rtl8192e: Rename dm_txpower_trackingcallback Use naming schema found in other rtlwifi devices. Rename dm_txpower_trackingcallback to rtl92e_dm_txpower_tracking_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cd4db70c6f8748c868dac83bad49426d5e31486 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:35 2015 +0200 staging: rtl8192e: Rename dm_rf_pathcheck_workitemcallback Use naming schema found in other rtlwifi devices. Rename dm_rf_pathcheck_workitemcallback to rtl92e_dm_rf_pathcheck_wq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25c01ec36eafb4096edaae0607b0dc7e4762cb38 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:34 2015 +0200 staging: rtl8192e: Rename dm_restore_dynamic_mechanism_state Use naming schema found in other rtlwifi devices. Rename dm_restore_dynamic_mechanism_state to rtl92e_dm_restore_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a9f18cfeda0b73d2fafdab6eb1c4457ddd34b76 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:33 2015 +0200 staging: rtl8192e: Rename dm_initialize_txpower_tracking Use naming schema found in other rtlwifi devices. Rename dm_initialize_txpower_tracking to rtl92e_dm_init_txpower_tracking. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7842c2d58d4dc8b5e96d87aa61d619bd6f094ca7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:32 2015 +0200 staging: rtl8192e: Rename dm_init_edca_turbo Use naming schema found in other rtlwifi devices. Rename dm_init_edca_turbo to rtl92e_dm_init_edca_turbo. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59e84dc363bfaa675db8da94113d3250170ebb70 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:31 2015 +0200 staging: rtl8192e: Rename dm_cck_txpower_adjust Use naming schema found in other rtlwifi devices. Rename dm_cck_txpower_adjust to rtl92e_dm_cck_txpower_adjust. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 090e8a4d99339f66971b9e2b3b13a62fa115b1d0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:30 2015 +0200 staging: rtl8192e: Rename dm_backup_dynamic_mechanism_state Use naming schema found in other rtlwifi devices. Rename dm_backup_dynamic_mechanism_state to rtl92e_dm_backup_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd9e3171844891b510adf125d820a91d212f359c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:29 2015 +0200 staging: rtl8192e: Rename deinit_hal_dm Use naming schema found in other rtlwifi devices. Rename deinit_hal_dm to rtl92e_dm_deinit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6dee0c884a24074ad9de3150e6c527bb4a148277 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:28 2015 +0200 staging: rtl8192e: Rename write_nic_word Use naming schema found in other rtlwifi devices. Rename write_nic_word to rtl92e_writew. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ea541001bf7b0a2bbffa447ccfa834354c9f1dc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:27 2015 +0200 staging: rtl8192e: Rename write_nic_dword Use naming schema found in other rtlwifi devices. Rename write_nic_dword to rtl92e_writel. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8ae1967694aca45edf9a9d559aa904c433b4bbe Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:26 2015 +0200 staging: rtl8192e: Rename write_nic_byte Use naming schema found in other rtlwifi devices. Rename write_nic_byte to rtl92e_writeb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97ef450b860065fe3b7c657382af889c6ed00c79 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:25 2015 +0200 staging: rtl8192e: Rename rtl819x_update_rxsignalstatistics8190pci Use naming schema found in other rtlwifi devices. Rename rtl819x_update_rxsignalstatistics8190pci to rtl92e_update_rx_statistics. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7879efc5a6a072eb27c14a74b45676a5cdfd26a1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:24 2015 +0200 staging: rtl8192e: Rename rtl819x_UpdateRxPktTimeStamp Use naming schema found in other rtlwifi devices. Rename rtl819x_UpdateRxPktTimeStamp to rtl92e_update_rx_pkt_timestamp. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f54f10bfa1617feb7aaaad61ddc8e9afb50a87e4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:23 2015 +0200 staging: rtl8192e: Rename rtl819x_translate_todbm Use naming schema found in other rtlwifi devices. Rename rtl819x_translate_todbm to rtl92e_translate_to_dbm. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa804031831cfcff16811717bd46c1c6deee168a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:22 2015 +0200 staging: rtl8192e: Rename rtl819x_query_rxpwrpercentage Use naming schema found in other rtlwifi devices. Rename rtl819x_query_rxpwrpercentage to rtl92e_rx_db_to_percent. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b89d0e7ceb733501e7203ca52ed9e294bd46a0d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:21 2015 +0200 staging: rtl8192e: Rename rtl819x_evm_dbtopercentage Use naming schema found in other rtlwifi devices. Rename rtl819x_evm_dbtopercentage to rtl92e_evm_db_to_percent. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94199b35ff28093bb94f26a7a668e33becec092d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:20 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_enable Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_enable to rtl92e_tx_enable. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35bf848f0662a923416d1e92120067d555f5706a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:19 2015 +0200 staging: rtl8192e: Rename rtl8192_SetWirelessMode Use naming schema found in other rtlwifi devices. Rename rtl8192_SetWirelessMode to rtl92e_set_wireless_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 630268b75726785b9709b47afb10bcaed4fa0e35 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:18 2015 +0200 staging: rtl8192e: Rename rtl8192_rx_enable Use naming schema found in other rtlwifi devices. Rename rtl8192_rx_enable to rtl92e_rx_enable. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e58701dae05c041d443178a3a78bed9438cc21e7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:17 2015 +0200 staging: rtl8192e: Rename rtl8192_record_rxdesc_forlateruse Use naming schema found in other rtlwifi devices. Rename rtl8192_record_rxdesc_forlateruse to rtl92e_copy_mpdu_stats. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36154dc3deea461eec4c8428336387192fe6e2ce Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:16 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_resetdescring Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_resetdescring to rtl92e_reset_desc_ring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b74299cde425f0b20c37fa6dfed2ecdf0c8853b2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:15 2015 +0200 staging: rtl8192e: Rename rtl8192_irq_enable Use naming schema found in other rtlwifi devices. Rename rtl8192_irq_enable to rtl92e_irq_enable. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7b50d654c47eaf86711465aed3cd6888efbe204 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:14 2015 +0200 staging: rtl8192e: Rename rtl8192_irq_disable Use naming schema found in other rtlwifi devices. Rename rtl8192_irq_disable to rtl92e_irq_disable. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 122fe9f1dfa2aeacceda2d32a8e496168744c3de Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:13 2015 +0200 staging: rtl8192e: Rename rtl8192_config_rate Use naming schema found in other rtlwifi devices. Rename rtl8192_config_rate to rtl92e_config_rate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc4f2cc90d214e81bb75c5b63a8c919779f32a6a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:12 2015 +0200 staging: rtl8192e: Rename rtl8192_commit Use naming schema found in other rtlwifi devices. Rename rtl8192_commit to rtl92e_commit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c0a7c0e622a94eeb2da1d249757753f903eb79b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:11 2015 +0200 staging: rtl8192e: Rename read_nic_word Use naming schema found in other rtlwifi devices. Rename read_nic_word to rtl92e_readw. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99aa47e0752ed05cd9cfb653fee33ecc5566b876 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:10 2015 +0200 staging: rtl8192e: Rename read_nic_dword Use naming schema found in other rtlwifi devices. Rename read_nic_dword to rtl92e_readl. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b59a4ca3d4421866cc7f49135ab6f7b7c84fdb48 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:09 2015 +0200 staging: rtl8192e: Rename read_nic_byte Use naming schema found in other rtlwifi devices. Rename read_nic_byte to rtl92e_readb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 502bd1d7c35fad9ab3806f2b6597fa92a2f6c132 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:08 2015 +0200 staging: rtl8192e: Rename NicIFEnableNIC Use naming schema found in other rtlwifi devices. Rename NicIFEnableNIC to rtl92e_enable_nic. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af002dc63731fb8f31bdac5b53af80bec4a3f776 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:07 2015 +0200 staging: rtl8192e: Rename NicIFDisableNIC Use naming schema found in other rtlwifi devices. Rename NicIFDisableNIC to rtl92e_disable_nic. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f434f9d5c60825f3a426a9ac5c5222b0eab8c82d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:06 2015 +0200 staging: rtl8192e: Rename MgntActSet_RF_State Use naming schema found in other rtlwifi devices. Rename MgntActSet_RF_State to rtl92e_set_rf_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a643d927c2ec9210d07b8e9aa20d598675dc2aef Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:05 2015 +0200 staging: rtl8192e: Rename check_rfctrl_gpio_timer Use naming schema found in other rtlwifi devices. Rename check_rfctrl_gpio_timer to rtl92e_check_rfctrl_gpio_timer. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aae7e72e1d4dce958f5ba26c7037546bd846a89d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:04 2015 +0200 staging: rtl8192e: Rename set_swcam Use naming schema found in other rtlwifi devices. Rename set_swcam to rtl92e_set_swcam. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 408bd7b7b244c23a78deb41cadbeb070c794da94 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:03 2015 +0200 staging: rtl8192e: Rename setKey Use naming schema found in other rtlwifi devices. Rename setKey to rtl92e_set_key. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3742093268faec364254966286b69fa4801bbc01 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:02 2015 +0200 staging: rtl8192e: Rename EnableHWSecurityConfig8192 Use naming schema found in other rtlwifi devices. Rename EnableHWSecurityConfig8192 to rtl92e_enable_hw_security_config. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66497f0223cb23b572e360d32ad5473f618c5e57 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:01 2015 +0200 staging: rtl8192e: Rename CamRestoreAllEntry Use naming schema found in other rtlwifi devices. Rename CamRestoreAllEntry to rtl92e_cam_restore. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 358e4ee166b7c7d7550c46b57000cd628c9001de Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:28:00 2015 +0200 staging: rtl8192e: Rename CamResetAllEntry Use naming schema found in other rtlwifi devices. Rename CamResetAllEntry to rtl92e_cam_reset. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad8d51615c61cbb257cedfe86b11d13b8c9a08a4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:59 2015 +0200 staging: rtl8192e: Rename SetRFPowerState Use naming schema found in other rtlwifi devices. Rename SetRFPowerState to rtl92e_set_rf_power_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae924acdaedd0b17b9dc29a3e61814d9cc98fdb0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:58 2015 +0200 staging: rtl8192e: Rename rtl8192_SetBWMode Use naming schema found in other rtlwifi devices. Rename rtl8192_SetBWMode to rtl92e_set_bw_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 153f9ddbe97828e9cb3428bc6698da49deb3c574 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:57 2015 +0200 staging: rtl8192e: Rename rtl8192_setBBreg Use naming schema found in other rtlwifi devices. Rename rtl8192_setBBreg to rtl92e_set_bb_reg. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c351feca929e142574b1f904a42475e4056de45 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:56 2015 +0200 staging: rtl8192e: Rename rtl8192_QueryBBReg Use naming schema found in other rtlwifi devices. Rename rtl8192_QueryBBReg to rtl92e_get_bb_reg. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68a5143c812d13d6a30c5863511cb2ee92635123 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:55 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_SwChnl Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_SwChnl to rtl92e_set_channel. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5aa1b9cad7a352e2e4a72f553689fe03c629f65c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:54 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_setTxPower Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_setTxPower to rtl92e_set_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0e044feec65d1f71956672ea2b7a1ea5e6d2ec6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:53 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_SetRFReg Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_SetRFReg to rtl92e_set_rf_reg. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31aebbe2226cdcb17ee9cd9ed6f66c072604f8d9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:52 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_RFConfig Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_RFConfig to rtl92e_config_phy. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d415decee9229b09fa6c800f5e2b00bf6c8988e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:51 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_QueryRFReg Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_QueryRFReg to rtl92e_get_rf_reg. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78cc16fa40f731ff1eef2ea9806d70afdf8220c7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:50 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_getTxPower Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_getTxPower to rtl92e_get_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2504c113d85d2679993ffa00bdf5e1a087409b0c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:49 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_ConfigRFWithHeaderFile Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_ConfigRFWithHeaderFile to rtl92e_config_rf_path. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0efe7104ea2a1e50947fd6272d6efb2c8911fc31 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:48 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_configmac Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_configmac to rtl92e_config_mac. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5948d1feb7b98d557967760e4dc0b4a253b6e5e3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:47 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_CheckIsLegalRFPath Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_CheckIsLegalRFPath to rtl92e_is_legal_rf_path. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e21d14d805bb77b83c100c2df3209909febd379d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:46 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_checkBBAndRF Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_checkBBAndRF to rtl92e_check_bb_and_rf. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2949353dde018594063d20b6dc38cc86b1846729 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:45 2015 +0200 staging: rtl8192e: Rename rtl8192_BBConfig Use naming schema found in other rtlwifi devices. Rename rtl8192_BBConfig to rtl92e_config_bb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3803cb215ba6933ca461598ff5ba9a2d629e1d84 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:44 2015 +0200 staging: rtl8192e: Rename PHY_SetRtl8192eRfOff Use naming schema found in other rtlwifi devices. Rename PHY_SetRtl8192eRfOff to rtl92e_set_rf_off. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a44c6e6731d32e0a6efd3f2ddfbc81e4936d8b6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:43 2015 +0200 staging: rtl8192e: Rename PHY_ScanOperationBackup8192 Use naming schema found in other rtlwifi devices. Rename PHY_ScanOperationBackup8192 to rtl92e_scan_op_backup. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfb7a12773fb81ef0b15bc8f33297fbd6586fd0c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:42 2015 +0200 staging: rtl8192e: Rename InitialGain819xPci Use naming schema found in other rtlwifi devices. Rename InitialGain819xPci to rtl92e_init_gain. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16362f45166d027d2b488314aa2e99acf6073f30 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:41 2015 +0200 staging: rtl8192e: Rename firmware_init_param Use naming schema found in other rtlwifi devices. Rename firmware_init_param to rtl92e_init_fw_param. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 575d48c57532465cc0a2c34ebb6ebccdaf1be783 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:40 2015 +0200 staging: rtl8192e: Rename rtl8192_update_ratr_table Use naming schema found in other rtlwifi devices. Rename rtl8192_update_ratr_table to rtl92e_update_ratr_table. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 072b3948d473f8c4602b8aa51cec54bcbd0ecddb Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:39 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_fill_desc Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_fill_desc to rtl92e_fill_tx_desc. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63b544a17c63c0d79cd1e5f1bde1e1df06c1d761 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:38 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_fill_cmd_desc Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_fill_cmd_desc to rtl92e_fill_tx_cmd_desc. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7897285ceb2864b2073fa3c0526d54187b38a2ec Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:37 2015 +0200 staging: rtl8192e: Rename rtl8192_rx_query_status_desc Use naming schema found in other rtlwifi devices. Rename rtl8192_rx_query_status_desc to rtl92e_get_rx_stats. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b974b289c4cb8a63b92749ec0c32094609ea571c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:36 2015 +0200 staging: rtl8192e: Rename rtl8192_link_change Use naming schema found in other rtlwifi devices. Rename rtl8192_link_change to rtl92e_link_change. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a57165d15dae6fc6a3fb6b8d9d15075816bfbbd3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:35 2015 +0200 staging: rtl8192e: Rename rtl8192_interrupt_recognized Use naming schema found in other rtlwifi devices. Rename rtl8192_interrupt_recognized to rtl92e_ack_irq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df85a1313fee7d15db8100cd9a681d484c0c0b7b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:34 2015 +0200 staging: rtl8192e: Rename rtl8192_InitializeVariables Use naming schema found in other rtlwifi devices. Rename rtl8192_InitializeVariables to rtl92e_init_variables. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9cf5e78f3b28e9a1358951a37f2bd844d46641f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:33 2015 +0200 staging: rtl8192e: Rename rtl8192_HalTxCheckStuck Use naming schema found in other rtlwifi devices. Rename rtl8192_HalTxCheckStuck to rtl92e_is_tx_stuck. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe99c77b44e41c64c65ca2d558b26311ae4e6bf3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:32 2015 +0200 staging: rtl8192e: Rename rtl8192_halt_adapter Use naming schema found in other rtlwifi devices. Rename rtl8192_halt_adapter to rtl92e_stop_adapter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d73bd2636f51aee9c541b2294518af11d5396e4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:31 2015 +0200 staging: rtl8192e: Rename rtl8192_HalRxCheckStuck Use naming schema found in other rtlwifi devices. Rename rtl8192_HalRxCheckStuck to rtl92e_is_rx_stuck. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56a5b5af61ac1d55cc3e0b19557e0c774338cf44 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:30 2015 +0200 staging: rtl8192e: Rename rtl8192_GetNmodeSupportBySecCfg Use naming schema found in other rtlwifi devices. Rename rtl8192_GetNmodeSupportBySecCfg to rtl92e_get_nmode_support_by_sec. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86534a29bb68273a98b1e1c739ea58bf9a93e64a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:29 2015 +0200 staging: rtl8192e: Rename rtl8192_GetHalfNmodeSupportByAPs Use naming schema found in other rtlwifi devices. Rename rtl8192_GetHalfNmodeSupportByAPs to rtl92e_is_halfn_supported_by_ap. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b095be37004f91f6eecb70cd62da6cc2c2483b87 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:28 2015 +0200 staging: rtl8192e: Rename rtl8192_get_eeprom_size Use naming schema found in other rtlwifi devices. Rename rtl8192_get_eeprom_size to rtl92e_get_eeprom_size. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89d4a8be6294b8ab7ef218034f5b52f045b31876 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:27 2015 +0200 staging: rtl8192e: Rename rtl8192e_start_beacon Use naming schema found in other rtlwifi devices. Rename rtl8192e_start_beacon to rtl92e_start_beacon. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61fea239c818631d6f8252c00ffdde60e92c3ad0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:26 2015 +0200 staging: rtl8192e: Rename rtl8192e_SetHwReg Use naming schema found in other rtlwifi devices. Rename rtl8192e_SetHwReg to rtl92e_set_reg. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6af7a8b662f6bb5498d6a59b9dbb2b26855add8b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:25 2015 +0200 staging: rtl8192e: Rename rtl8192_enable_tx Use naming schema found in other rtlwifi devices. Rename rtl8192_enable_tx to rtl92e_enable_tx. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78c352b2b22348f28edda51fae2d61928fae4450 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:24 2015 +0200 staging: rtl8192e: Rename rtl8192_enable_rx Use naming schema found in other rtlwifi devices. Rename rtl8192_enable_rx to rtl92e_enable_rx. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d99c68e6f50241fe400b744b515dcfac6341239 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:23 2015 +0200 staging: rtl8192e: Rename rtl8192_EnableInterrupt Use naming schema found in other rtlwifi devices. Rename rtl8192_EnableInterrupt to rtl92e_enable_irq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit baadea565daae4cfaa46e0764bef3541c949616c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:22 2015 +0200 staging: rtl8192e: Rename rtl8192_DisableInterrupt Use naming schema found in other rtlwifi devices. Rename rtl8192_DisableInterrupt to rtl92e_disable_irq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc578b417facaef65f3e73ba7f97394979cc64a2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:21 2015 +0200 staging: rtl8192e: Rename rtl8192_ClearInterrupt Use naming schema found in other rtlwifi devices. Rename rtl8192_ClearInterrupt to rtl92e_clear_irq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33e1748d8f10b2b4d84a18431999cdf2830ccc71 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:20 2015 +0200 staging: rtl8192e: Rename rtl8192_AllowAllDestAddr Use naming schema found in other rtlwifi devices. Rename rtl8192_AllowAllDestAddr to rtl92e_set_monitor_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 460266292de1c3770bad54f48e5b33a5fed342e1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:19 2015 +0200 staging: rtl8192e: Rename rtl8192_adapter_start Use naming schema found in other rtlwifi devices. Rename rtl8192_adapter_start to rtl92e_start_adapter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12656e2b8c308d86dbb3b9167db0309f27f90d4f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:18 2015 +0200 staging: rtl8192e: Rename cmpk_message_handle_tx Use naming schema found in other rtlwifi devices. Rename cmpk_message_handle_tx to rtl92e_send_cmd_pkt. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2497ef5b54914d0e90a7a308e442b81d42b0e373 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:17 2015 +0200 staging: rtl8192e: Rename PHY_SetRF8256OFDMTxPower Use naming schema found in other rtlwifi devices. Rename PHY_SetRF8256OFDMTxPower to rtl92e_set_ofdm_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abfda5886b8bd3569330fae5b1224488375a5c48 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:16 2015 +0200 staging: rtl8192e: Rename PHY_SetRF8256CCKTxPower Use naming schema found in other rtlwifi devices. Rename PHY_SetRF8256CCKTxPower to rtl92e_set_cck_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 766b0128266a264395f07830dfad078e1e83d57c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:15 2015 +0200 staging: rtl8192e: Rename PHY_SetRF8256Bandwidth Use naming schema found in other rtlwifi devices. Rename PHY_SetRF8256Bandwidth to rtl92e_set_bandwidth. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4a143392686432d147e055e45f09049c09f6755 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Jul 19 19:27:14 2015 +0200 staging: rtl8192e: Rename PHY_RF8256_Config Use naming schema found in other rtlwifi devices. Rename PHY_RF8256_Config to rtl92e_config_rf. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 547e4c90aee5f4ecfed23a16b621629071e41f05 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:48 2015 -0400 staging: unisys: remove bogus error checking The netdev we're testing for can't be removed, because its never unregistered, so don't bother checking for it Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15a4d2137077296e22fce2127f8056d6d7f9e785 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:47 2015 -0400 staging: unisys: remove visornic_ioctl All it does is return no supported. Removing the function entirely accomplishes the same thing Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a42ba26cca4ed183362d5adb5dad227f908b4ddb Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:46 2015 -0400 staging: unisys: Remove trans_start dev_trans_start does this for us now Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6346ad662e44d7086bc3c18fc19a33f0b95b576 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:45 2015 -0400 staging: unisys: Fix improper use of NETDEV_TX_BUSY Using NETDEV_TX_BUSY is tricky. Its meant for situations where the error in question is transient and quickly resolved. But the driver rarely is able to know that to a certainty. And in the case of visornic, it just uses it without any care for that, in the hopes that it won't loose frames, even if the problem is that the skb is somehow malformed for the hardware. If we get one of those kinds of skbs, NETDEV_TX_BUSY will just cause us to spin, processing the same error over and over. Fix it by dropping the frame, stopping the queue where appropriate, and returning NETDEV_TX_OK Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35a8dd310efbbcec37de2da6301f9bdaf83b2632 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:44 2015 -0400 staging: unisys: Remove some extraneous start/stop queue operations If we put them in the enable and disable paths, we don't need them in several other places Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c677e9c24935bdca8ed72b96f7e762c95fc8bd3 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:43 2015 -0400 staging: unisys: Change enable/disable to wait forever I don't see why the server should stop responding, or that we should just give up if it does. Wait forever when enabling/disabling the visornic Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ace72eef40e8b5f0e3b3916e2dee2d146711ca2e Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:42 2015 -0400 staging: unisys: Make serverdown synchronous I don't see why serverdown should be async on a workqueue. Just make it synchronous, and remove some code in the process Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d5073935a662564d46dff071874fe2cab11c651 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:41 2015 -0400 staging: unisys: simplify visornic_serverdown_complete Theres a lot of code duplication going on in visornic_serverdown_complete. We should just be able to send it through the dev_close path and have it do the right things. Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cf12de41bb772fccd2807780ad23639e4fcce89 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:40 2015 -0400 staging: unisys: Guard against task leakage Its possible to overwrite the old task pointer in visornic_resume. Add a check to guard against that and a warning if we find that its already running Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87a9404ef0be2aac949fdb8854e71d100859f6f5 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:39 2015 -0400 staging: unisys: Clean up kthread usage Remove the has_stopped completion as theres already one available internally. Correct the while loops Remove the while loop in drain_queue as it already exists in the top level loop Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 513e1cbda230c626bc01492f440805c4a88632d7 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:38 2015 -0400 staging: unisys: Linarize skbs If we can't fit an skb into a frag array, linaraize it so we don't have to Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 998ff7f85d2a4923cf8e49319957bb2a70f8b881 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:37 2015 -0400 staging: unisys: BUG halt on error in I/O channel We precheck that we have enough space in an iochannel prior to writing to it when we send in a fragmented skb. Given that there is no recovery from this condition that I can see, turn it into a BUG halt Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce657aa81005ddfbdd9c89ec9de31ff713c05ea6 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:36 2015 -0400 staging: unisys: Check return code properly on visor_copy_fragsinfo_from_skb One call site for visor_copy_fragsinfo_from_skb was checking for an rc of -1, but thhe function doesn't return that, it returns -errno. Correct it Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52b1660d3b3a7fc967ba9d9b641b594fa1ac33d7 Author: Neil Horman <nhorman@xxxxxxxxxx> Date: Tue Jul 21 09:55:35 2015 -0400 staging: unisys: Remove num_visornic_open array As pointed out in a recent review, the num_visornic_open array didn't do anything useful, and it exposed a potential race in the visornic code that could arise while taking down a net interface while reading from the debugfs files. Fix that by removing the array entirely, and just iterating over all the registered netdevs in a given namespace, filtering on them having visornic ops (to identify which are ours), and having their queues not be stopped (identifying that they are up). This should prevent any oops conditions happening due to changing state in that array, and save us a bunch of code too. Signed-off-by: Neil Horman <nhorman@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80a60777d7e60e59e4deb756dc0e3989fe520f84 Author: Steve Pennington <sgpenn@xxxxxxxxx> Date: Wed Jul 22 12:50:11 2015 -0500 staging: rtl8723au: fix incorrect type in assignment warning Repaced calls to htons and memcpy with a single call to put_unaligned_be16 to fix the following sparse warning: drivers/staging/rtl8723au/core/rtw_recv.c:1557:21: warning: incorrect type in assignment (different base types) drivers/staging/rtl8723au/core/rtw_recv.c:1557:21: expected unsigned short [unsigned] [assigned] [usertype] len drivers/staging/rtl8723au/core/rtw_recv.c:1557:21: got restricted __be16 [usertype] <noident> Signed-off-by: Steve Pennington <sgpenn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56fa2ece881348d314800b858581f2ae950f8e20 Author: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> Date: Fri Jul 17 12:01:29 2015 +0100 staging: ion: ion_cma_heap: Don't directly use dma_common_get_sgtable Use dma_get_sgtable rather than dma_common_get_sgtable so a device's dma_ops aren't bypassed. This is essential in situations where a device uses an IOMMU and the physical memory is not contiguous (as the common function assumes). Signed-off-by: Jon Medhurst <tixy@xxxxxxxxxx> Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b20691652b8c09992096490d9dd11319c1e7ce5e Author: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Date: Thu Jul 16 12:50:50 2015 -0500 staging: fsl-mc: update TODO list update TODO list to provide more detail on remaining work Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0dcaa8d4eff40b2999d5265f2218c29e82e24cc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sun Jul 19 13:52:33 2015 +0300 Staging: rtl8192e: pointer math bug in rtllib_rx_DELBA() The pointer math here was totally wrong so we were reading nonsense information from beyond the end of the buffer. It could lead to an oops if that memory wasn't mapped. The "pReasonCode" pointer is assigned but never used so I deleted it. With-Fix-From: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Tested-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ee4c3dc55f6b83934cdf53c8563f5667d91ff91 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Jul 20 18:36:18 2015 +0200 staging: rtl8192u: remove unneeded bool bool Reval is set to match the value of bHalfWirelessN24GMode just to this. The value can be returned directly. Removing uneeded bool. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Suggested-by: Franks Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9bd549aa99a12e42b8811efa3cb7d8c3d084a20 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Jul 20 18:35:42 2015 +0200 staging: rtl8192u: remove bool comparisons Remove explicit true/false comparisons to bool variables. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 047db9915ed576e817eb02c1d1cf037c49856b59 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sun Jul 19 13:52:17 2015 +0300 Staging: rtl8192u: pointer math bug in ieee80211_rx_DELBA() Smatch complains because "delba" is a pointer to struct rtl_80211_hdr_3addr so the "delba += sizeof(struct rtl_80211_hdr_3addr);" is clearly wrong. We are reading nonsense data from beyond the end of the buffer and could oops if that memory isn't mapped. It turns out the next two statements are also wrong. We should delete the += sizeof() statement and "delba+2" should be "&delba->payload[2]". "pReasonCode" isn't used so I deleted that. With-Fix-From: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a32bd33ed3e03258e255a5b580ce7b3f514763e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 18:57:28 2015 +0530 staging: rtl8188eu: remove multiple blank line Multiple blank lines should be avoided. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0732f84b40bc7219d077ddd69b5cc03ec6e7838 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 18:57:27 2015 +0530 staging: rtl8188eu: dont mix success and error path Success and error path was mixed. Separate them by directly returning 0 from the success path. In the process remove the variable which became unused. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 705a31369845d7ad522dc9bce6ca430831ff0454 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 18:57:26 2015 +0530 staging: rtl8188eu: check for kzalloc failure Check for kzalloc failure and directly return from the error patch thus simplifying the success path. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 586b06328c16c04a7040c92b7a13aea0447e35ec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 18:57:25 2015 +0530 staging: rtl8188eu: remove label Directly return NULL instead of using another label and goto. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8da24c93327037a6fb1f760f5fc70e33c9abaefb Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 18:57:24 2015 +0530 staging: rtl8188eu: remove unused define _HCI_INTF_C_ was only defined here but not being used anywhere. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a2c874c51df5ed29d482b5294541f06a6f24328 Author: Antoine BLIN <antoine.blin@xxxxxxx> Date: Fri Jul 17 15:04:34 2015 +0200 staging: sm750fb: ddk750_power.c: Split lines over 80 characters. Fix up "line over 80 characters" warning found by the checkpatch.pl script. Signed-off-by: Antoine BLIN <antoine.blin@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d7a0ffe6d83fcafac7825fe589f856a772f7389 Author: Aaron Ouellette <aouellette2016@xxxxxxxxx> Date: Thu Jul 16 21:21:16 2015 -0400 staging: sm750fb: removed extra parentheses fixed checkpatch.pl error: ERROR: return is not a function, parentheses are not needed Signed-off-by: Aaron Ouellette <aouellette2016@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5a372df8661113b8aa36f4eb29d4b969d1d3db4 Author: Bernd Porr <mail@xxxxxxxxxxxxxxx> Date: Wed Jul 22 18:46:39 2015 +0100 staging/comedi/drivers/usbduxsigma.c: added support for ehci drivers urb->interval is deprecated and thus I've changed the driver that it now always assumes interval=1 which means every frame in USB 1.1 and every uframe in USB 2.0. However we still need to have different sampling rates which are still multiples of the interval which is now transmitted to the firmware. The firmware transmits either zero length packets or none every (u)frame. This is checked in the completion handler and any packet at zero length is discarded so that comedi again sees the data coming in at the interval specified. This also then gives the ADC the necessary time to convert. For example 16 channels require about 700us and in this period no packet could be transmitted. In this case this is padded up to 1ms so that we have then 7 zero length packets and one packet with the ADC data. Signed-off-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e73063c5407b6ffe09dc0f7c11970113bf55e6fc Author: Bernd Porr <mail@xxxxxxxxxxxxxxx> Date: Wed Jul 22 18:45:55 2015 +0100 staging/comedi/drivers/usbduxsigma.c: updated address details Changed my e-mail address to mail@xxxxxxxxxxxxxxxx The old one is no longer used. Signed-off-by: Bernd Porr <mail@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d258bf054a446c77a9cb7fa31dc4518ba2f1861d Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Mon Jul 20 16:53:15 2015 +0530 staging: comedi: drivers: pcl816.c remove leading space Checkpatch.pl warning - suspect code indent for conditional statements - is corrected Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03c44dd62e4f947516929c3ba0734027c3a26708 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:47 2015 +0100 staging: vt6655: desc.h remove dead strctures Remove these unsed structures. typedef struct tagSTxSyncDesc typedef struct tagSRrvTime_atim typedef struct tagSTxBufHead typedef struct tagSBEACONCtl typedef struct tagSSecretKey typedef struct tagSKeyEntry Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5c7bd269d52d1d6708053d1a8521779e98b4989 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:46 2015 +0100 staging: vt6655: s_cbFillTxBufHead replace STxBufHead vnt_tx_fifo_head has now replaced STxBufHead Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5806c53fe7805ebf4934debbe21fc42f78840f4 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:45 2015 +0100 staging: vt6655: always set 32 bit dma mask The device is limited to 32 bit address space. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cf0a47c8c4986b8fa946156a19f7b02dc303a43 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:44 2015 +0100 staging: vt6655: fix tagTDES1 -> wReqCount type should be __le16 Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7135d9a76f787f089faad0e08bdef259cb019d64 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:43 2015 +0100 staging: vt6655: Fix wReqCount to __le16 Should be __le16 and do and correct endian conversion. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1e3e92135202ff3d95195393ee62808c109208c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:42 2015 +0100 staging: vt6655: fix tagSRxDesc -> next_desc type Should always be __le32 Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0fb87fba09473e6b39e351c7da59b4faa9a4fcf Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:41 2015 +0100 staging: vt6655: Fix tagSRxDesc -> buff_addr type Should always be __le32. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db1ade7cee35a2d22653811c67cd4d9c60c8a4ad Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:40 2015 +0100 staging: vt6655: remove unused tagDEVICE_RD_INFO -> curr_desc variable is assigned a value that is never used. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5fa9d9898d370789f12af420c118159a23f166e8 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:39 2015 +0100 staging: vt6655: fix tagSTxDesc -> next_desc type Should always be __le32 type Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75a8eee2d71e6abe9e25a20c8e3c16c53489c90e Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:38 2015 +0100 staging: vt6655: fix tagDEVICE_TD_INFO -> buff_addr type Should always be __le32 type Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eae6377eb01d6b8a6cb3f1047ae35829e22e4e04 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:37 2015 +0100 staging: vt6655: Remove unused tagDEVICE_TD_INFO curr_desc The variable is assigned a value that is never used. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06f716a57e6d7dc8f7638ea8c19a9a4cdf46ed23 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:36 2015 +0100 staging: vt6655: remove unnecessary variable skb_dma skb_dma flips from 0 to the contents buf_dma. This is nolonger necessary so use buf_dma directly and remove skb_dma altogether. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a00033ee8697e2e0acf07d03dbea55c4b7236ca Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:35 2015 +0100 staging: vt6655: dead code tx path remove dma_unmap_single When pTDInfo->skb_dma not equal to pTDInfo->buf_dma, pTDInfo->skb_dma equals zero. as mentioned in comment pre-allocated buf_dma can't be unmapped so remove dead code. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd43585b6405a0b7c6e5ad3c1bcbb32cf186a5a9 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:34 2015 +0100 staging: vt6655: remove unused DBG_PORT80 and VIAWET_DEBUG VIAWET_DEBUG is never defined so DBG_PORT80 is empty and never used. Remove both macros. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 217ed3abf1510747590aaa5da93217e559fd8e19 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Jul 22 19:16:33 2015 +0100 staging: vt6655: Remove ununsed macro ASSERT VIAWET_DEBUG is not defined so macro is empty. Remove the macro. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83aa2ac65a36e77f5651ef8946003b856cab49bc Author: Cihangir Akturk <cakturk@xxxxxxxxx> Date: Wed Jul 22 15:59:32 2015 +0300 staging: lustre: obdclass: Make structure declerations static const obd_device_list_sops and obd_device_list_fops are not referenced outside of linux-module.c, and in the general use case struct file_operations and struct seq_operations should be a const object, so make them static and const. This patch fixes the following sparse warnings: WARNING: struct seq_operations should normally be const WARNING: struct file_operations should normally be const Signed-off-by: Cihangir Akturk <cakturk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3377bad9c7ea427c002173ffcee6fc6a14833739 Author: Cihangir Akturk <cakturk@xxxxxxxxx> Date: Tue Jul 21 10:22:52 2015 +0300 staging: lustre: ldlm: Make function static. target_send_reply_msg function is not referenced outside of ldlm_lib.c file, so make it static. Signed-off-by: Cihangir Akturk <cakturk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a2477c2cabddf6fa52eda49502017191b34acb6 Author: Kolbeinn Karlsson <kk752@xxxxxxxxxxx> Date: Sun Jul 19 16:23:19 2015 -0400 staging: lustre: make functions only used locally static Add a static modifier to two functions that have no separate declaration and are only used within the file they are defined in. This problem was reported by sparse. Signed-off-by: Kolbeinn Karlsson <kk752@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5c2f7b56e9e37e3b54910164ce73b11f207f19d Author: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Date: Fri Jul 17 01:39:21 2015 +0200 staging: lustre: Fix style error with decorator Fixed checkpatch.pl error: ERROR: "(foo*)" should be "(foo *)" Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e02bea82b4e6c1eebeac6e6f4ecb93e9c2aa8c0 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Tue Jul 14 17:28:47 2015 +0530 drivers: usb: fsl: Define usb control register mask for w1c bits Define and use CONTROL_REGISTER_W1C_MASK to make sure that w1c bits of usb control register do not get reset while writing any other bit Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4fdfaa280a284be8a056d6840cdbbf42c05bf95 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Tue Jul 14 17:28:10 2015 +0530 drivers: usb: fsl: Modify phy clk valid bit checking Phy_clk_valid bit is checked only when the boolean property phy-clk-valid in present in usb node device tree. This property is added to the usb node via device tree fixup. Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6009d95e04cf74c6f80db56fddca21fea476ad24 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Mon Jun 15 15:48:22 2015 +0530 drivers:usb:fsl: Introduce FSL_USB2_PHY_UTMI_DUAL macro Introduce FSL_USB2_PHY_UTMI_DUAL macro for setting phy mode in SOCs such has T4240, T1040, T2080 which have utmi dual-phy Signed-off-by: Ramneek Mehresh <ramneek.mehresh@xxxxxxxxxxxxx> Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 523f1dec58408b36e7683a3d61a0286eed1fc1c8 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Mon Jun 15 15:47:29 2015 +0530 drivers: usb :fsl: Implement Workaround for USB Erratum A007792 USB controller version-2.5 requires to enable internal UTMI phy and program PTS field in PORTSC register before asserting controller reset. This is must for successful resetting of the controller and subsequent enumeration of usb devices Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Suresh Gupta <suresh.gupta@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38aa420096e565fe9c98f9d9475fd168114501a9 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Mon Jun 15 15:46:37 2015 +0530 drivers:usb:fsl: Replace macros with enumerated type Replace macros with enumerated type to represent usb ip controller version Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5fd3fc1c5384fe420ead51f41662ba563336fbea Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Mon Jul 13 16:30:18 2015 +0100 usb: renesas_usbhs: Allow an OTG PHY driver to provide VBUS These changes allow a PHY driver to trigger a VBUS interrupt and to provide the value of VBUS. Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1d28f0b392628fbd263ad833469caeb052cb084 Merge: ea7b44b da104dc Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Jul 22 16:28:37 2015 -0700 Merge tag 'omap-for-v4.3/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/defconfig Merge "defconfig changes for v4.3" from Tony Lindgren: Few defconfig changes for omap2plus_defconfig to enable SPI NOR, CPTS, touchscreen and ADC used on am335x, am437x and ra7 devices. * tag 'omap-for-v4.3/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: omap2plus_defconfig: enable support for M25P80 SPI NOR ARM: omap2plus_defconfig: enable support for TI CPTS ARM: omap2plus_defconfig: enable support for TI touchscreen ARM: omap2plus_defconfig: enable support for TI ADC Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9521f492f06b435a9b6d4f901f031b0f5d923a76 Merge: cd39275 7fcf7e0 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Jul 22 16:26:03 2015 -0700 Merge tag 'omap-for-v4.3/legacy-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Merge "drop few more legacy boards for v4.3" from Tony Lindgren: Drop more omap3 legacy board-*.c files for v4.3. This time we're dropping the board files for omap3logic and omap3pandora. The reason for dropping these now rather than later is that now we can simply revert the patches in case of unexpected issues as we are not dropping any platform data at this point. This leaves us with only the following board-*.c files: BOARD REASON NEEDED board-ldp.c Still used in RMKs boot test system board-rx51-*.c Needs /proc/atags support for user space Once we have the n900 legacy user space issues sorted out for /proc/atags and system_rev, we can drop the remaining two board-*.c files. And then one merge window after that we can drop the legacy booting support assuming no unexpected issues are found. * tag 'omap-for-v4.3/legacy-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Remove legacy booting support for Pandora ARM: OMAP2+: Remove legacy booting support for LogicPD Torpedo Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9e3cffd8772adf8e22f7d92b260708ed5add751f Merge: 7d132de f9d50fe Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Jul 22 16:25:04 2015 -0700 Merge tag 'omap-for-v4.3/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap dts changes for v4.3, part2" from Tony Lindgren: More omap dts changes for v4.3 merge window: - Add missing devices for pandora. Note that we're adding wl1251 WLAN and LCD backlight support for now using legacy pdata as that allows us to drop the legacy board file for pandora in another series of patches - Enable power button support for omap5-uevm - Add aliases for am437x UARTs - Add support for phyCORE phyBOARD-WEGA-AM335x rdk and phyCORE-AM335x SoM - Use u16 values for tsc2046 on omap3-lilly * tag 'omap-for-v4.3/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: omap3-pandora: add wifi support ARM: OMAP2+: omap3-pandora: add backlight support ARM: dts: omap3-pandora: add support for usb host and 32k buffer ARM: dts: omap3-pandora: miscellaneous corrections ARM: dts: omap5-uevm: Add Palmas power button support ARM: dts: am437x: add aliases for all UART instances ARM: dts: Add phyBOARD-WEGA-AM335x rdk ARM: dts: Add support for phyCORE-AM335x SoM ARM: dts: omap3: correct the format of u16 values for tsc2046 node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0ff818eff55aa80cb00bb3d89e824dd568d5a7f8 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 23 00:10:37 2015 +0200 memory: pl172: fix modular build Building pl172 as a module fails with: > ERROR: "of_default_bus_match_table" [drivers/memory/pl172.ko] undefined! Because the symbol of_default_bus_match_table isn't exported by the OF core code so can't be referenced from modules. Fix this by removing the usage of of_default_bus_match_table for now. The side effect of this is that child nodes can't use "simple-bus" or "simple-mfd". Reported-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e616b39a16d4458224d91697b0a2599336f0c38c Author: Sunny Kumar <sunny.kumar.roy@xxxxxxxxx> Date: Tue Jul 7 12:27:03 2015 +0530 usb: usleep_range is preferred over udelay where wakeup is flexible According to Documentation/timers/timers-howto.txt" udelay() is only called once from a place where sleeping is allowed. We can replace it with a call to usleep_range() with a reasonable upper limit. Signed-off-by: Sunny Kumar <sunny.kumar.roy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 655fe4effe0f1f40e4f6ca6b3cc64a7fe0032183 Author: Kevin Strasser <kevin.strasser@xxxxxxxxxxxxxxx> Date: Tue Jun 16 10:35:30 2015 -0700 usbcore: add sysfs support to xHCI usb3 hardware LPM Add a sysfs node to make it easier to verify if LPM is supported and being enabled for USB 3.0 devices. Signed-off-by: Kevin Strasser <kevin.strasser@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb4861c3cef7f745df0d2a26b0f4287da0190424 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:40 2015 +0200 USB: bcma: add support for controlling bus power through GPIO On some boards a GPIO is needed to activate USB controller. Make it possible to specify such a GPIO in device tree. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10bc04b744c69f253dfe47bc143325349ce8becc Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:39 2015 +0200 USB: bcma: add bcm53xx support The Broadcom ARM SoCs with this usb core need a different initialization and they have a different core id. This patch adds support for these USB 2.0 core. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab2de5793080dfb9f191ca71068b9f476a55a0f4 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:38 2015 +0200 USB: bcma: fix error handling in bcma_hcd_create_pdev() This patch makes bcma_hcd_create_pdev() not return NULL, but a prober error code in case of an error. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c27da2b22b558390acc515e71e47b1b307f85d5a Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:37 2015 +0200 USB: bcma: use devm_kzalloc Instead of manually handling the frees use devm. There was also a free missing in the unregister call which is not needed with devm. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98e13e05a1bab82c3bec1d867159bc8384acbe5b Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:36 2015 +0200 USB: bcma: replace numbers with constants The constants for these numbers were added long time ago, use them. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e4a4da67255d92620ba59b461b5bc295db28dae Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Thu Jun 11 22:57:35 2015 +0200 USB: bcma: remove chip id check I have never seen any bcma device with an USB host core which was not a SoC, the bcma devices have an USB device core with a different core id. Some SoC have IDs with 47XX and 53XX in decimal form which would be rejected by this check. Instead of fixing this check just remove it. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0faaad461547e2412e9b519cd757a99b3ebc1302 Author: Kris Borer <kborer@xxxxxxxxx> Date: Tue Jul 14 09:28:30 2015 -0400 usb: move assignment out of if condition Fix four occurrences of checkpatch.pl error: ERROR: do not use assignment in if condition The semantic patch that makes this change is: // <smpl> @@ identifier i; expression E; statement S; constant c; binary operator b; @@ + i = E; if ( - (i = E) + i b c ) S @@ identifier i, i2; expression E1, E2; constant c; @@ + if( E1->i ) { + i2 = E2; + if (i2 < c) { - if( E1->i && (i2 = E2) < c ) { ... - } + } + } // </smpl> Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a54f98e341d09793247a6e598012edefb5ae7cb Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:24:14 2015 -0700 rcu: Don't disable CPU hotplug during OOM notifiers RCU's rcu_oom_notify() disables CPU hotplug in order to stabilize the list of online CPUs, which it traverses. However, this is completely pointless because smp_call_function_single() will quietly fail if invoked on an offline CPU. Because the count of requests is incremented in the rcu_oom_notify_cpu() function that is remotely invoked, everything works nicely even in the face of concurrent CPU-hotplug operations. Furthermore, in recent kernels, invoking get_online_cpus() from an OOM notifier can result in deadlock. This commit therefore removes the call to get_online_cpus() and put_online_cpus() from rcu_oom_notify(). Reported-by: Marcin Å?lusarz <marcin.slusarz@xxxxxxxxx> Reported-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Tested-by: Marcin Å?lusarz <marcin.slusarz@xxxxxxxxx> commit 3ad81779ad35cd2e2ab34ba3f47f6f485696a105 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 11:55:40 2015 -0700 scripts: Make checkpatch.pl warn on expedited RCU grace periods The synchronize_rcu_expedited() and synchronize_sched_expedited() expedited-grace-period primitives induce OS jitter, which can degrade real-time response. This commit therefore adds a checkpatch.pl warning on any patch adding them. Note that this patch does not warn on synchronize_srcu_expedited() because it does not induce OS jitter, courtesy of its otherwise much-maligned read-side memory barriers. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> commit 96a39bc434f94e213df43859fb8b01acda902634 Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Wed Jul 1 15:26:27 2015 +0800 rcu: Update MAINTAINERS entry This commit updates Lai Jiangshan's email address because the old laijs@xxxxxxxxxxxxxx address will expire after July 10, 2015. Signed-off-by: Lai Jiangshan <jiangshanlai@xxxxxxxxx> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit eb6d5b0a5c64192ec13914caef1b87a9aa520d66 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 09:56:31 2015 -0700 rcu: Clarify CONFIG_RCU_EQS_DEBUG help text Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit a76a9a485d730024a7cbd76efcd9c6eb46003829 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 08:17:40 2015 -0700 rcu: Fix backwards RCU_LOCKDEP_WARN() in synchronize_rcu_tasks() The RCU_LOCKDEP_WARN() in synchronize_rcu_tasks() triggers if the scheduler is active, which is backwards. This commit therefore negates the test. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f78f5b90c4ffa559e400c3919a02236101f29f3f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 15:50:02 2015 -0700 rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN() This commit renames rcu_lockdep_assert() to RCU_LOCKDEP_WARN() for consistency with the WARN() series of macros. This also requires inverting the sense of the conditional, which this commit also does. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 46f00d18fca42cc954c2e9e99a48b6f3a7741ed7 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Jun 16 10:35:18 2015 -0700 rcu: Make rcu_is_watching() really notrace Although rcu_is_watching() is marked notrace, it invokes preempt_disable() and preempt_enable(), both of which can be traced. This defeats the purpose of the notrace on rcu_is_watching(), so this commit substitutes preempt_disable_notrace() and preempt_enable_notrace(). Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 779de6ce54f627f955d4a3d0c5b3dcfaab74fea8 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 10 13:34:41 2015 -0700 cpu: Wait for RCU grace periods concurrently In kernels built with CONFIG_PREEMPT, _cpu_down() waits for RCU and RCU-sched grace periods back-to-back, incurring quite a bit more latency than required. This commit therefore uses the new synchronize_rcu_mult() to allow waiting for both grace periods concurrently. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ec90a194ae2cb8b8e9fe4f6f70dd3d4dc0269b4b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 10 12:53:06 2015 -0700 rcu: Create a synchronize_rcu_mult() There have been several requests for a primitive that waits for grace periods for several RCU flavors concurrently, so this commit creates it. This is a variadic macro, and you pass in the call_rcu() functions of the flavors of RCU that you wish to wait for. Note that you cannot pass in call_srcu() for two reasons: (1) This would result in a type mismatch and (2) You need to specify which srcu_struct you want to use. Handle this by creating a wrapper function for your SRCU domain, for example: void call_srcu_mine(struct rcu_head *head, rcu_callback_t func) { call_srcu(&ss_mine, head, func); } You can then do something like this: synchronize_rcu_mult(call_srcu_mine, call_rcu, call_rcu_sched); Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit bc17ea1092c48227334a311a130c1a41966333fe Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jun 6 08:11:43 2015 -0700 rcu: Fix obsolete priority-boosting comment Tasks are no longer migrated to the root rcu_node, so there is no longer any need for a boost kthread for the root rcu_node, and there no longer is such a kthread. This commit therefore fixes the comment in rcu_boost_kthread()'s header to reflect this new reality. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 155d1d12786386d21732f9bba036343ffa43847d Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jun 2 17:26:48 2015 +0200 rcu: Use WRITE_ONCE in RCU_INIT_POINTER For the paranoid amongst us GCC would be in its right to use byte stores to write our NULL value, tell it not to do that. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit be55fa2ad244678beed11d2827d88b7f80ff4730 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 2 05:29:18 2015 -0700 rcu: Hide RCU_NOCB_CPU behind RCU_EXPERT This commit prevents Kconfig from asking the user about RCU_NOCB_CPU unless the user really wants to be asked. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 24560056de61d86153cecb84d04e4237437f5888 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat May 30 10:11:24 2015 -0700 rcu: Add RCU-sched flavors of get-state and cond-sync The get_state_synchronize_rcu() and cond_synchronize_rcu() functions allow polling for grace-period completion, with an actual wait for a grace period occurring only when cond_synchronize_rcu() is called too soon after the corresponding get_state_synchronize_rcu(). However, these functions work only for vanilla RCU. This commit adds the get_state_synchronize_sched() and cond_synchronize_sched(), which provide the same capability for RCU-sched. Reported-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c2a298d96628803586f1ca2027b6387f4e4b5a31 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Jun 30 16:48:54 2015 +0200 usb: host: xhci: remove typo in function documentation Fix "though" to "through" in documentation of xhci_alloc_streams(). Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd32fbad6e3dfb26ae12babe07771f92b417af6b Author: Aaron Raimist <aaronraimist@xxxxxxxxxx> Date: Mon Jun 22 21:05:27 2015 -0500 USB: atm: cxacru: fix blank line after declaration Fixed a coding style issue. Adds blank lines after declarations. Signed-off-by: Aaron Raimist <aaronraimist@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 298b992fdb7536f0f347935d253ce31479b1fb43 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Jun 22 15:50:22 2015 +0200 usb: class: Use USB_CLASS_PRINTER instead of number 7 Kernel provides very nice defines for USB device class so it's a good idea to use them in suitable places. It is much easier to grep for such define instead of 7. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79a02744bc5a2993d6c5b8dd1a790f7ea12f4e0b Author: Kris Borer <kborer@xxxxxxxxx> Date: Tue Jun 16 13:24:53 2015 -0400 usb: fix coding style issue Fixed coding style issue: newline after declaration Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 555f3fe957b5bd763d49719cc68c6435c9c8dcf1 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Mon Jul 20 14:24:36 2015 +0800 cpufreq: ia64: Fix a memory leak in acpi_cpufreq_cpu_exit() freq_table should be alloced in ->init and freed in ->exit, but it it is not freed. Fix this memory leak in acpi_cpufreq_cpu_exit(). Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 946c14f812bfff18e6fd6357d06b6e8fa8793fec Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Mon Jul 20 14:22:46 2015 +0800 cpufreq: ia64: remove redundant freq_table of acpi_cpufreq_data freq_table is now stored as policy->freq_table, so drop the redundant freq_table from struct cpufreq_acpi_io. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7db85dd0828803f44f50ed6953f3f7cb762b830d Author: Matthew Gerlach <mgerlach@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Feb 3 14:22:59 2014 -0800 ARM: socfpga: dts: add missing clock gates to socfpga.dtsi The gates for the clocks coming out of the sdram pll were missing. The change adds the missing nodes to the device tree. Signed-off-by: Matthew Gerlach <mgerlach@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit f56c50e322eed07526a08edefa29fc8bab1e93df Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 22 22:12:10 2015 +0200 cpufreq: acpi-cpufreq: Fix up the handling of cpb sysfs attribute The cpb sysfs attribute is only exposed by the ACPI cpufreq driver after a runtime check. For this purpose, the driver keeps a NULL placeholder in its table of sysfs attributes and replaces the NULL with a pointer to an attribute structure if it decides to expose cpb. That is confusing, so make the driver set the pointer to the cpb attribute structure upfront and replace it with NULL if the attribute should not be exposed instead. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 3427616b2a5aa7f34716278aa6a140378a00a36e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 22 22:11:56 2015 +0200 cpufreq: acpi-cpufreq: Drop acpi_data from struct acpi_cpufreq_data After commit 8cfcfd39000d (acpi-cpufreq: Fix an ACPI perf unregister issue) we store both a pointer to per-CPU data of the first policy CPU and the number of that CPU which are redundant. Since the CPU number has to be stored anyway for the unregistration, the pointer to the CPU's per-CPU data may be dropped and we can access the data in question via per_cpu_ptr(). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit b2f8dc4ce6626e25b164e29cf72b70230a1f1711 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Jul 22 22:11:16 2015 +0200 ACPI / processor: Drop an unused argument of a cleanup routine acpi_processor_unregister_performance() actually doesn't use its first argument, so drop it and update the callers accordingly. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 8d9bfe3702aaea457b3d59b09b86e9f03c322605 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Jul 21 18:29:40 2015 -0700 PCI: iproc: Add arm64 support Add arm64 support to the iProc PCIe driver. Note that on arm32, bus->sysdata points to the arm32-specific pci_sys_data struct, and pci_sys_data.private_data contains the iproc_pcie pointer. For arm64, there's nothing corresponding to pci_sys_data, so we keep the iproc_pcie pointer directly in bus->sysdata. In addition, arm64 does IRQ mapping in pcibios_add_device(), so it doesn't need pci_fixup_irqs() as arm32 does. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> commit ca70d27e445fe721587598030b97357b35f61913 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Wed Jun 24 07:41:07 2015 +0800 sysfs: fix simple_return.cocci warnings security/smack/smackfs.c:2251:1-4: WARNING: end returns can be simpified and declaration on line 2250 can be dropped Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 3bf2789cad9e6573dc19a6c3d123c2c049f2d90f Author: Vivek Trivedi <t.vivek@xxxxxxxxxxx> Date: Mon Jun 22 15:36:06 2015 +0530 smack: allow mount opts setting over filesystems with binary mount data Add support for setting smack mount labels(using smackfsdef, smackfsroot, smackfshat, smackfsfloor, smackfstransmute) for filesystems with binary mount data like NFS. To achieve this, implement sb_parse_opts_str and sb_set_mnt_opts security operations in smack LSM similar to SELinux. Signed-off-by: Vivek Trivedi <t.vivek@xxxxxxxxxxx> Signed-off-by: Amit Sahrawat <a.sahrawat@xxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit e9f9fe35f8940c9a4c5deba091d532e3a02bf78b Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Wed May 28 22:40:13 2014 -0500 ARM: socfpga: dts: Fix gpio dts entry for the correct clock The correct clock for the HPS gpio(s) should be the l4_mp_clk. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit c5dab6e2c1f7bbf33ec855cebae92a1566ed6d04 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 20 09:39:17 2013 -0600 ARM: socfpga: dts: Correct the parent clock for l3_sp_clk and dbg_clk The l3_sp_clk's parent should be the l3_mp_clk. This will account for the extra divider that is present for the l3_mp_clk. The dbg_clk's parent should be the dbg_at_clk. This will account for the extra divider that is present for the dbg_at_clk. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 052831879945be0d9fad2216b127147c565ec1b1 Author: Thomas Graf <tgraf@xxxxxxx> Date: Wed Jul 22 14:43:58 2015 +0200 ip_tunnel: Provide tunnel metadata API for CONFIG_INET=n Account for the configuration FIB_RULES=y && INET=n as FIB_RULES can be selected by IPV6 or DECNET without INET. Fixes: e7030878fc84 ("fib: Add fib rule match on tunnel id") Fixes: 3093fbe7ff4b ("route: Per route IP tunnel metadata via lightweight tunnel") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3985e8a3611a93bb36789f65db862e5700aab65e Author: Erik Kline <ek@xxxxxxxxxx> Date: Wed Jul 22 16:38:25 2015 +0900 ipv6: sysctl to restrict candidate source addresses Per RFC 6724, section 4, "Candidate Source Addresses": It is RECOMMENDED that the candidate source addresses be the set of unicast addresses assigned to the interface that will be used to send to the destination (the "outgoing" interface). Add a sysctl to enable this behaviour. Signed-off-by: Erik Kline <ek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb02eb4a29303295f2fed8a69d9aa703792c834b Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Wed Jul 22 15:27:41 2015 +0800 r8152: support the new RTL8153 chip Support the new USB gigabit ethernet. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de18547d48c0e735309d6874852f048352e08a88 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 22:49:00 2015 -0700 mpls_iptunnel: fix sparse warn: remove incorrect rcu_dereference fix for: net/mpls/mpls_iptunnel.c:73:19: sparse: incompatible types in comparison expression (different address spaces) remove incorrect rcu_dereference possibly left over from earlier revisions of the code. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70c9bb8b9217aa6869ec6604258589f203f5b71e Merge: b56ea29 3a375e3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 22 10:47:27 2015 -0700 Merge branch 'bnx2x-next' Yuval Mintz says: ==================== bnx2x: update FW, rebrand and more This patch series does several things - it updates the bnx2x FW into 7.12.30 which both contains some small fixes as well as opening the door for several new features for the device - mainly vxlan/geneve offloads and vlan filtering offload. It then adds a new Multi-function mode [BD] which requires this FW in order to operate. In addition, this finally rebrands the driver from a 'broadcom' driver into a 'qlogic' driver [although it would still reside under Broadcom's tree in the kernel]. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a375e3caf2b424386f9e32d0c55f8907c52981d Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 22 09:16:27 2015 +0300 bnx2x: Bump up driver version to 1.712.30 Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c48f350ff5e75abae2627c2531780264f9e49130 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 22 09:16:26 2015 +0300 bnx2x: Add MFW dump support Devices with up-to-date management FW will be able to store register dumps on their persistent storage - in case management FW identifies a fatal error it would gather and store such dumps, which could later be retrieved using specific debug tools. This patch adds the necessary part in the driver in order to make the feature operational, as well as update users [under debug] during load in case their device contains a dump of a previous crash. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 230d00eb4bfe0ddc88b848fd953f7b871ee2ecd7 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 22 09:16:25 2015 +0300 bnx2x: new Multi-function mode - BD This adds support to a new multi-function mode, enabling driver to initialize such devices and correctly interacting with management FW for fully utilizing their features. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 924c6216f88172050a519639722e949b838529cc Author: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx> Date: Wed Jul 22 09:16:24 2015 +0300 bnx2x: Add 84858 phy support This adds support to a new copper phy. Signed-off-by: Yaniv Rosner <Yaniv.Rosner@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ad79e1301f48b8c4ed2cc71c85e9b224a16b3e3 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 22 09:16:23 2015 +0300 bnx2x: Rebrand from 'broadcom' into 'qlogic' bnx2x still appears as a Broadcom driver even though the devices it utilizes belong to Qlogic for more than a year. This patch changes the various headers and the device strings to indicate the correct ownership of the device. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28311f8e7c3f52a810c0e0d2aa62deb549c9687d Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Jul 22 09:16:22 2015 +0300 bnx2x: Utilize FW 7.12.30 This moves bnx2x into using 7.12.30 FW. Said firmware fixes the following: - Packets from a VF with pvid configured which were sent with a different vlan were transmitted instead of being discarded. - FCoE traffic might not recover after a failue while there's traffic to another function. In addition, this FW opens the door for the driver to implement several new features; Specifically, this enhances the device's support for encapsulated packets and will allow vxlan/geneve offloads to be added in the future, as well as vlan filtering offload. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa48b6f708868ab9c22ca737f27a0da832bf7f08 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:47 2015 +0800 genirq/MSI: Move alloc_msi_entry() from PCI into generic MSI code Move alloc_msi_entry() from PCI MSI code into generic MSI code, so it can be reused by other generic MSI drivers. Also introduce free_msi_entry() for completeness. Suggested-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-13-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fc88419cfac50b05c7c1ea218b08e70c31d1b71f Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:46 2015 +0800 genirq/MSI: Reorginize struct msi_desc to prepare for support of generic MSI Reorganize struct msi_desc so it could be reused by other MSI drivers. We have the following layout now: struct msi_desc { /* Shared device/bus independent data */ ... union { /* PCI specific data */ struct { ... }; }; }; We need to have anonymous union and a anonymous structure for the PCI fields, otherwise we would have to change all instances using these fields. For non PCI devices we will enforce a proper namespace and a non anonymous structure. [ tglx: Added proper comments to the structure and massaged changelog ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-12-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 25a98bd4ff9355a218d2e7aa4d6e3c9bc2c27d6f Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:45 2015 +0800 genirq/MSI: Store 'struct device' instead of 'struct pci_dev' in struct msi_desc Store 'struct device *' instead of 'struct pci_dev *' in struct msi_desc, so struct msi_desc can be reused by non PCI based MSI drivers. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-11-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4a7cc831670550e6b48ef5760e7213f89935ff0d Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:44 2015 +0800 genirq/MSI: Move msi_list from struct pci_dev to struct device Move msi_list from struct pci_dev into struct device, so we can support non-PCI-device based generic MSI interrupts. msi_list is now conditional under CONFIG_GENERIC_MSI_IRQ, which is selected from CONFIG_PCI_MSI, so no functional change for PCI MSI users. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-10-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e39758e0ea769e632e5e3c9f314160e55c2153ff Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:43 2015 +0800 PCI: Use helper functions to access fields in struct msi_desc Use helper functions to access fields in struct msi_desc, so we could easily refine msi_desc later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Murali Karicheri <m-karicheri2@xxxxxx> Cc: Jingoo Han <jingoohan1@xxxxxxxxx> Cc: Pratyush Anand <pratyush.anand@xxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Soeren Brinkmann <soren.brinkmann@xxxxxxxxxx> Cc: Srikanth Thokala <sthokal@xxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-9-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3bf15f53c963a43c317e65e1709e9f020c04f024 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:42 2015 +0800 sparc/PCI: Use helper functions to access fields in struct msi_desc Use helper functions to access fields in struct msi_desc, so we could easily refine struct msi_desc later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Eric Snowberg <eric.snowberg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-8-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5004e98a91e8ad600f5b00872e9ddad810258f08 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:41 2015 +0800 PCI: Use for_each_pci_msi_entry() to access MSI device list Use accessor for_each_pci_msi_entry() to access MSI device list, so we could easily move msi_list from struct pci_dev into struct device later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-7-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 39118e31e1daae43048f5deaa3e0894d2732a7d6 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:40 2015 +0800 x86/PCI: Use for_pci_msi_entry() to access MSI device list Use accessor for_each_pci_msi_entry() to access MSI device list, so we could easily move msi_list from struct pci_dev into struct device later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-6-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit df516f4278c154f5bb5e594fd54c2b0cb0af7a7c Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:39 2015 +0800 s390/pci: Use for_pci_msi_entry() to access MSI device list Use accessor for_each_pci_msi_entry() to access MSI device list, so we could easily move msi_list from struct pci_dev into struct device later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: linux390@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436428847-8886-5-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2921d1790eeeaf574df94fc5b1aa066e7d86d8f7 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:38 2015 +0800 powerpc/PCI: Use for_pci_msi_entry() to access MSI device list Use accessor for_each_pci_msi_entry() to access MSI device list, so we could easily move msi_list from struct pci_dev into struct device later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Cc: Alexey Kardashevskiy <aik@xxxxxxxxx> Cc: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Cc: Daniel Axtens <dja@xxxxxxxxxx> Cc: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Cc: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-4-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit bbcffac3a8b60f2f01a3fcb322167f6b8aba3416 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:37 2015 +0800 MIPS/PCI: Use for_pci_msi_entry() to access MSI device list Use accessor for_each_pci_msi_entry() to access MSI device list, so we could easily move msi_list from struct pci_dev into struct device later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-3-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c179c9b978b90bdf9cb39f5b5716dede157f1eaf Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jul 9 16:00:36 2015 +0800 PCI: Add helper function msi_desc_to_pci_sysdata() Add helper function msi_desc_to_pci_sysdata() to retrieve sysdata from an MSI descriptor. To avoid pulling include/linux/pci.h into include/linux/msi.h, msi_desc_to_pci_sysdata() is implemented as a normal function instead of an inline function. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Yijing Wang <wangyijing@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Alexander Gordeev <agordeev@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436428847-8886-2-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit faca10b9e63e880c81388fbbedf7ede6dcd77c70 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Tue Jul 21 08:11:01 2015 +0000 drivers/irqchip: Replace pr_warning by pr_warn Update the last pr_warning callsite in drivers/irqchip. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: <wanglong@xxxxxxxxxxxxx> Cc: <peifeiyue@xxxxxxxxxx> Cc: <jason@xxxxxxxxxxxxxx> Cc: <kgene@xxxxxxxxxx> Cc: <k.kozlowski@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437466261-147373-1-git-send-email-long.wanglong@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6ed3464897cc825a75218653c710d673282dfcf8 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Jan 2 16:18:54 2015 -0600 irqchip: omap-intc: Improve IRQ handler As it turns out the current IRQ number will *always* be available from SIR register which renders the reads of PENDING registers as plain unnecessary overhead. In order to catch any situation where SIR reads as zero, we're adding a WARN() to turn it into a very verbose error and users actually report it. With this patch average running time of omap_intc_handle_irq() reduced from about 28.5us to 19.8us as measured by the kernel function profiler. Tested with BeagleBoneBlack Rev A5C. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Cc: Linux ARM Kernel Mailing List <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150720204910.GH5394@xxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4dc102b2f53d63207fa12a6ad49c7b6448bc3301 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jun 19 23:58:17 2015 -0300 [media] dvb_core: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,ETH_ALEN); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a4c4f95eb64640ec31cf0661b1a863151c744827 Author: Sunil Shahu <shshahu@xxxxxxxxx> Date: Sat Jun 20 05:53:50 2015 -0300 [media] staging: media: lirc: fix coding style error Fix code indentation error by replacing tab in place of spaces. Signed-off-by: Sunil Shahu <shshahu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 17a705e4a99bc6d810f2d64efe9368e221302f7a Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:29 2015 -0300 [media] sh-veu: don't use COLORSPACE_JPEG COLORSPACE_JPEG should only be used for JPEGs. Use SMPTE170M instead, which is how YCbCr images are usually encoded. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dd70b27eecdd4e13378a5e253dbd426058e164ef Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Jun 14 23:01:45 2015 -0300 [media] media: ttpci: Use vsprintf %pM extension Format mac addresses with the normal kernel extension. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3fdefa399e4644399ce3e74e65a75122d52dba6a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:37 2015 +0200 drm: gc now dead mode_group code Two nice things here: - drm_dev_register will truly register everything in the right order if the driver doesn't have a ->load callback. Before this we had to init the primary mode_group after the device nodes where already registered. - Less things to keep track of when reworking the connector locking, yay! Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9c7060f7e3b09837621f93bd8666cf4cfac45001 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:36 2015 +0200 drm: Stop filtering according to mode_group in getresources It's been dead code since forever since mode groups haven't ever been implemented. On top of that it's also been non-functional since we only ever filtered the getresources ioctl and not any of the others nor the mode object lookup code. Given overwhelming evidence it looks like this isn't a feature we need, hence remove it. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e4f62546325724168e0b7ee7180762cb07859ca7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:35 2015 +0200 drm: Roll out drm_for_each_{plane,crtc,encoder} Remaining manual work in the drm core&helpers. Nothing special here, no surprises. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9e75c0ef1428ae8a6bfb340ba2402471752c4af5 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:34 2015 +0200 drm/cma-helper: Fix locking in drm_fb_cma_debugfs_show This function takes two locks, both of them the wrong ones. This wasn't an oversight from my fb locking rework since both patches landed in parallel. We really only need fb_lock when walking that list, since everything we can reach from that is refcounted properly already. v2: Drop unused dev spotted by 0day. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 1140f919f807b6d5a259ecfca88022da0e5340cb Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 17 12:26:45 2015 -0300 [media] tc358743: allow event subscription This is useful to subscribe to HDMI hotplug events via the V4L2_CID_DV_RX_POWER_PRESENT control. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d747b806abf41f037f7d2a076131adf8c7971a89 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 17 11:02:56 2015 -0300 [media] tc358743: add direct interrupt handling When probed from device tree, the i2c client driver can handle the interrupt on its own. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 25614824685247e00b786032a504f10bfab347b1 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 17 11:02:55 2015 -0300 [media] tc358743: support probe from device tree Add support for probing the TC358743 subdevice from device tree. The reference clock must be supplied using the common clock bindings. MIPI CSI-2 specific properties are parsed from the OF graph endpoint node and support for a non-continuous MIPI CSI-2 clock is added. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1eb995bbf7a85e18f54fb162eade381320a3fcea Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Jul 22 11:48:10 2015 +0300 dmaengine: ti-dma-crossbar: Add support for eDMA The crossbar for eDMA works exactly the same way as sDMA, but sDMA requires an offset of 1, while no offset is needed for eDMA. Based on the patch from Misael Lopez Cruz <misael.lopez@xxxxxx> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> CC: Misael Lopez Cruz <misael.lopez@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit be559daabfaac74a7acd8cb56fae86fca7349f10 Author: Misael Lopez Cruz <misael.lopez@xxxxxx> Date: Wed Jul 22 11:48:09 2015 +0300 dmaengine: ti-dma-crossbar: Make idr xbar instance-specific In preparation for supporting multiple DMA crossbar instances, make the idr xbar instance specific. Signed-off-by: Misael Lopez Cruz <misael.lopez@xxxxxx> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9a9f5ce8db176499a7f3f93172bf34176aa460f5 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:34 2015 +0200 drm: Roll out drm_for_each_connector more Now that we also grab the connection_mutex and so fixed the race with atomic modeset we can use the iterator there too. The other special case is drm_connector_unplug_all which would have a locking inversion with the sysfs store/show functions if we'd grab the mode_config.mutex around the unplug. We could just grab connection_mutex instead, but that's a bit too much a dirty trick for my taste. Also it's only used by udl, which doesn't do any other kind of connector hotplugging, so should be race-free. Hence just stick with a comment for now. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit cff20ba2758d6b82978be5b1f40536bfc121af88 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:33 2015 +0200 drm: Amend connector list locking rules Now that dp mst hotplug takes all locks we can amend the locking rules for the iterators. This is needed before we can roll these out in the atomic code to avoid getting burried in WARNINGs. v2: Rebase onto the extracted list locking assert and add a comment to explain the rules. v3: Fixup German->English translation fail in the comment. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 2ee6bcdcfa4d8b56b20bc6308cd5f9bced5b5324 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:32 2015 +0200 drm/radeon: Take all modeset locks for DP MST hotplug Similar with the i915 take all modeset locks for mst hotplug. This is needed to make sure radeon holds both mode_config.mutex and mode_config.connection_mutex when updating the connector_list, which is the new (interim) locking regime we want for that. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8bb4da1df54a20d68c34427356e34315ba122c0f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:31 2015 +0200 drm/i915: Take all modeset locks for DP MST hotplug While auditing various users of the connector/encoder lists I realized that the atomic code is a very prolific user of them. And it only ever grabs the mode_config->connection_mutex, but not the mode_config->mutex like all the other code walking encoder/connector lists. The problem is that we can't grab the mode_config.mutex late in atomic code since that would lead to locking inversions. And we don't want to grab it unconditionally like the legacy set_config modeset path since that would render all the fine-grained locking moot. Instead just grab more locks in the dp mst hotplug code. Note that drm_connector_init (which is the one adding the connector to these lists) already uses drm_modeset_lock_all. The other reason for grabbing all locks is that the dpms off in the unplug function amounts to a modeset, so better to take all required locks for that. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4676ba0be756b2b02b9737147713d458042962f7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:30 2015 +0200 drm: Check locking in drm_for_each_fb Ever since framebuffers are reference counted we have a special lock for the global fb list. Make sure users of that list do hold that lock when using the new iterators. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 3a58ee106529ebea5710087e9b77bc11365665ae Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 10 19:02:51 2015 +0200 drm/i915: Use drm_for_each_fb in i915_debugfs.c Just so I have a user for this macro. v2: Use the right macro - somehow I thought gcc should scream at me, but list_for_each isn't really typesafe unfortunately. Spotted by Ville. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 7a3f3d6667f5f9ffd1517f6b21d64bbf5312042c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:28 2015 +0200 drm: Check locking in drm_for_each_connector Because of DP MST connectors can now be hotplugged and we must hold the right lock when walking the connector lists. Enforce this by checking the locking in our shiny new list walking macros. v2: Extract the locking check into a small static inline helper to help readability. This will be more important when we make the read list access rules more complicated in later patches. Inspired by comments from Chris. Unfortunately, due to header loops around the definition of struct drm_device the function interface is a bit funny. v3: Encoders aren't hotadded/removed. For each dp mst encoder we statically create one fake encoder per pipe so that we can support as many mst sinks as the hw can (Dave). Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 169faecadd2444fc295c724c0a2f622b99e6bf19 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:27 2015 +0200 drm/fbdev-helper: Grab mode_config.mutex in drm_fb_helper_single_add_all_connectors This is now truly only duct-tape to keep locking checks happy since calling this function when hpd or polling are already enabled is a bug. The fbdev helper can't cope with hotplug changes yet at this point, only after that. Otoh a bit more robustness in this function can't hurt, and with this fbdev can actually cope with hotplug changes. And it's also more consistent with the connector hotadd/remove dp mst needs to do. Therefore document this as new official behavior. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8c4ccc4ab6f64e859d4ff8d7c02c2ed2e956e07f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:26 2015 +0200 drm/probe-helper: Grab mode_config.mutex in poll_init/enable So on first looks this seems superflous since drivers should ensure correct ordering to not make this a problem. Otoh ordering constraints between hdp, fbdev load and enabling polling are already tricky on some hardware and it helps to be more robust. But the real goal is to just shut up a locking WARN_ON I'd like to add, which means init code gets some additional locks just for uniformity. v2: Also grab the lock for the public poll_enable, not just poll_init which is used for resume, with the same justification. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 6295d607ad34ee4e43aab3f20714c2ef7a6adea1 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:25 2015 +0200 drm: Add modeset object iterators And roll them out across drm_* files. The point here isn't code prettification (it helps with that too) but that some of these lists aren't static any more. And having macros will gives us a convenient place to put locking checks into. I didn't add an iterator for props since that's only used by a list_for_each_entry_safe in the driver teardown code. Search&replace was done with the below cocci spatch. Note that there's a bunch more places that didn't match and which would need some manual changes, but I've intentially left these out for this mostly automated patch. iterator name drm_for_each_crtc; struct drm_crtc *crtc; struct drm_device *dev; expression head; @@ - list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + drm_for_each_crtc (crtc, dev) { ... } @@ iterator name drm_for_each_encoder; struct drm_encoder *encoder; struct drm_device *dev; expression head; @@ - list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { + drm_for_each_encoder (encoder, dev) { ... } @@ iterator name drm_for_each_fb; struct drm_framebuffer *fb; struct drm_device *dev; expression head; @@ - list_for_each_entry(fb, &dev->mode_config.fb_list, head) { + drm_for_each_fb (fb, dev) { ... } @@ iterator name drm_for_each_connector; struct drm_connector *connector; struct drm_device *dev; expression head; @@ - list_for_each_entry(connector, &dev->mode_config.connector_list, head) { + drm_for_each_connector (connector, dev) { ... } Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4ea50e99bd3501aea394aa7a9e9bd3115faabf37 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:44:24 2015 +0200 drm: Simplify drm_for_each_legacy_plane arguments No need to pass the planelist when everyone just uses dev->mode_config.plane_list anyway. I want to add a pile more of iterators with unified (obj, dev) arguments. This is just prep. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8ec23da73599848a5a5ecbab50f17a570b60c096 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 17 11:02:54 2015 -0300 [media] tc358743: enable v4l2 subdevice devnode Add V4L2_SUBDEV_FL_HAS_DEVNODE to subdev flags, in order to enable a subdev device node. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4c5211a100399c3823563193dd881dcb3b7d24fc Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 17 11:02:53 2015 -0300 [media] tc358743: register v4l2 asynchronous subdevice Add support for registering the sensor subdevice using the v4l2-async API. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 55b858b4e5f46e71f9e5089cb63602697a49a211 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Jul 17 08:45:22 2015 -0300 [media] cobalt: allow fewer than 8 PCIe lanes Currently the cobalt driver refuses to load if fewer than 8 PCIe lanes are assigned. This patch changes this and just issues a warning. The only time it will refuse to load is if the number of assigned lanes is less than what the PCIe host is capable of since this suggests that the card isn't seated correctly in the slot. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 810c168c233fc531ecd3e7a6d9e0b5a3ffe85da7 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Jul 17 08:29:40 2015 -0300 [media] cobalt: accept unchanged timings when vb2_is_busy() When vb2_is_busy() it should still be possible to call S_DV_TIMINGS provided the new timings are the same as the current timings. For input 1 (test generator) the size is always 1080p, so just return that. Fixes a v4l2-compliance issue. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c99235fa3ef833c3c23926085f2bb68851c8460a Author: Benoit Parrot <bparrot@xxxxxx> Date: Wed Jul 15 18:00:06 2015 -0300 [media] media: am437x-vpfe: Fix a race condition during release There was a race condition where during cleanup/release operation on-going streaming would cause a kernel panic because the hardware module was disabled prematurely with IRQ still pending. Fixes: 417d2e507edc ("[media] media: platform: add VPFE capture driver support for AM437X") Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 794445095791aa4f92dfd802f08b541167d63ecc Author: Fabien Dessenne <fabien.dessenne@xxxxxx> Date: Tue Jun 16 15:30:00 2015 +0200 ARM: DT: STiH410: Add bdisp dt nodes Add the bdisp (2D blitter for STMicroelectronics SoC) dt nodes for the first of the two bdisp devices, defining register address, interrupt and clock. Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 5ecd29ac5eaafbadaf80fc30c3b1a1ead8072294 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 17:06:00 2015 +0200 ARM: multi_v7_defconfig: Enable support for PWM Regulators Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit eb592bc2f33e6aefbbb1c280e2167ebf753a5863 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 17:06:00 2015 +0200 ARM: multi_v7_defconfig: Enable ST's PWM driver Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 23155ffc551d5fef0ba5c199c0042f0309c3952a Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 17:06:00 2015 +0200 ARM: STi: STiH407: Add PWM Regulator node Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit cd9f59ca6d32e87fc62d2ada80a7e8ef09bead56 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 17:06:00 2015 +0200 ARM: STi: STiH407: Move PWM nodes STiH407 => STiH407-family This also incorporates the STiH410. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 775b07de4fa470ac10cd74f1b1a8d441b4f5838d Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Wed Jul 22 17:39:35 2015 +0800 ASoC: mediatek: Add suspend/resume callbacks This adds suspend/resume callbacks, which are common for each DAI. To be able to continue the last playback/capture after resume when suspend was done during a playback/capture, in the callbacks we do backup/restore of registers which were set before prepare stage. Registers to be backup/restore are defined in a backup list array. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ec12693e5d03c7e6399ba1e9150908527b809f33 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 22 10:22:33 2015 +0800 ASoC: cs4349: Fix up setting PWR_DWN bit The PWR_DWN is Bit 7, so current code does not set the PWR_DWN bit. Fix it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6a75c0b62b0981c3a34d3336725b0840747e7680 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 22 09:59:47 2015 +0800 ASoC: cs4349: Remove unneeded NULL test for cs4349->reset_gpio It's safe to call gpiod_set_value_cansleep() with NULL desc. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5eb26c60590983e11f567916a83d1f0a70986553 Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Tue Jun 23 16:09:00 2015 +0200 ARM: STi: DT: Rename st_pll3200c32_407_c0_x into st_pll3200c32_cx_x Use a generic name for this kind of PLL Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 04cbfe68c3190f23bcfec230bfd832b533f35554 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Wed Jul 22 14:01:44 2015 +0530 mfd: Add GPIOLIB dependency if INTEL_SOC_PMIC is to be enabled This is needed as the CRC PMIC has support for Panel enable/diable as gpio which needs 'gpiod_add_lookup_table' and 'gpiod_remove_lookup_table' from gpiolib. This patch can be squashed with below commit in topic/crc-pmic branch commit 61dd2ca2d44e493b050adbbb75bc50db11c367dd Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:05 2015 +0530 mfd: intel_soc_pmic_core: Add lookup table for Panel Control as GPIO signal On some Intel SoC platforms, the panel enable/disable signals are controlled by CRC PMIC. Add those control as a new GPIO in a lookup table for gpio-crystalcove chip during CRC driver load Cc: Lee Jones <lee.jones@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 50de4dd4bc6a6e378841a6705696d2c1f37ac038 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Jun 9 23:47:00 2015 +0200 ARM: STi: Remove platform call to trace_hardirqs_off() Calling trace_hardirqs_off() from the platform specific secondary startup code as not been necessary since Dec 2010 when Russell King consolidated the call into the common SMP code. 2c0136d ARM: SMP: consolidate trace_hardirqs_off() into common SMP code Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 94a8cfceaa7ee7e7187c5de074eb5138a6b77dcf Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Jun 9 15:33:00 2015 +0200 ARM: STi: Add code to release secondary cores from holding pen. Most upstream devs boot STi platform via JTAG which abuses the boot process by setting the PC of secondary cores directly. As a consquence, booting STi platforms via u-boot results in only the primary core being brought up as the code to manage the holding pen is not upstream. This patch adds the necessary code to bring the secondary cores out of the holding pen. It uses the cpu-release-addr DT property to get the address of the holding pen from the bootloader. With this patch booting upstream kernels via u-boot works correctly: [ 0.045456] CPU: Testing write buffer coherency: ok [ 0.045597] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.045734] Setting up static identity map for 0x40209000 - 0x40209098 [ 0.065047] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.065081] Brought up 2 CPUs [ 0.065089] SMP: Total of 2 processors activated (5983.43 BogoMIPS). [ 0.065092] CPU: All CPU(s) started in SVC mode. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 0a8c739c066254195b86bc8387fe16e5f72a5bdd Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Jun 9 15:33:00 2015 +0200 ARM: STi: DT: STiH418: Add cpu-release-addr dt property. To enable SMP when booting via u-boot we need to specify the newly implemented cpu-release-addr DT property for cores 2 & 3. Cores 0 & 1 are inherited from stih407-family.dtsi. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit c1dc02da791fd046c284e216aa4ae3c16a54c805 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Jun 9 15:33:00 2015 +0200 ARM: STi: DT: STiH407: Add cpu-release-addr dt property. To enable SMP when booting via u-boot we need to specify the newly implemented cpu-release-addr DT property. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 810099f657579058b17fba28a0ce1414771f4d92 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family mtsin0 pinctrl configuration mtsin0 channel can only be configured for parallel data transfer. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit e0decdd60a730fe9d5607403ef48a4548d25ff24 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsout1 pinctrl configuration tsout1 channel can only be configured for serial data tranfer. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 75d28b8306f73419f38e3505b603b5d44dce39a0 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsout0 pinctrl configuration tsout0 channel can be configured for either serial or parallel data transfer. Both pin configurations are provided. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit dd72896f0d7cbbda0b404ed4b8ad46b56f363fc4 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin5 pinctrl configuration tsin5 can only be configured for serial data transfer. However depending on board design, two alternate tsin5 pin configurations are available, both in pin-controller-front0. pinctrl_tsin5_serial_alt1 is brought out on B2120 reference design as TSD on NIMB slot of the B2004A daughter board. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit af4d191e44c9b0ad40b248902881710b117844fb Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin4 pinctrl configuration tsin4 can only be configured for serial data transfer. However depending on board design, two alternate pin configurations are available. One in pin-controller-front0 and the other in pin-controller-front1. pinctrl_tsin4_serial_alt3 is brought out on B2120 reference design as TSC on NIMA slot of the B2004A daughter board. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 36cfc8c14365aa604e5b31e53d56db1299e4008f Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin3 pinctrl configuration tsin3 channel can only be configured for serial data transfer. On B2120 reference design tsin3 is brought out as TSB on the NIMB slot of the B2004A daughter board. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 855617d6aa3460a75a8c773a883a573fa90a54a8 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:04:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin2 pinctrl configuration tsin2 channel can be configured for either serial or parallel data transfer. This patch adds the pinctrl config for both possibilities. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 71cae849b974e899bab0ac348026cdde10fdf61e Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:03:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin1 pinctrl configuration tsin1 channel can be configured for either serial or parallel data transfer. This patch adds the pinctrl config for both possibilities. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 747d7e6e4cad88a26e25324dee72d56ca52e504a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Jun 10 16:03:00 2015 +0200 ARM: STi: DT: Add STiH407 family tsin0 pinctrl configuration tsin0 and be configured as either serial or parallel. This patch adds the pinctrl config for both possiblities. On B2120 reference design tsin0 is brought out as TSA on the NIMA slot of the B2004A daughter board. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 117ccc11ac271e446e6f0d65ed75d426a376ad45 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Wed Jul 22 07:44:06 2015 +0200 ARM: dts: rockchip: Use correct dts properties for tsadc node on veyron tsadc-tshut-mode and tsadc-tshut-polarity properties don't exist. The rockchip thermal driver looks for rockchip,hw-tshut-mode and rockchip,hw-tshut-polarity instead, otherwise it might freeze or hang the device according to the default mode or polarity used. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 63c88d2204bb33d060e22318b3d50162b7019add Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Jul 20 14:43:39 2015 -0700 drm/i915/bxt: add support for HPD long/short pulse detection on HPD_PORT_A pin This is a requirement for enabling display port HPD support on the port A HPD pin. This support is to be added by follow-up patches. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cc24fcdcea74844145f0f7683d4626be27dec221 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Jul 21 15:32:45 2015 -0700 drm/i915: don't use HPD_PORT_A as an alias for HPD_NONE Currently HPD_PORT_A is used as an alias for HPD_NONE to mean that the given port doesn't support long/short HPD pulse detection. SDVO and CRT ports are like this and for these ports we only want to know whether an hot plug event was detected on the corresponding pin. Since at least on BXT we need long/short pulse detection on PORT A as well (added by the next patch) remove this aliasing of HPD_PORT_A/HPD_NONE and let the return value of intel_hpd_pin_to_port() show whether long/short pulse detection is supported on the passed in pin. No functional change. v2: - rebase on top of -nightly (Daniel) - make the check for intel_hpd_pin_to_port() return value more readable (Sivakumar) Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fd63e2a972c670887e5e8a08440111d3812c0996 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Jul 21 15:32:44 2015 -0700 drm/i915: combine i9xx_get_hpd_pins and pch_get_hpd_pins These functions are quite similar, so combine them with the use of a new argument for a function that detects long pulses. This will be also needed by an upcoming patch adding support for BXT long pulse detection. No functional change. v2: - rebase on top -nightly (Daniel) Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d2334cb7da37e4b0005ca1d194d4e10ca7119f4 Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 14:04:18 2015 +0200 s390/cio: Implement proper Link Incident Record handling A hardware problem on a FICON link is reported by the Channel Subsystem to the operating system via a Link Incident Record (LIR). In response, the operating system should issue a message that enables hardware service personnel to identify and repair the failing component. Current Linux LIR handling is broken because LIR data is incorrectly interpreted and no log message is generated. This patch fixes Linux LIR handling by implementing a new log message for LIRs indicating a degraded or non-operational link. Also LIRs are no longer used to deactivate channel paths because the available data does not reliably allow to determine the affected channel path. Signed-off-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b1865401cf54c7ce06bccccb917f57c46a83b399 Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 14:00:30 2015 +0200 s390/cio: Fix comma After dutifully acting as statement separator for 6 long years, this comma has finally grown into a full semicolon. Signed-off-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 00fd2cb0ec4208a32272b4c2f1063ab99a76473c Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 09:06:55 2015 +0200 s390/sclp: Change SCLP console default buffer-full behavior Dropping kernel messages during a console-buffer-full condition is preferable to halting the system until console messages are delivered, especially for production systems. Update default for sclp_console_drop kernel parameter accordingly. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@xxxxxxxxxxxxxxxxxx> Acked-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 198a52789435a00087040ad0ec25da84c555621f Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 23 14:06:35 2015 +0200 s390/pci: inline get_zdev Inline get_zdev to save ~200 bytes of kernel text for CONFIG_PCI=y. Also rename the function to to_zpci to make clear that we don't do reference counting here. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2acb94f43128b5cd375873f9ba82fac968d3ce5d Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Jun 22 17:28:14 2015 +0200 s390/nmi: use the normal asynchronous stack for machine checks If a machine checks is received while the CPU is in the kernel, only the s390_do_machine_check function will be called. The call to s390_handle_mcck is postponed until the CPU returns to user space. Because of this it is safe to use the asynchronous stack for machine checks even if the CPU is already handling an interrupt. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a359bb1190f213d282f4934fd461cf440d87dae0 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Jun 22 17:27:48 2015 +0200 s390/kernel: squeeze a few more cycles out of the system call handler Reorder the instructions of UPDATE_VTIME to improve superscalar execution, remove duplicate checks for problem-state from the asynchronous interrupt handlers, and move the check for problem-state from the synchronous exit path to the program check path as it is only needed for program checks inside the kernel. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit d0fc41071a6884d0a10077bb6dc87f9267f32dd6 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Jun 22 17:26:40 2015 +0200 s390/kvm: integrate HANDLE_SIE_INTERCEPT into cleanup_critical Currently there are two mechanisms to deal with cleanup work due to interrupts. The HANDLE_SIE_INTERCEPT macro is used to undo the changes required to enter SIE in sie64a. If the SIE instruction causes a program check, or an asynchronous interrupt is received the HANDLE_SIE_INTERCEPT code forwards the program execution to sie_exit. All the other critical sections in entry.S are handled by the code in cleanup_critical that is called by the SWITCH_ASYNC macro. Move the sie64a function to the beginning of the critical section and add the code from HANDLE_SIE_INTERCEPT to cleanup_critical. Add a special case for the sie64a cleanup to the program check handler. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit dcd2a9aaa0e0331ba0c4d7a64830788f22f26aa4 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Jun 22 17:14:14 2015 +0200 s390/kvm: fix interrupt race with HANDLE_SIE_INTERCEPT The HANDLE_SIE_INTERCEPT macro is used in the interrupt handlers and the program check handler to undo a few changes done by sie64a. Among them are guest vs host LPP, the gmap ASCE vs kernel ASCE and the bit that indicates that SIE is currently running on the CPU. There is a race of a voluntary SIE exit vs asynchronous interrupts. If the CPU completed the SIE instruction and the TM instruction of the LPP macro at the time it receives an interrupt, the interrupt handler will run while the LPP, the ASCE and the SIE bit are still set up for guest execution. This might result in wrong sampling data, but it will not cause data corruption or lockups. The critical section in sie64a needs to be enlarged to include all instructions that undo the changes required for guest execution. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit d05377c12ae2ac88e747a28ae1e23f556d549592 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 17:34:07 2015 +0100 s390/crypto: add cpu feature modaliases for crypto modules Use the module_cpu_feature_match() module init function to add an module alias based on required CPU features. The modules are automatically loaded on hardware that supports the required CPU features. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8f00b3e28f73e712a2f82a15f66acd852f60e3ba Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 12:22:02 2015 +0100 s390/module: enable generic CPU feature modalias using s390 ELF hwcaps Add support for the generic CPU feature modalias implementation that wires up optional CPU features to udev-based module autoprobing. The <asm/cpufeature.h> file provides definitions to map CPU features to s390 ELF hardware capabilities. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 7d0c502040a23a5924d3021651cf5326c8694a77 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Feb 19 14:44:24 2015 +0100 cpufeature: correctly annotate the module init function A section mismatch warning is reported if an __init annotated function is specified for module_cpu_feature_match(). Change the module_cpu_feature_match() function and annotate the generated cpu_feature_match_* function as __init. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9977e886cbbc758b4b601a160b5825ba573b5ca8 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 10 12:53:42 2015 +0200 s390/kernel: lazy restore fpu registers Improve the save and restore behavior of FPU register contents to use the vector extension within the kernel. The kernel does not use floating-point or vector registers and, therefore, saving and restoring the FPU register contents are performed for handling signals or switching processes only. To prepare for using vector instructions and vector registers within the kernel, enhance the save behavior and implement a lazy restore at return to user space from a system call or interrupt. To implement the lazy restore, the save_fpu_regs() sets a CPU information flag, CIF_FPU, to indicate that the FPU registers must be restored. Saving and setting CIF_FPU is performed in an atomic fashion to be interrupt-safe. When the kernel wants to use the vector extension or wants to change the FPU register state for a task during signal handling, the save_fpu_regs() must be called first. The CIF_FPU flag is also set at process switch. At return to user space, the FPU state is restored. In particular, the FPU state includes the floating-point or vector register contents, as well as, vector-enablement and floating-point control. The FPU state restore and clearing CIF_FPU is also performed in an atomic fashion. For KVM, the restore of the FPU register state is performed when restoring the general-purpose guest registers before the SIE instructions is started. Because the path towards the SIE instruction is interruptible, the CIF_FPU flag must be checked again right before going into SIE. If set, the guest registers must be reloaded again by re-entering the outer SIE loop. This is the same behavior as if the SIE critical section is interrupted. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit bd550337f61b6f10dee8c60d0bd17ac02367b56d Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 30 17:32:52 2015 +0200 s390/vx: add vector instruction support for older binutils versions Older binutils versions do not include support for the vector instruction formats. Add assembler macros for vector instruction mnemonics to easily encode and generate vector instructions. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 155e839a814834a3b4b31e729f4716e59d3d2dd4 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 16:57:20 2015 +0200 s390/kernel: dynamically allocate FP register save area Make the floating-point save area dynamically allocated and uses a flag to distinguish whether a task uses floating-point or vector registers. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 904818e2f229f3d94ec95f6932a6358c81e73d78 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 15:33:54 2015 +0200 s390/kernel: introduce fpu-internal.h with fpu helper functions Introduce a new structure to manage FP and VX registers. Refactor the save and restore of floating point and vector registers with a set of helper functions in fpu-internal.h. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 96b2d7a83a27fbae10fc57c39577a7e2689d9f0a Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 12 13:53:51 2015 +0200 s390/kvm: validate the floating-point control before restoring it The kvm_arch_vcpu_load() does not validate whether the floating-point control (FPC) is valid. Further, the return code of the restore is not checked too. If the FPC is invalid, the restore fails and the host FPC value might remain. The correct behavior would be to clear the FPC if it is not valid. Hence, validate the FPC value and, optionally, reset the value before restoring it. Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 4084eb7767418861a81d9e24d222f2536537f58e Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 28 11:30:40 2015 +0200 s390/kernel: use test_fp_ctl() to verify the floating-point control word Use the test_fp_ctl() to test the floating-point control word for validity and use restore_fp_ctl() to set it in load_sigregs. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2e54dc3c7dadd4d012f132b1a2b3ab89d9a48cc2 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 12 10:57:40 2015 +0200 s390/kernel: move EX_TABLE macros to linkage.h header file Move the EX_TABLE macro definitions from the processor.h to the linkage.h header file. It helps to reduce circular header file dependencies. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6632d4fdd790965a2e4741a3652a1c365d52ae2e Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Tue May 12 08:22:01 2015 +0200 ARM: zynq: Set bit 22 in PL310 AuxCtrl register (6395/1) This patch is based on the commit 1a8e41cd672f ("ARM: 6395/1: VExpress: Set bit 22 in the PL310 (cache controller) AuxCtlr register") Clearing bit 22 in the PL310 Auxiliary Control register (shared attribute override enable) has the side effect of transforming Normal Shared Non-cacheable reads into Cacheable no-allocate reads. Coherent DMA buffers in Linux always have a cacheable alias via the kernel linear mapping and the processor can speculatively load cache lines into the PL310 controller. With bit 22 cleared, Non-cacheable reads would unexpectedly hit such cache lines leading to buffer corruption. For Zynq, this fix avoids memory inconsistencies between Gigabit Ethernet controller (GEM) and CPU when DMA_CMA is disabled. Suggested-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 974a2aba99d29bada9212134e7565d2364967636 Author: Arun Chandran <achandran@xxxxxxxxxx> Date: Fri Jun 12 12:23:24 2015 +0530 ARM: zynq: Fix earlyprintk in big endian mode earlyprintk messages are not appearing on the terminal emulator during a big endian kernel boot. In BE mode sending full words to UART will result in unprintable characters as they are byte swapped versions of printable ones. So send only bytes. Signed-off-by: Arun Chandran <achandran@xxxxxxxxxx> Tested-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit b2c51106c7581866c37ffc77c5d739f3d4b7cbc9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Tue Jul 21 09:27:18 2015 -0700 x86/build: Fix detection of GCC -mpreferred-stack-boundary support As per: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383 GCC only allows -mpreferred-stack-boundary=3 on x86_64 if -mno-sse is set. That means that cc-option will not detect -mpreferred-stack-boundary=3 support, because we test for it before setting -mno-sse. Fix it by reordering the Makefile bits. Compile-tested only. This should help avoid code generation issues such as the one that was worked around in: b96fecbfa8c8 ("x86/fpu: Fix boot crash in the early FPU code") I'm a bit concerned that we could still have problems on older GCC versions given that our asm code does not respect GCC's idea of the ABI-required stack alignment. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/f5297c192969adfa0d28b84cf8a22d59573db26d.1436126872.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b56ea2985d389a3676638203323ebe22c261b7fe Author: Rick Jones <rick.jones2@xxxxxx> Date: Tue Jul 21 16:14:13 2015 -0700 net: track success and failure of TCP PMTU probing Track success and failure of TCP PMTU probing. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b2c2a931a051e75f9df429b520bb2c2f2bb056b Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Jul 21 22:39:40 2015 +0530 cxgb4: Add debugfs entry to enable backdoor access Add debugfs entry 'use_backdoor' to enable backdoor access to read sge context. By default, we read sge context's via firmware. In case of FW issues, one can enable backdoor access via debugfs to dump sge context for debugging purpose. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 01faef2cebae02685e2bcfc9bbee8416d5ec19fc Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 09:16:24 2015 -0700 mpls: make RTA_OIF optional If user did not specify an oif, try and get it from the via address. If failed to get device, return with -ENODEV. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd36ef606ccf49c45bd7f71ea25007ace17968e3 Merge: 1604089 12fb0da Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 21 22:21:33 2015 -0700 Merge branch 'sfc-filter-chaining' Edward Cree says: ==================== sfc: support for cascaded multicast filtering Recent versions of firmware for SFC9100 adapters add support for filter chaining, in which packets matching multiple filters are delivered to all filters' recipients, rather than only the highest match-priority filter as was previously the case. This patch series enables this feature and redesigns the filter handling code to make use of it; in particular, subscribing to a multicast address on one function no longer prevents traffic to that address reaching another function which is in promiscuous or allmulti mode. If the firmware does not support filter chaining, the driver will fall back to the old behaviour. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12fb0da45c9a077dd76d9848f791fbdd4b8d4050 Author: Edward Cree <ecree@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:11:00 2015 +0100 sfc: clean fallbacks between promisc/normal in efx_ef10_filter_sync_rx_mode Separate functions for inserting individual and promisc filters; explicit fallback logic in efx_ef10_filter_sync_rx_mode(), in order not to overload the 'promisc' flag as also meaning "fall back to promisc". Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab8b1f7cf83a3016dcdeae874a469e2c8894fcd9 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:10:44 2015 +0100 sfc: support cascaded multicast filters If the workaround to support cascaded multicast filters ("workaround_26807") is enabled, the broadcast filter and individual multicast filters are not inserted when in promiscuous or allmulti mode. There is a race while inserting and removing filters when entering and leaving promiscuous mode. When changing promiscuous state with cascaded multicast filters, the old multicast filters are removed before inserting the new filters to avoid duplicating packets; this can lead to dropped packets until all filters have been inserted. The efx_nic:mc_promisc flag is added to record the presence of a multicast promiscuous filter; this gives a simple way to tell if the promiscuous state is changing. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 822b96f87f1b47ac0c73417284879ef610500173 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:10:27 2015 +0100 sfc: re-factor efx_ef10_filter_sync_rx_mode() This change is only re-factoring; there are no changes to functionality except for a slight elaboration of an error message (on mismatch filter insertion failure). Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6f568e27b6b214beaa0d57ddb4fcc446fcd5555 Author: Jon Cooper <jcooper@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:10:15 2015 +0100 sfc: Insert multicast filters as well as mismatch filters in promiscuous mode If a function is in promiscuous mode and another function has a broadcast or multicast filter inserted, the function in promiscuous mode won't see that broadcast or multicast traffic. Most notably this breaks broadcast, which means ARP doesn't work. Less show-stoppingly, a function listening on a multicast address that's also in promiscuous mode will not see that multicast traffic if another function is also listening on that multicast address. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a55a72abe48e5d6c0ec86e7b06cd73ab7d517c8 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:10:02 2015 +0100 sfc: warn if other functions have been reset by MCFW When enabling the workaround for cascaded multicast filters, the MC can reset other functions if they have already inserted filters. In that case, the workaround has been enabled, but print an info message in the log recording that other functions had to be reset. As other functions were reset, the MC will have incremented its boot count, so also increment the warm_boot_count on the function which enabled the workaround, as that function won't have received an MC reboot event and does not need to reset. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34ccfe6f8abd9ce7ea70e68f130cc6618737269f Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:09:43 2015 +0100 sfc: add output flag decoding to efx_mcdi_set_workaround The initial use of this will be to check a flag reporting if an FLR was performed on other functions when enabling cascaded multicast filters. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 832dc9ed43da8eb2033d90b46c1041e1d6947907 Author: Edward Cree <ecree@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:09:31 2015 +0100 sfc: cope with ENOSYS from efx_mcdi_get_workarounds() GET_WORKAROUNDS was only introduced in May 2014, not all firmware will have it. So call sites need to handle ENOSYS. In this case we're probing the bug26807 workaround, which is not implemented in any firmware that doesn't have GET_WORKAROUNDS. So interpret ENOSYS as 'false'. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46e612b0fcefb7a3381933135f386523dedb4159 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:09:18 2015 +0100 sfc: enable cascaded multicast filters in MCFW After creating event queue 0, check to see if the workaround is enabled, and enable it if necessary. This will be called during PCI probe and also when coming back up after a reset. The nic_data->workaround_26807 will be used in the future to control the filter insertion behaviour based on this workaround. Only the primary PF can enable this workaround, so tolerate an EPERM error and continue. Otherwise, if any step in the checking and enabling of the workaround fails, the event queue must be removed. We check that workaround is implemented before trying to enable it, and store the current workaround setting before trying to change it. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9196bb048a78936d097600fb47b0b5ab9cc00d5 Author: Edward Cree <ecree@xxxxxxxxxxxxxx> Date: Tue Jul 21 15:08:56 2015 +0100 sfc: update MCDI protocol definitions Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb9a4e7e824e998070c2a2d1d4c67bc971ab72b8 Author: Laurent Navet <laurent.navet@xxxxxxxxx> Date: Wed Jul 22 00:09:45 2015 -0400 ext4 crypto: fix spelling typo in comment Signed-off-by: Laurent Navet <laurent.navet@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit d76d99b219e1a233a720775c0451c310d34594e8 Author: Laurent Navet <laurent.navet@xxxxxxxxx> Date: Wed Jul 22 00:08:08 2015 -0400 ext4 crypto: exit cleanly if ext4_derive_key_aes() fails Return value of ext4_derive_key_aes() is stored but not used. Add test to exit cleanly if ext4_derive_key_aes() fail. Also fix coverity CID 1309760. Signed-off-by: Laurent Navet <laurent.navet@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 5ba92bcf0dd63b35a85e90c3016989733b239bb5 Author: Carlos Maiolino <cmaiolino@xxxxxxxxxx> Date: Tue Jul 21 23:57:59 2015 -0400 ext4: reject journal options for ext2 mounts There is no reason to allow ext2 filesystems be mounted with journal mount options. So, this patch adds them to the MOPT_NO_EXT2 mount options list. Signed-off-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 001e4a8775f6e8ad52a89e0072f09aee47d5d252 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Jul 21 23:51:26 2015 -0400 ext4: implement cgroup writeback support For ordered and writeback data modes, all data IOs go through ext4_io_submit. This patch adds cgroup writeback support by invoking wbc_init_bio() from io_submit_init_bio() and wbc_account_io() in io_submit_add_bh(). Journal data which is written by jbd2 worker is left alone by this patch and will always be written out from the root cgroup. ext4_fill_super() is updated to set MS_CGROUPWB when data mode is either ordered or writeback. In journaled data mode, most IOs become synchronous through the journal and enabling cgroup writeback support doesn't make much sense or difference. Journaled data mode is left alone. Lightly tested with sequential data write workload. Behaves as expected. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 5a33911fa5ecd7395115df2e27fbd22b73357ac5 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Jul 21 23:50:24 2015 -0400 ext4: replace ext4_io_submit->io_op with ->io_wbc ext4_io_submit_init() takes the pointer to writeback_control to test its sync_mode and determine between WRITE and WRITE_SYNC and records the result in ->io_op. This patch makes it record the pointer directly and moves the test to ext4_io_submit(). This doesn't cause any noticeable differences now but having writeback_control available throughout IO submission path will be depended upon by the planned cgroup writeback support. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 7fd6e11dca09b21efbe2b9db4eff08c8f4a16125 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 21 00:27:24 2015 +0000 ARM: shmobile: r8a7791: Add Audio MIX support on DTSI Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 88401702fe395880bb03c9d17720185c1d89b43f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 21 00:27:03 2015 +0000 ARM: shmobile: r8a7791: Add Audio CTU support on DTSI Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fc67bf42fa9a3e7c891e6318475f9c4d81a1d44e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 21 00:26:42 2015 +0000 ARM: shmobile: r8a7790: Add Audio MIX support on DTSI Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a7163784961e513a6d8c60b264737af623d1f33c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 21 00:26:20 2015 +0000 ARM: shmobile: r8a7790: Add Audio CTU support on DTSI Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 850346eccc2d32dd6d0a3b08e6ac127b8982c067 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed May 6 07:05:31 2015 +0300 ARM: shmobile: lager: Fix adv7511 IRQ sensing The adv7511 IRQ is low level triggered, not falling edge triggered. The wrong sense configuration results in no interrupt being triggered at all, breaking hotplug detection. Fix it. Reported-by: Ben Hutchings <ben.hutchings@xxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 16040894b26af9f85d9395f072c53d76a44eba21 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Tue Jul 21 06:42:28 2015 -0400 tipc: fix compatibility bug In commit d999297c3dbbe7fdd832f7fa4ec84301e170b3e6 ("tipc: reduce locking scope during packet reception") we introduced a new function tipc_link_proto_rcv(). This function contains a bug, so that it sometimes by error sends out a non-zero link priority value in created protocol messages. The bug may lead to an extra link reset at initial link establising with older nodes. This will never happen more than once, whereafter the link will work as intended. We fix this bug in this commit. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67b2914b9c3c27d909701c72b0bbed1a97c4b675 Merge: e181a54 f8af8e6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 21 16:12:56 2015 -0700 Merge branch 'explicit-inbound-link-state' Florian Fainelli says: ==================== net: enable inband link state negotiation only when explicitly requested Changes in v5: - removed an invalid use of the link_update callback in the SF2 driver was appeared after merging "net: phy: fixed_phy: handle link-down case" - reworded the commit message for patch 2 to make it clear what it fixes and why this is required Initial cover letter from Stas: Hello. Currently the link status auto-negotiation is enabled for any SGMII link with fixed-link DT binding. The regression was reported: https://lkml.org/lkml/2015/7/8/865 Apparently not all HW that implements SGMII protocol, generates the inband status for the auto-negotiation to work. More details here: https://lkml.org/lkml/2015/7/10/206 The following patches reverts to the old behavior by default, which is to not enable the auto-negotiation for fixed-link. The new DT property is added that allows to explicitly request the auto-negotiation. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8af8e6eb95093d5ce5ebcc52bd1929b0433e172 Author: Stas Sergeev <stsp@xxxxxxx> Date: Mon Jul 20 17:49:58 2015 -0700 mvneta: use inband status only when explicitly enabled The commit 898b2970e2c9 ("mvneta: implement SGMII-based in-band link state signaling") implemented the link parameters auto-negotiation unconditionally. Unfortunately it appears that some HW that implements SGMII protocol, doesn't generate the inband status, so it is not possible to auto-negotiate anything with such HW. This patch enables the auto-negotiation only if explicitly requested with the 'managed' DT property. This patch fixes the following regression: https://lkml.org/lkml/2015/7/8/865 Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> CC: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cba5c2103657d43d0886e4cff8004d95a3d0def Author: Stas Sergeev <stsp@xxxxxxx> Date: Mon Jul 20 17:49:57 2015 -0700 of_mdio: add new DT property 'managed' to specify the PHY management type Currently the PHY management type is selected by the MAC driver arbitrary. The decision is based on the presence of the "fixed-link" node and on a will of the driver's authors. This caused a regression recently, when mvneta driver suddenly started to use the in-band status for auto-negotiation on fixed links. It appears the auto-negotiation may not work when expected by the MAC driver. Sebastien Rannou explains: << Yes, I confirm that my HW does not generate an in-band status. AFAIK, it's a PHY that aggregates 4xSGMIIs to 1xQSGMII ; the MAC side of the PHY (with inband status) is connected to the switch through QSGMII, and in this context we are on the media side of the PHY. >> https://lkml.org/lkml/2015/7/10/206 This patch introduces the new string property 'managed' that allows the user to set the management type explicitly. The supported values are: "auto" - default. Uses either MDIO or nothing, depending on the presence of the fixed-link node "in-band-status" - use in-band status Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Florian Fainelli <f.fainelli@xxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: devicetree@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx CC: netdev@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 868a4215be9a6d80548ccb74763b883dc99d32a2 Author: Stas Sergeev <stsp@xxxxxxx> Date: Mon Jul 20 17:49:56 2015 -0700 net: phy: fixed_phy: handle link-down case fixed_phy_register() currently hardcodes the fixed PHY link to 1, and expects to find a "speed" parameter to provide correct information towards the fixed PHY consumer. In a subsequent change, where we allow "managed" (e.g: (RS)GMII in-band status auto-negotiation) fixed PHYs, none of these parameters can be provided since they will be auto-negotiated, hence, we just provide a zero-initialized fixed_phy_status to fixed_phy_register() which makes it fail when we call fixed_phy_update_regs() since status.speed = 0 which makes us hit the "default" label and error out. Without this change, we would also see potentially inconsistent speed/duplex parameters for fixed PHYs when the link is DOWN. CC: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Stas Sergeev <stsp@xxxxxxxxxxxxxxxxxxxxx> [florian: add more background to why this is correct and desirable] Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2eac98f7d1b950b762a7eca05a9ce0ea1d878d2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Jul 20 17:49:55 2015 -0700 net: dsa: bcm_sf2: Do not override speed settings The SF2 driver currently overrides speed settings for its port configured using a fixed PHY, this is both unnecessary and incorrect, because we keep feedback to the hardware parameters that we read from the PHY device, which in the case of a fixed PHY cannot possibly change speed. This is a required change to allow the fixed PHY code to allow registering a PHY with a link configured as DOWN by default and avoid some sort of circular dependency where we require the link_update callback to run to program the hardware, and we then utilize the fixed PHY parameters to program the hardware with the same settings. Fixes: 246d7f773c13 ("net: dsa: add Broadcom SF2 switch driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e181a5430491f038c198f0eacc3142d6e871c2da Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Jul 19 22:21:13 2015 +0200 net: #ifdefify sk_classid member of struct sock The sk_classid member is only required when CONFIG_CGROUP_NET_CLASSID is enabled. #ifdefify it to reduce the size of struct sock on 32 bit systems, at least. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c45f5c9943ce0b16b299b543c2aae12408039027 Author: Jon Derrick <jonathan.derrick@xxxxxxxxx> Date: Tue Jul 21 15:08:13 2015 -0600 nvme: Fixes u64 division which breaks i386 builds Uses div_u64 for u64 division and round_down, a bitwise operation, instead of rounddown, which uses a modulus. Signed-off-by: Jon Derrick <jonathan.derrick@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 019d8817b1b064c2bacfbcf40fc68184438ad05a Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 14:40:06 2015 +0200 PM / sleep: Allow devices without runtime PM to do direct-complete Don't unset the direct_complete flag on devices that have runtime PM disabled, if they are runtime suspended. This is needed because otherwise ancestor devices wouldn't be able to do direct_complete without adding runtime PM support to all its descendants. Also removes pm_runtime_suspended_if_enabled() because it's now unused. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7d132de8b0caece3b23098aee97df07e82e27fc0 Merge: af37612 fb18539 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 21 14:06:46 2015 -0700 Merge tag 'tags/pxa-dt-4.3' of https://github.com/rjarzmik/linux into next/dt Merge "pxa-dt for v4.3" from Robert Jarzmik: This device-tree pxa update brings : - dma nodes after dmaengine pxa_dma driver merge - camera driver - usb host controller * tag 'tags/pxa-dt-4.3' of https://github.com/rjarzmik/linux: ARM: dts: pxa: fix power i2c definition ARM: dts: pxa: add the usb host controller ARM: dts: pxa: add embedded pxa camera capture interface ARM: dts: pxa: add dma pxamci nodes to pxa3xx ARM: dts: pxa: add dma engine node to pxa3xx-nand ARM: dts: pxa: add dma controller Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 57c0f8c9c45365d167f8606dad7fde9565432b7a Author: Dalon Westergreen <dwesterg@xxxxxxxxx> Date: Wed Jul 8 16:48:49 2015 -0700 ARM: dts: socfpga: Add support of Terasic DE0 Atlas board The Terasic DE0 Atlas board is also known as the DE0-Nano board. This patch adds the DTS board file for the DE0-Nano Sockit board, and not the DE0 Nano "Development Board". Signed-off-by: Dalon Westergreen <dwesterg@xxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> --- v3: Updated skew settings for the gmac1 node as this board is using the KSZ9031 PHY instead of the 9021 PHY. v2: use stdpath-out for console and remove comment regarding u-boot ethaddr commit 7aa6ca4d39edf01f997b9e02cf6d2fdeb224f351 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Jul 13 11:40:07 2015 -0700 PCI: Add VPD function 0 quirk for Intel Ethernet devices Set the PCI_DEV_FLAGS_VPD_REF_F0 flag on all Intel Ethernet device functions other than function 0, so that on multi-function devices, we will always read VPD from function 0 instead of from the other functions. [bhelgaas: changelog] Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx commit 932c435caba8a2ce473a91753bad0173269ef334 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Jul 13 11:40:02 2015 -0700 PCI: Add dev_flags bit to access VPD through function 0 Add a dev_flags bit, PCI_DEV_FLAGS_VPD_REF_F0, to access VPD through function 0 to provide VPD access on other functions. This is for hardware devices that provide copies of the same VPD capability registers in multiple functions. Because the kernel expects that each function has its own registers, both the locking and the state tracking are affected by VPD accesses to different functions. On such devices for example, if a VPD write is performed on function 0, *any* later attempt to read VPD from any other function of that device will hang. This has to do with how the kernel tracks the expected value of the F bit per function. Concurrent accesses to different functions of the same device can not only hang but also corrupt both read and write VPD data. When hangs occur, typically the error message: vpd r/w failed. This is likely a firmware bug on this device. will be seen. Never set this bit on function 0 or there will be an infinite recursion. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx commit e69724f32e62502a6e686eae36b7aadfeea60dca Merge: 2070c48 614732e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 21 10:39:07 2015 -0700 Merge branch 'lwtunnel' Thomas Graf says: ==================== Lightweight & flow based encapsulation This series combines the work previously posted by Roopa, Robert and myself. It's according to what we discussed at NFWS. The motivation of this series is to: * Consolidate code between OVS and the rest of the kernel and get rid of OVS vports and instead represent them as pure net_devices. * Introduce a lightweight tunneling mechanism which enables flow based encapsulation to improve scalability on both RX and TX. * Do the above in an encapsulation unspecific way so that the encapsulation type is eventually abstracted away from the user. * Use the same forwarding decision for both native forwarding and encapsulation thus allowing to switch between native IPv6 and UDP encapsulation based on endpoint without requiring additional logic The fundamental changes introduces in this series are: * A new RTA_ENCAP Netlink attribute for routes carrying encapsulation instructions. Depending on the specified type, the instructions apply to UDP encapsulations, MPLS and possible other in the future. * Depending on the encapsulation type, the output function of the dst is directly overwritten or the dst merely attaches metadata and relies on a subsequent net_device to apply it to the packet. The latter is typically used if an inner and outer IP header exist which require two subsequent routing lookups to be performed. * A new metadata_dst structure which can be attached to skbs to carry metadata in between subsystems. This new metadata transport is used to provide a single interface for VXLAN, routing and OVS to communicate through metadata. The OVS interfaces remain as-is but will transparently create a real VXLAN net_device in the background. iproute2 is extended with a new use cases: VXLAN: ip route add 40.1.1.1/32 encap vxlan id 10 dst 50.1.1.2 dev vxlan0 MPLS: ip route add 10.1.1.0/30 encap mpls 200 via inet 10.1.1.1 dev swp1 Performance implications: The additional memory allocation in the receive path should have performance implications although it is not observable in standard throughput tests if GRO is properly done. The correct net_device model outweights the additional cost of the allocation. Furthermore, this implication can be relaxed by reintroducing a direct unqueued path from a software device to a consumer like bridge or OVS if needed. $ netperf -t TCP_STREAM -H 15.1.1.201 MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 15.1.1.201 (15.1.1.201) port 0 AF_INET : demo Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 10.00 9118.17 Changes since v1: * Properly initialize tun_id as reported by Julian * Drop dupliate netif_keep_dst() as reported by Alexei ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 614732eaa12dd462c0ab274700bed14f36afea5e Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:06 2015 +0200 openvswitch: Use regular VXLAN net_device device This gets rid of all OVS specific VXLAN code in the receive and transmit path by using a VXLAN net_device to represent the vport. Only a small shim layer remains which takes care of handling the VXLAN specific OVS Netlink configuration. Unexports vxlan_sock_add(), vxlan_sock_release(), vxlan_xmit_skb() since they are no longer needed. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9db965c524ea27451e60d5ddcd242f6c33a70fd Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:05 2015 +0200 openvswitch: Abstract vport name through ovs_vport_name() This allows to get rid of the get_name() vport ops later on. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be4ace6e6b1bc12e18b25fe764917e09a1f96d7b Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:04 2015 +0200 openvswitch: Move dev pointer into vport itself This is the first step in representing all OVS vports as regular struct net_devices. Move the net_device pointer into the vport structure itself to get rid of struct vport_netdev. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34ae932a40369be6bd6ea97d66b6686361b4370d Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:03 2015 +0200 openvswitch: Make tunnel set action attach a metadata dst Utilize the new metadata dst to attach encapsulation instructions to the skb. The existing egress_tun_info via the OVS_CB() is left in place until all tunnel vports have been converted to the new method. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0dfbdf4102b9303d3ddf2177c0220098ff99f6de Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:02 2015 +0200 vxlan: Factor out device configuration This factors out the device configuration out of the RTNL newlink API which allows for in-kernel creation of VXLAN net_devices. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7030878fc8448492b6e5cecd574043f63271298 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:01 2015 +0200 fib: Add fib rule match on tunnel id This add the ability to select a routing table based on the tunnel id which allows to maintain separate routing tables for each virtual tunnel network. ip rule add from all tunnel-id 100 lookup 100 ip rule add from all tunnel-id 200 lookup 200 A new static key controls the collection of metadata at tunnel level upon demand. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3093fbe7ff4bc7d1571fc217dade1cf80330a714 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:44:00 2015 +0200 route: Per route IP tunnel metadata via lightweight tunnel This introduces a new IP tunnel lightweight tunnel type which allows to specify IP tunnel instructions per route. Only IPv4 is supported at this point. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b7179d3adff0ab71f85ee24d7de28ccb7734b89 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:59 2015 +0200 route: Extend flow representation with tunnel key Add a new flowi_tunnel structure which is a subset of ip_tunnel_key to allow routes to match on tunnel metadata. For now, the tunnel id is added to flowi_tunnel which allows for routes to be bound to specific virtual tunnels. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee122c79d4227f6ec642157834b6a90fcffa4382 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:58 2015 +0200 vxlan: Flow based tunneling Allows putting a VXLAN device into a new flow-based mode in which skbs with a ip_tunnel_info dst metadata attached will be encapsulated according to the instructions stored in there with the VXLAN device defaults taken into consideration. Similar on the receive side, if the VXLAN_F_COLLECT_METADATA flag is set, the packet processing will populate a ip_tunnel_info struct for each packet received and attach it to the skb using the new metadata dst. The metadata structure will contain the outer header and tunnel header fields which have been stripped off. Layers further up in the stack such as routing, tc or netfitler can later match on these fields and perform forwarding. It is the responsibility of upper layers to ensure that the flag is set if the metadata is needed. The flag limits the additional cost of metadata collecting based on demand. This prepares the VXLAN device to be steered by the routing and other subsystems which allows to support encapsulation for a large number of tunnel endpoints and tunnel ids through a single net_device which improves the scalability. It also allows for OVS to leverage this mode which in turn allows for the removal of the OVS specific VXLAN code. Because the skb is currently scrubed in vxlan_rcv(), the attachment of the new dst metadata is postponed until after scrubing which requires the temporary addition of a new member to vxlan_metadata. This member is removed again in a later commit after the indirect VXLAN receive API has been removed. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0accfc268f4d3345693d3af3d5780aae3ad93d8d Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:57 2015 +0200 arp: Inherit metadata dst when creating ARP requests If output device wants to see the dst, inherit the dst of the original skb and pass it on to generate the ARP request. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f38a9eb1f77b296ff07e000823884a0f64d67b2a Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:56 2015 +0200 dst: Metadata destinations Introduces a new dst_metadata which enables to carry per packet metadata between forwarding and processing elements via the skb->dst pointer. The structure is set up to be a union. Thus, each separate type of metadata requires its own dst instance. If demand arises to carry multiple types of metadata concurrently, metadata dst entries can be made stackable. The metadata dst entry is refcnt'ed as expected for now but a non reference counted use is possible if the reference is forced before queueing the skb. In order to allow allocating dsts with variable length, the existing dst_alloc() is split into a dst_alloc() and dst_init() function. The existing dst_init() function to initialize the subsystem is being renamed to dst_subsys_init() to make it clear what is what. The check before ip_route_input() is changed to ignore metadata dsts and drop the dst inside the routing function thus allowing to interpret metadata in a later commit. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 773a69d64bf65eb6c212c97e9737963a2cf668fd Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:55 2015 +0200 icmp: Don't leak original dst into ip_route_input() ip_route_input() unconditionally overwrites the dst. Hide the original dst attached to the skb by calling skb_dst_set(skb, NULL) prior to ip_route_input(). Reported-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d8fff907342d2339796dbd27ea47d0e76a6a2d0 Author: Thomas Graf <tgraf@xxxxxxx> Date: Tue Jul 21 10:43:54 2015 +0200 ip_tunnel: Make ovs_tunnel_info and ovs_key_ipv4_tunnel generic Rename the tunnel metadata data structures currently internal to OVS and make them generic for use by all IP tunnels. Both structures are kernel internal and will stay that way. Their members are exposed to user space through individual Netlink attributes by OVS. It will therefore be possible to extend/modify these structures without affecting user ABI. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3e4712ec0961ed586a8db340bd994c4ad7f5dba Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:53 2015 +0200 mpls: ip tunnel support This implementation uses lwtunnel infrastructure to register hooks for mpls tunnel encaps. It picks cues from iptunnel_encaps infrastructure and previous mpls iptunnel RFC patches from Eric W. Biederman and Robert Shearman Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit face0188e31b3cfc598d8dc3470e28e00fb3b07c Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:52 2015 +0200 mpls: export mpls functions for use by mpls iptunnels Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74a0f2fe8ed51e3adbb1c882be04672fe7bb6996 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:51 2015 +0200 ipv6: rt6_info output redirect to tunnel output This is similar to ipv4 redirect of dst output to lwtunnel output function for encapsulation and xmit. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8602a625024737602630fe0dee423b3096d31524 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:50 2015 +0200 ipv4: redirect dst output to lwtunnel output For input routes with tunnel encap state this patch redirects dst output functions to lwtunnel_output which later resolves to the corresponding lwtunnel output function. This has been tested to work with mpls ip tunnels. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ffce41962ef64b8e685e5b621caf24bf381addd9 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:49 2015 +0200 lwtunnel: support dst output redirect function This patch introduces lwtunnel_output function to call corresponding lwtunnels output function to xmit the packet. It adds two variants lwtunnel_output and lwtunnel_output6 for ipv4 and ipv6 respectively today. But this is subject to change when lwtstate will reside in dst or dst_metadata (as per upstream discussions). Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19e42e45150672124b6a4341e2bc7982d247f0ac Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:48 2015 +0200 ipv6: support for fib route lwtunnel encap attributes This patch adds support in ipv6 fib functions to parse Netlink RTA encap attributes and attach encap state data to rt6_info. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 571e722676fe386bb66f72a75b64a6ebf535c077 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:47 2015 +0200 ipv4: support for fib route lwtunnel encap attributes This patch adds support in ipv4 fib functions to parse user provided encap attributes and attach encap state data to fib_nh and rtable. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 499a24256862714539e902c0499b67da2bb3ab72 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:46 2015 +0200 lwtunnel: infrastructure for handling light weight tunnels like mpls Provides infrastructure to parse/dump/store encap information for light weight tunnels like mpls. Encap information for such tunnels is associated with fib routes. This infrastructure is based on previous suggestions from Eric Biederman to follow the xfrm infrastructure. Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a0d9a8604f29ee3340126ec3f90c9421f930aa50 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:43:45 2015 +0200 rtnetlink: introduce new RTA_ENCAP_TYPE and RTA_ENCAP attributes This patch introduces two new RTA attributes to attach encap data to fib routes. Example iproute2 command to attach mpls encap data to ipv4 routes $ip route add 10.1.1.0/30 encap mpls 200 via inet 10.1.1.1 dev swp1 Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Suggested-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 768dd3f3a6af25730ed1eec458e47a3c481bc3e5 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:31 2015 +0200 perf header: Use argv style storage for cmdline feature data We will reuse argv style data in following change to display counters header showing monitored command line. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-12-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0e5ffb317d7f861c309b0ab679ed2f59e9f72adf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:29 2015 +0200 perf evlist: Tolerate NULL maps in propagate_maps Tolerating NULL maps in perf_evlist__propagate_maps, so we dont need to pass evlist with both cpus and threads maps defined. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-10-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 52361ff093c807464f5a32a587a370b360bd399a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:28 2015 +0200 perf evlist: Use bool instead of target argument in propagate_maps() We need only bool info wether user defined her own set of cpus. Switching target argument to bool so it could be used from places without target object defined in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-9-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3de5cfb04435b82aa427d0285df996ba73d2f426 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:30 2015 +0200 perf evlist: Force perf_evlist__set_maps to propagate maps through events Forcing perf_evlist__set_maps to propagate maps through events, so cpu/thread maps get set within evlist. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-11-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 35318d204db83f5c1f24c281839763b271b9b323 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jul 21 14:31:21 2015 +0200 perf test: Check for refcnt in thread_map test Checking also for refcnt in thread_map test. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437481927-29538-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 480689617510381391b3d906549477b948d9c4bc Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 18:11:08 2015 +0200 ASoC: dapm: Avoid duplicating immutable strings When creating a new widget from a template the name string of the template is duplicated for the newly created widget. This is necessary because in some cases the string might be stored on the stack or other volatile memory locations. But most of the time the string is static const data, which means it is possible to use it directly without having to worry that it might get freed or changed. Use kstrdup_const() to handle duplicating the string. This function is capable of detecting whether a string is immutable and if it is returns the input without duplicating it. This will slightly reduce the runtime memory footprint of DAPM and also speed up initialization. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b97e26980f6c13afad4c249b60a8dca7f5f86116 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Jul 21 18:11:07 2015 +0200 ASoC: dapm: Add helper function to free a widget snd_soc_tplg_widget_remove_all() has a verbatim copy of an older version of the widget freeing code from dapm_free_widgets(). Add a new helper function that takes care of freeing a widget and use it in both places. This removes the duplicated code and also makes sure that future changes to the widget freeing code only have to be made in one location. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 62d8f23795aec9e8db2529a8ce2be638b9ab4c18 Merge: bc0195a a798c24 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Jul 21 18:08:05 2015 +0100 Merge branch 'fix/dapm' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-dapm commit c4a42915d84ad4b5b5e13aeed5da67f458e22399 Author: Jean-Francois Moine <moinejf@xxxxxxx> Date: Tue Jul 21 18:32:58 2015 +0200 ASoC: kirkwood: prevent double streaming The kirkwood audio subsystem presents 2 PCM's for one source. Streaming on a second PCM while the first one is active cuts this last one. Then, ending the last stream gives a kernel trap in free_irq(). Signed-off-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 43163022927b6e7d202a7e6f939c3f392465494d Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue May 19 14:38:22 2015 -0700 mtd: m25p80: allow arbitrary OF matching for "jedec,spi-nor" When we added the "jedec,spi-nor" compatible string for use in this driver, we added it as a modalias option. The modalias can be derived in different ways for platform devices vs. device tree (of_*) matching. But for device tree matching (the primary target of this identifier string), the modalias is determined from the first entry in the 'compatible' property. IOW, the following properties would bind to this driver: // Option (a), modalias = "spi-nor" compatible = "jedec,spi-nor"; // Option (b), modalias = "spi-nor" compatible = "idontknowwhatimdoing,spi-nor"; But the following would not: // Option (c), modalias = "shinynewdevice" compatible = "myvendor,shinynewdevice", "jedec,spi-nor"; So, we'd like to match (a) and (c) (even when we don't have an explicit entry for "shinynewdevice"), and we'd rather not allow (b). To do this, we (1) always (for devices without specific platform data) pass the modalias to the spi-nor library; (2) rework the spi-nor library to not reject "bad" names, and instead just fall back to autodetection; and (3) add the .of_match_table to properly catch all "jedec,spi-nor". This allows (a) and (c) without warnings, and rejects (b). Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 8ef54f27f6f425fa8deedc237d99b9daf41d68d2 Author: Duc Dang <dhdang@xxxxxxx> Date: Thu Jul 9 14:20:12 2015 -0700 PCI: xgene: Add support for a 64-bit prefetchable memory window X-Gene PCIe controller has registers to support multiple memory ranges. Add support for a 64-bit prefetchable memory window. [bhelgaas: changelog] Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Tanmay Inamdar <tinamdar@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a13eaf02e2d6326a59f142db329faf4efb527e79 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Jul 21 16:46:25 2015 +0200 regulator: rk808: make better use of the gpiod API The gpiod functions include variants for managed gpiod resources. Use it to simplify the remove function. As the driver handles a device node without a specification of dvs gpios just fine, additionally use the variant of gpiod_get exactly for this use case. This makes error checking more strict. As a third benefit this patch makes the driver use the flags parameter of gpiod_get* which will not be optional any more after 4.2 and so prevents a build failure when the respective gpiod commit is merged. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 604d4994277f3526c8ec7ba16f32e236d5ca3e78 Author: Uwe Kleine-König <uwe@xxxxxxxxxxxxxxxxx> Date: Tue Jul 21 16:46:24 2015 +0200 regulator: rk808: add #include for gpiod functions This fixes a build problem on mips found by the kbuild test robot: drivers/regulator/rk808-regulator.c: In function 'rk808_buck1_2_get_voltage_sel_regmap': drivers/regulator/rk808-regulator.c:97:2: error: implicit declaration of function 'gpiod_get_value' [-Werror=implicit-function-declaration] if (IS_ERR(gpio) || gpiod_get_value(gpio) == 0) ^ Fixes: bad47ad2eef3 ("regulator: rk808: fixed the overshoot when adjust voltage") Signed-off-by: Uwe Kleine-König <uwe@xxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 80bb3eda7475eb38b688d2e915c191ce6ad20df1 Author: Duc Dang <dhdang@xxxxxxx> Date: Thu Jul 9 14:20:11 2015 -0700 arm64: dts: Add APM X-Gene PCIe 64-bit prefetchable window Add a large window (up to 64GB) for X-Gene PCIe nodes to support devices that require huge BARs. Each X-Gene PCIe node will now have two memory windows: a 32-bit non-prefetchable window and a 64-bit prefetchable window. [bhelgaas: changelog] Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Tanmay Inamdar <tinamdar@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit ccbc175aad819e1d4b6af6246b12d55b13d97815 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Jul 7 12:24:35 2015 -0700 PCI: Restore ACS configuration as part of pci_restore_state() Previously we did not restore ACS state after a PCIe reset. This meant that we could not reassign interfaces after a system suspend because the D0->D3 transition disabled ACS, and we didn't restore it when going back to D0. Restore ACS configuration in pci_restore_state(). [bhelgaas: changelog] Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Allen Kay <allen.m.kay@xxxxxxxxx> CC: Chris Wright <chris@xxxxxxxxxxxx> CC: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 8ffaadf7429270914b8f146ec13cf305e01df20d Author: Jon Derrick <jonathan.derrick@xxxxxxxxx> Date: Mon Jul 20 10:14:09 2015 -0600 NVMe: Use CMB for the IO SQes if available Some controllers have a controller-side memory buffer available for use for submissions, completions, lists, or data. If a CMB is available, the entire CMB will be ioremapped and it will attempt to map the IO SQes onto the CMB. The queues will be shrunk as needed. The CMB will not be used if the queue depth is shrunk below some threshold where it may have reduced performance over a larger queue in system memory. Signed-off-by: Jon Derrick <jonathan.derrick@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 498c43949c7b8f57e0afb8195019cf5a7ba72de0 Author: Jon Derrick <jonathan.derrick@xxxxxxxxx> Date: Mon Jul 20 10:14:08 2015 -0600 NVMe: Unify SQ entry writing and doorbell ringing This patch changes sq_cmd writers to instead create their command on the stack. __nvme_submit_cmd copies the sq entry to the queue and writes the doorbell. Signed-off-by: Jon Derrick <jonathan.derrick@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e4a8f8ee89ed15eb7849bc064c2defe76cc085cf Author: Russell Joyce <russell.joyce@xxxxxxxxxx> Date: Tue Jul 7 17:54:19 2015 +0100 PCI: xilinx: Check for MSI interrupt flag before handling as INTx Occasionally both MSI and INTx bits in the interrupt decode register are set at once by the Xilinx AXI PCIe Bridge, so the MSI flag in the interrupt message should be checked to ensure that the correct handler is used. If this check is not in place and the interrupt message type is MSI, the INTx handler will be used erroneously when both type bits are set. This will also be followed by a second read of the message FIFO, which can result in the function returning early and the interrupt decode register not being cleared if the FIFO is now empty. Signed-off-by: Russell Joyce <russell.joyce@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 292c24a073ee34c629966eec8b48d54b0a206667 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Jul 20 22:55:28 2015 +0800 percpu: clean up of schunk->map[] assignment in pcpu_setup_first_chunk The original assignment is a little redundent. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit e79801ffe9c862597750359b8c6825f3a3bfaa4f Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Jul 16 08:48:43 2015 -0700 mwifiex: correct p2p and station interface counters While changing interface type from p2p client or p2p go to station, we should update counters for p2p interface and station interface. Also calling mwifiex_cfg80211_deinit_p2p method instead of mwifiex_cfg80211_init_p2p_client method to deinit p2p interface. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0c6303cc06954c336a8221522e9ddf056125afab Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Jul 16 08:05:22 2015 -0700 mwifiex: use maximum ssid length as 0xfe for p2p 0xfe is basically a magic number used to ask firmware match provided string in a SSID. In this case, firmware will return scan results containing"DIRECT-" string. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 40d7412b56f02160291a5153551c4ada8e76f6ed Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Jul 16 08:05:21 2015 -0700 mwifiex: add bss mode TLV to extended scan command We are setting BSS mode as ANY so that firmware will provide all types of scan entries. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8358491d893e08d4b82af0d6012e078158f57ed9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Jul 16 15:42:15 2015 +0300 iwlegacy: convert hex_dump_to_buffer() to %*ph There is no need to use hex_dump_to_buffer() in the cases like this: hexdump_to_buffer(buf, len, 16, 1, outbuf, outlen, false); /* len <= 16 */ sprintf("%s\n", outbuf); since it maybe easily converted to simple: sprintf("%*ph\n", len, buf); Note: it seems in the case the output is groupped by 2 bytes and looks like a typo. Thus, patch changes that to plain byte stream. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5d6af28a2d240602a594cea236406a9d29bc719a Author: Guy Mishol <guym@xxxxxx> Date: Thu Jul 16 11:22:47 2015 +0300 wlcore: add antenna diversity reading update the rssi reading on rx_status to read both RSSI level (7 bits) and antenna diversity (msb) Signed-off-by: Guy Mishol <guym@xxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6301566e0b2dafa7d6779598621bca867962a0a2 Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 15:54:07 2015 +0800 ath9k: export HW random number generator We measured the FFT-based entropy in 3 ways, Shannon entropy, collision entropy, and directly measured min-entropy. Just to be conservative, we recommend the estimated min-Entropy to be 10 bits per 16-bit value. Analysis was done by Jacobson,David(djacobso@xxxxxxxxxxxxxxxx). Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit fa5b8c8a5ae4088a590d59fffb022da3ea17bd15 Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 15:54:06 2015 +0800 ath9k: Fix register definitions for QCA956x Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e3faa866d5e4d6199b45f821343ee24510881823 Author: Rafa? Mi?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 9 17:07:08 2015 +0200 brcmfmac: set wiphy's addresses to provide valid MACs Broadcom's firmware requires every BSS to use MAC address with unique last few bits. The amount of bits may depend on a particular firmware, it was verified to be 2 for BCM43602 one. If this condition won't be fulfilled firmware will reject such MAC: brcmfmac: _brcmf_set_mac_address: Setting cur_etheraddr failed, -52 We don't want to simply set addr_mask as it would also disallow using locally administrated bit. Instead let's build a list of addresses manually enabling 0x2 bit for extra interfaces. Signed-off-by: Rafa? Mi?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 92cd40322848a12f1f3ef2d7804233b93030c532 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 12:27:22 2015 +0200 ath9k: fix moredata flag endianness in cabq tx While compiling ath9k with some extra flags I've found that: ath9k/xmit.c +2473 ## 16: warning: restricted __le16 degrades to integer ath9k/xmit.c +2474 ## 36: warning: invalid assignment: &= ath9k/xmit.c +2474 ## 36: left side has type restricted __le16 ath9k/xmit.c +2474 ## 36: right side has type int There's no way for frame ftype/stype to be mistreated as the offending 'moredata' flag when considering cab queue. This could've however theoretically led sometimes to increased power consumption on connected stations as they would keep their Rx active waiting for frames that would never come. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 77661208a87b458f353fd0b7a4729cf2887449a6 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Wed Jul 8 22:22:46 2015 +0200 brcmsmac: Use kstrdup to simplify code Replace a kmalloc+strcpy by an equivalent kstrdup in order to improve readability. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 251086f588720277a6f5782020a648ce32c4e00b Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Wed Jul 8 10:18:50 2015 -0500 rtlwifi: rtl8821ae: Fix an expression that is always false In routine _rtl8821ae_set_media_status(), an incorrect mask results in a test for AP status to always be false. Similar bugs were fixed in rtl8192cu and rtl8192de, but this instance was missed at that time. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> [3.18+] Cc: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cae761b5a6bdc597ba476a040fdcd5b4bc559b85 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Jun 28 17:17:13 2015 +0200 bcma: populate bus DT subnodes as platform_device-s Our bus should allow defining children nodes as we may want to specify devices attached to the bus. This is required e.g. to specify NAND or ChipCommon cores and use bus's address and IRQ mappings. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ae86c587b5b53da4f7859f236f6c22ff9941cff9 Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Thu Jul 2 06:07:02 2015 -0700 mwifiex: fix for p2p broken link This patch fixes following issues in p2p code paths. 1) bss role, bss type and connection type was not set correctly for p2p GO and p2p client at couple of places. 2) Driver appends a proprietary header to management frames which will be parsed by our firmware. Later while informing TX status to cfg80211, modified frame buffer was passed to cfg80211_mgmt_tx_status() instead of original one. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e60ac9c7a4c8776b2503892dfd01f1b4d651245d Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Thu Jul 2 13:40:29 2015 +0200 ath9k: make DMA stop related messages debug-only A long time ago, ath9k had issues during reset where the DMA engine would stay active and could potentially corrupt memory. To debug those issues, the driver would print warnings whenever they occur. Nowadays, these issues are gone and the primary cause of these messages is if the MAC is stuck during reset or busy processing a long transmission. This is fairly harmless, yet these messages continue to worry users. To reduce the number of bogus bug reports, turn these messages into debug messages and count their occurence in the "reset" debugfs file. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cf7d5a80201066daac467d57a47b0826c2e88354 Author: Raphaël Poggi <poggi.raph@xxxxxxxxx> Date: Thu Jul 2 10:34:49 2015 +0200 wlcore: sdio: return correct error code When wlcore_probe_of failed, return the correct error code instead of ENOMEM Signed-off-by: Raphaël Poggi <poggi.raph@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 277bf09e8be9fa35d6bc0175c2c5a1e6bdb0626e Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 20:45:47 2015 -0400 b43: Fix typo in function name This fixes a typo in the "b43_lo_g_maintenance_work" function name. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Acked-by: Michael Buesch <m@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 33b8261e0e1c6d95901d62808d65141d4df525bd Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jun 29 20:17:55 2015 -0400 rtlwifi: fix typo in comments This fixes a typo in two comments: "paht" -> "path". Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 11bdc44093555829eb4a5d9318eece469e2873e8 Author: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Date: Sun Jun 28 20:07:38 2015 -0500 mwifiex: usb: Fix double add error when submitting rx urb There is an error that can occur where the driver adds the same URB to USB submission list twice. This happens since mwifiex_usb_submit_rem_rx can submit packets at same time as an rx urb complete callback. This causes list corruption and is fixed by not setting the skb to NULL when submitting an rx packet. [ 84.461242] WARNING: CPU: 1 PID: 748 at lib/list_debug.c:36 __list_add+0xcb/0xd0() [ 84.461245] list_add double add: new=ffff8800c92b0c50, prev=ffff8800c92b0c50, next=ffff8800ced6c430. [ 84.461247] Modules linked in: rfcomm fuse cmac nf_conntrack_netbios_ns nf_conntrack_broadcast ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 xt_conntrack ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack bnep iptable_mangle iptable_security iptable_raw btusb btintel bluetooth mwifiex_usb mwifiex x86_pkg_temp_thermal cfg80211 coretemp r8712u(C) kvm_intel kvm hid_sensor_als hid_sensor_incl_3d hid_sensor_rotation hid_sensor_magn_3d hid_sensor_accel_3d hid_sensor_gyro_3d hid_sensor_trigger hid_sensor_iio_common industrialio_triggered_buffer kfifo_buf rfkill iTCO_wdt industrialio iTCO_vendor_support [ 84.461316] crc32_pclmul crc32c_intel ghash_clmulni_intel microcode snd_hda_codec_realtek vfat snd_hda_codec_generic fat snd_hda_codec_hdmi snd_hda_intel snd_hda_controller uvcvideo snd_hda_codec videobuf2_vmalloc videobuf2_memops snd_hwdep videobuf2_core snd_hda_core joydev v4l2_common videodev hid_sensor_hub snd_seq hid_multitouch media snd_seq_device snd_pcm snd_timer mei_me snd i2c_i801 lpc_ich mei soundcore tpm_infineon tpm_tis tpm i2c_hid i2c_designware_platform i2c_designware_core nfsd auth_rpcgss nfs_acl lockd grace sunrpc sch_fq_codel i915 i2c_algo_bit drm_kms_helper drm xhci_pci xhci_hcd ehci_pci sd_mod ehci_hcd video [ 84.461383] CPU: 1 PID: 748 Comm: kworker/u9:0 Tainted: G C 4.1.0-rc5+ #163 [ 84.461386] Hardware name: Microsoft Corporation Surface Pro 2/Surface Pro 2, BIOS 2.05.0250 04/10/2015 [ 84.461396] Workqueue: MWIFIEX_RX_WORK_QUEUE mwifiex_rx_work_queue [mwifiex] [ 84.461399] ffffffff81a8150e ffff8801174cf8e8 ffffffff817df830 0000000000000000 [ 84.461405] ffff8801174cf938 ffff8801174cf928 ffffffff810a54ba ffff8800c86bd750 [ 84.461410] ffff8800c92b0c50 ffff8800c92b0c50 ffff8800ced6c430 ffff88010c057178 [ 84.461416] Call Trace: [ 84.461421] [<ffffffff817df830>] dump_stack+0x4f/0x7b [ 84.461428] [<ffffffff810a54ba>] warn_slowpath_common+0x8a/0xc0 [ 84.461432] [<ffffffff810a5536>] warn_slowpath_fmt+0x46/0x50 [ 84.461436] [<ffffffff814109fb>] __list_add+0xcb/0xd0 [ 84.461442] [<ffffffff815c551a>] ? usb_hcd_link_urb_to_ep+0x2a/0xa0 [ 84.461446] [<ffffffff815c5570>] usb_hcd_link_urb_to_ep+0x80/0xa0 [ 84.461459] [<ffffffffa004318a>] prepare_transfer+0xaa/0x130 [xhci_hcd] [ 84.461470] [<ffffffffa0044cf7>] xhci_queue_bulk_tx+0xb7/0x7a0 [xhci_hcd] [ 84.461480] [<ffffffffa003b67f>] ? xhci_urb_enqueue+0x50f/0x660 [xhci_hcd] [ 84.461489] [<ffffffffa003b67f>] ? xhci_urb_enqueue+0x50f/0x660 [xhci_hcd] [ 84.461498] [<ffffffffa003b735>] xhci_urb_enqueue+0x5c5/0x660 [xhci_hcd] [ 84.461503] [<ffffffff815c7ad3>] usb_hcd_submit_urb+0x93/0xa70 [ 84.461507] [<ffffffff8168dde8>] ? __alloc_skb+0x78/0x1f0 [ 84.461511] [<ffffffff8168d301>] ? __kmalloc_reserve.isra.26+0x31/0x90 [ 84.461515] [<ffffffff8168ddbc>] ? __alloc_skb+0x4c/0x1f0 [ 84.461519] [<ffffffff8168ddfc>] ? __alloc_skb+0x8c/0x1f0 [ 84.461523] [<ffffffff8168badd>] ? skb_dequeue+0x5d/0x80 [ 84.461527] [<ffffffff815c987e>] usb_submit_urb+0x42e/0x5f0 [ 84.461531] [<ffffffff816931d9>] ? __alloc_rx_skb+0x39/0x100 [ 84.461536] [<ffffffffa05aa372>] mwifiex_usb_submit_rx_urb+0xb2/0x170 [mwifiex_usb] [ 84.461542] [<ffffffffa05aa5f5>] mwifiex_usb_submit_rem_rx_urbs+0x45/0x50 [mwifiex_usb] [ 84.461550] [<ffffffffa07094be>] mwifiex_rx_work_queue+0x10e/0x140 [mwifiex] [ 84.461556] [<ffffffff810c4429>] process_one_work+0x229/0x890 [ 84.461559] [<ffffffff810c438c>] ? process_one_work+0x18c/0x890 [ 84.461565] [<ffffffff810c4ae3>] worker_thread+0x53/0x470 [ 84.461569] [<ffffffff810c4a90>] ? process_one_work+0x890/0x890 [ 84.461572] [<ffffffff810cb162>] kthread+0xf2/0x110 [ 84.461577] [<ffffffff811031ad>] ? trace_hardirqs_on+0xd/0x10 [ 84.461581] [<ffffffff810cb070>] ? kthread_create_on_node+0x230/0x230 [ 84.461586] [<ffffffff817e9662>] ret_from_fork+0x42/0x70 [ 84.461590] [<ffffffff810cb070>] ? kthread_create_on_node+0x230/0x230 [ 84.461593] ---[ end trace 65103af5e6fb3444 ]--- Signed-off-by: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b8bb08ec48fb4eafefbc7899b50ec5c6216465b1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 17:36:46 2015 +0530 drm/i915: remove redundant if check The extra check for connector_type is not required as we are already checking for connector_type != DRM_MODE_CONNECTOR_DisplayPort. The check was added by commit eb3394faeb97 ("drm/i915: Add debugfs test control files for Displayport compliance testing") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9aaffa340add31aeb4449667da8779df448b7987 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 21 17:36:45 2015 +0530 drm/i915: remove unnecessary null test While creating the debugfs file we are setting the inode->i_private to dev. That same dev is passed to these functions as private of struct seq_file via single_open(). Moreover single_open is setting file->private_data->private to dev. So at this point it can never be NULL. This check was added by commit eb3394faeb97 ("drm/i915: Add debugfs test control files for Displayport compliance testing") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b5c103f20f0fdd736c51c996b07a42594d683b1c Author: John Linville <linville@xxxxxxxxxxxxx> Date: Fri Jun 26 15:29:36 2015 -0400 mwifiex: fix leak of gen_ie storage on exit from mwifiex_del_mgmt_ies Storage pointed to by gen_ie is allocated with kmalloc, but was never freed. Coverity CID #1271251 Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 550795fc68a4bfa699480b362648fef3d6c74c23 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Jun 24 16:52:21 2015 +0530 MAINTAINERS: update for mwifiex driver maintainers Amit & Nishant would be taking care of maintaining mwifiex driver here onwards on account of organizational changes. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Frank Huang <frankh@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8b2c621c9f6f6240edaf4359c3148068fff8b1c7 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Tue Jun 23 15:04:03 2015 -0400 mwifiex: do not short circuit exit from mwifiex_set_mgmt_ies Without this change, the code simply exits after calling mwifiex_uap_set_head_tail_ies, leving the call to mwifiex_set_mgmt_beacon_data_ies as dead code. Coverity CID #1271292 Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 722d26680af10bd128b5228ba23e5d11ef2256c4 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Tue Jun 23 14:45:45 2015 -0400 mwifiex: avoid freeing improper pointer in mwifiex_set_wowlan_mef_entry mwifiex_set_wowlan_mef_entry attempts to free a passed-in pointer in case of an error. The only caller (mwifiex_set_mef_filter) passes that pointer as an offset into allocated memory, so any attempt to free that will not be the actual allocated pointer. Address this by changing mwifiex_set_wowlan_mef_entry to not do any free, and to cause mwifiex_set_mef_filter to do the appropriate free if the call to mwifiex_set_wowlan_mef_entry fails. Coverity CID #1295879 Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9030d52cfb340f57d86e1b5d995a463eaddb977b Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 22:53:05 2015 +0800 wireless: cw1200: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> To: Solomon Peachy <pizza@xxxxxxxxxxxx> To: Kalle Valo <kvalo@xxxxxxxxxxxxxx> To: linux-wireless@xxxxxxxxxxxxxxx To: netdev@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8d6b538a5eac1fec259d22ffa5b47ac585582432 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:23 2015 +0530 mwifiex: handle multichannel event This patch adds support to handle multichannel event from FW. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cc7359b5c82f67a1a19a0cf66f84f465403edb5d Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:22 2015 +0530 mwifiex: separate interface combination for multichannel and DFS Multichannel and DFS cannot be supported at same time. So when multichannel operation is enabled by module parameter, we enable number of channel as 2 while registering wiphy. For all other cases we advertise DFS support to cfg80211. Patch also adds support for radar detect widths parameter. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit de9e9932b76d5458edabd2692d8ad6504501edf1 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:21 2015 +0530 mwifiex: advertise multichannel support to cfg80211 This patch adds support to advetise mwifiex multichannel support to cfg80211. If module parameter drcs is enabled and FW supports multichannel operation we advertise this support to cfg80211. As of now 2 simultaneous channels are supported. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d5b036c403f811c6d1856b8e6891a6438cf56f61 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:20 2015 +0530 mwifiex: support to set multichannel policy to FW This patch adds support for setting multichannel policy as module parameter to FW. Value of 1 indicates Multichannel support is enabled and value of 0 disables it. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ddd7ceb3f6dd9071fd0e2058252d1fc4645313db Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:19 2015 +0530 mwifiex: extend tx_data pause to AP interface as well This patch adds support to extend TX Data pause for AP intefaces. Also for station role, support for pausing/unpausing all traffic when mac address parameter is BSSID is added. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 5c8946330abfa4c0476b94070d8833cfbbca5b28 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:18 2015 +0530 mwifiex: enable traffic only when port is open This patch adds support to enable data traffic only when port is open. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a1777327126e184518e17e3c571540be72c73dce Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:17 2015 +0530 mwifiex: support for bypass tx queue This patch adds support for another TX queue in driver- bypass TX queue. This queue is used for sending data/mgmt packets while in disconnected state i.e. when port is yet not unblocked. TDLS setup packets would also be queued in this queue. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 65d48e5971065ccb831a93232d60deb7caa9d7cb Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:16 2015 +0530 mwifiex: update domain_info upon band change in start_ap It was observed that AP beacons would not reflect correct regulatory information upon starting AP in A band. This was because of missing AP config band update in set_channel of start_ap. Also we configure 11D settings info FW only for specific band. So we need to download domain info to FW even if domain remains unchanged but band is changed. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b04975970676d797dec434755a14285420a4189f Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:15 2015 +0530 mwifiex: add cfg80211 tdls channel switch handler This patch add cfg80211 tdls_chan_switch and tdls_cancel_chan_switch handler. With this handlers, mwifiex would support TDLS channel switch feature. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 55a2c0770634a08009229aaf23cda885d2e4359e Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:14 2015 +0530 mwifiex: enhance tdls link setup condition TDLS link status - channel switching, off channel or base channel itself indicates that TDLS link is setup. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 20834343a8e6a9a1e90d47810f6fe991f1e3362a Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:13 2015 +0530 mwifiex: enable tdls channel switch ext_cap This patch enable tdls channel switch ext capability in tdls action frame, and also configure basic tdls channel switch parameters while tdls setup completed and tdls link is enabled.. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 449b8bbf45e636a684c287f3008d13939aeac58b Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:12 2015 +0530 mwifiex: add tdls config command This patch add support for a new tdls configuration command which is used for configuration of tdls channel switch parameters. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f7669877e7ab1c5c7fddf268d57f016d97e48198 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:11 2015 +0530 mwifiex: process tdls channel switch event This patch add support for tdls channel switch event process. We block TX queues for particular RA list depending upon channel switch state. If channel switch state is moving to base channel, we unblock RA lists for AP. If channel switch state is moving to off channel, we unblock TDLS peer RA lists. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ba101ad50a5024978f3f5007b4a6c20b304cdcbe Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:10 2015 +0530 mwifiex: add tdls channel switch status This patch add new tdls status used for tdls channel switch. Driver in turn would block cmd path and data path if tdls channel switching. Data path to non tdls peer should be blocked if tdls channel switch to off-channel. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9186a1f37d190f433c64558a4efeac7ed776b571 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:09 2015 +0530 mwifiex: do not increase tx_pkts_queued if receive address tx paused If tx_pkts_queued is increased for tx paused receive address, tx process will be triggered for this packet. But since RA list was tx paused, there will be an infinite loop in mwifiex_wmm_process_tx waiting for the event(tx pause, tdls cs) to cancel tx pause. This will be an dead loop, since main_process was locked at this time, there will be no opportunity to process event. So do not increase tx_pkts_queued if receive address tx paused, this will be restored RA list is unpaused. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b5b0f272d618a470c34619b25f15ca4aa9d3b395 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Mon Jun 22 19:06:08 2015 +0530 mwifiex: block data traffic to tx paused receive address Data traffic to tx paused receive address should be blocked. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4e6ee91bb728a268b37c74e2dd083481bf5ebb98 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Jun 22 19:06:07 2015 +0530 mwifiex: add tx data pause support This patch adds support to enable TX data pause feature for mwifiex. Whenever FW TX buffers reach threshold, FW would send TX pause event to driver. Driver in turn would block data traffic to that particular receiver address. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 80b2089b4a0b08ff34619a8e07fc74a63b4e2d24 Author: Taehee Yoo <ap420073@xxxxxxxxx> Date: Sat Jun 20 03:28:15 2015 +0900 rtlwifi: rtl8192cu: Remove rtl8723 code In the rtlwifi/rtl8192cu, rtl8723 code is dead code. So I remove it. Signed-off-by: Taehee Yoo <ap420073@xxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 79ae3e66f8d7ba51c02773897a8f1a37b496d9a3 Author: Josef Gajdusek <atx@xxxxxxxx> Date: Mon Jul 20 22:53:18 2015 +0200 ARM: dts: sun4i: Add Iteaduino Plus A10 Iteaduino Plus A10 is a breakout board + Itead Core A10. It features 1GB RAM, has most of the A10 pins on a .1" header, 2 USB ports, 1 OTG USB port, Ethernet, HDMI, SATA, Speaker/Microphone 3.5mm jacks and an SD card slot. Signed-off-by: Josef Gajdusek <atx@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 3cf080a7b747d800efc231d29bd3a07659c6aeb6 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Jul 20 17:18:27 2015 -0700 crypto: qat - fix invalid check for RSA keylen in fips mode The condition checking allowed key length was invalid. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a9d4f82ff9de004fc4630d3f3fbc234b8cfe07b3 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Mon Jul 20 17:18:26 2015 -0700 crypto: rsa - fix invalid check for keylen in fips mode The condition checking allowed key length was invalid. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit eef8c85a3b81301f912e8802a1dd9f42dd884947 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:30:03 2015 +0100 KVM: arm64: add trace points for guest_debug debug This includes trace points for: kvm_arch_setup_guest_debug kvm_arch_clear_guest_debug I've also added some generic register setting trace events and also a trace point to dump the array of hardware registers. Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 834bf88726f0f11ddc7ff9679fc9458654c01a12 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:30:02 2015 +0100 KVM: arm64: enable KVM_CAP_SET_GUEST_DEBUG Finally advertise the KVM capability for SET_GUEST_DEBUG. Once arm support is added this check can be moved to the common kvm_vm_ioctl_check_extension() code. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5540546bc93b49f98a0466fe3f96615286c76574 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:30:01 2015 +0100 KVM: arm64: guest debug, HW assisted debug support This adds support for userspace to control the HW debug registers for guest debug. In the debug ioctl we copy an IMPDEF registers into a new register set called host_debug_state. We use the recently introduced vcpu parameter debug_ptr to select which register set is copied into the real registers when world switch occurs. I've made some helper functions from hw_breakpoint.c more widely available for re-use. As with single step we need to tweak the guest registers to enable the exceptions so we need to save and restore those bits. Two new capabilities have been added to the KVM_EXTENSION ioctl to allow userspace to query the number of hardware break and watch points available on the host hardware. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 84e690bfbed1d1ecb45d8eccd4c7b6c8e878da1c Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:30:00 2015 +0100 KVM: arm64: introduce vcpu->arch.debug_ptr This introduces a level of indirection for the debug registers. Instead of using the sys_regs[] directly we store registers in a structure in the vcpu. The new kvm_arm_reset_debug_ptr() sets the debug ptr to the guest context. Because we no longer give the sys_regs offset for the sys_reg_desc->reg field, but instead the index into a debug-specific struct we need to add a number of additional trap functions for each register. Also as the generic generic user-space access code no longer works we have introduced a new pair of function pointers to the sys_reg_desc structure to override the generic code when needed. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit e0a1b9a937dc6df9eb402af8966b5d617c7c6b34 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:59 2015 +0100 KVM: arm64: re-factor hyp.S debug register code This is a pre-cursor to sharing the code with the guest debug support. This replaces the big macro that fishes data out of a fixed location with a more general helper macro to restore a set of debug registers. It uses macro substitution so it can be re-used for debug control and value registers. It does however rely on the debug registers being 64 bit aligned (as they happen to be in the hyp ABI). Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 337b99bf7edfb2044781447e7ca386edb1fdba9d Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:58 2015 +0100 KVM: arm64: guest debug, add support for single-step This adds support for single-stepping the guest. To do this we need to manipulate the guests PSTATE.SS and MDSCR_EL1.SS bits to trigger stepping. We take care to preserve MDSCR_EL1 and trap access to it to ensure we don't affect the apparent state of the guest. As we have to enable trapping of all software debug exceptions we suppress the ability of the guest to single-step itself. If we didn't we would have to deal with the exception arriving while the guest was in kernelspace when the guest is expecting to single-step userspace. This is something we don't want to unwind in the kernel. Once the host is no longer debugging the guest its ability to single-step userspace is restored. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 4bd611ca60afa155bca25b40312ed61c4d46237f Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:57 2015 +0100 KVM: arm64: guest debug, add SW break point support This adds support for SW breakpoints inserted by userspace. We do this by trapping all guest software debug exceptions to the hypervisor (MDCR_EL2.TDE). The exit handler sets an exit reason of KVM_EXIT_DEBUG with the kvm_debug_exit_arch structure holding the exception syndrome information. It will be up to userspace to extract the PC (via GET_ONE_REG) and determine if the debug event was for a breakpoint it inserted. If not userspace will need to re-inject the correct exception restart the hypervisor to deliver the debug exception to the guest. Any other guest software debug exception (e.g. single step or HW assisted breakpoints) will cause an error and the VM to be killed. This is addressed by later patches which add support for the other debug types. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 56c7f5e77f797fd0dcf2376ce1496f4238e6be33 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:56 2015 +0100 KVM: arm: introduce kvm_arm_init/setup/clear_debug This is a precursor for later patches which will need to do more to setup debug state before entering the hyp.S switch code. The existing functionality for setting mdcr_el2 has been moved out of hyp.S and now uses the value kept in vcpu->arch.mdcr_el2. As the assembler used to previously mask and preserve MDCR_EL2.HPMN I've had to add a mechanism to save the value of mdcr_el2 as a per-cpu variable during the initialisation code. The kernel never sets this number so we are assuming the bootcode has set up the correct value here. This also moves the conditional setting of the TDA bit from the hyp code into the C code which is currently used for the lazy debug register context switch code. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 0e6f07f29cfb8d79dbbdb12560a73f7121ba324e Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:55 2015 +0100 KVM: arm: guest debug, add stub KVM_SET_GUEST_DEBUG ioctl This commit adds a stub function to support the KVM_SET_GUEST_DEBUG ioctl. Any unsupported flag will return -EINVAL. For now, only KVM_GUESTDBG_ENABLE is supported, although it won't have any effects. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 21b6f32f9471284f6d4621fc8be71719266db557 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:54 2015 +0100 KVM: arm64: guest debug, define API headers This commit defines the API headers for guest debugging. There are two architecture specific debug structures: - kvm_guest_debug_arch, allows us to pass in HW debug registers - kvm_debug_exit_arch, signals exception and possible faulting address The type of debugging being used is controlled by the architecture specific control bits of the kvm_guest_debug->control flags in the ioctl structure. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 8ab30c1538b14424015e45063c41d509b24c1dea Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Jul 7 17:29:53 2015 +0100 KVM: add comments for kvm_debug_exit_arch struct Bring into line with the comments for the other structures and their KVM_EXIT_* cases. Also update api.txt to reflect use in kvm_run documentation. Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit f9d50fef4b6447527c2be1ad07499221c2511391 Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Tue Jul 21 04:12:01 2015 +0300 ARM: OMAP2+: omap3-pandora: add wifi support Add wl1251 support via pdata-quirks as it's driver lacks DT support. MMC3 is marked disabled in DT so that MMC3 instance of hsmmc driver is probed using platform data with special card init callback. Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fc53e2ccf000b45298a325a6b6c3560d4ba8932b Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Tue Jul 21 04:12:00 2015 +0300 ARM: OMAP2+: omap3-pandora: add backlight support Add backlight support via pdata-quirks as it's driver lacks DT support. Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f7c57f8c7b464c0fbcd67764c38e21aebb7085c4 Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Tue Jul 21 04:11:59 2015 +0300 ARM: dts: omap3-pandora: add support for usb host and 32k buffer This adds missing bits for EHCI HS USB host support and 32k clock buffer control for the wg7210 bt+wifi module. Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a4e1adb98f7376dccbfaee7c375e6378b6c21985 Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Tue Jul 21 04:11:58 2015 +0300 ARM: dts: omap3-pandora: miscellaneous corrections - add pandora specific compatible name - fix mmc2 card detect polarity - fix mmc1 and mmc2 write protect polarity - disable write protect pins because of production issue and add an explanation why they are disabled - fix NAND partition name to reflect the correct address Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a60011c1f4204285f18edd61859456caf5ecbbb6 Author: Aparna Balasubramanian <aparnab@xxxxxx> Date: Mon Jul 20 16:07:31 2015 -0500 ARM: dts: omap5-uevm: Add Palmas power button support Palmas on OMAP5uevm has support for power button, so enable it. Signed-off-by: Aparna Balasubramanian <aparnab@xxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 71256d9d0be7a371ad2072e08dc7c6da3e71ed9e Author: Sekhar Nori <nsekhar@xxxxxx> Date: Mon Jul 20 16:42:20 2015 +0530 ARM: dts: am437x: add aliases for all UART instances Add serialN aliases for all 6 UART instances on the AM437x SoC so each board's .dts file does not have to define its own aliases. Remove the alias added for am437x-gp-evm.dts now that we have the aliases defined in am4372.dtsi file. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 36bd1683559e23d4032defadbfbd3ccd5601b8c8 Author: Teresa Remmet <t.remmet@xxxxxxxxx> Date: Thu Jul 16 10:30:49 2015 +0200 ARM: dts: Add phyBOARD-WEGA-AM335x rdk phyBOARD-WEGA-AM335x represents a direct soldered combination of a phyCORE-AM335x SoM and carrier board. Different kind of SoM options can be connected to the wega carrier board. So we created a separate wega dtsi file. The final dts contains the actual SoM on the carrier board. WEGA carrier board features: * ETH phy on carrier board: 1x MII * 1x CAN * 2x UART * USB0 (device) * USB1 (host) * mSD slot Signed-off-by: Teresa Remmet <t.remmet@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 52b0dcb1d160f9ac839acd6b44b0687e82e23e98 Author: Teresa Remmet <t.remmet@xxxxxxxxx> Date: Thu Jul 16 10:30:48 2015 +0200 ARM: dts: Add support for phyCORE-AM335x SoM phyCORE-AM335x is a SoM (System on Module) containing a AM335x SOC. The module can be connected to different carrier boards. Some hardware parts are configurable on the phyCORE-AM335x. So they are disabled on default in this som dtsi file. They will be enabled in the board dts files, when populated. * RAM up to 1GiB * PMIC * NAND flash up to 1GiB * Eth PHY on SOM: 1x RMII * SPI NOR flash 8MiB (optional) * i2c RTC (optional) * i2c EEPROM 4kiB (optional) Signed-off-by: Teresa Remmet <t.remmet@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ec49a86ce0c6202ddf53c8e940c3468b4fb7e042 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Thu Jul 16 16:26:45 2015 +0800 ARM: dts: omap3: correct the format of u16 values for tsc2046 node In tsc2046 touch driver, the values such as ti,x-min is defined as a u16 value. the driver use API of_property_read_u16() read the value. For these u16 value, the dts entry should be like: property = /bits/ 16 <0x5000>; This describes the property as a u16 value. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a4642e99694a912b32952317e8f4c253ed6be4a9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Jul 21 11:57:36 2015 +0300 ASoC: sti: error handling bug in sti_uniperiph_cpu_dai_of() There is a stray '!' which means the condition is never true. Fixes: f3bd847eb0a7 ('ASoC: sti: Add uniperipheral dai driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6eb1c2a63d0415bd66c9c866b7d405662f50d5e4 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Jul 21 11:55:27 2015 +0300 ASoC: max98925: reading beyond the end of the array Debug prints are seldom useful and this one has an annoying thing where it reads one space beyond the end of the array on error. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 48725e9cc841da395bfd74e7691bba91613d3517 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 21 00:03:35 2015 +0000 ASoC: rsnd: tidyup parameter assignment position 84e95355602c("ASoC: rsnd: show debug message for SSI/SRC/DVC connection") added debug message on rsnd_dai_connect(), but the relationship of parameter check was absurdity. This patch tidyup it. It is reported via Smatch/Dan Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1f2112af11e4c330cd070464e95ba9f546b8959b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Jul 21 10:30:42 2015 +0200 spi: mpc512x-psc: fix compiler warning about uninitialized variable This fixes several warnings like: drivers/spi/spi-mpc512x-psc.c: In function 'mpc512x_psc_spi_prep_xfer_hw': arch/powerpc/include/asm/io.h:163:2: warning: '__ret' may be used uninitialized in this function [-Wmaybe-uninitialized] introduced in commit 8bf960985dfc for some build configurations. Fixes: 8bf960985dfc ("spi: mpc512x-psc: add support for Freescale MPC5125") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c21cde6fe1ba08b357c96071c71af6543f2863ec Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jul 21 11:36:57 2015 +0200 gpio: document interaction with other subsystems Now I am very fed up with people reinventing kernel wheels in userspace "just because they can" (read, sysfs). Put in a angry blurb in sysfs doc and put in a new file with pointers to other subsystem drivers utilizing GPIOs. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 949163015ce6fdb76a5e846a3582d3c40c23c001 Author: Paolo Pisati <p.pisati@xxxxxxxxx> Date: Mon Jul 20 18:23:50 2015 +0200 x86/boot: Obsolete the MCA sys_desc_table The kernel does not support the MCA bus anymroe, so mark sys_desc_table as obsolete: remove any reference from the code together with the remaining of MCA logic. bloat-o-meter output: add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-55 (-55) function old new delta i386_start_kernel 128 119 -9 setup_arch 1421 1375 -46 Signed-off-by: Paolo Pisati <p.pisati@xxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437409430-8491-1-git-send-email-p.pisati@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f2a50f8b7da45ff2de93a71393e715a2ab9f3b68 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jul 9 19:17:29 2015 -0700 x86/selftests, x86/vm86: Improve entry_from_vm86 selftest The entry_from_vm86 selftest was very weak. Improve it: test more types of kernel entries from vm86 mode and test them more carefully. While we're at it, try to improve behavior on non-SEP CPUs. The old code was buggy because I misunderstood the intended semantics of #UD in vm86, so I didn't handle a possible signal. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d8ef1d7368ac70d8342481563ed50f9a7d2eea6f.1436492057.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7d89a3cb159aecb1b363ea50cb14c967ff83b5a6 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Thu Jul 9 18:24:59 2015 -0700 drivers/video/fbdev/atyfb: Use arch_phys_wc_add() and ioremap_wc() This driver uses strong UC for the MMIO region, and ioremap_wc() for the framebuffer to whitelist for the WC MTRR that can be changed to WC. On PAT systems we don't need the MTRR call so just use arch_phys_wc_add() there, this lets us remove all those ifdefs. Let's also be consistent and use ioremap_wc() for ATARI as well. There are a few motivations for this: a) Take advantage of PAT when available. b) Help bury MTRR code away, MTRR is architecture specific and on x86 it is being replaced by PAT. c) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()"). The conversion done is expressed by the following Coccinelle SmPL patch, it additionally required manual intervention to address all the ifdeffery and removal of redundant things which arch_phys_wc_add() already addresses such as verbose message about when MTRR fails and doing nothing when we didn't get an MTRR: @ mtrr_found @ expression index, base, size; @@ -index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1); +index = arch_phys_wc_add(base, size); @ mtrr_rm depends on mtrr_found @ expression mtrr_found.index, mtrr_found.base, mtrr_found.size; @@ -mtrr_del(index, base, size); +arch_phys_wc_del(index); @ mtrr_rm_zero_arg depends on mtrr_found @ expression mtrr_found.index; @@ -mtrr_del(index, 0, 0); +arch_phys_wc_del(index); @ mtrr_rm_fb_info depends on mtrr_found @ struct fb_info *info; expression mtrr_found.index; @@ -mtrr_del(index, info->fix.smem_start, info->fix.smem_len); +arch_phys_wc_del(index); @ ioremap_replace_nocache depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap_nocache(base, size); +info->screen_base = ioremap_wc(base, size); @ ioremap_replace_default depends on mtrr_found @ struct fb_info *info; expression base, size; @@ -info->screen_base = ioremap(base, size); +info->screen_base = ioremap_wc(base, size); Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: arnd@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: geert@xxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: hmh@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: stefan.bader@xxxxxxxxxxxxx Cc: tj@xxxxxxxxxx Cc: ville.syrjala@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436491499-3289-5-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3cc2dac5be3f23414a4efdee0b26d79bed297cac Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Thu Jul 9 18:24:58 2015 -0700 drivers/video/fbdev/atyfb: Replace MTRR UC hole with strong UC Replace a WC MTRR call followed by a UC MTRR "hole" call with a single WC MTRR call and use strong UC to protect the MMIO region and account for the device's architecture and MTRR size requirements. The atyfb driver relies on two overlapping MTRRs. It does this to account for the fact that, on some devices, it has the MMIO region bundled together with the framebuffer on the same PCI BAR and the hardware requirement on MTRRs on both base and size to be powers of two. In the worst case, the PCI BAR is of 16 MiB while the MMIO region is on the last 4 KiB of the same PCI BAR. If we use just one MTRR for WC, we can only end up with an 8 MiB or 16 MiB framebuffer. Using a 16 MiB WC framebuffer area is unacceptable since we need the MMIO region to not be write-combined. An 8 MiB WC framebuffer option does not let use quite a bit of framebuffer space, it would reduce the resolution capability of the device considerably. An alternative is to use many MTRRs but on some systems that could mean not having enough MTRRs to cover the framebuffer. The current solution is to issue a 16 MiB WC MTRR followed by a 4 KiB UC MTRR on the last 4 KiB. Its worth mentioning and documenting that the current ioremap*() strategy as well: the first ioremap() is used only for the MMIO region, a second ioremap() call is used for the framebuffer *and* the MMIO region, the MMIO region then ends up mmapped twice. Two ioremap() calls are used since in some situations the framebuffer actually ends up on a separate auxiliary PCI BAR, but this is not always true. In the worst case, the PCI BAR is shared for both MMIO and the framebuffer. By allowing overlapping ioremap() calls, the driver enables two types of devices with one simple ioremap() strategy. See also: 2f9e897353fc ("x86/mm/mtrr, pat: Document Write Combining MTRR type effects on PAT / non-PAT pages") By default, Linux today defaults both pci_mmap_page_range() and ioremap_nocache() to use _PAGE_CACHE_MODE_UC_MINUS. On x86, ioremap() aliases ioremap_nocache(). The preferred value for Linux may soon change, however, the goal is to use _PAGE_CACHE_MODE_UC by default in the future. We can use ioremap_uc() to set PCD=1, PWT=1 on non-PAT systems and use a PAT value of UC for PAT systems. This will ensure the same settings are in place regardless of what Linux decides to use by default later and to not regress our MTRR strategy since the effective memory type will differ depending on the value used. Using a WC MTRR on such an area will be nullified. This technique can be used to protect the MMIO region in this driver's case and address the restrictions of the device's architecture as well as restrictions set upon us by powers of 2 when using MTRRs. This allows us to replace the two MTRR calls with a single 16 MiB WC MTRR and use page-attribute settings for non-PAT and PAT entry values for PAT systems to ensure the appropriate effective memory type won't have a write-combining effect on the MMIO region on both non-PAT and PAT systems. The framebuffer area will be sure to get the write-combined effective memory type by white-listing it with ioremap_wc(). We ensure the desired effective memory types are set by: 0) Using one ioremap_uc() for the MMIO region alone. This will set the page attribute settings for the MMIO region to PCD=1, PWT=1 for non-PAT systems while using a strong UC value on PAT systems. 1) Fixing the framebuffer ioremapped area to exclude the MMIO region and using ioremap_wc() instead to whitelist the area we want for write-combining. In both cases, an implementation defined (as per 2f9e897353fc) effective memory type of WC is used for the framebuffer for non-PAT systems. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: arnd@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: geert@xxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: hmh@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: stefan.bader@xxxxxxxxxxxxx Cc: tj@xxxxxxxxxx Cc: ville.syrjala@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1435196060-27350-3-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436491499-3289-4-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f55de6ec375da89f89f1a76e1b998e5f14878c06 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Thu Jul 9 18:24:57 2015 -0700 drivers/video/fbdev/atyfb: Clarify ioremap() base and length used Adjust the ioremap() call for the framebuffer to use the same values we later use for the framebuffer. This will make it easier to review the next change. The size of the framebuffer varies but since this is for PCI we *know* this defaults to 0x800000. atyfb_setup_generic() is *only* used on PCI probe. No functional change. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Antonino Daplas <adaplas@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Ville Syrjälä <syrjala@xxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: arnd@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: geert@xxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: hmh@xxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: stefan.bader@xxxxxxxxxxxxx Cc: tj@xxxxxxxxxx Cc: ville.syrjala@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436491499-3289-3-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eacd2d542610e55cad0be445966ac8ae79124c6e Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Thu Jul 9 18:24:56 2015 -0700 drivers/video/fbdev/atyfb: Carve out framebuffer length fudging into a helper The size of the framebuffer to be used needs to be fudged to account for the different type of devices that are out there. This captures what is required to do well, we'll reuse this later. This has no functional changes. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: airlied@xxxxxxxxxx Cc: arnd@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: geert@xxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: hmh@xxxxxxxxxx Cc: jgross@xxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: stefan.bader@xxxxxxxxxxxxx Cc: syrjala@xxxxxx Cc: tj@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: ville.syrjala@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1435251019-32421-1-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1436491499-3289-2-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8c7ea50c010b2f1e006ad37c43f98202a31de2cb Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Thu Jul 9 17:28:16 2015 -0700 x86/mm, asm-generic: Add IOMMU ioremap_uc() variant default We currently have no safe way of currently defining architecture agnostic IOMMU ioremap_*() variants. The trend is for folks to *assume* that ioremap_nocache() should be the default everywhere and then add this mapping on each architectures -- this is not correct today for a variety of reasons. We have two options: 1) Sit and wait for every architecture in Linux to get a an ioremap_*() variant defined before including it upstream. 2) Gather consensus on a safe architecture agnostic ioremap_*() default. Approach 1) introduces development latencies, and since 2) will take time and work on clarifying semantics the only remaining sensible thing to do to avoid issues is returning NULL on ioremap_*() variants. In order for this to work we must have all architectures declare their own ioremap_*() variants as defined. This will take some work, do this for ioremp_uc() to set the example as its only currently implemented on x86. Document all this. We only provide implementation support for ioremap_uc() as the other ioremap_*() variants are well defined all over the kernel for other architectures already. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: arnd@xxxxxxxx Cc: benh@xxxxxxxxxxxxxxxxxxx Cc: bp@xxxxxxx Cc: dan.j.williams@xxxxxxxxx Cc: geert@xxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: hmh@xxxxxxxxxx Cc: jgross@xxxxxxxx Cc: linux-mm@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: mst@xxxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: stefan.bader@xxxxxxxxxxxxx Cc: tj@xxxxxxxxxx Cc: tomi.valkeinen@xxxxxx Cc: toshi.kani@xxxxxx Link: http://lkml.kernel.org/r/1436488096-3165-1-git-send-email-mcgrof@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5aef51c340cb50ed9a3997dc5d782324372078bd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 10 08:34:23 2015 -0700 x86/kconfig/32: Rename CONFIG_VM86 and default it to 'n' VM86 is entirely broken if ptrace, syscall auditing, or NOHZ_FULL is in use. The code is a big undocumented mess, it's a real PITA to test, and it looks like a big chunk of vm86_32.c is dead code. It also plays awful games with the entry asm. No one should be using it anyway. Use DOSBOX or KVM instead. Let's accelerate its slow death. Remove it from EXPERT and default it to n. Distros should not enable it. In the unlikely event that some user needs it, they can easily re-enable it. While we're at it, rename it to CONFIG_X86_LEGACY_VM86 so that 'make oldconfig' users will be prompted again. I left CONFIG_VM86 as an alias to avoid a treewide replacement of the names. We can clean that up once the current asm and vm86 code churn settles down. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Austin S Hemmelgarn <ahferroin7@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d29c6cc442d32d4df58849d2f8c89fb39ff88d61.1436542295.git.luto@xxxxxxxxxx [ Refined it some more. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c538bb3b8093ad027945b68f8b852ab4aca382b8 Merge: 8fc2b61 ed25b11 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Tue Jul 21 11:36:56 2015 +0300 Merge ath-next from ath.git. Major changes in ath10k: * enable VHT for IBSS * initial work to support qca99x0 and the corresponding 10.4 firmware branch commit 3490565b633c705d2fb1f6ede51228952664663d Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Jul 13 20:31:03 2015 +0200 locking/spinlocks: Force inlining of spinlock ops With both gcc 4.7.2 and 4.9.2, sometimes GCC mysteriously doesn't inline very small functions we expect to be inlined. See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66122 In particular, with this config: http://busybox.net/~vda/kernel_config there are more than a thousand copies of tiny spinlock-related functions: $ nm --size-sort vmlinux | grep -iF ' t ' | uniq -c | grep -v '^ *1 ' | sort -rn | grep ' spin' 473 000000000000000b t spin_unlock_irqrestore 292 000000000000000b t spin_unlock 215 000000000000000b t spin_lock 134 000000000000000b t spin_unlock_irq 130 000000000000000b t spin_unlock_bh 120 000000000000000b t spin_lock_irq 106 000000000000000b t spin_lock_bh Disassembly: ffffffff81004720 <spin_lock>: ffffffff81004720: 55 push %rbp ffffffff81004721: 48 89 e5 mov %rsp,%rbp ffffffff81004724: e8 f8 4e e2 02 callq <_raw_spin_lock> ffffffff81004729: 5d pop %rbp ffffffff8100472a: c3 retq This patch fixes this via s/inline/__always_inline/ in spinlock.h. This decreases vmlinux by about 40k: text data bss dec hex filename 82375570 22255544 20627456 125258570 7774b4a vmlinux.before 82335059 22255416 20627456 125217931 776ac8b vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Bart Van Assche <bvanassche@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Link: http://lkml.kernel.org/r/1436812263-15243-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9719fa5a3840b1b9de7f2c0aae57346cd6570ea7 Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Thu Jul 16 19:36:20 2015 +0800 arm64: dts: mediatek: Add MT8173 MMC dts Add node mmc0 ~ mmc3 for mt8173.dtsi Add node mmc0, mmc1 for mt8173-evb.dts Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 9dea5dc921b5f4045a18c63eb92e84dc274d17eb Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Tue Jul 14 15:24:24 2015 -0700 x86/entry/syscalls: Wire up 32-bit direct socket calls On x86_64, there's no socketcall syscall; instead all of the socket calls are real syscalls. For 32-bit programs, we're stuck offering the socketcall syscall, but it would be nice to expose the direct calls as well. This will enable seccomp to filter socket calls (for new userspace only, but that's fine for some applications) and it will provide a tiny performance boost. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Alexander Larsson <alexl@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Cosimo Cecchi <cosimo@xxxxxxxxxxxx> Cc: Dan Nicholson <nicholson@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rajalakshmi Srinivasaraghavan <raji@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tulio Magno Quites Machado Filho <tuliom@xxxxxxxxxxxxxxxxxx> Cc: libc-alpha <libc-alpha@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/cb5138299d37d5800e2d135b01a7667fa6115854.1436912629.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2070c48cf2b78af89ba529c00992eaaa18df8ef7 Author: Pieter Hollants <pieter@xxxxxxxxxxxx> Date: Mon Jul 20 10:14:13 2015 +0200 qmi_wwan: Add support for Dell Wireless 5809e 4G Modem Added the USB IDs 0x413c:0x81b1 for the "Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card", a Dell-branded Sierra Wireless EM7305 LTE card in M.2 form factor, used eg. in Dell's Latitude E7540 Notebook series. Signed-off-by: Pieter Hollants <pieter@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84e81020ee237df8af359c552b503db476b776ea Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Mon Jul 20 10:46:10 2015 +0100 drm/i915: Add provision to extend Golden context batch The Golden batch carries 3D state at the beginning so that HW starts with a known state. It is carried as a binary blob which is auto-generated from source. The idea was it would be easier to maintain and keep the complexity out of the kernel which makes sense as we don't really touch it. However if you really need to update it then you need to update generator source and keep the binary blob in sync with it. There is a need to patch this in bxt to send one additional command to enable a feature. A solution was to patch the binary data with some additional data structures (included as part of auto-generator source) but it was unnecessarily complicated. Chris suggested the idea of having a secondary batch and execute two batch buffers. It has clear advantages as we needn't touch the base golden batch, can customize secondary/auxiliary batch depending on Gen and can be carried in the driver with no dependencies. This patch adds support for this auxiliary batch which is inserted at the end of golden batch and is completely independent from it. Thanks to Mika for the preliminary review. v2: Strictly conform to the batch size requirements to cover Gen2 and add comments to clarify overflow check in macro (Chris, Mika). v3: aux_batch_offset was declared as u64, change it to u32 (Chris) Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Armin Reese <armin.c.reese@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0c199a903d1cbc67fd99a9b074aaff4f72fa84d0 Author: Jakub Wilk <jwilk@xxxxxxxxx> Date: Sat Jul 18 14:41:51 2015 +0200 xfrm: Fix a typo Signed-off-by: Jakub Wilk <jwilk@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dd72bde05de5d68d56e59698f7f2c102afce904b Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 17 17:08:51 2015 +0100 drm/i915: Do kunmap if renderstate parsing fails Kunmap the renderstate page on error path. Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d64e78c9e77a9112137e294ab4b9b3844a7f90c0 Merge: b52effd 397665d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 21 00:23:24 2015 -0700 Merge branch 'cxgb4-dcb' Anish Bhatt says: ==================== cxgb4 DCB updates The following patchset covers changes to work better with the userspace tools cgdcbxd and cgrulesengd and improves firmware support for host-managed mode. Also exports traffic class information that was previously not being exported via dcbnl_ops and unfifies how app selector information is passed to firmware. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 397665dab58415d648f03e2893627f4f7abf0fba Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Fri Jul 17 13:12:33 2015 -0700 cxgb4 : Fill DCB priority in vlan control headers Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d6541b7bc0a56020ffc9fab7d740e47addd609d Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Fri Jul 17 13:12:32 2015 -0700 cxgb4 : Fill in number of DCB traffic classes supported Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a85c2eb3113299b8d55936a49e70c5b63c72617f Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Fri Jul 17 13:12:31 2015 -0700 cxgb4 : Allow firmware DCB info to be queried in host state Since finally DCB traffic management is still handled by firmware, allow firmware to be fully programmed and queried even in host managed state for the cases where this was previously rejected. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a44e7b73118b21176bdf6376c620d778a0ff0ee2 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Fri Jul 17 13:12:30 2015 -0700 cxgb4 : Only pass app selector of 0 or 3 to firmware This keeps app format passed to firmware the same irrespective of DCBx version in use. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b029e66fa8e39ba10dcc47b114be8da8b082493b Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:10 2015 +0530 drm/i915: Backlight control using CRC PMIC based PWM driver Use the CRC PWM device in intel_panel.c and add new MIPI backlight specififc callbacks v2: Modify to use pwm_config callback v3: Addressed Jani's comments - Renamed all function as pwm_* instead of vlv_* - Call intel_panel_actually_set_backlight in enable function - Return -ENODEV in case pwm_get fails - in case pwm_config error return error cdoe from pwm_config - Cleanup pwm in intel_panel_destroy_backlight v4: Removed unused #defines and initialized backlight with INVALID_PIPE (Ville) CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc45e821990781c13dba10e3aef1c9f11af8af08 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:09 2015 +0530 drm/i915: Use the CRC gpio for panel enable/disable The CRC (Crystal Cove) PMIC, controls the panel enable and disable signals for BYT for dsi panels. This is indicated in the VBT fields. Use that to initialize and use GPIO based control for these signals. v2: Use the newer gpiod interface(Alexandre) v3: Remove the redundant checks and unused code (Ville) v4: Moved PWM vs SoC backlight #defines to intel_bios.h (Jani) CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a3f37a104bc42f19ceb74e3e06752b6e3a269745 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:08 2015 +0530 pwm: crc: Add Crystalcove (CRC) PWM driver The Crystalcove PMIC provides three PWM signals and this driver exports one of them on the BYT platform which is used to control backlight for DSI panel. This is platform device implementation of the drivers/mfd cell device for CRC PMIC. CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a3aa9a93df9fc8a0c54485e4144fdb81591e2175 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:07 2015 +0530 mfd: intel_soc_pmic_core: ADD PWM lookup table for CRC PMIC based PWM On some BYT PLatform the PWM is controlled using CRC PMIC. Add a lookup entry for the same to be used by the consumer (Intel GFX) CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3d5e10ec50f80bc433916ee0cefbc8dfd16acb0c Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:06 2015 +0530 mfd: intel_soc_pmic_crc: Add PWM cell device for Crystalcove PMIC Needed for PWM control suuported by the PMIC CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 61dd2ca2d44e493b050adbbb75bc50db11c367dd Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:05 2015 +0530 mfd: intel_soc_pmic_core: Add lookup table for Panel Control as GPIO signal On some Intel SoC platforms, the panel enable/disable signals are controlled by CRC PMIC. Add those control as a new GPIO in a lookup table for gpio-crystalcove chip during CRC driver load CC: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be9015abb8296d8dc72cef4da75fa30e88ab7c81 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Fri Jun 26 14:32:04 2015 +0530 gpiolib: Add support for removing registered consumer lookup table In case we unload and load a driver module again that is registering a lookup table, without this it will result in multiple entries. Provide an option to remove the lookup table on driver unload Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b52effd263e0926cc52713703f53d0a6c77259a1 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Fri Jul 17 13:50:21 2015 -0300 sctp: fix cut and paste issue in comment Cookie ACK is always received by the association initiator, so fix the comment to avoid confusion. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57816cbcb827895d10925c6a52b63833087ce0c1 Merge: 7177a3b 0ca50d1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Jul 21 00:20:18 2015 -0700 Merge branch 'sctp-src-addr' Marcelo Ricardo Leitner says: ==================== sctp: fix src address selection if using secondary address This series improves the way SCTP chooses its src address so that the choosen one will always belong to the interface being used for output. v1->v2: - split out the refactoring from the fix itself - Doing a full reverse routing as in v1 is not necessary. Only looking for the interface that has the address and comparing its number is enough. ==================== Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ca50d12fe46cdf3c0dc9ec5ca98607a52afdc62 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Fri Jul 17 12:34:18 2015 -0300 sctp: fix src address selection if using secondary addresses In short, sctp is likely to incorrectly choose src address if socket is bound to secondary addresses. This patch fixes it by adding a new check that checks if such src address belongs to the interface that routing identified as output. This is enough to avoid rp_filter drops on remote peer. Details: Currently, sctp will do a routing attempt without specifying the src address and compare the returned value (preferred source) with the addresses that the socket is bound to. When using secondary addresses, this will not match. Then it will try specifying each of the addresses that the socket is bound to and re-routing, checking if that address is valid as src for that dst. Thing is, this check alone is weak: # ip r l 192.168.100.0/24 dev eth1 proto kernel scope link src 192.168.100.149 192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.147 # ip a l 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:15:18:6a brd ff:ff:ff:ff:ff:ff inet 192.168.122.147/24 brd 192.168.122.255 scope global dynamic eth0 valid_lft 2160sec preferred_lft 2160sec inet 192.168.122.148/24 scope global secondary eth0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe15:186a/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:b3:91:46 brd ff:ff:ff:ff:ff:ff inet 192.168.100.149/24 brd 192.168.100.255 scope global dynamic eth1 valid_lft 2162sec preferred_lft 2162sec inet 192.168.100.148/24 scope global secondary eth1 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:feb3:9146/64 scope link valid_lft forever preferred_lft forever 4: ens9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:05:47:ee brd ff:ff:ff:ff:ff:ff inet6 fe80::5054:ff:fe05:47ee/64 scope link valid_lft forever preferred_lft forever # ip r g 192.168.100.193 from 192.168.122.148 192.168.100.193 from 192.168.122.148 dev eth1 cache Even if you specify an interface: # ip r g 192.168.100.193 from 192.168.122.148 oif eth1 192.168.100.193 from 192.168.122.148 dev eth1 cache Although this would be valid, peers using rp_filter will drop such packets as their src doesn't match the routes for that interface. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07868284e530d52f72b14b800398a8fefa7cf5d0 Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Date: Fri Jul 17 12:34:17 2015 -0300 sctp: reduce indent level on sctp_v4_get_dst Paves the day for the next patch. Functionality stays untouched. Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7177a3b037c7569c137c2703efe8187fdc4352b8 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Mon Jul 20 09:54:50 2015 +0200 net/vxlan: Fix kernel unaligned access in __vxlan_find_mac __vxlan_find_mac invokes ether_addr_equal on the eth_addr field, which triggers unaligned access messages, so rearrange vxlan_fdb to avoid this in the most non-intrusive way. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxx> Reviewed-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed0b2edb61ba4e557de759093d965654186f28b2 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Sun Jul 19 21:09:06 2015 -0400 x86/entry/vm86: Move userspace accesses to do_sys_vm86() Move the userspace accesses down into the common function in preparation for the next set of patches. Also change to copying the fields explicitly instead of assuming a fixed order in pt_regs and the kernel data structures. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437354550-25858-4-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit df1ae9a5dc66d9fd57109240042372b1065d984a Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Sun Jul 19 21:09:05 2015 -0400 x86/entry/vm86: Preserve 'orig_ax' There is no legitimate reason for usermode to modify the 'orig_ax' field on entry to vm86 mode, so copy it from the 32-bit regs. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437354550-25858-3-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0233606ce5cf12c1a0e27cb197066ea5bc2bb488 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Sun Jul 19 21:09:04 2015 -0400 x86/entry/vm86: Clean up saved_fs/gs There is no need to save FS and non-lazy GS outside the 32-bit regs. Lazy GS still needs to be saved because it wasn't saved on syscall entry. Save it in the gs slot of regs32, which is present but unused. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437354550-25858-2-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 685a015e44dcd4db50ada60a9a2806659c165d9e Author: Thomas Graf <tgraf@xxxxxxx> Date: Fri Jul 17 10:52:48 2015 +0200 rhashtable: Allow other tasks to be scheduled in large lookup loops Depending on system speed, the large lookup/insert/delete loops of the testsuite can take a considerable amount of time to complete causing watchdog warnings to appear. Allow other tasks to be scheduled throughout the loops. Reported-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f61687c01917946d2274dd8736bb8f9e2691ee5b Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Jul 17 11:19:46 2015 +0800 phylib: add driver for Teranetics TN2020 Teranetics TN2020 is compliant with IEEE 802.3an 10 Gigabit. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2617268ff9d8f8b6901a07962c985d774b999e58 Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Thu Jul 9 19:29:04 2015 +0100 drm/i915: Add GuC-related header files intel_guc_fwif.h contains the subset of the GuC interface that we will need for submission of commands through the GuC. These MUST be kept in sync with the definitions used by the GuC firmware, and updates to this file will (or should) be autogenerated from the source files used to build the firmware. Editing this file is therefore not recommended. i915_guc_reg.h contains definitions of GuC-related hardware: registers, bitmasks, etc. These should match the BSpec. v2: Files renamed & resliced per review comments by Chris Wilson v4: Added DON'T-EDIT-ME warning [Tom O'Rourke] Issue: VIZ-4884 Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 63dc04498ace9cb657174e77373d6fcc85d6c492 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Thu Jul 9 19:29:03 2015 +0100 drm/i915: Add GuC-related module parameters Two new module parameters: "enable_guc_submission" which will turn on submission of batchbuffers via the GuC (when implemented), and "guc_log_level" which controls the level of debugging logged by the GuC and captured by the host. Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> v4: Mark "enable_guc_submission" unsafe [Daniel Vetter] Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea70299d6e6961dd6adce2cbdf64e6e8a7ea97c0 Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Thu Jul 9 19:29:02 2015 +0100 drm/i915: Add i915_gem_object_create_from_data() i915_gem_object_create_from_data() is a generic function to save data from a plain linear buffer in a new pageable gem object that can later be accessed by the CPU and/or GPU. We will need this for the microcontroller firmware loading support code. Derived from i915_gem_object_write(), originally by Alex Dai v2: Change of function: now allocates & fills a new object, rather than writing to an existing object New name courtesy of Chris Wilson Explicit domain-setting and other improvements per review comments by Chris Wilson & Daniel Vetter v4: Rebased Issue: VIZ-4884 Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 63caae8480921773b46adec0b6ddac9a844a042f Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Jul 20 18:34:50 2015 +0200 sched/idle: Move latency tracing stop/start calls deeper inside the idle loop Make sure to stop tracing only once we are past a point where all latency tracing events have been processed (irqs are not enabled again). This has the slight advantage of capturing more latency related events in the idle path, but most importantly it makes sure that latency tracing doesn't get re-enabled inadvertently when new events are coming in. This makes the irqsoff latency tracer useful again, as we stop capturing CPU sleep time as IRQ latency. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kernel@xxxxxxxxxxxxxx Cc: patchwork-lst@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1437410090-3747-1-git-send-email-l.stach@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bf9f2ee28d475ada0005c59382852cb70f1419ac Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Jul 20 11:52:23 2015 -0700 x86/nmi: Remove the 'b2b' parameter from nmi_handle() It has never had any effect. Remove it for comprehensibility. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/c91fa38507760d9e54a4b8737fa6409bde896b33.1437418322.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a11c51acc52822754d66a11c15f6f6edd4d23c55 Merge: f6a74a5 d2f3f5d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Jul 21 07:58:06 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: New features: - Allow filtering out of perf's PID via 'perf record --exclude-perf'. (Wang Nan) - 'perf trace' now supports syscall groups, like strace, i.e: $ trace -e file touch file Will expand 'file' into multiple, file related, syscalls. More work needed to add extra groups for other syscall groups, and also to complement what was added for the 'file' group, included as a proof of concept. (Arnaldo Carvalho de Melo) - Add lock_pi stresser to 'perf bench futex', to test the kernel code related to FUTEX_(UN)LOCK_PI. (Davidlohr Bueso) User visible fixes: - Apply --filter to all events in a glob matching, not just the last one. (Wang Nan) Documentation changes: - Document setting '-e pmu/period=N/' in the 'perf record' man page. (Kan Liang) Infrastructure changes: - 'perf probe' code simplifications and movements to separate files. (Masami Hiramatsu) - Fix makefile generation under 'dash'. (Sergei Trofimovich) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f6a74a5e15df32f289837feeabf8c84829312b06 Merge: 60cd37e 9d634c4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Jul 21 07:57:44 2015 +0200 Merge branch 'linus' into perf/core, to refresh the branch Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b51ef52df71cb28e9d90cd1d48b79bf19f0bab06 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Mon Jul 20 14:47:58 2015 -0700 x86/cpu: Restore MSR_IA32_ENERGY_PERF_BIAS after resume MSR_IA32_ENERGY_PERF_BIAS is lost after suspend/resume: x86_energy_perf_policy -r before cpu0: 0x0000000000000006 cpu1: 0x0000000000000006 cpu2: 0x0000000000000006 cpu3: 0x0000000000000006 cpu4: 0x0000000000000006 cpu5: 0x0000000000000006 cpu6: 0x0000000000000006 cpu7: 0x0000000000000006 after cpu0: 0x0000000000000000 cpu1: 0x0000000000000006 cpu2: 0x0000000000000006 cpu3: 0x0000000000000006 cpu4: 0x0000000000000006 cpu5: 0x0000000000000006 cpu6: 0x0000000000000006 cpu7: 0x0000000000000006 Resulting in inconsistent energy policy settings across CPUs. This register is set via init_intel() at bootup. During resume, the secondary CPUs are brought online again and init_intel() is callled which re-initializes the register. The boot CPU however never reinitializes the register. Add a syscore callback to reinitialize the register for the boot CPU. Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437428878-4105-1-git-send-email-labbott@xxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2cc6b813579415c4f627b08a043079bdc5b87a33 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 19:20:58 2015 +0900 ARM: EXYNOS: Use IOMEM_ERR_PTR when function returns iomem Function returns 'void __iomem *' so use IOMEM_ERR_PTR for returning an error. This fixes sparse warning: arch/arm/mach-exynos/platsmp.c:185:31: warning: incorrect type in return expression (different address spaces) arch/arm/mach-exynos/platsmp.c:185:31: expected void [noderef] <asn:2>* arch/arm/mach-exynos/platsmp.c:185:31: got void * Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 0e6262a097929eb9fcfb4cdc1cbe76f16b187d7a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:04:28 2015 +0900 ARM: EXYNOS: Drop owner assignment in pmu.c platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 054e6aa198b4bb42d059951e08f05147b64a79f9 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Sun Jun 14 13:38:23 2015 +0900 ARM: EXYNOS: Remove duplicated define of SLEEP_MAGIC The magic cookie for entering sleep state was defined and used in two different places: firmware.c and suspend.c. Move it to one common place to reduce duplication. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b69bef97d6c5eac62597c8b06f847e9a7010d17a Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Sat May 30 15:54:03 2015 +0900 ARM: EXYNOS: Make local function static Function is not used outside of this unit, make it static. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 5e080b078fa1f929d9aa5586985d5e7c0739d207 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Jul 7 22:46:29 2015 -0700 ARM: dts: Extend exynos5420-pinctrl nodes using labels instead of paths A previously defined Device Tree node, can be extended either by defining a node using the same full path or by creating a label for the node and referencing to it. Using full paths is more error prone since if there was a typo error, a new node will be created instead of extending the node as it was desired. This will lead to run-time errors that could be hard to detect. A mistyped label on the other hand, will cause a dtc compile error which makes it easier to detect the mistake since happens at build-time instead. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c07f8270116d7c66379ce9d5f8d3609fe79fd999 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Jul 7 22:36:29 2015 -0700 ARM: dts: Include exynos5420-pinctrl after the nodes were defined for exynos5420 The dtc compiler combines all the defined nodes that have the same path so a device node definition can be in one file and later be extended in another one. That's the case of the Exynos5420 pinctrl device nodes that are defined in the exynos5420.dtsi file and extended in exynos5420-pinctrl.dtsi. But since the exynos5420.dtsi file includes the exynos5420-pinctrl.dtsi before the pinctrl device nodes are actually defined, the definition of the pinctrl device nodes happens in exynos5420-pinctrl.dtsi and are extended in exynos5420.dtsi. That is the opposite of the original intention so even when there is no difference in practice, the exynos5420-pinctrl.dtsi include should be moved at the end of the exynos5420.dtsi file after the pinctrl device nodes have been already defined. This will also allow to later change the exynos5420-pinctrl.dtsi file to use labels instead of full paths to extend the pinctrl nodes. Since keeping the include at the top, would cause a dtc build error due the pinctrl labels not being defined yet. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit eb8b8b03ca8ac0f06a2c16bf27601a1ac2aa2d8b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Jul 7 22:36:28 2015 -0700 ARM: dts: Extend exynos5250-pinctrl nodes using labels instead of paths A previously defined Device Tree node, can be extended either by defining a node using the same full path or by creating a label for the node and referencing to it. Using full paths is more error prone since if there was a typo error, a new node will be created instead of extending the node as it was desired. This will lead to run-time errors that could be hard to detect. A mistyped label on the other hand, will cause a dtc compile error which makes it easier to detect the mistake since happens at build-time instead. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit dc5617973c9c41ca1ab439dd764eedf561f6fd49 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Jul 7 22:36:27 2015 -0700 ARM: dts: Include exynos5250-pinctrl after the nodes were defined for exynos5250 The dtc compiler combines all the defined nodes that have the same path so a device node definition can be in one file and later be extended in another one. That's the case of the Exynos5250 pinctrl device nodes that are defined in the exynos5250.dtsi file and extended in exynos5250-pinctrl.dtsi. But since the exynos5250.dtsi file includes the exynos5250-pinctrl.dtsi before the pinctrl device nodes are actually defined, the definition of the pinctrl device nodes happens in exynos5250-pinctrl.dtsi and are extended in exynos5250.dtsi. That is the opposite of the original intention so even when there is no difference in practice, the exynos5250-pinctrl.dtsi include should be moved at the end of the exynos5250.dtsi file after the pinctrl device nodes have been already defined. This will also allow to later change the exynos5250-pinctrl.dtsi file to use labels instead of full paths to extend the pinctrl nodes. Since keeping the include at the top, would cause a dtc build error due the pinctrl labels not being defined yet. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit cc20fc4c1bc4af03a685d1555ebaebbfb4ae95c4 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Jun 15 12:23:23 2015 +0930 ARM: dts: Enable thermal-zones for exynos5422-odroidxu3 Include exynos5422-cpu-thermal.dtsi to enable thermal_zone support. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f1722d7dd8b8708e5fbc54be1e44b4cd612e06f2 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Jun 15 12:23:22 2015 +0930 ARM: dts: Define default thermal-zones for exynos5422 Trip points corresponding to the one defined in the exynos_tmu_data.c for Exynos5422 have been included so define thermal-zones attribute. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Tested-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 8e946a053bd1bae485fea0d99fb3bb05b6ed9c4e Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Jun 15 12:23:21 2015 +0930 ARM: dts: Enable TMU for exynos5422-odroidxu3 This changes enables TMU IP block on the Exynos5422 Odroid-XU3 device. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b685d540cc265d6e88010bed53920b5b6c962682 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Jun 15 12:23:20 2015 +0930 ARM: dts: Add pwm-fan node for exynos5422-odroidxu3 Add pwm-fan node to the Odroid-XU3 boards. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Tested-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 86869d66eabb5d53041a9396903c2356584a4de4 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Thu Jun 11 20:24:39 2015 +0900 ARM: dts: Use labels for overriding nodes for exynos4210-universal_c210 Usage of labels instead of full paths reduces possible mistakes when overriding nodes. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 82449f23d8636c094be948741fd935532f104bd6 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sun Jun 7 13:21:00 2015 +0900 ARM: dts: Set max17047 over heat and voltage thresholds for exynos4412-trats2 Add some safe values for over heat and over voltage. The Trats2 uses 3.8 V battery and during testing it operated properly under 4.48 V. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit dc929d49dce577149157f0676973e5eafbbdc098 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Sun Jun 7 21:23:47 2015 +0930 ARM: dts: Enable USB3 regulators for exynos5422-odroidxu3 Enable regulator for usbdrd3_0 and usbdrd3_1. Looking at the schematic pin diagram for MAX77802 USB3_0 and USB3_1 is regulated by LDO9 and LD011. This removes following warnings during boot: [ 3.503539] exynos-dwc3 usb@12000000: Looking up vdd33-supply from device tree [ 3.503556] exynos-dwc3 usb@12000000: Looking up vdd33-supply property in node /usb@12000000 failed [ 3.503568] usb@12000000 supply vdd33 not found, using dummy regulator [ 3.509154] exynos-dwc3 usb@12000000: Looking up vdd10-supply from device tree [ 3.509170] exynos-dwc3 usb@12000000: Looking up vdd10-supply property in node /usb@12000000 failed [ 3.509181] usb@12000000 supply vdd10 not found, using dummy regulator [ 3.917548] exynos-dwc3 usb@12400000: Looking up vdd33-supply from device tree [ 3.917565] exynos-dwc3 usb@12400000: Looking up vdd33-supply property in node /usb@12400000 failed [ 3.917578] usb@12400000 supply vdd33 not found, using dummy regulator [ 3.922731] exynos-dwc3 usb@12400000: Looking up vdd10-supply from device tree [ 3.922747] exynos-dwc3 usb@12400000: Looking up vdd10-supply property in node /usb@12400000 failed Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 27284129522e7e2a5b89e80bd44ea3345f79c9e8 Author: Andreas Faerber <afaerber@xxxxxxx> Date: Sun Mar 15 23:00:30 2015 +0100 ARM: dts: Clean up indentation for exynos5410-smdk5410 The UART status properties are indented one level too deep, and we want to derive a device tree for the ODROID-XU. Fix this before it propagates. Signed-off-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 500322ec418171a1d067cfd8a3b0fde4b6eb7257 Merge: f3120ac 4d9c5c5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 20:52:32 2015 -0700 Merge branch 'bpf-push-pop-helpers' Alexei Starovoitov says: ==================== bpf: introduce bpf_skb_vlan_push/pop() helpers Let TC+eBPF programs call skb_vlan_push/pop via helpers. v1->v2: - reworded commit log to better explain correctness of re-caching and fixed comparison of mixed endiannes (suggested by Eric) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d9c5c53ac99e4cb5d031897863203d7817b36e0 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Jul 20 20:34:19 2015 -0700 test_bpf: add bpf_skb_vlan_push/pop() tests improve accuracy of timing in test_bpf and add two stress tests: - {skb->data[0], get_smp_processor_id} repeated 2k times - {skb->data[0], vlan_push} x 68 followed by {skb->data[0], vlan_pop} x 68 1st test is useful to test performance of JIT implementation of BPF_LD_ABS together with BPF_CALL instructions. 2nd test is stressing skb_vlan_push/pop logic together with skb->data access via BPF_LD_ABS insn which checks that re-caching of skb->data is done correctly. In order to call bpf_skb_vlan_push() from test_bpf.ko have to add three export_symbol_gpl. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e10df9a60d96ced321dd2af71da558c6b750078 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Jul 20 20:34:18 2015 -0700 bpf: introduce bpf_skb_vlan_push/pop() helpers Allow eBPF programs attached to TC qdiscs call skb_vlan_push/pop via helper functions. These functions may change skb->data/hlen which are cached by some JITs to improve performance of ld_abs/ld_ind instructions. Therefore JITs need to recognize bpf_skb_vlan_push/pop() calls, re-compute header len and re-cache skb->data/hlen back into cpu registers. Note, skb->data/hlen are not directly accessible from the programs, so any changes to skb->data done either by these helpers or by other TC actions are safe. eBPF JIT supported by three architectures: - arm64 JIT is using bpf_load_pointer() without caching, so it's ok as-is. - x64 JIT re-caches skb->data/hlen unconditionally after vlan_push/pop calls (experiments showed that conditional re-caching is slower). - s390 JIT falls back to interpreter for now when bpf_skb_vlan_push() is present in the program (re-caching is tbd). These helpers allow more scalable handling of vlan from the programs. Instead of creating thousands of vlan netdevs on top of eth0 and attaching TC+ingress+bpf to all of them, the program can be attached to eth0 directly and manipulate vlans as necessary. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f3120acc7851bffd1cd15acd044b7fa6fa520e75 Merge: 0e55a42 2ba6c07 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 20:50:19 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-07-17 This series contains updates to igb, ixgbe, ixgbevf, i40e, bnx2x, freescale, siena and dp83640. Jacob provides several patches to clarify the intended way to implement both SIOCSHWTSTAMP and ethtool's get_ts_info(). It is okay to support the specific filters in SIOCSHWTSTAMP by upscaling them to the generic filters. Alex Duyck provides a igb patch to pull the time stamp from the fragment before it gets added to the skb, to avoid a possible issue in which the fragment can possibly be less than IGB_RX_HDR_LEN due to the time stamp being pulled after the copybreak check. Also provides a ixgbevf patch to fold the ixgbevf_pull_tail() call into ixgbevf_add_rx_frag(), which gives the advantage that the fragment does not have to be modified after it is added to the skb. Fan provides patches for ixgbe/ixgbevf to set the receive hash type based on receive descriptor RSS type. Todd provides a fix for igb where on check for link on any media other than copper was not being detected since it was looking on the incorrect PHY page (due to the page being used gets switched before the function to check link gets executed). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65e3293381e1cf1abcfe1aa22b914650a40e3af4 Author: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Date: Mon Jun 15 13:03:17 2015 +0900 ARM: dts: fix clock-frequency of display timing0 for exynos3250-rinato After the commit abc0b1447d49 ("drm: Perform basic sanity checks on probed modes"), proper clock-frequency becomes mandatory for validating the mode of panel. The display does not work if there is no mode validated. Also, this clock-frequency must be set appropriately for getting required frame rate. Fixes: abc0b1447d49 ("drm: Perform basic sanity checks on probed modes") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Hyungwon Hwang <human.hwang@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Sigend-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 0e55a42ac89036d3f7debad74d9169a25d6ee307 Merge: 2c1bcaf 28b4591 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 20:48:15 2015 -0700 Merge branch 'bcmgenet-phy-rework' Florian Fainelli says: ==================== net: bcmgenet: PHY initialization rework This patch series reworks how we perform PHY initialization and resets in the GENET driver. Although this contains mostly fixes, some of the changes are a bit too intrusive to be backported to 'net' at the moment. Some of the motivations behind these changes were to reduce the time spent in how performing MDIO transactions, since it is better to perform then when we have interrupts enabled. This reduces the bring-up time of GENET from ~600 msecs down to ~8 msecs, and about the same time for suspend/resume. Since I do not currently have a system which is not DT-aware, can you (Petri, Jaedon) give this a try and confirm things keep working as expected? ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28b45910ccda7b3e4de61b24a6f34d5fb1da90d2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:19 2015 -0700 net: bcmgenet: Remove init parameter from bcmgenet_mii_config Now that we have reworked the way we perform the PHY initialization, we no longer need to differentiate between init time vs. non-init time calls, just use a dev_info_once() print to print the PHY type. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cc8e6d4dcb3651eea9b01db3e195fffb19fb24f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:18 2015 -0700 net: bcmgenet: Delay PHY initialization to bcmgenet_open() We are currently doing a full PHY initialization and even starting the pHY state machine during bcmgenet_mii_init() which is executed in the driver's probe function. This is convenient to determine whether we can attach to a proper PHY device but comes at the expense of spending up to 10ms per MDIO transactions (to reach the waitqueue timeout), which slows things down. This also creates a sitaution where we end-up attaching twice to the PHY, which is not quite correct either. Fix this by moving bcmgenet_mii_probe() into bcmgenet_open() and update its error path accordingly. Avoid printing the message "attached PHY at address 1 [...]" every time we bring up/down the interface and remove this print since it duplicates what the PHY driver already does for us. Fixes: 1c1008c793fa4 ("net: bcmgenet: add main driver file") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c624f89121020882b3db0a33cac8daf151d2930f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:17 2015 -0700 net: bcmgenet: Determine PHY type before scanning MDIO bus Our internal GPHY might be powered off before we attempt scanning the MDIO bus and bind a driver to it. The way we are currently determining whether a PHY is internal or not is done *after* we have successfully matched its driver. If the PHY is powered down, it will not respond to the MDIO bus, so we will not be able to bind a driver to it. Our Device Tree for GENET interfaces specifies a "phy-mode" value: "internal" which tells if this internal uses an internal PHY or not. If of_get_phy_mode() fails to parse the 'phy-mode' property, do an additional manual lookup, and if we find "internal" set the corresponding internal variable accordingly. Replace all uses of phy_is_internal() with a check against priv->internal_phy to avoid having to rely on whether or not priv->phydev is set correctly. Fixes: 1c1008c793fa4 ("net: bcmgenet: add main driver file") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd4060a6108befd1110a4c6be5544c932895d18d Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:16 2015 -0700 net: bcmgenet: Power on integrated GPHY in bcmgenet_power_up() We are currently disabling the GPHY interface during bcmgenet_close(), and attempting to power it back on during bcmgenet_open(). This works fine for the first time, because we called bcmgenet_mii_config() which took care of enabling the interface, however, bcmgenet_power_up() really needs to power on the GPHY for correctness. This will be particularly important as we want to move bcmgenet_mii_probe() down to bcmgenet_open() to avoid seeing the "PHY already attached" message. Fixes: a642c4f7906f36 ("net: bcmgenet: power up and down integrated GPHY when unused") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 978ffac4189e8bb7e74bce6463e501a7b92555af Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:15 2015 -0700 net: bcmgenet: Use correct dev_id for free_irq bcmgenet_open()'s error path call free_irq() with a dev_id argument different from the one we used to call request_irq() with, this will make us trip over the warning in kernel/irq/manage.c:__free_irq() Fixes: 1c1008c793fa4 ("net: bcmgenet: add main driver file") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ac3ce8295e6763b86e5a7bfd61275f51e0a3fd3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Jul 16 15:51:14 2015 -0700 net: bcmgenet: Remove excessive PHY reset We are currently issuing multiple PHY resets during a suspend/resume, first during bcmgenet_power_up() which does a hardware reset, then a software reset by calling bcmgenet_mii_reset(). This is both unnecessary and can take as long as 10ms per MDIO transactions while we re-apply workarounds because we do not yet have MDIO interrupts enabled. phy_resume() takes care of re-apply our workarounds in case we need any, and bcmgenet_power_up() does a PHY hardware reset, all of this is more than enough to guarantee that the PHY operates correctly. Fixes: 1c1008c793fa4 ("net: bcmgenet: add main driver file") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c1bcaffe8c48fa00735d97ea9552c87159a838c Merge: 7781e5d f4c190e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 20:45:58 2015 -0700 Merge branch 'stmmac-cleanup' Joachim Eastwood says: ==================== stmmac clean up for 4.3 part1 This patch set continues the conversion of the dwmac glue layers to more proper platform drivers. The first part of the patch set cleans up stmmac_platform a bit. Refactors code from the common probe function and exports two functions that will be used in the dwmac-* drivers. Second part converts two simple dwmac-* drivers to have their own probe function and use the exported functions. This brings us closer to point where stmmac_platform is only a library of common functions for the dwmac-* drivers to use. The plan next is: * add probe functions to the rest of the dwmac-* drivers * move probe function in stmmac_platform to dwmac-generic * remove struct stmmac_of_data and let those drivers that actually need match data handle it themselves * clean up include/linux/stmmac.h Note that this patch set has only been tested on lpc18xx so testing on other platforms is greatly appreciated. Previous parts can be found here: http://www.spinics.net/lists/netdev/msg328997.html http://www.spinics.net/lists/netdev/msg329932.html ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4c190eb8b4f80b12dc98ce7d54a3bea0e4e7e69 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:12 2015 +0200 stmmac: drop custom_* fields from plat_stmmacenet_data Both of these fields are unused and has been unused since they were added 3 and 5 years ago. Drop them since they are clearly not very useful. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1734befd0694c9e430d2c84445eceb6a7bbe1008 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:11 2015 +0200 stmmac: add proper probe function to dwmac-meson By using a few functions from stmmac_platform we can now create a proper probe function in this driver. By doing so we can drop the OF match data and simplify the overall driver. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4f8dfdedf1b1ff34a5e6ff71c9e80a1643a0622 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:10 2015 +0200 stmmac: add proper probe function to dwmac-lpc18xx By using a few functions from stmmac_platform we can now create a proper probe function in this driver. By doing so we can drop the OF match data and simplify the overall driver. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 402dae0bed98dd41c5d6ab321135e8568a54819e Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:09 2015 +0200 stmmac: export probe_config_dt() and get_platform_resources() Export stmmac_probe_config_dt() and stmmac_get_platform_resources() so they can be used in the dwmac-* drivers themselves. This will allow us to build more flexible and standalone drivers which just use stmmac_platform as a library for setup functions. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0003ead75f394f1c6f3b704be5da8e9eb029f8c Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:08 2015 +0200 stmmac: make stmmac_probe_config_dt return the platform data struct Since stmmac_probe_config_dt() allocates the platform data structure it is cleaner if it just returned this structure directly. This function will later be used in the probe function in dwmac-* drivers. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f396cb01210909ab2de0b50b76677892c1bfeb5a Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:07 2015 +0200 stmmac: introduce stmmac_get_platform_resources() Refactor all code that deals with platform resources into it's own get function. This function will later be used in the probe function in dwmac-* drivers. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ed2d8fca7979ad82d56b67ac83a50bba2dd3419 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:06 2015 +0200 stmmac: clean up platform/of_match data retrieval Refactor code to clearly separate probing non-dt versus dt. In the non-dt case platform data must be supplied to probe successfully. For dt the platform data structure is created and match data is copied into it. Note that support for supplying platform data in dt from AUXDATA is dropped as no users in mainline does this. This change will allow dt dwmac-* drivers to call the config_dt() function from probe to create the needed platform data struct and retrieve common dt properties. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0dacf3f664818ab1e3e0af8ef22a86c89f34d125 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri Jul 17 00:26:05 2015 +0200 stmmac: use of_device_get_match_data to retrieve of match data By using of_device_get_match_data() the code that retrieve match data can be simplified quite a bit. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7781e5d10a457b7e456c8193896c2141cdbf2ad4 Merge: 6acc232 d999297 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 20:41:16 2015 -0700 Merge branch 'tipc-separate-link-and-aggregation' Jon Maloy says: ==================== tipc: separate link and link aggregation layer This is the first batch of a longer series that has two main objectives: o Finer lock granularity during message sending and reception, especially regarding usage of the node spinlock. o Better separation between the link layer implementation and the link aggregation layer, represented by node.c::struct tipc_node. Hopefully these changes also make this part of code somewhat easier to comprehend and maintain. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d999297c3dbbe7fdd832f7fa4ec84301e170b3e6 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:31 2015 -0400 tipc: reduce locking scope during packet reception We convert packet/message reception according to the same principle we have been using for message sending and timeout handling: We move the function tipc_rcv() to node.c, hence handling the initial packet reception at the link aggregation level. The function grabs the node lock, selects the receiving link, and accesses it via a new call tipc_link_rcv(). This function appends buffers to the input queue for delivery upwards, but it may also append outgoing packets to the xmit queue, just as we do during regular message sending. The latter will happen when buffers are forwarded from the link backlog, or when retransmission is requested. Upon return of this function, and after having released the node lock, tipc_rcv() delivers/tranmsits the contents of those queues, but it may also perform actions such as link activation or reset, as indicated by the return flags from the link. This reduces the number of cpu cycles spent inside the node spinlock, and reduces contention on that lock. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a20cc254e60e79929ef7edb5cf784df86b46e42 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:30 2015 -0400 tipc: introduce node contact FSM The logics for determining when a node is permitted to establish and maintain contact with its peer node becomes non-trivial in the presence of multiple parallel links that may come and go independently. A known failure scenario is that one endpoint registers both its links to the peer lost, cleans up it binding table, and prepares for a table update once contact is re-establihed, while the other endpoint may see its links reset and re-established one by one, hence seeing no need to re-synchronize the binding table. To avoid this, a node must not allow re-establishing contact until it has confirmation that even the peer has lost both links. Currently, the mechanism for handling this consists of setting and resetting two state flags from different locations in the code. This solution is hard to understand and maintain. A closer analysis even reveals that it is not completely safe. In this commit we do instead introduce an FSM that keeps track of the conditions for when the node can establish and maintain links. It has six states and four events, and is strictly based on explicit knowledge about the own node's and the peer node's contact states. Only events leading to state change are shown as edges in the figure below. +--------------+ | SELF_UP/ | +---------------->| PEER_COMING |-----------------+ SELF_ | +--------------+ |PEER_ ESTBL_ | | |ESTBL_ CONTACT| SELF_LOST_CONTACT | |CONTACT | v | | +--------------+ | | PEER_ | SELF_DOWN/ | SELF_ | | LOST_ +--| PEER_LEAVING |<--+ LOST_ v +-------------+ CONTACT | +--------------+ | CONTACT +-----------+ | SELF_DOWN/ |<----------+ +----------| SELF_UP/ | | PEER_DOWN |<----------+ +----------| PEER_UP | +-------------+ SELF_ | +--------------+ | PEER_ +-----------+ | LOST_ +--| SELF_LEAVING/|<--+ LOST_ A | CONTACT | PEER_DOWN | CONTACT | | +--------------+ | | A | PEER_ | PEER_LOST_CONTACT | |SELF_ ESTBL_ | | |ESTBL_ CONTACT| +--------------+ |CONTACT +---------------->| PEER_UP/ |-----------------+ | SELF_COMING | +--------------+ Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a1577c96f122308ac9b5f195f9f9a7dd74ac541 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:29 2015 -0400 tipc: move link supervision timer to node level In our effort to move control of the links to the link aggregation layer, we move the perodic link supervision timer to struct tipc_node. The new timer is shared between all links belonging to the node, thus saving resources, while still kicking the FSM on both its pertaining links at each expiration. The current link timer and corresponding functions are removed. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 333ef69ed2121f535e00ceb26e095d3745584c6e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:28 2015 -0400 tipc: simplify link timer implementation We create a second, simpler, link timer function, tipc_link_timeout(). The new function makes use of the new FSM function introduced in the previous commit, and just like it, takes a buffer queue as parameter. It returns an event bit field and potentially a link protocol packet to the caller. The existing timer function, link_timeout(), is still needed for a while, so we redesign it to become a wrapper around the new function. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ab30f9cbe134d19559f48dc748587d036529aaf Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:27 2015 -0400 tipc: improve link FSM implementation The link FSM implementation is currently unnecessarily complex. It sometimes checks for conditional state outside the FSM data before deciding next state, and often performs actions directly inside the FSM logics. In this commit, we create a second, simpler FSM implementation, that as far as possible acts only on states and events that it is strictly defined for, and postpone any actions until it is finished with its decisions. It also returns an event flag field and an a buffer queue which may potentially contain a protocol message to be sent by the caller. Unfortunately, we cannot yet make the FSM "clean", in the sense that its decisions are only based on FSM state and event, and that state changes happen only here. That will have to wait until the activate/reset logics has been cleaned up in a future commit. We also rename the link states as follows: WORKING_WORKING -> TIPC_LINK_WORKING WORKING_UNKNOWN -> TIPC_LINK_PROBING RESET_UNKNOWN -> TIPC_LINK_RESETTING RESET_RESET -> TIPC_LINK_ESTABLISHING The existing FSM function, link_state_event(), is still needed for a while, so we redesign it to make use of the new function. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 426cc2b86d1813959497d608dcb52c32df2d448a Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:26 2015 -0400 tipc: introduce new link protocol msg create function As a preparation for later changes, we introduce a new function tipc_link_build_proto_msg(). Instead of actually sending the created protocol message, it only creates it and adds it to the head of a skb queue provided by the caller. Since we still need the existing function tipc_link_protocol_xmit() for a while, we redesign it to make use of the new function. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3504c3449fead545e5254bfb11da916f72c4734 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:25 2015 -0400 tipc: clean up definitions and usage of link flags The status flag LINK_STOPPED is not needed any more, since the mechanism for delayed deletion of links has been removed. Likewise, LINK_STARTED and LINK_START_EVT are unnecessary, because we can just as well start the link timer directly from inside tipc_link_create(). We eliminate these flags in this commit. Instead of the above flags, we now introduce three new link modes, TIPC_LINK_OPEN, TIPC_LINK_BLOCKED and TIPC_LINK_TUNNEL. The values indicate whether, and in the case of TIPC_LINK_TUNNEL, which, messages the link is allowed to receive in this state. TIPC_LINK_BLOCKED also blocks timer-driven protocol messages to be sent out, and any change to the link FSM. Since the modes are mutually exclusive, we convert them to state values, and rename the 'flags' field in struct tipc_link to 'exec_mode'. Finally, we move the #defines for link FSM states and events from link.h into enums inside the file link.c, which is the real usage scope of these definitions. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af9b028e270fda6fb812d70d17d902297df1ceb5 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:24 2015 -0400 tipc: make media xmit call outside node spinlock context Currently, message sending is performed through a deep call chain, where the node spinlock is grabbed and held during a significant part of the transmission time. This is clearly detrimental to overall throughput performance; it would be better if we could send the message after the spinlock has been released. In this commit, we do instead let the call revert on the stack after the buffer chain has been added to the transmission queue, whereafter clones of the buffers are transmitted to the device layer outside the spinlock scope. As a further step in our effort to separate the roles of the node and link entities we also move the function tipc_link_xmit() to node.c, and rename it to tipc_node_xmit(). Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22d85c79428b8ca9a01623aa3e3a1fe29a30a119 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:23 2015 -0400 tipc: change sk_buffer handling in tipc_link_xmit() When the function tipc_link_xmit() is given a buffer list for transmission, it currently consumes the list both when transmission is successful and when it fails, except for the special case when it encounters link congestion. This behavior is inconsistent, and needs to be corrected if we want to avoid problems in later commits in this series. In this commit, we change this to let the function consume the list only when transmission is successful, and leave the list with the sender in all other cases. We also modifiy the socket code so that it adapts to this change, i.e., purges the list when a non-congestion error code is returned. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36e78a463b26c9b8017a2e11dcd6c4b8e34b4161 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:22 2015 -0400 tipc: use bearer index when looking up active links struct tipc_node currently holds two arrays of link pointers; one, indexed by bearer identity, which contains all links irrespective of current state, and one two-slot array for the currently active link or links. The latter array contains direct pointers into the elements of the former. This has the effect that we cannot know the bearer id of a link when accessing it via the "active_links[]" array without actually dereferencing the pointer, something we want to avoid in some cases. In this commit, we do instead store the bearer identity in the "active_links" array, and use this as an index to find the right element in the overall link entry array. This change should be seen as a preparation for the later commits in this series. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d39bbd445dc44259c77bbbc8aadcce7dcdba39cc Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:21 2015 -0400 tipc: move link input queue to tipc_node At present, the link input queue and the name distributor receive queues are fields aggregated in struct tipc_link. This is a hazard, because a link might be deleted while a receiving socket still keeps reference to one of the queues. This commit fixes this bug. However, rather than adding yet another reference counter to the critical data path, we move the two queues to safe ground inside struct tipc_node, which is already protected, and let the link code only handle references to the queues. This is also in line with planned later changes in this area. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3a43b907ae688af6cb753c53cd7de05f3c1ba85 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:20 2015 -0400 tipc: move link creation from neighbor discoverer to node As a step towards turning links into node internal entities, we move the creation of links from the neighbor discovery logics to the node's link control logics. We also create an additional entry for the link's media address in the newly introduced struct tipc_link_entry, since this is where it is needed in the upcoming commits. The current copy in struct tipc_link is kept for now, but will be removed later. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9d13ec65ede775f896c3da1cfa35283afe2f796c Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Jul 16 16:54:19 2015 -0400 tipc: introduce link entry structure to struct tipc_node struct 'tipc_node' currently contains two arrays for link attributes, one for the link pointers, and one for the usable link MTUs. We now group those into a new struct 'tipc_link_entry', and intoduce one single array consisting of such enties. Apart from being a cosmetic improvement, this is a starting point for the strict master-slave relation between node and link that we will introduce in the following commits. Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6acc23266054a9969737b435fa012f87465dbc50 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Jul 16 21:50:50 2015 +0200 net: remove skb_frag_add_head It's not used anywhere. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c93bf928fea22c61f6b5c04786b325c9bfbc0462 Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Sun Jul 12 17:52:24 2015 +0800 ftrace: Format MCOUNT_ADDR address as type unsigned long Always we use type unsigned long to format the ip address, since the value of ip address is never the negative. This patch uses type unsigned long, instead of long, to format the ip address. The code is more clearly to be viewed by using type unsigned long, although it is correct by using either unsigned long or long. Link: http://lkml.kernel.org/r/1436694744-16747-1-git-send-email-mhuang@xxxxxxxxxx Cc: Minfei Huang <mnfhuang@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit b838e1d96c613019095ba008afbee800977b0582 Author: Jungseok Lee <jungseoklee85@xxxxxxxxx> Date: Sat Jul 11 14:51:40 2015 +0000 tracing: Introduce two additional marks for delay A fine granulity support for delay would be very useful when profiling VM logics, such as page allocation including page reclaim and memory compaction with function graph. Thus, this patch adds two additional marks with two changes. - An equal sign in mark selection function is removed to align code behavior with comments and documentation. - The function graph example related to delay in ftrace.txt is updated to cover all supported marks. Link: http://lkml.kernel.org/r/1436626300-1679-3-git-send-email-jungseoklee85@xxxxxxxxx Cc: Byungchul Park <byungchul.park@xxxxxxx> Signed-off-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 82c355e81afbf16bc1ab379899a79eb66e2b7504 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Jul 16 21:58:52 2015 -0400 ftrace: Fix function_graph duration spacing with 7-digits Jungseok Lee noticed the following: Currently, row's width of 7-digit duration numbers not aligned with other cases like the following example. 3) $ 3999884 us | } 3) | finish_task_switch() { 3) 0.365 us | _raw_spin_unlock_irq(); 3) 3.333 us | } 3) $ 3999976 us | } 3) $ 3999979 us | } /* schedule */ As adding a single white space in case of 7-digit numbers, the format could be unified easily as follows. 3) $ 2237472 us | } 3) | finish_task_switch() { 3) 0.364 us | _raw_spin_unlock_irq(); 3) 3.125 us | } 3) $ 2237556 us | } 3) $ 2237559 us | } /* schedule */ Instead of making a special case for 7-digit numbers, the logic of the len and the space loop is slightly modified to make the two cases have the same format. Link: http://lkml.kernel.org/r/1436626300-1679-2-git-send-email-jungseoklee85@xxxxxxxxx Reported-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8e436ca042d904533a1e14fdc85f0facdfca752f Author: Umesh Tiwari <umesh.t@xxxxxxxxxxx> Date: Mon Jun 22 16:58:08 2015 +0530 ftrace: add tracing_thresh to function profile This patch extends tracing_thresh functionality to function profile tracer. If tracing_thresh is set, print those entries only, whose average is > tracing thresh. Link: http://lkml.kernel.org/r/1434972488-8571-1-git-send-email-umesh.t@xxxxxxxxxxx Signed-off-by: Umesh Tiwari <umesh.t@xxxxxxxxxxx> [ Removed unnecessary 'moved' comment ] Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 72ac426a5bb0cec572d26b4456f8c1e14601694e Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Jul 16 13:24:54 2015 -0400 tracing: Clean up stack tracing and fix fentry updates Akashi Takahiro was porting the stack tracer to arm64 and found some issues with it. One was that it repeats the top function, due to the stack frame added by the mcount caller and added by itself. This was added when fentry came in, and before fentry created its own stack frame. But x86's fentry now creates its own stack frame, and there's no need to insert the function again. This also cleans up the code a bit, where it doesn't need to do something special for fentry, and doesn't include insertion of a duplicate entry for the called function being traced. Link: http://lkml.kernel.org/r/55A646EE.6030402@xxxxxxxxxx Some-suggestions-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Some-suggestions-by: Mark Rutland <mark.rutland@xxxxxxx> Reported-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit d90fd77402d3de56a9ca3df04e5d868d0979dc59 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri May 29 12:12:27 2015 -0400 ring-buffer: Reorganize function locations Functions in ring-buffer.c have gotten interleaved between different use cases. Move the functions around to get like functions closer together. This may or may not help gcc keep cache locality, but it makes it a little easier to work with the code. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 7d75e6833b579adb3de2c7b917de1204eeafea47 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri May 29 10:29:10 2015 -0400 ring-buffer: Make sure event has enough room for extend and padding Now that events only add time extends after it is committed, in case an event comes in before it can discard the allocated event, the time extend needs to be stored within the event. If the event is bigger than then size needed for the time extend, padding must be added. The minimum padding size is 8 bytes. Thus if the event is 12 bytes (size of time extend + 4), there will not be enough room to add both the time extend and padding. Make sure all events are either 8 bytes or 16 or more bytes. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit a4543a2fa9ef31d6d0f854a4e14f8f82e7996d8d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri May 29 09:40:18 2015 -0400 ring-buffer: Get timestamp after event is allocated Move the capturing of the timestamp to after an event is allocated. If the event is not a commit (where it is an event that preempted another event), then no timestamp is needed, because the delta of nested events is always zero. If the event starts on a new page, no delta needs to be calculated as the full timestamp will be added to the page header, and the event will have a delta of zero. Now if the event requires a time extend (the delta does not fit in the 27 bit delta slot in the header), then the event is discarded, the length is extended to hold the TIME_EXTEND event that allows for a 59 bit delta, and the commit is tried again. If the event can't be discarded (another event came in after it), then the TIME_EXTEND is added directly to the allocated event and the rest of the event is given padding. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 9826b2733a4399149072058a11f611357479229d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu May 28 17:36:45 2015 -0400 ring-buffer: Move the adding of the extended timestamp out of line Requiring a extended time stamp is an uncommon occurrence, and it is best to do it out of line when needed. Add a noinline function that handles the extended timestamp and have it called with an unlikely to completely move it out of the fast path. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit fcc742eaad7cbcbbb2a96edc8f1d22adbaa804cb Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu May 28 17:13:14 2015 -0400 ring-buffer: Add event descriptor to simplify passing data Add rb_event_info descriptor to pass event info to functions a bit easier than using a bunch of parameters. This will also allow for changing the code around a bit to find better fast paths. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 5e2d5ef8ec1e3854daec41a3697a8d2ce05ff2ef Author: Umesh Tiwari <umesh.t@xxxxxxxxxxx> Date: Mon Jun 22 16:55:06 2015 +0530 ftrace: correct the counter increment for trace_buffer data In ftrace_dump, for disabling buffer, iter.tr->trace_buffer.data is used. But for enabling, iter.trace_buffer->data is used. Even though, both point to same buffer, for readability, same convention should be used. Link: http://lkml.kernel.org/r/1434972306-20043-1-git-send-email-umesh.t@xxxxxxxxxxx Signed-off-by: Umesh Tiwari <umesh.t@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 72917235fd5f08638be1d52dcdb0fee3ce2cc95f Author: Gil Fruchter <gilf@xxxxxxxxxx> Date: Tue Jun 9 10:32:35 2015 +0300 tracing: Fix for non-continuous cpu ids Currently exception occures due to access beyond buffer_iter range while using index of cpu bigger than num_possible_cpus(). Below there is an example for such exception when we use cpus 0,1,16,17. In order to fix buffer allocation size for non-continuous cpu ids we allocate according to the max cpu id and not according to the amount of possible cpus. Example: $ cat /sys/kernel/debug/tracing/per_cpu/cpu1/trace Path: /bin/busybox CPU: 0 PID: 82 Comm: cat Not tainted 4.0.0 #29 task: 80734c80 ti: 80012000 task.ti: 80012000 [ECR ]: 0x00220100 => Invalid Read @ 0x00000000 by insn @ 0x800abafc [EFA ]: 0x00000000 [BLINK ]: ring_buffer_read_finish+0x24/0x64 [ERET ]: rb_check_pages+0x20/0x188 [STAT32]: 0x00001a00 : BTA: 0x800abafc SP: 0x80013f0c FP: 0x57719cf8 LPS: 0x200036b4 LPE: 0x200036b8 LPC: 0x00000000 r00: 0x8002aca0 r01: 0x00001606 r02: 0x00000000 r03: 0x00000001 r04: 0x00000000 r05: 0x804b4954 r06: 0x00030003 r07: 0x8002a260 r08: 0x00000286 r09: 0x00080002 r10: 0x00001006 r11: 0x807351a4 r12: 0x00000001 Stack Trace: rb_check_pages+0x20/0x188 ring_buffer_read_finish+0x24/0x64 tracing_release+0x4e/0x170 __fput+0x62/0x158 task_work_run+0xa2/0xd4 do_notify_resume+0x52/0x7c resume_user_mode_begin+0xdc/0xe0 Link: http://lkml.kernel.org/r/1433835155-6894-3-git-send-email-gilf@xxxxxxxxxx Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: Gil Fruchter <gilf@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 9fe6b778ca93e6171dbb8e54df557a278a91abea Author: Gil Fruchter <gilf@xxxxxxxxxx> Date: Tue Jun 9 10:32:34 2015 +0300 tracing: Prefer kcalloc over kzalloc with multiply Use kcalloc for allocating an array instead of kzalloc with multiply, as that is what kcalloc is used for. Found with checkpatch. Link: http://lkml.kernel.org/r/1433835155-6894-2-git-send-email-gilf@xxxxxxxxxx Signed-off-by: Gil Fruchter <gilf@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 79cd95200035fb4b39b089dd01c13302eee6ee03 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue May 12 17:05:32 2015 +1000 powerpc/eeh: Dump PHB diag-data for non-existing PE When detecting EEH error on non-existing PE, including the reserved one, the PE is simply unfrozen without dumping the PHB diag-data, which is useful for locating the root cause of the EEH error. The patch dumps the PHB diag-data when non-existing PE reports error. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0f36db77643b6fb573313d97fa076903de6a34d6 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue May 12 17:05:22 2015 +1000 powerpc/eeh: Fix wrong printed PE number On LE kernel, the non-existing PE number in BE format derived from skiboot firmware isn't converted to LE format properly as following kernel log indicates: EEH: Clear non-existing PHB#4-PE#200000000000000 Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2476c09f391eddb546a73fef9f6ab86886a9f2b1 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 08:28:43 2015 +0530 powerpc/signal: Add helper function to fetch quad word aligned pointer This patch adds one helper function 'sigcontext_vmx_regs' which computes quad word aligned pointer for 'vmx_reserve' array element in sigcontext structure making the code more readable. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Reword comment and fix build for CONFIG_ALTIVEC=n] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bd265242c10afa6c99c46b13ad087238d750fdb4 Merge: 8254973 a48037e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 18:32:45 2015 -0700 Merge branch 'offload_fwd_mark' Scott Feldman says: ==================== switchdev: avoid duplicate packet forwarding v3: - Per Nicolas Dichtel review: remove errant empty union. v2: - Per davem review: in sk_buff, union fwd_mark with secmark to save space since features appear to be mutually exclusive. - Per Simon Horman review: - fix grammar in switchdev.txt wrt fwd_mark - remove some unrelated changes that snuck in v1: This patchset was previously submitted as RFC. No changes from the last version (v2) sent under RFC. Including RFC version history here for reference. RFC v2: - s/fwd_mark/offload_fwd_mark - use consume_skb rather than kfree_skb when dropping pkt on egress. - Use Jiri's suggestion to use ifindex of one of the ports in a group as the mark for all the ports in the group. This can be done with no additional storage (no hashtable from v1). To pull it off, we need some simple recursive routines to walk the netdev tree ensuring all leaves in the tree (ports) in the same group (e.g. bridge) belonging to the same switch device will have the same offload fwd mark. Maybe someone sees a better design for the recusive routines? They're not too bad, and should cover the stacked driver cases. RFC v1: With switchdev support for offloading L2/L3 forwarding data path to a switch device, we have a general problem where both the device and the kernel may forward the packet, resulting in duplicate packets on the wire. Anytime a packet is forwarded by the device and a copy is sent to the CPU, there is potential for duplicate forwarding, as the kernel may also do a forwarding lookup and send the packet on the wire. The specific problem this patch series is interested in solving is avoiding duplicate packets on bridged ports. There was a previous RFC from Roopa (http://marc.info/?l=linux-netdev&m=142687073314252&w=2) to address this problem, but didn't solve the problem of mixed ports in the bridge from different devices; there was no way to exclude some ports from forwarding and include others. This RFC solves that problem by tagging the ingressing packet with a unique mark, and then comparing the packet mark with the egress port mark, and skip forwarding when there is a match. For the mixed ports bridge case, only those ports with matching marks are skipped. The switchdev port driver must do two things: 1) Generate a fwd_mark for each switch port, using some unique key of the switch device (and optionally port). This is done when the port netdev is registered or if the port's group membership changes (joins/leaves a bridge, for example). 2) On packet ingress from port, mark the skb with the ingress port's fwd_mark. If the device supports it, it's useful to only mark skbs which were already forwarded by the device. If the device does not support such indication, all skbs can be marked, even if they're local dst. Two new 32-bit fields are added to struct sk_buff and struct netdevice to hold the fwd_mark. I've wrapped these with CONFIG_NET_SWITCHDEV for now. I tried using skb->mark for this purpose, but ebtables can overwrite the skb->mark before the bridge gets it, so that will not work. In general, this fwd_mark can be used for any case where a packet is forwarded by the device and a copy is sent to the CPU, to avoid the kernel re-forwarding the packet. sFlow is another use-case that comes to mind, but I haven't explored the details. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a48037e7c6c25436912f78f48cdbb75a710b7aa9 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sat Jul 18 18:24:52 2015 -0700 switchdev: update documentation for offload_fwd_mark Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f98a8e636757ce404f305d65dc93e9366112886 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sat Jul 18 18:24:51 2015 -0700 rocker: add offload_fwd_mark support If device flags ingress packet as "fwd offload", mark the skb->offlaod_fwd_mark using the ingress port's dev->offlaod_fwd_mark. This will be the hint to the kernel that this packet has already been forwarded by device to egress ports matching skb->offlaod_fwd_mark. For rocker, derive port dev->offlaod_fwd_mark based on device switch ID and port ifindex. If port is bridged, use the bridge ifindex rather than the port ifindex. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a3b2ec93d4277b121979321b4024b438cb09504 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sat Jul 18 18:24:50 2015 -0700 switchdev: add offload_fwd_mark generator helper skb->offload_fwd_mark and dev->offload_fwd_mark are 32-bit and should be unique for device and may even be unique for a sub-set of ports within device, so add switchdev helper function to generate unique marks based on port's switch ID and group_ifindex. group_ifindex would typically be the container dev's ifindex, such as the bridge's ifindex. The generator uses a global hash table to store offload_fwd_marks hashed by {switch ID, group_ifindex} key. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d754f98b502ad9a8c7570d494e1eaa0e6bc0350c Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sat Jul 18 18:24:49 2015 -0700 net: add phys ID compare helper to test if two IDs are the same Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c4f691ff6791e55ac831666df0b49b1679c56e4 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Sat Jul 18 18:24:48 2015 -0700 net: don't reforward packets already forwarded by offload device Just before queuing skb for xmit on port, check if skb has been marked by switchdev port driver as already fordwarded by device. If so, drop skb. A non-zero skb->offload_fwd_mark field is set by the switchdev port driver/device on ingress to indicate the skb has already been forwarded by the device to egress ports with matching dev->skb_mark. The switchdev port driver would assign a non-zero dev->offload_skb_mark for each device port netdev during registration, for example. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8254973fa3459b512b6c0cd5b0e4641e4d7c048c Author: Simon Horman <simon.horman@xxxxxxxxxxxxx> Date: Thu Jul 16 10:39:14 2015 +0900 rocker: forward packets to CPU when port is joined to openvswitch Teach rocker to forward packets to CPU when a port is joined to Open vSwitch. There is scope to later refine what is passed up as per Open vSwitch flows on a port. This does not change the behaviour of rocker ports that are not joined to Open vSwitch. Signed-off-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7ce45a74bedd0ed80b956b3e14f8bc6dec85327 Author: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx> Date: Mon Jul 20 23:03:45 2015 +0200 bridge: mcast: fix br_multicast_dev_del warn when igmp snooping is not defined Fix: net/bridge/br_if.c: In function 'br_dev_delete': >> net/bridge/br_if.c:284:2: error: implicit declaration of function >> 'br_multicast_dev_del' [-Werror=implicit-function-declaration] br_multicast_dev_del(br); ^ cc1: some warnings being treated as errors when igmp snooping is not defined. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bc384ae6299d3f3a948efabda2a423e2a293ee0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jul 18 11:31:03 2015 +0530 cpufreq: propagate errors returned from __cpufreq_governor() Return codes aren't honored properly in cpufreq_set_policy(). This can lead to two problems: - wrong errors propagated to sysfs - we try to do next state-change even if the previous one failed cpufreq_governor_dbs() now returns proper errors on all invalid state-transition requests and this code should honor that. Reviewed-and-tested-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 871ef3b53a2f4dd9be348c07b77df3c4bd74a37f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jul 18 11:31:02 2015 +0530 cpufreq: governor: Don't WARN on invalid states With previous commit, governors have started to return errors on invalid state-transition requests. We already have a WARN for an invalid state-transition request in cpufreq_governor_dbs(). This does trigger today, as the sequence of events isn't guaranteed by cpufreq core. Lets stop warning on that for now, and make sure we don't enter an invalid state. Reviewed-and-tested-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a72c49590a1f9e5d26a71c3f807dbb8958c93513 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jul 18 11:31:01 2015 +0530 cpufreq: governor: Avoid invalid states with additional checks There can be races where the request has come to a wrong state. For example INIT followed by STOP (instead of START) or START followed by EXIT (instead of STOP). Address these races by making sure the state-machine never gets into any invalid state. Also return an error if an invalid state-transition is requested. Reviewed-and-tested-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 43e0ee361e96229959c2ce1eda1ad9d6b3c191b2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jul 18 11:31:00 2015 +0530 cpufreq: governor: split out common part of {cs|od}_dbs_timer() Some part of cs_dbs_timer() and od_dbs_timer() is exactly same and is unnecessarily duplicated. Create the real work-handler in cpufreq_governor.c and put the common code in this routine (dbs_timer()). Shouldn't make any functional change. Reviewed-and-tested-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 44152cb82d1ad6ae6f8b47c5437f6f1e65ca82c4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Jul 18 11:30:59 2015 +0530 cpufreq: governor: Keep single copy of information common to policy->cpus Some information is common to all CPUs belonging to a policy, but are kept on per-cpu basis. Lets keep that in another structure common to all policy->cpus. That will make updates/reads to that less complex and less error prone. The memory for cpu_common_dbs_info is allocated/freed at INIT/EXIT, so that it we don't reallocate it for STOP/START sequence. It will be also be used (in next patch) while the governor is stopped and so must not be freed that early. Reviewed-and-tested-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8ce344c66e3ce122585cfe68be1ef0ffd176380d Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Jul 19 18:50:38 2015 +0200 ACPI / processor: remove leftover __refdata annotations The processor_handler structure does not reference any __init / __exit code or data. Therefore the __refdata annotation is not needed. It used to be prior to commit fe7bf106ebc2 ("acpi: delete __cpuinit usage from all acpi files") due to the __cpuinit annotation of acpi_processor_add(). But with that commit in place that requirement has gone. The same is true for the acpi_cpu_notifier notifier block. acpi_cpu_soft_notify() used to be marked __cpuinit but lost its annotation in the above mentioned commit as well. Therefore the __refdata annotation isn't needed there either. Just drop the unneded __refdata annotations to be able to catch future section mismatches. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9962eea9e55f797f05f20ba6448929cab2a9f018 Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Sun Jul 12 20:18:42 2015 +0800 x86/mm: Initialize pmd_idx in page_table_range_init_count() The variable pmd_idx is not initialized for the first iteration of the for loop. Assign the proper value which indexes the start address. Fixes: 719272c45b82 'x86, mm: only call early_ioremap_page_table_range_init() once' Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Cc: tony.luck@xxxxxxxxx Cc: wangnan0@xxxxxxxxxx Cc: david.vrabel@xxxxxxxxxx Reviewed-by: yinghai@xxxxxxxxxx Link: http://lkml.kernel.org/r/1436703522-29552-1-git-send-email-mhuang@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d2f3f5d2e9cae6e73f9642a5ddc8c8a07c35e79b Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Tue Jul 7 01:55:53 2015 -0700 perf bench futex: Add lock_pi stresser Allows a way of measuring low level kernel implementation of FUTEX_LOCK_PI and FUTEX_UNLOCK_PI. The program comes in two flavors: (i) single futex (default), all threads contend on the same uaddr. For the sake of the benchmark, we call into kernel space even when the lock is uncontended. The kernel will set it to TID, any waters that come in and contend for the pi futex will be handled respectively by the kernel. (ii) -M option for multiple futexes, each thread deals with its own futex. This is a trivial scenario and only measures kernel handling of 0->TID transition. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Link: http://lkml.kernel.org/r/1436259353.12255.78.camel@xxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 52c0a18b9010fb19d10889e8a00aa784197d357c Author: Sergei Trofimovich <siarheit@xxxxxxxxxx> Date: Sun Jul 19 10:30:05 2015 +0100 perf tools: Fix makefile generation under dash Under dash 'echo -n' yields '-n' to stdout. Use printf "" instead. Signed-off-by: Sergei Trofimovich <siarheit@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1437298205-29305-1-git-send-email-siarheit@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d77fac7f9e687d137b17296d86d9143c2cccab6a Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Jul 15 18:14:28 2015 +0900 perf buildid: Use SBUILD_ID_SIZE macro Introduce SBUILD_ID_SIZE macro and use it instead of using BUILD_ID_SIZE * 2 + 1. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150715091428.8915.75265.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 92f6c72e7ac40cbf8d12682d1aeeb82c905f2a64 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Jul 15 18:14:07 2015 +0900 perf probe: Move ftrace probe-event operations to probe-file.c Move ftrace probe-event operations to probe-file.c from probe-event.c. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150715091407.8915.14316.stgit@xxxxxxxxxxxxxxxxxxxxx [ Fixed up strlist__new() calls wrt 4a77e2183fc0 ("perf strlist: Make dupstr be the...") ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a3c9de6280b8d196ab89ca7fad143bfa2a949790 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Jul 15 18:14:00 2015 +0900 perf probe: Simplify __add_probe_trace_events code Simplify the __add_probe_trace_events() code by taking out the probe_trace_event__set_name() and updating show_perf_probe_event() Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150715091400.8915.85501.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4ba1faa19fa5f415bd69b1d7c366028332468bca Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Jul 10 07:36:10 2015 +0000 perf record: Allow filtering perf's pid via --exclude-perf This patch allows 'perf record' to exclude events issued by perf itself by '--exclude-perf' option. Before this patch, when doing something like: # perf record -a -e syscalls:sys_enter_write <cmd> One could easily get result like this: # /tmp/perf report --stdio ... # Overhead Command Shared Object Symbol # ........ ....... .................. .................... # 99.99% perf libpthread-2.18.so [.] __write_nocancel 0.01% ls libc-2.18.so [.] write 0.01% sshd libc-2.18.so [.] write ... Where most events are generated by perf itself. A shell trick can be done to filter perf itself out: # cat << EOF > ./tmp > #!/bin/sh > exec perf record -e ... --filter="common_pid != \$\$" -a sleep 10 > EOF # chmod a+x ./tmp # ./tmp However, doing so is user unfriendly. This patch extracts evsel iteration framework introduced by patch 'perf record: Apply filter to all events in a glob matching' into foreach_evsel_in_last_glob(), and makes exclude_perf() function append new filter expression to each evsel selected by a '-e' selector. To avoid losing filters if user pass '--filter' after '--exclude-perf', this patch uses perf_evsel__append_filter() in both case, instead of perf_evsel__set_filter() which removes old filter. As a side effect, now it is possible to use multiple '--filter' option for one selector. They are combinded with '&&'. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1436513770-8896-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cd871d517d46f26943f3c8f61c0d2ac6665da6a2 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 11:23:13 2015 -0500 ARM: socfpga: add reset for the Arria 10 platform Since the Arria10's reset register offset is different from the Cyclone/Arria 5, it's best to add a new DT_MACHINE_START() for the Arria10. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> --- v2: use altera_a10_dt_match for the A10 machine desc commit ed15e8880fc3d8d52bc02a02521054bfcb26264a Merge: b8d1f26 52721d9 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 13:21:28 2015 -0700 Merge 4.2-rc3 into staging-next We need the staging fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0a9f33bdf8bf9061c31faab46d8eb46ff644622 Author: Phil Sutter <phil@xxxxxx> Date: Wed Jul 15 21:56:26 2015 +0200 net/ipv6: update flowi6_oif in ip6_dst_lookup_flow if not set Newly created flows don't have flowi6_oif set (at least if the associated socket is not interface-bound). This leads to a mismatch in __xfrm6_selector_match() for policies which specify an interface in the selector (sel->ifindex != 0). Backtracing shows this happens in code-paths originating from e.g. ip6_datagram_connect(), rawv6_sendmsg() or tcp_v6_connect(). (UDP was not tested for.) In summary, this patch fixes policy matching on outgoing interface for locally generated packets. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22f94e625635fb8555f5e7361745ea780a3853e4 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 16:31:09 2015 +0200 bonding: trivial: remove unused variables Get rid of these: drivers/net/bonding//bond_main.c: In function â??bond_update_slave_arrâ??: drivers/net/bonding//bond_main.c:3754:6: warning: variable â??slaves_in_aggâ?? set but not used [-Wunused-but-set-variable] int slaves_in_agg; ^ CC [M] drivers/net/bonding//bond_3ad.o drivers/net/bonding//bond_3ad.c: In function â??ad_marker_response_receivedâ??: drivers/net/bonding//bond_3ad.c:1870:61: warning: parameter â??markerâ?? set but not used [-Wunused-but-set-parameter] static void ad_marker_response_received(struct bond_marker *marker, ^ drivers/net/bonding//bond_3ad.c:1871:19: warning: parameter â??portâ?? set but not used [-Wunused-but-set-parameter] struct port *port) ^ Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b1d0d8f52533f84cd5c8362e3b7786df80a1238 Merge: 03b6dc7 e10177a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 12:49:11 2015 -0700 Merge branch 'bridge-temp-and-perm' Nikolay Aleksandrov says: ==================== bridge: multicast: temp and perm entries behaviour enhancements Patch 01 adds a notify when a group is deleted via br_multicast_del_pg() (on expire, on device delete or on device down). Patch 02 changes how bridge device and bridge port delete and down/up are handled. Until now on bridge down all groups were flushed, now only the temp ones are (same for port), perm entries are flushed only on port or bridge removal. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e10177abf842d0c40dfecc43bd57a0a762a2fccf Author: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 07:16:51 2015 -0700 bridge: multicast: fix handling of temp and perm entries When the bridge (or port) is brought down/up flush only temp entries and leave the perm ones. Flush perm entries only when deleting the bridge device or the associated port. Signed-off-by: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef8299de7e2bf61ed24d1da699fa5ba13549d5f8 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 07:16:50 2015 -0700 bridge: multicast: notify on group delete Group notifications were not sent when a group expired or was deleted due to bridge/port device being deleted. So add br_mdb_notify() to br_multicast_del_pg(). Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d285a7f35b55c8fba346306ad3eb174c4f7eab1 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Jul 21 01:40:45 2015 +0800 futex: Make should_fail_futex() static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: kbuild-all@xxxxxx Cc: tipbuild@xxxxxxxxx Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Darren Hart <darren@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Brian Silverman <bsilver16384@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 03b6dc7d172fb46891d25e6cff43bd5762a918c1 Merge: d9382bd 8d20aab Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 20 12:41:30 2015 -0700 Merge branch 'bpf_cgroup_classid' Daniel Borkmann says: ==================== BPF update This small helper allows for accessing net_cls cgroups classid. Please see individual patches for more details. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d20aabe1c76cccac544d9fcc3ad7823d9e98a2d Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Jul 15 14:21:42 2015 +0200 ebpf: add helper to retrieve net_cls's classid cookie It would be very useful to retrieve the net_cls's classid from an eBPF program to allow for a more fine-grained classification, it could be directly used or in conjunction with additional policies. I.e. docker, but also tooling such as cgexec, can easily run applications via net_cls cgroups: cgcreate -g net_cls:/foo echo 42 > foo/net_cls.classid cgexec -g net_cls:foo <prog> Thus, their respecitve classid cookie of foo can then be looked up on the egress path to apply further policies. The helper is desigend such that a non-zero value returns the cgroup id. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b87a173e25d6bf5c26f13d329cdddf57dbd4061a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Jul 15 14:21:41 2015 +0200 cls_cgroup: factor out classid retrieval Split out retrieving the cgroups net_cls classid retrieval into its own function, so that it can be reused later on from other parts of the traffic control subsystem. If there's no skb->sk, then the small helper returns 0 as well, which in cls_cgroup terms means 'could not classify'. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9382bda4ef97d73c77ecaed7a8d5df20da8b8dd Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Wed Jul 15 15:34:40 2015 +0530 enic: allow adaptive coalesce setting for msi/legacy intr * Allow setting of adaptive coalescing setting for all types of interrupt. * In msi & legacy intr, we use single interrupt for rx & tx. In this case tx_coalesce_usecs is invalid. We should use only rx_coalesce_usecs. Do not display tx_coal values for msi/intx. And do not allow user to set this as well. * Driver supports only tx/rx_coalesce_usec and adaptive coalesce settings. For other values, driver does not return error. So ethtool succeeds for unsupported values. Introduce enic_coalesce_valid() function to validate the coalescing values. * If user requests for coalesce value greater than what adaptor supports, driver uses the max value. We should at least log this. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc865d6b4a6b58db8497ac2cf188ad20a5cec00c Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Wed Jul 15 15:34:39 2015 +0530 enic: add adaptive coalescing intr for intx and msi poll Adaptive interrupt coalescing is available for msix. This patch adds the support for msi poll. Interface for adaptive interrupt coalescing is already added in driver. We just did not enable it for legacy intr & msi. enic_calc_int_moderation() & enic_set_int_moderation() are defined as static after enic_poll. Since enic_poll needs it, move both of these function definitions above enic_poll. No change in functionality. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a37749143ecef6414cf125515fc2a04a46d8f39 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Jul 20 12:09:16 2015 -0700 arm64: fix Kconfig include path They're not relative. My builder failed silently and never notified me of the error. Sigh. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 31193fe5f6fb616711323f5d74ee5bb92aacba4a Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Thu Jul 9 16:45:37 2015 -0400 svcrdma: Remove svc_rdma_fastreg() Commit 0bf4828983df ("svcrdma: refactor marshalling logic") removed the last call site for svc_rdma_fastreg(). Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 10dc4512185741a298cd7bc87e9968944f31a50d Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Thu Jul 9 16:45:28 2015 -0400 svcrdma: Clean up svc_rdma_get_reply_array() Kernel coding conventions frown upon having large nontrivial functions in header files, and the preference these days is to allow the compiler to make inlining decisions if possible. As these functions are re-homed into a .c file, be sure that comparisons with fields in struct rpcrdma_msg are with be32 constants. This is a refactoring change; no behavior change is intended. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9d11b51ce7c150a69e761e30518f294fc73d55ff Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Thu Jul 9 16:45:18 2015 -0400 svcrdma: Fix send_reply() scatter/gather set-up The Linux NFS server returns garbage in the data payload of inline NFS/RDMA READ replies. These are READs of under 1000 bytes or so where the client has not provided either a reply chunk or a write list. The NFS server delivers the data payload for an NFS READ reply to the transport in an xdr_buf page list. If the NFS client did not provide a reply chunk or a write list, send_reply() is supposed to set up a separate sge for the page containing the READ data, and another sge for XDR padding if needed, then post all of the sges via a single SEND Work Request. The problem is send_reply() does not advance through the xdr_buf when setting up scatter/gather entries for SEND WR. It always calls dma_map_xdr with xdr_off set to zero. When there's more than one sge, dma_map_xdr() sets up the SEND sge's so they all point to the xdr_buf's head. The current Linux NFS/RDMA client always provides a reply chunk or a write list when performing an NFS READ over RDMA. Therefore, it does not exercise this particular case. The Linux server has never had to use more than one extra sge for building RPC/RDMA replies with a Linux client. However, an NFS/RDMA client _is_ allowed to send small NFS READs without setting up a write list or reply chunk. The NFS READ reply fits entirely within the inline reply buffer in this case. This is perhaps a more efficient way of performing NFS READs that the Linux NFS/RDMA client may some day adopt. Fixes: b432e6b3d9c1 ('svcrdma: Change DMA mapping logic to . . .') BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=285 Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ff79c74dcace8fec62706d0bef00b6680b477fdb Author: Shirley Ma <shirley.ma@xxxxxxxxxx> Date: Thu Jul 9 16:45:08 2015 -0400 NFS/RDMA Release resources in svcrdma when device is removed When removing underlying RDMA device, the rmmod will hang forever if there are any outstanding NFS/RDMA client mounts. The outstanding NFS/RDMA counts could also prevent the server from shutting down. Further debugging shows that the existing connections are not teared down and resource are not released when receiving RDMA_CM_EVENT_DEVICE_REMOVAL event. It seems the original code missing svc_xprt_put() in RDMA_CM_EVENT_REMOVAL event handler thus svc_xprt_free is never invoked to release the existing connection resources. The patch has been passed removing, adding device back and forth without stopping NFS/RDMA service. This will also allow a device to be unplugged and swapped out without shutting down NFS service. BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=252 Signed-off-by: Shirley Ma <shirley.ma@xxxxxxxxxx> Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7b8f4586532f36c5541a15d072576e7e89a5df75 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Jul 3 19:39:02 2015 +0800 nfsd: Add macro NFS_ACL_MASK for ACL Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e446d66dd77fa8fbb505a9940bf637649c9b45f2 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Jul 3 19:36:14 2015 +0800 nfsd: Remove duplicate define of IDMAP_NAMESZ/IDMAP_TYPE_xx Just using the macro defined in nfs_idmap.h. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit faf996a654ac60983a24a9cdc5e0f3324e8a2b32 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Jul 3 19:34:53 2015 +0800 nfsd: Drop including client's header file nfs_fs.h nfs_fs.h is a client's header file. # ll fs/nfsd/nfs4acl.o fs/nfsd/nfsd.ko -rw-r--r--. 1 root root 328248 Jul 3 19:26 fs/nfsd/nfs4acl.o -rw-r--r--. 1 root root 7452016 Jul 3 19:26 fs/nfsd/nfsd.ko After this patch, # ll fs/nfsd/nfs4acl.o fs/nfsd/nfsd.ko -rw-r--r--. 1 root root 150872 Jul 3 19:15 fs/nfsd/nfs4acl.o -rw-r--r--. 1 root root 7273792 Jul 3 19:23 fs/nfsd/nfsd.ko Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit d8398fc11762d162b2e7b0f368278449899cfbdf Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Jul 7 10:12:03 2015 +0800 nfsd: Set lc_size_chg before ops->proc_layoutcommit After proc_layoutcommit success, i_size_read(inode) always >= new_size. Just set lc_size_chg before proc_layoutcommit, if proc_layoutcommit failed, nfsd will skip the lc_size_chg, so it's no harm. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 28e51af7c608f661a728db9d47b33c54096fdc59 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Wed Jul 8 16:27:56 2015 -0400 Revert "Documentation: NFS/RDMA: Document separate Kconfig symbols" This reverts commit 731d5cca82729c85ca3296902a64836619f4ba2d. Commit ffe1f0df5862 ("rpcrdma: Merge svcrdma and xprtrdma modules into one") forgot to update the corresponding documentation. Reported-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4691b271ac3a3bdc0d7d886e4715163eb4fb4bc7 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Jul 7 10:13:02 2015 +0800 nfsd: Fix a memory leak in nfsd4_list_rec_dir() If lookup_one_len() failed, nfsd should free those memory allocated for fname. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 15bfd2cc107a9971ac8aeb4b7724ced581a2ed30 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Jul 10 07:36:09 2015 +0000 perf record: Apply filter to all events in a glob matching There is an old problem in perf's filter applying which first posted at Sep. 2014 at https://lkml.org/lkml/2014/9/9/944 that, if passing multiple events in a glob matching expression in cmdline then add '--filter' after them, the filter will be applied on only the last one. For example: # dd if=/dev/zero of=/dev/null & [1] 464 # perf record -a -e 'syscalls:sys_*_read' --filter 'common_pid != 464' sleep 0.1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.239 MB perf.data (2094 samples) ] # perf report --stdio | tee ... # Samples: 2K of event 'syscalls:sys_enter_read' # Event count (approx.): 2092 ... # Samples: 2 of event 'syscalls:sys_exit_read' # Event count (approx.): 2 ... In this example, filter only applied on 'syscalls:sys_exit_read', and there's no way to set filter for ''syscalls:sys_enter_read'. This patch adds a 'cmdline_group_boundary' for 'struct evsel', and apply filter on all events between two boundary marks. After applying this patch: # perf record -a -e 'syscalls:sys_*_read' --filter 'common_pid != 464' sleep 0.1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.031 MB perf.data (3 samples) ] # perf report --stdio | tee ... # Samples: 1 of event 'syscalls:sys_enter_read' # Event count (approx.): 1 ... # Samples: 2 of event 'syscalls:sys_exit_read' # Event count (approx.): 2 ... Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Reported-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1436513770-8896-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bf9185dda829b2aaf73e1e869891a968ff85e2ae Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Jul 20 18:36:15 2015 +0100 ASoC: sti-uniperf: Fix implicit inclusion of pinctrl Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 005438a8eef063495ac059d128eea71b58de50e5 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Jul 20 12:02:09 2015 -0300 perf trace: Support 'strace' syscall event groups I.e.: $ cat ~/share/perf-core/strace/groups/file access chmod creat execve faccessat getcwd lstat mkdir open openat quotactl readlink rename rmdir stat statfs symlink unlink $ Then, on a quiet desktop, try running this and then moving your mouse to see the deluge of mouse related activity: # perf probe 'vfs_getname=getname_flags:72 pathname=filename:string' Added new event: probe:vfs_getname (on getname_flags:72 with pathname=filename:string) You can now use it in all perf tools, such as: perf record -e probe:vfs_getname -aR sleep 1 # # trace --ev probe:vfs_getname --filter-pids 2232 -e file 0.042 (0.042 ms): mousetweaks/2235 open(filename: 0x14e3910, mode: 438 ) ... 0.042 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/home/acme/.icons/Adwaita/cursors/xterm") 0.100 (0.100 ms): mousetweaks/2235 ... [continued]: open()) = -1 ENOENT No such file or directory 0.142 (0.018 ms): mousetweaks/2235 open(filename: 0x14c3c10, mode: 438 ) ... 0.142 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/home/acme/.icons/Adwaita/index.theme") 0.192 (0.069 ms): mousetweaks/2235 ... [continued]: open()) = -1 ENOENT No such file or directory 0.230 (0.017 ms): mousetweaks/2235 open(filename: 0x14c3c10, mode: 438 ) ... 0.230 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/usr/share/icons/Adwaita/cursors/xterm") 0.253 (0.041 ms): mousetweaks/2235 ... [continued]: open()) = 14 0.459 (0.008 ms): mousetweaks/2235 open(filename: 0x14e3910, mode: 438 ) ... 0.459 ( ): probe:vfs_getname:(ffffffff812230bc) pathname="/home/acme/.icons/Adwaita/cursors/left_side") 0.468 (0.017 ms): mousetweaks/2235 ... [continued]: open()) = -1 ENOENT No such file or directory Need to combine that raw_syscalls:sys_enter(open) + probe:vfs_getname + raw_syscalls:sys_exit(open) sequence... Now, if you're bored, please write some more syscall groups, like the ones in 'strace' and send it our way :-) Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-a42xklu59lcbxp7bbnic74a8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 61ae76563ec3b506235d5dd69c6fdacea321254d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jun 22 17:13:49 2015 -0700 clk: Remove clk.h from clk-provider.h Remove clk.h from clk-provider.h so that we can clearly split clk providers from clk consumers. This will allow us to quickly detect when clock providers are using the consumer APIs by looking at the includes. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6acc63b5023cbd03d2e04e24cc8d979a69a8ab27 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 13 16:47:44 2015 -0700 clk: h8300: Remove clk.h and clkdev.h includes Neither of these includes are used in these files, remove them. Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6a8ce8c96c1b2fce0a275b5858c3508ca419d8cb Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: at91: Include clk.h and slab.h This clock provider uses the consumer API, so include clk.h explicitly. Also include slab.h instead of relying on clkdev.h for it. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 27df3ee27813e2f78ddd8c895d949d44102150c3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 9 15:24:51 2015 -0700 clk: ti: Switch clk-provider.h include to clk.h This file isn't a clock provider but uses the consumer API, so include clk.h instead of clk-provider.h. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit cb58e14efbc4d72542b9d62f5ee0522fe0147259 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Jul 9 15:24:51 2015 -0700 clk: pistachio: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e2a657090a0b7f804f3b9f1a7735e79c62baa636 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri May 1 16:09:33 2015 -0700 clk: ingenic: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Paul Cercueil <paul@xxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 530b544ebfa5d0039eed9a1cd4714807629fbe84 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri May 1 16:09:33 2015 -0700 clk: si570: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 67bb5408a8cf5a76a820b49bba4ab6da7acd313b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri May 1 16:09:33 2015 -0700 clk: moxart: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a826a1a4217e207b794a0fd2bd7d1f62db240e0e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jun 10 14:14:28 2015 -0700 clk: cdce925: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 3c37311730efec287b323e0928c9cf3737ab93e2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: Include clk.h in clk.c This file implements the clk API and so it should include clk.h directly instead of indirectly including it through clk-provider.h. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5402494f9b13da6d4210489d544a01fa7dc9ee14 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: zynq: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1b29e60157e845869abb867df6c7164eaace88b6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: ti: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Acked-by: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9dfefe8c766ee2abc724e1e275ab0b32431fcd25 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: sunxi: Include clk.h and remove unused clkdev.h includes This clock provider uses the consumer API, so include clk.h explicitly. Also remove clkdev.h in files that aren't using it and include slab.h when clkdev.h was being used to implicitly include it. Cc: Chen-Yu Tsai <wens@xxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d5f728acd90e864251139ffc59294b336cf4b382 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: st: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Gabriel Fernandez <gabriel.fernandez@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8803609082349d97311da2e43042ed3780d53fdf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: qcom: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9bd6314c2ee4a117abb8a4ad4d5f359a6b34c664 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: highbank: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Rob Herring <rob.herring@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d4945ab6472968f1a429ae89bf52e88676c47991 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: bcm: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Acked-by: Alex Elder <elder@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6d31e3b22e131f5aa5c9d6407ea46fec2134f986 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: versatile: Remove clk.h and clkdev.h includes Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Also remove clkdev.h in files that aren't using it and replace them with slab.h in files that were relying on the implicit include of slab.h in clkdev.h. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a162ca912cf792073b0b2450377fd1cd5d5c6cb5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: ux500: Remove clk.h and clkdev.h includes Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Also remove clkdev.h in files that aren't using it. Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 584ac4e935a1f905d67c8fa3fbe8e32d384721f1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: tegra: Properly include clk.h Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Only include clk.h in files that are using it. Also add in a clkdev.h include that was missing in a file using clkdev APIs. Cc: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c302e1e28078fbb31e179c48d9a990fb0e9334e4 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: spear: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b0af24b523c21c918eb64541df4450b9da7ed195 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: socfpga: Remove clk.h and clkdev.h includes Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. The clkdev.h include isn't used either, remove it and add in slab.h to make sure things keep compiling. Acked-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fdb94059d89aab102b4debc30e77f0b5521f8148 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: sirf: Properly include clk.h Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Move the include of clk.h into clk-common.c because that's the only file that's really using clk.h, even if it's included into the atlas6 and prima2 files. Cc: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6f1ed07a14a1ace5facba1e2b3995a2ef3b610cc Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: samsung: Properly include clk.h and clkdev.h Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Only include clk.h in files that are using it. The clkdev.h header isn't always used either, so remove it and add in slab.h where files were relying on it to include slab for them. Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f684ff8b67ec19f003cc894477afb20442064692 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: rockchip: Properly include clk.h Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Only include clk.h if it's actually used. Cc: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 39482a1331ca70184145456df4206405b5b729e3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: nxp: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Acked-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit bb0bf354524d10097271fb26bd92a55c67c0304d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: mxs: Include clk.h in C files that use it Clock provider drivers generally shouldn't include clk.h because it's the consumer API. The clk.h include is being included in all mxs files because it's part of mxs/clk.h even though nothing actually requires it in that file. Move the clk.h include to the C files that are actually using it and remove the clk.h include from the header file. The clkdev.h include isn't used either, so drop it too. Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit db00c3e5953f5ff7e781d85feef1b3ae9ef13297 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: mvebu: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Only include the header if necessary. The clkdev.h include isn't used here either, so drop it and add in slab.h to keep things compiling. Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 528b76976fd22d65a07e244ec8996de492941408 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: mmp: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. The clkdev.h include isn't used either, so drop it and add in slab.h to keep things compiling. Cc: Chao Xie <chao.xie@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c0eb1dfffc74d34277116842001e7677787c04cf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: meson8b: Properly include clk.h Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Only include clk.h if it's actually used. Cc: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c726639bbe23ddbfaa6ee1dd7d27175ee4488661 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: mediatek: Properly include clk.h We don't need to include clk.h in header files, just forward declare struct clk here. This leads us to a few places where the include of clk.h was missing in C files. Add them. Cc: James Liao <jamesjj.liao@xxxxxxxxxxxx> Cc: Henry Chen <henryc.chen@xxxxxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 059a1aa7eb1de2ccbc41a708e892c080d9e26c60 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: keystone: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxx> Cc: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 593438e44c8e01d3098d69d30353be655c3b27f1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: hisilicon: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Also drop the clkdev.h include in files that aren't using it. Cc: Bintian Wang <bintian.wang@xxxxxxxxxx> Cc: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6063b663e872faa005669d1379439dfba805a1ea Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: wm831x: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e26684701388db6406e640ad05cbe84e5232ddb7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: u300: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Also add in slab.h because without clkdev.h compilation of this file would fail. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e873473cbcb570360889415e4a5680e09fe6d031 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: twl6040: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 608f9b6e15e70535695996c6a9cde0f3dcd02251 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: si5351: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d74f864fec313868abadf8a31a4c585ec26389ca Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: rk808: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 39a3891576496ff8e772306a9d06cbaed019dbee Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: palmas: Remove clkdev.h includes This driver includes clkdev.h even though it isn't used, so drop it. Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Cc: Nishanth Menon <nm@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit aa1a7fc4a9203d4b53d41d0e60ac774d83c666fb Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: nomadik: Remove clk.h and clkdev.h includes Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. This driver also includes clkdev.h even though it isn't used, so drop it too and add slab.h to make sure everything still compiles. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e715e2b1a67be39c8026cb6d77563774f989ba90 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: mux: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 893418e40768251c62e282bcfe25ebf24c6bcb7a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: efm32gg: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a87b6866a0ecaa88379d1eeb194f218fbfd0eaf5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: clps711x: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fc1699c802d316d3a8fa0d4d6a09ec8e108652ce Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: cdce706: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a1ff4588d7b225fdf96ba65f11ce33ef00ada9ac Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 14:59:11 2015 -0700 clk: axi-clkgen: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 663724f9905818c261f0262b1a64b141dad5e3cd Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clk: i.MX: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Alexander Shiyan <shc_work@xxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0d1d7a5588d029f2b3b30d38c2b1d693cb49568d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 lib/vsprintf.c: Include clk.h This file uses the clk API so it should include clk.h directly instead of indirectly including it through clk-provider.h. Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d49c699344735507a10ded79713cc5f9fa8bacf0 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 simplefb: Include clk.h This driver uses the consumer API, so include clk.h explicitly instead of impliclty through the provider API. Cc: Luc Verhaegen <libv@xxxxxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 887e5a91ac17927f68455d059da2f175b6fbf9d3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 ACPI: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the includes here because these are a provider drivers. Cc: Ken Xue <Ken.Xue@xxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c0cc72efd839acd555d918febe08d91786dbea8d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 clocksource: cadence_ttc: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Cc: Michal Simek <michal.simek@xxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0dab7ddeea12243a7bc6753d5360d46f237f76ea Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 spi: spi-pxa2xx: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 10a3402415d7f6e32ca20ebb088e153fe45f807d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 staging: clocking-wizard: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d5fb48a354e756b1fcb6bf714f6b31626c698df4 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 powerpc/512x: clk: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Gerhard Sittig <gsi@xxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Anatolij Gustschin <agust@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4280cf54eeec08e54da32ca61f902cca33bc26fe Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 MIPS: Alchemy: Include clk.h This clock provider uses the consumer API, so include clk.h explicitly. Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d4e14ca303e0e6aa56e1573a38ff91b8eb121600 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 arm64: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f5b00f6f3a05d228479b7c7bb6ec814b07d713fe Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jun 22 17:05:21 2015 -0700 ARM: OMAP2+: Include clk.h These files use the consumer API, so include clk.h explicitly. Acked-by: Tero Kristo <t-kristo@xxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c04868d9b8cff797d40a15beeb65125084934bd0 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 ARM: s3c64xx: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit db22cf9d1b6f3177c461c6cf7c10cd35b6aa88bf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jun 19 15:00:46 2015 -0700 ARM: orion5x: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c81c11663e1a0bbb01bd4ca688c1e95b8219647f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 23 16:08:06 2015 -0700 ARM: mvebu: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit c76a9692f890ea777b9d2385626e4080ebad75e7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 23 16:08:06 2015 -0700 ARM: keystone: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Cc: Nishanth Menon <nm@xxxxxx> Cc: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 88c724bcb0e3e09f03f4b8d84695b90bebec320f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 23 16:08:06 2015 -0700 ARM: hisi: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Cc: Wei Xu <xuwei5@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 09efb0070d6d0cf6ee311dbf9216e44909490a7c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 23 16:08:06 2015 -0700 ARM: at91: Remove clk-provider.h include This file doesn't use the clk provider APIs. Remove the include. Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8816d38d49d37e255d98d0204af2acba7094385b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 17 15:10:33 2015 -0300 perf strlist: Make parse_list() private It is not used anywhere, expose it when/if needed. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-f6in51stj17avhk4rv11gjgg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d052e508a4069f0711ea68156f4b1565bf14c41c Author: Roy Spliet <r.spliet@xxxxxxxxxxxxx> Date: Fri Jun 26 11:00:11 2015 +0200 mtd: nand: sunxi: Set serial access mode correctly Replaces the hard coded "always use EDO" policy with that prescribed by the ONFI 3.1 specification that EDO mode should always be used if tRC is below 30ns. Signed-off-by: Roy Spliet <r.spliet@xxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9c618292dba6aa9b82e8a2e4e6fe70f54bd87a81 Author: Roy Spliet <r.spliet@xxxxxxxxxxxxx> Date: Fri Jun 26 11:00:10 2015 +0200 mtd: nand: sunxi: Replace failsafe timing cfg with calculated value The TIMING_CFG register was previously statically set to a magic value (extracted from Allwinner's BSP) when initializing the NAND controller. Now that we have more details about the TIMING_CFG register layout (extracted from the A83 user manual) we can dynamically calculate the appropriate value for each NAND chip and set it when selecting the chip. Signed-off-by: Roy Spliet <r.spliet@xxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d3dc5430d68fb91a62d971648170b34d46ab85bc Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 23 14:32:55 2015 +0100 regmap: debugfs: Allow writes to cache state settings Allow the user to write the cache_only and cache_bypass settings. This can be useful for debugging. Since this can lead to the hardware getting out-of-sync with the cache, at least for the period that the cache state is forced, the kernel is tainted and the action is recorded in the kernel log. When disabling cache_only through debugfs a cache sync will be performed. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8ff9daf3c16769817d0eaf16154d9e9198ec1bda Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 17 12:07:25 2015 -0300 perf strlist: Allow substitutions from file contents in a given directory So, if we have an strlist equal to: "file,close" And we call it as: struct strlist_config *config = { .dirname = "~/strace/groups", }; struct strlist *slist = strlist__new("file, close", &config); And we have: $ cat ~/strace/groups/file access open openat statfs Then the resulting strlist will have these contents: [ "access", "open", "openat", "statfs", "close" ] This will be used to implement strace syscall groups in 'perf trace', but can be used in some other tool, thus being implemented in 'strlist'. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-wi6l6qtomqlywwr6005jvs05@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0642ef6f2992eba46c41abb5ceb7d4fa14ba888e Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 23 14:32:54 2015 +0100 debugfs: Export bool read/write functions The file read/write functions for bools have no special dependencies on debugfs internals and are sufficiently non-trivial to be worth exporting so clients can re-use the implementation. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0db7fae2736d0db920905c1fb576ec7eab2660c8 Author: Alexey Firago <alexey_firago@xxxxxxxxxx> Date: Tue Jun 30 12:53:46 2015 +0300 mtd: spi-nor: set SECT_4K for n25q064 SPI flash Micron n25q064 flash supports 4 KiB erase sectors. Signed-off-by: Alexey Firago <alexey_firago@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 038761dfe4ce145f0f080cc08ee43f6e0ab3ae2f Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 11:37:56 2015 +0200 mtd: fsl-quadspi: Actually clear TX FIFO upon write QUADSPI_MCR_CLR_TXF_MASK is the correct mask for clearing the TX FIFO. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d9abc615ea1659b6967a00e95b1b3a7fd4079b80 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 17 18:43:42 2015 +0300 tools: iio: Send error messages to stderr This patch indends to make some cleanup and send printf error messages to stderr. The changes were performed with coccinelle for failure messages and manual for other cases, such as wrong usage messages. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 34cbea1908fb686b037e01e5b1ab8e0e67b09ed3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Jul 13 16:20:11 2015 +0300 tools: iio: Add ARRAY_SIZE macro Calculation of the length of an array can be done with the ARRAY_SIZE macro to make code more abstract and remove the associated checkpatch.pl warning. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 37d38e2bcce055c3988977429dc4336c866df73d Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Jul 13 16:17:47 2015 +0300 tools: iio: Remove unnecessary braces Single statement blocks donâ??t need braces. Found with checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ff1ac639b395d58bbd99ff4a36b10eebb81544a3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Mon Jul 13 16:15:56 2015 +0300 tools: iio: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form as recommended by checkpatch.pl. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8ab6abfca09c1800dccb753775f6ce8ee82f50dd Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Tue Jul 7 14:07:13 2015 +0300 iio: light: Add support for TXC PA12 als and proximity sensor Add support for TXC PA12203001 als and proximity sensor. Support for raw illuminance and proximity readings. Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 94a9b7b1809f56cfaa080e70ec49b6979563a237 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Thu Jul 2 17:27:58 2015 -0500 iio: light: add support for TI's opt3001 light sensor TI's opt3001 light sensor is a simple and yet powerful little device. The device provides 99% IR rejection, automatic full-scale, very low power consumption and measurements from 0.01 to 83k lux. This patch adds support for that device using the IIO framework. See http://www.ti.com/product/opt3001 for more information. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 081d974031bafb204d64de3e82f398daf1d0b899 Author: Harald Geyer <harald@xxxxxxxxx> Date: Tue Jul 7 13:39:31 2015 +0000 iio: dht11: Use new function ktime_get_resolution_ns() This cleans up the most ugly workaround in this driver. There are no functional changes yet in the decoding algorithm, but we improve the following things: * Get rid of spurious warning messages on systems with fast HRTIMER. * If the clock is not fast enough for decoding to work, we give up immediately. * In that case we return EAGAIN instead of EIO, so it's easier to discriminate causes of failure. Returning EAGAIN is somewhat controversial: It's technically correct as a faster clock might become available. OTOH once all clocks are enabled this is a permanent error. There is no ECLOCKTOOSLOW error code. Signed-off-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5fbb0bc466b7b43036b1dd8c9e9166ca9e69e07a Author: Harald Geyer <harald@xxxxxxxxx> Date: Tue Jul 7 13:39:30 2015 +0000 iio: dht11: avoid multiple assignments to make checkpatch.pl --strict happy We just do the assignments in two steps. Signed-off-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a7126003b6dd47c0088d952734379ef471156c5f Author: Harald Geyer <harald@xxxxxxxxx> Date: Tue Jul 7 13:39:29 2015 +0000 iio: dht11: add comment to make checkpatch.pl --strict happy Explain why the driver needs a mutex. Signed-off-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 889c5e9b668670c91dcd3a8f2b15a0b2086f4827 Author: Harald Geyer <harald@xxxxxxxxx> Date: Tue Jul 7 13:39:28 2015 +0000 iio: dht11: whitespace changes to make checkpatch.pl --strict happy * add spaces around binary operators in cases where it reduces readability * align multiline statements around opening parenthesis Reported-by: Hartmut Knaack <knaack.h@xxxxxx> in Message-ID: <55919E72.3010807@xxxxxx> Signed-off-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5e9972cd6f1a69ee8a8ee8664d3e4c4ea59c0901 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Tue Jul 14 19:23:22 2015 +0530 iio: adc: vf610: Determine sampling frequencies by using minimum sample time The driver currently does not take into account the minimum sample time as per the Figure 6-8 Chapter 9.1.1 12-bit ADC electrical characteristics. We set a static amount of cycles instead of considering the sample time as a given value, which depends on hardware characteristics. Determine sampling frequencies by first reading the device tree property node and then calculating the required Long Sample Time Adder (LSTAdder) value, based on the ADC clock frequency and sample time value obtained from the device tree. This LSTAdder value is then used for calculating the sampling frequencies possible. In case the sample time property is not specified through the device tree, a safe default value of 1000ns is assumed. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f686a36b4b79782a94f07769fb1c0187d24ea8a8 Author: Andrea Galbusera <gizero@xxxxxxxxx> Date: Tue Jul 14 15:36:21 2015 +0200 iio: adc: mcp320x: Add support for mcp3301 This adds support for Microchip's 13 bit 1 channel AD converter MCP3301 Signed-off-by: Andrea Galbusera <gizero@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bad47ad2eef341a79ff355734147efe933618033 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Jul 20 17:23:53 2015 +0800 regulator: rk808: fixed the overshoot when adjust voltage There is a overshoot in DCDC1/DCDC2, we have 2 method to workaround: 1st is use dvs pin to switch the voltage between value in BUCKn_ON_VSEL and BUCKn_DVS_VSEL. If DVS pin is inactive, the voltage of DCDC1/DCDC2 are controlled by BUCKn_ON_VSEL, when we pull dvs1/dvs2 pin to active, they would be controlled by BUCKn_DVS_VSEL. In this case, the ramp rate is same as the value programmed in BUCKn_RATE, and the fastest rate is 10mv/us. 2nd method is gradual adjustment, adjust the voltage to a target value step by step via i2c, each step is set to 100 mA. If you write the voltage directly using an i2c write the rk808 will always ramp as fast as it possibly can, about 100mv/us. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0ec5f8bd9920fc1a7d0b0d2d4876ea80665a70fd Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Jul 20 17:23:52 2015 +0800 regulator: rk808: add the description about dvs gpio for rk808 add the description about dvs1, dvs2, and add the example. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cef1ed9c6bcf69245c0b9eb89b3f3a45049ba10c Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Sun Jul 5 09:57:41 2015 +0800 mtd: r852: make ecc_reg 32-bit in r852_ecc_correct r852_ecc_correct() reads a 32-bit register into a 16-bit variable, ecc_reg, but this variable is later used as if it was larger. This is reported by clang when building the kernel with many warnings: drivers/mtd/nand/r852.c:512:11: error: shift count >= width of type [-Werror,-Wshift-count-overflow] ecc_reg >>= 16; ^ ~~ Fix this by making ecc_reg 32-bit, like the return type of r852_read_reg_dword(). Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 091571d071a435a517aec42c4f8c56883c5dc531 Author: akpm@xxxxxxxxxxxxxxxxxxxx <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 15:43:46 2015 -0700 ASoC: cs4349: include gpio/consumer.h s390 allmodconfig: sound/soc/codecs/cs4349.c: In function 'cs4349_i2c_probe': sound/soc/codecs/cs4349.c:300: error: implicit declaration of function 'devm_gpiod_get_optional' sound/soc/codecs/cs4349.c:301: error: 'GPIOD_OUT_LOW' undeclared (first use in this function) sound/soc/codecs/cs4349.c:301: error: (Each undeclared identifier is reported only once sound/soc/codecs/cs4349.c:301: error: for each function it appears in.) sound/soc/codecs/cs4349.c:306: error: implicit declaration of function 'gpiod_set_value_cansleep' Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44251551dfca2117e42349136b871b33c8419a59 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 19 09:15:38 2015 +0800 ASoC: cs4349: Drop platform data support The struct cs4349_platform_data should be defined in a public header in include/sound/ rather than in sound/soc/codecs folder. In additional, the platform data support is not properly handled in this driver so remove it now. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0443de7e7e559eab7df2566d0e46940f753db51d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 19 09:14:23 2015 +0800 ASoC: cs4349: Set .writeable_reg for cs4349_regmap The first valid register index is 1 rather than 0, and the CS4349_CHIPID is readonly. So set .writeable_reg to avoid writing to these registers. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4313489c25622b05adac55dbb9590fb5674c3f45 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Jul 19 21:12:16 2015 +0200 ASoC: ux500: adjust devm usage The explicit call to devm_regulator_put in the probe and remove functions does not seem to be necessary. In particular, the functions prcmu_qos_remove_requirement and ux500_msp_i2s_cleanup_msp in the remove function seem to do nothing that can interfere with devm_regulator_put, making it safe to allow devm_regulator_put to occur after the end of the remove function. Convert the calls to clk_get to devm_clk_get, and remove the corresponding calls to clk_put in the probe and remove functions. Replace various gotos by direct returns, and drop unneeded labels. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da304ac37efc1900892b5067c65f0ab8acfe3955 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 19 22:42:49 2015 +0800 ASoC: cs4349: Fix setting digital interface format Mode Control - Register 02h Digital Interface Format (DIF[2:0]) Bits 6-4 DIF2 DIF1 DIF0 Description 0 0 0 Left-Justified, up to 24-bit data 0 0 1 I²S, up to 24-bit data 0 1 0 Right-Justified, 16-bit data 0 1 1 Right-Justified, 24-bit data 1 0 0 TDM slot 0 1 0 1 TDM slot 1 1 1 0 TDM slot 2 1 1 1 TDM slot 3 The DIF_MASK is 0x70, so current code does not correctly set the DIFx setting. Fix it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dedae86d4da6c88ec2105e0bd038acc57c203bca Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Jul 19 12:15:18 2015 +0200 ASoC: cs4349: Don't use rtd->codec rtd->codec does not necessarily point to the CODEC instance for which the callback was called (e.g. for CODEC<->CODEC or multi-CODEC links). Use dai->codec instead. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cb2510dac7e1c5ac77652bb31e8c39ce2eef8bbe Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Jul 19 12:15:17 2015 +0200 ASoC: cs4349: Fix suspend/resume dev_get_drvdata() will not return the snd_soc_runtime to which this CODEC is attached, so the current code will result in undefined behavior. To fix this just use regmap_update_bits(cs4349->regmap, ...) directly instead of snd_soc_update_bits(rtd->codec, ...). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 86059653ea7ca7b30ed25d6bec5807ba59a4f2e6 Author: zhengxing <zhengxing@xxxxxxxxxxxxxx> Date: Sun Jul 19 19:33:49 2015 +0800 ASoC: rockchip: Add machine driver for rt5645/rt5650 codec The driver is used for rockchip board using a rt5645/rt5650. Reviewed-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: zhengxing <zhengxing@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 49bdb0440541ad1144ad08d5613f9a28bcd2a8dc Author: zhengxing <zhengxing@xxxxxxxxxxxxxx> Date: Sun Jul 19 19:33:48 2015 +0800 ASoC: rockchip: Add machine driver for max98090 codec The driver is used for rockchip board using a max98090. Reviewed-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: zhengxing <zhengxing@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f136dce45116027fec65c342fbcb5aaa900729c6 Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Mon Jul 20 09:32:05 2015 +0800 ASoC: rt5645: Remove return value in jack detect work "ASoC: rt5645: Check if codec is initialized in workqueue handler" adds a check if codec is NULL in rt5645_irq_detection, which returns an int. However, "ASoC: rt5645: Remove irq_jack_detection function" removes that function, and moves the code in jack_detect_work, which returns void. Remove the return value to fix compilation warning. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2c23b0c10f64335031781cf78fd57aae072e9372 Merge: 9fc114c f2a5ded Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Jul 20 18:14:12 2015 +0100 Merge branch 'fix/rt5645' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rt5645 commit c57d5621d2f2dc238f4b9c4d00b2a54187a75445 Merge: 6ccfe64 52721d9 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 20 10:08:17 2015 -0700 Merge tag 'v4.2-rc3' into next Sync up with Linux 4.2-rc3 to bring in infrastructure (OF) pieces. commit a11244c0b25b79d2a3b07df429268d66736e5b45 Author: Sandeep Paulraj <s-paulraj@xxxxxx> Date: Tue Aug 19 15:31:54 2014 +0300 nand: davinci: add support for 4K page size nand devices It is needed for k2l keystone2 EVM which uses NAND flash with 4K page size, hence add support for 4K page size nand devices. [Brian: similar work submitted by Murali Karicheri <m-karicheri2@xxxxxx> and Hao Zhang <hzhang@xxxxxx>] Signed-off-by: Sandeep Paulraj <s-paulraj@xxxxxx> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 4daa832d99871356f5fdc52372c975e40f73a15e Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Jul 20 18:32:53 2015 +0200 x86: Drop bogus __ref / __refdata annotations The __ref / __refdata annotations used to be needed because of referencing functions / variables annotated __cpuinit / __cpuinitdata. But those annotations vanished during the development of v3.11. Therefore most of the __ref / __refdata annotations are not needed anymore. As they may hide legitimate sections mismatches, we better get rid of them. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1437409973-8927-1-git-send-email-minipli@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6ccfe64c770139675a080ee5029ded7d89d9ea0d Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Mon Jul 20 09:56:18 2015 -0700 Input: elan_i2c - enable ELAN0600 acpi panels ELAN0600 seems to work just fine in mouse emulation mode through i2c-hid, but to have full raw touch support we need to register it in elan_i2c.ko Reported-and-tested-by: Alessio Treglia <alessio@xxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit dd1b85dc446b7cfaeaa7e250d2ff2acc44a0d51d Author: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Date: Mon Jul 20 09:50:37 2015 -0700 Input: zforce - don't invert the interrupt GPIO Commit 2d53809594af ("Input: zforce_ts - convert to use the gpiod interface") converted this driver to use the gpiod functions. These functions take the active low property into account, so we don't have to invert the result of gpiod_get_value_cansleep(). This has been missed in that commit. Fix it. Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit fb0cc3aa552642631c3a4e83deae2b5c1a1ef4fa Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Jul 20 09:10:36 2015 -0500 iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth We check the ATS state (enabled/disabled) and fetch the PCI ATS Invalidate Queue Depth in performance-sensitive paths. It's easy to cache these, which removes dependencies on PCI. Remember the ATS enabled state. When enabling, read the queue depth once and cache it in the device_domain_info struct. This is similar to what amd_iommu.c does. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Acked-by: Joerg Roedel <jroedel@xxxxxxx> commit 1ae25d626cfe7e11adc2c3e71d0de1f882954ef3 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Mon Jul 20 17:32:05 2015 +0800 power: reset: at91: add sama5d3 reset function This patch introduces a new compatible string: "atmel,sama5d3-rstc" and new reset function for sama5d3 and later chips. As in sama5d3 or later chips, we don't have to shutdown the DDR controller before reset. Shutdown the DDR controller before reset is a workaround to avoid DDR signal driving the bus, but since sama5d3 and later chips there is no such a conflict. So in this patch: 1. the sama5d3 reset function only need to write the rstc register and return. 2. we can remove the code related with sama5d3 DDR controller as we don't use it at all. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 4a77e2183fc0260c0efc7adeccf933fef893ad5f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Jul 20 12:13:34 2015 -0300 perf strlist: Make dupstr be the default and part of an extensible config parm So that we can pass more info to strlist__new() without having to change its function signature, just adding entries to the strlist_config struct with sensible defaults for when those fields are not specified. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-5uaaler4931i0s9sedxjquhq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit efc1985c8f79ee8259d19a9b6e3df6a07d063669 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 17:19:02 2015 -0500 ARM: dts: socfpga: use stdout-path for chosen node Use stdout-path dts property for kernel console. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 2211a658620a35f3b3eabdfa2587f46b7abf3ee7 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 15:48:50 2015 -0500 ARM: dts: socfpga: enable the data and instruction prefetch for the l2 cache Just in case the firmware did not enable data and instruction prefetch in the L2 cache controller, we enable it in the kernel. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit e10fc03c4f89e5191f0ad2a3885d476f498bf131 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 20 19:06:35 2015 +0900 irqchip/renesas-irqc: Make use of irq_find_mapping() Instead of locally caching the virq as domain_irq simply rely on the IRQ domain code and irq_find_mapping(). This reduces the delta between the IRQC driver and the generic chip implementation. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: jason@xxxxxxxxxxxxxx Cc: geert+renesas@xxxxxxxxx Cc: horms@xxxxxxxxxxxx Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150720100635.2552.20906.sendpatchset@little-apple Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7d153751c79e84a88e8c80e82ee5293085b9081b Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 20 19:06:25 2015 +0900 irqchip/renesas-irqc: Use linear IRQ domain Use linear IRQ domain instead of irq_domain_add_simple() that also handles non-DT cases. This reduces the delta between the IRQC code and the generic chip implementation. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: jason@xxxxxxxxxxxxxx Cc: geert+renesas@xxxxxxxxx Cc: horms@xxxxxxxxxxxx Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150720100625.2552.63939.sendpatchset@little-apple Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 35c3f67f11849d80cc0e3cd3dd898977567c9c29 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 20 19:06:14 2015 +0900 irqchip/renesas-irqc: Get rid of IRQF_VALID IRQF_VALID is not needed on ARM anymore, so get rid of it. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Cc: jason@xxxxxxxxxxxxxx Cc: geert+renesas@xxxxxxxxx Cc: horms@xxxxxxxxxxxx Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150720100614.2552.86867.sendpatchset@little-apple Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1b0b7c1762679a2f8bc359da95649249dfcf4195 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Jul 1 13:29:48 2015 -0700 rtmutex: Delete scriptable tester No one uses this anymore, and this is not the first time the idea of replacing it with a (now possible) userspace side. Lock stealing logic was removed long ago in when the lock was granted to the highest prio. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435782588-4177-2-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ab51fbab39d864f3223e44a2600fd951df261f0b Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Jun 29 23:26:02 2015 -0700 futex: Fault/error injection capabilities Although futexes are well known for being a royal pita, we really have very little debugging capabilities - except for relying on tglx's eye half the time. By simply making use of the existing fault-injection machinery, we can improve this situation, allowing generating artificial uaddress faults and deadlock scenarios. Of course, when this is disabled in production systems, the overhead for failure checks is practically zero -- so this is very cheap at the same time. Future work would be nice to now enhance trinity to make use of this. There is a special tunable 'ignore-private', which can filter out private futexes. Given the tsk->make_it_fail filter and this option, pi futexes can be narrowed down pretty closely. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Darren Hart <darren@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435645562-975-3-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 767f509ca11269c2bcd92e3972a93096f2173ac0 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Jun 29 23:26:01 2015 -0700 futex: Enhance comments in futex_lock_pi() for blocking paths ... serves a bit better to clarify between blocking and non-blocking code paths. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Darren Hart <darren@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435645562-975-2-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5a447f09a8dffc0dd7569aec614ad3613a050098 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Apr 13 21:02:25 2015 +0000 staging: ozwpan: Fix hrtimer wreckage oz_timer_add() modifies the expiry value of an active timer, which results in data corruption. Use hrtimer_start() and remove the silly conditional. While at it use the proper helper function to convert milliseconds to ktime. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shigekatsu Tateno <shigekatsu.tateno@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150413210035.357448657@xxxxxxxxxxxxx commit 87dc11220df266d7d4b6dc594b55d0729b92809d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 15 11:21:40 2015 -0700 clockevents: Remove clockevents_notify() prototype This function no longer exists after commit a49b116dcb12 (clockevents: Cleanup dead cpu explicitely, 2015-04-03). Remove the prototype and the stub function. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: trivial@xxxxxxxxxx Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Link: http://lkml.kernel.org/r/1436984500-5425-1-git-send-email-sboyd@xxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit dd92d8de833613993b337cb4ff853587e1600aef Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Jul 20 10:58:21 2015 +0200 Partially revert "drm/i915: s/mdelay/msleep/" in ilk rps code This reverts commit 6adfb1ef106bfe4b5ecb8bd75c4d037741d28a48. Ironlake RPS code runs under an irqsave spinlock and hence sleeping isn't allowed. Not a this long delay while blocking irqs isn't great at all, but fixing the locking scheme is a lot more involved. So just revert for now. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reported-by: kernel test robot <ying.huang@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f4c126ecaef1c08a906a2af51fb538022906f101 Author: Nik Nyby <nikolas@xxxxxxx> Date: Mon Jul 6 10:40:32 2015 -0400 USB: serial: ftdi_sio: Fix broken URL in comment This fixes a typo in the URL: http://zeitcontrol.de/ Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit bc3687982be0522ee39f71247187f7e4263db3b3 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Jul 17 16:39:42 2015 +0200 MAINTAINERS: Add myself as maintainer of Allwinner Security System Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6298e948215f2a3eb8a9af5c490d025deb66f179 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Jul 17 16:39:41 2015 +0200 crypto: sunxi-ss - Add Allwinner Security System crypto accelerator Add support for the Security System included in Allwinner SoC A20. The Security System is a hardware cryptographic accelerator that support: - MD5 and SHA1 hash algorithms - AES block cipher in CBC/ECB mode with 128/196/256bits keys. - DES and 3DES block cipher in CBC/ECB mode Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e757d5c4c367e747ae15186b753788f9c2752753 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Jul 17 16:39:40 2015 +0200 ARM: sun4i: dt: Add DT bindings documentation for SUN4I Security System This patch adds documentation for Device-Tree bindings for the Security System cryptographic accelerator driver. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 110d4e25fd28ecfa9e0b21ad58f77567fc1cade3 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Jul 17 16:39:39 2015 +0200 ARM: sun7i: dt: Add Security System to A20 SoC DTS The Security System is a hardware cryptographic accelerator that support AES/MD5/SHA1/DES/3DES/PRNG algorithms. It could be found on many Allwinner SoC. This patch enable the Security System on the Allwinner A20 SoC Device-tree. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 56ba8c5814a859dd94667643a3bc22984efd1521 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Jul 17 16:39:38 2015 +0200 ARM: sun4i: dt: Add Security System to A10 SoC DTS The Security System is a hardware cryptographic accelerator that support AES/MD5/SHA1/DES/3DES/PRNG algorithms. It could be found on many Allwinner SoC. This patch enable the Security System on the Allwinner A10 SoC Device-tree. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c1f2cd21ed5335bfcf5dd1d3a05a2a83bae14c3a Author: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> Date: Fri Jul 17 16:54:54 2015 +0300 crypto: caam - fix warning in APPEND_MATH_IMM_u64 An implicit truncation is done when using a variable of 64 bits in MATH command: warning: large integer implicitly truncated to unsigned type [-Woverflow] Silence the compiler by feeding it with an explicit truncated value. Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 62743a4145bb9c3fe090a48e10ddc0ebae85bfbf Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Fri Jul 17 16:54:53 2015 +0300 crypto: caam - fix RNG init descriptor ret. code checking When successful, the descriptor that performs RNG initialization is allowed to return a status code of 7000_0000h, since last command in the descriptor is a JUMP HALT. Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f109674951440912b645de2761d5d851e261af98 Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Fri Jul 17 16:54:52 2015 +0300 crypto: caam - fix snooping for write transactions HW coherency won't work properly for CAAM write transactions if AWCACHE is left to default (POR) value - 4'b0001. It has to be programmed to 4'b0010, i.e. AXI3 Cacheable bit set. For platforms that have HW coherency support: -PPC-based: the update has no effect; CAAM coherency already works due to the IOMMU (PAMU) driver setting the correct memory coherency attributes -ARM-based: the update fixes cache coherency issues, since IOMMU (SMMU) driver is not programmed to behave similar to PAMU Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e27513eb61bae759b7d5f340cf39d60f0d15a00b Author: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Date: Fri Jul 17 16:54:51 2015 +0300 crypto: caam - fix ERA property reading In order to ensure that the ERA property is properly read from DT on all platforms, of_property_read* function needs to be used. Signed-off-by: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 15da7b5001e498fa7dc619d4d7951f9665b071e4 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 10:21:50 2015 +0200 pwm: Make use of pwm_get_xxx() helpers where appropriate Use the pwm_get_xxx() helpers instead of directly accessing the fields in struct pwm_device. This will allow us to smoothly move to the atomic update approach. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 011e76314818b6a24d5347b2d83b8a577e6aaae6 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 10:21:49 2015 +0200 pwm: Add pwm_get_polarity() helper function Some drivers are directly accessing the ->polarity field in pwm_device. Add a helper to retrieve the current polarity so that we can easily move this field elsewhere (required to support atomic update). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit a1cf42171a2e3c33cbc12bb037795caf0589149b Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 10:21:48 2015 +0200 pwm: Constify PWM device where possible The PWM argument is not modified in PWM property accessors, make it a const argument so that the accessors can be used from sysfs. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 5c31252c4a86dc591c23f1a951edd52ad791ef0e Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 10:21:47 2015 +0200 pwm: Add the pwm_is_enabled() helper Some PWM drivers are testing the PWMF_ENABLED flag. Create a helper function to hide the logic behind enabled test. This will allow us to smoothly move from the current approach to an atomic PWM update approach. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit fe6c59dc17908effd4e2caa666795b9ad984005b Merge: 52721d9 221272f Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Mon Jul 20 17:19:19 2015 +1000 Merge tag 'seccomp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into next commit e317fa505dcdfa25f0e4c888f991eb7fd1562e1e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sat Jul 18 10:21:14 2015 -0500 netfilter: Fix memory leak in nf_register_net_hook In the rare case that when it is a attempted to use a per network device netfilter hook and the network device does not exist the newly allocated structure can leak. Be a good citizen and free the newly allocated structure in the error handling code. Fixes: 085db2c04557 ("netfilter: Per network namespace netfilter hooks.") Reported-by: kbuild@xxxxxx Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7639a8c420f04ca9be87974416efb2848b0962d9 Author: Ben Goz <ben.goz@xxxxxxx> Date: Sun Jun 7 00:15:51 2015 +0300 drm/amdkfd: Set correct doorbell packet type for Carrizo Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Reviewed-by: Yair Shachar <yair.shachar@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 3d30b28be811b0d7c0a113eab361d5e3029d6da4 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Sat Jun 6 21:47:01 2015 +0300 drm/amdkfd: Use generic defines in new amd headers This patch makes use of the new amd headers (that are part of the new amdgpu driver), instead of private defines. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit d7b8f73ea03923dbf7c61093743b9eb1842fa8d7 Author: Ben Goz <ben.goz@xxxxxxx> Date: Tue Jan 6 11:35:50 2015 +0200 drm/amdkfd: Implement create_map_queues() for Carrizo Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit e1940fa4bfa32d86a771e300a3fd116c46878bf4 Author: Ben Goz <ben.goz@xxxxxxx> Date: Tue Jan 6 11:32:13 2015 +0200 drm/amdkfd: fix runlist length calculation The MAP_QUEUES packet length for Carrizo is different than for Kaveri. Therefore, we now need to calculate the runlist length with regard to the underlying H/W. Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 914bea6329b2cbbb3586a11f90ddf026bef44348 Author: Ben Goz <ben.goz@xxxxxxx> Date: Mon Jan 12 14:28:46 2015 +0200 drm/amdkfd: Add support for VI in DQM This patch adds support for the VI APU in the DQM module. Most of the functionality of DQM is shared between CI and VI. Therefore, only a handful of functions are required to be in the H/W-specific part of DQM. Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit d696d536f0a97ac779d6176107ac4e96d0a2f8b9 Author: Ben Goz <ben.goz@xxxxxxx> Date: Mon Jan 12 14:26:10 2015 +0200 drm/amdkfd: add support for VI in MQD manager This patch implements all the VI MQD manager functions. This is done in a different file as the MQD format is different between CI and VI Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 2d8f1f330356f4e22cbf860af78d715715595041 Author: Ben Goz <ben.goz@xxxxxxx> Date: Sun Jan 4 10:48:26 2015 +0200 drm/amdkfd: add CP HWS packet headers for VI Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 123576d1440df7bfa6e2188784e8cd9dc01eea6b Author: Ben Goz <ben.goz@xxxxxxx> Date: Mon Jan 12 14:37:24 2015 +0200 drm/amdkfd: add supported CZ devices PCI IDs to amdkfd This patch adds the PCI IDs of supported CZ devices to the supported_devices structure in amdkfd. That structure is used during the amdkfd probing stage, to check if the currently probed device is eligible to be handled by amdkfd. Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit bd72a72c3a0d3e188b08cdbbc54eb083d860e365 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Fri Nov 21 23:27:30 2014 +0200 drm/amdkfd: Add dependency of DRM_AMDGPU to Kconfig Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit ff758a12b45b0513dbe9905deba2a29b20412138 Author: Ben Goz <ben.goz@xxxxxxx> Date: Tue Oct 7 14:43:07 2014 +0300 drm/amdgpu: Add amdgpu <--> amdkfd gfx8 interface This patch adds the gfx8 interface file between amdgpu and amdkfd. This interface file is currently in use when running on a Carrizo-based system. The interface itself is represented by a pointer to struct kfd_dev. The pointer is located inside amdgpu_device structure. All the register accesses that amdkfd need are done using this interface. This allows us to avoid direct register accesses in amdkfd proper, while also allows us to avoid locking between amdkfd and amdgpu. The single exception is the doorbells that are used in both of the drivers. However, because they are located in separate pci bar pages, the danger of sharing registers between the drivers is minimal. Having said that, we are planning to move the doorbells as well to amdgpu. Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 32c22e994f44e7e5cc54b52375012311d1693b0d Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Fri Jun 12 21:38:22 2015 +0300 drm/amdgpu: add amdgpu <--> amdkfd gfx7 interface This patch adds the gfx7 interface file between amdgpu and amdkfd. This interface file mirrors (some) of the functions in radeon_kfd.c (the interface file between radeon and amdkfd). The gfx7 interface is used when it is run on a Kaveri-based system. This interface file was used for bring-up of amdkfd on amdgpu and for debugging purposes. For users who would like to run HSA on Kaveri, please use the radeon graphic driver. Note: CONFIG_DRM_AMDGPU_CIK must be selected for amdgpu to handle Kaveri. v2: removed MTYPE_NONCACHED enum definition as it is defined in another patch Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 130e0371b7d454bb4a861253c822b9f911ad5d19 Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Fri Jun 12 21:35:14 2015 +0300 drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interface This patch adds an interface file between amdgpu and amdkfd. This interface file is H/W agnostic, thus containing functions that operate the same for any AMD APU/GPU H/W generation. The functions in this interface mirror (some) of the functions in radeon_kfd.c (the radeon<-->amdkfd interface file). The main functions are: - amdgpu_amdkfd_init - initialize the amdkfd module - amdgpu_amdkfd_load_interface - load the H/W interface according to the currently probed device - amdgpu_amdkfd_device_probe - probe the device in amdkfd - amdgpu_amdkfd_device_init - initialize the device in amdkfd - amdgpu_amdkfd_interrupt - call the ISR of amdkfd - amdgpu_amdkfd_suspend - suspend callback from amdgpu - amdgpu_amdkfd_resume - resume callback from amdgpu This patch also modifies the relevant amdgpu files, to use this new interface. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 22801f76fa59870aed2c0b8a4eb6c8d6993347ae Author: Oded Gabbay <oded.gabbay@xxxxxxxxx> Date: Mon Jan 19 16:20:21 2015 +0200 drm/radeon: Modify kgd_engine_type enum to match CZ This patch splits the KGD_ENGINE_SDMA to KGD_ENGINE_SDMA1 and KGD_ENGINE_SDMA2 to match CZ definitions. Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxxxx> commit 47764c7918f5dd648ae8f6f61db1aaab1b9c09dd Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Jul 17 10:52:27 2015 +0200 iio:magnetometer:bmc150_magn: replace magic value Construct the scanmask using its descriptive axis names (as used in iio_chan_spec) instead of a 'magic' value. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2563f7fc83d655792ec9999e2dda7a37172ae6aa Author: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Date: Fri Jul 17 16:34:36 2015 +0800 iio: magnetometer: mmc35240: Add DT binding doc Signed-off-by: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7dbf1ea8aade8c3b2759acc96e5e709016e6ae28 Author: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Date: Fri Jul 17 16:34:35 2015 +0800 iio: magnetometer: mmc35240: Add DT binding Signed-off-by: Jandy Gou <qingsong.gou@xxxxxxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 23633314e60796f860d5a0484b722557061cde7c Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sat Jul 18 00:56:57 2015 +0200 iio:light:acpi-als: add missing prefixes Some macros and a function were missing the acpi_als_ prefix, so add it. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 829aed1a6e2cbceb2d2fe0f7557dea71fb38cec6 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:46 2015 +0000 iio: mxs-lradc: add datasheet name for every usable channel In order to provide a channel name to in kernel consumers add the datasheet names for every usable AD channel. Since the channel names differ between i.MX23 and i.MX28, we need to separate the channel specs. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ae5896d48180520629655a9356737fe6dbc5e9e5 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:45 2015 +0000 iio: mxs-lradc: reorder header includes This patch reorder the header includes alphabetically. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3eaf20288c9e0e5a2620c4908ac215655ebf0a00 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:44 2015 +0000 iio: mxs-lradc: remove unnecessary header includes This patch removes the unnecessary header includes. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5723dde958582483501fc2307cf2258060151339 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:43 2015 +0000 iio: mxs-lradc: add missing include This patch adds the missing include for mutex handling. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 66926d11f326355abbd4e290047a67f17731b404 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:42 2015 +0000 iio: mxs-lradc: fix some spelling errors This patch fix some spelling errors in the comments. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 07a4257e3d758af96cf98b1e9baadeb627475b03 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Sat Jul 18 12:30:41 2015 +0000 iio: mxs-lradc: clarify supported devices At the beginning the driver supported only i.MX28 SoC, but now the whole MXS platform. So remove any confusing comments which apply only to i.MX28. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1dcafd3aeb0a70dbdd11b10269da2afc454e2395 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Sun Jul 19 01:33:55 2015 +0300 iio: Documentation: Remove bytes_per_datum attribute Remove sysfs bytes_per_datum device attribute ABI documentation since the attribute is not present anymore. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b08b338253e917be45ee19924b58dd0b1265473f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 17 23:43:02 2015 +0800 ASoC: cs4349: Constify cs4349_regmap Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Tim Howe <tim.howe@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd9283e23f674281c02cd8cbf894cb3132a4e3a6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 17 23:38:34 2015 +0800 ASoC: cs4349: Fix max_register setting for cs4349_regmap The max_register should be the maximum valid register index rather than number of registers. Also remove unused defines. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Tim Howe <tim.howe@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6d6db340a7e832dc18a6a95d9f9fc79d03ff959e Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Jun 11 10:57:35 2015 +0530 ARM: pxa: Use setup_timer Use the timer API function setup_timer instead of structure field assignments to initialize a timer. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @change@ expression e1, e2, a; @@ -init_timer(&e1); +setup_timer(&e1, a, 0UL); ... when != a = e2 -e1.function = a; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 9754c8ef1f54bff1e1448a1a02039681a4a98fa0 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jul 3 17:40:45 2015 +0530 ARM: pxa: Use module_platform_driver Use module_platform_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return platform_driver_register(&x); } @b depends on a@ identifier e, a.x; @@ -static e(...) { platform_driver_unregister(&x); } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_platform_driver; @@ -module_exit(e); +module_platform_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 4be0856fa34ef3b0681aeec669e50c13e394f145 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Feb 14 23:38:39 2015 +0100 ARM: pxa: transition to dmaengine phase 1 In order to slowly transition pxa to dmaengine, the legacy code will now rely on dmaengine to request a channel. This implies that PXA architecture selects DMADEVICES and PXA_DMA, which is not pretty. Yet it enables PXA drivers to be ported one by one, with part of them using dmaengine, and the other part using the legacy code. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 2ba6c0797c8b5a9f945345ef2b9193bd47e5f18e Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Wed Apr 29 15:23:28 2015 -0700 igb: Fix i354 88E1112 PHY on RCC boards using AutoMediaDetect e1000_check_for_link_media_swap() checks PHY page 0 for copper and PHY page 1 for "other" (fiber) link. The switch back from page 1 to page 0 happened too soon, before e1000_check_for_link_82575() is executed, and link on fiber (other) was never detected. Check for link while still on the proper PHY page. Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3b7884f75f3d3f0a0191c00a083535a1dd01a5a4 Author: Fan Du <fan.du@xxxxxxxxx> Date: Wed Apr 29 10:57:41 2015 +0800 ixgbe: Don't report flow director filter's status For two reasons I want to disable this: 1. Not any part actually check the report status(Alexander Duyck) 2. To report hash value of a packet to stack, RSS -> 32bits hash value Perfect match fdir filter -> 13bits hash value Hashed-based fdir filter -> 31bits hash value fdir filter might hash on masked tuples for IP address, so it's still not desirable for usage. So for now, just stick to RSS 32bits hash value. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Suggested-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1e1429d6ce6e6fe38e45c960133e9c9b3c62cbc6 Author: Fan Du <fan.du@xxxxxxxxx> Date: Wed Apr 29 10:57:40 2015 +0800 ixgbevf: Set Rx hash type for ingress packets Set hash type for ingress packets according to NIC advanced receive descriptors RSS type part. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7edda4b8711d58dabb55e6afec03e8177647f266 Author: Fan Du <fan.du@xxxxxxxxx> Date: Wed Apr 29 10:57:39 2015 +0800 ixgbe: Specify Rx hash type WRT Rx desc RSS type RSS could be leveraged by taking account L4 src/dst ports as ingredients, thus ingress skb Rx hash type should honor such the real configuration. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5505bdb54d92267a5b6f092c337bd84d247bcf49 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 22 21:49:32 2015 -0700 ixgbevf: fold ixgbevf_pull_tail into ixgbevf_add_rx_frag This change folds the ixgbevf_pull_tail call into ixgbevf_add_rx_frag. The advantage to doing this is that the fragment doesn't have to be modified after it is added to the skb. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f56e7bba22fad16c0d4fac996623ce1c13244f8f Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Wed Apr 22 21:49:17 2015 -0700 igb: Pull timestamp from fragment before adding it to skb This change makes it so that we pull the timestamp from the fragment before we add it to the skb. By doing this we can avoid a possible issue in which the fragment can possibly be less than IGB_RX_HDR_LEN due to the timestamp being pulled after the copybreak check. While making this change I realized we could also pull the rest of the igb_pull_tail function into igb_add_rx_frag since in the case of igb, unlike ixgbe, we are able to unmap the entire buffer before calling add_rx_frag so merging the two allows for sharing of code between the two merged functions. Reported-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 11b1544b5cfcc8c1ff01d1757397a6ce3c8aa85e Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:37 2015 -0700 dp83640: only report generic filters in ts_info Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7415991ead78de1d340fb55d5b94d5b3287ab785 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:36 2015 -0700 siena: only report generic filters in get_ts_info CC: Solarflare linux maintainers <linux-net-drivers@xxxxxxxxxxxxxx> CC: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 044651f58536f209f1efdcdd1ae20788cf6d05c2 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:35 2015 -0700 ixgbe: only report generic filters in get_ts_info Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 97aebc1b3cdfd445a0a051090f0dcc6018b6df2c Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:34 2015 -0700 igb: only report generic filters in get_ts_info Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c583cc430cf6942548fe658aac5a39eb9f371faf Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:33 2015 -0700 i40e: only report generic filters in get_ts_info Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit dd3950c6d7185fbf9ec78a451b18d8807f35c6f7 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:32 2015 -0700 bnx2x: only report most generic filters in get_ts_info CC: Ariel Elior <ariel.elior@xxxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1c3b8c2fe71a5052270167a1c5786aaf0d86cf19 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:31 2015 -0700 freescale: remove incorrect copied comment The comment in question is word-for-word copied from ixgbe, and clearly has no meaning in freescale's driver. (it even says 'return an error' when the code clearly does not). Remove the comment as it is obviously incorrect and not applicable to the code as it is today. CC: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxx> CC: Vitaly Bordug <vbordug@xxxxxxxxxxxxx> CC: <linuxppc-dev@xxxxxxxxxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit eff3cddc222c88943ff515ae9335687c9e2cbaf6 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Apr 22 14:40:30 2015 -0700 clarify implementation of ethtool's get_ts_info op This patch adds some clarification about the intended way to implement both SIOCSHWTSTAMP and ethtool's get_ts_info. The HWTSTAMP API has several Rx filters which are very specific, as well as more general filters. The specific filters really only exist to support some broken hardware which can't fully implement the generic filters. This patch adds clarification that it is okay to support the specific filters in SIOCSHWTSTAMP by upscaling them to the generic filters. In addition, update the header for ethtool_ts_info to specify that drivers ought to only report the filters they support without upscaling in this manner. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Reviewed-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit def56bba7a5c623fd887d1f4b4c864521d615a76 Author: Shawn Guo <shawnguo@xxxxxxxxxx> Date: Wed Jul 15 10:36:37 2015 +0800 input: snvs_pwrkey: use "wakeup-source" as deivce tree property name Instead of inventing a new property name, let's use "wakeup-source" to be consistent with other driver and subsystem bindings. Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 800e3b9a68011c4124f380d50e2117523c41a843 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 17 16:44:05 2015 -0700 Input: drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7d4938c14d239768a2e0bdd94457f405e6d35555 Author: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Date: Tue Jul 14 14:07:09 2015 +0800 ARM: dts: mediatek: add mt6580 basic support This adds basic chip support for Mediatek 6580. Signed-off-by: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 69a462b9532c906441ccbec52b62e4a8b5f26271 Author: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Date: Tue Jul 14 14:07:08 2015 +0800 Document: DT: Add bindings for mediatek MT6580 SoC Platform This adds a DT binding documentation for the MT6580 SoC from Mediatek. Signed-off-by: Mars Cheng <mars.cheng@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit cdacbe1f91264687af956e810278030f2ab5a3d0 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 11 16:24:45 2015 -0700 rcu: Add fastpath bypassing funnel locking In the common case, there will be only one expedited grace period in the system at a given time, in which case it is not helpful to use funnel locking. This commit therefore adds a fastpath that bypasses funnel locking when the root ->exp_funnel_mutex is not held. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 32bb1c79996069ef9e4e53b428050749f9841c3f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 12:27:31 2015 -0700 rcu: Rename RCU_GP_DONE_FQS to RCU_GP_DOING_FQS The grace-period kthread sleeps waiting to do a force-quiescent-state scan, and when awakened sets rsp->gp_state to RCU_GP_DONE_FQS. However, this is confusing because the kthread has not done the force-quiescent-state, but is instead just starting to do it. This commit therefore renames RCU_GP_DONE_FQS to RCU_GP_DOING_FQS in order to make things a bit easier on reviewers. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b9a425cfcb3c473b4ca2f3dfaeaf13848f4a7976 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 1 13:50:28 2015 -0700 rcu: Pull out wait_event*() condition into helper function The condition for the wait_event_interruptible_timeout() that waits to do the next force-quiescent-state scan is a bit ornate: ((gf = READ_ONCE(rsp->gp_flags)) & RCU_GP_FLAG_FQS) || (!READ_ONCE(rnp->qsmask) && !rcu_preempt_blocked_readers_cgp(rnp)) This commit therefore pulls this condition out into a helper function and comments its component conditions. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 99a930b0d2b018f31474d69137f311ce3581a4c2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 14:54:09 2015 -0700 documentation: Describe new expedited stall warnings Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit cf3620a6c7798be3395163d3bb863ab378a6aa80 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 11:14:32 2015 -0700 rcu: Add stall warnings to synchronize_sched_expedited() Although synchronize_sched_expedited() historically has no RCU CPU stall warnings, the availability of the rcupdate.rcu_expedited boot parameter invalidates the old assumption that synchronize_sched()'s stall warnings would suffice. This commit therefore adds RCU CPU stall warnings to synchronize_sched_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 2cd6ffafec066118365f6d7eb7a42ea16c1f032c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 29 17:06:39 2015 -0700 rcu: Extend expedited funnel locking to rcu_data structure The strictly rcu_node based funnel-locking scheme works well in many cases, but systems with CONFIG_RCU_FANOUT_LEAF=64 won't necessarily get all that much concurrency. This commit therefore extends the funnel locking into the per-CPU rcu_data structure, providing concurrency equal to the number of CPUs. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 704dd435ac7eaefa89fcd82fd2876b8330e00ff3 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jun 27 09:36:29 2015 -0700 rcu: Consolidate last open-coded expedited memory barrier One of the requirements on RCU grace periods is that if there is a causal chain of operations that starts after one grace period and ends before another grace period, then the two grace periods must be serialized. There has been (and might still be) code that relies on this, for example, certain types of reference-counting code that does a call_rcu() within an RCU callback function. This requirement is why there is an smp_mb() at the end of both synchronize_sched_expedited() and synchronize_rcu_expedited(). However, this is the only smp_mb() in these functions, so it would be nicer to consolidate it into rcu_exp_gp_seq_end(). This commit does just that. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4f525a528b9e75571c6bedc6202beff1ced24c32 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 26 11:20:00 2015 -0700 rcu: Apply rcu_seq operations to _rcu_barrier() The rcu_seq operations were open-coded in _rcu_barrier(), so this commit replaces the open-coding with the shiny new rcu_seq operations. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 29fd930940193a9a035a75a3847457160d65559a Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 19:03:16 2015 -0700 rcu: Use funnel locking for synchronize_rcu_expedited()'s polling loop This commit gets rid of synchronize_rcu_expedited()'s mutex_trylock() polling loop in favor of the funnel-locking scheme that was abstracted from synchronize_sched_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 7fd0ddc5bf1ab5259c80a53a01984e13befd658b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 16:35:03 2015 -0700 rcu: Fix synchronize_sched_expedited() type error for "s" The type of "s" has been "long" rather than the correct "unsigned long" for quite some time. This commit fixes this type error. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b09e5f8601d7e5b8d45348c9c09e1fb4109e8dc6 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 16:30:54 2015 -0700 rcu: Abstract funnel locking from synchronize_sched_expedited() This commit abstracts funnel locking from synchronize_sched_expedited() so that it may be used by synchronize_rcu_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 543c6158f6dff20a741dfa492771f18ceaa1a109 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 15:52:50 2015 -0700 rcu: Make synchronize_rcu_expedited() use sequence-counter scheme Although synchronize_rcu_expedited() uses a sequence-counter scheme, it is based on a single increment per grace period, which means that tasks piggybacking off of concurrent grace periods may be forced to wait longer than necessary. This commit therefore applies the new sequence-count functions developed for synchronize_sched_expedited() to speed things up a bit and to consolidate the sequence-counter implementation. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 28f00767e3db933cacc3030f4d9736acd037be2c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 15:00:58 2015 -0700 rcu: Abstract sequence counting from synchronize_sched_expedited() This commit creates rcu_exp_gp_seq_start() and rcu_exp_gp_seq_end() to bracket an expedited grace period, rcu_exp_gp_seq_snap() to snapshot the sequence counter, and rcu_exp_gp_seq_done() to check to see if a full expedited grace period has elapsed since the snapshot. These will be applied to synchronize_rcu_expedited(). These are defined in terms of underlying rcu_seq_start(), rcu_seq_end(), rcu_seq_snap(), rcu_seq_done(), which will be applied to _rcu_barrier(). One reason that this commit doesn't use the seqcount primitives themselves is that the smp_wmb() in those primitive is insufficient due to the fact that expedited grace periods do reads as well as writes. In addition, the read-side seqcount primitives detect a potentially partial change, where the expedited primitives instead need a guaranteed full change. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 3a6d7c64d78a78d279851524d39999637a549363 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Jun 25 11:27:10 2015 -0700 rcu: Make expedited GP CPU stoppage asynchronous Sequentially stopping the CPUs slows down expedited grace periods by at least a factor of two, based on rcutorture's grace-period-per-second rate. This is a conservative measure because rcutorture uses unusually long RCU read-side critical sections and because rcutorture periodically quiesces the system in order to test RCU's ability to ramp down to and up from the idle state. This commit therefore replaces the stop_one_cpu() with stop_one_cpu_nowait(), using an atomic-counter scheme to determine when all CPUs have passed through the stopped state. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 385b73c06f6a733547d0a7714d0c4cb4c8788b88 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 14:20:08 2015 -0700 rcu: Get rid of synchronize_sched_expedited()'s polling loop This commit gets rid of synchronize_sched_expedited()'s mutex_trylock() polling loop in favor of a funnel-locking scheme based on the rcu_node tree. The work-done check is done at each level of the tree, allowing high-contention situations to be resolved quickly with reasonable levels of mutex contention. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d6ada2cf2f81dab8a231d0ef8fb5dec4f5ac8379 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 10:46:30 2015 -0700 rcu: Rework synchronize_sched_expedited() counter handling Now that synchronize_sched_expedited() have a mutex, it can use simpler work-already-done detection scheme. This commit simplifies this scheme by using something similar to the sequence-locking counter scheme. A counter is incremented before and after each grace period, so that the counter is odd in the midst of the grace period and even otherwise. So if the counter has advanced to the second even number that is greater than or equal to the snapshot, the required grace period has already happened. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c190c3b16c0f56ff338df12df53c03859155951b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jun 23 19:03:45 2015 -0700 rcu: Switch synchronize_sched_expedited() to stop_one_cpu() The synchronize_sched_expedited() currently invokes try_stop_cpus(), which schedules the stopper kthreads on each online non-idle CPU, and waits until all those kthreads are running before letting any of them stop. This is disastrous for real-time workloads, which get hit with a preemption that is as long as the longest scheduling latency on any CPU, including any non-realtime housekeeping CPUs. This commit therefore switches to using stop_one_cpu() on each CPU in turn. This avoids inflicting the worst-case scheduling latency on the worst-case CPU onto all other CPUs, and also simplifies the code a little bit. Follow-up commits will simplify the counter-snapshotting algorithm and convert a number of the counters that are now protected by the new ->expedited_mutex to non-atomic. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> [ paulmck: Kept stop_one_cpu(), dropped disabling of "guardrails". ] Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 75c27f119b6475d95374bdad872c6938b5c26196 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 15:22:43 2015 -0700 rcu: Remove CONFIG_RCU_CPU_STALL_INFO The CONFIG_RCU_CPU_STALL_INFO has been default-y for a couple of releases with no complaints, so it is time to eliminate this Kconfig option entirely, so that the long-form RCU CPU stall warnings cannot be disabled. This commit does just that. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9b683874504a57cfa97558d403c75e286e20c9ce Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 14:50:22 2015 -0700 rcu: Stop disabling CPU hotplug in synchronize_rcu_expedited() The fact that tasks could be migrated from leaf to root rcu_node structures meant that synchronize_rcu_expedited() had to disable CPU hotplug. However, tasks now stay put, so this commit removes the CPU-hotplug disabling from synchronize_rcu_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 13bd64947f53ba8d7199922be94b6626b8e222d7 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 4 10:06:01 2015 -0700 rcu: Reset rcu_fanout_leaf if out of bounds Currently if the rcu_fanout_leaf boot parameter is out of bounds (that is, less than RCU_FANOUT_LEAF or greater than the number of bits in an unsigned long), a warning is issued and execution continues with the out-of-bounds value. This can result in all manner of failures, so this patch resets rcu_fanout_leaf to RCU_FANOUT_LEAF when an out-of-bounds condition is detected. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 032dfc87225c96ec1771e5967436c4b23d1dc5d6 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Thu Jul 9 15:34:23 2015 +0200 rcu: Shut up bogus gcc array bounds warning Because gcc does not realize a loop would not be entered ever (i.e. in case of rcu_num_lvls == 1): for (i = 1; i < rcu_num_lvls; i++) rsp->level[i] = rsp->level[i - 1] + levelcnt[i - 1]; some compiler (pre- 5.x?) versions give a bogus warning: kernel/rcu/tree.c: In function â??rcu_init_one.isra.55â??: kernel/rcu/tree.c:4108:13: warning: array subscript is above array bounds [-Warray-bounds] rsp->level[i] = rsp->level[i - 1] + rsp->levelcnt[i - 1]; ^ Fix that warning by adding an extra item to rcu_state::level[] array. Once the bogus warning is fixed in gcc and kernel drops support of older versions, the dummy item may be removed from the array. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Suggested-by: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c02e0e86d3043e63236d7cd2e9e4259f12ac6991 Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Thu Jul 9 11:32:05 2015 +0800 arm64: dts: mt8173: Add afe device node This adds afe (audio front end) device node to the MT8173 dtsi file. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 42994af63cd1aafc9289035cf621e501b08732e9 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 19 17:18:05 2015 +0530 cpufreq: governor: rename cur_policy as policy Just call it 'policy', cur_policy is unnecessarily long and doesn't have any special meaning. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 49a9a40c1b48d24f0fd9a6b6be8a4038f47d13bf Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 19 17:18:04 2015 +0530 cpufreq: governor: name pointer to cpu_dbs_info as 'cdbs' It is called as 'cdbs' at most of the places and 'cpu_dbs' at others. Lets use 'cdbs' consistently for better readability. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 875b8508f9607b92e3ef4ece2fddf86d61351085 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 19 17:18:03 2015 +0530 cpufreq: governor: Rename 'cpu_dbs_common_info' to 'cpu_dbs_info' Its not common info to all CPUs, but a structure representing common type of cpu info to both governor types. Lets drop 'common_' from its name. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d3574c851148266177ea9ecae10a317e6eae94de Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 19 17:18:02 2015 +0530 cpufreq: governor: Drop unused field 'cpu' Its not used at all, drop it. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 386d46e6d5238c9648399eb1e0c418d06f4126a2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Jun 19 17:18:01 2015 +0530 cpufreq: governor: Name delayed-work as dwork Delayed work was named as 'work' and to access work within it we do work.work. Not much readable. Rename delayed_work as 'dwork'. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f4745a92781b872455f32feb01d1dce92aefcb6c Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Jun 29 22:13:38 2015 +0100 PM / clk: don't return int on __pm_clk_enable() Static analysis by cppcheck found an issue that was recently introduced by commit 471f7707b6f0b1 ("PM / clock_ops: make __pm_clk_enable more generic") where a return status in ret was not being initialised and garbage being returned when ce->status >= PCE_STATUS_ERROR. The fact that ret is not being checked by the caller and that ret is only used internally __pm_clk_enable() to check if clk_enable() was OK means we can ignore returning it instead turn __pm_clk_enable() into function with a void return. Fixes: 471f7707b6f0b1 ("PM / clock_ops: make __pm_clk_enable more generic") Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1dcc3d3362b0c97e48290f7786be85b4cec2a147 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Jul 17 22:54:09 2015 +0200 ACPI / bus: Move ACPI bus type registration Move the registration of the ACPI bus type to acpi_bus_init() and avoid using ACPI going forward if it fails (too many things depend on the presence of the ACPI bus type). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5894b0c46e49b5ecc25f22b2d1b8232aab00ce97 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Jul 17 22:54:01 2015 +0200 ACPI / scan: Move bus operations and notification routines to bus.c To reduce the size of scan.c and improve the readability of it, move code related to device notification, the definitions of the ACPI bus operations and the driver management code to drivers/acpi/bus.c. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 68c6b148daa6e45a85b31ef60ed9c9bfd556fff0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Jul 17 22:53:52 2015 +0200 ACPI / scan: Move device matching code to bus.c To reduce the size of scan.c and improve the readability of it, move code related device matching into drivers/acpi/bus.c. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c2efefb33abfb245395199137ece3c1e3df47f51 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Jul 17 22:53:43 2015 +0200 ACPI / scan: Move sysfs-related device code to a separate file To reduce the size of scan.c and improve the readability of it, move all code related to device sysfs, modalias creation etc. to a new file called device_sysfs.c. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e0548f1979bfee900fb0671a5dd3a2f217dce5df Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 17 22:24:32 2015 +0200 drm/i915: Update DRIVER_DATE to 20150717 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6de52c15132f6b86030bf3159020e3314ec14952 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Jul 17 21:37:09 2015 +0800 pinctrl: pinconf: pinconf_show_config() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit eeef97b182fcbd4e32803be4f0b369d51e4c8535 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:55:27 2015 +0200 pinctrl/sunxi: Prepare sunxi_pinctrl_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 3b0d1561ea5787a40b2f014d4f3dc48a575c3675 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:54:35 2015 +0200 pinctrl/sirf: Prepare xxx_gpio-handle_irq for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit d1800c234703465b1f0b75aba51e27d7a3f47060 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:53:06 2015 +0200 pinctrl/qcom/msm: Prepare msm_gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 415f748c8658033d37af520dfa321a9413b7d665 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:52:00 2015 +0200 pinctrl/rockchip: Prepare rockchip_irq_demux for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit f43ebaf126d3f4b869ba5bcfb11a00f33f0892cf Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:50:50 2015 +0200 pinctrl/pistachio: Prepare pistachio_gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit fc02a46938fa2dd2494e20ca7b81c687bd027df4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:50:02 2015 +0200 pinctrl/coh901: Prepare u300_gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit fa00fecc16acd80b455f14803ad35195cdcef65d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:48:51 2015 +0200 pinctrl/amd: Prepare amd_gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5663bb27dec1a2bfaf9d92e3685834b91a36a5a3 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:16 2015 +0800 pinctrl: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f66eb498ff131d52f9c7b73f0a25a5e3b9095528 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:57 2015 +0200 pinctrl/samsung: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 40ec168ace3b963ddf768919ce96461ed885f9c8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:57 2015 +0200 pinctrl/exynos: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 34c0ad84f316e19f06af3c2764fe20cac110d985 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:51 2015 +0200 pinctrl/qcom: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 2dbf1bc5a29c5912679d687d2a826f201e75e89d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:50 2015 +0200 pinctrl/rockchip: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit c639845bcb87df4abffab94d72bd165d203c34a1 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:49 2015 +0200 pinctrl/at91: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 9d8293147e8a09ac42018cfeb672cc0a3b90f65b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:47 2015 +0200 pinctrl/amd: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit e0d6a2c6cefc50f123a2386686738820d9a088c6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:47 2015 +0200 pinctrl/adi2: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and update was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit fc756bcd6aadbc59fa7142521729c8d38096ef9c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:45 2015 +0200 pinctrl/intel: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit a4e3f7830fb742039c2c24535af931df3d6d2124 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:44 2015 +0200 pinctrl/cherryview: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit f3a085b4174e5806e2e6543323f9a70435ca0098 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:44 2015 +0200 pinctrl/baytrail: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 1aa74fd0bb2cc344c18a625fa1d8e75c00b9bbf8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:41 2015 +0200 pinctrl/bcm2835: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit c21f7849f126570c0bb1ececbb3ddba7b20cfc03 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:07 2015 +0200 pinctrl/exynos: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 20d5d142a645600f28cf42b8e3336f7309897b1e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:06 2015 +0200 pinctrl: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 03051bc242209f7130aec42d1a6ecb3be9f8f93b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:06 2015 +0200 pinctrl/rockchip: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 8f1338cd80648adf5434798f5393ad7c55d10848 Author: Timur Tabi <timur@xxxxxxxxxxxxxx> Date: Wed Jul 15 11:47:14 2015 -0500 pinctrl: add support for Qualcomm Technologies QDF2xxx ARM64 SoCs Add the pinctrl driver for the Qualcomm Technologies QDF2xxx ARM64 SoCs, which uses the Qualcomm Technologies TLMM pinctrl/gpio device. This driver is probed via ACPI and uses the pinctrl-msm.c backend driver. This driver is intended to be used only an ACPI-enabled system. As such, UEFI will handle all pin control configuration, so this driver does not provide pin control functions. It is effectively a GPIO-only driver. Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b4c45fe974bc5fa6240a729ea1f77db8b56d132a Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Jul 14 23:40:35 2015 -0700 pinctrl: qcom: ssbi: Family A gpio & mpp drivers This introduces pinctrl drivers for gpio and mpp blocks found in family A PMICs. Tested-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d57b1d2860a5035288f3630d126646089f71984d Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Jul 7 14:45:13 2015 +0200 ARM: dts: mediatek mt8135: Use real UART clocks We used to provide dummy clocks for the UART. Now that we have common clock support we can provide the real clocks to the UART. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit aada7d5298a78b03dfdf686e9c88a99e35ccc414 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Jul 7 14:45:12 2015 +0200 ARM: dts: mt8135-evbp1: Add PMIC support The MT8135 eval board contains a MT6397 PMIC. This adds the corresponding device node to the dts file. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 8dd29d28ac83891b2526d8aeec755c3ac49aa138 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Jul 7 14:45:11 2015 +0200 ARM: dts: mt8135: Add pmic wrapper nodes This adds the pmic wrapper node to the MediaTek MT8135 dtsi file. This unit is used to access the PMIC on MediaTek boards. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 3cc17a5c262c500328965ca5d9c3aa826f0815f5 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Tue Jul 7 14:45:10 2015 +0200 ARM: dts: mediatek: Enable clock support for Mediatek MT8135. This patch adds MT8135 clock controllers into device tree. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 41a5fefeff21bb08438383c0a6b5a06045775969 Merge: c418a84 8019ff6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 17 19:32:04 2015 +0100 Merge tag 'regmap-seq-delay-api' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-reg-default regmap: Create a new struct reg_sequence for register sequences In order to allow us to start adding extra annotations for sequences without bloating register default tables duplicate the structure under the new name reg_sequence and update the APIs to use that instead of reg_default. Conflicts: sound/soc/codecs/da7210.c sound/soc/codecs/rt5651.c sound/soc/codecs/wm8993.c commit 54e7ad47c94d26614acb4fcc577a79b3347c2d86 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Jul 16 21:35:28 2015 +0200 spi: mpc512x-psc: adapt mpc5121-psc document to reality The drivers support MPC5125 additionally to MPC5121, and there is an spi mode that is also supported. Additionally some minor corrections are done. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8bf960985dfc9fcb231a07dc3102ed828f66fe81 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Jul 14 11:19:56 2015 +0200 spi: mpc512x-psc: add support for Freescale MPC5125 The register layout of the PSC devices differ between MPC5121 and MPC5125, but the registers are named nearly identical and their purpose is similar enough ("freescale identical") such that substituting mpc52xx_psc by mpc5125_psc is nearly enough to make the driver work on MPC5125. To keep supporting MPC5121 this patch introduces a cpp macro to select the right struct that defines the register layout. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 70fb10529f61c31c26397a02091177bedd23217d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:17:36 2015 +0000 ASoC: rsnd: add MIX (Mixer) support This patch adds MIX (Mixer) initial support for rsnd driver. It is assuming that this MIX is used via DPCM. This is sample code for playback. CPU0 : [MEM] -> [SRC1] -> [CTU02] -+ | +-> [MIX0] -> [DVC0] -> [SSI0] | CPU1 : [MEM] -> [SRC2] -> [CTU03] -+ sound { compatible = "renesas,rsrc-card"; ... cpu@0 { sound-dai = <&rcar_sound 0>; }; cpu@1 { sound-dai = <&rcar_sound 1>; }; codec { ... }; }; rcar_sound { ... rcar_sound,dai { dai0 { playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>; }; dai1 { playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>; }; }; }; Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9269e3c3cfac277a49b485e27ac6850f9a11a259 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:17:17 2015 +0000 ASoC: rsnd: add CTU (Channel Transfer Unit) prototype support This patch adds CTU (Channel Transfer Unit) support for rsnd driver. But, it does nothing to data at this point, but is required for MIX support. CTU design is a little different from other IPs (CTU0 is including CTU00 - CTU03, and CTU1 is including CTU10 - CTU13, these have different register mapping) We need to care about it on this driver. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7dfb49194557ccf27ab99c8c04c021320e7ae458 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:16:56 2015 +0000 ASoC: rsnd: update Audio DMA path search method Current rsnd driver is assuming Audio DMAC / Audio DMAC peri peri are used from SSI/SSIU/SRC/DVC. But we will add CTU/MIX to this driver. Then, current DMA path searching method is not understandable, and good enough for this purpose. This patch update DMA path search method, more simply. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dc606e05468fc5e3b125bffdd54253f853bfbb8e Author: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 17 15:11:10 2015 +0100 ASoC: wm5110: Use reg_sequence for multi_reg_write/register_patch Introduced by: commit 8019ff6cfc04 ("regmap: Use reg_sequence for multi_reg_write / register_patch") Interacting with: commit d1acd31883d7 ("ASoC: wm5110: Add special DRE on/off handling for the headphone path") Signed-off-by: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da7b33739ebefca48259e4741376b9c77015d9d0 Merge: d1acd31 8019ff6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 17 18:57:41 2015 +0100 Merge tag 'regmap-seq-delay-api' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-wm5110 regmap: Create a new struct reg_sequence for register sequences In order to allow us to start adding extra annotations for sequences without bloating register default tables duplicate the structure under the new name reg_sequence and update the APIs to use that instead of reg_default. commit 18eb5e9fb2936cb5d4b6899a102e97d84547f2f5 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Mon Jul 13 23:20:12 2015 +0200 doc: dt: add documentation for pl172 memory bindings Add documentation for configuration and timing setup of static memory devices on the ARM PL172 controller. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 17c50b700c3b46fe85e96caa1d0fc5940cc276d4 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Mon Jul 13 23:20:11 2015 +0200 memory: add ARM PL172 MultiPort Memory Controller driver This driver makes it possible to configure the static memory chip selects on the ARM PL172 MultiPort Memory Controller from a set of properties in DT. Configuration of dynamic memory is not supported and is left to the boot loader. The intended usage is to setup timing and configuration for static memory devices like NAND and NOR Flash before they are probed by a driver. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit af3761246c18f8d4b2c5b6b7acb2cfce911b8530 Merge: fb61a92 4863dcd Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:37:26 2015 -0700 Merge tag 'v4.3-rockchip32-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Merge "Rockchip dts changes for 4.3, part1" from Heiko Stuebner: This adds the board for the Netxeon R89 used in different TV-boxes and the initial support for two Chromebooks from the veyron family. Additionally a non-critical fix for the watchdog irq on rk3288, addition of the gmac reset line, a ramp delay for the cpu regulator on the firefly board and cpu affinity for the arm-pmu spi irqs. * tag 'v4.3-rockchip32-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: add rk3288 arm-pmu irq affinity dt-bindings: document rk3368 R88 board from Rockchip ARM: dts: rockchip: add missing device_type = "memory" to boards ARM: dts: rockchip: add veyron-pinky board ARM: dts: rockchip: add veyron-jerry board ARM: dts: rockchip: add shared rk3288-veyron files ARM: dts: Add sbs-battery dts fragment used by chromebooks ARM: dts: rockchip: add Netxeon R89 board dt-bindings: add vendor prefix for Netxeon Technology ARM: dts: rockchip: fix rk3288 watchdog irq ARM: dts: rockchip: Add ramp delay for vdd_cpu in firefly board dts ARM: dts: rockchip: Add STMMAC reset signal in GMAC interface for rk3288 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d7030a08f6b05b3d146601b1f33595e2f5585117 Merge: bc0195a cb8cc37 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:36:32 2015 -0700 Merge tag 'v4.3-rockchip32-soc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc Merge "Rockchip soc changes for 4.3, part1" from Heiko Stuebner: Some suspend improvements enabling the possibility to wakeup from usbphy events and a rework of how cpu cores are brought up and down, as it was possible to produce lockups when hammering the cpu hotplug functions. * tag 'v4.3-rockchip32-soc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: rockchip: fix broken build ARM: rockchip: remove some useless macro in pm.h ARM: rockchip: add support holding 24Mhz osc during suspend ARM: rockchip: fix the SMP code style ARM: rockchip: ensure CPU to enter WFI/WFE state ARM: rockchip: fix the CPU soft reset ARM: rockchip: restore dapswjdp after suspend Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b790c2cab5ca641804c2e48c7506e166fff5a442 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Fri Jul 17 00:34:53 2015 +0200 arm64: dts: add Rockchip rk3368 core dtsi and board dts for the r88 board In terms of peripherals the rk3368 is quite similar to the rk3288, which makes it possible to have a lot basic components working in the first go. More to follow once I tracked down all the tiny differences that still exist in some parts. With these dts files, the R88 board is able to boot from an attached usb device and most likely from its emmc too, if the emmc uses a standard partition table instead of Rockchip's own one - the emmc itself is detected correctly. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ee0ee14ebf3a15bb1d189a4e80f0dea084faad5f Merge: c425b5c 3536c97 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:34:58 2015 -0700 Merge branch 'depends/clk-rk3368' into next/arm64 Merge in dependent stable branch with clk driver for RK3368, needed for the dt binding header files. * depends/clk-rk3368: clk: rockchip: add rk3368 clock controller clk: rockchip: add missing include guards clk: rockchip: add dt-binding header for rk3368 dt-bindings: add documentation of rk3668 clock controller clk: rockchip: define the inverters of rk3066/rk3188 and rk3288 clk: rockchip: fix issues in the mmc-phase clock clk: rockchip: add support for phase inverters clk: rockchip: add COMPOSITE_NOGATE_DIVTBL variant clk: rockchip: protect register macros against multipart values clk: rockchip: fix faulty vip parent name on rk3288 clk: rockchip: rk3288: add CLK_SET_RATE_PARENT to sclk_mac Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c425b5c9bc31134e212b75c0d61b971ccf935846 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Fri Jul 17 00:34:23 2015 +0200 arm64: defconfig: enable ARCH_ROCKCHIP Enable building Rockchip support in the defconfig. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fbac1c81e2591c5d1e5abd9a4477002f2afd0ab4 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Fri Jul 17 00:33:51 2015 +0200 arm64: add Rockchip architecture entry The rk3368 is Rockchip's first ARM64 soc, build around 8 Cortex-A53 cores. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit eed6b3eb20b97beff66ca59bb610ac73532278ee Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Jul 15 07:10:21 2015 -0400 arm64: Split out platform options to separate Kconfig Let's move out the platform Kconfig entries to a separate file, since these changes usually get moved through arm-soc instead of the arm64 arch tree, and this will lead to fewer conflicts Signed-off-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ea7b44b6e95750e1784ce34e7688a974976d2ad1 Merge: 30e714c b471e7f Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:23:08 2015 -0700 Merge tag 'ep93xx-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/defconfig Merge "EP93xx defconfig changes" from Linus Walleij: This updates the EP93xx defconfig to use NO_HZ and high resolution timers, and to by default enable and compile all board variants now that we can have a single kernel, and enable all EP93xx-specific drivers that sit in various sites across the kernel. * tag 'ep93xx-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: ep93xx: add framebuffer to the defconfig ARM: ep93xx: add DMA engine to the defconfig ARM: ep93xx: add GPIO I2C to defconfig ARM: ep93xx: add LEDs and triggers to defconfig ARM: ep93xx: enable SIM.ONE MMC/SD hardware ARM: ep93xx: enable all boards in the EP93xx defconfig ARM: ep93xx: activate NO_HZ and high-res timers Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit cd392752e357b150912f4c38a856dabed3ac7327 Merge: 6339189 109965a Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:20:46 2015 -0700 Merge tag 'ep93xx-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/cleanup Merge "EP93xx cleanups for v4.3" from Linus Walleij: EP93xx cleanup and completing developments. This switches EP93xx to generic time and brings in a few out-of-tree small patches that were stalled for ages. It also removes the need for memory config options and instead moves over to using PATCH_PHYS_VIRT. * tag 'ep93xx-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: ep93xx: simone: enable DMA on the SPI host ARM: ep93xx: vision_ep9307: add audio support ARM: ep93xx: vision_ep9307: enable DMA for SPI ARM: ep93xx: toss the device ID into the entropy pool ARM: ep93xx: remove memory configuration options ARM: ep93xx: update comment on timer usage ARM: ep93xx: switch clockevent to timer 3 ARM: ep93xx: use non-raw accessors for timer ARM: ep93xx: switch to GENERIC_CLOCKEVENTS ARM: ep93xx: move timer to its own file Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6339189e9fcc74becd65ea2a3ac18a8ce767eb19 Merge: 3bf7b20 ffb910d Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:19:04 2015 -0700 Merge tag 'arm-soc/for-4.3/soc' of http://github.com/broadcom/stblinux into next/cleanup Merge "Broadcom SoC changes for 4.3 (part 1)" from Florian Fainelli: This pull request contains two fixes for the Broadcom BCM63xx SMP code: - Sudeep removes an invalid use of cpu_logical_map() which turned to be a no-op since we always boot from physical CPU 0 = logical CPU 0 - Florian removes the custom secondary_startup function and replaces it with the generic one * tag 'arm-soc/for-4.3/soc' of http://github.com/broadcom/stblinux: ARM: BCM63xx: Remove custom secondary_startup function ARM: BCM63xx: fix parameter to of_get_cpu_node in bcm63138_smp_boot_secondary Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fb61a92190f630c7090907197557f3f780269561 Merge: 858ed8c 0dfc7f6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:16:36 2015 -0700 Merge tag 'arm-soc/for-4.3/dts' of http://github.com/broadcom/stblinux into next/dt Merge "Broadcom Device Tree changes for 4.3 (part 1)" from Florian Fainelli: This pull request contains two changes: - Ray adds the relevant clocks device tree nodes for Cygnus SoCs - Rafal enables UART0 on BCM5301X routers where it has been verified to work correctly * tag 'arm-soc/for-4.3/dts' of http://github.com/broadcom/stblinux: ARM: BCM5301X: Enable UART0 on tested devices ARM: dts: enable clock support for Broadcom Cygnus Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 30e714c18c9b5fba273648b46003836a738a0a5f Merge: 91e2213 adfe5f2 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:09:14 2015 -0700 Merge tag 'mvebu-config-4.3-1' of git://git.infradead.org/linux-mvebu into next/defconfig Merge "ARM: mvebu: config changes for v4.3" from Gregory Clement: mvebu config changes for v4.3 (part #1) update mvebu_v7_defconfig with features needed for Armada 388 GP * tag 'mvebu-config-4.3-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: update mvebu_v7_defconfig with features needed for Armada 388 GP Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 858ed8cbb3010be5240f18719231dd625cfd549d Merge: 4a7514f 7e5308b Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:08:17 2015 -0700 Merge tag 'mvebu-dt-4.3-1' of git://git.infradead.org/linux-mvebu into next/dt Merge "ARM: mvebu: dt changes for v4.3" from Gregory Clement: mvebu dt changes for v4.3 (part #1) - Update Armada 388 GP description - Add Buffalo Linkstation LS-WXL and LS-WSXL - Fine-tune the L2 configuration for cortex A9 based SoC - Update XOR definition for Armada 38x and 39x SoC * tag 'mvebu-dt-4.3-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: update EEPROM description of Armada 388 GP ARM: mvebu: fix description of pwr-sata0 regulator on Armada 388 GP ARM: dts: add buffalo linkstation ls-wvl/vl ARM: dts: add buffalo linkstation ls-wxl/wsxl ARM: mvebu: use DT properties to fine-tune the L2 configuration ARM: mvebu: use armada-380-xor on Armada 38x and 39x Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3bf7b20a0e23729383b43c89585e733f0b575aca Merge: 52e43a1 7a1436d Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 10:01:34 2015 -0700 Merge tag 'mvebu-cleanup-4.3-1' of git://git.infradead.org/linux-mvebu into next/cleanup Merge "ARM: mvebu: cleanup changes for v4.3" from Gregory Clement: mvebu cleanup changes for v4.3 (part #1) - Use vsprintf %pM extension on orion5x board to format mac address - Add missing newline at end of messages on pr_warn when CPU Idle on Armada 38x is disabled * tag 'mvebu-cleanup-4.3-1' of git://git.infradead.org/linux-mvebu: ARM: orion5x: Use vsprintf %pM extension ARM: mvebu: add missing newline at end of messages Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 52e43a11aed3f8166ba311744637d636a8a79096 Merge: b3f8173 10dca88 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 09:58:32 2015 -0700 Merge branch 'ARM/clkevt/set-state-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/linux into next/cleanup Merge "ARM: clockevents: Migrate to 'set-state' callbacks" from Viresh Kumar: This series migrates ARM clockevent drivers (present in arch/arm/ directory), to the new set-state interface. This would enable these drivers to use new states (like: ONESHOT_STOPPED, etc.) of a clockevent device (if required), as the set-mode interface is marked obsolete now and wouldn't be expanded to handle new states. * 'ARM/clkevt/set-state-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/linux: ARM/orion/time: Migrate to new 'set-state' interface ARM/iop/time: Migrate to new 'set-state' interface ARM/w90x900/time: Migrate to new 'set-state' interface ARM/SPEAr/time: Migrate to new 'set-state' interface ARM/omap2/timer: Migrate to new 'set-state' interface ARM/omap1/timer32: Migrate to new 'set-state' interface ARM/omap1/time: Migrate to new 'set-state' interface ARM/netx/time: Migrate to new 'set-state' interface ARM/mmp/time: Migrate to new 'set-state' interface ARM/lpc32xx/timer: Migrate to new 'set-state' interface ARM/ks8695/time: Migrate to new 'set-state' interface ARM/ixp4xx/timer: Migrate to new 'set-state' interface ARM/imx/epit: Migrate to new 'set-state' interface ARM/gemini/time: Migrate to new 'set-state' interface ARM/dc21285-timer: Migrate to new 'set-state' interface ARM/davinci/time: Migrate to new 'set-state' interface ARM/cns3xxx/timer: Migrate to new 'set-state' interface ARM/smp_twd: Migrate to new 'set-state' interface Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4a7514f717e44999b5c974ad6d5f8a9ccb4d0ed3 Merge: b1d725e e794db2 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Jul 17 09:53:02 2015 -0700 Merge branch 'lpc18xx_43xx_dts_4.3' of https://github.com/manabian/linux-lpc into next/dt Merge "LPC18xx DTS changes for 4.3" from Joachim Eastwood: This patch set adds DT nodes for all the drivers that went upstream in 4.2 and should represent the bulk of DTS changes for 4.3. All nodes added are documented and some of patches carries a ack from subsystem maintainer. It also features updates to the EA4357 dev- kit and a new board from Ezequiel Garcia. Note that there might be one more batch of DTS changes for 4.3 if any new drivers goes upstream and also some changes for the Hitex eval board might come. * 'lpc18xx_43xx_dts_4.3' of https://github.com/manabian/linux-lpc: ARM: dts: add DT for CIAA LPC4337 industrial computer of: add vendor prefix for CIAA project ARM: dts: lpc4357-ea4357: add uart3 ARM: dts: lpc4357-ea4357: add ethernet ARM: dts: lpc4357-ea4357: add gpio joystick ARM: dts: lpc4357-ea4357: add mmcsd ARM: dts: lpc4357-ea4357: add pinctrl and uart0 muxing ARM: dts: lpc18xx: add usb nodes ARM: dts: lpc18xx: add ethernet node ARM: dts: lpc18xx: add creg (syscon) node ARM: dts: lpc18xx: add mmcsd node ARM: dts: lpc18xx: add can nodes ARM: dts: lpc18xx: add ssp nodes ARM: dts: lpc18xx: add gpio node ARM: dts: lpc18xx: add pinctrl node ARM: dts: lpc18xx: add uart new compat string and clk names ARM: dts: lpc18xx: add cgu and ccu clock-controller nodes Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 27977b69e493c9b259eb0490534e0f74bc325ba8 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Jul 17 11:33:16 2015 -0400 ext4 crypto: check for too-short encrypted file names An encrypted file name should never be shorter than an 16 bytes, the AES block size. The 3.10 crypto layer will oops and crash the kernel if ciphertext shorter than the block size is passed to it. Fortunately, in modern kernels the crypto layer will not crash the kernel in this scenario, but nevertheless, it represents a corrupted directory, and we should detect it and mark the file system as corrupted so that e2fsck can fix this. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 806c24adf74ec02543e4dcad989c0336f9fe82c4 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Jul 17 11:16:47 2015 -0400 ext4 crypto: use a jbd2 transaction when adding a crypto policy Start a jbd2 transaction, and mark the inode dirty on the inode under that transaction after setting the encrypt flag. Otherwise if the directory isn't modified after setting the crypto policy, the encrypted flag might not survive the inode getting pushed out from memory, or the the file system getting unmounted and remounted. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 2091f5181c66b3617a977e79843aba10e087be6c Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 10 10:49:26 2015 -0300 [media] videobuf2: add trace events Add videobuf2 specific vb2_qbuf and vb2_dqbuf trace events that mirror the v4l2_qbuf and v4l2_dqbuf trace events, only they include additional information about queue fill state and are emitted right before the buffer is enqueued in the driver or userspace is woken up. This allows to make sense of the timeline of trace events in combination with others that might be triggered by __enqueue_in_driver. Also two new trace events vb2_buf_queue and vb2_buf_done are added, allowing to trace the handover between videobuf2 framework and driver. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c13a5ccf5da86239213033214658b8a170eeab87 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 10 10:49:25 2015 -0300 [media] v4l2-mem2mem: set the queue owner field just as vb2_ioctl_reqbufs does The queue owner will be used by videobuf2 trace events to determine and record the device minor number. It is set in v4l2_m2m_reqbufs instead of v4l2_m2m_ioctl_reqbufs because several drivers implement their own vidioc_reqbufs handlers that still call v4l2_m2m_reqbufs directly. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 85efe4e5082c381262f5303d20f808ac455b028e Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 10 10:49:24 2015 -0300 [media] v4l2-dev: use event class to deduplicate v4l2 trace events Trace events with exactly the same parameters and trace output, such as v4l2_qbuf and v4l2_dqbuf, are supposed to use the DECLARE_EVENT_CLASS and DEFINE_EVENT macros instead of duplicated TRACE_EVENT macro calls. Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0034af036554c39eefd14d835a8ec3496ac46712 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Jul 16 09:14:26 2015 -0600 block: make /sys/block/<dev>/queue/discard_max_bytes writeable Lots of devices support huge discard sizes these days. Depending on how the device handles them internally, huge discards can introduce massive latencies (hundreds of msec) on the device side. We have a sysfs file, discard_max_bytes, that advertises the max hardware supported discard size. Make this writeable, and split the settings into a soft and hard limit. This can be set from 'discard_granularity' and up to the hardware limit. Add a new sysfs file, 'discard_max_hw_bytes', that shows the hw set limit. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2bb4cd5cc472b191a46938becb7dafdd44644329 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Jul 14 08:15:12 2015 -0600 block: have drivers use blk_queue_max_discard_sectors() Some drivers use it now, others just set the limits field manually. But in preparation for splitting this into a hard and soft limit, ensure that they all call the proper function for setting the hw limit for discards. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6c71013ecb7e2bddbed9f5b95e7aed22c491daa9 Author: Ming Lei <tom.leiming@xxxxxxxxx> Date: Thu Jul 16 11:16:45 2015 +0800 block: partition: convert percpu ref Percpu refcount is the perfect match for partition's case, and the conversion is quite straight. With the convertion, one pair of atomic inc/dec can be saved for accounting block I/O, which is run in hot path of block I/O. Signed-off-by: Ming Lei <tom.leiming@xxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b54e5ed8f285d62c0d242c4ef9da90937994db02 Author: Ming Lei <tom.leiming@xxxxxxxxx> Date: Thu Jul 16 11:16:44 2015 +0800 block: partition: introduce hd_free_part() So the helper can be used in both generic partition case and part0 case. Signed-off-by: Ming Lei <tom.leiming@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6727d4fce95586e60922bdaf57b8a0eb99482557 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 16 13:19:39 2015 -0300 [media] coda: make NV12 format default The chroma interleaved NV12 format has higher memory bandwidth efficiency because the chroma planes can be read/written with longer burst lengths. Use NV12 as default format if available and consistently sort it first. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a269e53b1aa87157311e53e5b69699ba8f3ba4d0 Author: Philipp Zabel <philipp.zabel@xxxxxxxxx> Date: Thu Jul 16 13:19:38 2015 -0300 [media] coda: add macroblock tiling support Storing internal frames in macroblock tiled order improves memory access patterns by allowing increased burst sizes when transferring the uncompressed macroblocks to or from main memory. The translation logic only supports a single chroma base address, so this is only supported for the chroma interleaved NV12 format. Since the rotator used to copy the decoder output into the v4l2 capture buffers does not seem to support the tiled format correctly, only enable it in the encoder for now. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fbce23a0b95763dfc4961ce6240e055c39f497ed Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Jul 17 16:27:33 2015 +0200 ALSA: hda - Check the return value from pm_runtime_get/put*() This patch changes the return type of snd_hdac_power_up/down() and variants to pass the error code from the underlying pm_runtime_get/put() calls. Currently they are ignored, but in most places, these should be handled properly. As an example, the regmap handler is updated to check the return value and accesses the register only when the wakeup succeeds. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4e447ff199cfc4bc04ddb515d3d9ab46bb19530a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 16 13:19:37 2015 -0300 [media] coda: move cache setup into coda9_set_frame_cache, also use it in start_encoding The frame cache should be set up correctly to encode NV12 source frames. This was not done before, so move the cache setup out of start_decoding into its own function and call it from both start_encoding and start_decoding. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cde29ef313de391ec9a1e461458274623ab1eb87 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 16 13:13:24 2015 -0300 [media] coda: Use S_PARM to set nominal framerate for h.264 encoder The encoder needs to know the nominal framerate for the constant bitrate control mechanism to work. Currently the only way to set the framerate is by using VIDIOC_S_PARM on the output queue. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit da2b3b3e115d2793b5475039ca4d7f364135fcf4 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 10 10:37:52 2015 -0300 [media] coda: implement VBV delay and buffer size controls The encoder allows to specify the VBV model reference decoder's initial delay and buffer size. Export the corresponding V4L2 controls. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 68aa7ee15cd683006ec1ac91ad60c019bf62d978 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 10 10:37:44 2015 -0300 [media] coda: reset CODA960 hardware after sequence end On i.MX6, sometimes after decoding a stream, encoding will produce macroblock errors caused by missing 8-byte sequences in the output stream. Until the cause for this is found, reset the hardware after sequence end, which seems to help. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 47f3fa63ee5c0e6bdf9c9d5ed73fc791981336e4 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:21 2015 -0300 [media] coda: rework meta counting and add separate lock Keep count of number of buffer meta structures in the list and use a separate spinlock for operations on this counted list instead of reusing the bitstream mutex in some places and none at all in others. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2cf251c0c3961bd467e086033c6073ef62b29b02 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:20 2015 -0300 [media] coda: reuse src_bufs in coda_job_ready The v4l2_m2m_num_src_bufs_ready() function is called in multiple places in coda_cob_ready, and there already is a variable src_bufs that is assigned to its result. Move it to the beginning and use it everywhere. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f0710815a0e17c63d3f17d365ae556ab15eccb03 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:19 2015 -0300 [media] coda: use event class to deduplicate v4l2 trace events Trace events with exactly the same parameters and trace output, such as coda_enc_pic_run and coda_enc_pic_done, are supposed to use the DECLARE_EVENT_CLASS and DEFINE_EVENT macros instead of duplicated TRACE_EVENT macro calls. This patch changes the order of parameters to coda_dec_rot_done and adds a timestamp so it can share an event class with coda_bit_queue. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8076c7e3f68547ee1d8e07715329f26f7883152a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:18 2015 -0300 [media] coda: drop custom list of pixel format descriptions Since commit ba3002045f80 ("[media] v4l2-ioctl: fill in the description for VIDIOC_ENUM_FMT"), all pixel formats are assigned their description in a central place. We can now drop the custom list. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c1ae0b283d13ad8b53bf3be379b1207085da4b22 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:17 2015 -0300 [media] coda: reset stream end in stop_streaming Otherwise a restarted stream won't queue buffers. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5c718bb323aef02ea580073a3640b072fb2f6838 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:16 2015 -0300 [media] coda: avoid calling SEQ_END twice Allow coda_seq_end_work to be called multiple times, move the setting of ctx->initialized from coda_start/stop_streaming() into coda_start_encoding/decoding and coda_seq_end_work, respectively, and skip the SEQ_END command in coda_seq_end_work if the context is already deinitialized before. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 30a09579b2e238646bca4e7cc443db24d91436d6 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:15 2015 -0300 [media] coda: keep buffers on the queue in bitstream end mode In stream end mode the hardware will read the bitstream to its end, overshooting the write pointer. Do not write additional data into the bitstream in this mode. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 58bc7edf1d9a16073761031a03291af887ccdf66 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:14 2015 -0300 [media] coda: fix bitstream preloading for MPEG4 decoding All decoder instances using the BIT processor should preload buffers into the bitstream ring buffer, including MPEG4 decoding. Fix this by explicitly stating the above condition instead of listing all relevant input formats. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d132803e6c611d50c19baedc8ae520203a2baca7 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Wed Jul 15 14:25:16 2015 -0700 x86/entry: Fix _TIF_USER_RETURN_NOTIFY check in prepare_exit_to_usermode Linus noticed that the early return check was missing _TIF_USER_RETURN_NOTIFY. If the only work flag was _TIF_USER_RETURN_NOTIFY, we'd skip user return notifiers. Fix it. (This is the only missing bit.) This fixes double faults on a KVM host. It's the same issue as last time, except that this time it's very easy to trigger. Apparently no one uses -next as a KVM host. ( I'm still not quite sure what it is that KVM does that blows up so badly if we miss a user return notifier. My best guess is that KVM lets KERNEL_GS_BASE (i.e. the user's gs base) be negative and fixes it up in a user return notifier. If we actually end up in user mode with a negative gs base, we blow up pretty badly. ) Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: c5c46f59e4e7 ("x86/entry: Add new, comprehensible entry and exit handlers written in C") Link: http://lkml.kernel.org/r/3f801104d24ee7a6bb1446408d9950777aa63277.1436995419.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b05959c66e865fb9eb5b93e223da925572130d7f Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:13 2015 -0300 [media] coda: fix mvcol buffer for MPEG4 decoding The mvcol buffer is allocated at the end of the first internal buffer. This patch fixes an out of bounds array access. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f964c409f7cc626335cf2370f55690660a273dad Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Thu Jul 9 07:10:12 2015 -0300 [media] coda: clamp frame sequence counters to 16 bit This is already done for one side of the comparison with the expectation that the HW counter rolls over at the 16 bit boundary. This is true when decoding a h.264 stream, but doesn't hold for at least MJPEG. As we don't know the exact wrap-around point for this format just clamp the HW counter to the same 16 bits. This should be enough to detect most of the errors and saves us from doing different comparisons based on the decoded format. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eb6d9293dfed245a114cad7d975259963e1e04c2 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Jul 15 14:56:06 2015 +0200 mac80211: deinline rate_control_rate_init, rate_control_rate_update With this .config: http://busybox.net/~vda/kernel_config, after deinlining these functions have sizes and callsite counts as follows: rate_control_rate_init: 554 bytes, 8 calls rate_control_rate_update: 1596 bytes, 5 calls Total size reduction: about 11 kbytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: John Linville <linville@xxxxxxxxxxxxx> CC: Michal Kazior <michal.kazior@xxxxxxxxx> CC: Johannes Berg <johannes.berg@xxxxxxxxx> Cc: linux-wireless@xxxxxxxxxxxxxxx Cc: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 727da60be91c9fd59f1b084ca537b5123ab97744 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Jul 15 14:56:05 2015 +0200 mac80211: deinline drv_sta_state With this .config: http://busybox.net/~vda/kernel_config, after deinlining the function size is 3132 bytes and there are 7 callsites. Total size reduction: about 20 kbytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: John Linville <linville@xxxxxxxxxxxxx> CC: Michal Kazior <michal.kazior@xxxxxxxxx> Cc: Johannes Berg <johannes.berg@xxxxxxxxx> Cc: linux-wireless@xxxxxxxxxxxxxxx Cc: netdev@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0e0060fcfb3d0f5a53ef43e7b6a50227b934ab7c Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Tue Jul 14 08:31:59 2015 -0400 mac80211: select an AID when creating new mesh STAs Instead of using peer link id for AID, generate a new AID when creating mesh STAs in the kernel peering manager. This enables smaller TIM elements and more closely follows the standard, and it also enables mesh to work on drivers that require a valid AID when the STA is inserted (ath10k firmware has this requirement, for example). In the case of userspace-managed stations, we use the AID from NL80211_CMD_NEW_STATION. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a69bd8e60b02946896c097439b94eb77c0c2c9e4 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Tue Jul 14 08:31:58 2015 -0400 mac80211: mesh: separate plid and aid concepts According to 802.11-2012 13.3.1, a mesh STA should assign an AID upon receipt of a mesh peering open frame rather than using the link id of the peer. Using the peer link id has two potential issues: it may not be unique among the peers, and by its nature it is random, so the TIM may not compress well. In preparation for allocating it properly, use sta->sta.aid, but keep the existing behavior of using the plid in the aid we send. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit fa87a6566ca8f17a92ba81980bd47c456262907c Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Tue Jul 14 08:31:57 2015 -0400 mac80211: reorder mesh_plink to remove forward decl Move mesh_plink_frame_tx() above the first caller to remove the forward declaration. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b0485e9f3defbed6effcde595df9b9fdbdb2524e Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Jul 8 15:41:47 2015 +0300 mac80211: clear local->suspended before calling drv_resume() Currently, mac80211 calls drv_resume() on wowlan resume, but drops any incoming frame until local->suspended is cleared later on. This requires the low-level driver to support a new state, in which it is expected to fully work (as it was resumed) but not passing rx frames yet (as they will be dropped). iwlwifi (and probably other drivers as well) has issues supporting such mode. Since in the wowlan case we already short-circuit ieee80211_reconfig, there's nothing that prevents us from clearing local->suspend before calling drv_resume(), and letting the low-level driver work normally. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 42d8d789615d539cb13733e516b94e874a34f775 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Jul 8 15:41:46 2015 +0300 mac80211: TDLS: deny ch-switch req on disallowed channels If a TDLS station is not allowed to beacon on a channel, don't accept a channel switch request to this channel. Move channel building code up to avoid lockdep violations - reg_can_beacon needs to take the wdev lock. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c8ff71e667d9fcf775e8b8bbd568d32d48cfb864 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Jul 8 15:41:45 2015 +0300 mac80211: TDLS: handle chan-switch in RTNL locked work Move TDLS channel-switch Rx handling into an RTNL locked work. This is required to add proper regulatory checking to incoming channel-switch requests. Queue incoming requests in a dedicated skb queue and handle the request in a device-specific work to avoid deadlocking on interface removal. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 72bbe3d1c2d7a9e257956912040ffc7ba9f71e0d Merge: 322cd40 923b352 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jul 17 15:39:38 2015 +0200 Merge branch 'mac80211' into mac80211-next This is necessary to merge the new TDLS and mesh patches, as they depend on some fixes. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 322cd406da0b102dda9c0eec46181458a3667dbb Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Wed Jul 8 15:41:43 2015 +0300 mac80211: Add support for declaring MU-MIMO capability Add support for declaring MU-MIMO beamformee capability for relevant hardware. When sending association request, the capability is included if both hardware and the AP support it, and no other virtual interface is using it. This is in order to avoid multiple interfaces using MU-MIMO in parallel which might lead to contradictions in the group-id mechanism. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ccc6bb96ff058ad737fb8236e15aeaa56e822296 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 11:50:52 2015 +0200 mac80211: account TX MSDUs properly with segmentation offload If an SKB will be segmented by the driver, count it for multiple MSDUs that are being transmitted rather than just a single. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 841b351cf98e0b4ef25f6459d35251e63c0a7a49 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Wed Jun 24 11:42:25 2015 -0400 wireless: remove superfluous if statement in regulatory code Commit eeca9fce1d71 ('cfg80211: Schedule timeout for all CRDA calls') left behind a superfluous check after it removed some earlier code. In reg_process_hint, the test of "treatment == REG_REQ_IGNORE || treatment == REG_REQ_ALREADY_SET" is superfluous because the code in the if-then branch is identical to the code after the if statement. Coverity CID #1295939 I also removed the unnecessary assignment of treatment in this case, and added a comment reminding any future patch authors to ensure that treatment is properly assigned before it is used after the switch. Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 33d8783c58427683b533664f67f8c4378ed64495 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 23 17:47:05 2015 +0200 cfg80211: allow mgmt_frame_register callback to sleep This callback is currently not allowed to sleep, which makes it more difficult to implement proper driver methods in mac80211 than it has to be. Instead of doing asynchronous work here in mac80211, make it possible for the callback to sleep by doing some asynchronous work in cfg80211. This also enables improvements to other drivers, like ath6kl, that would like to sleep in this callback. While at it, also fix the code to call the driver on the implicit unregistration when an interface is removed, and do that also when a P2P-Device wdev is destroyed (otherwise we leak the structs.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 69f132236827ce7d4531846cc2b9447dd5620aff Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 26 09:21:01 2015 +0200 mac80211: shrink struct ieee80211_fragment_entry Most of the fields in this struct use too wide types, change that to shrink the struct from 64 to 48 bytes (on 64-bit.) This results in a total saving of 64 bytes for each interface. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a76d5e0a2311ad6b5a8bfa92d3d627194c8c389a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Jun 18 16:20:08 2015 +0200 mac80211: mesh: move fail_avg into mesh struct This value is only used in mesh, so move it into the new mesh sub-struct of the station info. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f9a060f4b2003eb7350762e60dfc576447e44bad Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 12 14:55:34 2015 +0200 mac80211: add pointer for driver use to key Some drivers may need to store data per key, for example for PN validation. Allow this by adding a pointer to the struct that the driver can assign. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 33c2f538d8080845e11af500993cc61ad30934e2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jun 17 13:07:14 2015 +0200 mac80211_hwsim: support wider TDLS bandwidth There's no reason not to support this, allow it to test those code paths. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a3ebb4e1b76346156e8e7233c262ce24e3a86a24 Author: Krishna Chaitanya <chaitanya.mgit@xxxxxxxxx> Date: Fri Jun 12 02:34:52 2015 +0530 mac80211: minstrel_ht: handle peers in dynamic SMPS In case of Dynamic SMPS enable RTS/CTS for all rates. Signed-off-by: Chaitanya T K <chaitanya.mgit@xxxxxxxxx> [change comment] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 932e628da2fe9be759e19b14e3e5bf1e0e6f0984 Author: Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxx> Date: Mon Jun 15 11:58:53 2015 +0800 mac80211: mesh process the target only subfield for mesh hwmp This patch does the following: - Remove unnecessary flags field used by PERR element - Use the per target flags defined in <linux/ieee80211.h> - Process the target only subfield based on case E2 of IEEE802.11-2012 13.10.9.3 Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d51c2ea3704be07f030c78d57641d6b972e301ee Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Jun 14 16:53:46 2015 +0300 mac80211: TDLS: correctly configure SMPS state The IEEE802.11-2012 specification is vague regarding SMPS operation during TDLS. It does not define a clear way to transition between SMPS states. To avoid interop issues, set SMPS to off when TDLS peers are connected. Accomplish this by extending the definition of the AUTOMATIC state. If the driver forces a state other than OFF, disconnect all TDLS peers. While at it, avoid changing the SMPS state of the peer STA. We have no way to control it, so try and behave correctly towards it. Move the TDLS peer-teardown function to where the rest of the TDLS code resides. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3633ebebab2bbe88124388b7620442315c968e8f Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Sat Jun 13 10:16:31 2015 -0400 mac80211: enable assoc check for mesh interfaces We already set a station to be associated when peering completes, both in user space and in the kernel. Thus we should always have an associated sta before sending data frames to that station. Failure to check assoc state can cause crashes in the lower-level driver due to transmitting unicast data frames before driver sta structures (e.g. ampdu state in ath9k) are initialized. This occurred when forwarding in the presence of fixed mesh paths: frames were transmitted to stations with whom we hadn't yet completed peering. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Alexis Green <agreen@xxxxxxxxxxxx> Tested-by: Jesse Jones <jjones@xxxxxxxxxxxx> Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d8f0300a7aca5cd9208112104c64d894ad82da1f Author: Jesse Jones <jjones@xxxxxxxxxxxx> Date: Fri Jun 12 15:38:07 2015 -0700 mac80211: mac80211: Check SN for deactivated mpaths When processing a PREQ or PREP it's critical to use the incoming SN. If that is improperly done routing loops and other types of badness can happen. But the code was always processing path messages for deactivated paths. This path fixes that so that if we have a valid SN then we use it to verify that it is a message we can accept. For reference the relevant section of the standard is 13.10.8.4 which doesn't address the deactivated path case at all. I also included a special case for when our peer reboots or restarts networking. This is an important case because without it there can be a very long delay before we accept path messages from that peer. It's also a simple case and intimately associated with processing messages for deactivated paths so I used one patch instead of two. Signed-off-by: Alexis Green <agreen@xxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d82547106ff9dee43e6ee4f4b3d70b5314ae266f Author: Jesse Jones <jjones@xxxxxxxxxxxx> Date: Fri Jun 12 14:13:09 2015 -0700 mac80211: mesh: don't invalidate SN on discovery failure The 2012 spec mentions that path SNs can be invalid when created (see section 13.10.8.4 table 13-9) but AFAICT never talks about invalidating SNs. Which makes sense: if we have figured out the path to a target at a certain SN then we want to remember that fact. Failing to do so can lead to routing loops because if we don't have a valid SN then we have no way of knowing whether an incoming path message leads to or away from the target. However currently when discovery fails we zero out mpath->flags which clears MESH_PATH_SN_VALID. This patch fixes that so that only the discovery relevant flags are cleared. Signed-off-by: Alexis Green <agreen@xxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 703ee73a41a74210dde9050c6669053866b133a0 Author: Alexis Green <agreen@xxxxxxxxxxxx> Date: Wed Jun 10 11:02:09 2015 -0700 mac80211: mesh: add missing case to PERR processing When the nexthop is unable to resolve its own nexthop it will send back a PERR with a zero target_sn. According to section 13.10.11.4.3 step b in the 2012 standard that perr should be forwarded and the associated mpath->sn should be incremented. Neither one of those was happening which is rather bad because the originator was not told that packets are black holing. Signed-off-by: Alexis Green <agreen@xxxxxxxxxxxx> CC: Jesse Jones <jjones@xxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0fabfaafec3ae017fc7c82997035872ff385752f Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Jun 10 20:41:23 2015 +0300 mac80211: upgrade BW of TDLS peers when possible Define a station chandef, to be used for wider-bw TDLS peers. When both peers support the feature, upgrade the channel bandwidth to the maximum allowed by both peers and regulatory. Currently widths up to 80MHz are supported in the 5GHz band. When a TDLS peer connects/disconnects recalculate the channel type of the current chanctx. Make the chanctx width calculation consider wider-bw TDLS peers and similarly fix the max_required_bw calculation for the chanctx min_def. Since the sta->bandwidth is calculated only later on, take bss_conf.chandef.width as the minimal width for station interface. Set the upgraded channel width in the VHT-operation set during TDLS setup. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b98fb44ffceeac717789e8f2fb3497e6b8c5c65b Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Jun 10 20:42:59 2015 +0300 mac80211: define TDLS wider BW support bits Allow a device to specify support for the TDLS wider-bandwidth feature. Indicate this support during TDLS setup in the ext-capab IE and set an appropriate station flag when our TDLS peer supports it. This feature gives TDLS peers the ability to use a wider channel than the base width of the BSS. For instance VHT capable TDLS peers connected on a 20MHz channel can extend the channel to 80MHz, if regulatory considerations allow it. Do not cap the bandwidth of such stations by the current BSS channel width in mac80211. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7584f88f9e30d36c2c1041831121f1cd3a194bf1 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Jun 10 20:19:37 2015 +0300 mac80211: clear local->in_reconfig on reconfig error If reconfiguration fails, local->in_reconfig is never cleaned, resulting in rx frames being dropped next time the device is started. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6513e98e05ccb8eca77adaf93beae44aa7bf4a45 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jun 10 20:18:55 2015 +0300 mac80211: allow passing NULL to ieee80211_vif_to_wdev() Simply return NULL in this case, instead of crashing. This can simplify callers that would otherwise have to check for this explicitly. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e996ec2a4ddb53164262990d33304c429709f687 Author: Wojciech Dubowik <Wojciech.Dubowik@xxxxxxxxxxx> Date: Wed Jun 10 13:06:53 2015 +0200 mac80211: avoid unnecessary beacon deref on CSA counter update The beacon struct is already available in many contexts that are also already in an RCU read-locked section. Avoid that by using the existing beacon struct pointer directly. Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@xxxxxxxxxxx> [rewrite subject/add commit message] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 1365770248c122dd155351e714b44fe77036292c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jun 17 10:34:54 2015 +0200 mac80211: move mesh STA parameters code to own function The code was always a bit awkward due to the 80-col restriction and got worse in the previous patch. Refactor it a bit into its own function to make it read nicer. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 433f5bc1c0efc67a86433e47a14b115510fc1409 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jun 17 10:31:00 2015 +0200 mac80211: move mesh related station fields to own struct There are now a fairly large number of mesh fields that really aren't needed in any other modes; move those into their own structure and allocate them separately. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e414eea77d1ae1201d5252964406a22adfa9f3c2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 12:53:10 2015 +0200 mac80211: remove IEEE80211_RX_FRAGMENTED There's a long-standing TODO item to use this flag in the cooked monitor RX, but clearly it was never needed and now this hasn't been used by userspace for a long time, so no userspace changes could require it now. Remove the unused flag. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ac100ce52a2d3b6261a06939d22e4382d9aa0bb2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 16:22:12 2015 +0200 mac80211: duplicate station's MAC address for hash table Currently, the station hash table lookup (or iteration) must access two cachelines for each station - the one with the hash table node, and the one with the MAC address. Duplicate the MAC address next to the hash node to get rid of this. Since the MAC address is static there's no consistency problem introduced by this. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 981d94a80174e4f33bd5015fb49051bfc2eb00d2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 12 14:39:02 2015 +0200 mac80211: support device/driver PN check for CCMP/GCMP When there are multiple RX queues, the PN checks in mac80211 cannot be used since packets might be processed out of order on different CPUs. Allow the driver to report that the PN has been checked, drivers that will use multi-queue RX will have to set this flag. For now, the flag is only valid when the frame has been decrypted, in theory that restriction doesn't have to be there, but in practice the hardware will have decrypted the frame already. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 77c96404a4cf16ffa0720a3fbf45839cc16018ac Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 12 14:40:45 2015 +0200 mac80211: remove key TX/RX counter This counter is inherently racy (since it can be incremented by RX as well as by concurrent TX) and only available in debugfs. Instead of fixing it to be per-CPU or similar, remove it for now. If needed it should be added without races and with proper nl80211, perhaps even addressing the threshold reporting TODO item that's been there since the code was originally added. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0c028b5fd1bd10d5777756e571c6c1971f04062b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jun 12 14:33:54 2015 +0200 mac80211: remove zero-length A-MPDU subframe reporting As there's no driver using this capability and reporting zero-length A-MPDU subframes for radiotap monitoring, remove the capability to free up two RX flags. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit af9f9b22beee70aae58651cdbb9d6375e6e51797 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Jun 11 16:02:32 2015 +0200 mac80211: don't store napi struct When introducing multiple RX queues, a single NAPI struct will not be sufficient. Instead of trying to store multiple, simply change the API to have the NAPI struct passed to the RX function. This of course means that drivers using rx_irqsafe() cannot use NAPI, but that seems a reasonable trade-off, particularly since only two of all drivers are currently using it at all. While at it, we can now remove the IEEE80211_RX_REORDER_TIMER flag again since this code path cannot have a napi struct anyway. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 798a457dfb232535ebc9670082b8dfccdab684ff Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 15:58:22 2015 +0200 mac80211: fix comment referring to RX queue There are no RX queues in mac80211 (yet), the comment should refer to the TID (including one slot for non-QoS) rather than 'RX queue'. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a682849329ad5df5fd13a7b1ab08cbc39df5484b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 15:17:15 2015 +0200 mac80211: move ieee80211_get_bssid into RX file This function is only used in the RX code, so moving it into that file gives the compiler better optimisation possibilities and also allows us to remove the check for short frames (which in the RX path cannot happen, but as a generic utility needed to be checked.) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9ad8b21b742503030d543cd272de6a4eb3e3cc27 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 15:05:57 2015 +0200 mac80211: remove short frame test and counter Short frames less than 16 octets are already blocked in the monitor code by the should_drop_frame() function, and cannot get into the regular RX path. Therefore, this check can never trigger and the counter invariably stays zero. Remove the useless code. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 16bf948081d0ea0f6cdef54b79a0250d4b099970 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 16:10:30 2015 +0200 mac80211: remove sta_info.gtk_idx This struct member is only assigned, never used otherwise; remove it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cf47161ad26c293dd5f98186c0cc45d125da952c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jun 16 16:16:38 2015 +0200 mac80211: rename 'sta_inf' variable to more common 'sta' We typically use 'sta' for the station info struct, and if needed 'pubsta' for the public (driver-visible) portion thereof. Do this in the ieee80211_sta_ps_transition() function. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5c48f1201744233d4f235c7dd916d5196ed20716 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Jun 17 09:58:06 2015 +0200 mac80211: remove exposing 'mfp' to drivers There's no driver using this, so remove it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b1ccc8f4b63109f9e56fadf72274714dfb000123 Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:08 2015 +0200 crypto: poly1305 - Add a four block AVX2 variant for x86_64 Extends the x86_64 Poly1305 authenticator by a function processing four consecutive Poly1305 blocks in parallel using AVX2 instructions. For large messages, throughput increases by ~15-45% compared to two block SSE2: testing speed of poly1305 (poly1305-simd) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 3809514 opers/sec, 365713411 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 5973423 opers/sec, 573448627 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9446779 opers/sec, 906890803 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1364814 opers/sec, 393066691 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2045780 opers/sec, 589184697 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3711946 opers/sec, 1069040592 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 573686 opers/sec, 605812732 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1647802 opers/sec, 1740079440 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 292970 opers/sec, 609378224 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 943229 opers/sec, 1961916528 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 494623 opers/sec, 2041804569 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 254045 opers/sec, 2089271014 bytes/sec testing speed of poly1305 (poly1305-simd) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 3826224 opers/sec, 367317552 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 5948638 opers/sec, 571069267 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9439110 opers/sec, 906154627 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1367756 opers/sec, 393913872 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2056881 opers/sec, 592381958 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3711153 opers/sec, 1068812179 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 574940 opers/sec, 607136745 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1948830 opers/sec, 2057964585 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 293308 opers/sec, 610082096 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 1235224 opers/sec, 2569267792 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 684405 opers/sec, 2825226316 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 367101 opers/sec, 3019039446 bytes/sec Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit da35b22df301128ba2f2238befd6d75067e80315 Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:07 2015 +0200 crypto: poly1305 - Add a two block SSE2 variant for x86_64 Extends the x86_64 SSE2 Poly1305 authenticator by a function processing two consecutive Poly1305 blocks in parallel using a derived key r^2. Loop unrolling can be more effectively mapped to SSE instructions, further increasing throughput. For large messages, throughput increases by ~45-65% compared to single block SSE2: testing speed of poly1305 (poly1305-simd) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 3790063 opers/sec, 363846076 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 5913378 opers/sec, 567684355 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9352574 opers/sec, 897847104 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1362145 opers/sec, 392297990 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2007075 opers/sec, 578037628 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3709811 opers/sec, 1068425798 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 566272 opers/sec, 597984182 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1111657 opers/sec, 1173910108 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 288857 opers/sec, 600823808 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 590746 opers/sec, 1228751888 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 301825 opers/sec, 1245936902 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 153075 opers/sec, 1258896201 bytes/sec testing speed of poly1305 (poly1305-simd) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 3809514 opers/sec, 365713411 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 5973423 opers/sec, 573448627 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9446779 opers/sec, 906890803 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1364814 opers/sec, 393066691 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2045780 opers/sec, 589184697 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3711946 opers/sec, 1069040592 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 573686 opers/sec, 605812732 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1647802 opers/sec, 1740079440 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 292970 opers/sec, 609378224 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 943229 opers/sec, 1961916528 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 494623 opers/sec, 2041804569 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 254045 opers/sec, 2089271014 bytes/sec Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c70f4abef07a99db6654be4f1190bacd69aa4365 Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:06 2015 +0200 crypto: poly1305 - Add a SSE2 SIMD variant for x86_64 Implements an x86_64 assembler driver for the Poly1305 authenticator. This single block variant holds the 130-bit integer in 5 32-bit words, but uses SSE to do two multiplications/additions in parallel. When calling updates with small blocks, the overhead for kernel_fpu_begin/ kernel_fpu_end() negates the perfmance gain. We therefore use the poly1305-generic fallback for small updates. For large messages, throughput increases by ~5-10% compared to poly1305-generic: testing speed of poly1305 (poly1305-generic) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 4080026 opers/sec, 391682496 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 6221094 opers/sec, 597225024 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9609750 opers/sec, 922536057 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1459379 opers/sec, 420301267 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2115179 opers/sec, 609171609 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3729874 opers/sec, 1074203856 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 593000 opers/sec, 626208000 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1081536 opers/sec, 1142102332 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 302077 opers/sec, 628320576 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 554384 opers/sec, 1153120176 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 278715 opers/sec, 1150536345 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 140202 opers/sec, 1153022070 bytes/sec testing speed of poly1305 (poly1305-simd) test 0 ( 96 byte blocks, 16 bytes per update, 6 updates): 3790063 opers/sec, 363846076 bytes/sec test 1 ( 96 byte blocks, 32 bytes per update, 3 updates): 5913378 opers/sec, 567684355 bytes/sec test 2 ( 96 byte blocks, 96 bytes per update, 1 updates): 9352574 opers/sec, 897847104 bytes/sec test 3 ( 288 byte blocks, 16 bytes per update, 18 updates): 1362145 opers/sec, 392297990 bytes/sec test 4 ( 288 byte blocks, 32 bytes per update, 9 updates): 2007075 opers/sec, 578037628 bytes/sec test 5 ( 288 byte blocks, 288 bytes per update, 1 updates): 3709811 opers/sec, 1068425798 bytes/sec test 6 ( 1056 byte blocks, 32 bytes per update, 33 updates): 566272 opers/sec, 597984182 bytes/sec test 7 ( 1056 byte blocks, 1056 bytes per update, 1 updates): 1111657 opers/sec, 1173910108 bytes/sec test 8 ( 2080 byte blocks, 32 bytes per update, 65 updates): 288857 opers/sec, 600823808 bytes/sec test 9 ( 2080 byte blocks, 2080 bytes per update, 1 updates): 590746 opers/sec, 1228751888 bytes/sec test 10 ( 4128 byte blocks, 4128 bytes per update, 1 updates): 301825 opers/sec, 1245936902 bytes/sec test 11 ( 8224 byte blocks, 8224 bytes per update, 1 updates): 153075 opers/sec, 1258896201 bytes/sec Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2546f811ef45fc47fcb65531bea98beeed0c97cc Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:05 2015 +0200 crypto: poly1305 - Export common Poly1305 helpers As architecture specific drivers need a software fallback, export Poly1305 init/update/final functions together with some helpers in a header file. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6692cbc28e88b4cbffaab84b82bfff888c03ed3a Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:04 2015 +0200 crypto: testmgr - Add a longer ChaCha20 test vector The AVX2 variant of ChaCha20 is used only for messages with >= 512 bytes length. With the existing test vectors, the implementation could not be tested. Due that lack of such a long official test vector, this one is self-generated using chacha20-generic. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3d1e93cdf16cfe6f315167c65dc504e467e4681a Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:03 2015 +0200 crypto: chacha20 - Add an eight block AVX2 variant for x86_64 Extends the x86_64 ChaCha20 implementation by a function processing eight ChaCha20 blocks in parallel using AVX2. For large messages, throughput increases by ~55-70% compared to four block SSSE3: testing speed of chacha20 (chacha20-simd) encryption test 0 (256 bit key, 16 byte blocks): 42249230 operations in 10 seconds (675987680 bytes) test 1 (256 bit key, 64 byte blocks): 46441641 operations in 10 seconds (2972265024 bytes) test 2 (256 bit key, 256 byte blocks): 33028112 operations in 10 seconds (8455196672 bytes) test 3 (256 bit key, 1024 byte blocks): 11568759 operations in 10 seconds (11846409216 bytes) test 4 (256 bit key, 8192 byte blocks): 1448761 operations in 10 seconds (11868250112 bytes) testing speed of chacha20 (chacha20-simd) encryption test 0 (256 bit key, 16 byte blocks): 41999675 operations in 10 seconds (671994800 bytes) test 1 (256 bit key, 64 byte blocks): 45805908 operations in 10 seconds (2931578112 bytes) test 2 (256 bit key, 256 byte blocks): 32814947 operations in 10 seconds (8400626432 bytes) test 3 (256 bit key, 1024 byte blocks): 19777167 operations in 10 seconds (20251819008 bytes) test 4 (256 bit key, 8192 byte blocks): 2279321 operations in 10 seconds (18672197632 bytes) Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 274f938e0a01286f465d84d5a3f1565225f4ec4b Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:02 2015 +0200 crypto: chacha20 - Add a four block SSSE3 variant for x86_64 Extends the x86_64 SSSE3 ChaCha20 implementation by a function processing four ChaCha20 blocks in parallel. This avoids the word shuffling needed in the single block variant, further increasing throughput. For large messages, throughput increases by ~110% compared to single block SSSE3: testing speed of chacha20 (chacha20-simd) encryption test 0 (256 bit key, 16 byte blocks): 43141886 operations in 10 seconds (690270176 bytes) test 1 (256 bit key, 64 byte blocks): 46845874 operations in 10 seconds (2998135936 bytes) test 2 (256 bit key, 256 byte blocks): 18458512 operations in 10 seconds (4725379072 bytes) test 3 (256 bit key, 1024 byte blocks): 5360533 operations in 10 seconds (5489185792 bytes) test 4 (256 bit key, 8192 byte blocks): 692846 operations in 10 seconds (5675794432 bytes) testing speed of chacha20 (chacha20-simd) encryption test 0 (256 bit key, 16 byte blocks): 42249230 operations in 10 seconds (675987680 bytes) test 1 (256 bit key, 64 byte blocks): 46441641 operations in 10 seconds (2972265024 bytes) test 2 (256 bit key, 256 byte blocks): 33028112 operations in 10 seconds (8455196672 bytes) test 3 (256 bit key, 1024 byte blocks): 11568759 operations in 10 seconds (11846409216 bytes) test 4 (256 bit key, 8192 byte blocks): 1448761 operations in 10 seconds (11868250112 bytes) Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c9320b6dcb89658a5e53b4f8e31f4c2ee810ec2d Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:01 2015 +0200 crypto: chacha20 - Add a SSSE3 SIMD variant for x86_64 Implements an x86_64 assembler driver for the ChaCha20 stream cipher. This single block variant works on a single state matrix using SSE instructions. It requires SSSE3 due the use of pshufb for efficient 8/16-bit rotate operations. For large messages, throughput increases by ~65% compared to chacha20-generic: testing speed of chacha20 (chacha20-generic) encryption test 0 (256 bit key, 16 byte blocks): 45089207 operations in 10 seconds (721427312 bytes) test 1 (256 bit key, 64 byte blocks): 43839521 operations in 10 seconds (2805729344 bytes) test 2 (256 bit key, 256 byte blocks): 12702056 operations in 10 seconds (3251726336 bytes) test 3 (256 bit key, 1024 byte blocks): 3371173 operations in 10 seconds (3452081152 bytes) test 4 (256 bit key, 8192 byte blocks): 422468 operations in 10 seconds (3460857856 bytes) testing speed of chacha20 (chacha20-simd) encryption test 0 (256 bit key, 16 byte blocks): 43141886 operations in 10 seconds (690270176 bytes) test 1 (256 bit key, 64 byte blocks): 46845874 operations in 10 seconds (2998135936 bytes) test 2 (256 bit key, 256 byte blocks): 18458512 operations in 10 seconds (4725379072 bytes) test 3 (256 bit key, 1024 byte blocks): 5360533 operations in 10 seconds (5489185792 bytes) test 4 (256 bit key, 8192 byte blocks): 692846 operations in 10 seconds (5675794432 bytes) Benchmark results from a Core i5-4670T. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 31d7247da57226e847f0f102a10c27c0722c429b Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:14:00 2015 +0200 crypto: chacha20 - Export common ChaCha20 helpers As architecture specific drivers need a software fallback, export a ChaCha20 en-/decryption function together with some helpers in a header file. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2dce063a31ae6cbaf39964663fc59d10bef38d15 Author: Martin Willi <martin@xxxxxxxxxxxxxx> Date: Thu Jul 16 19:13:59 2015 +0200 crypto: tcrypt - Add ChaCha20/Poly1305 speed tests Adds individual ChaCha20 and Poly1305 and a combined rfc7539esp AEAD speed test using mode numbers 214, 321 and 213. For Poly1305 we add a specific speed template, as it expects the key prepended to the input data. Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 747909223397e11743c81352b3e4fdd29346bbf9 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 12:35:08 2015 +0800 crypto: chacha20poly1305 - Convert to new AEAD interface This patch converts rfc7539 and rfc7539esp to the new AEAD interface. The test vectors for rfc7539esp have also been updated to include the IV. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Tested-by: Martin Willi <martin@xxxxxxxxxxxxxx> commit 6e8ec66c3d9cebcbf71d66f92e40b5d7e1d1f490 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Jul 15 15:28:43 2015 -0700 crypto: rsa - limit supported key lengths Introduce constrains for RSA keys lengths. Only key lengths of 512, 1024, 1536, 2048, 3072, and 4096 bits will be supported. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a990532023b903b10cf14736241cdd138e4bc92c Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Jul 15 15:28:38 2015 -0700 crypto: qat - Add support for RSA algorithm Add RSA support to QAT driver. Removed unused RNG rings. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 28cfaf67e5c1f5b6b0d549eea398f8401a40e566 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Jul 15 15:28:32 2015 -0700 crypto: qat - add MMP FW support to accel engine Add code that loads the MMP firmware Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f3dd7e60d2028b8391dea7a3b214e3083dadf6d6 Author: Pingchao Yang <pingchao.yang@xxxxxxxxx> Date: Wed Jul 15 15:28:26 2015 -0700 crypto: qat - add support for MMP FW Load Modular Math Processor(MMP) firmware into QAT devices to support public key algorithm acceleration. Signed-off-by: Pingchao Yang <pingchao.yang@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 544c436a8ecec2dc162c63116025da0e4e66ea4e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:53:22 2015 +0800 crypto: testmgr - Reenable rfc4309 test Now that all implementations of rfc4309 have been converted we can reenable the test. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cc81565307822a062820da294c17d9f3b6f49ecd Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:53:21 2015 +0800 crypto: nx - Convert ccm to new AEAD interface This patch converts the nx ccm and 4309 implementations to the new AEAD interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2642d6abca9bc3404b7b967914300169135dcd31 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:53:19 2015 +0800 crypto: aes-ce-ccm - Convert to new AEAD interface This patch converts the ARM64 aes-ce-ccm implementation to the new AEAD interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> commit 81c4c35eb61a69c229871c490b011c1171511d5a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:53:18 2015 +0800 crypto: ccm - Convert to new AEAD interface This patch converts generic ccm and its associated transforms to the new AEAD interface. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0bc5a6c5c79a947e47af9655b0e3cc7e7a2bd0ca Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 16:53:17 2015 +0800 crypto: testmgr - Disable rfc4309 test and convert test vectors This patch disables the rfc4309 test while the conversion to the new seqiv calling convention takes place. It also replaces the rfc4309 test vectors with ones that will work with the new IV convention. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit adb8963f27e00273c912a53f28f7af5d14cfd32e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Apr 13 11:43:40 2015 -0300 [media] v4l: vsp1: Don't sleep in atomic context The vsp1_entity_is_streaming() function is called in atomic context when queuing buffers, and sleeps due to a mutex. As the mutex just protects access to one structure field, fix this by replace the mutex with a spinlock. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit df5c3e7c8a87a4384ff7a0adba16baae9a40a566 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jun 19 08:51:22 2015 -0300 [media] v4l: vsp1: Fix plane stride and size checks The checks need to be performed on up to two planes, as the third plane, if present, must have the same stride and size as the second plane. The code incorrectly performs the checks on at least two planes instead of at most two planes, fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e31f8f00bfc081ec1881d92a2dd192aeddf1d9d7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Jun 24 11:28:31 2015 -0300 [media] v4l: xilinx: missing error code We should set "ret" on this error path instead of returning success. Fixes: df3305156f98 ('[media] v4l: xilinx: Add Xilinx Video IP core') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Hyun Kwon <hyun.kwon@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d32d98642de66048f9534a05f3641558e811bbc9 Author: Mats Randgaard <matrandg@xxxxxxxxx> Date: Thu Jul 9 05:45:47 2015 -0300 [media] Driver for Toshiba TC358743 HDMI to CSI-2 bridge The driver is tested on our hardware and all the implemented features works as expected. Missing features: - CEC support - HDCP repeater support - IR support Signed-off-by: Mats Randgaard <matrandg@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: updated copyright year to 2015] [hans.verkuil@xxxxxxxxx: update confusing confctl_mutex comment] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6986a0e2556df3dfb54c624b50b02936bd1e00ef Author: Heloise NH <kernelpatch_update@xxxxxxx> Date: Fri Jul 17 09:42:06 2015 +0800 ALSA: hda: fix kstrdup return value In kstrdup we should return -ENOMEM when it reports an memory allocation failure, while the -ENODEV is referred to a failure in finding the cpu node in the device tree. Signed-off-by: Heloise NH <kernelpatch_update@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bde2b96d6dfb1c14e5d27a4e7e7d492e9be102cd Author: Fabien Dessenne <fabien.dessenne@xxxxxx> Date: Mon Jul 13 06:54:11 2015 -0300 [media] bdisp: fix debug info memory access bdisp_dev->dbg.copy_node shall be a copy of (and not point to) bdisp_ctx->node, since this resource is freed upon driver release. Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 24310279eb2851a2bdef9b267b43b98e252ce435 Author: Fabien Dessenne <fabien.dessenne@xxxxxx> Date: Fri Jul 10 05:29:37 2015 -0300 [media] bdisp: add debug info for RGB24 format Add this missing debug information Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3d8bffe88316c0c8b5edad633fc8a25cae644bb4 Author: Fabien Dessenne <fabien.dessenne@xxxxxx> Date: Fri Jul 10 05:29:22 2015 -0300 [media] bdisp: composing support Support the composing (at VIDEO_CAPTURE) with the _selection API. v4l2-compliance successfully run ("test Composing: OK") Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d3194520e2790591b5fabeb913dd74af908ca160 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 16:11:42 2015 -0300 [media] stk1160: Add frame scaling support This commit implements frame decimation for stk1160, which allows to support format changes instead of a static frame size. The stk1160 supports independent row and column decimation, in two different modes: * set a number of rows/columns units to skip for each unit sent. * set a number of rows/columns units to send for each unit skipped. This effectively allows to achieve different frame scaling ratios. The unit number can be set to either two row/columns sent/skipped, or four row/columns sent/skipped. Since the video format (UYVY) has 4-bytes, using a unit number of two row/columns results in frame color 'shifting', so set to four row/columns sent/skipped. Signed-off-by: Michael Stegemann <michael@xxxxxxxxxxxx> Signed-off-by: Dale Hamel <dale.hamel@xxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 890024ad144902bfa637f23b94b396701a88ed88 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 3 16:11:41 2015 -0300 [media] stk1160: Reduce driver verbosity These messages are not really informational, and just makes the driver's output too verbose. This commit changes some messages to a debug level, removes a really useless "driver loaded" message and finally undefines the DEBUG macro. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f47c9045643f91e76d8a9030828b9fe1cf4a6bcf Author: Benoit Parrot <bparrot@xxxxxx> Date: Mon Jun 29 18:19:06 2015 -0300 [media] media: am437x-vpfe: Requested frame size and fmt overwritten by current sensor setting Upon a S_FMT the input/requested frame size and pixel format is overwritten by the current sub-device settings. Fix this so application can actually set the frame size and format. Fixes: 417d2e507edc ("[media] media: platform: add VPFE capture driver support for AM437X") Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2f8e75d2762496bb2fcea7fa437a3339d2a6d9d4 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jun 29 10:45:56 2015 -0300 [media] adv7604/cobalt: Allow compile test if !GPIOLIB The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency of VIDEO_ADV7604 and VIDEO_COBALT (the latter selects the former) on GPIOLIB if COMPILE_TEST is enabled. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ee5da769b3f238f818045e7630ed9ee3788690bc Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Jul 8 05:47:08 2015 -0300 [media] DocBook media: fix typo in V4L2_CTRL_FLAG_EXECUTE_ON_WRITE Fix small typo (missing 'it') in the documentation for V4L2_CTRL_FLAG_EXECUTE_ON_WRITE. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 86e46aa80d7456663afeac51971d4234dbc59e5d Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Jul 2 10:32:39 2015 -0300 [media] DocBook: fix media-ioc-device-info.xml type The documentation had two media_version entries. The second one was a typo and it should be driver_version instead. Correct this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2cf4090fc8db8f9c2f3778a6a3768357a2b6aa6e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jun 24 13:50:31 2015 -0300 [media] adv7842: Deliver resolution change events to userspace Use the new v4l2_subdev_notify_event() helper function to deliver the resolution change event to userspace via the v4l2 subdev event queue as well as to the bridge driver using the callback notify mechanism. This allows userspace applications to react to changes in resolution. This is useful and often necessary for video pipelines where there is no direct 1-to-1 relationship between the subdevice converter and the video capture device and hence it does not make sense to directly forward the event to the video capture device node. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> [hans.verkuil@xxxxxxxxx: fix obvious mistake: v4l2_event_subdev_unsubscribe -> v4l2_ctrl_subdev_subscribe_event] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6f5bcfc30e1918c6029ebfdc9ed5002d618ab3de Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jun 24 13:50:30 2015 -0300 [media] adv7604: Deliver resolution change events to userspace Use the new v4l2_subdev_notify_event() helper function to deliver the resolution change event to userspace via the v4l2 subdev event queue as well as to the bridge driver using the callback notify mechanism. This allows userspace applications to react to changes in resolution. This is useful and often necessary for video pipelines where there is no direct 1-to-1 relationship between the subdevice converter and the video capture device and hence it does not make sense to directly forward the event to the video capture device node. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> [hans.verkuil@xxxxxxxxx: fix obvious mistake: v4l2_event_subdev_unsubscribe -> v4l2_ctrl_subdev_subscribe_event] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8ae5640f1b4af2e903802f771ba6a8f0c3497cab Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jun 24 13:50:29 2015 -0300 [media] Add helper function for subdev event notifications Add a new helper function called v4l2_subdev_notify_event() which will deliver the specified event to both the v4l2 subdev event queue as well as to the notify callback. The former is typically used by userspace applications to listen to notification events while the later is used by bridge drivers. Combining both into the same function avoids boilerplate code in subdev drivers. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bcae888039d5f0b522e1588c54f95a7612d1723c Merge: 3685bbc bdac2b6 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Jul 17 14:45:31 2015 +0200 Merge branch 'queue/irq/gpio' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into devel commit aef5159ffc6bbf65d77af3a2e5b3d377c7c4f37a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jun 24 13:50:28 2015 -0300 [media] adv7842: Add support for control event notifications Allow userspace applications to subscribe to control change events. This can e.g. be used to monitor the 5V detect control to be notified when a source is connected or disconnected. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0975626d08b623ad42c89a6294b7c2f8391c69af Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jun 24 13:50:27 2015 -0300 [media] adv7604: Add support for control event notifications Allow userspace applications to subscribe to control change events. This can e.g. be used to monitor the 5V detect control to be notified when a source is connected or disconnected. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eb5c144cbbc0ca9bb9a77c7c83fddc87469318de Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jun 17 23:47:30 2015 -0700 pinctrl: qcom: spmi-mpp: Transpose pinmux function The "function" of the MPP driver was inherited from the GPIO driver, but the differences between the two hardware blocks makes both the driver and the device tree binding to be awkward. Instead of overloading the "normal" function with various modes this patch transposes the pinmux function to represent the three operating modes of the MPP (digital, analog and current sink). The properties of pin pairing and DTEST routing is moved to separate properties. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 099f3e4adddc8fe9899fb879053887a95e9aed7d Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Jul 14 23:40:33 2015 -0700 pinctrl: qcom: spmi-mpp: Add support for setting analog output level When the MPP is configured for analog output the output level is selected by the AOUT_CTL register, this patch makes it possible to control this. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bd6eab90073814a3211fc9688c2d59ce369ccff2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Jul 15 00:25:27 2015 +0200 pinctrl: lpc18xx: add support for usb1 pinconf The dedicated USB1 pins can be configured with pull-down and for low power mode (suspend). Add support for this in the pinctrl driver. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d96310aeddc692cf1f06861cf722c4843e0a3f28 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Tue Jul 14 11:17:59 2015 +0100 pinctrl: pinconf: Fix display of configs The function pinconf_dbg_config_print() only prints the configuration of the 1st pin config in an array of pin configurations. Fix this so that all pin configurations in the array are displayed. There are a few places in the code where the pin configs are displayed and so add a helper function to display the pin configs to simplify the code. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 75629981069cf194336426bbbfb03f9c93d7ad67 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Tue Jul 14 11:17:58 2015 +0100 pinctrl: pinconf: Allow groups to be configured via debugfs The function pinconf_dbg_config_write() currently only supports configuring a pin configuration mapping via the debugfs. Allow group mappings to also be configured via the debugfs. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fb8dfda980bdaf178a7addb0a4f68574e390a9d9 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Jun 23 06:20:23 2015 -0300 [media] v4l2-event: v4l2_event_queue: do nothing if vdev == NULL If the vdev pointer == NULL, then just return. This makes it easier for subdev drivers to use this function without having to check if the sd->devnode pointer is NULL or not. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3685bbce2ea6142e81c78e6f3d5b2a1cdc37660e Author: Vitaly Andrianov <vitalya@xxxxxx> Date: Thu Jul 2 14:31:30 2015 -0400 gpio/davinci: add interrupt support for GPIOs 16-31 Interrupts for GPIOs 16 through 31 are enabled by bit 1 in the "binten" register (offset 8). Previous versions of GPIO only used bit 0, which enables GPIO 0-15 interrupts. Signed-off-by: Vitaly Andrianov <vitalya@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Reviewed-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 675a9a9fda4e9b8634e7e93668f4a8c1311c0db4 Merge: 41cc14b bc0195a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jul 17 09:12:19 2015 -0300 Merge tag 'v4.2-rc2' into patchwork Linux 4.2-rc2 We need to backport changeset 31f02455455d, with fixes a bug at include/linux/compiler.h that breaks sparse. * tag 'v4.2-rc2': (221 commits) Linux 4.2-rc2 Revert "drm/i915: Use crtc_state->active in primary check_plane func" freeing unlinked file indefinitely delayed fix a braino in ovl_d_select_inode() 9p: don't leave a half-initialized inode sitting around tick/broadcast: Prevent NULL pointer dereference selinux: fix mprotect PROT_EXEC regression caused by mm change parisc: Fix some PTE/TLB race conditions and optimize __flush_tlb_range based on timing results stifb: Implement hardware accelerated copyarea nfit: add support for NVDIMM "latch" flag nfit: update block I/O path to use PMEM API tools/testing/nvdimm: add mock acpi_nfit_flush_address entries to nfit_test tools/testing/nvdimm: fix return code for unimplemented commands tools/testing/nvdimm: mock ioremap_wt pmem: add maintainer for include/linux/pmem.h Revert "Input: synaptics - allocate 3 slots to keep stability in image sensors" arm64: entry32: remove pointless register assignment MIPS: O32: Use compat_sys_getsockopt. MIPS: c-r4k: Extend way_string array MIPS: Pistachio: Support CDMM & Fast Debug Channel ... commit 41cc14ba11d7d8532ef4f615c39eb6ebdcdeef61 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:32:44 2015 -0300 [media] ttusb-dec: use swap() in swap_bytes() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2563606ce45314bfeae811edfa9984b1921fff06 Merge: 0154031 b17d1bf Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Jul 17 13:44:15 2015 +0200 Merge tag 'gpiod-flags-for-4.3' of git://git.pengutronix.de/git/ukl/linux into devel The last patch in this series makes the flags parameter for the various gpiod_get* functions mandatory and so allows to remove an ugly cpp hack introduced in commit 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) for v3.17-rc1. The other nine commits fix the last remaining users of these functions that don't pass flags yet. (Only etraxfs-uart wasn't fixed; this driver's use of the gpiod functions needs fixing anyhow.) commit bf1fc23c80e61695e8e899354d17549a4946a9d0 Merge: fa26e4d 322dfa6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 17 12:42:48 2015 +0100 Merge branch 'fix/88pm800' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-88pm800 Conflicts: drivers/regulator/88pm800.c commit 96f0e00378d4a1fc1b79933ef84e1595015de808 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 3 23:57:13 2014 +0100 ARM: add basic support for on-demand backtrace of other CPUs As we now have generic infrastructure to support backtracing of other CPUs in the system on lockups, we can start to implement this for ARM. Initially, we add an IPI based implementation, as the GIC code needs modification to support the generation of FIQ IPIs, and not all ARM platforms have the ability to raise a FIQ in the non-secure world. This provides us with a "best efforts" implementation in the absence of FIQs. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4d7489ffba0aef4d2c708b6ff1428efd6ccf41df Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jul 10 21:47:36 2015 +0100 nmi: x86: convert to generic nmi handler Convert x86 to use the generic nmi handler code which can be shared between architectures. Reviewed-and-tested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b2c0b2cbb282f0cf42518ffacbe197e6f2884168 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 3 23:57:13 2014 +0100 nmi: create generic NMI backtrace implementation x86s NMI backtrace implementation (for arch_trigger_all_cpu_backtrace()) is fairly generic in nature - the only architecture specific bits are the act of raising the NMI to other CPUs, and reporting the status of the NMI handler. These are fairly simple to factor out, and produce a generic implementation which can be shared between ARM and x86. Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9fc114c5d7af6cfb72a2d983e16b83161716d6d0 Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Fri Jul 17 11:33:12 2015 +0800 ASoC: rt5645: Add regulator support This adds basic regulator support for rt5645. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5168c5476a07233ecafaed0effaa59859327e366 Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Fri Jul 17 11:33:11 2015 +0800 ASoC: rt5645: Fix missing free_irq The driver does not free irq when snd_soc_register_codec returns error. It does not return error when request irq failed, either. Add return when request irq failed, and free_irq if snd_soc_register_codec failed. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 582edace0b2af5f5fd44446ff6651a23417f1aee Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Fri Jul 17 10:58:40 2015 +0800 ASoC: rt5645: Remove unused rt5645 variable "ASoC: rt5645: Simplify rt5645_enable_push_button_irq" removes the test that accessed rt5645->pdata.jd_mode (that test is now done in rt5645_jack_detect only), so we do not need that variable anymore. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 42d1b8ce2973c2f5956f4d4e4af002986ccc5748 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Jul 17 10:54:49 2015 +0800 ASoC: Constify dev_pm_ops variables The dev_pm_ops variables are not modified after initialization in these drivers, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b471e7f2ec5a8673e1b5385307357f3dba62f451 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 9 17:13:07 2015 +0200 ARM: ep93xx: add framebuffer to the defconfig The EP93xx SoC has a framebuffer driver, let's add this to the defconfig so we can have graphics working out of the box. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0466b0cc6e238d280fa189417c8fc33271dfc776 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 9 17:12:00 2015 +0200 ARM: ep93xx: add DMA engine to the defconfig Several boards can make use of the DMA engine on the EP93xx so let's enable this by default in the defconfig. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d74485eb90cd4a2f81bba48d3ac04113faef3cab Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 9 17:10:44 2015 +0200 ARM: ep93xx: add GPIO I2C to defconfig Some of the EP93xx boards have I2C devices on bit-banged GPIO I2C, so add this to the defconfig. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4abdd63925f2e21448fca0fbbb1077a1407937c2 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jun 16 10:34:46 2015 +0200 ARM: ep93xx: add LEDs and triggers to defconfig The EP93xx has two designated LEDs (not always connected): a green and a red one. These are registered in the core, so let's enable the driver and some triggers. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7dc2753b70830054a9c079492e30c1a6c2feb62b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jun 16 09:26:45 2015 +0200 ARM: ep93xx: enable SIM.ONE MMC/SD hardware The SIM.ONE has a MMC card connected to the SPI host. This card usually hosts an EXT4 root file system. Enable these options in the defconfig so the default ompiled kernel will work out-of-the-box. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8430f7f9d7d62e0fcc97a033234cab54993641ff Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jun 16 09:25:27 2015 +0200 ARM: ep93xx: enable all boards in the EP93xx defconfig With PATCH_PHYS_TO_VIRT we can support all EP93xx variants in a single image, so enable all board variants in the defconfig for simplicity and build coverage. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3484550d6260a0ffe23976c63c0cfe4142fd1142 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 15 15:00:19 2015 +0200 ARM: ep93xx: activate NO_HZ and high-res timers Let's set the EP93xx to NO_HZ mode and activate the high-res timers now that we have GENERIC_CLOCKEVENTS. Tested-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 109965a32b67cf45951f4fcb92c8d606c0474619 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jul 9 16:56:40 2015 +0200 ARM: ep93xx: simone: enable DMA on the SPI host The SPI host on the SIM.ONE is used for the MMC/SD card and will badly need this turbo boost. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b07b4e2972372c1ca86dda78802aecc01cbc187a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 09:52:47 2015 -0700 ARM: ep93xx: vision_ep9307: add audio support Add I2S audio support to the vision_ep9307 system. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 25105231f071960c0f7109f0e01ba55c7b823701 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 09:52:46 2015 -0700 ARM: ep93xx: vision_ep9307: enable DMA for SPI Enable the 'use_dma' flag in the SPI platform data to improve the speed of the mmc_spi driver. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e8a7d2bb93f8b713b0536ef6f86b745b288fa96f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Jun 18 16:46:34 2015 +0200 ARM: ep93xx: toss the device ID into the entropy pool It doesn't hurt to add this random stuff into the entropy pool as is custom to do with device-unique numbers. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b8824c9a54bb380367541718b50f03cb08524c8d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Jun 15 10:35:06 2015 -0700 ARM: ep93xx: remove memory configuration options The ARM_PATCH_PHYS_VIRT option makes the ep93xx memory configuration options obsolete. This allows support for all the ep93xx variations to be built into a single kernel. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8ed3912e17973e48701f65efe4493811914fc5fe Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jun 16 09:00:44 2015 +0200 ARM: ep93xx: update comment on timer usage When refactoring the EP93xx timer some of the documentation git out of date. Update it. Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9a98b3387e7bd9af5a6495b32e07d6f25071f4ba Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Thu Jul 16 17:14:00 2015 -0700 HID: rmi: Set F01 interrupt enable register when not set A firmware bug in some touchpads causes the F01 interrupt enable register to be cleared on reset. This register controls which RMI functions generate interrupts and when it is cleared, the touchpad stops reporting all data. This patch looks for the cleared F01 control register and writes the correct value based on interrupt mask computed while scanning the PDT. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91102 Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 2bdd163cfd262914e8f6152e37aebea2034f801e Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Jul 13 18:03:45 2015 -0700 HID: wacom: Set default device name to value from wacom->features Allocated input devices should not use the 'pen_name' by default since we do not know at that point in time if that is an appropriate choice of name. Instead, use the (tool-agnostic) name that is stored in the device's 'wacom_features' structure. This also has the nice side-effect of requring us to be explicit about the naming of the pen device, as we already are for touch and pad devices. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d9f2d203ab42f099b32ec4580e43eb08b3e4c412 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Jul 13 18:03:44 2015 -0700 HID: wacom: Properly free inputs if 'wacom_allocate_inputs' fails The 'wacom_allocate_inputs' function tries to allocate three input devices: one each for the pen, touch, and pad. The pointers that are returned by the 'wacom_allocate_input' calls are temporarily stored to local variables where they are checked to ensure they're non-null before storing them in the 'wacom_wac' structure. If an allocation fails, the 'wacom_free_inputs' function is called to reclaim the memory. Unfortunately, 'wacom_free_inputs' is called prior to the pointers being copied, so it is not actually able to free anything. This patch has the calls to 'wacom_allocate_input' store the pointer directly in the 'wacom_wac' structure where they can be freed. Also, it replaces the call to 'wacom_free_inputs' with the (more general) 'wacom_clean_inputs' and removes the no-longer-used function. [jkosina@xxxxxxxx: modify to resolve conflict with 67e123f ("Delete unnecessary checks")] Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 57f7e160a137f8ddae455f15abed9bdd1b90ab63 Merge: 70caee0 3eb4351 Author: Jiri Kosina <jkosina@xxxxxxxx> Date: Fri Jul 17 11:19:37 2015 +0200 Merge branch 'for-4.3/upstream' into for-4.3/wacom There is a conflict between 67e123f ("Delete unnecessary checks") sitting in for-4.3/upstream and memory allocation failure handling from Jason Gerecke. Pull this so that conflict could be resolved. Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit ad64498762dd6f262f8c7c37926cd56693e109ba Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 18:09:30 2015 -0700 pinctrl: qcom: Hook pm_power_down for shutdown support Assign pm_power_off() if we have the PS_HOLD functionality so that we can properly shutdown the SoC. Otherwise, shutdown won't do anything besides put the CPU into a tight loop. Unfortunately, we have to use a singleton here because pm_power_off() doesn't take any arguments. Fortunately there's only one instance of the pinctrl device on a running system so this isn't a problem. Cc: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 015403145a65f0a0f7c4d9badfb12759349d1e13 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Thu Jul 9 22:19:53 2015 +0900 gpio: etraxfs: Fix devm_ioremap_resource return value check Value returned by devm_ioremap_resource() was checked for non-NULL but devm_ioremap_resource() returns IOMEM_ERR_PTR, not NULL. In case of error this could lead to dereference of ERR_PTR. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4b0c8bb016e7f36e2d6ec230f9177f88def690d5 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jul 16 17:08:09 2015 +0100 drm/i915/skl: Drop the preliminary_hw_support flag Time to light a candle and remove the preliminary_hw_support flag. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit edd43ed8cebafd29cc24e4798cdf0412c668e644 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jul 16 17:08:08 2015 +0100 drm/i915/skl: Don't expose the top most plane on gen9 display on SKL/BXT, the top most plane hardware is shared between the legacy cursor registers and an actual plane. Daniel and Ville don't want to expose 2 DRM planes and would rather expose a CURSOR plane that has all the usual plane properties, and that's a blocker for lifting the prelimary_hw_support flag. Unfortunately noone has had the time to finish this yet, but lifting the prelimary_hw_support flag is long overdue. As an intermediate solution we can merely not expose the top most plane Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 661abfc028886eb1c6b5b9dbc433ef8cfb11217d Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jul 16 19:36:51 2015 +0300 drm/i915: Fix divide by zero on watermark update Fix divide by zero if we end up updating the watermarks with zero dotclock. This is a stop gap measure to allow module load in cases where our state keeping fails. v2: WARN_ON added (Paulo) Cc: Paulo Zanoni <przanoni@xxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f9fe4b9b2ad4f2b801fdff3d634b07c9f9fc4327 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Jul 1 17:12:46 2015 +0530 drm/mgag200: remove unneeded variable ttm_bo_validate() returns 0 or error. So we can return the value directly and remove the variable 'ret'. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 546aee51ecacf6605b15f6a2580926f956dc5a3e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Jul 1 17:12:45 2015 +0530 drm/mgag200: remove unused variables These variables were assigned some values but they were never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10dca88a4be632678088f5cbc20b54c2113ecb91 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/orion/time: Migrate to new 'set-state' interface Migrate orion driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Gregory Clement <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 8d778377e598bd78d4ce788b20b1c74777c5d137 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/iop/time: Migrate to new 'set-state' interface Migrate iop driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 6c724d4388997588f38587213ce1ab7d3925b87c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/w90x900/time: Migrate to new 'set-state' interface Migrate w90x900 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Wan ZongShun <mcuos.com@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 7639c0b8b3d5e061253936ed5279ff674be238cb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/SPEAr/time: Migrate to new 'set-state' interface Migrate SPEAr driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also kill the unnecessary forward declaration of set-mode routine by moving 'struct clock_event_device clkevt' towards the bottom of the file. Cc: Shiraz Hashim <shiraz.linux.kernel@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 74364615a643f65b6de9faa4112365e4880c7047 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/omap2/timer: Migrate to new 'set-state' interface Migrate omap2 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 69ec063f6018b5931974e7c4ac7a24b1a075ca25 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/omap1/timer32: Migrate to new 'set-state' interface Migrate omap timer32 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 29105e102085a9c1a1eea4f634db2890aca884b8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/omap1/time: Migrate to new 'set-state' interface Migrate omap driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit c22437b78e77ae05768d77d44bb5651ac7ef5da9 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/netx/time: Migrate to new 'set-state' interface Migrate netx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We aren't writing zero twice on the control register for shutdown or resume state now. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit a785fb39e1b7070da5d53a7d09b140c80c31974e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/mmp/time: Migrate to new 'set-state' interface Migrate mmp driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in set_mode(RESUME) except of local_irq_{save|restore}(), which isn't required and so ->tick_resume isn't implemented. Cc: Eric Miao <eric.y.miao@xxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 9325a3a896b611454f6ab3dcedf69c5799dd5617 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/lpc32xx/timer: Migrate to new 'set-state' interface Migrate lpc32xx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Roland Stigge <stigge@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 7cfa3c69ca97acfd7cac19652d82aa610015bab8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/ks8695/time: Migrate to new 'set-state' interface Migrate ks8695 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. There is nothing to be done for oneshot or shutdown states and so are not implemented. Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit cea50eeef15c8498181c4a1ff804a7cdef29aebb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/ixp4xx/timer: Migrate to new 'set-state' interface Migrate ixp4xx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. NOTE: ixp4xx_set_{oneshot|periodic} don't perform read operation on 'IXP4XX_OSRT1' register anymore. Cc: Imre Kaloz <kaloz@xxxxxxxxxxx> Acked-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 3200579fafb0400cd098e939ec664638d38e2bc9 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/imx/epit: Migrate to new 'set-state' interface Migrate imx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also drop 'clockevent_mode': It was caching the last state of the clockevent device. The same behavior can be achieved by using clockevents state helpers. These helpers are only required for oneshot mode as shutdown/resume wouldn't be done twice by the core. Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit e2efda24804234c83e17172a2525641dd6b690bc Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/gemini/time: Migrate to new 'set-state' interface Migrate gemini driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 947d9cf53f5c9c4dfbbffe68f07dd4d02da2093d Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/dc21285-timer: Migrate to new 'set-state' interface Migrate footbridge driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit bc660a454f7899f21f2106be1a16e8d006dd2dba Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/davinci/time: Migrate to new 'set-state' interface Migrate davinci driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in set_mode(RESUME) and so .tick_resume() isn't implemented. Cc: Sekhar Nori <nsekhar@xxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 9bdc2e0c9a45b2b5f4de9927562305475ecb9b55 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/cns3xxx/timer: Migrate to new 'set-state' interface Migrate cns3xxx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. NOTE: We don't read TIMER1_2_CONTROL_OFFSET register on shutdown anymore. Acked-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 5e2535710ee3fa2807406ea75eb4381f85b29b0b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Feb 27 13:39:52 2015 +0530 ARM/smp_twd: Migrate to new 'set-state' interface Migrate smp_twd driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit f2da4542268503d22869617b7dbcb40d364c78bb Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Jul 17 07:44:09 2015 +0800 ASoC: sti: sti_uniperiph_dai_create_ctrl() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 821e79cb5686695f0adaef61587a184e953a937e Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 16 16:54:14 2015 +0900 ARM: shmobile: Remove marzen_defconfig Now when the Marzen legacy board code is removed also get rid of the marzen_defconfig file. Existing users shall move over to shmobile_defconfig. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ba88d4338f226766f510e207911dde8c1875e072 Author: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Date: Tue Jul 14 09:46:23 2015 -0700 intel_pstate: enable HWP per CPU HWP previously was only enabled at driver load time, on the boot CPU, however, HWP must be enabled per package. Move the code to enable HWP to the cpufreq driver init path so that it will be called per CPU. Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Tested-by: David Zhuang <david.zhuang@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3a5f5b2e3b4ba165e342c4e969c7fa8d85be0d94 Author: Cristian Ardelean <cristian97.ardelean@xxxxxxxxx> Date: Fri Jul 10 14:42:15 2015 -0400 cpufreq: integrator: fixed coding style issues Fixed coding style issues found by checkpatch.pl tool. Changed space indentation to tab, removed unneccesary braces, removed space between MODULE macros and parentheses. REMARKS: failed to 'make' this file with error message 'fatal error: asm/mach-types.h: No such file or directory'. Signed-off-by: Cristian Ardelean <cristian97.ardelean@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8cfcfd39000d54188e0df1e0fafe63f53897b62a Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Fri Jul 10 14:36:20 2015 +0800 acpi-cpufreq: Fix an ACPI perf unregister issue As policy->cpu may not be same in acpi_cpufreq_cpu_init() and acpi_cpufreq_cpu_exit(). There is a risk that we use different CPU to un/register ACPI performance. So acpi_processor_unregister_performance() may not be able to do the cleanup work. That causes a memory leak. And if there will be another acpi_processor_register_performance() call, it may also fail thanks to the internal check of pr->performace. So add a new struct acpi_cpufreq_data field, acpi_perf_cpu, to fix this issue. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7f0fa40f5a587c2a026de776cc6a26373ac0f244 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 8 15:12:16 2015 +0530 cpufreq: Properly handle errors from cpufreq_init_policy() cpufreq_init_policy() can fail, and we don't do anything except a call to ->exit() on that. The policy should be freed if this happens. Do it properly. Reported-and-tested-by: "Jon Medhurst (Tixy)" <tixy@xxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8101f99703048ceaa31c756abe1098d099249ad9 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Jul 8 15:12:15 2015 +0530 cpufreq: cpufreq_add_dev: name goto labels based on what they do These labels are are named in two ways normally: - Based on what caused to jump to such labels - Based on what we do under such labels We follow the first naming convention today and that leads to multiple labels for doing the same work. Fix it by switching to the second way of naming them. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit eb0b3e78e6290e5a1bf970830939d5c8c9151892 Author: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Date: Tue Jul 7 20:43:26 2015 +0800 acpi-cpufreq: replace per_cpu with driver_data of policy Drivers can store their internal per-policy information in policy->driver_data, lets use it. we have benefits after this replacing. 1) memory saving. 2) policy is shared by several cpus, per_cpu seems not correct. using *driver_data* is more reasonable. 3) fix a memory leak in acpi_cpufreq_cpu_exit. as policy->cpu might change during cpu hotplug. So sometimes we cant't free *data*, use *driver_data* to fix it. 4) fix a zero return value of get_cur_freq_on_cpu. Only per_cpu of policy->cpu is set to *data*, if we try to get cpufreq on other cpus, we get zero instead of correct values. Use *driver_data* to fix it. Signed-off-by: Pan Xinhui <xinhuix.pan@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 97a859641ba1a5d7adf547ab971ab1867b467493 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 23:24:10 2015 +0200 PCI/keystone: Prepare irq handlers for irq argument removal Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5168a73ce32d38170a943aab4ff3402e2ddce641 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:05 2015 +0200 PCI/keystone: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Murali Karicheri <m-karicheri2@xxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: linux-pci@xxxxxxxxxxxxxxx Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> commit 40b6d3faef73e6a877fe157f48df1af90bddd9e5 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:23 2015 +0800 PCI/keystone: Use irq_data_get_msi_desc() to avoid redundant lookup of irq_data Use irq_data_get_msi_desc() to avoid redundant lookup of irq_data while we already have a pointer to corresponding irq_data. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Murali Karicheri <m-karicheri2@xxxxxx> Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 507a883ed5396825b88631b06cd27e050f5aa8fe Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:42 2015 +0800 treewide: Use helper function to access irq_data->msi_desc Use irq_data access helper to access irq_data->msi_desc, so we can move msi_desc from struct irq_data into struct irq_common_data later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c391f262bee9d0d6424a99c85183a06c50e307ee Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:41 2015 +0800 genirq: Rename irq_data_get_msi() as irq_data_get_msi_desc() Rename irq_data_get_msi() as irq_data_get_msi_desc() to keep consistency with other irq_data access helpers. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 78edead4494219640d9fdf37d76beae24f79de9e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:16:37 2015 +0000 ASoC: rsnd: tidyup SRC position on each code This is cleanup for CTU/MIX support Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5cbbadd3d507eeb7711266e3932f4c427cbcbd61 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:16:19 2015 +0000 ASoC: rsnd: add rsnd_io_to_mod() Sometimes we would like to get each module directly, especially data path searching. this patch adds rsnd_io_to_mod() macro, and existing rsnd_io_to_mod_xxx() use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ddea1b2e83c379840aa54fadc587e418cf986ccb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:16:03 2015 +0000 ASoC: rsnd: dma: add DMA name on .ops Current rsnd driver is using Audio DMAC (via DMAEngine) and Audio DMAC peri peri (via original method), and usage of these DMAC are different. Indicates its naming is useful for debugging. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9469b8b6092d347ef8a5fa9d2d7dde4c857a0994 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:15:47 2015 +0000 ASoC: rsnd: check the Gen1 at the beginning of DVC probe DVC doesn't support Gen1, check it beginning of probe Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 98d358af07aa6fc4cd6cdfd3256ab792eb3675cd Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:15:27 2015 +0000 ASoC: rsnd: tidyup rsnd_dma_ops definition place rsnd_dma_ops is used only from dma.c, rsnd.h doesn't need it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 84e95355602c59865be8a3bd18cd2f0b3863b4cb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:15:10 2015 +0000 ASoC: rsnd: show debug message for SSI/SRC/DVC connection It can help for connection debug Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4689032b11d1af10e5eb755eb575f9761a455a72 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:14:47 2015 +0000 ASoC: rsnd: tidyup data align position Sound L/R order of SSI is different from Linux sound data order. So current rsnd driver is using DALIGN (= data align) to exchange data align on SSIU. OTOH, CMD/SRC/SSIU have DALIGN register. Now inverted sound volume will be exchanged if user used volume control on DVC. Because SSIU which exchanges data align is located after DVC. MEM -> SRC -> DVC -> SSI This patch exchanges data align SRC if possible Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bfe1360d79210f9c1d330a07c26a8d5cb202159d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:14:29 2015 +0000 ASoC: rsnd: add rsnd_get_adinr_chan() Current rsnd driver has rsnd_get_adinr_bit() to get bit settings for ADINR (= Audio Information Register) of SSIU/SRC/DVC. This patch adds rsnd_get_adinr_chan() to get channel settings for ADINR (= Audio Information Register) of CTU/MIX. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3023b384d0c9da49028131b91fe64b24b5b84e6d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:14:05 2015 +0000 ASoC: rsnd: tidyup ADINR function name Renesas sound IP (= SSIU/SRC/CTU/MIX/DVC) have ADINR (= Audio Information Register), but some of them (= SSIU/SRC/DVC) are for audio data bits, some of them (= CTU/MIX) are for audio data channels. Current rsnd driver is supporting SSIU/SRC/DVC, and these ADINR were for bits. This patch rename rsnd_get_adinr() to rsnd_get_adinr_bit(), and we will have rsnd_get_adinr_chan() for CTU/MIX. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d1ade514e84ea55cba999edb04cb88daa4da94b8 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:13:47 2015 +0000 ASoC: rsnd: add rsnd_src_initialize_lock/unlock() Renesas SCU (Sampling Rate Convert Unit) includes SRC/CTU/MIX/DVC, and these have similar register. xxxIR (Initialization Register) is one of them. These xxxIR need be set to 1 during initialization. Current rsnd driver has src.c / dvc.c, and we will have mix.c. It is readable if these have same named function. This patch adds rsnd_src_initialize_lock/unlock() and make sure it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3bb3d363e50d371289f0bd63b48da771ea807c02 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:13:29 2015 +0000 ASoC: rsnd: add rsnd_dvc_initialize_lock/unlock() Renesas SCU (Sampling Rate Convert Unit) includes SRC/CTU/MIX/DVC, and these have similar register. xxxIR (Initialization Register) is one of them. These xxxIR need be set to 1 during initialization. Current rsnd driver has src.c / dvc.c, and we will have mix.c. It is readable if these have same named function. This patch adds rsnd_dvc_initialize_lock/unlock() and make sure it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2c08416196bd10a6575057fdd1347a307ce3a15 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:13:10 2015 +0000 ASoC: rsnd: add rsnd_path_parse() for CTU/MIX/DVC route setting Current sound data route settings is done in dvc.c, and it doesn't care about CTU/MIX at this poinnt, but we need to care about these. OTOH, rsnd driver already has rsnd_path_xxx() functions for data path which are good match for CTU/MIX/DVC path selectio. This patch adds new rsnd_path_parse() to select sound data route which will care about CTU/MIX/DVC path. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c8cf15f64f8ddb3169987c2f26df3341b8556296 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:12:52 2015 +0000 ASoC: rsnd: rename rsnd_path_parse/break() into add/remove parse/break is a little ambiguous/confusable name for rsnd module path. Especially for CTU/MIX support. It was renamed to add/remove Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d6f8d5b4422a5a391c02df97af9ef7da5a929d71 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:12:36 2015 +0000 ASoC: rsnd: enable module multi connection '8a4e379b54f8("ASoC: rsnd: remove io from rsnd_mod")' removed mod/io relationship. rsnd_dai_connect() mod/io check is no longer needed Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 379febfd2e30ec8db5baccd9f9403bf650c6afa1 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:12:18 2015 +0000 ASoC: rsnd: src: make sure SRC soft reset Renesas SCU (Sampling Rate Convert Unit) includes SRC/CTU/MIX/DVC, and these have similar register. xxxRSR (Software reset Register) is one of them. These xxxRSR need be set to 1 to 0 when software reset. Current rsnd driver has src.c / dvc.c, and we will have mix.c. It is readable if these have same named function. This patch adds rsnd_src_soft_reset() and make sure it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 636e4bad5cca947839c09d3e13ad6feeb7fa45da Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:12:00 2015 +0000 ASoC: rsnd: dvc: make sure DVC soft reset Renesas SCU (Sampling Rate Convert Unit) includes SRC/CTU/MIX/DVC, and these have similar register. xxxRSR (Software reset Register) is one of them. These xxxRSR need be set to 1 to 0 when software reset. Current rsnd driver has src.c / dvc.c, and we will have mix.c. It is readable if these have same named function. This patch adds rsnd_dvc_soft_reset() and make sure it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da599fd34b1f2f14f2c387e6b3a909f9ff519c8a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:11:21 2015 +0000 ASoC: rsnd: move SRC specific macro into src.c rsnd_src_nr() is used only from src.c Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4f35fabaa30b116d549d95fe7dae907510c71862 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:11:02 2015 +0000 ASoC: rsnd: move DVC specific macro into dvc.c rsnd_dvc_nr() is used only from dvc.c Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 72413c107e81386a7da438bcf888ee2af5d3b72f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:10:43 2015 +0000 ASoC: rsnd: rsnd_mod_id() return -1 if mod was NULL enabling to use same method for exception case is useful. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1a1bf58aafd09b3cb148eead3d709e2d7974a1f3 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:10:22 2015 +0000 ASoC: rsnd: add workaround for SRC sync convert + DVC We couldn't use SRC sync convert mode together with DVC, but we can use workaround for it. This patch adds workaround and can use SRC sync convert + DVC Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a48e3f9747fd62b385221a892cd4726b82dacd11 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:10:04 2015 +0000 ASoC: rsnd: fixup each module counter on __rsnd_mod_call() '5451ea443b ("ASoC: rsnd: count each mod (SSI/SRC/DVC)")' counts each module's callback status, but counts 1st callback only. This patch fixup it. Otherwise, multi-called function will be trouble Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit efa991dc9143815179fd55a88e846cc39792608c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:09:47 2015 +0000 ASoC: rsnd: rename INT_ENABLE to SSI_INT_ENABLE based on datasheet Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cdde84d10d3cb4d35051bc5fdb268f6faf33d1c8 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:09:27 2015 +0000 ASoC: rsnd: rename BUSIF_DALIGN to SSI_BUSIF_DALIGN based on datasheet Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6abcae32ea68899bfd4b770433860a71f8c3500b Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:09:07 2015 +0000 ASoC: rsnd: remove unnecessary 'out of memory' message from DVC Current checkpatch.pl indicates 'out of memory' message is unnecessary. Let's remove it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 33363f7a18f3baaa04b678aac8819c43296c8c9c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:08:44 2015 +0000 ASoC: rsnd: remove unnecessary 'out of memory' message from SRC Current checkpatch.pl indicates 'out of memory' message is unnecessary. Let's remove it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit afa700729646761f58cc068d86a37e09a70e4cf6 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:08:24 2015 +0000 ASoC: rsnd: remove unnecessary 'out of memory' message from SSI Current checkpatch.pl indicates 'out of memory' message is unnecessary. Let's remove it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b7419dd73606118b8797d49b53a9fbe2e2dfa863 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:08:05 2015 +0000 ASoC: rsrc-card: use snd_soc_of_parse_audio_route/prefix for routing using common audio routing path method makes sense. Let's use snd_soc_of_parse_audio_route/prefix. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 904e8b0b3074a570b6e714fbc3db72441f313638 Merge: 7b47ab4 5e3cdaa Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Jul 16 22:04:17 2015 +0100 Merge branch 'topic/of-name' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rcar commit 2de9d6006c190bb0f706e8404de94cd94293801f Author: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 16:36:22 2015 +0100 regmap: Apply optional delay in multi_reg_write/register_patch Add an optional delay_us field in reg_sequence to allow the client to specify a delay (in microseconds) to be applied after any given write in a sequence of writes. We treat a delay in a sequence the same way we treat a page change as they are logically similar in that you can coalesce all write before a delay (in the same way you can coalesce all writes before a page change is needed) Signed-off-by: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8019ff6cfc0440415fcfb6352c58c3951e6ab053 Author: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 16:36:21 2015 +0100 regmap: Use reg_sequence for multi_reg_write / register_patch Separate the functionality using sequences of register writes from the functions that take register defaults. This change renames the arguments in order to support the extension of reg_sequence to take an optional delay to be applied after any given register in a sequence is written. This avoids adding an int to all register defaults, which could substantially increase memory usage for regmaps with large default tables. This also updates all the clients of multi_reg_write/register_patch. Signed-off-by: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5e3cdaa20816dd2fe4dc17d06a9f0dae0abc930c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 07:07:42 2015 +0000 ASoC: core: add snd_soc_of_parse_audio_prefix() Current ASoC can add name_prefix for DAPM, and it is necessary for route settings. This patch adds snd_soc_of_parse_audio_prefix() for this purpose. It will be used with snd_soc_of_parse_audio_routing(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Keita Kobayashi <keita.kobayashi.ym@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e40da86a37f64c73b810bc7a63d77c44dc61accb Author: Tim Howe <tim.howe@xxxxxxxxxx> Date: Thu Jul 16 14:51:40 2015 -0500 ASoC: cs4349: Add support for Cirrus Logic CS4349 Signed-off-by: Tim Howe <tim.howe@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9fc0fd6b052be4390138bb6c4bae07d6b7e1aa66 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:42:21 2015 +0200 irqchip/spear-shirq: Prepare shirq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 71093eb2cf720a1eded53c0711c4fa691185e82c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:41:39 2015 +0200 irqchip/versatile-fpga: Prepare fpga_irq_handle for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit e616e9af87206dfd00753c1546388210fe5d0002 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:40:58 2015 +0200 irqchip/tb10x: Prepare tb10x_irq_cascade for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 4df18a668c45d2069d731eccb75b7558052c8718 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:39:29 2015 +0200 irqchip/s3c24xx: Prepare s3c_irq_demux for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 14873aa1d1c97a11cec57ae1345da467d4b6d4d7 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:38:51 2015 +0200 irqchip/mmp: Prepare icu_mux_irq_demux for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 283653a368f49773ee7242e2a03227d7de5d3a7e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:38:07 2015 +0200 irqchip/keystone: Prepare keystone_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 99705f995a704fdf8625464d70ef5c5750ea55e2 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:37:28 2015 +0200 irqchip/imgpdc: Prepare pdc_intc_perip_isr for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 00db2ae52a78f6ba23c16c22696da59f4f2a4da0 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:35:20 2015 +0200 irqchip/brcmstb-l2: Prepare brcmstb_l2_intc_irq_handle for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 77b563ed06a63e59ce1bf2803170898e852b3866 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Jul 16 22:21:39 2015 +0200 irqchip/exynos: Prepare combiner_handle_cascade_irq for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> commit 28f3b6f113186ff69bdc5e63126ae7fd5e35a138 Author: Omair M Abdullah <omair.m.abdullah@xxxxxxxxx> Date: Fri Jul 10 22:18:45 2015 +0530 ASoC: Intel: Skylake: Print error code in IPC for SKL Signed-off-by: Omair M Abdullah <omair.m.abdullah@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a750ba5f5a564732ed2be87de836a5a74f9cc586 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Jul 10 22:18:44 2015 +0530 ASoC: Intel: Skylake: Add SKL DSP initialization This adds the dsp and ipc initialization for the Skylake platform. It also requests firmware and uses code loader dma to load it. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6cb0033380ec6297589e68bfcf19aeda7ba95e99 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Jul 10 22:18:43 2015 +0530 ASoC: Intel: Skylake: Process code loader DMA interrupt The code loader DMA interrupt is received by main interrupt handler which dispatches it to cldma routines Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e40a78461739d86fe1084c515ec227507ba993d Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jul 10 22:18:42 2015 +0530 ASoC: Intel: Skylake: Add code loader DMA APIs This patch adds the last piece of code loader DMA APIs by adding the code loader DMA APIs for the driver to use Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 914426c8657c1e934b015ffa32e7bfd0cb34f47f Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jul 10 22:18:41 2015 +0530 ASoC: Intel: Skylake: add code loader DMA operations This patch starts adding code loader DMA handling internal operations for setting up bdle, controller, spb, cleanup routines and buffer filling Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e30903877fde33192b80100b7f63f2af97b2bd86 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jul 10 22:18:40 2015 +0530 ASoC: Intel: Skylake: Add code loader DMA registers Skylake has a DMA controller for loading DSP code and modules to memory. Add the register defines for this DMA Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b662680252fa6e3bc53ad087078dd1fe7496449c Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Jul 10 22:18:39 2015 +0530 ASoC: Intel: Skylake: Add dsp loader ops The ops is initialized during the dsp registration and used for the allocating dma buffers. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a32b401a11fc48193e58b0a5af6ea82de0272de Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:55 2015 +0900 regulator: Remove the max77843 driver The max77693 regulator driver supports Maxim 77843 device so remove the max77843 driver. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9e9a08e86733d994fe08876de7878148411d6bb5 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:54 2015 +0900 regulator: max77693: Add support for MAX77843 device The charger and safeout parts of MAX77843 are almost the same as MAX77693. From regulator point of view the only differences are the constraints and register values related to these constraints. Now the max77693 regulator driver can be used for MAX77843 device. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 309a3e00a511a233acb25eec567a4b11c99d016a Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:53 2015 +0900 mfd/extcon: max77843: Rename defines to allow inclusion with max77693 Add MAX77843_MUIC prefix to some of the defines used in max77843 extcon driver so the max77693-private.h can be included simultaneously with max77843-private.h. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cceb433a1e2930301b33c79016eff147eb555cea Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:52 2015 +0900 mfd/extcon: max77693: Rename defines to allow inclusion with max77843 Add MAX77693 prefix to some of the defines used in max77693 extcon driver so the max77693-private.h can be included simultaneously with max77843-private.h. Additionally use BIT() macro in header. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bc1aadc18621ccf93fb33ecbb847b422c354899d Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:51 2015 +0900 drivers: max77843: Switch to common max77693 state container Switch to the same definition of state container as in MAX77693 drivers. This will allow usage of one regulator driver in both devices: MAX77693 and MAX77843. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 61b305cd2ae747b8c9a2e4467dea2575a390162c Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:50 2015 +0900 drivers: max77693: Move state container to common header This prepares for merging some of the drivers between max77693 and max77843 so the child MFD driver can be attached to any parent MFD main driver. Move the state container to common header file. Additionally add consistent 'i2c' prefixes to its members (of 'struct i2c_client' type). Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5b5e771fb711f95da859bf6be9fba4bc9919b5d5 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:49 2015 +0900 regulator: max77693: Support different register configurations Add support for different configurations of charger's registers so the same driver could be used on other devices (e.g. MAX77843). Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b3b58cee8aced52e3d7fdb387f40c782a4511198 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:48 2015 +0900 mfd: max77693: Store I2C device type as enum and add default unknown Store the device type (obtained from i2c_device_id) as an enum and add a default type of unknown to distinguish from case when this is not set at all. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0afab670bda6f3c9980be9e6de0effcc2c6d456c Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Wed Jul 15 21:59:47 2015 +0900 mfd/extcon: max77693: Remove unused extern declarations and max77693_dev members Clean up the max77693 private header file by removing: 1. Left-overs from previous way of interrupt handling (driver uses regmap_irq_chip). 2. Unused members of struct 'max77693_dev' related to interrupts in extcon driver. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa050796b35c80ac948c4d24c95262daa905e2ef Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:06 2015 +0200 ASoC: sti: Add clock adjustement control Add capability to adjust player clock, for clocks drift management. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1e6babb417f76bd6d1a4d1d633e5c46435acbfe7 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:05 2015 +0200 ASoC: Add ability to build sti drivers Define the platform and codec drivers, and how to build them. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f3bd847eb0a7744b1a86f6b585149434cc6f57ff Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:04 2015 +0200 ASoC: sti: Add uniperipheral dai driver ASoc uniperipheral dai driver that manages uniperipheral DAIs and registers associated generic dma engine platform. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c3a0003aaf0dc2ffd006a3bb5abc1f5b639552a7 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:03 2015 +0200 ASoC: sti: Add CPU DAI driver for capture Add code to manage Uniperipheral reader IP instances. These DAIs are dedicated to capture and support I2S and IEC modes. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ed6c75f23383ba4e0fbc935c0b6ab165bc9ff65e Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 11:36:02 2015 +0200 ASoC: sti: minor corrections for uniplayer Minor corrections after code review. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 04b5cbd80af899c6a4d51835b069b96ae8864e5a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 16 21:22:52 2015 +0200 ASoC: max9768: Convert to component The driver does not use any CODEC specific constructs anymore. Convert it to snd_soc_component. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d79cca1a994f6f4f1cf3d92909f2a73df6b84874 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 16 21:22:51 2015 +0200 ASoC: max9768: Use managed gpio request Makes the code a bit shorter and simpler. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 623436af42ef2b37fee8f6058a85f4664bd32c74 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 16 21:22:50 2015 +0200 ASoC: max9877: Convert to component The driver does not use any CODEC specific constructs anymore. Convert it to snd_soc_component. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit df2e268226e2e3d79980a5dddfd683126f79ddb4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 16 21:22:49 2015 +0200 ASoC: max9877: Make driver global regmap struct local Use a stack local variable to handle function local state rather than a global static variable. The later has a potential for race conditions if the probe function runs for two devices concurrently. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7d9fb377a747025232fe4e8d17e54ff8032aba27 Merge: 1c07a4d c418a84 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Jul 16 21:35:01 2015 +0100 Merge branches 'topic/owner' and 'topic/reg-default' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-max9877 commit fa26e4d2b3cf1c84f20fbc003501bb028f682d92 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Thu Jul 16 23:46:56 2015 +0530 regulator: 88pm800: Use regulator_nodes/of_match in the descriptor This patch is add regulator_nodes/of_match in the regulator descriptor for using information from DT instead of specific codes. With this patch, driver gets simplified, - No need to maintain "struct of_regulator_match" table and call of_regulator_match() fn. - No need for pm800_regulator_dt_init() fn, as it was only used for of_regulator_match(). - probe() fn got simplified around regulator_config and regulator_desc initialization. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a07d94a54b93d94d8cb990ffe018c595cfb94662 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Thu Jul 16 23:46:55 2015 +0530 regulator: 88pm800: Update driver to use devm_regulator_register fn This patch replaces standard regulator_register with devm_regulator_register() fn, as using devm_regulator_register() fn simplifies the driver return/exit path. As part of this update, patch also cleanups up all unnecessary changes which is result of this patch - - Remove _remove() fn, as devm_ variant takes care of it. - Remove pm800_regulators.regulators[] field, as it was only needed during cleanup, so we no longer need this. This also saved some amount of memory. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d45c70bfb3ffe55fad1d1681feaec2094f4da3b Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Thu Jul 16 23:46:54 2015 +0530 regulator: 88pm800: Fix indentation of assignments of data structures This patch makes code more clean from readability point of view, make all assignments of LDO, BUCk and regulator_ops structure at the same indentation. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4863dcd394019b542ac968870cba734d27e992e0 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Jul 15 23:03:09 2015 +0200 ARM: dts: rockchip: add rk3288 arm-pmu irq affinity The rk3288 uses spi irqs for the arm-pmu on individual cpu cores, so needs the affinity to them defined. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx> commit cee3d8ccbecb8af6788edaaac46befca78b000dc Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Jul 16 10:32:40 2015 -0700 Input: ambakmi - fix system PM by converting to modern callbacks The legacy system PM support has long time ago been dropped from the AMBA bus. Align to that by converting to the modern system PM callbacks. Fixes: 26825cfd90f9 (ARM: 7914/1: amba: Drop legacy PM support ...) Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e1443d2849b146be4ed8d4ef89ae7e215aafaa5b Author: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Date: Wed Jul 15 10:20:17 2015 -0700 Input: i8042 - add unmask_kbd_data option A big problem with the current i8042 debugging option is that it outputs data going to and from the keyboard by default. As a result, many dmesg logs uploaded by users will unintentionally contain sensitive information such as their password, as such it's probably a good idea not to output data coming from the keyboard unless specifically enabled by the user. Signed-off-by: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Reviewed-by: Andreas Mohr <andim2@xxxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b8d1f261fe7e4967593a5637d62991b6197a03f8 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 18:28:20 2015 +0530 staging: dgap: remove duplicate code Remove the duplicate code of dgap_remove_one() and dgap_stop(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 174b83c0eb577d7db8f1867f1d76dc14f0b8eb40 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 18:28:19 2015 +0530 staging: dgap: new arguments to dgap_stop In a later patch we will remove the duplicate codes. But the code also needs to execute dgap_remove_driver_sysfiles() if it is being called from dgap_remove_one() but if being called fron the error path of the dgap_init_module() then the sysfiles should not be removed. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eda03951c3edc1f95e974096770ee3b02df2a8f5 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 18:28:18 2015 +0530 staging: dgap: rearrange function Relocate the function dgap_stop() so that in a later patch we can remove the duplicate codes between dgap_stop() and dgap_remove_one(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac4e504a597903f65e6b365eee3e2675a7d8fe4e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 18:28:17 2015 +0530 staging: dgap: fix error path The code in dgap_stop() is almost a duplicate of the code that will be executed on pci_unregister_driver(). So the error code was stopping and unregistering everything twice. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d708e52c2295d4d74c58881668a05ff7af8dc16 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:12 2015 +0530 staging: rtl8188eu: remove unneeded ret The variable ret was always 0. So remove the variable and always return 0 from the function. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9aa39bc4d35ca33b406c15da563d6719aae3931e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:11 2015 +0530 staging: rtl8188eu: stop using DBG_88E Stop using DBG_88E which is a custom macro for printing debugging messages. Instead start using pr_debug and in the process define pr_fmt. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce806322730a2b29fd15c7873c09335a49b7a941 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:10 2015 +0530 staging: rtl8188eu: remove unneeded variable The default value of status was _FAIL, it was only changed if kzalloc succeeds and the check for status is immediately following kzalloc. We can have the failure code in the else part as the failure code will be executed only if kzalloc fails. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47ccb34ac72c0dbbb68f6a07ce63e9f0d21510ea Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:09 2015 +0530 staging: rtl8188eu: remove goto label By checking for the success of kzalloc we were able to remove the goto label thus making the code more readable. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 277394198413fc46e81767827533e5ab8ef167af Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:08 2015 +0530 staging: rtl8188eu: remove redundant NULL check The check for pstat and pdvobjpriv is not required here as we have already checked for them before. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48028c61e45acf644aaaa47db475974829fc64dd Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Jul 16 16:58:07 2015 +0530 staging: rtl8188eu: remove unused function The inline function rtw_set_ips_deny() was only defined but was never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 613a7c5e0f2b216e62b7dfaa92c54959319bed42 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Jul 15 13:59:46 2015 +0530 staging: sm7xxfb: usr fb_read and fb_write Now since the Big-Endian and Little-Endian based calculations are moved into a macro we can make fb_read() and fb_write() common for both Little-Endian and Big-Endian. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87bf79298036a47ab158ae7e335cc7f8b0df4e9c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Jul 15 13:59:45 2015 +0530 staging: sm7xxfb: define new macros Define and use some new macros to work with different situations based on little-endian and big-endian. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9431fda3ff9193249ee7bc7731bb74e9f51f6f36 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 00:44:55 2015 +0200 staging: rtl8188eu: remove unused rtw_hal_write_rfreg rtw_hal_write_rfreg() is never referenced, so remove it. It used to be the only place where the write_rfreg callback was called, so get rid of the function pointer as well. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f83113d3e6f2cef66890a90d01c5347ece4ecd97 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 00:44:54 2015 +0200 staging: rtl8188eu: remove unused rtw_hal_set_def_var rtw_hal_set_def_var() is never referenced, so remove it. It used to be the only place where the SetHalDefVarHandler callback was called, so get rid of the function pointer as well. Also remove the callback itself, SetHalDefVar8188EUsb(), which was not called anywhere else. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42748bc905d57aa96a3b8ef50261bcf95890bef7 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 00:44:53 2015 +0200 staging: rtl8188eu: remove unused {en,dis}able_interrupt rtw_hal_enable_interrupt() and rtw_hal_disable_interrupt() are never referenced, so remove them. They used to be the only place where the enable_interrupt() and disable_interrupt() callbacks were called, and the function pointer is never set, so get rid of the function pointer as well. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8011d90c68d10d67b797e0704c16697bba683a1 Author: CHANG FU CHIAO <zector1030@xxxxxxxxx> Date: Wed Jul 15 15:32:21 2015 +0800 staging: ft1000: ft1000-usb: remove unnecessary out of memory warning fixes "Possible unnecessary 'out of memory' message" Signed-off-by: CHANG FU CHIAO <zector1030@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 315c928ba99af23dd25ac664b7c02828cf047f19 Author: Pedro Marzo Perez <marzo.pedro@xxxxxxxxx> Date: Thu Jul 16 20:50:00 2015 +0200 Staging: lustre: make obd_device_cachep static Variable obd_device_cachep is only used inside the file it is declared, so it is better set as static Signed-off-by: Pedro Marzo Perez <marzo.pedro@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c7e397c98d646a3a23ffd304def1750be916803 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Jul 15 12:21:16 2015 -0400 staging/lustre/ldlm: Unregister ldlm namespace from sysfs on free ldlm_namespace_sysfs_unregister needs to be called ldlm_namespace_free_post so that we don't have this dangling object there after the namespace has disappeared. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bdc190a929c6f99732a9a0ff03dba7b0137d4bd Author: Vasiliy Korchagin <vasiliy.korchagin@xxxxxxxxx> Date: Wed Jul 15 00:40:40 2015 +0000 staging: lustre: obdclass: simplify class_uuid_unparse This patch simplifies uuid unparse logic by using sprintf "%pU" extension. And eliminates the code with a coding style error: ERROR: Macros with complex values should be enclosed in parentheses +#define CONSUME(val, ptr) (val) = consume(sizeof(val), (ptr)) Signed-off-by: Vasiliy Korchagin <vasiliy.korchagin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f14cc18f8dd5d1b05ae6583361e08222381ca84 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Thu Jul 16 12:40:48 2015 -0400 staging: unisys: fix copyright statements The copyright statements in the drivers need to be correct and consistent; this patch fixes the year for all of them, and makes the statement text cover just the GPL V2. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f33d159ea701cbaba90f20876aeba11d27b698c2 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 17:45:09 2015 +0300 x86/platform/iosf_mbi: Add Intel Tangier PCI id Intel Tangier has an IOSF Mailbox with PCI ID 8086:1170. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: David E . Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436366709-17683-6-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7e1ff15b699bcb2bce1e8086323d227788960044 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 17:45:08 2015 +0300 x86/platform/iosf_mbi: Source cleanup - Move the static variables to one place - Fix indentations in the header - Correct comments No functional change. [ tglx: Massaged changelog ] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: David E . Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436366709-17683-5-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b93fb9f6aee0ea6fe60ed20278b9c7fea70a58ff Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 17:45:07 2015 +0300 x86/platform/iosf_mbi: Remove NULL pointer checks for pci_dev_put() pci_dev_put() has already a check for NULL pointer. [ tglx: Massaged changelog ] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: David E . Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436366709-17683-4-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 64279c7e05264f9774c6c9ee65a5b9ed186e442b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 17:45:06 2015 +0300 x86/platform/iosf_mbi: Check return value of debugfs_create properly The code checks the result of the first debugfs_create call several times and fails to check the result of the subsequent calls due to missing assigments. Add the missing assignments and check only for !res because debugfs_create() returns only NULL on error and not an encoded error code. [ tglx: Massaged changelog ] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: David E . Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436366709-17683-3-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 23ae2a16bb39d999892a86a65933fe3e9b6b525f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Jul 8 17:45:05 2015 +0300 x86/platform/iosf_mbi: Move to dedicated folder Move the driver to arch/x86/platform/intel since it is not a core kernel code and it is related to many Intel SoCs from different groups: Atom, MID, etc. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: David E . Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436366709-17683-2-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2660801f7323b84fc2ad46449a5d1f331266d9f7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Jul 16 15:51:01 2015 +0200 drm/atomic: Only update crtc->x/y if it's part of the state, v2. Universal planes may not be assigned to the current crtc, so only update crtc->x/y when the primary is part of the state and bound to the current crtc. Changes since v1: - Add the crtc check. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4a01a64c8ee8d205bbe25adb40bb3922d0ebce70 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Jun 25 19:22:27 2015 +0200 dt-bindings: document rk3368 R88 board from Rockchip The initial board containing the rk3368 ARM64 soc. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ab7322af8c620987ed058e39506c97e5f2d3c65c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Jul 16 11:08:34 2015 -0300 perf strlist: load() should return a negative errno To match what its users return. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jntpe2lwg1fxn1bku7uccan0@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 72858602e167ea2d7487337bac279beec7a99c84 Author: Laurent Navet <laurent.navet@xxxxxxxxx> Date: Tue Jul 7 22:22:15 2015 +0200 gpiolib: remove unneeded assignation ret is assigned value from of_property_read_string_index but is overwritten before being used so remove it. Also fix coverity CID 1309759 Reported-by: coverity (CID 1309759) Signed-off-by: Laurent Navet <laurent.navet@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9bde2823dcb97997456645f9b18f8c3468b727ca Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon May 18 15:33:13 2015 +0530 dmaengine: zxdma: explicitly free irq on device removal At device removal, tasklets are not disabled and irqs are still enabled, so free the irq explicitly on device removal Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e3fa9841d309ae7992b658eba0f973543b97ed1f Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Tue May 5 22:06:08 2015 +0800 dmaengine: zxdma: Support ZTE ZX296702 dma Add ZTE ZX296702 dma controller support. Only device tree probe is support currently. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7f37a3d80b6d687717685cb7156ef7c9acbd2964 Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Tue May 5 22:06:07 2015 +0800 Documentation: dma: Add documentation for ZTE DMA This patch adds documentation for the ZTE ZX296702 SoC DMA device DTS binding. Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e3f3aaac06657e6fc834e217ae450f51a6e0968c Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:27:30 2015 +0900 pinctrl: sirf: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4d9efdfce73c8f0c9e39d118833e4776719a8d40 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jul 13 20:39:54 2015 +0000 dmaengine: ipu: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. This is also a preparation for the removal of the 'irq' argument from interrupt flow handlers. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d7fdb356902a13bb92229722d88a836523a3c6e3 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 20:39:52 2015 +0000 dmaengine: ipu: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: dmaengine@xxxxxxxxxxxxxxx Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 03734485b71129a954861f298825a490bcade986 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Jul 9 13:25:37 2015 +0300 dmaengine: hsu: remove excessive lock All hardware accesses are done under virtual channel lock. That's why specific channel lock is excessive and can be removed safely. This has been tested on Intel Medfield and Merrifield. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b6c52c634506d52b3a2dc18503980d717e478739 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Jul 8 15:41:42 2015 +0800 dmaengine: ioatdma: Ignore IOAT devices under hotplug-capable PCI host bridge The dmaengine core assumes that async DMA devices will only be removed when they not used anymore, or it assumes dma_async_device_unregister() will only be called by dma driver exit routines. But this assumption is not true for the IOAT driver, which calls dma_async_device_unregister() from ioat_remove(). So current IOAT driver doesn't support device hot-removal because it may cause system crash to hot-remove an inuse IOAT device. To support CPU socket hot-removal, all PCI devices, including IOAT devices embedded in the socket, will be hot-removed. The idea solution is to enhance the dmaengine core and IOAT driver to support hot-removal, but that's too hard. This patch implements a hack to disable IOAT devices under hotplug-capable CPU socket so it won't break socket hot-removal. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6417049f662d85a6f3a6b7cb8bc98bae3edae0a4 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Jul 6 18:11:50 2015 +0300 pinctrl: single: dra7: remove PCS_QUIRK_SHARED_IRQ On DRA7 there is one pinctrl domain (dra7_pmx_core) and PRCM wake-up IRQ is not shared, so remove quirk. Cc: Nishanth Menon <nm@xxxxxx> Fixes: 31320beaa3d3 ('pinctrl: single: Add DRA7 pinctrl compatibility') Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ffe2288828cb3aa45f6752d99ec7113f5135d1fa Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Jul 15 14:22:33 2015 -0300 spi: spidev: Fix typo Fix the typo in "compatible". Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6158e6d004e8b030442ae900a9dd84e0de6b1613 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Jul 15 20:57:21 2015 +0200 ARM: dts: rockchip: add missing device_type = "memory" to boards The memory node is supposed to contain a device_type property marking it as memory. The currently included boards miss this property. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 05ffc630627003c7bf275eec05b0eae81e0016b1 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Jul 7 20:09:34 2015 +0200 ARM: dts: rockchip: add veyron-pinky board While pinky was one of the earlier development models, is on the list of endangered species today and nearly extinct, I want to keep mine around for the foreseeable future after spending all the time making a nice hole into the base below the dut-connector. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit a4e3c5fa955ce0934774f3f3684377dbf2c20eca Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Thu Jul 16 13:42:34 2015 +0800 ASoC: rt5645: Simplify rt5645_enable_push_button_irq LDO2/Mic Det Power pins are already enabled/disabled in rt5645_jack_detect (the jack out code path previously did not disable those if button function is enabled: modify it to make it so). Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b14c917409f47dbfdff93e69effd6740f6a809f7 Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Thu Jul 16 13:42:33 2015 +0800 ASoC: rt5645: Update dapm pins when the card is not instantiated yet This makes sure the dapm state is consistent when the card is instantiated. However, if the card is not instantiated yet, we still update the registers manually in the "jack in" case, so that we can immediately report if a mic is present or not. Disabling "Mic Det Power" after detection, and on jack out, can wait until the card gets instantiated. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5efe58c44312a7f8a1f3ec77c2b88f6d22b74880 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Thu Jul 16 10:01:33 2015 +0800 ASoC: rt298: remove meanless pr_info This line doesn't include any information. So, remove it. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54442658d8e83b0589731620bd958cc8b2857167 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Sat Jul 4 16:34:32 2015 -0400 gpio: 74xx: Fix build warning about void to integer cast This fixes the build warning , warning: cast from pointer to integer of different size when building this file on a x86 allmodconfig configuration. In order for me to fix this build warning I changed the cast in the function mmio_74xx_gpio_probe from casting the variable data of the stucture pointer of_id to uintptr_t rather then unsigned when assigning to the variable flag of the structure pointer priv of the structure type mmio_74xx_gpio_priv. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f3ee390e4ef23a557b3519f6fb314a9e80d337c1 Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Tue Jul 7 20:04:32 2015 +0200 ARM: dts: rockchip: add veyron-jerry board The Hisense Chromebook C11, also named jerry. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit e28ea9dbc52d354db29fd07c9c2535f150f903de Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Tue Jul 7 19:42:53 2015 +0200 ARM: dts: rockchip: add shared rk3288-veyron files This adds the shared devicetree files for the Veyron device family. They are split, as not all veyron devices are chromebooks and not all contain a sd-card slot. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit 3726960edc63bb1e09678841df44b44feee20305 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Jun 25 20:30:51 2015 +0300 gpiolib: assign chip owner to dev->driver->owner if not set Assign GPIO chip owner field to chip->dev->driver->owner if it was not configured by GPIO driver. Cc: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5b76e79c772648991e700f004205e9ac861c77c0 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Jun 25 20:30:50 2015 +0300 gpiolib: irqchip: prevent driver unloading if gpio is used as irq only Now nothing prevents GPIO driver from being unloaded if its gpios were requested as GPIO IRQs only (without calling gpio_request()). Hence, add calls of try_module_get()/module_put() into gpiochip_irq_reqres/relres() to track such scenario properly. Cc: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7fcf7e061edd368fac7fe4841a7f9e54c83b3ec8 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Jul 13 00:53:22 2015 -0700 ARM: OMAP2+: Remove legacy booting support for Pandora We've been moving all omap2+ based systems to boot in device tree only mode for a few years now. Only omap3 has legacy booting support remaining. Most omap3 boards already have related arch/arm/boot/*.dts* files for booting with device tree. This board has support for device tree based booting, and we've been printing warnings about the legacy booting being deprecated for a few merge cycles now. Let's attempt to remove the legacy booting for it. The reason for removing the legacy booting support now rather than later is we can simply revert this patch if necessary if we run into some unexpected issues that are not trivial to fix for the device tree based booting. Cc: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 03c42c3e5216e2777f8ae819d6a076e94dcdfbdd Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 13:56:55 2015 +0200 pinctrl: sh-pfc: Remove obsolete r8a7740 platform_device_id entry Since the removal of the r8a7740 legacy SoC code in commit 44d88c754e57a6d9 ("ARM: shmobile: Remove legacy SoC code for R-Mobile A1"), r8a7740 is only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d009fa3b2b28b28f58920aaa76fa0abeb573828c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 13:56:54 2015 +0200 pinctrl: sh-pfc: r8a7740: Remove obsolete multi-platform check Since the removal of the r8a7740 legacy SoC code in commit 44d88c754e57a6d9 ("ARM: shmobile: Remove legacy SoC code for R-Mobile A1"), r8a7740 is only supported in generic ARM multi-platform builds. Hence CONFIG_ARCH_MULTIPLATFORM is always set, and the check can be removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 39ad6ff12cd54607b64642562ad850bb09176734 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 13:56:53 2015 +0200 pinctrl: sh-pfc: Remove obsolete sh73a0 platform_device_id entry Since the removal of the sh73a0 legacy SoC code in commit 9a9863987bf7307f ("ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5"), sh73a0 is only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9f21c67da6a62aa082a1f20feb983ab5ed89a915 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 13:56:52 2015 +0200 pinctrl: sh-pfc: sh73a0: Remove obsolete multi-platform check Since the removal of the sh73a0 legacy SoC code in commit 9a9863987bf7307f ("ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5"), sh73a0 is only supported in generic ARM multi-platform builds. Hence CONFIG_ARCH_MULTIPLATFORM is always set, and the check can be removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c7977ec4a33633c8e8d9267dd014356cf857351c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 25 11:39:53 2015 +0200 pinctrl: sh-pfc: Convert to platform_get_*() If the pin function controller (which can be a GPIO controller) is instantiated before the interrupt controllers, due to the ordering in the DTS, the irq domains for the interrupt controllers referenced by its "interrupts-extended" property cannot be found yet: irq: no irq domain found for /interrupt-controller@e61c0000 ! As the sh-pfc driver accesses the platform device's resources directly, it cannot find the (optional) IRQ resources, and thinks no interrupts are available. This may lead to failures later, when GPIOs are used as interupts: gpio-keys keyboard: Unable to claim irq 0; error -22 gpio-keys: probe of keyboard failed with error -22 To fix this, add support for deferred probing to sh-pfc, by converting the driver from direct platform device resource access to using the platform_get_resource() and platform_get_irq() helpers. Note that while this fixes the root cause worked around by commit e4ba0a9bddff3ba5 ("ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug"), I strongly recommend against reverting the workaround now, as this would lead to lots of probe deferrals in drivers relying on pinctrl. This may be reconsidered once the DT code starts taking into account phandle dependencies during device instantation. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 16ccaf5bb5a52372bfebd3dfbb79dd810ad49c09 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jun 30 11:29:57 2015 +0300 pinctrl: sh-pfc: Accept standard function, pins and groups properties The "function", "pins" and "groups" pinmux and pinctrl properties have been standardized. Support them in addition to the custom "renesas,*" properties. New-style and old-style properties can't be mixed in DT. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6066677cfd9d73734ab678b9d14013c860f0f732 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Jul 9 13:15:34 2015 +1000 drm/fb: drop panic handling This really doesn't seem to have much chance of working anymore, esp for irq context, qxl at least tries to talk to the hw, and waits for irqs, and fails. with runtime pm and other stuff I think we should just bail on this for now. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9cf705de06a27cc99874626c9717b32e9874b3bb Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:57 2015 -0700 ARM: OMAP2+: Add support for initializing dm814x clocks Let's add a minimal clocks for dm814x to get it booted. This is mostly a placeholder and relies on the PLLs being on from the bootloader. Note that the divider clocks work the same way as on dm816x and am335x. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7c80a3f89c51cfa935493a81b401c4e93f0c0f90 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:57 2015 -0700 ARM: OMAP2+: Add custom prwdm_operations for 81xx to support dm814x Looking at the TI kernel tree I noticed that dm81xx need custom ti81xx_pwrdm_operations. Let's also change dm816x over to use them as the registers are different for dm81xx compared to others. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 185fde6d5b38cd03bf24bee90198b436b721d37c Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:57 2015 -0700 ARM: OMAP2+: Add minimal clockdomains for dm814x For now, let's just add the ones shared with dm816x. The dm814x specific ones can be added as they are tested. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tero Kristo <t-kristo@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9444f103469f40c47993a1dd87687d126054969c Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 01:55:57 2015 -0700 ARM: OMAP2+: Fix scm compatible for dm814x Fix scm compatible for dm814x. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9fd274c069c7f96631ef6e0b9909c9a0e1f6b954 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Jul 16 02:08:55 2015 -0700 ARM: OMAP2+: Fix dm814x DT_MACHINE_START Fix dm814x DT_MACHINE_START. Cc: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 601b9d9c7bd04f81a96896c9859cd37bd6a78d51 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Thu Jul 16 10:43:20 2015 +0200 ASoC: sti-sas: fix x86 compilation issue. Fixes for compilation warnings and errors reported by Kbuild test robot for x86_64 and i386. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit be9ae230924083772ea74ea6958c846f79df5253 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jul 14 13:59:34 2015 +0200 ASoC: fsi: Remove obsolete sh_fsi2 platform_device_id entry Since the removal of the r8a7740 legacy board code in commit 1fa59bda21c7fa36 ("ARM: shmobile: Remove legacy board code for Armadillo-800 EVA"), all former users of the "sh_fsi2" platform device name are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 049aaf9f7e30731ce030eef3e4fd255cf8b1ae02 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Jun 25 18:18:11 2015 +0300 gpio: pcf857x: get rid of slock spinlock The spinlock 'slock' is used now to protect pcf857x_irq() from itself which is unnecessary (especially after switching to use threaded IRQs). Hence, remove it and use mutex to protect device data in IRQ handler. Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 65194cb174b873448b208eb6e04ecb72237af76e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 25 16:45:57 2015 +0200 gpio: rcar: Fine-grained Runtime PM support Currently gpio modules are runtime-resumed at probe time. This means the gpio module will be active all the time (except during system suspend, if not configured as a wake-up source). While an R-Car Gen2 gpio module retains pins configured for output at the requested level while put in standby mode, gpio registercannot be accessed while suspended. Unfortunately pm_runtime_get_sync() cannot be called from all contexts where gpio register access is needed. Hence move the Runtime PM handling from probe/remove time to gpio request/free time, which is probably the best we can do. On r8a7791/koelsch, gpio modules 0, 1, 3, and 4 are now suspended during normal use (gpio2 is used for LEDs and regulators, gpio5 for keys, gpio6 for SD-Card CD & WP, gpio7 for keys and regulators). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 79cf95c763a11d4b365cd5a627fd1ab4dca67890 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:43 2015 +0300 clk: tegra: Add the DFLL as a possible parent of the cclk_g clock The DFLL clocksource was missing from the list of possible parents for the fast CPU cluster. Add it to the list. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c38864a703f3fe50e2b87883a0def392dd5bf26f Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:42 2015 +0300 clk: tegra: Save/restore CCLKG_BURST_POLICY on suspend Save and restore this register since the LP1 restore assembly routines fiddle with it. Otherwise the CPU would keep running on PLLX after resume from suspend even when DFLL was the original clocksource. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 62a8a094b0e1de782a1b3dcb5e42a7d44379e583 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:41 2015 +0300 clk: tegra: Add Tegra124 DFLL clocksource platform driver Add basic platform driver support for the fast CPU cluster DFLL clocksource found on Tegra124 SoCs. This small driver selects the appropriate Tegra124-specific characterization data and integration code. It relies on the DFLL common code to do most of the work. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> [treding@xxxxxxxxxx: move setup code into ->probe()] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 1dad36cdd5d20b4d7ceca5026553e86b3315b022 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon May 4 16:45:25 2015 +0200 soc/tegra: fuse: Add spare bit offset for Tegra210 The offset of the first spare bit register on Tegra210 is 0x380, but account for the fixed offset of 0x100 in the fuse accessor. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 82df0e5e78d956ea3552f7315a4d559f657047da Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon May 4 16:44:29 2015 +0200 soc/tegra: fuse: Add spare bit offset for Tegra124 The offset of the first spare bit register on Tegra124 is 0x300, but account for the fixed offset of 0x100 in the fuse accessor. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b23083a9c6829675d367b4f06a64d74ead82eb14 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon May 4 16:38:28 2015 +0200 soc/tegra: fuse: Add spare bit offset for Tegra114 The offset of the first spare bit register on Tegra114 is 0x280, but account for the fixed offset of 0x100 in the fuse accessor. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 03b3f4c8b76180ba5bd800c57a7efdb142c2341d Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 14:44:08 2015 +0100 soc/tegra: fuse: Rename core_* to soc_* There's a mixture of core_* and soc_* prefixes for variables storing information related to the VDD_CORE rail. Choose one (soc_*) and use it more consistently. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0dc5a0d836751099f2e08deec28f56ec881925dd Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 29 16:55:57 2015 +0200 soc/tegra: fuse: Add Tegra210 support Add Tegra210 support to the fuses driver and add Tegra210-specific speedo definitions. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7e939de1b2bb26496e4967e5346619700245e7c0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 29 16:54:04 2015 +0200 soc/tegra: fuse: Unify Tegra20 and Tegra30 drivers Unifying the drivers makes it easier to restrict the legacy probing paths to 32-bit ARM. This in turn will come in handy as support for new 64-bit ARM SoCs is added. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 297c4f3dcbffe11ce899a7d068ea18079094403b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon May 4 13:30:50 2015 +0200 soc/tegra: fuse: Restrict legacy code to 32-bit ARM For backwards-compatibility with old device trees, if no APBMISC node exists this driver hard-codes the I/O memory region. All 64-bit ARM device tree files are recent enough that they can be required to have this node, and therefore the legacy code path is not required. Based on work done by Paul Walmsley <pwalmsley@xxxxxxxxxx>. Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c2fe4694d8ac0f997f6d7088437b710fc4e4a185 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 11:31:29 2015 +0100 soc/tegra: pmc: Add Tegra210 support Tegra210 uses a power management controller that is compatible with earlier SoC generations but adds a couple of power partitions for new hardware blocks. Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7d71e90377fd74334dcfb5c265e204eef1613b53 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Apr 29 12:42:28 2015 +0200 soc/tegra: pmc: Restrict legacy code to 32-bit ARM For backwards-compatibility with old device trees, if no PMC node exists this driver hard-codes the I/O memory region. All 64-bit ARM device tree files are recent enough that they can be required to have this node, and therefore the legacy code path is not required on 64-bit ARM. Based on work done by Paul Walmsley <pwalmsley@xxxxxxxxxx>. Cc: Paul Walmsley <pwalmsley@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 95169cd23bfa88003f8be06234dbd65f5737add0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jul 9 09:59:55 2015 +0200 soc/tegra: pmc: Avoid usage of uninitialized variable Make sure to only drop the reference to the OF node after it's been successfully obtained. Fixes: 3568df3d31d6 ("soc: tegra: Add thermal reset (thermtrip) support to PMC") Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ Reviewed-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 527b397a7a3647b8ba2eae2e7a12b237bf411476 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 15:48:02 2015 +0200 gpio: em: Remove obsolete platform data support Since commit 59032702ead90562 ("ARM: shmobile: Remove legacy platform devices from EMEV2 SoC code"), EMMA Mobile SoCs are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to use platform data anymore, hence remove platform data configuration. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Tested-by: Niklas Söderlund <niso@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 583facb6ae27dfb4d0fb5a952dade5aa990a05c9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Jun 22 18:13:15 2015 +0300 pinctrl: samsung: remove "out of memory" messages Checkpatch.pl complains about these: WARNING: Possible unnecessary 'out of memory' message The messages use a little extra RAM and they add a few extra lines of code. We're probably never going to hit these out of memory situations but if we did then kmalloc() has pretty good error messages built-in. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8749f8ed5cc07f4f130f2e5b2c41da78388146ec Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Jun 22 18:12:24 2015 +0300 pinctrl: samsung: don't truncate the last char We were allocating enough space because sizeof("-grp") and sizeof("-mux") are both equal to 5 but in the snprintf() we only allowed for 4 characters so the last 'p' and 'x' characters were truncated. The allocate and sprintf can be done in one step with the kasprintf(). Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e7aa6d8c1ba2429deef75fb24d029e00ab71bebf Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Mon Jun 29 10:35:57 2015 +0800 gpio: zx: Add ZTE zx296702 GPIO support Add ZTE zx296702 GPIO controller support Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 24f743a0f06675da4e7c6a07b88e90d425edd30a Author: Jun Nie <jun.nie@xxxxxxxxxx> Date: Mon Jun 29 10:35:56 2015 +0800 gpio: Document ZTE zx296702 GPIO DT binding Add document of ZTE zx296702 GPIO binding Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c15df306fc79c672573f1cc2ebdfcb32d7e68780 Author: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Thu Jul 16 16:51:30 2015 +0900 ipv6: Remove unused arguments for __ipv6_dev_get_saddr(). Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da104dc845afbebcad6d87bd5810c266a426f4dc Author: Sekhar Nori <nsekhar@xxxxxx> Date: Wed Jul 8 20:57:37 2015 +0530 ARM: omap2plus_defconfig: enable support for M25P80 SPI NOR M25P80 driver provides support for most common SPI NOR devices. These devices are commonly found on TI EVMs for AM437x and DRA7x SoCs. Enable support for this driver in defconfig for omap2plus devices. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5c107aa031c95c9d9df3034827894e3b6dde90cd Author: Sekhar Nori <nsekhar@xxxxxx> Date: Wed Jul 8 20:57:36 2015 +0530 ARM: omap2plus_defconfig: enable support for TI CPTS CPTS module of CPSW IP enables timestamp synchronization using PTP. Enable CPTS feature of CPSW driver. Available on AM335x, AM437x and DRA7x SoCs. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Acked-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit af7b9f894234d9c64dff497c554e6fea9a525638 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Wed Jul 8 20:57:35 2015 +0530 ARM: omap2plus_defconfig: enable support for TI touchscreen Enable support for on-chip resistive touchscreen m found on AM335x and AM437x devices. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 588f2c31f3d8b4e8ec74adff0f05cdf576dd1ab3 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Wed Jul 8 20:57:34 2015 +0530 ARM: omap2plus_defconfig: enable support for TI ADC Enable support for on-chip ADC found on AM335x and AM437x devices. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 30a636f984984655ad5350e73a6a3141c9ba85ae Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon May 18 17:35:30 2015 +0200 memory: tegra: Expose supported rates via debugfs In order to ease testing, expose the list of supported EMC frequencies via debugfs. Reviewed-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3a369982b88e5f162fc48b968ad989529db58401 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 11:29:25 2015 +0100 soc/tegra: Add Tegra210 support Add Tegra210 to the matching table for NVIDIA Tegra SoCs. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ad09c8c23e372182fe1454b3c10bef1c44df5cea Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Mar 23 11:28:53 2015 +0100 soc/tegra: Add Tegra132 support Add Tegra132 to the matching table for NVIDIA Tegra SoCs. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 5cf4af3bebb718b72a23b7e80fddfe8b4e8b0620 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jan 23 09:34:44 2015 +0100 ALSA: hda/tegra: Order clock and reset names consistently The example in the device tree binding documentation and the driver code list hda2codec_2x as the last entry in the clock-names and reset-names properties. Update the description of the properties to use the same order. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 42a8679cf27439c5c9f1f9aa85854f0dec74687c Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Apr 10 23:35:58 2015 +0200 ALSA: hda/tegra - Fix hda2codec_2x clock and reset names Fix hda2codec_2x clock and reset names in Tegra30 HDA controller device tree node documentation. While at it also fix coma vs. semicolon issue. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 95b612cc6c7f95f4e08f1b3dbc6588fda49b1b12 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Jul 9 10:55:01 2015 +0900 pinctrl: move CONFIG_PINCTRL to drivers/Makefile Kbuild should descend into drivers/pinctrl/ only when CONFIG_PINCTRL is enabled because everything under that directory depends on CONFIG_PINCTRL. We can avoid the conditional, ifeq ($(CONFIG_OF),y) ... endif. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b3b6616378a4dcf1e903c8ad70fabfe4c2ad529b Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:07 2015 +0900 pinctrl: UniPhier: add UniPhier PH1-LD6b pinctrl driver Add pin configuration and pinmux support for UniPhier PH1-LD6b SoC. Changes in v2: - sort groups and funcs alphabetically - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3c0fd8e3de93fc12b35cf5be585a5d8dc68b7162 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:06 2015 +0900 pinctrl: UniPhier: add UniPhier ProXstream2 pinctrl driver Add pin configuration and pinmux support for UniPhier ProXstream2 SoC. Changes in v2: - sort groups and funcs alphabetically - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1950b0488780d0d93481e17c56bc7a97a6037459 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:05 2015 +0900 pinctrl: UniPhier: add UniPhier PH1-Pro5 pinctrl driver Add pin configuration and pinmux support for UniPhier PH1-Pro5 SoC. Changes in v2: - sort groups and funcs alphabetically - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 95372f9dc892a79bce1e81b8862bb4ad15cf4f76 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:04 2015 +0900 pinctrl: UniPhier: add UniPhier PH1-sLD8 pinctrl driver Add pin configuration and pinmux support for UniPhier PH1-sLD8 SoC. Changes in v2: - sort groups and funcs alphabetically - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b5cf4161ca8a54c79a05beaaf5d18c2c67193105 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:03 2015 +0900 pinctrl: UniPhier: add UniPhier PH1-Pro4 pinctrl driver Add pin configuration and pinmux support for UniPhier PH1-Pro4 SoC. Changes in v2: - sort groups and funcs alphabetically - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit edd95a4a95f32c701e291e06016c6ca110ef65b7 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:02 2015 +0900 pinctrl: UniPhier: add UniPhier PH1-LD4 pinctrl driver Add pin configuration and pinmux support for UniPhier PH1-LD4 SoC. Changes in v2: - sort groups and funcs alphabetically - add missing "emmc_dat8" group - add i2c pin-mux settings - sort members of platform_driver - change to tristate - add THIS_MODULE to pinctrl_desc - use module_platform_driver Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6e908892025885b07e804dc6c05aab6ce1e06832 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 11:40:01 2015 +0900 pinctrl: UniPhier: add UniPhier pinctrl core support The core support for the pinctrl drivers for all the UniPhier SoCs. Changes in v2: - drop vogus THIS_MODULE because this file is always built-in - drop vogus "include <linux/module.h> because this file is always built-in Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0e948042c4203b97e44370993ef042c945308282 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jun 17 23:47:28 2015 -0700 pinctrl: qcom: spmi-mpp: Implement support for sink mode The MPP supports three modes; digital, analog and sink mode. This patch implements support for the latter. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit eaaf5dd46457c4fa3a9e2d1be775821d4e72773c Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jun 17 23:47:27 2015 -0700 pinctrl: qcom: spmi-mpp: Introduce defines for MODE_CTL Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7682b3740dd7e3039ec9885b423f7e68f0dc24d0 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jun 17 23:47:26 2015 -0700 pinctrl: qcom: spmi-mpp: Fixes related to enable handling There's currently no way to re-enable a mpp block once you've entered a state that disables the state, this patch makes it possible to leave the bias-high-impedance state. Also read the enable state from the hardware on probe. With this in place the is_enabled variable is accurately tracking the state of the hardware and we can use that for the debug output as well. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ba5f94cd566ac562c9374729baab156886759946 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Wed Jun 17 23:47:25 2015 -0700 pinctrl: qcom: spmi-mpp: Transition to generic dt binding parser Use the newly introduced extensible generic dt parser instead of rolling our own dt parsing functions. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fb00de771b0c35fc42212272596ddb07bf120b21 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Jun 18 14:42:45 2015 +0900 pinctrl: simplify of_pinctrl_get() This commit does not change the logic at all. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9612327c1ffcdacc863b3baf0a3c8c9b0837ffd2 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jun 19 23:32:27 2015 +0800 pinctrl: imx: add i.mx6ul subdriver Add i.MX6UL pinctrl driver support. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 441f77dcf8defcebb4477fea6db03624259fef42 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jun 26 01:43:07 2015 +0300 sh-pfc: r8a7791: remove non-existing GPIO pins GPIO banks 1 and 7 are missing pins 26 to 31. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b5599df20f1ee45cef811a7ab1c7358d9faf7bf8 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jun 26 01:42:04 2015 +0300 sh-pfc: r8a7790: remove non-existing GPIO pins GPIO banks 1 and 2 are missing pins 30 and 31. Remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 13b8a68a9c08410f03047fc888706299b5b75754 Author: Mario Bambagini <mario.bambagini@xxxxxxxxx> Date: Tue Jun 16 22:32:30 2015 +0200 added tabs instead of spaces Tabs have been inserted instead of spaces to indent the code correctly. Same error fixed four times. Signed-off-by: Mario Bambagini <mario.bambagini@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9eb15dbbfa1a23b5e65efaf1d5d6c47798e7264b Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:48 2015 +0300 cpufreq: Add cpufreq driver for Tegra124 Add a new cpufreq driver for Tegra124. Instead of using the PLLX as the CPU clocksource, switch immediately to the DFLL. It allows the use of higher clock rates, and will automatically scale the CPU voltage as well. Besides the CPU clocksource switch, we let the cpufreq-dt driver for all the cpufreq operations. This driver also relies on the DFLL driver to fill the OPP table for the CPU0 device, so that the cpufreq-dt driver knows what frequencies to use. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 109e13eaa40dfebf8893234cc5f1535a04e23acf Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:47 2015 +0300 cpufreq: tegra: Rename tegra-cpufreq to tegra20-cpufreq The Tegra124 will use a different driver for frequency scaling, so rename the old driver (which handles only Tegra20) appropriately. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 135796c9ccd3d6c53fbc3f6c4d73d8ba6820b739 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:46 2015 +0300 cpufreq: tegra124: Add device tree bindings The cpufreq driver for Tegra124 will be a different one than the old Tegra20 cpufreq driver (tegra-cpufreq), which does not use the device tree. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a3c83ff20c64a0ea3580aa7ed2953ff1602334dd Author: Paul Walmsley <pwalmsley@xxxxxxxxxx> Date: Tue May 19 14:43:30 2015 +0300 clk: tegra: Add DFLL DVCO reset control for Tegra124 The DVCO present in the DFLL IP block has a separate reset line, exposed via the CAR IP block. This reset line is asserted upon SoC reset. Unless something (such as the DFLL driver) deasserts this line, the DVCO will not oscillate, although reads and writes to the DFLL IP block will complete. Thanks to Aleksandr Frid <afrid@xxxxxxxxxx> for identifying this and saving hours of debugging time. Signed-off-by: Paul Walmsley <pwalmsley@xxxxxxxxxx> [ttynkkynen: ported to tegra124 from tegra114] Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> [mikko.perttunen: ported to special reset callback] Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 66b6f3d07454a66ec029543c653d3bce7e6cb3c1 Author: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Date: Wed May 20 09:27:05 2015 +0300 clk: tegra: Introduce ability for SoC-specific reset control callbacks This patch allows SoC-specific CAR initialization routines to register their own reset_assert and reset_deassert callbacks with the common Tegra CAR code. If defined, the common code will call these callbacks when a reset control with number >= num_periph_banks * 32 is attempted to be asserted or deasserted respectively. Numbers greater than or equal to num_periph_banks * 32 are used to avoid clashes with low numbers that are automatically mapped to standard CAR reset lines. Each SoC with these special resets should specify the defined reset control numbers in a device tree header file. Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit fa63aa3dea48fd18e560c232424e080a2e2c4779 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:38 2015 +0300 clk: tegra: Add functions for parsing CVB tables Tegra CVB tables encode the relationship between operating voltage and optimal frequency as a function of the so-called speedo value. The speedo value is written to the on-chip fuses at the factory, which allows the voltage-frequency operating points to be calculated on an per-chip basis. Add utility functions to parse the Tegra-specific tables and export the voltage-frequency pairs to the generic OPP framework for other drivers to use. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c4fe70ada40f53e8cd5e6f8d9a2433781e935835 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:37 2015 +0300 clk: tegra: Add closed loop support for the DFLL With closed loop support, the clock rate of the DFLL can be adjusted. The oscillator itself in the DFLL is a free-running oscillator whose rate is directly determined the supply voltage. However, the DFLL module contains logic to compare the DFLL output rate to a fixed reference clock (51 MHz) and make a decision to either lower or raise the DFLL supply voltage. The DFLL module can then autonomously change the supply voltage by communicating with an off-chip PMIC via either I2C or PWM signals. This driver currently supports only I2C. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d8d7a08fa82ff7c241c74c2461f342c5685dda27 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:36 2015 +0300 clk: tegra: Add library for the DFLL clock source (open-loop mode) Add shared code to support the Tegra DFLL clocksource in open-loop mode. This root clocksource is present on the Tegra124 SoCs. The DFLL is the intended primary clock source for the fast CPU cluster. This code is very closely based on a patch by Paul Walmsley from December (http://comments.gmane.org/gmane.linux.ports.tegra/15273), which in turn comes from the internal driver by originally created by Aleksandr Frid <afrid@xxxxxxxxxx>. Subsequent patches will add support for closed loop mode and drivers for the Tegra124 fast CPU cluster DFLL devices, which rely on this code. Signed-off-by: Paul Walmsley <pwalmsley@xxxxxxxxxx> Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0c59d26770333cf605d9119a78dd6c1ebebc6a61 Author: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Date: Wed May 13 17:58:35 2015 +0300 clk: tegra: Add binding for the Tegra124 DFLL clocksource The DFLL is the main clocksource for the fast CPU cluster on Tegra124 and also provides automatic CPU rail voltage scaling as well. The DFLL is a separate IP block from the usual Tegra124 clock-and-reset controller, so it gets its own node in the device tree. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@xxxxxxxxxx> Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 228e5fadba3c7d6ef39bac087cd086ab9d68d945 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Jul 10 15:43:05 2015 -0500 ARM: OMAP2+: Remove module references from IOMMU machine layer The OMAP IOMMU driver has been adapted to the IOMMU framework for a while now, and it no longer supports being built as a module. Cleanup all the module related references both from the code and in the build. While at it, also relocate a comment around the initcall to avoid a checkpatch strict warning about using a blank line after function/struct/union/enum declarations. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ea827ad5ffbb78812f6dbdee005e1f364b6bdc58 Author: Nishanth Menon <nm@xxxxxx> Date: Mon Jun 22 10:12:14 2015 -0500 ARM: DRA7: Provide proper IO map table DRA7 uses OMAP5 IO table at the moment. This is purely spurious since the OMAP5 and DRA7 register maps are different in many aspects. AM57xx/DRA7 TRM Reference: http://www.ti.com/lit/ug/spruhz6/spruhz6.pdf NOTE: Most of the drivers are already doing ioremap, so, there should'nt be any functional improvement involved here, other than making the initial iotable more accurate. Fixes: a3a9384a1157 ("ARM: DRA7: Reuse io tables and add a new .init_early") Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d1dabab2841d546f8b946b4940fc63c15e35a739 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Jun 3 15:26:20 2015 -0700 ARM: OMAP2+: Clean up omap4_local_timer_init Inspired by a patch from Felipe Balbi <balbi@xxxxxx>, we can now get rid of most the code in omap4_local_timer_init. Omap4 is now device tree only.. And we have not properly supported omap4 ES1.0 revision for a really long time AFAIK. Let's just remove all that code to simplify things. This assumes we have arm,cortex-a9-twd-timer entry in the omap4.dtsi file, which we do. Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4c576229ac371bc9d96f2b365ebcd296aa266cec Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 15:55:33 2015 +0530 powerpc/signal: Fix confusing header documentation in sigcontext.h Commit ce48b2100785 "powerpc: Add VSX context save/restore, ptrace and signal support" expanded the 'vmx_reserve' array element to contain 101 double words, but the comment block above was not updated. Also reorder the constants in the array size declaration to reflect the logic mentioned in the comment block above. This change helps in explaining how the HW registers are represented in the array. But no functional change. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Reworded change log and added whitespace around +'s] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 829023df86d4ec39b110860cd5f106b7ac58f772 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 16:24:10 2015 +0530 powerpc/tm: Drop tm_orig_msr from thread_struct Currently tm_orig_msr is getting used during process context switch only. Then there is ckpt_regs which saves the checkpointed userspace context The MSR slot contained in ckpt_regs structure can be used during process context switch instead of tm_orig_msr, thus allowing us to drop it from thread_struct structure. This patch does that change. Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9a0cb98589037c0ccb6210f5fd827445b3710c5e Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 14:00:16 2015 +0200 ARM: OMAP2: Delete an unnecessary check The of_node_put() function tests whether its argument is NULL and then returns immediately if so. Furthermore, the kerneldoc for of_node_put() explicitly supports passing in a NULL pointer as its argument. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> [paul@xxxxxxxxx: dropped the omap_device.c and omap_hwmod.c changes for now, edited the commit message accordingly and to note the documented "contract"] Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 9e5d46b0510e686550c486c410491291c67e8f0e Author: Sekhar Nori <nsekhar@xxxxxx> Date: Sat Jul 11 20:29:16 2015 +0530 ARM: OMAP2+: sparse: add missing function declarations omap3xxx_restart() and omap44xx_restart() are global functions declared in common.h. Include this file in omap3-restart.c and omap4-restart.c to prevent sparse warnings of type: arch/arm/mach-omap2/omap4-restart.c:22:6: warning: symbol 'omap44xx_restart' was not declared. Should it be static? Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit f734a9b3b19e01d598d03a336de32a59a52c1575 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Sat Jul 11 20:29:15 2015 +0530 ARM: OMAP2+: sparse: add missing static declaration Add missing static declaration for file local variables. This fixes sparse warnings of type: arch/arm/mach-omap2/omap_hwmod_81xx_data.c:491:26: warning: symbol 'dm81xx_alwon_l3_slow__gpmc' was not declared. Should it be static? Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 0d0578815bac634aef6e64794e7ad2473fc7af44 Merge: 07e6a97 c305524 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 15 21:39:40 2015 -0700 Merge branch 'protodown' Anuradha Karuppiah says: ==================== net: Introduce protodown flag. User space daemons can detect errors in the network that need to be notified to the switch device drivers. Drivers can react to this error state by doing a phy-down on the switch-port which would result in a carrier-off locally and on the directly connected switch. Doing that would prevent loops and black-holes in the network. One such use case is the multi-chassis LAG application - 1. The MLAG application runs on peer switches (say Switch0 and Switch1) synchronizing states, forwarding entries etc. between the two switches over the peer-link (this is a link directly connecting the two switches). 2. An MLAG election process designates one of the switches as a primary (for e.g. Switch0 is primary and Switch1 is secondary). 3. The peer link plays a critical role in allowing Switch0-Switch1 to function as a single LAG partner to the downstream dual-connected servers. When the peer-link between the switches goes down we have a split-brain situation. Switch0 and Switch1 are no longer in sync and are acting independently. This can result in traffic loops and traffic black-holing in the network. 4. To prevent these problems the MLAG application on the secondary switch phy-downs the MLAG ports on detecting the peer-link down. This will be seen as a carrier down on servers that are dual-connected to Switch0 and Switch1. 5. Specifically a dual-connected server will see a carrier-down on the port connected to the MLAG secondary, Switch1, and will stop using that port for traffic TX. So traffic black holing is prevented. v6 to v7: Removed some unnecessary code in response to review comments. v5 to v6: Replaced proto_flags with a simple proto_down boolean attribute in response to Dave's comments. v4 to v5: Changed the ip link display format for protodown to match the set as recommended by Stephen. v3 to v4: I have moved protodown out of IFF_XXX and introduced a separate proto_flags field with IF_PROTOF_DOWN bit being used by apps to notify switch port errors. This is in response to Stephen's comments that adding a new IFF_XXX may break user space. I have used rocker as the sample switch driver. And to test this functionality I used the qemu-rocker patch that Scott sent out in response to the v3 posting (needed to set link up/down when phy is enabled/disabled). v1 to v2: Based on Dave's suggestion I have moved out aggregating of error bits across applications to a user space framework. This patch now simply notifies an aggregated error bit to drivers enabling them to handle the error gracefully. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c305524617dcd617d698dfe2682f3212e698f781 Author: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 13:43:21 2015 -0700 rocker: Handle protodown notifications. protodown can be set by user space applications like MLAG on detecting errors on a switch port. This patch provides sample switch driver changes for handling protodown. Rocker PHYS disables the port in response to protodown. Signed-off-by: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Wilson Kok <wkok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88d6378bd6c096cb8440face3ae3f33d55a2e6e4 Author: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 13:43:20 2015 -0700 netlink: changes for setting and clearing protodown via netlink. Signed-off-by: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Wilson Kok <wkok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d746d707a8b1421a4ba46b497cb5d59e20161645 Author: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 13:43:19 2015 -0700 net core: Add protodown support. This patch introduces the proto_down flag that can be used by user space applications to notify switch drivers that errors have been detected on the device. The switch driver can react to protodown notification by doing a phys down on the associated switch port. Signed-off-by: Anuradha Karuppiah <anuradhak@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Wilson Kok <wkok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07e6a97da1eba064bb35cfd5c121e90865393a60 Author: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 10:51:51 2015 -0500 ibmveth: add support for TSO6 This patch adds support for a new method of signalling the firmware that TSO packets are being sent. The new method removes the need to alter the ip and tcp checksums and allows TSO6 support. Signed-off-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd664f892e3e2b01c79197cad3111d54b7aedf39 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Thu Jul 9 09:39:42 2015 +0200 cxl: Destroy afu->contexts_idr on release of an afu Destroy afu->contexts_idr on release of an afu, reclaiming the allocated memory. Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b2a02ac65e40fb3900d176828a407b44bb33f9f4 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Wed Jul 8 17:14:36 2015 +0200 cxl: Destroy cxl_adapter_idr on module_exit Destroy cxl_adapter_idr on module exit, reclaiming the allocated memory. This was detected by the following semantic patch (written by Luis Rodriguez <mcgrof@xxxxxxxx>) <SmPL> @ defines_module_init @ declarer name module_init, module_exit; declarer name DEFINE_IDR; identifier init; @@ module_init(init); @ defines_module_exit @ identifier exit; @@ module_exit(exit); @ declares_idr depends on defines_module_init && defines_module_exit @ identifier idr; @@ DEFINE_IDR(idr); @ on_exit_calls_destroy depends on declares_idr && defines_module_exit @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... idr_destroy(&idr); ... } @ missing_module_idr_destroy depends on declares_idr && defines_module_exit && !on_exit_calls_destroy @ identifier declares_idr.idr, defines_module_exit.exit; @@ exit(void) { ... +idr_destroy(&idr); } </SmPL> Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2de8530ba0c71a2fba02590681af0f3a2a187a9b Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Jul 13 13:09:16 2015 -0700 hv_netvsc: Add close of RNDIS filter into change mtu call The current change mtu call only stops tx before removing RNDIS filter. In case ringbufer is not empty, the rndis_filter_device_remove() may hang on removing the buffers. This patch adds close of RNDIS filter before removing it, also a gradual waiting loop until the ring is empty. The change_mtu hang issue under heavy traffic is solved by this patch. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0b8da1e7613a11ce7e44560aae507b62da1f846 Author: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Mon Jul 13 23:28:10 2015 +0900 ipv6: Fix finding best source address in ipv6_dev_get_saddr(). Commit 9131f3de2 ("ipv6: Do not iterate over all interfaces when finding source address on specific interface.") did not properly update best source address available. Plus, it introduced possible NULL pointer dereference. Bug was reported by Erik Kline <ek@xxxxxxxxxx>. Based on patch proposed by Hajime Tazaki <thehajime@xxxxxxxxx>. Fixes: 9131f3de24db4dc12199aede7d931e6703e97f3b ("ipv6: Do not iterate over all interfaces when finding source address on specific interface.") Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Acked-by: Hajime Tazaki <thehajime@xxxxxxxxx> Acked-by: Erik Kline <ek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b476aadbc1409fef6be85f601117f2c6a331faa Author: Vipin K Parashar <vipin@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:36:01 2015 +0530 powerpc/powernv: Add poweroff (EPOW, DPO) events support for PowerNV platform This patch adds support for OPAL EPOW (Environmental and Power Warnings) and DPO (Delayed Power Off) events for the PowerNV platform. These events are generated on FSP (Flexible Service Processor) based systems. EPOW events are generated due to various critical system conditions that require system shutdown. A few examples of these conditions are high ambient temperature or system running on UPS power with low UPS battery. DPO event is generated in response to admin initiated system shutdown request. Upon receipt of EPOW and DPO events the host kernel invokes orderly_poweroff() for performing graceful system shutdown. Signed-off-by: Vipin K Parashar <vipin@xxxxxxxxxxxxxxxxxx> Acked-by: Vaibhav Jain <vaibhav@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ac10836b681289f7e430e52b106a209bbdcaa75e Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Fri Jun 19 15:57:45 2015 +0800 PCI: pciehp: Simplify pcie_poll_cmd() Move first slot status read into while to simplify code. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a6ed1f4e94e1883742ac79f09f9754ffacfae456 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Fri Jun 19 15:57:44 2015 +0800 PCI: Use "slot" and "pci_slot" for struct hotplug_slot and struct pci_slot Now in pci_hotplug_core.c, we randomly name a struct hotplug_slot and a struct pci_slot. It's easy to confuse them, so let us use "slot" for a struct hotplug_slot and "pci_slot" for a struct pci_slot. No functional change. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a01e72fbc41e322ed229465de8b595a7e3ec6549 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Jul 15 21:49:41 2015 -0400 tools/power turbostat: fix parameter passing for forked command turbostat supports forked command when sampling cpu state. However, the forked command is not allowed to be executed with options, otherwise turbostat might regard these options as invalid turbostat options. For example: ./turbostat stress -c 4 -t 10 ./turbostat: unrecognized option '-t' Reported-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 9243b25b2361a0818caaf8ab2ef7d1c5be4b1211 Merge: 40bdc53 76945bf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 15 17:31:14 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-07-14 This series contains updates to i40e and i40evf only. Joe Stringer and Jesse Gross add a ndo_features_check function to ensure that the i40e driver does not try to offload packets that exceed 80 bytes in length. Anjali adds additional stats to track flow director ATR and SB current state and flow director flush count which will help the need for verbose debug logs with respect to flow director. Also refines an error message to avoid confusion, so that it indicates what may have really happened when the init_shared_code() call possibly fails. Pawel adds new fields to the capabilities structures to handle Flex-10 device/function capabilities which is needed to support Flex-10 configs. Jesse improves the transmit performance by added a prefetch for the next transmit descriptor to be used when we know there are more coming. Mitch modifies i40evf driver to handle/allow an abundance of vectors. Currently the driver only maps transmit and receive queues to a single MSI-X vector per queue if there are exactly enough vectors for this, but if we have too many vectors, it will fail and allocate queues to vectors in a suboptimal manner. So change the condition check to allow for an excess number of vectors and won't use the extras. Also update the driver to just return success if the user attempts to set a port VLAN on a VF that already has the same port VLAN configured, instead of going through unnecessary filter removals & adds. Fix the MAC filters for VFs, which were being programmed with 0 for the VLAN value when there was no VLAN assigned. Instead, we must use -1 to indicate that no VLAN is in use. Fix the VF disable code, which was not properly cleaning up the VF and would leave the VF in an indeterminate state, so fix this by notifying the VF and then call the normal VF reset routine. Fix the logic in the driver so that MAC filters are added and removed correctly and added a check for the driver's hardware MAC address so that this filter does not get removed incorrectly. Carolyn removes incorrect #ifdef's which should not have been added in the first place and with the #ifdef's removed, make the necessary changes in the driver to resolve compile errors. Greg updates the admin queue command header defines. v2: fix indentation in patch 12 based on feedback from Sergei Shtylyov ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40bdc5360d0919b537e27d7c3feb78fd784c31f5 Author: Andrea Parri <parri.andrea@xxxxxxxxx> Date: Tue Jul 14 00:12:05 2015 +0200 pkt_sched: sch_qfq: remove unused member of struct qfq_sched The member (u32) "num_active_agg" of struct qfq_sched has been unused since its introduction in 462dbc9101acd38e92eda93c0726857517a24bbd "pkt_sched: QFQ Plus: fair-queueing service at DRR cost" and (AFAICT) there is no active plan to use it; this removes the member. Signed-off-by: Andrea Parri <parri.andrea@xxxxxxxxx> Acked-by: Paolo Valente <paolo.valente@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e29dd44325e2fe121088094dcb3055c8d9e5202a Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Mon Jul 13 21:51:38 2015 +0200 net: qlcnic: Deletion of unnecessary memset There is no need to memset memory allocated with vzalloc. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Acked-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aaf2c0fbbbb1ec56936e726eec6c253bc4bd469f Author: Lokesh Vutla <lokeshvutla@xxxxxx> Date: Wed Jun 10 14:56:24 2015 +0530 ARM: OMAP2+: hwmod: add support for lock and unlock hooks Some IP blocks like RTC, needs an additional setting for writing to its registers. This is to prevent any spurious writes from changing the register values. This patch adds optional lock and unlock function pointers to the IP block's hwmod data. These unlock and lock function pointers are called by hwmod code before and after writing sysconfig registers. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> [paul@xxxxxxxxx: fixed indentation level to conform with the rest of the structure members] Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 9061cb023567abf081569d6851b0815dd18437e6 Merge: aad0d51 7535414 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 15 17:13:24 2015 -0700 Merge branch 'gianfar_rx_sg' Claudiu Manoil says: ==================== gianfar: Add Rx S/G This patch-set introduces scatter/gather support on the Rx side, addressing Rx path performance issues in the driver. Thanks. As an example, two boards connected back-to-back were used to measure the throughput, running the same kernel 4.1, before and after applying these patches. The netperf UDP_STREAM results below show that the bottleneck lies on the Rx side BEFORE applying the patches, and that the Rx throughput is even lower with a larger MTU. AFTER applying the patches the Rx bottleneck is gone (Rx throughput matches the Tx one) and the RX throughput is not influenced by MTU size any longer (as expected). BEFORE: 1) MTU 1500 (default) root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 512 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 512 150.00 20119124 0 549.4 100.00 14.911 163840 150.00 14057349 383.9 100.00 14.911 root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 64 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 64 150.00 23654013 0 80.7 100.00 101.463 163840 150.00 15875288 54.2 100.00 101.463 2) MTU 8000 root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 512 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 512 150.00 20067232 0 548.0 100.00 14.950 163840 150.00 6113498 166.9 99.95 14.942 root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 64 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 64 150.00 23621279 0 80.6 100.00 101.604 163840 150.00 5868602 20.0 99.96 101.563 AFTER: (both MTU 1500 and MTU 8000) root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 512 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 512 150.00 19914969 0 543.8 100.00 15.064 163840 150.00 19914969 543.8 99.35 14.966 root@p1010rdb-pb:~# netperf -l 150 -cC -H 192.85.1.1 -p 12867 -t UDP_STREAM -- -m 64 MIGRATED UDP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.85.1.1 () port 0 AF_INET Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 163840 64 150.00 23433989 0 80.0 100.00 102.416 163840 150.00 23433989 80.0 99.62 102.023 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75354148ce697266b57c13d051ddffa3bb75fc9e Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Jul 13 16:22:06 2015 +0300 gianfar: Add paged allocation and Rx S/G The eTSEC h/w is capable of scatter/gather on the receive side too if MAXFRM > MRBLR, when the allowed maximum Rx frame size is set to be greater than the maximum Rx buffer size (MRBLR). It's about time the driver makes use of this h/w capability, by supporting fixed buffer sizes and Rx S/G. The buffer size given to eTSEC for reception is fixed to 1536B (must be multiple of 64), which is the same default buffer size as before, used to accommodate standard MTU (1500B) size frames. As before, eTSEC can receive frames of up to 9600B. Individual Rx buffers are mapped to page halves (page size for eTSEC systems is 4KB). The skb is built around the first buffer of a frame (using build_skb()). In case the frame spans multiple buffers, the trailing buffers are added as Rx fragments to the skb. The last buffer in frame is marked by the L status flag. A mechanism is in place to reuse the pages owned by the driver (for Rx) for subsequent receptions. Supporting fixed size buffers allows the implementation of Rx S/G, which in turn removes the memory pressure issues the driver had before when MTU was set for jumbo frame reception. Also, in most cases, the Rx path becomes faster due to Rx page reusal, since the overhead of allocating new rx buffers is removed from the fast path. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f23223f15fd7d359a08ea346a0a537ccaf417014 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Jul 13 16:22:05 2015 +0300 gianfar: Use ndev, more Rx path cleanup Use "ndev" instead of "dev", as the rx queue back pointer to a net_device struct, to avoid name clashing with a "struct device" reference. This prepares the addition of a "struct device" back pointer to the rx queue structure. Remove duplicated rxq registration in the process. Move napi_gro_receive() outside gfar_process_frame(). Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f966082e2065d223942cc40e0bc4841f84f0604d Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Jul 13 16:22:04 2015 +0300 gianfar: Fix and cleanup rxbd status handling There are several (long standing) problems about how the status field of the rx buffer descriptor (rxbd) is currently handled on the error path: - too many unnecessary 16bit reads of the two halves of the rxbd status field (32bit), also resulting in overuse of endianness convesion macros; - "bdp->status = RXBD_LARGE" makes no sense, since the "large" flag is read only (only eTSEC can write it), and trying to clear the other status bits is also error prone in this context (most of the rx status bits are read only anyway). This is fixed with a single 32bit read of the "status" field, and then the appropriate 16bit shifting is applied to access the various status bits or the rx frame length. Also corrected the use of the RXBD_LARGE flag. Additional fix: "rx_over_errors" stat is incremented instead of "rx_crc_errors" in case of RXBD_OVERRUN occurrence. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76f31e8b0911e620ac9191c8d3775cc91ed65c4c Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Jul 13 16:22:03 2015 +0300 gianfar: Bundle Rx allocation, cleanup Use a more common consumer/ producer index design to improve rx buffer allocation. Instead of allocating a single new buffer (skb) on each iteration, bundle the allocation of several rx buffers at a time. This also opens the path for further memory optimizations. Remove useless check of rxq->rfbptr, since this patch touches rx pause frame handling code as well. rxq->rfbptr is always initialized as part of Rx BD ring init. Remove redundant (and misleading) 'amount_pull' parameter. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa57aca8e15a4e11749640e16ac9814f14be24d2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Jul 16 02:01:28 2015 +0200 ACPI / PM: Update the copyright notice and description of power.c The description and copyright notice of drivers/acpi/power.c is out of date, so update it as appropriate. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 39561e8bbb49752092b6afd9764d3f3aeef4e1d2 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Jul 14 10:01:44 2015 +0900 gpio: of: remove unnecessary variable in of_get_gpio_hog() The variable "desc" is only used for storing the return value at the end of the function. It is unneeded. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4c52bd5c61118a47166ed5857f17698ce520b5fd Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jun 19 20:31:03 2015 +0900 gpio: mvebu: kill bogus dependency on GPIO_GENERIC The driver gpio-mvebu.c does not depend on gpio-generic.c at all. Drop unneeded "select GPIO_GENERIC". Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 41ec66c92299889ad30871aeede89b960f08a458 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Jun 17 20:59:42 2015 +0900 gpio: altera: use of_mm_gpiochip_remove() to fix memory leak This driver calls of_mm_gpiochip_add() to add a memory mapped gpio chip. So, of_mm_gpiochip_remove() should be used when removing it. The direct call of gpiochip_remove() misses unmapping the register and freeing the label. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1c8b5d688d7ef401c209f3fc84b7de8296f8908a Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Jun 17 20:59:43 2015 +0900 gpio: altera: fix return value of altera_gpio_remove() The remove callback never succeeds, which seems odd. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d58ec58f40dc188fbb08edaa8c17840f71fe8a0e Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jun 19 20:31:02 2015 +0900 gpio: altera: kill bogus dependency on GPIO_GENERIC The driver gpio-altera.c does not depend on gpio-generic.c at all. Drop unneeded "select GPIO_GENERIC". Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 80d2bf55a1257a277a808128f377ac69216b6587 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Jun 17 17:51:41 2015 +0900 gpio: zynq: add missing module_exit function This driver is tristate, so it should be cleanable. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Tested-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7c50181b69ce65b0a7db6936aca26f86b70e4436 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Wed Jun 17 18:00:41 2015 -0700 dt-bindings: brcmstb-gpio: document properties for wakeup Some brcmstb GPIO controllers can be used to wake from suspend, so use the de facto standard property 'wakeup-source' to mark the nodes of controllers with that capability. Also document interrupts-extended, which will be used for wakeup handling because the interrupt parent for the wake IRQ is different from the regular IRQ. While we're at it, a few more fixes: We don't actually use the "interrupt-names" property, so remove it from the listed optional properties and from the examples. And since we're modifying the examples, also follow Brian's suggestions to: - change #gpio-cells, #interrupt-cells, and brcm,gpio-bank-widths from hex to dec - use phandles Reviewed-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d32651f68785bd8d73b24481b62e428ca30a2546 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Jun 17 15:42:11 2015 +0200 gpiolib: Fix docs for gpiochip_add_pingroup_range gpiochip_add_pingroup_range() has a pctldev argument, not pinctrl. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit db3b0fcc5adbda0c7060c9298c2514778547fee2 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jun 12 18:20:35 2015 +0200 gpio: generic: add get_direction support Allow to determine the current direction configuration by reading back from the direction register. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d6a8c6d34222f7d9de4c819fbcfbaebb1e40e8a2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 09:14:01 2015 -0700 rcutorture: Enable lockdep-RCU on TASKS01 Currently none of the RCU-tasks scenarios enables lockdep-RCU, which causes bugs to be missed. This commit therefore enables lockdep-RCU on TASKS01. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 5be5d1a11775fadc6104789fad72fae46dff348e Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 08:57:57 2015 -0700 rcutorture: Add RCU-tasks qualifier to dereference Although RCU-tasks isn't really designed to support rcu_dereference() and list manipulation, that is how rcutorture tests it. Which means that lockdep-RCU complains about the rcu_dereference_check() invocations because RCU-tasks doesn't have read-side markers. This commit therefore creates a torturing_tasks() to silence the lockdep-RCU complaints from rcu_dereference_check() when RCU-tasks is being tortured. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 3a0af333415830d2a0ca77de832336af5aadced4 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 18:11:31 2015 -0700 rcutorture: Fix rcu_torture_cbflood() for callback-free RCU The rcu_torture_cbflood() function correctly checks for flavors of RCU that lack analogs to call_rcu() and rcu_barrier(), but in that case it fails to terminate correctly. In fact, it terminates so incorrectly that segfaults can result. This commit therefore causes rcu_torture_cbflood() to do the proper wait-for-stop procedure. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit e8e255f7191fb6491dd1d96cfbbe19981f6eb3dd Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu May 14 16:55:45 2015 -0700 rcutorture: Bounds-check rcutorture.shuffle_interval Specifying a negative rcutorture.shuffle_interval value will cause a negative value to be used as a sleep time. This commit therefore refuses to start shuffling unless the rcutorture.shuffle_interval value is greater than zero. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4444d852a99b8f0310f369da8473ec3639e380a7 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu May 14 15:42:40 2015 -0700 rcutorture: Check nfakewriters parameter Currently, a negative value for rcutorture.nfakewriters= can cause rcutorture to pass a negative size to the memory allocator, which is not really a particularly good thing to do. This commit therefore adds bounds checking to this parameter, so that values that are less than or equal to zero disable fake writing. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d9eba768839ac24e47606af36e50c14f10c2211c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu May 14 15:35:43 2015 -0700 rcutorture: Better bounds checking for n_barrier_cbs A negative value for rcutorture.n_barrier_cbs can pass a negative value to the memory allocator, so this commit instead causes rcu_barrier() testing to be disabled in this case. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 426216970e0458c1f507860f4837cbde66a72263 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:31 2015 +0200 rcu: Simplify arithmetic to calculate number of RCU nodes This update makes arithmetic to calculate number of RCU nodes more straight and easy to read. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit cb007102398edd06ffc4488bf841c2e10f14d2e7 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:30 2015 +0200 rcu: Limit count of static data to the number of RCU levels Although a number of RCU levels may be less than the current maximum of four, some static data associated with each level are allocated for all four levels. As result, the extra data never get accessed and just wast memory. This update limits count of allocated items to the number of used RCU levels. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 199977bff9efceec649d74510fa9754e107ce0c5 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:29 2015 +0200 rcu: Remove unnecessary fields from rcu_state structure Members rcu_state::levelcnt[] and rcu_state::levelspread[] are only used at init. There is no reason to keep them afterwards. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 05b84aec465c34da242a224d2438d192ca0feec7 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:28 2015 +0200 rcu: Limit rcu_capacity[] size to RCU_NUM_LVLS items Number of items in rcu_capacity[] array is defined by macro MAX_RCU_LVLS. However, that array is never accessed beyond RCU_NUM_LVLS index. Therefore, we can limit the array to RCU_NUM_LVLS items and eliminate MAX_RCU_LVLS. As result, in most cases the memory is conserved. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit a6d77081e266605c9f4d8c11e0ee00468b9dc614 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:27 2015 +0200 rcu: Limit rcu_state::levelcnt[] to RCU_NUM_LVLS items Variable rcu_num_lvls is limited by RCU_NUM_LVLS macro. In turn, rcu_state::levelcnt[] array is never accessed beyond rcu_num_lvls. Thus, rcu_state::levelcnt[] is safe to limit to RCU_NUM_LVLS items. Since rcu_num_lvls could be changed during boot (as result of rcutree.rcu_fanout_leaf kernel parameter update) one might assume a new value could overflow the value of RCU_NUM_LVLS. However, that is not the case, since leaf-level fanout is only permitted to increase, resulting in rcu_num_lvls possibly to decrease. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9618138b09260e3df5af5a0d7bdc8fca010f6a3f Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:26 2015 +0200 rcu: Simplify rcu_init_geometry() capacity arithmetics Current code suggests that introducing the extra level to rcu_capacity[] array makes some of the arithmetic easier. Well, in fact it appears rather confusing and unnecessary. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 679f9858b1769d740d933f5f1ad9dbe3292f26d2 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:25 2015 +0200 rcu: Cleanup rcu_init_geometry() code and arithmetics This update simplifies rcu_init_geometry() code flow and makes calculation of the total number of rcu_node structures more easy to read. The update relies on the fact num_rcu_lvl[] is never accessed beyond rcu_num_lvls index by the rest of the code. Therefore, there is no need initialize the whole num_rcu_lvl[]. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 372b0ec24f6b516174934d68fd86d2056f1a5bba Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:24 2015 +0200 rcu: Remove superfluous local variable in rcu_init_geometry() Local variable 'n' mimics 'nr_cpu_ids' while the both are used within one function. There is no reason for 'n' to exist whatsoever. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 75cf15a4c0dd57f5d230bd30c2d41bd8e06ae5a9 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Jun 3 08:18:23 2015 +0200 rcu: Panic if RCU tree can not accommodate all CPUs Currently a condition when RCU tree is unable to accommodate the configured number of CPUs is not permitted and causes a fall back to compile-time values. However, the code has no means to exceed the RCU tree capacity neither at compile-time nor in run-time. Therefore, if the condition is met in run- time then it indicates a serios problem elsewhere and should be handled with a panic. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 319362c90f7af92d03714759bea5d2ba7c88e388 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue May 19 14:16:52 2015 -0700 rcu: Provide more diagnostics for stalled GP kthread Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f765d1130700878c2275bc1ea09eed428f870a2a Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Wed May 27 08:56:25 2015 +0200 rcu: Change return type to bool Type-checking coccinelle spatches are being used to locate type mismatches between function signatures and return values in this case this produced: ./kernel/rcu/srcu.c:271 WARNING: return of wrong type int != unsigned long, srcu_readers_active() returns an int that is the sum of per_cpu unsigned long but the only user is cleanup_srcu_struct() which is using it as a boolean (condition) to see if there is any readers rather than actually using the approximate number of readers. The theoretically possible unsigned long overflow case does not need to be handled explicitly - if we had 4G++ readers then something else went wrong a long time ago. proposal: change the return type to boolean. The function name is left unchanged as it fits the naming expectation for a boolean. patch was compile tested for x86_64_defconfig (implies CONFIG_SRCU=y) patch is against 4.1-rc5 (localversion-next is -next-20150525) Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d5671f6bf2a672cfa72ef2cbac5cc53a4539690d Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue May 26 17:48:34 2015 +0200 rcu: Deinline rcu_read_lock_sched_held() if DEBUG_LOCK_ALLOC DEBUG_LOCK_ALLOC=y is not a production setting, but it is not very unusual either. Many developers routinely use kernels built with it enabled. Apart from being selected by hand, it is also auto-selected by PROVE_LOCKING "Lock debugging: prove locking correctness" and LOCK_STAT "Lock usage statistics" config options. LOCK STAT is necessary for "perf lock" to work. I wouldn't spend too much time optimizing it, but this particular function has a very large cost in code size: when it is deinlined, code size decreases by 830,000 bytes: text data bss dec hex filename 85674192 22294776 20627456 128596424 7aa39c8 vmlinux.before 84837612 22294424 20627456 127759492 79d7484 vmlinux (with this config: http://busybox.net/~vda/kernel_config) Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> CC: Josh Triplett <josh@xxxxxxxxxxxxxxxx> CC: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> CC: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> CC: Tejun Heo <tj@xxxxxxxxxx> CC: Oleg Nesterov <oleg@xxxxxxxxxx> CC: linux-kernel@xxxxxxxxxxxxxxx Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 96d7744e0a5631a1b5fef2a97658150b165f02b6 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 13 15:55:52 2015 -0700 doc: Call out smp_mb__after_unlock_lock() transitivity Although "full barrier" should be interpreted as providing transitivity, it is worth eliminating any possible confusion. This commit therefore adds "(including transitivity)" to eliminate any possible confusion. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9af194cefc3c40e75a59df4cbb06e1c1064bee7f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:33:24 2015 -0700 documentation: Replace ACCESS_ONCE() by READ_ONCE() and WRITE_ONCE() Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 57aecae950c55ef50934640794160cd118e73256 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon May 18 18:27:42 2015 -0700 documentation: Fix variable-name typo in memory-barriers.txt Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 297f739938908a4262603314576e32ee7375296c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu May 14 17:31:07 2015 -0700 documentation: Fix spelling of "operators" Reported-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 21b05de4c8fac08fff08cf84ef1d4fe5786f9608 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu May 14 17:29:51 2015 -0700 documentation: Bring rcutorture parameters up to date This commit changes the documentation of the rcutorture parameters to better match reality. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 113e0d118a93c964feea376de8c94dd8c7c63ff8 Author: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Date: Wed Jul 15 14:59:46 2015 +0530 PCI / ACPI: Fix pci_acpi_optimize_delay() comment The function takes ACPI handle, not the device itself. Fix the comment Signed-off-by: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b9e23f321940d2db2c9def8ff723b8464fb86343 Author: Vignesh R <vigneshr@xxxxxx> Date: Wed Jun 3 17:21:20 2015 +0530 ARM: OMAP2+: DRA7: clockdomain: change l4per2_7xx_clkdm to SW_WKUP Legacy IPs like PWMSS, present under l4per2_7xx_clkdm, cannot support smart-idle when its clock domain is in HW_AUTO on DRA7 SoCs. Hence, program clock domain to SW_WKUP. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Acked-by: Tero Kristo <t-kristo@xxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit e913bfb60bee349b1b8bf53b1749c1d43ba8bddb Merge: 40403c1 2155971 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 15 12:32:09 2015 -0700 Merge tag 'iio-for-4.3a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: First round of new drivers, cleanups and functionality for IIO in the 4.3 cycle. Core and tools new stuff * Allow explicit flush of hardware fifo by using an non blocking read. This is needed to support some of the Android requirements for HW fifo devices - also makes sense generally and clarifies a corner of the ABI. * Add some missing modifier names. Mostly these exist for weird and wonderful event types, but should still be present in the name array. * Update iio_event_monitor to cope with new channel types. * generic_buffer gains support for single byte scan elements (no idea how this never got implemented before!) New device support * ROHM rpr0521 light and proximity sensor driver. * bmc150 gains bmc156 support. * ms5611 gains ms5607 temperature and pressure sensor support. Driver functionality * inv-mpu - add scale_available attributes to aid userspace in configuring these devices. * isl29125 - add scale_available attributes. * stk8ba50 - sampling frequency control, triggered buffer support. * stk8312 - sampling frequency control, triggered buffer support. * cc10001 - ensure ADC powered up at probe time if shared by non linux running CPUs. * bmc150-magn - decouple the buffer and trigger allowing other triggers to be used to drive this device's sampling. Documentation * Add some previously missed *scale_available attributes to the ABI docs. Cleanups * Clarify some crazy naming in iio_triggered_buffer_setup that seems to have somehow ended up backwards (dates back a long way). Avoid the top half and bottom half naming entirely given we are how dealing with a handler and a thread in all cases. * Tools cleanup including coding style, variable naming improvements, also a new sanity check on a full event having been read. * stk8ba50 - replace the scale table with a struct for clarity. Also suspend the sensor if an error occurs in init. * hid-sensor-prox - drop uneeded line break. * mma9551 - use size in words for word read / write avoiding accidental sending of an odd number of bytes. * mma9553 - fix code alignment and document the use of a mutex. * light/Kconfig - typo fix in commment. * cm3323 - don't eat an error value, replace an unneeded local variable with a generic local variable with the same use, add some blank lines for clarity. * pressure/Kconfig - typo in Measurement Specialties name. * bmc150-accel - actually use a mask definition rather than repeating the value inline, code style cleanup. * adc/Kconfig - general help description cleanup. * ssp_sensors - drop redundant spi driver bus initialization (done in the spi core) * tmp006 - use genmask rather than hand generated masks. * ms5611 - drop IIO_CHAN_INFO_SCALE as this driver provides a processed output and as such the read only scale adds nothing useful. * kxcjk-1013, adf4350, dummy - drop unwanted blank lines. * Drop all owner assignments from i2c_drivers and this is done in the i2c core. commit 221272f97ca528048a577a3ff23d7774286ca5fd Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Mon Jun 15 15:29:16 2015 -0700 seccomp: swap hard-coded zeros to defined name For clarity, if CONFIG_SECCOMP isn't defined, seccomp_mode() is returning "disabled". This makes that more clear, along with another 0-use, and results in no operational change. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 13c4a90119d28cfcb6b5bdd820c233b86c2b0237 Author: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> Date: Sat Jun 13 09:02:48 2015 -0600 seccomp: add ptrace options for suspend/resume This patch is the first step in enabling checkpoint/restore of processes with seccomp enabled. One of the things CRIU does while dumping tasks is inject code into them via ptrace to collect information that is only available to the process itself. However, if we are in a seccomp mode where these processes are prohibited from making these syscalls, then what CRIU does kills the task. This patch adds a new ptrace option, PTRACE_O_SUSPEND_SECCOMP, that enables a task from the init user namespace which has CAP_SYS_ADMIN and no seccomp filters to disable (and re-enable) seccomp filters for another task so that they can be successfully dumped (and restored). We restrict the set of processes that can disable seccomp through ptrace because although today ptrace can be used to bypass seccomp, there is some discussion of closing this loophole in the future and we would like this patch to not depend on that behavior and be future proofed for when it is removed. Note that seccomp can be suspended before any filters are actually installed; this behavior is useful on criu restore, so that we can suspend seccomp, restore the filters, unmap our restore code from the restored process' address space, and then resume the task by detaching and have the filters resumed as well. v2 changes: * require that the tracer have no seccomp filters installed * drop TIF_NOTSC manipulation from the patch * change from ptrace command to a ptrace option and use this ptrace option as the flag to check. This means that as soon as the tracer detaches/dies, seccomp is re-enabled and as a corrollary that one can not disable seccomp across PTRACE_ATTACHs. v3 changes: * get rid of various #ifdefs everywhere * report more sensible errors when PTRACE_O_SUSPEND_SECCOMP is incorrectly used v4 changes: * get rid of may_suspend_seccomp() in favor of a capable() check in ptrace directly v5 changes: * check that seccomp is not enabled (or suspended) on the tracer Signed-off-by: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> CC: Will Drewry <wad@xxxxxxxxxxxx> CC: Roland McGrath <roland@xxxxxxxxxxxxx> CC: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> CC: Serge E. Hallyn <serge.hallyn@xxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> [kees: access seccomp.mode through seccomp_mode() instead] Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 8225d3853f34f6cf9caff15d8c385a528e0d7cb1 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Nov 21 10:06:01 2014 -0500 seccomp: Replace smp_read_barrier_depends() with lockless_dereference() Recently lockless_dereference() was added which can be used in place of hard-coding smp_read_barrier_depends(). The following PATCH makes the change. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 7d1442b4c4142d94a83451d4e7a11db8aee132ab Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Jul 15 23:02:39 2015 +0900 ASoC: Fix warning caused by a typo in comments of snd_soc_add_platform() This patch fix following warnings. Warning(.//sound/soc/soc-core.c:2855): No description found for parameter 'platform_drv' Warning(.//sound/soc/soc-core.c:2855): Excess function parameter 'platform_driver' description in 'snd_soc_add_platform' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 231b86b1d81a75e5212329e2c42faefddcaa9208 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Jul 15 23:02:38 2015 +0900 ASoC: Fix warning while make xmldocs caused by soc-core.c This patch fix following warning while make xmldocs. Warning(.//sound/soc/soc-core.c:2148): No description found for parameter 'ratio' Add missing ":" Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c7941dee9c41d6ab5a8be06ec44aa579a6123e1 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Jul 14 17:51:10 2015 +0200 netfilter: xtables: remove __pure annotation sparse complains: ip_tables.c:361:27: warning: incorrect type in assignment (different modifiers) ip_tables.c:361:27: expected struct ipt_entry *[assigned] e ip_tables.c:361:27: got struct ipt_entry [pure] * doesn't change generated code. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit dcebd3153e0a7749bb054ab73fa4e1ca33e9d3f9 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Jul 14 17:51:09 2015 +0200 netfilter: add and use jump label for xt_tee Don't bother testing if we need to switch to alternate stack unless TEE target is used. Suggested-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7814b6ec6d0d63444abdb49554166c8cfcbd063e Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Jul 14 17:51:08 2015 +0200 netfilter: xtables: don't save/restore jumpstack offset In most cases there is no reentrancy into ip/ip6tables. For skbs sent by REJECT or SYNPROXY targets, there is one level of reentrancy, but its not relevant as those targets issue an absolute verdict, i.e. the jumpstack can be clobbered since its not used after the target issues absolute verdict (ACCEPT, DROP, STOLEN, etc). So the only special case where it is relevant is the TEE target, which returns XT_CONTINUE. This patch changes ip(6)_do_table to always use the jump stack starting from 0. When we detect we're operating on an skb sent via TEE (percpu nf_skb_duplicated is 1) we switch to an alternate stack to leave the original one alone. Since there is no TEE support for arptables, it doesn't need to test if tee is active. The jump stack overflow tests are no longer needed as well -- since ->stacksize is the largest call depth we cannot exceed it. A much better alternative to the external jumpstack would be to just declare a jumps[32] stack on the local stack frame, but that would mean we'd have to reject iptables rulesets that used to work before. Another alternative would be to start rejecting rulesets with a larger call depth, e.g. 1000 -- in this case it would be feasible to allocate the entire stack in the percpu area which would avoid one dereference. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e7c8899f3e6f2830136cf6e115c4a55ce7a3920a Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Jul 14 17:51:07 2015 +0200 netfilter: move tee_active to core This prepares for a TEE like expression in nftables. We want to ensure only one duplicate is sent, so both will use the same percpu variable to detect duplication. The other use case is detection of recursive call to xtables, but since we don't want dependency from nft to xtables core its put into core.c instead of the x_tables core. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 98d1bd802cdbc8f56868fae51edec13e86b59515 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Jul 14 17:51:06 2015 +0200 netfilter: xtables: compute exact size needed for jumpstack The {arp,ip,ip6tables} jump stack is currently sized based on the number of user chains. However, its rather unlikely that every user defined chain jumps to the next, so lets use the existing loop detection logic to also track the chain depths. The stacksize is then set to the largest chain depth seen. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit fd2ecda0341960d0ce361d648cf4dd98187afb06 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jul 10 18:15:44 2015 -0500 netfilter: nftables: Only run the nftables chains in the proper netns - Register the nftables chains in the network namespace that they need to run in. - Remove the hacks that stopped chains running in the wrong network namespace. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 085db2c04557d31db61541f361bd8b4de92c9939 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jul 10 18:15:06 2015 -0500 netfilter: Per network namespace netfilter hooks. - Add a new set of functions for registering and unregistering per network namespace hooks. - Modify the old global namespace hook functions to use the per network namespace hooks in their implementation, so their remains a single list that needs to be walked for any hook (this is important for keeping the hook priority working and for keeping the code walking the hooks simple). - Only allow registering the per netdevice hooks in the network namespace where the network device lives. - Dynamically allocate the structures in the per network namespace hook list in nf_register_net_hook, and unregister them in nf_unregister_net_hook. Dynamic allocate is required somewhere as the number of network namespaces are not fixed so we might as well allocate them in the registration function. The chain of registered hooks on any list is expected to be small so the cost of walking that list to find the entry we are unregistering should also be small. Performing the management of the dynamically allocated list entries in the registration and unregistration functions keeps the complexity from spreading. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 0edcf282b0a6f38168294264837cf7d52a2f5255 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jul 10 18:14:30 2015 -0500 netfilter: Factor out the hook list selection from nf_register_hook - Add a new function find_nf_hook_list to select the nf_hook_list - Fail nf_register_hook when asked for a per netdevice hook list when support for per netdevice hook lists is not built into the kernel. - Move the hook list head selection outside of nf_hook_mutex as nothing in the selection requires the hook list, and error handling is simpler if a mutex is not held. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4c0911566dec7755d15cb89239fb2db4447f7a62 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jul 10 18:13:58 2015 -0500 netfilter: Simply the tests for enabling and disabling the ingress queue hook Replace an overcomplicated switch statement with a simple if statement. This also removes the ingress queue enable outside of nf_hook_mutex as the protection provided by the mutex is not necessary and the code is clearer having both of the static key increments together. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 70aa996601335ca3069190ebcdae8870828086a8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jul 10 18:13:20 2015 -0500 netfilter: kill nf_hooks_active The function obscures what is going on in nf_hook_thresh and it's existence requires computing the hook list twice. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 0d6ef0688d8744454646298b85336407be05e309 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 15:42:49 2015 +0900 ipvs: Delete an unnecessary check before the function call "module_put" The module_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 264954811af62dcfe17fc44cef379b315bb066eb Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 15 14:15:52 2015 +0200 drm/i915: Invert fastboot check Fastboot should only downgrade a modeset if we have a match, not be used to upgrade to a full modeset. Otherwise we can only use it in a very restricted way: Initial modeset when the request mode is the preferred one of the panel and there's still a pfit active. And that only works because our mode_from_pipe_config fills in the wrong mode (it takes the adjusted mode, not the requested one). But we want fast modesets everywhere even after boot-up (especially for testing, but not only there). Hence we need to be able to make any modeset a fast one, which means we need to invert the logic and optionally downgrade a modeset. Note that this needs ->connector_changed split out from ->mode_changed otherwise it's not going to work (because we might loose a modeset because connectors changed but otherwise the config matches). As soon as that's merged we can drop the i915.fastboot check from this code. Also make sure that we don't accidentally clear any_ms and that we add the planes for any kind of modeset. Finally rename fastboot to fastset (yeah it's a silly name) since this really isn't about booting all that much. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1ed51de9ca9170d1c5361924a17e7c483050aeb6 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 15 14:15:51 2015 +0200 drm/i915: Clarify logic for initial modeset Currently we both set mode->private_flags to some value and also use the pipe_config quirk. But since the pipe_config quirk isn't tied to the lifetime of the mode object we need to check both. Simplify this by only using mode.private_flags and stop using the INHERITED_MODE quirk. Also for clarity add an explicit #define for that driver priavete mode flag. By using crtc_state->mode_changed we can also remove the recalc local variable. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e2ff2d4a467511ef88ae574555ddc0e952777f0c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 15 14:15:50 2015 +0200 drm/i915: Unconditionally check gmch pfit state Now that we recompute the pipe config for all CRTCs that have changed we don't have problems with stale configuration data for the global pfit and can remove this hack. Yay! Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ca6e4405779ed56ebac941570615abd667c72c02 Merge: 8f539a8 ccfb8b2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 15 16:36:50 2015 +0200 Merge tag 'drm-intel-fixes-2015-07-15' into drm-intel-next-queued Backmerge fixes since it's getting out of hand again with the massive split due to atomic between -next and 4.2-rc. All the bugfixes in 4.2-rc are addressed already (by converting more towards atomic instead of minimal duct-tape) so just always pick the version in next for the conflicts in modeset code. All the other conflicts are just adjacent lines changed. Conflicts: drivers/gpu/drm/i915/i915_drv.h drivers/gpu/drm/i915/i915_gem_gtt.c drivers/gpu/drm/i915/intel_display.c drivers/gpu/drm/i915/intel_drv.h drivers/gpu/drm/i915/intel_ringbuffer.h Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit b1d725ee58759359b12d2e8a6740f1cdb2091403 Merge: 216883a 80edaae Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Jul 15 10:17:14 2015 -0400 Merge tag 'omap-for-v4.3/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap dts changes for v4.3, part 1" from Tony Lindgren: Omap dts changes for v4.3 merge window. There are also related changes for reemoteproc platform_data and audio options for omap2plus_defconfig to keep audio working when changing boards to use SIMPLE_CARD. The summary of changes is: - A large set of audio related changes for SIMPLE_CARD from Peter Ujfalusi <peter.ujfalusi@xxxxxx> for am335x and am437x - Pinctrl dts defines for dra7 virtual mode to configure timings - Change to use cpsw slave0 for dra7 Ethernet - Remove unconfigured and wrong l3-mux entry for dm816x - Add support for Gumstix Palo35 and TobiDuo boards, and Overo PoP NAND and McBSP2 - Start using new HDMI binding for tilcdc - Start using new sDMA crossbar for dra7 - Start using rproc for am335x and am437x M3 coprocessor * tag 'omap-for-v4.3/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (32 commits) ARM: dts: am335x-evm: Switch using simple-audio-card for audio support ARM: dts: am335x-evm: Add sleep pin settings for mcasp1 ARM: dts: am335x-evm: Rename pinctrl section for McASP1 ARM: dts: am335x-evm: Fix mcasp1 node's indentation ARM: dts: am335x-evmsk: Switch using simple-audio-card for audio support ARM: dts: am335x-evmsk: Add sleep pin settings for mcasp1 ARM: dts: am335x-evmsk: Fix mcasp1 node's indentation ARM: dts: am437x-gp-evm: Enable analog audio via simple-card ARM: dts: am437x-gp-evm: McASP1 node for audio support ARM: dts: am437x-gp-evm: Add node for tlv320aic3106 audio codec ARM: dts: am437x-gp-evm: Rename fixed regulator vmmcsd_fixed to evm_v3_3d ARM: dts: am437x-gp-evm: Add gpio-hog for configuring the display/audio mux ARM: dts: am43xx-epos-evm: Enable analog audio via simple-card ARM: dts: am43xx-epos-evm: Add node for tlv320aic3111 audio codec ARM: dts: am43xx-epos-evm: McASP1 node for audio support ARM: dts: am43xx-epos-evm: Add regulator for VBAT and DCDC4 of tps65218 ARM: dts: am43xx-epos-evm: Add gpio-hog for configuring the display/audio mux ARM: dts: am437x-sk-evm: Switch using simple-audio-card for audio support ARM: dts: am437x-sk-evm: Add sleep pin settings for mcasp1 ARM: omap2plus_defconfig: Enable audio related config options ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6802b7876efd538c56a1df70ce0b7d1cbe03ced7 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Thu Jan 15 22:58:34 2015 -0800 ARM: dts: Add sbs-battery dts fragment used by chromebooks This patch creates a sbs-battery fragment for batteries connected to the i2c tunnel of the cros-ec embedded controller. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit 8f539a83efa7dceb7c2257ca96e2dfc846bd12f6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:32 2015 +0200 drm/i915: always disable irqs in intel_pipe_update_start This can only fail because of a bug in the code. Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> [danvet: Squash in follow-up to also remove start_vbl_count from intel_crtc->atomic and put it into the intel_crtc directly - it's not precomputed state.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 342defd8646dff96f87cf44c4eee4dfdf0dd8d00 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:33 2015 +0200 drm/i915: Remove use of runtime pm in atomic commit functions We needed this originally for updating pagetables in plane commit functions. But that's extracted into prepare/cleanup now. The other issue was running updates when the pipe was off. That's also now fixed. Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f6ac4b2a121fd3362407b21e36ec71d9886ce379 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:31 2015 +0200 drm/i915: Call plane update functions directly from intel_atomic_commit. Now that there's only a single path for all atomic updates we can call intel_(pre/post)_plane_update from intel_atomic_commit directly. This makes the intention more clear. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74c090b1bdc57b1c9f1361908cca5a3d8a80fb08 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:30 2015 +0200 drm/i915: Use full atomic modeset. Huzzah! \o/ Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9b01435d2802148fcf6e061df0e4926768eeb133 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jul 14 15:01:30 2015 +0100 drm/i915/gen9: Add WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken In Indirect context w/a batch buffer, +WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken v2: SKL revision id was used for BXT, copy paste error found during internal review (Bob Beckett). v3: explain why part of the WA is in Per ctx batch (Mika) Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a4106a782d11d44f6740ec8868ad1863546f832a Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jul 14 15:01:29 2015 +0100 drm/i915/gen9: Add WaFlushCoherentL3CacheLinesAtContextSwitch workaround In Indirect context w/a batch buffer, +WaFlushCoherentL3CacheLinesAtContextSwitch:skl,bxt v2: address static checker warning where unsigned value was checked for less than zero which is never true (Dan Carpenter). v3: The WA uses default value of GEN8_L3SQCREG4 during flush but that disables some other WA; update default value to retain it and document dependency (Mika). Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0907c8f7e0047956dabdd70368a710dc048793eb Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jul 14 15:01:28 2015 +0100 drm/i915/gen9: Add WaDisableCtxRestoreArbitration workaround In Indirect and Per context w/a batch buffer, +WaDisableCtxRestoreArbitration v2: SKL revision id was used for BXT, copy paste error found during internal review (Bob Beckett). v3: use updated macro. Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Robert Beckett <robert.beckett@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0504cffc7b128dc4bd751821abe7c47203d7bd62 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jul 14 15:01:27 2015 +0100 drm/i915: Enable WA batch buffers for Gen9 This patch only enables support for Gen9, the actual WA will be initialized in subsequent patches. The WARN that we use to warn user if WA batch support is not available for a particular Gen is replaced with DRM_ERROR as warning here doesn't really add much value. v2: include all infrastructure bits in this patch so that subsequent changes only correspond the WA added (Chris) v3: use updated macro. Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6381b55016ec76f18cbc8685ca0774dd4584651b Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Tue Jul 14 14:41:15 2015 +0100 drm/i915/gen9: Implement WaDisableKillLogic for gen 9 v2: Patch leakage fixed Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec081cb337a1edc793d7aa53baa9b8afa096678d Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Jul 15 19:25:42 2015 +0900 drm: Fix warning with make xmldocs caused by drm_irq.c This patch fix following warnings. Warning(.//drivers/gpu/drm/drm_irq.c:1279): No description found for parameter drm_crtc' Warning(.//drivers/gpu/drm/drm_irq.c:1279): Excess function parameter 'crtc' description in 'drm_crtc_vblank_reset' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c07a4de5baad76585f7ffb86b5b0bc34c33e8a6 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Jul 15 13:21:44 2015 +0900 ASoC: drivers: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5e412a99c07382bda3643f9532d2769141efc7d Merge: 6adcafa c4a99a4 5e4cb7b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Jul 15 12:50:33 2015 +0100 Merge branches 'topic/rt298', 'topic/ts3a227e' and 'topic/cs42xx8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-owner commit 1aae50a245736aec603c319fea2a83a90dc69aba Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Jul 10 16:03:25 2015 -0700 spi: spi-pxa2xx: Remove clk.h include Clock provider drivers generally shouldn't include clk.h because it's the consumer API. Remove the include here because this is a provider driver. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e2175d42e435b7957bfaa921fc27cb40e923372 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 15 13:50:49 2015 +0800 ASoC: sirf-audio-codec: Staticise local symbols Also make sirf_audio_codec_dai_ops const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a01da00cbccc162a86c78f61ed4ca55dad35440f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 15 09:51:33 2015 +0800 ASoC: da732x: Merge da732x_dai1_ops and da732x_dai2_ops da732x_dai1_ops is identical to da732x_dai2_ops, so merge them to da732x_dai_ops. The da732x_dai_ops is not modified after initialization, so make it const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 64793047558781330a1d13b159a2bc9385bdf97f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 15 15:38:14 2015 +0800 ASoC: Constify snd_soc_dai_ops variables The snd_soc_dai_ops variables are not modified after initialization in these drivers, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fe467ad1e430ffbde37a61a7dacf6218f420d78b Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Wed Jul 15 15:05:48 2015 +0800 arm64: dts: sprd: adding ETM entries to Spreadtrum SC9836 Since ETMv4 driver has been merged, this patch adds ETM nodes for SC9836, and four funnel input ports to connect with ETM output ports. Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 346add7834557b5b9628b9bf2387106d42e631d4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 14 18:07:30 2015 +0200 drm/i915: Use expcitly fixed type in compat32 structs I was confused shortly whether the compat was needed for the int, until I noticed the pointer in the original. Also remove typedef. v2: Review from Chris. - Add comments. - Also change the int param in the original structure. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1f7457b135b075e7a60c9133723363045084c333 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 11:55:05 2015 +0200 drm/i915: Fix noatomic crtc disabling, v2. This fixes the breakage caused by commit eddfcbcdc27fbecb33bff098967bbdd7ca75bfa6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:53 2015 +0200 drm/i915: Update less state during modeset. No need to repeatedly call update_watermarks, or update_fbc. Down to a single call to update_watermarks in .crtc_enable Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Add missing shared dpll disable to the noatomic disable function. This function will be replaced by its atomic counterpart soon. Changes since v1: - intel_crtc->active and watermarks are fixed by a patch from Patrik Jakobsson Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cd13f5ab42a63d267f452ac5fd641136c7b8f17c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 14:12:02 2015 +0200 drm/i915: fill in more mode members Fill in driver type, hsync, vrefresh and name. Those members are not read out but can be calculated from the mode. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40403c1b13cb01d9125df80789b574c2d4172cc0 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:48 2015 -0700 staging: sm750fb: add missing blank line after declarations Fixes checkpatch.pl WARNING: Missing a blank line after declarations Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b05cbe8b60beb31919baa2b010cd7776904b17b Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:47 2015 -0700 staging: sm750fb: remove unnecessary braces Fixes checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cebafd8d6fd3a55671c2c5ee88ff27ad1bf9f1d3 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:46 2015 -0700 staging: sm750fb: move while to follow do close brace Fixes checkpatch.pl error: ERROR: while should follow close brace '}' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 259fef35c7688c105137f286c2dc5780979686c9 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:45 2015 -0700 staging: sm750fb: fix brace placement Fix brace placement errors caught by checkpatch.pl ERROR: that open brace { should be on the previous line Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1fe154f0f3dea1ba48aa4e96dbb0deec5c17125 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:44 2015 -0700 staging: sm750fb: remove unnecessary whitespace Fixes checkpatch.pl warning: WARNING: unnecessary whitespace before a quoted newline Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 919ca7c63b26c06ed825a31e5b050ca4790c3ef0 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:43 2015 -0700 staging: sm750fb: remove trailing whitespace Fixes checkpatch.pl error: ERROR: trailing whitespace Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adbb90e83062da1884eaeae4d1d9e0884e92ee6d Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:42 2015 -0700 staging: sm750fb: add space after semicolon Fixes checkpatch.pl error: ERROR: space required after that ';' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d5e63c4626c0f8b3c8a12e8ce9a557273ce72ee Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:41 2015 -0700 staging: sm750fb: add spaces around operators Fixes checkpath.pl error: ERROR: spaces required around that operator Note running checkpatch.pl with '--strict' catches more of these errors along with cases where spacing is optional but preferred. Take care of these in a future patch. Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ab5b6d16bba08e9665d4ae1b122b55642d990b3 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:40 2015 -0700 staging: sm750fb: consistent spacing around operators Fixes checkpatch.pl error: ERROR: need consistent spacing around operator Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7d8b69a1d6dac9d650714e82390f3b63e2e582f Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:39 2015 -0700 staging: sm750fb: add space after return type Fixes checkpatch.pl warning: WARNING: missing space after return type Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d14c13ae03ed4a8d79f14507eabb1d59cc85b3b Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:38 2015 -0700 staging: sm750fb: add space after struct definition Fixes checkpatch.pl warning: WARNING: missing space after struct definition Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b63f3dcab161c18f5ce3741dde07c29364a4af6b Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:37 2015 -0700 staging: sm750fb: add space after enum definition Fixes checkpatch.pl warning: WARNING: missing space after enum definition Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6338a78132f893b6c40c349d7c8034002dfe86cf Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:36 2015 -0700 staging: sm750fb: add space after close brace Fixes checkpatch.pl error: ERROR: space required after that close brace '}' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c11f5a2805bd2c257b706d7499ed531b6c5aa5f Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:35 2015 -0700 staging: sm750fb: add space before open brace Fixes checkpatch.pl error: ERROR: space required before the open brace '{' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b68a17a2ed8285ee8679648e1cbc39202c41d9fa Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:34 2015 -0700 staging: sm750fb: remove space between function name and parenthesis Fixes checkpatch.pl warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ccc5f4427c2a69553935c33ca4c4b3f9e80214d Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:33 2015 -0700 staging: sm750fb: add space before open parenthesis Fixes checkpatch.pl error: ERROR: space required before the open parenthesis '(' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8332d94c979bc348398d3f1b2581a59c7d60978a Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:32 2015 -0700 staging: sm750fb: remove space before close parenthesis Fixes checkpatch.pl error: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f0ebcc29082a45bcd3e108b6f65d1190059b36b Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:31 2015 -0700 staging: sm750fb: remove spacing after open parenthesis Fixes checkpatch.pl warning: ERROR: space prohibited after that open parenthesis '(' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78376535c2b9c2d463a801db81fb38dc26c29532 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Tue Jul 14 21:14:30 2015 -0700 staging: sm750fb: use tabs for indentation Replace spaces with tabs for indentation to fix the checkpatch.pl error ERROR: code indent should use tabs where possible WARNING: please, no spaces at the start of a line Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32491f561bffddfc5c3dee87e439f2ec64a6cf80 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:44 2015 +0300 staging: vme_user: remove okcount variable Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18f8bee2066a55b7fee478cac0a91d073d3d24a9 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:43 2015 +0300 staging: vme_user: remove distracting comment Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 457ab28619abd1a87eefbb2615bb54ede51e339f Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:42 2015 +0300 staging: vme_user: remove unused variable Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c78e0cdd0baaea087f342330ec1cc44cf4312e8 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:41 2015 +0300 staging: vme_user: switch to returning -EFAULT on __copy_*_user errors Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e4d138cc083bb960271e79832982e982c35d219 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:40 2015 +0300 staging: vme_user: allow large read()/write() This changes large master transfers to do shorter read/write rather than return -EINVAL. User space will now be able to optimistically request a large transfer and get at least some data. This also removes comments suggesting on how to implement large transfers. Current vme_master_* read and write implementations use CPU copies that don't produce burst PCI accesses and subsequently no block transfer on VME bus. In the end overall performance is quiet low and it can't be fixed by doing direct copy to user space. Much easier solution would be to just reuse kernel buffer. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f0622de0d1fb7de187c7cf729971d56def7814e Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:39 2015 +0300 staging: vme_user: fix kmalloc style Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f99b71be37dd88e7b2f4a7c227da6c4f71cd8fa4 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:38 2015 +0300 staging: vme_user: fix NULL comparison style Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd974d35ab784d98085ed1b317a9978c026d86f7 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:37 2015 +0300 staging: vme_user: fix blank lines Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86eadace5d021f50558936ea75234f3262d16bc2 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Jun 26 23:39:36 2015 +0300 staging: vme_user: fix code alignment Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d4d138a3e2c2a85df9fa048b341612c235c1027 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Wed Jul 15 08:52:51 2015 +0530 staging:vt6655: remove checks around dev_kfree_skb dev_kfree_skb checks for NULL pointer itself, Thus no need of explicit NULL check. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aeb7fa7b4f29ce4d7d16c4c3565c4714f2f62b82 Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Mon Jul 6 15:14:41 2015 +0900 staging: ion: debugfs to shrink pool This patch enables debugfs file /sys/kernel/debug/ion/heaps/system_shrink to shrink pool and get pool size. This technically enables debugfs shrinking for all heaps, not just the system heap although the system heap is the only one with a shrinker right now. It is already implemented but not complete. This patch completes and enables it. Reading the file returns pool size in page unit and writing the number of pages shrinks pool. It flushes all pages to write zero at the file. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Reviewed-by: Laura Abbott <labbott@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b44d9ce3b81715311198f0c5fa329e518b4f9f18 Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Mon Jul 6 15:14:40 2015 +0900 staging: ion: shrink page-pool by page unit This patch shrink page-pool by page unit. The system shrinker calls ion_heap_shrink_count() to get nr_to_scan, and pass it to ion_heap_shrink_scan(). The problem is the return value of ion_heap_shrink_count() is the number of pages but ion_system_heap_shrink(), which is called by ion_heap_shrink_scan(), gets the number of chunk. The main root of this is that ion_page_pool_shrink() returns page count via ion_page_pool_total() if it have to check pool size. But it frees chunks of pages if it have to free pools. This patch first fix ion_page_pool_shrink() to count only pages, not chunks. And then ion_system_heap_shrink() to work on pages. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Reviewed-by: Laura Abbott <labbott@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e3148c51190d680b7cc2ebdc556e6ea27a93989 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jun 26 09:37:25 2015 +0530 Staging: rtl8192e: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. Note that the 6 in the third argument of memset appears to represent an ethernet address size (ETH_ALEN). The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,6); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6957248f487e0eeecf7a23a34b08ee26c0c3a151 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:26 2015 +0200 staging: rtl8192e: rtllib_softmac: Make functions static Make as many functions as possible static in rtllib_softmac.c. The following functions were affected: - rtllib_sta_wakeup - rtllib_TURBO_Info - rtllib_get_beacon_ - rtllib_send_probe_requests - rtllib_update_active_chan_map - rtllib_softmac_scan_syncro Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed4360336931ea99d029f1208d3e55b60c2bc621 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:25 2015 +0200 staging: rtl8192e: Make rtllib_rx_mgt() static Function is not referenced outside of rtllib_rx.c Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 511998ea5be18a0219151e30c92a5d47533d2c49 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:24 2015 +0200 staging: rtl8192e: rtllib_tx: Make functions static Make as many functions as possible static in rtllib_tx.c. The following functions were affected: - rtllib_xmit_inter - rtllib_query_seqnum - rtllib_put_snap Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01b67faf5c5449f7dc628d48b71faab73ac67343 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:23 2015 +0200 staging: rtl8192e: Make rtl8192_QueryIsShort() static Relocate function within file to avoid unnecessary fw decl. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc5a1591dadc01597e0fb48d0f5c16203ec33a00 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:22 2015 +0200 staging: rtl8192e: r8192e_phy: Make functions static Make as many functions as possible static in r8192E_phy.c. The following functions were affected: - rtl8192_phyConfigBB - rtl8192_SwChnl_WorkItem - rtl8192_SetBWModeWorkItem Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 235a86c3ec8e5343dd153889ecc42a6fc66c09ce Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:21 2015 +0200 staging: rtl8192e: rtl_core: Make functions static Make as many functions as possible static in rtl_core.c. If needed - move fw declaration from header. The following functions were affected: - rtl8192_is_tx_queue_empty - rtl819x_watchdog_wqcallback - watch_dog_timer_callback - rtl8192_data_hard_stop - rtl8192_data_hard_resume - rtl8192_hard_data_xmit - rtl8192_hard_start_xmit - rtl8192_tx_cmd - rtl8192_tx - rtl8192_pci_initdescring - rtl8192_irq_tx_tasklet - rtl8192_irq_rx_tasklet - rtl8192_cancel_deferred_work - _rtl8192_up - rtl8192_up - rtl8192_down - rtl8192_restart - rtl8192_update_cap Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ebfc4180586ee138af643513e6f75ad61f4db74 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:20 2015 +0200 staging: rtl8192e: Make phy_RF8256_Config_ParaFile() static Relocate function in driver to avoid adding unnecessary fw decl. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0c84c1c1f0b6335184ab6ea0cdecfbf4abe173a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:19 2015 +0200 staging: rtl8192e: rtllib_HTProc: Make functions static Make as many functions as possible static in rtllib_HTProc.c. The following functions were affected: - HTMcsToDataRate - HTFilterMCSRate Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 735b78615ace8f2c3527baccce0ee2d3ed0fb145 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:18 2015 +0200 staging: rtl8192e: rtl_dm: Make functions static Make as many functions as possible static in rtllib_dm.c. The following functions were affected: - dm_check_fsync - dm_CheckRfCtrlGPIO - dm_fsync_timer_callback Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a82a2fe2c165a3d1deb251b19550e5e863e95be Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:17 2015 +0200 staging: rtl8192e: Remove rtl8192_rx_cmd() Function is empty. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84b2ce69f952ce84b0b7ce926d497327e38767b6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:16 2015 +0200 staging: rtl8192e: probe: Remove bdma64 check It is always false. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59eda5eecda9dc8566d9bc70a7e4dde0a5256aa0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:15 2015 +0200 staging: rtl8192e: Remove rtl819x_process_cck_rxpathsel() Function is empty. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d9d0e369859fe16fe2b7154c64fb65c32136b95 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:14 2015 +0200 staging: rtl8192e: Remove DMESG macro It is used in several places, but expands to nothing. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e16cb17d59c9aafe8cc3dfc912050b1c4dddca7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:13 2015 +0200 staging: rtl8192e: Remove read|write_nic_io_(d)word|byte() None of this functions was used. Also remove PlatformIOCheckPageLegalAndGetRegMask() used by them. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 632751b5290a70c094bdcabf5f9266f7f0a8fadd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:12 2015 +0200 staging: rtl8192e: Remove DOT11D_GetMaxTxPwrInDbm() Function is not used. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18e2daa85847a555c3fc9b8e2b2b90a60cab0830 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:11 2015 +0200 staging: rtl8192e: Remove unused rtllib_device::freq_band Member is never referenced. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b3fcf2bbf9374ade7f9dcac1c58c4af6fcc0694 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:10 2015 +0200 staging: rtl8192e: Remove unused ether_header structure Structure is not used in the driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e93c18c7236f3fb90e87c6239ed78ad2c2552dfd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:09 2015 +0200 staging: rtl8192e: Remove rtllib_stats structure Two remaining fields of rtllib_stats are only incremented, but never read. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1184b4ade8182945ae063e584081368387a3b725 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:08 2015 +0200 staging: rtl8192e: Remove unused fields from rtllib_stats None of them are used in the driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adc7623c86064d1578b406f9625ac25088ce05c1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:07 2015 +0200 staging: rtl8192e: Remove unused enums Remove ack_policy enum and some unused RTL_DEBUG enums. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e6f1c7145342ad0320b06ebd05d260c48275ae7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:06 2015 +0200 staging: rtl8192e: Remove undefs They relate to macros that are not used in the driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9efe891d01c3734ab05fdbd53dead3451fa03e29 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:05 2015 +0200 staging: rtl8192e: Remove unused defines Remove most of unused defines (excluding phyreg/hw registers). Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04ed5f3d4ea9981e31219fc2514b5505445dd92c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Tue Jul 14 22:04:04 2015 +0200 staging: rtl8192e: Remove ToLegalChannel() Function is not used. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46fd96251f66421b178b4ff7f0b26b2e4cb94092 Author: Rami Rosen <ramirose@xxxxxxxxx> Date: Wed Jul 1 17:37:10 2015 +0300 PCI: Remove a broken link in quirks.c Remove a broken link in drivers/pci/quirks.c. Signed-off-by: Rami Rosen <ramirose@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit aaed816fde8501ed86bb62c4d7f7b137969afc7e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Jul 14 16:41:19 2015 -0500 PCI: Remove useless redundant code Remove redundant code from __pci_bus_find_cap_start(). No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0a1a9b49427f13b6e12366eb8f06b8094ab61447 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 09:16:44 2015 +0800 PCI: Simplify pci_find_(ext_)capability() return value checks The return value of the pci_find_(ext_)capability() is either zero or the position of a capability. It is never negative. This patch consolidates the form of check from (pos <= 0) to (!pos). Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit fff905f32966109d513ae17afc6fe39f1c76bb67 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 30 09:16:41 2015 +0800 PCI: Move PCI_FIND_CAP_TTL to pci.h and use it in quirks Some quirks search for a HyperTransport capability and use a hard-coded TTL value of 48 to avoid an infinite loop. Move the definition of PCI_FIND_CAP_TTL to pci.h and use it instead of the hard-coded TTL values. [bhelgaas: changelog] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit bd1fb5388da0a37c053649ec4aa8e588ef39f958 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:34:28 2015 +0900 staging: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 861e82d5b5a42d2eda34f3123b46162eaae9af80 Author: Jacob Kiefer <jtk54@xxxxxxxxxxx> Date: Fri Jul 10 01:26:30 2015 -0400 staging: style fix for octeon/ethernet-tx.c Broke line with greater than 80 characters into two lines and improved logical operator readability in hardware checksum if statement. Signed-off-by: Jacob Kiefer <jtk54@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 364b91be262aaf0afc1726be391fbeb7f2b59c52 Author: Leung Timothy Chi King <contact@xxxxxxxxxxxxxxx> Date: Wed Jul 1 09:44:13 2015 -0700 Staging: rts5208: Fix checkpatch warning: else is not generally useful The following checkpatch warning was fixed: WARNING: else is not generally useful after a break or return Signed-off-by: Leung Timothy Chi King <contact@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fccffbfd9505116c0ab847742aafaa7da55d413 Author: Johannes Postma <jgmpostma@xxxxxxxxx> Date: Wed Jul 8 13:41:46 2015 +0100 Staging: ozwpan: ozusbsvc1.c: Fix missing blank line after declarations This patch fixes a missing line after declarations issue. Signed-off-by: Johannes Postma <jgmpostma@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4221844a627aaebf28732d6e891de2aa4db38aa0 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 10 18:52:21 2015 +0200 staging: rtl8188eu: fold rtl8188e_read_chip_version() into rtl8188e_SetHalODMVar() Both rtl8188e_read_chip_version() and ReadChipVersion8188E() are used only in one place. Make ReadChipVersion8188E() a void function and eliminate its wrapper - rtl8188e_read_chip_version(). Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a51d13037b1e5149bcbe65cc5a47af1d35affdaa Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 10 18:52:20 2015 +0200 staging: rtl8188eu: remove ROMVer from struct HAL_VERSION ROM version on RTL8188EU is always 0. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c71dd6c5609285b122a50ebc2d59ebafdac595f Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 10 18:52:19 2015 +0200 staging: rtl8188eu: remove RFtype from struct HAL_VERSION RFtype in struct HAL_VERSION duplicates rf_type in struct hal_data_8188e, and does not change. Remove it and the macros that test it. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e827aeedd0e14dcb67eb29afbaa875ab1a0f7b26 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 10 18:52:18 2015 +0200 staging: rtl8188eu: remove ICtype from struct HAL_VERSION IC type on RTL8188EU is always 8188E. Remove it and all the macros that check it. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3738408cc802025a1ecf4a059a0c8ab048cb7e72 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jul 10 18:52:17 2015 +0200 staging: rtl8188eu: remove RegulatorMode from struct hal_data_8188e This field is not used anywhere. Also, kill the rt_regulator_mode enum which exists just for this field. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 249472588cf0b5fa18063783dd1d4f4a62c8ddb3 Author: Sreenath Madasu <sreenath.madasu@xxxxxxxxx> Date: Wed Jul 8 18:43:00 2015 -0400 staging: rtl8188eu: core: Fixed 80 character length warning When the checkpatch.pl script was run, it showed lines with length more than 80 characters in rtw_ap.c file. Fixed line number 382 by breaking it up into two lines within 80 characters. Signed-off-by: Sreenath Madasu <Sreenath.Madasu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1d0bcedfb6da518422472fcbab03999fc312ab1 Author: Sunil Shahu <shshahu@xxxxxxxxx> Date: Tue Jul 7 14:55:44 2015 +0530 staging: rtl8188eu: core: rtw_mlme: remove space before ',' Fix coding style error by removing spaces before ',' as suggested by checkpatch.pl script. Signed-off-by: Sunil Shahu <shshahu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e7e78d8298bd487f7a0d2b0c62033b3841d03ca Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Mon Jun 29 12:57:35 2015 +0000 staging:rtl8188eu: Code cleanup fix reported by coccinelle bool check modified Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 027d3efd933d87ca3d9a28365cae795c14e7a563 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Jun 26 07:50:34 2015 +0200 staging: rtl8188eu: don't duplicate ieee80211 WLAN_CAPABILITY_* constants linux/ieee80211.h already defines constants for capability bits. Include it where needed, resolve discrepancies in naming, and remove the duplicated definitions. Also, make use of WLAN_CAPABILITY_IS_STA_BSS() macro to check if neither ESS nor IBSS capability bits are set. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb90d44de7e6c7498a21e8de2935123395bbc31b Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 7 13:44:35 2015 +0530 staging: sm7xxfb: use kernel commandline We were only using the kernel commandline to set the mode if this driver is builtin, but when it is built as a module we were not having any way to set the mode. Start using commandline even if it is built as a module. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a012d30508ed09063e35eeee95e34ecc8534716 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 7 13:44:34 2015 +0530 staging: sm7xxfb: fix error handling We were checking smtc_regbaseaddress and that too at a place where it can never be NULL. Real check should be on sfb->lfb immediately after we do ioremap. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6cb68d51e7123a66c78ec4c48b2686509f290b6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jul 7 13:44:33 2015 +0530 staging: sm7xxfb: remove unused macros These macros were only defined but not used anywhere. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 304e08845126d949eacb2d95a5d15d4d022d555b Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Jun 25 14:56:13 2015 +0200 staging: speakup: fix indentation Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f920c1f1778193338925ee3665844e08b4a6997 Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 22:52:39 2015 +0800 staging: mt29f_spinand: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> To: devel@xxxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb44d9a507305ab05945d8a781a0a1255a3d9868 Author: Peter Huewe <peterhuewe@xxxxxx> Date: Tue Jul 14 00:44:09 2015 +0200 staging/xgifb: Move register helper functions to header and mark them as static inline. This shrinks the compiled module from 137442 to 117732 bytes and we also get rid of vb_util.c Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5a3a945fdf2584f3191e8cc958234057ef691da Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Thu Jul 9 06:05:09 2015 +0000 staging: xgifb: prefer using the BIT macro This patch uses the BIT macro for bit shift operation. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5eafbb0c529c5765fcfd57cb073982ad1cd06cc7 Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Tue Jun 30 02:18:56 2015 +0530 rtl8712:Fix checkpatch warning Fix line over 80 characters warning. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a732152c76ee194274299905c700125bef1fc0c8 Author: Sunil Shahu <shshahu@xxxxxxxxx> Date: Fri Jun 26 19:42:24 2015 +0530 staging: rtl8712: rtl871x_security.c: remove unnecessary variable initialization Variable "u32 c" always re-initialize in for loop. Initialized value of "u32 c" is not used in function and is redundant, hence removed. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Sunil Shahu <shshahu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8027b3332142268a1cf988fd62946a4afe49b986 Author: Sunil Shahu <shshahu@xxxxxxxxx> Date: Mon Jun 22 16:58:41 2015 +0530 drivers: staging: rtl8712: remove unnecessary else statement "else" statement after "if" is unnecessary, hence removed. Signed-off-by: Sunil Shahu <shshahu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4bf6b343073e32d5cf8fdb0f38192493fcad5c2 Author: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Date: Thu Jun 25 20:34:43 2015 +0300 staging: ft1000: convert pack pragma to __packed Convert a Microsoft compiler specific directive "#pragma pack(1)" to a GCC equivalent __packed. Also, by doing this we save ourselves from trouble if any other struct definitions are added after the #pragma because it will be applied to all of the definitions following it. Signed-off-by: Giedrius StatkeviÄ?ius <giedrius.statkevicius@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4216b30bdd56fb823c1d32b5e46687ae87601f6 Author: Peter Karlsson <peter@xxxxxxxx> Date: Sun Jun 21 13:29:51 2015 +0200 staging: ft1000-usb: shorten lines to under 80 characters Wrap function arguments to shorten lines to under 80 characters. Signed-off-by: Peter Karlsson <peter@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ccd8ebb0e17ddeb2d56cf644da089adc4aa3bc0 Author: Peter Karlsson <peter@xxxxxxxx> Date: Sun Jun 21 13:29:50 2015 +0200 staging: ft1000-usb: fixed table alignment Fixed alignment to 8 bytes per line. Signed-off-by: Peter Karlsson <peter@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ee8095bfe1d61ab4a59f5eff14d833ff90c0b38 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Jun 26 09:54:00 2015 +0530 Staging: rtl8192u: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. Note that the 6 in the third argument of memset appears to represent an ethernet address size (ETH_ALEN). The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,6); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e60b6538342ec047ae2e49335f65b7f92585fab9 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sat Jun 20 11:06:48 2015 -0500 drivers: staging: rtl8192u: Fix "space required after that ','" errors Fix checkpatch.pl "space required after that ','" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edeafb979666e28cbd4699716a1e5533791ea916 Author: Joglekar Tejas <tjogleka@xxxxxxxxxxx> Date: Sat Jun 20 12:46:16 2015 +0000 staging:rtl8723au:odm.c:Removing trailing whitespaces This patch removes the trailing whitespace error given by checkpatch.pl Signed-off-by: Joglekar Tejas <tjogleka@xxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11208b0b3a9ddc462795bdb3aadfc0eda8ef2e4b Author: Nicholas Parkanyi <n.parkanyi@xxxxxxxxx> Date: Sun Jul 12 08:17:52 2015 -0400 Staging: vt6655: Remove do { } while (0) from single-statement macros in upc.h. This patch fixes checkpatch.pl warnings in upc.h regarding single-statement macros embedded within do { } while (0) blocks. Signed-off-by: Nicholas Parkanyi <n.parkanyi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 353710ce90b74d711d6d30f1219e0c9634c6fc82 Author: Nicholas Parkanyi <n.parkanyi@xxxxxxxxx> Date: Sun Jul 12 09:20:31 2015 -0400 Staging: vt6655: Replace C99 comments in rf.h and rf.c. This patch replaces C99 comments in rf.h and rf.c, with C89 comments, fixing the checkpatch.pl errors. Signed-off-by: Nicholas Parkanyi <n.parkanyi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eda01f6161e0f0d156f7fd24080d3a788ebbb911 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Jul 9 17:01:25 2015 +0100 staging: vt6655: Fix missing power saving support Add IEEE80211_HW_SUPPORTS_PS to ieee80211_hw flags enabling this feature. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e7921a09407743c52498c188adfa56156d60fc3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Jun 21 11:05:55 2015 +0100 staging: vt6655: Correct listen interval TBTT wake up PSbIsNextTBTTWakeUp is called at beacon intervals. The should listen to next beacon on count down of wake_up_count == 1. This restores this back to vendors code but modified for mac80211. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fdae0d9fee32c1cbffffb1a246fcc10ed5b1085 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Jun 21 11:05:54 2015 +0100 staging: vt6655: vnt_tx_packet don't wakeup from power saving. mac80211 changes the wake state before attempting to tx data Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9afa6c4980492f0305c57e6e8acb4161960df6f4 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 15 00:35:10 2015 +0000 ARM: multi_v7_defconfig: add Renesas DPCM Sound Card This patch enables Renesas DPCM related sound card. It is used for... - Sampline rate convert - CTU/MIXer Note: you need to enable these settings on DTS file Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fb00ff4c30a8cce32371e5d1abcbb33be1b6d506 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Jun 19 18:09:50 2015 +0200 ARM: dts: imx53-qsb: select open-drain mode for i2c1 pads Both imx53-qsb and imx53-qsrb don't have external pull-up resistors on the I2C1 SCL and SDA lines populated. Select open-drain mode and enable the internal pull-up for both. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 97dae8590fa314c41dfb629848c7cab494d8950d Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Thu Jun 18 13:58:44 2015 +0800 ARM: dts: imx6qdl-sabreauto: Add audio support Add ESAI, ASRC, CS42888 for imx6qdl-sabreauto board Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 2d4e4a62f4f25b2e3d02449d192914ac2a643f5c Author: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Date: Sun Jun 14 20:19:59 2015 -0400 ARM: dts: vf610: Extend I2C support to all available buses. This commit extends the existing Vybrid I2C support to cover buses i2c1, i2c2, and i2c3. Based in (very) large part on an initial patch by Stefan Agner that was just lacking a couple of DMA assignments. Signed-off-by: Cory Tusar <cory.tusar@xxxxxxxxxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 1906c21a1a07e12e34bdb2bf82462dfcd1a7a042 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Jun 2 17:41:33 2015 -0300 ARM: dts: imx6qdl-sabreauto: Add HDMI support Add HDMI support. As the DDC I2C pins are not connected due to pin conflicts, we do not pass the 'ddc-i2c-bus' property in this case. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 6e2a92b26d33a2ed6debad5d8c93fe7d0905b807 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sun Jun 7 20:41:07 2015 -0300 ARM: dts: imx6sl-warp: Add the SD2_RESET pin imx6sl-warp has SD2_RESET pin connected to the eMMC reset line, so add this pin to the usdhc2 group. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Otavio Salvador <otavio@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 3ee12d8079a5996f3c85e0890d76c0fcb1749bab Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Jun 29 20:08:56 2015 +0800 ARM: dts: ventana: add UHS-I support for Ventana boards UHS-I support is available on Ventana boards with micro-SD sockets depending on the board revision. To support this pinctl states for 100Mhz and 200MHz must be added as well as pinmux of the VSELECT signal. In order to support UHS-I the I/O rail of the 4-bit data bus must be switchable between 1.8V and 3.3V. By adding the no-1-8-v property, which disables UHS-I support, we allow the bootloader to be in charge of selecting which boards have this capability by removing that property if the board model/revision implement the support. Additionally we will remove NANDF_CS1 here from the nand pinmux group as the second chip-select is not used on any ventana boards and this is the pad that is used for SD3_VELECT. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 366c595f1381b89c52153f753a6499c349410a02 Author: Peter Seiderer <ps.report@xxxxxxx> Date: Tue Jun 2 21:07:17 2015 +0200 ARM: dts: sabrelite: add CAN support Signed-off-by: Peter Seiderer <ps.report@xxxxxxx> Tested-by: Eric Nelson <eric.nelson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 3e22339487c914d38e08215cae3d1d219af99aff Author: Peter Seiderer <ps.report@xxxxxxx> Date: Tue Jun 2 21:07:16 2015 +0200 ARM: dts: nitrogen6x: add CAN support Regulator stuff copied from imx6qdl-tx6.dtsi, pin configuration taken from Boundary Devices linux kernel tree ([1] and [2]). [1] https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.2_ga/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi [2] https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.2_ga/arch/arm/boot/dts/imx6qdl.dtsi Signed-off-by: Peter Seiderer <ps.report@xxxxxxx> Tested-by: Eric Nelson <eric.nelson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 93db055d418386174347ca52ea4728c6ae2e00aa Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed May 27 00:26:02 2015 +0800 ARM: dts: imx6sx: enable snvs power key enable snvs ONOFF power key support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 943304b3fb54adc5f2ec85d1679c7b2b8d908346 Author: Arjun Krishna Babu <arjunkrishnababu96@xxxxxxxxx> Date: Sat Jun 20 12:46:50 2015 +0800 staging: vt6656: Fixed two lines over 80 characters long The presence of comments originally caused the two lines to be over 80 characters long. The issue is fixed by moving the comments into a separate line. Signed-off-by: Arjun Krishna Babu <arjunkrishnababu96@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f5f9bc9a8a84e447bd0e93c071e34cfa9db815a Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri May 29 03:40:57 2015 +0800 ARM: dts: imx7d: add watch dog support Enable watchdog support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit a1560f9bec8b9275a751bd39a1db791d2c73d6e5 Author: Henri Chain <henri.chain@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 14:59:39 2015 +0200 Staging: fbtft: Add support for the Ultrachip UC1611 LCD controller This is a driver chip for 240x160 4-bit greyscale LCDs. It is capable of 4-wire (8 bit) or 3-wire (9 bit) SPI that have both been tested. (It also has a 6800 or 8080-style parallel interface, but I have not included support for it.) Signed-off-by: Henri Chain <henri.chain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc28791d5ece61eaa78e7b9bbc3ac1d14f664683 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed May 27 00:26:01 2015 +0800 Document: devicetree: input: imx: i.mx snvs power device tree bindings The snvs-pwrkey is designed to enable POWER key function which controlled by SNVS ONOFF. the driver can report the status of POWER key and wakeup system if pressed after system suspend. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Robin Gong <b38343@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit d3dc6e2322155087c19a1d6a71818be534de0602 Author: Robin Gong <b38343@xxxxxxxxxxxxx> Date: Wed May 27 00:26:00 2015 +0800 input: keyboard: imx: add snvs power key driver add snvs power key driver. It work in imx chips after i.mx6sx ON/OFF key used power on/off whole system. This driver make it wakeup from suspend state when short press ON/OFF key. Long time press will trig SNVS power off chip without software intervention. Signed-off-by: Robin Gong <b38343@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 4fcb7dfd827d7d12ffc612fbc67769e002a482e4 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed May 27 00:25:58 2015 +0800 Document: dt: fsl: snvs: change support syscon snvs actually is multi fucntion driver. Change to use syscon to access register. Change snvs parent interrupt to option because single function may have seperated irq number. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit dc4b2068934d6562048393d4531b9983df41b14e Author: Noralf Trønnes <noralf@xxxxxxxxxxx> Date: Sat Jul 11 18:57:04 2015 +0200 staging: fbtft: Add reset to fbtft_init_display_dt() When an init sequence is present in the Device Tree, fbtft_init_display_dt() is used to initialize the display. Add missing reset function call and activation of chip select for parallel bus. Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1bf5205b2f013134ac55b02b3384502f21daa5e Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Jun 30 08:43:17 2015 +0200 Staging: fbtft: Fix spacing coding style issue This patch fixes the following checkpatch.pl error: CHECK:SPACING at line 318. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4906c43a342f864ca93f85aecab0d2f5d6689668 Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Jun 30 08:43:16 2015 +0200 Staging: fbtft: Fix parenthesis alignment coding style issue This patch fixes the following checkpatch.pl error: CHECK:PARENTHESIS_ALIGNMENT at line 217. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df127f13c2342eef93298874713947adce8168ad Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Jun 30 08:43:09 2015 +0200 Staging: fbtft: Remove unnecessary multiple blank lines This patch removes some unnecessary multiple blank lines to fix the following checkpatch errors: CHECK:LINE_SPACING at lines 29, 67, 131, 287, 299, 312, 326, 351 and 364. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0a2db08e31071946c421a0ba0bb99e8273d2808 Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Jun 30 08:43:08 2015 +0200 Staging: fbtft: Remove paragraph about writing to FSF Remove paragraph about writing to the Free Software Foundation's mailing address from GPL notice. This patch fixes the following checkpatch error: CHECK:FSF_MAILING_ADDRESS at line 17. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d482893b1caa5345b066c9721bab6636059e2a61 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed May 27 00:25:57 2015 +0800 rtc: snvs: use syscon to access register snvs included rtc, on/off key, power-off module change to syscon to access register Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 24ac1074c1dad1bdc455f8f6df5c5316fae53eb7 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Tue Jul 14 14:43:30 2015 -0400 staging: unisys: fix random hangs with network stress in visornic We learned that it was possible for the core networking code to call visornic_xmit() within ISR context, resulting in the need for us to use spin_lock_irqsave() / spin_lock_irqrestore() to lock accesses to our virtual device channels. Without the correct locking added in this patch, random hangs would occur on typical kernels while stressing the netork. When using a kernel with CONFIG_DEBUG_SPINLOCK=y, a stackdump would occur at the time of the hang reporting: BUG: spinlock recursion on CPU#0, vnic_incoming/<pid> (see below for more details) We considered the possibility of adding a protocol between a visordriver and visorbus where the visordriver could specify which type of locking it required for its virtual device channels (essentially indicating whether or not it was possible for the channel to be accessed in ISR context), but decided this extra complexity was NOT needed, and that channel queues should always be accessed with the most-stringent locking. So that is what is implemented in this commit. Below is an example stackdump illustrating the spinlock recursion that is fixed by this commit. Note that we are first in virtnic_rx() writing to the device channel when an APIC timer interrupt occurs. Within the core networking code, net_rx_action() calls process_backlog(), which eventually lands up back up in virtnic_xmit() in the code attempting to also write to the device channel. BUG: spinlock recursion on CPU#0, vnic_incoming/262 lock: 0xffff88002db810c0, .magic: dead4ead, .owner: vnic_incoming/262, .owner_cpu: 0 CPU: 0 PID: 262 Comm: vnic_incoming Tainted: G C 4.2.0-rc1-ARCH+ #56 Hardware name: Dell Inc. PowerEdge T110/ , BIOS 1.23 12/15/2009 ffff8800216ac200 ffff88002c803388 ffffffff81476364 0000000000000106 ffff88002db810c0 ffff88002c8033a8 ffffffff8109e2bc ffff88002db810c0 ffffffff817631d4 ffff88002c8033c8 ffffffff8109e330 ffff88002db810c0 Call Trace: <IRQ> [<ffffffff81476364>] dump_stack+0x4f/0x73 [<ffffffff8109e2bc>] spin_dump+0x7c/0xc0 [<ffffffff8109e330>] spin_bug+0x30/0x40 [<ffffffff8109e547>] do_raw_spin_lock+0x127/0x140 [<ffffffff8147bad0>] _raw_spin_lock+0x40/0x50 [<ffffffffa0151fa6>] ? visorchannel_signalinsert+0x46/0x70 [visorbus] [<ffffffffa0151fa6>] visorchannel_signalinsert+0x46/0x70 [visorbus] [<ffffffffa01683a2>] visornic_xmit+0x302/0x5d0 [visornic] [<ffffffff813b2f30>] dev_hard_start_xmit+0x2e0/0x510 [<ffffffff813b2b75>] ? validate_xmit_skb+0x235/0x310 [<ffffffff813d79e7>] sch_direct_xmit+0xf7/0x1d0 [<ffffffff813b34d3>] __dev_queue_xmit+0x203/0x640 [<ffffffff813b3320>] ? __dev_queue_xmit+0x50/0x640 [<ffffffff813f3f6f>] ? ip_finish_output+0x1df/0x310 [<ffffffff813b3933>] dev_queue_xmit_sk+0x13/0x20 [<ffffffff813f3a5c>] ip_finish_output2+0x22c/0x470 [<ffffffff813f3f6f>] ? ip_finish_output+0x1df/0x310 [<ffffffff810987e0>] ? __lock_is_held+0x50/0x70 [<ffffffff813f3f6f>] ip_finish_output+0x1df/0x310 [<ffffffff813f4c31>] ip_output+0xb1/0x100 [<ffffffff813f41be>] ip_local_out_sk+0x3e/0x80 [<ffffffff813f4388>] ip_queue_xmit+0x188/0x4a0 [<ffffffff813f4200>] ? ip_local_out_sk+0x80/0x80 [<ffffffff8139fcd6>] ? __alloc_skb+0x86/0x1e0 [<ffffffff8140bd5b>] tcp_transmit_skb+0x4cb/0x9c0 [<ffffffff8139f0dc>] ? __kmalloc_reserve+0x3c/0x90 [<ffffffff8139fcea>] ? __alloc_skb+0x9a/0x1e0 [<ffffffff8140c47d>] tcp_send_ack+0x10d/0x150 [<ffffffff814060ee>] __tcp_ack_snd_check+0x5e/0x90 [<ffffffff81408eb4>] tcp_rcv_established+0x354/0x710 [<ffffffff81412182>] tcp_v4_do_rcv+0x162/0x3f0 [<ffffffff81414412>] tcp_v4_rcv+0xb22/0xb50 [<ffffffff813ee2bc>] ? ip_local_deliver_finish+0x4c/0x2d0 [<ffffffff813ee350>] ip_local_deliver_finish+0xe0/0x2d0 [<ffffffff813ee2bc>] ? ip_local_deliver_finish+0x4c/0x2d0 [<ffffffff813ee72e>] ip_local_deliver+0xae/0xc0 [<ffffffff813edeaf>] ip_rcv_finish+0x14f/0x510 [<ffffffff813aab2d>] ? __netif_receive_skb_core+0x9d/0xb70 [<ffffffff813eea13>] ip_rcv+0x2d3/0x3b0 [<ffffffff81097110>] ? cpuacct_css_alloc+0xb0/0xb0 [<ffffffff813ab0f3>] __netif_receive_skb_core+0x663/0xb70 [<ffffffff813aab2d>] ? __netif_receive_skb_core+0x9d/0xb70 [<ffffffff810971a9>] ? cpuacct_charge+0x99/0xb0 [<ffffffff81097110>] ? cpuacct_css_alloc+0xb0/0xb0 [<ffffffff810987e0>] ? __lock_is_held+0x50/0x70 [<ffffffff813ab72c>] ? process_backlog+0xbc/0x150 [<ffffffff813ab78b>] ? process_backlog+0x11b/0x150 [<ffffffff813ab627>] __netif_receive_skb+0x27/0x70 [<ffffffff813ab702>] process_backlog+0x92/0x150 [<ffffffff813afffd>] net_rx_action+0x13d/0x350 [<ffffffff81036b2d>] ? lapic_next_event+0x1d/0x30 [<ffffffff81058694>] __do_softirq+0x104/0x320 [<ffffffff810c0788>] ? hrtimer_interrupt+0xc8/0x1a0 [<ffffffff81074e70>] ? blocking_notifier_chain_cond_register+0x70/0x70 [<ffffffff81058ab9>] irq_exit+0x79/0xa0 [<ffffffff8147ecca>] smp_apic_timer_interrupt+0x4a/0x60 [<ffffffff8147d2c8>] apic_timer_interrupt+0x68/0x70 <EOI> [<ffffffff81271c02>] ? __memcpy+0x12/0x20 [<ffffffffa01517da>] ? visorchannel_write+0x4a/0x80 [visorbus] [<ffffffffa0151eb8>] signalinsert_inner+0x88/0x130 [visorbus] [<ffffffffa0151fb5>] visorchannel_signalinsert+0x55/0x70 [visorbus] [<ffffffffa0166e57>] visornic_rx+0x12e7/0x19d0 [visornic] [<ffffffffa01677c9>] process_incoming_rsps+0x289/0x690 [visornic] [<ffffffff814771c5>] ? preempt_schedule+0x25/0x30 [<ffffffff81001026>] ? ___preempt_schedule+0x12/0x14 [<ffffffff81093080>] ? wait_woken+0x90/0x90 [<ffffffffa0167540>] ? visornic_rx+0x19d0/0x19d0 [visornic] [<ffffffffa0167540>] ? visornic_rx+0x19d0/0x19d0 [visornic] [<ffffffff81073a39>] kthread+0xe9/0x110 [<ffffffff81073950>] ? __init_kthread_worker+0x70/0x70 [<ffffffff8147c89f>] ret_from_fork+0x3f/0x70 [<ffffffff81073950>] ? __init_kthread_worker+0x70/0x70 Fixes: b12fdf7da ('staging: unisys: rework signal remove/insert to avoid sparse lock warnings') Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3ef1a8e93912396f3bd46d579c9241c399de530 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Tue Jul 14 14:43:29 2015 -0400 staging: unisys: Lock visorchannels associated with devices A visorchannel associated with a device should have its writing to the channel protected by a lock. Fixes: b32c4997c ('staging: unisys: Move channel creation up the stack') Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: David Kershner <david.kershner@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 216c3e2c135e69dc8cc93ca9bd2c03300910f44f Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Mon Jul 13 20:52:26 2015 +0200 staging: unisys: Reduce indent Remove some extra tabs in order to improve readalibility. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0aa5ae1e2eed3f57ff1dfd7cd057aaff5d9c1d9f Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Mon Jul 13 20:51:32 2015 +0200 staging: unisys: Use kzalloc instead of kmalloc/memset This patch turns a kmalloc/memset into an equivalent kzalloc. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d253058f490febdfdbe0a0f09a25166c71afd2b3 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Mon Jul 13 14:51:24 2015 -0400 staging: unisys: fix random memory corruption in visorchannel_write() visorchannel_write() and it's user visorbus_write_channel() are exported, so all visorbus function drivers (i.e., drivers that call visorbus_register_visor_driver()) are potentially affected by the bug. Because of pointer-arithmetic rules, the address being written to in the affected code was actually at byte offset: sizeof(struct channel_header) * offset instead of just <offset> bytes as intended. The bug could cause some very difficult-to-diagnose symptoms. The particular problem that led me on this chase was a kernel fault that would occur during 'insmod visornic' after a previous 'rmmod visornic', where we would fault during netdev_register_kobject() within pm_runtime_set_memalloc_noio() while traversing a device list, which occurred because dev->parent for the visorbus device had become corrupted. Fixes: 0abb60c1c ('staging: unisys: visorchannel_write(): Handle...') Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd012d0def470d6c2e1a441421d00404240e7fec Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Mon Jul 13 14:51:23 2015 -0400 staging: unisys: correctly NULL-terminate visorbus sysfs attribute array I'm not sure what adverse runtime effects the previously-omitted NULL-termination would cause, but the code was definitely wrong. Fixes: 795731627c ('staging: unisys: Clean up device sysfs attributes') Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2164be191e3d627dd7744b7224daf9ad9495c9af Author: Ken Cox <jkc@xxxxxxxxxx> Date: Thu Jul 9 13:28:56 2015 -0400 staging: unisys: Fix broken build when ARCH=um When building with ARCH=um you get the following error: arch/x86/include/asm/cpufeature.h:252:42: error: 'REQUIRED_MASK0' undeclared The Unisys drivers should not be compiled for UML, so this patch addresses that by adding a dependency to kconfig for !UML. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Tested-by: Ken Cox <jkc@xxxxxxxxxx> Signed-off-by: Ken Cox <jkc@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fc07f99134ba0b8d4099322ea0753137ea7ed3b Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Thu Jul 9 13:27:53 2015 -0400 staging: unisys: Allow visorbus to autoload We inadvertently remove the MODULE_DEVICE_TABLE line for visorbus, this patch adds it back in. Signed-off-by: David Kershner <david.kershner@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Fixes: d5b3f1dccee4 ('staging: unisys: move timskmod.h functionality') Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d0119d8e81f93cf3c1bc2b6e7a39e28620cda1a Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:52 2015 -0400 staging: unisys: visornic: prevent erroneous kfree of devdata pointer A struct visornic_devdata for each visornic device is actually allocated as part of alloc_etherdev(), here in visornic_probe(): netdev = alloc_etherdev(sizeof(struct visornic_devdata)); But code in devdata_release() was treating devdata as a pointer that needed to be kfree()d! This was causing all sorts of weird behavior after doing an rmmod of visornic, both because free_netdev() was actually freeing the memory used for devdata, and because devdata wasn't pointing to dynamically-allocated memory in the first place. The kfree(devdata) and the kref that tracked devdata's usage have been appropriately deleted. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 051e9fbbba1594331a9b3b2b157b5a0ce54b9a43 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:51 2015 -0400 staging: unisys: visornic: use preferred interface for setting netdev's parent Just switch this line so it uses the correct function call. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a2e3e3d0992ced8eeb4cfbf228f617ad08afbf1 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:50 2015 -0400 staging: unisys: visornic: delay start of worker thread until netdev created This only makes sense, since the worker thread depends upon the netdev existing. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3798ff31d1fb1ee33de619ffc81a6a56c3ccb973 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:49 2015 -0400 staging: unisys: visornic: don't destroy global workqueues until devs destroyed visornic_cleanup() was previously incorrectly destroying its global workqueues prior to cleaning up the devices which used them. This patch corrects the order of these operations. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46df82267eb26f4f6859e1564dbc9580f57dc542 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:48 2015 -0400 staging: unisys: visornic: correctly clean up device on removal visornic_remove() is called to logically detach the visornic driver from a visorbus-supplied device, which can happen either just prior to a visorbus-supplied device disappearing, or as a result of an rmmod of visornic. Prior to this patch, logic was missing to properly clean up for this removal, which was fixed via the following changes: * A going_away flag is now used to interlock between device destruction and workqueue operations, protected by priv_lock. I.e., setting going_away=true under lock guarantees that no new work items can get queued to the work queues. going_away=true also short-circuits other operations to enable device destruction to proceed. * Missing clean-up operations for the workqueues, netdev, debugfs entries, and the worker thread were added. * Memory referenced from the visornic private devdata struct is now freed as part of devdata destruction. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa15d6d3466390faae884dca45c7c21255c30f3c Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:47 2015 -0400 staging: unisys: visornic: correct obvious double-allocation of workqueues Looks like an errant patch fitting caused us to redundantly allocate the workqueues at both the beginning and end of visornic_init(). This was corrected by removing the allocations at the beginning. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Fixes: 68905a14e49c ('staging: unisys: Add s-Par visornic ethernet driver') Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00748b0c69becb3fc4e520a3f9047b46d3bffe2c Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:46 2015 -0400 staging: unisys: add error messages to visornic Add error message to genuine rare error paths, and debug messages to enable relatively non-verbose tracing of code paths You can enable debug messages by including this on the kernel command line: visornic.dyndbg=+p or by this from the command line: echo "module visornic +p" > <debugfs>/dynamic_debug/control Refer to Documentation/dynamic-debug-howto.txt for more details. In addition to the new debug and error messages, a message like the following will be logged every time a visornic device is probed, which will enable you to map back-and-forth between visorbus device names (e.g., "vbus2:dev0") and netdev names (e.g., "eth0"): visornic vbus2:dev0: visornic_probe success netdev=eth0 With this patch and visornic debugging enabled, you should expect to see messages like the following in the most-common scenarios: * driver loaded: visornic_init * device probed: visornic vbus2:dev0: visornic_probe visor_thread_start visor_thread_start success * network interface configured (ifconfig): net eth0: visornic_open net eth0: visornic_enable_with_timeout net eth0: visornic_enable_with_timeout success net eth0: visornic_open success Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46dfa3d83464c7ee694ff32761645c3e27fcfc48 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:45 2015 -0400 staging: unisys: neglect to NULL rcvbuf pointer Neglect to NULL rcvbuf pointer array could result in faults later This problem would exhibit itself as a fault when when attempting to stop any visornic device (i.e., in visornic_disable_with_timeout() or visornic_serverdown_complete()) that had never been started (i.e., for which init_rcv_bufs() had never been called). Because the array of rcvbuf was never cleared to NULLs, we would mistakenly attempt to call kfree_skb() on garbage memory. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5deeea3379b2fc34d07cfb909b2905e9e1116615 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:44 2015 -0400 staging: unisys: prevent faults in visornic_pause Prevent faults in visornic_pause, visornic_resume(), and visornic_remove() Prior to this patch, any call to visornic_pause(), visornic_resume(), or visornic_remove() would fault, due to dev_set_drvdata() never having been called to stash our struct visornic_devdata * into the device's drvdata. I.e., all calls to dev_get_drvdata() were returning NULL, meaning a fault was soon to follow. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d01da5eac098c4676dd5d296b5be5b0f988fc3c8 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:43 2015 -0400 staging: unisys: visornic: correct visornic_pause Correct visornic_pause() to indicate completion asynchronously rather than in-line Previously, visornic_pause() (called to stop the device due to IOVM service partition recovery) was calling the passed complete_func() in-line, rather than delaying the calling until after the device had actually been stopped. The behavior has been corrected so that the calling of the complete_func() is now delayed until after the stopping of the device has been completed in visornic_serverdown_complete(), which runs asynchronously via the workqueue visornic_serverdown_workqueue. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d15a65be5542ab0c4792a54cf90419fbaf741791 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:42 2015 -0400 staging: unisys: prevent faults processing messages Prevent faults processing messages for devices that no driver has yet registered to handle. Previously, code of the form: drv = to_visor_driver(dev->device.driver); if (!drv) goto away; was not having the desired intent, because to_visor_driver() was essentially returning garbage if its argument was NULL. The only existing case of this is in initiate_chipset_device_pause_resume(), which is called during IOVM service partition recovery. We were thus faulting when IOVM service partition recovery was initiated on a bus that had at least one device for which no function driver had registered (visorbus_register_visor_driver). Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit addce19f58c52a03314e2d8a1e30708dabf9bf30 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Jul 9 13:27:41 2015 -0400 staging: unisys: respond to msgs post device_create Fix problem that prevents us from responding to any device message after device_create. By neglecting to NULL out pending_msg_hdr after the device_create response, we were effectively preventing any subsequent messages to the device from working, because device_epilog() will correctly bail out early if it sees that pending_msg_hdr is still set non-NULL, as that is an indicator to mean that an unanswered message is still outstanding. This problem was discovered as part of testing IOVM service partition recovery, because device_epilog() was in fact bailing out when it was called from my_device_changestate(), which of course prevented us from transitioning the device to the paused state. However, the incorrect behavior would occur for ANY subsequent command directed at the device, not just for changestate. Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a43abee7de3967b7a211ae17563e2e2db40c4f5d Author: Anders Fridlund <anders.fridlund@xxxxxxxxx> Date: Thu Jul 9 14:45:22 2015 +0200 Staging: sm750fb: ddk750_dvi.h: Fix brace coding style issue This is a patch to the ddk750_dvi.h file that fixes up a brace error found by the checkpatch.pl tool Signed-off-by: Anders Fridlund <anders.fridlund@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df525686865a79a44b39f7032cf94e625e894865 Author: Vinay Simha BN <simhavcs@xxxxxxxxx> Date: Tue Jul 14 19:15:28 2015 +0530 staging: sm750fb: coding style global ERROR fixes kernel coding style fixes for below messages from scripts/checkpatch.pl ERROR: do not initialise globals to 0 or NULL Signed-off-by: Vinay Simha BN <simhavcs@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5fca4035a59eb4b120b2ffd645f12508dfb2ed6 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:44:04 2015 +0300 staging: sm750fb: add required spaces around C operators Add spaces according to checkpatch.pl messages: "ERROR: spaces required around that '=' (ctx:VxV)" "ERROR: need consistent spacing around '-' (ctx:WxV)" "ERROR: spaces required around that '?' (ctx:VxE)" "ERROR: need consistent spacing around '&' (ctx:VxW)" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14a974c567aa30070f87ec6652c1727a0e03f11a Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:44:03 2015 +0300 staging: sm750fb: fix open brace in function declaration Fix according to checkpatch.pl message: "ERROR: open brace '{' following function declarations go on the next line" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a52ae2dd8c24a3ab53bb68ea2b5f94c11e3f5a8 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:44:02 2015 +0300 staging: sm750fb: remove assignment from if condition Remove assignment from if condition according to checkpatch.pl message: "ERROR: do not use assignment in if condition" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 990e56663bc6012512fd32fc5e92c54bd58ed688 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:44:01 2015 +0300 staging: sm750fb: fix 'switch and case' indentation Fix according to checkpatch.pl message: "ERROR: switch and case should be at the same indent" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e83e2832b86e76a273e197aae580b81541af352 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:44:00 2015 +0300 staging: sm750fb: fix indentation in 'else' statements Fix indentation according to checkpatch.pl message: "ERROR: space required after that close brace '}'" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bcdffee2d9b9fddb617431bbd9231576eb4054b Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:59 2015 +0300 staging: sm750fb: put open brace on the previous line Fix open braces according to checkpatch.pl message: "ERROR: that open brace { should be on the previous line" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e188ea325d2419164691d6347b4ff7a4128f64b6 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:58 2015 +0300 staging: sm750fb: fix indentation of pointer operator Fix indentation of pointer operator '*' according to checkpatch.pl message: "ERROR: 'foo* bar' should be 'foo *bar' " Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d1b3d64cdc5f22452784ade42ebbc2382a7010e Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:57 2015 +0300 staging: sm750fb: insert space before open parenthesis Insert spaces before '(' according to checkpatch.pl message: "ERROR: space required before the open parenthesis" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0ded448d0b70e76a8d1111ae33ffeb68524fd91 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:56 2015 +0300 staging: sm750fb: insert space between ')' and '{' Insert spaces according to checkpatch.pl message: "ERROR: space required before the open brace '{'" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29d87336d4fea45d53a14d33f2fc5d174a4bfd59 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:55 2015 +0300 staging: sm750fb: remove trailing whitespaces Remove trailing whitespaces according to checkpatch.pl error message: "ERROR: trailing whitespace" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 202add2a04f6371ee493ff325ae466578c3bb2c5 Author: Anatoly Stepanov <drivengroove@xxxxxxxxx> Date: Mon Jun 29 02:43:54 2015 +0300 staging: sm750fb: replace spaces with tabs Replace spaces with tabs according to checkpatch.pl error message: "ERROR: code indent should use tabs where possible" Signed-off-by: Anatoly Stepanov <drivengroove@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7211f6f72f6a7d0c0aaefe03f8c404f5e4704bec Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Wed Jun 24 16:51:21 2015 +0000 staging: sm750fb: remove redundant __func__ in debug statement This patch removes the redundant __func__ from dynamic debug prints as the pr_xxx set of functions can be dynamically controlled to include function name.Also fix a typo in debug statement. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76945bf9ff8a2433f1efb777ec64475c1eec08ab Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Apr 27 14:57:22 2015 -0400 i40e/i40evf: Bump version to 1.3.6 for i40e and 1.3.2 for i40evf Bump. Change-ID: I84573d9fa51effc5b29bf5b8c74e3cc8b2673f48 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b2a75c5819ec910f430a2ff12fec6cce202899a0 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Mon Apr 27 14:57:20 2015 -0400 i40e: Refine an error message to avoid confusion Change a warning message to indicate what may have really happened when the init_shared_code call fails. Change-ID: I616ace40fed120d0dec86dfc91ab2d7cde466904 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3bbf0faa90cb8d541d8b2ce01610dcec6828bd00 Author: Faisal Latif <faisal.latif@xxxxxxxxx> Date: Mon Apr 27 14:57:19 2015 -0400 i40e/i40evf: Add support for pre-allocated pages for PD The i40e_add_pd_table_entry() routine is being modified to handle both cases where a backing page is passed and where backing page is allocated in i40e_add_pd_table_entry(). For PBLE resource management, it is more efficient for it to manage its backing pages. For VF, PBLE backing page addresses will be send to PF driver for PBLE resource. The i40e_remove_pd_bp() is also modified to not free pre-allocated pages and free only ones which were allocated in i40e_add_pd_table_entry(). Change-ID: Ie673f0403f22979e9406f5a94048dceb91bcf9a8 Signed-off-by: Faisal Latif <faisal.latif@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 44151cd32deb1074530f3beba51d535fa0887d9a Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:17 2015 -0400 i40evf: add MAC address filter in open, not init During close, all of the MAC filters are cleared, so the driver would be unable to receive unicast packets after being closed and reopened. Add the adapter's "hardware" MAC address filter in open, not init. This ensures that the correct filter is present each time. Change-ID: I51a11e9c1200139dab6f66a5353bd38c7d26f875 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 68ef169204e3a88ea4823645038d5496f66200f6 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:16 2015 -0400 i40evf: don't delete all the filters Due to an inverted conditional, the driver was marking all of its MAC filters for deletion every time set_rx_mode was called. Depending upon the timing of the calls to set_rx_mode and the processing of the admin queue, the driver would (accidentally) end up with a varying number of functional filters. Correct this logic so that MAC filters are added and removed correctly. Add a check for the driver's "hardware" MAC address so that this filter doesn't get removed incorrectly. Change-ID: Ib3e7c4a5b53df6835f164fe44cb778cb71f8aff8 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5b8f8505d37c63d492391e5fafcd43332671b36b Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:15 2015 -0400 i40e: un-disable VF after reset When a VF is disabled, there is no way for it to recover until either the PF driver is reloaded or SR-IOV is disabled and enabled. To correct this, enable the VF after a successful reset. Change-ID: I9e0788476c4d53d5407961b503febdfff2b8a7c6 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 54f455eeb56c0ab92db87bed6bd767d206d9e743 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:14 2015 -0400 i40e: do a proper reset when disabling a VF The VF disable code was just whanging on the reset bit without properly cleaning up the VF, which would leave the VF in an indeterminate state from which it could not recover. Fix this by notifying the VF and then by calling the normal VF reset routine. Change-ID: I862b9dfa919368773cbdc212b805b520db2f7430 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e995163cdcf9b70c7840a8d6a7ea7c0ce81c761b Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:13 2015 -0400 i40e: correctly program filters for VFs MAC filters for VFs were being programmed with 0 for the VLAN value when there was no VLAN assigned. This is incorrect and actually assigns the VF to VLAN 0. Instead, we must use -1 to indicate that no VLAN is in use. This change programs the filters correctly and gets rid of a bogus error message when setting a port VLAN on an active VF. Change-ID: Ica9a9906d768405377ff3308e27f7d0b5b2ea96e Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit cb2f65bc0c64015e8fa45fe1065ad241bf31a994 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Mon Apr 27 14:57:12 2015 -0400 i40e/i40evf: Update the admin queue command header Make the necessary updates to i40e_adminq_cmd.h. Change-ID: Ib031c86cc6cab78e5aa44c64d8ce5474be8d7e42 Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9df70b66418e284dc1e7f272ac445c1d1e990b97 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Apr 27 14:57:11 2015 -0400 i40e: Remove incorrect #ifdef's This patch removes some #ifdef's that should not be there. They were stopping code that is needed from being compiled in. With these #ifdef's removed, changes are needed in the driver to fix some compile errors: adding missing parameters to the definition of ndo_bridge_setlink and a ndo_dflt_brige_getlink call. Change-ID: I5516614e1bc50b6bca0647cef971bc96161ba2de Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 85927ec1b369c880407aa82eba70d49c04c35062 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:10 2015 -0400 i40e: ignore duplicate port VLAN requests If user attempts to set a port VLAN on a VF that already has the same port VLAN configured, the driver will go through a completely unnecessary flurry of filter removals and filter adds. Just check for this condition and return success instead of doing a bunch of busywork. Change-ID: Ia1a9e83e6ed48b3f4658bc20dfc6af0cf525d54a Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 973371da4d66b96736143bd3f2b2ff2331faae8f Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Apr 27 14:57:09 2015 -0400 i40evf: Allow for an abundance of vectors The driver currently only maps TX and RX queues to a single MSI-X vector per queue pair if there are exactly enough vectors for this. Unfortunately, if we have too many vectors it will fail and allocate queues to vectors in a suboptimal manner. Change the condition check to allow for excess vectors. In this case, the extras just won't be used. Change-ID: I23e1e2955c64739c86612db88a25583e6a7e0b17 Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 489ce7a46306052ab4ef26c6305051c5f1b24bb4 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Apr 27 14:57:08 2015 -0400 i40e/i40evf: improve Tx performance with a small tweak Add a prefetch for the next Tx descriptor to be used when we know there are more coming. Change-ID: Ibb9acab11d508eec2db7da795df74debc16eeacb Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c78b953e0f189824f5eaa2d60123cfd12ea6db0d Author: Pawel Orlowski <pawel.orlowski@xxxxxxxxx> Date: Wed Apr 22 19:34:06 2015 -0400 i40e/i40evf: Update Flex-10 related device/function capabilities The Flex10 device/function capability has been upgraded to include information needed to support Flex-10 configurations. This patch adds new fields to the i40e_hw_capabilities structure and updates i40e_parse_discover_capabilities functions to extract them from the AQ response. Naming convention has changed to use flex10 mode instead of existing mfp_mode_1. Change-ID: I305dd888866985a30293acb3fb14fa43ca6b79ea Signed-off-by: Pawel Orlowski <pawel.orlowski@xxxxxxxxx> Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d0389e51fc9b3c74e7935ded5d22eab4ea004589 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Wed Apr 22 19:34:05 2015 -0400 i40e/i40evf: Add stats to track FD ATR and SB dynamic enable state Since the driver can dynamically enable/disable FD ATR and SB features, these stats help keep track of the current state and along with fd_flush count provide a means to debug what could be going on with the flow director filters. This will take away the need for being verbose in our debug logs with respect to FD. Change-ID: I29224f750fe6602391043655d18996570720377d Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <james.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f44a75e27d5eb4b1788f59c2bc185baaaf732f75 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Tue Apr 14 17:09:14 2015 -0700 i40e: Implement ndo_features_check() i40e supports UDP tunnel headers up to 80 bytes in length, so this adds a check to ensure that it doesn't try to offload packets that exceed that. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 90e6f51da718fc982eafd3dd7d6c78b378f67136 Author: Santhosh Pai <santhosh.pai88@xxxxxxxxx> Date: Mon Jun 29 10:44:03 2015 +0100 staging: Comedi: comedi_fops: Fixed the return error code This patch fixes the checkpatch.pl warning: WARNING: ENOSYS means 'invalid syscall nr' and nothing else try_module_get fails when the reference count of the module is not allowed to be incremented ,and hence -ENXIO is returned indicating no device or address. [IA - combined two of santhosh's changes to the error return value!] Signed-off-by: santhosh pai <santhosh.pai88@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e0d311ebd589e65b8e5559e067d0dd109ac3434 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Jul 7 17:06:52 2015 +0100 staging: comedi: use CAP_SYS_ADMIN instead of CAP_NET_ADMIN If the "comedi" module has been loaded with the "comedi_num_legacy_minors" module parameter set to a non-zero value, some reserved comedi devices get created. These can be attached to a low-level comedi driver using the `COMEDI_DEVCONFIG` ioctl command, which checks for the `CAP_SYS_ADMIN` capability. Of course, the comedi device needs to be opened before the ioctl command can be sent. If the comedi device is unattached, `comedi_open()` currently requires the `CAP_NET_ADMIN` capability. It makes more sense to just require the `CAP_SYS_ADMIN` capability here, so change it. For the curious, commit a8f80e8ff94e ("Networking: use CAP_NET_ADMIN when deciding to call request_module") changed this capability from `CAP_SYS_MODULE` to `CAP_NET_ADMIN`, even though it doesn't seem relevant here. The original `CAP_SYS_MODULE` capability was due to the function having some code to request a module using a "char-major-%i-%i" alias, but that was never compiled in and was removed by commit f30f2c2d417b ("staging: comedi: remove check for CONFIG_KMOD"). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fff0fea6d8821b1e521b7d38ea6d69c47e21efc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Jul 7 18:06:07 2015 +0100 staging: comedi: cb_pcimdas: add external analog output ranges The analog output range is not programmable, but the ranges for each of the two analog output channels are settable via jumpers. These jumper settings are not readable by the driver. The driver provides a range table containing all the possible internal ranges (+/-10V, +/-5V, 0-10V, 0-5V) to provide information to the user application (although any range selected by the application that differs from the jumper settings will not produce the expected voltage output). The range table does not cover all possible ranges of the analog output channels. The jumpers also allow an external reference voltage between 0 and 10V to be used as bipolar or unipolar output range. Add a couple more ranges to the end of the range table to define these two external ranges. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50f058a1900aa02fea93c6d47584eefc74fdd4ac Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:41:18 2015 +0200 staging: comedi: Grammar s/Enable support a/Enable support for a/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f73490e20261dbf543744bb3dc1ae6d6af0d80f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Jun 22 23:33:42 2015 +0800 staging: comedi: fix cast warning in comedi_compat32.c This patch fixes the following sparse warning: drivers/staging/comedi/comedi_compat32.c:205:16: warning: cast removes address space of expression Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58a06a2a64930ad11cc398b0b00ae9817b9a821a Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Jun 22 15:03:15 2015 +0200 staging: comedi: das16m1: fix lines over 80 characters Warnings found by checkpatch.pl WARNING: line over 80 characters /drivers/staging/comedi/drivers/das16m1.c:414 + if (devpriv->adc_count == 0 && hw_counter == devpriv->initial_hw_count) { /drivers/staging/comedi/drivers/das16m1.c:417 /drivers/staging/comedi/drivers/das16m1.c:418 /drivers/staging/comedi/drivers/das16m1.c:419 /drivers/staging/comedi/drivers/das16m1.c:420 /drivers/staging/comedi/drivers/das16m1.c:421 Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21eaa3c23ac49c6a2b8f842412177a956711169a Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Jun 22 15:02:36 2015 +0200 staging: comedi: das16m1: no space before tabs Warning found by checkpatch.pl WARNING: please, no space before tabs /drivers/staging/comedi/drivers/das16m1.c:83 + 404-407 ^I8254$ Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71b9f42eac9722d8dc39a5b2771255e2a6214eee Author: Abdul Hussain <habdul@xxxxxxxxxxx> Date: Mon Jun 22 06:11:13 2015 +0000 Staging: comedi: s626: Simplify a trivial if-return sequence This patch simplify a trivial if-return sequence. Possibly combine with a preceding function call. Signed-off-by: Abdul Hussain <habdul@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac7e62914cf5d31d31948d3f2b085e80e515a7cc Author: Abdul Hussain <habdul@xxxxxxxxxxx> Date: Mon Jun 22 06:11:09 2015 +0000 Staging: comedi: ni_daq_dio24: Simplify a trivial if-return sequence This patch simplify a trivial if-return sequence. Possibly combine with a preceding function call. Signed-off-by: Abdul Hussain <habdul@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b2dae3da36dd2bcbf6c2171dba8a51a7b42673a Author: Abdul Hussain <habdul@xxxxxxxxxxx> Date: Mon Jun 22 06:11:06 2015 +0000 Staging: comedi: dac02: Simplify a trivial if-return sequence This patch simplify a trivial if-return sequence. Possibly combine with a preceding function call. Signed-off-by: Abdul Hussain <habdul@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11b22e1465e25dbbf29c7df30ba20497d91c63f2 Author: Abdul Hussain <habdul@xxxxxxxxxxx> Date: Mon Jun 22 06:10:59 2015 +0000 Staging: comedi: fl512: Simplify a trivial if-return sequence This patch simplify a trivial if-return sequence. Possibly combine with a preceding function call. Signed-off-by: Abdul Hussain <habdul@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa4c586e17dc1f5402235e4a78399ebc2026c435 Author: Abdul Hussain <habdul@xxxxxxxxxxx> Date: Mon Jun 22 06:10:56 2015 +0000 Staging: comedi: dmm32at: Simplify a trivial if-return sequence This patch simplify a trivial if-return sequence. Possibly combine with a preceding function call. Signed-off-by: Abdul Hussain <habdul@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55ff2c6972e96acc3fd12be33ac7ac2fa17f1b0d Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Mon Jun 22 14:14:35 2015 +0200 staging: comedi: das08_cs: don't split Author string fixes checkpatch.pl WARNING: quoted string split across lines +MODULE_AUTHOR("David A. Schleef <ds@xxxxxxxxxxx>, " + "Frank Mori Hess <fmhess@xxxxxxxxxxxxxxxxxxxxx>"); Modules with multiple authors have a MODULE_AUTHOR line for each one. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cec276808bc0a4ac5fc3ab9e42a1b5d1e3e9cc4 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 14 04:57:34 2015 +0000 ARM: shmobile: defconfig: add Renesas DPCM Sound Card This patch enables DPCM related sound card. It is used for... - Sampline rate convert - CTU/MIXer Note: you need to enable these settings on DTS file Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 18f88d22e4167a658091fe020beef723cefe86dd Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 14 04:57:05 2015 +0000 ARM: shmobile: koelsch: add sound label on DTS It is easy to modify settings for Test or other purpose if sound has label Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 30be0ba5f92c9a728bf3b3f41dbf3240eb3bbc11 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 14 04:56:10 2015 +0000 ARM: shmobile: lager: add sound label on DTS It is easy to modify settings for Test or other purpose if sound has label Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c53b0c92a829fe804f2f5f749ebc907658ebcf75 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 11 09:46:26 2015 +0200 ARM: shmobile: emev2: kzm9d: enable IIC busses Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cd42d042a2e712a7f9880f860075815539ce4baf Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 11 09:46:25 2015 +0200 ARM: shmobile: emev2: add IIC cores to dtsi Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4ef299d7dd51f4081618446a420f500e7f7e5d1b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:38:26 2015 +0900 PCI: xgene: Drop owner assignment from platform_driver platform_driver_register() automatically supplies THIS_MODULE, so we don't need to set it in the platform_driver struct. Remove the xgene_msi_driver.owner assignment. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit cef853810edcfffb9203b59637eebb916cfaa759 Author: Guillermo O. Freschi <kedrot@xxxxxxxxx> Date: Sun Jun 21 05:28:55 2015 -0300 staging: android: ion_chunk_heap.c: Fixed line over 80 characters Simple style fix. Signed-off-by: Guillermo O. Freschi <kedrot@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5605b188833fc60c297e0a3927e274349a172f59 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Mon Jul 13 15:50:30 2015 +0300 staging: android: ion: reorder variable definitions Prevents false positive "missing empty line after a definition" checkpatch warning. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4229fb12a03e5da5882b420b0aa4a02e77447b86 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Jul 4 15:27:39 2015 +0300 xtensa: fix threadptr reload on return to userspace Userspace return code may skip restoring THREADPTR register if there are no registers that need to be zeroed. This leads to spurious failures in libc NPTL tests. Always restore THREADPTR on return to userspace. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit ffb4d602623aef9eb813a35b87b20854c030a2ec Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Jun 24 16:05:54 2015 -0500 PCI: Add pcie_downstream_port() (true for Root and Switch Downstream Ports) As used in the PCIe spec, "Downstream Port" includes both Root Ports and Switch Downstream Ports. We sometimes checked for PCI_EXP_TYPE_DOWNSTREAM when we should have checked for PCI_EXP_TYPE_ROOT_PORT or PCI_EXP_TYPE_DOWNSTREAM. For a Root Port without a slot, the effect of this was that using pcie_capability_read_word() to read PCI_EXP_SLTSTA returned zero instead of showing the Presence Detect State bit hardwired to one as the PCIe Spec, r3.0, sec 7.8, requires. (This read is completed in software because previous PCIe spec versions didn't require PCI_EXP_SLTSTA to exist at all.) Nothing in the kernel currently depends on this (pciehp only reads PCI_EXP_SLTSTA on ports with slots), so this is a cleanup and not a functional change. Add a pcie_downstream_port() helper function and use it. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit aad0d51e933f8656880592020319d2dbd09532a2 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 21:10:10 2015 +0300 ravb: kill useless initializers Some of the local variable intializers in the driver turned out to be pointless, kill them. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit badb7f5e8bddf74a2f2dcc7d9d88accabfc000f5 Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Wed Jul 1 15:38:04 2015 +0800 workqueue: add myself as a dedicated reviwer I am one of the dedicated reviwers of workqueue.c. Now I add myself to the MAINTAINERS entry with the updated email address. The old laijs@xxxxxxxxxxxxxx will be ended soon. Signed-off-by: Lai Jiangshan <jiangshanlai@xxxxxxxxx> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 83cb8557e8d2c8e5eddc64840c437299343a7960 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Jun 26 17:21:28 2015 -0400 percpu: update incorrect comment for this_cpu_*() operations this_cpu_*() ops have been protected against both preemption and interrupts for quite a while now. We apparently forgot to update the comment. Fix it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx> commit 5dbc247c2a11f6b9febb854a55be5ae6be720df6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 14:55:13 2015 +0200 ata: sata_rcar: Remove obsolete sata-r8a779* platform_device_id entries Since commit a483dcbfa21f919c ("ARM: shmobile: lager: Remove legacy board support"), R-Car Gen2 SoCs are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a5cb88804d51b9d272d1d15ea348a244ba4d26c3 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 09:35:42 2015 +0200 staging: lustre: Deletion of unnecessary checks before three function calls The following functions test whether their argument is NULL and then return immediately. * kfree * ll_file_data_put * ptlrpc_connection_put Thus the test around such calls is not needed. This issue was detected by using the Coccinelle software. See also a previous update suggestion: "remove unneeded null test before free" by Julia Lawall https://lkml.org/lkml/2015/5/1/498 https://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg878600.html Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f37ac9343db1d0d3a9028d963eafe834053a0fb Author: Lukasz Janyst <lj@xxxxxxxxxxxxxx> Date: Tue Jul 14 17:22:21 2015 +0200 staging: lustre: fix whitespace coding style issues in libcfs/module.c This is a patch to the libcfs/module.c file fixing whitespace warnings found by checkpatch.pl. Signed-off-by: Lukasz Janyst <lj@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 917d8e2d10f40e28aa9e0d824b2e5b8197d79fc2 Author: Aleksa Sarai <cyphar@xxxxxxxxxx> Date: Sat Jun 13 03:21:58 2015 +1000 cgroup: add documentation for the PIDs controller Add documentation derived from kernel/cgroup_pids.c to the relevant Documentation/ directory, along with a few examples of how to use the PIDs controller as well an explanation of its peculiarities. Signed-off-by: Aleksa Sarai <cyphar@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 49b786ea146f69c371df18e81ce0a2d5839f865c Author: Aleksa Sarai <cyphar@xxxxxxxxxx> Date: Tue Jun 9 21:32:10 2015 +1000 cgroup: implement the PIDs subsystem Adds a new single-purpose PIDs subsystem to limit the number of tasks that can be forked inside a cgroup. Essentially this is an implementation of RLIMIT_NPROC that applies to a cgroup rather than a process tree. However, it should be noted that organisational operations (adding and removing tasks from a PIDs hierarchy) will *not* be prevented. Rather, the number of tasks in the hierarchy cannot exceed the limit through forking. This is due to the fact that, in the unified hierarchy, attach cannot fail (and it is not possible for a task to overcome its PIDs cgroup policy limit by attaching to a child cgroup -- even if migrating mid-fork it must be able to fork in the parent first). PIDs are fundamentally a global resource, and it is possible to reach PID exhaustion inside a cgroup without hitting any reasonable kmemcg policy. Once you've hit PID exhaustion, you're only in a marginally better state than OOM. This subsystem allows PID exhaustion inside a cgroup to be prevented. Signed-off-by: Aleksa Sarai <cyphar@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 7e47682ea555e7c1edef1d8fd96e2aa4c12abe59 Author: Aleksa Sarai <cyphar@xxxxxxxxxx> Date: Tue Jun 9 21:32:09 2015 +1000 cgroup: allow a cgroup subsystem to reject a fork Add a new cgroup subsystem callback can_fork that conditionally states whether or not the fork is accepted or rejected by a cgroup policy. In addition, add a cancel_fork callback so that if an error occurs later in the forking process, any state modified by can_fork can be reverted. Allow for a private opaque pointer to be passed from cgroup_can_fork to cgroup_post_fork, allowing for the fork state to be stored by each subsystem separately. Also add a tagging system for cgroup_subsys.h to allow for CGROUP_<TAG> enumerations to be be defined and used. In addition, explicitly add a CGROUP_CANFORK_COUNT macro to make arrays easier to define. This is in preparation for implementing the pids cgroup subsystem. Signed-off-by: Aleksa Sarai <cyphar@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 225f58fbcc02ace232fc49f05036042f9d58263e Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Tue Jul 14 11:15:37 2015 +0800 livepatch: Improve error handling in klp_disable_func() In case of func->state or func->old_addr not having expected values, we'd rather bail out immediately from klp_disable_func(). This can't really happen with the current codebase, but fix this anyway in the sake of robustness. [jkosina@xxxxxxxx: reworded the changelog a bit] Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 29e2d6d1f6f61ba2b5cc9d9867e01d8c31a6c4f7 Author: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 22:04:31 2015 -0700 HID: cp2112: fix byte order in SMBUS operations Change all occurrences of be16 to le16 in cp2112_xfer(), because SMBUS words are little endian, not big endian. Signed-off-by: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 93972d18bbaba6f34e21742400b6e7461edc4837 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Jun 28 16:42:04 2015 +0200 PCI: iproc: Delete unnecessary checks before phy calls The functions phy_exit() and phy_power_off() test whether their argument is NULL and then return immediately. Thus the test around the calls is not needed. This issue was detected by using the Coccinelle software. [bhelgaas: also phy_init() and phy_power_on(), as Ray Jui suggested] [bhelgaas: also remove tests in iproc_pcie_remove()] Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> commit 6ce12a977b7e484540482febe47d1e65f7427abf Author: SungEun Kim <cleaneye.kim@xxxxxxx> Date: Fri Jul 3 15:57:20 2015 +0900 PM / autosleep: Use workqueue for user space wakeup sources garbage collector The synchronous synchronize_rcu() in wakeup_source_remove() makes user process which writes to /sys/kernel/wake_unlock blocked sometimes. For example, when android eventhub tries to release a wakelock, this blocking process can occur, and eventhub can't get input events for a while. Using a work item instead of direct function call at pm_wake_unlock() can prevent this unnecessary delay from happening. Signed-off-by: SungEun Kim <cleaneye.kim@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e7f6c6d02cc3fa7f78153919900561bd1dce02a3 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Jun 24 16:03:23 2015 -0500 PCI: Fix pcie_port_device_resume() comment The function comment claimed this was pcie_port_device_suspend(), but it's really pcie_port_device_resume(). Perils of cut and paste. Use the correct function name in the comment. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2b4aed1d1f119634d80d8c701873c2be01480aa9 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jun 19 16:20:58 2015 -0500 PCI: Shift PCI_CLASS_NOT_DEFINED consistently with other classes The PCI class in dev->class is a three-byte value comprising a base class, sub-class, and interface type. PCI_CLASS_NOT_DEFINED includes the base class and sub-class, but not the interface type, so it should be shifted to make space for the interface. It happens that PCI_CLASS_NOT_DEFINED is zero, so it doesn't matter in the end, but we should still use it consistently with other class definitions. Treat PCI_CLASS_NOT_DEFINED as a base class/sub-class value that should appear in bits 8-23 of dev->class. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit eefaf338820ecd3fb14da496f8a740612257a341 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Jun 24 15:46:38 2015 -0500 PCI: Revert aeb30016fec3 ("PCI: add Intel USB specific reset method") Revert aeb30016fec3 ("PCI: add Intel USB specific reset method"). We checked for "dev->class == PCI_CLASS_SERIAL_USB", but dev->class contains the entire three-byte base class/sub-class/interface, while PCI_CLASS_SERIAL_USB is only the two-byte base class/sub-class. This error meant that we used the Intel device-specific reset on devices with class code 0x000c03 instead of those with class code 0x0c03xx. 0x000c03 is a reserved value in the 0x00 backwards compatibility base class and shouldn't match any devices, so I think reset_intel_generic_dev() always failed. I considered adding a shift, but I can't test it, so it's as likely to break something as to fix something. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Yu Zhao <yu.zhao@xxxxxxxxx> CC: Mathias Nyman <mathias.nyman@xxxxxxxxx> commit d1541dc977d376406f4584d8eb055488655c98ec Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jun 19 15:58:24 2015 -0500 PCI: Fix TI816X class code quirk In fixup_ti816x_class(), we assigned "class = PCI_CLASS_MULTIMEDIA_VIDEO". But PCI_CLASS_MULTIMEDIA_VIDEO is only the two-byte base class/sub-class and needs to be shifted to make space for the low-order interface byte. Shift PCI_CLASS_MULTIMEDIA_VIDEO to set the correct class code. Fixes: 63c4408074cb ("PCI: Add quirk for setting valid class for TI816X Endpoint") Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Hemant Pedanekar <hemantp@xxxxxx> commit e6323e3c51601e5ccda24024ece3d7cd542378ea Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jun 19 15:36:45 2015 -0500 PCI: Fix generic NCR 53c810 class code quirk In the generic quirk fixup_rev1_53c810(), added by a5312e28c195 ("[PATCH] PCI: NCR 53c810 quirk"), we assigned "class = PCI_CLASS_STORAGE_SCSI". But PCI_CLASS_STORAGE_SCSI is only the two-byte base class/sub-class and needs to be shifted to make space for the low-order interface byte. Furthermore, we had a similar quirk, pci_fixup_ncr53c810(), for arch/x86, which assigned class correctly. The arch code is linked before the PCI core, so arch quirks run before generic quirks. Therefore, on x86, the x86 arch quirk ran first, and the generic quirk did nothing because it saw that dev->class was already set. But on other arches, the generic quirk set the wrong class code. Fix the generic quirk to set the correct class code and remove the now-unnecessary x86-specific quirk. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Matthew Wilcox <matthew@xxxxxx> commit cd76d10b78ab21a7adc4562e016213dd4891b6e5 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Jun 19 15:28:31 2015 -0500 PCI: Use PCI_CLASS_SERIAL_USB instead of bare number be6646bfbaec ("PCI: Prevent xHCI driver from claiming AMD Nolan USB3 DRD device") added a quirk to override the PCI class code of the AMD Nolan device. Use PCI_CLASS_SERIAL_USB instead of a bare number to improve greppability. Also add a log message about what we're doing. No functional change except the new message. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Huang Rui <ray.huang@xxxxxxx> CC: Jason Chang <jason.chang@xxxxxxx> CC: Felipe Balbi <balbi@xxxxxx> commit 3657cebda5eb9dc1c4c6a0ea5b38bfef70aea50a Author: Krzysztof =?utf-8?Q?Ha=C5=82asa?= <khalasa@xxxxxxx> Date: Fri Jun 19 10:00:15 2015 +0200 PCI: Add quirk for Intersil/Techwell TW686[4589] AV capture cards Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero) class code. Fix it. Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit acc068d967a63aef163167a66a02966f42052b80 Author: Peter Huewe <peterhuewe@xxxxxx> Date: Mon Jul 13 22:02:48 2015 +0200 Documenation: Update location of docproc.c docproc.c was moved in 2011 from scripts/basic to scripts -> updated the references accordingly Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 4a118753d411d3e22a463361bb867c51d63ebe14 Author: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Date: Fri Jun 19 11:52:46 2015 +0530 PCI: Remove Intel Cherrytrail D3 delays Just like Haswell, Intel Atom Cherrytrail does not need the default 10ms d3_delay imposed by the PCI specification. Expand quirk_remove_d3_delay() to apply to Cherrytrail devices, so we can ignore the 10ms delay before entering or exiting D3 suspend. [bhelgaas: changelog, comment] Signed-off-by: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 5d250eeb9d9d2237d49cd284ad35a6707694b88e Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Jul 13 12:29:11 2015 +0900 Doc: pps: Fix file name in pps.txt This patch fix a file name of example code. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Rodolfo Giometti <giometti@xxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 6e7ac7b4ab4d7b4486b4680ebbffbff3b1b0d775 Author: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> Date: Sun Jul 12 17:49:55 2015 +0200 SubmittingPatches: fix wrong wording "facilitate easier reviewing" says the same thing twice. Signed-off-by: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> [jc: made it "easier review"] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit bdc89213710250d75fcbb86c2e623d1bbe8e3bb2 Author: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> Date: Sun Jul 12 17:44:15 2015 +0200 SubmittingPatches: fix wrong wording Signed-off-by: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit cde669fa71cfb6fdbd579c409b08a5cfa1863584 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue May 26 21:50:09 2015 +0200 ARM: dts: rockchip: add Netxeon R89 board This board is used in some TV-boxes like for example the Beelink R89 or Tronsmart R28. The board itself follows the reference design for the most part. But there are no schematics available it seems, so some things should be taken with a grain of salt. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Romain Perier <romain.perier@xxxxxxxxx> commit cfa229b7b4232b23b77e059e19adf432bedd59a9 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue May 26 21:49:05 2015 +0200 dt-bindings: add vendor prefix for Netxeon Technology Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Reviewed-by: Romain Perier <romain.perier@xxxxxxxxx> commit 89e0e250f92b0b0233337043ddf76f261916036c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jul 9 11:21:03 2015 +0300 ASoC: fsl: fsl_spdif: signedness bug in fsl_spdif_startup() We need "i" to be signed or it leads to a forever loop in the error handling. Fixes: fa3be9208dcb ('ASoC: fsl: fsl_spdif: Check for clk_prepare_enable() error') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a807a6cc29115a9a43c168fc0d4540b3d9284815 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:44:00 2015 +0900 regulator: drivers: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 736050c4c11a4907d381672d5396485045d78bab Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:44:01 2015 +0900 regulator: da9062: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f5e9fdaeb3ba48d9a5a6882614f42d0303355fae Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:30:46 2015 +0900 spi: xcomm: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 27bc1dd24488ce2a13e5c59aaf6d3202e519e21e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:30:31 2015 +0900 ASoC: mediatek: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 430b7ad5d3d07e9869085d777264a37ae2dd5c26 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:24 2015 +0530 drm/i915: Added BXT check in HAS_CORE_RING_FREQ macro Updated the HAS_CORE_RING_FREQ macro to add the broxton check, so as to disallow the programming & read of ring frequency table for it. Issue: VIZ-5144 Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 97d3308ab245c51ae237b3444afa7ae87aa9bcd4 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:23 2015 +0530 drm/i915: Add HAS_CORE_RING_FREQ macro Added a new HAS_CORE_RING_FREQ macro, currently used in gen6_update_ring_freq & i915_ring_freq_table debugfs function. The programming & read of ring frequency table is needed for newer GEN(>=6) platforms, except VLV/CHV. Issue: VIZ-5144 Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 70e0bd74b9a22ecaa25793bf4f461cf84a1f348a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:29 2015 +0200 drm/i915: Make intel_display_suspend atomic, try 2. Calculate all state using a normal transition, but afterwards fudge crtc->state->active back to its old value. This should still allow state restore in setup_hw_state to work properly. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e694eb020f12949a3eb12d4bb4957f0237961b2d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 16:19:12 2015 +0200 drm/i915: Always force a modeset in intel_crtc_restore_mode, v2. And get rid of things that are no longer true. This function is only used for forcing a modeset when encoder properties are changed. Because this is not yet done atomically, assume a full modeset is needed and force a modeset on the crtc. Changes since v1: - s/reset/force modeset/ Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 292b990e86abc42cba683fda1a56dc5f253a1d3e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:27 2015 +0200 drm/i915: Update power domains on readout. This allows us to get rid of the set_init_power in modeset_update_crtc_domains. The state should be sanitized enough after setup_hw_state to not need the init power. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad3c558fb92f725858494f6b3f0befcd89cbb41c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:26 2015 +0200 drm/i915: Get rid of unused transitional members. The previous commit converted hw readout to atomic, all the new_* members were used for restoring the old state, but with the conversion of suspend to atomic there's no use left for them. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 043e9bda6b7bf6ff83576c65a40becc5054e827d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:25 2015 +0200 drm/i915: Convert resume to atomic. Instead of all the ad-hoc updating, duplicate the old state first before reading out the hw state, then restore it. intel_display_resume is a new function that duplicates the sw state, then reads out the hw state, and commits the old state. intel_display_setup_hw_state now only reads out the atomic state. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90396 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5c1e34261907736dc3b3a7219b2f48f353f10a93 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 15:58:28 2015 +0200 drm/i915: Readout initial hw mode. drm/i915: Readout initial hw mode, v2. Atomic requires a mode blob when crtc_state->enable is true, or you get a huge warn_on. With a few tweaks the mode we read out from hardware could be used as the real mode without a modeset, but this requires too much testing, so for now force a modeset the first time the mode blob's updated. This preserves the old behavior, because previously we never set the initial mode, which always meant that a modeset happened when the mode was first set. Changes since v1: - Add a description in intel_modeset_readout_hw_state of how the recalculation is done. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a03dfb057d0ee5f3146ffe40179af3ed7e48213 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 13:46:40 2015 +0200 drm/i915: Calculate vblank timestamping constants before enabling vblank. This is required to properly initialize vblanks on the active crtc. Without it drm_calc_vbltimestamp_from_scanoutpos can fail with crtc 0: Noop due to uninitialized mode. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4be40c987aa0867a8fa77c12d5ed6fa2f8853dbc Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 13:45:32 2015 +0200 drm/i915: Zero the mode in intel_sanitize_crtc when force disabling. There is a WARN_ON in drm_atomic_crtc_check for this when exposing the atomic property. If the mode_blob still exists, but enable = false then all updates are rejected with -EINVAL. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b06f8b0df73dea39337e394805827491d0b1585c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 13:42:49 2015 +0200 drm/i915: Fix reference leak in intel_modeset_readout_hw_state. Unreference the old mode_blob by calling the crtc_destroy_state helper before zeroing the crtc_state. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4cf0ebbd4fafbdf8e6431dbb315e5511c3efdc3b Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:20 2015 +0200 drm/i915: Rework plane readout. All non-primary planes get disabled during hw readout, this reduces complexity and means not having to do some plane visibility checks during the first commit. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3bbaba0ceaa254c9ee261e329bfd92e4ba4fe32a Author: Peter Antoine <peter.antoine@xxxxxxxxx> Date: Fri Jul 10 20:13:11 2015 +0300 drm/i915: Added Programming of the MOCS This change adds the programming of the MOCS registers to the gen 9+ platforms. The set of MOCS configuration entries introduced by this patch is intended to be minimal but sufficient to cover the needs of current userspace - i.e. a good set of defaults. It is expected to be extended in the future to provide further default values or to allow userspace to redefine its private MOCS tables based on its demand for additional caching configurations. In this setup, userspace should only utilize the first N entries, higher entries are reserved for future use. It creates a fixed register set that is programmed across the different engines so that all engines have the same table. This is done as the main RCS context only holds the registers for itself and the shared L3 values. By trying to keep the registers consistent across the different engines it should make the programming for the registers consistent. v2: -'static const' for private data structures and style changes.(Matt Turner) v3: - Make the tables "slightly" more readable. (Damien Lespiau) - Updated tables fix performance regression. v4: - Code formatting. (Chris Wilson) - re-privatised mocs code. (Daniel Vetter) v5: - Changed the name of a function. (Chris Wilson) v6: - re-based - Added Mesa table entry (skylake & broxton) (Francisco Jerez) - Tidied up the readability defines (Francisco Jerez) - NUMBER of entries defines wrong. (Jim Bish) - Added comments to clear up the meaning of the tables (Jim Bish) Signed-off-by: Peter Antoine <peter.antoine@xxxxxxxxx> v7 (Francisco Jerez): - Don't write L3-specific MOCS_ESC/SCC values into the e/LLC control tables. Prefix L3-specific defines consistently with L3_ and e/LLC-specific defines with LE_ to avoid this kind of confusion in the future. - Change L3CC WT define back to RESERVED (matches my hardware documentation and the original patch, probably a misunderstanding of my own previous comment). - Drop Android tables, define new minimal tables more suitable for the open source stack. - Add comment that the MOCS tables are part of the kernel ABI. - Move intel_logical_ring_begin() and _advance() calls one level down (Chris Wilson). - Minor formatting and style fixes. v8 (Francisco Jerez): - Add table size sanity check to emit_mocs_control/l3cc_table() (Chris Wilson). - Add comment about undefined entries being implicitly set to uncached for forwards compatibility. v9 (Francisco Jerez): - Minor style fixes. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit faf4ffe031df41c067f3b89632ce3d3667bb64ad Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 14 10:59:30 2015 +0200 drm/i915: Remove unused compat32 code Totatlly forgotten that we have these when nuking all the UMS code. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e794db2ccbb587198e74fbe4fc035131875bf1e4 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jun 1 22:57:16 2015 -0300 ARM: dts: add DT for CIAA LPC4337 industrial computer Add basic support for CIAA (Argentine Open Industrial Computer) LPC4337 board. This commit enables the following peripherals: * UART * SSP * Ethernet Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit a8069fafe8a3ce1567e2394b8551902ede300445 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sun Jun 21 20:23:48 2015 -0300 of: add vendor prefix for CIAA project CIAA stands for Argentine Open Industrial Computer. The CIAA project is an initiative sponsored by universities and private companies. Its main goal is to promote local embedded systems development. Among other devices, the project developed a NXP LPC4337-based reference design. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 930a43e2e6ea2069e1fbc475b9af9d05315b0591 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri May 29 23:09:52 2015 +0200 ARM: dts: lpc4357-ea4357: add uart3 Enable UART3 that is routed to the J17 DSUB9 connector on the EA4357 devkit. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 7de98f2a98c842d1e4805981eff8fdf3c59cdeb0 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:56:57 2015 +0200 ARM: dts: lpc4357-ea4357: add ethernet Enable Ethernet and add pin muxing and set the correct frequency on the enet tx clock input. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 95dafb2ca15672ec8e000fcd482fec15e963840e Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:55:32 2015 +0200 ARM: dts: lpc4357-ea4357: add gpio joystick Hook up the small joystick found on the EA4357 devkit. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit f312bc59d21bed7593199a1921468868150954fa Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Tue Jul 14 14:51:26 2015 +0800 ASoC: rt5645: Remove irq_jack_detection function irq_jack_detection is only called from rt5645_jack_detect_work: remove the function to simplify the code. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6d00d153f00097d259f86304e11858a50a1b8ad1 Author: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 13 15:23:54 2015 -0700 HID: cp2112: fix I2C_SMBUS_BYTE write When doing an I2C_SMBUS_BYTE write (one byte write, no address), the data to be written is in "command" not "data->byte". Signed-off-by: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Reviewed-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit eeebeac5e476800991ea1d10827307c41650ba11 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 12:33:29 2015 +0200 drm/i915: Remove plane_config from struct intel_crtc, v2. Nothing depends on this outside initial hw readout, so keep this struct on the stack instead. Changes since v1: - Remove unrelated changes. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be5651f2d5814cefbe89b17c187309ad4c1d3967 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:18 2015 +0200 drm/i915: Update missing properties in find_initial_plane_obj The src and crtc rectangles were never set, resulting in the primary plane being made invisible on first atomic update. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cfb23ed622d040619abb91e625fcba74d356b8a8 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Jul 14 12:17:40 2015 +0200 drm/i915: Allow fuzzy matching in pipe_config_compare, v2. Instead of doing ad-hoc checks we already have a way of checking if the state is compatible or not. Use this to force a modeset. Only during modesets, or with PIPE_CONFIG_QUIRK_INHERITED_MODE we should check if a full modeset is really needed. Fastboot will allow the adjust parameter to ignore some stuff too, and it will fix up differences in state that are ignored by the compare function. Changes since v1: - Increase the value of the lowest m/n to prevent truncation. - Dump pipe config when fastboot's used, without a modeset. - Add adjust parameter to intel_compare_link_m_n, which is used to adjust m2_n2 if it's a multiple of m_n. - Add exact parameter intel_compare_m_n. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8e9ba31a0f6c217e05f84efe9c569f9010a8ad26 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:16 2015 +0200 drm/i915: Do not use plane_config in intel_fbdev.c Use the atomic state instead, this allows removing plane_config from the crtc after the full hw readout is completed. The size can be found in the fb, no need for the plane_config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e435d6e52b164c041d3b0f88be3f7b8c5a14462a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:15 2015 +0200 drm/i915: Do not update pfit state when toggling crtc enabled. There's not much point for calculating the changes for the old state. Instead just disable all scalers when disabling. It's probably good enough to just disable the crtc_scaler, but just in case there's a bug disable all scalers. This means intel_atomic_setup_scalers is only called in the crtc check function now, so all the transitional code can be removed. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8a75d157ccddc2c1fb5aeefe6a1a45a9eb0c0176 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jul 13 16:30:14 2015 +0200 drm/i915: Only update state on crtc's that are part of the atomic state. This is probably hard to hit right now because in most cases all atomic locks are taken, but after conversion to atomic this will make it more likely to corrupt the crtc->config pointer, resulting in hard to find bugs. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44ade5edf90ccd38efa741240efb2586239c9751 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 13 15:15:02 2015 +0900 ARM: shmobile: r8a7779: Generic SMP ops Add a r8a7779-specific SMP operation pointer to support all 4 CPU cores through SMP on r8a7779 without C board code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 131c2e0480b0f7afefbc9a46cc4e158e17caa844 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jun 25 17:57:39 2015 +0900 ARM: shmobile: r8a7779: Generic CCF and timer support Add a r8a7779-specific callback to initialize CCF and clocksources. With this in place we are one step closer to be able to use r8a7779 without C board code. Also add a multiplatform wrapper to avoid breaking the r8a7779 marzen legacy case. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 80edaaead3687b47ba3760588306937439ebd7bd Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:35 2015 +0300 ARM: dts: am335x-evm: Switch using simple-audio-card for audio support The sound support consist only Headset output on the board and can be handled by "simple-audio-card" Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e4e0b70224fb840a264ad521493cfea94f7d2ef5 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:34 2015 +0300 ARM: dts: am335x-evm: Add sleep pin settings for mcasp1 When McASP is not in use the pins can be put to sleep mode to conserve power. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 11fd9a9b2ca459acc0eac92e1fa858b708d630d6 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:33 2015 +0300 ARM: dts: am335x-evm: Rename pinctrl section for McASP1 Use mcasp1_pins as name for the pinctrl section needed for McASP1 instead of the am335x_evm_audio_pins name. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a6ccad683fbcba793c390cb6505538ab4a145746 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:32 2015 +0300 ARM: dts: am335x-evm: Fix mcasp1 node's indentation The section had two tabs instead of one. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b3c616ef7fc0bff6d00d884845610d4eb59f556d Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:31 2015 +0300 ARM: dts: am335x-evmsk: Switch using simple-audio-card for audio support The sound support consist only Headset output on the board and can be handled by "simple-audio-card" Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ed8830f2e92a6462d2ca96afcf00ab5de6fbef0e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:30 2015 +0300 ARM: dts: am335x-evmsk: Add sleep pin settings for mcasp1 When McASP is not in use the pins can be put to sleep mode to conserve power. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c8b518ada5935b78f9c296f656c51d77ecca993e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:29 2015 +0300 ARM: dts: am335x-evmsk: Fix mcasp1 node's indentation The section had two tabs instead of one. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit cf9a4850e9957ccf3ca11409b15d9a915a326400 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:28 2015 +0300 ARM: dts: am437x-gp-evm: Enable analog audio via simple-card The board uses McASP1 <-> tlv320aic3106 for analog audio and has Headphone out and Line in connectors. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d3d92af19e9970b16e5f724fb2de4491abccaa7d Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:27 2015 +0300 ARM: dts: am437x-gp-evm: McASP1 node for audio support Add node for McASP1 along with the needed pinctrl entries. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6076b15928ca113542180ad3817a0dc1befd3899 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:26 2015 +0300 ARM: dts: am437x-gp-evm: Add node for tlv320aic3106 audio codec Analog audio is using this codec on the board. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 390810a962aec86eff34b9e593b426ef95049025 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:25 2015 +0300 ARM: dts: am437x-gp-evm: Rename fixed regulator vmmcsd_fixed to evm_v3_3d The same regulator is used by other chips on the board. The power path is: VBAT -> TPS63031 - Enable signal is V1_8D regulator -> V3_3D. V3_3D is used by SD slot and tlv320aic3106 codec as well. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 593113e7bcb552fd02770d7e847162fa27956fbd Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:24 2015 +0300 ARM: dts: am437x-gp-evm: Add gpio-hog for configuring the display/audio mux GPIO5_8 is used as a mux switch between LCD and HDMI displays. This mux affects audio routing as well since in LCD mode HDMI audio is not possible and when HDMI is selected analog audio is not working. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 22d7fb57ad1e001654e605386f33525644ebdcc1 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:23 2015 +0300 ARM: dts: am43xx-epos-evm: Enable analog audio via simple-card Use simple card for audio support on ePOS-EVM. The audio on the board is: McASP1 <-> tlv320aic3111 codec. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit cbfc7e6fffbc74cfaab3eeae9e559baebac6a5ac Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:22 2015 +0300 ARM: dts: am43xx-epos-evm: Add node for tlv320aic3111 audio codec Analog audio is using this codec on the board. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 06e2bf6b37bdbac3341fa1519cf7901a7379c724 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:21 2015 +0300 ARM: dts: am43xx-epos-evm: McASP1 node for audio support Add node for McASP1 along with the needed pinctrl entries. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7ec341d969afc3901fb26052bff22d884249fbf0 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:20 2015 +0300 ARM: dts: am43xx-epos-evm: Add regulator for VBAT and DCDC4 of tps65218 The VBAT and DCDC4 regulator is needed for audio support (tlv320aic3111) Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 56fd3dc793e9f53acf36411f5c9814997e587b3e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:19 2015 +0300 ARM: dts: am43xx-epos-evm: Add gpio-hog for configuring the display/audio mux GPIO2_1 is used as a mux switch between LCD and HDMI displays. This mux affects audio routing as well since in LCD mode HDMI audio is not possible and when HDMI is selected analog audio is not working. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 20746c508b3a8e76e251806f8bd50c4624ca1782 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:18 2015 +0300 ARM: dts: am437x-sk-evm: Switch using simple-audio-card for audio support The sound support consist only Headset output on the board and can be handled by "simple-audio-card". Also enable the Line-In route as the board has support for it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7155ace481dec0aeed7b75010c4ed531dcb3d7b0 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:17 2015 +0300 ARM: dts: am437x-sk-evm: Add sleep pin settings for mcasp1 When McASP is not in use the pins can be put to sleep mode to conserve power. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit da4cada87146e3a7ee53e8355dfcee1c2fe4bdff Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Jul 2 17:06:16 2015 +0300 ARM: omap2plus_defconfig: Enable audio related config options More and more boards are moving to have audio support via simple-card. At the same time enable options needed for most am335x and am43xx board for audio support: McASP and TLV320AIC3X codecs. The later two has been selected by the CONFIG_SND_AM33XX_SOC_EVM option, but the aim is to convert all boards to use simple card. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 601b29aa48091acef2fc608ccec87a7518fc8597 Author: Nishanth Menon <nm@xxxxxx> Date: Mon Jun 22 10:22:26 2015 -0500 pinctrl: dra: dt-bindings: Add virtual mode configuration option In addition to the regular mux configuration such as mux mode 1, 2 etc, certain pins of DRA7 require to have "virtual mode" also programmed. This allows for predefined delay characteristics to be used by the SoC to meet timing characterstics needed for the interface. Provide easy to use macro to do the same. It is important to note that the official TI guidelines recommend to do as minimal pin reconfiguration beyond the bootloader given the design of the hardware involved which can result in substantial glitches which may impair functionality of certain peripherals. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ad548430ab690504b3e43e8cba706980279c1f38 Author: Vignesh R <vigneshr@xxxxxx> Date: Mon Jun 22 14:33:44 2015 +0530 ARM: dts: DRA72: switch to cpsw slave0 for ethernet On DRA72 EVM, cpsw slave1 is muxed with VIN2A, hence switch to cpsw slave0 for ethernet. Add gpio hog entry to pcf_gpio_21 in order to select cpsw slave0. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 71bed41c6209913807d21a7d7c191258e91696a2 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri May 29 10:21:52 2015 -0700 ARM: dts: Remove L3 compatible value for dm816x The interconnects on dm816x are like on omap4, so we should use l3-noc instead of l3-smx. But as the related SoC specific l3_target_data is still missing from omap_l3_noc let's just remove the entry for now. Cc: Brian Hutchinson <b.hutchman@xxxxxxxxx> Reported-by: Matthijs van Duin <matthijsvanduin@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3353b693a1af39e1ecb5292d9a2c2771acdd67ff Author: Adam YH Lee <adam.yh.lee@xxxxxxxxx> Date: Fri Jun 12 13:37:26 2015 -0700 ARM: dts: overo: Add device tree for Palo35 board Also, reduce the maximum SPI device speed to the max. supported by the LCD controller used on the LGPhilips LB035Q02 panel for this board. Signed-off-by: Ash Charles <ashcharles@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 98ce6007efb4bf70f035d4187c2ea59a8c4a455a Author: Ash Charles <ashcharles@xxxxxxxxx> Date: Fri Jun 12 13:37:25 2015 -0700 ARM: dts: overo: Support PoP NAND Some Overo COM models include NAND flash in the on-board package-on-package (PoP) chip. Add this to the base Overo devicetree. Most commonly, this is 512MB NAND from the Micron MT29C4G96MAZ family but, as discussed [1], several different sized are possible. To support different sizes, the last partition should fill to the end of the chip (i.e. MTDPART_SIZ_FULL). With thanks to Florian Vaussard for the original patch [2] and Adam Lee for updating it here. [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/175760.html [2] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/175449.html Signed-off-by: Ash Charles <ashcharles@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d765af89a4f25315c6ba66abd3539bbd8539c88f Author: Adam YH Lee <adam.yh.lee@xxxxxxxxx> Date: Fri Jun 12 13:37:24 2015 -0700 ARM: dts: overo: Enable McBSP2 for all Overo COMs Both Gumstix Overo and Overo Storm COMs use TWL4030 audio module connected to the McBSP2. As such, enable the McBSP2 module in the common device tree file, omap3-overo-base.dtsi, rather than in the processor-specific device tree files, omap3-overo.dtsi and omap3-overo-storm.dtsi. This corrects audio on the Storm COMs where the setting was accidentally missing from the device tree. Signed-off-by: Ash Charles <ashcharles@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 72f5d5d5247725ea7ca786378ac2ab40bc5c0dab Author: Ash Charles <ashcharles@xxxxxxxxx> Date: Fri Jun 12 13:37:23 2015 -0700 ARM: dts: Add DTS for Gumstix TobiDuo expansion board The Gumstix "Tobi-Duo" expansion board [1] can be used with either OMAP3 Overo or Overo Storm COMs. It provides two NICs using LAN9221 chips. It is necessary to duplicate the interface information for the second SMSC9221 chip as discussed [2]. [1] https://store.gumstix.com/index.php/products/241/ [2] http://www.spinics.net/lists/linux-omap/msg115282.html Signed-off-by: Ash Charles <ashcharles@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 34c900a60bb09cab44d0fff96dd0e109a7b9bcf2 Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri May 8 14:27:19 2015 +0300 ARM: dts: am335x-boneblack: Use new binding for HDMI Use new binding for the external tda19988 HDMI encoder. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3d5d68aabf4ff47cfb447ad90448ce50531be7f5 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Wed Jul 8 04:44:54 2015 -0400 perf record: Document setting '-e pmu/period=N/' in man page The 'period' param is not defined in /sys/bus/event_sources/devices/<pmu>/format/*, but can be used, document it. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436345097-11113-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3a0830de58342914aca8f517a84b82476be98f26 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Apr 9 12:35:54 2015 +0300 ARM: dts: dra7x: Integrate sDMA crossbar The sDMA requests are routed through the DMA crossbar and without the crossbar only peripherals using DMA request 0-127 can be used. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fa3eec7791b0fe27e3112804a71ba445ff336a6b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Jul 1 23:51:43 2015 +0100 regmap: Silence warning on invalid zero length read Zero length reads make no sense in a regmap context and are likely to trigger bugs further down the stack so insert an error check, also silencing compiler warnings about use of ret in cases where we iterate per register. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 131e663bd6f1055caaff128f9aa5071d227eeb72 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 9 23:32:33 2015 +0200 drm/gem: rip out drm vma accounting for gem mmaps Doesn't really add anything which can't be figured out through proc files. And more clearly separates the new gem mmap handling code from the old drm maps mmap handling code, which is surely a good thing. Cc: Martin Peres <martin.peres@xxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bdac2b6dc7392668a8530d67a5f762366f57f9b4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 23:22:44 2015 +0200 gpio/davinci: Fix race in installing chained irq handler Fix a race where a pending interrupt could be received and the handler called before the handler's data has been setup, by converting to irq_set_chained_handler_and_data(). Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> commit 1765d671b18e58fdd6341edac9c22e57d90ef6a8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:18:56 2015 +0200 gpio/davinci: Avoid redundant lookup of irq_data It's pretty silly to do void *cd = irq_get_chip_data(irq_data->irq); because that results in cd = irq_data->chip_data, but goes through a redundant lookup of the irq_data. Use irq_data directly. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 789f9dabfe44c1f7056aa0a7c9a9205de4d5261f Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 01:07:01 2015 +0200 gpio/msm-v2: Avoid redundant lookup of irq_data It's pretty silly to do irq_data *d = irq_get_irq_data(irq_data->irq); because that results in d = irq_data, but goes through a lookup of the irq_data. Use irq_data directly. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 2951a7990c4aac3bfa05ea8474eb2948ca73eaba Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 00:11:27 2015 +0200 gpio/sa1100: Prepare sa1100_gpio_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 364ea44b24deec90c1ba88dc427d5bc4864096f5 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 00:09:04 2015 +0200 gpio/mvebu: Prepare mvebu_gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit e43ea7a7736bb29fd088e83a7b66195eb2854814 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 00:06:41 2015 +0200 gpio/ep93xx: Prepare ep93xx_gpio_f_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit c3ca1e6f1849a6bce3a4a57e483d13ab7a544dd4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jul 12 23:47:32 2015 +0200 gpio/davinci: Prepare gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 476f8b4c94a90d1167961d90a5ed68dbe87c62da Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:15 2015 +0800 gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Preparatory patch for the removal of the 'irq' argument from irq flow handlers. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c16edb8b3a070be758a97bc6cd00855c7bbccec4 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:19 2015 +0800 gpio/davinci: Use accessor function irq_data_get_irq_handler_data() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f170d71eb2eb5de968dbedfd74bc53944a080391 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:40 2015 +0200 gpio/gpio-tegra: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 2456d869c45eeaefa7c5c96d30d1e884a12709e3 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:40 2015 +0200 gpio/pch: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 43ec2e4316047e9eecf7df86768708395888eb96 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:39 2015 +0200 gpio/omap: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit b11b7af97883da01082e318abac51cec7162a347 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:38 2015 +0200 gpio/msm-v2: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 72b2a9ef9c5fffe274cca0be63a4f3998fa0b641 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:38 2015 +0200 gpio/ep93xx: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: @@ struct irq_data *d; expression E1; @@ -__irq_set_handler_locked(d->irq, E1); +irq_set_handler_locked(d, E1); Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 47c08462921f17de890c2574b2893ecae44cfd76 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 14:37:42 2015 +0200 gpio/zynq: Use irq_set_chip_handler_name_locked() Hand in irq_data and avoid the redundant lookup of irq_desc. Originally-from: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f7f877533c11029e4b4caf8aae9968c5fd561625 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:48 2015 +0200 gpiolib: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 77c77e3f074f576a39534bb9b10b6f1b4d91a8db Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:48 2015 +0200 gpio/tz1090: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 8a52211ad8d8c97fede3707c938126002e11ec79 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:47 2015 +0200 gpio/timberdale: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit d68cd06ce40d7227598912bb1a0c75980d2b5a4b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:47 2015 +0200 gpio/mvebu: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 05379818e489bd9fec892f79f202b2ff41fd6ff8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:46 2015 +0200 gpio/mpc8xxx: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: linux-gpio@xxxxxxxxxxxxxxx commit 3402042287a0b93eceb779faf1174635d1552660 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 13 12:34:55 2015 -0500 ARM: dts: AM4372: Add the wkupm3 rproc node Add the Wakeup M3 remote processor device node for the AM4372 SoC. The WkupM3 remote processor is used to implement and achieve low-power functionality on the AM33xx & AM43xx SoCs. This node is added as a child of the recently added l4_wkup node to reflect its presence within the SoC. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d129be27b8cffcec706b0ccf143c93fba8cc5726 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Jul 13 12:34:54 2015 -0500 ARM: dts: AM33xx: Update and move wkup_m3 node to l4 node The WakeupM3 remote processor device node has been moved to be a child node of the newly created l4_wkup node, to reflect its presence properly within the SoC. The node was added previously before any driver support, it is now updated as per the wkup_m3_rproc bindings added alongside the driver support. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6da74c54162c9582b21be978153513adbf44a678 Author: Dave Gerlach <d-gerlach@xxxxxx> Date: Mon Jul 13 12:34:53 2015 -0500 ARM: OMAP2+: Use pdata-quirks for wkup_m3 reset management Use pdata-quirks to provide platform data required for reset management during boot and shutdown of the wkup_m3 processor on both the AM33xx and AM43xx SoCs. The WkupM3 remote processor is used to implement and achieve low-power functionality on the AM33xx & AM43xx SoCs. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 216883a420dcbf72a8a8e51afd1f33c9659d4c72 Merge: 3fbf02a 7bf46d0 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 14 11:51:16 2015 +0200 Merge tag 'renesas-dt-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Merge "Renesas ARM Based SoC DT Updates for v4.3" from Simon Horman: * Configure IRLM mode via DT on r8a7779 SoC * Use "arm,gic-400" for GIC on r8a777[01349] and r8a73a4 SoCs * Add pinctrl and gpio-hog for lcdc0 to armadillo800eva board * EtherAVB DT support for r8a7790 SoC * Minimal device tree for r8a7793 SoC and its Gose board * tag 'renesas-dt-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7779: Configure IRLM mode via DT ARM: shmobile: r8a7794 dtsi: Use "arm,gic-400" for GIC ARM: shmobile: r8a7793 dtsi: Use "arm,gic-400" for GIC ARM: shmobile: r8a7791 dtsi: Use "arm,gic-400" for GIC ARM: shmobile: r8a7790 dtsi: Use "arm,gic-400" for GIC ARM: shmobile: r8a73a4 dtsi: Use "arm,gic-400" for GIC ARM: shmobile: armadillo800eva dts: Add pinctrl and gpio-hog for lcdc0 ARM: shmobile: r8a7790: add EtherAVB DT support ARM: shmobile: r8a7790: add EtherAVB clocks ARM: shmobile: r8a7793: add minimal Gose board device tree ARM: shmobile: add r8a7793 minimal SoC device tree commit b3f81739ab2acb8416ad58568240d39f0cef3f51 Merge: 63f3469 bd82aff Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 14 11:50:12 2015 +0200 Merge tag 'renesas-pm-domain-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Renesas ARM Based SoC PM Domain Updates for v4.3" from Simon Horman: * Make rcar_sysc_ch const for r8a779[09] SoCs * Get rid of on_off_fn() function pointer * Use BIT() macro instead of open coding * Make struct rcar_sysc_ch * parameters const * Break infinite loop * Shrink rcar_sysc_ch size * Improve documentation * tag 'renesas-pm-domain-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7790: Make struct rcar_sysc_ch const ARM: shmobile: r8a7779: Make struct rcar_sysc_ch const ARM: shmobile: R-Car: Get rid of on_off_fn() function pointer ARM: shmobile: R-Car: Use BIT() macro instead of open coding ARM: shmobile: R-Car: Make struct rcar_sysc_ch * parameters const ARM: shmobile: R-Car: Break infinite loop ARM: shmobile: R-Car: Shrink rcar_sysc_ch size ARM: shmobile: R-Car: Improve documentation Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 63f346937bdb52c09c87b10ca4ccd664a66c7fb8 Merge: bc0195a 20834a4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Jul 14 11:48:31 2015 +0200 Merge tag 'renesas-cleanup-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Renesas ARM Based SoC Cleanup for v4.3" from Simon Horman: * Remove non-multiplatform code from timer * Remove CONFIG_ARCH_SHMOBILE_MULTI check in setup-rcar-gen2.c as it is always true * Remove legacy (non-multiplatform) support for both sh73a0/kzm9g and r8a7740/armadillo800eva * Move to_rmobile_pd from header to source file where it is used * Use BIT() macro instead of open coding in r-mobile PM code * r8a7779: Remove usage of GENPD_FLAG_PM_CLK flag which has no effect * tag 'renesas-cleanup-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: timer: r8a73a4 and r8a7790 are multi-platform only ARM: shmobile: R-Car Gen2: CONFIG_ARCH_SHMOBILE_MULTI is always set ARM: shmobile: Remove obsolete zboot support ARM: shmobile: R-Mobile: Remove legacy PM Domain code ARM: shmobile: Remove unused dma-register.h ARM: shmobile: Remove legacy SoC code for R-Mobile A1 ARM: shmobile: Drop r8a7740-armadillo800eva.dtb for legacy builds ARM: shmobile: Remove legacy armadillo800eva_defconfig ARM: shmobile: Remove legacy board code for Armadillo-800 EVA ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5 ARM: shmobile: Drop sh73a0-kzm9g.dtb for legacy builds ARM: shmobile: Remove legacy kzm9g_defconfig ARM: shmobile: Remove legacy board code for KZM-A9-GT ARM: shmobile: r8a7779: Remove GENPD_FLAG_PM_CLK flag ARM: shmobile: R-Mobile: Use BIT() macro instead of open coding ARM: shmobile: R-Mobile: Move to_rmobile_pd from header to source file Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit cc017fb4d7a3308725afc02af9fd84a171e6e028 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:21 2015 +0530 drm/i915/skl: Restrict the ring frequency table programming to SKL Ring frequency table programming is not required on BXT. Added separate checks to enable the programming only for SKL & skip for BXT. v2: Removed the BXT check from gen6_update_ring_freq function Issue: VIZ-5144 Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 91e2213bdb23e7ca863fba53c82fcd094aeddd24 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 10 13:53:58 2015 +0900 ARM: multi_v7_defconfig: enable UniPhier UART driver The UniPhier on-chip UART driver was merged into the mainline by commit 1a8d2903cb6a ("serial: 8250_uniphier: add UniPhier serial driver"). Enable it from multi_v7_defconfig. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3fbf02a85b6f96b19dd49cabc2d8471d0bd4b5d3 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 10 13:54:00 2015 +0900 ARM: dts: UniPhier: add USB EHCI device nodes No dedicated driver compatible with "socionext,uniphier-ehci" has been supported in the mainline yet, so it falls into "generic-ehci" and it works well enough with our USB 2.0 host controllers. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1bf42507028a85b57260d00be2c33f5012bd3210 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Jul 10 13:53:59 2015 +0900 ARM: dts: UniPhier: add on-chip UART device nodes The UniPhier on-chip UART driver was merged into the mainline by commit 1a8d2903cb6a ("serial: 8250_uniphier: add UniPhier serial driver"). Add device nodes to make it really available. We no longer have to depend on the on-board UART device (16550A), so let's change the chosen and aliases to point to the on-chip ones. Also, turn on the on-board Ethernet device. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f57eb528ec3116e988d3b0ca9cea37cb55f7b17a Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Jul 6 14:41:44 2015 +0300 ARM: multi_v7_defconfig: enable Conexant Digicolor watchdog Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 475c3eeff57f22443c36c5ab9dc185f064b1f288 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Jul 6 14:41:45 2015 +0300 ARM: digicolor: dts: use stdout-path for console configuration Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1172f67f952bc3caf6341b182fb312d5d036fd3a Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Jul 6 14:41:43 2015 +0300 ARM: digicolor: enable watchdog device Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f6d1a814844efc4b326538bd35a8daecd37921ed Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 19:40:52 2015 +0200 ASoC: max98925: Remove control_data initialization The control_data field of the snd_soc_codec struct is no longer used by ASoC drivers using standard regmap IO. There is no need to initialize the field to point to the drivers regmap struct, so drop that. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ce0c22b07871402f9fb8939e09fb4c10811438a Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jul 14 09:32:32 2015 +0100 metag/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> commit 151dd346a2dadaa151d5110553e3fb08774c888e Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 22:48:16 2015 +0200 ARM: shmobile: apmu: silence build warnings With shmobile_defconfig but SMP=n && SUSPEND=n, I get: arch/arm/mach-shmobile/platsmp-apmu.c:49:12: warning: 'apmu_power_off' defined but not used [-Wunused-function] arch/arm/mach-shmobile/platsmp-apmu.c:70:12: warning: 'apmu_wrap' defined but not used [-Wunused-function] Annotate those functions like the functions around it. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 133c9d3cf211f46eae67e453c809db18cb906417 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:46 2015 +0800 ARM: imx: imx_v6_v7_defconfig enable imx6ul support default enable imx6ul support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3df2a1e60e2f9fdaf964ec64adb1976bce2ce82a Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Thu Jul 9 01:23:00 2015 +0800 ARM: imx_v6_v7_defconfig: enable powerkey and syscon power off build in snvs powerkey build in syscon power off support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 20c305f66077d2e646b23336d4404261dc283cf9 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:47 2015 +0800 ARM: imx: add low-level debug support for i.mx6ul Enable low-level debug support for i.MX6UL by adding the debug port definitions for the SoC. Singed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 022d0716bb7e8e0f11eff4ee65fb1e62ffe8f6e1 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:41 2015 +0800 ARM: imx: add i.mx6ul msl support i.MX6UL is a new SOC, add MSL support Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 787b4271a6a0c09775241770782b22762f40bd6e Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Jul 10 02:09:42 2015 +0800 clk: imx: add imx6ul clk tree support Add imx6ul clock driver support. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Bai Ping <b51503@xxxxxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 2d6f0600b2cd755959527230ef5a6fba97bb762a Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 13 13:51:39 2015 -0300 crypto: vmx - Adding enable_kernel_vsx() to access VSX instructions vmx-crypto driver make use of some VSX instructions which are only available if VSX is enabled. Running in cases where VSX are not enabled vmx-crypto fails in a VSX exception. In order to fix this enable_kernel_vsx() was added to turn on VSX instructions for vmx-crypto. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 72cd7b44bc99376b3f3c93cedcd052663fcdf705 Author: Leonidas Da Silva Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 13 13:51:01 2015 -0300 powerpc: Uncomment and make enable_kernel_vsx() routine available enable_kernel_vsx() function was commented since anything was using it. However, vmx-crypto driver uses VSX instructions which are only available if VSX is enable. Otherwise it rises an exception oops. This patch uncomment enable_kernel_vsx() routine and makes it available. Signed-off-by: Leonidas S. Barbosa <leosilva@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1f644a7c7cd6a2c310312936d51cb56e6ac56f10 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:46:16 2015 +0900 crypto: marvell/cesa - Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3f31a740c42e07f81bed8178c8ac1c7936ed6993 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:34 2015 +0800 crypto: testmgr - Reenable rfc4106 test Now that all implementations of rfc4106 have been converted we can reenable the test. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 46218750d5230abd86c2b054aa9b8cb74b23413e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:33 2015 +0800 crypto: caam - Use new IV convention This patch converts rfc4106 to the new calling convention where the IV is now part of the AD and needs to be skipped. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c3d219495ed583a03ea10b5b30bccec398299cb7 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:31 2015 +0800 crypto: nx - Use new IV convention This patch converts rfc4106 to the new calling convention where the IV is now part of the AD and needs to be skipped. This patch also makes use of type-safe AEAD functions where possible. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7b05a373a7f8a69622006f3b1ffd06c2507d7990 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:30 2015 +0800 crypto: gcm - Use new IV convention This patch converts rfc4106 to the new calling convention where the IV is now part of the AD and needs to be skipped. This patch also makes use of the new type-safe way of freeing instances. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e9b8d2c20a8749601f44c267590c954d222e9b3e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:28 2015 +0800 crypto: aesni - Use new IV convention This patch converts rfc4106 to the new calling convention where the IV is now in the AD and needs to be skipped. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 34a1c740ea87b5077d1060448a05db14f5f29960 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:26 2015 +0800 crypto: tcrypt - Add support for new IV convention This patch allows the AEAD speed tests to cope with the new seqiv calling convention as well as the old one. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8537544679272b77b8bca1e02263bee4bbea14e6 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:25 2015 +0800 crypto: testmgr - Disable rfc4106 test and convert test vectors This patch disables the rfc4106 test while the conversion to the new seqiv calling convention takes place. It also converts the rfc4106 test vectors to the new format. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e13f0f6d540e8541d9351e213610e2eb5ff05717 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:23 2015 +0800 crypto: aead - Propagate new AEAD implementation flag for IV generators This patch allows the CRYPTO_ALG_AEAD_NEW flag to be propagated. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5964f26c9f6003e9badedb768a0735eaf034ac56 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:22 2015 +0800 crypto: seqiv - Replace seqniv with seqiv This patch replaces the seqniv generator with seqiv when the underlying algorithm understands the new calling convention. This not only makes more sense as now seqiv is solely responsible for IV generation rather than also determining how the IV is going to be used, it also allows for optimisations in the underlying implementation. For example, the space for the IV could be used to add padding for authentication. This patch also removes the unnecessary copying of IV to dst during seqiv decryption as the IV is part of the AD and not cipher text. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5499b1a7311f5ec301ac2baa04a3482ee89ac0ab Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:20 2015 +0800 crypto: echainiv - Fix encryption convention This patch fixes a bug where we were incorrectly including the IV in the AD during encryption. The IV must remain in the plain text for it to be encrypted. During decryption there is no need to copy the IV to dst because it's now part of the AD. This patch removes an unncessary check on authsize which would be performed by the underlying decrypt call. Finally this patch makes use of the type-safe init/exit functions. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f6da32059324e06adacbc1235d50cce4de9d817a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:19 2015 +0800 crypto: cryptd - Propagate new AEAD implementation flag This patch allows the CRYPTO_ALG_AEAD_NEW flag to be propagated. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 846f97df822c00e0042c15b60e01ca0005b3e737 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:18 2015 +0800 crypto: pcrypt - Propagate new AEAD implementation flag This patch allows the CRYPTO_ALG_AEAD_NEW flag to be propagated. It also restores the ASYNC bit that went missing during the AEAD conversion. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ba75e15fa0c4db489ed0d0a9745f904a7d5e19cc Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:17 2015 +0800 crypto: aead - Add type-safe function for freeing instances This patch adds a type-safe function for freeing AEAD instances to struct aead_instance. This replaces the existing free function in struct crypto_template which does not know the type of the instance that it's freeing. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 319382a6970899f02f18da4b0083a6e55942456d Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 07:17:15 2015 +0800 crypto: api - Add instance free function to crypto_type Currently the task of freeing an instance is given to the crypto template. However, it has no type information on the instance so we have to resort to checking type information at runtime. This patch introduces a free function to crypto_type that will be used to free an instance. This can then be used to free an instance in a type-safe manner. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 23ad69aafec5d3815fdbe59aea56ec4b59dcae60 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 21:40:39 2015 +0800 crypto: nx/842 - Fix context corruption The transform context is shared memory and must not be written to without locking. This patch adds locking to nx-842 to prevent context corruption. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2c11a3f970d143f86bff096ca84a3d3f3b5ac3c1 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 12:15:14 2015 +0800 crypto: aead - Add aead_queue interface This patch adds a type-safe queueing interface for AEAD. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 31d228cc644034da97394bbadb2dc55ad9bcddb9 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 11:55:30 2015 +0800 crypto: api - Remove unused __crypto_dequeue_request The function __crypto_dequeue_request is completely unused. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 773bb50625cd23c7711bcd1410fffe8a0cab121b Merge: 1425d2d 030f4e9 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 14 14:55:32 2015 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Merge the crypto tree to pull in the nx reentrancy patch. commit 99e1dfb7d2094d9afc1dca57d525f7b36aa18079 Author: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Date: Mon Jul 13 06:53:02 2015 -0500 EDAC, mce_amd: Don't emit 'CE' for Deferred error Currently, when decoding an MCE, we display 'CE' for a Deferred error, like this: [Hardware Error]: CPU:0 (15:2:0) MC4_STATUS[Over|CE|MiscV|-|AddrV|Deferred|-|UECC]: 0xdc04b00095080813 When the 'UC' bit in the MCx_STATUS register is clear, the error status is either a Corrected error or Deferred error as determined by the 'Deferred' bit. So do not print 'CE' on a deferred error. Refer to AMD Error Scope Hierarchy table in a newer BKDG (example: 49125_15h_Models_30h-3Fh_BKDG.pdf, section "RAS Features"). Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436788382-6463-1-git-send-email-aravind.gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit aa66d6f87f300b15ac2efdcde9e198bf5a9020ce Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 13 23:17:57 2015 -0400 staging/lustre/libcfs: Fix kstrtouint return value check fix Apparently kstrtouint could return not just -EINVAL, but also -ERANGE, so make sure we just check the return value for something negative. Noticed by Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96d1865d344a966ab534fb16c55e8dd4601efb71 Author: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Date: Mon Jul 13 23:17:56 2015 -0400 staging/lustre/libcfs: remove unused portal_enter_debugger variable Remove portal_enter_debugger because it's not used any more. Signed-off-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35ca907d245e8c218f39b6ed8bd6a1c656d056cc Author: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Date: Mon Jul 13 23:17:55 2015 -0400 staging/lustre/libcfs: get rid of debugfs/lnet/console_{min, max}_delay_centisecs They are just fancy module parameters wrappers, so just the same functionality now would be accessible via /sys/module/libcfs/parameters/libcfs_console_{min,max}_delay Also install compatibility symlinks Signed-off-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8dc08446d0671709bdec9e037845b014e33663b1 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 13 23:17:54 2015 -0400 staging/lustre/libcfs: get rid of debugfs/lnet/debug_mb It's just a fancy libcfs_debug_mb module parameter wrapper, so just add debug buffer size check and resizing and the same functionality now would be accessible via /sys/module/libcfs/parameters/libcfs_debug_mb Also add a symlink for backwards compatibility. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e9f88e68801fe7f862d7ab57041a68f91ce9b5a Author: Perry Hooker <perry.hooker@xxxxxxxxx> Date: Mon Jul 13 17:33:47 2015 -0600 staging: lustre: libcfs: move assignment out of conditional Found by checkpatch.pl Signed-off-by: Perry Hooker <perry.hooker@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b2d5577c507d35cc2ea205eba0b101003cc2fe9 Author: Ronit Halder <ronit.crj@xxxxxxxxx> Date: Fri Jul 10 23:05:39 2015 +0530 Staging: lustre: fixed a blank line after declarations coding style issue Fixed a blank line after declarations coding style issue Signed-off-by: Ronit Halder <ronit.crj@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d3d44729775998ad9efb47f2946378c764854a4 Author: Kris Baumann <krisbaumann@xxxxxxxxx> Date: Thu Jul 9 22:12:48 2015 +0200 Staging: lustre: lustre: obdclass: genops: fixed brace coding style issues Fixed several brace coding style issues. Signed-off-by: Kris Baumann <krisbaumann@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 574150f0d275c4caf04156ecda6f9f988d6f5ffd Author: Anders Fridlund <anders.fridlund@xxxxxxxxx> Date: Thu Jul 9 11:02:09 2015 +0200 staging:lustre: fix "space required after that ', '" error in cl_page.c This is a patch to the cl_page.c file that fixes a "space required after that ','" error found by the checkpatch.pl tool. Signed-off-by: Anders Fridlund <anders.fridlund@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e0e332a7a4ac8a00ba06b536ecda8582b5a0814 Author: Matt Mooney <mfm@xxxxxxxxxxxxx> Date: Wed Jul 8 09:21:11 2015 -0700 staging: lustre: make ptlrpc_init static fix sparse warning in lustre/ptlrpc/ptlrpc_module.c:54:12: warning: symbol 'ptlrpc_init' was not declared. Should it be static? The __init macro is moved before the function name to match standard usage. Signed-off-by: Matt Mooney <mfm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db07a4c968fb5045c382be493bd2bd3ba8412b3e Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Wed Jul 8 13:34:36 2015 +0000 staging: lustre: remove dead code This patch removes commented code. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90c94b564265474cffe55888ce25f45ce0ce4bb5 Author: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Date: Mon Jul 6 12:48:55 2015 -0400 staging/lustre/libcfs: Remove unneeded lnet watchdog_ratelimit sysctl It is no longer used anywhere. Signed-off-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 323b0b2c1e57d3c089473d755ff9a001d1a6bc8f Author: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Date: Mon Jul 6 12:48:54 2015 -0400 staging/lustre/libcfs: Remove redundant enums and sysctl moduleparams /proc/sys/lnet/lnet_memused Remove memory tracking for LNet. Remove redundant enums definition. Signed-off-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8710427dd68f4dff8976d221e220317cea20ecec Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:53 2015 -0400 staging/lustre/libcfs: get rid of debugfs/lnet/console_backoff module parameter libcfs_console_backoff accessible through /sys/module/libcfs/parameters/libcfs_console_backoff would do the same thing, just add a special "uintpos" parameter type to disallow 0 values too. Also add a symlink to the module parameter variable for backwards compatibility Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b4d97b6c6ca05446ff33843a7b174cdd765df5a Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:52 2015 -0400 staging/lustre/libcfs: Remove redundant lnet debugfs variables /proc/sys/lnet/console_ratelimit, debug_path and panic_on_lbug are module parameters with no special magic accessible via /sys/module/libcfs/parameters/libcfs_console_ratelimit, /sys/module/libcfs/parameters/libcfs_debug_file_path and /sys/module/libcfs/parameters/libcfs_panic_on_lbug respectively. As such just replace them with corresponding symlinks Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0871d551af37c72c308397c16c31bae945e6a79d Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:51 2015 -0400 staging/lustre/libcfs: move /proc/sys/lnet to debugfs Parameters in lnet sysctl are of debug quantity, so let's move them to debugfs instead. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8952aad1cfc178cae5205546be62f0e22a056f0b Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:50 2015 -0400 staging/lustre: Get rid of remaining /proc/sys/lustre plumbing Since all of the variables from /proc/sys/lustre were moved to /sys/fs/lustre, get rid of the remaining infrastructure. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcef118e7ed67e28edcaab9be9ca11412176c540 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:49 2015 -0400 staging/lustre/obdclass: Move AT controls from sysctl to sysfs Adaptive Timeouts controls are being moved from /proc/sys/lustre to /sys/fs/lustre Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e7fa14935901bcd09576b2866d5dd15f69caf83 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:48 2015 -0400 staging/lustre/obdclass: move debug controls to sysfs debug_peer_on_timeout, dump_on_timeout and dump_on_eviction controls from /proc/sys/lustre to /sys/fs/lustre Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df476a4d5de09d9324b108fc9c5ff2c00a0850d0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:47 2015 -0400 staging/lustre/obdclass: move max_dirty_mb from sysctl to sysfs max_dirty_mb is now a parameter in /sys/fs/lustre/ Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2424a1265f2772b66f068c205256e2aef5f74a0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:46 2015 -0400 staging/lustre/obdclass: move sysctl timeout to sysfs This is the first step of moving lustre sysctls from /proc/sys/lustre to /sys/fs/lustre Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 082a33441f5e0f8b59b6a7297fdfca064d55fb26 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:45 2015 -0400 staging/lustre: Remove unneeded ldlm_timeout control ldlm_timeout is used server-side to determine AST timeouts, so it makes no sense on the client, esp. since it's not really used anywhere. Remove all traces of it except from the config where make it a noop. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2836cd81a9ca8d3fc7c86fe4167b8053d784e725 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:44 2015 -0400 staging/lustre: Remove now obsolete memory tracking sysctls In the past when Lustre did its own allocation amounts tracking the results were shown in sysctl as current and overall max number of bytes and pages allocated. Now that we don't track these, remove the sysctls. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80595b7498a1c4c7bb4f3db3bd8b7998196c8719 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:43 2015 -0400 staging/lustre: remove alloc_fail_rate sysctl It was used to control allocation failure rate, but there is in-kernel way of doing that that's more versatile too. This is going to remove just the sysctl, the underlying variable will be removed once all OBD_ALLOC* macros removal patchseries land. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c4872f94359ed38a1392c0a9238c48a9aee6f8f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:42 2015 -0400 staging/lustre/obdclass: fix class_procfs_init error return value Dan Carpenter noticed that procfs conversion patches introduced a bug where should kobject_create_and_add, an error is not returned from class_procfs_init. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit faa7a4e3e03889267f66a98d85434b4ff7dd0087 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:41 2015 -0400 staging/lustre/ldlm: In ldlm_pools_fini make sure there was init first. It turns out if you call ldlm_pools_fini without completing the ldlm_pools_init, then attempt to unregister not yet registered shrinkers makes the kernel very unhappy. So make sure we have them registered first. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a491f2b80f2806221ba3a5a3e26fbe945f82d83 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:48:40 2015 -0400 staging/lustre: make ldebugfs_remove recursive ldebugfs_remove is usually called on directories with files passed in as attributes, so simple debugfs_remove failes on them as not empty Switch to debugfs_remove_recursive. This fixes a number of problems where a new filesystem is mounted after being unmounted first. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c150f0081647c0b96ce0d61d541b9b470433676 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Jun 24 10:09:24 2015 -0400 staging/lustre/lov: Move target sysfs symlink removal to LOV freeing This helps to avoid use after free on unmount. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a82de7ea52e74b39b9e13ec0d6372378181dcfd0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Jun 24 10:07:45 2015 -0400 staging/lustre/lnet: Move asm/irq.h include after linux includes Apparently m86k cannot build if you include asm/irq.h before linux/* includes and fixing it there is hard. So just move asm/irq.h include to where it does not cause any problems. Thanks to Geert Uytterhoeven for getting to the root of it. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Compile-Tested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fad22d71bbba464bfb30ea5e5c18c52cc8e35168 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 21:07:49 2015 +0200 staging: lustre: libcfs: drop trivially useless initialization Remove initialization of a variable that is immediately reassigned. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d0c8b75713491cdb3f6e7792b68ccaae9e7518e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 21:07:52 2015 +0200 staging: lustre: obdclass: llog: drop trivially useless initialization Remove initialization of a variable that is immediately reassigned. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a84b7fd5f7539a1eca943a17ba9d7cafc10f3f90 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 21:07:51 2015 +0200 staging: lustre: lmv: drop trivially useless initialization Remove initialization of a variable that is immediately reassigned. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53a0d4868703c5d5d5dc0d0eaf9166d6bba9a697 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 21:07:53 2015 +0200 staging: lustre: osc: drop trivially useless initialization Remove initialization of a variable that is immediately reassigned. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f82ced5d6bce6cd0719e95f744bfeb8f81677790 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 21:07:50 2015 +0200 staging: lustre: llite: drop trivially useless initialization Remove initialization of a variable that is immediately reassigned. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 597851ac2ae4e3857f2ab410adb0775951a09fa0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:10 2015 +0200 staging: lustre: ptlrpc: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3408e9aeee5fedd0eab223502074cad3120324b0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:09 2015 +0200 staging: lustre: osc: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efeb257dcf1c84fa05eff06cb829906576ae21b8 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:08 2015 +0200 staging: lustre: obdecho: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 485640b536adc451330815a75f433be15c655243 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:07 2015 +0200 staging: lustre: obdclass: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c829be817600694bb99bb978943a6ef966874160 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:06 2015 +0200 staging: lustre: mgc: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb144d09a95c6016528ec869b4398ae679cc4df7 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:05 2015 +0200 staging: lustre: mdc: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36a86fe68f875d2b3fc8a61d4a80494e57333f1f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:04 2015 +0200 staging: lustre: lov: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76e4290ccc428fddd9052d12ceb5b806ae982a26 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:03 2015 +0200 staging: lustre: lmv: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94e67761bd05150976342516180508d93a0a7c07 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:02 2015 +0200 staging: lustre: ldlm: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c38ce3548e0c5df27b63f9b591f11a9c34416576 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:01 2015 +0200 staging: lustre: lclient: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 812f205962e20f4e4052e42d0009b05988760ef2 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:59:00 2015 +0200 staging: lustre: fld: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c7c65538632f0961df8f02e3be446eb03f687e4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Jun 20 18:58:59 2015 +0200 staging: lustre: fid: Use !x to check for kzalloc failure !x is more normal for kzalloc failure in the kernel. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; statement S1, S2; @@ x = kzalloc(...); if ( - x == NULL + !x ) S1 else S2 // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 638d3c63811e31b2745f7fdd568b38c8abcffe03 Merge: 74fe61f f760b87 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Jul 13 17:28:09 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/bridge/br_mdb.c Minor conflict in br_mdb.c, in 'net' we added a memset of the on-stack 'ip' variable whereas in 'net-next' we assign a new member 'vid'. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86665d2897209429a7e4a003764b9fc5034dbfa1 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 7 18:30:05 2015 -0700 clk: st: Fix error paths and allocation style The error paths in this file leak memory and mappings and test for pointers being valid after dereferencing them. Fix these problems and properly free resources on errors. Fix some stylistic things too like using sizeof(*ptr) and fitting more code on a single line. Note that we don't unregister clocks here. That needs a clk_composite_unregister() API that we don't have right now. Acked-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Cc: Pankaj Dev <pankaj.dev@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 74fe61f17e999a458d5f64ca2aa9a0282ca32198 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 08:02:08 2015 -0700 bridge: mdb: add vlan support for user entries Until now all user mdb entries were added in vlan 0, this patch adds support to allow the user to specify the vlan for the entry. About the uapi change a hole in struct br_mdb_entry is used so the size and offsets are kept the same (verified with pahole and tested with older iproute2). Example: $ bridge mdb dev br0 port eth1 grp 239.0.0.1 permanent vlan 2000 dev br0 port eth1 grp 239.0.0.1 permanent vlan 200 dev br0 port eth1 grp 239.0.0.1 permanent Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4675f935399cbdd3ba3869b0bf6c60528c8111a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Mon Jul 13 20:49:32 2015 +0200 ebpf: remove self-assignment in interpreter's tail call ARG1 = BPF_R1 as it stands, evaluates to regs[BPF_REG_1] = regs[BPF_REG_1] and thus has no effect. Add a comment instead, explaining what happens and why it's okay to just remove it. Since from user space side, a tail call is invoked as a pseudo helper function via bpf_tail_call_proto, the verifier checks the arguments just like with any other helper function and makes sure that the first argument (regs[BPF_REG_1])'s type is ARG_PTR_TO_CTX. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de551f2eb22a77a498cea9686f39e79f25329109 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Mon Jul 13 08:48:00 2015 -0700 net: Build IPv6 into kernel by default This patch makes the default to build IPv6 into the kernel. IPv6 now has significant traction and any remaining vestiges of IPv6 not being provided parity with IPv4 should be swept away. IPv6 is now core to the Internet and kernel. Points on IPv6 adoption: - Per Google statistics, IPv6 usage has reached 7% on the Internet and continues to exhibit an exponential growth rate https://www.google.com/intl/en/ipv6/statistics.html - Just a few days ago ARIN officially depleted its IPv4 pool - IPv6 only data centers are being successfully built (e.g. at Facebook) This patch changes the IPv6 Kconfig for IPV6. Default for CONFIG_IPV6 is set to "y" and the text has been updated to reflect the maturity of IPv6. Impact: Under some circumstances building modules in to kernel might have a performance advantage. In my testing, I did notice a very slight improvement. This will obviously increase the size of the kernel image. In my configuration I see: IPv6 as module: text data bss dec hex filename 9703666 1899288 933888 12536842 bf4c0a vmlinux IPv6 built into kernel text data bss dec hex filename 9436490 1879600 913408 12229498 ba9b7a vmlinux Which increases text size by ~270K (2.8% increase in size for me). If image size is an issue, presumably for a device which does not do IP networking (IMO we should be discouraging IPv4-only devices), IPV6 can be disabled or still built as a module. Acked-by: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c149e4cd08ba01f4d2d0104f469d5f5419294e06 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Jun 3 11:46:22 2015 +0800 x86/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ff96b4d0333baa001b404882b28b7d992b02415b Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:18 2015 +0800 x86/irq: Use accessor irq_data_get_irq_handler_data() Use accessor function irq_data_get_irq_handler_data() to hide irq_desc implementation details. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5f2dbbc51734fc51e8e3e2c3ab7096a58ac72e86 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:14 2015 +0800 x86/irq: Use accessor irq_data_get_node() Use accessor irq_data_get_node() to hide struct irq_data implementation detail, so we can move node to irq_data_common later. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4ab0c591c1482c90d14c1d11bf4b469c54a31ecc Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Sun Jul 12 08:14:21 2015 -0700 ASoC: max98357a: Do not print error message on asoc/gpio errors gpiolib/asoc system already prints enough info if there are any problems. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 508e61953f7b2c5c828412e5b46fa99b8a3fbaa1 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Sun Jul 12 08:14:20 2015 -0700 ASoC: max98357a: Use DAI input as a dapm widget Spec does not say anything about DAC called SDMode. It makes more sense to use DAI input that created automatically by DAPM and route it to Speaker output. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5119222f2e3de2e51a3b3270036d53c55ce68236 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Sun Jul 12 08:14:19 2015 -0700 ASoC: max98357a: Make 'sdmode-gpios' dts property optional The option is not needed if chip is always on or managed by some other part of system like platform card driver. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7bd393543287b921f964a350166bf2866527a1b5 Author: James Ban <james.ban.opensource@xxxxxxxxxxx> Date: Tue Jun 30 13:39:39 2015 +0900 regulator: da9211: support da9215 This is a patch for supporting da9215 buck converter. Signed-off-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fda4d578ed0a7e1d116f56a15efea0e4ba78acad Author: Laurent Bigonville <bigon@xxxxxxxx> Date: Tue Jul 7 23:10:52 2015 +0200 selinux: explicitly declare the role "base_r" This fixes the compilation of policy generated by mdp with the recent version of checkpolicy. Signed-off-by: Laurent Bigonville <bigon@xxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit c3c188b2c3ed29effe8693672ee1c84184103b4e Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Jul 10 17:19:58 2015 -0400 selinux: Create a common helper to determine an inode label [ver #3] Create a common helper function to determine the label for a new inode. This is then used by: - may_create() - selinux_dentry_init_security() - selinux_inode_init_security() This will change the behaviour of the functions slightly, bringing them all into line. Suggested-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit bd1741f4cf05d7709348f591d16eeb5f786de673 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Fri Jul 10 17:19:57 2015 -0400 selinux: Augment BUG_ON assertion for secclass_map. Ensure that we catch any cases where tclass == 0. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 5dee25d08eac01472904b0ab32ce35edee5c0518 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Fri Jul 10 17:19:57 2015 -0400 selinux: initialize sock security class to default value Initialize the security class of sock security structures to the generic socket class. This is similar to what is already done in inode_alloc_security for files. Generally the sclass field will later by set by socket_post_create or sk_clone or sock_graft, but for protocol implementations that fail to call any of these for newly accepted sockets, we want some sane default that will yield a legitimate avc denied message with non-garbage values for class and permission. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 9629d04ae06812f217846b69728c969afee690b4 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Fri Jul 10 17:19:56 2015 -0400 selinux: reduce locking overhead in inode_free_security() The inode_free_security() function just took the superblock's isec_lock before checking and trying to remove the inode security struct from the linked list. In many cases, the list was empty and so the lock taking is wasteful as no useful work is done. On multi-socket systems with a large number of CPUs, there can also be a fair amount of spinlock contention on the isec_lock if many tasks are exiting at the same time. This patch changes the code to check the state of the list first before taking the lock and attempting to dequeue it. The list_del_init() can be called more than once on the same list with no harm as long as they are properly serialized. It should not be possible to have inode_free_security() called concurrently with list_add(). For better safety, however, we use list_empty_careful() here even though it is still not completely safe in case that happens. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit fa1aa143ac4a682c7f5fd52a3cf05f5a6fe44a0a Author: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Date: Fri Jul 10 17:19:56 2015 -0400 selinux: extended permissions for ioctls Add extended permissions logic to selinux. Extended permissions provides additional permissions in 256 bit increments. Extend the generic ioctl permission check to use the extended permissions for per-command filtering. Source/target/class sets including the ioctl permission may additionally include a set of commands. Example: allowxperm <source> <target>:<class> ioctl unpriv_app_socket_cmds auditallowxperm <source> <target>:<class> ioctl priv_gpu_cmds Where unpriv_app_socket_cmds and priv_gpu_cmds are macros representing commonly granted sets of ioctl commands. When ioctl commands are omitted only the permissions are checked. This feature is intended to provide finer granularity for the ioctl permission that may be too imprecise. For example, the same driver may use ioctls to provide important and benign functionality such as driver version or socket type as well as dangerous capabilities such as debugging features, read/write/execute to physical memory or access to sensitive data. Per-command filtering provides a mechanism to reduce the attack surface of the kernel, and limit applications to the subset of commands required. The format of the policy binary has been modified to include ioctl commands, and the policy version number has been incremented to POLICYDB_VERSION_XPERMS_IOCTL=30 to account for the format change. The extended permissions logic is deliberately generic to allow components to be reused e.g. netlink filters Signed-off-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Acked-by: Nick Kralevich <nnk@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 671a2781ff01abf4fdc8904881fc3abd3a8279af Author: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Date: Fri Jul 10 17:19:55 2015 -0400 security: add ioctl specific auditing to lsm_audit Add information about ioctl calls to the LSM audit data. Log the file path and command number. Signed-off-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Acked-by: Nick Kralevich <nnk@xxxxxxxxxx> [PM: subject line tweak] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit e4ca061275ec6a48b66c6edebe08644e666994c0 Author: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Date: Wed Jul 8 15:31:52 2015 +0200 drm/i915: Don't forget to mark crtc as inactive after disable Watermark calculations depend on the intel_crtc->active flag to be set properly. Suspend/resume is broken on SKL and we also get DDB mismatches without this patch. The regression was introduced in: commit eddfcbcdc27fbecb33bff098967bbdd7ca75bfa6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:53 2015 +0200 drm/i915: Update less state during modeset. No need to repeatedly call update_watermarks, or update_fbc. Down to a single call to update_watermarks in .crtc_enable Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> v2: Don't touch disable_shared_dpll() Signed-off-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91203 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ff63aed1d0023c1121fc199ee9ef1e201fc2bef9 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jun 29 10:05:43 2015 -0300 ARM: imx_v6_v7_defconfig: Select HCIUART_H4 The old warp board revision had hardware issues that prevented the RTS/CTS lines to work with the Bluetooth module. Tha latest rev1.12 fixes this problem, so now we should better use CONFIG_BT_HCIUART_H4 instead, as it provides a better throughput than the CONFIG_BT_HCIUART_3WIRE option. Suggested-by: Arthur Lambert <arthur@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit f4acd122a738d0601de3a96743859b9c7a82bd6a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 11:03:15 2015 +0200 ARM/orion/gpio: Prepare gpio_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. In this case the irq argument is shadowed by a local variable already, so just rename it. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 9ec97561aa6ddc1c1ef6f522a72c883781c4a67d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 10:58:22 2015 +0200 ARM/pxa: Prepare balloon3_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. While at it fix the pointless lookup of irq_data with the proper methods to retrieve the same information from the irq descriptor. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 6947d04a5c49bf036c779527e4efa1d64a752513 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 10:17:54 2015 +0200 ARM/pxa: Prepare *_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 1c2d4afa77959f3ac7013041e35f5cbe241e9415 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 10:16:33 2015 +0200 ARM/dove: Prepare pmu_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit b9dce3acd076d36838396acd5afb89e3e6f1b064 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 10:15:12 2015 +0200 ARM/sa1111: Prepare sa1111_irq_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 6bf9e97b69eab92482983419792104786b27f411 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 13 10:09:44 2015 +0200 ARM/locomo: Prepare locomo_handler for irq argument removal The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit f575398bff9ae08086b345ecf724568be53818ee Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:19 2015 +0800 ARM, irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8c06e117bedc4085e54dd968e95afdf03e91dff2 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:26 2015 +0200 ARM/LPC32xx: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 84f551c75ba5f578ede6451ad78a690201a8a3bc Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:25 2015 +0800 ARM/irq: Use access helper irq_data_get_affinity_mask() This is a preparatory patch for moving irq_data struct members. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6d0786acda39def7c299aec6b9fe24388c2deee6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jun 22 09:08:11 2015 +0200 ARM/locomo: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Russell King <linux+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 206287c2c8dd61b5316c0dab459208e82d68e48d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:25:10 2015 +0200 ARM/orion: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 72ce6787e37a14f6aaab1a0b024f20440c961517 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon Jul 13 15:42:00 2015 +0300 xtensa: ISS: add missing va_end into split_if_spec Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit b1a55af2773d5e4d30b748517fedfac26fc5fd81 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:39:22 2015 +0900 power_supply: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2259b5bbaac847f9f322659953966ebb53cfd9bc Author: Simon Wood <simon@xxxxxxxxxxxxx> Date: Fri Jul 10 00:10:21 2015 -0600 HID: sony: Navigator Axis for L1 button Patch HID report descriptor to add joystick axis for the L1 button (previously missing). Signed-off-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 70caee0a3721956a98cb4bfbfa0eaa38c9182e44 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Jul 9 14:11:51 2015 -0400 HID: wacom: remove the extra Pen interface for Wacom Bamboo PAD As mentioned in the comment in the code, both the pen and touch data come from the interface tagged as BAMBOO_PAD. The driver re-routes the events for the Pen to the generic HID interface and keeps the ones for the touch through this current interface. Clearing the WACOM_DEVICETYPE_PEN bit removes the extra unused interface added in 2a6cdbd ("HID: wacom: Introduce new 'touch_input' device") and makes the Bamboo PAD to behave like in 4.1. Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 7035f3a4e2444490d461f8b17c2275d61fefd980 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Fri Jul 10 12:48:21 2015 -0700 HID: rmi: Write updated F11 control registers after reset When a device is reset the values of control registers will be reset to the defaults. This patch reapplies the control register values set for F11 by the driver. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Tested-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 9cae85f5e26fb59e4436e0676a9aceb461f30c63 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sat Jul 11 08:18:59 2015 +0800 ASoC: sti-sas: fix platform_no_drv_owner.cocci warnings sound/soc/codecs/sti-sas.c:616:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a2f3a8ca5219651292447f0e1124b3412bc3abff Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Jul 13 11:53:08 2015 +0100 ASoC: sti-sas: Remove spurious dependency on SND_SOC_STI Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 589bef3296317b5507a9a6e2e14fb30dd40ee764 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Jul 13 13:26:45 2015 +0800 ASoC: sti-sas: Staticise local symbols Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e27d9ee6e709db070145847f9b5f52008f6eab84 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Jul 13 13:25:34 2015 +0800 ASoC: sti-sas: Fix checking return value for ERR_PTR Both devm_regmap_init and syscon_regmap_lookup_by_phandle return ERR_PTR on failure. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ef3355d22046f4b2c00b0fdf964d6c92fd3f050d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 12:26:48 2015 +0200 ASoC: uda134x: Use regmap_update_bits() were appropriate Instead of doing the read-modify-update cycle by hand when updating a register use regmap_update_bits(). This also means we can now remove uda134x_read_reg_cache() and uda134x_write() since they are unused. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f33c340a51e81a2e6af316b1b8b9b769d32ce8b7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 12:26:47 2015 +0200 ASoC: uda134x: Convert to regmap Use regmap rather then the legacy ASoC IO for the uda134x driver. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82c7b531f3328dbbb7a53d0f1dc53b92846c411c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 12:26:46 2015 +0200 ASoC: uda134x: Explicitly handle in-data addresses The UDA134X family extends the rather limited L3 register set by using part of the register value as additional address bits. These extra address bits are currently stored in the default register cache and rely on them remaining constant. While this works it is rather idiomatic and slightly confusing. Change it so that the additional address bits are explicitly added when writing a register. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f15c444e58ed5b5dfc6056249ef8a74d00118be3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 12:26:45 2015 +0200 ASoC: uda134x: Move state struct allocation to bus probe Resource allocations should be done in the bus probe rather than the CODEC probe. Move the allocation of the drivers state struct there. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 04dc91ce2cca5927159c689aa1f47663f8c51530 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 13 12:26:44 2015 +0200 regmap: Add better support for devices without readback support Currently regmap requires that a reg_read callback is supplied, otherwise a warning is emitted each time regmap_read() is called. This means a device or bus without readback support needs to supply dummy reg_read callback. Apart from that regmap_read() will still work fine if a cache is used. Remove the warning and let regmap_readable() return false if not reg_read callback is supplied. This means a device no longer has to supply a dummy callback if it does not support readback and it also doesn't have to have a readable_reg callback that always returns false since this is now implicit. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4245746037e379dc9f1388e422d52001cd431921 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 24 14:14:21 2015 +0200 regulator: da9210: Add optional interrupt support Add optional interrupt support to the da9210 regulator driver, to handle over-current, under- and over-voltage, and over-temperature events. Only the interrupt sources for which we handle events are unmasked, to avoid interrupts we cannot handle. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd25dd5b766858b730af00d5b2bbaf6ad2b80c27 Author: Deepak S <deepak.s@xxxxxxxxx> Date: Fri Jul 10 18:31:40 2015 +0530 drm/i915: Update PM interrupts before updating the freq Currently we update the freq before masking the interrupts, which can allow new interrupts to occur before the frequency has changed. These extra interrupts might waste some cpu cycles. This patch corrects this by masking interrupts prior to updating the frequency. Note from Chris: "Well it won't waste CPU cycles as the interrupt is also masked by the threshold limits, but there should be no harm at all in reordering the patch so, and it does make a certain amount of sense." Signed-off-by: Deepak S <deepak.s@xxxxxxxxx> Signed-off-by: Praveen Paneri <praveen.paneri@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add note from Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit feecb691007831263e6285a25a323f175a081f42 Author: Thulasimani,Sivakumar <sivakumar.thulasimani@xxxxxxxxx> Date: Fri Jul 10 12:30:43 2015 +0530 drm/i915: storm detection documentation update Update the hotplug documentation to explain that hotplug storm is not expected for Display port panels and hence is not handled in current code. v2: update the statements as recommended by Daniel Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5e6ccc0b3d16725028caccceb2460fc3473d7d55 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 14:44:11 2015 +0300 drm/i915: Adjust BXT HDMI port clock limits Since commit e62925567c7926e78bc8ca976cde5c28ea265a49 Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Wed Jul 1 17:02:57 2015 +0530 drm/i915/bxt: BUNs related to port PLL BXT DPLL can now generate frequencies in the 216-223 MHz range. Adjust the HDMI port clock checks to account for the reduced range of invalid frequencies. Cc: Vandana Kannan <vandana.kannan@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2be7d540fde3f82e404cbddeeb2fdf05cf33af3c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jun 29 15:25:51 2015 +0300 drm/i915: Refactor VLV display power well init/deinit We do the exact same steps around the disp2d/pipe A power well enable/disable on VLV and CHV. Refactor the shared code into some helpers. Note that this means we now call vlv_power_sequencer_reset() before turning off the power well, whereas before we did it after. That doesn't matter though since vlv_power_sequencer_reset() just resets the power sequencer software tracking and doesn't touch the hardware at all. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8fcd5cd8b3cb29019937ab4b773da27a37e8e79b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jun 29 15:25:50 2015 +0300 drm/i915: Simplify CHV pipe A power well code The pipe A power well is the "disp2d" well on CHV and pipe B and C wells don't even exist. Thereforce we can remove the checks for pipe A vs. others and just assume it's always pipe A. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 60bfe44f83c0a9d7293e821c4ddae3770d60acf9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jun 29 15:25:49 2015 +0300 drm/i915: Apply OCD to VLV/CHV DPLL defines Drop the spurious 'A' from the VLV/CHV ref clock enable define, and add the "REF" to the VLV ref clock selection bit. Also s/CLOCK/CLK/ for extra consistency. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b8afb9113c519a8bd742f7df8c424b0af69a75cd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jun 29 15:25:48 2015 +0300 drm/i915: Keep GMCH DPLL VGA mode always disabled We disable the DPLL VGA mode when enabling the DPLL, but we enaable it again when disabling the DPLL. Having VGA mode enabled even in unused DPLLs can cause problems for CHV, so it seems wiser to always keep it disabled. And let's just do that on all GMCH platforms to keep things as similar as possible between them. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f936ec34dea8da6f38340c1ae2cb35207d8d78cb Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:22 2015 +0530 drm/i915/skl: Updated the i915_ring_freq_table debugfs function Updated the i915_ring_freq_table debugfs function to support the read of ring frequency table, through Punit interface, for SKL also. Issue: VIZ-5144 Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4c8c7743b53fb169ef2cb07a9eaa80c1b6c1d04e Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:20 2015 +0530 drm/i915/skl: Ring frequency table programming changes Ring frequency table programming changes for SKL. No need for a floor on ring frequency, as the issue of performance impact with ring running below DDR frequency, is believed to be fixed on SKL v2: Removed the check for avoiding ring frequency programming for BXT (Rodrigo) Issue: VIZ-5144 Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c5e0688cc75e46b0e9be39224d8e4646593ef375 Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Mon Jun 29 14:50:19 2015 +0530 drm/i915/skl: Retrieve the Rpe value from Pcode Read the efficient frequency (aka RPe) value through the the mailbox command (0x1A) from the pcode, as done on Haswell and Broadwell. The turbo minimum frequency softlimit is not revised as per the efficient frequency value. v2: Replaced the conditional expression operator with 'if' statement (Tom) v3: Corrected the derivation of efficient frequency & shifted the GEN9_FREQ_SCALER multiplications downwards (Ville) Issue: VIZ-5143 Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 05e062f92c917b14ffa944e4a98e5348b53b1390 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Jun 26 14:10:54 2015 -0300 clk: imx: clk-imx6q: Provide initial IPU clock settings for mx6dl Currently it is not possible to use HDMI and LVDS at the same time on a imx6dl-sabresd board. Fix this usecase by setting IMX6QDL_CLK_PLL3_PFD1_540M to 540MHz and also by setting it as the parent of IMX6QDL_CLK_IPU1_SEL. Based on the configuration done in the FSL kernel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d0796c4cd91dc9a329e48d2ff804532ed0b4c676 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Jul 13 00:51:02 2015 -0700 ARM: OMAP2+: Remove legacy booting support for LogicPD Torpedo We've been moving all omap2+ based systems to boot in device tree only mode for a few years now. Only omap3 has legacy booting support remaining. Most omap3 boards already have related arch/arm/boot/*.dts* files for booting with device tree. This board has support for device tree based booting, and we've been printing warnings about the legacy booting being deprecated for a few merge cycles now. Let's attempt to remove the legacy booting for it. The reason for removing the legacy booting support now rather than later is we can simply revert this patch if necessary if we run into some unexpected issues that are not trivial to fix for the device tree based booting. Cc: Tim Nordell <tim.nordell@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f951e51003860705fc9fc663fbce90f8263a6804 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 23 17:01:13 2015 +1000 powerpc/powernv: Unfreeze VF PE on releasing it When releasing PE for SRIOV VF, the PE is forced to be frozen wrongly. When the same PE is picked for another VF, it won't work anyhow. The patch fixes the issue by unfreezing, not freezing the VF PE when releasing it. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 283e2d8a594bc902d0c830bb324c15d5be755900 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 13:45:47 2015 +1000 powerpc/powernv: Include VF PE in PELTV of PF PE The PELTV of PF PE should include VF PE, which is missed by current code, so that the VF PE is frozen automatically when freezing PF PE. The patch fixes the PELTV of PF PE to include VF PE. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 26ba248d52854b267a3d728f2281efa89259eae4 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 12:26:19 2015 +1000 powerpc/powernv: Pick M64 PEs based on BARs On PHB3, PE might be reserved in advance to reflect the M64 segments consumed by the PE according to M64 BARs (exclude VF BARs) of the PCI devices included in the PE. The PE is picked based on M64 BARs instead of the bridge's M64 windows, which might include VF BARs. Otherwise, wrong PE could be picked. The patch calculates the used M64 segments and PE numbers according to the M64 BARs, excluding VF BARs, of PCI devices in one particular PE, instead of the bridge's M64 windows. Then the right PE number is picked. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d1203852dfbbbd043bbd831761c117af752d1eda Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 12:26:18 2015 +1000 powerpc/powernv: Boolean argument for pnv_ioda_setup_bus_PE() The patch changes the type of last argument of pnv_ioda_setup_bus_PE() and phb::pick_m64_pe() to boolean. No functional change. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 96a2f92bf8a4d0bf4a49bdd6539561a2c3289f37 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 12:26:17 2015 +1000 powerpc/powernv: Reserve M64 PEs based on BARs On PHB3, some PEs might be reserved in advance to reflect the M64 segments consumed by those PEs. We're reserving PEs based on the M64 window of root port, which might contain VF BAR. The PEs for VFs are allocated dynamically, not reserved based on the consumed M64 segments. So the M64 window of root port isn't reliable for the task. Instead, we go through M64 BARs (VF BARs excluded) of PCI devices under the specified root bus and reserve PEs accordingly, as the patch does. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e9dc4d7f72a375020ecbc9ca35b098fd9018910b Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 12:26:16 2015 +1000 powerpc/powernv: Allow to reserve one PE for multiple times The PE numbers are reserved according to root port's M64 window, which is aligned to M64 segment finely. So one PE shouldn't be reserved for multiple times. We will reserve PE numbers according to the M64 BARs of PCI device in subsequent patches, which aren't aligned to M64 segment size finely. It means one particular PE could be reserved for multiple times. The patch allows one PE to be reserved for multiple times and we print the warning message at debugging level. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1c53973172f84fafa8ad94f17ac427fdd4f260a2 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Jul 7 13:56:59 2015 +1000 powerpc: Remove mtmsrd(), use existing mtmsr() mtmsr() does the right thing on 32bit and 64bit, so use it everywhere. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e8a4fd0afe05d5213d809fa686d3b8319464acfd Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 29 17:01:43 2014 +1000 powerpc: Add macros for the ibm_architecture_vec[] lengths The encoding of the lengths in the ibm_architecture_vec array is "interesting" to say the least. It's non-obvious how the number of bytes we provide relates to the length value. In fact we already got it wrong once, see 11e9ed43ca8a "Fix up ibm_architecture_vec definition". So add some macros to make it (hopefully) clearer. These at least have the property that the integer present in the code is equal to the number of bytes that follows it. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx> commit 817820b0226a1376f0fc68827ab8e42d86431117 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 15:25:31 2015 +1000 powerpc/iommu: Support "hybrid" iommu/direct DMA ops for coherent_mask < dma_mask This patch adds the ability to the DMA direct ops to fallback to the IOMMU ops for coherent alloc/free if the coherent mask of the device isn't suitable for accessing the direct DMA space and the device also happens to have an active IOMMU table. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e91c25111aa373af7439d97ab0e606bcffd599ef Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 15:25:27 2015 +1000 powerpc/iommu: Cleanup setting of DMA base/offset Now that the table and the offset can co-exist, we no longer need to flip/flop, we can just establish both once at boot time. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2db4928bb559f8b43ca75879548111dc13a7de31 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 24 15:25:22 2015 +1000 powerpc/iommu: Remove dma_data union To support "hybrid" DMA ops in a subsequent patch, we will need both a direct DMA offset and an iommu pointer. Those are currently exclusive (a union), so change them to be separate fields. While there, also type iommu_table_base properly and make exist only on CONFIG_PPC64 since it's not referenced on 32-bit at all. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit de369538436ae0caf784c69187ad0e53152b7ddf Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 13:27:52 2015 +0200 cxl: use more common format specifier A precision of 16 (%.16llx) has the same effect as a field width of 16 along with passing the 0 flag (%016llx), but the latter is much more common in the kernel tree. Update cxl to use that. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 80c394fab89649585089f5bd5013f2d99e5756ef Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 13:27:51 2015 +0200 cxl: Add explicit precision specifiers C99 says that a precision given as simply '.' with no following digits or * should be interpreted as 0. The kernel's printf implementation, however, treats this case as if the precision was omitted. C99 also says that if both the precision and value are 0, no digits should be printed. Even if the kernel followed C99 to the letter, I don't think that would be particularly useful in these cases. For consistency with most other format strings in the file, use an explicit precision of 16 and add a 0x prefix. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6e06ae88edae77379bef7c0cb7d3c2dd88676867 Author: Jan Kara <jack@xxxxxxx> Date: Sun Jul 12 18:11:30 2015 -0400 jbd2: speedup jbd2_journal_dirty_metadata() It is often the case that we mark buffer as having dirty metadata when the buffer is already in that state (frequent for bitmaps, inode table blocks, superblock). Thus it is unnecessary to contend on grabbing journal head reference and bh_state lock. Avoid that by checking whether any modification to the buffer is needed before grabbing any locks or references. [ Note: this is a fixed version of commit 2143c1965a761, which was reverted in ebeaa8ddb3663b5 due to a false positive triggering of an assertion check. -- Ted ] Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit a595fc51a3417274acc1eee63967e9b9e657cc89 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 14:41:25 2015 +0200 irqchip/mips-gic: Use irq_set_chip_handler_name_locked Use irq_set_handler_name_locked() as it avoids a redundant lookup of the irq descriptor. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0a2b64979ab7f8d5325879bd552dcb85974b2980 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 14:39:45 2015 +0200 irqchip/metag-ext: Use irq_set_chip_handler_name_locked() Hand in irq_data and avoid the redundant lookup of irq_desc. Originally-from: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d2aa914d27f1fb9b7d4e4767c1698ed6a665cb1d Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Jun 23 15:52:41 2015 +0200 irqchip/vt8500: Use irq_set_handler_locked() Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Search and replacement was done with coccinelle: @@ struct irq_data *d; expression E1; @@ -__irq_set_handler_locked(d->irq, E1); +irq_set_handler_locked(d, E1); Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 339d6b88e872f8369495a7224916a4d1d8376ca3 Author: HungNien Chen <hn.chen@xxxxxxxxxxxxxxx> Date: Sat Jul 11 17:30:19 2015 -0700 Input: wdt87xx_i2c - change the sleep time to 2500ms after the sw reset The original wait time was 200ms which was enough for the firmware to finish loading and boot. After that the firmware will perform initialization and touch calibration, which will take about 1.1 second. The touch calibration will change controller frequency to scan at the most optimal frequency and during calibration/frequency switching process we may run into i2c data errors. To avoid them we extend the sleep to 2500ms after issuing the sw reset. Signed-off-by: HungNien Chen <hn.chen@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d5ebe37e8cded781bb91ac63dda2da180ecb90b6 Author: HungNien Chen <hn.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 9 10:27:02 2015 -0700 Input: wdt87xx_i2c - populate vendor and product in input device These attributes can be used to identify controllers present in the system. Signed-off-by: HungNien Chen <hn.chen@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 14fe22e334623e451b5592193415c644005461ea Author: Florian Westphal <fw@xxxxxxxxx> Date: Sat Jul 11 01:37:36 2015 +0200 Revert "ipv4: use skb coalescing in defragmentation" This reverts commit 3cc4949269e01f39443d0fcfffb5bc6b47878d45. There is nothing wrong with coalescing during defragmentation, it reduces truesize overhead and simplifies things for the receiving socket (no fraglist walk needed). However, it also destroys geometry of the original fragments. While that doesn't cause any breakage (we make sure to not exceed largest original size) ip_do_fragment contains a 'fastpath' that takes advantage of a present frag list and results in fragments that (in most cases) match what was received. In case its needed the coalescing could be done later, when we're sure the skb is not forwarded. But discussion during NFWS resulted in 'lets just remove this for now'. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ffb910d7b84f21ef6caeed041032a0af8d2e00ed Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Jul 7 18:17:01 2015 -0700 ARM: BCM63xx: Remove custom secondary_startup function With commit 02b4e2756e01c623cc4dbceae4b07be75252db5b ("ARM: v7 setup function should invalidate L1 cache"), the default secondary_startup function for ARMv7 CPUs does invalidate the L1 cache, which was the sole reason why BCM63xx had to have its own secondary_startup implementation. Now that the secondary_startup takes care of this, we can completely remove that code. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit a6b4b25bd15c0a490769422a7eee355e9e91a57b Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Jul 10 18:36:11 2015 +0100 ARM: BCM63xx: fix parameter to of_get_cpu_node in bcm63138_smp_boot_secondary of_get_cpu_node provides the device node associated with the given logical CPU and cpu_logical_map contains the physical id for each CPU in the logical ordering. Passing cpu_logical_map(cpu) to of_get_cpu_node is incorrect. This patch fixes the issue by passing the logical CPU number to of_get_cpu_node Fixes: ed5cd8163da8 ("ARM: BCM63xx: Add SMP support for BCM63138") Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d48259a0d2c6820d26ea2077c8d330cf1b33877d Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 14:29:29 2015 -0700 Input: pixcir_i2c_ts - use standard OF touchscreen parsing code Let's switch to using standard touchscreen device properties parsing module instead of doing it by hand in the driver. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 69b8c2a50c59a3b1c70666059a85c646f897eb96 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 13:43:31 2015 -0700 Input: pixcir_i2c_ts - simplify input device initialization input_mt_init_slots() will perform necessary settings for performing multi-touch to single-touch emulation, we do not need to do that ourselves. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 40929167e6e8450a06501d292c5e5c81455d1c47 Author: Roger Quadros <rogerq@xxxxxx> Date: Mon Jul 6 13:27:43 2015 -0700 Input: pixcir_i2c_ts - add RESET gpio The controller has a RESET pin which is usually controlled over a GPIO line. If such a GPIO is provided, perform a RESET during probe. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 127520caebd9ae1b77c7026bf538a81b8fcd19a8 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 13:27:00 2015 -0700 Input: pixcir_i2c_ts - allow using with GPIO expanders We are using threaded interrupt handler and thus are allowed to sleep. Let's switch over to gpiod_get_value_cansleep() so that we do not get ugly warnings in case GPIO controller might sleep when accessing GPIO. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit cb4a5f068096c0cea954f363e70020aabb3555f4 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 11:56:21 2015 -0700 Input: pixcir_i2c_ts - switch the device over to gpiod This allows uniform parsing on legacy, DT and ACPI systems. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 28a74c050060c17b1edaee2d60470a33be476941 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 11:48:47 2015 -0700 Input: pixcir_i2c_ts - move platform data Let's move driver's platform data definitions from include/linux/input/ into include/linux/platform_data/ so that it stays with the rest of platform data definitions. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4200e831e4a8fd09fa4e78de2e571ab270c12d06 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 15:18:24 2015 -0700 Input: of_touchscreen - switch to using device properties Let's switch form OF to device properties so that common parsing code could work not only on device tree but also on ACPI-based platforms. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 517178692ccd730a95b278bd8cd67e11498a9a84 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 14:57:54 2015 -0700 Input: of_touchscreen - fix setting max values on X/Y axis The binding specification says that "touchscreen-size-x" and "-y" specify horizontal and vertical resolution of the touchscreen and therefore maximum absolute coordinates should be reduced by 1 since we are starting with 0. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f61fd21dea1b9b40edfab07bdcd60d6a3bd95ba1 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 6 14:45:25 2015 -0700 Input: of_touchscreen - always issue warning if axis is not set up Do issue warning about axis that is present in device tree but not specified by the driver even in case of multi-touch axis as callers now tell us if they expect multi-touch data or not. Reviewed-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5b29264c659c31bada65582005d99adb3bb41fea Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:20 2015 +0800 irqchip: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1433391238-19471-11-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 72f86db4dd5eafbadd45c9092df73c49f320f638 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Jun 1 16:05:38 2015 +0800 irqchip/mips-gic: Use access helper irq_data_get_affinity_mask() Use access helper irq_data_get_affinity_mask() to hide implementation details of struct irq_desc. [ tglx: Verified with coccinelle ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1433145945-789-30-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 9f2135419ffb7601b6642147ae0e6ccc19a7d5be Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:00 2015 +0200 irqchip/vic: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit fcd3c5bee16a2c3c9cd6c4cb8e3e093d458d9f86 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:11:00 2015 +0200 irqchip/versatile: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 22890b0dbe233fa460d25762ab6a2f5c90f84d9c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:58 2015 +0200 irqchip/tb10x: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 3200a71207c7d4ec4e961c0ef7ac50361de30e9a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:58 2015 +0200 irqchip/sunxi-nmi: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 07d22c23d63a3dc08083fec7ce26562b05e7d24b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:57 2015 +0200 irqchip/orion: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 832b404ea0f48a57f1099327cd3137e9a6a51f88 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:55 2015 +0200 irqchip/metag: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit bc4d2c074ac1b55a95a2011bffe1c5ebb590e886 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:54 2015 +0200 irqchip/imgpdc: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 4d83fcf8d615e44ca3ce1ac5766ae121ce08161b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:53 2015 +0200 irqchip/gic: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f286c173593245d443e592edea2ec35ef4a7c7e8 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:52 2015 +0200 irqchip/brcmstb-l2: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx commit 99e32ab1732e8e66c775087f5361fca235bbee0e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:51 2015 +0200 irqchip/bcm7120-l2: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx commit 3a7946eed85a1031120d2c946d6e8e8520b32827 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:50 2015 +0200 irqchip/bcm7038-l1: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx commit 741ff9661337231233cd675df7726ffafe13c960 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jun 21 21:10:49 2015 +0200 irqchip/exynos-combiner: Consolidate chained IRQ handler install/remove Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-samsung-soc@xxxxxxxxxxxxxxx commit a8a98eac7b238beb49b479c164303651d5a37eb6 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:30 2015 +0800 genirq: Remove the irq argument from setup_affinity() Unused except for the alpha wrapper, which can retrieve if from the irq descriptor. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Link: http://lkml.kernel.org/r/1433391238-19471-21-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e019c249a60fc50319c5897d21d36207c257cc9e Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 20:29:34 2015 +0200 genirq: Provide and use __irq_can_set_affinity() Provide a irq_desc based variant of irq_can_set_affinity() to avoid a redundant lookup for the core code users. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0dcdbc97557fd8c297c4e38e9f66e304a64bae9d Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:28 2015 +0800 genirq: Remove the irq argument from note_interrupt() Only required for the slow path. Retrieve it from irq descriptor if necessary. [ tglx: Split out from combo patch. Left [try_]misrouted_irq() untouched as there is no win in the slow path ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Link: http://lkml.kernel.org/r/1433391238-19471-19-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c1e5bd8cc52ddc8c2998987c8806b999f09b064e Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 20:07:35 2015 +0200 genirq: Remove irq argument from try_one_irq() Unused argument. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 02d00eaa64bfd57fcbefe848e46e5ddca62ed5e6 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 20:02:43 2015 +0200 genirq: Remove irq argument from report_bad_irq() Not really a hotpath, so __report_bad_irq() can retrieve the irq number from the irq descriptor. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b80f5f3fc0dc5362eac19585c31a1cc414a6cf95 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 19:58:45 2015 +0200 genirq: Remove irq argument from suspend/resume_irq() Unused argument in both functions. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 79ff1cda320b81dfe5feae0c5da52f029561ce93 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 19:52:36 2015 +0200 genirq: Remove irq argument from __enable/__disable_irq() Solely used for debug output. Can be retrieved from irq descriptor if necessary. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a1ff541a40e90df05f586bf6b157083b351c4a0c Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Tue Jun 23 19:47:29 2015 +0200 genirq: Remove irq arg from __irq_set_trigger() It's only required for debug output and can be retrieved from the irq descriptor if necessary. [ tglx: Split out from combo patch ] Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0798abeb7eec37dcc20f252c2195fc31c41561f9 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:27 2015 +0800 genirq: Remove the irq argument from check_irq_resend() It's only used in the software resend case and can be retrieved from irq_desc if necessary. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Link: http://lkml.kernel.org/r/1433391238-19471-18-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b51bf95c583bba645974348666e9b5a14c7aa3ea Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Thu Jun 4 12:13:25 2015 +0800 genirq: Remove the parameter 'irq' of kstat_incr_irqs_this_cpu() The first parameter 'irq' is never used by kstat_incr_irqs_this_cpu(). Remove it. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Link: http://lkml.kernel.org/r/1433391238-19471-16-git-send-email-jiang.liu@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 41a83e06e2bb9ac46731681fd44d1e6ab184dac5 Author: Joel Porquet <joel@xxxxxxxxxxx> Date: Tue Jul 7 17:11:46 2015 -0400 irqchip: Prepare for local stub header removal The IRQCHIP_DECLARE macro moved to to 'include/linux/irqchip.h', so the local irqchip.h became an empty shell, which solely includes include/linux/irqchip.h Include the global header in all irqchip drivers instead of the local header, so we can remove it. Signed-off-by: Joel Porquet <joel@xxxxxxxxxxx> Cc: vgupta@xxxxxxxxxxxx Cc: monstr@xxxxxxxxx Cc: ralf@xxxxxxxxxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1882096.X39jVG8e0D@joel-zenbook Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d452bca82d9ff4f220afa4234418912623db4fe6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 6 10:18:29 2015 +0000 irqchip/sirfsoc: Fix generic chip allocation wreckage irq_alloc_domain_generic_chips() can only be called once for an irqdomain. The sirfsoc init calls it twice and because the return value is not checked it does not notice the wreckage. The code works by chance because the first call already allocates two chips and therefor the second call to sirfsoc_alloc_gc() operates on the proper generic chip instance. Use a single call and setup the two chips in the obvious correct way. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Barry Song <baohua@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Olof Johansson <olof@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150706101543.470696950@xxxxxxxxxxxxx commit b66231183a8542de1414e42326dd1c6bc4af75f4 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Jul 6 15:32:25 2015 +0200 irqchip/dw-apb-ictl: Fix generic domain chip wreckage The num_ct argument of irq_alloc_domain_generic_chips() tells the core code how many chip types (for different control flows, e.g. edge/level) should be allocated. It does not control how many generic chip instances are created because that's determined from the irq domain size and the number of interrupts per chip. The dw-apb init abuses the num_ct argument for allocating one or two chip types depending on the number of interrupts. That's completely wrong because the alternate type is never used. This code was obviously never tested on a system which has more than 32 interrupts as that would have never worked due to the unitialized second generic chip instance. Hand in the proper num_ct=1 and fixup the chip initialization along with the interrupt handler. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150706101543.373582262@xxxxxxxxxxxxx commit bfd0b498bee4f836610c477cae21aefb16cfe0b1 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:54:29 2015 +0200 ARM: dts: lpc4357-ea4357: add mmcsd Enable the MMC/SD controller on EA4357 devkit and add pin muxing plus a regulator. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit c97a63c9deb50763242d8e6325ac404c823efd05 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:51:20 2015 +0200 ARM: dts: lpc4357-ea4357: add pinctrl and uart0 muxing Setup pin muxing and properties for the debug console on uart0. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b06cdb7949e421bc511a99e5ca10fe610e21c750 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jun 20 14:45:12 2015 +0200 ARM: dts: lpc18xx: add usb nodes Add nodes for the two USB EHCI controllers found on lpc18xx. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit fe968589284ecc9a95c6040eea4f3712f0eb1f47 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:29:28 2015 +0200 ARM: dts: lpc18xx: add ethernet node Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 16df2b868e516701832ba333734d4d071fafa311 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:31:49 2015 +0200 ARM: dts: lpc18xx: add creg (syscon) node The CREG block contains a collection of miscellaneous configuration register like Ethernet phy mode, low power clocks and DMA multiplexer. These registers needs to be accessed from other drivers and syscon provides this capability. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit cd07154f49bb865d619c8db0bdd28c39c70e5870 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:27:33 2015 +0200 ARM: dts: lpc18xx: add mmcsd node Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 7e6c8376e9d0db8c825e9fdf95e30b7296c6caa3 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:21:43 2015 +0200 ARM: dts: lpc18xx: add can nodes Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 5d2ea79c7f73c8d57ccbc46e97ff400afd9bfe9b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Apr 1 14:41:06 2015 +0200 ARM: dts: lpc18xx: add ssp nodes Add nodes for the ARM SSP controllers on lpc18xx. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 7836dce471335fc8e2a09a4015e70f2c9c1554a6 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Mon Apr 27 23:59:30 2015 +0200 ARM: dts: lpc18xx: add gpio node Add gpio and mapping between pinctrl/gpio namespace with gpio-ranges property. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d881f5e228177355707c95146457d62c5187ea57 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:40:13 2015 +0200 ARM: dts: lpc18xx: add pinctrl node Add pinctrl node for lpc1850-scu. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f2b1c507d45f1d4cb4ab296ff0a20b5add6b8bdd Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Fri May 15 19:43:45 2015 +0200 ARM: dts: lpc18xx: add uart new compat string and clk names Add lpc1850-uart compatible string on uarts together with proper clock-names. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit ba2db535a99dc004ab6b7952625029ec196514b9 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Apr 1 14:42:00 2015 +0200 ARM: dts: lpc18xx: add cgu and ccu clock-controller nodes Add CGU and CCU clock-controller nodes for lpc18xx together with the fixed input clocks. Also remove the temporary fixed-factor pll1 clock from both lpc18xx and lpc4350-hitex-eval DTS now that proper clock drivers are inplace. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 2155971a66f89924edb37c213251c4fe9f7776c0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:54:14 2015 +0900 iio: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 071667a0fae08ed8c9dcdb9ff526dc66888cac4b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:34:26 2015 +0900 staging: iio: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 862cb6ce58029c478aca573ee7bff0081249a6d3 Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Jul 10 17:10:21 2015 +0300 Staging: iio: dummy: Fix blank line warnings Multiple blank lines should not be used as indicated by checkpatch.pl. Also, a line should be used after a function/structure declaration. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1ce96bd366b87d3896a450b3ac26a8a0916573b4 Author: Ana Calinov <ana.calinov@xxxxxxxxx> Date: Wed Jul 8 07:04:31 2015 -0700 iio: frequency: adf4350: Delete blank line This patch removes an unnecessary blank line found by checkpatch.pl --strict: Blank lines aren't necessary after an open brace '{'. Signed-off-by: Ana Calinov <ana.calinov@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e23fd9812fe729612e778ba9bd9530ce5c234f23 Author: Ana Calinov <ana.calinov@xxxxxxxxx> Date: Wed Jul 8 05:44:42 2015 -0700 iio: accel: kxcjk-1013: Remove blank lines This patch fixes the the following errors given by checkpatch.pl with --strict: Please don't use multiple blank lines. Blank lines aren't necessary after an open brace '{'. Signed-off-by: Ana Calinov <ana.calinov@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8fc2b61a36fe17f744b445a26599a6cac9e6c1c0 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Jun 16 12:52:16 2015 +0200 ath9k: DFS - add pulse chirp detection for FCC FCC long pulse radar (type 5) requires pulses to be checked for chirping. This patch implements chirp detection based on the FFT data provided for long pulses. A chirp is detected when a set of criteria defined by FCC pulse characteristics is met, including * have at least 4 FFT samples * max_bin index moves equidistantly between samples * the gradient is within defined range The chirp detection has been tested with reference radar generating devices and proved to work reliably. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8f010d9ca88f9023650b2e54b74c84ab63a19d02 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Jun 16 11:46:42 2015 +0200 ath9k: DFS - consider ext_channel pulses only in HT40 mode The chip reports radar pulses on extension channel even if operating in HT20 mode. This patch adds a sanity check for HT40 mode before it feeds pulses on extension channel to the pattern detector. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 00798c38f49eb028b0c5fac01293783206af29fb Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Jun 15 19:24:35 2015 +0200 ipw2100: fix timeout bug - always evaluated to 0 commit 2c86c275015c ("Add ipw2100 wireless driver.") introduced HW_PHY_OFF_LOOP_DELAY (HZ / 5000) which always evaluated to 0. Clarified by Stanislav Yakovlev <stas.yakovlev@xxxxxxxxx> that it should be 50 milliseconds thus fixed up to msecs_to_jiffies(50). Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Acked-by: Stanislav Yakovlev <stas.yakovlev@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 75509fd88fbd580c793780b0001c71c3510f2726 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Sun May 24 12:49:04 2015 -0500 nsfs: Add a show_path method to fix mountinfo Today mountinfo displays a very unhelpful "/" for nsfs files. Add a show_path method returning the same string as ns_dname. This results in a bind mount of /proc/<pid>/ns/net showing up in /proc/<pid>/mountinfo as "net:[1234...]" instead of "/". Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit ed25b113a955e62aeaba49a3ec71faea4f25bf34 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:39 2015 +0200 ath10k: tweak interface combinations Concurrent AP/GO operation on different channels isn't really supported well by the firmware so it's better to remove it from being advertised. Also tune the way station and p2p client interface limits are expressed to allow station + 2x p2p client or station + p2p client + p2p go. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit acd0b27bb13a09dd0a56d4562d3eb4137a7318b2 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:38 2015 +0200 ath10k: fix per-vif queue locking Whenever any vdev was supposed to be paused all Tx queues were stopped (except offchannel) instead of only these associated with the given vdev. This caused subtle issues with multi-channel/multi-vif scenarios, e.g. authentication of station vif could sometimes fail depending on fw tx pause request timing. Fixes: b4aa539dd8f2 ("ath10k: implement tx pause wmi event") Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f23e587e55f3607741e29a789efa61ea999f13f8 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:37 2015 +0200 ath10k: update vdev ps state on start Psmode can be forcefully enabled when vdev isn't started. It isn't guaranteed that mac80211 will re-issue psmode setting after vdev is started unless actual bss_conf.ps value has changed. Even if this doesn't fix any problems now it may prevent future breakage. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d710e75d1050cb66fbf6e906addb4a661e444729 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:36 2015 +0200 ath10k: fix hw roc expiration notifcation The expiration function must not be called when roc is explicitly cancelled by mac80211. However since fcf9844636be ("ath10k: fix hw roc expiration") the notification was never sent when roc actually expired. This fixes some P2P connection setup issues. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 424f26301467daf241a4afe4b6fe82750d4ac624 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:35 2015 +0200 ath10k: limit multi-vif ps more aggresivelly Further testing proved that multi-channel AP+STA on QCA6174 with RM.2.0-00088 should have powersave force-disabled to avoid beacon misses/skipping on either side which in turn could disrupt communication. Since AP never has arvif->ps don't even bother checking it. Other combinations may be broken as well so disallow powersave with multivif outright unless firmware advertises otherwise. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 835d56a10c1fcfb0fee28bb6aceb722e1a6f643a Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Jul 9 13:08:34 2015 +0200 ath10k: don't set cck/ofdm scan flags mac80211 already does provide complete IEs for Probe Requests for hw scan and ath10k firmware was appending duplicate Supported Rates IEs unnecessarily. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3c7e256a6de378e01098147527082abae05b146e Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Fri Jul 3 19:25:27 2015 +0530 ath10k: Fix target to cpu address conversion logic In commit 418ca5992e2f ("ath10k: Make target cpu address to CE address conversion chip specific") mask 0x7fff is added by mistake instead of 0x7ff. Fix this regression. Fixes: 418ca5992e2f ("ath10k: Make target cpu address to CE address conversion chip specific") Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a052158aa981ca470673f49c636b289ee16894ea Author: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Date: Fri Jul 3 15:33:49 2015 +0200 ath10k: fix QCA61X4 boot up commit a521ee983d312db7 ("ath10k: Add new reg_address/mask to hw register table") broke QCA61x4 support by providing wrong fw_indicator_address, which should have been 0x0003a028 instead of 0x00009028. User experience was a failing boot up sequence (crashing device during initialization): [ 181.663874] ath10k_pci 0000:02:00.0: enabling device (0000 -> 0002) [ 181.664787] ath10k_pci 0000:02:00.0: pci irq msi-x interrupts 8 irq_mode 0 reset_mode 0 [ 181.688886] ath10k_pci 0000:02:00.0: device has crashed during init [ 181.688897] ath10k_pci 0000:02:00.0: failed to wait for target after cold reset: -70 [ 181.688902] ath10k_pci 0000:02:00.0: failed to reset chip: -70 [ 181.689774] ath10k_pci: probe of 0000:02:00.0 failed with error -70 Fix it by updating the address with correct value. Fixes: a521ee983d31 ("ath10k: Add new reg_address/mask to hw register table") Signed-off-by: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9d7b372f0514d829b2f712aac5b85eaab2dc0cb2 Merge: 9131f3d a78dfcb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Jul 10 23:24:31 2015 -0700 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Hi David, the following patch set has code cleanup patches, minor enhancements and non-critical fixes. Pls consider applying to the net-next tree. Thanks! Patch 1 removes duplicate code in be_setup_wol() routine making it simpler and more readable. Patch 2 fixes the the bridge mode return value for the ndo_bridge_getlink() call. Instead of just relying on the SRIOV enabled state, the driver now queries the FW, for the actual mode of bridge. Patch 3 removes code for setting D0 power state as it's already done in pci_enable_device() Patch 4 fixes a bad return value in be_check_ufi_compatibility() routine introduced by an earlier commit. Patch 5 fixes a field in udp header being accessed while in network endian format. Patch 6 fixes the be_mcc_notify() routine to return an error status when the FW/HW is in an error state. Patch 7 fixes the be_cmd_rx_filter() routine to issue the RX_FILTER cmd and not wait for a completion from the FW. If the FW/adapter is in an error state, this change helps in not holding up the rtnl_lock and keeping bottom halves disabled while the driver timesout waiting for a response from the FW. Patch 8 fixes the be_cmd_set_loopback() routine to issue the LOOPBACK cmd and not wait for the FW completion while spin_lock_bh() is held on the mcc_lock. As the cmd is always issued from ethtool in a process context, it can sleep till the FW completion is received. Patch 9 bumps up the driver version to 10.6.0.3 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a78dfcb38492ccc127023e9ee3a35d214009b02f Author: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:51 2015 -0400 be2net: bump up the driver version to 10.6.0.3 Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c8559750cd7b7936dd38810fc2110fc91d7d527 Author: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Date: Fri Jul 10 05:32:50 2015 -0400 be2net: make SET_LOOPBACK_MODE cmd asynchrounous The SET_LOOPBACK_MODE command is always issued from ethtool only in a process context. So, while waiting for the cmd to complete, the driver can sleep instead of holding spin_lock_bh() on the mcc_lock. This is done by calling be_mcc_notify() instead of be_mcc_notify_wait() (that returns only after the cmd completes while the MCCQ is locked). Signed-off-by: Suresh Reddy <suresh.reddy@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8af65c2f4deeb02a128c5cf29fa351b70bf16424 Author: Suresh Reddy <suresh.reddy@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:49 2015 -0400 be2net: make the RX_FILTER command asynchronous This fix makes the RX_FILTER cmd asynchronous, i.e., the caller issues this cmd and doesn't wait for a completion from the FW. If the FW/adapter is in an error state, this change helps in not holding up the rtnl_lock and keeping bottom halves disabled while the driver timesout waiting for a response from the FW. Signed-off-by: Suresh Reddy <suresh.reddy@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efaa408e964012225897e87d9aad97a4d0ebc1d5 Author: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Date: Fri Jul 10 05:32:48 2015 -0400 be2net: return error status from be_mcc_notify() When the adapter is in error state, return error from be_mcc_notify() so that the caller routines need not sleep waiting for a response. Signed-off-by: Suresh Reddy <suresh.reddy@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1645d99768e00d3148ebded5d8c4ab55cdb19a5c Author: Venkat Duvvuru <VenkatKumar.Duvvuru@xxxxxxxxxx> Date: Fri Jul 10 05:32:47 2015 -0400 be2net: convert dest field in udp-hdr to host-endian The "dest" field in the UDP-hdr of a TX skb is in network endian format. Convert it to host endian before accessing it. The os2bmc patch, mentioned below introduced this code. Fixes: 760c295e0e8d ("be2net: Support for OS2BMC") Signed-off-by: Venkat Duvvuru <VenkatKumar.Duvvuru@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 887a65c4ab1511a9afc8a20e5507bec3d074f867 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:46 2015 -0400 be2net: fix wrong return value in be_check_ufi_compatibility() In the commit a6e6ff6eee12f3e ("be2net: simplify UFI compatibility checking"), a return value of "-1" was incorrectly used in place of "false". This patch fixes it. Fixes: a6e6ff6eee12f3e ("be2net: simplify UFI compatibility checking") Signed-off-by: Vasundhara Volam <vasundhara.volam@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc23d6b7ab051106b700869e7ee09e8aec6864f2 Author: Kalesh Purayil <kalesh.purayil@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:45 2015 -0400 be2net: remove redundant D0 power state set pci_enable_device() call sets device power state to D0; there is no need doing it again. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff9ed19d263d9678394b6ac079abd68efb3c55c0 Author: Kalesh Purayil <kalesh.purayil@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:44 2015 -0400 be2net: query FW to check if EVB is enabled The current code assumes that bridge functionality (EVB) in the adapter is enabled only when SR-IOV is enabled. This is not always true. This patch uses the GET_HSW_CONFIG FW cmd to query this from the FW. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 145155e786ccee898f6ed665f6dd3bce7c14830f Author: Kalesh Purayil <kalesh.purayil@xxxxxxxxxxxxx> Date: Fri Jul 10 05:32:43 2015 -0400 be2net: remove duplicate code in be_setup_wol() This change will make be_setup_wol() routine more compact and readable by removing some duplicate code. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9131f3de24db4dc12199aede7d931e6703e97f3b Author: YOSHIFUJI Hideaki/å??è?¤è?±æ?? <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Date: Fri Jul 10 16:58:31 2015 +0900 ipv6: Do not iterate over all interfaces when finding source address on specific interface. If outgoing interface is specified and the candidate address is restricted to the outgoing interface, it is enough to iterate over that given interface only. Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@xxxxxxxxxxxxxxxx> Acked-by: Erik Kline <ek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6979b9cf58c86d14ceb1702b5b3fa4f63c98c013 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:29:23 2015 +0900 net: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 239aa55b9496144f89670b545b5698e6c989f710 Author: David Thomson <david.thomson@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 16:28:25 2015 +1200 net: phy: Support setting polarity in marvell phy driver Support manually setting the polarity to mdi or mdix Signed-off-by: David Thomson <david.thomson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 634ec36cc0ab9d8dda0f2c101fa28d2e2a61b9eb Author: David Thomson <david.thomson@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 13:56:54 2015 +1200 net: phy: Pass mdix ethtool setting through to phy driver Pass the mdix setting from ethtool down to the phy driver, to allow driver specific implementations of manually setting the polarity. Signed-off-by: David Thomson <david.thomson@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03bc7523cb4241a7f4ad67d7ae38027d1884a3ee Author: Stefan Tatschner <stefan@xxxxxxxxxxxxx> Date: Wed Jul 8 10:41:07 2015 +0200 can-doc: Fix wrong chapter reference In f35f6c8f7 (can: update MAINTAINERS and Documentation) chapter 3.3 was removed. This patch fixes some old references to chapter 3.4 which no longer exists. Signed-off-by: Stefan Tatschner <stefan@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 6609b638353c99c5736e05abd17197f1cb776e0e Author: Diego Viola <diego.viola@xxxxxxxxx> Date: Mon Jul 6 14:33:21 2015 -0300 README: GTK+ is a acronym Signed-off-by: Diego Viola <diego.viola@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit fb18539b3c8f03e550b8afb21cf53db2a2235dbe Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:30 2015 +0200 ARM: dts: pxa: fix power i2c definition Add the correct address and size to the device-tree description. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 0ec1939668e5a47b30a07ed4c178f491ce853ae7 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:31 2015 +0200 ARM: dts: pxa: add the usb host controller Add the usb host controller to pxa27x and pxa3xx. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 796b7dcf689f484332aac71a4a49edac6148532c Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:29 2015 +0200 ARM: dts: pxa: add embedded pxa camera capture interface The pxa27x SoCs have an embedded camera host controller. Add the description to the family description. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 316c938218355f1c4688c9cbec88509cf9a2f4db Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:28 2015 +0200 ARM: dts: pxa: add dma pxamci nodes to pxa3xx Add the 3 possible mmc controllers on pxa3xx SoCs to the devicetree description. Add the dma and clocks to the device-tree description of pxa27x and pxa3xx at the same time. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit c943646d1f497e0ef832fd7148dd2150a75b79a9 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:27 2015 +0200 ARM: dts: pxa: add dma engine node to pxa3xx-nand Add the dma client description for pxa3xx-nand to use its dma through device-tree. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 0cd491416092844218ab729413047bc5738f2106 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Jun 20 10:17:26 2015 +0200 ARM: dts: pxa: add dma controller Add the SoC embedded DMA controller, shared with the mmp architecture. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit dc12f20ba06f89bc60d4dfadaf2b03404858e205 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Mon Jul 6 23:41:57 2015 +0900 Doc: powerpc: Fix typos in Documentation/powerpc This patch fix some spelling typo found in Documentation/powerpc. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9ba6e988c7208e3cb1f71862cc578397ae938159 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Sun Jul 5 11:56:51 2015 +0900 Documentation: ARM: EXYNOS: Extend boot loader interface documentation Extend the kernel-bootloader interface documentation with usage of register INFORM1 (0x0804) and different CPU resume address on Exynos542x family (with Multi-Cluster Power Management enabled). Additionally add glossary and reformat section titles. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 60498bb58e9a614b9706f250667033f30632a25c Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jul 3 16:22:11 2015 +0100 SubmittingPatches: update CodingStyle reference Link to the internal up to date Coding Style document inside the Kernel sources instead of an external one. Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 4b10df7f2c8b3c6de12375b85456c6fd275af6d0 Author: Olivier C. Larocque <olivier.c.larocque@xxxxxxxxx> Date: Thu Jul 2 21:33:23 2015 -0400 Documentation: CodingStyle: remove broken links in the References section Remove 2 broken links for programming reference books in Appendix I. After a lookup on an Internet archives web site, it seems that these links have been broken for around 3 months. We can then assume that they will not be back up and safely remove them from the documentation. Signed-off-by: Olivier C. Larocque <olivier.c.larocque@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 5127e31a6ce04bd41a020c0ba28a1c0915ab6da1 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Fri Jul 10 16:26:38 2015 +0100 regulator: Add missing dummy definition for regulator_list_voltage Fixes a build break when CONFIG_REGULATOR is not selected. e.g, on linux-next - 07102015: drivers/clk/tegra/clk-dfll.c: In function â??find_lut_index_for_rateâ??: drivers/clk/tegra/clk-dfll.c:691:3: error: implicit declaration of function â??regulator_list_voltageâ?? [-Werror=implicit-function-declaration] if (regulator_list_voltage(td->vdd_reg, td->i2c_lut[i]) == uv) ^ CC drivers/clocksource/mmio.o CC fs/proc/softirqs.o cc1: some warnings being treated as errors make[3]: *** [drivers/clk/tegra/clk-dfll.o] Error 1 make[2]: *** [drivers/clk/tegra] Error 2 make[1]: *** [drivers/clk] Error 2 make[1]: *** Waiting for unfinished jobs.... This should be pushed to 4.2 as we have the issue in 4.2-rc1, just that nobody uses it without the REGULATOR(yet). Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 60cb65ebf49e6db114c3efeb3971064a6ddbea0e Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Jul 10 08:45:36 2015 +0100 regulator: pwm-regulator: Fix ' comparison between signed and unsigned integer' warning drivers/regulator/pwm-regulator.c: In function â??pwm_regulator_init_tableâ??: drivers/regulator/pwm-regulator.c:171:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b343e08f3c5623d12829ad4965dd4c4e50f86fa2 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Jul 10 08:45:35 2015 +0100 regulator: pwm-regulator: Fix 'used uninitialized' warning drivers/regulator/pwm-regulator.c: In function 'pwm_regulator_init_table': drivers/regulator/pwm-regulator.c:172:14: warning: 'length' is used uninitialized in this function [-Wuninitialized] if ((length < sizeof(*duty_cycle_table)) || ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f293634b5a9e9acbcc1cac29fac7609bd999f868 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Jul 10 08:45:34 2015 +0100 regulator: pwm-regulator: Fix 'unused-variable' warning drivers/regulator/pwm-regulator.c: In function 'pwm_regulator_init_continuous': drivers/regulator/pwm-regulator.c:202:22: warning: unused variable 'np' [-Wunused-variable] struct device_node *np = pdev->dev.of_node; ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76c2145ded6b83488dec4afc46a29a57cee90552 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Mon Jun 22 16:31:07 2015 +0200 ASoC: sti: Add CPU DAI driver for playback Add code to manage Uniperipheral player IP instances. These DAIs are dedicated to playback and support I2S and IEC modes. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e1ecace6a68518a6751987ab2032b0ec1b3bd5fe Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Mon Jun 22 16:31:06 2015 +0200 ASoC: sti: Add uniperipheral header file Add the Uniperipheral header file for uniperipheral IPs registers definition. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 05e85d4e0180dbbce823e19d81388e60ac924be1 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Mon Jun 22 16:31:05 2015 +0200 ASoC: sti: add binding for ASoC driver Add ASoC driver bindings documentation. Describe the required properties for each of the hardware IPs drivers. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 32a726b2e089ec1851965290a610c4ae9cab3303 Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Mon Jun 22 16:31:11 2015 +0200 ASoC: sti-sas: Add sti platform codec Codec part of the sti platform that supports codec IPs. This first version does not support HDMI, but only DAC and SPDIF out. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b2c4105b080fb26d8fc9b89c846f5966137c6d40 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Wed Jul 8 20:07:16 2015 +0100 scripts/kernel-doc: Use $KBUILD_BUILD_TIMESTAMP as man page date Together with the preceding changes, this allows man pages to be built reproducibly. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit b44158b17099ed5c7c8f4bfb7029942adbfbc318 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Wed Jul 8 20:07:05 2015 +0100 DocBook: Avoid building man pages repeatedly and inconsistently Some kernel-doc sections are included in multiple DocBook files. This means the mandocs target will generate the same manual page multiple times with different metadata (author name/address and manual title, taken from the including DocBook file). If it's invoked in a parallel build, the output is nondeterminstic. For each section that is duplicated, mark the less specific manual's inclusion as 'extra' and exclude it during conversion to manual pages. Use xmlif for this, as that is bundled with xmlto which we already use. I would have preferred to use more conventional markup for this, but each of the following approaches failed: 1. Wrap the extra inclusions with a new element and add a template to the stylesheet to include/exclude them. Unfortunately DocBook XSL doesn't seem to support foreign elements at an intermediate level in the document tree. 2. Use DocBook profiling. This works but requires passing an absolute path to the profile stylesheet to xmlto, so it's not portable. 3. Use SGML marked sections. docbook2x can handle these but xmlto chokes on them. Reported-by: Jérémy Bobbio <lunar@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit b48ed85145711b28f9024dcdaf6c0238d7b5042c Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Wed Jul 8 20:06:51 2015 +0100 DocBook: Generate consistent IDs By default, DocBook XSL uses a non-deterministic function to generate IDs for HTML elements where it can't take a name from the input document. However, it has the option to generate 'consistent' (deterministic) IDs instead. Enable this to make the HTML pages reproducible. Reported-by: Jérémy Bobbio <lunar@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 32c1735c4091ef0de8e39f68a9d83a07450b959b Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Wed Jul 8 20:06:44 2015 +0100 DocBook: Don't store mtime (or name) in compressed man pages The mtime on a man page is the build time. As gzip stores the mtime and original name in the compressed file by default, this makes compressed man pages unreproducible. Neither of these are important metadata in this case, so turn this off. Reported-by: Jérémy Bobbio <lunar@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 2e106e4df28aa264f9ded7e5be3733224f2e4f93 Author: Jérémy Bobbio <lunar@xxxxxxxxxx> Date: Wed Jul 8 20:06:33 2015 +0100 scripts/kernel-doc: parse kernel-doc deterministically Regular expressions for highlights in kernel-doc are stored in a Perl hash. These hashes are ordered differently for each Perl run. This will prevent kernel-doc to behave deterministically when parsing â??@foo()â?? as in some runs it will be interpreted as a parameter and in the others it will be interpreted as a function. We now sort the %highlights hash to get the same behavior on every run. Signed-off-by: Jérémy Bobbio <lunar@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d90c6cc242045115c5c4973114cc93e1c20e2ea8 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Jul 10 14:37:25 2015 +0100 ASoC: arizona: Fix error path in codec probe If we fail to add some DSPs or fail to add the controls we should call wm_adsp2_codec_remove for all the cores we have already added. This patch fixes this up on the wm5102 and wm5110. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 77b1a97d218277d55a15016826d1fd79290f1df2 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Jun 4 09:43:11 2015 -0500 mnt: fs_fully_visible enforce noexec and nosuid if !SB_I_NOEXEC The filesystems proc and sysfs do not have executable files do not have exectuable files today and portions of userspace break if we do enforce nosuid and noexec consistency of nosuid and noexec flags between previous mounts and new mounts of proc and sysfs. Add the code to enforce consistency of the nosuid and noexec flags, and use the presence of SB_I_NOEXEC to signal that there is no need to bother. This results in a completely userspace invisible change that makes it clear fs_fully_visible can only skip the enforcement of noexec and nosuid because it is known the filesystems in question do not support executables. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 90f8572b0f021fdd1baa68e00a8c30482ee9e5f4 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Jun 29 14:42:03 2015 -0500 vfs: Commit to never having exectuables on proc and sysfs. Today proc and sysfs do not contain any executable files. Several applications today mount proc or sysfs without noexec and nosuid and then depend on there being no exectuables files on proc or sysfs. Having any executable files show on proc or sysfs would cause a user space visible regression, and most likely security problems. Therefore commit to never allowing executables on proc and sysfs by adding a new flag to mark them as filesystems without executables and enforce that flag. Test the flag where MNT_NOEXEC is tested today, so that the only user visible effect will be that exectuables will be treated as if the execute bit is cleared. The filesystems proc and sysfs do not currently incoporate any executable files so this does not result in any user visible effects. This makes it unnecessary to vet changes to proc and sysfs tightly for adding exectuable files or changes to chattr that would modify existing files, as no matter what the individual file say they will not be treated as exectuable files by the vfs. Not having to vet changes to closely is important as without this we are only one proc_create call (or another goof up in the implementation of notify_change) from having problematic executables on proc. Those mistakes are all too easy to make and would create a situation where there are security issues or the assumptions of some program having to be broken (and cause userspace regressions). Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 3fd4079fe295b91cd1f4330e3c8f1e6e4618a27d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:29:45 2015 +0900 soc: mediatek: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit ca12bb14fee138603d17b1d68906abeebaa09b30 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:47:23 2015 +0900 EDAC, xgene: Drop owner assignment from platform_driver platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Loc Ho <lho@xxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436507243-11159-1-git-send-email-k.kozlowski@xxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 7b47ab47b3938e2274834dbde7915df98fc74368 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jun 16 08:53:11 2015 +0000 ASoC: rsnd: gen: add rsnd_force_write() rsnd_force_write() is similar to rsnd_write(), but rsnd_force_write() write data to register even though it is same value. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d1b080290f86d134b97bfe63e499ab9ed3935a02 Merge: d770e55 e874e6c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Jul 10 11:39:23 2015 +0100 Merge tag 'regmap-force' into asoc-rcar regmap: Force write support This allows users to use _update_bits() without the write suppression, useful for some hardware. commit e874e6c7edc43436f73cf84157d9221f8b807c36 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jun 16 08:52:55 2015 +0000 regmap: add regmap_fields_force_write() regmap_fields_force_write() is similar to regmap_fields_write(), but regmap_fields_force_write() write data to register even though it is same value. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fd4b7286ccc469bf5dde22db6b8fcc455c3c4a66 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jun 16 08:52:39 2015 +0000 regmap: add regmap_write_bits() regmap_write_bits() is similar to regmap_update_bits(), but regmap_write_bits() write data to register even though it is same value. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ff0589c7bff4ca31b255ac2028f633f14047762 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jun 16 08:52:22 2015 +0000 regmap: add force_write option on _regmap_update_bits() Sometimes we want to write data even though it doesn't change value. Then, force_write option on _regmap_update_bits() helps this purpose. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 57853e8906a04a86c32fb96d8421b923c6d64162 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jul 7 18:19:38 2015 +0100 ARM: 8403/1: kbuild: don't use generic mcs_spinlock.h header We provide our own implementation of asm/mcs_spinlock.h, so there's no need to ask for the (empty) generic version. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8ded1e1a92daa96307e4b84b707fee5993bc6047 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 7 18:16:15 2015 +0100 ARM: 8401/1: perf: Set affinity for PPI based PMUs For PPI based PMUs, we bail out early in of_pmu_irq_cfg() without setting the PMU's supported_cpus bitmap. This causes the smp_call_function_any() in armv7_probe_num_events() to fail. Set the bitmap to be all CPUs so that we properly probe PMUs that use PPIs. Fixes: cc88116da0d1 ("arm: perf: treat PMUs as CPU affine") Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit eeedcea69e927857d32aaf089725eddd2c79dd0a Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Jun 26 08:09:29 2015 +0100 ARM: 8395/1: l2c: Add support for the "arm,shared-override" property "CoreLink Level 2 Cache Controller L2C-310", p. 2-15, section 2.3.2 Shareable attribute" states: "The default behavior of the cache controller with respect to the shareable attribute is to transform Normal Memory Non-cacheable transactions into: - cacheable no allocate for reads - write through no write allocate for writes." Depending on the system architecture, this may cause memory corruption in the presence of bus mastering devices (e.g. OHCI). To avoid such corruption, the default behavior can be disabled by setting the Shared Override bit in the Auxiliary Control register. Currently the Shared Override bit can be set only using C code: - by calling l2x0_init() directly, which is deprecated, - by setting/clearing the bit in the machine_desc.l2c_aux_val/mask fields, but using values differing from 0/~0 is also deprecated. Hence add support for an "arm,shared-override" device tree property for the l2c device node. By specifying this property, affected systems can indicate that non-cacheable transactions must not be transformed. Then, it's up to the OS to decide. The current behavior is to set the "shared attribute override enable" bit, as there may exist kernel linear mappings and cacheable aliases for the DMA buffers, even if CMA is enabled. See also commit 1a8e41cd672f894b ("ARM: 6395/1: VExpress: Set bit 22 in the PL310 (cache controller) AuxCtlr register"): "Clearing bit 22 in the PL310 Auxiliary Control register (shared attribute override enable) has the side effect of transforming Normal Shared Non-cacheable reads into Cacheable no-allocate reads. Coherent DMA buffers in Linux always have a Cacheable alias via the kernel linear mapping and the processor can speculatively load cache lines into the PL310 controller. With bit 22 cleared, Non-cacheable reads would unexpectedly hit such cache lines leading to buffer corruption." Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3eb4351af42bd8b6de20daab07b204a85c35248f Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Jul 9 14:33:21 2015 -0700 HID: input: call input_sync() when automatically releasing a key We need to emit EV_SYN/SYN_REPORT between key press and release, otherwise userspace is allowed to "swallow" the event. [jkosina@xxxxxxxx: Dmitry says that he's observing this behavior with Plantronics headset] Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 44eda784a2229d25e2724ef1734fe67453716231 Author: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 21:55:06 2015 -0700 HID: cp2112: support i2c write-read transfers in hid-cp2112 cp2112_i2c_xfer() only supports a single i2c_msg. More than one message at a time just returns EIO. This breaks certain important cases. For example, the at24 eeprom driver generates paired write and read messages (for eeprom address and data). Since the device doesn't support i2c repeated starts in general, but does support a single write-repeated-start-read pair (since hardware rev 1), we recognize the latter case and implement only that. Signed-off-by: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 3ce095c16263630dde46d6051854073edaacf3d7 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 15:39:02 2015 +0900 ALSA: aoa: Drop owner assignment from i2c_driver i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a4e2405cc5d20ed6d58c4874325856e80e76a7f8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Jul 9 18:01:40 2015 +0200 tcp: do not export tcp_init_xmit_timers() After commit 900f65d361d3 ("tcp: move duplicate code from tcp_v4_init_sock()/tcp_v6_init_sock()"), we no longer need to export tcp_init_xmit_timers() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09cf0211f970311383fdb453bbd5b3beeb294324 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 03:11:10 2015 -0700 bridge: mdb: fill state in br_mdb_notify Fill also the port group state when sending notifications. Signed-off-by: Satish Ashok <sashok@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb1c61680d29a054b91a23c7a504cea8a72bdcff Author: Masatake YAMATO <yamato@xxxxxxxxxx> Date: Thu Jul 9 12:46:35 2015 +0900 route: remove unsed variable in __mkroute_input flags local variable in __mkroute_input is not used as a variable. Signed-off-by: Masatake YAMATO <yamato@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35a256fee52c7c207796302681fa95189c85b408 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Jul 8 16:58:22 2015 -0700 ipv6: Nonlocal bind Add support to allow non-local binds similar to how this was done for IPv4. Non-local binds are very useful in emulating the Internet in a box, etc. This add the ip_nonlocal_bind sysctl under ipv6. Testing: Set up nonlocal binding and receive routing on a host, e.g.: ip -6 rule add from ::/0 iif eth0 lookup 200 ip -6 route add local 2001:0:0:1::/64 dev lo proto kernel scope host table 200 sysctl -w net.ipv6.ip_nonlocal_bind=1 Set up routing to 2001:0:0:1::/64 on peer to go to first host ping6 -I 2001:0:0:1::1 peer-address -- to verify Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a10ececc60c469d0641531589ccc38a768e0d07 Merge: 8b58a39 dbe7faa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 9 15:12:21 2015 -0700 Merge branch 'tw_cleanups' Eric Dumazet says: ==================== inet: timewait cleanups Another round of patches to make tw handling simpler. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbe7faa4045ea83a37b691b12bb02a8f86c2d2e9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Jul 8 14:28:30 2015 -0700 inet: inet_twsk_deschedule factorization inet_twsk_deschedule() calls are followed by inet_twsk_put(). Only particular case is in inet_twsk_purge() but there is no point to defer the inet_twsk_put() after re-enabling BH. Lets rename inet_twsk_deschedule() to inet_twsk_deschedule_put() and move the inet_twsk_put() inside. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc01538f9fb75572c969ca9988176ffc2a8741d6 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Jul 8 14:28:29 2015 -0700 inet: simplify timewait refcounting timewait sockets have a complex refcounting logic. Once we realize it should be similar to established and syn_recv sockets, we can use sk_nulls_del_node_init_rcu() and remove inet_twsk_unhash() In particular, deferred inet_twsk_put() added in commit 13475a30b66cd ("tcp: connect() race with timewait reuse") looks unecessary : When removing a timewait socket from ehash or bhash, caller must own a reference on the socket anyway. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3fd2f1b9d91284afb957ab9899a83279d0e09f29 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Jul 8 14:28:28 2015 -0700 inet: remove BUG_ON() in twsk_destructor() Kernel will crash the same if one of the pointer is NULL anyway. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b58a39846568dcd7d0c98b2fadc25018e59dedf Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Jul 8 23:32:12 2015 +0200 ipv6: use flag instead of u16 for hop in inet6_skb_parm Hop was always either 0 or sizeof(struct ipv6hdr). Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c3d0d67d5ddb2aeb3fdae540a567a56c2831d2a Author: Aleksey S. Kazantsev <ioctl@xxxxxxxxx> Date: Tue Jul 7 20:38:15 2015 -0700 dsa: mv88e6352/mv88e6xxx: Add support for Marvell 88E6320 and 88E6321 MV88E6320 and MV88E6321 are largely compatible to MV886352, but are members of a different chip family. Signed-off-by: Aleksey S. Kazantsev <ioctl@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 986ca37eaedc9bc3045a91cc32e6e7427bd87b5d Merge: 1007f59 b20a3fa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 9 14:22:53 2015 -0700 Merge branch 'tcp-in-slow-start' Yuchung Cheng says: ==================== tcp: fixes some congestion control corner cases This patch series fixes corner cases of TCP congestion control. First issue is to avoid continuing slow start when cwnd reaches ssthresh. Second issue is incorrectly processing order of congestion state and cwnd update when entering fast recovery or undoing cwnd. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b20a3fa30a281b52b2576b509efbe5cd47a5a79b Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Thu Jul 9 13:16:31 2015 -0700 tcp: update congestion state first before raising cwnd The congestion state and cwnd can be updated in the wrong order. For example, upon receiving a dubious ACK, we incorrectly raise the cwnd first (tcp_may_raise_cwnd()/tcp_cong_avoid()) because the state is still Open, then enter recovery state to reduce cwnd. For another example, if the ACK indicates spurious timeout or retransmits, we first revert the cwnd reduction and congestion state back to Open state. But we don't raise the cwnd even though the ACK does not indicate any congestion. To fix this problem we should first call tcp_fastretrans_alert() to process the dubious ACK and update the congestion state, then call tcp_may_raise_cwnd() that raises cwnd based on the current state. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76174004a0f19785a328f40388e87e982bbf69b9 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Thu Jul 9 13:16:30 2015 -0700 tcp: do not slow start when cwnd equals ssthresh In the original design slow start is only used to raise cwnd when cwnd is stricly below ssthresh. It makes little sense to slow start when cwnd == ssthresh: especially when hystart has set ssthresh in the initial ramp, or after recovery when cwnd resets to ssthresh. Not doing so will also help reduce the buffer bloat slightly. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 071d5080e33d6f24139e4213c2d9f97a2c21b602 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Thu Jul 9 13:16:29 2015 -0700 tcp: add tcp_in_slow_start helper Add a helper to test the slow start condition in various congestion control modules and other places. This is to prepare a slight improvement in policy as to exactly when to slow start. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1007f59dce53a22cba164f854d7bdc171c85dc79 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Jul 9 11:02:52 2015 -0700 net: skb_defer_rx_timestamp should check for phydev before setting up classify This change makes it so that the call skb_defer_rx_timestamp will first check for a phydev before going in and manipulating the skb->data and skb->len values. By doing this we can avoid unnecessary work on network devices that don't support phydev. As a result we reduce the total instruction count needed to process this on most devices. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2251ae46af72d013a6a537e7681e94b18b63e332 Author: Jon Maxwell <jmaxwell37@xxxxxxxxx> Date: Wed Jul 8 10:12:28 2015 +1000 tcp: v1 always send a quick ack when quickacks are enabled V1 of this patch contains Eric Dumazet's suggestion to move the per dst RTAX_QUICKACK check into tcp_in_quickack_mode(). Thanks Eric. I ran some tests and after setting the "ip route change quickack 1" knob there were still many delayed ACKs sent. This occured because when icsk_ack.quick=0 the !icsk_ack.pingpong value is subsequently ignored as tcp_in_quickack_mode() checks both these values. The condition for a quick ack to trigger requires that both icsk_ack.quick != 0 and icsk_ack.pingpong=0. Currently only icsk_ack.pingpong is controlled by the knob. But the icsk_ack.quick value changes dynamically depending on heuristics. The crux of the matter is that delayed acks still cannot be entirely disabled even with the RTAX_QUICKACK per dst knob enabled. This patch ensures that a quick ack is always sent when the RTAX_QUICKACK per dst knob is turned on. The "ip route change quickack 1" knob was recently added to enable quickacks. It was modeled around the TCP_QUICKACK setsockopt() option. This issue is that even with "ip route change quickack 1" enabled we still see delayed ACKs under some conditions. It would be nice to be able to completely disable delayed ACKs. Here is an example: # netstat -s|grep dela 3 delayed acks sent For all routes enable the knob # ip route change quickack 1 Generate some traffic across a slow link and we still see the delayed acks. # netstat -s|grep dela 106 delayed acks sent 1 delayed acks further delayed because of locked socket The issue is that both the "ip route change quickack 1" knob and the TCP_QUICKACK option set the icsk_ack.pingpong variable to 0. However at the business end in the __tcp_ack_snd_check() routine, tcp_in_quickack_mode() checks that both icsk_ack.quick != 0 and icsk_ack.pingpong=0 in order to trigger a quickack. As icsk_ack.quick is determined by heuristics it can be 0. When that occurs the icsk_ack.pingpong value is ignored and a delayed ACK is sent regardless. This patch moves the RTAX_QUICKACK per dst check into the tcp_in_quickack_mode() routine which ensures that a quickack is always sent when the quickack knob is enabled for that dst. Signed-off-by: Jon Maxwell <jmaxwell37@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd760c498f009e2a6795952469af6f8e6edac05a Author: Daniel Grimshaw <grimshaw@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 10:44:51 2015 -0700 Documentation: filesystems: btrfs: Fixed typos and whitespace I am a high school student trying to become familiar with Linux kernel development. The btrfs documentation in Documentation/filesystems had a few typos and errors in whitespace. This patch corrects both of these. Signed-off-by: Daniel Grimshaw <grimshaw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d6eff078e0bf9f24dcc2c7fcdbdf26b57148b197 Author: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> Date: Wed Jul 8 21:12:32 2015 +0200 SubmittingPatches: fix typo From 7e0befc8e48a49e2ddf86bbd861027b14ea5a53d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hinderer?= <Sebastien.Hinderer@xxxxxxxxxxxx> Date: Wed, 8 Jul 2015 21:10:18 +0200 Subject: [PATCH] SubmittingPatches: fix typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Signed-off-by: Sébastien Hinderer <Sebastien.Hinderer@xxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d04df7325ac9def8c4a68b49822c1d0a0c5379c6 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Jul 8 16:25:21 2015 -0700 drm/i915: fbdev restore mode needs to invalidate frontbuffer This fbdev restore mode was another corner case that was now calling frontbuffer flip and flush and making we miss screen updates with PSR enabled. So let's also add the invalidate hack here while we don't have a reliable dirty fbdev op. v2: As pointed by Paulo: removed seg fault risk, used fb_helper when possible and put brackets on if. Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Testcase: igt/kms_fbcon_fbt/psr Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aba6da3e61779186a7bd45e2206d88524f422e5b Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 9 09:56:41 2015 -0700 drm/i915: fbdev_set_par reliably invalidating frontbuffer fbdev_set_par is called when fbcon is taking over control. In the past frontbuffer was being invalidated on set_to_gtt_domain, but it moved to set_domain fixing that case, but left this behind and broken in commit 031b698a77a70a6c394568034437b5486a44e868 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jun 26 19:35:16 2015 +0200 drm/i915: Unconditionally do fb tracking invalidate in set_domain Note that even before this commit it wasn't perfect since the invalidate was omitted if the fbcon was already in the GTT domain, which it usually was. Since we are also invalidating in other fbdev cases this one was masked here. At least until now that I found this corner case: On boot with plymouth doing a splash screen when returning to the console frontbuffer wans't being invalidated causing missed screen updates with PSR enabled. So this patch fixes this issue. v2: Make invalidate directly and unconditionally and fix commit message indicating the set_domain fix as pointed out by Daniel. v3: Remove unecessary if(obj) added by mistake Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> [danvet: Try to clarify commit message a bit and make it clear the referenced commit made this worse.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 97173eaf5f33b1e85efdb06d593d333480b60bf3 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Jul 7 16:28:55 2015 -0700 drm/i915: PSR: Increase idle_frames Idle frames the number of identical frames needed before panel can enter PSR. There are some panels that requires up to minimum of 4 idle frames available on the market. For these cases usually VBT should be used to configure the number of idle frames, but unfortunately this isn't always true and VBT isn't being set at all. Let's trust VBT when it is set + 1 and use minimum of 4 + 1 when VBT isn't set. "+1" covers the "of-by-one" case. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 09108b90f0404587b7afac64023ec11a7f1b1406 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Jul 7 16:28:54 2015 -0700 drm/i915: PSR: Remove Low Power HW tracking mask. By Spec we should only mask memup and hotplug detection for hardware tracking cases. However we always masked LPSP because with power well always enabled on audio PSR was never being activated and residency was always zeroed. Apparently audio driver is tying power well management and runtime PM for some reason. But with audio runtime PM working or with audio completely out of picture we should remove this mask, otherwise we have a high risk of miss screen updates as faced by Matthew. WARNING: With this patch if snd_intel_hda driver is running and not releasing power well properly PSR will constant Exit and Performance Counter will be 0. But the best thing of this patch is that with one more HW tracking working the risks of missed blank screen are minimized at most. This affects just core platforms where PSR exit are also helped by HW tracking: Haswell, Broadwell and Skylake for now. v2: Fix commit message explanation. It has nothing to do with runtime PM on i915 as previously advertised. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b6d30968d86c45a7bb599eaca13ff048d3fa576c Author: Anshul Garg <aksgarg1989@xxxxxxxxx> Date: Thu Jul 9 10:18:22 2015 -0700 Input: uinput - switch to using for_each_set_bit() Use for_each_set_bit to check for set bits in bitmap as it is more efficient and compact. Signed-off-by: Anshul Garg <aksgarg1989@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5d506a5ad4155e813d254d2f02ce17b58045423c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 9 16:48:50 2015 +0800 regulator: qcom_spmi-regulator: Use DIV_ROUND_UP instead of open-coded Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f3f6439d8635d783f145b321db3049369e745799 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Jul 9 16:35:28 2015 +0100 regulator: pwm-regulator: Small clean-ups Remove over-bracketing, use framework API to fetch PWM period and be more forthcoming that pwm_voltage_to_duty_cycle() actually returns duty cycle as a percentage, rather than a register value. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f747a1fe7848453957dbdf362a42d7a6735c6ff0 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Jul 9 16:35:27 2015 +0100 regulator: pwm-regulator: Remove obsoleted property In "[3d7ef30] regulator: pwm-regulator: Simplify voltage to duty-cycle call" we stopped using max_duty_cycle, so we can retire it from device data and DT. There is no need to deprecate this property, as it hasn't hit Mainline yet. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a505bfb10a0fc6f4342a2521b899d61ff2461e72 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Jul 9 16:35:26 2015 +0100 regulator: pwm-regulator: Ensure headings aren't confused with properties We're using capitalisation and removing the '-' to mitigate confusion. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e973e31a02c32fc830986e62f82e69934134f5ce Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Jul 9 21:38:55 2015 +0530 ASoC: Intel: Add DSP init and boot up functionality for SKL This patch adds code to enable, disable and boot DSP core. Also provide some helpers to reset and power up/down the core. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b81fd26359f04370f3c972652302717498f8790c Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Jul 9 21:38:54 2015 +0530 ASoC: Intel: Add Skylake IPC library This adds base SKL IPC library which uses common SST IPC lib. Here we add definition for IPC types, sending and receiving IPC messages from aDSP, handling interrupt, sending different types of messages etc Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d15b1ae17c79f682760483b56074e980720f52eb Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Jul 9 21:38:53 2015 +0530 ASoC: Intel: Add helper to update register bits with attr RWC For SKL IPC, we have some register bits with attribute RWC. So we need to force update them. Add helper to force update this type of registers bits. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7a2c52b61fd71eddda3385006962630444d15b9e Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Jul 9 21:38:52 2015 +0530 ASoC: Intel: Add helper to poll register for DSP status This patch adds helper to poll register for DSP status. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Kp, Jeeja <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cc2e26a7c57924b31e9c5ac7b3d0d814253c9285 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Jul 8 18:08:39 2015 -0300 drm/i915: fix intel_frontbuffer_flip documentation Reported by the kbuild test robot. Regression introduced by: commit fdbff9282c0f5f61ffc87d57461b04d943250910 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 11:23:24 2015 +0200 drm/i915: Clear fb_tracking.busy_bits also for synchronous flips (I reviewed this commit, so it's also my fault) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b6c2aa5187ac59c8c6728ae09934390c3757f2bf Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Jul 8 18:08:37 2015 -0300 drm/i915: intel_frontbuffer_flush can now be static So make it static. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 76f2e13d5597d72c4f88509d0d183e4a8512b01f Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Jul 8 18:08:38 2015 -0300 drm/i915: fix intel_fb_obj_flush documentation Reported by the kbuild test robot. Regression introduced by: commit de152b627eb3018de91ec5c5a50b38e17d80a88b Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Jul 7 16:28:51 2015 -0700 drm/i915: Add origin to frontbuffer tracking flush (I reviewed this commit, so it's also my fault) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 86c985883edeba570c9b6679827556bed2c6ecdc Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Jul 8 16:22:45 2015 -0700 drm/i915: dirty fb operation flushsing frontbuffer Let's do a frontbuffer flush on dirty fb. To be used for DIRTYFB drm ioctl. This patch solves the biggest PSR known issue, that is missed screen updates during boot, mainly when there is a splash screen involved like Plymouth. Previously PSR was being invalidated by fbdev and Plymounth was taking control with PSR yet invalidated and could get screen updates normally. However with some atomic modeset changes Pymouth modeset over ioctl was now causing frontbuffer flushes making PSR gets back to work while it cannot track the screen updates and exit properly. By adding this flush on dirtyfb we properly track frontbuffer writes and properly exit PSR. Actually all mmap_wc users should call this dirty callback in order to have a proper frontbuffer tracking. In the future it can be extended to return 0 if the whole screen has being flushed or the number of rects flushed as Chris suggested. v2: Remove ORIGIN_FB_DIRTY and use ORIGIN_GTT instead since dirty callback is just called after few screen updates and not on everyone as pointed by Daniel. v3: Use flush instead of invalidate since flush means invalidate + flush and dirty means drawn had finished and it can be flushed. v4: Remove PSR from subject since it is purely frontbuffer tracking change and that can be useful for FBC as well. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> [danvet: Fix alignment as spotted by Paulo.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 169de1316c1e69ad169d81c60549479640461630 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Jul 8 16:21:31 2015 -0700 drm/i915: PSR: Flush means invalidate + flush Since flush actually means invalidate + flush we need to force psr exit on PSR flush. On Core platforms there is no way to disable hw tracking and do the pure sw tracking so we simulate it by fully disable psr and reschedule a enable back. So a good idea is to minimize sequential disable/enable in cases we know that HW tracking like when flush has been originated by a flip. Also flip had just invalidated it already. It also uses origin to minimize the a bit the amount of disable/enabled, mainly when flip already had invalidated. With this patch in place it is possible to do a flush on dirty areas properly in a following patch. v2: Remove duplicated exit on HSW+Sprites as pointed out by Paulo. Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit adfe5f267dd005d0bbe8d71820a7fa38945d08bd Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:38:41 2015 +0200 ARM: mvebu: update mvebu_v7_defconfig with features needed for Armada 388 GP The Armada 388 GP board has the following hardware features that were not enabled in mvebu_v7_defconfig: * An AT24 I2C EEPROM (also used by armada-xp-lenovo-ix4-300d) * A PCA9555 I2C GPIO expander * Several fixed regulators Therefore, this commit adds the necessary options to mvebu_v7_defconfig. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 7e5308be4c0747e328d03f3daa46aaa5eaf7714f Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:38:40 2015 +0200 ARM: mvebu: update EEPROM description of Armada 388 GP Contrary to what the Device Tree indicates, the EEPROM at 0x54 is not populated, so we get rid of this comment. However, there is an EEPROM at 0x57, so we add support for this AT24C64 EEPROM: $ hexdump -C /sys/bus/i2c/devices/0-0057/eeprom 00000000 0c ff f3 ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00002000 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit b5999dcbdb96570c130772ac2055a4d34ec8b3d7 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:38:39 2015 +0200 ARM: mvebu: fix description of pwr-sata0 regulator on Armada 388 GP This regulator was lacking the reference to the GPIO that controls it, and the regulator-min-microvolt and regulator-max-microvolt properties. Thanks to this commit, the pwr-sata0 regulator now looks more like the other pwr-sata{1,2,3} regulators in the same Device Tree, with of course the exception of a different GPIO reference. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit c43379e150aa335b447f14e55cefd8f1c405cb5f Author: Roger Shimizu <rogershimizu@xxxxxxxxx> Date: Tue Jun 23 00:02:30 2015 +0900 ARM: dts: add buffalo linkstation ls-wvl/vl Add dts file to support Buffalo Linkstation LS-WVL and LS-VL, which are 3.5" HDD NAS in 2-bay and 1-bay respectively. [gregory.clement@xxxxxxxxxxxxxxxxxx: fix typo in pmx-led-function-red] Signed-off-by: Roger Shimizu <rogershimizu@xxxxxxxxx> Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@xxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 1055e0687f581cf988bb2239a00d1396e18ef114 Author: Chad Versace <chad.versace@xxxxxxxxx> Date: Thu Jul 9 01:38:42 2015 -0700 drm/fourcc: Add formats R8, RG88, GR88 The Kodi/XBMC developers want to transcode NV12 to RGB with OpenGL shaders, importing the two source planes through EGL_EXT_image_dma_buf_import. That requires importing the Y plane as an R8 EGLImage and the UV plane as either an RG88 or GR88 EGLImage. CC: Peter Frühberger <peter.fruehberger@xxxxxxxxx> Cc: Rainer Hochecker <rainer.hochecker@xxxxxxxxxxxxx> Cc: Benjamin Widawsky <benjamin.widawsky@xxxxxxxxx> Reviewed-by: Pekka Paalanen <pekka.paalanen@xxxxxxxxxxxxxxx> Signed-off-by: Chad Versace <chad.versace@xxxxxxxxx> commit e54e4b1b622e534381b422b8a80a21453dd6f644 Author: Roger Shimizu <rogershimizu@xxxxxxxxx> Date: Tue Jun 23 00:00:16 2015 +0900 ARM: dts: add buffalo linkstation ls-wxl/wsxl Add dts file to support Buffalo Linkstation LS-WXL and LS-WSXL, which are 2-bay NAS with 3.5" and 2.5" HDD respectively. Signed-off-by: Roger Shimizu <rogershimizu@xxxxxxxxx> Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@xxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 67e123ff0e9a71fcf19f83827d59f73076f5bd1a Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 08:08:15 2015 +0200 HID: wacom: Delete unnecessary checks before the function call "input_free_device" The input_free_device() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit c8f5a878e55459b78bac273f6492bbc91475beb5 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 11 13:51:12 2015 +0200 ARM: mvebu: use DT properties to fine-tune the L2 configuration In order to optimize the L2 cache performance, this commit adjusts the configuration of the L2 on the Cortex-A9 based Marvell EBU processors (Armada 375, 38x and 39x), using the appropriate DT properties. We enable double linefill, incr double linefill, data prefetch and disable double linefill on wrap. This matches the configuration that was fine tuned in the Marvell BSP. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 449e1d649c52a80db73dd313dce92d6e191b801b Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 14:12:21 2015 +0200 ARM: mvebu: use armada-380-xor on Armada 38x and 39x The Armada 38x and 39x SoC support have an updated XOR hardware block compared to previous SoCs. These features can be enabled by using the 'armada-380-xor' compatible string, available since commit 6f166312c6ea ("dmaengine: mv_xor: add support for a38x command in descriptor mode"). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 0925636042170e0b6716cd86635899c5f4258f69 Author: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Date: Mon Jul 6 16:48:31 2015 -0700 HID: rmi: Disable scanning if the device is not a wake source Some touchpads are configured with firmware which continues to scan for fingers at a minimal scan rate even after receiving the HID power sleep command. This allows a finger touching the touchpad to genrate a wake event. This patch ensures that scanning is disabled if the touchpad is not a wake source and ensures scanning is enabled on resume. Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 24d9b755ab2b44ec56723cd8e6b578985a1f1c76 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 21:26:02 2015 +0200 ALSA: hda: Delete an unnecessary check before the function call "kobject_put" The kobject_put() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7a1436d58027f84ae2167b5ec359c15cb1d80837 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Jun 14 19:01:30 2015 -0700 ARM: orion5x: Use vsprintf %pM extension Format mac addresses with the normal kernel extension. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a17683ba3d240612ef52bcbf7f4db91f1e457735 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 12 15:38:34 2015 +0200 ARM: mvebu: add missing newline at end of messages Commit 548ae94c1cc7f ("ARM: mvebu: Disable CPU Idle on Armada 38x") added two new pr_warn() messages in mach-mvebu/pmsu.c. However, these messages lack the final new line, causing the next message to be displayed on the same line. This commit adds the missing ending newlines. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 5ddfb12e90c73cf86881345be422e09c367f6981 Author: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 11:17:39 2015 -0700 HID: cp2112: support large i2c transfers cp2112_i2c_xfer() only reads up to 61 bytes, returning EIO on longers reads. The fix is to wrap a loop around cp2112_read() to pick up all the returned data. Signed-off-by: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 6adcafae6ed20fe380addc8e7c628e529751ade3 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Jun 26 10:59:49 2015 +0800 ASoC: add rt298 codec driver It is the initial version of ALC298 codec driver. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0505700104cd98da6d11c01b8063cffdb1b8d7d7 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Jul 9 15:20:11 2015 +0530 ASoC: Intel: Add support for decoupled mode in skl driver Decoupled mode is where audio link is broken to frontend HDA and backend (hda/i2s/dmic/hdmi) links. This patch adds support for decoupled mode and then adds dais, dai ops for be/fe cpu dais and interrupt handler change to support decoupled mode Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eb965e3686f5cea669444d120f3723efa88ed56a Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Jul 9 15:20:10 2015 +0530 ASoC: Intel: Add makefile support for SKL driver This adds makefile and Kconfig to enable Skylake HD audio PCM driver Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d8c2dab8381d58376d127c64553e499569f4d22a Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Jul 9 15:20:09 2015 +0530 ASoC: Intel: Add Skylake HDA audio driver This patch follows up by adding the HDA controller operations. This code is mostly derived from Intel HDA PCI driver without legacy bits Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a40e693c7f5ee3a1a7d1f6aef63c5dadbec64e10 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Jul 9 15:20:08 2015 +0530 ASoC: Intel: Add Skylake HDA platform driver This patch starts to add the Skylake HDA platform driver by defining SoC CPU dais, DMA driver ops and implements ALSA operations Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5ed68f0a28f96c5127246d1743dd57b58a090f07 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 9 11:28:46 2015 +0100 ASoC: arizona: Use the more idiomatic params_width Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c53765247ed7461ebe4e448af03c051bf6edaf48 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Tue Jun 23 21:41:43 2015 +0200 ARM: dts: A10s-OLinuxIno: Add a node for axp152 pmic Add a node for axp152 pmic used on the A10s-OLinuxIno SBC. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 98a4707ada2be6b168a3490c3addc2690927a111 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Tue Jun 23 21:41:42 2015 +0200 ARM: dts: axp152: Add a dtsi file for the axp152 pmic Add a dtsi file for the axp152 pmic, this mirrors the way things are handled for the axp202 pmic. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 351265f46291e879d0cd4e416ebcbdd7f49c9453 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Thu Jun 18 14:08:01 2015 +0800 ARM: imx_v6_v7_defconfig: build in audio driver Add ASRC, FSL_ASOC_CARD, CS42xx8 support Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 77a58c741df1b91258cc4df3e6893ff61e8293a4 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Jul 8 16:06:47 2015 -0700 rocker: add change MTU support Implement ndo_change_mtu: on MTU change, reallocate Rx ring bufs and signal HW of new port MTU value. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Tested-by: Simon Horman <simon.horman@xxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 910be1abbec9cac102fde8ab6dd68a9b410ca441 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Jul 9 10:25:39 2015 +0530 neterion: s2io: Use module_pci_driver Use module_pci_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return pci_register_driver(&x); } @b depends on a@ identifier e, a.x; statement S; @@ -static e(...) { -pci_unregister_driver(&x); -DBG_PRINT(INIT_DBG,"S"); - } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_pci_driver; @@ -module_exit(e); +module_pci_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71d3c0b49a72fd092b7490b923d1721ceced8170 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Jul 9 14:55:46 2015 +0530 cxgb4vf: Fix check to use new User Doorbell mechanism If we don't have access to the new User GTS (T5+), use the old doorbell mechanism; otherwise use the new BAR2 mechanism. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 948cea14487af7d6e8b8007dc24a5361869f410b Author: Anshul Garg <aksgarg1989@xxxxxxxxx> Date: Wed Jul 8 16:43:20 2015 -0700 Input: ff-core - use for_each_set_bit where appropriate Use for_each_set_bit to check for set bits in bitmap as it is more efficient than checking individual bits. Signed-off-by: Anshul Garg <aksgarg1989@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f23487cdbe3bd002e99f41250143014e522c34de Author: Anshul Garg <aksgarg1989@xxxxxxxxx> Date: Wed Jul 8 16:41:39 2015 -0700 Input: joydev - use for_each_set_bit where appropriate Use for_each_set_bit to check for set bits in bitmap as it is more efficient than checking individual bits. Signed-off-by: Anshul Garg <aksgarg1989@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ec0843fabe29ad44bdaaa16c8d6cda4537716de5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 8 08:25:50 2015 -0700 Input: drv260x/drv2665/drv2667 - constify reg_default tables These reg_default tables are not modified after initialized, so make them const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2d53809594afaf2ae66a90a3142c1b702fd3bcea Author: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Date: Mon Jul 6 15:57:44 2015 -0700 Input: zforce_ts - convert to use the gpiod interface Use the new GPIO descriptor interface to handle the zForce GPIOs. This simplifies the code and allows transparently handle GPIO polarity, as specified in device tree data. Also switch to using gpio_{set|get}_value_cansleep() since none of the callers is in atomic context and cansleep variant allows more GPIO controllers to be used with the touchscreen. Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f5bbc91c88c18a4c518f066cc4e784d7b5fb9735 Author: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Date: Tue Jul 7 15:25:53 2015 +0300 power_supply: rt9455_charger: Properly notify userspace about charging events Charging events this patch refers to are: - charger is connected to/disconnected from the power source - battery is reconnected to the charger, after it was absent. When the charger is connected to/disconnected from the power source, CHRVPI interrupt occurs and PWR_RDY bit is either set or cleared. PWR_RDY bit is updated after 1-2 seconds CHRVPI interrupt has occurred. power_supply_changed() should be called after PWR_RDY bit is updated. /sys/class/power_supply/rt9455-charger/online file displays the value of PWR_RDY bit. This way, if the userspace is notified that a charging event has occurred and the userspace reads /sys/class/power_supply/rt9455-charger/online file, this file is properly updated when the userspace reads it. This is the reason why power_supply_changed() is called in rt9455_pwr_rdy_work_callback(), instead of being called in interrupt handler. Since no interrupt is triggered when the battery is reconnected to the charger, the userspace is never notified that the battery is reconnected. This is why power_supply_changed() is called in rt9455_max_charging_time_work_callback(), so that the userspace is notified that the battery is reconnected. Signed-off-by: Anda-Maria Nicolae <anda-maria.nicolae@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ba29becd770ffec90f3af896daffac6b9acec608 Author: Xi Wang <xi.wang@xxxxxxxxx> Date: Wed Jul 8 14:00:56 2015 -0700 test_bpf: extend tests for 32-bit endianness conversion Currently "ALU_END_FROM_BE 32" and "ALU_END_FROM_LE 32" do not test if the upper bits of the result are zeros (the arm64 JIT had such bugs). Extend the two tests to catch this. Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Xi Wang <xi.wang@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca661a28887714ee2ebdcfe9e89fa2528fcbfbbf Merge: b11b6ed b766064 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 8 16:13:55 2015 -0700 Merge branch 'cxgb4-t6' Hariprasad Shenai says: ==================== Cleanup, T6 changes and register range update This patch series adds the following: Don't use entire L2T table, update register ranges for T6 adapter, read stats for only available channels for T6 and enable cim_la dump for T6 adapter also. This patch series has been created against net-next tree and includes patches on cxgb4 driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7660642b77b6aa7fae6c0f832d0290af331bd7e Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Jul 7 21:49:21 2015 +0530 cxgb4: Enable cim_la dump to support T6 Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df459ebc33324e6e2932b0236a7e1a53a14182b2 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Jul 7 21:49:20 2015 +0530 cxgb4: Read stats for only available channels Updating the driver to read the stats of only available channels. T6 and later has only 2 channels Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b4e83e133c7e610fdb6063f64bd404fc0836fe0 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Jul 7 21:49:19 2015 +0530 cxgb4: Update register ranges for T6 adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5be9ed8d49754c22fffd8ddd9cb751d591f31a08 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Tue Jul 7 21:49:18 2015 +0530 cxgb4: Don't use entire L2T table, use only its slice The driver was retrieving the parameters for the bounds of its slice of the L2T from the firmware and then throwing those away and using the entire table. This corrects that problem. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b11b6ed0f97f900f5c4bba9b3abcd2d2dab73ca7 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Jul 7 12:32:54 2015 +0530 net: ec_bhf: Use module_pci_driver Use module_pci_driver for drivers whose init and exit functions only register and unregister, respectively. A simplified version of the Coccinelle semantic patch that performs this transformation is as follows: @a@ identifier f, x; @@ -static f(...) { return pci_register_driver(&x); } @b depends on a@ identifier e, a.x; @@ -static e(...) { pci_unregister_driver(&x); } @c depends on a && b@ identifier a.f; declarer name module_init; @@ -module_init(f); @d depends on a && b && c@ identifier b.e, a.x; declarer name module_exit; declarer name module_pci_driver; @@ -module_exit(e); +module_pci_driver(x); Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9cbce34c34bcc05ea0dd78c8999bfe88b5b6b86 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Mon Jul 6 14:11:37 2015 -0700 hv_netvsc: Add support to set MTU reservation from guest side When packet encapsulation is in use, the MTU needs to be reduced for headroom reservation. The existing code takes the updated MTU value only from the host side. But vSwitch extensions, such as Open vSwitch, require the flexibility to change the MTU to different values from within a guest during the lifecycle of a vNIC, when the encapsulation protocol is changed. The patch supports this kind of MTU changes. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e29e21a9bbfb2204bab875f0ef6dbaed66592e7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 22:05:28 2015 +0200 ifb: add multiqueue operation Add multiqueue capabilities to ifb netdevice. This removes last bottleneck for ingress when mq qdisc can be used to shard load from multiple RX queues on physical device. Tested: # netem based setup, installed at receiver side ETH=eth0 IFB=ifb10 EST="est 1sec 4sec" # Optional rate estimator RTT_HALF=2ms #REORDER=20us #LOSS="loss 1" TXQ=8 ip link add ifb10 numtxqueues $TXQ type ifb ip link set dev $IFB up tc qdisc add dev $ETH ingress 2>/dev/null tc filter add dev $ETH parent ffff: \ protocol ip u32 match u32 0 0 flowid 1:1 \ action mirred egress redirect dev $IFB tc qdisc del dev $IFB root 2>/dev/null tc qdisc add dev $IFB root handle 1: mq for i in `seq 1 $TXQ` do slot=$( printf %x $(( i )) ) tc qd add dev $IFB parent 1:$slot $EST netem \ limit 100000 delay $RTT_HALF $REORDER $LOSS done lpaa24:~# tc -s -d qd sh dev ifb10 qdisc mq 1: root Sent 316544766 bytes 5265927 pkt (dropped 0, overlimits 0 requeues 0) backlog 98880b 1648p requeues 0 qdisc netem 8002: parent 1:1 limit 100000 delay 2.0ms Sent 39601416 bytes 658721 pkt (dropped 0, overlimits 0 requeues 0) rate 38235Kbit 79657pps backlog 12240b 204p requeues 0 qdisc netem 8003: parent 1:2 limit 100000 delay 2.0ms Sent 39472866 bytes 657227 pkt (dropped 0, overlimits 0 requeues 0) rate 38234Kbit 79655pps backlog 10620b 176p requeues 0 qdisc netem 8004: parent 1:3 limit 100000 delay 2.0ms Sent 39703417 bytes 659699 pkt (dropped 0, overlimits 0 requeues 0) rate 38320Kbit 79831pps backlog 12780b 213p requeues 0 qdisc netem 8005: parent 1:4 limit 100000 delay 2.0ms Sent 39565149 bytes 658011 pkt (dropped 0, overlimits 0 requeues 0) rate 38174Kbit 79530pps backlog 11880b 198p requeues 0 qdisc netem 8006: parent 1:5 limit 100000 delay 2.0ms Sent 39506078 bytes 657354 pkt (dropped 0, overlimits 0 requeues 0) rate 38195Kbit 79571pps backlog 12480b 208p requeues 0 qdisc netem 8007: parent 1:6 limit 100000 delay 2.0ms Sent 39675994 bytes 658849 pkt (dropped 0, overlimits 0 requeues 0) rate 38323Kbit 79838pps backlog 12600b 210p requeues 0 qdisc netem 8008: parent 1:7 limit 100000 delay 2.0ms Sent 39532042 bytes 658367 pkt (dropped 0, overlimits 0 requeues 0) rate 38177Kbit 79536pps backlog 13140b 219p requeues 0 qdisc netem 8009: parent 1:8 limit 100000 delay 2.0ms Sent 39488164 bytes 657705 pkt (dropped 0, overlimits 0 requeues 0) rate 38192Kbit 79568pps backlog 13Kb 222p requeues 0 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: John Fastabend <john.fastabend@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81aa507981bd785da84ac8bbed942495257dcaa3 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Mon Jul 6 22:38:34 2015 +0530 cxgb4: Add PCI device ids for few more T5 and T6 adapters Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0beb44b0653978c0f180f902fb93a1b0b61833b8 Author: Carol Soto <clsoto@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 09:20:19 2015 -0500 net/mlx4_core: Add extra check for total vfs for SRIOV Add extra check for total vfs for SRIOV to check if that value is bigger than total vfs in pci SRIOV capabalities. Fix a check and print of the number of maximum vfs that hw can handle. Fix a check and print of the number of maximum vfs per port that driver can handle. Signed-off-by: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d912557b346099584bbbfa8d3c1e101c46e33b59 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 16:20:07 2015 +0200 samples: bpf: enable trace samples for s390x The trace bpf samples do not compile on s390x because they use x86 specific fields from the "pt_regs" structure. Fix this and access the fields via new PT_REGS macros. Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7baaa9092dedad5f670a7b1716b2ce9e1175ba02 Author: Punnaiah Choudary Kalluri <punnaiah.choudary.kalluri@xxxxxxxxxx> Date: Mon Jul 6 10:02:53 2015 +0530 net: macb: Add SG support for Zynq SOC family Enable SG support for Zynq SOC family devices. Signed-off-by: Punnaiah Choudary Kalluri <punnaia@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ab13b27699e5a71cca20d301c3c424653bd0841 Author: Li, Liang Z <liang.z.li@xxxxxxxxx> Date: Mon Jul 6 08:42:56 2015 +0800 xen-netback: remove duplicated function definition There are two duplicated xenvif_zerocopy_callback() definitions. Remove one of them. Signed-off-by: Liang Li <liang.z.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8685255ec50d472deb4db1b8bab3609092944cc7 Merge: 0a6d424 2ee22a9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 8 13:50:42 2015 -0700 Merge branch 'sch_act_lockless' Eric Dumazet says: ==================== net_sched: act: lockless operation As mentioned by Alexei last week in Budapest, it is a bit weird to take a spinlock in order to drop a packet in a tc filter... Lets add percpu infra for tc actions and use it for gact & mirred. Before changes, my host with 8 RX queues was handling 5 Mpps with gact, and more than 11 Mpps after. Mirred change is not yet visible if ifb+qdisc is used, as ifb is not yet multi queue enabled, but is a step forward. ==================== Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ee22a90c7afac265bb6f7abea610b938195e2b8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:09 2015 -0700 net_sched: act_mirred: remove spinlock in fast path Like act_gact, act_mirred can be lockless in packet processing 1) Use percpu stats 2) update lastuse only every clock tick to avoid false sharing 3) use rcu to protect tcfm_dev 4) Remove spinlock usage, as it is no longer needed. Next step : add multi queue capability to ifb device Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: John Fastabend <john.fastabend@xxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56e5d1ca183d8616fab377d7d466c244b4dbb3b9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:08 2015 -0700 net_sched: act_gact: remove spinlock in fast path Final step for gact RCU operation : 1) Use percpu stats 2) update lastuse only every clock tick to avoid false sharing 3) Remove spinlock acquisition, as it is no longer needed. Since this is the last contended lock in packet RX when tc gact is used, this gives impressive gain. My host with 8 RX queues was handling 5 Mpps before the patch, and more than 11 Mpps after patch. Tested: On receiver : dev=eth0 tc qdisc del dev $dev ingress 2>/dev/null tc qdisc add dev $dev ingress tc filter del dev $dev root pref 10 2>/dev/null tc filter del dev $dev pref 10 2>/dev/null tc filter add dev $dev est 1sec 4sec parent ffff: protocol ip prio 1 \ u32 match ip src 7.0.0.0/8 flowid 1:15 action drop Sender sends packets flood from 7/8 network Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f2ae965b7ef4f4ddab6110f06388e270723d694 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:07 2015 -0700 net_sched: act_gact: read tcfg_ptype once Third step for gact RCU operation : Following patch will get rid of spinlock protection, so we need to read tcfg_ptype once. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc6510a9504fd3c03d76bd68d99653148342eecc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:06 2015 -0700 net_sched: act_gact: use a separate packet counters for gact_determ() Second step for gact RCU operation : We want to get rid of the spinlock protecting gact operations. Stats (packets/bytes) will soon be per cpu. gact_determ() would not work without a central packet counter, so lets add it for this mode. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cef5ecf96b28dc91c4e9f398a336c578fb9e1a0c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:05 2015 -0700 net_sched: act_gact: make tcfg_pval non zero First step for gact RCU operation : Instead of testing if tcfg_pval is zero or not, just make it 1. No change in behavior, but slightly faster code. The smp_rmb()/smp_wmb() barriers, while not strictly needed at this stage are added for upcoming spinlock removal. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 519c818e8fb646eef1e8bfedd18519bec47bc9a9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:04 2015 -0700 net: sched: add percpu stats to actions Reuse existing percpu infrastructure John Fastabend added for qdisc. This patch adds a new cpustats parameter to tcf_hash_create() and all actions pass false, meaning this patch should have no effect yet. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24ea591d2201c3257d666466e8fac50a6cf3c52f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Jul 6 05:18:03 2015 -0700 net: sched: extend percpu stats helpers qdisc_bstats_update_cpu() and other helpers were added to support percpu stats for qdisc. We want to add percpu stats for tc action, so this patch add common helpers. qdisc_bstats_update_cpu() is renamed to qdisc_bstats_cpu_update() qdisc_qstats_drop_cpu() is renamed to qdisc_qstats_cpu_drop() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a6d4245691173eb953c440b8c6fc0b1688e6b25 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Jul 2 13:24:44 2015 +0200 mlx4: TCP/UDP packets have L4 hash Mellanox driver has the knowledge if rxhash is a L4 hash, if it receives a non fragmented TCP or UDP frame and NETIF_F_RXCSUM is enabled on netdev. ip_summed value is CHECKSUM_UNNECESSARY in this case. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Amir Vadai <amirv@xxxxxxxxxxxx> Cc: Ido Shamay <idos@xxxxxxxxxxxx> Acked-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71c3353775677bee531bc9435f8f7481a4d6790e Merge: fda8b18 3759824 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 8 13:29:46 2015 -0700 Merge branch 'tcp-policer-drops' Yuchung Cheng says: ==================== tcp: reducing lost retransmits in recovery This patch series reduces lost retransmits in recovery, in particular when dealing with traffic policers. The main problem is that slow start in recovery under policing can cause massive lost and retransmit storms: any excess sending rate turns into drops. The solution is to avoid doing slow start when lost retransmit is detected and use packet conservation instead. On networks with traffic policers the patches have lowered the TCP loss rates by ~20% from Google servers without latency regressions. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3759824da87b30ce7a35b4873b62b0ba38905ef5 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Wed Jul 1 14:11:15 2015 -0700 tcp: PRR uses CRB mode by default and SS mode conditionally PRR slow start is often too aggressive especially when drops are caused by traffic policers. The policers mainly use token bucket to enforce the rate so sending (twice) faster than the delivery rate causes excessive drops. This patch changes PRR to the conservative reduction bound (CRB) mode in RFC 6937 by default. CRB follows the packet conservation rule to send at most the delivery rate by default. But if many packets are lost and the pipe is empty, CRB may take N round trips to repair N losses. We conditionally turn on slow start mode if all these conditions are made to speed up the recovery: 1) on the second round or later in recovery 2) retransmission sent in the previous round is delivered on this ACK 3) no retransmission is marked lost on this ACK By using packet conservation by default, this change reduces the loss retransmits signicantly on networks that deploy traffic policers, up to 20% reduction of overall loss rate. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 291a00d1a70f96b393da9ac90c58a82bc7949fc8 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Wed Jul 1 14:11:14 2015 -0700 tcp: reduce cwnd if retransmit is lost in CA_Loss If the retransmission in CA_Loss is lost again, we should not continue to slow start or raise cwnd in congestion avoidance mode. Instead we should enter fast recovery and use PRR to reduce cwnd, following the principle in RFC5681: "... or the loss of a retransmission, should be taken as two indications of congestion and, therefore, cwnd (and ssthresh) MUST be lowered twice in this case." This is especially important to reduce loss when the CA_Loss state was caused by a traffic policer dropping the entire inflight. The CA_Loss state has a problem where a loss of L packets causes the sender to send a burst of L packets. So a policer that's dropping most packets in a given RTT can cause a huge retransmit storm. By contrast, PRR includes logic to bound the number of outbound packets that result from a given ACK. So switching to CA_Recovery on lost retransmits in CA_Loss avoids this retransmit storm problem when in CA_Loss. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d1acd31883d78f905a930493ff145ca4a25ad680 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 15:28:14 2015 +0100 ASoC: wm5110: Add special DRE on/off handling for the headphone path For the best performance the headphone path enable/disable must be handled specially for the situations of DRE on and DRE off. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 81207880cef207cd89db863f9aa1d65f22b4f2a2 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 15:28:13 2015 +0100 mfd: wm5110: Add register patch for rev E and above Add a register patch for rev E and above that configures the location of some write sequences to assist with the headphone enables. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f089d4d20fcbcf16a62ef3b4b57f41ecf59a5d83 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 15:28:12 2015 +0100 mfd: wm5110: Add registers for custom write sequence triggers This register will be needed as part of some additional support for the headphone path on wm5110, so this patch adds the register and sets up its regmap config. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f7f06b87acd2e017d6c536f59e10045dd8d0578 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Tue Jul 7 10:55:28 2015 -0700 x86/entry/64: Fix IRQ state confusion and related warning on compat syscalls with CONFIG_AUDITSYSCALL=n int_ret_from_sys_call now expects IRQs to be enabled. I got this right in the real sysexit_audit and sysretl_audit asm paths, but I missed it in the #defined-away versions when CONFIG_AUDITSYSCALL=n. This is a straightforward fix for CONFIG_AUDITSYSCALL=n Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 29ea1b258b98 ("x86/entry/64: Migrate 64-bit and compat syscalls to the new exit handlers and remove old assembly code") Link: http://lkml.kernel.org/r/25cf0a01e01c6008118dd8f8d9f043020416700c.1436291493.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit abd31b32dde4683df6fd0439caa314aafd751698 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jul 8 20:47:44 2015 +0200 ASoC: Use card field to indicate whether a component is bound Use the card field of a component to indicate whether it is bound or not. This makes a certain sense given that the field contains the card the component is bound to and a component can only be bound to one card at a time. And it also requires to unset the card field when the component is unbound from the card. This makes the probded flag redundant and it can be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1b7c12316982f74a5b8e7704c24cf5524d0723a3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Jul 8 20:47:43 2015 +0200 ASoC: Prevent components from being bound to multiple cards A component can only be bound to a single card at a time. Binding it to card while it is already bound to another will result in undefined behavior. As the undefined behavior might only manifest itself later on it is not necessarily always straight forward to find the cause. To prevent this add a check that refuses to bind a component to multiple cards as well as prints a error describing the problem. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f7c765e604a22dd898ac414d59b5a8edfe428b65 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Jul 3 16:04:04 2015 +0530 ASoC: Intel: Reorganize the common dsp structure We will add SKL platform data. So organizing common and platform specific data helps. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3582f9ae07613302eb2967704ed2cef741db9a8d Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Jul 3 16:04:03 2015 +0530 ASoC: Intel: Define SKL ADSP IPC and general purpose registers Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Kp, Jeeja <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca94085139d4874701af4f149bebfb05e105b245 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 2 21:29:01 2015 +0800 ASoC: wm8996: Remove spurious IRQF_ONESHOT flag This reverts ed043aebe6ec ("ASoC: wm8996: Pass the IRQF_ONESHOT flag"). The coccinelle warnings is false positive because the original code does set IRQF_ONESHOT by "trigger |= IRQF_ONESHOT;". Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit efc04ca22303dee1f34d038af3addc13621bed58 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 2 21:27:48 2015 +0800 ASoC: wm5100: Remove spurious IRQF_ONESHOT flag This reverts 3d907cc30d07 ("ASoC: wm5100: Pass the IRQF_ONESHOT flag"). The coccinelle warnings is false positive because the original code does set IRQF_ONESHOT by "trigger |= IRQF_ONESHOT;". Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 030e6ee241f0586308622bcdd273a317976b3169 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jul 2 21:26:44 2015 +0800 ASoC: wm0010: Remove spurious missing IRQF_ONESHOT This reverts 58d468328646 ("ASoC: wm0010: Add missing IRQF_ONESHOT"). The coccinelle warnings is false positive because the original code does set IRQF_ONESHOT by "trigger |= IRQF_ONESHOT;". Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5afdc5bf53995385b621361c976b8a29e07f701 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jun 28 11:40:22 2015 +0800 ASoC: rt286: Constify dmi_system_id table dmi_check_system() takes "const struct dmi_system_id *", so make the dmi_system_id table const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 47a7bfc2bc99625e376e59fb01abf779c2d8a7b0 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jun 19 23:55:31 2015 +0530 ASoC: intel - atom: fix sst_platform_compr_ops declaration Sparse complains that sst_platform_compr_ops should be static, but the declaration of this symbol was not correct so declare the symbol as extern in header file sound/soc/intel/atom/sst-mfld-platform-compress.c:257:22: warning: symbol 'sst_platform_compr_ops' was not declared. Should it be static? Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9569909f4dda3810be05223e4deb278b794f309b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jun 19 23:55:30 2015 +0530 ASoC: intel - atom: statify sst_slot_enum_info Sparse complains that sst_slot_enum_info should be static, so make it static sound/soc/intel/atom/sst-atom-controls.c:135:5: warning: symbol 'sst_slot_enum_info' was not declared. Should it be static? Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 13735d1cecec1b3825f6834c74e67f82ab8cfe68 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jun 19 23:55:28 2015 +0530 ASoC: intel - kconfig: remove SND_SOC_INTEL_SST prompt The SND_SOC_INTEL_SST is for common IPC lib and this should ideally be not selectable symbol but selected by respective machine driver So remove the prompt and get respective machines select it Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7dd6bd8926f3142a237316035e72676c0c5c026f Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Jun 19 23:55:27 2015 +0530 ASoC: intel: kconfig - Move DW_DMAC_CORE dependency to machines Some HSW and BYT machines depend on the DW_DMAC_CORE so they should have have depends on this symbol rather than common IPC lib as SKL onwards IPC lib is used but we don't depend on DW_DMAC_CORE Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 402f2a4f808a5d284de724689751dcd018835579 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 15:55:53 2015 -0300 ASoC: max98095: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cef6daa919c6912c4da629c3cee9c789f90583b1 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 15:55:52 2015 -0300 ASoC: wm8731: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 779ea47399bae5d9418451f5283a3b2e35869627 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 15:55:51 2015 -0300 ASoC: wm8904: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c4a99a4b4f6ef56e9c8182920680b84a7129ca80 Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Tue Jul 7 14:21:47 2015 -0700 ASoC: ts3a227e: do not report jack status when there is i2c read err After suspend -> resume the ts3a227e_interrupt sometimes comes before i2c controller resume is called .regmap_read will return incorrect status and report a wrong jack status.This patch will disable irq on suspend and enable irq again on the resume to make sure interrupt is coming after TI resumes. Also We should return if there is read err,the interrupt will come again since it is level triggered and we are not yet clear the interrupt. In addtion,cht_bsw_max98090_ti machine driver registered additional notifier base on jack event which will program the audio codec.there will be codec timeout err if such event occurs prior to i2c controller is resumed. Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit de152b627eb3018de91ec5c5a50b38e17d80a88b Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Tue Jul 7 16:28:51 2015 -0700 drm/i915: Add origin to frontbuffer tracking flush This will be useful to PSR and FBC once we start making dirty fb calls to also flush frontbuffer. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83b8a982b101c48fc025066a7b08beaf6fa756f0 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Wed Jul 8 10:27:05 2015 +0100 drm/i915: Update wa_ctx_emit() macro as per kernel coding guidelines wa_ctx_emit() depends on the name of a local variable; if the name of that variable is changed then we get compile errors. In this case it is unlikely to be changed as this macro is only used in this set of functions but Kernel coding guidelines doesn't recommend doing this. It was my mistake as I should have corrected it at the beginning but missed so correct this before there are more usages of this macro (Bob Beckett). https://www.kernel.org/doc/Documentation/CodingStyle, Chapter 12, "Things to avoid when using macros", point 2): " 2) macros that depend on having a local variable with a magic name: #define FOO(val) bar(index, val) might look like a good thing, but it's confusing as hell when one reads the code and it's prone to breakage from seemingly innocent changes. " v2: Optimization to avoid multiple evaluation of 'index' in the macro. Since we invoke it multiple times, compiler, if it can, should be able to coalesce them into a single condition and remove multiple WARN_ON checks (Chris). Suggested-by: Robert Beckett <robert.beckett@xxxxxxxxx> Cc: Robert Beckett <robert.beckett@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aaf5ec2e51ab1d9c5e962b4728a1107ed3ff7a3e Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Wed Jul 8 17:07:47 2015 +0530 drm/i915: Handle HPD when it has actually occurred Writing to PCH_PORT_HOTPLUG for each interrupt is not required. Handle it only if hpd has actually occurred like we handle other interrupts. v2: Make few variables local to if block (Ville) v3: Add check for ibx/cpt both (Ville). While at it, remove the redundant check for hotplug_trigger from pch_get_hpd_pins v4: Indentation (Ville) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d5878e6e2289418ba870db4afa9e1805e78eb8ee Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 15 14:42:25 2015 +0200 ARM: ep93xx: switch clockevent to timer 3 If we switch clock events to timer 3 we will have more bits to use and can sleep longer when using NO_HZ. Tested-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d118d977c19ef778c597473e1c4e53703681054a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 15 14:38:16 2015 +0200 ARM: ep93xx: use non-raw accessors for timer The timer has no business using __raw accessors, in this case the readl/writel makes perfect sense as the changes really need to hit these registers before we continue. Tested-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 000bc17817bfe9e7d1fd59cec9e95f6b3638872f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 15 14:34:03 2015 +0200 ARM: ep93xx: switch to GENERIC_CLOCKEVENTS This switches the EP93xx to use GENERIC_CLOCKEVENTS and CLKSRC_MMIO. Also implements a sched_clock() hook. Tested on the SIM.ONE. Use only oneshot events. Tested-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 361c81f996707e122bffe95c5a3e6c47611b8a29 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 15 13:15:26 2015 +0200 ARM: ep93xx: move timer to its own file This breaks the timer code out of the core file in preparation for refactoring. Tested-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit af4739c281621017a8a84dd6ba3471bba2dd6c6a Author: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Date: Tue Jul 7 21:58:02 2015 +0200 HID: i2c-hid: Call device suspend callback before disabling irq i2c-hid takes care of requesting and handling IRQs for HID devices which in turns might expect them to be always active when working in normal conditions. Hence, disabling IRQs before calling the suspend callbacks can potentially cause problems since device drivers might try to perform operations needing them. Fix this by disabling IRQs only after the suspend callbacks had been executed. Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit e33e640ad0b76151534a2b9387b98eb02d6ddda7 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:33:16 2015 +0000 pcmcia: sa11x0: convert memory allocation to devm_* API Convert the sa11x0 socket driver memory allocation to use devm_kzalloc() to simplify the cleanup path. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 72010aca55264cfe6516a955066c846d3885b0c6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Mar 26 10:22:20 2015 +0000 pcmcia: sa11x0: fix missing clk_put() in sa11x0 socket drivers Fix the lack of clk_put() in sa11xx_base.c's error cleanup paths by converting the driver to the devm_* API. Fixes: 86d88bfca475 ("ARM: 8247/2: pcmcia: sa1100: make use of device clock") Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8df5dd57fd2f4e7f02793457a3bd61e5d4a644d5 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:08 2015 -0300 drm/i915: move set_no_fbc_reason() call out of intel_fbc_find_crtc() So now all the calls are inside __intel_fbc_update(). Consistency! Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 232fd934a4b458e5a0dacdd17efc1faffb9df615 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:07 2015 -0300 drm/i915: extract FBC_MULTIPLE_PIPES check I have two separate refactor ideas that require extracting this to a separate function. I'm not sure which idea I'll end choosing, but since both will require extracting this function, let's do this now. Notice that this is just code moving. Any possible problems with the current multiple pipes check should be fixed in later commits. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8935108528194918966757fa00ac986176fe9497 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:06 2015 -0300 drm/i915: add FBC_IN_DBG_MASTER no_fbc_reason The poor in_dbg_master() check was the only one without a reason string. Give it a reason string so it won't feel excluded. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 220285f2281515f4e8a9ec7892f7de40d857c290 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:05 2015 -0300 drm/i915: use intel_crtc for the FBC functions This is all internal i915.ko work, let's start using intel_crtc for everything. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7733b49bb03ee10b8889f8f5edf11d755115b230 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:04 2015 -0300 drm/i915: use dev_priv for the FBC functions Because the cool kids use dev_priv and FBC wants to be cool too. We've been historically using struct drm_device on the FBC function arguments, but we only really need it for intel_vgpu_active(): we can use dev_priv everywhere else. So let's fully switch to dev_priv since I'm getting tired of adding "struct drm_device *dev = dev_priv->dev" everywhere. If I get a NACK here I'll propose the opposite: convert all the functions that currently take dev_priv to take dev. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ff2a31171016771829fd1689af65752175de1940 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jul 7 15:26:03 2015 -0300 drm/i915: move FBC vfuncs to struct i915_fbc Because it makes more sense there, IMHO. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 615322f6ac358f9c94b483d0a16f3f46fcb27b1c Author: Oliver Neukum <oneukum@xxxxxxx> Date: Mon Jun 29 11:10:41 2015 +0200 HID: usbhid: no flushing if device is already polled During open() it is unnecessary to wait for the device to flush stale inputs if the device is polled while closed due to a quirk or opening fails. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 21589ebda68172baeb03f35533ee2ec34543bf55 Author: Guilhem Lettron <guilhem@xxxxxxxxxx> Date: Sat Jun 27 17:02:23 2015 +0200 HID: sensor-hub: Add in quirk for Lenovo Yogas with ITE Like yogas with TEXAS_INSTRUMENTS, yogas with ITE chips needs to be initialized with enumeration quirks. Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit d3e120aefb05b422c57d21e39a47b83b543c71cd Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Jun 17 10:46:17 2015 -0300 ARM: imx_v6_v7_defconfig: Enable kexec support Select CONFIG_KEXEC by default. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> commit 9d87cd61a6b71ee00b7576a3ebc10208becdbea1 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Tue Jul 7 18:26:13 2015 +0200 x86/irq: Hide 'HYP:' line in /proc/interrupts when not on Xen/Hyper-V Hypervisor callback interrupts are only accounted on Xen/Hyper-V. There is no point in having always-zero HYP: line on other hypervisors or bare metal. Print the line only if HYPERVISOR_CALLBACK_VECTOR was allocated. Reported-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: Andrew Jones <drjones@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436286373-11908-1-git-send-email-vkuznets@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2a52feb1805aaef9ce356e5a5c64d498b65e7e81 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 21:54:02 2015 +0200 ALSA: emu10k1: rename Audigy Analog Capture Boost control Audigy has "Analog Capture Boost" mixer control, however now this only controls mic level, not other analog sources. It applies also both to playback and capture, so rename it to something more descriptive. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 52051942943f4ef95a8e953aeed84360291380d8 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 21:53:15 2015 +0200 ALSA: emu10k1: enable TAD mic out on Audigy Enable TAD output on Audigy naming it "Phone Output", to be consistent with TAD input which is called "Phone". According to Creative doc ( http://support.creative.com/kb/ShowArticle.aspx?sid=3026 ) this should output just mic signal. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 274b2000a09220bb2b930af432a2262db7063bd9 Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 7 21:52:24 2015 +0200 ALSA: emu10k1: remove unused AC'97 mixer controls on Audigy AC'97 Headphone output and EAPD control aren't used on Audigy so remove them from mixer. Also remove AC'97 3D control as the driver is already doing for Audigys with 1361T ADC. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1425d2d17f7309c65e2bd124e0ce8ace743b17f2 Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Jul 7 21:01:49 2015 +0530 crypto: tcrypt - Fix AEAD speed tests The AEAD speed tests doesn't do a wait_for_completition, if the return value is EINPROGRESS or EBUSY. Fixing it here. Also add a test case for gcm(aes). Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 340d9d317eb93039754004621c6c5cb1a5e9735c Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Jul 7 21:01:46 2015 +0530 crypto: omap-aes - Use BIT() macro Use BIT()/GENMASK() macros for all register definitions instead of hand-writing bit masks. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5396c6c0741317a54f8032ac50346f123e664a52 Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Jul 7 21:01:45 2015 +0530 crypto: omap-aes - Fix configuring of AES mode AES_CTRL_REG is used to configure AES mode. Before configuring any mode we need to make sure all other modes are reset or else driver will misbehave. So mask all modes before configuring any AES mode. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6e2e3d1de45214fe5538318a208f2f7ccc617e4c Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Jul 7 21:01:44 2015 +0530 crypto: omap-aes - Increase priority of hw accelerator Increasing the priority of omap-aes hw algos, in order to take precedence over sw algos. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 310b0d55f0301908461191db392ecee01735b3ec Author: Vutla, Lokesh <lokeshvutla@xxxxxx> Date: Tue Jul 7 21:01:43 2015 +0530 crypto: omap-aes - Fix CTR mode Algo self tests are failing for CTR mode with omap-aes driver, giving the following error: [ 150.053644] omap_aes_crypt: request size is not exact amount of AES blocks [ 150.061262] alg: skcipher: encryption failed on test 5 for ctr-aes-omap: ret=22 This is because the input length is not aligned with AES_BLOCK_SIZE. Adding support for omap-aes driver for inputs with length not aligned with AES_BLOCK_SIZE. Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0dfc7f687917a93175d469a2dc1254fd2f77fb63 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Jun 29 07:22:16 2015 +0200 ARM: BCM5301X: Enable UART0 on tested devices There are two possible UARTs so we have (both of) them disabled by default. Override uart0 status on devices that were verified to use it. In case of Netgear R6250 also drop an old (and invalid) overwrite. It doesn't have uart1 connected. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 5253ed194c7edd6cd548fc22e333be2f4ccc57ec Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue May 5 11:13:22 2015 -0700 ARM: dts: enable clock support for Broadcom Cygnus Replace current device tree dummy clocks with real clock support for Broadcom Cygnus SoC Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 4c62dbbce902cf2afa88cac89ec67c828160f431 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Jun 26 11:27:41 2015 +0300 ACPI: Remove FSF mailing addresses There is no need to carry potentially outdated Free Software Foundation mailing address in file headers since the COPYING file includes it. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f04b8b48d32c66b5d9243f7a1c85ca198eff43bb Merge: 2573a02 56551da Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jul 7 17:10:50 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: drivers: clk: st: Incorrect register offset used for lock_status commit 2573a02aa5c882fdcab82bba953241f2fa3181a3 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:50:00 2015 -0700 clk: Move clk_provider_list to scope of function using it The list isn't used after of_clk_init() is called, so we don't need to keep an empty list around after init. Put the list on the stack. Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2e3b19f137f31290979999ff7ac67ce52e02be0e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 16:48:19 2015 -0700 clk: Check for allocation errors in of_clk_init() Dan Carpenter reports that we don't check the allocation here for failure. Add a failure check and free any previously allocated providers from the clk_provider_list. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ca7d07a22a28bcd558b200329bfa322c9ffd7c54 Merge: d4f76de 3536c97 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:59:33 2015 -0700 Merge branch 'clk-rk3368' into clk-next * clk-rk3368: clk: rockchip: add rk3368 clock controller clk: rockchip: add missing include guards clk: rockchip: add dt-binding header for rk3368 dt-bindings: add documentation of rk3668 clock controller clk: rockchip: define the inverters of rk3066/rk3188 and rk3288 clk: rockchip: fix issues in the mmc-phase clock clk: rockchip: add support for phase inverters clk: rockchip: add COMPOSITE_NOGATE_DIVTBL variant clk: rockchip: protect register macros against multipart values clk: rockchip: fix faulty vip parent name on rk3288 clk: rockchip: rk3288: add CLK_SET_RATE_PARENT to sclk_mac commit d4f76de37458bc613f9465d8fafc2b5fea0cdea1 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Fri Jun 12 11:41:55 2015 +0300 clk: qcom: Add support for SR2 PLLs Add support for SR2 type pll operations. SR2 is optimized for Time Interval Error (TIE) or absolute jitter. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a8a8db47990d9b3789a30f4ab6744ce83f733c85 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 12:10:51 2015 -0700 clk: at91: Silence warnings and cleanup __init/extern usage Remove useless ifdefs around function prototypes to silence the following sparse warnings when the configs aren't enabled. drivers/clk/at91/clk-h32mx.c:95:13: warning: symbol 'of_sama5d4_clk_h32mx_setup' was not declared. Should it be static? drivers/clk/at91/clk-utmi.c:159:13: warning: symbol 'of_at91sam9x5_clk_utmi_setup' was not declared. Should it be static? Plus, using __init and extern in function prototypes doesn't do anything, so just drop it throughout this file. Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 906b1f536d5b1a26e549c78a07b664f22340b7df Merge: 5891a8d 5f867db Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Jul 7 13:10:30 2015 -0700 Merge MTD 4.2-rc fixes into MTD -next commit b33612e183dcbaa2cc2479cedff6984a6cccdf6a Author: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Date: Wed Jun 10 07:47:19 2015 +0000 ARM: socfpga: add smp_ops.cpu_kill to make kexec/kdump available Kexec_load syscall in ARM requires that machine-specific code has the smp_ops.cpu_kill() before loading kernel image. This patch adds the cpu_kill(), as a result, kexec reboot and kernel crash dump become available in mach-socfpga. Signed-off-by: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Cc: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-June/348004.html Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit b7e79329c4e34d63cd374e603ece91f2b2c3331e Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Mon Jul 6 15:52:21 2015 -0700 Input: bma150 - use sign_extend32() for sign extending Despite it's name, sign_extend32() is used for 16 bit values aswell. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6e78108bda78adbb2d4ef55ec60a388aba975797 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Fri Jul 3 16:30:30 2015 +0800 ASoC: core: Don't probe the component which is dummy Dummy dai can be used by multiple sound card. But it only belong to one card's dapm list. If another card use it, there will be dapm_assert_locked warning. [ 20.015782] WARNING: CPU: 1 PID: 661 at sound/soc/soc-dapm.c:124 dapm_assert_locked.isra.36+0x4c/0x58() [ 20.025249] Modules linked in: [ 20.028349] CPU: 1 PID: 661 Comm: aplay Not tainted 4.1.0-rc6-next-20150605-00004-gaee05d8-dirty #92 [ 20.037528] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [ 20.044110] Backtrace: [ 20.046614] [<80012e00>] (dump_backtrace) from [<80012fa0>] (show_stack+0x18/0x1c) [ 20.054229] r6:809e8060 r5:00000000 r4:00000000 r3:00000000 [ 20.060002] [<80012f88>] (show_stack) from [<807a0f74>] (dump_stack+0x80/0x9c) [ 20.067293] [<807a0ef4>] (dump_stack) from [<8002b144>] (warn_slowpath_common+0x7c/0xb4) [ 20.075427] r5:0000007c r4:00000000 [ 20.079065] [<8002b0c8>] (warn_slowpath_common) from [<8002b1a0>] (warn_slowpath_null+0x24/0x2c) [ 20.087898] r8:00000001 r7:88007c28 r6:ed94a680 r5:809e83e4 r4:ed83d6c0 [ 20.094747] [<8002b17c>] (warn_slowpath_null) from [<8058403c>] (dapm_assert_locked.isra.36+0x4c/0x58) [ 20.104101] [<80583ff0>] (dapm_assert_locked.isra.36) from [<805842ec>] (dapm_mark_dirty+0x64/0xa4) [ 20.113165] [<80584288>] (dapm_mark_dirty) from [<805853a8>] (soc_dapm_dai_stream_event.isra.42+0x30/0xc8) [ 20.122863] r8:ed9b5dbc r7:00000000 r6:00000001 r5:00000001 r4:ed83d6c0 [ 20.129706] [<80585378>] (soc_dapm_dai_stream_event.isra.42) from [<80587e28>] (snd_soc_dapm_stream_event+0x78/0xa0) [ 20.140264] r5:ee2ee62c r4:00000001 [ 20.143918] [<80587db0>] (snd_soc_dapm_stream_event) from [<8058957c>] (soc_pcm_prepare+0x138/0x21c) [ 20.153058] r8:ed8d9480 r7:00000000 r6:ed9b0e00 r5:00000001 r4:ee2ee62c r3:00000000 ... This patch is to not probe the dummy component in soc_probe_component. Then there is no widget created for dummy DAI, and also don't need to check the dummy dai in dapm_connect_dai_link_widgets(). Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5ad2cb14f5b8f3cb3d8688115037751b1ff45455 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 16:06:53 2015 +0100 regulator: pwm-regulator: Don't assign structure attributes right away Perhaps this is just personal preference, but ... This patch introduces a new local variable to receive and test regulator initialisation data. It simplifies and cleans up the code making it that little bit easier to read and maintain. The local value is assigned to the structure attribute when all the others are. This is the way we usually do things. Prevents this kind of nonsense: this->is->just.silly = fetch_silly_value(&pointer); if (!this->is->just.silly) { printk("Silly value failed: %d\n", this->is->just.silly); return this->is->just.silly; } Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cae897dec26a9d81dcb5182b13b08450f38d6bde Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 16:06:52 2015 +0100 regulator: pwm-regulator: Simplify voltage to duty-cycle call If we reverse some of the logic and change the formula used, we can simplify the function greatly. It is intentional that this function is supplied and then re-worked within the same patch-set. The submission in the previous patch is the tried and tested (i.e. in real releases) method written by ST. This patch contains a simplification provided later. It looks and performs better, but doesn't have the same time-under-test that the original method does. The idea is that we keep some history in order to provide an easy way back i.e. revert. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4773be185a0f7c1c09d8966e100c76f4fa9a3227 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 16:06:51 2015 +0100 regulator: pwm-regulator: Add support for continuous-voltage The current version of PWM regulator only supports a static table approach, where pre-calculated values are supplied by the vendor and obtained via DT. The continuous-voltage method takes min_uV and max_uV, and divides the difference between them up into a number of slices. The number of slices depend on how large the duty cycle register is. This information is provided by a DT property. As the name alludes, this provides values for a continuous voltage range between min_uV and max_uV, which has obvious benefits over either limited voltage possibilities, or the requirement to provide a large voltage-table. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02258b8bcbb98b28064cc829f7062455da398633 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 7 16:06:50 2015 +0100 regulator: pwm-regulator: Re-write bindings * Add support for continuous-voltage mode * Put more meat on the bones with regards to voltage-table mode * Sort out formatting for ease of consumption Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9acc7f08716b98730e1ead7e785fb0f3ad3a2d07 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 15:55:50 2015 -0300 ASoC: max98090: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f2a763858a7d0236d658116918c7b1e2c7a5e0cf Merge: 83c0929 4890140 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Jul 7 15:04:40 2015 +0100 Merge branch 'topic/codec-dapm' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rt5645 Conflicts: sound/soc/codecs/rt5645.c commit c5b8540dca22526517f4d96857678466613467d1 Author: Koro Chen <koro.chen@xxxxxxxxxxxx> Date: Mon Jul 6 10:02:10 2015 +0800 ASoC: dpcm: Add checks of playback/capture before dpcm_get_be In dpcm_get_be(), it looks for a BE rtd that has the DAI widget according to current stream type. Only playback_widgets are searched in the case of playback stream and vice versa. However, the DAI widget itself can be playback or capture. If the DAI widget is capture, but current stream type is playback, dpcm_get_be() will always fail to find a rtd, print error messages, and continue to the next DAI widget in list. We can just skip this DAI widget to further suppress error messages. This happens in a special case when 2 codecs are inter-connected, and the 1st codec's "capture" widget is used to send data to the 2nd codec during "playback": mtk-rt5650-rt5676 sound: ASoC: can't get playback BE for Sub AIF2 Capture rt5650_rt5676 Playback: ASoC: no BE found for Sub AIF2 Capture Add checks to continue to next DAI widget if current DAI widget's direction does not match the stream type. Signed-off-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4890140f3888b4a4baef90d84e278858afe45248 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:11 2015 +0200 ASoC: Remove snd_soc_codec dapm field There are no more direct users of the snd_soc_codec DAPM field left. So we can finally remove it and switch over to directly using the component DAPM context and remove the dapm_ptr indirection. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b3c25fb7caa30afa5d5cc6b414a5b4d66bed77a7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:10 2015 +0200 ASoC: dapm_widget_show_codec: Use component instead of CODEC There is nothing snd_soc_codec specific in this function, just use snd_soc_component instead. With this also the last reference of snd_soc_codec form soc-dapm.c. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c68c2be5f6ae4a27d548921bf8b32413c5eab8ed Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:09 2015 +0200 ASoC: cht_bsw_max98090_ti: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. While we are at it also remove some extra newlines. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 987731bb7c80b170228e6e1acf2e7b91efb51100 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:08 2015 +0200 ASoC: omap3pandora: Use card DAPM context to access widgets The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f218fa93d20a7b4ef8a088e5eed2d84b8ef4ab5 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:07 2015 +0200 ASoC: tas571x: Replace direct snd_soc_codec dapm field access The dapm field of the snd_soc_codec struct is eventually going to be removed, in preparation for this replace all manual access to codec->dapm.bias_level with snd_soc_codec_get_bias_level(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Kevin Cernekee <cernekee@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2b93f7ee0836d1dbcfcf8560dd2a34cd51b3ff21 Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 10:06:21 2015 -0700 crypto: nx - reduce chattiness of platform drivers While we never would successfully load on the wrong machine type, there is extra output by default regardless of machine type. For instance, on a PowerVM LPAR, we see the following: nx_compress_powernv: loading nx_compress_powernv: no coprocessors found even though those coprocessors could never be found. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0d8dc96607bcd9451407fa5ff4918bca89e2632e Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Mon Jul 6 13:37:33 2015 +0200 crypto: testmgr - add a chunking test for cbc(aes) All tests for cbc(aes) use only blocks of data with a multiple of 4. This test adds a test with some odd SG size. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ec9f2006fc020c58f32f01b9d68fdb5f7374ffce Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Jul 6 19:11:03 2015 +0800 crypto: cryptd - Fix AEAD request context corruption The AEAD version of cryptd uses the same context for its own state as well as that of the child. In doing so it did not maintain the proper ordering, thus resulting in potential state corruption where the child will overwrite the state stored by cryptd. This patch fixes and also sets the request size properly. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e2ada8187bc8b46c30a623e7d6b5a72c209f70cd Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Jul 6 15:38:06 2015 +0200 ASoC: rt5645: Replace direct snd_soc_codec dapm field access The dapm field of the snd_soc_codec struct is eventually going to be removed, in preparation for this replace all manual access to codec->dapm.bias_level with snd_soc_codec_get_bias_level() and replace all other manual access to codec->dapm with snd_soc_codec_get_dapm(). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7f005256f70a8c1c60b2f8a7449137da0c5e5bd9 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Thu Jun 18 15:16:08 2015 -0700 ASoC: qcom: remove Kconfig deps from variant configs Remove the SND_SOC_QCOM dependency from the variant configs. The board configs, which select the variants, already have this dependency. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02c4b9c28b973d999073c810a78375e38346d7a3 Author: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Date: Thu Jun 18 15:16:07 2015 -0700 ASoC: qcom: move board Kconfig deps to parent config Rather than have each board define the same set of dependencies; move the common dependencies to the SND_SOC_QCOM parent config. Signed-off-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ffaab99184a2c8b592bba85d8e4da708c65b4cc1 Author: Laxman Dewangan <ldewangan@xxxxxxxxxx> Date: Wed Jul 1 18:31:44 2015 +0530 regulator: max8973: add support to configure ETR based on rail load Add support to configure Enhanced Transient Response Enable (ETR) and Sensitivity Selection based on maximum current i.e. expected load on that rail. Maxim recommended as: - Enable ETR with high sensitivity (75mV/us) for 0 to 9A expected loads, - Enable ETR with low sensitivity (150mV/us) for 9A to 12A expected loads. - Disable ETR for expected load > 12A. These recommendation will be configured for MAX77621 when maximum load is provided through regulator constraint for maximum current from platform. Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3692db3a904800445f8af249e1ac0f2b6496f31d Author: Laxman Dewangan <ldewangan@xxxxxxxxxx> Date: Wed Jul 1 18:31:43 2015 +0530 regulator: max8973: add support to configure ETR from DT The MAX8973/MAX77621 feature an Enhanced Transient Response(ETR) circuit that is enabled through software. The enhanced transient response reduces the voltage droop during large load steps by temporarily allowing all three phases to fire in unison, slewing total inductor current faster than would normally be possible if all three phases continued to operate 120deg out of phase. The enhanced transient response detector features two selectable sensitivity settings, which select the output voltage slew rate during load transients that triggers the ETR circuit. The sensitivity of the ETR detector is set by the CKADV[1:0] bits in the CONTROL2 register. Add support to configure the ETR through platform data from DT. Update the DT binding document accordingly. Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c418a84a8c8f98b1a0f30cd68d0cdf40d77aed01 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jul 5 17:48:29 2015 +0800 ASoC: Constify reg_default tables Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Peter Rosin <peda@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f9178dad67952673b653315f92620b7a981466e5 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Jul 6 09:58:29 2015 +0100 regulator: pwm-regulator: Separate voltage-table initialisation Take this out of the main .probe() routine in order to facilitate the introduction of different ways to obtain 'duty cycle' information. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ec8677267f4ef126275b2e0a429211b256f1a94a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 7 19:21:44 2015 +0800 regulator: ltc3589: Constify ltc3589_reg_defaults ltc3589_reg_defaults[] is not modified after initialized, so make it const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02a9547e9b3f10d73fde66f52fc8b2a375a300cd Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 7 12:57:19 2015 +0800 ASoC: gtm601: Constify soc_codec_dev_gtm601 Also clean up the code a bit by fixing indent. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6f4397949689d74c3bd0016c80d59a90c6e8afee Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jun 25 17:01:14 2015 +0800 ASoC: lm49453: Remove fs_rate from struct lm49453_priv fs_rate is only used in lm49453_hw_params() so don't need to store it in private data. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f8ea6cebcfa6499949392da71fc427567c9e5a0e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 1 00:56:36 2015 +0800 ASoC: ak4642: Fix up max_register setting The max_register setting for ak4642, ak4643 and ak4648 are wrong, fix it. According to the datasheet: the maximum valid register for ak4642 is 0x1f the maximum valid register for ak4643 is 0x24 the maximum valid register for ak4648 is 0x27 The default settings for ak4642 and ak4643 are the same for 0x0 ~ 0x1f registers, so it's fine to use the same reg_default table with differnt num_reg_defaults setting. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93ec3a1ad5b86aef8ca90d2b149ded0f6bb689f5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Jun 29 11:15:23 2015 +0800 ASoC: 88pm860x: Don't change pm860x->dir setting if pm860x_set_dai_sysclk fails 88pm860x does not support slave mode, so it returns -EINVAL for PM860X_CLK_DIR_IN. Current code changes pm860x->dir setting before return error, so it has impact on the logic of pm860x_pcm_set_dai_fmt. This patch adds comment for the reason to return -EINVAL for PM860X_CLK_DIR_IN, and avoid changing pm860x->dir setting if pm860x_set_dai_sysclk fails. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5e4cb7b60833b0124a9f71dbc5118144ca79c3c4 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jun 25 21:44:13 2015 +0800 ASoC: cs42xx8: Setup of_match_table Setup of_match_table and since cs42xx8_of_match is exported and used in cs42xx8-i2c.c, it cannot be static. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d375d0abcd625cd09cd90a252ad22a1085452e3c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Jun 25 21:41:43 2015 +0800 ASoC: cs42xx8: Move the code checking *regmap argument earlier Slightly improve the readability by moving the code checking *regmap argument earlier. Also move the assignment of of_id close to the place testing it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9bfde72157036f4eaa44f3e8982217ce1b3e14b6 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Mon Jun 22 11:13:00 2015 -0700 ASoC: rt5677: Switch to use unified device property API This patch makes the driver use the unified device property API so that platform data can be provided by Device Tree, ACPI or board files. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit efd901ee4bc8312e3bbf5561fdab8e3765e26334 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Mon Jun 22 11:12:59 2015 -0700 ASoC: rt5677: Switch to use descriptor-based gpiod API This patch makes the driver use the new descriptor-based gpiod API so that gpio assignment info can be provided by Device Tree, ACPI or board files. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eca2ebc7e007c9e2b8f5ecfcfc74b53fbe68e42b Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 13:00:36 2015 +0000 spi: expose spi_master and spi_device statistics via sysfs per spi-master statistics accessible as: /sys/class/spi_master/spi*/statistics/* per spi-device statistics accessible via: /sys/class/spi_master/spi*/spi*.*/statistics/* The following statistics are exposed as separate "files" inside these directories: * messages number of spi_messages * transfers number of spi_transfers * bytes number of bytes transferred * bytes_rx number of bytes transmitted * bytes_tx number of bytes received * errors number of errors encounterd * timedout number of messages that have timed out * spi_async number of spi_messages submitted using spi_async * spi_sync number of spi_messages submitted using spi_sync * spi_sync_immediate number of spi_messages submitted using spi_sync, that are handled immediately without a context switch to the spi_pump worker-thread Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa3be9208dcb21ae4185f6122137fe7d5cf29d74 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 18:18:06 2015 -0300 ASoC: fsl: fsl_spdif: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b1ade0f2afe283d59eb313e5717870fdb831fc4e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 18:00:13 2015 -0300 ASoC: fsl: fsl_asrc: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f6d1b3e20a840a7201ae400a970f42cca96aa17b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 15:02:44 2015 +0200 spi: sh-msiof: Remove obsolete spi_r8a779x_msiof platform_device_id entries Since commit a483dcbfa21f919c ("ARM: shmobile: lager: Remove legacy board support"), R-Car Gen2 SoCs are only supported in generic DT-only ARM multi-platform builds. The driver doesn't need to match platform devices by name anymore, hence remove the corresponding platform_device_id entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0d69e0dddf5fe86675c56bc0f0520ffb0cbf1fcd Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Jun 23 18:23:53 2015 +0800 ASoC: fsl: Add dedicated DMA buffer size for each cpu dai As the ssi is not the only cpu dai, there are esai, spdif, sai. and imx_pcm_dma can be used by all of them. Especially ESAI need a larger DMA buffer size. So Add dedicated DMA buffer for each cpu dai. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f8e671a49e1d608fcf52c8944ea7818cd4c99a9 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 09:35:12 2015 +0100 ASoC: arizona: Implement stability check for LHPF coefficients Specifying unstable coefficients for the low/high pass filters can have a severe impact on the audio. This patchs adds a stability check on the coefficients written to the low/high pass filter block to prevent this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c05d9a8c7f55a901d9e8ec2a5f0730137bbfea4a Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jun 25 09:35:11 2015 +0100 ASoC: arizona: Implement stability check for EQ coefficients Specifying unstable coefficients for the EQ can have a severe impact on the audio. This patchs adds a stability check on the coefficients written to the EQ, for this it is necessary to merge the mode control and the coefficients as some coefficients may only be unstable with a certain mode setting so it is ideal if these are always updated in sync. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b650247da5a8c5d8991eeb9cf31e2e71d7be1b08 Author: Nik Nyby <nikolas@xxxxxxx> Date: Tue Jun 30 17:43:02 2015 -0400 ASoC: codecs: max98088: fix typo in constant This fixes a typo in the M98088_REG_02_JACK_STATUS constant. Signed-off-by: Nik Nyby <nikolas@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 99622f56110ee8cbfe8ecf2dd5e666f67cf4bb97 Author: Alexey Klimov <klimov.linux@xxxxxxxxx> Date: Tue Jun 30 21:04:07 2015 +0300 spi/rockchip: remove unnecessary memset of rockchip_spi Memory for struct rockchip_spi is allocated by spi_alloc_master() using kzalloc() so it doesn't need to be set to 0 one more time. Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 385a9c8fccc0308dbd8182c57b29a95e01e29688 Author: Alexey Klimov <klimov.linux@xxxxxxxxx> Date: Tue Jun 30 21:03:58 2015 +0300 spi/s3c24xx: remove unnecessary memset of s3c24xx_spi Memory for this struct is allocated by spi_alloc_master() using kzalloc() so it doesn't need to be set to 0 one more time. Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 65598c13fd66c3b5eac16d5b8eacc704aa17ce40 Author: Andrew Gabbasov <andrew_gabbasov@xxxxxxxxxx> Date: Tue Jun 30 10:48:37 2015 -0500 spi: Fix per-page mapping of unaligned vmalloc-ed buffer spi_map_buf() processes mapping of vmalloc-ed buffers in a special way, making mapping of every page separately. However, if the buffer is not aligned to page boundary (e.g. sub-array in a vmalloc-ed array), it fills the scatter table with page-size unaligned pieces, that cross page boundaries. This is incorrect and can, for example, cause memory corruption and various crashes when working with ubifs on spi-nor chips (though those drivers are themselves buggy in that they should be providing DMAable memory to the SPI framework). Fix this by using proper scatter table size and intra-page buffer lengths, so that the whole buffer splits into separate scatter table entries on page boundaries. Signed-off-by: Andrew Gabbasov <andrew_gabbasov@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 83c09290adfb025d9a109d9c3c2956c81bcb241b Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Jun 29 14:20:50 2015 +0800 ASoC: rt5645: move RT5645 muxes to rt5645_specific_dapm_widgets This is a similar patch to "move RT5650 muxes to rt5650_specific_ dapm_widgets" patch. The purpose is to silence the "has no paths" warnings. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93e3a9e9993ef018522b7005d97d8124b7e73385 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Jun 18 13:27:12 2015 +0100 spi: img-spfi: check for max speed supported by the spfi block Maximum speed supported by spfi is limited to 1/4 of the spfi clock. But in some SoCs the maximum speed supported by the spfi block can be limited to less than 1/4 of the spfi clock. In such cases we have to define the limit in the device tree so that the driver can pick it up. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6702dfcc571d962df499f7466f54e07d044e6cd1 Author: Sergey Kiselev <sergey.kiselev@xxxxxxxxx> Date: Fri Jun 5 11:55:27 2015 -0700 ASoC: wm8731: initialize the hardware when loading the codec driver This patch moves the requesting supplies, hardware reset and initialization from wm8731_probe to wm8731_i2c_probe and wm8731_spi_probe. So that the codec hardware is initialized when loading the codec driver, and not when loading the machine driver. This avoids unnecesary hardware resets and re-initializations when re-loading the machine driver. Signed-off-by: Sergey Kiselev <sergey.kiselev@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e22579713ae1384a3dff545369cebe42b01370fa Author: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Date: Fri Jun 5 10:19:06 2015 +0200 ASoC: simple card: set cpu-dai sysclk with mclk-fs Allows to request a specific mclk frequency per cpu_dai. To support some codecs with mclk provided by the cpu_dai, the mclk rate must be set depending on frame rate. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 09da55dc84782b9b3fd8291719460da2d13bd27c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 7 11:44:32 2015 +0200 drm/i915: Inline SUPPORTS_DIGITAL_OUTPUTS After the register save/restore code is gone there's just one user left and it just obfuscates that one. Remove it. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Suggested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6adfb1ef106bfe4b5ecb8bd75c4d037741d28a48 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 7 09:10:40 2015 +0200 drm/i915: s/mdelay/msleep/ Burning cpu cycles isn't awesome, so use sleeps instead. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3fec3d2f0a54d7c57c386c430bee2d6e5425ebfb Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 7 09:10:07 2015 +0200 drm/i915: Ditch SUPPORTS_INTEGRATED_HDMI|DP and use IS_G4X instead Since that's really what we want to test for. Note remove the gen5 case doesn't change anything: In intel_setup_outputs ilk is handled already in the HAS_PCH_SPLIT case, and the register save/restore code touches registers which simply doesn't exist anymore at all. v2: Drop UMS parts. v3: Update commit message to reflect that the reg save/restore code is gone (Ville). Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9dc24a2d91ce6587672f72c99c2f7bf4ef56f7ce Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Jun 10 22:09:00 2015 +0200 ARM: dts: stm32f429: Adopt STM32F4 clock driver New bindings and driver have been created for STM32F42xxx series parts. This patch integrates these changes. Note: Earlier device tree blobs (those without st,stm32f42xxx compatibles for the rcc) could still be used to boot basic systems. Such systems rely on the bootloader to configure the clock gates for vital periperhals. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Reviewed-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> commit 0333a209cbf600e980fc55c24878a56f25f48b65 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:34 2015 -0700 x86/irq, context_tracking: Document how IRQ context tracking works and add an RCU assertion Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/e8bdc4ed0193fb2fd130f3d6b7b8023e2ec1ab62.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 06a7b36c7bd932e60997bedbae32b3d8e6722281 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:33 2015 -0700 x86/entry: Remove SCHEDULE_USER and asm/context-tracking.h SCHEDULE_USER is no longer used, and asm/context-tracking.h contained nothing else. Remove the header entirely. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/854e9b45f69af20e26c47099eb236321563ebcee.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8c84014f3bbb112d07e73f30a10ac8a3a72f8649 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:32 2015 -0700 x86/entry: Remove exception_enter() from most trap handlers On 64-bit kernels, we don't need it any more: we handle context tracking directly on entry from user mode and exit to user mode. On 32-bit kernels, we don't support context tracking at all, so these callbacks had no effect. Note: this doesn't change do_page_fault(). Before we do that, we need to make sure that there is no code that can page fault from kernel mode with CONTEXT_USER. The 32-bit fast system call stack argument code is the only offender I'm aware of right now. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/ae22f4dfebd799c916574089964592be218151f9.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02bc7768fe447ae305e924b931fa629073a4a1b9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:31 2015 -0700 x86/asm/entry/64: Migrate error and IRQ exit work to C and remove old assembly code Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/60e90901eee611e59e958bfdbbe39969b4f88fe5.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a586f98e9767fb0dfdb989002866b4024f00ce08 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:30 2015 -0700 x86/asm/entry/64: Simplify IRQ stack pt_regs handling There's no need for both RSI and RDI to point to the original stack. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/3a0481f809dd340c7d3f54ce3fd6d66ef2a578cd.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ff467594f2a4be01a0fa5e9ffc223fa930d232dd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:29 2015 -0700 x86/asm/entry/64: Save all regs on interrupt entry To prepare for the big rewrite of the error and interrupt exit paths, we will need pt_regs completely filled in. It's already completely filled in when error_exit runs, so rearrange interrupt handling to match it. This will slow down interrupt handling very slightly (eight instructions), but the simplification it enables will be more than worth it. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/d8a766a7f558b30e6e01352854628a2d9943460c.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29ea1b258b98a862e59d72556714b75051ae93fb Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:28 2015 -0700 x86/entry/64: Migrate 64-bit and compat syscalls to the new exit handlers and remove old assembly code These need to be migrated together, as the compat case used to jump into the middle of the 64-bit exit code. Remove the old assembly code. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/d4d1d70de08ac3640badf50048a9e8f18fe2497f.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cb6f64ed5a04036eef07e70b57dd5dd78f2fbcef Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:27 2015 -0700 x86/entry/64: Really create an error-entry-from-usermode code path In 539f51136500 ("x86/asm/entry/64: Disentangle error_entry/exit gsbase/ebx/usermode code"), I arranged the code slightly wrong -- IRET faults would skip the code path that was intended to execute on all error entries from user mode. Fix it up. While we're at it, make all the labels in error_entry local. This does not fix a bug, but we'll need it, and it slightly shrinks the code. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/91e17891e49fa3d61357eadc451529ad48143ee1.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5c46f59e4e7c1ab244b8d38f2b61d317df90bba Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:26 2015 -0700 x86/entry: Add new, comprehensible entry and exit handlers written in C The current x86 entry and exit code, written in a mixture of assembly and C code, is incomprehensible due to being open-coded in a lot of places without coherent documentation. It appears to work primary by luck and duct tape: i.e. obvious runtime failures were fixed on-demand, without re-thinking the design. Due to those reasons our confidence level in that code is low, and it is very difficult to incrementally improve. Add new code written in C, in preparation for simply deleting the old entry code. prepare_exit_to_usermode() is a new function that will handle all slow path exits to user mode. It is called with IRQs disabled and it leaves us in a state in which it is safe to immediately return to user mode. IRQs must not be re-enabled at any point after prepare_exit_to_usermode() returns and user mode is actually entered. (We can, of course, fail to enter user mode and treat that failure as a fresh entry to kernel mode.) All callers of do_notify_resume() will be migrated to call prepare_exit_to_usermode() instead; prepare_exit_to_usermode() needs to do everything that do_notify_resume() does today, but it also takes care of scheduling and context tracking. Unlike do_notify_resume(), it does not need to be called in a loop. syscall_return_slowpath() is exactly what it sounds like: it will be called on any syscall exit slow path. It will replace syscall_trace_leave() and it calls prepare_exit_to_usermode() on the way out. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/c57c8b87661a4152801d7d3786eac2d1a2f209dd.1435952415.git.luto@xxxxxxxxxx [ Improved the changelog a bit. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit feed36cde0a10adb957445a37e48f957f30b2273 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:25 2015 -0700 x86/entry: Add enter_from_user_mode() and use it in syscalls Changing the x86 context tracking hooks is dangerous because there are no good checks that we track our context correctly. Add a helper to check that we're actually in CONTEXT_USER when we enter from user mode and wire it up for syscall entries. Subsequent patches will wire this up for all non-NMI entries as well. NMIs are their own special beast and cannot currently switch overall context tracking state. Instead, they have their own special RCU hooks. This is a tiny speedup if !CONFIG_CONTEXT_TRACKING (removes a branch) and a tiny slowdown if CONFIG_CONTEXT_TRACING (adds a layer of indirection). Eventually, we should fix up the core context tracking code to supply a function that does what we want (and can be much simpler than user_exit), which will enable us to get rid of the extra call. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/853b42420066ec3fb856779cdc223a6dcb5d355b.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02fdcd5eac9d653d1addbd69b0c58d73650e1c00 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:24 2015 -0700 x86/traps, context_tracking: Assert that we're in CONTEXT_KERNEL in exception entries Other than the super-atomic exception entries, all exception entries are supposed to switch our context tracking state to CONTEXT_KERNEL. Assert that they do. These assertions appear trivial at this point, as exception_enter() is the function responsible for switching context, but I'm planning on reworking x86's exception context tracking, and these assertions will help make sure that all of this code keeps working. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20fa1ee2d943233a184aaf96ff75394d3b34dfba.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1f484aa6904697f390027c12fba130fa94b20831 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:23 2015 -0700 x86/entry: Move C entry and exit code to arch/x86/entry/common.c The entry and exit C helpers were confusingly scattered between ptrace.c and signal.c, even though they aren't specific to ptrace or signal handling. Move them together in a new file. This change just moves code around. It doesn't change anything. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/324d686821266544d8572423cc281f961da445f4.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e727c7d7a11e109849582e9165d54b254eb181d7 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:22 2015 -0700 notifiers, RCU: Assert that RCU is watching in notify_die() Low-level arch entries often call notify_die(), and it's easy for arch code to fail to exit an RCU quiescent state first. Assert that we're not quiescent in notify_die(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1f5fe6c23d5b432a23267102f2d72b787d80fdd8.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f9281648ecd5081803bb2da84b9ccb0cf48436cd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:21 2015 -0700 context_tracking: Add ct_state() and CT_WARN_ON() This will let us sprinkle sanity checks around the kernel without making too much of a mess. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/5da41fb2ceb29eac671f427c67040401ba2a1fa0.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ccaee5f851470dec6894a6835b6fadffc2bb7514 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Jul 3 12:44:20 2015 -0700 um: Fix do_signal() prototype Once x86 exports its do_signal(), the prototypes will clash. Fix the clash and also improve the code a bit: remove the unnecessary kern_do_signal() indirection. This allows interrupt_end() to share the 'regs' parameter calculation. Also remove the unused return code to match x86. Minimally build and boot tested. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Richard Weinberger <richard.weinberger@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/67c57eac09a589bac3c6c5ff22f9623ec55a184a.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5e99cb7c35ca0580da8e892f91c655d35ecf8798 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:19 2015 -0700 x86/entry/64/compat: Fix bad fast syscall arg failure path If user code does SYSCALL32 or SYSENTER without a valid stack, then our attempt to determine the syscall args will result in a failed uaccess fault. Previously, we would try to recover by jumping to the syscall exit code, but we'd run the syscall exit work even though we never made it to the syscall entry work. Clean it up by treating the failure path as a non-syscall entry and exit pair. This fixes strace's output when running the syscall_arg_fault test. Without this fix, strace would get out of sync and would fail to associate syscall entries with syscall exits. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/903010762c07a3d67df914fea2da84b52b0f8f1d.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5e5c684a2c78b98dcba3d6fce56773a375f63980 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Jul 3 12:44:18 2015 -0700 x86/entry, selftests/x86: Add a test for 32-bit fast syscall arg faults This test passes on 4.0 and fails on some newer kernels. Fortunately, the failure is likely not a big deal. This test will make sure that we don't break it further (e.g. OOPSing) as we clean up the entry code and that we eventually fix the regression. There's arguably no need to preserve the old ABI here -- anything that makes it into a fast (vDSO) syscall with a bad stack is about to crash no matter what we do. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/9cfcc51005168cb1b06b31991931214d770fc59a.1435952415.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 16ea61fc56144f1860f9edd5a219666ade01d3b8 Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Mon Jun 22 21:19:37 2015 +0800 arm64: dts: mt8173-evb: Add PMIC support The MT8173 eval board contains a MT6397 PMIC. This adds the corresponding device node to the dts file. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 79063a7c0239419d5f6bee63228f66256fdc0fc4 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Mon Jul 6 16:06:20 2015 -0700 x86/boot: Add hex output for debugging This is useful for reporting various addresses or other values while debugging early boot, for example, the recent kernel image size vs kernel run size. For example, when CONFIG_X86_VERBOSE_BOOTUP is set, this is now visible at boot time: early console in setup code early console in decompress_kernel input_data: 0x0000000001e1526e input_len: 0x0000000000732236 output: 0x0000000001000000 output_len: 0x0000000001535640 run_size: 0x00000000021fb000 KASLR using RDTSC... Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Junjie Mao <eternal.n08@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150706230620.GA17501@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ec9f932ed41622d120de52a5b525e4d77b9ef17e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Jun 24 08:59:25 2015 +0200 drm/atomic: Cleanup on error properly in the atomic ioctl. It's probably allowed to leave old_fb set to garbage when unlocking, but to prevent undefined behavior unset it just in case. Also crtc_state->event could be NULL on memory allocation failure, in which case event_space is increased for no reason. Note: Contains some general simplification of the cleanup code too. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> [danvet: Add note about the other changes in here. And fix long line while at it.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 399595f248cb25dccb6044b53c47c44c174dc23d Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Mon Jul 6 21:51:02 2015 +0900 sched/fair: Fix a comment reflecting function name change update_cfs_rq_load_contribution() was changed to __update_cfs_rq_tg_load_contrib() - sync up the commit in calc_tg_weight() too. Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436187062-19658-1-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8e2b0bf397279878babcb39b021edcafe7c945eb Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Thu Jul 2 22:25:52 2015 +0800 sched/fair: Clean up the __sched_period() code Since commit: 4bf0b77158 ("sched: remove do_div() from __sched_slice()") ... the logic of __sched_period() can be implemented as a single if-else without any local variables, so this patch cleans it up with an if-else statement, which expresses the function's logic straightforwardly. Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435847152-29543-1-git-send-email-boqun.feng@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 44dcb04f0ea8eaac3b9c9d3172416efc5a950214 Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 17:26:00 2015 +0530 sched/numa: Consider 'imbalance_pct' when comparing loads in numa_has_capacity() This is consistent with all other load balancing instances where we absorb unfairness upto env->imbalance_pct. Absorbing unfairness upto env->imbalance_pct allows to pull and retain task to their preferred nodes. Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434455762-30857-3-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2a1ed24ce94036d00a7c5d5e99a77a80f0aa556a Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 17:25:59 2015 +0530 sched/numa: Prefer NUMA hotness over cache hotness The current load balancer may not try to prevent a task from moving out of a preferred node to a less preferred node. The reason for this being: - Since sched features NUMA and NUMA_RESIST_LOWER are disabled by default, migrate_degrades_locality() always returns false. - Even if NUMA_RESIST_LOWER were to be enabled, if its cache hot, migrate_degrades_locality() never gets called. The above behaviour can mean that tasks can move out of their preferred node but they may be eventually be brought back to their preferred node by numa balancer (due to higher numa faults). To avoid the above, this commit merges migrate_degrades_locality() and migrate_improves_locality(). It also replaces 3 sched features NUMA, NUMA_FAVOUR_HIGHER and NUMA_RESIST_LOWER by a single sched feature NUMA. Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Link: http://lkml.kernel.org/r/1434455762-30857-2-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6dfec8d9493f48a42896386b41ec1a4644331b0b Author: bsegall@xxxxxxxxxx <bsegall@xxxxxxxxxx> Date: Tue Jun 16 12:18:21 2015 -0700 sched/numa: Check sched_feat(NUMA) in migrate_improves_locality() migrate_improves_locality checked sched_feat(NUMA_FAVOUR_HIGHER) but not sched_feat(NUMA), so disabling just the NUMA feature would leave it working off of old data. Signed-off-by: Ben Segall <bsegall@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/xm26si9rtqbm.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3cb43cc0b408c4672ba94fe28406a90a94b1edfe Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 7 08:43:03 2015 +0200 drm: Update plane->fb also for page_flip The legacy page_flip driver entry point is the only one left which requires drivers to update plane->fb themselves. All the other entry hooks will patch things up for the driver as needed since no one seems to reliable get this right, see e.g. drm_mode_set_config_internal or the plane->fb/old_fb handling in drm_mode_atomic_ioctl. Therefore unify things, which allows us to ditch a TODO from drm_atomic_helper_page_flip. This should also help the atomic transition in i915 since we keep a bit of legacy cruft only around because of this special behaviour in ->page_flip. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 7618d0359c167d89d7e904a00487be4945c10a65 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Wed Jun 24 10:49:59 2015 -0700 dmaengine: ioatdma: Set non RAID channels to be private capable This allows claiming of non-RAID channels as a private channel. This prevents breakage of MDRAID using the IOATDMA channels via async_tx but also allows agents such as NTB to claim channels exclusively for its usages. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4483320e241c5f6b63caa912343eb73c8b1dfd18 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Fri Jun 26 16:04:48 2015 +0530 dmaengine: Use Pointer xt after NULL check. Removing static analysis error:- Possible null pointer dereference: xt Because currently xt is dereferenced before NULL check, Thus Use it after NULL Check. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reviewed-by: Vaneet Narang <v.narang@xxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit fce9a74ba46fb545ad81cf244f3a1af4a877606c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Jun 20 18:43:44 2015 -0300 dmaengine: imx-dma: Check for clk_prepare_enable() error clk_prepare_enable() may fail, so we should better check its return value and propagate it in the case of error. While at it, change the label 'err' to a more descriptive naming. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6fdb302c1d996d2e0c1c527aa6f54a04ee80a0d8 Author: Daniel Machon <dmachon.dev@xxxxxxxxx> Date: Mon Jul 6 19:48:04 2015 +0200 wilc1000: host_interface.c: global variables do not need to be explicitly initialized to 0 or NULL. Fixed explicit initialization of global pointer variable. GCC takes care of this implicitly. Signed-off-by: Daniel Machon <dmachon.dev@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 137b9938849901f8e402da15736125b0a0bd2477 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Mon Jun 29 12:43:32 2015 +0000 staging:wilc1000: code cleanup Fix reported by coccinelle Removed {} for single statement if block Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3a02832e47629c08b27589688c788d6af87e738 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jun 26 17:40:25 2015 +0200 staging: wilc1000: switch printks to vsprintf IPv4 extension Switch printks with IP addresses to use vsprintf extension %pI4. Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83cc9be5ebef180efb7df74c0518149a749e7c42 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jun 26 16:47:28 2015 +0200 staging: wilc1000: fix typos in PRINT_ERR() Fix typo "packe" to "packet". Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03b2d5e75088564c35297bd6192d1a5b504e7298 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jun 26 16:45:58 2015 +0200 staging: wilc1000: remove whitespaces before quoted newlines Fix all checkpatch.pl warnings: WARNING: unnecessary whitespace before a quoted newline Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78c87591d4d50e0cb3e670a909e63db92409c4c5 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jun 26 16:45:14 2015 +0200 staging: wilc1000: add blank lines after declarations Fix all checkpatch.pl warnings: WARNING: Missing a blank line after declarations Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b9d5b483784c588b1ecb658cac83cd8100a74aa Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Jun 26 16:44:24 2015 +0200 staging: wilc1000: remove unnecessary braces Removing all checkpatch.pl warnings: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70e59d92256221640b8122ef258e886b1b1aa33d Author: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Date: Fri Jun 26 15:48:16 2015 +0900 staging: wilc1000: remove the warnings on the line over 80 characters This patch removes the warnings reported by checkpatch.pl on the line over 80 characters. Signed-off-by: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36901b690d5d83e0330a33bd6c1771c21c46c450 Author: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Date: Fri Jun 26 15:48:15 2015 +0900 staging: wilc1000: add a blank line after struct declaration This patch adds a blank line right after a struct declaration. Signed-off-by: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69176e1cbd62d1660c082fc2dfc3ae7aece525ff Author: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Date: Fri Jun 26 15:48:14 2015 +0900 staging: wilc1000: remove the warnings on the prohibited spaces This patch removes the warnings reported by checkpatch.pl regarding prohibited spaces between function name and open parenthesis. Signed-off-by: Sunghoon Cho <ywhsbliss@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9295e2d7341cb66ab8bbca029eabbe85b38bc376 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Jun 23 09:17:47 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove blank lines Remove multiple blank lines. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70fb5aa8a5f67275b5c2ebe23190777213d010df Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Jun 23 09:17:46 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove unused variable Remove variable that is defined but never used. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5927139ab52ef90232bd2578836ce36e5798920d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Jun 23 09:17:45 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove unused codes Remove if statement that has no any codes. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66f1a77ec182847b3334edeb37eb4d10b2e8043e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Jun 23 09:17:44 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove commented codes Remove commented codes. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf903c1e0784f668bcb325494a38cc359c1b5de6 Author: Sunil Shahu <shshahu@xxxxxxxxx> Date: Mon Jun 22 19:23:01 2015 +0530 staging: wilc1000: host_interface: add spaces around '=' Fix coding style error by placing spaces around '=' as suggested by checkpatch.pl script. Signed-off-by: Sunil Shahu <shshahu@xxxxxxxxx> Reviewed-by: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d33ff126bd6f4597189af7348aff9721d4b8080 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:06:01 2015 +0000 staging: wilc1000: use BIT macro This patch addresses the checkpatch warning advising the usage of the BIT macro for Bit shift operation. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba8f5e6642958c73cd558a2d9503720e35951b06 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:05:42 2015 +0000 staging: wilc1000: remove unused variable msg_len This patch removes a ununsed variable msg_len and its associated code. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 690910c0cf350a96590c6795f2d0f26e5f8ec59f Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:05:22 2015 +0000 staging: wilc1000: remove ununsed variable & associated code This patch removes the ununsed variable 'priv' at multiple instances and all its associated code where its assigned a value. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 810532227a431d5f13e732a37119a94d73819949 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 13:13:58 2015 +0000 staging: wilc1000: remove ununsed variable This patch removes ununsed variable 'len' Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 369f190a70d1972eed3888bd255dca711c8f58f3 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:04:39 2015 +0000 staging: wilc1000: remove redundant assignment of variable This patch the removes the redundant assignement of the variable ret as its being overwritren before being used anywhere. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 773116ea0b78c0aa8315bb64690d6a82c3f44b64 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:04:20 2015 +0000 staging: wilc1000: remove unused variable This patch removes a unused variable timeout and the associated code. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53e1096fea95f196377baac5e005b2de8c730631 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:03:53 2015 +0000 staging: wilc1000: remove ununsed variable & corresponding lines This patch removes a couple of ununsed variable.The lines in which these variables are assigned are also removed as they are not necessary. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04f2a50d41950ba60a56d2f884be05893ac61b6b Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:03:27 2015 +0000 staging: wilc1000: remove ununsed if..else.. code blocks This patch removes ununsed if..else... code blocks. Its actually some dead code. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab6ebe3a4b1ff9e37c2b7d12da7f985125dfab55 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:03:06 2015 +0000 staging: wilc1000: remove redundant initialization of variable This patch removes the redundant initialization of the variable 'st' as it is reassigned a new value before its being used anywhere else. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6608a38c66dfc0b14e77b92cbbf2457d18c42cd7 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Mon Jun 22 07:02:46 2015 +0000 staging: wilc1000: remove ununsed variable and associated line This patch removes a unused variable 'u16RespLen' that is assigned a value that is never used. The line that does the assignment is also removed. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit decc286c7dac701fc545d4a23cb2f9cf19a09a2c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jun 22 13:08:15 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: move statement after declarations Fix checkpatch warning found by checkpatch.pl WARNING: Missing a blank line after declarations Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df493fe8fa7ed73d73e08c768ed057b0e61b813d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jun 22 13:08:14 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: Insert blank line after declarations Fix checkpatch warning found by checkpatch.pl WARNING: Missing a blank line after declarations Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55229a56bb9e6f7f9dce36099b1045deb73409f1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jun 22 13:08:13 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove braces for single statement block Fix checkpatch warning found by checkpatch.pl WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8b369ea2bf80b5813ee760de4454deb2c10ee87 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jun 22 13:08:12 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove prohibited space Fix checkpatch warning found by checkpatch.pl WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a241a78952af31fcf4d33db2308fefb27c91703f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Jun 22 13:08:11 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.c: remove prohibited space before semicolon Fix checkpatch warning found by checkpatch.pl WARNING: space prohibited before semicolon Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ca1b55a49f3b8e139fb4567b966f03a734e744f Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sun Jun 21 10:56:21 2015 +0530 Staging: wilc1000: Replace memset with eth_zero_addr Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,ETH_ALEN); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e26bb71da9cf3c54cd8b1c1341a9c9b89e704ca6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Jun 30 13:51:51 2015 +0530 staging: wilc1000: fix build failure commit 80279fb7ba5b ("cfg80211: properly send NL80211_ATTR_DISCONNECTED_BY_AP in disconnect") has changed the api of cfg80211_disconnected() and caused a build failure. Add the extra argument as false since it appears from the code that the disconnection is not locally generated. And incase of doubt we can use false as that is the default behaviour. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adb11a40a3ac5225ce3746a62c2a7ebde42ec04e Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Mon Jul 6 16:51:30 2015 +0300 clk: qcom: Constify the parent names arrays Make const both the array and the strings, so they can be moved to .rodata section. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 78e50c6def9cca448dbb028b57ec92a1589edc07 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Wed Jun 17 23:28:49 2015 +0200 clk: xgene: Delete duplicated name field X-Gene clocks implement it's name in the clock private struct. This is a duplication of the name field. We can delete the field and rely on the common implementation to retrieve the name. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit bb68a4f1e5ef7f2cebe84c57e465afa68a6ab911 Author: Sergej Sawazki <ce3a@xxxxxx> Date: Sun Jun 28 16:24:56 2015 +0200 clk: Rename clk-gpio-gate.c to clk-gpio.c The file clk-gpio-gate.c does not only contain the gate clock, but also the mux clock. Rename the file to clk-gpio.c. Cc: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Sergej Sawazki <ce3a@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 80eeb1f0f757c790b020d9f425bb0e824973d49c Author: Sergej Sawazki <ce3a@xxxxxx> Date: Sun Jun 28 16:24:55 2015 +0200 clk: add gpio controlled clock multiplexer Add a common clock driver for basic gpio controlled clock multiplexers. This driver can be used for devices like 5V41068A or 831721I from IDT or for discrete multiplexer circuits. The 'select' pin selects one of two parent clocks. Cc: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Sergej Sawazki <ce3a@xxxxxx> [sboyd@xxxxxxxxxxxxxx: Fix error paths to free memory and do it in the correct order] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 281cbb007612814183d79b1f72d0395303fcfb6f Author: Sergej Sawazki <ce3a@xxxxxx> Date: Sun Jun 28 16:24:54 2015 +0200 clk: gpio-gate: Stay silent on EPROBE_DEFER Do not output an error message if requesting gpio failes with EPROBE_DEFER. Cc: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Sergej Sawazki <ce3a@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e21b08e2f3e1ebb13d5930bd994cfaada22ed58b Author: Sergej Sawazki <ce3a@xxxxxx> Date: Sun Jun 28 16:24:53 2015 +0200 clk: gpio-gate: Include export.h instead of module.h Include export.h for EXPORT_SYMBOL_GPL, no need to include module.h. Cc: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Sergej Sawazki <ce3a@xxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f75073fabd9a85028ee9ff40e7f7cbb3a869678b Merge: d770e55 7b2a463 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Jul 6 15:54:58 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: clk: mediatek: mt8173: Fix enabling of critical clocks drivers: clk: st: Fix mux bit-setting for Cortex A9 clocks drivers: clk: st: Add CLK_GET_RATE_NOCACHE flag to clocks drivers: clk: st: Fix flexgen lock init drivers: clk: st: Fix FSYN channel values drivers: clk: st: Remove unused code clk: qcom: Use parent rate when set rate to pixel RCG clock clk: at91: do not leak resources clk: stm32: Fix out-by-one error path in the index lookup clk: iproc: fix bit manipulation arithmetic clk: iproc: fix memory leak from clock name commit 5891a8d11f79b9a45a7334a63d0fa731875bc308 Author: shengyong <shengyong1@xxxxxxxxxx> Date: Thu Jun 25 02:23:14 2015 +0000 mtd: nandsim: fix double free Do not call free_device() in init_nandsim, the caller - ns_init_module - will take care of that if something goes wrong. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ec7478fa173f65e5ee5fd2ba42c59ca3e700027b Author: shengyong <shengyong1@xxxxxxxxxx> Date: Thu Jun 25 02:23:13 2015 +0000 mtd: nandsim: fix free of NULL pointer If allocating ns->nand_pages_slab fails, do not try to destroy it when cleaning up nandsim resources. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3536c97a52db2848d13512878c65affd98fd29db Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:20 2015 +0200 clk: rockchip: add rk3368 clock controller Describe the clock tree and software resets of the rk3368 ARM64 SoC Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7c8f03d5f2fae4ce625cdf93d03368825846924f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:19 2015 +0200 clk: rockchip: add missing include guards Review for the rk3368 turned up that the clock header was missing include guards. This is also true for the already existing clock binding headers, so add them. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d8567e39e4cdc938adde55d1f844bfb8e0a7eb21 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:18 2015 +0200 clk: rockchip: add dt-binding header for rk3368 Add the dt-bindings header for the rk3368, that gets shared between the clock controller and the clock references in the dts. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e76ea35ae723013392a0f61fcc16026506c0aa7f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:17 2015 +0200 dt-bindings: add documentation of rk3668 clock controller Add the devicetree binding for the cru on the rk3368 which quite similar structured as previous clock controllers. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4534b1113e4a4c649caac03f7787fbf4c4595718 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:16 2015 +0200 clk: rockchip: define the inverters of rk3066/rk3188 and rk3288 Both soc series' have inverters on the hsadc and camera interface clock paths. So define them using the newly added inverter type. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7c494ad0581a31b20d2e8c397e0a28a6ffcabf8a Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:15 2015 +0200 clk: rockchip: fix issues in the mmc-phase clock The review for the new inverter clock type uncovered some issues (missing headers and name handling) that are also present in the mmc-phase clock type, I got (to much) inspiration from. Fix these there too. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8a76f443a9ea6f7f72ede9f95fe0ca5b90f09a43 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Jul 5 11:00:14 2015 +0200 clk: rockchip: add support for phase inverters Most Rockchip socs have optional phase inverters connected to some clocks that move the clock-phase by 180 degrees. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Dropped lazy part of commit text] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6f085072534363b68c705d54b9dbbed0474ff357 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Jun 18 16:18:31 2015 +0200 clk: rockchip: add COMPOSITE_NOGATE_DIVTBL variant A clock branch consisting of a mux and divider with non-standard divider values. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2d7884a7d0e70f9509881c40eaee3f5a5c201b07 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Jun 18 16:18:30 2015 +0200 clk: rockchip: protect register macros against multipart values The macros calculate the correct offset from the id in the parameter. If this parameter does not consist of a single number, the calculation will return wrong registers in the best case or create unaligned accesses in the worst case. So protect the calculations against such values. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 101762976b8d7038934f31ffb4e19fbac9b5e1d4 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Jun 18 16:18:29 2015 +0200 clk: rockchip: fix faulty vip parent name on rk3288 The video input processor (vip) was called camera interface (cif) on older socs which seems to have resulted in a copy'n'paste error when creating the rk3288 camera clocks. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4791eb61dbe8100ccac59fecfac9d93a15db1447 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Jun 18 16:18:28 2015 +0200 clk: rockchip: rk3288: add CLK_SET_RATE_PARENT to sclk_mac The dwmac ethernet controller on the rk3288 supports phys connected via rgmii and rmii. With rgmii phys it is expected that the mac clock is provided externally while with rmii phys the clock can be external but also generated from the plls. In the later case it of course needs be at 50MHz, which gets set from the dwmac_rk driver. As most devices use a rgmii phy it never surfaced so far that the mac clk mux, doesn't go up one lever to the pll clock in the rmii case with internal clock generation, as it is missing the CLK_SET_RATE_PARENT flag, and thus will not set the correct frequency in most cases. Fixes: b9e4ba541607 ("clk: rockchip: add clock controller for rk3288") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4e317ce73aecb735f389ab0d42ae3197a55265e4 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 14:27:10 2015 -0400 ufs_inode_get{frag,block}(): get rid of 'phys' argument Just pass NULL as locked_page in case of first block in the indirect chain. Old calling conventions aside, a reason for having 'phys' was that ufs_inode_getfrag() used to be able to do _two_ allocations - indirect block and extending/reallocating a tail. We needed locked_page for the latter (it's a data), but we also needed to figure out that indirect block is metadata. So we used to pass non-NULL locked_page in all cases *and* used NULL phys as indication of being asked to allocate an indirect. With tail unpacking taken into a separate function we don't need those convolutions anymore. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0385f1f9e3e5cb17047474037002500383237f47 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 14:20:21 2015 -0400 ufs_getfrag_block(): tidy up a bit Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5fbfb238f7a0a5c4633438eb5bdfb4810995c76a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 14:10:53 2015 -0400 ufs_inode_getblock(): failure to read an indirect block is -EIO ... and not "write to beginning of the disk", TYVM... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4eeff4c9326878ff58ef6fe68d2bf22ef877e5a2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 14:08:16 2015 -0400 ufs_getfrag_block(): turn following indirects into a loop Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5336970be09becb2b59ac3812718b2cb80d33347 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 13:53:52 2015 -0400 ufs_inode_getfrag(): pass index instead of 'fragment' same story as with ufs_inode_getblock() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0f3c1294bedcc4544c68d6b84699bdaa334b11b8 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 13:40:25 2015 -0400 ufs_inode_getfrag(): split extending the partial blocks off ufs_extend_tail() is handling that now. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 619cfac09134b4de7a4f232cf3636cf43728577d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 01:23:08 2015 -0400 ufs_inode_getblock(): pass indirect block number and full index ... instead of messing with buffer_head. We can bloody well do sb_bread() in there. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 721435a7679e13f810133dbea769f87ad7bae3a1 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 01:06:21 2015 -0400 ufs_inode_getblock(): pass index instead of 'fragment' The value passed to ufs_inode_getblock() as the 3rd argument had lower bits ignored; the upper bits were shifted down and used and they actually make sense - those are _lower_ bits of index in indirect block (i.e. they form the index within a fragment within an indirect block). Pass those as argument. Upper bits of index (i.e. the number of fragment within indirect block) will join them shortly. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 177848a018cb2cb196feac2990814ac8d7bb3c8e Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 00:53:06 2015 -0400 ufs_inode_get{frag,block}(): leave sb_getblk() to caller just return the damn block number Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8d9dcf14367388674f4d792f494e6f1d6536ac95 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 00:32:42 2015 -0400 ufs_getfrag_block(): get rid of macro jungles Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit bbb3eb9d3432ce55a620778ecf5670fa7942090e Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 00:10:00 2015 -0400 ufs_inode_get{frag,block}(): consolidate success exits These calling conventions are rudiments of pre-2.3 times; they really need to be sanitized. This is the first step; next will be _always_ returning a block number, instead of this "return a pointer to buffer_head, except when we get to the actual data" crap. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 71dd42846ffb2bd1a90e9ac2c52df0cc2ed92307 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 4 14:34:43 2015 -0400 ufs: use the branch depth in ufs_getfrag_block() we'd already calculated it... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4b7068c8b178401637ef2fb068d6256c97d23f4a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 4 14:27:23 2015 -0400 ufs: move calculation of offsets into ufs_getfrag_block() ... and massage ufs_frag_map() to take those instead of fragment number. As it is, we duplicate the damn thing on the write side, open-coded and bloody hard to follow. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5a39c25562aa5eab5a798919855cf41ddeed8b0d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 22:39:46 2015 -0400 ufs_inode_get{frag,block}(): get rid of retries We are holding ->truncate_mutex, so nobody else can alter our block pointers. Rechecks/retries were needed back when we only held BKL there, and had to cope with write_begin/writepage and writepage/truncate races. Can't happen anymore... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit f53bd1421b3eb84375e9e6964665d23d4190400d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 20:17:32 2015 -0400 __ufs_truncate_blocks(): avoid excessive dirtying of indirect blocks There's a case when an indirect block gets dirtied for no good reason - when there's a hole starting in the middle of area covered by it and spanning past its end, and truncate() is done precisely to the beginning of the hole. The block is obviously not modified at all - all removals happen beyond it. However, existing code ends up dirtying it just in case. It's trivial to fix and while it's not a real bug by any stretch of imagination, it makes the damn thing harder to follow. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cc7231e30916f5326bdde55a7a4c59431e15bc1b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 20:14:02 2015 -0400 free_full_branch(): don't bother modifying the block we are going to free Note that it's already made unreachable from the inode, so we don't have to worry about ufs_frag_map() walking into something already freed. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b6eede0ec642d1be17065110718cb4f4ed7ba5e0 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 20:09:39 2015 -0400 move marking inode dirty to the end of __ufs_truncate_blocks() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 163073db51930d1f9c2960b8e5660c269164f29b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 20:07:08 2015 -0400 free_full_branch(): saner calling conventions Have caller fetch the block number *and* remove it from wherever it was. Pass the block number instead. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7b4e4f7f815db0059150a12542b28c787e19c0d7 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 19:13:02 2015 -0400 ufs_trunc_branch(): kill recursion turn recursion into a pair of loops Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6aab6dd37946d0d592105872bd533bb7d2931f3f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 17:23:34 2015 -0400 ufs_trunc_branch(): massage towards killing recursion We always have 0 < depth2 <= depth in there, so if (--depth) { if (--depth2) A B } else { C // not using depth2 } D // not using depth2 is equivalent to if (--depth2) A with s/depth/depth - 1/ if (--depth) B else C D Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6d1ebbca2b2fe516ff5f279848cffbd23d2b0270 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 17:11:49 2015 -0400 split ufs_truncate_branch() into full- and partial-branch variants Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a138b4b688c10eb82044451b81534c382d1cddbd Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 02:18:54 2015 -0400 ufs: unify the logics for collecting adjacent data blocks to free open-coded in several places... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a96574233c5d2e50736d83abf65161ec5fa55852 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 16:13:56 2015 -0400 ufs_trunc_branch(): separate the calls with non-NULL offsets Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 97e0f8f87c918620689ce542664a3115b752649d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 16:05:18 2015 -0400 ufs_trunc_branch(): never call with offsets != NULL && depth2 == 0 For calls in __ufs_truncate_blocks() it's just a matter of not incrementing offsets[0] and not making that call - immediately following loop will be executed one extra time and we'll be just fine. For recursive call in ufs_trunc_branch() itself, just assing NULL to offsets if we would be about to make such call. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 42432739b5902f72011f701f5cd5b4227ebe991c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 15:47:17 2015 -0400 __ufs_trunc_blocks(): turn the part after switch into a loop ... and turn the switch into if (), since all cases with depth != 1 have just become identical. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ef3a315d4ca179fd0b56597e695cd262a8b559b7 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 15:42:25 2015 -0400 __ufs_truncate_blocks(): unify freeing the full branches Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9e0fbbde2724d5d3bb9edca6b77e26eb28341154 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 15:33:47 2015 -0400 unify ufs_trunc_..indirect() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6775e24d9ccf6a48ebd1d31ca77db5ebfe00ce43 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:55:50 2015 -0400 ufs_trunc_..indirect(): more massage towards unifying Instead of manually checking that the array contains only zeroes, find the position of the last non-zero (in __ufs_truncate(), where we can conveniently do that) and use that to tell if there's any non-zero in the array tail passed to ufs_trunc_...indirect(). The goal of all that clumsiness is to get fold these functions together. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 85416288bf730cffb61ab6ce8a7b97b17c73458f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:36:31 2015 -0400 ufs_trunc_...indirect(): pass the array of indices instead of offsets rather than bitslicing the offset just formed as sum of shifted indices, pass the array of those indices itself. NULL is used as equivalent of "all zeroes" (== free the entire branch). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7a4fdda72451f094374324a552be9fc7de8f3e8d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:28:54 2015 -0400 __ufs_truncate(); find cutoff distances into branches by offsets[] array Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7bad5939fcd04bb83122bdb90981ec5ae2f90e0d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 14:21:09 2015 -0400 ufs_trunc_dindirect(): pass the number of blocks to keep same as the previous two. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6ac36b8777d934e3cd7eb0f023a5043d5c03b00c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 01:54:58 2015 -0400 ufs_trunc_indirect(): pass the index of the first pointer to free ... instead of file offset. Same cleanups as in the tindirect conversion in previous commit. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 18ca51d8211065f10672374336cd08d495968c73 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 13:45:07 2015 -0400 ufs_trunc_tindirect(): pass the number of blocks to keep IOW, the distance of cutoff from the begining of the branch (in blocks). That (and the fact that block just prior to cutoff is guaranteed to be present) allows to tell whether to free triple indirect block just by looking at the offset. While we are at it, using u64 for index in the block is wrong - those should be unsigned int. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 31cd043e1a09c579c4cd38ea432200fbeae6af1f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 01:10:03 2015 -0400 ufs: beginning of __ufs_truncate_block() massage Use ufs_block_to_path() to find the cutoff path in the block pointers' tree. For now just use the information about the depth (to bypass the fully preserved subtrees); subsequent commits will use the information about actual path. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4e3911f3d704d681477cdb4e1a2bfd52d5e42d23 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 4 14:13:14 2015 -0400 ufs: the offsets ufs_block_to_path() puts into array are not sector_t type makes no sense - those are indices in block number arrays, not block numbers. And no, UFS is not likely to grow indirect blocks with 4Gpointers in them... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 010d331fc315c96607aa6ecdfebb9fcdd349fc9b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 12:44:14 2015 -0400 ufs: move truncate code into inode.c It is closely tied to block pointers handling there, can benefit from existing helpers, etc. - no point keeping them apart. Trimmed the trailing whitespaces in inode.c at the same time. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0d23cf7616253b7960edeae720b9f5dfdccee445 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:52:28 2015 -0400 ufs: no retries are needed on truncate Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 687857930d9294100a4636e45b78a244e6ba4125 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:45:21 2015 -0400 ufs: ufs_trunc_...() has exclusion with everything that might cause allocations Currently - on lock_ufs(), eventually - on per-inode mutex. lock_ufs() used to be mere BKL, which is much weaker, so it needed those rechecks. BKL doesn't provide any exclusion once we lose CPU; its blind replacement, OTOH, _does_. Making that per-filesystem was an atrocity, but at least we can simplify life here. And yes, we certainly need to make that sucker per-inode - these days inode.c and truncate.c uses are needed only to protect the block pointers. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6a799d3514217d217b4e74a1ee4f016428582dc5 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:43:08 2015 -0400 ufs: ufs_trunc_direct() always returns 0 make it return void Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit dff7cfd36e305488421d82a0ed3dd0209c333745 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 04:27:05 2015 -0400 ufs: kill lock_ufs() There were 3 remaining users; in two of them we took ->s_lock immediately after lock_ufs() and held it until just before unlock_ufs(); the third one (statfs) could not be called from itself or from other two (remount and sync_fs). Just use ->s_lock in statfs and don't bother with lock_ufs at all. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 724bb09fdc06d4ff03757b25d6dba9ef1b133e8f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 12:02:56 2015 -0400 ufs: don't use lock_ufs() for block pointers tree protection * stores to block pointers are under per-inode seqlock (meta_lock) and mutex (truncate_mutex) * fetches of block pointers are either under truncate_mutex, or wrapped into seqretry loop on meta_lock * all changes of ->i_size are under truncate_mutex and i_mutex * all changes of ->i_lastfrag are under truncate_mutex It's similar to what ext2 is doing; the main difference is that unlike ext2 we can't rely upon the atomicity of stores into block pointers - on UFS2 they are 64bit. So we can't cut the corner when switching a pointer from NULL to non-NULL as we could in ext2_splice_branch() and need to use meta_lock on all modifications. We use seqlock where ext2 uses rwlock; ext2 could probably also benefit from such change... Another non-trivial difference is that with UFS we *cannot* have reader grab truncate_mutex in case of race - it has to keep retrying. That might be possible to change, but not until we lift tail unpacking several levels up in call chain. After that commit we do *NOT* hold fs-wide serialization on accesses to block pointers anymore. Moreover, lock_ufs() can become a normal mutex now - it's only used on statfs, remount and sync_fs and none of those uses are recursive. As the matter of fact, *now* it can be collapsed with ->s_lock, and be eventually replaced with saner per-cylinder-group spinlocks, but that's a separate story. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4af7b2c080715b9452fdaefb7ada72b4dc79593e Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 19:26:18 2015 -0400 ufs: bforget() indirect blocks before freeing them right now it doesn't matter (lock_ufs() serializes everything), but when we switch to per-inode locking, it will be needed. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 493b4537a26b104fb3bd07ff4a46b6ede4288e76 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:17:28 2015 -0400 ufs: move lock_ufs() down into __ufs_truncate_blocks() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2401aa29ab5c42cc34853a5c1457fbf66593690f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:15:07 2015 -0400 ufs: move truncate_setsize() down into ufs_truncate() just prior to __ufs_truncate_blocks(), with matching change of calling conventions Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3b7a3a05e8b006a73c406230b3d2d3da920779d9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:06:40 2015 -0400 ufs: free excessive blocks upon ->write_begin() failure/short copy Broken in "[PATCH] ufs: truncate should allocate block for last byte"; all way back in 2006. ufs_setattr() hadn't been the only user of vmtruncate() and eliminating ->truncate() method required corrections in a bunch of places. Eventually those places had migrated into ->write_begin() failure exit and ->write_end() after short copy... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d622f167b8435c856376edec130053fb56bf83e4 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 18:04:16 2015 -0400 ufs: switch ufs_evict_inode() to trimmed-down variant of ufs_truncate() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit f3e0f3da1b65e84ea82176c1cda03a4b694c9911 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 02:35:14 2015 -0400 ufs: kill more lock_ufs() calls a) move it inside ufs_truncate() b) ufs_free_inode() doesn't need it - it's serialized on ->s_lock c) ufs_write_inode() doesn't need it either (and can be called without it anyway). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fe052a1810ec4687ee7d606290561af504047707 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Mon Jun 29 13:08:19 2015 +0300 target: Use struct t10_pi_tuple Its not a good idea to keep target specific definition of the same t10-pi tuple. (Fix v4.2-rc1 patch fuzz - nab) Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 70cfef26267474f94ff4a988fb45ff78442b1cf4 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Jun 29 09:04:43 2015 +0900 regulator: Add lockdep asserts to help detecting locking misuse Add lockdep_assert_held_once() to functions explicitly mentioning that rdev or regulator_list mutex must be held. Using WARN_ONCE shouldn't pollute the dmesg to much. The patch (if CONFIG_LOCKDEP enabled) will show warnings in certain regulators calling regulator_notifier_call_chain() without rdev->mutex held. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 83dcf400be7165af938dbd6b8ce6805c754701db Merge: 392d39c d770e55 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 6 13:54:28 2015 -0700 Merge 4.2-rc1 into MTD -next commit d1ec4c34c7a9f328e43ea87522119258194f28f8 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed May 13 10:41:58 2015 -0700 rcu: Drop RCU_USER_QS in favor of NO_HZ_FULL The RCU_USER_QS Kconfig parameter is now just a synonym for NO_HZ_FULL, so this commit eliminates RCU_USER_QS, replacing all uses with NO_HZ_FULL. Reported-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 0bc7d10c4abb7cec52d4d88f761476ed04225c83 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Jun 28 11:41:19 2015 +0800 ASoC: rt5645: Constify dmi_system_id table dmi_check_system() takes "const struct dmi_system_id *", so make the dmi_system_id table const. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93d5fc8bd143d94105279796451dcfd3d657453a Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 22:52:12 2015 +0800 ASoC: wm0010: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aa0bcc5c44437457307c8c22e57a67bb57424041 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:59:01 2015 +0300 ASoC: rt5677: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 387ad57fe187b10fb4dec521e8d0ba5cefae7b35 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:59:00 2015 +0300 ASoC: rt5670: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 469444fb134259384f3396833f6f1edde8bae203 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:58:59 2015 +0300 ASoC: rt5651: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8f68e80f5f434980ab9bae713bab6a3ff1ac07df Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:58:58 2015 +0300 ASoC: rt5645: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 818454d1abcc127eef7e7d1cb169c69f53f7cd6d Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:58:57 2015 +0300 ASoC: rt5640: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e608aaefd8f3b868866a2438dbad8e01cb0ce993 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Jun 25 13:58:56 2015 +0300 ASoC: rt286: Prefix hexadecimal ID register value with 0x in error print Make it obvious that unexpected value read from ID register is printed in hexadecimal. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d49796317d4968b29ccdee7b9586385ae20b60a3 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jun 24 10:55:24 2015 +0800 ASoC: gtm601: Fix modalias The MODULE_ALIAS needs to match the driver name to make module auto-loading work. Also move MODULE_ALIAS close to other MODULE_* macro. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit beb5f8659ccd89a70b0a3ff28e32dbd8065df818 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Jun 22 23:48:25 2015 +0800 ASoC: gtm601_dai can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 726f783e803cc254b1a8a9a1dc3e5808fee02760 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Jun 22 23:36:03 2015 +0800 ASoC: fix platform_no_drv_owner.cocci warnings sound/soc/codecs/gtm601.c:86:4-9: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci CC: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1fdc5ae80868637926e76a32e8c62cdd093b48f4 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Sat Jun 20 22:47:02 2015 +0200 Documentation: vendor-prefixes: Add option prefix Add option to vendor-prefixes file which will be used for Option NV company. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit efc4720dfbf737903ca4c1366bc45ca780d13412 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Sat Jun 20 22:47:01 2015 +0200 ASoC: Add gtm601 codec driver This driver add PCM interface to a GTM601 UMTS modem chip. There is no configuration interface. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d26a5b6e80c87fd8fd136eb0a334fc7960ac9699 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jul 2 17:42:46 2015 +0300 drm/i915: Disable LVDS port after the pipe on PCH Follow the correct pipe vs port disable sequence for the PCH LVDS ports, ie. disable the port after the pipe. Other PCH port were already converted in the following commits: 1ea56e269e136544c0a76dc831c5edc27c47cb3c drm/i915: Disable CRT port after pipe on PCH platforms 3c65d1d1bb92ea959e8bce3eeae90fe5c3daa58a drm/i915: Disable SDVO port after the pipe on PCH platforms a4790cec3adf5eec91f397b1884706a71c70730f drm/i915: Disable HDMI port after the pipe on PCH platforms 08aff3fe26ae7a0d6f302ac2e1b7e2eb9933cd42 drm/i915: Move DP port disable to post_disable for pch platforms but LVDS was forgotten. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c07a2d1194fc694785771643c413c44adf7635d3 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Jul 6 09:19:24 2015 -0700 drm/i915: Don't dereference NULL plane while setting up scalers intel_atomic_setup_scalers() dereferences 'plane' before the plane has been assigned. The plane ID assignment doing this dereference is only needed for debugging messages later in the function, so just move the assignment farther down the function to a point where plane will no longer be NULL. This was introduced in: commit 133b0d128be39e308ccd3b3d765c31ebdbf5380e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:39 2015 +0200 drm/i915: Clean up intel_atomic_setup_scalers slightly. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Reported-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 91780c41a9e03ca6c351a0b2152662139b94b274 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 6 17:29:04 2015 +0300 x86/platform/intel/pmc_atom: Move the PMC-Atom code to arch/x86/platform/atom This is specific driver for Intel Atom SoCs like BayTrail and Braswell. Let's move it to dedicated folder and alleviate a arch/x86/kernel burden. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J . Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436192944-56496-6-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2b8f8eddaf05c02bb4a21db5be1691e36e242c65 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 6 17:29:03 2015 +0300 x86/platform/intel/pmc_atom: Add Cherrytrail PMC interface The patch adds CHT PMC interface. This exposes all the South IP device power states and S0ix states for CHT. The bit map of FUNC_DIS and D3_STS_0 registers for SoCs are consistent. The D3_STS_1 and FUNC_DIS_2 registers, however, are not aligned. This is fixed by splitting a common mapping on per register basis. (Originally based on code from Kumar P Mahesh.) Originally-from: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J . Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436192944-56496-5-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c84e358718a66f76ac0de1681d15d8d0c68fcdab Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Jun 24 08:17:04 2015 +0200 soc: Mediatek: Add SCPSYS power domain driver This adds a power domain driver for the Mediatek SCPSYS unit. The System Control Processor System (SCPSYS) has several power management related tasks in the system. The tasks include thermal measurement, dynamic voltage frequency scaling (DVFS), interrupt filter and lowlevel sleep control. The System Power Manager (SPM) inside the SCPSYS is for the MTCMOS power domain control. For now this driver only adds power domain support, the more advanced features are not yet supported. The driver implements the generic PM domain device tree bindings, the first user will most likely be the Mediatek AFE audio driver. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 859e42800bcfc4db9cefaa2c24d6e3a203fe961d Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Jun 24 08:17:03 2015 +0200 dt-bindings: soc: Add documentation for the MediaTek SCPSYS unit This adds documentation for the MediaTek SCPSYS unit found in MT8173 SoCs. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 16a624a9c81814cc2f1353eff2e502430c3fa79a Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Jun 24 08:17:02 2015 +0200 soc: mediatek: Add infracfg misc driver support This adds support for some miscellaneous bits of the infracfg controller. The mtk_infracfg_set/clear_bus_protection functions are necessary for the scpsys power domain driver to handle the bus protection bits which are contained in the infacfg register space. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 720570b14bb7c7494b0dbc2acc0d2065a490d31b Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Fri Jul 3 10:28:26 2015 +0800 dts: mt8173-evb: Add da9211 to i2c1 Add a DA9211 dual-channel BUCK regulator to i2c1. This regulator supplies GPU and DVFS1 voltages. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit ad4df7a53a148e2e9d917e254b4e9ec9fc860ac9 Author: Howard Chen <howard.chen@xxxxxxxxxx> Date: Thu Jun 4 15:13:37 2015 +0800 ARM: dts: mt8173: support arm64 cpuidle-dt This patch adds an idle-states node to describe the mt8173 idle states and also adds references to the idle-states node in all CPU nodes. Signed-off-by: Howard Chen <howard.chen@xxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit c010ff530a04ca63d120e1fad0f4268302c5e845 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Jun 24 08:17:05 2015 +0200 ARM64: MediaTek MT8173: Add SCPSYS device node This adds the SCPSYS device node to the MT8173 dtsi file. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 091cf59891df5d969525d06a4da44e1a2a0e84d1 Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Wed Jun 17 23:08:03 2015 +0800 arm64: dts: mt8173: Add I2C device node Add MT8173 I2C device nodes, include I2C controllers and pins. MT8173 has six I2C controllers, from i2c0 to i2c6, exclude i2c5. The 6th I2C controller register base doesn't next to 5th I2C, and there is a hardware between 5th and 6th I2C controller. So SoC designer name 6th controller as "i2c6", not "i2c5". Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 13421b3e8a16921dde592e3309cee15f3be1d93b Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Mon Jun 1 21:08:26 2015 +0800 arm64: dts: mt8173: Add watchdog device node Add MT8173 watchdog device node. Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 6cf15fc2a1aa062476c26e1895640d1c61f60a72 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed May 20 15:32:46 2015 +0200 arm64: dts: mt8173: Add PMIC wrapper device node This adds the device node for the PMIC wrapper. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 0e84faa163c8ad42fec05d26907af8079d418bfc Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed May 20 15:32:45 2015 +0200 arm64: dts: mt8173: Use real clock for UARTs We used to use a fixed rate clock for the UARTs. Now that we have clock support we can associate the correct clocks to the UARTs and drop the 26MHz fixed rate UART clock. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit f2ce701495683936d349ab905feba74c7b572c93 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed May 20 15:32:44 2015 +0200 arm64: dts: mt8173: Add clock controller device nodes This adds the device nodes providing clocks on the Mediatek MT8173. These are: topckgen, infracfg, pericfg and apmixedsys. These are fed by two oscillators also added by this patch. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 60cd37eb100c4880b28078a47f3062fac7572095 Merge: ebf2d26 ab85785 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Jul 6 17:46:15 2015 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: - Take tracefs into account when reporting errors about accessing tracepoint information in tools like 'perf trace' (Arnaldo Carvalho de Melo) - Let user have timestamps with per-thread recording in 'perf record' (Adrian Hunter) Infrastructure changes: - Introduce series of functions to build event filters so that we can set them in just one ioctl call, useful to set up common_pid, raw_syscalls:sys_{enter,exit}'s "id" filters to use with 'perf trace' (Arnaldo Carvalho de Melo) - Delete an unnecessary check before calling strfilter__delete() (Markus Elfring) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 940406d1cfb5b35cb9716d186fe3e6308f2700c5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 6 17:29:02 2015 +0300 x86/platform/intel/pmc_atom: Supply register mappings via PMC object The patch converts the functions to use the register mappings provided by PMC object. It would help in case of mappings on different platforms. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Cc: Rafael J . Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Link: http://lkml.kernel.org/r/1436192944-56496-4-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c3c65aa6d43f9e9f23f688848b08ffec97be893b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 6 17:29:01 2015 +0300 x86/platform/intel/pmc_atom: Print index of device in loop The register mapping may change from one platform to another. Thus, indices might be not the same on different platforms. The patch makes the code to print the device index dynamically at run time. The patch also changes the for loop to iterate over the map until a terminator is found. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Cc: Rafael J . Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Link: http://lkml.kernel.org/r/1436192944-56496-3-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 68872eb9b19bbd85883262a4e0927b487653816c Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Jul 6 17:29:00 2015 +0300 x86/platform/intel/pmc_atom: Export accessors to PMC registers Export the pmc_atom_read() and pmc_atom_write() accessors to the PMC registers. On early initcall stages the functions will return -ENODEV, and caller has to wait when it will be available. Additionally make absence of debugfs a non-fatal error. The patch will be useful for the upcoming fixes regarding to the LPSS block found on Intel BayTrail-T and Braswell. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx> Cc: Kumar P Mahesh <mahesh.kumar.p@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J . Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1436192944-56496-2-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ab85785aa13c36440a91a8e9f7616357de411a1f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Jul 6 08:51:41 2015 -0300 tools lib api debugfs: Check for tracefs when reporting errors Now that we have two mountpoints, one for debugfs and another, for tracefs, we end up needing to check permissions for both, so, on a system with default config we were always asking the user to check the permission of the debugfs mountpoint, even when it was already sufficient. Fix it. E.g.: $ trace -e nanosleep usleep 1 Error: No permissions to read /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit) Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug' $ sudo mount -o remount,mode=755 /sys/kernel/debug $ trace -e nanosleep usleep 1 Error: No permissions to read /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit) Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing' $ sudo mount -o remount,mode=755 /sys/kernel/debug/tracing $ trace -e nanosleep usleep 1 0.326 ( 0.061 ms): usleep/11961 nanosleep(rqtp: 0x7ffef1081c50) = 0 $ Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0viljeuhc7q84ic8kobsna43@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1cff8cc35bd310419cd2545ddcb65b329bdc1053 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 11:09:25 2015 +0300 drm/i915: Mark elsps submitted when they are pushed to hw Now when we have requests this deep on call chain, we can mark the elsp being submitted when it actually is. Remove temp variable and readjust commenting to more closely fit to the code. v2: Avoid tmp variable and reduce number of writes (Chris) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8ee36152cfb087af22680ee394dcde262565fd73 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 17:09:37 2015 +0300 drm/i915: Convert execlists_ctx_descriptor() for requests Pass around requests to carry context deeper in callchain. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cc3c42532c312c60f8499e22bbdb895ed5ce1d73 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 17:09:36 2015 +0300 drm/i915: Convert execlists_elsp_writ() for requests Pass around requests to carry context deeper in callchain. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8ba319da898fcecdac158cb46ca69e38b2b08da3 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 17:09:35 2015 +0300 drm/i915: Convert intel_lr_context_pin() for requests Pass around requests to carry context deeper in callchain. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f3cc01f0948c1deb12cfb1da2959f391229c9d4b Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 11:08:30 2015 +0300 drm/i915: Assign request ringbuf before pin In preparation to make intel_lr_context_pin|unpin to accept requests, assign ringbuf into request before we call the pinning. v2: No need to unset ringbuf on error path (Chris) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 05d9824bfb40e211c8804fee65af1fbb736925a2 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 17:09:33 2015 +0300 drm/i915: Convert execlists_update_context() for requests Pass around requests to carry context deeper in callchain. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d8cb8875ac60e2832614a2c48af236b5899cf209 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 17:09:32 2015 +0300 drm/i915: Convert execlist_submit_contexts() for requests Pass around requests to carry context deeper in callchain. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d264b48687fab995fe970451ed11f4259d68aee1 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Jun 26 13:17:42 2015 +0300 dmaengine: Remove remaining FSF mailing addresses Commit 3b62286d0ef7 ("dmaengine: Remove FSF mailing addresses") left Free Software Foundation mailing address still in two files. Remove it now. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9b54050bfe438d9e1108211d28cb0b995b1f347c Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:21 2015 -0400 x86/compat: Separate ia32 and x32 compat ABIs The x32 ABI is now independent of the ia32 compat ABI. Common code is now conditional on CONFIG_COMPAT, but unshared code like syscall entry, signal handling, and the VDSO are under separate config options. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-13-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0c3619ea6756833e5c636c886cb55ca5b77f5d73 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:20 2015 -0400 x86/compat: Clean up HAVE_UID16 config Merge the 32-bit compat config setting for HAVE_UID16 with the 32-bit native one. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-12-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3bead553ab657d482c3fd6559a1fd7f024414a63 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:19 2015 -0400 x86/compat: Define ARCH_WANT_OLD_COMPAT_IPC only for 32-bit compat x32 does not need CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-11-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5e2aad2460bd38d0777052486893b32902efcdcd Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:18 2015 -0400 x86/compat: Remove unneeded #include Including sys_ia32.h is not needed in signal.c. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-10-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 10ed34935e7e828ce4ce566647a2d6b8240e4dee Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:17 2015 -0400 x86/compat, x86/perf: Don't build perf_callchain_user32() on x32 perf_callchain_user32() is not needed for x32. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-9-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c338867d0e4224771c68d0a7727289b86c23eccd Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:16 2015 -0400 x86/compat: Check for both 32-bit compat and x32 in get_gate_vma() Change this to CONFIG_COMPAT so both 32-bit compat and x32 will do the check. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-8-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ab8b82ee6dad7c9c257f450d14719a0e3f327244 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:15 2015 -0400 x86/compat: Don't build the 32-bit VDSO if not needed Build the 32-bit vdso only for native 32-bit or 32-bit compat is enabled. x32 should not force it to build. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-7-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 601275c3e04c43b3b34237ab36c27fc1cfb8a189 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:14 2015 -0400 x86/compat: Factor out ia32 compat code from compat_arch_ptrace() Move the ia32-specific code in compat_arch_ptrace() into its own function. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-6-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7da770785f9740af1cb24b8fd63075543bd00711 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:13 2015 -0400 x86/compat: Rename 'start_thread_ia32' to 'compat_start_thread' This function is shared between the 32-bit compat and x32 ABIs. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-5-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b829d1be20ab51a3b76ec003118c9260d1fa424e Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:12 2015 -0400 x86/compat: Move ucontext_x32 to sigframe.h ia32.h should only contain the code for 32-bit compatability. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-4-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b2e02b820d5b42479195b89d3d73f31bcedb264e Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:11 2015 -0400 x86/compat: Make mmap_is_ia32() common compat TIF_ADDR32 is set for both ia32 and x32 tasks, so change from CONFIG_IA32_EMULATION to CONFIG_COMPAT. Use config_enabled() to make the function more readable. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-3-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c0bfd26e136cafc2b23c16225b4d7b1e14de81c1 Author: Brian Gerst <brgerst@xxxxxxxxx> Date: Mon Jun 22 07:55:10 2015 -0400 x86/compat: Move copy_siginfo_*_user32() to signal_compat.c copy_siginfo_to_user32() and copy_siginfo_from_user32() are used by both the 32-bit compat and x32 ABIs. Move them to signal_compat.c. Signed-off-by: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434974121-32575-2-git-send-email-brgerst@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5a33fcb8d991209bac0a266ab499e4b53d116cdd Author: George Spelvin <linux@xxxxxxxxxxx> Date: Thu Jun 25 18:44:13 2015 +0200 x86/asm/tsc: Save an instruction in DECLARE_ARGS users Before, the code to do RDTSC looked like: rdtsc shl $0x20, %rdx mov %eax, %eax or %rdx, %rax The "mov %eax, %eax" is required to clear the high 32 bits of RAX. By declaring low and high as 64-bit variables, the code is simplified to: rdtsc shl $0x20,%rdx or %rdx,%rax Yes, it's a 2-byte instruction that's not on a critical path, but there are principles to be upheld. Every user of EAX_EDX_RET has been checked. I tried to check users of EAX_EDX_ARGS, but there weren't any, so I deleted it to be safe. ( There's no benefit to making "high" 64 bits, but it was the simplest way to proceed. ) Signed-off-by: George Spelvin <linux@xxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: jacob.jun.pan@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150618075906.4615.qmail@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bb8dd96032fc63babfc8b378a37dd7681eeec326 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:12 2015 +0200 x86/asm/tsc: Remove rdtsc_barrier() All callers have been converted to rdtsc_ordered(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/9baa4ae9a1e7c7c282f9cb2f15bb6bf5c2004032.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 502dfeff239e8313bfbe906ca0a1a6827ac8481b Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:11 2015 +0200 x86/asm/tsc, x86/kvm: Drop open-coded barrier and use rdtsc_ordered() in kvmclock __pvclock_read_cycles() used to have two barriers, one of which was unnecessary, which got removed after an initial version of this patch was sent. But the barrier is still open-coded unnecessarily - get rid of that barrier and clean up the code by just using rdtsc_ordered(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Radim Krcmar <rkrcmar@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/678981cc4761fb38a793c217c9cac42503cf3719.1434501121.git.luto@xxxxxxxxxx [ Ported it to v4.2-rc1. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 27c634054a3155e1d9a02f0e362e4f4ff8d28ee7 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:10 2015 +0200 x86/asm/tsc: Use rdtsc_ordered() in read_tsc() instead of get_cycles() There are two logical changes here. First, this removes a check for cpu_has_tsc. That check is unnecessary, as we don't register the TSC as a clocksource on systems that have no TSC. Second, it adds a barrier, thus preventing observable non-monotonicity. I suspect that the missing barrier was never a problem in practice because system calls themselves were heavy enough barriers to prevent user code from observing time warps due to speculation. (Without the corresponding barrier in the vDSO, however, non-monotonicity is easy to detect.) Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/c6ff621a053127a65b70f175443578db7a0711be.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eee6946e44510b61c35cf754f5505537c7a8eb77 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:09 2015 +0200 x86/asm/tsc/sync: Use rdtsc_ordered() in check_tsc_warp() and drop extra barriers Using get_cycles was unnecessary: check_tsc_warp() is not called on TSC-less systems. Replace rdtsc_barrier(); get_cycles() with rdtsc_ordered(). While we're at it, make the somewhat more dangerous change of removing barrier_before_rdtsc after RDTSC in the TSC warp check code. This should be okay, though -- the vDSO TSC code doesn't have that barrier, so, if removing the barrier from the warp check would cause us to detect a warp that we otherwise wouldn't detect, then we have a genuine bug. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/387c4c3a75f875bcde6cd68cee013273a744f364.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 03b9730b769fc4d87e40f6104f4c5b2e43889f19 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:08 2015 +0200 x86/asm/tsc: Add rdtsc_ordered() and use it in trivial call sites rdtsc_barrier(); rdtsc() is an unnecessary mouthful and requires more thought than should be necessary. Add an rdtsc_ordered() helper and replace the trivial call sites with it. This should not change generated code. The duplication of the fence asm is temporary. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/dddbf98a2af53312e9aa73a5a2b1622fe5d6f52b.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4ea1636b04dbd66536fa387bae2eea463efc705b Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:07 2015 +0200 x86/asm/tsc: Rename native_read_tsc() to rdtsc() Now that there is no paravirt TSC, the "native" is inappropriate. The function does RDTSC, so give it the obvious name: rdtsc(). Suggested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/fd43e16281991f096c1e4d21574d9e1402c62d39.1434501121.git.luto@xxxxxxxxxx [ Ported it to v4.2-rc1. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe47ae6e1a5005b2e82f7eab57b5c3820453293a Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:06 2015 +0200 x86/asm/tsc: Remove rdtscl() It has no more callers, and it was never a very sensible interface to begin with. Users of the TSC should either read all 64 bits or explicitly throw out the high bits. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/250105f7cee519be9d7fc4464b5784caafc8f4fe.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 732f374ba50b64150bf954c2d4e9f6fae583cccf Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:05 2015 +0200 x86/asm/tsc, drivers/input/gameport: Replace rdtscl() with native_read_tsc() It's unclear to me why this code exists in the first place. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Cc: linux-input@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/9e058e72f4cf1f13c6483c1360b39c3d188a2c2a.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 016bfc449a88c833e949414a41748b359843dbb1 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:04 2015 +0200 x86/asm/tsc, input/joystick/analog: Switch from rdtscl() to native_read_tsc() This timing code is hideous, and this doesn't help. It gets rid of one of the last users of rdtscl(), though. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Cc: linux-input@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/90d19b3cea0e05ca6f333d1598daa38afb993260.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3a2c16c8489d967de10b3b7f5cc0f7cab4337770 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:03 2015 +0200 x86/asm/tsc, staging/lirc_serial: Remove TSC-based timing It wasn't compiled in by default. I suspect that the driver was and still is broken, though -- it's calling udelay with a parameter that's derived from loops_per_jiffy. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: Jarod Wilson <jarod@xxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/c95df47c5405b494d19d20b2852a9378c9f661f3.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e18d1f8df176527332761ac29ee3097f8584c478 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:02 2015 +0200 x86/asm/tsc, drivers/net/hamradio/baycom_epp: Replace rdtscl() with native_read_tsc() This is only used if BAYCOM_DEBUG is defined. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Thomas Sailer <t.sailer@xxxxxxxxxxxxxx Acked-by: Walter Harms <wharms@xxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Cc: linux-hams@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1195ce0c7f34169ff3006341b77806184a46b9bf.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3796366614598e48edf0561b86f18c230a7debc8 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:01 2015 +0200 x86/asm/tsc, x86/cpu/amd: Use the full 64-bit TSC to detect the 2.6.2 bug This code is timing 100k indirect calls, so the added overhead of counting the number of cycles elapsed as a 64-bit number should be insignificant. Drop the optimization of using a 32-bit count. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d58f339a9c0dd8352b50d2f7a216f67ec2844f20.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9cfa1a0279e22063a727fd204a75cf3672860d83 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:44:00 2015 +0200 x86/asm/tsc: Use the full 64-bit TSC in delay_tsc() As a very minor optimization, delay_tsc() was only using the low 32 bits of the TSC. It's a delay function, so just use the whole thing. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/bd1a277c71321b67c4794970cb5ace05efe21ab6.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ec69de52c648b1d9416a810943e68dbe9fe519f4 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:43:59 2015 +0200 x86/asm/tsc: Remove the rdtscp() and rdtscpll() macros They have no users. Leave native_read_tscp() which seems potentially useful despite also having no callers. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/6abfa3ef80534b5d73898a48c4d25e069303cbe5.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 87be28aaf1458445d5f648688c2eec0f13b8f3b9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:43:58 2015 +0200 x86/asm/tsc: Replace rdtscll() with native_read_tsc() Now that the ->read_tsc() paravirt hook is gone, rdtscll() is just a wrapper around native_read_tsc(). Unwrap it. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d2449ae62c1b1fb90195bcfb19ef4a35883a04dc.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9261e050b686c9fe229cd9918d997b3caaf20e34 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:43:57 2015 +0200 x86/asm/tsc, x86/paravirt: Remove read_tsc() and read_tscp() paravirt hooks We've had ->read_tsc() and ->read_tscp() paravirt hooks since the very beginning of paravirt, i.e., d3561b7fa0fb ("[PATCH] paravirt: header and stubs for paravirtualisation"). AFAICT, the only paravirt guest implementation that ever replaced these calls was vmware, and it's gone. Arguably even vmware shouldn't have hooked RDTSC -- we fully support systems that don't have a TSC at all, so there's no point for a paravirt implementation to pretend that we have a TSC but to replace it. I also doubt that these hooks actually worked. Calls to rdtscl() and rdtscll(), which respected the hooks, were used seemingly interchangeably with native_read_tsc(), which did not. Just remove them. If anyone ever needs them again, they can try to make a case for why they need them. Before, on a paravirt config: text data bss dec hex filename 12618257 1816384 1093632 15528273 ecf151 vmlinux After: text data bss dec hex filename 12617207 1816384 1093632 15527223 eced37 vmlinux Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/d08a2600fb298af163681e5efd8e599d889a5b97.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 881d7bf843d7139c6dfbffdec4903b3354423c49 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:43:56 2015 +0200 x86/asm/tsc, kvm: Remove vget_cycles() The only caller was KVM's read_tsc(). The only difference between vget_cycles() and native_read_tsc() was that vget_cycles() returned zero instead of crashing on TSC-less systems. KVM already checks vclock_mode() before calling that function, so the extra check is unnecessary. Also, KVM (host-side) requires the TSC to exist. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20615df14ae2eb713ea7a5f5123c1dc4c7ca993d.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c6e5ca35c4685cd920b1d5279dbc9f4483d7dfd4 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Thu Jun 25 18:43:55 2015 +0200 x86/asm/tsc: Inline native_read_tsc() and remove __native_read_tsc() In the following commit: cdc7957d1954 ("x86: move native_read_tsc() offline") ... native_read_tsc() was moved out of line, presumably for some now-obsolete vDSO-related reason. Undo it. The entire rdtsc, shl, or sequence is only 11 bytes, and calls via rdtscl() and similar helpers were already inlined. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kvm ML <kvm@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/d05ffe2aaf8468ca475ebc00efad7b2fa174af19.1434501121.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 35ca0ee49d2973976f89f07eb842782a39d20a14 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Jun 8 10:33:16 2015 +0200 dmaengine: at_xdmac: fix indentation Fix indentation. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c73e36b775a777abd67a1e15481923fcbd2040e1 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Jul 3 22:19:02 2015 +0200 x86/asm/entry/32: Replace RESTORE_RSI_RDI with open-coded 32-bit reads This doesn't change much, but uses shorter 32-bit insns: -48 8b 74 24 68 mov 0x68(%rsp),%rsi -48 8b 7c 24 70 mov 0x70(%rsp),%rdi -48 8b 54 24 60 mov 0x60(%rsp),%rdx +8b 54 24 60 mov 0x60(%rsp),%edx +8b 74 24 68 mov 0x68(%rsp),%esi +8b 7c 24 70 mov 0x70(%rsp),%edi and does the loads in pt_regs order. Since these are the only uses of RESTORE_RSI_RDI[_RDX], drop these macros. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1435954742-2545-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a647828afc7d7d352aeb076dbc03bd952b09b1e3 Author: Niu,Bing <bing.niu@xxxxxxxxx> Date: Sat Jul 4 00:27:34 2015 +0800 drm/i915: Also perform gpu reset under execlist mode. It is found that i915 will not reset gpu under execlist mode when unload module. that will lead to some issues when unload/load module with different submission mode. e.g. from execlist mode to ring buffer mode via loading/unloading i915. Because HW is not in a reset state and registers are not clean under such condition. Signed-off-by: Niu,Bing <bing.niu@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9e00084750c0f0603ec8a6ff15e0bcf78b8202bd Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Jul 3 14:27:31 2015 +0100 drm/i915: Update WaFlushCoherentL3CacheLinesAtContextSwitch In this WA we need to set GEN8_L3SQCREG4[21:21] and reset it after PIPE_CONTROL instruction but there is a slight complication as this is applied in WA batch where the values are only initialized once. Dave identified an issue with the current implementation where the register value is read once at the beginning and it is reused; this patch corrects this by saving the register value to memory, update register with the bit of our interest and restore it back with original value. This implementation uses MI_LOAD_REGISTER_MEM which is currently only used by command parser and was using a default length of 0. This is now updated with correct length and moved to appropriate place. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0bf73c361f986a04af332600bf06476c8f481c5b Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jul 3 15:40:54 2015 -0300 drm/i915: protect FBC functions with FBC checks Now all the functions called by other files check whether FBC has been initialized. This allows us to drop the checks on the static functions. v2: - s/HAS_FBC/dev_priv->display.enable_fbc/ everywhere but the init function (Chris). Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c80ac8548d167dfb7affdb997d99d875bb1a28a3 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:13 2015 -0300 drm/i915: FBC doesn't need struct_mutex anymore Everything is covered either by fbc.lock or mm.stolen_lock, and intel_fbc.c is already responsible for grabbing the appropriate locks when it needs them. Reviewed-by: Chris wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b5e4b84d9f12b093780a4e90e51604c3b4706cde Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:12 2015 -0300 drm/i915: intel_unregister_dsm_handler() doesn't need struct_mutex So don't grab the lock before calling the function. Reviewed-by: Chris wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5abeca4ec5d425538b73af58076990823a744e2a Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:11 2015 -0300 drm/i915: intel_frontbuffer_flip_prepare() doesn't need struct_mutex So release the lock earlier. Reviewed-by: Chris wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 25ad93fd9f0513df41f70327cca19d51369f1674 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:10 2015 -0300 drm/i915: add the FBC mutex Make sure we're not going to have weird races in really weird cases where a lot of different CRTCs are doing rendering and modesets at the same time. With this change and the stolen_lock from the previous patch, we can start removing the struct_mutex locking we have around FBC in the next patches. v2: - Rebase (6 months later) - Also lock debugfs and stolen. v3: - Don't lock a single value read (Chris). - Replace lockdep assertions with WARNs (Daniel). - Improve commit message. - Don't forget intel_pre_plane_update() locking. v4: - Don't remove struct_mutex at intel_pre_plane_update() (Chris). - Add comment regarding locking dependencies (Chris). - Rebase after the stolen code rework. - Rebase again after drm-intel-nightly changes. v5: - Rebase after the new stolen_lock patch. Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> (v4) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 92e97d2f47616b144feb86db489e134935b021b8 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:09 2015 -0300 drm/i915: add dev_priv->mm.stolen_lock Which should protect dev_priv->mm.stolen usage. This will allow us to simplify the relationship between stolen memory, FBC and struct_mutex. v2: - Rebase after the stolen_remove_node() dev_priv patch move. - I realized that after we fixed a few things related to the FBC CFB size checks, we're not reallocating the CFB anymore with FBC enabled, so we can just move all the locking to i915_gem_stolen.c and stop worrying about freezing all the stolen alocations while freeing/rellocating the CFB. This allows us to fix the "Too coarse" observation from Chris. Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc786728ee8acc76e22769af3b2df67b94cd49b6 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:08 2015 -0300 drm/i915: move FBC code out of i915_gem_stolen.c With the abstractions created by the last patch, we can move this code and the only thing inside intel_fbc.c that knows about dev_priv->mm is the code that reads stolen_base. We also had to move a call to i915_gem_stolen_cleanup_compression() - now called intel_fbc_cleanup_cfb() - outside i915_gem_stolen.c. v2: - Rebase after the remove_node() changes on the previous patch. Requested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d713fd4976f2838ca2ebccdc187256edb46bd48e Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 2 19:25:07 2015 -0300 drm/i915: add simple wrappers for stolen node insertion/removal We want to move the FBC code out of i915_gem_stolen.c, but that code directly adds/removes stolen memory nodes. Let's create this abstraction, so i915_gme_stolen.c is still in control of all the stolen memory handling. The abstraction will also allow us to add locking assertions later. v2: - Add dev_priv as remove_node() argument since we'll need it later (Chris). Requested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0e06e5be70d392aa842c1455ec2d0baf62aeed48 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Fri Jun 19 11:50:01 2015 -0400 locking/qrwlock: Better optimization for interrupt context readers The qrwlock is fair in the process context, but becoming unfair when in the interrupt context to support use cases like the tasklist_lock. The current code isn't that well-documented on what happens when in the interrupt context. The rspin_until_writer_unlock() will only spin if the writer has gotten the lock. If the writer is still in the waiting state, the increment in the reader count will cause the writer to remain in the waiting state and the new interrupt context reader will get the lock and return immediately. The current code, however, does an additional read of the lock value which is not necessary as the information has already been there in the fast path. This may sometime cause an additional cacheline transfer when the lock is highly contended. This patch passes the lock value information gotten in the fast path to the slow path to eliminate the additional read. It also documents the action for the interrupt context readers more clearly. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Will Deacon <will.deacon@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1434729002-57724-3-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f7d71f2052555ae57b47322f2c2f6c29ff2438ae Author: Waiman Long <Waiman.Long@xxxxxx> Date: Fri Jun 19 11:50:00 2015 -0400 locking/qrwlock: Rename functions to queued_*() To sync up with the naming convention used in qspinlock, all the qrwlock functions were renamed to started with "queued" instead of "queue". Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1434729002-57724-2-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3abebc55d70b6e3247d1f0e34c0bb906e40d2a18 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Jul 6 14:51:01 2015 +0300 perf record: Let user have timestamps with per-thread recording If the option -T is used with option --per-thread, then time is still not sampled. Fix that by using OPT_BOOLEAN_SET to distinguish when the user used the -T option as opposed to the default case when timestamps are enabled but only for per-cpu recording. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1436183461-1918-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 200802a4a79b3a7a1cf924ad870d3265023d0787 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Jul 4 07:44:22 2015 +0200 perf probe: Delete an unnecessary check before the function call "strfilter__delete" The strfilter__delete() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Julia Lawall <julia.lawall@xxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: kernel-janitors@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/5597751A.5000506@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 19867b6186f3fd38be65d86e20ef6f49d0caaa0b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Jul 4 12:44:59 2015 -0300 perf trace: Use event filters for the event qualifier list We use raw_syscalls:sys_{enter,exit} events to show the syscalls, but were using a rather lazy/inneficient way to implement our 'strace -e' equivalent: filter out after reading the events in the ring buffer. Deflect more work to the kernel by appending a filter expression for that, that, together with the pid list, that is always present, if only to filter the tracer itself, reduces pressure on the ring buffer and otherwise use infrastructure already in place in the kernel to do early filtering. If we use it with -v we can see the filter passed to the kernel, for instance, for this contrieved case: # trace -v -e \!open,close,write,poll,recvfrom,select,recvmsg,writev,sendmsg,read,futex,epoll_wait,ioctl,eventfd --filter-pids 2189,2566,1398,2692,4475,4532 <SNIP> (common_pid != 2514 && common_pid != 1398 && common_pid != 2189 && common_pid != 2566 && common_pid != 2692 && common_pid != 4475 && common_pid != 4532) && (id != 3 && id != 232 && id != 284 && id != 202 && id != 16 && id != 2 && id != 7 && id != 0 && id != 45 && id != 47 && id != 23 && id != 46 && id != 1 && id != 20) 0.011 (0.011 ms): caribou/2295 eventfd2(flags: CLOEXEC|NONBLOCK) = 18 16.946 (0.019 ms): caribou/2295 eventfd2(flags: CLOEXEC|NONBLOCK) = 18 38.598 (0.167 ms): chronyd/794 socket(family: INET, type: DGRAM ) = 4 38.603 (0.002 ms): chronyd/794 fcntl(fd: 4<socket:[239307]>, cmd: GETFD) = 0 38.605 (0.001 ms): chronyd/794 fcntl(fd: 4<socket:[239307]>, cmd: SETFD, arg: 1) = 0 ^C # Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ti2tg18atproqpguc2moinp6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 64ec84f5f96ea1d043c01e32e49e45286c6f4160 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sat Jul 4 12:19:13 2015 -0300 perf evsel: Introduce append_filter() method To allow building filters in evsel->filter, that will eventually be applied via perf_evsel__apply_filter(). Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-sjfoes3pycx7nlpmgedca13v@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 94ad89bc8a61b79c416c180c51b3e61ac16f6124 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 3 17:42:03 2015 -0300 perf evlist: Make perf_evlist__set_filter use perf_evsel__set_filter Instead of calling perf_evsel__apply_filter straight away, so that we can, in the next patches, expand the filter with more conditions before actually calling the ioctl to pass the end result filter to the kernel. Now we need to call perf_evlist__apply_filters() after the filter is completely setup, i.e. do the ioctl calls. The perf_evlist__apply_filters() method was already in place, because that is the model for the other tools that receives filters in the command line: go on setting then in the evsel->filter and only at the end, after parsing the whole command line, apply them. We get, as a bonus, a more expressive message that states which event, if any, failed to have the filter applied to, with an error message stating what happened. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-f429pgz75ryz7tpe6v74etre@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 12467ae4e37aab5e263cc9ab6b6909ae0588844c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 3 17:05:50 2015 -0300 perf evsel: Introduce set_filter method Replaces existing filter string with the one provided. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jst49z83li0yx3g18o54u51a@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f47805a2af3ba83881ca52434bbbc6e9886b72fd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Jul 3 15:53:49 2015 -0300 perf evsel: Rename set_filter to apply_filter We need to be able to go on constructing a complex filter in multiple stages, since we can only set one filter per event. For instance, we need to be able, in 'perf trace' to filter by the 'common_pid' field all the time, if only for the tracer itself, to avoid a feedback loop, and, in addition, we may want to filter the raw_syscalls:sys_{enter,exit} events by its 'id' filter, when using 'perf trace -e open,close' or 'perf trace -e !open,close', i.e. when we are interested in just a subset of syscalls or when we are not interested in it. So we will have: perf_evsel__set_filter(evsel, char *filter) Replaces whatever is in evsel->filter. perf_evsel__append_filter(evsel, const char *op, char *filter) Appends, using op ("&&" or "||") with what is in evsel->filter. perf_evsel__apply_filter(evsel, filter): That actually applies a filter, be it the one being constructed in evsel->filter, or any other, for tools with more specific ways to build the filter, issuing the appropriate ioctl for all the evsel fds. The same changes will be made to the evlist__{set,apply} variants to keep everything consistent. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2s5z9xtpnc2lwio3cv5x0jek@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8b3ce7576598b8e3b746beb9e8d10c33bcc64edd Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Jul 2 18:28:11 2015 -0300 perf trace: Store the syscall ids for the event qualifiers in a table That we will use to set a filter on raw_syscalls:sys_{enter,exit} events. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2acxrcxyu7tlolrfilpty38y@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c27366f0f9dac552251a92453e4dc65164d530d4 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Jul 2 18:24:51 2015 -0300 perf trace: Remember what are the syscalls tracepoint evsels We will need to set filters on then. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-u8hpgjpf3w8o1prnnjnwegwf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 93ec4ce789995c5c58dff82193b3ec77caa8aecb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Jul 2 17:48:23 2015 -0300 perf tools: Asprintf like functions to format integer filter expression char *asprintf_expr_in_ints(const char *var, size_t nints, int *ints); char *asprintf_expr_not_in_ints(const char *var, size_t nints, int *ints); Example of output formatted with those functions: # ./tp_filter 6 12 2015 asprintf_expr_in_ints: id == 6 || id == 12 || id == 2015 asprintf_expr_not_in_ints: id != 6 && id != 12 && id != 2015 # It'll be used with, for instance, perf_evsel__set_filter_in_ints(), that will be used in turn to ask the kernel to filter out all raw_syscalls:* except for the ones specified by the user via: $ perf trace -e some,list,of,syscalls Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jt07vfp6bd8y50c05j1t7hrn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb9b608706c21cb7c748dcea7fa493344857f505 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 20 17:40:10 2015 +0200 ARM: dts: sun6i: Enable otg controller on the cs908 The cs908 has the otg controller connected to one of the 2 usb-A receptacles it has on the front, so enable the otg controller in host-only mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2433d82b6c9a3b3ec2ef68ef3360b8361d2d1a29 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 20 17:40:09 2015 +0200 ARM: dts: sun4i: Enable otg controller on the mini-x The mini-x has the otg controller connected to one of the 2 usb-A receptacles it has on the front, so enable the otg controller in host-only mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ccef71cc6ae1b1bda3fc2f27493ea831edd6caaa Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 20 17:40:08 2015 +0200 ARM: dts: sun4i: Enable otg controller on the ba10-tvbox The ba10-tvbox has the otg controller connected to one of the 2 usb-A receptacles it has on the front, so enable the otg controller in host-only mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b5977f389d9ec7b5ffdc37ca6f2266e05295a552 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Jun 20 17:40:07 2015 +0200 ARM: dts: sunxi: Add regulator-boot-on to usb host port regulator nodes u-boot will have turned on the power to the usb host ports, so mark them as regulator-boot-on, this stops the power on the ports from temporarily getting turned off during boot, causing issues with e.g. usb powered harddisks. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 0760bacef728f6c980278188a5aac7f0fbe8bed8 Author: Karsten Merker <merker@xxxxxxxxxx> Date: Tue Jun 23 19:02:29 2015 +0200 devicetree: Add msi to the vendor-prefix list Document the the "msi" (Micro-Star International Co. Ltd.) vendor prefix which is used in sun6i-a31s-primo81.dts. Signed-off-by: Karsten Merker <merker@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 88651aebd276f272f34f2459d1eb2a86413aaabc Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat May 30 16:55:06 2015 +0200 ARM: sun8i: dts: Add Ippo-q8h v1.2 with A33 The Ippo-q8h is a tablet circuit board commonly found in cheap Android tablets. The v1.2 version can be used with either an A23 or A33 SoC. This version features 512 MB DRAM, 4G NAND, MMC, LCD, capacitive touchscreen, accelerometer, 2 camera sensors, USB OTG, microphone and speakers. i2c0 is connected to the gsl1680 capacitive touch panel controller, i2c1 is connected to an mma7660 3-axis accelerometer, these peripherals are not supported by the kernel yet, i2c bus functionality has been tested via i2c-dev. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> [maxime: Removed the resolution mention, and modified the compatible to have a unique one with the A23 version] Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c077132b2829efecbc6b052fb0f3aa793c054ab8 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Jun 2 20:29:12 2015 +0800 ARM: dts: sun8i: sina33: Enable USB hosts The Sina33 SDK board exposes the EHCI/OHCI USB host pair. VBUS for this port is always on and non-controllable. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c43fa32143a1e4fba3f988ca116710b652c68077 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Jun 2 21:47:58 2015 +0200 ARM: dts: sun8i: Enable USB host on GA10H-A33 tablets The GA10H tablets not only have an otg connector, but also a normal usb host connector, enabled support for this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4e2066ed71c0d07421baa60567b1ebfb5894e10c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Jun 2 18:58:34 2015 +0200 ARM: dts: sun8i: Enable USB DRC on GA10H-A33 tablets Enable the otg controller on GA10H-A33 tablets, for now it is enabled in host-only mode, because true OTG support requires support for detecting and enabling Vbus through the axp221 pmic. For this to work the Vbus on the port must be enabled by u-boot, or a powered hub must be used. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit a85b59c14d4082abcf27f63994e900dd00b5e572 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Jun 1 20:08:59 2015 +0200 ARM: dts: sun8i: Enable USB DRC on Ippo Q8H-A23 tablets Enable the otg controller on Ippo Q8H tablets, for now it is enabled in host-only mode, because true OTG support requires support for detecting and enabling Vbus through the axp221 pmic. For this to work the Vbus on the port must be enabled by u-boot, or a powered hub must be used. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 14b7289828c44343e69cae8194d9e4ce121da1f6 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue May 19 12:33:58 2015 +0200 ARM: dts: sun7i: Enable USB DRC on A20-OLinuxIno-Micro Enable the otg/drc usb controller on the A20-OLinuxIno-Micro. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d7a99f6bb625e7d0a256bc6e3d4538669ea22f27 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Mar 7 17:56:40 2015 +0100 ARM: dts: sun7i: Enable USB DRC on A20-OLinuxIno-Lime Enable the otg/drc usb controller on the A20-OLinuxIno-Lime. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d3c23bac7fde7ad93c6d46ea37b38c8f8ba0f699 Author: Roman Byshko <rbyshko@xxxxxxxxx> Date: Tue Oct 21 00:31:04 2014 +0200 ARM: dts: sun7i: Enable USB DRC on Cubietruck Enable the otg/drc usb controller on the cubietruck. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 09fa35ea2cb477992fc342daebe6fcbb8b829415 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Jun 1 16:55:55 2015 +0200 ARM: dts: sun6i: Enable USB DRC on the Mele A1000G quad The Mele A1000G-quad has an usb to sata bridge connected to its otg controller, this commit enables support for this. Since the otg is hardwired to the sata bridge it gets enabled in host only mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2354570da880df63da11176b5febf15648377a57 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Feb 16 21:55:47 2015 +0100 ARM: dts: sun5i: Enable USB DRC on UTOO P66 Enable the OTG controller on the UTOO P66 tablet. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c68d23ce258ce5ffaa5ef7bba79ced4e6e1b5421 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Jun 5 13:35:28 2015 +0200 ARM: dts: sun4i: Enable USB DRC on the Cubieboard Enable the otg/drc usb controller on the Cubieboard. Note that the 5V of the otg is directly connected to the general 5V, so we only use the id pin. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit a40d6f243eda177614df1f42cd9ad837c645e7d8 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Mar 5 17:08:13 2015 +0100 ARM: dts: sun4i: Enable USB DRC on Chuwi V7 CW0825 Enable the otg/drc usb controller on the Chuwi V7 CW0825 tablet. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit e385c09c0a64d2f440186be906e92cfb1cabfb7b Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Jun 2 20:29:11 2015 +0800 ARM: dts: sun8i: Add support for USB controllers on A23/A33 A23/A33 has one pair of EHCI/OHCI USB controllers. There are 2 USB PHYs, one for the USB OTG controller, one for the EHCI/OHCI pair. The latter may also support HSIC, though none of the available boards utilize this, so this is not supported yet. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4f8449b1baed5c4f6c577f1f5ef6918886583fc5 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Jun 2 15:37:32 2015 +0200 ARM: dts: sun8i: Add A33 usb-phy and otg nodes Note these are added to the sun8i-a33.dtsi file rather then to the shared sun8i-a23-a33.dtsi file as both the phy and the otg controller on the a33 are slightly different. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5c4f81c1b436ade8dfcec82a47a15310c9456415 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Jun 1 19:27:34 2015 +0200 ARM: dts: sun8i: Add A23 usb-phy and otg nodes Note these are added to the sun8i-a23.dtsi file rather then to the shared sun8i-a23-a33.dtsi file as both the phy and the otg controller on the a33 are slightly different. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cbb3ff1d9ce35731ea51c9118e94c7ab14025437 Author: Roman Byshko <rbyshko@xxxxxxxxx> Date: Wed Oct 22 00:14:03 2014 +0200 ARM: dts: sun7i: Add USB Dual Role Controller Add a node for the otg/drc usb controller to sun7i-a20.dtsi Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d208eaf23217548e08fe31a797cdb654e0ccc94b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Jun 1 13:29:49 2015 +0200 ARM: dts: sun6i: Add USB Dual Role Controller Add a node for the otg/drc usb controller to sun6i-a31.dtsi. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 482f178cc1e4de0768372cbf7fba206fec2179ac Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Feb 16 19:35:36 2015 +0100 ARM: dts: sun5i: Add USB Dual Role Controller Add a node for the otg/drc usb controller to sun5i-a1*.dtsi. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ce65037fb2a3c4f98f304833bb0ef7037ca494b2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Feb 3 19:17:35 2015 +0100 ARM: dts: sun4i: Add USB Dual Role Controller Add a node for the otg/drc usb controller to sun4i-a10.dtsi. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8783b9c50400c6279d7c3b716637b98e83d3c933 Author: Nibble Max <nibble.max@xxxxxxxxx> Date: Mon Jun 29 11:09:42 2015 -0300 [media] SMI PCIe IR driver for DVBSky cards Ported from the manufacturer's source tree, available from http://dvbsky.net/download/linux/media_build-bst-150211.tar.gz This is the second patch after a public review. [mchehab@xxxxxxxxxxxxxxx: fix inconsistent identing warning] Signed-off-by: Dirk Nehring <dnehring@xxxxxxx> Reviewd-by: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f459aec2bc81a46b674901424295f8ffe5e29ad0 Author: David Härdeman <david@xxxxxxxxxxx> Date: Tue May 19 19:03:27 2015 -0300 [media] lmedm04: NEC scancode cleanup This changes the keymap back to the state before commit 616a4b83 and changes the driver to use full NEC32 scancodes following the instructions provided by Malcolm Priestley <tvboxspy@xxxxxxxxx>. Signed-off-by: David Härdeman <david@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 275ddb40bcf686d210d86c6718e42425a6a0bc76 Author: David Härdeman <david@xxxxxxxxxxx> Date: Tue May 19 19:03:22 2015 -0300 [media] rc-core: remove the LIRC "protocol" The LIRC protocol was always a bad fit and if we're ever going to expose protocol numbers in a user-space API, it'd be better to get rid of the LIRC "protocol" first. The sysfs API is kept backwards compatible by always listing the lirc protocol as present and enabled. Signed-off-by: David Härdeman <david@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fcb13097867757d360d5226d36ed3ffe849dc3ae Author: David Härdeman <david@xxxxxxxxxxx> Date: Tue May 19 19:03:17 2015 -0300 [media] rc-core: use an IDA rather than a bitmap This patch changes rc-core to use the kernel facilities that are already available for handling unique numbers instead of rolling its own bitmap stuff. Signed-off-by: David Härdeman <david@xxxxxxxxxxx> Tested-by: Stefan Lippers-Hollmann <s.l-h@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a66b0c41ad277ae62a3ae6ac430a71882f899557 Author: David Härdeman <david@xxxxxxxxxxx> Date: Tue May 19 19:03:12 2015 -0300 [media] rc-core: fix remove uevent generation The input_dev is already gone when the rc device is being unregistered so checking for its presence only means that no remove uevent will be generated. Cc: stable@xxxxxxxxxx Signed-off-by: David Härdeman <david@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2a1e91a1595f4dec14ab16d63c6348d8fa159911 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jul 3 09:12:54 2015 -0300 [media] sh_vou: declare static functions as such drivers/media/platform/sh_vou.c:799:5: warning: no previous prototype for 'sh_vou_g_output' [-Wmissing-prototypes] int sh_vou_g_output(struct file *file, void *fh, unsigned int *i) ^ drivers/media/platform/sh_vou.c:805:5: warning: no previous prototype for 'sh_vou_s_output' [-Wmissing-prototypes] int sh_vou_s_output(struct file *file, void *fh, unsigned int i) ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bf9c82278c348eb6b72496de6a3e5269aadb6b34 Author: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Date: Wed Jun 3 10:59:53 2015 -0300 [media] media: adv7604: ability to read default input port from DT Adds support to the adv7604 driver for specifying the default input port in the Device tree. If no value is provided, the driver will be unable to select an input without help from userspace. Tested-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6a219f15a86812a226d197aa93b2806e9cecda7c Author: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Date: Wed Jun 3 10:59:52 2015 -0300 [media] media: adv7604: document support for ADV7612 dual HDMI input decoder This documentation accompanies the patch adding support for the ADV7612 dual HDMI decoder / repeater chip. Signed-off-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Reviewed-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8331d30bf0ccf179c3d03d968c9ae1c8f06eafc4 Author: William Towle <william.towle@xxxxxxxxxxxxxxx> Date: Wed Jun 3 10:59:51 2015 -0300 [media] media: adv7604: chip info and formats for ADV7612 Add support for the ADV7612 chip as implemented on Renesas' Lager board to adv7604.c, including lists for formats/colourspace/timing selection and an IRQ handler. Signed-off-by: William Towle <william.towle@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: fix merge conflicts due to regmap patch] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f862f57dae5f0555552256b67f5bfd523f97a736 Author: Pablo Anton <pablo.anton@xxxxxxxxxxxx> Date: Fri Jun 19 10:23:06 2015 -0300 [media] media: i2c: ADV7604: Migrate to regmap This is a preliminary patch in order to add support for ALSA. It replaces all current i2c access with regmap. Signed-off-by: Pablo Anton <pablo.anton@xxxxxxxxxxxx> Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 250121d348645675f5ade7e7ebe3fc6b46a9a2c0 Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Jun 3 10:59:50 2015 -0300 [media] media: adv7180: add of match table Add a proper of match id for use when the device is being bound via device tree, to avoid having to use the i2c old-style binding of the device. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Signed-off-by: William.Towle <william.towle@xxxxxxxxxxxxxxx> Reviewed-by: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c046707ff99912878ba63db5f2f2e2916ca961ce Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Jun 15 08:33:41 2015 -0300 [media] DocBook/media: fix bad spacing in VIDIOC_EXPBUF The VIDIOC_EXPBUF documentation had spurious spaces that made it irritating to read. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4c34cc5e0f99ced4c7a11d49007bf7a90e2fae7a Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:11 2015 -0300 [media] media/i2c/sr030pc30: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0b3474f0f61b21fc7f4d2a203cbcc2599a4d3aef Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Jun 8 03:20:15 2015 -0300 [media] sh-vou: add support for log_status Dump the VOU registers in log_status. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 57af3ad59d953f300a1fcb143e72d024aff73550 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:58:05 2015 -0300 [media] sh-vou: convert to vb2 This converts this driver to videobuf2. As usual it is a big and hard to review patch, but this is always a big-bang change. It has been tested with my Renesas board. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5c3edcb225d6690000c2563c573984042747b28d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:58:04 2015 -0300 [media] sh-vou: fix bytesperline The bytesperline values were wrong for planar formats where bytesperline is the line length for the first plane. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 66853ec4e1d096efe406383adc219285e5516af4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:58:03 2015 -0300 [media] sh-vou: let sh_vou_s_fmt_vid_out call sh_vou_try_fmt_vid_out This ensures that both do the same checks, and simplifies s_fmt_vid_out a bit. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 61fbacc115731d2b0435f959f94ff7eb8c3c1059 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:58:01 2015 -0300 [media] sh-vou: replace g/s_crop/cropcap by g/s_selection Implement g/s_selection. The v4l2 core will emulate g/s_crop and cropcap on top of g/s_selection. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 22df2e7a390f6cb31c6a5b0d8051d0ec83769ed1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:58:00 2015 -0300 [media] sh-vou: fix incorrect initial pixelformat It was set to a format that wasn't supported. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4de00d0efe0a7af8e2ef591effa2a559b7cc38a3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:57:59 2015 -0300 [media] sh-vou: support compulsory G/S/ENUM_OUTPUT ioctls Video output drivers must support these ioctls. Otherwise applications cannot deduce that these outputs exist and what capabilities they have. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5f98085bf3f1d645aaf76eac7c9ca0e2ab684c6 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:57:58 2015 -0300 [media] sh-vou: use v4l2_fh This allows us to drop the use_count and you get free G/S_PRIORITY support. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d8046ee09f843cb314a660f589a334bce84a7efa Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:57:57 2015 -0300 [media] sh-vou: fix querycap support Fix v4l2-compliance errors due to empty driver and bus_info fields. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4690271ce14cd4cf4796e0b6631978d151abe8e4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:57:56 2015 -0300 [media] sh-vou: use resource managed calls Simplify the sh-vou clean up by using devm_* were possible. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Magnus Damm <damm@xxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 41bdc3cf81c4d0f0dfe09f06ff203dd59d422f37 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Jul 3 08:35:51 2015 -0300 [media] vsp1: declar vsp1_pipeline_stopped() as static drivers/media/platform/vsp1/vsp1_video.c:517:6: warning: no previous prototype for 'vsp1_pipeline_stopped' [-Wmissing-prototypes] bool vsp1_pipeline_stopped(struct vsp1_pipeline *pipe) ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e36f1b19e80dfd89d56a5af8f4b20d2fc170c3fe Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Jun 7 05:57:55 2015 -0300 [media] clock-sh7724.c: fix sh-vou clock identifier Bitrot has set in for this driver and the sh-vou clock was never enabled, since the clock name in clock-sh7724.c was wrong. It should be sh-vou, not sh-vou.0. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Thanks-to: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Magnus Damm <damm@xxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 85a0638b7855dfb00dc9b66bc2fdd4276d7dc87c Author: Damian Hobson-Garcia <dhobsong@xxxxxxxxxx> Date: Thu May 28 09:59:39 2015 -0300 [media] v4l: vsp1: Align crop rectangle to even boundary for YUV formats Make sure that there are valid values in the crop rectangle to ensure that the color plane doesn't get shifted when cropping. Since there is no distinction between 12bit and 16bit YUV formats in at the subdev level, use the more restrictive 12bit limits for all YUV formats. Signed-off-by: Damian Hobson-Garcia <dhobsong@xxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1c991fee30c72ff49bb96558d5f1c14a60230677 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Apr 29 16:54:39 2015 -0300 [media] v4l: vsp1: Fix race condition when stopping pipeline When stopping the pipeline the driver waits for the pipeline state to be set to VSP1_PIPELINE_STOPPED but fails to lock the pipe irqlock to read the state variable protected by the lock. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 139c92866e34bfa4897e644b36147fc86cc7a7a1 Author: Sei Fumizono <sei.fumizono.jw@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Mar 15 11:33:07 2015 -0300 [media] v4l: vsp1: Fix Suspend-to-RAM Fix Suspend-to-RAM so that VSP1 driver continues to work after resuming. In detail, - Fix the judgment of ref count in resuming. - Add stopping VSP1 during suspend. [Refactor the suspend and resume code to lower suspend delay] Signed-off-by: Sei Fumizono <sei.fumizono.jw@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Yoshifumi Hosoya <yoshifumi.hosoya.wj@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 45008ee9295b3ae96d7413ab91871907a671ca82 Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Wed Jan 28 22:53:55 2015 -0200 [media] v4l: vsp1: Fix VI6_DPR_ROUTE_FXA_MASK macro FXA bit of VI6_DPR_mod_ROUTE register starts from 16bit. But VI6_DPR_ROUTE_FXA_MASK is set to become start from 8bit. This fixes shift size for VI6_DPR_ROUTE_FXA_MASK. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1aa7890324b497f96f07c20673fae58f26fabfe7 Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Wed Jan 28 22:53:54 2015 -0200 [media] v4l: vsp1: Fix VI6_DPR_ROUTE_FP_MASK macro FP bit of VI6_DPR_mod_ROUTE register is 6bit. But VI6_DPR_ROUTE_FP_MASK is set to 0xFF, this will mask until the reserve bit. This fixes size for VI6_DPR_ROUTE_FP_MASK. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 03b36e4dcf422a10da8b67bce2ed00b34ec58aac Author: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Date: Wed Jan 28 22:53:53 2015 -0200 [media] v4l: vsp1: Fix VI6_WPF_SZCLIP_SIZE_MASK macro Clipping size bit of VI6_WPFn _HSZCLIP and VI6_WPFn _VSZCLIP register are from 0 bit to 11 bit. But VI6_WPF_SZCLIP_SIZE_MASK is set to 0x1FFF, this will mask until the reserve bits. This fixes size for VI6_WPF_SZCLIP_SIZE_MASK. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 63f2f417526fc54191f2b813f72dc1d5322bede8 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Sun Jun 7 11:34:40 2015 -0300 [media] gscpa_m5602: use msecs_to_jiffies for conversions API compliance scanning with coccinelle flagged: ./drivers/media/usb/gspca/m5602/m5602_s5k83a.c:180:9-25: WARNING: timeout (100) seems HZ dependent Numeric constants passed to schedule_timeout() make the effective timeout HZ dependent which makes little sense in a polling loop for the cameras rotation state. Fixed up by converting the constant to jiffies with msecs_to_jiffies() Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0a2a89c4acbf2ede9cdcc51d7113091978079b7b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jun 4 05:52:26 2015 -0300 [media] gspca: sn9c2028: remove an unneeded condition We already know status is negative because of the earlier check so there is no need to check again. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 387a69243890a51be023aef12d0fdcae343f43f2 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:18 2015 -0300 [media] media/radio/saa7706h: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 59617e74e20dac9523e34f5461162b19347dacf8 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:17 2015 -0300 [media] pci/ivtv/ivtv-gpio: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c2527967c5795815d3422f147af767293b3806eb Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:16 2015 -0300 [media] i2c/wm8739: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5f24bc3267b3651e8bb026a5669dfe6855ffe63 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:15 2015 -0300 [media] media/i2c/tvp7002: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e5b40d2e11c3e2ed60ecb70313765d48c7786448 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:14 2015 -0300 [media] media/i2c/tvp514x: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8b198c6b8b65ef39c3652972c36a43e04b4482dd Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:13 2015 -0300 [media] media/i2c/tlv320aic23: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fc1a33fed0274efefbfc5f463a69efbaee4d989f Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:12 2015 -0300 [media] media/i2c/tda7432: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3cfa008e3cafa90684f84abbfb995cec437a61ea Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:10 2015 -0300 [media] media/i2c/saa717x: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6ceea1f7d021492ed13609fa1cf401484dae0e0d Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:09 2015 -0300 [media] media/i2c/cs5345: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 260faaa490d29cd2ad3cad54fbda0ede406c818e Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:08 2015 -0300 [media] media/i2c/adv7393: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 747d481df3b9b6ef46ccb233d74c8d93ec4819e6 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Jun 12 13:31:07 2015 -0300 [media] media/i2c/adv7343: Remove compat control ops They are no longer used in old non-control-framework bridge drivers. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 227da85e775065c81e222f443e8379aba4d3f668 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Fri Jun 12 08:48:10 2015 -0300 [media] v4l2-dv-timings: print refresh rate with better precision In many cases, refresh rate is not exact integer. In such cases, fraction was lost and it used to print, say, 59 in case of 59.94. Now, capturing the fraction up to 2 decimal places. Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4366dfef377034e97d5b35677b7a1ebb1f1ce6dc Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Wed Jun 10 10:38:29 2015 -0300 [media] media/v4l2-ctrls: Code cleanout validate_new() We can simplify the code removing the if(). v4l2_ctr_new sets ctrls->elems to 1 when !ctrl->is_ptr. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4a99362da734dfdcca5035dfa15b9f3708f1f8a4 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue May 26 06:54:47 2015 -0300 [media] atmel-isi: remove mck backward compatibility code The master clock should be handled by sensor itself. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f3745a3af521d403d4c174e4bad0986e11f4d2f1 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue May 26 06:54:46 2015 -0300 [media] atmel-isi: add runtime pm support The runtime pm resume/suspend will enable/disable pclk (ISI peripheral clock). We have to call runtime_pm_get_sync()/runtime_pm_put() when we need to access ISI registers. In atmel_isi_probe(), remove the isi disable code as at that moment ISI peripheral clock is not enable yet. Besides, clock_start()/clock_stop() is used to control the mclk, not the ISI peripheral clock. So move this to start[stop]_streaming() function. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8c0378354709058bba3319bb58fd04bd09e1eaa6 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue May 26 06:54:45 2015 -0300 [media] atmel-isi: disable ISI even if it has codec request In current code, stop_streaming() will just return if ISI is still working in the codec. But this is incorrect, we need to disable ISI even it is working on the codec, otherwise stop_streaming() will not work as we expected. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 408131b85509902b100f7045484c7377a40be99d Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Apr 12 09:09:05 2015 -0300 [media] v4l: omap4iss: Remove video node crop support Cropping should be configured on the pipeline subdev nodes, not through the video nodes. Remove crop support on all video nodes. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 44f4294d5ee58ba3f9dcc0da4cc545c21328eb10 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sun Apr 12 09:09:05 2015 -0300 [media] v4l: omap4iss: Enable driver compilation as a module Now that the driver doesn't use the non-exported omap4_ctrl_pad_readl and omap4_ctrl_pad_writel functions nothing prevents it from being compiled as a module anymore. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9d39f05490115bf145e5ea03c0b7ec9d3d015b01 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Fri Jun 12 20:06:23 2015 -0300 [media] v4l: omap3isp: Fix sub-device power management code Commit 813f5c0ac5cc ("media: Change media device link_notify behaviour") modified the media controller link setup notification API and updated the OMAP3 ISP driver accordingly. As a side effect it introduced a bug by turning power on after setting the link instead of before. This results in sub-devices not being powered down in some cases when they should be. Fix it. Fixes: 813f5c0ac5cc [media] media: Change media device link_notify behaviour Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx # since v3.10 Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5d479386983c5f1bb1aff4f88a027b6143f88a39 Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Tue May 19 20:08:05 2015 -0300 [media] v4l: omap3isp: Fix async notifier registration order The async notifier was registered before the v4l2_device was registered and before the notifier callbacks were set. This could lead to missing the bound() and complete() callbacks and to attempting to spin_lock() and uninitialised spin lock. Also fix unregistering the async notifier in the case of an error --- the function may not fail anymore after the notifier is registered. Fixes: da7f3843d2c7 ("[media] omap3isp: Add support for the Device Tree") Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> Reviewed-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9aee1ae3312daf0de4c9c614680d06d557133317 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat May 16 15:11:40 2015 -0300 [media] media: uapi: vsp1: Use __u32 instead of u32 Don't use the kernel types in uapi headers. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1b3b384177b2de010833fefffac6af3d6ffbdfed Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Jun 12 03:52:54 2015 -0300 [media] v4l2-dv-timings: log if the timing is reduced blanking V2 The last CVT standard introduced reduced blanking version 2 which is signaled by a vsync of 8. Log this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5fea1bb703c360f323c62f6d34b5e947d0590e80 Author: Prashant Laddha <prladdha@xxxxxxxxx> Date: Wed Jun 10 13:51:42 2015 -0300 [media] v4l2-dv-timings: add support for reduced blanking v2 Added support for reduced blanking version 2 (RB v2) in cvt timings. Standard specifies a fixed vsync pulse of 8 lines to indicate RB v2 timings. Vertical back porch is fixed at 6 lines and vertical front porch is remainder of vertical blanking time. For RB v2, horizontal blanking is fixed at 80 pixels. Horizontal sync is fixed at 32. All horizontal timing counts (active pixels, front, back porches) can be specified upto a precision of 1. RB v2 allows for non standard aspect ratios. In RB v2 vsync does not indicate aspect ratio. In absence of aspect ratio v4l2_detect_cvt() cannot calculate image width from image height. Hence extending the v4l2_detect_cvt() to pass image width in case of RB v2. Signed-off-by: Prashant Laddha <prladdha@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 30533ad10b7c3d7c05b757382aee28458167ab75 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:33:45 2015 -0300 [media] btcx-risc: use swap() in btcx_sort_clips() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f47c183c20d845af9d747fc1e5b7dbd9c3871e05 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:32:50 2015 -0300 [media] saa6588: use swap() in saa6588_i2c_poll() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2bb00da1484073342a1f3e9f846ac0ad8dc6314d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:32:41 2015 -0300 [media] saa7146: use swap() in sort_and_eliminate() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 453f847ef2e445a7b1fe6cbe35d36a06c60f58a5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:32:39 2015 -0300 [media] wl128x: use swap() in fm_rdsparse_swapbytes() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fd7524294ccaa6168593042121e3bbd26a529fd5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Jun 10 13:32:33 2015 -0300 [media] v4l2-dv-timings: use swap() in v4l2_calc_aspect_ratio() Use kernel.h macro definition. Thanks to Julia Lawall for Coccinelle scripting support. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cfcffe397fae05d6193bbb0dc87a7148323bf3fb Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Jun 9 10:54:53 2015 -0300 [media] rc/Kconfig: fix indentation problem The RC_ST and IR_SUNXI entries have weird indentation, and the RC_ST entry is actually malformed. Fix it. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e6cf0c409b40349f46427f9fc56f6ce4ec640a5d Author: Jan Roemisch <maxx@xxxxxxxxxxxxx> Date: Tue Jun 9 08:44:33 2015 -0300 [media] radio-bcm2048: Fix region selection This patch fixes region selection for lower bottom_frequency in BCM2048 FM receiver. It also removes "Japan wide band" region since this is impossible to do just like that. Signed-off-by: Jan Roemisch <maxx@xxxxxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d9b8252202a4cc60a6c5d4fb237d2bd99680e00f Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Mon Jun 8 10:50:22 2015 -0300 [media] SOLO6x10: Remove dead code solo_dev and pdev cannot be NULL here. It doesn't matter if we initialized the PCI device or not. Signed-off-by: Krzysztof Ha?asa <khalasa@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e1ceb25a1569ce5b61b9c496dd32d038ba8cb936 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Mon Jun 8 10:42:24 2015 -0300 [media] SOLO6x10: remove unneeded register locking and barriers readl() and writel() are atomic, we don't need the spin lock. Also, flushing posted write buffer isn't required. Especially on read :-) Signed-off-by: Krzysztof Ha?asa <khalasa@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dd43a6278a9dbda46f56782b54a7a59216a87d23 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Mon Jun 8 10:37:15 2015 -0300 [media] SOLO6x10: unmap registers only after free_irq() Fixes a panic on ARM. Diagnosis by Russell King. Signed-off-by: Krzysztof Ha?asa <khalasa@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9d1b1f61a49c66145ebbf2844124987118e65632 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Mon Jun 8 10:35:05 2015 -0300 [media] SOLO6x10: Fix G.723 minimum audio period count The period count is fixed, don't confuse ALSA. Signed-off-by: Krzysztof Ha?asa <khalasa@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e3e30f63389a319ca45161b07eb74e60f1e7ea20 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Jun 8 06:53:59 2015 -0300 [media] stk1160: fix sequence handling Fix the sequence counter: we're counting frames, not fields. Also remove the unused 'field' field. That would only be needed if this driver would support V4L2_FIELD_ALTERNATE. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 98006636b0307387b8b572700bbc9eb093ce6f70 Merge: 5bab862 d770e55 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Jul 6 08:21:35 2015 -0300 Merge tag 'v4.2-rc1' into patchwork Linux 4.2-rc1 * tag 'v4.2-rc1': (12415 commits) Linux 4.2-rc1 bluetooth: fix list handling 9p: cope with bogus responses from server in p9_client_{read,write} p9_client_write(): avoid double p9_free_req() 9p: forgetting to cancel request on interrupted zero-copy RPC dax: bdev_direct_access() may sleep block: Add support for DAX reads/writes to block devices dax: Use copy_from_iter_nocache dax: Add block size note to documentation NTB: Add split BAR output for debugfs stats NTB: Change WARN_ON_ONCE to pr_warn_once on unsafe NTB: Print driver name and version in module init NTB: Increase transport MTU to 64k from 16k NTB: Rename Intel code names to platform names NTB: Default to CPU memcpy for performance NTB: Improve performance with write combining NTB: Use NUMA memory in Intel driver NTB: Use NUMA memory and DMA chan in transport NTB: Rate limit ntb_qp_link_work NTB: Add tool test client ... commit cb8cc37f4d38d96552f2c52deb15e511cdacf906 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Mon Jul 6 11:37:23 2015 +0800 ARM: rockchip: fix broken build The following was seen in branch[0] build. arch/arm/mach-rockchip/platsmp.c:154:23: error: 'rockchip_secondary_startup' undeclared (first use in this function) branch[0]: git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git v4.3-armsoc/soc The broken build is caused by the commit fe4407c0dc58 ("ARM: rockchip: fix the CPU soft reset"). Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> The breakage was a result of it being wrongly merged in my branch with the cache invalidation rework from Russell 02b4e2756e01c ("ARM: v7 setup function should invalidate L1 cache"). Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e72072b6d7a49ea09dd833c3bdaa300e86ab0671 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Jul 3 11:22:27 2015 +0300 drm/i915: Drop a spurious intel_pre_plane_update() call Kill the extra intel_pre_plane_update() I accidentally added in commit 852eb00dc44ea2b8896e2fa27c6a36a1f697ba5a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:07 2015 +0300 drm/i915: Try to make sure cxsr is disabled around plane enable/disable This fixes a load of warnings from the frontbuffer tracking. Testcase: igt/kms_frontbuffer_tracking/fbc-1p-rte Tested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Tested-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dfc2066d8f8f2d87c1d8d00024478403c04d4e50 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 17:43:25 2015 +0300 drm/i915/opregion: start using extended didl Adding support for did2, or the extended support display devices ID list, increases the total to 15. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d5cbb22fcd0685944bbac80935b59df83e33e28e Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 17:43:24 2015 +0300 drm/i915/opregion: abstract didl and did2 getter and setter Make it easier to handle the extended didl. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b4fe8156a72da0030f18fd16ce7ded3747f932bb Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 17:43:23 2015 +0300 drm/i915/opregion: prefer DRM logging functions over pr_warn and dev_dbg Conform to same style as the rest of the driver. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f6a430d8ee8dba13807b75845478a1920187840b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 17:43:22 2015 +0300 drm/i915/opregion: add new opregion stuff Inluding extended didl and cpdl fields Present since opregion version 3.0. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2d80391d36e698e8dabc3b3ff0969fc6fde156c4 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 17:43:21 2015 +0300 drm/i915/opregion: use BUILD_BUG_ON to verify mailbox struct sizes Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 856974a401bacf4fee1f3e3b2f601b7abfd5fa2a Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 16:05:28 2015 +0300 drm/i915/hotplug: document the hotplug handling in the driver Add an overview of the drm/i915 hotplug handling. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3e6da4a9d9005fbc83420686fb897bd8ad749e91 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jul 2 16:05:27 2015 +0300 drm/i915/audio: clarify HD audio documentation wrt modeset Clarify that audio enable/disable sequences are part of the modeset sequence. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c30400fcffb70d17bbf33eaff5020b83111bd66c Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jul 3 12:31:30 2015 -0300 drm/i915: set FDI translations to NULL on SKL drivers/gpu/drm/i915/intel_ddi.c: In function â??intel_prepare_ddiâ??: drivers/gpu/drm/i915/intel_ddi.c:517:6: warning: â??ddi_translations_fdiâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] if (ddi_translations_fdi) ^ drivers/gpu/drm/i915/intel_ddi.c:446:30: note: â??ddi_translations_fdiâ?? was declared here const struct ddi_buf_trans *ddi_translations_fdi; ^ This line used to be there, but was removed by: commit f8896f5d58e64bfd3c2b5f7c5ba5c3f3967e93c7 Author: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Date: Thu Jun 25 11:11:03 2015 +030 drm/i915/skl: Buffer translation improvements Cc: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b17d1bf16cc72a374a48d748940f700009d40ff4 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Feb 11 11:52:37 2015 +0100 gpio: make flags mandatory for gpiod_get functions Now that all[1] users of the gpiod_get functions are converted to make use of the up to now optional flags parameter, make it mandatory which allows to remove some cpp magic. [1] all but etraxfs-uart which is broken anyhow and I'm allowed to ignore it by Jesper Nilsson :-) Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit a9ed33ca075f712cc7fd96eb84e3d322012fcaaf Author: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Date: Wed Jul 1 10:12:23 2015 +0300 drm/i915: Expose I915_EXEC_RESOURCE_STREAMER flag and getparam Ensures that the batch buffer is executed by the resource streamer. And will let userspace know whether Resource Streamer is supported in the kernel. v2: Don't skip 1<<15 for the exec flags (Jani Nikula) v3: Use HAS_RESOURCE_STREAMER macro for execbuf validation (Chris Wilson) (from getparam patch) v2: Update I915_PARAM_HAS_RESOURCE_STREAMER so it's after I915_PARAM_HAS_GPU_RESET. v3: Only advertise RS support for hardware that supports it. v4: Add HAS_RESOURCE_STREAMER() macro (Chris) Testcase: igt/gem_exec_params Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Cc: Kenneth Graunke <kenneth@xxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> [danvet: squash in getparam patch since it'd break bisect, suggested by Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d666dbefcb094a2f35a0fc8a3c7b53dd8375e34 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Mon Jul 6 07:03:37 2015 +0300 crypto: arm - ignore generated SHA2 assembly files These files are generated since commits f2f770d74a8d (crypto: arm/sha256 - Add optimized SHA-256/224, 2015-04-03) and c80ae7ca3726 (crypto: arm/sha512 - accelerated SHA-512 using ARM generic ASM and NEON, 2015-05-08). Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7abd75bf7ac6d04e0389472cf2cd3a8bf53e4894 Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 15:40:09 2015 -0700 crypto: nx - do not emit extra output if status is disabled If the device-tree indicates the nx-842 device's status is 'disabled', we emit two messages: nx_compress_pseries ibm,compression-v1: nx842_OF_upd_status: status 'disabled' is not 'okay'. nx_compress_pseries ibm,compression-v1: nx842_OF_upd: device disabled Given that 'disabled' is a valid state, and we are going to emit that the device is disabled, only print out a non-'okay' status if it is not 'disabled'. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ec13bcbe07a202c32ea74927e27479aa4d19d1b1 Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 15:39:21 2015 -0700 crypto: nx - rename nx842_{init, exit} to nx842_pseries_{init, exit} While there is no technical reason that both nx-842.c and nx-842-pseries.c can have the same name for the init/exit functions, it is a bit confusing with initcall_debug. Rename the pseries specific functions appropriately Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit fa9a9a084a2153095d0433188be232b0127ab23c Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 2 15:38:48 2015 -0700 crypto: nx - nx842_OF_upd_status should return ENODEV if device is not 'okay' The current documention mentions explicitly that EINVAL should be returned if the device is not available, but nx842_OF_upd_status() always returns 0. However, nx842_probe() specifically checks for non-ENODEV returns from nx842_of_upd() (which in turn calls nx842_OF_upd_status()) and emits an extra error in that case. It seems like the proper return code of a disabled device is ENODEV. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6170511a917679f8a1324f031a0a40f851ae91e9 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Tue Jun 30 12:57:14 2015 -0500 crypto: ccp - Provide support to autoload CCP driver Add the necessary module device tables to the platform support to allow for autoloading of the CCP driver. This will allow for the CCP's hwrng support to be available without having to manually load the driver. The module device table entry for the pci support is already present. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6922528a04a810b2889e82a4dc17eab920379117 Author: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Date: Tue Jun 16 13:39:42 2015 +0300 drm/i915: Enable resource streamer on Execlists GEN8 and above uses Execlists by default instead of the legacy ringbuffer for batch execution. This patch enables the resource streamer bits when required. Patch is based on the initial work by Minu Mathai <minu.mathai@xxxxxxxxx> This version also adds the required bits to enable GEN8 Resource Streamer context save and restore for Execlists. Cc: ville.syrjala@xxxxxxxxxxxxxxx Signed-off-by: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4c436d55b279bbc6b02aac02e7dc683fc09f884e Author: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Date: Tue Jun 16 13:39:41 2015 +0300 drm/i915: Enable Resource Streamer state save/restore on MI_SET_CONTEXT Also clarify comments on context size that the extra state for Resource Streamer is included. v2: Don't remove the extended save/restore enabled for older platforms. (Ville) Use new MI_SET_CONTEXT defines for HSW RS save/restore state instead of extended save/restore. (Daniel) Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 919032ec7c758fd4d65f2a141d1e0a10152198c9 Author: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Date: Tue Jun 16 13:39:40 2015 +0300 drm/i915: Enable resource streamer bits on MI_BATCH_BUFFER_START Adds support for enabling the resource streamer on the legacy ringbuffer for HSW and GEN8. Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e62925567c7926e78bc8ca976cde5c28ea265a49 Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Wed Jul 1 17:02:57 2015 +0530 drm/i915/bxt: BUNs related to port PLL This patch contains changes based on 2 updates to the spec: Port PLL VCO restriction raised up to 6700. Port PLL now needs DCO amp override enable for all VCO frequencies. v2: Sonika's review comment addressed - dcoampovr_en_h variable not required Based on a discussion with Siva, the following changes have been made. - replace dco_amp var with #define BXT_DCO_AMPLITUDE - set pll10 in a single assignment v3: Move DCO amplitude default value to i915_reg.h. Suggested by Siva. Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> [v2] [danvet: Spell out BUN since not everyone knows what this means.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eac477801924cac38a273338487cce9f460434bb Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Mar 5 09:36:19 2015 +0100 usb: pass flags parameter to gpiod_get functions Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Currently this parameter is made optional with the help of a cpp trick. To allow dropping this hack convert callers to explictly pass a value for flags. Acked-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 75da3b1c24389fe78680269176de0332d35f7fad Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 09:04:55 2015 +0200 usb: dwc3: pci: make better use of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Use this additional parameter and the _optional variant to simplify the driver and improve error handling. Also expand the comment to explain why it's not sensible to switch to devm_gpiod_get and why the gpiod_put is also necessary. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Tested-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 8e71c68074ff37348d586c87b0ee530e7440b094 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 08:55:30 2015 +0200 phy: tusb1210: make better use of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Furthermore there is devm_gpiod_get_optional which is designed to get optional gpios. Simplify driver accordingly. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 3bfe76806f705a24b82bc43c84c8506f3a44f77b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 09:04:55 2015 +0200 NFC: nxp-nci_i2c: use flags argument of devm_gpiod_get_index Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify driver accordingly which even makes error checking more correct because gpiod_direction_{in,out}put might fail. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@xxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit a33c380ef59353e550e852c82395306cf83cc7c0 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 09:04:55 2015 +0200 media: i2c/adp1653: set enable gpio to output Without setting the direction of a gpio to output a call to gpiod_set_value doesn't have a defined outcome. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 7d891dbee52e0a843ee7724ad4100675cf2fe24c Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 09:04:55 2015 +0200 iio: magn: bmc150: use flags argument of devm_gpiod_get Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify driver accordingly. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 7d4eb6f2110d9a9f9fe8d39eabddadbd35eb12b2 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jun 12 09:04:55 2015 +0200 iio: light: stk3310: use flags argument of devm_gpiod_get Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Simplify driver accordingly. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 26a5bd26499fba331ecaa1e8ce8cc2b8c6fac569 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Feb 11 17:32:53 2015 +0100 drm/tilcdc: panel: make better use of gpiod API Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Furthermore there is devm_gpiod_get_optional which is designed to get optional gpios. Simplify driver accordingly. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 89ae3d3b9a384e75158f71ea9b878c8a45f3d582 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Jun 9 11:35:25 2015 +0200 drm/msm/dp: use flags argument of devm_gpiod_get to set direction Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Use this to simplify the driver. Furthermore this is one caller less that stops us making the flags argument to gpiod_get*() mandatory. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit 7a0baa6234468aa387f9b8a1a79dc2a4b4821f67 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 15:33:54 2015 +0300 Revert "drm/i915: Disable 12bpc hdmi for now" HDMI 12bpc should be working fine now. Let it loose. This reverts commit 5e3daaca09f5158eff9c92290faa1d2001ecc6e4. v2: Rebased due to CHV/BXT port clock check improvemnts Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-and-tested-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e64e739ed6e5409b86ab5896cad4edb4570bf8ec Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 19:23:59 2015 +0300 drm/i915: Account for CHV/BXT DPLL clock limitations CHV/BXT DPLL can't generate frequencies in the 216-240 MHz range. Account for that when checking whether the HDMI port clock is valid. This is particularly important for BXT since it can otherwise do 12bpc, and standard 1920x1080p60 CEA modes land right in the middle of that range when the clock gets multiplied to account for 12bpc. With the extra checks we will now filter out any mode where both 8bpc and 12bpc clock are within the gap. During modeset we then pick whichever mode works, favoring 12bpc if both are possible. 12bpc isn't supported on CHV so we simply end up filtering out any mode where the 8bpc port clock is in the gap. v2: Fix crtc_clock vs. port_clock fumble in compute_config() (Imre) Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-and-tested-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6fd765d0591a79934b268137fc7c0fbfa0e2e3b4 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 15:33:52 2015 +0300 drm/i915: Bump HDMI min port clock to 25 MHz Increase the HDMI port minimum port clock from 20 to 25 MHz. This is is the minimum listed in the DVI/HDMI specs, and it's also the documented minimum DPLL frequency for most of our platforms. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-and-tested-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 398a017e91d1518e303886398b15b1851c3d902c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 15:33:51 2015 +0300 drm/i915: Fix HDMI 12bpc and pixel repeat clock readout for DDI platforms Take the HDMI 12bpc mode and pixel repeat into account when extracting the dotclock from the hardware on DDI platforms. Tested on HSW only. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-and-tested-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec530829ed064bc63d260f309e3ef88e0764132b Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Jul 5 21:55:10 2015 +0200 GPU-DRM: Delete an unnecessary check before drm_property_unreference_blob() The drm_property_unreference_blob() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Zhao Junwang <zhjwpku@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 765b50030c218f65ee4ffd2eeb07045aa79fd5ee Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Jun 1 16:22:57 2015 +0200 ARM: shmobile: gose: enable R-Car Gen2 regulator quirk Regulator setup seems identical to Koelsch. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ec60d95b4faccd61c7ce10316ebc9333f2d7674a Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Jun 1 16:22:54 2015 +0200 ARM: shmobile: Basic r8a7793 SoC support Minimal support without power management or SMP. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bd82aff9192dad2bfd3cb3fc19fdf741c2f6028e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:35 2015 +0200 ARM: shmobile: r8a7790: Make struct rcar_sysc_ch const Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5afcd90f65ac990ca08b101a0e0fd9eac4e0dcde Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:34 2015 +0200 ARM: shmobile: r8a7779: Make struct rcar_sysc_ch const Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit bcb8243792eaa855a51c96bfeaa5dbca19f48d07 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:32 2015 +0200 ARM: shmobile: R-Car: Get rid of on_off_fn() function pointer Simplify the power request code by passing an "on" flag, and picking the right status bit and register offset in the innermost function, based on this flag. This allows to remove the rcar_sysc_pwr_{off,on}() helper functions, and the function pointer through which they were called. Make sr_bit and reg_offs unsigned while we're at it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 21437c53f3dc2e1e52ccb8aed0a65dd3879ca671 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:31 2015 +0200 ARM: shmobile: R-Car: Use BIT() macro instead of open coding Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 624deb39a1c684b42569a3ec6a0fdcc74b950ed3 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:30 2015 +0200 ARM: shmobile: R-Car: Make struct rcar_sysc_ch * parameters const The passed struct rcar_sysc_ch is never modified, so it can be const. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2f575fcff1fad24e97b8e7d793ad9af9ae5b8a17 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:29 2015 +0200 ARM: shmobile: R-Car: Break infinite loop rcar_sysc_update() loops (with interrupts disabled and while holding a spinlock) until submitting a power shutoff or resume request fails, or until the submitted request was accepted. If none of these conditions becomes true, this forms an infinite loop. Put a limit on the maximum number of loop iterations, and add a small delay to each iteration, to fix this. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6fd2242e60e89a26e731e57dbf8f88d6639e09de Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:28 2015 +0200 ARM: shmobile: R-Car: Shrink rcar_sysc_ch size Shrink the individual fields in struct rcar_sysc_ch, as unsigned long or int is overkill: - chan_offs contains a register offset relative to a base value (< 512), - chan_bit and isr_bit contain bit indices (0-31). This reduces the size of each instance from 3 (4 on 64-bit) 32-bit words to 1 32-bit word. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 577d104d85f05c1de6e56784a5da3e0fb4746f3a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:27 2015 +0200 ARM: shmobile: R-Car: Improve documentation Add more SYSC register documentation. Use definitions instead of hardcoded numbers. Comment important operations. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7bf46d0be278a3586c78322c65ceff5fd03bb95d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jun 25 17:57:28 2015 +0900 ARM: shmobile: r8a7779: Configure IRLM mode via DT Adjust the r8a7779 SoC DTS and the Marzen Reference C board code to use DTS only for INTC-IRQPIN IRLM setup. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c73ddf42e7a93dabf918b22d3cc2ce02b90d4155 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 15:03:36 2015 +0200 ARM: shmobile: r8a7794 dtsi: Use "arm,gic-400" for GIC Replace the "arm,cortex-a15-gic" compatible value for the GIC by "arm,gic-400", as the R-Car Gen2 GIC is assumed to be a GIC-400. This has been confirmed by reading the GICD_IIDR register (on r8a7791), which reports 0x0200043b (GIC-400 = 0x02, ARM = 0x43b). This has no effect on runtime behavior, as currently the GIC driver treats both compatible values the same. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5b3b3268518fb67c7accf83d786909b2a8cbee63 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 15:03:35 2015 +0200 ARM: shmobile: r8a7793 dtsi: Use "arm,gic-400" for GIC Replace the "arm,cortex-a15-gic" compatible value for the GIC by "arm,gic-400", as the R-Car Gen2 GIC is assumed to be a GIC-400. This has been confirmed by reading the GICD_IIDR register (on r8a7791), which reports 0x0200043b (GIC-400 = 0x02, ARM = 0x43b). This has no effect on runtime behavior, as currently the GIC driver treats both compatible values the same. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d238b5e628c98c39fe669610e6ab8e06a6f00b5b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 15:03:34 2015 +0200 ARM: shmobile: r8a7791 dtsi: Use "arm,gic-400" for GIC Replace the "arm,cortex-a15-gic" compatible value for the GIC by "arm,gic-400", as the R-Car Gen2 GIC is assumed to be a GIC-400. This has been confirmed by reading the GICD_IIDR register, which reports 0x0200043b (GIC-400 = 0x02, ARM = 0x43b). This has no effect on runtime behavior, as currently the GIC driver treats both compatible values the same. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e715e9c57826cc3370fc5fcdb9d57602d52bba9a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 15:03:33 2015 +0200 ARM: shmobile: r8a7790 dtsi: Use "arm,gic-400" for GIC Replace the "arm,cortex-a15-gic" compatible value for the GIC by "arm,gic-400", as the R-Car Gen2 GIC is assumed to be a GIC-400. This has been confirmed by reading the GICD_IIDR register (on r8a7791), which reports 0x0200043b (GIC-400 = 0x02, ARM = 0x43b). This has no effect on runtime behavior, as currently the GIC driver treats both compatible values the same. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit eaec1d675c194965081297014503938a9f58e2f7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 15:03:32 2015 +0200 ARM: shmobile: r8a73a4 dtsi: Use "arm,gic-400" for GIC Replace the "arm,cortex-a15-gic" compatible value for the GIC by "arm,gic-400", as the documentation states it's a GIC-400. This has been confirmed by reading the GICD_IIDR register, which reports 0x0200043b (GIC-400 = 0x02, ARM = 0x43b). This has no effect on runtime behavior, as currently the GIC driver treats both compatible values the same. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ffd2f9a5afb730b9f6c1d1938934213c3cfcf249 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 10:38:56 2015 +0200 ARM: shmobile: armadillo800eva dts: Add pinctrl and gpio-hog for lcdc0 Configure pinctrl and a GPIO-controller board mux for LCD use. This allows the armadillo800eva board staging code to enable lcdc0. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f25d6b977240117eb4b6e3111f4eb41f968d28fb Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 02:43:51 2015 +0300 ARM: shmobile: r8a7790: add EtherAVB DT support Define the generic R8A7790 part of the EtherAVB device node. Based on original patch by Mitsuhiro Kimura <mitsuhiro.kimura.kc@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 63d2d750c902dec77439f12b2eac9709468298ce Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 02:42:42 2015 +0300 ARM: shmobile: r8a7790: add EtherAVB clocks Add the EtherAVB clock to the R8A7790 device tree. Based on original patch by Mitsuhiro Kimura <mitsuhiro.kimura.kc@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b8af4591db5bb0529b7f56d25b2e7db3eb71fdf6 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Jun 1 16:22:56 2015 +0200 ARM: shmobile: r8a7793: add minimal Gose board device tree Minimal DT description and Makefile entry for the Gose eval board. Support for console, timer, and Ethernet. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0e03e8aed92ce4757a9dbfbf2b7f4edce6380f92 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Jun 1 16:22:55 2015 +0200 ARM: shmobile: add r8a7793 minimal SoC device tree Minimal r8a7793 device tree including one CPU core, interrupt controllers, timers, two serial ports, and the Ethernet controller, plus the required clock descriptions. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit dbeb9728d4b9785fc78336038654eb2bac155d92 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Jun 2 10:34:37 2015 +0900 ARM: multi_v7_defconfig: Enable shmobile r8a7793/gose platform Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b059be7ecfa80550f635194f7c12578423177729 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Jun 2 10:34:36 2015 +0900 ARM: shmobile: Enable gose board in multiplatform defconfig Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 20834a406ee20b57c796f9911f06600b71c75788 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:34:21 2015 +0200 ARM: shmobile: timer: r8a73a4 and r8a7790 are multi-platform only Since commits e042681894b62d60 ("ARM: shmobile: r8a7790: Remove legacy code") and 9d07d414d4c33d86 ("ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform"), the R-Mobile APE6 and R-Car H2 SoCs are supported by multiplatform kernels only. Hence we can drop checks for these SoCs in legacy kernel builds. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d62ba10c31ac16aaa16f5b49308658ea2f1e71a9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:34:20 2015 +0200 ARM: shmobile: R-Car Gen2: CONFIG_ARCH_SHMOBILE_MULTI is always set Since commit e042681894b62d60 ("ARM: shmobile: r8a7790: Remove legacy code"), all R-Car Gen2 SoCs are supported by multiplatform kernels only. As CONFIG_ARCH_SHMOBILE_MULTI is always set for shmobile multiplatform kernels, we can remove related #ifdefs in code specific to R-Car Gen2 SoCs. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 11e386719b08606502477cddf10c832b6658bb55 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:27 2015 +0200 ARM: shmobile: Remove obsolete zboot support The last user of the zboot code was the KZM-A9-GT legacy board code, which has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b587288001f05c0e6b4bdb5a5f0e7a28594cbf0d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:26 2015 +0200 ARM: shmobile: R-Mobile: Remove legacy PM Domain code The last user of the legacy R-Mobile PM Domain code was the r8a7740 legacy SoC code, which has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 68a31785697c6292e4de3f54914a6ff5ebd0a82d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:25 2015 +0200 ARM: shmobile: Remove unused dma-register.h The last users of "dma-register.h" were the sh73a0 and r8a7740 legacy SoC code, which have been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 44d88c754e57a6d9d7ae6ac7540b9596f9b61902 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:24 2015 +0200 ARM: shmobile: Remove legacy SoC code for R-Mobile A1 The last user of the R-Mobile A1 (r8a7740) legacy SoC code was the Armadillo-800 EVA legacy board code, which has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> [horms: resolved trivial conflicts with v4.2-rc1] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6a902a2ea1ffe432ce46bb562b9dcae8f396b3b4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:23 2015 +0200 ARM: shmobile: Drop r8a7740-armadillo800eva.dtb for legacy builds The legacy board code for Armadillo-800 EVA has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4e7115ad44d544847a294d7d634f5974e344708e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:22 2015 +0200 ARM: shmobile: Remove legacy armadillo800eva_defconfig The legacy board code for Armadillo-800 EVA has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1fa59bda21c7fa3644e374be0547395975286599 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:21 2015 +0200 ARM: shmobile: Remove legacy board code for Armadillo-800 EVA The Armadillo-800 EVA board is sufficiently supported by DT-based and board-less R-Mobile A1 (r8a7740) multiplatform kernels, and board staging code. Hence remove the legacy board code to reduce maintenance effort. Lacking areas are: - USB (it doesn't work in legacy, neither), - HDMI (it doesn't work in legacy, neither), - Camera (we don't care), - DMAC/IPMMU (no DT bindings are planned). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9a9863987bf7307f619f1dbba678a3e6d65c901a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:20 2015 +0200 ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5 The last user of the SH-Mobile AG5 (sh73a0) legacy SoC code was the KZM-A9-GT legacy board code, which has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d99f70b9533dc355e0facbaee8a42dcd821a5e73 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:19 2015 +0200 ARM: shmobile: Drop sh73a0-kzm9g.dtb for legacy builds The legacy board code for KZM-A9-GT has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 04320ccfc11b9ca9b7cf933e221a765d78705cf8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:18 2015 +0200 ARM: shmobile: Remove legacy kzm9g_defconfig The legacy board code for KZM-A9-GT has been removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 30f8925a57d8ad4990fca14bcf454abd91228afd Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Jun 17 11:31:17 2015 +0200 ARM: shmobile: Remove legacy board code for KZM-A9-GT The KZM-A9-GT board is sufficiently supported by DT-based and board-less SH-Mobile AG5 (sh73a0) multiplatform kernels. Hence remove the legacy board code to reduce maintenance effort. Lacking areas are: - USB (it does't work in legacy, neither), - LCDC (the LCDC is wired to the legacy INTC, which is not planned to be supported with DT). - DMAC/IPMMU (no DT bindings are planned). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 564ec128320b3a69e7be6bed938be5b78e5aac95 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:33 2015 +0200 ARM: shmobile: r8a7779: Remove GENPD_FLAG_PM_CLK flag The R-Car SYSC PM Domain only manages power domains for the main CPUs and for coprocessors. It does not fill in the genpd .{at,de}tach_dev() callbacks, and no power management clocks are registered for devices. Hence pm_clk_{suspend,resume}() are no-ops, and setting of the GENPD_FLAG_PM_CLK flag can be removed. Originally the clock handling was copied from the R-Mobile PM Domain code, which does manage a clock domain, in addition to device power domains. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 23e95fc2964de5a38c1c76109188756420268858 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:26 2015 +0200 ARM: shmobile: R-Mobile: Use BIT() macro instead of open coding Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 23758258220c2fcdabb30a3c6fe0a3ce6c705550 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Jun 4 20:22:25 2015 +0200 ARM: shmobile: R-Mobile: Move to_rmobile_pd from header to source file to_rmobile_pd() is only used inside pm-rmobile.c Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e6ef15e4f6ca9cc760030f8f0616e25eed9449e4 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Tue Jun 23 20:53:40 2015 +0800 ARM: rockchip: remove some useless macro in pm.h These are actually not used in the pm code, as we moved suspend handling to the clock driver, remove them here. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 134f1f609bdf2f67ae23b7b1b686a3b9d5c67b03 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Tue Jun 23 20:53:39 2015 +0800 ARM: rockchip: add support holding 24Mhz osc during suspend If we want to wake up system via usb, the 24Mhz osc could not be disabled during suspend, read the usb phy SIDDQ bit to decide whether to switch to 32khz clock-in. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Tested-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 7f0b61ad34f04b076a3d1e2b5cfc6e1fae853ec4 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Jun 9 17:49:59 2015 +0800 ARM: rockchip: fix the SMP code style Use the below scripts to check: scripts/checkpatch.pl -f --subject arch/arm/mach-rockchip/platsmp.c Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e306bc16c53199e7440e1fee69dd91dc0a56edee Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Jun 9 17:49:58 2015 +0800 ARM: rockchip: ensure CPU to enter WFI/WFE state The patch can ensure that v7_exit_coherency_flush() in rockchip_cpu_die() executed in time. The mdelay(1) has enough time to fix the problem of CPU offlining. That's a workaround way in rockchip hotplug code, At least, we haven't a better way to solve it. Who know, that maybe fixed by chip (hardware) in the future. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fe4407c0dc58215a7abfb7532740d79ddabe7a7a Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Jun 9 17:49:57 2015 +0800 ARM: rockchip: fix the CPU soft reset We need different orderings when turning a core on and turning a core off. In one case we need to assert reset before turning power off. In ther other case we need to turn power on and the deassert reset. In general, the correct flow is: CPU off: reset_control_assert regmap_update_bits(pmu, PMU_PWRDN_CON, BIT(pd), BIT(pd)) wait_for_power_domain_to_turn_off CPU on: regmap_update_bits(pmu, PMU_PWRDN_CON, BIT(pd), 0) wait_for_power_domain_to_turn_on reset_control_deassert This is needed for stressing CPU up/down, as per: cd /sys/devices/system/cpu/ for i in $(seq 10000); do echo "================= $i ============" for j in $(seq 100); do while [[ "$(cat cpu1/online)$(cat cpu2/online)$(cat cpu3/online)" != "000"" ]] echo 0 > cpu1/online echo 0 > cpu2/online echo 0 > cpu3/online done while [[ "$(cat cpu1/online)$(cat cpu2/online)$(cat cpu3/online)" != "111" ]]; do echo 1 > cpu1/online echo 1 > cpu2/online echo 1 > cpu3/online done done done The following is reproducable log: [34466.186812] PM: noirq suspend of devices complete after 0.669 msecs [34466.186824] Disabling non-boot CPUs ... [34466.187509] CPU1: shutdown [34466.188672] CPU2: shutdown [34473.736627] Kernel panic - not syncing:Watchdog detected hard LOCKUP on cpu 0 ....... or others similar log: ....... [ 4072.454453] CPU1: shutdown [ 4072.504436] CPU2: shutdown [ 4072.554426] CPU3: shutdown [ 4072.577827] CPU1: Booted secondary processor [ 4072.582611] CPU2: Booted secondary processor <hang> Tested by cpu up/down scripts, the results told us need delay more time before write the sram. The wait time is affected by many aspects (e.g: cpu frequency, bootrom frequency, sram frequency, bus speed, ...). Although the cpus other than cpu0 will write the sram, the speedy is no the same as cpu0, if the cpu0 early wake up, perhaps the other cpus can't startup. As we know, the cpu0 can wake up when the cpu1/2/3 write the 'sram+4/8' and send the sev. Anyway..... At the moment, 1ms delay will be happy work for cpu up/down scripts test. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Fixes: 3ee851e212d0 ("ARM: rockchip: add basic smp support for rk3288") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 33939403112791866da6b64875385fa1b7d9865a Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed May 20 13:34:08 2015 -0700 ARM: rockchip: restore dapswjdp after suspend In the commit (0ea001d ARM: rockchip: disable dapswjdp during suspend) we made the assumption that we didn't need to restore dapswjdp after suspend because "the MASKROM will enable it back". It turns out that's not a safe assumption. In some cases (pending interrupts) it's possible that the WFI might act as a no-op and the MaskROM will never run. Since we're changing the bit, we should restore it ourselves. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 1a1b698b115467242303daf5fe1d3c9886c2fa17 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Fri Jun 19 16:31:14 2015 +0200 ARM: dts: rockchip: fix rk3288 watchdog irq The watchdog irq is actually SPI 79, which translates to the original 111 in the manual where the SPI irqs start at 32. The current dw_wdt driver does not use the irq at all, so this issue never surfaced. Nevertheless fix this for a time we want to use the irq. Fixes: 2ab557b72d46 ("ARM: dts: rockchip: add core rk3288 dtsi") Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> commit 270c7b18d7c0f17cfda2bbdafba25ef2f885f9a5 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Jun 15 17:41:41 2015 +0000 ARM: dts: rockchip: Add ramp delay for vdd_cpu in firefly board dts Adds ramp delay for the vdd_cpu output. It removes warning "ramp_delay not set" emitted by the function regulator_set_voltage_time_sel() by the same time, which floods kernel logs. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e6b54649adacafb22c0c2d0496baf5396f8ed0be Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Sat Jun 20 12:27:16 2015 +0000 ARM: dts: rockchip: Add STMMAC reset signal in GMAC interface for rk3288 Which fixes warning "no reset control found" by the same time Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fcc577dd55db193926537e0e4de98492d665446b Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Tue Jun 23 16:34:19 2015 +0300 iio: Fix parameters in iio_triggered_buffer_setup This patch renames the top half handler and the bottom half handler of iio_triggered_buffer_setup() in accordance with their usage. The bottom half has been renamed to reflect the fact that it is a thread based call, compliant with iio_alloc_pollfunc(). The names of the parameters were swapped, thus creating confusion. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5e913d27f91aa15e1311399385579bef5238e2cd Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Wed Jun 24 17:01:49 2015 +0300 iio: accel: Add sampling rate support for STK8312 Added support for setting the STK8312 accelerometer's sampling rate. Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 95c12bba51c37359073b34f1a56fe396bd33d3cf Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Wed Jun 24 17:01:48 2015 +0300 iio: accel: Add buffer mode for Sensortek STK8312 Added triggered buffer mode support for the STK8312 accelerometer. Additional changes: - set_mode now sets operation mode directly, no longer masking the register's previous value - read_accel now returns raw acceleration data instead of the sign_extend32 value - read_raw will now enable/disable the sensor with each reading Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit db6a19b8251f089afcd40ed116ffdc2326f704a8 Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Wed Jun 24 16:54:46 2015 +0300 iio: accel: Add trigger support for STK8BA50 Add data-ready interrupts and trigger support for STK8BA50. Additional changes: - read_accel now returns raw acceleration data instead of the sign_extend32 value - read_raw will now enable/disable the sensor with each reading Change-Id: I9c2d7be4256b2dcc5546e4432308ea54f8004333 Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9690d81a02dc4eea78de1686c3bf23a8dd4c0f28 Author: Tomasz Duszynski <tduszyns@xxxxxxxxx> Date: Tue Jun 23 20:45:48 2015 +0200 iio: pressure: ms5611: add support for MS5607 temperature and pressure sensor MS5607 is temperature and pressure sensor which hardware is similar to MS5611. Both sensors share command protocol and support both I2C and SPI serial protocols. They only differ in compensation algorithms. Signed-off-by: Tomasz Duszynski <tduszyns@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7cb46c2a0666547493132327ccfc0698d90e52f7 Author: Tomasz Duszynski <tduszyns@xxxxxxxxx> Date: Tue Jun 23 20:45:47 2015 +0200 iio: pressure: ms5611: remove IIO_CHAN_INFO_SCALE from mask IIO_CHAN_INFO_SCALE is useful whenever conversion to standard units is done in userspace. In this case conversion is handled by driver so this bit is unnecessary. Signed-off-by: Tomasz Duszynski <tduszyns@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 57f7d509c8f60e66d69ac216a03ef39c5ea1ddb8 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Sun Jun 21 23:50:22 2015 +0200 iio: tmp006: Use GENMASK Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4acaf96f747d0cfd6030bde362c1189d248dacff Author: Antonio Borneo <borneo.antonio@xxxxxxxxx> Date: Tue Jun 23 22:52:28 2015 +0800 iio: ssp_sensors: Remove redundant spi driver bus initialization In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver(), so we can drop the manual assignment. Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> To: Jonathan Cameron <jic23@xxxxxxxxxx> To: Lars-Peter Clausen <lars@xxxxxxxxxx> To: Karol Wrona <k.wrona@xxxxxxxxxxx> To: linux-iio@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Karol Wrona <k.wrona@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e8d0927a19f11cebc4381f5f0cac8fa37154b08a Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Fri Jul 3 12:57:36 2015 +0300 tools: iio: Add single-byte case for generic_buffer Some sensors export data in an 8-bit format. Add a single-byte case for the generic_buffer tool so that these sensors' buffer data can be visualized. Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a3d1d001c9c583c79b1d9ab20f0a24333e35a3f8 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 3 15:53:23 2015 +0200 drm/i915: Update DRIVER_DATE to 20150703 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cb76b1ca9174aa29d4c7c0f4aef113be203b600c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 15:04:29 2015 +0200 spi: rspi: Make qspi_set_send_trigger() return "unsigned int" qspi_set_send_trigger() returns an unsigned value, so make it return "unsigned int". Update the loop variables qspi_trigger_transfer_out_int() to match the above. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5d4db691ed978080435f4e5aad2ce707294a75b4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 15:04:28 2015 +0200 spi: rspi: Drop variable "error" in qspi_trigger_transfer_out_in() Just use "ret" instead, for consistency with other similar functions. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1f96beec7a44f46bf277e2050a7a5a0308831d61 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Fri Jul 3 14:17:29 2015 +0300 drm: remove redundant code form drm_ioc32.c The compat ioctl handler ends up calling access_ok() twice: first indirectly inside compat_alloc_user_space() and then after returning from that function. This patch fixes issue. v2: there were three invalid removals of access_ok() that I've fixed. Also went through all the changes couple of times and verified that access_ok() is only removed when the buffer is allocated with compat_alloc_user_space(). My deepest apologies for this kind of sloppiness! Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e4f31ad2b7138db449310c9b63d402a29dc0e1c9 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 2 16:33:53 2015 +0200 drm: reset empty state in transitional helpers Transitional drivers might not have all the state frobbing lined up yet. But since the initial code has been merged a lot more state was added, so we really need this. Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Reported-and-tested-by: John Hunter <zhaojunwang@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce14ec20a1ffcd356f578036617d657be8429c00 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jul 2 15:16:39 2015 +0200 drm/crtc-helper: Fixup error handling in drm_helper_crtc_mode_set In commit 9f658b7b62e7aefc1ee067136126eca3f58cabfd Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Fri May 22 13:34:45 2015 +0100 drm/crtc_helper: Replace open-coded CRTC state helpers error handling code was broken, resulting in the first path not being checked correctly. Fix this by using the same pattern as in the transitional plane helper function drm_plane_helper_update. v2: Simplify the cleanup code while at it too. v3: After some debugging with John we realized that the above patch from Daniel also accidentally removed the if (crtc_state) check. This is legal when transitioning to atomic, when the initial state reset isn't all wired up yet properly. Reinstate that check to fix the bug John has hit. Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> CC: Sean Paul <seanpaul@xxxxxxxxxxxx> Cc: John Hunter <zhaojunwang@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Reported-and-tested-by: John Hunter <zhaojunwang@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8776f02b7c77f17dcf1dfab9954648874f264c89 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 18:16:40 2015 +0300 drm/i915/gtt: Per ppgtt scratch page Previously we have pointed the page where the individual ppgtt scratch structures refer to, to be the instance which GGTT setup have allocated. So it has been shared. To achieve full isolation between ppgtts also in this regard, allocate per ppgtt scratch page. Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 20dbe1a1cbf3f1f0a6a07581e5b95ae027c9bea0 Author: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Date: Wed Jul 1 15:58:52 2015 +0300 drm/i915: Changes required to enable DSI Video Mode on CHT On CHT, changes are required for calculating the correct m,n & p with minimal error +/- for the required DSI clock, so that the correct dividor & ctrl values are written in cck regs for DSI. This patch has been tested on CHT RVP with 1200 x 1920 panel. v2 by Jani, rebased on earlier refactoring, original at [1]. [1] http://mid.gmane.org/1431368400-1942-5-git-send-email-rodrigo.vivi@xxxxxxxxx Signed-off-by: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3c5c6d88855baf9c3b9aa6243a37bb179f5a737e Author: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Date: Wed Jul 1 15:58:51 2015 +0300 drm/i915: Support for higher DSI clk For MIPI panels requiring higher DSI clk, values needs to be added in lfsr_converts table for getting the correct values of pll ctrl and dividor values which gets programmed in cck regs, otherwise DSI PLL does not get locked leading to no display on the MIPI panel. Signed-off-by: Gaurav K Singh <gaurav.k.singh@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 260c1ad1993d3f17e25c5d848d6d2525ff38913c Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Jul 1 15:58:50 2015 +0300 drm/i915/dsi: abstract dsi bpp derivation from pixel format Nuke three copies of the same switch case. Hopefully we can switch to a drm generic function later on, but that will require us to swich to enum mipi_dsi_pixel_format first. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce65e47b78789b4f78be1fd7e4c884df74a9f075 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Jun 30 10:53:05 2015 -0300 drm/i915: don't increment the FBC threshold at fbc_enable We first set the threshold value when we're allocating the CFB, and then later at {ilk,gen7}_fbc_enable() we increment it in case we're using 16bpp. While that is correct, it is dangerous: if we rework the code a little bit in a way that allows us to call intel_fbc_enable() without necessarily calling i915_gem_stolen_setup_compression() first, we might end up incrementing threshold more than once. To prevent that, increment a temporary variable instead. v2: Rebase. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ca1543be2c4233fbc266bf66f4320806e61e05dd Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Wed Jul 1 11:51:10 2015 +0100 drm/i915: Report correct GGTT space usage Currently only normal views were accounted which under-accounts the usage as reported in debugfs. Introduce new helper, i915_gem_obj_total_ggtt_size, and use it from call sites which want to know how much GGTT space are objects using. v2: Single loop in i915_gem_get_aperture_ioctl. (Chris Wilson) v3: Walk GGTT active/inactive lists in i915_gem_get_aperture_ioctl for better efficiency. (Chris Wilson, Daniel Vetter) v4: Make i915_gem_obj_total_ggtt_size private to debugfs. (Chris Wilson) v5: Change unsigned long to u64. (Chris Wilson) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4ad2af1ed1e972704e1dbc8e7716cd3394a27385 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 18:16:39 2015 +0300 drm/i915/gtt: Return struct i915_scratch_page from alloc_scratch Every other alloc_* function return the pointer to the page they alloc. Follow the convention with scratch page also. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2e906beac6be0116c557f96d1c07cb7a955f8059 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Jun 30 18:16:37 2015 +0300 drm/i915/gtt: Reorder page alloc/free/init functions Maintain base page handling functions in order of alloc, free, init. No functional changes. v2: s/Introduce/Maintain (Michel) v3: Rebase Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 79bbcc299fca92ba3558c4966e6ad52ee1052d89 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Tue Jun 30 12:40:55 2015 +0100 drm/i915: Reserve space improvements An earlier patch was added to reserve space in the ring buffer for the commands issued during 'add_request()'. The initial version was pessimistic in the way it handled buffer wrapping and would cause premature wraps and thus waste ring space. This patch updates the code to better handle the wrap case. It no longer enforces that the space being asked for and the reserved space are a single contiguous block. Instead, it allows the reserve to be on the far end of a wrap operation. It still guarantees that the space is available so when the wrap occurs, no wait will happen. Thus the wrap cannot fail which is the whole point of the exercise. Also fixed a merge failure with some comments from the original patch. v2: Incorporated suggestion by David Gordon to move the wrap code inside the prepare function and thus allow a single combined wait_for_space() call rather than doing one before the wrap and another after. This also makes the prepare code much simpler and easier to follow. v3: Fix for 'effective_size' vs 'size' during ring buffer remainder calculations (spotted by Tomas Elf). For: VIZ-5115 CC: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 793dfa59bcfde9d642295480674926827e9adcfc Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Jun 18 17:25:53 2015 +0300 drm/i915/bxt: mask off the DPLL state checker bits we don't program For the purpose of state checking we only care about the DPLL HW flags that we actually program, so mask off the ones that we don't. This fixes one set of DPLL state check failures. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a9cc54eeba635d2feb2ed4bf43d4ea4e08e7e0a9 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Jun 24 08:59:24 2015 +0200 drm/atomic: Update old_fb after setting a property. This change updates the old_fb pointer only after acquiring the plane lock, if there are no properties the fb cannot have been changed either, so this works out correctly. Found in a discussion with Rob Clark. Cc: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d0b49c51e0c1b5f4facbf7191db82b39ac99b96 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 1 14:05:09 2015 +0200 drm: Remove useless blank line Blank lines at the end of a function definition are not useful, so get rid of it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit da168d81b44898404d281d5dbe70154ab5f117c1 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jun 23 11:34:21 2015 +0200 drm: Reject DRI1 hw lock ioctl functions for kms drivers I've done some extensive history digging across libdrm, mesa and xf86-video-{intel,nouveau,ati}. The only potential user of this with kms drivers I could find was ttmtest, which once used drmGetLock still. But that mistake was quickly fixed up. Even the intel xvmc library (which otherwise was really good with using dri1 stuff in kms mode) managed to never take the hw lock for dri2 (and hence kms). Hence it should be save to unconditionally disallow this. Cc: Peter Antoine <peter.antoine@xxxxxxxxx> Reviewed-by: Peter Antoine <peter.antoine@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ba6976c129a571464fccbbcf866f4f93d91113c0 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jun 23 11:22:36 2015 +0200 drm: Convert drm_legacy_ctxbitmap_init to void return type It can't fail really. Also remove the redundant kms check Peter added. Cc: Peter Antoine <peter.antoine@xxxxxxxxx> Reviewed-by: Peter Antoine <peter.antoine@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 0e975980d435d58df2d430d688b8c18778b42218 Author: Peter Antoine <peter.antoine@xxxxxxxxx> Date: Tue Jun 23 08:18:49 2015 +0100 drm: Turn off Legacy Context Functions The context functions are not used by the i915 driver and should not be used by modeset drivers. These driver functions contain several bugs and security holes. This change makes these functions optional can be turned on by a setting, they are turned off by default for modeset driver with the exception of the nouvea driver that may require them with an old version of libdrm. The previous attempt was commit 7c510133d93dd6f15ca040733ba7b2891ed61fd1 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 8 15:41:21 2013 +0200 drm: mark context support as a legacy subsystem but this had to be reverted commit c21eb21cb50d58e7cbdcb8b9e7ff68b85cfa5095 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 20 08:32:59 2013 +1000 Revert "drm: mark context support as a legacy subsystem" v2: remove returns from void function, and formatting (Daniel Vetter) v3: - s/Nova/nouveau/ in the commit message, and add references to the previous attempts - drop the part touching the drm hw lock, that should be a separate patch. Signed-off-by: Peter Antoine <peter.antoine@xxxxxxxxx> (v2) Cc: Peter Antoine <peter.antoine@xxxxxxxxx> (v2) Reviewed-by: Peter Antoine <peter.antoine@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d9156b5f6849a1b1185ac62790f36df013b1ade6 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:27 2015 +0530 ath10k: configure frag desc memory to target for qca99X0 Pre qca99X0 chipsets follows the model where dynamically allocate memory for frag desc on getting new skb for TX. But, this is not going to be the case in qca99X0. It expects frag desc memory to be allocated at boot time and let the driver to reuse allocated memory after every TX completion. So there won't be any dynamic frag memory memory allocation in qca99X0 during data transmission. qca99X0 hardware doesn't need fragment desc address to be programmed in msdu descriptor for every data transaction. It needs to know only starting address of fragment descriptor at the time of the boot. During data transmission, qca99X0 hardware can retrieve corresponding frag addr by adding programmed frag desc base addr + msdu id. Allocate continuous fragment descriptor memory (same size as number of descriptor) at the time of target initialization and configure allocated dma address to the target via HTT_H2T_MSG_TYPE_FRAG_DESC_BANK_CFG. How this is allocated continuous memory is going to be used is not covered in this patch. It just allocates memory and hand over to firmware. If we don't do it at init time, qca99X0 will stall when firmware tries to do TX. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5c8726eca3e4080615f09328d1f28013b6e5c837 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:26 2015 +0530 ath10k: set max spatial stream to 4 for 10.4 fw 10.4 fw supports upto 4 spatial stream. Limit max spatial stream to 4 for 10.4 firmware and to 3 for non 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cf36fef08a85c815d9358e1571d3d83da02474f7 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:25 2015 +0530 ath10k: advertise 10.4 fw ap and sta iface combination to mac80211 10.4 fw supports upto 16 interface in ap mode and 1 interface in station mode, overall total interfaces supported are 16 interfaces. Populate this limit in wiphy->iface_combinations. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 721ad3ca7956ce66e11fdcb187769130486feb28 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:24 2015 +0530 ath10k: add 10.4 fw specific htt msg definitions New htt event table is added for 10.4 firmware. Following new htt events are available only 10.4. adding this to generic htt event table, HTT_T2H_MSG_TYPE_EN_STATS, HTT_T2H_MSG_TYPE_TX_FETCH_IND, HTT_T2H_MSG_TYPE_TX_FETCH_CONF, HTT_T2H_MSG_TYPE_TX_LOW_LATENCY_IND Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b2297baa273b2a73d7408a97d0163c5a0dfccf8c Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:23 2015 +0530 ath10k: add scan support for 10.4 fw Existing non 10.4 firmware scan related events and commands are matching with 10.4 firmware (except chan info event). Link general start scan,stop scan, scan channel list configuration functions to 10.4 wmi function table and add a new handler to parse 10.4 specific chan info event. 10.4 firmware has extra scan completion reason WMI_SCAN_REASON_INTERNAL_FAILURE and new scan event WMI_SCAN_EVENT_FOREIGN_CHANNEL_EXIT compared to previous firmware versions. These things are added in respective enum. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 373b48cfe77ff8c0ff94564a280dbfea56e769d4 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:22 2015 +0530 ath10k: enable vdev and peer related operations for 10.4 fw Most of existing vdev and peer related functions (vdev create, vdev delete, vdev start, peer create, peer delete, peer flush, etc) are reusable for 10.4 firmware. Link those general vdev and peer functions to 10.4 wmi function table. Existing general pktlog enable/disable, dbglog configuration functions are reusable for 10.4 and add them also in wmi function table. Also handle few wmi events (sevice rdy, echo, dbg msg, tbtt offset update, dbg print) in ath10k_wmi_10_4_op_rx(). wow event is not applicable in 10.4 firmware, have it under not implemented print. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3cec3be3d101bfec7136841cbb9b32ca49ac0328 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:21 2015 +0530 ath10k: handle 10.4 firmware wmi swba event 10.4 firmware swba event payload has space to accommodate upto 512 client traffic indication info & one p2p noa descriptor. It's is not matching with exiting swba event format defined for non 10.4 firmware. Non 10.4 firmware swba event format is designed to support only upto only 128 client and four p2p notice of absence descriptor. following changes are done in this patch to enable ath10k to handle 10.4 firmware swba event, - link generic ath10k_wmi_event_host_swba() to handle 10.4 swba event in 10.4 wmi rx handler. - add 10.4 specific swba event structure wmi_10_4_host_swba_event. - new function ath10k_wmi_10_4_op_pull_swba_ev() to parse 10.4 swba event. - increase tim_bitmap[] size in ath10k_vif to 64 to hold 512 station power save state. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a03fee347cdcbf101820b2984366a37043ffc62b Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:22:20 2015 +0530 ath10k: enhance swba event handler to adapt different size tim bitmap Due to 512 client support in 10.4 firmware, size of tim ie is going to be slightly higher than non 10.4 firmware. So, size of tim_bitmap what is carried in swba event from 10.4 firmware is bit higher. The only bottle neck to reuse existing swba handler ath10k_wmi_event_host_swba() for 10.4 is that code designed to deal with fixed size tim bitmap(ie, tim_info[].tim_bitmap in wmi_swba_ev_arg). This patch removes such size limitation and makes it more suitable to handle swba event which has different size tim bitmap. All existing swba event parsing functions are changed to adapt this change. Actual support to handle 10.4 swba event is added in next patch. Only preparation is made in this patch. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 33190ebfb1e846f97366a334e45b03caf4a65c84 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Mon Jun 15 17:42:32 2015 +0300 wil6210: restart AP upon change in privacy settings privacy settings might change while AP is running. Inside wil_cfg80211_change_beacon(), detect change in privacy settings and handle it by stopping and re-starting the AP. Firmware cannot handle on-the-fly privacy settings change and so AP restart is required. Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b24fc6fc7c0f6425793fd46ccc4ea48f49447617 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Jun 16 10:34:03 2015 +0200 ath: DFS - limit number of potential PRI sequences In the PRI detector, after the current radar pulse has been checked agains existing PRI sequences, it is considered as part of a new potential sequence. Previously, the condition to accept a new sequence was to have at least the same number of pulses as the longest matching sequence. This was wrong, since it led to duplicates of PRI sequences. This patch changes the acceptance criteria for new potential sequences from 'at least' to 'more than' the longest existing. Detection performance remains unaffected, while the number of PRI sequences accounted at runtime (and with it CPU load) is reduced by up to 50%. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d02e752f732a91e2a6de9a3547c682914ae0bbe7 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:18 2015 +0530 ath10k: handle 10.4 fw wmi ready event Reuse existing function ath10k_wmi_op_pull_rdy_ev() to parse WMI_10_4_READY_EVENTID and handle the same event in ath10k_wmi_10_4_op_rx(). Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b039941704452d8f89e83cba352b5c89a6ebf2ab Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:17 2015 +0530 ath10k: adjust default peer limits if qcache enabled in 10.4 fw 10.4 firmware supports upto 512 clients when qcache feature is enabled. Make adjustment on default max peer count, active peers, number of tid in such case to meet qcache requirement. 10.4 fw has extra unit info flag NUM_UNITS_IS_NUM_ACTIVE_PEERS which is also handled in this patch. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1c0929614ac429a32509307e790e813325562dc1 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:16 2015 +0530 ath10k: handle 10.4 fw wmi mgmt rx event 10.4 firmware wmi mgmt rx event format differs from non 10.4 firmware and changing existing wmi mgmt rx event parsing function ath10k_wmi_op_pull_mgmt_rx_ev() for 10.4 would add more complex. This patch adds new function to receive any wmi rx event from 10.4 firmware and also introduce new function to parse wmi mgmt rx event. In addition, fw main branch service rdy event parsing function is linked in wmi ops table. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d1e52a8ed2bf34ed5b839c190209deb80828d189 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:15 2015 +0530 ath10k: fill 10.4 fw wmi init cmd default values Define 10.4 wmi init command structure and introduce new function ath10k_wmi_10_4_op_gen_init() to fill default values for each field which goes as part of wmi init cmd to 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d86561ff677b312424ba53389be80b507941973b Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:14 2015 +0530 ath10k: add 10.4 fw wmi pdev cmd ids Include 10.4 firmware wmi pdev cmd id and prepare wmi vdev map table wmi_10_4_pdev_param_map and update non 10.4 firmware pdev cmd map table with newly added vdev cmd id specifically for 10.4 firmware as unsupported. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 93841a15cce206450cdb31fe9b3f6b00342afe2b Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:13 2015 +0530 ath10k: add 10.4 fw wmi vdev cmd ids Include 10.4 firmware wmi vdev cmd id and make up wmi vdev map table wmi_10_4_vdev_param_map and also update non 10.4 firmware vdev cmd map table with newly added vdev cmd id specifically for 10.4 firmware as unsupported. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 772b4aeee51a851132abf799de8c07cfbe95ac00 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:12 2015 +0530 ath10k: set 10.4 fw exclusive wmi cmd as unsupported for other fw versions In fact, explicit assigned to ZERO for unsupported wmi commands are not really needed. Global static variable will have ZERO by default. However, just for better readability setting all wmi cmds in non 10.4 firmware wmi mapping table as unsupported for wmi cmd which are exclusively available only in 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2d491e69962a94bbeb0449a060cca2d156f943e9 Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:11 2015 +0530 ath10k: include 10.4 fw specific wmi cmd and event ids 10.4 firmware wmi cmd and event id values are not exactly aligned with previous firmware versions (main, 10.x, 10.2, etc). Add new enum to define wmi cmd & event definitions for 10.4 firmware and prepare wmi_10_4_cmd_map based on 10.4 firmware wmi cmd definitions. wmi_cmd_map is extended to accommodate new wmi commands which are exclusively available in 10.4 firmware. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 840357ccc365b650d2321a5690cb5374192619ca Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:10 2015 +0530 ath10k: add 10.4 fw wmi service bitmap definition Include new enum to define wmi service bitmap definitions for 10.4 firmware and a function wmi_10_4_svc_map() to remap 10.4 firmware wmi service bitmap definitions to ath10k generic wmi services. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9bd213224654b8c13af8bffcf9bd07ee0baae5ef Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 20:10:09 2015 +0530 ath10k: include new wmi op version for 10.4 fw qca99X0 chip uses firmware version 10.4. Define a new macro ATH10K_FW_WMI_OP_VERSION_10_4 for 10.4 firmware and include in switch cases where ATH10K_FW_WMI_OP_VERSION_* is used to avoid compilation error. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d772703e705961dc4bd280373e3679c8c4f95df7 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:10 2015 +0530 ath10k: Add BMI param value to execute otp to hw_param BMI parameter value to execute downloaded otp binary is different for QCA99X0. Have a member in hw_params to hold hw specific BMI param. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit dcb02db1068b78bd1b4d2bf64317021c2531a7b0 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:09 2015 +0530 ath10k: Add support for code swap Code swap is a mechanism to use host memory to store some fw binary code segment. Ath10k host driver allocates and loads the code swap binary into the host memory and configures the target with the host allocated memory information at the address taken from code swap binary. This patch adds code swap support for firmware binary. Code swap binary for firmware bin is available in ATH10K_FW_IE_FW_CODE_SWAP_IMAGE. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit fd3d6ffbd035d24b2baff0b5b39751183c289b33 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:08 2015 +0530 ath10k: Fix BMI communication timeout for QCA99X0 There is more than 1 sec delay in getting response from target through BMI in QCA99X0. Increase the BMI communication timeout to 2*HZ to fix BMI failures. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2adf99ca33ca75c8a702797f77a1652e26f18a6e Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:07 2015 +0530 ath10k: Extend CE src desc flags for interrupt indication QCA99X0 uses two new copy engine src desc flags for interrupt indication. Bit_2 is to mark if host interrupt is disabled after processing the current desc and bit_3 is to mark if target interrupt is diabled after the processing of current descriptor. CE_DESC_FLAGS_META_DATA_MASK and CE_DESC_FLAGS_META_DATA_LSB are based on the target type. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6e4202c3ed301dea62885a3ead6506534fcf8db3 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:06 2015 +0530 ath10k: Add chip reset sequence for QCA99X0 QCA99X0 supports only cold reset. Also, made ath10k_pci_irq_msi_fw_mask() and ath10k_pci_irq_msi_fw_unmask() non-99X0 specific till we get proper register configuration to mask/unmask irq/MSI. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 418ca5992e2f91050e0673b3a3a78197f0122bf8 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:05 2015 +0530 ath10k: Make target cpu address to CE address conversion chip specific Make the helper converting target virtual address space to CE address space a target type specific to support QCA99X0. Also make this as function instead of macro. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 050af069de03489947023544bfed1977952b8215 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:04 2015 +0530 ath10k: Copy Engine related changes for QCA99X0 QCA99X0 supports upto 12 Copy engines. Host and target CE configuration table is updated to support new copy engine pipes. This also fixes the assumption of diagnostic CE by making CE_7 as the one instead of CE_COUNT - 1. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8bd4702103dca2b06446f85c04222faa8eb553b5 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:03 2015 +0530 ath10k: Add hw register/values for QCA99X0 chip This is to prepare the driver for QCA99X0 chip support. This commit adds hw_params, hw register table and hw_values table for QCA99X0 chip. Please note this is only a partial patch adding support for QCA99X0, so the device id is not yet added to pci device table. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a521ee983d312db76e6c275c32475cb20bdc7d39 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:02 2015 +0530 ath10k: Add new reg_address/mask to hw register table Add more register address and mask which can be different for newer chip to hw_reg table. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2f2cfc4a9a5b7be65d61382b58cfb206f13966df Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Thu Jun 18 12:31:01 2015 +0530 ath10k: Add a table to store hw specific values This is to prepare ath10k to support newer chip set. Values like CE_COUNT, MSI_ASSIGN_CE_MAX and RTC_STATE_V_ON can be different for different chips. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit aa610dcb7c1999fe3353562340a72196d9a54ae0 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Jun 22 23:35:52 2015 +0300 drm/i915/bxt: add DDI port HW readout support Add support for reading out the HW state for DDI ports. Since the actual programming is very similar to the CHV/VLV DPIO PLL programming we can reuse much of the logic from there. This fixes the state checker failures I saw on my BXT with HDMI output. v2: - rebased on v2 of patch 4/5 Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dccbea3b0704c77c5bbd9e5e9240d6eb253d2565 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Jun 22 23:35:51 2015 +0300 drm/i915: calculate the port clock rate along with other PLL params Depending on the platform the port clock fed to the pipe can be the PLL's post-divided fast clock rate or a /5 divided version of it. To make this more obvious across the platforms calculate this port clock along with the rest of the PLL parameters. This is also needed by the next patch where we can reuse the CHV helper for the BXT PLL HW readout code; so export the corresponding helper. While at it also add a more descriptive name to the helpers and a comment explaining what's being calculated. No functional change. Suggested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 589eca678a0348687fbfc3194a0d87467a3f6c3f Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Jun 22 23:35:50 2015 +0300 drm/i915/vlv: move the vlv PLL helper next to its platform counterparts Move the helper next to the PLL helpers of the other platforms for clarity. No functional change. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c8453338b8218b42b70cc256badeaca52021a42c Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Jun 18 17:25:55 2015 +0300 drm/i915/bxt: add PLL10 to the PLL state dumper Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 05712c1561041d102d3cac7d7e79548b1446caa4 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Jun 18 17:25:54 2015 +0300 drm/i915/bxt: add missing DDI PLL registers to the state checking Although we have a fixed setting for the PLL9 and EBB4 registers, it still makes sense to check them together with the rest of PLL registers. While at it also remove a redundant comment about 10 bit clock enabling. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8896f5d58e64bfd3c2b5f7c5ba5c3f3967e93c7 Author: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Date: Thu Jun 25 11:11:03 2015 +0300 drm/i915/skl: Buffer translation improvements This patch adds support for 0.85V VccIO on Skylake Y, separate buffer translation tables for Skylake U, and support for I_boost for the entries that needs this. Changes in v2: * Refactored the code a bit to move all DDI signal level setup to intel_ddi.c Issue: VIZ-5677 Signed-off-by: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Reviewed-by: Antti Koskipää <antti.koskipaa@xxxxxxxxxxxxxxx> [danvet: Apply style polish checkpatch suggested.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4b8a8262086ece4b7eb34bd2e40cce3b3c9c7079 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 19 18:30:22 2014 +0100 HID: picoLCD: Deletion of unnecessary checks before three function calls The functions backlight_device_unregister(), lcd_device_unregister() and rc_unregister_device() test whether their argument is NULL and then return immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxxx> commit 2cb389b7e4966151d44c505d49ea31a8d6969372 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:10 2015 +0300 drm/i915: Zero unused WM1 watermarks on VLV/CHV The hardware supposedly ignores the WM1 watermarks while the PND deadline mode is enabled, but clear out the register just in case. This is what the other OS does, and it does make register dumps look more consistent when we don't have partial WM1 values lingering in the registers (some WM1 watermarks already get zeroed when the actually used DSPFW registers get written). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de38b95cbb2a92ea037c22d41fc1476c0825c0d7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:09 2015 +0300 drm/i915: Add debugfs knobs for VLVCHV memory latency values Allow tweaking the VLV/CHV memory latencies thorugh sysfs, like we do for ILK+. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6f9c784b7ec2cc9fc9fd7c5a8634b70aadd76015 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:08 2015 +0300 drm/i915: Don't do PM5/DDR DVFS with multiple pipes Enabling PM5/DDR DVFS with multiple active pipes isn't a validated configuration. It does seem to work most of the time at least, but there is clearly an additional risk of underruns, so let's not play with fire. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 852eb00dc44ea2b8896e2fa27c6a36a1f697ba5a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:07 2015 +0300 drm/i915: Try to make sure cxsr is disabled around plane enable/disable CxSR (or maxfifo on VLV/CHV) blocks somne changes to the plane control register (enable bit at least, not quite sure about the rest). So in order to have the plane enable/disable when we want we need to first kick the hardware out of cxsr. Unfortunateloy this requires some extra vblank waits. For the CxSR enable after the plane update we should eventually use an async vblank worker, but since we don't have that just do sync vblank waits. For the disable case we have no choice but to do it synchronously. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26e1fe4fbd4c15919f8cfa9440d70eca5a457ba3 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:06 2015 +0300 drm/i915: Use the memory latency based WM computation on VLV too In order to get decnet memory self refresh residency on VLV, flip it over to the new CHV way of doing things. VLV doesn't do PM5 or DDR DVFS so it's a bit simpler. I'm not sure the currently memory latency used for CHV is really appropriate for VLV. Some further testing will probably be needed to figure that out. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 54f1b6e15db87722aa21035169ce811af9d971fd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:05 2015 +0300 drm/i915: Compute display FIFO split dynamically for CHV Consider which planes are active and compute the FIFO split based on the relative data rates. Since we only consider the pipe src width rather than the plane width when computing watermarks it seems best to do the same when computing the FIFO split as well. This means the only thing we actually have to consider for the FIFO splut is the bpp, and we can ignore the rest. I've just stuffed the logic into the watermark code for now. Eventually it'll need to move into the atomic update for the crtc. There's also one extra complication I've not yet considered; Some of the DSPARB registers contain bits related to multiple pipes. The registers are double buffered but apparently they update on the vblank of any active pipe. So doing the FIFO reconfiguration properly when multiple pipes are active is not going to be fun. But let's ignore that mess for now. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 262cd2e154c29dc3a235f68cc91e13d8f48e8002 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:04 2015 +0300 drm/i915: CHV DDR DVFS support and another watermark rewrite Turns out the VLV/CHV system agent doesn't understand memory latencies, so trying to rely on the PND deadline mechanism is not going to fly especially when DDR DVFS is enabled. Currently we try to avoid the problems by lying to the system agent about the deadlines and setting the FIFO watermarks to 8 cachelines. This however leads to bad memory self refresh residency. So in order to satosfy everyone we'll just give up on the deadline scheme and program the watermarks old school based on the worst case memory latency. I've modelled this a bit on the ILK+ approach where we compute multiple sets of watermarks for each pipe (PM2,PM5,DDR DVFS) and when merge thet appropriate one later with the watermarks from other pipes. There isn't too much to merge actually since each pipe has a totally independent FIFO (well apart from the mess with the partially shared DSPARB registers), but still decopuling the pipes from each other seems like a good idea. Eventually we'll want to perform the watermark update in two phases around the plane update to avoid underruns due to the single buffered watermark registers. But that's still in limbo for ILK+ too, so I've not gone that far yet for VLV/CHV either. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6eb1a6817246f1a67de4d6959a84d09efead5329 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:03 2015 +0300 drm/i915: Read wm values from hardware at init on CHV Read out the current watermark settings from the hardware at driver init time. This will allow us to compare the newly calculated values against the currrent ones and potentially avoid needless WM updates. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f015c5518879fb3e578caaa63806617468a24045 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:02 2015 +0300 drm/i915: Split atomic wm update to pre and post variants Try to update the watermarks on the right side of the plane update. This is just a temporary hack until we get the proper two part update into place. However in the meantime this might have some chance of at least working. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a7a6c498927ea42c9a3b26e0caa5c854a980d58c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 22:00:01 2015 +0300 drm/i915: POSTING_READ() in intel_set_memory_cxsr() We want cxsr exit to happen ASAP, so toss in some POSTING_READ()s to make sure things are really kicked off. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 031b698a77a70a6c394568034437b5486a44e868 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jun 26 19:35:16 2015 +0200 drm/i915: Unconditionally do fb tracking invalidate in set_domain We can't elide the fb tracking invalidate if the buffer is already in the right domain since that would lead to missed screen updates. I'm pretty sure I've written this already before but must have gotten lost unfortunately :( v2: Chris observed that all internal set_domain users already correctly do the fb invalidate on their own, hence we can move this just into the set_domain ioctl instead. v3: I screwed up setting the invalidate ORIGIN_* correctly (Chris). Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reported-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Tested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 066cf55b9ce35f1f90dde9fcec01431a9243a949 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Jun 26 13:55:54 2015 -0700 drm/i915: Fix IPS related flicker We cannot let IPS enabled with no plane on the pipe: BSpec: "IPS cannot be enabled until after at least one plane has been enabled for at least one vertical blank." and "IPS must be disabled while there is still at least one plane enabled on the same pipe as IPS." This restriction apply to HSW and BDW. However a shortcut path on update primary plane function to make primary plane invisible by setting DSPCTRL to 0 was leting IPS enabled while there was no other plane enabled on the pipe causing flickerings that we were believing that it was caused by that other restriction where ips cannot be used when pixel rate is greater than 95% of cdclok. v2: Don't mess with Atomic path as pointed out by Ville. v3: Rebase after a long time and atomic path changes. Accept Ville suggestion of not check !fb v4: Re-factore on dinq Reference: https://bugs.freedesktop.org/show_bug.cgi?id=85583 Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Kenneth Graunke <kenneth@xxxxxxxxxxxxx> [danvet: Make it compile] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 12ebb05246338aa9cdee51da50f57237352b3f64 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Jun 21 12:18:09 2015 +0200 iio:adc:Kconfig: rework help descriptions Rework the help text of several ADCs to make sure that: - the module name is mentioned, if the driver can be built as a module - "If unsure, say N" messages are dropped - right indentation is maintained Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e7ad987832637701fc723ac2c1580c30c191bca6 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Jun 26 18:34:29 2015 +0100 drm/i915/skl: Skip remaining dividers when deviation is 0 We can't improve a 0 deviation, so when we find such a divider, skip the remaining ones they won't be better. This short-circuit the search for 34 of the 373 test frequencies in the corresponding i-g-t test (tools/skl_compute_wrpll) v2: Place the short-circuiting code in skl_compute_wrpll() (Paulo) (I'm sure nobody will notice the spurious removal of a blank line) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Suggested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 350405623ff3f447813eaef2035272bf05281671 Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Thu Jun 25 14:54:07 2015 -0700 drm/i915: Update rps frequencies for BXT Broxton is using a different register and different bit ordering for rps status capabilities. Also GT perf freqency register is different for Broxton so update that. Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 267db663458a8077a087674fb85ea95f540d8671 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 25 16:19:24 2015 +0100 drm/i915/skl: Prefer even dividers for SKL DPLLs Currently, if an odd divider improves the deviation (minimizes it), we take that divider. The recommendation is to prefer even dividers. v2: Move the check at the right place after having inverted the two for loops in the previous patch. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dc2538139277089e218b1b1d0d01454ecf39e944 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 25 16:15:06 2015 +0100 drm/i915/skl: Replace the HDMI DPLL divider computation algorithm The HW validation team came back from further testing with a slightly changed constraint on the deviation between the DCO frequency and the central frequency. Instead of +-4%, it's now +1%/-6%. Unfortunately, the previous algorithm didn't quite cope with these new constraints, the reason being that it wasn't thorough enough looking at the possible divider candidates. The new algorithm looks at all dividers, which is definitely a hammer approach (we could reduce further the set of dividers to good ones as a follow up, at the cost of a bit more complicated code). But, at least, we can now satisfy the +1%/+6% rule for all the "Well known" HDMI frequencies of my test set (373 entries). On that subject, the new code is quite extensively tested in intel-gpu-tools (tools/skl_compute_wrpll). v2: Fix cycling between central frequencies and dividers (Paulo) Properly choose the minimal deviation between postive and negative candidates (Paulo). On the 373 test frequencies, v2 computes better dividers than v1 (ie more even dividers and lower deviation on average): v1: average deviation: 206.52 v2: average deviation: 194.47 Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f37c05052ff6430767f3bff60efc0e92f690495b Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jun 10 17:46:39 2015 +0100 drm/i915/gtt: Switch gen8_free_page_tables params After Mika's ppgtt cleanup series, all the other free functions have drm_device as the first parameter, except this one. No functional changes. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7a01a0a292c25a85cd36efcd5920d2f1caccbb2b Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Jun 26 13:46:14 2015 +0100 drm/i915/lrc: Update PDPx registers with lri commands A safer way to update the PDPx registers is sending lri commands, added in the ring before the batchbuffer start. Otherwise, the ctx must be idle before trying to change anything (but the ring-tail) in the ctx image. An example where the ctx won't be idle is lite-restore. This patch depends on 5b7e4c9ce ("drm/i915/gtt: Mark TLBS dirty for gen8+"). v2: Combine lri writes (and save 8 commands). (Mika) v3: Rebase after ring/req changes, and removed references to deprecated patches. Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 966082c93273f4fd52f4a068b4b55c47e3ba72cc Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:19 2015 +0300 drm/i915/gtt: Use nonatomic bitmap ops There is no need for atomicity here. Convert all bitmap operations to nonatomic variants. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 79ab93705464982b9f7e9b5dfabfacde634338aa Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:17 2015 +0300 drm/i915/gtt: Move scratch_pd and scratch_pt into vm struct Scratch page is part of struct i915_address_space. Move other scratch entities into the same struct. This is a preparatory patch for having only one instance of each scratch_pt/pd. v2: make commit msg more readable Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v1) [danvet: Bikeshed summary to avoid confusion with vmas.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe36f55d4d4447679923fc74564786ae423ca4bd Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:16 2015 +0300 drm/i915/gtt: Cleanup page directory encoding Write page directory entry without using superfluous indirect function. Also remove unused device parameter from the encode function. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b2dd45111e0fb4b36dcc972c7ae4e69ff1df4f88 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:15 2015 +0300 drm/i915/gtt: Pin vma during virtual address allocation Dynamic page table allocation might wake the shrinker when memory is requested for page table structures. As this happens when we try to allocate the virtual address during binding, our vma might be among the targets for eviction. We should do i915_vma_pin() and do pin early in there like Chris suggests but this is interim solution. Shield our vma from shrinker by incrementing pin count before the virtual address is allocated. The proper place to fix this would be in gem, inside of i915_vma_pin(). But we don't have that yet so take the short cut as a intermediate solution. Testcase: igt/gem_ctx_thrash Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c114f76a0a76eeffa1c1be392d98182c2cc30291 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:13 2015 +0300 drm/i915/gtt: Make scratch page i915_page_dma compatible Lay out scratch page structure in similar manner than other paging structures. This allows us to use the same tools for setup and teardown. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 567047be2a7ede082d29f45524c287b87bd75e53 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:12 2015 +0300 drm/i915/gtt: Use macros to access dma mapped pages Make paging structure type agnostic *_px macros to access page dma struct, the backing page and the dma address. This makes the code less cluttered on internals of i915_page_dma. v2: Superfluous const -> nonconst removed v3: Rebased Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d1c54acd67dc6518629224b68cac17cd5cff1dc3 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:11 2015 +0300 drm/i915/gtt: Introduce kmap|kunmap for dma page As there is flushing involved when we have done the cpu write, make functions for mapping for cpu space. Make macros to map any type of paging structure. v2: Make it clear tha flushing kunmap is only for ppgtt (Ville) v3: Flushing fixed (Ville, Michel). Removed superfluous semicolon Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73eeea537b1bb9c53c9e406a16354f6bc9b2be62 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:10 2015 +0300 drm/i915/gtt: Introduce fill_page_dma() When we setup page directories and tables, we point the entries to a to the next level scratch structure. Make this generic by introducing a fill_page_dma which maps and flushes. We also need 32 bit variant for legacy gens. v2: Fix flushes and handle valleyview (Ville) v3: Now really fix flushes (Michel, Ville) Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cee30c5439f5c9569ac9260b6e6968faf19cc575 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:09 2015 +0300 drm/i915/gtt: Remove superfluous free_pd with gen6/7 This has slipped in somewhere but it was harmless as we check the page pointer before teardown. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a08e111a6cc88514155b087e0c307581064352b5 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:08 2015 +0300 drm/i915/gtt: Rename unmap_and_free_px to free_px All the paging structures are now similar and mapped for dma. The unmapping is taken care of by common accessors, so don't overload the reader with such details. v2: Be consistent with goto labels (Michel) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44159ddbeac3d34e5ca9037e151a242b7388df8e Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:07 2015 +0300 drm/i915/gtt: Introduce struct i915_page_dma All our paging structures have struct page and dma address for that page. Add struct for page/dma address pairs and use it to make the setup and teardown for different paging structures identical. Include the page directory offset also in the struct for legacy gens. Rename it to clearly point out that it is offset into the ggtt. v2: Add comment about ggtt_offset (Michel) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d852c7bf902aa36f37b6fd0bb1147c922e7bd0fb Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:06 2015 +0300 drm/i915/gtt: Introduce i915_page_dir_dma_addr The legacy mode mm switch and the execlist context assignment needs dma address for the page directories. Introduce a function that encapsulates the scratch_pd dma fallback if no pd is found. v2: Rebase, s/ring/req Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c44ef60e437019b8ca1dab8b4d2e8761fd4ce1e9 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:05 2015 +0300 drm/i915/gtt: Allow >= 4GB sizes for vm. We can have exactly 4GB sized ppgtt with 32bit system. size_t is inadequate for this. v2: Convert a lot more places (Daniel) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a05d80eec27460a2dca06676d489637e25f93caf Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:04 2015 +0300 drm/i915/gtt: Check va range against vm size Check the allocation area against the known end of address space instead of against fixed value. v2: Return ENODEV on internal bugs (Chris) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5b7e4c9ce19038f88828309a0a61f5d5c6686d37 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 25 18:35:03 2015 +0300 drm/i915/gtt: Mark TLBS dirty for gen8+ When we touch gen8+ page maps, mark them dirty like we do with previous gens. v2: Update comment (Joonas) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fa9f3281cbb1075545d4528c84059a3f4e117b44 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jun 11 20:45:49 2015 +0300 iwlwifi: pcie: lock start_hw / start_fw / stop_device This allows to ensure that we don't have races between them. A user reported that stop_device was called twice upon rfkill interrupt after suspend. When the interrupts are enabled, and right after when we directly check the rfkill state. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 012c02c15ac63b0b26c7f058c744e85cb563a737 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Tue Jun 16 22:37:40 2015 +0300 iwlwifi: dvm: start HW before running FW The new locking in PCIe transport requires to start_hw before start_fw. This uncovered a bug in dvm which failed to do so. Fix that. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6c7d32cfdc622ef4b9f157592fc167513507270d Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Sun Jun 7 09:34:57 2015 +0300 iwlwifi: deprecate -10.ucode for 3160 / 7260 / 7265 This firmware is not supported anymore - stop loading this firmware. Remove code handling older versions. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1738d60b31d7792516426d62521ec65bff8281f5 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri May 22 12:09:44 2015 +0200 iwlwifi: mvm: handle RX MPDUs separately There's no need to forward RX MPDUs to notification wait tests, nor do we need to check them for firmware dump triggers, nor could they be asynchronous. It's thus more efficient to handle them separately, before going into the regular RX handlers. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b503ed603ec9acc25dd31808fe87575bdaeab4e7 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Wed May 27 22:20:46 2015 +0300 iwlwifi: mvm: rs: report last tx rate based on RSSI and caps In scenarios where we haven't converged yet to a specific modulation and rate it could be better to report to userspace the last tx rate based on the STA capabilities and RSSI. This is important as sometimes userspace displays the last tx rate as the link speed. This avoids being presented with low legacy rates when rs just begins its search or after an idle period in which it resets itself. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9e2ee2dd044e01e06e4a6389583f95bfa1058bf1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 21:59:35 2015 +0300 drm/i915: Add debug messages for pipe enable/disable Currently we don't have any real indication when a pipe gets enabled/disabled. Add some. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a9ff8714d911b1f9417af75525eb29ac31e014fc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 24 21:59:34 2015 +0300 drm/i915: Store frontbuffer_bits in the plane Avoid some 'switch (plane->type)' by storing the fronbuffer_bits in intel_plane. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: use singular frontbuffer_bits in intel_plane since a plan can only ever have one bit. Discussed with Ville on irc.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit acd3f3d3516838ebe001b7048fe59ab5b93bb645 Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Tue Jun 23 14:14:26 2015 -0700 drm/i915: Add the ddi get cdclk code for BXT (v3) The registers and process differ from other platforms. If the hardware was programmed incorrectly, this will return invalid cdclk values, which should then cause reprogramming of the hardware. v2(Matt): Return 19.2 MHz when DE PLL is disabled (Ville) v3: Make less assumptions about the hardware state (Ville) Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9e759ff1f4a047c405034dfff1ee5c87abba41db Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Jun 23 12:57:43 2015 +0100 drm/i915: Return correct size for rotated views Currently object size is returned for the rotated VMA size which can be bigger than the rotated view itself. Since the binding code pads all excess size with scratch pages the only minor issue with this is wasting some GGTT space, but still feels nicer to fix and report the real size. v2: Rebase for tracking size in bytes instead of pages. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 84fe03f7b2481b3a1cf4fb9db6e5df8d3698a4fe Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Jun 23 14:26:46 2015 +0100 drm/i915: Move rotated geometry calculations into the fill helper This way data is available as soon as the view is passed into the call chain. v2: Store size in bytes instead of pages under the appropriate name. (Chris Wilson) v3: Use uint64_t instead of size_t. (Daniel Vetter) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> (v2) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9f8fd2d87eebb97b0ffdb3ff6cd90eb1c8e00bd Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Wed Jun 24 09:55:20 2015 +0100 drm/i915: Remove mostly unused variable in intel_rotate_fb_obj_pages It is only used in logging and it doesn't need to exist on its own. Also it was misleading to log view size as object size. v2: Improve commit message. (Joonas Lahtinen) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> [danvet: s/%lu/%zu/ where needed, reported by 0-day.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c329a4ec595e886300710271db24bc29b74a4205 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:23 2015 +0200 drm/i915: Nuke lvds downclock support With the new DRRS code it kinda sticks out, and we never managed to get this to work well enough without causing issues. Time to wave goodbye. I've decided to keep the logic for programming the reduced clocks intact, but everything else is gone. If anyone ever wants to resurrect this we need to redo it all anyway on top of the frontbuffer tracking. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8c6cda29194c5891d52cbd9d7aac496b61bf9310 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Jun 23 20:40:27 2015 +0300 drm/i915/gen9: fix typo when setting up the crtc scaler This typo lead to the crtc scaler getting enabled incorrectly and an evantual state checker mismatch about the scaler_id. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0160f055393f457f8f218377bc088207eb502c38 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jun 23 15:46:57 2015 +0100 drm/i915/gen8: Add WaClearSlmSpaceAtContextSwitch workaround In Indirect context w/a batch buffer, WaClearSlmSpaceAtContextSwitch This WA performs writes to scratch page so it must be valid, this check is performed before initializing the batch with this WA. v2: s/PIPE_CONTROL_FLUSH_RO_CACHES/PIPE_CONTROL_FLUSH_L3 (Ville) v3: GTT bit in scratch address should be mbz (Chris) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9fb73863cc3eda7476e88a03e8b125b3d309b7b3 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:28 2015 +0200 drm/i915: Use to_i915 in intel_frontbuffer.c Must have missed the transition. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 20c8838b0e3ba408a0ffe185b6124cdd0fcc3283 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:27 2015 +0200 drm/i915/psr: Restrict single-shot updates to the PSR pipe The frontbuffer code gives us accurate information about activity, let's use it. Again this should avoid unecessary updates when multiple screens are on. Also realign function paramaters, I couldn't resist that bit of OCD. Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Durgadoss R <durgadoss.r@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ec76d62999b73f818f7d777ce037157bd2d4af02 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:26 2015 +0200 drm/i915/psr: Restrict buffer tracking to the PSR pipe The current code tracks business across all pipes, but we're only really interested in the one pipe DRRS is enabled on. Fairly tiny optimization, but something I noticed while reading the code. But it might matter a bit when e.g. showing a video or something only on the external screen, while the panel is kept static. Also regroup the code slightly: First compute new bitmasks, then take appropriate actions. Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Durgadoss R <durgadoss.r@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c1d038c6e2fe1a07b23d8908bb2edfc95ca571cd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:25 2015 +0200 drm/i915/drrs: Restrict buffer tracking to the DRRS pipe The current code tracks business across all pipes, but we're only really interested in the one pipe DRRS is enabled on. Fairly tiny optimization, but something I noticed while reading the code. But it might matter a bit when e.g. showing a video or something only on the external screen, while the panel is kept static. Also regroup the code slightly: First compute new bitmasks, then take appropriate actions. Cc: Ramalingam C <ramalingam.c@xxxxxxxxx> Cc: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 251ac8621921d3936ea2eff6790fe35b25cf28a4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:24 2015 +0200 drm/i915: s/update/compute/ for gmch dpll register functions I was momentarily confused until I've double-checked that these functions really only compute state and don't update the hardware state. They once did that, but since Ander's rework of the dpll computation flow that's no longer the case. Rename them to avoid further confusion. Note that the ilk code already follows the compute_dpll naming scheme for computing the actual register value. DDI code goes with _calc_, but that is close enough. Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9a851789e8a0cf38f9c04705a8e01b572e61f05f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:22 2015 +0200 drm/i915: debugfs for frontbuffer tracking Useful to figure out whether stuck bits are due to the frontbuffer tracking code as opposed to individual consumers (who have their own bitmask tracking). Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 27e78a2a1f92e79707b4fb18cff1276088ef9178 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 10:30:21 2015 +0200 drm/i915: Filter out no-op frontbuffer tracking flushes Paulo noticed that the fbc frontbuffer tracking flush callback occasionally gets a call without any bit set. This can happen when we have to filter flush calls due to e.g. gpu rendering. Filter these out. Reported-by: Paulo Zanoni <przanoni@xxxxxxxxx> Cc: Paulo Zanoni <przanoni@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit fdbff9282c0f5f61ffc87d57461b04d943250910 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Jun 18 11:23:24 2015 +0200 drm/i915: Clear fb_tracking.busy_bits also for synchronous flips The current/old frontbuffer might still have gpu frontbuffer rendering pending. But once flipped it won't have the corresponding frontbuffer bits any more and hence the request retire function won't ever clear the corresponding busy bits. The async flip tracking (with the flip_prepare and flip_complete functions) already does this, but somehow I've forgotten to do this for synchronous flips. Note that we don't track outstanding rendering of the new framebuffer with busy_bits since all our plane update code waits for previous rendering to complete before displaying a new buffer. Hence a new buffer will never be busy. v2: Drop the spurious inline Ville spotted. v3: Don't touch flip_bits in the synchronsou frontbuffer_flip function, noticed by Paulo. v4: Remove one more inline that slipped through (Paulo). Reported-by: Paulo Zanoni <przanoni@xxxxxxxxx> Cc: Paulo Zanoni <przanoni@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Testcase: igt/kms_frontbuffer_tracking/fbc-modesetfrombusy Tested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 392d39cfcaa9bcfa202fb0fd3bc65f3c20de318f Author: Han Xu <b45815@xxxxxxxxxxxxx> Date: Wed May 13 14:40:57 2015 -0500 mtd: fsl-quadspi: Access multiple chips simultaneously Add supports for simultaneous access to multiple chips. Need to lock the mutex before any quad spi operations and unlock the mutex after operations complete. Signed-off-by: Han Xu <b45815@xxxxxxxxxxxxx> [Brian: reworked err path in fsl_qspi_prep()] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5e60d790714bbda0402ddd715aee5e61b48682f4 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jun 23 15:50:44 2015 +0100 drm/i915: Bail out early if WA batch is not available for given Gen To initialize WA batch, at the moment we first allocate batch and then check whether we have any WA to be initialized for the given Gen; if we don't have any WA then we WARN the user, destroy the batch and return but this is causing another WARN in cleanup code complaining about sleeping in atomic context. Till we understand this better and to keep things simpler, bail out early if we don't have WA. Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d78c8dcf9f856587fb7bf664021d9fb699012d9 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Jun 23 15:50:43 2015 +0100 drm/i915: Fix warnings reported by 0-day Kernel 0-day framework reported warnings with WA batch patches, this patch fixes those warnings and an additional warning reported in intel_lrc.c file. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a5ac0f907d5b713a89c960605f36c0ccb436022c Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:15 2015 +0100 drm/i915: Remove the now obsolete 'i915_gem_check_olr()' As there is no OLR to check, the check_olr() function is now a no-op and can be removed. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ae70797d8d28d01e6354961e76f56112dae09052 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:14 2015 +0100 drm/i915: Update a bunch of LRC functions to take requests A bunch of the low level LRC functions were passing around ringbuf and ctx pairs. In a few cases, they took the r/c pair and a request as well. This is all quite messy and unnecesary. The context_queue() call is especially bad since the fake request code got removed - it takes a request and three extra things that must be extracted from the request and then it checks them against what it finds in the request. Removing all the derivable data makes the code much simpler all round. This patch updates those functions to just take the request structure. Note that logical_ring_wait_for_space now takes a request structure but already had a local request pointer that it uses to scan for something to wait on. To avoid confusion the local variable has been renamed 'target' (it is searching for a target request to do something with) and the parameter has been called req (to guarantee anything accidentally missed gets a compiler error). v2: Updated commit message re wait_for_space (Tomas Elf review comment). For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9bb1af4406f475e6b68aa53c6227b98aed56d11d Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:13 2015 +0100 drm/i915: Remove 'faked' request from LRC submission The LRC submission code requires a request for tracking purposes. It does not actually require that request to 'complete' it simply uses it for keeping hold of reference counts on contexts and such like. Previously, the fall back path of polling for space in the ring would start by submitting any outstanding work that was sat in the buffer. This submission was not done as part of the request that that work was owned by because that would lead to complications with the request being submitted twice. Instead, a null request structure was passed in to the submit call and a fake one was created. That fall back path has long since been obsoleted and has now been removed. Thus there is never any need to fake up a request structure. This patch removes that code. A couple of sanity check warnings are added as well, just in case. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fcfa423cbba268b1473e2d8c38fe6dbe65da88ea Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:12 2015 +0100 drm/i915: Move the request/file and request/pid association to creation time In _i915_add_request(), the request is associated with a userland client. Specifically it is linked to the 'file' structure and the current user process is recorded. One problem here is that the current user process is not necessarily the same as when the request was submitted to the driver. This is especially true when the GPU scheduler arrives and decouples driver submission from hardware submission. Note also that it is only in the case where the add request comes from an execbuff call that there is a client to associate. Any other add request call is kernel only so does not need to do it. This patch moves the client association into a separate function. This is then called from the execbuffer code path itself at a sensible time. It also removes the now redundant 'file' pointer from the add request parameter list. An extra cleanup of the client association is also added to the request clean up code for the eventuality where the request is killed after association but before being submitted (e.g. due to out of memory error somewhere). Once the submission has happened, the request is on the request list and the regular request list removal will clear the association. Note that this still needs to happen at this point in time because the request might be kept floating around much longer (due to someone holding a reference count) and the client should not be worrying about this request after it has been retired. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bccca494f75cbad4ea2d09e8205cab09ee610f6a Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:11 2015 +0100 drm/i915: Remove the now obsolete 'outstanding_lazy_request' The outstanding_lazy_request is no longer used anywhere in the driver. Everything that was looking at it now has a request explicitly passed in from on high. Everything that was relying upon it behind the scenes is now explicitly creating/passing/submitting its own private request. Thus the OLR can be removed. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 59c35a4d120ef5e34e91f2bccdfcf9e27a3b9397 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:10 2015 +0100 drm/i915: Remove the now obsolete intel_ring_get_request() Much of the driver has now been converted to passing requests around instead of rings/ringbufs/contexts. Thus the function for retreiving the request from a ring (i.e. the OLR) is no longer used and can be removed. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ccd98fe4996cd22094cde7b6a1f7c569f261b3e9 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:09 2015 +0100 drm/i915: Add *_ring_begin() to request allocation Now that the *_ring_begin() functions no longer call the request allocation code, it is finally safe for the request allocation code to call *_ring_begin(). This is important to guarantee that the space reserved for the subsequent i915_add_request() call does actually get reserved. v2: Renamed functions according to review feedback (Tomas Elf). For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d616a293a1071d19066808abccb40930f0ae5a0 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:08 2015 +0100 drm/i915: Update intel_logical_ring_begin() to take a request structure Now that everything above has been converted to use requests, intel_logical_ring_begin() can be updated to take a request instead of a ringbuf/context pair. This also means that it no longer needs to lazily allocate a request if no-one happens to have done it earlier. Note that this change makes the execlist signature the same as the legacy version. Thus the two functions could be merged into a ring->begin() wrapper if required. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5fb9de1a2ea1968b57c906c6770794f1e7744828 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:07 2015 +0100 drm/i915: Update intel_ring_begin() to take a request structure Now that everything above has been converted to use requests, intel_ring_begin() can be updated to take a request instead of a ring. This also means that it no longer needs to lazily allocate a request if no-one happens to have done it earlier. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bba09b12b47b31b147206f5784691d2fb8888bf1 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:06 2015 +0100 drm/i915: Update cacheline_align() to take a request structure Updated intel_ring_cacheline_align() to take a request instead of a ring. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f71696876a16c3d68d27db71d93f389ae440171c Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:05 2015 +0100 drm/i915: Update ring->signal() to take a request structure Updated the various ring->signal() implementations to take a request instead of a ring. This removes their reliance on the OLR to obtain the seqno value that should be used for the signal. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 599d924c6b01e89b53c7879e7d7d89baa8d677d2 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:04 2015 +0100 drm/i915: Update ring->sync_to() to take a request structure Updated the ring->sync_to() implementations to take a request instead of a ring. Also updated the tracer to include the request id. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> [danvet: Rebase since I didn't merge the patch which added ->uniq.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be795fc17bc9d42b0e5ec3e4442b59848137eb64 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:03 2015 +0100 drm/i915: Update ring->emit_bb_start() to take a request structure Updated the ring->emit_bb_start() implementation to take a request instead of a ringbuf/context pair. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53fddaf70d08aa6ff59a94ae0578ddc8743e920f Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:02 2015 +0100 drm/i915: Update ring->dispatch_execbuffer() to take a request structure Updated the various ring->dispatch_execbuffer() implementations to take a request instead of a ring. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c4e766389e8b7ce3ceb7f2785d4bb94b82448ff0 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:01 2015 +0100 drm/i915: Update ring->emit_request() to take a request structure Updated the ring->emit_request() implementation to take a request instead of a ringbuf/request pair. Also removed its use of the OLR for obtaining the request's seqno. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ee044a8863de58044cb370c23f97b9b68b33e47b Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:44:00 2015 +0100 drm/i915: Update ring->add_request() to take a request structure Updated the various ring->add_request() implementations to take a request instead of a ring. This removes their reliance on the OLR to obtain the seqno value that the request should be tagged with. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7deb4d3980ea44ebb4097426f85d5f6c89b873a4 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:59 2015 +0100 drm/i915: Update ring->emit_flush() to take a request structure Updated the various ring->emit_flush() implementations to take a request instead of a ringbuf/context pair. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f2cf1fcc70d6577dce73f269609e0753e1a99802 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:58 2015 +0100 drm/i915: Update some flush helpers to take request structures Updated intel_emit_post_sync_nonzero_flush(), gen7_render_ring_cs_stall_wa() and gen8_emit_pipe_control() to take requests instead of rings. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a84c3ae168837dbedd0bde76a536360e84ae863a Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:57 2015 +0100 drm/i915: Update ring->flush() to take a requests structure Updated the various ring->flush() functions to take a request instead of a ring. Also updated the tracer to include the request id. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> [danvet: Rebase since I didn't merge the addition of req->uniq.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e85b26dc1ca5ecbf6456c61a131a986a755cbc69 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:56 2015 +0100 drm/i915: Update switch_mm() to take a request structure Updated the switch_mm() code paths to take a request instead of a ring. This includes the myriad *_mm_switch functions themselves and a bunch of PDP related helper functions. v2: Rebased to newer tree. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4866d729ab3833b811b8972d773477d3e4a6f9c0 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:55 2015 +0100 drm/i915: Update flush_all_caches() to take request structures Updated the *_ring_flush_all_caches() functions to take requests instead of rings or ringbuf/context pairs. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e2be4faf30d6cb0af77c0105837df25f925903c9 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:54 2015 +0100 drm/i915: Update workarounds_emit() to take request structures Updated the *_ring_workarounds_emit() functions to take requests instead of ring/context pairs. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2f20055d360a2bb6863163d8b8b005ded1f6ba08 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:53 2015 +0100 drm/i915: Update a bunch of execbuffer helpers to take request structures Updated *_ring_invalidate_all_caches(), i915_reset_gen7_sol_offsets() and i915_emit_box() to take request structures instead of ring or ringbuf/context pairs. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d719cda8b30bb179af74c6f16067db736983041 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:52 2015 +0100 drm/i915: Update mi_set_context() to take a request structure Updated mi_set_context() to take a request structure instead of a ring and context pair. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6909a666466e4a83159df94c4e29cb9cd52fce9e Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:51 2015 +0100 drm/i915: Update l3_remap to take a request structure Converted i915_gem_l3_remap() to take a request structure instead of a ring. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b2af03769301e986740c50bf72a47b9abd528290 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:50 2015 +0100 drm/i915: Update [vma|object]_move_to_active() to take request structures Now that everything above has been converted to use request structures, it is possible to update the lower level move_to_active() functions to be request based as well. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 75289874e4484cd4702b3341b654b45b4a09b9d3 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:49 2015 +0100 drm/i915: Update add_request() to take a request structure Now that all callers of i915_add_request() have a request pointer to hand, it is possible to update the add request function to take a request pointer rather than pulling it out of the OLR. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6258fbe23fe04da544261f48112a292bdb068c12 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:48 2015 +0100 drm/i915: Update queue_flip() to take a request structure Updated the display page flip code to do explicit request creation and submission rather than relying on the OLR and just hoping that the request actually gets submitted at some random point. The sequence is now to create a request, queue the work to the ring, assign the known request to the flip queue work item then actually submit the work and post the request. Note that every single flip function used to finish with '__intel_ring_advance(ring);'. However, immediately after they return there is now an add request call which will do the advance anyway. Thus the many duplicate advance calls have been removed. v2: Updated commit message with comment about advance removal. v3: The request can now be allocated by the _sync() code earlier on. Thus the page flip path does not necessarily need to allocate a new request, it may be able to re-use one. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dad540ce02c5bc82569061c9562982e6f052ee42 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:47 2015 +0100 drm/i915: Update overlay code to do explicit request management The overlay update code path to do explicit request creation and submission rather than relying on the OLR to do the right thing. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 91af127fd7a2f069046b0b6740473e70e0051492 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Thu Jun 18 13:14:56 2015 +0100 drm/i915: Update i915_gem_object_sync() to take a request structure The plan is to pass requests around as the basic submission tracking structure rather than rings and contexts. This patch updates the i915_gem_object_sync() code path. v2: Much more complex patch to share a single request between the sync and the page flip. The _sync() function now supports lazy allocation of the request structure. That is, if one is passed in then that will be used. If one is not, then a request will be allocated and passed back out. Note that the _sync() code does not necessarily require a request. Thus one will only be created until certain situations. The reason the lazy allocation must be done within the _sync() code itself is because the decision to need one or not is not really something that code above can second guess (except in the case where one is definitely not required because no ring is passed in). The call chains above _sync() now support passing a request through which most callers passing in NULL and assuming that no request will be required (because they also pass in NULL for the ring and therefore can't be generating any ring code). The exeception is intel_crtc_page_flip() which now supports having a request returned from _sync(). If one is, then that request is shared by the page flip (if the page flip is of a type to need a request). If _sync() does not generate a request but the page flip does need one, then the page flip path will create its own request. v3: Updated comment description to be clearer about 'to_req' parameter (Tomas Elf review request). Rebased onto newer tree that significantly changed the synchronisation code. v4: Updated comments from review feedback (Tomas Elf) For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be01363f0a38c30828aca620e30f8c158910fca6 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:45 2015 +0100 drm/i915: Update render_state_init() to take a request structure Updated the two render_state_init() functions to take a request pointer instead of a ring. This removes their reliance on the OLR. v2: Rebased to newer tree. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8753181e1006dcebc84127ce29b8f8166bb1ada3 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:44 2015 +0100 drm/i915: Update init_context() to take a request structure Now that everything above has been converted to use requests, it is possible to update init_context() to take a request pointer instead of a ring/context pair. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 76c3916887f1225db4b4960c59820db1a995f3cb Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:43 2015 +0100 drm/i915: Update deferred context creation to do explicit request management In execlist mode, context initialisation is deferred until first use of the given context. This is because execlist mode has per ring context state and thus many more context storage objects than legacy mode and many are never actually used. Previously, the initialisation commands were written to the ring and tagged with some random request structure via the OLR. This seemed to be causing a null pointer deference bug under certain circumstances (BZ:88865). This patch adds explicit request creation and submission to the deferred initialisation code path. Thus removing any reliance on or randomness caused by the OLR. Note that it should be possible to move the deferred context creation until even later - when the context is actually switched to rather than when it is merely validated. This would allow the initialisation to be done within the request of the work that is wanting to use the context. Hence, the extra request that is created, used and retired just for the context init could be removed completely. However, this is left for a follow up patch. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit abd68d9ed3fbd3280e8780150bd0e01099b02627 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:42 2015 +0100 drm/i915: Update do_switch() to take a request structure Updated do_switch() to take a request pointer instead of a ring/context pair. v2: Removed some overzealous req-> dereferencing. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ba01cc9346bce45a8861f36bce2c4c5d44b800b2 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:41 2015 +0100 drm/i915: Update i915_switch_context() to take a request structure Now that the request is guaranteed to specify the context, it is possible to update the context switch code to use requests rather than ring and context pairs. This patch updates i915_switch_context() accordingly. Also removed the warning that the request's context must match the last context switch's context. As the context switch now gets the context object from the request structure, there is no longer any scope for the two to become out of step. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b3dd6b9681e4116bce4dd1145cb162a5a48bac8e Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:40 2015 +0100 drm/i915: Update ppgtt_init_ring() & context_enable() to take requests The final step in removing the OLR from i915_gem_init_hw() is to pass the newly allocated request structure in to each step rather than passing a ring structure. This patch updates both i915_ppgtt_init_ring() and i915_gem_context_enable() to take request pointers. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dc4be6071a24f0d2da6af8ce16c19f276ac4d7a2 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:39 2015 +0100 drm/i915: Add explicit request management to i915_gem_init_hw() Now that a single per ring loop is being done for all the different intialisation steps in i915_gem_init_hw(), it is possible to add proper request management as well. The last remaining issue is that the context enable call eventually ends up within *_render_state_init() and this does its own private _i915_add_request() call. This patch adds explicit request creation and submission to the top level loop and removes the add_request() from deep within the sub-functions. v2: Updated for removal of batch_obj from add_request call in previous patch. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a3fbe05a611811ad8413130f63aaa79428b00377 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:38 2015 +0100 drm/i915: Don't tag kernel batches as user batches The render state initialisation code does an explicit i915_add_request() call to commit the init commands. It was passing in the initialisation batch buffer to add_request() as the batch object parameter. However, the batch object entry in the request structure (which is all that parameter is used for) is meant for keeping track of user generated batch buffers for blame tagging during GPU hangs. This patch clears the batch object parameter so that kernel generated batch buffers are not tagged as being user generated. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 90638cc1a4299acf19ed6fe253517a86d52a02ab Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:37 2015 +0100 drm/i915: Moved the for_each_ring loop outside of i915_gem_context_enable() The start of day context initialisation code in i915_gem_context_enable() loops over each ring and calls the legacy switch context or the execlist init context code as appropriate. This patch moves the ring looping out of that function in to the top level caller i915_gem_init_hw(). This means the a single pass can be made over all rings doing the PPGTT, L3 remap and context initialisation of each ring altogether. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4ad2fd888bd3fa53e4bd36e5552bd784fb7ba241 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Thu Jun 18 13:11:20 2015 +0100 drm/i915: Split i915_ppgtt_init_hw() in half - generic and per ring The i915_gem_init_hw() function calls a bunch of smaller initialisation functions. Multiple of which have generic sections and per ring sections. This means multiple passes are done over the rings. Each pass writes data to the ring which floats around in that ring's OLR until some random point in the future when an add_request() is done by some random other piece of code. This patch breaks i915_ppgtt_init_hw() in two with the per ring initialisation now being done in i915_ppgtt_init_ring(). The ring looping is now done at the top level in i915_gem_init_hw(). v2: Fix dumb loop variable re-use. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73cfa86512813807f39a51a21d14774a29714e15 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:35 2015 +0100 drm/i915: Update i915_gpu_idle() to manage its own request Added explicit request creation and submission to the GPU idle code path. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5b4a60c2768434a8c6d5f803a2410245334b8bf7 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:34 2015 +0100 drm/i915: Add flag to i915_add_request() to skip the cache flush In order to explcitly track all GPU work (and completely remove the outstanding lazy request), it is necessary to add extra i915_add_request() calls to various places. Some of these do not need the implicit cache flush done as part of the standard batch buffer submission process. This patch adds a flag to _add_request() to specify whether the flush is required or not. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8a8edb59172983a7c4aa46ab35b5a23a49c729c5 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:33 2015 +0100 drm/i915: Update execbuffer_move_to_active() to take a request structure The plan is to pass requests around as the basic submission tracking structure rather than rings and contexts. This patch updates the execbuffer_move_to_active() code path. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 535fbe8233d164e76bac515dd7efee699093cea9 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:32 2015 +0100 drm/i915: Update move_to_gpu() to take a request structure The plan is to pass requests around as the basic submission tracking structure rather than rings and contexts. This patch updates the move_to_gpu() code paths. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 95c24161cd8561bd2f866a802a44b28fd0a867b7 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:31 2015 +0100 drm/i915: Update the dispatch tracepoint to use params->request Updated a couple of trace points to use the now cached request pointer rather than extracting it from the ring. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6a6ae79a761ddc95b67254e256f82f6d7c9c44d3 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:30 2015 +0100 drm/i915: Add request to execbuf params and add explicit cleanup Rather than just having a local request variable in the execbuff code, the request pointer is now stored in the execbuff params structure. Also added explicit cleanup of the request (plus wiping the OLR to match) in the error case. This means that the execbuff code is no longer dependent upon the OLR keeping track of the request so as to not leak it when things do go wrong. Note that in the success case, the i915_add_request() at the end of the submission function will tidy up the request and clear the OLR. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 217e46b576ef0d5eed10ddfeb2b29bd3de289e95 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:29 2015 +0100 drm/i915: Update alloc_request to return the allocated request The alloc_request() function does not actually return the newly allocated request. Instead, it must be pulled from ring->outstanding_lazy_request. This patch fixes this so that code can create a request and start using it knowing exactly which request it actually owns. v2: Updated for new i915_gem_request_alloc() scheme. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit adeca76d8e2b34b5c739a36f4191aed63080da40 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:28 2015 +0100 drm/i915: Simplify i915_gem_execbuffer_retire_commands() parameters Shrunk the parameter list of i915_gem_execbuffer_retire_commands() to a single structure as everything it requires is available in the execbuff_params object. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5f19e2bffa63a91cd4ac1adcec648e14a44277ce Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:27 2015 +0100 drm/i915: Merged the many do_execbuf() parameters into a structure The do_execbuf() function takes quite a few parameters. The actual set of parameters is going to change with the conversion to passing requests around. Further, it is due to grow massively with the arrival of the GPU scheduler. This patch simplifies the prototype by passing a parameter structure instead. Changing the parameter set in the future is then simply a matter of adding/removing items to the structure. Note that the structure does not contain absolutely everything that is passed in. This is because the intention is to use this structure more extensively later in this patch series and more especially in the GPU scheduler that is coming soon. The latter requires hanging on to the structure as the final hardware submission can be delayed until long after the execbuf IOCTL has returned to user land. Thus it is unsafe to put anything in the structure that is local to the IOCTL call itself - such as the 'args' parameter. All entries must be copies of data or pointers to structures that are reference counted in some way and guaranteed to exist for the duration of the batch buffer's life. v2: Rebased to newer tree and updated for changes to the command parser. Specifically, a code shuffle has required saving the batch start address in the params structure. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40e895ceca40b9c3104b2abd0ed5c72650fb20a4 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:26 2015 +0100 drm/i915: Set context in request from creation even in legacy mode In execlist mode, the context object pointer is written in to the request structure (and reference counted) at the point of request creation. In legacy mode, this only happens inside i915_add_request(). This patch updates the legacy code path to match the execlist version. This allows all the intermediate code between request creation and request submission to get at the context object given only a request structure. Thus negating the need to pass context pointers here, there and everywhere. v2: Moved the context reference so it does not need to be undone if the get_seqno() fails. v3: Fixed execlist mode always hitting a warning about invalid last_contexts (which don't exist in execlist mode). v4: Updated for new i915_gem_request_alloc() scheme. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0c8dac889539ab26382ba1636ec1159cae73f2b3 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:25 2015 +0100 drm/i915: Early alloc request in execbuff Start of explicit request management in the execbuffer code path. This patch adds a call to allocate a request structure before all the actual hardware work is done. Thus guaranteeing that all that work is tagged by a known request. At present, nothing further is done with the request, the rest comes later in the series. The only noticable change is that failure to get a request (e.g. due to lack of memory) will be caught earlier in the sequence. It now occurs right at the start before any un-undoable work has been done. v2: Simplified the error handling path. For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf7dc5b70952eb58c4fd57c9b964488650303a32 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Fri May 29 17:43:24 2015 +0100 drm/i915: i915_add_request must not fail The i915_add_request() function is called to keep track of work that has been written to the ring buffer. It adds epilogue commands to track progress (seqno updates and such), moves the request structure onto the right list and other such house keeping tasks. However, the work itself has already been written to the ring and will get executed whether or not the add request call succeeds. So no matter what goes wrong, there isn't a whole lot of point in failing the call. At the moment, this is fine(ish). If the add request does bail early on and not do the housekeeping, the request will still float around in the ring->outstanding_lazy_request field and be picked up next time. It means multiple pieces of work will be tagged as the same request and driver can't actually wait for the first piece of work until something else has been submitted. But it all sort of hangs together. This patch series is all about removing the OLR and guaranteeing that each piece of work gets its own personal request. That means that there is no more 'hoovering up of forgotten requests'. If the request does not get tracked then it will be leaked. Thus the add request call _must_ not fail. The previous patch should have already ensured that it _will_ not fail by removing the potential for running out of ring space. This patch enforces the rule by actually removing the early exit paths and the return code. Note that if something does manage to fail and the epilogue commands don't get written to the ring, the driver will still hang together. The request will be added to the tracking lists. And as in the old case, any subsequent work will generate a new seqno which will suffice for marking the old one as complete. v2: Improved WARNings (Tomas Elf review request). For: VIZ-5115 Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 29b1b415fcd95a2266ab58fc7825bccbffa5c142 Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Thu Jun 18 13:10:09 2015 +0100 drm/i915: Reserve ring buffer space for i915_add_request() commands It is a bad idea for i915_add_request() to fail. The work will already have been send to the ring and will be processed, but there will not be any tracking or management of that work. The only way the add request call can fail is if it can't write its epilogue commands to the ring (cache flushing, seqno updates, interrupt signalling). The reasons for that are mostly down to running out of ring buffer space and the problems associated with trying to get some more. This patch prevents that situation from happening in the first place. When a request is created, it marks sufficient space as reserved for the epilogue commands. Thus guaranteeing that by the time the epilogue is written, there will be plenty of space for it. Note that a ring_begin() call is required to actually reserve the space (and do any potential waiting). However, that is not currently done at request creation time. This is because the ring_begin() code can allocate a request. Hence calling begin() from the request allocation code would lead to infinite recursion! Later patches in this series remove the need for begin() to do the allocate. At that point, it becomes safe for the allocate to call begin() and really reserve the space. Until then, there is a potential for insufficient space to be available at the point of calling i915_add_request(). However, that would only be in the case where the request was created and immediately submitted without ever calling ring_begin() and adding any work to that request. Which should never happen. And even if it does, and if that request happens to fall down the tiny window of opportunity for failing due to being out of ring space then does it really matter because the request wasn't doing anything in the first place? v2: Updated the 'reserved space too small' warning to include the offending sizes. Added a 'cancel' operation to clean up when a request is abandoned. Added re-initialisation of tracking state after a buffer wrap to keep the sanity checks accurate. v3: Incremented the reserved size to accommodate Ironlake (after finally managing to run on an ILK system). Also fixed missing wrap code in LRC mode. v4: Added extra comment and removed duplicate WARN (feedback from Tomas). For: VIZ-5115 CC: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: John Harrison <John.C.Harrison@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0b076ecdf343b029c4c2c3a94ffd0199d97aa46c Merge: c82435b 9eb1e57 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jun 23 08:31:49 2015 +0200 Merge remote-tracking branch 'airlied/drm-next' into HEAD Backmerge drm-next because the conflict between Ander's atomic fixes for 4.2 and Maartens future work are getting to unwielding to handle. Conflicts: drivers/gpu/drm/i915/intel_display.c drivers/gpu/drm/i915/intel_ringbuffer.h Just always take ours, same as git merge -X ours, but done by hand because I didn't trust git: It's confusing that it doesn't show any conflicts in the merge diff at all. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c82435bbe5aca62fc54615ff8ba78134bfa33866 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Jun 19 18:37:13 2015 +0100 drm/i915/gen8: Add WaFlushCoherentL3CacheLinesAtContextSwitch workaround In Indirect context w/a batch buffer, +WaFlushCoherentL3CacheLinesAtContextSwitch:bdw v2: Add LRI commands to set/reset bit that invalidates coherent lines, update WA to include programming restrictions and exclude CHV as it is not required (Ville) v3: Avoid unnecessary read when it can be done by reading register once (Chris). Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7ad00d1ac12bf461d0f0b69bf4e0e883b9e23c53 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Jun 19 18:37:12 2015 +0100 drm/i915/gen8: Add WaDisableCtxRestoreArbitration workaround In Indirect and Per context w/a batch buffer, +WaDisableCtxRestoreArbitration Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c4db7599194248214b343d1ef1a1bc53d6cff187 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Jun 19 18:37:11 2015 +0100 drm/i915/gen8: Re-order init pipe_control in lrc mode Some of the WA applied using WA batch buffers perform writes to scratch page. In the current flow WA are initialized before scratch obj is allocated. This patch reorders intel_init_pipe_control() to have a valid scratch obj before we initialize WA. v2: Check for valid scratch page before initializing WA as some of them perform writes to it. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17ee950df38b649d8431e2f6f7f85282d89f5398 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Jun 19 19:07:01 2015 +0100 drm/i915/gen8: Add infrastructure to initialize WA batch buffers Some of the WA are to be applied during context save but before restore and some at the end of context save/restore but before executing the instructions in the ring, WA batch buffers are created for this purpose and these WA cannot be applied using normal means. Each context has two registers to load the offsets of these batch buffers. If they are non-zero, HW understands that it need to execute these batches. v1: In this version two separate ring_buffer objects were used to load WA instructions for indirect and per context batch buffers and they were part of every context. v2: Chris suggested to include additional page in context and use it to load these WA instead of creating separate objects. This will simplify lot of things as we need not explicity pin/unpin them. Thomas Daniel further pointed that GuC is planning to use a similar setup to share data between GuC and driver and WA batch buffers can probably share that page. However after discussions with Dave who is implementing GuC changes, he suggested to use an independent page for the reasons - GuC area might grow and these WA are initialized only once and are not changed afterwards so we can share them share across all contexts. The page is updated with WA during render ring init. This has an advantage of not adding more special cases to default_context. We don't know upfront the number of WA we will applying using these batch buffers. For this reason the size was fixed earlier but it is not a good idea. To fix this, the functions that load instructions are modified to report the no of commands inserted and the size is now calculated after the batch is updated. A macro is introduced to add commands to these batch buffers which also checks for overflow and returns error. We have a full page dedicated for these WA so that should be sufficient for good number of WA, anything more means we have major issues. The list for Gen8 is small, same for Gen9 also, maybe few more gets added going forward but not close to filling entire page. Chris suggested a two-pass approach but we agreed to go with single page setup as it is a one-off routine and simpler code wins. One additional option is offset field which is helpful if we would like to have multiple batches at different offsets within the page and select them based on some criteria. This is not a requirement at this point but could help in future (Dave). Chris provided some helpful macros and suggestions which further simplified the code, they will also help in reducing code duplication when WA for other Gen are added. Add detailed comments explaining restrictions. Use do {} while(0) for wa_ctx_emit() macro. (Many thanks to Chris, Dave and Thomas for their reviews and inputs) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b1330fbb870467bbb90adb2e8868672af4ca88c7 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Jun 18 11:42:08 2015 +0100 drm/i915: Report an error when i915.reset prevents a reset If the user disables the GPU reset using the i915.reset parameter and one occurs, report that we failed to reset the GPU. If we return early, as we currently do, then we leave all state intact (with a hung GPU) and clients block forever waiting for their requests to complete. Testcase: igt/gem_eio Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Mark i915.reset as an unsafe modoption, as discussed with Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf13af56252b2b4f50eb6fc8638e8cb9e84ff475 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jun 23 13:57:47 2015 +0200 drm/i915: Fix up KMS Kconfig removal patch The module pciid list got lost, but somehow most distros seem to force-load drm drivers early and no one noticed for a while. Bug introduced in commit fd930478fb797e4cbaa799d9ddd970e9a1fa1b4a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 20:27:27 2015 +0100 drm/i915: Remove KMS Kconfig option Reported-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit fd930478fb797e4cbaa799d9ddd970e9a1fa1b4a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 20:27:27 2015 +0100 drm/i915: Remove KMS Kconfig option Since we only support modesetting by default (disabling modesetting on the command line prevents i915.ko from loading), having a parameter to disable modesstting by default is superfluous, i.e. saying CONFIG_DRM_I915_KMS=n is equivalent to CONFIG_DRM_I915=n. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Veter <daniel.vetter@xxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eebaed646ab263cabcd19485e606e51c0bb11c5c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 13:57:43 2015 +0100 drm/i915: Ignore LVDS presence in VBT flag if the LVDS is enabled by BIOS On older gen, pre-Ironlake, parts there is no hardwired pin to report the presence of an LVDS panel. Instead, we have to rely on the VBT to declare whether the machine has a panel or not. Though notoriously unreliable, so far we have erred on the side of false-positives and have required a list of machines which end up falsely reporting a panel as present. However, we now have reports of false-negatives, machines with an LVDS that are being ignored due to the VBT not declaring the panel. This patch ignores the VBT setting if the BIOS has already enabled the LVDS panel (and on Ironlake+ we also have the hardware presence pin). It fixes the Samsung NP680Z5E-X01FR in the bug report, but is likely to result in more false-positives, and since we rely on the BIOS to enable the panel, there are likely different circumstances where the BIOS will not enable that panel (and so we may see the same machine with and without a panel all on the whim of the BIOS). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90979 Reported-and-tested-by: lysxia@xxxxxxxxx Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 55a9785d125a4dd33678795ccba0ed61a6e8540c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 19 13:59:46 2015 +0100 drm/i915: Enforce execobject.alignment to be a power-of-two Internal requirement for the alignment is that it must be a power-of-two, so enforce rejection at the user interface to execbuffer (which allows the caller to specify a stricter-than-expected alignment criterion). Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 77a0d1cab489eb2b6ebd54234df4262f4840d498 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jun 18 11:43:24 2015 -0700 drm/i915: Remove unused ring argument from frontbuffer invalidate and busy functions. This patch doesn't have any functional change, but organize fruntbuffer invalidate and busy by removing unecesarry signature argument for ring. It was unsed on mark_fb_busy and only used on fb_obj_invalidate for the same ORIGIN_CS usage. So let's clean it a bit Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3b1429d9458f5fc1abe57fb47b429290acb5d4d1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 18 13:47:22 2015 +0300 drm/i915: Factor out p2 divider selection for pre-ilk platforms The same dpll p2 divider selection is repeated three times in the gen2-4 .find_dpll() functions. Factor it out. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8c841e57cadee2d0de7a1ea81c987088fb6a17fd Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 18 13:06:17 2015 +0300 drm/i915: reduce line width in {pch, i9xx}_get_hpd_pins() Make Paulo happier. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 77913b39addfaa836929815515ff55cea1142b66 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 18 13:06:16 2015 +0300 drm/i915: move generic hotplug code into new intel_hotplug.c file We have enough generic hotplug functions sprinkled all over i915_irq.c to warrant moving them to a file of their own. This should further underline the distinction between generic code in the new file and platform specific hotplug and irq code that remains in i915_irq.c. Add new intel_hpd_init_work to keep work functions static, and rename get_port_from_pin to intel_hpd_pin_to_port while increasing its visibility, but keep everything else the same. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10b0e9e904c409be8e2476058d9b19a6b37d619e Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 18 13:06:15 2015 +0300 drm/i915/irq: clarify irq storm related function naming We'll have three functions: intel_hpd_irq_storm_detect for detecting irq storms, intel_hpd_irq_storm_disable for disabling hotplugs after detected storms, intel_hpd_irq_storm_reenable_work for re-enabling hotplug. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 70f71d5ff465965e2cfdb6f3f195a7b3fe2ab5cc Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 18 13:06:14 2015 +0300 drm/i915/irq: abstract irq storm hotplug disabling Continue abstracting hotplug storm related functions to clarify the code. This time, abstract hotplug irq storm related hotplug disabling. While at it, clean up the loop iterating over connectors for readability. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a0049865ea53df19a3f14128fa080719e8f4bdba Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 18 13:06:13 2015 +0300 drm/i915/irq: move hotplug even debug print to second connector loop The hotplug work function has two loops iterating over connectors, the first for handling hotplug disabling due to irq storms and the second for actually handling the hotplug events. Move the debug printing into the second one, so we can abstract the storm handling better. This may change the output ordering slightly when there are multiple simultaneous hotplug events. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 27c329ed16ddf5540151dfa9d22c584b819e0718 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:56 2015 +0200 drm/i915: Make cdclk part of the atomic state. The skylake scalers depend on the cdclk freq, but that frequency can change during a modeset. So when a modeset happens calculate the new cdclk in the atomic state. With the transitional helpers gone the cached value can be used in the scaler, and committed after all crtc's are disabled. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90874 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c389c9c4d981e49185b1c89354c85608effefe50 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:55 2015 +0200 drm/i915: Remove transitional references from intel_plane_atomic_check. All transitional plane helpers are gone, party! Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 818ed961e6ee7988829918b5dc41da14a05f5bc5 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:54 2015 +0200 drm/i915: Make setting color key atomic. By making color key atomic there are no more transitional helpers. The plane check function will reject the color key when a scaler is active. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eddfcbcdc27fbecb33bff098967bbdd7ca75bfa6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:53 2015 +0200 drm/i915: Update less state during modeset. No need to repeatedly call update_watermarks, or update_fbc. Down to a single call to update_watermarks in .crtc_enable Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a539205a1628e76cbaae35c8ba64d503c6aa619b Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:52 2015 +0200 drm/i915: atomic plane updates in a nutshell Now that all planes are added during a modeset we can use the calculated changes before disabling a plane, and then either commit or force disable a plane before disabling the crtc. The code is shared with atomic_begin/flush, except watermark updating and vblank evasion are not used. This is needed for proper atomic suspend/resume support. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90868 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d032ffa04cf7c6f7187e53125e860597bf64b11c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:51 2015 +0200 drm/i915: Handle disabling planes better, v2. Read out the initial state, and add a quirk to force add all planes to crtc_state->plane_mask during initial commit. This will disable all planes during the initial modeset. The initial plane quirk is temporary, and will go away when hardware readout is fully atomic, and the watermark updates in intel_sprite.c are removed. Changes since v1: - Unset state->visible on !primary planes. - Do not rely on the plane->crtc pointer in intel_atomic_plane, instead assume planes are invisible until modeset. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 61333b6075bf3b48a31fb5623a4101ed6bf393bc Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:50 2015 +0200 drm/i915: Do not run most checks when there's no modeset. All the checks in intel_modeset_checks are only useful when a modeset occurs, because there is nothing to update otherwise. Same for power/cdclk changes, if there is no modeset they are noops. Unfortunately intel_modeset_pipe_config still gets called without modeset, because atomic hw readout isn't done yet. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac21b225638a035449107dbbcc0c9f5bd4a24102 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:49 2015 +0200 drm/i915: Move crtc commit updates to separate functions. To allow them to be used in intel_set_mode. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0583236eaa8f8596c2adf5116020dba9bcf77806 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:48 2015 +0200 drm/i915: move detaching scalers to begin_crtc_commit, v2. This is probably intended to be be done during vblank evasion. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7fabf5ef18ea76714ff04baaeeddb949faf486dd Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:47 2015 +0200 drm/i915: remove force argument from disable_plane The idea was good, but planes can have a fb even though they're disabled. This makes the force argument useless and always true, because only the commit function updates state. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 061e4b8d650afd16ebe447d454431c717265b89f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:46 2015 +0200 drm/i915: clean up atomic plane check functions, v2. By passing crtc_state to the check_plane functions a lot of duplicated code can be removed. There are still some transitional helper calls, they will be removed later. Changes since v1: - Revert state->visible changes. - Use plane->state->crtc instead of plane->crtc. - Use drm_atomic_get_existing_crtc_state. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 302d19ac76ae5abacfcffcc76fb384d0b8d54c80 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:45 2015 +0200 drm/i915: clean up plane commit functions No point in hiding behind big ifs. This will be true most of the time. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit da20eabd2c69761f9dfd849985eb299e3335531f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:44 2015 +0200 drm/i915: Split plane updates of crtc->atomic into a helper, v2. This makes it easier to verify that no changes are done when calling this from crtc instead. Changes since v1: - Make intel_wm_need_update static and always check it. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 86adf9d7024a699d5195d44c30b7dcd866441f33 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 22 09:50:32 2015 +0200 drm/i915: Split skl_update_scaler, v4. commit 2c310b9d2859863826c3688c88218d607d5dd19a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon May 18 12:28:52 2015 +0200 drm/i915: Split skl_update_scaler, v4. It's easier to read separate functions for crtc and plane scaler state. Changes since v1: - Update documentation. Changes since v2: - Get rid of parameters to skl_update_scaler only used for traces. This avoids needing to document the other parameters. Changes since v3: - Rename scaler_idx to scaler_user. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad421372a61a6104f21520845e85ba89d691e783 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:42 2015 +0200 drm/i915: Assign a new pll from the crtc check function, v2. It saves another loop over all crtc's in the state, and computing clock is more of a per crtc thing. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cf5a15befd90742128ca2bdc4409789e782fcc9d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:41 2015 +0200 drm/i915: Move scaler setup to check crtc function, v2. The scaler setup may add planes, but since they're unchanged we only have to wait for primary flips. Also set planes_changed to indicate at least 1 plane is modified. Changes since v1: - Instead of removing planes, do minimal validation needed. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6d3a1ce7dc1a125a40d496e924e8e478560eb42f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:40 2015 +0200 drm/i915: Add a simple atomic crtc check function, v2. Move the check for encoder cloning here. Changes since v1: - Remove was/is crtc_disabled. (mattrope) - Rename function to intel_crtc_atomic_check. (mattrope) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 133b0d128be39e308ccd3b3d765c31ebdbf5380e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:39 2015 +0200 drm/i915: Clean up intel_atomic_setup_scalers slightly. Get rid of a whole lot of ternary operators and assign the index in scaler_id, instead of the id. They're the same thing. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b359283a035e44a6c760244e14af86cf1f62ef67 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 15 12:33:38 2015 +0200 drm/i915: Use crtc state in intel_modeset_pipe_config Grabbing crtc state from atomic state is a lot more involved, and make sure connectors are added before calling this function. Move check_digital_port_conflicts to intel_modeset_checks, it's only useful to check it on a modeset. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by(IVB): Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 09a33f052190ef4d997c54e012c9466844bdae0e Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jun 10 21:51:19 2015 +0200 tools:iio:iio_event_monitor: check if event is fully read Check that the read event is of the expected size. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit efa86e9fa82eaeee76903f131bc326af48a7cbcf Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Wed Jun 17 12:42:51 2015 +0300 iio: light: Add support for ROHM RPR0521 sensor This patch adds support for ROHM RPR0521 ambient light and proximity sensor. It offers raw readings for intensity and proximity. Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit da8ef4e77d9dfe91d69033cfa05d9f3036fb8dfd Author: Vlad Dogaru <vlad.dogaru@xxxxxxxxx> Date: Fri Jun 12 11:31:39 2015 +0300 iio: magn: bmc150: add support for bmc156 The BMC156 is a slightly less capable version of BMC150 which lacks support for magnetometer thresholds. Since this driver does not support those anyway, adding support is trivial. Datasheet is available at https://ae-bst.resource.bosch.com/media/products/dokumente/bmc156_1/BST-BMC156-DS000-01.pdf Signed-off-by: Vlad Dogaru <vlad.dogaru@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9d174b49ce05b63763e76f9f4373bc1b213ff584 Author: Vlad Dogaru <vlad.dogaru@xxxxxxxxx> Date: Fri Jun 12 11:31:38 2015 +0300 iio: magn: bmc150: decouple buffer and trigger Signed-off-by: Vlad Dogaru <vlad.dogaru@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c6f67a1f55a7f8a8373068ca07553bd2b2731949 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Fri Jun 5 15:56:47 2015 +0300 iio: allow userspace to flush the hwfifo with non-blocking reads This patch changes the semantics of non-blocking reads so that a hardware fifo flush is triggered if the available data in the device buffer is less then the requested size. This allows userspace to accurately generate hardware fifo flushes, by doing a non-blocking read with a size greater then the sum of the device buffer and hardware fifo size. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e20008ed931b9bdd90d1a3fd8c9ef9307547f4ed Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Mon Jun 15 23:48:26 2015 +0200 iio:accel:bmc150-accel: code style cleanup Apply the following coding style changes as indicated by checkpatch.pl in strict mode: - Please don't use multiple blank lines - braces {} should be used on all arms of this statement (if/else) - Alignment should match open parenthesis - Please don't use multiple blank lines - Blank lines aren't necessary after an open brace '{' - Missing a blank line after declarations - No space is necessary after a cast Also wrap/consolidate error messages to fit 80 characters per line and rework a comment. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit fdd15f6594f6bc466a01da28ddd2f11bb0e47a9f Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Mon Jun 15 23:48:25 2015 +0200 iio:accel:bmc150-accel: make use of mask definition BMC150_ACCEL_SLOPE_THRES_MASK was defined some time ago, but its 'magic' value got used instead in bmc150_accel_write_event(). Make use of it for improved readability. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 825c50dba0139b0322436ddda7d11f043955875e Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Jun 16 21:27:03 2015 +0200 iio: pressure: Fix Measurement Specialties vendor name Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8bf62ec83c89eda4114aae90c593f49649af76bd Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jun 18 00:32:05 2015 +0200 iio:light:cm3323: add empty lines for code structure Add some empty lines to visually separate logical structure blocks, as after if-blocks or before regular returns. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 054101c186b9e41d2b57543070c4a520d38402da Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jun 18 00:32:04 2015 +0200 iio:light:cm3323: make use of GENMASK Use GENMASK to define the integration time bitmask. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0ff8c78df8d7c32394b887de4d935962a7f373ce Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jun 18 00:32:03 2015 +0200 iio:light:cm3323: replace unneeded variable In cm3323_read_raw() i is used as return variable for the integration time index. The also existing return variable ret however is unused in this case, although appropriate. Replace i with ret and drop it. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e5c97027449f235415990310e47071ec371fd46c Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jun 18 00:32:01 2015 +0200 iio:light:cm3323: pass up error value cm3323_get_it_bits() returns a valid error code, so pass it up in cm3323_read_raw(). Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 39b441bd30a9eff4b3d2cc039027037403ca5242 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jun 18 00:32:00 2015 +0200 iio:light:Kconfig: fix typo in description Fix the typo in the module description for the CM3323. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit db42a9be9f05516255e749a5ee4c1e5d07e0a73b Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Fri Jun 19 17:56:37 2015 +0300 iio: accel: STK8BA50: suspend sensor on init errors Put chip in 'suspend' mode in case something goes wrong during probe. Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 208335138001015fd7c5c986b39e05fffad1c528 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Sat Jun 20 23:51:38 2015 +0200 iio: light: isl29125: Add scale_available information Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 30e8326728fff4c66377bd3ba99266cf8489c915 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Sat Jun 20 23:52:31 2015 +0200 tools: iio: Add missing names to iio_event_monitor Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4b8d80157e5d9074c5eac12aff8dad1742b52f1c Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Sat Jun 20 23:52:30 2015 +0200 iio: Add missing modifier names to core some are documented, others are in iio_event_monitor.c which was recently moved from staging Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit fbb35c1981012c72adff8f09f09005a8900a6dfd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jun 19 21:17:42 2015 +0200 drm/i915: Update DRIVER_DATE to 20150619 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7fd2d26921d1dd70732d8765d714ec3a023a3ca9 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Jun 18 12:51:40 2015 +0300 drm/i915: Reset request handling for gen8+ In order for gen8+ hardware to guarantee that no context switch takes place during engine reset and that current context is properly saved, the driver needs to notify and query hw before commencing with reset. There are gpu hangs where the engine gets so stuck that it never will report to be ready for reset. We could proceed with reset anyway, but with some hangs with skl, the forced gpu reset will result in a system hang. By inspecting the unreadiness for reset seems to correlate with the probable system hang. We will only proceed with reset if all engines report that they are ready for reset. If root cause for system hang is found and can be worked around with another means, we can reconsider if we can reinstate full reset for unreadiness case. v2: -EIO, Recovery, gen8 (Chris, Tomas, Daniel) v3: updated commit msg v4: timeout_ms, simpler error path (Chris) References: https://bugs.freedesktop.org/show_bug.cgi?id=89959 References: https://bugs.freedesktop.org/show_bug.cgi?id=90854 Testcase: igt/gem_concurrent_blit/prw-blt-overwrite-source-read-rcs-forked Testcase: igt/gem_concurrent_blit/gtt-blt-overwrite-source-read-rcs-forked Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Tomas Elf <tomas.elf@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b0a08bec96318be54db97c3f0b9e37b52561f9ea Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Thu Jun 18 11:00:55 2015 +0530 drm/i915/bxt: eDP Panel Power sequencing Changes for BXT - added a IS_BROXTON check to use the macro related to PPS registers for BXT. BXT does not have PP_DIV register. Making changes to handle this. Second set of PPS registers have been defined but will be used when VBT provides a selection between the 2 sets of registers. v2: [Jani] Added 2nd set of PPS registers and the macro Jani's review comments - remove reference in i915_suspend.c - Use BXT PP macro Squashing all PPS related patches into one. v3: Jani's review comments addressed - Use pp_ctl instead of pp - ironlake_get_pp_control() is not required for BXT - correct the use of && in the print statement - drop the shift in the print statement v4: Jani's comments - modify ironlake_get_pp_control() - dont set unlock key for bxt v5: Sonika's comments addressed - check alignment - move pp_ctrl_reg write (after ironlake_get_pp_control()) to !IS_BROXTON case. - check before subtracting 1 for t11_t12 Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: A.Sunil Kamath <sunil.kamath@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6fb3143b561c4a7865e5513eeb02d42ef38e8173 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Jun 17 16:23:45 2015 -0400 tools/power turbostat: dump CONFIG_TDP Config TDP is a feature that allows parts to be configured for different thermal limits after they have left the factory. This can have an effect on the operation of the part, particularly in determiniing... Max Non-turbo Ratio Turbo Activation Ratio Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit bfae2052265cde825afaba35eb3a4d3889432734 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Jun 17 12:27:21 2015 -0400 tools/power turbostat: cpu0 is no longer hard-coded, so update output The --debug option reads a number of per-package MSRs. Previously we explicitly read them on cpu0, but recently turbostat changed to read them on the current "base_cpu". Update the print-out to reflect base_cpu, rather than the hard-coded cpu0. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit ce52299ca6ac23222e040284913d1271edc96459 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Fri Jun 5 15:08:24 2015 -0700 drm/i915: Use helper to set CRTC state's mode We need to call drm_atomic_set_mode_for_crtc() rather than copying the mode in manually. As of commit commit 99cf4a29fa24461bbfe22125967188a18383eb5c Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Mon May 25 19:11:51 2015 +0100 drm/atomic: Add current-mode blob to CRTC state the helper now also takes care of setting up the mode property blob for us; if we don't use the helper and never setup the mode blob, this will also trigger a failure in drm_atomic_crtc_check() when we have the DRIVER_ATOMIC flag set (i.e., when using the nuclear pageflip support via i915.nuclear_pageflip kernel command line parameter). Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 71c47df4aa54ee3bfb113a5ae468c8bfb3a6fb7b Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Jun 15 14:46:43 2015 +0300 ath10k: txrx: remove unreachable negative return check and fixup type wait_event_timeout(), introduced in 'commit 5e3dd157d7e7 ("ath10k: mac80211 driver for Qualcomm Atheros 802.11ac CQA98xx devices")' never returns < 0 so the only failure condition to be checked is == 0 (timeout). Further the return type is long not int - an appropriately named variable is added and the assignments fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d4298a3a8c92a18d375e55feecc60e4eefeb45e3 Author: Nicholas Mc Guire <hofrat@xxxxxxxxx> Date: Mon Jun 15 14:46:43 2015 +0300 ath10k: mac: remove unreachable negative return check wait_event_timeout(), introduced in 'commit 5e3dd157d7e7 ("ath10k: mac80211 driver for Qualcomm Atheros 802.11ac CQA98xx devices")' never returns < 0 so the only failure condition to be checked is ==0 (timeout). Further the return type is long not int - an appropriately named variable is added and the assignments fixed up. Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 404d67ef2935c5e41d3d7a403c5fb1c278eff60e Author: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Date: Mon Jun 15 14:46:42 2015 +0300 ath10k: remove unused variable hdr in ath10k_htt_rx_h_undecap() Just found this during code review. Signed-off-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit aeae5b4cd9185b0dc72f6d6102cf45073bfbc974 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jun 15 14:46:42 2015 +0300 ath10k: prevent debugfs mmio access crash kernel It was possible to force an out of bounds MMIO read/write via debugfs. E.g. on QCA988X this could be triggered with: echo 0x2080e0 | tee /sys/kernel/debug/ieee80211/*/ath10k/reg_addr cat /sys/kernel/debug/ieee80211/*/ath10k/reg_value BUG: unable to handle kernel paging request at ffffc90001e080e0 IP: [<ffffffff8135c860>] ioread32+0x40/0x50 ... Call Trace: [<ffffffffa00d0c7f>] ? ath10k_pci_read32+0x4f/0x70 [ath10k_pci] [<ffffffffa0080f50>] ath10k_reg_value_read+0x90/0xf0 [ath10k_core] [<ffffffff8115c2c1>] ? handle_mm_fault+0xa91/0x1050 [<ffffffff81189758>] __vfs_read+0x28/0xe0 [<ffffffff812e4694>] ? security_file_permission+0x84/0xa0 [<ffffffff81189ce3>] ? rw_verify_area+0x53/0x100 [<ffffffff81189e1a>] vfs_read+0x8a/0x140 [<ffffffff8118acb9>] SyS_read+0x49/0xb0 [<ffffffff8104e39c>] ? trace_do_page_fault+0x3c/0xc0 [<ffffffff8196596e>] system_call_fastpath+0x12/0x71 Reported-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c702534a23d61deaa0565ef0495ab866c06c4325 Author: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Date: Mon Jun 15 14:46:41 2015 +0300 ath10k: enable VHT for IBSS Enable VHT support for IBSS, while mac80211/cfg80211 and wpa_supplicant already support this. In my test env, qca988x 2x2 I get: (udp) ath10k-1 >>>> ath10k-2 (server) - speed: 419 Mbits/sec (tcp) ath10k-1 >>>> ath10k-2 (server) - speed: 404 Mbits/sec During tests I used wpa_supplicant (latest git version), which already support IBSS VHT, and choose highest available BW. Also tested with qca6174. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 67c81f5a06ed1474c4f16ad93f4502c760999515 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jun 15 14:46:41 2015 +0300 ath10k: print htt op_version upon driver boot HTT version itself isn't sufficient to know what HTT version given firmware blob uses. Hence print the recently introduced HTT op version code. While at it make the info string a bit more consistent and clear. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b27bc5a40f915671eda3ac255734a64153fc91f5 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jun 15 14:46:40 2015 +0300 ath10k: dump fw features during probing This should help when analysing problems from users and spot fw api blob problems easier. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit e7d66d89bc8bb44f9aab2f4749246214d15a159f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Jun 15 23:23:54 2015 +0200 drm/i915: Remove more ilk rc6 remnants Leftover from the big purge commit a561165493e5fec2f74bd3ae0577ed659e44ab7f Author: John Harrison <John.C.Harrison@xxxxxxxxx> Date: Thu Mar 5 14:03:03 2015 +0000 drm/i915: Remove ironlake rc6 support Cc: John Harrison <John.C.Harrison@xxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Reported-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 0904deaf4e6bc1d854ed48255bdb170c7906c8fb Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Fri Jun 12 10:11:32 2015 +0300 drm/i915: Limit CHV max cdclk Limit CHV maximum cdclk to 320MHz. v2: Rebase to the latest v3: Clean up of if-else tree Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d8514d6306ea023f144ac922c4e6e6b283d5b78d Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jun 12 14:36:21 2015 -0300 drm/i915: don't set the FBC plane select bits on HSW+ This commit is just to make the intentions explicit: on HSW+ these bits are MBZ, but since we only support plane A and the macro evaluates to zero when plane A is the parameter, we're not fixing any bug. v2: - Remove useless extra blank like (Chris). - Init dpfc_ctl in another place (Chris). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2e8144a53db50cf3d5b32641346d116f778a9680 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jun 12 14:36:20 2015 -0300 drm/i915: unify no_fbc_reason message printing This commit has two main advantages: simplify intel_fbc_update() and deduplicate the strings. v2: - Rebase due to changes on P1. - set_no_fbc_reason() can now return void (Chris). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 87f5ff0115eed248377f3474834caceca072b9ba Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jun 12 14:36:19 2015 -0300 drm/i915: add FBC_ROTATION to enum no_fbc_reason Because we're currently using FBC_UNSUPPORTED_MODE for two different cases. This commit will also allow us to write the next one without hiding information from the user. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 31b9df1040a9ac1d4b88e382f16a50b9f0aff9be Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Jun 12 14:36:18 2015 -0300 drm/i915: print FBC compression status on debugfs We already had a few bugs in the past where FBC was compressing nothing when it was enabled, which makes the feature quite useless. Add this information to debugfs so the test suites can check for regressions in this piece of the code. Our igt/tests/kms_frontbuffer_tracking already has support for this message. v2: - Remove pointless VLV check (Ville). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44c5905e8e977b1dd9bb99bcd5686464fa0aa247 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 11 16:31:16 2015 +0300 drm/i915: Drop the 64k linear scanout alignment on gen2/3 The docs don't support the 64k linear scanout alignment we impose on gen2/3. And it really makes no sense since we have no DSPSURF register, so the only thing that the hardware will see is the linear offset which will be just pixel aligned anyway. There is one case where 64k comes into the picture, and that's FBC. The start of the line length buffer corresponds to a 64k aligned address of the uncompressed framebuffer. So if the uncompressed fb is not 64k aligned, the first actually used entry in the line length buffer will not be byte 0. There are 32 extra entries in the line length buffer to account for this extra alignment so we shouldn't have to worry about it when mapping the uncompressed fb to the GTT. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 985b8bb486e7dd924925898f86fffca546d698db Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 11 16:31:15 2015 +0300 drm/i915: Align DSPSURF to 128k on VLV/CHV VLV/CHV have problems with 4k aligned linear scanout buffers. The VLV docs got updated at some point to say that we need to align them to 128k, just like we do on gen4. So far I've seen the problem manifest when the stride is an odd multiple of 512 bytes, and the surface address meets the following pattern '(addr & 0xf000) == 0x1000' (also == 0x2000 is problematic on VLV). The result is a starcase effect (so some pages get dropped maybe?), with a few pages here and there clearly getting scannout out at the wrong position. I've not actually been able to reproduce this problem on gen4, so it's not clear of the issue is any way related to the 128k restrictions supposedly inherited from gen4. But let's hope the 128k alignment is sufficient to hide it all. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Reviewed-by: Arun R Murthy <arun.r.murthy@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4e9a86b6bd335925077dde1006da6838774537d9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 11 16:31:14 2015 +0300 drm/i915: Actually respect DSPSURF alignment restrictions Currently intel_gen4_compute_page_offset() simply picks the closest page boundary below the linear offset. That however may not be suitably aligned to satisfy any hardware specific restrictions. So let's make sure the page boundary we choose is properly aligned. Also to play it a bit safer lets split the remaining linear offset into x and y values instead of just x. This should make no difference for most platforms since we convert the x and y offsets back into a linear offset before feeding them to the hardware. HSW+ are different however and use x and y offsets even with linear buffers, so they might have trouble if either the x or y get too big. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7cd35277b4b7af2121dbc5534fc112e2b3896ef4 Author: Chandra Konduru <chandra.konduru@xxxxxxxxx> Date: Wed Jun 10 16:16:12 2015 -0700 drm/i915: Delete duplicate #defines added for DCx Delete the duplicate #defines introduced by: commit 6b457d31ea0465fcadcf6d5044f5f71398954727 Author: A.Sunil Kamath <sunil.kamath@xxxxxxxxx> Date: Thu Apr 16 14:22:09 2015 +0530 drm/i915/skl: Implement enable/disable for Display C5 state. Signed-off-by: Chandra Konduru <chandra.konduru@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0ddfd20385f2e0b22cb19e7da4a235121755f192 Author: Ramalingam C <ramalingam.c@xxxxxxxxx> Date: Mon Jun 15 20:50:05 2015 +0530 drm/i915: Restarting the Idleness DRRS in drrs_flush Corrected the documentation on the intel_edp_drrs_flush and intel_edp_drrs_invalidate. And accordingly edp_drrs_flush function is modified to restart the idleness detection after upclocking. v2: Update kerneldoc Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> (v1) Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a80c69fc08064942ba5038310cd63c42b1d8ed72 Merge: 49e4d84 c016530 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Jun 15 17:43:48 2015 +0200 Merge branch 'topic/atomic-conversion' into drm-intel-next-queued The i915 atomic conversion is a real beast and it's not getting easier wrangling in a separate branch. I'm might be regretting this, but right after vacation nothing can burst my little bubble here! Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 49e4d842f0d0892c3d26c93a81b9f22c1467030e Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 15 12:23:48 2015 +0100 drm/i915: Report to userspace if we have a (presumed) working GPU reset In igt, we want to test handling of GPU hangs, both for recovery purposes and for reporting. However, we don't want to inject a genuine GPU hang onto a machine that cannot recover and so be permenantly wedged. Rather than embed heuristics into igt, have the kernel report exactly when it expects the GPU reset to work. This can also be usefully extended in future to indicate different levels of fine-grained resets. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Tim Gore <tim.gore@xxxxxxxxx> Cc: Tomas Elf <tomas.elf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21a59991ce0cd9a0b54b135305e3fcf880f2aaf1 Author: Jim Davis <jim.epost@xxxxxxxxx> Date: Mon Jun 8 13:19:08 2015 -0700 scripts/package/Makefile: rpmbuild is needed for rpm targets Before rpm release 4.1, in 2002, either the rpm command or the rpmbuild command could be used in the rpm-pkg or binrpm-pkg targets, and the Makefile chose the rpm command if the rpmbuild command wasn't found. After release 4.1, however, the rpm command could no longer be used in place of the rpmbuild command. As the rpmbuild command is not installed by default, this can lead to failures with the rpm-pkg and binrpm-pkg targets: rpm --define "_builddir ." --target \ x86_64 -bb ./binkernel.spec rpm --target: unknown option scripts/package/Makefile:60: recipe for target 'binrpm-pkg' failed Change the Makefile to use rpmbuild unconditionally to avoid this. Signed-off-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 0d8041842644cff1183f3d0df429792764aecd3f Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 15 12:52:28 2015 +0100 drm/i915: Fix build without CONFIG_PM drivers/gpu/drm/i915/i915_debugfs.c: In function â??i915_runtime_pm_statusâ??: drivers/gpu/drm/i915/i915_debugfs.c:2528:34: error: â??struct dev_pm_infoâ?? has no member named â??usage_countâ?? atomic_read(&dev->dev->power.usage_count)); Regression from commit a6aaec8be22652a808d6e316d4a92e58cb75e986 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:23:58 2015 +0100 drm/i915: Add runtime PM's usage_count in i915_runtime_pm_status Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a37161c0588c0d3ff4afb08ef83106a80bde604e Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Apr 16 14:02:41 2015 -0700 Kbuild: Add ID files to .gitignore I use GNU id-utils to find code (essentially a database backed grep), which generates an ID file to maintain its data. Add ID to the .gitignore file. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit caf4e2527599a86f1b7d6c7e13546d80e7e50a7c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 16:56:18 2015 +0100 drm/i915: Make sure our labels start at column 0 I noticed one of those and it turned out we have a few lingering around. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit abd41dc93c37abc89fb0470a8195c58f37aa52ac Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 16:42:16 2015 +0100 drm/i915/skl: Add debug messages at the start/end of DMC firmware loading It's handy to have debug message for the "big" events and this one qualifies IMHO. Also helpful to see what's happening while we're loading the firwmare and how much time it takes. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 78ace48cfe6ca226793e46b8c465507efd053bba Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 16:42:15 2015 +0100 drm/i915: Remove unnecessary () used with WARN() In Linux, macros are usually well done and protect their arguments properly, even avoiding multiple evaluations of the parameters. Extra () are really not needed. Cc: Suketu Shah <suketu.j.shah@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d351f6d94893f3ba98b1b20c5ef44c35fc1da124 Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Fri May 29 16:44:15 2015 +0300 drm/i915: Add SCRATCH1 and ROW_CHICKEN3 to the register whitelist. Only bit 27 of SCRATCH1 and bit 6 of ROW_CHICKEN3 are allowed to be set because of security-sensitive bits we don't want userspace to mess with. On HSW hardware the whitelisted bits control whether atomic read-modify-write operations are performed on L3 or on GTI, and when set to L3 (which can be 10x-30x better performing than on GTI, depending on the application) require great care to avoid a system hang, so we currently program them to be handled on GTI by default. Beignet can immediately start taking advantage of this change to enable L3 atomics. Mesa should eventually switch to L3 atomics too, but a number of non-trivial changes are still required so it will continue using GTI atomics for now. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Reviewed-by: Zhigang Gong <zhigang.gong@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4e86f725cebc8164e5f6601707379dd51440269d Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Fri May 29 16:44:14 2015 +0300 drm/i915: Extend the parser to check register writes against a mask/value pair. In some cases it might be unnecessary or dangerous to give userspace the right to write arbitrary values to some register, even though it might be desirable to give it control of some of its bits. This patch extends the register whitelist entries to contain a mask/value pair in addition to the register offset. For registers with non-zero mask, any LRM writes and LRI writes where the bits of the immediate given by the mask don't match the specified value will be rejected. This will be used in my next patch to grant userspace partial write access to some sensitive registers. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Reviewed-by: Zhigang Gong <zhigang.gong@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6a65c5b9326c9dd391afb1b3df75cbedffbaccdb Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Fri May 29 16:44:13 2015 +0300 drm/i915: Fix command parser to validate multiple register access with the same command. Until now the software command checker assumed that commands could read or write at most a single register per packet. This is not necessarily the case, MI_LOAD_REGISTER_IMM expects a variable-length list of offset/value pairs and writes them in sequence. The previous code would only check whether the first entry was valid, effectively allowing userspace to write unrestricted registers of the MMIO space by sending a multi-register write with a legal first register, with potential security implications on Gen6 and 7 hardware. Fix it by extending the drm_i915_cmd_descriptor table to represent multi-register access and making validate_cmd() iterate for all register offsets present in the command packet. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Reviewed-by: Zhigang Gong <zhigang.gong@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fcc0008fd02330f1c539a8dd831b00ca9b998cd8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 26 20:22:40 2015 +0300 drm/i915: Bump CHV PFI credits to 63 when cdclk>=czclk Switch from using 31 PFI credits to 63 PFI credits when cdclk>=czclk on CHV. The spec lists both 31 and 63 as "suggested" values, but based on feedback from hardware folks we should actually be using 63. Originally I picked the 31 basically by flipping a coin. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac3f918d5a069f1c34c6e0d39cccb0e9c8ac9334 Author: Thomas Richter <thor@xxxxxxxxxxxxxxxxx> Date: Sat May 30 20:25:53 2015 +0200 Fix resume from suspend on IBM X30 This patch fixes the resume from suspend-to-ram on the IBM X30 laptop. The problem is caused by the Bios missing to re-initialize the iVCH registers, especially the PLL registers. This patch records the iVCH registers during initialization, and re-installs this register set when resuming. Signed-off-by: Thomas Richter <thor@xxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8a1ebd7480fe8e80119d12bef2906f9480c2916f Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri May 22 20:04:59 2015 +0300 drm/i915/gtt: Remove _single from page table allocator We are always allocating a single page. No need to be verbose so remove the suffix. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea3f5d261fb0b757f95c1657f71ac86eb1778fd1 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri May 22 20:04:58 2015 +0300 drm/i915/gtt: Don't leak scratch page on mapping error Free the scratch page if dma mapping fails. Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 66c826a1754c07012e29fbe9be7013e92a5acbac Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Mon Jun 1 10:32:01 2015 +0300 drm/i915/vlv: fix RC6 residency time calculation The divider value to convert from CZ clock rate to ms needs a +1 adjustment on VLV just like on CHV. This matches both the spec and the accuracy test by pm_rc6_residency. v2: - simplify logic checking for the CHV 320MHz special case (Rodrigo) Testcase: igt/pm_rc6_residency Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76877 Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3320e37f7ac1f4df90268f204fef490dacee7ca0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:27 2015 +0300 drm/i915: Double the port clock when using double clocked modes with 12bpc Currently we're forgetting to double the port clock when using double clocked modes with 12bpc on HDMI. We're only accounting for the 1.5x factor due to the 12bpc. So further double the 1.5x port clock when we have a double clocked mode. Unfortunately I don't have any displays that support both 12bpc and double clocked modes, so I was unable to test this. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be69a1335fceb706e19f7eaf8d34c9a721c5baf9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:26 2015 +0300 drm/i915: Fix hdmi clock readout with pixel repeat Account for the pixel multiplier when reading out the HDMI mode dotclock. Makes the state checked happier on my ILK when using double clocked modes. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec1dc603c664364c9d6c9c8e774f2822edf7397b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:25 2015 +0300 drm/i915: Check infoframe state more diligently. Check that the DIP is enabled on the right port on IBX and VLV/CHV as we're doing on g4x, and also check for all the infoframe enable bits on all platforms. Eventually we should track each infoframe type independently, and also their contents. This is a small step in that direction as .infoframe_enabled() return value could be easily turned into a bitmask. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0be6f0c835077bb4dc7346e8eb75329d131a445b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:24 2015 +0300 drm/i915: Disable all infoframes when turning off the HDMI port Currently we just disable the GCP infoframe when turning off the port. That means if the same transcoder is used on a DP port next, we might end up pushing infoframes over DP, which isn't intended. Just disable all the infoframes when turning off the port. Also protect against two ports stomping on each other on g4x due to the single video DIP instance. Now only the first port to enable gets to send infoframes. v2: Rebase Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf868c7ddaa7fd5645fbc01cf2c4ad6ddd64c142 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:23 2015 +0300 drm/i915: Fix 12bpc HDMI enable for IBX Follow the procedure listed in Bspec to toggle the port enable bit off and on when enabling HDMI with 12bpc and pixel repeat on IBX. The old code didn't actually enable the port before "toggling" the bit back off, so the whole workaround was essentially a nop. Also take the opportunity to clarify the code by splitting the gmch platforms to a separate (much more straightforward) function. v2: Rebased due to crtc->config changes Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c5de7c6f3b3185ebbb9cf81abb94580c7f2ebd5f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:22 2015 +0300 drm/i915: Fix HDMI 12bpc TRANSCONF bpc value IBX BSpec says we must specify 8bpc in TRANSCONF for both 8bpc and 12bpc HDMI output. Do so. v2: Pass intel_crtc to intel_pipe_has_type() Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 12aa32905df59a32a6fb770830799058bf591eed Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:21 2015 +0300 drm/i915: Enable default_phase in GCP when possible When the video timings are suitably aligned so that all different periods start at phase 0 (ie. none of the periods start mid-pixel) we can inform the sink about this. Supposedly the sink can then optimize certain things. Obviously this is only relevant when outputting >8bpc data since otherwise there are no mid-pixel phases. v2: Rebased due to crtc->config changes Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6d67415f40b1f166212f37ecc9c23b9f380dfebc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:20 2015 +0300 drm/i915: Send GCP infoframes for deep color HDMI sinks GCP infoframes are required to inform the HDMI sink about the color depth. Send the GCP infoframe whenever the sink supports any deep color modes since such sinks must anyway be capable of receiving them. For sinks that don't support deep color let's skip the GCP in case it might confuse the sink, although HDMI 1.4 spec does say all sinks must be capable of reciving them. In theory we could skip the GCP infoframe for deep color sinks in 8bpc mode as well since sinks must fall back to 8bpc whenever GCP isn't received for some time. BSpec says we should disable GCP after disabling the port, so do that as well. v2: s/intel_set_gcp_infoframe/intel_hdmi_set_gcp_infoframe/ Rebased due to crtc->config changes Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Resolve conflict with lack of chv phy patches and fixup typo Chandra spotted.] Reviewed-by: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d1b1589c4800678a8a2beba83845366b2dff5d70 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue May 5 17:06:19 2015 +0300 drm/i915: Implement WaEnableHDMI8bpcBefore12bpc:snb, ivb CPT/PPT require a specific procedure for enabling 12bpc HDMI. Implement it, and to keep things neat pull the code into a function. v2: Rebased due to crtc->config changes s/HDMI_GC/HDMIUNIT_GC/ to match spec better Factor out intel_enable_hdmi_audio() Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Reviewed-By: Chandra Konduru <Chandra.konduru@xxxxxxxxx> Testecase: igt/kms_render/* Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d0fe116b4554d79125f384f7ba23722b41c3cb93 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Apr 24 10:27:40 2015 -0700 gitignore: Add MIPS vmlinux.32 to the list MIPS64 kernels builds will produce a vmlinux.32 kernel image for compatibility, ignore them. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 5e1249ff36d29653dde09fedf1d04a4ecff028c2 Merge: a2ee48d fe4c63c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Jun 15 07:26:47 2015 +0200 Merge remote-tracking branch 'origin/drm-intel-next-queued' into drm-intel-next-queued Pull in patches Jani applied while I was on vacation. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 23f93cde93efed59ca82d2687a2fab6a93eaafcc Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Mon Apr 13 18:41:03 2015 +0300 iio: accel: mma9553: document use of mutex Fix checkpatch.pl --strict check: CHECK: struct mutex definition without comment + struct mutex mutex; Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b37c19903a64951f12ae213ce0be7ca3bd26cc12 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Mon Apr 13 18:41:02 2015 +0300 iio: accel: mma9553: fix alignment issues Fix code alignment and wrap parameters. Fix issues reported by checkpatch.pl --strict. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Suggested-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c0d901cce736cb628d2e15f07ae00ea1029f64df Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Mon Apr 13 18:41:01 2015 +0300 iio: accel: mma9551_core: use size in words for word buffers Change the prototype for the mma9551_read/write_*_words functions to receive the length of the buffer in words (instead of bytes) since we are using a word buffer. This will prevent users from sending an odd number of bytes for a word array. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1ca0259b18478b2bab6d5c81ca1de52dd519ae5e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri May 8 15:54:00 2015 -0300 iio: light: hid-sensor-prox: Fit assignment in one line There is no need to do the assignment to indio_dev->num_channels in two lines code. Put it in one line. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ae35496230bc792fa76505ab7fcee694c7f7d523 Author: Naidu Tellapati <naidu.tellapati@xxxxxxxxxx> Date: Thu May 7 18:24:02 2015 -0300 iio: adc: cc10001: Power-up the ADC at probe time when used remotely The ADC is typically shared with remote CPUs not running Linux. However, there is only one register to power-up/power-down. Remote CPUs aren't able to power-up the ADC, and rely in Linux doing it instead. This commit uses the adc-reserved-channels devicetree property to distinguish shared usage. In this case, the ADC is powered up at probe time. If the ADC is used only by the CPU running Linux, power-up/down at runtime, only when neeeded. Signed-off-by: Naidu Tellapati <naidu.tellapati@xxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit eb2c9ce2cc938d7d39fc06430519bf0fc5004566 Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Wed Jun 10 18:07:30 2015 +0300 iio: accel: Add sampling rate support for STK8BA50 Added support for setting the STK8BA50 accelerometer's sampling rate. Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 003f4880bd2eba68c6f9191607ce73787f3402bd Author: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Date: Wed Jun 10 18:07:29 2015 +0300 iio: accel: STK8BA50: replace scale table with a struct Replaced the stk8ba50_scale_table with an identically named struct in order to make the code a bit more readable. Signed-off-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a858c7dab4b9b6a0b5742c39b10408780ca315c8 Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Fri Jun 12 18:10:22 2015 +0300 iio: inv-mpu: Export scale_available attributes Export the available scales for accel and gyro in order to hint the user-space as to what are the available valid values. Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ad37616e9048123ab664bf2064604888e25c539f Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Fri Jun 12 19:01:07 2015 +0300 iio: Documentation: Add additional *scale_available attributes Added some more *scale_available attributes to the list that are used in various drivers but were missiong from Documentation. Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a9d7acc8b0d52ae2f15f6280f63ac9d1e73cfb78 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jun 10 21:51:21 2015 +0200 tools:iio: rename variables Use more appropriate/common variable names: * namepf instead of nameFile in iio_utils.c * ret instead of retval in lsiio.c Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7663a4aac625268674060d78ee00f97a36a03af7 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Wed Jun 10 21:51:20 2015 +0200 tools:iio: adjust coding style Fix various coding style issues, including: * have spaces around operators * indentation * consolidate parameters in same line * required braces * adjust/drop comments * multiline comment style * delete unnecessary empty lines * add empty lines to visualize logial code blocks * typos Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c0165304e10f317672e20f2b40770d74c51e287f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Fri Jun 12 11:15:42 2015 +0200 drm/i915: Only enable cursor if it can be enabled. The cursor should only be enabled if it's visible. This fixes igt/kms_cursor_crc, which may otherwise produce the following warning: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 3425 at drivers/gpu/drm/i915/intel_display.c:9995 intel_crtc_update_cursor+0x14c/0x4d0 [i915]() Missing switch case (0) in i9xx_update_cursor Modules linked in: i915 CPU: 0 PID: 3425 Comm: kms_cursor_crc Tainted: G W 4.1.0-rc7-patser+ #4079 Hardware name: LENOVO 2349AV8/2349AV8, BIOS G1ETA5WW (2.65 ) 04/15/2014 ffffffffc01aad10 ffff8800b083faa8 ffffffff817f7827 0000000080000001 ffff8800b083faf8 ffff8800b083fae8 ffffffff81084955 ffff8800b083fad8 ffff8800c4931148 0000000001200000 ffff8800c48b0000 0000000000000000 Call Trace: [<ffffffff817f7827>] dump_stack+0x4f/0x7b [<ffffffff81084955>] warn_slowpath_common+0x85/0xc0 [<ffffffff810849d1>] warn_slowpath_fmt+0x41/0x50 [<ffffffffc0139f2c>] intel_crtc_update_cursor+0x14c/0x4d0 [i915] [<ffffffffc01497f4>] __intel_set_mode+0x6c4/0x750 [i915] [<ffffffffc0150143>] intel_crtc_set_config+0x473/0x5c0 [i915] [<ffffffff81467da9>] drm_mode_set_config_internal+0x69/0x120 [<ffffffff8146c1b9>] drm_mode_setcrtc+0x189/0x540 [<ffffffff8145c7e0>] drm_ioctl+0x1a0/0x6a0 [<ffffffff810b3b41>] ? get_parent_ip+0x11/0x50 [<ffffffff811e9c28>] do_vfs_ioctl+0x2f8/0x530 [<ffffffff810d0f7d>] ? trace_hardirqs_on+0xd/0x10 [<ffffffff812e7746>] ? selinux_file_ioctl+0x56/0x100 [<ffffffff811e9ee1>] SyS_ioctl+0x81/0xa0 [<ffffffff81801617>] system_call_fastpath+0x12/0x6f ---[ end trace abf0f71163290a96 ]--- Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit b8b7fadec3c797d7babb3c7fec484971e1604978 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Fri Jun 12 11:15:41 2015 +0200 drm/i915: Set hwmode during readout. This was introduced after converting hw readout to atomic, so it should have been part of the revert too. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90929 Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 02e0efb5b40b42f06668ba38f39654c57feaacdb Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Fri Jun 12 11:15:40 2015 +0200 drm/i915: get rid of intel_plane_restore in intel_crtc_page_flip Use a full atomic call instead. intel_crtc_page_flip will still have to live until async updates are allowed. This doesn't seem to be a regression from the convert to atomic, part 3 patch. During GPU reset it fixes the following warning: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 752 at drivers/gpu/drm/drm_crtc.c:5337 drm_mode_page_flip_ioctl+0x27b/0x360() Modules linked in: i915 CPU: 0 PID: 752 Comm: Xorg Not tainted 4.1.0-rc7-patser+ #4090 Hardware name: NUC5i7RYB, BIOS RYBDWi35.86A.0246.2015.0309.1355 03/09/2015 ffffffff81c90866 ffff8800d87c3ca8 ffffffff817f7d87 0000000080000001 0000000000000000 ffff8800d87c3ce8 ffffffff81084955 ffff880000000000 ffff8800d87c3dc0 ffff8800d93d1208 0000000000000000 ffff8800b7d1f3e0 Call Trace: [<ffffffff817f7d87>] dump_stack+0x4f/0x7b [<ffffffff81084955>] warn_slowpath_common+0x85/0xc0 [<ffffffff81084a35>] warn_slowpath_null+0x15/0x20 [<ffffffff8146dffb>] drm_mode_page_flip_ioctl+0x27b/0x360 [<ffffffff8145ccb0>] drm_ioctl+0x1a0/0x6a0 [<ffffffff810b3b41>] ? get_parent_ip+0x11/0x50 [<ffffffff812e5540>] ? avc_has_perm+0x20/0x280 [<ffffffff810b3b41>] ? get_parent_ip+0x11/0x50 [<ffffffff811ea0f8>] do_vfs_ioctl+0x2f8/0x530 [<ffffffff811f6001>] ? expand_files+0x261/0x270 [<ffffffff812e7c16>] ? selinux_file_ioctl+0x56/0x100 [<ffffffff811ea3b1>] SyS_ioctl+0x81/0xa0 [<ffffffff81801b97>] system_call_fastpath+0x12/0x6f ---[ end trace 9ce834560085bd64 ]--- Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit b17d48e27d35bc890ff205c9663b58803798b63b Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Fri Jun 12 11:15:39 2015 +0200 drm/i915: Do not use atomic modesets in hw readout. This should fix fallout caused by making intel_crtc_control and update_dpms atomic, which became a problem after reverting the atomic hw readout patch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90929 Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f721790560be9551c9e7f1644e04960b3ac44d06 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Jun 10 10:24:20 2015 +0200 Revert "drm/i915: Read hw state into an atomic state struct, v2." This reverts commit 3bae26eb2991c00670df377cf6c3bc2b0577e82a. Seems it introduces regressions for 3 different reasons, oh boy.. In bug #90868 as I can see the atomic state will be restored on resume without the planes being set up properly. Because plane setup here requires the atomic state, we'll have to settle for committing atomic planes first. In bug #90861 the failure appears to affect mostly DP devices, and happens because reading out the atomic state prevents a modeset on boot, which would require better hw state readout. In bug #90874 it's shown that cdclk should be part of the atomic state, so only performing a single modeset during resume excarbated the issue. It's better to fix those issues first, and then commit this patch, so do that temporarily. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90868 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90861 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90874 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Acked-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9716c691ce06b043d3e75c8ff93704cb40c52265 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Jun 10 10:24:19 2015 +0200 Revert "drm/i915: Make intel_display_suspend atomic, v2." This reverts commit 490f400db5d886fc28566af69b02f6497f31be4b. We're not ready yet to make it atomic, we calculate some state in advance, but without atomic plane support atomic the hw readout will fail. It's required to revert this commit to revert the atomic hw state readout patch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90868 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90861 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Acked-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 5c2db1882ab32546c46318d9feb017673c072717 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:11 2015 +0200 drm/i915: use calculated state for vblank evasion crtc->active will be gone eventually, and this check should be just as good. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 3538b9dffd8344cd40413018bcd7dc7b2bc1e21d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:10 2015 +0200 drm/i915: Use atomic state for calculating DVO_2X_MODE on i830. This is a small behavioral change because it leaves DVO_2X_MODE set between crtc_disable and crtc_enable. This is probably harmless though and if not should be fixed by calculating 2x mode before enable/disable pll. This is needed because intel_crtc->active will be removed eventually. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 99d736a2ce431dbbcf96ee9d26bd41ca2c2284a1 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:09 2015 +0200 drm/i915: Calculate haswell plane workaround, v5. This needs to be done last after all modesets have been calculated. A modeset first disables all crtc's, so any crtc that undergoes a modeset counts as inactive. If no modeset's done, or > 1 crtc's stay w/a doesn't apply. Apply workaround on the first crtc if 1 crtc stays active. Apply workaround on the second crtc if no crtc was active. Changes since v1: - Use intel_crtc->atomic as a place to put hsw_workaround_pipe. - Make sure quirk only applies to haswell. - Use first loop to iterate over newly enabled crtc's only. This increases readability. Changes since v2: - Move hsw_workaround_pipe back to crtc_state. Changes since v3: - Return errors from haswell_mode_set_planes_workaround. Changes since v4: - Clean up commit message. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f77076c91d563a07c6519b80e234b4e962306b67 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:08 2015 +0200 drm/i915: Remove use of crtc->config from i915_debugfs.c crtc->config is updated to always contain to the active crtc_state and only differs from crtc_state during crtc_disable. It will eventually be removed, so start with some low hanging fruit. For crtc->active the situation is the same; it will be removed eventually. Instead use crtc->state->active. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit fc467a221a01c5ec369a3969fcafea077c3677b4 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:07 2015 +0200 drm/i915: Use crtc->hwmode for vblanks, v2. intel_crtc->config will be removed eventually, so use crtc->hwmode. drm_atomic_helper_update_legacy_modeset_state updates hwmode, but crtc->active will eventually be gone too. Set dotclock to zero to indicate the crtc is inactive. Changes since v1: - With the hwmode update in drm*update_legacy_modeset_state removed, intel_modeset_update_state has to assign it instead. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 1c5e19f8f124b2ff442756e79d9a05c2b9494a28 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:06 2015 +0200 drm/i915: move swap state to the right place This is a preparation for passing crtc state to the helpers. When converting all users of crtc->config to use the old or new state it's easier to find regressions when swap_state is done first. If crtc->config is swapped at the same place as swap_state bugs will never be found. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 06ea0b0897db906c5616f660a34b54d92f7d09cf Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:05 2015 +0200 drm/i915: Make intel_display_suspend atomic, v2. Calculate all state using a normal transition, but afterwards fudge crtc->state->active back to its old value. This should still allow state restore in setup_hw_state to work properly. Calling intel_set_mode will cause intel_display_set_init_power to be called, make sure init_power gets set again afterwards. Changes since v1: - Fix to compile with v2 of the patch that adds intel_display_suspend. - Add intel_display_set_init_power. - Set return value to int to allow error checking. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 5da76e94c4b8d40465a907fc3a151051e8021cdc Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:04 2015 +0200 drm/i915: Implement intel_crtc_control using atomic state, v4 Assume the callers lock everything with drm_modeset_lock_all. This change had to be done after converting suspend/resume to use atomic_state so the atomic state is preserved, otherwise all transitional state is erased. Now all callers of .crtc_enable and .crtc_disable go through atomic modeset! :-D Changes since v1: - Only check for crtc_state->active in valleyview_modeset_global_pipes. - Only check for crtc_state->active in modeset_update_crtc_power_domains. Changes since v2: - Rework on top of the changed patch order. Changes since v3: - Rename intel_crtc_toggle in description to *_control - Change return value to int. - Do not add plane state, should be done implicitly already. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 37ade41794e914103b8db417e480afd20dcea971 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Jun 1 12:50:03 2015 +0200 drm/i915: Read hw state into an atomic state struct, v2. To make this work we load the new hardware state into the atomic_state, then swap it with the sw state. This lets us change the force restore path in setup_hw_state() to use a single call to intel_mode_set() to restore all the previous state. As a nice bonus this kills off encoder->new_encoder, connector->new_enabled and crtc->new_enabled. They were used only to restore the state after a modeset. Changes since v1: - Make sure all possible planes are added with their crtc set, so they will be turned off on first modeset. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c347a6768df15c7145ac16bf4b4f7c5fc2be1179 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Jun 1 12:50:02 2015 +0200 drm/i915: Move cdclk and pll setup to intel_modeset_compute_config(), v2. It makes more sense there, since these are computation steps that can fail. Changes since v1: - Rename __intel_set_mode_checks to intel_modeset_checks (Matt Roper) - Move intel_modeset_checks to before check_planes, so it won't have to be moved later. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 5ac1c4bcf073ad897c4510931518275d9e393dc7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:01 2015 +0200 drm/i915: Swap planes on each crtc separately, v2. Repeated calls to begin_crtc_commit can cause warnings like this: [ 169.127746] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:616 [ 169.127835] in_atomic(): 0, irqs_disabled(): 1, pid: 1947, name: kms_flip [ 169.127840] 3 locks held by kms_flip/1947: [ 169.127843] #0: (&dev->mode_config.mutex){+.+.+.}, at: [<ffffffff814774bc>] __drm_modeset_lock_all+0x9c/0x130 [ 169.127860] #1: (crtc_ww_class_acquire){+.+.+.}, at: [<ffffffff814774cd>] __drm_modeset_lock_all+0xad/0x130 [ 169.127870] #2: (crtc_ww_class_mutex){+.+.+.}, at: [<ffffffff81477178>] drm_modeset_lock+0x38/0x110 [ 169.127879] irq event stamp: 665690 [ 169.127882] hardirqs last enabled at (665689): [<ffffffff817ffdb5>] _raw_spin_unlock_irqrestore+0x55/0x70 [ 169.127889] hardirqs last disabled at (665690): [<ffffffffc0197a23>] intel_pipe_update_start+0x113/0x5c0 [i915] [ 169.127936] softirqs last enabled at (665470): [<ffffffff8108a766>] __do_softirq+0x236/0x650 [ 169.127942] softirqs last disabled at (665465): [<ffffffff8108ae75>] irq_exit+0xc5/0xd0 [ 169.127951] CPU: 1 PID: 1947 Comm: kms_flip Not tainted 4.1.0-rc4-patser+ #4039 [ 169.127954] Hardware name: LENOVO 2349AV8/2349AV8, BIOS G1ETA5WW (2.65 ) 04/15/2014 [ 169.127957] ffff8800c49036f0 ffff8800cde5fa28 ffffffff817f6907 0000000080000001 [ 169.127964] 0000000000000000 ffff8800cde5fa58 ffffffff810aebed 0000000000000046 [ 169.127970] ffffffff81c5d518 0000000000000268 0000000000000000 ffff8800cde5fa88 [ 169.127981] Call Trace: [ 169.127992] [<ffffffff817f6907>] dump_stack+0x4f/0x7b [ 169.128001] [<ffffffff810aebed>] ___might_sleep+0x16d/0x270 [ 169.128008] [<ffffffff810aed38>] __might_sleep+0x48/0x90 [ 169.128017] [<ffffffff817fc359>] mutex_lock_nested+0x29/0x410 [ 169.128073] [<ffffffffc01635f0>] ? vgpu_write64+0x220/0x220 [i915] [ 169.128138] [<ffffffffc017fddf>] ? ironlake_update_primary_plane+0x2ff/0x410 [i915] [ 169.128198] [<ffffffffc0190e75>] intel_frontbuffer_flush+0x25/0x70 [i915] [ 169.128253] [<ffffffffc01831ac>] intel_finish_crtc_commit+0x4c/0x180 [i915] [ 169.128279] [<ffffffffc00784ac>] drm_atomic_helper_commit_planes+0x12c/0x240 [drm_kms_helper] [ 169.128338] [<ffffffffc0184264>] __intel_set_mode+0x684/0x830 [i915] [ 169.128378] [<ffffffffc018a84a>] intel_crtc_set_config+0x49a/0x620 [i915] [ 169.128385] [<ffffffff817fdd39>] ? mutex_unlock+0x9/0x10 [ 169.128391] [<ffffffff81467b69>] drm_mode_set_config_internal+0x69/0x120 [ 169.128398] [<ffffffff8119b547>] ? might_fault+0x57/0xb0 [ 169.128403] [<ffffffff8146bf93>] drm_mode_setcrtc+0x253/0x620 [ 169.128409] [<ffffffff8145c600>] drm_ioctl+0x1a0/0x6a0 [ 169.128415] [<ffffffff810b3b41>] ? get_parent_ip+0x11/0x50 [ 169.128424] [<ffffffff811e9ab8>] do_vfs_ioctl+0x2f8/0x530 [ 169.128429] [<ffffffff810d0fcd>] ? trace_hardirqs_on+0xd/0x10 [ 169.128435] [<ffffffff812e7676>] ? selinux_file_ioctl+0x56/0x100 [ 169.128439] [<ffffffff811e9d71>] SyS_ioctl+0x81/0xa0 [ 169.128445] [<ffffffff81800697>] system_call_fastpath+0x12/0x6f Solve it by using the newly introduced drm_atomic_helper_commit_planes_on_crtc. The problem here was that the drm_atomic_helper_commit_planes() helper we were using was basically designed to do begin_crtc_commit(crtc #1) begin_crtc_commit(crtc #2) ... commit all planes finish_crtc_commit(crtc #1) finish_crtc_commit(crtc #2) The problem here is that since our hardware relies on vblank evasion, our CRTC 'begin' function waits until we're out of the danger zone in which register writes might wind up straddling the vblank, then disables interrupts; our 'finish' function re-enables interrupts after the registers have been written. The expectation is that the operations between 'begin' and 'end' must be performed without sleeping (since interrupts are disabled) and should happen as quickly as possible. By clumping all of the 'begin' calls together, we introducing a couple problems: * Subsequent 'begin' invocations might sleep (which is illegal) * The first 'begin' ensured that we were far enough from the vblank that we could write our registers safely and ensure they all fell within the same frame. Adding extra delay waiting for subsequent CRTC's wasn't accounted for and could put us back into the 'danger zone' for CRTC #1. This commit solves the problem by using a new helper that allows an order of operations like: for each crtc { begin_crtc_commit(crtc) // sleep (maybe), then disable interrupts commit planes for this specific CRTC end_crtc_commit(crtc) // reenable interrupts } so that sleeps will only be performed while interrupts are enabled and we can be sure that registers for a CRTC will be written immediately once we know we're in the safe zone. The crtc->config->base.crtc update may seem unrelated, but the helper will use it to obtain the crtc for the state. Without the update it will dereference NULL and crash. Changes since v1: - Use Matt Roper's commit message. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 61c054983271426f8d31ef9e52eda249b123a7df Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:50:00 2015 +0200 drm/i915: Use drm_atomic_helper_swap_state in intel_atomic_commit. And update crtc->config to point to the new state. There is no point in swapping only part of the state when the rest of the state should be untouched. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit de419ab6b774facc14b2fa71e3d8642027924c86 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Jun 4 10:21:28 2015 +0200 drm/i915: Use global atomic state for staged pll, config, v3. Now that we can subclass drm_atomic_state we can also use it to keep track of all the pll settings. atomic_state is a better place to hold all shared state than keeping pll->new_config everywhere. Changes since v1: - Assert connection_mutex is held. Changes since v2: - Fix swapped arguments to kzalloc for intel_atomic_state_alloc. (Jani Nikula) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 880fa62648bf193eb17193a9eae00a52c7844ea7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:58 2015 +0200 drm/i915: Zap call to drm_plane_helper_disable, v2. The primary plane can still be configured when crtc is off, furthermore this is also a noop now that affected planes are added on modesets. Changes since v1: - Move commit so no frontbuffer_bits warnings are generated. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 568c634a2af62e07ed248a6e7fe9770173f9d9b2 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Jun 1 12:49:57 2015 +0200 drm/i915: Support modeset across multiple pipes Compute new pipe_configs for all crtcs in the atomic state. The commit part of the mode set (__intel_set_mode()) is already enabled to support multiple pipes, the only thing missing was calculating a new pipe_config for every crtc. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit fb9d6cf8c29bfcb0b3c602f7ded87f128d730382 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:56 2015 +0200 drm/i915: calculate primary visibility changes instead of calling from set_config This should be much cleaner, with the same effects. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 8a8f7f44a1b704c482f77a0d31cbcdf1af062263 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:55 2015 +0200 drm/i915: do not wait for vblank when crtc is off This can happen when turning off a sprite plane. Because the crtc state is not yet always swapped correctly and transitional helpers are used the crtc state cannot be relied on. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 36750f284b3a4f19b304fda1bb7d6e9e1275ea8d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:54 2015 +0200 drm/i915: update plane state during init Atomic planes updates rely on having a accurate plane_mask. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 85a96e7a4213de094acc63fd433dcf766e91c782 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:53 2015 +0200 drm/i915: Make sure all planes and connectors are added on modeset. Add missing calls to drm_atomic_add_affected_*. This is needed to convert to atomic planes. When converting to atomic all planes are needed on modeset. For good measure make sure all connectors are added too. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 53d9f4e99de001374eb06195609cc0451f31a318 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:52 2015 +0200 drm/i915: Use crtc_state->active instead of crtc_state->enable crtc_state->enable means a crtc is configured, but it may be turned off for dpms. Until the commit "use intel_crtc_control everywhere" crtc_state->active was not updated on crtc off, but now crtc_state->active should be used for tracking whether a crtc is scanning out or not. A few commits from now dpms will be handled by calling intel_set_mode with a different value for crtc_state->active, which causes a crtc to turn on or off. At this point crtc->active should mirror crtc_state->active, so some paranoia from the crtc_disable functions can be removed. intel_set_mode_setup_plls still checks for ->enable, because all resources that are needed have to be calculated, else dpms changes may not succeed. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit cdba954e426761cdfe08ce4c9909cd97ce254b9c Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Jun 1 12:49:51 2015 +0200 drm/i915: Set mode_changed for audio in intel_modeset_pipe_config() A follow up patch will make intel_modeset_compute_config() deal with multiple crtcs, so move crtc specific stuff into the lower level crtc specific function. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c72d969b23253ee8196e4190ec2c15e7cf607372 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Jun 1 12:49:50 2015 +0200 drm/i915: Make __intel_set_mode() take only atomic state as argument With the use of drm_atomic_helper_update_legacy_modeset_state the last user of modeset_crtc is removed from this function. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 3cb480bcb3397a1cfdc04115adcdb33393fde4f9 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:49 2015 +0200 drm/i915: Use drm_atomic_helper_update_legacy_modeset_state, v2. Now that the helper is exported there's no need to duplicate this code any more. Changes since v1: - move intel_modeset_update_staged_output_state call to the right place. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 1b5092592824d1c91d6e48d820b6047f6ba323ce Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:48 2015 +0200 drm/i915: use intel_crtc_control everywhere, v3. Having a single path for everything makes it a lot easier to keep crtc_state->active in sync with intel_crtc->active. A crtc cannot be changed to active when not enabled, because it means no mode is set and no connectors are connected. This should also make intel_crtc->active match crtc_state->active. Changes since v1: - Reworded commit message, there's no intel_crtc_toggle. Changes since v2: - Change some callers of intel_crtc_control to intel_display_suspend. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 6b72d486245265676df9866734bca1b39252e480 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:47 2015 +0200 drm/i915: add intel_display_suspend, v2 This is a function used to disable all crtc's. This makes it clearer to distinguish between when mode needs to be preserved and when it can be trashed. Changes since v1: - Copy power changes from intel_crtc_control. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 69024de8ba9ee28bbb2c0ba2f813d37a7d0be80a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:46 2015 +0200 drm/i915: get rid of intel_crtc_disable and related code, v3 Now that the dpll updates are (mostly) atomic, the .off() code is a noop, and intel_crtc_disable does mostly the same as intel_modeset_update_state. Move all logic for connectors_active and setting dpms to that function. Changes since v1: - Move drm_atomic_helper_swap_state up. Changes since v2: - Split out intel_put_shared_dpll removal. Changes since v3: - Rebase on top of latest drm-intel. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 41da1f5d492b4bfef04419feb12ee9b0ea0517cb Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:45 2015 +0200 drm/i915: get rid of put_shared_dpll Now that the pll updates are staged the put_shared_dpll function consists only of checks that are done in check_shared_dpll_state after a modeset too. The changes to pll->config are overwritten by intel_shared_dpll_commit, so this entire function is a noop. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit fe4c63c8cbd22251f8ce8bcb7853e46385f7af82 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Jun 4 18:01:35 2015 +0300 drm/i915/bxt: fix DDI PHY vswing scale value setting According to bspec the DDI PHY vswing scale value is "don't care" in case the scale enable bit [27] is clear. But this doesn't seem to be correct. The scale value seems to also matter if the scale mode bit [26] is set. So both bit 26 and 27 depend on the value. Setting the scale value to 0 while either bit is set results in a failed modeset on HDMI (sink reports no signal). After reset the scale value is 0x98, but according to the spec we have to program it to 0x9a. So for consistency program it always to 0x9a regardless of the scale enable bit. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Tested-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit a6aaec8be22652a808d6e316d4a92e58cb75e986 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:23:58 2015 +0100 drm/i915: Add runtime PM's usage_count in i915_runtime_pm_status Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 6455c870e97b7e8a6cf7aacba8ea19087b7db973 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:23:57 2015 +0100 drm/i915: Make pc8_status report status for all runtime PM platforms Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit a47871bd8ac2954b486272faa2a92831a69b1b8e Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:34 2015 +0100 drm/i915/bxt: Use intel_update_cdclk() to update dev_priv->cdclk_freq Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 560a7ae4b6f679927876b0dfcc1fcdfabdd20684 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:33 2015 +0100 drm/i915/skl: Update the cached CDCLK at the end of set_cdclk() Ville's and Mika's cdclk series was in flight at the same time as the SKL S3 patches so we were missing that update. intel_update_max_cdclk() and intel_update_cdclk() had to be moved up a bit to avoid forward declarations. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d9062ae59de1025bdd15988a4030d6e667c389d0 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:32 2015 +0100 drm/i915: Don't display the boot CDCLK twice intel_update_cdclk() will already display the boot CDCLK for DDI platforms, no need to repeat there. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 414355a7c3f029b762518d73a6ea7e4d07d48e34 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:31 2015 +0100 drm/i915/skl: Don't warn if reading back DPLL0 is disabled We can operate with DPLL0 off with CDCLK backed by the 24Mhz reference clock, and that's a supported configuration. Don't warn when notice DPLL0 is off then. We still have a separate warn at boot if cdclk is disabled (because we don't currently try to handle the case (that shouldn't happen on SKL as far as I know) where we boot with display not initialized. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit a9419e846bd8c8e00c1d28282de936523229eff7 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:30 2015 +0100 drm/i915/skl: Derive the max CDCLK from DFSM Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 70d0c5742013b888a9254f54ee527e9941171297 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Jun 4 18:21:29 2015 +0100 drm/i915: Make broxton_set_cdclk() static Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit b432e5cfd5e92127ad2dd83bfc3083f1dbce43fb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:13 2015 +0300 drm/i915: BDW clock change support Add support for changing cdclk frequency during runtime on BDW. Also with IPS enabled the actual pixel rate mustn't exceed 95% of cdclk, so take that into account when computing the max pixel rate. v2: Grab rps.hw_lock around sandybridge_pcode_write() v3: Rebase due to power well vs. .global_resources() reordering v4: Rebased to the latest v5: Rebased to the latest v6: Patch order shuffle so that Broadwell CD clock change is applied before the patch for Haswell CD clock change v7: Fix for patch style problems Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ebb72aad41e231fe5c586785dbbf5910867e7978 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:12 2015 +0300 drm/i915: Add IS_BDW_ULX We need to tell BDW ULT and ULX apart. v2: Rebased to the latest v3: Rebased to the latest v4: Fix for patch style problems Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 8cfb340774744438dea08a32072bea4a162dd132 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:11 2015 +0300 drm/i915: Don't enable IPS when pixel rate exceeds 95% Bspec says we shouldn't enable IPS on BDW when the pipe pixel rate exceeds 95% of the core display clock. Apparently this can cause underruns. There's no similar restriction listed for HSW, so leave that one alone for now. v2: Add pipe_config_supports_ips() (Chris) v3: Compare against the max cdclk insted of the current cdclk v4: Rebased to the latest v5: Rebased to the latest v6: Fix for patch style problems Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83497 Tested-by: Timo Aaltonen <tjaalton@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 44913155f036ae966f09a7bc0d299c31876b4383 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:10 2015 +0300 drm/i915: Store max cdclk value in dev_priv Keep the cdclk maximum supported frequency around in dev_priv so that we can verify certain things against it before actually changing the cdclk frequency. For now only VLV/CHV have support changing cdclk frequency, so other plarforms get to assume cdclk is fixed. v2: Rebased to the latest v3: Rebased to the latest v4: Fix for patch style problems Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 05024da3c2482e26e94fb3a8324a355c066d2faf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:08 2015 +0300 drm/i915: Use cached cdclk value Rather than reading out the current cdclk value use the cached value we have tucked away in dev_priv. v2: Rebased to the latest v3: Rebased to the latest v4: Fix for patch style problems Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit b6283055b408fd9bee5386bd71fdf5f3b5553ae5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 3 15:45:07 2015 +0300 drm/i915: Cache current cdclk frequency in dev_priv Rather that extracting the current cdclk freuqncy every time someone wants to know it, cache the current value and use that. VLV/CHV already stored a cached value there so just expand that to cover all platforms. v2: Rebased to the latest v3: Rebased to the latest v4: Rebased to the latest v5: Removed spurious call to 'intel_update_cdclk(dev)' based on Damien Lespiau's comment Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ccb6662b7ed7690313bcb066f4533d1f641ba72c Merge: 2441f87 63e1456 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Jun 4 10:26:17 2015 +0300 Merge remote-tracking branch 'drm-upstream/drm-next' into drm-intel-next-queued Backmerge drm-next so I can apply Maarten's drm/i915 atomic conversion patches. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 75fd7ffa7fab91c2c3234bd3e465ba4f366733f4 Author: Len Brown <len.brown@xxxxxxxxx> Date: Wed Jun 3 07:37:24 2015 -0400 tools/power turbostat: update turbostat(8) Remove reference to the original Nehalem Turbo white paper, since it has moved, and these mechanisms have now long since been documented in the Software Developer's Manual. Reported-by: Jeremie Lagraviere <jeremie@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 2441f8779e886d74389bf78aad149dc99876a900 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 2 15:37:37 2015 +0300 drm/i915: Apply WaDisableAsyncFlipPerfMode via LRIs on gen8 MI_MODE is saved in the logical context so WaDisableAsyncFlipPerfMode must be applied using LRIs on gen8. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9cc83020616d38339e6c29dc44536e9806abfdb0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 2 15:37:36 2015 +0300 drm/i915: Set INSTPM_FORCE_ORDERING via LRI on gen8, drop it on gen9+ INSTPM is saved in the logical context so we should initialize it using LRIs on gen8. It actually defaults to 1 starting from HSW, but let's keep the write around anyway. Also drop the INSTPM_FORCE_ORDERING setup entirely on gen9+ since it's now a reserved bit. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f94c56f4f33dd34551af6bcc1afde5082fdf6e86 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Jun 1 22:52:20 2015 -0300 coccinelle: simple_return: Add a blank line Insert a blank line in order to improve the readability of the generated patch and also make it consistent with the other .cocci files. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 64987fc59d90738715703362292f743b7dbbe76b Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Tue May 26 17:50:13 2015 +0530 drm/i915/bxt: edp1.4 Intermediate Freq support BXT supports following intermediate link rates for edp: 2.16GHz, 2.43GHz, 3.24GHz, 4.32GHz. Adding support for programming the intermediate rates. v2: Adding clock in bxt_clk_div struct and then look for the entry with required rate (Ville) v3: 'clock' has the selected value, no need to use link_bw or rate_select for selecting pll(Ville) v4: Make bxt_dp_clk_val const and remove size (Ville) v5: Rebased v6: Removed setting of vco while rebasing in v5, adding it back Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> (v4) Reviewed-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 5b6fd12a88a7233b58c669dc87979da9a69728b1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Jun 2 15:37:35 2015 +0300 drm/i915: Move WaBarrierPerformanceFixDisable:skl to skl code from chv code commit 65ca7514e21adbee25b8175fc909759c735d00ff Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Feb 9 19:33:22 2015 +0000 drm/i915/skl: Implement WaBarrierPerformanceFixDisable got misapplied and the code landed in chv_init_workarounds() instead of the intended skl_init_workarounds(). Move it over to the right place. Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 989feafb84118a840ff21250a1e5f516f43e3dbb Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Apr 27 22:23:06 2015 +0300 clk: ti: move low-level access and init code under clock driver With most of the clock code under clock driver already, the low-level register access code, and the init code for the same, is no longer needed outside the clock driver. Thus, these can be moved under clock driver also. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e3aedf0234e7f12554c591bc37236f3469fed8fa Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Apr 27 22:20:57 2015 +0300 ARM: OMAP2+: clock: remove legacy omap2_clk_readl/writel APIs As most of the clock driver code has migrated, these are no longer used for anything. Thus remove these APIs completely. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e9e63088e4f93cf4ed7999294c09905b7dcb4d32 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Apr 27 21:55:42 2015 +0300 clk: ti: remove exported ll_ops struct, instead add an API for registration We should avoid exporting data from drivers, instead use an API for registering the clock low level operations. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 9e11814ab8f08a0932c583b9e1504acac52ec7b3 Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Mar 4 14:50:27 2015 +0200 ARM: OMAP2+: clock: remove dead definitions from the clock header file Cleanup the mess in clock.h by removing all definitions that are no longer used for anything. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit a3314e9cf69c1d4052017e559ea69a042ccd83e2 Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Mar 4 21:02:05 2015 +0200 clk: ti: move some public definitions to private header Several exported TI clock driver features are no longer needed outside the clock driver itself, thus move all of these to the driver private header file. Also, update some of the driver files to actually include this header. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit c9a58b0a848e4b88d2dd4690ef19bae8696649eb Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 21:19:25 2015 +0200 clk: ti: am3517: move remaining am3517 clock support code to clock driver With legacy clock support gone, this is no longer needed under platform, so move it under the clock driver itself. Make some exports be driver internal definitions at the same time. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit eb0572520db9322e47ab97e4aff4a7cbf0381387 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 21:10:49 2015 +0200 ARM: OMAP4: clock: remove clock44xx.h header This is not needed for anything anymore, so remove it completely. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit f2671d5c6cb4abe4636014cd66fd0eeb8190b2ca Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 17:28:12 2015 +0200 clk: ti: omap34xx: move omap34xx clock type support code to clock driver With the legacy clock data gone, this is no longer needed under platform, so move it under the clock driver itself. Remove unnecessary declarations from the TI clock header also. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit bd86cfdcbd827216fd682d62ffba2667bbe6fbc3 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 16:22:50 2015 +0200 clk: ti: clkdm: move clkdm gate clock support code to clock driver With the legacy clock data gone, this is no longer needed under platform, so move it under the clock driver itself. Remove the exported clock driver APIs as well, as these are not needed outside clock driver anymore. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit d5a04dddf51e234dc89f21e4e4b91e853cf49ff2 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 16:08:42 2015 +0200 clk: ti: omap2430: move clock support code under clock driver With the legacy clock support gone, this is no longer needed under platform code-base. Thus, move this under the TI clock driver, and remove the exported API from the public header. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 9f37e90efaf0772b8f98bc347b9db77a3f0c27eb Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 15:28:53 2015 +0200 clk: ti: dflt: move support for default gate clock to clock driver With the legacy support gone, OMAP2+ default gate clock can be moved under clock driver. Create a new file for the purpose, and clean-up the header exports a bit as some clock APIs are no longer needed outside clock driver itself. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 046b7c31668311942a2e431e7983d8ab9874d845 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 15:13:50 2015 +0200 ARM: OMAP2+: clock: remove clkdm_control static boolean from code clkdm_control is used to determine, whether clocks should trigger a clockdomain transition when they are enabled/disabled. Keep this functionality intact, but replace this with a clk_features flag which can be initialized during boot if needed. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 6f0051da4bb5b35014e1bb326d0a31fcad2369e5 Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Mar 4 11:56:22 2015 +0200 ARM: OMAP3: clock: remove clock3xxx.c file This now only has a couple of variables within it, which are used outside the file itself. Move these variables to where they are actually used, and remove the file completely as it is now empty. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 0565fb168d63f89591ce7dcb85438cb19d939a92 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 13:27:48 2015 +0200 clk: ti: dpll: move omap3 DPLL functionality to clock driver With the legacy clock support gone, OMAP3 generic DPLL code can now be moved over to the clock driver also. A few un-unused clkoutx2 functions are also removed at the same time. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 192383d87b876ea9879d8b598af593809a25b7d2 Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 13:47:08 2015 +0200 ARM: OMAP2+: clock: add support for specific CM ops to ti_clk_ll_ops Clock driver requires access to some CM API functions once the code is being moved under the clock driver from the platform directory. Gate type clock requires access to cm_wait_module_ready and cm_split_idlest_reg functions, which are both used for waiting until the module being clocked has been successfully activated. These CM APIs are now exported through the ti_clk_ll_ops struct. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 9a356d622e8e559eff50b298e574bbc34e860aba Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 11:14:31 2015 +0200 ARM: OMAP2+: clock: add support for clkdm ops to the low level clk ops Clock driver requires access to certain clockdomain handling ops once the code is being moved over under clock driver. Example of this is clk_enable / clk_disable under omap3 DPLL code. The required clkdm APIs are now exported through the ti_clk_ll_ops struct. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 846fdf2a3dd3343e5f461659f905c5ba43f325cc Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 10:58:56 2015 +0200 ARM: OMAP2+: clock: remove support for legacy mpurate command line param The legacy support is wrong and dangerous, as it doesn't take any OPPs into account and does not scale voltages. Switching mpurate should be handled through cpufreq. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit a5aa8a603efa25dd41220bff990da025c93b632b Author: Tero Kristo <t-kristo@xxxxxx> Date: Tue Mar 3 10:51:01 2015 +0200 clk: ti: move omap2_clk_enable_init_clocks under clock driver This is no longer used outside clock driver, so move it under the driver and remove the export for it from the global header file. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit bf22bae794d696e411acfcac39b415e160e93834 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 19:06:54 2015 +0200 clk: ti: autoidle: move generic autoidle handling code to clock driver This is no longer needed in platform directory, as the legacy clock data is gone, so move it under TI clock driver. Some static functions are renamed also. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 5100349b95bf238c6c83cb702a64a56a6ee58fc9 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 17:10:39 2015 +0200 ARM: OMAP36xx: remove clock36xx.c/.h files These files contain legacy clock implementations which are no longer used for anything, thus remove them completely. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit c06bfbe75ef52ff548bffa3d89587aaaa92893bf Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 17:06:59 2015 +0200 ARM: OMAP2+: clock: remove clock_common_data.c file This only contains clksel tables that were used with the legacy clock data. Now that legacy clock data is completely gone, this file can be removed also. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 574c0116b910c7d47d7ead4f1dda21117c38723d Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 16:30:52 2015 +0200 ARM: OMAP2+: clk: remove obsolete clksel support code The clksel clock type is no longer used for anything, it is rather replaced with common clock divider code. Thus, remove the dead code from kernel. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit afe2cf08401638fbf1bfaf7234be7eb3a5778b04 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 16:24:26 2015 +0200 ARM: OMAP3: dpll3-m2: get rid of obsolete clksel access Core DVFS support code is currently referencing clksel functionality, which is wrong. The m2 divisor has been implemented as a divider clock for a long time already, so replace the validrate check call with proper functionality. Core DVFS is currently not supported in the kernel so verifying this patch can be rather tricky, this should probably be fixed at some point. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit ef14db0977547b1982d4f6eaa305e1a22eb95778 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 14:33:54 2015 +0200 clk: ti: move interface clock implementation under drivers/clk With the legacy clock support gone, the OMAP interface clock implementation can be moved under the clock driver. Some temporary header file tweaks are also needed to make this change work properly. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 59245ce01a2e3ded836172266e3ac2e576a03333 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 11:07:35 2015 +0200 clk: ti: move OMAP4+ DPLL implementation under drivers/clk With the legacy clock support gone, the OMAP4 specific DPLL implementations can be moved under the clock driver. Change some of the function prototypes to be static at the same time, and remove some exports from the global TI clock driver header. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit b138b0283d35bed0cd3353d7e39add8ac493eb37 Author: Tero Kristo <t-kristo@xxxxxx> Date: Mon Mar 2 09:57:28 2015 +0200 clk: ti: move generic OMAP DPLL implementation under drivers/clk With the legacy clock data now gone, we can start moving OMAP clock type implementations under clock driver. Start this with moving the generic OMAP DPLL clock type under TI clock driver. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit f3b19aa5cab65f7e73613aa37f6851ce56b794d1 Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Feb 27 17:54:14 2015 +0200 ARM: OMAP2+: clock: export driver API to setup/get clock features As most of the clock driver support code is going to be moved under drivers/clk/ti, an API for setting / getting the SoC specific clock features is needed. This patch provides this API and changes the existing code to use it. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit a2ee48d60eed9cfb6447a4233370aee4ea88108b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri May 29 16:14:37 2015 +0300 drm/i915: abstract hpd irq storm detection Simplify intel_hpd_irq_handler() by extracting HPD irq storm detection to a separate function. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd4b4827acdc00bf9e71f939d160102021d10d4f Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Fri May 29 14:28:09 2015 +0300 drm/i915: Silence compiler warning Silence the following -Wmaybe-uninitialized warnings and make the code more clear. drivers/gpu/drm/i915/intel_display.c: In function â??__intel_set_modeâ??: drivers/gpu/drm/i915/intel_display.c:11844:14: warning: â??crtc_stateâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] return state->mode_changed || state->active_changed; ^ drivers/gpu/drm/i915/intel_display.c:11854:25: note: â??crtc_stateâ?? was declared here struct drm_crtc_state *crtc_state; ^ drivers/gpu/drm/i915/intel_display.c:11868:6: warning: â??crtcâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] if (crtc != intel_encoder->base.crtc) ^ drivers/gpu/drm/i915/intel_display.c:11853:19: note: â??crtcâ?? was declared here struct drm_crtc *crtc; Reported-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 475c2e3b3cfba9283793d56742dc2cae2712574b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:54 2015 +0300 drm/i915/bxt: clear hpd status sticky bits earlier The hotplug status is cached in hp_control, and will be passed on to bottom halves through intel_hpd_irq_handler(), so we can clear the sticky bits earlier. While at it, drop the redundant logging of the hotplug status, which will also be logged by pch_get_hpd_pins(). Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 676574dffa4d67ff4e8b2ec796eb9f41aad925d8 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:53 2015 +0300 drm/i915: abstract away platform specific parts from hpd handling Split intel_hpd_irq_handler into platforms specific and platform agnostic parts. The platform specific parts decode the registers into information about which hpd pins triggered, and if they were long pulses. The platform agnostic parts do further processing, such as interrupt storm mitigation and scheduling bottom halves. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c8727233aa80cdf54e3460ac5ebc93c05b09ff5d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:52 2015 +0300 drm/i915: simplify condition for digital port As the hpd loops have been merged together, we don't have to maintain state for all hpd triggers. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9ace043310ba4875e08863b9f31f429d853685f2 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:51 2015 +0300 drm/i915: merge the two hpd loops in intel_hpd_irq_handler to one Nothing in the two consecutive loops over hpd pins depends on state in a larger context than the single hpd pin. If we skip the rest of the loop on short hpd pulses, we can merge the two loops into one. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab68d5bb0b49727e4049b018185f82764cf44736 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:50 2015 +0300 drm/i915: put back the indent in intel_hpd_irq_handler In an unfortunate back and forth stepping, retract the earlier change to reduce indent. This is to make merging the two loops easier. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 641a969eff3ffb01088736ef9531caffe38a6fd9 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:49 2015 +0300 drm/i915: simplify conditions for skipping the 2nd hpd loop iterations Multiple positive and negative checks for hpd[i] & hotplug_trigger gets hard to read. Simplify. This should make follow-up patches merging the two loops easier. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c91711f93f7102c4c71896b6e9273f222bf31989 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu May 28 15:43:48 2015 +0300 drm/i915: add for_each_hpd_pin to iterate over hotplug pins No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 623e01e53927b05e96781532bdb40536e833e276 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri May 22 11:22:34 2015 +0300 drm/i915: Warn when cdclk for the platforms is not known Print a warning if we fall through the .get_display_clock_speed() function pointer setup. We end up assuming a 133MHz cdclk which should mean that at least we avoid any 0 deivisions and whatnot. But this could at least help remind people that they have to provide this function for new platforms. v2: Rebased to the latest v3: Rebased to the latest Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> (v1) Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 34edce2fea6960ce5855d6e09902f82822c374c5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri May 22 11:22:33 2015 +0300 drm/i915: Add cdclk extraction for g33, g965gm and g4x Implement cdclk extraction for g33, 965gm and g4x platforms. The details came from configdb. Sadly there isn't anything there for other gen3/gen4 chipsets. So far I've tested this on one ELK where it gave me a HPLL VCO of 5333 MHz and cdclk of 444 MHz which seems perfectly sane for this machine. v2: Rebased to the latest v3: Rebased to the latest Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 65cd2b3fa521d1abec13dd36bf1bfc8f2469d8bc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri May 22 11:22:32 2015 +0300 drm/i915: Fix 852GM/GMV cdclk It seems 852GM/GMV uses a different HPLLCC encoding than the other 85x platforms. For 852GM/GMV cdclk is always 133MHz. Try to detect that using the PCI revision (sinc the device ID seems useless for that). I'm not at all sure this is a good idea, but according to the specs it should work. v2: Rebased to the latest v3: Rebased to the latest Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> (v1) Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1b1d27160dad5478f614f95ae5a87bd8382c5612 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri May 22 11:22:31 2015 +0300 drm/i915: Fix i855 get_display_clock_speed Actually read the HPLLCC register insted of assuming it's 0. Fix the HPLLCC bit definitions and all the missing ones from the 852GME spec. 852GME, 854 and 855 all seem to match the same HPLLC encoding even though only some of the values are valid is some of the platforms. v2: Rebased to the latest v3: Rebased to the latest Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> (v1) Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8d2fdc3f26d150633004a04b53a4398cc2eed343 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Wed May 27 10:52:32 2015 +0100 drm/i915: Only show view type for GGTT VMAs Printing it for PPGTT VMAs only adds noise since we have defined view types are only applicable for GGTT. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 877f61d947b6666205fee4ea7a04faf187a4ede5 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:47 2015 +0100 drm/i915/skl: Don't try to store the wrong central frequency The orignal code started by storing the actual central frequency (in Hz, using a uint64_t) in a uint32_t which codes for the register value. That can't be right. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6358298337abfabcf1e2b211c433f2093e5e9b28 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:46 2015 +0100 drm/i915: Correctly prefix HSW/BDW HDMI clock functions Those functions were the only one in existence when they were introduced. We now know they are only valid for HSW/BDW. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 64311571a91fdd6d2ddc9055e9ba477f118067ad Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:44 2015 +0100 drm/i915/skl: Remove unnecessary () used with abs_diff() abs_diff() properly protects its parameters, so no need for the outer () here. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30a7862de84e69abc3018c57184f485048eed9d8 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:43 2015 +0100 drm/i915/skl: Remove unnecessary () used with div_u64() div_u64() can be either a inline function or a define, but in either case it's safe to provide expressions as parameters without outer () around them. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 76516fbc294d60481f2427d6a42125364a629386 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:42 2015 +0100 drm/i915/skl: Factor out computing the DPLL paramaters from the dividers This part doesn't depend on how we compute the DPLL dividers (p and p0/p1/p2) and can be reused even if we change the algorithm to do so. (something that is planned for a followup patch) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9c2367538de381435503425c22c4f192c72e282e Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:41 2015 +0100 drm/i915/skl: Use a more idomatic early return We can coalesce the WARN() condition with the WARN() itself and, as we are returning early, we can de-intent the rest of the function. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 318bd821d65d37fb12c5673607e2b013f7a86a01 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:40 2015 +0100 drm/i915/skl: Propagate the error if we fail to find a suitable DPLL divider At the moment, even if we fail to find a suitable divider, we'll still try to set the mode with bogus parameters. Just fail the modeset if we can't generate the frequency. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 19cdc0e6cdfc29e3ddee1fe56c3bcdfe25f6a916 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:39 2015 +0100 drm/i915/skl: Display the WRPLL frequency we couldn't accomodate when failing This helps debugging. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6cf75178deacd87af12a657d914e6bbca806b5ba Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu May 7 18:38:38 2015 +0100 drm/i915/skl: Make sure to break when not finding suitable PLL dividers Right now, when finishing the cycle with odd dividers without finding a suitable candidate, we end up in an infinite loop. Make sure to break in that case. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea875496360cf8f89ea009239bf7ef12cdd4febc Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:45 2015 +0300 drm/i915/dsi: remove non-op hot plug callback Not needed or used. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d66716200a8e8362599ce939df40821bb960e866 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:44 2015 +0300 drm/i915: remove useless DP and DDI encoder ->hot_plug hooks The hotplug callbacks for DP and DDI effectively did nothing. Remove them. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5fcece80ecdac932a0acb71e3a239c39dd4af20f Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:42 2015 +0300 drm/i915: group all hotplug related fields into a new struct in dev_priv There are plenty of hotplug related fields in struct drm_i915_private scattered all around. Group them under one hotplug struct. Clean up naming while at it. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b0c29a33fc80bec3ae0f5862d7733e3782878d6d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:41 2015 +0300 drm/i915: reduce indent in intel_hpd_irq_handler Continue to loop early if there's nothing to do. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 369712e89404089fa559235bb1ee8fc40d976e6b Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:40 2015 +0300 drm/i915: reduce duplicate conditions in i9xx_hpd_irq_handler Move dp aux irq handling within the same branch instead of duplicating the conditions. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d2e42970cfa8814ce5f73e329f61c94b7ec2dab Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed May 27 15:03:39 2015 +0300 drm/i915: reduce indent in i9xx_hpd_irq_handler Bail out early if nothing to do. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b1b38278e12b04cf9a227f6af2c24651cf6e8a85 Author: David Weinehall <david.weinehall@xxxxxxxxxxxxxxx> Date: Wed May 20 17:00:13 2015 +0300 drm/i915: add a context parameter to {en, dis}able zero address mapping Export a new context parameter that can be set/queried through the context_{get,set}param ioctls. This parameter is passed as a context flag and decides whether or not a GPU address mapping is allowed to be made at address zero. The default is to allow such mappings. Signed-off-by: David Weinehall <david.weinehall@xxxxxxxxx> Acked-by: "Zou, Nanhai" <nanhai.zou@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9473a62f779d78bae646e7ef1a792d53ad4ac29e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sun May 24 17:45:54 2015 -0300 coccinelle: irqf_oneshot.cocci: Improve the generated commit log Improve the commit log of the generated patch by mentioning the commit log that makes threaded IRQs without a primary handler to be requested with the IRQF_ONESHOT flag. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked- by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 4c8f20bb8e0ba6eecf62958bbf0502a2dc445ce6 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Thu May 21 19:19:13 2015 +0800 coccinelle: api: add vma_pages.cocci This semantic patch replaces explicit computations of vma page count with explicit function call. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 74de120d8096f72bdf95aba7234428c798d931cd Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed May 20 08:02:35 2015 -0300 scripts/coccinelle/misc/irqf_oneshot.cocci: Fix grammar Correct form is 'always requested'. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 4341f6e5ce448dd79c3e663513213b936ba34c83 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed May 20 08:02:34 2015 -0300 scripts/coccinelle/misc/semicolon.cocci: Use imperative mood According to Documentation/SubmittingPatches: "Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behaviour. So do as recommended. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ca34cba43168830dd96f8f6407282131733e6fb4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat May 9 17:09:30 2015 -0300 coccinelle: simple_open: Use imperative mood According to Documentation/SubmittingPatches: "Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behaviour." So do as recommended. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit dd494ac0de48ded6a7ec0525f253116fde5c7be5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat May 9 17:09:29 2015 -0300 coccinelle: ifaddr: Fix the sentence Make the sentence sensible. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit fe8c46b632505a880c527bc9ae246e868aa3ece5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat May 9 17:09:28 2015 -0300 coccinelle: returnvar: Use imperative mood According to Documentation/SubmittingPatches: "Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behaviour." So do as recommended. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit f9beafc9d8bf7febf673df9b41e13596ca669f75 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat May 9 17:09:27 2015 -0300 coccinelle: pm_runtime: Insert blank line Insert a blank line in order to improve the readability of the generated patch and also make it consistent with the other .cocci files. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ca2a9d2cf6cf3dd852c3926ac7e30ee774da4638 Author: Arnaud Patard (Rtp) <arnaud.patard@xxxxxxxxxxx> Date: Tue Feb 3 13:16:33 2015 +0100 deb-pkg: Add device tree blobs to the package When building a package with make deb-pkg (say, for arm), the dtb files are not added to the package. Given that things are still evolving on arm, it make sense to have them along with the kernel and modules. Signed-off-by: Arnaud Patard <arnaud.patard@xxxxxxxxxxx> Reviewed-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Acked-by: maximilian attems <max@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 64178cb62c329350fe06622cd215264d849b27b1 Author: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Date: Mon Mar 16 11:20:54 2015 +0300 builddeb: fix stripped module signatures if CONFIG_DEBUG_INFO and CONFIG_MODULE_SIG_ALL are set If CONFIG_MODULE_SIG_ALL is set, then user expects that all modules are automatically signed in the result package, as it's for rpm-pkg, binrpm-pkg, tar, tar-*. For deb-pkg this is correct only if CONFIG_DEBUG_INFO is NOT set. In that case deb-package contains signed modules. But if CONFIG_DEBUG_INFO is set, builddeb creates separate package with debug information. To do that, debug information from all modules is copied into separate files by objcopy. And loadable kernel modules are stripped afterwards. Stripping removes previously (during modules_install) added signatures from loadable kernel modules. Therefore final deb-package contains unsigned modules despite of set option CONFIG_MODULE_SIG_ALL. This patch resigns all stripped modules if CONFIG_MODULE_SIG_ALL is set to solve this problem. Signed-off-by: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> Acked-by: maximilian attems <max@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit dca0c0246fb739bccdd19ff2bfd0f02ccffdb07c Author: Riku Voipio <riku.voipio@xxxxxxxxxx> Date: Thu Apr 16 16:42:46 2015 +0300 deb-pkg: move setting debarch for a separate function create_package() function tries to resolve used architecture for everry package. Split the setting the architecture to a new function, set_debarch(), called once on startup. This allows using debarch from other parts of script as needed. v2: Follow Michals suggestion on setting variables at top scope and also setting the fallback $debarch in the new function Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 92f43c452c5313a7914eab2b08d966a6c5007baa Author: Borislav Petkov <bp@xxxxxxx> Date: Sun Apr 19 00:05:14 2015 +0200 kbuild/mkspec: Simplify vmlinux.bz2 creation No need for the intermediary vmlinux.orig - bzip2 can keep the original files used for compression with --keep. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> sh: 1: Syntax error: "(" unexpected ---------------------------------------- 62108: tolerable trouble: broken flight 62108 linux-linus real-bisect [real] http://logs.test-lab.xenproject.org/osstest/logs/62108/ Failures :-/ but no regressions. Tests which did not succeed, including tests which could not be run: test-armhf-armhf-xl-arndale 8 leak-check/basis(8) fail baseline untested jobs: test-armhf-armhf-xl-arndale broken ------------------------------------------------------------ sg-report-flight on osstest.test-lab.xenproject.org logs: /home/logs/logs images: /home/logs/images Logs, config files, etc. are available at http://logs.test-lab.xenproject.org/osstest/logs Explanation of these reports, and of osstest in general, is at http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master Test harness code can be found at http://xenbits.xen.org/gitweb?p=osstest.git;a=summary _______________________________________________ Osstest-output mailing list Osstest-output@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/osstest-output
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |